123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838 |
- # 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']>>[<<SpellFuncVar['TargetNum']>>] = <<SpellFuncVar['Amount']>>"
- elseif $SpellFuncVar['Operation'] = '+' or $SpellFuncVar['Operation'] = '-':
- ! "opp_fog[0] += 10"
- dynamic "<<$SpellFuncVar['TargetType']>>_<<$SpellFuncVar['BaseArray']>>[<<SpellFuncVar['TargetNum']>>] <<$SpellFuncVar['Operation']>>= <<SpellFuncVar['Amount']>>"
- 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[<<SpellFuncVar['TargetNum']>>]")
- 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, <<SpellFuncVar['Damage']>>
- 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 * <<regenVal>>)'
- $spellTickExec[regenArrIdx] = 'pcs_health += <<regenVal>>'
- else
- ! Add Timer:
- ! spellName = 'regenerate'
- ! duration = 120
- ! CompCode = 'pcs_health += (5 * <<regenVal>>)'
- ! TickCode = 'pcs_health += <<regenVal>>'
- gs 'spellTimer', 'add', 'regenerate', 120, 'pcs_health += (5 * <<regenVal>>)', 'pcs_health += <<regenVal>>'
- end
- '<b><font color = <<$SplTxtColGood>>>Your body surges with life. You feel better already.</font></b>'
- killvar 'regenVal'
- killvar 'regenArrIdx'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'painblock':
- if SuccessValue > 0:
- pain['killer'] = 1
- '<b><font color = <<$SplTxtColGood>>>Your pain recedes into a dull throb.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- 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
- '<b><font color = <<$SplTxtColGood>>>You burst into a high fever. You feel terrible, but you know you are now healthy.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'curewounds':
- if SuccessValue > 0:
- ! Remove some pain
- gs 'medical_din','healthTreatment'
- gs 'medical_din','healthTreatment'
- '<b><font color = <<$SplTxtColGood>>>You feel yourself coursing with life. You feel better already.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'curewounds2':
- if SuccessValue > 0:
- ! Remove all pain
- killvar 'pain'
- pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000
- '<b><font color = <<$SplTxtColGood>>>You feel yourself coursing with life. All pain is gone.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- 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
- '<b><font color = <<$SplTxtColGood>>>You feel a huge adrenalin surge. You begin looking for someone to battle.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- 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
- '<b><font color = <<$SplTxtColGood>>>You feel clean and refreshed.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- 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', ''
- '<b><font color = <<$SplTxtColGood>>>You feel gorgeous. People will love you.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'alterself':
- if SuccessValue > 0:
- ! Stop Reputation accumulation.
- !TODO
- '<b><font color = <<$SplTxtColGood>>>Your feature change. Your own mother wouldn''t recognize you.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- 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'
- '<b><font color = <<$SplTxtColGood>>>makeup is applied to your face.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- 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
- '<b><font color = <<$SplTxtColGood>>>You feel beautiful.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- !!!!!!!!!!!!!!!!!
- !! Combat Spells
- !!!!!!!!!!!!!!!!!
- if $ARGS[0] = 'fog':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '+', 10 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>A Fog materializes around, obscuring <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> from enemies.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'clone':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '+', SuccessValue
- '<b><font color = <<$SplTxtColGood>>><<SuccessValue>> clone<<iif(SuccessValue>1,"s","")>> springs from <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> confusing enemies.</font></b>'
- elseif SuccessValue < 0 and dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '-', 1
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! A <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> clone disappears.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'stun':
- if SuccessValue > 0:
- stunner = 1
- dynamic $spellFunc['UpdateAttrib'], 'stun', $TargetType, TargetNumber, '+', rand(2,5)+ SuccessValue
- '<b><font color = <<$SplTxtColGood>>><<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> is stunned.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'weapon':
- !{if SuccessValue > 0:
- magweapbonus = weapbonus * 4 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>Your Weapon now feels more powerful.</font></b>'
- elseif SuccessValue < 0:
- magweapbonus = weapbonus * -1
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! Your weapon seems weaker.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- }
- "weapon"
- end
- if $ARGS[0] = 'wind':
- if SuccessValue = 2:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>A wind blows through the area eliminating the fog around <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> from the battlefield.</font></b>'
- elseif SuccessValue = 1:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0
- dynamic $spellFunc['UpdateAttrib'], 'fog', $CasterType, CasterNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>A wind blows through the area eliminating all fog on the battlefield.</font></b>'
- elseif SuccessValue = -1:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $CasterType, CasterNumber, '=', 0
- '<b><font color = <<$SplTxtColBad>>>A wind blows through the area eliminating the fog around <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> from the battlefield.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'multiclone':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '+', SuccessValue * 3
- '<b><font color = <<$SplTxtColGood>>><<SuccessValue * 3>> clone<<iif(SuccessValue>1,"s","")>> of <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> springs forth confusing the enemy.</font></b>'
- elseif SuccessValue < 0 and klon > 0:
- if dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') < 3:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0
- else
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '-', 3
- end
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! Some clones of <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> disappear.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'energo':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 100
- '<b><font color = <<$SplTxtColGood>>>An energy shield materializes around <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>>, granting protection from enemies.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'haste':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'init', $TargetType, TargetNumber, '+', SuccessValue * 120
- '<b><font color = <<$SplTxtColGood>>><<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> feels mind and body race though a sluggish world.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'heal':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'health', $TargetType, TargetNumber, '+', SuccessValue * 400
- '<b><font color = <<$SplTxtColGood>>><<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> surges with life, feeling much stronger.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'hand':
- if SuccessValue > 0:
- TargetStren = dyneval('result=<<$TargetType>>_stren[<<TargetNumber>>]')
- TargetStrenDelta = TargetStren*20*SuccessValue/100
- TargetStrenBase = TargetStren*10
- dynamic $spellFunc['UpdateAttrib'], 'stren', $TargetType, TargetNumber, '=', RAND(TargetStrenBase - TargetStrenDelta,TargetStrenBase + TargetStrenDelta)
- '<b><font color = <<$SplTxtColGood>>>Power flows from the hands of <<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>>.</font></b>'
- killvar 'TargetStren'
- killvar 'TargetStrenDelta'
- killvar 'TargetStrenBase'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'scaldingtouch':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>Flames spring from your hands.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'burninghands':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>A torrent of flames jets from your hands.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'firebarrier':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 200
- '<b><font color = <<$SplTxtColGood>>>A flaming barrier has sprung up between you and your opponents.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'firestorm':
- if SuccessValue > 0:
- dynamic $spellFunc['ApplyDamageToAll'], $TargetType, (200 * SuccessValue)
- '<b><font color = <<$SplTxtColGood>>>Uncountable glowing embers steak down upon the foes of <<dyneval($spellFunc["GetCombatantName"], $CasterType, CasterNumber)>>.</font></b>'
- elseif SuccessValue < 0:
- dynamic $spellFunc['ApplyDamageToAll'], $TargetType, 200
- dynamic $spellFunc['ApplyDamageToAll'], $CasterType, 100
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! Uncountable glowing embers steak down upon the battlefield burning everyone.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'flameshield':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 250
- '<b><font color = <<$SplTxtColGood>>>A Shield made of Flames interposes itself between <<dyneval($spellFunc["GetCombatantName"], $CasterType, CasterNumber)>> and the enemy.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'shock':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>You build a static electric charge in your hand and zap your opponent.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! You manage to zap yourself with a static charge.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'lightning':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 200 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>You shoot a lightning bolt from your hand zapping your opponent.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 100
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! You manage to zap yourself with lightning.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'electricbarrier':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 250
- '<b><font color = <<$SplTxtColGood>>>A wall of dancing lightning springs up around yourself.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = '1000birds':
- if SuccessValue > 0:
- dynamic $spellFunc['ApplyDamageToAll'], $TargetType, (100 * SuccessValue)
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, (100 * SuccessValue)
- '<b><font color = <<$SplTxtColGood>>>You shoot hundreds of small lightning bolts toward your enemy.</font></b>'
- elseif SuccessValue < 0:
- dynamic $spellFunc['ApplyDamageToAll'], $TargetType, 100
- dynamic $spellFunc['ApplyDamageToAll'], $CasterType, 100
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! Hundreds of small lightning bolts curl toward the battlefield shocking everyone.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'dancingsphere':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 500
- '<b><font color = <<$SplTxtColGood>>>A large field of lightning dances around you blocking attacks.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'quicksand':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>You have trapped your opponent in quicksand.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! You are both trapped in quicksand.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'earthshield':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 100 + 250
- '<b><font color = <<$SplTxtColGood>>>Tendrils of Earth rise to defend you.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'abyss':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>The Earth opens up beneath your opponents feet, slamming shut damaging him and depriving him of the ability to move.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 200
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! The Earth opens up beneath your opponents feet, slamming shut damaging him and depriving him of the ability to move. You are also caught.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'earthguardian':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 500
- '<b><font color = <<$SplTxtColGood>>>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 <<defence>> protection units.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'sando':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, (250 * SuccessValue)
- '<b><font color = <<$SplTxtColGood>>>Two huge plates of earth colapse together crushing the enemy and depriving him of the ability to move.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! Two huge plates of earth colapse together with crushing force, but the enemy is missed and you are instead caught.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'windgust':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>You have created a gust of wind.</font></b>'
- if dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy clones are vaporized.</font></b>'
- end
- if dyneval('result=<<$TargetType>>_fog[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy Fog is torn to shreds by the wind.</font></b>'
- end
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'pressure':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 200 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>You dramatically raised the air pressure.</font></b>'
- if dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy clones are vaporized.</font></b>'
- end
- if dyneval('result=<<$TargetType>>_fog[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy Fog is torn to shreds by the wind.</font></b>'
- end
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'vacuum':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', SuccessValue * 250
- '<b><font color = <<$SplTxtColGood>>>A turbulent sphere of vacuum surrounds you blocking incoming attacks. You now have <<defence>> protection units.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'vacuumshells':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 250 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>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.</font></b>'
- if dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy clones are vaporized.</font></b>'
- end
- if dyneval('result=<<$TargetType>>_fog[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'fog', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy Fog is torn to shreds by the wind.</font></b>'
- end
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'devouringvacuum':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>A devouring vacuum sucks away your enemys defenses.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'leechmana':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 100
- damTipM = 1000
- dynamic $spellFunc['UpdateAttrib'], 'mana', $CasterType, CasterNumber, '+', 100
- '<b><font color = <<$SplTxtColGood>>>You leech mana from your enemy.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 50
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! Ouch!</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'flood':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 200 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>A surge of water rises towards your enemy.</font></b>'
- elseif SuccessValue < 0:
- gs 'fight', 'applyDamage', $CasterType, CasterNumber, 100
- '<b><font color = <<$SplTxtColBad>>>The spell backfires! A surge of water rises towards your enemy, but missed and hits you.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'blister':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', 500
- '<b><font color = <<$SplTxtColGood>>>A protective sphere of water surrounds you.</font></b>'
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'sharkrockets':
- if SuccessValue > 0:
- gs 'fight', 'applyDamage', $TargetType, TargetNumber, 150 * SuccessValue
- '<b><font color = <<$SplTxtColGood>>>Blobs of Water shaped like sharks fly towards your enemy stiking them.</font></b>'
- if dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy clones are vaporized.</font></b>'
- end
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'greatflood':
- if SuccessValue > 0:
- dynamic $spellFunc['UpdateAttrib'], 'shield', $TargetType, TargetNumber, '+', 1000
- '<b><font color = <<$SplTxtColGood>>>You have filled the whole neighborhood with water protecting you and devouring enemy mana.</font></b>'
- if dyneval('result=<<$TargetType>>_clone[<<TargetNumber>>]') > 0:
- dynamic $spellFunc['UpdateAttrib'], 'clone', $TargetType, TargetNumber, '=', 0
- '<b><font color = <<$SplTxtColGood>>>Enemy clones are vaporized.</font></b>'
- end
- else
- '<b>The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- killvar 'SuccessValue'
- killvar '$TargetType'
- killvar 'TargetNumber'
- killvar '$CasterType'
- killvar 'CasterNumber'
- --- spell ---------------------------------
|