skill rebalance
This commit is contained in:
parent
861cc63682
commit
b30c4463fa
55
CHANGELOG.md
55
CHANGELOG.md
@ -2,6 +2,61 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
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
|
## [1.6.6] - 2019-10-27
|
||||||
# Added
|
# Added
|
||||||
- Offering of draws
|
- Offering of draws
|
||||||
|
|||||||
@ -100,13 +100,13 @@ impl Effect {
|
|||||||
pub fn modifications(&self) -> Vec<Stat> {
|
pub fn modifications(&self) -> Vec<Stat> {
|
||||||
match self {
|
match self {
|
||||||
Effect::Vulnerable => vec![Stat::RedDamageTaken],
|
Effect::Vulnerable => vec![Stat::RedDamageTaken],
|
||||||
Effect::Block => vec![Stat::RedDamageTaken],
|
Effect::Block => vec![Stat::RedDamageTaken, Stat::BlueDamageTaken],
|
||||||
Effect::Buff => vec![Stat::RedPower, Stat::Speed],
|
Effect::Buff => vec![Stat::BluePower, Stat::RedPower, Stat::Speed],
|
||||||
|
|
||||||
Effect::Absorption => vec![Stat::RedPower, Stat::BluePower],
|
Effect::Absorption => vec![Stat::RedPower, Stat::BluePower],
|
||||||
|
|
||||||
Effect::Amplify => 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::Hybrid => vec![Stat::GreenPower],
|
||||||
Effect::Wither => vec![Stat::GreenDamageTaken],
|
Effect::Wither => vec![Stat::GreenDamageTaken],
|
||||||
|
|||||||
@ -591,16 +591,20 @@ impl Item {
|
|||||||
// base skills
|
// base skills
|
||||||
Item::Attack => format!("Deal {:?}% RedPower as red damage.",
|
Item::Attack => format!("Deal {:?}% RedPower as red damage.",
|
||||||
self.into_skill().unwrap().multiplier()),
|
self.into_skill().unwrap().multiplier()),
|
||||||
Item::Block => format!("Reduce red damage taken by {:?}%.",
|
Item::Block => format!("Reduce red damage and blue damage taken by {:?}%. Block lasts {:?}T",
|
||||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier()),
|
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.",
|
Item::Stun => format!("Stun target construct for {:?}T.",
|
||||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||||
Item::Buff => format!("Increase target construct RedPower and SpeedStat by {:?}%.",
|
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_multiplier() - 100,
|
||||||
Item::Debuff => format!("Slows the target reducing SpeedStat by {:?}%.",
|
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||||
100 - self.into_skill().unwrap().effect()[0].get_multiplier()),
|
|
||||||
|
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
|
// specs
|
||||||
// Base
|
// Base
|
||||||
Item::Power => format!("Increases all power stats by {:?}%.
|
Item::Power => format!("Increases all power stats by {:?}%.
|
||||||
@ -810,11 +814,10 @@ impl Item {
|
|||||||
Item::Counter|
|
Item::Counter|
|
||||||
Item::CounterPlus |
|
Item::CounterPlus |
|
||||||
Item::CounterPlusPlus => format!(
|
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.
|
Red damage taken during counter will trigger a counter attack.
|
||||||
Counter attack deals {:?}% RedPower as red damage.",
|
Counter attack deals {:?}% RedPower as red damage.",
|
||||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
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()),
|
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier()),
|
||||||
|
|
||||||
Item::Purge|
|
Item::Purge|
|
||||||
@ -862,7 +865,7 @@ impl Item {
|
|||||||
Item::Silence|
|
Item::Silence|
|
||||||
Item::SilencePlus |
|
Item::SilencePlus |
|
||||||
Item::SilencePlusPlus => format!(
|
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.",
|
Deals 45% more Damage per blue skill on target.",
|
||||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||||
self.into_skill().unwrap().multiplier()),
|
self.into_skill().unwrap().multiplier()),
|
||||||
@ -885,7 +888,7 @@ impl Item {
|
|||||||
Item::Restrict|
|
Item::Restrict|
|
||||||
Item::RestrictPlus |
|
Item::RestrictPlus |
|
||||||
Item::RestrictPlusPlus => format!(
|
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.",
|
Deals 35% more damage per red skill on target.",
|
||||||
self.into_skill().unwrap().effect()[0].get_duration(),
|
self.into_skill().unwrap().effect()[0].get_duration(),
|
||||||
self.into_skill().unwrap().multiplier()),
|
self.into_skill().unwrap().multiplier()),
|
||||||
@ -962,10 +965,10 @@ impl Item {
|
|||||||
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
||||||
|
|
||||||
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
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::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
||||||
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
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::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
||||||
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
||||||
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
||||||
|
|||||||
@ -765,9 +765,9 @@ impl Skill {
|
|||||||
Skill::HealPlus => 185, //GG
|
Skill::HealPlus => 185, //GG
|
||||||
Skill::HealPlusPlus => 270, //GG
|
Skill::HealPlusPlus => 270, //GG
|
||||||
|
|
||||||
Skill::SiphonTick=> 20, // GB
|
Skill::SiphonTick=> 25, // GB
|
||||||
Skill::SiphonTickPlus => 25,
|
Skill::SiphonTickPlus => 30,
|
||||||
Skill::SiphonTickPlusPlus => 30,
|
Skill::SiphonTickPlusPlus => 40,
|
||||||
|
|
||||||
Skill::Slay=> 40, // RG
|
Skill::Slay=> 40, // RG
|
||||||
Skill::SlayPlus => 60,
|
Skill::SlayPlus => 60,
|
||||||
@ -782,9 +782,9 @@ impl Skill {
|
|||||||
Skill::ElectrocuteTickPlus => 100,
|
Skill::ElectrocuteTickPlus => 100,
|
||||||
Skill::ElectrocuteTickPlusPlus => 130,
|
Skill::ElectrocuteTickPlusPlus => 130,
|
||||||
|
|
||||||
Skill::CounterAttack=> 70,
|
Skill::CounterAttack=> 120,
|
||||||
Skill::CounterAttackPlus => 95,
|
Skill::CounterAttackPlus => 160,
|
||||||
Skill::CounterAttackPlusPlus => 120,
|
Skill::CounterAttackPlusPlus => 230,
|
||||||
|
|
||||||
Skill::Purify=> 45, //Green dmg (heal)
|
Skill::Purify=> 45, //Green dmg (heal)
|
||||||
Skill::PurifyPlus => 70,
|
Skill::PurifyPlus => 70,
|
||||||
@ -803,17 +803,17 @@ impl Skill {
|
|||||||
Skill::SustainPlusPlus => 230,
|
Skill::SustainPlusPlus => 230,
|
||||||
|
|
||||||
// Stun Base
|
// Stun Base
|
||||||
Skill::Sleep=> 240, //Green dmg (heal)
|
Skill::Sleep=> 200, //Green dmg (heal)
|
||||||
Skill::SleepPlus => 300,
|
Skill::SleepPlus => 290,
|
||||||
Skill::SleepPlusPlus => 400,
|
Skill::SleepPlusPlus => 400,
|
||||||
|
|
||||||
Skill::Banish=> 40, //Green dmg (heal)
|
Skill::Banish=> 40, //Green dmg (heal)
|
||||||
Skill::BanishPlus => 75,
|
Skill::BanishPlus => 75,
|
||||||
Skill::BanishPlusPlus => 125,
|
Skill::BanishPlusPlus => 125,
|
||||||
|
|
||||||
Skill::Bash=> 65,
|
Skill::Bash=> 45,
|
||||||
Skill::BashPlus => 95,
|
Skill::BashPlus => 65,
|
||||||
Skill::BashPlusPlus => 140,
|
Skill::BashPlusPlus => 100,
|
||||||
|
|
||||||
// Debuff Base
|
// Debuff Base
|
||||||
Skill::DecayTick=> 33,
|
Skill::DecayTick=> 33,
|
||||||
@ -857,9 +857,9 @@ impl Skill {
|
|||||||
Skill::BanishPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 2, meta: None, tick: None}],
|
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::BanishPlusPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 2, meta: None, tick: None}],
|
||||||
Skill::Block => vec![ConstructEffect {effect: Effect::Block, duration: 1,
|
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,
|
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,
|
Skill::Electrify => vec![ConstructEffect {effect: Effect::Electric, duration: 1,
|
||||||
meta: Some(EffectMeta::Skill(Skill::Electrocute)), tick: None}],
|
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::InvertPlusPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 4, meta: None, tick: None}],
|
||||||
|
|
||||||
Skill::Counter => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
Skill::Counter => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
||||||
meta: Some(EffectMeta::Skill(Skill::CounterAttack)), tick: None},
|
meta: Some(EffectMeta::Skill(Skill::CounterAttack)), tick: None}],
|
||||||
ConstructEffect {effect: Effect::Block, duration: 1,
|
|
||||||
meta: Some(EffectMeta::Multiplier(60)), tick: None}],
|
|
||||||
Skill::CounterPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
Skill::CounterPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
||||||
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlus)), tick: None},
|
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlus)), tick: None}],
|
||||||
ConstructEffect {effect: Effect::Block, duration: 1,
|
|
||||||
meta: Some(EffectMeta::Multiplier(40)), tick: None}],
|
|
||||||
Skill::CounterPlusPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
Skill::CounterPlusPlus => vec![ConstructEffect {effect: Effect::Counter, duration: 1,
|
||||||
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlusPlus)), tick: None},
|
meta: Some(EffectMeta::Skill(Skill::CounterAttackPlusPlus)), tick: None}],
|
||||||
ConstructEffect {effect: Effect::Block, duration: 1,
|
|
||||||
meta: Some(EffectMeta::Multiplier(20)), tick: None}],
|
|
||||||
|
|
||||||
Skill::Reflect => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, 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 }],
|
Skill::ReflectPlus => vec![ConstructEffect {effect: Effect::Reflect, duration: 1, meta: None, tick: None }],
|
||||||
@ -1060,7 +1054,7 @@ impl Skill {
|
|||||||
Skill::AmplifyPlusPlus => Some(1),
|
Skill::AmplifyPlusPlus => Some(1),
|
||||||
Skill::Hybrid|
|
Skill::Hybrid|
|
||||||
Skill::HybridPlus |
|
Skill::HybridPlus |
|
||||||
Skill::HybridPlusPlus => Some(3),
|
Skill::HybridPlusPlus => Some(1),
|
||||||
|
|
||||||
Skill::Invert=> Some(2),
|
Skill::Invert=> Some(2),
|
||||||
Skill::InvertPlus => Some(2),
|
Skill::InvertPlus => Some(2),
|
||||||
@ -1080,7 +1074,7 @@ impl Skill {
|
|||||||
Skill::LinkPlus => Some(2),
|
Skill::LinkPlus => Some(2),
|
||||||
Skill::LinkPlusPlus => Some(2),
|
Skill::LinkPlusPlus => Some(2),
|
||||||
|
|
||||||
Skill::Silence=> Some(3),
|
Skill::Silence=> Some(2),
|
||||||
Skill::SilencePlus => Some(2),
|
Skill::SilencePlus => Some(2),
|
||||||
Skill::SilencePlusPlus => Some(2),
|
Skill::SilencePlusPlus => Some(2),
|
||||||
|
|
||||||
@ -1094,11 +1088,11 @@ impl Skill {
|
|||||||
|
|
||||||
Skill::Banish |
|
Skill::Banish |
|
||||||
Skill::BanishPlus |
|
Skill::BanishPlus |
|
||||||
Skill::BanishPlusPlus => Some(3),
|
Skill::BanishPlusPlus => Some(2),
|
||||||
|
|
||||||
Skill::Haste=> Some(2),
|
Skill::Haste=> Some(1),
|
||||||
Skill::HastePlus => Some(2),
|
Skill::HastePlus => Some(1),
|
||||||
Skill::HastePlusPlus => Some(2),
|
Skill::HastePlusPlus => Some(1),
|
||||||
|
|
||||||
Skill::Reflect |
|
Skill::Reflect |
|
||||||
Skill::ReflectPlus |
|
Skill::ReflectPlus |
|
||||||
@ -1116,9 +1110,9 @@ impl Skill {
|
|||||||
Skill::SlayPlus => None,
|
Skill::SlayPlus => None,
|
||||||
Skill::SlayPlusPlus => None,
|
Skill::SlayPlusPlus => None,
|
||||||
|
|
||||||
Skill::Sleep=> Some(3),
|
Skill::Sleep=> Some(2),
|
||||||
Skill::SleepPlus => Some(3),
|
Skill::SleepPlus => Some(2),
|
||||||
Skill::SleepPlusPlus => Some(3),
|
Skill::SleepPlusPlus => Some(2),
|
||||||
|
|
||||||
Skill::Sustain |
|
Skill::Sustain |
|
||||||
Skill::SustainPlus |
|
Skill::SustainPlus |
|
||||||
@ -1445,10 +1439,6 @@ fn counter(source: &mut Construct, target: &mut Construct, mut results: Resoluti
|
|||||||
results.push(Resolution::new(source, target)
|
results.push(Resolution::new(source, target)
|
||||||
.event(target.add_effect(skill, skill.effect()[0])));
|
.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;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user