[CF-Devel] attack patch (list was down, i resend this)

Mark Wedel mwedel at sonic.net
Tue Nov 27 00:03:44 CST 2001


>
     
      -------------
     
     >
     
      NEUTRAL <bool>               Object is neutral. It will not attack others
     
     >
     
      and will not be attacked
     
     >
     
      NO_ATTACK <bool>             Object NEVER attacks in any way!
     
     >
     
      NO_DAMAGE <bool>             Object NEVER can be damaged (and never dies).
     
     
 As I said to you in irc, I would prefer if the last one was in fact 'resist_all
100' or the like, with other values of 100 being possible.  All that would need
to be done for that is to make the resists field one larger (so the last element
holds the resist_all value as loaded).  When it is loaded, all the resists
fields are filled with the value.  When saved, if the resist_all field is set,
only that is saved and none of the other resist_fields are saved, otherwise, the
other resist_ fields are saved, and not the resist all.

 This gives a more general approach.



>
     
      Throwing
     
     >
     
      --------
     
     >
     
      The throw code/part of CF is a sad thing. Player never use it and the code
     
     >
     
      was somewhat broken and
     
     >
     
      senseless. I changed this: Monster now never throw any item without
     
     >
     
      IS_THROWN is set. So, they don't
     
     >
     
      throw money or special objects anymore. This makes throw tougher! Be
     
     >
     
      careful.
     
     
 This is reasonable.  I'm not sure if it is set, but they should throw furniture
also, but I don't think that has the throw value set.  OTOH, I don't think the
monsters will generally pick up furniture either, but it wouldn't be too hard to
make it so that if they don't have anything to throw in their inventory, they
look to see if they are standing on anything like furniture that they can then
throw.

 I think the problem with players throwing stuff is the amount of bother to do
so, eg, there is no convenient/quick way to really throw a lot of stuff
quickly.  If something nasty need 50 arrows to kill it, almost certainly you are
not going to have 50 decent throwable objects in your inventory.  I guess this
is really a client issue - there are clever ways to make this easier (eg, drag
it from your inventory to the map, and the client figures out what direction it
is and issues appropriate command or something).

>
     
     
     >
     
      Also, there was a major bug: about 50% of all throw or missile action, the
     
     >
     
      monster step in his missile
     
     >
     
      or hit herself. Then the monster was his own enemy and it started to kill
     
     >
     
      herself. Thats the reason why
     
     >
     
      some major monsters are killing herself after some time.
     
     
 The big problem here is that most things move too slowly.  I think most players
can actually outrun a lightning bolt, but how realistic is that (or does it even
make any sense)

 
>
     
      This has some inpact on game play.
     
     >
     
      TODO: if a missile was reflected, i will include a flag and then a owner can
     
     >
     
      be hit again from the
     
     >
     
      missile but will not marked as own enemy.
     
     
 IMO, if a missile is reflected, whoever reflected it should probably become the
owner so they can get exp for any kills that it might give them.  But in the
case of players, I'm not sure if it would go into any reasonable experience
category.  Alternative is to just clear the owner, but I'm not sure if that
might stop the propogation of the spell (I know when an owner dies, the spell
stops, but that might be because the spell has an owner that no longer exists. 
If the spell just had no owner, I would think it should work, as spell walls
placed on maps obviously do fire their spells and don't have a real owner)




>
     
      I changed it so:
     
     >
     
      - you never can push a stand_still monster (you got a message about it)
     
     >
     
      - you can't attack friendly or neutral monsters with pushing anymore
     
     >
     
      - if you MOVE in a evil, unaggressive monster, you push it
     
     >
     
      - if you RUN in a evil, unaggressive monster, you attack it
     
     
 I'm not positive I like that or not.  But maybe its just a matter of confusion
on my part - how does an evil yet unagressive monster exist?  I would think any
evil monster would become agressive towards the player.  If not, it sounds
pretty neutral.  OR is evil unagressive basically the same as just an
unagressive monster in the older code?

 Also, since push is basically the same as move, how can I actually attack a
neutral monster?  Do I have to hit them with a range attack?


>
     
      Sleep
     
     >
     
      -----
     
     
>
     
      Please remove all SLEEP 1 from monsters.
     
     >
     
     
     >
     
      Notice, that it will make later a big difference, that a monster sleeps or
     
     >
     
      not.
     
     >
     
      The advanced mapcmd/client will draw sleep sign above sleeping monsters and
     
     >
     
      skills/spells
     
     >
     
      like invinsible,stealth or hiding will make use of it.
     
     >
     
     
     >
     
      I had fixed several problems with "not awakening monsters". Sometimes they
     
     >
     
      got hit to death and don't
     
     >
     
      awake.
     
     
 Is there currently any way for monsters to get put asleep other than setting
the attribute in the map (I personally don't recall any skills or spells that
will put something to sleep).  Not a big deal, just somewhat curious.

    
    


More information about the crossfire mailing list