mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Log error instead of panicking
This commit is contained in:
parent
308ee2f674
commit
859eb95033
@ -13,7 +13,7 @@ pub const NPC_MAX_SENTIMENTS: usize = 128;
|
|||||||
|
|
||||||
/// Magic factor used to control sentiment decay speed (note: higher = slower
|
/// Magic factor used to control sentiment decay speed (note: higher = slower
|
||||||
/// decay, for implementation reasons).
|
/// decay, for implementation reasons).
|
||||||
const DECAY_FACTOR: f32 = 1.0; //6.0; TODO: Use this value when we're happy that everything is working as intended
|
const DECAY_TIME_FACTOR: f32 = 1.0; //6.0; TODO: Use this value when we're happy that everything is working as intended
|
||||||
|
|
||||||
/// The target that a sentiment is felt toward.
|
/// The target that a sentiment is felt toward.
|
||||||
// NOTE: More could be added to this! For example:
|
// NOTE: More could be added to this! For example:
|
||||||
@ -73,14 +73,14 @@ impl Sentiments {
|
|||||||
/// sentiment to neutral decay with the following formula:
|
/// sentiment to neutral decay with the following formula:
|
||||||
///
|
///
|
||||||
/// ```ignore
|
/// ```ignore
|
||||||
/// seconds_until_neutrality = ((sentiment_value * 127 * DECAY_FACTOR) ^ 2) / 2
|
/// seconds_until_neutrality = ((sentiment_value * 127 * DECAY_TIME_FACTOR) ^ 2) / 2
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// For example, a positive (see [`Sentiment::POSITIVE`]) sentiment has a
|
/// For example, a positive (see [`Sentiment::POSITIVE`]) sentiment has a
|
||||||
/// value of `0.2`, so we get
|
/// value of `0.2`, so we get
|
||||||
///
|
///
|
||||||
/// ```ignore
|
/// ```ignore
|
||||||
/// seconds_until_neutrality = ((0.1 * 127 * DECAY_FACTOR) ^ 2) / 2 = ~2,903 seconds, or 48 minutes
|
/// seconds_until_neutrality = ((0.1 * 127 * DECAY_TIME_FACTOR) ^ 2) / 2 = ~2,903 seconds, or 48 minutes
|
||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// Some 'common' sentiment decay times are as follows:
|
/// Some 'common' sentiment decay times are as follows:
|
||||||
@ -178,7 +178,8 @@ impl Sentiment {
|
|||||||
// TODO: Make dt-independent so we can slow tick rates
|
// TODO: Make dt-independent so we can slow tick rates
|
||||||
// 36 = 6 * 6
|
// 36 = 6 * 6
|
||||||
if rng.gen_bool(
|
if rng.gen_bool(
|
||||||
(1.0 / (self.positivity.unsigned_abs() as f32 * DECAY_FACTOR.powi(2) * dt)) as f64,
|
(1.0 / (self.positivity.unsigned_abs() as f32 * DECAY_TIME_FACTOR.powi(2) * dt))
|
||||||
|
as f64,
|
||||||
) {
|
) {
|
||||||
self.positivity -= self.positivity.signum();
|
self.positivity -= self.positivity.signum();
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ use common::{
|
|||||||
};
|
};
|
||||||
use rand::prelude::*;
|
use rand::prelude::*;
|
||||||
use rand_chacha::ChaChaRng;
|
use rand_chacha::ChaChaRng;
|
||||||
use tracing::warn;
|
use tracing::{error, warn};
|
||||||
use world::site::SiteKind;
|
use world::site::SiteKind;
|
||||||
|
|
||||||
pub struct SimulateNpcs;
|
pub struct SimulateNpcs;
|
||||||
@ -36,7 +36,7 @@ fn on_setup(ctx: EventCtx<SimulateNpcs, OnSetup>) {
|
|||||||
let actor = Actor::Npc(npc_id);
|
let actor = Actor::Npc(npc_id);
|
||||||
vehicle.riders.push(actor);
|
vehicle.riders.push(actor);
|
||||||
if ride.steering && vehicle.driver.replace(actor).is_some() {
|
if ride.steering && vehicle.driver.replace(actor).is_some() {
|
||||||
panic!("Replaced driver");
|
error!("Replaced driver");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@ use rtsim::data::{
|
|||||||
};
|
};
|
||||||
use specs::{Join, Read, ReadExpect, ReadStorage, WriteExpect, WriteStorage};
|
use specs::{Join, Read, ReadExpect, ReadStorage, WriteExpect, WriteStorage};
|
||||||
use std::{sync::Arc, time::Duration};
|
use std::{sync::Arc, time::Duration};
|
||||||
|
use tracing::error;
|
||||||
use world::site::settlement::trader_loadout;
|
use world::site::settlement::trader_loadout;
|
||||||
|
|
||||||
fn humanoid_config(profession: &Profession) -> &'static str {
|
fn humanoid_config(profession: &Profession) -> &'static str {
|
||||||
@ -36,7 +37,13 @@ fn humanoid_config(profession: &Profession) -> &'static str {
|
|||||||
1 => "common.entity.world.traveler1",
|
1 => "common.entity.world.traveler1",
|
||||||
2 => "common.entity.world.traveler2",
|
2 => "common.entity.world.traveler2",
|
||||||
3 => "common.entity.world.traveler3",
|
3 => "common.entity.world.traveler3",
|
||||||
_ => panic!("Not a valid adventurer rank"),
|
_ => {
|
||||||
|
error!(
|
||||||
|
"Tried to get configuration for invalid adventurer rank {}",
|
||||||
|
rank
|
||||||
|
);
|
||||||
|
"common.entity.world.traveler3"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Profession::Blacksmith => "common.entity.village.blacksmith",
|
Profession::Blacksmith => "common.entity.village.blacksmith",
|
||||||
Profession::Chef => "common.entity.village.chef",
|
Profession::Chef => "common.entity.village.chef",
|
||||||
|
Loading…
Reference in New Issue
Block a user