diff --git a/assets/common/entity/dungeon/terracotta/mogwai.ron b/assets/common/entity/dungeon/terracotta/mogwai.ron index 24bc35a0c5..5be04b0816 100644 --- a/assets/common/entity/dungeon/terracotta/mogwai.ron +++ b/assets/common/entity/dungeon/terracotta/mogwai.ron @@ -1,6 +1,6 @@ #![enable(implicit_some)] ( - name: Name("Mogway"), + name: Name("Mogwai"), body: RandomWith("mogwai"), alignment: Alignment(Enemy), loot: LootTable("common.loot_tables.dungeon.terracotta.enemy"), diff --git a/server/agent/src/attack.rs b/server/agent/src/attack.rs index d53e2d5c1b..1644b1c096 100644 --- a/server/agent/src/attack.rs +++ b/server/agent/src/attack.rs @@ -6414,7 +6414,15 @@ impl<'a> AgentData<'a> { read_data: &ReadData, ) { if tgt_data.pos.0.z - self.pos.0.z > 5.0 { - controller.push_basic_input(InputKind::Secondary); + controller.push_action(ControlAction::StartInput { + input: InputKind::Secondary, + target_entity: agent + .target + .as_ref() + .and_then(|t| read_data.uids.get(t.target)) + .copied(), + select_pos: None, + }); } else if attack_data.dist_sqrd < 12.0f32.powi(2) { controller.push_basic_input(InputKind::Primary); } diff --git a/voxygen/src/ecs/sys/interpolation.rs b/voxygen/src/ecs/sys/interpolation.rs index 70afc9f3d4..a50a15a1f7 100644 --- a/voxygen/src/ecs/sys/interpolation.rs +++ b/voxygen/src/ecs/sys/interpolation.rs @@ -93,9 +93,10 @@ impl<'a> System<'a> for Sys { fn base_ori_interp(body: &Body) -> f32 { match body { Body::Object(object) => match object { - object::Body::Crossbow | object::Body::Flamethrower | object::Body::HaniwaSentry => { - 100.0 - }, + object::Body::Crossbow + | object::Body::Flamethrower + | object::Body::HaniwaSentry + | object::Body::TerracottaStatue => 100.0, _ => 10.0, }, _ => 10.0, diff --git a/world/src/site2/mod.rs b/world/src/site2/mod.rs index 8842bb6eb0..79c79ba8bc 100644 --- a/world/src/site2/mod.rs +++ b/world/src/site2/mod.rs @@ -562,6 +562,7 @@ impl Site { "Burial Grounds", "Remains", "Temples", + "Gardens", ] .choose(&mut rng) .unwrap(); diff --git a/world/src/site2/plot/terracotta_palace.rs b/world/src/site2/plot/terracotta_palace.rs index 4ad8911820..3277eaa7dc 100644 --- a/world/src/site2/plot/terracotta_palace.rs +++ b/world/src/site2/plot/terracotta_palace.rs @@ -620,12 +620,12 @@ impl Structure for TerracottaPalace { // floor decor in chamber rooms painter .cylinder(Aabb { - min: (room_center - 3).with_z(base - 16 - (room_size / 2) - (room_size / 16)), + min: (room_center - 3).with_z(base - 24 - (room_size / 2) - (room_size / 16)), max: (room_center + 3).with_z(base - 6 - (room_size / 2) - (room_size / 16)), }) .clear(); // npcs in chamber rooms - let npc_pos = room_center.with_z(base - 16 - (room_size / 2) - (room_size / 16)); + let npc_pos = room_center.with_z(base - 24 - (room_size / 2) - (room_size / 16)); let npc = chamber_npcs .swap_remove(RandomField::new(0).get(npc_pos) as usize % chamber_npcs.len()); @@ -876,7 +876,7 @@ impl Structure for TerracottaPalace { .fill(clay_broken.clone()); let pillar_npc_pos = (center + dir * ((size / 2) + 9)).with_z(base + 6); - let statue_pos = (center + dir * ((size / 2) + 8)).with_z(base + 6); + let statue_pos = (center + dir * ((size / 2) + 5)).with_z(base + 6); spawn_random_entity(pillar_npc_pos, painter, 1..=1);