remove double tick dots, lose electrify on application
This commit is contained in:
parent
494b572cb9
commit
defcadbad2
@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
* can't reset password without knowing password =\
|
* can't reset password without knowing password =\
|
||||||
|
|
||||||
|
* fix recharge combat display bug
|
||||||
|
|
||||||
## SOON (Before or After PAX)
|
## SOON (Before or After PAX)
|
||||||
|
|
||||||
* bot game grind
|
* bot game grind
|
||||||
@ -45,6 +47,8 @@
|
|||||||
reconnect based on time delta
|
reconnect based on time delta
|
||||||
consolidate game and instance
|
consolidate game and instance
|
||||||
|
|
||||||
|
* return of the combat log (last few events with condensed descriptions)
|
||||||
|
- click in to scroll
|
||||||
* elo + leaderboards
|
* elo + leaderboards
|
||||||
|
|
||||||
* mnml tv
|
* mnml tv
|
||||||
|
|||||||
@ -779,7 +779,7 @@ impl Skill {
|
|||||||
Skill::BashPlusPlus => 140,
|
Skill::BashPlusPlus => 140,
|
||||||
|
|
||||||
// Debuff Base
|
// Debuff Base
|
||||||
Skill::DecayTick=> 25,
|
Skill::DecayTick=> 33,
|
||||||
Skill::DecayTickPlus => 45,
|
Skill::DecayTickPlus => 45,
|
||||||
Skill::DecayTickPlusPlus => 70,
|
Skill::DecayTickPlusPlus => 70,
|
||||||
Skill::Silence=> 55, // Deals more per blue skill on target
|
Skill::Silence=> 55, // Deals more per blue skill on target
|
||||||
@ -1458,6 +1458,7 @@ fn heal(source: &mut Construct, target: &mut Construct, mut results: Resolutions
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn triage(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn triage(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
|
let skip_tick = target.effects.iter().any(|e| e.effect == Effect::Triage);
|
||||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||||
let tick_skill = match meta {
|
let tick_skill = match meta {
|
||||||
Some(EffectMeta::Skill(s)) => s,
|
Some(EffectMeta::Skill(s)) => s,
|
||||||
@ -1465,7 +1466,11 @@ fn triage(source: &mut Construct, target: &mut Construct, mut results: Resolutio
|
|||||||
};
|
};
|
||||||
let triage = ConstructEffect::new(effect, duration).set_tick(Cast::new_tick(source, target, tick_skill));
|
let triage = ConstructEffect::new(effect, duration).set_tick(Cast::new_tick(source, target, tick_skill));
|
||||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, triage)));
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, triage)));
|
||||||
return triage_tick(source, target, results, tick_skill);
|
|
||||||
|
match skip_tick {
|
||||||
|
true => return results,
|
||||||
|
false => return triage_tick(source, target, results, tick_skill)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn triage_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn triage_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
@ -1519,6 +1524,7 @@ fn decay(source: &mut Construct, target: &mut Construct, mut results: Resolution
|
|||||||
let wither = skill.effect()[0];
|
let wither = skill.effect()[0];
|
||||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, wither)));
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, wither)));
|
||||||
|
|
||||||
|
let skip_tick = target.effects.iter().any(|e| e.effect == Effect::Decay);
|
||||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[1];
|
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[1];
|
||||||
let tick_skill = match meta {
|
let tick_skill = match meta {
|
||||||
Some(EffectMeta::Skill(s)) => s,
|
Some(EffectMeta::Skill(s)) => s,
|
||||||
@ -1529,7 +1535,10 @@ fn decay(source: &mut Construct, target: &mut Construct, mut results: Resolution
|
|||||||
.event(target.add_effect(skill, decay))
|
.event(target.add_effect(skill, decay))
|
||||||
.stages(EventStages::PostOnly));
|
.stages(EventStages::PostOnly));
|
||||||
|
|
||||||
return decay_tick(source, target, results, tick_skill);
|
match skip_tick {
|
||||||
|
true => return results,
|
||||||
|
false => return decay_tick(source, target, results, tick_skill)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn decay_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn decay_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
@ -1549,17 +1558,32 @@ fn electrify(source: &mut Construct, target: &mut Construct, mut results: Resolu
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
|
// Remove electric buff, no need to display if construct is dead
|
||||||
|
if !source.is_ko() {
|
||||||
|
let electric = source.effects.iter().position(|e| e.effect == Effect::Electric).expect("No electrify");
|
||||||
|
let ce = source.effects.remove(electric);
|
||||||
|
results.push(Resolution::new(source, source)
|
||||||
|
.event(Event::Removal { effect: ce.effect, construct_effects: source.effects.clone() })
|
||||||
|
.stages(EventStages::PostOnly));
|
||||||
|
}
|
||||||
|
|
||||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||||
let tick_skill = match meta {
|
let tick_skill = match meta {
|
||||||
Some(EffectMeta::Skill(s)) => s,
|
Some(EffectMeta::Skill(s)) => s,
|
||||||
_ => panic!("no electrocute tick skill"),
|
_ => panic!("no electrocute tick skill"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let skip_tick = target.effects.iter().any(|e| e.effect == Effect::Electrocute);
|
||||||
let electrocute = ConstructEffect::new(effect, duration).set_tick(Cast::new_tick(source, target, tick_skill));
|
let electrocute = ConstructEffect::new(effect, duration).set_tick(Cast::new_tick(source, target, tick_skill));
|
||||||
results.push(Resolution::new(source, target)
|
results.push(Resolution::new(source, target)
|
||||||
.event(target.add_effect(skill, electrocute))
|
.event(target.add_effect(skill, electrocute))
|
||||||
.stages(EventStages::EndPost));
|
.stages(EventStages::EndPost));
|
||||||
return electrocute_tick(source, target, results, tick_skill);
|
|
||||||
|
|
||||||
|
match skip_tick {
|
||||||
|
true => return results,
|
||||||
|
false => return electrocute_tick(source, target, results, tick_skill)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn electrocute_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn electrocute_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
@ -1633,6 +1657,8 @@ fn recharge(source: &mut Construct, target: &mut Construct, mut results: Resolut
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn siphon(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn siphon(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
|
|
||||||
|
let skip_tick = target.effects.iter().any(|e| e.effect == Effect::Siphon);
|
||||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||||
let tick_skill = match meta {
|
let tick_skill = match meta {
|
||||||
Some(EffectMeta::Skill(s)) => s,
|
Some(EffectMeta::Skill(s)) => s,
|
||||||
@ -1641,7 +1667,10 @@ fn siphon(source: &mut Construct, target: &mut Construct, mut results: Resolutio
|
|||||||
let siphon = ConstructEffect::new(effect, duration).set_tick(Cast::new_tick(source, target, tick_skill));
|
let siphon = ConstructEffect::new(effect, duration).set_tick(Cast::new_tick(source, target, tick_skill));
|
||||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, siphon)));
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, siphon)));
|
||||||
|
|
||||||
return siphon_tick(source, target, results, tick_skill);
|
match skip_tick {
|
||||||
|
true => return results,
|
||||||
|
false => return siphon_tick(source, target, results, tick_skill)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn siphon_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
fn siphon_tick(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user