combo combos

This commit is contained in:
ntr 2019-02-18 17:53:20 +11:00
parent a3759f7568
commit 0db40b6fdc
2 changed files with 75 additions and 46 deletions

View File

@ -55,43 +55,43 @@ Debuff `Base enemy debuff - reduce enemy speed`
# Nature Type (red) #
Bite - (Attack + 3R) Deal significant `Red` damage
Strangle - (Stun + 3R) - Applies stun and physical dot
Regenerate - (Buff + 3R) Restore red defense for target ally
Snare - (Debuff + 3R) Disable enemy red skills for (3?) turns
Parry - (Block + 3R) Avoid all damage for this turn
Bite - (Attack RR) Deal significant `Red` damage
Strangle - (Stun RR) - Applies stun and physical dot
Regenerate - (Buff RR) Restore red defense for target ally
Snare - (Debuff RR) Disable enemy red skills for (3?) turns
Parry - (Block RR) Avoid all damage for this turn
# Destruction Type (blue) #
Blast - (Attack + 3B) Deal significant `Blue` damage
Ruin - (Stun + 3B) - AOE stun on the enemy team for remaind of turn
Amplify - (Buff + 3B) Increased blue damage dealt by target ally
Curse - (Debuff + 3B) Decrease damage dealt by target enemy
Plague Shield - (Block + 3B) Apply dot debuff to attackers
Blast - (Attack BB) Deal significant `Blue` damage
Ruin - (Stun BB) - AOE stun on the enemy team for remaind of turn
Amplify - (Buff BB) Increased blue damage dealt by target ally
Curse - (Debuff BB) Decrease damage dealt by target enemy
Plague Shield - (Block BB) Apply dot debuff to attackers
# Non-Violence Type (green) #
Heal - (Attack + 3G) Heal ally for X
Throw - (Stun + 3G) - Disable target and increase damage taken
Triage - (Buff + 3G) Buff which heals ally for X over Y turns
Purge - (Debuff + 3G) - Remove all enemy target buffs
Reflect - (Block + 3G) - Will use targetted attacks on source
Heal - (Attack GG) Heal ally for X
Throw - (Stun GG) - Disable target and increase damage taken
Triage - (Buff GG) Buff which heals ally for X over Y turns
Purge - (Debuff GG) - Remove all enemy target buffs
Reflect - (Block GG) - Will use targetted attacks on source
# Chaos Type (red / blue) #
Bannish - (Attack + 1R + 2B) - deal `Hybrid Red & Blue` + enemy can't attack or be attacked 3 turns
Hex - (Stun + 2R + 1B) - enemy stunned for 3 turns
Haste - (Buff + 2R + 1B) - significantly increase ally speed
Slow - (Debuff + 1R + 2B) - significantly decrease enemy speed
Taunt - (Block + 2B + 1R) - Redirect all enemy targetted skills
Bannish - (Attack RB) - deal `Hybrid Red & Blue` + enemy can't attack or be attacked 3 turns
Hex - (Stun RB) - enemy stunned for 3 turns
Haste - (Buff RB) - significantly increase ally speed
Slow - (Debuff RB) - significantly decrease enemy speed
Taunt - (Block RB) - Redirect all enemy targetted skills
# Purity Type (red / green) #
Slay - (Attack + 1G + 2R) - deal `Red` damage. Bonus damage if the target has blue defense
Slay - (Attack + 1G + 1R) - deal `Red` damage. Bonus damage if the target has blue defense
Silence - (Stun + 2G + 1R) - enemy can't use blue skills for 3 turns
Purify - (Buff + 2G + 1R) - remove all debuffs from target
Empower - (Buff + 1G + 2R) - Increased red damage dealt by target ally
???? - (Debuff + 1R + 2B) - ???
Empower - (Buff + 1G + 1R) - Increased red damage dealt by target ally
???? - (Debuff RB) - ???
Shield - (Block + 2G + 1R) - Take no blue damage for the next 3 turns
# Technology Type (green / blue) type - ??? maybe rework and rename #

View File

@ -28,6 +28,8 @@ pub enum Var {
Buff,
Debuff,
Strike,
Blast,
Heal,
Throw,
Hex,
@ -147,36 +149,63 @@ impl Vbox {
acc
});
let colour_code = match colours {
[2,0,0] => "rr",
[0,2,0] => "gg",
[0,0,2] => "bb",
[1,1,0] => "rg",
[0,1,1] => "gb",
[1,0,1] => "rb",
_ => return Err(err_msg("not a combo")),
};
let new = match base {
Var::Attack => match colours {
[0,2,0] => Var::Heal,
_ => return Err(err_msg("not a combo")),
Var::Attack => match colour_code {
"rr" => Var::Strike,
"gg" => Var::Heal,
"bb" => Var::Blast,
"rg" => Var::Attack,
"gb" => Var::Attack,
"rb" => Var::Attack,
_ => panic!("missing colour code {:?}", colour_code),
},
Var::Block => match colours {
[0,2,0] => Var::Heal,
_ => return Err(err_msg("not a combo")),
Var::Block => match colour_code {
"rr" => Var::Strike,
"gg" => Var::Heal,
"bb" => Var::Blast,
"rg" => Var::Attack,
"gb" => Var::Attack,
"rb" => Var::Attack,
_ => panic!("missing colour code {:?}", colour_code),
},
Var::Buff => match colours {
[0,2,0] => Var::Heal,
[1,1,0] => Var::Heal,
[0,1,1] => Var::Heal,
_ => return Err(err_msg("not a combo")),
Var::Buff => match colour_code {
"rr" => Var::Strike,
"gg" => Var::Heal,
"bb" => Var::Blast,
"rg" => Var::Attack,
"gb" => Var::Attack,
"rb" => Var::Attack,
_ => panic!("missing colour code {:?}", colour_code),
},
Var::Debuff => match colours {
[0,2,0] => Var::Heal,
_ => return Err(err_msg("not a combo")),
Var::Debuff => match colour_code {
"rr" => Var::Strike,
"gg" => Var::Heal,
"bb" => Var::Blast,
"rg" => Var::Attack,
"gb" => Var::Attack,
"rb" => Var::Attack,
_ => panic!("missing colour code {:?}", colour_code),
},
Var::Stun => match colours {
[2,0,0] => Var::Throw,
[0,0,2] => Var::Hex,
_ => return Err(err_msg("not a combo")),
Var::Stun => match colour_code {
"rr" => Var::Strike,
"gg" => Var::Heal,
"bb" => Var::Blast,
"rg" => Var::Attack,
"gb" => Var::Attack,
"rb" => Var::Attack,
_ => panic!("missing colour code {:?}", colour_code),
},
_ => return panic!("wrong base {:?}", base),
_ => panic!("wrong base {:?}", base),
};
self.bound.push(new);