summaryrefslogtreecommitdiff
path: root/npc/custom
diff options
context:
space:
mode:
Diffstat (limited to 'npc/custom')
-rw-r--r--npc/custom/battleground/bg_common.txt84
-rw-r--r--npc/custom/bgqueue/flavius.txt4
-rw-r--r--npc/custom/breeder.txt51
-rw-r--r--npc/custom/etc/blackjack.txt21
-rw-r--r--npc/custom/etc/penal_servitude.txt4
-rw-r--r--npc/custom/etc/quest_warper.txt2
-rw-r--r--npc/custom/events/disguise.txt5
-rw-r--r--npc/custom/jobmaster.txt4
-rw-r--r--npc/custom/quests/hunting_missions.txt18
9 files changed, 113 insertions, 80 deletions
diff --git a/npc/custom/battleground/bg_common.txt b/npc/custom/battleground/bg_common.txt
index 895191961..8b99deb39 100644
--- a/npc/custom/battleground/bg_common.txt
+++ b/npc/custom/battleground/bg_common.txt
@@ -217,9 +217,9 @@ bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{
close;
}
- if( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069;
- if( checkquest(2069,PLAYTIME) != -1 )
- {
+ if (questprogress(2069,PLAYTIME) == 2)
+ erasequest 2069;
+ if (questprogress(2069,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Tierra Officer]";
@@ -287,9 +287,9 @@ bat_room,156,121,1 script Tierra Valley Officer#2 4_M_CRU_KNT,{
close;
}
- if( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069;
- if( checkquest(2069,PLAYTIME) != -1 )
- {
+ if (questprogress(2069,PLAYTIME) == 2)
+ erasequest 2069;
+ if (questprogress(2069,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Tierra Officer]";
@@ -357,9 +357,9 @@ bat_room,164,178,5 script Tierra Valley Officer#3 4_M_KY_KNT,{
close;
}
- if( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069;
- if( checkquest(2069,PLAYTIME) != -1 )
- {
+ if (questprogress(2069,PLAYTIME) == 2)
+ erasequest 2069;
+ if (questprogress(2069,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Tierra Officer]";
@@ -427,9 +427,9 @@ bat_room,164,121,1 script Tierra Valley Officer#4 4_M_CRU_KNT,{
close;
}
- if( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069;
- if( checkquest(2069,PLAYTIME) != -1 )
- {
+ if (questprogress(2069,PLAYTIME) == 2)
+ erasequest 2069;
+ if (questprogress(2069,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Tierra Officer]";
@@ -498,9 +498,9 @@ bat_room,172,178,5 script Flavius Officer#1 4_M_KY_KNT,{
close;
}
- if( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070;
- if( checkquest(2070,PLAYTIME) != -1 )
- {
+ if (questprogress(2070,PLAYTIME) == 2)
+ erasequest 2070;
+ if (questprogress(2070,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Flavius Officer]";
@@ -569,9 +569,9 @@ bat_room,172,121,1 script Flavius Officer#2 4_M_CRU_KNT,{
close;
}
- if( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070;
- if( checkquest(2070,PLAYTIME) != -1 )
- {
+ if (questprogress(2070,PLAYTIME) == 2)
+ erasequest 2070;
+ if (questprogress(2070,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Flavius Officer]";
@@ -640,9 +640,9 @@ bat_room,148,178,5 script Flavius Officer#3 4_M_KY_KNT,{
close;
}
- if( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070;
- if( checkquest(2070,PLAYTIME) != -1 )
- {
+ if (questprogress(2070,PLAYTIME) == 2)
+ erasequest 2070;
+ if (questprogress(2070,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Flavius Officer]";
@@ -711,9 +711,9 @@ bat_room,148,121,1 script Flavius Officer#4 4_M_CRU_KNT,{
close;
}
- if( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070;
- if( checkquest(2070,PLAYTIME) != -1 )
- {
+ if (questprogress(2070,PLAYTIME) == 2)
+ erasequest 2070;
+ if (questprogress(2070,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[Flavius Officer]";
@@ -779,9 +779,9 @@ bat_room,140,178,5 script KVM [80-99] Officer#1 4_M_KY_KNT,{
close;
}
- if( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025;
- if( checkquest(6025,PLAYTIME) != -1 )
- {
+ if (questprogress(6025,PLAYTIME) == 2)
+ erasequest 6025;
+ if (questprogress(6025,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[KVM Officer]";
@@ -847,9 +847,9 @@ bat_room,140,121,1 script KVM [80-99] Officer#2 4_M_CRU_KNT,{
close;
}
- if( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025;
- if( checkquest(6025,PLAYTIME) != -1 )
- {
+ if (questprogress(6025,PLAYTIME) == 2)
+ erasequest 6025;
+ if (questprogress(6025,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[KVM Officer]";
@@ -915,9 +915,9 @@ bat_room,132,178,5 script KVM [60-79] Officer#1 4_M_KY_KNT,{
close;
}
- if( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025;
- if( checkquest(6025,PLAYTIME) != -1 )
- {
+ if (questprogress(6025,PLAYTIME) == 2)
+ erasequest 6025;
+ if (questprogress(6025,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[KVM Officer]";
@@ -983,9 +983,9 @@ bat_room,132,121,1 script KVM [60-79] Officer#2 4_M_CRU_KNT,{
close;
}
- if( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025;
- if( checkquest(6025,PLAYTIME) != -1 )
- {
+ if (questprogress(6025,PLAYTIME) == 2)
+ erasequest 6025;
+ if (questprogress(6025,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[KVM Officer]";
@@ -1051,9 +1051,9 @@ bat_room,124,178,5 script KVM [1-59] Officer#1 4_M_KY_KNT,{
close;
}
- if( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025;
- if( checkquest(6025,PLAYTIME) != -1 )
- {
+ if (questprogress(6025,PLAYTIME) == 2)
+ erasequest 6025;
+ if (questprogress(6025,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[KVM Officer]";
@@ -1119,9 +1119,9 @@ bat_room,124,121,1 script KVM [1-59] Officer#2 4_M_CRU_KNT,{
close;
}
- if( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025;
- if( checkquest(6025,PLAYTIME) != -1 )
- {
+ if (questprogress(6025,PLAYTIME) == 2)
+ erasequest 6025;
+ if (questprogress(6025,PLAYTIME)) {
mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off.";
next;
mes "[KVM Officer]";
diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt
index 36e02e86d..8112be12e 100644
--- a/npc/custom/bgqueue/flavius.txt
+++ b/npc/custom/bgqueue/flavius.txt
@@ -426,14 +426,14 @@ OnTouch:
bat_b01,87,76,0 script A_CODE#bat_b01 -1,5,5,{
OnTouch:
- if (checkquest(2070) < 0)
+ if (!questprogress(2070))
setquest 2070;
end;
}
bat_b01,312,224,0 script B_CODE#bat_b01 -1,5,5,{
OnTouch:
- if (checkquest(2070) < 0)
+ if (!questprogress(2070))
setquest 2070;
end;
}
diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt
index 0222f5b3a..db57510f7 100644
--- a/npc/custom/breeder.txt
+++ b/npc/custom/breeder.txt
@@ -11,36 +11,43 @@
//============================================================
prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
- if (ismounting()) {
+ /* TODO: This can be optimized with just setmount(), as it can
+ auto-detect the proper mount for the class/skills. */
+ if (hascashmount()) {
message strcharinfo(0),"You must first remove your mount.";
end;
- }
- else if ((eaclass()&EAJ_THIRDMASK) == EAJ_RANGER && !countitem(6124)) {
- if (!checkfalcon() && getskilllv("HT_FALCON") && !checkoption(Option_Wug) && !checkoption(Option_Wugrider)) {
- if(select(" ~ Falcon: ~ Warg")==1) setfalcon;
- else getitem 6124,1;
+ } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_RANGER && !countitem(Wolf's_Flute)) {
+ if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) {
+ if (select(" ~ Falcon: ~ Warg") == 1)
+ setfalcon;
+ else
+ getitem Wolf's_Flute, 1;
specialeffect2 EF_TEIHIT3;
close;
+ } else {
+ getitem Wolf's_Flute,1;
}
- else getitem 6124,1;
- }
- else if ((eaclass()&EAJ_THIRDMASK) == EAJ_MECHANIC && !checkcart() && getskilllv("MC_PUSHCART")) {
- if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) {
- if(select(" ~ Cart: ~ Mado")==1) setcart;
- else setmadogear;
+ } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_MECHANIC && !checkcart() && getskilllv(MC_PUSHCART)) {
+ if (!checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) {
+ if (select(" ~ Cart: ~ Mado") == 1) {
+ setcart;
+ } else {
+ setmount(MOUNT_MADO);
+ }
specialeffect2 EF_TEIHIT3;
close;
+ } else {
+ setcart;
}
- else setcart;
- }
- else if (!checkcart() && getskilllv("MC_PUSHCART")) setcart;
- else if (!checkfalcon() && getskilllv("HT_FALCON") && !checkoption(Option_Wug) && !checkoption(Option_Wugrider)) setfalcon;
- else if (!checkriding() && getskilllv("KN_RIDING")) {
- if ((eaclass()&EAJ_THIRDMASK) == EAJ_RUNE_KNIGHT) setdragon;
- else setriding;
- }
- else if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) setmadogear;
- else {
+ } else if (!checkcart() && getskilllv(MC_PUSHCART)) {
+ setcart;
+ } else if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) {
+ setfalcon;
+ } else if (checkmount() != MOUNT_PECO && getskilllv(KN_RIDING)) {
+ setmount; // Peco or Dragon
+ } else if (checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) {
+ setmount(MOUNT_MADO);
+ } else {
message strcharinfo(0),"You do not meet requirements to rent.";
end;
}
diff --git a/npc/custom/etc/blackjack.txt b/npc/custom/etc/blackjack.txt
index ee1e7904b..5baba717e 100644
--- a/npc/custom/etc/blackjack.txt
+++ b/npc/custom/etc/blackjack.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Description: =========================================
//= Black Jack card game. Gameplay based off standard casino
//= black jack rules. Dealer must have at least 17 to stay and will
@@ -12,7 +12,8 @@
//= Currently does not allow for "insurance", or "splitting"
//= of pairs.
//===== Additional Comments: =================================
-//=
+// 1.0 Release
+// 1.1 Prevent player logout from zeny deletion (AnnieRuru)
//============================================================
cmd_in02,188,89,1 script Black Jack Dealer 1_M_LIBRARYMASTER,{
@@ -71,7 +72,7 @@ sM_0b:
mes "3.) If you have a point total of 21 with the first 2 cards, you";
mes "will automatically win the round. This is called a ^5533FF'Black Jack'^000000";
mes "and happens when you get an 'Ace' and a '10 valued' card. If the";
- mes "dealer gets a Black Jack he/she will automatically win the round.";
+ mes "dealer gets a Black Jack the player will automatically lose the round.";
next;
mes "[Dealer]";
mes "4.) Besides winning and loosing, you can tie with the dealer. If";
@@ -133,18 +134,22 @@ L_Play:
M_1a:
if(Zeny < 2) goto sL_NotEnuf;
set @bet, 2;
+ Zeny -= @bet;
goto L_Cont0;
M_1b:
if(Zeny < 10) goto sL_NotEnuf;
set @bet, 10;
+ Zeny -= @bet;
goto L_Cont0;
M_1c:
if(Zeny < 20) goto sL_NotEnuf;
set @bet, 20;
+ Zeny -= @bet;
goto L_Cont0;
M_1d:
if(Zeny < 100) goto sL_NotEnuf;
set @bet, 100;
+ Zeny -= @bet;
goto L_Cont0;
sL_NotEnuf:
@@ -157,6 +162,7 @@ L_Cont0:
next;
deletearray $@card[0],13;
set @dealerTurn, 0;
+ set @doubledown, 0;
set @numP, 0;
set @numD, 0;
set @pAce, 0;
@@ -219,7 +225,7 @@ M_Double:
mes "doubled, and you will only be able to pull 1 extra card.";
next;
set @dealerTurn, 1;
- set @bet, @bet*2;
+ set @doubledown, 1;
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
goto L_Start;
@@ -232,18 +238,21 @@ L_Check:
sL_Win:
mes "[Dealer]";
mes "Congratulations, you've won!";
+ if ( @doubledown )
+ Zeny += @bet *3;
+ else
+ Zeny += @bet *2;
next;
- Zeny += @bet;
goto L_Play;
sL_Lose:
mes "[Dealer]";
mes "I'm sorry but you've lost.";
- Zeny -= @bet;
next;
goto L_Play;
sL_Push:
mes "[Dealer]";
mes "Its a push. You tied with the Dealer.";
+ Zeny += @bet;
next;
goto L_Play;
diff --git a/npc/custom/etc/penal_servitude.txt b/npc/custom/etc/penal_servitude.txt
index e78833b66..b83bf3f83 100644
--- a/npc/custom/etc/penal_servitude.txt
+++ b/npc/custom/etc/penal_servitude.txt
@@ -84,9 +84,9 @@ M_Q1:
menu "OK, I'll work off!",-, "I love this prison!",M_NO_THANKS;
mes "[Saddeus]";
- if(checkcart() || checkfalcon() || checkriding()){
+ if(checkcart() || checkfalcon() || checkmount()){
emotion e_hmm;
- mes "I'm sorry, you should release your Cart, PecoPeco or Falcon!";
+ mes "I'm sorry, you should release your Cart, Mount or Falcon!";
close;
}
mes "Talk to our overseer, Oliver.";
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index b9bfcf74f..3526cde5c 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -55,7 +55,7 @@
// - when all towns and dungeons are collected a new option on the main menu will show
// - it will only show when you setup the mapname of the warp !
//= 2.0a - Dungeon Level Limit & Split dungeon fees
-// - Limits dungeon based on Depth, access special setup menu thru GM-Menu
+// - Limits dungeon based on Depth, access to special setup menu through the GM-Menu
// - Dungeon fees split up based on Basic , Advanced & Overseas
// - Old Dungeon fee system removed, all dungeon fees now set to 0
//= 2.0b - Special warpname menu option name bug fixed
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index 5e03f5802..b3215ccb7 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -132,7 +132,10 @@ OnInit:
DARK_SNAKE_LORD, INCANTATION_SAMURAI, PORING_V, AMON_RA, TAO_GUNKA, RSX_0806, BACSOJIN_, B_SEYREN, B_EREMES, B_HARWORD,
B_MAGALETA, B_SHECIL, B_KATRINN, B_YGNIZEM, APOCALIPS_H, LADY_TANEE, THANATOS, DETALE, KIEL_, RANDGRIS,
GLOOMUNDERNIGHT, KTULLANUX, ATROCE, G_MAGALETA_, IFRIT, FALLINGBISHOP, BEELZEBUB_, GOPINICH, MOROCC_, KUBLIN,
- S_NYDHOG, BOITATA, QUEEN_SCARABA, LOST_DRAGON, LEAK, I_QUEEN_SCARABA;
+ S_NYDHOG, BOITATA;
+ if(checkre(0)){
+ setarray .MVP[getarraysize(.MVP)], QUEEN_SCARABA, LOST_DRAGON, LEAK, I_QUEEN_SCARABA;
+ }
set .Blacklist$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," +
"1171,1172,1173,1181,1187,1210,1217,1218,1222,1223,1224,1225,1226,1227,1228," +
"1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,2002,2003,2004," +
diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt
index 88a1897da..ca102ed76 100644
--- a/npc/custom/jobmaster.txt
+++ b/npc/custom/jobmaster.txt
@@ -24,8 +24,8 @@ prontera,153,193,6 script Job Master 2_F_MAGICMASTER,{
mes "No more jobs are available.";
close;
}
- if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
- mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")
+ if (checkfalcon() || checkcart() || checkmount() || hascashmount()) {
+ mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkmount() || hascashmount())?"mount":"")
+" before proceeding.";
close;
}
diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt
index c4e8187de..d4999648f 100644
--- a/npc/custom/quests/hunting_missions.txt
+++ b/npc/custom/quests/hunting_missions.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.4a
+//= 1.4b
//===== Description: =========================================
//= Random hunting missions.
//= Rewards are based on quest difficulty.
@@ -17,6 +17,8 @@
//= 1.4 Fix ranking table using new SQL database [ossi0110]
//= 1.4a Fix a bug when a character has deleted, that account
//= can't do mission. [AnnieRuru]
+//= 1.4b Update to follow author's method on fixing
+//= character deletion bug [AnnieRuru]
//============================================================
prontera,152,187,6 script Hunting Missions 4_F_EDEN_MASTER,{
@@ -44,9 +46,21 @@ function Chk; function Cm;
switch(select(((!Mission0)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) {
case 1:
mes "[Hunting Missions]";
- if ( query_sql( "SELECT 1 FROM `char_reg_num_db` WHERE `key` = 'Mission0' AND `char_id` IN ( SELECT `char_id` FROM `char` WHERE `account_id` = "+ getcharid(3) +" )", .@dummy ) && #Mission_Count ) {
+ if ( #Mission_Count ) {
mes "You've started a mission";
mes "on another character.";
+ if ( !@hm_char_del_check ) {
+ if ( !query_sql( "SELECT 1 FROM `char_reg_num_db` WHERE `key` = 'Mission0' AND `char_id` IN ( SELECT `char_id` FROM `char` WHERE `account_id` = "+ getcharid(3) +" )", .@dummy ) ) {
+ next;
+ mes "[Hunting Missions]";
+ mes "I can't seem to find any records";
+ mes "for that character, though...";
+ mes "One moment, please.";
+ emotion e_hmm;
+ set #Mission_Count, 0;
+ }
+ set @hm_char_del_check, 1;
+ }
close;
}
if (#Mission_Delay > gettimetick(2) && .Delay) {