version 1.67 | | version 1.68 |
---|
| | |
/* | | /* |
* static char *rcsid_apply_c = | | * static char *rcsid_apply_c = |
* "$Id: apply.c,v 1.67 2002/09/28 07:19:39 mwedel Exp $"; | | * "$Id: apply.c,v 1.68 2002/11/13 00:26:13 garbled Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
{ | | { |
if(abs(failure/4)>power) power=abs(failure/4); /* set minimum effect */ | | if(abs(failure/4)>power) power=abs(failure/4); /* set minimum effect */ |
| | |
if(failure<= -1&&failure > -15) /* wonder */ | | if(failure<= -1&&failure > -15) {/* wonder */ |
{ | | |
new_draw_info(NDI_UNIQUE, 0,op,"Your spell warps!."); | | new_draw_info(NDI_UNIQUE, 0,op,"Your spell warps!."); |
cast_cone(op,op,0,10,SP_WOW,spellarch[SP_WOW],0); | | cast_cone(op,op,0,10,SP_WOW,spellarch[SP_WOW],0); |
} | | } else if (failure <= -15&&failure > -35) {/* drain mana */ |
| | |
else if (failure <= -15&&failure > -35) /* drain mana */ | | |
{ | | |
new_draw_info(NDI_UNIQUE, 0,op,"Your mana is drained!."); | | new_draw_info(NDI_UNIQUE, 0,op,"Your mana is drained!."); |
op->stats.sp -= random_roll(0, power-1, op, PREFER_LOW); | | op->stats.sp -= random_roll(0, power-1, op, PREFER_LOW); |
if(op->stats.sp<0) op->stats.sp = 0; | | if(op->stats.sp<0) op->stats.sp = 0; |
} | | } else if (settings.spell_failure_effects == TRUE) { |
| | if (failure <= -35&&failure > -60) { /* confusion */ |
/* even nastier effects continue...*/ | | |
#ifdef SPELL_FAILURE_EFFECTS | | |
else if (failure <= -35&&failure > -60) /* confusion */ | | |
{ | | |
new_draw_info(NDI_UNIQUE, 0,op,"The magic recoils on you!"); | | new_draw_info(NDI_UNIQUE, 0,op,"The magic recoils on you!"); |
confuse_player(op,op,power); | | confuse_player(op,op,power); |
} | | } else if (failure <= -60&&failure> -70) {/* paralysis */ |
| | new_draw_info(NDI_UNIQUE, 0,op,"The magic recoils and paralyzes " |
else if (failure <= -60&&failure> -70) /* paralysis */ | | "you!"); |
{ | | |
new_draw_info(NDI_UNIQUE, 0,op,"The magic recoils and paralyzes you!"); | | |
paralyze_player(op,op,power); | | paralyze_player(op,op,power); |
} | | } else if (failure <= -70&&failure> -80) {/* blind */ |
| | |
else if (failure <= -70&&failure> -80) /* blind */ | | |
{ | | |
new_draw_info(NDI_UNIQUE, 0,op,"The magic recoils on you!"); | | new_draw_info(NDI_UNIQUE, 0,op,"The magic recoils on you!"); |
blind_player(op,op,power); | | blind_player(op,op,power); |
} | | } else if (failure <= -80) {/* blast the immediate area */ |
| | |
else if (failure <= -80) /* blast the immediate area */ | | |
{ | | |
new_draw_info(NDI_UNIQUE, 0,op,"You unlease uncontrolled mana!"); | | new_draw_info(NDI_UNIQUE, 0,op,"You unlease uncontrolled mana!"); |
cast_mana_storm(op,power); | | cast_mana_storm(op,power); |
} | | } |
#endif | | } |
} | | } |
| | |
void apply_changes_to_player(object *pl, object *change) { | | void apply_changes_to_player(object *pl, object *change) { |