summaryrefslogtreecommitdiff
path: root/world
diff options
context:
space:
mode:
Diffstat (limited to 'world')
-rw-r--r--world/map/conf/atcommand_athena.conf5
-rw-r--r--world/map/conf/battle_athena.conf6
-rw-r--r--world/map/conf/magic-level1.sex10
-rw-r--r--world/map/conf/magic-level2.sex21
-rw-r--r--world/map/conf/magic-level3.sex1
-rw-r--r--world/map/conf/magic-procedures.sex31
-rw-r--r--world/map/data/020-1.wlkbin18948 -> 18948 bytes
-rw-r--r--world/map/data/029-3.wlkbin10004 -> 10004 bytes
-rw-r--r--world/map/db/const.txt58
-rw-r--r--world/map/db/item_db_use.txt144
-rw-r--r--world/map/npc/001-1/adrian.txt18
-rw-r--r--world/map/npc/001-1/ched.txt16
-rw-r--r--world/map/npc/001-1/tombstones.txt20
-rw-r--r--world/map/npc/001-2/government_building.txt73
-rw-r--r--world/map/npc/001-2/manakins.txt22
-rw-r--r--world/map/npc/001-2/wizards.txt50
-rw-r--r--world/map/npc/002-2/bakery.txt43
-rw-r--r--world/map/npc/002-2/barber.txt2
-rw-r--r--world/map/npc/002-2/casino.txt64
-rw-r--r--world/map/npc/002-2/eurni.txt23
-rw-r--r--world/map/npc/002-2/imec.txt58
-rw-r--r--world/map/npc/002-2/kps.txt31
-rw-r--r--world/map/npc/002-2/kylian.txt103
-rw-r--r--world/map/npc/002-5/sema.txt2
-rw-r--r--world/map/npc/007-1/witch.txt2
-rw-r--r--world/map/npc/009-1/jack.txt1
-rw-r--r--world/map/npc/009-1/old_woman.txt12
-rw-r--r--world/map/npc/009-2/entertainer.txt10
-rw-r--r--world/map/npc/009-7/battlemaster.txt2
-rw-r--r--world/map/npc/009-7/core.txt11
-rw-r--r--world/map/npc/009-7/debug.txt9
-rw-r--r--world/map/npc/009-7/mapflags.txt1
-rw-r--r--world/map/npc/011-1/oscar.txt2
-rw-r--r--world/map/npc/012-3/mana-seed.txt2
-rw-r--r--world/map/npc/015-3/katze.txt2
-rw-r--r--world/map/npc/017-4/waric.txt10
-rw-r--r--world/map/npc/018-2/caul.txt2
-rw-r--r--world/map/npc/025-3/barriers.txt23
-rw-r--r--world/map/npc/025-4/battlecaves.txt24
-rw-r--r--world/map/npc/027-3/casket_traps.txt16
-rw-r--r--world/map/npc/027-4/casket_traps.txt16
-rw-r--r--world/map/npc/027-5/casket_traps.txt16
-rw-r--r--world/map/npc/027-6/casket_traps.txt14
-rw-r--r--world/map/npc/029-1/hasan.txt2
-rw-r--r--world/map/npc/029-3/parua.txt2
-rw-r--r--world/map/npc/030-4/mana_battery.txt2
-rw-r--r--world/map/npc/033-1/kimarr.txt2
-rw-r--r--world/map/npc/034-1/yetiSpawn.txt2
-rw-r--r--world/map/npc/048-2/slimes.txt14
-rw-r--r--world/map/npc/051-1/desert.txt2
-rw-r--r--world/map/npc/051-1/forest.txt4
-rw-r--r--world/map/npc/051-3/ambush.txt22
-rw-r--r--world/map/npc/051-3/reinforcements.txt4
-rw-r--r--world/map/npc/052-1/channelling.txt12
-rw-r--r--world/map/npc/052-2/chest.txt2
-rw-r--r--world/map/npc/052-2/lobby.txt4
-rw-r--r--world/map/npc/052-2/partyroom.txt6
-rw-r--r--world/map/npc/052-2/storage.txt4
-rw-r--r--world/map/npc/055-1/pumpkins.txt2
-rw-r--r--world/map/npc/056-2/mirak.txt2
-rw-r--r--world/map/npc/annuals/xmas/barriers.txt4
-rw-r--r--world/map/npc/functions/global_event_handler.txt1
-rw-r--r--world/map/npc/items/scissors.txt2
-rw-r--r--world/map/npc/items/shock_sweet.txt2
64 files changed, 550 insertions, 523 deletions
diff --git a/world/map/conf/atcommand_athena.conf b/world/map/conf/atcommand_athena.conf
index 5f8f3a50..fc6b71fe 100644
--- a/world/map/conf/atcommand_athena.conf
+++ b/world/map/conf/atcommand_athena.conf
@@ -4,6 +4,7 @@
help: 0
servertime: 0
email: 0
+pvp: 0
//gm: 100
// 40: developers
@@ -42,6 +43,7 @@ spawn: 50
summon: 50
// 60: game masters
+charpvp: 60
charstatsall: 60
pvpoff: 60
pvpon: 60
@@ -50,8 +52,6 @@ killmonster: 60
killmonster2: 60
ipcheck: 60
storeall: 60
-killable: 60
-charkillable: 60
alive: 60
blvl: 60
jlvl: 60
@@ -67,7 +67,6 @@ charskreset: 60
charwipe: 60
charsave: 60
kill: 60
-killer: 60
recall: 60
revive: 60
charwarp: 60
diff --git a/world/map/conf/battle_athena.conf b/world/map/conf/battle_athena.conf
index 6e80b1e7..86076009 100644
--- a/world/map/conf/battle_athena.conf
+++ b/world/map/conf/battle_athena.conf
@@ -1,8 +1,5 @@
// eAthena Battle Configuration File
-// Do you want to debug warp points? If set to yes, warp points will appear as flags.(Note 1)
-warp_point_debug: no
-
// When calculating critical, should we take in to account the enimies luck? (Note 1)
enemy_critical: yes
@@ -122,6 +119,9 @@ basic_skill_check: no
// If you attack a monster, it will attack you back regardless of this setting. (I think)
player_invincible_time: 5000
+// PvP delay for spammers
+player_pvp_time: 5000
+
// Will there be a minimum skill dmg even if there is a miss?
skill_min_damage: no
diff --git a/world/map/conf/magic-level1.sex b/world/map/conf/magic-level1.sex
index af34d27a..671ec309 100644
--- a/world/map/conf/magic-level1.sex
+++ b/world/map/conf/magic-level1.sex
@@ -7,7 +7,6 @@
(GUARD
(CASTTIME 500))
(EFFECT
- (CALL fightclub_check 0 0)
(SCRIPT "{callfunc \"CheckWand\";}")
(IF (==
(script_int caster "@Wand")
@@ -203,7 +202,6 @@
(GUARD
(COMPONENTS "Lifestone")))
(EFFECT
- (CALL fightclub_check 1 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(IF (failed
@@ -264,7 +262,6 @@
2))
(COMPONENTS "SulphurPowder"))))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(SET damage
@@ -301,7 +298,6 @@
(=>
(COMPONENTS "SharpKnife")
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower WAR)
(CALL default_effect)
(CALL install_melee_spell
@@ -317,7 +313,6 @@
(=>
(COMPONENTS "Knife")
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower WAR)
(CALL default_effect)
(CALL install_melee_spell
@@ -370,7 +365,6 @@
level))
(COMPONENTS "MauveHerb" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 1 6)
@@ -400,7 +394,6 @@
level))
(COMPONENTS "AlizarinHerb" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 1 7)
@@ -430,7 +423,6 @@
level))
(COMPONENTS "GambogeHerb" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 1 8)
@@ -460,7 +452,6 @@
level))
(COMPONENTS "CobaltHerb" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 1 9)
@@ -490,7 +481,6 @@
level))
(COMPONENTS "MaggotSlime" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL gain_xp 1 10)
(CALL summon_spell 1002
diff --git a/world/map/conf/magic-level2.sex b/world/map/conf/magic-level2.sex
index 70a37163..993f2a89 100644
--- a/world/map/conf/magic-level2.sex
+++ b/world/map/conf/magic-level2.sex
@@ -221,15 +221,6 @@
(skill caster school)
level))
(REQUIRE
- (== (if_then_else (failed (pc target))
- 1
- (not
- (is_in (location (pc target))
- (@+
- (@ "009-7" (script_int caster "$@fightclub_x1") (script_int caster "$@fightclub_y1"))
- (+ (- (script_int caster "$@fightclub_x2") (script_int caster "$@fightclub_x1")) 1)
- (+ (- (script_int caster "$@fightclub_y2") (script_int caster "$@fightclub_y1")) 1))))) 1))
- (REQUIRE
(if_then_else
(failed
(pc target))
@@ -363,7 +354,6 @@
3))
(COMPONENTS "IronPowder"))))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(SET damage spellpower)
(SET damage_bonus
@@ -566,7 +556,6 @@
3))
(COMPONENTS "Beer"))))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower WAR)
(SET str
(str caster))
@@ -601,7 +590,6 @@
40))
(COMPONENTS "DarkCrystal" "SnakeEgg"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 3 31)
@@ -638,7 +626,6 @@
(COMPONENTS
(2 "Root")))))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(SET damage
@@ -693,7 +680,6 @@
level))
(COMPONENTS "SmallMushroom" "DarkCrystal"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 3 36)
@@ -736,7 +722,6 @@
(+ 2
(/ spellpower 30)))))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(IF (!= caster target)
@@ -785,7 +770,6 @@
(+ 2
(/ spellpower 30)))))
(EFFECT
- (CALL fightclub_check 0 1)
(CALL adjust_spellpower school)
(sfx target 11 0)
(IF (!= caster target)
@@ -1077,7 +1061,6 @@
(+ 2
(/ spellpower 30)))))
(EFFECT
- (CALL fightclub_check 0 1)
(CALL adjust_spellpower school)
(sfx target SFX_BARRIER 0)
(IF (!= caster target)
@@ -1114,7 +1097,6 @@
level))
(COMPONENTS "HardSpike" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 1 26)
@@ -1144,7 +1126,6 @@
level))
(COMPONENTS "WhiteFur" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 1 27)
@@ -1176,7 +1157,6 @@
level))
(COMPONENTS "MoubooFigurine" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 2 37)
@@ -1206,7 +1186,6 @@
level))
(COMPONENTS "PinkAntenna" "Root"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(CALL default_effect)
(CALL gain_xp 2 38)
diff --git a/world/map/conf/magic-level3.sex b/world/map/conf/magic-level3.sex
index d53f1a19..2550da3e 100644
--- a/world/map/conf/magic-level3.sex
+++ b/world/map/conf/magic-level3.sex
@@ -53,7 +53,6 @@
level))
(COMPONENTS "PileOfAsh"))
(EFFECT
- (CALL fightclub_check 0 0)
(CALL adjust_spellpower school)
(SET damage
(min
diff --git a/world/map/conf/magic-procedures.sex b/world/map/conf/magic-procedures.sex
index 6157765d..ea62f50f 100644
--- a/world/map/conf/magic-procedures.sex
+++ b/world/map/conf/magic-procedures.sex
@@ -280,37 +280,6 @@
(PROCEDURE install_melee_spell (charges base_delay attack_animation)
(CALL install_attack_spell charges base_delay 1 attack_animation))
-(PROCEDURE fightclub_check (onSelf onTarget)
- (IF (&&
- (is_in (location caster)
- (@+
- (@ "009-7" (script_int caster "$@fightclub_x1") (script_int caster "$@fightclub_y1"))
- (+ (- (script_int caster "$@fightclub_x2") (script_int caster "$@fightclub_x1")) 1)
- (+ (- (script_int caster "$@fightclub_y2") (script_int caster "$@fightclub_y1")) 1)))
- (||
- (== (script_int caster "$@Duel_NoMagic") 1)
- (!= (script_int caster "@Duel_Fighter") 1)))
- (ABORT))
- (IF (== onSelf 1)
- (IF (&&
- (== (substr (location caster) 2 5) "009-7")
- (not
- (is_in (location caster)
- (@+
- (@ "009-7" (script_int caster "$@fightclub_x1") (script_int caster "$@fightclub_y1"))
- (+ (- (script_int caster "$@fightclub_x2") (script_int caster "$@fightclub_x1")) 1)
- (+ (- (script_int caster "$@fightclub_y2") (script_int caster "$@fightclub_y1")) 1)))))
- (ABORT)))
- (IF (== onTarget 1)
- (IF (&&
- (!= (pc target) caster)
- (is_in (location (pc target))
- (@+
- (@ "009-7" (script_int caster "$@fightclub_x1") (script_int caster "$@fightclub_y1"))
- (+ (- (script_int caster "$@fightclub_x2") (script_int caster "$@fightclub_x1")) 1)
- (+ (- (script_int caster "$@fightclub_y2") (script_int caster "$@fightclub_y1")) 1))))
- (ABORT))))
-
(PROCEDURE summon_spell (mob_id count delay lifetime control_level school)
(CALL default_effect)
(sfx location SFX_SUMMON_START 0)
diff --git a/world/map/data/020-1.wlk b/world/map/data/020-1.wlk
index 0ba1ddc7..b3b92058 100644
--- a/world/map/data/020-1.wlk
+++ b/world/map/data/020-1.wlk
Binary files differ
diff --git a/world/map/data/029-3.wlk b/world/map/data/029-3.wlk
index 235b703d..c9c173d8 100644
--- a/world/map/data/029-3.wlk
+++ b/world/map/data/029-3.wlk
Binary files differ
diff --git a/world/map/db/const.txt b/world/map/db/const.txt
index 6ecbe0ad..c00773e2 100644
--- a/world/map/db/const.txt
+++ b/world/map/db/const.txt
@@ -261,7 +261,6 @@ sc_raiseattackspeed0 37
sc_raiseattackstrength 185
// Emotions
-// Note: client-data/emotes.xml uses the wrong numbers.
EMOTE_DISGUST 1
EMOTE_SURPRISE 2
EMOTE_HAPPY 3
@@ -276,34 +275,35 @@ EMOTE_UPSET 11
EMOTE_PERTURBED 12
EMOTE_SPEECH 13
EMOTE_BLAH 14
-EMOTE_SWEAR 15
-EMOTE_MEOW 16
-EMOTE_LAUGH 17
-EMOTE_CHEERFUL 18
-EMOTE_LOVE 19
-EMOTE_MONEY 20
-EMOTE_SLEEP 21
-EMOTE_REST 22
-EMOTE_BOTHERED 23
-EMOTE_AFRAID 24
-EMOTE_DEAD 25
-EMOTE_SUSPICIOUS 26
-EMOTE_MELANCHOLY 27
-EMOTE_FACEPALM 28
-EMOTE_ANGRY 29
-EMOTE_HEADACHE 30
-EMOTE_BORED 31
-EMOTE_HEART 32
-EMOTE_EMPTY 33
-EMOTE_HALLOWEEN 34
-EMOTE_VICIOUS 35
-EMOTE_JOYFUL 36
-EMOTE_CLEVER 37
-EMOTE_SHY 38
-EMOTE_ALIEN 39
-EMOTE_CURIOUS 40
-EMOTE_PAIN 41
-EMOTE_TEARS 42
+// ManaPlus Emotions
+EMOTE_MEOW 101
+EMOTE_LAUGH 102
+EMOTE_CHEERFUL 103
+EMOTE_LOVE 104
+EMOTE_MONEY 105
+EMOTE_SLEEP 106
+EMOTE_REST 107
+EMOTE_BOTHERED 108
+EMOTE_AFRAID 109
+EMOTE_DEAD 110
+EMOTE_SUSPICIOUS 111
+EMOTE_MELANCHOLY 112
+EMOTE_FACEPALM 113
+EMOTE_ANGRY 114
+EMOTE_HEADACHE 115
+EMOTE_BORED 116
+EMOTE_SWEAR 117
+EMOTE_HEART 118
+EMOTE_EMPTY 119
+EMOTE_HALLOWEEN 120
+EMOTE_VICIOUS 121
+EMOTE_JOYFUL 122
+EMOTE_CLEVER 123
+EMOTE_SHY 124
+EMOTE_ALIEN 125
+EMOTE_TROLL 126
+EMOTE_PAIN 127
+EMOTE_TEARS 128
sfx_skillup 1
sfx_magic_generic 2
diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt
index b2b13008..c0a736b4 100644
--- a/world/map/db/item_db_use.txt
+++ b/world/map/db/item_db_use.txt
@@ -1,59 +1,59 @@
// 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}
0, DEFAULT, Default, 0, 20, 10, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {}, {}
-501, CactusDrink, Cactus Drink, 0, 50, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 15, 0;}, {}
-502, CactusPotion, Cactus Potion, 0, 70, 35, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 25, 0;}, {}
-506, CandyCane, Candy Cane, 0, 20, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 5, 0;}, {}
-508, XmasCake, Xmas Cake, 0, 70, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 0;}, {}
-509, ChocolateBar, Chocolate Bar, 0, 60, 20, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 20, 0;}, {}
-510, Candy, Candy, 0, 20, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 5, 0;}, {}
-512, GingerBreadMan, Ginger Bread Man, 0, 50, 25, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 25, 0;}, {}
-513, Cake, Cake, 0, 30, 15, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 15, 0;}, {}
-514, XmasCandyCane, Xmas Candy Cane, 0, 30, 15, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 0;}, {}
-519, CherryCake, Cherry Cake, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 35, 0;}, {}
-520, EasterEgg, Easter Egg, 0, 200, 100, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {}
-527, Milk, Milk, 0, 300, 150, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 150, 0;}, {}
-533, RoastedMaggot, Roasted Maggot, 0, 110, 55, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 150, 0;}, {}
-534, OrangeCupcake, Orange Cupcake, 0, 90, 45, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {}
-535, RedApple, Red Apple, 0, 25, 6, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
-539, Beer, Beer, 0, 175, 87, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 200, 5;}, {}
-541, BottleOfWater, Bottle of Water, 0, 200, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 250, 0;getitem 540, 1;}, {}
-562, ChickenLeg, Chicken Leg, 0, 250, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 500, 0;}, {}
-565, PinkPetal, Pink Petal, 0, 100, 50, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
-566, SmallMushroom, Small Mushroom, 0, 125, 50, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
+501, CactusDrink, Cactus Drink, 0, 50, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 15, 0, 1;}, {}
+502, CactusPotion, Cactus Potion, 0, 70, 35, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 25, 0, 1;}, {}
+506, CandyCane, Candy Cane, 0, 20, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 5, 0, 1;}, {}
+508, XmasCake, Xmas Cake, 0, 70, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
+509, ChocolateBar, Chocolate Bar, 0, 60, 20, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 20, 0, 1;}, {}
+510, Candy, Candy, 0, 20, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 5, 0, 1;}, {}
+512, GingerBreadMan, Ginger Bread Man, 0, 50, 25, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 25, 0, 1;}, {}
+513, Cake, Cake, 0, 30, 15, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 15, 0, 1;}, {}
+514, XmasCandyCane, Xmas Candy Cane, 0, 30, 15, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
+519, CherryCake, Cherry Cake, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 35, 0, 1;}, {}
+520, EasterEgg, Easter Egg, 0, 200, 100, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
+527, Milk, Milk, 0, 300, 150, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 150, 0, 1;}, {}
+533, RoastedMaggot, Roasted Maggot, 0, 110, 55, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 150, 0, 1;}, {}
+534, OrangeCupcake, Orange Cupcake, 0, 90, 45, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
+535, RedApple, Red Apple, 0, 25, 6, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
+539, Beer, Beer, 0, 175, 87, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 200, 5, 1;}, {}
+541, BottleOfWater, Bottle of Water, 0, 200, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 250, 0, 1;getitem 540, 1;}, {}
+562, ChickenLeg, Chicken Leg, 0, 250, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 500, 0, 1;}, {}
+565, PinkPetal, Pink Petal, 0, 100, 50, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
+566, SmallMushroom, Small Mushroom, 0, 125, 50, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
567, IronPotion, Iron Potion, 0, 500, 250, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {sc_start sc_raiseattackstrength, 60, 60;}, {}
568, ConcentrationPotion, Concentration Potion, 0, 500, 250, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {sc_start sc_raiseattackspeed0, 60, 30;}, {}
-657, Orange, Orange, 0, 40, 10, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 60, 0;}, {}
-676, Steak, Steak, 0, 275, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 250, 0;}, {}
-684, TinyHealingPotion, Tiny Healing Potion, 0, 25, 12, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {}
-685, SmallHealingPotion, Small Healing Potion, 0, 50, 25, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 200, 0;}, {}
-686, MediumHealingPotion, Medium Healing Potion, 0, 100, 50, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 400, 0;}, {}
-687, LargeHealingPotion, Large Healing Potion, 0, 200, 100, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 800, 0;}, {}
-705, ManaPotion, Mana Potion, 0, 2000, 300, 50, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 10;callfunc "MagicGainBasic";}, {}
-714, SnakeEgg, Snake Egg, 0, 50, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 30, 0;}, {}
-715, MountainSnakeEgg, Mountain Snake Egg, 0, 80, 40, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 40, 0;}, {}
-716, GrassSnakeEgg, Grass Snake Egg, 0, 100, 50, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
-717, CaveSnakeEgg, Cave Snake Egg, 0, 60, 30, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 20, 0;}, {}
-719, GreenApple, Green Apple, 0, 20, 5, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 45, 0;}, {}
+657, Orange, Orange, 0, 40, 10, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 60, 0, 1;}, {}
+676, Steak, Steak, 0, 275, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 250, 0, 1;}, {}
+684, TinyHealingPotion, Tiny Healing Potion, 0, 25, 12, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
+685, SmallHealingPotion, Small Healing Potion, 0, 50, 25, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 200, 0, 1;}, {}
+686, MediumHealingPotion, Medium Healing Potion, 0, 100, 50, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 400, 0, 1;}, {}
+687, LargeHealingPotion, Large Healing Potion, 0, 200, 100, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
+705, ManaPotion, Mana Potion, 0, 2000, 300, 50, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 0, 10, 1;callfunc "MagicGainBasic";}, {}
+714, SnakeEgg, Snake Egg, 0, 50, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 30, 0, 1;}, {}
+715, MountainSnakeEgg, Mountain Snake Egg, 0, 80, 40, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 40, 0, 1;}, {}
+716, GrassSnakeEgg, Grass Snake Egg, 0, 100, 50, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
+717, CaveSnakeEgg, Cave Snake Egg, 0, 60, 30, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 20, 0, 1;}, {}
+719, GreenApple, Green Apple, 0, 20, 5, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 45, 0, 1;}, {}
733, PurificationPotion, Purification Potion, 0, 0, 0, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {callfunc "usePurificationPotion";}, {}
-736, WhiteCake, White Cake, 0, 500, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 0;}, {}
-737, ChocolateCake, Chocolate Cake, 0, 550, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 11, 0;}, {}
-738, OrangeCake, Orange Cake, 0, 600, 150, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 12, 0;}, {}
-739, AppleCake, Apple Cake, 0, 600, 150, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 12, 0;}, {}
-743, Acorn, Acorn, 0, 50, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 3, 0;}, {}
+736, WhiteCake, White Cake, 0, 500, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
+737, ChocolateCake, Chocolate Cake, 0, 550, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 11, 0, 1;}, {}
+738, OrangeCake, Orange Cake, 0, 600, 150, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 12, 0, 1;}, {}
+739, AppleCake, Apple Cake, 0, 600, 150, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 12, 0, 1;}, {}
+743, Acorn, Acorn, 0, 50, 10, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 3, 0, 1;}, {}
744, DilutedConcentrationPot, Diluted Concentration P, 0, 250, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {sc_start sc_raiseattackspeed0, 30, 20;}, {}
745, DarkConcentrationPotion, Dark Concentration Poti, 0, 50, 25, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {sc_start sc_raiseattackspeed0, 10, 40;sc_start sc_poison, 1, 50;}, {}
-747, LacedChocolateCake, Laced Chocolate Cake, 0, 550, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 11, 0;}, {}
-748, LacedOrangeCupcake, Laced Orange Cupcake, 0, 90, 45, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {}
+747, LacedChocolateCake, Laced Chocolate Cake, 0, 550, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 11, 0, 1;}, {}
+748, LacedOrangeCupcake, Laced Orange Cupcake, 0, 90, 45, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
//ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript}
-750, SlowPoisonPotion, Slow Poison Potion, 0, 500, 200, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 5, 0;sc_start sc_slowpoison, 180000, 180;}, {}
-784, ZombieNachos, Zombie Nachos, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 60, 0;}, {}
-785, LadyFingers, Lady Fingers, 0, 70, 25, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 40, 0;}, {}
-786, JellAhh, Jell-Ahh, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
-787, Snapple, Snapple, 0, 110, 55, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 70, 0;}, {}
-788, BeetleJuice, Beetle Juice, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
-789, GutBuster, Gut Buster Ale, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 60, 0;}, {}
-790, BloodWine, Blood Wine, 0, 150, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {}
+750, SlowPoisonPotion, Slow Poison Potion, 0, 500, 200, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 5, 0, 1;sc_start sc_slowpoison, 180000, 180;}, {}
+784, ZombieNachos, Zombie Nachos, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 60, 0, 1;}, {}
+785, LadyFingers, Lady Fingers, 0, 70, 25, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 40, 0, 1;}, {}
+786, JellAhh, Jell-Ahh, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
+787, Snapple, Snapple, 0, 110, 55, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 70, 0, 1;}, {}
+788, BeetleJuice, Beetle Juice, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
+789, GutBuster, Gut Buster Ale, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 60, 0, 1;}, {}
+790, BloodWine, Blood Wine, 0, 150, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
808, HitchhikersTowel, Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {}
809, WhiteHitchhikersTowel, White Hitchhiker's Towe, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {}
810, RedHitchhikersTowel, Red Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {}
@@ -65,32 +65,32 @@
816, PinkHitchhikersTowel, Pink Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {}
817, TealHitchhikersTowel, Teal Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {}
818, LimeHitchhikersTowel, Lime Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {}
-825, TinyManaElixir, Tiny Mana Elixir, 0, 100, 10, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 25;}, {}
-826, SmallManaElixir, Small Mana Elixir, 0, 200, 20, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 50;}, {}
-827, MediumManaElixir, Medium Mana Elixir, 0, 400, 40, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 100;}, {}
-828, LargeManaElixir, Large Mana Elixir, 0, 800, 80, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 250;}, {}
-838, CranberryLollipop, Cranberry Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 750, 0;}, {}
-839, GrapeLollipop, Grape Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 750, 0;}, {}
-840, OrangeLollipop, Orange Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 750, 0;}, {}
-1189, PollettEgg, PollettEgg, 0, 250, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 75, 10;}, {}
-1229, CaramelApple, Caramel Apple, 0, 500, 75, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 1000, 0;}, {}
-1230, LollipopColor1, Booberry Blue Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 800, 0;}, {}
-1231, LollipopColor2, Ghastly Green Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 800, 0;}, {}
-1232, LollipopColor3, Blood Red Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 800, 0;}, {}
-1248, Blueberries, Blueberries, 0, 50, 25, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 200, 0;}, {}
-1250, Pear, Pear, 0, 50, 25, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 150, 0;}, {}
-1251, Plum, Plum, 0, 50, 25, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {}
-1252, Cherry, Cherry, 0, 50, 25, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {}
-1253, GoldenDeliciousApple, Golden Delicious Apple, 0, 1000, 500, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 200, 0;}, {}
-1258, Honey, Honey, 0, 100, 80, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 45, 0;}, {}
+825, TinyManaElixir, Tiny Mana Elixir, 0, 100, 10, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 0, 25, 1;}, {}
+826, SmallManaElixir, Small Mana Elixir, 0, 200, 20, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 0, 50, 1;}, {}
+827, MediumManaElixir, Medium Mana Elixir, 0, 400, 40, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 0, 100, 1;}, {}
+828, LargeManaElixir, Large Mana Elixir, 0, 800, 80, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 0, 250, 1;}, {}
+838, CranberryLollipop, Cranberry Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
+839, GrapeLollipop, Grape Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
+840, OrangeLollipop, Orange Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
+1189, PollettEgg, PollettEgg, 0, 250, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 75, 10, 1;}, {}
+1229, CaramelApple, Caramel Apple, 0, 500, 75, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 1000, 0, 1;}, {}
+1230, LollipopColor1, Booberry Blue Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
+1231, LollipopColor2, Ghastly Green Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
+1232, LollipopColor3, Blood Red Lollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
+1248, Blueberries, Blueberries, 0, 50, 25, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 200, 0, 1;}, {}
+1250, Pear, Pear, 0, 50, 25, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 150, 0, 1;}, {}
+1251, Plum, Plum, 0, 50, 25, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
+1252, Cherry, Cherry, 0, 50, 25, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
+1253, GoldenDeliciousApple, Golden Delicious Apple, 0, 1000, 500, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 200, 0, 1;}, {}
+1258, Honey, Honey, 0, 100, 80, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 45, 0, 1;}, {}
1280, Scissors, Scissors, 0, 1000, 500, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {callfunc "useScissors";}, {}
1281, ShockSweet, Shock Sweet, 0, 1000, 500, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {callfunc "useShockSweet";}, {}
3001, RubberBat, Rubber Bat, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {misceffect 403;getitem 3001,1;}, {}
-3006, TonoriDelight, Tonori Delight, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 2;}, {}
-3007, Marshmallow, Marshmallow, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 0;}, {}
-3009, JellySkull, Jelly Skull, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 0;}, {}
-3010, CandyPumpkin, Candy Pumpkin, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 10, 0;}, {}
-4035, PickledBeets, Pickled Beets, 0, 100, 50, 150, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0; setlook LOOK_HAIR_COLOR, HC_PURPLE;}, {}
-4036, RoastedAcorn, Roasted Acorn, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 15, 0;}, {}
-5126, MTJarofOwnBlood, MTJar of Own Blood, 0, 200, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {itemheal -250, 0;getitem 5127, 1;}, {}
+3006, TonoriDelight, Tonori Delight, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 2, 1;}, {}
+3007, Marshmallow, Marshmallow, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
+3009, JellySkull, Jelly Skull, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
+3010, CandyPumpkin, Candy Pumpkin, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
+4035, PickledBeets, Pickled Beets, 0, 100, 50, 150, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 50, 0, 1; setlook LOOK_HAIR_COLOR, HC_PURPLE;}, {}
+4036, RoastedAcorn, Roasted Acorn, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {heal 15, 0, 1;}, {}
+5126, MTJarofOwnBlood, MTJar of Own Blood, 0, 200, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {heal -250, 0;getitem 5127, 1;}, {}
//ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript}
diff --git a/world/map/npc/001-1/adrian.txt b/world/map/npc/001-1/adrian.txt
index dba78c21..de2966b5 100644
--- a/world/map/npc/001-1/adrian.txt
+++ b/world/map/npc/001-1/adrian.txt
@@ -10,29 +10,31 @@
set @state, ((QUEST_NorthTulimshar & NIBBLE_5_MASK) >> NIBBLE_5_SHIFT);
mes "[Adrian]";
- mes "\"Hello. Are you here to get the luggage for some of our passengers?\"";
+ mes "\"Hello. Are you here to pick up some luggage?\"";
if (@state == 1)
menu
- "Yes, Kylian sent me to get his luggage.",L_Get,
+ "Yes. Kylian sent me to get his luggage.",L_Get,
"No.",L_No;
menu
"No.",L_No;
L_No:
+ next;
mes "[Adrian]";
- mes "\"Too bad. I want to go and drink a beer, but I have to wait here until all the luggage is picked up.\"";
+ mes "\"Too bad. I'd like to go get a beer, but I have to wait here until all the luggage is picked up.\"";
mes "He sighs.";
goto L_Close;
L_Get:
+ next;
mes "[Adrian]";
- mes "\"Wonderful! Show me the ticket.\"";
- mes "He checks the paper Kylian gave you and then takes a critical look at you.";
+ mes "\"Wonderful! Please show me your ticket.\"";
+ mes "He checks the paper Kylian gave you and then gives you a critical look.";
next;
getinventorylist;
if ((checkweight("LeatherSuitcase", 1) == 0) || (@inventorylist_count == 100))
goto L_Inventory;
mes "[Adrian]";
- mes "\"Alright, here it is.\"";
+ mes "\"Alright. Here it is. Good luck carrying that thing.\"";
mes "Adrain hands you a very heavy suitcase.";
getitem "LeatherSuitcase", 1;
set @state, 2;
@@ -41,8 +43,8 @@ L_Get:
L_Inventory:
mes "[Adrian]";
- mes "\"The suitcase is rather heavy. You doesn't look as if you can handle that.";
- mes "Maybe if you get rid of some of the other stuff you're carrying.\"";
+ mes "\"The suitcase is rather heavy. No offense, but you don't look like you can carry it.\"";
+ mes "Maybe you should get rid of some of the other stuff you're carrying.\"";
goto L_Close;
L_Close:
diff --git a/world/map/npc/001-1/ched.txt b/world/map/npc/001-1/ched.txt
index b6159583..ddfddd95 100644
--- a/world/map/npc/001-1/ched.txt
+++ b/world/map/npc/001-1/ched.txt
@@ -3,21 +3,21 @@
001-1,43,48,0|script|Ched|113
{
mes "[Ched]";
- mes "\"I'm trying to get a spell to work. It's supposed to combine two potions, but I can't seem to figure out which two those are...\"";
+ mes "\"I'm trying to get a spell to work, but I'm having some trouble.\"";
+ mes "\"It's supposed to combine two potions, but I can't seem to figure out which two to combine...\"";
next;
menu
- "Well, good luck with that!", L_Done,
- "What spell is that?", L_Next;
+ "Good luck with that.", L_Done,
+ "What spell is it?", L_Next;
L_Next:
+ mes "";
mes "[Ched]";
- mes "\"Well, I don't know what it's called... I took it out of `Timbleweed's Advanced Transmutations.' It seems awfully hard to cast, somehow.\"";
+ mes "\"Well, I don't remember what it's called... I took it out of 'Timbleweed's Advanced Transmutations,' but it seems awfully hard to cast.\"";
next;
- mes "[Ched]";
- mes "\"Well, the invocation is `" + getspellinvocation("merge-concentration-potions") + "'. You're supposed to just hold up the potions and cast it, and then they're supposed to merge.\"";
+ mes "\"If you want to try it, the invocation is '" + getspellinvocation("merge-concentration-potions") + ".' I just can't get the hang of it though.\"";
next;
- mes "[Ched]";
- mes "\"Maybe I should go back to `detect magic' until I can cast that one properly.\"";
+ mes "\"Maybe I should go back to practicing '" + getspellinvocation("detect-magic") + "' until I can cast it properly.\" %%6";
goto L_Done;
L_Done:
diff --git a/world/map/npc/001-1/tombstones.txt b/world/map/npc/001-1/tombstones.txt
index 39c98ade..e064a60d 100644
--- a/world/map/npc/001-1/tombstones.txt
+++ b/world/map/npc/001-1/tombstones.txt
@@ -4,7 +4,7 @@
{
mes "~ wushin ~";
- mes "Tonori swallowed him whole.";
+ mes "\"Tonori swallowed him whole.\"";
close;
}
@@ -12,7 +12,7 @@
{
mes "~ Nard ~";
- mes "Crushed by a loom.";
+ mes "\"Crushed by a loom.\"";
close;
}
@@ -20,7 +20,7 @@
{
mes "~ tux9th ~";
- mes "Eaten by bugs.";
+ mes "\"Eaten by bugs.\"";
close;
}
@@ -28,7 +28,7 @@
{
mes "~ o11c ~";
- mes "He asked for it. So they gave it to him.";
+ mes "\"He asked for it, so they gave it to him.\"";
close;
}
@@ -36,41 +36,41 @@
{
mes "~ " + strcharinfo(0) + " ~";
- mes "The tombstone is blank and the grave freshly dug.";
+ mes "The epitath is blank and the grave freshly dug.";
close;
}
001-1,56,106,0|script|RIP#6|400
{
mes "~ Cassy ~";
- mes "Eaten by trolls.";
+ mes "\"Eaten by trolls.\"";
close;
}
001-1,57,106,0|script|RIP#7|400
{
mes "~ George ~";
- mes "Eaten by Snakes.";
+ mes "\"Eaten by snakes.\"";
close;
}
001-1,58,106,0|script|RIP#8|400
{
mes "~ Kieron ~";
- mes "He was right, monsters were in the cave.";
+ mes "\"He was right; monsters were in the cave.\"";
close;
}
001-1,59,106,0|script|RIP#9|400
{
mes "~ William ~";
- mes "Kieron was definitely right.";
+ mes "\"Kieron was definitely right.\"";
close;
}
001-1,60,106,0|script|RIP#10|400
{
mes "~ Tyer ~";
- mes "An experiement went wrong.";
+ mes "\"An experiement went wrong.\"";
close;
}
diff --git a/world/map/npc/001-2/government_building.txt b/world/map/npc/001-2/government_building.txt
index d62159cb..51b43a8c 100644
--- a/world/map/npc/001-2/government_building.txt
+++ b/world/map/npc/001-2/government_building.txt
@@ -1,22 +1,22 @@
-// The government builing in the south west
+// The government building in the south west
// A clerk
001-2,25,21,0|script|Estard|107
{
mes "[Estard]";
- mes "\"Hello what can I do for you?\"";
+ mes "\"Hello. What can I do for you?\"";
next;
if (getpartnerid2())
goto L_main_married;
menu
- "I'm looking at getting married.", L_marry,
- "Nothing, I guess.", L_Close;
+ "I'd like to get married.", L_marry,
+ "Never mind.", L_Close;
L_main_married:
menu
- "I'd like a divorce.", L_divorce,
- "Nothing, I guess.", L_Close;
+ "I'd like to file for divorce.", L_divorce,
+ "Never mind.", L_Close;
L_marry:
if (BaseLevel < WEDDING_MIN_LEVEL)
@@ -24,51 +24,56 @@ L_marry:
if (Zeny < WEDDING_FEE)
goto L_marry_too_poor;
+ mes "";
mes "[Estard]";
- mes "\"Are you sure you want to get married? It'll cost " + WEDDING_FEE + " GP.\"";
+ mes "\"Are you sure that you want to get married? It'll cost you ##B" + WEDDING_FEE + " GP##b.\"";
menu
- "Yes", L_marry_do,
- "No", L_Close;
+ "Yes!", L_marry_do,
+ "I'm having second thoughts...", L_Close;
L_marry_do:
callsub S_give_rings;
-
+ mes "";
mes "[Estard]";
- mes "\"Here are your rings. You can get married by standing in one of the designated places (like that small rug over there) with your partner, give them their ring, and say 'marry (their name here)'. You both need to have your rings on.\"";
+ mes "\"Here are your rings. In order to marry each other, you both must stand within one of the designated areas (like that small rug over there in the corner), wear your rings, and say 'marry (your partner's name).'\"";
close;
L_marry_too_young:
+ mes "";
mes "[Estard]";
- mes "\"I'm sorry, but you are too young to get married. You must be atleast " + WEDDING_MIN_LEVEL + " levels old.\"";
+ mes "\"I'm sorry, but you are too young to get married. You must be at least " + WEDDING_MIN_LEVEL + " levels old.\"";
next;
menu
- "Can I at least get wedding rings?", L_get_rings,
+ "Can I at least get the wedding rings now?", L_get_rings,
"Thanks anyways.", L_Close;
L_marry_too_poor:
+ mes "";
mes "[Estard]";
- mes "\"You need " + WEDDING_FEE + " GP to get married. That covers all administrative fees for the marriage and provides two wedding rings.\"";
+ mes "\"It costs ##B" + WEDDING_FEE + " GP##b to get married. That covers all the processing fees for the marriage and provides you with two wedding rings.\"";
close;
L_get_rings:
+ mes "";
mes "[Estard]";
- mes "\"Yes. They are " + WEDDING_FEE + " GP. That covers all administrative fees for the marriage.\"";
+ mes "\"Yes! You certainly can. They're ##B" + WEDDING_FEE + " GP##b. That covers all the processing fees for the marriage and provides you with two wedding rings.\"";
if (Zeny < WEDDING_FEE)
menu
- "Thanks anyways. I don't have enough with me.", L_Close;
+ "Thanks, but I don't have enough with me right now.", L_Close;
if (Zeny >= WEDDING_FEE)
menu
- "I'll buy a pair.", L_get_rings_pay,
- "Thanks anyways.", L_Close;
+ "Sounds great!", L_get_rings_pay,
+ "No thanks.", L_Close;
goto L_get_rings_pay;
L_get_rings_pay:
callsub S_give_rings;
+ mes "";
mes "[Estard]";
- mes "\"There you go. Come again.\"";
+ mes "\"There you go! %%1\"";
close;
L_divorce:
@@ -78,11 +83,11 @@ L_divorce:
goto L_divorce_not_enough;
mes "[Estard]";
- mes "\"If you're sure you want a divorce, it'll cost you " + @divorce_cost + " GP.\"";
+ mes "\"I'm sorry to hear that. If you're sure you want a divorce, it'll cost you %%B" + @divorce_cost + " GP%%b.\"";
next;
menu
- "I am sure I want it.", L_do_divorce,
- "I don't want it.", L_Close;
+ "I'm sure.", L_do_divorce,
+ "I'm having second thoughts...", L_Close;
L_do_divorce:
if (Zeny < @divorce_cost)
@@ -91,35 +96,45 @@ L_do_divorce:
if (divorce())
goto L_divorce_done;
+ mes "";
mes "[Estard]";
- mes "\"I'm having trouble finding the record. \"";
+ mes "\"I'm having trouble finding your documents. Please come back later.\"";
+ mes "";
mes "[Server]";
- mes "Try again when your partner is online too.";
+ mes "There was an unexpected error when processing your divorce. Please report this to the developers.";
close;
L_divorce_done:
set Zeny, Zeny - @divorce_cost;
+ mes "";
mes "[Estard]";
- mes "\"You have been divorced. Come again.\"";
+ mes "\"You have now officially divorced your spouse.\"";
close;
L_divorce_not_enough:
+ mes "";
mes "[Estard]";
- mes "\"I'm sorry , but you don't have enough money to get a divorce. You need " + @divorce_cost + " GP.\"";
+ mes "\"I'm sorry, but you don't have enough money to get a divorce. You need ##B" + @divorce_cost + " GP##b.\"";
close;
L_not_enough_money:
+ mes "";
mes "[Estard]";
- mes "\"Seems you don't have enough money.\"";
+ mes "\"I'm sorry, but it seems as though you don't have enough money.\"";
close;
L_no_room_for_rings:
+ mes "";
mes "[Estard]";
- mes "\"You don't have enough room to carry these rings.\"";
+ mes "\"Hm... it doesn't look like you have enough room to carry these rings.";
+ mes "Free up some space, and then I'd be happy to give them to you.\"";
close;
L_Close:
+ mes "";
+ mes "[Estard]";
+ mes "\"OK. Just come back whenever you're ready.\"";
close;
S_give_rings:
@@ -139,6 +154,6 @@ S_give_rings:
001-2,22,21,0|script|Guard#govt_in|123
{
mes "[Guard]";
- mes "\"You can't come back here.\"";
+ mes "\"You're not allowed back here.\"";
close;
}
diff --git a/world/map/npc/001-2/manakins.txt b/world/map/npc/001-2/manakins.txt
index dabe7fc5..ef1e2982 100644
--- a/world/map/npc/001-2/manakins.txt
+++ b/world/map/npc/001-2/manakins.txt
@@ -3,19 +3,27 @@
// Forge
001-2,29,57,0|script|Terranite Armor#Female|401
{
- mes "Terranite Armor complete set, made to order, inquire with Heathin";
+ mes "A complete set of female Terranite armor stands on display. These appear to be made to order.";
+ next;
+ mes "An inscription on the helmet reads \"Made by Heathin.\"";
close;
}
001-2,34,57,0|script|Terranite Armor#Male|402
{
- mes "Terranite Armor complete set, made to order, inquire with Heathin";
+ mes "A complete set of male Terranite armor stands on display. These appear to be made to order.";
+ next;
+ mes "An inscription on the helmet reads \"Made by Heathin.\"";
close;
}
001-2,34,62,0|script|Terranite|403
{
- mes "Ahhh! A Terranite! Wait it appears to just be a display model.";
+ mes "Ahhh! A Terranite!";
+ next;
+ mes "Wait a minute...";
+ next;
+ mes "It appears to just be a display model.";
close;
}
@@ -23,25 +31,25 @@
001-2,91,39,0|script|Talponian#Female|404
{
- mes "A Female Talponian.";
+ mes "A female Talponian manakin stands on display.";
close;
}
001-2,91,44,0|script|Talponian#Male|405
{
- mes "A Male Talponian.";
+ mes "A male Talponian manakin stands on display.";
close;
}
001-2,118,39,0|script|Gispaan#Female|406
{
- mes "A Female Gispaan.";
+ mes "A female Gispaan manakin stands on display.";
close;
}
001-2,118,44,0|script|Gispaan#Male|407
{
- mes "A Male Gispaan.";
+ mes "A male Gispaan manakin stands on display.";
close;
}
diff --git a/world/map/npc/001-2/wizards.txt b/world/map/npc/001-2/wizards.txt
index 4f88c58b..37efa8bd 100644
--- a/world/map/npc/001-2/wizards.txt
+++ b/world/map/npc/001-2/wizards.txt
@@ -3,58 +3,88 @@
// manaseed
001-2,104,19,0|script|Desert Mana Seed#_M|166
{
- end;
+ mes "Strangely, you feel nothing – as if its membrane is closed to you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,99,22,0|script|Wizard#1|355
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,92,24,0|script|Wizard#2|356
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,92,30,0|script|Wizard#3|357
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,99,32,0|script|Wizard#4|358
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,110,22,0|script|Wizard#5|359
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,117,24,0|script|Wizard#6|360
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,117,30,0|script|Wizard#7|361
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,110,32,0|script|Wizard#8|362
{
- end;
+ mes "The wizard seems to ignore you.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
//
001-2,104,27,0|script|Arch-Wizard#9|354
{
- end;
+ mes "The arch wizard seems to be busy.";
+ next;
+ mes "Perhaps you should come back later.";
+ close;
}
diff --git a/world/map/npc/002-2/bakery.txt b/world/map/npc/002-2/bakery.txt
index 5a21678a..28a16b3a 100644
--- a/world/map/npc/002-2/bakery.txt
+++ b/world/map/npc/002-2/bakery.txt
@@ -16,10 +16,9 @@
&& (countitem ("MopoxCurePotion") > 0))
goto L_lace_cupcake;
- mes "\"Would you mind bringing me 6 acorns please? I need them to make flour for the chocolate cakes. I will be so delicious!\"";
+ mes "\"Would you mind bringing me ##B6 acorns##b please? I need them to make flour so I can bake some chocolate cakes. I will be so delicious!\"";
next;
- mes "\"Um, I mean, the cakes will be delicious...\"";
- emotion EMOTE_BLUSH;
+ mes "\"Uh... I mean... the cakes will be delicious...\" %%;";
next;
set @dq_level, 15;
@@ -33,28 +32,28 @@
callfunc "DailyQuest";
next;
- mes "\"And don't forget, our bakery is the best!\"";
+ mes "\"Don't forget: our bakery is the best!\"";
close;
L_lace_chococake:
next;
menu
- "Thanks! Let me have a look around...", L_End,
+ "Thanks! Let me have a look around...", L_End,
"Can you put this potion into a Chocolate Cake?", L_Next,
"Goodbye!", L_End;
L_Next:
mes "[Riskim]";
mes "";
- mes "As you show Riskim the potion, he leans back, away from it.";
- mes "\"Ooooh, I remember that smell...\"";
- mes "\"Elanore's Mopox potion, right? She made me drink that, too...\"";
+ mes "You take the potion out and attempt to show it to Riskim, but he takes a step back.";
+ mes "\"Oh! I remember that smell...\"";
+ mes "\"Elanore's Mopox potion, right? She made me drink that too...\"";
mes "He chuckles.";
- mes "\"Yes, well, you do want to hide that somehow.\"";
+ mes "\"Yes. Well, you definitely want to hide that somehow.\"";
next;
mes "[Riskim]";
mes "";
- mes "\"We'll need extra chocolate for that one. If you can give me ten pieces of chocolate and that potion, plus 400 GP, I will bake you a special Chocolate Cake that hides the taste.\"";
+ mes "\"We'll need extra chocolate for that one. If you can give me ten pieces of chocolate, the Mopox potion, and a payment of 400 GP, I'll bake you a special Chocolate Cake that hides the taste.\"";
next;
menu
"I will get them for you.", L_End,
@@ -76,42 +75,42 @@ L_Continue:
mes "[Riskim]";
mes "";
mes "\"Please have a seat!\"";
- mes "You watch as Riskim melts the chocolate and stirs in the potion, then glazes a cake with the mixture.";
- mes "\"It's a bit more chocolatey than your average chocolate cake, of course...\"";
+ mes "You watch as Riskim melts the chocolate, stirs in the potion, and then glazes a cake with the mixture.";
+ mes "\"It's a bit more chocolaty than your average chocolate cake, so it should help mask that awful taste.\"";
next;
mes "[Riskim]";
mes "";
mes "Riskim hands you the cake.";
- mes "\"Here you are. I hope that this works.\"";
+ mes "\"Here you are! I hope this helps.\"";
close;
L_lacking_Zeny:
mes "[Riskim]";
mes "";
- mes "\"I'm sorry, but I have to charge 400 GP.\"";
+ mes "\"I'm sorry, but I have to charge 400 GP. I've got to make a living somehow.\"";
close;
L_lacking_ingredients:
mes "[Riskim]";
mes "";
- mes "\"Sorry, but I need ten Chocolate Bars AND your cure potion for this. Please come back later when you have everything.\"";
+ mes "\"Sorry, but I need both the ten Chocolate Bars and your potion for this. Please come back later when you have everything.\"";
close;
L_lace_cupcake:
next;
menu
- "Thanks! Let me have a look around...", L_End,
- "Can you put this potion into an Orange Cupcake?", L_More,
+ "Thanks! Let me have a look around...", L_End,
+ "Can mix a potion into an Orange Cupcake?", L_More,
"Goodbye!", L_End;
L_More:
mes "[Riskim]";
mes "";
- mes "\"Orange Cupcakes? Oh dear... I'm sorry, but I have a very bad orange allergy.\"";
+ mes "\"Orange Cupcakes? Oh dear... I'm sorry, but I have a very bad allergy to oranges.\"";
next;
mes "[Riskim]";
mes "";
- mes "\"Perhaps the Chef at Dimond's Cove can help you? We get all our cupcakes from him.\"";
+ mes "\"Perhaps the Chef at Dimond's Cove can help you. We get all of our cupcakes from him.\"";
next;
goto L_End;
@@ -125,6 +124,8 @@ L_End:
mes "[Sara]";
mes "";
mes "\"Hello!\"";
+ mes "\"If you'd like to buy something, just ask Drabur.\"";
+ mes "\"If you need something made-to-order, talk to Riskim.\"";
close;
}
@@ -136,7 +137,7 @@ L_End:
{
mes "[Iormo]";
mes "";
- mes "\"This room can get messy.\"";
+ mes "\"The cake sure is good, but this room can get messy with all the flour.\"";
close;
}
@@ -153,6 +154,6 @@ L_End:
{
mes "[Ontas]";
mes "";
- mes "\"We come here every week. This place has some of the best bread I've ever eaten!\"";
+ mes "\"We come here almost every week! This place has some of the best bread I've ever eaten!\"";
close;
}
diff --git a/world/map/npc/002-2/barber.txt b/world/map/npc/002-2/barber.txt
index 076dbfab..0ed69626 100644
--- a/world/map/npc/002-2/barber.txt
+++ b/world/map/npc/002-2/barber.txt
@@ -2,7 +2,7 @@
002-2,117,30,0|script|Issay|156
{
mes "[Issay the Barber]";
- mes "\"Do you need a change of style?\"";
+ mes "\"Want to change your hairstyle?\"";
next;
callfunc "Barber";
mes "[Issay the Barber]";
diff --git a/world/map/npc/002-2/casino.txt b/world/map/npc/002-2/casino.txt
index 14ac5226..b99f6911 100644
--- a/world/map/npc/002-2/casino.txt
+++ b/world/map/npc/002-2/casino.txt
@@ -7,7 +7,7 @@
set @kylian, ((QUEST_NorthTulimshar & NIBBLE_5_MASK) >> NIBBLE_5_SHIFT);
if (@kylian != 6)
goto L_End;
- message strcharinfo(0), "You wonder if Kylian would like to visit the casino in the evening.";
+ message strcharinfo(0), "You wonder if Kylian would be interested in visiting the Casino.";
goto L_End;
L_End:
@@ -18,7 +18,7 @@ L_End:
002-2,86,29,0|script|Valdo|117
{
mes "[Valdo the Worker]";
- mes "\"Please let me work. I'm really in a hurry!\"";
+ mes "\"Please let me work. I've got a lot to do and not enough time to do it!\"";
close;
}
@@ -49,8 +49,8 @@ L_End:
mes "You will need 15 casino coins.\"";
next;
menu
- "Yes", L_Begin,
- "No", L_Close;
+ "Sure.", L_Begin,
+ "Not now.", L_Close;
L_Begin:
if(countitem("CasinoCoins") < 15) goto L_NoCoin;
@@ -58,13 +58,12 @@ L_Begin:
set @croupier, rand(0, 4);
set @croupier, @croupier + 17;
set @player, rand(4, 21);
- mes "\"You got " + @player + " with your cards.";
+ mes "Your cards are worth " + @player + " points.";
if(@player == 21) goto L_End;
mes "Do you want another card?\"";
- next;
menu
- "Yes", L_Another,
- "No", L_End;
+ "Yes.", L_Another,
+ "No.", L_End;
L_Another:
set @tempace, rand(2, 11);
@@ -72,29 +71,29 @@ L_Another:
set @player, @player + @tempace;
if (@player > 21) goto L_Lost;
if (@player == 21) goto L_End;
- mes "\"You got " + @player + " with your cards.";
+ mes "Your cards are worth " + @player + " points.";
mes "Do you want another card?\"";
- next;
menu
- "Yes", L_Another,
- "No", L_End;
+ "Yes.", L_Another,
+ "No.", L_End;
L_End:
if (@player <= @croupier) goto L_Lost;
- mes "\"Congratulations, you won!";
- mes "I had " + @croupier + ".";
- mes "You get 45 casino coins.\"";
+ mes "Your cards are worth " + @player + " points.";
+ mes "\"I have " + @croupier + " points.";
+ mes "Congratulations! You won!";
+ mes "You get 45 casino coins!\"";
getitem "CasinoCoins", 45;
goto L_Close;
L_NoCoin:
- mes "\"You need at least 15 coins.\"";
+ mes "\"Sorry, but you need at least 15 coins to play.\"";
goto L_Close;
L_Lost:
- mes "\"I'm sorry but you lost.";
- mes "You got " + @player + " with your cards.";
- mes "I had " + @croupier + ".\"";
+ mes "\"I'm sorry, but you lost.";
+ mes "Your cards are worth " + @player + " points.";
+ mes "I have " + @croupier + " points.\"";
goto L_Close;
L_Ace:
@@ -102,15 +101,14 @@ L_Ace:
if (@player > 21) set @player, @player - 10;
if (@player > 21) goto L_Lost;
if (@player == 21) goto L_End;
- mes "You got " + @player + " with your cards.";
- mes "Do you want another card?";
- next;
+ mes "Your cards are worth " + @player + " points.";
+ mes "Do you want to take another card?";
menu
"Yes", L_Another,
"No", L_End;
L_Close:
- mes "\"As you wish.\"";
+ mes "\"Be sure to come back again.\"";
set @croupier, 0;
set @player, 0;
set @tempace, 0;
@@ -129,7 +127,7 @@ L_Close:
"10 coins", L_b10,
"50 coins", L_b50,
"100 coins", L_b100,
- "Maybe I'll play later", L_Close;
+ "Maybe I'll play later.", L_Close;
L_b1:
set @bet, 1;
@@ -154,13 +152,13 @@ L_b100:
L_Check:
if(countitem("CasinoCoins") < @bet) goto L_NoCoin;
menu
- "Choose a color", L_PickColor,
- "Choose a number", L_Number;
+ "Choose a color...", L_PickColor,
+ "Choose a number...", L_Number;
L_PickColor:
menu
- "Black", L_Color,
- "Red", L_Color;
+ "Black.", L_Color,
+ "Red.", L_Color;
L_Color:
delitem "CasinoCoins", @bet;
@@ -184,23 +182,23 @@ L_Menuitems:
if (@menu >= 3) set @number, @menu - 2;
set @roulette, rand(38);
- if (@roulette == 37) mes "The ball stopped on 00";
- if (@roulette < 37) mes "The ball stopped on " + @roulette;
+ if (@roulette == 37) mes "The ball stopped on 00.";
+ if (@roulette < 37) mes "The ball stopped on " + @roulette + ".";
if (@number != @roulette) goto L_Lost;
mes "\"You won!\"";
getitem "CasinoCoins", @bet * 10;
goto L_Close;
L_NoCoin:
- mes "\"You don't have enough coins.\"";
+ mes "\"You don't have enough coins to play.\"";
goto L_Close;
L_Lost:
- mes "\"I'm sorry, you lost.\"";
+ mes "\"I'm sorry, but you lost.\"";
goto L_Close;
L_Close:
- mes "Come again.";
+ mes "Come again!";
set @number, 0;
set @roulette, 0;
set @color, 0;
diff --git a/world/map/npc/002-2/eurni.txt b/world/map/npc/002-2/eurni.txt
index c63a71eb..87df4dc2 100644
--- a/world/map/npc/002-2/eurni.txt
+++ b/world/map/npc/002-2/eurni.txt
@@ -2,31 +2,32 @@
002-2,22,77,0|script|Eurni|136
{
+ set @SERVICES_ZENY, 10000;
+
set @halloween_npc_id, $@halloween_npc_eurni;
callfunc "TrickOrTreat";
if (BaseLevel < 10) goto L_TooYoung;
- if (Zeny < 10000) goto L_NoMoney;
+ if (Zeny < @SERVICES_ZENY) goto L_NoMoney;
mes "[Eurni the Surgeon]";
- mes "\"Are you tired of being what you are?\"";
+ mes "\"Are you tired of who you are?\"";
next;
-
- mes "[Eurni the Surgeon]";
- mes "\"Would you maybe be interested in a sex change?\"";
+ mes "\"Would you be interested in changing your sex?";
+ mes "It'll cost ##B" + @SERVICES_ZENY + " GP##b.\"";
next;
mes "[Server]";
- mes "Warning: All characters under this login will be changed. Once it's done, you will be kicked from the server. Don't panic, as everything is fine.";
+ mes "Warning: All characters under this login will be changed. Once it's done, you will be kicked from the server. Don't panic; this is normal.";
next;
menu
- "Please do, my dear...", L_Change,
- "Leave alone my family treasure!", L_Close;
+ "Please do.", L_Change,
+ "Leave my family treasures alone!", L_Close;
L_Change:
- if (Zeny < 10000)
+ if (Zeny < @SERVICES_ZENY)
goto L_NoMoney;
- set Zeny, Zeny - 10000;
+ set Zeny, Zeny - @SERVICES_ZENY;
changesex;
close;
@@ -37,7 +38,7 @@ L_TooYoung:
L_NoMoney:
mes "[Eurni the Surgeon]";
- mes "\"You don't have enough to pay for my services.\"";
+ mes "\"You don't have the kind of money to pay for my services.\"";
close;
L_Close:
diff --git a/world/map/npc/002-2/imec.txt b/world/map/npc/002-2/imec.txt
index 59966ff0..b8f63e4d 100644
--- a/world/map/npc/002-2/imec.txt
+++ b/world/map/npc/002-2/imec.txt
@@ -7,82 +7,98 @@
set @state, ((QUEST_NorthTulimshar & TWOBIT_4_MASK) >> TWOBIT_4_SHIFT);
set @EXP, 90;
set @money, 500;
+ set @lvl, 10;
if (@state >= 3) goto L_Stingers;
if (@state == 2) goto L_Return;
if (@state == 1) goto L_Bring;
mes "[Imec]";
+ mes "%%9";
mes "\"The Wizard's Council shut down my shop!";
- mes "They said I was selling illegal things, but what's so illegal about poison?\"";
+ mes "Why'd they have to make such a fuss over a little poison?\"";
+ next;
+ mes "\"Someday, I'm going to get my permit back from those self-righteous snobs!\"";
next;
- mes "\"Anyway, I hope to get a merchant's permit again... One of these days...\"";
mes "He looks at you.";
next;
mes "[Imec]";
- mes "\"You can do an errand for me. I just finished writing a petition to the Council about my shop.";
- mes "If you bring it to the government building near the docks, I'll give you a small reward.\"";
+ mes "%%D";
+ mes "\"Hey... I've got an idea!";
+ next;
+ mes "I just finished writing an appeal to the Council. If you bring it to the government building near the docks, they might be less... closed-minded.\"";
goto L_Offer;
L_Offer:
menu
- "Where are the docks and what is the government building?",L_Explain,
- "Ok, sounds good.",L_Next,
- "No!",L_Close;
+ "Just tell me how to get there.",L_Explain,
+ "I'll do it.",L_Next,
+ "No way!",L_Close;
L_Next:
+ mes "";
mes "[Imec]";
- mes "\"Very good. Here is the paper.\"";
- mes "Imec gives you a sealed letter. You put it away in a pocket separated from your inventory, so it won't get lost.";
+ mes "\"Great! Here's the appeal.\"";
+ mes "Imec gives you a sealed letter, which you store in a safe pocket outside of your inventory.";
set @state, 1;
callsub S_Update_Mask;
goto L_Close;
L_Explain:
+ mes "";
mes "[Imec]";
- mes "\"Follow the road to the north through the gate, then go west when you reach the docks. It's right before the castle mount.\"";
+ mes "\"Head north until you get to the docks – it's just west of the ferry.\"";
next;
- mes "\"In the building there are several offices. If you want to join or form a party, you have to pay your taxes there first.\"";
+ mes "\"There are a couple of other offices inside. You can form a party if you want, but don't take too long.\"";
+ if (BaseLevel < WEDDING_MIN_LEVEL) mes "\"Once you're older, you can even get married there.\"";
next;
- mes "\"So, will you bring my petition to the office in that building?\"";
+ mes "\"So... will you submit my appeal for me?\"";
if (@state == 0)
goto L_Offer;
goto L_Close;
L_Bring:
mes "[Imec]";
- mes "\"What are you waiting for? Bring my petition to the government building.\"";
+ mes "\"What are you waiting for? I'm not paying you till after the job is done!\"";
menu
"Where is it again?",L_Explain,
"I'm on my way.",L_Close;
L_Return:
mes "[Imec]";
- mes "\"Ah, you're back.\"";
- mes "You hand the letter of acknowledgement over to Imec.";
+ mes "\"Ah! You're back! How'd it go?\"";
+ mes "You hand the letter of acknowledgment over to Imec.";
next;
mes "[Imec]";
- mes "\"Very well. I'm sure I'll be able to open my shop again soon.\"";
+ mes "\"Great! I'm sure I'll be able to open my shop again soon.\"";
next;
- mes "It seems Imec doesn't notice you anymore.";
+ mes "It seems as though Imec has lost interest in you already.";
menu
- "You mentioned a reward.",L_Next1;
+ "You mentioned a reward...",L_Next1;
L_Next1:
+ mes "";
mes "[Imec]";
- mes "\"What? Ah, right. Here, have this.\"";
+ mes "\"What? Oh, right. Here, have this.\"";
getexp @EXP, 0;
set Zeny, Zeny + @money;
set @state, 3;
callsub S_Update_Mask;
next;
- mes "\"Actually, you could be of further help to me.\"";
+ if (BaseLevel >= @lvl)
+ goto L_Transition_Stingers;
+ if (BaseLevel < @lvl)
+ mes "\"Come back to see me once you grow stronger; I might have a job for you later on.\"";
+ goto L_Close;
+
+L_Transition_Stingers:
+ mes "\"Actually, you could be of further use to me.\"";
next;
goto L_Stingers;
L_Stingers:
mes "[Imec]";
- set @dq_level, 10;
+ set @dq_level, @lvl;
set @dq_cost, 3;
set @dq_count, 3;
set @dq_name$, "ScorpionStinger";
diff --git a/world/map/npc/002-2/kps.txt b/world/map/npc/002-2/kps.txt
index 558166ec..73b40466 100644
--- a/world/map/npc/002-2/kps.txt
+++ b/world/map/npc/002-2/kps.txt
@@ -25,23 +25,25 @@
L_Default:
mes "[KPS Manager]";
- mes "\"Kylian staying at the Inn bought this shop recently.\"";
- mes "\"I'm waiting for him to open the shop.\"";
+ mes "\"A rich salesman named Kylian bought this shop recently.\"";
+ mes "\"I'm waiting for him to give the go-ahead on opening it up, but I haven't heard from him in a while.\"";
next;
- mes "\"I wonder if he needs any help?\"";
+ mes "\"I wonder if he needs any help...\"";
+ next;
+ mes "\"If you could go over and check on him in the inn while I tend to the store, I'd really appreciate it.\"";
goto L_Close;
L_OfferJob:
mes "[KPS Manager]";
- mes "\"Hello and what how can I help you today?\"";
+ mes "\"Hello! How can I help you today?\"";
menu
- "My name is " + strcharinfo(0), L_MyName,
+ "My name is " + strcharinfo(0) + ".", L_MyName,
"Nothing.", L_Close;
L_MyName:
set @state, 11;
callfunc "SetKylianQuest";
- mes "\"Ahhh, Kylian said you would be dropping by.\"";
+ mes "\"Ah. Kylian said you would be dropping by.\"";
next;
mes "\"I assume you are looking for some work?\"";
menu
@@ -84,10 +86,10 @@ L_RandJob:
goto L_JobInfo;
L_JobInfo:
- mes "\"We have a delivery for:* " + $@random_quests$[@rand_quest] + "\"";
+ mes "\"We have a delivery for ##B" + $@random_quests$[@rand_quest] + "##b.\"";
menu
- "Take It.", L_StartRun,
- "Anything Else?", L_RandJob,
+ "I'll take it.", L_StartRun,
+ "Anything else?", L_RandJob,
"I need a break.", L_Close;
L_StartRun:
@@ -99,7 +101,7 @@ L_StartRun:
goto L_Close;
L_RunStarted:
- mes "Deliver this package to:* " + $@random_quests$[@run] + "\"";
+ mes "Deliver this package to ##B" + $@random_quests$[@run] + "##b.\"";
goto L_Close;
L_RunComplete:
@@ -118,7 +120,7 @@ L_SeeKylian:
goto L_Close;
L_Failed:
- mes "\"You need to be faster next time to earn a bonus.\"";
+ mes "\"If you're faster next time, you can earn a bonus.\"";
next;
goto L_RunAgain;
@@ -131,7 +133,7 @@ L_KylianReward:
mes "[" + $@delivery_money + " money]";
mes "[" + ($@delivery_exp_mod * BaseLevel) + " experience points]";
next;
- mes "\"I have a message Kylian wants me to send you over right away.\"";
+ mes "\"I've got news for you! Kylian wants me to send you over right away.\"";
goto L_Close;
L_RunAgain:
@@ -141,12 +143,13 @@ L_RunAgain:
mes "[" + $@delivery_money + " money]";
mes "[" + ($@delivery_exp_mod * BaseLevel) + " experience points]";
next;
- mes "\"Good job, keep up the nice work and I'm sure the bonus will give you a bonus.\"";
+ mes "\"Good job! Keep up the nice work, and I'm sure the boss will give you a bonus.\"";
next;
goto L_StartJobAgain;
L_NoPackages:
- mes "\"Come back tomorrow, maybe we will have some more work.\"";
+ mes "\"Sorry, but we don't have any more jobs open right now.\"";
+ mes "\"Come back tomorrow; maybe we will have some more work then.\"";
goto L_Close;
L_Close:
diff --git a/world/map/npc/002-2/kylian.txt b/world/map/npc/002-2/kylian.txt
index b1dadac2..346fcffa 100644
--- a/world/map/npc/002-2/kylian.txt
+++ b/world/map/npc/002-2/kylian.txt
@@ -102,62 +102,65 @@ OnInit:
if (@state >= 1) goto L_Suitcase;
mes "[Kylian]";
- mes "\"Ah, are you the room service? I've some requests.\"";
+ mes "\"Ah! Are you the room service? I've some requests.\"";
menu
- "Sure, what can I do for you?",L_Luggage,
- "No, I'm not!",L_Next;
+ "Sure... What can I do for you?",L_Luggage,
+ "No I'm not!",L_Next;
L_Next:
mes "[Kylian]";
mes "\"Too bad. Would you be interested in earning some quick money with some errands regardless?\"";
menu
- "I'm a great adventurer! I don't do errands.",L_Close,
- "No, I'm busy.",L_Close,
- "Mh, ok.",L_Luggage;
+ "I'm a great adventurer! I don't do petty errands.",L_Close,
+ "No. I'm busy.",L_Close,
+ "Well... OK.",L_Luggage;
L_Luggage:
mes "[Kylian]";
- mes "\"I need someone to get my luggage from the docks. Show this paper to the sailor who's watching the luggage.\"";
- mes "He gives you his ticket which you store in your pocket, separated from your inventory.";
+ mes "\"I need you to get my luggage from the docks. Just show this paper to the sailor who's watching the luggage.\"";
+ mes "He gives you his ticket, which you promptly store in a safe pocket outside of your inventory.";
set @state, 1;
callfunc "SetKylianQuest";
goto L_Close;
L_Suitcase: // @state >= 1, but below 3
mes "[Kylian]";
- mes "\"Did you already get my luggage from the docks?\"";
+ mes "\"Did you get my luggage from the docks?\"";
if (@state != 2)
goto L_Close;
menu
"Here it is.",L_Continue,
- "I'm on my way, don't worry.",L_Close;
+ "Don't worry; I'm on my way.",L_Close;
L_Continue:
if (countitem("LeatherSuitcase") < 1)
goto L_NoItem;
delitem "LeatherSuitcase", 1;
set Zeny, Zeny + @suitcase_money;
+ getitem "Acorn", @acorn_amount;
getexp @suitcase_exp, 0;
set @state, 3;
callfunc "SetKylianQuest";
+ next;
mes "[Kylian]";
- mes "\"Ah, very good. I really need to have a look at some of my papers in there.\"";
+ mes "\"Ah! Very good. I have some urgent paperwork that I've been needing to attend to.\"";
mes "He gives you some money.";
next;
mes "[Kylian]";
- mes "\"Oh, and I have some acorns left, I had them with me as travelling fare. You can have them, they're tasty.";
- mes "In case you don't like them, you could also bring them to the Tulimshar bakery. I heard they use them to make some special flour.\"";
- getitem "Acorn", @acorn_amount;
+ mes "\"Before you go, I also happen to have some acorns left over from my trip.\"";
+ mes "\"You can have them if you wish; they're rather tasty.\"";
+ mes "If, however, you don't like them, you could take them to the Tulimshar bakery. I heard they use them to make a special kind of flour.\"";
next;
goto L_ShopLicense;
L_ShopLicense: // @state == 3
mes "[Kylian]";
- mes "\"I'm a salesman and came to Tulimshar because I'm thinking about establishing a shop here. While I'm going through my papers, could you find out who I have to talk to about opening a shop in this city?\"";
+ mes "\"I'm a salesman and came to Tulimshar because I'm thinking about establishing a shop here.\"";
+ mes "\"While I'm going through my papers, could you find out whom I have to talk to about opening up a shop in this city?\"";
if (!(QUEST_NorthTulimshar & $@knowYanisNT))
goto L_Close;
menu
- "You need to talk to Yanis in the government building.",L_GovBuild,
+ "You need to go and talk to Yanis in the government building.",L_GovBuild,
"I'll see what I can do.",L_Close;
L_GovBuild:
@@ -167,24 +170,24 @@ L_GovBuild:
callfunc "SetKylianQuest";
set @KylianNTLicense, 1;
mes "[Kylian]";
- mes "\"Ah, excellent. That's very helpful. Could you tell me how to get to that building?\"";
- mes "You explain the way to the building.";
+ mes "\"Ah... excellent! That's very helpful. Could you tell me how to get to that building?\"";
+ mes "You give him directions to the building.";
next;
goto L_LicenseDone;
L_LicenseDone: // the player didn't log out yet after telling about Yanis
mes "[Kylian]";
- mes "\"I need to prepare my papers now. I might have some more questions later.\"";
+ mes "\"I need to prepare my papers now. I might have some more questions later on though.\"";
goto L_Close;
L_SightSeeing: // @state == 4 and logged out sometime between getting to that state and now
mes "[Kylian]";
- mes "\"You just came here the right moment. I have finished my business affairs. I think I should use my time here to also get a bit of cultural knowledge about the area. Can you tell me if there are any historical places to visit?\"";
+ mes "\"You came here at just the right moment! I have finished my business affairs, and I think I should use my time here to learn a bit about the culture in the area. Can you tell me if there are any historical places or landmarks to visit?\"";
if (!(QUEST_NorthTulimshar & $@knowWeellosNT))
goto L_Close;
menu
- "There is a very old historic building not far from here.",L_HistBuild,
- "I don't know, but will have a look around.",L_Close;
+ "There's a very old building not far from here.",L_HistBuild,
+ "I don't know, but I'll have a look around.",L_Close;
L_HistBuild:
set Zeny, Zeny + @sightseeing_money;
@@ -199,12 +202,12 @@ L_HistBuild:
L_Food: // @state == 5
mes "[Kylian]";
- mes "\"While I'm out, I could also get something to eat. Maybe some typical dish for this region. Do you have a good suggestion for that?\"";
+ mes "\"While I'm out, I could also get something to eat. Do you have any suggestions for local cuisine?\"";
if (@fieri < 4) // didn't yet help Fieri make Tonori Delight
goto L_Close;
menu
- "Fieri at the castle makes great Tonori Delight.",L_SoupBer,
- "No idea, I'll try to find out.",L_Close;
+ "A man named Fieri makes a tasty Tonori Delight over at the castle.",L_SoupBer,
+ "No idea. I'll try to find out.",L_Close;
L_SoupBer:
set Zeny, Zeny + @food_money;
@@ -216,14 +219,14 @@ L_SoupBer:
L_SightSeeingDone:
mes "[Kylian]";
- mes "\"I'm going to see the historic building you told me about and try this local food at the castle. Thank you for the suggestions.\"";
+ mes "\"I'm going to see the historic building you told me about and try the local food at the castle. Thank you for the suggestions.\"";
goto L_Close;
L_Casino: // @state == 6 and logged out sometime between getting to that state and now
mes "[Kylian]";
- mes "\"Hello. I just came back from my sight-seeing tour. And this Tonori Delight really was delicious. I wonder what it's made of...\"";
+ mes "\"Hello. I just came back from my sight-seeing tour, and this Tonori Delight really was delicious. I wonder what it's made of...\"";
next;
- mes "\"However, I was wondering if you know about a good place to spend the evening? Some place to have fun?\"";
+ mes "\"However, I was wondering if you know about some evening attractions. Maybe somewhere to have fun?\"";
if (!(QUEST_NorthTulimshar & $@knowCasinoNT))
goto L_Close;
menu
@@ -236,19 +239,19 @@ L_CasinoFound:
set @state, 7;
callfunc "SetKylianQuest";
mes "[Kylian]";
- mes "\"Oh, there's a casino in this city? That's a wonderful thing. Where can I find it?\"";
+ mes "\"Oh! There's a casino in this city? That's wonderful! Where can I find it?\"";
mes "You explain how to get to the casino.";
next;
goto L_Clothes;
L_Clothes: // @state == 7
mes "[Kylian]";
- mes "\"I should get proper clothing before I go to the casino tonight. Do you know a reputable shop where clothing of high quality is sold?\"";
+ mes "\"I should acquire proper clothing before I go to the casino tonight. Do you know a reputable shop where high-quality clothing is sold?\"";
if (!(QUEST_NorthTulimshar & $@knowLatoyNT))
goto L_Close;
menu
- "Latoy's shop. On the west side of Tulimshar.",L_HarborDistrict,
- "Mh, I don't know.",L_Close;
+ "Latoy's shop. It's on the west side of Tulimshar.",L_HarborDistrict,
+ "Hmmm... I don't know.",L_Close;
L_HarborDistrict:
set Zeny, Zeny + @clothes_money;
@@ -256,23 +259,25 @@ L_HarborDistrict:
set @state, 8;
callfunc "SetKylianQuest";
set @KylianNTCasino, 1;
- mes "You explain about Latoy and the high quality shop.";
+ mes "You explain about Latoy and the quality of his shop.";
+ next;
mes "[Kylian]";
mes "\"This seems to be exactly what I need. Thanks a lot.\"";
goto L_Close;
L_CasinoDone:
mes "[Kylian]";
- mes "\"I'm looking forward to going to the casino tonight. See me tomorrow.\"";
+ mes "\"I'm looking forward to going to the casino tonight. See me tomorrow, and I might have more requests.\"";
goto L_Close;
L_DesertHat: // @state == 8
mes "Kylian looks a bit tired.";
+ next;
mes "[Kylian]";
mes "\"That was an interesting night. Thanks for your suggestion to visit the casino.\"";
next;
getinventorylist;
- mes "\"You helped me a lot, so I bought a souvenir for you while I was shopping.\"";
+ mes "\"You helped me out a lot, so I bought a souvenir for you while I was out shopping.\"";
if ((checkweight("DesertHat", 1) == 0) || (@inventorylist_count == 100))
goto L_Inventory;
getitem "DesertHat", 1;
@@ -284,33 +289,33 @@ L_DesertHat: // @state == 8
L_Shop:
mes "[Kylian]";
mes "\"The Council of Wizards approved my shop license!\"";
- mes "\"I purchased a store just acorss the way from the hotel exit.\"";
+ mes "\"I purchased a store just across the way from the inn.\"";
next;
- mes "\"If you are looking for work, go see the shop keeper I have working for me.\"";
- mes "\"Mention your name and he will know I sent you.\"";
+ mes "\"If you are looking for work, go see the shop keeper I have working for me there.\"";
+ mes "\"Mention your name, and he will know I sent you.\"";
set @state, 10;
callfunc "SetKylianQuest";
goto L_Close;
L_OfferedJob:
mes "[Kylian]";
- mes "\"I spoke with the shopkeeper, They said you haven't stopped in yet.\"";
+ mes "\"I spoke with the shopkeeper, and he said you haven't stopped in yet.\"";
next;
- mes "\"I wish you would consider working for KPS.\"";
+ mes "\"I wish you would consider working for me.\"";
next;
- mes "\"KPS needs a well-traveled go getter like you.\"";
+ mes "\"KPS needs a determined, experienced adventurer like you.\"";
goto L_Close;
L_Helping:
mes "[Kylian]";
- mes "\"I've heard you decided to come work for me. That is great news.\"";
- mes "\"Keep up the good work and I might have something a little extra for you.\"";
+ mes "\"I've heard you decided to come work for me. That's great news!\"";
+ mes "\"Keep up the good work, and I might have something a little extra for you.\"";
goto L_Close;
L_Done:
mes "[Kylian]";
- mes "\"Thanks a bunch, buisness is booming!\"";
- mes "\"For your hard work take this.\"";
+ mes "\"Thanks a bunch, business is booming!\"";
+ mes "\"Please, take this for all your hard work.\"";
next;
set Zeny, Zeny + $@delivery_money;
getexp ($@delivery_exp_mod * BaseLevel), 0;
@@ -325,12 +330,12 @@ L_Done:
L_Inventory:
mes "[Kylian]";
- mes "\"Oh, you're carrying a lot of things. Come back when you have more room.\"";
+ mes "\"Oh my. You're carrying quite a lot. Come back when you have more room.\"";
goto L_Close;
L_NoItem:
mes "[Kylian]";
- mes "\"I don't see it! Are you trying to tease me? This is not funny!\"";
+ mes "\"I don't see it! Are you trying to tease me? This isn't funny!\"";
goto L_Close;
L_Close:
@@ -372,8 +377,8 @@ L_Menu:
menu
"Show Quest State", L_ShowState,
"Set Quest State", L_SetState,
- "Reset Timer to now", L_WorkTimer,
- "Reset Timer + 24 hours", L_MoreWorkTimer,
+ "Reset Timer to Now", L_WorkTimer,
+ "Reset Timer + 24 Hours", L_MoreWorkTimer,
"Close.", L_Close;
L_ShowState:
diff --git a/world/map/npc/002-5/sema.txt b/world/map/npc/002-5/sema.txt
index 7a859f05..57ac1790 100644
--- a/world/map/npc/002-5/sema.txt
+++ b/world/map/npc/002-5/sema.txt
@@ -59,7 +59,7 @@ L_Sema_TooMany:
L_Sema_Not_Happy:
set @state, 26;
callsub S_Update_Var;
- itemheal -Hp, 0;
+ heal -Hp, 0;
mes "A stone falls on your head.";
goto L_Close;
diff --git a/world/map/npc/007-1/witch.txt b/world/map/npc/007-1/witch.txt
index f1290699..e8eb1ffc 100644
--- a/world/map/npc/007-1/witch.txt
+++ b/world/map/npc/007-1/witch.txt
@@ -681,7 +681,7 @@ OnTimer300000:
goto L_EndQuest;
L_KillHero:
- percentheal -100, 0;
+ heal -Hp, 0;
goto L_EndQuest;
}
diff --git a/world/map/npc/009-1/jack.txt b/world/map/npc/009-1/jack.txt
index 3446c191..03e38c31 100644
--- a/world/map/npc/009-1/jack.txt
+++ b/world/map/npc/009-1/jack.txt
@@ -259,7 +259,6 @@ L_NohMask_Answer:
goto L_Close;
L_Made_Shield:
- next;
mes "[Jack Lumber]";
mes "\"Speaking of that shield...\"";
mes "\"It has put me behind on all these new Nivalis orders, now that the ship is running there.\"";
diff --git a/world/map/npc/009-1/old_woman.txt b/world/map/npc/009-1/old_woman.txt
index 83e59eaa..ac026357 100644
--- a/world/map/npc/009-1/old_woman.txt
+++ b/world/map/npc/009-1/old_woman.txt
@@ -10,21 +10,19 @@
mes "[Old Woman]";
mes "\"Hello deary.\"";
- next;
- goto L_Continue;
+ if ((@inspector >= 1 && @inspector <= 7) || @inspector == 9)
+ goto L_NohMask;
+ close;
L_Lower:
mes "[Old Woman]";
mes "\"Watch out for these flowers. They don't like to be messed with.\"";
- next;
- goto L_Continue;
-
-L_Continue:
if ((@inspector >= 1 && @inspector <= 7) || @inspector == 9)
goto L_NohMask;
- goto L_Close;
+ close;
L_NohMask:
+ next;
if (@inspector == 7)
goto L_NohMask_Alibi;
callfunc "ProcessEquip";
diff --git a/world/map/npc/009-2/entertainer.txt b/world/map/npc/009-2/entertainer.txt
index 57119894..61306b25 100644
--- a/world/map/npc/009-2/entertainer.txt
+++ b/world/map/npc/009-2/entertainer.txt
@@ -27,9 +27,13 @@ L_Close:
close;
OnTimer3000:
- emotion rand(EMOTE_DISGUST, EMOTE_TEARS);
- setnpctimer 0;
- end;
+ if(rand(0,1) == 1) goto L_manaplus;
+ emotion rand(EMOTE_DISGUST, EMOTE_BLAH);
+ goto OnInit;
+
+L_manaplus:
+ emotion rand(EMOTE_MEOW, EMOTE_TEARS);
+ goto OnInit;
OnInit:
if (debug >= 2) end;
diff --git a/world/map/npc/009-7/battlemaster.txt b/world/map/npc/009-7/battlemaster.txt
index 33eb04d0..c7316913 100644
--- a/world/map/npc/009-7/battlemaster.txt
+++ b/world/map/npc/009-7/battlemaster.txt
@@ -58,7 +58,7 @@ function|script|fightclub_GoBack
L_GoBack:
set DUELS, DUELS &~ $@DuelPvpBit;
warp "009-7", 39, 37;
- gmcommand "@alive";
+ heal MaxHp, MaxSp;
message strcharinfo(0), "Thank you for participating!";
return;
}
diff --git a/world/map/npc/009-7/core.txt b/world/map/npc/009-7/core.txt
index c4999606..ccbec25a 100644
--- a/world/map/npc/009-7/core.txt
+++ b/world/map/npc/009-7/core.txt
@@ -235,9 +235,9 @@ function|script|fightclub_Victory
function|script|fightclub_DestroyMe
{
set @Duel_Fighter, 0;
+ setpvpchannel @previous_channel;
sc_end 132; sc_end 14; sc_end 37; sc_end 185; sc_end 194; sc_end 195; sc_end 196; sc_end 197; sc_end 198; sc_end 199; // remove effects
- percentheal -100, 0; // doing @killer is unreliable
- gmcommand "@alive"; // refill hp/mana
+ heal MaxHp, MaxSp; // refill hp/mana
if(getmap() == "009-7") warp "009-7", rand($@fightclub_x1, $@fightclub_x2), rand(($@fightclub_y1 - 2), ($@fightclub_y1 - 3));
return;
}
@@ -303,6 +303,7 @@ function|script|fightclub_StartUp
setarray $@Duel_Queue_Red$, "";
cleararray $@Duel_Queue_Red$, "", ($@Duel_QueueLimit + 1);
set $@Duel_TotalTime, 0;
+ set $@Duel_Channel, 20;
if($fightclub_enabled) set $fightclub_enabled, 0; // this var moved to $SANGUINE
// DUELS flags below
set $@DuelPvpBit, (1 << 1);
@@ -435,7 +436,7 @@ function|script|fightclub_enter
{
set @Duel_Fighter, 1;
warp "009-7", rand($@fightclub_x1,$@fightclub_x2), rand($@fightclub_y1,$@fightclub_y2);
- gmcommand "@alive"; // ensure that you can't duel wih a corpse
+ heal MaxHp, MaxSp; // ensure that you can't duel wih a corpse
sc_end 132; sc_end 14; sc_end 37; sc_end 185; sc_end 194; sc_end 195; sc_end 196; sc_end 197; sc_end 198; sc_end 199; // remove effects
message strcharinfo(0), "Get Ready.";
addtimer ($@Duel_TimeBeforeStart * 1000), "#FightClubUtils::OnBecomeKiller"; // call fightclub_enter_killer in 3 seconds
@@ -445,8 +446,8 @@ function|script|fightclub_enter
// ** called 3 seconds after a player enters the ring
function|script|fightclub_enter_killer
{
- gmcommand "@killable";
- gmcommand "@killer"; // add both killable and killer so if one doesn't kick in, the other (hopefully) will
+ if(getpvpflag(0) != $@Duel_Channel) set @previous_channel, getpvpflag(0);
+ setpvpchannel $@Duel_Channel;
message strcharinfo(0), "GO !";
return;
}
diff --git a/world/map/npc/009-7/debug.txt b/world/map/npc/009-7/debug.txt
index f5283898..cd75a342 100644
--- a/world/map/npc/009-7/debug.txt
+++ b/world/map/npc/009-7/debug.txt
@@ -19,6 +19,7 @@ L_Menu:
mes "##3$##0Duel_LastDuel: ##7" + $Duel_LastDuel + "##0";
mes "---";
mes "##2@##0Duel_Fighter: ##7" + @Duel_Fighter + "##0";
+ mes "pvp channel: ##7" + getpvpflag(0) + "##0";
next;
menu
"toggle|Toggle $Duel_Enabled", L_DuelEnabled,
@@ -31,6 +32,7 @@ L_Menu:
"edit|Set $@Duel_PlayerQueueLimit", L_PlayerQueueLimit,
"edit|Set $@Duel_PlayerQueueTimeOut", L_PlayerQueueTimeOut,
"edit|Set $Duel_LastDuel", L_LastDuel,
+ "edit|Set pvp channel", L_Channel,
"toggle|Toggle @Duel_Fighter", L_DuelFighter,
"toggle|Toggle killer state", L_Killer,
"toggle|Toggle killable state", L_Killable,
@@ -127,6 +129,13 @@ L_LastDuel:
next;
goto L_Restart;
+L_Channel:
+ mes "range: 0~32767";
+ input @chn;
+ if(@last > 32767) goto L_OutOfRange;
+ setpvpchannel @chn;
+ goto L_Menu;
+
L_OutOfRange:
mes "Value out of range or empty.";
goto L_Menu;
diff --git a/world/map/npc/009-7/mapflags.txt b/world/map/npc/009-7/mapflags.txt
index 9fdd3a99..b0589894 100644
--- a/world/map/npc/009-7/mapflags.txt
+++ b/world/map/npc/009-7/mapflags.txt
@@ -1,2 +1,3 @@
009-7|mapflag|noteleport
009-7|mapflag|monster_noteleport
+009-7|mapflag|nopvp
diff --git a/world/map/npc/011-1/oscar.txt b/world/map/npc/011-1/oscar.txt
index 5a0994cc..157dc0c9 100644
--- a/world/map/npc/011-1/oscar.txt
+++ b/world/map/npc/011-1/oscar.txt
@@ -404,7 +404,7 @@ OnPDP:
L_KillBadHunter:
misceffect FX_PUMPKIN_EXPLOSION, strcharinfo(0);
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_PumpkinsRuined:
diff --git a/world/map/npc/012-3/mana-seed.txt b/world/map/npc/012-3/mana-seed.txt
index 3ed6d918..bb479c2b 100644
--- a/world/map/npc/012-3/mana-seed.txt
+++ b/world/map/npc/012-3/mana-seed.txt
@@ -213,7 +213,7 @@ L_magic_levelup:
set @SUP_xp, @exp_bonus[1 + getskilllv(SKILL_MAGIC)];
set @SUP_lvl, 1 + getskilllv(SKILL_MAGIC);
callfunc "SkillUp";
- itemheal 0, 10000;
+ heal 0, 10000, 1;
next;
goto L_end;
diff --git a/world/map/npc/015-3/katze.txt b/world/map/npc/015-3/katze.txt
index 8e94ce06..15dea917 100644
--- a/world/map/npc/015-3/katze.txt
+++ b/world/map/npc/015-3/katze.txt
@@ -43,7 +43,7 @@ L_NeedsMilk:
L_ThrowStone:
set @cat, 0;
callsub S_Update_Katze;
- percentheal -30, 0;
+ heal ((MaxHp/100) * -30), 0;
warp "015-1", 60, 32;
mes "\"GRAAUWL! Hissss...\"";
mes "Yikes, the cat attacked you! Your whole body is scratched. Maybe throwing a stone wasn't such a great idea...";
diff --git a/world/map/npc/017-4/waric.txt b/world/map/npc/017-4/waric.txt
index 421a04ab..f98cb0d0 100644
--- a/world/map/npc/017-4/waric.txt
+++ b/world/map/npc/017-4/waric.txt
@@ -215,8 +215,8 @@ L_Next3:
set @SUP_lvl, 2;
callfunc "SkillUp";
next;
- percentheal 100, 0;
- percentheal -99, 0;
+ heal MaxHp, 0;
+ heal ((MaxHp/100) * -99), 0;
mes "You feel completely exhausted.";
set OrumQuest, 36;
goto L_Close;
@@ -224,8 +224,8 @@ L_Next3:
L_NoOath:
mes "Waric mumbles something. You guess it's a magic spell.";
warp "005-3", 86 , 33;
- percentheal 100, 0;
- percentheal -50, 0;
+ heal MaxHp, 0;
+ heal ((MaxHp/100) * -50), 0;
set OrumQuest, OrumQuest + 1;
goto L_Close;
@@ -364,7 +364,7 @@ L_Banished:
mes "The wizard looks at you with despise.";
mes "[Waric]";
mes "\"How did you...\"";
- percentheal -100, 0;
+ heal -Hp, 0;
goto L_Close;
L_NoItem:
diff --git a/world/map/npc/018-2/caul.txt b/world/map/npc/018-2/caul.txt
index 5753b1aa..5d53ba48 100644
--- a/world/map/npc/018-2/caul.txt
+++ b/world/map/npc/018-2/caul.txt
@@ -465,7 +465,7 @@ L_mo_explode:
goto L_mo_explode_dodge;
mes "The burst of boiling monster brew hits you.";
next;
- itemheal (15 * rand(readparam(bVit))) - 1500, 0;
+ heal (15 * rand(readparam(bVit))) - 1500, 0, 1;
close;
L_mo_explode_dodge:
diff --git a/world/map/npc/025-3/barriers.txt b/world/map/npc/025-3/barriers.txt
index c9c404fa..e4a794f7 100644
--- a/world/map/npc/025-3/barriers.txt
+++ b/world/map/npc/025-3/barriers.txt
@@ -67,7 +67,7 @@ L_Win:
set $@cave1start, $@cave1start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave1_timer, $@cave1_timer + 5;
if ($@cave1_timer >= 60)
goto L_BadAir;
@@ -194,7 +194,7 @@ L_Win:
set $@cave2start, $@cave2start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave2_timer, $@cave2_timer + 5;
if ($@cave2_timer >= 60)
goto L_BadAir;
@@ -320,7 +320,7 @@ L_Win:
set $@cave3start, $@cave3start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave3_timer, $@cave3_timer + 5;
if ($@cave3_timer >= 60)
goto L_BadAir;
@@ -446,7 +446,7 @@ L_Win:
set $@cave4start, $@cave4start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave4_timer, $@cave4_timer + 5;
if ($@cave4_timer >= 60)
goto L_BadAir;
@@ -572,7 +572,7 @@ L_Win:
set $@cave5start, $@cave5start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave5_timer, $@cave5_timer + 5;
if ($@cave5_timer >= 60)
goto L_BadAir;
@@ -698,7 +698,7 @@ L_Win:
set $@cave6start, $@cave6start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave6_timer, $@cave6_timer + 5;
if ($@cave6_timer >= 60)
goto L_BadAir;
@@ -824,7 +824,7 @@ L_Win:
set $@cave7start, $@cave7start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave7_timer, $@cave7_timer + 5;
if ($@cave7_timer >= 60)
goto L_BadAir;
@@ -950,7 +950,7 @@ L_Win:
set $@cave8start, $@cave8start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave8_timer, $@cave8_timer + 5;
if ($@cave8_timer >= 60)
goto L_BadAir;
@@ -1076,7 +1076,7 @@ L_Win:
set $@cave9start, $@cave9start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave9_timer, $@cave9_timer + 5;
if ($@cave9_timer >= 60)
goto L_BadAir;
@@ -1172,7 +1172,7 @@ L_AlreadyClean:
L_Hurt:
message strcharinfo(0), "As you try to enter, you bump into a magic barrier. Its force pushes you back, hurting you badly.";
- percentheal @barrier_force * 10, 0;
+ heal (MaxHp * (@barrier_force / 10)), 0;
warp "025-3", 77, 164;
end;
@@ -1223,7 +1223,7 @@ L_Win:
set $@cave10start, $@cave10start + 60;
if (Hp - (MaxHp*5)/100 <= 0)
goto L_BadAir;
- percentheal -5, 0;
+ heal ((MaxHp/100) * -5), 0;
set $@cave10_timer, $@cave10_timer + 5;
if ($@cave10_timer >= 60)
goto L_BadAir;
@@ -1293,4 +1293,3 @@ L_AlreadyClean:
setnpctimer 0;
end;
}
-
diff --git a/world/map/npc/025-4/battlecaves.txt b/world/map/npc/025-4/battlecaves.txt
index c21fafbc..ffab9a05 100644
--- a/world/map/npc/025-4/battlecaves.txt
+++ b/world/map/npc/025-4/battlecaves.txt
@@ -16,7 +16,7 @@
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -108,7 +108,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -198,7 +198,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -289,7 +289,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -383,7 +383,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -477,7 +477,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -571,7 +571,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -667,7 +667,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -763,7 +763,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -854,7 +854,7 @@ L_Done:
if ($@battlecave10 == 1 && cavefights & BATTLE_CAVE1 && cavefights & BATTLE_CAVE2 && cavefights & BATTLE_CAVE3 && cavefights & BATTLE_CAVE4 && cavefights & BATTLE_CAVE5 && cavefights & BATTLE_CAVE6 && cavefights & BATTLE_CAVE7 && cavefights & BATTLE_CAVE8 && cavefights & BATTLE_CAVE9 && Rossy_Quest == 15)
goto L_Start;
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Start:
@@ -981,7 +981,7 @@ L_Out:
if (Rossy_Quest > 15)
goto L_Done;
message strcharinfo(0), "As you try to walk through, you bump into a strong magical barrier.";
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
end;
L_Done:
@@ -1003,7 +1003,7 @@ L_Done:
L_Cheat:
message strcharinfo(0), "You shouldn't be here, you cheater.";
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Done:
diff --git a/world/map/npc/027-3/casket_traps.txt b/world/map/npc/027-3/casket_traps.txt
index 030a4c78..6b00f2d3 100644
--- a/world/map/npc/027-3/casket_traps.txt
+++ b/world/map/npc/027-3/casket_traps.txt
@@ -3,7 +3,7 @@
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -13,7 +13,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -23,7 +23,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -33,7 +33,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -43,7 +43,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -53,7 +53,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -63,7 +63,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -73,7 +73,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
diff --git a/world/map/npc/027-4/casket_traps.txt b/world/map/npc/027-4/casket_traps.txt
index c4ee4da7..1aec16ab 100644
--- a/world/map/npc/027-4/casket_traps.txt
+++ b/world/map/npc/027-4/casket_traps.txt
@@ -3,7 +3,7 @@
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -13,7 +13,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -23,7 +23,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -33,7 +33,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -43,7 +43,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -53,7 +53,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -63,7 +63,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -73,7 +73,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
diff --git a/world/map/npc/027-5/casket_traps.txt b/world/map/npc/027-5/casket_traps.txt
index 1170c415..965f91cb 100644
--- a/world/map/npc/027-5/casket_traps.txt
+++ b/world/map/npc/027-5/casket_traps.txt
@@ -3,7 +3,7 @@
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -13,7 +13,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -23,7 +23,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -33,7 +33,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -43,7 +43,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -53,7 +53,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -63,7 +63,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -73,7 +73,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
diff --git a/world/map/npc/027-6/casket_traps.txt b/world/map/npc/027-6/casket_traps.txt
index e2ce6a6a..551f9d6b 100644
--- a/world/map/npc/027-6/casket_traps.txt
+++ b/world/map/npc/027-6/casket_traps.txt
@@ -3,7 +3,7 @@
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -13,7 +13,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -23,7 +23,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -33,7 +33,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -43,7 +43,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -53,7 +53,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
@@ -63,7 +63,7 @@ OnTouch:
end;
OnTouch:
- percentheal -10, 0;
+ heal ((MaxHp/100) * -10), 0;
specialeffect 301;
specialeffect 302;
end;
diff --git a/world/map/npc/029-1/hasan.txt b/world/map/npc/029-1/hasan.txt
index 1cded616..a5d3894b 100644
--- a/world/map/npc/029-1/hasan.txt
+++ b/world/map/npc/029-1/hasan.txt
@@ -170,7 +170,7 @@ L_Summon:
L_SummonAgain:
message strcharinfo(0), "Kaan is mad at you for your interference! He summons a rock above your head, then summons another scorpion near Hasan!";
- percentheal -100, 0;
+ heal -Hp, 0;
goto L_Summon;
OnTimer5000:
diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt
index f2aa728c..41e1fe8c 100644
--- a/world/map/npc/029-3/parua.txt
+++ b/world/map/npc/029-3/parua.txt
@@ -343,7 +343,7 @@ OnNewRound:
goto L_IdleCheckPassed;
set @candor_idle_counter, @candor_idle_counter + 1;
sc_start sc_poison, 1, @candor_idle_counter*25;
- percentheal -20 * @candor_idle_counter, 0;
+ heal ((MaxHp/100) * (-20 * @candor_idle_counter)), 0;
message strcharinfo(0), "The evil energy of this place hurts you. You should keep moving!";
end;
diff --git a/world/map/npc/030-4/mana_battery.txt b/world/map/npc/030-4/mana_battery.txt
index 28f791c8..c57e5ea5 100644
--- a/world/map/npc/030-4/mana_battery.txt
+++ b/world/map/npc/030-4/mana_battery.txt
@@ -277,7 +277,7 @@ OnTick:
L_DangerCell:
message strcharinfo(0), "Target Aquired. Locking on Now.";
misceffect 10001, strcharinfo(0);
- percentheal -20, 0;
+ heal ((MaxHp/100) * -20), 0;
end;
OnGuardDeath:
diff --git a/world/map/npc/033-1/kimarr.txt b/world/map/npc/033-1/kimarr.txt
index f51eae66..e1c26251 100644
--- a/world/map/npc/033-1/kimarr.txt
+++ b/world/map/npc/033-1/kimarr.txt
@@ -330,7 +330,7 @@ L_Punish:
areamonster "033-1", 79, 29, 88, 42, "", 1072, 1, "Kimarr::OnYetiDeath";
npctalk strcharinfo(0) + "! This hunt is for " + $@Fluffy_Fighter$ + " alone!";
- percentheal -100, 0;
+ heal -Hp, 0;
set @MobID, 0;
end;
diff --git a/world/map/npc/034-1/yetiSpawn.txt b/world/map/npc/034-1/yetiSpawn.txt
index 81d76ddd..c1f60312 100644
--- a/world/map/npc/034-1/yetiSpawn.txt
+++ b/world/map/npc/034-1/yetiSpawn.txt
@@ -51,7 +51,7 @@ L_End:
L_NonQuestKill:
message strcharinfo(0), "The dying Yeti takes you along to the other side.";
- percentheal -100, 0;
+ heal -Hp, 0;
goto L_End;
S_Update_Mask:
diff --git a/world/map/npc/048-2/slimes.txt b/world/map/npc/048-2/slimes.txt
index 99a1b7e3..b07420db 100644
--- a/world/map/npc/048-2/slimes.txt
+++ b/world/map/npc/048-2/slimes.txt
@@ -36,7 +36,7 @@
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
@@ -125,7 +125,7 @@ L_ClearedPoint:
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
@@ -214,7 +214,7 @@ L_ClearedPoint:
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
@@ -303,7 +303,7 @@ L_ClearedPoint:
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
@@ -392,7 +392,7 @@ L_ClearedPoint:
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
@@ -481,7 +481,7 @@ L_ClearedPoint:
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
@@ -570,7 +570,7 @@ L_ClearedPoint:
goto L_End;
L_BlowUp:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "A slime dripped out of a bookshelf right in front of you and stepped onto it. It exploded. That hurt.";
goto L_End;
diff --git a/world/map/npc/051-1/desert.txt b/world/map/npc/051-1/desert.txt
index 10164b36..02289bf4 100644
--- a/world/map/npc/051-1/desert.txt
+++ b/world/map/npc/051-1/desert.txt
@@ -50,7 +50,7 @@ OnTimer6500:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_HintToHelpers:
diff --git a/world/map/npc/051-1/forest.txt b/world/map/npc/051-1/forest.txt
index b0ff78af..870465c3 100644
--- a/world/map/npc/051-1/forest.txt
+++ b/world/map/npc/051-1/forest.txt
@@ -22,7 +22,7 @@
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_HandleHelper:
@@ -71,7 +71,7 @@ L_TaskComplete:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_Blocked:
diff --git a/world/map/npc/051-3/ambush.txt b/world/map/npc/051-3/ambush.txt
index fd663f33..305423ca 100644
--- a/world/map/npc/051-3/ambush.txt
+++ b/world/map/npc/051-3/ambush.txt
@@ -29,7 +29,7 @@ L_PrepareAmbush:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
@@ -47,7 +47,7 @@ L_MakeAmbush:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
message strcharinfo(0), "Your throat got cut by a sneaky bandit!";
end;
}
@@ -92,7 +92,7 @@ OnA:
if (strcharinfo(0) == $@ILLIA_HELPER3$)
goto L_CaptureHelper3;
// kill that player otherwise, since not part of the quest.
- percentheal -100,0;
+ heal -Hp, 0;
end;
L_CaptureHero:
@@ -100,8 +100,8 @@ L_CaptureHero:
// Unequip all equipments
nude;
// put the health at 40%.
- percentheal 100, 0;
- percentheal -60, 0;
+ heal MaxHp, 0;
+ heal ((MaxHp/100) * -60), 0;
warp "051-3", 69, 109;
message strcharinfo(0), "Meh... Where am I?";
end;
@@ -111,8 +111,8 @@ L_CaptureHelper1:
// Unequip all equipments
nude;
// put the health at 40%.
- percentheal 100, 0;
- percentheal -60, 0;
+ heal MaxHp, 0;
+ heal ((MaxHp/100) * -60), 0;
warp "051-3", 64, 102;
message strcharinfo(0), "Meh... Where am I?";
end;
@@ -122,8 +122,8 @@ L_CaptureHelper2:
// Unequip all equipments
nude;
// put the health at 40%.
- percentheal 100, 0;
- percentheal -60, 0;
+ heal MaxHp, 0;
+ heal ((MaxHp/100) * -60), 0;
warp "051-3", 62, 102;
message strcharinfo(0), "Meh... Where am I?";
end;
@@ -133,8 +133,8 @@ L_CaptureHelper3:
// Unequip all equipments
nude;
// put the health at 40%.
- percentheal 100, 0;
- percentheal -60, 0;
+ heal MaxHp, 0;
+ heal ((MaxHp/100) * -60), 0;
warp "051-3", 58, 102;
message strcharinfo(0), "Meh... Where am I?";
end;
diff --git a/world/map/npc/051-3/reinforcements.txt b/world/map/npc/051-3/reinforcements.txt
index 34f5434b..73236dec 100644
--- a/world/map/npc/051-3/reinforcements.txt
+++ b/world/map/npc/051-3/reinforcements.txt
@@ -10,7 +10,7 @@ L_CallReinforcements:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
@@ -24,7 +24,7 @@ L_ShouldNotBeHere:
"Do nothing", L_Close;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_TryOpen:
diff --git a/world/map/npc/052-1/channelling.txt b/world/map/npc/052-1/channelling.txt
index ac425fdb..e65d47a8 100644
--- a/world/map/npc/052-1/channelling.txt
+++ b/world/map/npc/052-1/channelling.txt
@@ -21,7 +21,7 @@ L_EnchantDoor:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
@@ -33,7 +33,7 @@ L_ShouldNotBeHere:
L_PushBack:
warp "052-1", 57, 34;
- percentheal -20, 0;
+ heal ((MaxHp/100) * -20), 0;
message strcharinfo(0), "You are pushed back violently. There is probably some way to break this barrier.";
mes "You are pushed back violently.";
mes "There is probably some way to break this barrier.";
@@ -231,7 +231,7 @@ S_CheckChannelling:
goto L_ChannellingFail;
// Display an effect showing the drain
misceffect FX_CHANNELLING_RAISE;
- percentheal -4, 0;
+ heal ((MaxHp/100) * -4), 0;
if (isdead())
goto L_ChannellingDead;
@@ -298,14 +298,14 @@ L_ChannellingMoved:
// and does not need being killed)
if (isin("052-1",1,1,100,80) == 0)
goto L_ChannellingFail;
- percentheal -100, 0;
+ heal -Hp, 0;
misceffect FX_MAGIC_DARK_EXPLOSION, strcharinfo(0);
message strcharinfo(0), "You moved out of the power circle. The magic power you accumulated backfires at you!";
goto L_ChannellingFail;
L_ChPwrVanish:
// kill the player as part of the process: the magic process drained his life.
- percentheal -100, 0;
+ heal -Hp, 0;
misceffect FX_MAGIC_DARK_EXPLOSION, strcharinfo(0);
message strcharinfo(0), "The magic power vanished, and your spell backfires at you!";
goto L_ChannellingFail;
@@ -324,6 +324,6 @@ L_ChannellingFail:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
diff --git a/world/map/npc/052-2/chest.txt b/world/map/npc/052-2/chest.txt
index 03b08b82..2012e0a8 100644
--- a/world/map/npc/052-2/chest.txt
+++ b/world/map/npc/052-2/chest.txt
@@ -26,7 +26,7 @@
goto L_Pick;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
OnInit:
diff --git a/world/map/npc/052-2/lobby.txt b/world/map/npc/052-2/lobby.txt
index 50eb472f..a8a2dfa2 100644
--- a/world/map/npc/052-2/lobby.txt
+++ b/world/map/npc/052-2/lobby.txt
@@ -28,7 +28,7 @@ L_Warp:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -100, 0;
end;
}
@@ -46,7 +46,7 @@ L_StartVoices:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -100, 0;
end;
}
diff --git a/world/map/npc/052-2/partyroom.txt b/world/map/npc/052-2/partyroom.txt
index 83bb51ee..a602704e 100644
--- a/world/map/npc/052-2/partyroom.txt
+++ b/world/map/npc/052-2/partyroom.txt
@@ -22,7 +22,7 @@ L_SpawnLuvia:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
@@ -59,7 +59,7 @@ L_Start:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
OnTimer1000:
@@ -281,6 +281,6 @@ OnW00t:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
diff --git a/world/map/npc/052-2/storage.txt b/world/map/npc/052-2/storage.txt
index 4ddfdc09..8abbb732 100644
--- a/world/map/npc/052-2/storage.txt
+++ b/world/map/npc/052-2/storage.txt
@@ -17,7 +17,7 @@
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
L_StartItemInvoker:
@@ -185,7 +185,7 @@ L_Warp:
end;
L_ShouldNotBeHere:
- percentheal -100, 0;
+ heal -Hp, 0;
end;
}
diff --git a/world/map/npc/055-1/pumpkins.txt b/world/map/npc/055-1/pumpkins.txt
index f0b9741c..528546bd 100644
--- a/world/map/npc/055-1/pumpkins.txt
+++ b/world/map/npc/055-1/pumpkins.txt
@@ -62,7 +62,7 @@ L_HeavyPoison1:
L_HeavyPoison2:
set @discover_poisonous_pumpkin, @discover_poisonous_pumpkin + 1;
misceffect FX_PUMPKIN_EXPLOSION, strcharinfo(0);
- percentheal -100,0;
+ heal -Hp, 0;
end;
}
diff --git a/world/map/npc/056-2/mirak.txt b/world/map/npc/056-2/mirak.txt
index 93dca520..e1a37347 100644
--- a/world/map/npc/056-2/mirak.txt
+++ b/world/map/npc/056-2/mirak.txt
@@ -103,7 +103,7 @@ L_TooSoon:
L_Kill:
misceffect sfx_magic_war, strcharinfo(0);
- percentheal -100, 0;
+ heal -Hp, 0;
set @annoy, 0;
callsub S_Update_Mask_Annoy;
set Mirak_Bantime, gettimetick(2) + 86400;
diff --git a/world/map/npc/annuals/xmas/barriers.txt b/world/map/npc/annuals/xmas/barriers.txt
index 4c7837af..5dd30774 100644
--- a/world/map/npc/annuals/xmas/barriers.txt
+++ b/world/map/npc/annuals/xmas/barriers.txt
@@ -92,7 +92,7 @@ L_EnterDialogue:
"Hit it with my strong fist.", L_Enter;
L_Tux9th:
- itemheal -20, 0;
+ heal -20, 0;
message strcharinfo(0), "Ouch, that hurt!";
setlook LOOK_HAIR_STYLE, rand(20);
goto L_Fail;
@@ -110,7 +110,7 @@ L_Sword:
L_Gloves:
mes "Wow! Next time you plan to hit a wall,";
mes "you had better equip some decent gloves in advance.";
- itemheal -20, 0;
+ heal -20, 0;
message strcharinfo(0), "Ouch, that hurt!";
goto L_QueryWarp;
diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt
index cf331060..45efcaae 100644
--- a/world/map/npc/functions/global_event_handler.txt
+++ b/world/map/npc/functions/global_event_handler.txt
@@ -39,5 +39,6 @@ L_Fightclub_Die:
goto L_End;
L_End:
+ if(getpvpflag(0) == $@Duel_Channel) setpvpflag @previous_channel;
end;
}
diff --git a/world/map/npc/items/scissors.txt b/world/map/npc/items/scissors.txt
index 7e58ae98..44dbbac8 100644
--- a/world/map/npc/items/scissors.txt
+++ b/world/map/npc/items/scissors.txt
@@ -3,7 +3,7 @@ function|script|useScissors
if (rand(3))
goto L_Change;
message strcharinfo(0), "Whoops!";
- itemheal -20 - rand(Hp >> 1), 0;
+ heal -20 - rand(Hp >> 1), 0;
getitem "Scissors", 1;
end;
diff --git a/world/map/npc/items/shock_sweet.txt b/world/map/npc/items/shock_sweet.txt
index e8ff6003..1ae787e3 100644
--- a/world/map/npc/items/shock_sweet.txt
+++ b/world/map/npc/items/shock_sweet.txt
@@ -3,7 +3,7 @@ function|script|useShockSweet
if (rand(5))
goto L_Change;
message strcharinfo(0), "Yuck, this tastes like earwax!";
- itemheal -20 - (Hp >> 2), 0;
+ heal -20 - (Hp >> 2), 0;
end;
L_Change: