mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
fix_salamander_and_elbst
This commit is contained in:
parent
aea4aca057
commit
dc688bccb9
@ -271,6 +271,11 @@
|
||||
secondary: "common.abilities.custom.theropodbasic.triplestrike",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Theropod Small"): (
|
||||
primary: "common.abilities.custom.theropodsmall.triplestrike",
|
||||
secondary: "common.abilities.custom.theropodsmall.triplestrike",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Theropod Bird"): (
|
||||
primary: "common.abilities.custom.theropodbird.triplestrike",
|
||||
secondary: "common.abilities.custom.theropodbird.triplestrike",
|
||||
|
@ -0,0 +1,60 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 30.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 17.5,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 3.0,
|
||||
range: 4.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 1.3,
|
||||
base_swing_duration: 0.15,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.5,
|
||||
forward_movement: 1.0,
|
||||
damage_kind: Crushing,
|
||||
),
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 30.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 20.5,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 3.0,
|
||||
range: 4.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.2,
|
||||
base_swing_duration: 0.15,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.3,
|
||||
forward_movement: 1.0,
|
||||
damage_kind: Crushing,
|
||||
),
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 30.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 22.5,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 25.0,
|
||||
range: 5.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.4,
|
||||
base_swing_duration: 0.125,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 1.6,
|
||||
forward_movement: 1.0,
|
||||
damage_kind: Crushing,
|
||||
),
|
||||
],
|
||||
initial_energy_gain: 0,
|
||||
max_energy_gain: 0,
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
11
assets/common/entity/wild/aggressive/reefsnapper.ron
Normal file
11
assets/common/entity/wild/aggressive/reefsnapper.ron
Normal file
@ -0,0 +1,11 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Automatic,
|
||||
body: RandomWith("reefsnapper"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.creature.quad_low.reefsnapper"),
|
||||
inventory: (
|
||||
loadout: FromBody,
|
||||
),
|
||||
meta: [],
|
||||
)
|
11
assets/common/entity/wild/aggressive/rootsnapper.ron
Normal file
11
assets/common/entity/wild/aggressive/rootsnapper.ron
Normal file
@ -0,0 +1,11 @@
|
||||
#![enable(implicit_some)]
|
||||
(
|
||||
name: Automatic,
|
||||
body: RandomWith("rootsnapper"),
|
||||
alignment: Alignment(Enemy),
|
||||
loot: LootTable("common.loot_tables.creature.quad_low.rootsnapper"),
|
||||
inventory: (
|
||||
loadout: FromBody,
|
||||
),
|
||||
meta: [],
|
||||
)
|
@ -2,8 +2,8 @@
|
||||
(
|
||||
name: Name("Elbst"),
|
||||
body: Exact(QuadrupedLow((
|
||||
species: Salamander,
|
||||
body_type: Female,
|
||||
species: Elbst,
|
||||
body_type: Male,
|
||||
))),
|
||||
alignment: Alignment(Wild),
|
||||
loot: LootTable("common.loot_tables.creature.quad_low.elbst"),
|
||||
@ -11,4 +11,4 @@
|
||||
loadout: FromBody,
|
||||
),
|
||||
meta: [],
|
||||
)
|
||||
)
|
21
assets/common/items/npc_weapons/unique/theropodsmall.ron
Normal file
21
assets/common/items/npc_weapons/unique/theropodsmall.ron
Normal file
@ -0,0 +1,21 @@
|
||||
ItemDef(
|
||||
name: "Theropod Small",
|
||||
description: "testing123",
|
||||
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("Theropod Small")),
|
||||
)
|
@ -0,0 +1,5 @@
|
||||
[
|
||||
(2.0, Item("common.items.food.meat.tough_raw")),
|
||||
(3.0, Item("common.items.crafting_ing.hide.carapace")),
|
||||
(1.0, Item("common.items.crafting_ing.coral_branch")),
|
||||
]
|
@ -0,0 +1,5 @@
|
||||
[
|
||||
(2.0, Item("common.items.food.meat.tough_raw")),
|
||||
(3.0, Item("common.items.crafting_ing.hide.carapace")),
|
||||
(1.0, Item("common.items.crafting_ing.animal_misc.lively_vine")),
|
||||
]
|
@ -1185,6 +1185,10 @@
|
||||
keyword: "salamander",
|
||||
generic: "Salamander"
|
||||
),
|
||||
elbst: (
|
||||
keyword: "elbst",
|
||||
generic: "Elbst"
|
||||
),
|
||||
monitor: (
|
||||
keyword: "monitor",
|
||||
generic: "Monitor"
|
||||
|
BIN
assets/voxygen/voxel/npc/elbst/male/chest.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/chest.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/foot_br.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/foot_br.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/foot_fr.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/foot_fr.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/head_lower.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/head_lower.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/head_upper.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/head_upper.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/jaw.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/jaw.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/tail_front.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/tail_front.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/elbst/male/tail_rear.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/npc/elbst/male/tail_rear.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/npc/reefsnapper/male/foot_fr.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/reefsnapper/male/foot_fr.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/chest.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/chest.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/foot_br.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/foot_br.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/foot_fr.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/foot_fr.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/head_lower.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/head_lower.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/head_upper.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/head_upper.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/jaw.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/jaw.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/tail_front.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/tail_front.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/female/tail_rear.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/female/tail_rear.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/chest.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/chest.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/foot_br.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/foot_br.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/foot_fr.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/foot_fr.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/head_lower.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/head_lower.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/head_upper.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/head_upper.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/jaw.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/jaw.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/tail_front.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/tail_front.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/npc/salamander/male/tail_rear.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/npc/salamander/male/tail_rear.vox
(Stored with Git LFS)
Binary file not shown.
@ -184,27 +184,79 @@
|
||||
(Salamander, Female): (
|
||||
upper: (
|
||||
offset: (-6.5, 0.0, -2.0),
|
||||
central: ("npc.salamander.female.head_upper"),
|
||||
central: ("npc.salamander.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.5, -2.0, -3.0),
|
||||
central: ("npc.salamander.female.head_lower"),
|
||||
offset: (-4.5, -1.5, -3.0),
|
||||
central: ("npc.salamander.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-6.5, 0.0, -3.5,),
|
||||
central: ("npc.salamander.female.jaw"),
|
||||
offset: (-6.5, 0.0, -3.0),
|
||||
central: ("npc.salamander.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-6.5, -8.5, -3.0),
|
||||
central: ("npc.salamander.female.chest"),
|
||||
central: ("npc.salamander.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-3.5, -13.0, -2.5),
|
||||
central: ("npc.salamander.female.tail_rear"),
|
||||
offset: (-3.5, -13.0, -3.0),
|
||||
central: ("npc.salamander.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-4.5, -9.0, -3.0),
|
||||
central: ("npc.salamander.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Elbst, Male): (
|
||||
upper: (
|
||||
offset: (-9.5, 0.0, -2.0),
|
||||
central: ("npc.elbst.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.5, -1.5, -3.0),
|
||||
central: ("npc.elbst.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-6.5, 0.0, -2.0),
|
||||
central: ("npc.elbst.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-8.5, -8.5, -3.0),
|
||||
central: ("npc.elbst.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-6.5, -13.0, -2.5),
|
||||
central: ("npc.elbst.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-5.5, -8.0, -3.0),
|
||||
central: ("npc.salamander.female.tail_front"),
|
||||
central: ("npc.elbst.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Elbst, Female): (
|
||||
upper: (
|
||||
offset: (-9.5, 0.0, -2.0),
|
||||
central: ("npc.elbst.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-4.5, -1.5, -3.0),
|
||||
central: ("npc.elbst.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-6.5, 0.0, -2.0),
|
||||
central: ("npc.elbst.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
offset: (-8.5, -8.5, -3.0),
|
||||
central: ("npc.elbst.male.chest"),
|
||||
),
|
||||
tail_rear: (
|
||||
offset: (-6.5, -13.0, -2.5),
|
||||
central: ("npc.elbst.male.tail_rear"),
|
||||
),
|
||||
tail_front: (
|
||||
offset: (-5.5, -8.0, -3.0),
|
||||
central: ("npc.elbst.male.tail_front"),
|
||||
),
|
||||
),
|
||||
(Monitor, Male): (
|
||||
@ -470,15 +522,15 @@
|
||||
),
|
||||
(Reefsnapper, Male): (
|
||||
upper: (
|
||||
offset: (-3.5, 1.5, -4.0),
|
||||
offset: (-3.5, -2.5, -6.0),
|
||||
central: ("npc.reefsnapper.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-3.5, -1.0, -6.0),
|
||||
offset: (-3.5, -3.0, -6.0),
|
||||
central: ("npc.reefsnapper.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-4.5, 7.0, -5.0),
|
||||
offset: (-4.5, 4.0, -4.0),
|
||||
central: ("npc.reefsnapper.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
@ -496,15 +548,15 @@
|
||||
),
|
||||
(Reefsnapper, Female): (
|
||||
upper: (
|
||||
offset: (-3.5, 1.5, -4.0),
|
||||
offset: (-3.5, -2.5, -6.0),
|
||||
central: ("npc.reefsnapper.male.head_upper"),
|
||||
),
|
||||
lower: (
|
||||
offset: (-3.5, -1.0, -6.0),
|
||||
offset: (-3.5, -3.0, -6.0),
|
||||
central: ("npc.reefsnapper.male.head_lower"),
|
||||
),
|
||||
jaw: (
|
||||
offset: (-4.5, 7.0, -5.0),
|
||||
offset: (-4.5, 4.0, -4.0),
|
||||
central: ("npc.reefsnapper.male.jaw"),
|
||||
),
|
||||
chest: (
|
||||
|
@ -128,19 +128,55 @@
|
||||
(Salamander, Female): (
|
||||
front_left: (
|
||||
offset: (-6.0, 0.0, -3.0),
|
||||
lateral: ("npc.salamander.female.foot_fr", false),
|
||||
lateral: ("npc.salamander.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (0.0, 0.0, -3.0),
|
||||
lateral: ("npc.salamander.female.foot_fr", false),
|
||||
lateral: ("npc.salamander.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-7.5, 0.0, -3.0),
|
||||
lateral: ("npc.salamander.female.foot_br", false),
|
||||
offset: (-7.0, 0.0, -3.0),
|
||||
lateral: ("npc.salamander.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (-0.0, 0.0, -3.0),
|
||||
lateral: ("npc.salamander.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Elbst, Male): (
|
||||
front_left: (
|
||||
offset: (-6.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (0.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-8.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (0.0, 0.0, -3.0),
|
||||
lateral: ("npc.salamander.female.foot_br", false),
|
||||
lateral: ("npc.elbst.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Elbst, Female): (
|
||||
front_left: (
|
||||
offset: (-6.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (0.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
offset: (-8.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_br", false),
|
||||
),
|
||||
back_right: (
|
||||
offset: (0.0, 0.0, -3.0),
|
||||
lateral: ("npc.elbst.male.foot_br", false),
|
||||
),
|
||||
),
|
||||
(Monitor, Male): (
|
||||
@ -325,11 +361,11 @@
|
||||
),
|
||||
(Reefsnapper, Male): (
|
||||
front_left: (
|
||||
offset: (-12.0, 0.0, -10.0),
|
||||
offset: (-12.0, -9.0, -10.0),
|
||||
lateral: ("npc.reefsnapper.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (-3.0, 0.0, -10.0),
|
||||
offset: (-3.0, -9.0, -10.0),
|
||||
lateral: ("npc.reefsnapper.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
@ -343,11 +379,11 @@
|
||||
),
|
||||
(Reefsnapper, Female): (
|
||||
front_left: (
|
||||
offset: (-12.0, 0.0, -10.0),
|
||||
offset: (-12.0, -9.0, -10.0),
|
||||
lateral: ("npc.reefsnapper.male.foot_fr", false),
|
||||
),
|
||||
front_right: (
|
||||
offset: (-3.0, 0.0, -10.0),
|
||||
offset: (-3.0, -9.0, -10.0),
|
||||
lateral: ("npc.reefsnapper.male.foot_fr", false),
|
||||
),
|
||||
back_left: (
|
||||
|
@ -7,7 +7,7 @@ SpawnEntry (
|
||||
// Casual
|
||||
(2, (1, 1, "common.entity.wild.peaceful.camel")),
|
||||
(2, (1, 1, "common.entity.wild.peaceful.sand_hare")),
|
||||
(2, (1, 1, "common.entity.wild.peaceful.sand_salamander")),
|
||||
(2, (1, 1, "common.entity.wild.peaceful.salamander")),
|
||||
(2, (1, 1, "common.entity.wild.peaceful.gecko")),
|
||||
// Rare
|
||||
(1, (1, 1, "common.entity.wild.peaceful.crawler_sand")),
|
||||
|
16
assets/world/wildlife/spawn/desert/rock.ron
Normal file
16
assets/world/wildlife/spawn/desert/rock.ron
Normal file
@ -0,0 +1,16 @@
|
||||
SpawnEntry (
|
||||
name: "Desert rocky animals.",
|
||||
note: "Search for the rocks in desert and you will find them.",
|
||||
rules: [
|
||||
Pack(
|
||||
groups: [
|
||||
(1, (1, 1, "common.entity.wild.aggressive.rocksnapper")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.dodarock")),
|
||||
(2, (1, 3, "common.entity.wild.peaceful.gecko")),
|
||||
(2, (1, 2, "common.entity.wild.peaceful.sand_hare")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Night, Morning, Noon, Evening],
|
||||
),
|
||||
],
|
||||
)
|
@ -13,6 +13,7 @@ SpawnEntry (
|
||||
(1, (1, 1, "common.entity.wild.aggressive.horn_beetle")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.stag_beetle")),
|
||||
(1, (1, 1, "common.entity.wild.peaceful.crawler_moss")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.rootsnapper")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Morning, Noon, Evening],
|
||||
|
@ -5,7 +5,7 @@ SpawnEntry (
|
||||
Pack(
|
||||
groups: [
|
||||
(5, (1, 1, "common.entity.wild.peaceful.beaver")),
|
||||
(5, (1, 1, "common.entity.wild.peaceful.river_salamander")),
|
||||
(5, (1, 1, "common.entity.wild.peaceful.elbst")),
|
||||
(5, (1, 1, "common.entity.wild.peaceful.duck")),
|
||||
(1, (1, 1, "common.entity.wild.peaceful.kelpie")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.hakulaq")),
|
||||
|
@ -4,7 +4,8 @@ SpawnEntry (
|
||||
rules: [
|
||||
Pack(
|
||||
groups: [
|
||||
(1, (1, 3, "common.entity.wild.aggressive.sea_crocodile")),
|
||||
(3, (1, 3, "common.entity.wild.aggressive.sea_crocodile")),
|
||||
(1, (1, 1, "common.entity.wild.aggressive.reefsnapper")),
|
||||
],
|
||||
spawn_mode: Water,
|
||||
day_period: [Night, Morning, Noon, Evening],
|
||||
|
@ -4,10 +4,10 @@ SpawnEntry (
|
||||
rules: [
|
||||
Pack(
|
||||
groups: [
|
||||
(1, (1, 1, "common.entity.wild.aggressive.dodarock")),
|
||||
(1, (1, 3, "common.entity.wild.peaceful.gecko")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Night, Morning, Noon, Evening],
|
||||
),
|
||||
],
|
||||
)
|
||||
)
|
@ -4,10 +4,11 @@ SpawnEntry (
|
||||
rules: [
|
||||
Pack(
|
||||
groups: [
|
||||
(1, (1, 1, "common.entity.wild.aggressive.rocksnapper")),
|
||||
(1, (1, 1, "common.entity.wild.peaceful.jackalope")),
|
||||
(1, (1, 1, "common.entity.wild.peaceful.arctic_hare")),
|
||||
],
|
||||
spawn_mode: Land,
|
||||
day_period: [Night, Morning, Noon, Evening],
|
||||
),
|
||||
],
|
||||
)
|
||||
)
|
@ -231,7 +231,7 @@ impl<'a> From<&'a Body> for Psyche {
|
||||
_ => 0.3,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
quadruped_low::Species::Salamander => 0.2,
|
||||
quadruped_low::Species::Salamander | quadruped_low::Species::Elbst => 0.2,
|
||||
quadruped_low::Species::Monitor => 0.3,
|
||||
quadruped_low::Species::Pangolin => 0.6,
|
||||
quadruped_low::Species::Tortoise => 0.2,
|
||||
|
@ -312,6 +312,7 @@ impl Body {
|
||||
quadruped_low::Species::Monitor => 100.0,
|
||||
quadruped_low::Species::Pangolin => 100.0,
|
||||
quadruped_low::Species::Salamander => 65.0,
|
||||
quadruped_low::Species::Elbst => 65.0,
|
||||
quadruped_low::Species::Tortoise => 200.0,
|
||||
_ => 200.0,
|
||||
},
|
||||
@ -480,6 +481,7 @@ impl Body {
|
||||
quadruped_low::Species::Sandshark => Vec3::new(2.1, 4.3, 1.7),
|
||||
quadruped_low::Species::Basilisk => Vec3::new(2.7, 6.0, 2.9),
|
||||
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),
|
||||
_ => Vec3::new(1.0, 1.6, 1.3),
|
||||
},
|
||||
|
@ -58,6 +58,7 @@ make_case_elim!(
|
||||
Rocksnapper = 16,
|
||||
Rootsnapper = 17,
|
||||
Reefsnapper = 18,
|
||||
Elbst = 19,
|
||||
}
|
||||
);
|
||||
|
||||
@ -70,6 +71,7 @@ pub struct AllSpecies<SpeciesMeta> {
|
||||
pub sea_crocodile: SpeciesMeta,
|
||||
pub alligator: SpeciesMeta,
|
||||
pub salamander: SpeciesMeta,
|
||||
pub elbst: SpeciesMeta,
|
||||
pub monitor: SpeciesMeta,
|
||||
pub asp: SpeciesMeta,
|
||||
pub tortoise: SpeciesMeta,
|
||||
@ -97,6 +99,7 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
Species::SeaCrocodile => &self.sea_crocodile,
|
||||
Species::Alligator => &self.alligator,
|
||||
Species::Salamander => &self.salamander,
|
||||
Species::Elbst => &self.elbst,
|
||||
Species::Monitor => &self.monitor,
|
||||
Species::Asp => &self.asp,
|
||||
Species::Tortoise => &self.tortoise,
|
||||
@ -116,11 +119,12 @@ impl<'a, SpeciesMeta> core::ops::Index<&'a Species> for AllSpecies<SpeciesMeta>
|
||||
}
|
||||
}
|
||||
|
||||
pub const ALL_SPECIES: [Species; 19] = [
|
||||
pub const ALL_SPECIES: [Species; 20] = [
|
||||
Species::Crocodile,
|
||||
Species::SeaCrocodile,
|
||||
Species::Alligator,
|
||||
Species::Salamander,
|
||||
Species::Elbst,
|
||||
Species::Monitor,
|
||||
Species::Asp,
|
||||
Species::Tortoise,
|
||||
|
@ -585,7 +585,8 @@ fn default_main_tool(body: &Body) -> Item {
|
||||
quadruped_low::Species::Crocodile
|
||||
| quadruped_low::Species::SeaCrocodile
|
||||
| quadruped_low::Species::Alligator
|
||||
| quadruped_low::Species::Salamander => Some(Item::new_from_asset_expect(
|
||||
| quadruped_low::Species::Salamander
|
||||
| quadruped_low::Species::Elbst => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.quadlowtail",
|
||||
)),
|
||||
quadruped_low::Species::Monitor | quadruped_low::Species::Pangolin => Some(
|
||||
@ -616,6 +617,9 @@ fn default_main_tool(body: &Body) -> Item {
|
||||
theropod::Species::Yale => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.theropodcharge",
|
||||
)),
|
||||
theropod::Species::Dodarock => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.theropodsmall",
|
||||
)),
|
||||
_ => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.theropodbasic",
|
||||
)),
|
||||
|
@ -90,7 +90,9 @@ pub fn is_mountable(mount: &Body, rider: Option<&Body>) -> bool {
|
||||
},
|
||||
Body::QuadrupedLow(body) => matches!(
|
||||
body.species,
|
||||
quadruped_low::Species::Salamander | quadruped_low::Species::Tortoise
|
||||
quadruped_low::Species::Salamander
|
||||
| quadruped_low::Species::Elbst
|
||||
| quadruped_low::Species::Tortoise
|
||||
),
|
||||
_ => false,
|
||||
}
|
||||
|
@ -117,6 +117,7 @@ impl Body {
|
||||
quadruped_low::Species::SeaCrocodile => 120.0,
|
||||
quadruped_low::Species::Alligator => 110.0,
|
||||
quadruped_low::Species::Salamander => 85.0,
|
||||
quadruped_low::Species::Elbst => 85.0,
|
||||
quadruped_low::Species::Monitor => 160.0,
|
||||
quadruped_low::Species::Asp => 110.0,
|
||||
quadruped_low::Species::Tortoise => 60.0,
|
||||
|
@ -948,7 +948,9 @@ impl<'a> AgentData<'a> {
|
||||
"Quad Low Tail" | "Husk Brute" => Tactic::TailSlap,
|
||||
"Quad Low Quick" => Tactic::QuadLowQuick,
|
||||
"Quad Low Basic" => Tactic::QuadLowBasic,
|
||||
"Theropod Basic" | "Theropod Bird" => Tactic::Theropod,
|
||||
"Theropod Basic" | "Theropod Bird" | "Theropod Small" => {
|
||||
Tactic::Theropod
|
||||
},
|
||||
// Arthropods
|
||||
"Antlion" => Tactic::ArthropodMelee,
|
||||
"Tarantula" | "Horn Beetle" => Tactic::ArthropodAmbush,
|
||||
|
@ -148,14 +148,14 @@ impl Default for SkeletonAttr {
|
||||
|
||||
impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
fn from(body: &'a Body) -> Self {
|
||||
use comp::quadruped_low::{BodyType::*, Species::*};
|
||||
use comp::quadruped_low::Species::*;
|
||||
Self {
|
||||
head_upper: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (1.5, 2.0),
|
||||
(SeaCrocodile, _) => (1.5, 2.0),
|
||||
(Alligator, _) => (0.5, 2.0),
|
||||
(Salamander, Male) => (0.5, 2.5),
|
||||
(Salamander, Female) => (0.5, 1.0),
|
||||
(Salamander, _) => (0.5, 1.0),
|
||||
(Elbst, _) => (0.5, 1.0),
|
||||
(Monitor, _) => (5.5, 3.0),
|
||||
(Asp, _) => (4.5, 10.5),
|
||||
(Tortoise, _) => (5.0, 1.0),
|
||||
@ -176,8 +176,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (8.0, 0.0),
|
||||
(SeaCrocodile, _) => (8.0, 0.0),
|
||||
(Alligator, _) => (9.0, 0.25),
|
||||
(Salamander, Male) => (9.0, 0.0),
|
||||
(Salamander, Female) => (9.0, 0.0),
|
||||
(Salamander, _) => (9.0, 0.0),
|
||||
(Elbst, _) => (9.0, 0.0),
|
||||
(Monitor, _) => (7.0, 0.0),
|
||||
(Asp, _) => (6.0, -2.5),
|
||||
(Tortoise, _) => (12.0, -3.5),
|
||||
@ -198,8 +198,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (2.5, -3.0),
|
||||
(SeaCrocodile, _) => (2.5, -3.0),
|
||||
(Alligator, _) => (2.5, -2.0),
|
||||
(Salamander, Male) => (0.0, -2.0),
|
||||
(Salamander, Female) => (0.5, -1.0),
|
||||
(Salamander, _) => (0.5, -1.0),
|
||||
(Elbst, _) => (0.5, -1.0),
|
||||
(Monitor, _) => (3.0, -1.0),
|
||||
(Asp, _) => (2.0, -2.0),
|
||||
(Tortoise, _) => (-3.5, -2.0),
|
||||
@ -220,8 +220,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (0.0, 5.0),
|
||||
(SeaCrocodile, _) => (0.0, 5.0),
|
||||
(Alligator, _) => (0.0, 5.0),
|
||||
(Salamander, Male) => (0.0, 5.0),
|
||||
(Salamander, Female) => (0.0, 5.0),
|
||||
(Salamander, _) => (0.0, 5.0),
|
||||
(Elbst, _) => (0.0, 5.0),
|
||||
(Monitor, _) => (0.0, 5.0),
|
||||
(Asp, _) => (0.0, 8.0),
|
||||
(Tortoise, _) => (0.0, 11.0),
|
||||
@ -242,8 +242,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (-12.5, -1.0),
|
||||
(SeaCrocodile, _) => (-12.5, -1.0),
|
||||
(Alligator, _) => (-13.0, -1.0),
|
||||
(Salamander, Male) => (-8.0, 0.0),
|
||||
(Salamander, Female) => (-6.5, 0.0),
|
||||
(Salamander, _) => (-6.5, 0.0),
|
||||
(Elbst, _) => (-6.5, 0.0),
|
||||
(Monitor, _) => (-12.0, 0.0),
|
||||
(Asp, _) => (-14.0, -2.0),
|
||||
(Tortoise, _) => (-10.0, -1.5),
|
||||
@ -264,8 +264,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (-6.0, 0.0),
|
||||
(SeaCrocodile, _) => (-6.0, 0.0),
|
||||
(Alligator, _) => (-5.0, 0.0),
|
||||
(Salamander, Male) => (-7.5, 0.0),
|
||||
(Salamander, Female) => (-7.0, 0.0),
|
||||
(Salamander, _) => (-7.5, 0.0),
|
||||
(Elbst, _) => (-7.0, 0.0),
|
||||
(Monitor, _) => (-6.5, 0.0),
|
||||
(Asp, _) => (-6.0, -2.0),
|
||||
(Tortoise, _) => (-13.0, -3.5),
|
||||
@ -286,8 +286,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (3.5, 6.0, -1.0),
|
||||
(SeaCrocodile, _) => (3.5, 6.0, -1.0),
|
||||
(Alligator, _) => (4.5, 4.25, -1.0),
|
||||
(Salamander, Male) => (5.0, 5.0, -2.0),
|
||||
(Salamander, Female) => (5.0, 4.5, -2.0),
|
||||
(Salamander, _) => (5.0, 4.5, -2.0),
|
||||
(Elbst, _) => (5.0, 4.5, -2.0),
|
||||
(Monitor, _) => (3.0, 5.0, 0.0),
|
||||
(Asp, _) => (1.5, 4.0, -1.0),
|
||||
(Tortoise, _) => (5.5, 6.5, -3.0),
|
||||
@ -308,8 +308,8 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
(Crocodile, _) => (3.5, -6.0, -1.0),
|
||||
(SeaCrocodile, _) => (3.5, -6.0, -1.0),
|
||||
(Alligator, _) => (4.5, -5.5, -1.0),
|
||||
(Salamander, Male) => (4.0, -6.0, -2.0),
|
||||
(Salamander, Female) => (3.0, -6.0, -2.0),
|
||||
(Salamander, _) => (3.0, -6.0, -2.0),
|
||||
(Elbst, _) => (3.0, -6.0, -2.0),
|
||||
(Monitor, _) => (2.5, -6.5, 0.0),
|
||||
(Asp, _) => (2.5, -5.5, -1.0),
|
||||
(Tortoise, _) => (5.5, -11.5, -3.0),
|
||||
@ -331,54 +331,56 @@ impl<'a> From<&'a Body> for SkeletonAttr {
|
||||
_ => (0.0, 1.0),
|
||||
},
|
||||
scaler: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => 1.05,
|
||||
(SeaCrocodile, _) => 1.05,
|
||||
(Alligator, _) => 1.12,
|
||||
(Salamander, _) => 1.12,
|
||||
(Monitor, _) => 0.9,
|
||||
(Asp, _) => 1.12,
|
||||
(Rocksnapper, _) => 1.12,
|
||||
(Rootsnapper, _) => 1.12,
|
||||
(Reefsnapper, _) => 1.12,
|
||||
(Hakulaq, _) => 1.05,
|
||||
(Dagon, _) => 1.05,
|
||||
(Pangolin, _) => 1.05,
|
||||
(Maneater, _) => 1.12,
|
||||
(Lavadrake, _) => 1.12,
|
||||
(Icedrake, _) => 1.12,
|
||||
(Basilisk, _) => 1.3,
|
||||
_ => 0.9,
|
||||
(Crocodile, _) => (1.05),
|
||||
(SeaCrocodile, _) => (1.05),
|
||||
(Alligator, _) => (1.12),
|
||||
(Salamander, _) => (1.12),
|
||||
(Elbst, _) => (1.12),
|
||||
(Monitor, _) => (0.9),
|
||||
(Asp, _) => (1.12),
|
||||
(Rocksnapper, _) => (1.12),
|
||||
(Rootsnapper, _) => (1.12),
|
||||
(Reefsnapper, _) => (1.12),
|
||||
(Hakulaq, _) => (1.05),
|
||||
(Dagon, _) => (1.05),
|
||||
(Pangolin, _) => (1.05),
|
||||
(Maneater, _) => (1.12),
|
||||
(Lavadrake, _) => (1.12),
|
||||
(Icedrake, _) => (1.12),
|
||||
(Basilisk, _) => (1.3),
|
||||
_ => (0.9),
|
||||
},
|
||||
tempo: match (body.species, body.body_type) {
|
||||
(Crocodile, _) => 0.7,
|
||||
(SeaCrocodile, _) => 0.7,
|
||||
(Alligator, _) => 0.7,
|
||||
(Salamander, _) => 0.85,
|
||||
(Monitor, _) => 1.4,
|
||||
(Tortoise, _) => 0.7,
|
||||
(Rocksnapper, _) => 0.7,
|
||||
(Rootsnapper, _) => 0.7,
|
||||
(Reefsnapper, _) => 0.7,
|
||||
(Hakulaq, _) => 1.2,
|
||||
(Dagon, _) => 1.2,
|
||||
(Pangolin, _) => 1.15,
|
||||
(Maneater, _) => 0.9,
|
||||
(Lavadrake, _) => 1.1,
|
||||
(Icedrake, _) => 1.1,
|
||||
(Basilisk, _) => 0.8,
|
||||
_ => 1.0,
|
||||
(Crocodile, _) => (0.7),
|
||||
(SeaCrocodile, _) => (0.7),
|
||||
(Alligator, _) => (0.7),
|
||||
(Salamander, _) => (0.85),
|
||||
(Elbst, _) => (0.85),
|
||||
(Monitor, _) => (1.4),
|
||||
(Tortoise, _) => (0.7),
|
||||
(Rocksnapper, _) => (0.7),
|
||||
(Rootsnapper, _) => (0.7),
|
||||
(Reefsnapper, _) => (0.7),
|
||||
(Hakulaq, _) => (1.2),
|
||||
(Dagon, _) => (1.2),
|
||||
(Pangolin, _) => (1.15),
|
||||
(Maneater, _) => (0.9),
|
||||
(Lavadrake, _) => (1.1),
|
||||
(Icedrake, _) => (1.1),
|
||||
(Basilisk, _) => (0.8),
|
||||
_ => (1.0),
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
fn mount_point(body: &Body) -> Vec3<f32> {
|
||||
use comp::quadruped_low::{BodyType::*, Species::*};
|
||||
use comp::quadruped_low::Species::*;
|
||||
match (body.species, body.body_type) {
|
||||
(Crocodile, _) => (0.0, 4.5, -2.0),
|
||||
(SeaCrocodile, _) => (0.0, 4.5, -2.0),
|
||||
(Alligator, _) => (0.0, 4.25, -2.0),
|
||||
(Salamander, Male) => (0.0, 5.0, -1.0),
|
||||
(Salamander, Female) => (0.0, 5.0, -1.0),
|
||||
(Salamander, _) => (0.0, 5.0, -1.0),
|
||||
(Elbst, _) => (0.0, 5.0, -1.0),
|
||||
(Monitor, _) => (0.0, 2.0, -2.0),
|
||||
(Asp, _) => (0.0, 2.0, 0.0),
|
||||
(Tortoise, _) => (0.0, -7.0, -1.0),
|
||||
|
@ -838,8 +838,8 @@ fn apply_entity_spawns<R: Rng>(canvas: &mut Canvas, wpos: Vec3<i32>, biome: &Bio
|
||||
(biome.leafy + 0.05) * 0.5,
|
||||
),
|
||||
(
|
||||
Some("common.entity.wild.peaceful.tortoise"),
|
||||
(biome.leafy + 0.05) * 0.35,
|
||||
Some("common.entity.wild.aggressive.rootsnapper"),
|
||||
(biome.leafy + 0.05) * 0.05,
|
||||
),
|
||||
(
|
||||
Some("common.entity.wild.peaceful.axolotl"),
|
||||
@ -872,7 +872,7 @@ fn apply_entity_spawns<R: Rng>(canvas: &mut Canvas, wpos: Vec3<i32>, biome: &Bio
|
||||
// Dusty biome
|
||||
(
|
||||
Some("common.entity.wild.aggressive.dodarock"),
|
||||
(biome.dusty.max(biome.barren) + 0.05) * 0.35,
|
||||
(biome.dusty.max(biome.barren) + 0.05) * 0.05,
|
||||
),
|
||||
(
|
||||
Some("common.entity.wild.aggressive.cave_spider"),
|
||||
|
@ -340,6 +340,10 @@ pub fn spawn_manifest() -> Vec<(&'static str, DensityFn)> {
|
||||
("world.wildlife.spawn.desert.hot", |c, _col| {
|
||||
close(c.temp, CONFIG.desert_temp + 0.2, 0.3) * BASE_DENSITY * 3.8
|
||||
}),
|
||||
// Rock animals
|
||||
("world.wildlife.spawn.desert.rock", |c, col| {
|
||||
close(c.temp, CONFIG.desert_temp + 0.2, 0.2) * col.rock_density * BASE_DENSITY * 5.0
|
||||
}),
|
||||
]
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user