restrict
This commit is contained in:
@@ -20,7 +20,7 @@ pub enum Effect {
|
||||
Purge,
|
||||
Reflect,
|
||||
Slow,
|
||||
Snare,
|
||||
Restrict,
|
||||
Stun,
|
||||
Intercept,
|
||||
Vulnerable,
|
||||
@@ -83,9 +83,9 @@ impl Effect {
|
||||
Skill::RuinI,
|
||||
Skill::RuinII,
|
||||
Skill::RuinIII,
|
||||
Skill::SnareI,
|
||||
Skill::SnareII,
|
||||
Skill::SnareIII
|
||||
Skill::RestrictI,
|
||||
Skill::RestrictII,
|
||||
Skill::RestrictIII
|
||||
].contains(&skill),
|
||||
_ => false,
|
||||
}
|
||||
@@ -101,7 +101,7 @@ impl Effect {
|
||||
Effect::Hex => true,
|
||||
Effect::Banish => true,
|
||||
Effect::Silence => skill.colours().contains(&Colour::Blue),
|
||||
Effect::Snare => skill.colours().contains(&Colour::Red),
|
||||
Effect::Restrict => skill.colours().contains(&Colour::Red),
|
||||
Effect::Purge => skill.colours().contains(&Colour::Green),
|
||||
Effect::Ko => skill.ko_castable(),
|
||||
_ => false,
|
||||
@@ -168,7 +168,7 @@ impl Effect {
|
||||
Effect::Buff => Some(Colour::Green),
|
||||
Effect::Counter => Some(Colour::Green),
|
||||
Effect::Vulnerable => Some(Colour::Red),
|
||||
Effect::Snare => Some(Colour::Red),
|
||||
Effect::Restrict => Some(Colour::Red),
|
||||
Effect::Clutch => Some(Colour::Green),
|
||||
Effect::Intercept => Some(Colour::Green),
|
||||
|
||||
|
||||
+18
-18
@@ -160,9 +160,9 @@ pub enum Item {
|
||||
SleepI,
|
||||
SleepII,
|
||||
SleepIII,
|
||||
SnareI,
|
||||
SnareII,
|
||||
SnareIII,
|
||||
RestrictI,
|
||||
RestrictII,
|
||||
RestrictIII,
|
||||
StrikeI,
|
||||
StrikeII,
|
||||
StrikeIII,
|
||||
@@ -368,9 +368,9 @@ impl Item {
|
||||
Item::SiphonI => Some(Skill::SiphonI),
|
||||
Item::SiphonII => Some(Skill::SiphonII),
|
||||
Item::SiphonIII => Some(Skill::SiphonIII),
|
||||
Item::SnareI => Some(Skill::SnareI),
|
||||
Item::SnareII => Some(Skill::SnareII),
|
||||
Item::SnareIII => Some(Skill::SnareIII),
|
||||
Item::RestrictI => Some(Skill::RestrictI),
|
||||
Item::RestrictII => Some(Skill::RestrictII),
|
||||
Item::RestrictIII => Some(Skill::RestrictIII),
|
||||
Item::BashI => Some(Skill::BashI),
|
||||
Item::BashII => Some(Skill::BashII),
|
||||
Item::BashIII => Some(Skill::BashIII),
|
||||
@@ -732,9 +732,9 @@ impl Item {
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::SnareI |
|
||||
Item::SnareII |
|
||||
Item::SnareIII => format!(
|
||||
Item::RestrictI |
|
||||
Item::RestrictII |
|
||||
Item::RestrictIII => format!(
|
||||
"Block the target from using red skills for {:?}T and deals RedDamage {:?}% RedPower. {}",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier(),
|
||||
@@ -806,9 +806,9 @@ impl Item {
|
||||
Item::AmplifyII => vec![Item::AmplifyI, Item::AmplifyI, Item::AmplifyI],
|
||||
Item::AmplifyIII => vec![Item::AmplifyII, Item::AmplifyII, Item::AmplifyII],
|
||||
|
||||
Item::SnareI => vec![Item::Debuff, Item::Red, Item::Red],
|
||||
Item::SnareII => vec![Item::SnareI, Item::SnareI, Item::SnareI],
|
||||
Item::SnareIII => vec![Item::SnareII, Item::SnareII, Item::SnareII],
|
||||
Item::RestrictI => vec![Item::Debuff, Item::Red, Item::Red],
|
||||
Item::RestrictII => vec![Item::RestrictI, Item::RestrictI, Item::RestrictI],
|
||||
Item::RestrictIII => vec![Item::RestrictII, Item::RestrictII, Item::RestrictII],
|
||||
Item::PurgeI => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
||||
Item::PurgeII => vec![Item::PurgeI, Item::PurgeI, Item::PurgeI], // Needs flavour
|
||||
Item::PurgeIII => vec![Item::PurgeII, Item::PurgeII, Item::PurgeII], // Needs flavour
|
||||
@@ -1030,9 +1030,9 @@ impl From<Skill> for Item {
|
||||
Skill::SleepI => Item::SleepI,
|
||||
Skill::SleepII => Item::SleepII,
|
||||
Skill::SleepIII => Item::SleepIII,
|
||||
Skill::SnareI => Item::SnareI,
|
||||
Skill::SnareII => Item::SnareII,
|
||||
Skill::SnareIII => Item::SnareIII,
|
||||
Skill::RestrictI => Item::RestrictI,
|
||||
Skill::RestrictII => Item::RestrictII,
|
||||
Skill::RestrictIII => Item::RestrictIII,
|
||||
Skill::BashI => Item::BashI,
|
||||
Skill::BashII => Item::BashII,
|
||||
Skill::BashIII => Item::BashIII,
|
||||
@@ -1183,9 +1183,9 @@ pub fn get_combos() -> Vec<Combo> {
|
||||
Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII },
|
||||
Combo { components: Item::AmplifyIII.combo(), item: Item::AmplifyIII },
|
||||
|
||||
Combo { components: Item::SnareI.combo(), item: Item::SnareI },
|
||||
Combo { components: Item::SnareII.combo(), item: Item::SnareII },
|
||||
Combo { components: Item::SnareIII.combo(), item: Item::SnareIII },
|
||||
Combo { components: Item::RestrictI.combo(), item: Item::RestrictI },
|
||||
Combo { components: Item::RestrictII.combo(), item: Item::RestrictII },
|
||||
Combo { components: Item::RestrictIII.combo(), item: Item::RestrictIII },
|
||||
Combo { components: Item::PurgeI.combo(), item: Item::PurgeI }, // Needs flavour
|
||||
Combo { components: Item::PurgeII.combo(), item: Item::PurgeII },
|
||||
Combo { components: Item::PurgeIII.combo(), item: Item::PurgeIII },
|
||||
|
||||
+16
-16
@@ -235,9 +235,9 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
|
||||
Skill::SleepII |
|
||||
Skill::SleepIII => sleep(source, target, resolutions, skill), // heal stun
|
||||
|
||||
Skill::SnareI |
|
||||
Skill::SnareII |
|
||||
Skill::SnareIII => snare(source, target, resolutions, skill),
|
||||
Skill::RestrictI |
|
||||
Skill::RestrictII |
|
||||
Skill::RestrictIII => restrict(source, target, resolutions, skill),
|
||||
|
||||
Skill::StrikeI |
|
||||
Skill::StrikeII |
|
||||
@@ -610,9 +610,9 @@ pub enum Skill {
|
||||
SleepII,
|
||||
SleepIII,
|
||||
|
||||
SnareI,
|
||||
SnareII,
|
||||
SnareIII,
|
||||
RestrictI,
|
||||
RestrictII,
|
||||
RestrictIII,
|
||||
|
||||
StrikeI,
|
||||
StrikeII,
|
||||
@@ -704,9 +704,9 @@ impl Skill {
|
||||
Skill::SilenceI => 55, // Deals more per blue skill on target
|
||||
Skill::SilenceII => 80,
|
||||
Skill::SilenceIII => 110,
|
||||
Skill::SnareI => 40, // Deals more per red skill on target
|
||||
Skill::SnareII => 65,
|
||||
Skill::SnareIII => 100,
|
||||
Skill::RestrictI => 40, // Deals more per red skill on target
|
||||
Skill::RestrictII => 65,
|
||||
Skill::RestrictIII => 100,
|
||||
|
||||
// Buff base
|
||||
Skill::HybridBlast => 25,
|
||||
@@ -857,9 +857,9 @@ impl Skill {
|
||||
Skill::SleepII => vec![ConstructEffect {effect: Effect::Stun, duration: 3, meta: None, tick: None}],
|
||||
Skill::SleepIII => vec![ConstructEffect {effect: Effect::Stun, duration: 4, meta: None, tick: None}],
|
||||
|
||||
Skill::SnareI => vec![ConstructEffect {effect: Effect::Snare, duration: 2, meta: None, tick: None}],
|
||||
Skill::SnareII => vec![ConstructEffect {effect: Effect::Snare, duration: 3, meta: None, tick: None}],
|
||||
Skill::SnareIII => vec![ConstructEffect {effect: Effect::Snare, duration: 4, meta: None, tick: None}],
|
||||
Skill::RestrictI => vec![ConstructEffect {effect: Effect::Restrict, duration: 2, meta: None, tick: None}],
|
||||
Skill::RestrictII => vec![ConstructEffect {effect: Effect::Restrict, duration: 3, meta: None, tick: None}],
|
||||
Skill::RestrictIII => vec![ConstructEffect {effect: Effect::Restrict, duration: 4, meta: None, tick: None}],
|
||||
|
||||
Skill::BashI => vec![ConstructEffect {effect: Effect::Stun, duration: 2,
|
||||
meta: Some(EffectMeta::Skill(Skill::BashI)), tick: None}],
|
||||
@@ -899,9 +899,9 @@ impl Skill {
|
||||
Skill::CounterII |
|
||||
Skill::CounterIII => Some(2), // avoid all damage
|
||||
|
||||
Skill::SnareI => Some(2),
|
||||
Skill::SnareII => Some(2),
|
||||
Skill::SnareIII => Some(2),
|
||||
Skill::RestrictI => Some(2),
|
||||
Skill::RestrictII => Some(2),
|
||||
Skill::RestrictIII => Some(2),
|
||||
Skill::Stun => Some(2),
|
||||
|
||||
Skill::BashI => Some(2),
|
||||
@@ -1340,7 +1340,7 @@ fn riposte(source: &mut Construct, target: &mut Construct, mut results: Resoluti
|
||||
return results;
|
||||
}
|
||||
|
||||
fn snare(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
fn restrict(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
skill.effect().into_iter()
|
||||
.for_each(|e| (results.push(Resolution::new(source, target).event(target.add_effect(skill, e)))));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user