wip
This commit is contained in:
parent
18784e59ce
commit
c1655c9496
@ -360,6 +360,25 @@ impl Construct {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn immune(&self, skill: Skill) -> Option<Immunity> {
|
||||||
|
// also checked in resolve stage so shouldn't happen really
|
||||||
|
if self.is_ko() {
|
||||||
|
return Some(vec![Effect::Ko]);
|
||||||
|
}
|
||||||
|
|
||||||
|
let immunities = self.effects.iter()
|
||||||
|
.filter(|e| e.effect.immune(skill))
|
||||||
|
.map(|e| e.effect)
|
||||||
|
.collect::<Vec<Effect>>();
|
||||||
|
|
||||||
|
if immunities.len() > 0 {
|
||||||
|
return Some(immunities);
|
||||||
|
}
|
||||||
|
|
||||||
|
None
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
pub fn is_stunned(&self) -> bool {
|
pub fn is_stunned(&self) -> bool {
|
||||||
self.available_skills().len() == 0
|
self.available_skills().len() == 0
|
||||||
}
|
}
|
||||||
|
|||||||
@ -72,6 +72,7 @@ impl Effect {
|
|||||||
pub fn immune(&self, skill: Skill) -> bool {
|
pub fn immune(&self, skill: Skill) -> bool {
|
||||||
match self {
|
match self {
|
||||||
Effect::Banish => true,
|
Effect::Banish => true,
|
||||||
|
|
||||||
Effect::Sustain => [
|
Effect::Sustain => [
|
||||||
Skill::Stun,
|
Skill::Stun,
|
||||||
Skill::Silence,
|
Skill::Silence,
|
||||||
@ -84,6 +85,12 @@ impl Effect {
|
|||||||
Skill::RestrictPlus,
|
Skill::RestrictPlus,
|
||||||
Skill::RestrictPlusPlus
|
Skill::RestrictPlusPlus
|
||||||
].contains(&skill),
|
].contains(&skill),
|
||||||
|
|
||||||
|
Effect::Siphoned => [
|
||||||
|
Skill::SiphonTick,
|
||||||
|
Skill::SiphonTickPlus,
|
||||||
|
Skill::SiphonTickPlusPlus,
|
||||||
|
].contains(&skill),
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user