skill rebalance

This commit is contained in:
Mashy 2019-10-29 11:31:07 +10:00
parent 861cc63682
commit b30c4463fa
4 changed files with 98 additions and 50 deletions

View File

@ -2,6 +2,61 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [1.6.7] - 2019-10-27
# Added
- Step by step tutorial
- Will activate during the learn game for the first round
- There is a button which will exit tutorial so you can continune the normal practice mode
- Skill combo previews
- You can now preview what item combos will create!
- Click into the item in the info section table (top right) and it will be replaced with the new item
# Changed
- Vbox phase
- Made general performance improvements
- Removed the default info state (should be smoother to navigate now)
- When combining or selecting base items (skills/specs) the base item info won't be replaced with other vbox items
- Added info text for construct names and avatars
- Changed a number of info descriptions for clarity
- Game phase
- Made general performance improvements
- Now has default tutorial text for the first round
- Will tell the player to select skills and then the targets
# Skill Balance Updates
- Buff
- Previously increased red power and speed stat by 25%
- Now increases red power, blue power and speed stat by 30%
- Block
- Previously reduced red damage taken by 50%
- Now reduces red damage and blue damage taken by 65%
- Counter
- No longer applies block effect
- CounterAttack multiplier increased from 70/95/120 -> 120/160/230
- Haste
- Cooldown reduced to 1T (was 2T)
- Sleep
- Cooldown reduced to 2T (was 3T)
- Skill multiplier reduced from 240/300/400 -> 200/290/400
- Hybrid
- Cooldown reduced to 1T (was 3T)
- Silence
- Cooldown reduced to 2T (was 3T)
- Banish
- Cooldown reduced to 2T (was 3T)
- Siphon
- Skill multiplier increased from 20/25/30 -> 25/30/40
- Bash
- Skill multiplier reduced from 65/95/140 -> 45/65/100
- Curse
- Now created by combining Debuff + RB was Debuff + RG
- Fixed issue where curse was only increasing blue damage taken instead of red and blue
- Invert
- Now created by combining Debuff + RG was debuff + RB
## [1.6.6] - 2019-10-27
# Added
- Offering of draws

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],

View File

@ -591,16 +591,20 @@ impl Item {
// 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 {:?}%.
@ -810,11 +814,10 @@ impl Item {
Item::Counter|
Item::CounterPlus |
Item::CounterPlusPlus => format!(
"Applies counter and block {:?}T. Block reduces incoming red damage by {:?}%.
"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|
@ -862,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()),
@ -885,7 +888,7 @@ impl Item {
Item::Restrict|
Item::RestrictPlus |
Item::RestrictPlusPlus => format!(
"Block the target from using red skills for {:?}T and deals {:?}% RedPower as red damage.
"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()),
@ -962,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],

View File

@ -765,9 +765,9 @@ 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,
@ -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,17 +803,17 @@ 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,
// Debuff Base
Skill::DecayTick=> 33,
@ -857,9 +857,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}],
meta: Some(EffectMeta::Multiplier(35)), tick: None}],
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2,
meta: Some(EffectMeta::Multiplier(125)), tick: None }],
meta: Some(EffectMeta::Multiplier(130)), tick: None }],
Skill::Electrify => vec![ConstructEffect {effect: Effect::Electric, duration: 1,
meta: Some(EffectMeta::Skill(Skill::Electrocute)), tick: None}],
@ -931,17 +931,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 +1054,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 +1074,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 +1088,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 +1110,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 +1439,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;
}