gm_in,145,77,2 script LhzInvasion 105,{ OnWhisperGlobal: if( .InitDone != 1 ) { set .InitDone, 1; donpcevent "PipeBurst01::OnInit"; donpcevent "PipeBurst02::OnInit"; donpcevent "PipeBurst03::OnInit"; donpcevent "Rekenber Technician::OnInit"; // donpcevent "Lord of the Pipe::OnInit"; donpcevent "RekenGuard01::OnInit"; donpcevent "RekenGuard02::OnInit"; donpcevent "RekenGuard03::OnInit"; donpcevent "RekenGuard04::OnInit"; } mes "A well conducted government must have an underlying concept so well integrated that it could be likened to a system of philosophy"; mes " "; mes "Hold:"; mes "-> ^ff00002009-02-28^000000"; input .@Password$; if( .@Password$ != "it's freddy" ) { mes "^ff0000Laziness, hedonism and imbecility, these are the causes which restrain princes in working at the noble task of bringing happiness to their subjects^000000"; close; } if( getgmlevel() < 20 ) close; mes "Hello, master"; next; S_MENU: switch( select("Rates", "Trigger", "Cancel") ) { case 1: // Rates if( .SlumRate == 0 ) set .SlumRate, 100; if( .CityRate == 0 ) set .CityRate, 100; if( .FinalRate == 0 ) set .FinalRate, 100; mes "SlumRate: ^ff0000" + .SlumRate + "^000000"; mes "CityRate: ^ff0000" + .CityRate + "^000000"; mes "FinalRate: " + .FinalRate; next; switch( select("Leave it as it is", "Change SlumRate", "Change CityRate", "Change Final") ) { case 1: // Leave it as it is goto S_MENU; case 2: // SlumRate input .SlumRate; if( .SlumRate == 0 ) set .SlumRate, 100; goto S_MENU; case 3: // CityRate input .CityRate; if( .CityRate == 0 ) set .CityRate, 100; goto S_MENU; case 4: input .FinalRate; if( .FinalRate == 0 ) set .FinalRate, 100; goto S_MENU; } case 2: // Trigger if( (gettimetick(2) - .EventStart) < 15 ) { mes "Please wait 15 seconds."; } else { mes "Done"; set .EventStart, gettimetick(2); stopnpctimer; initnpctimer; next; } goto S_MENU; case 3: // Cancel close; } OnTimer1000: set $LhzEvent, 1; donpcevent "SlumInvasion::OnTrigger"; end; OnTimer6000000: set $LhzEvent, 0; killmonsterall "lighthalzen"; donpcevent "SlumInvasion::OnNPCOn"; announce "Rekenber Guard : Situation is under control, Lighthalzen is safe!", bc_all; stopnpctimer; end; } // -- Part 1 lighthalzen,313,301,0 script #::PipeBurst01 139,{ end; OnInit: disablenpc "PipeBurst01"; end; OnEnable: initnpctimer; end; OnDisable: specialeffect 386; stopnpctimer; end; OnTimer100: OnTimer700: OnTimer920: OnTimer1200: OnTimer1800: OnTimer2000: OnTimer2600: OnTimer2900: specialeffect 44; end; OnTimer3400: specialeffect 44; stopnpctimer; initnpctimer; end; } lighthalzen,311,306,0 script #::PipeBurst02 139,{ end; OnInit: disablenpc "PipeBurst02"; end; OnEnable: initnpctimer; end; OnDisable: stopnpctimer; end; OnTimer200: OnTimer1300: OnTimer3200: specialeffect 44; end; OnTimer5700: specialeffect 44; stopnpctimer; initnpctimer; end; } lighthalzen,312,306,0 script #::PipeBurst03 139,{ end; OnInit: disablenpc "PipeBurst03"; end; OnEnable: initnpctimer; end; OnDisable: stopnpctimer; end; OnTimer2700: specialeffect 44; stopnpctimer; initnpctimer; end; } lighthalzen,1,1,0 script SlumInvasion -1,{ end; OnTrigger: enablenpc "PipeBurst01"; donpcevent "PipeBurst01::OnEnable"; enablenpc "PipeBurst02"; donpcevent "PipeBurst02::OnEnable"; enablenpc "PipeBurst03"; donpcevent "PipeBurst03::OnEnable"; set $SlumScrewNeed, 10; set $SlumScrew, 0; // Spawn monsters! set .Left, 0; set .Left, .Left + callfunc("SpawnSlums", 1673, "Dimik", 1); set .Left, .Left + callfunc("SpawnSlums", 1676, "Venatu", 2); set .Left, .Left + callfunc("SpawnSlums", 1677, "Venatu", 2); set .Left, .Left + callfunc("SpawnSlums", 1678, "Venatu", 2); set .Left, .Left + callfunc("SpawnSlums", 1679, "Venatu", 2); set .Left, .Left + callfunc("SpawnSlums", 1660, "Amaia", 6); set .Left, .Left + callfunc("SpawnSlums", 1662, "Kavac", 8); set .Left, .Left + callfunc("SpawnSlums", 1948, "Ygnizem", 6); set .Left, .Left + callfunc("SpawnSlums", 1659, "Whikebain", 5); set .Left, .Left + callfunc("SpawnSlums", 1663, "Rawrel", 6); set .Left, .Left + callfunc("SpawnSlums", 1661, "Erend", 4); // -- MONSTER announce "Shengwen : W-what is happening??", bc_all; sleep 3200; announce "Shengwen : Guards! Help! HELP! HE~.. aaaaaahhh.........", bc_all; sleep 6000; enablenpc "Rekenber Technician"; donpcevent "Rekenber Technician::OnEnable"; donpcevent "SlumInvasion::OnNPCOff"; announce "Rekenber Technician : Pipe burst! I need backup to fix this!", bc_all; sleep 3400; announce "Rekenber Guard : All available forces - fight those creatures off!", bc_all; sleep 3500; announce "Whisper Event to join the forces in Lighthalzen. You will be able to return afterwards.", bc_all, 0x45D7DD; set $EventID, $EventID + 1; set $EventName$, "Lighthalzen Invasion"; set $EventMap$, "lighthalzen"; set $EventX, 261; set $EventY, 200; set $EventEnable, 1; end; OnMobDead: if( rand(0,5) < 3 ) { set LhzSlumScrew, LhzSlumScrew + 1; if( LhzSlumScrew == 1 ) { dispbottom "You found a screw. The Rekenber Technician might need it in order to fix the pipe?"; viewpoint 1, 311, 301, 90, 0xFF0000; } else { dispbottom "You found a screw (total: " + LhzSlumScrew + ")"; if( LhzSlumScrew % 5 == 0 ) { dispbottom "You should get them to the technician if you don't want to be late."; viewpoint 1, 311, 301, 90, 0xFF0000; } } } callfunc "SpawnSlums", killedrid, killedname$, 1; end; OnNPCOff: disablenpc "Shengwen#zen7"; disablenpc "Nun#light"; disablenpc "Employee"; disablenpc "Boy#LhzHat"; disablenpc "Windmill Owner#kh"; disablenpc "Windmill Owner's Helper"; disablenpc "Bodger#zen5"; disablenpc "Elder"; disablenpc "Grinnel#zen6"; disablenpc "Ravey"; disablenpc "Maku"; disablenpc "Fishbone"; disablenpc "Beggar#lhz_02"; disablenpc "Guide#4lhz"; disablenpc "Reuben#lhz_02"; disablenpc "childlhz"; disablenpc "Pilia#lhz_01"; end; OnNPCOn: enablenpc "Shengwen#zen7"; enablenpc "Nun#light"; enablenpc "Employee"; enablenpc "Boy#LhzHat"; enablenpc "Windmill Owner#kh"; enablenpc "Windmill Owner's Helper"; enablenpc "Bodger#zen5"; enablenpc "Elder"; enablenpc "Grinnel#zen6"; enablenpc "Ravey"; enablenpc "Maku"; enablenpc "Fishbone"; enablenpc "Beggar#lhz_02"; enablenpc "Guide#4lhz"; enablenpc "Reuben#lhz_02"; enablenpc "childlhz"; enablenpc "Pilia#lhz_01"; end; } // 0 - ID // 1 - Name // 2 - Amount function script SpawnSlums { set .@amount, getarg(2) * getvariableofnpc(.SlumRate, "LhzInvasion") / 100; areamonster "lighthalzen", 293, 194, 348, 325, getarg(1), getarg(0), .@amount, "SlumInvasion::OnMobDead"; return .@amount; } function script SpawnFinal { set .@amount, getarg(2) * getvariableofnpc(.FinalRate, "LhzInvasion") / 100; areamonster "lighthalzen", 303, 292, 312, 306, getarg(1), getarg(0), .@amount, "FinalInvasion::OnMobDead"; return .@amount; } lighthalzen,311,301,6 script Rekenber Technician 865,3,3,{ if( $SlumScrew >= $SlumScrewNeed ) { if( LhzSlumScrew == 0 ) { mes "[Rekenber Technician]"; mes "I'm glad the pipe is finally repaired. I'm worried though."; mes "Let's hope our pipe system isn't serious damaged. I don't want these creatures getting into the city."; close; } else { set EventPoints, EventPoints + LhzSlumScrew * 3; dispbottom "Received " + (LhzSlumScrew * 3) + " event points (total: " + EventPoints + ")"; set LhzSlumScrew, 0; mes "[Rekenber Technician]"; mes "Thanks for these screws!"; mes "My entire screw stock is somehow empty.. I swear I had like thousands 2 days ago!"; close; } } OnTouch: if( $SlumScrew >= $SlumScrewNeed ) end; if( LhzSlumScrew ) { set $SlumScrew, $SlumScrew + LhzSlumScrew; if( $SlumScrew >= $SlumScrewNeed ) { donpcevent "PipeBurst01::OnDisable"; disablenpc "PipeBurst01"; donpcevent "PipeBurst02::OnDisable"; disablenpc "PipeBurst02"; donpcevent "PipeBurst03::OnDisable"; disablenpc "PipeBurst03"; donpcevent "SlumInvasion::OnNPCOn"; killmonster "lighthalzen", "SlumInvasion::OnMobDead"; set .@LastName$, strcharinfo(0); set @Amount, 10 + LhzSlumScrew * 3; set EventPoints, EventPoints + @Amount; dispbottom "Received " + @Amount + " event points (total: " + EventPoints + ")"; set LhzSlumScrew, 0; detachrid; mapannounce "lighthalzen", "Rekenber Technician : Finally! The pipe is repaired!", bc_yellow; emotion e_thx; sleep 1000; npctalk "Thanks so much, " + .@LastName$ + "!"; sleep 2000; mapannounce "lighthalzen", "Rekenber Technician : Now that you all have so many screws - feel free to bring them to me!", bc_yellow; // Next stage: city invasion set $LhzEvent, 2; donpcevent "CityInvasion::OnTrigger"; end; } else { npctalk "Thanks, " + strcharinfo(0) + "! Just drop 'em here, I'll take them."; set EventPoints, EventPoints + LhzSlumScrew * 3; dispbottom "Received " + (LhzSlumScrew * 3) + " event points (total: " + EventPoints + ")"; set LhzSlumScrew, 0; if( @cl ) close2; end; } } if( @cl ) close2; end; OnEnable: if( $SlumScrew >= $SlumScrewNeed ) end; initnpctimer; end; OnTimer10000: if( $SlumScrew >= $SlumScrewNeed ) end; mapannounce "lighthalzen", "Rekenber Technician : I need more screws to repair the pipe!", bc_yellow; mapannounce "lighthalzen", "Rekenber Technician : Please bring me all screws you can find!", bc_yellow; end; OnTimer40000: stopnpctimer; if( $SlumScrew >= $SlumScrewNeed ) end; initnpctimer; end; OnNoTrustPeace: npctalk "I don't trust this peace. I have the feeling something's approaching..."; end; OnInit: disablenpc "Rekenber Technician"; end; } // -- 2nd part lighthalzen,1,1,0 script CityInvasion -1,{ end; OnTrigger: initnpctimer; end; OnTimer5000: donpcevent "Rekenber Technician::OnNoTrustPeace"; end; OnTimer7000: announce "Lighthalzen seems to be safe again.", bc_all; donpcevent "SlumInvasion::OnNPCOn"; end; OnTimer12000: announce "The Rekenber Corporation and the citizens of Lighthalzen thank you.", bc_all; end; OnTimer25000: // Monsters donpcevent "RekenberWall::OnWallOn"; set .Left, 0; set .LeftFirst, 100; set .Left, .Left + callfunc("SpawnCity", 1673, "Dimik", 3); set .Left, .Left + callfunc("SpawnCity", 1676, "Venatu", 5); set .Left, .Left + callfunc("SpawnCity", 1677, "Venatu", 5); set .Left, .Left + callfunc("SpawnCity", 1678, "Venatu", 5); set .Left, .Left + callfunc("SpawnCity", 1679, "Venatu", 5); set .Left, .Left + callfunc("SpawnCity", 1660, "Amaia", 17); set .Left, .Left + callfunc("SpawnCity", 1662, "Kavac", 17); set .Left, .Left + callfunc("SpawnCity", 1948, "Ygnizem", 17); set .Left, .Left + callfunc("SpawnCity", 1659, "Whikebain", 17); set .Left, .Left + callfunc("SpawnCity", 1663, "Rawrel", 15); set .Left, .Left + callfunc("SpawnCity", 1661, "Erend", 15); set .Left, .Left + callfunc("SpawnCity", 1682, "Remover", 60); set .Left, .Left + callfunc("SpawnCity", 1681, "Gemini-S58", 10); set .Left, .Left + callfunc("SpawnCity", 1634, "Seyren", 1); set .Left, .Left + callfunc("SpawnCity", 1635, "Eremes Guile", 2); set .Left, .Left + callfunc("SpawnCity", 1636, "Harword", 1); set .Left, .Left + callfunc("SpawnCity", 1637, "Magaleta", 1); set .Left, .Left + callfunc("SpawnCity", 1638, "Shecil", 1); set .Left, .Left + callfunc("SpawnCity", 1639, "Katrinn", 1); set .Left, .Left + callfunc("SpawnCity", 1867, "Banshee", 25); set .Left, .Left + callfunc("SpawnCity", 1191, "Mimic", 15); set .Left, .Left + callfunc("SpawnCity", 1298, "Zombie Master", 15); set .Left, .Left + callfunc("SpawnCity", 1290, "Skeleton General", 15); announce "Rekenber Guard : What the ...?!", bc_all; end; OnTimer27000: announce "Rekenber Guard : THE CITY IS UNDER ATTACK!", bc_all; end; OnTimer31000: mapannounce "lighthalzen", "Rekenber Guard : Seal the laboratories! Secure the city!", bc_all; end; OnTimer34000: mapannounce "lighthalzen", "Rekenber Technician : No worries, I have my mega awesome town defense system!", bc_all; end; OnTimer39000: mapannounce "lighthalzen", "Rekenber Technician : I just have to press one button and all those monsters will be GRILLED!", bc_all; end; OnTimer43000: mapannounce "lighthalzen", "", bc_all; end; OnTimer47000: mapannounce "lighthalzen", "Rekenber Technician : What the heck is going on? Last time I checked this damn system was working JUST FINE >_<", bc_all; end; OnTimer52000: mapannounce "lighthalzen", "Rekenber Technician : Alright.. I will need to debug this, please guard my back. Thanks!", bc_all; end; OnTimer80000: mapannounce "lighthalzen", "Rekenber Technician : I'm SURE it works now!", bc_all; end; OnTimer81500: sexdisguise 1930, 1769; end; OnTimer89500: mapannounce "lighthalzen", "Rekenber Technician : God damnit...", bc_all; end; OnTimer93000: atcommand "@undisguiseall"; end; OnTimer98000: mapannounce "lighthalzen", "Rekenber Technician : Whatever.. I'm gonna redo it.", bc_all; end; OnTimer105000: mapannounce "lighthalzen", "Rekenber Technician : It will take some minutes, but I see you guys are doing a good job there.. Keep going!", bc_all; end; OnTimer250000: mapannounce "lighthalzen", "Rekenber Technician : Okay, half done!", bc_all; end; OnTimer256000: mapannounce "lighthalzen", "Rekenber Technician : Glad to see you guys have so much fun slaughtering monsters...", bc_all; end; OnTimer400000: mapannounce "lighthalzen", "Rekenber Technician : It MIGHT work now.. Let's see whether I can save the entire city!", bc_all; end; OnTimer407000: for(set .@i,0; .@i < 238; set .@i,.@i+1) { donpcevent "#CodeEffect" + .@i + "::OnEffect"; } killmonsterall "lighthalzen"; end; OnTimer413000: mapannounce "lighthalzen", "Rekenber Technician : I am SO glad it finally... wait.. what is that?", bc_yellow; donpcevent "RekenberWall::OnWallOff"; end; OnTimer419000: mapannounce "lighthalzen", "Rekenber Technician : I can hear weird voices coming out of the pipe..........", bc_yellow; end; OnTimer426000: OnThird: mapannounce "lighthalzen", "Rekenber Technician : WHAT IS THAT?? I'm outa here~", bc_yellow; set $LhzEvent, 4; // First wave disablenpc "Rekenber Technician"; donpcevent "FinalInvasion::OnTrigger"; end; OnMobDead: set .@Reward, callfunc("RewardCity", killedrid); if( .@Reward == -1 ) dispbottom "There seems to be no reward for " + killedname$ + " - please report."; else { set EventPoints, EventPoints + .@Reward; dispbottom "Received " + .@Reward + " event points (total: " + EventPoints + ")"; } set .Left, .Left + callfunc("SpawnCity", killedrid, killedname$, 1); end; } /* lighthalzen,308,299,4 script Lord of the Pipe 1829,{ end; OnShow: enablenpc "Lord of the Pipe"; end; OnHide: disablenpc "Lord of the Pipe"; end; OnInit: disablenpc "Lord of the Pipe"; end; } */ lighthalzen,4,4,0 script FinalInvasion -1,{ OnWhisperGlobal: if( getgmlevel() < 90 ) end; if( @whispervar0$ == "2" ) goto OnWave2; if( @whispervar0$ == "3" ) goto OnWave3; if( @whispervar0$ == "4" ) goto OnWave4; end; OnTrigger: set .Wave, 1; initnpctimer; end; OnTimer1000: if( .Wave != 1 ) end; announce "The pipes creak and groan.. metal screeches..", bc_all; end; OnTimer7000: if( .Wave != 1 ) end; announce "...as the earth slowly erupts to reveal the most dreaded terror of all...", bc_all; end; OnTimer13000: // 1st if( .Wave != 1 ) end; // donpcevent "Lord of the Pipe::OnShow"; set .SpawnDone, 0; set .Left, 0; set .Left, .Left + callfunc("SpawnFinal", 1209, "Cramp", 8); set .Left, .Left + callfunc("SpawnFinal", 1005, "Familiar", 10); set .Left, .Left + callfunc("SpawnFinal", 1676, "Venatu", 9); set .Left, .Left + callfunc("SpawnFinal", 1661, "Erend", 14); set .Left, .Left + callfunc("SpawnFinal", 1673, "Dimik", 2); end; OnTimer19000: if( .Wave != 1 ) end; // 2nd set .Left, .Left + callfunc("SpawnFinal", 1660, "Amaia", 12); set .Left, .Left + callfunc("SpawnFinal", 1635, "Eremes Guile", 3); set .Left, .Left + callfunc("SpawnFinal", 1659, "Whikebain", 5); set .Left, .Left + callfunc("SpawnFinal", 1662, "Kavac", 12); set .Left, .Left + callfunc("SpawnFinal", 1209, "Cramp", 8); set .Left, .Left + callfunc("SpawnFinal", 1298, "Zombie Master", 5); end; // 3rd OnTimer27000: if( .Wave != 1 ) end; set .Left, .Left + callfunc("SpawnFinal", 1637, "Magaleta", 1); set .Left, .Left + callfunc("SpawnFinal", 1635, "Eremes Guile", 3); set .Left, .Left + callfunc("SpawnFinal", 1948, "Ygnizem", 7); set .Left, .Left + callfunc("SpawnFinal", "Banshee", 3); set .SpawnDone, 1; end; // ---- OnTimer1001: if( .Wave != 2 ) end; set .SpawnDone, 0; set .Left, .Left + callfunc("SpawnFinal", 1209, "Cramp", 9); set .Left, .Left + callfunc("SpawnFinal", 1639, "Katrinn", 1); set .Left, .Left + callfunc("SpawnFinal", 1681, "Gemini-S58", 2); set .Left, .Left + callfunc("SpawnFinal", 1659, "Whikebain", 11); set .Left, .Left + callfunc("SpawnFinal", 1054, "Thief Bug Male", 25); set .Left, .Left + callfunc("SpawnFinal", 1661, "Erend", 12); end; OnTiner9001: if( .Wave != 2 ) end; set .Left, .Left + callfunc("SpawnFinal", 1673, "Dimik", 3); set .Left, .Left + callfunc("SpawnFinal", 1677, "Venatu", 12); set .Left, .Left + callfunc("SpawnFinal", 1290, "Skeleton General", 9); set .Left, .Left + callfunc("SpawnFinal", 1191, "Mimic", 9); set .SpawnDone, 1; end; // ------ OnTimer1002: if( .Wave != 3 ) end; set .SpawnDone, 0; set .Left, .Left + callfunc("SpawnFinal", 1867, "Banshee", 3); set .Left, .Left + callfunc("SpawnFinal", 1660, "Amaia", 7); set .Left, .Left + callfunc("SpawnFinal", 1663, "Rawrel", 4); set .Left, .Left + callfunc("SpawnFinal", 1636, "Harword", 1); set .Left, .Left + callfunc("SpawnFinal", 1948, "Ygnizem", 4); set .Left, .Left + callfunc("SpawnFinal", 1634, "Seyren", 1); end; OnTimer8002: if( .Wave != 3 ) end; set .Left, .Left + callfunc("SpawnFinal", 1679, "Venatu", 8); set .Left, .Left + callfunc("SpawnFinal", 1661, "Erend", 9); set .Left, .Left + callfunc("SpawnFinal", 1005, "Familar", 39); set .Left, .Left + callfunc("SpawnFinal", 1673, "Dimik", 2); end; OnTimer15002: if( .Wave != 3 ) end; set .Left, .Left + callfunc("SpawnFinal", 1209, "Cramp", 12); set .Left, .Left + callfunc("SpawnFinal", 1635, "Eremes Guile", 2); set .Left, .Left + callfunc("SpawnFinal", 1673, "Dimik", 2); set .Left, .Left + callfunc("SpawnFinal", 1867, "Banshee", 4); set .Left, .Left + callfunc("SpawnFinal", 1290, "Skeleton General", 7); set .SpawnDone, 1; end; OnLordDead: set EventPoints, EventPoints + 35; dispbottom "Received 35 event points (total: " + EventPoints + ")"; announce "Lord of the Pipe : Noooooo!!!", bc_all; sleep 6000; announce "Lord of the Pipe : That can't be true.....", bc_all; sleep 500; announce "Lord of the Pipe : I'm the ... mighty... Lord of the Pipe.....", bc_all; sleep 7000; set $EventEnable, 2; mapannounce "lighthalzen", "Whisper Event to get warped back.", bc_map, 0x45D7DD; set $LhzEvent, 0; end; OnMobDead: set EventPoints, EventPoints + 1; dispbottom "Received 1 event point (total: " + EventPoints + ")"; detachrid; set .Left, .Left - 1; if( .Left == 0 && .SpawnDone ) { switch( .Wave ) { case 1: OnWave2: killmonsterall "lighthalzen"; announce "Lord of the Pipe : You shall NOT stop me!", bc_all; set .Wave, 2; stopnpctimer; initnpctimer; end; case 2: OnWave3: killmonsterall "lighthalzen"; announce "Lord of the Pipe : You must be taught a lesson!", bc_all; set .Wave, 3; stopnpctimer; initnpctimer; end; case 3: OnWave4: killmonsterall "lighthalzen"; announce "Lord of the Pipe : ROAAAAR!", bc_all; // donpcevent "Lord of the Pipe::OnHide"; stopnpctimer; monster "lighthalzen", 308, 299, "Lord of the Pipe", 2000, 1, "FinalInvasion::OnLordDead"; set .Wave, 4; } } end; } // 0 - ID // 1 - Name // 2 - Amount function script SpawnCity { set .@amount, getarg(2) * getvariableofnpc(.CityRate, "LhzInvasion") / 100; for(set .@i,0; .@i<.@amount; set .@i,.@i + 1) { set .@o, 0; do { set .@o, .@o + 1; set .@x, rand(0, 270); set .@y, rand(0, 330); if( .@o == 5 ) { switch( rand(0, 7) ) { case 0: set .@x, 103; set .@y, 153; break; case 1: set .@x, 212; set .@y, 309; break; case 2: set .@x, 211; set .@y, 246; break; case 3: set .@x, 105; set .@y, 112; break; case 4: set .@x, 161; set .@y, 96; break; case 5: set .@x, 191; set .@y, 60; break; case 6: set .@x, 60; set .@y, 130; break; } break; } } while( !checkcell("lighthalzen", .@x, .@y, cell_chkpass) || ( .@x <= 180 && .@y >= 165) ); monster "lighthalzen", .@x, .@y, getarg(1), getarg(0), 1, "CityInvasion::OnMobDead"; if( .@i % 50 == 0 ) sleep 1; // eA <3 } return .@amount; } function script RewardCity { switch( getarg(0) ) { case 1673: // Dimik return 2; case 1676: // Venatu case 1677: // Venatu case 1678: // Venatu case 1679: // Venatu return 1; case 1660: // Amaia case 1662: // Kavac case 1948: // Ygnizem case 1659: // Whikebain case 1663: // Rawrel case 1661: // Erend return 1; case 1682: // Remover return 1; case 1681: // Gemini-S58 return 5; case 1634: // Seyren case 1635: // Eremes Guile case 1636: // Harword case 1637: // Magaleta case 1638: // Shecil case 1639: // Katrinn return 4; case 1867: // Banshee return 1; case 1191: // Mimic return 1; case 1298: // Zombie Master return 1; case 1290: // Skeleton General return 1; default: return -1; } } // -- Rekenber Lab wall lighthalzen,1,1,0 script RekenberWall -1,{ end; OnWhisperGlobal: if( getgmlevel() < 99 ) end; if( @whispervar0$ == "open" ) { dispbottom "Door is now open"; goto OnWallOff; } else if( @whispervar0$ == "close" ) { dispbottom "Door is now closed"; goto OnWallOn; } end; OnWallOn: setwall "lighthalzen",102,168,4,6,0,"RekenberWall"; enablenpc "RekenGuard01"; enablenpc "RekenGuard02"; enablenpc "RekenGuard03"; enablenpc "RekenGuard04"; end; OnWallOff: delwall "RekenberWall"; disablenpc "RekenGuard01"; disablenpc "RekenGuard02"; disablenpc "RekenGuard03"; disablenpc "RekenGuard04"; end; } lighthalzen,102,167,3 script Rekenber Guard::RekenGuard01 868,{ mes "[Rekenber Guard]"; mes "In order to protect the Rekenber laboratories, noone is allowed to enter the area, as long as the city is not safe."; close; OnInit: disablenpc strnpcinfo(3); end; } lighthalzen,103,166,3 duplicate(RekenGuard01) Rekenber Guard::RekenGuard02 868 lighthalzen,104,166,5 duplicate(RekenGuard01) Rekenber Guard::RekenGuard03 868 lighthalzen,105,167,5 duplicate(RekenGuard01) Rekenber Guard::RekenGuard04 868 lighthalzen,2,2,0 script #CodeEffect0 139,{ end; OnEffect: specialeffect 386; end; } lighthalzen,96,139,0 duplicate(#CodeEffect0) #CodeEffect1 139 lighthalzen,114,112,0 duplicate(#CodeEffect0) #CodeEffect2 139 lighthalzen,111,120,0 duplicate(#CodeEffect0) #CodeEffect3 139 lighthalzen,94,113,0 duplicate(#CodeEffect0) #CodeEffect4 139 lighthalzen,123,133,0 duplicate(#CodeEffect0) #CodeEffect5 139 lighthalzen,121,144,0 duplicate(#CodeEffect0) #CodeEffect6 139 lighthalzen,113,163,0 duplicate(#CodeEffect0) #CodeEffect7 139 lighthalzen,92,163,0 duplicate(#CodeEffect0) #CodeEffect8 139 lighthalzen,77,140,0 duplicate(#CodeEffect0) #CodeEffect9 139 lighthalzen,79,125,0 duplicate(#CodeEffect0) #CodeEffect00 139 lighthalzen,59,125,0 duplicate(#CodeEffect0) #CodeEffect01 139 lighthalzen,51,144,0 duplicate(#CodeEffect0) #CodeEffect02 139 lighthalzen,53,162,0 duplicate(#CodeEffect0) #CodeEffect03 139 lighthalzen,72,163,0 duplicate(#CodeEffect0) #CodeEffect04 139 lighthalzen,63,105,0 duplicate(#CodeEffect0) #CodeEffect05 139 lighthalzen,65,88,0 duplicate(#CodeEffect0) #CodeEffect06 139 lighthalzen,49,83,0 duplicate(#CodeEffect0) #CodeEffect07 139 lighthalzen,36,75,0 duplicate(#CodeEffect0) #CodeEffect08 139 lighthalzen,37,49,0 duplicate(#CodeEffect0) #CodeEffect09 139 lighthalzen,49,47,0 duplicate(#CodeEffect0) #CodeEffect20 139 lighthalzen,62,59,0 duplicate(#CodeEffect0) #CodeEffect21 139 lighthalzen,80,61,0 duplicate(#CodeEffect0) #CodeEffect22 139 lighthalzen,68,77,0 duplicate(#CodeEffect0) #CodeEffect23 139 lighthalzen,84,77,0 duplicate(#CodeEffect0) #CodeEffect24 139 lighthalzen,93,66,0 duplicate(#CodeEffect0) #CodeEffect25 139 lighthalzen,97,50,0 duplicate(#CodeEffect0) #CodeEffect26 139 lighthalzen,96,42,0 duplicate(#CodeEffect0) #CodeEffect27 139 lighthalzen,108,52,0 duplicate(#CodeEffect0) #CodeEffect28 139 lighthalzen,112,60,0 duplicate(#CodeEffect0) #CodeEffect29 139 lighthalzen,127,71,0 duplicate(#CodeEffect0) #CodeEffect30 139 lighthalzen,133,85,0 duplicate(#CodeEffect0) #CodeEffect31 139 lighthalzen,153,80,0 duplicate(#CodeEffect0) #CodeEffect32 139 lighthalzen,164,72,0 duplicate(#CodeEffect0) #CodeEffect33 139 lighthalzen,174,83,0 duplicate(#CodeEffect0) #CodeEffect34 139 lighthalzen,167,102,0 duplicate(#CodeEffect0) #CodeEffect35 139 lighthalzen,153,112,0 duplicate(#CodeEffect0) #CodeEffect36 139 lighthalzen,154,130,0 duplicate(#CodeEffect0) #CodeEffect37 139 lighthalzen,166,127,0 duplicate(#CodeEffect0) #CodeEffect38 139 lighthalzen,184,123,0 duplicate(#CodeEffect0) #CodeEffect39 139 lighthalzen,198,113,0 duplicate(#CodeEffect0) #CodeEffect40 139 lighthalzen,196,98,0 duplicate(#CodeEffect0) #CodeEffect41 139 lighthalzen,192,82,0 duplicate(#CodeEffect0) #CodeEffect42 139 lighthalzen,188,65,0 duplicate(#CodeEffect0) #CodeEffect43 139 lighthalzen,194,52,0 duplicate(#CodeEffect0) #CodeEffect44 139 lighthalzen,183,42,0 duplicate(#CodeEffect0) #CodeEffect45 139 lighthalzen,173,47,0 duplicate(#CodeEffect0) #CodeEffect46 139 lighthalzen,195,32,0 duplicate(#CodeEffect0) #CodeEffect47 139 lighthalzen,202,32,0 duplicate(#CodeEffect0) #CodeEffect48 139 lighthalzen,187,51,0 duplicate(#CodeEffect0) #CodeEffect49 139 lighthalzen,200,59,0 duplicate(#CodeEffect0) #CodeEffect50 139 lighthalzen,195,68,0 duplicate(#CodeEffect0) #CodeEffect51 139 lighthalzen,195,81,0 duplicate(#CodeEffect0) #CodeEffect52 139 lighthalzen,207,82,0 duplicate(#CodeEffect0) #CodeEffect53 139 lighthalzen,221,82,0 duplicate(#CodeEffect0) #CodeEffect54 139 lighthalzen,224,67,0 duplicate(#CodeEffect0) #CodeEffect55 139 lighthalzen,218,53,0 duplicate(#CodeEffect0) #CodeEffect56 139 lighthalzen,215,34,0 duplicate(#CodeEffect0) #CodeEffect57 139 lighthalzen,230,33,0 duplicate(#CodeEffect0) #CodeEffect58 139 lighthalzen,235,49,0 duplicate(#CodeEffect0) #CodeEffect59 139 lighthalzen,240,61,0 duplicate(#CodeEffect0) #CodeEffect60 139 lighthalzen,243,82,0 duplicate(#CodeEffect0) #CodeEffect61 139 lighthalzen,242,97,0 duplicate(#CodeEffect0) #CodeEffect62 139 lighthalzen,232,106,0 duplicate(#CodeEffect0) #CodeEffect63 139 lighthalzen,256,84,0 duplicate(#CodeEffect0) #CodeEffect64 139 lighthalzen,266,83,0 duplicate(#CodeEffect0) #CodeEffect65 139 lighthalzen,264,67,0 duplicate(#CodeEffect0) #CodeEffect66 139 lighthalzen,256,66,0 duplicate(#CodeEffect0) #CodeEffect67 139 lighthalzen,262,60,0 duplicate(#CodeEffect0) #CodeEffect68 139 lighthalzen,226,117,0 duplicate(#CodeEffect0) #CodeEffect69 139 lighthalzen,206,123,0 duplicate(#CodeEffect0) #CodeEffect70 139 lighthalzen,192,136,0 duplicate(#CodeEffect0) #CodeEffect71 139 lighthalzen,179,137,0 duplicate(#CodeEffect0) #CodeEffect72 139 lighthalzen,173,156,0 duplicate(#CodeEffect0) #CodeEffect73 139 lighthalzen,146,148,0 duplicate(#CodeEffect0) #CodeEffect74 139 lighthalzen,145,163,0 duplicate(#CodeEffect0) #CodeEffect75 139 lighthalzen,127,162,0 duplicate(#CodeEffect0) #CodeEffect76 139 lighthalzen,127,151,0 duplicate(#CodeEffect0) #CodeEffect77 139 lighthalzen,117,158,0 duplicate(#CodeEffect0) #CodeEffect78 139 lighthalzen,222,143,0 duplicate(#CodeEffect0) #CodeEffect79 139 lighthalzen,237,137,0 duplicate(#CodeEffect0) #CodeEffect80 139 lighthalzen,240,130,0 duplicate(#CodeEffect0) #CodeEffect81 139 lighthalzen,253,134,0 duplicate(#CodeEffect0) #CodeEffect82 139 lighthalzen,263,127,0 duplicate(#CodeEffect0) #CodeEffect83 139 lighthalzen,263,110,0 duplicate(#CodeEffect0) #CodeEffect84 139 lighthalzen,259,102,0 duplicate(#CodeEffect0) #CodeEffect85 139 lighthalzen,240,148,0 duplicate(#CodeEffect0) #CodeEffect86 139 lighthalzen,239,160,0 duplicate(#CodeEffect0) #CodeEffect87 139 lighthalzen,208,161,0 duplicate(#CodeEffect0) #CodeEffect88 139 lighthalzen,199,170,0 duplicate(#CodeEffect0) #CodeEffect89 139 lighthalzen,199,181,0 duplicate(#CodeEffect0) #CodeEffect90 139 lighthalzen,179,188,0 duplicate(#CodeEffect0) #CodeEffect91 139 lighthalzen,182,177,0 duplicate(#CodeEffect0) #CodeEffect92 139 lighthalzen,178,208,0 duplicate(#CodeEffect0) #CodeEffect93 139 lighthalzen,197,210,0 duplicate(#CodeEffect0) #CodeEffect94 139 lighthalzen,224,206,0 duplicate(#CodeEffect0) #CodeEffect95 139 lighthalzen,243,206,0 duplicate(#CodeEffect0) #CodeEffect96 139 lighthalzen,261,194,0 duplicate(#CodeEffect0) #CodeEffect97 139 lighthalzen,269,203,0 duplicate(#CodeEffect0) #CodeEffect98 139 lighthalzen,232,215,0 duplicate(#CodeEffect0) #CodeEffect99 139 lighthalzen,227,229,0 duplicate(#CodeEffect0) #CodeEffect100 139 lighthalzen,246,219,0 duplicate(#CodeEffect0) #CodeEffect101 139 lighthalzen,251,224,0 duplicate(#CodeEffect0) #CodeEffect102 139 lighthalzen,264,223,0 duplicate(#CodeEffect0) #CodeEffect103 139 lighthalzen,267,234,0 duplicate(#CodeEffect0) #CodeEffect104 139 lighthalzen,252,234,0 duplicate(#CodeEffect0) #CodeEffect105 139 lighthalzen,264,239,0 duplicate(#CodeEffect0) #CodeEffect106 139 lighthalzen,247,246,0 duplicate(#CodeEffect0) #CodeEffect107 139 lighthalzen,237,257,0 duplicate(#CodeEffect1) #CodeEffect108 139 lighthalzen,221,238,0 duplicate(#CodeEffect0) #CodeEffect109 139 lighthalzen,204,227,0 duplicate(#CodeEffect0) #CodeEffect110 139 lighthalzen,202,241,0 duplicate(#CodeEffect0) #CodeEffect111 139 lighthalzen,203,251,0 duplicate(#CodeEffect0) #CodeEffect112 139 lighthalzen,190,243,0 duplicate(#CodeEffect0) #CodeEffect113 139 lighthalzen,195,252,0 duplicate(#CodeEffect0) #CodeEffect114 139 lighthalzen,223,256,0 duplicate(#CodeEffect0) #CodeEffect115 139 lighthalzen,206,269,0 duplicate(#CodeEffect0) #CodeEffect116 139 lighthalzen,206,282,0 duplicate(#CodeEffect0) #CodeEffect117 139 lighthalzen,194,286,0 duplicate(#CodeEffect0) #CodeEffect118 139 lighthalzen,184,294,0 duplicate(#CodeEffect0) #CodeEffect119 139 lighthalzen,228,293,0 duplicate(#CodeEffect0) #CodeEffect120 139 lighthalzen,234,304,0 duplicate(#CodeEffect0) #CodeEffect121 139 lighthalzen,225,315,0 duplicate(#CodeEffect0) #CodeEffect122 139 lighthalzen,234,325,0 duplicate(#CodeEffect0) #CodeEffect123 139 lighthalzen,188,325,0 duplicate(#CodeEffect0) #CodeEffect124 139 lighthalzen,184,305,0 duplicate(#CodeEffect0) #CodeEffect125 139 lighthalzen,197,298,0 duplicate(#CodeEffect0) #CodeEffect126 139 lighthalzen,211,291,0 duplicate(#CodeEffect0) #CodeEffect127 139 lighthalzen,241,286,0 duplicate(#CodeEffect0) #CodeEffect128 139 lighthalzen,253,282,0 duplicate(#CodeEffect0) #CodeEffect129 139 lighthalzen,249,262,0 duplicate(#CodeEffect0) #CodeEffect130 139 lighthalzen,239,252,0 duplicate(#CodeEffect0) #CodeEffect131 139 lighthalzen,53,162,0 duplicate(#CodeEffect0) #CodeEffect132 139 lighthalzen,34,160,0 duplicate(#CodeEffect0) #CodeEffect133 139 lighthalzen,36,127,0 duplicate(#CodeEffect0) #CodeEffect134 139 lighthalzen,36,112,0 duplicate(#CodeEffect0) #CodeEffect135 139 lighthalzen,54,96,0 duplicate(#CodeEffect0) #CodeEffect136 139 lighthalzen,49,82,0 duplicate(#CodeEffect0) #CodeEffect137 139 lighthalzen,38,68,0 duplicate(#CodeEffect0) #CodeEffect138 139 lighthalzen,45,53,0 duplicate(#CodeEffect0) #CodeEffect139 139 lighthalzen,154,82,0 duplicate(#CodeEffect0) #CodeEffect140 139 lighthalzen,129,97,0 duplicate(#CodeEffect0) #CodeEffect141 139 lighthalzen,135,112,0 duplicate(#CodeEffect0) #CodeEffect142 139 lighthalzen,127,122,0 duplicate(#CodeEffect0) #CodeEffect143 139 lighthalzen,116,133,0 duplicate(#CodeEffect0) #CodeEffect144 139 lighthalzen,111,143,0 duplicate(#CodeEffect0) #CodeEffect145 139 lighthalzen,120,151,0 duplicate(#CodeEffect0) #CodeEffect146 139 lighthalzen,137,155,0 duplicate(#CodeEffect0) #CodeEffect147 139 lighthalzen,148,156,0 duplicate(#CodeEffect0) #CodeEffect148 139 lighthalzen,160,156,0 duplicate(#CodeEffect0) #CodeEffect149 139 lighthalzen,169,156,0 duplicate(#CodeEffect0) #CodeEffect150 139 lighthalzen,180,156,0 duplicate(#CodeEffect0) #CodeEffect151 139 lighthalzen,191,156,0 duplicate(#CodeEffect0) #CodeEffect152 139 lighthalzen,200,152,0 duplicate(#CodeEffect0) #CodeEffect153 139 lighthalzen,211,153,0 duplicate(#CodeEffect0) #CodeEffect154 139 lighthalzen,214,158,0 duplicate(#CodeEffect0) #CodeEffect155 139 lighthalzen,215,167,0 duplicate(#CodeEffect0) #CodeEffect156 139 lighthalzen,218,178,0 duplicate(#CodeEffect0) #CodeEffect157 139 lighthalzen,215,186,0 duplicate(#CodeEffect0) #CodeEffect158 139 lighthalzen,209,191,0 duplicate(#CodeEffect0) #CodeEffect159 139 lighthalzen,202,190,0 duplicate(#CodeEffect0) #CodeEffect160 139 lighthalzen,187,191,0 duplicate(#CodeEffect0) #CodeEffect161 139 lighthalzen,193,204,0 duplicate(#CodeEffect0) #CodeEffect162 139 lighthalzen,195,205,0 duplicate(#CodeEffect0) #CodeEffect163 139 lighthalzen,207,208,0 duplicate(#CodeEffect0) #CodeEffect164 139 lighthalzen,215,206,0 duplicate(#CodeEffect0) #CodeEffect165 139 lighthalzen,224,206,0 duplicate(#CodeEffect0) #CodeEffect166 139 lighthalzen,237,209,0 duplicate(#CodeEffect0) #CodeEffect167 139 lighthalzen,247,212,0 duplicate(#CodeEffect0) #CodeEffect168 139 lighthalzen,258,198,0 duplicate(#CodeEffect0) #CodeEffect169 139 lighthalzen,216,215,0 duplicate(#CodeEffect0) #CodeEffect170 139 lighthalzen,212,230,0 duplicate(#CodeEffect0) #CodeEffect171 139 lighthalzen,200,233,0 duplicate(#CodeEffect0) #CodeEffect172 139 lighthalzen,206,248,0 duplicate(#CodeEffect0) #CodeEffect173 139 lighthalzen,217,256,0 duplicate(#CodeEffect0) #CodeEffect174 139 lighthalzen,207,264,0 duplicate(#CodeEffect0) #CodeEffect175 139 lighthalzen,212,275,0 duplicate(#CodeEffect0) #CodeEffect176 139 lighthalzen,226,270,0 duplicate(#CodeEffect0) #CodeEffect177 139 lighthalzen,229,279,0 duplicate(#CodeEffect0) #CodeEffect178 139 lighthalzen,222,290,0 duplicate(#CodeEffect0) #CodeEffect179 139 lighthalzen,226,297,0 duplicate(#CodeEffect0) #CodeEffect180 139 lighthalzen,230,304,0 duplicate(#CodeEffect0) #CodeEffect181 139 lighthalzen,223,307,0 duplicate(#CodeEffect0) #CodeEffect182 139 lighthalzen,214,314,0 duplicate(#CodeEffect0) #CodeEffect183 139 lighthalzen,204,308,0 duplicate(#CodeEffect0) #CodeEffect184 139 lighthalzen,195,314,0 duplicate(#CodeEffect0) #CodeEffect185 139 lighthalzen,189,307,0 duplicate(#CodeEffect0) #CodeEffect186 139 lighthalzen,246,215,0 duplicate(#CodeEffect0) #CodeEffect187 139 lighthalzen,252,217,0 duplicate(#CodeEffect0) #CodeEffect188 139 lighthalzen,250,200,0 duplicate(#CodeEffect0) #CodeEffect189 139 lighthalzen,263,197,0 duplicate(#CodeEffect0) #CodeEffect190 139 lighthalzen,239,177,0 duplicate(#CodeEffect0) #CodeEffect191 139 lighthalzen,231,166,0 duplicate(#CodeEffect0) #CodeEffect192 139 lighthalzen,242,148,0 duplicate(#CodeEffect0) #CodeEffect193 139 lighthalzen,246,132,0 duplicate(#CodeEffect0) #CodeEffect194 139 lighthalzen,257,112,0 duplicate(#CodeEffect0) #CodeEffect195 139 lighthalzen,253,98,0 duplicate(#CodeEffect0) #CodeEffect196 139 lighthalzen,240,91,0 duplicate(#CodeEffect0) #CodeEffect197 139 lighthalzen,240,79,0 duplicate(#CodeEffect0) #CodeEffect198 139 lighthalzen,258,69,0 duplicate(#CodeEffect0) #CodeEffect199 139 lighthalzen,259,80,0 duplicate(#CodeEffect0) #CodeEffect200 139 lighthalzen,252,47,0 duplicate(#CodeEffect0) #CodeEffect201 139 lighthalzen,230,53,0 duplicate(#CodeEffect0) #CodeEffect202 139 lighthalzen,228,65,0 duplicate(#CodeEffect0) #CodeEffect203 139 lighthalzen,209,76,0 duplicate(#CodeEffect0) #CodeEffect204 139 lighthalzen,206,86,0 duplicate(#CodeEffect0) #CodeEffect205 139 lighthalzen,194,83,0 duplicate(#CodeEffect0) #CodeEffect206 139 lighthalzen,189,64,0 duplicate(#CodeEffect0) #CodeEffect207 139 lighthalzen,175,49,0 duplicate(#CodeEffect0) #CodeEffect208 139 lighthalzen,163,61,0 duplicate(#CodeEffect0) #CodeEffect209 139 lighthalzen,148,53,0 duplicate(#CodeEffect0) #CodeEffect210 139 lighthalzen,131,55,0 duplicate(#CodeEffect0) #CodeEffect211 139 lighthalzen,108,44,0 duplicate(#CodeEffect0) #CodeEffect212 139 lighthalzen,94,46,0 duplicate(#CodeEffect0) #CodeEffect213 139 lighthalzen,90,57,0 duplicate(#CodeEffect0) #CodeEffect214 139 lighthalzen,83,69,0 duplicate(#CodeEffect0) #CodeEffect215 139 lighthalzen,96,73,0 duplicate(#CodeEffect0) #CodeEffect216 139 lighthalzen,107,77,0 duplicate(#CodeEffect0) #CodeEffect217 139 lighthalzen,115,85,0 duplicate(#CodeEffect0) #CodeEffect218 139 lighthalzen,112,96,0 duplicate(#CodeEffect0) #CodeEffect219 139 lighthalzen,122,94,0 duplicate(#CodeEffect0) #CodeEffect220 139 lighthalzen,131,98,0 duplicate(#CodeEffect0) #CodeEffect221 139 lighthalzen,140,98,0 duplicate(#CodeEffect0) #CodeEffect222 139 lighthalzen,140,107,0 duplicate(#CodeEffect0) #CodeEffect223 139 lighthalzen,131,113,0 duplicate(#CodeEffect0) #CodeEffect224 139 lighthalzen,91,133,0 duplicate(#CodeEffect0) #CodeEffect225 139 lighthalzen,77,143,0 duplicate(#CodeEffect0) #CodeEffect226 139 lighthalzen,68,154,0 duplicate(#CodeEffect0) #CodeEffect227 139 lighthalzen,65,143,0 duplicate(#CodeEffect0) #CodeEffect228 139 lighthalzen,56,153,0 duplicate(#CodeEffect0) #CodeEffect229 139 lighthalzen,45,154,0 duplicate(#CodeEffect0) #CodeEffect230 139 lighthalzen,34,148,0 duplicate(#CodeEffect0) #CodeEffect231 139 lighthalzen,34,131,0 duplicate(#CodeEffect0) #CodeEffect232 139 lighthalzen,37,111,0 duplicate(#CodeEffect0) #CodeEffect233 139 lighthalzen,49,107,0 duplicate(#CodeEffect0) #CodeEffect234 139 lighthalzen,50,98,0 duplicate(#CodeEffect0) #CodeEffect235 139 lighthalzen,57,71,0 duplicate(#CodeEffect0) #CodeEffect236 139 lighthalzen,51,52,0 duplicate(#CodeEffect0) #CodeEffect237 139