battlehandler proc PVP_ability(mob/pokemon/A) switch(A.ability) if("Drizzle") rainy = -1 sunny = 0 sandstorm = 0 hail = 0 C.pack.draw_give_text(C,"A downpour started.") PVP_draw_text("A downpour started.") sleep(10) return 1 if("Drought") sunny = -1 rainy = 0 sandstorm = 0 hail = 0 C.pack.draw_give_text(C,"The sunlight got bright!") PVP_draw_text("The sunlight got bright!") sleep(10) return 1 if("Sand Stream") sandstorm = -1 rainy = 0 sunny = 0 hail = 0 C.pack.draw_give_text(C,"A sandstorm brews.") PVP_draw_text("A sandstorm brews.") sleep(10) return 1 if("Trace") if(A == P) A.ability = E.ability C.pack.draw_give_text(C,"[P.name] copied Enemy [E.name]'*ability.") PVP_draw_text("Enemy [P.name] copied [E.name]'*ability.") else A.ability = P.ability C.pack.draw_give_text(C,"Enemy [E.name] copied [P.name]'*ability.") PVP_draw_text("[E.name] copied Enemy [P.name]'*ability.")
sleep(10) return 1 if("Intimidate") if(A == P) if(E.ability == "Hyper Cutter" || E.ability == "Clear Body" || E.ability == "White Smoke")return E.strmod-- C.pack.draw_give_text(C,"Intimidate cuts Enemy [E.name]'*ATTACK!") PVP_draw_text("Intimidate cuts [E.name]'*ATTACK!") sleep(10) else if(P.ability == "Hyper Cutter" || P.ability == "Clear Body" || P.ability == "White Smoke")return P.strmod-- C.pack.draw_give_text(C,"Intimidate cuts [P.name]'*ATTACK!") PVP_draw_text("Intimidate cuts Enemy [P.name]'*ATTACK!") sleep(10)
return 1 return 0 PVP_draw_level(mob/pokemon/P) if(!pvp)return pvp.battle.draw_level(P) PVP_draw_text(text,layer) if(!pvp)return pvp.pack.draw_give_text(pvp,text,layer) PVP_draw_hp(mob/pokemon/P) if(!pvp)return pvp.battle.draw_hp(P) PVP_add_player_pic() if(!pvp)return pvp.screen += pvp.battle.ppic PVP_rem_player_pic() if(!pvp)return pvp.screen -= pvp.battle.ppic PVP_add_enemy_pic() if(!pvp)return pvp.screen += pvp.battle.epic PVP_rem_enemy_pic() if(!pvp)return pvp.screen -= pvp.battle.epic
PVP_player_turn(obj/attack/A,mob/pokemon/At,mob/pokemon/D) var/flinch var/able = 1 if(!At.recharge) able = check_able_status(At) At.bond = null if(At.lockedon)At.lockedon-- if(At.charged)At.charged-- if(!able && At.HP <= 0) return 1
if(able) if(At.recharge) At.recharge = 0 C.pack.draw_give_text(C,"[At.name] needs to recharge!") pvp.pack.draw_give_text(pvp,"Enemy [At.name] needs to recharge!") sleep(10) else if(At.encore && (lastpmove || lastemove)) A = (At==P)?(lastpmove):(lastemove) if(At==P) lastpmove = A else lastemove = A
flinch = A.effect(C,At,D)
if(At.HP <= 0 && D.HP > 0)return 1 if(At.HP <= 0 && D.HP <= 0)return 2 if(At.HP > 0 && D.HP <= 0)return 3
status_effects(At)
At.subbroken = 0
if(At.HP <= 0) return 1
else if(At.digging || At.flying) if(At==P) C.screen += C.battle.ppic pvp.screen += pvp.battle.epic else C.screen += C.battle.epic pvp.screen += pvp.battle.ppic At.digging = 0 At.flying = 0 status_effects(At)
At.subbroken = 0
if(At.HP <= 0) return 1
if(A.two_turn_timer) A.two_turn_timer = 0 if(At.recharge) At.recharge = 0 if(A.turn_counter) if((A.name in list("OUTRAGE","THRASH","PETAL DANCE")) && At.ability != "Own Tempo") if(!(At.sstatus&CONF)) A.do_effect(C,At,"conf") sleep(10) A.turn_counter = 0 A.power = A.initpow
if(first in owner.pokemon && emove.name == "FOCUS PUNCH" && !flinch && emove.flinch) C.pack.draw_give_text(C,"Enemy [E.name] flinched!") pvp.pack.draw_give_text(pvp,"[E.name] flinched!") sleep(10) C.screen -= C.pack.text_window_text flinch = 1
if(!(first in owner.pokemon) && pmove.name == "FOCUS PUNCH" && !flinch && pmove.flinch) C.pack.draw_give_text(C,"[P.name] flinched!") pvp.pack.draw_give_text(pvp,"Enemy [P.name] flinched!") sleep(10) C.screen -= C.pack.text_window_text status_effects(D) flinch = 1
if(!flinch)return 0
status_effects(D) D.subbroken = 0 if(D.HP <= 0)return 3
return 4
PVP_process_turn()
var/status if(istype(PVP_option,/obj/attack) && istype(pvp.battle.PVP_option,/obj/attack)) pmove = PVP_option emove = pvp.battle.PVP_option turn_order() if(first in owner.pokemon) status = PVP_player_turn(pmove,P,E) else status = PVP_player_turn(emove,E,P)
switch(status) if(0) if(first in owner.pokemon) status = PVP_player_turn(emove,E,P) else status = PVP_player_turn(pmove,P,E) if(1,2,3) PVP_deathcheck() spawn()PVP_damage_start() return
if(4) spawn()PVP_damage_start() return
switch(status) if(1,2,3) PVP_deathcheck() spawn()PVP_damage_start() return
if(istype(PVP_option,/mob/pokemon) && istype(pvp.battle.PVP_option,/obj/attack)) var/do_turn = 1 emove = pvp.battle.PVP_option if(emove.name == "PURSUIT") status = PVP_player_turn(emove,E,P) switch(status) if(0) do_turn = 0 if(3) PVP_deathcheck() spawn()PVP_damage_start() return var/old_pok = P reset_stats(P) P = PVP_option pvp.battle.E = PVP_option P.turn_in = turn+1 PVP_poke_switch(old_pok) PVP_spikes(P) if(P.HP <= 0) deathcheck(P) C.screen -= C.pack.text_window_text if(PVP_pokemon_active(owner)) baton_switch() while(forced)sleep(2) PVP_ability(P) spawn()PVP_damage_start() return else PVP_end()
PVP_ability(P) if(do_turn) PVP_player_turn(emove,E,P) PVP_deathcheck() spawn()PVP_damage_start() return
if(istype(PVP_option,/obj/attack) && istype(pvp.battle.PVP_option,/mob/pokemon)) var/do_turn = 1 pmove = PVP_option if(pmove.name == "PURSUIT") status = PVP_player_turn(pmove,P,E) switch(status) if(0) do_turn = 0 if(3) PVP_deathcheck() spawn()PVP_damage_start() return var/old_pok = E reset_stats(E) E = pvp.battle.PVP_option E.turn_in = turn+1 pvp.battle.P = pvp.battle.PVP_option pvp.battle.PVP_poke_switch(old_pok) PVP_spikes(E)
if(E.HP <= 0) deathcheck(E) pvp.screen -= pvp.pack.text_window_text if(PVP_pokemon_active(pvp.mob)) pvp.battle.baton_switch() while(pvp.battle.forced)sleep(2) PVP_ability(E) spawn()PVP_damage_start() return else PVP_end()
PVP_ability(E) if(do_turn) PVP_player_turn(pmove,P,E) PVP_deathcheck() spawn()PVP_damage_start() return
if(istype(PVP_option,/mob/pokemon) && istype(pvp.battle.PVP_option,/mob/pokemon)) pmove = pstrug emove = estrug var/old1 = P var/old2 = E reset_stats(P) reset_stats(E) P = PVP_option E = pvp.battle.PVP_option pvp.battle.P = E pvp.battle.E = P PVP_poke_switch(old1) pvp.battle.PVP_poke_switch(old2) PVP_spikes(E) PVP_spikes(P) if(E.HP <= 0) deathcheck(E) pvp.screen -= pvp.pack.text_window_text if(PVP_pokemon_active(pvp.mob)) pvp.battle.baton_switch() while(pvp.battle.forced)sleep(2) PVP_ability(E) spawn()PVP_damage_start() return else PVP_end()
if(P.HP <= 0) deathcheck(P) C.screen -= C.pack.text_window_text if(PVP_pokemon_active(owner)) baton_switch() while(forced)sleep(2) else PVP_end() PVP_deathcheck() spawn()PVP_damage_start() return PVP_move_check() PVP_poke_switch(mob/pokemon/Pok) C.pack.draw_give_text(C,"[Pok.name], that'*enough! Come back!") PVP_draw_text("[Pok.name], that'*enough! Come back!") sleep(10) C.pack.draw_give_text(C,"Go! [P.name]!") PVP_draw_text("Go! [P.name]!") sleep(10) draw_player_hp() draw_player_name() draw_exp_bar() draw_player_pic() draw_player_level()
pvp.battle.draw_enemy_hp() pvp.battle.draw_enemy_name() pvp.battle.draw_enemy_pic() pvp.battle.draw_enemy_level()
PVP_deathcheck() if(P.HP <= 0 && E.HP > 0) deathcheck(P) C.screen -= C.pack.text_window_text if(PVP_pokemon_active(owner)) baton_switch() while(forced)sleep(2) PVP_spikes(P) if(P.HP <= 0) deathcheck(P) C.screen -= C.pack.text_window_text if(PVP_pokemon_active(owner)) baton_switch() while(forced)sleep(2) else PVP_end() PVP_ability(P) else PVP_end()
return 1
else if(E.HP <= 0 && P.HP > 0) deathcheck(E) pvp.screen -= pvp.pack.text_window_text if(PVP_pokemon_active(pvp.mob)) pvp.battle.baton_switch() while(pvp.battle.forced)sleep(2) PVP_spikes(E) if(E.HP <= 0) deathcheck(E) pvp.screen -= pvp.pack.text_window_text if(PVP_pokemon_active(pvp.mob)) pvp.battle.baton_switch() while(pvp.battle.forced)sleep(2) else PVP_end() PVP_ability(E) else PVP_end()
return 1 else if(P.HP <= 0 && E.HP <= 0) deathcheck(P) deathcheck(E) C.screen -= C.pack.text_window_text pvp.screen -= pvp.pack.text_window_text if((!PVP_pokemon_active(owner) && PVP_pokemon_active(pvp.mob)) || (PVP_pokemon_active(owner) && !PVP_pokemon_active(pvp.mob))) PVP_end() return else if(!PVP_pokemon_active(owner) && !PVP_pokemon_active(pvp.mob)) PVP_end("draw")
baton_switch() pvp.battle.baton_switch() while(1) if(!forced && !pvp.battle.forced)break sleep(2) PVP_spikes(E) PVP_spikes(P)
if(E.HP <= 0) deathcheck(E) pvp.screen -= pvp.pack.text_window_text if(PVP_pokemon_active(pvp.mob)) pvp.battle.baton_switch() while(pvp.battle.forced)sleep(2) else PVP_end()
if(P.HP <= 0) deathcheck(P) C.screen -= C.pack.text_window_text if(PVP_pokemon_active(owner)) baton_switch() while(forced)sleep(2) else PVP_end() PVP_ability(P) PVP_ability(E) return 1 return 0 PVP_pokemon_active(var/mob/player/P) for(var/mob/pokemon/Pok in P.pokemon) if(Pok.HP > 0)return 1 return 0
PVP_spikes(mob/pokemon/A) if(A == P) if(espikes) if(P.type1 != FLYING && P.type2 != FLYING && P.ability != "Levitate") P.HP = max(P.HP - round(0.125*espikes*P.MAX_HP),0) draw_player_hp() pvp.battle.draw_enemy_hp() C.pack.draw_give_text(C,"The spikes hurt [P.name]!") pvp.pack.draw_give_text(pvp,"The spikes hurt Enemy [P.name]!") espikes = 0 sleep(10) else if(pspikes) if(E.type1 != FLYING && E.type2 != FLYING && E.ability != "Levitate") E.HP = max(E.HP - round(0.125*pspikes*E.MAX_HP),0) draw_enemy_hp() pvp.battle.draw_player_hp() C.pack.draw_give_text(C,"The spikes hurt Enemy [P.name]!") pvp.pack.draw_give_text(pvp,"The spikes hurt [P.name]!") pspikes = 0 sleep(10)
PVP_start(var/mob/player/O) O << "BATTLE" for(var/mob/pokemon/Pok in owner.pokemon) if(Pok.HP > 0 && !P) P = Pok
Pok.itype1 = Pok.type1 Pok.itype2 = Pok.type2 Pok.iability = Pok.ability if(Pok.held) Pok.istore = Pok.held.type
for(var/mob/pokemon/Pok in O.pokemon) if(Pok.HP > 0 && !E) E = Pok
Pok.itype1 = Pok.type1 Pok.itype2 = Pok.type2 Pok.iability = Pok.ability if(Pok.held) Pok.istore = Pok.held.type
O.client.battle.P = E O.client.battle.E = P
tpokemon = O.pokemon pvp = O.client O.client.battle.pvp = C var/xmax = 14 var/ymax = 9 for(var/_y=0;_y<=ymax;_y++) for(var/_x=0;_x<=xmax;_x++) backing += new/obj/bbacking(null,_x,_y,"[_x],[_y]",'battle/backingnew.dmi') C.screen += backing O.client.battle.backing = backing.Copy() O.client.screen += O.client.battle.backing C.screen -= C.pack.text_window_text draw_enemy_pic() O.client.battle.draw_enemy_pic() draw_battle_screen() O.client.battle.draw_battle_screen() P.turn_in = 1 E.turn_in = 1 sleep(10) if(P.ability == "Intimidate" && !(E.ability == "Hyper Cutter" || E.ability == "Clear Body" || E.ability == "White Smoke")) E.strmod-- C.pack.draw_give_text(C,"Enemy [E.name]'*ATTACK fell!") PVP_draw_text("[E.name]'*ATTACK fell!") sleep(10) if(E.ability == "Intimidate" && !(P.ability == "Hyper Cutter" || P.ability == "Clear Body" || P.ability == "White Smoke")) P.strmod-- C.pack.draw_give_text(C,"[P.name]'*ATTACK fell!") PVP_draw_text("Enemy [P.name]'*ATTACK fell!") sleep(10) if(P.ability == "Trace") P.ability = E.ability C.pack.draw_give_text(C,"[P.name] copied*Enemy [E.name]'") PVP_draw_text("Enemy [P.name]*copied [E.name]'") sleep(5) C.pack.draw_give_text(C,"ability.") PVP_draw_text("ability.") sleep(10) if(E.ability == "Trace") E.ability = P.ability C.pack.draw_give_text(C,"Enemy [E.name]*copied [P.name]'") PVP_draw_text("[E.name] copied*Enemy [P.name]'") sleep(5) C.pack.draw_give_text(C,"ability.") PVP_draw_text("ability.") sleep(10) if(P.ability == "Drizzle" || E.ability == "Drizzle") rainy = -1 C.pack.draw_give_text(C,"A downpour started.") PVP_draw_text("A downpour started.") sleep(10) spawn()PVP_turn_start() return if(P.ability == "Drought" || E.ability == "Drought") sunny = -1 C.pack.draw_give_text(C,"The sunlight got bright!") PVP_draw_text("The sunlight got bright!") sleep(10) spawn()PVP_turn_start() return if(P.ability == "Sand Stream" || E.ability == "Sand Stream") sandstorm = -1 C.pack.draw_give_text(C,"A sandstorm brews.") PVP_draw_text("A sandstorm brews.") sleep(10) spawn()PVP_turn_start() return spawn()PVP_turn_start()
PVP_end() C.noinput = 0 C.noscroll = 0 pvp.noinput = 0 pvp.noscroll = 0 for(var/mob/pokemon/P in (owner.pokemon+pvp.mob:pokemon)) reset_stats(P) owner.invisibility = 0 owner.density = 1 pvp.mob.invisibility = 0 pvp.mob.density = 1 C.screen.Cut() pvp.screen.Cut() del pvp.battle del src
PVP_damage_start() turn++
if(E.perish) E.perish-- C.pack.draw_give_text(C,"Enemy [E.name]'*perish count is [E.perish].") PVP_draw_text("[E.name]'*perish count is [E.perish].") sleep(10) if(!E.perish) E.HP = 0 sleep(10)
if(P.perish) P.perish-- C.pack.draw_give_text(C,"[P.name]'*perish count is [P.perish].") PVP_draw_text("Enemy [P.name]'*perish count is [P.perish].") sleep(10) if(!P.perish) P.HP = 0 sleep(10)
PVP_deathcheck()
if(efsight) efsight-- if(!efsight) C.pack.draw_give_text(C,"FUTURE SIGHT hit!") PVP_draw_text("FUTURE SIGHT hit!") if(prob(90) && !P.digging && !P.flying) var/obj/attack/A = new A.power = 80 var/smodhold = efsightpow.satkmod efsightpow.satkmod = 0 var/dmg = damage(A,efsightpow,P,1,1,0,SATK) do_damage(E,P,dmg,SING,SATK,0,1) efsightpow.satkmod = smodhold del A draw_hp(P) PVP_draw_hp(P) efsightpow = null sleep(10) else C.pack.draw_give_text(C,"But it failed!") PVP_draw_text("But it failed!") sleep(10) if(efsight == 7) efsight = 0 C.pack.draw_give_text(C,"DOOM DESIRE hit!") PVP_draw_text("DOOM DESIRE hit!") if(prob(90) && !P.digging && !P.flying) var/obj/attack/A = new A.power = 150 var/modhold = efsightpow.strmod efsightpow.strmod = 0 var/dmg = damage(A,efsightpow,P,1,1,0,ATK) do_damage(E,P,dmg,SING,ATK,0,1) efsightpow.strmod = modhold del A draw_hp(P) PVP_draw_hp(P) efsightpow = null sleep(10) else C.pack.draw_give_text(C,"But it failed!") PVP_draw_text("But it failed!") sleep(10)
if(pfsight) pfsight-- if(!pfsight) C.pack.draw_give_text(C,"FUTURE SIGHT hit!") PVP_draw_text("FUTURE SIGHT hit!") if(prob(90) && !E.digging && !E.flying) var/obj/attack/A = new A.power = 80 var/smodhold = pfsightpow.satkmod pfsightpow.satkmod = 0 var/dmg = damage(A,pfsightpow,E,1,1,0,SATK) do_damage(P,E,dmg,SING,SATK,0,1) pfsightpow.satkmod = smodhold del A draw_hp(E) PVP_draw_hp(E) pfsightpow = null sleep(10) else C.pack.draw_give_text(C,"But it failed!") PVP_draw_text("But it failed!") sleep(10) if(pfsight == 7) pfsight = 0 C.pack.draw_give_text(C,"DOOM DESIRE hit!") PVP_draw_text("DOOM DESIRE hit!") if(prob(85) && !E.digging && !E.flying) var/obj/attack/A = new A.power = 150 var/modhold = pfsightpow.strmod pfsightpow.strmod = 0 var/dmg = damage(A,pfsightpow,E,1,1,0,ATK) do_damage(P,E,dmg,SING,ATK,0,1) pfsightpow.strmod = modhold del A draw_hp(E) PVP_draw_hp(E) pfsightpow = null sleep(10) else C.pack.draw_give_text(C,"But it failed!") PVP_draw_text("But it failed!") sleep(10)
PVP_deathcheck()
if(sandstorm) sandstorm-- if(!sandstorm) C.pack.draw_give_text(C,"The sandstorm*subsided.") PVP_draw_text("The sandstorm*subsided.") sleep(10)
else C.pack.draw_give_text(C,"The sandstorm*raged!") PVP_draw_text("The sandstorm*raged!") sleep(10)
if(E.type1 != ROCK && E.type1 != GROUND && E.type1 != STEEL && E.type2 != ROCK && E.type2 != GROUND && E.type2 != STEEL && E.ability != "Cloud Nine" && E.ability != "Sand Veil" && E.ability != "Air Lock") var/dmg = max(round(1/16*E.MAX_HP),1) E.HP = max(E.HP - dmg,0) draw_hp(E) PVP_draw_hp(E) C.pack.draw_give_text(C,"The SANDSTORM hit*Enemy [E.name]!") PVP_draw_text("The SANDSTORM hit*[E.name]!") sleep(10) if(P.type1 != ROCK && P.type1 != GROUND && P.type1 != STEEL && P.type2 != ROCK && P.type2 != GROUND && P.type2 != STEEL && P.ability != "Cloud Nine" && P.ability != "Sand Veil" && P.ability != "Air Lock") var/dmg = max(round(1/16*P.MAX_HP),1) P.HP = max(P.HP - dmg,0) draw_hp(P) PVP_draw_hp(P) C.pack.draw_give_text(C,"The SANDSTORM hit*[P.name]!") PVP_draw_text("The SANDSTORM hit*Enemy [P.name]!") sleep(10)
if(hail) hail-- if(!hail) C.pack.draw_give_text(C,"The hail stopped*failing.") PVP_draw_text("The hail stopped*failing.") if(E.pname == "CASTFORM") E.type1 = NORMAL draw_enemy_pic() if(pvp)pvp.battle.draw_player_pic()
if(P.pname == "CASTFORM") P.type1 = NORMAL if(pvp)pvp.battle.draw_enemy_pic() draw_player_pic()
sleep(10) else C.pack.draw_give_text(C,"Hail continues*to fall!") PVP_draw_text("Hail continues*to fall!") if(E.pname == "CASTFORM" && E.type1 != ICE) E.type1 = ICE draw_enemy_pic() if(pvp)pvp.battle.draw_player_pic() sleep(10) C.pack.draw_give_text(C,"Enemy [E.name]'*type is now ICE!") PVP_draw_text("[E.name]'*type is now ICE!")
if(P.pname == "CASTFORM" && E.type1 != ICE) P.type1 = ICE if(pvp)pvp.battle.draw_enemy_pic() draw_player_pic() sleep(10) C.pack.draw_give_text(C,"[P.name]'*type is now ICE!") PVP_draw_text("Enemy [P.name]'*type is now ICE!") sleep(10)
if(E.type1 != ICE && E.type2 != ICE && E.ability != "Cloud Nine" && E.ability != "Air Lock") var/dmg = max(round(1/16*E.MAX_HP),1) E.HP = max(E.HP - dmg,0) draw_hp(E) PVP_draw_hp(E) C.pack.draw_give_text(C,"Hail hits*Enemy [E.name]!") PVP_draw_text("Hail hits*[E.name]!") sleep(10) if(P.type1 != ICE && P.type2 != ICE && E.ability != "Cloud Nine" && E.ability != "Air Lock") var/dmg = max(round(1/16*P.MAX_HP),1) P.HP = max(P.HP - dmg,0) draw_hp(P) PVP_draw_hp(P) C.pack.draw_give_text(C,"Hail hits*[P.name]!") PVP_draw_text("Hail hits*Enemy [P.name]!") sleep(10)
PVP_deathcheck()
if(sunny) sunny-- if(!sunny) C.pack.draw_give_text(C,"The sunlight*faded.") PVP_draw_text("The sunlight*faded.") if(E.pname == "CASTFORM") E.type1 = NORMAL draw_enemy_pic() if(pvp)pvp.battle.draw_player_pic()
if(P.pname == "CASTFORM") P.type1 = NORMAL if(pvp)pvp.battle.draw_enemy_pic() draw_player_pic() else C.pack.draw_give_text(C,"The sunlight is*strong.") PVP_draw_text("The sunlight is*strong.") if(E.pname == "CASTFORM" && E.type1 != FIRE) E.type1 = FIRE draw_enemy_pic() if(pvp)pvp.battle.draw_player_pic() sleep(10) C.pack.draw_give_text(C,"Enemy [E.name]'*type is now FIRE!") PVP_draw_text("[E.name]'*type is now FIRE!")
if(P.pname == "CASTFORM" && P.type1 != FIRE) P.type1 = FIRE if(pvp)pvp.battle.draw_enemy_pic() draw_player_pic() sleep(10) C.pack.draw_give_text(C,"[P.name]'*type is now FIRE!") PVP_draw_text("Enemy [P.name]'*type is now FIRE!")
if(P.status&FROZE) if(prob(9.8)) P.status = 0 draw_level(P) PVP_draw_level(P) sleep(10) C.pack.draw_give_text(C,"The sun thawed*[P.name]!") PVP_draw_text("The sun thawed*Enemy [P.name]!")
if(E.status&FROZE) if(prob(9.8)) E.status = 0 draw_level(E) PVP_draw_level(E) sleep(10) C.pack.draw_give_text(C,"The sun thawed*Enemy [E.name]!") PVP_draw_text("The sun thawed*[E.name]!")
sleep(10)
if(rainy) rainy-- if(!rainy) C.pack.draw_give_text(C,"The rain stopped.") PVP_draw_text("The rain stopped.") if(E.pname == "CASTFORM") E.type1 = NORMAL draw_enemy_pic() if(pvp)pvp.battle.draw_player_pic()
if(P.pname == "CASTFORM") P.type1 = NORMAL if(pvp)pvp.battle.draw_enemy_pic() draw_player_pic() else C.pack.draw_give_text(C,"Rain continues*to fall.") PVP_draw_text("Rain continues*to fall.") if(E.pname == "CASTFORM" && E.type1 != WATER) E.type1 = WATER draw_enemy_pic() if(pvp)pvp.battle.draw_player_pic() sleep(10) C.pack.draw_give_text(C,"Enemy [E.name]'*type is now WATER!") PVP_draw_text("[E.name]'*type is now WATER!")
if(P.pname == "CASTFORM" && P.type1 != WATER) P.type1 = WATER if(pvp)pvp.battle.draw_enemy_pic() draw_player_pic() sleep(10) C.pack.draw_give_text(C,"[P.name]'*type is now WATER!") PVP_draw_text("Enemy [P.name]'*type is now WATER!")
if(P.ability == "Rain Dish") P.HP = min(P.HP+round(1/16*P.MAX_HP),P.MAX_HP) draw_hp(P) PVP_draw_hp(P) sleep(10) C.pack.draw_give_text(C,"Rain Dish healed*[P.name]!") PVP_draw_text("Rain Dish healed*Enemy [P.name]!") if(E.ability == "Rain Dish") E.HP = min(E.HP+round(1/16*E.MAX_HP),E.MAX_HP) draw_hp(E) PVP_draw_hp(E) sleep(10) C.pack.draw_give_text(C,"Rain Dish healed*Enemy [E.name]!") PVP_draw_text("Rain Dish healed*[E.name]!")
sleep(10)
C.screen -= C.pack.text_window_text if(pvp)pvp.screen -= pvp.pack.text_window_text for(var/obj/attack/A in E.moves) if(A.disabled) A.disabled-- if(!A.disabled) spawn() C.pack.draw_give_text(C,"Enemy [E.name]'*[A.name]'") sleep(5) C.pack.draw_give_text(C,"no longer*disabled!") sleep(10) PVP_draw_text("[E.name]'*[A.name]'") sleep(5) PVP_draw_text("no longer*disabled!") sleep(10) break
for(var/obj/attack/A in P.moves) if(A.disabled) A.disabled-- if(!A.disabled) spawn() C.pack.draw_give_text(C,"[P.name]'*[A.name]'") sleep(5) C.pack.draw_give_text(C,"no longer*disabled!") sleep(10) PVP_draw_text("Enemy [P.name]'*[A.name]'") sleep(5) PVP_draw_text("no longer*disabled!") sleep(10) break if(ereflect) ereflect-- if(!ereflect) C.pack.draw_give_text(C,"Enemy [E.name]'*REFLECT faded.") PVP_draw_text("[E.name]'*REFLECT faded.") sleep(10) if(preflect) preflect-- if(!preflect) C.pack.draw_give_text(C,"[P.name]'*REFLECT faded.") PVP_draw_text("Enemy [P.name]'*REFLECT faded.") sleep(10) if(elscreen) elscreen-- if(!elscreen) C.pack.draw_give_text(C,"Enemy [E.name]'*L.SCREEN faded.") PVP_draw_text("[E.name]'*L.SCREEN faded.") sleep(10) if(plscreen) plscreen-- if(!plscreen) C.pack.draw_give_text(C,"[P.name]'*L.SCREEN faded.") PVP_draw_text("Enemy [P.name]'*L.SCREEN faded.") sleep(10) if(psafe) psafe-- if(!psafe) C.pack.draw_give_text(C,"[P.name]'*SAFEGUARD faded.") PVP_draw_text("Enemy [P.name]'*SAFEGUARD faded.") sleep(10)
if(esafe) esafe-- if(!esafe) C.pack.draw_give_text(C,"Enemy [E.name]'*SAFEGUARD faded.") PVP_draw_text("[E.name]'*SAFEGUARD faded.") if(P.taunting) P.taunting-- if(P.taunting) C.pack.draw_give_text(C,"[P.name] is*taunting!") PVP_draw_text("Enemy [P.name]*is taunting!") else C.pack.draw_give_text(C,"[P.name]*stopped taunting.") PVP_draw_text("Enemy [P.name]*stopped taunting.") sleep(10) if(E.taunting) E.taunting-- if(E.taunting) C.pack.draw_give_text(C,"Enemy [E.name]*is taunting!") PVP_draw_text("[E.name]*is taunting!") else C.pack.draw_give_text(C,"Enemy [E.name]*stopped taunting.") PVP_draw_text("[E.name]*stopped taunting.") sleep(10)
if(P.encore) P.encore-- if(!P.encore) C.pack.draw_give_text(C,"[P.name]'*encore ended.") PVP_draw_text("Enemy [P.name]'s*encore ended.") sleep(10) if(E.encore) E.encore-- if(!E.encore) C.pack.draw_give_text(C,"Enemy [E.name]'*encore ended.") PVP_draw_text("[E.name]'*encore ended.") sleep(10)
if(pvp)spawn()PVP_turn_start()
PVP_turn_end()
PVP_turn_start() E.endure = 0 P.endure = 0 P.detected = 0 E.detected = 0 if(P.ability == "Speed Boost" && P.aglmod != 6) P.aglmod++ C.pack.draw_give_text(C,"[P.name]'*SPEED rose!") PVP_draw_text("Enemy [P.name]'*SPEED rose!") if(E.ability == "Speed Boost" && E.aglmod != 6) E.aglmod++ C.pack.draw_give_text(C,"Enemy [E.name]'*SPEED rose!") PVP_draw_text("[E.name]'*SPEED rose!")
if(P.ability == "Shed Skin" && P.status&31) if(prob(30)) P.status = 0 C.pack.draw_give_text("Shed Skin healed*[P.name]!") PVP_draw_text("Shed Skin healed*Enemy [P.name]!") draw_level(P) PVP_draw_level(P) if(E.ability == "Shed Skin" && E.status&31) if(prob(30)) E.status = 0 C.pack.draw_give_text("Shed Skin healed*Enemy [E.name]!") PVP_draw_text("Shed Skin healed*[E.name]!") draw_level(E) PVP_draw_level(E) if(P.ingrain) P.HP = min(P.HP+round(1/16*P.MAX_HP),P.MAX_HP) draw_hp(P) PVP_draw_hp(P) sleep(10) C.pack.draw_give_text(C,"Ingrain healed*[P.name]!") pvp.pack.draw_give_text(pvp,"Ingrain healed*Enemy [P.name]!") sleep(10) if(E.ingrain) E.HP = min(E.HP+round(1/16*E.MAX_HP),E.MAX_HP) draw_hp(E) PVP_draw_hp(E) sleep(10) C.pack.draw_give_text(C,"Ingrain healed*Enemy [E.name]!") pvp.pack.draw_give_text(pvp,"Ingrain healed*[E.name]!") sleep(10) if(ewish) ewish-- if(!ewish) C.pack.draw_give_text(C,"Enemy [E.name]*got its wish!") pvp.pack.draw_give_text(pvp,"[E.name]*got its wish!") E.HP = min(E.HP + round(0.5*E.MAX_HP),E.MAX_HP) draw_hp(E) pvp.battle.draw_hp(E) sleep(10) if(pwish) pwish-- if(!pwish) C.pack.draw_give_text(C,"[P.name]*got its wish!") pvp.pack.draw_give_text(pvp,"Enemy [P.name]*got its wish!") P.HP = min(P.HP + round(0.5*P.MAX_HP),P.MAX_HP) draw_hp(P) pvp.battle.draw_hp(P) sleep(10)
if(P.yawn) P.yawn-- if(!P.yawn) if(!(E.status&31) && E.ability != "Insomnia" && E.ability != "Vital Spirit") E.status = SLEEP E.slpcount = rand(2,5) draw_level(E) pvp.battle.draw_level(E) C.pack.draw_give_text(C,"Enemy [E.name]*fell asleep!") pvp.pack.draw_give_text("[E.name]*fell asleep!") sleep(10)
if(E.yawn) E.yawn-- if(!E.yawn) if(!(P.status&31) && P.ability != "Insomnia" && P.ability != "Vital Spirit") P.status = SLEEP P.slpcount = rand(2,5) draw_level(P) pvp.battle.draw_level(P) C.pack.draw_give_text(C,"[P.name]*fell asleep!") pvp.pack.draw_give_text("Enemy [P.name]*fell asleep!") sleep(10)
if(P.biding) P.biding-- if(!P.biding) pmove.unbide = 1
if(E.biding) E.biding-- if(!E.biding) emove.unbide = 1
sleep(10)
C.screen -= C.pack.text_window_text pvp.screen -= pvp.pack.text_window_text PVP_option = null pvp.battle.PVP_option = null
if(!pmove && !emove) C.noscroll = 0 C.noinput = 0 first = null C.screen -= C.pack.text_window C.pack.text_window.Cut() add_options() ocurs = new(null,8,3,17,-17) C.screen += ocurs
pvp.noscroll = 0 pvp.noinput = 0 pvp.screen -= pvp.pack.text_window pvp.pack.text_window.Cut() pvp.battle.add_options() pvp.battle.ocurs = new(null,8,3,17,-17) pvp.screen += pvp.battle.ocurs
else if(pmove.two_turn_timer) PVP_option = pmove
else if(pmove.turn_counter && (pmove.name in list("UPROAR","ICE BALL","ROLLOUT","OUTRAGE","THRASH","PETAL DANCE")))
PVP_option = pmove else if((P.biding || pmove.unbide))
PVP_option = pmove
else if(P.recharge)
PVP_option = pmove else C.noscroll = 0 C.noinput = 0 first = null
C.screen -= C.pack.text_window C.pack.text_window.Cut() add_options() ocurs = new(null,8,3,17,-17) C.screen += ocurs
if(emove.two_turn_timer) pvp.battle.PVP_option = emove
else if(emove.turn_counter && (emove.name in list("UPROAR","ICE BALL","ROLLOUT","OUTRAGE","THRASH","PETAL DANCE")))
pvp.battle.PVP_option = emove else if((E.biding || emove.unbide))
pvp.battle.PVP_option = emove
else if(E.recharge)
pvp.battle.PVP_option = emove else pvp.noscroll = 0 pvp.noinput = 0
pvp.screen -= pvp.pack.text_window pvp.pack.text_window.Cut() pvp.battle.add_options() pvp.battle.ocurs = new(null,8,3,17,-17) pvp.screen += pvp.battle.ocurs while(1) if(PVP_option && pvp.battle.PVP_option)break sleep(2) spawn()PVP_process_turn()
|
Incidentally, there's a bug when I look at that code in Firefox 2.0.0.1 on Windows - the DM window goes all distorted at the end and doesn't display the code there, rather, it repeats previous code. It's probably an FF problem rather then a website problem, though.