plant creatures

This commit is contained in:
flo 2023-06-03 13:59:52 +00:00 committed by Samuel Keiffer
parent f7688462a1
commit 16d58c6b4e
126 changed files with 1829 additions and 52 deletions

View File

@ -180,6 +180,16 @@
secondary: Simple(None, "common.abilities.custom.husk_brute.chargedmelee"),
abilities: [],
),
Custom("Bushly"): (
primary: Simple(None, "common.abilities.custom.bushly.singlestrike"),
secondary: Simple(None, "common.abilities.custom.bushly.dash"),
abilities: [],
),
Custom("Irrwurz"): (
primary: Simple(None, "common.abilities.custom.irrwurz.singlestrike"),
secondary: Simple(None, "common.abilities.custom.irrwurz.magicball"),
abilities: [],
),
Tool(Spear): (
primary: Simple(None, "common.abilities.spear.doublestrike"),
secondary: Simple(None, "common.abilities.spear.dash"),
@ -424,6 +434,21 @@
secondary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
abilities: [],
),
Custom("Driggle"): (
primary: Simple(None, "common.abilities.custom.driggle.bite"),
secondary: Simple(None, "common.abilities.custom.driggle.flamethrower"),
abilities: [],
),
Custom("Mossy Snail"): (
primary: Simple(None, "common.abilities.custom.mossy_snail.headbutt"),
secondary: Simple(None, "common.abilities.custom.mossy_snail.hastened"),
abilities: [],
),
Custom("Treant Sapling"): (
primary: Simple(None, "common.abilities.custom.treant_sapling.shockwave"),
secondary: Simple(None, "common.abilities.custom.treant_sapling.shockwave"),
abilities: [],
),
Custom("Theropod Basic"): (
primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
secondary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
@ -464,6 +489,11 @@
Simple(None, "common.abilities.custom.arthropods.hornbeetle.leap"),
],
),
Custom("Emberfly"): (
primary: Simple(None, "common.abilities.custom.emberfly.leap"),
secondary: Simple(None, "common.abilities.custom.emberfly.leap"),
abilities: [],
),
Custom("Tarantula"): (
primary: Simple(None, "common.abilities.custom.arthropods.tarantula.singlestrike"),
secondary: Simple(None, "common.abilities.custom.arthropods.tarantula.ensnaringwebs"),

View File

@ -0,0 +1,27 @@
DashMelee(
energy_cost: 0,
melee_constructor: (
kind: Bash(
damage: 3.0,
poise: 10.0,
knockback: 4.0,
energy_regen: 0.0,
),
scaled: Some(Bash(
damage: 6.0,
poise: 20.0,
knockback: 6.0,
energy_regen: 0.0,
)),
range: 4,
angle: 45.0,
),
energy_drain: 0,
forward_speed: 8,
buildup_duration: 1.0,
charge_duration: 2.0,
swing_duration: 0.1,
recover_duration: 2.0,
ori_modifier: 0.1,
charge_through: true,
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 1,
poise: 0,
knockback: 0,
energy_regen: 0,
),
range: 2.5,
angle: 150.0,
),
buildup_duration: 0.6,
swing_duration: 0.5,
hit_timing: 0.5,
recover_duration: 0.8,
movement: (
swing: None,
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 4.0,
poise: 5,
knockback: 3.0,
energy_regen: 0,
),
range: 2.5,
angle: 40.0,
),
buildup_duration: 0.3,
swing_duration: 0.2,
hit_timing: 0.4,
recover_duration: 0.3,
movement: (
swing: Some(Forward(0.5)),
),
ori_modifier: 0.6,
),
],
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -0,0 +1,19 @@
BasicBeam(
buildup_duration: 0.8,
recover_duration: 0.5,
beam_duration: 0.5,
damage: 0.5,
tick_rate: 3.0,
range: 6.0,
max_angle: 25.0,
damage_effect: Some(Buff((
kind: Burning,
dur_secs: 4.0,
strength: DamageFraction(0.1),
chance: 0.25,
))),
energy_regen: 0,
energy_drain: 0,
ori_rate: 0.3,
specifier: Flamethrower,
)

View File

@ -0,0 +1,20 @@
LeapMelee(
energy_cost: 0,
buildup_duration: 0.4,
movement_duration: 0.4,
swing_duration: 0.05,
recover_duration: 0.4,
melee_constructor: (
kind: Bash(
damage: 6.0,
poise: 20.0,
knockback: 5.0,
energy_regen: 0.0,
),
range: 4.0,
angle: 180.0,
multi_target: Some(Normal),
),
forward_leap_strength: 40.0,
vertical_leap_strength: 8.0,
)

View File

@ -0,0 +1,16 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 1.5,
recover_duration: 1.0,
projectile: Magicball(
damage: 8.0,
radius: 3.0,
energy_regen: 0,
min_falloff: 0.5,
),
projectile_body: Object(FireworkGreen),
projectile_speed: 25.0,
num_projectiles: 1,
projectile_spread: 0.0,
move_efficiency: 0.3,
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 4.0,
poise: 5,
knockback: 3.0,
energy_regen: 0,
),
range: 2.5,
angle: 40.0,
),
buildup_duration: 1.5,
swing_duration: 0.4,
hit_timing: 0.4,
recover_duration: 1.0,
movement: (
swing: Some(Forward(0.5)),
),
ori_modifier: 0.7,
),
],
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -0,0 +1,9 @@
SelfBuff(
buildup_duration: 0.1,
cast_duration: 0.1,
recover_duration: 0.4,
buff_kind: Hastened,
buff_strength: 0.8,
buff_duration: Some(6.0),
energy_cost: 0,
)

View File

@ -0,0 +1,26 @@
ComboMelee2(
strikes: [
(
melee_constructor: (
kind: Bash(
damage: 3.0,
poise: 5,
knockback: 1.0,
energy_regen: 0,
),
range: 5.0,
angle: 60.0,
),
buildup_duration: 0.6,
swing_duration: 0.4,
hit_timing: 0.5,
recover_duration: 0.8,
movement: (
swing: Some(Forward(0.5)),
),
ori_modifier: 0.7,
),
],
energy_cost_per_strike: 0,
auto_progress: true,
)

View File

@ -0,0 +1,18 @@
Shockwave(
energy_cost: 0.0,
buildup_duration: 4.0,
swing_duration: 0.1,
recover_duration: 0.1,
damage: 15.0,
poise_damage: 0,
knockback: ( strength: 5.0, direction: Away),
shockwave_angle: 360.0,
shockwave_vertical_angle: 90.0,
shockwave_speed: 20.0,
shockwave_duration: 0.5,
requires_ground: true,
move_efficiency: 0.1,
damage_kind: Crushing,
specifier: Ground,
ori_rate: 1.0,
)

View File

@ -0,0 +1,12 @@
#![enable(implicit_some)]
(
name: Name("Bushly"),
body: RandomWith("bushly"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.biped_small.bushly"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.world.bushly.bushly"),
)), ),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Driggle"),
body: RandomWith("driggle"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.quad_low.driggle"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Emberfly"),
body: RandomWith("emberfly"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.arthropod.emberfly"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,12 @@
#![enable(implicit_some)]
(
name: Name("Irrwurz"),
body: RandomWith("irrwurz"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.biped_small.irrwurz"),
inventory: (
loadout: Inline((
inherit: Asset("common.loadout.world.irrwurz.irrwurz"),
)), ),
meta: [],
)

View File

@ -3,7 +3,7 @@
name: Automatic,
body: RandomWith("lavadrake"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.quad_low.carapace"),
loot: LootTable("common.loot_tables.creature.quad_low.lavadrake"),
inventory: (
loadout: FromBody,
),

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("Mossy Snail"),
body: RandomWith("mossy_snail"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.quad_small.mossy_snail"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -0,0 +1,11 @@
#![enable(implicit_some)]
(
name: Name("TreantSapling"),
body: RandomWith("treant_sapling"),
alignment: Alignment(Enemy),
loot: LootTable("common.loot_tables.creature.quad_small.treant_sapling"),
inventory: (
loadout: FromBody,
),
meta: [],
)

View File

@ -3,7 +3,7 @@
name: Automatic,
body: RandomWith("crawler_molten"),
alignment: Alignment(Wild),
loot: LootTable("common.loot_tables.creature.arthropod.ooze"),
loot: LootTable("common.loot_tables.creature.arthropod.crawler_molten"),
inventory: (
loadout: FromBody,
),

View File

@ -0,0 +1,10 @@
ItemDef(
name: "Living Embers",
description: "Forest creatures often carry them.",
kind: Ingredient(
// Descriptor not needed
descriptor: "",
),
quality: Common,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Bushly",
description: "Plant Creature",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(4.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Bushly",
description: "Plant Creature",
kind: Armor((
kind: Foot,
stats: Direct((
protection: Some(Normal(1.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Mandragora",
description: "Ceremonial attire used by members.",
kind: Armor((
kind: Hand,
stats: Direct((
protection: Some(Normal(1.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Bushly",
description: "Plant Creature",
kind: Armor((
kind: Pants,
stats: Direct((
protection: Some(Normal(2.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Irrwurz",
description: "Plant Creature",
kind: Armor((
kind: Chest,
stats: Direct((
protection: Some(Normal(4.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Irrwurz",
description: "Plant Creature",
kind: Armor((
kind: Foot,
stats: Direct((
protection: Some(Normal(1.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Irrwurz",
description: "Ceremonial attire used by members.",
kind: Armor((
kind: Hand,
stats: Direct((
protection: Some(Normal(1.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,16 @@
ItemDef(
name: "Irrwurz",
description: "Plant Creature",
kind: Armor((
kind: Pants,
stats: Direct((
protection: Some(Normal(2.0)),
poise_resilience: Some(Normal(4.0)),
energy_max: Some(3.4),
energy_reward: Some(0.81),
crit_power: Some(0.075),
)),
)),
quality: Low,
tags: [],
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Starter Grace",
description: "Fret not, newbies shant cry.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Bushly")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Starter Grace",
description: "Fret not, newbies shant cry.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Driggle")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Starter Grace",
description: "Fret not, newbies shant cry.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Emberfly")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Starter Grace",
description: "Fret not, newbies shant cry.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Irrwurz")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Starter Grace",
description: "Fret not, newbies shant cry.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Mossy Snail")),
)

View File

@ -0,0 +1,21 @@
ItemDef(
name: "Starter Grace",
description: "Fret not, newbies shant cry.",
kind: Tool((
kind: Natural,
hands: Two,
stats: (
equip_time_secs: 0.01,
power: 1.0,
effect_power: 1.0,
speed: 1.0,
crit_chance: 0.0625,
range: 1.0,
energy_efficiency: 1.0,
buff_strength: 1.0,
),
)),
quality: Low,
tags: [],
ability_spec: Some(Custom("Treant Sapling")),
)

View File

@ -0,0 +1,8 @@
#![enable(implicit_some)]
(
chest: Item("common.items.npc_armor.biped_small.bushly.chest.bushly"),
gloves: Item("common.items.npc_armor.biped_small.bushly.hand.bushly"),
legs: Item("common.items.npc_armor.biped_small.bushly.pants.bushly"),
feet: Item("common.items.npc_armor.biped_small.bushly.foot.bushly"),
active_hands: InHands((Item("common.items.npc_weapons.unique.bushly"), None)),
)

View File

@ -0,0 +1,8 @@
#![enable(implicit_some)]
(
chest: Item("common.items.npc_armor.biped_small.irrwurz.chest.irrwurz"),
gloves: Item("common.items.npc_armor.biped_small.irrwurz.hand.irrwurz"),
legs: Item("common.items.npc_armor.biped_small.irrwurz.pants.irrwurz"),
feet: Item("common.items.npc_armor.biped_small.irrwurz.foot.irrwurz"),
active_hands: InHands((Item("common.items.npc_weapons.unique.irrwurz"), None)),
)

View File

@ -0,0 +1,6 @@
[
(1.0, MultiDrop(Item("common.items.crafting_ing.sticky_thread"), 1, 3)),
(0.5, MultiDrop(Item("common.items.crafting_ing.animal_misc.viscous_ooze"), 1, 1)),
(1.0, Item("common.items.crafting_ing.living_embers")),
]

View File

@ -0,0 +1,4 @@
[
(1.0, Item("common.items.crafting_ing.living_embers")),
(1.0, Item("common.items.crafting_ing.animal_misc.viscous_ooze")),
]

View File

@ -0,0 +1,3 @@
[
(1.0, Item("common.items.flowers.plant_fiber")),
]

View File

@ -0,0 +1,3 @@
[
(1.0, MultiDrop(Item("common.items.flowers.plant_fiber"), 2, 4)),
]

View File

@ -0,0 +1,4 @@
[
(1.0, Item("common.items.crafting_ing.living_embers")),
(1.0, Item("common.items.crafting_ing.hide.animal_hide")),
]

View File

@ -0,0 +1,5 @@
[
(1.0, Item("common.items.food.meat.tough_raw")),
(3.0, Item("common.items.crafting_ing.hide.carapace")),
(1.0, MultiDrop(Item("common.items.crafting_ing.living_embers"), 2, 4)),
]

View File

@ -1,4 +1,5 @@
[
(1.0, Item("common.items.crafting_ing.hide.tough_hide")),
(1.0, Item("common.items.food.meat.tough_raw")),
(1.0, Item("common.items.crafting_ing.living_embers")),
]

View File

@ -0,0 +1,4 @@
[
(1.0, Item("common.items.flowers.plant_fiber")),
(1.0, Item("common.items.crafting_ing.animal_misc.viscous_ooze")),
]

View File

@ -0,0 +1,5 @@
[
(2.0, Item("common.items.log.wood")),
(2.0, Item("common.items.flowers.plant_fiber")),
(1.0, Item("common.items.crafting_ing.resin")),
]

View File

@ -789,6 +789,14 @@
seal: (
keyword: "seal",
generic: "Seal"
),
treant_sapling: (
keyword: "treant_sapling",
generic: "Treant Sapling"
),
mossy_snail: (
keyword: "mossy_snail",
generic: "Mossy Snail"
)
)
),
@ -1149,6 +1157,14 @@
keyword: "boreal",
generic: "Boreal",
),
bushly: (
keyword: "bushly",
generic: "Bushly",
),
irrwurz: (
keyword: "irrwurz",
generic: "Irrwurz",
),
)
),
fish_small: (
@ -1321,6 +1337,10 @@
keyword: "mossdrake",
generic: "Moss Drake"
),
driggle: (
keyword: "driggle",
generic: "Driggle"
),
)
),
arthropod: (
@ -1379,6 +1399,10 @@
keyword: "dagonite",
generic: "Dagonite"
),
emberfly: (
keyword: "emberfly",
generic: "Emberfly"
),
)
),
)

View File

@ -61,6 +61,7 @@
output: ("common.items.utility.collar", 1),
inputs: [
(Item("common.items.crafting_ing.leather.leather_strips"), 5, false),
(Item("common.items.mineral.ingot.iron"), 1, false),
(Item("common.items.mineral.gem.ruby"), 1, false),
],
craft_sprite: None,
@ -71,6 +72,7 @@
(Item("common.items.crafting_ing.stones"), 10, false),
(Item("common.items.food.coconut"), 2, false),
(Item("common.items.mineral.ore.veloritefrag"), 2, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
craft_sprite: Some(CraftingBench),
@ -81,6 +83,7 @@
(Item("common.items.crafting_ing.twigs"), 1, false),
(Item("common.items.crafting_ing.stones"), 1, false),
(Item("common.items.food.coconut"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
@ -92,6 +95,7 @@
(Item("common.items.crafting_ing.twigs"), 1, false),
(Item("common.items.crafting_ing.stones"), 1, false),
(Item("common.items.food.coconut"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
@ -103,6 +107,7 @@
(Item("common.items.crafting_ing.twigs"), 1, false),
(Item("common.items.crafting_ing.stones"), 1, false),
(Item("common.items.food.coconut"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
@ -114,6 +119,7 @@
(Item("common.items.crafting_ing.twigs"), 1, false),
(Item("common.items.crafting_ing.stones"), 1, false),
(Item("common.items.food.coconut"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
@ -125,6 +131,7 @@
(Item("common.items.crafting_ing.twigs"), 1, false),
(Item("common.items.crafting_ing.stones"), 1, false),
(Item("common.items.food.coconut"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
@ -136,6 +143,7 @@
(Item("common.items.crafting_ing.twigs"), 1, false),
(Item("common.items.crafting_ing.stones"), 1, false),
(Item("common.items.food.coconut"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 1, false),
(Item("common.items.crafting_tools.mortar_pestle"), 0, false),
],
@ -1975,7 +1983,7 @@
output: ("common.items.lantern.black_0", 1),
inputs: [
(Item("common.items.mineral.ingot.tin"), 5, false),
(Item("common.items.mineral.ore.veloritefrag"), 3, false),
(Item("common.items.crafting_ing.living_embers"), 2, false),
],
craft_sprite: Some(Anvil),
),
@ -2106,7 +2114,7 @@
"light_pyrocore": (
output: ("common.items.modular.weapon.secondary.staff.light", 1),
inputs: [
(Item("common.items.mineral.gem.ruby"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 3, false),
],
craft_sprite: Some(Cauldron),
@ -2115,7 +2123,7 @@
"medium_pyrocore": (
output: ("common.items.modular.weapon.secondary.staff.medium", 1),
inputs: [
(Item("common.items.mineral.gem.ruby"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 3, false),
],
craft_sprite: Some(Cauldron),
@ -2124,7 +2132,7 @@
"heavy_pyrocore": (
output: ("common.items.modular.weapon.secondary.staff.heavy", 1),
inputs: [
(Item("common.items.mineral.gem.ruby"), 1, false),
(Item("common.items.crafting_ing.living_embers"), 1, false),
(Item("common.items.mineral.ore.veloritefrag"), 3, false),
],
craft_sprite: Some(Cauldron),

View File

@ -3554,6 +3554,10 @@
"voxel.sprite.crafting_ing.sticky_thread",
(0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9,
),
Simple("common.items.crafting_ing.living_embers"): VoxTrans(
"voxel.sprite.crafting_ing.living_embers",
(0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9,
),
Simple("common.items.crafting_ing.resin"): VoxTrans(
"voxel.sprite.crafting_ing.resin",
(0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9,

View File

@ -239,4 +239,24 @@
central: ("npc.dagonite.male.chest"),
),
),
(Emberfly, Male): (
head: (
offset: (-3.5, 5.5, -3.0),
central: ("npc.emberfly.male.head"),
),
chest: (
offset: (-2.5, -5.0, -3.5),
central: ("npc.emberfly.male.chest"),
),
),
(Emberfly, Female): (
head: (
offset: (-3.5, 5.5, -3.0),
central: ("npc.emberfly.male.head"),
),
chest: (
offset: (-2.5, -5.0, -3.5),
central: ("npc.emberfly.male.chest"),
),
),
})

View File

@ -1391,4 +1391,120 @@
lateral: ("armor.empty"),
),
),
(Emberfly, Male): (
mandible_l: (
offset: (-1.0, 0.0, -4.0),
lateral: ("armor.empty"),
),
mandible_r: (
offset: (-1.0, 0.0, -4.0),
lateral: ("armor.empty"),
),
wing_fl: (
offset: (-0.0, -12.0, -0.5),
lateral: ("npc.emberfly.male.wing_fr"),
),
wing_fr: (
offset: (-5.0, -12.0, -0.5),
lateral: ("npc.emberfly.male.wing_fr"),
),
wing_bl: (
offset: (-0.0, -12.0, -0.5),
lateral: ("armor.empty"),
),
wing_br: (
offset: (-4.0, -12.0, -0.5),
lateral: ("armor.empty"),
),
leg_fl: (
offset: (-7.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fr"),
),
leg_fr: (
offset: (0.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fr"),
),
leg_fcl: (
offset: (-7.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fcr"),
),
leg_fcr: (
offset: (0.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fcr"),
),
leg_bcl: (
offset: (-7.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_bcr"),
),
leg_bcr: (
offset: (0.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_bcr"),
),
leg_bl: (
offset: (-12.0, -1.5, -4.5),
lateral: ("armor.empty"),
),
leg_br: (
offset: (0.0, -1.5, -4.5),
lateral: ("armor.empty"),
),
),
(Emberfly, Female): (
mandible_l: (
offset: (-1.0, 0.0, -4.0),
lateral: ("armor.empty"),
),
mandible_r: (
offset: (-1.0, 0.0, -4.0),
lateral: ("armor.empty"),
),
wing_fl: (
offset: (-0.0, -12.0, -0.5),
lateral: ("npc.emberfly.male.wing_fr"),
),
wing_fr: (
offset: (-5.0, -12.0, -0.5),
lateral: ("npc.emberfly.male.wing_fr"),
),
wing_bl: (
offset: (-0.0, -12.0, -0.5),
lateral: ("armor.empty"),
),
wing_br: (
offset: (-4.0, -12.0, -0.5),
lateral: ("armor.empty"),
),
leg_fl: (
offset: (-7.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fr"),
),
leg_fr: (
offset: (0.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fr"),
),
leg_fcl: (
offset: (-7.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fcr"),
),
leg_fcr: (
offset: (0.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_fcr"),
),
leg_bcl: (
offset: (-7.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_bcr"),
),
leg_bcr: (
offset: (0.0, -0.5, -3.0),
lateral: ("npc.emberfly.male.leg_bcr"),
),
leg_bl: (
offset: (-12.0, -1.5, -4.5),
lateral: ("armor.empty"),
),
leg_br: (
offset: (0.0, -1.5, -4.5),
lateral: ("armor.empty"),
),
),
})

View File

@ -78,5 +78,11 @@
"common.items.npc_armor.biped_small.boreal.chest.warrior": (
vox_spec: ("npc.boreal.warrior.chest", (-9.0, -6.0, -8.5)),
),
"common.items.npc_armor.biped_small.bushly.chest.bushly": (
vox_spec: ("npc.bushly.male.chest", (-7.0, -7.0, 0.0)),
),
"common.items.npc_armor.biped_small.irrwurz.chest.irrwurz": (
vox_spec: ("npc.irrwurz.male.chest", (-7.5, -7.5, 0.0)),
),
},
))

View File

@ -208,5 +208,21 @@
vox_spec: ("npc.boreal.warrior.foot_r", (-2.5, -3.5, -9.0)),
)
),
"common.items.npc_armor.biped_small.bushly.foot.bushly": (
left: (
vox_spec: ("npc.bushly.male.foot_r", (-1.5, -2.0, -7.0)),
),
right: (
vox_spec: ("npc.bushly.male.foot_r", (-1.5, -2.0, -7.0)),
)
),
"common.items.npc_armor.biped_small.irrwurz.foot.irrwurz": (
left: (
vox_spec: ("npc.irrwurz.male.foot_r", (-1.5, -2.5, -6.0)),
),
right: (
vox_spec: ("npc.irrwurz.male.foot_r", (-1.5, -2.5, -6.0)),
)
),
},
))

View File

@ -208,5 +208,21 @@
vox_spec: ("npc.boreal.warrior.hand_r", (0.0, -2.5, -10.0)),
)
),
"common.items.npc_armor.biped_small.bushly.hand.bushly": (
left: (
vox_spec: ("npc.bushly.male.hand_r", (-4.0, -3.0, -8.0)),
),
right: (
vox_spec: ("npc.bushly.male.hand_r", (0.0, -3.0, -8.0)),
)
),
"common.items.npc_armor.biped_small.irrwurz.hand.irrwurz": (
left: (
vox_spec: ("npc.irrwurz.male.hand_r", (-6.0, -3.5, -7.0)),
),
right: (
vox_spec: ("npc.irrwurz.male.hand_r", (0.0, -3.5, -7.0)),
)
),
}
))

View File

@ -78,5 +78,11 @@
"common.items.npc_armor.biped_small.boreal.pants.warrior": (
vox_spec: ("npc.boreal.warrior.pants", (-7.0, -5.0, -3.5)),
),
"common.items.npc_armor.biped_small.bushly.pants.bushly": (
vox_spec: ("npc.bushly.male.pants", (-3.0, -2.0, -1.0)),
),
"common.items.npc_armor.biped_small.irrwurz.pants.irrwurz": (
vox_spec: ("npc.irrwurz.male.pants", (-3.5, -4.0, -3.5)),
),
},
))

View File

@ -1581,6 +1581,14 @@
vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)),
color: None
),
Tool("common.items.npc_weapons.unique.bushly"): (
vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)),
color: None
),
Tool("common.items.npc_weapons.unique.irrwurz"): (
vox_spec: ("armor.empty", (-3.0, -3.5, 1.0)),
color: None
),
Tool("common.items.npc_weapons.unique.cardinal"): (
vox_spec: ("weapon.sceptre.caduceus", (-2.5, -4.5, -6.0)),
color: None

View File

@ -902,6 +902,7 @@
Simple("common.items.crafting_ing.cloth.sunsilk"): "voxel.sprite.crafting_ing.cloth.sunsilk",
Simple("common.items.crafting_ing.cloth.linen_red"): "voxel.sprite.crafting_ing.cloth.linen_red",
Simple("common.items.crafting_ing.sticky_thread"): "voxel.sprite.crafting_ing.sticky_thread",
Simple("common.items.crafting_ing.living_embers"): "voxel.sprite.crafting_ing.living_embers",
Simple("common.items.crafting_ing.resin"): "voxel.sprite.crafting_ing.resin",
Simple("common.items.crafting_ing.glacial_crystal"): "voxel.object.glacial_crystal",
Simple("common.items.mineral.ingot.silver"): "voxel.sprite.mineral.ingot.silver",

BIN
assets/voxygen/voxel/npc/bushly/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/bushly/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/bushly/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/bushly/male/pants.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/foot_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/foot_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/head_lower.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/head_upper.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/jaw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/tail_front.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/driggle/male/tail_rear.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/emberfly/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/emberfly/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/emberfly/male/leg_bcr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/emberfly/male/leg_fcr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/emberfly/male/leg_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/emberfly/male/wing_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/irrwurz/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/irrwurz/male/foot_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/irrwurz/male/hand_r.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/irrwurz/male/pants.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/mossy_snail/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/mossy_snail/male/head.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/treant_sapling/male/chest.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/treant_sapling/male/foot_br.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/npc/treant_sapling/male/foot_fr.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1092,4 +1092,56 @@
central: ("npc.mossdrake.male.tail_front"),
),
),
(Driggle, Male): (
upper: (
offset: (-9.5, -5.0, -5.5),
central: ("npc.driggle.male.head_upper"),
),
lower: (
offset: (-4.5, -1.0, -4.0),
central: ("npc.driggle.male.head_lower"),
),
jaw: (
offset: (-4.5, 0.0, -3.0),
central: ("npc.driggle.male.jaw"),
),
chest: (
offset: (-5.5, -6.5, -8.0),
central: ("npc.driggle.male.chest"),
),
tail_rear: (
offset: (-2.5, -3.5, -3.5),
central: ("npc.driggle.male.tail_rear"),
),
tail_front: (
offset: (-2.5, -1.5, -4.0),
central: ("npc.driggle.male.tail_front"),
),
),
(Driggle, Female): (
upper: (
offset: (-9.5, -5.0, -5.5),
central: ("npc.driggle.male.head_upper"),
),
lower: (
offset: (-4.5, -1.0, -4.0),
central: ("npc.driggle.male.head_lower"),
),
jaw: (
offset: (-4.5, 0.0, -3.0),
central: ("npc.driggle.male.jaw"),
),
chest: (
offset: (-5.5, -6.5, -8.0),
central: ("npc.driggle.male.chest"),
),
tail_rear: (
offset: (-2.5, -3.5, -3.5),
central: ("npc.driggle.male.tail_rear"),
),
tail_front: (
offset: (-2.5, -1.5, -4.0),
central: ("npc.driggle.male.tail_front"),
),
),
})

View File

@ -755,4 +755,40 @@
lateral: ("npc.mossdrake.male.foot_br", false),
),
),
(Driggle, Male): (
front_left: (
offset: (-6.0, 0.0, -4.0),
lateral: ("npc.driggle.male.foot_fr", false),
),
front_right: (
offset: (0.0, 0.0, -4.0),
lateral: ("npc.driggle.male.foot_fr", false),
),
back_left: (
offset: (-6.0, 0.0, -3.0),
lateral: ("npc.driggle.male.foot_br", false),
),
back_right: (
offset: (0.0, 0.0, -3.0),
lateral: ("npc.driggle.male.foot_br", false),
),
),
(Driggle, Female): (
front_left: (
offset: (-6.0, 0.0, -4.0),
lateral: ("npc.driggle.male.foot_fr", false),
),
front_right: (
offset: (0.0, 0.0, -4.0),
lateral: ("npc.driggle.male.foot_fr", false),
),
back_left: (
offset: (-6.0, 0.0, -3.0),
lateral: ("npc.driggle.male.foot_br", false),
),
back_right: (
offset: (0.0, 0.0, -3.0),
lateral: ("npc.driggle.male.foot_br", false),
),
),
})

View File

@ -755,4 +755,60 @@
central: ("armor.empty"),
),
),
(TreantSapling, Male):(
head: (
offset: (-2.5, 0.0, -1.5),
central: ("armor.empty"),
),
chest: (
offset: (-8.5, -6.0, -11.5),
central: ("npc.treant_sapling.male.chest"),
),
tail: (
offset: (-1.5, -6.0, -1.0),
central: ("armor.empty"),
),
),
(TreantSapling, Female):(
head: (
offset: (-2.5, 0.0, -1.5),
central: ("armor.empty"),
),
chest: (
offset: (-8.5, -6.0, -11.5),
central: ("npc.treant_sapling.male.chest"),
),
tail: (
offset: (-1.5, -6.0, -1.0),
central: ("armor.empty"),
),
),
(MossySnail, Male):(
head: (
offset: (-3.0, 0.0, -7.0),
central: ("npc.mossy_snail.male.head"),
),
chest: (
offset: (-5.0, -6.5, -4.5),
central: ("npc.mossy_snail.male.chest"),
),
tail: (
offset: (-1.5, -6.0, -1.0),
central: ("armor.empty"),
),
),
(MossySnail, Female):(
head: (
offset: (-3.0, 0.0, -7.0),
central: ("npc.mossy_snail.male.head"),
),
chest: (
offset: (-5.0, -6.5, -4.5),
central: ("npc.mossy_snail.male.chest"),
),
tail: (
offset: (-1.5, -6.0, -1.0),
central: ("armor.empty"),
),
),
})

View File

@ -973,4 +973,76 @@
lateral: ("npc.seal.male.foot_br"),
),
),
(TreantSapling, Male): (
left_front: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_fr"),
),
right_front: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_fr"),
),
left_back: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_br"),
),
right_back: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_br"),
),
),
(TreantSapling, Female): (
left_front: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_fr"),
),
right_front: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_fr"),
),
left_back: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_br"),
),
right_back: (
offset: (-2.0, -2.0, -3.0),
lateral: ("npc.treant_sapling.male.foot_br"),
),
),
(MossySnail, Male): (
left_front: (
offset: (-2.5, -2.5, -4.0),
lateral: ("armor.empty"),
),
right_front: (
offset: (-2.5, -2.5, -4.0),
lateral: ("armor.empty"),
),
left_back: (
offset: (-2.5, -3.5, -4.0),
lateral: ("armor.empty"),
),
right_back: (
offset: (-2.5, -3.5, -4.0),
lateral: ("armor.empty"),
),
),
(MossySnail, Female): (
left_front: (
offset: (-2.5, -2.5, -4.0),
lateral: ("armor.empty"),
),
right_front: (
offset: (-2.5, -2.5, -4.0),
lateral: ("armor.empty"),
),
left_back: (
offset: (-2.5, -3.5, -4.0),
lateral: ("armor.empty"),
),
right_back: (
offset: (-2.5, -3.5, -4.0),
lateral: ("armor.empty"),
),
),
})

BIN
assets/voxygen/voxel/sprite/crafting_ing/living_embers.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -8,7 +8,16 @@ SpawnEntry (
(1, (1, 1, "common.entity.wild.aggressive.dreadhorn")),
],
spawn_mode: Land,
day_period: [Night, Morning, Noon, Evening],
day_period: [Morning, Noon, Evening],
),
Pack(
groups: [
(1, (1, 1, "common.entity.wild.aggressive.wendigo")),
(1, (1, 1, "common.entity.wild.aggressive.dreadhorn")),
(1, (1, 1, "common.entity.wild.aggressive.irrwurz")),
],
spawn_mode: Land,
day_period: [Night],
),
],
)

View File

@ -7,7 +7,14 @@ SpawnEntry (
(1, (3, 7, "common.entity.wild.aggressive.wolf")),
],
spawn_mode: Land,
day_period: [Night, Morning, Noon, Evening],
day_period: [Morning, Noon, Evening],
),
Pack(
groups: [
(1, (1, 1, "common.entity.wild.aggressive.irrwurz")),
],
spawn_mode: Land,
day_period: [Night],
),
],
)

