Rework ScriptOwners to be a little easier to use
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-01-06 11:10:30 +01:00
parent d4c30d50aa
commit 258c497982
4 changed files with 96 additions and 23 deletions

View File

@@ -5,6 +5,7 @@ use core::sync::atomic::{AtomicBool, Ordering};
use pkmn_lib_interface::app_interface::{
BattleSide, DamageSource, ExecutingMove, Pokemon, TurnChoice, WithVolatile,
};
use pkmn_lib_interface::handling::script::ScriptOwner;
use pkmn_lib_interface::handling::{Script, ScriptCapabilities};
script!(Assurance, "assurance");
@@ -86,9 +87,8 @@ impl Script for AssuranceData {
&[ScriptCapabilities::OnEndTurn, ScriptCapabilities::OnDamage]
}
#[cfg(not(test))]
fn on_end_turn(&self) {
let side: pkmn_lib_interface::app_interface::BattleSideImpl = self.get_owner().unwrap();
let side = self.get_owner().unwrap().as_side();
side.remove_volatile(self);
}

View File

@@ -63,7 +63,6 @@ impl Script for AuroraVeilEffect {
&[ScriptCapabilities::ChangeIncomingDamage, OnEndTurn]
}
#[cfg(not(test))]
fn change_incoming_damage(
&self,
mv: ExecutingMove,
@@ -74,7 +73,7 @@ impl Script for AuroraVeilEffect {
if mv.get_hit_data(&target, hit).is_critical() {
return;
}
let side: pkmn_lib_interface::app_interface::BattleSideImpl = self.get_owner().unwrap();
let side = self.get_owner().unwrap().as_side();
if side.has_volatile(ReflectEffect::get_const_name())
&& mv.use_move().category() == MoveCategory::Physical
{