diff options
Diffstat (limited to 'npc/custom')
-rw-r--r-- | npc/custom/battleground/bg_common.txt | 84 | ||||
-rw-r--r-- | npc/custom/bgqueue/flavius.txt | 4 | ||||
-rw-r--r-- | npc/custom/breeder.txt | 51 | ||||
-rw-r--r-- | npc/custom/etc/blackjack.txt | 21 | ||||
-rw-r--r-- | npc/custom/etc/penal_servitude.txt | 4 | ||||
-rw-r--r-- | npc/custom/etc/quest_warper.txt | 2 | ||||
-rw-r--r-- | npc/custom/events/disguise.txt | 5 | ||||
-rw-r--r-- | npc/custom/jobmaster.txt | 4 | ||||
-rw-r--r-- | npc/custom/quests/hunting_missions.txt | 18 |
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) { |