summaryrefslogtreecommitdiff
path: root/world
diff options
context:
space:
mode:
Diffstat (limited to 'world')
-rw-r--r--world/conf/char_athena.conf14
-rw-r--r--world/conf/char_local.conf.example3
-rw-r--r--world/conf/tmwa-char-old.conf8
-rw-r--r--world/conf/tmwa-char.conf10
-rw-r--r--world/map/conf/battle_athena.conf13
-rw-r--r--world/map/conf/map_athena.conf3
-rw-r--r--world/map/conf/map_local.conf.example2
-rw-r--r--world/map/conf/tmwa-map.conf33
-rw-r--r--world/map/data/027-4.wlkbin18754 -> 18754 bytes
-rw-r--r--world/map/data/031-1.wlkbin18948 -> 18948 bytes
-rw-r--r--world/map/db/item_db_chest.txt (renamed from world/map/db/chest_item_db.txt)0
-rw-r--r--world/map/db/item_db_foot.txt (renamed from world/map/db/foot_item_db.txt)2
-rw-r--r--world/map/db/item_db_generic.txt (renamed from world/map/db/generic_item_db.txt)0
-rw-r--r--world/map/db/item_db_hand.txt (renamed from world/map/db/hand_item_db.txt)0
-rw-r--r--world/map/db/item_db_head.txt (renamed from world/map/db/head_item_db.txt)6
-rw-r--r--world/map/db/item_db_leg.txt (renamed from world/map/db/leg_item_db.txt)2
-rw-r--r--world/map/db/item_db_offhand.txt (renamed from world/map/db/offhand_item_db.txt)0
-rw-r--r--world/map/db/item_db_trinket.txt (renamed from world/map/db/trinket_item_db.txt)2
-rw-r--r--world/map/db/item_db_use.txt (renamed from world/map/db/use_item_db.txt)0
-rw-r--r--world/map/db/item_db_weapon.txt (renamed from world/map/db/weapon_item_db.txt)6
-rw-r--r--world/map/db/mob_db_0_19.txt (renamed from world/map/db/0_19_mob_db.txt)0
-rw-r--r--world/map/db/mob_db_20_39.txt (renamed from world/map/db/20_39_mob_db.txt)0
-rw-r--r--world/map/db/mob_db_40_59.txt (renamed from world/map/db/40_59_mob_db.txt)0
-rw-r--r--world/map/db/mob_db_60_79.txt (renamed from world/map/db/60_79_mob_db.txt)0
-rw-r--r--world/map/db/mob_db_80_99.txt (renamed from world/map/db/80_99_mob_db.txt)0
-rw-r--r--world/map/db/mob_db_over_100.txt (renamed from world/map/db/over_100_mob_db.txt)0
-rw-r--r--world/map/npc/001-1/north_shops.txt4
-rw-r--r--world/map/npc/001-2/forge_shops.txt4
-rw-r--r--world/map/npc/002-2/bakery.txt2
-rw-r--r--world/map/npc/002-2/casino.txt5
-rw-r--r--world/map/npc/002-2/inya.txt4
-rw-r--r--world/map/npc/002-2/latoy.txt2
-rw-r--r--world/map/npc/002-2/shops.txt2
-rw-r--r--world/map/npc/002-3/merchant.txt2
-rw-r--r--world/map/npc/006-2/shops.txt4
-rw-r--r--world/map/npc/009-2/peter.txt2
-rw-r--r--world/map/npc/009-2/shops.txt18
-rw-r--r--world/map/npc/009-2/trader.txt2
-rw-r--r--world/map/npc/009-7/rouge.txt7
-rw-r--r--world/map/npc/009-7/shops.txt4
-rw-r--r--world/map/npc/010-2/dimonds.txt9
-rw-r--r--world/map/npc/010-2/loratay.txt56
-rw-r--r--world/map/npc/011-1/shops.txt2
-rw-r--r--world/map/npc/011-6/_warps.txt4
-rw-r--r--world/map/npc/012-1/shops.txt2
-rw-r--r--world/map/npc/020-2/furquest.txt58
-rw-r--r--world/map/npc/020-2/shops.txt4
-rw-r--r--world/map/npc/027-2/gy_inn_shops.txt9
-rw-r--r--world/map/npc/029-1/barrier.txt8
-rw-r--r--world/map/npc/029-2/two_arms.txt4
-rw-r--r--world/map/npc/029-3/parua.txt36
-rw-r--r--world/map/npc/030-2/_import.txt4
-rw-r--r--world/map/npc/030-2/guards.txt (renamed from world/map/npc/030-2/gaurds.txt)0
-rw-r--r--world/map/npc/030-2/present_helper.txt5
-rw-r--r--world/map/npc/030-2/roasted_acorns_helper.txt (renamed from world/map/npc/030-2/roasted_acrons_helper.txt)0
-rw-r--r--world/map/npc/030-3/orum_homunculus.txt2
-rw-r--r--world/map/npc/035-2/shops.txt2
-rw-r--r--world/map/npc/036-2/shops.txt4
-rw-r--r--world/map/npc/annuals/xmas/barriers.txt2
-rw-r--r--world/map/npc/annuals/xmas/config.txt2
-rw-r--r--world/map/npc/annuals/xmas/core.txt4
61 files changed, 238 insertions, 145 deletions
diff --git a/world/conf/char_athena.conf b/world/conf/char_athena.conf
index 73aab23c..ee2cba1b 100644
--- a/world/conf/char_athena.conf
+++ b/world/conf/char_athena.conf
@@ -5,11 +5,6 @@
// of just under 1024 per server (but a world may be many servers).
max_connect_user: 0
-// Check that a player has the same IP when switching from char to map.
-// To use this, your lan_support.conf files MUST be correct.
-// Disabling this is not supported.
-check_ip_flag: yes
-
// Interval, in seconds, between saves of the flatfile databases.
autosave_time: 300
@@ -23,15 +18,6 @@ start_point: 029-2.gat,22,24
// Log Filename
char_log_filename: log/char.log
-// Manage possible letters/symbol in the name of charater.
-// Control character (0x00-0x1f) are never accepted. Possible values are:
-// 0: no restriction (builtin default, but please don't use)
-// 1: only letters/symbols in 'char_name_letters' option
-// 2: Letters/symbols in 'char_name_letters' option are forbidden.
-// All others are possible (please don't use this).
-// Setting this to anything but 1 is not recommended.
-char_name_option: 1
-
// Set the letters/symbols that you want use with 'char_name_option'.
// This is a cumulative option; specify nothing to reset it.
// Note: if you want to add a space, it can't be at the beginning or end.
diff --git a/world/conf/char_local.conf.example b/world/conf/char_local.conf.example
index 4beab7c9..920d7892 100644
--- a/world/conf/char_local.conf.example
+++ b/world/conf/char_local.conf.example
@@ -7,9 +7,6 @@ passwd: p1
// Server name, no more than 19 characters
server_name: The Mana World
-// Wisp name for server: used to send wisp from server to players (between 4 to 23 characters)
-wisp_server_name: Server
-
// Login Server IP
login_ip:127.0.0.1
// Login Server Port
diff --git a/world/conf/tmwa-char-old.conf b/world/conf/tmwa-char-old.conf
new file mode 100644
index 00000000..b7e37735
--- /dev/null
+++ b/world/conf/tmwa-char-old.conf
@@ -0,0 +1,8 @@
+// Master config file for The Mana World Athena (char component)
+// This file is used since version 14.x.y
+
+version-lt: 15.1.23
+
+import: conf/char_athena.conf
+import: conf/lan_support.conf
+import: conf/inter_athena.conf
diff --git a/world/conf/tmwa-char.conf b/world/conf/tmwa-char.conf
index a55cff1f..84213139 100644
--- a/world/conf/tmwa-char.conf
+++ b/world/conf/tmwa-char.conf
@@ -1,6 +1,8 @@
// Master config file for The Mana World Athena (char component)
-// This file is used since version 14.x.y
+// This file is used since version 14.x.y, but major changes in 15.x.y
-import: conf/char_athena.conf
-import: conf/lan_support.conf
-import: conf/inter_athena.conf
+import: conf/tmwa-char-old.conf
+version-ge: 15.1.23
+char_conf: conf/char_athena.conf
+char_lan_conf: conf/lan_support.conf
+inter_conf: conf/inter_athena.conf
diff --git a/world/map/conf/battle_athena.conf b/world/map/conf/battle_athena.conf
index 8288601d..6e80b1e7 100644
--- a/world/map/conf/battle_athena.conf
+++ b/world/map/conf/battle_athena.conf
@@ -99,8 +99,8 @@ monster_max_aspd: 199
// set to 'Yes', Normal players (gm level 0) can never use a GM command even if you set the command level to 0.
atcommand_gm_only: no
-// [GM] Can equip anything? (No or minimum GM level, can cause client errors.)
-gm_all_equipment: no
+// [GM] Can equip anything? (0 to disable, or minimum GM level, can cause client errors.)
+gm_all_equipment: 0
// Should GMs be given a hashed IP instead of the real one?
mask_ip_gms: 1
@@ -131,9 +131,6 @@ natural_healhp_interval: 6000
// The time interval for SP to restore naturally. (in milliseconds)
natural_healsp_interval: 8000
-// Automatic healing skill's time interval. (in milliseconds)
-natural_heal_skill_interval: 10000
-
// The maximum weight for a character to carry when the character stops healing naturally. (in %)
natural_heal_weight_rate: 50
@@ -211,12 +208,6 @@ prevent_logout: yes
// If skill fails by delay, should it display or not. (Note 1)
display_delay_skill_fail: yes
-// Is a monster summoned via dead branch aggresive? (Note 1)
-dead_branch_active: yes
-
-// If someone loots, show name in party? (Note 1)
-show_steal_in_same_party: no
-
// How to count the number of the enemies who do an agi penalty...
// 1 or less: It is a count altogether.
// 2: Full evasion exclusion
diff --git a/world/map/conf/map_athena.conf b/world/map/conf/map_athena.conf
index f03c0123..f0f59fd7 100644
--- a/world/map/conf/map_athena.conf
+++ b/world/map/conf/map_athena.conf
@@ -6,9 +6,6 @@ autosave_time: 60
// Message of the day file, when a character logs on, this message is displayed.
motd_txt: conf/motd.txt
-// When @help or @h is typed when you are a gm, this is displayed for helping new gms understand gm commands.
-help_txt: conf/help.txt
-
mapreg_txt: save/mapreg.txt
import: npc/scripts.conf
diff --git a/world/map/conf/map_local.conf.example b/world/map/conf/map_local.conf.example
index 894a43d3..d4270347 100644
--- a/world/map/conf/map_local.conf.example
+++ b/world/map/conf/map_local.conf.example
@@ -15,4 +15,4 @@ map_ip: 127.0.0.1
map_port: 5122
// Log of map actions, disabled by default because this is huge.
-//map_log: log/map.log
+//log_file: log/map.log
diff --git a/world/map/conf/tmwa-map.conf b/world/map/conf/tmwa-map.conf
index 44ac5757..10dd615e 100644
--- a/world/map/conf/tmwa-map.conf
+++ b/world/map/conf/tmwa-map.conf
@@ -5,7 +5,6 @@
// Older server versions hard-coded the loaders in (mostly) this order,
// and there may still be code dependencies.
-// The plan is to turn some of these into just plain 'import' eventually?
map_conf: conf/map_athena.conf
battle_conf: conf/battle_athena.conf
atcommand_conf: conf/atcommand_athena.conf
@@ -15,22 +14,22 @@ const_db: db/const-quest.txt
const_db: db/const-mapflags.txt
const_db: db/const-debugflag.txt
-item_db: db/chest_item_db.txt
-item_db: db/foot_item_db.txt
-item_db: db/generic_item_db.txt
-item_db: db/hand_item_db.txt
-item_db: db/head_item_db.txt
-item_db: db/leg_item_db.txt
-item_db: db/offhand_item_db.txt
-item_db: db/trinket_item_db.txt
-item_db: db/use_item_db.txt
-item_db: db/weapon_item_db.txt
-mob_db: db/0_19_mob_db.txt
-mob_db: db/20_39_mob_db.txt
-mob_db: db/40_59_mob_db.txt
-mob_db: db/60_79_mob_db.txt
-mob_db: db/80_99_mob_db.txt
-mob_db: db/over_100_mob_db.txt
+item_db: db/item_db_chest.txt
+item_db: db/item_db_foot.txt
+item_db: db/item_db_generic.txt
+item_db: db/item_db_hand.txt
+item_db: db/item_db_head.txt
+item_db: db/item_db_leg.txt
+item_db: db/item_db_offhand.txt
+item_db: db/item_db_trinket.txt
+item_db: db/item_db_use.txt
+item_db: db/item_db_weapon.txt
+mob_db: db/mob_db_0_19.txt
+mob_db: db/mob_db_20_39.txt
+mob_db: db/mob_db_40_59.txt
+mob_db: db/mob_db_60_79.txt
+mob_db: db/mob_db_80_99.txt
+mob_db: db/mob_db_over_100.txt
mob_skill_db: db/mob_skill_db.txt
skill_db: db/skill_db.txt
diff --git a/world/map/data/027-4.wlk b/world/map/data/027-4.wlk
index 4d561765..0933cbc6 100644
--- a/world/map/data/027-4.wlk
+++ b/world/map/data/027-4.wlk
Binary files differ
diff --git a/world/map/data/031-1.wlk b/world/map/data/031-1.wlk
index 7ca3abd2..130fd021 100644
--- a/world/map/data/031-1.wlk
+++ b/world/map/data/031-1.wlk
Binary files differ
diff --git a/world/map/db/chest_item_db.txt b/world/map/db/item_db_chest.txt
index de94086c..de94086c 100644
--- a/world/map/db/chest_item_db.txt
+++ b/world/map/db/item_db_chest.txt
diff --git a/world/map/db/foot_item_db.txt b/world/map/db/item_db_foot.txt
index e86be1c2..5d0537dc 100644
--- a/world/map/db/foot_item_db.txt
+++ b/world/map/db/item_db_foot.txt
@@ -1,6 +1,6 @@
// Name and Label MUST NOT exceed 23 characters (as marked)
//ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript}
-528, Boots, Boots, 5, 8000, 500, 80, 0, 2, 0, -2, 0, 2, 64, 0, 0, 0, {}, {}
+528, Boots, Boots, 5, 2000, 500, 80, 0, 2, 0, -2, 0, 2, 64, 0, 0, 0, {}, {}
655, FurBoots, Fur Boots, 5, 5000, 600, 50, 0, 3, 0, -3, 0, 2, 64, 0, 0, 0, {}, {}
734, BlackBoots, Black Boots, 5, 20000, 3000, 25, 0, 3, 0, -10, 0, 2, 64, 0, 0, 0, {}, {}
735, CottonBoots, Cotton Boots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, {}, {}
diff --git a/world/map/db/generic_item_db.txt b/world/map/db/item_db_generic.txt
index efae1569..efae1569 100644
--- a/world/map/db/generic_item_db.txt
+++ b/world/map/db/item_db_generic.txt
diff --git a/world/map/db/hand_item_db.txt b/world/map/db/item_db_hand.txt
index d57062b5..d57062b5 100644
--- a/world/map/db/hand_item_db.txt
+++ b/world/map/db/item_db_hand.txt
diff --git a/world/map/db/head_item_db.txt b/world/map/db/item_db_head.txt
index 922ea4b3..a82e68b7 100644
--- a/world/map/db/head_item_db.txt
+++ b/world/map/db/item_db_head.txt
@@ -27,14 +27,14 @@
644, BlackCowboyHat, Black Cowboy Hat, 5, 1800, 900, 30, 0, 6, 0, -12, 0, 2, 256, 0, 0, 0, {}, {}
646, Crown, Crown, 5, 5000, 1000, 240, 0, 4, 0, 0, 0, 2, 256, 0, 0, 0, {}, {}
647, DevelopersCap, Developer's Cap, 5, 2000, 500, 20, 0, 5, 0, 5, 0, 2, 256, 0, 0, 0, {}, {}
-654, Cap, Cap, 5, 2000, 500, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, {}, {}
+654, Cap, Cap, 5, 4000000, 500, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, {}, {}
656, SerfHat, Serf Hat, 5, 500, 100, 20, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, {}, {}
675, GraduationCap, Graduation Cap, 5, 1000, 250, 20, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, {}, {}
678, NohMask, Noh Mask, 5, 7000, 1000, 18, 0, 3, 0, 1, 0, 2, 256, 0, 0, 0, {}, {}
679, DemonMask, Demon Mask, 5, 10000, 5000, 23, 0, 3, 0, 5, 0, 2, 256, 0, 0, 0, {}, {}
//ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript}
-721, HighPriestCrown, High Priest Crown, 5, 20000, 5000, 400, 0, 4, 0, 20, 0, 2, 256, 0, 0, 0, {}, {bonus bMaxSP, 20;}
-722, MonsterSkullHelmet, Monster Skull Helmet, 5, 15000, 3000, 250, 0, 7, 0, 10, 0, 2, 256, 0, 0, 0, {}, {bonus bMdef, 20;}
+721, HighPriestCrown, High Priest Crown, 5, 6000000, 5000, 400, 0, 4, 0, 20, 0, 2, 256, 0, 0, 0, {}, {bonus bMaxSP, 20;}
+722, MonsterSkullHelmet, Monster Skull Helmet, 5, 6000000, 3000, 250, 0, 7, 0, 10, 0, 2, 256, 0, 0, 0, {}, {bonus bMdef, 20;}
723, DesertHat, Desert Hat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, {}, {}
724, CottonHeadband, Cotton Headband, 5, 3000, 500, 5, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, {}, {}
725, GMCap, GM Cap, 5, 2000, 500, 20, 0, 5, 0, 5, 0, 2, 256, 0, 0, 0, {}, {callfunc "RestrictedItem";}
diff --git a/world/map/db/leg_item_db.txt b/world/map/db/item_db_leg.txt
index 95fb53b4..173b8f98 100644
--- a/world/map/db/leg_item_db.txt
+++ b/world/map/db/item_db_leg.txt
@@ -11,7 +11,7 @@
796, BromenalLegs, Bromenal Legs, 5, 2000, 1000, 150, 0, 6, 0, -12, 0, 2, 1, 0, 0, 0, {}, {}
857, LeatherTrousers, Leather Trousers, 5, 1000, 500, 25, 0, 5, 0, -4, 0, 2, 1, 0, 0, 0, {}, {bonus bHit, 2;}
881, RaggedShorts, Ragged Shorts, 5, 60, 1, 7, 0, 1, 0, -2, 0, 2, 1, 0, 1, 0, {}, {}
-1172, SilkPants, Silk Pants, 5, 5000, 750, 10, 0, 2, 0, 0, 0, 2, 1, 0, 1, 0, {}, {}
+1172, SilkPants, Silk Pants, 5, 20000, 750, 10, 0, 2, 0, 0, 0, 2, 1, 0, 1, 0, {}, {}
//ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript}
2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {}
2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {}
diff --git a/world/map/db/offhand_item_db.txt b/world/map/db/item_db_offhand.txt
index a36e1778..a36e1778 100644
--- a/world/map/db/offhand_item_db.txt
+++ b/world/map/db/item_db_offhand.txt
diff --git a/world/map/db/trinket_item_db.txt b/world/map/db/item_db_trinket.txt
index f3b77bc9..b589f249 100644
--- a/world/map/db/trinket_item_db.txt
+++ b/world/map/db/item_db_trinket.txt
@@ -18,4 +18,4 @@
4011, SapphireRing, Sapphire Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bInt, 1;}
4012, TopazRing, Topaz Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bAgi, 1;}
4013, AmethystRing, Amethyst Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bDex, 1;}
-4014, SimpleRing, Simple Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {}
+4014, SimpleRing, Simple Ring, 5, 100000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {}
diff --git a/world/map/db/use_item_db.txt b/world/map/db/item_db_use.txt
index b2b13008..b2b13008 100644
--- a/world/map/db/use_item_db.txt
+++ b/world/map/db/item_db_use.txt
diff --git a/world/map/db/weapon_item_db.txt b/world/map/db/item_db_weapon.txt
index a16425f8..0a36f27d 100644
--- a/world/map/db/weapon_item_db.txt
+++ b/world/map/db/item_db_weapon.txt
@@ -3,7 +3,7 @@
521, Dagger, Dagger, 4, 1000, 500, 200, 15, 0, 1, 0, 0, 2, 2, 1, 1, 1, {}, {}
522, SharpKnife, Sharp Knife, 4, 100, 50, 150, 10, 0, 1, 0, 0, 2, 2, 1, 1, 1, {}, {}
529, IronArrow, Iron Arrow, 10, 4, 2, 1, 40, 0, 0, 0, 0, 2, 32768, 0, 0, 0, {}, {set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
-530, ShortBow, Short Bow, 4, 8000, 2000, 600, 50, 0, 5, 0, 0, 2, 34, 1, 4, 11, {}, {set @LauncherType, AMMO_BOW; callfunc "CheckLauncher";}
+530, ShortBow, Short Bow, 4, 2000, 2000, 600, 50, 0, 5, 0, 0, 2, 34, 1, 4, 11, {}, {set @LauncherType, AMMO_BOW; callfunc "CheckLauncher";}
536, ShortSword, Short Sword, 4, 8000, 4000, 2000, 100, 0, 1, 0, 0, 2, 2, 1, 1, 1, {}, {}
545, ForestBow, Forest Bow, 4, 20000, 5000, 1200, 70, 0, 5, 0, 0, 2, 34, 1, 0, 11, {}, {set @LauncherType, AMMO_BOW; callfunc "CheckLauncher";}
547, Bardiche, Bardiche, 4, 20, 10, 10, 0, 100, 1, -200, 0, 2, 2, 0, 0, 1, {}, {callfunc "UnreleasedItem";}
@@ -56,8 +56,8 @@
903, SlingShot, Sling Shot, 4, 500, 50, 10, 5, 0, 3, 0, 0, 2, 34, 1, 1, 11, {}, {set @LauncherType, AMMO_SLING; callfunc "CheckLauncher";}
904, SlingBullet, Sling Bullet, 10, 1, 0, 1, 3, 0, 0, 0, 0, 2, 32768, 0, 0, 0, {}, {set @AmmoType, AMMO_SLING; callfunc "CheckAmmo";}
906, KidBook, Kid Book, 4, 10000, 5000, 100, 1, 0, 3, 0, 0, 2, 34, 1, 1, 1, {}, {}
-1199, Arrow, Arrow, 10, 2, 1, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, {}, {set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
+1199, Arrow, Arrow, 10, 1, 1, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, {}, {set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
1200, Bow, Bow, 4, 1000, 500, 20, 20, 0, 5, 0, 0, 2, 34, 1, 4, 11, {}, {set @LauncherType, AMMO_BOW; callfunc "CheckLauncher";}
1201, Knife, Knife, 4, 50, 25, 120, 5, 0, 1, 0, 0, 2, 2, 1, 1, 1, {}, {}
-1215, ToySabre, Toy Sabre, 4, 50, 25, 1, 1, 0, 1, 0, 0, 2, 2, 1, 1, 1, {}, {}
+1215, ToySabre, Toy Sabre, 4, 2000000, 25, 1, 1, 0, 1, 0, 0, 2, 2, 1, 1, 1, {}, {}
1282, BoneArrows, Bone Arrows, 10, 50, 20, 0, 55, 0, 0, 0, 0, 2, 32768, 0, 0, 0, {}, {bonus bCritical, 1;set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
diff --git a/world/map/db/0_19_mob_db.txt b/world/map/db/mob_db_0_19.txt
index 36169593..36169593 100644
--- a/world/map/db/0_19_mob_db.txt
+++ b/world/map/db/mob_db_0_19.txt
diff --git a/world/map/db/20_39_mob_db.txt b/world/map/db/mob_db_20_39.txt
index b0d1d096..b0d1d096 100644
--- a/world/map/db/20_39_mob_db.txt
+++ b/world/map/db/mob_db_20_39.txt
diff --git a/world/map/db/40_59_mob_db.txt b/world/map/db/mob_db_40_59.txt
index a27c015c..a27c015c 100644
--- a/world/map/db/40_59_mob_db.txt
+++ b/world/map/db/mob_db_40_59.txt
diff --git a/world/map/db/60_79_mob_db.txt b/world/map/db/mob_db_60_79.txt
index 5dd9231a..5dd9231a 100644
--- a/world/map/db/60_79_mob_db.txt
+++ b/world/map/db/mob_db_60_79.txt
diff --git a/world/map/db/80_99_mob_db.txt b/world/map/db/mob_db_80_99.txt
index d6cdde0c..d6cdde0c 100644
--- a/world/map/db/80_99_mob_db.txt
+++ b/world/map/db/mob_db_80_99.txt
diff --git a/world/map/db/over_100_mob_db.txt b/world/map/db/mob_db_over_100.txt
index 3644b4dc..3644b4dc 100644
--- a/world/map/db/over_100_mob_db.txt
+++ b/world/map/db/mob_db_over_100.txt
diff --git a/world/map/npc/001-1/north_shops.txt b/world/map/npc/001-1/north_shops.txt
index a207ccaf..592e351c 100644
--- a/world/map/npc/001-1/north_shops.txt
+++ b/world/map/npc/001-1/north_shops.txt
@@ -1,6 +1,6 @@
// Northern shopping plaza
-001-1.gat,106,105,0|shop|Neko|101,TonoriDelight:*50,CactusDrink:*50,CactusPotion:*70,RoastedMaggot:*110,Beer:*175,ChickenLeg:*500
-001-1.gat,111,108,0|shop|Inar|108,CottonShirt:*300,SerfHat:*500,CottonShorts:*1000,CottonBoots:*2000,DesertShirt:*2000,CottonHeadband:*3000,DesertHat:*9600
+001-1.gat,106,105,0|shop|Neko|101,TonoriDelight:*10,CactusDrink:*1,CactusPotion:*1,RoastedMaggot:*1,Beer:*1,ChickenLeg:*2
+001-1.gat,111,108,0|shop|Inar|108,CottonShirt:*1,SerfHat:*1,CottonShorts:*1,CottonBoots:*1,DesertShirt:*1,CottonHeadband:*1,DesertHat:*4
001-1.gat,48,79,0|script|Well|400
{
callfunc "WaterBottle";
diff --git a/world/map/npc/001-2/forge_shops.txt b/world/map/npc/001-2/forge_shops.txt
index 5f2ab3ba..f98d7265 100644
--- a/world/map/npc/001-2/forge_shops.txt
+++ b/world/map/npc/001-2/forge_shops.txt
@@ -1,4 +1,4 @@
// Forge Shops
-001-2.gat,30,60,0|shop|Gungnir|311,SlingShot:*500,SlingBullet:*1,ShortBow:*8000,Arrow:*1,IronArrow:*4
-001-2.gat,25,59,0|shop|Mjolnir|377,Knife:*50,SharpKnife:*100,Dagger:*1000,LeatherShirt:*2000,LeatherShield:*2000
+001-2.gat,30,60,0|shop|Gungnir|311,SlingShot:*1,SlingBullet:*1,ShortBow:*4,Arrow:1,IronArrow:*1
+001-2.gat,25,59,0|shop|Mjolnir|377,Knife:*1,SharpKnife:*1,Dagger:*1,LeatherShirt:*1,LeatherShield:*1
diff --git a/world/map/npc/002-2/bakery.txt b/world/map/npc/002-2/bakery.txt
index b97c41c1..e5328723 100644
--- a/world/map/npc/002-2/bakery.txt
+++ b/world/map/npc/002-2/bakery.txt
@@ -129,7 +129,7 @@ L_End:
}
// The cashier
-002-2.gat,25,22,0|shop|Drabur|112,WhiteCake:*500,ChocolateCake:*550,OrangeCake:*600,AppleCake:*600,Cake:*30,CherryCake:*100,OrangeCupcake:*270,Milk:*1500,XmasCake:*70
+002-2.gat,25,22,0|shop|Drabur|112,WhiteCake:*1,ChocolateCake:*1,OrangeCake:*1,AppleCake:*1,Cake:*1,CherryCake:*1,OrangeCupcake:*1,Milk:*1,XmasCake:*1
// Bus boy
002-2.gat,21,28,0|script|Iormo|160
diff --git a/world/map/npc/002-2/casino.txt b/world/map/npc/002-2/casino.txt
index 4733bb63..d49313a6 100644
--- a/world/map/npc/002-2/casino.txt
+++ b/world/map/npc/002-2/casino.txt
@@ -40,7 +40,7 @@ L_End:
close;
}
-002-2.gat,78,56,0|shop|MoneyChanger|124,CasinoCoins:*10
+002-2.gat,78,56,0|shop|MoneyChanger|124,CasinoCoins:*1
002-2.gat,75,60,0|script|BlackJack|107
{
@@ -153,7 +153,6 @@ L_b100:
L_Check:
if(countitem("CasinoCoins") < @bet) goto L_NoCoin;
- delitem "CasinoCoins", @bet;
menu
"Choose a color", L_PickColor,
"Choose a number", L_Number;
@@ -164,6 +163,7 @@ L_PickColor:
"Red", L_Color;
L_Color:
+ delitem "CasinoCoins", @bet;
set @color,rand(2);
if(@color == 1) goto L_Lost;
mes "You won!";
@@ -178,6 +178,7 @@ L_Number:
"29", L_Menuitems, "30", L_Menuitems, "31", L_Menuitems, "32", L_Menuitems, "33", L_Menuitems, "34", L_Menuitems, "35", L_Menuitems, "36", L_Menuitems;
L_Menuitems:
+ delitem "CasinoCoins", @bet;
if (@menu == 1) set @number, 0;
if (@menu == 2) set @number, 37;
if (@menu >= 3) set @number, @menu - 2;
diff --git a/world/map/npc/002-2/inya.txt b/world/map/npc/002-2/inya.txt
index 322d0eb3..d05b19b4 100644
--- a/world/map/npc/002-2/inya.txt
+++ b/world/map/npc/002-2/inya.txt
@@ -1,13 +1,13 @@
//Gemstones: Diamond (white) , Ruby (red), Emerald (green), Sapphire (blue), Topaz (yellow), Amethyst (purple)
//The power of the gems is important to future balance of these rings. Are they related to stats, tiers of power, schools of magic?
-002-2.gat,116,61,0|shop|#InyaShop|127,SimpleRing:*100000
+002-2.gat,116,61,0|shop|#InyaShop|127,SimpleRing:*1
002-2.gat,116,61,0|script|Inya|106
{
mes "[Inya]";
mes "\"I am Inya, a jeweler of fine rings. I sell and make rings.\"";
- next;
+ next;
mes "\"If you have a Simple Ring and a gem, I can set the gem in it for 100,000 gold pieces.\"";
next;
mes "\"Also, if you have a ring with gems on it, I can remove the gems and return the Simple Ring to you for 50,000 gold pieces.\"";
diff --git a/world/map/npc/002-2/latoy.txt b/world/map/npc/002-2/latoy.txt
index 23dba644..3e8701a2 100644
--- a/world/map/npc/002-2/latoy.txt
+++ b/world/map/npc/002-2/latoy.txt
@@ -1,7 +1,7 @@
// A snobby store that won't sell to the player
// takes part in quest given by 021-2/kylian.txt
-002-2.gat,86,93,0|shop|#LatoyShop|127,SilkHeadband:*20000,SilkGloves:*20000,SilkPants:*80000,SilkRobe:*40000
+002-2.gat,86,93,0|shop|#LatoyShop|127,SilkHeadband:*4,SilkGloves:*4,SilkPants:*4,SilkRobe:*4
002-2.gat,86,93,0|script|Latoy|106
{
diff --git a/world/map/npc/002-2/shops.txt b/world/map/npc/002-2/shops.txt
index 87986111..b1818d04 100644
--- a/world/map/npc/002-2/shops.txt
+++ b/world/map/npc/002-2/shops.txt
@@ -1,3 +1,3 @@
// Bartender
-002-2.gat,68,25,0|shop|Bartender#Casino|112,Beer:*175,Cake:*30,CherryCake:*100
+002-2.gat,68,25,0|shop|Bartender#Casino|112,Beer:*1,Cake:*1,CherryCake:*1
diff --git a/world/map/npc/002-3/merchant.txt b/world/map/npc/002-3/merchant.txt
index 21cab7c7..5285d7e5 100644
--- a/world/map/npc/002-3/merchant.txt
+++ b/world/map/npc/002-3/merchant.txt
@@ -1,3 +1,3 @@
//
-002-3.gat,60,47,0|shop|Ishyah|109,MinersHat:*800,MinerGloves:*3000,ShortBow:*8000,Arrow:*2,LeatherShield:*2000
+002-3.gat,60,47,0|shop|Ishyah|109,MinersHat:*1,MinerGloves:*1,ShortBow:*4,Arrow:*2,LeatherShield:*1
diff --git a/world/map/npc/006-2/shops.txt b/world/map/npc/006-2/shops.txt
index f84f2690..8f7331f8 100644
--- a/world/map/npc/006-2/shops.txt
+++ b/world/map/npc/006-2/shops.txt
@@ -1,5 +1,5 @@
// Exotic Trader
// Toy Sabre - 10mil, Cap - 20mil, High Priest Crown - 30mil, Monster Skull Helmet - 30mil
-006-2.gat,81,36,0|shop|Reathe|179,ToySabre:*10000000,Cap:*20000000,HighPriestCrown:*30000000,MonsterSkullHelmet:*30000000
+006-2.gat,81,36,0|shop|Reathe|179,ToySabre:*5,Cap:*5,HighPriestCrown:*5,MonsterSkullHelmet:*5
-006-2.gat,30,35,0|shop|Ardra|179,CactusDrink:*50,CactusPotion:*70,BottleOfWater:*200,RoastedMaggot:*110
+006-2.gat,30,35,0|shop|Ardra|179,CactusDrink:*1,CactusPotion:*1,BottleOfWater:*1,RoastedMaggot:*1
diff --git a/world/map/npc/009-2/peter.txt b/world/map/npc/009-2/peter.txt
index 4d248819..e5375149 100644
--- a/world/map/npc/009-2/peter.txt
+++ b/world/map/npc/009-2/peter.txt
@@ -1,5 +1,5 @@
// Nicholas' Apprentice and Armorsmith
-009-2.gat,183,57,0|shop|#PeterShop|127,Knife:*50,SharpKnife:*100,Dagger:*1000
+009-2.gat,183,57,0|shop|#PeterShop|127,Knife:*1,SharpKnife:*1,Dagger:*1
009-2.gat,183,57,0|script|Peter|157
{
diff --git a/world/map/npc/009-2/shops.txt b/world/map/npc/009-2/shops.txt
index e400c3ef..52508ce2 100644
--- a/world/map/npc/009-2/shops.txt
+++ b/world/map/npc/009-2/shops.txt
@@ -1,12 +1,5 @@
-//#################################################################################
-//# #
-//# This script file contains all shops and other NPCs with important functions. #
-//# #
-//#################################################################################
-
// Bartender
-// sells beer, cake and steak
-009-2.gat,65,49,0|shop|Barkeeper|112,Beer:*175,Cake:*30,Steak:*275
+009-2.gat,65,49,0|shop|Barkeeper|112,Beer:*1,Cake:*1,Steak:*1
// Receptionist
// Offers the player to rest at the inn for 100gp
@@ -19,13 +12,10 @@
}
// Archer Shop
-// sells bow, short bow, arrows and iron arrows
-009-2.gat,97,24,0|shop|Apprentice|120,SlingBullet:*1,Arrow:*2,IronArrow:*4,Bow:*1000,ShortBow:*3000
+009-2.gat,97,24,0|shop|Apprentice|120,SlingBullet:*1,Arrow:*2,IronArrow:*1,Bow:*1,ShortBow:*2
// Potion Shop
-// sells cactus drink, cactus potion, iron potion, concentration potion, and slow poison potion
-009-2.gat,123,22,0|shop|Potions#_M|400,CactusDrink:*50,CactusPotion:*70,IronPotion:*500,ConcentrationPotion:*500,SlowPoisonPotion:*500
+009-2.gat,123,22,0|shop|Potions#_M|400,CactusDrink:*1,CactusPotion:*1,IronPotion:*1,ConcentrationPotion:*1,SlowPoisonPotion:*1
// General Store
-// Sells various things, many not sold elsewhere
-009-2.gat,32,99,0|shop|General Store#hurnscald|112,Milk:*300,BottleOfWater:*200,CottonShirt:*300,CottonShorts:*1000,Boots:*2000,SerfHat:*500,CottonHeadband:*3000,CottonGloves:*2000
+009-2.gat,32,99,0|shop|General Store#hurnscald|112,Milk:*1,BottleOfWater:*1,CottonShirt:*1,CottonShorts:*1,Boots:*1,SerfHat:*1,CottonHeadband:*1,CottonGloves:*1
diff --git a/world/map/npc/009-2/trader.txt b/world/map/npc/009-2/trader.txt
index 572cad1b..c386b05a 100644
--- a/world/map/npc/009-2/trader.txt
+++ b/world/map/npc/009-2/trader.txt
@@ -3,7 +3,7 @@
// Updated by: TheKandiman
// Reviewed by: Wombat
-009-2.gat,39,93,0|script|Trader|115
+009-2.gat,29,98,0|script|Trader|115
{
set @Ironprice, 1000;
set @Sulphurprice, 1200;
diff --git a/world/map/npc/009-7/rouge.txt b/world/map/npc/009-7/rouge.txt
index 78491431..dd86679c 100644
--- a/world/map/npc/009-7/rouge.txt
+++ b/world/map/npc/009-7/rouge.txt
@@ -1,14 +1,13 @@
009-7.gat,32,45,0|script|Rouge#Duels|181
{
-if (getgmlevel() >= 40 && getequipid(equip_head) == 647) goto L_CallDebug;
-if (!debug && (strcharinfo(0) == "meko") && (getequipid(equip_head) < 1)) goto L_CallDebug; // allow meko to debug (has no dev cap)
+if (getgmlevel() >= 40 && (getequipid(equip_head) == 647 || getequipid(equip_head) == 725)) goto L_CallDebug;
goto L_Main;
L_CallDebug:
mes "You are wearing a dev cap: calling debug menu...";
- mes "For the documentation, @@https://wiki.themanaworld.org/index.php/User:Meko/FightClub/debug|click here@@##0";
+ mes "For the documentation, @@https://wiki.themanaworld.org/index.php/FightClub|click here@@##0";
callfunc "fightclub_Debug";
- goto L_Main;
+ goto L_End;
L_Main:
set @requests, 0;
diff --git a/world/map/npc/009-7/shops.txt b/world/map/npc/009-7/shops.txt
index aab0b36b..13dd0a4c 100644
--- a/world/map/npc/009-7/shops.txt
+++ b/world/map/npc/009-7/shops.txt
@@ -1,3 +1,3 @@
-009-7.gat,34,23,0|shop|Bartender#Duels|177,Beer:*175,IronPotion:*500,ConcentrationPotion:*500,SmallManaElixir:*2400,BottleOfWater:*200,Milk:*300
+009-7.gat,34,23,0|shop|Bartender#Duels|177,Beer:*1,IronPotion:*1,ConcentrationPotion:*1,SmallManaElixir:*9,BottleOfWater:*1,Milk:*1
-009-7.gat,27,26,0|shop|Garçon#Duels|180,RoastedMaggot:*110,PickledBeets:*5000,ChickenLeg:*250,Steak:*275,Beer:*180
+009-7.gat,27,26,0|shop|Garçon#Duels|180,RoastedMaggot:*1,PickledBeets:*30,ChickenLeg:*1,Steak:*1,Beer:*1
diff --git a/world/map/npc/010-2/dimonds.txt b/world/map/npc/010-2/dimonds.txt
index 364adf8c..c6766892 100644
--- a/world/map/npc/010-2/dimonds.txt
+++ b/world/map/npc/010-2/dimonds.txt
@@ -536,13 +536,13 @@ L_Close:
}
-010-2.gat,24,27,0|shop|Bartender|112,Beer:*175,IronPotion:*500,ConcentrationPotion:*500
+010-2.gat,24,27,0|shop|Bartender|112,Beer:*1,IronPotion:*1,ConcentrationPotion:*1
-010-2.gat,32,34,0|shop|Waitress|139,CherryCake:*100,RoastedMaggot:*110,OrangeCupcake:*600,ChickenLeg:*250,Steak:*275
+010-2.gat,32,34,0|shop|Waitress|139,CherryCake:*1,RoastedMaggot:*1,OrangeCupcake:*1,ChickenLeg:*1,Steak:*1
-010-2.gat,85,41,0|shop|Blacksmith|146,ForestBow:*20000,IronArrow:*4,LeatherShield:*2000
+010-2.gat,85,41,0|shop|Blacksmith|146,ForestBow:*1,IronArrow:*1,LeatherShield:*1
-010-2.gat,65,41,0|shop|General Store#dimond|137,CottonShorts:*1000,FancyHat:*1600,SilkHeadband:*5000,CottonSkirt:*1000,Boots:*8000,CottonBoots:*2000
+010-2.gat,65,41,0|shop|General Store#dimond|137,CottonShorts:*1,FancyHat:*1,SilkHeadband:*1,CottonSkirt:*1,Boots:*1,CottonBoots:*1
010-2.gat,75,68,0|script|Basil|107
{
@@ -551,4 +551,3 @@ L_Close:
callfunc "Inn";
end;
}
-
diff --git a/world/map/npc/010-2/loratay.txt b/world/map/npc/010-2/loratay.txt
index f10395a2..b8a00c28 100644
--- a/world/map/npc/010-2/loratay.txt
+++ b/world/map/npc/010-2/loratay.txt
@@ -1,3 +1,39 @@
+010-2.gat,83,85,0|script|Lora Tay Debug|151
+{
+ mes "[Lora Tay Debug]";
+ mes "What do you want to do?";
+ menu
+ "Show Quest State", L_ShowState,
+ "Set Quest State", L_SetState,
+ "Reset", L_Reset,
+ "Nothing.", L_Close;
+
+L_ShowState:
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
+ mes "Current State is " + @wg_state;
+ goto L_Close;
+
+L_SetState:
+ mes "What state do you want?";
+ input @wg_state;
+ callfunc "setWGState";
+ mes "Set to " + @wg_state;
+ goto L_Close;
+
+L_Reset:
+ set @wg_state, 0;
+ callfunc "setWGState";
+ mes "Reset!";
+ goto L_Close;
+
+L_Close:
+ close;
+
+OnInit:
+ if (!debug)
+ disablenpc "Lora Tay Debug";
+ end;
+}
010-2.gat,85,85,0|script|Lora Tay|151
{
set @ROBE_COCOONS_NR, 150; // must be multiple of ten
@@ -111,7 +147,7 @@ L_agostine_1:
L_Next13:
set @wg_state, 10;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_agostine_menu:
@@ -215,7 +251,7 @@ L_give_water:
goto L_no_water;
delitem "BottleOfWater", 1;
set @wg_state, 11;
- callsub S_Update;
+ callfunc "setWGState";
set @xpval, 50000;
@@ -302,7 +338,7 @@ L_Next2:
mes "Go see Agostine, ask him what he's planning and I will think about it.\"";
set @wg_state, 13;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_proposal_intro:
@@ -353,7 +389,7 @@ L_proposal_search_items:
L_Next5:
set @wg_state, 15;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_proposal_not_enough_items:
@@ -366,7 +402,7 @@ L_proposal_give_items:
goto L_proposal_not_enough_items;
delitem "SilkCocoon", @FINEDRESS_COCOONS;
set @wg_state, 16;
- callsub S_Update;
+ callfunc "setWGState";
mes "[Lora Tay the Seamstress]";
mes "\"Great, now I can spin the silk threading and fix this mess made of these fine materials.";
@@ -396,7 +432,7 @@ L_Next6:
mes "I am done with the threading but I will now need to sew these materials together into the design.\"";
next;
set @wg_state, 18;
- callsub S_Update;
+ callfunc "setWGState";
goto L_proposal_wait_dress_finished;
L_proposal_wait_dress_finished:
@@ -412,7 +448,7 @@ L_proposal_wait_dress_finished:
L_proposal_dress_finished:
set @wg_state, 19;
- callsub S_Update;
+ callfunc "setWGState";
mes "[Lora Tay the Seamstress]";
mes "\"Well it was difficult seaming with such fragile materials.";
mes "But I have done it. The design is finished except for one part of it.\"";
@@ -436,7 +472,7 @@ L_Next7:
L_Next8:
set @wg_state, 20;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_proposal_deliver_dress:
@@ -1141,10 +1177,6 @@ L_CleanSorcererRobe:
set @cotton_cloth_id, 0;
goto L_Close;
-S_Update:
- set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
- return;
-
L_Close:
set @wg_state, 0;
close;
diff --git a/world/map/npc/011-1/shops.txt b/world/map/npc/011-1/shops.txt
index 4aa94d9d..48126fe2 100644
--- a/world/map/npc/011-1/shops.txt
+++ b/world/map/npc/011-1/shops.txt
@@ -5,4 +5,4 @@
//#################################################################################
// Shop
-011-1.gat,80,33,0|shop|Fruit Store|400,GreenApple:*20,RedApple:*25,Orange:*40
+011-1.gat,80,33,0|shop|Fruit Store|400,GreenApple:*1,RedApple:*1,Orange:*1
diff --git a/world/map/npc/011-6/_warps.txt b/world/map/npc/011-6/_warps.txt
index f4a1c05f..8465b47d 100644
--- a/world/map/npc/011-6/_warps.txt
+++ b/world/map/npc/011-6/_warps.txt
@@ -5,12 +5,12 @@
011-6.gat,61,71|warp|To Small Bandit Cave|-1,-1,011-6.gat,270,124
011-6.gat,270,125|warp|To Bandit Cave|-1,-1,011-6.gat,61,72
011-6.gat,260,128|warp|To Bandit Cave|-1,-1,011-6.gat,51,76
-011-6.gat,145,118|warp|To Bandit Cave|-1,-1,011-6.gat,48,119
+011-6.gat,145,118|warp|To Bandit Cave|-1,-1,011-6.gat,47,119
011-6.gat,196,26|warp|To Small Bandit Cave|-1,-1,011-6.gat,261,46
011-6.gat,261,47|warp|To Second Bandit Cave|-1,-1,011-6.gat,196,27
011-6.gat,271,52|warp|To Bandit Cave|-1,-1,011-6.gat,98,31
011-6.gat,98,30|warp|To Small Bandit Cave|-1,-1,011-6.gat,271,51
-011-6.gat,47,120|warp|To Second Bandit Cave|-1,-1,011-6.gat,146,117
+011-6.gat,47,120|warp|To Second Bandit Cave|-1,-1,011-6.gat,145,117
011-6.gat,49,101|warp|To Woodland|-1,-1,011-1.gat,38,37
011-6.gat,24,206|warp|To Lake Cave|-1,-1,011-4.gat,16,58
011-6.gat,47,185|warp|To Lake Cave|-1,-1,011-4.gat,39,36
diff --git a/world/map/npc/012-1/shops.txt b/world/map/npc/012-1/shops.txt
index c7468111..fb29a68a 100644
--- a/world/map/npc/012-1/shops.txt
+++ b/world/map/npc/012-1/shops.txt
@@ -1,6 +1,6 @@
//
-012-1.gat,36,99,0|shop|#FlowerShop|127,RedRose:*80,PinkRose:*80,YellowRose:*80,WhiteRose:*80,OrangeRose:*80,DarkRedRose:*80,RedTulip:*80,PinkTulip:*80,YellowTulip:*80,WhiteTulip:*80,OrangeTulip:*80
+012-1.gat,36,99,0|shop|#FlowerShop|127,RedRose:*1,PinkRose:*1,YellowRose:*1,WhiteRose:*1,OrangeRose:*1,DarkRedRose:*1,RedTulip:*1,PinkTulip:*1,YellowTulip:*1,WhiteTulip:*1,OrangeTulip:*1
012-1.gat,36,99,0|script|Blossom|163
{
diff --git a/world/map/npc/020-2/furquest.txt b/world/map/npc/020-2/furquest.txt
index 9e45b87e..d20e00c7 100644
--- a/world/map/npc/020-2/furquest.txt
+++ b/world/map/npc/020-2/furquest.txt
@@ -2,7 +2,42 @@
// Script by Shaili and QOAL
//#################################################################################
-// Tulimshar Crafting Workshop - Agostine, The Legendary Tailor
+020-2.gat,24,26,0|script|Agostine Debug|137
+{
+ mes "[Agostine Debug]";
+ mes "What do you want to do?";
+ menu
+ "Show Quest State", L_ShowState,
+ "Set Quest State", L_SetState,
+ "Reset", L_Reset,
+ "Nothing.", L_Close;
+
+L_ShowState:
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
+ mes "Current State is " + @wg_state;
+ goto L_Close;
+
+L_SetState:
+ mes "What state do you want?";
+ input @wg_state;
+ callfunc "setWGState";
+ mes "Set to " + @wg_state;
+ goto L_Close;
+
+L_Reset:
+ set @wg_state, 0;
+ callfunc "setWGState";
+ mes "Reset!";
+ goto L_Close;
+
+L_Close:
+ close;
+
+OnInit:
+ if (!debug)
+ disablenpc "Agostine Debug";
+ end;
+}
020-2.gat,27,26,0|script|Agostine|137
{
set @CUTFUR_EXP, 10;
@@ -69,6 +104,7 @@ L_State_Accept:
mes "[Agostine, The Legendary Tailor]";
mes "\"Thanks so much.\"";
set @wg_state, 1;
+ callfunc "setWGState";
goto L_Close;
L_State_0_3:
@@ -134,6 +170,7 @@ L_State_0_9:
mes "[Agostine, The Legendary Tailor]";
mes "\"This is a little reward for your help. Take 500 GP, my friend!\"";
set @wg_state, 2;
+ callfunc "setWGState";
goto L_Close;
L_State_neg:
@@ -163,6 +200,7 @@ L_State_2:
mes "Only the best furs can be used for these gloves!";
mes "But, as you see, I am a tailor, not a hunter! So, why don't you bring me the best fluffy's fur you can find?\"";
set @wg_state, 3;
+ callfunc "setWGState";
next;
menu
"You are crazy! I won't kill any animal for this!", L_Close,
@@ -172,6 +210,7 @@ L_State_3:
mes "[Agostine, The Legendary Tailor]";
mes "\"Remember, I want the best of fur!\"";
set @wg_state, 4;
+ callfunc "setWGState";
goto L_Close;
L_State_4:
@@ -210,6 +249,7 @@ L_State_4_success:
mes "\"It's perfect! Perfect! Good job, my friend! I will prepare your gloves right now!\"";
next;
set @wg_state, 5;
+ callfunc "setWGState";
goto L_State_5;
L_State_5:
@@ -227,6 +267,7 @@ L_State_5_pay:
set Zeny, Zeny - 15000;
getitem "WinterGloves", 1;
set @wg_state, 6;
+ callfunc "setWGState";
mes "[Agostine, The Legendary Tailor]";
mes "\"Here they are. You will have the most fashionable hands in the world!\"";
goto L_Close;
@@ -254,6 +295,7 @@ L_State_10:
mes "and a pair of Boots, like those you can find in the mines.";
mes "They will make you lovely, my friend!\"";
set @wg_state, 7;
+ callfunc "setWGState";
goto L_Close;
L_State_11:
@@ -292,6 +334,7 @@ L_State_11_success:
mes "[Agostine, The Legendary Tailor]";
mes "\"This one is good enough, my friend. Good job.\"";
set @wg_state, 8;
+ callfunc "setWGState";
goto L_State_12;
L_State_12:
@@ -311,6 +354,7 @@ L_State_12_pay:
delitem "Boots", 1;
getitem "FurBoots", 1;
set @wg_state, 9;
+ callfunc "setWGState";
mes "[Agostine, The Legendary Tailor]";
mes "\"Enjoy your new boots, my friend!\"";
goto L_Close;
@@ -381,6 +425,7 @@ L_Next2:
L_State_14_Accept:
set @wg_state, 12;
+ callfunc "setWGState";
goto L_Close;
L_State_14_AlreadyAccepted:
@@ -421,6 +466,7 @@ L_Next4:
mes "\"Hurry back my friend!\"";
set @wg_state, 14;
+ callfunc "setWGState";
goto L_Close;
@@ -463,6 +509,7 @@ L_Next6:
L_Next7:
set @wg_state, 17;
+ callfunc "setWGState";
message strcharinfo(0), "Agostine gives you a folio containing his designs, that you put in a hidden compartment in your backpack.";
mes "Agostine gives you a folio containing his designs, that you put in a hidden compartment in your backpack.";
@@ -504,6 +551,7 @@ L_State_17_AskItems:
L_Next9:
set @wg_state, 21;
+ callfunc "setWGState";
goto L_Close;
L_State_17_NotEnoughItems:
@@ -517,6 +565,7 @@ L_State_17_GiveItems:
goto L_State_17_NotEnoughItems;
delitem "CottonCloth", @FINEDRESS_COTTON_CLOTHS;
set @wg_state, 22;
+ callfunc "setWGState";
mes "[Agostine, The Legendary Tailor]";
mes "\"Great now just a little cloth here........\"";
@@ -574,6 +623,7 @@ L_Next11:
set Zeny, Zeny - @FINEDRESS_GP;
getitem "FineDress", 1;
set @wg_state, 23;
+ callfunc "setWGState";
goto L_Close;
L_State_17_NoMoney:
@@ -595,7 +645,11 @@ L_State_18:
goto L_Close;
L_Close:
- set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
set @wg_state, 0;
close;
}
+function|script|setWGState
+{
+ set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
+ return;
+}
diff --git a/world/map/npc/020-2/shops.txt b/world/map/npc/020-2/shops.txt
index 2ce823b6..1c895902 100644
--- a/world/map/npc/020-2/shops.txt
+++ b/world/map/npc/020-2/shops.txt
@@ -14,9 +14,9 @@
close;
}
// Weapons shop
-020-2.gat,25,65,0|shop|Bracco|135,IronArrow:*4,ShortBow:*8000,Dagger:*1000,LeatherShield:*2000
+020-2.gat,25,65,0|shop|Bracco|135,IronArrow:*1,ShortBow:*4,Dagger:*1,LeatherShield:*1
// Potions shop
-020-2.gat,75,24,0|shop|Mede|103,CactusDrink:*50,CactusPotion:*70,IronPotion:*500,ConcentrationPotion:*500
+020-2.gat,75,24,0|shop|Mede|103,CactusDrink:*1,CactusPotion:*1,IronPotion:*1,ConcentrationPotion:*1
// INN
020-2.gat,111,23,0|script|Kane|120
diff --git a/world/map/npc/027-2/gy_inn_shops.txt b/world/map/npc/027-2/gy_inn_shops.txt
index f1ab846a..aed37d09 100644
--- a/world/map/npc/027-2/gy_inn_shops.txt
+++ b/world/map/npc/027-2/gy_inn_shops.txt
@@ -7,10 +7,10 @@
// banker: function
-027-2.gat,75,22,0|shop|Chef#graveyard|300,ZombieNachos:*100,LadyFingers:*70,JellAhh:*80,Snapple:*110
-027-2.gat,90,36,0|shop|Estrilda|301,BeetleJuice:*80,GutBuster:*100,BloodWine:*150
-027-2.gat,93,22,0|shop|Umfrey|302,BoneArrows:*50,ShockSweet:*1000
-027-2.gat,56,99,0|shop|Leofwin|304,CactusDrink:*50,CactusPotion:*70,BugLeg:*100,SmallMushroom:*125,IronPotion:*500,ConcentrationPotion:*500,HardSpike:*40,DarkCrystal:*1000,Root:*500,WispPowder:*700,SpectrePowder:*700,PoltergeistPowder:*700
+027-2.gat,75,22,0|shop|Chef#graveyard|300,ZombieNachos:*1,LadyFingers:*1,JellAhh:*1,Snapple:*1
+027-2.gat,90,36,0|shop|Estrilda|301,BeetleJuice:*1,GutBuster:*1,BloodWine:*1
+027-2.gat,93,22,0|shop|Umfrey|302,BoneArrows:*1,ShockSweet:*1
+027-2.gat,56,99,0|shop|Leofwin|304,CactusDrink:*1,CactusPotion:*1,BugLeg:*1,SmallMushroom:*1,IronPotion:*1,ConcentrationPotion:*1,HardSpike:*1,DarkCrystal:*1,Root:*1,WispPowder:*1,SpectrePowder:*1,PoltergeistPowder:*1
027-2.gat,106,22,0|script|Edwin|309
{
@@ -45,4 +45,3 @@
callfunc "Banker";
close;
}
-
diff --git a/world/map/npc/029-1/barrier.txt b/world/map/npc/029-1/barrier.txt
index 1acb0d17..4446ac6c 100644
--- a/world/map/npc/029-1/barrier.txt
+++ b/world/map/npc/029-1/barrier.txt
@@ -9,3 +9,11 @@ L_Block:
message strcharinfo(0), "Some force seems to be blocking you from entering.";
end;
}
+
+029-1.gat,69,61,0|script|#CandorAnnouncer|127
+{
+ end;
+OnCommandTalk:
+ npctalk $@candor_npctalk$;
+ end;
+}
diff --git a/world/map/npc/029-2/two_arms.txt b/world/map/npc/029-2/two_arms.txt
index 33b4b843..012527b6 100644
--- a/world/map/npc/029-2/two_arms.txt
+++ b/world/map/npc/029-2/two_arms.txt
@@ -1,4 +1,4 @@
// Forge Shops
-029-2.gat,99,25,0|shop|Rosen|311,SlingShot:*500,SlingBullet:*1,ShortBow:*8000,Arrow:*1,IronArrow:*4
-029-2.gat,112,24,0|shop|Toichi|377,Knife:*50,SharpKnife:*100,Dagger:*1000,LeatherShirt:*2000,LeatherShield:*2000
+029-2.gat,99,25,0|shop|Rosen|311,SlingShot:*1,SlingBullet:*1,ShortBow:*4,Arrow:*2,IronArrow:*1
+029-2.gat,112,24,0|shop|Toichi|377,Knife:*1,SharpKnife:*1,Dagger:*1,LeatherShirt:*1,LeatherShield:*1
diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt
index cb236d52..78feb900 100644
--- a/world/map/npc/029-3/parua.txt
+++ b/world/map/npc/029-3/parua.txt
@@ -1,6 +1,8 @@
// Parua's fight
029-3.gat,50,25,0|script|Parua|183
{
+ set $@candor_npctalk$, "The dungeon is now ready for its next victims.";
+ donpcevent "#CandorAnnouncer::OnCommandTalk";
set @FIGHT_CAVE_COST, 20000;
set @FIGHT_CAVE_COST$, "20,000";
set @FIGHT_CAVE_ANNOUNCE_COST, 3000;
@@ -14,6 +16,7 @@
mes "\"Do you dare challenge the power that sleeps here?\"";
menu "No, I'll let it sleep.", L_Exit,
"Ha! What's the worst it could do?", L_Next,
+ "What is this place anyway?", L_Explain,
"Actually, I want to leave, but I'm stuck!", L_Stuck;
L_Next:
@@ -133,6 +136,33 @@ L_NotEnoughPlayers:
mes "He takes a moment to calculate. \"You'll probably need at least...five people, including yourself.\"";
goto L_Exit;
+L_Explain:
+ mes "[Parua]";
+ mes "\"Long ago many human beings and other creatures have been slaughtered in a battle in this now cursed cave. Their souls still lie here.\"";
+ next;
+ mes "\"My try to use a spell to cure this place from the curse backfired and turned me into this.\"";
+ next;
+ mes "\"To change me back expensive ingredients for a curing potion are required.\"";
+ next;
+ mes "\"Pay me and I will use my dark astral magic to summon the undead. If you survive you will receive 100 Boss Points.\"";
+ menu
+ "I need to think about this.", L_Exit,
+ "I'm interested.", L_Next,
+ "What are Boss Points?", L_Explain_Boss_Points;
+
+L_Explain_Boss_Points:
+ mes "[Parua]";
+ mes "\"Boss points are another type of experience.\"";
+ next;
+ mes "\"Fighting experience makes you level up, magic experience makes your spells more effective and allows you to learn new spells.\"";
+ next;
+ mes "\"Boss Points show your skills and nerves in important battles and heroic actions.\"";
+ next;
+ mes "\"Be aware, they can be consumed as well. For instance by negative actions, such as selfishness or simply stupidity.\"";
+ menu
+ "Thanks, I will think about your offer now.", L_Exit,
+ "I want to challenge the powers in this cave.", L_Next;
+
L_Stuck:
mes "[Parua]";
mes "\"I see. I can teleport you to another nice cave.\"";
@@ -189,7 +219,8 @@ L_NextRound:
areatimer "029-3.gat", 20, 20, 70, 60, 10, "Parua::OnNewRound";
- mapannounce "029-1.gat", "Parua: The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0;
+ set $@candor_npctalk$, "The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive.";
+ donpcevent "#CandorAnnouncer::OnCommandTalk";
mapannounce "029-3.gat", "Parua: The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0;
set $@MOB_1_SUMMON, 0;
@@ -322,7 +353,8 @@ OnInit:
L_CleanUp:
npctalk "Game Over";
- mapannounce "029-1.gat", "Parua: The dungeon is now ready for its next victims.", 0;
+ set $@candor_npctalk$, "The dungeon is now ready for its next victims.";
+ donpcevent "#CandorAnnouncer::OnCommandTalk";
areatimer "029-3.gat", 20, 20, 70, 60, 10, "Parua::OnReward";
set $@FIGHT_CAVE_STATUS, 0;
set $@FIGHT_CAVE_PAID, 0;
diff --git a/world/map/npc/030-2/_import.txt b/world/map/npc/030-2/_import.txt
index c2c641aa..c3867abf 100644
--- a/world/map/npc/030-2/_import.txt
+++ b/world/map/npc/030-2/_import.txt
@@ -9,11 +9,11 @@ npc: npc/030-2/bedding_helper.txt
npc: npc/030-2/chief_helper.txt
npc: npc/030-2/eljas.txt
npc: npc/030-2/empty_boxes_helper.txt
-npc: npc/030-2/gaurds.txt
npc: npc/030-2/glitter_helper.txt
+npc: npc/030-2/guards.txt
npc: npc/030-2/mapflags.txt
npc: npc/030-2/present_helper.txt
-npc: npc/030-2/roasted_acrons_helper.txt
+npc: npc/030-2/roasted_acorns_helper.txt
npc: npc/030-2/shipping_helper.txt
npc: npc/030-2/storage_helper.txt
npc: npc/030-2/wrapping_paper_helper.txt
diff --git a/world/map/npc/030-2/gaurds.txt b/world/map/npc/030-2/guards.txt
index 3fdc1ffa..3fdc1ffa 100644
--- a/world/map/npc/030-2/gaurds.txt
+++ b/world/map/npc/030-2/guards.txt
diff --git a/world/map/npc/030-2/present_helper.txt b/world/map/npc/030-2/present_helper.txt
index 248c296a..0a027ca0 100644
--- a/world/map/npc/030-2/present_helper.txt
+++ b/world/map/npc/030-2/present_helper.txt
@@ -1,8 +1,8 @@
// Annual Xmas
// Author: wushin
-// Present Reclaimation
+// Present Reclamation
-030-2.gat,47,82,0|script|Jonanthan|328
+030-2.gat,47,82,0|script|Jonathan|328
{
callfunc "XmasStates";
@@ -84,4 +84,3 @@ L_Close:
set @present_name$, "";
close;
}
-
diff --git a/world/map/npc/030-2/roasted_acrons_helper.txt b/world/map/npc/030-2/roasted_acorns_helper.txt
index f942c118..f942c118 100644
--- a/world/map/npc/030-2/roasted_acrons_helper.txt
+++ b/world/map/npc/030-2/roasted_acorns_helper.txt
diff --git a/world/map/npc/030-3/orum_homunculus.txt b/world/map/npc/030-3/orum_homunculus.txt
index 16cb1433..4da1c618 100644
--- a/world/map/npc/030-3/orum_homunculus.txt
+++ b/world/map/npc/030-3/orum_homunculus.txt
@@ -312,7 +312,7 @@ L_FakeList:
mes "\"So far my basement portal has remained undetected:";
mes "Head to the west in this cave to find it.\"";
mes "\"Once there smash your fist into the small crack and you will be teleported into the basement of the inn.\"";
- mes "\"Let me fake the mark Chief Warrick uses to identify his helpers. Don't get to close to the gaurds they might spot you.\"";
+ mes "\"Let me fake the mark Chief Warrick uses to identify his helpers. Don't get to close to the guards they might spot you.\"";
mes "\"Now, prove yourself, gather the required items and go back to the Inn to sabotage Santa's Helpers.\"";
callfunc "XmasSetSide";
set XMASTIME, XMASTIME | $@xmas_helper_bit;
diff --git a/world/map/npc/035-2/shops.txt b/world/map/npc/035-2/shops.txt
index 6ab193a5..7d7d656a 100644
--- a/world/map/npc/035-2/shops.txt
+++ b/world/map/npc/035-2/shops.txt
@@ -1,6 +1,6 @@
//
-035-2.gat,23,38,0|shop|Cooky|213,Beer:*175,Orange:*40,CasinoCoins:*10
+035-2.gat,23,38,0|shop|Cooky|213,Beer:*1,Orange:*1,CasinoCoins:*1
035-2.gat,23,35,0|script|Bunkmaster Phict|212
{
diff --git a/world/map/npc/036-2/shops.txt b/world/map/npc/036-2/shops.txt
index cbb7c84e..33dd286e 100644
--- a/world/map/npc/036-2/shops.txt
+++ b/world/map/npc/036-2/shops.txt
@@ -1,7 +1,7 @@
//
-036-2.gat,23,38,0|shop|Chef Armand|211,Beer:*175,Steak:*550,CasinoCoins:*10
-036-2.gat,35,22,0|shop|Gunney|138,Arrow:*4,IronArrow:*8
+036-2.gat,23,38,0|shop|Chef Armand|211,Beer:*1,Steak:*2,CasinoCoins:*1
+036-2.gat,35,22,0|shop|Gunney|138,Arrow:*4,IronArrow:*2
036-2.gat,23,35,0|script|Bunkmaster Daban|212
{
diff --git a/world/map/npc/annuals/xmas/barriers.txt b/world/map/npc/annuals/xmas/barriers.txt
index 80097356..4c7837af 100644
--- a/world/map/npc/annuals/xmas/barriers.txt
+++ b/world/map/npc/annuals/xmas/barriers.txt
@@ -17,7 +17,7 @@ L_Hint:
message strcharinfo(0), "I said get out! We've got no time for your kind here.";
mes "[Orum's Homunculus]";
mes "\"What are you doing? Come, see me in the caves below!\"";
- mes "\"I said go north till you reach the snoman. Then head into the cave to the east.\"";
+ mes "\"I said go north till you reach the snowman. Then head into the cave to the east.\"";
warp "020-1.gat",33,94;
close;
diff --git a/world/map/npc/annuals/xmas/config.txt b/world/map/npc/annuals/xmas/config.txt
index 8f7c9139..33ddcf97 100644
--- a/world/map/npc/annuals/xmas/config.txt
+++ b/world/map/npc/annuals/xmas/config.txt
@@ -144,7 +144,7 @@ L_Main:
setarray $@xmas_uncommon_reward$, "NutcrackerHat", "AmberChristmasSweater", "RedStockings", "PinkChristmasSweater", "BlueChristmasSweater";
// Quest Side 0 Settings
setarray $@xmas_zero_reagents$, "ShockSweet", "EmptyBottle", "EmeraldPowder";
- setarray $@xmas_zero_reagents_names$, "ShockSweet", "Empty Bottles", "Emerald Powders";
+ setarray $@xmas_zero_reagents_names$, "Shock Sweet", "Empty Bottles", "Emerald Powders";
setarray $@xmas_zero_reagents_amounts, 1, 4, 10;
if(getarraysize($@xmas_zero_reagents_amounts) != getarraysize($@xmas_zero_reagents$))
goto L_XmasError;
diff --git a/world/map/npc/annuals/xmas/core.txt b/world/map/npc/annuals/xmas/core.txt
index 30562e13..d064efca 100644
--- a/world/map/npc/annuals/xmas/core.txt
+++ b/world/map/npc/annuals/xmas/core.txt
@@ -209,9 +209,9 @@ L_FinalGift:
set @xmas_reward_item2$, $@xmas_uncommon_reward$[@xmas_uncommon_slot2];
if(checkweight("Iten", 1) == 0)
goto L_FullInv;
- if(@xmas_reward >= 80)
+ if(@xmas_reward >= $@xmas_reward_tally_rare)
getitem @xmas_reward_item$, 1;
- if(@xmas_reward >= 40)
+ if(@xmas_reward >= $@xmas_reward_tally_common)
getitem @xmas_reward_item1$, 1;
getitem @xmas_reward_item2$, 1;
set @xmas_uncommon_slot1, 0;