darkfire006 96ffc3e85b first and biggest Pike commit!
win conditions for challenge not done, only 2/9 room types scripted and need npcs in the 3 rooms and then copied. Endless mode needs to be configured from being a copy of challenge
2025-06-29 23:12:04 -05:00

181 lines
18 KiB
Plaintext

version=2
@register.change(pike_room_count_temp,<register.value(pike_room_count_temp)>+1)
:select:<register.value(pikeroom<level.filename>)>
:when:0
@storage.set(string,pikestatuspokemon,Kirlia)
:select:<system.random(0,19)>
:when:0
@storage.set(integer,pikestatusattack,0)
:when:1
@storage.set(integer,pikestatusattack,1)
@npc.wearskin([POKEMON|N]356)
@storage.set(string,pikestatuspokemon,Dusclops)
:when:2;3
@storage.set(integer,pikestatusattack,2)
:when:4;5;6;7
@storage.set(integer,pikestatusattack,3)
:when:8;9;10;11;12
@storage.set(integer,pikestatusattack,4)
@npc.wearskin([POKEMON|N]356)
@storage.set(string,pikestatuspokemon,Dusclops)
:when:13;14;15;16;17;18;19
@storage.set(integer,pikestatusattack,5)
:endwhen
@npc.warp(1,~,0,~)
@npc.warp(2,~,0,~)
@player.move(0)
@text.show(Oh, my!)
@npc.setspeed(1,3)
@npc.move(1,1)
@npc.turn(1,3)
@npc.move(1,1)
@npc.turn(1,2)
@npc.move(1,1)
@text.show(Watch out!)
:select:<register.value(pike_class)>
:when:0
@storage.set(integer,pikestatuseattempts,1)
@storage.set(integer,pikestatusmon0,<system.random(0,2)>)
:when:1
@storage.set(integer,pikestatuseattempts,2)
:select:<system.random(0,2)>
:when:0
@storage.set(integer,pikestatusmon0,0)
@storage.set(integer,pikestatusmon1,1)
:when:1
@storage.set(integer,pikestatusmon0,0)
@storage.set(integer,pikestatusmon1,2)
:when:2
@storage.set(integer,pikestatusmon0,2)
@storage.set(integer,pikestatusmon1,1)
:endwhen
:when:2
@storage.set(integer,pikestatuseattempts,3)
@storage.set(integer,pikestatusmon0,0)
@storage.set(integer,pikestatusmon1,1)
@storage.set(integer,pikestatusmon2,2)
:endwhen
@storage.set(integer,pikestatusdone,0)
:select:<storage.get(integer,pikestatusattack)>
:when:0
@text.show(Kirlia used Will-O-Wisp!)
:while:<storage.get(integer,pikestatuseattempts)>><storage.get(integer,pikestatusdone)>
:if:<pokemon.status(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = none
:if:<pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,fire)> = false
:if:<not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 41 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 199 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 213
@pokemon.setstatus(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,brn)
:endif
:endif
:endif
@storage.update(integer,pikestatusdone,+,1)
:endwhile
:when:1
@text.show(Dusclops used Will-O-Wisp!)
:while:<storage.get(integer,pikestatuseattempts)>><storage.get(integer,pikestatusdone)>
:if:<pokemon.status(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = none
:if:<pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,fire)> = false
:if:<not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 41 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 199 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 213
@pokemon.setstatus(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,brn)
:endif
:endif
:endif
@storage.update(integer,pikestatusdone,+,1)
:endwhile
:when:2
@text.show(Kirlia used Hypnosis!)
:while:<storage.get(integer,pikestatuseattempts)>><storage.get(integer,pikestatusdone)>
:if:<pokemon.status(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = none
:if:<not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 15 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 72 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 175 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 213
@pokemon.setstatus(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,slp)
:endif
:endif
@storage.update(integer,pikestatusdone,+,1)
:endwhile
:when:3
@text.show(Kirlia used Thunder Wave!)
:while:<storage.get(integer,pikestatuseattempts)>><storage.get(integer,pikestatusdone)>
:if:<pokemon.status(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = none
:if:<pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,electric)> = false <and> <pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,ground)> = false
:if:<not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 7 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 213
@pokemon.setstatus(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,prz)
:endif
:endif
:endif
@storage.update(integer,pikestatusdone,+,1)
:endwhile
:when:4
@text.show(Dusclops used Ice Beam!)
:while:<storage.get(integer,pikestatuseattempts)>><storage.get(integer,pikestatusdone)>
:if:<pokemon.status(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = none
:if:<pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,ice)> = false
:if:<not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 40 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 213
@pokemon.setstatus(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,frz)
:endif
:endif
:endif
@storage.update(integer,pikestatusdone,+,1)
:endwhile
:when:5
@text.show(Kirlia used Toxic!)
:while:<storage.get(integer,pikestatuseattempts)>><storage.get(integer,pikestatusdone)>
:if:<pokemon.status(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = none
:if:<pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,poison)> = false <and> <pokemon.istype(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,steel)> = false
:if:<not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 17 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 257 <and> <not><pokemon.ability(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>)> = 213
@pokemon.setstatus(<storage.get(integer,pikestatusmon<storage.get(integer,pikestatusdone)>)>,bpsn)
:endif
:endif
:endif
@storage.update(integer,pikestatusdone,+,1)
:endwhile
:endwhen
@npc.move(2,1)
@npc.turn(1,0)
@text.show(Look here!~That's quite enough!)
@npc.turn(1,3)
@npc.move(1,-1)
@npc.move(2,1)
@npc.turn(2,1)
@level.wait(25)
@npc.turn(2,0)
@text.show(I must apologize to you...*My <storage.get(string,pikestatuspokemon)> has~a timid nature...*It attacks without warning~if it is startled by another~person...*Are you and your Pokémon~all right?)
:end
:when:1
#old hat man standing in front of door, heals and leaves.
:when:2
#trainer comes in direct ahead, starts battle with text, then walks back out
:when:3
#Maid approaches, full heals, and leaves
@text.show(Welcome... You must be~commended for your luck...*Your Pokémon shall be~restored to full health...~I urge you to enjoy the rest~of your Battle Choice~Challenge...)
:when:4
#warp to room, full control
:when:5
#Maid+trainer(m-left, t-center), trainer approaches, trainer leaves, maid approaches and heals fully, then leaves
:when:6
@register.change(pike_npc,<system.random(5,29)>)
@npc.wearskin(61,<register.value(pike_npc)>)
@npc.warp(61,~,0,~)
:end
:when:7
#Approach, battle, leave
:when:8
@text.show(I welcome you...)
:select:<system.random(0,2)>
:when:0
@text.show(Giggle... You seem to be bereft of luck... If only you hadn't chosen this room, your Pokémon could have been healed...)
:when:1
@text.show(Since you have chosen this room, I will restore one Pokémon to full health...)
@pokemon.heal(<system.random(0,2)>)
:when:2
@text.show(Since you have chosen this room, I will restore two Pokémon to full health...)
:select:<system.random(0,2)>
:when:0
@pokemon.heal(1,2)
:when:1
@pokemon.heal(0,2)
:when:2
@pokemon.heal(0,1)
:endwhen
:endwhen
@text.show(I shall go fetch our master...)
:endwhen
:end