From c9438c0947e763069d01d62fe7b2badf22e788a5 Mon Sep 17 00:00:00 2001 From: Monty Marz <m.marzouq@gmx.de> Date: Sat, 22 Aug 2020 23:37:45 +0000 Subject: [PATCH] Fixes 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 --- assets/common/cave_scatter.ron | 17 +++++++------- .../items/armor/chest/leather_adventurer.ron | 2 +- .../items/armor/pants/leather_adventurer.ron | 2 +- .../armor/shoulder/leather_adventurer.ron | 2 +- .../common/items/weapons/sword/wood_sword.ron | 4 ++-- assets/common/recipe_book.ron | 4 ++-- assets/voxygen/item_image_manifest.ron | 2 +- .../voxel/humanoid_main_weapon_manifest.ron | 2 +- .../voxel/weapon/staff/wood-nature.vox | 4 ++-- .../voxel/weapon/sword/wood_ore_2h.vox | 3 +++ common/src/comp/inventory/item/mod.rs | 23 +++++++++++-------- common/src/sys/agent.rs | 4 +++- world/src/block/mod.rs | 2 +- world/src/layer/mod.rs | 8 +++---- 14 files changed, 44 insertions(+), 35 deletions(-) create mode 100644 assets/voxygen/voxel/weapon/sword/wood_ore_2h.vox diff --git a/assets/common/cave_scatter.ron b/assets/common/cave_scatter.ron index 85cc78cfb2..eb24ac85da 100644 --- a/assets/common/cave_scatter.ron +++ b/assets/common/cave_scatter.ron @@ -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), ] diff --git a/assets/common/items/armor/chest/leather_adventurer.ron b/assets/common/items/armor/chest/leather_adventurer.ron index a2c90a5f69..705a045221 100644 --- a/assets/common/items/armor/chest/leather_adventurer.ron +++ b/assets/common/items/armor/chest/leather_adventurer.ron @@ -5,7 +5,7 @@ Item( ( kind: Chest("Leather2"), stats: ( - protection: Normal(6.0), + protection: Normal(8.0), ), ) ), diff --git a/assets/common/items/armor/pants/leather_adventurer.ron b/assets/common/items/armor/pants/leather_adventurer.ron index 994cd00036..1ab8986285 100644 --- a/assets/common/items/armor/pants/leather_adventurer.ron +++ b/assets/common/items/armor/pants/leather_adventurer.ron @@ -5,7 +5,7 @@ Item( ( kind: Pants("Leather2"), stats: ( - protection: Normal(8.0), + protection: Normal(6.0), ), ) ), diff --git a/assets/common/items/armor/shoulder/leather_adventurer.ron b/assets/common/items/armor/shoulder/leather_adventurer.ron index 8fe773a58d..0da79970e3 100644 --- a/assets/common/items/armor/shoulder/leather_adventurer.ron +++ b/assets/common/items/armor/shoulder/leather_adventurer.ron @@ -5,7 +5,7 @@ Item( ( kind: Shoulder("Leather2"), stats: ( - protection: Normal(6.0), + protection: Normal(8.0), ), ) ), diff --git a/assets/common/items/weapons/sword/wood_sword.ron b/assets/common/items/weapons/sword/wood_sword.ron index a8b9d3a140..59b674ee19 100644 --- a/assets/common/items/weapons/sword/wood_sword.ron +++ b/assets/common/items/weapons/sword/wood_sword.ron @@ -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"), diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron index 7277199e25..534e273b75 100644 --- a/assets/common/recipe_book.ron +++ b/assets/common/recipe_book.ron @@ -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)]), diff --git a/assets/voxygen/item_image_manifest.ron b/assets/voxygen/item_image_manifest.ron index 3ccf57427c..7e2ebda6f1 100644 --- a/assets/voxygen/item_image_manifest.ron +++ b/assets/voxygen/item_image_manifest.ron @@ -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( diff --git a/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron b/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron index 8e9d389fee..79969d1c5c 100644 --- a/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron +++ b/assets/voxygen/voxel/humanoid_main_weapon_manifest.ron @@ -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"): ( diff --git a/assets/voxygen/voxel/weapon/staff/wood-nature.vox b/assets/voxygen/voxel/weapon/staff/wood-nature.vox index 772fee747a..cfb29487b3 100644 --- a/assets/voxygen/voxel/weapon/staff/wood-nature.vox +++ b/assets/voxygen/voxel/weapon/staff/wood-nature.vox @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f6949d842517a5fb70205f613c239ca3a9e32744cda67e5d4d9e16af8a99638 -size 1680 +oid sha256:7d170f609ca3ec724429acdefb3c076f334265a9bed58d644bfb4e202e91ca94 +size 1448 diff --git a/assets/voxygen/voxel/weapon/sword/wood_ore_2h.vox b/assets/voxygen/voxel/weapon/sword/wood_ore_2h.vox new file mode 100644 index 0000000000..655ae0ad45 --- /dev/null +++ b/assets/voxygen/voxel/weapon/sword/wood_ore_2h.vox @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cea9f79fbce73a058cf3cbc878fd6d5f37ff454486f4aaeddf53f16f31075549 +size 1536 diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index b4164ac03c..e453f01322 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -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)) diff --git a/common/src/sys/agent.rs b/common/src/sys/agent.rs index d4a3960518..1cc870b3b5 100644 --- a/common/src/sys/agent.rs +++ b/common/src/sys/agent.rs @@ -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 { diff --git a/world/src/block/mod.rs b/world/src/block/mod.rs index 6d34ccc466..8e482d4c92 100644 --- a/world/src/block/mod.rs +++ b/world/src/block/mod.rs @@ -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() diff --git a/world/src/layer/mod.rs b/world/src/layer/mod.rs index c47c7336da..c9947b1bbd 100644 --- a/world/src/layer/mod.rs +++ b/world/src/layer/mod.rs @@ -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;