[Fixed for V0.42] Dragon spit in SS
Moderator: George Gilbert
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
- Gambit37
- Should eat more pies
- Posts: 13720
- Joined: Wed May 31, 2000 1:57 pm
- Location: Location, Location
- Contact:
[Fixed for V0.42] Dragon spit in SS
Also, I found a dragon spit with a 'consume' attack -- when I use it, I receive 6 wizard levels! Is this supposed to happen, seems rather generous!?
I thought it should allow me to capture fire balls and spit them back. I suspect 0.42 has messed up here too?
Think I'd better play this in 0.37 as intended. I'm so lost, I need to map anyway...
I thought it should allow me to capture fire balls and spit them back. I suspect 0.42 has messed up here too?
Think I'd better play this in 0.37 as intended. I'm so lost, I need to map anyway...
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
Hmmm - it's not entirely obvious that it is a bug actually.
Looking at the SStrike.RTC file, the object WAND_DRAGON_MOD_X actually has the string "ATTACK_METHOD_CONSUME" in it for the second attack method (specifically, it's not a problem with converting ID numbers etc between versions). So the problem isn't with the loading of the file - if there is one, then it's either with the V0.37 compiler that originally created it or with the txt file it was created from.
Sophia - can you explicitly check that your txt file doesn't have the consume method for this object!
Gambit - given that the object has a consume method, then gaining several wizard levels when you consume it is actually exactly the right behaviour (obviously though, I'm sure it wasn't Sophias intention that it should be consumable!).
Looking at the SStrike.RTC file, the object WAND_DRAGON_MOD_X actually has the string "ATTACK_METHOD_CONSUME" in it for the second attack method (specifically, it's not a problem with converting ID numbers etc between versions). So the problem isn't with the loading of the file - if there is one, then it's either with the V0.37 compiler that originally created it or with the txt file it was created from.
Sophia - can you explicitly check that your txt file doesn't have the consume method for this object!
Gambit - given that the object has a consume method, then gaining several wizard levels when you consume it is actually exactly the right behaviour (obviously though, I'm sure it wasn't Sophias intention that it should be consumable!).
- Sophia
- Concise and Honest
- Posts: 4240
- Joined: Thu Sep 12, 2002 9:50 pm
- Location: Nowhere in particular
- Contact:
Er, I think something was unclear here. The object is not "consumable," that is, you can't eat it. It has an attack method called "CONSUME" that sucks in fireballs, much like the original DM Dragon Spit was supposed to (at least according to the hint book)
ADD WAND_DRAGON_MOD_X CLONES=(WAND_DRAGON_X) METHODS=(ATTACK_METHOD_SWING,ATTACK_METHOD_CONSUME,NULL)
ADD ATTACK_METHOD_CONSUME NAME=(CONSUME) TYPE=(WIZARD) ACTION=(ACTION_SWAP_LOCAL,DUNGEON_SPELL_FIREBALL,DUNGEON_SPELL_FIREBALL_ABSORBED) STRENGTH=(50) LEVEL=(4) ENERGY=(2) TIME=(50) CHARGES_USED=(0) MANA_USED=(1) SOUND=(NULL)
I don't see anything in there that would make it give 6 wizard levels, so if the problem is with me, I'm a bit clueless!
ADD WAND_DRAGON_MOD_X CLONES=(WAND_DRAGON_X) METHODS=(ATTACK_METHOD_SWING,ATTACK_METHOD_CONSUME,NULL)
ADD ATTACK_METHOD_CONSUME NAME=(CONSUME) TYPE=(WIZARD) ACTION=(ACTION_SWAP_LOCAL,DUNGEON_SPELL_FIREBALL,DUNGEON_SPELL_FIREBALL_ABSORBED) STRENGTH=(50) LEVEL=(4) ENERGY=(2) TIME=(50) CHARGES_USED=(0) MANA_USED=(1) SOUND=(NULL)
I don't see anything in there that would make it give 6 wizard levels, so if the problem is with me, I'm a bit clueless!
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
Ahhhhhh - that now makes sense.
There is now a default attack method of ATTACK_METHOD_CONSUME (which eats things) that's used by the DM-II food items. That's clashing with *your* ATTACK_METHOD_CONSUME.
The engine can't tell the difference between the two and has obviously plumped for the eating one!
The key point here is that you have created a perfectly valid new attack method in V0.37 - in a future version (V0.39?) I then, without knowing that you were already using that text string, created a different one with the same string.
It's not obvious how to avoid this other than when dungeon designers create new things, they give them UniqueIDs that I could not possibly ever decide to use (e.g. embed your name in it, say ATTACK_METHOD_SOPHIAS_CONSUME, or something similar).
What do you think?
There is now a default attack method of ATTACK_METHOD_CONSUME (which eats things) that's used by the DM-II food items. That's clashing with *your* ATTACK_METHOD_CONSUME.
The engine can't tell the difference between the two and has obviously plumped for the eating one!
The key point here is that you have created a perfectly valid new attack method in V0.37 - in a future version (V0.39?) I then, without knowing that you were already using that text string, created a different one with the same string.
It's not obvious how to avoid this other than when dungeon designers create new things, they give them UniqueIDs that I could not possibly ever decide to use (e.g. embed your name in it, say ATTACK_METHOD_SOPHIAS_CONSUME, or something similar).
What do you think?
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
- Sophia
- Concise and Honest
- Posts: 4240
- Joined: Thu Sep 12, 2002 9:50 pm
- Location: Nowhere in particular
- Contact:
I am not sure how the attack methods are represented in the binary .RTC files, but it seems to me that there is no real need to tell the difference past the loading phase. Simply to give the attack methods found in the dungeon file precedence, trash the internal one, and be done with it.George Gilbert wrote:The engine can't tell the difference between the two and has obviously plumped for the eating one!
...
It's not obvious how to avoid this
The method found in the dungeon is obviously the one the designer intended, regardless of what may have happened to the engine in the meantime.
Objects that use the internal attack method obviously didn't exist at the time of the dungeon's creation so the fact that their definitions are now all screwed up will not affect anything, as they are certainly nowhere to be found in that dungeon.
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact: