Jump to content
  • 0

How to make the Ghost Palace is available for party members?


Rizz

Question


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  72
  • Reputation:   0
  • Joined:  07/29/17
  • Last Seen:  

Hello, I need a help.. I'd like to make the Ghost Palace can be accessed by party member.., so maybe someone can tell how to configure the script to make it so?

 

//===== rAthena Script =======================================
//= Ghost Palace
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Ghost Palace Instance
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================

prontera,171,152,5	script	Unpleasant Royal Guard#	4_M_SAKRAYROYAL,{
	if (BaseLevel < 90) {
		mes "[Unpleasant Royal Guard]";
		mes "Althought I need help with a task, you are not strong enough to assist me, noob~!";
		next;
		mes "[Unpleasant Royal Guard]";
		mes "Come back later when you have done some training and are at least level 90!";
		close;
	}
	.@party_id = getcharid(1);
	if (getcharid(0) != getpartyleader(.@party_id,2) || .@party_id < 1) {
		mes "[Unpleasant Royal Guard]";
		mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
		close;
	}
	switch( checkquest(1261,PLAYTIME) ) {
	case -1:
		break;
	case 0:
	case 1:
		mes "[Unpleasant Royal Guard]";
		mes "Have you found the princess yet?! Is she safe?";
		close;
	case 2:
		mes "[Unpleasant Royal Guard]";
		mes "The monsters around the secret passage have disappeared. Now is our chance to save the princess!";
		erasequest 1261;// Cursed Swordman
		close;
	}
	mes "[Unpleasant Royal Guard]";
	mes "I need help, even from the likes of you.";
	next;
	mes "[Unpleasant Royal Guard]";
	mes "In the middle of battle the princess disappeared while I was guarding the palace.";
	next;
	mes "[Unpleasant Royal Guard]";
	mes "You run ahead and I will catch up. We must save her.";
	next;
	if (select( "I will help.", "This is not a good time." ) == 2) {
		mes "[Unpleasant Royal Guard]";
		mes "Even now all the royal guards are fighting and dying from the monsters.";
		next;
		mes "[Unpleasant Royal Guard]";
		mes "We must, no matter how much fear grips our hearts, save the princess!";
		close;
	}
	instance_create("Ghost Palace");
	mes "[Unpleasant Royal Guard]";
	mes "Thank you..";
	mes "I will open the secret passage to the ^0000ffGhost Palace^000000.";
	mes "Please be ready!";
	close;
}

prontera,178,149,5	script	Interdimensional Device#dk	PORTAL,{
	if (BaseLevel < 90) {
		mes "[Unpleasant Royal Guard]";
		mes "Althought I need help with a task, you are not strong enough to assist me, noob~!";
		next;
		mes "[Unpleasant Royal Guard]";
		mes "Come back later when you have done some training and are at least level 90!";
		close;
	}
	mes "[Unpleasant Royal Guard]";
	mes "I can see the secret passage into the palace. Are you ready to save the princess?!";
	next;
	if (select( "Enter", "Stop" ) == 2) {
		mes "[Unpleasant Royal Guard]";
		mes "Even now all the royal guards are fighting and dying from the monsters.";
		next;
		mes "[Unpleasant Royal Guard]";
		mes "We must, no matter how much fear grips our hearts, save the princess!";
		close;
	}
	switch( checkquest(1261,PLAYTIME) ) {
	case -1:
		break;
	case 0:
	case 1:
		mes "[Unpleasant Royal Guard]";
		mes "The monsters that attacked the palace are wandering around the secret entrance. It would be very bad if they spotted us... Please wait.";
		next;
		mes "When the time limit for the entrance is up";
		mes "let's try to re-enter.";
		close;
	case 2:
		mes "^0000ffThe time limit for entering to the Curse of the Swordsman is finished. Please try to talk to the Unpleasent Royal Guard again..^000000";
		erasequest 1261;// Cursed Swordman
		close;
	}
	.@party_id = getcharid(1);
	if (getcharid(0) != getpartyleader(.@party_id,2) || .@party_id < 1) {
		mes "[Unpleasant Royal Guard]";
		mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
		close;
	}

	.@md_name$ = "Ghost Palace";
	switch( instance_enter(.@md_name$) ) {
	case IE_OTHER:
		mes "An unknown error occurred.";
		close;
	case IE_NOINSTANCE:
		mes "^ff0000Inside the devices you see a dark hole. If you wish to enter you must to talk to the Unpleasent Royal Guard first.^000000";
		close;
	case IE_NOMEMBER:
		mes "Only registered members can enter the " + .@md_name$ + " instance.";
		close;
	case IE_OK:
		mapannounce "prontera", "" + strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering the Ghost Palace.", bc_map, 0x00ff99;
		// warp "1@spa",42,196;
		setquest 1261;// Cursed Swordman
		end;
	}
}

// 1st floor
1@spa,41,204,5	script	King#dk	4_M_RUSKING,{
	mes "[King]";
	mes "You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.";
	npctalk "King: You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.";
	next;
	mes "[Lurid Royal Guard]";
	mes "I will protect the princess with my life.";
	npctalk "Lurid Royal Guard: I will protect the princess with my life.", instance_npcname("Lurid Royal Guard#dk");
	next;
	mes "[King]";
	mes "The marriage arrangements are going as planned. The prince is here to meet with the princess.";
	npctalk "King: The marriage arrangements are going as planned. The prince is here to meet with the princess.";
	next;
	mes "[Lurid Royal Guard]";
	mes "...Yes, your majesty.";
	npctalk "Lurid Royal Guard: ...Yes, your majesty.", instance_npcname("Lurid Royal Guard#dk");
	next;
	mes "[King]";
	mes "My gods, there are monsters in the castle! Get rid of them now!";
	npctalk "King: My gods, there are monsters in the castle! Get rid of them now!";
	close2;
	donpcevent instance_npcname("#gp_control_1") + "::OnStart";
	end;

OnInstanceInit:
	// 1: enabled potential double spawn (official), 0: disabled
	'bool_double_spawn = 1;

	'map_spa$ = instance_mapname("1@spa");

	// warps
	disablenpc instance_npcname("The second floor of Palace");
	disablenpc instance_npcname("3rd floor in the palace");
	disablenpc instance_npcname("4th floor in the palace");
	disablenpc instance_npcname("5th floor of Palace");
	disablenpc instance_npcname("Way out of Palace");

	// first floor
	disablenpc instance_npcname("#gp_control_1");

	// second floor
	disablenpc instance_npcname("Lurid Royal Guard#dk1");
	disablenpc instance_npcname("Princess Tiara#dk");
	disablenpc instance_npcname("#gp_control_2");

	// 3rd floor
	disablenpc instance_npcname("King#dk1");
	disablenpc instance_npcname("Lurid Royal Guard#dk2");
	disablenpc instance_npcname("Captain of the Guard#dk");
	disablenpc instance_npcname("Soldier#dk1");
	disablenpc instance_npcname("Soldier#dk2");
	disablenpc instance_npcname("Soldier#dk3");
	disablenpc instance_npcname("Lurid Royal Guard#dk3");
	disablenpc instance_npcname("Thanatos Magic Trace#dk1");
	disablenpc instance_npcname("#gp_control_3");

	// 4th floor
	disablenpc instance_npcname("#gp_control_4");
	disablenpc instance_npcname("#gp_control_5");
	disablenpc instance_npcname("Thanatos Magic Trace#dk2");
	disablenpc instance_npcname("Visiting Prince#dk");
	disablenpc instance_npcname("Lurid Royal Guard#dk4");
	disablenpc instance_npcname("King's Corpse#dk");
	disablenpc instance_npcname("Captain's Corpse#dk");
	disablenpc instance_npcname("Soldier's Corpse#dk");
	disablenpc instance_npcname("Soldier's Corpse#dk1");
	disablenpc instance_npcname("Soldier's Corpse#dk2");
	disablenpc instance_npcname("Soldier's Corpse#dk3");
	disablenpc instance_npcname("Soldier's Corpse#dk4");

	// 5th floor
	disablenpc instance_npcname("#gp_control_6");
	disablenpc instance_npcname("Princess Tiara#dk1");
	disablenpc instance_npcname("Lurid Royal Guard#dk5");
	disablenpc instance_npcname("King#dk11");
	disablenpc instance_npcname("Sakray#dk");
	disablenpc instance_npcname("Thanatos Magic Trace#dk3");
	disablenpc instance_npcname("#tb");
	disablenpc instance_npcname("#sv");
	disablenpc instance_npcname("#tv");
	end;
}

1@spa,42,201,1	script	Lurid Royal Guard#dk	4_M_SAKRAYROYAL,{ end; }

1@spa,1,1,1	script	#gp_control_1	HIDDEN_WARP_NPC,{
	end;
OnStart:
	enablenpc instance_npcname("#gp_control_1");
	disablenpc instance_npcname("King#dk");
	disablenpc instance_npcname("Lurid Royal Guard#dk");
	initnpctimer;
	end;
OnTimer2000:
	.@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead1";
	monster 'map_spa$,50,194,"Cursed Soldier",2948,1, .@label$;		// CURSED_SOLDIER
	monster 'map_spa$,34,208,"Cursed Soldier",2948,1, .@label$;		// CURSED_SOLDIER
	monster 'map_spa$,32,194,"Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	monster 'map_spa$,52,209,"Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	stopnpctimer;
	end;
OnMyMobDead1:
	if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead1") < (1 + 'bool_double_spawn)) {
		deltimer instance_npcname("#gp_control_1") + "::OnSpawn1";	// stop double spawn if timer is running
		addtimer 2000, instance_npcname("#gp_control_1") + "::OnSpawn1";
	}
	end;
OnSpawn1:
	.@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead2";
	monster 'map_spa$,37,182,"Cursed Soldier",2948,1, .@label$;		// CURSED_SOLDIER
	monster 'map_spa$,46,182,"Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	end;
OnMyMobDead2:
	if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead2") < 1) {
		deltimer instance_npcname("#gp_control_1") + "::OnSpawn1";	// stop double spawn if timer is running
		deltimer instance_npcname("#gp_control_1") + "::OnSpawn2";
		addtimer 2000, instance_npcname("#gp_control_1") + "::OnSpawn2";
	}
	end;
OnSpawn2:
	.@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead3";
	monster 'map_spa$,30,200,"Cursed Soldier",2948,1, .@label$;		// CURSED_SOLDIER
	monster 'map_spa$,51,200,"Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	monster 'map_spa$,53,199,"Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	end;
OnMyMobDead3:
	if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead3") < 1) {
		mapannounce 'map_spa$, "The passage on the 2nd floor in the palace of ghost is open .", bc_map,0xFFFF00;
		enablenpc instance_npcname("The second floor of Palace");
		enablenpc instance_npcname("Lurid Royal Guard#dk1");
		enablenpc instance_npcname("Princess Tiara#dk");
	}
	end;
}

// 2nd floor
1@spa,132,122,7	script	Lurid Royal Guard#dk1	4_M_SAKRAYROYAL,{
	.@tiara$ = instance_npcname("Princess Tiara#dk");
	cutin "npc-tiara.bmp",3;
	mes "[Lurid Royal Guard]";
	mes "Your highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...";
	npctalk "Lurid Royal Guard: Your highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...";
	next;
	mes "[Princess Tiara]";
	mes "If...If a marriage is arranged what should I do?";
	npctalk "Princess Tiara: If...If a marriage is arranged what should I do?", .@tiara$;
	next;
	mes "[Lurid Royal Guard]";
	mes "The only thing I can do is protect you from physical harm.";
	npctalk "Lurid Royal Guard: The only thing I can do is protect you from physical harm.";
	next;
	mes "[Princess Tiara]";
	mes "Then, what can I do?";
	npctalk "Princess Tiara: Then, what can I do?", .@tiara$;
	next;
	mes "[Lurid Royal Guard]";
	mes "You must decide that for yourself your highness...";
	npctalk "Lurid Royal Guard: You must decide that for yourself your highness...";
	next;
	mes "[Princess Tiara]";
	mes "Would it be easier for you if I were married and sent off to another country?";
	npctalk "Princess Tiara: Would it be easier for you if I were married and sent off to another country?", .@tiara$;
	next;
	mes "[Lurid Royal Guard]";
	mes "I will always stand by you and protect you forever.";
	npctalk "Lurid Royal Guard: I will always stand by you and protect you forever.";
	cutin "npc-tiara.bmp",255;
	next;
	mes "[Princess Tiara]";
	mes "Monsters have gotten inside the castle? Please, protect me!";
	npctalk "Princess Tiara: Monsters have gotten inside the castle? Please, protect me!", .@tiara$;
	next;
	mes "[Lurid Royal Guard]";
	mes "Stay behind me. Let's go!";
	npctalk "Lurid Royal Guard: Stay behind me. Let's go!";
	close2;
	donpcevent instance_npcname("#gp_control_2") + "::OnStart";
	end;
}

1@spa,135,125,3	duplicate(Lurid Royal Guard#dk)	Princess Tiara#dk	4_F_MAYSEL

1@spa,1,1,1	script	#gp_control_2	HIDDEN_WARP_NPC,{
	end;
OnStart:
	enablenpc instance_npcname("#gp_control_2");
	disablenpc instance_npcname("Lurid Royal Guard#dk1");
	disablenpc instance_npcname("Princess Tiara#dk");
	disablenpc instance_npcname("The second floor of Palace");

	killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead1";
	killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead2";
	killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead3";
	disablenpc instance_npcname("#gp_control_1");
	initnpctimer;
	end;
OnTimer2000:
	.@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead1";
	monster 'map_spa$,135,116,"Broken Promise",2950,1, .@label$;	// BROKEN_MIND
	monster 'map_spa$,110,120,"Broken Promise",2950,1, .@label$;	// BROKEN_MIND
	monster 'map_spa$,122,112,"Floating Sorrow",2951,1, .@label$;	// FLOATING_WORD
	monster 'map_spa$,121,129,"Unfulfilled Love",2952,1, .@label$;	// LIKE_LOVE
	stopnpctimer;
	end;
OnMyMobDead1:
	if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead1") < 1) {
		sleep 2000;
		.@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead2";
		monster 'map_spa$,120,103,"Broken Promise",2950,1, .@label$;	// BROKEN_MIND
		monster 'map_spa$,115,137,"Floating Sorrow",2951,1, .@label$;	// FLOATING_WORD
		monster 'map_spa$,103,130,"Unfulfilled Love",2952,1, .@label$;	// LIKE_LOVE
	}
	end;
OnMyMobDead2:
	if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead2") < 1) {
		sleep 2000;
		.@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead3";
		monster 'map_spa$,98,119,"Floating Sorrow",2951,1, .@label$;	// FLOATING_WORD
		monster 'map_spa$,98,120,"Floating Sorrow",2951,1, .@label$;	// FLOATING_WORD
		monster 'map_spa$,103,109,"Unfulfilled Love",2952,1, .@label$;	// LIKE_LOVE
	}
	end;
OnMyMobDead3:
	if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead3") < 1) {
		mapannounce 'map_spa$, "The passage on the 3rd floor of the palace is open.", bc_map,0xFFFF00;
		enablenpc instance_npcname("3rd floor in the palace");
		enablenpc instance_npcname("King#dk1");
		enablenpc instance_npcname("Lurid Royal Guard#dk2");
		enablenpc instance_npcname("Captain of the Guard#dk");
		enablenpc instance_npcname("Soldier#dk1");
		enablenpc instance_npcname("Soldier#dk2");
		enablenpc instance_npcname("Soldier#dk3");
		disablenpc instance_npcname("#gp_control_2");
	}
	end;
}

// 3rd floor
1@spa,32,54,1	script	King#dk1	4_M_RUSKING,{
	mes "[King]";
	mes "It was you who brought the monsters here! You want to get rid of me and have the princess for yourself?";
	npctalk "King: It was you who brought the monsters here! You want to get rid of me and have the princess for yourself?";
	next;
	mes "[Lurid Royal Guard]";
	mes "It is a trap your majesty! You must trust me!";
	npctalk "Lurid Royal Guard: It is a trap your majesty! You must trust me!", instance_npcname("Lurid Royal Guard#dk2");
	next;
	mes "[King]";
	mes "Shut up! You've betrayed me! I trusted you... you must pay for your disgrace.";
	npctalk "King: Shut up! You've betrayed me! I trusted you... you must pay for your disgrace.";
	next;
	mes "[King]";
	mes "You will suffer for the rest of your life.";
	npctalk "King: You will suffer for the rest of your life.";
	close2;
	disablenpc instance_npcname("3rd floor in the palace");
	disablenpc instance_npcname("King#dk1");
	disablenpc instance_npcname("Captain of the Guard#dk");
	disablenpc instance_npcname("Soldier#dk1");
	disablenpc instance_npcname("Soldier#dk2");
	disablenpc instance_npcname("Soldier#dk3");
	disablenpc instance_npcname("Lurid Royal Guard#dk2");
	donpcevent instance_npcname("Thanatos Magic Trace#dk1") + "::OnStart";
	end;
}

1@spa,35,56,5	script	Thanatos Magic Trace#dk1	4_TRACE,{
	end;
