diff --git a/VERSION b/VERSION
index 8e03717d..a73b4325 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.5.1
\ No newline at end of file
+1.5.2
\ No newline at end of file
diff --git a/acp/package.json b/acp/package.json
index de966aac..809c390d 100644
--- a/acp/package.json
+++ b/acp/package.json
@@ -1,6 +1,6 @@
{
"name": "mnml-client",
- "version": "1.5.1",
+ "version": "1.5.2",
"description": "",
"main": "index.js",
"scripts": {
diff --git a/client/assets/mnml.logo.trim.svg b/client/assets/mnml.logo.trim.svg
new file mode 100644
index 00000000..63f45668
--- /dev/null
+++ b/client/assets/mnml.logo.trim.svg
@@ -0,0 +1,2626 @@
+
+
+
+
diff --git a/client/assets/styles/game.less b/client/assets/styles/game.less
index a8765ba5..5e9586de 100644
--- a/client/assets/styles/game.less
+++ b/client/assets/styles/game.less
@@ -187,6 +187,11 @@
align-self: center;
text-align: center;
height: auto;
+ svg {
+ display: inline;
+ height: 1em;
+ margin-right: 0.1em
+ }
}
/* some stupid bug in chrome makes it fill the entire screen */
diff --git a/client/assets/styles/styles.less b/client/assets/styles/styles.less
index 2a1d8451..589fc2d8 100644
--- a/client/assets/styles/styles.less
+++ b/client/assets/styles/styles.less
@@ -288,7 +288,7 @@ li {
.logo {
height: 2em;
- background-image: url("../../src/components/svgs/menu.logo.svg");
+ background-image: url("../../assets/mnml.logo.trim.svg");
background-size: contain;
background-repeat: no-repeat;
background-position: left;
diff --git a/client/assets/styles/styles.mobile.css b/client/assets/styles/styles.mobile.css
index ec43c8d2..8cc73e6f 100644
--- a/client/assets/styles/styles.mobile.css
+++ b/client/assets/styles/styles.mobile.css
@@ -3,7 +3,7 @@
font-size: 12pt;
padding: 0;
grid-template-columns: 1fr;
- grid-template-rows: 1fr min-content;
+ grid-template-rows: 10fr 1fr;
grid-template-areas:
"main"
"footer";
@@ -31,6 +31,9 @@
footer {
display: flex;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
}
#nav-btn, #instance-nav {
diff --git a/client/package.json b/client/package.json
index bdfacdc3..4fd0e2f6 100644
--- a/client/package.json
+++ b/client/package.json
@@ -1,6 +1,6 @@
{
"name": "mnml-client",
- "version": "1.5.1",
+ "version": "1.5.2",
"description": "",
"main": "index.js",
"scripts": {
diff --git a/client/src/animations.utils.jsx b/client/src/animations.utils.jsx
index feda087b..39ef17ef 100644
--- a/client/src/animations.utils.jsx
+++ b/client/src/animations.utils.jsx
@@ -74,8 +74,8 @@ function getObjects(resolution, stages, game, account) {
function getSequence(resolution) {
if (!resolution.event) return [];
if (resolution.event[0] === 'Inversion') return [];
+ if (['TargetKo', 'Ko'].includes(resolution.event[0])) return [];
if (['Skill', 'AoeSkill'].includes(resolution.event[0])) return ['START_SKILL', 'END_SKILL'];
- if (resolution.event[0] === 'Ko') return ['POST_SKILL'];
switch (resolution.stages) {
case 'AllStages': return ['START_SKILL', 'END_SKILL', 'POST_SKILL'];
diff --git a/client/src/components/game.footer.jsx b/client/src/components/game.footer.jsx
index 40095d45..101318a4 100644
--- a/client/src/components/game.footer.jsx
+++ b/client/src/components/game.footer.jsx
@@ -52,6 +52,8 @@ function GameFooter(props) {
sendInstanceState,
} = props;
+ if (!game) return false; // ???
+
const playerTeam = game.players.find(t => t.id === account.id);
function quitClick() {
diff --git a/client/src/components/instance.footer.jsx b/client/src/components/instance.footer.jsx
index 82e01681..90c3bc37 100644
--- a/client/src/components/instance.footer.jsx
+++ b/client/src/components/instance.footer.jsx
@@ -32,7 +32,7 @@ function Instance(args) {
sendInstanceReady,
} = args;
-
+ if (!instance) return false;
const rdyClasses = `ready-btn ready`;
const readyInfo = instance.phase === 'Lobby'
? 'lobbyReady'
diff --git a/client/src/components/play.ctrl.jsx b/client/src/components/play.ctrl.jsx
index 4b0ed01c..1f4c0d4c 100644
--- a/client/src/components/play.ctrl.jsx
+++ b/client/src/components/play.ctrl.jsx
@@ -106,7 +106,7 @@ function JoinButtons(args) {
try {
document.execCommand('copy');
- infoToast('Invite link copied.');
+ infoToast('Invite link copied to clipboard.');
} catch (err) {
console.error('link copy error', err);
errorToast('Invite link copy error.');
diff --git a/client/src/components/targeting.arrows.jsx b/client/src/components/targeting.arrows.jsx
index 6ea195f1..7d401887 100644
--- a/client/src/components/targeting.arrows.jsx
+++ b/client/src/components/targeting.arrows.jsx
@@ -2,12 +2,15 @@ const preact = require('preact');
const { Component } = require('preact');
const { connect } = require('preact-redux');
// const anime = require('animejs').default;
-
+const reactStringReplace = require('react-string-replace');
const throttle = require('lodash/throttle');
+const shapes = require('./shapes');
+const { removeTier } = require('../utils');
+
const addState = connect(
- ({ game, account, animTarget, animating }) =>
- ({ game, account, animTarget, animating })
+ ({ game, account, animTarget, animating, itemInfo }) =>
+ ({ game, account, animTarget, animating, itemInfo })
);
class TargetSvg extends Component {
@@ -25,7 +28,7 @@ class TargetSvg extends Component {
}
render(props, state) {
- const { game, account, animating, animTarget } = props;
+ const { game, account, animating, animTarget, itemInfo } = props;
const { width, height } = state;
if (!game) return false; // game will be null when battle ends
@@ -33,9 +36,17 @@ class TargetSvg extends Component {
// just put skill name up
if (animating) {
if (!animTarget) return false;
-
+ const itemSource = itemInfo.combos.filter(c => c.item === removeTier(animTarget.skill));
+ const itemSourceInfo = itemSource.length
+ ? `${itemSource[0].components[0]} ${itemSource[0].components[1]} ${itemSource[0].components[2]}`
+ : false;
+ const itemRegEx = /(Red|Blue|Green)/;
+ const itemSourceDescription = reactStringReplace(itemSourceInfo, itemRegEx, match => shapes[match]());
return (
-
{animTarget.skill}
+
+
{animTarget.skill}
+
{itemSourceDescription}
+
);
}
diff --git a/ops/package.json b/ops/package.json
index 53e29b4b..f0210790 100755
--- a/ops/package.json
+++ b/ops/package.json
@@ -1,6 +1,6 @@
{
"name": "mnml-ops",
- "version": "1.5.1",
+ "version": "1.5.2",
"description": "",
"main": "index.js",
"scripts": {
diff --git a/server/Cargo.toml b/server/Cargo.toml
index ba774a81..967fccad 100644
--- a/server/Cargo.toml
+++ b/server/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "mnml"
-version = "1.5.1"
+version = "1.5.2"
authors = ["ntr "]
[dependencies]
diff --git a/server/src/construct.rs b/server/src/construct.rs
index fdc62ed6..d1f5eab9 100644
--- a/server/src/construct.rs
+++ b/server/src/construct.rs
@@ -967,9 +967,9 @@ mod tests {
construct.apply_modifiers(&player_colours);
- assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(50));
- assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(75));
- assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(100));
+ assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(35));
+ assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(50));
+ assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(70));
return;
}
@@ -993,7 +993,7 @@ mod tests {
assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(10));
assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(10));
assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(10));
- assert!(construct.green_life.value == construct.green_life.base + 100);
+ assert!(construct.green_life.value == construct.green_life.base + 125);
return;
}
@@ -1039,7 +1039,7 @@ mod tests {
construct.apply_modifiers(&player_colours);
- assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(50));
+ assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(35));
assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(25));
assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(25));
diff --git a/server/src/skill.rs b/server/src/skill.rs
index 3f9b1cbc..a965f7de 100644
--- a/server/src/skill.rs
+++ b/server/src/skill.rs
@@ -305,7 +305,7 @@ fn post_resolve(_skill: Skill, game: &mut Game, mut resolutions: Resolutions) ->
};
}
- if target.affected(Effect::Absorb) {
+ if target.affected(Effect::Absorb) && !target.is_ko() {
let ConstructEffect { effect: _, duration: _, meta, tick: _ } = target.effects.iter()
.find(|e| e.effect == Effect::Absorb).unwrap().clone();
match meta {
@@ -316,7 +316,7 @@ fn post_resolve(_skill: Skill, game: &mut Game, mut resolutions: Resolutions) ->
};
}
if c == Colour::Red {
- if target.affected(Effect::Counter) {
+ if target.affected(Effect::Counter) && !target.is_ko() {
let ConstructEffect { effect: _, duration: _, meta, tick: _ } = target.effects.iter()
.find(|e| e.effect == Effect::Counter).unwrap().clone();
match meta {
@@ -717,27 +717,28 @@ impl Skill {
Skill::Attack => 80, // Base
Skill::Blast=> 110, // BB
- Skill::BlastPlus => 130, // BB
- Skill::BlastPlusPlus => 150, // BB
+ Skill::BlastPlus => 145, // BB
+ Skill::BlastPlusPlus => 210, // BB
Skill::Chaos=> 40, // BR
- Skill::ChaosPlus => 50, // BR
- Skill::ChaosPlusPlus => 60, // BR
+ Skill::ChaosPlus => 65, // BR
+ Skill::ChaosPlusPlus => 90, // BR
+
+ Skill::Heal=> 125, //GG
+ Skill::HealPlus => 185, //GG
+ Skill::HealPlusPlus => 270, //GG
- Skill::Heal=> 130, //GG
- Skill::HealPlus => 160, //GG
- Skill::HealPlusPlus => 200, //GG
Skill::SiphonTick=> 40, // GB
- Skill::SiphonTickPlus => 70,
- Skill::SiphonTickPlusPlus => 110,
+ Skill::SiphonTickPlus => 50,
+ Skill::SiphonTickPlusPlus => 60,
Skill::Slay=> 70, // RG
- Skill::SlayPlus => 90,
- Skill::SlayPlusPlus => 120,
+ Skill::SlayPlus => 115,
+ Skill::SlayPlusPlus => 180,
Skill::Strike=> 90, //RR
- Skill::StrikePlus => 110,
- Skill::StrikePlusPlus => 140,
+ Skill::StrikePlus => 140,
+ Skill::StrikePlusPlus => 200,
// Block Base
Skill::ElectrocuteTick=> 80,
@@ -1583,9 +1584,17 @@ fn absorb(source: &mut Construct, target: &mut Construct, mut results: Resolutio
fn absorption(source: &mut Construct, target: &mut Construct, mut results: Resolutions, reflect_skill: Skill, amount: u64, skill: Skill) -> Resolutions {
let absorb = skill.effect()[0].set_meta(EffectMeta::AddedDamage(amount));
+
results.push(Resolution::new(source, target)
.event(target.add_effect(reflect_skill, absorb))
.stages(EventStages::PostOnly));
+
+ let absorb_index = target.effects.iter().position(|e| e.effect == Effect::Absorb).expect("No absorb");
+ let ce = target.effects.remove(absorb_index);
+
+ results.push(Resolution::new(source, target)
+ .event(Event::Removal { effect: ce.effect, construct_effects: target.effects.clone() })
+ .stages(EventStages::PostOnly));
return results;;
}
diff --git a/server/src/spec.rs b/server/src/spec.rs
index a809339d..736eaba1 100644
--- a/server/src/spec.rs
+++ b/server/src/spec.rs
@@ -174,161 +174,161 @@ impl Spec {
Spec::PowerRR=> SpecValues {
base: 25,
bonuses: vec![
- SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 25 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 25 },
- SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 25 }
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 10 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 20 }
],
},
Spec::PowerGG=> SpecValues {
base: 25,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 25 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 25 },
- SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 25 }
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 10 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 20 }
],
},
Spec::PowerBB=> SpecValues {
base: 25,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 25 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 25 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 25 }
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 10 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 20 }
],
},
Spec::PowerRG=> SpecValues {
- base: 15,
+ base: 20,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 15 },
- SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 5 },
+ SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 10 },
SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 15 }
],
},
Spec::PowerGB=> SpecValues {
- base: 15,
+ base: 20,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 15 },
- SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 5 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 10 },
SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 15 }
],
},
Spec::PowerRB=> SpecValues {
- base: 15,
+ base: 20,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 15 },
- SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 5 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 10 },
SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 15 }
],
},
Spec::PowerRRPlus => SpecValues {
- base: 40,
+ base: 45,
bonuses: vec![
- SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 40 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 40 },
- SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 40 }
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 35 }
],
},
Spec::PowerGGPlus => SpecValues {
- base: 40,
+ base: 45,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 40 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 40 },
- SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 40 }
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 35 }
],
},
Spec::PowerBBPlus => SpecValues {
- base: 40,
+ base: 45,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 40 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 40 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 40 }
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 15 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 35 }
],
},
Spec::PowerRGPlus => SpecValues {
- base: 25,
+ base: 35,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 25 },
- SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 10 },
+ SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 20 },
SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 25 }
],
},
Spec::PowerGBPlus => SpecValues {
- base: 25,
+ base: 35,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 25 },
- SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 10 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 20 },
SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 25 }
],
},
Spec::PowerRBPlus => SpecValues {
- base: 25,
+ base: 35,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 25 },
- SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 10 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 20 },
SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 25 }
],
},
Spec::PowerRRPlusPlus => SpecValues {
- base: 60,
+ base: 80,
bonuses: vec![
- SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 60 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 60 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 45 },
SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 60 }
],
},
Spec::PowerGGPlusPlus => SpecValues {
- base: 60,
+ base: 80,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 60 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 60 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 45 },
SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 60 }
],
},
Spec::PowerBBPlusPlus => SpecValues {
- base: 60,
+ base: 80,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 60 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 60 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 25 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 45 },
SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 60 }
],
},
Spec::PowerRGPlusPlus => SpecValues {
- base: 40,
+ base: 60,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 40 },
- SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 40 },
- SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 40 }
+ SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 20 },
+ SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 30 },
+ SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 45 }
],
},
Spec::PowerGBPlusPlus => SpecValues {
- base: 40,
+ base: 60,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 40 },
- SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 40 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 40 }
+ SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 20 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 30 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 45 }
],
},
Spec::PowerRBPlusPlus => SpecValues {
- base: 40,
+ base: 60,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 40 },
- SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 40 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 40 }
+ SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 20 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 30 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 45 }
],
},
@@ -500,167 +500,167 @@ impl Spec {
},
Spec::Life => SpecValues {
- base: 100,
+ base: 125,
bonuses: vec![]},
Spec::LifeRR=> SpecValues {
- base: 200,
+ base: 275,
bonuses: vec![
- SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 100 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 100 },
- SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 100 }
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 75 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 125 },
+ SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 175 }
],
},
Spec::LifeGG=> SpecValues {
- base: 200,
+ base: 225,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 100 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 100 },
- SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 100 }
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 50 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 75 },
+ SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 125 }
],
},
Spec::LifeBB=> SpecValues {
- base: 200,
+ base: 275,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 100 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 100 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 100 }
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 75 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 125 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 175 }
],
},
Spec::LifeRG=> SpecValues {
- base: 150,
+ base: 125,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 75 },
+ SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 50 },
SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 75 },
- SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 75 }
+ SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 125 }
],
},
Spec::LifeGB=> SpecValues {
- base: 150,
+ base: 125,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 75 },
+ SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 50 },
SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 75 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 75 }
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 125 }
],
},
Spec::LifeRB=> SpecValues {
- base: 150,
+ base: 175,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 75 },
+ SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 50 },
SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 75 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 75 }
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 125 }
],
},
Spec::LifeRRPlus => SpecValues {
- base: 300,
+ base: 500,
bonuses: vec![
- SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 150 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 150 },
- SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 150 }
- ],
- },
-
- Spec::LifeGGPlus => SpecValues {
- base: 300,
- bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 150 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 150 },
- SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 150 }
- ],
- },
-
- Spec::LifeBBPlus => SpecValues {
- base: 300,
- bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 150 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 150 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 150 }
- ],
- },
-
- Spec::LifeRGPlus => SpecValues {
- base: 200,
- bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 100 },
- SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 100 },
- SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 100 }
- ],
- },
-
- Spec::LifeGBPlus => SpecValues {
- base: 200,
- bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 100 },
- SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 100 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 100 }
- ],
- },
-
- Spec::LifeRBPlus => SpecValues {
- base: 200,
- bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 100 },
- SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 100 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 100 }
- ],
- },
- Spec::LifeRRPlusPlus => SpecValues {
- base: 300,
- bonuses: vec![
- SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 300 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 300 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 125 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 225 },
SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 300 }
],
},
- Spec::LifeGGPlusPlus => SpecValues {
- base: 300,
+ Spec::LifeGGPlus => SpecValues {
+ base: 400,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 300 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 300 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 90 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 130 },
+ SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 225 }
+ ],
+ },
+
+ Spec::LifeBBPlus => SpecValues {
+ base: 500,
+ bonuses: vec![
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 125 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 225 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 300 }
+ ],
+ },
+
+ Spec::LifeRGPlus => SpecValues {
+ base: 225,
+ bonuses: vec![
+ SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 100 },
+ SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 150 },
+ SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 225 }
+ ],
+ },
+
+ Spec::LifeGBPlus => SpecValues {
+ base: 225,
+ bonuses: vec![
+ SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 100 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 150 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 225 }
+ ],
+ },
+
+ Spec::LifeRBPlus => SpecValues {
+ base: 350,
+ bonuses: vec![
+ SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 100 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 150 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 225 }
+ ],
+ },
+ Spec::LifeRRPlusPlus => SpecValues {
+ base: 875,
+ bonuses: vec![
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 225 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 400 },
+ SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 525 }
+ ],
+ },
+
+ Spec::LifeGGPlusPlus => SpecValues {
+ base: 475,
+ bonuses: vec![
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 130 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 225 },
SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 300 }
],
},
Spec::LifeBBPlusPlus => SpecValues {
- base: 300,
+ base: 875,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 300 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 300 },
- SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 300 }
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 225 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 400 },
+ SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 525 }
],
},
Spec::LifeRGPlusPlus => SpecValues {
- base: 200,
+ base: 400,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 200 },
- SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 200 },
- SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 200 }
+ SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 175 },
+ SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 275 },
+ SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 400 }
],
},
Spec::LifeGBPlusPlus => SpecValues {
- base: 200,
+ base: 625,
bonuses: vec![
- SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 200 },
- SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 200 },
- SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 200 }
+ SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 175 },
+ SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 275 },
+ SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 400 }
],
},
Spec::LifeRBPlusPlus => SpecValues {
- base: 200,
+ base: 400,
bonuses: vec![
- SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 200 },
- SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 200 },
- SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 200 }
+ SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 175 },
+ SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 275 },
+ SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 400 }
],
},
}