Skip to content

Commit

Permalink
Merge branch 'main' into addPaymentInWar
Browse files Browse the repository at this point in the history
  • Loading branch information
Luan Luciano authored Jan 5, 2024
2 parents 40bfcb3 + ed99d95 commit ad7c7f1
Show file tree
Hide file tree
Showing 125 changed files with 948 additions and 513 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ at [this link](https://github.com/opentibiabr/canary/blob/master/CODE_OF_CONDUCT

### Getting **Started**

* [Gitbook](https://docs.opentibiabr.com/projects/canary).
* [Gitbook](https://docs.opentibiabr.com/opentibiabr/projects/canary).
* [Wiki](https://github.com/opentibiabr/canary/wiki).

### Issues
Expand Down
7 changes: 5 additions & 2 deletions config.lua.dist
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,8 @@ resetSessionsOnStartup = false

-- Misc.
-- NOTE: experienceDisplayRates: set to false to ignore exp rate or true to include exp rate
-- NOTE: disableLegacyRaids: set to true to disable legacy XML raids
-- NOTE: combatChainDelay: set to minimum 50 miliseconds
allowChangeOutfit = true
toggleMountInProtectionZone = false
freePremium = false
Expand All @@ -382,9 +384,9 @@ experienceDisplayRates = true
toggleAttackSpeedOnFist = false
multiplierSpeedOnFist = 5
maxSpeedOnFist = 500
disableLegacyRaids = false -- disable legacy XML raids
disableLegacyRaids = false
disableMonsterArmor = false
combatChainDelay = 50 -- minimum: 50 miliseconds
combatChainDelay = 50
minElementalResistance = -200
maxElementalResistance = 200
maxDamageReflection = 200
Expand Down Expand Up @@ -474,6 +476,7 @@ location = "South America"
-- The URL layout is https://discord.com/api/webhooks/:id/:token
-- Leave empty if you wish to disable.
discordWebhookURL = ""
discordSendFooter = true

-- Vip System (Get more info in: https://github.com/opentibiabr/canary/pull/1063)
-- NOTE: set vipSystemEnabled to true to enable the vip system functionalities (this overrides premium checks)
Expand Down
2 changes: 1 addition & 1 deletion data-canary/lib/core/constants.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5
STACKPOS_TOP_CREATURE = 253
STACKPOS_TOP_FIELD = 254
STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255
STACKPOS_TOP_MOVABLE_ITEM_OR_CREATURE = 255

THING_TYPE_PLAYER = CREATURETYPE_PLAYER + 1
THING_TYPE_MONSTER = CREATURETYPE_MONSTER + 1
Expand Down
2 changes: 1 addition & 1 deletion data-canary/lib/core/storages.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Reserved player action storage key ranges (const.hpp)
[2001 - 2011]
Others reserved player action/storages
[100] = unmoveable/untrade/unusable items
[100] = unmovable/untrade/unusable items
[101] = use pick floor
[102] = well down action
[103-120] = others keys action
Expand Down
5 changes: 3 additions & 2 deletions data-canary/scripts/actions/other/exercise_training.lua
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ function exerciseTraining.onUse(player, item, fromPosition, target, toPosition,
end
end

if player:getStorageValue(Storage.IsTraining) > os.time() then
local hasExhaustion = player:kv():get("training-exhaustion") or 0
if hasExhaustion > os.time() then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "This exercise dummy can only be used after a 30 second cooldown.")
return true
end
Expand All @@ -48,7 +49,7 @@ function exerciseTraining.onUse(player, item, fromPosition, target, toPosition,
_G.OnExerciseTraining[playerId].event = addEvent(ExerciseEvent, 0, playerId, targetPos, item.itemid, targetId)
_G.OnExerciseTraining[playerId].dummyPos = targetPos
player:setTraining(true)
player:setStorageValue(Storage.IsTraining, os.time() + 30)
player:kv():set("training-exhaustion", os.time() + 30)
end
return true
end
Expand Down
2 changes: 1 addition & 1 deletion data-canary/scripts/creaturescripts/familiar/on_death.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ function familiarOnDeath.onDeath(creature, corpse, lasthitkiller, mostdamagekill
local vocation = FAMILIAR_ID[player:getVocation():getBaseId()]

if table.contains(vocation, creature:getName()) then
player:setStorageValue(Global.Storage.FamiliarSummon, os.time())
player:kv():set("familiar-summon-time", os.time())
for sendMessage = 1, #FAMILIAR_TIMER do
stopEvent(player:getStorageValue(FAMILIAR_TIMER[sendMessage].storage))
player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage, -1)
Expand Down
26 changes: 5 additions & 21 deletions data-canary/scripts/creaturescripts/familiar/on_login.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ function familiarOnLogin.onLogin(player)
local vocation = FAMILIAR_ID[player:getVocation():getBaseId()]

local familiarName
local familiarTimeLeft = player:getStorageValue(Global.Storage.FamiliarSummon) - player:getLastLogout()
local familiarSummonTime = player:kv():get("familiar-summon-time") or 0
local familiarTimeLeft = familiarSummonTime - player:getLastLogout()

if vocation then
if (not player:isPremium() and player:hasFamiliar(vocation.id)) or player:getLevel() < 200 then
Expand All @@ -26,27 +27,10 @@ function familiarOnLogin.onLogin(player)
end
end

if familiarName then
local position = player:getPosition()
local familiarMonster = Game.createMonster(familiarName, position, true, false, player)
if familiarMonster then
familiarMonster:setOutfit({ lookType = player:getFamiliarLooktype() })
familiarMonster:registerEvent("FamiliarDeath")
position:sendMagicEffect(CONST_ME_MAGIC_BLUE)

local deltaSpeed = math.max(player:getSpeed() - familiarMonster:getSpeed(), 0)
familiarMonster:changeSpeed(deltaSpeed)

player:setStorageValue(Global.Storage.FamiliarSummon, os.time() + familiarTimeLeft)
addEvent(RemoveFamiliar, familiarTimeLeft * 1000, familiarMonster:getId(), player:getId())

for sendMessage = 1, #FAMILIAR_TIMER do
if player:getStorageValue(FAMILIAR_TIMER[sendMessage].storage) == -1 and familiarTimeLeft >= FAMILIAR_TIMER[sendMessage].countdown then
player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage, addEvent(SendMessageFunction, (familiarTimeLeft - FAMILIAR_TIMER[sendMessage].countdown) * 1000, player:getId(), FAMILIAR_TIMER[sendMessage].message))
end
end
end
if not familiarName then
return true
end
player:createFamiliar(familiarName, familiarTimeLeft)
return true
end

Expand Down
2 changes: 1 addition & 1 deletion data-canary/scripts/runes/chameleon.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function rune.onCastSpell(creature, variant, isHotkey)
item = Tile(position):getTopDownItem()
end

if not item or item.itemid == 0 or not isMoveable(item.uid) then
if not item or item.itemid == 0 or not isMovable(item.uid) then
creature:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE)
creature:getPosition():sendMagicEffect(CONST_ME_POFF)
return false
Expand Down
8 changes: 4 additions & 4 deletions data-otservbr-global/lib/compat/compat.lua
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ STACKPOS_FOURTH_ITEM_ABOVE_GROUNDTILE = 4
STACKPOS_FIFTH_ITEM_ABOVE_GROUNDTILE = 5
STACKPOS_TOP_CREATURE = 253
STACKPOS_TOP_FIELD = 254
STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255
STACKPOS_TOP_MOVABLE_ITEM_OR_CREATURE = 255

THING_TYPE_PLAYER = CREATURETYPE_PLAYER + 1
THING_TYPE_MONSTER = CREATURETYPE_MONSTER + 1
Expand Down Expand Up @@ -1094,8 +1094,8 @@ function isCorpse(uid)
return i ~= nil and ItemType(i:getId()):isCorpse() or false
end

isItemMoveable = isItemMovable
isMoveable = isMovable
isItemMovable = isItemMovable
isMovable = isMovable

function getItemName(itemId)
return ItemType(itemId):getName()
Expand Down Expand Up @@ -1380,7 +1380,7 @@ function getThingfromPos(pos)

local thing
local stackpos = pos.stackpos or 0
if stackpos == STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE then
if stackpos == STACKPOS_TOP_MOVABLE_ITEM_OR_CREATURE then
thing = tile:getTopCreature()
if thing == nil then
local item = tile:getTopDownItem()
Expand Down
8 changes: 1 addition & 7 deletions data-otservbr-global/lib/core/storages.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Reserved player action storage key ranges (const.h)
[2001 - 2011]
Others reserved player action/storages
[100] = unmoveable/untrade/unusable items
[100] = unmovable/untrade/unusable items
[101] = use pick floor
[102] = well down action
[103-120] = others keys action
Expand Down Expand Up @@ -79,8 +79,6 @@ Reserved player action storage key ranges (const.h)

Storage = {
-- General storages
IsTraining = 30000,
-- Reserved in Global.Storage.NpcExhaust = 30001
Dragonfetish = 30003,
EdronRopeQuest = 30004,
GhostShipQuest = 30005,
Expand All @@ -102,10 +100,7 @@ Storage = {
RookgaardDestiny = 30020,
EruaranGreeting = 30021,
MaryzaCookbook = 30022,
-- Reserved in Global.Storage.CombatProtectionStorage = 30023
Factions = 30024,
-- Reserved in Global.Storage.BlockMovementStorage = 30025
-- Reserved in Global.Storage.FamiliarSummon = 30026
-- unused TrainerRoom = 30027,
-- unused NpcSpawn = 30028,
ExerciseDummyExhaust = 30029,
Expand All @@ -130,7 +125,6 @@ Storage = {
Navigator = 30048,
DwarvenLegs = 30049,
PrinceDrazzakTime = 30050,
-- Reserved in Global.Storage.StoreExaust = 30051
LemonCupcake = 30052,
BlueberryCupcake = 30053,
-- Reserved in Global.Storage.FamiliarSummonEvent10 = 30054
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/lib/quests/svargrond_arena.lua
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ function SvargrondArena.resetPit(pitId)
if movableItem and movableItem:isItem() then
local itemType = ItemType(movableItem:getId())
if itemType and itemType:isMovable() and not table.contains(SvargrondArena.itemsNotErasable, movableItem:getId()) then
moveableItem:remove()
movableItem:remove()
end
end

Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/bosses/the_abomination.lua
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ monster.loot = {

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, skill = 90, attack = 120 },
{ name = "speed", interval = 1000, chance = 12, speedChange = -100, radius = 6, effect = CONST_ME_POISONAREA, target = false, duration = 10000 },
{ name = "speed", interval = 1000, chance = 12, speedChange = -800, radius = 6, effect = CONST_ME_POISONAREA, target = false, duration = 10000 },
{ name = "combat", interval = 1000, chance = 9, type = COMBAT_EARTHDAMAGE, minDamage = -200, maxDamage = -650, radius = 4, effect = CONST_ME_POISONAREA, target = false },
{ name = "combat", interval = 1000, chance = 11, type = COMBAT_LIFEDRAIN, minDamage = -400, maxDamage = -900, radius = 4, shootEffect = CONST_ANI_POISON, effect = CONST_ME_SOUND_GREEN, target = true },
{ name = "combat", interval = 2000, chance = 19, type = COMBAT_PHYSICALDAMAGE, minDamage = -350, maxDamage = -850, length = 7, spread = 0, shootEffect = CONST_ANI_POISON, effect = CONST_ME_HITBYPOISON, target = false },
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/bosses/the_collector.lua
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ monster.loot = {}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, skill = 100, attack = 40 },
{ name = "speed", interval = 1000, chance = 13, speedChange = -100, length = 8, spread = 0, effect = CONST_ME_ENERGYHIT, target = false, duration = 20000 },
{ name = "speed", interval = 1000, chance = 13, speedChange = -800, length = 8, spread = 0, effect = CONST_ME_ENERGYHIT, target = false, duration = 20000 },
{ name = "combat", interval = 1000, chance = 15, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -85, range = 7, shootEffect = CONST_ANI_LARGEROCK, target = false },
{ name = "melee", interval = 2000, chance = 15, minDamage = -10, maxDamage = -80 },
}
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/constructs/ice_golem.lua
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ monster.loot = {

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -220 },
{ name = "speed", interval = 1000, chance = 13, speedChange = -100, length = 8, spread = 0, effect = CONST_ME_ENERGYHIT, target = false, duration = 20000 },
{ name = "speed", interval = 1000, chance = 13, speedChange = -800, length = 8, spread = 0, effect = CONST_ME_ENERGYHIT, target = false, duration = 20000 },
{ name = "combat", interval = 1000, chance = 15, type = COMBAT_ICEDAMAGE, minDamage = -50, maxDamage = -85, range = 7, shootEffect = CONST_ANI_SMALLICE, effect = CONST_ME_ICEATTACK, target = false },
{ name = "ice golem skill reducer", interval = 2000, chance = 10, target = false },
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -280 },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_LIFEDRAIN, minDamage = -250, maxDamage = -700, length = 5, spread = 3, effect = CONST_ME_MAGIC_RED, target = false },
{ name = "combat", interval = 2000, chance = 30, type = COMBAT_FIREDAMAGE, minDamage = -80, maxDamage = -250, radius = 3, effect = CONST_ME_HITBYFIRE, target = false },
{ name = "speed", interval = 2000, chance = 10, speedChange = -100, length = 5, spread = 3, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
{ name = "speed", interval = 2000, chance = 10, speedChange = -800, length = 5, spread = 3, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/constructs/lava_golem.lua
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ monster.attacks = {
{ name = "combat", interval = 2000, chance = 10, type = COMBAT_MANADRAIN, minDamage = -600, maxDamage = -1300, length = 8, spread = 3, effect = CONST_ME_MORTAREA, target = false },
{ name = "lava golem soulfire", interval = 2000, chance = 15, target = false },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_FIREDAMAGE, minDamage = -220, maxDamage = -350, radius = 4, effect = CONST_ME_FIREAREA, target = true },
{ name = "speed", interval = 2000, chance = 10, speedChange = -100, length = 5, spread = 3, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
{ name = "speed", interval = 2000, chance = 10, speedChange = -800, length = 5, spread = 3, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
{ name = "combat", interval = 2000, chance = 30, type = COMBAT_FIREDAMAGE, minDamage = -280, maxDamage = -350, radius = 3, effect = CONST_ME_HITBYFIRE, target = false },
}

Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/constructs/magma_crawler.lua
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ monster.attacks = {
{ name = "magma crawler soulfire", interval = 2000, chance = 20, target = false },
{ name = "soulfire rune", interval = 2000, chance = 10, target = false },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_FIREDAMAGE, minDamage = -140, maxDamage = -180, radius = 3, effect = CONST_ME_HITBYFIRE, target = false },
{ name = "speed", interval = 2000, chance = 10, speedChange = -100, radius = 2, effect = CONST_ME_MAGIC_RED, target = false, duration = 20000 },
{ name = "speed", interval = 2000, chance = 10, speedChange = -800, radius = 2, effect = CONST_ME_MAGIC_RED, target = false, duration = 20000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/constructs/orewalker.lua
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ monster.attacks = {
-- poison
{ name = "condition", type = CONDITION_POISON, interval = 2000, chance = 10, minDamage = -800, maxDamage = -1080, radius = 3, shootEffect = CONST_ANI_SMALLEARTH, effect = CONST_ME_SMALLPLANTS, target = true },
{ name = "drunk", interval = 2000, chance = 15, radius = 4, effect = CONST_ME_SOUND_PURPLE, target = false, duration = 6000 },
{ name = "speed", interval = 2000, chance = 15, speedChange = -100, radius = 2, effect = CONST_ME_MAGIC_RED, target = false, duration = 20000 },
{ name = "speed", interval = 2000, chance = 15, speedChange = -800, radius = 2, effect = CONST_ME_MAGIC_RED, target = false, duration = 20000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/constructs/weeper.lua
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -450 },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_FIREDAMAGE, minDamage = -400, maxDamage = -1000, length = 8, spread = 0, effect = CONST_ME_FIREATTACK, target = false },
{ name = "combat", interval = 3000, chance = 100, type = COMBAT_FIREDAMAGE, minDamage = -80, maxDamage = -250, radius = 3, effect = CONST_ME_HITBYFIRE, target = false },
{ name = "speed", interval = 2000, chance = 10, speedChange = -100, length = 5, spread = 0, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
{ name = "speed", interval = 2000, chance = 10, speedChange = -800, length = 5, spread = 0, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/demons/dawnfire_asura.lua
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ monster.attacks = {
{ name = "combat", interval = 3700, chance = 17, type = COMBAT_LIFEDRAIN, minDamage = -100, maxDamage = -300, length = 8, spread = 0, effect = CONST_ME_PURPLEENERGY, target = false },
{ name = "combat", interval = 3200, chance = 25, type = COMBAT_DEATHDAMAGE, minDamage = -100, maxDamage = -350, radius = 4, range = 5, target = true, effect = CONST_ME_MORTAREA },
{ name = "combat", interval = 2700, chance = 20, type = COMBAT_FIREDAMAGE, minDamage = -95, maxDamage = -180, range = 3, shootEffect = CONST_ANI_FIRE, target = true },
{ name = "speed", interval = 2000, chance = 20, speedChange = -100, radius = 1, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_SLEEP, target = true, duration = 15000 },
{ name = "speed", interval = 2000, chance = 20, speedChange = -800, radius = 1, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_SLEEP, target = true, duration = 15000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/demons/fury.lua
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ monster.attacks = {
{ name = "fury skill reducer", interval = 2000, chance = 5, target = false },
{ name = "combat", interval = 2000, chance = 10, type = COMBAT_LIFEDRAIN, minDamage = -120, maxDamage = -300, radius = 3, effect = CONST_ME_HITAREA, target = false },
{ name = "combat", interval = 2000, chance = 10, type = COMBAT_DEATHDAMAGE, minDamage = -125, maxDamage = -250, range = 7, shootEffect = CONST_ANI_SUDDENDEATH, effect = CONST_ME_SMALLCLOUDS, target = false },
{ name = "speed", interval = 2000, chance = 15, speedChange = -100, range = 7, shootEffect = CONST_ANI_SUDDENDEATH, effect = CONST_ME_SMALLCLOUDS, target = false, duration = 30000 },
{ name = "speed", interval = 2000, chance = 15, speedChange = -800, range = 7, shootEffect = CONST_ANI_SUDDENDEATH, effect = CONST_ME_SMALLCLOUDS, target = false, duration = 30000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/demons/midnight_asura.lua
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ monster.attacks = {
{ name = "combat", interval = 4100, chance = 27, type = COMBAT_DEATHDAMAGE, minDamage = -150, maxDamage = -300, length = 8, spread = 0, effect = CONST_ME_MORTAREA, target = false },
{ name = "combat", interval = 2700, chance = 15, type = COMBAT_DEATHDAMAGE, minDamage = -50, maxDamage = -200, range = 5, shootEffect = CONST_ANI_SUDDENDEATH, target = true },
{ name = "combat", interval = 3100, chance = 15, type = COMBAT_ENERGYDAMAGE, minDamage = -50, maxDamage = -100, range = 1, shootEffect = CONST_ANI_ENERGY, target = true },
{ name = "speed", interval = 2000, chance = 20, speedChange = -100, radius = 1, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_SLEEP, target = true, duration = 15000 },
{ name = "speed", interval = 2000, chance = 20, speedChange = -800, radius = 1, shootEffect = CONST_ANI_EXPLOSION, effect = CONST_ME_SLEEP, target = true, duration = 15000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/demons/plaguesmith.lua
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ monster.attacks = {
{ name = "melee", interval = 1500, chance = 100, minDamage = 0, maxDamage = -539, condition = { type = CONDITION_POISON, totalDamage = 200, interval = 4000 } },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_EARTHDAMAGE, minDamage = -60, maxDamage = -114, radius = 4, effect = CONST_ME_POISONAREA, target = false },
{ name = "plaguesmith wave", interval = 2000, chance = 10, minDamage = -100, maxDamage = -350, target = false },
{ name = "speed", interval = 2000, chance = 15, speedChange = -100, radius = 4, effect = CONST_ME_POISONAREA, target = false, duration = 30000 },
{ name = "speed", interval = 2000, chance = 15, speedChange = -800, radius = 4, effect = CONST_ME_POISONAREA, target = false, duration = 30000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/dragons/ghastly_dragon.lua
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ monster.attacks = {
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_LIFEDRAIN, minDamage = -80, maxDamage = -230, range = 7, effect = CONST_ME_MAGIC_RED, target = true },
{ name = "ghastly dragon wave", interval = 2000, chance = 10, minDamage = -120, maxDamage = -250, target = false },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_DEATHDAMAGE, minDamage = -110, maxDamage = -180, radius = 4, effect = CONST_ME_MORTAREA, target = false },
{ name = "speed", interval = 2000, chance = 20, speedChange = -100, range = 7, effect = CONST_ME_SMALLCLOUDS, target = true, duration = 30000 },
{ name = "speed", interval = 2000, chance = 20, speedChange = -800, range = 7, effect = CONST_ME_SMALLCLOUDS, target = true, duration = 30000 },
}

monster.defenses = {
Expand Down
2 changes: 1 addition & 1 deletion data-otservbr-global/monster/elementals/ironblight.lua
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ monster.attacks = {
{ name = "condition", type = CONDITION_POISON, interval = 2000, chance = 10, minDamage = -460, maxDamage = -480, radius = 6, shootEffect = CONST_ANI_POISON, effect = CONST_ME_POISONAREA, target = false },
{ name = "combat", interval = 2000, chance = 15, type = COMBAT_ICEDAMAGE, minDamage = -260, maxDamage = -350, length = 7, spread = 0, shootEffect = CONST_ANI_ICE, effect = CONST_ME_ICEATTACK, target = false },
{ name = "combat", interval = 2000, chance = 20, type = COMBAT_EARTHDAMAGE, minDamage = -180, maxDamage = -250, radius = 2, shootEffect = CONST_ANI_GREENSTAR, effect = CONST_ME_BIGPLANTS, target = true },
{ name = "speed", interval = 2000, chance = 10, speedChange = -100, length = 5, spread = 0, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
{ name = "speed", interval = 2000, chance = 10, speedChange = -800, length = 5, spread = 0, effect = CONST_ME_BLOCKHIT, target = false, duration = 30000 },
}

monster.defenses = {
Expand Down
Loading

0 comments on commit ad7c7f1

Please sign in to comment.