summaryrefslogtreecommitdiff
path: root/npc/custom
diff options
context:
space:
mode:
authorHappy <markaizer@gmail.com>2014-08-21 04:50:46 +0800
committerHappy <markaizer@gmail.com>2014-08-21 04:50:46 +0800
commitf52e1007fe08c67003c0bc4c78231904dd3fd5cc (patch)
tree99907d827264e501774e58ab4630e41fa7103c02 /npc/custom
parent2410110dece79b4598c12f1c953219f1d0d1904a (diff)
parent769b1d05aa5cfa8cddfe7d21b35d5c5e4da3bbd6 (diff)
downloadhercules-f52e1007fe08c67003c0bc4c78231904dd3fd5cc.tar.gz
hercules-f52e1007fe08c67003c0bc4c78231904dd3fd5cc.tar.bz2
hercules-f52e1007fe08c67003c0bc4c78231904dd3fd5cc.tar.xz
hercules-f52e1007fe08c67003c0bc4c78231904dd3fd5cc.zip
Merge pull request #1 from HerculesWS/master
Update from original
Diffstat (limited to 'npc/custom')
-rw-r--r--npc/custom/battleground/bg_common.txt192
-rw-r--r--npc/custom/battleground/bg_flavius_01.txt90
-rw-r--r--npc/custom/battleground/bg_flavius_02.txt90
-rw-r--r--npc/custom/battleground/bg_kvm01.txt44
-rw-r--r--npc/custom/battleground/bg_kvm02.txt44
-rw-r--r--npc/custom/battleground/bg_kvm03.txt44
-rw-r--r--npc/custom/battleground/bg_tierra_01.txt74
-rw-r--r--npc/custom/battleground/bg_tierra_02.txt74
-rw-r--r--npc/custom/bgqueue/flavius.txt780
-rw-r--r--npc/custom/breeder.txt40
-rw-r--r--npc/custom/card_remover.txt10
-rw-r--r--npc/custom/etc/airplane.txt196
-rw-r--r--npc/custom/etc/bank.txt26
-rw-r--r--npc/custom/etc/bank_kafra.txt16
-rw-r--r--npc/custom/etc/blackjack.txt8
-rw-r--r--npc/custom/etc/floating_rates.txt2
-rw-r--r--npc/custom/etc/lottery.txt40
-rw-r--r--npc/custom/etc/marriage.txt52
-rw-r--r--npc/custom/etc/monster_arena.txt34
-rw-r--r--npc/custom/etc/morroc_raceway.txt44
-rw-r--r--npc/custom/etc/mvp_arena.txt78
-rw-r--r--npc/custom/etc/penal_servitude.txt16
-rw-r--r--npc/custom/etc/quest_warper.txt222
-rw-r--r--npc/custom/etc/rpsroulette.txt12
-rw-r--r--npc/custom/etc/shifty_assassin.txt8
-rw-r--r--npc/custom/etc/stock_market.txt72
-rw-r--r--npc/custom/events/cluckers.txt20
-rw-r--r--npc/custom/events/disguise.txt60
-rw-r--r--npc/custom/events/hallow06.txt4
-rw-r--r--npc/custom/events/mushroom_event.txt6
-rw-r--r--npc/custom/events/uneasy_cemetery.txt16
-rw-r--r--npc/custom/events/valentinesdayexp.txt24
-rw-r--r--npc/custom/events/xmas_rings_event.txt16
-rw-r--r--npc/custom/healer.txt107
-rw-r--r--npc/custom/item_signer.txt34
-rw-r--r--npc/custom/itembind.txt133
-rw-r--r--npc/custom/itemmall.txt66
-rw-r--r--npc/custom/jobmaster.txt272
-rw-r--r--npc/custom/platinum_skills.txt4
-rw-r--r--npc/custom/quests/bandit_beard.txt34
-rw-r--r--npc/custom/quests/berzebub.txt16
-rw-r--r--npc/custom/quests/dead_branch.txt18
-rw-r--r--npc/custom/quests/elvenear.txt24
-rw-r--r--npc/custom/quests/event_6_new_hats.txt14
-rw-r--r--npc/custom/quests/hunting_missions.txt53
-rw-r--r--npc/custom/quests/jewel_case.txt4
-rw-r--r--npc/custom/quests/kaho_balmung.txt8
-rw-r--r--npc/custom/quests/kahohorn.txt22
-rw-r--r--npc/custom/quests/kings_items.txt34
-rw-r--r--npc/custom/quests/may_hats.txt30
-rw-r--r--npc/custom/quests/quest_shop.txt42
-rw-r--r--npc/custom/quests/questboard.txt20
-rw-r--r--npc/custom/quests/sphinx_mask.txt16
-rw-r--r--npc/custom/quests/sunglasses.txt12
-rw-r--r--npc/custom/quests/tha_statues.txt34
-rw-r--r--npc/custom/quests/thq/THQS_ChatingNPC.txt22
-rw-r--r--npc/custom/quests/thq/THQS_GuildNPC.txt8
-rw-r--r--npc/custom/quests/thq/THQS_QuestNPC.txt16
-rw-r--r--npc/custom/quests/thq/THQS_Quests.txt74
-rw-r--r--npc/custom/quests/thq/THQS_TTShop.txt638
-rw-r--r--npc/custom/quests/umbalian_language.txt14
-rw-r--r--npc/custom/quests/valhallen.txt30
-rw-r--r--npc/custom/resetnpc.txt16
-rw-r--r--npc/custom/stylist.txt28
-rw-r--r--npc/custom/warper.txt516
-rw-r--r--npc/custom/woe_controller.txt58
66 files changed, 2796 insertions, 2075 deletions
diff --git a/npc/custom/battleground/bg_common.txt b/npc/custom/battleground/bg_common.txt
index 49e48c293..895191961 100644
--- a/npc/custom/battleground/bg_common.txt
+++ b/npc/custom/battleground/bg_common.txt
@@ -5,7 +5,7 @@
// BattleGround Warper - Entrance
// *********************************************************************
-- script Maroll Battle Recruiter::BatRecruit 728,{
+- script Maroll Battle Recruiter::BatRecruit 4_F_JOB_KNIGHT,{
mes "[Maroll Battle Recruiter]";
mes "Good day, adventurer.";
mes "I'm a knight from a far country called Maroll Kingdom.";
@@ -26,17 +26,17 @@
end;
}
-payon,189,104,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 728
-prontera,123,83,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 728
-rachel,149,138,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 728
-moc_ruins,75,162,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 728
-aldebaran,146,109,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 728
-lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 728
+payon,189,104,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 4_F_JOB_KNIGHT
+prontera,123,83,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 4_F_JOB_KNIGHT
+rachel,149,138,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 4_F_JOB_KNIGHT
+moc_ruins,75,162,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 4_F_JOB_KNIGHT
+aldebaran,146,109,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 4_F_JOB_KNIGHT
+lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 4_F_JOB_KNIGHT
// BattleGround Warper - Exit
// *********************************************************************
-bat_room,148,150,4 script Teleporter#bat 124,{
+bat_room,148,150,4 script Teleporter#bat 4_F_TELEPORTER,{
mes "[Teleporter]";
mes "Do you wish to leave the battlefield? Use my service to return to town.";
next;
@@ -59,14 +59,14 @@ bat_room,148,150,4 script Teleporter#bat 124,{
// Kafra
// *********************************************************************
-bat_room,148,147,4 script Kafra Staff::kaf_bat 861,{
+bat_room,148,147,4 script Kafra Staff::kaf_bat 4_F_KAFRA9,{
cutin "kafra_09",2;
callfunc "F_Kafra",0,2,1,150,0;
}
// General Guillaume
// *********************************************************************
-bat_room,160,159,3 script General Guillaume 420,{
+bat_room,160,159,3 script General Guillaume 4_M_KY_KIYOM,{
cutin "bat_kiyom2",2;
mes "[General Guillaume]";
mes "Hot-blooded adventurer, we need your ability to win this battle.";
@@ -105,7 +105,7 @@ bat_room,160,159,3 script General Guillaume 420,{
// General Croix
// *********************************************************************
-bat_room,160,140,3 script Prince Croix 416,{
+bat_room,160,140,3 script Prince Croix 4_M_CRU_CRUA,{
cutin "bat_crua1",2;
mes "[Prince Croix]";
mes "Wise adventurer, why don't you lend us your power for victory?";
@@ -136,14 +136,14 @@ bat_room,160,140,3 script Prince Croix 416,{
// Time calculation Function
// *********************************************************************
function script Time2Str {
- set .@Time_Left, getarg(0) - gettimetick(2);
+ set .@time_left, getarg(0) - gettimetick(2);
- set .@Days, .@Time_Left / 86400;
- set .@Time_Left, .@Time_Left - (.@Days * 86400);
- set .@Hours, .@Time_Left / 3600;
- set .@Time_Left, .@Time_Left - (.@Hours * 3600);
- set .@Minutes, .@Time_Left / 60;
- set .@Time_Left, .@Time_Left - (.@Minutes * 60);
+ set .@Days, .@time_left / 86400;
+ set .@time_left, .@time_left - (.@Days * 86400);
+ set .@Hours, .@time_left / 3600;
+ set .@time_left, .@time_left - (.@Hours * 3600);
+ set .@Minutes, .@time_left / 60;
+ set .@time_left, .@time_left - (.@Minutes * 60);
set .@Time$, "";
if( .@Days > 1 )
@@ -161,17 +161,17 @@ function script Time2Str {
else if( .@Minutes > 0 )
set .@Time$, .@Time$ + .@Minutes + " minute, ";
- if( .@Time_Left > 1 || .@Time_Left == 0 )
- set .@Time$, .@Time$ + .@Time_Left + " seconds.";
- else if( .@Time_Left == 1 )
- set .@Time$, .@Time$ + .@Time_Left + " second.";
+ if( .@time_left > 1 || .@time_left == 0 )
+ set .@Time$, .@Time$ + .@time_left + " seconds.";
+ else if( .@time_left == 1 )
+ set .@Time$, .@Time$ + .@time_left + " second.";
return .@Time$;
}
// Guillaume Knight - Tierra Valley
// *********************************************************************
-bat_room,159,178,5 script Guillaume Knight#1 417,{
+bat_room,159,178,5 script Guillaume Knight#1 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map.";
next;
@@ -190,7 +190,7 @@ bat_room,159,178,5 script Guillaume Knight#1 417,{
// Tierra Officer - Guillaume
// *********************************************************************
-bat_room,156,178,5 script Tierra Valley Officer#1 418,{
+bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{
mes "[Tierra Officer]";
if( Bat_Team == 2 )
{
@@ -241,7 +241,7 @@ bat_room,156,178,5 script Tierra Valley Officer#1 418,{
// Croix Knight - Tierra Valley
// *********************************************************************
-bat_room,159,121,1 script Croix Knight#1 413,{
+bat_room,159,121,1 script Croix Knight#1 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map.";
next;
@@ -260,7 +260,7 @@ bat_room,159,121,1 script Croix Knight#1 413,{
// Tierra Officer - Croix
// *********************************************************************
-bat_room,156,121,1 script Tierra Valley Officer#2 414,{
+bat_room,156,121,1 script Tierra Valley Officer#2 4_M_CRU_KNT,{
mes "[Tierra Officer]";
if( Bat_Team == 1 )
{
@@ -311,7 +311,7 @@ bat_room,156,121,1 script Tierra Valley Officer#2 414,{
// Guillaume Knight - Tierra
// *********************************************************************
-bat_room,167,178,5 script Guillaume Knight#2 417,{
+bat_room,167,178,5 script Guillaume Knight#2 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map.";
next;
@@ -330,7 +330,7 @@ bat_room,167,178,5 script Guillaume Knight#2 417,{
// Tierra Officer - Guillaume
// *********************************************************************
-bat_room,164,178,5 script Tierra Valley Officer#3 418,{
+bat_room,164,178,5 script Tierra Valley Officer#3 4_M_KY_KNT,{
mes "[Tierra Officer]";
if( Bat_Team == 2 )
{
@@ -381,7 +381,7 @@ bat_room,164,178,5 script Tierra Valley Officer#3 418,{
// Croix Knight - Tierra
// *********************************************************************
-bat_room,167,121,1 script Croix Knight#2 413,{
+bat_room,167,121,1 script Croix Knight#2 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map.";
next;
@@ -400,7 +400,7 @@ bat_room,167,121,1 script Croix Knight#2 413,{
// Tierra Officer - Croix
// *********************************************************************
-bat_room,164,121,1 script Tierra Valley Officer#4 414,{
+bat_room,164,121,1 script Tierra Valley Officer#4 4_M_CRU_KNT,{
mes "[Tierra Officer]";
if( Bat_Team == 1 )
{
@@ -451,7 +451,7 @@ bat_room,164,121,1 script Tierra Valley Officer#4 414,{
// Guillaune Knight - Flavius
// *********************************************************************
-bat_room,175,178,5 script Guillaume Knight#3 417,{
+bat_room,175,178,5 script Guillaume Knight#3 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal.";
next;
@@ -471,7 +471,7 @@ bat_room,175,178,5 script Guillaume Knight#3 417,{
// Flavius Officer - Guillaume
// *********************************************************************
-bat_room,172,178,5 script Flavius Officer#1 418,{
+bat_room,172,178,5 script Flavius Officer#1 4_M_KY_KNT,{
mes "[Flavius Officer]";
if( Bat_Team == 2 )
{
@@ -522,7 +522,7 @@ bat_room,172,178,5 script Flavius Officer#1 418,{
// Croix Knight - Flavius
// *********************************************************************
-bat_room,175,121,1 script Croix Knight#3 413,{
+bat_room,175,121,1 script Croix Knight#3 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal.";
next;
@@ -542,7 +542,7 @@ bat_room,175,121,1 script Croix Knight#3 413,{
// Flavius Officerer - Croix
// *********************************************************************
-bat_room,172,121,1 script Flavius Officer#2 414,{
+bat_room,172,121,1 script Flavius Officer#2 4_M_CRU_KNT,{
mes "[Flavius Officer]";
if( Bat_Team == 1 )
{
@@ -593,7 +593,7 @@ bat_room,172,121,1 script Flavius Officer#2 414,{
// Guillaune Knight - Flavius
// *********************************************************************
-bat_room,151,178,5 script Guillaume Knight#4 417,{
+bat_room,151,178,5 script Guillaume Knight#4 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal.";
next;
@@ -613,7 +613,7 @@ bat_room,151,178,5 script Guillaume Knight#4 417,{
// Flavius Officerer - Guillaume
// *********************************************************************
-bat_room,148,178,5 script Flavius Officer#3 418,{
+bat_room,148,178,5 script Flavius Officer#3 4_M_KY_KNT,{
mes "[Flavius Officer]";
if( Bat_Team == 2 )
{
@@ -664,7 +664,7 @@ bat_room,148,178,5 script Flavius Officer#3 418,{
// Croix Knight - Flavius
// *********************************************************************
-bat_room,151,121,1 script Croix Knight#4 413,{
+bat_room,151,121,1 script Croix Knight#4 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal.";
next;
@@ -684,7 +684,7 @@ bat_room,151,121,1 script Croix Knight#4 413,{
// Flavius Officerer - Croix
// *********************************************************************
-bat_room,148,121,1 script Flavius Officer#4 414,{
+bat_room,148,121,1 script Flavius Officer#4 4_M_CRU_KNT,{
mes "[Flavius Officer]";
if( Bat_Team == 1 )
{
@@ -735,7 +735,7 @@ bat_room,148,121,1 script Flavius Officer#4 414,{
// Guillaume Knight - KvM
// *********************************************************************
-bat_room,143,178,5 script Guillaume Knight#5 417,{
+bat_room,143,178,5 script Guillaume Knight#5 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die.";
next;
@@ -752,7 +752,7 @@ bat_room,143,178,5 script Guillaume Knight#5 417,{
// KvM Officerer - Guillaume
// *********************************************************************
-bat_room,140,178,5 script KVM [80-99] Officer#1 418,{
+bat_room,140,178,5 script KVM [80-99] Officer#1 4_M_KY_KNT,{
mes "[KVM Officer]";
if( Bat_Team == 2 )
{
@@ -803,7 +803,7 @@ bat_room,140,178,5 script KVM [80-99] Officer#1 418,{
// Croix Knight - KvM
// *********************************************************************
-bat_room,143,121,1 script Croix Knight#5 413,{
+bat_room,143,121,1 script Croix Knight#5 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die.";
next;
@@ -820,7 +820,7 @@ bat_room,143,121,1 script Croix Knight#5 413,{
// KvM Officer - Croix
// *********************************************************************
-bat_room,140,121,1 script KVM [80-99] Officer#2 414,{
+bat_room,140,121,1 script KVM [80-99] Officer#2 4_M_CRU_KNT,{
mes "[KVM Officer]";
if( Bat_Team == 1 )
{
@@ -871,7 +871,7 @@ bat_room,140,121,1 script KVM [80-99] Officer#2 414,{
// Guillaume Knight - KvM
// *********************************************************************
-bat_room,135,178,5 script Guillaume Knight#6 417,{
+bat_room,135,178,5 script Guillaume Knight#6 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die.";
next;
@@ -888,7 +888,7 @@ bat_room,135,178,5 script Guillaume Knight#6 417,{
// KvM Officerer - Guillaume
// *********************************************************************
-bat_room,132,178,5 script KVM [60-79] Officer#1 418,{
+bat_room,132,178,5 script KVM [60-79] Officer#1 4_M_KY_KNT,{
mes "[KVM Officer]";
if( Bat_Team == 2 )
{
@@ -939,7 +939,7 @@ bat_room,132,178,5 script KVM [60-79] Officer#1 418,{
// Croix Knight - KvM
// *********************************************************************
-bat_room,135,121,1 script Croix Knight#6 413,{
+bat_room,135,121,1 script Croix Knight#6 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die.";
next;
@@ -956,7 +956,7 @@ bat_room,135,121,1 script Croix Knight#6 413,{
// KvM Officer - Croix
// *********************************************************************
-bat_room,132,121,1 script KVM [60-79] Officer#2 414,{
+bat_room,132,121,1 script KVM [60-79] Officer#2 4_M_CRU_KNT,{
mes "[KVM Officer]";
if( Bat_Team == 1 )
{
@@ -1007,7 +1007,7 @@ bat_room,132,121,1 script KVM [60-79] Officer#2 414,{
// Guillaume Knight - KvM
// *********************************************************************
-bat_room,127,178,5 script Guillaume Knight#7 417,{
+bat_room,127,178,5 script Guillaume Knight#7 4_M_KY_SOLD,{
mes "[Guillaume Knight]";
mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die.";
next;
@@ -1024,7 +1024,7 @@ bat_room,127,178,5 script Guillaume Knight#7 417,{
// KvM Officerer - Guillaume
// *********************************************************************
-bat_room,124,178,5 script KVM [1-59] Officer#1 418,{
+bat_room,124,178,5 script KVM [1-59] Officer#1 4_M_KY_KNT,{
mes "[KVM Officer]";
if( Bat_Team == 2 )
{
@@ -1075,7 +1075,7 @@ bat_room,124,178,5 script KVM [1-59] Officer#1 418,{
// Croix Knight - KvM
// *********************************************************************
-bat_room,127,121,1 script Croix Knight#7 413,{
+bat_room,127,121,1 script Croix Knight#7 4_M_CRU_SOLD,{
mes "[Croix Knight]";
mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die.";
next;
@@ -1092,7 +1092,7 @@ bat_room,127,121,1 script Croix Knight#7 413,{
// KvM Officer - Croix
// *********************************************************************
-bat_room,124,121,1 script KVM [1-59] Officer#2 414,{
+bat_room,124,121,1 script KVM [1-59] Officer#2 4_M_CRU_KNT,{
mes "[KVM Officer]";
if( Bat_Team == 1 )
{
@@ -1144,16 +1144,16 @@ bat_room,124,121,1 script KVM [1-59] Officer#2 414,{
// Guard Dummy
// *********************************************************************
-bat_room,161,141,3 script Prince Croix's Aid::bat_aid 415,{ end; }
-bat_room,161,139,3 duplicate(bat_aid) Prince Croix's Aid::bat_aid2 415
-bat_room,161,160,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid3 419
-bat_room,161,158,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid4 419
+bat_room,161,141,3 script Prince Croix's Aid::bat_aid 4_M_CRU_HEAD,{ end; }
+bat_room,161,139,3 duplicate(bat_aid) Prince Croix's Aid::bat_aid2 4_M_CRU_HEAD
+bat_room,161,160,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid3 4_M_KY_HEAD
+bat_room,161,158,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid4 4_M_KY_HEAD
// Flags
// *********************************************************************
-- script Guillaume camp#bat 973,{ end; }
-- script Croix camp#bat 974,{ end; }
+- script Guillaume camp#bat 1_FLAG_LION,{ end; }
+- script Croix camp#bat 1_FLAG_EAGLE,{ end; }
// Exit from Registration
// *********************************************************************
@@ -1167,58 +1167,58 @@ OnTouch:
}
// Flavius bat_b02
-bat_room,57,81,0 duplicate(warp2bat_room) bat1 45,1,1
-bat_room,57,90,0 duplicate(warp2bat_room) bat2 45,1,1
+bat_room,57,81,0 duplicate(warp2bat_room) bat1 WARPNPC,1,1
+bat_room,57,90,0 duplicate(warp2bat_room) bat2 WARPNPC,1,1
// Free BG
-bat_room,57,220,0 duplicate(warp2bat_room) bat3 45,1,1
-bat_room,57,211,0 duplicate(warp2bat_room) bat4 45,1,1
+bat_room,57,220,0 duplicate(warp2bat_room) bat3 WARPNPC,1,1
+bat_room,57,211,0 duplicate(warp2bat_room) bat4 WARPNPC,1,1
// Tierra Valley bat_a02
-bat_room,85,81,0 duplicate(warp2bat_room) bat5 45,1,1
-bat_room,85,90,0 duplicate(warp2bat_room) bat6 45,1,1
+bat_room,85,81,0 duplicate(warp2bat_room) bat5 WARPNPC,1,1
+bat_room,85,90,0 duplicate(warp2bat_room) bat6 WARPNPC,1,1
// Tierra Valley bat_a01
-bat_room,85,220,0 duplicate(warp2bat_room) bat7 45,1,1
-bat_room,85,211,0 duplicate(warp2bat_room) bat8 45,1,1
+bat_room,85,220,0 duplicate(warp2bat_room) bat7 WARPNPC,1,1
+bat_room,85,211,0 duplicate(warp2bat_room) bat8 WARPNPC,1,1
// Free BG
-bat_room,113,81,0 duplicate(warp2bat_room) bat9 45,1,1
-bat_room,113,90,0 duplicate(warp2bat_room) bat10 45,1,1
+bat_room,113,81,0 duplicate(warp2bat_room) bat9 WARPNPC,1,1
+bat_room,113,90,0 duplicate(warp2bat_room) bat10 WARPNPC,1,1
// Free BG
-bat_room,113,220,0 duplicate(warp2bat_room) bat11 45,1,1
-bat_room,113,211,0 duplicate(warp2bat_room) bat12 45,1,1
+bat_room,113,220,0 duplicate(warp2bat_room) bat11 WARPNPC,1,1
+bat_room,113,211,0 duplicate(warp2bat_room) bat12 WARPNPC,1,1
// Free BG
-bat_room,141,81,0 duplicate(warp2bat_room) bat13 45,1,1
-bat_room,141,90,0 duplicate(warp2bat_room) bat14 45,1,1
+bat_room,141,81,0 duplicate(warp2bat_room) bat13 WARPNPC,1,1
+bat_room,141,90,0 duplicate(warp2bat_room) bat14 WARPNPC,1,1
// Free BG
-bat_room,141,220,0 duplicate(warp2bat_room) bat15 45,1,1
-bat_room,141,211,0 duplicate(warp2bat_room) bat16 45,1,1
+bat_room,141,220,0 duplicate(warp2bat_room) bat15 WARPNPC,1,1
+bat_room,141,211,0 duplicate(warp2bat_room) bat16 WARPNPC,1,1
// Free BG
-bat_room,169,81,0 duplicate(warp2bat_room) bat17 45,1,1
-bat_room,169,90,0 duplicate(warp2bat_room) bat18 45,1,1
+bat_room,169,81,0 duplicate(warp2bat_room) bat17 WARPNPC,1,1
+bat_room,169,90,0 duplicate(warp2bat_room) bat18 WARPNPC,1,1
// Free BG
-bat_room,169,220,0 duplicate(warp2bat_room) bat19 45,1,1
-bat_room,169,211,0 duplicate(warp2bat_room) bat20 45,1,1
+bat_room,169,220,0 duplicate(warp2bat_room) bat19 WARPNPC,1,1
+bat_room,169,211,0 duplicate(warp2bat_room) bat20 WARPNPC,1,1
// Free BG
-bat_room,197,81,0 duplicate(warp2bat_room) bat21 45,1,1
-bat_room,197,90,0 duplicate(warp2bat_room) bat22 45,1,1
+bat_room,197,81,0 duplicate(warp2bat_room) bat21 WARPNPC,1,1
+bat_room,197,90,0 duplicate(warp2bat_room) bat22 WARPNPC,1,1
// KvM bat_c03
-bat_room,197,220,0 duplicate(warp2bat_room) bat23 45,1,1
-bat_room,197,211,0 duplicate(warp2bat_room) bat24 45,1,1
+bat_room,197,220,0 duplicate(warp2bat_room) bat23 WARPNPC,1,1
+bat_room,197,211,0 duplicate(warp2bat_room) bat24 WARPNPC,1,1
// Free BG
-bat_room,225,81,0 duplicate(warp2bat_room) bat25 45,1,1
-bat_room,225,90,0 duplicate(warp2bat_room) bat26 45,1,1
+bat_room,225,81,0 duplicate(warp2bat_room) bat25 WARPNPC,1,1
+bat_room,225,90,0 duplicate(warp2bat_room) bat26 WARPNPC,1,1
// KvM bat_c02
-bat_room,225,220,0 duplicate(warp2bat_room) bat27 45,1,1
-bat_room,225,211,0 duplicate(warp2bat_room) bat28 45,1,1
+bat_room,225,220,0 duplicate(warp2bat_room) bat27 WARPNPC,1,1
+bat_room,225,211,0 duplicate(warp2bat_room) bat28 WARPNPC,1,1
// Flavius bat_b01
-bat_room,253,81,0 duplicate(warp2bat_room) bat29 45,1,1
-bat_room,253,90,0 duplicate(warp2bat_room) bat30 45,1,1
+bat_room,253,81,0 duplicate(warp2bat_room) bat29 WARPNPC,1,1
+bat_room,253,90,0 duplicate(warp2bat_room) bat30 WARPNPC,1,1
// KvM bat_c01
-bat_room,253,220,0 duplicate(warp2bat_room) bat31 45,1,1
-bat_room,253,211,0 duplicate(warp2bat_room) bat32 45,1,1
+bat_room,253,220,0 duplicate(warp2bat_room) bat31 WARPNPC,1,1
+bat_room,253,211,0 duplicate(warp2bat_room) bat32 WARPNPC,1,1
// Badges Repairman
// *********************************************************************
-bat_room,138,144,5 script Repairman#bg 99,{
+bat_room,138,144,5 script Repairman#bg 4W_M_03,{
callfunc "repairmain","Repairman";
end;
}
@@ -1226,7 +1226,7 @@ bat_room,138,144,5 script Repairman#bg 99,{
// Badges Exchange
// *********************************************************************
-bat_room,160,150,3 script Erundek 109,{
+bat_room,160,150,3 script Erundek 4_M_MANAGER,{
mes "[Erundek]";
mes "Welcome, mighty warrior.";
mes "What can I do for you today ?";
@@ -1237,7 +1237,7 @@ bat_room,160,150,3 script Erundek 109,{
mes "[Erundek]";
mes "We have many items, so please take a look and purchase deliberately.";
close2;
- Readbook 11010,1;
+ readbook 11010,1;
end;
case 5:
mes "[Erundek]";
@@ -1292,12 +1292,12 @@ bat_room,160,150,3 script Erundek 109,{
mes "If you are not sure, check the catalog.";
next;
- set .@Menu$, "";
- set .@Count, getarraysize(.@Item_DB);
- for( set .@i, 0; .@i < .@Count; set .@i, .@i + 1 )
- set .@Menu$, .@Menu$ + getitemname(.@Item_DB[.@i]) + ":";
+ set .@menu$, "";
+ set .@count, getarraysize(.@Item_DB);
+ for( set .@i, 0; .@i < .@count; set .@i, .@i + 1 )
+ set .@menu$, .@menu$ + getitemname(.@Item_DB[.@i]) + ":";
- set .@Item_ID, .@Item_DB[select(.@Menu$) - 1];
+ set .@Item_ID, .@Item_DB[select(.@menu$) - 1];
mes "[Erundek]";
mes "Would you like to exchange ^FF0000" + .@Value + " " + getitemname(.@Badge) + "^000000 for a ^0000FF" + getitemname(.@Item_ID) + "^000000?";
diff --git a/npc/custom/battleground/bg_flavius_01.txt b/npc/custom/battleground/bg_flavius_01.txt
index 4bb6fa7be..fd0cf9112 100644
--- a/npc/custom/battleground/bg_flavius_01.txt
+++ b/npc/custom/battleground/bg_flavius_01.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,86,227,4 script Registration::Fl1R_Guillaume 418,{
+bat_room,86,227,4 script Registration::Fl1R_Guillaume 4_M_KY_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnGuillaumeJoin",1;
@@ -15,7 +15,7 @@ OnEnterBG:
end;
}
-bat_room,85,204,0 script Registration::Fl1R_Croix 414,{
+bat_room,85,204,0 script Registration::Fl1R_Croix 4_M_CRU_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnCroixJoin",1;
@@ -268,7 +268,7 @@ OnReset:
// Battleground rewards
// *********************************************************************
-bat_b01,390,13,5 script Guillaume Vintenar#fl1 419,{
+bat_b01,390,13,5 script Guillaume Vintenar#fl1 4_M_KY_HEAD,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
@@ -278,20 +278,18 @@ bat_b01,390,13,5 script Guillaume Vintenar#fl1 419,{
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- set .@Reward, 9;
- }
- else
- { //
+ set .@reward, 9;
+ } else {
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
- set .@Reward, 3;
+ set .@reward, 3;
}
setquest 2070;
- getitem 7829, .@Reward;
+ getitem 7829, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -299,7 +297,7 @@ bat_b01,390,13,5 script Guillaume Vintenar#fl1 419,{
end;
}
-bat_b01,10,293,5 script Croix Vintenar#fl1 415,{
+bat_b01,10,293,5 script Croix Vintenar#fl1 4_M_CRU_HEAD,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
@@ -309,20 +307,18 @@ bat_b01,10,293,5 script Croix Vintenar#fl1 415,{
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- set .@Reward, 9;
- }
- else
- { //
+ set .@reward, 9;
+ } else {
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
- set .@Reward, 3;
+ set .@reward, 3;
}
setquest 2070;
- getitem 7829, .@Reward;
+ getitem 7829, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -333,7 +329,7 @@ bat_b01,10,293,5 script Croix Vintenar#fl1 415,{
// Battleground Therapist
// *********************************************************************
-bat_b01,390,13,5 script Therapist in battle#fl12 95,{
+bat_b01,390,13,5 script Therapist in battle#fl12 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -341,7 +337,7 @@ bat_b01,390,13,5 script Therapist in battle#fl12 95,{
close;
}
-bat_b01,10,293,5 script Therapist in battle#fl11 95,{
+bat_b01,10,293,5 script Therapist in battle#fl11 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -352,7 +348,7 @@ bat_b01,10,293,5 script Therapist in battle#fl11 95,{
// Battleground Respawn
// *********************************************************************
-bat_b01,390,10,0 script #gfl1_respawn 139,{
+bat_b01,390,10,0 script #gfl1_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -374,7 +370,7 @@ OnTimer25000:
end;
}
-bat_b01,10,290,0 script #cfl1_respawn 139,{
+bat_b01,10,290,0 script #cfl1_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -399,30 +395,30 @@ OnTimer25000:
// Flags
// *********************************************************************
-bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat1 973
-bat_b01,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat2 973
-bat_b01,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat3 973
-bat_b01,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat4 973
-bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat5 973
-bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat6 973
-bat_b01,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat7 973
-bat_b01,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat8 973
-bat_b01,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat9 973
-bat_b01,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat19 973
-bat_b01,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat20 973
-bat_b01,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat21 973
-bat_b01,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat22 973
-
-bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat1 974
-bat_b01,96,68,1 duplicate(Croix camp#bat) Croix camp#bat2 974
-bat_b01,79,81,1 duplicate(Croix camp#bat) Croix camp#bat3 974
-bat_b01,79,68,1 duplicate(Croix camp#bat) Croix camp#bat4 974
-bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat5 974
-bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat6 974
-bat_b01,59,164,1 duplicate(Croix camp#bat) Croix camp#bat7 974
-bat_b01,59,137,1 duplicate(Croix camp#bat) Croix camp#bat8 974
-bat_b01,10,296,1 duplicate(Croix camp#bat) Croix camp#bat9 974
-bat_b01,110,162,1 duplicate(Croix camp#bat) Croix camp#bat18 974
-bat_b01,110,137,1 duplicate(Croix camp#bat) Croix camp#bat19 974
-bat_b01,152,120,1 duplicate(Croix camp#bat) Croix camp#bat20 974
-bat_b01,158,114,1 duplicate(Croix camp#bat) Croix camp#bat21 974
+bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat1 1_FLAG_LION
+bat_b01,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat2 1_FLAG_LION
+bat_b01,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat3 1_FLAG_LION
+bat_b01,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat4 1_FLAG_LION
+bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat5 1_FLAG_LION
+bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat6 1_FLAG_LION
+bat_b01,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat7 1_FLAG_LION
+bat_b01,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat8 1_FLAG_LION
+bat_b01,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat9 1_FLAG_LION
+bat_b01,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat19 1_FLAG_LION
+bat_b01,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat20 1_FLAG_LION
+bat_b01,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat21 1_FLAG_LION
+bat_b01,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat22 1_FLAG_LION
+
+bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat1 1_FLAG_EAGLE
+bat_b01,96,68,1 duplicate(Croix camp#bat) Croix camp#bat2 1_FLAG_EAGLE
+bat_b01,79,81,1 duplicate(Croix camp#bat) Croix camp#bat3 1_FLAG_EAGLE
+bat_b01,79,68,1 duplicate(Croix camp#bat) Croix camp#bat4 1_FLAG_EAGLE
+bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat5 1_FLAG_EAGLE
+bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat6 1_FLAG_EAGLE
+bat_b01,59,164,1 duplicate(Croix camp#bat) Croix camp#bat7 1_FLAG_EAGLE
+bat_b01,59,137,1 duplicate(Croix camp#bat) Croix camp#bat8 1_FLAG_EAGLE
+bat_b01,10,296,1 duplicate(Croix camp#bat) Croix camp#bat9 1_FLAG_EAGLE
+bat_b01,110,162,1 duplicate(Croix camp#bat) Croix camp#bat18 1_FLAG_EAGLE
+bat_b01,110,137,1 duplicate(Croix camp#bat) Croix camp#bat19 1_FLAG_EAGLE
+bat_b01,152,120,1 duplicate(Croix camp#bat) Croix camp#bat20 1_FLAG_EAGLE
+bat_b01,158,114,1 duplicate(Croix camp#bat) Croix camp#bat21 1_FLAG_EAGLE
diff --git a/npc/custom/battleground/bg_flavius_02.txt b/npc/custom/battleground/bg_flavius_02.txt
index 4dc180d14..f7b7756f4 100644
--- a/npc/custom/battleground/bg_flavius_02.txt
+++ b/npc/custom/battleground/bg_flavius_02.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,142,227,4 script Registration::Fl2R_Guillaume 418,{
+bat_room,142,227,4 script Registration::Fl2R_Guillaume 4_M_KY_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Flavius_BG2::OnGuillaumeJoin",1;
@@ -15,7 +15,7 @@ OnEnterBG:
end;
}
-bat_room,142,204,0 script Registration::Fl2R_Croix 414,{
+bat_room,142,204,0 script Registration::Fl2R_Croix 4_M_CRU_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Flavius_BG2::OnCroixJoin",1;
@@ -268,7 +268,7 @@ OnReset:
// Battleground rewards
// *********************************************************************
-bat_b02,390,13,5 script Guillaume Vintenar#fl2 419,{
+bat_b02,390,13,5 script Guillaume Vintenar#fl2 4_M_KY_HEAD,{
if( $@FlaviusBG2_Victory )
{
if( $@FlaviusBG2_Victory == Bat_Team )
@@ -278,20 +278,18 @@ bat_b02,390,13,5 script Guillaume Vintenar#fl2 419,{
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- set .@Reward, 9;
- }
- else
- { //
+ set .@reward, 9;
+ } else {
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
- set .@Reward, 3;
+ set .@reward, 3;
}
setquest 2070;
- getitem 7829, .@Reward;
+ getitem 7829, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -299,7 +297,7 @@ bat_b02,390,13,5 script Guillaume Vintenar#fl2 419,{
end;
}
-bat_b02,10,293,5 script Croix Vintenar#fl2 415,{
+bat_b02,10,293,5 script Croix Vintenar#fl2 4_M_CRU_HEAD,{
if( $@FlaviusBG2_Victory )
{
if( $@FlaviusBG2_Victory == Bat_Team )
@@ -309,20 +307,18 @@ bat_b02,10,293,5 script Croix Vintenar#fl2 415,{
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- set .@Reward, 9;
- }
- else
- { //
+ set .@reward, 9;
+ } else {
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
- set .@Reward, 3;
+ set .@reward, 3;
}
setquest 2070;
- getitem 7829, .@Reward;
+ getitem 7829, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -333,7 +329,7 @@ bat_b02,10,293,5 script Croix Vintenar#fl2 415,{
// Battleground Therapist
// *********************************************************************
-bat_b02,390,13,5 script Therapist in battle#fl22 95,{
+bat_b02,390,13,5 script Therapist in battle#fl22 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -341,7 +337,7 @@ bat_b02,390,13,5 script Therapist in battle#fl22 95,{
close;
}
-bat_b02,10,293,5 script Therapist in battle#fl21 95,{
+bat_b02,10,293,5 script Therapist in battle#fl21 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -352,7 +348,7 @@ bat_b02,10,293,5 script Therapist in battle#fl21 95,{
// Battleground Respawn
// *********************************************************************
-bat_b02,390,10,0 script #gfl2_respawn 139,{
+bat_b02,390,10,0 script #gfl2_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -374,7 +370,7 @@ OnTimer25000:
end;
}
-bat_b02,10,290,0 script #cfl2_respawn 139,{
+bat_b02,10,290,0 script #cfl2_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -399,30 +395,30 @@ OnTimer25000:
// Flags
// *********************************************************************
-bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat32 973
-bat_b02,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat33 973
-bat_b02,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat34 973
-bat_b02,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat35 973
-bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat36 973
-bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat37 973
-bat_b02,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat38 973
-bat_b02,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat39 973
-bat_b02,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat40 973
-bat_b02,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat41 973
-bat_b02,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat42 973
-bat_b02,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat43 973
-bat_b02,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat44 973
-
-bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat30 974
-bat_b02,96,68,1 duplicate(Croix camp#bat) Croix camp#bat31 974
-bat_b02,79,81,1 duplicate(Croix camp#bat) Croix camp#bat32 974
-bat_b02,79,68,1 duplicate(Croix camp#bat) Croix camp#bat33 974
-bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat34 974
-bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat35 974
-bat_b02,59,164,1 duplicate(Croix camp#bat) Croix camp#bat36 974
-bat_b02,59,137,1 duplicate(Croix camp#bat) Croix camp#bat37 974
-bat_b02,10,296,1 duplicate(Croix camp#bat) Croix camp#bat38 974
-bat_b02,110,162,1 duplicate(Croix camp#bat) Croix camp#bat39 974
-bat_b02,110,137,1 duplicate(Croix camp#bat) Croix camp#bat40 974
-bat_b02,152,120,1 duplicate(Croix camp#bat) Croix camp#bat41 974
-bat_b02,158,114,1 duplicate(Croix camp#bat) Croix camp#bat42 974
+bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat32 1_FLAG_LION
+bat_b02,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat33 1_FLAG_LION
+bat_b02,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat34 1_FLAG_LION
+bat_b02,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat35 1_FLAG_LION
+bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat36 1_FLAG_LION
+bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat37 1_FLAG_LION
+bat_b02,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat38 1_FLAG_LION
+bat_b02,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat39 1_FLAG_LION
+bat_b02,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat40 1_FLAG_LION
+bat_b02,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat41 1_FLAG_LION
+bat_b02,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat42 1_FLAG_LION
+bat_b02,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat43 1_FLAG_LION
+bat_b02,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat44 1_FLAG_LION
+
+bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat30 1_FLAG_EAGLE
+bat_b02,96,68,1 duplicate(Croix camp#bat) Croix camp#bat31 1_FLAG_EAGLE
+bat_b02,79,81,1 duplicate(Croix camp#bat) Croix camp#bat32 1_FLAG_EAGLE
+bat_b02,79,68,1 duplicate(Croix camp#bat) Croix camp#bat33 1_FLAG_EAGLE
+bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat34 1_FLAG_EAGLE
+bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat35 1_FLAG_EAGLE
+bat_b02,59,164,1 duplicate(Croix camp#bat) Croix camp#bat36 1_FLAG_EAGLE
+bat_b02,59,137,1 duplicate(Croix camp#bat) Croix camp#bat37 1_FLAG_EAGLE
+bat_b02,10,296,1 duplicate(Croix camp#bat) Croix camp#bat38 1_FLAG_EAGLE
+bat_b02,110,162,1 duplicate(Croix camp#bat) Croix camp#bat39 1_FLAG_EAGLE
+bat_b02,110,137,1 duplicate(Croix camp#bat) Croix camp#bat40 1_FLAG_EAGLE
+bat_b02,152,120,1 duplicate(Croix camp#bat) Croix camp#bat41 1_FLAG_EAGLE
+bat_b02,158,114,1 duplicate(Croix camp#bat) Croix camp#bat42 1_FLAG_EAGLE
diff --git a/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt
index 36c758f37..aa12759b9 100644
--- a/npc/custom/battleground/bg_kvm01.txt
+++ b/npc/custom/battleground/bg_kvm01.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,253,227,4 script Registration::KvM01R_Guillaume 418,{ // KvM Guillaume
+bat_room,253,227,4 script Registration::KvM01R_Guillaume 4_M_KY_KNT,{ // KvM Guillaume
end;
OnInit:
@@ -17,7 +17,7 @@ OnEnterBG:
end;
}
-bat_room,253,204,0 script Registration::KvM01R_Croix 414,{ // KvM Croix
+bat_room,253,204,0 script Registration::KvM01R_Croix 4_M_CRU_KNT,{ // KvM Croix
end;
OnInit:
@@ -32,7 +32,7 @@ OnEnterBG:
// Light Effects
// *********************************************************************
-bat_c01,54,123,0 script #bat_c01a 111,{
+bat_c01,54,123,0 script #bat_c01a HIDDEN_NPC,{
end;
OnKvM01LightA: misceffect 54; end;
@@ -40,11 +40,11 @@ OnKvM01LightB: misceffect 55; end;
OnKvM01LightC: misceffect 56; end;
}
-bat_c01,56,125,0 duplicate(#bat_c01a) #bat_c01b 111
-bat_c01,58,127,0 duplicate(#bat_c01a) #bat_c01c 111
-bat_c01,141,56,0 duplicate(#bat_c01a) #bat_c01d 111
-bat_c01,143,58,0 duplicate(#bat_c01a) #bat_c01e 111
-bat_c01,145,60,0 duplicate(#bat_c01a) #bat_c01f 111
+bat_c01,56,125,0 duplicate(#bat_c01a) #bat_c01b HIDDEN_NPC
+bat_c01,58,127,0 duplicate(#bat_c01a) #bat_c01c HIDDEN_NPC
+bat_c01,141,56,0 duplicate(#bat_c01a) #bat_c01d HIDDEN_NPC
+bat_c01,143,58,0 duplicate(#bat_c01a) #bat_c01e HIDDEN_NPC
+bat_c01,145,60,0 duplicate(#bat_c01a) #bat_c01f HIDDEN_NPC
// Battleground Engine
// *********************************************************************
@@ -282,7 +282,7 @@ OnTimer60000:
// Battleground Therapist
// *********************************************************************
-bat_c01,51,130,5 script Therapist in battle::TherapistKvM01a 95,{
+bat_c01,51,130,5 script Therapist in battle::TherapistKvM01a 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -290,7 +290,7 @@ bat_c01,51,130,5 script Therapist in battle::TherapistKvM01a 95,{
close;
}
-bat_c01,148,53,1 script Therapist in battle::TherapistKvM01b 95,{
+bat_c01,148,53,1 script Therapist in battle::TherapistKvM01b 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -301,7 +301,7 @@ bat_c01,148,53,1 script Therapist in battle::TherapistKvM01b 95,{
// Battleground rewards
// *********************************************************************
-bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 419,{
+bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 4_M_KY_HEAD,{
if( $@KvM01BG_Victory )
{
if( $@KvM01BG_Victory == 3 )
@@ -313,16 +313,14 @@ bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 419,{
}
else if( $@KvM01BG_Victory == Bat_Team )
{ // Victory
- set .@Reward, 5;
+ set .@reward, 5;
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
@@ -331,7 +329,7 @@ bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 419,{
}
setquest 6025;
- getitem 7773, .@Reward;
+ getitem 7773, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -339,7 +337,7 @@ bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 419,{
end;
}
-bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 415,{
+bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 4_M_CRU_HEAD,{
if( $@KvM01BG_Victory )
{
if( $@KvM01BG_Victory == 3 )
@@ -351,16 +349,14 @@ bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 415,{
}
else if( $@KvM01BG_Victory == Bat_Team )
{ // Victory
- set .@Reward, 5;
+ set .@reward, 5;
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
@@ -369,7 +365,7 @@ bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 415,{
}
setquest 6025;
- getitem 7773, .@Reward;
+ getitem 7773, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt
index 5bfbba328..f2f5f7ca1 100644
--- a/npc/custom/battleground/bg_kvm02.txt
+++ b/npc/custom/battleground/bg_kvm02.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,225,227,4 script Registration::KvM02R_Guillaume 418,{ // KvM Guillaume
+bat_room,225,227,4 script Registration::KvM02R_Guillaume 4_M_KY_KNT,{ // KvM Guillaume
end;
OnInit:
@@ -17,7 +17,7 @@ OnEnterBG:
end;
}
-bat_room,225,204,0 script Registration::KvM02R_Croix 414,{ // KvM Croix
+bat_room,225,204,0 script Registration::KvM02R_Croix 4_M_CRU_KNT,{ // KvM Croix
end;
OnInit:
@@ -32,7 +32,7 @@ OnEnterBG:
// Light Effects
// *********************************************************************
-bat_c02,54,123,0 script #bat_c02a 111,{
+bat_c02,54,123,0 script #bat_c02a HIDDEN_NPC,{
end;
OnKvM02LightA: misceffect 54; end;
@@ -40,11 +40,11 @@ OnKvM02LightB: misceffect 55; end;
OnKvM02LightC: misceffect 56; end;
}
-bat_c02,56,125,0 duplicate(#bat_c02a) #bat_c02b 111
-bat_c02,58,127,0 duplicate(#bat_c02a) #bat_c02c 111
-bat_c02,141,56,0 duplicate(#bat_c02a) #bat_c02d 111
-bat_c02,143,58,0 duplicate(#bat_c02a) #bat_c02e 111
-bat_c02,145,60,0 duplicate(#bat_c02a) #bat_c02f 111
+bat_c02,56,125,0 duplicate(#bat_c02a) #bat_c02b HIDDEN_NPC
+bat_c02,58,127,0 duplicate(#bat_c02a) #bat_c02c HIDDEN_NPC
+bat_c02,141,56,0 duplicate(#bat_c02a) #bat_c02d HIDDEN_NPC
+bat_c02,143,58,0 duplicate(#bat_c02a) #bat_c02e HIDDEN_NPC
+bat_c02,145,60,0 duplicate(#bat_c02a) #bat_c02f HIDDEN_NPC
// Battleground Engine
// *********************************************************************
@@ -282,7 +282,7 @@ OnTimer60000:
// Battleground Therapist
// *********************************************************************
-bat_c02,51,130,5 script Therapist in battle::TherapistKvM02a 95,{
+bat_c02,51,130,5 script Therapist in battle::TherapistKvM02a 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -290,7 +290,7 @@ bat_c02,51,130,5 script Therapist in battle::TherapistKvM02a 95,{
close;
}
-bat_c02,148,53,1 script Therapist in battle::TherapistKvM02b 95,{
+bat_c02,148,53,1 script Therapist in battle::TherapistKvM02b 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -301,7 +301,7 @@ bat_c02,148,53,1 script Therapist in battle::TherapistKvM02b 95,{
// Battleground rewards
// *********************************************************************
-bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 419,{
+bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 4_M_KY_HEAD,{
if( $@KvM02BG_Victory )
{
if( $@KvM02BG_Victory == 3 )
@@ -313,16 +313,14 @@ bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 419,{
}
else if( $@KvM02BG_Victory == Bat_Team )
{ // Victory
- set .@Reward, 3;
+ set .@reward, 3;
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
@@ -331,7 +329,7 @@ bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 419,{
}
setquest 6025;
- getitem 7773, .@Reward;
+ getitem 7773, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -339,7 +337,7 @@ bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 419,{
end;
}
-bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 415,{
+bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 4_M_CRU_HEAD,{
if( $@KvM02BG_Victory )
{
if( $@KvM02BG_Victory == 3 )
@@ -351,16 +349,14 @@ bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 415,{
}
else if( $@KvM02BG_Victory == Bat_Team )
{ // Victory
- set .@Reward, 3;
+ set .@reward, 3;
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
@@ -369,7 +365,7 @@ bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 415,{
}
setquest 6025;
- getitem 7773, .@Reward;
+ getitem 7773, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt
index 6efa99e4c..f38e81bd1 100644
--- a/npc/custom/battleground/bg_kvm03.txt
+++ b/npc/custom/battleground/bg_kvm03.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,197,227,4 script Registration::KvM03R_Guillaume 418,{ // KvM Guillaume
+bat_room,197,227,4 script Registration::KvM03R_Guillaume 4_M_KY_KNT,{ // KvM Guillaume
end;
OnInit:
@@ -17,7 +17,7 @@ OnEnterBG:
end;
}
-bat_room,197,204,0 script Registration::KvM03R_Croix 414,{ // KvM Croix
+bat_room,197,204,0 script Registration::KvM03R_Croix 4_M_CRU_KNT,{ // KvM Croix
end;
OnInit:
@@ -32,7 +32,7 @@ OnEnterBG:
// Light Effects
// *********************************************************************
-bat_c03,54,123,0 script #bat_c03a 111,{
+bat_c03,54,123,0 script #bat_c03a HIDDEN_NPC,{
end;
OnKvM03LightA: misceffect 54; end;
@@ -40,11 +40,11 @@ OnKvM03LightB: misceffect 55; end;
OnKvM03LightC: misceffect 56; end;
}
-bat_c03,56,125,0 duplicate(#bat_c03a) #bat_c03b 111
-bat_c03,58,127,0 duplicate(#bat_c03a) #bat_c03c 111
-bat_c03,141,56,0 duplicate(#bat_c03a) #bat_c03d 111
-bat_c03,143,58,0 duplicate(#bat_c03a) #bat_c03e 111
-bat_c03,145,60,0 duplicate(#bat_c03a) #bat_c03f 111
+bat_c03,56,125,0 duplicate(#bat_c03a) #bat_c03b HIDDEN_NPC
+bat_c03,58,127,0 duplicate(#bat_c03a) #bat_c03c HIDDEN_NPC
+bat_c03,141,56,0 duplicate(#bat_c03a) #bat_c03d HIDDEN_NPC
+bat_c03,143,58,0 duplicate(#bat_c03a) #bat_c03e HIDDEN_NPC
+bat_c03,145,60,0 duplicate(#bat_c03a) #bat_c03f HIDDEN_NPC
// Battleground Engine
// *********************************************************************
@@ -282,7 +282,7 @@ OnTimer60000:
// Battleground Therapist
// *********************************************************************
-bat_c03,51,130,5 script Therapist in battle::TherapistKvM03a 95,{
+bat_c03,51,130,5 script Therapist in battle::TherapistKvM03a 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -290,7 +290,7 @@ bat_c03,51,130,5 script Therapist in battle::TherapistKvM03a 95,{
close;
}
-bat_c03,148,53,1 script Therapist in battle::TherapistKvM03b 95,{
+bat_c03,148,53,1 script Therapist in battle::TherapistKvM03b 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -301,7 +301,7 @@ bat_c03,148,53,1 script Therapist in battle::TherapistKvM03b 95,{
// Battleground rewards
// *********************************************************************
-bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 419,{
+bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 4_M_KY_HEAD,{
if( $@KvM03BG_Victory )
{
if( $@KvM03BG_Victory == 3 )
@@ -313,16 +313,14 @@ bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 419,{
}
else if( $@KvM03BG_Victory == Bat_Team )
{ // Victory
- set .@Reward, 1;
+ set .@reward, 1;
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 0;
+ } else {
+ set .@reward, 0;
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
@@ -331,7 +329,7 @@ bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 419,{
}
setquest 6025;
- getitem 7773, .@Reward;
+ getitem 7773, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -339,7 +337,7 @@ bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 419,{
end;
}
-bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 415,{
+bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 4_M_CRU_HEAD,{
if( $@KvM03BG_Victory )
{
if( $@KvM03BG_Victory == 3 )
@@ -351,16 +349,14 @@ bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 415,{
}
else if( $@KvM03BG_Victory == Bat_Team )
{ // Victory
- set .@Reward, 1;
+ set .@reward, 1;
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 0;
+ } else {
+ set .@reward, 0;
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
@@ -369,7 +365,7 @@ bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 415,{
}
setquest 6025;
- getitem 7773, .@Reward;
+ getitem 7773, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
diff --git a/npc/custom/battleground/bg_tierra_01.txt b/npc/custom/battleground/bg_tierra_01.txt
index 4c65d0462..671c2d929 100644
--- a/npc/custom/battleground/bg_tierra_01.txt
+++ b/npc/custom/battleground/bg_tierra_01.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,58,227,4 script Registration::TV1R_Guillaume 418,{
+bat_room,58,227,4 script Registration::TV1R_Guillaume 4_M_KY_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Tierra_BG1::OnGuillaumeJoin",1;
@@ -15,7 +15,7 @@ OnEnterBG:
end;
}
-bat_room,58,204,0 script Registration::TV1R_Croix 414,{
+bat_room,58,204,0 script Registration::TV1R_Croix 4_M_CRU_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Tierra_BG1::OnCroixJoin",1;
@@ -241,23 +241,23 @@ OnReset:
// Other Flags
// *********************************************************************
-bat_a01,148,85,1 duplicate(Croix camp#bat) Croix camp#bat10 974
-bat_a01,155,85,1 duplicate(Croix camp#bat) Croix camp#bat11 974
-bat_a01,357,75,1 duplicate(Croix camp#bat) Croix camp#bat12 974
-bat_a01,348,74,1 duplicate(Croix camp#bat) Croix camp#bat13 974
-bat_a01,199,49,1 duplicate(Croix camp#bat) Croix camp#bat14 974
-bat_a01,168,16,1 duplicate(Croix camp#bat) Croix camp#bat15 974
-bat_a01,138,12,1 duplicate(Croix camp#bat) Croix camp#bat16 974
-bat_a01,108,35,1 duplicate(Croix camp#bat) Croix camp#bat17 974
-bat_a01,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat10 973
-bat_a01,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat11 973
-bat_a01,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat12 973
-bat_a01,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat13 973
-bat_a01,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat14 973
-bat_a01,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat15 973
-bat_a01,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat16 973
-bat_a01,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat17 973
-bat_a01,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat18 973
+bat_a01,148,85,1 duplicate(Croix camp#bat) Croix camp#bat10 1_FLAG_EAGLE
+bat_a01,155,85,1 duplicate(Croix camp#bat) Croix camp#bat11 1_FLAG_EAGLE
+bat_a01,357,75,1 duplicate(Croix camp#bat) Croix camp#bat12 1_FLAG_EAGLE
+bat_a01,348,74,1 duplicate(Croix camp#bat) Croix camp#bat13 1_FLAG_EAGLE
+bat_a01,199,49,1 duplicate(Croix camp#bat) Croix camp#bat14 1_FLAG_EAGLE
+bat_a01,168,16,1 duplicate(Croix camp#bat) Croix camp#bat15 1_FLAG_EAGLE
+bat_a01,138,12,1 duplicate(Croix camp#bat) Croix camp#bat16 1_FLAG_EAGLE
+bat_a01,108,35,1 duplicate(Croix camp#bat) Croix camp#bat17 1_FLAG_EAGLE
+bat_a01,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat10 1_FLAG_LION
+bat_a01,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat11 1_FLAG_LION
+bat_a01,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat12 1_FLAG_LION
+bat_a01,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat13 1_FLAG_LION
+bat_a01,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat14 1_FLAG_LION
+bat_a01,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat15 1_FLAG_LION
+bat_a01,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat16 1_FLAG_LION
+bat_a01,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat17 1_FLAG_LION
+bat_a01,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat18 1_FLAG_LION
// Barricades
// *********************************************************************
@@ -317,21 +317,19 @@ OnWall:
// Battleground rewards
// *********************************************************************
-bat_a01,45,19,3 script Croix Vintenar#tv1 415,{
+bat_a01,45,19,3 script Croix Vintenar#tv1 4_M_CRU_HEAD,{
if( $@TierraBG1_Victory )
{
if( $@TierraBG1_Victory == Bat_Team )
{ // Victory
- set .@Reward, 3;
+ set .@reward, 3;
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
@@ -340,7 +338,7 @@ bat_a01,45,19,3 script Croix Vintenar#tv1 415,{
}
setquest 2069;
- getitem 7828, .@Reward;
+ getitem 7828, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -348,21 +346,19 @@ bat_a01,45,19,3 script Croix Vintenar#tv1 415,{
end;
}
-bat_a01,53,377,3 script Guillaume Vintenar#tv1 419,{
+bat_a01,53,377,3 script Guillaume Vintenar#tv1 4_M_KY_HEAD,{
if( $@TierraBG1_Victory )
{
if( $@TierraBG1_Victory == Bat_Team )
{ // Victory
- set .@Reward, 3;
+ set .@reward, 3;
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
@@ -371,7 +367,7 @@ bat_a01,53,377,3 script Guillaume Vintenar#tv1 419,{
}
setquest 2069;
- getitem 7828, .@Reward;
+ getitem 7828, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -382,14 +378,14 @@ bat_a01,53,377,3 script Guillaume Vintenar#tv1 419,{
// Battleground Therapist
// *********************************************************************
-bat_a01,60,216,3 script Ghost#tv13 950,{
+bat_a01,60,216,3 script Ghost#tv13 4_GHOSTRING,{
mes "[Ghost in valley]";
mes "Boo...Boo...";
specialeffect2 312;
close;
}
-bat_a01,53,377,3 script Therapist in battle#tv12 95,{
+bat_a01,53,377,3 script Therapist in battle#tv12 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -397,7 +393,7 @@ bat_a01,53,377,3 script Therapist in battle#tv12 95,{
close;
}
-bat_a01,45,18,3 script Therapist in battle#tv11 95,{
+bat_a01,45,18,3 script Therapist in battle#tv11 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -408,7 +404,7 @@ bat_a01,45,18,3 script Therapist in battle#tv11 95,{
// Battleground Respawn
// *********************************************************************
-bat_a01,57,213,0 script #ntv1_respawn 139,{
+bat_a01,57,213,0 script #ntv1_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -430,7 +426,7 @@ OnTimer20000:
end;
}
-bat_a01,50,374,0 script #gtv1_respawn 139,{
+bat_a01,50,374,0 script #gtv1_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -452,7 +448,7 @@ OnTimer25000:
end;
}
-bat_a01,42,16,0 script #ctv1_respawn 139,{
+bat_a01,42,16,0 script #ctv1_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
diff --git a/npc/custom/battleground/bg_tierra_02.txt b/npc/custom/battleground/bg_tierra_02.txt
index 7f72cdb3d..c6cebf581 100644
--- a/npc/custom/battleground/bg_tierra_02.txt
+++ b/npc/custom/battleground/bg_tierra_02.txt
@@ -5,7 +5,7 @@
// Registration NPC's
// *********************************************************************
-bat_room,114,227,4 script Registration::TV2R_Guillaume 418,{
+bat_room,114,227,4 script Registration::TV2R_Guillaume 4_M_KY_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Tierra_BG2::OnGuillaumeJoin",1;
@@ -15,7 +15,7 @@ OnEnterBG:
end;
}
-bat_room,114,204,0 script Registration::TV2R_Croix 414,{
+bat_room,114,204,0 script Registration::TV2R_Croix 4_M_CRU_KNT,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Tierra_BG2::OnCroixJoin",1;
@@ -241,23 +241,23 @@ OnReset:
// Other Flags
// *********************************************************************
-bat_a02,148,85,1 duplicate(Croix camp#bat) Croix camp#bat22 974
-bat_a02,155,85,1 duplicate(Croix camp#bat) Croix camp#bat23 974
-bat_a02,357,75,1 duplicate(Croix camp#bat) Croix camp#bat24 974
-bat_a02,348,74,1 duplicate(Croix camp#bat) Croix camp#bat25 974
-bat_a02,199,49,1 duplicate(Croix camp#bat) Croix camp#bat26 974
-bat_a02,168,16,1 duplicate(Croix camp#bat) Croix camp#bat27 974
-bat_a02,138,12,1 duplicate(Croix camp#bat) Croix camp#bat28 974
-bat_a02,108,35,1 duplicate(Croix camp#bat) Croix camp#bat29 974
-bat_a02,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat23 973
-bat_a02,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat24 973
-bat_a02,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat25 973
-bat_a02,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat26 973
-bat_a02,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat27 973
-bat_a02,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat28 973
-bat_a02,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat29 973
-bat_a02,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat30 973
-bat_a02,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat31 973
+bat_a02,148,85,1 duplicate(Croix camp#bat) Croix camp#bat22 1_FLAG_EAGLE
+bat_a02,155,85,1 duplicate(Croix camp#bat) Croix camp#bat23 1_FLAG_EAGLE
+bat_a02,357,75,1 duplicate(Croix camp#bat) Croix camp#bat24 1_FLAG_EAGLE
+bat_a02,348,74,1 duplicate(Croix camp#bat) Croix camp#bat25 1_FLAG_EAGLE
+bat_a02,199,49,1 duplicate(Croix camp#bat) Croix camp#bat26 1_FLAG_EAGLE
+bat_a02,168,16,1 duplicate(Croix camp#bat) Croix camp#bat27 1_FLAG_EAGLE
+bat_a02,138,12,1 duplicate(Croix camp#bat) Croix camp#bat28 1_FLAG_EAGLE
+bat_a02,108,35,1 duplicate(Croix camp#bat) Croix camp#bat29 1_FLAG_EAGLE
+bat_a02,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat23 1_FLAG_LION
+bat_a02,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat24 1_FLAG_LION
+bat_a02,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat25 1_FLAG_LION
+bat_a02,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat26 1_FLAG_LION
+bat_a02,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat27 1_FLAG_LION
+bat_a02,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat28 1_FLAG_LION
+bat_a02,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat29 1_FLAG_LION
+bat_a02,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat30 1_FLAG_LION
+bat_a02,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat31 1_FLAG_LION
// Barricades
// *********************************************************************
@@ -317,21 +317,19 @@ OnWall:
// Battleground rewards
// *********************************************************************
-bat_a02,45,19,3 script Croix Vintenar#tv2 415,{
+bat_a02,45,19,3 script Croix Vintenar#tv2 4_M_CRU_HEAD,{
if( $@TierraBG2_Victory )
{
if( $@TierraBG2_Victory == Bat_Team )
{ // Victory
- set .@Reward, 3;
+ set .@reward, 3;
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
@@ -340,7 +338,7 @@ bat_a02,45,19,3 script Croix Vintenar#tv2 415,{
}
setquest 2069;
- getitem 7828, .@Reward;
+ getitem 7828, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -348,21 +346,19 @@ bat_a02,45,19,3 script Croix Vintenar#tv2 415,{
end;
}
-bat_a02,53,377,3 script Guillaume Vintenar#tv2 419,{
+bat_a02,53,377,3 script Guillaume Vintenar#tv2 4_M_KY_HEAD,{
if( $@TierraBG2_Victory )
{
if( $@TierraBG2_Victory == Bat_Team )
{ // Victory
- set .@Reward, 3;
+ set .@reward, 3;
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
- }
- else
- { //
- set .@Reward, 1;
+ } else {
+ set .@reward, 1;
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
@@ -371,7 +367,7 @@ bat_a02,53,377,3 script Guillaume Vintenar#tv2 419,{
}
setquest 2069;
- getitem 7828, .@Reward;
+ getitem 7828, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -382,14 +378,14 @@ bat_a02,53,377,3 script Guillaume Vintenar#tv2 419,{
// Battleground Therapist
// *********************************************************************
-bat_a02,60,216,3 script Ghost#tv23 950,{
+bat_a02,60,216,3 script Ghost#tv23 4_GHOSTRING,{
mes "[Ghost in valley]";
mes "Boo...Boo...";
specialeffect2 312;
close;
}
-bat_a02,53,377,3 script Therapist in battle#tv22 95,{
+bat_a02,53,377,3 script Therapist in battle#tv22 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -397,7 +393,7 @@ bat_a02,53,377,3 script Therapist in battle#tv22 95,{
close;
}
-bat_a02,45,18,3 script Therapist in battle#tv21 95,{
+bat_a02,45,18,3 script Therapist in battle#tv21 4_F_SISTER,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
@@ -408,7 +404,7 @@ bat_a02,45,18,3 script Therapist in battle#tv21 95,{
// Battleground Respawn
// *********************************************************************
-bat_a02,57,213,0 script #ntv2_respawn 139,{
+bat_a02,57,213,0 script #ntv2_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -430,7 +426,7 @@ OnTimer20000:
end;
}
-bat_a02,50,374,0 script #gtv2_respawn 139,{
+bat_a02,50,374,0 script #gtv2_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
@@ -452,7 +448,7 @@ OnTimer25000:
end;
}
-bat_a02,42,16,0 script #ctv2_respawn 139,{
+bat_a02,42,16,0 script #ctv2_respawn HIDDEN_WARP_NPC,{
end;
OnBGStart:
diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt
new file mode 100644
index 000000000..36e02e86d
--- /dev/null
+++ b/npc/custom/bgqueue/flavius.txt
@@ -0,0 +1,780 @@
+//===== Hercules Script ======================================
+// BattleGround System - Flavius
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.5b
+//===== Description: =========================================
+//= [AEGIS Conversion]
+//= Flavius Battleground.
+//= - Winning Team: 9 badges
+//= - Losing Team: 3 badge
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Fixed pink crystal spawning as blue. [L0ne_W0lf]
+//= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
+//= 1.3 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell.
+//= 1.4 Attempt at implementing BG Queue [Ind/Hercules]
+//= 1.5 Attempt at implementing BG Queue team-algorithm [jaBote]
+//= 1.5b Adjustments to the team-splitting algorithm [Haruna]
+//============================================================
+
+
+//Tacham, while the script is under testings the original will remain, meaning if you wanna test this you need to disable the other, or they'll conflict.
+bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{
+OnInit:
+ mapwarp "bat_b01","bat_room",154,150;
+ end;
+
+//$@bg_queue_id is cleared after this event ends
+OnPlayerListReady:
+
+ set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290);
+ set $@FlaviusBG1_id2, bg_create_team("bat_b01",390,10);
+
+ set $@Croix_QueueBG1, queue();
+ set $@Guill_QueueBG1, queue();
+
+ queueopt($@Guill_QueueBG1,HQO_OnLogout,"start#bat_b01::OnGuillaumeQuit");
+ queueopt($@Croix_QueueBG1,HQO_OnLogout,"start#bat_b01::OnCroixQuit");
+
+ set .@i, 0;
+
+ copyarray .@bg_member[0],$@bg_member[0],$@bg_member_size;
+ copyarray .@bg_member_group[0],$@bg_member_group[0],$@bg_member_size;
+ copyarray .@bg_member_type[0],$@bg_member_type[0],$@bg_member_size;
+
+ freeloop(1);
+ // Counting all participants and determining sizes, condensing .@bg_member_group
+ set .@nogroupcount, 0;
+ for (set .@i, 0; .@i < getarraysize(.@bg_member); set .@i, .@i + 1) {
+ if (.@bg_member_group[.@i] == 0) { // Just count them
+ set .@nogroupcount, .@nogroupcount + 1;
+ continue;
+ }
+ // check if .@bg_member_group and .@bg_member_type already exists on these groups.
+ for (set .@j, 0; .@j < getarraysize(.@bg_groups); set .@j, .@j + 1) { // <= since it has to start working even if the array is still blank
+ if ( (.@bg_member_group[.@i] == .@bg_groups[.@j]) && (.@bg_member_type[.@i] == .@bg_types[.@j]) ) {
+ set .@bg_count[.@j], .@bg_count[.@j] + 1;
+ break;
+ }
+ // Else keep running the loop until we find there's a group already made or make a new one
+ }
+ if (.@j == (getarraysize(.@bg_groups)) ) { // It isn't there, insert a new entry at j
+ set .@bg_groups[.@j], .@bg_member_group[.@i];
+ set .@bg_types[.@j], .@bg_member_type[.@i];
+ set .@bg_count[.@j], 1;
+ }
+ }
+
+ // Now, sorting the group arrays from amount of population descending! Bubble sort powers, I call upon thee!
+ // Type doesn't matter here for precedence checks, but also needs to be sorted the same way along with groups
+ for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1) {
+ for (set .@j, 0; .@j < (getarraysize(.@bg_groups) - .@i); set .@j, .@j + 1) {
+ if (.@bg_count[.@j] < .@bg_count[.@j+1]){
+ set .@temp1, .@bg_groups[.@j];
+ set .@temp2, .@bg_types[.@j];
+ set .@temp3, .@bg_count[.@j];
+ set .@bg_groups[.@j], .@bg_groups[.@j+1];
+ set .@bg_types[.@j], .@bg_types[.@j+1];
+ set .@bg_count[.@j], .@bg_count[.@j+1];
+ set .@bg_groups[.@j+1], .@temp1;
+ set .@bg_types[.@j+1], .@temp2;
+ set .@bg_count[.@j+1], .@temp3;
+ }
+ }
+ }
+
+ // Add the groups to the queues! :D
+ for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1){
+ if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)){ // Catch'em all and add to the queue!
+ for (set .@j, 0; .@j < getarraysize(.@bg_member); set .@j, .@j + 1) {
+ if ( (.@bg_groups[.@i] == .@bg_member_group[.@j]) && (.@bg_types[.@i] == .@bg_member_type[.@j]) ) {
+ bg_join_team($@FlaviusBG1_id1,.@bg_member[.@j]);
+ queueadd($@Croix_QueueBG1, .@bg_member[.@j]);
+ }
+ }
+ }
+ else {
+ for (set .@j, 0; .@j < getarraysize(.@bg_member); set .@j, .@j + 1) {
+ if ( (.@bg_groups[.@i] == .@bg_member_group[.@j]) && (.@bg_types[.@i] == .@bg_member_type[.@j]) ) {
+ bg_join_team($@FlaviusBG1_id2,.@bg_member[.@j]);
+ queueadd($@Guill_QueueBG1, .@bg_member[.@j]);
+ }
+ }
+ }
+ }
+ // Don't forget the people that go on their own!
+ for (set .@i, 0; .@i <= getarraysize(.@bg_member); set .@i, .@i+1) {
+ if (.@bg_member_group[.@i] == 0) { // Get alone people only
+ if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)) {
+ bg_join_team($@FlaviusBG1_id1,.@bg_member[.@i]);
+ queueadd($@Croix_QueueBG1, .@bg_member[.@i]);
+ }
+ else {
+ bg_join_team($@FlaviusBG1_id2,.@bg_member[.@i]);
+ queueadd($@Guill_QueueBG1, .@bg_member[.@i]);
+ }
+ }
+ }
+ freeloop(0);
+
+ set $@FlaviusBG1, 1;
+ set $@FlaviusBG1_Victory, 0;
+ set $@Croix_ScoreBG1, 0;
+ set $@Guill_ScoreBG1, 0;
+
+ bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
+
+ donpcevent "OBJ#bat_b01_a::OnKill";
+ donpcevent "OBJ#bat_b01_a::OnEnable";
+ donpcevent "OBJ#bat_b01_b::OnKill";
+ donpcevent "OBJ#bat_b01_b::OnEnable";
+ donpcevent "guardian#bat_b01_a::OnKill";
+ donpcevent "guardian#bat_b01_b::OnKill";
+ donpcevent "guardian#bat_b01_a::OnEnable";
+ donpcevent "guardian#bat_b01_b::OnEnable";
+ donpcevent "cell#bat_b01_a::OnRed";
+ donpcevent "cell#bat_b01_b::OnRed";
+ donpcevent "time#bat_b01::OnEnable";
+ disablenpc "Guillaume Vintenar#b01_a";
+ disablenpc "Croix Vintenar#b01_b";
+ disablenpc "Vintenar#bat_b01_aover";
+ disablenpc "Vintenar#bat_b01_bover";
+ bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
+ bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
+
+ /* after warp */
+ queueopt($@Guill_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnGuillaumeQuit");
+ queueopt($@Croix_QueueBG1,HQO_OnMapChange,"start#bat_b01::OnCroixQuit");
+
+ donpcevent "countdown#bat_b01::OnEnable";
+ end;
+
+OnReset:
+ donpcevent "OBJ#bat_b01_a::OnKill";
+ donpcevent "OBJ#bat_b01_a::OnEnable";
+ donpcevent "OBJ#bat_b01_b::OnKill";
+ donpcevent "OBJ#bat_b01_b::OnEnable";
+ donpcevent "guardian#bat_b01_a::OnKill";
+ donpcevent "guardian#bat_b01_b::OnKill";
+ donpcevent "guardian#bat_b01_a::OnEnable";
+ donpcevent "guardian#bat_b01_b::OnEnable";
+ donpcevent "cell#bat_b01_a::OnRed";
+ donpcevent "cell#bat_b01_b::OnRed";
+ donpcevent "time#bat_b01::OnEnable";
+ disablenpc "Guillaume Vintenar#b01_a";
+ disablenpc "Croix Vintenar#b01_b";
+ disablenpc "Vintenar#bat_b01_aover";
+ disablenpc "Vintenar#bat_b01_bover";
+ bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
+ bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
+ end;
+
+OnCroixQuit:
+ queueremove($@Croix_QueueBG1,getcharid(3));
+ callsub L_OnPlayerQuit;
+ end;
+
+OnGuillaumeQuit:
+ queueremove($@Guill_QueueBG1,getcharid(3));
+ callsub L_OnPlayerQuit;
+ end;
+
+L_OnPlayerQuit:
+ bg_leave;
+ setd $@bg_delay_var$,gettimetick(2);
+ if( queuesize($@Guill_QueueBG1) == 0 || queuesize($@Croix_QueueBG1) == 0 ) /* todo check score and decide a winner if anyone left */
+ callsub OnMatchOver;
+ end;
+
+OnMatchOver:
+ if( $@FlaviusBG1_id1 || $@FlaviusBG1_id2 ) {
+ queuedel($@Croix_QueueBG1);
+ queuedel($@Guill_QueueBG1);
+ bg_match_over("Flavius");
+ }
+ if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }
+ if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }
+ end;
+}
+
+bat_b01,1,1,3 script OBJ#bat_b01_a CLEAR_NPC,{
+OnEnable:
+ bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead";
+ end;
+
+OnKill:
+ killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) {
+ mapannounce "bat_b01", "Guillaume's Crystal has been destroyed.",bc_map,"0xFFCE00";
+ if ($@Croix_ScoreBG1 > 0) {
+ set $@FlaviusBG1_Victory,2;
+ set $@Croix_ScoreBG1,$@Croix_ScoreBG1+1;
+ enablenpc "Guillaume Vintenar#b01_a";
+ enablenpc "Croix Vintenar#b01_b";
+ donpcevent "time#bat_b01::OnStop";
+ donpcevent "start#bat_b01::OnMatchOver";
+ }
+ else {
+ set $@Croix_ScoreBG1,1;
+ donpcevent "time#bat_b01::OnEnable";
+ donpcevent "start#bat_b01::OnReset";
+ }
+ bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
+ bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
+ bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
+ }
+ end;
+}
+bat_b01,1,2,3 script OBJ#bat_b01_b CLEAR_NPC,{
+OnEnable:
+ bg_monster $@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead";
+ end;
+
+OnKill:
+ killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) {
+ mapannounce "bat_b01", "Croix's Crystal has been destroyed.",bc_map,"0xFFCE00";
+ if ($@Guill_ScoreBG1 > 0) {
+ set $@FlaviusBG1_Victory,1;
+ set $@Guill_ScoreBG1,$@Guill_ScoreBG1+1;
+ enablenpc "Guillaume Vintenar#b01_a";
+ enablenpc "Croix Vintenar#b01_b";
+ donpcevent "time#bat_b01::OnStop";
+ donpcevent "start#bat_b01::OnMatchOver";
+ }
+ else {
+ set $@Guill_ScoreBG1,1;
+ donpcevent "time#bat_b01::OnEnable";
+ donpcevent "start#bat_b01::OnReset";
+ }
+ bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
+ bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
+ bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
+ }
+ end;
+}
+
+bat_b01,1,3,3 script guardian#bat_b01_a CLEAR_NPC,{
+OnEnable:
+ bg_monster $@FlaviusBG1_id1,"bat_b01",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead";
+ bg_monster $@FlaviusBG1_id1,"bat_b01",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead";
+ end;
+
+OnKill:
+ killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) {
+ donpcevent "cell#bat_b01_a::OnGreen";
+ mapannounce "bat_b01", "The Guardian protecting Guillaume's Crystal has been slain.",bc_map,"0xFFCE00";
+ }
+ end;
+}
+
+bat_b01,1,3,3 script guardian#bat_b01_b CLEAR_NPC,{
+OnEnable:
+ bg_monster $@FlaviusBG1_id2,"bat_b01",307,160,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead";
+ bg_monster $@FlaviusBG1_id2,"bat_b01",307,138,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead";
+ end;
+
+OnKill:
+ killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) {
+ donpcevent "cell#bat_b01_b::OnGreen";
+ mapannounce "bat_b01", "The Guardian protecting Croix's Crystal has been slain.",bc_map,"0xFFCE00";
+ }
+ end;
+}
+
+bat_b01,1,4,3 script cell#bat_b01_a CLEAR_NPC,{
+OnRed:
+ setcell "bat_b01",62,149,60,151,cell_basilica,1;
+ setcell "bat_b01",62,149,60,151,cell_walkable,0;
+ end;
+
+OnGreen:
+ setcell "bat_b01",62,149,60,151,cell_basilica,0;
+ setcell "bat_b01",62,149,60,151,cell_walkable,1;
+ end;
+}
+
+bat_b01,1,5,3 script cell#bat_b01_b CLEAR_NPC,{
+OnRed:
+ setcell "bat_b01",327,151,329,149,cell_basilica,1;
+ setcell "bat_b01",327,151,329,149,cell_walkable,0;
+ end;
+
+OnGreen:
+ setcell "bat_b01",327,151,329,149,cell_basilica,0;
+ setcell "bat_b01",327,151,329,149,cell_walkable,1;
+ end;
+}
+
+bat_b01,1,6,1 script time#bat_b01 CLEAR_NPC,{
+OnEnable:
+ donpcevent "Battle Therapist#b01_a::OnEnable";
+ donpcevent "Battle Therapist#b01_b::OnEnable";
+ end;
+
+OnStop:
+ donpcevent "Battle Therapist#b01_a::OnStop";
+ donpcevent "Battle Therapist#b01_b::OnStop";
+ end;
+}
+
+bat_b01,10,294,3 script Battle Therapist#b01_a 4_F_SISTER,{
+ specialeffect2 EF_HEAL;
+ mes "[Battle Therapist]";
+ mes "Just close your eyes,";
+ mes "and take a deep breath.";
+ mes "You can be free from pain.";
+ close;
+
+OnTimer25000:
+ specialeffect EF_SANCTUARY;
+ enablenpc "bat_b01_rp1_a_warp";
+ end;
+
+OnTimer26000:
+ disablenpc "bat_b01_rp1_a_warp";
+ end;
+
+OnTimer26500:
+ stopnpctimer;
+ donpcevent "Battle Therapist#b01_a::OnEnable";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Battle Therapist#b01_a";
+ end;
+
+OnStop:
+ disablenpc "bat_b01_rp1_a_warp";
+ disablenpc "Battle Therapist#b01_a";
+ stopnpctimer;
+ end;
+}
+
+bat_b01,10,290,0 script bat_b01_rp1_a_warp WARPNPC,10,10,{
+OnInit:
+ disablenpc "bat_b01_rp1_a_warp";
+ end;
+
+OnTouch:
+ percentheal 100,100;
+ warp "bat_b01",87,73;
+ end;
+}
+
+bat_b01,389,14,3 script Battle Therapist#b01_b 4_F_SISTER,{
+ specialeffect2 EF_HEAL;
+ mes "[Battle Therapist]";
+ mes "Just close your eyes,";
+ mes "and take a deep breath.";
+ mes "You can be free from pain.";
+ close;
+
+OnTimer25000:
+ specialeffect EF_SANCTUARY;
+ enablenpc "bat_b01_rp1_b_warp";
+ end;
+
+OnTimer26000:
+ disablenpc "bat_b01_rp1_b_warp";
+ end;
+
+OnTimer26500:
+ stopnpctimer;
+ donpcevent "Battle Therapist#b01_b::OnEnable";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Battle Therapist#b01_b";
+ end;
+
+OnStop:
+ disablenpc "bat_b01_rp1_b_warp";
+ disablenpc "Battle Therapist#b01_b";
+ stopnpctimer;
+ end;
+}
+
+bat_b01,389,10,0 script bat_b01_rp1_b_warp WARPNPC,9,9,{
+OnInit:
+ disablenpc "bat_b01_rp1_a_warp";
+ end;
+
+OnTouch:
+ percentheal 100,100;
+ warp "bat_b01",312,225;
+ end;
+}
+
+bat_b01,87,76,0 script A_CODE#bat_b01 -1,5,5,{
+OnTouch:
+ if (checkquest(2070) < 0)
+ setquest 2070;
+ end;
+}
+
+bat_b01,312,224,0 script B_CODE#bat_b01 -1,5,5,{
+OnTouch:
+ if (checkquest(2070) < 0)
+ setquest 2070;
+ end;
+}
+
+bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{
+ if ($@FlaviusBG1_id1 == getcharid(4)) {
+ if ($@FlaviusBG1_Victory == 1) {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 8) {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,9; //BF_Badge2
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ else {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "You lost, but you're dedicated to this battle.";
+ mes "This is a reward for your great dedication by Guillaume Marollo!";
+ mes "Just take this defeat as a lesson, next time you will definitely win.";
+ close2;
+ getitem 7829,3; //BF_Badge2
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "You lost, but you're dedicated to this battle.";
+ mes "This is a reward for your great dedication by Guillaume Marollo!";
+ mes "Just take this defeat as a lesson, next time you will definitely win.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Guillaume Vintenar#b01_a";
+ end;
+}
+
+bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{
+ if ($@FlaviusBG1_id2 == getcharid(4)) {
+ if ($@FlaviusBG1_Victory == 2) {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 8) {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,9; //BF_Badge2
+ }
+ else {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ else {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Even though we didn't win, we did our best.";
+ mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
+ close2;
+ getitem 7829,3; //BF_Badge2
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Even though we didn't win, we did our best.";
+ mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Croix Vintenar#b01_b";
+ end;
+}
+
+bat_b01,1,5,3 script countdown#bat_b01 CLEAR_NPC,{
+OnInit:
+ stopnpctimer;
+ end;
+
+OnEnable:
+ stopnpctimer;
+ initnpctimer;
+ end;
+
+OnStop:
+ stopnpctimer;
+ end;
+
+OnTimer7000:
+ mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!",bc_map,"0xFF9900";
+ end;
+
+OnTimer8000:
+ mapannounce "bat_b01", "Croix Vintenar Swandery : Even though Guillaume is struggling to win against us, the victory is ours. Let's show them our power.",bc_map,"0xFF99CC";
+ end;
+
+OnTimer1800000:
+ mapannounce "bat_b01", "Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!",bc_map,"0x99CC00";
+ end;
+
+OnTimer1803000:
+ mapannounce "bat_b01", "Marollo VII : Both camps are competitive, so it's hard to judge which team is superior.",bc_map,"0x99CC00";
+ end;
+
+OnTimer1808000:
+ mapannounce "bat_b01", "Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress.",bc_map,"0x99CC00";
+ end;
+
+OnTimer1822000:
+ mapannounce "bat_b01", "Marollo VII : If you can't accept the results, try again in another valley battle!",bc_map,"0x99CC00";
+ end;
+
+OnTimer1825000:
+ mapannounce "bat_b01", "Axl Rose, Swandery : Yes, sir.",bc_map,"0x99CC00";
+ end;
+
+OnTimer1830000:
+ donpcevent "time#bat_b01::OnStop";
+ bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
+ bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
+ enablenpc "Vintenar#bat_b01_aover";
+ enablenpc "Vintenar#bat_b01_bover";
+ end;
+
+OnTimer1900000:
+ mapwarp "bat_b01","bat_room",154,150;
+ donpcevent "countdown#bat_b01::OnStop";
+ donpcevent "start#bat_b01::OnMatchOver";
+ end;
+}
+
+bat_b01,81,83,3 script Guillaume Camp#flag21 1_FLAG_LION,{ end; }
+bat_b01,94,83,3 script Guillaume Camp#flag22 1_FLAG_LION,{ end; }
+bat_b01,81,66,3 script Guillaume Camp#flag23 1_FLAG_LION,{ end; }
+bat_b01,94,66,3 script Guillaume Camp#flag24 1_FLAG_LION,{ end; }
+bat_b01,139,142,3 script Guillaume Camp#flag25 1_FLAG_LION,{ end; }
+bat_b01,139,158,3 script Guillaume Camp#flag26 1_FLAG_LION,{ end; }
+bat_b01,110,161,3 script Guillaume Camp#flag27 1_FLAG_LION,{ end; }
+bat_b01,110,137,3 script Guillaume Camp#flag28 1_FLAG_LION,{ end; }
+bat_b01,63,135,3 script Guillaume Camp#flag29 1_FLAG_LION,{ end; }
+bat_b01,63,165,3 script Guillaume Camp#flag30 1_FLAG_LION,{ end; }
+bat_b01,10,296,3 script Guillaume Camp#flag31 1_FLAG_LION,{ end; }
+
+bat_b01,306,233,3 script Croix Camp#flag21 1_FLAG_EAGLE,{ end; }
+bat_b01,317,233,3 script Croix Camp#flag22 1_FLAG_EAGLE,{ end; }
+bat_b01,306,216,3 script Croix Camp#flag23 1_FLAG_EAGLE,{ end; }
+bat_b01,317,216,3 script Croix Camp#flag24 1_FLAG_EAGLE,{ end; }
+bat_b01,257,158,3 script Croix Camp#flag25 1_FLAG_EAGLE,{ end; }
+bat_b01,257,141,3 script Croix Camp#flag26 1_FLAG_EAGLE,{ end; }
+bat_b01,297,164,3 script Croix Camp#flag27 1_FLAG_EAGLE,{ end; }
+bat_b01,297,136,3 script Croix Camp#flag28 1_FLAG_EAGLE,{ end; }
+bat_b01,336,161,3 script Croix Camp#flag29 1_FLAG_EAGLE,{ end; }
+bat_b01,336,139,3 script Croix Camp#flag30 1_FLAG_EAGLE,{ end; }
+bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; }
+
+bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{
+ set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
+ if ($@FlaviusBG1_id1 == getcharid(4)) {
+ if (.@A_B_gap > 0) {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 8) {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,9; //BF_Badge2
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ else if (.@A_B_gap == 0) {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "You lost, but you're dedicated to this battle.";
+ mes "This is a reward for your great dedication by Guillaume Marollo!";
+ mes "Just take this defeat as a lesson, next time you will definitely win.";
+ close2;
+ getitem 7829,3; //BF_Badge2
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "You lost, but you're dedicated to this battle.";
+ mes "This is a reward for your great dedication by Guillaume Marollo!";
+ mes "Just take this defeat as a lesson, next time you will definitely win.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ else {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "You lost, but you're dedicated to this battle.";
+ mes "This is a reward for your great dedication by Guillaume Marollo!";
+ mes "Just take this defeat as a lesson, next time you will definitely win.";
+ close2;
+ getitem 7829,3; //BF_Badge2
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "You lost, but you're dedicated to this battle.";
+ mes "This is a reward for your great dedication by Guillaume Marollo!";
+ mes "Just take this defeat as a lesson, next time you will definitely win.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!";
+ close;
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Vintenar#bat_b01_aover";
+ end;
+}
+
+bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{
+ set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
+ if ($@FlaviusBG1_id2 == getcharid(4)) {
+ if (.@A_B_gap > 0) {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Even though we didn't win, we did our best.";
+ mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
+ close2;
+ getitem 7829,3; //BF_Badge2
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Even though we didn't win, we did our best.";
+ mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ else if (.@A_B_gap == 0) {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Even though we didn't win, we did our best.";
+ mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
+ close2;
+ getitem 7829,3; //BF_Badge2
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+". Don't be sad.";
+ mes "Even though we didn't win, we did our best.";
+ mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ else {
+ set .@your_medal,countitem(7829);
+ set .@medal_gap,500 - .@your_medal;
+ if (.@medal_gap > 8) {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,9; //BF_Badge2
+ }
+ else {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7829,.@medal_gap; //BF_Badge2
+ }
+ }
+ }
+ else {
+ mes "[Swandery]";
+ mes "Why do you come here as a Guillaume? You will be sent to where you should be!";
+ close;
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Vintenar#bat_b01_bover";
+ end;
+}
diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt
index 2bb3c6274..0222f5b3a 100644
--- a/npc/custom/breeder.txt
+++ b/npc/custom/breeder.txt
@@ -3,42 +3,54 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Description: =========================================
//= One-click automatic mount rentals.
//= Replaced 'close' with 'end' [Streusel]
+//= Fixed 'close' issues. [Joseph]
//============================================================
-prontera,124,201,1 script Universal Rental NPC 726,{
+prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{
if (ismounting()) {
message strcharinfo(0),"You must first remove your mount.";
- end; }
- else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) {
+ 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 getitem 6124,1; }
- else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv("MC_PUSHCART")) {
+ else getitem 6124,1;
+ specialeffect2 EF_TEIHIT3;
+ close;
+ }
+ 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 setcart; }
+ else setmadogear;
+ specialeffect2 EF_TEIHIT3;
+ close;
+ }
+ 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; }
+ if ((eaclass()&EAJ_THIRDMASK) == EAJ_RUNE_KNIGHT) setdragon;
+ else setriding;
+ }
else if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) setmadogear;
else {
message strcharinfo(0),"You do not meet requirements to rent.";
- end; }
+ end;
+ }
specialeffect2 EF_TEIHIT3;
end;
}
-//============================================================
+//============================================================
// Old changelog
-//============================================================
+//============================================================
//= A Free PecoPeco and Falcon Breeder
//= 1.1 FIXED checkriding/cart/falcon funcs [Lupus]
//= 1.2 Added Rebirth/Advanced Class support [Mass Zero]
diff --git a/npc/custom/card_remover.txt b/npc/custom/card_remover.txt
index 45e5e42c8..e3aa2bb5b 100644
--- a/npc/custom/card_remover.txt
+++ b/npc/custom/card_remover.txt
@@ -4,8 +4,6 @@
//= TyrNemesis^
//===== Current Version: =====================================
//= 1.2a
-//===== Compatible With: =====================================
-//= Hercules Git
//===== Description: =========================================
//= Removes cards from equipped items.
//===== Additional Comments: =================================
@@ -14,7 +12,7 @@
//= 1.2a Added 'disable_items' command. [Euphy]
//============================================================
-prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{
+prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{
set .zenycost,200000; // Set base cost in zeny of the card remover services
set .percardcost,25000; // set cost per card of the card remover services
@@ -52,7 +50,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{
}
set .@cardcount,getequipcardcnt(.@part);
- if (!checkweight(1202,(.@cardcount+1))) {
+ if (!checkweight(1202,(.@cardcount+1))) {
mes "^3355FFJust a minute!";
mes "I can't offer any of my";
mes "services to you because";
@@ -69,7 +67,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{
mes "Very well. Return at once if you seek my services.";
close;
}
- if((zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(1000) < 1) || (countitem(715) < 1)) {
+ if((Zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(1000) < 1) || (countitem(715) < 1)) {
mes "[Wise Old Woman]";
mes "You do not have all the items I require to work my magic, child. Come again when you do.";
close;
@@ -90,7 +88,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{
}
mes "[Wise Old Woman]";
mes "Very well. I shall begin.";
- set zeny,zeny - (.zenycost+(.@cardcount * .percardcost));
+ Zeny -= (.zenycost+(.@cardcount * .percardcost));
delitem 1000,1;
delitem 715,1;
diff --git a/npc/custom/etc/airplane.txt b/npc/custom/etc/airplane.txt
index 637d38e61..fc79584fe 100644
--- a/npc/custom/etc/airplane.txt
+++ b/npc/custom/etc/airplane.txt
@@ -21,101 +21,101 @@ OnInit:
deletearray $locationsx[0],500;
deletearray $locationsy[0],500;
deletearray $alreadygoneto[0],500;
- setarray $locationsname$[0],"Airport";
- setarray $locationsname$[1],"Prontera";
- setarray $locationsname$[2],"Payon";
- setarray $locationsname$[3],"Aldebaran";
- setarray $locationsname$[4],"Alberta";
- setarray $locationsname$[5],"Geffen";
- setarray $locationsname$[6],"Morocc";
- setarray $locationsname$[7],"Glast Heim";
- setarray $locationsname$[8],"Umbala";
- setarray $locationsname$[9],"Comodo";
- setarray $locationsname$[10],"Amatsu";
- setarray $locationsname$[11],"Niflheim";
- setarray $locationsname$[12],"Lutie";
- setarray $locationsname$[13],"Louyang";
- setarray $locationsname$[14],"Gonryun";
- setarray $locationsname$[15],"Yuno";
- setarray $locationsname$[16],"Ant Hell";
- setarray $locationsname$[17],"Jawaii";
- setarray $locationsname$[18],"Orc Village";
- setarray $locationsname$[19],"Mjolnir Coal Mines";
- setarray $locationsname$[20],"Gefenia Ruins";
- setarray $locationsname$[21],"Ayothaya";
- setarray $locationsname$[22],"Lighthalzen";
- setarray $locationsname$[23],"Juperos";
- setarray $locationsmap$[0],"airport";
- setarray $locationsmap$[1],"prt_fild08";
- setarray $locationsmap$[2],"pay_fild08";
- setarray $locationsmap$[3],"mjolnir_12";
- setarray $locationsmap$[4],"pay_fild03";
- setarray $locationsmap$[5],"gef_fild00";
- setarray $locationsmap$[6],"moc_fild10";
- setarray $locationsmap$[7],"glast_01";
- setarray $locationsmap$[8],"umbala";
- setarray $locationsmap$[9],"comodo";
- setarray $locationsmap$[10],"amatsu";
- setarray $locationsmap$[11],"niflheim";
- setarray $locationsmap$[12],"xmas";
- setarray $locationsmap$[13],"louyang";
- setarray $locationsmap$[14],"gonryun";
- setarray $locationsmap$[15],"yuno";
- setarray $locationsmap$[16],"moc_fild04";
- setarray $locationsmap$[17],"jawaii";
- setarray $locationsmap$[18],"gef_fild10";
- setarray $locationsmap$[19],"mjolnir_02";
- setarray $locationsmap$[20],"gefenia01";
- setarray $locationsmap$[21],"ayothaya";
+ setarray $locationsname$[0],"Airport";
+ setarray $locationsname$[1],"Prontera";
+ setarray $locationsname$[2],"Payon";
+ setarray $locationsname$[3],"Aldebaran";
+ setarray $locationsname$[4],"Alberta";
+ setarray $locationsname$[5],"Geffen";
+ setarray $locationsname$[6],"Morocc";
+ setarray $locationsname$[7],"Glast Heim";
+ setarray $locationsname$[8],"Umbala";
+ setarray $locationsname$[9],"Comodo";
+ setarray $locationsname$[10],"Amatsu";
+ setarray $locationsname$[11],"Niflheim";
+ setarray $locationsname$[12],"Lutie";
+ setarray $locationsname$[13],"Louyang";
+ setarray $locationsname$[14],"Gonryun";
+ setarray $locationsname$[15],"Yuno";
+ setarray $locationsname$[16],"Ant Hell";
+ setarray $locationsname$[17],"Jawaii";
+ setarray $locationsname$[18],"Orc Village";
+ setarray $locationsname$[19],"Mjolnir Coal Mines";
+ setarray $locationsname$[20],"Gefenia Ruins";
+ setarray $locationsname$[21],"Ayothaya";
+ setarray $locationsname$[22],"Lighthalzen";
+ setarray $locationsname$[23],"Juperos";
+ setarray $locationsmap$[0],"airport";
+ setarray $locationsmap$[1],"prt_fild08";
+ setarray $locationsmap$[2],"pay_fild08";
+ setarray $locationsmap$[3],"mjolnir_12";
+ setarray $locationsmap$[4],"pay_fild03";
+ setarray $locationsmap$[5],"gef_fild00";
+ setarray $locationsmap$[6],"moc_fild10";
+ setarray $locationsmap$[7],"glast_01";
+ setarray $locationsmap$[8],"umbala";
+ setarray $locationsmap$[9],"comodo";
+ setarray $locationsmap$[10],"amatsu";
+ setarray $locationsmap$[11],"niflheim";
+ setarray $locationsmap$[12],"xmas";
+ setarray $locationsmap$[13],"louyang";
+ setarray $locationsmap$[14],"gonryun";
+ setarray $locationsmap$[15],"yuno";
+ setarray $locationsmap$[16],"moc_fild04";
+ setarray $locationsmap$[17],"jawaii";
+ setarray $locationsmap$[18],"gef_fild10";
+ setarray $locationsmap$[19],"mjolnir_02";
+ setarray $locationsmap$[20],"gefenia01";
+ setarray $locationsmap$[21],"ayothaya";
setarray $locationsmap$[22],"lighthalzen";
setarray $locationsmap$[23],"jupe_gate";
- setarray $locationsx[0],148;
- setarray $locationsx[1],206;
- setarray $locationsx[2],159;
- setarray $locationsx[3],62;
- setarray $locationsx[4],194;
- setarray $locationsx[5],50;
- setarray $locationsx[6],163;
- setarray $locationsx[7],196;
+ setarray $locationsx[0],148;
+ setarray $locationsx[1],206;
+ setarray $locationsx[2],159;
+ setarray $locationsx[3],62;
+ setarray $locationsx[4],194;
+ setarray $locationsx[5],50;
+ setarray $locationsx[6],163;
+ setarray $locationsx[7],196;
setarray $locationsx[8],187;
- setarray $locationsx[9],203;
+ setarray $locationsx[9],203;
setarray $locationsx[10],115;
setarray $locationsx[11],132;
setarray $locationsx[12],232;
- setarray $locationsx[13],36;
- setarray $locationsx[14],82;
+ setarray $locationsx[13],36;
+ setarray $locationsx[14],82;
setarray $locationsx[15],58;
setarray $locationsx[16],209;
- setarray $locationsx[17],248;
+ setarray $locationsx[17],248;
setarray $locationsx[18],158;
setarray $locationsx[19],76;
- setarray $locationsx[20],98;
+ setarray $locationsx[20],98;
setarray $locationsx[21],183;
setarray $locationsx[22],99;
setarray $locationsx[23],46;
- setarray $locationsy[0],45;
+ setarray $locationsy[0],45;
setarray $locationsy[1],280;
- setarray $locationsy[2],92;
+ setarray $locationsy[2],92;
setarray $locationsy[3],381;
setarray $locationsy[4],182;
setarray $locationsy[5],365;
setarray $locationsy[6],172;
setarray $locationsy[7],327;
setarray $locationsy[8],98;
- setarray $locationsy[9],76;
+ setarray $locationsy[9],76;
setarray $locationsy[10],79;
setarray $locationsy[11],241;
setarray $locationsy[12],308;
- setarray $locationsy[13],279;
- setarray $locationsy[14],96;
+ setarray $locationsy[13],279;
+ setarray $locationsy[14],96;
setarray $locationsy[15],194;
setarray $locationsy[16],326;
- setarray $locationsy[17],175;
+ setarray $locationsy[17],175;
setarray $locationsy[18],95;
setarray $locationsy[19],363;
- setarray $locationsy[20],21;
+ setarray $locationsy[20],21;
setarray $locationsy[21],104;
- setarray $locationsy[22],240;
+ setarray $locationsy[22],240;
setarray $locationsy[23],19;
goto resetgoneto;
end;
@@ -123,7 +123,7 @@ OnInit:
setrandomitin:
set $@settervariable,$@settervariable + 1;
setarray $locationn[$@settervariable],rand(0,getarraysize($locationsname$) - 1);
- if($alreadygoneto[$locationn[$@settervariable]]==1)set $@settervariable,$@settervariable - 1;
+ if($alreadygoneto[$locationn[$@settervariable]]==1)set $@settervariable,$@settervariable - 1;
if($alreadygoneto[$locationn[$@settervariable]]==1)goto setrandomitin;
setarray $alreadygoneto[$locationn[$@settervariable]], 1;
if($@settervariable<12)goto setrandomitin;
@@ -252,8 +252,8 @@ L_Nope:
Notime:
mes "^FF0000[Porter]^000000";
- if(sex==0) mes "Sorry, ma'am, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
- if(sex==1) mes "Sorry, sir, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
+ if(Sex==0) mes "Sorry, ma'am, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
+ if(Sex==1) mes "Sorry, sir, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
next;
menu "Yes, please.",Itin,"No thanks.",L_Nope;
close;
@@ -264,84 +264,84 @@ Itin:
callfunc "F_Itin";
}
-airport,153,43,5 script Airport Porter 774,{
+airport,153,43,5 script Airport Porter 4_M_TWBOY,{
callfunc "F_Porter",0;
}
-prt_fild08,206,279,5 script Porter#01 774,{
+prt_fild08,206,279,5 script Porter#01 4_M_TWBOY,{
callfunc "F_Porter",1;
}
-gef_fild00,50,364,5 script Porter#02 774,{
+gef_fild00,50,364,5 script Porter#02 4_M_TWBOY,{
callfunc "F_Porter",5;
}
-moc_fild10,163,173,5 script Porter#03 774,{
+moc_fild10,163,173,5 script Porter#03 4_M_TWBOY,{
callfunc "F_Porter",6;
}
-mjolnir_12,61,380,5 script Porter#04 774,{
+mjolnir_12,61,380,5 script Porter#04 4_M_TWBOY,{
callfunc "F_Porter",3;
}
-pay_fild08,159,91,5 script Porter#05 774,{
+pay_fild08,159,91,5 script Porter#05 4_M_TWBOY,{
callfunc "F_Porter",2;
}
-pay_fild03,194,181,5 script Porter#06 774,{
+pay_fild03,194,181,5 script Porter#06 4_M_TWBOY,{
callfunc "F_Porter",4;
}
-glast_01,196,326,1 script Porter#07 774,{
+glast_01,196,326,1 script Porter#07 4_M_TWBOY,{
callfunc "F_Porter",7;
}
-umbala,188,98,3 script Porter#08 774,{
+umbala,188,98,3 script Porter#08 4_M_TWBOY,{
callfunc "F_Porter",8;
}
-comodo,203,75,8 script Porter#09 774,{
+comodo,203,75,8 script Porter#09 4_M_TWBOY,{
callfunc "F_Porter",9;
}
-amatsu,115,78,8 script Porter#10 774,{
+amatsu,115,78,8 script Porter#10 4_M_TWBOY,{
callfunc "F_Porter",10;
}
-niflheim,132,242,5 script Porter#11 774,{
+niflheim,132,242,5 script Porter#11 4_M_TWBOY,{
callfunc "F_Porter",11;
}
-xmas,232,309,5 script Porter#12 774,{
+xmas,232,309,5 script Porter#12 4_M_TWBOY,{
callfunc "F_Porter",12;
}
-louyang,35,279,8 script Porter#13 774,{
+louyang,35,279,8 script Porter#13 4_M_TWBOY,{
callfunc "F_Porter",13;
}
-gonryun,82,95,7 script Porter#14 774,{
+gonryun,82,95,7 script Porter#14 4_M_TWBOY,{
callfunc "F_Porter",14;
}
-yuno,58,195,4 script Porter#15 774,{
+yuno,58,195,4 script Porter#15 4_M_TWBOY,{
callfunc "F_Porter",15;
}
-moc_fild04,210,326,2 script Porter#16 774,{
+moc_fild04,210,326,2 script Porter#16 4_M_TWBOY,{
callfunc "F_Porter",16;
}
-jawaii,247,174,7 script Porter#17 774,{
+jawaii,247,174,7 script Porter#17 4_M_TWBOY,{
callfunc "F_Porter",17;
}
-gef_fild10,159,95,2 script Porter#18 774,{
+gef_fild10,159,95,2 script Porter#18 4_M_TWBOY,{
callfunc "F_Porter",18;
}
-mjolnir_02,76,364,5 script Porter#19 774,{
+mjolnir_02,76,364,5 script Porter#19 4_M_TWBOY,{
callfunc "F_Porter",19;
}
-gefenia01,97,22,6 script Porter#20 774,{
+gefenia01,97,22,6 script Porter#20 4_M_TWBOY,{
callfunc "F_Porter",20;
}
-ayothaya,182,105,5 script Porter#21 774,{
+ayothaya,182,105,5 script Porter#21 4_M_TWBOY,{
callfunc "F_Porter",21;
}
-lighthalzen,99,241,4 script Porter#22 774,{
+lighthalzen,99,241,4 script Porter#22 4_M_TWBOY,{
callfunc "F_Porter",22;
}
-jupe_gate,46,18,7 script Porter#23 774,{
+jupe_gate,46,18,7 script Porter#23 4_M_TWBOY,{
callfunc "F_Porter",23;
}
-airport,141,43,5 script Itinerary Schedule 837,{
+airport,141,43,5 script Itinerary Schedule 2_BULLETIN_BOARD,{
mes "^FF0000[Itinerary]^000000";
callfunc "F_Itin";
}
-airplane,102,68,5 script Docker 852,{
+airplane,102,68,5 script Docker 4_M_EIN_SOLDIER,{
if($destination == 250) goto Nowhere;
mes "^FF0000[Airplane Attendant]^000000";
if($destination == 250)goto Notime;
@@ -363,8 +363,8 @@ Lnope:
Notime:
mes "^FF0000[Airplane Attendant]^000000";
- if(sex==0) mes "Sorry, ma'am, but the plane currently isn't docked. Please wait.";
- if(sex==1) mes "Sorry, sir, but the plane currently isn't docked. Please wait.";
+ if(Sex==0) mes "Sorry, ma'am, but the plane currently isn't docked. Please wait.";
+ if(Sex==1) mes "Sorry, sir, but the plane currently isn't docked. Please wait.";
close;
Nowhere:
diff --git a/npc/custom/etc/bank.txt b/npc/custom/etc/bank.txt
index 00ebc66c8..e6e75c9f3 100644
--- a/npc/custom/etc/bank.txt
+++ b/npc/custom/etc/bank.txt
@@ -1,19 +1,19 @@
//===== Hercules Script ======================================
-//= Banker Script
-//===== By: ==================================================
+//= Banker Script
+//===== By: ==================================================
//= Syrus22 (1.0)
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 2.0
-//===== Description: =========================================
+//===== Description: =========================================
//= An account wide Banker to store Zeny
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= Syrus22 - There's an optional transaction fee at the top of
//= the script. To use it simply change the first set command
//= to set the cost variable to whatever you want the fee to be.
//= Version 2.0: Optimized and brought the script up to standard. [Jguy]
-//============================================================
+//============================================================
-prontera,132,217,5 script Banker 109,{
+prontera,132,217,5 script Banker 4_M_MANAGER,{
set @cost,500;
mes "[Banker]";
mes "Welcome to the First Bank of Prontera. How can I help you today?";
@@ -42,8 +42,8 @@ switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's
close;
}
else {
- set Zeny,Zeny - @deposit;
- set Zeny,Zeny - @cost;
+ Zeny -= @deposit;
+ Zeny -= @cost;
set #bankstorage,#bankstorage + @deposit;
mes "[Banker]";
mes "Thank you very much... Your zeny is in good hands.";
@@ -80,8 +80,8 @@ switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's
set #bankstorage,#bankstorage - @cost;
set @cost,0;
next;
- set Zeny,Zeny - @cost;
- set Zeny,Zeny + @withdrawl;
+ Zeny -= @cost;
+ Zeny += @withdrawl;
set #bankstorage,#bankstorage - @withdrawl;
mes "[Banker]";
mes "There's your Zeny. Have a good day.";
@@ -93,8 +93,8 @@ switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's
}
}
else {
- set Zeny,Zeny - @cost;
- set Zeny,Zeny + @withdrawl;
+ Zeny -= @cost;
+ Zeny += @withdrawl;
set #bankstorage,#bankstorage - @withdrawl;
mes "[Banker]";
mes "There's your Zeny. Have a good day.";
diff --git a/npc/custom/etc/bank_kafra.txt b/npc/custom/etc/bank_kafra.txt
index 12f35aff5..ea662499f 100644
--- a/npc/custom/etc/bank_kafra.txt
+++ b/npc/custom/etc/bank_kafra.txt
@@ -18,7 +18,7 @@
// 1.2a Corrected bad duplicate names. (bugreport:921) [Samuray22]
//============================================================
-- script Bank Clerk::bankg 833,{
+- script Bank Clerk::bankg 4_M_ZONDAOYAJI,{
mes"[Maniss]";
mes strcharinfo(0)+", welcome to the 2nd Bank of Prontera!";
@@ -47,8 +47,8 @@ L_NoIncomeToday:
if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
if(@kafrabank<1000) goto L_LESS_1000;
- if(@kafrabank>zeny) goto L_NOT_ENOUGH;
- set zeny,zeny-@kafrabank;
+ if(@kafrabank>Zeny) goto L_NOT_ENOUGH;
+ Zeny -= @kafrabank;
set #kafrabank,#kafrabank+@kafrabank;
mes"[Maniss]";
mes "You've made a deposit of ^135445" + @kafrabank + "z^000000.";
@@ -67,7 +67,7 @@ M_WITHDRAW:
if(@kafrabank<1) goto B_EXIT2;
if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
set #kafrabank,#kafrabank-@kafrabank;
- set zeny,zeny+@kafrabank;
+ Zeny += @kafrabank;
mes"[Maniss]";
mes "Here is your ^135445" + @kafrabank + "z^000000, put your sign here...";
//we log these zeny operations into the log db
@@ -108,7 +108,7 @@ B_EXIT2:
close;
}
-prontera,131,190,1 duplicate(bankg) Bank Clerk#1-1 833
-geffen,125,73,3 duplicate(bankg) Bank Clerk#2-1 833
-izlude,145,107,1 duplicate(bankg) Bank Clerk#3-1 833
-morocc,147,84,7 duplicate(bankg) Bank Clerk#4-1 833
+prontera,131,190,1 duplicate(bankg) Bank Clerk#1-1 4_M_ZONDAOYAJI
+geffen,125,73,3 duplicate(bankg) Bank Clerk#2-1 4_M_ZONDAOYAJI
+izlude,145,107,1 duplicate(bankg) Bank Clerk#3-1 4_M_ZONDAOYAJI
+morocc,147,84,7 duplicate(bankg) Bank Clerk#4-1 4_M_ZONDAOYAJI
diff --git a/npc/custom/etc/blackjack.txt b/npc/custom/etc/blackjack.txt
index 15e74865c..ee1e7904b 100644
--- a/npc/custom/etc/blackjack.txt
+++ b/npc/custom/etc/blackjack.txt
@@ -12,10 +12,10 @@
//= Currently does not allow for "insurance", or "splitting"
//= of pairs.
//===== Additional Comments: =================================
-//=
+//=
//============================================================
-cmd_in02,188,89,1 script Black Jack Dealer 57,{
+cmd_in02,188,89,1 script Black Jack Dealer 1_M_LIBRARYMASTER,{
mes "[Dealer]";
mes "Hello there! Would you like to play a game of Black Jack?";
M_Menu:
@@ -233,12 +233,12 @@ sL_Win:
mes "[Dealer]";
mes "Congratulations, you've won!";
next;
- set Zeny, Zeny + @bet;
+ Zeny += @bet;
goto L_Play;
sL_Lose:
mes "[Dealer]";
mes "I'm sorry but you've lost.";
- set Zeny, Zeny - @bet;
+ Zeny -= @bet;
next;
goto L_Play;
sL_Push:
diff --git a/npc/custom/etc/floating_rates.txt b/npc/custom/etc/floating_rates.txt
index f499a4f9d..ff3b6e8fa 100644
--- a/npc/custom/etc/floating_rates.txt
+++ b/npc/custom/etc/floating_rates.txt
@@ -4,8 +4,6 @@
//= Lupus
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= It's a simply example of setbattleflag
//= This script will change your server rates from 1x to 1.5x every 6 hours
diff --git a/npc/custom/etc/lottery.txt b/npc/custom/etc/lottery.txt
index 1e35280a4..9d4c4df38 100644
--- a/npc/custom/etc/lottery.txt
+++ b/npc/custom/etc/lottery.txt
@@ -4,8 +4,6 @@
//= acky
//===== Current Version: =====================================
//= 1.2.1a
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Daily lottery draw
//===== Additional Comments: =================================
@@ -65,9 +63,9 @@ Pick6:
// BROADCASTS DRAW
L_Broadcast:
- Announce "Lottery: Welcome to tonight's lotto draw!",8;
- Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
- Announce "Congratulations to the winners of tonight!",8;
+ announce "Lottery: Welcome to tonight's lotto draw!",8;
+ announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
+ announce "Congratulations to the winners of tonight!",8;
// GENERATES DRAW ID CODE
L_GenID:
@@ -88,7 +86,7 @@ L_Rigged_Draw:
goto L_Broadcast;
}
-prontera,141,182,5 script Lottery 76,{
+prontera,141,182,5 script Lottery 1_F_ORIENT_02,{
L_Begin:
mes "[Lottery]";
mes "Winning Lotto Numbers ("+$LID2+"):";
@@ -108,8 +106,8 @@ L_Buy:
mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000.";
next;
menu "Buy Ticket",-,"Cancel",L_Cancel;
- if (zeny < $L_TicketPrice) goto L_NoZeny;
- set zeny,zeny-$L_TicketPrice;
+ if (Zeny < $L_TicketPrice) goto L_NoZeny;
+ Zeny -= $L_TicketPrice;
mes "[Lottery]";
mes "Would you like your numbers hand picked or computer generated?";
next;
@@ -294,8 +292,8 @@ LWinBig:
mes "You have matched all six numbers!";
mes "Jackpot!";
mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
- set zeny,zeny+$L_Prize_Money;
- Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
+ Zeny += $L_Prize_Money;
+ announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
set #LID,0;
close;
@@ -304,8 +302,8 @@ LWinSmall:
mes "[Lottery]";
mes "You have matched at least 4 numbers!";
mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
- set zeny,zeny+$L_Prize_Money_Small;
- Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
+ Zeny += $L_Prize_Money_Small;
+ announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
set #LID,0;
close;
@@ -375,9 +373,9 @@ GMPick6:
// BROADCASTS DRAW
L_Broadcast:
- Announce "Lottery: Welcome to the special GM's lotto draw!",8;
- Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
- Announce "Congratulations to the winners!",8;
+ announce "Lottery: Welcome to the special GM's lotto draw!",8;
+ announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
+ announce "Congratulations to the winners!",8;
// GENERATES DRAW ID CODE
L_GenID:
@@ -408,29 +406,29 @@ L_GM_Rig:
set $LR5,0;
set $LR6,0;
GMInput1:
- Input $LR1;
+ input $LR1;
if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
mes $LR1;
GMInput2:
- Input $LR2;
+ input $LR2;
if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
if ($LR2 == $LR1) goto GMInput2;
mes $LR2;
GMInput3:
- Input $LR3;
+ input $LR3;
if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
if ($LR3 == $LR1) goto GMInput3;
if ($LR3 == $LR2) goto GMInput3;
mes $LR3;
GMInput4:
- Input $LR4;
+ input $LR4;
if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
if ($LR4 == $LR1) goto GMInput4;
if ($LR4 == $LR2) goto GMInput4;
if ($LR4 == $LR3) goto GMInput4;
mes $LR4;
GMInput5:
- Input $LR5;
+ input $LR5;
if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
if ($LR5 == $LR1) goto GMInput5;
if ($LR5 == $LR2) goto GMInput5;
@@ -438,7 +436,7 @@ GMInput5:
if ($LR5 == $LR4) goto GMInput5;
mes $LR5;
GMInput6:
- Input $LR6;
+ input $LR6;
if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
if ($LR6 == $LR1) goto GMInput6;
if ($LR6 == $LR2) goto GMInput6;
diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt
index 00f44193a..0d25be9d5 100644
--- a/npc/custom/etc/marriage.txt
+++ b/npc/custom/etc/marriage.txt
@@ -4,8 +4,6 @@
//= AppleGirl, Evera
//===== Current Version: =====================================
//= 2.9
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Fully working wedding script for all kind of weddings
//===== Additional Comments: =================================
@@ -14,7 +12,7 @@
// 2.9 Somewhat iRO-official NPC names [DracoRPG]
//============================================================
-// Configuration Variables:
+// Configuration Variables:
- script marriage_init -1,{
OnInit:
set $@wed_allow, 0; //If 1, allows same sex marriages.
@@ -32,7 +30,7 @@ OnInit:
// Other Configuration:
// Line 61,62: Priest location, sprite and name.
-// Line 437,438: Registration location, sprite and name.
+// Line 437,438: Registration location, sprite and name.
// Line 813,814: Divorcing location, sprite and name.
// Variable Notes:
@@ -54,7 +52,7 @@ OnInit:
// $@divorcee id of the partner, who has to accept the divorce and pay.
//The Priest - official iRO sprite & in-dialog name (on-map name not confirmed)
-prt_church,100,123,4 script Vomars 60,{
+prt_church,100,123,4 script Vomars 1_M_PASTOR,{
set @name$,"Vomars";
function SF_wed_end;
@@ -394,19 +392,19 @@ OnTimer55000:
//Subfunction: Checks that the groom/bride is still wearing their stuff.
function SF_equip_check {
- if (sex && getequipid(2) != 7170) {
+ if (Sex && getequipid(2) != 7170) {
mes "["+@name$+"]";
mes "Child, what did you do with your "+getitemname(7170)+"?";
emotion e_dots;
return 0;
}
- if (sex == 0 && getequipid(2) != 2338) {
+ if (Sex == 0 && getequipid(2) != 2338) {
mes "["+@name$+"]";
mes "Child, you are supposed to wear a "+getitemname(2338)+" at all times during the ceremony...";
emotion e_dots;
return 0;
}
- if (sex == 0 && $@wed_veil && getequipid(1) != 2206) {
+ if (Sex == 0 && $@wed_veil && getequipid(1) != 2206) {
mes "["+@name$+"]";
mes "Child, you can't take off your "+getitemname(2206)+" yet....";
emotion e_dots;
@@ -435,7 +433,7 @@ OnInit:
}
//Registration & Status
-prt_church,106,99,3 script Happy Marry 67,{
+prt_church,106,99,3 script Happy Marry 1_F_02,{
set @name$,"Marry";
if (getpartnerid() > 0) {
mes "["+@name$+"]";
@@ -489,7 +487,7 @@ function SF_Register {
mes "Very well, whom would you like to register as?";
next;
set @submenu, select("Groom","Bride","Cancel");
- } else if (sex) { //Groom
+ } else if (Sex) { //Groom
mes "["+@name$+"]";
mes "Very well, will you register as the Groom?";
next;
@@ -543,13 +541,13 @@ function SF_WedProgress {
}
if (strcharinfo(0) == $wed_bride$) {
mes "["+@name$+"]";
- if ($wed_groom_progress > 0)
+ if ($wed_groom_progress > 0)
mes "The Priest will handle the rest of the ceremony.";
else
mes "Tell your groom to register, what is taking so long? Time is running out.";
close;
}
- if (($wed_groom_progress == 0) && (sex == 1 || $@wed_allow == 1)) {
+ if (($wed_groom_progress == 0) && (Sex == 1 || $@wed_allow == 1)) {
mes "["+@name$+"]";
mes $wed_bride$+" is waiting for the groom to register. Are you the one who came to register as groom?";
next;
@@ -558,7 +556,7 @@ function SF_WedProgress {
stopnpctimer;
set $wed_groom_progress,1;
mes "["+@name$+"]";
- mes "Very well, now go to the Priest to reaffirm your vows and the ceremony will begin.";
+ mes "Very well, now go to the Priest to reaffirm your vows and the ceremony will begin.";
emotion e_no1;
close2;
npctalk "Registration finished. "+$wed_groom$+" and "+$wed_bride$+", please reaffirm your vows with the Priest.";
@@ -571,7 +569,7 @@ function SF_WedProgress {
}
}
- if (($wed_bride_progress == 0) && (sex == 0 || $@wed_allow == 1)) {
+ if (($wed_bride_progress == 0) && (Sex == 0 || $@wed_allow == 1)) {
mes "["+@name$+"]";
mes $wed_groom$+" is waiting for the bride to register. Are you the one who came to register as the bride?";
next;
@@ -579,7 +577,7 @@ function SF_WedProgress {
SF_TryRegister(1);
stopnpctimer;
mes "["+@name$+"]";
- mes "Very well, now go to the Priest to reaffirm your vows and the ceremony will begin.";
+ mes "Very well, now go to the Priest to reaffirm your vows and the ceremony will begin.";
emotion e_no1;
close2;
npctalk "Registration finished. "+$wed_groom$+" and "+$wed_bride$+", please reaffirm your vows with the Priest.";
@@ -687,7 +685,7 @@ function SF_TryRegister {
emotion e_gasp;
close;
}
- if (sex)
+ if (Sex)
set @item, 7170;
else
set @item, 2338;
@@ -697,7 +695,7 @@ function SF_TryRegister {
mes "You should be wearing a "+getitemname(@item)+" if you want to get married.";
close;
}
- if (sex == 0 && $@wed_veil && getequipid(1) != 2206) {
+ if (Sex == 0 && $@wed_veil && getequipid(1) != 2206) {
mes "["+@name$+"]";
mes "Where is your "+getitemname(2206)+"? It's a necessary complement to your dress.";
close;
@@ -709,27 +707,27 @@ function SF_TryRegister {
}
if (@bride)
set @cost, $@wed_bride_reg;
- else
+ else
set @cost, $@wed_groom_reg;
if (Zeny < @cost) {
mes "["+@name$+"]";
mes "I am sorry, but you don't have enough to pay for the registration fee.";
- mes "Come back once you have collected "+@cost+"z.";
+ mes "Come back once you have collected "+@cost+"z.";
close;
}
- set Zeny,Zeny-@cost;
- sc_start SC_Wedding,3600000000,1; //Start Wedding Effect (SC_WEDDING)
+ Zeny -= @cost;
+ sc_start SC_WEDDING,3600000,1; //Start Wedding Effect (SC_WEDDING)
if (@bride) {
set $wed_bride_progress,1;
set $wed_bride$,strcharinfo(0);
- set $wed_bride_sex, sex;
+ set $wed_bride_sex, Sex;
if ($@wedding_effect == 1) //Store account id for effect.
set $wedding_effect_id, getcharid(3);
} else {
set $wed_groom_progress,1;
set $wed_groom$,strcharinfo(0);
- set $wed_groom_sex, sex;
+ set $wed_groom_sex, Sex;
if ($@wedding_effect == 2) //Store account id for effect.
set $wedding_effect_id, getcharid(3);
}
@@ -811,7 +809,7 @@ function SF_Procedure {
}
}
-prt_church,94,99,4 script Sister Lisa 79,{
+prt_church,94,99,4 script Sister Lisa 1_F_PRIEST,{
set @name$,"Lisa";
function SF_DivorceEnd;
@@ -866,7 +864,7 @@ prt_church,94,99,4 script Sister Lisa 79,{
mes "["+@name$+"]";
mes "You should think this through.";
close;
- }
+ }
mes "["+@name$+"]";
set $@divorcee,getpartnerid();
set $@divorcer$,strcharinfo(0);
@@ -879,7 +877,7 @@ prt_church,94,99,4 script Sister Lisa 79,{
end;
function SF_InProgress {
- if (strcharinfo(0) == $@divorcer$) {
+ if (strcharinfo(0) == $@divorcer$) {
mes "["+@name$+"]";
mes "...I am still waiting for your partner to confirm the divorce procedure.";
close;
@@ -913,7 +911,7 @@ function SF_InProgress {
emotion e_swt2;
close;
}
- set Zeny,Zeny-$@wed_divorce_fee;
+ Zeny -= $@wed_divorce_fee;
announce $@divorcer$+" has just divorced "+strcharinfo(0)+"...", 8;
mes "["+@name$+"]";
mes "Your divorce has been filed. You are no longer wed.";
diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt
index 52ffa115b..82f764977 100644
--- a/npc/custom/etc/monster_arena.txt
+++ b/npc/custom/etc/monster_arena.txt
@@ -4,8 +4,6 @@
//= acky
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Players train monsters and battle other players.
//= Experience can be earned and monsters upgraded.
@@ -24,7 +22,7 @@
//============================================================
// Entrance //
-prontera,158,193,6 script Monster Arena 702,{
+prontera,158,193,6 script Monster Arena 4_F_GON,{
mes "[Monster Arena]";
mes "Would you like to enter the Monster Arena?";
mes "Currently ^FF0000" + getmapusers("gon_test") + "^000000 players";
@@ -98,7 +96,7 @@ function script monstersummon {
}
// Referee //
-- script monsterreferee 61,{
+- script monsterreferee 1_M_PUBMASTER,{
if (@fighting == 1) end;
if (@battle == 1) goto L_Start;
end;
@@ -195,11 +193,11 @@ L_Exit:
mes "Alright";
close;
}
-gon_test,56,91,6 duplicate(monsterreferee) Referee#01 61
+gon_test,56,91,6 duplicate(monsterreferee) Referee#01 1_M_PUBMASTER
// Usher //
-gon_test,58,94,6 script Usher 86,{
+gon_test,58,94,6 script Usher 4_M_04,{
set @marena,1;
mes "[Usher]";
mes "What would you like to do?";
@@ -276,7 +274,7 @@ L_Cancel:
}
// Monster Trainer //
-gon_test,52,103,6 script Monster Trainer 87,{
+gon_test,52,103,6 script Monster Trainer 4_M_BARBER,{
mes "[Monster Trainer]";
if (#monster != 0) goto L_Mon;
@@ -290,8 +288,8 @@ gon_test,52,103,6 script Monster Trainer 87,{
next;
menu "Yes",-,"No",L_Exit;
- if (zeny < 1000) goto L_NoZeny;
- set zeny,zeny-1000;
+ if (Zeny < 1000) goto L_NoZeny;
+ Zeny -= 1000;
set #monster,10;
mes "[Monster Trainer]";
mes "Congratulations!";
@@ -329,7 +327,7 @@ L_Sell:
if (@sellexp > #monpoints) goto L_NoExp;
set #monpoints,#monpoints-@sellexp;
set @sellearn,100*@sellexp; // Price of exp
- set zeny,zeny+@sellearn;
+ Zeny += @sellearn;
mes "[Monster Trainer]";
mes "You earned ^0000FF" + @sellearn + "^000000z.";
close;
@@ -733,7 +731,7 @@ function script illegalkill {
}
// Healer //
-gon_test,55,103,6 script Nurse 90,{
+gon_test,55,103,6 script Nurse 4_F_01,{
if (@battle == 1 || #heal == 0) goto L_NoHeal;
if (#heal == 1 && @healing < 100) goto L_Heal; //Total healing required
set @fighting,0;
@@ -754,14 +752,14 @@ L_NoHeal:
}
// Warps players //
-gon_test,57,86,5 script Summon Pad 1::SummonPad 111,2,2,{
+gon_test,57,86,5 script Summon Pad 1::SummonPad HIDDEN_NPC,2,2,{
end;
OnTouch:
set @marena,1;
warp "gon_test",57,99;
}
-gon_test,43,87,5 duplicate(SummonPad) Summon Pad 2 111,2,2
-gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 111,2,2
+gon_test,43,87,5 duplicate(SummonPad) Summon Pad 2 HIDDEN_NPC,2,2
+gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 HIDDEN_NPC,2,2
@@ -769,7 +767,7 @@ gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 111,2,2
gon_test mapflag noskill
// Duel Arena //
-gon_test,58,103,5 script Duel Master#01 92,{
+gon_test,58,103,5 script Duel Master#01 4_F_03,{
if ($@duelist1$ == "") set @duel,0;
if ($@monster1 == "") set @duel,0;
set @marena,1;
@@ -861,7 +859,7 @@ L_NeedHeal:
}
// Duel Exit //
-gon_test,42,8,5 script Duel Master#02 92,{
+gon_test,42,8,5 script Duel Master#02 4_F_03,{
mes "[Duel Master]";
mes "Would you like to return?";
menu "Yes",L_Leave,"No",-;
@@ -893,5 +891,5 @@ L_Leave2:
goto L_Leave3;
}
-gon_test,49,5,5 duplicate(SummonPad) Summon Pad 4 111,2,2
-gon_test,55,8,6 duplicate(monsterreferee) Referee#02 61
+gon_test,49,5,5 duplicate(SummonPad) Summon Pad 4 HIDDEN_NPC,2,2
+gon_test,55,8,6 duplicate(monsterreferee) Referee#02 1_M_PUBMASTER
diff --git a/npc/custom/etc/morroc_raceway.txt b/npc/custom/etc/morroc_raceway.txt
index 34614538a..48ee8e47e 100644
--- a/npc/custom/etc/morroc_raceway.txt
+++ b/npc/custom/etc/morroc_raceway.txt
@@ -4,8 +4,6 @@
//= acky
//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Lets players race around Morroc (pvp_y_1-5)
//===== Additional Comments: =================================
@@ -21,7 +19,7 @@
//============================================================
//Warps you into race way
-morocc,166,105,6 script Race Girl#01 116,{
+morocc,166,105,6 script Race Girl#01 4_F_KAFRA2,{
mes "[Race Girl]";
mes "Would you like to visit ^0000FFMorroc Raceway^000000?";
next;
@@ -35,7 +33,7 @@ L_Warp:
}
//Warps you out of raceway
-pvp_y_1-5,169,265,5 script Race Girl#02 116,{
+pvp_y_1-5,169,265,5 script Race Girl#02 4_F_KAFRA2,{
mes "[Race Girl]";
mes "Welcome to Morroc Raceway!";
next;
@@ -58,7 +56,7 @@ L_Cancel:
}
//Counts down and starts race
-pvp_y_1-5,145,269,5 script Starter 733,{
+pvp_y_1-5,145,269,5 script Starter 4_M_JOB_KNIGHT1,{
if ($@race != 0) goto L_Started;
if ($@counting != 0) goto L_Started;
if ($@racecount == 1) goto L_Started;
@@ -112,7 +110,7 @@ OnInit:
}
//Checkpoint 1
-pvp_y_1-5,144,262,5 script Check Point 1 111,0,5,{
+pvp_y_1-5,144,262,5 script Check Point 1 HIDDEN_NPC,0,5,{
end;
OnTouch:
if (@raceid != $@raceid) goto L_Started;
@@ -130,7 +128,7 @@ L_Finished:
}
//Checkpoint 2
-pvp_y_1-5,73,247,5 script Check Point 2 111,6,6,{
+pvp_y_1-5,73,247,5 script Check Point 2 HIDDEN_NPC,6,6,{
end;
OnTouch:
if (@race != 1) goto L_Miss;
@@ -143,7 +141,7 @@ L_Miss:
}
//Checkpoint 3
-pvp_y_1-5,77,44,5 script Check Point 3 111,6,6,{
+pvp_y_1-5,77,44,5 script Check Point 3 HIDDEN_NPC,6,6,{
end;
OnTouch:
if (@race != 2) goto L_Miss;
@@ -156,7 +154,7 @@ L_Miss:
}
//Checkpoint 3
-pvp_y_1-5,249,60,5 script Check Point 4 111,6,6,{
+pvp_y_1-5,249,60,5 script Check Point 4 HIDDEN_NPC,6,6,{
end;
OnTouch:
if (@race != 3) goto L_Miss;
@@ -169,7 +167,7 @@ L_Miss:
}
//Checkpoint 4
-pvp_y_1-5,255,256,5 script Check Point 5 111,6,6,{
+pvp_y_1-5,255,256,5 script Check Point 5 HIDDEN_NPC,6,6,{
end;
OnTouch:
if (@race != 4) goto L_Miss;
@@ -182,7 +180,7 @@ L_Miss:
}
//Finish Line
-pvp_y_1-5,174,244,5 script Finish Line 111,6,6,{
+pvp_y_1-5,174,244,5 script Finish Line HIDDEN_NPC,6,6,{
end;
OnTouch:
if (@raceid != $@raceid) goto L_WrongRace;
@@ -200,39 +198,39 @@ L_WrongRace:
}
//Check Point Marker Flags
-pvp_y_1-5,144,267,4 script Check Point 1#01 722,{
+pvp_y_1-5,144,267,4 script Check Point 1#01 GUILD_FLAG,{
end;
}
-pvp_y_1-5,144,257,4 script Check Point 1#02 722,{
+pvp_y_1-5,144,257,4 script Check Point 1#02 GUILD_FLAG,{
end;
}
-pvp_y_1-5,70,252,3 script Check Point 2#01 722,{
+pvp_y_1-5,70,252,3 script Check Point 2#01 GUILD_FLAG,{
end;
}
-pvp_y_1-5,77,243,3 script Check Point 2#02 722,{
+pvp_y_1-5,77,243,3 script Check Point 2#02 GUILD_FLAG,{
end;
}
-pvp_y_1-5,81,48,1 script Check Point 3#01 722,{
+pvp_y_1-5,81,48,1 script Check Point 3#01 GUILD_FLAG,{
end;
}
-pvp_y_1-5,72,40,1 script Check Point 3#02 722,{
+pvp_y_1-5,72,40,1 script Check Point 3#02 GUILD_FLAG,{
end;
}
-pvp_y_1-5,244,65,7 script Check Point 4#01 722,{
+pvp_y_1-5,244,65,7 script Check Point 4#01 GUILD_FLAG,{
end;
}
-pvp_y_1-5,252,57,7 script Check Point 4#02 722,{
+pvp_y_1-5,252,57,7 script Check Point 4#02 GUILD_FLAG,{
end;
}
-pvp_y_1-5,259,260,5 script Check Point 5#01 722,{
+pvp_y_1-5,259,260,5 script Check Point 5#01 GUILD_FLAG,{
end;
}
-pvp_y_1-5,251,252,5 script Check Point 5#02 722,{
+pvp_y_1-5,251,252,5 script Check Point 5#02 GUILD_FLAG,{
end;
}
-pvp_y_1-5,174,249,4 script Finish Line#01 722,{
+pvp_y_1-5,174,249,4 script Finish Line#01 GUILD_FLAG,{
end;
}
-pvp_y_1-5,174,238,4 script Finish Line#02 722,{
+pvp_y_1-5,174,238,4 script Finish Line#02 GUILD_FLAG,{
end;
}
diff --git a/npc/custom/etc/mvp_arena.txt b/npc/custom/etc/mvp_arena.txt
index d95ed7621..3a1249274 100644
--- a/npc/custom/etc/mvp_arena.txt
+++ b/npc/custom/etc/mvp_arena.txt
@@ -4,8 +4,6 @@
//= Darkchild
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Rooms containing 16 different MVPs
//===== Additional Comments: =================================
@@ -17,7 +15,7 @@
//============================================================
// Entrance
-prontera,154,197,3 script MVP Warper 768,{
+prontera,154,197,3 script MVP Warper 8_M_JPNMASTER,{
mes "[ ^0065DFMVP Warper^000000 ]";
mes "Would you like to enter";
mes "the MVP Arena?";
@@ -27,7 +25,7 @@ prontera,154,197,3 script MVP Warper 768,{
}
// Information
-quiz_00,49,31,4 script MVP Arena Guide 778,{
+quiz_00,49,31,4 script MVP Arena Guide 4_M_TWTEAMAN,{
mes "[ ^0065DFMVP Arena Guide^000000 ]";
mes "Welcome and behold this sacred place. Here you will find out if you truly have what it takes to call yourself a warrior.";
next;
@@ -66,10 +64,10 @@ function script Keeper {
warp "pvp_n_"+.@i+"-"+getarg(0),102,102;
close;
}
-quiz_00,56,31,4 script Alpha MVP 770,{ callfunc "Keeper",2; }
-quiz_00,58,31,4 script Beta MVP 773,{ callfunc "Keeper",3; }
-quiz_00,60,31,4 script Theta MVP 774,{ callfunc "Keeper",4; }
-quiz_00,62,31,4 script Epsilon MVP 776,{ callfunc "Keeper",5; }
+quiz_00,56,31,4 script Alpha MVP 4_F_TWGIRL,{ callfunc "Keeper",2; }
+quiz_00,58,31,4 script Beta MVP 4_F_TWMIDWOMAN,{ callfunc "Keeper",3; }
+quiz_00,60,31,4 script Theta MVP 4_M_TWBOY,{ callfunc "Keeper",4; }
+quiz_00,62,31,4 script Epsilon MVP 4_M_TWMIDMAN,{ callfunc "Keeper",5; }
// Protectors
function script Protector {
@@ -87,38 +85,38 @@ function script Protector {
end;
}
}
-pvp_n_1-2,100,100,4 script MVP-Protector#01 727,{ callfunc "Protector","pvp_n_2-2"; }
-pvp_n_2-2,100,100,4 script MVP-Protector#02 727,{ callfunc "Protector","pvp_n_3-2"; }
-pvp_n_3-2,100,100,4 script MVP-Protector#03 727,{ callfunc "Protector","pvp_n_4-2"; }
-pvp_n_4-2,100,100,4 script MVP-Protector#04 727,{ callfunc "Protector","pvp_n_5-2"; }
-pvp_n_5-2,100,100,4 script MVP-Protector#05 727,{ callfunc "Protector","pvp_n_6-2"; }
-pvp_n_6-2,100,100,4 script MVP-Protector#06 727,{ callfunc "Protector","pvp_n_7-2"; }
-pvp_n_7-2,100,100,4 script MVP-Protector#07 727,{ callfunc "Protector","pvp_n_8-2"; }
-pvp_n_8-2,100,100,4 script MVP-Protector#08 727,{ callfunc "Protector",""; }
-pvp_n_1-3,100,100,4 script MVP-Protector#09 727,{ callfunc "Protector","pvp_n_2-3"; }
-pvp_n_2-3,100,100,4 script MVP-Protector#10 727,{ callfunc "Protector","pvp_n_3-3"; }
-pvp_n_3-3,100,100,4 script MVP-Protector#11 727,{ callfunc "Protector","pvp_n_4-3"; }
-pvp_n_4-3,100,100,4 script MVP-Protector#12 727,{ callfunc "Protector","pvp_n_5-3"; }
-pvp_n_5-3,100,100,4 script MVP-Protector#13 727,{ callfunc "Protector","pvp_n_6-3"; }
-pvp_n_6-3,100,100,4 script MVP-Protector#14 727,{ callfunc "Protector","pvp_n_7-3"; }
-pvp_n_7-3,100,100,4 script MVP-Protector#15 727,{ callfunc "Protector","pvp_n_8-3"; }
-pvp_n_8-3,100,100,4 script MVP-Protector#16 727,{ callfunc "Protector",""; }
-pvp_n_1-4,100,100,4 script MVP-Protector#17 727,{ callfunc "Protector","pvp_n_2-4"; }
-pvp_n_2-4,100,100,4 script MVP-Protector#18 727,{ callfunc "Protector","pvp_n_3-4"; }
-pvp_n_3-4,100,100,4 script MVP-Protector#19 727,{ callfunc "Protector","pvp_n_4-4"; }
-pvp_n_4-4,100,100,4 script MVP-Protector#20 727,{ callfunc "Protector","pvp_n_5-4"; }
-pvp_n_5-4,100,100,4 script MVP-Protector#21 727,{ callfunc "Protector","pvp_n_6-4"; }
-pvp_n_6-4,100,100,4 script MVP-Protector#22 727,{ callfunc "Protector","pvp_n_7-4"; }
-pvp_n_7-4,100,100,4 script MVP-Protector#23 727,{ callfunc "Protector","pvp_n_8-4"; }
-pvp_n_8-4,100,100,4 script MVP-Protector#24 727,{ callfunc "Protector",""; }
-pvp_n_1-5,100,100,4 script MVP-Protector#25 727,{ callfunc "Protector","pvp_n_2-5"; }
-pvp_n_2-5,100,100,4 script MVP-Protector#26 727,{ callfunc "Protector","pvp_n_3-5"; }
-pvp_n_3-5,100,100,4 script MVP-Protector#27 727,{ callfunc "Protector","pvp_n_4-5"; }
-pvp_n_4-5,100,100,4 script MVP-Protector#28 727,{ callfunc "Protector","pvp_n_5-5"; }
-pvp_n_5-5,100,100,4 script MVP-Protector#29 727,{ callfunc "Protector","pvp_n_6-5"; }
-pvp_n_6-5,100,100,4 script MVP-Protector#30 727,{ callfunc "Protector","pvp_n_7-5"; }
-pvp_n_7-5,100,100,4 script MVP-Protector#31 727,{ callfunc "Protector","pvp_n_8-5"; }
-pvp_n_8-5,100,100,4 script MVP-Protector#32 727,{ callfunc "Protector",""; }
+pvp_n_1-2,100,100,4 script MVP-Protector#01 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-2"; }
+pvp_n_2-2,100,100,4 script MVP-Protector#02 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-2"; }
+pvp_n_3-2,100,100,4 script MVP-Protector#03 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-2"; }
+pvp_n_4-2,100,100,4 script MVP-Protector#04 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-2"; }
+pvp_n_5-2,100,100,4 script MVP-Protector#05 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-2"; }
+pvp_n_6-2,100,100,4 script MVP-Protector#06 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-2"; }
+pvp_n_7-2,100,100,4 script MVP-Protector#07 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-2"; }
+pvp_n_8-2,100,100,4 script MVP-Protector#08 4_F_JOB_HUNTER,{ callfunc "Protector",""; }
+pvp_n_1-3,100,100,4 script MVP-Protector#09 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-3"; }
+pvp_n_2-3,100,100,4 script MVP-Protector#10 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-3"; }
+pvp_n_3-3,100,100,4 script MVP-Protector#11 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-3"; }
+pvp_n_4-3,100,100,4 script MVP-Protector#12 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-3"; }
+pvp_n_5-3,100,100,4 script MVP-Protector#13 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-3"; }
+pvp_n_6-3,100,100,4 script MVP-Protector#14 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-3"; }
+pvp_n_7-3,100,100,4 script MVP-Protector#15 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-3"; }
+pvp_n_8-3,100,100,4 script MVP-Protector#16 4_F_JOB_HUNTER,{ callfunc "Protector",""; }
+pvp_n_1-4,100,100,4 script MVP-Protector#17 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-4"; }
+pvp_n_2-4,100,100,4 script MVP-Protector#18 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-4"; }
+pvp_n_3-4,100,100,4 script MVP-Protector#19 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-4"; }
+pvp_n_4-4,100,100,4 script MVP-Protector#20 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-4"; }
+pvp_n_5-4,100,100,4 script MVP-Protector#21 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-4"; }
+pvp_n_6-4,100,100,4 script MVP-Protector#22 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-4"; }
+pvp_n_7-4,100,100,4 script MVP-Protector#23 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-4"; }
+pvp_n_8-4,100,100,4 script MVP-Protector#24 4_F_JOB_HUNTER,{ callfunc "Protector",""; }
+pvp_n_1-5,100,100,4 script MVP-Protector#25 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-5"; }
+pvp_n_2-5,100,100,4 script MVP-Protector#26 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-5"; }
+pvp_n_3-5,100,100,4 script MVP-Protector#27 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-5"; }
+pvp_n_4-5,100,100,4 script MVP-Protector#28 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-5"; }
+pvp_n_5-5,100,100,4 script MVP-Protector#29 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-5"; }
+pvp_n_6-5,100,100,4 script MVP-Protector#30 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-5"; }
+pvp_n_7-5,100,100,4 script MVP-Protector#31 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-5"; }
+pvp_n_8-5,100,100,4 script MVP-Protector#32 4_F_JOB_HUNTER,{ callfunc "Protector",""; }
// Alpha
pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000
diff --git a/npc/custom/etc/penal_servitude.txt b/npc/custom/etc/penal_servitude.txt
index 414458cb9..e78833b66 100644
--- a/npc/custom/etc/penal_servitude.txt
+++ b/npc/custom/etc/penal_servitude.txt
@@ -1,11 +1,9 @@
//===== Hercules Script ======================================
-//= Penal Servitude
+//= Penal Servitude
//===== By: ==================================================
//= Lupus
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= A simple Penal Servitude Script.
//= It could cheer up your prisoners a bit.
@@ -16,10 +14,10 @@
// 1.2 Stricted the conditions a bit
//============================================================
-sec_pri,36,58,1 script Chief Warder 105,{
+sec_pri,36,58,1 script Chief Warder 8W_SOLDIER,{
mes "[Saddeus]";
emotion 1;
- if(sex) {
+ if(Sex) {
mes "Mr. Prisoner #"+BaseLevel+JobLevel+",";
} else {
mes "Ms. Prisoner #"+BaseLevel+JobLevel+",";
@@ -45,7 +43,7 @@ M_PAY:
M_PAYCASH:
if (@MUSTPAY>Zeny) goto L_NOCASH;
- set Zeny,Zeny-@MUSTPAY;
+ Zeny -= @MUSTPAY;
mes "[Saddeus]";
mes "OK, sing here and there.";
goto L_RELEASE;
@@ -122,14 +120,14 @@ L_W4:
close;
M_NO_THANKS:
- mes "[Saddeus]";
+ mes "[Saddeus]";
if (rand(2)) mes "Is today X-Mas time, huh?";
mes "Now shut up and back off!";
if (rand(2)) emotion 23;
- close;
+ close;
}
-sec_in02,137,57,1 script Overseer 708,{
+sec_in02,137,57,1 script Overseer 4_M_PAY_SOLDIER,{
mes "[Oliver]";
delitem 4002,countitem(4002);//Items: Fabre_Card,
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index 840325636..b9bfcf74f 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -4,8 +4,6 @@
//= DZeroX, Darkchild, Neouni
//===== Current Version: =====================================
//= 2.3
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Warper that works only after locations are unlocked.
//===== Additional Comments: =================================
@@ -96,7 +94,7 @@ function script Q_Warpra {
case 10: goto L_GStorage;
case 11:
default:
- goto L_end;
+ goto L_End;
}
//=====================GM-Menu=Functions===========================
@@ -322,14 +320,14 @@ L_town:
freeloop(0);
set @TWMenu,select(.@menu$);
- if (@Tmenuref[@TWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
+ if (@Tmenuref[@TWMenu-1] == 57005) goto L_End; // 57005='dead' in hex
if(Zeny<@pTprice[@Tmenuref[@TWMenu-1]]) callsub L_Short_on_zeny,0;
- set Zeny, Zeny-@pTprice[@Tmenuref[@TWMenu-1]];
+ Zeny -= @pTprice[@Tmenuref[@TWMenu-1]];
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@pTprice[@Tmenuref[@TWMenu-1]]/16);
warp @pTmap$[@Tmenuref[@TWMenu-1]],@pTXcoords[@Tmenuref[@TWMenu-1]],@pTYcoords[@Tmenuref[@TWMenu-1]];
close2;
- set Zeny, Zeny+@pTprice[@Tmenuref[@TWMenu-1]];
+ Zeny += @pTprice[@Tmenuref[@TWMenu-1]];
end;
//=========================Dungeons================================
@@ -343,7 +341,7 @@ L_dungeon:
freeloop(0);
set @DWMenu,select(.@menu$);
- if (@Dmenuref[@DWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
+ if (@Dmenuref[@DWMenu-1] == 57005) goto L_End; // 57005='dead' in hex
set @DwarpMenu, (@Dmenuref[@DWMenu-1]);
callfunc "QWS_DLarray";
@@ -357,17 +355,17 @@ L_dungeon:
freeloop(0);
set @DWLMenu,select(.@menu$);
- if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex
+ if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_End; // 57005='dead' in hex
set @Darrayref, @DWLmenuref[@DWLMenu-1];
set @warpprice, @pDprice[@Dmenuref[@DWMenu-1]]+(getd(@pDfee$[@Dmenuref[@DWMenu-1]])*(@DDepth[@Darrayref]));
if(Zeny<@warpprice) callsub L_Short_on_zeny,1;
- set Zeny, Zeny-(@warpprice);
+ Zeny -= (@warpprice);
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@warpprice/16);
warp @DGat$[@Darrayref],@DXcoords[@Darrayref],@DYcoords[@Darrayref];
close2;
- set Zeny, Zeny+@pTprice[@Tmenuref[@DWMenu-1]];
+ Zeny += @pTprice[@Tmenuref[@DWMenu-1]];
end;
//=============================Healing=============================
@@ -375,7 +373,7 @@ L_dungeon:
L_heal_Full:
set @healfee, $QW_HF_PRICE;
if(Zeny<@healfee) callsub L_Short_on_zeny,4;
- set Zeny, Zeny-@healfee;
+ Zeny -= @healfee;
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@healfee/500);
next;
mes "[Warpra]";
@@ -389,28 +387,28 @@ L_heal_Part:
if (@healchoice == 1) callsub PHeal,1,1;
if (@healchoice == 2) callsub PHeal,1,0;
if (@healchoice == 3) callsub PHeal,0,1;
- goto L_end;
+ goto L_End;
PHeal:
next;
set @Hp, MaxHp-Hp;
set @Sp, MaxSp-Sp;
- set @HpPrice, @hp*$QW_HP_H_PRICE;
- set @SpPrice, @sp*$QW_HP_S_PRICE;
+ set @HpPrice, @Hp*$QW_HP_H_PRICE;
+ set @SpPrice, @Sp*$QW_HP_S_PRICE;
mes "[Warpra]";
if(getarg(0) == 1) mes ""+@HpPrice+" Zeny for "+@Hp+" health points";
if(getarg(1) == 1) mes ""+@SpPrice+" Zeny for "+@Sp+" skill points";
set @total, @HpPrice+@SpPrice;
mes "for a total of "+@total+" zeny";
- if (select("Heal me","Let me see the choices again")==2) goto L_heal_Part;
-
- if(getarg(0) == 1)set @HpPrice, (MaxHp-Hp)*$QW_HP_H_PRICE;
+ if (select("Heal me","Let me see the choices again")==2) goto L_heal_Part;
+
+ if(getarg(0) == 1)set @HpPrice, (MaxHp-Hp)*$QW_HP_H_PRICE;
if(getarg(1) == 1)set @SpPrice, (MaxSp-Sp)*$QW_HP_S_PRICE;
set @healfee, @HpPrice+@SpPrice;
if (getarg(0) == 1)&&(getarg(1) == 1)&&(Zeny<@healfee) goto Zeny_Short_Both;
if (getarg(0) == 1)&&(Zeny<@healfee) goto Zeny_short_HP;
if (getarg(1) == 1)&&(Zeny<@healfee) goto Zeny_short_SP;
- set Zeny, Zeny-@healfee;
+ Zeny -= @healfee;
if (getarg(0) == 1)&&(getarg(1) == 1) percentheal 100,100;
if (getarg(0) == 1) percentheal 100,0;
if (getarg(1) == 1) percentheal 0,100;
@@ -421,18 +419,18 @@ Zeny_Short_Both:
mes "[Warpra]";
mes "Choose another option, you can afford both.";
mes "I can heal as much as you can afford, too.";
- if (select("OK","Exit") == 2) goto L_end;
+ if (select("OK","Exit") == 2) goto L_End;
goto PHeal;
Zeny_short_HP:
mes "[Warpra]";
mes "Do you want me to partly heal your HP?";
- if (select("Yes","No") == 2) goto L_end;
+ if (select("Yes","No") == 2) goto L_End;
set @Hp, Zeny/$QW_HP_H_PRICE;
- set @HpPrice, @Hp*$QW_HP_H_PRICE;
- if (@Hp == 1) mes "You're not worth the effort.";
- if (@Hp == 1) goto L_end;
- set Zeny, Zeny-@HpPrice;
+ set @HpPrice, @Hp*$QW_HP_H_PRICE;
+ if (@Hp == 1) mes "You're not worth the effort.";
+ if (@Hp == 1) goto L_End;
+ Zeny -= @HpPrice;
heal @Hp,0;
close;
end;
@@ -440,12 +438,12 @@ Zeny_short_HP:
Zeny_short_SP:
mes "[Warpra]";
mes "Do you want me to partly heal your SP?";
- if (select("Yes","No") == 2) goto L_end;
+ if (select("Yes","No") == 2) goto L_End;
set @Sp, Zeny/$QW_HP_S_PRICE;
- set @SpPrice, @Sp*$QW_HP_S_PRICE;
- if (@Sp == 1) mes "You're not worth the effort.";
- if (@Sp == 1) goto L_end;
- set Zeny, Zeny-@SpPrice;
+ set @SpPrice, @Sp*$QW_HP_S_PRICE;
+ if (@Sp == 1) mes "You're not worth the effort.";
+ if (@Sp == 1) goto L_End;
+ Zeny -= @SpPrice;
heal 0,@Sp;
close;
end;
@@ -459,7 +457,7 @@ L_Storage:
if ($QW_S_PRICE == 60)&&(BaseJob == Job_Novice) set @fee, 30;
if ($QW_S_PRICE == 60)&&(BaseJob != Job_Novice) set @fee, 60;
if(Zeny<@fee) callsub L_Short_on_zeny,2;
- set Zeny, Zeny-@fee;
+ Zeny -= @fee;
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@fee/5);
mes "[Warpra]";
@@ -493,16 +491,16 @@ L_GStorage:
end;
}
if (Zeny<$QW_GS_PRICE) callsub L_Short_on_zeny,3;
- set Zeny, Zeny-$QW_GS_PRICE;
+ Zeny -= $QW_GS_PRICE;
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + ($QW_GS_PRICE/5);
next;
mes "[Warpra]";
- mes "Close this window and I will open the ^5533FF" + GetGuildName(@GID) + "^000000 storage.";
+ mes "Close this window and I will open the ^5533FF" + getguildname(@GID) + "^000000 storage.";
close2;
guildopenstorage;
end;
-L_end:
+L_End:
close;
end;
@@ -680,7 +678,7 @@ function script QWS_MMarray {
// QWS_Make_Town_Menu 0; // Use a free number (last used is 30, Eclage)
//
// Adding a warpra:
-// map,x,y,facing script Warpra#example 113,{
+// map,x,y,facing script Warpra#example 4_F_KAFRA5,{
// callfunc "QWS_Town_Warpra",<town number>,"Your Town";
// close;
// }
@@ -1024,7 +1022,7 @@ menu_item:
// QWS_Make_Dungeon_Menu 0; // Use a free number (last used is 28, Kiel Dungeon)
//
// Adding a warpra:
-// map,x,y,facing script Warpra Helper#example 112,{
+// map,x,y,facing script Warpra Helper#example 4_F_KAFRA6,{
// callfunc "QWS_Dungeon_Warpra",<dungeon number>,"Your Dungeon";
// close;
// }
@@ -1067,7 +1065,7 @@ function script QWS_Darray {
QWS_Make_Dungeon_Menu 1;
//----------------ANT HELL
- setarray @pDmenuitems$[@Di], "Ant Hell Dungeon";
+ setarray @pDmenuitems$[@Di], "Ant Hell Dungeon";
setarray @pDprice[@Di], $QW_BW_PRICE;
setarray @pDfee$[@Di], "$QW_BW_FEE";
setarray @DLevels[2], 2;
@@ -1614,79 +1612,79 @@ binget:
//============================Warpras==============================
- script Warpra#0 -1,{ callfunc "Q_Warpra",1; }
-alb2trea,73,101,4 duplicate(Warpra#0) Warpra#1 113
-ama_fild01,178,325,1 duplicate(Warpra#0) Warpra#2 113
-gef_fild10,71,339,4 duplicate(Warpra#0) Warpra#3 113
-izlu2dun,104,82,4 duplicate(Warpra#0) Warpra#4 113
-mjolnir_02,85,363,4 duplicate(Warpra#0) Warpra#5 113
-moc_fild04,207,331,4 duplicate(Warpra#0) Warpra#6 113
-moc_fild19,106,97,4 duplicate(Warpra#0) Warpra#7 113
-moc_ruins,64,166,4 duplicate(Warpra#0) Warpra#8 113
-niflheim,197,192,3 duplicate(Warpra#0) Warpra#9 113
-pay_arche,39,135,4 duplicate(Warpra#0) Warpra#10 113
-prt_fild05,273,215,4 duplicate(Warpra#0) Warpra#11 113
-tur_dun01,148,239,4 duplicate(Warpra#0) Warpra#12 113
-valkyrie,48,35,8 duplicate(Warpra#0) Warpra#13 113
-yuno_fild03,37,135,4 duplicate(Warpra#0) Warpra#14 113
-
-alberta,32,240,4 script Warpra#15 113,{ callfunc "QWS_Town_Warpra",1,"Alberta Town"; close; }
-aldebaran,146,118,4 script Warpra#16 113,{ callfunc "QWS_Town_Warpra",2,"Aldebaran Town"; close; }
-ayothaya,216,171,5 script Warpra#17 113,{ callfunc "QWS_Town_Warpra",4,"Ayotaya Town"; close; }
-amatsu,193,81,1 script Warpra#18 113,{ callfunc "QWS_Town_Warpra",3,"Amatsu Town"; close; }
-comodo,195,158,4 script Warpra#19 113,{ callfunc "QWS_Town_Warpra",5,"Comodo Town"; close; }
-einbroch,229,196,5 script Warpra#20 113,{ callfunc "QWS_Town_Warpra",7,"Einbroch Town"; close; }
-einbech,173,131,5 script Warpra#21 113,{ callfunc "QWS_Town_Warpra",6,"Einbech Town"; close; }
-geffen,116,66,4 script Warpra#22 113,{ callfunc "QWS_Town_Warpra",8,"Geffen Town"; close; }
-gonryun,152,130,4 script Warpra#23 113,{ callfunc "QWS_Town_Warpra",9,"Gonryun Town"; close; }
-hugel,90,127,5 script Warpra#24 113,{ callfunc "QWS_Town_Warpra",10,"Hugel Town"; close; }
-jawaii,107,182,5 script Warpra#25 113,{ callfunc "QWS_Town_Warpra",12,"Jawaii Town"; close; }
-izlude,132,116,4 script Warpra#26 113,{ callfunc "QWS_Town_Warpra",11,"Izlude Town"; close; }
-lighthalzen,153,100,5 script Warpra#27 113,{ callfunc "QWS_Town_Warpra",13,"Lighthalzen Town"; close; }
-louyang,211,106,4 script Warpra#28 113,{ callfunc "QWS_Town_Warpra",14,"Louyang Town"; close; }
-morocc,157,95,4 script Warpra#29 113,{ callfunc "QWS_Town_Warpra",16,"Morroc Town"; close; }
-nif_fild01,319,77,1 script Warpra#30 113,{ callfunc "QWS_Town_Warpra",17,"Niflheim Town"; close; }
-payon,183,110,4 script Warpra#31 113,{ callfunc "QWS_Town_Warpra",18,"Payon Town"; close; }
-prontera,147,172,5 script Warpra#32 113,{ callfunc "QWS_Town_Warpra",0,"Prontera Town"; close; }
-umbala,133,130,4 script Warpra#33 113,{ callfunc "QWS_Town_Warpra",19,"Umbala Town"; close; }
-xmas,151,136,4 script Warpra#34 113,{ callfunc "QWS_Town_Warpra",15,"Lutie Town"; close; }
-yuno,138,162,4 script Warpra#35 113,{ callfunc "QWS_Town_Warpra",20,"Yuno Town"; close; }
-brasilis,201,222,4 script Warpra#36 113,{ callfunc "QWS_Town_Warpra",21,"Brasilis Town"; close; }
-dicastes01,194,194,6 script Warpra#37 113,{ callfunc "QWS_Town_Warpra",22,"El Dicastes Town"; close; }
-manuk,262,177,4 script Warpra#38 113,{ callfunc "QWS_Town_Warpra",23,"Manuk Town"; close; }
-mora,110,100,4 script Warpra#39 113,{ callfunc "QWS_Town_Warpra",24,"Mora Town"; close; }
-moscovia,216,196,6 script Warpra#40 113,{ callfunc "QWS_Town_Warpra",25,"Moscovia Town"; close; }
-rachel,135,116,4 script Warpra#41 113,{ callfunc "QWS_Town_Warpra",26,"Rachel Town"; close; }
-splendide,205,153,4 script Warpra#42 113,{ callfunc "QWS_Town_Warpra",27,"Splendide Town"; close; }
-veins,214,123,4 script Warpra#43 113,{ callfunc "QWS_Town_Warpra",28,"Veins Town"; close; }
-dewata,194,178,6 script Warpra#44 113,{ callfunc "QWS_Town_Warpra",29,"Dewata Town"; close; }
-eclage,107,37,4 script Warpra#45 113,{ callfunc "QWS_Town_Warpra",30,"Eclage Town"; close; }
-
-abyss_02,274,266,1 script Warpra Helper#0 112,{ callfunc "QWS_Dungeon_Warpra",0,"Abyss Lake"; close; }
-ama_dun02,192,118,5 script Warpra Helper#1 112,{ callfunc "QWS_Dungeon_Warpra",1,"Amatsu Dungeon"; close; }
-anthell02,170,165,3 script Warpra Helper#2 112,{ callfunc "QWS_Dungeon_Warpra",2,"Ant Hell Dungeon"; close; }
-ayo_dun02,258,193,5 script Warpra Helper#3 112,{ callfunc "QWS_Dungeon_Warpra",3,"Ayotaya Dungeon"; close; }
-ein_dun02,292,282,1 script Warpra Helper#4 112,{ callfunc "QWS_Dungeon_Warpra",8,"Einbech Dungeon"; close; }
-iz_dun03,202,47,2 script Warpra Helper#5 112,{ callfunc "QWS_Dungeon_Warpra",4,"Byalan Dungeon"; close; }
-c_tower3,129,106,4 script Warpra Helper#6 112,{ callfunc "QWS_Dungeon_Warpra",5,"Clock Tower Dungeon"; close; }
-mjo_dun02,39,25,4 script Warpra Helper#7 112,{ callfunc "QWS_Dungeon_Warpra",6,"Coal Mine Dungeon"; close; }
-prt_sewb2,176,30,3 script Warpra Helper#8 112,{ callfunc "QWS_Dungeon_Warpra",7,"Culvert Dungeon"; close; }
-gefenia03,137,34,0 script Warpra Helper#9 112,{ callfunc "QWS_Dungeon_Warpra",9,"Gefenia Dungeon"; close; }
-gef_dun02,218,61,2 script Warpra Helper#10 112,{ callfunc "QWS_Dungeon_Warpra",10,"Gefen Dungeon"; close; }
-glast_01,371,308,3 script Warpra Helper#11 112,{ callfunc "QWS_Dungeon_Warpra",11,"Glast Heim Dungeon"; close; }
-gon_dun01,167,273,4 script Warpra Helper#12 112,{ callfunc "QWS_Dungeon_Warpra",12,"Gonryun Dungeon"; close; }
-juperos_02,127,154,5 script Warpra Helper#13 112,{ callfunc "QWS_Dungeon_Warpra",14,"Juperos Cave"; close; }
-kh_dun01,14,224,3 script Warpra Helper#14 112,{ callfunc "QWS_Dungeon_Warpra",28,"Kiel Dungeon"; close; }
-lhz_dun02,156,151,5 script Warpra Helper#15 112,{ callfunc "QWS_Dungeon_Warpra",15,"Lighthalzen Bio Lab"; close; }
-lou_dun02,168,264,4 script Warpra Helper#16 112,{ callfunc "QWS_Dungeon_Warpra",16,"Louyang Dungeon"; close; }
-mag_dun02,46,41,3 script Warpra Helper#17 112,{ callfunc "QWS_Dungeon_Warpra",17,"Magma Dungeon"; close; }
-odin_tem01,115,148,3 script Warpra Helper#18 112,{ callfunc "QWS_Dungeon_Warpra",18,"Odin Temple"; close; }
-orcsdun01,185,11,3 script Warpra Helper#19 112,{ callfunc "QWS_Dungeon_Warpra",19,"Orc Dungeon"; close; }
-pay_dun03,162,143,3 script Warpra Helper#20 112,{ callfunc "QWS_Dungeon_Warpra",20,"Payon Dungeon"; close; }
-moc_pryd02,101,95,3 script Warpra Helper#21 112,{ callfunc "QWS_Dungeon_Warpra",21,"Pyramides Dungeon"; close; }
-in_sphinx2,274,268,1 script Warpra Helper#22 112,{ callfunc "QWS_Dungeon_Warpra",22,"Sphinx Dungeon"; close; }
-tha_t07,111,162,3 script Warpra Helper#23 112,{ callfunc "QWS_Dungeon_Warpra",24,"Thanatos Tower"; close; }
-treasure02,104,40,3 script Warpra Helper#24 112,{ callfunc "QWS_Dungeon_Warpra",23,"Sunken Ship Dungeon"; close; }
-xmas_dun02,124,131,3 script Warpra Helper#25 112,{ callfunc "QWS_Dungeon_Warpra",25,"Toy Factory Dungeon"; close; }
-um_dun02,44,28,3 script Warpra Helper#26 112,{ callfunc "QWS_Dungeon_Warpra",27,"Umbala Dungeon"; close; }
-tur_dun02,162,23,3 script Warpra Helper#27 112,{ callfunc "QWS_Dungeon_Warpra",26,"Turtle Island Dungeon"; close; }
-prt_maze02,102,69,4 script Warpra Helper#28 112,{ callfunc "QWS_Dungeon_Warpra",13,"Hidden Dungeon"; close; } \ No newline at end of file
+alb2trea,73,101,4 duplicate(Warpra#0) Warpra#1 4_F_KAFRA5
+ama_fild01,178,325,1 duplicate(Warpra#0) Warpra#2 4_F_KAFRA5
+gef_fild10,71,339,4 duplicate(Warpra#0) Warpra#3 4_F_KAFRA5
+izlu2dun,104,82,4 duplicate(Warpra#0) Warpra#4 4_F_KAFRA5
+mjolnir_02,85,363,4 duplicate(Warpra#0) Warpra#5 4_F_KAFRA5
+moc_fild04,207,331,4 duplicate(Warpra#0) Warpra#6 4_F_KAFRA5
+moc_fild19,106,97,4 duplicate(Warpra#0) Warpra#7 4_F_KAFRA5
+moc_ruins,64,166,4 duplicate(Warpra#0) Warpra#8 4_F_KAFRA5
+niflheim,197,192,3 duplicate(Warpra#0) Warpra#9 4_F_KAFRA5
+pay_arche,39,135,4 duplicate(Warpra#0) Warpra#10 4_F_KAFRA5
+prt_fild05,273,215,4 duplicate(Warpra#0) Warpra#11 4_F_KAFRA5
+tur_dun01,148,239,4 duplicate(Warpra#0) Warpra#12 4_F_KAFRA5
+valkyrie,48,35,8 duplicate(Warpra#0) Warpra#13 4_F_KAFRA5
+yuno_fild03,37,135,4 duplicate(Warpra#0) Warpra#14 4_F_KAFRA5
+
+alberta,32,240,4 script Warpra#15 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",1,"Alberta Town"; close; }
+aldebaran,146,118,4 script Warpra#16 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",2,"Aldebaran Town"; close; }
+ayothaya,216,171,5 script Warpra#17 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",4,"Ayotaya Town"; close; }
+amatsu,193,81,1 script Warpra#18 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",3,"Amatsu Town"; close; }
+comodo,195,158,4 script Warpra#19 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",5,"Comodo Town"; close; }
+einbroch,229,196,5 script Warpra#20 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",7,"Einbroch Town"; close; }
+einbech,173,131,5 script Warpra#21 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",6,"Einbech Town"; close; }
+geffen,116,66,4 script Warpra#22 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",8,"Geffen Town"; close; }
+gonryun,152,130,4 script Warpra#23 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",9,"Gonryun Town"; close; }
+hugel,90,127,5 script Warpra#24 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",10,"Hugel Town"; close; }
+jawaii,107,182,5 script Warpra#25 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",12,"Jawaii Town"; close; }
+izlude,132,116,4 script Warpra#26 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",11,"Izlude Town"; close; }
+lighthalzen,153,100,5 script Warpra#27 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",13,"Lighthalzen Town"; close; }
+louyang,211,106,4 script Warpra#28 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",14,"Louyang Town"; close; }
+morocc,157,95,4 script Warpra#29 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",16,"Morroc Town"; close; }
+nif_fild01,319,77,1 script Warpra#30 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",17,"Niflheim Town"; close; }
+payon,183,110,4 script Warpra#31 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",18,"Payon Town"; close; }
+prontera,147,172,5 script Warpra#32 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",0,"Prontera Town"; close; }
+umbala,133,130,4 script Warpra#33 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",19,"Umbala Town"; close; }
+xmas,151,136,4 script Warpra#34 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",15,"Lutie Town"; close; }
+yuno,138,162,4 script Warpra#35 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",20,"Yuno Town"; close; }
+brasilis,201,222,4 script Warpra#36 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",21,"Brasilis Town"; close; }
+dicastes01,194,194,6 script Warpra#37 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",22,"El Dicastes Town"; close; }
+manuk,262,177,4 script Warpra#38 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",23,"Manuk Town"; close; }
+mora,110,100,4 script Warpra#39 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",24,"Mora Town"; close; }
+moscovia,216,196,6 script Warpra#40 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",25,"Moscovia Town"; close; }
+rachel,135,116,4 script Warpra#41 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",26,"Rachel Town"; close; }
+splendide,205,153,4 script Warpra#42 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",27,"Splendide Town"; close; }
+veins,214,123,4 script Warpra#43 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",28,"Veins Town"; close; }
+dewata,194,178,6 script Warpra#44 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",29,"Dewata Town"; close; }
+eclage,107,37,4 script Warpra#45 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",30,"Eclage Town"; close; }
+
+abyss_02,274,266,1 script Warpra Helper#0 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",0,"Abyss Lake"; close; }
+ama_dun02,192,118,5 script Warpra Helper#1 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",1,"Amatsu Dungeon"; close; }
+anthell02,170,165,3 script Warpra Helper#2 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",2,"Ant Hell Dungeon"; close; }
+ayo_dun02,258,193,5 script Warpra Helper#3 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",3,"Ayotaya Dungeon"; close; }
+ein_dun02,292,282,1 script Warpra Helper#4 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",8,"Einbech Dungeon"; close; }
+iz_dun03,202,47,2 script Warpra Helper#5 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",4,"Byalan Dungeon"; close; }
+c_tower3,129,106,4 script Warpra Helper#6 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",5,"Clock Tower Dungeon"; close; }
+mjo_dun02,39,25,4 script Warpra Helper#7 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",6,"Coal Mine Dungeon"; close; }
+prt_sewb2,176,30,3 script Warpra Helper#8 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",7,"Culvert Dungeon"; close; }
+gefenia03,137,34,0 script Warpra Helper#9 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",9,"Gefenia Dungeon"; close; }
+gef_dun02,218,61,2 script Warpra Helper#10 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",10,"Gefen Dungeon"; close; }
+glast_01,371,308,3 script Warpra Helper#11 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",11,"Glast Heim Dungeon"; close; }
+gon_dun01,167,273,4 script Warpra Helper#12 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",12,"Gonryun Dungeon"; close; }
+juperos_02,127,154,5 script Warpra Helper#13 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",14,"Juperos Cave"; close; }
+kh_dun01,14,224,3 script Warpra Helper#14 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",28,"Kiel Dungeon"; close; }
+lhz_dun02,156,151,5 script Warpra Helper#15 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",15,"Lighthalzen Bio Lab"; close; }
+lou_dun02,168,264,4 script Warpra Helper#16 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",16,"Louyang Dungeon"; close; }
+mag_dun02,46,41,3 script Warpra Helper#17 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",17,"Magma Dungeon"; close; }
+odin_tem01,115,148,3 script Warpra Helper#18 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",18,"Odin Temple"; close; }
+orcsdun01,185,11,3 script Warpra Helper#19 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",19,"Orc Dungeon"; close; }
+pay_dun03,162,143,3 script Warpra Helper#20 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",20,"Payon Dungeon"; close; }
+moc_pryd02,101,95,3 script Warpra Helper#21 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",21,"Pyramides Dungeon"; close; }
+in_sphinx2,274,268,1 script Warpra Helper#22 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",22,"Sphinx Dungeon"; close; }
+tha_t07,111,162,3 script Warpra Helper#23 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",24,"Thanatos Tower"; close; }
+treasure02,104,40,3 script Warpra Helper#24 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",23,"Sunken Ship Dungeon"; close; }
+xmas_dun02,124,131,3 script Warpra Helper#25 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",25,"Toy Factory Dungeon"; close; }
+um_dun02,44,28,3 script Warpra Helper#26 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",27,"Umbala Dungeon"; close; }
+tur_dun02,162,23,3 script Warpra Helper#27 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",26,"Turtle Island Dungeon"; close; }
+prt_maze02,102,69,4 script Warpra Helper#28 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",13,"Hidden Dungeon"; close; }
diff --git a/npc/custom/etc/rpsroulette.txt b/npc/custom/etc/rpsroulette.txt
index 87048a97b..22123580d 100644
--- a/npc/custom/etc/rpsroulette.txt
+++ b/npc/custom/etc/rpsroulette.txt
@@ -4,8 +4,6 @@
//= acky
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
//===== Additional Comments: =================================
@@ -13,12 +11,12 @@
//= 1.2 Fixes by Blackthunder and me [Poki#3]
//============================================================
-cmd_in02,182,126,2 script Crazy Boris 85,{
+cmd_in02,182,126,2 script Crazy Boris 4_M_03,{
mes "Crazy Boris";
set @counter,1;
mes "Hey you! Up for Rock Scissors Roulette?";
next;
- menu "Let me play.",PLAY,"Explain the rules.",RULES,"Leave",LEAVE;
+ menu "Let me play.",PLAY,"Explain the rules.",L_Rules,"Leave",LEAVE;
SAME:
mes "Draw! Again!";
next;
@@ -39,9 +37,9 @@ LOSE:
PLAY:
mes "Rock... Paper...";
set @opp,rand (1,3);
- menu "^0000FFROCK!",ROCK,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
+ menu "^0000FFROCK!",L_Rock,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
-ROCK:
+L_Rock:
if (@lastchoice == 1) set @opp,rand (1,3);
if (@opp == 1) emotion 11;
if (@opp == 2) emotion 10;
@@ -205,7 +203,7 @@ KILL:
next;
goto PRIZE;
-RULES:
+L_Rules:
mes "Ok here are the rules:";
mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
mes "Beat me to win a prize.";
diff --git a/npc/custom/etc/shifty_assassin.txt b/npc/custom/etc/shifty_assassin.txt
index d0fe41d45..f01a328fb 100644
--- a/npc/custom/etc/shifty_assassin.txt
+++ b/npc/custom/etc/shifty_assassin.txt
@@ -4,8 +4,6 @@
//= acky
//===== Current Version: =====================================
//= 1.1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Players buy ninjas to assassinate other players
//===== Additional Comments: =================================
@@ -13,7 +11,7 @@
//= 1.1.2 Updated WoE Check. [Paradox924X]
//============================================================
-morocc,148,86,5 script Shifty Assassin 725,{
+morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
set $ninja_price,250000;
// STARTS THE MENU //
@@ -50,14 +48,14 @@ M_Buy:
if ($ninja_avail < 1) goto NoNinjas;
if ($ninja_avail < @buy) goto NotEnoughNinjas;
set @price,@buy*$ninja_price;
- if (zeny < @price ) goto NoZeny;
+ if (Zeny < @price ) goto NoZeny;
mes "[Shifty Assassin]";
mes "That will cost you ^0000FF" + @price + " zeny^000000.";
next;
menu "Continue",-,"Cancel",M_Exit;
- set zeny,zeny-@price;
+ Zeny -= @price;
set #ninjas,#ninjas+@buy;
set $ninja_avail,$ninja_avail-@buy;
diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt
index 26d368cdf..060228317 100644
--- a/npc/custom/etc/stock_market.txt
+++ b/npc/custom/etc/stock_market.txt
@@ -4,8 +4,6 @@
//= acky
//===== Current Version: =====================================
//= 1.3.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= NPC for a stock market game.
//===== Additional Comments: =================================
@@ -172,7 +170,7 @@ S_Fluc:
end;
}
-prontera,140,181,5 script Stock Market::stockmarket 109,{
+prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{
// Ensures no trading when default prices have not been set //
set @stotal,$S1+$S2+$S3+$S4+$S5+$S6+$S7+$S8+$S9+$S10;
if (@stotal > 0) goto S_Start;
@@ -279,15 +277,15 @@ S_Sell:
set @sellamount,0;
input @sellamount;
if (@sellamount < 1) goto S_SellInv;
- if (zeny < $S_Trans) goto S_NoZeny;
- set zeny,zeny-$S_Trans;
+ if (Zeny < $S_Trans) goto S_NoZeny;
+ Zeny -= $S_Trans;
SELLS1:
if (@sellname$ != $S1N$) goto SELLS2;
if (@sellamount > #S1) goto S_SellTooHigh;
set @price,@sellamount*$S1;
set #S1,#S1-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S1N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -299,7 +297,7 @@ SELLS2:
if (@sellamount > #S2) goto S_SellTooHigh;
set @price,@sellamount*$S2;
set #S2,#S2-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S2N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -311,7 +309,7 @@ SELLS3:
if (@sellamount > #S3) goto S_SellTooHigh;
set @price,@sellamount*$S3;
set #S3,#S3-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S3N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -323,7 +321,7 @@ SELLS4:
if (@sellamount > #S4) goto S_SellTooHigh;
set @price,@sellamount*$S4;
set #S4,#S4-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S4N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -335,7 +333,7 @@ SELLS5:
if (@sellamount > #S5) goto S_SellTooHigh;
set @price,@sellamount*$S5;
set #S5,#S5-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S5N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -347,7 +345,7 @@ SELLS6:
if (@sellamount > #S6) goto S_SellTooHigh;
set @price,@sellamount*$S6;
set #S6,#S6-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S6N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -359,7 +357,7 @@ SELLS7:
if (@sellamount > #S7) goto S_SellTooHigh;
set @price,@sellamount*$S7;
set #S7,#S7-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S7N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -371,7 +369,7 @@ SELLS8:
if (@sellamount > #S8) goto S_SellTooHigh;
set @price,@sellamount*$S8;
set #S8,#S8-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S8N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -383,7 +381,7 @@ SELLS9:
if (@sellamount > #S9) goto S_SellTooHigh;
set @price,@sellamount*$S9;
set #S9,#S9-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S9N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -395,7 +393,7 @@ SELLS10:
if (@sellamount > #S10) goto S_SellTooHigh;
set @price,@sellamount*$S10;
set #S10,#S10-@sellamount;
- set zeny,zeny+@price;
+ Zeny += @price;
next;
mes "Sold " + @sellamount + " " + $S10N$ + " shares.";
mes "Earned ^0000FF"+@price+"z^000000.";
@@ -444,18 +442,18 @@ S_Buy:
// Checks valid number //
if (@buyamount < $S_BuyMin) goto S_TooLow;
if (@buyamount > $S_BuyMax) goto S_TooHigh;
- if (zeny < $S_Trans) goto S_NoZeny;
- set zeny,zeny-$S_Trans;
+ if (Zeny < $S_Trans) goto S_NoZeny;
+ Zeny -= $S_Trans;
// Purchases the shares //
PURS1:
if (@buyname$ != $S1N$) goto PURS2;
set @price,@buyamount*$S1;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S1,#S1+@buyamount;
set @price,@buyamount*$S1;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S1N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -464,9 +462,9 @@ PURS1:
PURS2:
if (@buyname$ != $S2N$) goto PURS3;
set @price,@buyamount*$S2;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S2,#S2+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S2N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -475,9 +473,9 @@ PURS2:
PURS3:
if (@buyname$ != $S3N$) goto PURS4;
set @price,@buyamount*$S3;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S3,#S3+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S3N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -486,9 +484,9 @@ PURS3:
PURS4:
if (@buyname$ != $S4N$) goto PURS5;
set @price,@buyamount*$S4;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S4,#S4+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S4N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -497,9 +495,9 @@ PURS4:
PURS5:
if (@buyname$ != $S5N$) goto PURS6;
set @price,@buyamount*$S5;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S5,#S5+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S5N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -508,9 +506,9 @@ PURS5:
PURS6:
if (@buyname$ != $S6N$) goto PURS7;
set @price,@buyamount*$S6;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S6,#S6+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S6N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -519,9 +517,9 @@ PURS6:
PURS7:
if (@buyname$ != $S7N$) goto PURS8;
set @price,@buyamount*$S7;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S7,#S7+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S7N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -530,9 +528,9 @@ PURS7:
PURS8:
if (@buyname$ != $S8N$) goto PURS9;
set @price,@buyamount*$S8;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S8,#S8+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S8N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -541,9 +539,9 @@ PURS8:
PURS9:
if (@buyname$ != $S9N$) goto PURS10;
set @price,@buyamount*$S9;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S9,#S9+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S9N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
@@ -552,9 +550,9 @@ PURS9:
PURS10:
if (@buyname$ != $S10N$) goto PURS11;
set @price,@buyamount*$S10;
- if (zeny < @price) goto S_NoZeny;
+ if (Zeny < @price) goto S_NoZeny;
set #S10,#S10+@buyamount;
- set zeny,zeny-@price;
+ Zeny -= @price;
mes "Bought " + @buyamount + " " + $S10N$ + " shares.";
mes "Lost ^0000FF"+@price+"z^000000.";
next;
diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt
index cf296cb18..1f32f9f25 100644
--- a/npc/custom/events/cluckers.txt
+++ b/npc/custom/events/cluckers.txt
@@ -5,8 +5,8 @@
//===== Current Version: =====================================
//= 1.2a
//===== Description: =========================================
-//= Click the chicken and try retrieve the item at a low
-//= chance. If you fail he will nuke, freeze, stone,
+//= Click the chicken and try retrieve the item at a low
+//= chance. If you fail he will nuke, freeze, stone,
//= stun, or make you fall asleep.
//= The prize is configurable and triggered by the NPC.
//===== Additional Comments: =================================
@@ -16,7 +16,7 @@
//= 1.2a Switched 'atcommand' to 'unitskilluseid'.
//============================================================
-prontera,156,219,4 script Cluckers 800,{
+prontera,156,219,4 script Cluckers 4_NFCOCK,{
set .@GMAccess,80; // GM level required to access NPC
@@ -26,16 +26,16 @@ prontera,156,219,4 script Cluckers 800,{
case 0: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
case 1: npctalk "Cluuuuuck!~"; break;
case 2: unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; break;
- case 3: sc_start SC_Freeze,10000,0; break;
+ case 3: sc_start SC_FREEZE,10000,0; break;
case 4: npctalk "CLUUUUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
- case 5: sc_start SC_Sleep,10000,0; break;
- case 6: sc_start SC_Stone,10000,0; emotion 29; break;
+ case 5: sc_start SC_SLEEP,10000,0; break;
+ case 6: sc_start SC_STONE,10000,0; emotion 29; break;
case 7: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
case 8: npctalk "Cluck! CLUUUCK!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion 23; break;
- case 9: sc_start SC_Stun,10000,0; break;
- case 10: sc_start SC_Sleep,10000,0; emotion 29; break;
+ case 9: sc_start SC_STUN,10000,0; break;
+ case 10: sc_start SC_SLEEP,10000,0; emotion 29; break;
case 11: npctalk "Cluck! Cluck!"; break;
- case 12: sc_start SC_Stun,10000,0; break;
+ case 12: sc_start SC_STUN,10000,0; break;
case 13: unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; break;
default:
if (rand(50) < 4) {
@@ -111,4 +111,4 @@ OnTimer40000:
if (!$cluck_item_amount) set $cluck_item_amount,1;
set .startcluck,1;
end;
-} \ No newline at end of file
+}
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index ad5ba1185..5e03f5802 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -4,15 +4,13 @@
//= GmOcean
//===== Current Version: =====================================
//= 5.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= Note: This script requires PCRE to run properly.
//= 5.0 Last update by GmOcean.
//= 5.1 Cleaned and standardized, mostly. [Euphy]
//============================================================
-prontera,160,155,4 script Disguise Event 795,{
+prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
// Currently set to run every two hours.
// To change times, edit the OnClock labels below.
@@ -40,7 +38,7 @@ prontera,160,155,4 script Disguise Event 795,{
setnpctimer 0; stopnpctimer;
announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue;
deletepset 1;
- setnpcdisplay "Disguise Event",795;
+ setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
close;
}
set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer;
@@ -129,19 +127,21 @@ OnInit:
set .Prize,512;
set .PrizeAmt,1;
set .Rule,1;
- setarray .MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373,
- 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688,
- 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131,
- 2156,2165;
- 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," +
- "2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035," +
- "2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049," +
- "2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063," +
- "2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2083,2084,2085," +
- "2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," +
- "2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," +
+ setarray .MVP[0], OSIRIS, BAPHOMET, DOPPELGANGER, MISTRESS, GOLDEN_BUG, ORK_HERO, DRAKE, EDDGA, MAYA, MOONLIGHT,
+ PHARAOH, PHREEONI, ORC_LORD, KNIGHT_OF_WINDSTORM, GARM, DARK_LORD, TURTLE_GENERAL, LORD_OF_DEATH, DRACULA, EVENT_BAPHO,
+ 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;
+ 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," +
+ "2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035," +
+ "2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049," +
+ "2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063," +
+ "2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2083,2084,2085," +
+ "2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," +
+ "2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," +
"2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,1496,";
end;
OnClock0000:
@@ -173,7 +173,7 @@ OnTimer10000:
OnTimer30000:
if (.Timer) end;
set .Change,0;
- setnpcdisplay "Disguise Event",795;
+ setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again.";
specialeffect 725;
set $MonsterName$,"";
@@ -201,22 +201,22 @@ OnTimer180000:
iDisguise:
if (.Rule==1) {
set .Winner,0;
- set .Monster,1000+rand(1,995);
- if (compare(","+.BlackList$+"," , ","+.Monster+",")) goto iDisguise;
- if (.Monster==.LastMonster) goto iDisguise;
- set .LastMonster,.Monster;
- set $MonsterName$,getmonsterinfo(.Monster,0);
+ set .@monster, rand(SCORPION, PINGUICULA);
+ if (compare(","+.Blacklist$+"," , ","+.@monster+",")) goto iDisguise;
+ if (.@monster==.LastMonster) goto iDisguise;
+ set .LastMonster,.@monster;
+ set $MonsterName$,getmonsterinfo(.@monster,0);
}
if (.Rule==2) {
set .Winner,0;
- set .Monster,rand(49);
- set $MonsterName$,getmonsterinfo(.MVP[.Monster],0);
+ set .@monster, rand(getarraysize(.MVP));
+ set $MonsterName$,getmonsterinfo(.MVP[.@monster],0);
}
deletepset 1;
defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect";
activatepset 1;
- if (.Rule==1) setnpcdisplay "Disguise Event",.Monster;
- if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.Monster];
+ if (.Rule==1) setnpcdisplay "Disguise Event",.@monster;
+ if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.@monster];
set .Change,1;
setnpctimer 0;
end;
@@ -232,13 +232,13 @@ iCorrect:
getitem .Prize,.PrizeAmt;
announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;
if (.RoundCount>=.Rounds) {
- setnpcdisplay "Disguise Event",795;
+ setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
set .RoundCount,0; set .Change,0; set .EventON,0;
setnpctimer 0; stopnpctimer;
npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";
end;
}
- setnpcdisplay "Disguise Event",795;
+ setnpcdisplay "Disguise Event", 4_M_NFDEADMAN;
set .Change,0;
setnpctimer 0;
end;
diff --git a/npc/custom/events/hallow06.txt b/npc/custom/events/hallow06.txt
index 4663ab996..01a122320 100644
--- a/npc/custom/events/hallow06.txt
+++ b/npc/custom/events/hallow06.txt
@@ -4,8 +4,6 @@
//= Stryker
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Halloween Event Script
//===== Additional Comments: =================================
@@ -13,7 +11,7 @@
//= 1.2 fixed bugs, optimized. Now uses 1 var instead of 3 [Lupus]
//============================================================
-prontera,151,190,5 script Hallows' Eve Event 807,{
+prontera,151,190,5 script Hallows' Eve Event 1_M_SIGNMCNT,{
mes "[Hallows' Eve Event]";
if(Class == Job_Novice){
mes "I am sorry but you have to got a job to complete the event.";
diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt
index c13bde1cc..1d632d3e9 100644
--- a/npc/custom/events/mushroom_event.txt
+++ b/npc/custom/events/mushroom_event.txt
@@ -1,11 +1,9 @@
//===== Hercules Script ======================================
//= Find the Mushroom
-//===== By: ==================================================
+//===== By: ==================================================
//= Mysterious
//===== Current Version: =====================================
//= 3.6a
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Find the Mushroom - random amount of Mushrooms spawns in random maps.
//= Players need to find these mushrooms and kill them to gain prizes!
@@ -14,7 +12,7 @@
//= 3.6a Slightly edited. [Euphy]
//============================================================
-prontera,142,228,6 script Find the Mushroom 1084,{
+prontera,142,228,6 script Find the Mushroom BLACK_MUSHROOM,{
mes "[ Find The Mushroom ]";
if (!.Status)
mes "There is no event at the moment!";
diff --git a/npc/custom/events/uneasy_cemetery.txt b/npc/custom/events/uneasy_cemetery.txt
index 50262933d..d48e5f928 100644
--- a/npc/custom/events/uneasy_cemetery.txt
+++ b/npc/custom/events/uneasy_cemetery.txt
@@ -1,23 +1,21 @@
//===== Hercules Script ======================================
//= Uneasy Prontera Cemetery Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Lupus
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.2a (Tested and fully working!)
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= A periodical quest of the Uneasy Cemetery (Kill undead / Prevent their appearance)
//= Every day, at the midnight Prontera receive a wave of Undeads.
//= They come from Uneasy Cemetery of Prontera. To protect the players
//= from the undeads terror you may either kill the enemy. Or supply Mother Mathana
-//= with needed amount of Holy Water. Every citizen can take his part in the
+//= with needed amount of Holy Water. Every citizen can take his part in the
//= saving of Prontera city. After some days of quiet life... the Cemetery strikes back.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.1 More advanced ver. Added some bonus the the one who'd kill the last walking undead
//= 1.2 Added coords to the script to make label OmMobDead working
//= 1.2a Changed item names to item IDs. [Samuray22]
-//============================================================
+//============================================================
prontera,3,3,3 script Uneasy_Check -1,{
end;
@@ -66,7 +64,7 @@ L_Start_Undead:
mapannounce "prontera","[Mother Mathana]: The cememtery has become restless! In the name of Odin, hurry to the Sanctuary! Save the city of Prontera!",0;
}
-prontera,257,313,5 script Mother Mathana 79,{
+prontera,257,313,5 script Mother Mathana 1_F_PRIEST,{
mes "[Mother Mathana]";
if ($UNEASY_DL <= 0) goto L_Undead_Walk;
mes "I'm afraid there's something wrong with our old cemetery...";
diff --git a/npc/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt
index 065d4e32d..5a94bc913 100644
--- a/npc/custom/events/valentinesdayexp.txt
+++ b/npc/custom/events/valentinesdayexp.txt
@@ -4,8 +4,6 @@
//= Lupus (based on Muad_Dib's work)
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
// Close to other official stValentine event (added white chocolate)
// Custom: Handmade choco gives some EXP bonuses to married people
@@ -16,11 +14,11 @@
//============================================================
// Tine - Valentine Event Chocolate Even Guide ------------------
-prontera,156,172,4 script Tine 58,{
+prontera,156,172,4 script Tine 1_M_MERCHANT,{
// Debug info for item effects and tricky conditions 8)
// mes "@dsv: "+@dsv;
// mes "ispartneron()=="+ispartneron();
-// mes "sex == "+sex;
+// mes "sex == "+Sex;
// if(@dsv == gettime(3)+1) mes "@dsv == gettime(3)+1";
mes "[Tine]";
@@ -62,9 +60,9 @@ M_INFO:
OnInit:
//559,Hand-made_Chocolate
- setitemscript 559,"{ itemheal 50,50; if(sex==0 || @dsv == gettime(3)+1 || ispartneron()==0)end; set @dsv,gettime(3)+1; misceffect 113; }";
+ setitemscript 559,"{ itemheal 50,50; if(Sex==0 || @dsv == gettime(3)+1 || ispartneron()==0)end; set @dsv,gettime(3)+1; misceffect 113; }";
//560,Hand-made_White_Chocolate
- setitemscript 560,"{ itemheal 50,50; if(sex || @dsv == gettime(3)+1 || ispartneron()==0)end; set @dsv,gettime(3)+1; misceffect 113; }";
+ setitemscript 560,"{ itemheal 50,50; if(Sex || @dsv == gettime(3)+1 || ispartneron()==0)end; set @dsv,gettime(3)+1; misceffect 113; }";
//2634,Wedding_Ring_M,Wedding Ring,5,,10,0,,0,,0,127918079,7,1,136,,0,0,0,{ skill 334,1; skill 335,1; skill 336,1; }
setitemscript 2634,"{ skill 334,1; skill 335,1; skill 336,1; if(@dsv == gettime(3)+1 && ispartneron()){ bonus2 bExpAddRace,5,50; bonus2 bExpAddRace,6,50; bonus2 bExpAddRace,7,50; bonus2 bExpAddRace,8,50; bonus2 bExpAddRace,1,50; } }";
@@ -74,7 +72,7 @@ OnInit:
}
// Stephen - Valentine Event Chocolate seller ------------------
-alberta,26,243,4 script Stephen#val1 58,{
+alberta,26,243,4 script Stephen#val1 1_M_MERCHANT,{
mes "[Stephen]";
mes "Guess what I've got?";
mes "A tasty treat not easily found in Rune-Midgard....";
@@ -107,7 +105,7 @@ M_CHOCO:
if (@flag_num > 5) goto L_ERR;
set @needmon,@flag_num*5000;
if (Zeny < @needmon) goto L_NOTENO;
- set Zeny,Zeny - @needmon;
+ Zeny -= @needmon;
getitem 558,@flag_num;
mes "[Stephen]";
mes "There you go!";
@@ -129,7 +127,7 @@ L_NOTENO:
}
// Jainie -- Gives information about Valentine Event ------------------------
-alberta,29,243,4 script Jainie#val1 53,{
+alberta,29,243,4 script Jainie#val1 1_M_INNKEEPER,{
mes "[Jainie]";
mes "You know what? The chocolate that my boyfriend sells are from me!";
mes "I made them by myself. Now I need some Milk for my special White Chocolate.";
@@ -169,7 +167,7 @@ M_CHOCO:
set @needmon,@flag_num*4500;
if (Zeny < @needmon) goto L_NOTENO;
if (countitem(519) < @flag_num) goto L_NOMILK;
- set Zeny,Zeny - @needmon;
+ Zeny -= @needmon;
delitem 519,@flag_num;
getitem 561,@flag_num;
mes "[Jainie]";
@@ -197,11 +195,11 @@ L_NOMILK:
}
// Carl Orleans -- Valentine Event Chocolate maker ------------------
-prt_castle,54,34,4 script Carl Orleans#val1 47,{
+prt_castle,54,34,4 script Carl Orleans#val1 1_M_01,{
mes "[Carl Orleans]";
mes "Yes? What can I cook for you?";
next;
- menu "Black handmade Chocolate, please",-,"I want a White handmade Chocolate...",M_WHITE,"I'm lost, sorry to bother you.",M_END;
+ menu "Black handmade Chocolate, please",-,"I want a White handmade Chocolate...",M_WHITE,"I'm lost, sorry to bother you.",M_End;
mes "[Carl Orleans]";
mes "Well, I just might be able to fulfill your needs...";
@@ -268,7 +266,7 @@ M_WHITE:
mes "Enjoy.";
close;
-M_END:
+M_End:
mes "[Carl Orleans]";
mes "Oh.. well, if you want me to make some of my special handmade Chocolate....";
mes "You will need to give me at least ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000.";
diff --git a/npc/custom/events/xmas_rings_event.txt b/npc/custom/events/xmas_rings_event.txt
index 7c0ec5bf0..e031ea129 100644
--- a/npc/custom/events/xmas_rings_event.txt
+++ b/npc/custom/events/xmas_rings_event.txt
@@ -4,8 +4,6 @@
//= Lupus (1.0)
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Custom event: Karachun (from 8 Dec till 8 Jan), X-Mas, HNY
//===== Additional Comments: =================================
@@ -14,7 +12,7 @@
//= 1.2 Fixed double quotes not being escaped [brianluau]
//============================================================
-prontera,156,174,4 script Snower 713,{
+prontera,156,174,4 script Snower 4_M_06,{
mes "[Snower]";
if(Q_XMSRINGS==2){
mes "Oh.. is it true? You've helped my sis Sneewy? Thank you.";
@@ -99,7 +97,7 @@ OnInit:
end;
}
-louyang,224,249,4 script Sneewy 717,{
+louyang,224,249,4 script Sneewy 4_F_KID3,{
mes "[Sneewy]";
if(Q_XMSRINGS==0){
mes "Hi! I'm waithing for my sister's birdy with mail...";
@@ -113,7 +111,7 @@ louyang,224,249,4 script Sneewy 717,{
mes "[Sneewy]";
mes "Oh, hello. Has my brother Snower told you everything?";
next;
- menu "Here are your 4 Gift Boxes",-, "I don't know any Snowhatevers...",M_END;
+ menu "Here are your 4 Gift Boxes",-, "I don't know any Snowhatevers...",M_End;
mes "[Sneewy]";
if(countitem(644)<4){
@@ -135,14 +133,14 @@ louyang,224,249,4 script Sneewy 717,{
mes "Thanks again! No children will meet the holidays without the gifts!";
close;
-M_END:
+M_End:
mes "[Sneewy]";
mes "Pity... I've got a magic Santa's ring... I'd exchange it for 4 Gift Boxes...";
emotion e_swt;
close;
}
-izlu2dun,133,160,2 script Snoowy 714,{
+izlu2dun,133,160,2 script Snoowy 4_F_06,{
mes "[Snoowy]";
if(Q_XMSRINGS==0){
mes "Helloooou! Do you know my bro and sis? How so? My brother Snower's well known in Prontera!! Just ask any child there.";
@@ -165,7 +163,7 @@ izlu2dun,133,160,2 script Snoowy 714,{
mes "[Snoowy]";
mes "But I too need 3 more gifts for my marine folk friends...";
next;
- menu "Have these gifts!",-, "I need a li'l something in return",M_END;
+ menu "Have these gifts!",-, "I need a li'l something in return",M_End;
mes "[Snoowy]";
if(countitem(644)<3){
@@ -185,7 +183,7 @@ izlu2dun,133,160,2 script Snoowy 714,{
if(rand(2))mes "Didn't you know that Santa's Hat reveals the real power of the rings?";
close;
-M_END:
+M_End:
mes "[Snoowy]";
mes "I'd exchange a GOLD magic ring for 3 gift boxes...";
emotion e_swt;
diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt
index a6f028e8a..59d67b083 100644
--- a/npc/custom/healer.txt
+++ b/npc/custom/healer.txt
@@ -3,67 +3,76 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2
//===== Description: =========================================
//= Basic healer script.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.1 Aligned coordinates with @go.
+//= 1.2 Fix variables and character stuck at healing
//============================================================
- script Healer -1,{
-
- set .@Price,0; // Zeny required for heal
- set .@Buffs,0; // Also buff players? (1: yes / 0: no)
- set .@Delay,0; // Heal delay, in seconds
- callfunc "F_ClearGarbage",0;
+ .@price = 0; // Zeny required for heal
+ .@Buffs = 0; // Also buff players? (1: yes / 0: no)
+ .@Delay = 0; // Heal delay, in seconds
+
if (@HD > gettimetick(2)) end;
- if (.@Price) {
- message strcharinfo(0),"Healing costs "+.@Price+" Zeny.";
- if (Zeny < .@Price) end;
+ if (.@price) {
+ message strcharinfo(0),"Healing costs "+.@price+" Zeny.";
+ if (Zeny < .@price) end;
if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close;
- set Zeny, Zeny-.@Price;
+ Zeny -= .@price;
}
- specialeffect2 313; percentheal 100,100;
+ specialeffect2 EF_HEAL2; percentheal 100,100;
if (.@Buffs) {
specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10;
specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10;
}
- if (.@Delay) set @HD, gettimetick(2)+.@Delay;
- end;
+ if (.@Delay) @HD = gettimetick(2)+.@Delay;
+ close;
}
-alberta,25,240,6 duplicate(Healer) Healer#alb 909
-aldebaran,135,118,6 duplicate(Healer) Healer#alde 909
-amatsu,200,79,4 duplicate(Healer) Healer#ama 909
-ayothaya,207,169,6 duplicate(Healer) Healer#ayo 909
-brasilis,194,221,6 duplicate(Healer) Healer#bra 909
-comodo,184,158,6 duplicate(Healer) Healer#com 909
-dewata,193,175,6 duplicate(Healer) Healer#dew 909
-eclage,105,35,4 duplicate(Healer) Healer#ecl 909
-einbech,142,244,4 duplicate(Healer) Healer#einbe 909
-einbroch,57,202,6 duplicate(Healer) Healer#einbr 909
-dicastes01,201,194,4 duplicate(Healer) Healer#dic 909
-geffen,115,72,6 duplicate(Healer) Healer#gef 909
-gonryun,156,122,6 duplicate(Healer) Healer#gon 909
-hugel,89,150,6 duplicate(Healer) Healer#hug 909
-izlude,125,118,5 duplicate(Healer) Healer#izl 909
-lighthalzen,149,103,6 duplicate(Healer) Healer#li 909
-louyang,225,103,4 duplicate(Healer) Healer#lou 909
-malangdo,226,188,4 duplicate(Healer) Healer#mal 909
-malaya,205,205,6 duplicate(Healer) Healer#malay 909
-manuk,256,176,6 duplicate(Healer) Healer#man 909
-mid_camp,203,289,6 duplicate(Healer) Healer#mid 909
-mora,106,100,6 duplicate(Healer) Healer#mora 909
-morocc,153,97,6 duplicate(Healer) Healer#mor 909
-moscovia,215,194,6 duplicate(Healer) Healer#mos 909
-niflheim,188,180,5 duplicate(Healer) Healer#nif 909
-payon,179,106,4 duplicate(Healer) Healer#pay 909
-prontera,162,193,4 duplicate(Healer) Healer#pront 909
-rachel,125,116,6 duplicate(Healer) Healer#rac 909
-splendide,201,153,4 duplicate(Healer) Healer#spl 909
-thor_camp,249,74,4 duplicate(Healer) Healer#thor 909
-umbala,129,132,4 duplicate(Healer) Healer#umb 909
-veins,217,121,4 duplicate(Healer) Healer#ve 909
-xmas,143,136,6 duplicate(Healer) Healer#xmas 909
-yuno,164,45,4 duplicate(Healer) Healer#yuno 909
+
+// Duplicates
+//============================================================
+alberta,25,240,6 duplicate(Healer) Healer#alb 4_PORING
+aldebaran,135,118,6 duplicate(Healer) Healer#alde 4_PORING
+amatsu,200,79,4 duplicate(Healer) Healer#ama 4_PORING
+ayothaya,207,169,6 duplicate(Healer) Healer#ayo 4_PORING
+comodo,184,158,6 duplicate(Healer) Healer#com 4_PORING
+einbech,57,36,6 duplicate(Healer) Healer#einbe 4_PORING
+einbroch,57,202,6 duplicate(Healer) Healer#einbr 4_PORING
+geffen,115,72,6 duplicate(Healer) Healer#gef 4_PORING
+gonryun,156,122,6 duplicate(Healer) Healer#gon 4_PORING
+hugel,89,150,6 duplicate(Healer) Healer#hug 4_PORING
+izlude,125,118,5 duplicate(Healer) Healer#izl 4_PORING
+jawaii,250,139,4 duplicate(Healer) Healer#jaw 4_PORING
+lighthalzen,152,100,6 duplicate(Healer) Healer#lhz 4_PORING
+louyang,226,103,4 duplicate(Healer) Healer#lou 4_PORING
+manuk,272,144,6 duplicate(Healer) Healer#man 4_PORING
+mid_camp,203,289,6 duplicate(Healer) Healer#mid 4_PORING
+moc_ruins,72,164,4 duplicate(Healer) Healer#moc 4_PORING
+morocc,153,97,6 duplicate(Healer) Healer#mor 4_PORING
+moscovia,220,191,4 duplicate(Healer) Healer#mos 4_PORING
+niflheim,212,182,5 duplicate(Healer) Healer#nif 4_PORING
+payon,179,106,4 duplicate(Healer) Healer#pay 4_PORING
+prontera,162,193,4 duplicate(Healer) Healer#prt 4_PORING
+rachel,125,116,6 duplicate(Healer) Healer#rac 4_PORING
+splendide,201,153,4 duplicate(Healer) Healer#spl 4_PORING
+thor_camp,249,74,4 duplicate(Healer) Healer#thor 4_PORING
+umbala,105,148,3 duplicate(Healer) Healer#umb 4_PORING
+veins,217,121,4 duplicate(Healer) Healer#ve 4_PORING
+xmas,143,136,4 duplicate(Healer) Healer#xmas 4_PORING
+yuno,164,45,4 duplicate(Healer) Healer#yuno 4_PORING
+
+// Duplicates (Renewal)
+//============================================================
+brasilis,194,221,6 duplicate(Healer) Healer#bra 4_PORING
+dewata,195,187,4 duplicate(Healer) Healer#dew 4_PORING
+dicastes01,201,194,4 duplicate(Healer) Healer#dic 4_PORING
+ecl_in01,45,60,4 duplicate(Healer) Healer#ecl 4_PORING
+malangdo,132,114,6 duplicate(Healer) Healer#mal 4_PORING
+malaya,205,205,6 duplicate(Healer) Healer#ma 4_PORING
+mora,55,152,4 duplicate(Healer) Healer#mora 4_PORING
diff --git a/npc/custom/item_signer.txt b/npc/custom/item_signer.txt
index b70244ed1..243ca29c2 100644
--- a/npc/custom/item_signer.txt
+++ b/npc/custom/item_signer.txt
@@ -4,8 +4,6 @@
//= Lupus
//===== Current Version: =====================================
//= 1.1a
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Write you name on your rare equipment or weapon ^_-
//===== Additional Comments: =================================
@@ -13,10 +11,10 @@
//= 1.1a Added 'disable_items' command. [Euphy]
//============================================================
-prt_in,24,61,7 script Perchik 47,{
+prt_in,24,61,7 script Perchik 1_M_01,{
- setarray .@Item[0],644,3; // Item requirements: <ID>,<Count>{,...} (0 to disable)
- setarray .@Cost[0],0,5000; // Zeny requirements: <base price>,<price per refine>
+ setarray .@item[0],644,3; // Item requirements: <ID>,<Count>{,...} (0 to disable)
+ setarray .@cost[0],0,5000; // Zeny requirements: <base price>,<price per refine>
disable_items;
mes "[Perchik]";
@@ -28,12 +26,12 @@ prt_in,24,61,7 script Perchik 47,{
emotion e_ic;
next;
mes "[Perchik]";
- if (getarraysize(.@Item) || getarraysize(.@Cost)) {
+ if (getarraysize(.@item) || getarraysize(.@cost)) {
mes "For my work I accept:";
- if (getarraysize(.@Item)) for(set .@i,0; .@i<getarraysize(.@Item); set .@i,.@i+2)
- mes " ~ "+.@Item[.@i+1]+"x "+getitemname(.@Item[.@i]);
- if (.@Cost[0]) mes " ~ "+.@Cost[0]+" Zeny";
- if (.@Cost[1]) mes " ~ "+.@Cost[1]+" Zeny per refine";
+ if (getarraysize(.@item)) for(set .@i,0; .@i<getarraysize(.@item); set .@i,.@i+2)
+ mes " ~ "+.@item[.@i+1]+"x "+getitemname(.@item[.@i]);
+ if (.@cost[0]) mes " ~ "+.@cost[0]+" Zeny";
+ if (.@cost[1]) mes " ~ "+.@cost[1]+" Zeny per refine";
}
else mes "I work for free, but...";
next;
@@ -93,12 +91,12 @@ prt_in,24,61,7 script Perchik 47,{
emotion e_hmm;
close;
}
- set .@price, .@Cost[0]+(.@Cost[1]*.@ref);
- if (getarraysize(.@Item) || .@price) {
+ set .@price, .@cost[0]+(.@cost[1]*.@ref);
+ if (getarraysize(.@item) || .@price) {
mes "I will need:";
- if (getarraysize(.@Item)) for(set .@i,0; .@i<getarraysize(.@Item); set .@i,.@i+2) {
- mes " ~ "+.@Item[.@i+1]+"x "+getitemname(.@Item[.@i]);
- if (countitem(.@Item[.@i]) < .@Item[.@i+1]) set .@nr,1;
+ if (getarraysize(.@item)) for(set .@i,0; .@i<getarraysize(.@item); set .@i,.@i+2) {
+ mes " ~ "+.@item[.@i+1]+"x "+getitemname(.@item[.@i]);
+ if (countitem(.@item[.@i]) < .@item[.@i+1]) set .@nr,1;
}
if (.@price) mes " ~ "+.@price+" Zeny";
}
@@ -123,9 +121,9 @@ prt_in,24,61,7 script Perchik 47,{
emotion e_wah;
close;
}
- if (.@price) set Zeny, Zeny-.@price;
- if (getarraysize(.@Item)) for(set .@i,0; .@i<getarraysize(.@Item); set .@i,.@i+2)
- delitem .@Item[.@i], .@Item[.@i+1];
+ if (.@price) Zeny -= .@price;
+ if (getarraysize(.@item)) for(set .@i,0; .@i<getarraysize(.@item); set .@i,.@i+2)
+ delitem .@item[.@i], .@item[.@i+1];
delitem2 .@id,1,1,.@ref,0,.@slot[0],.@slot[1],.@slot[2],.@slot[3];
mes "Done!";
emotion e_proud;
diff --git a/npc/custom/itembind.txt b/npc/custom/itembind.txt
new file mode 100644
index 000000000..7d2c4ba62
--- /dev/null
+++ b/npc/custom/itembind.txt
@@ -0,0 +1,133 @@
+//===== Hercules Script =======================================
+//= Item Bind Script
+//===== By: ==================================================
+//= Akinari
+//===== Compatible With: =====================================
+//= Revision 17351+ (rAthena)
+//= Revision 12949+ (Hercules)
+//===== Description: =========================================
+//= Item Bind Script
+//= Allows users to pay a price to make an item bound to
+//= Account, Character, or Guild
+//============================================================
+
+prontera,144,174,4 script Bound Items 4_M_JP_MID,{
+
+ mes "I can bind your items to your account, guild, or character"+((.bindprice)?" for a ^0000FF"+.bindprice+"^000000 zeny fee":"")+".";
+ next;
+ mes "With this, you can rest assured your items are safe.";
+ next;
+ mes "What would you like to do?";
+ if(select("Bind:Unbind") == 1) {
+ if(Zeny < .bindprice) {
+ mes "You don't have enough zeny to bind an item.";
+ close;
+ }
+ mes "What kind of bind?";
+ .@boundtype = 1 << (select("Account:Guild:Character")-1);
+ if(.@boundtype == 2 && (!getcharid(2) || getguildmaster(getcharid(2)) != strcharinfo(0))) {
+ mes "In order for me to bind an item to a guild you must be the master of one.";
+ close;
+ }
+ getinventorylist();
+ for(.@i = 0; .@i < @inventorylist_count; .@i++) {
+ //We only show the items that you allow to be bound
+ //Allows equipment (default)
+ if(@inventorylist_bound[.@i])
+ continue;
+ if(((.allowbind & 1) && (getiteminfo(@inventorylist_id[.@i],2) == (4|5))) ||
+ ((.allowbind & 2) && (getiteminfo(@inventorylist_id[.@i],2) == (0|2|11|18))) ||
+ ((.allowbind & 4) && (getiteminfo(@inventorylist_id[.@i],2) == (3|6|7|8|10)))
+ ) {
+ set .@bindlist$, .@bindlist$ + ":" + getitemname(@inventorylist_id[.@i]) + " - " + @inventorylist_id[.@i];
+ set .@bindlist[.@j],.@i;
+ .@j++;
+ }
+ }
+ .@item = .@bindlist[select(.@bindlist$)-2];
+ next;
+ mes "Before I continue, I want you to know I can't tell the difference between multiple items. If you have a specific item you want bounded, please remove any duplicates from inventory.";
+ if(select("I understand, continue:Wait a minute") == 2) {
+ next;
+ mes "I'll be here when you're ready.";
+ close;
+ }
+ next;
+ mes "Are you sure you'd like to bind your "+ getitemname(@inventorylist_id[.@item]) +" to your "+.boundtypes$[.@boundtype]+"?";
+ if(select("Yes:No") == 1) {
+ Zeny -= .bindprice;
+ delitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item];
+ getitembound2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item],.@boundtype;
+ mes "All done!";
+ if(.logbinds)
+ logmes "Bound "+ @inventorylist_amount[.@item]+" "+@inventorylist_id[.@item]+" as "+.boundtypes$[.@boundtype]+" type.";
+ }
+ } else {
+ if(!countbound()) {
+ mes "You don't have any bound items in your inventory. Not much I can do here.";
+ close;
+ }
+ countbound(2);
+ if(.unbindprice) {
+ mes "Unbinding an item has a fee of ^0000FF"+.unbindprice+"^000000 zeny.";
+ if(Zeny < .unbindprice) {
+ mes "You don't have enough to unbind an item.";
+ close;
+ }
+ }
+ getinventorylist();
+ for(.@i = 0; .@i < @inventorylist_count; .@i++) {
+ if(@inventorylist_bound[.@i]) {
+ set .@bindlist$, .@bindlist$ + ":" + getitemname(@inventorylist_id[.@i]) + " - " + @inventorylist_id[.@i];
+ set .@bindlist[.@j],.@i;
+ .@j++;
+ }
+ }
+ .@item = .@bindlist[select(.@bindlist$)-2];
+ next;
+ for(.@i = 0; .@i < getarraysize(@bound_items); .@i++) {
+ if(@inventorylist_id[.@item] == @bound_items[.@i] &&
+ (!getcharid(2) || getguildmaster(getcharid(2)) != strcharinfo(0))
+ ) {
+ mes "I will only unbind guild bound items that the guild master requests.";
+ close;
+ }
+ }
+ mes "Before I continue, I want you to know I can't tell the difference between multiple items. If you have a specific item you want unbounded, please remove any duplicates from inventory.";
+ if(select("I understand, continue:Wait a minute") == 2) {
+ next;
+ mes "I'll be here when you're ready.";
+ close;
+ }
+ next;
+ mes "Are you sure you'd like to unbind your "+ getitemname(@inventorylist_id[.@item]) +"?";
+ if(select("Yes:No") == 1) {
+ Zeny -= .unbindprice;
+ delitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item];
+ getitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item];
+ mes "All done!";
+ if(.logbinds)
+ logmes "Unbound "+ @inventorylist_amount[.@item]+" "+@inventorylist_id[.@item]+".";
+ }
+ }
+ close;
+
+OnInit:
+ //* Configuration *\\
+ //Price
+ .bindprice = 0;
+ .unbindprice = 100000;
+
+ //What to allow to be bound - Add as necessary
+ //1 = Equipment - 2 = Consumables - 4 = Etc
+ .allowbind = 1;
+
+ //Log binds via NPC?
+ .logbinds = 1;
+
+ //Other stuff
+ .boundtypes$[1] = "account";
+ .boundtypes$[2] = "guild";
+ .boundtypes$[4] = "character";
+ end;
+}
diff --git a/npc/custom/itemmall.txt b/npc/custom/itemmall.txt
index 6eb162f9c..7e1aa1199 100644
--- a/npc/custom/itemmall.txt
+++ b/npc/custom/itemmall.txt
@@ -4,41 +4,39 @@
//= Masao
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Street shops in Prontera.
//============================================================
-prontera,147,240,5 shop Armor 99,2304:10000,2306:20000,2308:20000,2310:50000,2311:50000,2313:50000,2315:75000,2317:100000,2322:20000,2326:60000,2331:75000,2342:100000,2353:75000,2364:150000,2367:100000,2399:50000
-prontera,147,242,5 shop Shield 99,2102:10000,2106:60000,2108:60000,2110:85000,2114:30000,2116:30000,2123:50000,2124:50000
-prontera,147,244,5 shop Footgear 99,2404:10000,2406:20000,2409:30000,2412:50000,2417:50000,2418:50000,2424:50000,2425:20000
-prontera,147,246,5 shop Mace 99,1502:10000,1505:20000,1511:20000,1514:-1,1517:-1,1520:50000,1522:100000,1523:25000,1528:50000,1529:50000,1531:50000
-prontera,147,248,5 shop Knuckle 494,1802:20000,1804:50000,1806:60000,1808:75000,1810:70000,1812:60000,1813:100000,1814:100000,1822:150000
-prontera,147,250,5 shop Whips 494,1951:10000,1953:20000,1955:30000,1962:20000,1963:50000,1972:10000,1974:10000,1976:50000
-prontera,147,252,5 shop Instruments 494,1902:10000,1904:20000,1906:-1,1908:50000,1913:50000,1914:50000,1915:50000,1916:50000,1917:50000
-prontera,147,254,5 shop Books 494,1550:30000,1551:60000,1552:51000,1559:25000,1561:75000,1564:25000,1568:70000,1569:70000,1570:70000,1571:70000,1572:50000
-prontera,147,256,5 shop Guns 497,13103:60000,13105:100000,13106:200000,13101:10000,13150:6000,13152:30000,13153:50000,13155:60000,13156:100000,13154:30000,13159:250000,13157:150000,13161:300000,13162:500000
-prontera,147,258,5 shop Fuuma Shuriken 497,7522:500,7521:500,7523:500
-prontera,147,260,5 shop One-Handed Swords 497,1108:10000,1117:10000,1120:100000,1124:50000,1130:100000,1131:50000,1133:50000,1138:200000,1139:200000,1145:-1,1149:50000
-prontera,147,262,5 shop Two-Handed Swords 497,1155:50000,1158:90000,1163:120000,1164:50000,1165:50000,1166:75000,1168:50000,1169:500000,1172:200000,1175:75000
-prontera,147,264,5 shop Spears 731,1405:20000,1408:50000,1415:100000,1417:75000,1421:75000,1422:25000
-prontera,147,238,1 shop Dagger 731,1208:20000,1211:20000,1217:20000,1223:50000,1231:75000,1235:75000,1236:75000,1237:75000
-prontera,164,264,4 shop Axes 731,1302:10000,1306:20000,1307:45000,1309:75000,1352:20000,1355:30000,1358:75000,1363:50000,1364:50000,1365:50000,1366:50000,1371:100000
-prontera,164,262,4 shop Accessories 731,2621:-1,2622:-1,2624:30000,2618:10000,2625:30000,2626:30000,2674:10000,2648:50000,2649:50000,2627:-1,2701:75000
-prontera,164,260,4 shop Bows 731,1702:20000,1705:50000,1708:20000,1720:50000,1723:75000,1724:75000,1725:75000
-prontera,164,258,4 shop Staffs / Rods 731,1602:20000,1605:20000,1608:20000,1611:45000,1618:85000,1620:85000,1622:50000,1624:50000,1625:50000,1626:50000
-prontera,164,256,4 shop Garments 405,2504:10000,2506:40000,2507:82000,2508:56000,2514:50000,2518:60000,2519:60000,2528:85000,2531:10000,2553:10000
-prontera,164,254,4 shop Katars 405,1251:50000,1253:100000,1255:75000,1261:125000,1262:20000,1263:20000,1265:100000,1275:100000,1276:100000,1277:100000,1278:100000
-prontera,164,252,4 shop Lower Headgear 405,2218:10000,5054:30000,2267:5000,5107:100000,2265:5000,2266:50000,2269:50000,2270:50000
-prontera,164,250,4 shop Middle Headgear 405,2201:5000,2203:4000,2205:3500,2212:5000,2225:10000,2229:50000,2231:50000,2234:50000,2235:50000,2281:25000,2292:50000,2296:50000
-prontera,164,248,4 shop Upper Headgear 405,2210:1000,2211:1000,2213:10000,2214:20000,2217:10000,2221:5000,2223:10000,2246:75000,2256:75000,2264:100000,2280:20000,2299:30000
-prontera,164,246,4 shop Headgear 01 832,5380:40000,5382:40000,2269:5000,2270:5000,5107:15000,5110:15000,2247:30000:5206:10000,2245:30000,2286:35000,2296:15000,2258:45000,5161:200000,5104:40000,2295:20000,5026:30000,5032:100000,5038:30000,5229:65000,5227:65000,5228:65000,5198:50000,5058:300000,5253:80000,5252:60000,5296:100000,5231:300000,5232:300000,5233:300000,5230:300000,5234:300000,5076:50000
-prontera,164,244,4 shop Headgear 02 832,5059:100000,5235:75000,5236:75000,5237:75000,5293:150000,5303:35000,5304:65000,5312:65000,5315:45000,5317:45000,5319:75000,5320:120000,5323:588888,5336:50000,5337:50000,5338:50000,5339:50000,5346:50000
-prontera,164,242,4 shop Headgear 03 832,5181:300000,5102:500000,5016:75000,5349:150000,5013:700000,5022:500000,5171:1250000,5135:500000,5029:50000,5033:65000,5040:100000,5047:35000,5065:65000,5068:50000,5074:50000,5084:75000,5086:150000,5108:350000,5121:100000,5133:50000,5137:100000,5138:150000,5140:55000,5146:75000,5151:75000,5152:150000,5170:150000,5173:75000,5174:75000,5175:75000,5184:50000,5185:45000,5187:75000,5188:50000,5191:25000,5192:25000,5193:25000,5194:25000,5195:25000,5196:25000,5197:25000
-prontera,164,240,4 shop Headgear 04 832,5200:75000,5205:100000,5211:75000,5226:50000,5238:75000,5239:75000,5240:75000,5241:75000,5242:75000,5243:50000,5325:75000,5254:100000,5255:65000,5257:50000,5297:100000,2202:45000,5258:35000,5298:50000,5276:50000,5273:50000,5275:50000,5274:50000,5259:50000,5271:250000,5272:50000,5284:50000,5286:75000,5288:50000,5289:50000,5291:55000,5292:55000,5294:55000,5352:50000,5324:100000,5359:50000,5360:50000
-prontera,164,238,4 shop Headgear 05 832,5340:50000,5341:50000,5342:50000,5343:50000,5344:50000,5345:50000,5354:50000,5355:50000,5361:65000,5365:50000,5373:75000,5374:350000,5379:50000,5383:60000,5384:88888,5390:88888,5388:50000,5411:50000,5393:75000,5397:35000,5399:50000,5800:175000,5801:300000,5802:150000
-prontera,151,284,4 shop Ammunition 880,1766:50,1755:20,1750:10,1754:20,1761:20,1752:20,1760:20,1759:20,1772:100,1757:30,1770:20,1769:30,1765:40,1763:30,1762:30,1767:30,1764:30,1751:20,1768:30,1753:30,1756:30,1758:30,1771:1000,13200:50,13202:100,13201:300,13206:500,13203:500,13207:500,13204:500,13205:500,13252:50,13254:500,13251:100,13253:300,13250:50,13256:50,13259:50,13258:50,13255:50,13257:50
-prontera,153,284,4 shop Alchemist Dealer 880,715:600,716:600,717:600,1025:200,7136:500,7135:500,7137:500,7138:500,7139:500
-prontera,155,284,4 shop Street Dealer 880,678:5000,505:-1,506:40,610:4000,545:150,546:600,547:1650
-prontera,157,284,4 shop Sheepy Gonzales 895,12028:1000,12262:500,12016:750
+prontera,147,240,5 shop Armor 4W_M_03,2304:10000,2306:20000,2308:20000,2310:50000,2311:50000,2313:50000,2315:75000,2317:100000,2322:20000,2326:60000,2331:75000,2342:100000,2353:75000,2364:150000,2367:100000,2399:50000
+prontera,147,242,5 shop Shield 4W_M_03,2102:10000,2106:60000,2108:60000,2110:85000,2114:30000,2116:30000,2123:50000,2124:50000
+prontera,147,244,5 shop Footgear 4W_M_03,2404:10000,2406:20000,2409:30000,2412:50000,2417:50000,2418:50000,2424:50000,2425:20000
+prontera,147,246,5 shop Mace 4W_M_03,1502:10000,1505:20000,1511:20000,1514:-1,1517:-1,1520:50000,1522:100000,1523:25000,1528:50000,1529:50000,1531:50000
+prontera,147,248,5 shop Knuckle 4_M_ROKI,1802:20000,1804:50000,1806:60000,1808:75000,1810:70000,1812:60000,1813:100000,1814:100000,1822:150000
+prontera,147,250,5 shop Whips 4_M_ROKI,1951:10000,1953:20000,1955:30000,1962:20000,1963:50000,1972:10000,1974:10000,1976:50000
+prontera,147,252,5 shop Instruments 4_M_ROKI,1902:10000,1904:20000,1906:-1,1908:50000,1913:50000,1914:50000,1915:50000,1916:50000,1917:50000
+prontera,147,254,5 shop Books 4_M_ROKI,1550:30000,1551:60000,1552:51000,1559:25000,1561:75000,1564:25000,1568:70000,1569:70000,1570:70000,1571:70000,1572:50000
+prontera,147,256,5 shop Guns 4_M_CATMAN1,13103:60000,13105:100000,13106:200000,13101:10000,13150:6000,13152:30000,13153:50000,13155:60000,13156:100000,13154:30000,13159:250000,13157:150000,13161:300000,13162:500000
+prontera,147,258,5 shop Fuuma Shuriken 4_M_CATMAN1,7522:500,7521:500,7523:500
+prontera,147,260,5 shop One-Handed Swords 4_M_CATMAN1,1108:10000,1117:10000,1120:100000,1124:50000,1130:100000,1131:50000,1133:50000,1138:200000,1139:200000,1145:-1,1149:50000
+prontera,147,262,5 shop Two-Handed Swords 4_M_CATMAN1,1155:50000,1158:90000,1163:120000,1164:50000,1165:50000,1166:75000,1168:50000,1169:500000,1172:200000,1175:75000
+prontera,147,264,5 shop Spears 4_M_JOB_BLACKSMITH,1405:20000,1408:50000,1415:100000,1417:75000,1421:75000,1422:25000
+prontera,147,238,1 shop Dagger 4_M_JOB_BLACKSMITH,1208:20000,1211:20000,1217:20000,1223:50000,1231:75000,1235:75000,1236:75000,1237:75000
+prontera,164,264,4 shop Axes 4_M_JOB_BLACKSMITH,1302:10000,1306:20000,1307:45000,1309:75000,1352:20000,1355:30000,1358:75000,1363:50000,1364:50000,1365:50000,1366:50000,1371:100000
+prontera,164,262,4 shop Accessories 4_M_JOB_BLACKSMITH,2621:-1,2622:-1,2624:30000,2618:10000,2625:30000,2626:30000,2674:10000,2648:50000,2649:50000,2627:-1,2701:75000
+prontera,164,260,4 shop Bows 4_M_JOB_BLACKSMITH,1702:20000,1705:50000,1708:20000,1720:50000,1723:75000,1724:75000,1725:75000
+prontera,164,258,4 shop Staffs / Rods 4_M_JOB_BLACKSMITH,1602:20000,1605:20000,1608:20000,1611:45000,1618:85000,1620:85000,1622:50000,1624:50000,1625:50000,1626:50000
+prontera,164,256,4 shop Garments 4_M_YOUNGKNIGHT,2504:10000,2506:40000,2507:82000,2508:56000,2514:50000,2518:60000,2519:60000,2528:85000,2531:10000,2553:10000
+prontera,164,254,4 shop Katars 4_M_YOUNGKNIGHT,1251:50000,1253:100000,1255:75000,1261:125000,1262:20000,1263:20000,1265:100000,1275:100000,1276:100000,1277:100000,1278:100000
+prontera,164,252,4 shop Lower Headgear 4_M_YOUNGKNIGHT,2218:10000,5054:30000,2267:5000,5107:100000,2265:5000,2266:50000,2269:50000,2270:50000
+prontera,164,250,4 shop Middle Headgear 4_M_YOUNGKNIGHT,2201:5000,2203:4000,2205:3500,2212:5000,2225:10000,2229:50000,2231:50000,2234:50000,2235:50000,2281:25000,2292:50000,2296:50000
+prontera,164,248,4 shop Upper Headgear 4_M_YOUNGKNIGHT,2210:1000,2211:1000,2213:10000,2214:20000,2217:10000,2221:5000,2223:10000,2246:75000,2256:75000,2264:100000,2280:20000,2299:30000
+prontera,164,246,4 shop Headgear 01 4_M_REIDIN_KURS,5380:40000,5382:40000,2269:5000,2270:5000,5107:15000,5110:15000,2247:30000:5206:10000,2245:30000,2286:35000,2296:15000,2258:45000,5161:200000,5104:40000,2295:20000,5026:30000,5032:100000,5038:30000,5229:65000,5227:65000,5228:65000,5198:50000,5058:300000,5253:80000,5252:60000,5296:100000,5231:300000,5232:300000,5233:300000,5230:300000,5234:300000,5076:50000
+prontera,164,244,4 shop Headgear 02 4_M_REIDIN_KURS,5059:100000,5235:75000,5236:75000,5237:75000,5293:150000,5303:35000,5304:65000,5312:65000,5315:45000,5317:45000,5319:75000,5320:120000,5323:588888,5336:50000,5337:50000,5338:50000,5339:50000,5346:50000
+prontera,164,242,4 shop Headgear 03 4_M_REIDIN_KURS,5181:300000,5102:500000,5016:75000,5349:150000,5013:700000,5022:500000,5171:1250000,5135:500000,5029:50000,5033:65000,5040:100000,5047:35000,5065:65000,5068:50000,5074:50000,5084:75000,5086:150000,5108:350000,5121:100000,5133:50000,5137:100000,5138:150000,5140:55000,5146:75000,5151:75000,5152:150000,5170:150000,5173:75000,5174:75000,5175:75000,5184:50000,5185:45000,5187:75000,5188:50000,5191:25000,5192:25000,5193:25000,5194:25000,5195:25000,5196:25000,5197:25000
+prontera,164,240,4 shop Headgear 04 4_M_REIDIN_KURS,5200:75000,5205:100000,5211:75000,5226:50000,5238:75000,5239:75000,5240:75000,5241:75000,5242:75000,5243:50000,5325:75000,5254:100000,5255:65000,5257:50000,5297:100000,2202:45000,5258:35000,5298:50000,5276:50000,5273:50000,5275:50000,5274:50000,5259:50000,5271:250000,5272:50000,5284:50000,5286:75000,5288:50000,5289:50000,5291:55000,5292:55000,5294:55000,5352:50000,5324:100000,5359:50000,5360:50000
+prontera,164,238,4 shop Headgear 05 4_M_REIDIN_KURS,5340:50000,5341:50000,5342:50000,5343:50000,5344:50000,5345:50000,5354:50000,5355:50000,5361:65000,5365:50000,5373:75000,5374:350000,5379:50000,5383:60000,5384:88888,5390:88888,5388:50000,5411:50000,5393:75000,5397:35000,5399:50000,5800:175000,5801:300000,5802:150000
+prontera,151,284,4 shop Ammunition 4_M_MASKMAN,1766:50,1755:20,1750:10,1754:20,1761:20,1752:20,1760:20,1759:20,1772:100,1757:30,1770:20,1769:30,1765:40,1763:30,1762:30,1767:30,1764:30,1751:20,1768:30,1753:30,1756:30,1758:30,1771:1000,13200:50,13202:100,13201:300,13206:500,13203:500,13207:500,13204:500,13205:500,13252:50,13254:500,13251:100,13253:300,13250:50,13256:50,13259:50,13258:50,13255:50,13257:50
+prontera,153,284,4 shop Alchemist Dealer 4_M_MASKMAN,715:600,716:600,717:600,1025:200,7136:500,7135:500,7137:500,7138:500,7139:500
+prontera,155,284,4 shop Street Dealer 4_M_MASKMAN,678:5000,505:-1,506:40,610:4000,545:150,546:600,547:1650
+prontera,157,284,4 shop Sheepy Gonzales 4_F_KHELLY,12028:1000,12262:500,12016:750
diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt
index 00963bf36..88a1897da 100644
--- a/npc/custom/jobmaster.txt
+++ b/npc/custom/jobmaster.txt
@@ -3,72 +3,91 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.4
//===== Description: =========================================
//= A fully functional job changer.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.1 Fixed reset on Baby job change. [Euphy]
//= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy]
//= 1.3 Kagerou/Oboro added. [Euphy]
+//= 1.4 Improved legibility (renamed variables, replaced
+// numbers with constants; Changed syntax to match
+// Hercules standards; Fixed status point exploit upon
+// Baby Novice job change. [Haru]
//============================================================
-prontera,153,193,6 script Job Master 123,{
-function Job_Menu; function A_An;
+prontera,153,193,6 script Job Master 2_F_MAGICMASTER,{
+ function Job_Menu; function A_An;
mes "[Job Master]";
- if (Class > 4049) {
+ if (Class > Job_Soul_Linker) {
mes "No more jobs are available.";
close;
}
if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
- mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
+ mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")
+ +" before proceeding.";
close;
}
- if (.SkillPointCheck && SkillPoint) {
+ if (.skill_point_check && SkillPoint > 0) {
mes "Please use all your skill points before proceeding.";
close;
}
- set .@eac, eaclass();
- set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
- if (.@i > 6 && .@i < 22) {
- if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
- set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
- mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
+ .@eac = eaclass();
+ .@base = .third_classes ? roclass(.@eac&EAJ_UPPERMASK) : Class;
+ if (.@base >= Job_Knight && .@base <= Job_Crusader2) {
+ if (BaseLevel < .rebirth_blevel || JobLevel < .rebirth_jlevel) {
+ .@blvl = .rebirth_blevel - BaseLevel;
+ .@jlvl = .rebirth_jlevel - JobLevel;
+ mes "You need "
+ + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" more base levels "+ (JobLevel < .rebirth_jlevel ? "and " : "")) : "")
+ + (JobLevel < .rebirth_jlevel ? (.rebirth_jlevel - JobLevel) +" more job levels " : "")
+ + "to continue.";
close;
}
- if (Class > 21) {
+ if (Class > Job_Crusader2) {
mes "Switch to third class?";
next;
Job_Menu(roclass(.@eac|EAJL_THIRD));
close;
}
- while(1) {
+ while (true) {
mes "Select an option.";
next;
- set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
- if (.@i==3) close;
+ .@choice = select(" ~ ^0055FFRebirth^000000:"+(.third_classes ? " ~ ^FF0000Third Class^000000" : "")+": ~ ^777777Cancel^000000");
+ if (.@choice == 3)
+ close;
mes "[Job Master]";
mes "Are you sure?";
next;
- Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
+ if (.@choice == 1)
+ Job_Menu(Job_Novice_High);
+ else
+ Job_Menu(roclass(.@eac|EAJL_THIRD));
mes "[Job Master]";
}
}
- set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
- if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
- if (Class == Job_Ninja) setarray .@exp[0],.@j1,70;
- if (.@exp[0] && .ThirdClass) {
- if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
- set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
- mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
+ .@job1 = roclass(.@eac|EAJL_2_1);
+ .@job2 = roclass(.@eac|EAJL_2_2);
+ if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) {
+ .@newclass = roclass(.@eac|EAJL_THIRD);
+ .@required_jlevel = 99;
+ } else if (Class == Job_Ninja) {
+ .@newclass = .@job1;
+ .@required_jlevel = 70;
+ }
+ if (.@newclass && .third_classes) {
+ if (BaseLevel < .rebirth_blevel || JobLevel < .@required_jlevel) {
+ mes "You need "
+ + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" more base levels "+ (JobLevel < .@required_jlevel ? "and " : "")) : "")
+ + (JobLevel < .@required_jlevel ? (.@required_jlevel - JobLevel) +" more job levels " : "")
+ + "to continue.";
close;
}
- mes "Switch to "+jobname(.@exp[0])+"?";
+ mes "Switch to "+jobname(.@newclass)+"?";
next;
- Job_Menu(.@exp[0]);
+ Job_Menu(.@newclass);
close;
}
if (.@eac&EAJL_2)
@@ -77,114 +96,167 @@ function Job_Menu; function A_An;
close;
}
if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
- if (JobLevel < .JobReq[0])
- mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
- else if (Class == 4001 && .LastJob && lastJob) {
+ if (JobLevel < .jobchange_first) {
+ mes "A job level of "+.jobchange_first+" is required to change into the 1st Class.";
+ } else if (Class == Job_Novice_High && .linear_jobchange && lastJob) {
mes "Switch classes now?";
next;
Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
- } else switch(Class) {
- case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
- case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
- case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
- default: mes "An error has occurred."; break;
+ } else if (Class == Job_Novice) {
+ Job_Menu(Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief,
+ Job_SuperNovice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby);
+ } else if (Class == Job_Novice_High) {
+ Job_Menu(Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High);
+ } else if (Class == Job_Baby) {
+ Job_Menu(Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief,
+ Job_Super_Baby);
+ } else {
+ mes "An error has occurred.";
}
close;
}
- if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
+ if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) {
mes "No more jobs are available.";
- else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
- mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
- else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
+ } else if (!(.@eac&EAJL_2) && JobLevel < .jobchange_second) {
+ mes "A job level of "+.jobchange_second+" is required to change into the 2nd Class.";
+ } else if (.linear_jobchange && lastJob && (.@eac&EAJL_UPPER)) {
mes "Switch classes now?";
next;
- Job_Menu(lastJob+4001);
- } else
- Job_Menu(.@j1,.@j2);
+ Job_Menu(lastJob+Job_Novice_High);
+ } else {
+ Job_Menu(.@job1, .@job2);
+ }
close;
function Job_Menu {
- while(1) {
+ while (true) {
if (getargcount() > 1) {
mes "Select a job.";
- set .@menu$,"";
- for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
- set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
- set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
+ .@menu$ = "";
+ for (.@i = 0; .@i < getargcount(); ++.@i)
+ .@menu$ += " ~ "+jobname(getarg(.@i))+":";
+ .@menu$ += " ~ ^777777Cancel^000000";
next;
- set .@i, getarg(select(.@menu$)-1,0);
- if (!.@i) close;
- if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
+ .@newjob = getarg(select(.@menu$)-1, 0);
+ if (!.@newjob) close;
+ if ((.@newjob == Job_SuperNovice || .@newjob == Job_Super_Baby) && BaseLevel < .supernovice_level) {
mes "[Job Master]";
- mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
+ mes "A base level of "+.supernovice_level+" is required to turn into a "+jobname(.@newjob)+".";
close;
}
mes "[Job Master]";
mes "Are you sure?";
next;
- } else
- set .@i, getarg(0);
- if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
+ } else {
+ .@newjob = getarg(0);
+ }
+ if (select(" ~ Change into ^0055FF"+jobname(.@newjob)+"^000000 class: ~ ^777777"+(getargcount() > 1 ? "Go back" : "Cancel")+"^000000") == 1) {
mes "[Job Master]";
- mes "You are now "+A_An(jobname(.@i))+"!";
- if (.@i==4001 && .LastJob) set lastJob, Class;
- jobchange .@i;
- if (.@i==4001 || .@i==4023) resetlvl(1);
- specialeffect2 338; specialeffect2 432;
- if (.Platinum) callsub Get_Platinum;
+ mes "You are now "+A_An(jobname(.@newjob))+"!";
+ if (.@newjob == Job_Novice_High && .linear_jobchange)
+ lastJob = Class; // Note: This is incompatible with the Valkyrie rebirth script.
+ jobchange .@newjob;
+ if (.@newjob == Job_Novice_High)
+ resetlvl(1);
+ if (.@newjob == Job_Baby) {
+ resetlvl(4);
+ SkillPoint = 0;
+ }
+ specialeffect2 EF_ANGEL2;
+ specialeffect2 EF_ELECTRIC;
+ if (.platinum)
+ callsub Get_Platinum;
close;
}
- if (getargcount() == 1) return;
+ if (getargcount() == 1)
+ return;
mes "[Job Master]";
}
end;
}
function A_An {
- setarray .@A$[0],"a","e","i","o","u";
- set .@B$, "_"+getarg(0);
- for(set .@i,0; .@i<5; set .@i,.@i+1)
- if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
+ setarray .@vowels$, "a", "e", "i", "o", "u";
+ .@firstletter$ = strtolower(charat(getarg(0), 0));
+ for (.@i = 0; .@i < getarraysize(.@vowels); ++.@i) {
+ if (.@vowels$[.@i] == .@firstletter$)
+ return "an "+getarg(0);
+ }
return "a "+getarg(0);
}
Get_Platinum:
- skill 142,1,0;
- switch(BaseClass) {
- case 0: if (Class !=23) skill 143,1,0; break;
- case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
- case 2: skill 157,1,0; break;
- case 3: skill 147,1,0; skill 148,1,0; break;
- case 4: skill 156,1,0; break;
- case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
- case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
- default: break;
+ skill NV_FIRSTAID, 1, 0;
+ if (BaseClass == Job_Novice) {
+ if (Class != Job_SuperNovice)
+ skill NV_TRICKDEAD, 1, 0;
+ } else if (BaseClass == Job_Swordman) {
+ skill SM_MOVINGRECOVERY, 1, 0;
+ skill SM_FATALBLOW, 1, 0;
+ skill SM_AUTOBERSERK, 1, 0;
+ } else if (BaseClass == Job_Mage) {
+ skill MG_ENERGYCOAT, 1, 0;
+ } else if (BaseClass == Job_Archer) {
+ skill AC_MAKINGARROW, 1, 0;
+ skill AC_CHARGEARROW, 1, 0;
+ } else if (BaseClass == Job_Acolyte) {
+ skill AL_HOLYLIGHT, 1, 0;
+ } else if (BaseClass == Job_Merchant) {
+ skill MC_CARTREVOLUTION, 1, 0;
+ skill MC_CHANGECART, 1, 0;
+ skill MC_LOUD, 1, 0;
+ } else if (BaseClass == Job_Thief) {
+ skill TF_SPRINKLESAND, 1, 0;
+ skill TF_BACKSLIDING, 1, 0;
+ skill TF_PICKSTONE, 1, 0;
+ skill TF_THROWSTONE, 1, 0;
}
- switch(BaseJob) {
- case 7: skill 1001,1,0; break;
- case 8: skill 1014,1,0; break;
- case 9: skill 1006,1,0; break;
- case 10: skill 1012,1,0; skill 1013,1,0; break;
- case 11: skill 1009,1,0; break;
- case 12: skill 1003,1,0; skill 1004,1,0; break;
- case 14: skill 1002,1,0; break;
- case 15: skill 1015,1,0; skill 1016,1,0; break;
- case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
- case 17: skill 1005,1,0; break;
- case 18: skill 238,1,0; break;
- case 19: skill 1010,1,0; break;
- case 20: skill 1011,1,0; break;
- default: break;
+
+ if (BaseJob == Job_Knight) {
+ skill KN_CHARGEATK, 1, 0;
+ } else if (BaseJob == Job_Priest) {
+ skill PR_REDEMPTIO, 1, 0;
+ } else if (BaseJob == Job_Wizard) {
+ skill WZ_SIGHTBLASTER, 1, 0;
+ } else if (BaseJob == Job_Blacksmith) {
+ skill BS_UNFAIRLYTRICK, 1, 0;
+ skill BS_GREED, 1, 0;
+ } else if (BaseJob == Job_Hunter) {
+ skill HT_PHANTASMIC, 1, 0;
+ } else if (BaseJob == Job_Assassin) {
+ skill AS_SONICACCEL, 1, 0;
+ skill AS_VENOMKNIFE, 1, 0;
+ } else if (BaseJob == Job_Crusader) {
+ skill CR_SHRINK, 1, 0;
+ } else if (BaseJob == Job_Monk) {
+ skill MO_KITRANSLATION, 1, 0;
+ skill MO_BALKYOUNG, 1, 0;
+ } else if (BaseJob == Job_Sage) {
+ skill SA_CREATECON, 1, 0;
+ skill SA_ELEMENTWATER, 1, 0;
+ skill SA_ELEMENTGROUND, 1, 0;
+ skill SA_ELEMENTFIRE, 1, 0;
+ skill SA_ELEMENTWIND, 1, 0;
+ } else if (BaseJob == Job_Rogue) {
+ skill RG_CLOSECONFINE, 1, 0;
+ } else if (BaseJob == Job_Alchemist) {
+ skill AM_BIOETHICS, 1, 0;
+ } else if (BaseJob == Job_Bard) {
+ skill BA_PANGVOICE, 1, 0;
+ } else if (BaseJob == Job_Dancer) {
+ skill DC_WINKCHARM, 1, 0;
}
return;
OnInit:
- setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class
- setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class
- set .ThirdClass,1; // Enable third classes? (1: yes / 0: no)
- set .SNovice,45; // Minimum base level to turn into Super Novice
- set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no)
- set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no)
- set .Platinum,1; // Get platinum skills automatically? (1: yes / 0: no)
+ .rebirth_blevel = 99; // Minimum base level to reborn OR change to third class
+ .rebirth_jlevel = 50; // Minimum base job level to reborn OR change to third class
+ .jobchange_first = 10; // Minimum job level to turn into 1st class
+ .jobchange_second = 40; // Minimum job level to turn into 2nd class
+ .third_classes = 1; // Enable third classes? (1: yes / 0: no)
+ .supernovice_level = 45; // Minimum base level to turn into Super Novice
+ .linear_jobchange = 1; // Enforce linear class changes? (1: yes / 0: no)
+ .skill_point_check = 1; // Force player to use up all skill points? (1: yes / 0: no)
+ .platinum = 1; // Get platinum skills automatically? (1: yes / 0: no)
end;
-} \ No newline at end of file
+}
diff --git a/npc/custom/platinum_skills.txt b/npc/custom/platinum_skills.txt
index 7f80158a3..da35da389 100644
--- a/npc/custom/platinum_skills.txt
+++ b/npc/custom/platinum_skills.txt
@@ -4,8 +4,6 @@
//= Keichii, DarkChild
//===== Current Version: =====================================
//= 2.8
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Single NPC that assigns quests skills for all classes
//===== Additional Comments: =================================
@@ -20,7 +18,7 @@
//= 2.8 Clustered conditionals replaced with switch to include all Upper types. [Euphy]
//============================================================
-prontera,128,200,6 script Platinum Skill NPC 94,{
+prontera,128,200,6 script Platinum Skill NPC 4_F_MAID,{
mes "[Platinum Skill NPC]";
mes "I can give you the special skills available to your job.";
mes "Would you like these skills now?";
diff --git a/npc/custom/quests/bandit_beard.txt b/npc/custom/quests/bandit_beard.txt
index 175471f56..68c13727b 100644
--- a/npc/custom/quests/bandit_beard.txt
+++ b/npc/custom/quests/bandit_beard.txt
@@ -1,12 +1,12 @@
//===== Hercules Script ======================================
//= Bandit Beard Quest
-//===== By: ==================================================
+//===== By: ==================================================
//= Mega Man Expert & Lupus
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Description: =========================================
+//===== Description: =========================================
//= A harmless quest for a simply item w/o any bonuses "Bandit Beard"
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= Fully working.
//= 1.0 First release
//= 1.1 Fixed some exploits, bugs and typos. Optimized 8) [Lupus]
@@ -15,7 +15,7 @@
//= 1.3 Removed duplicates [L0ne_W0lf]
//============================================================
-umbala,126,129,4 script Bearded Man#bandit 120,{
+umbala,126,129,4 script Bearded Man#bandit 2_M_PHARMACIST,{
if(BEARD_QUEST == 4 ) goto L_MAKE;
if(BEARD_QUEST >= 5 ) goto L_DONE;
if(BEARD_QUEST >= 1 ) goto L_THREAD;
@@ -44,7 +44,7 @@ L_THREAD:
mes "[Bearded Man]";
mes "Also I would need you to get me some things for the beard.";
mes "They are:";
-L_LIST:
+L_List:
mes "^8080FFElastic Band^000000";
mes "^8080FF5 Animal Skins^000000";
mes "^8080FFBlack Dye Stuff^000000";
@@ -96,11 +96,11 @@ L_NOITEMS:
mes "What the hell! I can't make a beard without the items!";
mes "Here is the list again:";
emotion 23;
- goto L_LIST;
-}
+ goto L_List;
+}
//Master Tailor----------
-izlude_in,123,175,4 script Master Tailor#bandit 50,{
+izlude_in,123,175,4 script Master Tailor#bandit 1_M_04,{
mes "[Master Tailor]";
mes "Good evening! I am the Master Tailor!";
if(BEARD_QUEST != 1 ) close;
@@ -117,14 +117,14 @@ izlude_in,123,175,4 script Master Tailor#bandit 50,{
close;
}
// Karfa Thread Clerk---
-aldeba_in,70,179,5 script Karfa Clerk#bandit 113,{
+aldeba_in,70,179,5 script Karfa Clerk#bandit 4_F_KAFRA5,{
mes "[Karfa Clerk]";
if(BEARD_QUEST == 3 ) goto L_REPEAT;
if(BEARD_QUEST > 3 ) goto L_DONE;
mes "What can I do for you?";
next;
- if(BEARD_QUEST == 2 ) goto L_DELIVERY;
+ if(BEARD_QUEST == 2 ) goto L_Delivery;
menu "What's in the boxes?",-,"Nothing.",M_NOPE;
@@ -133,7 +133,7 @@ aldeba_in,70,179,5 script Karfa Clerk#bandit 113,{
M_NOPE:
close;
-L_DELIVERY:
+L_Delivery:
mes "[Karfa Clerk]";
mes "Sorry but we have not received any ^8080FFThread^000000.";
@@ -155,7 +155,7 @@ L_DONE:
}
//Thread Merchant ------
-alberta,65,123,6 script Man#bandit 85,{
+alberta,65,123,6 script Man#bandit 4_M_03,{
if(BEARD_QUEST == 3 && $@beardMobD) goto L_KILLED;
if(BEARD_QUEST > 3) goto L_DONE;
@@ -209,7 +209,7 @@ M_NO:
//mobsummons -------
alberta,1,1,1 script BRDQ_MOBS -1,{
OnStart:
- set $@beardMob,10;
+ set $@beardmob,10;
set $@beardMobD,0;
monster "alberta",65,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
monster "alberta",66,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
@@ -227,9 +227,9 @@ OnDie:
if($@beardmob > 0) end;
set $@beardMobD,1;
end;
-On1201:
-On0001:
- set $@beardMob,0;
+OnClock1201:
+OnClock0001:
+ set $@beardmob,0;
set $@beardMobD,0;
end;
}
diff --git a/npc/custom/quests/berzebub.txt b/npc/custom/quests/berzebub.txt
index 1ba44211e..8a57d4f3e 100644
--- a/npc/custom/quests/berzebub.txt
+++ b/npc/custom/quests/berzebub.txt
@@ -11,9 +11,9 @@
//= 1.2 Optimized. [Euphy]
//============================================================
-prontera,165,178,8 script Old Woman 103,{
+prontera,165,178,8 script Old Woman 8_F_GRANDMOTHER,{
- setarray .@Items[0],714,25,1061,100,1095,200,618,10,1551,2,1614,1,727,20;
+ setarray .@items[0],714,25,1061,100,1095,200,618,10,1551,2,1614,1,727,20;
set .@n$,"[Old Woman]";
mes .@n$;
@@ -37,9 +37,9 @@ prontera,165,178,8 script Old Woman 103,{
next;
mes .@n$;
mes "I need all of the following items:";
- for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) {
- mes " ~ "+.@Items[.@i+1]+"x "+getitemname(.@Items[.@i]);
- if (countitem(.@Items[.@i]) < .@Items[.@i+1]) set .@nr,1; }
+ for(set .@i,0; .@i<getarraysize(.@items); set .@i,.@i+2) {
+ mes " ~ "+.@items[.@i+1]+"x "+getitemname(.@items[.@i]);
+ if (countitem(.@items[.@i]) < .@items[.@i+1]) set .@nr,1; }
next;
if(select("I have all of that!:I'll get those ASAP")==2) goto M_Leave;
@@ -47,8 +47,8 @@ prontera,165,178,8 script Old Woman 103,{
if (.@nr) {
mes "You lie! Get out of here and get those items, you sorry excuse for a rock star.";
close; }
- for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2)
- delitem .@Items[.@i], .@Items[.@i+1];
+ for(set .@i,0; .@i<getarraysize(.@items); set .@i,.@i+2)
+ delitem .@items[.@i], .@items[.@i+1];
getitem 4145,1;
set BerzQuest, 1;
mes "Congratulations! You have all the items. Here is your ^FF0000Berzebub Card^000000, as promised.";
@@ -59,4 +59,4 @@ M_Leave:
mes .@n$;
mes "Such a great item I have right here...";
close;
-} \ No newline at end of file
+}
diff --git a/npc/custom/quests/dead_branch.txt b/npc/custom/quests/dead_branch.txt
index 306a553c8..ef49db159 100644
--- a/npc/custom/quests/dead_branch.txt
+++ b/npc/custom/quests/dead_branch.txt
@@ -4,17 +4,15 @@
//= GM-Yevon
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
// Simple item trade-in quest, a person can get a Dead Branch
-// by simply providing the items: Log x3 (7201), Wooden Heart x1 (7189),
+// by simply providing the items: Log x3 (7201), Wooden Heart x1 (7189),
// Trunk x5 (1019), and Wooden Gnarl x1 (7222).
//===== Additional Comments: =================================
//= 1.1 Optimized, added Bloody Branch with 0.01% chance [Lupus]
//============================================================
-niflheim,204,179,3 script Mister Mobry 121,{
+niflheim,204,179,3 script Mister Mobry 2_M_MOLGENSTEIN,{
mes "[Mister Mobry]";
mes "Trees possess spirits you know...";
@@ -27,10 +25,10 @@ niflheim,204,179,3 script Mister Mobry 121,{
mes "[Mister Mobry]";
mes "I can create a spirited branch... That is, if you can provide me with the correct materials...";
next;
- goto L_MENU;
+ goto L_Menu;
-L_MENU:
- menu "What Do I Need?",-,"Where Can I find this Crap?",M_FIND,"Make me a Dead Branch!",M_CREATE,"Forget it...",M_END;
+L_Menu:
+ menu "What Do I Need?",-,"Where Can I find this Crap?",M_FIND,"Make me a Dead Branch!",M_CREATE,"Forget it...",M_End;
mes "[Mister Mobry]";
mes "Mwehehe... I see you want to control tree spirits am I right? Ok... I need:";
@@ -39,7 +37,7 @@ L_MENU:
mes "^1354455 Trunk^000000";
mes "^1354451 Wooden Gnarl^000000";
next;
- goto L_MENU;
+ goto L_Menu;
M_FIND:
mes "[Mister Mobry]";
@@ -49,7 +47,7 @@ M_FIND:
mes "^135445Trunks? Seriously, think wood...^000000";
mes "^135445Wooden Gnarl... Gibbet...^000000";
next;
- goto L_MENU;
+ goto L_Menu;
L_NOLOG:
mes "[Mister Mobry]";
@@ -97,7 +95,7 @@ L_GIVE2:
getitem 12103,1; //Bloody Branch
close;
-M_END:
+M_End:
mes "[Mister Mobry]";
mes "No spirit for you... then go!";
close;
diff --git a/npc/custom/quests/elvenear.txt b/npc/custom/quests/elvenear.txt
index 4cb5c11de..eb2d1ba4c 100644
--- a/npc/custom/quests/elvenear.txt
+++ b/npc/custom/quests/elvenear.txt
@@ -4,8 +4,6 @@
//= someone
//===== Current Version: =====================================
//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Elven Ears (require 75+ Base Level)
//===== Additional Comments: =================================
@@ -13,17 +11,17 @@
//= 1.2 Fixed exploit [Lupus]
//============================================================
-geffen,127,49,5 script Elven Ears Quest 84,{
- mes "[Elven Ears Quest]";
- mes "Hi, today's quest is....";
- mes "Ah, the ^61B031Elven Ears ^000000Quest!";
- next;
+geffen,127,49,5 script Elven Ears Quest 4_M_02,{
+ mes "[Elven Ears Quest]";
+ mes "Hi, today's quest is....";
+ mes "Ah, the ^61B031Elven Ears ^000000Quest!";
+ next;
menu "Requirements",L_Bl, "Make Item",-,"Cancel",L_Cancel;
mes "[Elven Ears quest]";
- mes "Good good, let me just check";
+ mes "Good good, let me just check";
next;
- if(countitem(2213)<1 || countitem(1040)<20 || countitem(919)<20) goto L_NoMake;
+ if(countitem(2213)<1 || countitem(1040)<20 || countitem(919)<20) goto L_NoMake;
delitem 2213,1;
delitem 1040,20;
delitem 919,20;
@@ -41,11 +39,11 @@ L_NoMake:
mes "Please come back another time...";
close;
-L_Bl:
+L_Bl:
mes "[Elven Ears Quest]";
- mes "Ok all you have to do is collect:";
- mes "^362ED61 Kitty Band^000000";
- mes "^362ED620 Elder Pixie Mustaches^000000";
+ mes "Ok all you have to do is collect:";
+ mes "^362ED61 Kitty Band^000000";
+ mes "^362ED620 Elder Pixie Mustaches^000000";
mes "and ^362ED620 Animal Skin^000000";
next;
menu "Accept",-, "Leave",L_Leave;
diff --git a/npc/custom/quests/event_6_new_hats.txt b/npc/custom/quests/event_6_new_hats.txt
index 37b5e52b7..497fae849 100644
--- a/npc/custom/quests/event_6_new_hats.txt
+++ b/npc/custom/quests/event_6_new_hats.txt
@@ -4,8 +4,6 @@
//= RedxSwordxHero, Lupus
//===== Current Version: =====================================
//= 1.4b
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= 4 brothers give you quests to get 6 new hats (missing
//= from official quests)
@@ -15,16 +13,16 @@
//= -Kafra Band, Panda Hat
//= -Crescent Hairpin
//===== Additional Comments: =================================
-//= Event New Hats by RedxSwordxHero
+//= Event New Hats by RedxSwordxHero
//= Ported and improved with timers [Lupus]
//= Thanks to x[tsk],fixed all item requirements to iRO specs exept
//= for hats which cannot be made on the real server. [Lupus]
//= 1.2 removed already existing official hat quests [Lupus]
//= 1.3 Spiffed up the NPC coords and their appearance [Lupus]
-//= 1.4 Fixed exploits. 1.4a fixed wrong item ID [Lupus]
+//= 1.4 Fixed exploits. 1.4a fixed wrong item ID [Lupus]
//============================================================
-prt_in,130,66,5 script Zac 704,{
+prt_in,130,66,5 script Zac 4_M_BIBI,{
mes "[Zac]";
mes "I am the oldest and strongest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them.";
next;
@@ -84,7 +82,7 @@ L3:
close;
}
-prt_in,162,131,5 script Blac 732,{
+prt_in,162,131,5 script Blac 4_M_JOB_HUNTER,{
mes "[Blac]";
mes "I am the youngest and sexiest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them.";
next;
@@ -138,7 +136,7 @@ L3:
close;
}
-prt_in,53,56,5 script Jac 107,{
+prt_in,53,56,5 script Jac 1_M_PAY_ELDER,{
mes "[Jac]";
mes "I am the 2nd oldest and calmest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them.";
next;
@@ -222,7 +220,7 @@ L3:
close;
}
-prt_in,45,113,5 script Pac 705,{
+prt_in,45,113,5 script Pac 4_M_GEF_SOLDIER,{
mes "[Pac]";
mes "I am 3rd oldest and wisest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat so I can make them.";
next;
diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt
index fd07b8de6..c4e8187de 100644
--- a/npc/custom/quests/hunting_missions.txt
+++ b/npc/custom/quests/hunting_missions.txt
@@ -3,15 +3,23 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.4a
//===== Description: =========================================
//= Random hunting missions.
//= Rewards are based on quest difficulty.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.1 Small improvements and fixes.
+//= 1.2 Added party support and replaced blacklists with an
+//= SQL query, both thanks to AnnieRuru.
+//= 1.3 Re-added a blacklist adapted for the SQL query.
+//= 1.3a Added mission reset options.
+//= 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]
//============================================================
-prontera,152,187,6 script Hunting Missions 951,{
+prontera,152,187,6 script Hunting Missions 4_F_EDEN_MASTER,{
function Chk; function Cm;
mes "[Hunting Missions]";
mes "Hello, "+strcharinfo(0)+"!";
@@ -36,7 +44,7 @@ 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 (#Mission_Count) {
+ 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 ) {
mes "You've started a mission";
mes "on another character.";
close;
@@ -72,10 +80,24 @@ function Chk; function Cm;
mes "[Hunting Missions]";
mes "Do you really want to";
mes "abandon your mission?";
- if (.Delay) mes "Your delay time will not be reset.";
+ if (.Reset < 0 && .Delay)
+ mes "Your delay time will not be reset.";
+ else if (.Reset > 0)
+ mes "It will cost "+Cm(.Reset)+" Zeny.";
next;
switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) {
case 1:
+ if (.Reset > 0) {
+ if (Zeny < .Reset) {
+ mes "[Hunting Missions]";
+ mes "You don't have enough";
+ mes "Zeny to drop this mission.";
+ emotion e_sry;
+ close;
+ }
+ Zeny -= .Reset;
+ emotion e_cash;
+ }
mes "[Hunting Missions]";
mes "Alright, I've dropped";
mes "your current mission.";
@@ -85,7 +107,7 @@ function Chk; function Cm;
setd "Mission"+.@i+"_",0;
}
set #Mission_Count,0;
- if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
+ if (.Reset < 0 && .Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
close;
case 2:
mes "[Hunting Missions]";
@@ -107,7 +129,7 @@ function Chk; function Cm;
case 6:
mes "[Hunting Missions]";
mes "The top hunters are:";
- query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `global_reg_value` WHERE str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5",.@id,.@name$,.@val);
+ query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num_db` WHERE `key` = 'Mission_Total' ORDER BY `value` DESC LIMIT 5",.@id,.@name$,.@val);
for(set .@i,0; .@i<5; set .@i,.@i+1)
mes " [Rank "+(.@i+1)+"] "+((.@name$[.@i] == "")?"^777777none":"^0055FF"+.@name$[.@i]+"^000000 : ^FF0000"+.@val[.@i]+" pt.")+"^000000";
close;
@@ -133,7 +155,7 @@ Mission_Status:
set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6);
set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5;
set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5;
- set .@Zeny, #Mission_Count*.Quests*.@j[.@i]*.Modifier[2];
+ set .@zeny, #Mission_Count*.Quests*.@j[.@i]*.Modifier[2];
next;
mes "[Hunting Missions]";
@@ -141,7 +163,7 @@ Mission_Status:
mes " > Mission Points: ^0055FF"+.@Mission_Points+"^000000";
mes " > Base Experience: ^0055FF"+Cm(.@Base_Exp)+"^000000";
mes " > Job Experience: ^0055FF"+Cm(.@Job_Exp)+"^000000";
- mes " > Zeny: ^0055FF"+Cm(.@Zeny)+"^000000";
+ mes " > Zeny: ^0055FF"+Cm(.@zeny)+"^000000";
if (@f) { set @f,0; return; }
next;
mes "[Hunting Missions]";
@@ -154,7 +176,7 @@ Mission_Status:
set #Mission_Points, #Mission_Points+.@Mission_Points;
set BaseExp, BaseExp+.@Base_Exp;
set JobExp, JobExp+.@Job_Exp;
- set Zeny, Zeny+.@Zeny;
+ Zeny += .@zeny;
for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
setd "Mission"+.@i,0;
setd "Mission"+.@i+"_",0;
@@ -162,8 +184,8 @@ Mission_Status:
set #Mission_Count,0;
if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
set Mission_Total, Mission_Total+1;
- if (Mission_Total == 1) query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES ("+getcharid(0)+",'Mission_Total','1',3,0)");
- else query_sql("UPDATE `global_reg_value` SET `value` = "+Mission_Total+" WHERE char_id = "+getcharid(0)+" AND `str` = 'Mission_Total'");
+ if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num_db` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(0)+",'Mission_Total','0',1)");
+ else query_sql("UPDATE `char_reg_num_db` SET `value` = "+Mission_Total+" WHERE `char_id` = "+getcharid(0)+" AND `key` = 'Mission_Total'");
close;
Mission_Info:
@@ -240,7 +262,7 @@ OnNPCKillEvent:
for(set .@i,0; .@i<$@partymembercount; set .@i,.@i+1) {
if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
attachrid $@partymemberaid[.@i];
- if (#Mission_Count && Mission0 && HP > 0) {
+ if (#Mission_Count && Mission0 && Hp > 0) {
getmapxy(.@map2$,.@x2,.@y2,0);
if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) {
for(set .@j,0; .@j<.Quests; set .@j,.@j+1) {
@@ -262,6 +284,7 @@ OnInit:
set .Delay,12; // Quest delay, in hours (0 to disable).
set .Quests,4; // Number of subquests per mission (increases rewards).
set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only)
+ set .Reset,-1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time)
setarray .Count[0], // Min and max monsters per subquest (increases rewards).
40,70;
setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards.
@@ -280,4 +303,4 @@ OnInit:
npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1];
end;
}
-- shop mission_shop -1,512:-1 \ No newline at end of file
+- shop mission_shop -1,512:-1
diff --git a/npc/custom/quests/jewel_case.txt b/npc/custom/quests/jewel_case.txt
index 9ec952a23..d725a33f1 100644
--- a/npc/custom/quests/jewel_case.txt
+++ b/npc/custom/quests/jewel_case.txt
@@ -4,14 +4,12 @@
//= Lupus
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= A quest for players at base level 99,
//= with Jewel Case as a reward.
//============================================================
-lighthalzen,108,229,2 script La Fenn 766,{
+lighthalzen,108,229,2 script La Fenn 4_M_JPNOJI,{
mes "[La Fenn]";
if(BaseLevel<99) {
if(Q_99LVL) {
diff --git a/npc/custom/quests/kaho_balmung.txt b/npc/custom/quests/kaho_balmung.txt
index a2a154acf..4e598922d 100644
--- a/npc/custom/quests/kaho_balmung.txt
+++ b/npc/custom/quests/kaho_balmung.txt
@@ -4,8 +4,6 @@
//= MagicalTux
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Custom quests for Balmung and Lord Kaho's Horns.
//= WARNING: The quests are very easy, so be careful!
@@ -13,7 +11,7 @@
//= 1.1 Cleaned and optimized. [Euphy]
//============================================================
-prontera,158,356,4 script Royal Messenger 105,{
+prontera,158,356,4 script Royal Messenger 8W_SOLDIER,{
setarray .@Req1[0],1161,999,120,984,10,996,10,994,10,995,10,997,10;
setarray .@Req2[0],5013,2298,1,1001,10,996,10,994,10,995,10,997,10;
@@ -44,8 +42,8 @@ prontera,158,356,4 script Royal Messenger 105,{
close; }
for(set .@j,1; .@j<13; set .@j,.@j+2)
delitem getd(".@Req"+.@i+"["+.@j+"]"), getd(".@Req"+.@i+"["+(.@j+1)+"]");
- set Zeny, Zeny-1000000;
+ Zeny -= 1000000;
mes "I see you already have all the items you need. Here's your "+getitemname(getd(".@Req"+.@i+"[0]"))+", as promised.";
getitem getd(".@Req"+.@i+"[0]"),1;
close;
-} \ No newline at end of file
+}
diff --git a/npc/custom/quests/kahohorn.txt b/npc/custom/quests/kahohorn.txt
index 031631b74..8c5c4d8cf 100644
--- a/npc/custom/quests/kahohorn.txt
+++ b/npc/custom/quests/kahohorn.txt
@@ -1,20 +1,18 @@
//===== Hercules Script ======================================
//= Lord Kaho's Horns Quest
//===== By: ==================================================
-//=
+//=
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Custom quest for Lord Kaho's Horns.
//===== Additional Comments: =================================
//= 1.1 Optimized, and fixed some requirements. [Euphy]
//============================================================
-geffen,115,107,5 script Lord Kaho's Servant 61,{
+geffen,115,107,5 script Lord Kaho's Servant 1_M_PUBMASTER,{
- setarray .@Items[0],7005, 968, 923, 734, 724,2268,7036,7020,5053,7018,741,742,743,750,751,752,753,754;
+ setarray .@items[0],7005, 968, 923, 734, 724,2268,7036,7020,5053,7018,741,742,743,750,751,752,753,754;
setarray .@Drops[0],1272,1087,1039,1260,1046,1115,1252,1147,1038,1059;
set .@n$, "[Lord Kaho's Servant]";
@@ -32,17 +30,17 @@ geffen,115,107,5 script Lord Kaho's Servant 61,{
next;
mes .@n$;
for(set .@i,0; .@i<10; set .@i,.@i+1)
- mes "1x ^0055FF"+getitemname(.@Items[.@i])+"^000000 (from "+strmobinfo(1,.@Drops[.@i])+")";
+ mes "1x ^0055FF"+getitemname(.@items[.@i])+"^000000 (from "+strmobinfo(1,.@Drops[.@i])+")";
next;
mes .@n$;
mes "We're not done yet, sweetie...";
mes "I'm a big fan of dolls, so you need to bring me these cuties!";
for(set .@i,10; .@i<18; set .@i,.@i+1)
- mes "1x ^0055FF"+getitemname(.@Items[.@i])+"^000000";
+ mes "1x ^0055FF"+getitemname(.@items[.@i])+"^000000";
next;
mes .@n$;
mes "Finally, I've worked hard to make these horns for my master with all the items mentioned above...";
- mes "Please include ^0055FF5 million Zeny^000000 for my efforts.";
+ mes "Please include ^0055FF5 million Zeny^000000 for my efforts.";
next;
mes .@n$;
mes "Are you ready for me to make this special item?";
@@ -54,16 +52,16 @@ geffen,115,107,5 script Lord Kaho's Servant 61,{
close; }
mes .@n$;
for(set .@i,0; .@i<18; set .@i,.@i+1)
- if (!countitem(.@Items[.@i])) { set .@nr,1; break; }
+ if (!countitem(.@items[.@i])) { set .@nr,1; break; }
if (.@nr || countitem(714) < 3 || Zeny < 5000000) {
mes "I can't afford to make this if you don't bring all materials needed. Please understand this is to benefit heroes such as yourself!";
close; }
for(set .@i,0; .@i<18; set .@i,.@i+1)
- delitem .@Items[.@i],1;
+ delitem .@items[.@i],1;
delitem 714,3;
- set Zeny, Zeny-5000000;
+ Zeny -= 5000000;
mes "Wow! You are brave indeed!";
getitem 5013,1;
mes "Enjoy being God of Rune-Midgard!";
close;
-} \ No newline at end of file
+}
diff --git a/npc/custom/quests/kings_items.txt b/npc/custom/quests/kings_items.txt
index d935dac08..055315810 100644
--- a/npc/custom/quests/kings_items.txt
+++ b/npc/custom/quests/kings_items.txt
@@ -1,19 +1,17 @@
//===== Hercules Script ======================================
//= Event King Items
-//===== By: ==================================================
+//===== By: ==================================================
//= $ephiroth
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= Grand Circlet Quest combined with Excalibur Quest.
//===== Additional Comments: =================================
//= 2006/09/27: 1.0 Release and fully working. [$ephiroth]
//= 1.1 Optimized. [Euphy]
//============================================================
-prt_castle,80,170,4 script King of Prontera 108,{
+prt_castle,80,170,4 script King of Prontera 1_M_PRON_KING,{
mes "[King of Prontera]";
mes "Hello, can you help me?";
next;
@@ -26,15 +24,15 @@ prt_castle,80,170,4 script King of Prontera 108,{
mes "If you get her these items I'm sure she'll calm down.";
mes "I'll give you my crown or my sword as a reward.";
next;
- setarray .@Items1[0],5007,742,30,741,50,753,20,732,1,710,20,629,20;
- setarray .@Items2[0],1137,2254,1,2282,1,714,1;
+ setarray .@items1[0],5007,742,30,741,50,753,20,732,1,710,20,629,20;
+ setarray .@items2[0],1137,2254,1,2282,1,714,1;
switch(select("What do you need?:I have the items!:Forget it.")) {
case 1:
for(set .@i,1; .@i<3; set .@i,.@i+1) {
mes "[King of Prontera]";
mes "If you could get me:";
- for(set .@j,1; .@j<getarraysize(getd(".@Items"+.@i)); set .@j,.@j+2)
- mes " ~ ^0055FF"+getd(".@Items"+.@i+"["+(.@j+1)+"]")+"^000000x "+getitemname(getd(".@Items"+.@i+"["+.@j+"]"));
+ for(set .@j,1; .@j<getarraysize(getd(".@items"+.@i)); set .@j,.@j+2)
+ mes " ~ ^0055FF"+getd(".@items"+.@i+"["+(.@j+1)+"]")+"^000000x "+getitemname(getd(".@items"+.@i+"["+.@j+"]"));
mes "I'll give my "+((.@i)?"sword.":"crown.");
if (.@i==2) close;
next; }
@@ -43,16 +41,16 @@ prt_castle,80,170,4 script King of Prontera 108,{
mes "What item do you want?";
next;
set .@i, select("Crown:Sword");
- for(set .@j,1; .@j<getarraysize(getd(".@Items"+.@i)); set .@j,.@j+2)
- if (countitem(getd(".@Items"+.@i+"["+.@j+"]")) < getd(".@Items"+.@i+"["+(.@j+1)+"]")) set .@nr,1;
+ for(set .@j,1; .@j<getarraysize(getd(".@items"+.@i)); set .@j,.@j+2)
+ if (countitem(getd(".@items"+.@i+"["+.@j+"]")) < getd(".@items"+.@i+"["+(.@j+1)+"]")) set .@nr,1;
mes "[King of Prontera]";
- if (.@nr) {
+ if (.@nr) {
mes "You're missing something.";
mes "Come back after you get ALL the items.";
close; }
- for(set .@j,1; .@j<getarraysize(getd(".@Items"+.@i)); set .@j,.@j+2)
- delitem getd(".@Items"+.@i+"["+.@j+"]"), getd(".@Items"+.@i+"["+(.@j+1)+"]");
- getitem getd(".@Items"+.@i+"[0]"),1;
+ for(set .@j,1; .@j<getarraysize(getd(".@items"+.@i)); set .@j,.@j+2)
+ delitem getd(".@items"+.@i+"["+.@j+"]"), getd(".@items"+.@i+"["+(.@j+1)+"]");
+ getitem getd(".@items"+.@i+"[0]"),1;
mes "THANK YOU SOO MUCH!!";
mes "This will surely calm her down.";
mes "As promised, here is my "+((.@i==1)?"crown.":"sword.");
@@ -64,7 +62,7 @@ prt_castle,80,170,4 script King of Prontera 108,{
}
}
-prt_castle,84,170,4 script King's Daughter 62,{
+prt_castle,84,170,4 script King's Daughter 1_M_SIZ,{
mes "[King's Daughter]";
mes "Hmph, I hate my dad right now!!";
next;
@@ -76,4 +74,4 @@ prt_castle,84,170,4 script King's Daughter 62,{
mes "Well, he won't give me what I want!!";
mes "He's the King of Prontera. He should be able to get me ANYTHING!!!";
close;
-} \ No newline at end of file
+}
diff --git a/npc/custom/quests/may_hats.txt b/npc/custom/quests/may_hats.txt
index e0f1f87ee..ce2c09764 100644
--- a/npc/custom/quests/may_hats.txt
+++ b/npc/custom/quests/may_hats.txt
@@ -5,23 +5,21 @@
//= Lupus
//===== Current Version: =====================================
//= 1.01
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
-//= Custom quest for some RO mobile game bonus items
+//= Custom quest for some RO mobile game bonus items
//===== Additional Comments: =================================
//= 1 May, 2006
//= 1.01 translated the rest of dialogues
//============================================================
-gonryun,187,140,4 script Yakima 850,{
+gonryun,187,140,4 script Yakima 4_F_EINWOMAN,{
mes "[Yakima]";
mes callfunc("F_Hi");
mes "I can make some items for you.";
mes "They are quite rare novadays...";
specialeffect 417;
next;
- menu "Bird Nest",-,"Lion Mask",M_2,"Skeleton Manteau",M_3,"Fashion Hip Sack",M_4,"Sales Banner",M_5,"Leave",M_EXIT;
+ menu "Bird Nest",-,"Lion Mask",M_2,"Skeleton Manteau",M_3,"Fashion Hip Sack",M_4,"Sales Banner",M_5,"Leave",M_Exit;
mes "[Yakima]";
mes "Oh.. it's an excellent item for any beast hunter.";
@@ -36,9 +34,9 @@ gonryun,187,140,4 script Yakima 850,{
mes "[Yakima]";
mes "Do you have all the items?";
next;
- menu "Yeah.",-,"Nay.",M_EXIT;
+ menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(5067) < 1 || countitem(916) < 920 || countitem(925) < 310) GOTO L_NOITEM;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds,
+ if(countitem(5067) < 1 || countitem(916) < 920 || countitem(925) < 310) goto L_NOITEM;//Items: Sombrero, Feather_of_Birds, Bill_of_Birds,
delitem 5067,1;//Items: Sombrero,
delitem 916,920;//Items: Feather_of_Birds,
delitem 925,310;//Items: Bill_of_Birds,
@@ -63,9 +61,9 @@ M_2:
mes "[Yakima]";
mes "Do you have all the items?";
next;
- menu "Yeah.",-,"Nay.",M_EXIT;
+ menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(5098) < 1 || countitem(1030) < 10 || countitem(1029) < 30 || countitem(7267) < 300) GOTO L_NOITEM;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
+ if(countitem(5098) < 1 || countitem(1030) < 10 || countitem(1029) < 30 || countitem(7267) < 300) goto L_NOITEM;//Items: Tiger_Mask, Tiger_Skin, Tiger's_Footskin, Tiger_Panty,
delitem 5098,1;//Items: Tiger_Mask,
delitem 1030,10;//Items: Tiger's_Footskin,
delitem 1029,30;//Items: Tiger_Skin,
@@ -92,9 +90,9 @@ M_3:
mes "[Yakima]";
mes "Do you have all the items?";
next;
- menu "Yeah.",-,"Nay.",M_EXIT;
+ menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(2508) < 1 || countitem(2506) < 2 || countitem(2609) < 3 || countitem(7207) < 10) GOTO L_NOITEM;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau,
+ if(countitem(2508) < 1 || countitem(2506) < 2 || countitem(2609) < 3 || countitem(7207) < 10) goto L_NOITEM;//Items: Ragamuffin_Manteau, Manteau_, Skull_Ring, Old_Manteau,
delitem 2508,1;//Items: Ragamuffin_Manteau,
delitem 2506,2;//Items: Manteau_,
delitem 2609,3;//Items: Skull_Ring,
@@ -121,9 +119,9 @@ M_4:
mes "[Yakima]";
mes "Do you have all the items?";
next;
- menu "Yeah.",-,"Nay.",M_EXIT;
+ menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(2269) < 3 || countitem(2207) < 3 || countitem(2612) < 2 || countitem(2287)<3 ) GOTO L_NOITEM;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring,
+ if(countitem(2269) < 3 || countitem(2207) < 3 || countitem(2612) < 2 || countitem(2287)<3 ) goto L_NOITEM;//Items: Romantic_Flower, Fancy_Flower, Flower_Ring,
delitem 2269,3;//Items: Romantic_Flower,
delitem 2207,3;//Items: Fancy_Flower,
delitem 2612,2;//Items: Flower_Ring,
@@ -152,9 +150,9 @@ M_5:
mes "[Yakima]";
mes "Do you have all the items?";
next;
- menu "Yeah.",-,"Nay.",M_EXIT;
+ menu "Yeah.",-,"Nay.",M_Exit;
- if(countitem(975) < 1 || countitem(980) < 1 || countitem(2272) < 2 || countitem(2262) < 3 || countitem(7298) < 180 || countitem(7164) < 20) GOTO L_NOITEM;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach,
+ if(countitem(975) < 1 || countitem(980) < 1 || countitem(2272) < 2 || countitem(2262) < 3 || countitem(7298) < 180 || countitem(7164) < 20) goto L_NOITEM;//Items: Scarlet_Dyestuff, Orange_Dyestuff, Stop_Post, Clown_Nose, Fig_Leaf, Solid_Peach,
delitem 975,1;//Items: Scarlet_Dyestuff,
delitem 980,1;//Items: Orange_Dyestuff,
delitem 2272,2;//Items: Stop_Post,
@@ -173,7 +171,7 @@ L_NOITEM:
emotion e_sry;
close;
-M_EXIT:
+M_Exit:
mes "[Yakima]";
mes callfunc("F_Bye");
close;
diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt
index 3f69c73ef..fb5b7993d 100644
--- a/npc/custom/quests/quest_shop.txt
+++ b/npc/custom/quests/quest_shop.txt
@@ -3,24 +3,30 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.6
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.6a
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.2 Added category support.
+//= 1.3 More options and fixes.
+//= 1.4 Added debug settings.
+//= 1.5 Replaced categories with shop IDs.
+//= 1.6 Added support for purchasing stackables.
+//= 1.6a Added support for previewing costumes and robes.
//============================================================
// Shop NPCs -- supplying no argument displays entire menu.
// callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
//============================================================
-prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; }
+prontera,164,203,6 script Quest Shop#1 4_M_MOCASS2,{ callfunc "qshop"; }
// Script Core
//============================================================
-- script quest_shop -1,{
+- script quest_shop -1,{
function Add; function Chk; function Slot; function A_An;
OnInit:
freeloop(1);
@@ -116,13 +122,13 @@ OnBuyItem:
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
next;
setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
- if (((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512)) && @qe[2] > 0)
+ if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192)))
set .@preview,1;
addtimer 1000, strnpcinfo(0)+"::OnEnd";
while(1) {
- switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[6])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
+ switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
- if (@qe[0]) {
+ if (@qe[0]) {
mes "[Quest Shop]";
mes "You're missing one or more quest requirements.";
close;
@@ -132,19 +138,20 @@ OnBuyItem:
mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close;
}
- if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]);
+ if (.@q[4]) Zeny -= (.@q[4]*.@q[1]);
if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]);
if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1]*.@q[1];
getitem .@q[0],.@q[2];
if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
- specialeffect2 699;
+ specialeffect2 EF_FLOWERLEAF;
close;
case 2:
- setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), 1;
- if (@qe[1] & 1) changelook LOOK_HEAD_BOTTOM, @qe[2];
- if (@qe[1] & 256) changelook LOOK_HEAD_TOP, @qe[2];
- if (@qe[1] & 512) changelook LOOK_HEAD_MID, @qe[2];
+ setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
+ if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2];
+ else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2];
+ else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2];
+ else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2];
break;
case 3:
close;
@@ -152,12 +159,13 @@ OnBuyItem:
}
OnEnd:
- if (@qe[6]) {
+ if (@qe[7]) {
changelook LOOK_HEAD_BOTTOM, @qe[3];
changelook LOOK_HEAD_TOP, @qe[4];
changelook LOOK_HEAD_MID, @qe[5];
+ changelook LOOK_ROBE, @qe[6];
}
- deletearray @qe[0],7;
+ deletearray @qe[0],8;
end;
function Add {
@@ -219,4 +227,4 @@ function script qshop {
- shop qshop2 -1,909:-1
- shop qshop3 -1,909:-1
- shop qshop4 -1,909:-1
-- shop qshop5 -1,909:-1 \ No newline at end of file
+- shop qshop5 -1,909:-1
diff --git a/npc/custom/quests/questboard.txt b/npc/custom/quests/questboard.txt
index abfb61a4d..3e7a90d9d 100644
--- a/npc/custom/quests/questboard.txt
+++ b/npc/custom/quests/questboard.txt
@@ -4,11 +4,9 @@
//= tr0n
//===== Current Version: =====================================
//= 1.4.4
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Easily add collection and hunting quests.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
// 1.0.0 Release
// 1.1.0 Added zeny reward
// 1.2.0 Rewrote checkmob and killcounter
@@ -17,7 +15,7 @@
// 1.4.4 Added Quest delay
//============================================================
-prontera,129,215,5 script Questboard 857,{
+prontera,129,215,5 script Questboard 4_BOARD3,{
if(c_run==1){
mes "[^FF7700Questboard^000000]";
@@ -196,7 +194,7 @@ L_checkitems:
mes "[^FF7700Questboard^000000]";
mes "Congratulation! Here is your Reward.";
if(getd("." +currentquest$+"_collectionprize")!=0) getitem(getd("." +currentquest$+"_collectionprize"),getd("." +currentquest$+"_collectionamount"));
- set Zeny,Zeny+getd("." +currentquest$+"_collectionzeny");
+ Zeny += getd("." +currentquest$+"_collectionzeny");
getexp getd("." +currentquest$+"_collectionexp["+0+"]"),getd("." +currentquest$+"_collectionexp["+1+"]");
setd(currentquest$ + "_collection_delay"),gettimetick(2)+.quest_delay;
set currentquest$, "";
@@ -230,7 +228,7 @@ L_checkmobs2:
setd(currentquest$+"_"+.@currentmob+"_"+.@x+"_killcount", 0);
}
if(getd("." +currentquest$+"_huntingprize")!=0) getitem(getd("." +currentquest$+"_huntingprize"),getd("." +currentquest$+"_huntingamount"));
- set Zeny, Zeny+getd("." +currentquest$+"_huntingzeny");
+ Zeny += getd("." +currentquest$+"_huntingzeny");
getexp getd("." +currentquest$+"_huntingexp["+0+"]"),getd("." +currentquest$+"_huntingexp["+1+"]");
setd(currentquest$ + "_hunting_delay"),gettimetick(2)+.quest_delay;
set currentquest$, "";
@@ -288,12 +286,12 @@ function AddCollection {
setd ("." +.collectionquestcount+"_collectionzeny", getarg(5));
set .@argcount, 6;
set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionexp"));
- setd ("." +.collectionquestcount+"_collectionexp["+.@size+"]",getarg(.@argcount));
- setd ("." +.collectionquestcount+"_collectionexp["+(.@size+1)+"]",getarg(.@argcount+1));
+ setd ("." +.collectionquestcount+"_collectionexp["+.@size+"]",getarg(.@argcount));
+ setd ("." +.collectionquestcount+"_collectionexp["+(.@size+1)+"]",getarg(.@argcount+1));
set .@argcount, .@argcount+2;
while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) {
set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionitem"));
- setd ("."+.collectionquestcount+"_collectionitem["+.@size+"]",getarg(.@argcount));
+ setd ("."+.collectionquestcount+"_collectionitem["+.@size+"]",getarg(.@argcount));
setd ("."+.collectionquestcount+"_collectionitem["+(.@size+1)+"]",getarg(.@argcount+1));
set .@argcount,.@argcount+2;
}
@@ -311,11 +309,11 @@ function AddHunting {
set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingexp"));
set .@argcount, 6;
setd ("." +.huntingquestcount+"_huntingexp["+.@size+"]",getarg(.@argcount));
- setd ("." +.huntingquestcount+"_huntingexp["+(.@size+1)+"]",getarg(.@argcount+1));
+ setd ("." +.huntingquestcount+"_huntingexp["+(.@size+1)+"]",getarg(.@argcount+1));
set .@argcount, .@argcount+2;
while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) {
set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingmob"));
- setd ("."+.huntingquestcount+"_huntingmob["+.@size+"]",getarg(.@argcount));
+ setd ("."+.huntingquestcount+"_huntingmob["+.@size+"]",getarg(.@argcount));
setd ("."+.huntingquestcount+"_huntingmob["+(.@size+1)+"]",getarg(.@argcount+1));
set .@argcount, .@argcount+2;
}
diff --git a/npc/custom/quests/sphinx_mask.txt b/npc/custom/quests/sphinx_mask.txt
index b2cf64559..a32828b8b 100644
--- a/npc/custom/quests/sphinx_mask.txt
+++ b/npc/custom/quests/sphinx_mask.txt
@@ -1,19 +1,17 @@
//===== Hercules Script ======================================
//= Sphinx Mask Quest (custom)
-//===== By: ==================================================
+//===== By: ==================================================
//= sabernet09
-//===== Current Version: =====================================
+//===== Current Version: =====================================
//= 1.3
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//===== Description: =========================================
//= This quest is related to Umbalian Chief.
//= 1.1 Removed it from official Umbala quests [Lupus]
//= 1.2 Added a missing variable (sphmask_q) [erKURITA]
//= 1.3 Optimized, and coordinates moved. [Euphy]
-//============================================================
+//============================================================
-morocc,208,90,6 script Turban Thief 58,{
+morocc,208,90,6 script Turban Thief 1_M_MERCHANT,{
mes "[Turban Thief]";
if(event_umbala < 2) {
mes "What do you wan te withz me? Be gone!";
@@ -44,9 +42,9 @@ L_Menu:
if (Zeny < getarg(2)) {
mes "Are youz playin wit me? You don't have ze money!";
close; }
- set Zeny, Zeny-getarg(2);
+ Zeny -= getarg(2);
mes "O ho ho, it's a deal, then!";
getitem 7114,1;
set sphmask_q,1;
close;
-} \ No newline at end of file
+}
diff --git a/npc/custom/quests/sunglasses.txt b/npc/custom/quests/sunglasses.txt
index 6e44ce007..447fca877 100644
--- a/npc/custom/quests/sunglasses.txt
+++ b/npc/custom/quests/sunglasses.txt
@@ -4,8 +4,6 @@
//= amichan
//===== Current Version: =====================================
//= 1.8
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Quest to get Slotted Sunglasses.
//= Will reset after quest completion.
@@ -17,7 +15,7 @@
//= 1.8 Cleaning. [Euphy]
//============================================================
-alberta,88,193,5 script Sunglasses Trader 73,{
+alberta,88,193,5 script Sunglasses Trader 1_F_MERCHANT_01,{
mes "[Sunglasses Trader]";
if(SG_QUEST1 == 1) {
mes "There is nothing more I can tell you.";
@@ -58,7 +56,7 @@ alberta,88,193,5 script Sunglasses Trader 73,{
close; }
delitem 730,1;
delitem 949,50;
- set Zeny, Zeny-100000;
+ Zeny -= 100000;
set SG_QUEST1,1;
mes "[Sunglasses Trader]";
mes "Great. Now, listen carefully.";
@@ -69,7 +67,7 @@ alberta,88,193,5 script Sunglasses Trader 73,{
close;
}
-moc_fild07,334,186,5 script Maseph 702,{
+moc_fild07,334,186,5 script Maseph 4_F_GON,{
mes "[Maseph]";
if(SG_QUEST1 != 1) {
mes "Lovely day, isn't it ?";
@@ -96,7 +94,7 @@ moc_fild07,334,186,5 script Maseph 702,{
mes "You do not have enough Zeny. Come back to me when you do.";
close; }
delitem 2201,1;
- set Zeny, Zeny-400000;
+ Zeny -= 400000;
mes "Thank you. I will get on it right away...";
next;
mes "[Maseph]";
@@ -105,4 +103,4 @@ moc_fild07,334,186,5 script Maseph 702,{
getitem 2202,1;
set SG_QUEST1,0;
close;
-} \ No newline at end of file
+}
diff --git a/npc/custom/quests/tha_statues.txt b/npc/custom/quests/tha_statues.txt
index a9c53a033..c4787fcd3 100644
--- a/npc/custom/quests/tha_statues.txt
+++ b/npc/custom/quests/tha_statues.txt
@@ -4,8 +4,6 @@
//= Bibilol, Moryagorn
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Custom Thanatos Tower Quest
//===== Additional Comments: =================================
@@ -15,7 +13,7 @@
//Statue (NPC)(U: UP, D: DOWN, R: RIGHT, L: LEFT) :
// Explain Npc
-tha_t08,69,106,4 script Statue 111,{
+tha_t08,69,106,4 script Statue HIDDEN_NPC,{
mes "You can read on the back of the statue:";
mes "'By the spirit of olds, the walls are closed";
mes "Upper floors or foreign taboo";
@@ -30,7 +28,7 @@ tha_t08,69,106,4 script Statue 111,{
//(Mediane)(D,R)-->tha_t09,84,99,4
//Script:
-tha_t09,17,158,4 script Thalos 111,{
+tha_t09,17,158,4 script Thalos HIDDEN_NPC,{
if(TSQ_CHK == 1) goto done;
mes "[Thalos]";
mes "You must find the 2nd Statue now.";
@@ -43,13 +41,13 @@ done:
}
-tha_t09,84,99,4 script Mediane 111,{
+tha_t09,84,99,4 script Mediane HIDDEN_NPC,{
if(TSQ_CHK != 1) goto nook;
mes "[Mediane]";
mes "Okay, i am warping you to the next floor now.";
next;
set TSQ_CHK,0;
- warp "tha_t10", 165, 138;
+ warp "tha_t10", 165, 138;
close;
nook:
mes "[Mediane]";
@@ -63,7 +61,7 @@ nook:
//(Veriaelle)(D,L)-->tha_t10,99,97,4
//Script:
-tha_t10,130,159,4 script Melkor 111,{
+tha_t10,130,159,4 script Melkor HIDDEN_NPC,{
if(TSQ_CHK == 1) goto done;
mes "[Melkor]";
mes "You must find the other Spirits now.";
@@ -76,7 +74,7 @@ done:
close;
}
-tha_t10,160,98,4 script Zebrus 111,{
+tha_t10,160,98,4 script Zebrus HIDDEN_NPC,{
if(TSQ_CHK != 1) goto nook;
mes "[Zebrus]";
mes "Keep on this way, There is one Spirit left";
@@ -90,7 +88,7 @@ nook:
close;
}
-tha_t10,99,97,4 script Veriaelle 111,{
+tha_t10,99,97,4 script Veriaelle HIDDEN_NPC,{
if(TSQ_CHK != 2) goto nook;
mes "[Veriaelle]";
mes "Okay, i am warping you to the next floor.";
@@ -113,7 +111,7 @@ nook:
//(Seranes)(U,R)-->tha_t11,85,85,4
//Script:
-tha_t11,16,85,4 script Throtre 111,{
+tha_t11,16,85,4 script Throtre HIDDEN_NPC,{
if(TSQ_CHK == 1) goto done;
mes "[Throtre]";
mes "You got my authorization for the next floor";
@@ -126,7 +124,7 @@ done:
close;
}
-tha_t11,85,16,4 script Klermaz 111,{
+tha_t11,85,16,4 script Klermaz HIDDEN_NPC,{
if(TSQ_CHK != 1) goto nook;
mes "[Klermaz]";
mes "Hmm it seems that Throtre allowed you to pass.";
@@ -141,7 +139,7 @@ nook:
close;
}
-tha_t11,16,16,4 script Mihane 111,{
+tha_t11,16,16,4 script Mihane HIDDEN_NPC,{
if(TSQ_CHK != 2) goto nook;
mes "[Mihane]";
mes "Keep on this way, Only 1 Left.";
@@ -155,7 +153,7 @@ nook:
close;
}
-tha_t11,85,85,4 script Seranes 111,{
+tha_t11,85,85,4 script Seranes HIDDEN_NPC,{
if(TSQ_CHK != 3 ) goto nook;
mes "[Seranes]";
mes "Perfect, it seems that the other spirits grants you the access.";
@@ -180,7 +178,7 @@ nook:
//(Sox)(U)-->tha_t12,128,88,4
//Script:
-tha_t12,103,18,4 script Nox 111,{
+tha_t12,103,18,4 script Nox HIDDEN_NPC,{
if(TSQ_CHK == 1 ) goto done;
mes "[Nox]";
mes "Fine, 4 Spirits left.";
@@ -192,7 +190,7 @@ done:
close;
}
-tha_t12,162,58,4 script Vox 111,{
+tha_t12,162,58,4 script Vox HIDDEN_NPC,{
if(TSQ_CHK != 1 ) goto nook;
mes "[Vox]";
mes "Keep on this way, 3 Spirits remaining !";
@@ -206,7 +204,7 @@ nook:
close;
}
-tha_t12,96,57,4 script Hox 111,{
+tha_t12,96,57,4 script Hox HIDDEN_NPC,{
if(TSQ_CHK != 2 ) goto nook;
mes "[Hox]";
mes "You are on the good way, 2 Spirits remaining !";
@@ -220,7 +218,7 @@ nook:
close;
}
-tha_t12,153,17,4 script Dox 111,{
+tha_t12,153,17,4 script Dox HIDDEN_NPC,{
if(TSQ_CHK != 3 ) goto nook;
mes "[Dox]";
mes "Perfect, 1 Spirit left.";
@@ -234,7 +232,7 @@ nook:
close;
}
-tha_t12,128,88,4 script Sox 111,{
+tha_t12,128,88,4 script Sox HIDDEN_NPC,{
if(TSQ_CHK != 4 ) goto nook;
mes "[Sox]";
mes "You have just passed the test successfully.";
diff --git a/npc/custom/quests/thq/THQS_ChatingNPC.txt b/npc/custom/quests/thq/THQS_ChatingNPC.txt
index 752681e39..8ade6d8fd 100644
--- a/npc/custom/quests/thq/THQS_ChatingNPC.txt
+++ b/npc/custom/quests/thq/THQS_ChatingNPC.txt
@@ -4,8 +4,6 @@
//= Fredzilla
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Start for Treasure hunter quests
//===== Additional Comments: =================================
@@ -14,7 +12,7 @@
//============================================================
//Entrance Flags
-yuno,48,101,6 script Notice 722,{
+yuno,48,101,6 script Notice GUILD_FLAG,{
mes "^FF0000[ Treasure Hunter Guild House ]^000000";
mes " ";
mes "Welcome to the Treasure Hunter's Guild House.";
@@ -26,7 +24,7 @@ yuno,48,101,6 script Notice 722,{
close;
}
//Saver Girl;
-yuno_in01,32,178,3 script Ahlma 94,{
+yuno_in01,32,178,3 script Ahlma 4_F_MAID,{
mes "[Ahlma]";
if (Event_THQS == 0) goto N_Member;
mes "Welcome to The Treasure Hunter Guild.";
@@ -46,7 +44,7 @@ N_Member:
close;
}
//Retired Smile mask girl;
-yuno_in01,33,162,3 script Smile Helper 92,{
+yuno_in01,33,162,3 script Smile Helper 4_F_03,{
mes "[Smile Gal]";
mes "Oh man...I am so sick of";
mes "trading Mr. Smile masks for crap.";
@@ -55,15 +53,15 @@ yuno_in01,33,162,3 script Smile Helper 92,{
close;
}
//Usless Female Assasin;
-yuno_in01,22,162,6 script Female Assasin 725,{
+yuno_in01,22,162,6 script Female Assasin 4_F_JOB_ASSASSIN,{
mes "[Sharlet]";
if (Event_THQS > 0) goto N_Member;
mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!";
close;
N_Member:
- set @TEMP,rand(1,2);
- if (@TEMP == 1) goto N_Chat1;
- if (@TEMP == 2) goto N_Chat2;
+ set @temp,rand(1,2);
+ if (@temp == 1) goto N_Chat1;
+ if (@temp == 2) goto N_Chat2;
mes "How are you reading this???";
mes "Well unless you are reading the code :)";
close;
@@ -76,14 +74,14 @@ N_Chat2:
close;
}
//another usless member
-yuno_in01,25,162,6 script Female Wizard 123,{
+yuno_in01,25,162,6 script Female Wizard 2_F_MAGICMASTER,{
mes "[Sasha]";
if (Event_THQS > 0) goto N_Member;
mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!";
close;
N_Member:
- set @TEMP,rand(2);
- if (@TEMP == 1) goto N_Chat;
+ set @temp,rand(2);
+ if (@temp == 1) goto N_Chat;
mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+".";
mes "Did you hear about that goat man running around in the trees?";
mes " ";
diff --git a/npc/custom/quests/thq/THQS_GuildNPC.txt b/npc/custom/quests/thq/THQS_GuildNPC.txt
index 01b14687f..326735a7a 100644
--- a/npc/custom/quests/thq/THQS_GuildNPC.txt
+++ b/npc/custom/quests/thq/THQS_GuildNPC.txt
@@ -4,8 +4,6 @@
//= Fredzilla
//===== Current Version: =====================================
//= 1.0
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Start for Treasure hunter quests
//===== Additional Comments: =================================
@@ -13,7 +11,7 @@
//= #Treasure_Token - used to keep track of tokens
//============================================================
-yuno_in01,124,164,6 script Guild Leader 108,{
+yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{
mes "[Keegan]";
mes "What brings you here? Have something to say?";
next;
@@ -27,8 +25,8 @@ yuno_in01,124,164,6 script Guild Leader 108,{
mes "Umm... Well that is all you need to do. Hahaha.";
next;
menu "Pay ^FF000025,000z^000000.",-,"Thats way to high!!",N_HighPrice;
- if (zeny < 25000) goto N_NoZeny;
- set Zeny,Zeny-25000;
+ if (Zeny < 25000) goto N_NoZeny;
+ Zeny -= 25000;
//getitem 7950, 1;
//getitem 7951, 1;
set Event_THQS,1;
diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt
index 5b4d98a27..76790221b 100644
--- a/npc/custom/quests/thq/THQS_QuestNPC.txt
+++ b/npc/custom/quests/thq/THQS_QuestNPC.txt
@@ -4,8 +4,6 @@
//= Fredzilla
//===== Current Version: =====================================
//= 1.4
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Start for Treasure hunter quests
//===== Additional Comments: =================================
@@ -18,7 +16,7 @@
//= 1.4 Fixed typos. (bugreport:2607) [Kisuka]
//============================================================
-yuno_in01,112,151,6 script Quest Manager 62,{
+yuno_in01,112,151,6 script Quest Manager 1_M_SIZ,{
mes "[Guy]";
mes "Welcome to the Treasure Hunters Guild "+strcharinfo(0)+".";
next;
@@ -32,7 +30,7 @@ yuno_in01,112,151,6 script Quest Manager 62,{
mes "Good well get back out there.";
close;
N_PayZeny:
- if (zeny < 2500) goto N_ZenyFail;
+ if (Zeny < 2500) goto N_ZenyFail;
set one_qset, 0;
set two_qset, 0;
set three_qset, 0;
@@ -44,9 +42,9 @@ N_PayZeny:
set nine_qset, 0;
set ten_qset, 0;
set On_Quest, 0;
- set Zeny,Zeny-2500;
+ Zeny -= 2500;
//add time delay penalty. You can get another quest after 2 - 3 hours. [Lupus]
- set #THQ_DELAY, (GetTime(7)*12*31*24+GetTime(6)*31*24+GetTime(5)*24+GetTime(3)+rand(2,3));
+ set #THQ_DELAY, (gettime(7)*12*31*24+gettime(6)*31*24+gettime(5)*24+gettime(3)+rand(2,3));
mes "[Guy]";
mes "Its sad to see someone give a quest up...";
mes "Shame on you.";
@@ -61,7 +59,7 @@ N_ZenyFail:
N_NewQuest:
if (Event_THQS == 0) goto N_Signup;
//checking if time penalty is over [Lupus]
- if (#THQ_DELAY > (GetTime(7)*12*31*24 + GetTime(6)*31*24 + GetTime(5)*24 + GetTime(3)) ) goto L_NoQuestsForYet;
+ if (#THQ_DELAY > (gettime(7)*12*31*24 + gettime(6)*31*24 + gettime(5)*24 + gettime(3)) ) goto L_NoQuestsForYet;
mes "[Guy]";
mes "Ahh welcome fellow Treasure Hunter.";
mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
@@ -73,7 +71,7 @@ N_NewQuest:
mes "Ok lets see what quest we can give you today.";
mes "The quest names in ^FF0000This Colour^000000 mean that they are more challanging then the rest, but have better rewards.";
next;
- set #THQ_DELAY,(GetTime(7)*12*31*24+GetTime(6)*31*24+GetTime(5)*24+GetTime(3) + 1); //you can get another quest after 1 hour [Lupus]
+ set #THQ_DELAY,(gettime(7)*12*31*24+gettime(6)*31*24+gettime(5)*24+gettime(3) + 1); //you can get another quest after 1 hour [Lupus]
emotion 21;
if(@treasure_job==0) set @treasure_job,rand(1,10); //doesn't allow cheaters to pick any quest they want
if(@treasure_job==2) goto N_JobList2;
@@ -102,7 +100,7 @@ N_Signup:
L_NoQuestsForYet:
mes "[Guy]";
mes "I'm afraid there aren't any Quests for you yet.";
- mes "Call in "+ (#THQ_DELAY - (GetTime(7)*12*31*24+GetTime(6)*31*24+GetTime(5)*24+GetTime(3)) )+" hours later.";
+ mes "Call in "+ (#THQ_DELAY - (gettime(7)*12*31*24+gettime(6)*31*24+gettime(5)*24+gettime(3)) )+" hours later.";
emotion 17;
close;
diff --git a/npc/custom/quests/thq/THQS_Quests.txt b/npc/custom/quests/thq/THQS_Quests.txt
index 70494ab9b..40e89c18b 100644
--- a/npc/custom/quests/thq/THQS_Quests.txt
+++ b/npc/custom/quests/thq/THQS_Quests.txt
@@ -4,8 +4,6 @@
//= Fredzilla
//===== Current Version: =====================================
//= 1.6
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Start for Treasure hunter quests
//===== Additional Comments: =================================
@@ -21,7 +19,7 @@
///////Job list 1///////
//1-1
-mjolnir_09,187,189,6 script Old Man 107,{
+mjolnir_09,187,189,6 script Old Man 1_M_PAY_ELDER,{
if (one_qset==1) goto N_QuestStart;
mes "[Old Man]";
mes "Eh! Can't and old man walk in peace anymore?!";
@@ -39,7 +37,7 @@ N_QuestStart:
close;
}
//1-2;
-pay_arche,86,129,6 script Archer 732,{
+pay_arche,86,129,6 script Archer 4_M_JOB_HUNTER,{
if (one_qset == 2) goto N_QuestStart;
mes "[Kieth]";
mes "Sorry can't talk, I'm a busy man, I'm waiting for my package.";
@@ -60,7 +58,7 @@ N_QuestStart:
close;
}
//1-3
-prt_fild06,37,192,6 script Farmer 125,{
+prt_fild06,37,192,6 script Farmer 4_M_TELEPORTER,{
if (one_qset == 3 && countitem(909) > 19 && countitem(955) > 19 && countitem(914) > 19 && countitem(705) > 19) goto N_QuestComp;
if (one_qset==3) goto N_QuestStart;
mes "[Billy-Bob]";
@@ -87,7 +85,7 @@ N_QuestStart:
close;
}
//1-4
-prontera,264,353,6 script Old Lady#thq 103,{
+prontera,264,353,6 script Old Lady#thq 8_F_GRANDMOTHER,{
if (one_qset == 4 && countitem(934) > 14) goto N_QuestComp;
if (one_qset == 4) goto N_QuestStart;
mes "[Old Lady]";
@@ -116,7 +114,7 @@ N_QuestStart:
}
///////Job list 2///////
//2-1;
-morocc,59,109,6 script Erika 700,{
+morocc,59,109,6 script Erika 8_F_GIRL,{
if (two_qset == 1 && countitem(1072) > 0) goto N_QuestComp;
if (two_qset == 1) goto N_QuestStart;
mes "[Erika]";
@@ -151,7 +149,7 @@ N_QuestStart:
close;
}
//2-2;
-in_moc_16,15,30,6 script Jeramiah 730,{
+in_moc_16,15,30,6 script Jeramiah 4_M_JOB_ASSASSIN,{
if (two_qset == 2 && countitem(1998) > 0) goto N_QuestComp;
if (two_qset == 2) goto N_QuestStart;
mes "[Jeramiah]";
@@ -174,7 +172,7 @@ N_QuestStart:
close;
}
//2-3;
-prt_fild07,316,263,6 script Marsh Man 84,{
+prt_fild07,316,263,6 script Marsh Man 4_M_02,{
if (two_qset == 3 && countitem(518) > 19) goto N_QuestComp;
if (two_qset == 3) goto N_QuestStart;
mes "[Lenith]";
@@ -199,7 +197,7 @@ N_QuestStart:
close;
}
//2-4;
-payon,161,72,6 script Molly 714,{
+payon,161,72,6 script Molly 4_F_06,{
if (two_qset == 4 && countitem(7005) > 0) goto N_QuestComp;
if (two_qset == 4) goto N_QuestStart;
mes "[Molly]";
@@ -229,7 +227,7 @@ N_QuestStart:
}
///////Job list 3///////
//3-1;
-moc_fild04,208,322,6 script Clark 65,{
+moc_fild04,208,322,6 script Clark 1_M_YOUNGKNIGHT,{
if (three_qset == 1 && countitem(1040) > 29) goto N_QuestComp;
if (three_qset == 1) goto N_QuestStart;
mes "[Clark]";
@@ -258,7 +256,7 @@ N_QuestStart:
close;
}
//3-2;
-yuno_fild01,186,162,6 script Flank 73,{
+yuno_fild01,186,162,6 script Flank 1_F_MERCHANT_01,{
if (three_qset == 2 && countitem(1082) > 0) goto N_QuestComp;
if (three_qset == 2) goto N_QuestStart;
mes "[Flank]";
@@ -283,7 +281,7 @@ N_QuestStart:
close;
}
//3-3 Goes to 7-3 using callfunc
-prt_sewb1,120,245,6 script Sewer Managment Knight 705,{
+prt_sewb1,120,245,6 script Sewer Managment Knight 4_M_GEF_SOLDIER,{
if (three_qset == 3 && countitem(955) > 149) goto N_QuestComp;
if (three_qset == 3) goto N_QuestStart;
if (seven_qset == 3) goto N_QuestStart2;
@@ -311,7 +309,7 @@ N_QuestStart2:
close;
}
//3-4
-mjolnir_02,87,357,6 script Man#01 51,{
+mjolnir_02,87,357,6 script Man#01 1_M_BARD,{
if (three_qset == 4 && countitem(1041) > 49) goto N_QuestComp;
if (three_qset == 4) goto N_QuestStart;
mes "[Rudolfo]";
@@ -339,7 +337,7 @@ N_QuestStart:
}
///////Job list 4///////
//4-1;
-pay_arche,45,138,6 script Flora 724,{
+pay_arche,45,138,6 script Flora 4_F_07,{
if (four_qset == 1 && countitem(957) > 49) goto N_QuestComp;
if (four_qset == 1) goto N_QuestStart;
mes "[Flora]";
@@ -373,7 +371,7 @@ OnMobDead:
end;
}
//4-2;
-yuno,45,138,6 script Zed 735,{
+yuno,45,138,6 script Zed 4_M_JOB_WIZARD,{
if (four_qset == 2 && countitem(1999) > 0) goto N_QuestComp;
if (four_qset == 2) goto N_QuestStart;
mes "[Zed]";
@@ -398,7 +396,7 @@ N_QuestStart:
close;
}
//4-3;
-prontera,176,204,6 script Dassy 95,{
+prontera,176,204,6 script Dassy 4_F_SISTER,{
if (four_qset == 3 && countitem(711) > 19) goto N_QuestComp;
if (four_qset == 3) goto N_QuestStart;
mes "[Dassy]";
@@ -424,7 +422,7 @@ N_QuestStart:
close;
}
//4-4;
-prt_gld,157,99,6 script Czhore 752,{
+prt_gld,157,99,6 script Czhore 4_M_CRU_OLD,{
if (four_qset == 4 && countitem(714) > 0) goto N_QuestComp;
if (four_qset == 4) goto N_QuestStart;
mes "[Czhore]";
@@ -457,7 +455,7 @@ N_QuestStart:
}
///////Job list 5///////
//5-1;
-prt_maze01,18,184,6 script Lithin#01 752,{
+prt_maze01,18,184,6 script Lithin#01 4_M_CRU_OLD,{
if (five_qset == 1 && countitem(1028) > 14) goto N_QuestComp;
if (five_qset == 1) goto N_QuestStart;
mes "[Lithin]";
@@ -484,7 +482,7 @@ N_QuestStart:
close;
}
//5-2 goes to 6-2 using callfunc;
-moc_ruins,75,167,6 script Lithin#02 87,{
+moc_ruins,75,167,6 script Lithin#02 4_M_BARBER,{
if (five_qset == 2 && countitem(932) > 29) goto N_QuestComp;
if (five_qset == 2) goto N_QuestStart;
if (six_qset == 2) goto N_QuestStart2;
@@ -512,7 +510,7 @@ N_QuestStart2:
callfunc "six_qset2";
}
//5-3;
-geffen,57,130,6 script Blonde Girl 724,{
+geffen,57,130,6 script Blonde Girl 4_F_07,{
if (five_qset == 3 && countitem(744) > 0) goto N_QuestComp;
if (five_qset == 3) goto N_QuestStart;
mes "[Blonde Girl]";
@@ -536,7 +534,7 @@ N_QuestStart:
close;
}
//5-4;
-gef_tower,49,27,6 script Wizard#01 735,{
+gef_tower,49,27,6 script Wizard#01 4_M_JOB_WIZARD,{
if (five_qset == 4 && countitem(1059) > 49) goto N_QuestComp;
if (five_qset == 4) goto N_QuestStart;
mes "[Wizard]";
@@ -564,7 +562,7 @@ N_QuestStart:
}
///////Job list 6///////
//6-1;
-moc_prydb1,47,132,6 script Thief 48,{
+moc_prydb1,47,132,6 script Thief 1_M_02,{
if (six_qset == 1 && countitem(1083) > 0) goto N_QuestComp;
if (six_qset == 1) goto N_QuestStart;
mes "[Thief]";
@@ -610,7 +608,7 @@ N_QuestComp2:
close;
}
//6-3;
-xmas,144,136,6 script Chirach 48,{
+xmas,144,136,6 script Chirach 1_M_02,{
if (six_qset == 3 && countitem(1083) > 0) goto N_QuestComp;
if (six_qset == 3) goto N_QuestStart;
mes "[Chirach]";
@@ -633,7 +631,7 @@ N_QuestStart:
close;
}
//6-4;
-gef_tower,52,87,6 script Wizard#02 735,{
+gef_tower,52,87,6 script Wizard#02 4_M_JOB_WIZARD,{
if (six_qset == 4 && countitem(944) > 19) goto N_QuestComp;
if (six_qset == 4) goto N_QuestStart;
mes "[Zuuzuu]";
@@ -665,7 +663,7 @@ N_QuestStart:
}
///////Job list 7///////
//7-1 goes to 8-1 using callfunc;
-prontera,123,208,6 script Little Girl#thq 717,{
+prontera,123,208,6 script Little Girl#thq 4_F_KID3,{
if (seven_qset == 1 && countitem(531) > 4) goto N_QuestComp;
if (seven_qset == 1) goto N_QuestStart;
if (eight_qset == 1) goto N_QuestStart2;
@@ -692,7 +690,7 @@ N_QuestStart2:
callfunc "eight_qset1";
}
//7-2;
-alberta,101,84,6 script Charles 48,{
+alberta,101,84,6 script Charles 1_M_02,{
if (seven_qset == 2 && countitem(1082) > 0) goto N_QuestComp;
if (seven_qset == 2) goto N_QuestStart;
mes "[Charles]";
@@ -735,7 +733,7 @@ N_QuestComp2:
close;
}
//7-4;
-alb2trea,94,102,6 script Scarlet 725,{
+alb2trea,94,102,6 script Scarlet 4_F_JOB_ASSASSIN,{
if (seven_qset == 4 && countitem(1127) > 0) goto N_QuestComp;
if (seven_qset == 4) goto N_QuestStart;
mes "[Scarlet]";
@@ -780,7 +778,7 @@ N_QuestComp2:
close;
}
//8-2;
-morocc,165,55,6 script Klye 48,{
+morocc,165,55,6 script Klye 1_M_02,{
if (eight_qset == 2 && countitem(1081) > 0) goto N_QuestComp;
if (eight_qset == 2) goto N_QuestStart;
mes "[Klye]";
@@ -804,7 +802,7 @@ N_QuestStart:
}
//8-3;
-prt_maze02,103,86,6 script Zack 751,{
+prt_maze02,103,86,6 script Zack 4_M_CRU,{
if (eight_qset == 3 && countitem(923) > 0) goto N_QuestComp;
if (eight_qset == 3) goto N_QuestStart;
mes "[Zack]";
@@ -830,7 +828,7 @@ N_QuestStart:
close;
}
//8-4;
-payon,136,129,6 script Flower 703,{
+payon,136,129,6 script Flower 4_F_KID2,{
if (eight_qset == 4 && countitem(746) > 9) goto N_QuestComp;
if (eight_qset == 4) goto N_QuestStart;
mes "[Flower]";
@@ -856,7 +854,7 @@ N_QuestStart:
}
///////Job list 9///////
//9-1;
-geffen_in,168,124,6 script Mage 48,{
+geffen_in,168,124,6 script Mage 1_M_02,{
if (nine_qset == 1 && countitem(1082) > 0) goto N_QuestComp;
if (nine_qset == 1) goto N_QuestStart;
mes "[Mage]";
@@ -879,7 +877,7 @@ N_QuestStart:
close;
}
//9-2;
-pay_arche,98,74,6 script School Girl 703,{
+pay_arche,98,74,6 script School Girl 4_F_KID2,{
if (nine_qset == 2 && countitem(1020) > 19) goto N_QuestComp;
if (nine_qset == 2) goto N_QuestStart;
mes "[School Girl]";
@@ -907,7 +905,7 @@ N_QuestStart:
close;
}
//9-3
-payon_in02,19,33,6 script Jack 740,{
+payon_in02,19,33,6 script Jack 2_M_ALCHE,{
if (nine_qset == 3 && countitem(1022) > 0) goto N_QuestComp;
if (nine_qset == 3) goto N_QuestStart;
if (nine_qset == 4) goto N_QuestStart2;
@@ -953,7 +951,7 @@ N_QuestComp2:
}
///////Job list 10///////
//10-1
-morocc,193,51,6 script Kreg 48,{
+morocc,193,51,6 script Kreg 1_M_02,{
if (ten_qset == 1 && countitem(1082) > 0) goto N_QuestComp;
if (ten_qset == 1) goto N_QuestStart;
mes "[Kreg]";
@@ -976,7 +974,7 @@ N_QuestStart:
close;
}
//10-2;
-pay_fild10,145,252,6 script Man#02 122,{
+pay_fild10,145,252,6 script Man#02 2_M_DYEINGER,{
if (ten_qset == 2 && countitem(1029) > 0) goto N_QuestComp;
if (ten_qset == 2) goto N_QuestStart;
mes "[Man]";
@@ -1001,7 +999,7 @@ N_QuestStart:
close;
}
//10-3;
-cmd_fild08,328,349,4 script Caral 119,{
+cmd_fild08,328,349,4 script Caral 2_M_SWORDMASTER,{
if (ten_qset == 3 && countitem(1015) > 0) goto N_QuestComp;
if (ten_qset == 3) goto N_QuestStart;
mes "[Caral]";
@@ -1026,7 +1024,7 @@ N_QuestStart:
close;
}
//10-4
-moc_fild15,250,251,6 script Jeni 727,{
+moc_fild15,250,251,6 script Jeni 4_F_JOB_HUNTER,{
if (ten_qset == 4 && countitem(1096) > 0) goto N_QuestComp;
if (ten_qset == 4) goto N_QuestStart;
mes "[Jeni]";
diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt
index 0a706869b..c92c375ec 100644
--- a/npc/custom/quests/thq/THQS_TTShop.txt
+++ b/npc/custom/quests/thq/THQS_TTShop.txt
@@ -3,9 +3,7 @@
//===== By: ==================================================
//= Fredzilla
//===== Current Version: =====================================
-//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
+//= 1.2a
//===== Description: =========================================
//= Start for Treasure hunter quests
//===== Additional Comments: =================================
@@ -14,503 +12,193 @@
//= 1.0 - Straight conversion of Aegis NPC file
//= 1.1 - balanced some prices, fixed 1 missing label
//= removed Executioner&Mysteltain swords [Lupus]
+//= 1.2 - Optmized and fixed small error [Panikon]
+//= 1.2a - Fixed zeny formula [Panikon]
//============================================================
prt_in,159,172,0 warp thqwrp 3,3,yuno_in01,123,155
-prt_in,164,174,1 script Treasure Hunter's Shop 65,{
- mes "[Ash]";
- mes "Ahh, "+strcharinfo(0)+"! Welcome to the Offical Treasure Hunter's Guild Shop.";
- mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
- next;
- menu "How does this place work?",-,"What do you have in stock?",N_Shop,"Nevermind",N_NVM;
- mes "[Ash]";
- mes "Well you see here you can exchange your treasure hunter tokens for zeny or rare weapons forged by our blacksmiths.";
- mes " ";
- mes "Everything has its own price value and the only way you can get the tokens is by completing quests assigned to you,the system normally works like this.";
- mes " ";
- mes "The harder the mission the more Tokens you will earn. All red quests are worth 4-8 Tokens, and the rest are worth 1-5.";
- mes " ";
- mes "Hope that solves your problem and questions.";
- close;
-N_NVM:
- close;
+// Main configuration object
+- script THQS#Configuration -1,{
+OnInit:
+ // Axes
+ setarray $THQS_menu_weapons_1[0], Sabbath, Slaughter, Tomahawk, Great_Axe, Guillotine;
+ setarray $THQS_menu_price_1[0], 160, 160, 180, 200, 200;
+ // One Handed Swords
+ setarray $THQS_menu_weapons_2[0], Edge, Solar_Sword, Scissores_Sword, Nagan, Immaterial_Sword, Excalibur, Byeorrun_Gum, Tale_Fing_;
+ setarray $THQS_menu_price_2[0], 130, 150, 170, 180, 200, 200, 240, 320;
+ // Two Handed Swords
+ setarray $THQS_menu_weapons_3[0],Dragon_Slayer, Schweizersabel, Katzbalger, Muramasa, Masamune, Balmung;
+ setarray $THQS_menu_price_3[0], 140,200,300,300,400,2000;
+ // Books
+ setarray $THQS_menu_weapons_4[0],Book_Of_Blazing_Sun, Book_Of_Billows, Book_Of_Gust_Of_Wind, Book_Of_Mother_Earth, Book_Of_The_Apocalypse, Bible, Tablet;
+ setarray $THQS_menu_price_4[0], 80, 80, 80, 80, 80, 90, 120;
+ // Bows
+ setarray $THQS_menu_weapons_5[0], Bow_Of_Rudra, Bow_Of_Roguemaster;
+ setarray $THQS_menu_price_5[0], 150, 150;
+ // Katars
+ setarray $THQS_menu_weapons_6[0], Katar_Of_Cold_Icicle,Katar_Of_Thornbush,Katar_Of_Raging_Blaze,Katar_Of_Piercing_Wind,Ghoul_Leg,Infiltrator;
+ setarray $THQS_menu_price_6[0],70,70,70,70,125,150;
+ // Knuckles
+ setarray $THQS_menu_weapons_7[0],Kaiser_Knuckle,Berserk;
+ setarray $THQS_menu_price_7[0],75,75;
+ // Maces
+ setarray $THQS_menu_weapons_8[0],Spike,Slash,Grand_Cross,Quadrille,Mjolnir;
+ setarray $THQS_menu_price_8[0],65,90,100,110,1000;
+ // Whips
+ setarray $THQS_menu_weapons_9[0],Rapture_Rose,Chemeti;
+ setarray $THQS_menu_price_9[0],50,65;
+ // Wands
+ setarray $THQS_menu_weapons_10[0],Mighty_Staff,Wizardy_Staff,Bone_Wand,Staff_Of_Soul;
+ setarray $THQS_menu_price_10[0],90,150,110,120;
+ // Cards
+ setarray $THQS_menu_cards[0],Poring_Card, Pasana_Card, Dokebi_Card, Sword_Fish_Card, Sand_Man_Card, Drainliar_Card,
+ Kaho_Card,Mandragora_Card,Vadon_Card,Mummy_Card,Zenorc_Card,Condor_Card, Zombie_Card;
+ setarray $THQS_menu_price[0],2,420,420,420,420,360,360,360,360,540,240,240,210;
end;
-N_Shop:
-//This is when it gets hard :)
- mes "[Ash]";
- mes "Ok here is our Big list of goods.";
- mes " ";
- mes "(Note T stands for a Treasure Token.)";
- next;
- menu "Trade for Zeny",-,"Trade for Weapons",N_BuyWeps,"Trade for Cards",N_BuyCards,"Nevermind",N_NVM;
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "1000z - 1T",-,"10000z - 10T",N_10T,"100000z - 100T",N_100T,"Nevermind",N_NVM;
- if (#Treasure_Token > 0) goto N_GetZeny1k;
- mes "You don't have enough tokens!";
- close;
-N_GetZeny1k:
- set #Treasure_Token,#Treasure_Token-1;
- set zeny,zeny+1000;
- close;
-N_10T:
- if (#Treasure_Token > 9) goto N_GetZeny10k;
- mes "You don't have enough tokens!";
- close;
-N_GetZeny10k:
- set #Treasure_Token,#Treasure_Token-10;
- set zeny,zeny+10000;
- close;
-N_100T:
- if (#Treasure_Token > 99) goto N_GetZeny100k;
- mes "You don't have enough tokens!";
- close;
-N_GetZeny100k:
- set #Treasure_Token,#Treasure_Token-100;
- set zeny,zeny+100000;
- close;
-
-N_BuyWeps:
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Axe's",-,"1 Handed Swords",N_1HandSword,"2 Handed Swords",N_2HandSword,"Book's",N_Book,"Bow's",N_Bow,"Katar's",N_Katar,"Knuckle's",N_Knuckle,"Mace's",N_Mace,"Whips",N_Whip,"Wands",N_Wand,"Nevermind",N_NVM;
-
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Sabbath - 160T",-,"Slaughter - 160T",N_Slau,"Tomahawk - 180T",N_Toma,"Great Axe - 200T",N_GreatA,"Guillotine - 200T",N_Guill,"Nevermind",N_NVM;
-
- if (#Treasure_Token < 160) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-160;
- getitem 1365,1;
- logmes "Treasure Token: Bought a Sabbath";
- close;
-N_Slau:
- if (#Treasure_Token < 160) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-160;
- getitem 1367,1;
- logmes "Treasure Token: Bought a Slaughter";
- close;
-N_Toma:
- if (#Treasure_Token < 180) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-180;
- getitem 1368,1;
- logmes "Treasure Token: Bought a Tomahawk";
- close;
-N_GreatA:
- if (#Treasure_Token < 200) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-200;
- getitem 1364,1;
- logmes "Treasure Token: Bought a Great Axe";
- close;
-N_Guill:
- if (#Treasure_Token < 200) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-200;
- getitem 1369,1;
- logmes "Treasure Token: Bought a Guillotine";
- close;
-N_NeedToken:
- mes "[Ash]";
- mes "You don't have enough tokens!";
- close;
-
-
-N_1HandSword:
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Edge - 130T",-,"Solar Sword - 150T",N_SolarS,"Caesar's Sword - 170T",N_CaesarS,"Nagan - 180T",N_Nagan,"Immaterial Sword - 200T",N_ImmatS,"Excalibur - 200T",N_Excal,"Byeollungum - 240T",N_Byeoll,"Talefing - 320T",N_Talef,"Nevermind",N_NVM;
-
- if (#Treasure_Token < 130) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-130;
- getitem 1132,1;
- logmes "Treasure Token: Bought a Edge";
- close;
-N_SolarS:
- if (#Treasure_Token < 150) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-150;
- logmes "Treasure Token: Bought a Solar Sword";
- getitem 1136,1;
- close;
-N_CaesarS:
- if (#Treasure_Token < 170) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-170;
- logmes "Treasure Token: Bought a Caesars Sword";
- getitem 1134,1;
- close;
-N_Nagan:
- if (#Treasure_Token < 180) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-180;
- logmes "Treasure Token: Bought a Nagan";
- getitem 1130,1;
- close;
-N_ImmatS:
- if (#Treasure_Token < 200) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-200;
- logmes "Treasure Token: Bought a Immaterial Sword";
- getitem 1141,1;
- close;
-N_Excal:
- if (#Treasure_Token < 200) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-200;
- logmes "Treasure Token: Bought a Excalibur";
- getitem 1137,1;
- close;
-N_Byeoll:
- if (#Treasure_Token < 240) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-240;
- logmes "Treasure Token: Bought a Byeollungum";
- getitem 1140,1;
- close;
-N_Talef:
- if (#Treasure_Token < 320) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-320;
- logmes "Treasure Token: Bought a Talefing";
- getitem 1139,1;
- close;
+}
+// Trades tokens
+// getarg(0) - number of tokens to be traded
+function script thqs_trade_token {
+ @type = getarg(0);
+ if( @type == 4 )
+ close;
-N_2HandSword:
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Dragon Slayer - 140T",-,"Schweizersabel - 200T",N_Schwe,"Katzbalger - 300T",N_Katzb,"Muramasa - 300T",N_Murama,"Masamune - 400T",N_Masamu,"Balmung - 2000T",N_Balmu,"Nevermind",N_NVM;
+ // 10^0, 10^1, 10^2
+ @type -= 1;
+ @price = pow(10, @type);
- if (#Treasure_Token < 140) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-140;
- logmes "Treasure Token: Bought a Dragon Slayer";
- getitem 1166,1;
- close;
-N_Schwe:
- if (#Treasure_Token < 200) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-200;
- logmes "Treasure Token: Bought a Schweizersabel";
- getitem 1167,1;
- close;
-N_Katzb:
- if (#Treasure_Token < 300) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-300;
- logmes "Treasure Token: Bought a Katzbalger";
- getitem 1170,1;
- close;
-N_Murama:
- if (#Treasure_Token < 300) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-300;
- logmes "Treasure Token: Bought a Muramasa";
- getitem 1164,1;
- close;
-N_Masamu:
- if (#Treasure_Token < 400) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-400;
- logmes "Treasure Token: Bought a Masamune";
- getitem 1165,1;
- close;
-N_Balmu:
- if (#Treasure_Token < 2000) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-2000;
- logmes "Treasure Token: Bought a Balmung";
- getitem 1161,1;
- close;
-
-
-N_Book:
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Book of the Burning Sun - 80T",-,"Book of the Rough Seas - 80T",N_RoughSea,"Book of the Dry Winds - 80T",N_DryWinds,"Book of the Ripe Earth - 80T",N_RipeEarth,"Book of the Revelations - 80T",N_Revela,"Bible - 90T",N_Bible,"Tablet - 120T",N_Tablet,"Nevermind",N_NVM;
+ // 10^3, 10^4, 10^5
+ @type += 3; // So we can use pow later to determine the qt of Zeny
+ @prize = pow(10, @type);
- if (#Treasure_Token < 80) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-80;
- logmes "Treasure Token: Bought a Book of the Burning Sun";
- getitem 1555,1;
- close;
-N_RoughSea:
- if (#Treasure_Token < 80) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-80;
- logmes "Treasure Token: Bought a Book of the Rough Seas";
- getitem 1553,1;
- close;
-N_DryWinds:
- if (#Treasure_Token < 80) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-80;
- logmes "Treasure Token: Bought a Book of the Dry Winds";
- getitem 1556,1;
- close;
-N_RipeEarth:
- if (#Treasure_Token < 80) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-80;
- logmes "Treasure Token: Bought a Book of the Ripe Earth";
- getitem 1554,1;
- close;
-N_Revela:
- if (#Treasure_Token < 80) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-80;
- logmes "Treasure Token: Bought a Book of the Revelations";
- getitem 1557,1;
- close;
-N_Bible:
- if (#Treasure_Token < 90) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-90;
- logmes "Treasure Token: Bought a Bible";
- getitem 1551,1;
- close;
-N_Tablet:
- if (#Treasure_Token < 120) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-120;
- logmes "Treasure Token: Bought a Tablet";
- getitem 1552,1;
- close;
+ if( #Treasure_Token < @price ) {
+ mes "You don't have enough tokens!";
+ close;
+ }
-N_Bow:
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Rudra's Bow - 150T",-,"Roguemaster's Bow - 150T",N_Rogue,"Nevermind",N_NVM;
+ if( Zeny == MAX_ZENY ) {
+ mes "You can't add more zeny to your character";
+ close;
+ }
- if (#Treasure_Token < 150) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-150;
- logmes "Treasure Token: Bought a Rudra Bow";
- getitem 1720,1;
+ Zeny += @prize;
+ #Treasure_Token -= @price;
close;
-N_Rogue:
- if (#Treasure_Token < 150) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-150;
- logmes "Treasure Token: Bought a Roguemaster Bow";
- getitem 1719,1;
- close;
-
-N_Katar:
- mes "[Ash]";
- mes "This is what we have to offer.";
- next;
- menu "Katar of the Blazing Rage - 70T",-,"Katar of the Cold Icicle - 70T",N_ColdIce,"Katar of the Piercing Wind - 70T",N_PiercWind,"Katar of the Dusty Thornbush - 70T",N_DustyT,"Sharpened Legbone of Ghoul - 125T",N_Legbone,"Infiltrator - 150T",N_Infiltra,"Nevermind",N_NVM;
+}
- if (#Treasure_Token < 70) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-70;
- logmes "Treasure Token: Bought a Katar of the Blazing Rage";
- getitem 1258,1;
- close;
-N_ColdIce:
- if (#Treasure_Token < 70) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-70;
- logmes "Treasure Token: Bought a Katar of the Cold Icicle";
- getitem 1256,1;
- close;
-N_PiercWind:
- if (#Treasure_Token < 70) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-70;
- logmes "Treasure Token: Bought a Katar of the Piercing Wind";
- getitem 1259,1;
- close;
-N_DustyT:
- if (#Treasure_Token < 70) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-70;
- logmes "Treasure Token: Bought a Katar of the Dusty Thornbush";
- getitem 1257,1;
- close;
-N_Legbone:
- if (#Treasure_Token < 125) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-125;
- logmes "Treasure Token: Bought a Sharpened Legbone of Ghoul";
- getitem 1260,1;
- close;
-N_Infiltra:
- if (#Treasure_Token < 150) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-150;
- logmes "Treasure Token: Bought a Infiltrator";
- getitem 1261,1;
+// Creates a buying menu
+// getarg(0) - .@mw$ -> ID
+// getarg(1) - .@mp$ -> PRICE
+function script thqs_menu_buy {
+ if( getargcount() != 2 ) {
+ debugmes "thqs_menu_buy: Wrong number of arguments!!";
+ close;
+ }
+
+ .@mw$ = getarg(0);
+ .@mp$ = getarg(1);
+
+ if( getarraysize( getd(.@mw$) ) != getarraysize( getd(.@mp$) ) ) {
+ debugmes "thqs_menu_buy: Missing entries in data!";
+ close;
+ }
+
+ // Dynamic menu
+ // Uses a dynamic string and then applies it to a *select
+ .@select_menu$ = "";
+ for( .@i = 0; .@i < getarraysize( getd(.@mw$) ); .@i++ ) {
+ .@price = getd(.@mp$+"["+.@i+"]");
+
+ if( .@select_menu$ != "")
+ .@select_menu$ = .@select_menu$+":"+getitemname( getd(.@mw$+"["+.@i+"]") )+" - "+.@price+"T";
+ else
+ .@select_menu$ = getitemname( getd(.@mw$+"["+.@i+"]") )+" - "+.@price+"T";
+ }
+ .@select_menu$ = .@select_menu$ + ":Nevermind";
+ select(.@select_menu$);
+
+ if( @menu == (.@i+1) )
+ close;
+
+ @index = @menu - 1; // Arrays are 0 indexed while our menu is not
+ @item_id = getd(.@mw$+"["+@index+"]");
+ @price = getd(.@mp$+"["+@index+"]");
+ if( #Treasure_Token < @price ) {
+ mes "You don't have enough tokens!";
+ close;
+ }
+ #Treasure_Token -= @price;
+ logmes "Treasure Token: Bought a "+getitemname(@item_id);
+ getitem @item_id,1;
close;
+}
-N_Knuckle:
+// Creates the first weapon menu
+// getarg(0) - @menu
+function script ths_menu_weapons {
+ @first_option = getarg(0);
+ if( @first_option == 11 )
+ close;
mes "[Ash]";
- mes "This is what we have to offer.";
+ mes "This is what we have to offer."+@first_option;
next;
- menu "Kaiser Knuckle - 75T",-,"Berserk - 75T",N_Berserk,"Nevermind",N_NVM;
+ // Array names so they can be used by thqs_menu_buy
+ .@mw$ = "$THQS_menu_weapons_"+@first_option;
+ .@mp$ = "$THQS_menu_price_"+@first_option;
- if (#Treasure_Token < 75) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-75;
- logmes "Treasure Token: Bought a Kaiser Knuckle";
- getitem 1813,1;
- close;
-N_Berserk:
- if (#Treasure_Token < 75) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-75;
- logmes "Treasure Token: Bought a Berserk";
- getitem 1814,1;
- close;
+ thqs_menu_buy(.@mw$,.@mp$);
+}
-N_Mace:
+// Main script
+prt_in,164,174,1 script Treasure Hunter's Shop 1_M_YOUNGKNIGHT,{
mes "[Ash]";
- mes "This is what we have to offer.";
+ mes "Ahh, "+strcharinfo(0)+"! Welcome to the Offical Treasure Hunter's Guild Shop.";
+ mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
next;
- menu "Spike - 65T",-,"Slash - 90T",N_Slash,"Grand Cross - 100T",N_GrandC,"Quadrille - 110T",N_Quadr,"Mjolnir - 1000T",N_MJ,"Nevermind",N_NVM;
-
- if (#Treasure_Token < 65) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-65;
- logmes "Treasure Token: Bought a Spike";
- getitem 1523,1;
- close;
-N_Slash:
- if (#Treasure_Token < 90) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-90;
- logmes "Treasure Token: Bought a Slash";
- getitem 1526,1;
- close;
-N_GrandC:
- if (#Treasure_Token < 100) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-100;
- logmes "Treasure Token: Bought a Grand Cross";
- getitem 1528,1;
- close;
-N_Quadr:
- if (#Treasure_Token < 110) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-110;
- logmes "Treasure Token: Bought a Quadrille";
- getitem 1527,1;
- close;
-N_MJ:
- if (#Treasure_Token < 1000) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-1000;
- logmes "Treasure Token: Bought a Mjolnir";
- getitem 1530,1;
- close;
+ switch( select("How does this place work?","What do you have in stock?","Nevermind") ) {
+ case 1:
+ mes "[Ash]";
+ mes "Well you see here you can exchange your treasure hunter tokens for zeny or rare weapons forged by our blacksmiths.";
+ mes " ";
+ mes "Everything has its own price value and the only way you can get the tokens is by completing quests assigned to you,the system normally works like this.";
+ mes " ";
+ mes "The harder the mission the more Tokens you will earn. All red quests are worth 4-8 Tokens, and the rest are worth 1-5.";
+ mes " ";
+ mes "Hope that solves your problem and questions.";
+ close;
+ case 2:
+ break;
+ case 3:
+ close;
+ }
-N_Whip:
mes "[Ash]";
- mes "This is what we have to offer.";
+ mes "Ok here is our Big list of goods.";
+ mes " ";
+ mes "(Note T stands for a Treasure Token.)";
next;
- menu "Rapture Rose - 50T",-,"Chemeti - 65T",N_Chemeti,"Nevermind",N_NVM;
-
- if (#Treasure_Token < 50) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-50;
- logmes "Treasure Token: Bought a Rapture Rose";
- getitem 1963,1;
- close;
-N_Chemeti:
- if (#Treasure_Token < 65) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-65;
- logmes "Treasure Token: Bought a Chemeti";
- getitem 1964,1;
- close;
-
-N_Wand:
mes "[Ash]";
mes "This is what we have to offer.";
next;
- menu "Mighty Staff - 90T",-,"Wizardry Staff - 150T",N_Wizardry,"Bone Wand - 110T",N_BoneW,"Staff of Soul - 120T",N_SOSoul,"Nevermind",N_NVM;
-
- if (#Treasure_Token < 90) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-90;
- logmes "Treasure Token: Bought a Mighty Staff";
- getitem 1613,1;//Items: Mighty_Staff,
- close;
-N_Wizardry:
- if (#Treasure_Token < 150) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-150;
- logmes "Treasure Token: Bought a Wizardry Staff";
- getitem 1473,1;//Items: Wizardy_Staff,
- close;
-N_BoneW:
- if (#Treasure_Token < 110) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-110;
- logmes "Treasure Token: Bought a Bone Wand";
- getitem 1615,1;//Items: Bone_Wand,
- close;
-N_SOSoul:
- if (#Treasure_Token < 120) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-120;
- logmes "Treasure Token: Bought a Staff of Soul";
- getitem 1472,1;//Items: Staff_of_Soul,
- close;
-
-N_BuyCards:
- mes "[Ash]";
- mes "This is what we have to offer. All Cards are 300T";
- next;
- menu "Poring Card - 2T",-,"Pasana Card - 420T",N_CPasana,"Dokebi Card - 420T",N_CDok,"Swordfish Card - 420T",N_CSFish,
- "Sandman Card - 420T",N_CSMan,"Drainliar Card - 360T",N_CDrain,"Kaho Card - 360T",N_CKaho,"Mandragora Card - 360T",N_CMand,
- "Vadon Card - 360T",N_CVadon,"Mummy Card - 540T",N_CMummy,"Zenorc Card - 240T",N_CZeno,"Condor Card - 240T",N_CCond,
- "Zombie Card - 210T",N_CZomb,"Nevermind",N_NVM;
-
- if (#Treasure_Token < 2) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-2;
- logmes "Treasure Token: Bought a Poring Card";
- getitem 4001,1;//Items: Poring_Card,
- close;
-
-N_CPasana:
- if (#Treasure_Token < 420) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-420;
- logmes "Treasure Token: Bought a Pasana Card";
- getitem 4099,1;//Items: Pasana_Card,
- close;
-N_CDok:
- if (#Treasure_Token < 420) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-420;
- logmes "Treasure Token: Bought a Dokebi Card";
- getitem 4098,1;//Items: Dokebi_Card,
- close;
-N_CSFish:
- if (#Treasure_Token < 420) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-420;
- logmes "Treasure Token: Bought a Swordfish Card";
- getitem 4089,1;//Items: Sword_Fish_Card,
- close;
-N_CSMan:
- if (#Treasure_Token < 420) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-420;
- logmes "Treasure Token: Bought a Sandman Card";
- getitem 4101,1;//Items: Sand_Man_Card,
- close;
-N_CDrain:
- if (#Treasure_Token < 360) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-360;
- logmes "Treasure Token: Bought a Drainliar Card";
- getitem 4069,1;//Items: Drainliar_Card,
- close;
-N_CKaho:
- if (#Treasure_Token < 360) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-360;
- logmes "Treasure Token: Bought a Kaho Card";
- getitem 4065,1;//Items: Kaho_Card,
- close;
-N_CMand:
- if (#Treasure_Token < 360) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-360;
- logmes "Treasure Token: Bought a Mandragora Card";
- getitem 4030,1;//Items: Mandragora_Card,
- close;
-N_CVadon:
- if (#Treasure_Token < 360) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-360;
- logmes "Treasure Token: Bought a Vadon Card";
- getitem 4049,1;//Items: Vadon_Card,
- close;
-N_CMummy:
- if (#Treasure_Token < 540) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-540;
- logmes "Treasure Token: Bought a Mummy Card";
- getitem 4106,1;//Items: Mummy_Card,
- close;
-N_CZeno:
- if (#Treasure_Token < 240) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-240;
- logmes "Treasure Token: Bought a Zenorc Card";
- getitem 4096,1;//Items: Zenorc_Card,
- close;
-N_CCond:
- if (#Treasure_Token < 240) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-240;
- logmes "Treasure Token: Bought a Condor Card";
- getitem 4015,1;//Items: Condor_Card,
- close;
-N_CZomb:
- if (#Treasure_Token < 210) goto N_NeedToken;
- set #Treasure_Token,#Treasure_Token-210;
- logmes "Treasure Token: Bought a Zombie Card";
- getitem 4038,1;//Items: Zombie_Card,
- close;
+ switch( select("Trade for zeny", "Trade for Weapons", "Trade for Cards", "Nevermind") ) {
+ case 1:
+ select("1000z - 1T","10000z - 10T","100000z - 100T","Nevermind");
+ thqs_trade_token(@menu);
+ case 2:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ select("Axe's","1 Handed Swords","2 Handed Swords","Book's","Bow's","Katar's","Knuckle's","Mace's","Whips","Wands","Nevermind");
+ ths_menu_weapons(@menu);
+ case 3:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ thqs_menu_buy("$THQS_menu_cards","$THQS_menu_price");
+ case 4:
+ close;
+ }
+ end;
}
diff --git a/npc/custom/quests/umbalian_language.txt b/npc/custom/quests/umbalian_language.txt
index f41b5500e..5bb17955e 100644
--- a/npc/custom/quests/umbalian_language.txt
+++ b/npc/custom/quests/umbalian_language.txt
@@ -4,13 +4,11 @@
//= sabernet09
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= 1.1 Removed it from offical Umbala Quests [Lupus]
//============================================================
-prontera,145,290,5 script Mason 742,{
+prontera,145,290,5 script Mason 2_M_SAGE_B,{
mes "[Mason]";
if(umb_lang==0) goto L_NOT_GOT_QUEST;
if(umb_lang==2 || umb_mason==1) goto L_AGAIN;
@@ -91,7 +89,7 @@ M_NO:
close;
}
-aldebaran,153,212,1 script Mojo 740,{
+aldebaran,153,212,1 script Mojo 2_M_ALCHE,{
mes "[Mojo]";
if(umb_lang!=1) goto L_NOT_GOT_QUEST;
mes "Oh no! I lost my teacher's ^FF0000old magic book^000000!";
@@ -104,7 +102,7 @@ L_NOT_GOT_QUEST:
close;
}
-amatsu,267,189,4 script Marie 744,{
+amatsu,267,189,4 script Marie 4_F_ALCHE,{
mes "[Marie]";
if(umb_lang==0) goto L_NOT_GOT_QUEST;
if(umb_lang==2 || umb_marie==1) goto L_AGAIN;
@@ -154,13 +152,13 @@ L_AGAIN:
close;
}
-yuno,157,366,2 script Wise Man Fabius 743,{
+yuno,157,366,2 script Wise Man Fabius 2_M_SAGE_OLD,{
mes "[Fabius]";
if(event_umbala >= 3) set umb_lang,2; //You already learnt Umbalian language from Umbalian Chief. So this Quest is disabled
- if(umb_lang<2) goto L_QUEST;
+ if(umb_lang<2) goto L_Quest;
mes "You speak Umbalian fluently! So you will never forget the language of Umbalians!";
close;
-L_QUEST:
+L_Quest:
if((countitem(1006) < 1) || (countitem(7118) < 1) || (countitem(7117) < 1)) goto L_DONE;//Items: Old Magic Book, Torn Scroll, Torn Spell Book,
delitem 1006,1; //Items: Old Magic Book,
delitem 7118,1; //Items: Torn Scroll,
diff --git a/npc/custom/quests/valhallen.txt b/npc/custom/quests/valhallen.txt
index 07112c1c8..c70de008b 100644
--- a/npc/custom/quests/valhallen.txt
+++ b/npc/custom/quests/valhallen.txt
@@ -4,8 +4,6 @@
//= Avaji
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= All-in-one: Mjolnir,Sleipnir,Brisingamen,Gleipnir,Megingjard
//= Custom quest, ingredients based on official RO FAQ
@@ -13,7 +11,7 @@
//= 1.1 Optimized. [Euphy]
//============================================================
-prontera,147,171,5 script Lenneth 811,{
+prontera,147,171,5 script Lenneth 4_F_VALKYRIE,{
mes "[Lenneth]";
mes "I come from Valhalla to aid you.";
mes "I can transmute for you many of the Valhallen items,";
@@ -23,46 +21,46 @@ prontera,147,171,5 script Lenneth 811,{
case 1:
mes "[Lenneth]";
mes "^3355FFMjolnir^000000 is the mighty Hammer of Thor.";
- setarray .@Items[0],1530,1531,2,984,20,985,5,969,40,7074,2,7075,4,7078,5,7087,5,7089,5;
+ setarray .@items[0],1530,1531,2,984,20,985,5,969,40,7074,2,7075,4,7078,5,7087,5,7089,5;
break;
case 2:
mes "[Lenneth]";
mes "^3355FFSleipnir^000000 are boots made after Odin's War Horse.";
- setarray .@Items[0],2410,2406,2,984,1,969,20,985,10,7076,3,7079,5,7083,3,7086,3;
+ setarray .@items[0],2410,2406,2,984,1,969,20,985,10,7076,3,7079,5,7083,3,7086,3;
break;
case 3:
mes "[Lenneth]";
mes "^3355FFBrisingammen^000000 is the magical Necklace of Freyja, goddess of Beauty.";
- setarray .@Items[0],2630,2603,1,726,2,722,3,727,10,723,5,969,20,7073,4,7077,4,7088,3,7090,3,7092,3;
+ setarray .@items[0],2630,2603,1,726,2,722,3,727,10,723,5,969,20,7073,4,7077,4,7088,3,7090,3,7092,3;
break;
case 4:
mes "[Lenneth]";
mes "The ^3355FFGleipnir^000000 is a light yet strong rope required to make ^3355FFMegingjard^000000";
- setarray .@Items[0],7058,7080,4,7081,5,7082,4,7084,3,7085,3;
+ setarray .@items[0],7058,7080,4,7081,5,7082,4,7084,3,7085,3;
break;
case 5:
mes "[Lenneth]";
mes "The ^3355FFMegingjard^000000 is the powerful Belt of Thor.";
- setarray .@Items[0],2629,7058,1,2627,1,969,10,726,10,984,5;
+ setarray .@items[0],2629,7058,1,2627,1,969,10,726,10,984,5;
break; }
mes "^FF0000The items I need are as follows:^000000";
- for(set .@i,1; .@i<getarraysize(.@Items[0]); set .@i,.@i+2) {
- mes " ~ "+.@Items[.@i+1]+"x ^3355FF"+getitemname(.@Items[.@i])+"^000000";
- if (countitem(.@Items[.@i]) < .@Items[.@i+1]) set .@nr,1; }
+ for(set .@i,1; .@i<getarraysize(.@items[0]); set .@i,.@i+2) {
+ mes " ~ "+.@items[.@i+1]+"x ^3355FF"+getitemname(.@items[.@i])+"^000000";
+ if (countitem(.@items[.@i]) < .@items[.@i+1]) set .@nr,1; }
if (.@nr) close;
next;
mes "[Lenneth]";
- mes "Do you desire ^3355FF"+getitemname(.@Items[0])+"^000000?";
+ mes "Do you desire ^3355FF"+getitemname(.@items[0])+"^000000?";
next;
if(select("Yes:No")==2) {
mes "[Lenneth]";
mes "Please return if you change your mind.";
close; }
mes "[Lenneth]";
- mes "Here is your ^3355FF"+getitemname(.@Items[0])+"^000000.";
+ mes "Here is your ^3355FF"+getitemname(.@items[0])+"^000000.";
mes "May it serve you well.";
- for(set .@i,1; .@i<getarraysize(.@Items); set .@i,.@i+2)
- delitem .@Items[.@i], .@Items[.@i+1];
- getitem .@Items[0],1;
+ for(set .@i,1; .@i<getarraysize(.@items); set .@i,.@i+2)
+ delitem .@items[.@i], .@items[.@i+1];
+ getitem .@items[0],1;
close;
}
diff --git a/npc/custom/resetnpc.txt b/npc/custom/resetnpc.txt
index cbb633e6a..1f8448111 100644
--- a/npc/custom/resetnpc.txt
+++ b/npc/custom/resetnpc.txt
@@ -13,7 +13,7 @@
//= 1.3 All statuses removed upon skill reset. [Euphy]
//============================================================
-prontera,150,193,4 script Reset Girl 124,{
+prontera,150,193,4 script Reset Girl 4_F_TELEPORTER,{
set .@ResetStat,5000; // Zeny for stat reset
set .@ResetSkill,5000; // Zeny for skill reset
@@ -33,9 +33,9 @@ prontera,150,193,4 script Reset Girl 124,{
mes "Sorry, you don't have enough Zeny.";
close;
}
- set Zeny, Zeny-.@ResetSkill;
+ Zeny -= .@ResetSkill;
sc_end SC_ALL;
- ResetSkill;
+ resetskill;
mes "There you go!";
close;
case 2:
@@ -44,8 +44,8 @@ prontera,150,193,4 script Reset Girl 124,{
mes "Sorry, you don't have enough Zeny.";
close;
}
- set Zeny, Zeny-.@ResetStat;
- ResetStatus;
+ Zeny -= .@ResetStat;
+ resetstatus;
mes "There you go!";
close;
case 3:
@@ -54,10 +54,10 @@ prontera,150,193,4 script Reset Girl 124,{
mes "Sorry, you don't have enough Zeny.";
close;
}
- set Zeny, Zeny-.@ResetBoth;
+ Zeny -= .@ResetBoth;
sc_end SC_ALL;
- ResetSkill;
- ResetStatus;
+ resetskill;
+ resetstatus;
mes "There you go!";
close;
case 4:
diff --git a/npc/custom/stylist.txt b/npc/custom/stylist.txt
index 853553f26..4bbc8f8dd 100644
--- a/npc/custom/stylist.txt
+++ b/npc/custom/stylist.txt
@@ -4,33 +4,31 @@
//= Euphy
//===== Current Version: =====================================
//= 1.1
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= Changes your hair style, hair color, and cloth color.
-//===== Additional Comments: =================================
+//===== Additional Comments: =================================
//= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]
//============================================================
-prontera,170,180,1 script Stylist#custom_stylist 122,{
+prontera,170,180,1 script Stylist#custom_stylist 2_M_DYEINGER,{
- setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
+ setarray .@styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
setarray .@Look[1],7,1,6;
set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
set .@Revert, getlook(.@Look[.@s]);
- set .@Style,1;
+ set .@style,1;
while(1) {
- setlook .@Look[.@s], .@Style;
- message strcharinfo(0),"This is style #"+.@Style+".";
- set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
+ setlook .@Look[.@s], .@style;
+ message strcharinfo(0),"This is style #"+.@style+".";
+ set .@menu$, " ~ Next (^0055FF"+((.@style!=.@styles[.@s])?.@style+1:1)+"^000000): ~ Previous (^0055FF"+((.@style!=1)?.@style-1:.@styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
switch(select(.@menu$)) {
- case 1: set .@Style, ((.@Style!=.@Styles[.@s])?.@Style+1:1); break;
- case 2: set .@Style, ((.@Style!=1)?.@Style-1:.@Styles[.@s]); break;
- case 3: message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
- input .@Style,0,.@Styles[.@s];
- if (!.@Style) set .@Style, rand(1,.@Styles[.@s]);
+ case 1: set .@style, ((.@style!=.@styles[.@s])?.@style+1:1); break;
+ case 2: set .@style, ((.@style!=1)?.@style-1:.@styles[.@s]); break;
+ case 3: message strcharinfo(0),"Choose a style between 1 - "+.@styles[.@s]+".";
+ input .@style,0,.@styles[.@s];
+ if (!.@style) set .@style, rand(1,.@styles[.@s]);
break;
- case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break;
+ case 4: set .@style, .@Revert; setlook .@Look[.@s], .@Revert; break;
}
}
}
diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt
index 14dcfebf0..0b66c6a03 100644
--- a/npc/custom/warper.txt
+++ b/npc/custom/warper.txt
@@ -1,18 +1,23 @@
//===== Hercules Script ======================================
//= Warper
-//===== By: ==================================================
+//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= Hercules
-//===== Description: =========================================
+//= 1.4
+//===== Description: =========================================
//= A complete - but very condensed - warper script.
-//= Coordinates written largely by Tekno-Kanix and ToastOfDoom.
+//= Some coordinates written by Tekno-Kanix and ToastOfDoom.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.1 Added missing duplicates and fixed coordinates.
+//= 1.2 Added new episodes and simplified functions.
+//= 1.3 Added Renewal checks and Instances menu.
+//= Aligned coordinates with @go.
+//= 1.4 Added new Guild Dungeons.
//============================================================
- script Warper -1,{
-function Go; function Disp; function Pick;
+function Go; function Disp; function Pick; function Restrict;
// --------------------------------------------------
// Main Menu:
@@ -20,21 +25,31 @@ function Go; function Disp; function Pick;
menu "Last Warp ^777777["+lastwarp$+"]^000000",-,
" ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons,
- " ~ Guild Castles",Castles, " ~ Special Areas",Special;
+ " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons,
+ " ~ Instances",Instances, " ~ Special Areas",Special;
- if (lastwarp$ == "") dispbottom "You have not warped anywhere yet.";
- else warp lastwarp$,lastwarpx,lastwarpy;
+ if (lastwarp$ == "")
+ message strcharinfo(0),"You haven't warped anywhere yet.";
+ else
+ warp lastwarp$,lastwarpx,lastwarpy;
close;
// ------------------- Functions -------------------
// * Go("<map>",<x>,<y>);
// ~ Warps directly to a map.
+//
// * Disp("<Menu Option>",<first option>,<last option>);
// * Pick("<map_prefix>"{,<index offset>});
-// ~ Dynamic menu and map selection.
-// * Disp("","<Option 1>:<Option 2>:<etc.>");
+// ~ Dynamic menu and map selection (auto-numbered).
+//
+// * Disp("<Option 1>:<Option 2>:<etc.>");
// * Pick("","<map1>","<map2>","<etc.>");
-// ~ Manual menu and map selection.
+// ~ Manual menu and map selection (listed).
+//
+// * Restrict("<RE | Pre-RE>"{,<menu option numbers>});
+// ~ Only allows map for Renewal or Pre-Renewal modes.
+// If menu option numbers are given, only those maps
+// will be restricted (i.e. not for "Go").
//
// Other notes:
// ~ Array @c[] holds all (x,y) coordinates.
@@ -45,150 +60,194 @@ menu "Last Warp ^777777["+lastwarp$+"]^000000",-,
function Go {
warp getarg(0),getarg(1,0),getarg(2,0);
getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
- close;
+ end;
}
function Disp {
- set @menu$,"";
- if(getarg(0)=="") {
- set @menu$,getarg(1);
- return;
+ if (getargcount() < 3)
+ set @menu$, getarg(0);
+ else {
+ set @menu$,"";
+ for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
+ set @menu$, @menu$+getarg(0)+" "+.@i+":";
}
- for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
- set @menu$, @menu$+getarg(0)+" "+.@i+":";
return;
}
function Pick {
- if(getarg(0)=="") {
- set .@i, select(@menu$);
- warp getarg(.@i),@c[.@i*2],@c[.@i*2+1];
+ set .@warp_block,@warp_block;
+ set @warp_block,0;
+ if (getarg(0) == "") {
+ set .@select, select(@menu$);
+ set .@i, .@select;
+ set .@map$, getarg(.@i);
} else {
- set .@i, select(@menu$)-getarg(1,0);
- warp getarg(0)+((.@i<10)?"0":"")+.@i,@c[.@i*2],@c[.@i*2+1];
+ set .@select, select(@menu$);
+ set .@i, .@select-getarg(1,0);
+ set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i;
}
+ if (.@warp_block & (1<<.@select)) {
+ message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal.";
+ close;
+ }
+ warp .@map$,@c[.@i*2],@c[.@i*2+1];
getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
- close;
+ deletearray @c[0],getarraysize(@c);
+ end;
+}
+function Restrict {
+ if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) {
+ if (getarg(1,0)) {
+ set @warp_block,0;
+ for(set .@i,1; .@i<getargcount(); set .@i,.@i+1)
+ set @warp_block, @warp_block | (1<<getarg(.@i));
+ } else {
+ message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal.";
+ close;
+ }
+ }
+ return;
}
// --------------------------------------------------
Towns:
// --------------------------------------------------
menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5,
- "Brasilis",T6, "Comodo",T7, "Dewata",T33, "Eclage",T34, "Einbech",T8,
- "Einbroch",T9, "El Dicastes",T10, "Geffen",T11, "Gonryun",T12, "Hugel",T13,
- "Izlude",T14, "Jawaii",T15, "Lighthalzen",T16, "Louyang",T17, "Lutie",T18,
- "Malangdo",T35, "Malaya",T36, "Manuk",T19, "Midgarts Expedition Camp",T20,
- "Mora",T21, "Morroc",T22, "Moscovia",T23, "Nameless Island",T24,
- "Niflheim",T25, "Payon",T26, "Rachel",T27, "Splendide",T28, "Thor Camp",T29,
- "Umbala",T30, "Veins",T31, "Yuno",T32;
+ "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10,
+ "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15,
+ "Izlude",T16, "Jawaii",T17, "Lighthalzen",T18, "Louyang",T19, "Lutie",T20,
+ "Malangdo",T21, "Malaya",T22, "Manuk",T23, "Midgarts Expedition Camp",T24,
+ "Mora",T25, "Morroc",T26, "Moscovia",T27, "Nameless Island",T28,
+ "Niflheim",T29, "Payon",T30, "Rachel",T31, "Splendide",T32, "Thor Camp",T33,
+ "Umbala",T34, "Veins",T35, "Yuno",T36;
T1: Go("prontera",155,183);
T2: Go("alberta",28,234);
T3: Go("aldebaran",140,131);
T4: Go("amatsu",198,84);
T5: Go("ayothaya",208,166);
-T6: Go("brasilis",195,220);
+T6: Restrict("RE");
+ Go("brasilis",196,217);
T7: Go("comodo",209,143);
-T8: Go("einbech",138,243);
-T9: Go("einbroch",64,200);
-T10: Go("dicastes01",197,187);
-T11: Go("geffen",120,68);
-T12: Go("gonryun",160,121);
-T13: Go("hugel",96,145);
-T14: Go("izlude",128,114);
-T15: Go("jawaii",213,230);
-T16: Go("lighthalzen",158,92);
-T17: Go("louyang",217,100);
-T18: Go("xmas",147,134);
-T19: Go("manuk",260,175);
-T20: Go("mid_camp",210,288);
-T21: Go("mora",111,97);
-T22: Go("morocc",156,93);
-T23: Go("moscovia",219,193);
-T24: Go("nameless_n",256,215);
-T25: Go("niflheim",202,174);
-T26: Go("payon",179,100);
-T27: Go("rachel",130,111);
-T28: Go("splendide",200,153);
-T29: Go("thor_camp",246,68);
-T30: Go("umbala",127,128);
-T31: Go("veins",216,123);
-T32: Go("yuno",157,51);
-T33: Go("dewata",199,179);
-T34: Go("eclage",111,39);
-T35: Go("malangdo",224,184);
-T36: Go("malaya",212,206);
+T8: Restrict("RE");
+ Go("dewata",200,180);
+T9: Restrict("RE");
+ Go("ecl_in01",48,53);
+T10: Go("einbech",63,35);
+T11: Go("einbroch",64,200);
+T12: Restrict("RE");
+ Go("dicastes01",198,187);
+T13: Go("geffen",119,59);
+T14: Go("gonryun",160,120);
+T15: Go("hugel",96,145);
+T16: Go("izlude",128,114);
+T17: Go("jawaii",251,132);
+T18: Go("lighthalzen",158,92);
+T19: Go("louyang",217,100);
+T20: Go("xmas",147,134);
+T21: Restrict("RE");
+ Go("malangdo",140,114);
+T22: Restrict("RE");
+ Go("malaya",212,206);
+T23: Go("manuk",282,138);
+T24: Go("mid_camp",210,288);
+T25: Restrict("RE");
+ Go("mora",55,146);
+T26: Go("morocc",156,93);
+T27: Go("moscovia",223,184);
+T28: Go("nameless_n",256,215);
+T29: Go("niflheim",202,174);
+T30: Go("payon",179,100);
+T31: Go("rachel",130,110);
+T32: Go("splendide",201,147);
+T33: Go("thor_camp",246,68);
+T34: Go("umbala",97,153);
+T35: Go("veins",216,123);
+T36: Go("yuno",157,51);
// --------------------------------------------------
Fields:
// --------------------------------------------------
menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3,
- "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F26,
- "Eclage Fields",F27, "Einbroch Fields",F6, "El Dicastes Fields",F7,
- "Geffen Fields",F8, "Gonryun Fields",F9, "Hugel Fields",F10,
- "Lighthalzen Fields",F11, "Louyang Field",F12, "Lutie Field",F13,
- "Malaya Fields",F28, "Manuk Fields",F14, "Mjolnir Fields",F15,
- "Moscovia Fields",F16, "Niflheim Fields",F17, "Payon Forests",F18,
- "Prontera Fields",F19, "Rachel Fields",F20, "Sograt Deserts",F21,
- "Splendide Fields",F22, "Umbala Fields",F23, "Veins Fields",F24,
- "Yuno Fields",F25;
+ "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6,
+ "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9,
+ "Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12,
+ "Lighthalzen Fields",F13, "Louyang Field",F14, "Lutie Field",F15,
+ "Malaya Fields",F16, "Manuk Fields",F17, "Mjolnir Fields",F18,
+ "Moscovia Fields",F19, "Niflheim Fields",F20, "Payon Forests",F21,
+ "Prontera Fields",F22, "Rachel Fields",F23, "Sograt Deserts",F24,
+ "Splendide Fields",F25, "Umbala Fields",F26, "Veins Fields",F27,
+ "Yuno Fields",F28;
F1: setarray @c[2],190,197;
Disp("Amatsu Field",1,1); Pick("ama_fild");
F2: setarray @c[2],173,134,212,150;
Disp("Ayothaya Field",1,2); Pick("ayo_fild");
-F3: setarray @c[2],193,220,220,187;
+F3: Restrict("RE");
+ setarray @c[2],193,220,220,187;
Disp("Bifrost Field",1,2); Pick("bif_fild");
-F4: setarray @c[2],74,32;
+F4: Restrict("RE");
+ setarray @c[2],74,32;
Disp("Brasilis Field",1,1); Pick("bra_fild");
-F5: setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172;
+F5: Restrict("Pre-RE",5);
+ setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172;
Disp("Comodo Field",1,9); Pick("cmd_fild");
-F6: setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200;
+F6: Restrict("RE");
+ setarray @c[2],371,212;
+ Disp("Dewata Field",1,1); Pick("dew_fild");
+F7: Restrict("RE");
+ setarray @c[2],97,314;
+ Disp("Eclage Field",1,1); Pick("ecl_fild");
+F8: Restrict("Pre-RE",2,10);
+ setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200;
Disp("Einbroch Field",1,10); Pick("ein_fild");
-F7: setarray @c[2],143,132,143,217;
+F9: Restrict("RE");
+ setarray @c[2],143,132,143,217;
Disp("El Dicastes Field",1,2); Pick("dic_fild");
-F8: setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
+F10: Restrict("Pre-RE",13,15);
+ setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
Disp("Geffen Field",0,14); Pick("gef_fild",1);
-F9: setarray @c[2],220,227;
+F11: setarray @c[2],220,227;
Disp("Gonryun Field",1,1); Pick("gon_fild");
-F10: setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
+F12: Restrict("Pre-RE",3,7);
+ setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
Disp("Hugel Field",1,7); Pick("hu_fild");
-F11: setarray @c[2],240,179,185,235,240,226;
+F13: setarray @c[2],240,179,185,235,240,226;
Disp("Lighthalzen Field",1,3); Pick("lhz_fild");
-F12: setarray @c[2],229,187;
+F14: setarray @c[2],229,187;
Disp("Louyang Field",1,1); Pick("lou_fild");
-F13: setarray @c[2],115,145;
+F15: setarray @c[2],115,145;
Disp("Lutie Field",1,1); Pick("xmas_fild");
-F14: setarray @c[2],35,236,35,262,84,365;
+F16: Restrict("RE");
+ setarray @c[2],40,272,207,180;
+ Disp("Malaya Field",1,2); Pick("ma_fild");
+F17: setarray @c[2],35,236,35,262,84,365;
Disp("Manuk Field",1,3); Pick("man_fild");
-F15: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208;
+F18: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208;
Disp("Mjolnir Field",1,12); Pick("mjolnir_");
-F16: setarray @c[2],82,104,131,147;
+F19: setarray @c[2],82,104,131,147;
Disp("Moscovia Field",1,2); Pick("mosk_fild");
-F17: setarray @c[2],215,229,167,234;
+F20: setarray @c[2],215,229,167,234;
Disp("Niflheim Field",1,2); Pick("nif_fild");
-F18: setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
+F21: Restrict("Pre-RE",5,11);
+ setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
Disp("Payon Forest",1,11); Pick("pay_fild");
-F19: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164;
+F22: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164;
Disp("Prontera Field",0,11); Pick("prt_fild",1);
-F20: setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
+F23: Restrict("Pre-RE",2,7,9,10,11,13);
+ setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
Disp("Rachel Field",1,13); Pick("ra_fild");
-F21: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195;
- Disp("","Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
+F24: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195;
+ Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22");
-F22: setarray @c[2],175,186,236,184,188,204;
+F25: setarray @c[2],175,186,236,184,188,204;
Disp("Splendide Field",1,3); Pick("spl_fild");
-F23: setarray @c[2],217,206,223,221,237,215,202,197;
+F26: setarray @c[2],217,206,223,221,237,215,202,197;
Disp("Umbala Field",1,4); Pick("um_fild");
-F24: setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
+F27: Restrict("Pre-RE",5);
+ setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
Disp("Veins Field",1,7); Pick("ve_fild");
-F25: setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
+F28: Restrict("Pre-RE",5,10);
+ setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
Disp("Yuno Field",1,12); Pick("yuno_fild");
-F26: setarray @c[2],371,212;
- Disp("Dewata Field",1,1); Pick("dew_fild");
-F27: setarray @c[2],97,314;
- Disp("Eclage Field",1,1); Pick("ecl_fild");
-F28: setarray @c[2],40,272,207,180;
- Disp("Malaya Field",1,2); Pick("ma_fild");
// --------------------------------------------------
Dungeons:
@@ -196,16 +255,15 @@ F28: setarray @c[2],40,272,207,180;
menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3,
"Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bio Labs",D6,
"Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9,
- "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D41,
- "Einbroch Dungeon",D13, "Endless Tower",D14, "Gefenia",D15,
- "Geffen Dungeon",D16, "Glast Heim",D17, "Gonryun Dungeon",D18,
- "Guild Dungeons",GD, "Hidden Dungeon",D19, "Ice Dungeon",D20,
- "Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23,
- "Magma Dungeon",D24, "Malangdo Dungeon",D42, "Moscovia Dungeon",D25,
- "Nidhogg's Dungeon",D26, "Odin Temple",D27, "Orc Dungeon",D28, "Payon Dungeon",D29,
- "Pyramids",D30, "Rachel Sanctuary",D31, "Scaraba Hole",D32, "Sealed Shrine",D33,
- "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36, "Thor Volcano",D37,
- "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
+ "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13,
+ "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16,
+ "Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19,
+ "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23,
+ "Magma Dungeon",D24, "Malangdo Dungeon",D25, "Moscovia Dungeon",D26,
+ "Nidhogg's Dungeon",D27, "Odin Temple",D28, "Orc Dungeon",D29,
+ "Payon Dungeon",D30, "Pyramids",D31, "Rachel Sanctuary",D32,
+ "Scaraba Hole",D33, "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36,
+ "Thor Volcano",D37, "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
D1: setarray @c[2],261,272,275,270,116,27;
Disp("Abyss Lakes",1,3); Pick("abyss_");
@@ -214,17 +272,20 @@ D2: setarray @c[2],228,11,34,41,119,14;
D3: setarray @c[2],35,262,168,170;
Disp("Anthell",1,2); Pick("anthell");
D4: setarray @c[2],275,19,24,26;
- Disp("","Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun");
+ Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun");
D5: setarray @c[2],266,67,255,244,23,260;
Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3");
-D6: setarray @c[2],150,288,150,18,140,134;
- Disp("Bio Lab",1,3); Pick("lhz_dun");
-D7: setarray @c[2],87,47,262,262;
+D6: Restrict("RE",4);
+ setarray @c[2],150,288,150,18,140,134,244,52;
+ Disp("Bio Lab",1,4); Pick("lhz_dun");
+D7: Restrict("RE");
+ setarray @c[2],87,47,262,262;
Disp("Brasilis Dungeon",1,2); Pick("bra_dun");
-D8: setarray @c[0],168,168,253,252,236,204,32,63,26,27;
- Disp("Byalan Dungeon",1,5); Pick("iz_dun",1);
+D8: Restrict("RE",6);
+ setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187;
+ Disp("Byalan Dungeon",1,6); Pick("iz_dun",1);
D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74;
- Disp("","Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4");
+ Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4");
Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04");
D10: setarray @c[2],52,17,381,343,302,262;
Disp("Coal Mines",1,3); Pick("mjo_dun");
@@ -232,16 +293,17 @@ D11: setarray @c[2],131,247,19,19,180,169,100,92;
Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4");
D12: setarray @c[2],51,14,150,11,120,10;
Disp("Cursed Abbey",1,3); Pick("abbey");
-D13: setarray @c[2],22,14,292,290;
+D13: Restrict("RE");
+ setarray @c[2],285,160,299,29;
+ Disp("Dewata Dungeon",1,2); Pick("dew_dun");
+D14: setarray @c[2],22,14,292,290;
Disp("Einbroch Dungeon",1,2); Pick("ein_dun");
-D14: setarray @c[2],72,112;
- Disp("","Misty Island"); Pick("","e_tower");
D15: setarray @c[2],40,103,203,34,266,168,130,272;
Disp("Gefenia",1,4); Pick("gefenia",0);
D16: setarray @c[0],104,99,115,236,106,132,203,200;
Disp("Geffen Dungeon",1,4); Pick("gef_dun",1);
-D17: setarray @c[2],375,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14;
- Disp("","Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
+D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14;
+ Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1");
D18: setarray @c[2],153,53,28,113,68,16;
Disp("Gonryun Dungeon",1,3); Pick("gon_dun");
@@ -250,32 +312,34 @@ D19: setarray @c[2],176,7,93,20,23,8;
D20: setarray @c[2],157,14,151,155,149,22,33,158;
Disp("Ice Dungeon",1,4); Pick("ice_dun");
D21: setarray @c[2],140,51,53,247,37,63,150,285;
- Disp("","Entrance:Juperos 1:Juperos 2:Core");
+ Disp("Entrance:Juperos 1:Juperos 2:Core");
Pick("","jupe_cave","juperos_01","juperos_02","jupe_core");
D22: setarray @c[2],28,226,41,198;
Disp("Kiel Dungeon",1,2); Pick("kh_dun");
D23: setarray @c[2],218,196,282,20,165,38;
- Disp("","The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
+ Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
D24: setarray @c[2],126,68,47,30;
Disp("Magma Dungeon",1,2); Pick("mag_dun");
-D25: setarray @c[2],189,48,165,30,32,135;
+D25: Restrict("RE");
+ setarray @c[2],33,230;
+ Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
+D26: setarray @c[2],189,48,165,30,32,135;
Disp("Moscovia Dungeon",1,3); Pick("mosk_dun");
-D26: setarray @c[2],61,239,60,271;
+D27: setarray @c[2],61,239,60,271;
Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun");
-D27: setarray @c[2],298,167,224,149,266,280;
+D28: setarray @c[2],298,167,224,149,266,280;
Disp("Odin Temple",1,3); Pick("odin_tem");
-D28: setarray @c[2],32,170,21,185;
+D29: setarray @c[2],32,170,21,185;
Disp("Orc Dungeon",1,2); Pick("orcsdun");
-D29: setarray @c[0],21,183,19,33,19,63,155,159,201,204;
+D30: setarray @c[0],21,183,19,33,19,63,155,159,201,204;
Disp("Payon Dungeon",1,5); Pick("pay_dun",1);
-D30: setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8;
- Disp("","Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2"); Pick("moc_pryd");
-D31: setarray @c[2],140,11,32,21,4,149,204,218,150,9;
+D31: setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8;
+ Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2"); Pick("moc_pryd");
+D32: setarray @c[2],140,11,32,21,4,149,204,218,150,9;
Disp("Rachel Sanctuary",1,5); Pick("ra_san");
-D32: setarray @c[2],364,44,101,141;
+D33: Restrict("RE");
+ setarray @c[2],364,44,101,141;
Disp("Scaraba Hole",1,2); Pick("dic_dun");
-D33: setarray @c[2],306,143;
- Disp("","Friar Patrick"); Pick("","monk_test");
D34: setarray @c[2],288,9,149,81,210,54,10,222,100,99;
Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5");
D35: setarray @c[2],69,24,102,27;
@@ -287,17 +351,11 @@ D37: setarray @c[2],21,228,75,205,34,272;
D38: setarray @c[2],205,15,129,133;
Disp("Toy Factory",1,2); Pick("xmas_dun");
D39: setarray @c[2],154,49,148,261,132,189,100,192;
- Disp("","Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
-D40: setarray @c[2],42,31,48,30,204,78;
- Disp("","Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
+ Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
+D40: Restrict("Pre-RE",1,2);
+ setarray @c[2],42,31,48,30,204,78;
+ Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
Pick("","um_dun01","um_dun02","yggdrasil01");
-D41: setarray @c[2],285,160,299,29;
- Disp("Dewata Dungeon",1,2); Pick("dew_dun");
-D42: setarray @c[2],33,230;
- Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
-GD: setarray @c[2],119,93,39,161,50,44,116,45,199,195,200,124;
- Disp("","Baldur:Luina:Valkyrie:Britoniah:Arunafeltz:Schwaltzvalt");
- Pick("","gld_dun01","gld_dun02","gld_dun03","gld_dun04","arug_dun01","schg_dun01");
// --------------------------------------------------
Castles:
@@ -306,86 +364,132 @@ menu "Aldebaran Castles",C1, "Geffen Castles",C2, "Payon Castles",C3,
"Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6;
C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90;
- Disp("","Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg");
+ Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg");
Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld");
C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87;
- Disp("","Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz");
+ Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz");
Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13");
C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266;
- Disp("","Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill");
+ Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill");
Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld");
C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240;
- Disp("","Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul");
+ Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul");
Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld");
C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107;
- Disp("","Mardol:Cyr:Horn:Gefn:Banadis");
+ Disp("Mardol:Cyr:Horn:Gefn:Banadis");
Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld");
C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315;
- Disp("","Himinn:Andlangr:Viblainn:Hljod:Skidbladnir");
+ Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir");
Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld");
// --------------------------------------------------
+ Guild_Dungeons:
+// --------------------------------------------------
+menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4,
+ "Arunafeltz",G5, "Schwaltzvalt",G6;
+
+G1: Restrict("RE",2,3);
+ setarray @c[2],119,93,119,93,120,130;
+ Disp("Baldur F1:Baldur F2:Hall of Abyss");
+ Pick("","gld_dun01","gld_dun01_2","gld2_pay");
+G2: Restrict("RE",2,3);
+ setarray @c[2],39,161,39,161,147,155;
+ Disp("Luina F1:Luina F2:Hall of Abyss");
+ Pick("","gld_dun02","gld_dun02_2","gld2_ald");
+G3: Restrict("RE",2,3);
+ setarray @c[2],50,44,50,44,140,132;
+ Disp("Valkyrie F1:Valkyrie F2:Hall of Abyss");
+ Pick("","gld_dun03","gld_dun03_2","gld2_prt");
+G4: Restrict("RE",2,3);
+ setarray @c[2],116,45,116,45,152,118;
+ Disp("Britoniah F1:Britoniah F2:Hall of Abyss");
+ Pick("","gld_dun04","gld_dun04_2","gld2_gef");
+G5: Go("arug_dun01",199,195);
+G6: Go("schg_dun01",200,124);
+
+// --------------------------------------------------
+ Instances:
+// --------------------------------------------------
+
+menu "Endless Tower",I1, "Hazy Forest",I2, "Malangdo Culvert",I3,
+ "Nidhoggur's Nest",I4, "Octopus Cave",I5, "Orc's Memory",I6, "Sealed Shrine",I7;
+
+I1: Go("e_tower",72,112);
+I2: Restrict("RE");
+ Go("bif_fild01",161,334);
+I3: Restrict("RE");
+ Go("mal_in01",164,21);
+I4: Go("nyd_dun02",95,193);
+I5: Restrict("RE");
+ Go("mal_dun01",152,230);
+I6: Go("gef_fild10",240,198);
+I7: Go("monk_test",306,143);
+
+// --------------------------------------------------
Special:
// --------------------------------------------------
-menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Gonryun Arena",S4,
- "Izlude Arena",S5, "Monster Race Arena",S6, "Turbo Track",S7;
+menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Eden Group Headquarters",S4,
+ "Gonryun Arena",S5, "Izlude Arena",S6, "Monster Race Arena",S7, "Turbo Track",S8;
S1: Go("auction_01",22,68);
S2: Go("bat_room",154,150);
S3: Go("cmd_in02",179,129);
-S4: Go("gon_test",48,10);
-S5: Go("arena_room",100,88);
-S6: Go("p_track01",62,41);
-S7: Go("turbo_room",99,114);
+S4: Restrict("RE");
+ Go("moc_para01",31,14);
+S5: Go("gon_test",48,10);
+S6: Go("arena_room",100,88);
+S7: Go("p_track01",62,41);
+S8: Go("turbo_room",99,114);
}
// --------------------------------------------------
// Duplicates:
// --------------------------------------------------
-prontera,159,192,4 duplicate(Warper) Warper#1 811
-rachel,135,116,4 duplicate(Warper) Warper#2 811
-alberta,28,240,4 duplicate(Warper) Warper#3 811
-aldebaran,145,118,4 duplicate(Warper) Warper#4 811
-amatsu,203,87,4 duplicate(Warper) Warper#5 811
-ayothaya,209,169,6 duplicate(Warper) Warper#6 811
-comodo,194,158,4 duplicate(Warper) Warper#7 811
-einbech,142,246,4 duplicate(Warper) Warper#8 811
-einbroch,69,202,4 duplicate(Warper) Warper#9 811
-hugel,101,151,4 duplicate(Warper) Warper#10 811
-lighthalzen,151,101,6 duplicate(Warper) Warper#11 811
-geffen,124,72,4 duplicate(Warper) Warper#12 811
-izlude,132,120,4 duplicate(Warper) Warper#13 811
-xmas,150,136,4 duplicate(Warper) Warper#14 811
-morocc,159,97,4 duplicate(Warper) Warper#15 811
-payon,182,108,4 duplicate(Warper) Warper#16 811
-yuno,162,47,4 duplicate(Warper) Warper#17 811
-moc_fild04,207,331,4 duplicate(Warper) Warper#18 811
-izlu2dun,104,82,4 duplicate(Warper) Warper#19 811
-mjolnir_02,85,363,4 duplicate(Warper) Warper#20 811
-prt_fild05,273,215,4 duplicate(Warper) Warper#21 811
-glast_01,370,308,4 duplicate(Warper) Warper#22 811
-yuno_fild03,37,135,4 duplicate(Warper) Warper#23 811
-gef_fild10,71,339,4 duplicate(Warper) Warper#24 811
-pay_arche,39,135,4 duplicate(Warper) Warper#25 811
-moc_ruins,64,166,4 duplicate(Warper) Warper#26 811
-moc_fild19,106,97,4 duplicate(Warper) Warper#27 811
-alb2trea,73,101,4 duplicate(Warper) Warper#28 811
-tur_dun01,148,239,4 duplicate(Warper) Warper#29 811
-gonryun,162,122,4 duplicate(Warper) Warper#30 811
-louyang,208,103,6 duplicate(Warper) Warper#31 811
-umbala,132,130,4 duplicate(Warper) Warper#32 811
-brasilis,201,222,4 duplicate(Warper) Warper#33 811
-manuk,262,177,4 duplicate(Warper) Warper#34 811
-splendide,205,153,4 duplicate(Warper) Warper#35 811
-mid_camp,216,288,4 duplicate(Warper) Warper#36 811
-dicastes01,194,194,6 duplicate(Warper) Warper#37 811
-mora,110,100,4 duplicate(Warper) Warper#38 811
-moscovia,216,196,6 duplicate(Warper) Warper#39 811
-nameless_n,259,213,4 duplicate(Warper) Warper#40 811
-niflheim,205,179,4 duplicate(Warper) Warper#41 811
-thor_camp,249,76,4 duplicate(Warper) Warper#42 811
-veins,214,123,4 duplicate(Warper) Warper#43 811
-dewata,194,178,6 duplicate(Warper) Warper#44 811
-eclage,107,37,4 duplicate(Warper) Warper#45 811
-malaya,210,205,4 duplicate(Warper) Warper#46 811
-malangdo,220,188,6 duplicate(Warper) Warper#47 811
+alb2trea,57,70,6 duplicate(Warper) Warper#tre 4_F_VALKYRIE
+alberta,28,240,4 duplicate(Warper) Warper#alb 4_F_VALKYRIE
+aldebaran,145,118,4 duplicate(Warper) Warper#alde 4_F_VALKYRIE
+amatsu,203,87,4 duplicate(Warper) Warper#ama 4_F_VALKYRIE
+ayothaya,209,169,6 duplicate(Warper) Warper#ayo 4_F_VALKYRIE
+comodo,194,158,4 duplicate(Warper) Warper#com 4_F_VALKYRIE
+einbech,59,38,6 duplicate(Warper) Warper#einbe 4_F_VALKYRIE
+einbroch,69,202,4 duplicate(Warper) Warper#einbr 4_F_VALKYRIE
+gef_fild10,71,339,4 duplicate(Warper) Warper#orc 4_F_VALKYRIE
+geffen,124,72,4 duplicate(Warper) Warper#gef 4_F_VALKYRIE
+glast_01,372,308,4 duplicate(Warper) Warper#glh 4_F_VALKYRIE
+gonryun,162,122,4 duplicate(Warper) Warper#gon 4_F_VALKYRIE
+hugel,101,151,4 duplicate(Warper) Warper#hug 4_F_VALKYRIE
+izlu2dun,110,92,4 duplicate(Warper) Warper#izd 4_F_VALKYRIE
+izlude,132,120,4 duplicate(Warper) Warper#izl 4_F_VALKYRIE
+jawaii,253,138,4 duplicate(Warper) Warper#jaw 4_F_VALKYRIE
+lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 4_F_VALKYRIE
+louyang,208,103,6 duplicate(Warper) Warper#lou 4_F_VALKYRIE
+manuk,274,146,6 duplicate(Warper) Warper#man 4_F_VALKYRIE
+mid_camp,216,288,4 duplicate(Warper) Warper#mid 4_F_VALKYRIE
+mjolnir_02,85,364,4 duplicate(Warper) Warper#mjo 4_F_VALKYRIE
+moc_ruins,64,164,4 duplicate(Warper) Warper#moc 4_F_VALKYRIE
+morocc,159,97,4 duplicate(Warper) Warper#mor 4_F_VALKYRIE
+moscovia,229,191,4 duplicate(Warper) Warper#mos 4_F_VALKYRIE
+nameless_n,259,213,4 duplicate(Warper) Warper#nam 4_F_VALKYRIE
+niflheim,205,179,4 duplicate(Warper) Warper#nif 4_F_VALKYRIE
+pay_arche,42,134,4 duplicate(Warper) Warper#arc 4_F_VALKYRIE
+payon,182,108,4 duplicate(Warper) Warper#pay 4_F_VALKYRIE
+prontera,159,192,4 duplicate(Warper) Warper#prt 4_F_VALKYRIE
+prt_fild05,279,223,6 duplicate(Warper) Warper#cul 4_F_VALKYRIE
+rachel,135,116,4 duplicate(Warper) Warper#rac 4_F_VALKYRIE
+splendide,205,153,4 duplicate(Warper) Warper#spl 4_F_VALKYRIE
+thor_camp,249,76,4 duplicate(Warper) Warper#thor 4_F_VALKYRIE
+umbala,106,150,3 duplicate(Warper) Warper#umb 4_F_VALKYRIE
+veins,214,123,4 duplicate(Warper) Warper#ve 4_F_VALKYRIE
+xmas,150,136,6 duplicate(Warper) Warper#xmas 4_F_VALKYRIE
+yuno,162,47,4 duplicate(Warper) Warper#yuno 4_F_VALKYRIE
+
+// --------------------------------------------------
+// Duplicates (Renewal):
+// --------------------------------------------------
+brasilis,201,222,4 duplicate(Warper) Warper#bra 4_F_VALKYRIE
+dewata,204,186,6 duplicate(Warper) Warper#dew 4_F_VALKYRIE
+dicastes01,194,194,6 duplicate(Warper) Warper#dic 4_F_VALKYRIE
+ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 4_F_VALKYRIE
+malangdo,134,117,6 duplicate(Warper) Warper#mal 4_F_VALKYRIE
+malaya,210,205,4 duplicate(Warper) Warper#ma 4_F_VALKYRIE
+mora,57,152,4 duplicate(Warper) Warper#mora 4_F_VALKYRIE
diff --git a/npc/custom/woe_controller.txt b/npc/custom/woe_controller.txt
index c7d3f4e9e..824fa4a4f 100644
--- a/npc/custom/woe_controller.txt
+++ b/npc/custom/woe_controller.txt
@@ -4,8 +4,6 @@
//= Euphy
//===== Current Version: =====================================
//= 1.5
-//===== Compatible With: =====================================
-//= Hercules
//===== Description: =========================================
//= A controller for War of Emperium designed for
//= simplicity and ease of use.
@@ -19,7 +17,7 @@
// Information NPC
//============================================================
-prontera,149,193,4 script WOE Information 835,{
+prontera,149,193,4 script WOE Information 2_BOARD1,{
doevent "WOE_CONTROL::OnMenu";
end;
OnAgitStart:
@@ -107,7 +105,7 @@ OnMinute00:
if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) == $WOE_CONTROL[.@i+2]) {
OnWOEEnd:
announce "The War Of Emperium is over!",bc_all|bc_woe;
- AgitEnd; AgitEnd2;
+ agitend; agitend2;
sleep 1000;
for(set .@j,0; .@j<30; set .@j,.@j+1) {
if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1);
@@ -125,10 +123,10 @@ OnMinute00:
if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) {
deletearray .Active[0],2;
set .Active[0], $WOE_CONTROL[.@i+3];
- if (.Init) { AgitEnd; AgitEnd2; }
+ if (.Init) { agitend; agitend2; }
else announce "The War Of Emperium has begun!",bc_all|bc_woe;
sleep 1000;
- AgitStart; AgitStart2;
+ agitstart; agitstart2;
for(set .@j,0; .@j<30; set .@j,.@j+1) {
if (.Active[0]&(1<<.@j)) {
if (!.Init) Disp_Owner(.Castles$[.@j],0);
@@ -165,9 +163,9 @@ OnReward:
freeloop(1);
for(set .@i,0; .@i<30; set .@i,.@i+1)
if (getarg(0)&(1<<.@i)) {
- set .@gid, getcastledata(.Castles$[.@i],1);
- if (!.@gid) continue;
- set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid);
+ set .@GID, getcastledata(.Castles$[.@i],1);
+ if (!.@GID) continue;
+ set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@GID+"' AND "+.@sql$,.@aid,.@cid);
for(set .@j,0; .@j<.@size; set .@j,.@j+1) {
if (.Options&8 && !(.Options&4)) {
set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a");
@@ -275,7 +273,7 @@ while(1) {
for(set .@i,0; .@i<6; set .@i,.@i+1) {
set .@k, .@i*5;
mes "> ^FF0000"+.Regions$[.@i]+"^000000";
- for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) {
+ for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) {
set .@t, getcastledata(.Castles$[.@j],1);
mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000";
}
@@ -299,26 +297,26 @@ while(1) {
}
mes "Select a day.";
next;
- set .@Day, select(" ~ "+implode(.Days$,": ~ "))-1;
+ set .@day, select(" ~ "+implode(.Days$,": ~ "))-1;
mes "[New Session]";
- mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000.";
+ mes "Select a start time for ^0055FF"+.Days$[.@day]+"^000000.";
next;
set .@menu$,"";
for(set .@i,0; .@i<23; set .@i,.@i+1)
set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":";
- set .@Start, select(.@menu$)-1;
+ set .@start, select(.@menu$)-1;
mes "[New Session]";
- mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000.";
+ mes "Select an end time for ^0055FF"+.Days$[.@day]+"^000000.";
next;
set .@menu$,"";
- for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1)
+ for(set .@i,.@start+1; .@i<24; set.@i,.@i+1)
set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":";
- set .@End, select(.@menu$)+.@Start;
+ set .@end, select(.@menu$)+.@start;
for(set .@i,0; .@i<.Size; set .@i,.@i+4)
- if (.@Day == $WOE_CONTROL[.@i] &&
- ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) ||
- (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) ||
- (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) {
+ if (.@day == $WOE_CONTROL[.@i] &&
+ ((.@start >= $WOE_CONTROL[.@i+1] && .@start < $WOE_CONTROL[.@i+2]) ||
+ (.@end > $WOE_CONTROL[.@i+1] && .@end <= $WOE_CONTROL[.@i+2]) ||
+ (.@start <= $WOE_CONTROL[.@i+1] && .@end >= $WOE_CONTROL[.@i+2]))) {
mes "[New Session]";
mes "The chosen times overlap with an existing session.";
next;
@@ -326,22 +324,22 @@ while(1) {
break;
}
if (.@d) { set .@d,0; break; }
- set .@Castle,0;
+ set .@castle,0;
while(1) {
mes "[New Session]";
- mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000";
+ mes "^0055FF"+.Days$[.@day]+" ("+Add_Zero(.@start)+"-"+Add_Zero(.@end)+")^000000";
mes " > Castles:";
- if (!.@Castle)
+ if (!.@castle)
mes " ~ ^777777(none selected)^000000";
else for(set .@i,0; .@i<30; set .@i,.@i+1)
- if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")";
+ if (.@castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")";
next;
- set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":";
+ set .@menu$,((.@castle)?" ~ ^FF0000Finished...^000000":"")+":";
for(set .@i,0; .@i<30; set .@i,.@i+1)
- set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:";
+ set .@menu$, .@menu$+" ~ "+((.@castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:";
set .@i, select(.@menu$)-1;
if (.@i)
- set .@Castle, .@Castle^(1<<(.@i-1));
+ set .@castle, .@castle^(1<<(.@i-1));
else {
mes "[New Session]";
mes "Are you sure?";
@@ -349,13 +347,13 @@ while(1) {
switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) {
case 1:
for(set .@i,0; .@i<.Size; set .@i,.@i+4)
- if ((.@Day == $WOE_CONTROL[.@i] && .@End <= $WOE_CONTROL[.@i+1]) || .@Day < $WOE_CONTROL[.@i]) {
+ if ((.@day == $WOE_CONTROL[.@i] && .@end <= $WOE_CONTROL[.@i+1]) || .@day < $WOE_CONTROL[.@i]) {
set .@d,1;
break;
}
if (!.@d) { set .@d,1; set .@i,.Size; }
copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i;
- setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle;
+ setarray $WOE_CONTROL[.@i], .@day, .@start, .@end, .@castle;
set .Size, getarraysize($WOE_CONTROL);
case 3:
mes "[New Session]";
@@ -447,4 +445,4 @@ while(1) {
case 5:
close;
} }
-} \ No newline at end of file
+}