Re: Working with affections...

From: Admin of The Keep (dkoepke@california.com)
Date: 09/14/96


On Sat, 14 Sep 1996 goamkows@kirk.geog.sc.edu wrote:

> :P I have been saving up my questions for awhile now...but I was thinking to 
> :P myself "It sure would be cool if being undead was an affection flag, 
> :P rather than a race of it's own."
> 
> this is actually kind of a neat idea :)
> players killed by undead get an undead aff flag if they re-enter the
> game, and then have to quest or maybe get a high level cleric to
> return them to their natural state.  or they can just stay as an
> undead ;)  (maybe don't let them gain levels as long as they are
> undead?  or have special mobs hunt undead pc's...)

This is like what I did with my 'vampyres.'  They also are being equipped
with a 'bite' skill that drains the blood from players (eg., every 3
seconds the player drops 3-12hp and their BLOOD condition drops by 1,
which is then added to the vampyre).  Vampyres loose their blood condition
when they haven't fed in 24hrs.  When their blood condition is too low,
they will die.  The sunlight causes the loss of blood to accelerate, which
explains why the vampyre cannot go out in sunlight.

Vampyres have three different forms: bat, wolf and vampyre.  The vampyre
can be any race except those without blood (eg., my Weren race are
shapeshifters and don't have any blood).

> 
> but then, is there anything special you can do with an aff flag that
> can't be done just by setting their race?  an aff flag may be a little
> more convenient, but you should be able to do all the same things none
> the less.  (shouldn't you?)

There is lots of things.  

  * You can't have an Undead Elf if you change their race.  This means you
    end up saving their old race just in case they become live again.

  * It's easier not to add a new race.  In my MUD, races are given such an
    oppurtunity to be completely unique and individual (and they MUST be),
    it takes about 10 minutes to get the data entered for the race.

  * It's so much more fun this way!  You can hide affect flags and when an
    imm doesn't want you to be an undead any more, they can UNAFFECT you.

  * You can make it timed.  Just in case they will only be temporarily an
    Undead or whatnot.  So after the time limit you remove any pros and
    cons on them.

> well, just copy something like the roomflag option of do_set.
> which looks ridiculously simple...  would that actually work?

Easy to do:
  * add the entry "UNDEAD" for it using BINARY.
  * add the 'case xx:' for it for whatever number it is in your MUD.
  * in 'case' block do a toggle:
    (AFF_FLAGGED(vict, AFF_UNDEAD) ? REMOVE_BIT(vict, AFF_UNDEAD) :
     SET_BIT(vict, AFF_UNDEAD));
  * break the 'case' statement and you're done.

Oh, while I was looking briefly at the 'do_switch' function it occurred to
me that when you 'set file' someone, some of the 'case' blocks return when
you make a mistake...  But doesn't that mean you don't do the neccessary
file operations at the end of 'do_switch'?  Seems like a bug to me.

  -dak


+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST