mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Ability pool updates after switching weapons now.
This commit is contained in:
parent
a8bec0280c
commit
d33ff9f17e
@ -34,6 +34,10 @@ pub const MAX_ABILITIES: usize = 5;
|
|||||||
// essentially require custom enum that are only used for those (except maybe
|
// essentially require custom enum that are only used for those (except maybe
|
||||||
// dodge if we make movement and have potentially differ based off of armor) but
|
// dodge if we make movement and have potentially differ based off of armor) but
|
||||||
// would also allow logic to be a bit more centralized
|
// would also allow logic to be a bit more centralized
|
||||||
|
// TODO: Potentially look into storing previous ability sets for weapon
|
||||||
|
// combinations and automatically reverting back to them on switching to that
|
||||||
|
// set of weapons. Consider after UI is set up and people weigh in on memory
|
||||||
|
// considerations.
|
||||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
pub struct AbilityPool {
|
pub struct AbilityPool {
|
||||||
primary: Ability,
|
primary: Ability,
|
||||||
|
@ -767,6 +767,19 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv
|
|||||||
// manipulating the inventory mutated the trade, so reset the accept flags
|
// manipulating the inventory mutated the trade, so reset the accept flags
|
||||||
trades.implicit_mutation_occurred(&uid);
|
trades.implicit_mutation_occurred(&uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// After any inventory manipulation, update the ability
|
||||||
|
// TODO: Make less hacky, probably remove entirely but needs UI
|
||||||
|
if let Some(mut ability_pool) = state
|
||||||
|
.ecs()
|
||||||
|
.write_storage::<comp::AbilityPool>()
|
||||||
|
.get_mut(entity)
|
||||||
|
{
|
||||||
|
ability_pool.auto_update(
|
||||||
|
state.ecs().read_storage::<comp::Inventory>().get(entity),
|
||||||
|
state.ecs().read_storage::<comp::SkillSet>().get(entity),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn within_pickup_range<S: FindDist<find_dist::Cylinder>>(
|
fn within_pickup_range<S: FindDist<find_dist::Cylinder>>(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user