From 80265f3224b320e2f19326cdc91a3da88771f24d Mon Sep 17 00:00:00 2001 From: L0ne_W0lf Date: Fri, 11 Dec 2009 04:01:23 +0000 Subject: Minor update to the Orc Instance mob stats, very incomplete still. Implemented the first version of Orc's Memory. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14194 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/Changelog.txt | 2 + db/mob_db.txt | 8 +- npc/Changelog.txt | 2 + npc/instances/OrcsMemory.txt | 1367 ++++++++++++++++++++++++++++++++++++++++++ npc/scripts_athena.conf | 2 +- 5 files changed, 1376 insertions(+), 5 deletions(-) create mode 100644 npc/instances/OrcsMemory.txt diff --git a/db/Changelog.txt b/db/Changelog.txt index 855231a86..9d35417ef 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -8,6 +8,8 @@ 1475 Equestrian's Spear: NEED INFO. 13005 Angelic Wing Dagger: NEED INFO. ======================= +2009/12/10 + * Rev. 14194 Minor update to the Orc Instance mobs stats, very incomplete still. [L0ne_W0lf] 2009/12/04 * Rev. 14188 A rather hefty updates to the mob_skill_db and added some more info for newer pets. [L0ne_W0lf] - Added official skills for 13.1 monsters. (Orc instance, 13.1 field, WoESE Guild dungeon.) diff --git a/db/mob_db.txt b/db/mob_db.txt index 2bc1c2d2b..33e11dbee 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -1026,10 +1026,10 @@ 1979,ZUKDAM,Zukadam,Zakudam,82,39562,0,21850,13110,3,2000,3227,30,30,82,65,35,75,80,15,10,12,3,7,40,0x3885,180,580,288,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1980,KUBLIN,Kubkin,Kublin,85,576000,0,100000,100000,1,1180,1400,10,20,1,1,40,85,6,30,10,12,2,7,22,0x37B5,120,1120,620,240,100000,5000,6010,10000,6010,10000,6010,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // Orc Dungeon Instance -1981,I_HIGH_ORC,Safeguard Chief,Safeguard Chief,52,6890,0,3618,1639,1,428,533,15,5,55,46,55,35,82,40,10,12,2,7,43,0x3695,150,1500,500,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -1982,I_ORC_ARCHER,Orc Sniper,Orc Sniper,24,1568,0,196,120,1,151,184,5,10,1,12,24,0,24,5,10,12,1,1,29,0x3095,400,2852,1152,840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -1983,I_ORC_SKELETON,Depraved Orc Spirit,Depraved Orc Spirit,49,7440,0,1729,1787,9,310,390,10,5,1,44,25,20,125,20,10,12,1,7,22,0x3885,300,1960,620,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -1984,I_ORC_LADY,Shaman Cargalache,Shaman Cargalache,31,2000,0,644,407,1,135,170,10,10,35,42,25,15,69,55,10,12,1,7,42,0x3695,200,1050,900,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1981,I_HIGH_ORC,Safeguard Chief,Safeguard Chief,88,96980,0,3618,1639,1,1428,1533,15,5,55,46,55,35,82,40,10,12,2,7,43,0x3695,150,1500,500,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1982,I_ORC_ARCHER,Orc Sniper,Orc Sniper,85,60901,0,196,120,1,1151,1184,10,5,1,12,24,0,24,5,10,12,1,1,29,0x3095,400,2852,1152,840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1983,I_ORC_SKELETON,Depraved Orc Spirit,Depraved Orc Spirit,87,80078,0,1729,1787,9,1310,1390,30,44,1,44,25,20,125,20,10,12,1,7,22,0x3885,300,1960,620,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1984,I_ORC_LADY,Shaman Cargalache,Shaman Cargalache,80,50058,0,644,407,1,1135,1170,35,10,35,42,25,15,69,55,10,12,1,7,42,0x3695,200,1050,900,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // Another World (13.1) 1985,DANDELION,Dandelion,Dandelion,88,28890,0,8650,3879,2,780,1560,30,35,10,85,4,88,60,30,10,12,1,7,80,0x3695,150,900,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1986,TATACHO,Tatacho,Tatacho,106,39311,0,23700,13825,1,10000,11000,20,17,106,40,30,25,115,6,10,12,1,2,22,0x108B,150,900,672,480,0,0,0,0,0,0,0,0,6020,4000,579,3000,516,3000,6021,3000,1544,20,1925,10,0,0,0,0,0,0,0,0 diff --git a/npc/Changelog.txt b/npc/Changelog.txt index 4f152a34e..f418917e3 100644 --- a/npc/Changelog.txt +++ b/npc/Changelog.txt @@ -1,5 +1,7 @@ Date Added ====== +2009/12/10 + * Rev. 14194 Implemented the first version of Orc's Memory. [L0ne_W0lf] 2009/12/07 * Rev. 14192 Implemented official armor enchanting NPC. [L0ne_W0lf] 2009/12/04 diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt new file mode 100644 index 000000000..b6dc069f6 --- /dev/null +++ b/npc/instances/OrcsMemory.txt @@ -0,0 +1,1367 @@ +//===== eAthena Script ======================================= +//= Orc's Memory +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= eAthena SVN +//===== Description: ========================================= +//= [Aegis Conversion] +//= Relive the memory of an orc. +//===== Additional Comments: ================================= +//= 1.0 First version. [L0ne_W0lf] +//============================================================ + +// Entrance +gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ + if ((BaseLevel < 30) || (BaseLevel > 80)) { + mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon."; + close; + } + + set .@party_id,getcharid(1); + set .@ins_mas,getpartyleader(.@party_id,2); + set .@p_name$,getpartyname(.@party_id); + set .@p_reader,strcharinfo(0); + set .@md_name$,"Orc's Memory"; + + getpartymember(.@party_id); + set .@partymembercount,$@partymembercount; + copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount; + + set .@orctime,checkquest(12059,PLAYTIME); + if ((.@party_id > 0) && ((.@partymembercount > 1))) { + if (.@orctime == -1) { + if (.@ins_mas == getcharid(0)) { + mes "Party generation confirmed. Would you like to book entrance to the " + .@md_name$ + "?"; + next; + switch(select("Reserve the " + .@md_name$ + ":Enter the Dungeon:Cancel")) { + case 1: + set .@instance, instance_create(.@md_name$, .@party_id); + if (.@instance < 0) { + mes "Party Name: "+.@p_name$+""; + mes "Party Leader: "+p_reader+""; + mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed."; + close; + } + else { + mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance"; + mes "After making a reservation, you have to select the menu 'Enter the Dungeon' if you wish to enter the " + .@md_name$ + "."; + + for( set .@i, 1; .@i <= 2; set .@i, .@i + 1 ) { + if( instance_attachmap(.@i + "@orcs", .@instance) == "" ) + break; + } + if( .@i < 2 ) { + instance_destroy(.@instance); + close; + } + instance_attach(.@instance); + instance_set_timeout 14400,300,.@instance; + instance_init(.@instance); + + // First Floor + donpcevent instance_npcname("#Resurrect Monsters1", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Resurrect Monsters2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Resurrect Monsters3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Resurrect Monsters4", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("B1 Area 1", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("B1 Area 2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("B1 Area 3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("B1 Area 4", instance_id())+"::OnInstanceInit"; + disablenpc instance_npcname("Kurger#1-2", instance_id()); + + // Second Floor + donpcevent instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#1-1", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#1-2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#1-3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#1-4", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#2-2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#2-3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#2-4", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#3-2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#3-3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Torch#3-4", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Warp2-1", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Warp2-2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Warp2-3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Boss Control", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Warp Outside Orc Dungeon", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Kruger#", instance_id())+"::OnInstanceInit"; + + close; + } + case 2: + //if (move_md == 3) { + // mes "An unidentified error has occured."; + // close; + //} + //else if (move_md == 2) { + 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 reservation is complete, the dungeon will be generated."; + mes "If your dungeon has been destroyed you must wait 7 days before re-entering."; + close; + } + //else if (move_md == 0) { + else if ((has_instance("1@orcs") != "") && (.@partymembercount < 2)) { + mes "Only party members may enter the Memorial Dungeon."; + close; + } + //else if (move_md == 0) { + else { + mapannounce "gef_fild10", .@p_reader$ + " of the party, " + .@p_name$ + " is entering the " + .@md_name$ + ".",bc_map,"0x00ff99"; + warp "1@orcs",179,29; + setquest 12059; + close; + } + case 3: + close; + } + } + else { + switch(select(.@md_name$ + " Enter the Memorial Dungeon:Cancel")) { + case 1: + //if (move_md == 3) { + // mes "An unidentified error has occured."; + // close; + //} + //else if (move_md == 2) { + if (has_instance("1@orcs") == "") { + mes "Memorial Dungeon " + .@md_name$ + " does not exist."; + mes "Memorial Dungeon has been destroyed by the Party Leader, or because of the time limit. Please try again after 2 hours."; + close; + } + //else if (move_md == 1) { + else if ((has_instance("1@orcs") != "") && (.@partymembercount < 2)) { + mes "Only party members may enter the Memorial Dungeon."; + close; + } + //else if (move_md == 0) { + else { + mapannounce "gef_fild10", .@p_name$ + " Party's member " + .@p_reader$ + " has entered the " + .@md_name$ + ".",bc_map,"0x00ff99"; + setquest 12059; + warp "1@orcs",179,29; + close; + } + case 2: + close; + } + } + } + else if ((.@orctime == 0) || (.@orctime == 1)) { + mes "You can enter the Dungeon if it has been generated."; + next; + switch(select("Enter the Dungeon " + .@md_name$ + ":Cancel")) { + case 1: + //if (move_md == 3) { + // mes "An unidentified error has occured."; + // close; + //} + //else if (move_md == 2) { + if (has_instance("1@orcs") == "") { + mes "Memorial Dungeon " + .@md_name$ + " does not exist."; + mes "Memorial Dungeon has been destroyed by the Party Leader, or because of the time limit. Please try again after 2 hours."; + close; + } + //else if (move_md == 1) { + else if ((has_instance("1@orcs") != "") && (.@partymembercount < 2)) { + mes "Only party members may enter the Memorial Dungeon."; + close; + } + //else if (move_md == 0) { + else { + mapannounce "gef_fild10", .@p_name$ + " Party's member " + .@p_reader$ + " has entered the " + .@md_name$ + ".",bc_map,"0x00ff99"; + setquest 12059; + warp "1@orcs",179,29; + close; + } + case 2: + close; + } + } + else if (.@orctime == 2) { + mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or enter the Orc's Memory.^000000"; + erasequest 12059; + close; + } + } + else { + mes "In order to generate a dungeon you must be the Party Leader and have at least 2 members in the party."; + close; + } +} + +gef_fild10,238,202,6 script Mad Scientist#orc 865,{ + if (BaseLevel < 50) { + mes "The Mad Scientist doesn't seem to notice you and keeps mumbling to himself..."; + close; + } + if (mad > 1) { + set mad,1; + } + else if (mad < 1) { + mes "[Mad Scientist]"; + mes "Haha, no Orcs are coming neat 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 reseach, the minerals found there have enormous power insde them!"; + next; + break; + case 2: + mes "[Mad Scientist]"; + mes "You are a pretty distrustful person, huh?"; + return + break; + } + switch(select("Oh? Like what, travel to alternate space?")) { + case 1: + 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 the combination with our technology and the unlimited energy I discovered from that crevice! Want to try it?"; + next; + break; + } + switch(select("... Um, that doesn't sound legal?")) { + case 1: + mes "[Mad Scientist]"; + mes "Hey, since when is something so interesting 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; + break; + } + 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!"; + set mad,1; + break; + case 2: + mes "[Mad Scientist]"; + mes "Oh fine, be that way!"; + break; + } + } + else { + mes "[Mad Scientist]"; + mes "Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!"; + close; + } +} + +// Orc's Memory Floor 1 +1@orcs,180,30,0 script #Resurrect Monsters1 844,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#Resurrect Monsters1", instance_id()); + end; + +OnDisable: + killmonster "1@orcs",instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + end; + +OnEnable: + enablenpc instance_npcname("#Resurrect Monsters1", instance_id()); + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Warrior",1023,1,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,30; + set .@c_mob_num,mobcount("1@orcs",instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + if (.@mob_dead_num > 0) { + set .@mob_ran,rand(1,30); + if (.@mob_ran > 29) { + monster "1@orcs",0,0,"Orc Warrior",1023,.@mob_dead_num,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + } + else if ((.@mob_ran > 28) && (.@mob_ran < 30)) { + monster "1@orcs",0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + if (rand(1,10) == 9) { + instance_announce 0, "High Orc: We need more defense! Get more people here!",bc_map,"0xff4444"; + } + } + else if ((mob_ran > 26) && (mob_ran < 29)) { + areamonster "1@orcs",41,91,51,81,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + if (rand(1,10) == 9) { + instance_announce 0, "Where are the High Orcs!? Get them to stop the enemies!",bc_map,"0xff4444"; + } + } + else { + areamonster "1@orcs",17,187,27,177,"High Orc",1213,.@mob_dead_num; + if (rand(1,5) == 3) { + instance_announce 0, "Caution: The army's starting to concentrate at Zone No.4.",bc_map,"0x77ff77"; + } + if (rand(1,100) == 50) { + initnpctimer; + } + } + } + end; + +OnTimer10: + instance_announce 0, "Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!",bc_map,"0xff4444"; + end; + +OnTimer4010: + instance_announce 0, "Stalactic Golems are digging out of the deep underground.",bc_map,"0x77ff77"; + areamonster "1@orcs",17,187,27,177,"Stalctic Golem",1278,20,instance_npcname("#Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + stopnpctimer; + end; +} + +1@orcs,180,30,0 script #Resurrect Monsters2 844,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#Resurrect Monsters2", instance_id()); + end; + +OnDisable: + killmonster "1@orcs",instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + end; + +OnEnable: + enablenpc instance_npcname("#Resurrect Monsters2", instance_id()); + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Trained Wolf",1106,1,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,15; + set .@c_mob_num,mobcount("1@orcs",instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + if (rand(1,30) > 15) { + if (.@mob_dead_num > 0) { + monster "1@orcs",0,0,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + } + } + else { + if (.@mob_dead_num > 0) { + areamonster "1@orcs",17,187,27,177,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2", instance_id())+"::OnMyMobDead"; + } + } + end; +} + +1@orcs,180,30,0 script #Resurrect Monsters3 844,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#Resurrect Monsters3", instance_id()); + end; + +OnDisable: + killmonster "1@orcs",instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + end; + +OnEnable: + enablenpc instance_npcname("#Resurrect Monsters3", instance_id()); + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "1@orcs",0,0,"Orc Archer",1189,1,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,15; + set .@c_mob_num,mobcount("1@orcs",instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + set .@mob_ran,rand(1,30); + if (.@mob_ran > 29) { + if (.@mob_dead_num > 0) { + monster "1@orcs",0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + } + } + else if ((.@mob_ran > 26) && (.@mob_ran < 30)) { + if (.@mob_dead_num > 0) { + areamonster "1@orcs",43,155,47,159,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + if (rand(1,3) == 3) { + instance_announce 0, "High Orc: Attack them from behind! Cut off their support!",bc_map,"0xff4444"; + } + } + } + else { + if (.@mob_dead_num > 0) { + areamonster "1@orcs",17,187,27,177,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + } + } + end; +} + +1@orcs,180,30,0 script #Resurrect Monsters4 844,{ + end; + +OnInstanceInit: + enablenpc instance_npcname("#Resurrect Monsters4", instance_id()); + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + areamonster "1@orcs",98,35,178,115,"Anopheles",1627,1,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,15; + set .@c_mob_num,mobcount("1@orcs",instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + if (.@mob_dead_num > 0) { + monster "1@orcs",0,0,"Anopheles",1627,.@mob_dead_num,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + } + end; + +OnDisable: + killmonster "1@orcs",instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + end; +} + +1@orcs,180,29,4 script Kurger#1-1 433,{ + donpcevent instance_npcname("Kurger#1-2", instance_id())+"::OnEnable"; + end; +} + +1@orcs,180,29,4 script Kurger#1-2 433,{ + end; + +OnEnable: + disablenpc instance_npcname("Kurger#1-1", instance_id()); + enablenpc instance_npcname("Kurger#1-2", instance_id()); + initnpctimer; + end; + +OnTimer10: + instance_announce 0, "Kruger: Damn... What took you so long!! I don't have all day!!",bc_map,"0xffff00"; + end; + +OnTimer5710: + instance_announce 0, "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: + instance_announce 0, "Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!",bc_map,"0xff4444"; + end; + +OnTimer20210: + instance_announce 0, "Kruger: Darn it.. They'll come in any minute. Ok. Listen to me now.",bc_map,"0xffff00"; + end; + +OnTimer24910: + instance_announce 0, "Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the magic to unseal the next zone.",bc_map,"0xffff00"; + end; + +OnTimer34310: + instance_announce 0, "Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone.",bc_map,"0xffff00"; + end; + +OnTimer39710: + instance_announce 0, "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: + instance_announce 0, "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: + instance_announce 0, "Mission: Sneak in and get rid of the 'Enchanted Orc'. Avoiding battles with other Orcs can be a tactical way of getting into the 2nd floor.",bc_map,"0x44ffff"; + donpcevent instance_npcname("#Resurrect Monsters1", instance_id())+"::OnEnable"; + donpcevent instance_npcname("#Resurrect Monsters2", instance_id())+"::OnEnable"; + donpcevent instance_npcname("#Resurrect Monsters3", instance_id())+"::OnEnable"; + disablenpc instance_npcname("Kurger#1-2", instance_id()); + end; + +OnTimer60000: + areamonster "1@orcs",137,83,143,89,"Enchanted Orc",1023,1,instance_npcname("Kurger#1-2", instance_id())+"::OnMyMobDead"; + stopnpctimer; + end; + +OnMyMobDead: + donpcevent instance_npcname("B1 Area 1", instance_id())+"::OnEnable"; + end; +} + +1@orcs,168,125,0 script B1 Area 1 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("B1 Area 1", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("B1 Area 1", instance_id()); + areamonster "1@orcs",103,105,109,111,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs", instance_id())+"::OnMyMobDead1"; + end; + +OnTouch: + warp "1@orcs",168,130; + end; + +OnContinue: + donpcevent instance_npcname("B1 Area 2", instance_id())+"::OnEnable"; + initnpctimer; + end; + +OnTimer10300: + instance_announce 0, "Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shamans started to control them with her magic.",bc_map,"0xff4499"; + end; + +OnTimer18700: + instance_announce 0, "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 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("B1 Area 2", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("B1 Area 2", instance_id()); + areamonster "1@orcs",32,40,38,46,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs", instance_id())+"::OnMyMobDead2"; + end; + +OnTouch: + warp "1@orcs",85,85; + end; + +OnContinue: + donpcevent instance_npcname("B1 Area 3", instance_id())+"::OnEnable"; + initnpctimer; + end; + +OnTimer30300: + instance_announce 0, "Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman has used those Orcs for her rituals.",bc_map,"0xff4499"; + end; +OnTimer37600: + instance_announce 0, "Kruger's Whisper: ... It all has to do with me. I am responsible for this evilness.",bc_map,"0xff4499"; + stopnpctimer; + end; +} + +1@orcs,38,105,0 script B1 Area 3 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("B1 Area 3", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("B1 Area 3", instance_id()); + areamonster "1@orcs",19,177,25,183,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs", instance_id())+"::OnMyMobDead3"; + end; + +OnTouch: + warp "1@orcs",38,110; + end; + +OnContinue: + donpcevent instance_npcname("B1 Area 4", instance_id())+"::OnEnable"; + initnpctimer; + end; + +OnTimer30300: + instance_announce 0, "Please, hang in there!",bc_map,"0xff4499"; + end; + +OnTimer32700: + instance_announce 0, "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 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("B1 Area 4", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("B1 Area 4", instance_id()); + donpcevent instance_npcname("#Resurrect Monsters1", instance_id())+"::OnDisable"; + donpcevent instance_npcname("#Resurrect Monsters2", instance_id())+"::OnDisable"; + donpcevent instance_npcname("#Resurrect Monsters3", instance_id())+"::OnDisable"; + donpcevent instance_npcname("#Resurrect Monsters4", instance_id())+"::OnDisable"; + end; + +OnTouch: + warp "2@orcs",32,171; + end; +} + +1@orcs,1,1,0 script B1 Area Mobs -1,{ + end; + +OnMyMobDead1: + donpcevent instance_npcname("B1 Area 1", instance_id())+"::OnContinue"; + end; + +OnMyMobDead2: + donpcevent instance_npcname("B1 Area 2", instance_id())+"::OnContinue"; + end; + +OnMyMobDead3: + donpcevent instance_npcname("B1 Area 3", instance_id())+"::OnContinue"; + end; +} + +// Orc's Memory Floor 1 +2@orcs,36,171,0 script #2Resurrect Monsters1 844,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#2Resurrect Monsters1", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("#2Resurrect Monsters1", instance_id()); + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Vengeful Orc",1152,1,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + end; + +OnDisable: + killmonster "2@orcs",instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,30; + set .@c_mob_num,mobcount("2@orcs",instance_npcname("#2Resurrect Monster1", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + if (.@mob_dead_num > 0) { + set .@mob_ran,rand(1,30); + if (.@mob_ran > 29) { + monster "2@orcs",0,0,"Vengeful Orc",1152,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + } + else if ((.@mob_ran > 28) && (.@mob_ran < 30)) { + monster "2@orcs",0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + set mob_ran2,rand(1,10); + } + else if ((.@mob_ran > 26) && (.@mob_ran < 29)) { + areamonster "2@orcs",157,112,167,122,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + if (rand(1,10) == 9) { + instance_announce 0, "Warning: High Orcs are gathering near area 3.",bc_map,"0xff4444"; + } + } + else { + areamonster "2@orcs",173,13,183,23,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + if (rand(1,5) == 3) { + instance_announce 0, "Caution: The Forces have started to concentrate at the Shaman's Altar.",bc_map,"0x77ff77"; + } + if (rand(1,70) == 50) { + initnpctimer; + } + } + } + end; + +OnTimer10: + instance_announce 0, "Voice from somewhere: Foolish... Do you really think the altar would fall like that?",bc_map,"0xff4444"; + end; + +OnTimer4010: + instance_announce 0, "[ Wraiths were summoned by an unknown power ]",bc_map,"0x77ff77"; + areamonster "2@orcs",167,25,177,35,"Wraith",1475,30,instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnMyMobDead"; + stopnpctimer; + end; +} + +2@orcs,36,171,0 script #2Resurrect Monsters3 844,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#2Resurrect Monsters3", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("#2Resurrect Monsters3", instance_id()); + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Orc Zombie",1153,1,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,30; + set .@c_mob_num,mobcount("2@orcs",instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + set .@mob_ran,rand(1,30); + if (.@mob_ran > 29) { + if (.@mob_dead_num > 0) { + monster "2@orcs",0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + } + } + else if ((.@mob_ran > 6) && (.@mob_ran < 30)) { + if (.@mob_dead_num > 0) { + areamonster "2@orcs",168,10,184,26,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + if (rand(1,15) == 3) { + instance_announce 0, "Warning: Orc Archer teams are gathering near the altar.",bc_map,"0xff4444"; + } + } + } + else { + if (.@mob_dead_num > 0) { + areamonster "2@orcs",168,21,184,21,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + } + } + end; + +OnDisable: + killmonster "2@orcs",instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnMyMobDead"; + end; +} + +2@orcs,180,30,0 script #2Resurrect Monsters4 844,{ + end; + +OnInstanceInit: + enablenpc instance_npcname("#2Resurrect Monsters4", instance_id()); + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + end; + +OnMyMobDead: + set .@callnum,10; + set .@c_mob_num,mobcount("2@orcs",instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + if (.@mob_dead_num > 0) { + monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead"; + } + end; +} + +2@orcs,35,169,4 script Kruger#2-1 433,{ + donpcevent instance_npcname("Kruger#2-2", instance_id())+"::OnEnable"; + end; +} + +2@orcs,35,169,4 script Kruger#2-2 433,{ + end; + +OnEnable: + disablenpc instance_npcname("Kruger#2-1", instance_id()); + enablenpc instance_npcname("Kruger#2-2", instance_id()); + initnpctimer; + end; + +OnTimer10: + instance_announce 0, "Kruger's Whisper: I'll tell you how to get to the Shaman's altar.",bc_map,"0xffff00"; + end; + +OnTimer3510: + instance_announce 0, "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: + instance_announce 0, "Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily.",bc_map,"0xffff00"; + end; + +OnTimer16310: + instance_announce 0, "Kruger's Whisper: But still try keep the battles not too noticable so the Shaman won't guard the altar with her direct army squad.",bc_map,"0xffff00"; + end; + +OnTimer21910: + instance_announce 0, "Kruger's Whisper: Only the Party Leader can strengthen the flames so protect your leader.",bc_map,"0xffff00"; + end; + +OnTimer23910: + instance_announce 0, "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", instance_id())+"::OnEnable"; + donpcevent instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnEnable"; + donpcevent instance_npcname("Torch#1-1", instance_id())+"::OnEnable"; + disablenpc instance_npcname("Kruger#2-2", instance_id()); + end; +} + +2@orcs,26,164,0 script Torch#1-1 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#1-2", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#1-1", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#1-1", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#1-1", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,55,155,0 script Torch#1-2 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#1-3", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#1-2", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#1-2", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#1-2", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,108,146,0 script Torch#1-3 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#1-4", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#1-3", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#1-3", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#1-3", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,98,171,0 script Torch#1-4 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("#Warp2-1", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#1-4", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#1-4", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#1-4", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,48,100,0 script #Warp2-1 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("#Warp2-1", instance_id()); + end; + +OnEnable: + monster "2@orcs",109,156,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control", instance_id())+"::OnMyMobDead1"; + instance_announce 0, "The Chief Orc of Safeguards: Oh!! Looks like I have a company. Try me if you can!!",bc_map,"0xff8888"; + end; + +OnContinue: + enablenpc instance_npcname("#Warp2-1", instance_id()); + initnpctimer; + end; + +OnTimer10000: + areamonster "2@orcs",28,158,40,170,"Safeguard Chief",1981,1,instance_npcname("#Warp2-1", instance_id())+"::OnMyMobDead"; + stopnpctimer; + end; + +OnTouch: + warp "2@orcs",47,93; + end; +} + +2@orcs,35,92,0 script Torch#2-1 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#2-2", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#2-1", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,32,70,0 script Torch#2-2 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#2-3", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#2-2", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#2-2", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#2-2", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,70,31,0 script Torch#2-3 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#2-4", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#2-3", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#2-3", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#2-3", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,84,51,0 script Torch#2-4 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("#Warp2-2", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#2-4", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#2-4", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#2-4", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,101,55,0 script #Warp2-2 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("#Warp2-2", instance_id()); + end; + +OnEnable: + monster "2@orcs",67,64,"Orc Sniper",1982,1,instance_npcname("#Mobs Control", instance_id())+"::OnMyMobDead2"; + instance_announce 0, "Orc Sniper: Hah! Pretty impressive that you made it here, but your foolish little trip ends here...",bc_map,"0xff8888"; + end; + +OnContinue: + enablenpc instance_npcname("#Warp2-2", instance_id()); + initnpctimer; + end; + +OnTimer10000: + areamonster "2@orcs",40,91,52,103,"Orc Sniper",1982,1,instance_npcname("#Warp2-2", instance_id())+"::OnMyMobDead"; + stopnpctimer; + end; + +OnTouch: + warp "2@orcs",107,55; + end; +} + +2@orcs,142,145,0 script Torch#3-1 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#3-2", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#3-1", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,162,134,0 script Torch#3-2 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#3-3", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#3-2", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#3-2", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#3-2", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,144,117,0 script Torch#3-3 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("Torch#3-4", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#3-3", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#3-3", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#3-3", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,136,98,0 script Torch#3-4 844,{ + progressbar "ffff00",5; + donpcevent instance_npcname("#Warp2-3", instance_id())+"::OnEnable"; + initnpctimer; + disablenpc instance_npcname("Torch#3-4", instance_id()); + end; + +OnInstanceInit: + disablenpc instance_npcname("Torch#3-4", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Torch#3-4", instance_id()); + end; + +OnTimer100: + specialeffect EF_FIREPILLAR; + end; + +OnTimer2000: + specialeffect EF_FIREPILLARBOMB; + stopnpctimer; + end; +} + +2@orcs,167,104,0 script #Warp2-3 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("#Warp2-3", instance_id()); + end; + +OnEnable: + monster "2@orcs",0,0,"Depraved Orc Spirit",1982,1,instance_npcname("#Mobs Control", instance_id())+"::OnMyMobDead3"; + instance_announce 0, "Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!",bc_map,"0xff8888"; + end; + +OnContinue: + monster "2@orcs",117,61,129,73,"Depraved Orc Spirit",1982,1,instance_npcname("#Warp2-3", instance_id())+"::OnMyMobDead"; + donpcevent instance_npcname("#Boss Control", instance_id())+"::OnEnable"; + enablenpc instance_npcname("#Warp2-3", instance_id()); + initnpctimer; + end; + +OnTimer10: + instance_announce 0, "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: + instance_announce 0, "Shaman Cargalache: My loyal slave, go get those intruders!",bc_map,"0xffff00"; + end; + +OnTimer10310: + instance_announce 0, "Depraved Orc Hero: Whatever you say, my lord.",bc_map,"0xff7777"; + end; + +OnTimer13110: + instance_announce 0, "Caution: You are 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 "2@orcs",167,95; + end; +} + +2@orcs,36,171,0 script #Boss Control 844,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#Boss Control", instance_id()); + end; + +OnEnable: + monster "2@orcs",185,8,"Shaman Cargalache",1983,1,instance_npcname("#Boss Control", instance_id())+"::OnMyMobDead"; + monster "2@orcs",179,15,"Depraved Orc Hero",1087,1; + end; + +OnMyMobDead: + donpcevent instance_npcname("Kruger#", instance_id())+"::OnEnable"; + set .@mob_ran,rand(1,4); + if (.@mob_ran == 1) { + instance_announce 0, "Shaman Cargalache: How... How could this be... How could someone like you...!!",bc_map,"0xffff00"; + } + else if (.@mob_ran == 1) { + instance_announce 0, "Shaman Cargalache: How is it that I've been overpowered by mere humans!",bc_map,"0xffff00"; + } + else if (.@mob_ran == 2) { + instance_announce 0, "Shaman Cargalache: This... This can't be the end...",bc_map,"0xffff00"; + } + else if (.@mob_ran == 3) { + instance_announce 0, "Shaman Cargalache: I... Can't die... Yet...!",bc_map,"0xffff00"; + } + else { + instance_announce 0, "Shaman Cargalache: Defeated by these fools... It can't be happening...!",bc_map,"0xffff00"; + } + donpcevent instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnDisable"; + donpcevent instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnDisable"; + donpcevent instance_npcname("#Warp Outside Orc Dun", instance_id())+"::OnEnable"; + end; +} + +2@orcs,182,8,0 script #Warp Outside Orc Dun 45,3,3,{ +OnInstanceInit: + disablenpc instance_npcname("#Warp Outside Orc Dun", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("#Warp Outside Orc Dun", instance_id()); + end; + +OnTouch: + warp "gef_fild10",240,197; + end; +} + +2@orcs,172,13,0 script Kruger# 433,{ + 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 alright.. 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 say anything."; + set 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#", instance_id()); + end; + +OnEnable: + enablenpc instance_npcname("Kruger#", instance_id()); + end; +} + +2@orcs,36,171,0 script #Mobs Control 844,{ + end; + +OnMyMobDead1: + donpcevent instance_npcname("#Warp2-1", instance_id())+"::OnContinue"; + end; + +OnMyMobDead2: + donpcevent instance_npcname("#Warp2-2", instance_id())+"::OnContinue"; + end; + +OnMyMobDead3: + donpcevent instance_npcname("#Warp2-3", instance_id())+"::OnContinue"; + end; +} diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf index a6b2897e2..670a7e38a 100644 --- a/npc/scripts_athena.conf +++ b/npc/scripts_athena.conf @@ -293,5 +293,5 @@ npc: npc/other/monster_race.txt // ------------------------ Instances --------------------------- npc: npc/instances/SealedShrine.txt //npc: npc/instances/EndlessTower.txt -//npc: npc/instances/OrcsMemory.txt +npc: npc/instances/OrcsMemory.txt // -------------------------------------------------------------- -- cgit v1.2.3-60-g2f50