# spell ! This Location contains the meat of what each spell does to the PC, NPCs, and the environment. Mana costs are handled elsewhere. ! This location should not be called directly. Should only be called through the "castSpell" location. ! $ARGS[0] = the name of the spell being cast ! $ARGS[1] = Spell Success value ! 2 = Critical Success -> You can make something extra specail happen ! 1 = Success -> Normal spell effects ! 0 = Failure -> Spell doesn''t work, probably just fizzles out ! -1 = Critical Failure -> Spell backfires. Something bad (not terrible) should happen ! $ARGS[n >= 2] = Any extra parameters needed by the spell ! ! For Combat Spells: ! $ARGS[2] = Target Type ('opp','pcs') ! ARGS[3] = Target party member number ! ARGS[4] = Caster party member number SuccessValue = $ARGS[1] $SplTxtColGood = 'green' $SplTxtColBad = 'red' ! ARGS for Combat Spells if Applicable $TargetType = $ARGS[2] if $spellTarget[$ARGS[2]] = 'self': ! Self target spell, Caster and target are the same $CasterType = $TargetType TargetNumber = ARGS[3] CasterNumber = ARGS[3] elseif $spellTarget[$ARGS[2]] = 'team': ! Team target spell targets person on the same team $CasterType = $TargetType TargetNumber = ARGS[3] CasterNumber = ARGS[4] else ! Others are assumed to be enemy targets if $TargetType = 'pcs': $CasterType = 'opp' $SplTxtColGood = 'red' $SplTxtColBad = 'green' elseif $TargetType = 'opp': $CasterType = 'pcs' else $CasterType = 'pcs' $TargetType = 'pcs' end TargetNumber = ARGS[3] CasterNumber = ARGS[4] end !! Helper functions. !! UpdateAttrib ! Apply change to Combatant array ! $ARGS[0] = the base array (e.g.: fog, clone, shield, init) ! $ARGS[1] = the Target type (e.g.: pcs or opp) ! ARGS[2] = Target Number, array number of target ! $ARGS[3] = operation (e.g.: +, -, =) ! ARGS[4] = Amount to change $spellFunc['UpdateAttrib'] = { $SpellFuncVar['BaseArray'] = $ARGS[0] $SpellFuncVar['TargetType']= $ARGS[1] SpellFuncVar['TargetNum'] = ARGS[2] $SpellFuncVar['Operation'] = $ARGS[3] SpellFuncVar['Amount'] = ARGS[4] if $SpellFuncVar['Operation'] = '=': ! "opp_fog[0] = 0" dynamic "<<$SpellFuncVar['TargetType']>>_<<$SpellFuncVar['BaseArray']>>[<>] = <>" elseif $SpellFuncVar['Operation'] = '+' or $SpellFuncVar['Operation'] = '-': ! "opp_fog[0] += 10" dynamic "<<$SpellFuncVar['TargetType']>>_<<$SpellFuncVar['BaseArray']>>[<>] <<$SpellFuncVar['Operation']>>= <>" else 'Invalid Operator, must be "+", "-", or "=". ' end killvar '$SpellFuncVar' killvar 'SpellFuncVar' } !!GetCombatantName ! Get the Name value for this combatant ! $ARGS[0] = the Target type (e.g.: pcs or opp) ! ARGS[1] = Target Number, array number of target $spellFunc['GetCombatantName'] = { $SpellFuncVar['TargetType']= $ARGS[0] SpellFuncVar['TargetNum'] = ARGS[1] $result = dyneval("$result = $<<$SpellFuncVar['TargetType']>>_name[<>]") killvar '$SpellFuncVar' killvar 'SpellFuncVar' } !!ApplyDamageToAll ! Apply some damage to all participants fo a given type ! $ARGS[0] = the Target type (e.g.: pcs or opp) ! ARGS[1] = Amount of damage $spellFunc['ApplyDamageToAll'] = { $SpellFuncVar['TargetType']= $ARGS[0] SpellFuncVar['Damage'] = ARGS[1] dynamic " i=0 :DamageAllLoop1 if i < arrsize('<<$SpellFuncVar['TargetType']>>_health'): gs 'fight', 'applyDamage', '<<$SpellFuncVar['TargetType']>>', i, <> i+=1 jump 'DamageAllLoop1' end killvar 'i' " killvar '$SpellFuncVar' killvar 'SpellFuncVar' } !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! SPELLS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if $ARGS[0] = 'teleport': ! Do the stuff of a Teleport ! ARGS[1] = Success/Failure level ! ARGS[2] = the Target Location $NewLocation = $ARGS[2] :RandLocLoop $randomLoc = $tpLocations[rand(0,arrsize('$tpLocations') - 1)] if $randomLoc = $NewLocation or $randomLoc = $EntryPoint: jump 'RandLocLoop' end if SuccessValue > 0: *nl "The blur you see just outside the ring seems to shift." wait 1000 if $treeCircArg[$NewLocation] = "": gt $treeCircLoc[$NewLocation] else gt $treeCircLoc[$NewLocation], $treeCircArg[$NewLocation] end elseif SuccessValue < 0: *nl "The blur you see just outside the ring seems to shift. Something did not go right!" wait 1000 if $treeCircArg[$randomLoc] = "": gt $treeCircLoc[$randomLoc] else gt $treeCircLoc[$randomLoc], $treeCircArg[$randomLoc] end else 'You feel drained, but the energy fizzles out and nothing happens' end killvar '$randomLoc' killvar '$NewLocation' result = "" end if $ARGS[0] = 'regenerate': if SuccessValue > 0: ! How much health is gained per minute regenVal = 5 * SuccessValue ! Immediate health gain pcs_health += regenVal ! If Regenerate is already running, we only extend. regenArrIdx = arrpos('$spellTimeName','regenerate') if regenArrIdx > -1: ! if it''s found, then update only spellComplete[regenArrIdx] = totminut + 120 $spellCompExec[regenArrIdx] = 'pcs_health += (5 * <>)' $spellTickExec[regenArrIdx] = 'pcs_health += <>' else ! Add Timer: ! spellName = 'regenerate' ! duration = 120 ! CompCode = 'pcs_health += (5 * <>)' ! TickCode = 'pcs_health += <>' gs 'spellTimer', 'add', 'regenerate', 120, 'pcs_health += (5 * <>)', 'pcs_health += <>' end '>>Your body surges with life. You feel better already.' killvar 'regenVal' killvar 'regenArrIdx' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'painblock': if SuccessValue > 0: pain['killer'] = 1 '>>Your pain recedes into a dull throb.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'curedisease': if SuccessValue > 0: ! Cure Diseses dynamic $cheatmenu['std_cure'] ! Cause pain where diseases burned out pain['head'] += 10 pain['nose'] += 10 pain['mouth'] += 10 pain['lips'] += 10 pain['throat'] += 10 pain['asshole'] += 10 pain['chest'] += 10 pain['tummy'] += 10 pain['urethra'] += 10 pain['vaginal'] += 10 ! You do not feel good pcs_mood -= 30 '>>You burst into a high fever. You feel terrible, but you know you are now healthy.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'curewounds': if SuccessValue > 0: ! Remove some pain gs 'medical_din','healthTreatment' gs 'medical_din','healthTreatment' '>>You feel yourself coursing with life. You feel better already.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'curewounds2': if SuccessValue > 0: ! Remove all pain killvar 'pain' pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000 '>>You feel yourself coursing with life. All pain is gone.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'berserk': if SuccessValue > 0: spellArrIdx = arrpos('$spellTimeName','berserk') pain['killer'] = 1 if spellArrIdx > -1: ! if it''s found, then update only spellComplete[spellArrIdx] = totminut + 120 else ! Save current Health percentage, since changing these stats will change healthmax healthPercent = pcs_health * 100 / healthmax staminPercent = pcs_stam * 100 / stammax ! Boost Stats stren_lvl += 200 stren_lvlst += 200 stren_muta += 4 agil_lvl += 200 agil_lvlst += 200 agil_muta += 4 vital_lvl += 200 vital_lvlst += 200 vital_muta += 4 !gs 'stat_sklattrib' ! Run stats to recalculate max health gs 'stat' ! Update health to be appropiate percentage of new healthmax pcs_health = (healthPercent * healthmax / 100) + 1 pcs_stam = (staminPercent * stammax) + 1 ! Add Timer to remove this effect after tiem period $berserkCode={ ! Return Stats to normal stren_lvl -= 200 stren_lvlst -= 200 stren_muta -= 4 agil_lvl -= 200 agil_lvlst -= 200 agil_muta -= 4 vital_lvl -= 200 vital_lvlst -= 200 vital_muta -= 4 } gs 'spellTimer', 'add', 'berserk', 120, $berserkCode, '' end '>>You feel a huge adrenalin surge. You begin looking for someone to battle.' else 'The spell fizzles. Nothing seems to happen.' end killvar 'spellArrIdx' killvar 'berserkCode' killvar 'healthPercent' killvar 'staminPercent' end if $ARGS[0] = 'shower': if SuccessValue > 0: ! Take a Shower gs 'cum_cleanup' lactation['lactmess'] = 0 pcs_sweat = 10 ! Brush Teeth pcs_breath = 1 '>>You feel clean and refreshed.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'glamour': if SuccessValue > 0: ! Add large bonus to appearance. pcs_apprncbase += 150 ! Add Timer to remove Appearance bonus after 2 hours ! spellName = 'glamour' ! duration = 120 ! CompCode = 'pcs_apprncbase -= 150' Remove bonus ! TickCode = '' Do nothing gs 'spellTimer', 'add', 'glamour', 120, 'pcs_apprncbase -= 150', '' '>>You feel gorgeous. People will love you.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'alterself': if SuccessValue > 0: ! Stop Reputation accumulation. !TODO '>>Your feature change. Your own mother wouldn''t recognize you.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'makeup': if SuccessValue > 0: ! Argument should be 3 digit string representing Makeup to apply $MakeupArg = $ARGS[2] if $MakeupArg = '': $MakeupArg = '210' ! Arg[0] = Makeup Amount (0-3) MakeupArg[0] = val(mid($MakeupArg,1,1)) ! Arg[1] = Lip Balm application (0-1) MakeupArg[1] = val(mid($MakeupArg,2,1)) ! Arg[2] = False lash Application (0-2) MakeupArg[2] = val(mid($MakeupArg,3,1)) ! Brush hair pcs_hairbsh = 1 ! Apply Makeup pcs_makeup = MakeupArg[0] ! Apply Lipbalm pcs_lipbalm += 8*MakeupArg[1] ! Apply False Lashes if MakeupArg[2] = 1 and pcs_lashes < 3: pcs_lashes = 3 elseif MakeupArg[2] = 2 and pcs_lashes < 4: pcs_lashes = 4 end killvar 'MakeupArg' killvar '$MakeupArg' '>>makeup is applied to your face.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'cosmetica': if SuccessValue > 0: ! Take a Shower gs 'cum_cleanup' lactation['lactmess'] = 0 pcs_sweat = 10 ! Brush Teeth pcs_breath = 1 ! Remove graffiti from self body_write = 0 face_write = 0 ! Enema klismaday = daystart klismaday1 = 1 ! Brush hair pcs_hairbsh = 1 ! Apply Makeup pcs_makeup = 3 !if shave_menu = 0:nothing !if shave_menu = 1:legs and pussy !if shave_menu = 2:pussy only !if shave_menu = 3:legs only if shave_menu = 1 or shave_menu = 3: ! Shave Legs pcs_leghair = 0 end if shave_menu = 1 or shave_menu = 2: ! Shave Pubes if pubestyle = 1: pcs_pubes = 1 elseif (pubestyle >= 2 and pubestyle <= 9) or pubestyle >= 12: pcs_pubes = 16 elseif pubestyle = 10 and pcs_pubes > 29: pcs_pubes = 26 elseif pubestyle = 11 and pcs_pubes > 10: pcs_pubes = 0 end end '>>You feel beautiful.' else 'The spell fizzles. Nothing seems to happen.' end end !!!!!!!!!!!!!!!!! !! Combat Spells !!!!!!!!!!!!!!!!! if $ARGS[0] = 'fog': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '+', 10 * SuccessValue '>>A Fog materializes around, obscuring <> from enemies.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'clone': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '+', SuccessValue '>><> clone<1,"s","")>> springs from <> confusing enemies.' elseif SuccessValue < 0 and dyneval('result=<<$TargetType>>_clone[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '-', 1 '>>The spell backfires! A <> clone disappears.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'stun': if SuccessValue > 0: stunner = 1 dynamic $spellFunc['UpdateAttrib'], 'stun', $TargetType, TargetNumber, '+', rand(2,5)+ SuccessValue '>><> is stunned.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'weapon': !{if SuccessValue > 0: magweapbonus = weapbonus * 4 * SuccessValue '>>Your weapon now feels more powerful.' elseif SuccessValue < 0: magweapbonus = weapbonus * -1 '>>The spell backfires! Your weapon seems weaker.' else 'The spell fizzles. Nothing seems to happen.' end } "weapon" end if $ARGS[0] = 'wind': if SuccessValue = 2: dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0 '>>A wind blows through the area, eliminating the fog around <> from the battlefield.' elseif SuccessValue = 1: dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0 dynamic $spellFunc['UpdateAttrib'], 'fog', $CasterType, CasterNumber, '=', 0 '>>A wind blows through the area, eliminating all fog on the battlefield.' elseif SuccessValue = -1: dynamic $spellFunc['UpdateAttrib'], 'fog', $CasterType, CasterNumber, '=', 0 '>>A wind blows through the area, eliminating the fog around <> from the battlefield.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'multiclone': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '+', SuccessValue * 3 '>><> clone<1,"s","")>> of <> springs forth, confusing the enemy.' elseif SuccessValue < 0 and klon > 0: if dyneval('result=<<$TargetType>>_clone[<>]') < 3: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0 else dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '-', 3 end '>>The spell backfires! Some clones of <> disappear.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'energo': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 100 '>>An energy shield materializes around <>, granting protection from enemies.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'haste': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'init', $TargetType, TargetNumber, '+', SuccessValue * 120 '>><> feels mind and body race though a sluggish world.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'heal': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'health', $TargetType, TargetNumber, '+', SuccessValue * 400 '>><> surges with life, feeling much stronger.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'hand': if SuccessValue > 0: TargetStren = dyneval('result=<<$TargetType>>_stren[<>]') TargetStrenDelta = TargetStren*20*SuccessValue/100 TargetStrenBase = TargetStren*10 dynamic $spellFunc['UpdateAttrib'], 'stren', $TargetType, TargetNumber, '=', RAND(TargetStrenBase - TargetStrenDelta,TargetStrenBase + TargetStrenDelta) '>>Power flows from the hands of <>.' killvar 'TargetStren' killvar 'TargetStrenDelta' killvar 'TargetStrenBase' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'scaldingtouch': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue '>>Flames spring from your hands.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'burninghands': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue '>>A torrent of flames jets from your hands.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'firebarrier': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 200 '>>A flaming barrier springs up between you and your opponents.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'firestorm': if SuccessValue > 0: dynamic $spellFunc['ApplyDamageToAll'], $TargetType, (200 * SuccessValue) '>>Uncountable glowing embers streak down upon the foes of <>.' elseif SuccessValue < 0: dynamic $spellFunc['ApplyDamageToAll'], $TargetType, 200 dynamic $spellFunc['ApplyDamageToAll'], $CasterType, 100 '>>The spell backfires! Uncountable glowing embers streak down upon the battlefield, burning everyone.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'flameshield': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 250 '>>A Shield made of flames interposes itself between <> and the enemy.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'shock': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue '>>You build a static electric charge in your hand and zap your opponent.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50 '>>The spell backfires! You manage to zap yourself with a static charge.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'lightning': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 200 * SuccessValue '>>You shoot a lightning bolt from your hand, zapping your opponent.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $CasterType, CasterNumber, 100 '>>The spell backfires! You manage to zap yourself with lightning.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'electricbarrier': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 250 '>>A wall of dancing lightning springs up around yourself.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = '1000birds': if SuccessValue > 0: dynamic $spellFunc['ApplyDamageToAll'], $TargetType, (100 * SuccessValue) gs 'fight', 'applyDamage', $TargetType, TargetNumber, (100 * SuccessValue) '>>You shoot hundreds of small lightning bolts toward your enemy.' elseif SuccessValue < 0: dynamic $spellFunc['ApplyDamageToAll'], $TargetType, 100 dynamic $spellFunc['ApplyDamageToAll'], $CasterType, 100 '>>The spell backfires! Hundreds of small lightning bolts curl toward the battlefield, shocking everyone.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'dancingsphere': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 500 '>>A large field of lightning dances around you, blocking attacks.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'quicksand': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue '>>You trap your opponent in quicksand.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50 '>>The spell backfires! You are both trapped in quicksand.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'earthshield': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 100 + 250 '>>Tendrils of earth rise to defend you.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'abyss': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue '>>The Earth opens up beneath your opponent''s feet, slamming shut damaging him and depriving him of the ability to move.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200 '>>The spell backfires! The Earth opens up beneath your opponent''s feet, slamming shut damaging him and depriving him of the ability to move. You are also caught.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'earthguardian': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 500 '>>The Earth itself comes alive defending you from attacks. It draws from the power of the land to regenerate itself every round. You now have <> protection units.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'sando': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, (250 * SuccessValue) '>>Two huge plates of earth collapse together, crushing the enemy and depriving him of the ability to move.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50 '>>The spell backfires! Two huge plates of earth collapse together with crushing force, but the enemy is missed and you are instead caught.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'windgust': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue '>>You create a gust of wind.' if dyneval('result=<<$TargetType>>_clone[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0 '>>Enemy clones are vaporized.' end if dyneval('result=<<$TargetType>>_fog[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0 '>>Enemy fog is torn to shreds by the wind.' end else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'pressure': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 200 * SuccessValue '>>You dramatically raise the air pressure.' if dyneval('result=<<$TargetType>>_clone[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0 '>>Enemy clones are vaporized.' end if dyneval('result=<<$TargetType>>_fog[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0 '>>Enemy fog is torn to shreds by the wind.' end else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'vacuum': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 250 '>>A turbulent sphere of vacuum surrounds you, blocking incoming attacks. You now have <> protection units.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'vacuumshells': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue '>>Turbulent spheres of vacuum bombard your enemy. The air is full of whistling sounds as the spheres fly by at high speeds over the battlefield.' if dyneval('result=<<$TargetType>>_clone[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0 '>>Enemy clones are vaporized.' end if dyneval('result=<<$TargetType>>_fog[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0 '>>Enemy fog is torn to shreds by the wind.' end else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'devouringvacuum': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '=', 0 '>>A devouring vacuum sucks away your enemy''s defenses.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'leechmana': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 damTipM = 1000 dynamic $spellFunc['UpdateAttrib'], 'mana', $CasterType, CasterNumber, '+', 100 '>>You leech mana from your enemy.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50 '>>The spell backfires! Ouch!' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'flood': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 200 * SuccessValue '>>A surge of water rises towards your enemy.' elseif SuccessValue < 0: gs 'fight', 'applyDamage', $CasterType, CasterNumber, 100 '>>The spell backfires! A surge of water rises towards your enemy, but misses and hits you.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'blister': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', 500 '>>A protective sphere of water surrounds you.' else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'sharkrockets': if SuccessValue > 0: gs 'fight', 'applyDamage', $TargetType, TargetNumber, 150 * SuccessValue '>>Blobs of water shaped like sharks fly towards your enemy, striking them.' if dyneval('result=<<$TargetType>>_clone[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0 '>>Enemy clones are vaporized.' end else 'The spell fizzles. Nothing seems to happen.' end end if $ARGS[0] = 'greatflood': if SuccessValue > 0: dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', 1000 '>>You have filled the whole neighborhood with water, protecting you and devouring enemy mana.' if dyneval('result=<<$TargetType>>_clone[<>]') > 0: dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0 '>>Enemy clones are vaporized.' end else 'The spell fizzles. Nothing seems to happen.' end end killvar 'SuccessValue' killvar '$TargetType' killvar 'TargetNumber' killvar '$CasterType' killvar 'CasterNumber' --- spell ---------------------------------