summaryrefslogtreecommitdiff
path: root/world
diff options
context:
space:
mode:
Diffstat (limited to 'world')
-rw-r--r--world/map/db/const-aegis.txt8
-rw-r--r--world/map/db/item_db.conf94
-rw-r--r--world/map/db/item_db_generic.txt4
-rw-r--r--world/map/db/item_db_use.txt3
-rw-r--r--world/map/db/mob_db.conf169
-rw-r--r--world/map/db/mob_db_0_19.txt6
-rw-r--r--world/map/db/mob_db_40_59.txt11
-rw-r--r--world/map/db/mob_db_over_100.txt4
-rw-r--r--world/map/db/mob_db_over_150.txt7
-rw-r--r--world/map/db/params.txt47
-rw-r--r--world/map/npc/functions/global_event_handler.txt3
-rw-r--r--world/map/npc/items/anchor_stone.txt56
-rw-r--r--world/map/npc/magic/event-summon-managuardian.txt1
-rw-r--r--world/map/npc/magic/event-summon-manatyrant.txt1
-rw-r--r--world/map/npc/magic/level1-summon-maggots.txt1
-rw-r--r--world/map/npc/magic/level2-magic-knuckles.txt38
-rw-r--r--world/map/npc/magic/level2-summon-fluffies.txt1
-rw-r--r--world/map/npc/magic/level2-summon-mouboo.txt1
-rw-r--r--world/map/npc/magic/level2-summon-pinkie.txt1
-rw-r--r--world/map/npc/magic/level2-summon-snakes.txt1
-rw-r--r--world/map/npc/magic/level2-summon-spiky-mushroom.txt1
-rw-r--r--world/map/npc/magic/level2-summon-wickedmushroom.txt1
-rw-r--r--world/map/npc/mobs/miner_mania.txt2
-rw-r--r--world/map/npc/mobs/mob_points.txt4
-rw-r--r--world/map/npc/scripts.conf1
25 files changed, 373 insertions, 93 deletions
diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt
index 3676decc..c5c19c0f 100644
--- a/world/map/db/const-aegis.txt
+++ b/world/map/db/const-aegis.txt
@@ -387,6 +387,10 @@ JunglefowlFeather 5375
KingChonkyBirbFeather 5376
Honeycomb 5377
Beeswax 5378
+Stone 5380
+Brick 5381
+MountainCrystal 5384
+BlackQuartz 5385
LeatherShirt 523
DesertShirt 546
Turtleneck 564
@@ -1003,6 +1007,8 @@ ButterButterfly 5364
JunglefowlEgg 5373
KingChonkyBirbEgg 5374
Sauerkraut 5379
+AnchorStone 5382
+AnchoredAnchorStone 5383
CottonShorts 586
JeansShorts 610
CottonSkirt 632
@@ -1297,3 +1303,5 @@ SmallRubyBif 1221
SmallSapphireBif 1222
SmallTopazBif 1223
CoalGolem 1224
+StoneSlime 1225
+StoneGolem 1226
diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf
index 277b033e..5b72b8d7 100644
--- a/world/map/db/item_db.conf
+++ b/world/map/db/item_db.conf
@@ -5860,6 +5860,50 @@ item_db: (
Refine: false
ViewSprite: 5378
},
+{
+ Id: 5380
+ AegisName: "Stone"
+ Name: "Stone"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 500
+ Weight: 60
+ Refine: false
+ ViewSprite: 5380
+},
+{
+ Id: 5381
+ AegisName: "Brick"
+ Name: "Brick"
+ Type: "IT_ETC"
+ Buy: 2000
+ Sell: 1000
+ Weight: 40
+ Refine: false
+ ViewSprite: 5381
+},
+{
+ Id: 5384
+ AegisName: "MountainCrystal"
+ Name: "MountainCrystal"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 5000
+ Weight: 20
+ Refine: false
+ ViewSprite: 5384
+},
+{
+ Id: 5385
+ AegisName: "BlackQuartz"
+ Name: "BlackQuartz"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 5000
+ Weight: 20
+ Refine: false
+ ViewSprite: 5385
+},
/* Chest Armor */
{
Id: 523
@@ -16670,6 +16714,56 @@ item_db: (
callfunc "itheal", 500, 0;
">
},
+{
+ Id: 5382
+ AegisName: "AnchorStone"
+ Name: "AnchorStone"
+ Type: "IT_USABLE"
+ Buy: 90000
+ Sell: 45000
+ Weight: 40
+ Refine: false
+ ViewSprite: 5382
+ KeepAfterUse: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ nocart: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ Script: <"
+ set @StoneName$, "AnchorStone";
+ callfunc "useAnchorStone";
+ ">
+ }
+},
+{
+ Id: 5383
+ AegisName: "AnchoredAnchorStone"
+ Name: "AnchoredAnchorStone"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Refine: false
+ ViewSprite: 5383
+ KeepAfterUse: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ nocart: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ Script: <"
+ set @StoneName$, "AnchoredAnchorStone";
+ callfunc "useAnchorStone";
+ ">
+ }
+},
/* Legs Armor */
{
Id: 586
diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt
index e7802111..ff127182 100644
--- a/world/map/db/item_db_generic.txt
+++ b/world/map/db/item_db_generic.txt
@@ -304,3 +304,7 @@
5376, KingChonkyBirbFeather, 3, 6000, 3000, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
5377, Honeycomb, 3, 200, 100, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
5378, Beeswax, 3, 2000, 1000, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+5384, MountainCrystal, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
+5385, BlackQuartz, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {}
diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt
index e4783e41..2e7c33ca 100644
--- a/world/map/db/item_db_use.txt
+++ b/world/map/db/item_db_use.txt
@@ -147,3 +147,6 @@
5373, JunglefowlEgg, 0, 400, 200, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {}
5374, KingChonkyBirbEgg, 0, 1500, 750, 22, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
5379, Sauerkraut, 0, 250, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 500, 0, 1;}, {}
+5382, AnchorStone, 0, 90000, 45000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @StoneName$, "AnchorStone"; callfunc "useAnchorStone";}, {}
+//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
+5383, AnchoredAnchorStone, 0, 0, 0, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 31, {set @StoneName$, "AnchoredAnchorStone"; callfunc "useAnchorStone";}, {}
diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf
index ae92f099..d33b30c4 100644
--- a/world/map/db/mob_db.conf
+++ b/world/map/db/mob_db.conf
@@ -7789,7 +7789,7 @@ mob_db: (
MutationStrength: 40
Drops: {
TreasureKey: 500
- RedApple: 100
+ MountainCrystal: 100
InfantryHelmet: 20
CoinBag: 200
Diamond: 20
@@ -7829,7 +7829,6 @@ mob_db: (
Element: (6, 4)
Mode: {
CanMove: true
- Looter: true
Assist: true
Boss: true
CanAttack: true
@@ -7843,6 +7842,9 @@ mob_db: (
MutationCount: 0
MutationStrength: 0
Drops: {
+ MountainCrystal: 400
+ MountainCrystal: 200
+ MountainCrystal: 100
Diamond: 50
Ruby: 50
Emerald: 50
@@ -7880,7 +7882,7 @@ mob_db: (
Element: (6, 4)
Mode: {
CanMove: true
- Aggressive: true
+ Assist: true
Boss: true
CanAttack: true
ChangeTargetMelee: true
@@ -7893,7 +7895,15 @@ mob_db: (
MutationCount: 0
MutationStrength: 0
Drops: {
- DarkCrystal: 10000
+ BlackQuartz: 400
+ BlackQuartz: 200
+ BlackQuartz: 100
+ Diamond: 50
+ Ruby: 50
+ Emerald: 50
+ Sapphire: 50
+ Topaz: 50
+ Amethyst: 50
}
},
{
@@ -8216,7 +8226,7 @@ mob_db: (
MutationStrength: 30
Drops: {
TreasureKey: 800
- RedApple: 200
+ MountainCrystal: 400
InfantryHelmet: 35
CoinBag: 400
Diamond: 35
@@ -9166,9 +9176,9 @@ mob_db: (
Coal: 200
IronOre: 200
CopperOre: 40
- SilverOre: 300
- SilverOre: 150
- BromenalOre: 20
+ BromenalOre: 30
+ SilverOre: 200
+ SilverOre: 100
GoldOre: 10
}
},
@@ -9219,9 +9229,9 @@ mob_db: (
Coal: 200
IronOre: 200
CopperOre: 40
- SilverOre: 30
- BromenalOre: 200
- BromenalOre: 100
+ BromenalOre: 300
+ BromenalOre: 150
+ SilverOre: 20
GoldOre: 10
}
},
@@ -9270,8 +9280,8 @@ mob_db: (
Coal: 200
IronOre: 200
CopperOre: 40
- SilverOre: 30
- BromenalOre: 20
+ BromenalOre: 30
+ SilverOre: 20
GoldOre: 100
GoldOre: 50
}
@@ -9324,8 +9334,8 @@ mob_db: (
IronOre: 2000
IronOre: 1000
CopperOre: 40
- SilverOre: 30
- BromenalOre: 20
+ BromenalOre: 30
+ SilverOre: 20
GoldOre: 10
}
},
@@ -9377,8 +9387,8 @@ mob_db: (
Coal: 1000
IronOre: 200
CopperOre: 40
- SilverOre: 30
- BromenalOre: 20
+ BromenalOre: 30
+ SilverOre: 20
GoldOre: 10
}
},
@@ -9418,8 +9428,8 @@ mob_db: (
IronOre: 800
Coal: 1000
CopperOre: 200
- SilverOre: 150
- BromenalOre: 100
+ BromenalOre: 150
+ SilverOre: 100
GoldOre: 50
}
},
@@ -9459,8 +9469,8 @@ mob_db: (
IronOre: 1600
Coal: 2000
CopperOre: 400
- SilverOre: 300
- BromenalOre: 200
+ BromenalOre: 300
+ SilverOre: 200
GoldOre: 100
}
},
@@ -9500,8 +9510,8 @@ mob_db: (
IronOre: 400
Coal: 500
CopperOre: 100
- SilverOre: 75
- BromenalOre: 50
+ BromenalOre: 75
+ SilverOre: 50
GoldOre: 25
}
},
@@ -10308,7 +10318,6 @@ mob_db: (
Element: (6, 4)
Mode: {
CanMove: true
- Looter: true
Assist: true
Boss: true
CanAttack: true
@@ -10322,12 +10331,116 @@ mob_db: (
MutationCount: 0
MutationStrength: 0
Drops: {
+ Charcoal: 2000
Charcoal: 1000
Charcoal: 500
- Charcoal: 250
- Coal: 5000
- Coal: 2500
- Coal: 1250
+ Coal: 4000
+ Coal: 2000
+ Coal: 1000
+ IronOre: 500
+ IronPowder: 1200
+ }
+},
+{
+ Id: 1225
+ SpriteName: "StoneSlime"
+ Name: "Stone 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: {
+ Stone: 1000
+ Stone: 500
+ Stone: 250
+ Brick: 100
+ Coal: 200
+ IronOre: 200
+ CopperOre: 40
+ BromenalOre: 30
+ SilverOre: 20
+ GoldOre: 10
+ }
+},
+{
+ Id: 1226
+ SpriteName: "StoneGolem"
+ Name: "Stone Golem"
+ Lv: 180
+ Hp: 30000
+ Sp: 280
+ Exp: 70000
+ JExp: 2400
+ 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
+ Assist: true
+ Boss: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 50
+ MutationCount: 0
+ MutationStrength: 0
+ Drops: {
+ Stone: 2000
+ Stone: 1000
+ Stone: 500
+ Brick: 200
+ Coal: 500
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 c47a2a99..831426b9 100644
--- a/world/map/db/mob_db_0_19.txt
+++ b/world/map/db/mob_db_0_19.txt
@@ -24,7 +24,7 @@
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, 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
+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, 5316, 150, 5292, 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, 5215, 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, 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, 5215, 150, 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, 5341, 1000, 5341, 500, 5341, 250, 569, 1000, 569, 2000, 806, 500, 740, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 80
@@ -32,8 +32,8 @@
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, 5355, 400, 5356, 100, 5215, 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
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, 5357, 500, 5358, 400, 5333, 200, 5335, 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
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, 5366, 350, 5338, 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
-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
+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, 5316, 300, 5292, 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, 5316, 75, 5292, 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
diff --git a/world/map/db/mob_db_40_59.txt b/world/map/db/mob_db_40_59.txt
index 0cf3e83f..63dc0223 100644
--- a/world/map/db/mob_db_40_59.txt
+++ b/world/map/db/mob_db_40_59.txt
@@ -17,9 +17,10 @@
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
+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, 5316, 30, 5292, 200, 5292, 100, 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, 5316, 300, 5316, 150, 5292, 20, 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, 5316, 30, 5292, 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, 5316, 30, 5292, 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, 5316, 30, 5292, 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
+1225, StoneSlime, StoneSlime, 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, 5380, 1000, 5380, 500, 5380, 250, 5381, 100, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20
diff --git a/world/map/db/mob_db_over_100.txt b/world/map/db/mob_db_over_100.txt
index 8e7c1ff0..b65e3800 100644
--- a/world/map/db/mob_db_over_100.txt
+++ b/world/map/db/mob_db_over_100.txt
@@ -45,14 +45,14 @@
1166, Snowman, Snowman, 100, 4200, 0, 2897, 689, 1, 60, 80, 5, 20, 0, 15, 25, 40, 15, 75, 30, 8, 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, 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
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
+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, 5384, 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, 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, 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
+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, 5384, 400, 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, 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, 5373, 1000, 5375, 1100, 562, 1000, 562, 500, 4023, 500, 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_over_150.txt b/world/map/db/mob_db_over_150.txt
index 1c3675c9..7c7d9c0e 100644
--- a/world/map/db/mob_db_over_150.txt
+++ b/world/map/db/mob_db_over_150.txt
@@ -27,7 +27,8 @@
1149, Enchanter, Enchanter, 181, 19000, 280, 55000, 2000, 8, 140, 180, 30, 60, 0, 31, 22, 90, 127, 255, 105, 31, 10, 1, 1, 37, 181, 240, 800, 672, 50, 537, 800, 779, 90, 780, 80, 777, 70, 1198, 50, 666, 30, 1227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10
1150, ManaTyrant, ManaTyrant, 180, 24000, 280, 27000, 5000, 2, 300, 325, 42, 67, 0, 31, 22, 90, 127, 255, 95, 31, 10, 1, 1, 37, 181, 180, 1050, 672, 50, 759, 1, 5237, 20, 1253, 5, 720, 100, 825, 500, 868, 20, 1172, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
1161, Xakelbael, Xakelbael, 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
-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
+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, 169, 320, 1000, 672, 50, 5384, 400, 5384, 200, 5384, 100, 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
+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, 169, 320, 1000, 672, 50, 5385, 400, 5385, 200, 5385, 100, 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
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
+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, 169, 320, 1000, 672, 50, 5332, 2000, 5332, 1000, 5332, 500, 4001, 4000, 4001, 2000, 4001, 1000, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+1226, StoneGolem, StoneGolem, 180, 30000, 280, 70000, 2400, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5380, 2000, 5380, 1000, 5380, 500, 5381, 200, 4001, 500, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
diff --git a/world/map/db/params.txt b/world/map/db/params.txt
index d600b4ad..512d0ac8 100644
--- a/world/map/db/params.txt
+++ b/world/map/db/params.txt
@@ -28,6 +28,7 @@ NEXTBASEEXP 22 1
NEXTJOBEXP 23 1
Weight 24 1
MaxWeight 25 1
+MaxWeightOverride 27 1
ATK1 41 1
ATK2 42 1
MATK1 43 1
@@ -74,34 +75,36 @@ MUTE_PARTY 1084 1
//MUTE_GUILD 1085 1
AUTOMOD 1086 1
-bMaxHP 6 // MaxHP + n
-bMaxSP 8 // MaxSP + n
-bStr 13 // STR + n
-bAgi 14 // AGI + n
-bVit 15 // VIT + n
-bInt 16 // INT + n
-bDex 17 // DEX + n
-bLuk 18 // LUK + n
-bAtk 41 // ATK + n (Minimum attack power)
-bAtk2 42 // ATK2 + n (Maximum attack power)
-bMatk1 43 // MATK1 + n (Maximum magical attack power)
-bMatk2 44 // MATK2 + n (Minimum magical attack power)
+bMaxHP 6 // MaxHP + n
+bMaxSP 8 // MaxSP + n
+bStr 13 // STR + n
+bAgi 14 // AGI + n
+bVit 15 // VIT + n
+bInt 16 // INT + n
+bDex 17 // DEX + n
+bLuk 18 // LUK + n
+bMaxWeight 25 // Sets the maximum possible weight to carry to n (bMaxWeight,n;). Note: As a failsafe 1000 is added to n, final weight is n + 1000.
+bMaxWeightAdd 26 // Adds n to the maximum possible weight to carry (bMaxWeightAdd,n;). Note: As a failsafe 1000 is added to n, final weight is MaxWeight + n + 1000.
+bAtk 41 // ATK + n (Minimum attack power)
+bAtk2 42 // ATK2 + n (Maximum attack power)
+bMatk1 43 // MATK1 + n (Maximum magical attack power)
+bMatk2 44 // MATK2 + n (Minimum magical attack power)
// Greatest of MATK1 and MATK2 is taken and becomes MATK1 and MATK2 is set to 0.
// So using MATK2 bonus at the moment has no real benefit you only need greater values to reach same as MATK1.
// MATK1 += INT + (INT / 5) * (INT / 5);
// MATK2 += INT + (INT / 7) * (INT / 7);
// The whole magic system is currently handled in serverdata which only uses MATK1 but the magic attack functions
// do already exist in servercode only skills must be added there.
-bDef 45 // Equipment DEF + n
-bDef2 46 // VIT based DEF + n
-bMdef 47 // Equipment MDEF + n
-bMdef2 48 // INT based MDEF + n
-bHit 49 // Hit + n
-bFlee 50 // Flee + n
-bFlee2 51 // Perfect Dodge + n
-bCritical 52 // Critical + n
-bAspd 53 // Attack speed + n
-bDeaf 70
+bDef 45 // Equipment DEF + n
+bDef2 46 // VIT based DEF + n
+bMdef 47 // Equipment MDEF + n
+bMdef2 48 // INT based MDEF + n
+bHit 49 // Hit + n
+bFlee 50 // Flee + n
+bFlee2 51 // Perfect Dodge + n
+bCritical 52 // Critical + n
+bAspd 53 // Attack speed + n
+bDeaf 70
// Those which can be used with the arrow are only bCritical, bAtkEle, bHit, bAddEle, bAddRace, bAddSize and bAddEff. The other bonuses are ignored.
// For more information, have a look here: http://code.google.com/p/eathena/source/browse/trunk/doc/item_bonus.txt
diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt
index d169f3c7..b1c5917e 100644
--- a/world/map/npc/functions/global_event_handler.txt
+++ b/world/map/npc/functions/global_event_handler.txt
@@ -19,6 +19,7 @@ OnPCLoginEvent:
callfunc "ConvertChristmas21"; // Christmas 2021
callfunc "VaultLogin"; // Mirror Lake Protocol biddings
callfunc "VaultLogout"; // Clean some stuff, to be safe
+ if (WEIGHT_LIMIT) set MaxWeightOverride, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc)
// add more here
set @login_event, 2;
end;
@@ -45,7 +46,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
+ 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/items/anchor_stone.txt b/world/map/npc/items/anchor_stone.txt
new file mode 100644
index 00000000..c1ea722b
--- /dev/null
+++ b/world/map/npc/items/anchor_stone.txt
@@ -0,0 +1,56 @@
+function|script|useAnchorStone
+{
+ addtimer 0, "AS_Core::OnUse";
+ return;
+}
+
+-|script|AS_Core|32767
+{
+ end;
+
+OnUse:
+ if ( @StoneName$ == "AnchorStone" ) goto L_AnchorStone;
+ if ( @StoneName$ == "AnchoredAnchorStone" ) goto L_AnchoredAnchorStone;
+ goto L_Close;
+
+L_AnchorStone:
+ mes "\"You really want to bind the [@@" + AnchorStone + "|@@] to this place?\"";
+ menu
+ "No", L_Close,
+ "Yes", L_AS_Yes;
+
+L_AS_Yes:
+ set AnchorStoneDest, getmaphash(getmap()); // since a hash could be negative I take a separate variable for that since shifting would destroy the sign bit and create a different hash
+ set AnchorStoneDestCoord, gety() << AS_Y_SHIFT | getx() << AS_X_SHIFT;
+
+ delitem AnchorStone, 1;
+ getitem AnchoredAnchorStone, 1;
+ close;
+
+L_AnchoredAnchorStone:
+ if ((AnchorStoneDest < 1) && (AnchorStoneDest > -1)) goto L_AAS_Error;
+ mes "\"You want to recall to the place the [@@" + AnchoredAnchorStone + "|@@] is bound to?\"";
+ menu
+ "No", L_Close,
+ "Yes", L_AAS_Yes;
+
+L_AAS_Yes:
+ warp getmapnamefromhash(AnchorStoneDest), (AnchorStoneDestCoord & AS_X_MASK >> AS_X_SHIFT), (AnchorStoneDestCoord & AS_Y_MASK >> AS_Y_SHIFT);
+
+ goto L_AAStoAS;
+
+L_AAS_Error:
+ mes "\"Something went wrong the [@@" + AnchoredAnchorStone + "|@@] lost its destination and turns back to normal.\"";
+ goto L_AAStoAS;
+
+L_AAStoAS:
+ set AnchorStoneDest, 0;
+ set AnchorStoneDestCoord, 0;
+
+ delitem AnchoredAnchorStone, 1;
+ getitem AnchorStone, 1;
+ close;
+
+L_Close:
+ close;
+}
diff --git a/world/map/npc/magic/event-summon-managuardian.txt b/world/map/npc/magic/event-summon-managuardian.txt
index e66c3eb7..1aa172ad 100644
--- a/world/map/npc/magic/event-summon-managuardian.txt
+++ b/world/map/npc/magic/event-summon-managuardian.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
// FIXME: Incomplete check, should still work during sieges
- if (getmapflag(getmap(), MF_TOWN)) end;
if (Sp < 100) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (countitem("TinyManaElixir") < 1) end;
diff --git a/world/map/npc/magic/event-summon-manatyrant.txt b/world/map/npc/magic/event-summon-manatyrant.txt
index bf2634c5..ff082930 100644
--- a/world/map/npc/magic/event-summon-manatyrant.txt
+++ b/world/map/npc/magic/event-summon-manatyrant.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if ($DOOMSDAY_SUMMON < 2) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (Sp < 100) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (countitem("LargeManaElixir") < 1) end;
diff --git a/world/map/npc/magic/level1-summon-maggots.txt b/world/map/npc/magic/level1-summon-maggots.txt
index 05cadbc8..ce95422c 100644
--- a/world/map/npc/magic/level1-summon-maggots.txt
+++ b/world/map/npc/magic/level1-summon-maggots.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 21) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (countitem("InsectSlime") < 1 || countitem("Root") < 1) end;
if (getmap() == "033-1") goto L_SpecialRules6;
diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt
index a67941cf..92ee07a5 100644
--- a/world/map/npc/magic/level2-magic-knuckles.txt
+++ b/world/map/npc/magic/level2-magic-knuckles.txt
@@ -1,7 +1,7 @@
-|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
@@ -12,7 +12,6 @@
goto L_NPC_Exists;
L_NPC_Exists:
-*/
if (call("magic_checks")) end;
if (Sp < 20) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
@@ -49,35 +48,29 @@ 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);
-// addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer";
+ addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer";
set @upmarmuspell[1], @upmarmuspell[1] - 1;
+
+ if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_FreeRecast;
set @num_upmarmu_hits, @num_upmarmu_hits + 1;
+ if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST set .exhausted, 1, .upmarmu_spell_npc;
- if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted;
goto L_FreeRecast;
L_FreeRecast:
if (@upmarmuspell[1] > 0)
addtimer 0, strnpcinfo(0) + "::OnSetRecast";
+ else
+ addtimer 0, @upmarmu_spell_npc_name$ + "::OnExhausted";
end;
-L_Exhausted:
- set @_U_BLOCK, 1;
- set @upmarmuspell[1], 0;
- misceffect FX_MAGIC_DISCHARGE, strcharinfo(0);
- overrideattack;
- addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time
- sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID;
- smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!";
- goto L_StopTimer;
-
L_Still_Exhausted:
smsg SMSG_FAILURE, "Magic: You are still too exhausted to use this spell for a while!";
end;
L_StopTimer:
-// addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer";
+ addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer";
end;
OnDischarge:
@@ -91,7 +84,6 @@ 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;
@@ -117,9 +109,20 @@ OnTimer25000:
setnpctimer 0;
end;
+OnExhausted:
+ if (.exhausted < 1) end;
+
+ set @_U_BLOCK, 1;
+ set @upmarmuspell[1], 0;
+ set @num_upmarmu_hits, 0;
+ set .exhausted, 0;
+ addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time
+ sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID;
+ smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!";
+ goto L_StopTimer;
+
OnDestroy:
destroy;
-*/
OnInit:
set .school, SKILL_MAGIC_WAR;
@@ -136,6 +139,5 @@ OnInit:
OnClear:
set @_U_BLOCK, 0;
- set @num_upmarmu_hits, 0;
end;
}
diff --git a/world/map/npc/magic/level2-summon-fluffies.txt b/world/map/npc/magic/level2-summon-fluffies.txt
index f10a86b5..fef40a17 100644
--- a/world/map/npc/magic/level2-summon-fluffies.txt
+++ b/world/map/npc/magic/level2-summon-fluffies.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 39) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (getskilllv(.school) < .level) end;
if (countitem("WhiteFur") < 1 || countitem("Root") < 1) end;
diff --git a/world/map/npc/magic/level2-summon-mouboo.txt b/world/map/npc/magic/level2-summon-mouboo.txt
index c692e9cf..8a8603c6 100644
--- a/world/map/npc/magic/level2-summon-mouboo.txt
+++ b/world/map/npc/magic/level2-summon-mouboo.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 35) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (getskilllv(.school) < .level) end;
if (countitem("MoubooFigurine") < 1 || countitem("Root") < 1) end;
diff --git a/world/map/npc/magic/level2-summon-pinkie.txt b/world/map/npc/magic/level2-summon-pinkie.txt
index 61af9eed..b4774584 100644
--- a/world/map/npc/magic/level2-summon-pinkie.txt
+++ b/world/map/npc/magic/level2-summon-pinkie.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 35) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (getskilllv(.school) < .level) end;
if (countitem("PinkAntenna") < 1 || countitem("Root") < 1) end;
diff --git a/world/map/npc/magic/level2-summon-snakes.txt b/world/map/npc/magic/level2-summon-snakes.txt
index 0723961b..5815cef5 100644
--- a/world/map/npc/magic/level2-summon-snakes.txt
+++ b/world/map/npc/magic/level2-summon-snakes.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 40) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (getskilllv(.school) < .level) end;
if (countitem("DarkCrystal") < 1 || countitem("SnakeEgg") < 1) end;
diff --git a/world/map/npc/magic/level2-summon-spiky-mushroom.txt b/world/map/npc/magic/level2-summon-spiky-mushroom.txt
index 701648d5..0f884185 100644
--- a/world/map/npc/magic/level2-summon-spiky-mushroom.txt
+++ b/world/map/npc/magic/level2-summon-spiky-mushroom.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 33) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (getskilllv(.school) < .level) end;
if (countitem("HardSpike") < 1 || countitem("Root") < 1) end;
diff --git a/world/map/npc/magic/level2-summon-wickedmushroom.txt b/world/map/npc/magic/level2-summon-wickedmushroom.txt
index 014a5d80..7d0e93c1 100644
--- a/world/map/npc/magic/level2-summon-wickedmushroom.txt
+++ b/world/map/npc/magic/level2-summon-wickedmushroom.txt
@@ -5,7 +5,6 @@
OnCast:
if(call("magic_checks")) end;
if (Sp < 42) end;
- if (getmapflag(getmap(), MF_TOWN)) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (getskilllv(.school) < .level) end;
if (countitem("DarkCrystal") < 1 || countitem("SmallMushroom") < 1) end;
diff --git a/world/map/npc/mobs/miner_mania.txt b/world/map/npc/mobs/miner_mania.txt
index 445c82e0..a496697d 100644
--- a/world/map/npc/mobs/miner_mania.txt
+++ b/world/map/npc/mobs/miner_mania.txt
@@ -53,7 +53,7 @@ Note:
setarray $@slime_mine_maps_y0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1;
setarray $@slime_mine_maps_x1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1;
setarray $@slime_mine_maps_y1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1;
- setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime;
+ setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime, StoneSlime;
// Bifs -----------------------------
diff --git a/world/map/npc/mobs/mob_points.txt b/world/map/npc/mobs/mob_points.txt
index d0ede2f1..2589f1eb 100644
--- a/world/map/npc/mobs/mob_points.txt
+++ b/world/map/npc/mobs/mob_points.txt
@@ -232,7 +232,9 @@ function|script|MobPoints
1, // 1221 SmallRubyBif
1, // 1222 SmallSapphireBif
1, // 1223 SmallTopazBif
- 200 // 1224 CoalGolem
+ 200, // 1224 CoalGolem
+ 25, // 1225 StoneSlime
+ 200 // 1226 StoneGolem
; // END
// the following mobs where replaced by other mobs:
diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf
index 17045566..b0a5f0c2 100644
--- a/world/map/npc/scripts.conf
+++ b/world/map/npc/scripts.conf
@@ -64,6 +64,7 @@ npc: npc/items/underworld_troll.txt
npc: npc/items/silver_bell.txt
npc: npc/items/shovel.txt
npc: npc/items/maps.txt
+npc: npc/items/anchor_stone.txt
// Mob Functions
npc: npc/mobs/miner_mania.txt