View File

@ -33,6 +33,9 @@ SpawnEntry (
(2, (1, 1, "common.entity.wild.peaceful.truffler")),
(2, (1, 1, "common.entity.wild.peaceful.leaf_beetle")),
(2, (1, 1, "common.entity.wild.aggressive.weevil")),
(2, (1, 1, "common.entity.wild.aggressive.bushly")),
(2, (1, 1, "common.entity.wild.aggressive.mossy_snail")),
(2, (1, 1, "common.entity.wild.aggressive.treant_sapling")),
],
spawn_mode: Land,
day_period: [Morning, Noon, Evening],
@ -47,6 +50,7 @@ SpawnEntry (
(5, (1, 3, "common.entity.wild.peaceful.rat")),
(5, (1, 3, "common.entity.wild.peaceful.squirrel")),
(3, (1, 3, "common.entity.wild.aggressive.bat")),
(5, (1, 3, "common.entity.wild.aggressive.emberfly")),
],
spawn_mode: Land,
day_period: [Night],

View File

@ -7,9 +7,23 @@ SpawnEntry (
(1, (1, 1, "common.entity.wild.aggressive.ogre")),
(1, (1, 1, "common.entity.wild.aggressive.swamp_troll")),
(1, (1, 1, "common.entity.wild.aggressive.dullahan")),
(2, (1, 1, "common.entity.wild.aggressive.bushly")),
(2, (1, 1, "common.entity.wild.aggressive.driggle")),
],
spawn_mode: Land,
day_period: [Night, Morning, Noon, Evening],
day_period: [Morning, Noon, Evening],
),
Pack(
groups: [
// Solitary
(1, (1, 1, "common.entity.wild.aggressive.ogre")),
(1, (1, 1, "common.entity.wild.aggressive.swamp_troll")),
(1, (1, 1, "common.entity.wild.aggressive.dullahan")),
// Pack
(1, (1, 3, "common.entity.wild.aggressive.emberfly")),
],
spawn_mode: Land,
day_period: [Night],
),
],
)

