I would definitely target this type of thing strictly to TAR_OFFENSIVE
spells.
There's no need for this to affect objects at all, because objects use a
different method of casting spells.
I would, personally, go into do_cast near the bottom where something like
this exists:
(*skill_table[sn].spell_fun) ( sn, level, ch, vo,target);
check_improve(ch,sn,TRUE,1);
Then add below it:
if (skill_table[sn].target == TAR_CHAR_OFFENSIVE){
if (check_for_double_cast_is_true) {
(*skill_table[sn].spell_fun) ( sn, level, ch, vo,target);
check_improve(ch,sn,TRUE,1);
if (check_for_triple_cast_is_true) {
(*skill_table[sn].spell_fun) (sn, level, vo,target);
check_improve(ch,sn,TRUE,1);
}
}
}
This will limit the spells to offensive, and ones that are actually executed
with the cast command.
Now, as Tom did mention, some spells you don't want to cast twice or more
(blindess).
I would simply add an integer to the skill_table struct called 'mult_cast'.
then set it to 1 on all the offensive spells that can be cast more than
once.
then change the above test to:
if (skill_table[sn].target == TAR_CHAR_OFFENSIVE){
if (check_for_double_cast_is_true && skill_table[sn].mult_cast) {
(*skill_table[sn].spell_fun) ( sn, level, ch, vo,target);
check_improve(ch,sn,TRUE,1);
if (check_for_triple_cast_is_true) {
(*skill_table[sn].spell_fun) (sn, level, vo,target);
check_improve(ch,sn,TRUE,1);
}
}
}
How to do the check for double and triple cast? Could be a skill, could be
level based.
Up to you.
Good luck-
Jason
> -----Original Message-----
> From: Tom Whiting [mailto:[EMAIL PROTECTED]
> Sent: Friday, February 08, 2002 11:55 AM
> To: 'Mallek'; [email protected]
> Subject: RE: Multi Casting for magic users (need some help please)
>
>
> >>Ok Heres what i'm trying to do. I want to make it so that
> magic users
> spells have a chance of doing a second and third hit.
>
> Sounds like an excellent idea, in theory.
> However, you will have to think this through just a little
> bit more...
>
> One of the reasons being is because of spells like poison, etc... Many
> of your spells like this have an if check in them that won't let it be
> cast twice on the individual. Now, you could go through and
> change that,
> but it's often not good to have 2x Plague and the like. In
> fact, having
> two of any spell (be it beneficial or not) isn't always a good thing.
>
> Another thing to consider is this:
> There's many wands/staves/pills in the game that contain
> spells in them.
> Granted, most of the nasty stuff is in staves/wands, but they all
> contain spells, and some more than one of them. There's the strong
> possibility that they won't like that, or that the
> staff/wand/pill will
> suddenly become too powerful, causing more unballance inside of your
> game.
>
> A third thing to consider:
> Will this just be attack spells? If so, then great, that's
> even better.
> However, if not, then you should consider it. While some beneficial
> skills/spells have the recursive "$n is already affected by
> spell", some
> don't.. In addition, do you really want mages walking aroudn
> with double
> or tripple sanc? Would really throw off your fight routines.
>
> My suggestion:
> Create a new TAR_xxx case. Call it tar_attack, or whatever.. Move the
> attacking spells into that.. While MOST of these will already be in
> tar_char_offensive, I don't believe that all of the skills in
> this group
> are best suited for that.
> Modify the new TAR_xxx case to handle the casting, not once
> but two (or
> three) times.. That'll take a little bit of work, but I think it's
> probably for the better.
> Move the spells that you want to be cast two or three times into said
> new TAR_xxx case.
>
> Of course, that's a lot of work to do, but, so is modifying
> any mud. If
> it works, then great, if not, then, well, keep trying at it, untill it
> does. Good luck.
>
> -------------------------------------------
> TJW: Head tech, Dreamless Realms Mud
> Personal: http://twhiting.kyndig.com
> Mud: http://drealms.kyndig.com
> Snippets http://drealms.kyndig.com/snippets
> Telnet telnet://drealms.kyndig.com:9275
> The OLC2 Pages http://olc.kyndig.com
> -------------------------------------------
>
>
> This is because I
> have uped the number of attacks done by other class skills such at
> circle to
> go off of second/third/fourth attack etc... I actually think
> I know how
> to
> write the skill (pretty much copy all the instances of second attack
> leaving
> out most of the parts in fight.c) however i will need to write 2 new
> functions to process this. The best way to ask for help i
> think was to
> snippet up what i have done so far. and ask if anyone could help me
> where I
> am falling short.
>
> A problem that I forsee is the fact that spells don't have gsn's so am
> stuck
> having to make a gsn for every spell i have or is there a
> better way to
> do
> this. Again thanks in advance for your help
>
> Mallek
>
>
>
>
> --
> ROM mailing list
> [email protected]
> http://www.rom.org/cgi-bin/mailman/listinfo/rom
>