significant events in morgue file, better event logging
This commit is contained in:
parent
de5dacb2ba
commit
738484436b
38 changed files with 246 additions and 102 deletions
|
|
@ -4,6 +4,7 @@ use rltk::prelude::*;
|
|||
use serde::{ Deserialize, Serialize };
|
||||
use specs::prelude::*;
|
||||
use std::collections::{ HashMap, HashSet };
|
||||
use crate::data::events::*;
|
||||
|
||||
#[derive(Default, Serialize, Deserialize, Clone)]
|
||||
pub struct MasterDungeonMap {
|
||||
|
|
@ -241,7 +242,7 @@ fn transition_to_new_map(ecs: &mut World, new_id: i32) -> Vec<Map> {
|
|||
// Might need this to fallback to 1, but if player
|
||||
// level isn't found at all, there's a bigger concern
|
||||
// concern than just this function not working.
|
||||
let player_level = gamelog::get_event_count("player_level");
|
||||
let player_level = gamelog::get_event_count(EVENT::COUNT_LEVEL);
|
||||
let mut builder = map_builders::level_builder(new_id, &mut rng, 100, 50, player_level);
|
||||
builder.build_map(&mut rng);
|
||||
std::mem::drop(rng);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
use crate::{ config::CONFIG, gamelog, raws, spawner, Clock, Map, RandomNumberGenerator, TakingTurn };
|
||||
use specs::prelude::*;
|
||||
use crate::data::events::*;
|
||||
|
||||
const TRY_SPAWN_CHANCE: i32 = 70;
|
||||
|
||||
|
|
@ -32,7 +33,7 @@ pub fn try_spawn_interval(ecs: &mut World) {
|
|||
fn spawn_random_mob_in_free_nonvisible_tile(ecs: &mut World) {
|
||||
let map = ecs.fetch::<Map>();
|
||||
let mut available_tiles = populate_unblocked_nonvisible(&map);
|
||||
let player_level = gamelog::get_event_count("player_level");
|
||||
let player_level = gamelog::get_event_count(EVENT::COUNT_LEVEL);
|
||||
rltk::console::log(player_level);
|
||||
let difficulty = (map.difficulty + player_level) / 2;
|
||||
if available_tiles.len() == 0 {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ pub use interval_spawning_system::try_spawn_interval;
|
|||
pub mod dungeon;
|
||||
pub use dungeon::{ level_transition, MasterDungeonMap };
|
||||
pub mod themes;
|
||||
use crate::config::visuals::MAX_COLOUR_OFFSET_PERCENT;
|
||||
use crate::data::visuals::MAX_COLOUR_OFFSET_PERCENT;
|
||||
|
||||
// FIXME: If the map size gets too small, entities stop being rendered starting from the right.
|
||||
// i.e. on a map size of 40*40, only entities to the left of the player are rendered.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
use super::{ Map, Point, TileType };
|
||||
use crate::config::glyphs::*;
|
||||
use crate::config::visuals::*;
|
||||
use crate::data::visuals::*;
|
||||
use crate::config::CONFIG;
|
||||
use rltk::prelude::*;
|
||||
use std::ops::{ Add, Mul };
|
||||
|
|
@ -269,7 +268,7 @@ fn darken_by_distance(pos: Point, other_pos: Point) -> f32 {
|
|||
let distance = DistanceAlg::Pythagoras.distance2d(pos, other_pos) as f32; // Get distance in tiles.
|
||||
let interp_factor =
|
||||
(distance - START_DARKEN_AT_N_TILES) /
|
||||
((crate::config::entity::DEFAULT_VIEWSHED_STANDARD as f32) - START_DARKEN_AT_N_TILES);
|
||||
((crate::data::entity::DEFAULT_VIEWSHED_STANDARD as f32) - START_DARKEN_AT_N_TILES);
|
||||
let interp_factor = interp_factor.max(0.0).min(1.0); // Clamp [0-1]
|
||||
return (
|
||||
1.0 -
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue