skill info init

This commit is contained in:
Mashy 2019-12-16 18:24:06 +10:00
parent b630d0b76c
commit c1aa592cd5
2 changed files with 131 additions and 19 deletions

View File

@ -569,7 +569,7 @@ impl Item {
Item::LifeRRPlusPlus => Some(Spec::LifeRRPlusPlus), Item::LifeRRPlusPlus => Some(Spec::LifeRRPlusPlus),
Item::LifeBBPlusPlus => Some(Spec::LifeBBPlusPlus), Item::LifeBBPlusPlus => Some(Spec::LifeBBPlusPlus),
_ => None, _ => None,
} }
} }
@ -589,23 +589,6 @@ impl Item {
Item::Green => format!("Combine two colours with a white base item to create a new combo.\n Normal speed, healing type. Protection and trickery."), Item::Green => format!("Combine two colours with a white base item to create a new combo.\n Normal speed, healing type. Protection and trickery."),
Item::Red => format!("Combine two colours with a white base item to create a new combo. \n Fast speed, physical type. Chaos and momentum."), Item::Red => format!("Combine two colours with a white base item to create a new combo. \n Fast speed, physical type. Chaos and momentum."),
// base skills
/* Item::Attack => format!("Deal {:?}% RedPower as red damage.",
self.into_skill().unwrap().multiplier()),
Item::Block => format!("Reduce red damage and blue damage taken by {:?}%. Block lasts {:?}T",
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Stun => format!("Stun target construct for {:?}T.",
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Buff => format!("Increase target construct RedPower BluePower SpeedStat by {:?}%. Buff lasts {:?}T",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Debuff => format!("Slows the target reducing SpeedStat by {:?}%. Debuff lasts {:?}T",
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),*/
// specs // specs
// Base // Base
Item::Power => format!("Increases all power stats by {:?}%. Item::Power => format!("Increases all power stats by {:?}%.
@ -710,7 +693,119 @@ impl Item {
If your team meets total colour thresholds the spec provides additional bonuses.", If your team meets total colour thresholds the spec provides additional bonuses.",
self.into_spec().unwrap().values().base()), self.into_spec().unwrap().values().base()),
/* Item::Amplify|
Item::Attack |
Item::Block |
Item::Buff |
Item::Debuff |
Item::Stun |
Item::Strike |
Item::StrikePlus |
Item::StrikePlusPlus |
Item::Counter |
Item::CounterPlus |
Item::CounterPlusPlus |
Item::Restrict |
Item::RestrictPlus |
Item::RestrictPlusPlus |
Item::Bash |
Item::BashPlus |
Item::BashPlusPlus |
Item::Heal |
Item::HealPlus |
Item::HealPlusPlus |
Item::Triage |
Item::TriagePlus |
Item::TriagePlusPlus |
Item::Break |
Item::BreakPlus |
Item::BreakPlusPlus |
Item::Blast |
Item::BlastPlus |
Item::BlastPlusPlus |
Item::Chaos |
Item::ChaosPlus |
Item::ChaosPlusPlus |
Item::Amplify |
Item::AmplifyPlus |
Item::AmplifyPlusPlus |
Item::Hybrid |
Item::HybridPlus |
Item::HybridPlusPlus |
Item::Invert |
Item::InvertPlus |
Item::InvertPlusPlus |
Item::Decay |
Item::DecayPlus |
Item::DecayPlusPlus |
Item::Siphon|
Item::SiphonPlus |
Item::SiphonPlusPlus |
Item::Curse |
Item::CursePlus |
Item::CursePlusPlus |
Item::Link |
Item::LinkPlus |
Item::LinkPlusPlus |
Item::Silence |
Item::SilencePlus |
Item::SilencePlusPlus |
Item::Purify |
Item::PurifyPlus |
Item::PurifyPlusPlus |
Item::Purge |
Item::PurgePlus |
Item::PurgePlusPlus |
Item::Banish |
Item::BanishPlus |
Item::BanishPlusPlus |
Item::Haste |
Item::HastePlus |
Item::HastePlusPlus |
Item::Reflect |
Item::ReflectPlus |
Item::ReflectPlusPlus |
Item::Recharge |
Item::RechargePlus |
Item::RechargePlusPlus |
Item::Ruin |
Item::RuinPlus |
Item::RuinPlusPlus |
Item::Slay |
Item::SlayPlus |
Item::SlayPlusPlus |
Item::Sleep |
Item::SleepPlus |
Item::SleepPlusPlus |
Item::Sustain |
Item::SustainPlus |
Item::SustainPlusPlus |
Item::Intercept |
Item::InterceptPlus |
Item::InterceptPlusPlus |
Item::Electrify |
Item::ElectrifyPlus |
Item::ElectrifyPlusPlus |
Item::Absorb |
Item::AbsorbPlus |
Item::AbsorbPlusPlus => self.into_skill().unwrap().description(),
/* Item::Block => format!("Reduce red damage and blue damage taken by {:?}%. Block lasts {:?}T",
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Stun => format!("Stun target construct for {:?}T.",
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Buff => format!("Increase target construct RedPower BluePower SpeedStat by {:?}%. Buff lasts {:?}T",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Debuff => format!("Slows the target reducing SpeedStat by {:?}%. Debuff lasts {:?}T",
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Amplify|
Item::AmplifyPlus | Item::AmplifyPlus |
Item::AmplifyPlusPlus => format!("Increase RedPower BluePower by {:?}%. Lasts {:?}T.", Item::AmplifyPlusPlus => format!("Increase RedPower BluePower by {:?}%. Lasts {:?}T.",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100, self.into_skill().unwrap().effect()[0].get_multiplier() - 100,

View File

@ -745,6 +745,17 @@ impl Skill {
None => panic!("{:?} has no base item", self), None => panic!("{:?} has no base item", self),
} }
} }
pub fn description(self) -> String {
match self {
Skill::Attack => Attack::Base.description(),
Skill::Blast => Blast::Base.description(),
Skill::BlastPlus => Blast::Plus.description(),
Skill::BlastPlusPlus => Blast::PlusPlus.description(),
_ => format!("no description")
}
}
} }
#[derive(Debug,Clone,Copy,PartialEq,Serialize,Deserialize)] #[derive(Debug,Clone,Copy,PartialEq,Serialize,Deserialize)]
@ -753,6 +764,9 @@ impl Attack {
fn dmg_multiplier(self) -> usize { fn dmg_multiplier(self) -> usize {
match self { Attack::Base => 80 } match self { Attack::Base => 80 }
} }
fn description(self) -> String {
format!("Deal {:?}% RedPower as red damage.", self.dmg_multiplier())
}
} }
fn attack(cast: Cast, game: &mut Game, values: Attack) { fn attack(cast: Cast, game: &mut Game, values: Attack) {
@ -777,6 +791,9 @@ impl Blast {
Blast::Hybrid => 50, Blast::Hybrid => 50,
} }
} }
fn description(self) -> String {
format!("Deals {:?}% BluePower as blue damage.", self.dmg_multi())
}
} }
fn blast(cast: Cast, game: &mut Game, values: Blast) { fn blast(cast: Cast, game: &mut Game, values: Blast) {