123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887 |
- # 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 = iif(isnum($ARGS[1]),val($ARGS[1]),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':
- if $ARGS[0] = 'heal' OR $ARGS[0] = 'clone' OR $ARGS[0] = 'multiclone' OR $ARGS[0] = 'energo' OR $ARGS[0] = 'haste':
- $CasterType = 'pcs'
- $SplTxtColGood = 'green'
- $SplTxtColBad = 'red'
- else
- $CasterType = 'opp'
- $SplTxtColGood = 'red'
- $SplTxtColBad = 'green'
- end
- 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'
- 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
- msg '<b><font color = <<$SplTxtColGood>>>Your body surges with life. You feel better already.</font></b>'
- killvar 'regenVal'
- killvar 'regenArrIdx'
- gs 'stat'
- else
- msg '<b><font color="red">The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'painblock':
- if SuccessValue > 0:
- pain['killer'] = 1
- msg '<b><font color = <<$SplTxtColGood>>>Your pain recedes into a dull throb.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">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
- msg '<b><font color = <<$SplTxtColGood>>>You burst into a high fever. You feel terrible, but you know you are now healthy.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">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'
- msg '<b><font color = <<$SplTxtColGood>>>You feel yourself coursing with life. You feel better already.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'curewounds2':
- if SuccessValue > 0:
- ! Remove all pain
- killvar 'pain'
- killvar 'vgape'
- killvar 'agape'
- killvar 'spanked'
- killvar 'spankedtime'
- pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000
- msg '<b><font color = <<$SplTxtColGood>>>You feel yourself coursing with life. All pain is gone.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">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
- msg '<b><font color = <<$SplTxtColGood>>>You feel a huge adrenalin surge. You begin looking for someone to battle.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">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
- if hypnoAddict = 0:
- cumspclnt = 1
- else
- cumspclnt = 18
- end
- gs 'cum_cleanup'
- ! Remove graffiti from self
- body_write = 0
- face_write = 0
- lactation['lactmess'] = 0
- pcs_sweat = 10
- ! Brush Teeth
- pcs_breath = 1
- msg '<b><font color = <<$SplTxtColGood>>>You feel clean and refreshed.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">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', ''
- msg '<b><font color = <<$SplTxtColGood>>>You feel gorgeous. People will love you.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'alterself':
- if SuccessValue > 0:
- ! Stop Reputation accumulation.
- !TODO
- msg '<b><font color = <<$SplTxtColGood>>>Your features change. Your own mother wouldn''t recognize you.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">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-4)
- 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 the +1 to avoid ruined makeup
- pcs_makeup = MakeupArg[0] + 1
- ! 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'
- msg '<b><font color = <<$SplTxtColGood>>>Makeup is applied to your face.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'cosmetica':
- if SuccessValue > 0:
- ! Take a Shower
- if hypnoAddict = 0:
- cumspclnt = 1
- else
- cumspclnt = 18
- end
- 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
- msg '<b><font color = <<$SplTxtColGood>>>You feel beautiful.</font></b>'
- gs 'stat'
- else
- msg '<b><font color="red">The spell fizzles. Nothing seems to happen.</b>'
- end
- end
- if $ARGS[0] = 'penisenvy':
- '<center><img <<$set_imgh>> src="images/pc/magic/cast_spell.jpg"></center>'
- if SuccessValue > 0:
- ! Set the variable to use real penis
- penisEnvyVariable = 1
- ! Add Timer to remove Live Penis bonus after 30 minutes
- ! spellName = 'penisenvy'
- ! duration = 30
- ! CompCode = 'penisEnvyVariable = 0' Remove penis
- ! TickCode = '' Do nothing
- gs 'spellTimer', 'add', 'penisenvy', 30, 'penisEnvyVariable = 0', ''
- msg '<b><font color = <<$SplTxtColGood>>>You focus your energy and cast the spell Penis Envy, you see the swirl of magical energies, you know no one else can see it. Slowly the magical energies stop swirling and enter into the dildo attached to your strapon harness. You feel the strapon harness meld into your body, while you feel the dildo twitch, and then suddenly you can feel it as if you really had a dick of your own and it feels wonderful.</font></b>'
- else
- msg '<b><font color="red">You focus your energy and cast the spell Penis Envy, you see the swirl of magical energies, you know no one else can see it. Slowly the magical energies stop swirling and start to enter into the dildo attached to your strapon harness. Just as it seems it is about to work, the energies begin to crackle and fizzle, instead of fully enter the dildo the magical energies dissipate. 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)>> feel 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
- if menu_off = 0:
- msg '<b><font color = <<$SplTxtColGood>>><<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> surge with life, feeling much stronger.</font></b>'
- else
- '<b><font color = <<$SplTxtColGood>>><<dyneval($spellFunc["GetCombatantName"], $TargetType, TargetNumber)>> surge with life, feeling much stronger.</font></b>'
- end
- 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 springs 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 streak 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 streak 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 trap 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 opponent''s 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 opponent''s 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 collapse 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 collapse 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 create 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 raise 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 enemy''s 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 misses 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, striking 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 ---------------------------------
|