summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraj k <aj@keresztes.us>2024-05-15 10:29:02 -0400
committeraj k <aj@keresztes.us>2024-05-15 10:29:02 -0400
commit7b681ff6f956fe9edd945e963ba5a9df58293582 (patch)
tree347b7f1b59fa0f64a6ed6e49db2edfebe9e53174
parent662b46428a848066b1c8ca00882ed29e9b14f3ed (diff)
parentac309b51fc3eb6c844329f6a3fef6baa8543c332 (diff)
downloadserverdata-7b681ff6f956fe9edd945e963ba5a9df58293582.tar.gz
serverdata-7b681ff6f956fe9edd945e963ba5a9df58293582.tar.bz2
serverdata-7b681ff6f956fe9edd945e963ba5a9df58293582.tar.xz
serverdata-7b681ff6f956fe9edd945e963ba5a9df58293582.zip
asdf
-rw-r--r--.gitlab-ci.yml5
m---------client-data0
-rw-r--r--world/conf/char_athena.conf17
-rw-r--r--world/map/data/026-1.wlkbin18004 -> 18004 bytes
-rw-r--r--world/map/db/const-aegis.txt58
-rw-r--r--world/map/db/const.txt5
-rw-r--r--world/map/db/item_db.conf561
-rw-r--r--world/map/db/item_db_chest.txt3
-rw-r--r--world/map/db/item_db_foot.txt1
-rw-r--r--world/map/db/item_db_generic.txt15
-rw-r--r--world/map/db/item_db_head.txt24
-rw-r--r--world/map/db/item_db_trinket.txt3
-rw-r--r--world/map/db/item_db_use.txt10
-rw-r--r--world/map/db/item_db_weapon.txt7
-rw-r--r--world/map/db/mob_db.conf1592
-rw-r--r--world/map/db/mob_db_0_19.txt25
-rw-r--r--world/map/db/mob_db_20_39.txt7
-rw-r--r--world/map/db/mob_db_40_59.txt11
-rw-r--r--world/map/db/mob_db_60_79.txt5
-rw-r--r--world/map/db/mob_db_80_99.txt4
-rw-r--r--world/map/db/mob_db_over_100.txt17
-rw-r--r--world/map/db/mob_db_over_150.txt7
-rw-r--r--world/map/db/mob_skill_db.txt30
-rw-r--r--world/map/npc/001-2/_nodes.txt2
-rw-r--r--world/map/npc/011-1/shops.txt2
-rw-r--r--world/map/npc/018-1/mapflags.txt2
-rw-r--r--world/map/npc/018-2/mapflags.txt2
-rw-r--r--world/map/npc/018-3/mapflags.txt2
-rw-r--r--world/map/npc/029-2/sorfina.txt41
-rw-r--r--world/map/npc/029-2/stat_reset.txt2
-rw-r--r--world/map/npc/029-2/tanisha.txt9
-rw-r--r--world/map/npc/055-1/_mobs.txt2
-rw-r--r--world/map/npc/055-1/mapflags.txt2
-rw-r--r--world/map/npc/069-2/wizard.txt31
-rw-r--r--world/map/npc/commands/bosspoints.txt1
-rw-r--r--world/map/npc/commands/dailypoints.txt3
-rw-r--r--world/map/npc/commands/mobpoints.txt1
-rw-r--r--world/map/npc/functions/barber.txt4
-rw-r--r--world/map/npc/functions/dailyquest.txt71
-rw-r--r--world/map/npc/functions/global_event_handler.txt1
-rw-r--r--world/map/npc/functions/headstyles.txt14
-rw-r--r--world/map/npc/items/rubber_bat.txt2
-rw-r--r--world/map/npc/items/silver_bell.txt12
-rw-r--r--world/map/npc/magic/_import.txt10
-rw-r--r--world/map/npc/magic/_procedures.txt46
-rw-r--r--world/map/npc/magic/event-boss-powerup-disarm.txt41
-rw-r--r--world/map/npc/magic/event-boss-powerup-grenades.txt40
-rw-r--r--world/map/npc/magic/event-boss-powerup-headshot.txt54
-rw-r--r--world/map/npc/magic/event-boss-powerup-lifedrain.txt44
-rw-r--r--world/map/npc/magic/event-boss-powerup-manadrain.txt44
-rw-r--r--world/map/npc/magic/event-boss-powerup-poison.txt35
-rw-r--r--world/map/npc/magic/event-boss-powerup-tormenta.txt38
-rw-r--r--world/map/npc/magic/event-boss-powerup-totheabyss.txt57
-rw-r--r--world/map/npc/magic/event-boss-powerup-tothecrypt.txt57
-rw-r--r--world/map/npc/magic/level1-grow-shadow.txt40
-rw-r--r--world/map/npc/magic/level2-magic-knuckles.txt68
-rw-r--r--world/map/npc/magic/level2-shear.txt1
-rw-r--r--world/map/npc/mobs/mob_points.txt44
-rw-r--r--world/map/npc/scripts.conf1
59 files changed, 2876 insertions, 357 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2de0f1fe..93bfdaf1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,13 +22,13 @@ legacy:
- ./evolved.py
- cd ..
- git status
+ - (git status --porcelain | grep '.*') || exit 0 # skip if nothing to commit
- git config user.email "numa@themanaworld.org"
- git config user.name "Numa"
- git commit -a -m "Regenerate databases" --author="Numa <numa@themanaworld.org>"
- git push # may cause a CI loop >.<
only:
- master
- allow_failure: true
evolved:
stage: deploy
@@ -45,13 +45,13 @@ evolved:
- cp -v ../world/map/db/mob_db.conf db/pre-re/
- cp -v ../world/map/db/item_db.conf db/pre-re/
- git status
+ - (git status --porcelain | grep '.*') || exit 0 # skip if nothing to commit
- git config user.email "numa@themanaworld.org"
- git config user.name "Numa"
- git commit -a -m "Sync with Legacy repo" --author="Numa <numa@themanaworld.org>"
- git push
only:
- master
- allow_failure: true
pages:
stage: deploy
@@ -86,6 +86,7 @@ pages:
artifacts:
paths:
- public
+ expire_in: 1 month
only:
- stable
diff --git a/client-data b/client-data
new file mode 160000
+Subproject 613a7d13d75910d6c1179dd970fbc3f1181d9bf
diff --git a/world/conf/char_athena.conf b/world/conf/char_athena.conf
index 3e0fa61d..1da5dec3 100644
--- a/world/conf/char_athena.conf
+++ b/world/conf/char_athena.conf
@@ -44,18 +44,19 @@ min_name_length: 4
// set to 1 if you want to limit accounts to 1 character
char_slots: 9
-// max hair style and hair color
-max_hair_style: 1
-max_hair_color: 1
+// max hair style and hair color at start
+max_hair_style: 20
+max_hair_color: 13
-// the minimum value for stats (str, agi, ...)
+// the minimum value for stats on creation (str, agi, ...)
min_stat_value: 1
-// the maximum value for stats (str, agi, ...)
-max_stat_value: 1
+// the maximum value for stats on creation (str, agi, ...)
+max_stat_value: 10
-// the sum of all stats combined (str + agi + int + ...)
-total_stat_sum: 6
+// the sum of all stats combined on creation (str + agi + int + ...)
+// 48 / 2 = 24. You start with 1 in all of 6 -> need 24+6 = 30
+total_stat_sum: 30
// Filename of the file which receives the online players list in text
online_txt_filename: online.txt
diff --git a/world/map/data/026-1.wlk b/world/map/data/026-1.wlk
index d232da71..74153717 100644
--- a/world/map/data/026-1.wlk
+++ b/world/map/data/026-1.wlk
Binary files differ
diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt
index 0a8c8105..4cffcfcb 100644
--- a/world/map/db/const-aegis.txt
+++ b/world/map/db/const-aegis.txt
@@ -52,7 +52,7 @@ ArmorBreaker 5289
SilverArrow 5290
ThornArrow 5291
SnowLauncher 5261
-Revolver 5284
+Flintlock 5284
WeddingRing 702
FourLeafClover 742
Towel 749
@@ -62,6 +62,9 @@ SilverFourLeafAmulet 831
GoldenFourLeafAmulet 832
Grimoire 865
HeartOfIsis 879
+GMAmulet 908
+LeprechaunHead 909
+Rainerang 910
EnchantersAmulet 1227
DarkTalisman 1244
DiamondRing 4008
@@ -95,6 +98,7 @@ OrangeCottonBoots 2157
PurpleCottonBoots 2158
DarkGreenCottonBoots 2159
RedStockings 1188
+BlackWarlordBoots 5323
CasinoCoins 503
DecorCandy 504
MaggotSlime 505
@@ -352,6 +356,16 @@ SilverIngot 5296
GoldenTooth 5297
CloverDrawing 5298
ShadowHerb 5311
+CrozeniteCrystal 5313
+GoldOre 5314
+GoldIngot 5315
+BromenalOre 5316
+BromenalIngot 5317
+BromenalDroplet 5318
+ShadowPlantCrystalDust 5319
+CopperOre 5327
+CopperIngot 5328
+Charcoal 5332
LeatherShirt 523
DesertShirt 546
Turtleneck 564
@@ -598,6 +612,9 @@ BlackSaviorArmor 5305
OrangeSaviorArmor 5306
PurpleSaviorArmor 5307
DarkGreenSaviorArmor 5308
+BlackChainmailShirt 5320
+BlackLightPlatemail 5321
+BlackWarlordPlate 5322
SantaHat 511
FancyHat 524
MinersHat 525
@@ -823,6 +840,9 @@ PartyHatR 5281
PartyHatG 5282
PartyHatB 5283
HMCPirateHat 5287
+BlackWarlordHelmet 5324
+BlackInfantryHelmet 5325
+BlackCrusadeHelmet 5326
CactusDrink 501
CactusPotion 502
CandyCane 506
@@ -894,6 +914,7 @@ CranberryLollipop 838
GrapeLollipop 839
OrangeLollipop 840
PollettEgg 1189
+SilverBell 1226
CaramelApple 1229
LollipopColor1 1230
LollipopColor2 1231
@@ -932,6 +953,9 @@ CrazyRum 5294
ManaDust 5309
EnlighteningElixir 5310
Honey 5312
+IronShovel 5329
+ShadowScroll 5330
+YellowApple 5331
CottonShorts 586
JeansShorts 610
CottonSkirt 632
@@ -1172,7 +1196,6 @@ Floyd 1168
CrystalSpider 1169
CrystalGolem 1170
BlackCrystalGolem 1171
-Bif 1172
MontBlanc 1173
Emo 1174
MegaManaBug 1175
@@ -1196,3 +1219,34 @@ Tortuga 1191
Ratto 1192
Croc 1193
Birb 1194
+Brainblow 1195
+RickLime 1196
+Blanc1 1197
+Blanc2 1198
+SilverSlime 1199
+BromenalSlime 1200
+GoldSlime 1201
+IronSlime 1202
+CoalSlime 1203
+Bif 1172
+BigBif 1204
+SmallBif 1205
+AmethystBif 1206
+DiamondBif 1207
+EmeraldBif 1208
+RubyBif 1209
+SapphireBif 1210
+TopazBif 1211
+BigAmethystBif 1212
+BigDiamondBif 1213
+BigEmeraldBif 1214
+BigRubyBif 1215
+BigSapphireBif 1216
+BigTopazBif 1217
+SmallAmethystBif 1218
+SmallDiamondBif 1219
+SmallEmeraldBif 1220
+SmallRubyBif 1221
+SmallSapphireBif 1222
+SmallTopazBif 1223
+CoalGolem 1224
diff --git a/world/map/db/const.txt b/world/map/db/const.txt
index 6a9bcba7..b60a2bff 100644
--- a/world/map/db/const.txt
+++ b/world/map/db/const.txt
@@ -256,6 +256,11 @@ FX_MAGIC_DARK_EXPLOSION 42
FX_PUMPKIN_EXPLOSION 43
FX_GETITEM 44
FX_HUG 49
+FX_CHANNELLING_RAISE_RED 57
+FX_CHANNELLING_RAISE_BLUE 58
+FX_CHANNELLING_CAST_RED 59
+FX_CHANNELLING_CAST_BLUE 60
+FX_RED_MAGIC_CAST 61
FX_MAGIC_SHIELD_ENDS 111
FX_ELECTRICITY_RED 114
FX_ELECTRICITY_BLUE 115
diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf
index bf1d3f5d..c25a1dd3 100644
--- a/world/map/db/item_db.conf
+++ b/world/map/db/item_db.conf
@@ -1118,7 +1118,7 @@ item_db: (
WeaponLv: 1
EquipLv: 1
Refine: false
- Subtype: "W_HUUMA"
+ Subtype: "W_BOOK"
},
{
Id: 907
@@ -1142,7 +1142,7 @@ item_db: (
nomail: true
noauction: true
}
- Subtype: "W_HUUMA"
+ Subtype: "W_BOOK"
},
{
Id: 1199
@@ -1357,8 +1357,8 @@ item_db: (
},
{
Id: 5284
- AegisName: "Revolver"
- Name: "Revolver"
+ AegisName: "Flintlock"
+ Name: "Flintlock"
Type: "IT_WEAPON"
Buy: 150000
Sell: 500
@@ -1542,7 +1542,6 @@ item_db: (
Def: 0
Slots: 0
Loc: "EQP_ACC_L"
- WeaponLv: 0
EquipLv: 85
Refine: false
ViewSprite: 879
@@ -1552,6 +1551,69 @@ item_db: (
">
},
{
+ Id: 908
+ AegisName: "GMAmulet"
+ Name: "GMAmulet"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 1
+ Weight: 1
+ Def: 50
+ Matk: 20
+ Slots: 0
+ Loc: "EQP_ARMOR"
+ Refine: false
+ ViewSprite: 908
+ Nouse: {
+ override: 50
+ }
+ Script: <"
+ bonus bMaxHP, 31000;
+ bonus bHPrecovRate, 200;
+ bonus bCriticalDef, 50;
+ bonus bMdef, 50;
+ bonus bFlee, 20;
+ bonus bMatkRate, 20; // @EVOL2
+ bonus bHit, 50;
+ bonus bCritical, 50;
+ bonus bAspdRate, 20;
+ ">
+},
+{
+ Id: 909
+ AegisName: "LeprechaunHead"
+ Name: "LeprechaunHead"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 5000
+ Weight: 100
+ Def: 10
+ Slots: 0
+ Loc: "EQP_HEAD_TOP"
+ Refine: false
+ ViewSprite: 909
+ Script: <"
+ bonus bLuk, 3;
+ ">
+},
+{
+ Id: 910
+ AegisName: "Rainerang"
+ Name: "Rainerang"
+ Type: "IT_WEAPON"
+ Buy: 10000
+ Sell: 5000
+ Weight: 115
+ Atk: 60
+ Range: 4
+ Slots: 1
+ WeaponLv: 1
+ Loc: "EQP_HAND_R"
+ Refine: false
+ ViewSprite: 910
+ Subtype: "W_1HAXE"
+},
+{
Id: 1227
AegisName: "EnchantersAmulet"
Name: "EnchantersAmulet"
@@ -2142,6 +2204,25 @@ item_db: (
">
},
{
+ Id: 5323
+ AegisName: "BlackWarlordBoots"
+ Name: "BlackWarlordBoots"
+ Type: "IT_ARMOR"
+ Buy: 19000
+ Sell: 2000
+ Weight: 550
+ Matk: -22
+ Def: 5
+ Slots: 0
+ Loc: "EQP_SHOES"
+ Refine: false
+ ViewSprite: 5323
+ Script: <"
+ bonus bMatkRate, -22; // @EVOL2
+ ">
+},
+/* Items */
+{
Id: 503
AegisName: "CasinoCoins"
Name: "CasinoCoins"
@@ -5212,9 +5293,9 @@ item_db: (
AegisName: "Naftalin"
Name: "Naphthalene"
Type: "IT_ETC"
- Buy: 0
- Sell: 0
- Weight: 1
+ Buy: 500
+ Sell: 200
+ Weight: 10
Def: 0
Refine: false
ViewSprite: 5288
@@ -5302,7 +5383,7 @@ item_db: (
Type: "IT_ETC"
Buy: 20000
Sell: 2000
- Weight: 40
+ Weight: 20
Def: 0
Refine: false
ViewSprite: 5297
@@ -5341,6 +5422,185 @@ item_db: (
Refine: false
ViewSprite: 5311
},
+{
+ Id: 5313
+ AegisName: "CrozeniteCrystal"
+ Name: "CrozeniteCrystal"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 555
+ Def: 0
+ Refine: false
+ ViewSprite: 5313
+ Trade: {
+ notrade: true
+ nodrop: true
+ nostorage: false
+ nogstorage: false
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ //Disabled: true // @TMWA
+},
+{
+ Id: 5314
+ AegisName: "GoldOre"
+ Name: "GoldOre"
+ Type: "IT_ETC"
+ Buy: 3200
+ Sell: 1600
+ Weight: 40
+ Def: 0
+ Refine: false
+ ViewSprite: 5314
+},
+{
+ Id: 5315
+ AegisName: "GoldIngot"
+ Name: "GoldIngot"
+ Type: "IT_ETC"
+ Buy: 40000
+ Sell: 4400
+ Weight: 1000
+ Def: 0
+ Refine: false
+ ViewSprite: 5315
+ Trade: {
+ notrade: true
+ nodrop: true
+ nostorage: false
+ nogstorage: false
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ //Disabled: true // @TMWA
+},
+{
+ Id: 5316
+ AegisName: "BromenalOre"
+ Name: "BromenalOre"
+ Type: "IT_ETC"
+ Buy: 3200
+ Sell: 1600
+ Weight: 40
+ Def: 0
+ Refine: false
+ ViewSprite: 5316
+},
+{
+ Id: 5317
+ AegisName: "BromenalIngot"
+ Name: "BromenalIngot"
+ Type: "IT_ETC"
+ Buy: 30000
+ Sell: 3300
+ Weight: 1000
+ Def: 0
+ Refine: false
+ ViewSprite: 5317
+ Trade: {
+ notrade: true
+ nodrop: true
+ nostorage: false
+ nogstorage: false
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ //Disabled: true // @TMWA
+},
+{
+ Id: 5318
+ AegisName: "BromenalDroplet"
+ Name: "BromenalDroplet"
+ Type: "IT_ETC"
+ Buy: 15000
+ Sell: 1500
+ Weight: 20
+ Def: 0
+ Refine: false
+ ViewSprite: 5318
+ Trade: {
+ notrade: true
+ nodrop: true
+ nostorage: false
+ nogstorage: false
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+},
+{
+ Id: 5319
+ AegisName: "ShadowPlantCrystalDust"
+ Name: "ShadowPlantCrystalDust"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 1
+ Def: 0
+ Refine: false
+ ViewSprite: 5319
+ Trade: {
+ notrade: true
+ nodrop: true
+ nostorage: false
+ nogstorage: false
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ //Disabled: true // @TMWA
+},
+{
+ Id: 5327
+ AegisName: "CopperOre"
+ Name: "CopperOre"
+ Type: "IT_ETC"
+ Buy: 3200
+ Sell: 1600
+ Weight: 40
+ Def: 0
+ Refine: false
+ ViewSprite: 5328
+},
+{
+ Id: 5328
+ AegisName: "CopperIngot"
+ Name: "CopperIngot"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 2200
+ Weight: 1000
+ Def: 0
+ Refine: false
+ ViewSprite: 5328
+ Trade: {
+ notrade: true
+ nodrop: true
+ nostorage: false
+ nogstorage: false
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ //Disabled: true // @TMWA
+},
+{
+ Id: 5332
+ AegisName: "Charcoal"
+ Name: "Charcoal"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 200
+ Weight: 10
+ Def: 0
+ Refine: false
+ ViewSprite: 5332
+},
/* Chest Armor */
{
Id: 523
@@ -5679,7 +5939,6 @@ item_db: (
Def: 15
Slots: 0
Loc: "EQP_HEAD_MID"
- WeaponLv: 0
EquipLv: 90
Refine: false
ViewSprite: 755
@@ -5836,7 +6095,6 @@ item_db: (
Def: 7
Slots: 0
Loc: "EQP_HEAD_MID"
- WeaponLv: 0
EquipLv: 90
Refine: false
ViewSprite: 880
@@ -9897,6 +10155,60 @@ item_db: (
bonus bMaxHP, 100;
">
},
+{
+ Id: 5320
+ AegisName: "BlackChainmailShirt"
+ Name: "BlackChainmailShirt"
+ Type: "IT_ARMOR"
+ Buy: 15000
+ Sell: 1500
+ Weight: 800
+ Matk: -120
+ Def: 20
+ Slots: 0
+ Loc: "EQP_HEAD_MID"
+ Refine: false
+ ViewSprite: 5320
+ Script: <"
+ bonus bMatkRate, -120; // @EVOL2
+ ">
+},
+{
+ Id: 5321
+ AegisName: "BlackLightPlatemail"
+ Name: "BlackLightPlatemail"
+ Type: "IT_ARMOR"
+ Buy: 50000
+ Sell: 2500
+ Weight: 1200
+ Matk: -150
+ Def: 25
+ Slots: 0
+ Loc: "EQP_HEAD_MID"
+ Refine: false
+ ViewSprite: 5321
+ Script: <"
+ bonus bMatkRate, -150; // @EVOL2
+ ">
+},
+{
+ Id: 5322
+ AegisName: "BlackWarlordPlate"
+ Name: "BlackWarlordPlate"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 6000
+ Weight: 2600
+ Matk: -170
+ Def: 27
+ Slots: 0
+ Loc: "EQP_HEAD_MID"
+ Refine: false
+ ViewSprite: 5322
+ Script: <"
+ bonus bMatkRate, -170; // @EVOL2
+ ">
+},
//////////////////////////////////////////////////////////
// Hats
{
@@ -10841,7 +11153,6 @@ item_db: (
Def: 19
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 90
Refine: false
ViewSprite: 877
@@ -10871,7 +11182,6 @@ item_db: (
Def: 9
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 882
@@ -10890,7 +11200,6 @@ item_db: (
Def: 9
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 883
@@ -10909,7 +11218,6 @@ item_db: (
Def: 9
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 884
@@ -10928,7 +11236,6 @@ item_db: (
Def: 9
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 885
@@ -10947,7 +11254,6 @@ item_db: (
Def: 9
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 886
@@ -10966,7 +11272,6 @@ item_db: (
Def: 9
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 887
@@ -11481,7 +11786,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 1255
@@ -11500,7 +11804,6 @@ item_db: (
Def: 12
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 1256
@@ -11918,7 +12221,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2190
@@ -11938,7 +12240,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2191
@@ -11958,7 +12259,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2192
@@ -11978,7 +12278,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2193
@@ -11998,7 +12297,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2194
@@ -12018,7 +12316,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2195
@@ -12038,7 +12335,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2196
@@ -12058,7 +12354,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2197
@@ -12078,7 +12373,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2198
@@ -12098,7 +12392,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2199
@@ -12118,7 +12411,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2200
@@ -12139,7 +12431,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2201
@@ -12160,7 +12451,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2202
@@ -12181,7 +12471,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2203
@@ -12202,7 +12491,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2204
@@ -12223,7 +12511,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2205
@@ -12244,7 +12531,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2206
@@ -12265,7 +12551,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2207
@@ -12286,7 +12571,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2208
@@ -12307,7 +12591,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2209
@@ -12991,7 +13274,6 @@ item_db: (
Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 4028
@@ -13181,7 +13463,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_TOP"
- WeaponLv: 0
EquipLv: 18
Refine: false
ViewSprite: 5201
@@ -13708,7 +13989,7 @@ item_db: (
Buy: 1000
Sell: 500
Weight: 50
- Def: 3
+ Def: 5
Slots: 0
Loc: "EQP_HEAD_TOP"
Refine: false
@@ -13756,6 +14037,9 @@ item_db: (
Loc: "EQP_HEAD_TOP"
Refine: false
ViewSprite: 5280
+ Script: <"
+ bonus bLuk, 1;
+ ">
},
{
Id: 5281
@@ -13818,6 +14102,60 @@ item_db: (
bonus bCriticalDef, 5;
">
},
+{
+ Id: 5324
+ AegisName: "BlackWarlordHelmet"
+ Name: "BlackWarlordHelmet"
+ Type: "IT_ARMOR"
+ Buy: 30000
+ Sell: 3000
+ Weight: 900
+ Matk: -36
+ Def: 18
+ Slots: 0
+ Loc: "EQP_HEAD_TOP"
+ Refine: false
+ ViewSprite: 5324
+ Script: <"
+ bonus bMatkRate, -36; // @EVOL2
+ ">
+},
+{
+ Id: 5325
+ AegisName: "BlackInfantryHelmet"
+ Name: "BlackInfantryHelmet"
+ Type: "IT_ARMOR"
+ Buy: 15000
+ Sell: 1500
+ Weight: 400
+ Matk: -30
+ Def: 15
+ Slots: 0
+ Loc: "EQP_HEAD_TOP"
+ Refine: false
+ ViewSprite: 5325
+ Script: <"
+ bonus bMatkRate, -30; // @EVOL2
+ ">
+},
+{
+ Id: 5326
+ AegisName: "BlackCrusadeHelmet"
+ Name: "BlackCrusadeHelmet"
+ Type: "IT_ARMOR"
+ Buy: 25000
+ Sell: 2500
+ Weight: 1300
+ Matk: -36
+ Def: 18
+ Slots: 0
+ Loc: "EQP_HEAD_TOP"
+ Refine: false
+ ViewSprite: 5326
+ Script: <"
+ bonus bMatkRate, -36; // @EVOL2
+ ">
+},
/* Usable items */
{
Id: 501
@@ -14354,15 +14692,15 @@ item_db: (
AegisName: "GreenApple"
Name: "GreenApple"
Type: "IT_USABLE"
- Buy: 20
- Sell: 5
+ Buy: 25
+ Sell: 6
Weight: 5
Def: 0
Slots: 0
Refine: false
ViewSprite: 719
Script: <"
- callfunc "itheal", 45, 0;
+ callfunc "itheal", 50, 0;
">
},
{
@@ -14667,6 +15005,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 808
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "HitchhikersTowel";
callfunc "WarpTowel";
@@ -14684,6 +15023,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 809
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "WhiteHitchhikersTowel";
callfunc "WarpTowel";
@@ -14701,6 +15041,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 810
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "RedHitchhikersTowel";
callfunc "WarpTowel";
@@ -14718,6 +15059,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 811
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "GreenHitchhikersTowel";
callfunc "WarpTowel";
@@ -14735,6 +15077,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 812
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "BlueHitchhikersTowel";
callfunc "WarpTowel";
@@ -14752,6 +15095,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 813
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "YellowHitchhikersTowel";
callfunc "WarpTowel";
@@ -14769,6 +15113,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 814
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "PurpleHitchhikersTowel";
callfunc "WarpTowel";
@@ -14786,6 +15131,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 815
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "OrangeHitchhikersTowel";
callfunc "WarpTowel";
@@ -14803,6 +15149,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 816
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "PinkHitchhikersTowel";
callfunc "WarpTowel";
@@ -14820,6 +15167,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 817
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "TealHitchhikersTowel";
callfunc "WarpTowel";
@@ -14837,6 +15185,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 818
+ KeepAfterUse: true
Script: <"
set @warpTowelName$, "LimeHitchhikersTowel";
callfunc "WarpTowel";
@@ -14971,6 +15320,23 @@ item_db: (
">
},
{
+ Id: 1226
+ AegisName: "SilverBell"
+ Name: "SilverBell"
+ Type: "IT_USABLE"
+ Buy: 6000
+ Sell: 3000
+ Weight: 25
+ Def: 0
+ Slots: 0
+ Refine: false
+ ViewSprite: 1226
+ KeepAfterUse: true
+ Script: <"
+ callfunc "SilverBellSound";
+ ">
+},
+{
Id: 1229
AegisName: "CaramelApple"
Name: "CaramelApple"
@@ -15143,6 +15509,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 1280
+ KeepAfterUse: true
Script: <"
callfunc "useScissors";
">
@@ -15175,6 +15542,7 @@ item_db: (
Slots: 0
Refine: false
ViewSprite: 3001
+ KeepAfterUse: true
Script: <"
callfunc "rubberBat";
">
@@ -15551,6 +15919,7 @@ item_db: (
//callfunc("SC_Bonus", 60000, SC_PHYS_SHIELD, 40); //@TMWA
//misceffect FX_MAGIC_SHIELD, strcharinfo(0); //@TMWA
">
+ // TODO: betsanc of Crazy Rum can be chanceled with detsanc so add SC_PHYS_SHIELD_ITEM to prevent this
},
{
Id: 5309
@@ -15598,7 +15967,58 @@ item_db: (
callfunc "itheal", 200, 50;
">
},
-
+{
+ Id: 5329
+ AegisName: "IronShovel"
+ Name: "Iron Shovel"
+ Type: "IT_USABLE"
+ Buy: 5000
+ Sell: 750
+ Weight: 210
+ Refine: false
+ KeepAfterUse: true
+ Script: <"
+ if (@useType == 1) { //@EVOL2
+ doevent "Shovel::OnBury"; //@EVOL2
+ } else { //@EVOL2
+ doevent "Shovel::OnDig"; //@EVOL2
+ } //@EVOL2
+ //getitem IronShovel, 1; // @TMWA
+ ">
+ // TODO: add keep after use flag to evolved.py and tmwa and replicate the 5 lines above
+},
+{
+ Id: 5330
+ AegisName: "ShadowScroll"
+ Name: "Shadow Scroll"
+ Type: "IT_USABLE"
+ Buy: 5000
+ Sell: 1000
+ Weight: 7
+ Script: <"
+ callfunc "learnskill", SKILL_MODRISHA; // @EVOL2
+ @skillId = SKILL_MODRISHA; // @EVOL2
+ @skillLv = 1; // @EVOL2
+ callfunc "SK_GrowPlants", false; // @EVOL2
+ //callfunc "UnreleasedScroll"; // @TMWA
+ ">
+},
+{
+ Id: 5331
+ AegisName: "YellowApple"
+ Name: "YellowApple"
+ Type: "IT_USABLE"
+ Buy: 25
+ Sell: 6
+ Weight: 5
+ Def: 0
+ Slots: 0
+ Refine: false
+ ViewSprite: 5331
+ Script: <"
+ callfunc "itheal", 50, 0;
+ ">
+},
/* Legs Armor */
{
Id: 586
@@ -15612,7 +16032,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 586
@@ -15650,7 +16069,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 632
@@ -15688,7 +16106,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 648
@@ -15748,7 +16165,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 771
@@ -15805,7 +16221,6 @@ item_db: (
Def: 1
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 881
@@ -15824,7 +16239,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 1172
@@ -15841,7 +16255,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2100
@@ -15861,7 +16274,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2101
@@ -15881,7 +16293,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2102
@@ -15901,7 +16312,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2103
@@ -15921,7 +16331,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2104
@@ -15941,7 +16350,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2105
@@ -15961,7 +16369,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2106
@@ -15981,7 +16388,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2107
@@ -16001,7 +16407,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2108
@@ -16021,7 +16426,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2109
@@ -16041,7 +16445,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2110
@@ -16061,7 +16464,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2111
@@ -16081,7 +16483,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2112
@@ -16101,7 +16502,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2113
@@ -16121,7 +16521,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2114
@@ -16141,7 +16540,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2115
@@ -16161,7 +16559,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2116
@@ -16181,7 +16578,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2117
@@ -16201,7 +16597,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2118
@@ -16221,7 +16616,6 @@ item_db: (
Def: 2
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2119
@@ -16241,7 +16635,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2170
@@ -16261,7 +16654,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2171
@@ -16281,7 +16673,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2172
@@ -16301,7 +16692,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2173
@@ -16321,7 +16711,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2174
@@ -16341,7 +16730,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2175
@@ -16361,7 +16749,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2176
@@ -16381,7 +16768,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2177
@@ -16401,7 +16787,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2178
@@ -16421,7 +16806,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2179
@@ -16441,7 +16825,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2180
@@ -16461,7 +16844,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2181
@@ -16481,7 +16863,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2182
@@ -16501,7 +16882,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2183
@@ -16521,7 +16901,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2184
@@ -16541,7 +16920,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2185
@@ -16561,7 +16939,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2186
@@ -16581,7 +16958,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2187
@@ -16601,7 +16977,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2188
@@ -16621,7 +16996,6 @@ item_db: (
Def: 4
Slots: 0
Loc: "EQP_HEAD_LOW"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 2189
@@ -16947,7 +17321,6 @@ item_db: (
Def: 0
Slots: 0
Loc: "EQP_HAND_L"
- WeaponLv: 0
EquipLv: 1
Refine: false
ViewSprite: 585
diff --git a/world/map/db/item_db_chest.txt b/world/map/db/item_db_chest.txt
index 7212fed6..27b04137 100644
--- a/world/map/db/item_db_chest.txt
+++ b/world/map/db/item_db_chest.txt
@@ -260,3 +260,6 @@
5306, OrangeSaviorArmor, 5, 0, 0, 2000, 0, 24, 0, -90, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bDex, 1; bonus bMaxHP, 100;}
5307, PurpleSaviorArmor, 5, 0, 0, 2000, 0, 24, 0, -90, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bDex, 1; bonus bMaxHP, 100;}
5308, DarkGreenSaviorArmor, 5, 0, 0, 2000, 0, 24, 0, -90, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bDex, 1; bonus bMaxHP, 100;}
+5320, BlackChainmailShirt, 5, 15000, 1500, 800, 0, 20, 0, -120, 0, 2, 512, 0, 0, 0, 0, {}, {}
+5321, BlackLightPlatemail, 5, 50000, 2500, 1200, 0, 25, 0, -150, 0, 2, 512, 0, 0, 0, 0, {}, {}
+5322, BlackWarlordPlate, 5, 200000, 6000, 2600, 0, 27, 0, -170, 0, 2, 512, 0, 0, 0, 0, {}, {}
diff --git a/world/map/db/item_db_foot.txt b/world/map/db/item_db_foot.txt
index 606fec57..ac5264de 100644
--- a/world/map/db/item_db_foot.txt
+++ b/world/map/db/item_db_foot.txt
@@ -20,3 +20,4 @@
2157, OrangeCottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {}
2158, PurpleCottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {}
2159, DarkGreenCottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {}
+5323, BlackWarlordBoots, 5, 19000, 2000, 550, 0, 5, 0, -22, 0, 2, 64, 0, 0, 0, 0, {}, {}
diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt
index d5925c37..36c46f43 100644
--- a/world/map/db/item_db_generic.txt
+++ b/world/map/db/item_db_generic.txt
@@ -263,11 +263,22 @@
//5276, ThermalNapalm, 3, 9999, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 5, {}, {}
//5278, XmasTicket, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
5279, Carrot, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
-5288, Naftalin, 3, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+5288, Naftalin, 3, 500, 200, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
5292, SilverOre, 3, 1600, 800, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
//5293, CrystallizedDragonBlood,3, 0, 0, 1111, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
5295, PinkFlowerSeed, 3, 0, 0, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
//5296, SilverIngot, 3, 20000, 2200, 1000, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
-5297, GoldenTooth, 3, 20000, 2000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+5297, GoldenTooth, 3, 20000, 2000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
//5298, CloverDrawing, 3, 0, 0, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
5311, ShadowHerb, 3, 2, 1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+//5313, CrozeniteCrystal, 3, 0, 0, 555, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
+5314, GoldOre, 3, 3200, 1600, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+//5315, GoldIngot, 3, 40000, 4400, 1000, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
+//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+5316, BromenalOre, 3, 3200, 1600, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+//5317, BromenalIngot, 3, 30000, 3300, 1000, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
+5318, BromenalDroplet, 3, 15000, 1500, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
+//5319, ShadowPlantCrystalDust, 3, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
+5327, CopperOre, 3, 3200, 1600, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+//5328, CopperIngot, 3, 20000, 2200, 1000, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {}, {}
+5332, Charcoal, 3, 500, 200, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
diff --git a/world/map/db/item_db_head.txt b/world/map/db/item_db_head.txt
index 29c9c402..7c4ae5d7 100644
--- a/world/map/db/item_db_head.txt
+++ b/world/map/db/item_db_head.txt
@@ -77,6 +77,7 @@
901, OrangeRoseHat, 5, 5000, 1000, 0, 0, 1, 0, 8, 0, 2, 256, 0, 0, 0, 0, {}, {}
902, BlueRoseHat, 5, 5000, 1000, 0, 0, 1, 0, 8, 0, 2, 256, 0, 0, 0, 0, {}, {}
905, BucketHat, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
+909, LeprechaunHead, 5, 10000, 5000, 100, 0, 10, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 3;}
1173, TamOShanter, 5, 5000, 500, 20, 0, 9, 0, -2, 0, 2, 256, 0, 0, 0, 0, {}, {}
1174, CashiersShade, 5, 4000, 500, 15, 0, 2, 0, -10, 0, 2, 256, 0, 0, 0, 0, {}, {}
1175, AutumnMask, 5, 5000, 500, 10, 0, 1, 0, 4, 0, 2, 256, 0, 0, 0, 0, {}, {}
@@ -84,8 +85,8 @@
1196, Beret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
1203, RangerHat, 5, 1000, 500, 20, 0, 2, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
1204, AntlerHat, 5, 1000, 500, 15, 0, 4, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
-1205, ChristmasTreeHat, 5, 2000, 1000, 20, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+1205, ChristmasTreeHat, 5, 2000, 1000, 20, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
1206, SantaBeardHat, 5, 1000, 500, 20, 0, 5, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
1214, BunnyEars, 5, 5000, 2000, 20, 0, 10, 0, 1, 0, 2, 256, 0, 0, 0, 0, {}, {}
1216, MoubooHead, 5, 10, 1, 80, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
@@ -105,8 +106,8 @@
1279, GoblinMask, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
2130, RedDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
2131, GreenDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
-2132, DarkBlueDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+2132, DarkBlueDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
2133, YellowDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
2134, LightBlueDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
2135, PinkDesertHat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {}
@@ -126,8 +127,8 @@
2149, DarkGreenCottonHeadband,5, 3000, 500, 5, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
2190, RedRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
2191, GreenRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
-2192, DarkBlueRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+2192, DarkBlueRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
2193, YellowRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
2194, LightBlueRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
2195, PinkRabbitEars, 5, 7000, 3500, 15, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, 0, {}, {}
@@ -147,8 +148,8 @@
2209, DarkGreenWizardHat, 5, 5000, 2500, 20, 0, 5, 0, 5, 0, 2, 256, 0, 1, 0, 0, {}, {bonus bInt, 3;}
2210, RedBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
2211, GreenBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
-2212, DarkBlueBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+2212, DarkBlueBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
2213, YellowBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
2214, LightBlueBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
2215, PinkBowlerHat, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
@@ -168,8 +169,8 @@
2239, DarkGreenBowlerHatBrown,5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
2260, RedBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
2261, GreenBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
-2262, DarkBlueBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+2262, DarkBlueBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
2263, YellowBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
2264, LightBlueBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
2265, PinkBeret, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAgi, 2;}
@@ -189,8 +190,8 @@
4031, Monocle, 5, 5000, 2500, 20, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bDex, 1; bonus bLuk, 1; bonus bCritical, 10;}
4032, PanHat, 5, 1000, 500, 400, 0, 13, 0, -20, 0, 2, 256, 0, 0, 0, 0, {}, {}
4033, ChefHat, 5, 1000, 500, 30, 0, 2, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {}
-4042, RedNose, 5, 4000, 1000, 4, 0, 2, 0, 7, 0, 2, 256, 0, 0, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+4042, RedNose, 5, 4000, 1000, 4, 0, 2, 0, 7, 0, 2, 256, 0, 0, 0, 0, {}, {}
5128, DarkHelm, 5, 50000, 10000, 800, 0, 19, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bMaxHPrate, 10; bonus bHPrecovRate, 10; bonus bInt, -Int;}
5129, UnderworldMask, 5, 50000, 10000, 100, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {callfunc "UnderworldTroll"; bonus bAtkRange, 2; bonus bInt, -Int; bonus bAgi, 3; bonus bDex, 2;}
5130, Phylactery, 5, 50000, 10000, 20, 0, 1, 0, 90, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bAspdRate, 25; bonus bDex, -(Dex)/3;}
@@ -210,8 +211,8 @@
5232, GreenPresentHat, 5, 1000, 1, 60, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5233, BluePresentHat, 5, 1000, 1, 60, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5234, YellowPresentHat, 5, 1000, 1, 60, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
-5238, AFKCap, 5, 1000, 1, 60, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+5238, AFKCap, 5, 1000, 1, 60, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5239, Aureole, 5, 1000, 1, 60, 0, 0, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bFlee, 50;}
5240, SmileyCap, 5, 1000, 1, 60, 0, 1, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5241, RedShades, 5, 500, 100, 20, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
@@ -230,11 +231,14 @@
5259, BlinkingEvilHalloween, 5, 10000, 5000, 50, 0, 13, 0, 10, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bMdef, 5;}
5262, MovieCap, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5264, BlueWolfHelmet, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
-5266, CloverHat, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 1;}
-5267, AssassinMask, 5, 30000, 3000, 10, 0, 0, 0, -5, 0, 2, 256, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bMdef, 5; bonus bAgi, 9; bonus bDex, 1; bonus bMaxHP, 70; bonus bCritical, 15; bonus bAspdRate, 15; bonus bDoubleAddRate, 15;}
+5266, CloverHat, 5, 1000, 500, 50, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 1;}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
-5280, LeprechaunHat, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
+5267, AssassinMask, 5, 30000, 3000, 10, 0, 0, 0, -5, 0, 2, 256, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bMdef, 5; bonus bAgi, 9; bonus bDex, 1; bonus bMaxHP, 70; bonus bCritical, 15; bonus bAspdRate, 15; bonus bDoubleAddRate, 15;}
+5280, LeprechaunHat, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 1;}
5281, PartyHatR, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5282, PartyHatG, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5283, PartyHatB, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {}
5287, HMCPirateHat, 5, 1600, 800, 20, 0, 5, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bMdef, 15; bonus bMaxHP, 50; bonus bCriticalDef, 5;}
+5324, BlackWarlordHelmet, 5, 30000, 3000, 900, 0, 18, 0, -36, 0, 2, 256, 0, 0, 0, 0, {}, {}
+5325, BlackInfantryHelmet, 5, 15000, 1500, 400, 0, 15, 0, -30, 0, 2, 256, 0, 0, 0, 0, {}, {}
+5326, BlackCrusadeHelmet, 5, 25000, 2500, 1300, 0, 18, 0, -36, 0, 2, 256, 0, 0, 0, 0, {}, {}
diff --git a/world/map/db/item_db_trinket.txt b/world/map/db/item_db_trinket.txt
index 79a166ee..30d84c04 100644
--- a/world/map/db/item_db_trinket.txt
+++ b/world/map/db/item_db_trinket.txt
@@ -12,6 +12,7 @@
832, GoldenFourLeafAmulet, 5, 40000, 4000, 10, 0, 0, 0, 5, 0, 2, 16, 0, 0, 0, 0, {}, {bonus bLuk, 4;}
865, Grimoire, 5, 5000, 2500, 222, 0, 0, 0, 5, 0, 2, 8, 0, 0, 0, 0, {}, {bonus bMaxSP, 30;}
879, HeartOfIsis, 5, 70000, 35000, 40, 0, 0, 0, 0, 0, 2, 8, 0, 85, 0, 0, {}, {bonus bMaxHPrate, 15; bonus bHPrecovRate, 60;}
+908, GMAmulet, 5, 1000, 1, 1, 0, 50, 0, 20, 0, 2, 16, 0, 0, 0, 0, {}, {callfunc "RestrictedItem"; bonus bMaxHP, 31000; bonus bHPrecovRate, 200; bonus bCriticalDef, 50; bonus bMdef, 50; bonus bFlee, 20; bonus bHit, 50; bonus bCritical, 50; bonus bAspdRate, 20;}
1227, EnchantersAmulet, 5, 1000, 1, 10, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, 0, {}, {bonus bHit, 22;}
1244, DarkTalisman, 5, 0, 0, 0, 0, 0, 0, 100, 0, 2, 8, 0, 0, 0, 0, {}, {bonus bMdef, 30;}
4008, DiamondRing, 5, 5000, 2500, 25, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, 0, {}, {bonus bVit, 1;}
@@ -21,8 +22,8 @@
4012, TopazRing, 5, 5000, 2500, 25, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, 0, {}, {bonus bAgi, 1;}
4013, AmethystRing, 5, 5000, 2500, 25, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, 0, {}, {bonus bDex, 1;}
4014, SimpleRing, 5, 100000, 2500, 5, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, 0, {}, {}
-5252, GuardianWings, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, 0, {}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+5252, GuardianWings, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, 0, {}, {}
5253, MageRing, 5, 0, 0, 3, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, 0, {}, {bonus bInt, 1;}
//5268, AssassinRing, 5, 1000, 1, 5, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 1; bonus bCritical, 5; bonus bAspdRate, 5;}
//5269, AssassinAmulet, 5, 1000, 1, 10, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 1; bonus bDoubleAddRate, 5; bonus bHit, 25;}
diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt
index a955df74..ff668722 100644
--- a/world/map/db/item_db_use.txt
+++ b/world/map/db/item_db_use.txt
@@ -36,7 +36,7 @@
715, MountainSnakeEgg, 0, 80, 40, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 40, 0, 1;}, {}
716, GrassSnakeEgg, 0, 100, 50, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
717, CaveSnakeEgg, 0, 60, 30, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 20, 0, 1;}, {}
-719, GreenApple, 0, 20, 5, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 45, 0, 1;}, {}
+719, GreenApple, 0, 25, 6, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
733, PurificationPotion, 0, 0, 0, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "usePurificationPotion";}, {}
736, WhiteCake, 0, 500, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
737, ChocolateCake, 0, 550, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 11, 0, 1;}, {}
@@ -76,6 +76,7 @@
839, GrapeLollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
840, OrangeLollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
1189, PollettEgg, 0, 250, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 75, 10, 1;}, {}
+1226, SilverBell, 0, 6000, 3000, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "SilverBellSound";}, {}
1229, CaramelApple, 0, 500, 75, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 1000, 0, 1;}, {}
1230, LollipopColor1, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
1231, LollipopColor2, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
@@ -84,8 +85,8 @@
1250, Pear, 0, 50, 25, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 150, 0, 1;}, {}
1251, Plum, 0, 50, 25, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
1252, Cherry, 0, 50, 25, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
-1253, GoldenDeliciousApple, 0, 1000, 500, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 0, 0;}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+1253, GoldenDeliciousApple, 0, 1000, 500, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 0, 0;}, {}
1258, GlutenFreeHoney, 0, 100, 50, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 45, 0, 1;}, {}
1280, Scissors, 0, 1000, 500, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "useScissors";}, {}
1281, ShockSweet, 0, 1000, 500, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "useShockSweet";}, {}
@@ -105,8 +106,8 @@
5210, GrassFedTofu, 0, 50, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal -10, -2, 1;}, {}
5213, VeganWater, 0, 200, 100, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 250, 0, 1; getitem 540, 1;}, {}
5214, LactoseFreeAcorn, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 15, 0, 1;}, {}
-5235, TMWBirthdayGift, 0, 1000000, 50, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "TMWBirthdayGift";}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+5235, TMWBirthdayGift, 0, 1000000, 50, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "TMWBirthdayGift";}, {}
5236, GumiCandy, 0, 10000, 250, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set Sex, if_then_else(Sex == 3, rand(0, 1), if_then_else(rand(0,1), 3, !Sex));},{}
5237, CaramelCandy, 0, 700, 350, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 350, 0, 1;}, {}
5251, Tomato, 0, 40, 10, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 5, 1;}, {}
@@ -116,3 +117,6 @@
5309, ManaDust, 0, 125, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 35, 15, 1;}, {}
5310, EnlighteningElixir, 0, 500, 250, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_MATKPOT, 60, 100;}, {}
5312, Honey, 0, 150, 75, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 50, 1;}, {}
+5329, IronShovel, 0, 5000, 750, 210, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {getitem IronShovel, 1;}, {}
+5330, ShadowScroll, 0, 5000, 1000, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "UnreleasedScroll";}, {}
+5331, YellowApple, 0, 25, 6, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
diff --git a/world/map/db/item_db_weapon.txt b/world/map/db/item_db_weapon.txt
index be6e511e..4c61e1cc 100644
--- a/world/map/db/item_db_weapon.txt
+++ b/world/map/db/item_db_weapon.txt
@@ -44,8 +44,9 @@
903, SlingShot, 4, 500, 50, 50, 5, 0, 4, 0, 0, 2, 34, 1, 1, 11, 0, {}, {set @LauncherType, AMMO_SLING; callfunc "CheckLauncher";}
904, SlingBullet, 10, 1, 0, 1, 3, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_SLING; callfunc "CheckAmmo";}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
-906, KidBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 1, 22, 0, {}, {}
-907, FloydBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 135, 22, 7, {}, {}
+906, KidBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 1, 15, 0, {}, {}
+907, FloydBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 135, 15, 7, {}, {}
+910, Rainerang, 4, 10000, 5000, 115, 60, 0, 4, 0, 0, 2, 2, 1, 0, 6, 0, {}, {}
1170, SweetTooth, 4, 4000, 2000, 1000, 50, 0, 2, 15, 0, 2, 34, 1, 1, 23, 0, {}, {set @bStat, Int; set @minbStatVal, 60; callfunc "RequireStat";}
1171, Wand, 4, 400, 200, 100, 1, 0, 1, 5, 0, 2, 2, 1, 1, 10, 0, {}, {set @bStat, Int; set @minbStatVal, 5; callfunc "RequireStat";}
1199, Arrow, 10, 1, 0, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
@@ -55,7 +56,7 @@
1282, BoneArrows, 10, 50, 20, 0, 55, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 1; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
5260, Snowball, 10, 1, 0, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_XMAS; callfunc "CheckAmmo";}
5261, SnowLauncher, 4, 500, 50, 10, 20, 0, 3, 0, 0, 2, 2, 1, 1, 11, 0, {}, {set @LauncherType, AMMO_XMAS; callfunc "CheckLauncher";}
-5284, Revolver, 4, 150000, 500, 3000, 120, 0, 5, 0, 0, 2, 2, 1, 1, 11, 0, {}, {callfunc "RestrictedItem"; set @LauncherType, AMMO_SLING; callfunc "CheckLauncher";}
+5284, Flintlock, 4, 150000, 500, 3000, 120, 0, 5, 0, 0, 2, 2, 1, 1, 11, 0, {}, {callfunc "RestrictedItem"; set @LauncherType, AMMO_SLING; callfunc "CheckLauncher";}
5289, ArmorBreaker, 10, 90, 40, 2, -120, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 75; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
5290, SilverArrow, 10, 60, 30, 1, 65, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 1; bonus bAtkRange, 2; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
5291, ThornArrow, 10, 90, 40, 1, 65, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 10; bonus bHit, 25; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf
index 8a639157..079a280f 100644
--- a/world/map/db/mob_db.conf
+++ b/world/map/db/mob_db.conf
@@ -148,6 +148,8 @@ mob_db: (
Dagger: 70
SharpKnife: 10
PileOfAsh: 500
+ SulphurPowder: 250
+ BromenalDroplet: 20
}
},
{
@@ -1129,7 +1131,7 @@ mob_db: (
BottleOfWater: 500
IceCube: 200
BookPage: 200
- SilverMirror: 100
+ SilverMirror: 20
Diamond: 20
}
},
@@ -1358,6 +1360,8 @@ mob_db: (
Dagger: 70
SharpKnife: 10
PileOfAsh: 500
+ SulphurPowder: 250
+ BromenalDroplet: 30
}
},
{
@@ -1795,8 +1799,10 @@ mob_db: (
MutationStrength: 30
Drops: {
PileOfAsh: 5000
+ SulphurPowder: 500
DarkCrystal: 1000
Skull: 500
+ GoldenTooth: 10
SkullMask: (1, "ODG_BASICSTAT")
}
},
@@ -1845,6 +1851,7 @@ mob_db: (
Drops: {
DarkCrystal: 1000
Skull: 500
+ GoldenTooth: 10
SkullMask: (1, "ODG_BASICSTAT")
}
},
@@ -3180,6 +3187,8 @@ mob_db: (
IronOre: 1000
PileOfAsh: 1000
Coal: 1000
+ BromenalDroplet: 200
+ BromenalDroplet: 100
TinyManaElixir: 500
}
},
@@ -3423,7 +3432,7 @@ mob_db: (
{
Id: 1138
SpriteName: "ManaGuard"
- Name: "ManaGuardian"
+ Name: "Mana Guardian"
Lv: 180
Hp: 20000
Sp: 280
@@ -3598,7 +3607,7 @@ mob_db: (
{
Id: 1142
SpriteName: "Kage"
- Name: "ZaxDeKagen"
+ Name: "Zax DeKagen"
Lv: 200
Hp: 29999
Sp: 280
@@ -3683,7 +3692,7 @@ mob_db: (
{
Id: 1144
SpriteName: "Dragon"
- Name: "GreatDragon"
+ Name: "Great Dragon"
Lv: 250
Hp: 29999
Sp: 280
@@ -3765,7 +3774,7 @@ mob_db: (
AttackMotion: 672
DamageMotion: 50
Drops: {
- Tomato: 1
+ Tomato: 10000
}
},
{
@@ -4825,7 +4834,7 @@ mob_db: (
{
Id: 1059
SpriteName: "GCMaggot"
- Name: "GiantCaveMaggot"
+ Name: "Giant Cave Maggot"
Lv: 90
Hp: 2000
Sp: 0
@@ -5543,7 +5552,9 @@ mob_db: (
DarkCrystal: 1000
Bone: 400
Skull: 300
+ DiseasedHeart: 250
IronPowder: 100
+ SulphurPowder: 50
EnlighteningElixir: 1200
GoldenTooth: 20
WitchHat: (1, "ODG_BASICSTAT")
@@ -5600,7 +5611,7 @@ mob_db: (
SharpKnife: 200
CoinBag: 500
CasinoCoins: 500
- RedApple: 750
+ GreenApple: 750
}
},
{
@@ -5748,6 +5759,7 @@ mob_db: (
MutationCount: 1
MutationStrength: 20
Drops: {
+ YellowApple: 750
OrangeCupcake: 200
CherryCake: 100
CactusDrink: 350
@@ -6094,7 +6106,7 @@ mob_db: (
SharpKnife: 200
CoinBag: 500
CasinoCoins: 500
- RedApple: 750
+ GreenApple: 750
}
},
{
@@ -7288,7 +7300,7 @@ mob_db: (
Sapphire: 20
CactusDrink: 500
IcedWater: 700
- SilverMirror: 100
+ SilverMirror: 50
BookPage: 500
}
},
@@ -7333,10 +7345,14 @@ mob_db: (
MutationCount: 1
MutationStrength: 20
Drops: {
- IronOre: 1500
TreasureKey: 1000
- Coal: 300
- SilverOre: 25
+ Coal: 200
+ IronOre: 200
+ CopperOre: 400
+ CopperOre: 200
+ SilverOre: 30
+ BromenalOre: 20
+ GoldOre: 10
}
},
{
@@ -7659,23 +7675,23 @@ mob_db: (
Id: 1168
SpriteName: "Floyd"
Name: "Floyd"
- Lv: 20
- Hp: 150
+ Lv: 40
+ Hp: 1500
Sp: 0
- Exp: 27
- JExp: 3
+ Exp: 555
+ JExp: 150
AttackRange: 3
- Attack: [5, 25]
- Def: 0
+ Attack: [25, 50]
+ Def: 60
Mdef: 5
- CriticalDef: 0
+ CriticalDef: 30
Stats: {
- Str: 1
- Agi: 1
- Vit: 1
- Int: 0
- Dex: 20
- Luk: 25
+ Str: 10
+ Agi: 23
+ Vit: 30
+ Int: 20
+ Dex: 40
+ Luk: 50
}
ViewRange: 9
ChaseRange: 10
@@ -7689,21 +7705,21 @@ mob_db: (
ChangeTargetChase: true
}
MoveSpeed: 800
- AttackDelay: 1872
+ AttackDelay: 1975
AttackMotion: 672
DamageMotion: 480
MutationCount: 3
MutationStrength: 40
Drops: {
- PurplePresentBox: 1000
- MaggotSlime: 800
- BluePresentBox: 500
- CactusDrink: 150
- BugLeg: 400
- RoastedMaggot: 150
+ BentNeedle: 10
Dagger: 70
- SharpKnife: 1
- IronIngot: 5
+ FlawedLens: 5
+ IronArrow: 150
+ IronArrow: 800
+ IronIngot: 20
+ IronPowder: 500
+ IronPowder: 1000
+ SilverArrow: 150
}
},
{
@@ -7857,64 +7873,26 @@ mob_db: (
}
},
{
- Id: 1172
- SpriteName: "Bif"
- Name: "Bif"
- Lv: 1
- Hp: 1
- Sp: 0
- Exp: 1
- JExp: 1
- AttackRange: 1
- Attack: [0, 0]
- Def: 1
- Mdef: 0
- CriticalDef: 0
- Stats: {
- Str: 0
- Agi: 0
- Vit: 0
- Int: 0
- Dex: 0
- Luk: 0
- }
- ViewRange: 9
- ChaseRange: 10
- Size: 1
- Race: 3
- Element: (2, 1)
- MoveSpeed: 800
- AttackDelay: 800
- AttackMotion: 672
- DamageMotion: 480
- Drops: {
- IronPowder: 1200
- IronOre: 1000
- Coal: 800
- SilverOre: 500
- }
-},
-{
Id: 1173
SpriteName: "MontBlanc"
Name: "Mont Blanc"
- Lv: 100
- Hp: 65535
+ Lv: 110
+ Hp: 30000
Sp: 0
- Exp: 1
- JExp: 1
+ Exp: 100300
+ JExp: 500
AttackRange: 12
- Attack: [30, 40]
- Def: 20
- Mdef: 0
- CriticalDef: 100
+ Attack: [777, 1000]
+ Def: 70
+ Mdef: 90
+ CriticalDef: 90
Stats: {
- Str: 15
- Agi: 10
- Vit: 30
- Int: 5
- Dex: 20
- Luk: 10
+ Str: 30
+ Agi: 1
+ Vit: 100
+ Int: 1
+ Dex: 120
+ Luk: 120
}
Mode: {
Aggressive: true
@@ -7928,8 +7906,7 @@ mob_db: (
Size: 1
Race: 3
Element: (2, 1)
- MoveSpeed: 800
- AttackDelay: 800
+ AttackDelay: 4000
AttackMotion: 672
DamageMotion: 480
},
@@ -7940,23 +7917,23 @@ mob_db: (
Lv: 129
Hp: 50150
Sp: 80
- Exp: 500000
+ Exp: 150000
JExp: 1000
AttackRange: 2
- Attack: [200, 350]
+ Attack: [250, 450]
Def: 30
Mdef: 60
CriticalDef: 60
Stats: {
- Str: 70
+ Str: 80
Agi: 60
Vit: 100
Int: 60
- Dex: 90
- Luk: 90
+ Dex: 110
+ Luk: 110
}
ViewRange: 40
- ChaseRange: 10
+ ChaseRange: 30
Size: 1
Race: 1
Element: (1, 2)
@@ -7984,7 +7961,7 @@ mob_db: (
{
Id: 1175
SpriteName: "MegaManaBug"
- Name: "MegaManaBug"
+ Name: "Mega Mana Bug"
Lv: 111
Hp: 675
Sp: 0
@@ -8041,7 +8018,7 @@ mob_db: (
Exp: 5533
JExp: 733
AttackRange: 4
- Attack: [213, 333]
+ Attack: [333, 555]
Def: 20
Mdef: 25
CriticalDef: 50
@@ -8050,8 +8027,8 @@ mob_db: (
Agi: 15
Vit: 30
Int: 1
- Dex: 100
- Luk: 113
+ Dex: 130
+ Luk: 130
}
ViewRange: 7
ChaseRange: 11
@@ -8104,7 +8081,7 @@ mob_db: (
Vit: 0
Int: 0
Dex: 255
- Luk: 13
+ Luk: 33
}
ViewRange: 1
ChaseRange: 1
@@ -8166,7 +8143,7 @@ mob_db: (
BugLeg: 2500
MaggotSlime: 2000
IronOre: 600
- Coal: 500
+ Coal: 800
SilverOre: 100
TreasureKey: 800
}
@@ -8494,7 +8471,7 @@ mob_db: (
Lv: 130
Hp: 45000
Sp: 280
- Exp: 48000
+ Exp: 58000
JExp: 1600
AttackRange: 2
Attack: [200, 250]
@@ -8529,8 +8506,12 @@ mob_db: (
MutationCount: 4
MutationStrength: 20
Drops: {
- RawLog: 1000
RawLog: 2000
+ RawLog: 2000
+ ReedBundle: 250
+ ReedBundle: 500
+ Root: 500
+ Root: 1000
}
},
{
@@ -8565,6 +8546,8 @@ mob_db: (
Drops: {
RawLog: 1000
RawLog: 2000
+ ReedBundle: 500
+ Root: 500
}
},
{
@@ -8617,7 +8600,7 @@ mob_db: (
{
Id: 1188
SpriteName: "Junglefowl"
- Name: "Junglefowl"
+ Name: "Jungle Fowl"
Lv: 125
Hp: 25500
Exp: 15000
@@ -8891,4 +8874,1407 @@ mob_db: (
AttackMotion: 672
DamageMotion: 200
},
+{
+ Id: 1195
+ SpriteName: "Brainblow"
+ Name: "Brainblow"
+ Lv: 77
+ Hp: 200
+ Sp: 0
+ Exp: 100
+ JExp: 50
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 0
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 1
+ Agi: 7
+ Vit: 1
+ Int: 1
+ Dex: 123
+ Luk: 123
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 0
+ Element: (7, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 77
+ AttackDelay: 500
+ AttackMotion: 672
+ DamageMotion: 200
+},
+{
+ Id: 1196
+ SpriteName: "RickLime"
+ Name: "Rick Lime"
+ Lv: 120
+ Hp: 54321
+ Sp: 0
+ Exp: 100001
+ JExp: 777
+ AttackRange: 7
+ Attack: [123, 321]
+ Def: 33
+ Mdef: 55
+ CriticalDef: 44
+ Stats: {
+ Str: 30
+ Agi: 99
+ Vit: 80
+ Int: 33
+ Dex: 123
+ Luk: 123
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 1
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 120
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 500
+ CoinBag: 500
+ CoinBag: 1000
+ CoinBag: 2000
+ FourLeafClover: 5
+ FourLeafClover: 5
+ LeprechaunHat: 10
+ LeprechaunHead: 5
+ Rainerang: 5
+ GoldenTooth: 10000
+ }
+},
+{
+ Id: 1197
+ SpriteName: "Blanc1"
+ Name: "Blanc 1"
+ Lv: 150
+ Hp: 55055
+ Sp: 0
+ Exp: 300000
+ JExp: 3000
+ AttackRange: 10
+ Attack: [600, 800]
+ Def: 50
+ Mdef: 70
+ CriticalDef: 60
+ Stats: {
+ Str: 30
+ Agi: 99
+ Vit: 80
+ Int: 33
+ Dex: 133
+ Luk: 133
+ }
+ ViewRange: 10
+ ChaseRange: 10
+ Size: 1
+ Race: 1
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ Looter: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 500
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 10000
+ CoinBag: 500
+ CoinBag: 500
+ CrazyRum: 750
+ CrazyRum: 750
+ CasinoCoins: 250
+ CasinoCoins: 250
+ HMCPirateHat: 3
+ }
+},
+{
+ Id: 1198
+ SpriteName: "Blanc2"
+ Name: "Blanc 2"
+ Lv: 150
+ Hp: 33033
+ Sp: 0
+ Exp: 200000
+ JExp: 2000
+ AttackRange: 2
+ Attack: [250, 350]
+ Def: 50
+ Mdef: 70
+ CriticalDef: 60
+ Stats: {
+ Str: 30
+ Agi: 99
+ Vit: 80
+ Int: 33
+ Dex: 133
+ Luk: 133
+ }
+ ViewRange: 6
+ ChaseRange: 6
+ Size: 1
+ Race: 1
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ Looter: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 10000
+ CoinBag: 500
+ CoinBag: 500
+ CrazyRum: 750
+ CrazyRum: 750
+ CasinoCoins: 250
+ CasinoCoins: 250
+ HMCPirateHat: 2
+ }
+},
+{
+ Id: 1199
+ SpriteName: "SilverSlime"
+ Name: "Silver Slime"
+ Lv: 40
+ Hp: 600
+ Sp: 0
+ Exp: 200
+ JExp: 18
+ AttackRange: 1
+ Attack: [60, 90]
+ Def: 20
+ Mdef: 30
+ CriticalDef: 0
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 10
+ Int: 10
+ Dex: 30
+ Luk: 30
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ MutationCount: 1
+ MutationStrength: 20
+ Drops: {
+ SilverArrow: 1000
+ SilverArrow: 1000
+ SilverBell: 1
+ Coal: 200
+ IronOre: 200
+ CopperOre: 40
+ SilverOre: 300
+ SilverOre: 150
+ BromenalOre: 20
+ GoldOre: 10
+ }
+},
+{
+ Id: 1200
+ SpriteName: "BromenalSlime"
+ Name: "Bromenal Slime"
+ Lv: 40
+ Hp: 600
+ Sp: 0
+ Exp: 200
+ JExp: 18
+ AttackRange: 1
+ Attack: [60, 90]
+ Def: 20
+ Mdef: 30
+ CriticalDef: 0
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 10
+ Int: 10
+ Dex: 30
+ Luk: 30
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ MutationCount: 1
+ MutationStrength: 20
+ Drops: {
+ BromenalBoots: (10, "ODG_BASICSTAT")
+ BromenalGloves: (10, "ODG_BASICSTAT")
+ BromenalLegs: (10, "ODG_BASICSTAT")
+ Coal: 200
+ IronOre: 200
+ CopperOre: 40
+ SilverOre: 30
+ BromenalOre: 200
+ BromenalOre: 100
+ GoldOre: 10
+ }
+},
+{
+ Id: 1201
+ SpriteName: "GoldSlime"
+ Name: "Gold Slime"
+ Lv: 40
+ Hp: 600
+ Sp: 0
+ Exp: 200
+ JExp: 18
+ AttackRange: 1
+ Attack: [60, 90]
+ Def: 20
+ Mdef: 30
+ CriticalDef: 0
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 10
+ Int: 10
+ Dex: 30
+ Luk: 30
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ MutationCount: 1
+ MutationStrength: 20
+ Drops: {
+ GoldenDeliciousApple: 11
+ Coal: 200
+ IronOre: 200
+ CopperOre: 40
+ SilverOre: 30
+ BromenalOre: 20
+ GoldOre: 100
+ GoldOre: 50
+ }
+},
+{
+ Id: 1202
+ SpriteName: "IronSlime"
+ Name: "Iron Slime"
+ Lv: 40
+ Hp: 600
+ Sp: 0
+ Exp: 200
+ JExp: 18
+ AttackRange: 1
+ Attack: [60, 90]
+ Def: 20
+ Mdef: 30
+ CriticalDef: 0
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 10
+ Int: 10
+ Dex: 30
+ Luk: 30
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ MutationCount: 1
+ MutationStrength: 20
+ Drops: {
+ IronArrow: 5000
+ IronArrow: 2500
+ IronShovel: 1
+ Coal: 200
+ IronOre: 2000
+ IronOre: 1000
+ CopperOre: 40
+ SilverOre: 30
+ BromenalOre: 20
+ GoldOre: 10
+ }
+},
+{
+ Id: 1203
+ SpriteName: "CoalSlime"
+ Name: "Coal Slime"
+ Lv: 40
+ Hp: 600
+ Sp: 0
+ Exp: 200
+ JExp: 18
+ AttackRange: 1
+ Attack: [60, 90]
+ Def: 20
+ Mdef: 30
+ CriticalDef: 0
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 10
+ Int: 10
+ Dex: 30
+ Luk: 30
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ MutationCount: 1
+ MutationStrength: 20
+ Drops: {
+ Charcoal: 1000
+ Charcoal: 500
+ Charcoal: 250
+ Coal: 2000
+ Coal: 1000
+ IronOre: 200
+ CopperOre: 40
+ SilverOre: 30
+ BromenalOre: 20
+ GoldOre: 10
+ }
+},
+{
+ Id: 1172
+ SpriteName: "Bif"
+ Name: "Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ IronPowder: 1200
+ IronOre: 800
+ Coal: 1000
+ CopperOre: 200
+ SilverOre: 150
+ BromenalOre: 100
+ GoldOre: 50
+ }
+},
+{
+ Id: 1204
+ SpriteName: "BigBif"
+ Name: "Big Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ IronPowder: 2400
+ IronOre: 1600
+ Coal: 2000
+ CopperOre: 400
+ SilverOre: 300
+ BromenalOre: 200
+ GoldOre: 100
+ }
+},
+{
+ Id: 1205
+ SpriteName: "SmallBif"
+ Name: "Small Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ IronPowder: 600
+ IronOre: 400
+ Coal: 500
+ CopperOre: 100
+ SilverOre: 75
+ BromenalOre: 50
+ GoldOre: 25
+ }
+},
+{
+ Id: 1206
+ SpriteName: "AmethystBif"
+ Name: "Amethyst Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Amethyst: 20
+ AmethystPowder: 1200
+ AmethystPowder: 1200
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 250
+ }
+},
+{
+ Id: 1207
+ SpriteName: "DiamondBif"
+ Name: "Diamond Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Diamond: 20
+ AmethystPowder: 600
+ DiamondPowder: 1200
+ DiamondPowder: 1200
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 250
+ }
+},
+{
+ Id: 1208
+ SpriteName: "EmeraldBif"
+ Name: "Emerald Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Emerald: 20
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 1200
+ EmeraldPowder: 1200
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 250
+ }
+},
+{
+ Id: 1209
+ SpriteName: "RubyBif"
+ Name: "Ruby Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Ruby: 20
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 1200
+ RubyPowder: 1200
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 250
+ }
+},
+{
+ Id: 1210
+ SpriteName: "SapphireBif"
+ Name: "Sapphire Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Sapphire: 20
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 1200
+ SapphirePowder: 1200
+ TopazPowder: 600
+ Coal: 250
+ }
+},
+{
+ Id: 1211
+ SpriteName: "TopazBif"
+ Name: "Topaz Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Topaz: 20
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 1200
+ TopazPowder: 1200
+ Coal: 250
+ }
+},
+{
+ Id: 1212
+ SpriteName: "BigAmethystBif"
+ Name: "Big Amethyst Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Amethyst: 30
+ AmethystPowder: 1200
+ AmethystPowder: 1200
+ AmethystPowder: 1200
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 300
+ }
+},
+{
+ Id: 1213
+ SpriteName: "BigDiamondBif"
+ Name: "Big Diamond Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Diamond: 30
+ AmethystPowder: 600
+ DiamondPowder: 1200
+ DiamondPowder: 1200
+ DiamondPowder: 1200
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 300
+ }
+},
+{
+ Id: 1214
+ SpriteName: "BigEmeraldBif"
+ Name: "Big Emerald Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Emerald: 30
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 1200
+ EmeraldPowder: 1200
+ EmeraldPowder: 1200
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 300
+ }
+},
+{
+ Id: 1215
+ SpriteName: "BigRubyBif"
+ Name: "Big Ruby Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Ruby: 30
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 1200
+ RubyPowder: 1200
+ RubyPowder: 1200
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 300
+ }
+},
+{
+ Id: 1216
+ SpriteName: "BigSapphireBif"
+ Name: "Big Sapphire Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Sapphire: 30
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 1200
+ SapphirePowder: 1200
+ SapphirePowder: 1200
+ TopazPowder: 600
+ Coal: 300
+ }
+},
+{
+ Id: 1217
+ SpriteName: "BigTopazBif"
+ Name: "Big Topaz Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Topaz: 30
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 1200
+ TopazPowder: 1200
+ TopazPowder: 1200
+ Coal: 300
+ }
+},
+{
+ Id: 1218
+ SpriteName: "SmallAmethystBif"
+ Name: "Small Amethyst Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Amethyst: 10
+ AmethystPowder: 1200
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 200
+ }
+},
+{
+ Id: 1219
+ SpriteName: "SmallDiamondBif"
+ Name: "Small Diamond Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Diamond: 10
+ AmethystPowder: 600
+ DiamondPowder: 1200
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 200
+ }
+},
+{
+ Id: 1220
+ SpriteName: "SmallEmeraldBif"
+ Name: "Small Emerald Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Emerald: 10
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 1200
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 200
+ }
+},
+{
+ Id: 1221
+ SpriteName: "SmallRubyBif"
+ Name: "Small Ruby Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Ruby: 10
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 1200
+ SapphirePowder: 600
+ TopazPowder: 600
+ Coal: 200
+ }
+},
+{
+ Id: 1222
+ SpriteName: "SmallSapphireBif"
+ Name: "Small Sapphire Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Sapphire: 10
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 1200
+ TopazPowder: 600
+ Coal: 200
+ }
+},
+{
+ Id: 1223
+ SpriteName: "SmallTopazBif"
+ Name: "Small Topaz Bif"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ JExp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 1
+ Mdef: 0
+ CriticalDef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Size: 1
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 800
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Topaz: 10
+ AmethystPowder: 600
+ DiamondPowder: 600
+ EmeraldPowder: 600
+ RubyPowder: 600
+ SapphirePowder: 600
+ TopazPowder: 1200
+ Coal: 200
+ }
+},
+{
+ Id: 1224
+ SpriteName: "CoalGolem"
+ Name: "Coal Golem"
+ Lv: 180
+ Hp: 25000
+ Sp: 280
+ Exp: 68000
+ JExp: 2200
+ AttackRange: 3
+ Attack: [170, 190]
+ Def: 75
+ Mdef: 40
+ CriticalDef: 0
+ Stats: {
+ Str: 35
+ Agi: 26
+ Vit: 99
+ Int: 127
+ Dex: 255
+ Luk: 105
+ }
+ ViewRange: 31
+ ChaseRange: 30
+ Size: 1
+ Race: 0
+ Element: (6, 4)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ Boss: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 50
+ MutationCount: 0
+ MutationStrength: 0
+ Drops: {
+ Charcoal: 1000
+ Charcoal: 500
+ Charcoal: 250
+ Coal: 5000
+ Coal: 2500
+ Coal: 1250
+ IronOre: 500
+ IronPowder: 1200
+ }
+},
)
diff --git a/world/map/db/mob_db_0_19.txt b/world/map/db/mob_db_0_19.txt
index 7ffc3869..120ac1f0 100644
--- a/world/map/db/mob_db_0_19.txt
+++ b/world/map/db/mob_db_0_19.txt
@@ -24,11 +24,32 @@
1162, Grinchboo, Grinchboo, 5, 50, 0, 6, 1, 1, 5, 10, 0, 5, 0, 1, 1, 1, 0, 6, 5, 9, 10, 1, 3, 11, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 527, 50, 527, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
1165, ChristmasGift, ChristmasGift, 1, 1, 0, 1, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 742, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 1000, 4001, 800, 5292, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5292, 150, 5316, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1181, SmallFrog, SmallFrog, 9, 100, 0, 100, 10, 1, 10, 20, 19, 3, 0, 10, 25, 25, 1, 15, 20, 5, 10, 0, 2, 12, 129, 600, 1976, 672, 480, 505, 600, 518, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1182, BigFrog, BigFrog, 10, 200, 0, 150, 15, 1, 20, 30, 24, 3, 0, 20, 15, 35, 1, 15, 20, 5, 10, 0, 2, 12, 129, 500, 1976, 672, 480, 505, 700, 518, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
-1186, MananaTree, MananaTree, 5, 2500, 0, 2, 0, 1, 10, 10, 25, 1, 0, 1, 1, 10, 1, 1, 1, 1, 12, 1, 3, 12, 0, 1000, 800, 672, 480, 569, 1000, 569, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 80
+1186, MananaTree, MananaTree, 5, 2500, 0, 2, 0, 1, 10, 10, 25, 1, 0, 1, 1, 10, 1, 1, 1, 1, 12, 1, 3, 12, 0, 1000, 800, 672, 480, 569, 1000, 569, 2000, 806, 500, 740, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 80
1189, ShadowPlant, ShadowPlant, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 5311, 3000, 5311, 3000, 5311, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1191, Tortuga, Tortuga, 19, 535, 0, 350, 38, 1, 33, 44, 30, 50, 0, 18, 12, 1, 8, 80, 25, 1, 12, 1, 2, 11, 129, 700, 1872, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1192, Ratto, Ratto, 15, 250, 0, 200, 30, 1, 25, 35, 13, 6, 0, 5, 10, 13, 1, 11, 6, 3, 12, 1, 2, 10, 131, 120, 1572, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1193, Croc, Croc, 17, 350, 0, 300, 35, 1, 124, 129, 54, 6, 0, 6, 10, 13, 1, 11, 6, 1, 12, 1, 2, 11, 129, 600, 1872, 672, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5292, 300, 5316, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5292, 75, 5316, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1206, AmethystBif, AmethystBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4007, 20, 824, 1200, 824, 1200, 819, 600, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1207, DiamondBif, DiamondBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4002, 20, 824, 600, 819, 1200, 819, 1200, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1208, EmeraldBif, EmeraldBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4004, 20, 824, 600, 819, 600, 821, 1200, 821, 1200, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1209, RubyBif, RubyBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4003, 20, 824, 600, 819, 600, 821, 600, 820, 1200, 820, 1200, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1210, SapphireBif, SapphireBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4005, 20, 824, 600, 819, 600, 821, 600, 820, 600, 822, 1200, 822, 1200, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1211, TopazBif, TopazBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4006, 20, 824, 600, 819, 600, 821, 600, 820, 600, 822, 600, 823, 1200, 823, 1200, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1212, BigAmethystBif, BigAmethystBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4007, 30, 824, 1200, 824, 1200, 824, 1200, 819, 600, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1213, BigDiamondBif, BigDiamondBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4002, 30, 824, 600, 819, 1200, 819, 1200, 819, 1200, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1214, BigEmeraldBif, BigEmeraldBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4004, 30, 824, 600, 819, 600, 821, 1200, 821, 1200, 821, 1200, 820, 600, 822, 600, 823, 600, 4001, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
+1215, BigRubyBif, BigRubyBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4003, 30, 824, 600, 819, 600, 821, 600, 820, 1200, 820, 1200, 820, 1200, 822, 600, 823, 600, 4001, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1216, BigSapphireBif, BigSapphireBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4005, 30, 824, 600, 819, 600, 821, 600, 820, 600, 822, 1200, 822, 1200, 822, 1200, 823, 600, 4001, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1217, BigTopazBif, BigTopazBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4006, 30, 824, 600, 819, 600, 821, 600, 820, 600, 822, 600, 823, 1200, 823, 1200, 823, 1200, 4001, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1218, SmallAmethystBif, SmallAmethystBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4007, 10, 824, 1200, 819, 600, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1219, SmallDiamondBif, SmallDiamondBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4002, 10, 824, 600, 819, 1200, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1220, SmallEmeraldBif, SmallEmeraldBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4004, 10, 824, 600, 819, 600, 821, 1200, 820, 600, 822, 600, 823, 600, 4001, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1221, SmallRubyBif, SmallRubyBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4003, 10, 824, 600, 819, 600, 821, 600, 820, 1200, 822, 600, 823, 600, 4001, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1222, SmallSapphireBif, SmallSapphireBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4005, 10, 824, 600, 819, 600, 821, 600, 820, 600, 822, 1200, 823, 600, 4001, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1223, SmallTopazBif, SmallTopazBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4006, 10, 824, 600, 819, 600, 821, 600, 820, 600, 822, 600, 823, 1200, 4001, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/mob_db_20_39.txt b/world/map/db/mob_db_20_39.txt
index a782b44c..1137ff25 100644
--- a/world/map/db/mob_db_20_39.txt
+++ b/world/map/db/mob_db_20_39.txt
@@ -2,7 +2,7 @@
//DO NOT EDIT IT DIRECTLY
//Edit mob_db.conf instead!
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
-1011, FireGoblin, FireGoblin, 20, 220, 0, 41, 4, 1, 15, 20, 0, 5, 0, 1, 1, 1, 0, 6, 30, 9, 10, 1, 3, 13, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
+1011, FireGoblin, FireGoblin, 20, 220, 0, 41, 4, 1, 15, 20, 0, 5, 0, 1, 1, 1, 0, 6, 30, 9, 10, 1, 3, 13, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 703, 250, 5318, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1017, Bat, Bat, 20, 150, 0, 27, 3, 1, 5, 25, 0, 5, 0, 1, 1, 1, 0, 20, 25, 9, 10, 1, 3, 12, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
1018, Pinkie, Pinkie, 30, 300, 0, 60, 7, 2, 15, 20, 0, 5, 0, 1, 1, 1, 0, 20, 25, 2, 10, 1, 3, 10, 129, 800, 1872, 672, 480, 614, 1000, 751, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50
1019, SpikyMushroom, SpikyMushroom, 30, 300, 0, 54, 5, 1, 10, 13, 0, 5, 0, 1, 1, 1, 0, 10, 10, 9, 10, 1, 3, 10, 129, 800, 1872, 672, 480, 567, 800, 501, 150, 518, 50, 613, 400, 630, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
@@ -23,13 +23,12 @@
1087, Larvern, Larvern, 20, 550, 0, 165, 26, 1, 50, 200, 30, 65, 0, 35, 20, 50, 0, 70, 20, 9, 10, 1, 0, 12, 139, 1500, 1500, 672, 480, 836, 2000, 518, 1000, 807, 300, 806, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1089, HungryFluffy, HungryFluffy, 30, 500, 0, 111, 10, 1, 6, 10, 1, 5, 0, 1, 2, 1, 0, 20, 25, 9, 10, 1, 3, 10, 133, 800, 1600, 672, 480, 611, 500, 527, 150, 752, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
-1093, WhiteSlime, WhiteSlime, 20, 200, 0, 55, 15, 1, 80, 120, 10, 10, 0, 20, 30, 10, 10, 30, 20, 9, 10, 1, 0, 31, 137, 500, 1872, 672, 480, 5260, 4000, 541, 500, 4026, 200, 864, 200, 863, 100, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1093, WhiteSlime, WhiteSlime, 20, 200, 0, 55, 15, 1, 80, 120, 10, 10, 0, 20, 30, 10, 10, 30, 20, 9, 10, 1, 0, 31, 137, 500, 1872, 672, 480, 5260, 4000, 541, 500, 4026, 200, 864, 200, 863, 20, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
1094, Reinboo, Reinboo, 35, 1100, 0, 275, 29, 2, 40, 75, 35, 5, 0, 15, 5, 15, 0, 40, 10, 2, 10, 1, 3, 10, 129, 600, 1872, 672, 480, 512, 1000, 736, 1200, 737, 1200, 738, 1200, 739, 1200, 869, 50, 4042, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 30
1099, SleepingBandit, SleepingBandit, 20, 25, 0, 3, 1, 1, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 9, 10, 1, 1, 17, 0, 500, 1500, 672, 900, 4016, 800, 521, 200, 526, 500, 535, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1100, AzulSlime, AzulSlime, 20, 200, 0, 55, 10, 1, 80, 120, 10, 10, 0, 20, 30, 10, 10, 30, 20, 9, 10, 1, 0, 31, 131, 500, 1872, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
1107, Bluepar, Bluepar, 30, 350, 0, 77, 8, 2, 7, 15, 0, 5, 0, 1, 1, 1, 0, 20, 25, 2, 10, 1, 3, 10, 133, 800, 1872, 672, 480, 567, 800, 5310, 800, 568, 800, 4002, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50
-1108, AngryFireGoblin, AngryFireGoblin, 30, 320, 0, 85, 12, 1, 25, 40, 0, 10, 0, 3, 3, 3, 2, 10, 50, 9, 10, 1, 3, 13, 133, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
+1108, AngryFireGoblin, AngryFireGoblin, 30, 320, 0, 85, 12, 1, 25, 40, 0, 10, 0, 3, 3, 3, 2, 10, 50, 9, 10, 1, 3, 13, 133, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 703, 250, 5318, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1113, Pollett, Pollett, 30, 500, 0, 100, 7, 1, 6, 10, 1, 5, 0, 1, 2, 1, 0, 20, 25, 9, 10, 1, 3, 10, 129, 800, 1600, 672, 480, 4026, 1000, 4023, 500, 700, 300, 862, 100, 1189, 400, 1189, 400, 1189, 400, 611, 500, 5260, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
1131, ManaBug, ManaBug, 25, 300, 0, 52, 5, 2, 10, 17, 4, 6, 0, 1, 4, 1, 4, 5, 4, 2, 10, 1, 4, 12, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
-1168, Floyd, Floyd, 20, 150, 0, 27, 3, 3, 5, 25, 0, 5, 0, 1, 1, 1, 0, 20, 25, 9, 10, 1, 3, 12, 129, 800, 1872, 672, 480, 515, 1000, 505, 800, 516, 500, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 4015, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
1190, BeeHive, BeeHive, 39, 3333, 1, 1000, 200, 14, 5, 90, 12, 4, 0, 15, 25, 20, 3, 40, 30, 9, 10, 1, 4, 12, 128, 380, 1500, 300, 350, 5312, 1000, 5312, 750, 5312, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 100
diff --git a/world/map/db/mob_db_40_59.txt b/world/map/db/mob_db_40_59.txt
index 1dc30427..e06e4936 100644
--- a/world/map/db/mob_db_40_59.txt
+++ b/world/map/db/mob_db_40_59.txt
@@ -10,9 +10,16 @@
1086, FeyElement, FeyElement, 50, 5000, 0, 12500, 901, 5, 50, 125, 25, 50, 0, 20, 70, 10, 20, 80, 1, 9, 10, 1, 0, 42, 165, 330, 740, 672, 400, 834, 5000, 5144, 3000, 5142, 3000, 5143, 3000, 5141, 3000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 50
1088, Hyvern, Hyvern, 40, 2250, 0, 990, 346, 1, 50, 125, 0, 10, 0, 10, 45, 5, 0, 35, 35, 9, 10, 1, 0, 42, 133, 250, 800, 672, 480, 835, 2000, 518, 1000, 657, 600, 529, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1090, Wolvern, Wolvern, 40, 900, 0, 280, 86, 1, 50, 80, 5, 5, 0, 15, 10, 5, 0, 20, 10, 9, 10, 1, 3, 10, 133, 425, 770, 500, 200, 858, 1000, 859, 400, 4023, 200, 676, 1300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
-1091, BlueSlime, BlueSlime, 40, 2000, 0, 760, 77, 1, 100, 150, 20, 40, 0, 40, 30, 50, 10, 50, 40, 9, 10, 1, 0, 31, 131, 1200, 1872, 672, 480, 4026, 200, 4005, 20, 501, 500, 862, 700, 863, 100, 864, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
-1098, CopperSlime, CopperSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 640, 1500, 537, 1000, 4001, 300, 5292, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1091, BlueSlime, BlueSlime, 40, 2000, 0, 760, 77, 1, 100, 150, 20, 40, 0, 40, 30, 50, 10, 50, 40, 9, 10, 1, 0, 31, 131, 1200, 1872, 672, 480, 4026, 200, 4005, 20, 501, 500, 862, 700, 863, 50, 864, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1098, CopperSlime, CopperSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 537, 1000, 4001, 200, 640, 200, 5327, 400, 5327, 200, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
1111, CandiedSlime, CandiedSlime, 50, 800, 0, 800, 66, 3, 50, 50, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 143, 1200, 1872, 672, 480, 510, 1000, 509, 1000, 515, 200, 516, 200, 538, 200, 512, 200, 508, 500, 514, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
1112, Santaboo, Santaboo, 50, 2200, 0, 1040, 59, 2, 80, 125, 50, 10, 0, 25, 10, 25, 0, 60, 30, 2, 10, 1, 3, 10, 129, 600, 1872, 672, 480, 512, 1000, 736, 1200, 737, 1200, 738, 1200, 739, 1200, 511, 50, 4042, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 30
1164, ChristmasTree, ChristmasTree, 40, 12000, 0, 3647, 392, 2, 40, 40, 20, 40, 0, 30, 30, 30, 30, 30, 30, 9, 10, 1, 0, 10, 128, 190, 1500, 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1168, Floyd, Floyd, 40, 1500, 0, 555, 150, 3, 25, 50, 60, 5, 30, 10, 23, 30, 20, 40, 50, 9, 10, 1, 3, 12, 129, 800, 1975, 672, 480, 1245, 10, 521, 70, 1257, 5, 529, 150, 529, 800, 4015, 20, 704, 500, 704, 1000, 5290, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
1180, MisterPrickel, MisterPrickel, 40, 4822, 0, 672, 111, 1, 250, 275, 23, 33, 0, 20, 40, 55, 1, 20, 30, 1, 12, 1, 3, 20, 129, 400, 1000, 452, 0, 501, 300, 502, 200, 613, 800, 613, 400, 569, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
+1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5292, 300, 5292, 150, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 200, 5316, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
diff --git a/world/map/db/mob_db_60_79.txt b/world/map/db/mob_db_60_79.txt
index 07a3595c..a415ad79 100644
--- a/world/map/db/mob_db_60_79.txt
+++ b/world/map/db/mob_db_60_79.txt
@@ -2,14 +2,15 @@
//DO NOT EDIT IT DIRECTLY
//Edit mob_db.conf instead!
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
-1007, YellowSlime, YellowSlime, 60, 400, 0, 94, 9, 1, 35, 40, 2, 7, 0, 9, 6, 2, 1, 34, 1, 9, 10, 1, 0, 11, 131, 1400, 1800, 672, 480, 534, 200, 519, 100, 501, 350, 502, 250, 522, 10, 640, 450, 4006, 20, 4001, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1007, YellowSlime, YellowSlime, 60, 400, 0, 94, 9, 1, 35, 40, 2, 7, 0, 9, 6, 2, 1, 34, 1, 9, 10, 1, 0, 11, 131, 1400, 1800, 672, 480, 5331, 750, 534, 200, 519, 100, 501, 350, 502, 250, 522, 10, 640, 450, 4006, 20, 4001, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
1008, RedSlime, RedSlime, 70, 450, 0, 130, 17, 1, 40, 45, 2, 7, 0, 12, 8, 2, 1, 25, 1, 9, 10, 1, 0, 11, 135, 1300, 1500, 672, 480, 1201, 300, 509, 110, 521, 200, 4003, 20, 525, 80, 535, 750, 528, 250, 531, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 20
1033, SeaSlime, SeaSlime, 70, 600, 0, 187, 13, 1, 30, 50, 3, 7, 0, 1, 25, 1, 0, 30, 30, 9, 10, 1, 0, 21, 131, 1500, 1872, 672, 480, 535, 800, 657, 800, 518, 500, 510, 1000, 700, 100, 1199, 5000, 568, 100, 541, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1040, Wisp, Wisp, 70, 9300, 0, 3725, 1210, 2, 215, 350, 0, 20, 0, 45, 12, 13, 15, 0, 45, 9, 10, 1, 0, 17, 137, 380, 2000, 672, 1500, 772, 1000, 703, 600, 703, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 20
1054, Troll, Troll, 65, 2000, 0, 850, 129, 3, 70, 100, 20, 10, 0, 50, 40, 10, 10, 30, 30, 9, 10, 1, 0, 10, 137, 600, 1500, 672, 480, 1199, 2000, 529, 500, 539, 300, 526, 250, 512, 200, 906, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
1061, Moggun, Moggun, 60, 800, 0, 280, 52, 1, 70, 90, 20, 10, 0, 50, 40, 10, 10, 10, 10, 9, 10, 1, 0, 12, 137, 600, 1500, 672, 480, 611, 600, 4001, 1000, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
1101, DemonicSpirit, DemonicSpirit, 72, 1505, 0, 860, 270, 1, 125, 175, 4, 6, 0, 20, 40, 10, 10, 110, 45, 9, 10, 1, 1, 47, 133, 230, 900, 672, 480, 631, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
-1110, AngryGreenSlime, AngryGreenSlime, 60, 1000, 0, 435, 135, 1, 100, 160, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 143, 1200, 1872, 672, 480, 502, 200, 4004, 20, 501, 100, 521, 250, 522, 200, 526, 500, 503, 500, 535, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
+1110, AngryGreenSlime, AngryGreenSlime, 60, 1000, 0, 435, 135, 1, 100, 160, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 143, 1200, 1872, 672, 480, 502, 200, 4004, 20, 501, 100, 521, 250, 522, 200, 526, 500, 503, 500, 719, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
1117, UndeadTroll, UndeadTroll, 75, 3100, 0, 1770, 179, 3, 60, 140, 20, 10, 0, 50, 40, 20, 10, 40, 49, 9, 10, 1, 0, 10, 133, 650, 1500, 672, 480, 1199, 2000, 631, 1000, 529, 500, 539, 300, 526, 250, 4023, 200, 906, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
1163, FridayCat, FridayCat, 70, 450, 0, 130, 17, 1, 40, 45, 2, 7, 0, 12, 8, 2, 1, 25, 1, 9, 10, 1, 0, 11, 131, 1300, 1500, 672, 480, 3001, 10, 3002, 5, 3003, 9, 3011, 250, 3006, 750, 3007, 1000, 3010, 1250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 20
1187, EliteDuck, EliteDuck, 75, 14000, 0, 8800, 860, 2, 170, 195, 50, 80, 0, 70, 120, 10, 42, 48, 95, 5, 12, 1, 2, 13, 167, 225, 500, 472, 200, 519, 1005, 518, 400, 562, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
+1195, Brainblow, Brainblow, 77, 200, 0, 100, 50, 1, 10, 10, 0, 0, 0, 1, 7, 1, 1, 123, 123, 9, 10, 1, 0, 27, 133, 77, 500, 672, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/mob_db_80_99.txt b/world/map/db/mob_db_80_99.txt
index 847690d2..fc52215e 100644
--- a/world/map/db/mob_db_80_99.txt
+++ b/world/map/db/mob_db_80_99.txt
@@ -23,7 +23,7 @@
1109, AngrySeaSlime, AngrySeaSlime, 80, 1200, 0, 505, 42, 1, 40, 70, 13, 17, 0, 3, 30, 3, 0, 35, 35, 9, 10, 1, 0, 21, 135, 1500, 1872, 672, 480, 535, 800, 657, 800, 518, 500, 510, 1000, 700, 100, 1199, 5000, 568, 100, 541, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1115, SeaSlimeMother, SeaSlimeMother, 90, 8000, 0, 3131, 900, 5, 100, 150, 10, 20, 0, 1, 15, 10, 10, 10, 10, 9, 10, 1, 0, 22, 175, 1500, 1872, 672, 480, 535, 800, 657, 800, 518, 500, 510, 1000, 700, 100, 1199, 5000, 568, 100, 541, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
-1116, UndeadWitch, UndeadWitch, 80, 4200, 0, 1875, 722, 3, 50, 110, 8, 31, 0, 15, 20, 10, 25, 50, 40, 9, 10, 1, 1, 17, 143, 550, 1500, 672, 700, 631, 1000, 775, 400, 776, 300, 704, 100, 5310, 1200, 5297, 20, 1278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
-1118, GreenSlimeMother, GreenSlimeMother, 90, 8000, 0, 3550, 900, 5, 100, 150, 15, 20, 0, 20, 25, 20, 30, 20, 20, 9, 10, 1, 0, 11, 175, 1400, 1872, 672, 480, 502, 200, 4004, 20, 501, 100, 521, 250, 522, 200, 526, 500, 503, 500, 535, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
+1116, UndeadWitch, UndeadWitch, 80, 4200, 0, 1875, 722, 3, 50, 110, 8, 31, 0, 15, 20, 10, 25, 50, 40, 9, 10, 1, 1, 17, 143, 550, 1500, 672, 700, 631, 1000, 775, 400, 776, 300, 778, 250, 704, 100, 703, 50, 5310, 1200, 5297, 20, 1278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
+1118, GreenSlimeMother, GreenSlimeMother, 90, 8000, 0, 3550, 900, 5, 100, 150, 15, 20, 0, 20, 25, 20, 30, 20, 20, 9, 10, 1, 0, 11, 175, 1400, 1872, 672, 480, 502, 200, 4004, 20, 501, 100, 521, 250, 522, 200, 526, 500, 503, 500, 719, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1124, Wight, Wight, 90, 8000, 0, 9000, 1900, 2, 56, 294, 32, 15, 0, 28, 25, 15, 15, 50, 65, 3, 10, 1, 1, 17, 175, 340, 1400, 672, 950, 775, 100, 775, 140, 776, 150, 631, 50, 631, 500, 778, 250, 5297, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
1125, ManaGhost, ManaGhost, 82, 8000, 0, 7500, 2400, 3, 150, 300, 23, 30, 0, 35, 15, 3, 50, 50, 40, 2, 10, 1, 1, 17, 131, 340, 1800, 672, 950, 775, 75, 775, 115, 776, 135, 631, 40, 5110, 700, 631, 800, 5310, 1600, 5309, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
diff --git a/world/map/db/mob_db_over_100.txt b/world/map/db/mob_db_over_100.txt
index e98375b1..82ca20fd 100644
--- a/world/map/db/mob_db_over_100.txt
+++ b/world/map/db/mob_db_over_100.txt
@@ -30,7 +30,7 @@
1128, GeneralRazha, GeneralRazha, 140, 40000, 0, 27536, 1663, 2, 180, 430, 5, 20, 0, 40, 3, 25, 5, 80, 45, 9, 10, 1, 1, 27, 165, 300, 1200, 672, 300, 775, 210, 5129, 5, 776, 300, 631, 1000, 636, 3, 658, 2, 532, 35, 778, 500, 1198, 500, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 4, 50
1129, GeneralTerogan, GeneralTerogan, 140, 40000, 0, 27536, 1663, 2, 180, 430, 5, 20, 0, 40, 3, 25, 5, 80, 45, 9, 10, 1, 1, 27, 165, 300, 1200, 672, 300, 775, 210, 5130, 5, 776, 300, 631, 1000, 636, 3, 658, 2, 532, 35, 778, 500, 1198, 500, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 4, 50
1130, Moonshroom, Moonshroom, 110, 550, 0, 224, 35, 4, 70, 80, 4, 4, 0, 16, 12, 10, 10, 35, 10, 9, 10, 1, 3, 12, 133, 800, 1800, 672, 480, 566, 500, 518, 500, 703, 400, 730, 300, 540, 100, 5145, 50, 5203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60
-1132, LavaSlime, LavaSlime, 135, 4144, 0, 6000, 1111, 2, 105, 260, 75, 80, 0, 30, 15, 35, 10, 70, 250, 9, 10, 1, 0, 23, 135, 900, 1300, 672, 100, 904, 10000, 703, 5000, 703, 5000, 640, 1000, 701, 1000, 4001, 1000, 825, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
+1132, LavaSlime, LavaSlime, 135, 4144, 0, 6000, 1111, 2, 105, 260, 75, 80, 0, 30, 15, 35, 10, 70, 250, 9, 10, 1, 0, 23, 135, 900, 1300, 672, 100, 904, 10000, 703, 5000, 703, 5000, 640, 1000, 701, 1000, 4001, 1000, 5318, 200, 5318, 100, 825, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40
1133, Anne, Anne, 110, 12000, 0, 1100, 889, 1, 200, 300, 20, 35, 0, 60, 40, 40, 30, 60, 40, 9, 10, 1, 1, 17, 133, 380, 872, 672, 900, 838, 6000, 839, 6000, 840, 6000, 1229, 200, 1230, 500, 1231, 500, 1232, 500, 1281, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1151, VoidFlower, VoidFlower, 115, 7000, 0, 1068, 40, 12, 400, 420, 0, 5, 0, 16, 12, 20, 20, 255, 50, 12, 10, 1, 3, 12, 128, 800, 2000, 672, 180, 535, 100, 540, 10, 1199, 100, 526, 400, 565, 1000, 565, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1152, VoidArchant, VoidArchant, 130, 6000, 0, 1598, 14, 1, 140, 180, 36, 6, 0, 10, 5, 1, 0, 12, 10, 9, 10, 1, 0, 12, 133, 800, 1500, 672, 200, 537, 300, 535, 100, 640, 40, 4001, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
@@ -46,14 +46,17 @@
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
1167, SnowmanBoss, SnowmanBoss, 100, 35000, 0, 88970, 2689, 4, 220, 240, 77, 50, 0, 45, 20, 110, 150, 255, 110, 14, 16, 1, 3, 10, 165, 700, 1672, 672, 480, 567, 1600, 5310, 1600, 568, 1600, 4002, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 535, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
-1173, MontBlanc, MontBlanc, 100, 65535, 0, 1, 1, 12, 30, 40, 20, 0, 100, 15, 10, 30, 5, 20, 10, 12, 12, 1, 3, 12, 164, 800, 800, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-1174, Emo, Emo, 129, 50150, 80, 500000, 1000, 2, 200, 350, 30, 60, 60, 70, 60, 100, 60, 90, 90, 40, 10, 1, 1, 21, 183, 250, 450, 672, 50, 528, 5000, 532, 200, 5294, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1173, MontBlanc, MontBlanc, 110, 30000, 0, 100300, 500, 12, 777, 1000, 70, 90, 90, 30, 1, 100, 1, 120, 120, 12, 12, 1, 3, 12, 164, 0, 4000, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1174, Emo, Emo, 129, 50150, 80, 150000, 1000, 2, 250, 450, 30, 60, 60, 80, 60, 100, 60, 110, 110, 40, 30, 1, 1, 21, 183, 250, 450, 672, 50, 528, 5000, 532, 200, 5294, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1175, MegaManaBug, MegaManaBug, 111, 675, 0, 275, 40, 1, 60, 85, 3, 8, 0, 16, 14, 15, 20, 30, 30, 9, 10, 1, 4, 12, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 540, 10, 526, 400, 5309, 1000, 5309, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60
-1176, Rotter, Rotter, 130, 6000, 0, 5533, 733, 4, 213, 333, 20, 25, 50, 30, 15, 30, 1, 100, 113, 7, 11, 1, 1, 17, 141, 1200, 2222, 672, 900, 631, 1000, 777, 800, 778, 200, 779, 500, 1198, 500, 5297, 10, 3004, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
-1177, Rot, Rot, 100, 13, 0, 11, 1, 1, 111, 333, 0, 0, 0, 0, 0, 0, 0, 255, 13, 1, 1, 1, 0, 11, 132, 0, 500, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-1178, SpiderQueen, SpiderQueen, 145, 7000, 0, 1200, 400, 3, 250, 300, 60, 60, 0, 40, 30, 50, 15, 65, 40, 8, 15, 0, 2, 12, 165, 210, 1200, 550, 450, 518, 2500, 505, 2000, 640, 600, 4001, 500, 5292, 100, 537, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30
+1176, Rotter, Rotter, 130, 6000, 0, 5533, 733, 4, 333, 555, 20, 25, 50, 30, 15, 30, 1, 130, 130, 7, 11, 1, 1, 17, 141, 1200, 2222, 672, 900, 631, 1000, 777, 800, 778, 200, 779, 500, 1198, 500, 5297, 10, 3004, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
+1177, Rot, Rot, 100, 13, 0, 11, 1, 1, 111, 333, 0, 0, 0, 0, 0, 0, 0, 255, 33, 1, 1, 1, 0, 11, 132, 0, 500, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1178, SpiderQueen, SpiderQueen, 145, 7000, 0, 1200, 400, 3, 250, 300, 60, 60, 0, 40, 30, 50, 15, 65, 40, 8, 15, 0, 2, 12, 165, 210, 1200, 550, 450, 518, 2500, 505, 2000, 640, 600, 4001, 800, 5292, 100, 537, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30
1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 535, 200, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30
1184, BoneQuadceratops, BoneQuadceratops, 120, 22000, 0, 12120, 1888, 1, 100, 200, 66, 55, 0, 60, 20, 60, 1, 43, 70, 9, 10, 1, 1, 17, 169, 750, 800, 692, 720, 4023, 10000, 4023, 5000, 4023, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30
-1185, EntAbomination, EntAbomination, 130, 45000, 280, 48000, 1600, 2, 200, 250, 80, 60, 0, 40, 12, 120, 127, 60, 88, 31, 30, 1, 3, 12, 169, 1500, 900, 772, 740, 569, 1000, 569, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
+1185, EntAbomination, EntAbomination, 130, 45000, 280, 58000, 1600, 2, 200, 250, 80, 60, 0, 40, 12, 120, 127, 60, 88, 31, 30, 1, 3, 12, 169, 1500, 900, 772, 740, 569, 2000, 569, 2000, 806, 250, 806, 500, 740, 500, 740, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
1188, Junglefowl, Junglefowl, 125, 25500, 0, 15000, 2125, 1, 175, 250, 45, 47, 0, 70, 99, 80, 22, 99, 70, 7, 11, 1, 2, 12, 169, 400, 1000, 672, 200, 562, 2520, 562, 1520, 4023, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1194, Birb, Birb, 101, 57000, 0, 44000, 2000, 1, 320, 370, 45, 70, 0, 12, 63, 88, 110, 141, 77, 9, 12, 1, 2, 17, 161, 320, 2100, 672, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1196, RickLime, RickLime, 120, 54321, 0, 100001, 777, 7, 123, 321, 33, 55, 44, 30, 99, 80, 33, 123, 123, 9, 10, 1, 1, 37, 133, 120, 800, 672, 200, 526, 500, 526, 500, 526, 1000, 526, 2000, 742, 5, 742, 5, 5280, 10, 909, 5, 910, 5, 5297, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1197, Blanc1, Blanc1, 150, 55055, 0, 300000, 3000, 10, 600, 800, 50, 70, 60, 30, 99, 80, 33, 133, 133, 10, 10, 1, 1, 37, 135, 200, 500, 672, 200, 526, 10000, 526, 500, 526, 500, 5294, 750, 5294, 750, 503, 250, 503, 250, 5287, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1198, Blanc2, Blanc2, 150, 33033, 0, 200000, 2000, 2, 250, 350, 50, 70, 60, 30, 99, 80, 33, 133, 133, 6, 6, 1, 1, 37, 135, 200, 300, 672, 200, 526, 10000, 526, 500, 526, 500, 5294, 750, 5294, 750, 503, 250, 503, 250, 5287, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/mob_db_over_150.txt b/world/map/db/mob_db_over_150.txt
index 5a7f5445..03c89d84 100644
--- a/world/map/db/mob_db_over_150.txt
+++ b/world/map/db/mob_db_over_150.txt
@@ -3,8 +3,8 @@
//Edit mob_db.conf instead!
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
1022, JackO, JackO, 175, 10000, 0, 18130, 1241, 2, 100, 500, 40, 18, 0, 105, 40, 85, 75, 105, 95, 9, 10, 1, 0, 10, 165, 250, 1500, 672, 480, 617, 300, 622, 400, 624, 400, 620, 400, 615, 300, 1203, 400, 1198, 10000, 616, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
-1023, FireSkull, FireSkull, 170, 5000, 0, 5808, 721, 2, 75, 175, 35, 15, 0, 40, 30, 30, 30, 35, 70, 9, 10, 1, 3, 13, 143, 600, 1600, 672, 480, 701, 5000, 631, 1000, 776, 500, 1221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
-1024, PoisonSkull, PoisonSkull, 170, 5000, 0, 5808, 721, 2, 75, 175, 35, 15, 0, 40, 30, 30, 30, 35, 70, 9, 10, 1, 3, 12, 143, 600, 1600, 672, 480, 631, 1000, 776, 500, 1221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
+1023, FireSkull, FireSkull, 170, 5000, 0, 5808, 721, 2, 75, 175, 35, 15, 0, 40, 30, 30, 30, 35, 70, 9, 10, 1, 3, 13, 143, 600, 1600, 672, 480, 701, 5000, 703, 500, 631, 1000, 776, 500, 5297, 10, 1221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
+1024, PoisonSkull, PoisonSkull, 170, 5000, 0, 5808, 721, 2, 75, 175, 35, 15, 0, 40, 30, 30, 30, 35, 70, 9, 10, 1, 3, 12, 143, 600, 1600, 672, 480, 631, 1000, 776, 500, 5297, 10, 1221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20
1085, IceSkull, IceSkull, 170, 7000, 0, 7595, 757, 2, 75, 400, 40, 15, 0, 40, 30, 30, 30, 35, 44, 9, 10, 1, 3, 11, 141, 600, 1600, 672, 480, 4026, 5000, 862, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30
1119, Thug, Thug, 170, 5000, 0, 5491, 999, 1, 125, 250, 30, 6, 0, 10, 10, 60, 10, 50, 70, 9, 10, 1, 0, 10, 143, 500, 1200, 672, 480, 539, 1000, 657, 1000, 703, 1000, 701, 500, 700, 250, 764, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
1120, Swashbuckler, Swashbuckler, 170, 5000, 0, 5434, 999, 1, 75, 250, 23, 25, 0, 20, 20, 40, 30, 90, 70, 9, 10, 1, 0, 10, 143, 400, 800, 672, 480, 539, 1000, 657, 1000, 703, 1000, 701, 500, 700, 250, 622, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40
@@ -19,7 +19,7 @@
1142, Kage, Kage, 200, 29999, 280, 999999, 99999, 9, 90, 124, 74, 100, 0, 199, 2, 199, 197, 255, 175, 31, 10, 1, 1, 37, 181, 210, 672, 672, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1143, ManaSlayer, ManaSlayer, 180, 24000, 280, 42000, 5000, 2, 260, 274, 22, 67, 0, 31, 22, 90, 127, 255, 95, 31, 10, 1, 1, 37, 181, 210, 1200, 672, 50, 825, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1144, Dragon, Dragon, 250, 29999, 280, 1, 1, 3, 60, 90, 67, 67, 0, 199, 2, 199, 197, 255, 95, 31, 10, 1, 1, 37, 181, 210, 1200, 672, 50, 759, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-1145, KageGolem, KageGolem, 180, 29999, 280, 150000, 15000, 6, 140, 174, 72, 55, 0, 31, 22, 90, 127, 255, 125, 31, 10, 1, 1, 37, 181, 410, 1000, 672, 50, 5251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1145, KageGolem, KageGolem, 180, 29999, 280, 150000, 15000, 6, 140, 174, 72, 55, 0, 31, 22, 90, 127, 255, 125, 31, 10, 1, 1, 37, 181, 410, 1000, 672, 50, 5251, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1146, Flashmob, Flashmob, 181, 27000, 280, 72000, 5000, 3, 40, 60, 57, 57, 0, 31, 22, 90, 127, 255, 95, 31, 10, 1, 1, 37, 181, 160, 600, 672, 50, 825, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1147, Koyntety, Koyntety, 181, 27000, 280, 72000, 5000, 4, 220, 240, 52, 52, 0, 31, 22, 90, 127, 255, 105, 31, 10, 1, 1, 37, 181, 240, 1400, 672, 50, 825, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
//ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength
@@ -30,3 +30,4 @@
1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 165, 320, 1000, 672, 50, 631, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1183, MobMoubootaur, MobMoubootaur, 220, 99999, 9999, 999999, 99999, 1, 400, 500, 99, 99, 0, 99, 60, 99, 30, 255, 255, 18, 18, 1, 6, 47, 165, 240, 872, 272, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 5332, 1000, 5332, 500, 5332, 250, 4001, 5000, 4001, 2500, 4001, 1250, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/mob_skill_db.txt b/world/map/db/mob_skill_db.txt
index 135e856b..82ef11a4 100644
--- a/world/map/db/mob_skill_db.txt
+++ b/world/map/db/mob_skill_db.txt
@@ -28,9 +28,9 @@
// NPC_POISON
// Slime Monster Skills
-1092,SlimeBlast@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
+1092,SlimeBlast@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
1091,BlueSlime@NPC_SUMMONSLAVE_blastX1,any,198,1,8000,1000,5000,no,self,slavelt,1,1092,0,0,0,0,
-1093,WhiteSlime@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
+1093,WhiteSlime@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
1015,SantaSlime@NPC_EMOTION,idle,199,1,200,0,5000,yes,self,always,0,7,0,0,0,0,
1015,SantaSlime@NPC_EMOTION,walk,199,1,100,0,10000,yes,self,always,0,5,0,0,0,0,
1015,SantaSlime@NPC_SUMMONSLAVE,attack,198,5,10000,2000,60000,no,self,slavele,3,1016,0,0,0,0,
@@ -64,7 +64,7 @@
1067,Reaper2@NPC_SUMMONSLAVE_ballX1,any,198,1,8000,1000,7000,no,self,slavelt,1,1070,0,0,0,0,
1067,Reaper2@NPC_SUMMONSLAVE_scytheX2,any,198,1,8000,1000,7000,no,self,slavelt,2,1069,0,0,0,0,
1068,Reaper@NPC_SUMMONSLAVE_ballX2,any,198,1,8000,1000,5000,no,self,slavelt,2,1070,0,0,0,0,
-1070,BallLightning@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
+1070,BallLightning@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
// Rossy Quest
1086,FeyElement@NPC_SUMMONSLAVE_earthspiderX1,any,198,1,5000,100,500,no,self,slavelt,6,1083,0,0,0,0,
1086,FeyElement@NPC_SUMMONSLAVE_earthscorpionX1,any,198,1,5000,100,500,no,self,slavelt,6,1084,0,0,0,0,
@@ -105,11 +105,29 @@
1145,Golem@NPC_SUMMONSLAVE_slayerX2,any,198,2,9000,1000,155000,no,self,slavelt,6,1143,0,0,0,0,
1145,Golem@NPC_POISON,attack,178,10,1800,0,500,yes,target,always,0,0,10,0,0,0,
+// Blanc skills
+1197,Blanc1@NPC_SUMMONSLAVE_emoX1,any,198,1,10000,1000,120000,no,self,slavelt,1,1174,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_ballX2,attack,198,1,8000,1000,5000,no,self,slavelt,3,1070,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_thugX2,any,198,1,7000,1000,5000,no,self,slavelt,5,1119,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_swashbX2,any,198,1,7000,1000,5000,no,self,slavelt,7,1120,0,0,0,0,
+1197,Blanc1@NPC_SUMMONSLAVE_grenadX2,any,198,1,7000,1000,5000,no,self,slavelt,9,1121,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_emoX1,any,198,1,10000,1000,120000,no,self,slavelt,1,1174,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_ballX2,attack,198,1,8000,1000,5000,no,self,slavelt,3,1070,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_thugX2,any,198,1,7000,1000,5000,no,self,slavelt,5,1119,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_swashbX2,any,198,1,7000,1000,5000,no,self,slavelt,7,1120,0,0,0,0,
+1198,Blanc2@NPC_SUMMONSLAVE_grenadX2,any,198,1,7000,1000,5000,no,self,slavelt,9,1121,0,0,0,0,
+
// Emo skills
1174,Emo@NPC_SUMMONSLAVE_ballX2,attack,198,1,4000,1000,5000,no,self,slavelt,2,1070,0,0,0,0,
+1174,Emo@NPC_SUMMONSLAVE_thugX2,any,198,1,5000,1000,5000,no,self,slavelt,4,1119,0,0,0,0,
// Rotter Skills
-1176,Rotter@NPC_SUMMONSLAVE_rotX3,any,198,1,8000,1000,5000,no,self,slavelt,3,1177,0,0,0,0,
+1176,Rotter@NPC_SUMMONSLAVE_rotX6,any,198,1,8000,1000,5000,no,self,slavelt,6,1177,0,0,0,0,
1176,Rotter@NPC_POISON,attack,178,10,8000,0,2222,yes,target,always,0,0,10,0,0,0,
-1177,Rot@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,0,0,0,0,
-1177,Rot@NPC_POISON,attack,178,10,3000,0,500,yes,target,always,0,0,10,0,0,0, \ No newline at end of file
+1177,Rot@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
+1177,Rot@NPC_POISON,attack,178,10,3000,0,500,yes,target,always,0,0,10,0,0,0,
+
+//Rick Lime Skills
+1196,RickLime@NPC_SUMMONSLAVE_brblowX2,any,198,1,10000,1000,5000,no,self,slavelt,2,1195,0,0,0,0,
+1196,RickLime@NPC_SUMMONSLAVE_cloverX1,any,198,1,5000,1000,5000,no,self,slavelt,3,1037,0,0,0,0,
+1195,Brainblow@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0,
diff --git a/world/map/npc/001-2/_nodes.txt b/world/map/npc/001-2/_nodes.txt
index bea02442..33eaa51b 100644
--- a/world/map/npc/001-2/_nodes.txt
+++ b/world/map/npc/001-2/_nodes.txt
@@ -7,7 +7,7 @@
OnInit:
setarray .m$, "_N-Alchemy", "001-2", "001-2", "001-2", "001-2";
setarray .x1, "_N-Alchemy", 92, 98, 92, 98;
- setarray .y1, "_N-Alchemy", 89, 89, 76, 76;
+ setarray .y1, "_N-Alchemy", 89, 76, 76, 89;
setarray .x2, "_N-Alchemy", 0, 0, 0, 0;
setarray .y2, "_N-Alchemy", 0, 0, 0, 0;
setarray .id, "_N-Alchemy", 0, 0, 0, 0;
diff --git a/world/map/npc/011-1/shops.txt b/world/map/npc/011-1/shops.txt
index 51c5762f..2b8b2f30 100644
--- a/world/map/npc/011-1/shops.txt
+++ b/world/map/npc/011-1/shops.txt
@@ -5,4 +5,4 @@
//#################################################################################
// Shop
-011-1,80,33,0|shop|Fruit Store|400,GreenApple:*1,RedApple:*1,Orange:*1,Tomato:*1
+011-1,80,33,0|shop|Fruit Store|400,GreenApple:*1,RedApple:*1,YellowApple:*1,Orange:*1
diff --git a/world/map/npc/018-1/mapflags.txt b/world/map/npc/018-1/mapflags.txt
index 434b6d7c..a1b62aab 100644
--- a/world/map/npc/018-1/mapflags.txt
+++ b/world/map/npc/018-1/mapflags.txt
@@ -1 +1 @@
-018-1|mapflag|resave|018-2,88,32 \ No newline at end of file
+018-1|mapflag|resave|018-2,88,32
diff --git a/world/map/npc/018-2/mapflags.txt b/world/map/npc/018-2/mapflags.txt
index 8de271e1..146c0378 100644
--- a/world/map/npc/018-2/mapflags.txt
+++ b/world/map/npc/018-2/mapflags.txt
@@ -1 +1 @@
-018-2|mapflag|resave|018-2,88,32 \ No newline at end of file
+018-2|mapflag|resave|018-2,88,32
diff --git a/world/map/npc/018-3/mapflags.txt b/world/map/npc/018-3/mapflags.txt
index 3f703925..6495e15c 100644
--- a/world/map/npc/018-3/mapflags.txt
+++ b/world/map/npc/018-3/mapflags.txt
@@ -1 +1 @@
-018-3|mapflag|resave|018-2,88,32 \ No newline at end of file
+018-3|mapflag|resave|018-2,88,32
diff --git a/world/map/npc/029-2/sorfina.txt b/world/map/npc/029-2/sorfina.txt
index 7c6a589f..e1e92867 100644
--- a/world/map/npc/029-2/sorfina.txt
+++ b/world/map/npc/029-2/sorfina.txt
@@ -1,5 +1,6 @@
// This file is part of the Tutorial
// Author: Jenalya
+// Updates: Ledmitz
029-2,27,27,0|script|Sorfina|154,0,1
{
set @npc_distance, 2;
@@ -52,17 +53,35 @@ L_Species:
mes "[Old Woman]";
mes "\"Go on. If you need to think a bit, take your time.\"";
menu
- "... Tulimshar in Tonori ... I'm a Talpan.", L_Talpan;
+ "... Tulimshar in Tonori... I'm a Talpan(hair).", L_Talpan,
+ "... The Oranye Isles of Gasaron... I'm a Triton(fins). What are you?", L_Triton,
+ "... An Ifriton(horns) from The Land of Fire, beyond the shores of Kazai.", L_Ifriton;
L_Talpan:
+ mes "[Old Woman]";
+ mes "\"As am I. I really miss the casino... and the magic school is beautiful in the sunlight.\"";
set Class, 1;
goto L_AnythingElse;
+L_Triton:
+ mes "[Old Woman]";
+ mes "\"Oh my! You must have been caught in a current for a long ways. I bet those fins came in handy.\"";
+ mes "\"I'm a Talpan, originally from Tulimshar. Its very hot and dry there, but it borders the ocean to the west so you might like it there.\"";
+ set Class, 2;
+ goto L_AnythingElse;
+
+L_Ifriton:
+ mes "[Old Woman]";
+ mes "\"Oh dear! How in all of The Mana World, did you end up on our shores here?\"";
+ mes "\"I'm a Talpan, originally from Tulimshar. I know of Kazai though. That's where the town Nivalis is.\"";
+ set Class, 3;
+ goto L_AnythingElse;
+
L_AnythingElse:
mes "[Old Woman]";
mes "\"Anything else you can remember?\"";
menu
- "Umm... no... I... I don't remember anything else...", L_KnowNothing;
+ "Umm... no... I... I don't remember anything... not even how I got here...", L_KnowNothing;
L_KnowNothing:
mes "[Old Woman]";
@@ -123,8 +142,8 @@ L_Clothes:
mes "\"That's much better, don't you think?\"";
mes "\"Here take this.\"";
getitem "HitchhikersTowel", 1;
- mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\"";
- mes "\"It can't be used constantly as the magic needs time to power the jump.\"";
+ mes "\"Your HitchHikers Towel will return you to your last touched soul menhir or here if not set. That also applies if you ever get hurt too badly, mana forbid.\"";
+ mes "\"Towels can't be used constantly as the magic needs time to power the jump. If you do get really hurt, you'll also have to wait. Soul Menhirs are magical too, you see?\"";
mes "\"I think this will help you a bit. To get more information, press the button Setup and look at the controls on the Keyboard tab. You can also change them as you like.";
mes "Talk to me again if you want me to explain more things.\"";
@@ -190,7 +209,7 @@ L_Talk:
mes "Then type your message and press Enter to send.\"";
next;
mes "\"You may want to talk privately to another adventurer sometimes. In that case you can whisper.";
- mes "After pressing [###keyChat;] type '/whisper [name] [message]'.";
+ mes "After pressing [###keyChat;] type '/whisper [name] [message]' or just use /w, for short. Same thing.";
mes "Or you can right click on someone and choose the whisper option.\"";
next;
mes "\"Press [###keyWindowChat;] to show and hide your chat window.\"";
@@ -209,8 +228,8 @@ L_Items:
next;
mes "\"Miscellaneous items such as maggot slime, can be used in creating other items, or just to trade and sell.\"";
next;
- mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\"";
- mes "\"It can't be used constantly as the magic needs time to power the jump.\"";
+ mes "\"Your HitchHikers Towel will return you to your last touched soul menhir or here if not set. That also applies if you ever get hurt too badly, mana forbid.\"";
+ mes "\"Towels can't be used constantly as the magic needs time to power the jump. If you do get really hurt, you'll also have to wait. Soul Menhirs are magical too, you see?\"";
next;
mes "\"Press [###keyWindowInventory;] to open your inventory.";
mes "When placing your cursor over an item there, you can see a box with some information about that item.\"";
@@ -231,11 +250,11 @@ L_Shortcut:
L_Aidan:
mes "[Sorfina]";
mes "\"I heard Aidan and Valon are looking for brave adventurers, you might want to talk to them. ";
- mes "You can find Aidan near the camp fire outside. The fields are just south of the town exit. ";
+ mes "You can find Aidan near the camp fire outside. The fields are just east of him. ";
mes "You'll see Valon of the city gaurd standing there. They both are offering rewards for monster hunting.\"";
next;
mes "\"When you leave this area to the South, you'll come to the docks.";
- mes "They will take you to Hurnscald, a major trading port.\"";
+ mes "They will take you to Hurnscald of Argaes, a major trading port. There's also another ferry there that can take you to Tulimshar or Kazai, near Nivalis.\"";
next;
mes "\"Go east out of Candor and north. You will find the cave everyone is talking about to the north.";
next;
@@ -245,7 +264,7 @@ L_Aidan:
L_Barber:
mes "[Sorfina]";
mes "\"Jessie downstairs can change your appearance.\"";
- mes "\"They will allow you to change your hair color or style as well as gender.\"";
+ mes "\"They will allow you to change your hair color or style as well as gender and species, in case you have a change of heart.\"";
next;
mes "\"There are a number of people across the continent that can change this for you.\"";
mes "\"There is no cost or limit to the number of times it can be changed.\"";
@@ -380,7 +399,7 @@ L_Block:
if (TUT_var > 0)
end;
mes "[Server/Client Notice]";
- mes "The explanations in this tutorial are based on the official client, Manaplus.";
+ mes "The explanations in this tutorial are based on the official client, ManaVerse.";
mes "If you're using another client, settings and controls may be different.";
callfunc "GameRules";
close;
diff --git a/world/map/npc/029-2/stat_reset.txt b/world/map/npc/029-2/stat_reset.txt
index 427a1da5..d66cd2f9 100644
--- a/world/map/npc/029-2/stat_reset.txt
+++ b/world/map/npc/029-2/stat_reset.txt
@@ -10,7 +10,7 @@
mes "[Jessie]";
mes "\"I know a spell that will";
- mes "reset status points on the youngings.";
+ mes "reset status points on the younglings.";
mes "";
mes "I can also change their appearance.\"";
next;
diff --git a/world/map/npc/029-2/tanisha.txt b/world/map/npc/029-2/tanisha.txt
index 025cc499..9f53d06e 100644
--- a/world/map/npc/029-2/tanisha.txt
+++ b/world/map/npc/029-2/tanisha.txt
@@ -1,6 +1,7 @@
// This file is part of the Tutorial
// Authors: Jenalya, alastrim
// Cleanup: o11c
+// Updates: Ledmitz
029-2,110,88,0|script|Tanisha|114
{
@@ -104,13 +105,14 @@ L_StatsRe:
mes "\"Agility increases your attack speed and your ability to dodge attacks.\"";
mes "\"Vitality gives you more hit points and more defense against physical attacks.\"";
mes "\"Intelligence is useful for magic attack and defense.";
- mes "But as long as you don't know any magic, you shouldn't use your points on this.\"";
+ mes "But as long as you don't know any magic, you may not want to use your points on this. Unless...\"";
+ mes "If you do choose that path, be sure to visit the alchemy shop and talk to Morgan.\"";
mes "\"Dexterity is needed to hit monsters. It's also very important for the damage if you use a ranged weapon.\"";
- mes "\"Luck gives you the chance to do critical hits and lowers the chance to receive a critical hit from your opponent.\"";
+ mes "\"Luck gives you the chance to do critical hits and lowers the chance to receive hits a bit from your opponent. Most importantly, critical hits.\"";
next;
mes "\"Think about how you want to play before assigning the points.\"";
mes "\"My Uncle sitting at the counter knows a spell to help the younglings reset their stats.\"";
- mes "\"He can also change your hair style and color, along with your gender.\"";
+ mes "\"He can also change your hair style and color, along with your gender or species.\"";
mes "\"Furthermore, he knows of mages with even more powerful reset spells for your stats.\"";
next;
if (QL_BEGIN == 7)
@@ -163,6 +165,7 @@ L_Mob:
mes "\"Neutral monsters are peaceful until they get attacked.\"";
next;
mes "\"Assistants are monsters who help each other.\"";
+ mes "\"They can be Neutral or Aggressive.\"";
goto L_Close;
L_Tut_Done:
diff --git a/world/map/npc/055-1/_mobs.txt b/world/map/npc/055-1/_mobs.txt
index 63b0cf2d..bbd2b38d 100644
--- a/world/map/npc/055-1/_mobs.txt
+++ b/world/map/npc/055-1/_mobs.txt
@@ -19,3 +19,5 @@
055-1,64,73,23,17|monster|PinkFlower|1014,1,10000ms,45000ms
055-1,0,0,0,0|monster|SpikyMushroom|1019,7,10000ms,60000ms
055-1,113,25,10,7|monster|PinkFlower|1014,2,0ms,250ms
+055-1,0,0,0,0|monster|BigFrog|1182,8,150000ms,7000ms
+055-1,0,0,0,0|monster|SmallFrog|1181,16,150000ms,7000ms
diff --git a/world/map/npc/055-1/mapflags.txt b/world/map/npc/055-1/mapflags.txt
index d58a3bf8..31c2f835 100644
--- a/world/map/npc/055-1/mapflags.txt
+++ b/world/map/npc/055-1/mapflags.txt
@@ -1 +1 @@
-055-1|mapflag|resave|055-1,133,61 \ No newline at end of file
+055-1|mapflag|resave|055-1,133,61
diff --git a/world/map/npc/069-2/wizard.txt b/world/map/npc/069-2/wizard.txt
index d9d0464a..c94258ec 100644
--- a/world/map/npc/069-2/wizard.txt
+++ b/world/map/npc/069-2/wizard.txt
@@ -137,18 +137,39 @@ L_Doomsday:
mes "\"...The Doomsday was a fierce battle. If you go there alone, you definitely will die. You should make a party and bring them all here, then I'll consider helping you.\"";
next;
mes "[Rodium]";
- mes "\"##1##BBut... not yet. The time wheel is broken again! Oh dear, these things happen, so I guess that to see the past... You must wait for the future...##b##0\"";
- if (debug) goto L_Warp;
- if (GM >= G_EVENT) goto L_Warp;
- goto L_Menu2;
+ mes "\"I'll require 2× [@@"+BlackRose+"|@@] and 500 GP to warp everyone here back in time. The events, however, are already fixed; time travel cannot change the past, and you are too weak to make a parallel universe with only that. Ah! There are no refunds, if you're alone then it is your loss.\"";
+ next;
+ mes "[Rodium]";
+ mes "\"So? What will you do?\"";
+ menu "Nothing for now, thanks for the info and sorry for the bother.", L_Close,
+ "Please, bring me to Keshlam!", L_Fine;
+
+L_Fine:
+ if (countitem(BlackRose) < 2) goto L_Close;
+ if (Zeny < 500) goto L_Close;
+ delitem BlackRose, 2;
+ set Zeny, Zeny - 500;
+ set $@RODIUM$, strcharinfo(0);
+ // centered in Rodium (107,90) visible radius: 15 tiles
+ areatimer 0, "069-2", 92, 75, 122, 105, 10, "Mclecht Rodium::OnWarp";
+ goto L_Close;
L_Warp:
- // TODO: Require some sort of payment
// TODO: Revive all mobs from 099-1/-2/-3 (they do not respawn, iirc)
// TODO: Reduce amount of mobs >.<
warp "099-1", 34, 34;
close;
+OnWarp:
+ if (strcharinfo(0) == $@RODIUM$) goto L_Warp;
+ mes "[Rodium]";
+ mes "\"Hey, "+$@RODIUM$+" is inviting you to time-trip to Keshlam. If they didn't explain you any detail, then don't bother. Otherwise, do you want me to warp you, too?\"";
+ next;
+ mes "[Rodium]";
+ mes "\"Please make your decision.\"";
+ menu "I don't know what you're talking about, old man!", L_Close,
+ "Yeah, they're my friend, please warp me!", L_Warp;
+
L_Close:
close;
}
diff --git a/world/map/npc/commands/bosspoints.txt b/world/map/npc/commands/bosspoints.txt
index d7a8e0ab..37bc6029 100644
--- a/world/map/npc/commands/bosspoints.txt
+++ b/world/map/npc/commands/bosspoints.txt
@@ -7,5 +7,6 @@ OnInit:
// TODO: allow event managers to give and take boss points
registercmd chr(ATCMD_SYMBOL) + "bosspoints", strnpcinfo(0);
registercmd chr(ATCMD_SYMBOL) + "bosspoint", strnpcinfo(0); // for typos
+ registercmd chr(ATCMD_SYMBOL) + "bp", strnpcinfo(0); // shortcut
end;
}
diff --git a/world/map/npc/commands/dailypoints.txt b/world/map/npc/commands/dailypoints.txt
index 5d5234fc..d263baaf 100644
--- a/world/map/npc/commands/dailypoints.txt
+++ b/world/map/npc/commands/dailypoints.txt
@@ -1,5 +1,7 @@
-|script|@dailypoints|32767
{
+ callfunc "DailyQuestPoints";
+
message strcharinfo(0), "Daily Points : You currently have " + (DailyQuestPoints + DailyQuestBonus) + " Daily Points.";
close;
@@ -7,5 +9,6 @@ OnInit:
// TODO: allow event managers to give and take daily points
registercmd chr(ATCMD_SYMBOL) + "dailypoints", strnpcinfo(0);
registercmd chr(ATCMD_SYMBOL) + "dailypoint", strnpcinfo(0); // for typos
+ registercmd chr(ATCMD_SYMBOL) + "dp", strnpcinfo(0); // shortcut
end;
}
diff --git a/world/map/npc/commands/mobpoints.txt b/world/map/npc/commands/mobpoints.txt
index 10dc4b5b..f556734c 100644
--- a/world/map/npc/commands/mobpoints.txt
+++ b/world/map/npc/commands/mobpoints.txt
@@ -7,5 +7,6 @@ OnInit:
// TODO: allow event managers to give and take monster points
registercmd chr(ATCMD_SYMBOL) + "mobpoints", strnpcinfo(0);
registercmd chr(ATCMD_SYMBOL) + "mobpoint", strnpcinfo(0); // for typos
+ registercmd chr(ATCMD_SYMBOL) + "mp", strnpcinfo(0); // shortcut
end;
}
diff --git a/world/map/npc/functions/barber.txt b/world/map/npc/functions/barber.txt
index dbc7614b..311bbb85 100644
--- a/world/map/npc/functions/barber.txt
+++ b/world/map/npc/functions/barber.txt
@@ -138,6 +138,10 @@ L_RandomStyle:
if(@randomStyle[0] == @style && @randomStyle[1] < 15) goto L_RandomStyle;
setlook LOOK_HAIR_STYLE, @randomStyle[0];
setarray @randomStyle[1], 0;
+
+ set .@style$, @HairStyles$[(@randomStyle[0] - 1)];
+ mes "Your new style is " + .@style$;
+
menu
"Surprise me once again", L_RandomStyle,
"Go back", L_MainClear,
diff --git a/world/map/npc/functions/dailyquest.txt b/world/map/npc/functions/dailyquest.txt
index 2770e2e7..07d4d90e 100644
--- a/world/map/npc/functions/dailyquest.txt
+++ b/world/map/npc/functions/dailyquest.txt
@@ -38,20 +38,10 @@ function|script|DailyQuestPoints
set @dq_increments, (gettimetick(2) - DailyQuestTime)*BaseLevel / 86400;
set DailyQuestTime, DailyQuestTime + @dq_increments*86400/BaseLevel;
- // player can't regenerate any quest points, but might have a bonus
- if (DailyQuestPoints >= BaseLevel)
- goto L_Bonus;
-
// normal recharging case - increment, but don't let it recharge more than a day's worth
set DailyQuestPoints, DailyQuestPoints + @dq_increments;
if (DailyQuestPoints > BaseLevel)
set DailyQuestPoints, BaseLevel;
- // fallthrough to bonus, which *is* allowed to push DailyQuestPoints above BaseLevel
- goto L_Bonus;
-
-L_Bonus:
- set DailyQuestPoints, DailyQuestPoints + DailyQuestBonus;
- set DailyQuestBonus, 0;
return;
}
@@ -64,13 +54,15 @@ function|script|DailyQuest
if (BaseLevel < @dq_level)
goto L_Low_Level;
- if (DailyQuestPoints < @dq_cost)
+
+ set .@total_points, (DailyQuestPoints + DailyQuestBonus);
+ if (.@total_points < @dq_cost)
goto L_Not_Enough_Points;
mes "\"If you bring me " + @dq_count + " " + @dq_friendly_name$ + ", I will give you a reward.\"";
menu
"I have what you want.", L_Trade,
- "Take all you need.", L_All,
+ "Take all you need.", L_Trade_All,
"Ok, I'll get to work.", L_Next,
"Nah, I'm not going to help you.", L_Next;
@@ -79,41 +71,32 @@ L_Next:
goto L_Exit;
L_Trade:
- if (countitem(@dq_name$) < @dq_count)
- goto L_Not_Enough;
-
set @dq_multiplier, 1;
+ goto L_Trade_Combined;
- delitem @dq_name$, @dq_count;
-
- set Zeny, Zeny + @dq_money;
- getexp @dq_exp, 0;
+L_Trade_All:
+ set .@total_points, (DailyQuestPoints + DailyQuestBonus);
+ set .@item_multiple, (countitem(@dq_name$) / @dq_count);
+ set .@dp_multiple, (.@total_points / @dq_cost);
- set DailyQuestPoints, DailyQuestPoints - @dq_cost;
+ if (.@dp_multiple > .@item_multiple)
+ set @dq_multiplier, .@item_multiple;
+ else
+ set @dq_multiplier, .@dp_multiple;
- if (@dq_handle_return)
- goto L_Exit_Good;
+ goto L_Trade_Combined;
- mes "\"Thank you!\"";
- callsub S_SayPhrase;
- mes "";
- mes "[" + @dq_money + " money]";
- mes "[" + @dq_exp + " experience points]";
- goto L_Exit_Good;
-
-L_All:
+L_Trade_Combined:
+ // the check for points already happens before the menu.
if (countitem(@dq_name$) < @dq_count)
goto L_Not_Enough;
- set @item_multiple, (countitem(@dq_name$) / @dq_count);
- set @dp_multiple, (DailyQuestPoints / @dq_cost);
-
- if (@dp_multiple > @item_multiple)
- set @dq_multiplier, @item_multiple;
- if (@item_multiple >= @dp_multiple)
- set @dq_multiplier, @dp_multiple;
+ set .@dq_cost_total, @dq_cost * @dq_multiplier;
+ set .@dq_cost_bonus, .@dq_cost_total - DailyQuestPoints;
- set DailyQuestPoints, DailyQuestPoints - (@dq_cost * @dq_multiplier);
+ set DailyQuestPoints, max(0, -.@dq_cost_bonus);
+ if (.@dq_cost_bonus > 0)
+ set DailyQuestBonus, DailyQuestBonus - .@dq_cost_bonus;
delitem @dq_name$, (@dq_count * @dq_multiplier);
@@ -158,15 +141,17 @@ L_Exit:
S_SayPhrase:
if (@dq_handle_return)
goto L_Return;
- if (DailyQuestPoints < @dq_cost)
+
+ set .@total_points, (DailyQuestPoints + DailyQuestBonus);
+ if (.@total_points < @dq_cost)
goto L_Exhausted;
- if (DailyQuestPoints > BaseLevel)
+ if (.@total_points > BaseLevel)
goto L_Over;
- if (DailyQuestPoints > (BaseLevel*9)/10)
+ if (.@total_points > (BaseLevel*9)/10)
goto L_P90;
- if (DailyQuestPoints > (BaseLevel*7)/10)
+ if (.@total_points > (BaseLevel*7)/10)
goto L_P70;
- if (DailyQuestPoints > (BaseLevel*5)/10)
+ if (.@total_points > (BaseLevel*5)/10)
goto L_P50;
goto L_Low;
diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt
index eba97ab2..915423e8 100644
--- a/world/map/npc/functions/global_event_handler.txt
+++ b/world/map/npc/functions/global_event_handler.txt
@@ -44,6 +44,7 @@ OnPCDieEvent:
end;
OnPCLogoutEvent:
+// if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this
callfunc "VaultLogout";
end;
diff --git a/world/map/npc/functions/headstyles.txt b/world/map/npc/functions/headstyles.txt
index f5f2ea82..bada9f4e 100644
--- a/world/map/npc/functions/headstyles.txt
+++ b/world/map/npc/functions/headstyles.txt
@@ -4,8 +4,8 @@
function|script|fixHeadStyles
{
callfunc "getHeadStyles";
- if ((TUT_var < 1 || QL_BEGIN < 1) && StatusPoint < 1 && BaseLevel == 1)
- goto L_RandomHair; // on first login
+ // if ((TUT_var < 1 || QL_BEGIN < 1) && StatusPoint < 1 && BaseLevel == 1)
+ // goto L_RandomHair; // on first login
set @style, getlook(LOOK_HAIR_STYLE); // FIXME: this needs to be a param in the future
set @color, getlook(LOOK_HAIR_COLOR); // FIXME: this needs to be a param in the future
if (@style < 1 || @style > getarraysize(@HairStyles$)) // leftover from previous attempt at classes
@@ -17,11 +17,11 @@ function|script|fixHeadStyles
setlook LOOK_HAIR_COLOR, @color; // FIXME: this needs to be a param in the future
return;
-L_RandomHair:
- resetstatus; // <= important! gives 48 stat points
- setlook LOOK_HAIR_STYLE, rand(1, getarraysize(@HairStyles$));
- setlook LOOK_HAIR_COLOR, rand((15 * (Class - 1)),((15 * (Class - 1)) + (getarraysize(@HairColors$) - 1)));
- return;
+// L_RandomHair:
+ // resetstatus; // <= important! gives 48 stat points
+ // setlook LOOK_HAIR_STYLE, rand(1, getarraysize(@HairStyles$));
+ // setlook LOOK_HAIR_COLOR, rand((15 * (Class - 1)),((15 * (Class - 1)) + (getarraysize(@HairColors$) - 1)));
+ // return;
}
function|script|getHeadStyles
diff --git a/world/map/npc/items/rubber_bat.txt b/world/map/npc/items/rubber_bat.txt
index 9eb3725d..0bf80ede 100644
--- a/world/map/npc/items/rubber_bat.txt
+++ b/world/map/npc/items/rubber_bat.txt
@@ -7,7 +7,7 @@ function|script|rubberBat
L_Return:
getitem "RubberBat", 1;
- debugmes "Check";
+// debugmes "Check";
if ($DOOMSDAY == 3)
addtimer 10, "#TMWFinalExam::OnRubberBat";
return;
diff --git a/world/map/npc/items/silver_bell.txt b/world/map/npc/items/silver_bell.txt
new file mode 100644
index 00000000..8a791bff
--- /dev/null
+++ b/world/map/npc/items/silver_bell.txt
@@ -0,0 +1,12 @@
+function|script|SilverBellSound
+{
+ if (gettimetick(2) - @lastsilverbell < 20) goto L_Return;
+ misceffect 404;
+ set @lastsilverbell, gettimetick(2);
+ goto L_Return;
+
+L_Return:
+ getitem "SilverBell", 1;
+// debugmes "Check";
+ return;
+}
diff --git a/world/map/npc/magic/_import.txt b/world/map/npc/magic/_import.txt
index 5b1ea65c..4c5dc1ed 100644
--- a/world/map/npc/magic/_import.txt
+++ b/world/map/npc/magic/_import.txt
@@ -14,6 +14,7 @@ npc: npc/magic/level1-grow-mauve.txt
npc: npc/magic/level1-grow-alizarin.txt
npc: npc/magic/level1-grow-gamboge.txt
npc: npc/magic/level1-grow-cobalt.txt
+npc: npc/magic/level1-grow-shadow.txt
npc: npc/magic/level1-summon-maggots.txt
npc: npc/magic/level1-sense-spouse.txt
npc: npc/magic/level1-detect-magic.txt
@@ -46,3 +47,12 @@ npc: npc/magic/level2-make-shirt.txt
npc: npc/magic/level3-necromancy.txt
npc: npc/magic/event-summon-managuardian.txt
npc: npc/magic/event-summon-manatyrant.txt
+npc: npc/magic/event-boss-powerup-lifedrain.txt
+npc: npc/magic/event-boss-powerup-manadrain.txt
+npc: npc/magic/event-boss-powerup-poison.txt
+npc: npc/magic/event-boss-powerup-tormenta.txt
+npc: npc/magic/event-boss-powerup-totheabyss.txt
+npc: npc/magic/event-boss-powerup-tothecrypt.txt
+npc: npc/magic/event-boss-powerup-disarm.txt
+npc: npc/magic/event-boss-powerup-grenades.txt
+npc: npc/magic/event-boss-powerup-headshot.txt
diff --git a/world/map/npc/magic/_procedures.txt b/world/map/npc/magic/_procedures.txt
index eaacd774..601d5b15 100644
--- a/world/map/npc/magic/_procedures.txt
+++ b/world/map/npc/magic/_procedures.txt
@@ -94,6 +94,52 @@ L_Return:
return 0;
}
+
+// this function is call()-only
+// Custom version of checks for Dungeon Masters boss "powerups".
+// Both GMs and player eventers MAY eventually call "boss powerups".
+// By default, only GMs >= 40 can use BossPowers, but:
+// - If someone abuses BossPowers, setting #BOSS_POWERS_DISABLED = 1 on them locks them out.
+// - Some (trusted) player can be allowed to invoke this by setting #IS_EVENTER = 42 on them.
+// On TMWA these changes need GM Lv 80 to issue @setvar, so access can only be changed by Lv 80.
+// Advantage of this permissions system is: no need to shuffle GM levels, nor there's need to restart server.
+
+function|script|boss_powerup_checks
+{
+ set .@flags, getarg(0);
+ set .@nonmagic, .@flags & (1<<0);
+
+ if ($BOSS_KILLSWITCH) goto L_Killswitch; // If things go wrong, boss powers can be completely disabled.
+ if (#BOSS_POWERS_DISABLED) goto L_Killswitch; // If someone abuses BossPowers they can get DENY flag set.
+ if (HIDDEN) goto L_Hidden; // can not cast with @hide
+ if (@_M_BLOCK) goto L_Blocked; // check if last debuff ended
+ if (Hp < 1) goto L_Dead; // can not cast when dead
+ if (GM >= 40) goto L_Allowed; // GM >= 40 can use boss actions
+ if (#IS_EVENTER == 42) goto L_Allowed; // Trusted player(s) could be allowed to access Eventer "magic":
+ // Use @setvar #IS_EVENTER 0 42 Nick (GM Lv 80 command) to do it.
+ smsg SMSG_FAILURE, "BossPowers: Only few of mere mortals may try to enter the twilight zone";
+ return 1; // Not allowed by default.
+
+L_Allowed:
+ return 0; // Whoever gets here allowed to invoke BossPowers spells
+
+L_Killswitch:
+ smsg SMSG_FAILURE, "BossPowers: disabled by kill switch!";
+ return 2;
+
+L_Hidden:
+ smsg SMSG_FAILURE, "BossPowers: can't be used when hidden!";
+ return 3;
+
+L_Blocked:
+ smsg SMSG_FAILURE, "BossPowers: cooldown is in effect. Please wait.";
+ return 4;
+
+L_Dead:
+ smsg SMSG_FAILURE, "BossPowers: you're dead!";
+ return 5;
+}
+
function|script|elt_damage
{
// args are damage, dmgplus(mutation), bonus_elt, malus_elt, effect
diff --git a/world/map/npc/magic/event-boss-powerup-disarm.txt b/world/map/npc/magic/event-boss-powerup-disarm.txt
new file mode 100644
index 00000000..27a199a0
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-disarm.txt
@@ -0,0 +1,41 @@
+-|script|powerup-disarm|32767
+{
+ end;
+
+OnCast:
+ if(call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 12000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 12000, 0, BL_ID;
+ misceffect FX_MEDIUM_EXPLOSION, strcharinfo(0);
+ set @dist, 12;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if (@target_id == BL_ID) end; // Do not disarm caster
+ if ((get(Hp, @target_id)) < 1) end; // Do not touch dead
+ message strcharinfo(0, @target_id), "[boss-disarm] : "+strcharinfo(0, BL_ID)+" disarms you!";
+ addtimer 500, strnpcinfo(0)+"::OnUnequip", @target_id;
+ end;
+
+OnUnequip:
+ misceffect FX_EMOTE_SURPRISE, strcharinfo(0);
+ unequipbyid 8; // Hand ?1
+ unequipbyid 9; // Hand ?2
+ unequipbyid 10; // Ammo
+ end;
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-disarm] : can't use boss tricks in towns!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "mapdisarm"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-grenades.txt b/world/map/npc/magic/event-boss-powerup-grenades.txt
new file mode 100644
index 00000000..0a692314
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-grenades.txt
@@ -0,0 +1,40 @@
+-|script|powerup-grenades|32767
+{
+ end;
+
+OnCast:
+ if(call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 16000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 16000, 0, BL_ID;
+ misceffect FX_MEDIUM_EXPLOSION, strcharinfo(0);
+ set @dist, 5;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if (@target_id == BL_ID) end; // Do not hit caster
+ if ((get(Hp, @target_id))) < 1 end; // Do not touch dead
+ message strcharinfo(0, @target_id), "[boss-grenades] : "+strcharinfo(0, BL_ID)+" dropped grenade on you!";
+ addtimer (100+rand(300)), strnpcinfo(0)+"::OnGrenadeHit", @target_id;
+ end;
+
+OnGrenadeHit:
+ misceffect FX_MEDIUM_SMOKE, strcharinfo(0);
+ heal (0 - rand(Hp)), 0;
+ set Sp, (Sp / 3);
+ end;
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-grenades] : not allowed in towns!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "grenades"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-headshot.txt b/world/map/npc/magic/event-boss-powerup-headshot.txt
new file mode 100644
index 00000000..5e3dc4f9
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-headshot.txt
@@ -0,0 +1,54 @@
+-|script|powerup-headshot|32767
+{
+ end;
+
+OnCast:
+ if(call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @target_id, getcharid(3, @args$);
+ if (@target_id < 1 || !(isloggedin(@target_id)) || get(INVISIBLE, @target_id) == 1) goto L_Fail_target;
+ if (distance(BL_ID, @target_id) > 9) goto L_Too_far;
+ if ((get(Hp, @target_id)) < 1) goto L_Too_dead; // Do not touch dead
+ if (target(BL_ID, @target_id, 0x20) != 0x20) goto L_No_los;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 16000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 16000, 0, BL_ID;
+
+ misceffect FX_MEDIUM_EXPLOSION, strcharinfo(0);
+ misceffect FX_CHANNELLING_CAST_RED, @target_id;
+ set @tgthp, (get(Hp, @target_id) / 2);
+ set Sp, 1, @target_id; // Hurt target
+ if (@tgthp < 1500) set @tgthp, 1; // Boss or not? (>3000 HP)
+ set Hp, @tgthp, @target_id; // Hurt target
+ message strcharinfo(0, @target_id), "[boss-headshot] : "+strcharinfo(0, BL_ID)+" shot you!";
+ set @tgthp, 0;
+ end;
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-headshot] : not allowed in towns!";
+ end;
+
+L_Fail_target:
+ message strcharinfo(0), "[boss-headshot] : need valid target (player).";
+ end;
+
+L_Too_far:
+ message strcharinfo(0), "[boss-headshot] : target is too far away.";
+ end;
+
+L_Too_dead:
+ message strcharinfo(0), "[boss-headshot] : why shoot already dead?!";
+ end;
+
+L_No_los:
+ message strcharinfo(0), "[boss-headshot] : no line of sight to target";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "headshot"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-lifedrain.txt b/world/map/npc/magic/event-boss-powerup-lifedrain.txt
new file mode 100644
index 00000000..5399ea37
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-lifedrain.txt
@@ -0,0 +1,44 @@
+-|script|powerup-lifedrain|32767
+{
+ end;
+
+OnCast:
+ if(call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 30000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 30000, 0, BL_ID;
+ misceffect FX_PENTAGRAM_BURST, strcharinfo(0);
+ set @dist, 12;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if (@target_id == BL_ID) end; // Do not drain caster
+ set @targethp, get(Hp, @target_id); // Get HP of victim
+ if (@targethp > 0) goto L_cont;
+ set @targethp, 0;
+ end; // Do not drain dead!
+L_cont:
+ set @hpgain, min((@targethp / 4), 500); // Boss could be beefy -> clamp
+ message strcharinfo(0, @target_id), "[boss-lifedrain] : "+strcharinfo(0, BL_ID)+" drains "+(@hpgain * 2)+" hitpoints!";
+ misceffect FX_CHANNELLING_RAISE_RED, strcharinfo(0, @target_id);
+ set Hp, (@targethp - (2 * @hpgain)), @target_id; // Drain victim
+ set @targethp, (get(Hp, BL_ID) + @hpgain); // Compute caster's HP + bonus
+ set Hp, (@targethp), BL_ID; // Heal caster by half drain
+ set @hpgain, 0;
+ set @targethp, 0;
+ end;
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-lifedrain] : aura of this place doesn't lets you to drain life!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "maplifedrain"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-manadrain.txt b/world/map/npc/magic/event-boss-powerup-manadrain.txt
new file mode 100644
index 00000000..b6f7f835
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-manadrain.txt
@@ -0,0 +1,44 @@
+-|script|powerup-manadrain|32767
+{
+ end;
+
+OnCast:
+ if(call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 20000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 20000, 0, BL_ID;
+ misceffect FX_CHANNELLING_CAST_BLUE, strcharinfo(0);
+ set @dist, 16;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if (@target_id == BL_ID) end; // Do not drain caster
+ if ((get(Hp, @target_id)) < 1) end; // Do not touch dead
+ set @targetmp, get(Sp, @target_id); // Get MP of victim
+ if (@targetmp > 0) goto L_cont;
+ set @targetmp, 0;
+ end; // Do not drain dead!
+L_cont:
+ set @hpgain, min((@targetmp * 2 ), 900); // Clamp in case of weird setups.
+ message strcharinfo(0, @target_id), "[boss-manadrain] : "+strcharinfo(0, BL_ID)+" drains all your mana!";
+ misceffect FX_CHANNELLING_RAISE_BLUE, strcharinfo(0, @target_id);
+ set Sp, 1, @target_id; // Drain victim
+ set Hp, (Hp + @hpgain), BL_ID; // Heal caster by computed amount
+ set @hpgain, 0;
+ set @targetmp, 0;
+ end;
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-manadrain] : aura of this place doesn't lets you drain mana!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "mapmanadrain"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-poison.txt b/world/map/npc/magic/event-boss-powerup-poison.txt
new file mode 100644
index 00000000..a37f5aa9
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-poison.txt
@@ -0,0 +1,35 @@
+-|script|powerup-masspoison|32767
+{
+ end;
+
+OnCast:
+ if (call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 16000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 16000, 0, BL_ID;
+ misceffect FX_MAGIC_SNAKE_CAST, strcharinfo(0);
+ set @dist, 12;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if (@target_id == BL_ID) end; // Do not poison caster
+ if ((get(Hp, @target_id)) < 1) end; // Do not poison dead!
+ message strcharinfo(0, @target_id), "[boss-masspoison] : "+strcharinfo(0, BL_ID)+" poisoned you!";
+ misceffect FX_EMOTE_DISGUST, strcharinfo(0, @target_id);
+ sc_start SC_POISON, 1, 60, @target_id;
+ end;
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-masspoison] : can't mass-poison in towns!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "mappoison"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-tormenta.txt b/world/map/npc/magic/event-boss-powerup-tormenta.txt
new file mode 100644
index 00000000..52e6f42f
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-tormenta.txt
@@ -0,0 +1,38 @@
+-|script|powerup-tormenta|32767
+{
+ end;
+
+OnCast:
+ if(call("boss_powerup_checks")) end;
+ bonus bMaxHP, 20000;
+ set Hp, (Hp+20000), BL_ID;
+ set Class, 1137, BL_ID;
+ warp getmap(), POS_X, POS_Y; // Refresh witch appearance
+ addtimer 1500, strnpcinfo(0)+"::OnFix";
+ message strcharinfo(0), "[boss-tormenta] : Tormenta impersonation started!";
+ end;
+
+OnFix:
+ set @fix_count, @fix_count + 1;
+ if (@fix_count > 1000) goto L_done; // Timed out.
+ if (get(Class, BL_ID) != 1137) goto L_done; // Caster attempted charclass?
+ set Class, 1142, BL_ID;
+ set Class, 1137, BL_ID;
+ addtimer 1500, strnpcinfo(0)+"::OnFix";
+ end;
+L_done:
+ message strcharinfo(0, BL_ID), "[boss-tormenta] : Tormenta impersonation ended!";
+ set @fix_count, 0;
+ set Class, 0, BL_ID;
+ bonus bMaxHP, 0;
+ set Hp, 100, BL_ID;
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "tormenta"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-totheabyss.txt b/world/map/npc/magic/event-boss-powerup-totheabyss.txt
new file mode 100644
index 00000000..d215db8b
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-totheabyss.txt
@@ -0,0 +1,57 @@
+-|script|powerup-totheabyss|32767
+{
+ end;
+
+// Armageddon-like action to be thrown by boss - by Hello=)
+// Hurts everyone near boss, throws FX and teleports 'em to abyss!
+
+OnCast:
+ if (call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 60000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 60000, 0, BL_ID;
+ misceffect FX_RED_MAGIC_CAST, strcharinfo(0);
+ set @dist, 25;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if ((get(Hp, @target_id)) < 1) end; // Do not touch dead
+ set Sp, 1, @target_id; // Hurt target
+ set Hp, min(((Hp/2)), 100), @target_id; // Hurt target
+ sc_start SC_POISON, 1, 10, @target_id; // Poison target
+ message strcharinfo(0, @target_id), "[boss-to-the-abyss] : "+strcharinfo(0, BL_ID)+" ##B PULLS YOU TO THE ABYSS!!";
+ misceffect FX_RED_MAGIC_CAST, strcharinfo(0, @target_id);
+ addtimer 1000, strnpcinfo(0)+"::OnTeleport", @target_id;
+ end;
+
+// Runs attached to player, beware. Dont try access vars from former code!
+OnTeleport:
+ warp "070-3", 40+rand(5), 25+rand(5); // warp (under char's RID!)
+ addtimer 1500, strnpcinfo(0)+"::OnArrival"; // To play FX after player's arrival -> map
+ end; // Done.
+
+// Runs attached to player, beware. Dont try access vars from former code!
+OnArrival:
+ misceffect 50, strcharinfo(0); // Unfortunately hell glow lacks const.
+ addtimer 15000, strnpcinfo(0)+"::OnClean"; // To cancel former "infinite" FX.
+ end; // Done.
+
+// Runs attached to player, beware. Dont try access vars from former code!
+OnClean:
+ warp getmap(), POS_X, POS_Y; // Actually to get rid of infinite FX
+ end; // Done.
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-to-the-abyss] : portal to abyss can't be opened in towns!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "totheabyss"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/event-boss-powerup-tothecrypt.txt b/world/map/npc/magic/event-boss-powerup-tothecrypt.txt
new file mode 100644
index 00000000..8ae4b3b6
--- /dev/null
+++ b/world/map/npc/magic/event-boss-powerup-tothecrypt.txt
@@ -0,0 +1,57 @@
+-|script|powerup-tothecrypt|32767
+{
+ end;
+
+// Armageddon-like action to be thrown by boss - by Hello=)
+// Hurts everyone near boss, throws FX and teleports 'em to crypt!
+
+OnCast:
+ if (call("boss_powerup_checks")) end;
+ if (getmapflag(getmap(), MF_TOWN)) goto L_Fail_town;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 60000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 60000, 0, BL_ID;
+ misceffect FX_BLUE_MAGIC_CAST, strcharinfo(0);
+ set @dist, 25;
+ foreach 0, getmap(), (POS_X - @dist), (POS_Y - @dist), (POS_X + @dist), (POS_Y + @dist), strnpcinfo(0) + "::OnHit";
+ end;
+
+OnHit:
+ if ((get(Hp, @target_id)) < 1) end; // Do not touch dead
+ set Sp, 1, @target_id; // Hurt target
+ set Hp, min(((Hp/2)), 100), @target_id; // Hurt target
+ sc_start SC_POISON, 1, 10, @target_id; // Poison target
+ message strcharinfo(0, @target_id), "[boss-to-the-crypt] : "+strcharinfo(0, BL_ID)+" ##B PULLS YOU TO THE CRYPT!!";
+ misceffect FX_CHANNELLING_RAISE, strcharinfo(0, @target_id);
+ addtimer 1000, strnpcinfo(0)+"::OnTeleport", @target_id;
+ end;
+
+// Runs attached to player, beware. Dont try access vars from former code!
+OnTeleport:
+ warp "027-5", 71+rand(3), 51+rand(3); // warp (under char's RID!)
+ addtimer 1500, strnpcinfo(0)+"::OnArrival"; // To play FX after player's arrival -> map
+ end; // Done.
+
+// Runs attached to player, beware. Dont try access vars from former code!
+OnArrival:
+ misceffect 50, strcharinfo(0); // Unfortunately hell glow lacks const.
+ addtimer 15000, strnpcinfo(0)+"::OnClean"; // To cancel former "infinite" FX.
+ end; // Done.
+
+// Runs attached to player, beware. Dont try access vars from former code!
+OnClean:
+ warp getmap(), POS_X, POS_Y; // Actually to get rid of infinite FX
+ end; // Done.
+
+L_Fail_town:
+ message strcharinfo(0), "[boss-to-the-crypt] : portal to crypt can't be opened in towns!";
+ end;
+
+OnInit:
+ set .school, SKILL_MAGIC;
+ set .invocation$, chr(MAGIC_SYMBOL) + "tothecrypt"; // used in npcs that refer to this spell
+ void call("magic_register", "OnCast");
+ set .level, 0;
+ set .exp_gain, 0;
+ end;
+}
diff --git a/world/map/npc/magic/level1-grow-shadow.txt b/world/map/npc/magic/level1-grow-shadow.txt
new file mode 100644
index 00000000..fff821db
--- /dev/null
+++ b/world/map/npc/magic/level1-grow-shadow.txt
@@ -0,0 +1,40 @@
+-|script|grow-shadow|32767
+{
+ if(call("magic_checks")) end;
+ if (Sp < 4) end;
+ if (getskilllv(SKILL_MAGIC) < .level) end;
+ if (countitem("ShadowHerb") < 1 || countitem("Root") < 1) end;
+ delitem "ShadowHerb", 1;
+ delitem "Root", 1;
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 2000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 2000, 0, BL_ID;
+ callfunc "adjust_spellpower";
+ set Sp, Sp - 4;
+ set CASTS, CASTS + 1;
+ if (CASTS < 0) set CASTS, 1; // overflow
+ misceffect FX_MAGIC_GROW_CAST, strcharinfo(0);
+ setarray @summon[0], 0, (getskilllv(.school)/2)+1;
+ callfunc "magic_exp";
+ addtimer 4000-(@spellpower-9), strnpcinfo(0)+"::OnSummon";
+ end;
+
+OnSummon:
+ misceffect FX_MAGIC_GROW_SPAWN, strcharinfo(0);
+ callsub S_SummonAll;
+ end;
+
+S_SummonAll:
+ summon getmap(), rand(POS_X-2,POS_X+2), rand(POS_Y-2,POS_Y+2), BL_ID, "Shadow Plant Summon", ShadowPlant, 1, (@spellpower*50)+10000;
+ set @summon[0], @summon[0] + 1;
+ if (@summon[0] < @summon[1]) goto S_SummonAll;
+ return;
+
+OnInit:
+ set .school, SKILL_MAGIC_NATURE;
+ set .invocation$, chr(MAGIC_SYMBOL) + "modrisha"; // used in npcs that refer to this spell
+ void call("magic_register");
+ set .level, 1;
+ set .exp_gain, 1;
+ end;
+}
diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt
index a45bf3d6..0674f689 100644
--- a/world/map/npc/magic/level2-magic-knuckles.txt
+++ b/world/map/npc/magic/level2-magic-knuckles.txt
@@ -1,6 +1,18 @@
-|script|magic-knuckles|32767
{
if @_U_BLOCK >= 1 goto L_Still_Exhausted;
+/*
+ set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player
+ set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$);
+ if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed
+
+ set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted)
+ if (.upmarmu_spell_npc < 1) end;
+ set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it
+ goto L_NPC_Exists;
+
+L_NPC_Exists:
+*/
if (call("magic_checks")) end;
if (Sp < 20) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
@@ -16,13 +28,19 @@
set Sp, Sp - 20;
set CASTS, CASTS + 1;
if (CASTS < 0) set CASTS, 1; // overflow
+
+ set .@delay, (200-(Agi+Agi2))/8;
+ if ( .@delay < 12 ) set .@delay, 12; // 144 attack delay max @ 97 agi
+ elif ( .@delay > 22 ) set .@delay, 22; // 484 attack delay min
+
misceffect FX_MAGIC_KNUCKLE_CAST, strcharinfo(0);
setarray @upmarmuspell[0],
- max(1, (BASE_ATK - 100 + min(100, (Int+Int2))) * 2 ), // dmg
- ((@spellpower/10) + (((Dex+Dex2) * 8)/(sqrt(BaseLevel + 34)) + 20)), // charges (you get more at lower levels)
- ((sqrt((300 - ((Agi+Agi2) * 2)) + (5/2))) * 4), // delay
- (((Agi+Agi2) + (Int+Int2)) / 5), // dmg bonus
+ max(1, BASE_ATK + (@spellpower / 6)), // dmg
+ ((@spellpower/12) + (((Dex+Dex2) * 8)/(sqrt(BaseLevel + 34)) + 20)), // charges (you get more at lower levels)
+ .@delay, // delay
+ (((Str+Str2) + (Dex+Dex2)) / 5), // dmg bonus
(((BaseLevel/5) + Str) * 2); // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str
+
callfunc "magic_exp";
goto L_FreeRecast;
@@ -31,19 +49,12 @@ OnAttack:
if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04
void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE);
- // This timer is if you stopped somewhere below max hits then after 25sec you recover fully and start at 0 hits again
- stopnpctimer;
- // to get this work stoptimer must be executed here or after setnpctimer and then started again else
- // a timer somehow detaches that cant be set anymore, startnpctimer then attaches it again somehow
- // i think the problem is in npc_timerevent_calc_next somewhere
- if (@num_upmarmu_hits < 1) initnpctimer;
- setnpctimer 0;
- startnpctimer;
+// addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer";
set @upmarmuspell[1], @upmarmuspell[1] - 1;
set @num_upmarmu_hits, @num_upmarmu_hits + 1;
- if @num_upmarmu_hits > UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted;
+ if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted;
goto L_FreeRecast;
L_FreeRecast:
@@ -66,8 +77,7 @@ L_Still_Exhausted:
end;
L_StopTimer:
- stopnpctimer;
- setnpctimer 0;
+// addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer";
end;
OnDischarge:
@@ -75,17 +85,41 @@ OnDischarge:
set @upmarmuspell[1], 0;
misceffect FX_MAGIC_DISCHARGE, strcharinfo(0);
overrideattack;
- goto L_StopTimer;
+ end;
OnSetRecast:
overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay needs to be squared
end;
+/*
+OnResetTimer:
+ // This timer is if you stopped somewhere below max hits then after 25sec you recover fully and start at 0 hits again
+ stopnpctimer;
+ // to get this work stoptimer must be executed here or after setnpctimer and then started again else
+ // a timer somehow detaches that cant be set anymore, startnpctimer then attaches it again somehow
+ // i think the problem is in npc_timerevent_calc_next somewhere
+ if (@num_upmarmu_hits < 1) initnpctimer;
+ setnpctimer 0;
+ startnpctimer;
+ end;
+
+OnStopTimer:
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
OnTimer25000:
if (attachrid(getcharid(3)) < 1) end;
set @num_upmarmu_hits, 0;
detachrid;
- goto L_StopTimer;
+
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+OnDestroy:
+ destroy;
+*/
OnInit:
set .school, SKILL_MAGIC_WAR;
diff --git a/world/map/npc/magic/level2-shear.txt b/world/map/npc/magic/level2-shear.txt
index 8f259bd3..133e53c3 100644
--- a/world/map/npc/magic/level2-shear.txt
+++ b/world/map/npc/magic/level2-shear.txt
@@ -35,6 +35,7 @@ OnAttack:
elif (.@id == 1030 && .@score < 700) set .@item$, "CobaltHerb"; // CobaltPlant
elif (.@id == 1031 && .@score < 700) set .@item$, "GambogeHerb"; // GambogePlant
elif (.@id == 1032 && .@score < 700) set .@item$, "AlizarinHerb"; // AlizarinPlant
+ elif (.@id == 1189 && .@score < 700) set .@item$, "ShadowHerb"; // ShadowPlant
elif (.@id == 1035 && .@score < 300) set .@item$, "SilkCocoon"; // SilkWorm
elif (.@id == 1018 && .@score < 180) set .@item$, "PinkAntenna"; // Pinkie
else end;
diff --git a/world/map/npc/mobs/mob_points.txt b/world/map/npc/mobs/mob_points.txt
index 9ff2181d..d0ede2f1 100644
--- a/world/map/npc/mobs/mob_points.txt
+++ b/world/map/npc/mobs/mob_points.txt
@@ -175,14 +175,14 @@ function|script|MobPoints
22, // 1164 ChristmasTree
11, // 1165 ChristmasGift
100, // 1166 Snowman
- 300, // 1167 SnowmanBoss
+ 400, // 1167 SnowmanBoss
1, // 1168 Floyd
66, // 1169 CrystalSpider
200, // 1170 CrystalGolem
200, // 1171 BlackCrystalGolem
1, // 1172 Bif
- 500, // 1173 MontBlanc
- 200, // 1174 Emo
+ 400, // 1173 MontBlanc
+ 300, // 1174 Emo
35, // 1175 MegaManaBug
145, // 1176 Rotter
1, // 1177 Rot
@@ -193,16 +193,46 @@ function|script|MobPoints
40, // 1182 BigFrog
999, // 1183 MobMoubootaur
180, // 1184 BoneQuadceratops
- 200, // 1185 EntAbomination
+ 400, // 1185 EntAbomination
1, // 1186 MananaTree
- 500, // 1187 EliteDuck
- 500, // 1188 Junglefowl
+ 300, // 1187 EliteDuck
+ 300, // 1188 Junglefowl
1, // 1189 ShadowPlant
60, // 1190 BeeHive
50, // 1191 Tortuga
30, // 1192 Ratto
40, // 1193 Croc
- 200 // 1194 Birb
+ 200, // 1194 Birb
+ 10, // 1195 Brainblow
+ 600, // 1196 RickLime
+ 500, // 1197 Blanc1
+ 500, // 1198 Blanc2
+ 25, // 1199 SilverSlime
+ 25, // 1200 BromenalSlime
+ 25, // 1201 GoldSlime
+ 25, // 1202 IronSlime
+ 25, // 1203 CoalSlime
+ 1, // 1204 BigBif
+ 1, // 1205 SmallBif
+ 1, // 1206 AmethystBif
+ 1, // 1207 DiamondBif
+ 1, // 1208 EmeraldBif
+ 1, // 1209 RubyBif
+ 1, // 1210 SapphireBif
+ 1, // 1211 TopazBif
+ 1, // 1212 BigAmethystBif
+ 1, // 1213 BigDiamondBif
+ 1, // 1214 BigEmeraldBif
+ 1, // 1215 BigRubyBif
+ 1, // 1216 BigSapphireBif
+ 1, // 1217 BigTopazBif
+ 1, // 1218 SmallAmethystBif
+ 1, // 1219 SmallDiamondBif
+ 1, // 1220 SmallEmeraldBif
+ 1, // 1221 SmallRubyBif
+ 1, // 1222 SmallSapphireBif
+ 1, // 1223 SmallTopazBif
+ 200 // 1224 CoalGolem
; // END
// the following mobs where replaced by other mobs:
diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf
index 46dad1e0..47a79415 100644
--- a/world/map/npc/scripts.conf
+++ b/world/map/npc/scripts.conf
@@ -60,6 +60,7 @@ npc: npc/items/nobow_item.txt
npc: npc/items/love_potion.txt
npc: npc/items/manapearl_item.txt
npc: npc/items/underworld_troll.txt
+npc: npc/items/silver_bell.txt
// Mob Functions
npc: npc/mobs/mob_points.txt