OnStart:
	enablenpc instance_npcname("Thanatos Magic Trace#dk1");
	enablenpc instance_npcname("Lurid Royal Guard#dk3");
	initnpctimer;
	end;
OnTimer5000:
	npctalk "Ominous Voice: Oh, faithful royal guard, you are trapped.";
	end;
OnTimer8000:
	npctalk "Ominous Voice: The conspiracy in the palace has your princess in grave danger...";
	end;
OnTimer12000:
	npctalk "Lurid Royal Guard: Who are you? Show yourself!", instance_npcname("Lurid Royal Guard#dk3");
	end;
OnTimer15000:
	npctalk "Ominous Voice: Ah... so you do you hear me?";
	end;
OnTimer20000:
	npctalk "Lurid Royal Guard: ...?", instance_npcname("Lurid Royal Guard#dk3");
	end;
OnTimer23000:
	npctalk "Ominous Voice: I can give you unlimited power. If you make a pact with me.";
	end;
OnTimer28000:
	npctalk "Lurid Royal Guard: I..I...", instance_npcname("Lurid Royal Guard#dk3");
	end;
OnTimer33000:
	npctalk "Thanatos Magic Trace: Kukuku... What do you want boy?";
	end;
OnTimer34000:
	stopnpctimer;
	disablenpc instance_npcname("Thanatos Magic Trace#dk1");
	disablenpc instance_npcname("Lurid Royal Guard#dk3");
	donpcevent instance_npcname("#gp_control_3") + "::OnStart";
	end;
}

