Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mattyx14 committed Aug 31, 2023
1 parent 33c7130 commit 93c43f4
Show file tree
Hide file tree
Showing 29 changed files with 2,095 additions and 1,134 deletions.
101 changes: 101 additions & 0 deletions data-otxserver/monster/quests/primal_ordeal_quest/lava_creature.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
local mType = Game.createMonsterType("Lava Creature")
local monster = {}

monster.description = "a lava creature"
monster.experience = 0
monster.outfit = {
lookType = 1414,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}

monster.health = 9000
monster.maxHealth = 9000
monster.race = "fire"
monster.corpse = 39230 -- charged flame
monster.speed = 110
monster.manaCost = 0

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

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 = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 98,
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 = -1400 },
{ name = "combat", interval = 3500, chance = 40, type = COMBAT_FIREDAMAGE, minDamage = -600, maxDamage = -900, length = 5, effect = CONST_ME_SMOKE, target = false },
{ name = "combat", interval = 4100, chance = 30, type = COMBAT_ENERGYDAMAGE, minDamage = -350, maxDamage = -475, radius = 3, effect = CONST_ME_MAGIC_RED, target = false },
}

monster.defenses = {
defense = 65,
armor = 0,
mitigation = 2.0,
{ name = "combat", interval = 3000, chance = 35, type = COMBAT_HEALING, minDamage = 400, maxDamage = 500, effect = CONST_ME_MAGIC_BLUE, target = false },
{ name = "speed", interval = 2000, chance = 15, speedChange = 320, effect = CONST_ME_MAGIC_RED, target = false, duration = 5000 }
}

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)
25 changes: 12 additions & 13 deletions data-otxserver/monster/quests/primal_ordeal_quest/magma_bubble.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ monster.events = {
monster.health = 300000
monster.maxHealth = 300000
monster.race = "undead"
monster.corpse = 36843
monster.speed = 40
monster.corpse = 36847
monster.speed = 0
monster.manaCost = 0

monster.changeTarget = {
Expand All @@ -36,10 +36,7 @@ monster.bosstiary = {
}

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

monster.flags = {
Expand All @@ -59,7 +56,7 @@ monster.flags = {
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true
canWalkOnPoison = true,
}

monster.light = {
Expand All @@ -84,6 +81,7 @@ monster.loot = {
{ name = "giant emerald", chance = 4082 },
{ name = "giant sapphire", chance = 2041 },
{ name = "giant topaz", chance = 2041 },
{ name = "fiery tear", chance = 1000 },
{ name = "arboreal tome", chance = 250 },
{ name = "arboreal crown", chance = 250 },
{ name = "spiritthorn armor", id = 39147, chance = 250 },
Expand All @@ -96,20 +94,21 @@ monster.loot = {
{ id = 39186, chance = 250 }, -- name = "charged arboreal ring"
{ id = 39180, chance = 250 }, -- name = "charged alicorn ring"
{ id = 39177, chance = 250 }, -- name = "charged spiritthorn ring"
{ name = "portable flame", chance = 250 },
{ name = "firefighting axe", chance = 250 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = -600, maxDamage = -1300 },
{ name = "combat", interval = 200, chance = 20, type = COMBAT_ENERGYDAMAGE, minDamage = -600, maxDamage = -1500, target = false },
{ name = "combat", interval = 500, chance = 10, type = COMBAT_ENERGYDAMAGE, minDamage = -200, maxDamage = -2100, length = 8, spread = 3, effect = CONST_ME_MORTAREA, target = true },
{ name = "combat", interval = 500, chance = 10, type = COMBAT_ENERGYDAMAGE, minDamage = -250, maxDamage = -2600, radius = 8, effect = CONST_ME_MORTAREA, target = false },
{ name = "combat", interval = 2000, chance = 30, type = COMBAT_FIREDAMAGE, minDamage = -1000, maxDamage = -2000, target = true },
{ name = "combat", interval = 2000, chance = 25, type = COMBAT_FIREDAMAGE, minDamage = -1500, maxDamage = -2000, length = 8, spread = 0, effect = CONST_ME_FIREAREA, target = false },
{ name = "melee", interval = 2000, chance = 100, minDamage = -275, maxDamage = -750 },
{ name = "combat", interval = 2000, chance = 75, type = COMBAT_FIREDAMAGE, minDamage = -525, maxDamage = -650, radius = 3, range = 8, effect = CONST_ME_HITBYFIRE, target = true },
{ name = "combat", interval = 3700, chance = 37, type = COMBAT_FIREDAMAGE, minDamage = -1700, maxDamage = -2750, length = 8, spread = 3, effect = CONST_ME_MAGIC_RED, target = false },
{ name = "combat", interval = 3100, chance = 15, type = COMBAT_FIREDAMAGE, minDamage = -1000, maxDamage = -2000, range = 8, effect = CONST_ME_FIREAREA, shootEffect = CONST_ANI_FIRE, target = true },
}

monster.defenses = {
defense = 65,
armor = 55,
mitigation = 2.0,
{ name = "combat", interval = 3000, chance = 35, type = COMBAT_HEALING, minDamage = 400, maxDamage = 500, effect = CONST_ME_MAGIC_BLUE, target = false },
{ name = "speed", interval = 2000, chance = 15, speedChange = 320, effect = CONST_ME_MAGIC_RED, target = false, duration = 5000 }
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
local mType = Game.createMonsterType("Magma Crystal")
local monster = {}

monster.description = "a magma crystal"
monster.experience = 0
monster.outfit = {
lookTypeEx = 21572
}

monster.health = 30000
monster.maxHealth = 30000
monster.race = "fire"
monster.corpse = 0
monster.speed = 0
monster.manaCost = 0

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

monster.strategiesTarget = {
nearest = 100,
}

monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = false,
illusionable = false,
canPushItems = true,
canPushCreatures = false,
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 = {
}

monster.defenses = {
defense = 0,
armor = 0,
mitigation = 0.00,
{ name = "combat", interval = 1000, chance = 100, type = COMBAT_HEALING, minDamage = 100, maxDamage = 100, effect = CONST_ME_MAGIC_BLUE, 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 = true },
{ type = "invisible", condition = true },
{ type = "bleed", condition = false }
}

mType:register(monster)
119 changes: 119 additions & 0 deletions data-otxserver/monster/quests/primal_ordeal_quest/the_end_of_days.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
local mType = Game.createMonsterType("The End of Days")
local monster = {}

monster.description = "the end of days"
monster.experience = 0
monster.outfit = {
lookType = 1570,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0
}

monster.health = 90000
monster.maxHealth = 90000
monster.race = "undead"
monster.corpse = 0
monster.speed = 110
monster.manaCost = 0

monster.changeTarget = {
interval = 2500,
chance = 40
}

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 = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 98,
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 = -1250 },
{ name = "combat", interval = 3700, chance = 37, type = COMBAT_FIREDAMAGE, minDamage = -950, maxDamage = -2000, length = 8, spread = 3, effect = CONST_ME_HITBYFIRE, target = false },
{ name = "combat", interval = 4100, chance = 37, type = COMBAT_PHYSICALDAMAGE, minDamage = -1100, maxDamage = -1600, length = 8, spread = 0, effect = CONST_ME_EXPLOSIONHIT, target = false },
}

monster.defenses = {
defense = 65,
armor = 0,
mitigation = 2.0,
{ name = "combat", interval = 3000, chance = 35, type = COMBAT_HEALING, minDamage = 400, maxDamage = 500, effect = CONST_ME_MAGIC_BLUE, target = false },
{ name = "speed", interval = 2000, chance = 15, speedChange = 320, effect = CONST_ME_MAGIC_RED, target = false, duration = 5000 }
}

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.onThink = function(monster, interval)
end

mType.onAppear = function(monster, creature)
if monster:getType():isRewardBoss() then
monster:setReward(true)
end
end

mType.onDisappear = function(monster, creature)
end

mType.onMove = function(monster, creature, fromPosition, toPosition)
end

mType.onSay = function(monster, creature, type, message)
end

mType:register(monster)
Loading

0 comments on commit 93c43f4

Please sign in to comment.