Merge branch 'release/1.5.2'
This commit is contained in:
commit
87ffb48b7e
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mnml-client",
|
||||
"version": "1.5.1",
|
||||
"version": "1.5.2",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
2626
client/assets/mnml.logo.trim.svg
Normal file
2626
client/assets/mnml.logo.trim.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 98 KiB |
@ -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 */
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mnml-client",
|
||||
"version": "1.5.1",
|
||||
"version": "1.5.2",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
@ -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'];
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -32,7 +32,7 @@ function Instance(args) {
|
||||
|
||||
sendInstanceReady,
|
||||
} = args;
|
||||
|
||||
if (!instance) return false;
|
||||
const rdyClasses = `ready-btn ready`;
|
||||
const readyInfo = instance.phase === 'Lobby'
|
||||
? 'lobbyReady'
|
||||
|
||||
@ -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.');
|
||||
|
||||
@ -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 (
|
||||
<h1 class="resolving-skill">{animTarget.skill}</h1>
|
||||
<div class="resolving-skill">
|
||||
<h1>{animTarget.skill}</h1>
|
||||
<div> {itemSourceDescription} </div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mnml-ops",
|
||||
"version": "1.5.1",
|
||||
"version": "1.5.2",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "mnml"
|
||||
version = "1.5.1"
|
||||
version = "1.5.2"
|
||||
authors = ["ntr <ntr@smokestack.io>"]
|
||||
|
||||
[dependencies]
|
||||
|
||||
@ -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));
|
||||
|
||||
|
||||
@ -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;;
|
||||
}
|
||||
|
||||
|
||||
@ -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 }
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user