Add lighting to some mob types
This commit is contained in:
parent
6f9aa54896
commit
e50abdb4a0
@ -20,6 +20,13 @@ pub struct Mob {
|
|||||||
pub equipped: Option<Vec<String>>,
|
pub equipped: Option<Vec<String>>,
|
||||||
pub natural: Option<MobNatural>,
|
pub natural: Option<MobNatural>,
|
||||||
pub loot_table: Option<String>,
|
pub loot_table: Option<String>,
|
||||||
|
pub light: Option<MobLight>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize, Debug)]
|
||||||
|
pub struct MobLight {
|
||||||
|
pub range: i32,
|
||||||
|
pub color: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
use std::collections::{HashMap, HashSet};
|
use std::collections::{HashMap, HashSet};
|
||||||
|
|
||||||
use ::regex::Regex;
|
use ::regex::Regex;
|
||||||
|
use ::rltk::{RandomNumberGenerator, RGB};
|
||||||
use ::specs::prelude::*;
|
use ::specs::prelude::*;
|
||||||
use ::specs::saveload::{MarkedBuilder, SimpleMarker};
|
use ::specs::saveload::{MarkedBuilder, SimpleMarker};
|
||||||
use rltk::RandomNumberGenerator;
|
|
||||||
|
|
||||||
use crate::components::*;
|
use crate::components::*;
|
||||||
use crate::gamesystem::{mana_at_level, npc_hp};
|
use crate::gamesystem::{mana_at_level, npc_hp};
|
||||||
@ -420,6 +420,13 @@ pub fn spawn_named_mob(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Some(light) = &mob_template.light {
|
||||||
|
eb = eb.with(LightSource {
|
||||||
|
range: light.range,
|
||||||
|
color: RGB::from_hex(&light.color).expect("Bad color"),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let new_mob = eb.build();
|
let new_mob = eb.build();
|
||||||
|
|
||||||
// Are they weilding anything?
|
// Are they weilding anything?
|
||||||
|
Loading…
Reference in New Issue
Block a user