//===== Hercules Script ====================================== //= Orc's Memory //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.7 //===== Description: ========================================= //= [Official Conversion] //= Relive the memory of an orc. //===== Description: ========================================= //= [Official Conversion] //= Relive the memory of an orc. //===== Additional Comments: ================================= //= 1.0 First version. [L0ne_W0lf] //= 1.1 First round of bugfixes. (bugreport:3928) [L0ne_W0lf] //= Fixed some npcs calling wrong events. //= Fixed Depraved Orc Spirit spawn point //= Fixed an NPC that was never being enabled. //= 1.1a Second round from bugreport. (bugreport:3928) [L0ne_W0lf] //= Fixed first warp never enabling, issue not seen //= because of a local source mod. //= Corrected the IDs for the Vengeful Orc Spirit and //= Shaman Cargalache, copy/paste fail. //= Changed spawn point for dungeon according to spawn //= point on iRO. //= 1.2 More bugfixes, mostly typos. :O (bugreport:3944) [L0ne_W0lf] //= Fixed some varaibles (types/values) as well. //= 1.3 Disabled an exploit related to the orc hero spawn. [L0ne_W0lf] //= Corrected the variable type for party leader name. //= 1.4 Fixed donpcevent calling non-existant npc. (bugreport:4039) [L0ne_W0lf] //= 1.5 Fixed a checkquest condition never setting quest. [L0ne_W0lf] //= 1.6 Added 'instance_check_party' command to the script for proper checking if //= the invoking party meets the requirements to join the Memorial Dungeon. //= 1.7 Instance system rewrite. [Euphy] //============================================================ 1@orcs mapflag src4instance 2@orcs mapflag src4instance //============================================================ // Entrance //============================================================ gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{ .@party_id = getcharid(1); .@p_name$ = getpartyname(.@party_id); .@md_name$ = "Orc's Memory"; if (!instance_check_party(.@party_id,2,30,80)) { mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon."; close; } .@orctime = questprogress(12059,PLAYTIME); if (.@orctime == 2) { mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000"; erasequest 12059; close; } if (.@orctime == 1) { mes "You can enter the Dungeon if it has been generated."; next; if(select("Enter the Dungeon "+.@md_name$+":Cancel") == 2) close; // Fall through to access the dungeon } else { // !.@orctime if (getcharid(0) == getpartyleader(.@party_id,2)) { mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?"; next; switch(select("Reserve the "+.@md_name$+":Enter the Dungeon:Cancel")) { case 1: .@instance = instance_create(.@md_name$,.@party_id); if (.@instance < 0) { mes "Party Name: "+.@p_name$; mes "Party Leader: "+strcharinfo(0); mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed."; close; } mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance"; for (.@i = 1; .@i <= 2; ++.@i) { if( instance_attachmap(.@i + "@orcs", .@instance) == "" ) break; } if( .@i < 2 ) { instance_destroy(.@instance); close; } instance_set_timeout 7200,300,.@instance; instance_init(.@instance); mes "After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the "+.@md_name$+"."; close; case 2: break; // Fall through to access the dungeon (after the else) case 3: close; } } else if (select(.@md_name$ + " Enter the Memorial Dungeon:Cancel") == 2) end; // Else access the dungeon } // Dungeon access if (has_instance("1@orcs") == "") { mes "Memorial Dungeon "+.@md_name$+" does not exist."; mes "The party leader has not reserved entrance to the dungeon yet."; next; mes "Once the reservation is complete, the dungeon will be generated."; mes "If your dungeon has been destroyed you must wait 7 days before re-entering."; close; } mapannounce "gef_fild10", strcharinfo(0) + " of the party, " + .@p_name$ + " is entering the "+.@md_name$+".",bc_map,"0x00ff99"; if (!questprogress(12059)) setquest 12059; warp "1@orcs",179,15; end; } gef_fild10,238,202,6 script Mad Scientist#orc 4_LGTSCIENCE,{ if (BaseLevel < 50) { mes "The Mad Scientist doesn't seem to notice you and keeps mumbling to himself..."; close; } if (mad == 0) { mes "[Mad Scientist]"; mes "Haha, no Orcs are coming near me!"; mes "The power of the Dimensional Gorge is undefeatable!!"; next; switch(select("Orcs don't attack you?:You wish!")) { case 1: mes "[Mad Scientist]"; mes "Yeah, yeah.. I know it's hard to belive. I don't blame ya."; mes "I used to study the Dimensional Gorge discovered near Morroc."; mes "According to my research, the minerals found there have enormous power inside them!"; next; break; case 2: mes "[Mad Scientist]"; mes "You are a pretty distrustful person, huh?"; next; break; } select("Oh? Like what, travel to alternate space?"); mes "[Mad Scientist]"; mes "Very smart! I have actually just done that! See that statue over there? It's not your normal Monolith!"; next; mes "[Mad Scientist]"; mes "I have created it with a combination of our technology and the unlimited energy I discovered from the Gorge! Want to try it?"; next; select("...Um, that doesn't sound legal?"); mes "[Mad Scientist]"; mes "Hey, since when did something so interesting have to be legal!? How about it! You can talk to the Orcs! C'mon!"; next; mes "[Mad Scientist]"; mes "Chances are they'll just give you lots of instructions once they see you, so just wing it! They're always saying the same thing, to the point where I memorized them!"; next; switch(select("Alright... What do I do?:Umm, maybe not.")) { case 1: mes "[Mad Scientist]"; mes "Very good! Just sit in the hands of this statue! And try to act natural when you're in there!"; mad = 1; close; case 2: mes "[Mad Scientist]"; mes "Oh fine, be that way!"; close; } } else if (mad == 1) { mes "[Mad Scientist]"; mes "Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!"; close; } else { mad = 1; end; } } // Orc's Memory Floor 1 //============================================================ 1@orcs,180,30,0 script #Resurrect Monsters1 CLEAR_NPC,{ end; OnInstanceInit: disablenpc instance_npcname("#Resurrect Monsters1"); end; OnDisable: stopnpctimer; killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; end; OnEnable: enablenpc instance_npcname("#Resurrect Monsters1"); monster instance_mapname("1@orcs"),0,0,"Orc Warrior",1023,30,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("1@orcs"); .@mob_dead_num = 30 - mobcount(.@map$,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"); if (.@mob_dead_num > 0) { .@mob_ran = rand(1,30); if (.@mob_ran > 29) { monster .@map$,0,0,"Orc Warrior",1023,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; } else if ((.@mob_ran > 28) && (.@mob_ran < 30)) { monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; if (rand(1,10) == 9) { mapannounce .@map$, "High Orc: We need more defenses! Get more people here!",bc_map,"0xff4444"; } } else if ((.@mob_ran > 26) && (.@mob_ran < 29)) { areamonster .@map$,41,91,51,81,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; if (rand(1,10) == 9) { mapannounce .@map$, "Where are the High Orcs!? Get them to stop the enemies!",bc_map,"0xff4444"; } } else { areamonster .@map$,17,187,27,177,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; if (rand(1,5) == 3) { mapannounce .@map$, "Caution: The army's starting to concentrate at Zone No. 4.",bc_map,"0x77ff77"; } if (rand(1,100) == 50) { initnpctimer; } } } end; OnTimer10: mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!",bc_map,"0xff4444"; end; OnTimer4010: .@map$ = instance_mapname("1@orcs"); mapannounce .@map$, "Stalactic Golems are digging out of the deep underground.",bc_map,"0x77ff77"; areamonster .@map$,17,187,27,177,"Stalactic Golem",1278,20,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead"; stopnpctimer; end; } 1@orcs,180,30,0 script #Resurrect Monsters2 CLEAR_NPC,{ end; OnInstanceInit: disablenpc instance_npcname("#Resurrect Monsters2"); end; OnDisable: killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"; end; OnEnable: enablenpc instance_npcname("#Resurrect Monsters2"); monster instance_mapname("1@orcs"),0,0,"Trained Wolf",1106,15,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("1@orcs"); .@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"); if (rand(1,30) > 15) { if (.@mob_dead_num > 0) { monster .@map$,0,0,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"; } } else { if (.@mob_dead_num > 0) { areamonster .@map$,17,187,27,177,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead"; } } end; } 1@orcs,180,30,0 script #Resurrect Monsters3 CLEAR_NPC,{ end; OnInstanceInit: disablenpc instance_npcname("#Resurrect Monsters3"); end; OnDisable: killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"; end; OnEnable: enablenpc instance_npcname("#Resurrect Monsters3"); monster instance_mapname("1@orcs"),0,0,"Orc Archer",1189,15,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("1@orcs"); .@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"); .@mob_ran = rand(1,30); if (.@mob_ran > 29) { if (.@mob_dead_num > 0) { monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"; } } else if ((.@mob_ran > 26) && (.@mob_ran < 30)) { if (.@mob_dead_num > 0) { areamonster .@map$,43,155,47,159,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"; if (rand(1,3) == 3) { mapannounce .@map$, "High Orc: Attack them from behind! Cut off their support!",bc_map,"0xff4444"; } } } else { if (.@mob_dead_num > 0) { areamonster .@map$,17,187,27,177,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead"; } } end; } 1@orcs,180,30,0 script #Resurrect Monsters4 CLEAR_NPC,{ end; OnInstanceInit: enablenpc instance_npcname("#Resurrect Monsters4"); areamonster instance_mapname("1@orcs"),98,35,178,115,"Anopheles",1627,10,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("1@orcs"); .@mob_dead_num = 10 - mobcount(.@map$,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"); if (.@mob_dead_num > 0) { monster .@map$,0,0,"Anopheles",1627,.@mob_dead_num,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"; } end; OnDisable: killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead"; end; } 1@orcs,180,29,4 script Kruger#1-1 4_ORCWARRIOR,{ donpcevent instance_npcname("Kruger#1-2")+"::OnEnable"; end; } 1@orcs,180,29,4 script Kruger#1-2 4_ORCWARRIOR,{ end; OnInstanceInit: disablenpc instance_npcname("Kruger#1-2"); end; OnEnable: disablenpc instance_npcname("Kruger#1-1"); enablenpc instance_npcname("Kruger#1-2"); initnpctimer; end; OnTimer10: mapannounce instance_mapname("1@orcs"), "Kruger: Damn... What took you so long!! I don't have all day!!",bc_map,"0xffff00"; end; OnTimer5710: mapannounce instance_mapname("1@orcs"), "Kruger: My plan was to let our comrades open the gate, but it's all ruined since I got busted by the Orc Shaman.",bc_map,"0xffff00"; end; OnTimer14610: mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!",bc_map,"0xff4444"; end; OnTimer20210: mapannounce instance_mapname("1@orcs"), "Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now.",bc_map,"0xffff00"; end; OnTimer24910: mapannounce instance_mapname("1@orcs"), "Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the power to unseal the next zone.",bc_map,"0xffff00"; end; OnTimer34310: mapannounce instance_mapname("1@orcs"), "Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone.",bc_map,"0xffff00"; end; OnTimer39710: mapannounce instance_mapname("1@orcs"), "Kruger: Try to avoid encountering Orcs other then the Enchanted ones. Everytime you kill a normal Orc, High Orcs will gather at the last path to the 2nd floor.",bc_map,"0xffff00"; end; OnTimer49210: mapannounce instance_mapname("1@orcs"), "Kruger: In the worst case, the path to the 2nd floor could be completely blocked. For your own sake, you should be as sneaky as possible.",bc_map,"0xffff00"; end; OnTimer56310: mapannounce instance_mapname("1@orcs"), "Mission: Sneak in and get rid of the 'Enchanted Orcs'. Avoiding battles with other Orcs is the best way of getting into the 2nd floor.",bc_map,"0x44ffff"; donpcevent instance_npcname("#Resurrect Monsters1")+"::OnEnable"; donpcevent instance_npcname("#Resurrect Monsters2")+"::OnEnable"; donpcevent instance_npcname("#Resurrect Monsters3")+"::OnEnable"; disablenpc instance_npcname("Kruger#1-2"); end; OnTimer60000: areamonster instance_mapname("1@orcs"),137,83,143,89,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead"; stopnpctimer; end; } 1@orcs,168,125,0 script B1 Area 1 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("B1 Area 1"); end; OnEnable: enablenpc instance_npcname("B1 Area 1"); areamonster instance_mapname("1@orcs"),103,105,109,111,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead1"; end; OnTouch: warp instance_mapname("1@orcs"),168,130; end; OnContinue: donpcevent instance_npcname("B1 Area 2")+"::OnEnable"; initnpctimer; end; OnTimer10300: mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shaman started to control them with her magic.",bc_map,"0xff4499"; end; OnTimer18700: mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: There's nothing we can do but to defeat the Orc Shaman if we want to save the remaining tribes.",bc_map,"0xff4499"; stopnpctimer; end; } 1@orcs,89,94,0 script B1 Area 2 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("B1 Area 2"); end; OnEnable: enablenpc instance_npcname("B1 Area 2"); areamonster instance_mapname("1@orcs"),32,40,38,46,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead2"; end; OnTouch: warp instance_mapname("1@orcs"),85,85; end; OnContinue: donpcevent instance_npcname("B1 Area 3")+"::OnEnable"; initnpctimer; end; OnTimer30300: mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman used those Orcs for her rituals.",bc_map,"0xff4499"; end; OnTimer37600: mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: ... It all has to do with me. I am responsible for this evil.",bc_map,"0xff4499"; stopnpctimer; end; } 1@orcs,38,105,0 script B1 Area 3 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("B1 Area 3"); end; OnEnable: enablenpc instance_npcname("B1 Area 3"); areamonster instance_mapname("1@orcs"),19,177,25,183,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead3"; end; OnTouch: warp instance_mapname("1@orcs"),38,110; end; OnContinue: donpcevent instance_npcname("B1 Area 4")+"::OnEnable"; initnpctimer; end; OnTimer30300: mapannounce instance_mapname("1@orcs"), "Please, hang in there!",bc_map,"0xff4499"; end; OnTimer32700: mapannounce instance_mapname("1@orcs"), "We'll get some rest when we get to the 2nd basement after passing through here.",bc_map,"0xff4499"; stopnpctimer; end; } 1@orcs,21,189,0 script B1 Area 4 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("B1 Area 4"); end; OnEnable: enablenpc instance_npcname("B1 Area 4"); donpcevent instance_npcname("#Resurrect Monsters1")+"::OnDisable"; donpcevent instance_npcname("#Resurrect Monsters2")+"::OnDisable"; donpcevent instance_npcname("#Resurrect Monsters3")+"::OnDisable"; donpcevent instance_npcname("#Resurrect Monsters4")+"::OnDisable"; end; OnTouch: warp instance_mapname("2@orcs"),32,171; end; } 1@orcs,1,1,0 script B1 Area Mobs -1,{ end; OnMyMobDead: donpcevent instance_npcname("B1 Area 1")+"::OnEnable"; end; OnMyMobDead1: donpcevent instance_npcname("B1 Area 1")+"::OnContinue"; end; OnMyMobDead2: donpcevent instance_npcname("B1 Area 2")+"::OnContinue"; end; OnMyMobDead3: donpcevent instance_npcname("B1 Area 3")+"::OnContinue"; end; } // Orc's Memory Floor 2 //============================================================ 2@orcs,36,171,0 script #2Resurrect Monsters1 CLEAR_NPC,{ end; OnInstanceInit: disablenpc instance_npcname("#2Resurrect Monsters1"); end; OnEnable: enablenpc instance_npcname("#2Resurrect Monsters1"); monster instance_mapname("2@orcs"),0,0,"Vengeful Orc",1152,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; end; OnDisable: stopnpctimer; killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("2@orcs"); .@mob_dead_num = 30 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"); if (.@mob_dead_num > 0) { .@mob_ran = rand(1,30); if (.@mob_ran > 29) { monster .@map$,0,0,"Vengeful Orc",1152,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; } else if ((.@mob_ran > 28) && (.@mob_ran < 30)) { monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; } else if ((.@mob_ran > 26) && (.@mob_ran < 29)) { areamonster .@map$,157,112,167,122,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; if (rand(1,10) == 9) { mapannounce .@map$, "Warning: High Orcs are gathering near area 3.",bc_map,"0xff4444"; } } else { areamonster .@map$,173,13,183,23,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; if (rand(1,5) == 3) { mapannounce .@map$, "Caution: The Forces have started to concentrate at the Shaman's Altar.",bc_map,"0x77ff77"; } if (rand(1,70) == 50) { initnpctimer; } } } end; OnTimer10: mapannounce instance_mapname("2@orcs"), "Voice from somewhere: Foolish... Do you really think the altar would fall like that?",bc_map,"0xff4444"; end; OnTimer4010: .@map$ = instance_mapname("2@orcs"); mapannounce .@map$, "[ Wraiths were summoned by an unknown power ]",bc_map,"0x77ff77"; areamonster .@map$,167,25,177,35,"Wraith",1475,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead"; stopnpctimer; end; } 2@orcs,36,171,0 script #2Resurrect Monsters3 CLEAR_NPC,{ end; OnInstanceInit: disablenpc instance_npcname("#2Resurrect Monsters3"); end; OnEnable: enablenpc instance_npcname("#2Resurrect Monsters3"); monster instance_mapname("2@orcs"),0,0,"Orc Zombie",1153,15,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("2@orcs"); .@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"); .@mob_ran = rand(1,30); if (.@mob_ran > 29) { if (.@mob_dead_num > 0) { monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"; } } else if ((.@mob_ran > 6) && (.@mob_ran < 30)) { if (.@mob_dead_num > 0) { areamonster .@map$,168,10,184,26,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"; if (rand(1,15) == 3) { mapannounce .@map$, "Warning: Orc Archer teams are gathering near the altar.",bc_map,"0xff4444"; } } } else { if (.@mob_dead_num > 0) { areamonster .@map$,168,21,184,21,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"; } } end; OnDisable: killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead"; end; } 2@orcs,180,30,0 script #2Resurrect Monsters4 CLEAR_NPC,{ end; OnInstanceInit: enablenpc instance_npcname("#2Resurrect Monsters4"); monster instance_mapname("2@orcs"),0,0,"Anopheles",1627,10,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead"; end; OnMyMobDead: .@map$ = instance_mapname("2@orcs"); .@mob_dead_num = 10 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead"); if (.@mob_dead_num > 0) { monster .@map$,0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead"; } end; } 2@orcs,35,169,4 script Kruger#2-1 4_ORCWARRIOR,{ donpcevent instance_npcname("Kruger#2-2")+"::OnEnable"; end; } 2@orcs,35,169,4 script Kruger#2-2 4_ORCWARRIOR,{ end; OnInstanceInit: disablenpc instance_npcname("Kruger#2-2"); end; OnEnable: disablenpc instance_npcname("Kruger#2-1"); enablenpc instance_npcname("Kruger#2-2"); initnpctimer; end; OnTimer10: mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: I'll tell you how to get to the Shaman's altar.",bc_map,"0xffff00"; end; OnTimer3510: mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Do you see the braziers that light the path? Unseal the next zone by strengthening their flames.",bc_map,"0xffff00"; end; OnTimer10710: mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily.",bc_map,"0xffff00"; end; OnTimer16310: mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: But still, try keep the battles not too noticable so the Shaman won't guard the altar with her army squad.",bc_map,"0xffff00"; end; OnTimer21910: mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader.",bc_map,"0xffff00"; end; OnTimer23910: mapannounce instance_mapname("2@orcs"), "Mission: Unseal the zone by lighting the braziers. They can only be lit in a certain order, so be careful.",bc_map,"0x4444ff"; donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnEnable"; donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnEnable"; donpcevent instance_npcname("Torch#1-1")+"::OnEnable"; disablenpc instance_npcname("Kruger#2-2"); end; } 2@orcs,26,164,0 script Torch#1-1 CLEAR_NPC,{ if(getpartyleader(getcharid(1),2) != getcharid(0)) end; progressbar "ffff00",5; setarray .@id[0], atoi(charat(strnpcinfo(2),0)), atoi(charat(strnpcinfo(2),2)); if (.@id[1] == 4) donpcevent instance_npcname("#Warp2-"+.@id[0])+"::OnEnable"; else donpcevent instance_npcname("Torch#"+.@id[0]+"-"+(.@id[1]+1))+"::OnEnable"; initnpctimer; disablenpc instance_npcname(strnpcinfo(0)); end; OnInstanceInit: if (strnpcinfo(0) != "Torch#2-1" && strnpcinfo(0) != "Torch#3-1") disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: enablenpc instance_npcname(strnpcinfo(0)); end; OnTimer100: specialeffect EF_FIREPILLAR; end; OnTimer2000: specialeffect EF_FIREPILLARBOMB; stopnpctimer; end; } 2@orcs,55,155,0 duplicate(Torch#1-1) Torch#1-2 CLEAR_NPC 2@orcs,108,146,0 duplicate(Torch#1-1) Torch#1-3 CLEAR_NPC 2@orcs,98,171,0 duplicate(Torch#1-1) Torch#1-4 CLEAR_NPC 2@orcs,48,100,0 script #Warp2-1 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("#Warp2-1"); end; OnEnable: .@map$ = instance_mapname("2@orcs"); monster .@map$,109,156,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1"; mapannounce .@map$, "The Chief Orc of Safeguards: Oh!! Looks like I have company. Defeat me if you can!!",bc_map,"0xff8888"; end; OnContinue: enablenpc instance_npcname("#Warp2-1"); initnpctimer; end; OnTimer10000: areamonster instance_mapname("2@orcs"),28,158,40,170,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1"; stopnpctimer; end; OnTouch: warp instance_mapname("2@orcs"),47,93; end; } 2@orcs,35,92,0 duplicate(Torch#1-1) Torch#2-1 CLEAR_NPC 2@orcs,32,70,0 duplicate(Torch#1-1) Torch#2-2 CLEAR_NPC 2@orcs,70,31,0 duplicate(Torch#1-1) Torch#2-3 CLEAR_NPC 2@orcs,84,51,0 duplicate(Torch#1-1) Torch#2-4 CLEAR_NPC 2@orcs,101,55,0 script #Warp2-2 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("#Warp2-2"); end; OnEnable: .@map$ = instance_mapname("2@orcs"); monster .@map$,67,64,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2"; mapannounce .@map$, "Orc Sniper: Hah! Pretty impressive that you made it this far, but your foolish little trip ends here...",bc_map,"0xff8888"; end; OnContinue: enablenpc instance_npcname("#Warp2-2"); initnpctimer; end; OnTimer10000: areamonster instance_mapname("2@orcs"),40,91,52,103,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2"; stopnpctimer; end; OnTouch: warp instance_mapname("2@orcs"),107,55; end; } 2@orcs,142,145,0 duplicate(Torch#1-1) Torch#3-1 CLEAR_NPC 2@orcs,162,134,0 duplicate(Torch#1-1) Torch#3-2 CLEAR_NPC 2@orcs,144,117,0 duplicate(Torch#1-1) Torch#3-3 CLEAR_NPC 2@orcs,136,98,0 duplicate(Torch#1-1) Torch#3-4 CLEAR_NPC 2@orcs,167,104,0 script #Warp2-3 WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("#Warp2-3"); end; OnEnable: .@map$ = instance_mapname("2@orcs"); monster .@map$,152,147,"Depraved Orc Spirit",1983,1,instance_npcname("#Mobs Control")+"::OnMyMobDead3"; mapannounce .@map$, "Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!",bc_map,"0xff8888"; end; OnContinue: areamonster instance_mapname("2@orcs"),117,61,129,73,"Depraved Orc Spirit",1983,1; donpcevent instance_npcname("#Boss Control")+"::OnEnable"; enablenpc instance_npcname("#Warp2-3"); initnpctimer; end; OnTimer10: mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: Hahaha!! So, you finally made it here. The assassin you sent was just terrible. That stupid Orc is getting cold under my feet.",bc_map,"0xffff00"; end; OnTimer6810: mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: My loyal slave, go get those intruders!",bc_map,"0xffff00"; end; OnTimer10310: mapannounce instance_mapname("2@orcs"), "Depraved Orc Hero: Whatever you say, my lord.",bc_map,"0xff7777"; end; OnTimer13110: mapannounce instance_mapname("2@orcs"), "Caution: You have been discovered by Shaman Cargalache. Kruger's plan to assassinate the Shaman has failed. You must defeat Cargalache and find traces of Kruger.",bc_map,"0x8888ff"; stopnpctimer; end; OnTouch: warp instance_mapname("2@orcs"),167,95; end; } 2@orcs,36,171,0 script #Boss Control CLEAR_NPC,{ end; OnInstanceInit: disablenpc instance_npcname("#Boss Control"); end; OnEnable: .@map$ = instance_mapname("2@orcs"); monster .@map$,185,8,"Shaman Cargalache",1984,1,instance_npcname("#Boss Control")+"::OnMyMobDead"; monster .@map$,179,15,"Depraved Orc Hero",1087,1; enablenpc instance_npcname("#Boss Control"); end; OnMyMobDead: donpcevent instance_npcname("Kruger#")+"::OnEnable"; .@map$ = instance_mapname("2@orcs"); .@mob_ran = rand(1,5); if (.@mob_ran == 1) { mapannounce .@map$, "Shaman Cargalache: How... How could this be... How could someone like you...!!",bc_map,"0xffff00"; } else if (.@mob_ran == 2) { mapannounce .@map$, "Shaman Cargalache: How is it that I've been overpowered by mere humans!",bc_map,"0xffff00"; } else if (.@mob_ran == 3) { mapannounce .@map$, "Shaman Cargalache: This... This can't be the end...",bc_map,"0xffff00"; } else if (.@mob_ran == 4) { mapannounce .@map$, "Shaman Cargalache: I... Can't die... Yet...!",bc_map,"0xffff00"; } else { mapannounce .@map$, "Shaman Cargalache: Defeated by these fools... It can't be happening...!",bc_map,"0xffff00"; } donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnDisable"; donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnDisable"; donpcevent instance_npcname("#Warp Outside Orc Dun")+"::OnEnable"; end; } 2@orcs,182,8,0 script #Warp Outside Orc Dun WARPNPC,3,3,{ OnInstanceInit: disablenpc instance_npcname("#Warp Outside Orc Dun"); end; OnEnable: enablenpc instance_npcname("#Warp Outside Orc Dun"); end; OnTouch: warp "gef_fild10",240,197; end; } 2@orcs,172,13,0 script Kruger# 4_ORCWARRIOR2,{ if (yong_odun < 2) { mes "[Kruger]"; mes "*Coughing*"; mes ""+strcharinfo(0)+", it's you..."; next; mes "["+strcharinfo(0)+"] "; mes "Don't move! You are wounded!"; next; mes "[Kruger]"; mes "It's... all right.. I'm dying..."; mes "...."; mes "The Shaman? What about the Shaman?"; next; mes "["+strcharinfo(0)+"] "; mes "The Shaman's dead now. Who was that Shaman really?"; next; mes "Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face."; next; mes "[Kruger]"; mes "I.. I just couldn't kill my own daughter..."; mes "Thank you, I'm sure she's finally free from the nightmare that used to choke her soul."; next; mes "Kruger was about to say something more, but he breathed his last breath before he could..."; yong_odun = 2; close; } else { mes "You can see the dead body of Kruger, peacefully lying on the ground."; close; } OnInstanceInit: disablenpc instance_npcname("Kruger#"); end; OnEnable: enablenpc instance_npcname("Kruger#"); end; } 2@orcs,36,171,0 script #Mobs Control CLEAR_NPC,{ end; OnMyMobDead1: donpcevent instance_npcname("#Warp2-1")+"::OnContinue"; end; OnMyMobDead2: donpcevent instance_npcname("#Warp2-2")+"::OnContinue"; end; OnMyMobDead3: donpcevent instance_npcname("#Warp2-3")+"::OnContinue"; end; }