mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Adds 3 new npcs, tusk ram new design
This commit is contained in:
parent
53b0ba286a
commit
1b9815dc34
14
assets/common/abilities/unique/quadlowbeam/healingbeam.ron
Normal file
14
assets/common/abilities/unique/quadlowbeam/healingbeam.ron
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
BasicBeam(
|
||||||
|
buildup_duration: 0.25,
|
||||||
|
recover_duration: 0.25,
|
||||||
|
beam_duration: 1.0,
|
||||||
|
base_hps: 60,
|
||||||
|
base_dps: 60,
|
||||||
|
tick_rate: 2.0,
|
||||||
|
range: 25.0,
|
||||||
|
max_angle: 1.0,
|
||||||
|
lifesteal_eff: 0.15,
|
||||||
|
energy_regen: 25,
|
||||||
|
energy_cost: 50,
|
||||||
|
energy_drain: 0,
|
||||||
|
)
|
14
assets/common/abilities/unique/tidalclaws/bubbles.ron
Normal file
14
assets/common/abilities/unique/tidalclaws/bubbles.ron
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
BasicBeam(
|
||||||
|
buildup_duration: 0.4,
|
||||||
|
recover_duration: 0.25,
|
||||||
|
beam_duration: 0.5,
|
||||||
|
base_hps: 0,
|
||||||
|
base_dps: 150,
|
||||||
|
tick_rate: 3.0,
|
||||||
|
range: 15.0,
|
||||||
|
max_angle: 22.5,
|
||||||
|
lifesteal_eff: 0.0,
|
||||||
|
energy_regen: 0,
|
||||||
|
energy_cost: 0,
|
||||||
|
energy_drain: 0,
|
||||||
|
)
|
@ -97,6 +97,11 @@
|
|||||||
secondary: "common.abilities.unique.wendigomagic.singlestrike",
|
secondary: "common.abilities.unique.wendigomagic.singlestrike",
|
||||||
skills: [],
|
skills: [],
|
||||||
),
|
),
|
||||||
|
Unique(TidalClaws): (
|
||||||
|
primary: "common.abilities.staff.flamethrower",
|
||||||
|
secondary: "common.abilities.unique.wendigomagic.singlestrike",
|
||||||
|
skills: [],
|
||||||
|
),
|
||||||
Unique(QuadMedQuick): (
|
Unique(QuadMedQuick): (
|
||||||
primary: "common.abilities.unique.quadmedquick.triplestrike",
|
primary: "common.abilities.unique.quadmedquick.triplestrike",
|
||||||
secondary: "common.abilities.unique.quadmedquick.dash",
|
secondary: "common.abilities.unique.quadmedquick.dash",
|
||||||
@ -151,6 +156,13 @@
|
|||||||
secondary: "common.abilities.unique.quadlowbasic.singlestrike",
|
secondary: "common.abilities.unique.quadlowbasic.singlestrike",
|
||||||
abilities: [],
|
abilities: [],
|
||||||
),
|
),
|
||||||
|
Unique(QuadLowBeam): (
|
||||||
|
primary: "common.abilities.unique.quadlowbeam.healingbeam",
|
||||||
|
secondary: "common.abilities.unique.quadlowbreathe.triplestrike",
|
||||||
|
skills: [
|
||||||
|
"common.abilities.unique.quadlowbreathe.dash",
|
||||||
|
],
|
||||||
|
),
|
||||||
Unique(QuadSmallBasic): (
|
Unique(QuadSmallBasic): (
|
||||||
primary: "common.abilities.unique.quadsmallbasic.singlestrike",
|
primary: "common.abilities.unique.quadsmallbasic.singlestrike",
|
||||||
secondary: "common.abilities.unique.quadsmallbasic.singlestrike",
|
secondary: "common.abilities.unique.quadsmallbasic.singlestrike",
|
||||||
|
16
assets/common/items/npc_weapons/unique/quadlowbeam.ron
Normal file
16
assets/common/items/npc_weapons/unique/quadlowbeam.ron
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
ItemDef(
|
||||||
|
name: "Quad Small Beam",
|
||||||
|
description: "testing123",
|
||||||
|
kind: Tool(
|
||||||
|
(
|
||||||
|
kind: Unique(QuadLowBeam),
|
||||||
|
stats: (
|
||||||
|
equip_time_millis: 10,
|
||||||
|
power: 1.00,
|
||||||
|
poise_strength: 1.00,
|
||||||
|
speed: 1.00,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
quality: Low,
|
||||||
|
)
|
16
assets/common/items/npc_weapons/unique/tidal_claws.ron
Normal file
16
assets/common/items/npc_weapons/unique/tidal_claws.ron
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
ItemDef(
|
||||||
|
name: "Tidal Claws",
|
||||||
|
description: "Snip snap",
|
||||||
|
kind: Tool(
|
||||||
|
(
|
||||||
|
kind: Unique(TidalClaws),
|
||||||
|
stats: (
|
||||||
|
equip_time_millis: 500,
|
||||||
|
power: 1.00,
|
||||||
|
poise_strength: 1.00,
|
||||||
|
speed: 1.0,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
quality: Low,
|
||||||
|
)
|
@ -845,6 +845,10 @@
|
|||||||
minotaur: (
|
minotaur: (
|
||||||
keyword: "minotaur",
|
keyword: "minotaur",
|
||||||
generic: "Minotaur"
|
generic: "Minotaur"
|
||||||
|
),
|
||||||
|
tidalwarrior: (
|
||||||
|
keyword: "tidalwarrior",
|
||||||
|
generic: "Tidal Warrior"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@ -982,6 +986,10 @@
|
|||||||
clownfish: (
|
clownfish: (
|
||||||
keyword: "clownfish",
|
keyword: "clownfish",
|
||||||
generic: "Clownfish"
|
generic: "Clownfish"
|
||||||
|
),
|
||||||
|
piranha: (
|
||||||
|
keyword: "piranha",
|
||||||
|
generic: "Piranha"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@ -1065,7 +1073,11 @@
|
|||||||
basilisk: (
|
basilisk: (
|
||||||
keyword: "basilisk",
|
keyword: "basilisk",
|
||||||
generic: "Basilisk"
|
generic: "Basilisk"
|
||||||
)
|
),
|
||||||
|
deadwood: (
|
||||||
|
keyword: "deadwood",
|
||||||
|
generic: "Deadwood"
|
||||||
|
),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -572,4 +572,56 @@
|
|||||||
central: ("armor.empty"),
|
central: ("armor.empty"),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
(Tidalwarrior, Male): (
|
||||||
|
head: (
|
||||||
|
offset: (-6.5, -6.5, -6.0),
|
||||||
|
central: ("npc.tidalwarrior.male.head"),
|
||||||
|
),
|
||||||
|
torso_upper: (
|
||||||
|
offset: (-9.0, -8.0, -10.5),
|
||||||
|
central: ("npc.tidalwarrior.male.torso_upper"),
|
||||||
|
),
|
||||||
|
torso_lower: (
|
||||||
|
offset: (-8.0, -7.0, -8.0),
|
||||||
|
central: ("npc.tidalwarrior.male.torso_lower"),
|
||||||
|
),
|
||||||
|
jaw: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
tail: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
second: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(Tidalwarrior, Female): (
|
||||||
|
head: (
|
||||||
|
offset: (-6.5, -6.5, -6.0),
|
||||||
|
central: ("npc.tidalwarrior.male.head"),
|
||||||
|
),
|
||||||
|
torso_upper: (
|
||||||
|
offset: (-9.0, -8.0, -10.5),
|
||||||
|
central: ("npc.tidalwarrior.male.torso_upper"),
|
||||||
|
),
|
||||||
|
torso_lower: (
|
||||||
|
offset: (-8.0, -7.0, -8.0),
|
||||||
|
central: ("npc.tidalwarrior.male.torso_lower"),
|
||||||
|
),
|
||||||
|
jaw: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
tail: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
second: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
)
|
||||||
|
),
|
||||||
})
|
})
|
@ -747,4 +747,72 @@
|
|||||||
lateral: ("npc.minotaur.male.foot_r"),
|
lateral: ("npc.minotaur.male.foot_r"),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
(Tidalwarrior, Male): (
|
||||||
|
shoulder_l: (
|
||||||
|
offset: (-5.5, -5.5, -6.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.shoulder_l"),
|
||||||
|
),
|
||||||
|
shoulder_r: (
|
||||||
|
offset: (-5.5, -5.5, -6.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.shoulder_r"),
|
||||||
|
),
|
||||||
|
hand_l: (
|
||||||
|
offset: (-6.0, -3.5, -18.0),
|
||||||
|
lateral: ("npc.tidalwarrior.male.hand_l"),
|
||||||
|
),
|
||||||
|
hand_r: (
|
||||||
|
offset: (-6.0, -3.5, -18.0),
|
||||||
|
lateral: ("npc.tidalwarrior.male.hand_r"),
|
||||||
|
),
|
||||||
|
leg_l: (
|
||||||
|
offset: (-2.5, -3.0, -3.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.leg_l"),
|
||||||
|
),
|
||||||
|
leg_r: (
|
||||||
|
offset: (-2.5, -3.0, -3.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.leg_r"),
|
||||||
|
),
|
||||||
|
foot_l: (
|
||||||
|
offset: (-2.5, -4.5, -4.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.foot_l"),
|
||||||
|
),
|
||||||
|
foot_r: (
|
||||||
|
offset: (-2.5, -4.5, -4.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.foot_r"),
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(Tidalwarrior, Female): (
|
||||||
|
shoulder_l: (
|
||||||
|
offset: (-5.5, -5.5, -6.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.shoulder_l"),
|
||||||
|
),
|
||||||
|
shoulder_r: (
|
||||||
|
offset: (-5.5, -5.5, -6.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.shoulder_r"),
|
||||||
|
),
|
||||||
|
hand_l: (
|
||||||
|
offset: (-6.0, -3.5, -18.0),
|
||||||
|
lateral: ("npc.tidalwarrior.male.hand_l"),
|
||||||
|
),
|
||||||
|
hand_r: (
|
||||||
|
offset: (-6.0, -3.5, -18.0),
|
||||||
|
lateral: ("npc.tidalwarrior.male.hand_r"),
|
||||||
|
),
|
||||||
|
leg_l: (
|
||||||
|
offset: (-2.5, -3.0, -3.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.leg_l"),
|
||||||
|
),
|
||||||
|
leg_r: (
|
||||||
|
offset: (-2.5, -3.0, -3.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.leg_r"),
|
||||||
|
),
|
||||||
|
foot_l: (
|
||||||
|
offset: (-2.5, -4.5, -4.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.foot_l"),
|
||||||
|
),
|
||||||
|
foot_r: (
|
||||||
|
offset: (-2.5, -4.5, -4.5),
|
||||||
|
lateral: ("npc.tidalwarrior.male.foot_r"),
|
||||||
|
)
|
||||||
|
),
|
||||||
})
|
})
|
@ -43,6 +43,10 @@
|
|||||||
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
||||||
color: None
|
color: None
|
||||||
),
|
),
|
||||||
|
"common.items.npc_weapons.unique.tidal_claws": (
|
||||||
|
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
||||||
|
color: None
|
||||||
|
),
|
||||||
"common.items.npc_weapons.spear.wooden_spear": (
|
"common.items.npc_weapons.spear.wooden_spear": (
|
||||||
vox_spec: ("weapon.spear.sahagin", (-1.5, -3.0, -5.0)),
|
vox_spec: ("weapon.spear.sahagin", (-1.5, -3.0, -5.0)),
|
||||||
color: None
|
color: None
|
||||||
|
@ -749,6 +749,10 @@
|
|||||||
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
||||||
color: None
|
color: None
|
||||||
),
|
),
|
||||||
|
"common.items.npc_weapons.unique.tidal_claws": (
|
||||||
|
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
||||||
|
color: None
|
||||||
|
),
|
||||||
"common.items.npc_weapons.spear.wooden_spear": (
|
"common.items.npc_weapons.spear.wooden_spear": (
|
||||||
vox_spec: ("weapon.spear.sahagin", (-1.5, -3.0, -5.0)),
|
vox_spec: ("weapon.spear.sahagin", (-1.5, -3.0, -5.0)),
|
||||||
color: None
|
color: None
|
||||||
|
@ -19,4 +19,24 @@
|
|||||||
central: ("npc.clownfish.male.tail"),
|
central: ("npc.clownfish.male.tail"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
(Piranha, Male): (
|
||||||
|
chest: (
|
||||||
|
offset: (-1.5, -5.5, -5.5),
|
||||||
|
central: ("npc.piranha.male.chest"),
|
||||||
|
),
|
||||||
|
tail: (
|
||||||
|
offset: (-0.5, -5.0, -3.5),
|
||||||
|
central: ("npc.piranha.male.tail"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(Piranha, Female): (
|
||||||
|
chest: (
|
||||||
|
offset: (-1.5, -5.5, -5.5),
|
||||||
|
central: ("npc.piranha.male.chest"),
|
||||||
|
),
|
||||||
|
tail: (
|
||||||
|
offset: (-0.5, -5.0, -3.5),
|
||||||
|
central: ("npc.piranha.male.tail"),
|
||||||
|
),
|
||||||
|
),
|
||||||
})
|
})
|
||||||
|
@ -2,21 +2,41 @@
|
|||||||
(Clownfish, Male): (
|
(Clownfish, Male): (
|
||||||
fin_l: (
|
fin_l: (
|
||||||
offset: (-0.5, -3.0, -4.0),
|
offset: (-0.5, -3.0, -4.0),
|
||||||
lateral: ("npc.clownfish.male.fin_r"),
|
lateral: ("npc.clownfish.male.fin"),
|
||||||
),
|
),
|
||||||
fin_r: (
|
fin_r: (
|
||||||
offset: (-0.5, -3.0, -4.0),
|
offset: (-0.5, -3.0, -4.0),
|
||||||
lateral: ("npc.clownfish.male.fin_r"),
|
lateral: ("npc.clownfish.male.fin"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Clownfish, Female): (
|
(Clownfish, Female): (
|
||||||
fin_l: (
|
fin_l: (
|
||||||
offset: (-0.5, -3.0, -4.0),
|
offset: (-0.5, -3.0, -4.0),
|
||||||
lateral: ("npc.clownfish.male.fin_r"),
|
lateral: ("npc.clownfish.male.fin"),
|
||||||
),
|
),
|
||||||
fin_r: (
|
fin_r: (
|
||||||
offset: (-0.5, -3.0, -4.0),
|
offset: (-0.5, -3.0, -4.0),
|
||||||
lateral: ("npc.clownfish.male.fin_r"),
|
lateral: ("npc.clownfish.male.fin"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(Piranha, Male): (
|
||||||
|
fin_l: (
|
||||||
|
offset: (-0.5, -4.0, -3.0),
|
||||||
|
lateral: ("npc.piranha.male.fin"),
|
||||||
|
),
|
||||||
|
fin_r: (
|
||||||
|
offset: (-0.5, -4.0, -3.0),
|
||||||
|
lateral: ("npc.piranha.male.fin"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(Piranha, Female): (
|
||||||
|
fin_l: (
|
||||||
|
offset: (-0.5, -4.0, -3.0),
|
||||||
|
lateral: ("npc.piranha.male.fin"),
|
||||||
|
),
|
||||||
|
fin_r: (
|
||||||
|
offset: (-0.5, -4.0, -3.0),
|
||||||
|
lateral: ("npc.piranha.male.fin"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
})
|
})
|
||||||
|
@ -973,6 +973,10 @@
|
|||||||
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
||||||
color: None
|
color: None
|
||||||
),
|
),
|
||||||
|
"common.items.npc_weapons.unique.tidal_claws": (
|
||||||
|
vox_spec: ("armor.empty", (0.0, 0.0, 0.0)),
|
||||||
|
color: None
|
||||||
|
),
|
||||||
//BIPEDSMALL
|
//BIPEDSMALL
|
||||||
"common.items.npc_weapons.spear.wooden_spear": (
|
"common.items.npc_weapons.spear.wooden_spear": (
|
||||||
vox_spec: ("weapon.spear.sahagin", (-1.5, -3.0, -5.0)),
|
vox_spec: ("weapon.spear.sahagin", (-1.5, -3.0, -5.0)),
|
||||||
|
BIN
assets/voxygen/voxel/npc/deadwood/male/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/deadwood/male/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/deadwood/male/foot_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/deadwood/male/foot_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/deadwood/male/foot_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/deadwood/male/foot_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/deadwood/male/head_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/deadwood/male/head_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/piranha/male/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/piranha/male/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/piranha/male/fin.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/piranha/male/fin.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/piranha/male/tail.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/piranha/male/tail.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/foot_l.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/foot_l.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/foot_r.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/foot_r.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/hand_l.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/hand_l.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/hand_r.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/hand_r.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/head.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/head.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/leg_l.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/leg_l.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/leg_r.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/leg_r.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/shoulder_l.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/shoulder_l.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/shoulder_r.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/shoulder_r.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/torso_lower.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/torso_lower.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/torso_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/tidalwarrior/male/torso_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/foot_br.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/foot_br.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/foot_fr.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/foot_fr.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/head.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/head.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/jaw.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/jaw.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/leg_br.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/leg_br.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/leg_fr.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/leg_fr.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/neck.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/neck.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/tail.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/tail.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/torso_back.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/torso_back.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/tuskram/male/torso_front.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/tuskram/male/torso_front.vox
(Stored with Git LFS)
Binary file not shown.
@ -676,4 +676,56 @@
|
|||||||
central: ("npc.basilisk.male.tail_front"),
|
central: ("npc.basilisk.male.tail_front"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
(Deadwood, Male): (
|
||||||
|
upper: (
|
||||||
|
offset: (-3.5, -3.5, -4.0),
|
||||||
|
central: ("npc.deadwood.male.head_upper"),
|
||||||
|
),
|
||||||
|
lower: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
jaw: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
chest: (
|
||||||
|
offset: (-12.5, -11.0, -9.0),
|
||||||
|
central: ("npc.deadwood.male.chest"),
|
||||||
|
),
|
||||||
|
tail_rear: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
tail_front: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(Deadwood, Female): (
|
||||||
|
upper: (
|
||||||
|
offset: (-3.5, -3.5, -4.0),
|
||||||
|
central: ("npc.deadwood.male.head_upper"),
|
||||||
|
),
|
||||||
|
lower: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
jaw: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
chest: (
|
||||||
|
offset: (-12.5, -11.0, -9.0),
|
||||||
|
central: ("npc.deadwood.male.chest"),
|
||||||
|
),
|
||||||
|
tail_rear: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
tail_front: (
|
||||||
|
offset: (0.0, 0.0, 0.0),
|
||||||
|
central: ("armor.empty"),
|
||||||
|
),
|
||||||
|
),
|
||||||
})
|
})
|
||||||
|
@ -467,4 +467,40 @@
|
|||||||
lateral: ("npc.basilisk.male.foot_br"),
|
lateral: ("npc.basilisk.male.foot_br"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
(Deadwood, Male): (
|
||||||
|
front_left: (
|
||||||
|
offset: (-5.0, -2.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_fr"),
|
||||||
|
),
|
||||||
|
front_right: (
|
||||||
|
offset: (0.0, -2.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_fr"),
|
||||||
|
),
|
||||||
|
back_left: (
|
||||||
|
offset: (-5.0, -1.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_br"),
|
||||||
|
),
|
||||||
|
back_right: (
|
||||||
|
offset: (0.0, -1.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_br"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(Deadwood, Female): (
|
||||||
|
front_left: (
|
||||||
|
offset: (-5.0, -2.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_fr"),
|
||||||
|
),
|
||||||
|
front_right: (
|
||||||
|
offset: (0.0, -2.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_fr"),
|
||||||
|
),
|
||||||
|
back_left: (
|
||||||
|
offset: (-5.0, -1.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_br"),
|
||||||
|
),
|
||||||
|
back_right: (
|
||||||
|
offset: (0.0, -1.0, -7.0),
|
||||||
|
lateral: ("npc.deadwood.male.foot_br"),
|
||||||
|
),
|
||||||
|
),
|
||||||
})
|
})
|
||||||
|
@ -121,61 +121,61 @@
|
|||||||
),
|
),
|
||||||
(Tuskram, Male): (
|
(Tuskram, Male): (
|
||||||
head: (
|
head: (
|
||||||
offset: (-10.0, -2.0, -6.5),
|
offset: (-15.0, -2.0, -10.0),
|
||||||
central: ("npc.tuskram.male.head"),
|
central: ("npc.tuskram.male.head"),
|
||||||
),
|
),
|
||||||
neck: (
|
neck: (
|
||||||
offset: (-4.0, -2.0, -3.5),
|
offset: (-4.0, -3.0, -6.0),
|
||||||
central: ("npc.tuskram.male.neck"),
|
central: ("npc.tuskram.male.neck"),
|
||||||
),
|
),
|
||||||
jaw: (
|
jaw: (
|
||||||
offset: (-2.0, 0.0, -1.5),
|
offset: (-5.0, 0.0, -8.0),
|
||||||
central: ("npc.tuskram.male.jaw"),
|
central: ("npc.tuskram.male.jaw"),
|
||||||
),
|
),
|
||||||
torso_front: (
|
torso_front: (
|
||||||
offset: (-6.0, -15.0, -6.5),
|
offset: (-7.0, -14.0, -8.0),
|
||||||
central: ("npc.tuskram.male.torso_front"),
|
central: ("npc.tuskram.male.torso_front"),
|
||||||
),
|
),
|
||||||
torso_back: (
|
torso_back: (
|
||||||
offset: (-4.0, -10.0, -4.5),
|
offset: (-5.0, -10.0, -5.5),
|
||||||
central: ("npc.tuskram.male.torso_back"),
|
central: ("npc.tuskram.male.torso_back"),
|
||||||
),
|
),
|
||||||
ears: (
|
ears: (
|
||||||
offset: (-0.5, -0.5, 0.0),
|
offset: (0.0, 0.0, 0.0),
|
||||||
central: ("armor.empty"),
|
central: ("armor.empty"),
|
||||||
),
|
),
|
||||||
tail: (
|
tail: (
|
||||||
offset: (-3.0, -7.0, -8.0),
|
offset: (-3.0, -6.0, -8.0),
|
||||||
central: ("npc.tuskram.male.tail"),
|
central: ("npc.tuskram.male.tail"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
(Tuskram, Female): (
|
(Tuskram, Female): (
|
||||||
head: (
|
head: (
|
||||||
offset: (-10.0, -2.0, -6.5),
|
offset: (-15.0, -2.0, -10.0),
|
||||||
central: ("npc.tuskram.male.head"),
|
central: ("npc.tuskram.male.head"),
|
||||||
),
|
),
|
||||||
neck: (
|
neck: (
|
||||||
offset: (-4.0, -2.0, -3.5),
|
offset: (-4.0, -3.0, -6.0),
|
||||||
central: ("npc.tuskram.male.neck"),
|
central: ("npc.tuskram.male.neck"),
|
||||||
),
|
),
|
||||||
jaw: (
|
jaw: (
|
||||||
offset: (-2.0, 0.0, -1.5),
|
offset: (-5.0, 0.0, -1.5),
|
||||||
central: ("npc.tuskram.male.jaw"),
|
central: ("npc.tuskram.male.jaw"),
|
||||||
),
|
),
|
||||||
torso_front: (
|
torso_front: (
|
||||||
offset: (-6.0, -15.0, -6.5),
|
offset: (-7.0, -14.0, -8.0),
|
||||||
central: ("npc.tuskram.male.torso_front"),
|
central: ("npc.tuskram.male.torso_front"),
|
||||||
),
|
),
|
||||||
torso_back: (
|
torso_back: (
|
||||||
offset: (-4.0, -10.0, -4.5),
|
offset: (-5.0, -10.0, -5.5),
|
||||||
central: ("npc.tuskram.male.torso_back"),
|
central: ("npc.tuskram.male.torso_back"),
|
||||||
),
|
),
|
||||||
ears: (
|
ears: (
|
||||||
offset: (-0.5, -0.5, -0.0),
|
offset: (0.0, 0.0, 0.0),
|
||||||
central: ("armor.empty"),
|
central: ("armor.empty"),
|
||||||
),
|
),
|
||||||
tail: (
|
tail: (
|
||||||
offset: (-3.0, -7.0, -8.0),
|
offset: (-3.0, -6.0, -8.0),
|
||||||
central: ("npc.tuskram.male.tail"),
|
central: ("npc.tuskram.male.tail"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -137,11 +137,11 @@
|
|||||||
),
|
),
|
||||||
(Tuskram, Male): (
|
(Tuskram, Male): (
|
||||||
leg_fl: (
|
leg_fl: (
|
||||||
offset: (-2.0, -2.5, -3.0),
|
offset: (-2.5, -4.5, -5.0),
|
||||||
lateral: ("npc.tuskram.male.leg_fr"),
|
lateral: ("npc.tuskram.male.leg_fr"),
|
||||||
),
|
),
|
||||||
leg_fr: (
|
leg_fr: (
|
||||||
offset: (-2.0, -2.5, -3.0),
|
offset: (-2.5, -4.5, -5.0),
|
||||||
lateral: ("npc.tuskram.male.leg_fr"),
|
lateral: ("npc.tuskram.male.leg_fr"),
|
||||||
),
|
),
|
||||||
leg_bl: (
|
leg_bl: (
|
||||||
@ -171,11 +171,11 @@
|
|||||||
),
|
),
|
||||||
(Tuskram, Female): (
|
(Tuskram, Female): (
|
||||||
leg_fl: (
|
leg_fl: (
|
||||||
offset: (-2.0, -2.5, -3.0),
|
offset: (-2.5, -4.5, -5.0),
|
||||||
lateral: ("npc.tuskram.male.leg_fr"),
|
lateral: ("npc.tuskram.male.leg_fr"),
|
||||||
),
|
),
|
||||||
leg_fr: (
|
leg_fr: (
|
||||||
offset: (-2.0, -2.5, -3.0),
|
offset: (-2.5, -4.5, -5.0),
|
||||||
lateral: ("npc.tuskram.male.leg_fr"),
|
lateral: ("npc.tuskram.male.leg_fr"),
|
||||||
),
|
),
|
||||||
leg_bl: (
|
leg_bl: (
|
||||||
|
@ -25,6 +25,7 @@ pub enum Tactic {
|
|||||||
TailSlap,
|
TailSlap,
|
||||||
QuadLowQuick,
|
QuadLowQuick,
|
||||||
QuadLowBasic,
|
QuadLowBasic,
|
||||||
|
QuadLowBeam,
|
||||||
QuadMedJump,
|
QuadMedJump,
|
||||||
QuadMedBasic,
|
QuadMedBasic,
|
||||||
Lavadrake,
|
Lavadrake,
|
||||||
|
@ -188,6 +188,7 @@ impl Body {
|
|||||||
quadruped_low::Species::Salamander => 2.4,
|
quadruped_low::Species::Salamander => 2.4,
|
||||||
quadruped_low::Species::Pangolin => 2.0,
|
quadruped_low::Species::Pangolin => 2.0,
|
||||||
quadruped_low::Species::Lavadrake => 2.5,
|
quadruped_low::Species::Lavadrake => 2.5,
|
||||||
|
quadruped_low::Species::Deadwood => 0.5,
|
||||||
_ => 1.6,
|
_ => 1.6,
|
||||||
},
|
},
|
||||||
Body::Theropod(body) => match body.species {
|
Body::Theropod(body) => match body.species {
|
||||||
@ -365,6 +366,7 @@ impl Body {
|
|||||||
biped_large::Species::Troll => 1500,
|
biped_large::Species::Troll => 1500,
|
||||||
biped_large::Species::Dullahan => 2000,
|
biped_large::Species::Dullahan => 2000,
|
||||||
biped_large::Species::Mindflayer => 8000,
|
biped_large::Species::Mindflayer => 8000,
|
||||||
|
biped_large::Species::Tidalwarrior => 2500,
|
||||||
_ => 1000,
|
_ => 1000,
|
||||||
},
|
},
|
||||||
Body::BipedSmall(_) => 10000,
|
Body::BipedSmall(_) => 10000,
|
||||||
@ -392,6 +394,7 @@ impl Body {
|
|||||||
quadruped_low::Species::Sandshark => 600,
|
quadruped_low::Species::Sandshark => 600,
|
||||||
quadruped_low::Species::Hakulaq => 400,
|
quadruped_low::Species::Hakulaq => 400,
|
||||||
quadruped_low::Species::Lavadrake => 900,
|
quadruped_low::Species::Lavadrake => 900,
|
||||||
|
quadruped_low::Species::Deadwood => 600,
|
||||||
|
|
||||||
_ => 200,
|
_ => 200,
|
||||||
},
|
},
|
||||||
@ -461,6 +464,7 @@ impl Body {
|
|||||||
biped_large::Species::Troll => 60,
|
biped_large::Species::Troll => 60,
|
||||||
biped_large::Species::Dullahan => 120,
|
biped_large::Species::Dullahan => 120,
|
||||||
biped_large::Species::Mindflayer => 250,
|
biped_large::Species::Mindflayer => 250,
|
||||||
|
biped_large::Species::Tidalwarrior => 90,
|
||||||
_ => 100,
|
_ => 100,
|
||||||
},
|
},
|
||||||
Body::BipedSmall(_) => 10,
|
Body::BipedSmall(_) => 10,
|
||||||
@ -479,6 +483,7 @@ impl Body {
|
|||||||
quadruped_low::Species::Maneater => 30,
|
quadruped_low::Species::Maneater => 30,
|
||||||
quadruped_low::Species::Sandshark => 40,
|
quadruped_low::Species::Sandshark => 40,
|
||||||
quadruped_low::Species::Hakulaq => 10,
|
quadruped_low::Species::Hakulaq => 10,
|
||||||
|
quadruped_low::Species::Deadwood => 30,
|
||||||
_ => 20,
|
_ => 20,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@ make_case_elim!(
|
|||||||
Slysaurok = 8,
|
Slysaurok = 8,
|
||||||
Mindflayer = 9,
|
Mindflayer = 9,
|
||||||
Minotaur = 10,
|
Minotaur = 10,
|
||||||
|
Tidalwarrior = 11,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -64,6 +65,7 @@ pub struct AllSpecies<SpeciesMeta> {
|
|||||||
pub saurok_sly: SpeciesMeta,
|
pub saurok_sly: SpeciesMeta,
|
||||||
pub mindflayer: SpeciesMeta,
|
pub mindflayer: SpeciesMeta,
|
||||||
pub minotaur: SpeciesMeta,
|
pub minotaur: SpeciesMeta,
|
||||||
|
pub tidalwarrior: SpeciesMeta,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
||||||
@ -83,11 +85,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
|||||||
Species::Slysaurok => &self.saurok_sly,
|
Species::Slysaurok => &self.saurok_sly,
|
||||||
Species::Mindflayer => &self.mindflayer,
|
Species::Mindflayer => &self.mindflayer,
|
||||||
Species::Minotaur => &self.minotaur,
|
Species::Minotaur => &self.minotaur,
|
||||||
|
Species::Tidalwarrior => &self.tidalwarrior,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const ALL_SPECIES: [Species; 11] = [
|
pub const ALL_SPECIES: [Species; 12] = [
|
||||||
Species::Ogre,
|
Species::Ogre,
|
||||||
Species::Cyclops,
|
Species::Cyclops,
|
||||||
Species::Wendigo,
|
Species::Wendigo,
|
||||||
@ -99,6 +102,7 @@ pub const ALL_SPECIES: [Species; 11] = [
|
|||||||
Species::Slysaurok,
|
Species::Slysaurok,
|
||||||
Species::Mindflayer,
|
Species::Mindflayer,
|
||||||
Species::Minotaur,
|
Species::Minotaur,
|
||||||
|
Species::Tidalwarrior,
|
||||||
];
|
];
|
||||||
|
|
||||||
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
||||||
|
@ -35,6 +35,7 @@ make_case_elim!(
|
|||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
pub enum Species {
|
pub enum Species {
|
||||||
Clownfish = 0,
|
Clownfish = 0,
|
||||||
|
Piranha = 1,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -44,6 +45,7 @@ make_case_elim!(
|
|||||||
#[derive(Clone, Debug, Deserialize)]
|
#[derive(Clone, Debug, Deserialize)]
|
||||||
pub struct AllSpecies<SpeciesMeta> {
|
pub struct AllSpecies<SpeciesMeta> {
|
||||||
pub clownfish: SpeciesMeta,
|
pub clownfish: SpeciesMeta,
|
||||||
|
pub piranha: SpeciesMeta,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
||||||
@ -53,11 +55,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
|||||||
fn index(&self, &index: &'a Species) -> &Self::Output {
|
fn index(&self, &index: &'a Species) -> &Self::Output {
|
||||||
match index {
|
match index {
|
||||||
Species::Clownfish => &self.clownfish,
|
Species::Clownfish => &self.clownfish,
|
||||||
|
Species::Piranha => &self.piranha,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const ALL_SPECIES: [Species; 1] = [Species::Clownfish];
|
pub const ALL_SPECIES: [Species; 2] = [Species::Clownfish, Species::Piranha];
|
||||||
|
|
||||||
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
||||||
type IntoIter = std::iter::Copied<std::slice::Iter<'static, Self::Item>>;
|
type IntoIter = std::iter::Copied<std::slice::Iter<'static, Self::Item>>;
|
||||||
|
@ -47,6 +47,7 @@ make_case_elim!(
|
|||||||
Hakulaq = 10,
|
Hakulaq = 10,
|
||||||
Lavadrake = 11,
|
Lavadrake = 11,
|
||||||
Basilisk = 12,
|
Basilisk = 12,
|
||||||
|
Deadwood = 13,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -68,6 +69,7 @@ pub struct AllSpecies<SpeciesMeta> {
|
|||||||
pub hakulaq: SpeciesMeta,
|
pub hakulaq: SpeciesMeta,
|
||||||
pub lavadrake: SpeciesMeta,
|
pub lavadrake: SpeciesMeta,
|
||||||
pub basilisk: SpeciesMeta,
|
pub basilisk: SpeciesMeta,
|
||||||
|
pub deadwood: SpeciesMeta,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta> {
|
||||||
@ -89,11 +91,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
|||||||
Species::Hakulaq => &self.hakulaq,
|
Species::Hakulaq => &self.hakulaq,
|
||||||
Species::Lavadrake => &self.lavadrake,
|
Species::Lavadrake => &self.lavadrake,
|
||||||
Species::Basilisk => &self.basilisk,
|
Species::Basilisk => &self.basilisk,
|
||||||
|
Species::Deadwood => &self.deadwood,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub const ALL_SPECIES: [Species; 13] = [
|
pub const ALL_SPECIES: [Species; 14] = [
|
||||||
Species::Crocodile,
|
Species::Crocodile,
|
||||||
Species::Alligator,
|
Species::Alligator,
|
||||||
Species::Salamander,
|
Species::Salamander,
|
||||||
@ -107,6 +110,7 @@ pub const ALL_SPECIES: [Species; 13] = [
|
|||||||
Species::Hakulaq,
|
Species::Hakulaq,
|
||||||
Species::Lavadrake,
|
Species::Lavadrake,
|
||||||
Species::Basilisk,
|
Species::Basilisk,
|
||||||
|
Species::Deadwood,
|
||||||
];
|
];
|
||||||
|
|
||||||
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
impl<'a, SpeciesMeta: 'a> IntoIterator for &'a AllSpecies<SpeciesMeta> {
|
||||||
|
@ -375,6 +375,7 @@ pub enum UniqueKind {
|
|||||||
StoneGolemFist,
|
StoneGolemFist,
|
||||||
BeastClaws,
|
BeastClaws,
|
||||||
WendigoMagic,
|
WendigoMagic,
|
||||||
|
TidalClaws,
|
||||||
QuadMedQuick,
|
QuadMedQuick,
|
||||||
QuadMedJump,
|
QuadMedJump,
|
||||||
QuadMedHoof,
|
QuadMedHoof,
|
||||||
@ -385,6 +386,7 @@ pub enum UniqueKind {
|
|||||||
QuadLowTail,
|
QuadLowTail,
|
||||||
QuadLowQuick,
|
QuadLowQuick,
|
||||||
QuadLowBasic,
|
QuadLowBasic,
|
||||||
|
QuadLowBeam,
|
||||||
QuadSmallBasic,
|
QuadSmallBasic,
|
||||||
TheropodBasic,
|
TheropodBasic,
|
||||||
TheropodBird,
|
TheropodBird,
|
||||||
|
@ -154,6 +154,11 @@ impl LoadoutBuilder {
|
|||||||
"common.items.npc_weapons.unique.quadlowbreathe",
|
"common.items.npc_weapons.unique.quadlowbreathe",
|
||||||
));
|
));
|
||||||
},
|
},
|
||||||
|
quadruped_low::Species::Deadwood => {
|
||||||
|
main_tool = Some(Item::new_from_asset_expect(
|
||||||
|
"common.items.npc_weapons.unique.quadlowbeam",
|
||||||
|
));
|
||||||
|
},
|
||||||
_ => {
|
_ => {
|
||||||
main_tool = Some(Item::new_from_asset_expect(
|
main_tool = Some(Item::new_from_asset_expect(
|
||||||
"common.items.npc_weapons.unique.quadlowbasic",
|
"common.items.npc_weapons.unique.quadlowbasic",
|
||||||
@ -241,6 +246,11 @@ impl LoadoutBuilder {
|
|||||||
"common.items.npc_weapons.hammer.cyclops_hammer",
|
"common.items.npc_weapons.hammer.cyclops_hammer",
|
||||||
));
|
));
|
||||||
},
|
},
|
||||||
|
(biped_large::Species::Tidalwarrior, _) => {
|
||||||
|
main_tool = Some(Item::new_from_asset_expect(
|
||||||
|
"common.items.npc_weapons.unique.tidal_claws",
|
||||||
|
));
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Body::Object(object::Body::Crossbow) => {
|
Body::Object(object::Body::Crossbow) => {
|
||||||
main_tool = Some(Item::new_from_asset_expect(
|
main_tool = Some(Item::new_from_asset_expect(
|
||||||
|
@ -91,6 +91,7 @@ impl Body {
|
|||||||
quadruped_low::Species::Hakulaq => 140.0,
|
quadruped_low::Species::Hakulaq => 140.0,
|
||||||
quadruped_low::Species::Lavadrake => 100.0,
|
quadruped_low::Species::Lavadrake => 100.0,
|
||||||
quadruped_low::Species::Basilisk => 120.0,
|
quadruped_low::Species::Basilisk => 120.0,
|
||||||
|
quadruped_low::Species::Deadwood => 140.0,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -531,6 +531,7 @@ impl<'a> System<'a> for Sys {
|
|||||||
Tactic::QuadLowBasic
|
Tactic::QuadLowBasic
|
||||||
},
|
},
|
||||||
Some(ToolKind::Unique(UniqueKind::QuadLowBreathe)) => Tactic::Lavadrake,
|
Some(ToolKind::Unique(UniqueKind::QuadLowBreathe)) => Tactic::Lavadrake,
|
||||||
|
Some(ToolKind::Unique(UniqueKind::QuadLowBeam)) => Tactic::Lavadrake,
|
||||||
Some(ToolKind::Unique(UniqueKind::TheropodBasic)) => Tactic::Theropod,
|
Some(ToolKind::Unique(UniqueKind::TheropodBasic)) => Tactic::Theropod,
|
||||||
Some(ToolKind::Unique(UniqueKind::TheropodBird)) => Tactic::Theropod,
|
Some(ToolKind::Unique(UniqueKind::TheropodBird)) => Tactic::Theropod,
|
||||||
Some(ToolKind::Unique(UniqueKind::ObjectTurret)) => Tactic::Turret,
|
Some(ToolKind::Unique(UniqueKind::ObjectTurret)) => Tactic::Turret,
|
||||||
@ -1349,7 +1350,7 @@ impl<'a> System<'a> for Sys {
|
|||||||
do_idle = true;
|
do_idle = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Tactic::Lavadrake => {
|
Tactic::Lavadrake | Tactic::QuadLowBeam => {
|
||||||
if dist_sqrd < (2.5 * min_attack_dist * scale).powi(2) {
|
if dist_sqrd < (2.5 * min_attack_dist * scale).powi(2) {
|
||||||
inputs.move_dir = Vec2::zero();
|
inputs.move_dir = Vec2::zero();
|
||||||
inputs.secondary.set_state(true);
|
inputs.secondary.set_state(true);
|
||||||
|
@ -154,6 +154,31 @@ impl Animation for AlphaAnimation {
|
|||||||
* Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6);
|
* Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6);
|
||||||
next.head.orientation = Quaternion::rotation_x(move1 * 0.3);
|
next.head.orientation = Quaternion::rotation_x(move1 * 0.3);
|
||||||
},
|
},
|
||||||
|
Some(ToolKind::Unique(UniqueKind::TidalClaws)) => {
|
||||||
|
next.torso.position = Vec3::new(0.0, 0.0, move1 * -0.3);
|
||||||
|
next.upper_torso.orientation = Quaternion::rotation_x(move1 * -0.5 + move2 * -0.4);
|
||||||
|
next.lower_torso.orientation = Quaternion::rotation_x(move1 * 0.5 + move2 * 0.4);
|
||||||
|
|
||||||
|
next.shoulder_l.orientation = Quaternion::rotation_x(
|
||||||
|
move1 * 0.4 + 0.4 * speednorm + (footrotl * -0.2) * speednorm,
|
||||||
|
);
|
||||||
|
next.shoulder_r.orientation = Quaternion::rotation_x(
|
||||||
|
move1 * 0.4 + 0.4 * speednorm + (footrotl * -0.2) * speednorm,
|
||||||
|
);
|
||||||
|
|
||||||
|
next.control_l.position =
|
||||||
|
Vec3::new(-14.0 + move2 * 9.0, 12.0 + move1 * 6.0, -12.0 + move1 * 9.0);
|
||||||
|
next.control_r.position =
|
||||||
|
Vec3::new(14.0 + move2 * -9.0, 12.0 + move1 * 6.0, -12.0 + move1 * 9.0);
|
||||||
|
|
||||||
|
next.control_l.orientation = Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||||
|
* Quaternion::rotation_y(-0.15)
|
||||||
|
* Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6);
|
||||||
|
next.control_r.orientation = Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||||
|
* Quaternion::rotation_y(0.15)
|
||||||
|
* Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6);
|
||||||
|
next.head.orientation = Quaternion::rotation_x(move1 * 0.3);
|
||||||
|
},
|
||||||
_ => {},
|
_ => {},
|
||||||
}
|
}
|
||||||
next
|
next
|
||||||
|
@ -153,6 +153,31 @@ impl Animation for BetaAnimation {
|
|||||||
* Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6);
|
* Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6);
|
||||||
next.head.orientation = Quaternion::rotation_x(move1 * 0.3);
|
next.head.orientation = Quaternion::rotation_x(move1 * 0.3);
|
||||||
},
|
},
|
||||||
|
Some(ToolKind::Unique(UniqueKind::TidalClaws)) => {
|
||||||
|
next.torso.position = Vec3::new(0.0, 0.0, move1 * -0.3);
|
||||||
|
next.upper_torso.orientation = Quaternion::rotation_x(move1 * -0.5 + move2 * -0.4);
|
||||||
|
next.lower_torso.orientation = Quaternion::rotation_x(move1 * 0.5 + move2 * 0.4);
|
||||||
|
|
||||||
|
next.shoulder_l.orientation = Quaternion::rotation_x(
|
||||||
|
move1 * 0.4 + 0.4 * speednorm + (footrotl * -0.2) * speednorm,
|
||||||
|
);
|
||||||
|
next.shoulder_r.orientation = Quaternion::rotation_x(
|
||||||
|
move1 * 0.4 + 0.4 * speednorm + (footrotl * -0.2) * speednorm,
|
||||||
|
);
|
||||||
|
|
||||||
|
next.control_l.position =
|
||||||
|
Vec3::new(-14.0 + move2 * 9.0, 12.0 + move1 * 6.0, -12.0 + move1 * 9.0);
|
||||||
|
next.control_r.position =
|
||||||
|
Vec3::new(14.0 + move2 * -9.0, 12.0 + move1 * 6.0, -12.0 + move1 * 9.0);
|
||||||
|
|
||||||
|
next.control_l.orientation = Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||||
|
* Quaternion::rotation_y(-0.15)
|
||||||
|
* Quaternion::rotation_z(move1 * 0.5 + move2 * -0.6);
|
||||||
|
next.control_r.orientation = Quaternion::rotation_x(PI / 3.0 + move1 * 0.5)
|
||||||
|
* Quaternion::rotation_y(0.15)
|
||||||
|
* Quaternion::rotation_z(move1 * -0.5 + move2 * 0.6);
|
||||||
|
next.head.orientation = Quaternion::rotation_x(move1 * 0.3);
|
||||||
|
},
|
||||||
_ => {},
|
_ => {},
|
||||||
}
|
}
|
||||||
next
|
next
|
||||||
|
@ -205,6 +205,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (6.0, 3.5),
|
(Slysaurok, _) => (6.0, 3.5),
|
||||||
(Mindflayer, _) => (5.0, 5.5),
|
(Mindflayer, _) => (5.0, 5.5),
|
||||||
(Minotaur, _) => (6.0, 3.0),
|
(Minotaur, _) => (6.0, 3.0),
|
||||||
|
(Tidalwarrior, _) => (6.5, 5.0),
|
||||||
},
|
},
|
||||||
jaw: match (body.species, body.body_type) {
|
jaw: match (body.species, body.body_type) {
|
||||||
(Ogre, _) => (0.0, 0.0),
|
(Ogre, _) => (0.0, 0.0),
|
||||||
@ -218,6 +219,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (1.0, -2.5),
|
(Slysaurok, _) => (1.0, -2.5),
|
||||||
(Mindflayer, _) => (0.0, 0.0),
|
(Mindflayer, _) => (0.0, 0.0),
|
||||||
(Minotaur, _) => (2.0, -4.0),
|
(Minotaur, _) => (2.0, -4.0),
|
||||||
|
(Tidalwarrior, _) => (0.0, 0.0),
|
||||||
},
|
},
|
||||||
upper_torso: match (body.species, body.body_type) {
|
upper_torso: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => (0.0, 27.5),
|
(Ogre, Male) => (0.0, 27.5),
|
||||||
@ -232,6 +234,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (3.0, 24.0),
|
(Slysaurok, _) => (3.0, 24.0),
|
||||||
(Mindflayer, _) => (0.0, 30.5),
|
(Mindflayer, _) => (0.0, 30.5),
|
||||||
(Minotaur, _) => (-1.0, 31.5),
|
(Minotaur, _) => (-1.0, 31.5),
|
||||||
|
(Tidalwarrior, _) => (-1.0, 25.0),
|
||||||
},
|
},
|
||||||
lower_torso: match (body.species, body.body_type) {
|
lower_torso: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => (1.0, -7.0),
|
(Ogre, Male) => (1.0, -7.0),
|
||||||
@ -246,6 +249,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (0.0, -6.0),
|
(Slysaurok, _) => (0.0, -6.0),
|
||||||
(Mindflayer, _) => (3.5, -19.5),
|
(Mindflayer, _) => (3.5, -19.5),
|
||||||
(Minotaur, _) => (1.5, -8.5),
|
(Minotaur, _) => (1.5, -8.5),
|
||||||
|
(Tidalwarrior, _) => (0.0, -9.5),
|
||||||
},
|
},
|
||||||
tail: match (body.species, body.body_type) {
|
tail: match (body.species, body.body_type) {
|
||||||
(Werewolf, _) => (-5.5, -2.0),
|
(Werewolf, _) => (-5.5, -2.0),
|
||||||
@ -268,6 +272,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (7.5, 1.0, 1.5),
|
(Slysaurok, _) => (7.5, 1.0, 1.5),
|
||||||
(Mindflayer, _) => (8.0, 0.5, -1.0),
|
(Mindflayer, _) => (8.0, 0.5, -1.0),
|
||||||
(Minotaur, _) => (10.0, 1.0, -1.0),
|
(Minotaur, _) => (10.0, 1.0, -1.0),
|
||||||
|
(Tidalwarrior, _) => (14.0, -0.5, 2.0),
|
||||||
},
|
},
|
||||||
hand: match (body.species, body.body_type) {
|
hand: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => (14.5, 0.0, -4.0),
|
(Ogre, Male) => (14.5, 0.0, -4.0),
|
||||||
@ -282,6 +287,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (8.0, 1.5, -5.5),
|
(Slysaurok, _) => (8.0, 1.5, -5.5),
|
||||||
(Mindflayer, _) => (9.0, 0.5, -4.5),
|
(Mindflayer, _) => (9.0, 0.5, -4.5),
|
||||||
(Minotaur, _) => (12.5, 0.5, -7.0),
|
(Minotaur, _) => (12.5, 0.5, -7.0),
|
||||||
|
(Tidalwarrior, _) => (15.5, -0.5, -3.0),
|
||||||
},
|
},
|
||||||
leg: match (body.species, body.body_type) {
|
leg: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => (0.0, 0.0, -4.0),
|
(Ogre, Male) => (0.0, 0.0, -4.0),
|
||||||
@ -296,6 +302,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (3.0, 0.5, -4.0),
|
(Slysaurok, _) => (3.0, 0.5, -4.0),
|
||||||
(Mindflayer, _) => (6.0, -2.0, 6.5),
|
(Mindflayer, _) => (6.0, -2.0, 6.5),
|
||||||
(Minotaur, _) => (5.0, 0.0, -10.0),
|
(Minotaur, _) => (5.0, 0.0, -10.0),
|
||||||
|
(Tidalwarrior, _) => (2.5, 0.0, -5.5),
|
||||||
},
|
},
|
||||||
foot: match (body.species, body.body_type) {
|
foot: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => (4.0, 1.0, -12.0),
|
(Ogre, Male) => (4.0, 1.0, -12.0),
|
||||||
@ -310,6 +317,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => (3.5, 3.5, -10.0),
|
(Slysaurok, _) => (3.5, 3.5, -10.0),
|
||||||
(Mindflayer, _) => (4.5, 1.5, -7.0),
|
(Mindflayer, _) => (4.5, 1.5, -7.0),
|
||||||
(Minotaur, _) => (6.0, 4.5, -17.5),
|
(Minotaur, _) => (6.0, 4.5, -17.5),
|
||||||
|
(Tidalwarrior, _) => (3.5, 0.5, -10.5),
|
||||||
},
|
},
|
||||||
scaler: match (body.species, body.body_type) {
|
scaler: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => 1.4,
|
(Ogre, Male) => 1.4,
|
||||||
@ -324,20 +332,16 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => 1.2,
|
(Slysaurok, _) => 1.2,
|
||||||
(Mindflayer, _) => 1.5,
|
(Mindflayer, _) => 1.5,
|
||||||
(Minotaur, _) => 2.0,
|
(Minotaur, _) => 2.0,
|
||||||
|
(Tidalwarrior, _) => 2.0,
|
||||||
},
|
},
|
||||||
tempo: match (body.species, body.body_type) {
|
tempo: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => 0.9,
|
(Ogre, Male) => 0.9,
|
||||||
(Ogre, Female) => 0.9,
|
(Ogre, Female) => 0.9,
|
||||||
(Cyclops, _) => 0.8,
|
(Cyclops, _) => 0.8,
|
||||||
(Wendigo, _) => 1.0,
|
|
||||||
(Troll, _) => 0.9,
|
(Troll, _) => 0.9,
|
||||||
(Dullahan, _) => 0.8,
|
(Dullahan, _) => 0.8,
|
||||||
(Werewolf, _) => 1.0,
|
|
||||||
(Occultsaurok, _) => 1.0,
|
|
||||||
(Mightysaurok, _) => 1.0,
|
|
||||||
(Slysaurok, _) => 1.0,
|
|
||||||
(Mindflayer, _) => 1.0,
|
|
||||||
(Minotaur, _) => 0.8,
|
(Minotaur, _) => 0.8,
|
||||||
|
_ => 1.0,
|
||||||
},
|
},
|
||||||
grip: match (body.species, body.body_type) {
|
grip: match (body.species, body.body_type) {
|
||||||
(Ogre, Male) => 13.0,
|
(Ogre, Male) => 13.0,
|
||||||
@ -352,6 +356,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Slysaurok, _) => 10.0,
|
(Slysaurok, _) => 10.0,
|
||||||
(Mindflayer, _) => 12.0,
|
(Mindflayer, _) => 12.0,
|
||||||
(Minotaur, _) => 14.0,
|
(Minotaur, _) => 14.0,
|
||||||
|
(Tidalwarrior, _) => 14.0,
|
||||||
},
|
},
|
||||||
shl: match (body.species, body.body_type) {
|
shl: match (body.species, body.body_type) {
|
||||||
(Dullahan, _) => (-4.75, -11.0, 8.5, 1.47, -0.2, 0.0),
|
(Dullahan, _) => (-4.75, -11.0, 8.5, 1.47, -0.2, 0.0),
|
||||||
|
@ -240,6 +240,15 @@ impl Animation for WieldAnimation {
|
|||||||
next.control_r.orientation =
|
next.control_r.orientation =
|
||||||
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_y(0.15);
|
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_y(0.15);
|
||||||
},
|
},
|
||||||
|
Some(ToolKind::Unique(UniqueKind::TidalClaws)) => {
|
||||||
|
next.control_l.position = Vec3::new(-14.0, 12.0, -12.0);
|
||||||
|
next.control_r.position = Vec3::new(14.0, 12.0, -12.0);
|
||||||
|
|
||||||
|
next.control_l.orientation =
|
||||||
|
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_y(-0.15);
|
||||||
|
next.control_r.orientation =
|
||||||
|
Quaternion::rotation_x(PI / 3.0) * Quaternion::rotation_y(0.15);
|
||||||
|
},
|
||||||
Some(ToolKind::Unique(UniqueKind::BeastClaws)) => {
|
Some(ToolKind::Unique(UniqueKind::BeastClaws)) => {
|
||||||
next.shoulder_l.position =
|
next.shoulder_l.position =
|
||||||
Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2);
|
Vec3::new(-s_a.shoulder.0, s_a.shoulder.1, s_a.shoulder.2);
|
||||||
|
@ -80,18 +80,23 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
Self {
|
Self {
|
||||||
chest: match (body.species, body.body_type) {
|
chest: match (body.species, body.body_type) {
|
||||||
(Clownfish, _) => (0.0, 5.0),
|
(Clownfish, _) => (0.0, 5.0),
|
||||||
|
(Piranha, _) => (0.0, 5.0),
|
||||||
},
|
},
|
||||||
tail: match (body.species, body.body_type) {
|
tail: match (body.species, body.body_type) {
|
||||||
(Clownfish, _) => (-7.5, -0.5),
|
(Clownfish, _) => (-7.5, -0.5),
|
||||||
|
(Piranha, _) => (-5.5, -0.5),
|
||||||
},
|
},
|
||||||
fin: match (body.species, body.body_type) {
|
fin: match (body.species, body.body_type) {
|
||||||
(Clownfish, _) => (2.0, 0.5, 1.0),
|
(Clownfish, _) => (2.0, 0.5, 1.0),
|
||||||
|
(Piranha, _) => (2.0, 0.5, -0.5),
|
||||||
},
|
},
|
||||||
tempo: match (body.species, body.body_type) {
|
tempo: match (body.species, body.body_type) {
|
||||||
(Clownfish, _) => 5.0,
|
(Clownfish, _) => 5.0,
|
||||||
|
(Piranha, _) => 5.0,
|
||||||
},
|
},
|
||||||
amplitude: match (body.species, body.body_type) {
|
amplitude: match (body.species, body.body_type) {
|
||||||
(Clownfish, _) => 4.0,
|
(Clownfish, _) => 4.0,
|
||||||
|
(Piranha, _) => 4.0,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,6 +132,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (8.0, 10.0),
|
(Hakulaq, _) => (8.0, 10.0),
|
||||||
(Lavadrake, _) => (7.0, 8.0),
|
(Lavadrake, _) => (7.0, 8.0),
|
||||||
(Basilisk, _) => (11.0, 13.5),
|
(Basilisk, _) => (11.0, 13.5),
|
||||||
|
(Deadwood, _) => (2.0, -3.0),
|
||||||
},
|
},
|
||||||
head_lower: match (body.species, body.body_type) {
|
head_lower: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (8.0, 0.0),
|
(Crocodile, _) => (8.0, 0.0),
|
||||||
@ -148,6 +149,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (10.5, 1.0),
|
(Hakulaq, _) => (10.5, 1.0),
|
||||||
(Lavadrake, _) => (11.5, -6.0),
|
(Lavadrake, _) => (11.5, -6.0),
|
||||||
(Basilisk, _) => (8.5, -6.5),
|
(Basilisk, _) => (8.5, -6.5),
|
||||||
|
(Deadwood, _) => (0.0, 0.0),
|
||||||
},
|
},
|
||||||
jaw: match (body.species, body.body_type) {
|
jaw: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (2.5, -3.0),
|
(Crocodile, _) => (2.5, -3.0),
|
||||||
@ -164,6 +166,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (-6.5, -4.0),
|
(Hakulaq, _) => (-6.5, -4.0),
|
||||||
(Lavadrake, _) => (3.0, -5.0),
|
(Lavadrake, _) => (3.0, -5.0),
|
||||||
(Basilisk, _) => (1.5, 1.0),
|
(Basilisk, _) => (1.5, 1.0),
|
||||||
|
(Deadwood, _) => (-1.0, 4.0),
|
||||||
},
|
},
|
||||||
chest: match (body.species, body.body_type) {
|
chest: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (0.0, 5.0),
|
(Crocodile, _) => (0.0, 5.0),
|
||||||
@ -180,6 +183,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (0.0, 13.5),
|
(Hakulaq, _) => (0.0, 13.5),
|
||||||
(Lavadrake, _) => (0.0, 16.5),
|
(Lavadrake, _) => (0.0, 16.5),
|
||||||
(Basilisk, _) => (0.0, 16.5),
|
(Basilisk, _) => (0.0, 16.5),
|
||||||
|
(Deadwood, _) => (0.0, 12.0),
|
||||||
},
|
},
|
||||||
tail_rear: match (body.species, body.body_type) {
|
tail_rear: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (-12.5, -1.0),
|
(Crocodile, _) => (-12.5, -1.0),
|
||||||
@ -196,6 +200,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (-9.0, -2.0),
|
(Hakulaq, _) => (-9.0, -2.0),
|
||||||
(Lavadrake, _) => (-12.0, -2.0),
|
(Lavadrake, _) => (-12.0, -2.0),
|
||||||
(Basilisk, _) => (-10.0, -3.0),
|
(Basilisk, _) => (-10.0, -3.0),
|
||||||
|
(Deadwood, _) => (-15.0, 4.0),
|
||||||
},
|
},
|
||||||
tail_front: match (body.species, body.body_type) {
|
tail_front: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (-6.0, 0.0),
|
(Crocodile, _) => (-6.0, 0.0),
|
||||||
@ -212,6 +217,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (-6.0, -5.5),
|
(Hakulaq, _) => (-6.0, -5.5),
|
||||||
(Lavadrake, _) => (-7.0, -4.5),
|
(Lavadrake, _) => (-7.0, -4.5),
|
||||||
(Basilisk, _) => (-2.5, -4.5),
|
(Basilisk, _) => (-2.5, -4.5),
|
||||||
|
(Deadwood, _) => (-1.0, 4.0),
|
||||||
},
|
},
|
||||||
feet_f: match (body.species, body.body_type) {
|
feet_f: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (3.5, 6.0, -1.0),
|
(Crocodile, _) => (3.5, 6.0, -1.0),
|
||||||
@ -228,6 +234,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (4.5, 2.0, -4.5),
|
(Hakulaq, _) => (4.5, 2.0, -4.5),
|
||||||
(Lavadrake, _) => (4.5, 4.0, -6.5),
|
(Lavadrake, _) => (4.5, 4.0, -6.5),
|
||||||
(Basilisk, _) => (6.5, 4.0, -7.5),
|
(Basilisk, _) => (6.5, 4.0, -7.5),
|
||||||
|
(Deadwood, _) => (3.5, 4.0, -5.0),
|
||||||
},
|
},
|
||||||
feet_b: match (body.species, body.body_type) {
|
feet_b: match (body.species, body.body_type) {
|
||||||
(Crocodile, _) => (3.5, -6.0, -1.0),
|
(Crocodile, _) => (3.5, -6.0, -1.0),
|
||||||
@ -244,6 +251,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
(Hakulaq, _) => (3.5, -8.0, -4.5),
|
(Hakulaq, _) => (3.5, -8.0, -4.5),
|
||||||
(Lavadrake, _) => (3.5, -8.0, -6.5),
|
(Lavadrake, _) => (3.5, -8.0, -6.5),
|
||||||
(Basilisk, _) => (4.5, -13.0, -7.5),
|
(Basilisk, _) => (4.5, -13.0, -7.5),
|
||||||
|
(Deadwood, _) => (3.5, -6.0, -5.0),
|
||||||
},
|
},
|
||||||
lean: match (body.species, body.body_type) {
|
lean: match (body.species, body.body_type) {
|
||||||
(Pangolin, _) => (0.4, 0.0),
|
(Pangolin, _) => (0.4, 0.0),
|
||||||
|
@ -144,7 +144,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
head: match (body.species, body.body_type) {
|
head: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (0.0, -1.0),
|
(Grolgar, _) => (0.0, -1.0),
|
||||||
(Saber, _) => (5.0, -3.0),
|
(Saber, _) => (5.0, -3.0),
|
||||||
(Tuskram, _) => (2.0, 1.0),
|
(Tuskram, _) => (0.0, 0.0),
|
||||||
(Lion, _) => (4.5, 2.0),
|
(Lion, _) => (4.5, 2.0),
|
||||||
(Tarasque, _) => (-4.0, 3.5),
|
(Tarasque, _) => (-4.0, 3.5),
|
||||||
(Tiger, _) => (2.0, 1.0),
|
(Tiger, _) => (2.0, 1.0),
|
||||||
@ -205,7 +205,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
jaw: match (body.species, body.body_type) {
|
jaw: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (7.0, 2.0),
|
(Grolgar, _) => (7.0, 2.0),
|
||||||
(Saber, _) => (2.5, -2.0),
|
(Saber, _) => (2.5, -2.0),
|
||||||
(Tuskram, _) => (7.5, -3.5),
|
(Tuskram, _) => (4.0, -5.0),
|
||||||
(Lion, _) => (3.5, -4.0),
|
(Lion, _) => (3.5, -4.0),
|
||||||
(Tarasque, _) => (9.0, -9.5),
|
(Tarasque, _) => (9.0, -9.5),
|
||||||
(Tiger, _) => (3.0, -3.5),
|
(Tiger, _) => (3.0, -3.5),
|
||||||
@ -235,7 +235,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
tail: match (body.species, body.body_type) {
|
tail: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (-11.5, -0.5),
|
(Grolgar, _) => (-11.5, -0.5),
|
||||||
(Saber, _) => (-11.0, 0.0),
|
(Saber, _) => (-11.0, 0.0),
|
||||||
(Tuskram, _) => (-9.0, 2.0),
|
(Tuskram, _) => (-8.0, 2.0),
|
||||||
(Lion, _) => (-11.0, 1.0),
|
(Lion, _) => (-11.0, 1.0),
|
||||||
(Tarasque, _) => (-11.0, 0.0),
|
(Tarasque, _) => (-11.0, 0.0),
|
||||||
(Tiger, _) => (-13.5, 3.0),
|
(Tiger, _) => (-13.5, 3.0),
|
||||||
@ -265,7 +265,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
torso_front: match (body.species, body.body_type) {
|
torso_front: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (10.0, 13.0),
|
(Grolgar, _) => (10.0, 13.0),
|
||||||
(Saber, _) => (14.0, 13.0),
|
(Saber, _) => (14.0, 13.0),
|
||||||
(Tuskram, _) => (10.0, 14.5),
|
(Tuskram, _) => (10.0, 16.0),
|
||||||
(Lion, _) => (10.0, 12.5),
|
(Lion, _) => (10.0, 12.5),
|
||||||
(Tarasque, _) => (11.5, 17.5),
|
(Tarasque, _) => (11.5, 17.5),
|
||||||
(Tiger, _) => (10.0, 13.0),
|
(Tiger, _) => (10.0, 13.0),
|
||||||
@ -295,7 +295,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
torso_back: match (body.species, body.body_type) {
|
torso_back: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (-10.0, 1.5),
|
(Grolgar, _) => (-10.0, 1.5),
|
||||||
(Saber, _) => (-13.5, 0.0),
|
(Saber, _) => (-13.5, 0.0),
|
||||||
(Tuskram, _) => (-12.5, -2.0),
|
(Tuskram, _) => (-12.0, -2.5),
|
||||||
(Lion, _) => (-12.0, -0.5),
|
(Lion, _) => (-12.0, -0.5),
|
||||||
(Tarasque, _) => (-14.0, -1.0),
|
(Tarasque, _) => (-14.0, -1.0),
|
||||||
(Tiger, _) => (-13.0, -0.5),
|
(Tiger, _) => (-13.0, -0.5),
|
||||||
@ -325,7 +325,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
ears: match (body.species, body.body_type) {
|
ears: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (5.0, 8.0),
|
(Grolgar, _) => (5.0, 8.0),
|
||||||
(Saber, _) => (3.0, 5.5),
|
(Saber, _) => (3.0, 5.5),
|
||||||
(Tuskram, _) => (5.5, 12.0),
|
(Tuskram, _) => (0.0, 0.0),
|
||||||
(Lion, _) => (2.0, 3.5),
|
(Lion, _) => (2.0, 3.5),
|
||||||
(Tarasque, _) => (12.0, -3.0),
|
(Tarasque, _) => (12.0, -3.0),
|
||||||
(Tiger, _) => (2.5, 4.0),
|
(Tiger, _) => (2.5, 4.0),
|
||||||
@ -355,7 +355,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
leg_f: match (body.species, body.body_type) {
|
leg_f: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (7.5, -5.5, -1.0),
|
(Grolgar, _) => (7.5, -5.5, -1.0),
|
||||||
(Saber, _) => (7.0, -4.0, -2.5),
|
(Saber, _) => (7.0, -4.0, -2.5),
|
||||||
(Tuskram, _) => (6.0, -6.5, -4.0),
|
(Tuskram, _) => (8.5, -4.5, -2.0),
|
||||||
(Lion, _) => (6.5, -6.5, -1.5),
|
(Lion, _) => (6.5, -6.5, -1.5),
|
||||||
(Tarasque, _) => (7.0, -8.0, -6.0),
|
(Tarasque, _) => (7.0, -8.0, -6.0),
|
||||||
(Tiger, _) => (6.0, -6.0, -1.5),
|
(Tiger, _) => (6.0, -6.0, -1.5),
|
||||||
@ -385,7 +385,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
leg_b: match (body.species, body.body_type) {
|
leg_b: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (6.0, -6.5, -4.0),
|
(Grolgar, _) => (6.0, -6.5, -4.0),
|
||||||
(Saber, _) => (6.0, -7.0, -3.5),
|
(Saber, _) => (6.0, -7.0, -3.5),
|
||||||
(Tuskram, _) => (5.0, -4.5, -2.5),
|
(Tuskram, _) => (6.0, -5.5, -2.5),
|
||||||
(Lion, _) => (6.0, -5.0, -1.5),
|
(Lion, _) => (6.0, -5.0, -1.5),
|
||||||
(Tarasque, _) => (6.0, -6.5, -6.5),
|
(Tarasque, _) => (6.0, -6.5, -6.5),
|
||||||
(Tiger, _) => (6.0, -7.0, -1.0),
|
(Tiger, _) => (6.0, -7.0, -1.0),
|
||||||
@ -415,7 +415,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
feet_f: match (body.species, body.body_type) {
|
feet_f: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (0.0, 0.0, -4.0),
|
(Grolgar, _) => (0.0, 0.0, -4.0),
|
||||||
(Saber, _) => (1.0, -3.5, -2.5),
|
(Saber, _) => (1.0, -3.5, -2.5),
|
||||||
(Tuskram, _) => (0.5, 0.5, -3.0),
|
(Tuskram, _) => (-1.0, -1.5, -6.0),
|
||||||
(Lion, _) => (0.5, 0.5, -3.5),
|
(Lion, _) => (0.5, 0.5, -3.5),
|
||||||
(Tarasque, _) => (1.0, 0.0, -3.0),
|
(Tarasque, _) => (1.0, 0.0, -3.0),
|
||||||
(Tiger, _) => (0.5, 0.0, -4.5),
|
(Tiger, _) => (0.5, 0.0, -4.5),
|
||||||
@ -445,7 +445,7 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
|||||||
feet_b: match (body.species, body.body_type) {
|
feet_b: match (body.species, body.body_type) {
|
||||||
(Grolgar, _) => (0.5, -1.5, -3.0),
|
(Grolgar, _) => (0.5, -1.5, -3.0),
|
||||||
(Saber, _) => (1.0, -1.0, -1.0),
|
(Saber, _) => (1.0, -1.0, -1.0),
|
||||||
(Tuskram, _) => (0.5, -1.0, -2.5),
|
(Tuskram, _) => (0.5, -1.0, -3.0),
|
||||||
(Lion, _) => (0.5, -1.0, -3.0),
|
(Lion, _) => (0.5, -1.0, -3.0),
|
||||||
(Tarasque, _) => (1.5, -1.0, -2.5),
|
(Tarasque, _) => (1.5, -1.0, -2.5),
|
||||||
(Tiger, _) => (0.5, -1.0, -4.0),
|
(Tiger, _) => (0.5, -1.0, -4.0),
|
||||||
|
@ -160,7 +160,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
|
|||||||
Entry {
|
Entry {
|
||||||
make_entity: |pos, rng| {
|
make_entity: |pos, rng| {
|
||||||
EntityInfo::at(pos)
|
EntityInfo::at(pos)
|
||||||
.with_body(match rng.gen_range(0..5) {
|
.with_body(match rng.gen_range(0..4) {
|
||||||
0 => {
|
0 => {
|
||||||
bird_medium::Body::random_with(rng, &bird_medium::Species::Eagle).into()
|
bird_medium::Body::random_with(rng, &bird_medium::Species::Eagle).into()
|
||||||
},
|
},
|
||||||
@ -202,7 +202,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
|
|||||||
Entry {
|
Entry {
|
||||||
make_entity: |pos, rng| {
|
make_entity: |pos, rng| {
|
||||||
EntityInfo::at(pos)
|
EntityInfo::at(pos)
|
||||||
.with_body(match rng.gen_range(0..3) {
|
.with_body(match rng.gen_range(0..5) {
|
||||||
0 => quadruped_medium::Body::random_with(
|
0 => quadruped_medium::Body::random_with(
|
||||||
rng,
|
rng,
|
||||||
&quadruped_medium::Species::Tarasque,
|
&quadruped_medium::Species::Tarasque,
|
||||||
@ -216,6 +216,10 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
|
|||||||
2 => {
|
2 => {
|
||||||
theropod::Body::random_with(rng, &theropod::Species::Woodraptor).into()
|
theropod::Body::random_with(rng, &theropod::Species::Woodraptor).into()
|
||||||
},
|
},
|
||||||
|
3 => {
|
||||||
|
quadruped_low::Body::random_with(rng, &quadruped_low::Species::Deadwood)
|
||||||
|
.into()
|
||||||
|
},
|
||||||
_ => quadruped_medium::Body::random_with(
|
_ => quadruped_medium::Body::random_with(
|
||||||
rng,
|
rng,
|
||||||
&quadruped_medium::Species::Saber,
|
&quadruped_medium::Species::Saber,
|
||||||
@ -665,7 +669,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
|
|||||||
Entry {
|
Entry {
|
||||||
make_entity: |pos, rng| {
|
make_entity: |pos, rng| {
|
||||||
EntityInfo::at(pos)
|
EntityInfo::at(pos)
|
||||||
.with_body(match rng.gen_range(0..2) {
|
.with_body(match rng.gen_range(0..4) {
|
||||||
0 => quadruped_medium::Body::random_with(
|
0 => quadruped_medium::Body::random_with(
|
||||||
rng,
|
rng,
|
||||||
&quadruped_medium::Species::Bonerattler,
|
&quadruped_medium::Species::Bonerattler,
|
||||||
@ -806,9 +810,12 @@ pub fn apply_wildlife_supplement<'a, R: Rng>(
|
|||||||
Entry {
|
Entry {
|
||||||
make_entity: |pos, rng| {
|
make_entity: |pos, rng| {
|
||||||
EntityInfo::at(pos)
|
EntityInfo::at(pos)
|
||||||
.with_body(match rng.gen_range(0..2) {
|
.with_body(match rng.gen_range(0..3) {
|
||||||
0 => fish_medium::Body::random_with(rng, &fish_medium::Species::Marlin)
|
0 => fish_medium::Body::random_with(rng, &fish_medium::Species::Marlin)
|
||||||
.into(),
|
.into(),
|
||||||
|
1 => {
|
||||||
|
fish_small::Body::random_with(rng, &fish_small::Species::Piranha).into()
|
||||||
|
},
|
||||||
_ => fish_small::Body::random_with(rng, &fish_small::Species::Clownfish)
|
_ => fish_small::Body::random_with(rng, &fish_small::Species::Clownfish)
|
||||||
.into(),
|
.into(),
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user