wip
This commit is contained in:
parent
a20eaf12bc
commit
4ac0146b39
@ -870,7 +870,7 @@ mod tests {
|
||||
let mut cryp = Cryp::new()
|
||||
.named(&"redboi".to_string());
|
||||
|
||||
cryp.learn_mut(Skill::Strike);
|
||||
cryp.learn_mut(Skill::StrikeI);
|
||||
cryp.spec_add(Spec::GreenLifeI).unwrap();
|
||||
cryp.spec_add(Spec::RedDamageI).unwrap();
|
||||
cryp.spec_add(Spec::RedDamageI).unwrap();
|
||||
|
||||
@ -936,7 +936,7 @@ mod tests {
|
||||
.learn(Skill::TestBlock)
|
||||
.learn(Skill::TestParry)
|
||||
.learn(Skill::TestSiphon)
|
||||
.learn(Skill::Amplify)
|
||||
.learn(Skill::AmplifyI)
|
||||
.learn(Skill::Stun)
|
||||
.learn(Skill::Block);
|
||||
|
||||
@ -948,7 +948,7 @@ mod tests {
|
||||
.learn(Skill::TestBlock)
|
||||
.learn(Skill::TestParry)
|
||||
.learn(Skill::TestSiphon)
|
||||
.learn(Skill::Amplify)
|
||||
.learn(Skill::AmplifyI)
|
||||
.learn(Skill::Stun)
|
||||
.learn(Skill::Block);
|
||||
|
||||
|
||||
@ -46,17 +46,29 @@ pub enum Item {
|
||||
GBSpeedI,
|
||||
RBSpeedI,
|
||||
|
||||
Amplify,
|
||||
AmplifyI,
|
||||
AmplifyII,
|
||||
AmplifyIII,
|
||||
Banish,
|
||||
Blast,
|
||||
Chaos,
|
||||
Clutch,
|
||||
BlastI,
|
||||
BlastII,
|
||||
BlastIII,
|
||||
ChaosI,
|
||||
ChaosII,
|
||||
ChaosIII,
|
||||
ClutchI,
|
||||
ClutchII,
|
||||
ClutchIII,
|
||||
Corrupt,
|
||||
Curse,
|
||||
CurseI,
|
||||
CurseII,
|
||||
CurseIII,
|
||||
Decay,
|
||||
Hostility,
|
||||
Haste,
|
||||
Heal,
|
||||
HealI,
|
||||
HealII,
|
||||
HealIII,
|
||||
Hex,
|
||||
Impurity,
|
||||
Invert,
|
||||
@ -72,7 +84,7 @@ pub enum Item {
|
||||
Sleep,
|
||||
Snare,
|
||||
Strangle,
|
||||
Strike,
|
||||
StrikeI,
|
||||
StrikeII,
|
||||
StrikeIII,
|
||||
Siphon,
|
||||
@ -183,17 +195,27 @@ impl Item {
|
||||
pub fn into_skill(&self) -> Option<Skill> {
|
||||
match self {
|
||||
Item::Attack => Some(Skill::Attack),
|
||||
Item::Amplify => Some(Skill::Amplify),
|
||||
Item::AmplifyI => Some(Skill::AmplifyI),
|
||||
Item::AmplifyII => Some(Skill::AmplifyII),
|
||||
Item::AmplifyIII => Some(Skill::AmplifyIII),
|
||||
Item::Banish => Some(Skill::Banish),
|
||||
Item::Blast => Some(Skill::Blast),
|
||||
Item::BlastI => Some(Skill::BlastI),
|
||||
Item::BlastII => Some(Skill::BlastII),
|
||||
Item::BlastIII => Some(Skill::BlastIII),
|
||||
Item::Block => Some(Skill::Block),
|
||||
Item::Buff => Some(Skill::Buff),
|
||||
Item::Chaos => Some(Skill::Chaos),
|
||||
Item::Curse => Some(Skill::Curse),
|
||||
Item::ChaosI => Some(Skill::ChaosI),
|
||||
Item::ChaosII => Some(Skill::ChaosII),
|
||||
Item::ChaosIII => Some(Skill::ChaosIII),
|
||||
Item::CurseI => Some(Skill::CurseI),
|
||||
Item::CurseII => Some(Skill::CurseII),
|
||||
Item::CurseIII => Some(Skill::CurseIII),
|
||||
Item::Debuff => Some(Skill::Debuff),
|
||||
Item::Decay => Some(Skill::Decay),
|
||||
Item::Haste => Some(Skill::Haste),
|
||||
Item::Heal => Some(Skill::Heal),
|
||||
Item::HealI => Some(Skill::HealI),
|
||||
Item::HealII => Some(Skill::HealII),
|
||||
Item::HealIII => Some(Skill::HealIII),
|
||||
Item::Hex => Some(Skill::Hex),
|
||||
Item::Hostility => Some(Skill::Hostility),
|
||||
Item::Impurity => Some(Skill::Impurity),
|
||||
@ -212,10 +234,12 @@ impl Item {
|
||||
Item::Snare => Some(Skill::Snare),
|
||||
Item::Strangle => Some(Skill::Strangle),
|
||||
Item::Stun => Some(Skill::Stun),
|
||||
Item::Strike => Some(Skill::Strike),
|
||||
Item::StrikeI => Some(Skill::StrikeI),
|
||||
Item::StrikeII => Some(Skill::StrikeII),
|
||||
Item::StrikeIII => Some(Skill::StrikeIII),
|
||||
Item::Clutch => Some(Skill::Clutch),
|
||||
Item::ClutchI => Some(Skill::ClutchI),
|
||||
Item::ClutchII => Some(Skill::ClutchII),
|
||||
Item::ClutchIII => Some(Skill::ClutchIII),
|
||||
Item::Taunt => Some(Skill::Taunt),
|
||||
Item::Throw => Some(Skill::Throw),
|
||||
Item::Corrupt => Some(Skill::Corrupt),
|
||||
@ -319,7 +343,9 @@ impl Item {
|
||||
Item::RBSpeedI => format!("Increases CRYP SPEED and provides COLOUR BONUSES"),
|
||||
|
||||
// Skills <- need to move effect mulltipliers into skills
|
||||
Item::Amplify => format!("Increase red and blue power by {:?}%. Lasts {:?}T",
|
||||
Item::AmplifyI |
|
||||
Item::AmplifyII |
|
||||
Item::AmplifyIII => format!("Increase red and blue power by {:?}%. Lasts {:?}T",
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_multiplier() - 100,
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_duration()),
|
||||
|
||||
@ -327,13 +353,19 @@ impl Item {
|
||||
Banished cryps are immune to all skills and effects.",
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_duration()),
|
||||
|
||||
Item::Blast => format!("Deals blue damage {:?}% blue power.", self.into_skill().unwrap().multiplier()),
|
||||
Item::BlastI |
|
||||
Item::BlastII |
|
||||
Item::BlastIII => format!("Deals blue damage {:?}% blue power.", self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Chaos => format!(
|
||||
Item::ChaosI |
|
||||
Item::ChaosII |
|
||||
Item::ChaosIII => format!(
|
||||
"Hits twice for red and blue damage. Damage is random 0 to 30% + {:?}% red and blue power.",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Clutch => format!("Cryp cannot be KO'd while active.
|
||||
Item::ClutchI |
|
||||
Item::ClutchII |
|
||||
Item::ClutchIII => format!("Cryp cannot be KO'd while active.
|
||||
Additionally provides immunity to disables."),
|
||||
|
||||
Item::Corrupt => format!(
|
||||
@ -343,7 +375,9 @@ impl Item {
|
||||
self.into_skill().unwrap().effect().last().unwrap().get_duration()),
|
||||
|
||||
|
||||
Item::Curse => format!(
|
||||
Item::CurseI |
|
||||
Item::CurseII |
|
||||
Item::CurseIII => format!(
|
||||
"Increases red and blue damage taken by {:?}%. Lasts {:?}T",
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_multiplier() - 100,
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_duration()),
|
||||
@ -367,7 +401,9 @@ impl Item {
|
||||
"% Speed as Red Damage",
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_duration()),
|
||||
|
||||
Item::Heal => format!("Heals for {:?}% green power.", self.into_skill().unwrap().multiplier()),
|
||||
Item::HealI |
|
||||
Item::HealII |
|
||||
Item::HealIII => format!("Heals for {:?}% green power.", self.into_skill().unwrap().multiplier()),
|
||||
|
||||
Item::Hex => format!("Blue based skill that applies Hex for {:?}T. \
|
||||
Hexed targets cannot cast any skills.",
|
||||
@ -440,12 +476,8 @@ impl Item {
|
||||
self.into_skill().unwrap().multiplier(),
|
||||
self.into_skill().unwrap().effect().first().unwrap().get_duration()),
|
||||
|
||||
Item::Strike => format!(
|
||||
"Hits at maximum speed dealing red damage {:?}% red power",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
Item::StrikeII => format!(
|
||||
"Hits at maximum speed dealing red damage {:?}% red power",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
Item::StrikeI |
|
||||
Item::StrikeII |
|
||||
Item::StrikeIII => format!(
|
||||
"Hits at maximum speed dealing red damage {:?}% red power",
|
||||
self.into_skill().unwrap().multiplier()),
|
||||
@ -481,22 +513,28 @@ impl Item {
|
||||
match self {
|
||||
Item::Taunt => vec![Item::Buff, Item::Red, Item::Red],
|
||||
Item::Triage => vec![Item::Buff, Item::Green, Item::Green],
|
||||
Item::Scatter => vec![Item::Buff, Item::Blue, Item::Blue], //To be impl
|
||||
Item::Scatter => vec![Item::Buff, Item::Blue, Item::Blue],
|
||||
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
||||
Item::Impurity => vec![Item::Buff, Item::Green, Item::Blue],
|
||||
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue], // Some flavour
|
||||
Item::AmplifyI => vec![Item::Buff, Item::Red, Item::Blue],
|
||||
Item::AmplifyII => vec![Item::AmplifyI, Item::AmplifyI, Item::AmplifyI],
|
||||
Item::AmplifyIII => vec![Item::AmplifyII, Item::AmplifyII, Item::AmplifyII],
|
||||
|
||||
Item::Snare => vec![Item::Debuff, Item::Red, Item::Red],
|
||||
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
||||
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
||||
Item::Curse => vec![Item::Debuff, Item::Red, Item::Green], // To be reworked
|
||||
Item::CurseI => vec![Item::Debuff, Item::Red, Item::Green],
|
||||
Item::CurseII => vec![Item::CurseI, Item::CurseI, Item::CurseI],
|
||||
Item::CurseIII => vec![Item::CurseII, Item::CurseII, Item::CurseII],
|
||||
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
||||
Item::Invert => vec![Item::Debuff, Item::Red, Item::Blue],
|
||||
|
||||
Item::Parry => vec![Item::Block, Item::Red, Item::Red], // Add red recharge
|
||||
Item::Purify => vec![Item::Block, Item::Green, Item::Green],
|
||||
Item::Corrupt => vec![Item::Block, Item::Blue, Item::Blue],
|
||||
Item::Clutch => vec![Item::Block, Item::Red, Item::Green],
|
||||
Item::ClutchI => vec![Item::Block, Item::Red, Item::Green],
|
||||
Item::ClutchII => vec![Item::ClutchI, Item::ClutchI, Item::ClutchI],
|
||||
Item::ClutchIII => vec![Item::ClutchII, Item::ClutchII, Item::ClutchII],
|
||||
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
||||
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
||||
|
||||
@ -507,15 +545,20 @@ impl Item {
|
||||
Item::Hex => vec![Item::Stun, Item::Green, Item::Blue],
|
||||
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
||||
|
||||
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
||||
Item::StrikeII => vec![Item::Strike, Item::Strike, Item::Strike],
|
||||
Item::StrikeIII => vec![Item::StrikeII, Item::StrikeII, Item::StrikeII],
|
||||
|
||||
Item::Heal => vec![Item::Attack, Item::Green, Item::Green],
|
||||
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
||||
Item::StrikeI => vec![Item::Attack, Item::Red, Item::Red],
|
||||
Item::StrikeII => vec![Item::StrikeI, Item::StrikeI, Item::StrikeI],
|
||||
Item::StrikeIII => vec![Item::StrikeII, Item::StrikeII, Item::StrikeII],
|
||||
Item::HealI => vec![Item::Attack, Item::Green, Item::Green],
|
||||
Item::HealII => vec![Item::HealI, Item::HealI, Item::HealI],
|
||||
Item::HealIII => vec![Item::HealII, Item::HealII, Item::HealII],
|
||||
Item::BlastI => vec![Item::Attack, Item::Blue, Item::Blue],
|
||||
Item::BlastII => vec![Item::BlastI, Item::BlastI, Item::BlastI],
|
||||
Item::BlastIII => vec![Item::BlastII, Item::BlastII, Item::BlastII],
|
||||
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
||||
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
||||
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
||||
Item::ChaosI => vec![Item::Attack, Item::Red, Item::Blue],
|
||||
Item::ChaosII => vec![Item::ChaosI, Item::ChaosI, Item::ChaosI],
|
||||
Item::ChaosIII => vec![Item::ChaosII, Item::ChaosII, Item::ChaosII],
|
||||
|
||||
Item::RedDamageI => vec![Item::Damage, Item::Red, Item::Red],
|
||||
Item::GreenDamageI => vec![Item::Damage, Item::Green, Item::Green],
|
||||
@ -546,20 +589,32 @@ impl Item {
|
||||
impl From<Skill> for Item {
|
||||
fn from(skill: Skill) -> Item {
|
||||
match skill {
|
||||
Skill::Amplify => Item::Amplify,
|
||||
Skill::AmplifyI => Item::AmplifyI,
|
||||
Skill::AmplifyII => Item::AmplifyII,
|
||||
Skill::AmplifyIII => Item::AmplifyIII,
|
||||
Skill::Attack => Item::Attack,
|
||||
Skill::Banish => Item::Banish,
|
||||
Skill::Blast => Item::Blast,
|
||||
Skill::BlastI => Item::BlastI,
|
||||
Skill::BlastII => Item::BlastII,
|
||||
Skill::BlastIII => Item::BlastIII,
|
||||
Skill::Block => Item::Block,
|
||||
Skill::Buff => Item::Buff,
|
||||
Skill::Chaos => Item::Chaos,
|
||||
Skill::Curse => Item::Curse,
|
||||
Skill::Clutch => Item::Clutch,
|
||||
Skill::ChaosI => Item::ChaosI,
|
||||
Skill::ChaosII => Item::ChaosII,
|
||||
Skill::ChaosIII => Item::ChaosIII,
|
||||
Skill::ClutchI => Item::ClutchI,
|
||||
Skill::ClutchII => Item::ClutchII,
|
||||
Skill::ClutchIII => Item::ClutchIII,
|
||||
Skill::CurseI => Item::CurseI,
|
||||
Skill::CurseII => Item::CurseII,
|
||||
Skill::CurseIII => Item::CurseIII,
|
||||
Skill::Decay => Item::Decay,
|
||||
Skill::Debuff => Item::Debuff,
|
||||
Skill::Haste => Item::Haste,
|
||||
Skill::Hostility => Item::Hostility,
|
||||
Skill::Heal => Item::Heal,
|
||||
Skill::HealI => Item::HealI,
|
||||
Skill::HealII => Item::HealII,
|
||||
Skill::HealIII => Item::HealIII,
|
||||
Skill::Hex => Item::Hex,
|
||||
Skill::Impurity => Item::Impurity,
|
||||
Skill::Invert => Item::Invert,
|
||||
@ -576,7 +631,7 @@ impl From<Skill> for Item {
|
||||
Skill::Sleep => Item::Sleep,
|
||||
Skill::Snare => Item::Snare,
|
||||
Skill::Strangle => Item::Strangle,
|
||||
Skill::Strike => Item::Strike,
|
||||
Skill::StrikeI => Item::StrikeI,
|
||||
Skill::StrikeII => Item::StrikeII,
|
||||
Skill::StrikeIII => Item::StrikeIII,
|
||||
Skill::Stun => Item::Stun,
|
||||
@ -641,64 +696,76 @@ pub struct Combo {
|
||||
|
||||
pub fn get_combos() -> Vec<Combo> {
|
||||
let mut combinations = vec![
|
||||
Combo { components: Item::Taunt.combo(), item: Item::Taunt },
|
||||
Combo { components: Item::Triage.combo(), item: Item::Triage },
|
||||
Combo { components: Item::Scatter.combo(), item: Item::Scatter }, //To be impl
|
||||
Combo { components: Item::Haste.combo(), item: Item::Haste },
|
||||
Combo { components: Item::Impurity.combo(), item: Item::Impurity },
|
||||
Combo { components: Item::Amplify.combo(), item: Item::Amplify }, // Some flavour
|
||||
Combo { components: Item::Taunt.combo(), item: Item::Taunt },
|
||||
Combo { components: Item::Triage.combo(), item: Item::Triage },
|
||||
Combo { components: Item::Scatter.combo(), item: Item::Scatter },
|
||||
Combo { components: Item::Haste.combo(), item: Item::Haste },
|
||||
Combo { components: Item::Impurity.combo(), item: Item::Impurity },
|
||||
Combo { components: Item::AmplifyI.combo(), item: Item::AmplifyI },
|
||||
Combo { components: Item::AmplifyII.combo(), item: Item::AmplifyII },
|
||||
Combo { components: Item::AmplifyIII.combo(), item: Item::AmplifyIII },
|
||||
|
||||
Combo { components: Item::Snare.combo(), item: Item::Snare },
|
||||
Combo { components: Item::Purge.combo(), item: Item::Purge }, // Needs flavour
|
||||
Combo { components: Item::Silence.combo(), item: Item::Silence },
|
||||
Combo { components: Item::Curse.combo(), item: Item::Curse }, // To be reworked
|
||||
Combo { components: Item::Decay.combo(), item: Item::Decay },
|
||||
Combo { components: Item::Invert.combo(), item: Item::Invert },
|
||||
Combo { components: Item::Snare.combo(), item: Item::Snare },
|
||||
Combo { components: Item::Purge.combo(), item: Item::Purge }, // Needs flavour
|
||||
Combo { components: Item::Silence.combo(), item: Item::Silence },
|
||||
Combo { components: Item::CurseI.combo(), item: Item::CurseI },
|
||||
Combo { components: Item::CurseII.combo(), item: Item::CurseII },
|
||||
Combo { components: Item::CurseIII.combo(), item: Item::CurseIII },
|
||||
Combo { components: Item::Decay.combo(), item: Item::Decay },
|
||||
Combo { components: Item::Invert.combo(), item: Item::Invert },
|
||||
|
||||
Combo { components: Item::Parry.combo(), item: Item::Parry }, // Add red recharge
|
||||
Combo { components: Item::Purify.combo(), item: Item::Purify },
|
||||
Combo { components: Item::Corrupt.combo(), item: Item::Corrupt },
|
||||
Combo { components: Item::Clutch.combo(), item: Item::Clutch },
|
||||
Combo { components: Item::Reflect.combo(), item: Item::Reflect },
|
||||
Combo { components: Item::Recharge.combo(), item: Item::Recharge },
|
||||
Combo { components: Item::Parry.combo(), item: Item::Parry }, // Add red recharge
|
||||
Combo { components: Item::Purify.combo(), item: Item::Purify },
|
||||
Combo { components: Item::Corrupt.combo(), item: Item::Corrupt },
|
||||
Combo { components: Item::ClutchI.combo(), item: Item::ClutchI },
|
||||
Combo { components: Item::ClutchII.combo(), item: Item::ClutchII },
|
||||
Combo { components: Item::ClutchIII.combo(), item: Item::ClutchIII },
|
||||
Combo { components: Item::Reflect.combo(), item: Item::Reflect },
|
||||
Combo { components: Item::Recharge.combo(), item: Item::Recharge },
|
||||
|
||||
Combo { components: Item::Strangle.combo(), item: Item::Strangle },
|
||||
Combo { components: Item::Sleep.combo(), item: Item::Sleep },
|
||||
Combo { components: Item::Ruin.combo(), item: Item::Ruin },
|
||||
Combo { components: Item::Throw.combo(), item: Item::Throw },
|
||||
Combo { components: Item::Hex.combo(), item: Item::Hex },
|
||||
Combo { components: Item::Banish.combo(), item: Item::Banish },
|
||||
Combo { components: Item::Strangle.combo(), item: Item::Strangle },
|
||||
Combo { components: Item::Sleep.combo(), item: Item::Sleep },
|
||||
Combo { components: Item::Ruin.combo(), item: Item::Ruin },
|
||||
Combo { components: Item::Throw.combo(), item: Item::Throw },
|
||||
Combo { components: Item::Hex.combo(), item: Item::Hex },
|
||||
Combo { components: Item::Banish.combo(), item: Item::Banish },
|
||||
|
||||
Combo { components: Item::Strike.combo(), item: Item::Strike },
|
||||
Combo { components: Item::StrikeII.combo(), item: Item::StrikeII },
|
||||
Combo { components: Item::StrikeIII.combo(), item: Item::StrikeIII },
|
||||
Combo { components: Item::StrikeI.combo(), item: Item::StrikeI },
|
||||
Combo { components: Item::StrikeII.combo(), item: Item::StrikeII },
|
||||
Combo { components: Item::StrikeIII.combo(), item: Item::StrikeIII },
|
||||
|
||||
Combo { components: Item::Heal.combo(), item: Item::Heal },
|
||||
Combo { components: Item::Blast.combo(), item: Item::Blast },
|
||||
Combo { components: Item::Slay.combo(), item: Item::Slay },
|
||||
Combo { components: Item::Siphon.combo(), item: Item::Siphon },
|
||||
Combo { components: Item::Chaos.combo(), item: Item::Chaos },
|
||||
Combo { components: Item::HealI.combo(), item: Item::HealI },
|
||||
Combo { components: Item::HealII.combo(), item: Item::HealII },
|
||||
Combo { components: Item::HealIII.combo(), item: Item::HealIII },
|
||||
Combo { components: Item::BlastI.combo(), item: Item::BlastI },
|
||||
Combo { components: Item::BlastII.combo(), item: Item::BlastII },
|
||||
Combo { components: Item::BlastIII.combo(), item: Item::BlastIII },
|
||||
Combo { components: Item::Slay.combo(), item: Item::Slay },
|
||||
Combo { components: Item::Siphon.combo(), item: Item::Siphon },
|
||||
Combo { components: Item::ChaosI.combo(), item: Item::ChaosI },
|
||||
Combo { components: Item::ChaosII.combo(), item: Item::ChaosII },
|
||||
Combo { components: Item::ChaosIII.combo(), item: Item::ChaosIII },
|
||||
|
||||
Combo { components: Item::RedDamageI.combo(), item: Item::RedDamageI },
|
||||
Combo { components: Item::GreenDamageI.combo(), item: Item::GreenDamageI },
|
||||
Combo { components: Item::RedDamageI.combo(), item: Item::RedDamageI },
|
||||
Combo { components: Item::GreenDamageI.combo(), item: Item::GreenDamageI },
|
||||
Combo { components: Item::BlueDamageI.combo(), item: Item::BlueDamageI },
|
||||
Combo { components: Item::GRDI.combo(), item: Item::GRDI },
|
||||
Combo { components: Item::GBDI.combo(), item: Item::GBDI },
|
||||
Combo { components: Item::RBDI.combo(), item: Item::RBDI },
|
||||
Combo { components: Item::GRDI.combo(), item: Item::GRDI },
|
||||
Combo { components: Item::GBDI.combo(), item: Item::GBDI },
|
||||
Combo { components: Item::RBDI.combo(), item: Item::RBDI },
|
||||
|
||||
Combo { components: Item::RedLifeI.combo(), item: Item::RedLifeI },
|
||||
Combo { components: Item::GreenLifeI.combo(), item: Item::GreenLifeI },
|
||||
Combo { components: Item::BlueLifeI.combo(), item: Item::BlueLifeI },
|
||||
Combo { components: Item::GRLI.combo(), item: Item::GRLI },
|
||||
Combo { components: Item::GBLI.combo(), item: Item::GBLI },
|
||||
Combo { components: Item::RBLI.combo(), item: Item::RBLI },
|
||||
Combo { components: Item::RedLifeI.combo(), item: Item::RedLifeI },
|
||||
Combo { components: Item::GreenLifeI.combo(), item: Item::GreenLifeI },
|
||||
Combo { components: Item::BlueLifeI.combo(), item: Item::BlueLifeI },
|
||||
Combo { components: Item::GRLI.combo(), item: Item::GRLI },
|
||||
Combo { components: Item::GBLI.combo(), item: Item::GBLI },
|
||||
Combo { components: Item::RBLI.combo(), item: Item::RBLI },
|
||||
|
||||
Combo { components: Item::RedSpeedI.combo(), item: Item::RedSpeedI },
|
||||
Combo { components: Item::RedSpeedI.combo(), item: Item::RedSpeedI },
|
||||
Combo { components: Item::GreenSpeedI.combo(), item: Item::GreenSpeedI },
|
||||
Combo { components: Item::BlueSpeedI.combo(), item: Item::BlueSpeedI },
|
||||
Combo { components: Item::GRSpeedI.combo(), item: Item::GRSpeedI },
|
||||
Combo { components: Item::GBSpeedI.combo(), item: Item::GBSpeedI },
|
||||
Combo { components: Item::RBSpeedI.combo(), item: Item::RBSpeedI },
|
||||
Combo { components: Item::BlueSpeedI.combo(), item: Item::BlueSpeedI },
|
||||
Combo { components: Item::GRSpeedI.combo(), item: Item::GRSpeedI },
|
||||
Combo { components: Item::GBSpeedI.combo(), item: Item::GBSpeedI },
|
||||
Combo { components: Item::RBSpeedI.combo(), item: Item::RBSpeedI },
|
||||
|
||||
];
|
||||
|
||||
@ -759,7 +826,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn item_components_test() {
|
||||
assert_eq!(Item::Strike.components(), vec![Item::Red, Item::Red, Item::Attack]);
|
||||
assert_eq!(Item::StrikeI.components(), vec![Item::Red, Item::Red, Item::Attack]);
|
||||
assert_eq!(Item::StrikeII.components(), vec![
|
||||
Item::Red, Item::Red, Item::Attack,
|
||||
Item::Red, Item::Red, Item::Attack,
|
||||
|
||||
@ -76,8 +76,8 @@ pub fn resolve(skill: Skill, source: &mut Cryp, target: &mut Cryp, mut resolutio
|
||||
match skill {
|
||||
Skill::Attack |
|
||||
Skill::Slay |
|
||||
Skill::Chaos |
|
||||
Skill::Strike => {
|
||||
Skill::ChaosI |
|
||||
Skill::StrikeI => {
|
||||
let amount = source.speed().pct(Skill::HasteStrike.multiplier());
|
||||
target.deal_red_damage(Skill::HasteStrike, amount)
|
||||
.into_iter()
|
||||
@ -89,8 +89,8 @@ pub fn resolve(skill: Skill, source: &mut Cryp, target: &mut Cryp, mut resolutio
|
||||
|
||||
if source.affected(Effect::Impurity) {
|
||||
match skill {
|
||||
Skill::Blast |
|
||||
Skill::Chaos |
|
||||
Skill::BlastI |
|
||||
Skill::ChaosI |
|
||||
Skill::Siphon => {
|
||||
let amount = source.green_damage().pct(Skill::ImpureBlast.multiplier());
|
||||
target.deal_blue_damage(Skill::ImpureBlast, amount)
|
||||
@ -112,24 +112,38 @@ pub fn resolve(skill: Skill, source: &mut Cryp, target: &mut Cryp, mut resolutio
|
||||
// }
|
||||
|
||||
resolutions = match skill {
|
||||
Skill::Amplify => amplify(source, target, resolutions, skill), // increase magic damage
|
||||
Skill::AmplifyI => amplify(source, target, resolutions, skill),
|
||||
Skill::AmplifyII => amplify(source, target, resolutions, skill),
|
||||
Skill::AmplifyIII => amplify(source, target, resolutions, skill),
|
||||
Skill::Attack => attack(source, target, resolutions, skill),
|
||||
Skill::Banish => banish(source, target, resolutions, skill), // TODO prevent all actions
|
||||
Skill::Blast => blast(source, target, resolutions, skill),
|
||||
Skill::BlastI => blast(source, target, resolutions, skill),
|
||||
Skill::BlastII => blast(source, target, resolutions, skill),
|
||||
Skill::BlastIII => blast(source, target, resolutions, skill),
|
||||
Skill::Block => block(source, target, resolutions, skill),
|
||||
Skill::Buff => buff(source, target, resolutions, skill),
|
||||
Skill::Chaos => chaos(source, target, resolutions, skill),
|
||||
Skill::Clutch => clutch(source, target, resolutions, skill),
|
||||
Skill::ChaosI => chaos(source, target, resolutions, skill),
|
||||
Skill::ChaosII => chaos(source, target, resolutions, skill),
|
||||
Skill::ChaosIII => chaos(source, target, resolutions, skill),
|
||||
Skill::ClutchI => clutch(source, target, resolutions, skill),
|
||||
Skill::ClutchII => clutch(source, target, resolutions, skill),
|
||||
Skill::ClutchIII => clutch(source, target, resolutions, skill),
|
||||
Skill::Corrupt => corrupt(source, target, resolutions, skill),
|
||||
Skill::CorruptionTick => corruption_tick(source, target, resolutions, skill),
|
||||
Skill::Curse => curse(source, target, resolutions, skill),
|
||||
Skill::CurseI => curse(source, target, resolutions, skill),
|
||||
Skill::CurseII => curse(source, target, resolutions, skill),
|
||||
Skill::CurseIII => curse(source, target, resolutions, skill),
|
||||
Skill::Debuff => debuff(source, target, resolutions, skill), // speed slow
|
||||
Skill::Decay => decay(source, target, resolutions, skill), // dot
|
||||
Skill::DecayTick => decay_tick(source, target, resolutions, skill), // dot
|
||||
Skill::Haste => haste(source, target, resolutions, skill), // speed slow
|
||||
Skill::HasteStrike => panic!("haste strike should not be caste"),
|
||||
Skill::Heal => heal(source, target, resolutions, skill),
|
||||
Skill::Hex => hex(source, target, resolutions, skill),
|
||||
Skill::HealI => heal(source, target, resolutions, skill),
|
||||
Skill::HealII => heal(source, target, resolutions, skill),
|
||||
Skill::HealIII => heal(source, target, resolutions, skill),
|
||||
Skill::HexI => hex(source, target, resolutions, skill),
|
||||
Skill::HexII => hex(source, target, resolutions, skill),
|
||||
Skill::HexIII => hex(source, target, resolutions, skill),
|
||||
Skill::Hostility => hostility(source, target, resolutions, skill),
|
||||
Skill::Impurity => impurity(source, target, resolutions, skill),
|
||||
Skill::ImpureBlast => panic!("impure blast should not be caste"),
|
||||
@ -151,11 +165,9 @@ pub fn resolve(skill: Skill, source: &mut Cryp, target: &mut Cryp, mut resolutio
|
||||
Skill::Snare => snare(source, target, resolutions, skill),
|
||||
Skill::Strangle => strangle(source, target, resolutions, skill),
|
||||
Skill::StrangleTick => strangle_tick(source, target, resolutions, skill),
|
||||
|
||||
Skill::Strike => strike(source, target, resolutions, skill),
|
||||
Skill::StrikeII => strike(source, target, resolutions, skill),
|
||||
Skill::StrikeIII => strike(source, target, resolutions, skill),
|
||||
|
||||
Skill::StrikeI => strike(source, target, resolutions, skill),
|
||||
Skill::StrikeII => strike(source, target, resolutions, skill),
|
||||
Skill::StrikeIII => strike(source, target, resolutions, skill),
|
||||
Skill::Stun => stun(source, target, resolutions, skill),
|
||||
Skill::Taunt => taunt(source, target, resolutions, skill),
|
||||
Skill::Throw => throw(source, target, resolutions, skill), // no damage stun, adds vulnerable
|
||||
@ -390,7 +402,9 @@ impl Effect {
|
||||
Effect::Banish => true,
|
||||
Effect::Clutch => [
|
||||
Skill::Stun,
|
||||
Skill::Hex,
|
||||
Skill::HexI,
|
||||
Skill::HexII,
|
||||
Skill::HexIII,
|
||||
Skill::Silence,
|
||||
Skill::Ruin,
|
||||
Skill::Strangle,
|
||||
@ -544,19 +558,31 @@ pub enum Skill {
|
||||
// Evade, // actively evade
|
||||
// Nightmare,
|
||||
// Sleep,
|
||||
Amplify,
|
||||
AmplifyI,
|
||||
AmplifyII,
|
||||
AmplifyIII,
|
||||
Banish,
|
||||
Blast,
|
||||
Chaos,
|
||||
Clutch,
|
||||
BlastI,
|
||||
BlastII,
|
||||
BlastIII,
|
||||
ChaosI,
|
||||
ChaosII,
|
||||
ChaosIII,
|
||||
ClutchI,
|
||||
ClutchII,
|
||||
ClutchIII,
|
||||
Corrupt,
|
||||
CorruptionTick,
|
||||
Curse,
|
||||
CurseI,
|
||||
CurseII,
|
||||
CurseIII,
|
||||
Decay, // dot
|
||||
DecayTick, // dot
|
||||
Haste,
|
||||
HasteStrike,
|
||||
Heal,
|
||||
HealI,
|
||||
HealII,
|
||||
HealIII,
|
||||
Hex,
|
||||
Hostility,
|
||||
ImpureBlast,
|
||||
@ -579,7 +605,7 @@ pub enum Skill {
|
||||
Snare,
|
||||
Strangle,
|
||||
StrangleTick,
|
||||
Strike,
|
||||
StrikeI,
|
||||
StrikeII,
|
||||
StrikeIII,
|
||||
Taunt,
|
||||
@ -603,39 +629,44 @@ impl Skill {
|
||||
// Attack Base
|
||||
Skill::Attack => 80, // Base
|
||||
|
||||
Skill::Blast => 110, // BB
|
||||
Skill::Chaos => 40, // BR
|
||||
Skill::Heal => 130, //GG
|
||||
Skill::BlastI => 110, // BB
|
||||
Skill::BlastII => 130, // BB
|
||||
Skill::BlastIII => 150, // BB
|
||||
Skill::ChaosI => 40, // BR
|
||||
Skill::ChaosII => 50, // BR
|
||||
Skill::ChaosIII => 60, // BR
|
||||
Skill::HealI => 130, //GG
|
||||
Skill::HealII => 160, //GG
|
||||
Skill::HealIII => 200, //GG
|
||||
Skill::SiphonTick => 40, // GB
|
||||
Skill::Slay => 70, // RG
|
||||
Skill::Strike => 90, //RR
|
||||
Skill::StrikeI => 90, //RR
|
||||
Skill::StrikeII => 110,
|
||||
Skill::StrikeIII => 130,
|
||||
|
||||
// Block Base
|
||||
Skill::CorruptionTick => 80,
|
||||
Skill::Purify => 45, //Green dmg (heal)
|
||||
Skill::Recharge => 85, //restore red and blue life (heal)
|
||||
Skill::Reflect => 45, //restore blue life (heal)
|
||||
|
||||
Skill::Parry => 110,
|
||||
Skill::Riposte => 70,
|
||||
Skill::Riposte => 70,
|
||||
Skill::Purify => 45, //Green dmg (heal)
|
||||
Skill::Reflect => 45, //restore blue life (heal)
|
||||
Skill::Recharge => 85, //restore red and blue life (heal)
|
||||
|
||||
// Stun Base
|
||||
Skill::Sleep => 240, //Green dmg (heal)
|
||||
Skill::StrangleTick => 65,
|
||||
|
||||
// Debuff Base
|
||||
Skill::DecayTick => 25,
|
||||
Skill::Silence => 55, // Deals more per blue skill on target
|
||||
Skill::Snare => 40, // Deals more per red skill on target
|
||||
Skill::DecayTick => 25,
|
||||
|
||||
// Buff base
|
||||
Skill::ImpureBlast => 25,
|
||||
Skill::HasteStrike => 30,
|
||||
Skill::Scatter => 140,
|
||||
Skill::Taunt => 80,
|
||||
Skill::TriageTick => 75,
|
||||
Skill::Scatter => 140,
|
||||
|
||||
_ => 100,
|
||||
}
|
||||
@ -644,7 +675,9 @@ impl Skill {
|
||||
pub fn effect(&self) -> Vec<CrypEffect> {
|
||||
match self {
|
||||
// Modifiers
|
||||
Skill::Amplify => vec![CrypEffect {effect: Effect::Amplify, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||
Skill::AmplifyI => vec![CrypEffect {effect: Effect::Amplify, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||
Skill::AmplifyII => vec![CrypEffect {effect: Effect::Amplify, duration: 3, meta: Some(EffectMeta::Multiplier(175)), tick: None}],
|
||||
Skill::AmplifyIII => vec![CrypEffect {effect: Effect::Amplify, duration: 4, meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||
Skill::Banish => vec![CrypEffect {effect: Effect::Banish, duration: 1, meta: None, tick: None}],
|
||||
Skill::Block => vec![CrypEffect {effect: Effect::Block, duration: 1, meta: Some(EffectMeta::Multiplier(50)), tick: None}],
|
||||
Skill::Buff => vec![CrypEffect {effect: Effect::Buff, duration: 2, meta: Some(EffectMeta::Multiplier(125)), tick: None }],
|
||||
@ -652,13 +685,19 @@ impl Skill {
|
||||
Skill::Corrupt => vec![CrypEffect {effect: Effect::Corrupt, duration: 2, meta: None, tick: None},
|
||||
CrypEffect {effect: Effect::Corruption, duration: 3, meta: None, tick: None}],
|
||||
|
||||
Skill::Clutch => vec![CrypEffect {effect: Effect::Clutch, duration: 1, meta: None, tick: None }],
|
||||
Skill::Curse => vec![CrypEffect {effect: Effect::Curse, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||
Skill::ClutchI => vec![CrypEffect {effect: Effect::Clutch, duration: 1, meta: None, tick: None }],
|
||||
Skill::ClutchII => vec![CrypEffect {effect: Effect::Clutch, duration: 2, meta: None, tick: None }],
|
||||
Skill::ClutchIII => vec![CrypEffect {effect: Effect::Clutch, duration: 3, meta: None, tick: None }],
|
||||
Skill::CurseI => vec![CrypEffect {effect: Effect::Curse, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||
Skill::CurseII => vec![CrypEffect {effect: Effect::Curse, duration: 2, meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||
Skill::CurseIII => vec![CrypEffect {effect: Effect::Curse, duration: 3, meta: Some(EffectMeta::Multiplier(250)), tick: None}],
|
||||
Skill::Debuff => vec![CrypEffect {effect: Effect::Slow, duration: 3, meta: Some(EffectMeta::Multiplier(50)), tick: None }],
|
||||
Skill::Decay => vec![CrypEffect {effect: Effect::Wither, duration: 3, meta: Some(EffectMeta::Multiplier(50)), tick: None },
|
||||
CrypEffect {effect: Effect::Decay, duration: 3, meta: None, tick: None }],
|
||||
Skill::Haste => vec![CrypEffect {effect: Effect::Haste, duration: 2, meta: Some(EffectMeta::Multiplier(150)), tick: None }],
|
||||
Skill::Hex => vec![CrypEffect {effect: Effect::Hex, duration: 2, meta: None, tick: None}],
|
||||
Skill::HexI => vec![CrypEffect {effect: Effect::Hex, duration: 2, meta: None, tick: None}],
|
||||
Skill::HexII => vec![CrypEffect {effect: Effect::Hex, duration: 3, meta: None, tick: None}],
|
||||
Skill::HexIII => vec![CrypEffect {effect: Effect::Hex, duration: 4, meta: None, tick: None}],
|
||||
Skill::Hostility => vec![CrypEffect {effect: Effect::Hostility, duration: 2, meta: None, tick: None},
|
||||
CrypEffect {effect: Effect::Hatred, duration: 5, meta: None, tick: None}],
|
||||
Skill::Impurity => vec![CrypEffect {effect: Effect::Impurity, duration: 3, meta: Some(EffectMeta::Multiplier(150)), tick: None }],
|
||||
@ -696,7 +735,7 @@ impl Skill {
|
||||
Skill::Attack => None,
|
||||
Skill::Debuff => Some(1),
|
||||
Skill::Buff => None,
|
||||
Skill::Strike => None,
|
||||
Skill::StrikeI => None,
|
||||
Skill::StrikeII => None,
|
||||
Skill::StrikeIII => None,
|
||||
Skill::Block => None, // reduce damage
|
||||
@ -704,13 +743,21 @@ impl Skill {
|
||||
Skill::Riposte => None, // used on parry
|
||||
Skill::Snare => Some(2),
|
||||
Skill::Stun => Some(2),
|
||||
Skill::Heal => None,
|
||||
Skill::HealI => None,
|
||||
Skill::HealII => None,
|
||||
Skill::HealIII => None,
|
||||
Skill::Triage => None, // hot
|
||||
Skill::TriageTick => None,
|
||||
Skill::Throw => Some(1), // no damage stun, adds vulnerable
|
||||
Skill::Blast => None,
|
||||
Skill::Chaos => None,
|
||||
Skill::Amplify => Some(1),
|
||||
Skill::BlastI => None,
|
||||
Skill::BlastII => None,
|
||||
Skill::BlastIII => None,
|
||||
Skill::ChaosI => None,
|
||||
Skill::ChaosII => None,
|
||||
Skill::ChaosIII => None,
|
||||
Skill::AmplifyI => Some(1),
|
||||
Skill::AmplifyII => Some(1),
|
||||
Skill::AmplifyIII => Some(1),
|
||||
Skill::Impurity => Some(3),
|
||||
Skill::ImpureBlast => None,
|
||||
Skill::Invert => Some(2),
|
||||
@ -718,13 +765,16 @@ impl Skill {
|
||||
Skill::DecayTick => None,
|
||||
Skill::Siphon => None,
|
||||
Skill::SiphonTick => None,
|
||||
Skill::Curse => Some(1),
|
||||
Skill::CurseI => Some(1),
|
||||
Skill::CurseII => Some(1),
|
||||
Skill::CurseIII => Some(1),
|
||||
Skill::Scatter => Some(2),
|
||||
Skill::Silence => Some(2),
|
||||
Skill::Purify => None,
|
||||
Skill::Purge => None,
|
||||
Skill::Banish => Some(1),
|
||||
Skill::Hex => Some(1),
|
||||
Skill::HexI => Some(1),
|
||||
Skill::HexII => Some(1),
|
||||
Skill::Haste => Some(2),
|
||||
Skill::HasteStrike => None, // Used in haste
|
||||
|
||||
@ -736,7 +786,9 @@ impl Skill {
|
||||
|
||||
Skill::Strangle => Some(2),
|
||||
Skill::StrangleTick => None,
|
||||
Skill::Clutch => Some(2),
|
||||
Skill::ClutchI => Some(1),
|
||||
Skill::ClutchII => Some(2),
|
||||
Skill::ClutchIII => Some(3),
|
||||
Skill::Taunt => Some(2),
|
||||
Skill::Injure => Some(2),
|
||||
|
||||
@ -790,9 +842,9 @@ impl Skill {
|
||||
Skill::TestParry => 10,
|
||||
Skill::TestSiphon => 10,
|
||||
|
||||
Skill::Strike => u8::max_value(),
|
||||
Skill::StrikeII => Skill::Strike.speed(),
|
||||
Skill::StrikeIII => Skill::Strike.speed(),
|
||||
Skill::StrikeI => u8::max_value(),
|
||||
Skill::StrikeII => Skill::StrikeI.speed(),
|
||||
Skill::StrikeIII => Skill::StrikeI.speed(),
|
||||
|
||||
Skill::SiphonTick => Skill::Siphon.speed(),
|
||||
Skill::DecayTick => Skill::Decay.speed(),
|
||||
@ -813,13 +865,15 @@ impl Skill {
|
||||
|
||||
pub fn self_targeting(&self) -> bool {
|
||||
match self {
|
||||
Skill::Block => true,
|
||||
Skill::Parry => true,
|
||||
Skill::Clutch => true,
|
||||
Skill::Corrupt => true,
|
||||
|
||||
Skill::TestBlock => true,
|
||||
Skill::Block |
|
||||
Skill::Parry |
|
||||
Skill::ClutchI |
|
||||
Skill::ClutchII |
|
||||
Skill::ClutchIII |
|
||||
Skill::Corrupt |
|
||||
Skill::TestBlock |
|
||||
Skill::TestParry => true,
|
||||
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
@ -828,17 +882,23 @@ impl Skill {
|
||||
let mut rng = thread_rng();
|
||||
|
||||
match self {
|
||||
Skill::Heal |
|
||||
Skill::HealI |
|
||||
Skill::HealII |
|
||||
Skill::HealIII |
|
||||
Skill::Triage |
|
||||
Skill::Purify |
|
||||
Skill::Parry |
|
||||
Skill::Clutch |
|
||||
Skill::ClutchI |
|
||||
Skill::ClutchII |
|
||||
Skill::ClutchIII |
|
||||
Skill::Scatter |
|
||||
Skill::Recharge |
|
||||
Skill::Reflect |
|
||||
Skill::Haste |
|
||||
Skill::Invert |
|
||||
Skill::Amplify |
|
||||
Skill::AmplifyI |
|
||||
Skill::AmplifyII |
|
||||
Skill::AmplifyIII |
|
||||
Skill::Hostility |
|
||||
Skill::Corrupt |
|
||||
Skill::Block => true,
|
||||
@ -1360,15 +1420,15 @@ mod tests {
|
||||
fn heal_test() {
|
||||
let mut x = Cryp::new()
|
||||
.named(&"muji".to_string())
|
||||
.learn(Skill::Heal);
|
||||
.learn(Skill::HealI);
|
||||
|
||||
let mut y = Cryp::new()
|
||||
.named(&"camel".to_string())
|
||||
.learn(Skill::Heal);
|
||||
.learn(Skill::HealI);
|
||||
|
||||
x.deal_red_damage(Skill::Attack, 5);
|
||||
|
||||
heal(&mut y, &mut x, vec![], Skill::Heal);
|
||||
heal(&mut y, &mut x, vec![], Skill::HealI);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1422,7 +1482,7 @@ mod tests {
|
||||
|
||||
x.red_damage.force(10000000000000); // multiplication of int max will cause overflow
|
||||
|
||||
clutch(&mut y.clone(), &mut y, vec![], Skill::Clutch);
|
||||
clutch(&mut y.clone(), &mut y, vec![], Skill::ClutchI);
|
||||
assert!(y.affected(Effect::Clutch));
|
||||
|
||||
let mut results = hex(&mut x, &mut y, vec![], Skill::Hex);
|
||||
@ -1451,7 +1511,7 @@ mod tests {
|
||||
.named(&"camel".to_string());
|
||||
|
||||
resolve(Skill::Injure, &mut x, &mut y, vec![]);
|
||||
assert!(y.immune(Skill::Heal).is_some());
|
||||
assert!(y.immune(Skill::HealI).is_some());
|
||||
// resolutions = heal(&mut y.clone(), &mut y, resolutions);
|
||||
}
|
||||
|
||||
@ -1596,7 +1656,7 @@ mod tests {
|
||||
y.blue_life.force(50);
|
||||
|
||||
y.deal_red_damage(Skill::Attack, 5);
|
||||
y.deal_blue_damage(Skill::Blast, 5);
|
||||
y.deal_blue_damage(Skill::BlastI, 5);
|
||||
|
||||
let mut results = recharge(&mut x, &mut y, vec![], Skill::Recharge);
|
||||
|
||||
@ -1628,7 +1688,7 @@ mod tests {
|
||||
|
||||
x.blue_damage.force(50);
|
||||
|
||||
amplify(&mut x.clone(), &mut x, vec![], Skill::Amplify);
|
||||
amplify(&mut x.clone(), &mut x, vec![], Skill::AmplifyI);
|
||||
assert!(x.effects.iter().any(|e| e.effect == Effect::Amplify));
|
||||
assert_eq!(x.blue_damage(), 75);
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@ mod tests {
|
||||
let mut vbox = Vbox::new();
|
||||
vbox.bound = vec![Item::Attack, Item::Green, Item::Green];
|
||||
vbox.combine(vec![1,2,0]).unwrap();
|
||||
assert_eq!(vbox.bound[0], Item::Heal);
|
||||
assert_eq!(vbox.bound[0], Item::HealI);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -218,14 +218,14 @@ mod tests {
|
||||
#[test]
|
||||
fn reclaim_test() {
|
||||
let mut vbox = Vbox::new();
|
||||
vbox.bound = vec![Item::Strike];
|
||||
vbox.bound = vec![Item::StrikeI];
|
||||
vbox.reclaim(0).unwrap();
|
||||
assert_eq!(vbox.bits, 22);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn colours_count_test() {
|
||||
let strike = Item::Strike;
|
||||
let strike = Item::StrikeI;
|
||||
|
||||
let mut count = Colours::new();
|
||||
strike.colours(&mut count);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user