mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
cave adjustments
This commit is contained in:
parent
1d23b7aebf
commit
4deeb42155
@ -148,6 +148,11 @@
|
||||
secondary: "common.abilities.custom.quadmedbasic.triplestrike",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Basilisk"): (
|
||||
primary: "common.abilities.custom.basilisk.singlestrike",
|
||||
secondary: "common.abilities.custom.basilisk.triplestrike",
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Low Ranged"): (
|
||||
primary: "common.abilities.custom.quadlowranged.singlestrike",
|
||||
secondary: "common.abilities.custom.quadlowranged.firebomb",
|
||||
|
27
assets/common/abilities/custom/basilisk/singlestrike.ron
Normal file
27
assets/common/abilities/custom/basilisk/singlestrike.ron
Normal file
@ -0,0 +1,27 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 130,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 28,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 3.0,
|
||||
range: 3.0,
|
||||
angle: 60.0,
|
||||
base_buildup_duration: 0.4,
|
||||
base_swing_duration: 0.07,
|
||||
base_recover_duration: 0.4,
|
||||
forward_movement: 3.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.6,
|
||||
)
|
57
assets/common/abilities/custom/basilisk/triplestrike.ron
Normal file
57
assets/common/abilities/custom/basilisk/triplestrike.ron
Normal file
@ -0,0 +1,57 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 100,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 15,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 7.0,
|
||||
range: 2.8,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.65,
|
||||
base_swing_duration: 0.07,
|
||||
base_recover_duration: 0.3,
|
||||
forward_movement: 2.0,
|
||||
damage_kind: Crushing,
|
||||
),
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 100,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 18,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 7.0,
|
||||
range: 2.8,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.4,
|
||||
base_swing_duration: 0.07,
|
||||
base_recover_duration: 0.3,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Crushing,
|
||||
),
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 100,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 20,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 7.0,
|
||||
range: 2.8,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.4,
|
||||
base_swing_duration: 0.07,
|
||||
base_recover_duration: 0.3,
|
||||
forward_movement: 1.5,
|
||||
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.65,
|
||||
)
|
3
assets/common/cave_scatter/dark_ceiling.ron
Normal file
3
assets/common/cave_scatter/dark_ceiling.ron
Normal file
@ -0,0 +1,3 @@
|
||||
[
|
||||
(1, Orb),
|
||||
]
|
10
assets/common/cave_scatter/dark_floor.ron
Normal file
10
assets/common/cave_scatter/dark_floor.ron
Normal file
@ -0,0 +1,10 @@
|
||||
[
|
||||
(20, Velorite),
|
||||
(30, VeloriteFrag),
|
||||
(5, CaveMushroom),
|
||||
(16, SapphireSmall),
|
||||
(12, EmeraldSmall),
|
||||
(15, Cobalt),
|
||||
(40, Coal),
|
||||
(10, RubySmall),
|
||||
]
|
@ -1,15 +1,6 @@
|
||||
[
|
||||
(30, Velorite),
|
||||
(40, VeloriteFrag),
|
||||
(70, ShortGrass),
|
||||
(10, CaveMushroom),
|
||||
(10, AmethystSmall),
|
||||
(10, TopazSmall),
|
||||
(16, SapphireSmall),
|
||||
(60, CrystalHigh),
|
||||
(12, EmeraldSmall),
|
||||
(10, RubySmall),
|
||||
(8, DiamondSmall),
|
||||
(5, Chest),
|
||||
(15, Crate),
|
||||
(10, CeilingMushroom),
|
||||
(6, Liana),
|
||||
(7, CrystalHigh),
|
||||
|
||||
]
|
||||
|
@ -1,21 +1,15 @@
|
||||
[
|
||||
(30, Velorite),
|
||||
(40, VeloriteFrag),
|
||||
(70, ShortGrass),
|
||||
(10, CaveMushroom),
|
||||
(30, Mushroom),
|
||||
(10, AmethystSmall),
|
||||
(10, TopazSmall),
|
||||
(16, SapphireSmall),
|
||||
(60, CrystalLow),
|
||||
(12, EmeraldSmall),
|
||||
(30, Cobalt),
|
||||
(10, Bloodstone),
|
||||
(5, Cobalt),
|
||||
(40, Coal),
|
||||
(60, Iron),
|
||||
(10, Silver),
|
||||
(6, Gold),
|
||||
(70, Iron),
|
||||
(10, RubySmall),
|
||||
(8, DiamondSmall),
|
||||
(5, Chest),
|
||||
(15, Crate),
|
||||
]
|
||||
|
@ -1,5 +1,4 @@
|
||||
[
|
||||
(120, Liana),
|
||||
(30, AmethystSmall),
|
||||
(15, TopazSmall),
|
||||
(3, Liana),
|
||||
(1, CeilingMushroom),
|
||||
]
|
||||
|
@ -1,7 +1,8 @@
|
||||
[
|
||||
(110, Stones),
|
||||
(150, ShortGrass),
|
||||
(120, CaveMushroom),
|
||||
(50, CaveMushroom),
|
||||
(50, Mushroom),
|
||||
(30, AmethystSmall),
|
||||
(15, TopazSmall),
|
||||
(15, Tin),
|
||||
|
@ -19,7 +19,6 @@ loot_tables: [
|
||||
(1.0, true, "common.loot_tables.armor.twigs"),
|
||||
(1.0, true, "common.loot_tables.armor.twigsflowers"),
|
||||
(1.0, true, "common.loot_tables.armor.twigsleaves"),
|
||||
(0.075, false, "common.loot_tables.armor.cultist"),
|
||||
// Materials
|
||||
(7.5, true, "common.loot_tables.materials.common"),
|
||||
(8.0, true, "common.loot_tables.materials.underground"),
|
||||
@ -29,7 +28,7 @@ loot_tables: [
|
||||
(0.2, true, "common.loot_tables.food.prepared"),
|
||||
// TODO: Change consumables and split them up
|
||||
(1.0, true, "common.loot_tables.consumable.default"),
|
||||
(10.5, true, "common.loot_tables.trading"),
|
||||
(10.5, false, "common.loot_tables.trading"),
|
||||
],
|
||||
// this is the amount of that good the most common item represents
|
||||
// so basically this table balances the goods against each other (higher=less valuable)
|
||||
|
@ -4,7 +4,7 @@ ItemDef(
|
||||
kind: Armor((
|
||||
kind: Chest("Leather"),
|
||||
stats: (
|
||||
protection: Normal(48.0),
|
||||
protection: Normal(14.0),
|
||||
poise_resilience: Normal(0.0),
|
||||
energy_max: 0,
|
||||
energy_recovery: 0.0,
|
||||
|
9
assets/common/items/crafting_ing/hide/rugged_hide.ron
Normal file
9
assets/common/items/crafting_ing/hide/rugged_hide.ron
Normal file
@ -0,0 +1,9 @@
|
||||
ItemDef(
|
||||
name: "Rugged Hide",
|
||||
description: "A durable pelt, favored by leatherworkers.",
|
||||
kind: Ingredient(
|
||||
kind: "RuggedHide",
|
||||
),
|
||||
quality: Common,
|
||||
tags: [Material((material: Leather))],
|
||||
)
|
@ -0,0 +1,9 @@
|
||||
ItemDef(
|
||||
name: "Rigid Leather",
|
||||
description: "Light but layered, perfect for protection.",
|
||||
kind: Ingredient(
|
||||
kind: "RigidLeather",
|
||||
),
|
||||
quality: Common,
|
||||
tags: [BaseMaterial, Leather],
|
||||
)
|
@ -5,5 +5,5 @@ ItemDef(
|
||||
kind: "SimpleLeather",
|
||||
),
|
||||
quality: Common,
|
||||
tags: [BaseMaterial],
|
||||
tags: [BaseMaterial, Leather],
|
||||
)
|
||||
|
@ -5,5 +5,5 @@ ItemDef(
|
||||
kind: "ThickLeather",
|
||||
),
|
||||
quality: Common,
|
||||
tags: [BaseMaterial],
|
||||
tags: [BaseMaterial, Leather],
|
||||
)
|
||||
|
19
assets/common/items/npc_weapons/unique/basilisk.ron
Normal file
19
assets/common/items/npc_weapons/unique/basilisk.ron
Normal file
@ -0,0 +1,19 @@
|
||||
ItemDef(
|
||||
name: "Basilisk",
|
||||
description: "testing123",
|
||||
kind: Tool((
|
||||
kind: Natural,
|
||||
hands: Two,
|
||||
stats: Direct((
|
||||
equip_time_secs: 0.01,
|
||||
power: 1.0,
|
||||
poise_strength: 1.0,
|
||||
speed: 1.0,
|
||||
crit_chance: 0.0625,
|
||||
crit_mult: 1.9142857,
|
||||
)),
|
||||
)),
|
||||
quality: Low,
|
||||
tags: [],
|
||||
ability_spec: Some(Custom("Basilisk")),
|
||||
)
|
15
assets/common/items/tag_examples/leather.ron
Normal file
15
assets/common/items/tag_examples/leather.ron
Normal file
@ -0,0 +1,15 @@
|
||||
ItemDef(
|
||||
name: "Any leather",
|
||||
description: "Leathers tanned from hides.",
|
||||
kind: TagExamples(
|
||||
item_ids: [
|
||||
"common.items.crafting_ing.leather.rigid_leather",
|
||||
"common.items.crafting_ing.leather.thick_leather",
|
||||
"common.items.crafting_ing.leather.simple_leather",
|
||||
],
|
||||
),
|
||||
quality: Common,
|
||||
tags: [],
|
||||
)
|
||||
|
||||
|
@ -3,13 +3,13 @@ ItemDef(
|
||||
description: "Ingots made from various metals.",
|
||||
kind: TagExamples(
|
||||
item_ids: [
|
||||
"common.items.mineral.ingot.bloodsteel_ingot",
|
||||
"common.items.mineral.ingot.bronze_ingot",
|
||||
"common.items.mineral.ingot.cobalt_ingot",
|
||||
"common.items.mineral.ingot.copper_ingot",
|
||||
"common.items.mineral.ingot.iron_ingot",
|
||||
"common.items.mineral.ingot.steel_ingot",
|
||||
"common.items.mineral.ingot.tin_ingot",
|
||||
"common.items.mineral.ingot.bloodsteel",
|
||||
"common.items.mineral.ingot.bronze",
|
||||
"common.items.mineral.ingot.cobalt",
|
||||
"common.items.mineral.ingot.copper",
|
||||
"common.items.mineral.ingot.iron",
|
||||
"common.items.mineral.ingot.steel",
|
||||
"common.items.mineral.ingot.tin",
|
||||
],
|
||||
),
|
||||
quality: Common,
|
||||
|
@ -3,6 +3,10 @@ ItemDef(
|
||||
description: "Cloths spun from plant material.",
|
||||
kind: TagExamples(
|
||||
item_ids: [
|
||||
"common.items.crafting_ing.cloth.linen",
|
||||
"common.items.crafting_ing.cloth.wool",
|
||||
"common.items.crafting_ing.cloth.silk",
|
||||
"common.items.crafting_ing.cloth.lifecloth",
|
||||
"common.items.crafting_ing.cloth.moonweave",
|
||||
"common.items.crafting_ing.cloth.sunsilk",
|
||||
],
|
||||
|
@ -1,5 +1,5 @@
|
||||
ItemDef(
|
||||
name: "Iron Pickaxe",
|
||||
name: "Steel Pickaxe",
|
||||
description: "Strike the earth!",
|
||||
kind: Tool((
|
||||
kind: Pick,
|
18
assets/common/items/tool/pickaxe_stone.ron
Normal file
18
assets/common/items/tool/pickaxe_stone.ron
Normal file
@ -0,0 +1,18 @@
|
||||
ItemDef(
|
||||
name: "Stone Pickaxe",
|
||||
description: "Strike the earth!",
|
||||
kind: Tool((
|
||||
kind: Pick,
|
||||
hands: Two,
|
||||
stats: Direct((
|
||||
equip_time_secs: 0.25,
|
||||
power: 0.75,
|
||||
poise_strength: 0.25,
|
||||
speed: 0.5,
|
||||
crit_chance: 0.0,
|
||||
crit_mult: 1.0,
|
||||
)),
|
||||
)),
|
||||
quality: Low,
|
||||
tags: [CraftingTool],
|
||||
)
|
@ -1,8 +0,0 @@
|
||||
[
|
||||
(1.0, Item("common.items.armor.cultist.belt")),
|
||||
(1.0, Item("common.items.armor.cultist.chest")),
|
||||
(1.0, Item("common.items.armor.cultist.foot")),
|
||||
(1.0, Item("common.items.armor.cultist.hand")),
|
||||
(1.0, Item("common.items.armor.cultist.pants")),
|
||||
(1.0, Item("common.items.armor.cultist.shoulder")),
|
||||
]
|
@ -1,6 +1,5 @@
|
||||
[
|
||||
(1.0, Item("common.items.food.meat.tough_raw")),
|
||||
(2.0, Item("common.items.crafting_ing.hide.scales")),
|
||||
(4.0, LootTable("common.loot_tables.creature.quad_low.generic")),
|
||||
(2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")),
|
||||
|
||||
]
|
@ -1,6 +1,5 @@
|
||||
[
|
||||
(1.0, Item("common.items.food.meat.tough_raw")),
|
||||
(4.0, LootTable("common.loot_tables.creature.quad_low.generic")),
|
||||
(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.hide.scales")),
|
||||
]
|
@ -1,5 +1,4 @@
|
||||
[
|
||||
(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")),
|
||||
(4.0, LootTable("common.loot_tables.creature.quad_medium.generic")),
|
||||
]
|
@ -1,6 +1,4 @@
|
||||
[
|
||||
(1.5, Item("common.items.food.meat.beast_small_raw")),
|
||||
(0.5, Item("common.items.food.meat.beast_large_raw")),
|
||||
(4.0, LootTable("common.loot_tables.creature.quad_medium.generic")),
|
||||
(2.0, Item("common.items.crafting_ing.animal_misc.claw")),
|
||||
(3.0, Item("common.items.crafting_ing.hide.tough_hide")),
|
||||
]
|
@ -1,5 +1,4 @@
|
||||
[
|
||||
(0.5, Item("common.items.food.meat.beast_large_raw")),
|
||||
(4.0, LootTable("common.loot_tables.creature.quad_medium.generic")),
|
||||
(2.0, Item("common.items.crafting_ing.animal_misc.sharp_fang")),
|
||||
(3.0, Item("common.items.crafting_ing.hide.tough_hide")),
|
||||
]
|
@ -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.tough_hide")),
|
||||
]
|
@ -1,5 +1,5 @@
|
||||
[
|
||||
(1.0, ItemQuantity("common.items.crafting_ing.animal_misc.fur", 1, 3)),
|
||||
(1.0, Item("common.items.crafting_ing.hide.animal_hide")),
|
||||
(0.25, LootTable("common.loot_tables.creature.quad_low.generic")),
|
||||
|
||||
]
|
@ -1,3 +1,4 @@
|
||||
[
|
||||
(1.0, Item("common.items.crafting_ing.hide.animal_hide")),
|
||||
(0.25, Item("common.items.food.meat.beast_small_raw")),
|
||||
]
|
@ -1,3 +1,4 @@
|
||||
[
|
||||
(1.0, ItemQuantity("common.items.crafting_ing.cloth.wool", 2, 5)),
|
||||
(0.25, Item("common.items.food.meat.beast_small_raw")),
|
||||
]
|
@ -1,4 +1,4 @@
|
||||
[
|
||||
(1.0, Item("common.items.crafting_ing.hide.plate")),
|
||||
(1.0, Item("common.items.crafting_ing.hide.rugged_hide")),
|
||||
(1.0, Item("common.items.crafting_ing.animal_misc.large_horn")),
|
||||
]
|
@ -2,10 +2,11 @@
|
||||
(2.0, LootTable("common.loot_tables.creature.biped_large.mindflayer")),
|
||||
// miniboss part
|
||||
// armour
|
||||
(3.0, LootTable("common.loot_tables.armor.cultist")),
|
||||
(0.25, Item("common.items.armor.misc.back.dungeon_purple")),
|
||||
(0.5, Item("common.items.armor.misc.ring.skull")),
|
||||
// weapons
|
||||
(1.5, LootTable("common.loot_tables.weapons.cultist")),
|
||||
(1.5, LootTable("common.loot_tables.weapons.cave")),
|
||||
(4.0, ItemQuantity("common.items.crafting_ing.hide.dragon_scale", 2, 7)),
|
||||
|
||||
]
|
||||
|
@ -1,6 +1,5 @@
|
||||
[
|
||||
// armor
|
||||
(3.0, LootTable("common.loot_tables.armor.cultist")),
|
||||
(0.25, Item("common.items.armor.misc.back.dungeon_purple")),
|
||||
(0.5, Item("common.items.armor.misc.ring.skull")),
|
||||
// weapons
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Keep in mind that material stats are multiplied by the form stats, not added (e.g. equip_time_secs is most sensitive to this)
|
||||
({
|
||||
"common.items.mineral.ingot.bloodsteel_ingot": (
|
||||
"common.items.mineral.ingot.bloodsteel": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 1.75,
|
||||
poise_strength: 1.75,
|
||||
@ -8,7 +8,7 @@
|
||||
crit_chance: 1.75,
|
||||
crit_mult: 1.75,
|
||||
),
|
||||
"common.items.mineral.ingot.bronze_ingot": (
|
||||
"common.items.mineral.ingot.bronze": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 0.75,
|
||||
poise_strength: 0.75,
|
||||
@ -16,7 +16,7 @@
|
||||
crit_chance: 0.75,
|
||||
crit_mult: 0.75,
|
||||
),
|
||||
"common.items.mineral.ingot.cobalt_ingot": (
|
||||
"common.items.mineral.ingot.cobalt": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 1.5,
|
||||
poise_strength: 1.5,
|
||||
@ -24,7 +24,7 @@
|
||||
crit_chance: 1.5,
|
||||
crit_mult: 1.5,
|
||||
),
|
||||
"common.items.mineral.ingot.copper_ingot": (
|
||||
"common.items.mineral.ingot.copper": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 0.4,
|
||||
poise_strength: 0.4,
|
||||
@ -32,7 +32,7 @@
|
||||
crit_chance: 0.4,
|
||||
crit_mult: 0.4,
|
||||
),
|
||||
"common.items.mineral.ingot.iron_ingot": (
|
||||
"common.items.mineral.ingot.iron": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 1.0,
|
||||
poise_strength: 1.0,
|
||||
@ -40,7 +40,7 @@
|
||||
crit_chance: 1.0,
|
||||
crit_mult: 1.0,
|
||||
),
|
||||
"common.items.mineral.ingot.steel_ingot": (
|
||||
"common.items.mineral.ingot.steel": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 1.25,
|
||||
poise_strength: 1.25,
|
||||
@ -48,7 +48,7 @@
|
||||
crit_chance: 1.25,
|
||||
crit_mult: 1.25,
|
||||
),
|
||||
"common.items.mineral.ingot.tin_ingot": (
|
||||
"common.items.mineral.ingot.tin": (
|
||||
equip_time_secs: 1.0,
|
||||
power: 0.25,
|
||||
poise_strength: 0.25,
|
||||
|
@ -198,6 +198,13 @@
|
||||
],
|
||||
craft_sprite: Some(TanningRack),
|
||||
),
|
||||
"rigid leather": (
|
||||
output: ("common.items.crafting_ing.leather.rigid_leather", 1),
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.hide.rugged_hide"), 1),
|
||||
],
|
||||
craft_sprite: Some(TanningRack),
|
||||
),
|
||||
"gold ingot": (
|
||||
output: ("common.items.mineral.ingot.gold", 1),
|
||||
inputs: [
|
||||
@ -707,7 +714,7 @@
|
||||
(Item("common.items.crafting_ing.animal_misc.large_horn"), 1),
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 1),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 3),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 2),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 2),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -716,7 +723,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 1),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 2),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 2),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 2),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -726,7 +733,7 @@
|
||||
(Item("common.items.crafting_ing.animal_misc.large_horn"), 1),
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 2),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 10),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 4),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 4),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -735,7 +742,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 1),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 3),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 2),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 2),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -744,7 +751,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 1),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 3),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 2),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 2),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -754,7 +761,7 @@
|
||||
(Item("common.items.crafting_ing.animal_misc.large_horn"), 1),
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 2),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 8),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 4),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 4),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -764,7 +771,7 @@
|
||||
(Item("common.items.crafting_ing.animal_misc.large_horn"), 2),
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 2),
|
||||
(Item("common.items.crafting_ing.hide.plate"), 8),
|
||||
(Item("common.items.crafting_ing.leather.thick_leather"), 6),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 6),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
),
|
||||
@ -774,6 +781,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.mineral.ingot.bloodsteel"), 2),
|
||||
(Item("common.items.crafting_ing.hide.dragon_scale"), 3),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 1),
|
||||
(Item("common.items.crafting_ing.hide.scales"), 2),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
@ -792,6 +800,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.mineral.ingot.bloodsteel"), 3),
|
||||
(Item("common.items.crafting_ing.hide.dragon_scale"), 10),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 2),
|
||||
(Item("common.items.crafting_ing.hide.scales"), 4),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
@ -819,6 +828,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.mineral.ingot.bloodsteel"), 3),
|
||||
(Item("common.items.crafting_ing.hide.dragon_scale"), 8),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 1),
|
||||
(Item("common.items.crafting_ing.hide.scales"), 4),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
@ -828,6 +838,7 @@
|
||||
inputs: [
|
||||
(Item("common.items.mineral.ingot.bloodsteel"), 3),
|
||||
(Item("common.items.crafting_ing.hide.dragon_scale"), 8),
|
||||
(Item("common.items.crafting_ing.leather.rigid_leather"), 2),
|
||||
(Item("common.items.crafting_ing.hide.scales"), 6),
|
||||
],
|
||||
craft_sprite: Some(CraftingBench),
|
||||
@ -1676,12 +1687,20 @@
|
||||
(Item("common.items.crafting_tools.sewing_set"), 0),
|
||||
],
|
||||
),
|
||||
"pickaxe": (
|
||||
output: ("common.items.tool.pick", 1),
|
||||
"tin pickaxe": (
|
||||
output: ("common.items.tool.pickaxe_stone", 1),
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.cloth.linen"), 1), // TODO: Replace with plant fiber when obtainable
|
||||
(Item("common.items.crafting_ing.stones"), 5), // TODO: Replace with iron ingots when obtainable
|
||||
(Item("common.items.crafting_ing.twigs"), 4),
|
||||
(Item("common.items.crafting_ing.cloth.linen"), 1),
|
||||
(Item("common.items.crafting_ing.stones"), 5),
|
||||
(Item("common.items.tool.craftsman_hammer"), 0),
|
||||
],
|
||||
craft_sprite: Some(Anvil),
|
||||
),
|
||||
"steel pickaxe": (
|
||||
output: ("common.items.tool.pickaxe_steel", 1),
|
||||
inputs: [
|
||||
(Item("common.items.crafting_ing.cloth.lifecloth"), 1),
|
||||
(Item("common.items.mineral.ingot.steel"), 5),
|
||||
(Item("common.items.tool.craftsman_hammer"), 0),
|
||||
],
|
||||
craft_sprite: Some(Anvil),
|
||||
|
@ -99,10 +99,10 @@ Is the client up to date?"#,
|
||||
"common.stats.crit_mult": "Crit Mult",
|
||||
"common.stats.armor": "Armor",
|
||||
"common.stats.poise_res":"Stun Res",
|
||||
"common.stats.energy_max":"Max Energy",
|
||||
"common.stats.energy_recovery":"Energy Recovery",
|
||||
"common.stats.crit_power":"Crit Power",
|
||||
"common.stats.stealth":"Stealth",
|
||||
"common.stats.energy_max": "Max Energy",
|
||||
"common.stats.energy_recovery": "Energy Reward",
|
||||
"common.stats.crit_power": "Crit Power",
|
||||
"common.stats.stealth": "Stealth",
|
||||
"common.stats.slots": "Slots",
|
||||
|
||||
"common.material.metal": "Metal",
|
||||
|
@ -33,7 +33,7 @@
|
||||
),
|
||||
Tool("TanningRack"): VoxTrans(
|
||||
"voxel.object.tanning_rack",
|
||||
(0.0, 0.0, 0.0), (-50.0, 40.0, 20.0), 1.0,
|
||||
(0.0, 0.0, 0.0), (-90.0, 20.0, 0.0), 1.0,
|
||||
),
|
||||
// Weapons
|
||||
// Diary Example Images
|
||||
@ -1071,10 +1071,14 @@
|
||||
(0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.2,
|
||||
),
|
||||
// Picks
|
||||
Tool("common.items.tool.pick"): VoxTrans(
|
||||
Tool("common.items.tool.pickaxe_stone"): VoxTrans(
|
||||
"voxel.weapon.tool.pickaxe_green-0",
|
||||
(0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0,
|
||||
),
|
||||
Tool("common.items.tool.pickaxe_steel"): VoxTrans(
|
||||
"voxel.weapon.tool.pickaxe_green-1",
|
||||
(0.0, 0.0, 0.0), (-135.0, 90.0, 0.0), 1.0,
|
||||
),
|
||||
// Other
|
||||
Utility(Coins): VoxTrans(
|
||||
"voxel.object.v-coin",
|
||||
@ -2469,6 +2473,10 @@
|
||||
"voxel.sprite.crafting_ing.hide.tough_hide",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("RuggedHide"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.hide.rugged_hide",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("SimpleLeather"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.leather.simple_leather",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
@ -2477,6 +2485,14 @@
|
||||
"voxel.sprite.crafting_ing.leather.thick_leather",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("RigidLeather"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.leather.rigid_leather",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("TrollLeather"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.hide.troll_hide",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("LeatherStrips"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.leather.leather_strips",
|
||||
(0.0, 0.0, 0.0), (-20.0, 10.0, 20.0), 0.9,
|
||||
@ -2577,6 +2593,10 @@
|
||||
"voxel.sprite.crafting_ing.cloth.linen_red",
|
||||
(0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("StickyThread"): VoxTrans(
|
||||
"voxel.sprite.crafting_ing.sticky_thread",
|
||||
(0.0, 0.0, 0.0), (-65.0, 0.0, 20.0), 0.9,
|
||||
),
|
||||
Ingredient("SilverIngot"): VoxTrans(
|
||||
"voxel.sprite.mineral.ingot.silver",
|
||||
(0.0, 0.0, 0.0), (70.0, 30.0, 170.0), 0.85,
|
||||
@ -2652,9 +2672,6 @@
|
||||
Ingredient("Honey"): Png(
|
||||
"element.items.item_honey",
|
||||
),
|
||||
Ingredient("TrollLeather"): Png(
|
||||
"element.items.item_leather_green",
|
||||
),
|
||||
Ingredient("MortarPestle"): Png(
|
||||
"element.items.item_mortarpestlecoco",
|
||||
),
|
||||
|
@ -49,7 +49,7 @@ const float PERSISTENT_AMBIANCE = 1.0 / 32.0;// 1.0 / 80; // 1.0 / 512; // 0.001
|
||||
|
||||
// Glow from static light sources
|
||||
// Allowed to be > 1 due to HDR
|
||||
const vec3 GLOW_COLOR = vec3(3.0, 0.9, 0.05);
|
||||
const vec3 GLOW_COLOR = vec3(0.89, 0.95, 0.52);
|
||||
|
||||
// Calculate glow from static light sources, + some noise for flickering.
|
||||
// TODO: Optionally disable the flickering for performance?
|
||||
|
@ -70,7 +70,7 @@ const int LASER = 28;
|
||||
const int BUBBLES = 29;
|
||||
const int WATER = 30;
|
||||
const int ICE_SPIKES = 31;
|
||||
const int DUST = 32;
|
||||
const int DRIP = 32;
|
||||
|
||||
// meters per second squared (acceleration)
|
||||
const float earth_gravity = 9.807;
|
||||
@ -532,7 +532,7 @@ void main() {
|
||||
spin_in_axis(vec3(1,0,0),0)
|
||||
);
|
||||
break;
|
||||
case DUST:
|
||||
case DRIP:
|
||||
attr = Attr(
|
||||
linear_motion(
|
||||
vec3(0),
|
||||
|
@ -975,10 +975,14 @@
|
||||
color: None
|
||||
),
|
||||
// Picks
|
||||
"common.items.tool.pick": (
|
||||
"common.items.tool.pickaxe_stone": (
|
||||
vox_spec: ("weapon.tool.pickaxe_green-0", (-1.5, -7.5, -4.0)),
|
||||
color: None
|
||||
),
|
||||
"common.items.tool.pickaxe_steel": (
|
||||
vox_spec: ("weapon.tool.pickaxe_green-1", (-1.5, -9.5, -4.0)),
|
||||
color: None
|
||||
),
|
||||
// Misc
|
||||
"common.items.debug.admin_stick": (
|
||||
vox_spec: ("weapon.tool.broom_belzeshrub_purple", (-3.0, -4.0, -4.0)),
|
||||
|
@ -149,7 +149,7 @@
|
||||
color: None
|
||||
),
|
||||
"Bloodsteel":(
|
||||
vox_spec: ("armor.mail.bloodsteel.belt", (-4.5, -3.5, 1.0)),
|
||||
vox_spec: ("armor.mail.bloodsteel.belt", (-5.0, -3.5, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"Orichalcum":(
|
||||
|
@ -219,7 +219,7 @@
|
||||
color: None
|
||||
),
|
||||
"Bloodsteel": (
|
||||
vox_spec: ("armor.mail.bloodsteel.chest", (-7.5, -4.0, 1.0)),
|
||||
vox_spec: ("armor.mail.bloodsteel.chest", (-8.0, -4.0, 1.0)),
|
||||
color: None
|
||||
),
|
||||
"Orichalcum": (
|
||||
|
@ -342,11 +342,11 @@
|
||||
),
|
||||
"Bloodsteel": (
|
||||
left: (
|
||||
vox_spec: ("armor.mail.bloodsteel.hand", (-3.5, -1.0, -4.0)),
|
||||
vox_spec: ("armor.mail.bloodsteel.hand", (-5.0, -1.0, -4.0)),
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.mail.bloodsteel.hand", (-0.5, -1.0, -4.0)),
|
||||
vox_spec: ("armor.mail.bloodsteel.hand", (-1.0, -1.0, -4.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
|
@ -177,7 +177,7 @@
|
||||
color: None
|
||||
),
|
||||
"Bloodsteel": (
|
||||
vox_spec: ("armor.mail.bloodsteel.pants", (-6.5, -4.0, 0.5)),
|
||||
vox_spec: ("armor.mail.bloodsteel.pants", (-7.0, -4.0, 0.5)),
|
||||
color: None
|
||||
),
|
||||
"Orichalcum": (
|
||||
|
@ -427,7 +427,7 @@
|
||||
color: None
|
||||
),
|
||||
right: (
|
||||
vox_spec: ("armor.mail.bloodsteel.shoulder", (-1.5, -5.0, -3.0)),
|
||||
vox_spec: ("armor.mail.bloodsteel.shoulder", (-2.5, -5.0, -3.0)),
|
||||
color: None
|
||||
)
|
||||
),
|
||||
|
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-0.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-0.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-1.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-1.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-2.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-2.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-3.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-3.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-4.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-4.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-5.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-5.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-6.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mold-6.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-0.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-0.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-1.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-1.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-2.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-2.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-3.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/mushroom-3.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-0.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-0.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-1.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-1.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-2.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-2.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-3.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/ceiling/orb-3.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/mushroom-6.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/mushroom-6.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/mushroom-7.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/mushroom-7.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/cave/mushroom-8.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/cave/mushroom-8.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/crafting_ing/animal_misc/lively_vine.vox
(Stored with Git LFS)
BIN
assets/voxygen/voxel/sprite/crafting_ing/animal_misc/lively_vine.vox
(Stored with Git LFS)
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/crafting_ing/hide/rugged.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/crafting_ing/hide/rugged.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/crafting_ing/hide/troll_hide.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/crafting_ing/hide/troll_hide.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
assets/voxygen/voxel/sprite/crafting_ing/leather/rigid.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/sprite/crafting_ing/leather/rigid.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -41,7 +41,6 @@ Window4: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Cacti
|
||||
LargeCactus: Some((
|
||||
variations: [
|
||||
@ -108,7 +107,6 @@ ShortFlatCactus: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Flowers
|
||||
BlueFlower: Some((
|
||||
variations: [
|
||||
@ -325,8 +323,6 @@ Sunflower: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
|
||||
// Grass
|
||||
LongGrass: Some((
|
||||
variations: [
|
||||
@ -448,7 +444,6 @@ LargeGrass: Some((
|
||||
],
|
||||
wind_sway: 0.5,
|
||||
)),
|
||||
|
||||
// Fruit
|
||||
Apple: Some((
|
||||
variations: [
|
||||
@ -460,7 +455,6 @@ Apple: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Mushrooms
|
||||
Mushroom: Some((
|
||||
variations: [
|
||||
@ -522,44 +516,138 @@ Mushroom: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Cave Mushrooms
|
||||
CaveMushroom: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mushrooms.mushroom-11",
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-0",
|
||||
offset: (-8.0, -8.0, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mushrooms.mushroom-12",
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-1",
|
||||
offset: (-5.0, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mushrooms.mushroom-13",
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-2",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mushrooms.mushroom-14",
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-3",
|
||||
offset: (-2.5, -2.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mushrooms.mushroom-15",
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-4",
|
||||
offset: (-1.5, -1.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mushrooms.mushroom-16",
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-5",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-6",
|
||||
offset: (-8.5, -8.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-7",
|
||||
offset: (-11.5, -11.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.mushroom-8",
|
||||
offset: (-12.5, -15.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
// Ceiling Mushrooms
|
||||
CeilingMushroom: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mushroom-0",
|
||||
offset: (-8.0, -8.0, -22.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mushroom-1",
|
||||
offset: (-8.5, -8.5, -9.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mushroom-2",
|
||||
offset: (-11.5, -11.5, -17.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-0",
|
||||
offset: (-5.5, -5.5, 0.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-1",
|
||||
offset: (-5.5, -5.5, -7.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-2",
|
||||
offset: (-5.5, -5.5, -7.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-3",
|
||||
offset: (-5.5, -5.5, 2.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-4",
|
||||
offset: (-2.0, -2.0, -49.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-5",
|
||||
offset: (-2.0, -2.0, -79.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.mold-6",
|
||||
offset: (-2.0, -2.0, -79.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
Orb: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.orb-0",
|
||||
offset: (-8.0, -8.0, -79.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.orb-1",
|
||||
offset: (-8.0, -8.0, -20.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.orb-2",
|
||||
offset: (-8.0, -8.0, -65.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.cave.ceiling.orb-3",
|
||||
offset: (-8.0, -8.0, -44.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Lianas,
|
||||
Liana: Some((
|
||||
variations: [
|
||||
@ -576,7 +664,6 @@ Liana: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Velorite
|
||||
Velorite: Some((
|
||||
variations: [
|
||||
@ -643,7 +730,6 @@ VeloriteFrag: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Chests
|
||||
Chest: Some((
|
||||
variations: [
|
||||
@ -670,7 +756,6 @@ Chest: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Dungeon Chests
|
||||
DungeonChest0: Some((
|
||||
variations: [
|
||||
@ -732,7 +817,6 @@ DungeonChest5: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Welwitch
|
||||
Welwitch: Some((
|
||||
variations: [
|
||||
@ -744,7 +828,6 @@ Welwitch: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Pumpkins
|
||||
Pumpkin: Some((
|
||||
variations: [
|
||||
@ -786,7 +869,6 @@ Pumpkin: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Lingonberries
|
||||
LingonBerry: Some((
|
||||
variations: [
|
||||
@ -808,7 +890,6 @@ LingonBerry: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Leafy Plants
|
||||
LeafyPlant: Some((
|
||||
variations: [
|
||||
@ -865,7 +946,6 @@ LeafyPlant: Some((
|
||||
],
|
||||
wind_sway: 0.4,
|
||||
)),
|
||||
|
||||
// Ferns
|
||||
Fern: Some((
|
||||
variations: [
|
||||
@ -937,7 +1017,6 @@ Fern: Some((
|
||||
],
|
||||
wind_sway: 0.4,
|
||||
)),
|
||||
|
||||
// Savanna Flora
|
||||
SavannaGrass: Some((
|
||||
variations: [
|
||||
@ -1079,7 +1158,6 @@ SavannaBush: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Dead Bush
|
||||
DeadBush: Some((
|
||||
variations: [
|
||||
@ -1106,7 +1184,6 @@ DeadBush: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Blueberries
|
||||
// NOTE: Why are these commented out?
|
||||
Blueberry: None/* (
|
||||
@ -1159,7 +1236,6 @@ Blueberry: None/* (
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)*/,
|
||||
|
||||
// Ember
|
||||
Ember: Some((
|
||||
variations: [
|
||||
@ -1171,7 +1247,6 @@ Ember: Some((
|
||||
],
|
||||
wind_sway: 0.8,
|
||||
)),
|
||||
|
||||
// Corn
|
||||
Corn: Some((
|
||||
variations: [
|
||||
@ -1208,7 +1283,6 @@ Corn: Some((
|
||||
],
|
||||
wind_sway: 0.4,
|
||||
)),
|
||||
|
||||
// Yellow Wheat
|
||||
WheatYellow: Some((
|
||||
variations: [
|
||||
@ -1265,7 +1339,6 @@ WheatYellow: Some((
|
||||
],
|
||||
wind_sway: 0.4,
|
||||
)),
|
||||
|
||||
// Green Wheat
|
||||
WheatGreen: Some((
|
||||
variations: [
|
||||
@ -1322,7 +1395,6 @@ WheatGreen: Some((
|
||||
],
|
||||
wind_sway: 0.4,
|
||||
)),
|
||||
|
||||
// Cabbage
|
||||
Cabbage: Some((
|
||||
variations: [
|
||||
@ -1344,7 +1416,6 @@ Cabbage: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Flax
|
||||
Flax: Some((
|
||||
variations: [
|
||||
@ -1381,7 +1452,6 @@ Flax: Some((
|
||||
],
|
||||
wind_sway: 0.4,
|
||||
)),
|
||||
|
||||
// Carrot
|
||||
Carrot: Some((
|
||||
variations: [
|
||||
@ -1418,7 +1488,6 @@ Carrot: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Tomato
|
||||
Tomato: Some((
|
||||
variations: [
|
||||
@ -1450,7 +1519,6 @@ Tomato: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Radish
|
||||
Radish: Some((
|
||||
variations: [
|
||||
@ -1482,7 +1550,6 @@ Radish: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Turnip
|
||||
Turnip: Some((
|
||||
variations: [
|
||||
@ -1519,7 +1586,6 @@ Turnip: Some((
|
||||
],
|
||||
wind_sway: 0.1,
|
||||
)),
|
||||
|
||||
// Coconut
|
||||
Coconut: Some((
|
||||
variations: [
|
||||
@ -1531,7 +1597,6 @@ Coconut: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Scarecrow
|
||||
Scarecrow: Some((
|
||||
variations: [
|
||||
@ -1543,7 +1608,6 @@ Scarecrow: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Street Light
|
||||
StreetLamp: Some((
|
||||
variations: [
|
||||
@ -1566,7 +1630,6 @@ StreetLampTall: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Door
|
||||
Door: Some((
|
||||
variations: [
|
||||
@ -1578,7 +1641,6 @@ Door: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Bed
|
||||
Bed: Some((
|
||||
variations: [
|
||||
@ -1590,7 +1652,6 @@ Bed: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Bench
|
||||
Bench: Some((
|
||||
variations: [
|
||||
@ -1602,7 +1663,6 @@ Bench: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Chair
|
||||
ChairSingle: Some((
|
||||
variations: [
|
||||
@ -1634,7 +1694,6 @@ ChairDouble: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// CoatRack
|
||||
CoatRack: Some((
|
||||
variations: [
|
||||
@ -1651,7 +1710,6 @@ CoatRack: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Crate
|
||||
Crate: Some((
|
||||
variations: [
|
||||
@ -1693,7 +1751,6 @@ Crate: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// DrawerLarge
|
||||
DrawerLarge: Some((
|
||||
variations: [
|
||||
@ -1710,7 +1767,6 @@ DrawerLarge: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// DrawerMedium
|
||||
DrawerMedium: Some((
|
||||
variations: [
|
||||
@ -1727,7 +1783,6 @@ DrawerMedium: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// DrawerSmall
|
||||
DrawerSmall: Some((
|
||||
variations: [
|
||||
@ -1744,7 +1799,6 @@ DrawerSmall: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// DungeonWallDecor
|
||||
DungeonWallDecor: Some((
|
||||
variations: [
|
||||
@ -1801,7 +1855,6 @@ DungeonWallDecor: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// HangingBasket
|
||||
HangingBasket: Some((
|
||||
variations: [
|
||||
@ -1818,7 +1871,6 @@ HangingBasket: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// HangingSign
|
||||
HangingSign: Some((
|
||||
variations: [
|
||||
@ -1830,7 +1882,6 @@ HangingSign: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// WallLamp
|
||||
WallLamp: Some((
|
||||
variations: [
|
||||
@ -1842,7 +1893,6 @@ WallLamp: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// WallLampSmall
|
||||
WallLampSmall: Some((
|
||||
variations: [
|
||||
@ -1854,7 +1904,6 @@ WallLampSmall: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// WallSconce
|
||||
WallSconce: Some((
|
||||
variations: [
|
||||
@ -1866,7 +1915,6 @@ WallSconce: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Planter
|
||||
Planter: Some((
|
||||
variations: [
|
||||
@ -1908,7 +1956,6 @@ Planter: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Shelf
|
||||
Shelf: Some((
|
||||
variations: [
|
||||
@ -1925,7 +1972,6 @@ Shelf: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// TableSide
|
||||
TableSide: Some((
|
||||
variations: [
|
||||
@ -1942,7 +1988,6 @@ TableSide: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// TableDining
|
||||
TableDining: Some((
|
||||
variations: [
|
||||
@ -1959,7 +2004,6 @@ TableDining: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// TableDouble
|
||||
TableDouble: Some((
|
||||
variations: [
|
||||
@ -1972,7 +2016,6 @@ TableDouble: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// WardrobeDouble
|
||||
WardrobeDouble: Some((
|
||||
variations: [
|
||||
@ -1989,7 +2032,6 @@ WardrobeDouble: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// WardrobeSingle
|
||||
WardrobeSingle: Some((
|
||||
variations: [
|
||||
@ -2006,8 +2048,6 @@ WardrobeSingle: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
|
||||
// Pot
|
||||
Pot: Some((
|
||||
variations: [
|
||||
@ -2024,7 +2064,6 @@ Pot: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Stones
|
||||
Stones: Some((
|
||||
variations: [
|
||||
@ -2046,7 +2085,6 @@ Stones: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Twigs
|
||||
Twigs: Some((
|
||||
variations: [
|
||||
@ -2068,7 +2106,6 @@ Twigs: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Drop Gate Parts
|
||||
DropGate: Some((
|
||||
variations: [
|
||||
@ -2090,7 +2127,6 @@ DropGateBottom: Some((
|
||||
],
|
||||
wind_sway: 0.0,
|
||||
)),
|
||||
|
||||
// Snow covered Grass
|
||||
GrassSnow: Some((
|
||||
variations: [
|
||||
@ -2147,7 +2183,6 @@ GrassSnow: Some((
|
||||
],
|
||||
wind_sway: 0.2,
|
||||
)),
|
||||
|
||||
// Reed
|
||||
Reed: Some((
|
||||
variations: [
|
||||
@ -2179,7 +2214,6 @@ Reed: Some((
|
||||
],
|
||||
wind_sway: 0.3,
|
||||
)),
|
||||
|
||||
// Beehive
|
||||
Beehive: Some((
|
||||
variations: [
|
||||
@ -2984,41 +3018,6 @@ Gold: Some((
|
||||
)),
|
||||
CrystalHigh: Some((
|
||||
variations: [
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.blue-0",
|
||||
offset: (-8.5, -9.0, -7.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.blue-1",
|
||||
offset: (-8.0, -8.0, -10.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.blue-2",
|
||||
offset: (-11.5, -12.5, -9.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.purple-0",
|
||||
offset: (-8.5, -9.0, -7.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.purple-1",
|
||||
offset: (-8.0, -8.0, -10.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.purple-2",
|
||||
offset: (-11.5, -12.5, -9.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.purple-3",
|
||||
offset: (-11.5, -12.5, -49.0),
|
||||
lod_axes: (1.0, 1.0, 1.0),
|
||||
),
|
||||
(
|
||||
model: "voxygen.voxel.sprite.mineral.deposit.crystal.ceiling.green-0",
|
||||
offset: (-8.5, -9.0, -7.0),
|
||||
|
BIN
assets/voxygen/voxel/weapon/tool/pickaxe_green-1.vox
(Stored with Git LFS)
Normal file
BIN
assets/voxygen/voxel/weapon/tool/pickaxe_green-1.vox
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -37,7 +37,7 @@ fn armor_stats() -> Result<(), Box<dyn Error>> {
|
||||
"Protection",
|
||||
"Poise Resilience",
|
||||
"Max Energy",
|
||||
"Energy Recovery",
|
||||
"Energy Reward",
|
||||
"Crit Power",
|
||||
"Stealth",
|
||||
"Description",
|
||||
|
@ -124,7 +124,7 @@ fn armor_stats() -> Result<(), Box<dyn Error>> {
|
||||
};
|
||||
|
||||
let energy_recovery = if let Some(energy_recovery_raw) =
|
||||
record.get(headers["Energy Recovery"])
|
||||
record.get(headers["Energy Reward"])
|
||||
{
|
||||
energy_recovery_raw.parse().unwrap()
|
||||
} else {
|
||||
|
@ -365,6 +365,7 @@ impl Body {
|
||||
quadruped_low::Species::Monitor => Vec3::new(1.0, 2.3, 1.5),
|
||||
quadruped_low::Species::Pangolin => Vec3::new(1.0, 2.0, 1.3),
|
||||
quadruped_low::Species::Rocksnapper => Vec3::new(1.0, 1.6, 2.9),
|
||||
quadruped_low::Species::Basilisk => Vec3::new(1.0, 1.6, 2.9),
|
||||
quadruped_low::Species::Salamander => Vec3::new(1.0, 2.4, 1.3),
|
||||
quadruped_low::Species::Tortoise => Vec3::new(1.0, 1.6, 2.0),
|
||||
quadruped_low::Species::Basilisk => Vec3::new(1.8, 2.2, 2.9),
|
||||
@ -510,13 +511,13 @@ impl Body {
|
||||
quadruped_low::Species::Monitor => 600,
|
||||
quadruped_low::Species::Asp => 750,
|
||||
quadruped_low::Species::Tortoise => 900,
|
||||
quadruped_low::Species::Rocksnapper => 1200,
|
||||
quadruped_low::Species::Rocksnapper => 1400,
|
||||
quadruped_low::Species::Pangolin => 400,
|
||||
quadruped_low::Species::Maneater => 700,
|
||||
quadruped_low::Species::Sandshark => 900,
|
||||
quadruped_low::Species::Hakulaq => 500,
|
||||
quadruped_low::Species::Lavadrake => 1000,
|
||||
quadruped_low::Species::Basilisk => 1000,
|
||||
quadruped_low::Species::Lavadrake => 1600,
|
||||
quadruped_low::Species::Basilisk => 2000,
|
||||
quadruped_low::Species::Deadwood => 700,
|
||||
_ => 700,
|
||||
},
|
||||
|
@ -120,7 +120,7 @@ impl Energy {
|
||||
pub fn compute_energy_reward_mod(inventory: Option<&Inventory>) -> f32 {
|
||||
use comp::item::ItemKind;
|
||||
// Starts with a value of 1.0 when summing the stats from each armor piece, and
|
||||
// defaults to a value of 1.0 if no inventory is equipped
|
||||
// defaults to a value of 1.0 if no inventory is present
|
||||
inventory.map_or(1.0, |inv| {
|
||||
inv.equipped_items()
|
||||
.filter_map(|item| {
|
||||
@ -138,7 +138,7 @@ impl Energy {
|
||||
/// currently equipped items
|
||||
pub fn compute_max_energy_mod_from_inv(&self, inventory: Option<&Inventory>) -> f32 {
|
||||
use comp::item::ItemKind;
|
||||
// Defaults to a value of 0 if no inventory is equipped
|
||||
// Defaults to a value of 0 if no inventory is present
|
||||
let energy_increase = inventory.map_or(0, |inv| {
|
||||
inv.equipped_items()
|
||||
.filter_map(|item| {
|
||||
|
@ -28,11 +28,11 @@ impl Armor {
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct Stats {
|
||||
/// Protection is non-linearly transformed to a damage reduction using
|
||||
/// (prot / (60 + prot))
|
||||
/// Protection is non-linearly transformed (following summation) to a damage
|
||||
/// reduction using (prot / (60 + prot))
|
||||
protection: Protection,
|
||||
/// Poise protection is non-linearly transformed to a poise damage reduction
|
||||
/// using (prot / (60 + prot))
|
||||
/// Poise protection is non-linearly transformed (following summation) to a
|
||||
/// poise damage reduction using (prot / (60 + prot))
|
||||
poise_resilience: Protection,
|
||||
/// Energy max is summed, and then applied directly to the max energy stat
|
||||
/// (multiply values by 10 for expected results, as energy internally is 10x
|
||||
|
@ -223,6 +223,7 @@ impl TagExampleInfo for MaterialTag {
|
||||
pub enum ItemTag {
|
||||
MetalIngot,
|
||||
Textile,
|
||||
Leather,
|
||||
Material(MaterialTag),
|
||||
ModularComponent(ModularComponentTag),
|
||||
Cultist,
|
||||
@ -241,6 +242,7 @@ impl TagExampleInfo for ItemTag {
|
||||
ItemTag::ModularComponent(kind) => kind.name(),
|
||||
ItemTag::MetalIngot => "metal ingot",
|
||||
ItemTag::Textile => "textile",
|
||||
ItemTag::Leather => "leather",
|
||||
ItemTag::Cultist => "cultist",
|
||||
ItemTag::Potion => "potion",
|
||||
ItemTag::Food => "food",
|
||||
@ -258,6 +260,7 @@ impl TagExampleInfo for ItemTag {
|
||||
ItemTag::ModularComponent(tag) => tag.exemplar_identifier(),
|
||||
ItemTag::MetalIngot => "common.items.tag_examples.metal_ingot",
|
||||
ItemTag::Textile => "common.items.tag_examples.textile",
|
||||
ItemTag::Leather => "common.items.tag_examples.leather",
|
||||
ItemTag::Cultist => "common.items.tag_examples.cultist",
|
||||
ItemTag::Potion => "common.items.tag_examples.placeholder",
|
||||
ItemTag::Food => "common.items.tag_examples.placeholder",
|
||||
@ -834,7 +837,6 @@ impl Item {
|
||||
Some(Item::new_from_asset_expect(match block.get_sprite()? {
|
||||
SpriteKind::Apple => "common.items.food.apple",
|
||||
SpriteKind::Mushroom => "common.items.food.mushroom",
|
||||
SpriteKind::CaveMushroom => "common.items.food.mushroom",
|
||||
SpriteKind::Velorite => "common.items.mineral.ore.velorite",
|
||||
SpriteKind::VeloriteFrag => "common.items.mineral.ore.veloritefrag",
|
||||
SpriteKind::BlueFlower => "common.items.flowers.blue",
|
||||
|
@ -228,6 +228,9 @@ pub fn default_main_tool(body: &Body) -> Option<Item> {
|
||||
quadruped_low::Species::Deadwood => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.quadlowbeam",
|
||||
)),
|
||||
quadruped_low::Species::Basilisk => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.basilisk",
|
||||
)),
|
||||
_ => Some(Item::new_from_asset_expect(
|
||||
"common.items.npc_weapons.unique.quadlowbasic",
|
||||
)),
|
||||
@ -846,7 +849,7 @@ mod tests {
|
||||
// Exotic
|
||||
"common.items.npc_weapons.unique.beast_claws", // Natural
|
||||
"common.items.weapons.tool.rake", // Farming
|
||||
"common.items.tool.pick", // Pick
|
||||
"common.items.tool.pickaxe_stone", // Pick
|
||||
"common.items.weapons.empty.empty", // Empty
|
||||
];
|
||||
|
||||
|
@ -174,12 +174,15 @@ impl Block {
|
||||
SpriteKind::WallLamp
|
||||
| SpriteKind::WallLampSmall
|
||||
| SpriteKind::WallSconce
|
||||
| SpriteKind::FireBowlGround => Some(16),
|
||||
SpriteKind::Velorite | SpriteKind::VeloriteFrag => Some(6),
|
||||
| SpriteKind::FireBowlGround
|
||||
| SpriteKind::Orb => Some(16),
|
||||
SpriteKind::Velorite | SpriteKind::VeloriteFrag | SpriteKind::CeilingMushroom => {
|
||||
Some(6)
|
||||
},
|
||||
SpriteKind::CaveMushroom
|
||||
| SpriteKind::CookingPot
|
||||
| SpriteKind::CrystalHigh
|
||||
| SpriteKind::CrystalLow => Some(16),
|
||||
| SpriteKind::CrystalLow => Some(10),
|
||||
SpriteKind::Amethyst
|
||||
| SpriteKind::Ruby
|
||||
| SpriteKind::Sapphire
|
||||
|
@ -171,6 +171,8 @@ make_case_elim!(
|
||||
TanningRack = 0x90,
|
||||
WildFlax = 0x91,
|
||||
CrystalLow = 0x92,
|
||||
CeilingMushroom = 0x93,
|
||||
Orb = 0x94,
|
||||
}
|
||||
);
|
||||
|
||||
@ -272,7 +274,6 @@ impl SpriteKind {
|
||||
SpriteKind::ShortGrass => false,
|
||||
SpriteKind::Apple => true,
|
||||
SpriteKind::Mushroom => true,
|
||||
SpriteKind::CaveMushroom => true,
|
||||
// SpriteKind::Velorite => true,
|
||||
// SpriteKind::VeloriteFrag => true,
|
||||
SpriteKind::Chest => true,
|
||||
|
@ -377,7 +377,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
|
||||
| quadruped_small::Species::Turtle => {
|
||||
"common.loot_tables.creature.quad_small.ooze"
|
||||
},
|
||||
_ => "common.loot_tables.creature.quad_small.default",
|
||||
_ => "common.loot_tables.creature.quad_small.generic",
|
||||
}
|
||||
},
|
||||
Some(Body::QuadrupedMedium(quadruped_medium)) => match quadruped_medium.species {
|
||||
@ -445,10 +445,10 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
|
||||
| theropod::Species::Snowraptor
|
||||
| theropod::Species::Woodraptor
|
||||
| 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",
|
||||
theropod::Species::Archaeos
|
||||
| theropod::Species::Ntouka
|
||||
| theropod::Species::Yale => "common.loot_tables.creature.theropod.horned",
|
||||
_ => "common.loot_tables.creature.theropod.generic",
|
||||
},
|
||||
Some(common::comp::Body::Dragon(_)) => "common.loot_tables.creature.dragon",
|
||||
Some(common::comp::Body::QuadrupedLow(quadruped_low)) => {
|
||||
@ -456,10 +456,9 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
|
||||
quadruped_low::Species::Maneater => {
|
||||
"common.loot_tables.creature.quad_low.maneater"
|
||||
},
|
||||
quadruped_low::Species::Lavadrake => {
|
||||
"common.loot_tables.creature.quad_low.carapace"
|
||||
},
|
||||
quadruped_low::Species::Rocksnapper | quadruped_low::Species::Sandshark => {
|
||||
quadruped_low::Species::Lavadrake
|
||||
| quadruped_low::Species::Rocksnapper
|
||||
| quadruped_low::Species::Sandshark => {
|
||||
"common.loot_tables.creature.quad_low.carapace"
|
||||
},
|
||||
quadruped_low::Species::Asp => {
|
||||
@ -474,7 +473,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc
|
||||
quadruped_low::Species::Basilisk => {
|
||||
"common.loot_tables.creature.quad_low.basilisk"
|
||||
},
|
||||
_ => "common.loot_tables.creature.quad_low.default",
|
||||
_ => "common.loot_tables.creature.quad_low.generic",
|
||||
}
|
||||
},
|
||||
_ => "common.loot_tables.fallback",
|
||||
|
@ -36,8 +36,6 @@ SET item_definition_id = 'common.items.armor.hide.rawhide.shoulder' WHERE item_d
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.rawhide.foot' WHERE item_definition_id = 'common.items.armor.agile.foot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.rawhide.foot' WHERE item_definition_id = 'common.items.armor.agile.foot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.rawhide.back' WHERE item_definition_id = 'common.items.armor.agile.back';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.leather.belt' WHERE item_definition_id = 'common.items.armor.swift.belt';
|
||||
@ -52,23 +50,19 @@ SET item_definition_id = 'common.items.armor.hide.leather.shoulder' WHERE item_d
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.leather.foot' WHERE item_definition_id = 'common.items.armor.swift.foot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.leather.foot' WHERE item_definition_id = 'common.items.armor.swift.foot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.hide.leather.head' WHERE item_definition_id = 'common.items.armor.swift.head';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.cloth.druid.belt' WHERE item_definition_id = 'common.items.armor.plate.belt';
|
||||
SET item_definition_id = 'common.items.armor.mail.iron.belt' WHERE item_definition_id = 'common.items.armor.plate.belt';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.cloth.druid.chest' WHERE item_definition_id = 'common.items.armor.plate.chest';
|
||||
SET item_definition_id = 'common.items.armor.mail.iron.chest' WHERE item_definition_id = 'common.items.armor.plate.chest';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.cloth.druid.hand' WHERE item_definition_id = 'common.items.armor.plate.hand';
|
||||
SET item_definition_id = 'common.items.armor.mail.iron.hand' WHERE item_definition_id = 'common.items.armor.plate.hand';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.cloth.druid.pants' WHERE item_definition_id = 'common.items.armor.plate.pants';
|
||||
SET item_definition_id = 'common.items.armor.mail.iron.pants' WHERE item_definition_id = 'common.items.armor.plate.pants';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.cloth.druid.shoulder' WHERE item_definition_id = 'common.items.armor.plate.shoulder';
|
||||
SET item_definition_id = 'common.items.armor.mail.iron.shoulder' WHERE item_definition_id = 'common.items.armor.plate.shoulder';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.armor.cloth.druid.foot' WHERE item_definition_id = 'common.items.armor.plate.foot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.mineral.gem.amethyst' WHERE item_definition_id = 'common.items.crafting_ing.amethyst';
|
||||
SET item_definition_id = 'common.items.armor.mail.iron.foot' WHERE item_definition_id = 'common.items.armor.plate.foot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.mineral.gem.amethyst' WHERE item_definition_id = 'common.items.crafting_ing.amethyst';
|
||||
UPDATE item
|
||||
@ -176,8 +170,6 @@ SET item_definition_id = 'common.items.mineral.ore.silver' WHERE item_definition
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.mineral.ingot.steel' WHERE item_definition_id = 'common.items.crafting_ing.steel_ingot';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.mineral.ore.silver' WHERE item_definition_id = 'common.items.crafting_ing.silver_ore';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.crafting_ing.cloth.sunsilk' WHERE item_definition_id = 'common.items.crafting_ing.sunsilk';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.mineral.ingot.tin' WHERE item_definition_id = 'common.items.crafting_ing.tin_ingot';
|
||||
@ -200,4 +192,6 @@ SET item_definition_id = 'common.items.mineral.ore.velorite' WHERE item_definiti
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.mineral.ore.veloritefrag' WHERE item_definition_id = 'common.items.ore.veloritefrag';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.food.meat.fish_raw' WHERE item_definition_id = 'common.items.food.fish';
|
||||
SET item_definition_id = 'common.items.food.meat.fish_raw' WHERE item_definition_id = 'common.items.food.fish';
|
||||
UPDATE item
|
||||
SET item_definition_id = 'common.items.tool.pickaxe_stone' WHERE item_definition_id = 'common.items.tool.pick';
|
@ -49,16 +49,16 @@ impl Animation for StandAnimation {
|
||||
next.shoulder_r.scale = Vec3::one() * 1.1;
|
||||
|
||||
next.head.position = Vec3::new(0.0, s_a.head.0, s_a.head.1 + slow * 0.3);
|
||||
next.head.orientation = Quaternion::rotation_z(head_look.x*0.0)//remove later, either i'll remember or you're doing code review
|
||||
next.head.orientation = Quaternion::rotation_z(head_look.x)
|
||||
* Quaternion::rotation_x(impact * -0.02 + head_look.y.abs());
|
||||
|
||||
next.chest.position = Vec3::new(0.0, s_a.chest.0, s_a.chest.1 + slow * 0.3 + impact * 0.2);
|
||||
next.chest.orientation =
|
||||
Quaternion::rotation_z(head_look.x * 0.6 * 0.0) * Quaternion::rotation_x(impact * 0.04);
|
||||
Quaternion::rotation_z(head_look.x * 0.6) * Quaternion::rotation_x(impact * 0.04);
|
||||
|
||||
next.belt.position = Vec3::new(0.0, s_a.belt.0 + impact * 0.005, s_a.belt.1);
|
||||
next.belt.orientation = Quaternion::rotation_z(head_look.x * -0.1 * 0.0)
|
||||
* Quaternion::rotation_x(impact * -0.03);
|
||||
next.belt.orientation =
|
||||
Quaternion::rotation_z(head_look.x * -0.1) * Quaternion::rotation_x(impact * -0.03);
|
||||
|
||||
next.back.position = Vec3::new(0.0, s_a.back.0, s_a.back.1);
|
||||
|
||||
|
@ -195,6 +195,7 @@ impl CraftingTab {
|
||||
CraftingTab::Material => {
|
||||
item.tags().contains(&ItemTag::MetalIngot)
|
||||
| item.tags().contains(&ItemTag::Textile)
|
||||
| item.tags().contains(&ItemTag::Leather)
|
||||
| item.tags().contains(&ItemTag::BaseMaterial)
|
||||
},
|
||||
CraftingTab::Bag => item.tags().contains(&ItemTag::Bag),
|
||||
|
@ -73,7 +73,7 @@ pub fn kind_text<'a>(kind: &ItemKind, i18n: &'a Localization) -> Cow<'a, str> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn materialkind_text<'a>(kind: &MaterialKind, i18n: &'a Localization) -> Cow<'a, str> {
|
||||
pub fn material_kind_text<'a>(kind: &MaterialKind, i18n: &'a Localization) -> Cow<'a, str> {
|
||||
match kind {
|
||||
MaterialKind::Metal { .. } => Cow::Borrowed(i18n.get("common.material.metal")),
|
||||
MaterialKind::Wood { .. } => Cow::Borrowed(i18n.get("common.material.wood")),
|
||||
|
@ -82,7 +82,7 @@ pub enum ParticleMode {
|
||||
Bubbles = 29,
|
||||
Water = 30,
|
||||
IceSpikes = 31,
|
||||
Dust = 32,
|
||||
Drip = 32,
|
||||
}
|
||||
|
||||
impl ParticleMode {
|
||||
|
@ -1048,11 +1048,11 @@ impl ParticleMgr {
|
||||
cond: |_| true,
|
||||
},
|
||||
BlockParticles {
|
||||
blocks: |boi| &boi.dust,
|
||||
blocks: |boi| &boi.drip,
|
||||
range: 4,
|
||||
rate: 0.004,
|
||||
lifetime: 20.0,
|
||||
mode: ParticleMode::Dust,
|
||||
mode: ParticleMode::Drip,
|
||||
cond: |_| true,
|
||||
},
|
||||
BlockParticles {
|
||||
|
@ -16,7 +16,7 @@ pub enum Interaction {
|
||||
#[derive(Default)]
|
||||
pub struct BlocksOfInterest {
|
||||
pub leaves: Vec<Vec3<i32>>,
|
||||
pub dust: Vec<Vec3<i32>>,
|
||||
pub drip: Vec<Vec3<i32>>,
|
||||
pub grass: Vec<Vec3<i32>>,
|
||||
pub river: Vec<Vec3<i32>>,
|
||||
pub fires: Vec<Vec3<i32>>,
|
||||
@ -42,7 +42,7 @@ impl BlocksOfInterest {
|
||||
pub fn from_chunk(chunk: &TerrainChunk) -> Self {
|
||||
span!(_guard, "from_chunk", "BlocksOfInterest::from_chunk");
|
||||
let mut leaves = Vec::new();
|
||||
let mut dust = Vec::new();
|
||||
let mut drip = Vec::new();
|
||||
let mut grass = Vec::new();
|
||||
let mut river = Vec::new();
|
||||
let mut fires = Vec::new();
|
||||
@ -72,7 +72,7 @@ impl BlocksOfInterest {
|
||||
.for_each(|(pos, block)| {
|
||||
match block.kind() {
|
||||
BlockKind::Leaves if thread_rng().gen_range(0..16) == 0 => leaves.push(pos),
|
||||
BlockKind::WeakRock if thread_rng().gen_range(0..6) == 0 => dust.push(pos),
|
||||
BlockKind::WeakRock if thread_rng().gen_range(0..6) == 0 => drip.push(pos),
|
||||
BlockKind::Grass => {
|
||||
if thread_rng().gen_range(0..16) == 0 {
|
||||
grass.push(pos);
|
||||
@ -156,7 +156,7 @@ impl BlocksOfInterest {
|
||||
|
||||
Self {
|
||||
leaves,
|
||||
dust,
|
||||
drip,
|
||||
grass,
|
||||
river,
|
||||
fires,
|
||||
|
@ -478,7 +478,7 @@ impl<'a> Widget for ItemTooltip<'a> {
|
||||
format!(
|
||||
"{} ({})",
|
||||
item_kind,
|
||||
util::materialkind_text(&material_tag.material().material_kind(), i18n)
|
||||
util::material_kind_text(&material_tag.material().material_kind(), i18n)
|
||||
)
|
||||
} else {
|
||||
item_kind
|
||||
|
@ -160,17 +160,15 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
})
|
||||
};
|
||||
|
||||
let difficulty = cave_depth / 100.0;
|
||||
|
||||
let ridge_condition = cave_depth % 10.0 > 8.0;
|
||||
let pit_condition = cave_depth % 35.0 > 30.0 && cave_x > 0.4 && cave_depth > 200.0;
|
||||
let ridge_condition = cave_depth % 10.0 > 8.0 && cave_depth > 10.0;
|
||||
let pit_condition = cave_depth % 42.0 > 37.0 && cave_x > 0.6 && cave_depth > 200.0;
|
||||
let pit_depth = 30;
|
||||
let floor_dist = pit_condition as i32 * pit_depth as i32;
|
||||
let vein_condition =
|
||||
cave_depth % 12.0 > 11.8 && cave_x > 0.4 && cave_x < 0.65 && cave_depth > 200.0;
|
||||
cave_depth % 12.0 > 11.5 && cave_x > 0.1 && cave_x < 0.6 && cave_depth > 200.0;
|
||||
let stalagtite_condition = cave_depth > 150.0;
|
||||
let vein_dist = 2;
|
||||
let vein_floor = cave_base - vein_dist;
|
||||
let vein_depth = 3;
|
||||
let vein_floor = cave_base - vein_depth;
|
||||
// Stalagtites
|
||||
let stalagtites = info
|
||||
.index()
|
||||
@ -223,7 +221,7 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
}
|
||||
//fill bottom of pits
|
||||
for z in cave_base - pit_depth
|
||||
..cave_base - pit_depth + ((cave_x.powf(4.0) * pit_depth as f32 + 3.0) as i32) + 1
|
||||
..cave_base - pit_depth + ((cave_x.powf(4.0) * (pit_depth as f32 + 3.0)) as i32) + 1
|
||||
{
|
||||
if (cave_roof - cave_base) > 10 && pit_condition {
|
||||
canvas.set(
|
||||
@ -233,7 +231,7 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
}
|
||||
}
|
||||
//empty veins
|
||||
for z in cave_base - vein_dist..cave_base {
|
||||
for z in cave_base - vein_depth..cave_base {
|
||||
if vein_condition {
|
||||
canvas.set(
|
||||
Vec3::new(wpos2d.x, wpos2d.y, z),
|
||||
@ -246,30 +244,30 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
}
|
||||
|
||||
//fill veins except bottom later
|
||||
for z in cave_base - vein_dist + 1..cave_base {
|
||||
for z in cave_base - vein_depth + 1..cave_base {
|
||||
if vein_condition {
|
||||
canvas.set(
|
||||
Vec3::new(wpos2d.x, wpos2d.y, z),
|
||||
Block::new(
|
||||
BlockKind::WeakRock,
|
||||
noisy_color(info.index().colors.layer.vein.into(), 8),
|
||||
noisy_color(info.index().colors.layer.vein.into(), 16),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
//fill some of bottom
|
||||
for z in cave_base - vein_dist..cave_base - vein_dist + 1 {
|
||||
for z in cave_base - vein_depth..cave_base - vein_depth + 1 {
|
||||
if rng.gen::<f32>() < 0.5 && vein_condition {
|
||||
canvas.set(
|
||||
Vec3::new(wpos2d.x, wpos2d.y, z),
|
||||
Block::new(
|
||||
BlockKind::WeakRock,
|
||||
noisy_color(info.index().colors.layer.vein.into(), 8),
|
||||
noisy_color(info.index().colors.layer.vein.into(), 16),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
if vein_condition && cave_base < surface_z as i32 - 25 {
|
||||
if vein_condition && rng.gen::<f32>() > 0.7 {
|
||||
let kind = *Lottery::<SpriteKind>::load_expect("common.cave_scatter.vein")
|
||||
.read()
|
||||
.choose();
|
||||
@ -305,7 +303,7 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
}
|
||||
//add ridges
|
||||
for z in cave_roof - 4..cave_roof {
|
||||
if cave_depth > 50.0 && ridge_condition && (cave_roof - cave_base) > 10 {
|
||||
if ridge_condition && (cave_roof - cave_base) > 10 {
|
||||
canvas.set(
|
||||
Vec3::new(wpos2d.x, wpos2d.y, z),
|
||||
Block::new(
|
||||
@ -329,13 +327,10 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
};
|
||||
|
||||
// Scatter things in caves
|
||||
if cave_depth < 80.0 {
|
||||
if rng.gen::<f32>()
|
||||
< 0.3 * (difficulty / 3.0).powf(2.5) * (cave_x.max(0.5).powf(4.0))
|
||||
&& !vein_condition
|
||||
{
|
||||
if cave_depth > 40.0 && cave_depth < 80.0 {
|
||||
if rng.gen::<f32>() < 0.2 * (cave_x.max(0.5).powf(4.0)) && !vein_condition {
|
||||
let kind =
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.deep_floor")
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.shallow_floor")
|
||||
.read()
|
||||
.choose();
|
||||
canvas.map(
|
||||
@ -343,7 +338,7 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
|block| block.with_sprite(kind),
|
||||
);
|
||||
}
|
||||
if rng.gen::<f32>() < 0.3 * (difficulty / 3.0).powf(2.5) && !ridge_condition {
|
||||
if rng.gen::<f32>() < 0.3 * (cave_x.max(0.5).powf(4.0)) && !ridge_condition {
|
||||
let kind =
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.shallow_ceiling")
|
||||
.read()
|
||||
@ -353,11 +348,8 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
|block| block.with_sprite(kind),
|
||||
);
|
||||
}
|
||||
} else if cave_depth < 150.0 {
|
||||
if rng.gen::<f32>()
|
||||
< 0.3 * (difficulty / 3.0).powf(2.5) * (cave_x.max(0.5).powf(4.0))
|
||||
&& !vein_condition
|
||||
{
|
||||
} else if cave_depth < 200.0 && cave_depth > 80.0 {
|
||||
if rng.gen::<f32>() < 0.12 * (cave_x.max(0.5).powf(4.0)) && !vein_condition {
|
||||
let kind =
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.deep_floor")
|
||||
.read()
|
||||
@ -367,7 +359,7 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
|block| block.with_sprite(kind),
|
||||
);
|
||||
}
|
||||
if rng.gen::<f32>() < 0.3 * (difficulty / 3.0).powf(2.5) && !ridge_condition {
|
||||
if rng.gen::<f32>() < 0.3 * (cave_x.max(0.5).powf(4.0)) && !ridge_condition {
|
||||
let kind =
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.deep_ceiling")
|
||||
.read()
|
||||
@ -378,12 +370,12 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if rng.gen::<f32>()
|
||||
< 0.3 * (difficulty / 3.0).powf(2.5) * (cave_x.max(0.5).powf(4.0))
|
||||
if rng.gen::<f32>() < 0.12 * (cave_x.max(0.5).powf(4.0))
|
||||
&& cave_depth > 40.0
|
||||
&& !vein_condition
|
||||
{
|
||||
let kind =
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.shallow_floor")
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.dark_floor")
|
||||
.read()
|
||||
.choose();
|
||||
canvas.map(
|
||||
@ -391,9 +383,12 @@ pub fn apply_caves_to(canvas: &mut Canvas, rng: &mut impl Rng) {
|
||||
|block| block.with_sprite(kind),
|
||||
);
|
||||
}
|
||||
if rng.gen::<f32>() < 0.3 * (difficulty / 3.0).powf(2.5) && !ridge_condition {
|
||||
if rng.gen::<f32>() < 0.02 * (cave_x.max(0.5).powf(4.0))
|
||||
&& !ridge_condition
|
||||
&& cave_depth > 40.0
|
||||
{
|
||||
let kind =
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.shallow_ceiling")
|
||||
*Lottery::<SpriteKind>::load_expect("common.cave_scatter.dark_ceiling")
|
||||
.read()
|
||||
.choose();
|
||||
canvas.map(
|
||||
@ -442,10 +437,9 @@ pub fn apply_caves_supplement<'a>(
|
||||
let cave_base = (cave.alt + cave_floor) as i32;
|
||||
|
||||
let cave_depth = (col_sample.alt - cave.alt).max(0.0); //slightly different from earlier cave depth?
|
||||
let difficulty = cave_depth / 50.0;
|
||||
|
||||
// Scatter things in caves
|
||||
if RandomField::new(index.seed).chance(wpos2d.into(), 0.001 * difficulty.powf(0.5))
|
||||
if RandomField::new(index.seed).chance(wpos2d.into(), 0.0018)
|
||||
&& cave_base < surface_z as i32 - 40
|
||||
{
|
||||
let is_hostile: bool;
|
||||
@ -454,7 +448,7 @@ pub fn apply_caves_supplement<'a>(
|
||||
wpos2d.y as f32,
|
||||
cave_base as f32,
|
||||
))
|
||||
.with_body(if cave_depth < 80.0 {
|
||||
.with_body(if cave_depth < 70.0 {
|
||||
is_hostile = false;
|
||||
let species = match dynamic_rng.gen_range(0..4) {
|
||||
0 => comp::quadruped_small::Species::Truffler,
|
||||
@ -463,7 +457,7 @@ pub fn apply_caves_supplement<'a>(
|
||||
_ => comp::quadruped_small::Species::Batfox,
|
||||
};
|
||||
comp::quadruped_small::Body::random_with(dynamic_rng, &species).into()
|
||||
} else if cave_depth < 130.0 {
|
||||
} else if cave_depth < 120.0 {
|
||||
is_hostile = true;
|
||||
let species = match dynamic_rng.gen_range(0..3) {
|
||||
0 => comp::quadruped_low::Species::Rocksnapper,
|
||||
@ -471,7 +465,7 @@ pub fn apply_caves_supplement<'a>(
|
||||
_ => comp::quadruped_low::Species::Asp,
|
||||
};
|
||||
comp::quadruped_low::Body::random_with(dynamic_rng, &species).into()
|
||||
} else if cave_depth < 250.0 {
|
||||
} else if cave_depth < 200.0 {
|
||||
is_hostile = true;
|
||||
let species = match dynamic_rng.gen_range(0..3) {
|
||||
0 => comp::quadruped_low::Species::Rocksnapper,
|
||||
|
@ -1207,7 +1207,7 @@ fn mini_boss_0(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<Entit
|
||||
}
|
||||
|
||||
fn mini_boss_1(dynamic_rng: &mut impl Rng, tile_wcenter: Vec3<i32>) -> Vec<EntityInfo> {
|
||||
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.creature.quad_small.default");
|
||||
let chosen = Lottery::<LootSpec>::load_expect("common.loot_tables.creature.quad_small.generic");
|
||||
let mut entities = Vec::new();
|
||||
entities.resize_with(8, || {
|
||||
EntityInfo::at(tile_wcenter.map(|e| e as f32))
|
||||
|
Loading…
Reference in New Issue
Block a user