Merge branch 'develop' into face-imgs
This commit is contained in:
@@ -100,13 +100,13 @@ impl Effect {
|
||||
pub fn modifications(&self) -> Vec<Stat> {
|
||||
match self {
|
||||
Effect::Vulnerable => vec![Stat::RedDamageTaken],
|
||||
Effect::Block => vec![Stat::RedDamageTaken],
|
||||
Effect::Buff => vec![Stat::RedPower, Stat::Speed],
|
||||
Effect::Block => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
||||
Effect::Buff => vec![Stat::BluePower, Stat::RedPower, Stat::Speed],
|
||||
|
||||
Effect::Absorption => vec![Stat::RedPower, Stat::BluePower],
|
||||
|
||||
Effect::Amplify => vec![Stat::RedPower, Stat::BluePower],
|
||||
Effect::Curse => vec![Stat::BlueDamageTaken],
|
||||
Effect::Curse => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
||||
|
||||
Effect::Hybrid => vec![Stat::GreenPower],
|
||||
Effect::Wither => vec![Stat::GreenDamageTaken],
|
||||
|
||||
+69
-40
@@ -584,26 +584,31 @@ impl Item {
|
||||
pub fn into_description(&self) -> String {
|
||||
match self {
|
||||
// colours
|
||||
Item::Blue => format!("Combine with skills and specs to create upgraded items. \n Deterrents and destruction."),
|
||||
Item::Green => format!("Combine with skills and specs to create upgraded items.\n Protection and trickery."),
|
||||
Item::Red => format!("Combine with skills and specs to create upgraded items. \n Speed and chaos."),
|
||||
Item::Blue => format!("Combine two colours with a white base item to create a new combo. \n Slow speed, magical type. Deterrents and destruction."),
|
||||
Item::Green => format!("Combine two colours with a white base item to create a new combo.\n Normal speed, healing type. Protection and trickery."),
|
||||
Item::Red => format!("Combine two colours with a white base item to create a new combo. \n Fast speed, physical type. Chaos and momentum."),
|
||||
|
||||
// base skills
|
||||
Item::Attack => format!("Deal {:?}% RedPower as red damage.",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
Item::Block => format!("Reduce red damage taken by {:?}%.",
|
||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier()),
|
||||
Item::Block => format!("Reduce red damage and blue damage taken by {:?}%. Block lasts {:?}T",
|
||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
|
||||
Item::Stun => format!("Stun target construct for {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
Item::Buff => format!("Increase target construct RedPower and SpeedStat by {:?}%.",
|
||||
self.into_skill().unwrap().effect()[0].get_multiplier() - 100),
|
||||
Item::Debuff => format!("Slows the target reducing SpeedStat by {:?}%.",
|
||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier()),
|
||||
Item::Buff => format!("Increase target construct RedPower BluePower SpeedStat by {:?}%. Buff lasts {:?}T",
|
||||
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Debuff => format!("Slows the target reducing SpeedStat by {:?}%. Debuff lasts {:?}T",
|
||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
// specs
|
||||
// Base
|
||||
Item::Power => format!("Increases all power stats by {:?}%. Power determines the base damage and healing of your construct skills.",
|
||||
Item::Power => format!("Increases all power stats by {:?}%.
|
||||
Power determines the base damage and healing of your construct skills.",
|
||||
self.into_spec().unwrap().values().base()),
|
||||
Item::Life => format!("Increases construct GreenLife by {:?}.
|
||||
When your construct reaches 0 GreenLife it is knocked out and cannot cast skills.",
|
||||
@@ -713,7 +718,8 @@ impl Item {
|
||||
|
||||
Item::Banish|
|
||||
Item::BanishPlus |
|
||||
Item::BanishPlusPlus => format!("Banish target for {:?}T. Deal blue damage and red damage equal to {:?}% target red and blue life.
|
||||
Item::BanishPlusPlus => format!("Banish target for {:?}T.
|
||||
Deal blue damage and red damage equal to {:?}% target red and blue life.
|
||||
Banished constructs are immune to all skills and effects.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
@@ -725,20 +731,24 @@ impl Item {
|
||||
Item::Chaos|
|
||||
Item::ChaosPlus |
|
||||
Item::ChaosPlusPlus => format!(
|
||||
"Hits twice for red and blue damage. Damage {:?}% RedPower and BluePower. Randomly deals 0 to 30% more damage.",
|
||||
"Hits twice for red and blue damage. Damage {:?}% RedPower and BluePower.
|
||||
Randomly deals 0 to 30% more damage.",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Sustain|
|
||||
Item::SustainPlus |
|
||||
Item::SustainPlusPlus => format!("Construct cannot be KO'd while active. Additionally provides immunity to disables. \
|
||||
Lasts {:?}T",
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
Item::SustainPlusPlus => format!(
|
||||
"Construct cannot be KO'd while active and provides immunity to disables. Lasts {:?}T.
|
||||
Recharges target RedLife based on {:?}% RedPower.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Electrify|
|
||||
Item::ElectrifyPlus |
|
||||
Item::ElectrifyPlusPlus => format!(
|
||||
"Applies electrify for {:?}T. If a construct with electrify takes damage they will apply an electrocute debuff to the caster dealing {:?}% \
|
||||
BluePower as BlueDamage per turn for {:?}T.",
|
||||
"Applies electrify for {:?}T.
|
||||
If a construct with electrify takes direct damage they will apply an electrocute debuff to the caster.
|
||||
Electrocute deals {:?}% BluePower as BlueDamage per turn for {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().effect()[0].get_duration()),
|
||||
@@ -753,7 +763,8 @@ impl Item {
|
||||
Item::Decay|
|
||||
Item::DecayPlus |
|
||||
Item::DecayPlusPlus => format!(
|
||||
"Reduces healing taken by {:?}% for {:?}T. Deals blue damage {:?}% BluePower each turn for {:?}T.",
|
||||
"Reduces healing taken by {:?}% for {:?}T.
|
||||
Deals blue damage {:?}% BluePower each turn for {:?}T.",
|
||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().effect()[1].get_skill().unwrap().multiplier(),
|
||||
@@ -762,17 +773,20 @@ impl Item {
|
||||
Item::Absorb|
|
||||
Item::AbsorbPlus |
|
||||
Item::AbsorbPlusPlus => format!(
|
||||
"Gain Absorb for {:?}T. {} Absorption lasts {:?}T.",
|
||||
"Gain Absorb for {:?}T. When attacked with Absorb you gain Absorption.
|
||||
Absorption increases RedPower and BluePower based on Damage taken.
|
||||
Absorption lasts {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
"When attacked with Absorb you gain Absorption which increases RedPower and BluePower based on Damage taken.",
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Haste|
|
||||
Item::HastePlus |
|
||||
Item::HastePlusPlus => format!(
|
||||
"Haste increases SpeedStat by {:?}%, Red Attack based skills will strike again dealing {:?}% SpeedStat as red damage. Lasts {:?}T",
|
||||
"Haste increases SpeedStat by {:?}%.
|
||||
Red Attack based skills will strike again dealing {:?}% SpeedStat as red damage.
|
||||
Lasts {:?}T",
|
||||
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
|
||||
Skill::HasteStrike.multiplier(),
|
||||
Skill::HasteStrike.multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Heal|
|
||||
@@ -782,7 +796,9 @@ impl Item {
|
||||
Item::Hybrid|
|
||||
Item::HybridPlus |
|
||||
Item::HybridPlusPlus => format!(
|
||||
"Hybrid increases GreenPower by {:?}%, Blue based Attack skills will blast again dealing {:?}% GreenPower as blue damage. Lasts {:?}T.",
|
||||
"Hybrid increases GreenPower by {:?}%.
|
||||
Blue based Attack skills will blast again dealing {:?}% GreenPower as blue damage.
|
||||
Lasts {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
|
||||
Skill::HybridBlast.multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
@@ -790,20 +806,25 @@ impl Item {
|
||||
Item::Invert|
|
||||
Item::InvertPlus |
|
||||
Item::InvertPlusPlus => format!(
|
||||
"Reverse healing into damage and damage into healing. Any excess red or blue damage is converted into shield recharge. Lasts {:?}T.",
|
||||
"Reverse healing into damage and damage into healing.
|
||||
Any excess red or blue damage is converted into shield recharge.
|
||||
Lasts {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Counter|
|
||||
Item::CounterPlus |
|
||||
Item::CounterPlusPlus => format!("Applies counter and block {:?}T. Block reduces incoming red damage by {:?}%.
|
||||
Red damage taken during counter will trigger a counter attack dealing {:?}% RedPower as red damage.",
|
||||
Item::CounterPlusPlus => format!(
|
||||
"Applies counter for {:?}T.
|
||||
Red damage taken during counter will trigger a counter attack.
|
||||
Counter attack deals {:?}% RedPower as red damage.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
100 - self.into_skill().unwrap().effect()[1].get_multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Purge|
|
||||
Item::PurgePlus |
|
||||
Item::PurgePlusPlus => format!("Remove buffs from target construct. Applies purge disabling target green skills for {:?}T.",
|
||||
Item::PurgePlusPlus => format!(
|
||||
"Remove buffs from target construct.
|
||||
Applies purge disabling target green skills for {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Purify|
|
||||
@@ -815,8 +836,10 @@ impl Item {
|
||||
Item::Reflect|
|
||||
Item::ReflectPlus |
|
||||
Item::ReflectPlusPlus => format!(
|
||||
"Reflect incoming blue skills to source. Lasts {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
"Reflect incoming blue skills to source. Lasts {:?}T.
|
||||
Recharges target BlueLife based on {:?}% BluePower.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Recharge|
|
||||
Item::RechargePlus |
|
||||
@@ -833,8 +856,8 @@ impl Item {
|
||||
Item::Link|
|
||||
Item::LinkPlus |
|
||||
Item::LinkPlusPlus => format!(
|
||||
"Form a link with target swapping relative life values.
|
||||
If the target construct has more green life than caster, {:?}% of green life difference as blue damage to the target and heal to the caster.
|
||||
"Swap {:?}% of green life difference as blue damage to the target and healing to the caster.
|
||||
The swap only occurs if the target construct has more green life than caster.
|
||||
Stuns caster for {:?}T in the process.",
|
||||
self.into_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
@@ -842,7 +865,7 @@ impl Item {
|
||||
Item::Silence|
|
||||
Item::SilencePlus |
|
||||
Item::SilencePlusPlus => format!(
|
||||
"Block the target from using blue skills for {:?}T and deals {:?}% BluePower as blue damage.
|
||||
"Disable the target from using blue skills for {:?}T and deals {:?}% BluePower as blue damage.
|
||||
Deals 45% more Damage per blue skill on target.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
@@ -850,7 +873,8 @@ impl Item {
|
||||
Item::Slay|
|
||||
Item::SlayPlus |
|
||||
Item::SlayPlusPlus => format!(
|
||||
"Deals {:?}% RedPower + {:?}% GreenPower as red damage and provides self healing based on damage dealt.",
|
||||
"Deals {:?}% RedPower + {:?}% GreenPower as red damage.
|
||||
Construct heals self for 50% of damage dealt to target construct GreenLife.",
|
||||
self.into_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
@@ -864,7 +888,8 @@ impl Item {
|
||||
Item::Restrict|
|
||||
Item::RestrictPlus |
|
||||
Item::RestrictPlusPlus => format!(
|
||||
"Block the target from using red skills for {:?}T and deals {:?}% RedPower as red damage. Deals 35% more damage per red skill on target.",
|
||||
"Disable the target from using red skills for {:?}T and deals {:?}% RedPower as red damage.
|
||||
Deals 35% more damage per red skill on target.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
@@ -872,7 +897,8 @@ impl Item {
|
||||
Item::BashPlus |
|
||||
Item::BashPlusPlus => format!(
|
||||
"Bash the target increasing the cooldowns of target skills by 1T.
|
||||
Deals {:?}% RedPower as red damage and 45% more damage per cooldown increased. Stuns for {:?}T.",
|
||||
Deals {:?}% RedPower as red damage and 45% more damage per cooldown increased.
|
||||
Stuns for {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
@@ -885,14 +911,17 @@ impl Item {
|
||||
Item::Siphon|
|
||||
Item::SiphonPlus |
|
||||
Item::SiphonPlusPlus => format!(
|
||||
"Deals {:?}% BluePower + {:?}% GreenPower as blue damage each turn and heals caster based on damage dealt. Lasts {:?}T.",
|
||||
"Deals {:?}% BluePower + {:?}% GreenPower as blue damage each turn.
|
||||
Construct heals self for 100% of damage dealt to target construct GreenLife.
|
||||
Lasts {:?}T.",
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||
|
||||
Item::Intercept|
|
||||
Item::InterceptPlus |
|
||||
Item::InterceptPlusPlus => format!("Intercept redirects skills against the team to target, lasts {:?}T.\
|
||||
Item::InterceptPlusPlus => format!(
|
||||
"Intercept redirects skills against the team to target, lasts {:?}T.
|
||||
Recharges RedLife for {:?} RedPower.",
|
||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
@@ -936,10 +965,10 @@ impl Item {
|
||||
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
||||
|
||||
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
||||
Item::Invert => vec![Item::Debuff, Item::Red, Item::Blue],
|
||||
Item::Invert => vec![Item::Debuff, Item::Red, Item::Green],
|
||||
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
||||
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
||||
Item::Curse => vec![Item::Debuff, Item::Red, Item::Green],
|
||||
Item::Curse => vec![Item::Debuff, Item::Red, Item::Blue],
|
||||
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
||||
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
||||
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
||||
|
||||
+49
-56
@@ -342,7 +342,7 @@ fn post_resolve(_skill: Skill, game: &mut Game, mut resolutions: Resolutions) ->
|
||||
};
|
||||
|
||||
if target.is_ko() {
|
||||
resolutions.push(Resolution::new(&source, &target).event(Event::Ko()).stages(EventStages::PostOnly));
|
||||
// resolutions.push(Resolution::new(&source, &target).event(Event::Ko()).stages(EventStages::PostOnly));
|
||||
target.effects.clear();
|
||||
}
|
||||
|
||||
@@ -753,9 +753,9 @@ impl Skill {
|
||||
// Attack Base
|
||||
Skill::Attack => 80, // Base
|
||||
|
||||
Skill::Blast=> 110, // BB
|
||||
Skill::BlastPlus => 145, // BB
|
||||
Skill::BlastPlusPlus => 210, // BB
|
||||
Skill::Blast=> 105, // BB
|
||||
Skill::BlastPlus => 140, // BB
|
||||
Skill::BlastPlusPlus => 200, // BB
|
||||
|
||||
Skill::Chaos=> 40, // BR
|
||||
Skill::ChaosPlus => 65, // BR
|
||||
@@ -765,13 +765,13 @@ impl Skill {
|
||||
Skill::HealPlus => 185, //GG
|
||||
Skill::HealPlusPlus => 270, //GG
|
||||
|
||||
Skill::SiphonTick=> 20, // GB
|
||||
Skill::SiphonTickPlus => 25,
|
||||
Skill::SiphonTickPlusPlus => 30,
|
||||
Skill::SiphonTick=> 25, // GB
|
||||
Skill::SiphonTickPlus => 30,
|
||||
Skill::SiphonTickPlusPlus => 40,
|
||||
|
||||
Skill::Slay=> 40, // RG
|
||||
Skill::SlayPlus => 60,
|
||||
Skill::SlayPlusPlus => 90,
|
||||
Skill::Slay=> 45, // RG
|
||||
Skill::SlayPlus => 65,
|
||||
Skill::SlayPlusPlus => 100,
|
||||
|
||||
Skill::Strike=> 90, //RR
|
||||
Skill::StrikePlus => 140,
|
||||
@@ -782,9 +782,9 @@ impl Skill {
|
||||
Skill::ElectrocuteTickPlus => 100,
|
||||
Skill::ElectrocuteTickPlusPlus => 130,
|
||||
|
||||
Skill::CounterAttack=> 70,
|
||||
Skill::CounterAttackPlus => 95,
|
||||
Skill::CounterAttackPlusPlus => 120,
|
||||
Skill::CounterAttack=> 120,
|
||||
Skill::CounterAttackPlus => 160,
|
||||
Skill::CounterAttackPlusPlus => 230,
|
||||
|
||||
Skill::Purify=> 45, //Green dmg (heal)
|
||||
Skill::PurifyPlus => 70,
|
||||
@@ -803,18 +803,21 @@ impl Skill {
|
||||
Skill::SustainPlusPlus => 230,
|
||||
|
||||
// Stun Base
|
||||
Skill::Sleep=> 240, //Green dmg (heal)
|
||||
Skill::SleepPlus => 300,
|
||||
Skill::Sleep=> 200, //Green dmg (heal)
|
||||
Skill::SleepPlus => 290,
|
||||
Skill::SleepPlusPlus => 400,
|
||||
|
||||
Skill::Banish=> 40, //Green dmg (heal)
|
||||
Skill::BanishPlus => 75,
|
||||
Skill::BanishPlusPlus => 125,
|
||||
|
||||
Skill::Bash=> 65,
|
||||
Skill::BashPlus => 95,
|
||||
Skill::BashPlusPlus => 140,
|
||||
Skill::Bash=> 45,
|
||||
Skill::BashPlus => 65,
|
||||
Skill::BashPlusPlus => 100,
|
||||
|
||||
Skill::Link=> 75,
|
||||
Skill::LinkPlus => 100,
|
||||
Skill::LinkPlusPlus => 150,
|
||||
// Debuff Base
|
||||
Skill::DecayTick=> 33,
|
||||
Skill::DecayTickPlus => 45,
|
||||
@@ -827,14 +830,14 @@ impl Skill {
|
||||
Skill::RestrictPlusPlus => 100,
|
||||
|
||||
// Buff base
|
||||
Skill::HybridBlast => 25,
|
||||
Skill::HasteStrike => 30,
|
||||
Skill::Link=> 75,
|
||||
Skill::LinkPlus => 100,
|
||||
Skill::LinkPlusPlus => 150,
|
||||
Skill::HybridBlast => 50,
|
||||
|
||||
Skill::HasteStrike => 60,
|
||||
|
||||
Skill::Intercept=> 80,
|
||||
Skill::InterceptPlus => 110,
|
||||
Skill::InterceptPlusPlus => 150,
|
||||
|
||||
Skill::TriageTick=> 75,
|
||||
Skill::TriageTickPlus => 110,
|
||||
Skill::TriageTickPlusPlus => 140,
|
||||
@@ -857,9 +860,9 @@ impl Skill {
|
||||
Skill::BanishPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 2, meta: None, tick: None}],
|
||||
Skill::BanishPlusPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 2, meta: None, tick: None}],
|
||||
Skill::Block => vec![ConstructEffect {effect: Effect::Block, duration: 1,
|
||||
meta: Some(EffectMeta::Multiplier(50)), tick: None}],
|
||||
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2,
|
||||
meta: Some(EffectMeta::Multiplier(125)), tick: None }],
|
||||
meta: Some(EffectMeta::Multiplier(35)), tick: None}],
|
||||
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 3,
|
||||
meta: Some(EffectMeta::Multiplier(130)), tick: None }],
|
||||
|
||||
Skill::Electrify => vec![ConstructEffect {effect: Effect::Electric, duration: 1,
|
||||
meta: Some(EffectMeta::Skill(Skill::Electrocute)), tick: None}],
|
||||
@@ -901,11 +904,11 @@ impl Skill {
|
||||
ConstructEffect {effect: Effect::Decay, duration: 4,
|
||||
meta: Some(EffectMeta::Skill(Skill::DecayTickPlusPlus)), tick: None}],
|
||||
|
||||
Skill::Haste => vec![ConstructEffect {effect: Effect::Haste, duration: 2,
|
||||
Skill::Haste => vec![ConstructEffect {effect: Effect::Haste, duration: 3,
|
||||
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
|
||||
Skill::HastePlus => vec![ConstructEffect {effect: Effect::Haste, duration: 3,
|
||||
Skill::HastePlus => vec![ConstructEffect {effect: Effect::Haste, duration: 4,
|
||||
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
|
||||
Skill::HastePlusPlus => vec![ConstructEffect {effect: Effect::Haste, duration: 4,
|
||||
Skill::HastePlusPlus => vec![ConstructEffect {effect: Effect::Haste, duration: 5,
|
||||
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
|
||||
|
||||
Skill::Absorb => vec![ConstructEffect {effect: Effect::Absorb, duration: 2,
|
||||
@@ -919,11 +922,11 @@ impl Skill {
|
||||
Skill::AbsorptionPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 5, meta: None, tick: None}],
|
||||
Skill::AbsorptionPlusPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 7, meta: None, tick: None}],
|
||||
|
||||
Skill::Hybrid => vec![ConstructEffect {effect: Effect::Hybrid, duration: 2,
|
||||
Skill::Hybrid => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
|
||||
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
|
||||
Skill::HybridPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
|
||||
Skill::HybridPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
|
||||
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
|
||||
Skill::HybridPlusPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
|
||||
Skill::HybridPlusPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 5,
|
||||
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
|
||||
|
||||
Skill::Invert => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
|
||||
@@ -931,17 +934,11 @@ impl Skill {
|
||||
Skill::InvertPlusPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 4, meta: None, tick: None}],
|
||||
|
||||
Skill::Counter => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
||||
meta: Some(EffectMeta::Skill(Skill::CounterAttack)), tick: None},
|
||||
ConstructEffect {effect: Effect::Block, duration: 1,
|
||||
meta: Some(EffectMeta::Multiplier(60)), tick: None}],
|
||||
meta: Some(EffectMeta::Skill(Skill::CounterAttack)), tick: None}],
|
||||
Skill::CounterPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
||||
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlus)), tick: None},
|
||||
ConstructEffect {effect: Effect::Block, duration: 1,
|
||||
meta: Some(EffectMeta::Multiplier(40)), tick: None}],
|
||||
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlus)), tick: None}],
|
||||
Skill::CounterPlusPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
||||
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlusPlus)), tick: None},
|
||||
ConstructEffect {effect: Effect::Block, duration: 1,
|
||||
meta: Some(EffectMeta::Multiplier(20)), tick: None}],
|
||||
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlusPlus)), tick: None}],
|
||||
|
||||
Skill::Reflect => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, tick: None }],
|
||||
Skill::ReflectPlus => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, tick: None }],
|
||||
@@ -1060,7 +1057,7 @@ impl Skill {
|
||||
Skill::AmplifyPlusPlus => Some(1),
|
||||
Skill::Hybrid|
|
||||
Skill::HybridPlus |
|
||||
Skill::HybridPlusPlus => Some(3),
|
||||
Skill::HybridPlusPlus => Some(1),
|
||||
|
||||
Skill::Invert=> Some(2),
|
||||
Skill::InvertPlus => Some(2),
|
||||
@@ -1080,7 +1077,7 @@ impl Skill {
|
||||
Skill::LinkPlus => Some(2),
|
||||
Skill::LinkPlusPlus => Some(2),
|
||||
|
||||
Skill::Silence=> Some(3),
|
||||
Skill::Silence=> Some(2),
|
||||
Skill::SilencePlus => Some(2),
|
||||
Skill::SilencePlusPlus => Some(2),
|
||||
|
||||
@@ -1094,11 +1091,11 @@ impl Skill {
|
||||
|
||||
Skill::Banish |
|
||||
Skill::BanishPlus |
|
||||
Skill::BanishPlusPlus => Some(3),
|
||||
Skill::BanishPlusPlus => Some(2),
|
||||
|
||||
Skill::Haste=> Some(2),
|
||||
Skill::HastePlus => Some(2),
|
||||
Skill::HastePlusPlus => Some(2),
|
||||
Skill::Haste=> Some(1),
|
||||
Skill::HastePlus => Some(1),
|
||||
Skill::HastePlusPlus => Some(1),
|
||||
|
||||
Skill::Reflect |
|
||||
Skill::ReflectPlus |
|
||||
@@ -1116,9 +1113,9 @@ impl Skill {
|
||||
Skill::SlayPlus => None,
|
||||
Skill::SlayPlusPlus => None,
|
||||
|
||||
Skill::Sleep=> Some(3),
|
||||
Skill::SleepPlus => Some(3),
|
||||
Skill::SleepPlusPlus => Some(3),
|
||||
Skill::Sleep=> Some(2),
|
||||
Skill::SleepPlus => Some(2),
|
||||
Skill::SleepPlusPlus => Some(2),
|
||||
|
||||
Skill::Sustain |
|
||||
Skill::SustainPlus |
|
||||
@@ -1445,10 +1442,6 @@ fn counter(source: &mut Construct, target: &mut Construct, mut results: Resoluti
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(target.add_effect(skill, skill.effect()[0])));
|
||||
|
||||
results.push(Resolution::new(source, target)
|
||||
.event(target.add_effect(skill, skill.effect()[1]))
|
||||
.stages(EventStages::PostOnly));
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
@@ -1456,7 +1449,7 @@ fn counter_attack(source: &mut Construct, target: &mut Construct, mut results: R
|
||||
let amount = source.red_power().pct(skill.multiplier());
|
||||
target.deal_red_damage(skill, amount)
|
||||
.into_iter()
|
||||
.for_each(|e| results.push(Resolution::new(source, target).event(e).stages(EventStages::StartPost)));
|
||||
.for_each(|e| results.push(Resolution::new(source, target).event(e)));
|
||||
|
||||
return results;
|
||||
}
|
||||
@@ -1489,7 +1482,7 @@ fn slay(source: &mut Construct, target: &mut Construct, mut results: Resolutions
|
||||
match e {
|
||||
Event::Damage { amount, mitigation: _, colour: _, skill: _ } => {
|
||||
results.push(Resolution::new(source, target).event(e));
|
||||
let heal = source.deal_green_damage(skill, amount);
|
||||
let heal = source.deal_green_damage(skill, amount.pct(50));
|
||||
for h in heal {
|
||||
results.push(Resolution::new(source, source).event(h).stages(EventStages::PostOnly));
|
||||
};
|
||||
|
||||
+1
-1
@@ -169,7 +169,7 @@ impl Vbox {
|
||||
let combo = combos.iter().find(|c| c.components == input).ok_or(err_msg("not a combo"))?;
|
||||
|
||||
self.bound.push(combo.item);
|
||||
self.bound.sort_unstable();
|
||||
// self.bound.sort_unstable();
|
||||
|
||||
Ok(self)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user