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::>("common.loot_tables.loot_table_food") - }, - 1 => assets::load_expect::>( - "common.loot_tables.loot_table_crafting", - ), - 2 => assets::load_expect::>( + let chosen = match rng.gen_range(0, 7) { + 0 => assets::load_expect::>( "common.loot_tables.loot_table_weapon_uncommon", ), + 1 => assets::load_expect::>( + "common.loot_tables.loot_weapon_common", + ), + 2 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_light", + ), 3 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_cloth", + ), + 4 => assets::load_expect::>( + "common.loot_tables.loot_table_armor_heavy", + ), + _ => assets::load_expect::>( "common.loot_tables.loot_table_armor_misc", ), - _ => assets::load_expect::>("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::>("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;