standardises entity names
This commit is contained in:
parent
d0416b2563
commit
1d9cb04d1f
14 changed files with 131 additions and 47 deletions
|
|
@ -1,4 +1,4 @@
|
|||
use crate::{gamelog, Name, Quips, TakingTurn, Viewshed};
|
||||
use crate::{gamelog, gui::renderable_colour, Name, Quips, Renderable, TakingTurn, Viewshed};
|
||||
use rltk::prelude::*;
|
||||
use specs::prelude::*;
|
||||
|
||||
|
|
@ -7,8 +7,10 @@ pub struct QuipSystem {}
|
|||
impl<'a> System<'a> for QuipSystem {
|
||||
#[allow(clippy::type_complexity)]
|
||||
type SystemData = (
|
||||
Entities<'a>,
|
||||
WriteStorage<'a, Quips>,
|
||||
ReadStorage<'a, Name>,
|
||||
ReadStorage<'a, Renderable>,
|
||||
ReadStorage<'a, TakingTurn>,
|
||||
ReadExpect<'a, Point>,
|
||||
ReadStorage<'a, Viewshed>,
|
||||
|
|
@ -16,8 +18,8 @@ impl<'a> System<'a> for QuipSystem {
|
|||
);
|
||||
|
||||
fn run(&mut self, data: Self::SystemData) {
|
||||
let (mut quips, names, turns, player_pos, viewsheds, mut rng) = data;
|
||||
for (quip, name, viewshed, _turn) in (&mut quips, &names, &viewsheds, &turns).join() {
|
||||
let (entities, mut quips, names, renderables, turns, player_pos, viewsheds, mut rng) = data;
|
||||
for (entity, quip, name, viewshed, _turn) in (&entities, &mut quips, &names, &viewsheds, &turns).join() {
|
||||
if !quip.available.is_empty() && viewshed.visible_tiles.contains(&player_pos) && rng.roll_dice(1, 6) == 1 {
|
||||
let quip_index = if quip.available.len() == 1 {
|
||||
0
|
||||
|
|
@ -26,7 +28,9 @@ impl<'a> System<'a> for QuipSystem {
|
|||
};
|
||||
gamelog::Logger::new()
|
||||
.append("The")
|
||||
.npc_name(&name.name)
|
||||
.colour(renderable_colour(&renderables, entity))
|
||||
.append(&name.name)
|
||||
.colour(WHITE)
|
||||
.append_n("says \"")
|
||||
.append_n(&quip.available[quip_index])
|
||||
.append("\"")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue