Make SecondaryEffect a trait
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-11-27 18:22:57 +01:00
parent e04f61d9e6
commit 1c0b953d9a
6 changed files with 95 additions and 40 deletions

View File

@@ -6,7 +6,7 @@ use hashbrown::HashSet;
use crate::dynamic_data::choices::{MoveChoice, TurnChoice};
use crate::dynamic_data::Pokemon;
use crate::dynamic_data::{LearnedMove, MoveLearnMethod};
use crate::static_data::{MoveCategory, MoveData, MoveTarget, SecondaryEffect};
use crate::static_data::{MoveCategory, MoveData, MoveTarget, SecondaryEffectImpl};
use crate::{StringKey, ValueIdentifiable, ValueIdentifier};
/// The misc library holds several misc functions required for the battle to run.
@@ -40,7 +40,11 @@ impl Gen7MiscLibrary {
255,
MoveTarget::Any,
0,
Some(SecondaryEffect::new(-1.0, StringKey::new("struggle"), vec![])),
Some(Box::new(SecondaryEffectImpl::new(
-1.0,
StringKey::new("struggle"),
vec![],
))),
HashSet::new(),
));
let struggle_learned_move = Arc::new(LearnedMove::new(&struggle_data, MoveLearnMethod::Unknown));