You wrote:
>
>
>
>On Thu, 2 Nov 1995, Billy H. Chan (~{3B:FH;~}) wrote:
>
>>
>> Or, somewhere inside struct char_data *ch, add unsigned byte
image_number.
> Adding a byte to char_data makes things difficult.
>
>> Make the spell a MAG_MANUAL | MAG_AFFECTS.
>> In fight.c, when checking for a hit, do:
>> if (dice(1, image_number) != 1) {
>> act("blahblahblah' ... TO_CHAR);
>> act("Blablahbalbh"... TO_ROOM);
>> image_number = MAX(1, image_number - 1);
>> }
>> heck, you don't even need an AFFECT flag... just check if
image_number > 1,
>> and if it is... you're imaged... this sure beats the way I imp'ed
it...
>
> Instead, maybe you COULD use an affect flag. When you cast it,
>it gives you APPLY_IMAGE by x, and each time an image is removed the
>modifier is reduced by 1 until you hit 0.. then you remove the bit.
> That way the # of images is stored in the affects structure,
>which already has a spot for the modifier.
>
That's what I've done.... makes a neat little allowance for items that
give mirrors :)
I still havn't figured out a good way actually put it all in fight.c
tho :(
the above example it kinda what I want to do it, but exactly where
should that code go? in hit()?
This archive was generated by hypermail 2b30 : 12/07/00 PST