- Added an extra check to all instance script if there are actually 2 Players online in the Party to be able to enter the Dungeon. bugreport:3970

- Added a few new statuses to not disappear upon death. bugreport:2652


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16107 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
masao87 2012-05-12 20:49:09 +00:00
parent 1798cf32c4
commit bf1f8a237f
5 changed files with 41 additions and 8 deletions

View File

@ -210,7 +210,7 @@ e_tower,81,105,0 script Tower Protection Stone 406,{
set .@md_name$,"Endless Tower";
set .@p_name2$,strcharinfo(0);
getpartymember(.@party_id);
getpartymember(.@party_id),1;
set .@partymembercount,$@partymembercount;
copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
@ -225,7 +225,13 @@ e_tower,81,105,0 script Tower Protection Stone 406,{
set .@dun_m,(.@dun_ent_t - (.@dun_h * 3600)) / 60;
set .@dun_s,.@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60));
if ((.@party_id > 0) && (.@partymembercount > 1)) {
for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
set .@loggedin,.@loggedin+1;
}
}
if ((.@party_id > 0) && (.@partymembercount > 1) && (.@loggedin > 1)) {
if (.@etower_timer == -1) {
if (.@ins_mas == getcharid(0)) {
mes "Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?";

View File

@ -127,11 +127,17 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{
set .@leader,getpartyleader(.@party,2);
set .@md_name$,"Nidhoggur's Nest";
getpartymember(.@party);
getpartymember(.@party),1;
set .@partymembercount,$@partymembercount;
copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
if ((.@party > 0) && ((.@partymembercount > 1)) && (.@leader == getcharid(0))) {
for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
set .@loggedin,.@loggedin+1;
}
}
if ((.@party > 0) && ((.@partymembercount > 1)) && (.@leader == getcharid(0)) && (.@loggedin > 1)) {
set .@instance, instance_create(.@md_name$, .@party);
if (.@instance < 0) {
mes "[Yggdrasil Gatekeeper]";

View File

@ -43,12 +43,18 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{
set .@p_reader$,strcharinfo(0);
set .@md_name$,"Orc's Memory";
getpartymember(.@party_id);
getpartymember(.@party_id),1;
set .@partymembercount,$@partymembercount;
copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
set .@loggedin,.@loggedin+1;
}
}
set .@orctime,checkquest(12059,PLAYTIME);
if ((.@party_id > 0) && ((.@partymembercount > 1))) {
if ((.@party_id > 0) && (.@partymembercount > 1) && (.@loggedin > 1)) {
if (.@orctime == -1) {
if (.@ins_mas == getcharid(0)) {
mes "Party status confirmed. Would you like to book entrance to the " + .@md_name$ + "?";

View File

@ -91,7 +91,7 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{
if (BaseLevel > 74) {
set .@party_id,getcharid(1);
getpartymember(.@party_id);
getpartymember(.@party_id),1;
set .@partymembercount,$@partymembercount;
copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
@ -104,8 +104,14 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{
// Two hour play limit
//set .@ins_bapho_check2,checkquest(3045,PLAYTIME);
for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
set .@loggedin,.@loggedin+1;
}
}
if (.@ins_bapho_check == -1) {
if ((getpartyleader(.@party_id,2) == getcharid(0)) && (.@partymembercount > 1)) {
if ((getpartyleader(.@party_id,2) == getcharid(0)) && (.@partymembercount > 1) && (.@loggedin > 1)) {
set .@instance, instance_create("Sealed Catacombs", .@party_id);
if (.@instance < 0) {
mes "[Friar Patrick]";

View File

@ -8266,6 +8266,15 @@ int status_change_clear(struct block_list* bl, int type)
case SC_FOOD_DEX_CASH:
case SC_FOOD_INT_CASH:
case SC_FOOD_LUK_CASH:
case SC_DEF_RATE:
case SC_MDEF_RATE:
case SC_INCHEALRATE:
case SC_INCFLEE2:
case SC_INCHIT:
case SC_ATKPOTION:
case SC_MATKPOTION:
case SC_S_LIFEPOTION:
case SC_L_LIFEPOTION:
continue;
}