starting to add disables
This commit is contained in:
parent
9cac638d59
commit
bcd89e24d0
@ -547,6 +547,7 @@ impl Effect {
|
||||
#[derive(Debug,Clone,PartialEq,Serialize,Deserialize)]
|
||||
pub enum SkillEffect {
|
||||
Modifier {effect: Effect, multiplier: u64, duration: u8},
|
||||
Disable {effect: Effect, duration: u8},
|
||||
}
|
||||
|
||||
#[derive(Debug,Clone,Copy,PartialEq,Serialize,Deserialize)]
|
||||
@ -695,6 +696,8 @@ impl Skill {
|
||||
pub fn effect(&self) -> SkillEffect {
|
||||
// Buff -> Effect, Multiplier, duration
|
||||
match self {
|
||||
|
||||
// Modifiers
|
||||
Skill::Amplify => SkillEffect::Modifier {effect: Effect::Amplify, multiplier: 150, duration: 2},
|
||||
Skill::Block => SkillEffect::Modifier {effect: Effect::Block, multiplier: 50, duration: 1},
|
||||
Skill::Buff => SkillEffect::Modifier {effect: Effect::Buff, multiplier: 125, duration: 2},
|
||||
@ -705,6 +708,9 @@ impl Skill {
|
||||
Skill::Haste => SkillEffect::Modifier {effect: Effect::Haste, multiplier: 150, duration: 2},
|
||||
Skill::Throw => SkillEffect::Modifier {effect: Effect::Vulnerable, multiplier: 150, duration: 3},
|
||||
|
||||
// Disables
|
||||
Skill::Stun => SkillEffect::Disable {effect: Effect::Stun, duration: 2},
|
||||
|
||||
_ => {
|
||||
panic!("no skill effect");
|
||||
},
|
||||
@ -713,7 +719,6 @@ impl Skill {
|
||||
|
||||
pub fn duration(&self) -> u8 {
|
||||
match self {
|
||||
Skill::Block => 1,
|
||||
Skill::Parry => 2,
|
||||
Skill::Clutch => 1,
|
||||
Skill::Reflect => 1,
|
||||
@ -992,6 +997,10 @@ fn apply_modifier(skill: Skill, source: &mut Cryp, target: &mut Cryp) -> Resolut
|
||||
.set_meta(EffectMeta::Multiplier(multiplier));
|
||||
return Resolution::new(source, target).event(target.add_effect(skill, crypEffect));
|
||||
}
|
||||
SkillEffect::Disable { effect, duration } => {
|
||||
let crypEffect = CrypEffect::new(effect, duration);
|
||||
return Resolution::new(source, target).event(target.add_effect(skill, crypEffect));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user