Merge branch 'develop' into core
This commit is contained in:
commit
c91c94b656
12
CHANGELOG.md
12
CHANGELOG.md
@ -1,3 +1,15 @@
|
|||||||
|
## [1.10.1] - 2019-12-04
|
||||||
|
### Changed
|
||||||
|
- Reduced the number of items to create + and ++ versions from 3 to 2 (need 4 items total to make a ++)
|
||||||
|
- Reduced the power of ++ skills to be closer to the power of previous + versions
|
||||||
|
- Tweaked all values of power specs to reduce their power bonuses
|
||||||
|
|
||||||
|
## [1.10.0] - 2019-11-29
|
||||||
|
### Changed
|
||||||
|
- Reworked the vbox layout
|
||||||
|
- Floating combat text and faster animations
|
||||||
|
- Mobile UI fixes
|
||||||
|
|
||||||
## [1.9.1] - 2019-11-21
|
## [1.9.1] - 2019-11-21
|
||||||
### Fixed
|
### Fixed
|
||||||
- Fixed Item+ Purchasing Bug
|
- Fixed Item+ Purchasing Bug
|
||||||
|
|||||||
200
COMBOS.md
Normal file
200
COMBOS.md
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
# Spec / Skill hybrid specs #
|
||||||
|
|
||||||
|
Create skills specs by combining an upgraded skills with corresponding colour specs:
|
||||||
|
Strike (RR + A) can be combined with (PowerRR, SpeedRR, LifeRR)
|
||||||
|
- Strike + PowerRR -> StrikePower
|
||||||
|
- Strike + SpeedRR -> StrikeSpeed
|
||||||
|
- Strike + LifeRR -> StrikeLife
|
||||||
|
|
||||||
|
Could also create SkillSpec+ by combining two together.
|
||||||
|
|
||||||
|
## Why Skill Specs
|
||||||
|
|
||||||
|
- Give tools to players to make cool unique builds
|
||||||
|
- Passive utility that you work towards
|
||||||
|
- Specialise in a type of skill
|
||||||
|
- Repurpose skills that you aren't using much for active use
|
||||||
|
- More layers of complexity
|
||||||
|
|
||||||
|
## Skill specs philosphy
|
||||||
|
|
||||||
|
- Should be more interesting than just another stat "multiplier" we have that already (could be placeholder though)
|
||||||
|
- Passives should help build a theme / identity to the skills
|
||||||
|
- Specs should be numerically scalable so they can be `balanced` (also for upgraded versions think continuous vs discrete)
|
||||||
|
- While specialised should be useful for multiple skills
|
||||||
|
e.g. StrikeSpeed -> Causes your red attack skills to cast on another target on the same team for (X% damage)
|
||||||
|
A StrikeSpeed should do something for `some` other active skill that isn't strike
|
||||||
|
- They don't have to be `competely game changing` to be viable / fun / interesting
|
||||||
|
|
||||||
|
## Brainstorming on what kind of things skill specs could do
|
||||||
|
|
||||||
|
- Passive
|
||||||
|
- (Abosrb Spec) when you take damage you permanently gain X Power/Speed/Life
|
||||||
|
- Grant you Amplify with (X% multiplier) when you KO a target
|
||||||
|
- Convert (X% of your red / blue power -> green power)
|
||||||
|
- Reduce / Increase damage taken of a certain type (Block type upgrades maybe?)
|
||||||
|
|
||||||
|
- Active
|
||||||
|
- Make a skill cast another skill (strike another guy)
|
||||||
|
- Apply an effect when you cast a skill
|
||||||
|
- Change damage / healing / speed of a skill
|
||||||
|
|
||||||
|
## The BIG LIST
|
||||||
|
|
||||||
|
### Attack Base
|
||||||
|
Strike
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed (Repeat skill at X% multiplier)
|
||||||
|
|
||||||
|
Chaos
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Heal
|
||||||
|
Power (Convert X% Red/Blue Power to GreenPower)
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Blast
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Slay
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Siphon
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
### Stun Base
|
||||||
|
Bash
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Sleep
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Ruin
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Link
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Banish
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Break
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
### Block Base
|
||||||
|
|
||||||
|
Counter
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Reflect
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Purify
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Sustain
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Electrify
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Recharge
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
### Buff Base
|
||||||
|
|
||||||
|
Intercept
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Triage
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Absorb
|
||||||
|
Power (Gain X Power when you take damage)
|
||||||
|
Life (Gain X Life when you take damage)
|
||||||
|
Speed (Gain X Speed when you take damage)
|
||||||
|
|
||||||
|
Amplify
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Haste
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Hybrid
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
### Debuff Base
|
||||||
|
|
||||||
|
Purge
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Invert
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Restrict
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Silence
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Curse
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
|
||||||
|
Decay
|
||||||
|
Power
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
67
ROADMAP.md
Normal file
67
ROADMAP.md
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
### Road Map ###
|
||||||
|
|
||||||
|
# NOW Phase 1 (Dev -> Alpha)
|
||||||
|
|
||||||
|
Form company structure
|
||||||
|
Brainstorm Names?
|
||||||
|
Finalise documents
|
||||||
|
|
||||||
|
Game
|
||||||
|
Server T2 / T3 / Custom Specs
|
||||||
|
Any other outstanding "major" features ???
|
||||||
|
|
||||||
|
# Phase 2 (Alpha -> Beta)
|
||||||
|
|
||||||
|
Friends / Word of mouth testing
|
||||||
|
Server balance adjustments based on data
|
||||||
|
Client improvements based on feedback
|
||||||
|
|
||||||
|
Combat animations
|
||||||
|
|
||||||
|
Make in game shop
|
||||||
|
Payment processors / CC etc
|
||||||
|
Handler for game purchases
|
||||||
|
MTX - Construct Avatars
|
||||||
|
MTX - Skill anims
|
||||||
|
|
||||||
|
Setup company bank accounts
|
||||||
|
Accounting system - Xero etc
|
||||||
|
|
||||||
|
# Phase 3 (Beta -> Release)
|
||||||
|
|
||||||
|
Player Events e.g. chatwheel
|
||||||
|
Matchmaking + ELO / Leaderboard
|
||||||
|
Game skill private fields
|
||||||
|
|
||||||
|
# Phase 4 (Release -> Full Shill mode)
|
||||||
|
|
||||||
|
Refine artwork, icons, scaling etc
|
||||||
|
Music
|
||||||
|
Skill Specs
|
||||||
|
Some sort viewable combat log
|
||||||
|
|
||||||
|
Marketing materials
|
||||||
|
Videos
|
||||||
|
Twitch
|
||||||
|
Advertisments?
|
||||||
|
Information
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# china shit
|
||||||
|
You need to read the details more carefully. Playsaurus messed up:
|
||||||
|
|
||||||
|
1. They launched in China without registering a trademark
|
||||||
|
|
||||||
|
2. A competitor registered the trademark after 3 months of their launch
|
||||||
|
|
||||||
|
3. They continued to sell for 4 years under a name trademarked by another company, making $73,000+ yearly from that one country
|
||||||
|
|
||||||
|
Now, they complain about it on Reddit, even though China is a 'First to File' company.
|
||||||
|
|
||||||
|
The fault lies entirely with Playsaurus, nothing illegal occurred here.
|
||||||
|
|
||||||
|
https://www.trademarknow.com/blog/first-to-file-versus-first...
|
||||||
|
|
||||||
|
This situation could have occurred in many other countries - the difference is probably that the competitor is content to just sell in China, under a Chinese name, whereas products sold anywhere else would need to use the English name.
|
||||||
66
WORKLOG.md
66
WORKLOG.md
@ -2,23 +2,38 @@
|
|||||||
## NOW
|
## NOW
|
||||||
|
|
||||||
_ntr_
|
_ntr_
|
||||||
* effects rework
|
* can't reset password without knowing password =\
|
||||||
|
|
||||||
Siphon = [
|
|
||||||
Apply(Siphon(2T), target)
|
|
||||||
Apply(Siphoning(2T), source)
|
|
||||||
Skill(SiphonTick, source, target)
|
|
||||||
DamageBlue(50% BluePower, target),
|
|
||||||
]
|
|
||||||
|
|
||||||
* change cooldowns to delay & recharge
|
* change cooldowns to delay & recharge
|
||||||
- delay is cooldown before skill can first be used
|
- delay is cooldown before skill can first be used
|
||||||
- recharge is cooldown after using skill
|
- recharge is cooldown after using skill
|
||||||
- every x speed reduces delay of skills
|
- every x speed reduces delay of skills
|
||||||
|
* audio
|
||||||
|
* animation effects
|
||||||
|
* vbox combine / buy / equip etc
|
||||||
|
* background music
|
||||||
|
* effects rework
|
||||||
|
|
||||||
|
Siphon =
|
||||||
|
[
|
||||||
|
DamageBlue(50%),
|
||||||
|
Apply(
|
||||||
|
Siphon(2T)
|
||||||
|
- Siphoning(2T)
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
||||||
|
Hexagon Set
|
||||||
|
- Pick Colour
|
||||||
|
- Random Walk
|
||||||
|
- Draw hex
|
||||||
|
- Increase intensity for each visit
|
||||||
|
|
||||||
_mashy_
|
_mashy_
|
||||||
|
* rebalance
|
||||||
|
* speed specs
|
||||||
|
* life specs
|
||||||
|
|
||||||
* represent construct colours during game phase (try %bar or dots)
|
* represent construct colours during game phase (try %bar or dots)
|
||||||
* reduce combos from 3->2 and rebalance
|
|
||||||
|
|
||||||
_external_
|
_external_
|
||||||
* Graphics
|
* Graphics
|
||||||
@ -38,36 +53,7 @@ _tba_
|
|||||||
|
|
||||||
## SOON
|
## SOON
|
||||||
|
|
||||||
* can't reset password without knowing password =\
|
* Skill / Spec hybrids - SEE COMBOS.md
|
||||||
|
|
||||||
* audio
|
|
||||||
* animation effects
|
|
||||||
* vbox combine / buy / equip etc
|
|
||||||
* background music
|
|
||||||
|
|
||||||
Hexagon Set
|
|
||||||
- Pick Colour
|
|
||||||
- Random Walk
|
|
||||||
- Draw hex
|
|
||||||
- Increase intensity for each visit
|
|
||||||
|
|
||||||
* combo rework
|
|
||||||
- reduce number of items for creating t2/t3 items from 3 -> 2
|
|
||||||
- add lost complexity by adding skill spec items
|
|
||||||
- Created by combining a skill with corresponding spec
|
|
||||||
e.g.
|
|
||||||
- Strike + PowerRR -> StrikePower (Will be the power symbol with strike text under)
|
|
||||||
- Construct does Y% more damage with Strike
|
|
||||||
- Strike + SpeedRR -> StrikeSpeed (strike has Y% more speed)
|
|
||||||
- Strike + LifeRR -> StrikeLife (Strike recharges X% of damage as red life)
|
|
||||||
|
|
||||||
- Can also work as module style passive keystones
|
|
||||||
* troll life -> dmg -> Invert life spec?
|
|
||||||
* prince of peace
|
|
||||||
* bonus healing / no damage -> Heal power spec?
|
|
||||||
* fuck magic -> Some sort of reflect spec?
|
|
||||||
* empower on ko -> Amplify + Power spec
|
|
||||||
|
|
||||||
* elo + leaderboards
|
* elo + leaderboards
|
||||||
|
|
||||||
## LATER
|
## LATER
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mnml-client",
|
"name": "mnml-client",
|
||||||
"version": "1.10.0",
|
"version": "1.10.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -1,6 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><style>@font-face {
|
||||||
<html><head>
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><style>@font-face {
|
|
||||||
font-family: octicons-anchor;
|
font-family: octicons-anchor;
|
||||||
src: url(https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/font/octicons.woff) format('woff');
|
src: url(https://cdnjs.cloudflare.com/ajax/libs/octicons/4.4.0/font/octicons.woff) format('woff');
|
||||||
}
|
}
|
||||||
@ -733,6 +731,24 @@ pre {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style><title>CHANGELOG</title></head><body><article class="markdown-body"><h2>
|
</style><title>CHANGELOG</title></head><body><article class="markdown-body"><h2>
|
||||||
|
<a id="user-content-1101---2019-12-04" class="anchor" href="#1101---2019-12-04" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.10.1] - 2019-12-04</h2>
|
||||||
|
<h3>
|
||||||
|
<a id="user-content-changed" class="anchor" href="#changed" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Reduced the number of items to create + and ++ versions from 3 to 2 (need 4 items total to make a ++)</li>
|
||||||
|
<li>Reduced the power of ++ skills to be closer to the power of previous + versions</li>
|
||||||
|
<li>Tweaked all values of power specs to reduce their power bonuses</li>
|
||||||
|
</ul>
|
||||||
|
<h2>
|
||||||
|
<a id="user-content-1100---2019-11-29" class="anchor" href="#1100---2019-11-29" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.10.0] - 2019-11-29</h2>
|
||||||
|
<h3>
|
||||||
|
<a id="user-content-changed-1" class="anchor" href="#changed-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Reworked the vbox layout</li>
|
||||||
|
<li>Floating combat text and faster animations</li>
|
||||||
|
<li>Mobile UI fixes</li>
|
||||||
|
</ul>
|
||||||
|
<h2>
|
||||||
<a id="user-content-191---2019-11-21" class="anchor" href="#191---2019-11-21" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.9.1] - 2019-11-21</h2>
|
<a id="user-content-191---2019-11-21" class="anchor" href="#191---2019-11-21" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.9.1] - 2019-11-21</h2>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-fixed" class="anchor" href="#fixed" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Fixed</h3>
|
<a id="user-content-fixed" class="anchor" href="#fixed" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Fixed</h3>
|
||||||
@ -742,7 +758,7 @@ pre {
|
|||||||
<h2>
|
<h2>
|
||||||
<a id="user-content-190---2019-11-21" class="anchor" href="#190---2019-11-21" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.9.0] - 2019-11-21</h2>
|
<a id="user-content-190---2019-11-21" class="anchor" href="#190---2019-11-21" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.9.0] - 2019-11-21</h2>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed" class="anchor" href="#changed" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-2" class="anchor" href="#changed-2" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>VBOX
|
<li>VBOX
|
||||||
<ul>
|
<ul>
|
||||||
@ -794,7 +810,7 @@ pre {
|
|||||||
<li>Resizing of vbox when you buy / create certain items</li>
|
<li>Resizing of vbox when you buy / create certain items</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-1" class="anchor" href="#changed-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-3" class="anchor" href="#changed-3" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Automatically shows a preview of combo item when you have 3 items selected for combining</li>
|
<li>Automatically shows a preview of combo item when you have 3 items selected for combining</li>
|
||||||
<li>Only highlight the first available item slot when equipping</li>
|
<li>Only highlight the first available item slot when equipping</li>
|
||||||
@ -826,7 +842,7 @@ pre {
|
|||||||
<li>An issue where skills would not be put on cooldown after being used.</li>
|
<li>An issue where skills would not be put on cooldown after being used.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-2" class="anchor" href="#changed-2" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-4" class="anchor" href="#changed-4" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Game phase</p>
|
<p>Game phase</p>
|
||||||
@ -893,7 +909,7 @@ pre {
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-3" class="anchor" href="#changed-3" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-5" class="anchor" href="#changed-5" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Construct life changed</p>
|
<p>Construct life changed</p>
|
||||||
@ -979,7 +995,7 @@ pre {
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-4" class="anchor" href="#changed-4" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-6" class="anchor" href="#changed-6" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Vbox phase</p>
|
<p>Vbox phase</p>
|
||||||
@ -1125,7 +1141,7 @@ pre {
|
|||||||
<li>Player width styling</li>
|
<li>Player width styling</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-5" class="anchor" href="#changed-5" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-7" class="anchor" href="#changed-7" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Improved wiggle animation</li>
|
<li>Improved wiggle animation</li>
|
||||||
<li>Intercept is now considered defensive by bots</li>
|
<li>Intercept is now considered defensive by bots</li>
|
||||||
@ -1134,7 +1150,7 @@ pre {
|
|||||||
<h2>
|
<h2>
|
||||||
<a id="user-content-164---2019-10-24" class="anchor" href="#164---2019-10-24" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.6.4] - 2019-10-24</h2>
|
<a id="user-content-164---2019-10-24" class="anchor" href="#164---2019-10-24" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.6.4] - 2019-10-24</h2>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-6" class="anchor" href="#changed-6" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-8" class="anchor" href="#changed-8" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Animations processing on client side reduced.</li>
|
<li>Animations processing on client side reduced.</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -1176,7 +1192,7 @@ pre {
|
|||||||
<li>Subscriber chat!</li>
|
<li>Subscriber chat!</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-7" class="anchor" href="#changed-7" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-9" class="anchor" href="#changed-9" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Made available skill / effect information during the combat phase.</p>
|
<p>Made available skill / effect information during the combat phase.</p>
|
||||||
@ -1208,7 +1224,7 @@ pre {
|
|||||||
<a id="user-content-156---2019-10-17" class="anchor" href="#156---2019-10-17" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.5.6] - 2019-10-17</h2>
|
<a id="user-content-156---2019-10-17" class="anchor" href="#156---2019-10-17" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.5.6] - 2019-10-17</h2>
|
||||||
<p>We've updated the UI during the vbox / buy phase to give a better indication of valid actions.</p>
|
<p>We've updated the UI during the vbox / buy phase to give a better indication of valid actions.</p>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-8" class="anchor" href="#changed-8" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-10" class="anchor" href="#changed-10" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Borders for skill combo's represent the base colours.</p>
|
<p>Borders for skill combo's represent the base colours.</p>
|
||||||
@ -1234,7 +1250,7 @@ pre {
|
|||||||
<h2>
|
<h2>
|
||||||
<a id="user-content-155---2019-10-15" class="anchor" href="#155---2019-10-15" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.5.5] - 2019-10-15</h2>
|
<a id="user-content-155---2019-10-15" class="anchor" href="#155---2019-10-15" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>[1.5.5] - 2019-10-15</h2>
|
||||||
<h3>
|
<h3>
|
||||||
<a id="user-content-changed-9" class="anchor" href="#changed-9" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
<a id="user-content-changed-11" class="anchor" href="#changed-11" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Changed</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<p>Purge</p>
|
<p>Purge</p>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mnml-client",
|
"name": "mnml-client",
|
||||||
"version": "1.10.0",
|
"version": "1.10.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mnml-ops",
|
"name": "mnml-ops",
|
||||||
"version": "1.10.0",
|
"version": "1.10.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "mnml"
|
name = "mnml"
|
||||||
version = "1.10.0"
|
version = "1.10.1"
|
||||||
authors = ["ntr <ntr@smokestack.io>"]
|
authors = ["ntr <ntr@smokestack.io>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@ -223,7 +223,7 @@ impl Construct {
|
|||||||
red_life: ConstructStat { base: 125, value: 125, max: 125, stat: Stat::RedLife },
|
red_life: ConstructStat { base: 125, value: 125, max: 125, stat: Stat::RedLife },
|
||||||
blue_power: ConstructStat { base: 320, value: 320, max: 320, stat: Stat::BluePower },
|
blue_power: ConstructStat { base: 320, value: 320, max: 320, stat: Stat::BluePower },
|
||||||
blue_life: ConstructStat { base: 125, value: 125, max: 125, stat: Stat::BlueLife },
|
blue_life: ConstructStat { base: 125, value: 125, max: 125, stat: Stat::BlueLife },
|
||||||
green_power: ConstructStat { base: 300, value: 300, max: 300, stat: Stat::GreenPower },
|
green_power: ConstructStat { base: 320, value: 320, max: 320, stat: Stat::GreenPower },
|
||||||
green_life: ConstructStat { base: 800, value: 800, max: 800, stat: Stat::GreenLife },
|
green_life: ConstructStat { base: 800, value: 800, max: 800, stat: Stat::GreenLife },
|
||||||
speed: ConstructStat { base: 100, value: 100, max: 100, stat: Stat::Speed },
|
speed: ConstructStat { base: 100, value: 100, max: 100, stat: Stat::Speed },
|
||||||
// evasion: ConstructStat { base: 0, value: 0, max: 0, stat: Stat::Evasion },
|
// evasion: ConstructStat { base: 0, value: 0, max: 0, stat: Stat::Evasion },
|
||||||
@ -1031,9 +1031,9 @@ mod tests {
|
|||||||
|
|
||||||
construct.apply_modifiers(&player_colours);
|
construct.apply_modifiers(&player_colours);
|
||||||
|
|
||||||
assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(35));
|
assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(15));
|
||||||
assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(50));
|
assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(24));
|
||||||
assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(70));
|
assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(37));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1082,7 +1082,7 @@ mod tests {
|
|||||||
|
|
||||||
let colours = Colours::from_construct(&construct);
|
let colours = Colours::from_construct(&construct);
|
||||||
assert!(colours.red == 4);
|
assert!(colours.red == 4);
|
||||||
assert!(colours.blue == 20);
|
assert!(colours.blue == 10);
|
||||||
assert!(colours.green == 2);
|
assert!(colours.green == 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1103,9 +1103,9 @@ mod tests {
|
|||||||
|
|
||||||
construct.apply_modifiers(&player_colours);
|
construct.apply_modifiers(&player_colours);
|
||||||
|
|
||||||
assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(35));
|
assert!(construct.red_power.value == construct.red_power.base + construct.red_power.base.pct(15));
|
||||||
assert!(construct.green_power.value == construct.green_power.base + construct.green_power.base.pct(25));
|
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(25));
|
assert!(construct.blue_power.value == construct.blue_power.base + construct.blue_power.base.pct(10));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -959,37 +959,51 @@ impl Item {
|
|||||||
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue],
|
Item::Amplify => vec![Item::Buff, Item::Red, Item::Blue],
|
||||||
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
Item::Haste => vec![Item::Buff, Item::Red, Item::Green],
|
||||||
Item::Hybrid => vec![Item::Buff, Item::Green, Item::Blue],
|
Item::Hybrid => vec![Item::Buff, Item::Green, Item::Blue],
|
||||||
Item::InterceptPlus => vec![Item::Intercept, Item::Intercept, Item::Intercept],
|
|
||||||
Item::InterceptPlusPlus => vec![Item::InterceptPlus, Item::InterceptPlus, Item::InterceptPlus],
|
|
||||||
Item::TriagePlus => vec![Item::Triage, Item::Triage, Item::Triage],
|
|
||||||
Item::TriagePlusPlus => vec![Item::TriagePlus, Item::TriagePlus, Item::TriagePlus],
|
|
||||||
Item::HastePlus => vec![Item::Haste, Item::Haste, Item::Haste],
|
|
||||||
Item::HastePlusPlus => vec![Item::HastePlus, Item::HastePlus, Item::HastePlus],
|
|
||||||
Item::HybridPlus => vec![Item::Hybrid, Item::Hybrid, Item::Hybrid],
|
|
||||||
Item::HybridPlusPlus => vec![Item::HybridPlus, Item::HybridPlus, Item::HybridPlus],
|
|
||||||
Item::AbsorbPlus => vec![Item::Absorb, Item::Absorb, Item::Absorb],
|
|
||||||
Item::AbsorbPlusPlus => vec![Item::AbsorbPlus, Item::AbsorbPlus, Item::AbsorbPlus],
|
|
||||||
Item::AmplifyPlus => vec![Item::Amplify, Item::Amplify, Item::Amplify],
|
|
||||||
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus, Item::AmplifyPlus],
|
|
||||||
|
|
||||||
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green], // Needs flavour
|
Item::InterceptPlus => vec![Item::Intercept, Item::Intercept],
|
||||||
|
Item::InterceptPlusPlus => vec![Item::InterceptPlus, Item::InterceptPlus],
|
||||||
|
|
||||||
|
Item::TriagePlus => vec![Item::Triage, Item::Triage],
|
||||||
|
Item::TriagePlusPlus => vec![Item::TriagePlus, Item::TriagePlus],
|
||||||
|
|
||||||
|
Item::AbsorbPlus => vec![Item::Absorb, Item::Absorb],
|
||||||
|
Item::AbsorbPlusPlus => vec![Item::AbsorbPlus, Item::AbsorbPlus],
|
||||||
|
|
||||||
|
Item::AmplifyPlus => vec![Item::Amplify, Item::Amplify],
|
||||||
|
Item::AmplifyPlusPlus => vec![Item::AmplifyPlus, Item::AmplifyPlus],
|
||||||
|
|
||||||
|
Item::HastePlus => vec![Item::Haste, Item::Haste],
|
||||||
|
Item::HastePlusPlus => vec![Item::HastePlus, Item::HastePlus],
|
||||||
|
|
||||||
|
Item::HybridPlus => vec![Item::Hybrid, Item::Hybrid],
|
||||||
|
Item::HybridPlusPlus => vec![Item::HybridPlus, Item::HybridPlus],
|
||||||
|
|
||||||
|
|
||||||
|
Item::Purge => vec![Item::Debuff, Item::Green, Item::Green],
|
||||||
Item::Invert => vec![Item::Debuff, Item::Red, Item::Green],
|
Item::Invert => vec![Item::Debuff, Item::Red, Item::Green],
|
||||||
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
Item::Restrict => vec![Item::Debuff, Item::Red, Item::Red],
|
||||||
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
Item::Silence => vec![Item::Debuff, Item::Blue, Item::Blue],
|
||||||
Item::Curse => vec![Item::Debuff, Item::Red, Item::Blue],
|
Item::Curse => vec![Item::Debuff, Item::Red, Item::Blue],
|
||||||
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
Item::Decay => vec![Item::Debuff, Item::Green, Item::Blue],
|
||||||
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict, Item::Restrict],
|
|
||||||
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus, Item::RestrictPlus],
|
Item::PurgePlus => vec![Item::Purge, Item::Purge],
|
||||||
Item::PurgePlus => vec![Item::Purge, Item::Purge, Item::Purge], // Needs flavour
|
Item::PurgePlusPlus => vec![Item::PurgePlus, Item::PurgePlus],
|
||||||
Item::PurgePlusPlus => vec![Item::PurgePlus, Item::PurgePlus, Item::PurgePlus], // Needs flavour
|
|
||||||
Item::SilencePlus => vec![Item::Silence, Item::Silence, Item::Silence],
|
Item::InvertPlus => vec![Item::Invert, Item::Invert],
|
||||||
Item::SilencePlusPlus => vec![Item::SilencePlus, Item::SilencePlus, Item::SilencePlus],
|
Item::InvertPlusPlus => vec![Item::InvertPlus, Item::InvertPlus],
|
||||||
Item::CursePlus => vec![Item::Curse, Item::Curse, Item::Curse],
|
|
||||||
Item::CursePlusPlus => vec![Item::CursePlus, Item::CursePlus, Item::CursePlus],
|
Item::RestrictPlus => vec![Item::Restrict, Item::Restrict],
|
||||||
Item::DecayPlus => vec![Item::Decay, Item::Decay, Item::Decay],
|
Item::RestrictPlusPlus => vec![Item::RestrictPlus, Item::RestrictPlus],
|
||||||
Item::DecayPlusPlus => vec![Item::DecayPlus, Item::DecayPlus, Item::DecayPlus],
|
|
||||||
Item::InvertPlus => vec![Item::Invert, Item::Invert, Item::Invert],
|
Item::SilencePlus => vec![Item::Silence, Item::Silence],
|
||||||
Item::InvertPlusPlus => vec![Item::InvertPlus, Item::InvertPlus, Item::InvertPlus],
|
Item::SilencePlusPlus => vec![Item::SilencePlus, Item::SilencePlus],
|
||||||
|
|
||||||
|
Item::CursePlus => vec![Item::Curse, Item::Curse],
|
||||||
|
Item::CursePlusPlus => vec![Item::CursePlus, Item::CursePlus],
|
||||||
|
|
||||||
|
Item::DecayPlus => vec![Item::Decay, Item::Decay],
|
||||||
|
Item::DecayPlusPlus => vec![Item::DecayPlus, Item::DecayPlus],
|
||||||
|
|
||||||
|
|
||||||
Item::Counter => vec![Item::Block, Item::Red, Item::Red],
|
Item::Counter => vec![Item::Block, Item::Red, Item::Red],
|
||||||
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
Item::Reflect => vec![Item::Block, Item::Green, Item::Blue],
|
||||||
@ -997,18 +1011,24 @@ impl Item {
|
|||||||
Item::Sustain => vec![Item::Block, Item::Red, Item::Green],
|
Item::Sustain => vec![Item::Block, Item::Red, Item::Green],
|
||||||
Item::Electrify => vec![Item::Block, Item::Blue, Item::Blue],
|
Item::Electrify => vec![Item::Block, Item::Blue, Item::Blue],
|
||||||
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
Item::Recharge => vec![Item::Block, Item::Red, Item::Blue],
|
||||||
Item::CounterPlus => vec![Item::Counter, Item::Counter, Item::Counter],
|
|
||||||
Item::CounterPlusPlus => vec![Item::CounterPlus, Item::CounterPlus, Item::CounterPlus], // Add red recharge
|
Item::CounterPlus => vec![Item::Counter, Item::Counter],
|
||||||
Item::PurifyPlus => vec![Item::Purify, Item::Purify, Item::Purify],
|
Item::CounterPlusPlus => vec![Item::CounterPlus, Item::CounterPlus],
|
||||||
Item::PurifyPlusPlus => vec![Item::PurifyPlus, Item::PurifyPlus, Item::PurifyPlus],
|
|
||||||
Item::ElectrifyPlus => vec![Item::Electrify, Item::Electrify, Item::Electrify],
|
Item::PurifyPlus => vec![Item::Purify, Item::Purify],
|
||||||
Item::ElectrifyPlusPlus => vec![Item::ElectrifyPlus, Item::ElectrifyPlus, Item::ElectrifyPlus],
|
Item::PurifyPlusPlus => vec![Item::PurifyPlus, Item::PurifyPlus],
|
||||||
Item::SustainPlus => vec![Item::Sustain, Item::Sustain, Item::Sustain],
|
|
||||||
Item::SustainPlusPlus => vec![Item::SustainPlus, Item::SustainPlus, Item::SustainPlus],
|
Item::ElectrifyPlus => vec![Item::Electrify, Item::Electrify],
|
||||||
Item::ReflectPlus => vec![Item::Reflect, Item::Reflect, Item::Reflect],
|
Item::ElectrifyPlusPlus => vec![Item::ElectrifyPlus, Item::ElectrifyPlus],
|
||||||
Item::ReflectPlusPlus => vec![Item::ReflectPlus, Item::ReflectPlus, Item::ReflectPlus],
|
|
||||||
Item::RechargePlus => vec![Item::Recharge, Item::Recharge, Item::Recharge],
|
Item::SustainPlus => vec![Item::Sustain, Item::Sustain],
|
||||||
Item::RechargePlusPlus => vec![Item::RechargePlus, Item::RechargePlus, Item::RechargePlus],
|
Item::SustainPlusPlus => vec![Item::SustainPlus, Item::SustainPlus],
|
||||||
|
|
||||||
|
Item::ReflectPlus => vec![Item::Reflect, Item::Reflect],
|
||||||
|
Item::ReflectPlusPlus => vec![Item::ReflectPlus, Item::ReflectPlus, ],
|
||||||
|
|
||||||
|
Item::RechargePlus => vec![Item::Recharge, Item::Recharge],
|
||||||
|
Item::RechargePlusPlus => vec![Item::RechargePlus, Item::RechargePlus],
|
||||||
|
|
||||||
Item::Bash => vec![Item::Stun, Item::Red, Item::Red],
|
Item::Bash => vec![Item::Stun, Item::Red, Item::Red],
|
||||||
Item::Sleep => vec![Item::Stun, Item::Green, Item::Green],
|
Item::Sleep => vec![Item::Stun, Item::Green, Item::Green],
|
||||||
@ -1016,18 +1036,25 @@ impl Item {
|
|||||||
Item::Link => vec![Item::Stun, Item::Blue, Item::Green],
|
Item::Link => vec![Item::Stun, Item::Blue, Item::Green],
|
||||||
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
Item::Banish => vec![Item::Stun, Item::Red, Item::Blue],
|
||||||
Item::Break => vec![Item::Stun, Item::Red, Item::Green],
|
Item::Break => vec![Item::Stun, Item::Red, Item::Green],
|
||||||
Item::BashPlus => vec![Item::Bash, Item::Bash, Item::Bash],
|
|
||||||
Item::BashPlusPlus => vec![Item::BashPlus, Item::BashPlus, Item::BashPlus],
|
Item::BashPlus => vec![Item::Bash, Item::Bash],
|
||||||
Item::SleepPlus => vec![Item::Sleep, Item::Sleep, Item::Sleep],
|
Item::BashPlusPlus => vec![Item::BashPlus, Item::BashPlus],
|
||||||
Item::SleepPlusPlus => vec![Item::SleepPlus, Item::SleepPlus, Item::SleepPlus],
|
|
||||||
Item::RuinPlus => vec![Item::Ruin, Item::Ruin, Item::Ruin],
|
Item::SleepPlus => vec![Item::Sleep, Item::Sleep],
|
||||||
Item::RuinPlusPlus => vec![Item::RuinPlus, Item::RuinPlus, Item::RuinPlus],
|
Item::SleepPlusPlus => vec![Item::SleepPlus, Item::SleepPlus,],
|
||||||
Item::BreakPlus => vec![Item::Break, Item::Break, Item::Break],
|
|
||||||
Item::BreakPlusPlus => vec![Item::BreakPlus, Item::BreakPlus, Item::BreakPlus],
|
Item::RuinPlus => vec![Item::Ruin, Item::Ruin],
|
||||||
Item::LinkPlus => vec![Item::Link, Item::Link, Item::Link],
|
Item::RuinPlusPlus => vec![Item::RuinPlus, Item::RuinPlus],
|
||||||
Item::LinkPlusPlus => vec![Item::LinkPlus, Item::LinkPlus, Item::LinkPlus],
|
|
||||||
Item::BanishPlus => vec![Item::Banish, Item::Banish, Item::Banish],
|
Item::LinkPlus => vec![Item::Link, Item::Link],
|
||||||
Item::BanishPlusPlus => vec![Item::BanishPlus, Item::BanishPlus, Item::BanishPlus],
|
Item::LinkPlusPlus => vec![Item::LinkPlus, Item::LinkPlus],
|
||||||
|
|
||||||
|
Item::BanishPlus => vec![Item::Banish, Item::Banish],
|
||||||
|
Item::BanishPlusPlus => vec![Item::BanishPlus, Item::BanishPlus],
|
||||||
|
|
||||||
|
Item::BreakPlus => vec![Item::Break, Item::Break],
|
||||||
|
Item::BreakPlusPlus => vec![Item::BreakPlus, Item::BreakPlus],
|
||||||
|
|
||||||
|
|
||||||
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
Item::Strike => vec![Item::Attack, Item::Red, Item::Red],
|
||||||
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
Item::Chaos => vec![Item::Attack, Item::Red, Item::Blue],
|
||||||
@ -1035,18 +1062,24 @@ impl Item {
|
|||||||
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
Item::Blast => vec![Item::Attack, Item::Blue, Item::Blue],
|
||||||
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
Item::Slay => vec![Item::Attack, Item::Red, Item::Green],
|
||||||
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
Item::Siphon => vec![Item::Attack, Item::Green, Item::Blue],
|
||||||
Item::StrikePlus => vec![Item::Strike, Item::Strike, Item::Strike],
|
|
||||||
Item::StrikePlusPlus => vec![Item::StrikePlus, Item::StrikePlus, Item::StrikePlus],
|
Item::StrikePlus => vec![Item::Strike, Item::Strike],
|
||||||
Item::HealPlus => vec![Item::Heal, Item::Heal, Item::Heal],
|
Item::StrikePlusPlus => vec![Item::StrikePlus, Item::StrikePlus],
|
||||||
Item::HealPlusPlus => vec![Item::HealPlus, Item::HealPlus, Item::HealPlus],
|
|
||||||
Item::BlastPlus => vec![Item::Blast, Item::Blast, Item::Blast],
|
Item::ChaosPlus => vec![Item::Chaos, Item::Chaos],
|
||||||
Item::BlastPlusPlus => vec![Item::BlastPlus, Item::BlastPlus, Item::BlastPlus],
|
Item::ChaosPlusPlus => vec![Item::ChaosPlus, Item::ChaosPlus],
|
||||||
Item::SlayPlus => vec![Item::Slay, Item::Slay, Item::Slay],
|
|
||||||
Item::SlayPlusPlus => vec![Item::SlayPlus, Item::SlayPlus, Item::SlayPlus],
|
Item::HealPlus => vec![Item::Heal, Item::Heal],
|
||||||
Item::SiphonPlus => vec![Item::Siphon, Item::Siphon, Item::Siphon],
|
Item::HealPlusPlus => vec![Item::HealPlus, Item::HealPlus],
|
||||||
Item::SiphonPlusPlus => vec![Item::SiphonPlus, Item::SiphonPlus, Item::SiphonPlus],
|
|
||||||
Item::ChaosPlus => vec![Item::Chaos, Item::Chaos, Item::Chaos],
|
Item::BlastPlus => vec![Item::Blast, Item::Blast],
|
||||||
Item::ChaosPlusPlus => vec![Item::ChaosPlus, Item::ChaosPlus, Item::ChaosPlus],
|
Item::BlastPlusPlus => vec![Item::BlastPlus, Item::BlastPlus],
|
||||||
|
|
||||||
|
Item::SlayPlus => vec![Item::Slay, Item::Slay],
|
||||||
|
Item::SlayPlusPlus => vec![Item::SlayPlus, Item::SlayPlus],
|
||||||
|
|
||||||
|
Item::SiphonPlus => vec![Item::Siphon, Item::Siphon],
|
||||||
|
Item::SiphonPlusPlus => vec![Item::SiphonPlus, Item::SiphonPlus],
|
||||||
|
|
||||||
Item::PowerRR => vec![Item::Power, Item::Red, Item::Red],
|
Item::PowerRR => vec![Item::Power, Item::Red, Item::Red],
|
||||||
Item::PowerGG => vec![Item::Power, Item::Green, Item::Green],
|
Item::PowerGG => vec![Item::Power, Item::Green, Item::Green],
|
||||||
@ -1054,18 +1087,18 @@ impl Item {
|
|||||||
Item::PowerRG => vec![Item::Power, Item::Red, Item::Green],
|
Item::PowerRG => vec![Item::Power, Item::Red, Item::Green],
|
||||||
Item::PowerGB => vec![Item::Power, Item::Green, Item::Blue],
|
Item::PowerGB => vec![Item::Power, Item::Green, Item::Blue],
|
||||||
Item::PowerRB => vec![Item::Power, Item::Red, Item::Blue],
|
Item::PowerRB => vec![Item::Power, Item::Red, Item::Blue],
|
||||||
Item::PowerRRPlus => vec![Item::PowerRR, Item::PowerRR, Item::PowerRR],
|
Item::PowerRRPlus => vec![Item::PowerRR, Item::PowerRR],
|
||||||
Item::PowerGGPlus => vec![Item::PowerGG, Item::PowerGG, Item::PowerGG],
|
Item::PowerGGPlus => vec![Item::PowerGG, Item::PowerGG],
|
||||||
Item::PowerBBPlus => vec![Item::PowerBB, Item::PowerBB, Item::PowerBB],
|
Item::PowerBBPlus => vec![Item::PowerBB, Item::PowerBB],
|
||||||
Item::PowerRGPlus => vec![Item::PowerRG, Item::PowerRG, Item::PowerRG],
|
Item::PowerRGPlus => vec![Item::PowerRG, Item::PowerRG],
|
||||||
Item::PowerGBPlus => vec![Item::PowerGB, Item::PowerGB, Item::PowerGB],
|
Item::PowerGBPlus => vec![Item::PowerGB, Item::PowerGB],
|
||||||
Item::PowerRBPlus => vec![Item::PowerRB, Item::PowerRB, Item::PowerRB],
|
Item::PowerRBPlus => vec![Item::PowerRB, Item::PowerRB],
|
||||||
Item::PowerRRPlusPlus => vec![Item::PowerRRPlus, Item::PowerRRPlus, Item::PowerRRPlus],
|
Item::PowerRRPlusPlus => vec![Item::PowerRRPlus, Item::PowerRRPlus],
|
||||||
Item::PowerGGPlusPlus => vec![Item::PowerGGPlus, Item::PowerGGPlus, Item::PowerGGPlus],
|
Item::PowerGGPlusPlus => vec![Item::PowerGGPlus, Item::PowerGGPlus],
|
||||||
Item::PowerBBPlusPlus => vec![Item::PowerBBPlus, Item::PowerBBPlus, Item::PowerBBPlus],
|
Item::PowerBBPlusPlus => vec![Item::PowerBBPlus, Item::PowerBBPlus],
|
||||||
Item::PowerRGPlusPlus => vec![Item::PowerRGPlus, Item::PowerRGPlus, Item::PowerRGPlus],
|
Item::PowerRGPlusPlus => vec![Item::PowerRGPlus, Item::PowerRGPlus],
|
||||||
Item::PowerGBPlusPlus => vec![Item::PowerGBPlus, Item::PowerGBPlus, Item::PowerGBPlus],
|
Item::PowerGBPlusPlus => vec![Item::PowerGBPlus, Item::PowerGBPlus],
|
||||||
Item::PowerRBPlusPlus => vec![Item::PowerRBPlus, Item::PowerRBPlus, Item::PowerRBPlus],
|
Item::PowerRBPlusPlus => vec![Item::PowerRBPlus, Item::PowerRBPlus],
|
||||||
|
|
||||||
Item::LifeRR => vec![Item::Life, Item::Red, Item::Red],
|
Item::LifeRR => vec![Item::Life, Item::Red, Item::Red],
|
||||||
Item::LifeGG => vec![Item::Life, Item::Green, Item::Green],
|
Item::LifeGG => vec![Item::Life, Item::Green, Item::Green],
|
||||||
@ -1073,18 +1106,18 @@ impl Item {
|
|||||||
Item::LifeRG => vec![Item::Life, Item::Red, Item::Green],
|
Item::LifeRG => vec![Item::Life, Item::Red, Item::Green],
|
||||||
Item::LifeGB => vec![Item::Life, Item::Green, Item::Blue],
|
Item::LifeGB => vec![Item::Life, Item::Green, Item::Blue],
|
||||||
Item::LifeRB => vec![Item::Life, Item::Red, Item::Blue],
|
Item::LifeRB => vec![Item::Life, Item::Red, Item::Blue],
|
||||||
Item::LifeRRPlus => vec![Item::LifeRR, Item::LifeRR, Item::LifeRR],
|
Item::LifeRRPlus => vec![Item::LifeRR, Item::LifeRR],
|
||||||
Item::LifeGGPlus => vec![Item::LifeGG, Item::LifeGG, Item::LifeGG],
|
Item::LifeGGPlus => vec![Item::LifeGG, Item::LifeGG],
|
||||||
Item::LifeBBPlus => vec![Item::LifeBB, Item::LifeBB, Item::LifeBB],
|
Item::LifeBBPlus => vec![Item::LifeBB, Item::LifeBB],
|
||||||
Item::LifeRGPlus => vec![Item::LifeRG, Item::LifeRG, Item::LifeRG],
|
Item::LifeRGPlus => vec![Item::LifeRG, Item::LifeRG],
|
||||||
Item::LifeGBPlus => vec![Item::LifeGB, Item::LifeGB, Item::LifeGB],
|
Item::LifeGBPlus => vec![Item::LifeGB, Item::LifeGB],
|
||||||
Item::LifeRBPlus => vec![Item::LifeRB, Item::LifeRB, Item::LifeRB],
|
Item::LifeRBPlus => vec![Item::LifeRB, Item::LifeRB],
|
||||||
Item::LifeRRPlusPlus => vec![Item::LifeRRPlus, Item::LifeRRPlus, Item::LifeRRPlus],
|
Item::LifeRRPlusPlus => vec![Item::LifeRRPlus, Item::LifeRRPlus],
|
||||||
Item::LifeGGPlusPlus => vec![Item::LifeGGPlus, Item::LifeGGPlus, Item::LifeGGPlus],
|
Item::LifeGGPlusPlus => vec![Item::LifeGGPlus, Item::LifeGGPlus],
|
||||||
Item::LifeBBPlusPlus => vec![Item::LifeBBPlus, Item::LifeBBPlus, Item::LifeBBPlus],
|
Item::LifeBBPlusPlus => vec![Item::LifeBBPlus, Item::LifeBBPlus],
|
||||||
Item::LifeRGPlusPlus => vec![Item::LifeRGPlus, Item::LifeRGPlus, Item::LifeRGPlus],
|
Item::LifeRGPlusPlus => vec![Item::LifeRGPlus, Item::LifeRGPlus],
|
||||||
Item::LifeGBPlusPlus => vec![Item::LifeGBPlus, Item::LifeGBPlus, Item::LifeGBPlus],
|
Item::LifeGBPlusPlus => vec![Item::LifeGBPlus, Item::LifeGBPlus],
|
||||||
Item::LifeRBPlusPlus => vec![Item::LifeRBPlus, Item::LifeRBPlus, Item::LifeRBPlus],
|
Item::LifeRBPlusPlus => vec![Item::LifeRBPlus, Item::LifeRBPlus],
|
||||||
|
|
||||||
Item::SpeedRR => vec![Item::Speed, Item::Red, Item::Red],
|
Item::SpeedRR => vec![Item::Speed, Item::Red, Item::Red],
|
||||||
Item::SpeedGG => vec![Item::Speed, Item::Green, Item::Green],
|
Item::SpeedGG => vec![Item::Speed, Item::Green, Item::Green],
|
||||||
@ -1092,18 +1125,18 @@ impl Item {
|
|||||||
Item::SpeedRG => vec![Item::Speed, Item::Red, Item::Green],
|
Item::SpeedRG => vec![Item::Speed, Item::Red, Item::Green],
|
||||||
Item::SpeedGB => vec![Item::Speed, Item::Green, Item::Blue],
|
Item::SpeedGB => vec![Item::Speed, Item::Green, Item::Blue],
|
||||||
Item::SpeedRB => vec![Item::Speed, Item::Red, Item::Blue],
|
Item::SpeedRB => vec![Item::Speed, Item::Red, Item::Blue],
|
||||||
Item::SpeedRRPlus => vec![Item::SpeedRR, Item::SpeedRR, Item::SpeedRR],
|
Item::SpeedRRPlus => vec![Item::SpeedRR, Item::SpeedRR],
|
||||||
Item::SpeedGGPlus => vec![Item::SpeedGG, Item::SpeedGG, Item::SpeedGG],
|
Item::SpeedGGPlus => vec![Item::SpeedGG, Item::SpeedGG],
|
||||||
Item::SpeedBBPlus => vec![Item::SpeedBB, Item::SpeedBB, Item::SpeedBB],
|
Item::SpeedBBPlus => vec![Item::SpeedBB, Item::SpeedBB],
|
||||||
Item::SpeedRGPlus => vec![Item::SpeedRG, Item::SpeedRG, Item::SpeedRG],
|
Item::SpeedRGPlus => vec![Item::SpeedRG, Item::SpeedRG],
|
||||||
Item::SpeedGBPlus => vec![Item::SpeedGB, Item::SpeedGB, Item::SpeedGB],
|
Item::SpeedGBPlus => vec![Item::SpeedGB, Item::SpeedGB],
|
||||||
Item::SpeedRBPlus => vec![Item::SpeedRB, Item::SpeedRB, Item::SpeedRB],
|
Item::SpeedRBPlus => vec![Item::SpeedRB, Item::SpeedRB],
|
||||||
Item::SpeedRRPlusPlus => vec![Item::SpeedRRPlus, Item::SpeedRRPlus, Item::SpeedRRPlus],
|
Item::SpeedRRPlusPlus => vec![Item::SpeedRRPlus, Item::SpeedRRPlus],
|
||||||
Item::SpeedGGPlusPlus => vec![Item::SpeedGGPlus, Item::SpeedGGPlus, Item::SpeedGGPlus],
|
Item::SpeedGGPlusPlus => vec![Item::SpeedGGPlus, Item::SpeedGGPlus],
|
||||||
Item::SpeedBBPlusPlus => vec![Item::SpeedBBPlus, Item::SpeedBBPlus, Item::SpeedBBPlus],
|
Item::SpeedBBPlusPlus => vec![Item::SpeedBBPlus, Item::SpeedBBPlus],
|
||||||
Item::SpeedRGPlusPlus => vec![Item::SpeedRGPlus, Item::SpeedRGPlus, Item::SpeedRGPlus],
|
Item::SpeedRGPlusPlus => vec![Item::SpeedRGPlus, Item::SpeedRGPlus],
|
||||||
Item::SpeedGBPlusPlus => vec![Item::SpeedGBPlus, Item::SpeedGBPlus, Item::SpeedGBPlus],
|
Item::SpeedGBPlusPlus => vec![Item::SpeedGBPlus, Item::SpeedGBPlus],
|
||||||
Item::SpeedRBPlusPlus => vec![Item::SpeedRBPlus, Item::SpeedRBPlus, Item::SpeedRBPlus],
|
Item::SpeedRBPlusPlus => vec![Item::SpeedRBPlus, Item::SpeedRBPlus],
|
||||||
|
|
||||||
_ => vec![*self],
|
_ => vec![*self],
|
||||||
}
|
}
|
||||||
@ -1338,7 +1371,7 @@ pub fn get_combos() -> Vec<Combo> {
|
|||||||
Combo { components: Item::Restrict.combo(), item: Item::Restrict },
|
Combo { components: Item::Restrict.combo(), item: Item::Restrict },
|
||||||
Combo { components: Item::RestrictPlus.combo(), item: Item::RestrictPlus },
|
Combo { components: Item::RestrictPlus.combo(), item: Item::RestrictPlus },
|
||||||
Combo { components: Item::RestrictPlusPlus.combo(), item: Item::RestrictPlusPlus },
|
Combo { components: Item::RestrictPlusPlus.combo(), item: Item::RestrictPlusPlus },
|
||||||
Combo { components: Item::Purge.combo(), item: Item::Purge }, // Needs flavour
|
Combo { components: Item::Purge.combo(), item: Item::Purge },
|
||||||
Combo { components: Item::PurgePlus.combo(), item: Item::PurgePlus },
|
Combo { components: Item::PurgePlus.combo(), item: Item::PurgePlus },
|
||||||
Combo { components: Item::PurgePlusPlus.combo(), item: Item::PurgePlusPlus },
|
Combo { components: Item::PurgePlusPlus.combo(), item: Item::PurgePlusPlus },
|
||||||
|
|
||||||
@ -1556,20 +1589,13 @@ mod tests {
|
|||||||
assert_eq!(Item::StrikePlus.components(), vec![
|
assert_eq!(Item::StrikePlus.components(), vec![
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
]);
|
]);
|
||||||
assert_eq!(Item::StrikePlusPlus.components(), vec![
|
assert_eq!(Item::StrikePlusPlus.components(), vec![
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
Item::Red, Item::Red, Item::Attack,
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
Item::Red, Item::Red, Item::Attack,
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -184,6 +184,7 @@ impl Player {
|
|||||||
// do we have any colours in store?
|
// do we have any colours in store?
|
||||||
let colours = self.vbox.store[&ItemType::Colours].keys()
|
let colours = self.vbox.store[&ItemType::Colours].keys()
|
||||||
.cloned()
|
.cloned()
|
||||||
|
.take(2)
|
||||||
.collect::<Vec<String>>();
|
.collect::<Vec<String>>();
|
||||||
|
|
||||||
// how about a base skill?
|
// how about a base skill?
|
||||||
@ -193,11 +194,13 @@ impl Player {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// if no: try to refill and start again
|
// if no: try to refill and start again
|
||||||
match colours.len() < 2 || base.is_none() {
|
match colours.len() != 2 || base.is_none() {
|
||||||
true => match self.vbox_refill() {
|
true => {
|
||||||
|
match self.vbox_refill() {
|
||||||
Ok(_) => continue,
|
Ok(_) => continue,
|
||||||
Err(_) => break, // give up
|
Err(_) => break, // give up
|
||||||
},
|
};
|
||||||
|
}
|
||||||
false => {
|
false => {
|
||||||
let mut vbox_items = HashMap::new();
|
let mut vbox_items = HashMap::new();
|
||||||
vbox_items.insert(ItemType::Colours, colours);
|
vbox_items.insert(ItemType::Colours, colours);
|
||||||
@ -230,7 +233,7 @@ impl Player {
|
|||||||
// there's a bad bug here where if this apply fails
|
// there's a bad bug here where if this apply fails
|
||||||
// the item in question will be silently dropped
|
// the item in question will be silently dropped
|
||||||
let item = self.vbox.stash.remove(&i).unwrap();
|
let item = self.vbox.stash.remove(&i).unwrap();
|
||||||
self.vbox_apply(item, construct_id).ok();
|
self.vbox_apply(item, construct_id).unwrap();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// need to buy one
|
// need to buy one
|
||||||
@ -238,6 +241,7 @@ impl Player {
|
|||||||
// do we have any colours in store?
|
// do we have any colours in store?
|
||||||
let colours = self.vbox.store[&ItemType::Colours].keys()
|
let colours = self.vbox.store[&ItemType::Colours].keys()
|
||||||
.cloned()
|
.cloned()
|
||||||
|
.take(2)
|
||||||
.collect::<Vec<String>>();
|
.collect::<Vec<String>>();
|
||||||
|
|
||||||
// how about a base spec?
|
// how about a base spec?
|
||||||
@ -247,7 +251,7 @@ impl Player {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// if no: try to refill and start again
|
// if no: try to refill and start again
|
||||||
match colours.len() < 2 || base.is_none() {
|
match colours.len() != 2 || base.is_none() {
|
||||||
true => match self.vbox_refill() {
|
true => match self.vbox_refill() {
|
||||||
Ok(_) => continue,
|
Ok(_) => continue,
|
||||||
Err(_) => break, // give up
|
Err(_) => break, // give up
|
||||||
@ -446,9 +450,11 @@ mod tests {
|
|||||||
let mut player = Player::new(player_account, &"test".to_string(), constructs).set_bot(true);
|
let mut player = Player::new(player_account, &"test".to_string(), constructs).set_bot(true);
|
||||||
|
|
||||||
player.vbox.fill();
|
player.vbox.fill();
|
||||||
|
player.vbox.bits = 100;
|
||||||
player.autobuy();
|
player.autobuy();
|
||||||
|
|
||||||
assert!(player.constructs.iter().all(|c| c.skills.len() >= 1));
|
assert!(player.constructs.iter().all(|c| c.skills.len() > 1));
|
||||||
|
assert!(player.constructs.iter().all(|c| c.specs.len() >= 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@ -758,87 +758,87 @@ impl Skill {
|
|||||||
Skill::Attack => 80, // Base
|
Skill::Attack => 80, // Base
|
||||||
|
|
||||||
Skill::Blast => 105, // BB
|
Skill::Blast => 105, // BB
|
||||||
Skill::BlastPlus => 140, // BB
|
Skill::BlastPlus => 125, // BB
|
||||||
Skill::BlastPlusPlus => 200, // BB
|
Skill::BlastPlusPlus => 145, // BB
|
||||||
|
|
||||||
Skill::Chaos => 40, // BR
|
Skill::Chaos => 40, // BR
|
||||||
Skill::ChaosPlus => 65, // BR
|
Skill::ChaosPlus => 50, // BR
|
||||||
Skill::ChaosPlusPlus => 90, // BR
|
Skill::ChaosPlusPlus => 65, // BR
|
||||||
|
|
||||||
Skill::Heal => 125, //GG
|
Skill::Heal => 115, //GG
|
||||||
Skill::HealPlus => 185, //GG
|
Skill::HealPlus => 135, //GG
|
||||||
Skill::HealPlusPlus => 270, //GG
|
Skill::HealPlusPlus => 160, //GG
|
||||||
|
|
||||||
Skill::SiphonTick => 25, // GB
|
Skill::SiphonTick => 25, // GB
|
||||||
Skill::SiphonTickPlus => 30,
|
Skill::SiphonTickPlus => 27,
|
||||||
Skill::SiphonTickPlusPlus => 40,
|
Skill::SiphonTickPlusPlus => 30,
|
||||||
|
|
||||||
Skill::Slay => 45, // RG
|
Skill::Slay => 40, // RG
|
||||||
Skill::SlayPlus => 65,
|
Skill::SlayPlus => 50,
|
||||||
Skill::SlayPlusPlus => 100,
|
Skill::SlayPlusPlus => 65,
|
||||||
|
|
||||||
Skill::Strike => 90, //RR
|
Skill::Strike => 90, //RR
|
||||||
Skill::StrikePlus => 140,
|
Skill::StrikePlus => 110,
|
||||||
Skill::StrikePlusPlus => 200,
|
Skill::StrikePlusPlus => 140,
|
||||||
|
|
||||||
// Block Base
|
// Block Base
|
||||||
Skill::ElectrocuteTick => 80,
|
Skill::ElectrocuteTick => 80,
|
||||||
Skill::ElectrocuteTickPlus => 100,
|
Skill::ElectrocuteTickPlus => 90,
|
||||||
Skill::ElectrocuteTickPlusPlus => 130,
|
Skill::ElectrocuteTickPlusPlus => 100,
|
||||||
|
|
||||||
Skill::CounterAttack => 120,
|
Skill::CounterAttack => 115,
|
||||||
Skill::CounterAttackPlus => 160,
|
Skill::CounterAttackPlus => 130,
|
||||||
Skill::CounterAttackPlusPlus => 230,
|
Skill::CounterAttackPlusPlus => 160,
|
||||||
|
|
||||||
Skill::Purify => 45, //Green dmg (heal)
|
Skill::Purify => 45, //Green dmg (heal)
|
||||||
Skill::PurifyPlus => 70,
|
Skill::PurifyPlus => 60,
|
||||||
Skill::PurifyPlusPlus => 105,
|
Skill::PurifyPlusPlus => 85,
|
||||||
|
|
||||||
Skill::Reflect => 45, //Recharge blue life (heal)
|
Skill::Reflect => 45, //Recharge blue life (heal)
|
||||||
Skill::ReflectPlus => 70,
|
Skill::ReflectPlus => 70,
|
||||||
Skill::ReflectPlusPlus => 100,
|
Skill::ReflectPlusPlus => 100,
|
||||||
|
|
||||||
Skill::Recharge => 70, //Recharge red and blue life (heal)
|
Skill::Recharge => 70, //Recharge red and blue life (heal)
|
||||||
Skill::RechargePlus => 110,
|
Skill::RechargePlus => 90,
|
||||||
Skill::RechargePlusPlus => 170,
|
Skill::RechargePlusPlus => 110,
|
||||||
|
|
||||||
Skill::Sustain => 120, // Recharge red life (heal)
|
Skill::Sustain => 110, // Recharge red life (heal)
|
||||||
Skill::SustainPlus => 150,
|
Skill::SustainPlus => 130,
|
||||||
Skill::SustainPlusPlus => 230,
|
Skill::SustainPlusPlus => 150,
|
||||||
|
|
||||||
// Stun Base
|
// Stun Base
|
||||||
Skill::Sleep => 200, //Green dmg (heal)
|
Skill::Sleep => 160, //Green dmg (heal)
|
||||||
Skill::SleepPlus => 290,
|
Skill::SleepPlus => 200,
|
||||||
Skill::SleepPlusPlus => 400,
|
Skill::SleepPlusPlus => 240,
|
||||||
|
|
||||||
Skill::Banish => 40, //Green dmg (heal)
|
Skill::Banish => 50, //Green dmg (heal)
|
||||||
Skill::BanishPlus => 75,
|
Skill::BanishPlus => 65,
|
||||||
Skill::BanishPlusPlus => 125,
|
Skill::BanishPlusPlus => 80,
|
||||||
|
|
||||||
Skill::Bash => 45,
|
Skill::Bash => 45,
|
||||||
Skill::BashPlus => 65,
|
Skill::BashPlus => 55,
|
||||||
Skill::BashPlusPlus => 100,
|
Skill::BashPlusPlus => 70,
|
||||||
|
|
||||||
Skill::Link => 25,
|
Skill::Link => 25,
|
||||||
Skill::LinkPlus => 40,
|
Skill::LinkPlus => 35,
|
||||||
Skill::LinkPlusPlus => 70,
|
Skill::LinkPlusPlus => 45,
|
||||||
|
|
||||||
Skill::Ruin => 40,
|
Skill::Ruin => 40,
|
||||||
Skill::RuinPlus => 70,
|
Skill::RuinPlus => 55,
|
||||||
Skill::RuinPlusPlus => 100,
|
Skill::RuinPlusPlus => 70,
|
||||||
|
|
||||||
// Debuff Base
|
// Debuff Base
|
||||||
Skill::DecayTick => 33,
|
Skill::DecayTick => 33,
|
||||||
Skill::DecayTickPlus => 45,
|
Skill::DecayTickPlus => 37,
|
||||||
Skill::DecayTickPlusPlus => 70,
|
Skill::DecayTickPlusPlus => 45,
|
||||||
|
|
||||||
Skill::Silence => 55, // Deals more per blue skill on target
|
Skill::Silence => 55, // Deals more per blue skill on target
|
||||||
Skill::SilencePlus => 80,
|
Skill::SilencePlus => 65,
|
||||||
Skill::SilencePlusPlus => 110,
|
Skill::SilencePlusPlus => 80,
|
||||||
|
|
||||||
Skill::Restrict => 40, // Deals more per red skill on target
|
Skill::Restrict => 40, // Deals more per red skill on target
|
||||||
Skill::RestrictPlus => 65,
|
Skill::RestrictPlus => 55,
|
||||||
Skill::RestrictPlusPlus => 100,
|
Skill::RestrictPlusPlus => 70,
|
||||||
|
|
||||||
// Buff base
|
// Buff base
|
||||||
Skill::HybridBlast => 50,
|
Skill::HybridBlast => 50,
|
||||||
@ -846,16 +846,16 @@ impl Skill {
|
|||||||
Skill::HasteStrike => 60,
|
Skill::HasteStrike => 60,
|
||||||
|
|
||||||
Skill::Absorb=> 95,
|
Skill::Absorb=> 95,
|
||||||
Skill::AbsorbPlus => 120,
|
Skill::AbsorbPlus => 110,
|
||||||
Skill::AbsorbPlusPlus => 155,
|
Skill::AbsorbPlusPlus => 120,
|
||||||
|
|
||||||
Skill::Intercept => 80,
|
Skill::Intercept => 85,
|
||||||
Skill::InterceptPlus => 110,
|
Skill::InterceptPlus => 100,
|
||||||
Skill::InterceptPlusPlus => 150,
|
Skill::InterceptPlusPlus => 125,
|
||||||
|
|
||||||
Skill::TriageTick => 75,
|
Skill::TriageTick => 75,
|
||||||
Skill::TriageTickPlus => 110,
|
Skill::TriageTickPlus => 90,
|
||||||
Skill::TriageTickPlusPlus => 140,
|
Skill::TriageTickPlusPlus => 110,
|
||||||
|
|
||||||
_ => 100,
|
_ => 100,
|
||||||
}
|
}
|
||||||
@ -899,9 +899,9 @@ impl Skill {
|
|||||||
Skill::Curse => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
|
Skill::Curse => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
|
||||||
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||||
Skill::CursePlus => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
|
Skill::CursePlus => vec![ConstructEffect {effect: Effect::Curse, duration: 2,
|
||||||
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(175)), tick: None}],
|
||||||
Skill::CursePlusPlus => vec![ConstructEffect {effect: Effect::Curse, duration: 3,
|
Skill::CursePlusPlus => vec![ConstructEffect {effect: Effect::Curse, duration: 3,
|
||||||
meta: Some(EffectMeta::Multiplier(250)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||||
|
|
||||||
Skill::Debuff => vec![ConstructEffect {effect: Effect::Slow, duration: 3,
|
Skill::Debuff => vec![ConstructEffect {effect: Effect::Slow, duration: 3,
|
||||||
meta: Some(EffectMeta::Multiplier(50)), tick: None }],
|
meta: Some(EffectMeta::Multiplier(50)), tick: None }],
|
||||||
@ -934,15 +934,15 @@ impl Skill {
|
|||||||
meta: Some(EffectMeta::Skill(Skill::AbsorptionPlusPlus)), tick: None}],
|
meta: Some(EffectMeta::Skill(Skill::AbsorptionPlusPlus)), tick: None}],
|
||||||
|
|
||||||
Skill::Absorption => vec![ConstructEffect {effect: Effect::Absorption, duration: 3, meta: None, tick: None}],
|
Skill::Absorption => vec![ConstructEffect {effect: Effect::Absorption, duration: 3, meta: None, tick: None}],
|
||||||
Skill::AbsorptionPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 5, meta: None, tick: None}],
|
Skill::AbsorptionPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 4, meta: None, tick: None}],
|
||||||
Skill::AbsorptionPlusPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 7, meta: None, tick: None}],
|
Skill::AbsorptionPlusPlus => vec![ConstructEffect {effect: Effect::Absorption, duration: 5, meta: None, tick: None}],
|
||||||
|
|
||||||
Skill::Hybrid => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
|
Skill::Hybrid => vec![ConstructEffect {effect: Effect::Hybrid, duration: 3,
|
||||||
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
|
meta: Some(EffectMeta::Multiplier(150)), tick: None }],
|
||||||
Skill::HybridPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
|
Skill::HybridPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 4,
|
||||||
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
|
meta: Some(EffectMeta::Multiplier(175)), tick: None }],
|
||||||
Skill::HybridPlusPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 5,
|
Skill::HybridPlusPlus => vec![ConstructEffect {effect: Effect::Hybrid, duration: 5,
|
||||||
meta: Some(EffectMeta::Multiplier(225)), tick: None }],
|
meta: Some(EffectMeta::Multiplier(200)), tick: None }],
|
||||||
|
|
||||||
Skill::Invert => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
|
Skill::Invert => vec![ConstructEffect {effect: Effect::Invert, duration: 2, meta: None, tick: None}],
|
||||||
Skill::InvertPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 3, meta: None, tick: None}],
|
Skill::InvertPlus => vec![ConstructEffect {effect: Effect::Invert, duration: 3, meta: None, tick: None}],
|
||||||
@ -964,10 +964,10 @@ impl Skill {
|
|||||||
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(150)), tick: None}],
|
||||||
Skill::BreakPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None},
|
Skill::BreakPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None},
|
||||||
ConstructEffect {effect: Effect::Vulnerable, duration: 4,
|
ConstructEffect {effect: Effect::Vulnerable, duration: 4,
|
||||||
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(175)), tick: None}],
|
||||||
Skill::BreakPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None},
|
Skill::BreakPlusPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 2, meta: None, tick: None},
|
||||||
ConstructEffect {effect: Effect::Vulnerable, duration: 4,
|
ConstructEffect {effect: Effect::Vulnerable, duration: 4,
|
||||||
meta: Some(EffectMeta::Multiplier(250)), tick: None}],
|
meta: Some(EffectMeta::Multiplier(200)), tick: None}],
|
||||||
|
|
||||||
Skill::Ruin => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
|
Skill::Ruin => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
|
||||||
Skill::RuinPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
|
Skill::RuinPlus => vec![ConstructEffect {effect: Effect::Stun, duration: 1, meta: None, tick: None}],
|
||||||
|
|||||||
@ -172,34 +172,141 @@ impl Spec {
|
|||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerRR=> SpecValues {
|
Spec::PowerRR=> SpecValues {
|
||||||
base: 25,
|
base: 10,
|
||||||
bonuses: vec![
|
bonuses: vec![
|
||||||
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 10 },
|
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 5 },
|
||||||
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 15 },
|
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 9 },
|
||||||
SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 20 }
|
SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 13 }
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerGG=> SpecValues {
|
Spec::PowerGG=> SpecValues {
|
||||||
base: 25,
|
base: 10,
|
||||||
bonuses: vec![
|
bonuses: vec![
|
||||||
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 10 },
|
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 5 },
|
||||||
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 15 },
|
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 9 },
|
||||||
SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 20 }
|
SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 13 }
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerBB=> SpecValues {
|
Spec::PowerBB=> SpecValues {
|
||||||
base: 25,
|
base: 10,
|
||||||
bonuses: vec![
|
bonuses: vec![
|
||||||
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 10 },
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 5 },
|
||||||
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 15 },
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 9 },
|
||||||
SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 20 }
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 13 }
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerRG=> SpecValues {
|
Spec::PowerRG=> SpecValues {
|
||||||
base: 20,
|
base: 10,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 3 },
|
||||||
|
SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 6 },
|
||||||
|
SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 9 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerGB=> SpecValues {
|
||||||
|
base: 10,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 3 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 6 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 9 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerRB=> SpecValues {
|
||||||
|
base: 10,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 3 },
|
||||||
|
SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 6 },
|
||||||
|
SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 9 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerRRPlus => SpecValues {
|
||||||
|
base: 15,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 6 },
|
||||||
|
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 12 },
|
||||||
|
SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 18 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerGGPlus => SpecValues {
|
||||||
|
base: 15,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 6 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 12 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 18 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerBBPlus => SpecValues {
|
||||||
|
base: 15,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 6 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 12 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 18 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerRGPlus => SpecValues {
|
||||||
|
base: 15,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 4 },
|
||||||
|
SpecBonus { req: Colours { red: 5, green: 5, blue: 0 }, bonus: 8 },
|
||||||
|
SpecBonus { req: Colours { red: 10, green: 10, blue: 0 }, bonus: 12 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerGBPlus => SpecValues {
|
||||||
|
base: 15,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 4 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 5, blue: 5 }, bonus: 8 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 10, blue: 10 }, bonus: 12 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerRBPlus => SpecValues {
|
||||||
|
base: 15,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 4 },
|
||||||
|
SpecBonus { req: Colours { red: 5, green: 0, blue: 5 }, bonus: 8 },
|
||||||
|
SpecBonus { req: Colours { red: 10, green: 0, blue: 10 }, bonus: 12 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
Spec::PowerRRPlusPlus => SpecValues {
|
||||||
|
base: 25,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 5, green: 0, blue: 0 }, bonus: 8 },
|
||||||
|
SpecBonus { req: Colours { red: 10, green: 0, blue: 0 }, bonus: 16 },
|
||||||
|
SpecBonus { req: Colours { red: 20, green: 0, blue: 0 }, bonus: 24 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerGGPlusPlus => SpecValues {
|
||||||
|
base: 25,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 5, blue: 0 }, bonus: 8 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 10, blue: 0 }, bonus: 16 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 20, blue: 0 }, bonus: 24 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerBBPlusPlus => SpecValues {
|
||||||
|
base: 25,
|
||||||
|
bonuses: vec![
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 5 }, bonus: 8 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 10 }, bonus: 16 },
|
||||||
|
SpecBonus { req: Colours { red: 0, green: 0, blue: 20 }, bonus: 24 }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
Spec::PowerRGPlusPlus => SpecValues {
|
||||||
|
base: 25,
|
||||||
bonuses: vec![
|
bonuses: vec![
|
||||||
SpecBonus { req: Colours { red: 2, green: 2, blue: 0 }, bonus: 5 },
|
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: 5, green: 5, blue: 0 }, bonus: 10 },
|
||||||
@ -207,8 +314,8 @@ impl Spec {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerGB=> SpecValues {
|
Spec::PowerGBPlusPlus => SpecValues {
|
||||||
base: 20,
|
base: 25,
|
||||||
bonuses: vec![
|
bonuses: vec![
|
||||||
SpecBonus { req: Colours { red: 0, green: 2, blue: 2 }, bonus: 5 },
|
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: 5, blue: 5 }, bonus: 10 },
|
||||||
@ -216,8 +323,8 @@ impl Spec {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerRB=> SpecValues {
|
Spec::PowerRBPlusPlus => SpecValues {
|
||||||
base: 20,
|
base: 25,
|
||||||
bonuses: vec![
|
bonuses: vec![
|
||||||
SpecBonus { req: Colours { red: 2, green: 0, blue: 2 }, bonus: 5 },
|
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: 5, green: 0, blue: 5 }, bonus: 10 },
|
||||||
@ -225,113 +332,6 @@ impl Spec {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
Spec::PowerRRPlus => SpecValues {
|
|
||||||
base: 45,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 45,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 45,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 35,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 35,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 35,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 80,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 80,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 80,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 60,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 60,
|
|
||||||
bonuses: vec![
|
|
||||||
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: 60,
|
|
||||||
bonuses: vec![
|
|
||||||
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 }
|
|
||||||
],
|
|
||||||
},
|
|
||||||
|
|
||||||
Spec::Speed => SpecValues {
|
Spec::Speed => SpecValues {
|
||||||
base: 40,
|
base: 40,
|
||||||
bonuses: vec![]
|
bonuses: vec![]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user