Tweaked the sealed shrine entrance NPCs. Hopefully the damn thing works now.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14905 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
L0ne_W0lf 2011-07-13 18:01:07 +00:00
parent d725299ad1
commit d05e97b7a1
4 changed files with 110 additions and 109 deletions

View File

@ -251,7 +251,7 @@
3042,0,0,0,0,0,0,0,"The Cursed Baphomet Doll" 3042,0,0,0,0,0,0,0,"The Cursed Baphomet Doll"
3043,0,0,0,0,0,0,0,"The Gigantic Magestic Goat" 3043,0,0,0,0,0,0,0,"The Gigantic Magestic Goat"
3044,0,0,0,0,0,0,0,"The Gigantic Magestic Goat" 3044,0,0,0,0,0,0,0,"The Gigantic Magestic Goat"
3045,9600,0,0,0,0,0,0,"Sealed Shrine" 3045,7200,0,0,0,0,0,0,"Sealed Shrine"
3046,0,0,0,0,0,0,0,"Sealed Shrine After-effect" 3046,0,0,0,0,0,0,0,"Sealed Shrine After-effect"
3050,0,0,0,0,0,0,0,"Resurrection of Satan Morocc - 1" 3050,0,0,0,0,0,0,0,"Resurrection of Satan Morocc - 1"

View File

