Dungeon Adventure MOD MOD

Oops. Improvements don't have the "impassable" tag in the XML. Does anybody know of a workable way to make an improvement impassable?
 
No, but you could probably look through the SDK and copy the way that Features are made impossible.
 
Personally I tend to just place events on the other side of the door to make it nastier on the person if they broke through than if they solved the puzzle I laid out for them :)

That gave me a really evil idea for a level :satan:. Make a locked door with a single tile on the other side. When first opened, it appears that the only thing there is a single orc. However, it is soon revealed that 100 spawners were hidden in the room, causing the dungeon to be quickly overrun...

Something like this could also be used to gradually increase the difficulty of a dungeon, make it so that, as players open doors, they release previously trapped spawners that then spread through the dungeon and spawn more monsters.

Will spawners be able to grow levels and gain new promotions? If you gave one the hero promotion it could go from only spawning rats to, after a few hundred turns, spawning Beasts of Agares.
 
Okay -- different tack:

Didn't there used to be spells in FfH2 that allowed you to select a specific tile for the effect to take place? Sort of a targetable spell?

Can anyone point me to a good source for the python for that type of thing?

I could reconfigure my doors so that there is a new spell called "open door." Casting on a regular door would change it to an "open door" and play the sound. But I would need to make it a "select one tile for effect" type of spell or it won't work the way I want it to.

Then I would be able to use "locked" and "jammed" improvements to refine the effects and get the whole scheme to work.
 
Of course the other possibility would be to create additional features called "South Facing Door -- Locked," "South Facing Door -- Jammed," etc.

This would bloat the feature count by eight (to get all the NSEW facings), but would be easy. These new features could have the bImpassable tag set to 1, and interact differently with the various methods of unlocking doors.

Any feedback on this? Am I making a big mistake by adding lots of features?
 
Of course the other possibility would be to create additional features called "South Facing Door -- Locked," "South Facing Door -- Jammed," etc.

This would bloat the feature count by eight (to get all the NSEW facings), but would be easy. These new features could have the bImpassable tag set to 1, and interact differently with the various methods of unlocking doors.

Any feedback on this? Am I making a big mistake by adding lots of features?

It will be annoying while making levels, but I really can't see any real alternative, unless you can give promos to the door-sound unit to have the same effect, allowing greater control over each door (make a door that is both locked and jammed, causing great frustration), but since they auto-spawn at the beginning of the game (I think you said that), it might be impossible to do so without having different kinds of doors that give different promos to their sound unit, which is really the same thing as having a bunch of different doors, but even more complex...

If the sound unit was placed and promoed by the map creator it would be annoying, but you would be able to customize each door exactly how you want it. Maybe make it so the default sound unit only spawns if there isn't one preplaced on the door by the creator of the map, meaning that they don't have to waste time on normal doors, only locked or other special doors.

Of course, there's every chance that this couldn't work at all, in which case disregard everything I just said.
 
Okay -- different tack:

Didn't there used to be spells in FfH2 that allowed you to select a specific tile for the effect to take place? Sort of a targetable spell?

Can anyone point me to a good source for the python for that type of thing?

I could reconfigure my doors so that there is a new spell called "open door." Casting on a regular door would change it to an "open door" and play the sound. But I would need to make it a "select one tile for effect" type of spell or it won't work the way I want it to.

Then I would be able to use "locked" and "jammed" improvements to refine the effects and get the whole scheme to work.

Yes, but this functionality was not implemented when FfH was converted to BtS. You can probably still borrow the code from .23, but it could be tricky since there were some major schema changes. Spells were mostly handled through python at that point. Also, the "spell interface" could get pretty buggy and freeze up.

I'm thinking that if you want to go ahead and make a new mechanism for targeting spells in the SDK, probably borrowing some code from the air bombing function, could be really useful to other modmoders.
 
Yes, but this functionality was not implemented when FfH was converted to BtS. You can probably still borrow the code from .23, but it could be tricky since there were some major schema changes. Spells were mostly handled through python at that point. Also, the "spell interface" could get pretty buggy and freeze up.

Thanks for that, MC, you just saved me a lot of time. Given that I don't want to mess with the DLL and that the old targeted spell code is apparantly buggy, I think I'll go with Plan C: More new features!
 
