diff --git a/data-canary/monster/magicals/guzzlemaw.lua b/data-canary/monster/magicals/guzzlemaw.lua
index 8e38d459779..391a85118bc 100644
--- a/data-canary/monster/magicals/guzzlemaw.lua
+++ b/data-canary/monster/magicals/guzzlemaw.lua
@@ -23,8 +23,7 @@ monster.Bestiary = {
CharmsPoints = 50,
Stars = 4,
Occurrence = 0,
- Locations = "Guzzlemaw Valley, and a single spawn in a tower in Upper Roshamuul \z
- (south of the Depot and west of the entrance to Roshamuul Prison).",
+ Locations = "Guzzlemaw Valley, and a single spawn in a tower in Upper Roshamuul (south of the Depot and west of the entrance to Roshamuul Prison).",
}
monster.health = 6400
@@ -64,7 +63,6 @@ monster.flags = {
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
- pet = false,
}
monster.light = {
@@ -78,63 +76,64 @@ monster.voices = {
}
monster.loot = {
- { id = 3031, chance = 100000, maxCount = 100 }, -- gold coin
- { id = 3035, chance = 100000, maxCount = 7 }, -- platinum coin
- { id = 3104, chance = 10700 }, -- banana skin
- { id = 3110, chance = 10500 }, -- piece of iron
- { id = 3111, chance = 9500 }, -- fishbone
+ { name = "gold coin", chance = 100000, maxCount = 100 },
+ { name = "platinum coin", chance = 100000, maxCount = 7 },
+ { name = "banana skin", chance = 10700 },
+ { name = "piece of iron", chance = 10500 },
+ { name = "fishbone", chance = 9500 },
{ id = 3114, chance = 10400 }, -- skull
{ id = 3115, chance = 9200 }, -- bone
{ id = 3116, chance = 4500 }, -- big bone
- { id = 3265, chance = 2700 }, -- two handed sword
+ { name = "two handed sword", chance = 2700 },
{ id = 3578, chance = 7000, maxCount = 3 }, -- fish
- { id = 3582, chance = 10000 }, -- ham
- { id = 5880, chance = 3000 }, -- iron ore
- { id = 5895, chance = 5000 }, -- fish fin
- { id = 5925, chance = 5700 }, -- hardened bone
+ { name = "ham", chance = 10000 },
+ { name = "iron ore", chance = 3000 },
+ { name = "fish fin", chance = 5000 },
+ { name = "hardened bone", chance = 5700 },
{ id = 5951, chance = 9400 }, -- fish tail
- { id = 7404, chance = 1000 }, -- assassin dagger
- { id = 7407, chance = 2000 }, -- haunted blade
- { id = 7418, chance = 380 }, -- nightmare blade
- { id = 238, chance = 17000, maxCount = 3 }, -- great mana potion
- { id = 239, chance = 18500, maxCount = 2 }, -- great health potion
- { id = 10389, chance = 1200 }, -- sai
- { id = 16120, chance = 3000 }, -- violet crystal shard
- { id = 16123, chance = 12000, maxCount = 2 }, -- brown crystal splinter
- { id = 16126, chance = 7600 }, -- red crystal fragment
+ { name = "assassin dagger", chance = 1000 },
+ { name = "haunted blade", chance = 2000 },
+ { name = "nightmare blade", chance = 380 },
+ { name = "great mana potion", chance = 17000, maxCount = 3 },
+ { name = "great health potion", chance = 18500, maxCount = 2 },
+ { name = "sai", chance = 1200 },
+ { name = "violet crystal shard", chance = 3000 },
+ { name = "brown crystal splinter", chance = 12000, maxCount = 2 },
+ { name = "red crystal fragment", chance = 7600 },
{ id = 16279, chance = 12000 }, -- crystal rubbish
- { id = 20062, chance = 920 }, -- cluster of solace
- { id = 20198, chance = 15000 }, -- frazzle tongue
- { id = 20199, chance = 14000 }, -- frazzle skin
+ { name = "cluster of solace", chance = 8920 },
+ { name = "frazzle tongue", chance = 15000 },
+ { name = "frazzle skin", chance = 14000 },
}
monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -499 },
-- bleed
- { name = "condition", type = CONDITION_BLEEDING, interval = 2000, chance = 10, minDamage = -500, maxDamage = -1000, radius = 3, target = false },
- { name = "combat", interval = 2000, chance = 10, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -900, length = 8, spread = 3, effect = CONST_ME_EXPLOSIONAREA, target = false },
+ { name = "condition", type = CONDITION_BLEEDING, interval = 2000, chance = 10, minDamage = -500, maxDamage = -1000, radius = 3, effect = CONST_ME_DRAWBLOOD, target = false },
+ { name = "combat", interval = 2000, chance = 10, type = COMBAT_LIFEDRAIN, minDamage = 0, maxDamage = -900, length = 8, spread = 0, effect = CONST_ME_EXPLOSIONAREA, target = false },
{ name = "combat", interval = 2000, chance = 20, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -500, radius = 2, shootEffect = CONST_ANI_LARGEROCK, effect = CONST_ME_STONES, target = true },
- { name = "speed", interval = 2000, chance = 15, speedChange = -100, radius = 6, effect = CONST_ME_MAGIC_RED, target = false, duration = 15000 },
- { name = "combat", interval = 2000, chance = 10, type = COMBAT_LIFEDRAIN, minDamage = 0, maxDamage = -800, length = 8, spread = 3, effect = CONST_ME_MAGIC_RED, target = false },
+ { name = "speed", interval = 2000, chance = 15, speedChange = -800, radius = 6, effect = CONST_ME_MAGIC_RED, target = false, duration = 15000 },
+ { name = "combat", interval = 2000, chance = 10, type = COMBAT_LIFEDRAIN, minDamage = 0, maxDamage = -800, length = 8, spread = 0, effect = CONST_ME_MAGIC_RED, target = false },
}
monster.defenses = {
defense = 50,
- armor = 50,
+ armor = 74,
+ mitigation = 2.31,
{ name = "combat", interval = 2000, chance = 20, type = COMBAT_HEALING, minDamage = 250, maxDamage = 425, effect = CONST_ME_HITBYPOISON, target = false },
}
monster.elements = {
- { type = COMBAT_PHYSICALDAMAGE, percent = 10 },
- { type = COMBAT_ENERGYDAMAGE, percent = 5 },
- { type = COMBAT_EARTHDAMAGE, percent = 15 },
- { type = COMBAT_FIREDAMAGE, percent = 5 },
+ { type = COMBAT_PHYSICALDAMAGE, percent = 5 },
+ { type = COMBAT_ENERGYDAMAGE, percent = 15 },
+ { type = COMBAT_EARTHDAMAGE, percent = 20 },
+ { type = COMBAT_FIREDAMAGE, percent = 10 },
{ type = COMBAT_LIFEDRAIN, percent = 0 },
{ type = COMBAT_MANADRAIN, percent = 0 },
{ type = COMBAT_DROWNDAMAGE, percent = 0 },
{ type = COMBAT_ICEDAMAGE, percent = 5 },
- { type = COMBAT_HOLYDAMAGE, percent = 0 },
- { type = COMBAT_DEATHDAMAGE, percent = 5 },
+ { type = COMBAT_HOLYDAMAGE, percent = -5 },
+ { type = COMBAT_DEATHDAMAGE, percent = 10 },
}
monster.immunities = {
diff --git a/data-canary/scripts/spells/monster/fury_skill_reducer.lua b/data-canary/scripts/spells/monster/fury_skill_reducer.lua
new file mode 100644
index 00000000000..1e8acd0ae7a
--- /dev/null
+++ b/data-canary/scripts/spells/monster/fury_skill_reducer.lua
@@ -0,0 +1,27 @@
+local combat = {}
+
+for i = 65, 80 do
+ combat[i] = Combat()
+ combat[i]:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_SOUND_YELLOW)
+
+ local condition = Condition(CONDITION_ATTRIBUTES)
+ condition:setParameter(CONDITION_PARAM_TICKS, 5000)
+ condition:setParameter(CONDITION_PARAM_SKILL_DEFENSEPERCENT, i)
+
+ local area = createCombatArea(AREA_CIRCLE3X3)
+ combat[i]:setArea(area)
+ combat[i]:addCondition(condition)
+end
+
+local spell = Spell("instant")
+
+function spell.onCastSpell(creature, var)
+ return combat[math.random(65, 80)]:execute(creature, var)
+end
+
+spell:name("fury skill reducer")
+spell:words("###2")
+spell:isAggressive(true)
+spell:blockWalls(true)
+spell:needLearn(true)
+spell:register()
diff --git a/data-canary/world/canary-house.xml b/data-canary/world/canary-house.xml
index adaa1a1c8f2..43d8e80d11e 100644
--- a/data-canary/world/canary-house.xml
+++ b/data-canary/world/canary-house.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/data-canary/world/canary-zones.xml b/data-canary/world/canary-zones.xml
new file mode 100644
index 00000000000..a9224bd3c2d
--- /dev/null
+++ b/data-canary/world/canary-zones.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/data-canary/world/canary.otbm b/data-canary/world/canary.otbm
index 280d57a9194..8f787811a53 100644
Binary files a/data-canary/world/canary.otbm and b/data-canary/world/canary.otbm differ