View File

@ -11,6 +11,9 @@ SpawnEntry (
(1, (1, 1, "common.entity.wild.aggressive.saber")),
(1, (1, 1, "common.entity.wild.aggressive.weevil")),
(1, (1, 1, "common.entity.wild.peaceful.leaf_beetle")),
(1, (1, 1, "common.entity.wild.aggressive.bushly")),
(1, (1, 1, "common.entity.wild.aggressive.mossy_snail")),
(1, (1, 1, "common.entity.wild.aggressive.treant_sapling")),
],
spawn_mode: Land,
day_period: [Night, Morning, Noon, Evening],

View File

@ -365,6 +365,7 @@ impl<'a> From<&'a Body> for Psyche {
arthropod::Species::Mosscrawler => 0.2,
arthropod::Species::Sandcrawler => 0.2,
arthropod::Species::Dagonite => 0.2,
arthropod::Species::Emberfly => 0.1,
},
},
sight_dist: 40.0,

View File

@ -353,6 +353,7 @@ impl Body {
quadruped_low::Species::Hakulaq => 400.0,
quadruped_low::Species::Dagon => 600.0,
quadruped_low::Species::Basilisk => 800.0,
quadruped_low::Species::Driggle => 55.0,
},
Body::QuadrupedMedium(body) => match body.species {
quadruped_medium::Species::Bear => 500.0, // ~✅ (350-700 kg)
@ -399,6 +400,8 @@ impl Body {
quadruped_small::Species::Truffler => 70.0,
quadruped_small::Species::Turtle => 40.0,
quadruped_small::Species::Seal => 15.0,
quadruped_small::Species::TreantSapling => 80.0,
quadruped_small::Species::MossySnail => 5.0,
},
Body::Theropod(body) => match body.species {
// for reference, elephants are in the range of 2.6-6.9 tons
@ -452,7 +455,8 @@ impl Body {
biped_small::Species::Myrmidon => Vec3::new(1.3, 1.0, 2.2),
biped_small::Species::Husk => Vec3::new(1.7, 0.7, 2.7),
biped_small::Species::Boreal => Vec3::new(1.3, 2.0, 2.5),
biped_small::Species::Bushly => Vec3::new(1.2, 1.3, 1.6),
biped_small::Species::Irrwurz => Vec3::new(1.5, 1.5, 2.0),
_ => Vec3::new(1.0, 0.75, 1.4),
},
Body::BirdLarge(body) => match body.species {
@ -511,6 +515,7 @@ impl Body {
quadruped_small::Species::Holladon => Vec3::new(1.3, 1.9, 1.5),
quadruped_small::Species::Hyena => Vec3::new(1.2, 1.4, 1.3),
quadruped_small::Species::Truffler => Vec3::new(1.2, 1.8, 2.2),
quadruped_small::Species::MossySnail => Vec3::new(1.4, 1.4, 1.2),
_ => Vec3::new(1.2, 1.2, 1.0),
},
Body::QuadrupedLow(body) => match body.species {
@ -534,6 +539,7 @@ impl Body {
quadruped_low::Species::Salamander => Vec3::new(1.7, 4.0, 1.3),
quadruped_low::Species::Elbst => Vec3::new(1.7, 4.0, 1.3),
quadruped_low::Species::Tortoise => Vec3::new(1.7, 2.7, 1.5),
quadruped_low::Species::Driggle => Vec3::new(1.6, 2.7, 1.0),
_ => Vec3::new(1.0, 1.6, 1.3),
},
Body::Ship(ship) => ship.dimensions(),
@ -562,6 +568,7 @@ impl Body {
arthropod::Species::Mosscrawler => Vec3::new(3.2, 4.0, 1.4),
arthropod::Species::Sandcrawler => Vec3::new(3.2, 4.0, 1.4),
arthropod::Species::Dagonite => Vec3::new(3.2, 4.7, 1.4),
arthropod::Species::Emberfly => Vec3::new(1.3, 1.5, 0.9),
},
Body::BirdMedium(body) => match body.species {
bird_medium::Species::SnowyOwl => Vec3::new(1.2, 1.2, 0.9),
@ -735,6 +742,8 @@ impl Body {
quadruped_small::Species::Dog => 30,
quadruped_small::Species::Sheep => 30,
quadruped_small::Species::Seal => 15,
quadruped_small::Species::MossySnail => 15,
quadruped_small::Species::TreantSapling => 55,
_ => 20,
},
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
@ -877,6 +886,7 @@ impl Body {
quadruped_low::Species::Basilisk => 200,
quadruped_low::Species::Deadwood => 120,
quadruped_low::Species::Mossdrake => 160,
quadruped_low::Species::Driggle => 40,
_ => 70,
},
Body::Arthropod(arthropod) => match arthropod.species {
@ -891,6 +901,7 @@ impl Body {
arthropod::Species::Moltencrawler => 80,
arthropod::Species::Mosscrawler => 80,
arthropod::Species::Sandcrawler => 80,
arthropod::Species::Emberfly => 25,
_ => 70,
},
Body::Ship(_) => 1000,

View File

@ -40,6 +40,7 @@ pub enum Species {
Mosscrawler = 9,
Sandcrawler = 10,
Dagonite = 11,
Emberfly = 12,
}
/// Data representing per-species generic data.
@ -57,6 +58,7 @@ pub struct AllSpecies<SpeciesMeta> {
pub crawler_moss: SpeciesMeta,
pub crawler_sand: SpeciesMeta,
pub dagonite: SpeciesMeta,
pub emberfly: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -77,11 +79,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Mosscrawler => &self.crawler_moss,
Species::Sandcrawler => &self.crawler_sand,
Species::Dagonite => &self.dagonite,
Species::Emberfly => &self.emberfly,
}
}
}
pub const ALL_SPECIES: [Species; 12] = [
pub const ALL_SPECIES: [Species; 13] = [
Species::Tarantula,
Species::Blackwidow,
Species::Antlion,
@ -94,6 +97,7 @@ pub const ALL_SPECIES: [Species; 12] = [
Species::Mosscrawler,
Species::Sandcrawler,
Species::Dagonite,
Species::Emberfly,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -46,6 +46,8 @@ make_case_elim!(
Myrmidon = 9,
Husk = 10,
Boreal = 11,
Bushly = 12,
Irrwurz = 13,
}
);
@ -66,6 +68,8 @@ pub struct AllSpecies<SpeciesMeta> {
pub myrmidon: SpeciesMeta,
pub husk: SpeciesMeta,
pub boreal: SpeciesMeta,
pub bushly: SpeciesMeta,
pub irrwurz: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -86,11 +90,13 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Myrmidon => &self.myrmidon,
Species::Husk => &self.husk,
Species::Boreal => &self.boreal,
Species::Bushly => &self.bushly,
Species::Irrwurz => &self.irrwurz,
}
}
}
pub const ALL_SPECIES: [Species; 12] = [
pub const ALL_SPECIES: [Species; 14] = [
Species::Gnome,
Species::Sahagin,
Species::Adlet,
@ -103,6 +109,8 @@ pub const ALL_SPECIES: [Species; 12] = [
Species::Myrmidon,
Species::Husk,
Species::Boreal,
Species::Bushly,
Species::Irrwurz,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -71,6 +71,7 @@ make_case_elim!(
Reefsnapper = 18,
Elbst = 19,
Mossdrake = 20,
Driggle = 21,
}
);
@ -100,6 +101,7 @@ pub struct AllSpecies<SpeciesMeta> {
pub deadwood: SpeciesMeta,
pub icedrake: SpeciesMeta,
pub mossdrake: SpeciesMeta,
pub driggle: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -129,11 +131,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Deadwood => &self.deadwood,
Species::Icedrake => &self.icedrake,
Species::Mossdrake => &self.mossdrake,
Species::Driggle => &self.driggle,
}
}
}
pub const ALL_SPECIES: [Species; 21] = [
pub const ALL_SPECIES: [Species; 22] = [
Species::Crocodile,
Species::SeaCrocodile,
Species::Alligator,
@ -155,6 +158,7 @@ pub const ALL_SPECIES: [Species; 21] = [
Species::Deadwood,
Species::Icedrake,
Species::Mossdrake,
Species::Driggle,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -75,6 +75,8 @@ pub enum Species {
Hare = 24,
Dog = 25,
Seal = 26,
TreantSapling = 27,
MossySnail = 28,
}
/// Data representing per-species generic data.
@ -109,6 +111,8 @@ pub struct AllSpecies<SpeciesMeta> {
pub dog: SpeciesMeta,
pub goat: SpeciesMeta,
pub seal: SpeciesMeta,
pub treant_sapling: SpeciesMeta,
pub mossy_snail: SpeciesMeta,
}
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
@ -144,11 +148,13 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
Species::Dog => &self.dog,
Species::Goat => &self.goat,
Species::Seal => &self.seal,
Species::TreantSapling => &self.treant_sapling,
Species::MossySnail => &self.mossy_snail,
}
}
}
pub const ALL_SPECIES: [Species; 27] = [
pub const ALL_SPECIES: [Species; 29] = [
Species::Pig,
Species::Fox,
Species::Sheep,
@ -176,6 +182,8 @@ pub const ALL_SPECIES: [Species; 27] = [
Species::Dog,
Species::Goat,
Species::Seal,
Species::TreantSapling,
Species::MossySnail,
];
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {

View File

@ -7,7 +7,7 @@ use crate::{
slot::{ArmorSlot, EquipSlot},
},
item::{self, Item},
object, quadruped_low, quadruped_medium, theropod, Body,
object, quadruped_low, quadruped_medium, quadruped_small, theropod, Body,
},
resources::Time,
trade::SiteInformation,
@ -616,13 +616,24 @@ fn default_main_tool(body: &Body) -> Item {
quadruped_low::Species::Icedrake => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.icedrake",
)),
quadruped_low::Species::Driggle => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.driggle",
)),
_ => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.quadlowbasic",
)),
},
Body::QuadrupedSmall(_) => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.quadsmallbasic",
)),
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
quadruped_small::Species::TreantSapling => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.treantsapling",
)),
quadruped_small::Species::MossySnail => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.mossysnail",
)),
_ => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.quadsmallbasic",
)),
},
Body::Theropod(theropod) => match theropod.species {
theropod::Species::Sandraptor
| theropod::Species::Snowraptor
@ -646,6 +657,9 @@ fn default_main_tool(body: &Body) -> Item {
"common.items.npc_weapons.unique.arthropods.hornbeetle",
))
},
arthropod::Species::Emberfly => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.emberfly",
)),
arthropod::Species::Cavespider => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.arthropods.cavespider",
)),
@ -783,6 +797,12 @@ fn default_main_tool(body: &Body) -> Item {
(biped_small::Species::Gnome, _) => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.biped_small.adlet.tracker",
)),
(biped_small::Species::Bushly, _) => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.bushly",
)),
(biped_small::Species::Irrwurz, _) => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.irrwurz",
)),
(biped_small::Species::Husk, _) => Some(Item::new_from_asset_expect(
"common.items.npc_weapons.unique.husk",
)),
@ -1308,6 +1328,7 @@ mod tests {
quadruped_small: QuadrupedSmall,
quadruped_medium: QuadrupedMedium,
quadruped_low: QuadrupedLow,
quadruped_small: QuadrupedSmall,
bird_medium: BirdMedium,
bird_large: BirdLarge,
fish_small: FishSmall,

Some files were not shown because too many files have changed in this diff Show More