Another option would be to modify the Promotions Schema to allow promotions to control the Damage Limit for a unit, and set the bAlwaysHostile flag (which is part of what HN does, so you could just use it if you wanted).

Doing this allows you to set the promotion "Locked" on your sound units. With this active they are always hostile (units will attack them when moving onto the tile, though that would require them to be visible... damn), and with a damage limit set to 0 the combat would end as soon as it begins (no damage to either side).

Or you could create a new terrain type for locked doors (doorway as a terrain type, and another version called Locked Doorway), and have that terrain be marked as impassible, or done the same way as mountains, or set every unit in the game to be unable to enter the terrain of locked door...

Also, if you cannot get the targeted spells (select a square) to work, you could create 4 "unlock" spells, one for each direction, which work on the tile next to the unit in the appropriate direction only.
 
You might be able to re-implement targeted spells without SDK changes, if you make the other python calls call the targeting functions. I believe that the spell interface itself may be purely python, which is why it was slow.


You know, if you don't put any doors within 2 tiles of each other you can easily make a spell that require a closed door be within a 1 tile range from the caster, and replaces such closed doors with open doors.
 
Of course the other possibility would be to create additional features called "South Facing Door -- Locked," "South Facing Door -- Jammed," etc.

This would bloat the feature count by eight (to get all the NSEW facings), but would be easy. These new features could have the bImpassable tag set to 1, and interact differently with the various methods of unlocking doors.

Any feedback on this? Am I making a big mistake by adding lots of features?

Any actual reason for the spell to be targeted? Why not make the "closed door" a terrain rather than an improvement with the domain impassable. Then have the open door spell only be available when next to a door and have it change all adjacent "doors" to open doors (another terrain that is passable). If you want to be able to lock doors than have yet another terrain that is also impassable "locked door" that requires a spell to change to "closed door". This will also prevent improvements from being built on top of the doors themselves.

As far as targeting, unless the unit is going to be in a one square corridor or a corner with two doors I don't see the need for extra overhead. Just make the spell transform all "closed doors" into "open doors" in an X pattern (i.e. only four squares: X+1, Y; X-1, Y; X, Y-1; X, Y+1). Off the top of my head, I am not sure if there is a way to make the spell only appear if next to a door (unless you go the promotion route checking for adjacent doors onUnitMove())

Hope that helps some.

edit: P.S. I don't think doors should be opened diagonally unless that is a particular henchman's ability, in that case give him a specific spell.
 
it would be simple enough to make 4 spells which open one door for every direction like mtagge said, and then making those spells only castable (ie the button only shows up when) your next to a door that needs to be opened. you can do this by changing the
Code:
			<bDisplayWhenDisabled>[U]1[/U]</bDisplayWhenDisabled>
line to
Code:
			<bDisplayWhenDisabled>[U]0[/U]</bDisplayWhenDisabled>
 
Good discussion, all. Here's what I ended up doing:

I went ahead and made the extra door types. There are now 16 different types of door terrain features. They come in N, S, E, and W facings. each facing has a jammed, locked, closed, and open version. Jammed and Locked doors are impassable.

After doing that, it was pretty easy to code a new "spell" for Thief types called "Pick Lock." It is only active if the unit is within one tile of a locked door.

The pick lock code has a chance to pick the lock based on a base chance plus a unit level multiplier. If the lock is successfully picked, the door becomes a closed door (no lock). There is also a chance for critical failure that results in a locked door becoming jammed (and no longer pickable). The critical failure chance is reduced as the unit gets higher in level.

Both picking success and critical failure generate messages to the unit's owner.

As things stand, if a unit is within one tile of more than one locked door, the pick lock action will attempt them both. I'll either leave it like this and just not put locked doors close to each other, or eventually change the system to have separate spells for each door facing.
 
I'd still like for some doors to not be openable without keys, but would it be possibly to make failing (either crittacally or not) trigger any traps set on the tiles, and have opening it or picking it remove all traps on the tile?
 
I'd still like for some doors to not be openable without keys, but would it be possibly to make failing (either crittacally or not) trigger any traps set on the tiles, and have opening it or picking it remove all traps on the tile?

