Merge branch 'develop' into face-imgs

This commit is contained in:
ntr
2019-10-31 17:37:38 +11:00
65 changed files with 1573 additions and 1185 deletions
+3 -3
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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)
}