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/002-5/sema.txt2
-rw-r--r--world/map/npc/007-1/witch.txt2
-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
49 files changed, 244 insertions, 293 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/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-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: