Cleaner handling of tracking seen opponents.
Instead of keeping track of unique identifiers, keep track of weak pointers to the pokemon, so we can just try and upgrade them later.
This commit is contained in:
@@ -137,10 +137,10 @@ impl<'a> BattleSide<'a> {
|
||||
if side.index() == self.index {
|
||||
continue;
|
||||
}
|
||||
for opponent in side.pokemon().iter().flatten() {
|
||||
let mut opponent = opponent.write().unwrap();
|
||||
opponent.mark_opponent_as_seen(pokemon.unique_identifier());
|
||||
pokemon.mark_opponent_as_seen(opponent.unique_identifier());
|
||||
for opponent_mutex in side.pokemon().iter().flatten() {
|
||||
let mut opponent = opponent_mutex.write().unwrap();
|
||||
opponent.mark_opponent_as_seen(Arc::downgrade(pokemon_mutex));
|
||||
pokemon.mark_opponent_as_seen(Arc::downgrade(opponent_mutex));
|
||||
}
|
||||
}
|
||||
battle.event_hook().trigger(Event::Switch {
|
||||
|
||||
Reference in New Issue
Block a user