Ok awhile back I wrote on here asking if anyone had ever implemented a multi-casting system so that a mage could cast more than one fireball or any other damge spell in one round. I got a reply back saying to look at the multi-hit code, so thats what I did. Suggestions very welcome and so is criticism:> Laterz -Smillie, IMP MAximum Carnage Carnage.mudsrus.com 6669 Ok In Magic.c I did all this stuff: In int mag_damge function at the top where int dam is: int apr = -1; Than in the appropriate spell case, which for my test I used fireball, before it does anything else add this: if (GET_LEVEL(ch) >= 30) { apr++; } Than at the bottom change the place where it says return damage( to just damage( and snip this in from the original multi-hit: /* For multiple damge casts in a round */ apr = MAX(-1, MIN(apr, 4)); if(GET_POS(victim) > POS_DEAD) { if (apr >= 0) { for (; apr >= 0; apr--) damage(ch, victim, dam, spellnum); } } return 0; Note this last part gets clipped in all the way at the end. I moved the return than from the original damage part and put it here in the bottom so if for some reason nothing happens it just drops the whole idea. Also the place where it says about getting level to see if they are able to multi-cast I am gonna use that for my tier classings but I figured I'd write it on here like this for general purposes. Lastly that part about getting position before even finding out the APR count is because when I first did this a scond cast could crash the mud if the target died on the first cast, this way thsecond cast only happens if the target is ALIVE!:> +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST