Skip to content

Commit

Permalink
migration monsters
Browse files Browse the repository at this point in the history
  • Loading branch information
vllworldbuilding committed Dec 17, 2024
1 parent 3be37c7 commit def8809
Show file tree
Hide file tree
Showing 674 changed files with 78,826 additions and 559 deletions.
125 changes: 125 additions & 0 deletions data-canary/monster/birds/headpecker.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
local mType = Game.createMonsterType("Headpecker")
local monster = {}

monster.description = "a headpecker"
monster.experience = 12026
monster.outfit = {
lookType = 1557,
lookHead = 85,
lookBody = 1,
lookLegs = 85,
lookFeet = 105,
lookAddons = 3,
lookMount = 0,
}

monster.raceId = 2275
monster.Bestiary = {
class = "Bird",
race = BESTY_RACE_BIRD,
toKill = 5000,
FirstUnlock = 200,
SecondUnlock = 2000,
CharmsPoints = 100,
Stars = 5,
Occurrence = 0,
Locations = "Crystal Enigma",
}

monster.health = 16300
monster.maxHealth = 16300
monster.race = "blood"
monster.corpse = 39319
monster.speed = 217
monster.manaCost = 0

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

monster.strategiesTarget = {
nearest = 100,
}

monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = false,
illusionable = false,
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 = {
{ name = "Crystal Coin", chance = 35160 },
{ name = "Headpecker Beak", chance = 11360 },
{ name = "Headpecker Feather", chance = 7620, minCount = 1, maxCount = 5 },
{ name = "Furry Club", chance = 5560 },
{ id = 3595, chance = 4950, minCount = 1, maxCount = 3 }, -- Carrot
{ name = "Knife", chance = 4260 },
{ name = "Spike Sword", chance = 4040 },
{ name = "War Hammer", chance = 2290 },
{ name = "Titan Axe", chance = 1720 },
{ name = "Blue Gem", chance = 1560 },
{ name = "Wand of Starstorm", chance = 980 },
{ name = "Gold Ingot", chance = 910 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -1000 },
{ name = "combat", interval = 2500, chance = 37, type = COMBAT_EARTHDAMAGE, minDamage = -700, maxDamage = -1100, range = 1, effect = CONST_ME_BLACKSMOKE, target = true },
{ name = "combat", interval = 4200, chance = 35, type = COMBAT_PHYSICALDAMAGE, minDamage = -700, maxDamage = -1050, length = 4, spread = 3, effect = CONST_ME_SLASH, target = false },
{ name = "headpecker explosion", interval = 3500, chance = 35, minDamage = -700, maxDamage = -850 },
}

monster.defenses = {
defense = 100,
armor = 68,
mitigation = 2.05,
}

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

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

mType:register(monster)

RegisterPrimalPackBeast(monster)
120 changes: 120 additions & 0 deletions data-canary/monster/constructs/animated_snowman.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
local mType = Game.createMonsterType("Animated Snowman")
local monster = {}

monster.description = "an animated snowman"
monster.experience = 400
monster.outfit = {
lookType = 1159,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 1751
monster.Bestiary = {
class = "Construct",
race = BESTY_RACE_CONSTRUCT,
toKill = 1000,
FirstUnlock = 50,
SecondUnlock = 500,
CharmsPoints = 25,
Stars = 3,
Occurrence = 2,
Locations = "Percht Island.",
}

monster.health = 450
monster.maxHealth = 450
monster.race = "venom"
monster.corpse = 30335
monster.speed = 115
monster.manaCost = 0

monster.changeTarget = {
interval = 5000,
chance = 8,
}

monster.strategiesTarget = {
nearest = 100,
}

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

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

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

monster.loot = {
{ name = "gold coin", chance = 100000, maxCount = 50 },
{ name = "twig arms", chance = 91770 },
{ name = "shiver arrow", chance = 7310 },
{ name = "ice rapier", chance = 4750 },
{ name = "glacier mask", chance = 4570 },
{ id = 2992, chance = 4000, maxCount = 5 }, -- snowball
{ name = "hailstorm rod", chance = 3470 },
{ name = "glacier mask", chance = 250 },
{ name = "glacier amulet", chance = 3290 },
{ name = "moonlight rod", chance = 1830 },
{ name = "glacier kilt", chance = 1100 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -20 },
{ name = "combat", interval = 2000, chance = 10, type = COMBAT_ENERGYDAMAGE, minDamage = -10, maxDamage = -40, range = 7, radius = 2, shootEffect = CONST_ANI_ENERGY, effect = CONST_ME_ENERGYHIT, target = true },
}

monster.defenses = {
defense = 25,
armor = 25,
mitigation = 0.78,
}

monster.elements = {
{ type = COMBAT_PHYSICALDAMAGE, percent = 0 },
{ type = COMBAT_ENERGYDAMAGE, percent = 0 },
{ type = COMBAT_EARTHDAMAGE, percent = 0 },
{ type = COMBAT_FIREDAMAGE, percent = -20 },
{ type = COMBAT_LIFEDRAIN, percent = 0 },
{ type = COMBAT_MANADRAIN, percent = 0 },
{ type = COMBAT_DROWNDAMAGE, percent = 0 },
{ type = COMBAT_ICEDAMAGE, percent = 20 },
{ 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)
115 changes: 115 additions & 0 deletions data-canary/monster/constructs/biting_book.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
local mType = Game.createMonsterType("Biting Book")
local monster = {}

monster.description = "a biting book"
monster.experience = 9350
monster.outfit = {
lookType = 1066,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 1656
monster.Bestiary = {
class = "Construct",
race = BESTY_RACE_CONSTRUCT,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 4,
Occurrence = 0,
Locations = "Secret Library earth, energy, fire and ice sections. Also two incarcerated in the Issavi prison, reachable from the city Library.",
}

monster.health = 6500
monster.maxHealth = 6500
monster.race = "ink"
monster.corpse = 28609
monster.speed = 240
monster.manaCost = 0

monster.changeTarget = {
interval = 5000,
chance = 8,
}

monster.strategiesTarget = {
nearest = 100,
}

monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = false,
illusionable = false,
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 = {
{ id = 3116, chance = 500, maxCount = 2 }, -- big bone
{ name = "book page", chance = 500, maxCount = 4 },
{ name = "glowing rune", chance = 500, maxCount = 2 },
{ name = "platinum coin", chance = 10000, maxCount = 5 },
{ name = "silken bookmark", chance = 500, maxCount = 3 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -1055 },
{ name = "combat", interval = 1000, chance = 12, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -1210, radius = 5, effect = CONST_ME_SMOKE, target = false },
{ name = "combat", interval = 1000, chance = 14, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -1210, radius = 3, effect = CONST_ME_BATS, target = false },
}

monster.defenses = {
defense = 40,
armor = 76,
mitigation = 1.88,
}

monster.elements = {
{ type = COMBAT_PHYSICALDAMAGE, percent = 50 },
{ 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)
Loading

0 comments on commit def8809

Please sign in to comment.