# HamsterSpeak Plotscript for Wandering Hamster -- 2000 James Paige #--------------------------------------------------------------------------- include, plotscr.hsd #language definition include, wander.hsi #game-specific include #--------------------------------------------------------------------------- define script (1,introduction,none) define script (2,broaste returns,none) define script (3,fluffy-mu,none) define script (4,shell game,none) define script (5,pick a shell,2,0,0) define script (6,hide and seek,none) define script (7,reset hide and seek,none) define script (8,Panic and Run Around,none) define script (9,Show James House,none) define script (10,Sleep at the Inn,none) define script (11,die in battle,none) define script (12,broaste lackeys block castle,none) define script (13,flanat castle area autorun,none) define script (autonumber,plot boulder mover,none) define script (14,broaste castle inn,none) define script (15,ixnekolan inn,none) define script (16,Cactus Sighting in Flanat,none) define script (17,Cactus Sighting on Mountain,none) define script (18,World Map Autorun,none) define script (19,Dismount ship,none) define script (20,Dismount baloon,none) define script (21,Myrmidon Suit,none) define script (22,Mount Myrmidon,none) define script (23,Dismount Myrmidon,none) define script (24,Broaste Castle Autorun,none) define script (25,Broaste Castle Blocked Door,none) define script (26,Attack Broaste Ghost,none) define script (autonumber,Attack Broaste Ghost sans Teddy,none) define script (autonumber,Attack Broaste Ghost with Teddy,none) define script (27,null death script,none) define script (28,tweak bridges,1,0) define script (29,stealgrueber'slunch,none) define script (30,scaredbymyrmidon,none) define script (31,castlebreakwall,none) define script (32,dustyleaves,none) define script (33,fadeandrest,none) define script (34,dustysequipment,none) define script (35,broastecastleexterior,none) define script (36,fightarchguardians,none) define script (37,mountship,none) define script (38,worldmapafterbattle,none) define script (39,Cyclic James Saying,none) define script (40,Cats Enlist Bob,none) define script (41,Rathmara Burn Log,none) define script (42,Gallopeg Autorun,none) define script (43,Jormungand Encounter,none) define script (44,Rathmara Finds Rope,none) define script (45,encounter snakespleen,none) define script (46,dustyleavesangry,none) define script (autonumber,Spin NPC,3,0,2,1) #--------------------------------------------------------------------------- #global variable(0,SPAM icons) global variable(1,shell game variable) global variable( 2,ship X 3,ship Y 4,baloon X 5,baloon Y 6,myrmidon X 7,myrmidon Y 8,myrmidon text ) global variable(9,under bridge) global variable(10,James Saying) # variables after 100 used for temporary fake-array global variable(100,array) #--------------------------------------------------------------------------- script, introduction, begin suspend npcs suspend player suspend box advance lock hero (hero:Bob the Hamster) variable(x,y) x:=hero X(leader) y:=hero Y(leader) # go to panning cutscene map teleport to map (map:Panning Cutscene Map,0,0) # new-game fade-in cannot be supressed, so wipe out the palette tweak palette(-63,-63,-63) # start the intro music wait(1) play song (song:Title Theme) # wait for the musical flourish wait(22) reset palette # Flanat Panorama load tileset (9) put camera (0,0) show text box (382) wait(6) fade screen in pan camera (east,7,1) wait for camera fade screen out advance text box # Bob vs Various Foes load tileset (10) put camera (0,10*20) show text box (383) wait(6) fade screen in wait(6) pan camera (east,9,2) wait for camera fade screen out advance text box # James with Bubbles load tileset (11) put camera (1*20,20*20) show text box (384) wait(6) fade screen in pan camera (east,7,2) wait for camera fade screen out advance text box # Penguin Pirate Ship load tileset (12) put camera (0,30*20) show text box (385) wait(6) fade screen in pan camera (east,5,1) wait for camera fade screen out advance text box # Skeppio and Rathmara load tileset (13) put camera (25*20,7*20) show text box (386) wait(6) fade screen in pan camera (north,7,1) wait for camera fade screen out advance text box # Hot Air Balloon load tileset (14) put camera (25*20,17*20) show text box (387) wait(6) fade screen in pan camera (south,15,2) wait for camera fade screen out advance text box # Ramparts load tileset (15) put camera (6*20,42*20) show text box (388) wait(6) fade screen in pan camera (west,6,1) wait for camera fade screen out advance text box # wait for music wait(20) # darken screen tweak palette(-60,-60,-60) # lighten text color tweak palette(60,60,60,15,15) teleport to map(map:Flanat Castle Area,0,0) put camera(17*20,72*20) play song (Song:Broaste's Madness) # create Broaste and troops # Broaste write global(array+0,create NPC(14,24,67,north)) # Myrmadons write global(array+1,create NPC(16,23,67,north)) write global(array+2,create NPC(16,24,66,north)) write global(array+3,create NPC(16,25,67,north)) # Troops variable(loop) for(loop,0,2) do(write global(array+4+loop,create NPC(15,23,64+loop,north))) for(loop,0,2) do(write global(array+7+loop,create NPC(15,24,63+loop,north))) for(loop,0,2) do(write global(array+10+loop,create NPC(15,25,64+loop,north))) # make them march slowly alter NPC(14,NPCstat:movespeed,1) alter NPC(15,NPCstat:movespeed,1) alter NPC(16,NPCstat:movespeed,1) # slowly pan up pan camera (north,4,1) wait(1) # gradual fade in for(loop,-31,0) do( reset palette tweak palette(loop*2,loop*2,loop*2) update palette wait(2) ) pan camera (north,16,2) wait(1) # prevent NPCs from bumping each other suspend obstruction # Move entire army north for(loop,0,12) do( walk NPC (read global(array+loop),north,10) ) wait for camera pan camera (north,4,2) # gradual fade out for(loop,0,-31,-1) do( reset palette tweak palette(loop*2,loop*2,loop*2) update palette wait(2) ) fade screen out reset palette # Broast confronts Hasim show text box (157) wait (1) fade screen in wait for key (use key) fade screen out (0,0,0) advance text box show text box (158) wait (1) fade screen in wait for key (use key) fade screen out (0,0,0) advance text box show text box (159) wait (1) fade screen in wait for key (use key) fade screen out (0,0,0) advance text box # Cut to Bob show text box (160) wait (1) play song (song:overworld music) fade screen in wait for key (use key) show text box (161) wait for key (use key) fade screen out (63,63,63) advance text box wait (1) camera follows hero teleport to map (5,x,y) fade screen in resume npcs resume player resume box advance resume obstruction set tag(tag:intro finished, ON) end #--------------------------------------------------------------------------- #NPC 16 is Lord Hasim #NPC 29 is Lord Broaste script, Broaste Returns, begin suspend player suspend NPCs suspend random enemys show text box (83) wait for text box set NPC direction (16,south) walk hero (me,north,3) wait for hero (me) show text box (62) wait for text box wait (20) play song (Song:Broaste's Madness) set hero direction (me,south) wait (8) set hero direction (1,south) wait (8) set hero direction (2,south) wait (8) set tag(tag:Broaste is Back, ON) show text box (64) wait for text box walk hero (me, south, 3) wait for hero (me) show text box (199) wait for text box focus camera (NPC x(29), NPC y(29), 5) wait for camera camera follows NPC (29) walk NPC (29,north,3) wait for NPC (29) show text box (65) wait for text box add hero (hero:Lord Hasim) set tag(tag:Beat Broaste 2, ON) set tag(tag:Broaste is Back, OFF) fight formation (41) camera follows hero (me) play song (song:Triumphant Music) show text box (91) wait for text box walk hero (me,south,3) wait for hero (me) delete hero (hero:Lord Hasim) use door (97) resume player resume NPCs resume random enemys end #--------------------------------------------------------------------------- script, Fluffy-Mu, begin if (check tag(tag:joined cat's quest)) then( if (check tag(tag:betrayed by cats)) then( if (check tag(tag:fluffy sense sarcasm)) then( # sense sarcasm show text box(316) )else( # Fluffy philosophise, Bob argue show text box(311) wait for text box() set tag(tag:fluffy sense sarcasm,ON) ) )else( if (check tag(tag:fluffy predict Gisli)) then( # rathmara: dont bother him show text box(310) )else( # Skeppio and Rathmara nervous, Fluffy-mu predicts Gisli show text box(303) wait for text box() set tag(tag:fluffy predict Gisli,ON) ) ) )else( #tell first fortune show text box(190) ) wait for text box() end #--------------------------------------------------------------------------- # this script and the next one work together to make a simple mini-game # where you pay 10$ and then try to guess which of five clam shells # contains the 50$ pearl. It is dependent on NPCs already placed on the map script, shell game, begin # this variable is a loop counter if (checktag(tag:playing shell game)) then,begin # already playing show text box (213) end else,begin # want to play? show text box (209) wait for text box if (checktag(tag:shell game choice)) then,begin if (pay money (10)) then,begin variable (i,j) # loop counters suspend player suspend obstruction suspend NPC walls # reset shells just in case for (i,0,4) do( set NPC direction(NPC reference(1,i),north) ) # create a temporary pearl NPC variable(pearl) pearl:=create NPC(2,8,5) # make sure the speed is right set NPC speed(pearl,10) # make all heros watch the pearl for (i,0,3) do( set hero direction(i,north) ) # move the pearl over the shells walk NPC(pearl,north,3) walk NPC(pearl,west,3) wait for NPC(pearl) # open all the shells for (j,0,3) do,begin for (i,0,4) do( set NPC direction (NPC reference(1,i),j) ) wait (2) ) # randomize which direction you go first variable(X1, X2) if(random(false,true)) then(X1:=1,X2:=9) else(X1:=9,X2:=1) # make the pearl dance back and forth walk NPC to X(pearl,X1) wait for NPC(pearl) walk NPC to X(pearl,X2) wait for NPC(pearl) # double speed! set NPC speed(pearl,20) # make the pearl dance back and forth more for (i,0,random(0,1)) do( walk NPC to X(pearl,X1) wait for NPC(pearl) walk NPC to X(pearl,X2) wait for NPC(pearl) ) # quad speed! (does this work?) set NPC speed(pearl,40) # dance once more walk NPC to X(pearl,X1) wait for NPC(pearl) walk NPC to X(pearl,X2) wait for NPC(pearl) # pick a random shell shell game variable:=random(1,5) # get a reference to the chosen shell variable(chosen shell) chosen shell:=NPC reference(1,shell game variable--1) # choose an X position near the shell variable(near shell) near shell:=NPC X(chosen shell)+(random(-1,1)*2) if (near shell>>9) then(near shell:=9) if (near shell<<1) then(near shell:=1) # move the pearl near the chosen shell walk NPC to X(pearl,near shell) wait for NPC(pearl) # make pearl dissapear destroy NPC(pearl) # snap shells shut for (j,3,0,-1) do,begin for (i,0,4) do( set NPC direction (NPC reference(1,i),j) ) wait (1) ) set tag (tag:playing shell game,on) resume player resume obstruction resume NPC walls end else,begin # sorry not enough money show text box (208) end end end end # NPCs automatically pass a reference to themselves as the second # script argument script, pick a shell, arg, my shell, begin variable (i) if (check tag(tag:playing shell game)) then( variable (pearl) suspend player suspend obstruction suspend NPC walls for (i,0,3) do,begin set NPC direction (my shell,i) wait (2) end variable (correct shell) correct shell:=NPC reference(1,shell game variable--1) if (my shell == correct shell) then,begin # congratulations! show text box (210) pearl:=create NPC(2,NPC X(my shell),NPC Y(my shell)) end else,begin # sorry, you guessed wrong show text box (211) for (i,0,3) do,begin set NPC direction (correct shell,i) wait (1) end pearl:=create NPC(2,NPC X(correct shell),NPC Y(correct shell)) end set NPC speed (pearl,4) walk NPC(pearl,north,1) wait for NPC(pearl) set NPC speed (pearl,10) if (my shell == correct shell) then( walk NPC(pearl,south,2) )else( for (i,3,0,-1) do,begin set NPC direction (correct shell,i) wait (1) end walk NPC to X(pearl,8) walk NPC to Y(pearl,5) ) wait for NPC(pearl) destroy NPC (pearl) wait for text box for (i,3,0,-1) do,begin set NPC direction (my shell,i) wait (2) end resume player resume obstruction resume NPC walls set tag (tag:playing shell game,off) shell game variable:=zero end else,begin # pay before you play! show text box (212) end end #--------------------------------------------------------------------------- script, Hide and Seek, begin variable (i) # Want to play hide and Seek? show text box (201) wait for text box if (check tag(tag:hide n seek)) then, begin show text box (204) wait for text box alter NPC (14,NPCstat:Script,none) set tag (tag:hide n seek, OFF) for (i,30,0,-1) do,begin # make sure you didnt go thru a door if (current map == 0) then, begin wait (9) show value (i) end else, begin show no value end end #for show no value # make sure you didnt go thru a door if (current map == 0) then, begin # ready or not, here I come! show text box (202) wait for text box alter NPC (14,NPCstat:MoveType,NPCmovetype:ChaseYou) alter NPC (14,NPCstat:Script,7) alter NPC (14,NPCstat:activation,NPCactivation:touch) end #then end #then end #script script,Reset Hide and Seek, begin alter NPC (14,NPCstat:MoveType,NPCmovetype:standstill) alter NPC (14,NPCstat:Script,6) alter NPC (14,NPCstat:activation,NPCactivation:use) show text box (203) end #--------------------------------------------------------------------------- script,Panic and Run Around,begin suspend player reset palette greyscale palette tweak palette(15,-10,-10) fade screen in set hero direction (me,west) walk hero (me,north,1) walk hero (me,west,1) wait for hero set hero direction (me,north) walk hero (me,north,1) wait for hero walk hero (me,north,1) walk hero (me,east,1) wait for hero set hero direction (me,east) walk hero (me,east,1) wait for hero walk hero (me,south,1) walk hero (me,east,1) wait for hero set hero direction (me,south) walk hero (me,south,1) wait for hero walk hero (me,south,1) walk hero (me,west,1) wait for hero set hero direction (me,west) walk hero (me,west,1) wait for hero reset palette fade screen in resume player end #--------------------------------------------------------------------------- script, Show James House, begin suspend player focus camera (41,23,5) wait (20) show text box (206) wait for camera wait for text box focus camera (hero X(me), hero Y(me) -- 3, 10) wait for camera camera follows hero (me) resume player end #--------------------------------------------------------------------------- script, Sleep at the Inn, begin suspend player focus camera (hero x(me),+,1,hero y(me) -- 2,2) walk hero (me,east,2) wait for hero (me) walk hero (me,north,2) wait for hero (me) walk hero (me,west,3) wait for hero (me) suspend obstruction suspend caterpillar walk hero (me,north,1) walk hero (1,west,1) walk hero (2,north,1) walk hero (3,west,1) wait for hero (me) walk hero (me,west,1) walk hero (1,north,1) walk hero (2,east,1) walk hero (3,north,1) wait for hero (me) set hero direction (me,south) walk hero (1,east,1) set hero direction (2,south) set hero direction (3,west) wait for hero (1) set hero direction (1,south) if (room in active party == 0) then,begin set hero direction (3,west) wait (8) set hero direction (3,east) wait (8) set hero direction (3,west) wait (8) set hero direction (3,east) wait (12) set hero speed (2,10) walk hero (2,east,2) set hero direction (2,north) wait for hero (2) set hero speed (2,4) walk hero (3,east,1) wait for hero (3) set hero direction (3,south) wait (15) set hero direction (2,west) end play song (song:Sleeping Music) fade screen out (0,0,20) wait (15) if (room in active party == 0) then,begin set hero speed (2,20) set hero speed (3,20) walk hero (3,east,1) wait for hero (3) walk hero (2,west,2) wait for hero (2) set hero direction (2,south) set hero direction (3,north) set hero speed (2,4) set hero speed (3,4) wait (1) end fade screen in play song (song:Cheerful Town Music) wait (5) focus camera (hero x(me), hero y(me),10) wait for camera camera follows hero (me) walk hero (me,east,1) wait for hero (me) walk hero (me,south,1) walk hero (1,west,1) walk hero (2,west,1) wait for hero (me) walk hero (me,east,1) walk hero (1,south,1) set hero direction (2,south) wait for hero (me) walk hero (me,east,2) walk hero (1,east,2) wait for hero (me) walk hero (me,south,1) walk hero (1,east,1) walk hero (2,south,1) wait for hero (me) walk hero (me,south,2) walk hero (1,south,2) walk hero (2,east,1) wait for hero (2) walk hero (2,south,1) if (room in active party == 0) then,begin set hero direction (3,south) wait (5) set hero direction (3,west) wait (5) set hero direction (3,north) wait (5) set hero direction (3,east) wait (5) set hero direction (3,south) wait (5) set hero speed (3,10) walk hero (3,south,1) wait for hero (3) walk hero (3,west,1) wait for hero (3) set hero speed (3,4) end resume caterpillar resume obstruction resume player end #--------------------------------------------------------------------------- script,die in battle,begin suspend player play song (song:Game Over) show backdrop (19) wait for key (anykey) fade screen out (20,0,0) game over end #--------------------------------------------------------------------------- script, Broaste Lackeys Block Castle,begin suspend player suspend obstruction pan camera (north,3,4) walk NPC (0,south,1) wait for NPC (0) walk NPC (0,south,1) walk NPC (6,south,1) wait for NPC (0) walk NPC (0,south,1) walk NPC (6,south,1) walk NPC (7,south,1) wait for NPC (0) walk NPC (6,west,1) walk NPC (7,south,1) wait for NPC (6) walk NPC (7,east,1) wait for NPC (7) wait (5) pan camera (south,3,4) wait for camera camera follows hero (me) show text box (5) wait for text box resume obstruction resume player end #--------------------------------------------------------------------------- script,Flanat Castle Area Autorun,begin if (check tag(tag:intro finished)) then( if (check tag(tag:spoke to guards)) then,begin set NPC position (0,24,55) set NPC position (6,23,54) set NPC position (7,25,54) set NPC direction (6,west) set NPC direction (7,east) end if(check tag(tag:saw plotrock mover)==OFF,and,hero Y(me)>>40) # the reason we check the hero's Y value is so that this # script will only be triggered if we enter the map from the normal # entrance in the south, and not via the warp-outhouse in the north then,begin Plot Boulder Mover end end end #--------------------------------------------------------------------------- script, Plot Boulder Mover, begin variable(Mover,Rock) Mover:=NPC reference(13) Rock:=NPC at spot(38,91) set NPC position(Mover,42,95) set NPC position(Rock,41,95) set NPC direction(Mover,west) set NPC direction(Rock,west) set NPC speed (Rock,2) suspend player suspend obstruction walk hero (me,west,1) set NPC speed (Mover,5) walk NPC (Mover,south,1) wait for NPC (Mover) walk NPC (Mover,west,1) wait for NPC (Mover) set NPC speed (Mover,2) walk NPC (Mover,north,1) wait (1) walk NPC (Rock,north,1) wait for NPC (Rock) set NPC speed (Mover,5) walk NPC (Mover,east,1) wait for NPC (Mover) walk NPC (Mover,north,1) wait for NPC (Mover) set NPC speed (Mover,2) walk NPC (Mover,west,2) wait (1) walk NPC (Rock,west,2) wait for NPC (Rock) set NPC speed (Mover,5) walk NPC (Mover,south,1) wait for NPC (Mover) walk NPC (Mover,west,1) wait for NPC (Mover) set NPC speed (Mover,2) walk NPC (Mover,north,3) wait (1) walk NPC (Rock,north,3) wait for NPC (Rock) set NPC speed (Mover,5) walk NPC (Mover,east,1) wait for NPC (Mover) walk NPC (Mover,north,1) wait for NPC (Mover) set NPC speed (Mover,2) walk NPC (Mover,west,1) wait (1) walk NPC (Rock,west,1) wait for NPC (Rock) set NPC direction(Mover,south) resume player resume obstruction set tag(tag:saw plotrock mover,ON) end #--------------------------------------------------------------------------- script,Broaste Castle Inn,begin suspend player walk hero to X (me,55) wait for hero (me) walk hero to Y (me,42) wait for hero (me) walk hero (me,left,2) wait for hero (me) walk hero (me,up,2) wait for hero (me) walk hero (me,right,4) wait for hero (me) variable (i) for (i,0,9) do,begin set hero direction (random(0,3),random(0,3)) wait (random(2,8)) end play song (song:Sleeping Music) fade screen out (0,0,20) wait (15) fade screen in play song (song:Royal March) wait (5) for (i,0,3) do,begin set hero direction (i,south) end walk hero (me,right,1) wait for hero (me) walk hero (me,down,2) wait for hero (me) walk hero (me,left,3) wait for hero (me) walk hero (me,down,3) wait for hero (me) resume player end #--------------------------------------------------------------------------- script,Ixnekolan Inn,begin variable (i) suspend player walk hero to X (me,32) wait for hero (me) show text box (217) suspend caterpillar for (i,0,3) do,begin set hero direction (i,west) end resume caterpillar wait for text box wait (8) set hero speed (me,2) walk hero (me,west,1) wait for hero (me) set hero speed (me,4) walk hero to Y (me,4) wait for hero (me) walk hero (me,north,2) wait for hero (me) walk hero (me,east,3) wait for hero (me) suspend caterpillar walk hero (me,north,1) walk hero (me,east,1) walk hero (1,north,1) walk hero (2,north,1) walk hero (2,west,1) walk hero (3,west,1) wait for hero (me) for (i,0,3) do,begin set hero direction (i,east) end play song (song:Sleeping Music) fade screen out (0,0,20) wait (15) fade screen in play song (song:Ruins Theme) wait (5) resume caterpillar resume player end #--------------------------------------------------------------------------- script,Cactus sighting in Flanat,begin variable (cactus) cactus:=NPC reference(10) set NPC position (cactus,19,26) walk NPC (cactus,east,3) wait for NPC (cactus) walk NPC (cactus,west,4) wait for NPC (cactus) set NPC speed (cactus,10) walk NPC to X (cactus,10) wait for NPC (cactus) walk NPC to Y (cactus,21) wait for NPC (cactus) walk NPC to X (cactus,0) wait for NPC (cactus) set NPC position (cactus,0,0) set tag (tag:flanat cactus,ON) end #--------------------------------------------------------------------------- script,Cactus Sighting on Mountain,begin variable (i) suspend player suspend random enemys suspend NPCs suspend NPC walls for (i,0,3) do (set hero direction (i,north)) Pan Camera (north,6,2) show text box (228) wait for all advance text box walk NPC (17,up,2) walk NPC (17,left,2) wait for NPC (17) walk hero (me,north,5) walk NPC (17,left,1) wait for NPC (17) set NPC direction (17,right) wait (2) set NPC speed (17,10) walk NPC (17,up,1) walk NPC (17,left,1) wait for NPC for (i,0,3) do (set hero direction (i,left)) walk NPC (17,left,1) wait for NPC walk NPC (17,south,1) walk NPC (17,left,1) wait for NPC focus camera(heroX(me),heroY(me),2) walk NPC (17,south,5) spin NPC (17,2,5) wait for NPC set tag (tag:Troll Mtn Cactus,ON) camera follows hero (me) resume player resume random enemys resume NPCs resume NPC walls end #--------------------------------------------------------------------------- script,Spin NPC,who,speed,turns,begin variable(i) for (i,1,turns) do,begin set NPC direction (who,(i,mod,4)) wait (speed) end end #--------------------------------------------------------------------------- script,World Map Autorun,begin if (check tag(tag:vehicle loc flag)) then( set tag(tag:vehicle loc flag,OFF) #set NPC position(2,ship X,ship Y) #set NPC position(3,baloon X,baloon Y) )else( set tag(tag:vehicle loc flag,ON) ship X:=NPC X(2) ship Y:=NPC Y(2) baloon X:=NPC X(3) baloon Y:=NPC Y(3) ) tweak bridges end #--------------------------------------------------------------------------- script,Dismount Ship,begin ship X:=NPC X(2) ship Y:=NPC Y(2) play song(song:overworld music) end #--------------------------------------------------------------------------- script,Mount Ship,begin play song(song:vehicle riding) end #--------------------------------------------------------------------------- script,Dismount Baloon,begin baloon X:=NPC X(3) baloon Y:=NPC Y(3) end #--------------------------------------------------------------------------- script,Myrmidon Suit,begin increment(myrmidon text) if (myrmidon text>>2) then (myrmidon text:=0) show text box (225+myrmidon text) wait for text box if (check tag(tag:Dismount Myrmidon)) then (dismount vehicle) set tag(tag:Dismount Myrmidon,OFF) end #--------------------------------------------------------------------------- script,Mount Myrmidon,begin myrmidon text := 0 if (check tag(tag:used myrmidon suit)==OFF) then,begin show text box(249) wait for text box set tag(tag:used myrmidon suit,ON) end alter NPC (4,NPCstat:picture,36) end #--------------------------------------------------------------------------- script,Dismount Myrmidon,begin alter NPC (4,NPCstat:picture,19) Myrmidon X:=NPC X(4) Myrmidon Y:=NPC Y(4) end #--------------------------------------------------------------------------- script,Broaste Castle Autorun,begin if (check tag(tag:myrmidon suit)) then,begin alter NPC (4,NPCstat:picture,36) end if (check tag(tag:myrmidon loc flag)) then,begin set NPC position(4,myrmidon X,myrmidon Y) end else,begin set tag(tag:myrmidon loc flag,ON) myrmidon X:=NPC X(4) myrmidon Y:=NPC Y(4) end if (check tag(tag:Beat Broaste Ghost)) then,begin suspend random enemys end end #--------------------------------------------------------------------------- script,Broaste Castle Blocked Door,begin variable (i) suspend player suspend NPCs suspend obstruction suspend random enemys suspend caterpillar if (check tag(tag:Myrmidon Suit)) then,begin set tag (tag:myrm block guard,ON) walk NPC (6,south,2) wait for NPC (6) walk hero (me,south,1) set hero direction (me,north) wait for hero (me) show text box (232) wait for text box set NPC direction (6,west) wait (2) walk NPC (6,north,2) end else,begin walk NPC (6,south,2) wait for NPC (6) for (i,0,3) do ( set hero speed (i,10) walk hero (i,south,1) ) walk hero (0,east,1) walk hero (1,west,1) walk hero (2,east,1) walk hero (3,west,1) for (i,0,3) do ( set hero direction (i,north) ) walk NPC (6,south,2) wait for NPC (6) walk NPC (6,north,3) wait for NPC (6) set NPC direction (6,east) wait (2) set NPC direction (6,south) show text box (231) wait for text box set NPC direction (6,west) wait (2) walk NPC (6,north,1) for (i,0,3) do (set hero speed (i,4)) end resume player resume NPCs resume obstruction resume random enemys resume caterpillar end #--------------------------------------------------------------------------- script,Attack Broaste Ghost,begin if (check tag(tag:have teddy bear)) then (Attack Broaste Ghost with Teddy) else (Attack Broaste Ghost sans Teddy) end #--------------------------------------------------------------------------- script,Attack Broaste Ghost sans Teddy,begin variable (i) set tag (tag:Broaste Ghost Script,ON) set tag (tag:Saw Broaste Ghost,ON) suspend player suspend NPCs set NPC position (0,7,0) stop song show text box (220) wait for text box walk hero to X (me,7) walk hero (me,north,1) wait for hero (me) walk hero (me,north,2) wait for hero (me) play song (song:Broaste's Madness) pan camera (north,2,4) wait for camera fade screen out (0,0,20) suspend NPC walls set NPC speed (0,20) walk NPC (0,south,2) wait for NPC (0) set NPC speed (0,5) fade screen in set NPC direction (0,north) for (i,0,7) do (set NPC frame (0,(i,mod,2)),wait (2)) set NPC speed (0,2) walk NPC (0,south,1) show text box (221) wait (2) if (check tag (tag:myrmidon suit)) then ( dismount vehicle walk hero (1,south,1) set hero direction (1,north) set NPC speed (4,5) walk NPC (4,west,2) walk NPC (4,south,2) spin NPC (4,1,8) wait for NPC (4) set NPC speed (4,0) set NPC position (4,28,4) Myrmidon X:=28 Myrmidon Y:=4 ) wait for text box set NPC speed (0,10) walk NPC (0,south,3) walk NPC (0,west,3) wait for NPC (0) walk NPC (0,east,3) wait for NPC (0) set NPC direction (0,north) set death script (27) fight formation (83) camera follows hero (me) Set NPC position (0,7,4) set NPC direction (0,south) wait (3) show text box (223) wait for text box walk NPC (0,north,4) set NPC direction (0,south) show text box (224) wait for text box set hero speed (me,5) walk hero (me,south,6) wait for hero (me) set hero speed (me,4) walk hero (me,south,1) wait for hero (me) set death script (11) resume NPC walls resume player resume NPCs set tag (tag:Broaste Ghost Script,OFF) end #--------------------------------------------------------------------------- script,Attack Broaste Ghost with Teddy,begin variable(remember weapon,Bob,James,Broaste,i,j) Broaste:=NPC reference(0) set tag (tag:Broaste Ghost Script,ON) suspend player suspend NPCs suspend NPC walls suspend obstruction set NPC position (Broaste,7,0) set NPC direction (Broaste,south) dismount vehicle walk hero to X (me,7) walk hero (me,north,4) wait for hero suspend caterpillar play song (song:Broaste's Madness) set NPC speed (Broaste,5) walk NPC (Broaste,south,2) pan camera (north,1,2) wait for NPC show text box (259) set NPC speed (Broaste,1) walk NPC (Broaste,south,1) wait for text box wait for NPC (Broaste) show text box (260) wait for text box show text box (261) Set NPC speed (Broaste,5) walk NPC (Broaste,north,1) wait for NPC (Broaste) set NPC direction (Broaste,west) wait for text box show text box (262) for(i,0,8) do,begin for(j,1,3,2) do,begin set NPC direction (Broaste,j) wait (2) end end wait for text box set NPC speed (Broaste, 4) walk NPC (Broaste, south ,1) walk NPC (Broaste, east ,1) wait for NPC (Broaste) suspend box advance show text Box (263) walk NPC (Broaste, south ,2) walk NPC (Broaste, west ,2) wait for NPC (Broaste) walk hero (0,south,1) set hero direction (0,north) walk hero (1,east,1) set hero direction (1,north) walk NPC (Broaste, south ,1) walk NPC (Broaste, east ,1) wait for NPC (Broaste) wait for hero (0) resume box advance wait for text box show text box (264) wait for text box Bob:=find hero(hero:Bob the Hamster) remember weapon:=check equipment(Bob,slot:weapon) if (remember weapon<>item:teddy) then,begin show text box (266) wait for text box end force equip (Bob,slot:weapon,item:teddy) set NPC position (Broaste,0,0) fight formation(78) unequip (Bob,slot:weapon) delete item (item:teddy) if (remember weapon<>item:teddy) then, begin force equip (Bob,slot:weapon,remember weapon) end play song (song:Triumphant Music) Bob:=rank in caterpillar(hero:Bob the Hamster) James:=rank in caterpillar(hero:James) pan camera (north,1,2) set hero speed (James,2) walk hero to X (James,7) walk hero (James,north,1) wait for hero (James) wait for camera camera follows hero (James) set hero speed (James,5) walk hero (James,north,3) wait for hero (James) show text box (267) set hero direction (James,west) wait (1) set hero direction (James,south) wait for text box show text box (268) focus camera(hero X(James),hero Y(James),10) wait for camera set hero speed (James, 10) suspend hero walls for(i,0,6) do,begin walk hero (James,north,1) set hero direction (James,south) wait for hero (James) walk hero (James,south,1) wait for hero (James) wait (2) end resume hero walls wait for text box show text box (269) set hero speed (Bob,2) walk hero (Bob, north,2) wait for text box wait for hero (Bob) wait (8) show text box (271) for (i,0,1) do,begin set hero direction (James,east) wait (2) set hero direction (James,south) wait (2) set hero direction (James,west) wait (2) set hero direction (James,south) wait (2) end wait for text box set hero speed (James,4) walk hero (James,south,1) wait for hero (James) set hero direction (James,west) wait (1) set hero direction (James,north) show text box (274) wait for text box show text box (275) wait for camera wait for text box set hero speed (Bob,4) walk hero (Bob, south, 3) wait for hero (Bob) fade screen out (0,0,0) play song (song:Sleeping Music) set hero position (Bob,57,40) set hero direction (Bob,west) swap out hero (hero:James) lock hero (hero:James) set tag (tag:James took Castle,ON) James Saying := 0 set tag (tag:Beat Broaste Ghost,ON) camera follows hero (me) resume caterpillar wait (20) stop song fade screen in play song (song:Royal March) resume player resume NPCs resume NPC walls resume obstruction set tag (tag:Broaste Ghost Script,OFF) end #--------------------------------------------------------------------------- script,null death script,begin variable (i) for (i,0,3) do (set hero stat (i,stat:hp,1)) end #--------------------------------------------------------------------------- script, tweak bridges, flag, begin if (flag==1) then (under bridge:=true) if (flag==2) then (under bridge:=false) if (under bridge) then(write pass block (144,7,northwall+southwall+overhead tile) ) else(write pass block (144,7,eastwall+westwall) ) end #--------------------------------------------------------------------------- script, steal Grueber's lunch, begin suspend player if (check tag(tag:stole lunch)) then( show text box (237) wait for text box ) else( if (check tag (tag:steal lunch)) else( show text box (235) wait for text box ) if (check tag (tag:steal lunch)) then( set hero direction (me,east) wait (2) set hero direction (me,south) wait (2) set hero direction (me,west) wait (3) set hero direction (me,south) wait (2) set hero direction (me,east) wait (2) set hero direction (me,north) wait (1) if (((NPC Y(8)>>75) and (NPC direction(8)<>north)) or ((NPC X(8)>>14)and(NPC direction(8)<>west))) then( suspend caterpillar suspend hero walls suspend obstruction set hero speed (me,5) walk hero (me,north,1) wait for hero (me) walk hero (me,south,1) set hero direction(me,north) wait for hero (me) set hero speed (me,4) resume obstruction resume hero walls resume caterpillar show text box (239) get item(item:carrot,3) wait for text box set tag(tag:stole lunch,ON) ) else( show text box (238) wait for text box set tag(tag:steal lunch,OFF) ) ) else( show text box (236) wait for text box ) ) resume player end #--------------------------------------------------------------------------- script,scared by myrmidon,begin suspend player walk hero (me,north,3) wait for hero(me) show text box(247) wait for text box set hero speed(me,5) walk hero (me,south,4) wait for hero(me) set hero speed (me,4) walk hero (me,south,1) wait for hero(me) suspend caterpillar walk hero(1,south,1) wait for hero(1) walk hero(1,west,1) set hero direction(me,west) wait for hero(1) set hero direction(1,south) wait(1) set hero direction(1,east) wait(5) set hero direction(0,north) set hero direction(1,north) wait(5) set hero direction(0,west) set hero direction(1,east) wait(2) show text box(248) wait for text box resume caterpillar walk hero(me,north,1) wait for hero(me) resume player end #--------------------------------------------------------------------------- script,castle break wall,begin write map block(70,26,57) write pass block(70,26,west wall+east wall) set NPC position(17,69,26) set tag(tag:broke castle wall,ON) end #--------------------------------------------------------------------------- script,Dusty Leaves,begin suspend player suspend obstruction suspend caterpillar show text box(135) wait for text box set tag(tag:took Dusty Home,ON) variable(dusty) dusty:=rank in caterpillar(hero:dusty) walk hero to Y (dusty,11) wait for hero (dusty) walk hero to X (dusty,12) wait for hero (dusty) walk hero to Y (dusty,10) wait for hero (dusty) swap out hero (hero:dusty) lock hero(hero:dusty) resume caterpillar resume obstruction resume player end #--------------------------------------------------------------------------- script,Dusty Leaves Angry,begin suspend player suspend obstruction suspend caterpillar variable(dusty) dusty:=rank in caterpillar(hero:dusty) walk NPC to X (dusty,14) wait for hero (dusty) walk hero to Y (dusty,14) wait for hero (dusty) walk hero to X (dusty,12) wait for hero (dusty) set hero direction(rank in caterpillar(hero:Bob the Hamster),west) set hero direction(rank in caterpillar(hero:James),west) show text box(182) wait for text box set tag(tag:Dusty left Angry,ON) swap out hero (hero:dusty) lock hero(hero:dusty) resume caterpillar resume obstruction resume player end #--------------------------------------------------------------------------- script,fade and rest,begin fade screen out (0,0,20) wait (15) fade screen in wait (5) end #--------------------------------------------------------------------------- script,Dustys Equipment,begin suspend NPCs variable(Dusty,slot,box) dusty:=find hero(hero:Dusty) box:=139 for(slot,2,5) do,begin if (check equipment(dusty,slot)>=0) then,begin unequip(Dusty,slot) box:=258 end end show text box(box) wait for text box resume NPCs end #--------------------------------------------------------------------------- script,Broaste Castle Exterior,begin resume random enemys if (check tag(tag:James took castle)) then,begin play song (song:Royal March) end, else, begin play song (song: Outside castle) end end #--------------------------------------------------------------------------- script,Fight Arch Guardians,begin variable(guard1,guard2,suit,loop) guard1:=NPC reference(24) guard2:=NPC reference(25) suit:=NPC reference(4) suspend player suspend NPCs suspend random enemys suspend obstruction suspend caterpillar walk hero(me,north,1) wait for hero(me) show text box (278) play song (song:castle battle) set NPC position(guard1,93,12) set NPC position(guard2,93,11) walk NPC (guard1,south,5) walk NPC (guard2,south,6) wait for NPC (guard1) walk NPC (guard1,south,1) walk NPC (guard1,east,1) wait for NPC (guard1) set NPC direction (guard1,south) walk NPC (guard2,south,1) walk NPC (guard2,west,1) wait for NPC (guard2) set NPC direction (guard2,south) wait for text box walk hero(me,north,1) wait for hero(me) set NPC speed(guard1,10) set NPC speed(guard2,10) walk NPC (guard1,south,1) walk NPC (guard2,south,1) walk NPC (guard1,west,1) walk NPC (guard2,east,1) wait for NPC (guard1) set NPC speed (guard1,4) set NPC speed (guard2,4) walk NPC (guard1,north,1) walk NPC (guard2,north,1) walk NPC (guard1,east,1) walk NPC (guard2,west,1) set NPC direction (guard1,south) set NPC direction (guard2,south) dismount vehicle if (hero Y(0)==hero Y(1)) then,begin walk hero(1,south,1) set hero direction (1,north) end set NPC speed (suit,10) walk NPC (suit,south,3) for(loop,0,5) do,begin set NPC direction (suit,(loop,mod,4)) wait(1) end set NPC position (suit,0,0) Myrmidon X:=0 Myrmidon Y:=0 fight formation (84) set tag(tag:beat arch guardians,ON) resume player resume NPCs resume random enemys resume obstruction resume caterpillar end #--------------------------------------------------------------------------- script,World Map Afterbattle,begin if (check tag(tag:Riding the Ship)) then,begin play song(song:vehicle riding) end end #--------------------------------------------------------------------------- script,Cyclic James Saying,begin show text box(283+James Saying) wait for text Box increment(James Saying,1) if (James Saying >> 3 ,or, James Saying << 0) then(James Saying:=0) end #--------------------------------------------------------------------------- script,Cats Enlist Bob,begin variable(Bob,skeppio,rathmara,guard) Bob:=me skeppio:=NPC reference(27) rathmara:=NPC reference(28) guard:=NPC reference(22) suspend player suspend NPCs suspend obstruction suspend NPC walls stop song set NPC speed(guard,5) walk NPC to X(guard,5) walk NPC to Y(guard,5) pan camera(south,1,4) wait for camera play song(song: Ruins Theme) set NPC position(skeppio,hero X(me),14) set NPC position(rathmara,hero X(me),15) walk NPC (skeppio,north,4) walk NPC (rathmara,north,4) wait for NPC (skeppio) resume NPC walls show text box(287) # stand aside camera follows NPC(skeppio) set hero speed(Bob,10) walk hero to X(Bob,9) set hero direction(Bob,west) walk NPC(skeppio,north,1) walk NPC(rathmara,north,1) walk NPC(guard,north,1) wait for NPC(skeppio) set NPC direction(guard,south) walk NPC(skeppio,north,3) walk NPC(rathmara,north,3) wait for NPC(skeppio) set hero speed(Bob,4) pan camera (north,2,4) walk NPC to X(skeppio,6) walk NPC to X(rathmara,7) walk NPC (rathmara,north,1) wait for NPC(skeppio) set NPC direction (skeppio,north) wait for NPC(rathmara) set NPC direction (rathmara,north) wait for text Box show text box(288) #James says Broaste is gone walk hero(Bob,north,5) wait for hero (Bob) set hero direction (Bob,west) wait (2) set hero direction (Bob,south) wait for text box wait (5) set NPC direction(skeppio,east) set NPC direction(rathmara,west) wait (3) set NPC direction(skeppio,north) set NPC direction(rathmara,north) wait (3) set NPC direction(skeppio,east) set NPC direction(rathmara,west) show text box(289) #whisper wait for text box set NPC direction(skeppio,north) set NPC direction(rathmara,north) show text box(290) #cats introduce themselves wait for text box show text box(291) #James has no army wait for text box walk NPC (rathmara,east,1) walk NPC (rathmara,north,1) wait for NPC(rathmara) show text box(292) #Rathmara asks Bob for help set hero speed(Bob,10) walk hero (Bob, north,1) walk hero (Bob, west,1) set hero direction(Bob,south) wait for hero(Bob) walk hero (Bob,south,1) wait for hero(Bob) set hero speed(Bob,4) wait for text box show text box(293)# prompt for pay wait for text box if (check tag(tag: asked for 300)) then,begin show text box(294)# offers 300 wait for text box show text box(295)# prompt for more pay wait for text box get money (300) if (check tag(tag: asked for 500)) then,begin show text box(296)# offers 500 wait(3) set NPC direction(rathmara,east) wait(3) set NPC direction(rathmara,north) wait for text box get money (200) end end show text box(297) # accept wait for text box fade screen out(0,0,0) camera follows hero(me) add hero(hero:skeppio) add hero(hero:rathmara) set tag(tag:Joined Cat's Quest,ON) teleport to map(map:Broaste's Courtyard,16,13) walk hero(me,south,2) fade screen in show text box(298) wait for text box resume player resume NPCs resume obstruction end #--------------------------------------------------------------------------- script, Rathmara Burn Log, begin variable(Bob, Skeppio, Rathmara) variable(loop) suspend player suspend caterpillar suspend NPCs suspend NPC walls suspend random enemys suspend obstruction if(check tag(tag:Rathmara in party)) then( set tag(tag:Burned Gallopeg Log,ON) Bob:=rank in caterpillar(hero:Bob the Hamster) Skeppio:=rank in caterpillar(hero:Skeppio) Rathmara:=rank in caterpillar(hero:Rathmara) show text box(328) focus camera(73,39,5) wait for text box wait for camera set hero speed(Rathmara,2) walk hero to X(Bob,72) walk hero to Y(Bob,35) walk hero to X(Skeppio,73) walk hero to Y(Skeppio,35) walk hero to X(Rathmara,73) walk hero to Y(Rathmara,39) set hero speed (Bob,5) set hero speed (Skeppio,5) wait for hero(Bob) wait for hero(Skeppio) set hero speed (Bob,4) set hero speed (Skeppio,4) set hero direction (Bob, west) set hero direction (Skeppio, east) wait(2) set hero direction (Bob, south) set hero direction (Skeppio, south) wait for hero(Rathmara) set hero speed(Rathmara,4) wait(2) set hero direction (Rathmara,West) wait(2) set hero direction (Rathmara,South) wait(2) set hero direction (Rathmara,West) wait(1) walk hero(Rathmara,north,2) wait for hero(Rathmara) set hero direction (Rathmara,West) wait(1) set hero direction (Rathmara,South) wait(1) # Rathmara twitch for(loop,0,7) do( set hero frame (Rathmara,(loop,mod,2)) wait(1) ) set hero direction (Rathmara,West) wait(1) walk hero(Rathmara,north,1) wait for hero(Rathmara) set hero direction (Rathmara,West) wait(1) set hero direction (Rathmara,South) # Rathmara twitch more for(loop,0,13) do( set hero frame (Rathmara,(loop,mod,2)) wait(1) ) # flame variables variable(flame1,flame2,flame3,flame4) # set flame speed set NPC speed (2,5) # big flame flame1:=create NPC(2,hero X(rathmara),hero Y(rathmara)+1,0) walk NPC (flame1,south,3) set NPC direction(flame1,0) wait(3) # medium flame flame2:=create NPC(2,hero X(rathmara),hero Y(rathmara)+1,1) walk NPC (flame2,south,2) set NPC direction(flame2,1) wait(3) # smallish flame flame3:=create NPC(2,hero X(rathmara),hero Y(rathmara)+1,2) walk NPC (flame3,south,1) set NPC direction(flame3,2) wait(3) # itty-bitty flame flame4:=create NPC(2,hero X(rathmara),hero Y(rathmara)+1,3) # must manually animate the last flame, as it walketh not for(loop,0,2) do( set NPC frame(flame4,(loop,mod,2)) wait(1) ) # make flames faster set NPC speed(2,10) walk NPC (flame2,south,1) set NPC direction(flame2,1) walk NPC (flame3,south,2) set NPC direction(flame3,2) walk NPC (flame4,south,3) set NPC direction(flame4,3) # manually animate all four flames, cause its easyer that way for(loop,0,11) do( set NPC frame(flame1,(loop,mod,2)) set NPC frame(flame2,(loop,mod,2)) set NPC frame(flame3,(loop,mod,2)) set NPC frame(flame4,(loop,mod,2)) wait(1) ) # burn the log write map block(72,40,82) # burned spot left write map block(73,40,83) # burned spot right write map block(71,40,160) # burning half left write map block(74,40,161) # burning half right # make each flame fly away in a different direction walk NPC to X(flame1,NPC X(flame1)--2) walk NPC to Y(flame1,NPC Y(flame1)--2) walk NPC to X(flame2,NPC X(flame2)+2) walk NPC to Y(flame2,NPC Y(flame2)--2) walk NPC to X(flame3,NPC X(flame3)--2) walk NPC to Y(flame3,NPC Y(flame3)+2) walk NPC to X(flame4,NPC X(flame4)+2) walk NPC to Y(flame4,NPC Y(flame4)+2) # make all three flames medium set NPC direction(flame1,1) set NPC direction(flame2,1) set NPC direction(flame3,1) set NPC direction(flame4,1) wait(1) # make all three flames smallish set NPC direction(flame1,2) set NPC direction(flame2,2) set NPC direction(flame3,2) set NPC direction(flame4,2) wait(1) # make all three flames ittybitty set NPC direction(flame1,3) set NPC direction(flame2,3) set NPC direction(flame3,3) set NPC direction(flame4,3) wait for NPC (flame1) destroy NPC(flame1) destroy NPC(flame2) destroy NPC(flame3) destroy NPC(flame4) focus camera(hero X(me),hero Y(me),5) set hero direction(Skeppio,West) wait for camera camera follows hero(me) ) else( show text box(326) ) resume player resume caterpillar resume NPCs resume NPC walls resume random enemys resume obstruction end #--------------------------------------------------------------------------- script, Gallopeg Autorun, begin # also run as an afterbattle script if(check tag(tag:Rathmara in party)) then( Alter NPC (1,NPC Stat:Activation,NPC Activation:Touch) ) if(check tag(tag:Burned Gallopeg Log)) then( write map block(72,40,82) # burned spot left write map block(73,40,83) # burned spot right write map block(71,40,98) # burned half left write map block(74,40,99) # burned half right ) end #--------------------------------------------------------------------------- script, Jormungand Encounter, begin variable (Bob,Skeppio,Rathmara) Bob:=rank in caterpillar (hero:Bob the Hamster) Skeppio:=rank in caterpillar (hero:Skeppio) Rathmara:=rank in caterpillar (hero:Rathmara) suspend player suspend NPCs suspend caterpillar suspend hero walls suspend npc walls suspend random enemys # pan down focus camera (23,11) walk hero to X(Bob,23) wait for hero (Bob) walk hero to Y (Bob,10) set hero speed (Skeppio,2) set hero speed (Rathmara,2) walk hero to X(Skeppio,23) walk hero to Y(Skeppio,7) walk hero to X(Rathmara,24) walk hero to Y(Rathmara,7) Wait for hero (Skeppio) set hero direction (Skeppio,south) wait for hero (Rathmara) set hero direction (Rathmara,south) play song(song: Ruins Theme) wait for hero (Bob) wait (1) set hero direction (Bob,west) wait (1) set hero direction (Bob,north) wait (5) show text box (329) # Bob: Um.. What are you guys waiting for? wait for text box # Full-screen image? set hero speed (Skeppio,4) set hero speed (Rathmara,4) walk hero (Rathmara, south, 1) walk hero (Rathmara, east, 1) wait for hero (Rathmara) set hero direction (Rathmara,south) show text box (331) # Rathmara: Sorry we have to do this to you Bob. wait for text box set hero speed (Skeppio,10) set hero speed (Rathmara,10) walk hero to Y (Skeppio,10) walk hero to Y (Rathmara,10) walk hero to X (Rathmara,23) wait for hero (Skeppio) wait for hero (Rathmara) show text box (330) # Bob: Ouch! Hey! What are you doing!? suspend box advance set hero speed (Bob,10) walk hero (Bob,south,1) set hero direction (Bob,north) walk hero (Skeppio,south,1) walk hero (Rathmara,south,1) wait for hero (Bob) # Change Bob's picture # must use "find hero: here instead of the value from "rank in caterpillar" set hero picture(find hero(hero:Bob the Hamster),48) set hero direction (Bob,north) set hero frame (Bob,0) set hero speed (Bob,4) set hero speed (Skeppio,4) set hero speed (Rathmara,4) # Full screen of Bob being tied-up resume box advance wait for text box walk hero (Skeppio,north,1) set hero direction (Skeppio,south) walk hero (Rathmara,east,1) set hero direction (Rathmara,west) show text box (332) # Skeppio: Try not to take this personally, it is just business. wait for text box wait(15) show text box (333) # Bob: What are you going to do to me? wait for text box # remove rope from inventory delete item(item:rope) wait(3) walk hero (Skeppio, east, 2) wait (1) walk hero (Rathmara, east, 1) wait for hero (Rathmara) set hero direction (Rathmara,south) wait (1) set hero direction (Rathmara,west) wait for hero (Skeppio) set hero direction (Skeppio,south) wait (1) set hero direction (Skeppio,west) show text box (334) # Rathmara: Lets just say... # Skeppio: You are bait. # Bob: Bait!? You monsters! Bait for WHAT!? wait for text box wait (5) show text box (337) # Rathmara: Better for you not to know. # Skeppio: Heh, heh, heh... wait for text box variable (Jorm) # reused for each segment # Nose Jorm:=create NPC(4,15,11,west) walk NPC (Jorm,east,6) set NPC direction(Jorm,west) # eye Jorm:=create NPC(4,14,11,south) walk NPC (Jorm,east,6) set NPC direction(Jorm,south) # back of head Jorm:=create NPC(4,13,11,east) walk NPC (Jorm,east,6) set NPC direction(Jorm,east) # coil Jorm:=create NPC(4,11,11,north) walk NPC (Jorm,east,6) set NPC direction(Jorm,north) # coil Jorm:=create NPC(4,10,11,east) walk NPC (Jorm,east,6) set NPC direction(Jorm,east) wait (10) show text box (339) # Bob: AAAAAAAAAA! wait (40) advance text box wait for NPC (Jorm) # waiting for the last segment swap out hero (hero:Bob the Hamster) swap by position (find hero(hero:Skeppio),0) # force Skeppio into first slot swap by position (find hero(hero:Rathmara),1) # force Rathmara into second slot # because party-order just changed, re-get the variables Skeppio:=rank in caterpillar (hero:Skeppio) Rathmara:=rank in caterpillar (hero:Rathmara) set hero speed (Skeppio,4) set hero speed (Rathmara,4) fade screen out # we fade out and set positions before the battle # to avoid that little "jump" in their positions # after the battle set hero position (Skeppio,26,10) set hero position (Rathmara,26,11) set hero direction (Skeppio,west) set hero direction (Rathmara,west) set death script (27) # cannot die in this battle! # fight the boss! fight formation (92) set death script (11) # normal death script show text box (340) # Skeppio: Its no good [...] # Rathmara: What a waste [...] wait for text box set NPC speed (4,5) # make all Jorm segments faster # nose Jorm:=NPC at spot (21,11) walk NPC (Jorm,east,1) set NPC direction(Jorm,west) # eye Jorm:=NPC at spot (20,11) walk NPC (Jorm,east,1) set NPC direction(Jorm,south) # back of head Jorm:=NPC at spot (19,11) walk NPC (Jorm,east,1) set NPC direction(Jorm,east) wait(2) walk hero (Skeppio,east,1) set hero direction (Skeppio, west) walk hero (Rathmara,east,1) set hero direction (Rathmara, west) wait for hero(Rathmara) wait for NPC (Jorm) show text box (342) # Rathmara: Run! wait for text box resume caterpillar set hero speed (Skeppio,10) walk hero (Skeppio,north,2) wait for hero (Skeppio) walk hero (Skeppio,west,3) wait for hero (Skeppio) walk hero (Skeppio,north,1) wait for hero (Skeppio) walk hero (Skeppio,west,1) wait for hero (Skeppio) walk hero (Skeppio,north,2) wait for hero (Skeppio) fade screen out camera follows hero (me) # put Bob back in the party, remove the cats swap by position( find hero(hero:Bob the Hamster) find hero(hero:Skeppio) ) swap out hero (hero:Rathmara) # restore Bob's picture set hero picture(find hero(hero:Bob the Hamster),0) # Set Bob's HP to 1 set hero stat (find hero(hero:Bob the Hamster),stat:HP,1) set hero speed (me,4) teleport to map (map:Jormungandling's Belly,106,9) resume caterpillar fade screen in wait (5) walk hero (me,east,1) wait for hero (me) walk hero (me,west,2) wait for hero (me) show text box (175) # where am I? wait (2) set hero direction (me,south) wait (2) set hero direction (me,east) wait for text box show text box(381) wait for text box resume hero walls resume npc walls resume player resume NPCs resume random enemys end #--------------------------------------------------------------------------- script, Rathmara Finds Rope, begin suspend player suspend NPCs suspend random enemys suspend caterpillar variable(Bob,Rathmara,Skeppio) Bob:=rank in caterpillar(hero:Bob the Hamster) Rathmara:=rank in caterpillar(hero:Rathmara) Skeppio:=rank in caterpillar(hero:Skeppio) show text box (346) walk hero to X (Rathmara, 45) wait for hero (Rathmara) set hero direction(Bob, east) set hero direction(Skeppio, east) walk hero to Y (Rathmara, 14) wait for hero (Rathmara) set hero direction(Bob, north) set hero direction(Skeppio, north) focus camera(hero X(Rathmara), hero Y(Rathmara),4) wait for text box wait for camera camera follows hero (Rathmara) walk hero (Rathmara, north, 2) wait for hero (Rathmara) walk hero (Rathmara, east, 1) wait for hero (Rathmara) walk hero (Rathmara, north, 1) wait for hero (Rathmara) walk hero (Rathmara, east, 3) wait for hero (Rathmara) walk hero (Rathmara, north, 1) wait for hero (Rathmara) walk hero (Rathmara, east, 1) wait for hero (Rathmara) walk hero (Rathmara, north, 3) wait for hero (Rathmara) walk hero (Rathmara, east, 5) wait for hero (Rathmara) walk hero (Rathmara, north, 3) wait for hero (Rathmara) walk hero (Rathmara, east, 2) wait for hero (Rathmara) set hero direction (Rathmara, north) wait(5) use npc(NPC at spot(57,3)) wait for text box wait(5) walk hero (Rathmara, west, 4) wait for hero (Rathmara) walk hero (Rathmara, south, 3) wait for hero (Rathmara) walk hero (Rathmara, west, 3) wait for hero (Rathmara) walk hero (Rathmara, south, 3) wait for hero (Rathmara) walk hero (Rathmara, west, 2) wait for hero (Rathmara) walk hero (Rathmara, south, 1) wait for hero (Rathmara) walk hero (Rathmara, west, 2) wait for hero (Rathmara) walk hero (Rathmara, south, 1) wait for hero (Rathmara) walk hero (Rathmara, west, 1) wait for hero (Rathmara) walk hero (Rathmara, south, 2) wait for hero (Rathmara) focus camera(hero X(Bob), hero Y(Bob),4) show text box (348) wait for text box wait for camera camera follows hero (Bob) resume player resume NPCs resume random enemys resume caterpillar end #--------------------------------------------------------------------------- script, encounter snakespleen, begin end #---------------------------------------------------------------------------