@ -1,5 +1,7 @@
Date Added Date Added
====== ======
2011/07/13
* Rev. 14905 Tweaked the sealed shrine entrance NPCs. Hopefully the damn thing works now. [L0ne_W0lf]
2011/05/23 2011/05/23
* Rev. 14833 Fixed a possible exploit in guild castle investment. (bugreport:4929, topic:272783) [Brian] * Rev. 14833 Fixed a possible exploit in guild castle investment. (bugreport:4929, topic:272783) [Brian]
2011/04/08 2011/04/08

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= L0ne_W0lf //= L0ne_W0lf
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 1.5 //= 1.6
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= eAthena SVN //= eAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -16,6 +16,9 @@
//= 1.3 Fixed cutins not being removed. (bugreport:4117) [L0ne_w0lf] //= 1.3 Fixed cutins not being removed. (bugreport:4117) [L0ne_w0lf]
//= 1.4 Fixed some typos. [Gepard] //= 1.4 Fixed some typos. [Gepard]
//= 1.5 Fixed not being able to enter dungeon for the first two hours. //= 1.5 Fixed not being able to enter dungeon for the first two hours.
//= 1.6 Players should be able to re-take the quest after 12 hours now.
//= Changed quest 3046 to 3040. This is the correct quest id.
//= Removed checking quest 3045, unofficial check.
//============================================================ //============================================================
// Sealed Catacomb Entrance // Sealed Catacomb Entrance
@ -96,11 +99,10 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{
next; next;
// 12 hour cooldown // 12 hour cooldown
set .@ins_bapho_check,checkquest(3046,PLAYTIME); set .@ins_bapho_check,checkquest(3040,PLAYTIME);
// Two hour play limit // Two hour play limit
set .@ins_bapho_check2,checkquest(3045,PLAYTIME); //set .@ins_bapho_check2,checkquest(3045,PLAYTIME);
if (.@ins_bapho_check < 2) {
if (.@ins_bapho_check == -1) { if (.@ins_bapho_check == -1) {
if ((getpartyleader(.@party_id,2) == getcharid(0)) && (.@partymembercount > 1)) { if ((getpartyleader(.@party_id,2) == getcharid(0)) && (.@partymembercount > 1)) {
set .@instance, instance_create("Sealed Catacombs", .@party_id); set .@instance, instance_create("Sealed Catacombs", .@party_id);
@ -122,7 +124,7 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{
} }
instance_attach(.@instance); instance_attach(.@instance);
instance_set_timeout 14400,300,.@instance; instance_set_timeout 7200,300,.@instance;
instance_init(.@instance); instance_init(.@instance);
// First Floor // First Floor
@ -199,14 +201,13 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{
mes "[Friar Patrick]"; mes "[Friar Patrick]";
mes "Haaaaaaap... Hocus Pocus Wingardium Abracadabra!!!!!"; mes "Haaaaaaap... Hocus Pocus Wingardium Abracadabra!!!!!";
next; next;
if (checkquest(3046)) erasequest 3046; if (checkquest(3040)) erasequest 3040;
if (checkquest(3041)) erasequest 3041; if (checkquest(3041)) erasequest 3041;
if (checkquest(3045)) erasequest 3045; if (checkquest(3045)) erasequest 3045;
mes "[Friar Patrick]"; mes "[Friar Patrick]";
mes "Huu... It's over. Now that I've released Baphomet's Curse, you can enter again."; mes "Huu... It's over. Now that I've released Baphomet's Curse, you can enter again.";
} }
} }
}
else { else {
mes "[Friar Patrick]"; mes "[Friar Patrick]";
mes "Umm... You should train more to enter this dangerous place... You should reach at least Lv 75 to enter here."; mes "Umm... You should train more to enter this dangerous place... You should reach at least Lv 75 to enter here.";
@ -248,7 +249,6 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{
} }
monk_test,306,151,3 script Grave of Baphomet#edq 111,{ monk_test,306,151,3 script Grave of Baphomet#edq 111,{
if (checkquest(3040)>=0) erasequest 3040;
if (countitem(6002) > 0) if (countitem(6002) > 0)
delitem 6002,countitem(6002); //Token_Of_Apostle delitem 6002,countitem(6002); //Token_Of_Apostle
mes "This gravestone has a carving of a wicked devil with large horns. It arouses an ominous feeling."; mes "This gravestone has a carving of a wicked devil with large horns. It arouses an ominous feeling.";
@ -265,11 +265,11 @@ monk_test,306,151,3 script Grave of Baphomet#edq 111,{
instance_attach(.@instance); instance_attach(.@instance);
// 12 hour cooldown // 12 hour cooldown
set .@ins_bapho_check,checkquest(3046,PLAYTIME); set .@ins_bapho_check,checkquest(3040,PLAYTIME);
// Two hour play limit // Two hour play limit
set .@ins_bapho_check2,checkquest(3045,PLAYTIME); //set .@ins_bapho_check2,checkquest(3045,PLAYTIME);
if ((.@ins_bapho_check == -1) || ((.@ins_bapho_check2 >= 0) && (.@ins_bapho_check2 < 2))) { if (.@ins_bapho_check == -1) {
if (has_instance("1@cata") == "") { if (has_instance("1@cata") == "") {
mes "It's cold to the touch. It doesn't respond."; mes "It's cold to the touch. It doesn't respond.";
} }
@ -284,8 +284,7 @@ monk_test,306,151,3 script Grave of Baphomet#edq 111,{
//else if (ret == 0) { //else if (ret == 0) {
else { else {
mapannounce "monk_test","[" + strcharinfo(0) + "] member of the [" + getpartyname(.@party_id) + "] party has entered the Sealed Shrine.",bc_map,"0x00ff99"; mapannounce "monk_test","[" + strcharinfo(0) + "] member of the [" + getpartyname(.@party_id) + "] party has entered the Sealed Shrine.",bc_map,"0x00ff99";
setquest 3046; if (!checkquest(3040)) setquest 3040;
setquest 3045;
warp "1@cata",100,224; warp "1@cata",100,224;
} }
} }
@ -301,7 +300,7 @@ monk_test,306,151,3 script Grave of Baphomet#edq 111,{
mes "[Friar Patrick]"; mes "[Friar Patrick]";
mes "Haaaaaaap... Wingardium Leviosa Expecto Patronum !!!!!"; mes "Haaaaaaap... Wingardium Leviosa Expecto Patronum !!!!!";
specialeffect2 EF_HOLYHIT; specialeffect2 EF_HOLYHIT;
if (checkquest(3046)) erasequest 3046; if (checkquest(3040)) erasequest 3040;
if (checkquest(3041)) erasequest 3041; if (checkquest(3041)) erasequest 3041;
if (checkquest(3045)) erasequest 3045; if (checkquest(3045)) erasequest 3045;
next; next;
@ -2126,8 +2125,8 @@ OnTouch:
2@cata,80,63,4 script Ancient Hero's Soul#2F 411,{ 2@cata,80,63,4 script Ancient Hero's Soul#2F 411,{
cutin "ins_cata_champ_s",2; cutin "ins_cata_champ_s",2;
if (checkquest(3041)) erasequest 3041; if (checkquest(3041)) erasequest 3041;
if (checkquest(3046)) erasequest 3046; if (checkquest(3040)) erasequest 3040;
setquest 3046; setquest 3040;
mes "[Ancient Hero's Soul]"; mes "[Ancient Hero's Soul]";
mes "Good job, my descendants... You've finished the long-cherished task that me and my bretheren could not complete."; mes "Good job, my descendants... You've finished the long-cherished task that me and my bretheren could not complete.";
next; next;
@ -2212,7 +2211,7 @@ OnDisable:
OnMyMobDead: OnMyMobDead:
if (mobcount("2@cata",instance_npcname("control_baphomet", instance_id())+"::OnMyMobDead") < 1) { if (mobcount("2@cata",instance_npcname("control_baphomet", instance_id())+"::OnMyMobDead") < 1) {
set 'ins_baphomet,7; set 'ins_baphomet,7;
setquest 3046; setquest 3040;
erasequest 3041; erasequest 3041;
instance_announce 0, "Baphomet : No! Nonono! How dare these weaklings defeat me!... No!!...",bc_map,"0xdb7093"; instance_announce 0, "Baphomet : No! Nonono! How dare these weaklings defeat me!... No!!...",bc_map,"0xdb7093";
enablenpc instance_npcname("Ancient Hero's Soul#2F", instance_id()); enablenpc instance_npcname("Ancient Hero's Soul#2F", instance_id());

View File

@ -1608,7 +1608,7 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
for(i = 0; i < max && (drop[i].id || drop[i].group); i++) { for(i = 0; i < max && (drop[i].id || drop[i].group); i++) {
if( if(
((id && drop[i].id == id) || ((id && drop[i].id == id) ||
(group && drop[i].group == group)) && race < (1<<RC_MAX) (group && drop[i].group == group)) && race < (RC_MAX<<1)
) { ) {
drop[i].race |= race; drop[i].race |= race;
if(drop[i].rate > 0 && rate > 0) if(drop[i].rate > 0 && rate > 0)