Merge branch 'develop' of ssh://git.mnml.gg:40022/~/mnml into develop
This commit is contained in:
commit
87ee3afab9
266
COMBOS.md
266
COMBOS.md
@ -1,142 +1,200 @@
|
|||||||
# item_info ->
|
# Spec / Skill hybrid specs #
|
||||||
|
|
||||||
combos [strike, [R R Attack]]
|
Create skills specs by combining an upgraded skills with corresponding colour specs:
|
||||||
specs [spec [bonus amount, [r g b]]
|
Strike (RR + A) can be combined with (PowerRR, SpeedRR, LifeRR)
|
||||||
|
- Strike + PowerRR -> StrikePower
|
||||||
|
- Strike + SpeedRR -> StrikeSpeed
|
||||||
|
- Strike + LifeRR -> StrikeLife
|
||||||
|
|
||||||
# Playthrough
|
Could also create SkillSpec+ by combining two together.
|
||||||
|
|
||||||
constructs join game
|
## Why Skill Specs
|
||||||
stats randomised
|
|
||||||
|
|
||||||
initial stash drops
|
- Give tools to players to make cool unique builds
|
||||||
6 skills
|
- Passive utility that you work towards
|
||||||
6 colours
|
- Specialise in a type of skill
|
||||||
6 specs
|
- Repurpose skills that you aren't using much for active use
|
||||||
|
- More layers of complexity
|
||||||
|
|
||||||
play first round
|
## Skill specs philosphy
|
||||||
basically duke it out
|
|
||||||
|
|
||||||
# Colours #
|
- Should be more interesting than just another stat "multiplier" we have that already (could be placeholder though)
|
||||||
|
- Passives should help build a theme / identity to the skills
|
||||||
|
- Specs should be numerically scalable so they can be `balanced` (also for upgraded versions think continuous vs discrete)
|
||||||
|
- While specialised should be useful for multiple skills
|
||||||
|
e.g. StrikeSpeed -> Causes your red attack skills to cast on another target on the same team for (X% damage)
|
||||||
|
A StrikeSpeed should do something for `some` other active skill that isn't strike
|
||||||
|
- They don't have to be `competely game changing` to be viable / fun / interesting
|
||||||
|
|
||||||
### Red ###
|
## Brainstorming on what kind of things skill specs could do
|
||||||
Real world concepts
|
|
||||||
Aggressive
|
|
||||||
Apply Buffs
|
|
||||||
Fast & Chaotic
|
|
||||||
|
|
||||||
### Green ###
|
- Passive
|
||||||
Healing Specialisation
|
- (Abosrb Spec) when you take damage you permanently gain X Power/Speed/Life
|
||||||
Defensive
|
- Grant you Amplify with (X% multiplier) when you KO a target
|
||||||
Purge buffs & debuffs
|
- Convert (X% of your red / blue power -> green power)
|
||||||
|
- Reduce / Increase damage taken of a certain type (Block type upgrades maybe?)
|
||||||
|
|
||||||
### Blue ###
|
- Active
|
||||||
Fantasy concepts (magical)
|
- Make a skill cast another skill (strike another guy)
|
||||||
Aggressive & Defensive
|
- Apply an effect when you cast a skill
|
||||||
Apply Debuffs
|
- Change damage / healing / speed of a skill
|
||||||
Slow & Reliable
|
|
||||||
|
|
||||||
# Classes #
|
## The BIG LIST
|
||||||
|
|
||||||
Class names to be changed
|
### Attack Base
|
||||||
====================
|
Strike
|
||||||
Pure Red `Nature`
|
Power
|
||||||
Pure Green `Non-Violence`
|
Life
|
||||||
Pure Blue `Destruction`
|
Speed (Repeat skill at X% multiplier)
|
||||||
Hybrid Red / Blue `Chaos`
|
|
||||||
Hybrid Red / Green `Purity`
|
|
||||||
Hybrid Blue / Green `Technology`
|
|
||||||
|
|
||||||
|
Chaos
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
Skills
|
Heal
|
||||||
==========
|
Power (Convert X% Red/Blue Power to GreenPower)
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
Basic Type
|
Blast
|
||||||
-------------------------------------------------------------------------
|
Power
|
||||||
Attack `Basic offensive skill - deal damage`
|
Life
|
||||||
Buff `Base ally targetted skill - increase ally speed`
|
Speed
|
||||||
Stun `Base enemy disable - disable enemy for 2 rounds`
|
|
||||||
Block `Base self targetted defensive - reduced damage taken for 2 rounds`
|
|
||||||
Debuff `Base enemy debuff - reduce enemy speed`
|
|
||||||
|
|
||||||
# Attack Base #
|
Slay
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
RR - Strike
|
Siphon
|
||||||
GG - Heal
|
Power
|
||||||
BB - Blast
|
Life
|
||||||
RG - Purify
|
Speed
|
||||||
GB - Decay
|
|
||||||
RB - Blast
|
|
||||||
|
|
||||||
# Stun Base #
|
### Stun Base
|
||||||
|
Bash
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
RR - Strangle
|
Sleep
|
||||||
GG - Break
|
Power
|
||||||
BB - Ruin
|
Life
|
||||||
RG - Banish
|
Speed
|
||||||
GB - Silence
|
|
||||||
RB - Hex
|
|
||||||
|
|
||||||
# Buff Base #
|
Ruin
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
RR - Empower
|
Link
|
||||||
GR - Triage
|
Power
|
||||||
BB - Absorb
|
Life
|
||||||
RG - Sustain
|
Speed
|
||||||
GB - Amplify
|
|
||||||
RB - Haste
|
|
||||||
|
|
||||||
# Debuff Base #
|
Banish
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
RR - Restrict
|
Break
|
||||||
GG - Purge
|
Power
|
||||||
BB - Curse
|
Life
|
||||||
RG - Slow
|
Speed
|
||||||
GB - Siphon
|
|
||||||
RB - Invert
|
|
||||||
|
|
||||||
# Block Base #
|
### Block Base
|
||||||
|
|
||||||
RR - Counter
|
Counter
|
||||||
GG - Reflect
|
Power
|
||||||
BB - Electrify
|
Life
|
||||||
RG - Intercept
|
Speed
|
||||||
GB - Life `rename?`
|
|
||||||
RB - Recharge
|
|
||||||
|
|
||||||
|
Reflect
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
## Advanced combos ##
|
Purify
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
Two ways of upgrading
|
Sustain
|
||||||
#1 -> combine more of the same for a stronger version of the same skill / spec (T2 / T3 Combos)
|
Power
|
||||||
#2 -> combine skill with two matching colour specs to change the way the skill works (Spec / Skill hybrid)
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
### T2 / T3 Combos ###
|
Electrify
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
All current specs / items can be further combo'd into T2 and T3 versions
|
Recharge
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
# 3 of same base => 1 upgraded tier #
|
### Buff Base
|
||||||
`3 x T1 Red Damage Spec => T2 Red Damage Spec`
|
|
||||||
`3 x T2 Red Damage Spec => T3 Red Damage Spec`
|
|
||||||
`3 x T1 Strike => T2 Strike`
|
|
||||||
`3 x T2 Strike => T3 Strike`
|
|
||||||
|
|
||||||
Upgraded skills will have a combination of higher damage / longer duration / reduced cooldown
|
Intercept
|
||||||
Upgraded skills use the same speed formula as previously
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
### Spec / Skill hybrid specs ###
|
Triage
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
# Strike #
|
Absorb
|
||||||
2 x Red Damage + Strike => Strike damage bonus (crit?)
|
Power (Gain X Power when you take damage)
|
||||||
2 x Red Speed + Strike => Strike reduces enemy speed
|
Life (Gain X Life when you take damage)
|
||||||
2 x Red Life + Strike => Strike reduces enemy healing (% reduction)
|
Speed (Gain X Speed when you take damage)
|
||||||
|
|
||||||
# Heal #
|
Amplify
|
||||||
2 x Green Damage + Heal => Heal target for additional 20% of caster's maximum life
|
Power
|
||||||
2 x Green Speed + Heal => Heal target gets bonus speed
|
Life
|
||||||
2 x Green Life + Heal => Heal increases target's max hp for 2 turns
|
Speed
|
||||||
|
|
||||||
etc etc
|
Haste
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
30 skills * 3 specs => 90 spec / skill hybrid specs -> might be overcomplicated
|
Hybrid
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
### Debuff Base
|
||||||
|
|
||||||
|
Purge
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Invert
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Restrict
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Silence
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Curse
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Decay
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
@ -34,8 +34,12 @@ Player Events e.g. chatwheel
|
|||||||
Matchmaking + ELO / Leaderboard
|
Matchmaking + ELO / Leaderboard
|
||||||
Game skill private fields
|
Game skill private fields
|
||||||
|
|
||||||
|
# Phase 4 (Release -> Full Shill mode)
|
||||||
|
|
||||||
Refine artwork, icons, scaling etc
|
Refine artwork, icons, scaling etc
|
||||||
Music
|
Music
|
||||||
|
Skill Specs
|
||||||
|
Some sort viewable combat log
|
||||||
|
|
||||||
Marketing materials
|
Marketing materials
|
||||||
Videos
|
Videos
|
||||||
|
|||||||
18
WORKLOG.md
18
WORKLOG.md
@ -50,23 +50,7 @@ _tba_
|
|||||||
|
|
||||||
## SOON
|
## SOON
|
||||||
|
|
||||||
* combo rework
|
* Skill / Spec hybrids - SEE COMBOS.md
|
||||||
- reduce number of items for creating t2/t3 items from 3 -> 2
|
|
||||||
- add lost complexity by adding skill spec items
|
|
||||||
- Created by combining a skill with corresponding spec
|
|
||||||
e.g.
|
|
||||||
- Strike + PowerRR -> StrikePower (Will be the power symbol with strike text under)
|
|
||||||
- Construct does Y% more damage with Strike
|
|
||||||
- Strike + SpeedRR -> StrikeSpeed (strike has Y% more speed)
|
|
||||||
- Strike + LifeRR -> StrikeLife (Strike recharges X% of damage as red life)
|
|
||||||
|
|
||||||
- Can also work as module style passive keystones
|
|
||||||
* troll life -> dmg -> Invert life spec?
|
|
||||||
* prince of peace
|
|
||||||
* bonus healing / no damage -> Heal power spec?
|
|
||||||
* fuck magic -> Some sort of reflect spec?
|
|
||||||
* empower on ko -> Amplify + Power spec
|
|
||||||
|
|
||||||
* elo + leaderboards
|
* elo + leaderboards
|
||||||
|
|
||||||
## LATER
|
## LATER
|
||||||
|
|||||||
@ -1082,7 +1082,7 @@ mod tests {
|
|||||||
|
|
||||||
let colours = Colours::from_construct(&construct);
|
let colours = Colours::from_construct(&construct);
|
||||||
assert!(colours.red == 4);
|
assert!(colours.red == 4);
|
||||||
assert!(colours.blue == 20);
|
assert!(colours.blue == 10);
|
||||||
assert!(colours.green == 2);
|
assert!(colours.green == 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -959,37 +959,51 @@ impl Item {
|
|||||||
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue],
|
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue],
|
||||||
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
||||||
Item::Hybrid => vec![Item::Buff, Item::Green, Item::Blue],
|
Item::Hybrid => vec![Item::Buff, Item::Green, Item::Blue],
|
||||||
Item::InterceptPlus => vec![Item::Intercept, Item::Intercept, Item::Intercept],
|
|
||||||
Item::InterceptPlusPlus => vec![Item::InterceptPlus, Item::InterceptPlus, Item::InterceptPlus],
|
|
||||||
Item::TriagePlus => vec![Item::Triage, Item::Triage, Item::Triage],
|
|
||||||
Item::TriagePlusPlus => vec![Item::TriagePlus, Item::TriagePlus, Item::TriagePlus],
|
|
||||||
Item::HastePlus => vec![Item::Haste, Item::Haste, Item::Haste],
|
|
||||||
Item::HastePlusPlus => vec![Item::HastePlus, Item::HastePlus, Item::HastePlus],
|
|
||||||
Item::HybridPlus => vec![Item::Hybrid, Item::Hybrid, Item::Hybrid],
|
|
||||||
Item::HybridPlusPlus => vec![Item::HybridPlus, Item::HybridPlus, Item::HybridPlus],
|
|
||||||
Item::AbsorbPlus => vec![Item::Absorb, Item::Absorb, Item::Absorb],
|
|
||||||
Item::AbsorbPlusPlus => vec![Item::AbsorbPlus, Item::AbsorbPlus, Item::AbsorbPlus],
|
|
||||||
Item::AmplifyPlus => vec![Item::Amplify, Item::Amplify, Item::Amplify],
|
|
||||||
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
|
||||||
|
|
||||||
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
Item::InterceptPlus => vec![Item::Intercept, Item::Intercept],
|
||||||
|
Item::InterceptPlusPlus => vec![Item::InterceptPlus, Item::InterceptPlus],
|
||||||
|
|
||||||
|
Item::TriagePlus => vec![Item::Triage, Item::Triage],
|
||||||
|
Item::TriagePlusPlus => vec![Item::TriagePlus, Item::TriagePlus],
|
||||||
|
|
||||||
|
Item::AbsorbPlus => vec![Item::Absorb, Item::Absorb],
|
||||||
|
Item::AbsorbPlusPlus => vec![Item::AbsorbPlus, Item::AbsorbPlus],
|
||||||
|
|
||||||
|
Item::AmplifyPlus => vec![Item::Amplify, Item::Amplify],
|
||||||
|
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus],
|
||||||
|
|
||||||
|
Item::HastePlus => vec![Item::Haste, Item::Haste],
|
||||||
|
Item::HastePlusPlus => vec![Item::HastePlus, Item::HastePlus],
|
||||||
|
|
||||||
|
Item::HybridPlus => vec![Item::Hybrid, Item::Hybrid],
|
||||||
|
Item::HybridPlusPlus => vec![Item::HybridPlus, Item::HybridPlus],
|
||||||
|
|
||||||
|
|
||||||
|
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green],
|
||||||
Item::Invert => vec![Item::Debuff, Item::Red, Item::Green],
|
Item::Invert => vec![Item::Debuff, Item::Red, Item::Green],
|
||||||
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
||||||
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
||||||
Item::Curse => vec![Item::Debuff, Item::Red, Item::Blue],
|
Item::Curse => vec![Item::Debuff, Item::Red, Item::Blue],
|
||||||
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
||||||
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
|
||||||
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
Item::PurgePlus => vec![Item::Purge, Item::Purge],
|
||||||
Item::PurgePlus => vec![Item::Purge, Item::Purge, Item::Purge], // Needs flavour
|
Item::PurgePlusPlus => vec![Item::PurgePlus, Item::PurgePlus],
|
||||||
Item::PurgePlusPlus => vec![Item::PurgePlus, Item::PurgePlus, Item::PurgePlus], // Needs flavour
|
|
||||||
Item::SilencePlus => vec![Item::Silence, Item::Silence, Item::Silence],
|
Item::InvertPlus => vec![Item::Invert, Item::Invert],
|
||||||
Item::SilencePlusPlus => vec![Item::SilencePlus, Item::SilencePlus, Item::SilencePlus],
|
Item::InvertPlusPlus => vec![Item::InvertPlus, Item::InvertPlus],
|
||||||
Item::CursePlus => vec![Item::Curse, Item::Curse, Item::Curse],
|
|
||||||
Item::CursePlusPlus => vec![Item::CursePlus, Item::CursePlus, Item::CursePlus],
|
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict],
|
||||||
Item::DecayPlus => vec![Item::Decay, Item::Decay, Item::Decay],
|
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus],
|
||||||
Item::DecayPlusPlus => vec![Item::DecayPlus, Item::DecayPlus, Item::DecayPlus],
|
|
||||||
Item::InvertPlus => vec![Item::Invert, Item::Invert, Item::Invert],
|
Item::SilencePlus => vec![Item::Silence, Item::Silence],
|
||||||
Item::InvertPlusPlus => vec![Item::InvertPlus, Item::InvertPlus, Item::InvertPlus],
|
Item::SilencePlusPlus => vec![Item::SilencePlus, Item::SilencePlus],
|
||||||
|
|
||||||
|
Item::CursePlus => vec![Item::Curse, Item::Curse],
|
||||||
|
Item::CursePlusPlus => vec![Item::CursePlus, Item::CursePlus],
|
||||||
|
|
||||||
|
Item::DecayPlus => vec![Item::Decay, Item::Decay],
|
||||||
|
Item::DecayPlusPlus => vec![Item::DecayPlus, Item::DecayPlus],
|
||||||
|
|
||||||
|
|
||||||
Item::Counter => vec![Item::Block, Item::Red, Item::Red],
|
Item::Counter => vec![Item::Block, Item::Red, Item::Red],
|
||||||
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
||||||
@ -997,18 +1011,24 @@ impl Item {
|
|||||||
Item::Sustain => vec![Item::Block, Item::Red, Item::Green],
|
Item::Sustain => vec![Item::Block, Item::Red, Item::Green],
|
||||||
Item::Electrify => vec![Item::Block, Item::Blue, Item::Blue],
|
Item::Electrify => vec![Item::Block, Item::Blue, Item::Blue],
|
||||||
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
||||||
Item::CounterPlus => vec![Item::Counter, Item::Counter, Item::Counter],
|
|
||||||
Item::CounterPlusPlus => vec![Item::CounterPlus, Item::CounterPlus, Item::CounterPlus], // Add red recharge
|
Item::CounterPlus => vec![Item::Counter, Item::Counter],
|
||||||
Item::PurifyPlus => vec![Item::Purify, Item::Purify, Item::Purify],
|
Item::CounterPlusPlus => vec![Item::CounterPlus, Item::CounterPlus],
|
||||||
Item::PurifyPlusPlus => vec![Item::PurifyPlus, Item::PurifyPlus, Item::PurifyPlus],
|
|
||||||
Item::ElectrifyPlus => vec![Item::Electrify, Item::Electrify, Item::Electrify],
|
Item::PurifyPlus => vec![Item::Purify, Item::Purify],
|
||||||
Item::ElectrifyPlusPlus => vec![Item::ElectrifyPlus, Item::ElectrifyPlus, Item::ElectrifyPlus],
|
Item::PurifyPlusPlus => vec![Item::PurifyPlus, Item::PurifyPlus],
|
||||||
Item::SustainPlus => vec![Item::Sustain, Item::Sustain, Item::Sustain],
|
|
||||||
Item::SustainPlusPlus => vec![Item::SustainPlus, Item::SustainPlus, Item::SustainPlus],
|
Item::ElectrifyPlus => vec![Item::Electrify, Item::Electrify],
|
||||||
Item::ReflectPlus => vec![Item::Reflect, Item::Reflect, Item::Reflect],
|
Item::ElectrifyPlusPlus => vec![Item::ElectrifyPlus, Item::ElectrifyPlus],
|
||||||
Item::ReflectPlusPlus => vec![Item::ReflectPlus, Item::ReflectPlus, Item::ReflectPlus],
|
|
||||||
Item::RechargePlus => vec![Item::Recharge, Item::Recharge, Item::Recharge],
|
Item::SustainPlus => vec![Item::Sustain, Item::Sustain],
|
||||||
Item::RechargePlusPlus => vec![Item::RechargePlus, Item::RechargePlus, Item::RechargePlus],
|
Item::SustainPlusPlus => vec![Item::SustainPlus, Item::SustainPlus],
|
||||||
|
|
||||||
|
Item::ReflectPlus => vec![Item::Reflect, Item::Reflect],
|
||||||
|
Item::ReflectPlusPlus => vec![Item::ReflectPlus, Item::ReflectPlus, ],
|
||||||
|
|
||||||
|
Item::RechargePlus => vec![Item::Recharge, Item::Recharge],
|
||||||
|
Item::RechargePlusPlus => vec![Item::RechargePlus, Item::RechargePlus],
|
||||||
|
|
||||||
Item::Bash => vec![Item::Stun, Item::Red, Item::Red],
|
Item::Bash => vec![Item::Stun, Item::Red, Item::Red],
|
||||||
Item::Sleep => vec![Item::Stun, Item::Green, Item::Green],
|
Item::Sleep => vec![Item::Stun, Item::Green, Item::Green],
|
||||||
@ -1016,18 +1036,25 @@ impl Item {
|
|||||||
Item::Link => vec![Item::Stun, Item::Blue, Item::Green],
|
Item::Link => vec![Item::Stun, Item::Blue, Item::Green],
|
||||||
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
||||||
Item::Break => vec![Item::Stun, Item::Red, Item::Green],
|
Item::Break => vec![Item::Stun, Item::Red, Item::Green],
|
||||||
Item::BashPlus => vec![Item::Bash, Item::Bash, Item::Bash],
|
|
||||||
Item::BashPlusPlus => vec![Item::BashPlus, Item::BashPlus, Item::BashPlus],
|
Item::BashPlus => vec![Item::Bash, Item::Bash],
|
||||||
Item::SleepPlus => vec![Item::Sleep, Item::Sleep, Item::Sleep],
|
Item::BashPlusPlus => vec![Item::BashPlus, Item::BashPlus],
|
||||||
Item::SleepPlusPlus => vec![Item::SleepPlus, Item::SleepPlus, Item::SleepPlus],
|
|
||||||
Item::RuinPlus => vec![Item::Ruin, Item::Ruin, Item::Ruin],
|
Item::SleepPlus => vec![Item::Sleep, Item::Sleep],
|
||||||
Item::RuinPlusPlus => vec![Item::RuinPlus, Item::RuinPlus, Item::RuinPlus],
|
Item::SleepPlusPlus => vec![Item::SleepPlus, Item::SleepPlus,],
|
||||||
Item::BreakPlus => vec![Item::Break, Item::Break, Item::Break],
|
|
||||||
Item::BreakPlusPlus => vec![Item::BreakPlus, Item::BreakPlus, Item::BreakPlus],
|
Item::RuinPlus => vec![Item::Ruin, Item::Ruin],
|
||||||
Item::LinkPlus => vec![Item::Link, Item::Link, Item::Link],
|
Item::RuinPlusPlus => vec![Item::RuinPlus, Item::RuinPlus],
|
||||||
Item::LinkPlusPlus => vec![Item::LinkPlus, Item::LinkPlus, Item::LinkPlus],
|
|
||||||
Item::BanishPlus => vec![Item::Banish, Item::Banish, Item::Banish],
|
Item::LinkPlus => vec![Item::Link, Item::Link],
|
||||||
Item::BanishPlusPlus => vec![Item::BanishPlus, Item::BanishPlus, Item::BanishPlus],
|
Item::LinkPlusPlus => vec![Item::LinkPlus, Item::LinkPlus],
|
||||||
|
|
||||||
|
Item::BanishPlus => vec![Item::Banish, Item::Banish],
|
||||||
|
Item::BanishPlusPlus => vec![Item::BanishPlus, Item::BanishPlus],
|
||||||
|
|
||||||
|
Item::BreakPlus => vec![Item::Break, Item::Break],
|
||||||
|
Item::BreakPlusPlus => vec![Item::BreakPlus, Item::BreakPlus],
|
||||||
|
|
||||||
|
|
||||||
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
||||||
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
||||||
@ -1035,18 +1062,24 @@ impl Item {
|
|||||||
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
||||||
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
||||||
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
||||||
Item::StrikePlus => vec![Item::Strike, Item::Strike, Item::Strike],
|
|
||||||
Item::StrikePlusPlus => vec![Item::StrikePlus, Item::StrikePlus, Item::StrikePlus],
|
Item::StrikePlus => vec![Item::Strike, Item::Strike],
|
||||||
Item::HealPlus => vec![Item::Heal, Item::Heal, Item::Heal],
|
Item::StrikePlusPlus => vec![Item::StrikePlus, Item::StrikePlus],
|
||||||
Item::HealPlusPlus => vec![Item::HealPlus, Item::HealPlus, Item::HealPlus],
|
|
||||||
Item::BlastPlus => vec![Item::Blast, Item::Blast, Item::Blast],
|
Item::ChaosPlus => vec![Item::Chaos, Item::Chaos],
|
||||||
Item::BlastPlusPlus => vec![Item::BlastPlus, Item::BlastPlus, Item::BlastPlus],
|
Item::ChaosPlusPlus => vec![Item::ChaosPlus, Item::ChaosPlus],
|
||||||
Item::SlayPlus => vec![Item::Slay, Item::Slay, Item::Slay],
|
|
||||||
Item::SlayPlusPlus => vec![Item::SlayPlus, Item::SlayPlus, Item::SlayPlus],
|
Item::HealPlus => vec![Item::Heal, Item::Heal],
|
||||||
Item::SiphonPlus => vec![Item::Siphon, Item::Siphon, Item::Siphon],
|
Item::HealPlusPlus => vec![Item::HealPlus, Item::HealPlus],
|
||||||
Item::SiphonPlusPlus => vec![Item::SiphonPlus, Item::SiphonPlus, Item::SiphonPlus],
|
|
||||||
Item::ChaosPlus => vec![Item::Chaos, Item::Chaos, Item::Chaos],
|
Item::BlastPlus => vec![Item::Blast, Item::Blast],
|
||||||
Item::ChaosPlusPlus => vec![Item::ChaosPlus, Item::ChaosPlus, Item::ChaosPlus],
|
Item::BlastPlusPlus => vec![Item::BlastPlus, Item::BlastPlus],
|
||||||
|
|
||||||
|
Item::SlayPlus => vec![Item::Slay, Item::Slay],
|
||||||
|
Item::SlayPlusPlus => vec![Item::SlayPlus, Item::SlayPlus],
|
||||||
|
|
||||||
|
Item::SiphonPlus => vec![Item::Siphon, Item::Siphon],
|
||||||
|
Item::SiphonPlusPlus => vec![Item::SiphonPlus, Item::SiphonPlus],
|
||||||
|
|
||||||
Item::PowerRR => vec![Item::Power, Item::Red, Item::Red],
|
Item::PowerRR => vec![Item::Power, Item::Red, Item::Red],
|
||||||
Item::PowerGG => vec![Item::Power, Item::Green, Item::Green],
|
Item::PowerGG => vec![Item::Power, Item::Green, Item::Green],
|
||||||
@ -1054,18 +1087,18 @@ impl Item {
|
|||||||
Item::PowerRG => vec![Item::Power, Item::Red, Item::Green],
|
Item::PowerRG => vec![Item::Power, Item::Red, Item::Green],
|
||||||
Item::PowerGB => vec![Item::Power, Item::Green, Item::Blue],
|
Item::PowerGB => vec![Item::Power, Item::Green, Item::Blue],
|
||||||
Item::PowerRB => vec![Item::Power, Item::Red, Item::Blue],
|
Item::PowerRB => vec![Item::Power, Item::Red, Item::Blue],
|
||||||
Item::PowerRRPlus => vec![Item::PowerRR, Item::PowerRR, Item::PowerRR],
|
Item::PowerRRPlus => vec![Item::PowerRR, Item::PowerRR],
|
||||||
Item::PowerGGPlus => vec![Item::PowerGG, Item::PowerGG, Item::PowerGG],
|
Item::PowerGGPlus => vec![Item::PowerGG, Item::PowerGG],
|
||||||
Item::PowerBBPlus => vec![Item::PowerBB, Item::PowerBB, Item::PowerBB],
|
Item::PowerBBPlus => vec![Item::PowerBB, Item::PowerBB],
|
||||||
Item::PowerRGPlus => vec![Item::PowerRG, Item::PowerRG, Item::PowerRG],
|
Item::PowerRGPlus => vec![Item::PowerRG, Item::PowerRG],
|
||||||
Item::PowerGBPlus => vec![Item::PowerGB, Item::PowerGB, Item::PowerGB],
|
Item::PowerGBPlus => vec![Item::PowerGB, Item::PowerGB],
|
||||||
Item::PowerRBPlus => vec![Item::PowerRB, Item::PowerRB, Item::PowerRB],
|
Item::PowerRBPlus => vec![Item::PowerRB, Item::PowerRB],
|
||||||
Item::PowerRRPlusPlus => vec![Item::PowerRRPlus, Item::PowerRRPlus, Item::PowerRRPlus],
|
Item::PowerRRPlusPlus => vec![Item::PowerRRPlus, Item::PowerRRPlus],
|
||||||
Item::PowerGGPlusPlus => vec![Item::PowerGGPlus, Item::PowerGGPlus, Item::PowerGGPlus],
|
Item::PowerGGPlusPlus => vec![Item::PowerGGPlus, Item::PowerGGPlus],
|
||||||
Item::PowerBBPlusPlus => vec![Item::PowerBBPlus, Item::PowerBBPlus, Item::PowerBBPlus],
|
Item::PowerBBPlusPlus => vec![Item::PowerBBPlus, Item::PowerBBPlus],
|
||||||
Item::PowerRGPlusPlus => vec![Item::PowerRGPlus, Item::PowerRGPlus, Item::PowerRGPlus],
|
Item::PowerRGPlusPlus => vec![Item::PowerRGPlus, Item::PowerRGPlus],
|
||||||
Item::PowerGBPlusPlus => vec![Item::PowerGBPlus, Item::PowerGBPlus, Item::PowerGBPlus],
|
Item::PowerGBPlusPlus => vec![Item::PowerGBPlus, Item::PowerGBPlus],
|
||||||
Item::PowerRBPlusPlus => vec![Item::PowerRBPlus, Item::PowerRBPlus, Item::PowerRBPlus],
|
Item::PowerRBPlusPlus => vec![Item::PowerRBPlus, Item::PowerRBPlus],
|
||||||
|
|
||||||
Item::LifeRR => vec![Item::Life, Item::Red, Item::Red],
|
Item::LifeRR => vec![Item::Life, Item::Red, Item::Red],
|
||||||
Item::LifeGG => vec![Item::Life, Item::Green, Item::Green],
|
Item::LifeGG => vec![Item::Life, Item::Green, Item::Green],
|
||||||
@ -1073,18 +1106,18 @@ impl Item {
|
|||||||
Item::LifeRG => vec![Item::Life, Item::Red, Item::Green],
|
Item::LifeRG => vec![Item::Life, Item::Red, Item::Green],
|
||||||
Item::LifeGB => vec![Item::Life, Item::Green, Item::Blue],
|
Item::LifeGB => vec![Item::Life, Item::Green, Item::Blue],
|
||||||
Item::LifeRB => vec![Item::Life, Item::Red, Item::Blue],
|
Item::LifeRB => vec![Item::Life, Item::Red, Item::Blue],
|
||||||
Item::LifeRRPlus => vec![Item::LifeRR, Item::LifeRR, Item::LifeRR],
|
Item::LifeRRPlus => vec![Item::LifeRR, Item::LifeRR],
|
||||||
Item::LifeGGPlus => vec![Item::LifeGG, Item::LifeGG, Item::LifeGG],
|
Item::LifeGGPlus => vec![Item::LifeGG, Item::LifeGG],
|
||||||
Item::LifeBBPlus => vec![Item::LifeBB, Item::LifeBB, Item::LifeBB],
|
Item::LifeBBPlus => vec![Item::LifeBB, Item::LifeBB],
|
||||||
Item::LifeRGPlus => vec![Item::LifeRG, Item::LifeRG, Item::LifeRG],
|
Item::LifeRGPlus => vec![Item::LifeRG, Item::LifeRG],
|
||||||
Item::LifeGBPlus => vec![Item::LifeGB, Item::LifeGB, Item::LifeGB],
|
Item::LifeGBPlus => vec![Item::LifeGB, Item::LifeGB],
|
||||||
Item::LifeRBPlus => vec![Item::LifeRB, Item::LifeRB, Item::LifeRB],
|
Item::LifeRBPlus => vec![Item::LifeRB, Item::LifeRB],
|
||||||
Item::LifeRRPlusPlus => vec![Item::LifeRRPlus, Item::LifeRRPlus, Item::LifeRRPlus],
|
Item::LifeRRPlusPlus => vec![Item::LifeRRPlus, Item::LifeRRPlus],
|
||||||
Item::LifeGGPlusPlus => vec![Item::LifeGGPlus, Item::LifeGGPlus, Item::LifeGGPlus],
|
Item::LifeGGPlusPlus => vec![Item::LifeGGPlus, Item::LifeGGPlus],
|
||||||
Item::LifeBBPlusPlus => vec![Item::LifeBBPlus, Item::LifeBBPlus, Item::LifeBBPlus],
|
Item::LifeBBPlusPlus => vec![Item::LifeBBPlus, Item::LifeBBPlus],
|
||||||
Item::LifeRGPlusPlus => vec![Item::LifeRGPlus, Item::LifeRGPlus, Item::LifeRGPlus],
|
Item::LifeRGPlusPlus => vec![Item::LifeRGPlus, Item::LifeRGPlus],
|
||||||
Item::LifeGBPlusPlus => vec![Item::LifeGBPlus, Item::LifeGBPlus, Item::LifeGBPlus],
|
Item::LifeGBPlusPlus => vec![Item::LifeGBPlus, Item::LifeGBPlus],
|
||||||
Item::LifeRBPlusPlus => vec![Item::LifeRBPlus, Item::LifeRBPlus, Item::LifeRBPlus],
|
Item::LifeRBPlusPlus => vec![Item::LifeRBPlus, Item::LifeRBPlus],
|
||||||
|
|
||||||
Item::SpeedRR => vec![Item::Speed, Item::Red, Item::Red],
|
Item::SpeedRR => vec![Item::Speed, Item::Red, Item::Red],
|
||||||
Item::SpeedGG => vec![Item::Speed, Item::Green, Item::Green],
|
Item::SpeedGG => vec![Item::Speed, Item::Green, Item::Green],
|
||||||
@ -1092,18 +1125,18 @@ impl Item {
|
|||||||
Item::SpeedRG => vec![Item::Speed, Item::Red, Item::Green],
|
Item::SpeedRG => vec![Item::Speed, Item::Red, Item::Green],
|
||||||
Item::SpeedGB => vec![Item::Speed, Item::Green, Item::Blue],
|
Item::SpeedGB => vec![Item::Speed, Item::Green, Item::Blue],
|
||||||
Item::SpeedRB => vec![Item::Speed, Item::Red, Item::Blue],
|
Item::SpeedRB => vec![Item::Speed, Item::Red, Item::Blue],
|
||||||
Item::SpeedRRPlus => vec![Item::SpeedRR, Item::SpeedRR, Item::SpeedRR],
|
Item::SpeedRRPlus => vec![Item::SpeedRR, Item::SpeedRR],
|
||||||
Item::SpeedGGPlus => vec![Item::SpeedGG, Item::SpeedGG, Item::SpeedGG],
|
Item::SpeedGGPlus => vec![Item::SpeedGG, Item::SpeedGG],
|
||||||
Item::SpeedBBPlus => vec![Item::SpeedBB, Item::SpeedBB, Item::SpeedBB],
|
Item::SpeedBBPlus => vec![Item::SpeedBB, Item::SpeedBB],
|
||||||
Item::SpeedRGPlus => vec![Item::SpeedRG, Item::SpeedRG, Item::SpeedRG],
|
Item::SpeedRGPlus => vec![Item::SpeedRG, Item::SpeedRG],
|
||||||
Item::SpeedGBPlus => vec![Item::SpeedGB, Item::SpeedGB, Item::SpeedGB],
|
Item::SpeedGBPlus => vec![Item::SpeedGB, Item::SpeedGB],
|
||||||
Item::SpeedRBPlus => vec![Item::SpeedRB, Item::SpeedRB, Item::SpeedRB],
|
Item::SpeedRBPlus => vec![Item::SpeedRB, Item::SpeedRB],
|
||||||
Item::SpeedRRPlusPlus => vec![Item::SpeedRRPlus, Item::SpeedRRPlus, Item::SpeedRRPlus],
|
Item::SpeedRRPlusPlus => vec![Item::SpeedRRPlus, Item::SpeedRRPlus],
|
||||||
Item::SpeedGGPlusPlus => vec![Item::SpeedGGPlus, Item::SpeedGGPlus, Item::SpeedGGPlus],
|
Item::SpeedGGPlusPlus => vec![Item::SpeedGGPlus, Item::SpeedGGPlus],
|
||||||
Item::SpeedBBPlusPlus => vec![Item::SpeedBBPlus, Item::SpeedBBPlus, Item::SpeedBBPlus],
|
Item::SpeedBBPlusPlus => vec![Item::SpeedBBPlus, Item::SpeedBBPlus],
|
||||||
Item::SpeedRGPlusPlus => vec![Item::SpeedRGPlus, Item::SpeedRGPlus, Item::SpeedRGPlus],
|
Item::SpeedRGPlusPlus => vec![Item::SpeedRGPlus, Item::SpeedRGPlus],
|
||||||
Item::SpeedGBPlusPlus => vec![Item::SpeedGBPlus, Item::SpeedGBPlus, Item::SpeedGBPlus],
|
Item::SpeedGBPlusPlus => vec![Item::SpeedGBPlus, Item::SpeedGBPlus],
|
||||||
Item::SpeedRBPlusPlus => vec![Item::SpeedRBPlus, Item::SpeedRBPlus, Item::SpeedRBPlus],
|
Item::SpeedRBPlusPlus => vec![Item::SpeedRBPlus, Item::SpeedRBPlus],
|
||||||
|
|
||||||
_ => vec![*self],
|
_ => vec![*self],
|
||||||
}
|
}
|
||||||
@ -1338,7 +1371,7 @@ pub fn get_combos() -> Vec<Combo> {
|
|||||||
Combo { components: Item::Restrict.combo(), item: Item::Restrict },
|
Combo { components: Item::Restrict.combo(), item: Item::Restrict },
|
||||||
Combo { components: Item::RestrictPlus.combo(), item: Item::RestrictPlus },
|
Combo { components: Item::RestrictPlus.combo(), item: Item::RestrictPlus },
|
||||||
Combo { components: Item::RestrictPlusPlus.combo(), item: Item::RestrictPlusPlus },
|
Combo { components: Item::RestrictPlusPlus.combo(), item: Item::RestrictPlusPlus },
|
||||||
Combo { components: Item::Purge.combo(), item: Item::Purge }, // Needs flavour
|
Combo { components: Item::Purge.combo(), item: Item::Purge },
|
||||||
Combo { components: Item::PurgePlus.combo(), item: Item::PurgePlus },
|
Combo { components: Item::PurgePlus.combo(), item: Item::PurgePlus },
|
||||||
Combo { components: Item::PurgePlusPlus.combo(), item: Item::PurgePlusPlus },
|
Combo { components: Item::PurgePlusPlus.combo(), item: Item::PurgePlusPlus },
|
||||||
|
|
||||||
@ -1556,20 +1589,13 @@ mod tests {
|
|||||||
assert_eq!(Item::StrikePlus.components(), vec![
|
assert_eq!(Item::StrikePlus.components(), vec![
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
]);
|
]);
|
||||||
assert_eq!(Item::StrikePlusPlus.components(), vec![
|
assert_eq!(Item::StrikePlusPlus.components(), vec![
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user