Re: Re: [CF-Devel] Icestorm - could not move - death

crossfire-devel at archives.real-time.com crossfire-devel at archives.real-time.com
Thu May 20 09:24:24 CDT 2004


The intention of spell knockback was entirely to simulate the force of a moving object based on the weight and force of the object- nothing to do with the attacktype.  It takes it's force from the spell level and the spell object weight so it is very tunable (you can have a light windstorm or a nasty cone of bricks or even a cone of light or heavy bricks).  

This was actually some underused existing code in the cone spell area the only change I made was to polish up the effect a bit and take advantage of the new spell code to assign some weights to different cone objects (like wind, icestorm, fire, water...) to simulate different push effects.  I also moved the code out of the cone spell section so it could be reused for other types of spells (like for bolts.)

I am not keen on having resistance apply against the effect as it should be a purely physics/weight thing.  The resistance would should(does?) apply to the damage sustained but I think that in this case the icestorm worked properly, a high level icestorm would be pretty hard to move around in even if you were cold immune.  But that may be a game play issue since there is likely some balanceing to be done to allow higher level characters to manage high level push effects (a high level wave spell is designed to push around titans and stuff so a player would be pretty easily knocked back.)
I would rather see either the weights of the spell objects changed, the level multiplier changed or apply modifiers based on either stats or skills (dexerity or strength modifiers, special skills to resist getting pushed or items like 'boots of the spider' or a 'potion of glue foot' that modify your friction).  Maybe you will see people looking for heavy things to take with them into the cave of winds.

As for moving the code or making it more efficient - I'm all for that.  Right now the push calculation is pretty simple too and I think it deserves better but I was worried if it was too complex it would slow things down a lot.



>
     
      > Greetings Developers,
     
     >
     
      > 
     
     >
     
      > In the Wizard Tower in Lake Country my character Galahad was just
     
     >
     
      > killed because the Grand Master's icestorm pushed him into the little
     
     >
     
      > hallway at the bottom and he could not move while the cold resist
     
     >
     
      > potion wore off. It was not paralyzation as he had +100 against that
     
     >
     
      > with the equipment. Is that the desired result?
     
     >
     
      > 
     
     >
     
      > I noticed Galahad being shoved around a lot by icestorm. This is the
     
     >
     
      > first time I've ever gone to the Wizard Tower with this character. It
     
     >
     
      > is also the first time there since the code changed to where these
     
     >
     
      > spells push things. If there was something else I could have done to
     
     >
     
      > prepare for this I don't know what it is.
     
     >
     
      > 
     
     >
     
      > Galahad was able to go back and kill it even though all his stats are
     
     >
     
      > down, again. Very frustrating that it could not be done the first
     
     >
     
      > time because he was trapped by icestorm. :-(
     
     >
     
     
     
>
     
        Well, I notice that it is intentional that icestorm does puch the players back.
     
     >
     
     
     >
     
        What is probably missing here is that check_spell_knockback doesn't care about 
     
     >
     
      the resistances the target may have.  I'm thinking that should probably be 
     
     >
     
      changed - perhaps the effect of knockback is adjusted based on resistance to the 
     
     >
     
      attacktype.
     
     
>
     
     
     >
     
        But looking at the code, I wonder if the knockback code could get moved into 
     
     >
     
      the hit_map or the like - since that already traverses the spaces, looking for 
     
     >
     
      objects to damage/destroy, and also processes the resistances, it would seem 
     
     >
     
      more efficient to modify hit_map to perhaps take an extra paramter or two to 
     
     >
     
      denote hitback effect (or perhaps hit_map can just look at the type/subtype that 
     
     >
     
      is passed in on op, and figure it out from there)
     
     >
     
     
     

_______________________________________________
crossfire-devel mailing list
     
     crossfire-devel at lists.real-time.com
     
     
     https://mailman.real-time.com/mailman/listinfo/crossfire-devel
     
     
    


More information about the crossfire mailing list