1@spa,28,52,7	duplicate(Lurid Royal Guard#dk)	Captain of the Guard#dk	4_M_KY_KNT
1@spa,25,53,7	duplicate(Lurid Royal Guard#dk)	Soldier#dk1	4_M_CRU_SOLD
1@spa,34,53,1	duplicate(Lurid Royal Guard#dk)	Soldier#dk2	4_M_CRU_SOLD
1@spa,30,52,7	duplicate(Lurid Royal Guard#dk)	Soldier#dk3	4_M_KY_SOLD
1@spa,30,58,5	duplicate(Lurid Royal Guard#dk)	Lurid Royal Guard#dk2	4_M_SAKRAY_TIED
1@spa,31,57,5	duplicate(Lurid Royal Guard#dk)	Lurid Royal Guard#dk3	4_M_SAKRAY_TIED

1@spa,1,1,1	script	#gp_control_3	HIDDEN_WARP_NPC,{
	end;
OnStart:
	enablenpc instance_npcname("#gp_control_3");
	initnpctimer;
	end;
OnTimer2000:
	.@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead1";
	monster 'map_spa$,31,57, "Regretful Memory",2953,1, .@label$; 	// CURSED_MEMORY
	monster 'map_spa$,59,24, "Regretful Memory",2953,1, .@label$; 	// CURSED_MEMORY
	monster 'map_spa$,23,40, "Wasted Friendship",2955,1, .@label$; 	// OLD_FRIENDSHIP
	monster 'map_spa$,54,45, "Tarnished Oath",2954,1, .@label$; 	// COLORLESS_VOW
	monster 'map_spa$,26,20, "Tarnished Oath",2954,1, .@label$; 	// COLORLESS_VOW
	stopnpctimer;
	end;
OnMyMobDead1:
	if (mobcount('map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead1") < 1)
		addtimer 2000, instance_npcname("#gp_control_3") + "::OnSpawn1";
	end;
OnSpawn1:
	.@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead2";
	monster 'map_spa$,30,52, "Tarnished Oath",2954,1, .@label$; 	// COLORLESS_VOW
	monster 'map_spa$,58,58, "Wasted Friendship",2955,1, .@label$; 	// OLD_FRIENDSHIP
	monster 'map_spa$,54,24, "Regretful Memory",2953,1, .@label$; 	// CURSED_MEMORY
	end;
OnMyMobDead2:
	if (mobcount('map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead2") < (1 + 'bool_double_spawn)) {
		deltimer instance_npcname("#gp_control_3") + "::OnAnnounce";
		addtimer 500, instance_npcname("#gp_control_3") + "::OnAnnounce";
	}
	end;
OnAnnounce:
	mapannounce 'map_spa$, "The passage on the 4th floor of the palace is open.", bc_map,0xFFFF00;
	enablenpc instance_npcname("4th floor in the palace");
	deltimer instance_npcname("#gp_control_3") + "::OnSpawn2";	// stop double spawn if timer is running
	addtimer 2000, instance_npcname("#gp_control_3") + "::OnSpawn2";
	end;
OnSpawn2:
	donpcevent instance_npcname("#gp_control_4") + "::OnStart";
	// 35 mobs
	.@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead3";
	monster 'map_spa$,67,46, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,62,48, "Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,57,46, "Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,51,48, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "Faithful royal guard...";
	monster 'map_spa$,56,55, "Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,62,56, "Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,66,58, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "You put your princess in grave danger...";
	monster 'map_spa$,66,64, "Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Faithful royal guard...";
	monster 'map_spa$,62,65, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,57,67, "Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,49,66, "Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,44,66, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,45,20, "Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,38,20, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,32,20, "Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,51,22, "Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,26,34,"Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,21,37,"Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Faithful royal guard...";
	monster 'map_spa$,18,39,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,21,45,"Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,23,49,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,25,54,"Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,29,54,"Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "You put your princess in grave danger...";
	monster 'map_spa$,56,39,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,61,36,"Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Faithful royal guard...";
	monster 'map_spa$,66,38,"Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away quickly!";
	monster 'map_spa$,42,54,"Wasted Friendship",2955,1, .@label$;	// OLD_FRIENDSHIP
	unittalk $@mobid[0], "Run away!";
	monster 'map_spa$,35,54,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,43,60,"Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "Faithful royal guard...";
	monster 'map_spa$,30,25,"Tarnished Oath",2954,1, .@label$;		// COLORLESS_VOW
	unittalk $@mobid[0], "You put your princess in grave danger...";
	monster 'map_spa$,30,31,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	unittalk $@mobid[0], "You are trapped...";
	monster 'map_spa$,65,64, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	monster 'map_spa$,65,67, "Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	monster 'map_spa$,18,43,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	monster 'map_spa$,21,43,"Regretful Memory",2953,1, .@label$;	// CURSED_MEMORY
	end;
OnMyMobDead3:
	end;
}

// 4th floor
1@spa,1,1,1	script	#gp_control_4	HIDDEN_WARP_NPC,{
	end;
OnStart:
	enablenpc instance_npcname("#gp_control_4");
	.@label$ = instance_npcname("#gp_control_4") + "::OnMyMobDead1";
	monster 'map_spa$,215,194, "Sweet Slaughter",2956,1, .@label$;		// SWEET_SLAUGHTER
	monster 'map_spa$,194,178, "Sweet Slaughter",2956,1, .@label$;		// SWEET_SLAUGHTER
	monster 'map_spa$,191,211, "Sweet Slaughter",2956,1, .@label$;		// SWEET_SLAUGHTER
	monster 'map_spa$,185,203, "Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	monster 'map_spa$,209,218, "Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	end;
OnMyMobDead1:
	if (mobcount('map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead1") < (1 + 'bool_double_spawn)) {
		deltimer instance_npcname("#gp_control_4") + "::OnSpawn1";
		addtimer 2000, instance_npcname("#gp_control_4") + "::OnSpawn1";
	}
	end;
OnSpawn1:
	.@label$ = instance_npcname("#gp_control_4") + "::OnMyMobDead2";
	monster 'map_spa$,189,192, "Cursed Gatekeeper",2949,1, .@label$;	// CURSED_SENTINEL
	monster 'map_spa$,211,209, "Sweet Slaughter",2956,1, .@label$;		// SWEET_SLAUGHTER
	end;
OnMyMobDead2:
	if (mobcount('map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead2") < 1) {
		enablenpc instance_npcname("Thanatos Magic Trace#dk2");
		enablenpc instance_npcname("Visiting Prince#dk");
		enablenpc instance_npcname("Lurid Royal Guard#dk4");
		enablenpc instance_npcname("King's Corpse#dk");
		enablenpc instance_npcname("Captain's Corpse#dk");
		enablenpc instance_npcname("Soldier's Corpse#dk");
		enablenpc instance_npcname("Soldier's Corpse#dk1");
		enablenpc instance_npcname("Soldier's Corpse#dk2");
		enablenpc instance_npcname("Soldier's Corpse#dk3");
		enablenpc instance_npcname("Soldier's Corpse#dk4");
	}
	end;
}

1@spa,199,214,1	script	Lurid Royal Guard#dk4	4_M_SAKRAYROYAL,{
	.@prince$ = instance_npcname("Visiting Prince#dk");
	mes "[Lurid Royal Guard]";
	mes "Where is Princess Tiara?";
	npctalk "Lurid Royal Guard: Where is Princess Tiara?";
	next;
	mes "[Visiting Prince]";
	mes "You are too late... but you brought what I was looking for. Thanks for your help.";
	npctalk "Visiting Prince: You are too late... but you brought what I was looking for. Thanks for your help.", .@prince$;
	next;
	mes "[Visiting Prince]";
	mes "Cursed Thanatos Magic Trace! Are you ready to have a new master?";
	npctalk "Visiting Prince: Cursed Thanatos Magic Trace! Are you ready to have a new master?", .@prince$;
	next;
	cutin "tartanos.bmp",3;
	mes "[Thanatos Magic Trace]";
	mes "How dare you!";
	npctalk "Thanatos Magic Trace: How dare you!", instance_npcname("Thanatos Magic Trace#dk2");
	next;
	mes "[Visiting Prince]";
	mes "aah, aah !!!";
	npctalk "Visiting Prince: Aah, aah!!!", .@prince$;
	donpcevent instance_npcname("#gp_control_5") + "::OnStart";
	close2;
	cutin "",255;
	end;
}
1@spa,201,214,1	duplicate(Lurid Royal Guard#dk)	Thanatos Magic Trace#dk2	CLEAR_NPC
1@spa,197,218,5	duplicate(Lurid Royal Guard#dk)	Visiting Prince#dk	4_M_KNIGHT_SILVER
1@spa,194,214,5	duplicate(Lurid Royal Guard#dk)	King's Corpse#dk	4_M_TRISTAN
1@spa,211,194,3	duplicate(Lurid Royal Guard#dk)	Captain's Corpse#dk	4_M_LIEMAN
1@spa,201,198,1	duplicate(Lurid Royal Guard#dk)	Soldier's Corpse#dk	4_M_DIEMAN
1@spa,197,190,1	duplicate(Lurid Royal Guard#dk)	Soldier's Corpse#dk1	4_M_DIEMAN
1@spa,191,207,7	duplicate(Lurid Royal Guard#dk)	Soldier's Corpse#dk2	4_M_DIEMAN
1@spa,206,209,7	duplicate(Lurid Royal Guard#dk)	Soldier's Corpse#dk3	4_M_DIEMAN
1@spa,189,195,1	duplicate(Lurid Royal Guard#dk)	Soldier's Corpse#dk4	4_M_DIEMAN

1@spa,1,1,1	script	#gp_control_5	HIDDEN_WARP_NPC,{
	end;
OnStart:
	enablenpc instance_npcname("#gp_control_5");
	disablenpc instance_npcname("Thanatos Magic Trace#dk2");
	disablenpc instance_npcname("Visiting Prince#dk");
	disablenpc instance_npcname("Lurid Royal Guard#dk4");
	disablenpc instance_npcname("King's Corpse#dk");
	disablenpc instance_npcname("Captain's Corpse#dk");
	disablenpc instance_npcname("Soldier's Corpse#dk");
	disablenpc instance_npcname("Soldier's Corpse#dk1");
	disablenpc instance_npcname("Soldier's Corpse#dk2");
	disablenpc instance_npcname("Soldier's Corpse#dk3");
	disablenpc instance_npcname("Soldier's Corpse#dk4");
	sleep 1000;
	.@label$ = instance_npcname("#gp_control_5") + "::OnMyMobDead";
	monster 'map_spa$,198,218, "Torturous Redeemer",2959,1, .@label$;	// TORTUROUS_REDEEMER
	monster 'map_spa$,198,182, "Sweet Slaughter",2956,1, .@label$;		// SWEET_SLAUGHTER
	end;
OnMyMobDead:
	if (mobcount('map_spa$, instance_npcname("#gp_control_5") + "::OnMyMobDead") < 1) {
		deltimer instance_npcname("#gp_control_4") + "::OnSpawn1";	// stop double spawn if timer is running
		mapannounce 'map_spa$, "The passage on the 5th floor of the palace is open.", bc_map,0xFFFF00;
		disablenpc instance_npcname("4th floor in the palace");
		enablenpc instance_npcname("5th floor of Palace");
		enablenpc instance_npcname("Princess Tiara#dk1");
		enablenpc instance_npcname("Lurid Royal Guard#dk5");

		killmonster 'map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead2";
		killmonster 'map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead3";
		disablenpc instance_npcname("#gp_control_3");
	}
	end;
}

// 5th floor
1@spa,216,43,3	script	Princess Tiara#dk1	4_F_MAYSEL,{
	.@guard$ = instance_npcname("Lurid Royal Guard#dk5");
	mes "[Princess Tiara]";
	mes "You kept your promise.";
	npctalk "Princess Tiara: You kept your promise.";
	next;
	mes "[Lurid Royal Guard]";
	mes "princess!";
	npctalk "Lurid Royal Guard: Princess!", .@guard$;
	next;
	cutin "npc-tiara.bmp",3;
	mes "[Princess Tiara]";
	mes "Thank you... now I can rest beside you...";
	npctalk "Princess Tiara: Thank you... now I can rest beside you...";
	next;
	mes "[Lurid Royal Guard]";
	mes "No..No!!!!!";
	npctalk "Lurid Royal Guard: No..No!!!!!", .@guard$;
	next;
	mes "[The voice of Princess Tiara]";
	mes "I want to be with you forever in peace...forever...";
	npctalk "Princess Tiara: I want to be with you forever in peace...forever...";
	next;
	cutin "b-tiara.BMP",3;
	mes "[Lurid Royal Guard]";
	mes "no.....Ahh ahh ahh!!!!~!";
	npctalk "Lurid Royal Guard: no.....Ahh ahh ahh!!!!~!", .@guard$;
	next;
	mes "[The voice of Princess Tiara]";
	mes "I love you...";
	npctalk "Princess Tiara: I love you...";
	cutin "",255;
	close2;
	donpcevent instance_npcname("#gp_control_6") + "::OnStart";
	end;
}

1@spa,213,42,7	duplicate(Lurid Royal Guard#dk)	Lurid Royal Guard#dk5	4_M_SAKRAYROYAL

1@spa,1,1,1	script	#gp_control_6	HIDDEN_WARP_NPC,{
	end;
OnStart:
	enablenpc instance_npcname("#gp_control_6");
	disablenpc instance_npcname("Princess Tiara#dk1");
	disablenpc instance_npcname("Lurid Royal Guard#dk5");

	killmonster 'map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead1";
	killmonster 'map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead2";
	killmonster 'map_spa$, instance_npcname("#gp_control_5") + "::OnMyMobDead";
	disablenpc instance_npcname("#gp_control_4");
	disablenpc instance_npcname("#gp_control_5");
	disablenpc instance_npcname("5th floor of Palace");
	sleep 2000;
	.@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead1";
	monster 'map_spa$,217,52, "Forgotten Name" ,2957,1, .@label$;	// FORGOTTEN_NAME
	unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
	monster 'map_spa$,190,21, "Tarnished Oath" ,2954,1, .@label$;	// COLORLESS_VOW
	unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
	monster 'map_spa$,198,49, "Tarnished Oath" ,2954,1, .@label$;	// COLORLESS_VOW
	unittalk $@mobid[0], "What is this..??";
	monster 'map_spa$,212,28, "Fatal Days" ,2958,1, .@label$;		// FATAL_DAYS
	unittalk $@mobid[0], "Sakray killed a princess!";
	end;
OnMyMobDead1:
	if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead1") < 1) {
		sleep 2000;
		.@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead2";
		monster 'map_spa$,217,43, "Forgotten Name" ,2957,1, .@label$;	// FORGOTTEN_NAME
		unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
		monster 'map_spa$,193,24, "Forgotten Name" ,2957,1, .@label$;	// FORGOTTEN_NAME
		unittalk $@mobid[0], "Sakray..?? why.....Sakray!";
		monster 'map_spa$,216,59, "Tarnished Oath" ,2954,1, .@label$;	// COLORLESS_VOW
		unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
		monster 'map_spa$,197,57, "Fatal Days" ,2958,1, .@label$;		// FATAL_DAYS
		unittalk $@mobid[0], "Sakray killed a princess!";
	}
	end;
OnMyMobDead2:
	if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead2") < 1) {
		sleep 2000;
		.@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead3";
		monster 'map_spa$,193,39, "Forgotten Name" ,2957,1, .@label$;	// FORGOTTEN_NAME
		unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
		monster 'map_spa$,212,34, "Forgotten Name" ,2957,1, .@label$;	// FORGOTTEN_NAME
		unittalk $@mobid[0], "Sakray..?? why.....Sakray!";
		monster 'map_spa$,201,64, "Tarnished Oath" ,2954,1, .@label$;	// COLORLESS_VOW
		unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
		monster 'map_spa$,175,44, "Fatal Days" ,2958,1, .@label$;		// FATAL_DAYS
		unittalk $@mobid[0], "Sakray killed a princess!";
	}
	end;
OnMyMobDead3:
	if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead3") < 1) {
		sleep 2000;
		monster 'map_spa$,200,45, "Torturous Redeemer" ,2961,1, instance_npcname("#gp_control_6") + "::OnMyMobDead4";	// E_TORTUROUS_REDEEMER
		unittalk $@mobid[0], "Thanatos Magic Trace! I will destroy you if I can't have you... Oh no! How could this be?";
		sleep 5000;
		killmonster 'map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead4";
		enablenpc instance_npcname("Sakray#dk");
		enablenpc instance_npcname("Thanatos Magic Trace#dk3");
		disablenpc instance_npcname("#gp_control_6");
	}
	end;
OnMyMobDead4:
	end;
}

1@spa,196,44,5	script	Sakray#dk	4_M_SAKRAY,{
	mes "[Lurid Royal Guard]";
	mes "Are you satisfied..? Thanatos Magic Trace?";
	npctalk "Lurid Royal Guard: Are you satisfied..? Thanatos Magic Trace?";
	next;
	mes "[Thanatos Magic Trace]";
	mes "I need more blood..Sakray, offer me his blood.";
	npctalk "Thanatos Magic Trace: I need more blood..Sakray, offer me his blood.", instance_npcname("Thanatos Magic Trace#dk3");
	next;
	mes "[Sakray]";
	mes "Okay, that is good. A traveller. Did you see?";
	npctalk "Sakray: Okay, that is good. A traveller. Did you see?";
	next;
	mes "[" + strcharinfo(0) + "]";
	mes "Sakray, what do you want? Sympathy? Or is it a trap?";
	unittalk getcharid(3), "" + strcharinfo(0) + " : Sakray, what do you want? Sympathy? Or is it a trap?";
	next;
	mes "[Sakray]";
	mes "No... I do not need to make any effort to catch a novice.";
	npctalk "Sakray: No... I do not need to make any effort to catch a novice.";
	next;
	mes "[" + strcharinfo(0) + "]";
	mes "If so... then why...?";
	unittalk getcharid(3), "" + strcharinfo(0) + " : If so... then why...?";
	next;
	cutin "cry-b.bmp",2;
	mes "[Sakray]";
	mes "I wanted to get rid of a piece of humanity inside of me through you.";
	npctalk "Sakray: I wanted to get rid of a piece of humanity inside of me through you.";
	next;
	mes "[Sakray]";
	mes "I am quite satisfied with the result.";
	npctalk "Sakray: I am quite satisfied with the result.";
	next;
	mes "[Thanatos Magic Trace]";
	mes "Sakray, offer the blood to me now!";
	npctalk "Thanatos Magic Trace: Sakray, offer the blood to me now!", instance_npcname("Thanatos Magic Trace#dk3");
	next;
	mes "[Sakray]";
	mes "If you were me, what would you do?";
	npctalk "Sakray: If you were me, what would you do?";
	next;
	mes "[Sakray]";
	mes "Can you set yourself free from this curse?";
	npctalk "Sakray: Can you set yourself free from this curse?";
	next;
	mes "[" + strcharinfo(0) + "]";
	mes "...";
	unittalk getcharid(3), "" + strcharinfo(0) + " : ...";
	next;
	mes "[Sakray]";
	mes "Heh heh... I will keep watching you until the day comes when you are old enough.";
	npctalk "Sakray: Heh heh... I will keep watching you until the day comes when you are old enough.";
	next;
	mes "[Sakray]";
	mes "I am willing to hunt you later for Thanatos.";
	npctalk "Sakray: I am willing to hunt you later for Thanatos.";
	cutin "",255;
	next;
	mes "[Sakray]";
	mes "Farewell then.";
	npctalk "Sakray: Farewell then.";
	close2;
	donpcevent instance_npcname("#tb") + "::OnStart";
	end;
}

1@spa,196,46,1	script	#tb	CLEAR_NPC,{
	end;
OnStart:
	disablenpc instance_npcname("Sakray#dk");
	disablenpc instance_npcname("Thanatos Magic Trace#dk3");
	enablenpc instance_npcname("#tb");
	enablenpc instance_npcname("#sv");
	enablenpc instance_npcname("#tv");
	initnpctimer;
	end;
OnTimer3000:
	npctalk "Voice of Princess Tiara : What can I do for you?";
	end;
OnTimer8000:
	npctalk "Voice of Sakray : I will always stand by you. Please rest beside me.", instance_npcname("#sv");
	end;
OnTimer13000:
	npctalk "Thanatos Magic Trace: Sakray, do not forget the covenant of blood between us.", instance_npcname("#tv");
	end;
OnTimer17000:
	npctalk "Thanatos Magic Trace: Your soul is mine until you find the blood that satisfies me...", instance_npcname("#tv");
	end;
OnTimer22000:
	npctalk "Voice of Sakray : Rest in the shadow with me.", instance_npcname("#sv");
	end;
OnTimer25000:
	npctalk "Voice of Sakray : In the dark forever...", instance_npcname("#sv");
	end;
OnTimer28500:
	disablenpc instance_npcname("#tb");
	disablenpc instance_npcname("#sv");
	disablenpc instance_npcname("#tv");
	mapannounce 'map_spa$, "It is time to leave the Ghost Palace.", bc_map,0xFFFF00;
	enablenpc instance_npcname("Way out of Palace");
	enablenpc instance_npcname("King#dk11");
	end;
}

1@spa,195,41,1	duplicate(Lurid Royal Guard#dk)	Thanatos Magic Trace#dk3	CLEAR_NPC
1@spa,198,43,1	duplicate(Lurid Royal Guard#dk)	#sv	CLEAR_NPC
1@spa,196,41,1	duplicate(Lurid Royal Guard#dk)	#tv	CLEAR_NPC

1@spa,204,29,1	script	King#dk11	4_M_RUSKING,{
	disable_items;
	mes "[King]";
	mes "Hey there, are you alive?";
	mes "I did not expect to meet someone who is still alive.";
	next;
	mes "[King]";
	mes "Do you possibly have the ^006400Gray Shard^000000?";
	mes "Can you give it to me?";
	mes "The memories of the faithful royal guard";
	mes "and the memories of everyone he loved";
	mes "are contained inside of these shards.";
	next;
	mes "[King]";
	mes "Will you give the ^006400Gray Shard^000000 to me?";
	mes "The guilt is eating my soul.";
	mes "My soul is stuck within the Ghost Palace.";
	next;
	mes "[King]";
	mes "I am collecting Sakray's abandoned memories from these shards.";
	next;
	mes "[King]";
	mes "If you give any ^006400Gray Shard^000000s to me, I can make equipment for you.";
	next;
	mes "[King]";
	mes "The cursed knight...";
	mes "Please help me save the soul of Sakray.";
	next;
	setarray .@item_name$[0],
		"Thanatos Sword", "Thanatos Great Sword", "Thanatos Spear", "Thanatos Long Spear", "Thanatos Staff",
		"Thanatos Two-handed Staff", "Thanatos Bow", "Thanatos Dagger", "Thanatos Katar", "Thanatos Knuckle",
		"Thanatos Hammer", "Thanatos Axe", "Thanatos Violin", "Thanatos Whip",
		"Gray Shield", "Gray Armor", "Gray Robe", "Gray Cloak", "Gray Shoes", "Gray Helmet";
	setarray .@items_list[0],13441,21009,1438,1496,1669,2023,18119,13093,28000,1836,16028,28100,1933,1988,2187,15090,15091,20721,22033,18820;

	for ( .@i = 0; .@i < 20; .@i++ )
		.@menu$ += .@item_name$[.@i] + ":";
	.@menu$ += "Cancel";

	while(true) {
		.@s = select(.@menu$) - 1;
		if (.@s == 20) {
			mes "[King]";
			mes "Someday, Sakray will";
			mes "get out of this curse for sure.";
			mes "I believe";
			mes "^006400Gray Shard^000000s are the only method";
			mes "to save him....";
			close;
		}
		.@cost = ( .@s > 13 ? 200 : 200 );
		mes "[King]";
		mes "To make a ^FF0000" + .@item_name$[.@s] + "^000000";
		mes "I need " + .@cost + " ^006400Gray Shard^000000.";
		next;
		if (select( "Cancel", "Hand over " + .@cost + " Gray Shard." ) == 1) {
			mes "[King]";
			mes "Someday, Sakray will";
			mes "get out of this curse for sure.";
			next;
			continue;
		}
		if (countitem(6672) < .@cost) {
			mes "[King]";
			mes "You do not have enough ^006400Gray Shard^000000";
			mes "to make a ^FF0000" + .@item_name$[.@s] + "^000000.";
			mes "I need " + .@cost + " ^006400Gray Shard^000000.";
			next;
			continue;
		}
		mes "[King]";
		mes "I will make a ^FF0000" + .@item_name$[.@s] + "^000000";
		mes "with " + .@cost + " ^006400Gray Shard^000000.";
		next;
		mes "You see a light through the folded hands of the king and it gradually takes on a shape.";
		next;
		mes "[King]";
		mes "All right, it is done.";
		mes "Take this ^FF0000" + .@item_name$[.@s] + "^000000";
		mes "to confront Sakray and Thanatos.";
		next;
		mes "[King]";
		mes "The power requires a sacrifice.";
		mes "Please be careful...";
		delitem 6672,.@cost;// Gray Shard
		getitem .@items_list[.@s],1;
		close;
	}
}

1@spa,210,28,0	script	Way out of Palace	WARPNPC,2,2,{
	end;
OnTouch_:
	mes "It is time to leave the Ghost Palace.";
	mes "Everything is now complete";
	mes "and will vanish..";
	close2;
	if (isbegin_quest(1263) == 2)
		getitem 6672,1;// Gray Shard
	else {
		setquest 1263;// Cursed Swordman
		completequest 1263;
		getexp 900000,500000;
		getitem 6672,2;// Gray Shard
	}
	warp "prontera",178,149;
	end;
}

1@spa,41,217,0	warp	The second floor of Palace	2,2,1@spa,114,120
1@spa,117,137,0	warp	3rd floor in the palace	2,2,1@spa,60,43
1@spa,54,28,0	warp	4th floor in the palace	2,2,1@spa,218,186
1@spa,178,186,0	warp	5th floor of Palace	2,2,1@spa,186,57

 

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

LOL you spot a bug XD

yes this script NOT allow party members to enter the instance, because there is a party leader check above it

//	Once the party member fulfill requirement to enter the instance ...
//	Somehow it check the party leader again !!
	.@party_id = getcharid(1);
	if (getcharid(0) != getpartyleader(.@party_id,2) || .@party_id < 1) {
		mes "[Unpleasant Royal Guard]";
		mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
		close;
	}

	.@md_name$ = "Ghost Palace";
	switch( instance_enter(.@md_name$) ) {
//	Then only the instance_enter check comes in, even though there is IE_NOMEMBER check

just remove those party leader check and you are good to go .... I guess ... I didn't test it

Edited by AnnieRuru
Link to comment
Share on other sites

  • 0

  • Group:  Developer
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   431
  • Joined:  01/26/16
  • Last Seen:  

@AnnieRuru afaik the instance is a solo instance so I wouldn't count that as a bug. That's Aegis' way of forcing a one man party that got mimicked. I guess we could make it char-bound instead of having the solo party since we have support for that, unlike Aegis.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...