diff --git a/client/src/components/info.component.jsx b/client/src/components/info.component.jsx
index 8d49b1ac..6a1689dd 100644
--- a/client/src/components/info.component.jsx
+++ b/client/src/components/info.component.jsx
@@ -70,7 +70,8 @@ class InfoComponent extends preact.Component {
if (isSkill) {
const regEx = /(RedPower|BluePower|GreenPower|RedLife|BlueLife|GreenLife|SpeedStat)/;
- const infoDescription = reactStringReplace(fullInfo.description, regEx, match => shapes[match]());
+ let infoDescription = reactStringReplace(fullInfo.description, regEx, match => shapes[match]());
+ infoDescription = reactStringReplace(infoDescription, '\n', () =>
);
const itemSource = itemInfo.combos.filter(c => c.item === removeTier(info));
const itemSourceInfo = itemSource.length
? `${itemSource[0].components[0]} ${itemSource[0].components[1]} ${itemSource[0].components[2]}`
@@ -176,7 +177,8 @@ class InfoComponent extends preact.Component {
);
});
const regEx = /(RedPower|BluePower|GreenPower|RedLife|BlueLife|GreenLife|SpeedStat)/;
- const infoDescription = reactStringReplace(fullInfo.description, regEx, match => shapes[match]());
+ let infoDescription = reactStringReplace(fullInfo.description, regEx, match => shapes[match]());
+ infoDescription = reactStringReplace(infoDescription, '\n', () =>
);
const itemSource = itemInfo.combos.filter(c => c.item === info);
let itemSourceInfo = itemSource.length
? `${itemSource[0].components[0]} ${itemSource[0].components[1]} ${itemSource[0].components[2]}`
@@ -202,10 +204,11 @@ class InfoComponent extends preact.Component {
);
}
const cost = fullInfo.cost ? `- ${fullInfo.cost}b` : false;
+ const infoDescription = reactStringReplace(fullInfo.description, '\n', () =>
);
return (
{fullInfo.item} {cost}
-
{fullInfo.description}
+
{infoDescription}
);
}
diff --git a/server/src/item.rs b/server/src/item.rs
index 763e17c2..2cae5571 100644
--- a/server/src/item.rs
+++ b/server/src/item.rs
@@ -584,9 +584,9 @@ impl Item {
pub fn into_description(&self) -> String {
match self {
// colours
- Item::Blue => format!("Combine with skills and specs to create upgraded items. \n Deterrents and destruction."),
- Item::Green => format!("Combine with skills and specs to create upgraded items.\n Protection and trickery."),
- Item::Red => format!("Combine with skills and specs to create upgraded items. \n Speed and chaos."),
+ Item::Blue => format!("Combine two colours with a white base item to create a new combo. \n Slow speed, magical type. Deterrents and destruction."),
+ 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."),
// base skills
Item::Attack => format!("Deal {:?}% RedPower as red damage.",
@@ -603,7 +603,8 @@ impl Item {
100 - self.into_skill().unwrap().effect()[0].get_multiplier()),
// specs
// Base
- Item::Power => format!("Increases all power stats by {:?}%. Power determines the base damage and healing of your construct skills.",
+ Item::Power => format!("Increases all power stats by {:?}%.
+ Power determines the base damage and healing of your construct skills.",
self.into_spec().unwrap().values().base()),
Item::Life => format!("Increases construct GreenLife by {:?}.
When your construct reaches 0 GreenLife it is knocked out and cannot cast skills.",
@@ -713,7 +714,8 @@ impl Item {
Item::Banish|
Item::BanishPlus |
- Item::BanishPlusPlus => format!("Banish target for {:?}T. Deal blue damage and red damage equal to {:?}% target red and blue life.
+ Item::BanishPlusPlus => format!("Banish target for {:?}T.
+ Deal blue damage and red damage equal to {:?}% target red and blue life.
Banished constructs are immune to all skills and effects.",
self.into_skill().unwrap().effect()[0].get_duration(),
self.into_skill().unwrap().multiplier()),
@@ -725,20 +727,24 @@ impl Item {
Item::Chaos|
Item::ChaosPlus |
Item::ChaosPlusPlus => format!(
- "Hits twice for red and blue damage. Damage {:?}% RedPower and BluePower. Randomly deals 0 to 30% more damage.",
+ "Hits twice for red and blue damage. Damage {:?}% RedPower and BluePower.
+ Randomly deals 0 to 30% more damage.",
self.into_skill().unwrap().multiplier()),
Item::Sustain|
Item::SustainPlus |
- Item::SustainPlusPlus => format!("Construct cannot be KO'd while active. Additionally provides immunity to disables. \
- Lasts {:?}T",
- self.into_skill().unwrap().effect()[0].get_duration()),
+ Item::SustainPlusPlus => format!(
+ "Construct cannot be KO'd while active and provides immunity to disables. Lasts {:?}T.
+ Recharges target RedLife based on {:?}% RedPower.",
+ self.into_skill().unwrap().effect()[0].get_duration(),
+ self.into_skill().unwrap().multiplier()),
Item::Electrify|
Item::ElectrifyPlus |
Item::ElectrifyPlusPlus => format!(
- "Applies electrify for {:?}T. If a construct with electrify takes damage they will apply an electrocute debuff to the caster dealing {:?}% \
- BluePower as BlueDamage per turn for {:?}T.",
+ "Applies electrify for {:?}T.
+ If a construct with electrify takes direct damage they will apply an electrocute debuff to the caster.
+ Electrocute deals {:?}% BluePower as BlueDamage per turn for {:?}T.",
self.into_skill().unwrap().effect()[0].get_duration(),
self.into_skill().unwrap().effect()[0].get_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
self.into_skill().unwrap().effect()[0].get_skill().unwrap().effect()[0].get_duration()),
@@ -753,7 +759,8 @@ impl Item {
Item::Decay|
Item::DecayPlus |
Item::DecayPlusPlus => format!(
- "Reduces healing taken by {:?}% for {:?}T. Deals blue damage {:?}% BluePower each turn for {:?}T.",
+ "Reduces healing taken by {:?}% for {:?}T.
+ Deals blue damage {:?}% BluePower each turn for {:?}T.",
100 - self.into_skill().unwrap().effect()[0].get_multiplier(),
self.into_skill().unwrap().effect()[0].get_duration(),
self.into_skill().unwrap().effect()[1].get_skill().unwrap().multiplier(),
@@ -762,17 +769,20 @@ impl Item {
Item::Absorb|
Item::AbsorbPlus |
Item::AbsorbPlusPlus => format!(
- "Gain Absorb for {:?}T. {} Absorption lasts {:?}T.",
+ "Gain Absorb for {:?}T. When attacked with Absorb you gain Absorption.
+ Absorption increases RedPower and BluePower based on Damage taken.
+ Absorption lasts {:?}T.",
self.into_skill().unwrap().effect()[0].get_duration(),
- "When attacked with Absorb you gain Absorption which increases RedPower and BluePower based on Damage taken.",
self.into_skill().unwrap().effect()[0].get_skill().unwrap().effect()[0].get_duration()),
Item::Haste|
Item::HastePlus |
Item::HastePlusPlus => format!(
- "Haste increases SpeedStat by {:?}%, Red Attack based skills will strike again dealing {:?}% SpeedStat as red damage. Lasts {:?}T",
+ "Haste increases SpeedStat by {:?}%.
+ Red Attack based skills will strike again dealing {:?}% SpeedStat as red damage.
+ Lasts {:?}T",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
- Skill::HasteStrike.multiplier(),
+ Skill::HasteStrike.multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Heal|
@@ -782,7 +792,9 @@ impl Item {
Item::Hybrid|
Item::HybridPlus |
Item::HybridPlusPlus => format!(
- "Hybrid increases GreenPower by {:?}%, Blue based Attack skills will blast again dealing {:?}% GreenPower as blue damage. Lasts {:?}T.",
+ "Hybrid increases GreenPower by {:?}%.
+ Blue based Attack skills will blast again dealing {:?}% GreenPower as blue damage.
+ Lasts {:?}T.",
self.into_skill().unwrap().effect()[0].get_multiplier() - 100,
Skill::HybridBlast.multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
@@ -790,20 +802,26 @@ impl Item {
Item::Invert|
Item::InvertPlus |
Item::InvertPlusPlus => format!(
- "Reverse healing into damage and damage into healing. Any excess red or blue damage is converted into shield recharge. Lasts {:?}T.",
+ "Reverse healing into damage and damage into healing.
+ Any excess red or blue damage is converted into shield recharge.
+ Lasts {:?}T.",
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Counter|
Item::CounterPlus |
- Item::CounterPlusPlus => format!("Applies counter and block {:?}T. Block reduces incoming red damage by {:?}%.
- Red damage taken during counter will trigger a counter attack dealing {:?}% RedPower as red damage.",
+ Item::CounterPlusPlus => format!(
+ "Applies counter and block {:?}T. Block reduces incoming red damage by {:?}%.
+ Red damage taken during counter will trigger a counter attack.
+ Counter attack deals {:?}% RedPower as red damage.",
self.into_skill().unwrap().effect()[0].get_duration(),
100 - self.into_skill().unwrap().effect()[1].get_multiplier(),
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier()),
Item::Purge|
Item::PurgePlus |
- Item::PurgePlusPlus => format!("Remove buffs from target construct. Applies purge disabling target green skills for {:?}T.",
+ Item::PurgePlusPlus => format!(
+ "Remove buffs from target construct.
+ Applies purge disabling target green skills for {:?}T.",
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Purify|
@@ -815,8 +833,10 @@ impl Item {
Item::Reflect|
Item::ReflectPlus |
Item::ReflectPlusPlus => format!(
- "Reflect incoming blue skills to source. Lasts {:?}T.",
- self.into_skill().unwrap().effect()[0].get_duration()),
+ "Reflect incoming blue skills to source. Lasts {:?}T.
+ Recharges target BlueLife based on {:?}% BluePower.",
+ self.into_skill().unwrap().effect()[0].get_duration(),
+ self.into_skill().unwrap().multiplier()),
Item::Recharge|
Item::RechargePlus |
@@ -833,8 +853,8 @@ impl Item {
Item::Link|
Item::LinkPlus |
Item::LinkPlusPlus => format!(
- "Form a link with target swapping relative life values.
- If the target construct has more green life than caster, {:?}% of green life difference as blue damage to the target and heal to the caster.
+ "Swap {:?}% of green life difference as blue damage to the target and healing to the caster.
+ The swap only occurs if the target construct has more green life than caster.
Stuns caster for {:?}T in the process.",
self.into_skill().unwrap().multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
@@ -850,7 +870,8 @@ impl Item {
Item::Slay|
Item::SlayPlus |
Item::SlayPlusPlus => format!(
- "Deals {:?}% RedPower + {:?}% GreenPower as red damage and provides self healing based on damage dealt.",
+ "Deals {:?}% RedPower + {:?}% GreenPower as red damage.
+ Provides self healing based on damage dealt.",
self.into_skill().unwrap().multiplier(),
self.into_skill().unwrap().multiplier()),
@@ -864,7 +885,8 @@ impl Item {
Item::Restrict|
Item::RestrictPlus |
Item::RestrictPlusPlus => format!(
- "Block the target from using red skills for {:?}T and deals {:?}% RedPower as red damage. Deals 35% more damage per red skill on target.",
+ "Block the target from using red skills for {:?}T and deals {:?}% RedPower as red damage.
+ Deals 35% more damage per red skill on target.",
self.into_skill().unwrap().effect()[0].get_duration(),
self.into_skill().unwrap().multiplier()),
@@ -872,7 +894,8 @@ impl Item {
Item::BashPlus |
Item::BashPlusPlus => format!(
"Bash the target increasing the cooldowns of target skills by 1T.
- Deals {:?}% RedPower as red damage and 45% more damage per cooldown increased. Stuns for {:?}T.",
+ Deals {:?}% RedPower as red damage and 45% more damage per cooldown increased.
+ Stuns for {:?}T.",
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
@@ -885,14 +908,17 @@ impl Item {
Item::Siphon|
Item::SiphonPlus |
Item::SiphonPlusPlus => format!(
- "Deals {:?}% BluePower + {:?}% GreenPower as blue damage each turn and heals caster based on damage dealt. Lasts {:?}T.",
+ "Deals {:?}% BluePower + {:?}% GreenPower as blue damage each turn.
+ Heals caster based on damage dealt.
+ Lasts {:?}T.",
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
self.into_skill().unwrap().effect()[0].get_skill().unwrap().multiplier(),
self.into_skill().unwrap().effect()[0].get_duration()),
Item::Intercept|
Item::InterceptPlus |
- Item::InterceptPlusPlus => format!("Intercept redirects skills against the team to target, lasts {:?}T.\
+ Item::InterceptPlusPlus => format!(
+ "Intercept redirects skills against the team to target, lasts {:?}T.
Recharges RedLife for {:?} RedPower.",
self.into_skill().unwrap().effect()[0].get_duration(),
self.into_skill().unwrap().multiplier()),