mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
improvement: reset character state and energy on death
This commit is contained in:
parent
885e698e5a
commit
8afe5fd1dd
@ -14,6 +14,7 @@ pub enum EnergySource {
|
||||
CastSpell,
|
||||
LevelUp,
|
||||
Regen,
|
||||
Revive,
|
||||
Unknown,
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user