diff --git a/CHANGELOG.md b/CHANGELOG.md index 26b6e995..9c0a0b84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,40 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Added -- + New skill `Chaos` + - 50% base red & blue with an additional rng 20% blue & red + - Combo'd with Attack + Red + Blue + + New skill `Slay` + - 70% base red, heals (green damage) for equivalent dmg dealt + - Combo'd with Attack + Red + Green + + New effect `Wither` + - Reduces green damage taken by 50% ### Fixed -- +- Siphon deals damage before applying heal +- Changed tests to incorporate skill damage multipliers ### Changed -- +- Changed Decay, Siphon and Purify vbox items + `Decay` + - 1 blue + 1 green + debuff + - now also applies new debuff `Wither` + - Cooldown increased 0T -> 1T + `Siphon` + - 1 blue + 1 green + attack + - Cooldown reduced 1T -> 0T + `Purify` 1 blue + 1 green + block -## [0.0.0] - yyyy-mm-dd +- Changed skill damage multipliers + `Blast` 100% -> 130% + `CorruptionTick` 100% -> 80% + `Decay` 50% -> 25% + `Heal` 100% -> 120% + `SiphonTick` 100% -> 30% + `StrangleTick` 100% -> 30% + `Strike` 100% -> 110% + `TriageTick` 100% -> 65% +## [0.0.1] - 2019-05-02 diff --git a/server/src/skill.rs b/server/src/skill.rs index 2e0418ff..c454c032 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -553,7 +553,7 @@ impl Skill { Skill::Attack => 100, // 1.0 to pass tests Skill::Blast => 130, // BB Skill::Chaos => 50, // BR - Skill::Heal => 100, //GG 1.0 to pass tests + Skill::Heal => 120, //GG 1.0 to pass tests Skill::Slay => 70, // RG Skill::Strike => 110, //RR Skill::StrikeII => 130, @@ -1315,13 +1315,14 @@ mod tests { y.red_life.force(64); y.red_life.reduce(64); x.red_damage.force(256 + 64); - + let damage: u64 = x.red_damage().pct(Skill::Attack.multiplier()); // 320 * 1.0 + let healing: u64 = x.green_damage().pct(Skill::Heal.multiplier()); // 256 * 1.2 invert(&mut y.clone(), &mut y, vec![], Skill::Invert); assert!(y.affected(Effect::Invert)); // heal should deal green damage heal(&mut x, &mut y, vec![], Skill::Heal); - assert!(y.green_life() == 768); + assert!(y.green_life() == (1024 - healing)); // attack should heal and recharge red shield let mut results = attack(&mut x, &mut y, vec![], Skill::Attack); @@ -1333,12 +1334,12 @@ mod tests { }; match results.remove(0).event { - Event::Healing { skill: _, overhealing: _, amount } => assert_eq!(amount, 256), + Event::Healing { skill: _, overhealing: _, amount } => assert_eq!(amount, healing), _ => panic!("not healing from inversion"), }; match results.remove(0).event { - Event::Recharge { skill: _, red, blue: _ } => assert_eq!(red, 64), + Event::Recharge { skill: _, red, blue: _ } => assert_eq!(red, (damage - healing)), _ => panic!("not recharge from inversion"), }; }