//================= Hercules Script =======================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2013-2015 Hercules Dev Team
//= Copyright (C) Euphy
//= Copyright (C) Heris
//= Copyright (C) Ziu
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program. If not, see .
//=========================================================================
//= Old Glast Heim
//================= Description ===========================================
//= Discover the history of events that took place in the Glast Heim castle
//= and how it ended up in ruins.
//================= Current Version =======================================
//= 1.1
//=========================================================================
1@gl_k mapflag src4instance
2@gl_k mapflag src4instance
glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{
mes "^ff0000This isn't considered a normal progression dungeon. Please note this point.^000000";
next;
mes "[Hugin]";
mes "Huh? You feel like you have seen me in different places? I see. What can I say?";
next;
.@ghins_time = questprogress(12317,PLAYTIME);
if (!.@ghins_time) {
.@party_id = getcharid(1);
.@p_name$ = getpartyname(.@party_id);
.@md_name$ = "Old Glast Heim";
if (!instance_check_party(.@party_id,2)) { // Custom
mes "[Hugin]";
mes "Where are your party members?";
close;
}
if (getcharid(0) == getpartyleader(.@party_id,2))
.@menu$ = "Create the time gap.:Enter the Old Glast Heim.:Cancel.";
else
.@menu$ = ":Enter the Old Glast Heim.:Cancel.";
switch(select(.@menu$)) {
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;
}
if (instance_attachmap("1@gl_k",.@instance) == "" || instance_attachmap("2@gl_k",.@instance) == "") {
mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!";
instance_destroy(.@instance);
close;
}
instance_set_timeout 3600,300,.@instance;
instance_init(.@instance);
mes "[Hugin]";
mes "The time gap was created. When you're ready, talk to me again.";
close;
case 2:
if( has_instance("1@gl_k") == "" ) {
mes "The memorial dungeon "+.@md_name$+" does not exist.";
mes "The party leader did not generate the dungeon yet.";
close;
} else {
mapannounce "glast_01",strcharinfo(0)+", member of the party "+.@p_name$+" entered the instance "+.@md_name$+".",bc_map,"0x00ff99";
setquest 12317;
setquest 12318;
warp "1@gl_k",150,20;
end;
}
case 3:
close;
}
} else if (.@ghins_time == 1) {
mes "[Hugin]";
mes "Oh, geez.";
mes "Your body is still under the effects of time travel. In this state, you will not be able to travel again.";
next;
mes "[Hugin]";
mes "You should rest and come back later for more.";
close;
} else {
mes "^0000ffOld Glast Heim access trail has been cleared. It is now possible to talk to Hugin.^000000";
erasequest 12317;
if (questprogress(12318)) erasequest 12318;
if (questprogress(12319)) erasequest 12319;
close;
}
}
//== Floor 1 ===============================================
1@gl_k,149,41,6 script Varmunt#ghinstance1 4_M_BARMUND,{
if (getcharid(0) == getpartyleader(getcharid(1),2)) {
mes "Hey ^0000ffguys^000000, were you sent here to help me?";
npctalk "Hey guys, were you sent here to help me?";
cutin "gl_barmund1",2;
next;
select("Oh. Well, about that...");
mes "["+strcharinfo(0)+"]";
mes "Oh yeah, hahaha, we were told to meet someone called Varmunt.";
unittalk getcharid(3),"Oh yeah, hahaha, we were told to meet someone called Varmunt.";
next;
mes "[Varmunt]";
mes "We don't have time. We must tell Sir Heinrich about Himmelmez's invasion.";
npctalk "We don't have time. We must tell Sir Heinrich about Himmelmez's invasion.";
cutin "gl_barmund2",2;
next;
select("What Himmelmez...");
mes "["+strcharinfo(0)+"]";
mes "Himmelmez? Who the hell is she?";
unittalk getcharid(3),"Himmelmez? Who the hell is she?";
next;
mes "[Varmunt]";
mes "Didn't anybody give you the basic informations?";
npctalk "Didn't anybody give you the basic informations?";
cutin "gl_barmund3",2;
next;
mes "[Varmunt]";
mes "The Valkyrie of the dead. She's after the Ymir's Heart pieces hidden here.";
npctalk "The Valkyrie of the dead. She's after the Ymir's Heart pieces hidden here";
cutin "gl_barmund2",2;
next;
mes "[Varmunt]";
mes "She's capable of destroying the whole castle for this purpose.";
npctalk "She's capable of destroying the whole castle for this purpose.";
next;
mes "[Varmunt]";
mes "Hurry up! Inform Sir Heinrich that Himmelmez is coming. I will briefly explore the enchantments she made to this place!";
npctalk "Hurry up! Inform Sir Heinrich that Himmelmez is coming. I will briefly explore the enchantments she made to this place!";
close2;
cutin "gl_barmund2",255;
donpcevent instance_npcname("Varmunt#ghinstance1")+"::OnDisable2";
end;
} else {
mes "[Varmunt]";
mes "Where is he? We";
mes "need his help.";
cutin "gl_barmund2",2;
close2;
cutin "gl_barmund2",255;
end;
}
OnInstanceInit:
donpcevent instance_npcname("Varmunt#ghinstance1")+"::OnEnable";
end;
OnDisable:
hideonnpc instance_npcname("Varmunt#ghinstance1");
end;
OnDisable2:
hideonnpc instance_npcname("Varmunt#ghinstance1");
for(.@i = 1; .@i<=20; .@i += 4) {
hideoffnpc instance_npcname("Khalitzburg Crusader#"+.@i);
hideoffnpc instance_npcname("Khalitzburg Crusader#"+(.@i+1));
hideoffnpc instance_npcname("White Knight#"+(.@i+2));
hideoffnpc instance_npcname("White Knight#"+(.@i+3));
}
hideoffnpc instance_npcname("Khalitzburg Crusader#21");
hideoffnpc instance_npcname("Khalitzburg Crusader#22");
hideoffnpc instance_npcname("Heinrich#ghinstance1");
hideoffnpc instance_npcname("Varmunt#ghinstance2");
end;
OnEnable:
hideoffnpc instance_npcname("Varmunt#ghinstance1");
end;
}
1@gl_k,145,54,6 script Khalitzburg Crusader#1 4_F_KHALITZBURG,{
mes "["+strnpcinfo(1)+"]";
switch((atoi(strnpcinfo(2)) + 1) / 2) {
case 1: mes "Would I be recruited?"; break;
case 2: mes "May I help you?"; break;
case 3: mes "..."; break;
case 4: mes "I do not like to chit-chat during work."; break;
case 5: mes "The aura of the castle has changed, don't you think? Something like a presence seemed to appear a little while ago."; break;
case 6: mes "I wonder what commandant Varmunt is doing. I heard people are running away..."; break;
case 7: mes "Quiet please."; break;
case 8: mes "A fuss seems to be near."; break;
case 9: mes "A dream last night really bothered me. My mother used to say that these dreams may come true..."; break;
case 10: mes "Is Varmunt going with you? The commandant is waiting for you."; break;
case 11: mes "Soon it's time to change shifts. I wonder what happened to the other knights."; break;
}
close;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
hideoffnpc instance_npcname(strnpcinfo(0));
end;
}
1@gl_k,154,54,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#2 4_F_KHALITZBURG
1@gl_k,145,59,6 duplicate(Khalitzburg Crusader#1) White Knight#3 4_WHITEKNIGHT
1@gl_k,154,59,3 duplicate(Khalitzburg Crusader#1) White Knight#4 4_WHITEKNIGHT
1@gl_k,145,64,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#5 4_F_KHALITZBURG
1@gl_k,154,64,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#6 4_F_KHALITZBURG
1@gl_k,145,69,6 duplicate(Khalitzburg Crusader#1) White Knight#7 4_WHITEKNIGHT
1@gl_k,154,69,3 duplicate(Khalitzburg Crusader#1) White Knight#8 4_WHITEKNIGHT
1@gl_k,145,74,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#9 4_F_KHALITZBURG
1@gl_k,154,74,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#10 4_F_KHALITZBURG
1@gl_k,145,79,6 duplicate(Khalitzburg Crusader#1) White Knight#11 4_WHITEKNIGHT
1@gl_k,154,79,3 duplicate(Khalitzburg Crusader#1) White Knight#12 4_WHITEKNIGHT
1@gl_k,145,84,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#13 4_F_KHALITZBURG
1@gl_k,154,84,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#14 4_F_KHALITZBURG
1@gl_k,145,89,6 duplicate(Khalitzburg Crusader#1) White Knight#15 4_WHITEKNIGHT
1@gl_k,154,89,3 duplicate(Khalitzburg Crusader#1) White Knight#16 4_WHITEKNIGHT
1@gl_k,145,94,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#17 4_F_KHALITZBURG
1@gl_k,154,94,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#18 4_F_KHALITZBURG
1@gl_k,145,99,6 duplicate(Khalitzburg Crusader#1) White Knight#19 4_WHITEKNIGHT
1@gl_k,154,99,3 duplicate(Khalitzburg Crusader#1) White Knight#20 4_WHITEKNIGHT
1@gl_k,145,104,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#21 4_F_KHALITZBURG
1@gl_k,154,104,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#22 4_F_KHALITZBURG
1@gl_k,149,100,6 script Heinrich#ghinstance1 4_M_HEINRICH,{
if (getcharid(0) == getpartyleader(getcharid(1),2)) {
cutin "gl_heinrich2",2;
select("Heinrich, about the castle...");
mes "["+strcharinfo(0)+"]";
mes "Do you know what is happening now in the castle, Heinrich?";
unittalk getcharid(3),"Do you know what is happening now in the castle, Heinrich?";
next;
mes "[Heinrich]";
mes "You are the adventurers who have come with Varmunt, right?";
npctalk "You are the adventurers who have come with Varmunt, right?";
next;
mes "[Heinrich]";
mes "What can I do for you? Is there something wrong?";
npctalk "What can I do for you? Is there something wrong?";
next;
select("The Ymir's Heart. Himmelmez...");
mes "["+strcharinfo(0)+"]";
mes "Himmelmez, the Valkyrie of the dead is looking to get a piece of the Ymir's heart hidden in the castle!";
unittalk getcharid(3),"Himmelmez, the Valkyrie of the dead is looking to get a piece of the Ymir's heart hidden in the castle!";
next;
mes "[Heinrich]";
mes "Haha. That's a nice joke. Now tell me what brings you here.";
npctalk "Haha. That's a nice joke. Now tell me what brings you here.";
cutin "gl_heinrich1",2;
next;
mes "[Varmunt]";
mes "I am not joking Heinrich, Sir. Now, if my judgement is correct, she will be here soon.";
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk1";
cutin "gl_barmund2",2;
next;
mes "[Varmunt]";
mes "I trust this guy following me. The Ymir's Heart pieces must be hidden in a safe place before Himmelmez takes them!";
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk2";
next;
select("Even if you do not believe...");
mes "["+strcharinfo(0)+"]";
mes "Even if you don't believe it, do something. We do not have much time!";
unittalk getcharid(3),"Even if you don't believe it, do something. We do not have much time!";
cutin "gl_barmund2",255;
next;
mes "[Heinrich]";
mes "I will be glad if you give me two minutes, please. But now the king isn't in his room.";
npctalk "I will be glad if you give me two minutes, please. But now the king isn't in his room.";
cutin "gl_heinrich1",2;
next;
mes "[Heinrich]";
mes "But I think that with such a busy agenda, he won't be able to take care of this.";
npctalk "But I think that with such a busy agenda, he won't be able to take care of this.";
donpcevent instance_npcname("Heinrich#ghinstance1")+"::OnDisable";
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnEnable";
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnEnable";
donpcevent instance_npcname("#talkinstance1")+"::OnEnable";
mapannounce instance_mapname("1@gl_k"), "???? Shout: Ohohohoho~!",bc_map,"0xFFFF00";
close2;
cutin "gl_heinrich1",255;
end;
} else {
mes "[Heinrich]";
mes "Where is your representative?";
mes "I need to talk to him.";
cutin "gl_heinrich2",2;
close2;
cutin "gl_heinrich2",255;
end;
}
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance1");
end;
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance1");
end;
}
1@gl_k,152,97,3 script Varmunt#ghinstance2 4_M_BARMUND,{
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Varmunt#ghinstance2");
end;
OnEnable:
hideoffnpc instance_npcname("Varmunt#ghinstance2");
end;
OnTalk1:
npctalk "I am not joking Heinrich, Sir. Now, if my judgement is correct, she will be here soon.";
end;
OnTalk2:
npctalk "I trust this guy following me. The Ymir's Heart pieces must be hidden in a safe place before Himmelmez takes them!";
end;
OnTalk3:
npctalk "Himmelmez!! Through the cracks!";
end;
OnTalk4:
npctalk "Unbelievable. My men are...This kind of thing is not possible!";
end;
OnTalk5:
npctalk "Heinrich, Sir! I need a quick decision.";
end;
OnTalk6:
npctalk "To prevent other attacks, go chase her!";
end;
OnTalk7:
npctalk "Now, your help is desperately needed. I hopefully ask you.";
end;
}
1@gl_k,149,97,6 script Heinrich#ghinstance2 4_M_HEINRICH,{
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance2");
end;
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance2");
end;
OnTalk1:
npctalk "Who?!";
end;
OnTalk2:
npctalk "That who rules the dead? No doubt, a pretty story. Here, some tea will be served to entertain the ladies. Unfortunately, I do not...";
end;
OnTalk3:
npctalk "What did you say?";
end;
OnTalk4:
npctalk "The King responded to the invitation of the Rune Midgard's Royal Family and hasn't come back yet.";
end;
OnTalk5:
npctalk "Just leave before you get in trouble. This is the King's will!";
end;
OnTalk6:
npctalk "Damn! She has detected the position of the Ymir's Heart pieces.";
end;
OnTalk7:
npctalk "Now, Khalitzburg Crusaders and White Knights, follow me...";
end;
OnTalk8:
npctalk "Unbelievable. My men are...This kind of thing is not possible!";
end;
OnTalk9:
npctalk "I'm sorry...";
end;
OnTalk10:
npctalk "I'm sorry, my lord! Do not forgive me!";
end;
}
1@gl_k,149,100,6 script Heinrich#ghinstance3 4_M_HEINRICH,{
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance3");
end;
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance3");
end;
OnTalk1:
npctalk "I cannot believe I killed my men with my own hands!";
end;
OnTalk2:
npctalk "Varmunt is right about that. Now is not the time to regret.";
end;
OnTalk3:
npctalk "People, gather around and follow my orders.";
end;
OnTalk4:
npctalk "Himmelmez is turning into monsters all the people she put to sleep.";
end;
OnTalk5:
npctalk "I don't know if there are survivors around here yet.";
end;
OnTalk6:
npctalk "If there are survivors from this evil thing, please rescue them.";
end;
OnTalk7:
npctalk "With Varmunt by my side, I'm going to chase Himmelmez down.";
end;
OnTalk8:
npctalk "Hurry up Varmunt, let's chase her down.";
end;
}
1@gl_k,149,89,1 script Himmelmez#ghinstance1 4_F_HIMEL,{
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Himmelmez#ghinstance1");
end;
OnEnable:
hideoffnpc instance_npcname("Himmelmez#ghinstance1");
end;
OnTalk1:
npctalk "This~ Did I interrupt your conversation? The thing is, it's been too long since the last guests saw some sadness spread...";
end;
OnTalk2:
npctalk "My name is Lisa Kahn Himmelmez. I am called the Valkyrie of the dead, master of the Dullahan.";
end;
OnTalk3:
npctalk "There's no need to pretend to be so laid back. Don't bluff about the whereabouts of you Majesty and things will be alright.";
end;
OnTalk4:
npctalk "Hohoho, do you have any questions? You're a really mysterious man.";
end;
OnTalk5:
npctalk "Not coveting the king's throne, you're such a stupid man, only waiting for his return. Your innocence is true, I love it.";
end;
OnTalk6:
npctalk "You make me wish we hadn't met in this situation. Too bad we did.";
end;
OnTalk7:
npctalk "Well~ Today, with such a busy commandant, I won't be able to talk as much as I'd love for you to contemplate my explanation~";
end;
OnTalk8:
npctalk "I gotta get my job done. Meanwhile why don't you meet my men? Hohoho.";
end;
}
//== Control Timer =========================================
1@gl_k,0,0,0 script #talkinstance1 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#talkinstance1");
end;
OnEnable:
enablenpc instance_npcname("#talkinstance1");
initnpctimer;
end;
OnTimer5000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk1";
end;
OnTimer10000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk1";
end;
OnTimer15000:
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk3";
end;
OnTimer20000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk2";
end;
OnTimer25000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk2";
end;
OnTimer30000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk3";
end;
OnTimer35000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk3";
end;
OnTimer45000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk4";
end;
OnTimer50000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk5";
end;
OnTimer55000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk6";
end;
OnTimer60000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk4";
end;
OnTimer65000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk5";
end;
OnTimer70000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk7";
end;
OnTimer75000:
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk8";
end;
OnTimer80000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk6";
donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnDisable";
end;
OnTimer85000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk7";
hideonnpc instance_npcname("Varmunt#ghinstance1");
for(.@i = 1; .@i<=20; .@i += 4) {
hideonnpc instance_npcname("Khalitzburg Crusader#"+.@i);
hideonnpc instance_npcname("Khalitzburg Crusader#"+(.@i+1));
hideonnpc instance_npcname("White Knight#"+(.@i+2));
hideonnpc instance_npcname("White Knight#"+(.@i+3));
}
hideonnpc instance_npcname("Khalitzburg Crusader#21");
hideonnpc instance_npcname("Khalitzburg Crusader#22");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#talkinstance1")+"::OnMyMobDead";
monster .@map$,145,59,"Abyss Knight",2470,1,.@label$;
monster .@map$,154,59,"Abyss Knight",2470,1,.@label$;
monster .@map$,145,69,"Abyss Knight",2470,1,.@label$;
monster .@map$,154,69,"Abyss Knight",2470,1,.@label$;
monster .@map$,145,79,"Abyss Knight",2470,1,.@label$;
monster .@map$,154,79,"Abyss Knight",2470,1,.@label$;
monster .@map$,145,89,"Abyss Knight",2470,1,.@label$;
monster .@map$,154,89,"Abyss Knight",2470,1,.@label$;
monster .@map$,145,99,"Abyss Knight",2470,1,.@label$;
monster .@map$,154,99,"Abyss Knight",2470,1,.@label$;
for (.@i = 1; .@i <= 22; ++.@i)
hideoffnpc instance_npcname(".#ghinstance"+.@i);
donpcevent instance_npcname(".#ghinstance22")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance21")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance18")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance17")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance14")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance13")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance10")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance9")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance6")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance5")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance2")+"::OnTalkK";
donpcevent instance_npcname(".#ghinstance1")+"::OnTalkK";
end;
OnTimer88000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk8";
for(.@i = 1; .@i<=20; .@i += 4) {
hideonnpc instance_npcname(".#ghinstance"+.@i);
hideonnpc instance_npcname(".#ghinstance"+(.@i+1));
disablenpc instance_npcname(".#ghinstance"+(.@i+2));
disablenpc instance_npcname(".#ghinstance"+(.@i+3));
}
hideonnpc instance_npcname(".#ghinstance21");
hideonnpc instance_npcname(".#ghinstance22");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#talkinstance1")+"::OnMyMobDead";
monster .@map$,145,54,"Khalitzburg",2471,1,.@label$;
monster .@map$,154,54,"Khalitzburg",2471,1,.@label$;
monster .@map$,145,64,"Khalitzburg",2471,1,.@label$;
monster .@map$,154,64,"Khalitzburg",2471,1,.@label$;
monster .@map$,145,74,"Khalitzburg",2471,1,.@label$;
monster .@map$,154,74,"Khalitzburg",2471,1,.@label$;
monster .@map$,145,84,"Khalitzburg",2471,1,.@label$;
monster .@map$,154,84,"Khalitzburg",2471,1,.@label$;
monster .@map$,145,94,"Khalitzburg",2471,1,.@label$;
monster .@map$,154,94,"Khalitzburg",2471,1,.@label$;
monster .@map$,145,104,"Khalitzburg",2471,1,.@label$;
monster .@map$,154,104,"Khalitzburg",2471,1,.@label$;
end;
OnTimer93000:
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk4";
end;
OnTimer97000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk9";
end;
OnTimer105000:
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk10";
mapannounce instance_mapname("1@gl_k"), "Heinrich's Shout: Dead men, dead men all over the place!",bc_map,"0xFFFF00";
end;
OnTimer107000:
mapannounce instance_mapname("1@gl_k"), "Heinrich's Shout: Everybody! Go back!",bc_map,"0xFFFF00";
end;
OnTimer110000:
donpcevent instance_npcname(".#ghinstance22")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance21")+"::OnEffect1";
end;
OnTimer110500:
enablenpc instance_npcname(".#ghinstance20");
enablenpc instance_npcname(".#ghinstance19");
donpcevent instance_npcname(".#ghinstance20")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance19")+"::OnEffect1";
end;
OnTimer111000:
donpcevent instance_npcname(".#ghinstance18")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance17")+"::OnEffect1";
end;
OnTimer111500:
enablenpc instance_npcname(".#ghinstance16");
enablenpc instance_npcname(".#ghinstance15");
donpcevent instance_npcname(".#ghinstance16")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance15")+"::OnEffect1";
end;
OnTimer112000:
donpcevent instance_npcname(".#ghinstance14")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance13")+"::OnEffect1";
end;
OnTimer112500:
enablenpc instance_npcname(".#ghinstance12");
enablenpc instance_npcname(".#ghinstance11");
donpcevent instance_npcname(".#ghinstance12")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance11")+"::OnEffect1";
end;
OnTimer113000:
donpcevent instance_npcname(".#ghinstance10")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance9")+"::OnEffect1";
end;
OnTimer113500:
enablenpc instance_npcname(".#ghinstance8");
enablenpc instance_npcname(".#ghinstance7");
donpcevent instance_npcname(".#ghinstance8")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance7")+"::OnEffect1";
end;
OnTimer114000:
donpcevent instance_npcname(".#ghinstance6")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance5")+"::OnEffect1";
end;
OnTimer114500:
enablenpc instance_npcname(".#ghinstance4");
enablenpc instance_npcname(".#ghinstance3");
donpcevent instance_npcname(".#ghinstance4")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance3")+"::OnEffect1";
end;
OnTimer114750: //custom time
disablenpc instance_npcname(".#ghinstance3");
disablenpc instance_npcname(".#ghinstance4");
disablenpc instance_npcname(".#ghinstance7");
disablenpc instance_npcname(".#ghinstance8");
disablenpc instance_npcname(".#ghinstance11");
disablenpc instance_npcname(".#ghinstance12");
disablenpc instance_npcname(".#ghinstance15");
disablenpc instance_npcname(".#ghinstance16");
disablenpc instance_npcname(".#ghinstance19");
disablenpc instance_npcname(".#ghinstance20");
end;
OnTimer115000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable";
donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable";
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk1";
donpcevent instance_npcname(".#ghinstance2")+"::OnEffect1";
donpcevent instance_npcname(".#ghinstance1")+"::OnEffect1";
killmonster instance_mapname("1@gl_k"),instance_npcname("#talkinstance1")+"::OnMyMobDead";
end;
OnTimer120000:
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk5";
end;
OnTimer125000:
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk6";
end;
OnTimer130000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk2";
end;
OnTimer135000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk3";
end;
OnTimer140000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk4";
end;
OnTimer145000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk5";
end;
OnTimer150000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk6";
end;
OnTimer155000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk7";
end;
OnTimer160000:
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk7";
end;
OnTimer165000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk8";
end;
OnTimer167000:
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable";
end;
OnTimer168000:
donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnDisable";
donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable";
stopnpctimer;
donpcevent instance_npcname("#ghinstancewarp1")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp2")+"::OnEnable";
mapannounce instance_mapname("1@gl_k"), "9 o'clock warp leading to zone 2 is now open.",bc_map,"0xFFFF00";
donpcevent instance_npcname("#talkinstance1")+"::OnDisable";
donpcevent instance_npcname("#ghmemorialmob01")+"::OnEnable";
end;
OnMyMobDead:
end;
}
1@gl_k,145,54,6 script .#ghinstance1 MG_KHALITZBURG,{
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
hideoffnpc instance_npcname(strnpcinfo(0));
end;
OnEffect1:
specialeffect EF_GRANDCROSS;
specialeffect EF_LEXAETERNA;
end;
OnTalkK:
switch(atoi(replacestr(strnpcinfo(2),"ghinstance",""))) {
case 1: npctalk "I do not want to die."; break;
case 2: npctalk "Mom..."; break;
case 5: npctalk "Help."; break;
case 6: npctalk "My stomach hurts..."; break;
case 9: npctalk "Heinrich Sir, help!"; break;
case 10: npctalk "Ack... Ugh."; break;
case 13: npctalk "I'm thirsty."; break;
case 14: npctalk "Oh... No... I cannot die..."; break;
case 17: npctalk "This is so uncomfortable. Eww!"; break;
case 18: npctalk "Who am I..."; break;
case 21: npctalk "Uhh... My body."; break;
case 22: npctalk "I'm so thirsty!"; break;
}
end;
}
1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 MG_KHALITZBURG
1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 MG_KHALITZBURG
1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 MG_KHALITZBURG
1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 MG_KHALITZBURG
1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 MG_KHALITZBURG
1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 MG_KHALITZBURG
1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 MG_KHALITZBURG
1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 MG_KHALITZBURG
1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 MG_KHALITZBURG
1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 MG_KHALITZBURG
1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 MG_KHALITZBURG
1@gl_k,145,59,6 script .#ghinstance3 HIDDEN_NPC,{
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
hideoffnpc instance_npcname(strnpcinfo(0));
end;
OnEffect1:
specialeffect EF_GRANDCROSS;
specialeffect EF_LEXAETERNA;
end;
}
1@gl_k,154,59,3 duplicate(.#ghinstance3) .#ghinstance4 HIDDEN_NPC
1@gl_k,145,69,6 duplicate(.#ghinstance3) .#ghinstance7 HIDDEN_NPC
1@gl_k,154,69,3 duplicate(.#ghinstance3) .#ghinstance8 HIDDEN_NPC
1@gl_k,145,79,6 duplicate(.#ghinstance3) .#ghinstance11 HIDDEN_NPC
1@gl_k,154,79,3 duplicate(.#ghinstance3) .#ghinstance12 HIDDEN_NPC
1@gl_k,145,89,6 duplicate(.#ghinstance3) .#ghinstance15 HIDDEN_NPC
1@gl_k,154,89,3 duplicate(.#ghinstance3) .#ghinstance16 HIDDEN_NPC
1@gl_k,145,99,6 duplicate(.#ghinstance3) .#ghinstance19 HIDDEN_NPC
1@gl_k,154,99,3 duplicate(.#ghinstance3) .#ghinstance20 HIDDEN_NPC
1@gl_k,96,80,0 script #ghinstancewarp1 WARPNPC,1,2,{
end;
OnInstanceInit:
OnDisable:
disablenpc instance_npcname(strnpcinfo(0));
end;
OnEnable:
enablenpc instance_npcname(strnpcinfo(0));
end;
OnTouch:
.@map1$ = instance_mapname("1@gl_k");
.@map2$ = instance_mapname("2@gl_k");
switch(atoi(replacestr(strnpcinfo(2),"ghinstancewarp",""))) {
case 1: warp .@map1$,80,80; break;
case 2: warp .@map1$,105,80; break;
case 3: warp .@map1$,215,79; break;
case 4: warp .@map1$,195,79; break;
case 5: warp .@map1$,215,216; break;
case 6: warp .@map1$,235,216; break;
case 7: warp .@map2$,150,46; break;
case 8: warp .@map2$,126,123; break;
case 9: warp .@map2$,150,116; break;
case 10: warp .@map2$,174,101; break;
case 11: warp .@map2$,150,110; break;
case 12: warp .@map2$,150,179; break;
}
end;
}
1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 WARPNPC,1,2
1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 WARPNPC,1,2
1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 WARPNPC,1,2
1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 WARPNPC,1,2
1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 WARPNPC,1,2
1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 WARPNPC,1,2
2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 WARPNPC,1,2
2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 WARPNPC,1,2
2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 WARPNPC,1,2
2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 WARPNPC,1,2
2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 WARPNPC,1,2
//== Sector 1 Mobs =========================================
1@gl_k,0,0,0 script #ghmemorialmob01 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob01");
end;
OnEnable:
enablenpc instance_npcname("#ghmemorialmob01");
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
areamonster .@map$,76,99,87,10,"Suffering Chamberlain",2466,15,.@label$;
areamonster .@map$,67,39,12,6,"Fallen Monk",2465,20,.@label$;
areamonster .@map$,67,39,12,6,"Suffering Chamberlain",2466,3,.@label$;
areamonster .@map$,32,75,51,58,"Decayed Butler",2464,6,.@label$;
areamonster .@map$,45,84,6,137,"Decayed Butler",2464,12,.@label$;
end;
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
.@mob_dead_num = 56 - mobcount(.@map$,.@label$);
if (.@mob_dead_num > 35) {
mapannounce .@map$, "Seems like Himmelmez drains the dead's souls. They must be destroyed.",bc_map,"0xFFFFFF";
killmonster .@map$,.@label$;
donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable";
}
end;
}
1@gl_k,17,51,3 script Aspiring Butcher#clearGH 4_M_KID1,{
if (getcharid(0) == getpartyleader(getcharid(1),2)) {
mes "[Aspiring Butcher]";
mes "Help me! Help me!!!";
next;
select("Hey, wake up! Are there any other survivors?");
mes "["+strcharinfo(0)+"]";
mes "Hey, wake up! Are you alone?";
unittalk getcharid(3),"Hey, wake up! Are you alone?";
next;
mes "[Aspiring Butcher]";
mes "The Chamberlain... the Monk... They've become monsters. I couldn't do anything.";
npctalk "The Chamberlain... the Monk... They've become monsters. I couldn't do anything.";
next;
mes "[Aspiring Butcher]";
mes "I just stood still... Nothing, I couldn't do anything...";
npctalk "I just stood still... Nothing, I couldn't do anything...";
next;
select("Wake up!");
mes "["+strcharinfo(0)+"]";
mes "Wake up kid! Go east along the central passage to the outside! The path is safe!";
unittalk getcharid(3),"Wake up kid! Go east along the central passage to the outside! The path is safe!";
next;
mes "[Aspiring Butcher]";
mes "East passage? Alone? How?";
npctalk "East passage? Alone? How?";
next;
select("I can guide you through the path.");
mes "["+strcharinfo(0)+"]";
mes "I will guide you, perhaps that will help. If you want to close your eyes try not to hit anything.";
unittalk getcharid(3),"I will guide you, perhaps that will help. If you want to close your eyes try not to hit anything.";
next;
mes "[Aspiring Butcher]";
mes "Aspiring Butcher: I know, I... I'm trying to.";
npctalk "Aspiring Butcher: I know, I... I'm trying to.";
donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnDisable";
donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable";
close;
} else {
mes "[Aspiring Butcher]";
mes "Somebody help me, somebody help me, please.";
close;
}
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Aspiring Butcher#clearGH");
end;
OnEnable:
hideoffnpc instance_npcname("Aspiring Butcher#clearGH");
end;
}
//== Sector 2 Mobs =========================================
1@gl_k,291,145,3 script Hollgrehenn Destroyer 4_F_JOB_BLACKSMITH,{
if (getcharid(0) == getpartyleader(getcharid(1),2)) {
mes "[Hollgrehenn Destroyer]";
mes "Yaaa!! Die!!!";
npctalk "Yaaa!! Die!!!";
specialeffect EF_CRASHEARTH;
next;
select("Don't worry!");
mes "["+strcharinfo(0)+"]";
mes "Don't worry! Mam. Are you alone? No other survivors?";
unittalk getcharid(3),"Don't worry! Mam. Are you alone? No other survivors?";
next;
mes "[Hollgrehenn Destroyer]";
mes "I'm the only survivor left";
npctalk "I'm the only survivor left";
next;
select("This is a very dangerous place.");
mes "["+strcharinfo(0)+"]";
mes "This is a very dangerous place. You know the central passage? Do you think you can move... and get to a safer place?";
unittalk getcharid(3),"This is a very dangerous place. You know the central passage? Do you think you can move... and get to a safer place?";
next;
mes "[Hollgrehenn Destroyer]";
mes "Yes, I am able to move. I'll move for my baby's sake.";
npctalk "Yes, I am able to move. I'll move for my baby's sake.";
next;
select("Survive the road...");
mes "["+strcharinfo(0)+"]";
mes "You and your baby will get out of here safely. But I'm sorry I can't help you more.";
unittalk getcharid(3),"You and your baby will get out of here safely. But I'm sorry I can't help you more.";
next;
mes "[Hollgrehenn Destroyer]";
mes "That's ok. Thank you for helping us. I'm good to go alone. Ah and good luck also.";
npctalk "That's ok. Thank you for helping us. I'm good to go alone. Ah and good luck also.";
donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnDisable";
donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable";
close;
} else {
mes "[Hollgrehenn Destroyer]";
mes "Somebody help me, somebody help me, please";
close;
}
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Hollgrehenn Destroyer");
end;
OnEnable:
hideoffnpc instance_npcname("Hollgrehenn Destroyer");
end;
}
1@gl_k,0,0,0 script #ghmemorialmob02 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob02");
end;
OnEnable:
enablenpc instance_npcname("#ghmemorialmob02");
donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable";
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
mapannounce .@map$,"3 o'clock warp leading to zone 3 is now open.",bc_map,"0xFFFF00";
areamonster .@map$,241,113,291,19,"Suffering Chamberlain",2466,12,.@label$;
areamonster .@map$,241,113,291,19,"Decayed Monk",2464,12,.@label$;
areamonster .@map$,227,217,291,135,"Suffering Chamberlain",2466,12,.@label$;
areamonster .@map$,227,217,291,135,"Decayed Monk",2464,12,.@label$;
end;
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
.@mob_dead_num = 48 - mobcount(.@map$,.@label$);
if (.@mob_dead_num > 28) {
mapannounce .@map$, "Seems like Himmelmez drains the dead's souls. They must be destroyed.",bc_map,"0xFFFFFF";
killmonster .@map$,.@label$;
donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable";
}
end;
}
//== Tramp Mobs ============================================
1@gl_k,221,82,3 script Breathless Man#GHtramp1 4_M_DIEMAN,4,4,{
end;
OnTouch:
.@i = rand(1,10);
if (.@i == 1) .@mobs = 3;
else if (.@i == 2) .@mobs = 4;
else if (.@i == 3) .@mobs = 5;
else if (.@i < 7) .@mobs = 6;
else .@mobs = 7;
getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
specialeffect EF_VENOMDUST;
monster .@map$,.@x,.@y,"Muck Worm",2467,.@mobs,instance_npcname(strnpcinfo(0))+"::OnMyMobDead";
disablenpc instance_npcname(strnpcinfo(0));
end;
OnMyMobDead:
end;
OnInstanceInit:
OnEnable:
enablenpc instance_npcname(strnpcinfo(0));
end;
OnDisable:
disablenpc instance_npcname(strnpcinfo(0));
end;
}
1@gl_k,213,63,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp2 4_M_DIEMAN,4,4
1@gl_k,230,50,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp3 4_M_DIEMAN,4,4
1@gl_k,222,39,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp4 4_M_DIEMAN,4,4
1@gl_k,214,27,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp5 4_M_DIEMAN,4,4
1@gl_k,223,17,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp6 4_M_DIEMAN,4,4
1@gl_k,235,16,4 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp7 4_M_DIEMAN,4,4
1@gl_k,251,20,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp8 4_M_DIEMAN,4,4
1@gl_k,240,43,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp9 4_M_DIEMAN,4,4
1@gl_k,271,19,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp10 4_M_DIEMAN,4,4
1@gl_k,246,62,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp11 4_M_DIEMAN,4,4
1@gl_k,282,48,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp12 4_M_DIEMAN,4,4
1@gl_k,285,81,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp13 4_M_DIEMAN,4,4
1@gl_k,241,86,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp14 4_M_DIEMAN,4,4
1@gl_k,249,101,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp15 4_M_DIEMAN,4,4
1@gl_k,276,106,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp16 4_M_DIEMAN,4,4
1@gl_k,252,120,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp17 4_M_DIEMAN,4,4
1@gl_k,258,150,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp18 4_M_DIEMAN,4,4
1@gl_k,255,157,6 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp19 4_M_DIEMAN,4,4
1@gl_k,261,164,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp20 4_M_DIEMAN,4,4
1@gl_k,269,173,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp21 4_M_DIEMAN,4,4
1@gl_k,280,167,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp22 4_M_DIEMAN,4,4
1@gl_k,293,161,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp23 4_M_DIEMAN,4,4
1@gl_k,226,96,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp24 4_M_DIEMAN,4,4
1@gl_k,222,119,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp25 4_M_DIEMAN,4,4
1@gl_k,233,123,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp26 4_M_DIEMAN,4,4
2@gl_k,147,203,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp27 4_M_DIEMAN,4,4
2@gl_k,141,222,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp28 4_M_DIEMAN,4,4
2@gl_k,167,225,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp29 4_M_DIEMAN,4,4
2@gl_k,145,236,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp30 4_M_DIEMAN,4,4
2@gl_k,143,260,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp31 4_M_DIEMAN,4,4
2@gl_k,173,258,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp32 4_M_DIEMAN,4,4
//== Sector 3 Mobs =========================================
1@gl_k,0,0,0 script #ghmemorialmob03 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob03");
end;
OnEnable:
enablenpc instance_npcname("#ghmemorialmob03");
donpcevent instance_npcname("#ghinstancewarp5")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp6")+"::OnEnable";
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
mapannounce .@map$,"12 o'clock warp leading to the zone 4 was opened.",bc_map,"0xFFFF00";
areamonster .@map$,17,259,53,180,"Decayed Guard",2468,11,.@label$;
areamonster .@map$,17,259,53,180,"Sharpshooter Ranger",2469,14,.@label$;
areamonster .@map$,62,281,73,186,"Decayed Guard",2468,11,.@label$;
areamonster .@map$,62,281,73,186,"Sharpshooter Ranger",2469,14,.@label$;
areamonster .@map$,74,251,109,224,"Decayed Guard",2468,11,.@label$;
areamonster .@map$,74,251,109,224,"Sharpshooter Ranger",2469,14,.@label$;
areamonster .@map$,108,281,231,234,"Decayed Guard",2468,11,.@label$;
areamonster .@map$,108,281,231,234,"Sharpshooter Ranger",2469,14,.@label$;
end;
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
.@mob_dead_num = 100 - mobcount(.@map$,.@label$);
if (.@mob_dead_num > 85) {
mapannounce .@map$,"Himmelmez: Nice parry. I thought you were going to die slowly surrounded by the dead I summoned~",bc_map,"0xFFFFFF";
killmonster .@map$,.@label$;
donpcevent instance_npcname("#GHMclear3")+"::OnEnable";
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnEnable";
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnEnable";
donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable";
}
end;
}
//== 1st MVP ===============================================
1@gl_k,0,0,0 script #ghmemorialmob04 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob04");
end;
OnEnable:
enablenpc instance_npcname("#ghmemorialmob04");
monster instance_mapname("1@gl_k"),150,258,"Root of Corruption",2475,1,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead";
end;
OnMyMobDead:
.@map$ = instance_mapname("1@gl_k");
if (mobcount(.@map$,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) {
mapannounce .@map$, "12 o'clock warp leading to the Chivalry's Second Floor is now open.",bc_map,"0xFFFF00";
donpcevent instance_npcname("#ghinstancewarp7")+"::OnEnable";
donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnTalk2";
donpcevent instance_npcname("#effectGH01")+"::OnEnable";
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnEnable";
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable";
}
end;
}
1@gl_k,150,257,3 script #GHMclear3 HIDDEN_NPC,9,9,{
end;
OnTouch:
donpcevent instance_npcname("#controlGH3")+"::OnEnable";
specialeffect EF_BASH;
donpcevent instance_npcname("#GHMclear3")+"::OnDisable";
end;
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#GHMclear3");
end;
OnEnable:
enablenpc instance_npcname("#GHMclear3");
initnpctimer;
end;
OnTimer2000:
mapannounce instance_mapname("1@gl_k"), "Himmelmez: You got me tempted to go to the 2nd floor, come to the entrance. I'm curious about how far your luck goes.",bc_map,"0xFFFFFF";
stopnpctimer;
end;
}
1@gl_k,0,0,0 script #controlGH3 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#controlGH3");
end;
OnEnable:
enablenpc instance_npcname("#controlGH3");
initnpctimer;
end;
OnTimer3000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk1";
end;
OnTimer6000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk2";
end;
OnTimer9000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk3";
end;
OnTimer12000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk1";
end;
OnTimer15000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk4";
end;
OnTimer18000:
donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnTalk1";
end;
OnTimer21000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk2";
end;
OnTimer24000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk5";
end;
OnTimer27000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk6";
end;
OnTimer28000:
donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnDisable";
end;
OnTimer31000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk3";
end;
OnTimer32000:
donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable";
end;
OnTimer35000:
mapannounce instance_mapname("1@gl_k"), "An eerie echo from the depths can be heard as you get closer.",bc_map,"0xFFFFFF";
end;
OnTimer38000:
donpcevent instance_npcname("#ghmemorialmob04")+"::OnEnable";
stopnpctimer;
donpcevent instance_npcname("#controlGH3")+"::OnDisable";
end;
}
1@gl_k,144,258,6 script Heinrich#ghinstance4 4_M_HEINRICH,{
mes "[Heinrich]";
mes "Himmelmez... You made my men get killed and I will never forget that.";
cutin "gl_heinrich1",2;
close2;
cutin "gl_heinrich1",255;
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance4");
end;
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance4");
end;
OnTalk1:
npctalk "Himmelmez! I won't let you take even a single more step here.";
end;
OnTalk2:
npctalk "What... is this?!";
end;
OnTalk3:
npctalk "Varmunt Sir! Help the adventurers and I'll chase Himmelmez!";
end;
}
1@gl_k,150,257,3 script Himmelmez#ghinstance2 4_F_HIMEL,{
mes "[Himmelmez]";
mes "No need to stare at me with so insecure eyes. Soon they'll become relaxed...";
cutin "gl_himel2",2;
close2;
cutin "gl_himel2",255;
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Himmelmez#ghinstance2");
end;
OnEnable:
hideoffnpc instance_npcname("Himmelmez#ghinstance2");
end;
OnTalk1:
npctalk "What an awfully lucky, I flew all the way over here and just one of them is really powerful.";
end;
OnTalk2:
npctalk "But it doesn't matter to me.";
end;
OnTalk3:
npctalk "Now, all of you will die.";
end;
OnTalk4:
npctalk "Hahaha, so you guys thought I would come alone?";
end;
OnTalk5:
npctalk "This is my new toy to keep you at my feet. Why don't you guys play while I entertain?";
end;
OnTalk6:
npctalk "Sincerely~, If I am given the opportunity I'd like to meet you again, Heinrich.";
end;
}
1@gl_k,156,259,3 script Varmunt#ghinstance3 4_M_BARMUND,{
if (questprogress(12318,HUNTING) == 2) {
if (!questprogress(12319,HUNTING)) {
mes "[Varmunt]";
mes "There's something unusual about this thing's aura. Maybe someday we will be able to understand what is behind all of this.";
cutin "gl_barmund1",2;
getitem Coagulated_Spell,1; //Coagulated Spell
setquest 12319;
close2;
cutin "gl_barmund1",255;
end;
}
}
mes "[Varmunt]";
mes "Even after all this time, it is impossible to prevent from the will of the Transcendent.";
cutin "gl_barmund1",2;
close2;
cutin "gl_barmund2",255;
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Varmunt#ghinstance3");
end;
OnEnable:
hideoffnpc instance_npcname("Varmunt#ghinstance3");
end;
OnTalk1:
npctalk "Heinrich Sir! Something unknown holds an inexplicably powerful force!";
end;
OnTalk2:
npctalk "From the monster I picked up some great stuff. People who are interested, talk to me.";
end;
}
//== Floor 2 ===============================================
2@gl_k,148,67,1 script Heinrich#ghinstance5 4_M_HEINRICH,{
mes "[Heinrich]";
mes "Himmelmez's blocking spells";
mes "are everywhere around here...";
cutin "gl_heinrich1",2;
close2;
cutin "gl_heinrich1",255;
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Heinrich#ghinstance5");
end;
OnEnable:
hideoffnpc instance_npcname("Heinrich#ghinstance5");
end;
OnTalk1:
npctalk "These things have never been in the castle!";
end;
OnTalk2:
npctalk "Trying to break this power with common weapons doesn't work. I tried it.";
end;
OnTalk3:
npctalk "It is really unforgivable.";
end;
OnTalk4:
npctalk "I, who already was a subordinate of genocide. How much more in the future...";
end;
OnTalk5:
npctalk "...";
end;
}
2@gl_k,151,71,7 script Varmunt#ghinstance4 4_M_BARMUND,{
mes "[Varmunt]";
mes "Why am I doing this again? Doesn't seem like the first time. I've seen this place repeatedly dozens of times in my dreams. This feeling...";
cutin "gl_barmund1",2;
close2;
cutin "gl_barmund1",255;
end;
OnInstanceInit:
OnDisable:
hideonnpc instance_npcname("Varmunt#ghinstance4");
end;
OnEnable:
hideoffnpc instance_npcname("Varmunt#ghinstance4");
end;
OnTalk2:
npctalk "Himmelmez's enchantment has completely blocked the passage to each section.";
end;
OnTalk3:
npctalk "Get out of the way for a moment. I'll try to somehow break the spell with magical powers.";
end;
OnTalk4:
npctalk "The enchantment seems to be broken.";
end;
OnTalk5:
npctalk "I've never seen this spell before.";
end;
OnTalk6:
npctalk "Himmelmez doesn't use a seal on a person's body to turn it into an undead.";
end;
OnTalk7:
npctalk "She uses enchantment stones.This way, the spell is probably maintained.";
end;
OnTalk8:
npctalk "We should kill the people who have the enchantment stones to break the spell.";
end;
OnTalk9:
npctalk "However, we can't identify them. The purification can only be done randomly.";
end;
OnTalk10:
npctalk "Commandant...";
end;
OnTalk11:
npctalk "Commandant, it seems too loose.";
end;
OnTalk12:
npctalk "We are related to all these people, not just a few.";
end;
OnTalk13:
npctalk "We can't deny that it's not their fault for what is going on.";
end;
OnTalk14:
npctalk "Well, let's do it then.";
end;
OnTalk15:
npctalk "You guys are of a great help. Try to follow us.";
end;
OnTalk16:
npctalk "There can be a tough fight. Hold on, and it would be nice to eat something.";
end;
OnTalk17:
npctalk "Guys. It is time to depart, Heinrich Sir.";
end;
}
2@gl_k,150,67,0 script #effectGH01 HIDDEN_NPC,10,10,{
end;
OnTouch:
if (.touch) {
.touch = 0;
specialeffect EF_BASH;
donpcevent instance_npcname("#controlGH4")+"::OnEnable";
}
end;
OnEffect:
specialeffect EF_LORD;
end;
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#effectGH01");
end;
OnEnable:
enablenpc instance_npcname("#effectGH01");
set .touch,1; //Activates OnTouch Only Once.
end;
}
2@gl_k,0,0,0 script #controlGH4 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#controlGH4");
end;
OnEnable:
enablenpc instance_npcname("#controlGH4");
initnpctimer;
end;
OnTimer3000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk1";
donpcevent instance_npcname("#ghmemorialmob05")+"::OnEnable";
end;
OnTimer6000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk2";
end;
OnTimer9000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk2";
end;
OnTimer12000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk3";
end;
OnTimer15000:
donpcevent instance_npcname("#effectGH01")+"::OnEffect";
end;
OnTimer18000:
donpcevent instance_npcname("#effectGH01")+"::OnDisable";
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk4";
end;
OnTimer21000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk5";
end;
OnTimer24000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk6";
end;
OnTimer27000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk7";
end;
OnTimer30000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk8";
end;
OnTimer33000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk9";
end;
OnTimer36000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk3";
end;
OnTimer39000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk4";
end;
OnTimer42000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk10";
end;
OnTimer45000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk11";
end;
OnTimer48000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk12";
end;
OnTimer51000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk13";
end;
OnTimer54000:
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk5";
end;
OnTimer57000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk14";
end;
OnTimer60000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk15";
end;
OnTimer63000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk16";
end;
OnTimer66000:
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk17";
end;
OnTimer69000:
mapannounce instance_mapname("2@gl_k"), "9 o'clock positioned warp leading to the 1st zone has been opened. Move from the central hallway. A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00";
donpcevent instance_npcname("#ghinstancewarp8")+"::OnEnable";
donpcevent instance_npcname("#ghinstancewarp9")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob06")+"::OnEnable";
donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnDisable";
donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable";
end;
OnTimer70000:
stopnpctimer;
donpcevent instance_npcname("#controlGH4")+"::OnDisable";
end;
}
2@gl_k,0,0,0 script #ghmemorialmob05 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob05");
end;
OnEnable:
enablenpc instance_npcname("#ghmemorialmob05");
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
areamonster .@map$,124,20,31,162,"Decayed Guard",2468,8,.@label$;
areamonster .@map$,124,20,31,162,"Sharpshooter Ranger",2469,8,.@label$;
areamonster .@map$,124,20,31,162,"Fallen Abyss Knight",2470,8,.@label$;
areamonster .@map$,124,20,31,162,"Suffering Khalitzburg",2471,8,.@label$;
areamonster .@map$,124,20,31,162,"Swollen Knight",2472,8,.@label$;
.MyMobs = 80;
end;
OnMyMobDead:
.@map$ = instance_mapname("2@gl_k");
--.MyMobs;
if (.MyMobs == 0) {
mapannounce .@map$, "A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00";
donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable2";
donpcevent instance_npcname("#ghmemorialmob07")+"::OnEnable";
donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable";
} else {
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
switch(rand(5)) {
case 0:
areamonster .@map$,124,20,31,162,"Decayed Guard",2468,1,.@label$;
break;
case 1:
areamonster .@map$,124,20,31,162,"Sharpshooter Ranger",2469,1,.@label$;
break;
case 2:
areamonster .@map$,124,20,31,162,"Fallen Abyss Knight",2470,1,.@label$;
break;
case 3:
areamonster .@map$,124,20,31,162,"Suffering Khalitzburg",2471,1,.@label$;
break;
case 4:
areamonster .@map$,124,20,31,162,"Swollen Knight",2472,1,.@label$;
break;
}
}
end;
}
2@gl_k,0,0,0 script #ghmemorialmob06 FAKE_NPC,{
OnInstanceInit:
OnDisable:
disablenpc instance_npcname("#ghmemorialmob06");
end;
OnDisable2:
stopnpctimer;
disablenpc instance_npcname("#ghmemorialmob06");
end;
OnEnable:
enablenpc instance_npcname("#ghmemorialmob06");
donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
end;
OnSpawn:
initnpctimer;
end;
OnTimer90000:
.@map$ = instance_mapname("2@gl_k");
.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
setarray .@c[0],
114,141,118,139,
128,83,131,78,
88,53,93,48,
54,47,61,40,
58,83,63,78,
69,138,80,127,
34,143,39,138;
for(.@i = 0; .@i