Added sleep, changed recipe for clutch, taunt, hex, banish, throw
This commit is contained in:
parent
b2f3c147a1
commit
91e150ecec
24
CHANGELOG.md
24
CHANGELOG.md
@ -8,17 +8,33 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
Event::Skill
|
||||
needed to convey the use of skill which is followed by other events
|
||||
used for skill Purify to show that it is used and then followed by removal and other events
|
||||
New Skill `Sleep`
|
||||
Combined using Stun + GG
|
||||
Stuns target for 3T (might need to be 4T)
|
||||
Deals 240% green damage (heal)
|
||||
Concept - high duration stun with the drawback of a big heal on the target
|
||||
Base cooldown 3T
|
||||
(Could be played aggressively or defensively)
|
||||
|
||||
### Fixed
|
||||
|
||||
### Changed
|
||||
Switch purify with reflect
|
||||
- Purify now GG + block instead of GB + block
|
||||
- Purify now applies a small heal 45% multiplier green damage (power)
|
||||
- Purify now GG + block (was GB + block)
|
||||
- Purify now applies a small heal 45% multiplier green damage (power) for each debuff removed
|
||||
|
||||
- reflect now GB + block
|
||||
- reflect restores blue shield
|
||||
- reflect now GB + block (was GG + block)
|
||||
|
||||
Switch clutch with taunt
|
||||
Clutch now GR + Block (was GR + Buff)
|
||||
Taunt now GR + Buff
|
||||
No longer self-target only
|
||||
|
||||
Silence no longer Stun + GB (already exists as debuff BB)
|
||||
Hex is now Stun + GB (was Stun + RB)
|
||||
Banish is now Stun + RB (was Stun + RG) for rng theme
|
||||
Throw is now Stun + RG (was Stun + GG)
|
||||
- Better fit as it applies inc Red taken debuff (vulnerability)
|
||||
|
||||
|
||||
## [0.1.0] - 2019-05-02
|
||||
|
||||
@ -228,7 +228,8 @@ function getCombatSequence(event) {
|
||||
if (['Healing'].includes(event[0])
|
||||
&& (event[1].skill === 'Slay'
|
||||
|| event[1].skill === 'SiphonTick'
|
||||
|| event[1].skill === 'Purify')) return ['POST_SKILL'];
|
||||
|| event[1].skill === 'Purify'
|
||||
|| event[1].skill === 'Sleep')) return ['POST_SKILL'];
|
||||
|
||||
if (['Effect'].includes(event[0])
|
||||
&& event[1].skill === 'Decay' && event[1].effect === 'Wither') return ['POST_SKILL'];
|
||||
|
||||
23
server/src/skill.rs
Normal file → Executable file
23
server/src/skill.rs
Normal file → Executable file
@ -67,6 +67,7 @@ pub fn resolve(skill: Skill, source: &mut Cryp, target: &mut Cryp, mut resolutio
|
||||
Skill::Siphon => siphon(source, target, resolutions, Skill::Siphon),
|
||||
Skill::SiphonTick => siphon_tick(source, target, resolutions, Skill::SiphonTick), // hot
|
||||
Skill::Slay => slay(source, target, resolutions, Skill::Slay), // hybrid dmg self heal
|
||||
Skill::Sleep => sleep(source, target, resolutions, Skill::Sleep), // speed slow
|
||||
Skill::Slow => slow(source, target, resolutions, Skill::Slow), // speed slow
|
||||
Skill::Snare => snare(source, target, resolutions, Skill::Snare),
|
||||
Skill::Strangle => strangle(source, target, resolutions, Skill::Strangle),
|
||||
@ -481,6 +482,7 @@ pub enum Skill {
|
||||
Reflect,
|
||||
Ruin,
|
||||
Slay,
|
||||
Sleep,
|
||||
Clutch,
|
||||
Taunt,
|
||||
Invert,
|
||||
@ -564,7 +566,8 @@ impl Skill {
|
||||
// Block Base
|
||||
Skill::Purify => 45, //Green dmg (heal)
|
||||
|
||||
|
||||
// Stun Base
|
||||
Skill::Sleep => 240, //Green dmg (heal)
|
||||
// Others
|
||||
Skill::CorruptionTick => 80,
|
||||
Skill::DecayTick => 25,
|
||||
@ -589,6 +592,8 @@ impl Skill {
|
||||
Skill::Strangle => 2,
|
||||
|
||||
Skill::Stun => 2,
|
||||
Skill::Sleep => 3,
|
||||
|
||||
Skill::Throw => 2,
|
||||
Skill::Snare => 2,
|
||||
|
||||
@ -675,6 +680,8 @@ impl Skill {
|
||||
Skill::Recharge => Some(2),
|
||||
Skill::Ruin => Some(3),
|
||||
Skill::Slay => None,
|
||||
Skill::Sleep => Some(3),
|
||||
|
||||
Skill::Strangle => Some(2),
|
||||
Skill::StrangleTick => None,
|
||||
Skill::Clutch => Some(2),
|
||||
@ -726,6 +733,7 @@ impl Skill {
|
||||
Skill::Reflect => Category::Green,
|
||||
Skill::Haste => Category::Green,
|
||||
Skill::Invert => Category::Green,
|
||||
Skill::Sleep => Category::Green,
|
||||
|
||||
Skill::Blast => Category::Blue,
|
||||
Skill::Chaos => Category::Blue,
|
||||
@ -804,7 +812,7 @@ impl Skill {
|
||||
Skill::Block => true,
|
||||
Skill::Parry => true,
|
||||
Skill::Clutch => true,
|
||||
Skill::Taunt => true,
|
||||
// Skill::Taunt => true,
|
||||
Skill::Corrupt => true,
|
||||
|
||||
Skill::TestBlock => true,
|
||||
@ -883,6 +891,17 @@ fn stun(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, skill: S
|
||||
return results;
|
||||
}
|
||||
|
||||
fn sleep(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
let effect = CrypEffect::new(Effect::Stun, skill.duration());
|
||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, effect)));
|
||||
let amount = source.green_damage().pct(skill.multiplier());
|
||||
target.deal_green_damage(skill, amount)
|
||||
.into_iter()
|
||||
.for_each(|e| results.push(Resolution::new(source, target).event(e)));
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
fn clutch(source: &mut Cryp, target: &mut Cryp, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||
let effect = CrypEffect::new(Effect::Clutch, skill.duration());
|
||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, effect)));
|
||||
|
||||
39
server/src/vbox.rs
Normal file → Executable file
39
server/src/vbox.rs
Normal file → Executable file
@ -66,6 +66,8 @@ pub enum Var {
|
||||
Banish,
|
||||
Blast,
|
||||
Chaos,
|
||||
Clutch,
|
||||
Corrupt,
|
||||
Curse,
|
||||
Decay,
|
||||
Empower,
|
||||
@ -83,6 +85,7 @@ pub enum Var {
|
||||
Shield,
|
||||
Silence,
|
||||
Slay,
|
||||
Sleep,
|
||||
Slow,
|
||||
Snare,
|
||||
Strangle,
|
||||
@ -90,10 +93,8 @@ pub enum Var {
|
||||
StrikeII,
|
||||
StrikeIII,
|
||||
Siphon,
|
||||
Clutch,
|
||||
Taunt,
|
||||
Throw,
|
||||
Corrupt,
|
||||
Triage,
|
||||
|
||||
|
||||
@ -211,6 +212,7 @@ impl Var {
|
||||
Var::Shield => Some(Skill::Shield),
|
||||
Var::Silence => Some(Skill::Silence),
|
||||
Var::Slay => Some(Skill::Slay),
|
||||
Var::Sleep => Some(Skill::Sleep),
|
||||
Var::Slow => Some(Skill::Slow),
|
||||
Var::Siphon => Some(Skill::Siphon),
|
||||
Var::Snare => Some(Skill::Snare),
|
||||
@ -287,6 +289,7 @@ impl From<Skill> for Var {
|
||||
Skill::Silence => Var::Silence,
|
||||
Skill::Siphon => Var::Siphon,
|
||||
Skill::Slay => Var::Slay,
|
||||
Skill::Sleep => Var::Sleep,
|
||||
Skill::Slow => Var::Slow,
|
||||
Skill::Snare => Var::Snare,
|
||||
Skill::Strangle => Var::Strangle,
|
||||
@ -348,42 +351,42 @@ struct Combo {
|
||||
|
||||
fn get_combos() -> Vec<Combo> {
|
||||
let mut combinations = vec![
|
||||
Combo { units: vec![Var::Buff, Var::Red, Var::Red], var: Var::Empower },
|
||||
Combo { units: vec![Var::Buff, Var::Red, Var::Red], var: Var::Empower }, // Gereric red dmg buff
|
||||
Combo { units: vec![Var::Buff, Var::Green, Var::Green], var: Var::Triage },
|
||||
Combo { units: vec![Var::Buff, Var::Blue, Var::Blue], var: Var::Amplify },
|
||||
Combo { units: vec![Var::Buff, Var::Red, Var::Green], var: Var::Clutch },
|
||||
Combo { units: vec![Var::Buff, Var::Green, Var::Blue], var: Var::Curse },
|
||||
Combo { units: vec![Var::Buff, Var::Red, Var::Blue], var: Var::Haste },
|
||||
Combo { units: vec![Var::Buff, Var::Blue, Var::Blue], var: Var::Amplify }, // Gereric blue dmg buff
|
||||
Combo { units: vec![Var::Buff, Var::Red, Var::Green], var: Var::Taunt },
|
||||
Combo { units: vec![Var::Buff, Var::Green, Var::Blue], var: Var::Curse }, // Needs a buff
|
||||
Combo { units: vec![Var::Buff, Var::Red, Var::Blue], var: Var::Haste }, // Needs a buff
|
||||
|
||||
Combo { units: vec![Var::Debuff, Var::Red, Var::Red], var: Var::Snare },
|
||||
Combo { units: vec![Var::Debuff, Var::Green, Var::Green], var: Var::Purge },
|
||||
Combo { units: vec![Var::Debuff, Var::Green, Var::Green], var: Var::Purge }, // Needs a buff
|
||||
Combo { units: vec![Var::Debuff, Var::Blue, Var::Blue], var: Var::Silence },
|
||||
Combo { units: vec![Var::Debuff, Var::Red, Var::Green], var: Var::Slow },
|
||||
Combo { units: vec![Var::Debuff, Var::Green, Var::Blue], var: Var::Decay },
|
||||
Combo { units: vec![Var::Debuff, Var::Red, Var::Green], var: Var::Slow }, // Needs a buff
|
||||
Combo { units: vec![Var::Debuff, Var::Green, Var::Blue], var: Var::Decay },
|
||||
Combo { units: vec![Var::Debuff, Var::Red, Var::Blue], var: Var::Invert },
|
||||
|
||||
Combo { units: vec![Var::Block, Var::Red, Var::Red], var: Var::Parry },
|
||||
Combo { units: vec![Var::Block, Var::Green, Var::Green], var: Var::Purify },
|
||||
Combo { units: vec![Var::Block, Var::Blue, Var::Blue], var: Var::Corrupt },
|
||||
Combo { units: vec![Var::Block, Var::Red, Var::Green], var: Var::Taunt },
|
||||
Combo { units: vec![Var::Block, Var::Red, Var::Green], var: Var::Clutch },
|
||||
Combo { units: vec![Var::Block, Var::Green, Var::Blue], var: Var::Reflect },
|
||||
Combo { units: vec![Var::Block, Var::Red, Var::Blue], var: Var::Recharge },
|
||||
|
||||
Combo { units: vec![Var::Stun, Var::Red, Var::Red], var: Var::Strangle },
|
||||
Combo { units: vec![Var::Stun, Var::Green, Var::Green], var: Var::Throw },
|
||||
Combo { units: vec![Var::Stun, Var::Green, Var::Green], var: Var::Sleep },
|
||||
Combo { units: vec![Var::Stun, Var::Blue, Var::Blue], var: Var::Ruin },
|
||||
Combo { units: vec![Var::Stun, Var::Red, Var::Green], var: Var::Banish },
|
||||
Combo { units: vec![Var::Stun, Var::Green, Var::Blue], var: Var::Silence },
|
||||
Combo { units: vec![Var::Stun, Var::Red, Var::Blue], var: Var::Hex },
|
||||
Combo { units: vec![Var::Stun, Var::Red, Var::Green], var: Var::Throw },
|
||||
Combo { units: vec![Var::Stun, Var::Green, Var::Blue], var: Var::Hex },
|
||||
Combo { units: vec![Var::Stun, Var::Red, Var::Blue], var: Var::Banish },
|
||||
|
||||
Combo { units: vec![Var::Attack, Var::Red, Var::Red], var: Var::Strike },
|
||||
Combo { units: vec![Var::Strike, Var::Strike, Var::Strike], var: Var::StrikeII },
|
||||
Combo { units: vec![Var::Attack, Var::Red, Var::Red], var: Var::Strike },
|
||||
Combo { units: vec![Var::Strike, Var::Strike, Var::Strike], var: Var::StrikeII },
|
||||
Combo { units: vec![Var::StrikeII, Var::StrikeII, Var::StrikeII], var: Var::StrikeIII },
|
||||
|
||||
Combo { units: vec![Var::Attack, Var::Green, Var::Green], var: Var::Heal },
|
||||
Combo { units: vec![Var::Attack, Var::Blue, Var::Blue], var: Var::Blast },
|
||||
Combo { units: vec![Var::Attack, Var::Red, Var::Green], var: Var::Slay },
|
||||
Combo { units: vec![Var::Attack, Var::Green, Var::Blue], var: Var::Siphon },
|
||||
Combo { units: vec![Var::Attack, Var::Green, Var::Blue], var: Var::Siphon },
|
||||
Combo { units: vec![Var::Attack, Var::Red, Var::Blue], var: Var::Chaos },
|
||||
|
||||
Combo { units: vec![Var::Damage, Var::Red, Var::Red], var: Var::RedDamageI },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user