more loot tables, overworld ores, more items

This commit is contained in:
jshipsey 2021-05-25 03:27:34 -04:00 committed by Marcel Märtens
parent 05de96c94b
commit 8acd3832e3
56 changed files with 371 additions and 39 deletions

View File

@ -1,7 +1,7 @@
[ [
(10, Velorite), (30, Velorite),
(15, VeloriteFrag), (40, VeloriteFrag),
(100, ShortGrass), (70, ShortGrass),
(10, CaveMushroom), (10, CaveMushroom),
(10, AmethystSmall), (10, AmethystSmall),
(10, TopazSmall), (10, TopazSmall),

View File

@ -1,15 +1,12 @@
[ [
(10, Velorite),
(15, VeloriteFrag),
(110, Stones), (110, Stones),
(150, ShortGrass), (150, ShortGrass),
(120, CaveMushroom), (120, CaveMushroom),
(30, AmethystSmall), (30, AmethystSmall),
(15, TopazSmall), (15, TopazSmall),
(20, Tin), (15, Tin),
(16, Copper), (12, Copper),
(5, Coal), (15, Iron),
(8, Iron),
(5, Chest), (5, Chest),
(15, Crate), (15, Crate),
] ]

View File

@ -19,7 +19,6 @@ loot_tables: [
(1.0, true, "common.loot_tables.armor.twigs"), (1.0, true, "common.loot_tables.armor.twigs"),
(1.0, true, "common.loot_tables.armor.twigsflowers"), (1.0, true, "common.loot_tables.armor.twigsflowers"),
(1.0, true, "common.loot_tables.armor.twigsleaves"), (1.0, true, "common.loot_tables.armor.twigsleaves"),
(0.25, false, "common.loot_tables.armor.steel"),
(0.075, false, "common.loot_tables.armor.cultist"), (0.075, false, "common.loot_tables.armor.cultist"),
// Materials // Materials
(7.5, true, "common.loot_tables.materials.common"), (7.5, true, "common.loot_tables.materials.common"),

View File

@ -0,0 +1,9 @@
ItemDef(
name: "Phoenix Feather",
description: "Said to have magical properties.",
kind: Ingredient(
kind: "PhoenixFeather",
),
quality: Common,
tags: [],
)

View File

@ -0,0 +1,22 @@
ItemDef(
name: "Cooked Bird Meat",
description: "Best enjoyed with one in each hand.",
kind: Consumable(
kind: "BirdCooked",
effect: [
Buff((
kind: Saturation,
data: (
strength: 25.0,
duration: Some((
secs: 10,
nanos: 0,
)),
),
cat_ids: [Natural],
)),
]
),
quality: Common,
tags: [Food],
)

View File

@ -0,0 +1,22 @@
ItemDef(
name: "Huge Cooked Drumstick",
description: "Makes for a legendary meal.",
kind: Consumable(
kind: "BirdLargeCooked",
effect: [
Buff((
kind: Saturation,
data: (
strength: 80.0,
duration: Some((
secs: 10,
nanos: 0,
)),
),
cat_ids: [Natural],
)),
]
),
quality: Common,
tags: [Food],
)

View File

@ -0,0 +1,22 @@
ItemDef(
name: "Huge Raw Drumstick",
description: "It's magificent.",
kind: Consumable(
kind: "BirdLargeRaw",
effect: [
Buff((
kind: Saturation,
data: (
strength: 30.0,
duration: Some((
secs: 3,
nanos: 0,
)),
),
cat_ids: [Natural],
)),
]
),
quality: Common,
tags: [Food],
)

View File

@ -0,0 +1,22 @@
ItemDef(
name: "Raw Bird Meat",
description: "A hefty drumstick.",
kind: Consumable(
kind: "BirdRaw",
effect: [
Buff((
kind: Saturation,
data: (
strength: 15.0,
duration: Some((
secs: 3,
nanos: 0,
)),
),
cat_ids: [Natural],
)),
]
),
quality: Common,
tags: [Food],
)

View File

@ -6,6 +6,10 @@ ItemDef(
stats: ( stats: (
protection: Normal(0.0), protection: Normal(0.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_recovery: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Legendary, quality: Legendary,

View File

@ -6,6 +6,10 @@ ItemDef(
stats: ( stats: (
protection: Normal(0.0), protection: Normal(0.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_recovery: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Legendary, quality: Legendary,

View File

@ -6,6 +6,10 @@ ItemDef(
stats: ( stats: (
protection: Normal(20.0), protection: Normal(20.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_recovery: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Legendary, quality: Legendary,

View File

@ -6,6 +6,10 @@ ItemDef(
stats: ( stats: (
protection: Normal(0.0), protection: Normal(0.0),
poise_resilience: Normal(0.0), poise_resilience: Normal(0.0),
energy_max: 0,
energy_recovery: 0.0,
crit_power: 0.0,
stealth: 0.0,
), ),
)), )),
quality: Legendary, quality: Legendary,

View File

@ -0,0 +1,18 @@
ItemDef(
name: "Burnt Drumstick",
description: "Might need more practice...",
kind: Tool((
kind: Hammer,
hands: Two,
stats: Direct((
equip_time_secs: 0.5,
power: 0.5,
poise_strength: 1.0,
speed: 1.0,
crit_chance: 0.09375,
crit_mult: 2.2190475,
)),
)),
quality: Low,
tags: [],
)

View File

@ -1,8 +0,0 @@
[
(1.0, Item("common.items.armor.mail.steel.belt")),
(1.0, Item("common.items.armor.mail.steel.chest")),
(1.0, Item("common.items.armor.mail.steel.foot")),
(1.0, Item("common.items.armor.mail.steel.hand")),
(1.0, Item("common.items.armor.mail.steel.pants")),
(1.0, Item("common.items.armor.mail.steel.shoulder")),
]

View File

@ -0,0 +1,4 @@
[
(1.0, Item("common.items.food.meat.bird_raw")),
(1.0, Item("common.items.crafting_ing.hide.scales")),
]

View File

@ -0,0 +1,5 @@
[
(0.1, Item("common.items.food.meat.bird_large_raw")),
(1.0, Item("common.items.crafting_ing.animal_misc.phoenix_feather")),
]

View File

@ -1,3 +1,3 @@
[ [
(1.0, Item("common.items.crafting_ing.hide.animal_hide")), (1.0, Item("common.items.food.meat.bird_raw")),
] ]

View File

@ -1,6 +1,5 @@
[ [
(1.0, LootTable("common.loot_tables.food.prepared")), (1.0, LootTable("common.loot_tables.food.prepared")),
(1.0, LootTable("common.loot_tables.armor.steel")),
(1.0, LootTable("common.loot_tables.weapons.tier-1")), (1.0, LootTable("common.loot_tables.weapons.tier-1")),
(1.0, LootTable("common.loot_tables.weapons.tier-2")), (1.0, LootTable("common.loot_tables.weapons.tier-2")),
(1.0, LootTable("common.loot_tables.weapons.tier-3")), (1.0, LootTable("common.loot_tables.weapons.tier-3")),

View File

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

View File

@ -1,6 +1,6 @@
[ [
(1.0, Item("common.items.food.meat.tough_raw")), (1.0, Item("common.items.food.meat.tough_raw")),
(2.0, Item("common.items.crafting_ing.hide.scales")), (2.0, Item("common.items.crafting_ing.hide.scales")),
(2.0, Item("common.items.crafting_ing.animal_misc.fang")), (2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")),
] ]

View File

@ -1,5 +1,6 @@
[ [
(1.0, Item("common.items.food.meat.tough_raw")), (1.0, Item("common.items.food.meat.tough_raw")),
(1.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")),
(2.0, Item("common.items.crafting_ing.animal_misc.venom_sac")), (2.0, Item("common.items.crafting_ing.animal_misc.venom_sac")),
(2.0, Item("common.items.crafting_ing.hide.scales")), (2.0, Item("common.items.crafting_ing.hide.scales")),
] ]

View File

@ -0,0 +1,6 @@
[
(1.5, Item("common.items.food.meat.beast_small_raw")),
(0.5, Item("common.items.food.meat.beast_large_raw")),
(2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")),
(3.0, Item("common.items.crafting_ing.hide.carapace")),
]

View File

@ -0,0 +1,5 @@
[
(1.5, Item("common.items.crafting_ing.animal_misc.grim_eyeball")),
(0.5, Item("common.items.food.meat.beast_large_raw")),
(3.0, Item("common.items.crafting_ing.hide.tough_hide")),
]

View File

@ -1,5 +1,6 @@
[ [
(1.5, Item("common.items.food.meat.beast_small_raw")), (1.5, Item("common.items.food.meat.beast_small_raw")),
(0.5, Item("common.items.food.meat.beast_large_raw")), (0.5, Item("common.items.food.meat.beast_large_raw")),
(2.0, Item("common.items.crafting_ing.animal_misc.claw")),
(3.0, Item("common.items.crafting_ing.hide.tough_hide")), (3.0, Item("common.items.crafting_ing.hide.tough_hide")),
] ]

View File

@ -0,0 +1,6 @@
[
(1.5, Item("common.items.food.meat.beast_small_raw")),
(0.5, Item("common.items.food.meat.beast_large_raw")),
(2.0, Item("common.items.crafting_ing.animal_misc.large_horn")),
(3.0, Item("common.items.crafting_ing.hide.carapace")),
]

View File

@ -0,0 +1,5 @@
[
(0.5, Item("common.items.food.meat.beast_large_raw")),
(2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")),
(3.0, Item("common.items.crafting_ing.hide.tough_hide")),
]

View File

@ -0,0 +1,5 @@
[
(1.5, Item("common.items.food.meat.beast_small_raw")),
(0.5, Item("common.items.food.meat.beast_large_raw")),
(3.0, Item("common.items.crafting_ing.hide.animal_hide")),
]

View File

@ -0,0 +1,5 @@
[
(1.0, ItemQuantity("common.items.crafting_ing.animal_misc.fur", 1, 3)),
(1.0, Item("common.items.crafting_ing.hide.animal_hide")),
]

View File

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

View File

@ -0,0 +1,3 @@
[
(1.0, Item("common.items.crafting_ing.hide.viscous_ooze")),
]

View File

@ -0,0 +1,3 @@
[
(1.0, Item("common.items.crafting_ing.cloth.wool", 2, 5)),
]

View File

@ -0,0 +1,4 @@
[
(1.0, Item("common.items.crafting_ing.hide.plate")),
(1.0, Item("common.items.crafting_ing.animal_misc.large_horn")),
]

View File

@ -1,4 +1,5 @@
[ [
(0.5, Item("common.items.food.meat.beast_large_raw")),
(1.0, Item("common.items.crafting_ing.hide.tough_hide")), (1.0, Item("common.items.crafting_ing.hide.tough_hide")),
(1.0, Item("common.items.crafting_ing.animal_misc.raptor_feather")), (1.0, Item("common.items.crafting_ing.animal_misc.raptor_feather")),
] ]

View File

@ -1,5 +1,4 @@
[ [
(1.0, LootTable("common.loot_tables.humanoids")), (1.0, LootTable("common.loot_tables.humanoids")),
(1.0, LootTable("common.loot_tables.armor.steel")),
(1.0, LootTable("common.loot_tables.weapons.tier-3")), (1.0, LootTable("common.loot_tables.weapons.tier-3")),
] ]

View File

@ -1,5 +1,4 @@
[ [
(1.0, LootTable("common.loot_tables.humanoids")), (1.0, LootTable("common.loot_tables.humanoids")),
(1.0, LootTable("common.loot_tables.armor.steel")),
(1.0, LootTable("common.loot_tables.weapons.tier-4")), (1.0, LootTable("common.loot_tables.weapons.tier-4")),
] ]

View File

@ -1,6 +1,4 @@
[ [
// armor
(6.0, LootTable("common.loot_tables.armor.steel")),
// weapons // weapons
(3.0, LootTable("common.loot_tables.weapons.tier-4")), (3.0, LootTable("common.loot_tables.weapons.tier-4")),
// lantern // lantern

View File

@ -6,7 +6,6 @@
(5.0, Item("common.items.food.cheese")), (5.0, Item("common.items.food.cheese")),
// Gear // Gear
(3.0, LootTable("common.loot_tables.weapons.tier-5")), (3.0, LootTable("common.loot_tables.weapons.tier-5")),
(2.0, LootTable("common.loot_tables.armor.steel")),
(0.25, Item("common.items.armor.misc.neck.plain_1")), (0.25, Item("common.items.armor.misc.neck.plain_1")),
(0.5, Item("common.items.armor.misc.ring.gold")), (0.5, Item("common.items.armor.misc.ring.gold")),
(0.25, Item("common.items.armor.misc.ring.skull")), (0.25, Item("common.items.armor.misc.ring.skull")),

View File

@ -149,6 +149,20 @@
], ],
craft_sprite: Some(CookingPot), craft_sprite: Some(CookingPot),
), ),
"bird_cooked": (
output: ("common.items.food.meat.bird_cooked", 1),
inputs: [
(Item("common.items.food.meat.bird_raw"), 1),
],
craft_sprite: Some(CookingPot),
),
"bird_large_cooked": (
output: ("common.items.food.meat.bird_large_cooked", 1),
inputs: [
(Item("common.items.food.meat.bird_large_raw"), 1),
],
craft_sprite: Some(CookingPot),
),
"beast_small_cooked": ( "beast_small_cooked": (
output: ("common.items.food.meat.beast_small_cooked", 1), output: ("common.items.food.meat.beast_small_cooked", 1),
inputs: [ inputs: [
@ -443,6 +457,13 @@
], ],
craft_sprite: Some(Anvil), craft_sprite: Some(Anvil),
), ),
"Burnt Drumstick": (
output: ("common.items.weapons.hammer.burnt_drumstick", 1),
inputs: [
(Item("common.items.food.meat.bird_large_cooked"), 1),
],
craft_sprite: Some(CookingPot),
),
//ARMOR/HIDE/RAWHIDE //ARMOR/HIDE/RAWHIDE
"rawhide back": ( "rawhide back": (
output: ("common.items.armor.hide.rawhide.back", 1), output: ("common.items.armor.hide.rawhide.back", 1),

View File

@ -792,6 +792,10 @@
"voxel.weapon.hammer.cult_purp-0", "voxel.weapon.hammer.cult_purp-0",
(2.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.1, (2.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.1,
), ),
Tool("common.items.weapons.hammer.burnt_drumstick"): VoxTrans(
"voxel.weapon.hammer.burnt_drumstick",
(2.0, -1.0, 0.0), (-135.0, 90.0, 0.0), 1.1,
),
// 1h Hammers // 1h Hammers
Tool("common.items.weapons.hammer_1h.bloodsteel-0"): VoxTrans( Tool("common.items.weapons.hammer_1h.bloodsteel-0"): VoxTrans(
"voxel.weapon.hammer_1h.bloodsteel-0", "voxel.weapon.hammer_1h.bloodsteel-0",
@ -2327,6 +2331,22 @@
"voxel.sprite.food.meat.fish_cooked", "voxel.sprite.food.meat.fish_cooked",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
), ),
Consumable("BirdRaw"): VoxTrans(
"voxel.sprite.food.meat.bird_raw",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
),
Consumable("BirdCooked"): VoxTrans(
"voxel.sprite.food.meat.bird_cooked",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
),
Consumable("BirdLargeRaw"): VoxTrans(
"voxel.sprite.food.meat.bird_large_raw",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
),
Consumable("BirdLargeCooked"): VoxTrans(
"voxel.sprite.food.meat.bird_large_cooked",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
),
Consumable("BeastSmallRaw"): VoxTrans( Consumable("BeastSmallRaw"): VoxTrans(
"voxel.sprite.food.meat.beast_small_raw", "voxel.sprite.food.meat.beast_small_raw",
(0.0, 0.0, 0.0), (-50.0, 10.0, 0.0), 1.0, (0.0, 0.0, 0.0), (-50.0, 10.0, 0.0), 1.0,
@ -2474,7 +2494,7 @@
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
), ),
Ingredient("Claw"): VoxTrans( Ingredient("Claw"): VoxTrans(
"voxel.sprite.crafting_ing.claw", "voxel.sprite.crafting_ing.animal_misc.claw",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
), ),
Ingredient("VenomSac"): VoxTrans( Ingredient("VenomSac"): VoxTrans(
@ -2487,7 +2507,11 @@
), ),
Ingredient("SharpFang"): VoxTrans( Ingredient("SharpFang"): VoxTrans(
"voxel.sprite.crafting_ing.animal_misc.sharp_fang", "voxel.sprite.crafting_ing.animal_misc.sharp_fang",
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9, (0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 1.0,
),
Ingredient("Fur"): VoxTrans(
"voxel.sprite.crafting_ing.animal_misc.fur",
(0.0, 0.0, 0.0), (-40.0, -10.0, 10.0), 1.0,
), ),
Ingredient("LargeHorn"): VoxTrans( Ingredient("LargeHorn"): VoxTrans(
"voxel.sprite.crafting_ing.animal_misc.large_horn", "voxel.sprite.crafting_ing.animal_misc.large_horn",
@ -2645,7 +2669,11 @@
(0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8,
), ),
Ingredient("ViscousOoze"): VoxTrans( Ingredient("ViscousOoze"): VoxTrans(
"voxel.sprite.crafting_ing.ooze", "voxel.sprite.crafting_ing.animal_misc.ooze",
(0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8,
),
Ingredient("PhoenixFeather"): VoxTrans(
"voxel.sprite.crafting_ing.animal_misc.phoenix_feather",
(0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8, (0.0, 0.0, 0.0), (-50.0, 30.0, 20.0), 0.8,
), ),
// Gliders // Gliders

View File

@ -571,6 +571,10 @@
vox_spec: ("weapon.hammer.cult_purp-0", (-3.5, -4.5, -5.0)), vox_spec: ("weapon.hammer.cult_purp-0", (-3.5, -4.5, -5.0)),
color: None color: None
), ),
"common.items.weapons.hammer.burnt_drumstick": (
vox_spec: ("weapon.hammer.burnt_drumstick", (-3.0, -6.0, -5.0)),
color: None
),
/*"Craftsman": ( //TODO This should be a 1h hammer! /*"Craftsman": ( //TODO This should be a 1h hammer!
vox_spec: ("weapon.hammer.craftsman", (-2.0, -5.0, -5.5)), vox_spec: ("weapon.hammer.craftsman", (-2.0, -5.0, -5.5)),
color: None color: None

BIN
assets/voxygen/voxel/object/tanning_rack.vox (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/food/meat/bird_large_cooked.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/sprite/food/meat/bird_large_raw.vox (Stored with Git LFS) Normal file

Binary file not shown.

BIN
assets/voxygen/voxel/weapon/hammer/burnt_drumstick.vox (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -59,7 +59,7 @@
deep_stone_color: (125, 120, 130), deep_stone_color: (125, 120, 130),
layer: ( layer: (
bridge: (80, 80, 100), bridge: (80, 80, 100),
stalagtite: (140, 150, 200), stalagtite: (77, 91, 161),
), ),
site: ( site: (
castle: (), castle: (),

View File

@ -2,7 +2,7 @@ use crate::{
client::Client, client::Client,
comp::{ comp::{
agent::{Sound, SoundKind}, agent::{Sound, SoundKind},
biped_large, quadruped_low, quadruped_medium, quadruped_small, biped_large, bird_large, quadruped_low, quadruped_medium, quadruped_small,
skills::SkillGroupKind, skills::SkillGroupKind,
theropod, PhysicsState, theropod, PhysicsState,
}, },
@ -358,6 +358,25 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
quadruped_small::Species::Dodarock => { quadruped_small::Species::Dodarock => {
"common.loot_tables.creature.quad_small.dodarock" "common.loot_tables.creature.quad_small.dodarock"
}, },
quadruped_small::Species::Truffler | quadruped_small::Species::Fungome => {
"common.loot_tables.creature.quad_small.mushroom"
},
quadruped_small::Species::Sheep => {
"common.loot_tables.creature.quad_small.sheep"
},
quadruped_small::Species::Skunk
| quadruped_small::Species::Quokka
| quadruped_small::Species::Beaver
| quadruped_small::Species::Jackalope
| quadruped_small::Species::Hare => {
"common.loot_tables.creature.quad_small.fur"
},
quadruped_small::Species::Frog
| quadruped_small::Species::Axolotl
| quadruped_small::Species::Gecko
| quadruped_small::Species::Turtle => {
"common.loot_tables.creature.quad_small.ooze"
},
_ => "common.loot_tables.creature.quad_small.default", _ => "common.loot_tables.creature.quad_small.default",
} }
}, },
@ -365,12 +384,47 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
quadruped_medium::Species::Frostfang | quadruped_medium::Species::Roshwalr => { quadruped_medium::Species::Frostfang | quadruped_medium::Species::Roshwalr => {
"common.loot_tables.creature.quad_medium.ice" "common.loot_tables.creature.quad_medium.ice"
}, },
_ => "common.loot_tables.creature.quad_medium.default", quadruped_medium::Species::Catoblepas => {
"common.loot_tables.creature.quad_medium.catoblepas"
},
quadruped_medium::Species::Bear
| quadruped_medium::Species::Snowleopard
| quadruped_medium::Species::Tiger
| quadruped_medium::Species::Lion => {
"common.loot_tables.creature.quad_medium.clawed"
},
quadruped_medium::Species::Tarasque
| quadruped_medium::Species::Bonerattler => {
"common.loot_tables.creature.quad_medium.carapace"
},
quadruped_medium::Species::Dreadhorn => {
"common.loot_tables.creature.quad_medium.dreadhorn"
},
quadruped_medium::Species::Mouflon
| quadruped_medium::Species::Camel
| quadruped_medium::Species::Deer
| quadruped_medium::Species::Hirdrasil
| quadruped_medium::Species::Horse
| quadruped_medium::Species::Highland
| quadruped_medium::Species::Zebra
| quadruped_medium::Species::Donkey
| quadruped_medium::Species::Antelope
| quadruped_medium::Species::Kelpie
| quadruped_medium::Species::Cattle
| quadruped_medium::Species::Yak => {
"common.loot_tables.creature.quad_medium.gentle"
},
_ => "common.loot_tables.creature.quad_medium.fanged",
}, },
Some(common::comp::Body::BirdMedium(_)) => { Some(common::comp::Body::BirdMedium(_)) => {
"common.loot_tables.creature.bird_medium" "common.loot_tables.creature.bird_medium"
}, },
Some(common::comp::Body::BirdLarge(_)) => "common.loot_tables.creature.bird_medium", Some(common::comp::Body::BirdLarge(bird_large)) => match bird_large.species {
bird_large::Species::Cockatrice => {
"common.loot_tables.creature.bird_large.cockatrice"
},
_ => "common.loot_tables.creature.bird_large.phoenix",
},
Some(common::comp::Body::FishMedium(_)) => "common.loot_tables.creature.fish", Some(common::comp::Body::FishMedium(_)) => "common.loot_tables.creature.fish",
Some(common::comp::Body::FishSmall(_)) => "common.loot_tables.creature.fish", Some(common::comp::Body::FishSmall(_)) => "common.loot_tables.creature.fish",
Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species { Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species {
@ -389,8 +443,10 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
Some(common::comp::Body::Theropod(theropod)) => match theropod.species { Some(common::comp::Body::Theropod(theropod)) => match theropod.species {
theropod::Species::Sandraptor theropod::Species::Sandraptor
| theropod::Species::Snowraptor | theropod::Species::Snowraptor
| theropod::Species::Woodraptor => { | theropod::Species::Woodraptor
"common.loot_tables.creature.theropod.raptor" | theropod::Species::Sunlizard => "common.loot_tables.creature.theropod.raptor",
theropod::Species::Archaeos | theropod::Species::Ntouka => {
"common.loot_tables.creature.theropod.horned"
}, },
_ => "common.loot_tables.creature.theropod.default", _ => "common.loot_tables.creature.theropod.default",
}, },
@ -403,7 +459,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
quadruped_low::Species::Lavadrake => { quadruped_low::Species::Lavadrake => {
"common.loot_tables.creature.quad_low.carapace" "common.loot_tables.creature.quad_low.carapace"
}, },
quadruped_low::Species::Rocksnapper => { quadruped_low::Species::Rocksnapper | quadruped_low::Species::Sandshark => {
"common.loot_tables.creature.quad_low.carapace" "common.loot_tables.creature.quad_low.carapace"
}, },
quadruped_low::Species::Asp => { quadruped_low::Species::Asp => {
@ -412,6 +468,9 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
quadruped_low::Species::Hakulaq => { quadruped_low::Species::Hakulaq => {
"common.loot_tables.creature.quad_low.fanged" "common.loot_tables.creature.quad_low.fanged"
}, },
quadruped_low::Species::Deadwood => {
"common.loot_tables.creature.quad_low.deadwood"
},
quadruped_low::Species::Basilisk => { quadruped_low::Species::Basilisk => {
"common.loot_tables.creature.quad_low.basilisk" "common.loot_tables.creature.quad_low.basilisk"
}, },

View File

@ -150,7 +150,7 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
.index() .index()
.noise .noise
.cave_nz .cave_nz
.get(wpos2d.map(|e| e as f64 * 0.125).into_array()) .get(wpos2d.map(|e| e as f64 * 0.18).into_array())
.sub(0.5) .sub(0.5)
.max(0.0) .max(0.0)
.mul( .mul(
@ -191,6 +191,12 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
canvas.map(Vec3::new(wpos2d.x, wpos2d.y, cave_base), |block| { canvas.map(Vec3::new(wpos2d.x, wpos2d.y, cave_base), |block| {
block.with_sprite(kind) block.with_sprite(kind)
}); });
let kind2 = *Lottery::<SpriteKind>::load_expect("common.cave_scatter.shallow")
.read()
.choose();
canvas.map(Vec3::new(wpos2d.x, wpos2d.y, cave_roof - 1), |block| {
block.with_sprite(kind2)
});
} }
} else { } else {
if rng.gen::<f32>() if rng.gen::<f32>()
@ -204,6 +210,16 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
block.with_sprite(kind) block.with_sprite(kind)
}); });
} }
if rng.gen::<f32>() < 0.3 * (difficulty / 3.0).powf(2.5)
&& cave_base < surface_z as i32 - 25
{
let kind = *Lottery::<SpriteKind>::load_expect("common.cave_scatter.deep")
.read()
.choose();
canvas.map(Vec3::new(wpos2d.x, wpos2d.y, cave_roof - 1), |block| {
block.with_sprite(kind)
});
}
}; };
} }
}); });

View File

@ -153,6 +153,12 @@ pub fn apply_scatter_to(canvas: &mut Canvas, rng: &mut impl Rng) {
(Stones, false, |c, _| { (Stones, false, |c, _| {
((c.rockiness - 0.5).max(0.025) * 1.0e-3, None) ((c.rockiness - 0.5).max(0.025) * 1.0e-3, None)
}), }),
(Copper, false, |c, _| {
((c.rockiness - 0.5).max(0.025) * 1.5e-3, None)
}),
(Tin, false, |c, _| {
((c.rockiness - 0.5).max(0.025) * 1.5e-3, None)
}),
// Don't spawn Mushrooms in snowy regions // Don't spawn Mushrooms in snowy regions
(Mushroom, false, |c, _| { (Mushroom, false, |c, _| {
( (