mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
balancing
more specific stats Update body.rs more balancing non hostile catoblepas and mouflons quad low more adjustments Animals with enemy alignment now deal correct damage. Made health scaling species-specific.
This commit is contained in:
parent
7ab80ef367
commit
924d09e46c
@ -7,6 +7,5 @@
|
||||
(120, Mushroom),
|
||||
(8, ShinyGem),
|
||||
(15, Chest),
|
||||
(2, Crate),
|
||||
(0.25, Scarecrow),
|
||||
(2, Crate),
|
||||
]
|
||||
|
12
assets/common/items/npc_armor/back/dungeon_purple-0.ron
Normal file
12
assets/common/items/npc_armor/back/dungeon_purple-0.ron
Normal file
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Purple Cultist Cape",
|
||||
description: "Smells like dark magic and candles.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Back("DungPurp0"),
|
||||
stats: (
|
||||
protection: Normal(1.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
12
assets/common/items/npc_armor/belt/cultist_belt.ron
Normal file
12
assets/common/items/npc_armor/belt/cultist_belt.ron
Normal file
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Cultist Belt",
|
||||
description: "Ceremonial attire used by members.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Belt("Cultist"),
|
||||
stats: (
|
||||
protection: Normal(0.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
12
assets/common/items/npc_armor/chest/cultist_chest_purple.ron
Normal file
12
assets/common/items/npc_armor/chest/cultist_chest_purple.ron
Normal file
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Purple Cultist Chest",
|
||||
description: "Ceremonial attire used by members.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Chest("CultistPurple"),
|
||||
stats: (
|
||||
protection: Normal(5.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
12
assets/common/items/npc_armor/foot/cultist_boots.ron
Normal file
12
assets/common/items/npc_armor/foot/cultist_boots.ron
Normal file
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Cultist Boots",
|
||||
description: "Ceremonial attire used by members.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Foot("Cultist"),
|
||||
stats: (
|
||||
protection: Normal(1.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
12
assets/common/items/npc_armor/hand/cultist_hands_purple.ron
Normal file
12
assets/common/items/npc_armor/hand/cultist_hands_purple.ron
Normal file
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Purple Cultist Gloves",
|
||||
description: "Ceremonial attire used by members.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Hand("CultistPurple"),
|
||||
stats: (
|
||||
protection: Normal(2.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
12
assets/common/items/npc_armor/pants/cultist_legs_purple.ron
Normal file
12
assets/common/items/npc_armor/pants/cultist_legs_purple.ron
Normal file
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Purple Cultist Skirt",
|
||||
description: "Ceremonial attire used by members.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Pants("CultistPurple"),
|
||||
stats: (
|
||||
protection: Normal(10.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
@ -0,0 +1,12 @@
|
||||
Item(
|
||||
name: "Purple Cultist Mantle",
|
||||
description: "Ceremonial attire used by members.",
|
||||
kind: Armor(
|
||||
(
|
||||
kind: Shoulder("CultistPurple"),
|
||||
stats: (
|
||||
protection: Normal(5.0),
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/axe/malachite_axe-0.ron
Normal file
13
assets/common/items/npc_weapons/axe/malachite_axe-0.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Malachite Axe",
|
||||
description: "An axe infused with malachite.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Axe("MalachiteAxe0"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/axe/starter_axe.ron
Normal file
13
assets/common/items/npc_weapons/axe/starter_axe.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Notched Axe",
|
||||
description: "Every dent tells the story of a chopped tree.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Axe("BasicAxe"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/bow/horn_longbow-0.ron
Normal file
13
assets/common/items/npc_weapons/bow/horn_longbow-0.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Horn Bow",
|
||||
description: "You don't recognize the creature these horns belong to.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Bow("HornLongbow0"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.5,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/dagger/starter_dagger.ron
Normal file
13
assets/common/items/npc_weapons/dagger/starter_dagger.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Rusty Dagger",
|
||||
description: "Easily concealed.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Dagger("BasicDagger"),
|
||||
stats: (
|
||||
equip_time_millis: 300,
|
||||
power: 1.00,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/empty/empty.ron
Normal file
13
assets/common/items/npc_weapons/empty/empty.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Empty",
|
||||
description: "You expected a description?",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Empty,
|
||||
stats: (
|
||||
equip_time_millis: 200,
|
||||
power: 1.00,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron
Normal file
13
assets/common/items/npc_weapons/hammer/cultist_purp_2h-0.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Magical Cultist Warhammer",
|
||||
description: "This belonged to an evil Cult Leader.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Hammer("CultPurp0"),
|
||||
stats: (
|
||||
equip_time_millis: 500,
|
||||
power: 0.5,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/hammer/starter_hammer.ron
Normal file
13
assets/common/items/npc_weapons/hammer/starter_hammer.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Sturdy Old Hammer",
|
||||
description: "'Property of...' The rest is missing.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Hammer("BasicHammer"),
|
||||
stats: (
|
||||
equip_time_millis: 500,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/shield/shield_1.ron
Normal file
13
assets/common/items/npc_weapons/shield/shield_1.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "A Tattered Targe",
|
||||
description: "Should withstand a few more hits, hopefully...",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Shield("BasicShield"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 1.00,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/staff/bone_staff.ron
Normal file
13
assets/common/items/npc_weapons/staff/bone_staff.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Bone Staff",
|
||||
description: "There's a red gem suspended in the bones.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Staff("BoneStaff"),
|
||||
stats: (
|
||||
equip_time_millis: 300,
|
||||
power: 0.8,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/staff/cultist_staff.ron
Normal file
13
assets/common/items/npc_weapons/staff/cultist_staff.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Cultist Staff",
|
||||
description: "The fire gives off no heat.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Staff("CultistStaff"),
|
||||
stats: (
|
||||
equip_time_millis: 300,
|
||||
power: 0.8,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron
Normal file
13
assets/common/items/npc_weapons/sword/cultist_purp_2h-0.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Magical Cultist Greatsword",
|
||||
description: "This belonged to an evil Cult Leader.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Sword("CultPurp0"),
|
||||
stats: (
|
||||
equip_time_millis: 500,
|
||||
power: 0.5,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Magical Cultist Greatsword",
|
||||
description: "This belonged to an evil Cult Leader.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Sword("CultPurp0"),
|
||||
stats: (
|
||||
equip_time_millis: 500,
|
||||
power: 1.0,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/sword/starter_sword.ron
Normal file
13
assets/common/items/npc_weapons/sword/starter_sword.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Battered Sword",
|
||||
description: "Held together by Rust and hope.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Sword("BasicSword"),
|
||||
stats: (
|
||||
equip_time_millis: 300,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/sword/zweihander_sword_0.ron
Normal file
13
assets/common/items/npc_weapons/sword/zweihander_sword_0.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Sturdy Zweihander",
|
||||
description: "It's a big sword, and sharp too.",
|
||||
kind: Tool(
|
||||
(
|
||||
kind: Sword("Zweihander0"),
|
||||
stats: (
|
||||
equip_time_millis: 500,
|
||||
power: 0.6,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/broom.ron
Normal file
13
assets/common/items/npc_weapons/tool/broom.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Broom",
|
||||
description: "It's beginning to fall apart.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Broom"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.5,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/fishing_rod.ron
Normal file
13
assets/common/items/npc_weapons/tool/fishing_rod.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Fishing Rod",
|
||||
description: "Smells of fish.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("FishingRod0"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.5,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/hoe.ron
Normal file
13
assets/common/items/npc_weapons/tool/hoe.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Hoe",
|
||||
description: "It's stained with dirt.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Hoe0"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/pickaxe.ron
Normal file
13
assets/common/items/npc_weapons/tool/pickaxe.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Pickaxe",
|
||||
description: "It has a chipped edge.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Pickaxe0"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/pitchfork.ron
Normal file
13
assets/common/items/npc_weapons/tool/pitchfork.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Pitchfork",
|
||||
description: "One of the prongs is broken.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Pitchfork"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/rake.ron
Normal file
13
assets/common/items/npc_weapons/tool/rake.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Rake",
|
||||
description: "Held together with twine.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Rake"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/shovel-0.ron
Normal file
13
assets/common/items/npc_weapons/tool/shovel-0.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Shovel",
|
||||
description: "It's covered in manure.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Shovel0"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
13
assets/common/items/npc_weapons/tool/shovel-1.ron
Normal file
13
assets/common/items/npc_weapons/tool/shovel-1.ron
Normal file
@ -0,0 +1,13 @@
|
||||
Item(
|
||||
name: "Shovel",
|
||||
description: "It's been recently cleaned.",
|
||||
kind: Tool (
|
||||
(
|
||||
kind: Farming("Shovel1"),
|
||||
stats: (
|
||||
equip_time_millis: 400,
|
||||
power: 0.50,
|
||||
),
|
||||
)
|
||||
),
|
||||
)
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"crafting_hammer": (("common.items.crafting_tools.craftsman_hammer", 1),[("common.items.crafting_ing.twigs", 10), ("common.items.crafting_ing.stones", 10)]),
|
||||
"crafting_hammer": (("common.items.crafting_tools.craftsman_hammer", 1),[("common.items.crafting_ing.twigs", 14), ("common.items.crafting_ing.stones", 12)]),
|
||||
"mortar_pestle": (("common.items.crafting_tools.mortar_pestle", 1), [("common.items.crafting_ing.stones", 6), ("common.items.food.coconut", 2), ("common.items.crafting_tools.craftsman_hammer", 0)]),
|
||||
"velorite_frag": (("common.items.ore.veloritefrag", 2), [("common.items.ore.velorite", 1), ("common.items.crafting_tools.craftsman_hammer", 0)]),
|
||||
"potion_s": (("common.items.consumable.potion_minor", 1), [("common.items.crafting_ing.empty_vial", 1), ("common.items.ore.veloritefrag", 2)]),
|
||||
@ -11,7 +11,7 @@
|
||||
"firework_purple": (("common.items.utility.firework_purple", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
|
||||
"firework_red": (("common.items.utility.firework_red", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
|
||||
"firework_yellow": (("common.items.utility.firework_yellow", 1), [("common.items.crafting_ing.twigs", 1), ("common.items.crafting_ing.stones", 1), ("common.items.food.coconut", 1), ("common.items.ore.veloritefrag", 1), ("common.items.crafting_tools.mortar_pestle", 0)]),
|
||||
"apple_shroom_curry": (("common.items.food.apple_mushroom_curry", 1), [("common.items.food.mushroom", 10), ("common.items.food.coconut", 1), ("common.items.food.apple", 5), ("common.items.crafting_tools.mortar_pestle", 0)]),
|
||||
"apples_stick": (("common.items.food.apple_stick", 1),[("common.items.crafting_ing.twigs", 1), ("common.items.food.apple", 3)]),
|
||||
"mushroom_stick": (("common.items.food.mushroom_stick", 1),[("common.items.crafting_ing.twigs", 1), ("common.items.food.mushroom", 5)]),
|
||||
"apple_shroom_curry": (("common.items.food.apple_mushroom_curry", 1), [("common.items.food.mushroom", 8), ("common.items.food.coconut", 1), ("common.items.food.apple", 4), ("common.items.crafting_tools.mortar_pestle", 0)]),
|
||||
"apples_stick": (("common.items.food.apple_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.apple", 2)]),
|
||||
"mushroom_stick": (("common.items.food.mushroom_stick", 1),[("common.items.crafting_ing.twigs", 2), ("common.items.food.mushroom", 3)]),
|
||||
}
|
||||
|
@ -31,7 +31,8 @@ impl Alignment {
|
||||
(Alignment::Enemy, Alignment::Tame) => true,
|
||||
(Alignment::Wild, Alignment::Enemy) => false,
|
||||
(Alignment::Wild, Alignment::Wild) => false,
|
||||
(Alignment::Npc, Alignment::Wild) => true,
|
||||
(Alignment::Npc, Alignment::Wild) => false,
|
||||
(Alignment::Npc, Alignment::Enemy) => true,
|
||||
(_, Alignment::Enemy) => true,
|
||||
(Alignment::Enemy, _) => true,
|
||||
_ => false,
|
||||
|
@ -179,111 +179,354 @@ impl Body {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unreachable_patterns)]
|
||||
pub fn base_health(&self) -> u32 {
|
||||
match self {
|
||||
Body::Humanoid(_) => 520,
|
||||
Body::QuadrupedSmall(_) => 440,
|
||||
Body::QuadrupedMedium(_) => 720,
|
||||
Body::BirdMedium(_) => 360,
|
||||
Body::FishMedium(_) => 320,
|
||||
Body::Dragon(_) => 2560,
|
||||
Body::BirdSmall(_) => 240,
|
||||
Body::FishSmall(_) => 200,
|
||||
Body::BipedLarge(_) => 1440,
|
||||
Body::Object(_) => 1000,
|
||||
Body::Golem(_) => 1680,
|
||||
Body::Critter(_) => 320,
|
||||
Body::QuadrupedLow(_) => 640,
|
||||
Body::Humanoid(_) => 400,
|
||||
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
|
||||
quadruped_small::Species::Boar => 180,
|
||||
quadruped_small::Species::Batfox => 100,
|
||||
quadruped_small::Species::Dodarock => 320,
|
||||
quadruped_small::Species::Holladon => 250,
|
||||
quadruped_small::Species::Hyena => 150,
|
||||
quadruped_small::Species::Truffler => 180,
|
||||
_ => 80,
|
||||
},
|
||||
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
|
||||
quadruped_medium::Species::Grolgar => 300,
|
||||
quadruped_medium::Species::Saber => 200,
|
||||
quadruped_medium::Species::Tiger => 200,
|
||||
quadruped_medium::Species::Tuskram => 300,
|
||||
quadruped_medium::Species::Lion => 400,
|
||||
quadruped_medium::Species::Tarasque => 600,
|
||||
quadruped_medium::Species::Wolf => 200,
|
||||
quadruped_medium::Species::Frostfang => 400,
|
||||
quadruped_medium::Species::Mouflon => 300,
|
||||
quadruped_medium::Species::Catoblepas => 500,
|
||||
quadruped_medium::Species::Bonerattler => 300,
|
||||
_ => 200,
|
||||
},
|
||||
Body::BirdMedium(bird_medium) => match bird_medium.species {
|
||||
bird_medium::Species::Chicken => 50,
|
||||
bird_medium::Species::Duck => 50,
|
||||
bird_medium::Species::Goose => 60,
|
||||
bird_medium::Species::Parrot => 60,
|
||||
bird_medium::Species::Peacock => 55,
|
||||
bird_medium::Species::Cockatrice => 110,
|
||||
bird_medium::Species::Eagle => 110,
|
||||
_ => 100,
|
||||
},
|
||||
Body::FishMedium(_) => 50,
|
||||
Body::Dragon(dragon) => match dragon.species {
|
||||
_ => 5000,
|
||||
},
|
||||
Body::BirdSmall(_) => 50,
|
||||
Body::FishSmall(_) => 20,
|
||||
Body::BipedLarge(biped_large) => match biped_large.species {
|
||||
biped_large::Species::Ogre => 700,
|
||||
biped_large::Species::Cyclops => 800,
|
||||
biped_large::Species::Wendigo => 800,
|
||||
biped_large::Species::Troll => 600,
|
||||
biped_large::Species::Dullahan => 1200,
|
||||
_ => 1000,
|
||||
},
|
||||
Body::Object(_) => 10000,
|
||||
Body::Golem(golem) => match golem.species {
|
||||
_ => 1500,
|
||||
},
|
||||
Body::Critter(critter) => match critter.species {
|
||||
_ => 50,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
quadruped_low::Species::Crocodile => 200,
|
||||
quadruped_low::Species::Alligator => 200,
|
||||
quadruped_low::Species::Salamander => 100,
|
||||
quadruped_low::Species::Monitor => 80,
|
||||
quadruped_low::Species::Asp => 80,
|
||||
quadruped_low::Species::Tortoise => 200,
|
||||
quadruped_low::Species::Rocksnapper => 500,
|
||||
quadruped_low::Species::Pangolin => 60,
|
||||
quadruped_low::Species::Maneater => 250,
|
||||
_ => 200,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unreachable_patterns)]
|
||||
pub fn base_health_increase(&self) -> u32 {
|
||||
match self {
|
||||
Body::Humanoid(_) => 50,
|
||||
Body::QuadrupedSmall(_) => 40,
|
||||
Body::QuadrupedMedium(_) => 70,
|
||||
Body::BirdMedium(_) => 40,
|
||||
Body::FishMedium(_) => 30,
|
||||
Body::Dragon(_) => 260,
|
||||
Body::BirdSmall(_) => 20,
|
||||
Body::FishSmall(_) => 20,
|
||||
Body::BipedLarge(_) => 140,
|
||||
Body::Object(_) => 0,
|
||||
Body::Golem(_) => 170,
|
||||
Body::Critter(_) => 30,
|
||||
Body::QuadrupedLow(_) => 60,
|
||||
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
|
||||
quadruped_small::Species::Boar => 20,
|
||||
quadruped_small::Species::Batfox => 10,
|
||||
quadruped_small::Species::Dodarock => 30,
|
||||
quadruped_small::Species::Holladon => 30,
|
||||
quadruped_small::Species::Hyena => 20,
|
||||
quadruped_small::Species::Truffler => 20,
|
||||
_ => 10,
|
||||
},
|
||||
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
|
||||
quadruped_medium::Species::Grolgar => 30,
|
||||
quadruped_medium::Species::Saber => 20,
|
||||
quadruped_medium::Species::Tiger => 20,
|
||||
quadruped_medium::Species::Tuskram => 30,
|
||||
quadruped_medium::Species::Lion => 40,
|
||||
quadruped_medium::Species::Tarasque => 60,
|
||||
quadruped_medium::Species::Wolf => 20,
|
||||
quadruped_medium::Species::Frostfang => 40,
|
||||
quadruped_medium::Species::Mouflon => 30,
|
||||
quadruped_medium::Species::Catoblepas => 50,
|
||||
quadruped_medium::Species::Bonerattler => 30,
|
||||
_ => 20,
|
||||
},
|
||||
Body::BirdMedium(bird_medium) => match bird_medium.species {
|
||||
bird_medium::Species::Chicken => 10,
|
||||
bird_medium::Species::Duck => 10,
|
||||
bird_medium::Species::Goose => 10,
|
||||
bird_medium::Species::Parrot => 10,
|
||||
bird_medium::Species::Peacock => 10,
|
||||
bird_medium::Species::Cockatrice => 10,
|
||||
bird_medium::Species::Eagle => 10,
|
||||
_ => 10,
|
||||
},
|
||||
Body::FishMedium(_) => 10,
|
||||
Body::Dragon(dragon) => match dragon.species {
|
||||
_ => 500,
|
||||
},
|
||||
Body::BirdSmall(_) => 10,
|
||||
Body::FishSmall(_) => 10,
|
||||
Body::BipedLarge(biped_large) => match biped_large.species {
|
||||
biped_large::Species::Ogre => 70,
|
||||
biped_large::Species::Cyclops => 80,
|
||||
biped_large::Species::Wendigo => 80,
|
||||
biped_large::Species::Troll => 60,
|
||||
biped_large::Species::Dullahan => 120,
|
||||
_ => 100,
|
||||
},
|
||||
Body::Object(_) => 10,
|
||||
Body::Golem(golem) => match golem.species {
|
||||
_ => 150,
|
||||
},
|
||||
Body::Critter(critter) => match critter.species {
|
||||
_ => 10,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
quadruped_low::Species::Crocodile => 20,
|
||||
quadruped_low::Species::Alligator => 20,
|
||||
quadruped_low::Species::Salamander => 10,
|
||||
quadruped_low::Species::Monitor => 10,
|
||||
quadruped_low::Species::Asp => 10,
|
||||
quadruped_low::Species::Tortoise => 20,
|
||||
quadruped_low::Species::Rocksnapper => 50,
|
||||
quadruped_low::Species::Pangolin => 10,
|
||||
quadruped_low::Species::Maneater => 30,
|
||||
_ => 20,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unreachable_patterns)]
|
||||
pub fn base_exp(&self) -> u32 {
|
||||
match self {
|
||||
Body::Humanoid(_) => 15,
|
||||
Body::QuadrupedSmall(_) => 12,
|
||||
Body::QuadrupedMedium(_) => 28,
|
||||
Body::BirdMedium(_) => 10,
|
||||
Body::FishMedium(_) => 8,
|
||||
Body::Dragon(_) => 160,
|
||||
Body::BirdSmall(_) => 5,
|
||||
Body::FishSmall(_) => 4,
|
||||
Body::BipedLarge(_) => 75,
|
||||
Body::Object(_) => 0,
|
||||
Body::Golem(_) => 75,
|
||||
Body::Critter(_) => 8,
|
||||
Body::QuadrupedLow(_) => 24,
|
||||
Body::Humanoid(_) => 5,
|
||||
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
|
||||
quadruped_small::Species::Boar => 6,
|
||||
quadruped_small::Species::Batfox => 6,
|
||||
quadruped_small::Species::Dodarock => 6,
|
||||
quadruped_small::Species::Holladon => 8,
|
||||
quadruped_small::Species::Hyena => 6,
|
||||
quadruped_small::Species::Truffler => 6,
|
||||
_ => 4,
|
||||
},
|
||||
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
|
||||
quadruped_medium::Species::Grolgar => 10,
|
||||
quadruped_medium::Species::Saber => 8,
|
||||
quadruped_medium::Species::Tiger => 8,
|
||||
quadruped_medium::Species::Tuskram => 9,
|
||||
quadruped_medium::Species::Lion => 10,
|
||||
quadruped_medium::Species::Tarasque => 16,
|
||||
quadruped_medium::Species::Wolf => 8,
|
||||
quadruped_medium::Species::Frostfang => 9,
|
||||
quadruped_medium::Species::Mouflon => 7,
|
||||
quadruped_medium::Species::Catoblepas => 10,
|
||||
quadruped_medium::Species::Bonerattler => 10,
|
||||
_ => 6,
|
||||
},
|
||||
Body::BirdMedium(bird_medium) => match bird_medium.species {
|
||||
bird_medium::Species::Chicken => 2,
|
||||
bird_medium::Species::Duck => 2,
|
||||
bird_medium::Species::Goose => 4,
|
||||
bird_medium::Species::Parrot => 4,
|
||||
bird_medium::Species::Peacock => 5,
|
||||
_ => 8,
|
||||
},
|
||||
Body::FishMedium(_) => 2,
|
||||
Body::Dragon(dragon) => match dragon.species {
|
||||
_ => 1000,
|
||||
},
|
||||
Body::BirdSmall(_) => 2,
|
||||
Body::FishSmall(_) => 2,
|
||||
Body::BipedLarge(biped_large) => match biped_large.species {
|
||||
biped_large::Species::Ogre => 60,
|
||||
biped_large::Species::Cyclops => 70,
|
||||
biped_large::Species::Wendigo => 70,
|
||||
biped_large::Species::Troll => 50,
|
||||
biped_large::Species::Dullahan => 100,
|
||||
_ => 100,
|
||||
},
|
||||
Body::Object(_) => 1,
|
||||
Body::Golem(golem) => match golem.species {
|
||||
_ => 75,
|
||||
},
|
||||
Body::Critter(critter) => match critter.species {
|
||||
_ => 2,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
quadruped_low::Species::Crocodile => 10,
|
||||
quadruped_low::Species::Alligator => 10,
|
||||
quadruped_low::Species::Salamander => 6,
|
||||
quadruped_low::Species::Monitor => 4,
|
||||
quadruped_low::Species::Asp => 4,
|
||||
quadruped_low::Species::Tortoise => 6,
|
||||
quadruped_low::Species::Rocksnapper => 12,
|
||||
quadruped_low::Species::Pangolin => 3,
|
||||
quadruped_low::Species::Maneater => 14,
|
||||
_ => 10,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unreachable_patterns)]
|
||||
pub fn base_exp_increase(&self) -> u32 {
|
||||
match self {
|
||||
Body::Humanoid(_) => 3,
|
||||
Body::QuadrupedSmall(_) => 2,
|
||||
Body::QuadrupedMedium(_) => 6,
|
||||
Body::BirdMedium(_) => 2,
|
||||
Body::FishMedium(_) => 2,
|
||||
Body::Dragon(_) => 32,
|
||||
Body::Humanoid(_) => 2,
|
||||
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
|
||||
_ => 1,
|
||||
},
|
||||
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
|
||||
_ => 1,
|
||||
},
|
||||
Body::BirdMedium(bird_medium) => match bird_medium.species {
|
||||
_ => 1,
|
||||
},
|
||||
Body::FishMedium(_) => 1,
|
||||
Body::Dragon(dragon) => match dragon.species {
|
||||
_ => 32,
|
||||
},
|
||||
Body::BirdSmall(_) => 1,
|
||||
Body::FishSmall(_) => 1,
|
||||
Body::BipedLarge(_) => 15,
|
||||
Body::BipedLarge(biped_large) => match biped_large.species {
|
||||
_ => 5,
|
||||
},
|
||||
Body::Object(_) => 0,
|
||||
Body::Golem(_) => 15,
|
||||
Body::Critter(_) => 2,
|
||||
Body::QuadrupedLow(_) => 5,
|
||||
Body::Golem(golem) => match golem.species {
|
||||
_ => 10,
|
||||
},
|
||||
Body::Critter(critter) => match critter.species {
|
||||
_ => 1,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
_ => 1,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unreachable_patterns)]
|
||||
pub fn base_dmg(&self) -> u32 {
|
||||
match self {
|
||||
Body::Humanoid(_) => 60,
|
||||
Body::QuadrupedSmall(_) => 80,
|
||||
Body::QuadrupedMedium(_) => 120,
|
||||
Body::BirdMedium(_) => 70,
|
||||
Body::FishMedium(_) => 60,
|
||||
Body::Dragon(_) => 900,
|
||||
Body::BirdSmall(_) => 50,
|
||||
Body::FishSmall(_) => 30,
|
||||
Body::BipedLarge(_) => 360,
|
||||
Body::Humanoid(_) => 50,
|
||||
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
|
||||
quadruped_small::Species::Dodarock => 30,
|
||||
quadruped_small::Species::Hyena => 40,
|
||||
_ => 20,
|
||||
},
|
||||
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
|
||||
quadruped_medium::Species::Grolgar => 50,
|
||||
quadruped_medium::Species::Lion => 60,
|
||||
quadruped_medium::Species::Tarasque => 70,
|
||||
quadruped_medium::Species::Mouflon => 30,
|
||||
quadruped_medium::Species::Catoblepas => 20,
|
||||
quadruped_medium::Species::Bonerattler => 50,
|
||||
_ => 40,
|
||||
},
|
||||
Body::BirdMedium(bird_medium) => match bird_medium.species {
|
||||
bird_medium::Species::Chicken => 10,
|
||||
bird_medium::Species::Duck => 10,
|
||||
bird_medium::Species::Goose => 10,
|
||||
bird_medium::Species::Parrot => 20,
|
||||
bird_medium::Species::Peacock => 40,
|
||||
bird_medium::Species::Cockatrice => 60,
|
||||
bird_medium::Species::Eagle => 60,
|
||||
_ => 30,
|
||||
},
|
||||
Body::FishMedium(_) => 10,
|
||||
Body::Dragon(dragon) => match dragon.species {
|
||||
_ => 5000,
|
||||
},
|
||||
Body::BirdSmall(_) => 10,
|
||||
Body::FishSmall(_) => 10,
|
||||
Body::BipedLarge(biped_large) => match biped_large.species {
|
||||
biped_large::Species::Ogre => 60,
|
||||
biped_large::Species::Cyclops => 60,
|
||||
biped_large::Species::Wendigo => 60,
|
||||
biped_large::Species::Troll => 60,
|
||||
biped_large::Species::Dullahan => 80,
|
||||
_ => 60,
|
||||
},
|
||||
Body::Object(_) => 0,
|
||||
Body::Golem(_) => 360,
|
||||
Body::Critter(_) => 70,
|
||||
Body::QuadrupedLow(_) => 110,
|
||||
Body::Golem(golem) => match golem.species {
|
||||
_ => 250,
|
||||
},
|
||||
Body::Critter(critter) => match critter.species {
|
||||
_ => 10,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
quadruped_low::Species::Crocodile => 50,
|
||||
quadruped_low::Species::Alligator => 50,
|
||||
quadruped_low::Species::Salamander => 30,
|
||||
quadruped_low::Species::Monitor => 30,
|
||||
quadruped_low::Species::Asp => 35,
|
||||
quadruped_low::Species::Tortoise => 10,
|
||||
quadruped_low::Species::Rocksnapper => 80,
|
||||
quadruped_low::Species::Pangolin => 10,
|
||||
quadruped_low::Species::Maneater => 40,
|
||||
_ => 20,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unreachable_patterns)]
|
||||
pub fn base_range(&self) -> f32 {
|
||||
match self {
|
||||
Body::Humanoid(_) => 5.0,
|
||||
Body::QuadrupedSmall(_) => 4.5,
|
||||
Body::QuadrupedMedium(_) => 5.5,
|
||||
Body::BirdMedium(_) => 3.5,
|
||||
Body::QuadrupedSmall(quadruped_small) => match quadruped_small.species {
|
||||
_ => 4.5,
|
||||
},
|
||||
Body::QuadrupedMedium(quadruped_medium) => match quadruped_medium.species {
|
||||
_ => 5.5,
|
||||
},
|
||||
Body::BirdMedium(bird_medium) => match bird_medium.species {
|
||||
_ => 3.5,
|
||||
},
|
||||
Body::FishMedium(_) => 3.5,
|
||||
Body::Dragon(_) => 12.5,
|
||||
Body::Dragon(dragon) => match dragon.species {
|
||||
_ => 12.5,
|
||||
},
|
||||
Body::BirdSmall(_) => 3.0,
|
||||
Body::FishSmall(_) => 3.0,
|
||||
Body::BipedLarge(_) => 10.0,
|
||||
Body::BipedLarge(biped_large) => match biped_large.species {
|
||||
_ => 10.0,
|
||||
},
|
||||
Body::Object(_) => 3.0,
|
||||
Body::Golem(_) => 7.5,
|
||||
Body::Critter(_) => 3.0,
|
||||
Body::QuadrupedLow(_) => 4.5,
|
||||
Body::Golem(golem) => match golem.species {
|
||||
_ => 7.5,
|
||||
},
|
||||
Body::Critter(critter) => match critter.species {
|
||||
_ => 3.0,
|
||||
},
|
||||
Body::QuadrupedLow(quadruped_low) => match quadruped_low.species {
|
||||
_ => 4.5,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -332,7 +332,8 @@ impl<'a> System<'a> for Sys {
|
||||
inputs.move_dir = Vec2::from(bearing)
|
||||
.try_normalized()
|
||||
.unwrap_or(Vec2::zero())
|
||||
* speed;
|
||||
* speed
|
||||
* 0.6; //Let small/slow animals flee slower than the player
|
||||
inputs.jump.set_state(bearing.z > 1.5);
|
||||
inputs.swimup.set_state(bearing.z > 0.5);
|
||||
inputs.swimdown.set_state(bearing.z < 0.5);
|
||||
|
@ -194,25 +194,25 @@ impl<'a> System<'a> for Sys {
|
||||
active_item,
|
||||
second_item: None,
|
||||
shoulder: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.shoulder.cultist_shoulder_purple",
|
||||
"common.items.npc_armor.shoulder.cultist_shoulder_purple",
|
||||
)),
|
||||
chest: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.chest.cultist_chest_purple",
|
||||
"common.items.npc_armor.chest.cultist_chest_purple",
|
||||
)),
|
||||
belt: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.belt.cultist_belt",
|
||||
"common.items.npc_armor.belt.cultist_belt",
|
||||
)),
|
||||
hand: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.hand.cultist_hands_purple",
|
||||
"common.items.npc_armor.hand.cultist_hands_purple",
|
||||
)),
|
||||
pants: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.pants.cultist_legs_purple",
|
||||
"common.items.npc_armor.pants.cultist_legs_purple",
|
||||
)),
|
||||
foot: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.foot.cultist_boots",
|
||||
"common.items.npc_armor.foot.cultist_boots",
|
||||
)),
|
||||
back: Some(assets::load_expect_cloned(
|
||||
"common.items.armor.back.dungeon_purple-0",
|
||||
"common.items.npc_armor.back.dungeon_purple-0",
|
||||
)),
|
||||
ring: None,
|
||||
neck: None,
|
||||
@ -223,6 +223,11 @@ impl<'a> System<'a> for Sys {
|
||||
_ => LoadoutBuilder::animal(entity.body).build(),
|
||||
};
|
||||
|
||||
loadout = match body {
|
||||
comp::Body::Humanoid(_) => loadout,
|
||||
_ => LoadoutBuilder::animal(entity.body).build(),
|
||||
};
|
||||
|
||||
let mut scale = entity.scale;
|
||||
|
||||
// TODO: Remove this and implement scaling or level depending on stuff like
|
||||
@ -255,7 +260,7 @@ impl<'a> System<'a> for Sys {
|
||||
loadout = comp::Loadout {
|
||||
active_item: Some(comp::ItemConfig {
|
||||
item: assets::load_expect_cloned(
|
||||
"common.items.weapons.sword.zweihander_sword_0",
|
||||
"common.items.npc_weapons.sword.zweihander_sword_0",
|
||||
),
|
||||
ability1: Some(CharacterAbility::BasicMelee {
|
||||
energy_cost: 0,
|
||||
|
@ -45,50 +45,50 @@ pub fn apply_scatter_to<'a>(
|
||||
// Flowers
|
||||
(BlueFlower, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.3, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
close(c.temp, 0.1, 0.2).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
* MUSH_FACT
|
||||
* 0.5,
|
||||
Some((48.0, 0.4)),
|
||||
* 0.01,
|
||||
Some((48.0, 0.2)),
|
||||
)
|
||||
}),
|
||||
(PinkFlower, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.3, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
close(c.temp, 0.2, 0.2).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
* MUSH_FACT
|
||||
* 0.5,
|
||||
Some((48.0, 0.4)),
|
||||
* 0.01,
|
||||
Some((48.0, 0.2)),
|
||||
)
|
||||
}),
|
||||
(PurpleFlower, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.3, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
close(c.temp, 0.3, 0.2).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
* MUSH_FACT
|
||||
* 0.5,
|
||||
Some((48.0, 0.4)),
|
||||
* 0.01,
|
||||
Some((48.0, 0.2)),
|
||||
)
|
||||
}),
|
||||
(RedFlower, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.3, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
close(c.temp, 0.5, 0.2).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
* MUSH_FACT
|
||||
* 0.5,
|
||||
Some((48.0, 0.4)),
|
||||
* 0.01,
|
||||
Some((48.0, 0.2)),
|
||||
)
|
||||
}),
|
||||
(WhiteFlower, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.3, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
close(c.temp, 0.0, 0.3).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
* MUSH_FACT
|
||||
* 0.5,
|
||||
Some((48.0, 0.4)),
|
||||
* 0.01,
|
||||
Some((48.0, 0.2)),
|
||||
)
|
||||
}),
|
||||
(YellowFlower, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.3, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
close(c.temp, 0.3, 0.2).min(close(c.humidity, CONFIG.forest_hum, 0.35))
|
||||
* MUSH_FACT
|
||||
* 0.5,
|
||||
Some((48.0, 0.4)),
|
||||
* 0.01,
|
||||
Some((48.0, 0.2)),
|
||||
)
|
||||
}),
|
||||
// Herbs and Spices
|
||||
@ -151,19 +151,19 @@ pub fn apply_scatter_to<'a>(
|
||||
}),
|
||||
(MediumGrass, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.0, 0.6).min(close(c.humidity, CONFIG.forest_hum, 0.35)) * 0.05,
|
||||
close(c.temp, 0.0, 0.5).min(close(c.humidity, CONFIG.forest_hum, 0.35)) * 0.05,
|
||||
Some((48.0, 0.4)),
|
||||
)
|
||||
}),
|
||||
(LongGrass, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.4, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.2)) * 0.05,
|
||||
close(c.temp, 0.4, 0.5).min(close(c.humidity, CONFIG.forest_hum, 0.2)) * 0.05,
|
||||
Some((48.0, 0.5)),
|
||||
)
|
||||
}),
|
||||
(WheatGreen, false, |c| {
|
||||
(
|
||||
close(c.temp, 0.4, 0.4).min(close(c.humidity, CONFIG.forest_hum, 0.1))
|
||||
close(c.temp, 0.4, 0.2).min(close(c.humidity, CONFIG.forest_hum, 0.1))
|
||||
* MUSH_FACT
|
||||
* 0.001,
|
||||
None,
|
||||
|
@ -242,12 +242,23 @@ impl World {
|
||||
} else {
|
||||
false
|
||||
};
|
||||
let quadmed = comp::Body::QuadrupedMedium(quadruped_medium::Body::random()); // Not all of them are hostile so we have to do the rng here
|
||||
let quadlow = comp::Body::QuadrupedLow(quadruped_low::Body::random()); // Not all of them are hostile so we have to do the rng here
|
||||
let entity = EntityInfo::at(gen_entity_pos())
|
||||
.do_if(is_giant, |e| e.into_giant())
|
||||
.with_body(match rng.gen_range(0, 5) {
|
||||
0 => {
|
||||
is_hostile = true;
|
||||
comp::Body::QuadrupedMedium(quadruped_medium::Body::random())
|
||||
match quadmed {
|
||||
comp::Body::QuadrupedMedium(quadruped_medium) => {
|
||||
match quadruped_medium.species {
|
||||
quadruped_medium::Species::Catoblepas => is_hostile = false,
|
||||
quadruped_medium::Species::Mouflon => is_hostile = false,
|
||||
_ => is_hostile = true,
|
||||
}
|
||||
},
|
||||
_ => is_hostile = true,
|
||||
};
|
||||
quadmed
|
||||
},
|
||||
1 => {
|
||||
is_hostile = false;
|
||||
@ -258,8 +269,18 @@ impl World {
|
||||
comp::Body::Critter(critter::Body::random())
|
||||
},
|
||||
3 => {
|
||||
is_hostile = false;
|
||||
comp::Body::QuadrupedLow(quadruped_low::Body::random())
|
||||
match quadlow {
|
||||
comp::Body::QuadrupedLow(quadruped_low) => {
|
||||
match quadruped_low.species {
|
||||
quadruped_low::Species::Crocodile => is_hostile = true,
|
||||
quadruped_low::Species::Alligator => is_hostile = true,
|
||||
quadruped_low::Species::Maneater => is_hostile = true,
|
||||
_ => is_hostile = false,
|
||||
}
|
||||
},
|
||||
_ => is_hostile = false,
|
||||
};
|
||||
quadlow
|
||||
},
|
||||
_ => {
|
||||
is_hostile = false;
|
||||
|
@ -472,12 +472,12 @@ impl Floor {
|
||||
.with_body(comp::Body::Humanoid(comp::humanoid::Body::random()))
|
||||
.with_automatic_name()
|
||||
.with_main_tool(assets::load_expect_cloned(match rng.gen_range(0, 6) {
|
||||
0 => "common.items.weapons.axe.starter_axe",
|
||||
1 => "common.items.weapons.sword.cultist_purp_2h-0",
|
||||
2 => "common.items.weapons.sword.short_sword_0",
|
||||
3 => "common.items.weapons.hammer.cultist_purp_2h-0",
|
||||
4 => "common.items.weapons.staff.cultist_staff",
|
||||
_ => "common.items.weapons.bow.starter_bow",
|
||||
0 => "common.items.npc_weapons.axe.malachite_axe-0",
|
||||
1 => "common.items.npc_weapons.sword.cultist_purp_2h-0",
|
||||
2 => "common.items.npc_weapons.sword.cultist_purp_2h-0",
|
||||
3 => "common.items.npc_weapons.hammer.cultist_purp_2h-0",
|
||||
4 => "common.items.npc_weapons.staff.cultist_staff",
|
||||
_ => "common.items.npc_weapons.bow.horn_longbow-0",
|
||||
}));
|
||||
|
||||
supplement.add_entity(entity);
|
||||
@ -509,8 +509,10 @@ impl Floor {
|
||||
))
|
||||
.with_main_tool(assets::load_expect_cloned(
|
||||
match rng.gen_range(0, 1) {
|
||||
//Add more possible cult leader weapons here
|
||||
_ => "common.items.weapons.sword.cultist_purp_2h-0",
|
||||
//Add more possible cult leader npc_weapons here
|
||||
_ => {
|
||||
"common.items.npc_weapons.sword.cultist_purp_2h_boss-0"
|
||||
},
|
||||
},
|
||||
))
|
||||
.with_loot_drop(match rng.gen_range(0, 20) {
|
||||
|
@ -906,14 +906,14 @@ impl Settlement {
|
||||
.do_if(is_human && rng.gen(), |entity| {
|
||||
entity.with_main_tool(assets::load_expect_cloned(
|
||||
match rng.gen_range(0, 7) {
|
||||
0 => "common.items.weapons.tool.broom",
|
||||
1 => "common.items.weapons.tool.hoe",
|
||||
2 => "common.items.weapons.tool.pickaxe",
|
||||
3 => "common.items.weapons.tool.pitchfork",
|
||||
4 => "common.items.weapons.tool.rake",
|
||||
5 => "common.items.weapons.tool.shovel-0",
|
||||
_ => "common.items.weapons.tool.shovel-1",
|
||||
//_ => "common.items.weapons.bow.starter_bow", TODO: Re-Add this when we have a better way of distributing weapons here
|
||||
0 => "common.items.npc_weapons.tool.broom",
|
||||
1 => "common.items.npc_weapons.tool.hoe",
|
||||
2 => "common.items.npc_weapons.tool.pickaxe",
|
||||
3 => "common.items.npc_weapons.tool.pitchfork",
|
||||
4 => "common.items.npc_weapons.tool.rake",
|
||||
5 => "common.items.npc_weapons.tool.shovel-0",
|
||||
_ => "common.items.npc_weapons.tool.shovel-1",
|
||||
//_ => "common.items.npc_weapons.bow.starter_bow", TODO: Re-Add this when we have a better way of distributing npc_weapons here
|
||||
},
|
||||
))
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user