Fix Cave NPCs only spawning very deep inside caves

Increase twig density

Adjust armour values and ingredients for starter sword

fix healing rod using the wrong model

Hung up the lianas again
This commit is contained in:
Monty Marz 2020-08-22 23:37:45 +00:00 committed by Joshua Yanovski
parent 25098e94ae
commit c9438c0947
14 changed files with 44 additions and 35 deletions

View File

@ -1,11 +1,10 @@
[
(20, Velorite),
(30, VeloriteFrag),
(60, Stones),
(15, PurpleFlower),
(130, ShortGrass),
(120, Mushroom),
(8, ShinyGem),
(15, Chest),
(2, Crate),
(10, Velorite),
(15, VeloriteFrag),
(110, Stones),
(150, ShortGrass),
(60, Mushroom),
(2, ShinyGem),
(2, Chest),
(15, Crate),
]

View File

@ -5,7 +5,7 @@ Item(
(
kind: Chest("Leather2"),
stats: (
protection: Normal(6.0),
protection: Normal(8.0),
),
)
),

View File

@ -5,7 +5,7 @@ Item(
(
kind: Pants("Leather2"),
stats: (
protection: Normal(8.0),
protection: Normal(6.0),
),
)
),

View File

@ -5,7 +5,7 @@ Item(
(
kind: Shoulder("Leather2"),
stats: (
protection: Normal(6.0),
protection: Normal(8.0),
),
)
),

View File

@ -1,6 +1,6 @@
Item(
name: "Wooden Sword",
description: "It's not sharp.",
name: "Forest Spirit",
description: "The resin glows.",
kind: Tool(
(
kind: Sword("WoodTraining"),

View File

@ -22,8 +22,8 @@
// Weapons
"velorite_sceptre": (("common.items.weapons.staff.sceptre_velorite_0", 1),[("common.items.crafting_ing.twigs", 20), ("common.items.ore.veloritefrag", 10), ("common.items.crafting_ing.shiny_gem", 4), ("common.items.crafting_tools.craftsman_hammer", 0)]),
// Enhanced starting weapons
"better bow": (("common.items.weapons.bow.wood_shortbow-0", 1), [("common.items.crafting_ing.leather_scraps", 8),("common.items.crafting_ing.twigs", 4), ("common.items.crafting_ing.stones", 0)]),
"better sword": (("common.items.weapons.sword.wood_sword", 1), [("common.items.crafting_ing.leather_scraps", 4),("common.items.crafting_ing.twigs", 8), ("common.items.crafting_ing.stones", 0)]),
"better bow": (("common.items.weapons.bow.wood_shortbow-0", 1), [("common.items.crafting_ing.leather_scraps", 8),("common.items.crafting_ing.twigs", 6), ("common.items.crafting_ing.stones", 0)]),
"better sword": (("common.items.weapons.sword.wood_sword", 1), [("common.items.crafting_ing.leather_scraps", 4),("common.items.crafting_ing.twigs", 10), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_ing.stones", 0)]),
// Adventurer/Beginner Leather Set
"adventure back": (("common.items.armor.back.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 4)]),
"adventure belt": (("common.items.armor.belt.leather_adventurer", 1),[("common.items.crafting_ing.leather_scraps", 2)]),

View File

@ -67,7 +67,7 @@
(0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.2,
),
Tool(Sword("WoodTraining")): VoxTrans(
"voxel.weapon.sword.wood_2h",
"voxel.weapon.sword.wood_ore_2h",
(0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.3,
),
Tool(Sword("LongFine3")): VoxTrans(

View File

@ -8,7 +8,7 @@
color: None
),
Sword("WoodTraining"): (
vox_spec: ("weapon.sword.wood_2h", (-1.5, -6.5, -4.0)),
vox_spec: ("weapon.sword.wood_ore_2h", (-1.5, -6.5, -4.0)),
color: None
),
Sword("Zweihander0"): (

Binary file not shown.

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

Binary file not shown.

View File

@ -173,20 +173,25 @@ impl Item {
BlockKind::ShortGrass => Some(assets::load_expect_cloned("common.items.grasses.short")),
BlockKind::Coconut => Some(assets::load_expect_cloned("common.items.food.coconut")),
BlockKind::Chest => {
let chosen = match rng.gen_range(0, 5) {
0 => {
assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table_food")
},
1 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_crafting",
),
2 => assets::load_expect::<Lottery<String>>(
let chosen = match rng.gen_range(0, 7) {
0 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_weapon_uncommon",
),
1 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_weapon_common",
),
2 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_light",
),
3 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_cloth",
),
4 => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_heavy",
),
_ => assets::load_expect::<Lottery<String>>(
"common.loot_tables.loot_table_armor_misc",
),
_ => assets::load_expect::<Lottery<String>>("common.loot_tables.loot_table"),
};
let chosen = chosen.choose();
Some(assets::load_expect_cloned(chosen))

View File

@ -525,7 +525,9 @@ impl<'a> System<'a> for Sys {
// Attack owner's attacker
let owner_stats = stats.get(owner)?;
if owner_stats.health.last_change.0 < 5.0 {
if owner_stats.health.last_change.0 < 5.0
&& owner_stats.health.last_change.1.amount < 0
{
if let comp::HealthSource::Attack { by } =
owner_stats.health.last_change.1.cause
{

View File

@ -571,6 +571,7 @@ pub fn block_from_structure(
)),
// None of these BlockKinds has an orientation, so we just use zero for the other color
// bits.
StructureBlock::Liana => Some(Block::new(BlockKind::Liana, Rgb::zero())),
StructureBlock::Fruit => Some(if field.get(pos + structure_pos) % 3 > 0 {
Block::empty()
} else {
@ -592,7 +593,6 @@ pub fn block_from_structure(
| StructureBlock::PalmLeavesInner
| StructureBlock::PalmLeavesOuter
| StructureBlock::Acacia
| StructureBlock::Liana
| StructureBlock::Mangrove => sblock
.elim_case_pure(&index.colors.block.structure_blocks)
.as_ref()

View File

@ -130,10 +130,10 @@ pub fn apply_scatter_to<'a>(
// Collecable Objects
// Only spawn twigs in temperate forests
(Twigs, false, |c| {
((c.tree_density - 0.5).max(0.0) * MUSH_FACT * 0.5, None)
((c.tree_density - 0.5).max(0.0) * 0.001, None)
}),
(Stones, false, |c| {
((c.rockiness - 0.5).max(0.0) * MUSH_FACT * 0.5, None)
((c.rockiness - 0.5).max(0.0) * 0.05, None)
}),
// Don't spawn Mushrooms in snowy regions
(Mushroom, false, |c| {
@ -494,7 +494,7 @@ pub fn apply_caves_to<'a>(
let difficulty = cave_depth / 100.0;
// Scatter things in caves
if RandomField::new(index.seed).chance(wpos2d.into(), 0.002 * difficulty.powf(1.5))
if RandomField::new(index.seed).chance(wpos2d.into(), 0.001 * difficulty.powf(1.5))
&& cave_base < surface_z as i32 - 25
{
let kind = *assets::load_expect::<Lottery<BlockKind>>("common.cave_scatter")
@ -547,7 +547,7 @@ pub fn apply_caves_supplement<'a>(
let difficulty = cave_depth / 200.0;
// Scatter things in caves
if RandomField::new(index.seed).chance(wpos2d.into(), 0.000005 * difficulty)
if RandomField::new(index.seed).chance(wpos2d.into(), 0.001 * difficulty)
&& cave_base < surface_z as i32 - 40
{
let is_hostile: bool;