You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2214 lines
80 KiB
Plaintext
2214 lines
80 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= Devil Tower
|
|
//===== Description: =========================================
|
|
//= [Walkthrough Conversion]
|
|
//= Devil Tower Instance
|
|
//===== Changelogs: ==========================================
|
|
//= 1.0 First version. [Capuche]
|
|
//============================================================
|
|
|
|
dali02,134,119,5 script Historian Shep#tnm01 4_F_NOVICE,{
|
|
if (BaseLevel < 130) {
|
|
mes "[Shep]";
|
|
mes "Are you volunteering to explore the Devil's Tower?";
|
|
mes "It's extremely dangerous so you need to be at least ^4d4dffLevel 130^000000.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Will you come back when you get stronger?";
|
|
mes "You know what I mean right?";
|
|
close;
|
|
}
|
|
switch( checkquest(7577,PLAYTIME) ) {// daily timer
|
|
case -1:
|
|
break;
|
|
case 0:
|
|
case 1:
|
|
mes "[Shep]";
|
|
mes "You want to explore again so soon?";
|
|
mes "Your body needs to recover from the time traveling.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Take a rest day and come back tomorrow.!";
|
|
mes "You understand?";
|
|
close;
|
|
case 2:
|
|
mes "[Shep]";
|
|
mes "Have you rested long enough?";
|
|
mes "I am scheduled to explore today!";
|
|
mes "I have always been waiting for a member of the expedition!";
|
|
erasequest 7577;// Space distortion
|
|
devil_tower_can_reenter = 0;
|
|
devil_tower_enter = 0;
|
|
next;
|
|
mes "!- Notice -!";
|
|
mes "You can now re-enter the Devil's Tower.";
|
|
close;
|
|
}
|
|
if (isbegin_quest(7576) > 0) {// instance completed
|
|
mes "[Shep]";
|
|
mes "So time and space seem to have converged there?";
|
|
mes "I'm amazed that time travel is possible.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "This is all you have.";
|
|
mes "You did a good job.";
|
|
mes "I look forward to more discoveries!";
|
|
setquest 7577;// Space distortion
|
|
erasequest 7568;// Explore the tower
|
|
erasequest 7571;// Tower Expedition
|
|
erasequest 7574;// Thanatos Tower
|
|
erasequest 7576;// Morocc castle seal
|
|
getexp 450000,450000;
|
|
devil_tower_can_reenter = 0;
|
|
devil_tower_enter = 0;
|
|
mes "Please come back tomorrow!";
|
|
close;
|
|
}
|
|
if (isbegin_quest(7574) > 0) {// failed after seal
|
|
mes "[Shep]";
|
|
mes "Oh, you are back so soon...";
|
|
mes "Ok, I see what happened.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "This is all you have.";
|
|
mes "You did a good job.";
|
|
mes "I look forward to more discoveries!";
|
|
setquest 7577;// Space distortion
|
|
erasequest 7568;// Explore the tower
|
|
erasequest 7571;// Tower Expedition
|
|
erasequest 7574;// Thanatos Tower
|
|
getexp 300000,300000;
|
|
devil_tower_can_reenter = 0;
|
|
devil_tower_enter = 0;
|
|
mes "Please come back tomorrow!";
|
|
close;
|
|
}
|
|
if (isbegin_quest(7571) > 0) {// failed at stair 2 tnm1
|
|
mes "[Shep]";
|
|
mes "Oh, you are back.";
|
|
mes "Let me see... you mean this tower has a passage to connect to the demon world.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "This is all you have.";
|
|
mes "You did a good job.";
|
|
mes "I look forward to more discoveries!";
|
|
setquest 7577;// Space distortion
|
|
erasequest 7568;// Explore the tower
|
|
erasequest 7571;// Tower Expedition
|
|
if (isbegin_quest(7572)) erasequest 7572;// Lucile...?
|
|
if (isbegin_quest(7573)) erasequest 7573;// Magic Swordman Thanatos
|
|
getexp 200000,200000;
|
|
devil_tower_can_reenter = 0;
|
|
devil_tower_enter = 0;
|
|
mes "Please come back tomorrow!";
|
|
close;
|
|
}
|
|
switch( checkquest(7568,PLAYTIME) ) {// entrance timer - 1h30 to enter
|
|
case -1:
|
|
mes "[Shep]";
|
|
mes "Are you volunteering to explore the Devil's Tower? I have been waiting for someone like you!";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Finally, someone to share the mysteries of the tower for me.";
|
|
mes "No one has been volunteering up this point so I was getting worried.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Please report anything you find in the tower to me.";
|
|
mes "The better the info~ the better the zeny I'll pay you!";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "That Laphine scholar over there will open up the dimensional gap with this time device.";
|
|
mes "It is still unstable so your time for exploring will be limited.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "If you are unexpectedly bounced back to here again, you should return quickly.";
|
|
mes "If you do you may or may not be able to re-enter depending on how fast you are.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "But if you run out of time, the access to the tower will disappear.";
|
|
mes "So do you want to volunteer?";
|
|
next;
|
|
if (select( "Volunteer", "No Thanks" ) == 2) {
|
|
mes "[Shep]";
|
|
mes "Oh that's too bad";
|
|
mes "There is nothing I can do I guess.";
|
|
mes "I'll just find someone else...";
|
|
close;
|
|
}
|
|
mes "[Shep]";
|
|
mes "Thank you.";
|
|
mes "Okay, gather your party and remember to report to me what you find.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "^4d4dffExploring time limit is for your safety^000000!";
|
|
setquest 7568;// Explore the tower
|
|
close;
|
|
case 0:
|
|
case 1:
|
|
if (devil_tower_can_reenter == 0)// player can re-enter
|
|
break;
|
|
// fall through
|
|
case 2:
|
|
mes "[Shep]";
|
|
mes "You seem to be late.";
|
|
mes "You took an extraordinarily long time.";
|
|
mes ".....";
|
|
mes "I can't use any of your info.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "There is nothing we can do .";
|
|
mes "There's always opportunities for other expeditions.";
|
|
setquest 7577;// Space distortion
|
|
erasequest 7568;
|
|
if (isbegin_quest(7569)) erasequest 7569;// Treat the injured
|
|
if (isbegin_quest(7570)) erasequest 7570;// Destroy the demons
|
|
devil_tower_can_reenter = 0;
|
|
devil_tower_enter = 0;
|
|
close;
|
|
}
|
|
mes "[Shep]";
|
|
mes "First of all, you need to reserve a queue at the gate.";
|
|
mes "The Laphine Scholar Artie will reserve your queue for you.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Time is limited because the dimensional gap is still unstable.";
|
|
mes "Make your exploration short and sweet.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Rewards will be different depending on your time.";
|
|
mes "Good luck!";
|
|
next;
|
|
if (select( "Trust me!", "Cancel my reservation" ) == 1) {
|
|
mes "[Shep]";
|
|
mes "I believe that you can manage under these restrictions.";
|
|
mes "I believe in you!";
|
|
close;
|
|
}
|
|
if (devil_tower_enter == 1) {
|
|
mes "[Shep]";
|
|
mes "You seem to be tired of exploring.";
|
|
mes "^4d4dffIf you cancel now. You will be able to challenge one day after.^000000";
|
|
mes "Is that okay?";
|
|
next;
|
|
if (select( "Yes Cancel.", "Wait, don't cancel!" ) == 2) {
|
|
mes "[Shep]";
|
|
mes "Ok, I won't cancel.";
|
|
close;
|
|
}
|
|
mes "[Shep]";
|
|
mes "Really.";
|
|
mes "then, come back tomorrow.";
|
|
setquest 7577;// Space distortion
|
|
erasequest 7568;
|
|
if (isbegin_quest(7569)) erasequest 7569;// Treat the injured
|
|
if (isbegin_quest(7570)) erasequest 7570;// Destroy the demons
|
|
devil_tower_enter = 0;
|
|
devil_tower_can_reenter = 0;
|
|
close;
|
|
}
|
|
mes "[Shep]";
|
|
mes "Really?";
|
|
mes "After listening to all this explanation?";
|
|
erasequest 7568;// Explore the tower
|
|
close;
|
|
}
|
|
|
|
dali02,137,121,3 script Magic Scholar Artie#tnm 4_M_FAIRYKID6,{
|
|
.@party_id = getcharid(1);
|
|
if (.@party_id == 0) {
|
|
mes "[Artie]";
|
|
mes "let's have fun since we just left bifrost.";
|
|
mes "No?";
|
|
mes "you are applying as a volunteer?";
|
|
mes "You'd better gather a party for this expedition.";
|
|
next;
|
|
mes "[Artie]";
|
|
mes "Don't take any unncessary risks, okay?";
|
|
close;
|
|
}
|
|
if (is_party_leader() == false) {
|
|
mes "[Artie]";
|
|
mes "Bring the Expedition Chief.";
|
|
mes "Devil's Tower is not a place to visit alone.";
|
|
mes "Bring the manager.";
|
|
close;
|
|
}
|
|
if (devil_tower_enter == 1) {
|
|
mes "[Artie]";
|
|
mes "You have already entered by connecting it.";
|
|
mes "Connect to the space again? I can not do that.";
|
|
close;
|
|
}
|
|
switch( checkquest(7568,PLAYTIME) ) {
|
|
case 0:
|
|
case 1:
|
|
break;
|
|
case -1:
|
|
case 2:
|
|
mes "[Artie]";
|
|
mes "Hrm... It is difficult to connect to unless it is an appointed exploration time.";
|
|
mes "Not to mention dangerous as well.";
|
|
close;
|
|
}
|
|
mes "[Artie]";
|
|
mes "Are you a volunteer to explore the Devil's Tower?";
|
|
mes "Do you want me to activate the Dimensional Device?";
|
|
next;
|
|
mes "[Artie]";
|
|
mes "Decide quickly because you only have a finite amount of time in there.";
|
|
next;
|
|
if (select( "Yes, activate the device.", "Wait for a minute." ) == 2) {
|
|
mes "[Artie]";
|
|
mes "Your time to explore is dwindling.";
|
|
mes "Time is very important.";
|
|
mes "What are you waiting for?";
|
|
close;
|
|
}
|
|
mes "[Artie]";
|
|
mes "The Dimensional Device is activated.";
|
|
mes "If you're lucky, you can get through this quickly.";
|
|
mes "I look forward to hearing good news.";
|
|
instance_create("Devil's Tower");
|
|
close;
|
|
}
|
|
|
|
dali02,141,120,3 script Dimensional Device#tnm0 PORTAL,{
|
|
if (devil_tower_can_reenter == 1) {// can't re-enter
|
|
mes "[Artie]";
|
|
mes "Hey, Hey";
|
|
mes "It is difficult to send to you through the device right now.";
|
|
mes "We should stop exploring today and let's go again another day.";
|
|
close;
|
|
}
|
|
switch( checkquest(7568,PLAYTIME) ) {
|
|
case 0:
|
|
case 1:
|
|
break;
|
|
case -1:
|
|
case 2:
|
|
mes "[Artie]";
|
|
mes "Look, I am sorry but it is not allowed to enter except during the allowed time, Devil's Tower is dangerous.";
|
|
close;
|
|
}
|
|
mes "[Artie]";
|
|
mes "Yes, this is the Dimensional Device.";
|
|
mes "It is used to travel time.";
|
|
mes "It will be difficult to enter again if you leave.";
|
|
next;
|
|
mes "[Artie]";
|
|
mes "Don't worry though, I'm a genius scholar~";
|
|
mes "Anyway, ready to enter?";
|
|
next;
|
|
if (select( "Enter the device.", "Stop." ) == 2) {
|
|
mes "[Artie]";
|
|
mes "Right.";
|
|
mes "It seems like quite a long time has passed since you activated the device. Am I right?";
|
|
close;
|
|
}
|
|
.@md_name$ = "Devil's Tower";
|
|
switch( instance_enter(.@md_name$) ) {
|
|
case IE_OTHER:
|
|
mes "An unknown error occurred.";
|
|
close;
|
|
case IE_NOINSTANCE:
|
|
mes "[Shep]";
|
|
mes "The Dimensional Device needs to be activated first before entering.";
|
|
mes "It doesn't seem to be activated yet.";
|
|
next;
|
|
mes "[Shep]";
|
|
mes "Please get a permission to activate it by talking to the Magic Scholar Artie.";
|
|
close;
|
|
case IE_NOMEMBER:
|
|
mes "[Artie]";
|
|
mes "Exploring Devil's Tower will be permitted only for expeditions in parties.";
|
|
mes "Make sure you are ready.";
|
|
close;
|
|
case IE_OK:
|
|
mapannounce "dali02", "Party member " + strcharinfo(0) + " of party's " + getpartyname( getcharid(1) ) + " enters Room " + .@md_name$ + "", bc_map,0xFF99;
|
|
// warp "1@tnm1",50,104;
|
|
devil_tower_enter = 1;
|
|
end;
|
|
}
|
|
}
|
|
|
|
dali02,134,112,3 script #tnmtks01 HIDDEN_WARP_NPC,3,3,{
|
|
end;
|
|
OnTouch_:
|
|
disablenpc "#tnmtks01";
|
|
initnpctimer;
|
|
end;
|
|
OnTimer1000:
|
|
npctalk "Artie: Hey, you! How is your research going?", "Magic Scholar Artie#tnm";
|
|
end;
|
|
OnTimer3000:
|
|
npctalk "Shep: Who are you calling hey you? You're just a dusty little fairy!", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer6000:
|
|
npctalk "Artie: A dusty little what? I'll have you know, I have superior genes to your species you ape!", "Magic Scholar Artie#tnm";
|
|
end;
|
|
OnTimer9000:
|
|
npctalk "Shep: What do I care what you say? Even our kids are bigger than you tiny little fairies!", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer12000:
|
|
npctalk "Shep: Think you're so big just because you're a magic scholar huh?", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer14000:
|
|
npctalk "Artie: You know nothing human. Remind me again who found this tower entrance?", "Magic Scholar Artie#tnm";
|
|
end;
|
|
OnTimer18000:
|
|
npctalk "Shep: *Sigh*... Y....You did.", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer21000:
|
|
npctalk "Artie: Y....You? Did I stutter? And who solved the formula calculating the dimensional gap connected to the tower?", "Magic Scholar Artie#tnm";
|
|
end;
|
|
OnTimer24000:
|
|
npctalk "Shep: Yes, yes it was you!", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer27000:
|
|
npctalk "Artie: So I take it you're no longer questioning how smart I am right?", "Magic Scholar Artie#tnm";
|
|
end;
|
|
OnTimer30000:
|
|
npctalk "Shep: Alright, alright. I need an adventurer to explore the tower for us.", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer33000:
|
|
npctalk "Shep: No one has volunteered because everyone says it's too dangerous!", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer36000:
|
|
npctalk "Artie: No volunteers? Come on. Harness your motivational skills and find someone.", "Magic Scholar Artie#tnm";
|
|
end;
|
|
OnTimer37000:
|
|
emotion ET_KIK, getnpcid(0, "Magic Scholar Artie#tnm");
|
|
end;
|
|
OnTimer39000:
|
|
npctalk "Shep: Hello!!! Now recruiting new members to exploring the Devil's Tower!", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer42000:
|
|
npctalk "Shep: Please come! Now's your chance to possibly come face to face with the infamous minions of Satan Morocc himself!", "Historian Shep#tnm01";
|
|
end;
|
|
OnTimer45000:
|
|
npctalk "Artie: You sure that's the right thing to say? Maybe your recruiting tactics need refining...", "Magic Scholar Artie#tnm";
|
|
stopnpctimer;
|
|
enablenpc "#tnmtks01";
|
|
end;
|
|
}
|
|
|
|
// Entrance
|
|
1@tnm1,50,104,0 script #event01 HIDDEN_WARP_NPC,1,1,{
|
|
end;
|
|
OnTouch:
|
|
disablenpc instance_npcname("#event01");
|
|
initnpctimer;
|
|
end;
|
|
OnTimer2000:
|
|
npctalk "Officer Heim: This is an emergency.. How things are going?", instance_npcname("Officer Heim#heim0");
|
|
end;
|
|
OnTimer5000:
|
|
npctalk "A tirailleur: Next floor is the highest one... but there are so many demons...", instance_npcname("A tirailleur#tnm01");
|
|
end;
|
|
OnTimer6000:
|
|
emotion ET_THINK, getnpcid(0, instance_npcname("Officer Heim#heim0"));
|
|
end;
|
|
OnTimer8000:
|
|
npctalk "A tirailleur: It is impossible to break through with the number of our people.", instance_npcname("A tirailleur#tnm01");
|
|
emotion ET_PROFUSELY_SWEAT, getnpcid(0, instance_npcname("A tirailleur#tnm01"));
|
|
end;
|
|
OnTimer11000:
|
|
npctalk "Officer Heim: How many soldiers have survived now? When is the support team arriving?", instance_npcname("Officer Heim#heim0");
|
|
end;
|
|
OnTimer12000:
|
|
emotion ET_THINK, getnpcid(0, instance_npcname("An aide#tnm02"));
|
|
end;
|
|
OnTimer16000:
|
|
npctalk "An aide: There aren't enough to call in...", instance_npcname("An aide#tnm02");
|
|
end;
|
|
OnTimer17000:
|
|
npctalk "An aide: The good news is the demons have stopped attacking.", instance_npcname("An aide#tnm02");
|
|
end;
|
|
OnTimer21000:
|
|
npctalk "Officer Heim: We can't just be stuck here and can go further. Why did the demons stop attacking ?", instance_npcname("Officer Heim#heim0");
|
|
end;
|
|
OnTimer24000:
|
|
npctalk "A tirailleur: It seems like there is something going on up there...", instance_npcname("A tirailleur#tnm01");
|
|
end;
|
|
OnTimer26000:
|
|
disablenpc instance_npcname("Officer Heim#heim0");
|
|
enablenpc instance_npcname("Officer Heim#heim");
|
|
npctalk "Officer Heim: Who are you?", instance_npcname("Officer Heim#heim");
|
|
stopnpctimer;
|
|
end;
|
|
}
|
|
|
|
1@tnm1,57,112,5 script Officer Heim#heim0 4_TOWER_05,{ end; }
|
|
|
|
1@tnm1,56,110,3 script Officer Heim#heim 4_TOWER_05,{
|
|
if (is_party_leader() == false) {
|
|
mes "[Officer Heim]";
|
|
mes "Who brought you all here?";
|
|
mes "I will talk to a representative.";
|
|
close;
|
|
}
|
|
switch('devil_tower) {
|
|
case 0:
|
|
mes "[Officer Heim]";
|
|
mes "Back up soldiers? So why are you just standing there?";
|
|
npctalk "Officer Heim: Back up soldiers? So why are you just standing there?";
|
|
next;
|
|
select("Right now?");
|
|
if (is_party_leader() == true && 'devil_tower == 0) {
|
|
enablenpc instance_npcname("Healer Fama#feima");
|
|
'devil_tower = 1;
|
|
}
|
|
mes "[Healer Fama]";
|
|
mes "Commander please help me. I can't do it by myself~!";
|
|
npctalk "Healer Fama: Commander please help me. I can't do it by myself~!", instance_npcname("Healer Fama#feima");
|
|
next;
|
|
mes "[Officer Heim]";
|
|
mes "Do you hear that?";
|
|
mes "Help Fama take care of the injured soldiers.";
|
|
mes "Fama will give you first aid-kits, use it to help the injured people.";
|
|
close2;
|
|
setpcblock PCBLOCK_NPC, true;
|
|
npctalk "Officer Heim: Do you hear that?";
|
|
sleep2 2000;
|
|
npctalk "Officer Heim: Help Fama take care of the injured soldiers.";
|
|
sleep2 2000;
|
|
npctalk "Healer Fama: Okay~ You are going to help me? Come here and receive the first aid kit~!";
|
|
setpcblock PCBLOCK_NPC, false;
|
|
end;
|
|
case 1:
|
|
mes "[Officer Heim]";
|
|
mes "It is priority to treat the injured soldiers by assisting Fama.";
|
|
mes "Please do your best even if the environment is the worst.";
|
|
close;
|
|
default:
|
|
mes "[Officer Heim]";
|
|
mes "Luckily, no one is dead yet.";
|
|
mes "I do not want to see my soldiers die.";
|
|
close;
|
|
}
|
|
}
|
|
|
|
1@tnm1,47,109,3 script Healer Fama#feima 4_TOWER_10,{
|
|
if ('devil_tower == 1) {
|
|
if (countitem(7641) < 1) {
|
|
mes "[Healer Fama]";
|
|
mes "Please cure the injured with this first aid kit.";
|
|
mes "It's not difficult. Just follow the instructions.";
|
|
next;
|
|
mes "[Healer Fama]";
|
|
mes "We are low on supplies. So I will give them once at a time.";
|
|
mes "Sorry, please request again if you run out.";
|
|
if ('devil_tower == 1)
|
|
getitem 7641,1;// Medical_Cure_Box
|
|
close;
|
|
}
|
|
mes "[Healer Fama]";
|
|
mes "Sorry... procurement is not good right now so I can only provide one first-aid kit at a time.";
|
|
mes "Please request again if you run out.";
|
|
close;
|
|
}
|
|
mes "[Healer Fama]";
|
|
mes "Huh... Okay, we can take a break now.";
|
|
mes "Thank you very much!";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,39,114,3 script Injured Soldier#1_1 4_TOWER_01,3,3,{
|
|
if ('devil_tower != 1)
|
|
end;
|
|
if (countitem(7641) < 1) {
|
|
mes "I need 1 first-aid-kit to treat the injured soldier.";
|
|
close;
|
|
}
|
|
mes "This soldier has lost consciousness and groaning.";
|
|
mes "Should I use the first-aid kit?";
|
|
next;
|
|
if (select( "Use first-aid kit.", "Observe condition." ) == 2) {
|
|
mes "You decide to observe the condition of the injured soldier more.";
|
|
close;
|
|
}
|
|
mes "You administer the first-aid-kit to the soldier.";
|
|
next;
|
|
specialeffect EF_SPHERE;
|
|
progressbar "000000",10;
|
|
if ('devil_tower == 1) {
|
|
delitem 7641,1;
|
|
specialeffect EF_ENTRY;
|
|
disablenpc();
|
|
enablenpc instance_npcname( strnpcinfo(1) + "#" + replacestr( strnpcinfo(2), "_1", "" ) );
|
|
specialeffect EF_ENTRY,AREA, instance_npcname( strnpcinfo(1) + "#" + replacestr( strnpcinfo(2), "_1", "" ) );
|
|
mes "It worked.";
|
|
'heal_count++;
|
|
if ('heal_count == 7) {
|
|
'devil_tower = 2;
|
|
npctalk "Healer Fama: Assassins?!", instance_npcname("Healer Fama#feima");
|
|
enablenpc instance_npcname("Lucile#tnm01");
|
|
enablenpc instance_npcname("Magic Swordman#tnm01");
|
|
enablenpc instance_npcname("Assassin Huey#tnm01");
|
|
enablenpc instance_npcname("Assassin Louie#tnm01");
|
|
}
|
|
}
|
|
close;
|
|
|
|
OnTouch:
|
|
.@num = atoi( replacestr( strnpcinfo(2), "_1", "" ) );
|
|
if (.@num == 1)
|
|
npctalk "Injured Soldier: groaning....";
|
|
else if (.@num == 2)
|
|
npctalk "Injured Soldier: Owww...";
|
|
else if (.@num == 3)
|
|
npctalk "Injured Soldier: .... aah.. aah..";
|
|
else if (.@num == 4)
|
|
npctalk "Injured Soldier: Owww...";
|
|
else if (.@num == 5)
|
|
npctalk "Injured Soldier: I do not want to die...";
|
|
else if (.@num == 6)
|
|
npctalk "Injured Soldier: Owww~";
|
|
else
|
|
npctalk "Injured Soldier: Groaning...";
|
|
end;
|
|
}
|
|
|
|
1@tnm1,30,120,3 duplicate(Injured Soldier#1_1) Injured Soldier#2_1 4_TOWER_03,3,3
|
|
1@tnm1,25,117,5 duplicate(Injured Soldier#1_1) Injured Soldier#3_1 4_TOWER_06,3,3
|
|
1@tnm1,19,118,4 duplicate(Injured Soldier#1_1) Injured Soldier#4_1 4_TOWER_08,3,3
|
|
1@tnm1,18,110,4 duplicate(Injured Soldier#1_1) Injured Soldier#5_1 4_TOWER_11,3,3
|
|
1@tnm1,24,104,7 duplicate(Injured Soldier#1_1) Injured Soldier#6_1 4_TOWER_13,3,3
|
|
1@tnm1,31,110,3 duplicate(Injured Soldier#1_1) Injured Soldier#7_1 4_TOWER_03,3,3
|
|
|
|
1@tnm1,39,114,3 script Injured Soldier#1 4_TOWER_02,{
|
|
mes "[Injured soldiers]";
|
|
mes "whew.. it seems to be okay now.";
|
|
mes "Thank you.";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,30,120,3 script Injured Soldier#2 4_TOWER_04,{
|
|
mes "[Injured soldiers]";
|
|
mes "Groaning... Just let me die.";
|
|
mes "No it hurts too much.";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,25,117,5 script Injured Soldier#3 4_TOWER_07,{
|
|
mes "[Injured soldiers]";
|
|
mes "His conscious seems to be blur still.";
|
|
mes "Leave him to get some rest.";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,19,118,4 script Injured Soldier#4 4_TOWER_09,{
|
|
mes "[Injured soldiers]";
|
|
mes "I thought I was going to die.";
|
|
mes "But I'm alive!";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,18,110,4 script Injured Soldier#5 4_TOWER_12,{
|
|
mes "[Injured soldiers]";
|
|
mes "I can't die here. I have to propose to my beloved when I get home.";
|
|
mes "We will be happy for sure?";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,24,104,7 script Injured Soldier#6 4_TOWER_14,{
|
|
mes "[Injured soldiers]";
|
|
mes "I feel much better but I still can't move.";
|
|
mes "Still I'm lucky to be alive.";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,31,110,3 script Injured Soldier#7 4_TOWER_04,{
|
|
mes "[Injured soldiers]";
|
|
mes "Thank you.. Thank you..";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,61,110,3 script An aide#tnm02 4_M_MOCASS2,{
|
|
mes "[An aide]";
|
|
mes "The calamity that happened hundreds of years ago will not happen again right?";
|
|
mes "Why have the demons showed up again so suddenly?";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,61,113,3 script A tirailleur#tnm01 4_M_MOCASS1,{
|
|
mes "[A tirailleur]";
|
|
mes "Are you a member of back-up team?";
|
|
mes "Good. things are getting worse here.";
|
|
mes "Glad that you all are here to help.";
|
|
close;
|
|
}
|
|
|
|
1@tnm1,46,105,5 script Lucile#tnm01 4_F_LUCILE,{
|
|
if (is_party_leader() == false) {
|
|
cutin "tnm_lucile01.bmp",2;
|
|
mes "[Lucile]";
|
|
mes "Who is in charge of the back-up team?";
|
|
close3;
|
|
}
|
|
if ('devil_tower == 2) {
|
|
.@lucile$ = instance_npcname("Lucile#tnm01");
|
|
.@heim$ = instance_npcname("Officer Heim#heim");
|
|
'devil_tower = 3;
|
|
setpcblock PCBLOCK_NPC, true;
|
|
cutin "tnm_lucile01.bmp",2;
|
|
sleep2 1500;
|
|
npctalk "Lucile: I am Lucile from the Assassin Guild.", .@lucile$;
|
|
sleep2 2000;
|
|
npctalk "Officer Heim: Our back-up is from the Assassin Guild? Thanks for arriving in time.", .@heim$;
|
|
sleep2 3000;
|
|
npctalk "Lucile: The situation doesn't seem to be good.", .@lucile$;
|
|
sleep2 3000;
|
|
npctalk "Lucile: What happened to the brave knights of Prontera?", .@lucile$;
|
|
sleep2 3000;
|
|
npctalk "Officer Heim: Are you mocking me?", .@heim$;
|
|
sleep2 3000;
|
|
npctalk "Lucile: Not at all. I really want to know. What's going on upstairs?", .@lucile$;
|
|
sleep2 2500;
|
|
emotion ET_OHNO, getnpcid(0, .@heim$);
|
|
sleep2 1000;
|
|
npctalk "Officer Heim: How did you know that? Yes, the demons have stopped their attack from upstairs.", .@heim$;
|
|
sleep2 3000;
|
|
emotion ET_SMILE, getnpcid(0, .@lucile$);
|
|
npctalk "Lucile: What do you think about the situation Magic Swordman?", .@lucile$;
|
|
cutin "tnm_lucile01.bmp",0;
|
|
sleep2 3000;
|
|
npctalk "Magic swordman: Hmm, I will go and investigate.", instance_npcname("Magic Swordman#tnm01");
|
|
cutin "tnm_loki.bmp",2;
|
|
sleep2 2000;
|
|
cutin "",255;
|
|
disablenpc instance_npcname("Magic Swordman#tnm01");
|
|
sleep2 1000;
|
|
npctalk "Lucile: How are you so fast?", .@lucile$;
|
|
cutin "tnm_lucile01.bmp",2;
|
|
sleep2 2000;
|
|
npctalk "Officer Heim: What are you doing? If you go alone you will be killed!", .@heim$;
|
|
sleep2 3000;
|
|
npctalk "Lucile: I won't be alone. There are still some uninjured soldiers!", .@lucile$;
|
|
sleep2 2500;
|
|
npctalk "Lucile: All right, I will ask you to be my back up. Hahaha right Dewey?", .@lucile$;
|
|
sleep2 500;
|
|
enablenpc instance_npcname("Assassin Dewey#tnm01");
|
|
enablenpc instance_npcname("#tnm1stepmob");
|
|
npctalk "Dewey: Okay, I will.", instance_npcname("Assassin Dewey#tnm01");
|
|
'devil_tower = 4;
|
|
sleep2 500;
|
|
cutin "",255;
|
|
disablenpc .@lucile$;
|
|
disablenpc instance_npcname("Assassin Huey#tnm01");
|
|
disablenpc instance_npcname("Assassin Louie#tnm01");
|
|
sleep2 2000;
|
|
npctalk "Officer Heim: They are so unpredictable. You know what is going on right? Back them up...", .@heim$;
|
|
sleep2 2500;
|
|
npctalk "Officer Heim: Help us take care of the demons coming down from upstairs.", .@heim$;
|
|
setpcblock PCBLOCK_NPC, false;
|
|
end;
|
|
}
|
|
}
|
|
|
|
1@tnm1,52,104,2 duplicate(Officer Heim#heim0) Magic Swordman#tnm01 4_M_ROKI
|
|
1@tnm1,42,104,4 duplicate(Officer Heim#heim0) Assassin Huey#tnm01 4_TOWER_15
|
|
1@tnm1,44,101,5 duplicate(Officer Heim#heim0) Assassin Louie#tnm01 4_M_ACROSS
|
|
|
|
1@tnm1,70,108,3 script Assassin Dewey#tnm01 4_M_ACROSS,{
|
|
if ('devil_tower < 4)
|
|
end;
|
|
if (isbegin_quest(7569) == 0)
|
|
setquest 7569;// Treat the injured
|
|
if (isbegin_quest(7570) == 0)
|
|
setquest 7570;// Destroy the demons
|
|
mes "[Dewey]";
|
|
mes "I will guide you to the upper floor.";
|
|
mes "Do not forget to get rid of any demons that you encounter on the way.";
|
|
next;
|
|
if (select( "Move now", "I need more time to prepare." ) == 2) {
|
|
mes "[Dewey]";
|
|
mes "Be prepared for anything.";
|
|
close;
|
|
}
|
|
mes "[Dewey]";
|
|
mes "Travel carefully.";
|
|
close2;
|
|
warp 'map_tnm1$,91,23;
|
|
devil_tower_can_reenter = 1;// nb. different from official (condition overcomplicated)
|
|
end;
|
|
}
|
|
|
|
// Stairs tnm1
|
|
// spawn inaccurate
|
|
1@tnm1,91,23,0 script #tnm1stepmob HIDDEN_WARP_NPC,1,1,{
|
|
end;
|
|
OnTouch:
|
|
if ('devil_tower != 4)
|
|
end;
|
|
disablenpc instance_npcname("#tnm1stepmob");
|
|
enablenpc instance_npcname("Assassin Louie#tnm02");
|
|
enablenpc instance_npcname("Lucile#tnm02");
|
|
initnpctimer;
|
|
monster 'map_tnm1$,99,24,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
'mob_id = $@mobid[0];
|
|
end;
|
|
OnTimer2000:
|
|
if (unitexists('mob_id) == true)
|
|
unittalk 'mob_id, "What is this? A human? How dare they must have lost their minds!";
|
|
end;
|
|
OnTimer5000:
|
|
monster 'map_tnm1$,103,21,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
unittalk $@mobid[0], "Did you make a resolution?";
|
|
monster 'map_tnm1$,103,26,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
unittalk $@mobid[0], "Ha ha ha ha....Let's fight..!!!";
|
|
end;
|
|
OnTimer11000:
|
|
monster 'map_tnm1$,106,25,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,106,27,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,110,20,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,112,24,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,107,22,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
monster 'map_tnm1$,114,24,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
end;
|
|
OnTimer17000:
|
|
monster 'map_tnm1$,120,20,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,122,23,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
end;
|
|
OnTimer23000:
|
|
monster 'map_tnm1$,116,25,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,116,21,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
end;
|
|
OnTimer29000:
|
|
monster 'map_tnm1$,134,21,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,130,25,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,129,27,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,120,27,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
monster 'map_tnm1$,118,22,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
end;
|
|
OnTimer35000:
|
|
monster 'map_tnm1$,138,27,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,144,23,"Evil Shadow",2939,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,129,20,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
end;
|
|
OnTimer41000:
|
|
monster 'map_tnm1$,140,24,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,144,20,"Evil Shadow",2940,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,130,27,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
monster 'map_tnm1$,127,24,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
monster 'map_tnm1$,142,27,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
monster 'map_tnm1$,140,22,"Evil Shadow",2941,1, instance_npcname("#tnm1stepmob") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
stopnpctimer;
|
|
end;
|
|
OnMobDead:
|
|
end;
|
|
}
|
|
|
|
1@tnm1,158,24,3 script Assassin Louie#tnm02 4_M_ACROSS,{
|
|
if ('devil_tower < 4)
|
|
end;
|
|
if (checkquest(7570,HUNTING) != 2) {
|
|
mes "[Louie]";
|
|
mes "The Captain says that we need to get rid of all of the demons...";
|
|
mes "Better get to it.";
|
|
close;
|
|
}
|
|
mes "[Louie]";
|
|
mes "A lot of soldiers still survived the attacks.";
|
|
mes "They got rid of all the demons.";
|
|
next;
|
|
mes "[Louie]";
|
|
mes "I was making sure that no one goes upstairs, I was afraid something might happen again.";
|
|
next;
|
|
mes "[Louie]";
|
|
mes "I wish you would help me.";
|
|
mes "I will guide you.";
|
|
if (isbegin_quest(7571) == 0) {
|
|
erasequest 7569;// Treat the injured
|
|
erasequest 7570;// Destroy the demons
|
|
setquest 7571;// Tower Expedition
|
|
}
|
|
next;
|
|
mes "I have been exploring the passages of this tower for a while now.";
|
|
close2;
|
|
warp 'map_tnm1$,124,86;
|
|
end;
|
|
}
|
|
|
|
// Stairs 2 tnm1
|
|
1@tnm1,138,96,3 script Lucile#tnm02 4_F_LUCILE,{
|
|
if (isbegin_quest(7571) == 0)
|
|
end;
|
|
if (is_party_leader() == false) {
|
|
mes "You wave your hand in front of her but she doesn't react.";
|
|
close;
|
|
}
|
|
if ('devil_tower < 4)
|
|
end;
|
|
if ('devil_tower < 6) {
|
|
if ('devil_tower == 4) {
|
|
mes "[Lucile]";
|
|
mes "I am sorry if I'm giving you any attitude but I can't move.";
|
|
npctalk "Lucile: I am sorry if I'm giving you any attitude but I can't move.";
|
|
cutin "tnm_lucile02.bmp",2;
|
|
next;
|
|
select("Can I help?");
|
|
mes "[Lucile]";
|
|
mes "I can use self-recovery but I don't have time for that.";
|
|
mes "Will you share your power with me?";
|
|
npctalk "Lucile: I can use self-recovery but I don't have time for that. Will you share your power with me?";
|
|
next;
|
|
mes "[Lucile]";
|
|
mes "I need your help to activate my restoration system.";
|
|
mes "Please hold tight.";
|
|
npctalk "Lucile: I need your help to activate my restoration system.";
|
|
next;
|
|
sleep2 750;
|
|
npctalk "Lucile: Please hold tight.";
|
|
if (is_party_leader() == true && 'devil_tower == 4) {
|
|
donpcevent instance_npcname("Huey#hui02") + "::OnEnable";
|
|
'devil_tower = 5;
|
|
}
|
|
percentheal -30,0;
|
|
}
|
|
cutin "tnm_lucile03.bmp",2;
|
|
mes "Lucile seems to be a machine.";
|
|
mes "I can hear mechanical sounds all of a sudden.";
|
|
specialeffect EF_LEVEL99_3;
|
|
progressbar "000000",40;
|
|
if (is_party_leader() == true && 'devil_tower == 5) {
|
|
if (isbegin_quest(7572) == 0)
|
|
setquest 7572;// Lucile...?
|
|
'devil_tower = 6;
|
|
}
|
|
mes "System is restored.";
|
|
next;
|
|
mes "[Lucile]";
|
|
mes "Wow! You fixed it faster than I thought.";
|
|
mes "Did that surprise you?";
|
|
mes "I have to be fixed occasionally because I don't have a normal body";
|
|
cutin "tnm_lucile02.bmp",2;
|
|
next;
|
|
mes "[Lucile]";
|
|
mes "This body was a gift from the gods.";
|
|
mes "Do you see the gate in the middle?";
|
|
cutin "tnm_lucile01.bmp",2;
|
|
next;
|
|
mes "[Lucile]";
|
|
mes "Hurry up or this world will be in a danger.";
|
|
close2;
|
|
cutin "",255;
|
|
// continue
|
|
}
|
|
if ('devil_tower == 6) {
|
|
sleep 1500;
|
|
npctalk "Lucile: Let me excuse myself, follow me if you want to save the world.";
|
|
sleep 2000;
|
|
npctalk "Huey: sister...", instance_npcname("Huey#hui02");
|
|
if ('devil_tower == 6) {
|
|
disablenpc instance_npcname("Lucile#tnm02");
|
|
enablenpc instance_npcname("Lucile#tnm03");
|
|
enablenpc instance_npcname("Magic Swordman#tnm02");
|
|
enablenpc instance_npcname("Demon Morocc#tnm01");
|
|
'devil_tower = 7;
|
|
}
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@tnm1,135,99,5 script Huey#hui02 4_TOWER_15,{
|
|
if ('devil_tower < 5)
|
|
end;
|
|
if ('devil_tower == 5 || 'devil_tower == 6) {
|
|
mes "[Huey]";
|
|
mes "I am concerned about her.";
|
|
mes "It happens whenever she's wounded.";
|
|
mes "Because she's mostly machine...";
|
|
close;
|
|
}
|
|
if ('mob_count > 0) {
|
|
mes "[Huey]";
|
|
mes "I know the path upstairs...";
|
|
mes "First of all, we have to get rid of these demons!";
|
|
close;
|
|
}
|
|
mes "[Huey]";
|
|
mes "I wonder how the others are doing...";
|
|
mes "Only Thanatos and Lucile have ever entered to upper floor...";
|
|
next;
|
|
mes "[Huey]";
|
|
mes "If you want to assist them, you must hurry.";
|
|
mes "I will guide the way for you.";
|
|
next;
|
|
if (select( "Move immediately.", "Do not follow." ) == 2) {
|
|
mes "[Huey]";
|
|
mes "...I see.";
|
|
close;
|
|
}
|
|
mes "[Huey]";
|
|
mes "This way.";
|
|
mes "Be careful.";
|
|
close2;
|
|
warp 'map_tnm2$,152,130;
|
|
end;
|
|
|
|
OnEnable:
|
|
enablenpc instance_npcname("Huey#hui02");
|
|
initnpctimer;
|
|
end;
|
|
OnTimer3000:
|
|
npctalk "Huey: Oh no, sister watch out! Demons have suddenly appeared!";
|
|
'mob_count = 16;
|
|
monster 'map_tnm1$,142,90,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,139,91,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,130,86,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
monster 'map_tnm1$,143,95,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
monster 'map_tnm1$,134,90,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
end;
|
|
OnTimer6000:
|
|
npctalk "Huey: Where are they coming from? Demons again......";
|
|
end;
|
|
OnTimer8000:
|
|
monster 'map_tnm1$,137,103,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,140,102,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
monster 'map_tnm1$,132,103,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,146,100,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
monster 'map_tnm1$,142,105,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
monster 'map_tnm1$,135,107,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
end;
|
|
OnTimer11000:
|
|
npctalk "Huey: Oh, no...";
|
|
end;
|
|
OnTimer12000:
|
|
monster 'map_tnm1$,135,107,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
monster 'map_tnm1$,146,100,"Evil Shadow",2939,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
monster 'map_tnm1$,130,86,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
monster 'map_tnm1$,137,103,"Evil Shadow",2940,1, instance_npcname("Huey#hui02") + "::OnMobDead";
|
|
monster 'map_tnm1$,143,95,"Evil Shadow",2941,1, instance_npcname("Huey#hui02") + "::OnMobDead"; // MM_EVIL_SHADOW3
|
|
stopnpctimer;
|
|
end;
|
|
OnMobDead:
|
|
'mob_count--;
|
|
if ('mob_count == 0)
|
|
npctalk "Huey: This way. This way... we can go upstairs by using the gap that the demons were coming from!";
|
|
end;
|
|
}
|
|
|
|
// Morocc - Thanatos Battle
|
|
1@tnm2,136,139,3 script Magic Swordman#tnm02 THANATOS_KEEP,{
|
|
mes "[Magic Swordman Thanatos]";
|
|
mes "I am sorry but I have been through tough time...";
|
|
close;
|
|
}
|
|
|
|
1@tnm2,133,139,5 duplicate(Officer Heim#heim0) Demon Morocc#tnm01 1916
|
|
|
|
1@tnm2,144,137,3 script Lucile#tnm03 4_F_LUCILE,{
|
|
if (is_party_leader() == false) {
|
|
mes "[Lucile]";
|
|
mes "I am talking to your party leader now so please step back for a while.";
|
|
cutin "tnm_lucile01.bmp",2;
|
|
close3;
|
|
}
|
|
if ('devil_tower == 7) {
|
|
mes "[Lucile]";
|
|
mes "Oh. You just have arrived in time.";
|
|
mes "Do you want to take a look over there?";
|
|
cutin "tnm_lucile01.bmp",2;
|
|
next;
|
|
mes "[Lucile]";
|
|
mes "We need to stop the demon...";
|
|
mes "Can you do that?";
|
|
npctalk "Lucile: We need to stop the demon... Can you do that?";
|
|
if (is_party_leader() == true && 'devil_tower == 7) {
|
|
if (isbegin_quest(7573) == 0)
|
|
setquest 7573;// Magic Swordman Thanatos
|
|
'demon$ = instance_npcname("Demon Morocc#tnm01");
|
|
'thanatos$ = instance_npcname("Magic Swordman#tnm02");
|
|
initnpctimer;
|
|
'devil_tower = 8;
|
|
}
|
|
close3;
|
|
}
|
|
mes "[Lucile]";
|
|
mes "We need to hold this spot until the trap is set by the Magic Swordman.";
|
|
cutin "tnm_lucile01.bmp",2;
|
|
close3;
|
|
|
|
OnTimer2000:
|
|
npctalk "Demon Morocc: You silly human. How long do you think you can manage to tie me up!", 'demon$;
|
|
end;
|
|
OnTimer5000:
|
|
npctalk "Demon Morocc: Shadows! Come out and kill all enemies of darkness!", 'demon$;
|
|
end;
|
|
OnTimer6000:
|
|
donpcevent instance_npcname("#devil_seal_timer") + "::OnStart";
|
|
end;
|
|
OnTimer8000:
|
|
npctalk "Thanatos: You are so desperate that you're begging me to save you.", 'thanatos$;
|
|
end;
|
|
OnTimer11500:
|
|
npctalk "Lucile: Thanatos. Sir, should you be bluffing like that?";
|
|
end;
|
|
OnTimer12000:
|
|
npctalk "Demon Morocc: Be afraid of the destruction that I will bring when I'm released!", 'demon$;
|
|
end;
|
|
OnTimer15000:
|
|
npctalk "Thanatos: Shut up! You will never leave here unless I kill you!", 'thanatos$;
|
|
end;
|
|
OnTimer16500:
|
|
npctalk "Thanatos: Lucile! Watch my back while I conjure up a shield to hold him!", 'thanatos$;
|
|
end;
|
|
OnTimer19500:
|
|
npctalk "Lucile: Yes sir.";
|
|
end;
|
|
OnTimer22500:
|
|
npctalk "Lucile: Okay everyone, now we know what to do. We have to prevent the Magic Seal from reaching here!";
|
|
stopnpctimer;
|
|
end;
|
|
}
|
|
|
|
1@tnm2,1,1,0 script #devil_flamecross HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnStart:
|
|
npctalk "Demon Morocc: No way!! Troublemakers!", 'demon$;
|
|
mapannounce 'map_tnm2$, "Demon Morocc: No way!! Troublemakers!", bc_map,0xFF0000;
|
|
initnpctimer;
|
|
end;
|
|
OnTimer1000:
|
|
setarray .@north[0], 138,151, 138,160, 140,165, 140,176, 140,170, 140,181, 140,186, 140,191;
|
|
setarray .@north_west[0], 126,149, 122,151, 118,153, 113,154, 107,156, 101,158, 96,160, 91,161, 86,162, 81,163;
|
|
setarray .@south_west[0], 128,130, 125,127, 122,124, 118,121, 115,118, 112,115, 109,114, 106,106, 102,102, 99,98;
|
|
setarray .@south_east[0], 145,130, 148,126, 151,122, 156,120, 160,117, 164,113, 168,109, 172,105, 176,101, 180,97;
|
|
setarray .@north_east[0], 146,149, 148,149, 150,151, 155,152, 162,153, 167,154, 173,156, 179,158, 185,160, 191,161;
|
|
.@label$ = instance_npcname("#devil_flamecross") + "::OnFlameDead";
|
|
for ( .@i = 0; .@i < 20; .@i += 2 ) {
|
|
if (.@north[.@i] > 0) // 8 mobs for north
|
|
monster 'map_tnm2$,.@north[.@i],.@north[.@i+1], "",2960,1, .@label$;
|
|
monster 'map_tnm2$,.@north_west[.@i],.@north_west[.@i+1], "",2960,1, .@label$;
|
|
monster 'map_tnm2$,.@south_west[.@i],.@south_west[.@i+1], "",2960,1, .@label$;
|
|
monster 'map_tnm2$,.@south_east[.@i],.@south_east[.@i+1], "",2960,1, .@label$;
|
|
monster 'map_tnm2$,.@north_east[.@i],.@north_east[.@i+1], "",2960,1, .@label$;
|
|
sleep 200;
|
|
}
|
|
end;
|
|
OnTimer6000:
|
|
killmonster 'map_tnm2$, instance_npcname("#devil_flamecross") + "::OnFlameDead";
|
|
end;
|
|
OnTimer20000:
|
|
stopnpctimer;
|
|
donpcevent instance_npcname("#devil_flamecross") + "::OnStart";
|
|
end;
|
|
OnStop:
|
|
stopnpctimer;
|
|
killmonster 'map_tnm2$, instance_npcname("#devil_flamecross") + "::OnFlameDead";
|
|
end;
|
|
OnFlameDead:
|
|
end;
|
|
}
|
|
|
|
1@tnm2,1,1,0 script #devil_seal_timer HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnStart:
|
|
enablenpc instance_npcname("#devil_seal_timer");
|
|
enablenpc instance_npcname("#devil_flamecross");
|
|
setarray .@direction$[0], "DIR_NORTHWEST", "DIR_SOUTHWEST", "DIR_SOUTHEAST", "DIR_NORTHEAST", "DIR_NORTH";
|
|
for ( .@i = 0; .@i < 5; .@i++ ) {
|
|
enablenpc instance_npcname("devil_seal_spawn#" + .@direction$[.@i]);
|
|
enablenpc instance_npcname("seal_reach_center#" + .@direction$[.@i]);
|
|
}
|
|
enablenpc instance_npcname("#devil_seal_dead");
|
|
donpcevent instance_npcname("#devil_seal_spawn_global") + "::OnCoord";
|
|
initnpctimer;
|
|
end;
|
|
OnTimer5000:
|
|
mapannounce 'map_tnm2$, "A Magic Seal has just appeared in southeast direction of the tower.", bc_map,0xFFFFFF;
|
|
donpcevent instance_npcname("#devil_seal_spawn_global") + "::OnFirstSpawn";
|
|
end;
|
|
OnTimer10000:
|
|
donpcevent instance_npcname("#devil_flamecross") + "::OnStart";
|
|
end;
|
|
OnTimer25000:
|
|
mapannounce 'map_tnm2$, "Lucile: We should stop before Magic Seal has just started to move again.", bc_map,0xFFFFFF;
|
|
end;
|
|
OnTimer65000:
|
|
mapannounce 'map_tnm2$, "Lucile: We should stop before Magic Seal reaches the center.", bc_map,0xFFFFFF;
|
|
end;
|
|
OnTimer95000:
|
|
mapannounce 'map_tnm2$, "Lucile: The Magic Seal has just started to move again.", bc_map,0xFFFFFF;
|
|
end;
|
|
OnTimer125000:
|
|
mapannounce 'map_tnm2$, "Lucile: It is coming closer... No... It's too dangerous.", bc_map,0xFFFFFF;
|
|
end;
|
|
OnTimer155000:
|
|
mapannounce 'map_tnm2$, "Lucile: The Magic Seal is almost approaching the center!!", bc_map,0xFFFFFF;
|
|
end;
|
|
OnTimer180000:
|
|
donpcevent instance_npcname("#devil_flamecross") + "::OnStop";
|
|
end;
|
|
OnTimer185000:
|
|
mapannounce 'map_tnm2$, "Lucile: We should stop it now!", bc_map,0xFFFFFF;
|
|
end;
|
|
OnTimer191000:
|
|
npctalk "Thanatos: What are you doing!!! Are you playing a game now?!", 'thanatos$;
|
|
mapannounce 'map_tnm2$, "Thanatos: What are you doing!!! Are you playing a game now?!", bc_map,0xFF00;
|
|
end;
|
|
OnTimer193000:
|
|
specialeffect EF_MAGNUMBREAK,AREA, 'thanatos$;
|
|
specialeffect EF_LORD,AREA, 'thanatos$;
|
|
setarray .@direction$[0], "DIR_NORTHWEST", "DIR_SOUTHWEST", "DIR_SOUTHEAST", "DIR_NORTHEAST", "DIR_NORTH";
|
|
for ( .@i = 0; .@i < 5; .@i++ )
|
|
donpcevent instance_npcname("devil_seal_spawn#" + .@direction$[.@i]) + "::OnStop";
|
|
end;
|
|
OnTimer195000:
|
|
npctalk "Demon Morocc: Are you going to keep disturbing me!!!", 'demon$;
|
|
mapannounce 'map_tnm2$, "Demon Morocc: Are you going to keep disturbing me!!!", bc_map,0xFF0000;
|
|
end;
|
|
OnTimer198000:
|
|
npctalk "Demon Morocc: Okay, Let's see who is going to win!!! Come out!", 'demon$;
|
|
mapannounce 'map_tnm2$, "Demon Morocc: Okay, Let's see who is going to win!!! Come out!", bc_map,0xFF0000;
|
|
end;
|
|
OnTimer201000:
|
|
npctalk "Thanatos: It will be the same no matter how many times you try! Give up and go back to demon world!!", 'thanatos$;
|
|
mapannounce 'map_tnm2$, "Thanatos: It will be the same no matter how many times you try! Give up and go back to demon world!!", bc_map,0xFF00;
|
|
initnpctimer;
|
|
end;
|
|
OnStop:
|
|
stopnpctimer;
|
|
donpcevent instance_npcname("#devil_flamecross") + "::OnStop";
|
|
disablenpc instance_npcname("#devil_flamecross");
|
|
disablenpc instance_npcname("#devil_seal_timer");
|
|
end;
|
|
}
|
|
|
|
1@tnm2,1,1,0 script #devil_seal_spawn_global HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnCoord:
|
|
enablenpc instance_npcname("#devil_seal_spawn_global");
|
|
// setarray 'coord_seal_DIR_NORTHWEST[0], 68,167, 78,165, 88,163, 98,160, 108,156, 118,152, 127,147;
|
|
setarray 'coord_seal_DIR_NORTHWEST[0], 68,167, 78,165, 88,163, 98,160, 108,156, 118,152, 118,152;// officially
|
|
setarray 'coord_seal_DIR_SOUTHWEST[0], 90, 86, 96, 95, 103,103, 110,110, 116,116, 122,122, 129,130;
|
|
setarray 'coord_seal_DIR_SOUTHEAST[0], 191,86, 183, 94, 174,103, 165,112, 156,120, 147,128, 143,131;
|
|
setarray 'coord_seal_DIR_NORTHEAST[0], 197,162, 188,161, 179,158, 170,155, 161,152, 152,149, 144,148;
|
|
setarray 'coord_seal_DIR_NORTH[0], 142,214, 140,205, 140,195, 140,185, 140,173, 139,161, 138,150;
|
|
end;
|
|
OnFirstSpawn:
|
|
'round[DIR_NORTHWEST] = 'round[DIR_SOUTHWEST] = 'round[DIR_SOUTHEAST] = 'round[DIR_NORTHEAST] = 'round[DIR_NORTH] = 0;
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnFirstSpawn";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnFirstSpawn";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnFirstSpawn";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnFirstSpawn";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnFirstSpawn";
|
|
initnpctimer;
|
|
end;
|
|
OnTimer2000:
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnSlaves";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnSlaves";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnSlaves";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnSlaves";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnSlaves";
|
|
end;
|
|
OnTimer20000:
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnStart";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnStart";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnStart";
|
|
end;
|
|
OnTimer30000:
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnStart";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnStart";
|
|
end;
|
|
OnStop:
|
|
stopnpctimer;
|
|
disablenpc instance_npcname("#devil_seal_spawn_global");
|
|
end;
|
|
}
|
|
|
|
1@tnm2,1,1,0 script devil_seal_spawn#DIR_NORTHWEST HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnStart:
|
|
.@num = getd( strnpcinfo(2) );
|
|
if ('seal_id[.@num] == 0 || unitexists('seal_id[.@num]) == 0)
|
|
stopnpctimer;
|
|
else {
|
|
getunitdata 'seal_id[.@num], .@data;
|
|
'seal_hp[.@num] = .@data[UMOB_HP];
|
|
killmonster 'map_tnm2$, instance_npcname("#devil_seal_dead") + "::OnSeal_" + strnpcinfo(2);
|
|
initnpctimer;
|
|
}
|
|
end;
|
|
OnFirstSpawn:
|
|
OnTimer5000:
|
|
.@num = getd( strnpcinfo(2) );
|
|
.@index = 'round[.@num] * 2;
|
|
if (.@index == 0 || 'seal_id[.@num]) {
|
|
.@direction$ = strnpcinfo(2);
|
|
.@x = getd( "'coord_seal_" + .@direction$ + "[" + .@index + "]" );
|
|
.@y = getd( "'coord_seal_" + .@direction$ + "[" + (.@index+1) + "]" );
|
|
|
|
monster 'map_tnm2$,.@x,.@y,"Magic Seal",2938,1, instance_npcname("#devil_seal_dead") + "::OnSeal_" + .@direction$; // MM_MAGIC_SEAL
|
|
'seal_id[.@num] = $@mobid[0];
|
|
if (.@index == 0)
|
|
setunitdata 'seal_id[.@num], UMOB_HP, 3000000;
|
|
else if ('seal_hp[.@num] > 0)
|
|
setunitdata 'seal_id[.@num], UMOB_HP, 'seal_hp[.@num];
|
|
else
|
|
stopnpctimer;
|
|
'round[.@num]++;
|
|
if ('round[.@num] == 7)
|
|
donpcevent instance_npcname("seal_reach_center#" + .@direction$) + "::OnStart";
|
|
}
|
|
end;
|
|
OnSlaves:
|
|
OnTimer7000:
|
|
killmonster 'map_tnm2$, instance_npcname(strnpcinfo(0)) + "::OnMobDead";
|
|
.@num = getd( strnpcinfo(2) );
|
|
if ('seal_id[.@num] && unitexists('seal_id[.@num])) {
|
|
.@direction$ = strnpcinfo(2);
|
|
.@index = ('round[.@num] - 1) * 2;
|
|
.@x = getd( "'coord_seal_" + .@direction$ + "[" + .@index + "]" );
|
|
.@y = getd( "'coord_seal_" + .@direction$ + "[" + (.@index+1) + "]" );
|
|
areamonster 'map_tnm2$,(.@x-1),(.@y-1),(.@x+1),(.@y+1),"Evil Shadow",2939,2, instance_npcname(strnpcinfo(0)) + "::OnMobDead"; // MM_EVIL_SHADOW1
|
|
areamonster 'map_tnm2$,(.@x-1),(.@y-1),(.@x+1),(.@y+1),"Evil Shadow",2940,2, instance_npcname(strnpcinfo(0)) + "::OnMobDead"; // MM_EVIL_SHADOW2
|
|
if ('round[.@num] == 7)
|
|
stopnpctimer;
|
|
}
|
|
end;
|
|
OnTimer30000:
|
|
donpcevent instance_npcname("devil_seal_spawn#" + strnpcinfo(2)) + "::OnStart";
|
|
end;
|
|
|
|
OnDisable:
|
|
stopnpctimer;
|
|
killmonster 'map_tnm2$, instance_npcname(strnpcinfo(0)) + "::OnMobDead"; // note : officially still alive
|
|
killmonster 'map_tnm2$, instance_npcname("#devil_seal_dead") + "::OnSeal_" + strnpcinfo(2); // note : officially still alive
|
|
disablenpc();
|
|
end;
|
|
OnStop:
|
|
stopnpctimer;
|
|
killmonster 'map_tnm2$, instance_npcname(strnpcinfo(0)) + "::OnMobDead";
|
|
killmonster 'map_tnm2$, instance_npcname("#devil_seal_dead") + "::OnSeal_" + strnpcinfo(2);
|
|
end;
|
|
OnMobDead:
|
|
end;
|
|
}
|
|
1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_SOUTHWEST HIDDEN_WARP_NPC
|
|
1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_SOUTHEAST HIDDEN_WARP_NPC
|
|
1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_NORTHEAST HIDDEN_WARP_NPC
|
|
1@tnm2,1,1,0 duplicate(devil_seal_spawn#DIR_NORTHWEST) devil_seal_spawn#DIR_NORTH HIDDEN_WARP_NPC
|
|
|
|
1@tnm2,1,1,0 script seal_reach_center#DIR_NORTHWEST HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnStart:
|
|
enablenpc();
|
|
initnpctimer;
|
|
end;
|
|
OnTimer2000:
|
|
npctalk "Demon Morocc: Kuh ha ha ha ha Pieces of my power! Gather here again!!!", 'demon$;
|
|
mapannounce 'map_tnm2$, "Demon Morocc: Kuh ha ha ha ha Pieces of my power! Gather here again!!!", bc_map,0xFF0000;
|
|
end;
|
|
OnTimer4000:
|
|
npctalk "Thanatos: Stop him! Prevent him from coming closer!!!", 'thanatos$;
|
|
mapannounce 'map_tnm2$, "Thanatos: Stop him! Prevent him from coming closer!!!", bc_map,0xFF00;
|
|
stopnpctimer;
|
|
disablenpc();
|
|
end;
|
|
}
|
|
1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_SOUTHWEST HIDDEN_WARP_NPC
|
|
1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_SOUTHEAST HIDDEN_WARP_NPC
|
|
1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_NORTHEAST HIDDEN_WARP_NPC
|
|
1@tnm2,1,1,0 duplicate(seal_reach_center#DIR_NORTHWEST) seal_reach_center#DIR_NORTH HIDDEN_WARP_NPC
|
|
|
|
1@tnm2,1,1,0 script #devil_seal_dead HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnSeal_DIR_NORTHWEST: callsub( S_Sealdead, DIR_NORTHWEST );
|
|
OnSeal_DIR_SOUTHWEST: callsub( S_Sealdead, DIR_SOUTHWEST );
|
|
OnSeal_DIR_SOUTHEAST: callsub( S_Sealdead, DIR_SOUTHEAST );
|
|
OnSeal_DIR_NORTHEAST: callsub( S_Sealdead, DIR_NORTHEAST );
|
|
OnSeal_DIR_NORTH: callsub( S_Sealdead, DIR_NORTH );
|
|
|
|
S_Sealdead:
|
|
'seal_id[ getarg(0) ] = 0;
|
|
'seal_dead[ getarg(0) ] = 1;
|
|
.@total_seal = 'seal_dead[DIR_NORTHWEST] + 'seal_dead[DIR_SOUTHWEST] + 'seal_dead[DIR_SOUTHEAST] + 'seal_dead[DIR_NORTHEAST] + 'seal_dead[DIR_NORTH];
|
|
if (.@total_seal != 5) {
|
|
if (getarg(0) == DIR_NORTHWEST)
|
|
mapannounce 'map_tnm2$, "Lucile: It is too early to feel easy! There are Magic Seals that haven't been destroyed yet.", bc_map,0xFF00;
|
|
else
|
|
mapannounce 'map_tnm2$, "There are still Magic Seals to destroy.", bc_map,0xFF00;
|
|
}
|
|
else {
|
|
donpcevent instance_npcname("#devil_seal_spawn_global") + "::OnStop";
|
|
donpcevent instance_npcname("#devil_seal_timer") + "::OnStop"; // stop timer of npc #devil_flamecross as well
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHWEST") + "::OnDisable";// note: on official seals and slaves are alive
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHWEST") + "::OnDisable";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_SOUTHEAST") + "::OnDisable";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTHEAST") + "::OnDisable";
|
|
donpcevent instance_npcname("devil_seal_spawn#DIR_NORTH") + "::OnDisable";
|
|
mapannounce 'map_tnm2$, "Demon Morocc: No.. This can't be.. Who the hell.. are you!", bc_map,0xFF0000;
|
|
npctalk "Demon Morocc: No.. This can't be.. Who the hell.. are you!", 'demon$;
|
|
initnpctimer;
|
|
}
|
|
end;
|
|
OnTimer3000:
|
|
mapannounce 'map_tnm2$, "Thanatos: It will be the last time to show off!! Good bye!!!", bc_map,0xFF0000;
|
|
npctalk "Thanatos: It will be the last time to show off!! Good bye!!!", 'thanatos$;
|
|
end;
|
|
OnTimer5000:
|
|
specialeffect EF_LORD,AREA, 'thanatos$;
|
|
end;
|
|
OnTimer7000:
|
|
stopnpctimer;
|
|
disablenpc 'demon$;
|
|
disablenpc 'thanatos$;
|
|
disablenpc instance_npcname("Lucile#tnm03");
|
|
enablenpc instance_npcname("Lucile#tnm04");
|
|
enablenpc instance_npcname("#tnm3event01");
|
|
enablenpc instance_npcname("Young Girl#tnm01");
|
|
'devil_tower = 9;
|
|
|
|
'demon$ = 'thanatos$ = "";
|
|
'round[DIR_NORTHWEST] = 'round[DIR_SOUTHWEST] = 'round[DIR_SOUTHEAST] = 'round[DIR_NORTHEAST] = 'round[DIR_NORTH] = 0;
|
|
'seal_id[DIR_NORTHWEST] = 'seal_id[DIR_SOUTHWEST] = 'seal_id[DIR_SOUTHEAST] = 'seal_id[DIR_NORTHEAST] = 'seal_id[DIR_NORTH] = 0;
|
|
'seal_hp[DIR_NORTHWEST] = 'seal_hp[DIR_SOUTHWEST] = 'seal_hp[DIR_SOUTHEAST] = 'seal_hp[DIR_NORTHEAST] = 'seal_hp[DIR_NORTH] = 0;
|
|
'seal_dead[DIR_NORTHWEST] = 'seal_dead[DIR_SOUTHWEST] = 'seal_dead[DIR_SOUTHEAST] = 'seal_dead[DIR_NORTHEAST] = 'seal_dead[DIR_NORTH] = 0;
|
|
deletearray 'coord_seal_DIR_NORTHWEST[0],14;
|
|
deletearray 'coord_seal_DIR_SOUTHWEST[0],14;
|
|
deletearray 'coord_seal_DIR_SOUTHEAST[0],14;
|
|
deletearray 'coord_seal_DIR_NORTHEAST[0],14;
|
|
deletearray 'coord_seal_DIR_NORTH[0],14;
|
|
end;
|
|
}
|
|
|
|
1@tnm2,144,137,3 script Lucile#tnm04 4_F_LUCILE,{
|
|
if ('devil_tower < 9)
|
|
end;
|
|
if (isbegin_quest(7574) == 0) {
|
|
if (isbegin_quest(7572) == 1)
|
|
erasequest 7572;// Lucile...?
|
|
if (isbegin_quest(7573) == 1) // leader
|
|
erasequest 7573;// Magic Swordman Thanatos
|
|
setquest 7574;// Thanatos Tower
|
|
mes "[Lucile]";
|
|
mes "I guess the power of Demon Morocc to break the shield of seal has collided with Thanatos.";
|
|
cutin "tnm_lucile01.bmp",2;
|
|
next;
|
|
mes "[Lucile]";
|
|
mes "It has gone too far somewhere in the south";
|
|
mes "Will you go there?";
|
|
}
|
|
else {
|
|
mes "[Lucile]";
|
|
mes "The collision of those two powers is too much to handle.";
|
|
mes "It could have influenced the south of Rune-Midgarts.";
|
|
}
|
|
next;
|
|
if (select( "Follow.", "Stop." ) == 2) {
|
|
mes "[Lucile]";
|
|
mes "...I guess this is what you are able to?";
|
|
cutin "tnm_lucile02.bmp",2;
|
|
close3;
|
|
}
|
|
mes "[Lucile]";
|
|
mes "Good luck.";
|
|
close2;
|
|
warp 'map_tnm3$,21,171;
|
|
end;
|
|
}
|
|
|
|
// tnm3 Stairs 1
|
|
1@tnm3,21,171,0 script #tnm3event01 HIDDEN_NPC,1,1,{
|
|
end;
|
|
OnTouch:
|
|
if ('devil_tower != 9)
|
|
end;
|
|
setpcblock PCBLOCK_NPC, true;
|
|
disablenpc instance_npcname("#tnm3event01");
|
|
enablenpc instance_npcname("Young Girl#tnm01");
|
|
sleep2 4000;
|
|
mapannounce 'map_tnm3$, "Young Girl: Odin Preserve me! A demon!! Help me!", bc_map,0xFF00;
|
|
'mob_count = 12;
|
|
initnpctimer;
|
|
setpcblock PCBLOCK_NPC, false;
|
|
end;
|
|
OnTimer1000:
|
|
monster 'map_tnm3$,33,171,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
|
|
end;
|
|
OnTimer2000:
|
|
monster 'map_tnm3$,39,172,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
|
|
end;
|
|
OnTimer3000:
|
|
monster 'map_tnm3$,34,177,"Evil Shadow",2940,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW2
|
|
end;
|
|
OnTimer4000:
|
|
monster 'map_tnm3$,36,176,"Evil Shadow",2940,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW2
|
|
end;
|
|
OnTimer5000:
|
|
monster 'map_tnm3$,37,175,"Evil Shadow",2940,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW2
|
|
end;
|
|
OnTimer6000:
|
|
monster 'map_tnm3$,37,173,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
monster 'map_tnm3$,36,172,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
end;
|
|
OnTimer7000:
|
|
monster 'map_tnm3$,29,178,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
monster 'map_tnm3$,35,172,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
end;
|
|
OnTimer8000:
|
|
monster 'map_tnm3$,34,173,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
monster 'map_tnm3$,35,172,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
|
|
end;
|
|
OnTimer9000:
|
|
monster 'map_tnm3$,34,173,"Evil Shadow",2941,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
stopnpctimer;
|
|
end;
|
|
}
|
|
|
|
1@tnm3,43,175,3 script Young Girl#tnm01 4_F_DST_CHILD,{
|
|
if ('devil_tower < 9)
|
|
end;
|
|
if ('devil_tower == 9) {
|
|
mes "[Young Girl]";
|
|
mes "Why are there demons in the castle?!";
|
|
mes "HELP ME!";
|
|
close;
|
|
}
|
|
if ('devil_tower == 10) {
|
|
if (is_party_leader() == false) {
|
|
mes "[Young Girl]";
|
|
mes "*weeping* The demons are so scary.";
|
|
close;
|
|
}
|
|
mes "[Young Girl]";
|
|
mes "Why would demons come all of a sudden,";
|
|
mes "lots of guards are hurt.";
|
|
npctalk "Young Girl: Why would demons come all of a sudden, lots of guards are hurt.";
|
|
next;
|
|
select("Where are they?");
|
|
unittalk getcharid(3), "" + strcharinfo(0) + " : Where are they?";
|
|
mes "[Young Girl]";
|
|
mes "They are in Morocc castle. My father is a knight.";
|
|
npctalk "They are in Morocc castle. My father is a knight.";
|
|
next;
|
|
mes "[Young Girl]";
|
|
mes "It seems like something is happening, I hear strange noises downstairs.";
|
|
npctalk "Young Girl: It seems like something is happening, I hear strange noises downstairs.";
|
|
next;
|
|
mes "[Young Girl]";
|
|
mes "I saw some guys in black entering. What is going on in the castle?";
|
|
npctalk "Young Girl: I saw some guys in black entering. What is going on in the castle?";
|
|
next;
|
|
mes "[Young Girl]";
|
|
mes "Papa.. Papa please be safe. *sob*";
|
|
mes "Please come with me through the passage behind that shelf!";
|
|
npctalk "Young Girl: Please come with me through the passage behind that shelf!";
|
|
close2;
|
|
if (is_party_leader() == true && 'devil_tower == 10) {
|
|
enablenpc instance_npcname("#tnm3gate01");
|
|
enablenpc instance_npcname("#tnm3event02ect");
|
|
'devil_tower = 11;
|
|
}
|
|
end;
|
|
}
|
|
if ('devil_tower == 11) {
|
|
mes "[Young Girl]";
|
|
mes "Behind that shelf is a secret passage to the basement!";
|
|
mes "Please come with me to make sure my Papa is safe.";
|
|
close;
|
|
}
|
|
end;
|
|
|
|
OnMobDead:
|
|
'mob_count--;
|
|
if ('mob_count == 0) {
|
|
'devil_tower = 10;
|
|
npctalk "Young Girl: Thank you for saving me... but why is there a demon?";
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@tnm3,52,176,0 warp #tnm3gate01 2,2,1@tnm3,85,178
|
|
|
|
// tnm3 Stairs 2
|
|
1@tnm3,85,178,0 script #tnm3event02ect HIDDEN_NPC,1,1,{
|
|
end;
|
|
OnTouch:
|
|
if ('devil_tower != 11)
|
|
end;
|
|
disablenpc instance_npcname("#tnm3event02ect");
|
|
enablenpc instance_npcname("Young Girl#tnm02");
|
|
npctalk "Young Girl: Look! More demons, they will overwhelm the castle soon!", instance_npcname("Young Girl#tnm02");
|
|
'mob_count = 18;
|
|
initnpctimer;
|
|
end;
|
|
OnTimer1000:
|
|
.@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
|
|
monster 'map_tnm3$,97,174,"Evil Shadow",2939,1, .@label$;
|
|
monster 'map_tnm3$,98,175,"Evil Shadow",2939,1, .@label$;
|
|
monster 'map_tnm3$,100,166,"Evil Shadow",2939,1, .@label$;
|
|
monster 'map_tnm3$,108,171,"Evil Shadow",2940,1, .@label$;
|
|
monster 'map_tnm3$,104,172,"Evil Shadow",2940,1, .@label$;
|
|
end;
|
|
OnTimer3000:
|
|
.@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
|
|
monster 'map_tnm3$,109,169,"Evil Shadow",2941,1, .@label$;
|
|
monster 'map_tnm3$,111,173,"Evil Shadow",2941,1, .@label$;
|
|
monster 'map_tnm3$,113,167,"Evil Shadow",2941,1, .@label$;
|
|
monster 'map_tnm3$,101,176,"Evil Shadow",2939,1, .@label$;
|
|
monster 'map_tnm3$,116,170,"Evil Shadow",2941,1, .@label$;
|
|
end;
|
|
OnTimer5000:
|
|
.@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
|
|
monster 'map_tnm3$,107,175,"Evil Shadow",2940,1, .@label$;
|
|
monster 'map_tnm3$,106,174,"Evil Shadow",2940,1, .@label$;
|
|
monster 'map_tnm3$,106,169,"Evil Shadow",2939,1, .@label$;
|
|
monster 'map_tnm3$,103,177,"Evil Shadow",2940,1, .@label$;
|
|
end;
|
|
OnTimer7000:
|
|
stopnpctimer;
|
|
.@label$ = instance_npcname("Young Girl#tnm02") + "::OnMobDead";
|
|
monster 'map_tnm3$,121,171,"Evil Shadow",2941,1, .@label$;
|
|
monster 'map_tnm3$,119,173,"Evil Shadow",2941,1, .@label$;
|
|
monster 'map_tnm3$,127,166,"Evil Shadow",2941,1, .@label$;
|
|
monster 'map_tnm3$,125,166,"Evil Shadow",2941,1, .@label$;
|
|
end;
|
|
}
|
|
|
|
1@tnm3,89,179,4 script Young Girl#tnm02 4_F_DST_CHILD,{
|
|
end;
|
|
OnMobDead:
|
|
'mob_count--;
|
|
if ('mob_count == 0) {
|
|
mapannounce 'map_tnm3$, "Young Girl: The way underground is along this aisle!", bc_map,0xFF00;
|
|
disablenpc instance_npcname("Young Girl#tnm02");
|
|
enablenpc instance_npcname("Young Girl#tnm03");
|
|
npctalk "Young Girl: The way underground is along this aisle!", instance_npcname("Young Girl#tnm03");
|
|
enablenpc instance_npcname("#tnm3gate02");
|
|
enablenpc instance_npcname("Evil Shadow#tnm3mob01");
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@tnm3,128,164,3 script Young Girl#tnm03 4_F_DST_CHILD,{
|
|
mes "[Young Girl]";
|
|
mes "From here.. I do not know well...";
|
|
mes "I see so many stairs...";
|
|
mes "See there are so many demons. My father will be in a danger!";
|
|
mes "Please save him.";
|
|
close;
|
|
}
|
|
|
|
1@tnm3,134,156,0 warp #tnm3gate02 1,1,1@tnm3,169,165
|
|
|
|
// tnm3 Stairs 3
|
|
1@tnm3,179,172,3 script Evil Shadow#tnm3mob01 2941,4,4,{
|
|
end;
|
|
OnTouch_:
|
|
if ('devil_tower == 11) {
|
|
'devil_tower = 12;
|
|
setpcblock PCBLOCK_NPC, true;
|
|
sleep2 1000;
|
|
npctalk "Evil Shadow: I thought I smelled rats sneaking in here. I was right!!";
|
|
sleep2 3000;
|
|
npctalk "Evil Shadow: You will rue your curiosity and interference. Time to feed!";
|
|
sleep2 3000;
|
|
npctalk "Evil Shadow: I summon the Darkness!!";
|
|
disablenpc instance_npcname("Evil Shadow#tnm3mob01");
|
|
donpcevent instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnSummon";
|
|
setpcblock PCBLOCK_NPC, false;
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@tnm3,1,1,0 script Evil Shadow kill#tnm3mob01 HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnSummon:
|
|
enablenpc instance_npcname("Evil Shadow kill#tnm3mob01");
|
|
'mob_count = 5;
|
|
initnpctimer;
|
|
monster 'map_tnm3$,179,172, "Evil Shadow",2941,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";// MM_EVIL_SHADOW3
|
|
end;
|
|
OnTimer1000:
|
|
monster 'map_tnm3$,181,172, "Evil Shadow",2940,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";// MM_EVIL_SHADOW2
|
|
monster 'map_tnm3$,178,172, "Evil Shadow",2940,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";
|
|
end;
|
|
OnTimer2000:
|
|
monster 'map_tnm3$,179,172, "Evil Shadow",2939,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";// MM_EVIL_SHADOW1
|
|
monster 'map_tnm3$,176,173, "Evil Shadow",2939,1, instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnMobDead";
|
|
stopnpctimer;
|
|
end;
|
|
OnMobDead:
|
|
'mob_count--;
|
|
if ('mob_count == 0) {
|
|
enablenpc instance_npcname("#tnm3gate03");
|
|
enablenpc instance_npcname("Demonic Shade#mobmaster");
|
|
enablenpc instance_npcname("Morocc Lord Knight#mocl");
|
|
enablenpc instance_npcname("Loki#tnmloki01");
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@tnm3,183,177,0 warp #tnm3gate03 1,1,1@tnm3,97,6
|
|
|
|
// Demonic Shade (Boss room)
|
|
1@tnm3,97,18,3 script Demonic Shade#mobmaster 2939,5,5,{
|
|
end;
|
|
OnTouch_:// possibility to skip this step
|
|
if ('devil_tower < 12)
|
|
end;
|
|
if ('shade == 0) {
|
|
'shade = 1;
|
|
setpcblock PCBLOCK_NPC, true;
|
|
sleep2 1000;
|
|
npctalk "Demonic Shade: So you are the trouble makers!";
|
|
sleep2 2000;
|
|
npctalk "Demonic Shade: Tsk, You couldn't even manage to protect..?.whatever.. you will all die here.";
|
|
sleep2 3000;
|
|
npctalk "Demonic Shade: The eternal truth is I will turn your deaths into the Demon's life with your hearts' blood!!!";
|
|
disablenpc instance_npcname("Demonic Shade#mobmaster");
|
|
donpcevent instance_npcname("#mobmaster_kill") + "::OnSummon";
|
|
setpcblock PCBLOCK_NPC, false;
|
|
}
|
|
end;
|
|
}
|
|
|
|
1@tnm3,1,1,0 script #mobmaster_kill HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnSummon:
|
|
enablenpc instance_npcname("#mobmaster_kill");
|
|
initnpctimer;
|
|
monster 'map_tnm3$,97,18, "Demonic Shade",2939,1, instance_npcname("#mobmaster_kill") + "::OnMobDead";
|
|
end;
|
|
OnTimer1000:
|
|
.@label$ = instance_npcname("#mobmaster_kill") + "::OnMobDead";
|
|
stopnpctimer;
|
|
monster 'map_tnm3$,94,18, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,96,18, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,113,18, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,119,22, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,116,18, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,116,18, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,114,12, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,116,21, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,74,18, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,75,12, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,76,21, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,69,16, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,57,43, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,58,44, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,59,46, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,60,48, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,56,45, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,57,44, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,80,71, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,59,77, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,77,73, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,77,72, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,59,70, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,81,66, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,60,69, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,57,73, "Demonic Shade",2940,1, .@label$;
|
|
monster 'map_tnm3$,62,74, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,78,67, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,75,22, "Demonic Shade",2941,1, .@label$;
|
|
monster 'map_tnm3$,81,69, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,77,11, "Demonic Shade",2939,1, .@label$;
|
|
monster 'map_tnm3$,58,74, "Demonic Shade",2941,1, .@label$;
|
|
end;
|
|
|
|
OnMobDead:
|
|
end;
|
|
}
|
|
|
|
1@tnm3,93,52,4 script Morocc Lord Knight#mocl 1_M_MOC_LORD,{
|
|
mes "[Morocc Lord Knight]";
|
|
mes "You were the rats who were sneaking around here!";
|
|
close;
|
|
}
|
|
|
|
1@tnm3,97,48,3 script Loki#tnmloki01 4_M_ROKI2,{
|
|
if ('devil_tower == 12) {
|
|
'devil_tower = 13;
|
|
donpcevent instance_npcname("#morocc_lord_talk") + "::OnStart";
|
|
end;
|
|
}
|
|
mes "[Loki]";
|
|
mes "You have no power here.";
|
|
close;
|
|
}
|
|
|
|
1@tnm3,94,51,4 duplicate(Officer Heim#heim0) Young Girl#tnm04 4_F_DST_CHILD
|
|
|
|
1@tnm2,1,1,0 script #morocc_lord_talk HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnStart:
|
|
enablenpc instance_npcname("#morocc_lord_talk");
|
|
'Morocc$ = instance_npcname("Morocc Lord Knight#mocl");
|
|
'loki$ = instance_npcname("Loki#tnmloki01");
|
|
npctalk "Morocc Lord Knight: So.. the rat was an assassin? You came here to die?", 'Morocc$;
|
|
initnpctimer;
|
|
end;
|
|
OnTimer3000:
|
|
npctalk "Loki: What will you accomplish by waking the Demon in the Wall?", 'loki$;
|
|
end;
|
|
OnTimer6000:
|
|
npctalk "Loki: My mission brought me here to bury it again.", 'loki$;
|
|
end;
|
|
OnTimer9000:
|
|
npctalk "Morocc Lord Knight: Really.. the Assassin guild who I thought was on a mission to balance power in the world.", 'Morocc$;
|
|
end;
|
|
OnTimer12000:
|
|
npctalk "Morocc Lord Knight: Resurrecting the demon would bring balance! Even the mightiest become slaves to a god..", 'Morocc$;
|
|
end;
|
|
OnTimer15000:
|
|
npctalk "Morocc Lord Knight: The gods have their own plans. Do you know what the gods plan for you or I?", 'Morocc$;
|
|
end;
|
|
OnTimer18000:
|
|
npctalk "Morocc Lord Knight: They want this world to only be in their image. Where do we fit into that?!", 'Morocc$;
|
|
end;
|
|
OnTimer20000:
|
|
npctalk "Loki: Shut up!", 'loki$;
|
|
end;
|
|
OnTimer22000:
|
|
npctalk "Loki: I do not care about gods or demons or the plans that they have made. The only thing that matters is kill you.", 'loki$;
|
|
end;
|
|
OnTimer25000:
|
|
npctalk "Loki: That is my mission!", 'loki$;
|
|
end;
|
|
OnTimer28000:
|
|
npctalk "Morocc Lord Knight: So all you want is to finish your damn mission?..", 'Morocc$;
|
|
end;
|
|
OnTimer31000:
|
|
npctalk "Loki: *Grins* Of course!!", 'loki$;
|
|
specialeffect EF_BEGINSPELL3,AREA, 'loki$;
|
|
end;
|
|
OnTimer33000:
|
|
npctalk "Loki: Mind blaster-!!!", 'loki$;
|
|
end;
|
|
OnTimer34000:
|
|
enablenpc instance_npcname("Young Girl#tnm04");
|
|
npctalk "Young Girl: No..!! Don't hurt my Papa!!!", instance_npcname("Young Girl#tnm04");
|
|
specialeffect EF_HIT3,AREA, instance_npcname("Young Girl#tnm04");
|
|
end;
|
|
OnTimer34500:
|
|
specialeffect EF_HIT2,AREA, instance_npcname("Young Girl#tnm04");
|
|
end;
|
|
OnTimer35500:
|
|
specialeffect EF_ICECRASH,AREA, instance_npcname("Young Girl#tnm04");
|
|
end;
|
|
OnTimer36500:
|
|
npctalk "!!!", 'loki$;
|
|
end;
|
|
OnTimer38500:
|
|
npctalk "Morocc Lord Knight: Oh no.. They should have sent better than you, Mr. Assassin, for this mission.", 'Morocc$;
|
|
end;
|
|
OnTimer41500:
|
|
npctalk "Young Girl: Something is wrong....", instance_npcname("Young Girl#tnm04");
|
|
end;
|
|
OnTimer44500:
|
|
npctalk "Young Girl: My Papa would never act this way.. Ugh..", instance_npcname("Young Girl#tnm04");
|
|
end;
|
|
OnTimer47500:
|
|
npctalk "Morocc Lord Knight: Human.. To do such a stupid thing.. a sacrifice.", 'Morocc$;
|
|
end;
|
|
OnTimer50500:
|
|
npctalk "Morocc Lord Knight: You know, the truth is, that it is useless.", 'Morocc$;
|
|
end;
|
|
OnTimer53500:
|
|
npctalk "Morocc Lord Knight: Gwuaaa hahahaha. You stupid humans I will kill you all as sacrifices for the demon!!", 'Morocc$;
|
|
specialeffect EF_COUPLECASTING,AREA, 'Morocc$;
|
|
specialeffect EF_VOLCANO,AREA, 'Morocc$;
|
|
end;
|
|
OnTimer54500:
|
|
npctalk "Loki:... tsk! useless....!", 'loki$;
|
|
end;
|
|
OnTimer55500:
|
|
enablenpc instance_npcname("Loki#tnmloki02");
|
|
mapwarp 'map_tnm3$, 'map_tnm3$,136,62;// todo area 1x1
|
|
'devil_tower = 13;
|
|
stopnpctimer;
|
|
disablenpc instance_npcname("#morocc_lord_talk");
|
|
disablenpc instance_npcname("Morocc Lord Knight#mocl");
|
|
disablenpc instance_npcname("Loki#tnmloki01");
|
|
disablenpc instance_npcname("Young Girl#tnm04");
|
|
end;
|
|
}
|
|
|
|
1@tnm3,137,65,3 script Loki#tnmloki02 4_M_ROKI2,{
|
|
if ('devil_tower != 13)
|
|
end;
|
|
if (is_party_leader() == false) {
|
|
mes "[Loki]";
|
|
mes "I am talking to your boss.";
|
|
close;
|
|
}
|
|
if (getmercinfo(0) > 0) {
|
|
mes "[Loki]";
|
|
mes "...embarrassing.";
|
|
mes "You should ^4d4dffTerminate the mercenary contract^000000, if you want to help me on this mission.";
|
|
close;
|
|
}
|
|
mes "[Loki]";
|
|
mes "Where did you come from?";
|
|
mes "I may need help here.";
|
|
npctalk "Loki: Where did you come from? I may need help here.", instance_npcname("Loki#tnmloki02");
|
|
next;
|
|
mes "[Loki]";
|
|
mes "The Lord Knight is no longer human. I have to send him to his eternity for his demonic followings.";
|
|
npctalk "Loki: The Lord Knight is no longer human. I have to send him to his eternity.", instance_npcname("Loki#tnmloki02");
|
|
next;
|
|
mes "[Loki]";
|
|
mes "^4d4dffThe ones who are infernally blessed by demons are invincible. We can sever the blessing with Mind Blaster.^000000";
|
|
npctalk "Loki: The ones who are infernally blessed by demons are invincible. We can sever the blessing with Mind Blaster.", instance_npcname("Loki#tnmloki02");
|
|
next;
|
|
mes "[Loki]";
|
|
mes "You will be in charge of activating Mind Blaster.";
|
|
npctalk "Loki: You will be in charge of activating Mind Blaster.", instance_npcname("Loki#tnmloki02");
|
|
next;
|
|
if (is_party_leader() == true && 'devil_tower == 13) {
|
|
disablenpc instance_npcname("Loki#tnmloki02");
|
|
mes "^4d4dffLoki, Guillotine Cross of the Assassin Guild, has joined your party.";
|
|
mes "We have to get rid of the demonic Lord Knight by Mind Blasting him with Loki's skill.^000000";
|
|
'devil_tower = 14;
|
|
mercenary_create 2937,1800000;// M_LOKI
|
|
mapannounce 'map_tnm3$, "Demon Worshipper's Voice: Such rubbish! Where did you hide yourself?", bc_map,0xFF00;
|
|
initnpctimer;
|
|
}
|
|
close;
|
|
OnTimer500:
|
|
enablenpc instance_npcname("#boss_skills_timer");
|
|
monster 'map_tnm3$,93,52,"Evil Believer",2942,1, instance_npcname("#boss_skills_timer") + "::OnBossDead";// MM_EVIL_FANATICS
|
|
'boss_id = $@mobid[0];
|
|
end;
|
|
OnTimer2000:
|
|
mapannounce 'map_tnm3$, "Demon Worshipper's Voice: You will all be sacrificed to awaken the Demon!!!", bc_map,0xFF00;
|
|
end;
|
|
OnTimer12000:
|
|
donpcevent instance_npcname("#boss_skills_timer") + "::OnStart";
|
|
stopnpctimer;
|
|
end;
|
|
}
|
|
|
|
1@tnm3,1,1,0 script #boss_skills_timer HIDDEN_WARP_NPC,{
|
|
end;
|
|
OnStart:
|
|
'label$ = instance_npcname("#boss_skills_timer") + "::OnMobDead";
|
|
initnpctimer;
|
|
end;
|
|
OnTimer1000:// + form
|
|
getunitdata 'boss_id, .@data;
|
|
'x_boss = .@data[UMOB_X];
|
|
'y_boss = .@data[UMOB_Y];
|
|
monster 'map_tnm3$, 'x_boss, 'y_boss, "",2943,1, 'label$;// MM_ICE_MINE
|
|
monster 'map_tnm3$, ('x_boss-5), 'y_boss, "",2943,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss+5), 'y_boss, "",2943,1, 'label$;
|
|
monster 'map_tnm3$, 'x_boss, ('y_boss-5), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, 'x_boss, ('y_boss+5), "",2943,1, 'label$;
|
|
end;
|
|
OnTimer3000:
|
|
monster 'map_tnm3$, ('x_boss-10), 'y_boss, "",2943,1, 'label$;// MM_ICE_MINE
|
|
monster 'map_tnm3$, ('x_boss+10), 'y_boss, "",2943,1, 'label$;
|
|
monster 'map_tnm3$, 'x_boss, ('y_boss-10), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, 'x_boss, ('y_boss+10), "",2943,1, 'label$;
|
|
end;
|
|
OnTimer6000:
|
|
killmonster 'map_tnm3$, 'label$;
|
|
end;
|
|
OnTimer21000:// X form
|
|
getunitdata 'boss_id, .@data;
|
|
'x_boss = .@data[UMOB_X];
|
|
'y_boss = .@data[UMOB_Y];
|
|
monster 'map_tnm3$, ('x_boss+3), ('y_boss+3), "",2960,1, 'label$;// MM_FLAMECROSS
|
|
monster 'map_tnm3$, ('x_boss+3), ('y_boss-3), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-3), ('y_boss+3), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-3), ('y_boss-3), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer21350:
|
|
monster 'map_tnm3$, ('x_boss+6), ('y_boss+6), "",2960,1, 'label$;// MM_FLAMECROSS
|
|
monster 'map_tnm3$, ('x_boss+6), ('y_boss-6), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-6), ('y_boss+6), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-6), ('y_boss-6), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer21700:
|
|
monster 'map_tnm3$, ('x_boss+9), ('y_boss+9), "",2960,1, 'label$;// MM_FLAMECROSS
|
|
monster 'map_tnm3$, ('x_boss+9), ('y_boss-9), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-9), ('y_boss+9), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-9), ('y_boss-9), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer22050:
|
|
monster 'map_tnm3$, ('x_boss+13), ('y_boss+13), "",2960,1, 'label$;// MM_FLAMECROSS
|
|
monster 'map_tnm3$, ('x_boss+13), ('y_boss-13), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-13), ('y_boss+13), "",2960,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-13), ('y_boss-13), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer30000:
|
|
killmonster 'map_tnm3$, 'label$;
|
|
end;
|
|
OnTimer51000:// X form
|
|
getunitdata 'boss_id, .@data;
|
|
'x_boss = .@data[UMOB_X];
|
|
'y_boss = .@data[UMOB_Y];
|
|
monster 'map_tnm3$, 'x_boss, 'y_boss, "",2943,1, 'label$;// MM_ICE_MINE
|
|
monster 'map_tnm3$, ('x_boss+5), ('y_boss+5), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-5), ('y_boss-5), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss+10), ('y_boss+10), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-10), ('y_boss-10), "",2943,1, 'label$;
|
|
end;
|
|
OnTimer53000:
|
|
monster 'map_tnm3$, ('x_boss-5), ('y_boss+5), "",2943,1, 'label$;// MM_ICE_MINE
|
|
monster 'map_tnm3$, ('x_boss+5), ('y_boss-5), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss-10), ('y_boss+10), "",2943,1, 'label$;
|
|
monster 'map_tnm3$, ('x_boss+10), ('y_boss-10), "",2943,1, 'label$;
|
|
end;
|
|
OnTimer56000:
|
|
killmonster 'map_tnm3$, 'label$;
|
|
end;
|
|
OnTimer81000:// S form
|
|
getunitdata 'boss_id, .@data;
|
|
'x_boss = .@data[UMOB_X];
|
|
'y_boss = .@data[UMOB_Y];
|
|
monster 'map_tnm3$, ('x_boss-2), ('y_boss+5), "",2960,1, 'label$;// MM_FLAMECROSS
|
|
end;
|
|
OnTimer81300:
|
|
monster 'map_tnm3$, ('x_boss+4), ('y_boss+8), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer81600:
|
|
monster 'map_tnm3$, ('x_boss+10), ('y_boss+2), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer82000:
|
|
monster 'map_tnm3$, ('x_boss+10), ('y_boss-1), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer82300:
|
|
monster 'map_tnm3$, ('x_boss+7), ('y_boss-7), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer82600:
|
|
monster 'map_tnm3$, ('x_boss+1), ('y_boss-10), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer83000:
|
|
monster 'map_tnm3$, ('x_boss-11), ('y_boss-1), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer83300:
|
|
monster 'map_tnm3$, ('x_boss-11), ('y_boss+5), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer83600:
|
|
monster 'map_tnm3$, ('x_boss-8), ('y_boss+11), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer84000:
|
|
monster 'map_tnm3$, ('x_boss-2), ('y_boss+17), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer84300:
|
|
monster 'map_tnm3$, ('x_boss+7), ('y_boss+20), "",2960,1, 'label$;
|
|
end;
|
|
OnTimer90000:
|
|
killmonster 'map_tnm3$, 'label$;
|
|
initnpctimer;
|
|
end;
|
|
OnMobDead:
|
|
end;
|
|
OnBossDead:
|
|
stopnpctimer;
|
|
killmonster 'map_tnm3$, 'label$;
|
|
'x_boss = 'y_boss = 'boss_id = 0;
|
|
'label$ = "";
|
|
mapannounce 'map_tnm3$, "Demon Worshipper's Voice: NO it is impossible. It cannot be.. This force.. power.. you.. may..be you are..", bc_map,0xFF0000;
|
|
sleep2 1000;
|
|
warpparty 'map_tnm3$,71,70, getcharid(1), 'map_tnm3$,1,1;
|
|
enablenpc instance_npcname("Loki#tnmloki03");
|
|
enablenpc instance_npcname("box#tnmbosang");
|
|
disablenpc instance_npcname("#boss_skills_timer");
|
|
'devil_tower = 15;
|
|
end;
|
|
}
|
|
|
|
1@tnm3,69,70,3 script box#tnmbosang 4_TREASURE_BOX,{
|
|
if ('devil_tower != 15)
|
|
end;
|
|
specialeffect EF_COIN;
|
|
disablenpc instance_npcname("box#tnmbosang");
|
|
makeitem 7293,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Rose Quartz
|
|
makeitem 749,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Frozen Rose
|
|
makeitem 7511,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Rune of Darkness
|
|
if (rand(100) < 75)
|
|
makeitem 616,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Old Card Album
|
|
if (rand(100) < 50)
|
|
makeitem 748,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)); // Witherless_Rose
|
|
|
|
setarray .@item_id_list[0],
|
|
1671, // Devil_Won_Staff
|
|
13094, // Devil_Pierced_Dagger
|
|
16027, // Hammer_Of_Evil_Slayer
|
|
18120, // Bow_Of_Evil_Slayer
|
|
21010, // Tw_Sword_Of_Evil_Slayer
|
|
28001; // Katar_Of_Evil_Slayer
|
|
setarray .@bonus_list1[0],
|
|
4800, // SP50
|
|
4811, // Fighting_Spirit1
|
|
4810, // Fighting_Spirit2
|
|
4809, // Fighting_Spirit3
|
|
4808, // Fighting_Spirit4
|
|
4820, // Fighting_Spirit5
|
|
4821, // Fighting_Spirit6
|
|
4815, // Spell1
|
|
4814, // Spell2
|
|
4813, // Spell3
|
|
4812, // Spell4
|
|
4786; // Mdef2
|
|
setarray .@bonus_list2[0],
|
|
4815, // Spell1
|
|
4814, // Spell2
|
|
4813, // Spell3
|
|
4812, // Spell4
|
|
4826, // Spell5
|
|
4811, // Fighting_Spirit1
|
|
4810, // Fighting_Spirit2
|
|
4809, // Fighting_Spirit3
|
|
4808, // Fighting_Spirit4
|
|
4820, // Fighting_Spirit5
|
|
4786; // Mdef2
|
|
setarray .@bonus_list3[0],
|
|
4815, // Spell1
|
|
4814, // Spell2
|
|
4813, // Spell3
|
|
4812, // Spell4
|
|
4811, // Fighting_Spirit1
|
|
4810, // Fighting_Spirit2
|
|
4809, // Fighting_Spirit3
|
|
4808, // Fighting_Spirit4
|
|
4820, // Fighting_Spirit5
|
|
4821, // Fighting_Spirit6
|
|
4791, // DEF+3
|
|
4786; // Mdef2
|
|
.@item_id = .@item_id_list[ rand( getarraysize(.@item_id_list) ) ];
|
|
.@refine = rand(1,6);
|
|
.@bonus1 = .@bonus_list1[ rand( getarraysize(.@bonus_list1) ) ];
|
|
.@bonus2 = .@bonus_list1[ rand( getarraysize(.@bonus_list2) ) ];
|
|
.@bonus3 = .@bonus_list1[ rand( getarraysize(.@bonus_list3) ) ];
|
|
|
|
makeitem2 .@item_id,1, 'map_tnm3$, (69 + rand(-5,5)), (70 + rand(-5,5)), 0, .@refine,0, 0,.@bonus1,.@bonus2,.@bonus3;
|
|
end;
|
|
}
|
|
|
|
//1@tnm3,69,72,3 script Loki#tnmloki03 4_M_ROKI2,5,5,{
|
|
1@tnm3,69,72,3 script Loki#tnmloki03 4_M_ROKI2,{
|
|
if ('devil_tower != 15)
|
|
end;
|
|
if (isbegin_quest(7576) == 0) {
|
|
mes "[Loki]";
|
|
mes ".. annoying";
|
|
mes "The demon was destroyed before the resurrection ceremony was completed.";
|
|
mes "Things will be fine for awhile.";
|
|
setquest 7576;// Morocc castle seal
|
|
next;
|
|
mes "I have gained unexpected information during my exploration of the Tower.";
|
|
next;
|
|
mes "[Loki]";
|
|
mes "I will remain apart from my conscience for a bit longer";
|
|
mes "someday I'll let myself feel again, and today will occupy my thoughts..";
|
|
close;
|
|
}
|
|
mes "[Loki]";
|
|
mes "Interesting.. there is a daughter..";
|
|
mes "What should be done about it?";
|
|
mes "I am not sure of what my next move is to be..";
|
|
next;
|
|
mes "[Loki]";
|
|
mes "But no matter, you obviously shouldn't be here, now.";
|
|
mes "Will stay here any longer?";
|
|
mes "I can send you back where and when you belong.";
|
|
next;
|
|
if (select( "Get out of here.", "Take a look around." ) == 2) {
|
|
mes "[Loki]";
|
|
mes "It is unwise to linger where time is distorted.";
|
|
close;
|
|
}
|
|
mes "[Loki]";
|
|
mes "Perhaps, our missions will ally us again in the future..";
|
|
close2;
|
|
warp "dali02",134,112;
|
|
end;
|
|
|
|
OnInstanceInit:
|
|
'heal_count = 0;
|
|
'devil_tower = 0;
|
|
'mob_count = 0;
|
|
'shade = 0;
|
|
|
|
'map_tnm1$ = instance_mapname("1@tnm1");
|
|
'map_tnm2$ = instance_mapname("1@tnm2");
|
|
'map_tnm3$ = instance_mapname("1@tnm3");
|
|
|
|
// Entrance
|
|
disablenpc instance_npcname("Officer Heim#heim");
|
|
disablenpc instance_npcname("Healer Fama#feima");
|
|
for ( .@i = 1; .@i < 8; .@i++ )
|
|
disablenpc instance_npcname( "Injured Soldier#" + .@i );
|
|
disablenpc instance_npcname("Lucile#tnm01");
|
|
disablenpc instance_npcname("Magic Swordman#tnm01");
|
|
disablenpc instance_npcname("Assassin Huey#tnm01");
|
|
disablenpc instance_npcname("Assassin Louie#tnm01");
|
|
disablenpc instance_npcname("Assassin Dewey#tnm01");
|
|
|
|
// Stairs tnm1
|
|
disablenpc instance_npcname("#tnm1stepmob");
|
|
disablenpc instance_npcname("Assassin Louie#tnm02");
|
|
|
|
// Stairs 2 tnm1
|
|
disablenpc instance_npcname("Lucile#tnm02");
|
|
disablenpc instance_npcname("Huey#hui02");
|
|
|
|
// Morocc - Thanatos Battle
|
|
disablenpc instance_npcname("Magic Swordman#tnm02");
|
|
disablenpc instance_npcname("Demon Morocc#tnm01");
|
|
disablenpc instance_npcname("Lucile#tnm03");
|
|
disablenpc instance_npcname("Lucile#tnm04");
|
|
disablenpc instance_npcname("#devil_flamecross");
|
|
disablenpc instance_npcname("#devil_seal_timer");
|
|
disablenpc instance_npcname("#devil_seal_spawn_global");
|
|
setarray .@direction$[0], "DIR_NORTHWEST", "DIR_SOUTHWEST", "DIR_SOUTHEAST", "DIR_NORTHEAST", "DIR_NORTH";
|
|
for ( .@i = 0; .@i < 5; .@i++ ) {
|
|
disablenpc instance_npcname("devil_seal_spawn#" + .@direction$[.@i]);
|
|
disablenpc instance_npcname("seal_reach_center#" + .@direction$[.@i]);
|
|
}
|
|
disablenpc instance_npcname("#devil_seal_dead");
|
|
|
|
'demon$ = 'thanatos$ = "";
|
|
'round[DIR_NORTHWEST] = 'round[DIR_SOUTHWEST] = 'round[DIR_SOUTHEAST] = 'round[DIR_NORTHEAST] = 'round[DIR_NORTH] = 0;
|
|
'seal_id[DIR_NORTHWEST] = 'seal_id[DIR_SOUTHWEST] = 'seal_id[DIR_SOUTHEAST] = 'seal_id[DIR_NORTHEAST] = 'seal_id[DIR_NORTH] = 0;
|
|
'seal_hp[DIR_NORTHWEST] = 'seal_hp[DIR_SOUTHWEST] = 'seal_hp[DIR_SOUTHEAST] = 'seal_hp[DIR_NORTHEAST] = 'seal_hp[DIR_NORTH] = 0;
|
|
'seal_dead[DIR_NORTHWEST] = 'seal_dead[DIR_SOUTHWEST] = 'seal_dead[DIR_SOUTHEAST] = 'seal_dead[DIR_NORTHEAST] = 'seal_dead[DIR_NORTH] = 0;
|
|
deletearray 'coord_seal_DIR_NORTHWEST[0],14;
|
|
deletearray 'coord_seal_DIR_SOUTHWEST[0],14;
|
|
deletearray 'coord_seal_DIR_SOUTHEAST[0],14;
|
|
deletearray 'coord_seal_DIR_NORTHEAST[0],14;
|
|
deletearray 'coord_seal_DIR_NORTH[0],14;
|
|
|
|
// tnm3 Stairs 1
|
|
disablenpc instance_npcname("#tnm3event01");
|
|
disablenpc instance_npcname("Young Girl#tnm01");
|
|
disablenpc instance_npcname("#tnm3gate01");
|
|
|
|
// tnm3 Stairs 2
|
|
disablenpc instance_npcname("#tnm3event02ect");
|
|
disablenpc instance_npcname("Young Girl#tnm02");
|
|
disablenpc instance_npcname("Young Girl#tnm03");
|
|
disablenpc instance_npcname("#tnm3gate02");
|
|
|
|
// tnm3 Stairs 3
|
|
disablenpc instance_npcname("Evil Shadow#tnm3mob01");
|
|
disablenpc instance_npcname("Evil Shadow kill#tnm3mob01");
|
|
disablenpc instance_npcname("#tnm3gate03");
|
|
|
|
// Demonic Shade (Boss room)
|
|
disablenpc instance_npcname("Demonic Shade#mobmaster");
|
|
disablenpc instance_npcname("#mobmaster_kill");
|
|
|
|
// Boss
|
|
disablenpc instance_npcname("Morocc Lord Knight#mocl");
|
|
disablenpc instance_npcname("#morocc_lord_talk");
|
|
disablenpc instance_npcname("Loki#tnmloki01");
|
|
disablenpc instance_npcname("Young Girl#tnm04");
|
|
disablenpc instance_npcname("Loki#tnmloki02");
|
|
disablenpc instance_npcname("#boss_skills_timer");
|
|
'x_boss = 'y_boss = 'boss_id = 0;
|
|
'label$ = "";
|
|
|
|
// Final
|
|
disablenpc instance_npcname("Loki#tnmloki03");
|
|
disablenpc instance_npcname("box#tnmbosang");
|
|
end;
|
|
}
|