improvement: reset character state and energy on death

This commit is contained in:
timokoesters 2020-01-18 15:00:59 +01:00 committed by Pfauenauge90
parent 885e698e5a
commit 8afe5fd1dd
2 changed files with 12 additions and 0 deletions

View File

@ -14,6 +14,7 @@ pub enum EnergySource {
CastSpell,
LevelUp,
Regen,
Revive,
Unknown,
}

View File

@ -434,6 +434,17 @@ impl Server {
.map(|err| {
error!("Failed to insert ForceUpdate on dead client: {:?}", err)
});
state
.ecs()
.write_storage::<comp::Energy>()
.get_mut(entity)
.map(|energy| {
energy.set_to(energy.maximum(), comp::EnergySource::Revive)
});
let _ = state
.ecs()
.write_storage::<comp::CharacterState>()
.insert(entity, comp::CharacterState::default());
} else {
// If not a player delete the entity
if let Err(err) = state.delete_entity_recorded(entity) {