mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-08-18 08:18:42 +02:00
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
181 lines
18 KiB
Plaintext
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 |