Yes, now that the basic scheme is working adding features like that would be possible.

The special door could be implemented with an improvement. The normal door code would not allow for picking unless the player had a special key promotion -- and the pick chance would be set at 100%.

Critical failure could spawn a one-use trap unit that would trigger on the player and then disappear.

These are all possible, I think. I don't know that I will implement them in the first release, but they could be possible later refinements.
 
Yes, now that the basic scheme is working adding features like that would be possible.

The special door could be implemented with an improvement. The normal door code would not allow for picking unless the player had a special key promotion -- and the pick chance would be set at 100%.

Critical failure could spawn a one-use trap unit that would trigger on the player and then disappear.

These are all possible, I think. I don't know that I will implement them in the first release, but they could be possible later refinements.

If "the basic scheme is working," does that mean we are close to a rough beta release?

Also, on the topic of doors, will it be possible to tie specific doors to specific keys? I can't think of any way Civilization allows this kind of connection without creating a few dozen door/key pairings, but I would like to make a system of doors right in a row, each with a corresponding tunnel that leads to a key. However, you don't know which tunnel leads to which key until you try it on each door, and you also don't know what's behind each door. You could very easily be releasing Acheron on your level 1 adventurers, but you might instead find incredible treasure that will mean your adventurers can easily fight Acheron.
 
"You need the blue key"? Didn't know Lutefisk was remaking Doom here :)
 
It has been a while since I've given you all something nice to look at. So... here are some in-game video clips, courtesy of FRAPS, by way of Windows Video Maker and YouTube. They are pretty low-quality, but enough to give a general idea of what is going on in the mod mod.


Altars = http://www.youtube.com/watch?v=dsWZ5WWco6Q
In this clip, the player first confronts a locked door. Since the unit is a high level Thief, the door is easily picked. The unit then next activates first a good altar, then an evil one. Because the player has good alignment chosen as a civic option, the unit gets benefits from the good altar, but is harmed by the evil one.

Glyph and Trap = http://www.youtube.com/watch?v=uMYvv7yN0M4
Here, the unit runs through a room with an active "hold person" glyph. Luckily, although the glyph is permanent, it is also low-powered and doesn't freeze the unit. In the next room, the player runs right onto a one-tile mechanical trap.

Lantern and Unknown Potion = http://www.youtube.com/watch?v=Cv5mdl04dkc
In this clip, the unit grabs a Greenlight Lantern, which is a piece of equipment that gives +1 to visibility radius. There are also Quicklime Torches in the game. Torches give +2 to visibility, but have a chance to burn out each turn. After opening the "goody chest," the unit finds an Unknown Potion. Instead of taking a gamble and drinking it, the unit tries to identify it and succeeds. The unit then picks up the now identified Potion of Command.

Many of the interface button in these clips are still just placeholders (if you can even see them!), so that will eventually be cleaned up.

Hope this peek into The Dungeon whets your appetite!
 
:drool: I WANT TO PLAY NOW! :cry: :lol:

the whole ambiance of the dungeon is perfect, i love the litte things you borrowed from Arcanum, like the trap effect and the music. great stuff.

if you want any buttons for items and stuff, i made a massive compilation of items, weapons, armour, potions, scrolls and basic equipment from the Warhammer: Mark of Chaos game:
LINK to BUTTONS

i seriously am dying to get my hands on this game, even if its still beta :D

your worse than Kael and seZ with these teasers :lol:
 
Ive just thought of something,

how do you plan to make heroes upgrade? will we be able to select the race of our heroes? ie give them a dwarf, elf, etc promotions to destingish what they are? or even better, make a racial promotion for each civ, with different bonuses for different classes. ie Svartalfar racial promo could have better lockpicking and trap disabling skills, while also have the basic elven capabilities. Ljosalfar could have bonus archer synergys. an Elohim racial promotion could make them benefit from being a monk or cleric better, or sheim could have summoner and wizard synergies. Amurite promotion should let them start with some minor spells, and Luchiurp should make them able to identify traps, and disable them a lot better, also able to repair weapons etc?

just idaes, you know :p
 
Back
Top Bottom