Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

Fix the welter boss #765

Merged
merged 3 commits into from
Aug 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions data/monster/raids/egg_the_welter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
local mType = Game.createMonsterType("Egg")
local monster = {}

monster.description = "Egg"
monster.experience = 0
monster.outfit = {
lookTypeEx = 4839
}

monster.health = 800
monster.maxHealth = 800
monster.race = "blood"
monster.corpse = 0
monster.speed = 0
monster.manaCost = 0

monster.changeTarget = {
interval = 2000,
chance = 0
}

monster.strategiesTarget = {
nearest = 100,
}

monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = false,
illusionable = false,
canPushItems = false,
canPushCreatures = false,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = true,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true
}

monster.events = {
"TheWelterEgg"
}

monster.light = {
level = 0,
color = 0
}

monster.summon = {
}

monster.voices = {
interval = 5000,
chance = 10,
}

monster.defenses = {
defense = 5,
armor = 10
}

monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 0},
{type = COMBAT_EARTHDAMAGE, percent = 0},
{type = COMBAT_FIREDAMAGE, percent = 0},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}

monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = true},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}

mType:register(monster)
100 changes: 100 additions & 0 deletions data/monster/raids/spawn_of_the_welter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
local mType = Game.createMonsterType("Spawn of the Welter")
local monster = {}

monster.description = "Spawn of the Welter"
monster.experience = 0
monster.outfit = {
lookType = 121,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}

monster.health = 1850
monster.maxHealth = 1850
monster.race = "blood"
monster.corpse = 6048
monster.speed = 206
monster.manaCost = 0

monster.changeTarget = {
interval = 4000,
chance = 10
}

monster.strategiesTarget = {
nearest = 70,
health = 10,
damage = 10,
random = 10,
}

monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = false,
illusionable = true,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 1,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true
}

monster.light = {
level = 0,
color = 0
}

monster.voices = {
interval = 5000,
chance = 10,
}

monster.loot = {
}

monster.attacks = {
{name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -270},
{name ="poisonfield", interval = 2000, chance = 25, range = 7, radius = 3, shootEffect = CONST_ANI_POISON, target = true}
}

monster.defenses = {
defense = 35,
armor = 27,
{name ="combat", interval = 2000, chance = 25, type = COMBAT_HEALING, minDamage = 260, maxDamage = 407, effect = CONST_ME_MAGIC_BLUE, target = false},
{name ="spawn of the welter heal", interval = 2000, chance = 20, target = false}
}

monster.elements = {
{type = COMBAT_PHYSICALDAMAGE, percent = 0},
{type = COMBAT_ENERGYDAMAGE, percent = 0},
{type = COMBAT_EARTHDAMAGE, percent = 0},
{type = COMBAT_FIREDAMAGE, percent = 0},
{type = COMBAT_LIFEDRAIN, percent = 0},
{type = COMBAT_MANADRAIN, percent = 0},
{type = COMBAT_DROWNDAMAGE, percent = 0},
{type = COMBAT_ICEDAMAGE, percent = 0},
{type = COMBAT_HOLYDAMAGE , percent = 0},
{type = COMBAT_DEATHDAMAGE , percent = 0}
}

monster.immunities = {
{type = "paralyze", condition = true},
{type = "outfit", condition = false},
{type = "invisible", condition = true},
{type = "bleed", condition = false}
}

mType:register(monster)
2 changes: 1 addition & 1 deletion data/scripts/spells/monster/the_welter_heal.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function spell.onCastSpell(creature, var)
creature:addHealth(25000)
creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
return true
elseif spectator:isMonster() and spectator:getName() == "Spawn Of The Welter" then
elseif spectator:isMonster() and spectator:getName() == "Spawn of the Welter" then
spectator:getPosition():sendMagicEffect(CONST_ME_DRAWBLOOD)
spectator:remove()
creature:say("<the welter devours his spawn and heals himself>", TALKTYPE_ORANGE_1)
Expand Down
2 changes: 1 addition & 1 deletion data/scripts/spells/monster/the_welter_summon.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ local function delayedCastSpell(cid, var)
end
end

local maxsummons = 1
local maxsummons = 7

local spell = Spell("instant")

Expand Down