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
|
||||
### Changed
|
||||
|
||||
## [0.1.4 2019-09-17]
|
||||
## [0.1.4 2019-09-18]
|
||||
|
||||
### Changed
|
||||
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
|
||||
`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 ->
|
||||
Stuns caster for 3/2/1T
|
||||
If target has higher green life than caster:
|
||||
|
||||
@ -810,8 +810,8 @@ impl Item {
|
||||
Item::Bash|
|
||||
Item::BashPlus |
|
||||
Item::BashPlusPlus => format!(
|
||||
"Bash the target increasing the cooldowns of their skills.
|
||||
Deals {:?}% RedPower per cooldown increased. Lasts {:?}T.",
|
||||
"Bash the target increasing the cooldowns of target skills by 1T.
|
||||
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_duration()),
|
||||
|
||||
|
||||
@ -768,6 +768,10 @@ impl Skill {
|
||||
Skill::SleepPlus => 300,
|
||||
Skill::SleepPlusPlus => 400,
|
||||
|
||||
Skill::Banish=> 40, //Green dmg (heal)
|
||||
Skill::BanishPlus => 75,
|
||||
Skill::BanishPlusPlus => 125,
|
||||
|
||||
Skill::Bash=> 65,
|
||||
Skill::BashPlus => 95,
|
||||
Skill::BashPlusPlus => 140,
|
||||
@ -810,9 +814,9 @@ impl Skill {
|
||||
Skill::AmplifyPlusPlus => vec![ConstructEffect {effect: Effect::Amplify, duration: 4,
|
||||
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||
|
||||
Skill::Banish => vec![ConstructEffect {effect: Effect::Banish, duration: 1,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::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::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}],
|
||||
Skill::Buff => vec![ConstructEffect {effect: Effect::Buff, duration: 2,
|
||||
@ -1049,9 +1053,9 @@ impl Skill {
|
||||
Skill::PurgePlus => None,
|
||||
Skill::PurgePlusPlus => None,
|
||||
|
||||
Skill::Banish=> Some(1),
|
||||
Skill::BanishPlus => Some(1),
|
||||
Skill::BanishPlusPlus => Some(1),
|
||||
Skill::Banish |
|
||||
Skill::BanishPlus |
|
||||
Skill::BanishPlusPlus => Some(3),
|
||||
|
||||
Skill::Haste=> 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 {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user