banish rework
This commit is contained in:
parent
1705f86388
commit
0cb5b8ccfa
@ -7,7 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
### Fixed
|
### Fixed
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
## [0.1.4 2019-09-17]
|
## [0.1.4 2019-09-18]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
Removed self targetting, all skills can be used on any target
|
Removed self targetting, all skills can be used on any target
|
||||||
@ -16,6 +16,11 @@ Removed self targetting, all skills can be used on any target
|
|||||||
`Purify` No cooldown
|
`Purify` No cooldown
|
||||||
`Recharge` No cooldown
|
`Recharge` No cooldown
|
||||||
|
|
||||||
|
`Banish`
|
||||||
|
Now deals 40 / 75 / 125% target red / blue life before applying banish debuff
|
||||||
|
Constant 2T duration at all levels
|
||||||
|
Constant 3T cooldown at all levels
|
||||||
|
|
||||||
`Link` reworked ->
|
`Link` reworked ->
|
||||||
Stuns caster for 3/2/1T
|
Stuns caster for 3/2/1T
|
||||||
If target has higher green life than caster:
|
If target has higher green life than caster:
|
||||||
|
|||||||
@ -810,8 +810,8 @@ impl Item {
|
|||||||
Item::Bash|
|
Item::Bash|
|
||||||
Item::BashPlus |
|
Item::BashPlus |
|
||||||
Item::BashPlusPlus => format!(
|
Item::BashPlusPlus => format!(
|
||||||
"Bash the target increasing the cooldowns of their skills.
|
"Bash the target increasing the cooldowns of target skills by 1T.
|
||||||
Deals {:?}% RedPower per cooldown increased. Lasts {:?}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_skill().unwrap().multiplier(),
|
||||||
self.into_skill().unwrap().effect()[0].get_duration()),
|
self.into_skill().unwrap().effect()[0].get_duration()),
|
||||||
|
|
||||||
|
|||||||
@ -768,6 +768,10 @@ impl Skill {
|
|||||||
Skill::SleepPlus => 300,
|
Skill::SleepPlus => 300,
|
||||||
Skill::SleepPlusPlus => 400,
|
Skill::SleepPlusPlus => 400,
|
||||||
|
|
||||||
|
Skill::Banish=> 40, //Green dmg (heal)
|
||||||
|
Skill::BanishPlus => 75,
|
||||||
|
Skill::BanishPlusPlus => 125,
|
||||||
|
|
||||||
Skill::Bash=> 65,
|
Skill::Bash=> 65,
|
||||||
Skill::BashPlus => 95,
|
Skill::BashPlus => 95,
|
||||||
Skill::BashPlusPlus => 140,
|
Skill::BashPlusPlus => 140,
|
||||||
@ -810,9 +814,9 @@ impl Skill {
|
|||||||
Skill::AmplifyPlusPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 4,
|
Skill::AmplifyPlusPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 4,
|
||||||
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||||
|
|
||||||
Skill::Banish => vec![ConstructEffect {effect: Effect::Banish, duration: 1,meta: None, tick: None}],
|
Skill::Banish => 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::BanishPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 2, meta: None, tick: None}],
|
||||||
Skill::BanishPlusPlus => vec![ConstructEffect {effect: Effect::Banish, duration: 3,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(50)), tick: None}],
|
||||||
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2,
|
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2,
|
||||||
@ -1049,9 +1053,9 @@ impl Skill {
|
|||||||
Skill::PurgePlus => None,
|
Skill::PurgePlus => None,
|
||||||
Skill::PurgePlusPlus => None,
|
Skill::PurgePlusPlus => None,
|
||||||
|
|
||||||
Skill::Banish=> Some(1),
|
Skill::Banish |
|
||||||
Skill::BanishPlus => Some(1),
|
Skill::BanishPlus |
|
||||||
Skill::BanishPlusPlus => Some(1),
|
Skill::BanishPlusPlus => Some(3),
|
||||||
|
|
||||||
Skill::Haste=> Some(2),
|
Skill::Haste=> Some(2),
|
||||||
Skill::HastePlus => Some(2),
|
Skill::HastePlus => Some(2),
|
||||||
@ -1749,7 +1753,24 @@ fn purify(source: &mut Construct, target: &mut Construct, mut results: Resolutio
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn banish(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn banish(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])));
|
results.push(Resolution::new(source, target).event(Event::Skill { skill }));
|
||||||
|
|
||||||
|
let red_damage = target.red_life().pct(skill.multiplier());
|
||||||
|
let blue_damage = target.blue_life().pct(skill.multiplier());
|
||||||
|
|
||||||
|
if red_damage > 0 {
|
||||||
|
target.deal_red_damage(skill, red_damage)
|
||||||
|
.into_iter()
|
||||||
|
.for_each(|e| results.push(Resolution::new(source, target).event(e).stages(EventStages::PostOnly)));
|
||||||
|
}
|
||||||
|
|
||||||
|
if blue_damage > 0 {
|
||||||
|
target.deal_blue_damage(skill, blue_damage)
|
||||||
|
.into_iter()
|
||||||
|
.for_each(|e| results.push(Resolution::new(source, target).event(e).stages(EventStages::PostOnly)));
|
||||||
|
}
|
||||||
|
|
||||||
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, skill.effect()[0])).stages(EventStages::PostOnly));
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user