diff --git a/common/src/comp/body.rs b/common/src/comp/body.rs index 8aa0853c95..9e595d1b67 100644 --- a/common/src/comp/body.rs +++ b/common/src/comp/body.rs @@ -378,19 +378,14 @@ impl Body { biped_small::Species::Sahagin => 500, biped_small::Species::Haniwa => 700, biped_small::Species::Myrmidon => 800, - _ => 600, - }, + _ => 600, + }, Body::Object(object) => match object { object::Body::TrainingDummy => 10000, object::Body::Crossbow => 800, _ => 10000, }, -<<<<<<< HEAD Body::Golem(_) => 2740, -======= - Body::Object(_) => 10000, - Body::Golem(_) => 3000, ->>>>>>> minotaur moves, added claygolem Body::Theropod(theropod) => match theropod.species { theropod::Species::Archaeos => 3000, theropod::Species::Odonto => 2700, diff --git a/common/src/comp/inventory/item/modular.rs b/common/src/comp/inventory/item/modular.rs index b7239145b9..89f2d7eff4 100644 --- a/common/src/comp/inventory/item/modular.rs +++ b/common/src/comp/inventory/item/modular.rs @@ -36,14 +36,15 @@ impl TagExampleInfo for ModularComponentTag { fn name(&self) -> &'static str { match self.modkind { ModularComponentKind::Damage => match self.toolkind { - ToolKind::Sword => "sword blade", - ToolKind::Axe => "axe head", - ToolKind::Hammer => "hammer head", - ToolKind::Bow => "bow limbs", + ToolKind::Sword | ToolKind::SwordSimple => "sword blade", + ToolKind::Axe | ToolKind::AxeSimple => "axe head", + ToolKind::Hammer | ToolKind::HammerSimple => "hammer head", + ToolKind::Bow | ToolKind::BowSimple => "bow limbs", ToolKind::Dagger => "dagger blade", - ToolKind::Staff => "staff head", + ToolKind::Staff | ToolKind::StaffSimple => "staff head", ToolKind::Sceptre => "sceptre head", // TODO: naming + ToolKind::Spear => "spear damage component", ToolKind::Shield => "shield damage component", ToolKind::Unique(_) => "unique damage component", ToolKind::Debug => "debug damage component", @@ -51,14 +52,15 @@ impl TagExampleInfo for ModularComponentTag { ToolKind::Empty => "empty damage component", }, ModularComponentKind::Held => match self.toolkind { - ToolKind::Sword => "sword hilt", - ToolKind::Axe => "axe shaft", - ToolKind::Hammer => "hammer shaft", - ToolKind::Bow => "bow riser", + ToolKind::Sword | ToolKind::SwordSimple => "sword hilt", + ToolKind::Axe | ToolKind::AxeSimple => "axe shaft", + ToolKind::Hammer | ToolKind::HammerSimple => "hammer shaft", + ToolKind::Bow | ToolKind::BowSimple => "bow riser", ToolKind::Dagger => "dagger grip", - ToolKind::Staff => "staff shaft", + ToolKind::Staff | ToolKind::StaffSimple => "staff shaft", ToolKind::Sceptre => "sceptre shaft", // TODO: naming + ToolKind::Spear => "spear held component", ToolKind::Shield => "shield held component", ToolKind::Unique(_) => "unique held component", ToolKind::Debug => "debug held component", @@ -71,28 +73,46 @@ impl TagExampleInfo for ModularComponentTag { fn exemplar_identifier(&self) -> &'static str { match self.modkind { ModularComponentKind::Damage => match self.toolkind { - ToolKind::Sword => "common.items.tag_examples.modular.damage.sword", - ToolKind::Axe => "common.items.tag_examples.modular.damage.axe", - ToolKind::Hammer => "common.items.tag_examples.modular.damage.hammer", - ToolKind::Bow => "common.items.tag_examples.modular.damage.bow", + ToolKind::Sword | ToolKind::SwordSimple => { + "common.items.tag_examples.modular.damage.sword" + }, + ToolKind::Axe | ToolKind::AxeSimple => { + "common.items.tag_examples.modular.damage.axe" + }, + ToolKind::Hammer | ToolKind::HammerSimple => { + "common.items.tag_examples.modular.damage.hammer" + }, + ToolKind::Bow | ToolKind::BowSimple => { + "common.items.tag_examples.modular.damage.bow" + }, ToolKind::Dagger => "common.items.tag_examples.modular.damage.dagger", - ToolKind::Staff => "common.items.tag_examples.modular.damage.staff", + ToolKind::Staff | ToolKind::StaffSimple => { + "common.items.tag_examples.modular.damage.staff" + }, ToolKind::Sceptre => "common.items.tag_examples.modular.damage.sceptre", ToolKind::Shield => "common.items.tag_examples.modular.damage.shield", + ToolKind::Spear => "common.items.tag_examples.modular.damage.spear", ToolKind::Unique(_) => "common.items.tag_examples.modular.damage.unique", ToolKind::Debug => "common.items.tag_examples.modular.damage.debug", ToolKind::Farming => "common.items.tag_examples.modular.damage.farming", ToolKind::Empty => "common.items.tag_examples.modular.damage.empty", }, ModularComponentKind::Held => match self.toolkind { - ToolKind::Sword => "common.items.tag_examples.modular.held.sword", - ToolKind::Axe => "common.items.tag_examples.modular.held.axe", - ToolKind::Hammer => "common.items.tag_examples.modular.held.hammer", - ToolKind::Bow => "common.items.tag_examples.modular.held.bow", + ToolKind::Sword | ToolKind::SwordSimple => { + "common.items.tag_examples.modular.held.sword" + }, + ToolKind::Axe | ToolKind::AxeSimple => "common.items.tag_examples.modular.held.axe", + ToolKind::Hammer | ToolKind::HammerSimple => { + "common.items.tag_examples.modular.held.hammer" + }, + ToolKind::Bow | ToolKind::BowSimple => "common.items.tag_examples.modular.held.bow", ToolKind::Dagger => "common.items.tag_examples.modular.held.dagger", - ToolKind::Staff => "common.items.tag_examples.modular.held.staff", + ToolKind::Staff | ToolKind::StaffSimple => { + "common.items.tag_examples.modular.held.staff" + }, ToolKind::Sceptre => "common.items.tag_examples.modular.held.sceptre", ToolKind::Shield => "common.items.tag_examples.modular.held.shield", + ToolKind::Spear => "common.items.tag_examples.modular.held.spear", ToolKind::Unique(_) => "common.items.tag_examples.modular.held.unique", ToolKind::Debug => "common.items.tag_examples.modular.held.debug", ToolKind::Farming => "common.items.tag_examples.modular.held.farming", diff --git a/common/src/comp/inventory/item/tool.rs b/common/src/comp/inventory/item/tool.rs index 4da97fee69..55bc5f7139 100644 --- a/common/src/comp/inventory/item/tool.rs +++ b/common/src/comp/inventory/item/tool.rs @@ -40,11 +40,17 @@ impl ToolKind { pub fn identifier_name(&self) -> &'static str { match self { ToolKind::Sword => "sword", + ToolKind::SwordSimple => "simple sword", ToolKind::Axe => "axe", + ToolKind::AxeSimple => "simple axe", ToolKind::Hammer => "hammer", + ToolKind::HammerSimple => "simple hammer", ToolKind::Bow => "bow", + ToolKind::BowSimple => "simple bow", ToolKind::Dagger => "dagger", ToolKind::Staff => "staff", + ToolKind::StaffSimple => "simple staff", + ToolKind::Spear => "spear", ToolKind::Sceptre => "sceptre", ToolKind::Shield => "shield", ToolKind::Unique(_) => "unique", diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index f4467f9980..242f696139 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -121,11 +121,7 @@ impl LoadoutBuilder { "common.items.npc_weapons.unique.quadmedjump", )); }, - quadruped_medium::Species::Tuskram - | quadruped_medium::Species::Roshwalr - | quadruped_medium::Species::Highland - | quadruped_medium::Species::Yak - | quadruped_medium::Species::Cattle => { + quadruped_medium::Species::Tuskram | quadruped_medium::Species::Roshwalr => { main_tool = Some(Item::new_from_asset_expect( "common.items.npc_weapons.unique.quadmedcharge", )); diff --git a/common/src/comp/mod.rs b/common/src/comp/mod.rs index e9b10c2cf4..38d1694b52 100644 --- a/common/src/comp/mod.rs +++ b/common/src/comp/mod.rs @@ -46,9 +46,9 @@ pub use self::{ aura::{Aura, AuraChange, AuraKind, Auras}, beam::{Beam, BeamSegment}, body::{ - biped_large, biped_small, bird_medium, bird_small, dragon, fish_medium, fish_small, golem, humanoid, - object, quadruped_low, quadruped_medium, quadruped_small, theropod, AllBodies, Body, - BodyData, + biped_large, biped_small, bird_medium, bird_small, dragon, fish_medium, fish_small, golem, + humanoid, object, quadruped_low, quadruped_medium, quadruped_small, theropod, AllBodies, + Body, BodyData, }, buff::{ Buff, BuffCategory, BuffChange, BuffData, BuffEffect, BuffId, BuffKind, BuffSource, Buffs, diff --git a/common/src/states/utils.rs b/common/src/states/utils.rs index 6223f5ebc6..51e1623403 100644 --- a/common/src/states/utils.rs +++ b/common/src/states/utils.rs @@ -93,7 +93,7 @@ impl Body { Body::BipedSmall(biped_small) => match biped_small.species { biped_small::Species::Haniwa => 65.0, _ => 80.0, - }, + }, Body::Object(_) => 0.0, Body::Golem(_) => 60.0, Body::Theropod(_) => 135.0, diff --git a/server/src/sys/agent.rs b/server/src/sys/agent.rs index 7866861455..a78fd6d75f 100644 --- a/server/src/sys/agent.rs +++ b/server/src/sys/agent.rs @@ -496,6 +496,7 @@ impl<'a> System<'a> for Sys { } }) { Some(ToolKind::Bow) => Tactic::Bow, + Some(ToolKind::BowSimple) => Tactic::Bow, Some(ToolKind::Staff) => Tactic::Staff, Some(ToolKind::StaffSimple) => Tactic::Staff, Some(ToolKind::Hammer) => Tactic::Hammer, diff --git a/world/src/site/dungeon/mod.rs b/world/src/site/dungeon/mod.rs index cd9ef17fca..a59ec1ce0a 100644 --- a/world/src/site/dungeon/mod.rs +++ b/world/src/site/dungeon/mod.rs @@ -619,26 +619,18 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..5) { + match dynamic_rng.gen_range(0..3) { 0 => { "common.items.npc_weapons.biped_small.gnarling.\ - wooden_spear" + adlet_bow" }, 1 => { - "common.items.npc_weapons.biped_small.gnarling.\ - wooden_spear" - }, - 2 => { - "common.items.npc_weapons.biped_small.gnarling.\ - wooden_spear" - }, - 3 => { "common.items.npc_weapons.biped_small.gnarling.\ gnoll_staff" }, _ => { "common.items.npc_weapons.biped_small.gnarling.\ - adlet_bow" + wooden_spear" }, }, )), @@ -656,23 +648,15 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..5) { - 0 => { - "common.items.npc_weapons.biped_small.adlet.\ - wooden_spear" - }, + match dynamic_rng.gen_range(0..3) { + 0 => "common.items.npc_weapons.biped_small.adlet.adlet_bow", 1 => { - "common.items.npc_weapons.biped_small.adlet.\ - wooden_spear" - }, - 2 => { - "common.items.npc_weapons.biped_small.adlet.\ - wooden_spear" - }, - 3 => { "common.items.npc_weapons.biped_small.adlet.gnoll_staff" }, - _ => "common.items.npc_weapons.biped_small.adlet.adlet_bow", + _ => { + "common.items.npc_weapons.biped_small.adlet.\ + wooden_spear" + }, }, )), 2 => entity @@ -689,25 +673,17 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..5) { + match dynamic_rng.gen_range(0..3) { 0 => { - "common.items.npc_weapons.biped_small.sahagin.\ - wooden_spear" + "common.items.npc_weapons.biped_small.sahagin.adlet_bow" }, 1 => { - "common.items.npc_weapons.biped_small.sahagin.\ - wooden_spear" - }, - 2 => { - "common.items.npc_weapons.biped_small.sahagin.\ - wooden_spear" - }, - 3 => { "common.items.npc_weapons.biped_small.sahagin.\ gnoll_staff" }, _ => { - "common.items.npc_weapons.biped_small.sahagin.adlet_bow" + "common.items.npc_weapons.biped_small.sahagin.\ + wooden_spear" }, }, )), @@ -725,25 +701,17 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..5) { + match dynamic_rng.gen_range(0..3) { 0 => { - "common.items.npc_weapons.biped_small.haniwa.\ - wooden_spear" + "common.items.npc_weapons.biped_small.haniwa.adlet_bow" }, 1 => { - "common.items.npc_weapons.biped_small.haniwa.\ - wooden_spear" - }, - 2 => { - "common.items.npc_weapons.biped_small.haniwa.\ - wooden_spear" - }, - 3 => { "common.items.npc_weapons.biped_small.haniwa.\ gnoll_staff" }, _ => { - "common.items.npc_weapons.biped_small.haniwa.adlet_bow" + "common.items.npc_weapons.biped_small.haniwa.\ + wooden_spear" }, }, )), @@ -761,26 +729,18 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..5) { + match dynamic_rng.gen_range(0..3) { 0 => { "common.items.npc_weapons.biped_small.myrmidon.\ - wooden_spear" + adlet_bow" }, 1 => { - "common.items.npc_weapons.biped_small.myrmidon.\ - wooden_spear" - }, - 2 => { - "common.items.npc_weapons.biped_small.myrmidon.\ - wooden_spear" - }, - 3 => { "common.items.npc_weapons.biped_small.myrmidon.\ gnoll_staff" }, _ => { "common.items.npc_weapons.biped_small.myrmidon.\ - adlet_bow" + wooden_spear" }, }, )), @@ -872,36 +832,13 @@ impl Floor { let entity = match room.difficulty { 0 => vec![ EntityInfo::at(tile_wcenter.map(|e| e as f32)) - .with_body(comp::Body::Humanoid( - comp::humanoid::Body::random(), - )) - .with_name("Outcast Leader".to_string()) - .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) - .with_loadout_config( - loadout_builder::LoadoutConfig::Outcast, - ) - .with_skillset_config( - common::skillset_builder::SkillSetConfig::Outcast, - ) - .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..6) { - 0 => "common.items.weapons.axe.worn_iron_axe-0", - 1..=2 => "common.items.weapons.sword.steel-8", - 3 => { - "common.items.weapons.hammer.worn_iron_hammer-0" - }, - 4 => "common.items.weapons.staff.bone_staff", - _ => "common.items.weapons.bow.hardwood-3", - }, - )), - EntityInfo::at(tile_wcenter.map(|e| e as f32)) - .with_body(comp::Body::QuadrupedMedium( - comp::quadruped_medium::Body::random_with( + .with_body(comp::Body::BipedLarge( + comp::biped_large::Body::random_with( dynamic_rng, - &comp::quadruped_medium::Species::Tarasque, + &comp::biped_large::Species::Harvester, ), )) - .with_name("Tarasque".to_string()) + .with_name("Harvester".to_string()) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)), ], 1 => vec![ @@ -917,25 +854,14 @@ impl Floor { ], 2 => vec![ EntityInfo::at(tile_wcenter.map(|e| e as f32)) - .with_body(comp::Body::Humanoid( - comp::humanoid::Body::random() + .with_body(comp::Body::BipedLarge( + comp::biped_large::Body::random_with( + dynamic_rng, + &comp::biped_large::Species::Tidalwarrior, + ), )) - .with_name("Bandit Captain".to_string()) - .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) - .with_loadout_config(loadout_builder::LoadoutConfig::Bandit) - .with_skillset_config( - common::skillset_builder::SkillSetConfig::Bandit - ) - .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0..6) { - 0 => "common.items.weapons.axe.steel_axe-0", - 1..=2 => "common.items.weapons.sword.steel-2", - 3 => "common.items.weapons.hammer.cobalt_hammer-0", - 4 => "common.items.weapons.staff.amethyst_staff", - _ => "common.items.weapons.bow.bone-1", - }, - ),); - 2 + .with_name("Tidal Warrior".to_string()) + .with_loot_drop(comp::Item::new_from_asset_expect(chosen)), ], 3 => vec![ EntityInfo::at(tile_wcenter.map(|e| e as f32))