Compare commits

...

32 commits

Author SHA1 Message Date
Joshua Seigler
66b0bd0877 css fixes after merging 4th tree PR 2025-06-14 04:36:36 -04:00
Joshua Seigler
9a78d65357 npm audit fix 2025-06-14 03:51:31 -04:00
Joshua Seigler
84e70d0b02
Merge pull request #69 from junganthonyy/updating-skills-and-4th-tree
Updating skills and 4th tree
2025-06-14 03:41:58 -04:00
Joshua Seigler
3bbf38edbd
Merge pull request #90 from seigler/revert-67-master
Revert "Add 4th Skill Tree for Moze"
2025-06-14 03:40:06 -04:00
Joshua Seigler
89dc66ae1e
Revert "Add 4th Skill Tree for Moze" 2025-06-14 03:39:45 -04:00
Joshua Seigler
fd2aed7d7e
Merge pull request #67 from ataylorme/master
Add 4th Skill Tree for Moze

Thanks @ataylorme and sorry this took literal years to merge
2025-06-14 03:38:20 -04:00
Anthony Jung
9e66cd16f2 Adding Styling For 4th Tree and Default State 2020-11-17 13:06:36 -08:00
junganthonyy
303de17ff5 Updating Zane Skills 2020-11-17 10:06:27 -08:00
junganthonyy
4cac7474a8 Updating FL4K Skills 2020-11-17 09:26:22 -08:00
junganthonyy
9249165317 Updating Moze Skills 2020-11-17 08:43:49 -08:00
junganthonyy
0bd7ab15bf Updating Amara Skill Changes 2020-11-17 08:10:26 -08:00
junganthonyy
03d376d363 Adding Skill Icons For FL4K Skill Tree 2020-11-16 17:39:16 -08:00
junganthonyy
5458d39495 Adding Skill Types 2020-11-16 17:25:28 -08:00
junganthonyy
b683a3ecc3 Adding Moze 4th Skill Tree Icons 2020-11-16 17:23:11 -08:00
junganthonyy
40912814a4 Finishing Adding Moze 4TH Skill Tree Effects 2020-11-16 17:13:27 -08:00
Anthony Jung
0a427a4c05 Imported Moze 4th Skill Tree Skills 2020-11-16 17:05:50 -08:00
junganthonyy
6042440f88 Finishing FL4K 4th Skill Tree Effects 2020-11-16 16:59:25 -08:00
Anthony Jung
49d3533b74 Adding Most of FL4K 4th Skill Tree Skills 2020-11-16 16:44:32 -08:00
Anthony Jung
993e9eb494 Adding Action Skill Augment Tags 2020-11-15 17:23:09 -08:00
Anthony Jung
624e2a6a3c Added Zane's 4th Skill Tree 2020-11-15 17:18:41 -08:00
Anthony Jung
3f8c162da4 Adding Zane 4th Skill Tree Icons 2020-11-14 20:57:40 -08:00
Anthony Jung
0e9a44cea7 Fixing Typos 2020-11-14 00:03:57 -08:00
Anthony Jung
9fc67b648b Fixing Typos With 4th Skill Tree 2020-11-13 23:56:35 -08:00
Anthony Jung
fc55222611 Fixing Linting Problems 2020-11-13 23:43:34 -08:00
Anthony Jung
db31ed1243 Adding Amara 4th Skill Tree Icons 2020-11-13 23:39:55 -08:00
Anthony Jung
836cf30ae6 Added Amara 4th Skill Tree: Enlightened Force 2020-11-13 15:56:39 -08:00
junganthonyy
8d0577d79e Updating Amara Brawl Skill Tree & Reformatting Some Descriptions 2020-11-13 12:19:09 -08:00
junganthonyy
1561c8435a Updating Babel Package 2020-11-13 12:18:53 -08:00
ataylorme
33f5e11145 Add Bear Mother skill tree for Moze 2020-10-22 14:22:55 -07:00
ataylorme
17df03e448 Add space after function names to correct linting error 2020-10-22 14:22:33 -07:00
ataylorme
3aeb83b8a7 Add suport for fourth, pink skill tree 2020-10-22 14:21:35 -07:00
ataylorme
29d6c4cc8a Increase level cap from 50 to 60 2020-10-22 14:21:03 -07:00
87 changed files with 12094 additions and 6560 deletions

15805
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
{
"private": true,
"scripts": {
"build": "pwa build",
"build": "npx pwa build",
"start": "sirv build -s",
"watch": "pwa watch",
"deploy": "npm run build && mkdir build/operative build/siren build/beastmaster build/gunner && cp build/index.html build/operative/ && cp build/index.html build/siren/ && cp build/index.html build/beastmaster/ && cp build/index.html build/gunner/ && echo 'bl3skills.com' > build/CNAME && npm run push-gh-pages",

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -3,8 +3,8 @@
flex: 0 1 auto;
margin: 0.5rem;
padding: 0rem;
height: 2.5rem;
width: 2.5rem;
height: 2rem;
width: 2rem;
line-height: 1;
display: flex;
text-align: center;
@ -80,8 +80,8 @@
.augment, .actionSkill {
margin: 0;
padding: 0.5rem;
height: 3.5em;
width: 3.5em;
height: 3em;
width: 3em;
}
.augment {
@ -111,7 +111,7 @@
mix-blend-mode: luminosity;
}
.image > img {
width: 2.3em;
width: 1.8em;
opacity: 0.5;
}
@ -168,7 +168,7 @@
position: absolute;
bottom: 100%;
width: 20rem;
transform: translateX(calc((1 - var(--treeindex)) * 40%));
transform: translateX(calc((0.5 - var(--treeindex) / 3) * 80%));
}
.actionSkill:hover .description {

View file

@ -100,7 +100,7 @@
display: flex;
flex-direction: column;
margin: 1rem;
padding: 0 3.5rem;
padding: 0 3rem;
background-image: linear-gradient(0deg, var(--themeColor), var(--themeColor));
background-size: 100% calc(100% - 1.5rem);
background-repeat: no-repeat;
@ -112,11 +112,12 @@
.skills {
position: relative;
user-select: none;
height: calc(3.5rem * 7)
height: calc(3rem * 7)
}
.skills:before {
--gradientStop: calc(var(--invested)* 0.7rem + 3.5rem + 1.65rem);
/* --gradientStop: calc(var(--invested)* 0.7rem + 3.5rem + 1.65rem); */
--gradientStop: calc(var(--invested)* 0.6rem + 3rem + 1rem);
content: '';
position: absolute;
top: 1.85rem;
@ -133,7 +134,7 @@
}
.tier {
width: calc(3.5rem * 3 + 0.5em);
width: calc(3.5rem * 3);
justify-content: center;
position: relative;
}
@ -148,6 +149,10 @@
--themeHue: 18;
}
.purple {
--themeHue: 287;
}
a {
color: inherit;
}

View file

@ -17,7 +17,7 @@ export default class VaultHunter extends Component {
constructor (props) {
super(props);
this.state = {
invested: [0, 0, 0],
invested: [0, 0, 0, 0],
skills: props.skills || {},
};
}
@ -52,7 +52,7 @@ export default class VaultHunter extends Component {
const resetSkills = () => {
setHash(initialSkills);
this.setState({
invested: [0, 0, 0],
invested: [0, 0, 0, 0],
skills: initialSkills || {},
});
};
@ -60,8 +60,10 @@ export default class VaultHunter extends Component {
const trees =
Object.keys(this.state.skills).map((treeName, treeIndex) => {
return (
<div class={`${style.tree} ${[style.green, style.blue, style.red][treeIndex]}`}>
<style>{`.${style.tree}:nth-child(${treeIndex + 1}) { --invested: ${this.state.invested[treeIndex]}; --treeindex: ${treeIndex};}`}</style>
<div
class={`${style.tree} ${[style.green, style.blue, style.red, style.purple][treeIndex]}`}
style={`--invested: ${this.state.invested[treeIndex]}; --treeindex: ${treeIndex};`}
>
<h2 class={style.treeName}>{ treeName }</h2>
<div class={style.skills}>
{ Object.keys(this.state.skills[treeName]).map((tier, tierIndex) =>

View file

@ -5,7 +5,7 @@
--transition-duration: 300ms;
--font-header: sans-serif;
--font-list: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
font-size: 1.5vw;
font-size: 1.3vw;
}
@media screen and (min-width: 189vh) {

View file

@ -1,3 +1,4 @@
/* eslint-disable space-before-function-paren */
import SKILLS from '@constants/skills';
function percent (rank, unit) {
@ -127,28 +128,46 @@ function getSecondIntentionCriticalKillReloadSpeed(rank) {
}
}
// Success Imminent Damage
function getSuccessImminetDamage(rank) {
switch (rank) {
case 1:
return 6;
case 2:
return 11;
case 3:
return 17;
case 4:
return 22;
case 5:
return 28;
default:
return 0;
}
}
/* eslint-disable quotes */
const skills = {
"Stalker": {
"0": {
"Jabber Sidekick": {
text: "FL4K is joined by a loyal Jabber companion, armed with a Pistol. While accompanied by the Jabber, FL4K's Movement Speed is increased. Hold [Pet Skill key] to issue an Attack Command, which will cause the Jabber to throw a Radiation Barrel at enemies.",
text: "FL4K is joined by a loyal Jabber companion, armed with a Pistol. While accompanied by the Jabber, FL4K's Movement Speed is increased.\n\nHold [Pet Skill key] to issue an Attack Command, which will cause the Jabber to throw a Radiation Barrel at enemies.",
type: SKILLS.AUGMENT_DIAMOND,
ranks: 0,
effect: (rank, level) => `Movement Speed: +5%`,
effect: (rank, level) => `Movement Speed: +5.0%`,
},
"Fade Away": {
text: "FL4K cloaks, turning invisible. FL4K can fire 3 shots while cloaked, and each shot is automatically a Critical Hit. While cloaked, FL4K has increased Movement Speed and Health Regeneration.",
type: SKILLS.ACTION_SKILL,
ranks: 0,
effect: (rank, level) => `Fade Away Bonus Damage: 200% of damage dealt\nCloaked Movement Speed: +25%\nHealth Regeneration: +3% of Max Health per second\nDuration: 15 seconds\nCooldown: 45 seconds`,
effect: (rank, level) => `Fade Away Bonus Damage: 200% of damage dealt\nCloaked Movement Speed: +25%\nHealth Regeneration: +3% of Max Health per second\nCooldown: 45 seconds\nDuration: 15 seconds`,
},
},
"1": {
"Self-Repairing System": {
text: "FL4K's Maximum Health is increased, and they constantly regenerate health.",
ranks: 5,
effect: (rank, level) => `Maximum Health: +${percent(rank, 6)}%\nHealth Regeneration: +${percent(rank, 0.3)}% of Max Health/sec`,
effect: (rank, level) => `Health Regeneration: ${percent(rank, 0.3)}% of Max Health/sec\nMaximum Health: +${percent(rank, 6)}%`,
},
"Sic'Em": {
text: "Attack Command has lowered Cooldown and increased Damage.",
@ -156,7 +175,7 @@ const skills = {
effect: (rank, level) => `Attack Command Damage: +${percent(rank, 10)}%\nAttack Command Cooldown: -${percent(rank, 10)}%`,
},
"Furious Attack": {
text: "Hunter Skill. After shooting an enemy, FL4K gains a stack of Furious Attack. For each stack of Furious Attack, FL4K's Handling and Gun Damage are increased, and their pet gains increased Damage per stack. Stacks decay after a few seconds.",
text: "Hunter Skill. After shooting an enemy, FL4K gains a stack of Furious Attack.\n\nFor each stack of Furious Attack, FL4K's Handling and Gun Damage are increased, and their pet gains increased Damage per stack. Stacks decay after a few seconds.",
ranks: 5,
effect: (rank, level) => `Gun Damage: +${percent(rank, 0.4)}% per stack\nHandling: +${getFuriousAttackHandling(rank)}% per stack\nPet Damage: +${percent(rank, 0.6)}% per stack\nMaximum Stacks: 10\nDuration: 4 seconds`,
},
@ -166,10 +185,10 @@ const skills = {
text: "Fade Away no longer ends after FL4K attacks, at the cost of Critical Hit Damage and Fade Away duration being reduced.",
type: SKILLS.AUGMENT_CHEVRON,
ranks: 0,
effect: (rank, level) => `Fade Away Bonus Damage: 25% of damage dealt\nFade Away Duration: 5 seconds`,
effect: (rank, level) => `Critical Hit Damage: 25% of damage dealt\nFade Away Duration: 5 seconds`,
},
"Eager To Impress": {
text: "Kill Skill. Whenever FL4K kills an enemy, Action Skill Cooldown Time is reduced. Whenever FL4K's pet kills an enemy, Action Skill Cooldown Time is reduced even more and Attack Command's duration is refreshed.",
text: "Kill Skill. Whenever FL4K kills an enemy, Action Skill Cooldown Time is reduced.\n\nWhenever FL4K's pet kills an enemy, Action Skill Cooldown Time is reduced even more and Attack Command's duration is refreshed.",
ranks: 5,
effect: (rank, level) => `FL4K Kill Action Skill Cooldown: -${percent(rank, 0.25)} seconds\nPet Kill Action Skill Cooldown: -${percent(rank, 0.5)} seconds`,
},
@ -181,15 +200,15 @@ const skills = {
"Overclocked": {
text: "FL4K gains increased Fire Rate. FL4K gains even more Fire Rate after reloading.",
ranks: 5,
effect: (rank, level) => `Fire Rate: +${percent(rank, 2)}%\nAdditional Fire Rate: +${percent(rank, 2)}%\nDuration: 4 seconds`,
effect: (rank, level) => `Fire Rate after Reloading: +${percent(rank, 2)}%\nFire Rate : +${percent(rank, 2)}%\nDuration: 4 seconds`,
},
},
"3": {
"Not My Circus": {
text: "After Fade Away ends, FL4K's pet will Taunt, drawing the attention of all enemies in a huge radius. For a few seconds after Taunting, the pet gains powerful Damage Resistance.",
text: "After Fade Away ends, FL4K's pet will Taunt, drawing the attention of all enemies in a huge radius.\nFor a few seconds after Taunting, the pet gains powerful Damage Resistance.",
type: SKILLS.AUGMENT_CHEVRON,
ranks: 0,
effect: (rank, level) => `Pet Taunt Duration: 6 seconds\nPet Damage Resistance: +80%`,
effect: (rank, level) => `Pet Damage Resistance: +80%\nPet Taunt Duration: 6 seconds`,
},
"Lick The Wounds": {
text: "When FL4K is in Fight For Your Life, their pet will attempt to revive them. If it does, it gains increased Damage for a short time.",
@ -197,9 +216,9 @@ const skills = {
effect: (rank, level) => `Pet Damage: +30%\nDuration: 60 seconds`,
},
"Turn Tail And Run": {
text: "While moving, FL4K constantly regenerates health and gains Damage Resistance. While still, FL4K gains Gun Damage and Fire Rate.",
text: "While moving, FL4K constantly regenerates health and gains Damage Resistance.\n\nWhile still, FL4K gains Gun Damage and Fire Rate.",
ranks: 3,
effect: (rank, level) => `Damage Resistance: +${getTurnTailAndRunDamageResistance(rank)}% while moving\nHealth Regen: +${percent(rank, 0.3)}% Max Health/sec while moving\nGun Damage: +${percent(rank, 8.333)}% while still\nFire Rate: +${percent(rank, 4)}% while still`,
effect: (rank, level) => `Health Regen While Moving: +${percent(rank, 0.3)}% Max Health/sec\nDamage Resistance: +${getTurnTailAndRunDamageResistance(rank)}% while moving\nGun Damage While Still: +${percent(rank, 8.333)}%\nFire Rate While Still: +${percent(rank, 4)}%`,
},
"Beefcake Jabber": {
text: "FL4K's Jabber evolves into a Beefcake, discarding its pistol and equipping a Shotgun. While accompanied by the Beefcake, FL4K gains increased Movement Speed and Maximum Health. When FL4K issues an Attack Command, the Beefcake will summon a melee weapon to deliver a powerful attack that knocks enemies back.",
@ -213,12 +232,12 @@ const skills = {
text: "The Health Regeneration and Movement Speed of Fade Away persists for a short time after the skill has ended.",
type: SKILLS.AUGMENT_CHEVRON,
ranks: 0,
effect: (rank, level) => `Duration: 10 seconds after Fade Away ends`,
effect: (rank, level) => `Post Cloak Duration: 10 seconds`,
},
"The Fast And The Furryous": {
text: "While above half health, FL4K's Gun Damage and Movement Speed are increased, and their pet gains increased Damage.",
ranks: 3,
effect: (rank, level) => `Gun Damage: +${Math.round(percent(rank, 8.333))}%\nMovement Speed: +${percent(rank, 3.333)}%\nPet Damage: +${percent(rank, 10)}%`,
effect: (rank, level) => `Gun Damage: +${Math.round(percent(rank, 8.333))}%\nPet Damage: +${percent(rank, 10)}%\nMovement Speed: +${percent(rank, 3.333)}%e`,
},
"Hidden Machine": {
text: "When an enemy has no target or is attacking a different target, FL4K deals increased damage against them.",
@ -242,14 +261,14 @@ const skills = {
"Rage And Recover": {
text: "Kill Skill. After killing an enemy, FL4K and FL4K's pet regenerate health for a few seconds.",
ranks: 5,
effect: (rank, level) => `Health Regeneration: +${percent(rank, 1.6)}% of Missing Health/sec\nPet Health Regen: +${percent(rank, 1.6)}% of Missing Health/sec\nDuration: 3 seconds`,
effect: (rank, level) => `Health Regeneration: +${percent(rank, 1.6)}% of Missing Health/sec\nDuration: 3 seconds`,
},
},
"6": {
"The Power Inside": {
text: "FL4K and FL4K's pet gain increased Damage when FL4K activates an Action Skill. If FL4K is at full health, the increased Damage is doubled.",
ranks: 1,
effect: (rank, level) => `Damage: +25%\nPet Damage: +25%\nDuration: 15 seconds`,
effect: (rank, level) => `Damage: +25%\nDuration: 15 seconds`,
},
},
},
@ -305,7 +324,7 @@ const skills = {
"Frenzy": {
text: "Hunter Skill. When FL4K's pet deals damage, FL4K and their pet gain a stack of Frenzy. Each stack of Frenzy increases Damage. The stacks decay after a few seconds.",
ranks: 5,
effect: (rank, level) => `Damage: +${percent(rank, 0.8)}% per stack\nPet Damage: +${percent(rank, 0.8)}% per stack\nMaximum Stacks: 10`,
effect: (rank, level) => `Damage: +${percent(rank, 0.8)}% per stack\nMaximum Stacks: 10`,
},
},
"3": {
@ -321,12 +340,12 @@ const skills = {
effect: (rank, level) => `Pet Damage: +20%\nPet Movement Speed: +12%\nDuration: 8 seconds`,
},
"Hive Mind": {
text: "When FL4K takes damage, a portion of all damage they take is inflicted on their pet instead.",
text: "When FL4K takes damage, a portion of all damage they take is inflicted on their pet instead and their pet deals Bonus Damage for a short time.",
ranks: 3,
effect: (rank, level) => `Damage Shared: ${percent(rank, 5)}%`,
effect: (rank, level) => `Damage Shared: ${percent(rank, 5)}%\nPet Bonus Damage: +${percent(rank, 7.5)}%`,
},
"Great Horned Skag": {
text: "FL4K's Skag evolves into a larger Great Horned Skag, which will increase FL4K's Damage and Gun Damage. When FL4K issues an Attack Command, the Great Horned Skag will charge at enemies and knock them into the air.",
text: "FL4K's Skag evolves into a larger Great Horned Skag, which will increase FL4K's Damage and Gun Damage.\n\nWhen FL4K issues an Attack Command, the Great Horned Skag will charge at enemies and knock them into the air.",
type: SKILLS.AUGMENT_DIAMOND,
ranks: 0,
effect: (rank, level) => `Damage: +5%\nGun Damage: +10%`,
@ -337,7 +356,7 @@ const skills = {
text: "When FL4K or FL4K's pet kills an enemy while Gamma Burst is active, the duration of Gamma Burst is extended and pet damage is increased. These effects can stack up to 5 times.",
type: SKILLS.AUGMENT_CHEVRON,
ranks: 0,
effect: (rank, level) => `Gamma Burst Duration: +3 seconds per kill\nPet Damage: +10% per kill\nMaximum Stacks: 5`,
effect: (rank, level) => `Gamma Burst Duration: +3 seconds per kill\nPet Damage: +10% per kill`,
},
"Barbaric Yawp": {
text: "Increases the power of Pet Bonuses granted to FL4K.",
@ -345,12 +364,12 @@ const skills = {
effect: (rank, level) => `Pet Bonuses: +${percent(rank, 40)}%`,
},
"Mutated Defenses": {
text: "When FL4K's pet is at low health, it gains Damage Resistance and regenerates health. This skill has a long cooldown.",
text: "When FL4K's pet is at low health, it gains Damage Reduction and regenerates health. This skill has a long cooldown.",
ranks: 1,
effect: (rank, level) => `Pet Damage Resistance: +30%\nPet Health Regen: +6.667% of Max Health/sec\n Duration: 6 seconds\nCooldown: 15 seconds`,
effect: (rank, level) => `Health Regeneration: +40% of Max Health Pet Health over 6 seconds\nPet Damage Resistance: +30% for 6s\nCooldown: 15 seconds`,
},
"Eridian Skag": {
text: "FL4K's Skag evolves into an Eridian Skag, which will increase FL4K's Damage and Fire Rate. When FL4K issues an Attack Command, their Eridian Skag pulls nearby enemies in by generating a Singularity.",
text: "FL4K's Skag evolves into an Eridian Skag, which will increase FL4K's Damage and Fire Rate.\n\nWhen FL4K issues an Attack Command, their Eridian Skag pulls nearby enemies in by generating a Singularity.",
type: SKILLS.AUGMENT_DIAMOND,
ranks: 0,
effect: (rank, level) => `Damage: +5%\nFire Rate: +5%`,
@ -361,31 +380,31 @@ const skills = {
text: "After using Gamma Burst, the Rift remains for the duration of the skill. While standing near the Rift, FL4K and their allies rapidly Regenerate Health.",
type: SKILLS.AUGMENT_CHEVRON,
ranks: 0,
effect: (rank, level) => `Team Health Regeneration: +20% of Max Health/sec`,
effect: (rank, level) => `Health Regeneration: +20% of Max Health/sec`,
},
"Pack Tactics": {
text: "All damage dealt by FL4K and their pet is increased. Additionally, the Maximum Health of both FL4K and their pet is increased.",
text: "All damage dealt by FL4K and their pet is increased.\n\nAdditionally, the Maximum Health of both FL4K and their pet is increased.",
ranks: 3,
effect: (rank, level) => `Damage: +${percent(rank, 7)}%\nMaximum Health: +${percent(rank, 5)}%\nPet Damage: +${percent(rank, 7)}%\nPet Maximum Health: +${percent(rank, 5)}%`,
effect: (rank, level) => `Pet and FL4K Damage: +${percent(rank, 7)}%\nPet and FL4K Maximum Health: +${percent(rank, 5)}%`,
},
"Shared Spirit": {
text: "While FL4K is at low health, a portion of all damage they take is inflicted on their pet instead.",
text: "While FL4K is at low health, a portion of all damage they take is converted into healing for their pet instead.",
ranks: 1,
effect: (rank, level) => `Damage Shared: 50%`,
effect: (rank, level) => `Damage Converted: 50%`,
},
},
"6": {
"Dominance": {
text: "Melee Override Skill. FL4K establishes dominance over an enemy, turning it into an ally for a short time. If the enemy is a Beast, the duration is doubled. While under the effects of Dominance, the enemy constantly loses health until it dies or the effect ends. Only one enemy can be dominated at a time. An enemy can only be dominated once.",
text: "Whenever FL4K attacks an enemy with a melee attack or scores a Critical Hit with a weapon while aiming down sights they establish Dominance over that enemy turning it into an ally for a short time. if the enemy is a Beast, the duration is doubled.\n\nWhile under the effect of Dominance, other enemies are more likely to attack it and it constantly loses health until it dies or the effect ends. Once Dominance ends, a Radiation Nova is created centered around that enemy. Only one enemy can be under the effect of Dominance at a time and an enemy may only be affected once.",
ranks: 1,
effect: (rank, level) => `Duration: 12 seconds\nTarget Loses 2% of Maximum Health per second`,
effect: (rank, level) => `Duration: 12 seconds\nTarget Loses 2% of Maximum Health per second\nNova Damage: 12 (scales with level)`,
},
},
},
"Hunter": {
"0": {
"Spiderant Centurion": {
text: "FL4K is joined by a loyal Spiderant companion, which will cause FL4K to constant regenerate health. Hold [Pet Skill key] to issue an Attack Command, which will cause the Spiderant to charge into enemies.",
text: "FL4K is joined by a loyal Spiderant companion, which will cause FL4K to constant regenerate health.\n\nHold [Pet Skill key] to issue an Attack Command, which will cause the Spiderant to charge into enemies.",
type: SKILLS.AUGMENT_DIAMOND,
ranks: 0,
effect: (rank, level) => `Health Regeneration: 1% of Max Health per second`,
@ -394,14 +413,14 @@ const skills = {
text: "FL4K sends forward 2 Rakk to dive-bomb enemies. This skill has multiple charges. Element: Incendiary.",
type: SKILLS.ACTION_SKILL,
ranks: 0,
effect: (rank, level) => `Damage: 35 (increases with character level)\nElement Status Effect Chance: 100%\nCooldown: 18 seconds`,
effect: (rank, level) => `Damage: 35 (increases with character level)\nCooldown: 18 seconds\nSkill Charges: 2\nDeals Incendiary Elemental Damage`,
},
},
"1": {
"Interplanetary Stalker": {
text: "Hunter Kill Skill. Whenever FL4K kills an enemy, they gain a stack of Interplanetary Stalker. For each stack of Interplanetary Stalker, they and their pet gain a bonus to all damage dealt. Additionally, they gain a unique stacking bonus depending on the type of enemy killed. Each unique bonus can stack up to 3 times. Each stack decays after a short time.",
text: "Hunter Kill Skill. Whenever FL4K kills an enemy, they gain a stack of Interplanetary Stalker. For each stack of Interplanetary Stalker, they and their pet gain a bonus to all damage dealt\n\nAdditionally, they gain a unique stacking bonus depending on the type of enemy killed. Each unique bonus can stack up to 3 times. Each stack decays after a short time.",
ranks: 5,
effect: (rank, level) => `Damage: +${percent(rank, 2)}% per stack\nPet Damage: +${percent(rank, 1)}% per stack\nHuman Bonus: +${percent(rank, 3)}% Action Skill Damage per stack\nRobot Bonus: +${percent(rank, 1.5)}% Corrosive Damage per stack\nBeast Bonus: +${getInterplanetaryStalkerBeastMovementSpeed(rank)}% Movement Speed per stack\nMaximum Stacks: 3`,
effect: (rank, level) => `Damage: +${percent(rank, 2)}% per stack\nPet Damage: +${percent(rank, 1)}% per stack\nRobot Bonus: +${percent(rank, 1.5)}% Corrosive Damage per stack\nHuman Bonus: +${percent(rank, 3)}% Action Skill Damage per stack\nBeast Bonus: +${getInterplanetaryStalkerBeastMovementSpeed(rank)}% Movement Speed per stack\nMaximum Stacks: 3`,
},
"Leave No Trace": {
text: "When FL4K scores a Critical Hit, there is a chance for 1 ammo to be added to their magazine.",
@ -434,7 +453,7 @@ const skills = {
"Ambush Predator": {
text: "While there are no enemies nearby, FL4K's Weapon Handling and Critical Hit Damage are increased.",
ranks: 5,
effect: (rank, level) => `Critical Hit Damage: +${percent(rank, 4)}%\nHandling: +${getAmbushPredatorHandling(rank)}%`,
effect: (rank, level) => `Handling: +${getAmbushPredatorHandling(rank)}%\nCritical Hit Damage: +${percent(rank, 4)}%`,
},
},
"3": {
@ -450,7 +469,7 @@ const skills = {
effect: (rank, level) => `Extra Projectile Chance: +${percent(rank, 5)}%`,
},
"Spiderant Scorcher": {
text: "FL4K's Spiderant evolves into a Scorcher, occasionally dealing Incendiary Damage to all enemies nearby. While accompanied by the Scorcher, FL4K constantly regenerates health and deals increased Elemental Damage. When FL4K issues an Attack Command, the Scorcher will charge enemies.",
text: "FL4K's Spiderant evolves into a Scorcher, occasionally dealing Incendiary Damage to all enemies nearby. While accompanied by the Scorcher, FL4K constantly regenerates health and deals increased Elemental Damage.\n\nWhen FL4K issues an Attack Command, the Scorcher will charge enemies.",
type: SKILLS.AUGMENT_DIAMOND,
ranks: 0,
effect: (rank, level) => `Health Regeneration: +1% of Max Health per second\nElemental Damage: +10%`,
@ -466,15 +485,15 @@ const skills = {
"Big Game": {
text: "FL4K's Hunter Skills become much more effective and have a longer duration.",
ranks: 3,
effect: (rank, level) => `Hunter Skill Effects: +${percent(rank, 10)}%\nHunter Skill Duration: +${Math.round(percent(rank, 33.333))}%`,
effect: (rank, level) => `Hunter Skill Duration: +${Math.round(percent(rank, 33.333))}%\nHunter Skill Effects: +${percent(rank, 10)}%`,
},
"The Most Dangerous Game": {
text: "Hunter Kill Skill. Whenever FL4K kills a Badass or stronger enemy, they gain increased Critical Hit Damage, Gun Damage, and Handling for a long time and their pet receives increased Damage for a long time. Additionally, they receive a cash reward from the Intergalactic Bureau of Bounty Hunting.",
text: "Hunter Kill Skill. Whenever FL4K kills a Badass or stronger enemy, they gain increased Critical Hit Damage, Gun Damage, and Handling for a long time and their pet receives increased Damage for a long time.\n\nAdditionally, they receive a cash reward from the Intergalactic Bureau of Bounty Hunting.",
ranks: 3,
effect: (rank, level) => `Gun Damage: +${percent(rank, 3.333)}%\nCritical Hit Damage: +${Math.round(percent(rank, 8.333))}%\nHandling: +${getMostDangerousGameHandling(rank)}%\nPet Damage: +${percent(rank, 9)}%\nDuration: 120 seconds`,
effect: (rank, level) => `Gun Damage: +${percent(rank, 8.33)}%\nCritical Hit Damage: +${Math.round(percent(rank, 3.333))}%\nHandling: +${getMostDangerousGameHandling(rank)}%\nPet Damage: +${percent(rank, 9)}%\nDuration: 120 seconds`,
},
"Spiderant Countess": {
text: "FL4K's Spiderant evolves into a Countess, which will cause FL4K to constantly regenerate health and gain Damage Resistance. When FL4K issues an Attack Command, the Countess will burrow underground and then emerge dealing Corrosive Damage in an area.",
text: "FL4K's Spiderant evolves into a Countess, which will cause FL4K to constantly regenerate health and gain Damage Resistance.\n\nWhen FL4K issues an Attack Command, the Countess will burrow underground and then emerge dealing Corrosive Damage in an area.",
type: SKILLS.AUGMENT_DIAMOND,
ranks: 0,
effect: (rank, level) => `Health Regeneration: +1% of Max Health per second\nDamage Resistance: +5%`,
@ -485,7 +504,7 @@ const skills = {
text: "FL4K's Rakk have increased Cooldown Rate and gain an Additional Charge.",
type: SKILLS.AUGMENT_CHEVRON,
ranks: 0,
effect: (rank, level) => `Rakk Attack! Cooldown Rate: +20%\nMaximum Rakk Attack! Charges: +1`,
effect: (rank, level) => `Skill Charges: +1\nCooldown Rate: +20%`,
},
"Galactic Shadow": {
text: "FL4K deals increased Critical Hit Damage, and enemies are less likely to attack them.",
@ -495,7 +514,7 @@ const skills = {
"Grim Harvest": {
text: "FL4K gains increased Gun Damage and Action Skill Damage. FL4K's pet gains increased Damage.",
ranks: 5,
effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%\nAction Skill Damage: +${percent(rank, 5)}%\nPet Damage: +${percent(rank, 7)}%`,
effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%\nAction Skill Damage: +${percent(rank, 10)}%\nPet Damage: +${percent(rank, 7)}%`,
},
},
"6": {
@ -506,6 +525,141 @@ const skills = {
},
},
},
"Trapper": {
"0": {
"Pet Ion Loader": {
ranks: 0,
text: "FL4K is joined by a loyal Mini ION Loader Bot companion, armed with a Shock Sniper Rifle and Homing Shock Orbs that can be shot to trigger a Shock Nova. While accompanied by the ION Loader, FL4K gains increased Elemental Damage Resistance.\nHold [Pet Skill key] to issue an Attack Command, which causes the ION Loader to fire a powerful Eye Laser at the enemy.",
effect: (rank, level) => `Elemental Resistance: +30%`,
type: SKILLS.AUGMENT_DIAMOND,
},
"Gravity Snare": {
ranks: 0,
text: "FL4K tosses out a Trap that Knocks Up and temporarily Stuns nearby enemies. After being deployed, the Trap periodically continues to Knock Up and Stun enemies for the duration. While standing near the Trap, pressing [Action Skill key] will pick up the Trap, ending the action skill early and refunding a portion of the remaining duration.",
effect: (rank, level) => `Duration: 16 seconds\nCooldown: 36 seconds`,
type: SKILLS.ACTION_SKILL,
}
},
"1": {
"Gotta Go Fast": {
ranks: 5,
text: "FL4K's pet gains increased Movement Speed and Damage.",
effect: (rank, level) => `Pet Damage: +${percent(rank, 7)}%\nPet Movement Speed: +${percent(rank, 8)}%`
},
"Success Imminent": {
ranks: 5,
text: "Whenever FL4K's or their pet's shield breaks or is filled, they and their pet create a Radation Nova. This skill has a short cooldown.",
effect: (rank, level) => `Nova Damage: ${percent(rank, 6)} (scales with level)\nCooldown: 3 seconds`
},
"Agility Training": {
ranks: 5,
text: "FL4K and their pet gain increased Reload Speed.",
effect: (rank, level) => `Reload Speed: +${percent(rank, 8)}%`
},
},
"2": {
"Forage": {
ranks: 0,
text: "Whenever an enemy trapped by FL4K is knocked into the air, they drop ammo, health boosters, and shield boosters.",
effect: (rank, level) => ``,
type: SKILLS.AUGMENT_CHEVRON,
},
"Better Toys": {
ranks: 3,
text: "FL4K and their pet gain increased Shield Recharge Rate and improved Shield Recharge Delay.",
effect: (rank, level) => `Shield Recharge Rate: +${percent(rank, 6)}%\nShield Recharge Delay: -${percent(rank, 8)}%`
},
"Combat Veterinarian": {
ranks: 1,
text: "Whenever FL4K shoots the same enemy their pet is attacking, FL4K's Pet gains a portion of the damage dealt back as health.",
effect: (rank, level) => `Life Steal: 30% of damage dealt`
},
"Throatripper": {
ranks: 3,
text: "Hunter Skill. FL4K's pet's acttacks have a chance to score a Critical Hit, dealing increased damage.",
effect: (rank, level) => `Critical Chance: +${percent(rank, 5)}%`
},
},
"3": {
"Wide Net": {
ranks: 0,
text: "FL4K's Trap gains increased Duration and increased Radius.",
effect: (rank, level) => `Trap Duration: +25%\nTrap Radius: +100%`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Lethal Force Authorized": {
ranks: 1,
text: "Whenever Fl4K's Loader Bot pet would go into Fight For Your Life, it turns into an EXP Loader instead and seeks out a nearby enemy before self-destructing, dealing damage to all nearby enemies.\nFL4K's pet's respawn time is reduced.",
effect: (rank, level) => `Pet Respawn Time: -50%\nEXP Loader Damage: 89 (scales with level)`
},
"Take This!": {
ranks: 1,
text: "FL4K's pet gains a copy of FL4K's shield.",
effect: (rank, level) => ``
},
"Bul Loader": {
ranks: 0,
text: "FL4K's ION Loader upgrades into a BUL Loader, discarding it's sniper rifle and equipping a Shotgun. FL4K's BUL Loader also gains increased Damage Resistance and a powerful Roundhouse Melee Attack. While accompanies by the BUL Loader, FL4K's Shield Capacity is increased.\n\nWhen FL4K issues an Attack Command, the BUL Loader Briefly turns into a BullDozer to charge at enemies and knocks them up.",
effect: (rank, level) => `Shield Capacity: +20.0%`,
type: SKILLS.AUGMENT_DIAMOND,
},
},
"4": {
"Trap Card": {
ranks: 0,
text: "If FL4K would go into Fight For Your Life while their Trap is readied, they automatically throw a Trap at the enemy that downed them.",
effect: (rank, level) => `Duration: 16 seconds`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Monkey Do!": {
ranks: 5,
text: "FL4K's pet gains increased Critical Hit Damage.\n\nWhenever FL4K's Pet scores a Critical Hit, FL4K's next shot deals Bonus Damage based on their weapon's damage.",
effect: (rank, level) => `Pet Critical Hit Damage: +${percent(rank, 14)}%\nBonus Damage: ${percent(rank, 14)}% of weapon damage`
},
"Wooly Armor": {
ranks: 1,
text: "While FL4K's shields are full, their pet gains Damage Reduction.",
effect: (rank, level) => `Pet Damage Reduction: +75%`
},
"Not Even A Challenge": {
ranks: 5,
text: "Whenever FL4K's pet kills an enemy, FL4K gains increased Action Skill Duration and Action Skill Cooldown Rate for a short time. This effect stacks.",
effect: (rank, level) => `Cooldown Rate: +${percent(rank, 7)}%\nAction Skill Duration: +${percent(rank, 7)}%\nDuration: 12 seconds\nMax Stacks: 10`
},
"War Loader": {
ranks: 0,
text: "FL4K's ION Loader Upgrades into a WAR Loader, discarding it's sniper rifle and equipping an Incendiary Shotgun and Grenades. While accompanied by the WAR Loader, FL4K gains increased Fire Rate.\n\nWhen FL4K issues an Attack Command, the WAR loader unleashes a barrage of missles at the target.",
effect: (rank, level) => `Fire Rate: +12.0%`,
type: SKILLS.AUGMENT_DIAMOND,
},
},
"5": {
"Blind With Anger": {
ranks: 0,
text: "FL4K's Trap no longer Knocks Up or Stuns enemies. Instead, the Trap confuses nearby enemies, causing them to attack their allies for a short time. Once deployed, the Trap continues to periodically confuse enemies for the duration.",
effect: (rank, level) => `Confuse Duration: 8 seconds`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Fuzzy Math": {
ranks: 5,
text: "Whenever FL4K or their pet scores a Critical Hit, a portion of FL4K's and their pet's shields are restored.",
effect: (rank, level) => `Shield REstore: +${percent(rank, 3)}% of Max Shields`
},
"Keep Them Safe": {
ranks: 5,
text: "Whenever FL4K issues an Attack Command, if FL4K's or their pet's shield is less than half full a portion of FL4K's and their pet's shields are restored. This has a short cooldown.",
effect: (rank, level) => `Shield Restore: ${percent(rank, 10)}% of Max Shields\nCooldown: 12 seconds`
},
},
"6": {
"Capacitance": {
ranks: 1,
text: "Whenever FL4K activiates their Action Skill, they gain greatly increased Shield Capacity for a short time and immediately begin rechargin their shields. This skill has a short cooldown.",
effect: (rank, level) => `Shield Capacity: +100%\nDuration: 16 seconds\nCooldown: 16 seconds`
},
}
}
};
export default skills;

View file

@ -130,6 +130,20 @@ function getBehindTheIronCurtainShieldRechargeDelay(rank) {
}
}
// Deadlines Fuel Drain Modifier
function getDeadlinesFuelDrain(rank) {
switch (rank) {
case 1:
return 11;
case 2:
return 22;
case 3:
return 30;
default:
return 0;
}
}
/* eslint-disable quotes */
const skills = {
"Bottomless Mags": {
@ -149,7 +163,7 @@ const skills = {
"Dakka Bear": {
text: "Adds a manned turret to the back of Iron Bear. While manned, Iron Bear and its rider gain increased damage.",
ranks: 1,
effect: (rank, level) => `Iron Bear Damage: +50%`,
effect: (rank, level) => `Iron Bear Damage: +50%\nIron Cub Damage: +20%`,
},
"Matched Set": {
text: "Moze's currently equipped weapon gains a stacking bonus to Magazine Size and Decreased Heat Per Shot for every piece of equipped gear that has a matching manufacturer.",
@ -188,7 +202,7 @@ const skills = {
"General Winter": {
text: "Minigun fires Cryo rounds which reduce Heat Gain and Fuel Drain.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Minigun Element: Cryo\nCryo Efficiency: +20%\nMinigun Fuel Drain: -40%`,
effect: (rank, level) => `Minigun Fuel Drain: -40%\nCryo Efficiency: +20%\nMinigun Element: Cryo`,
},
"Rushin' Offensive": {
text: "Moze can sprint and shoot at the same time. While sprinting, Moze's weapons gain Life Steal.",
@ -203,7 +217,7 @@ const skills = {
"Fuel Economy": {
text: "Reduces Salamander's Fuel Drain. Additionally, Iron Bear's Movement Speed is increased after damaging an enemy with Salamander.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Salamander Fuel Drain: -25%\nIron Bear Movement Speed: +25%\nMovement Speed Duration: 3 seconds`,
effect: (rank, level) => `Salamander Fuel Drain: -25%\nIron Bear Movement Speed: +50%\nMovement Speed Duration: 3 seconds`,
},
},
"4": {
@ -240,9 +254,9 @@ const skills = {
effect: (rank, level) => `Gun Damage: Up to +${percent(rank, 20)}%`,
},
"Molten Roar": {
text: "The Salamander burst-fires 3 projectiles with increased Fuel Drain, the first of which leaves a large Incendiary area.",
text: "The Salamander burst-fires 3 projectiles with increased Damage, the first of which leaves a large Incendiary area.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Fuel Drain: +25%`,
effect: (rank, level) => `Damage: +100%`,
},
},
"6": {
@ -271,7 +285,7 @@ const skills = {
"Deadlines": {
text: "Firing Iron Bear Weapons drains less Fuel. Killing an enemy while Iron Bear is active increases Fuel. This skill has diminishing returns.",
ranks: 3,
effect: (rank, level) => `Fuel Drain: -${percent(rank, 10)}%\nFuel Returned: ${percent(rank, 2)}% of Maximum Fuel`,
effect: (rank, level) => `Fuel Returned: Up to ${percent(rank, 2)}%\nFuel Drain: -${getDeadlinesFuelDrain(rank)}%`,
},
"Grizzled": {
text: "Kill Skill. Killing an enemy reduces Moze's remaining Action Skill Cooldown Time. This skill has diminishing returns.",
@ -298,7 +312,7 @@ const skills = {
"Stainless Steel Bear": {
text: "Iron Bear gains additional armor, increased Maximum Fuel, and increased Damage.",
ranks: 5,
effect: (rank, level) => `Iron Bear Damage: +${percent(rank, 4)}%\nIron Bear Armor: +${percent(rank, 6)}%\nMaximum Fuel: +${percent(rank, 4)}%`,
effect: (rank, level) => `Maximum Fuel: +${percent(rank, 4)}%\nIron Bear Armor: +${percent(rank, 6)}%\nIron Bear Damage: +${percent(rank, 4)}%`,
},
"Vanquisher Rocket Pod": {
text: "The Vanquisher Rocket Pod is a rocket launcher capable of rapid-firing volleys of unguided explosive rockets. Element: Non-Elemental.",
@ -364,7 +378,7 @@ const skills = {
"Hammerdown Protocol": {
text: "Instead of a volley of conventional rockets, the Vanquisher Rocket Pod launches a single rocket with a nuclear warhead, dealing massive Radiation Damage.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Vanquisher Element: Raditation\nVanquisher Damage: +600%\nVanquisher Magazine Size: 1`,
effect: (rank, level) => `Vanquisher Damage: +600%\nVanquisher Magazine Size: 1\nVanquisher Element: Raditation\n`,
},
},
"6": {
@ -387,29 +401,29 @@ const skills = {
"Selfless Vengeance": {
text: "Whenever Moze reloads, she loses a small portion of her health and grants additional Incendiary Damage to her and her allies' rounds for a few seconds.",
ranks: 5,
effect: (rank, level) => `Team Bonus Incendiary Damage: +${percent(rank, 3)}% of dmg dealt\nHealth Removed: ${percent(rank, 1)}% of Current Health\nDuration: 5 seconds`,
effect: (rank, level) => `Bonus Incendiary Damage: +${percent(rank, 3)}% of gun damage dealt\nCurrent Health Removed: ${percent(rank, 1)}\nDuration: ${rank + 5} seconds`,
},
"Security Bear": {
text: "Iron Bear gains a bubble shield that reduces damage taken. The shield deactivates if it sustains too much damage, reactivating after a short cooldown.",
text: "Iron Bear gains a bubble shield that reduces damage taken. The shield deactivates if it sustains too much damage, reactivating after a short cooldown.\nIf Iron Cub is equipped, it gains Damage Reduction instead.",
ranks: 1,
effect: (rank, level) => `60% of Iron Bear Maximum Armor added as Shields\nBubble Recharge Delay: 5 seconds`,
effect: (rank, level) => `Bubble Recharge Delay: 5 seconds\n50% of Iron Bear Maximum Armor added as Shields\nIron Cub Damage Reduction: +50%`,
},
"Armored Infantry": {
text: "While Moze's shields are active, she gains Damage Resistance and increased Gun Damage.",
ranks: 5,
effect: (rank, level) => `Damage Resistance: +${getArmoredInfantryDamageResistance(rank)}%\nGun Damage: +${percent(rank, 3)}%`,
effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%\nDamage Resistance: +${getArmoredInfantryDamageResistance(rank)}%`,
},
},
"2": {
"Hell on Rails": {
text: "Railgun now fires superheated rounds that deal Incendiary Damge, but have increased Fuel Drain per shot.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Railgun Element: Incendiary\nRailgun Fuel Drain: +8%`,
effect: (rank, level) => `Railgun Fuel Drain: +8%\nRailgun Element: Incendiary`,
},
"Drowning in Brass": {
text: "Kill Skill. Killing an enemy grants Moze a stack of Drowning in Brass. For each stack of Drowning in Brass, Moze's Fire Rate is reduced, but Gun Damage is increased for both her and her allies.",
text: "Kill Skill. Killing an enemy grants Moze a stack of Drowning in Brass.\n\nFor each stack of Drowning in Brass, Moze's Fire Rate is reduced, but Gun Damage is increased for both her and her allies.",
ranks: 5,
effect: (rank, level) => `Moze Fire Rate: -${percent(rank, 0.5)}% per stack\nTeam Gun Damage: +${percent(rank, 4)}% per stack\nMaximum Stacks: 3\nDuration: 15 seconds`,
effect: (rank, level) => `Gun Damage: +${percent(rank, 4)}% per stack\nMoze Fire Rate: -${percent(rank, 0.5)}% per stack\nMaximum Stacks: 3\nDuration: 15 seconds`,
},
"Thin Red Line": {
text: "A portion of Moze's health is Reserved and cannot be restored, but her Maximum Shield is increased by the same amount.",
@ -419,7 +433,7 @@ const skills = {
"Vladof Ingenuity": {
text: "Moze's Maximum Shield and Shield Recharge Rate are increased, and she gains resistance to Shock Damage.",
ranks: 5,
effect: (rank, level) => `Maximum Shield: +${percent(rank, 6)}%\nShield Recharge Rate: +${percent(rank, 4)}%\nShock Damage Resistance: +${getVladofIngenuityShockDamageResistance(rank)}%`,
effect: (rank, level) => `Shield Recharge Rate: +${percent(rank, 4)}%Maximum Shield: +${percent(rank, 6)}%\n\nShock Damage Resistance: +${getVladofIngenuityShockDamageResistance(rank)}%`,
},
"Bear Fist": {
text: "The Bear Fist is a pneumatic-driven fist that deals massive damage to a single target at close range. Element: Non-Elemental.",
@ -431,12 +445,12 @@ const skills = {
"Capacitive Armature": {
text: "When Railgun hits an enemy, it chains to nearby enemies, dealing reduced Shock Damage to more targets.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Splinter Damage: 70% of damage dealt`,
effect: (rank, level) => `Splinter Damage: -30%`,
},
"Full Can of Whoop-Ass": {
text: "Entering Iron Bear causes Moze's and her allies' shields to immediately begin recharging at an increased Shield Recharge Rate.",
ranks: 1,
effect: (rank, level) => `Team Shield Recharge Rate: +25%`,
effect: (rank, level) => `Shield Recharge Rate: +25%`,
},
"Experimental Munitions": {
text: "Whenever Moze and Iron Bear score a Critical Hit, they deal bonus Incendiary Damage.",
@ -451,14 +465,14 @@ const skills = {
},
"4": {
"Corrosive Sabot Round": {
text: "Railgun now fires a specialty round that deals reduced damage and explodes after a short delay. Railgun shots have reduced Fuel Drain and the Magazine Size is increased.",
text: "Railgun now fires a specialty round that deals reduced damage and explodes after a short delay.\nRailgun shots have reduced Fuel Drain and the Magazine Size is increased.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Railgun Element:Corrosive\nRailgun Damage: -15%\nRailgun Fuel Drain: -33%\nRailgun Magazine Size: +2`,
effect: (rank, level) => `Railgun Fuel Drain: -50%\nRailgun Damage: -15%\nRailgun Magazine Size: +2\nRailgun Element:Corrosive`,
},
"Behind the Iron Curtain": {
text: "Moze's Shield Recharge Delay is reduced, and her Shield Recharge Rate is increased.",
ranks: 3,
effect: (rank, level) => `Shield Recharge Delay: -${getBehindTheIronCurtainShieldRechargeDelay(rank)}%\nShield Recharge Rate: +${percent(rank, 11)}%`,
effect: (rank, level) => `Shield Recharge Rate: +${percent(rank, 11)}%\nShield Recharge Delay: -${getBehindTheIronCurtainShieldRechargeDelay(rank)}%`,
},
"Desperate Measures": {
text: "Moze's Gun Damage and Iron Bear's Damage is increased depending on how low their health is. The lower their health, the greater the increase.",
@ -473,9 +487,9 @@ const skills = {
},
"5": {
"Phalanx Doctrine": {
text: "Kill Skill. After killing an enemy, Moze gains a stack of Phalanx Doctrine. For every stack of Phalanx Doctrine, Moze's Maximum Shield and Gun Damage are increased. Each stack lasts 30 seconds. There is no stack limit.",
text: "Kill Skill. After killing an enemy, Moze gains a stack of Phalanx Doctrine. For every stack of Phalanx Doctrine, Moze's Maximum Shield and Gun Damage are increased. Each stack lasts 30 seconds.\n\nThere is no stack limit.",
ranks: 5,
effect: (rank, level) => `Maximum Shield: +${percent(rank, 3)}% per stack\nGun Damage: +${percent(rank, 2)}% per stack\nDuration: 30 seconds`,
effect: (rank, level) => `Gun Damage: +${percent(rank, 2)}% per stack\nMax Shields: +${percent(rank, 3)}% per stack\nDuration: 30 seconds`,
},
"Force Feedback": {
text: "Whenever Moze scores a Critical Kill, her shields immediately begin recharging and she instantly regains a portion of her shield.",
@ -485,17 +499,127 @@ const skills = {
"Shockhammer": {
text: "Bear Fist is now capable of sustained rapid fire punching. Additionally, Bear Fist has reduced Fuel Drain and deals Bonus Shock Damage with each hit.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Bear Fist Bonus Shock Damage: +60% of damage dealt\nBear Fist Fuel Drain: -40%`,
effect: (rank, level) => `Bonus Shock Damage: +60% of damage dealt\nFuel Drain: -40%`,
},
},
"6": {
"Tenacious Defense": {
text: "Whenever Moze's shield is fully depleted, she instantly restores a portion of her shield, and her Gun Damage is increased for a short time. This skill can only trigger after Moze's shields have fully recharged.",
ranks: 1,
effect: (rank, level) => `Shields Restored: 40% of Maximum Shield\nGun Damage: +30%\nDuration: 30 seconds`,
effect: (rank, level) => `Gun Damage: +30%\nShields Restored: 40% of Maximum Shield\nDuration: 30 seconds`,
},
},
},
"Bear Mother": {
"0": {
"Iron Cub": {
ranks: 0,
text: "Moze Summons Iron Cub in place of Iron Bear. Iron Cub equips two of whatever weapon is equipped in the remaining Action Skill slot. While deployed, Iron Cub follows Moze and will target and attack enemies for the duration.\nSkills that affect Iron Bear affect Iron Cub. Iron Cub still uses Fuel, but usses less of it and deals less damage (because it's smaller).",
effect: (rank, level) => ``
},
},
"1": {
"Biofuel": {
ranks: 5,
text: "Whenever Moze or Iron Bear ignites an enemy, they both regenerate health for a short time.",
effect: (rank, level) => `Health Regen: Up to +${percent(rank, 0.7)}% per sec\nIron Bear Armor Regen: Up to +${percent(rank, 0.5)}% per sec\nDuration: 8 seconds`
},
"Big Surplus": {
ranks: 3,
text: "While Moze's Action Skill is cooling down, she deals bonus Incendiary Damage.",
effect: (rank, level) => `Bonus Damage: ${percent(rank, 5)}% of Gun Damage`
},
"Really Big Guns": {
ranks: 5,
text: "Iron Bear gains increased Damage.",
effect: (rank, level) => `Iron Bear Damage: +${percent(rank, 4)}%`
},
},
"2": {
"Double Time": {
ranks: 3,
text: "While Moze's Action Skill is active, she and Iron Bear gain increased Movement Speed.",
effect: (rank, level) => `Movement Speed: +${percent(rank, 12)}%`
},
"Harmonious Havoc": {
ranks: 5,
text: "Moze gains increased Gun Damage for each weapon, shield, and grenade that matches the element of her gun.",
effect: (rank, level) => `Gun Damage: +${percent(rank, 2)}% per matching item`
},
"Explosive Fury": {
ranks: 3,
text: "Moze and Iron Bear gain increased Status Effect Damage and Status Effect Chance.",
effect: (rank, level) => `Status Effect Chance: +${percent(rank, 9)}%\nStatus Effect Damage: +${percent(rank, 5)}%`
},
"Fuel For The Fire": {
ranks: 0,
text: "Whenever Moze or Iron Cub inflicts a Status Effect on an enemy, Iron Cub's armor is restored.",
effect: (rank, level) => `12% of Max Armor`,
type: SKILLS.AUGMENT_CHEVRON,
},
},
"3": {
"Baby Nukes": {
ranks: 0,
text: "Whenever Iron Cub is deployed or destroyed, it triggers a nuclear explosion, dealing massive Radation Damage.",
effect: (rank, level) => `Damage: 123 (scales with level)`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Fired Up": {
ranks: 1,
text: "Whenever Moze or Iron Bear applies a Status Effect to an enemy, she gains increased Fire Rate for a short time. This effect stacks.",
effect: (rank, level) => `Fire Rate: +5%\nDuration: 12 seconds\nMax Stacks: 5`,
},
},
"4": {
"Nitrotrinadium Engines": {
ranks: 5,
text: "Iron Bear gains increased Maximum Fuel and Action Skill Cooldown Rate.",
effect: (rank, level) => `Maximum Fuel: +${percent(rank, 5)}%\nAction Skill Cooldown Rate: +${percent(rank, 4)}%`
},
"Never Going To Give You Up": {
ranks: 5,
text: "Whenever Moze or Iron Bear applies a Status Effect to an enemy, Iron Bear gains Fuel. This skill had diminishing returns.",
effect: (rank, level) => `Fuel Returned: Up to 15%`
},
"My Little Friend": {
ranks: 0,
text: "Iron Cub spawns with Incendiary Vladof Assault Riffle in addition to Iron Cub's other weapons.",
effect: (rank, level) => ``,
type: SKILLS.AUGMENT_CHEVRON,
},
},
"5": {
"Efficiency Engine": {
ranks: 0,
text: "Moze gains increased Gun Damage. The longer Iron Cub has been active, the greater the bonus.",
effect: (rank, level) => `Gun Damage: +${percent(rank, 0.5)}% per second`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Feature Creep": {
ranks: 1,
text: "Iron Bear gains increased Damage and Damage Resistance.",
effect: (rank, level) => `Iron Bear Damage: +18%\nIron Bear Damage Resistance: +45%`
},
"Limit Break": {
ranks: 3,
text: "Moze gains increased Action Skill Cooldown Rate whenever she or Iron Bear inflicts a Status Effect on an enemy. This effect stacks.",
effect: (rank, level) => `Cooldown Rate: +${percent(rank, 4)}%\nDuration: 12 seconds\nMax Stacks: 10`
},
"Superior Firepower": {
ranks: 1,
text: "Whenever Moze or Iron Bear inflicts a Status Effect on an enemy, they gain increased Status Effect Damage.",
effect: (rank, level) => `Status Effect Damage: +20%\nDuration: 8 seconds\nMax Stacks: 5`
},
},
"6": {
"Running On Fumes": {
ranks: 1,
text: "Whenever Moze or Iron Bear ignites an enemy, Iron Bear does not consume fuel for a short time.",
effect: (rank, level) => `Duration: 6 seconds`
},
},
}
};
export default skills;

View file

@ -1,3 +1,4 @@
/* eslint-disable space-before-function-paren */
import SKILLS from '@constants/skills';
function percent (rank, unit) {
@ -53,26 +54,80 @@ function getColdBoreWeaponSwapSpeed(rank) {
}
}
// Cool Hand Passive Reload Speed
function getCoolHandPassiveReloadSpeed(rank) {
// Cool Hand After Kill Reload Speed
function getCoolHandAfterKillReloadSpeed(rank) {
switch (rank) {
case 1:
return 2.9;
return 4;
case 2:
return 5.7;
return 9;
case 3:
return 8.3;
case 4:
return 10.7;
case 5:
return 13;
case 4:
return 18;
case 5:
return 22;
default:
return 0;
}
}
// Cool Hand After Kill Reload Speed
function getCoolHandAfterKillReloadSpeed(rank) {
// Man Of Focus Accuracy
function getManOfFocusAccuracy(rank) {
switch (rank) {
case 1:
return 7;
case 2:
return 14;
case 3:
return 19;
case 4:
return 24;
case 5:
return 29;
default:
return 0;
}
}
// Man Of Focus Handling
function getManOfFocusHandling(rank) {
switch (rank) {
case 1:
return 7.4;
case 2:
return 13.8;
case 3:
return 19.4;
case 4:
return 24.2;
case 5:
return 28.6;
default:
return 0;
}
}
// Salvation life steal
function getSalvationLifeSteal(rank) {
switch (rank) {
case 1:
return 2;
case 2:
return 4;
case 3:
return 7;
case 4:
return 9;
case 5:
return 11;
default:
return 0;
}
}
function getViolentViolenceFireRate(rank) {
switch (rank) {
case 1:
return 4;
@ -81,9 +136,9 @@ function getCoolHandAfterKillReloadSpeed(rank) {
case 3:
return 11;
case 4:
return 14;
return 15;
case 5:
return 17;
return 19;
default:
return 0;
}
@ -94,7 +149,7 @@ const skills = {
"Under Cover": {
"0": {
"Barrier": {
text: "Drop a deployable Barrier that blocks incoming projectiles. Zane and his allies can shoot through the Barrier, dealing increased Gun Damage. Pressing [Action Skill key] while Barrier is active picks up and holds the Barrier, but the size and bonuses are decreased.",
text: "Drop a deployable Barrier that blocks incoming projectiles. Zane and his allies can shoot through the Barrier, dealing increased Gun Damage.\n\nPressing [Action Skill key] while Barrier is active picks up and holds the Barrier, but the size and bonuses are decreased.",
effect: (rank, level) => `Duration: 14 seconds\nCooldown: 24 seconds\nGun Damage Amp: +25%`,
type: SKILLS.ACTION_SKILL,
ranks: 0,
@ -114,7 +169,7 @@ const skills = {
"Ready for Action": {
text: "Zane gains improved Shield Recharge Rate and Shield Recharge Delay.",
ranks: 5,
effect: (rank, level) => `Shield Recharge Delay: -${percent(rank, 7)}%\nShield Recharge Rate: +${percent(rank, 6)}%`,
effect: (rank, level) => `Shield Recharge Rate: +${percent(rank, 6)}%\nShield Recharge Delay: -${percent(rank, 7)}%`,
},
},
"2": {
@ -142,25 +197,24 @@ const skills = {
},
"3": {
"Nanites or Some Shite": {
text: "Zane and his allies gain Health Regeneration, increased Reload Speed, and greatly improved Shield Recharge Delay while near his Barrier. The lower their health, the more health is regenerated.",
text: "Zane and his allies gain Health Regeneration, increased Reload Speed, and greatly improved Shield Recharge Delay while near his Barrier.\n\nThe lower their health, the more health is regenerated.",
ranks: 0,
effect: (rank, level) => `Team Health Regen: Up to +4% of Max Health/sec\nTeam Shield Recharge Delay: -33%\nTeam Reload Speed: +11%`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Confident Competence": {
text: "While Zane's shields are active, he gains increased Gun Damage and Accuracy. These bonuses are based on the amount of shields he has. The more percent full, the greater the bonuses.",
"Distributed Denial": {
text: "Zane's Barrier gains the effects of his currently equipped Shield Mod. Additionally, shield effects are applied to all allies near the Barrier. Bonuses to Zane are reduced.",
ranks: 1,
effect: (rank, level) => `Gun Damage: Up to +35%\nAccuracy: Up to +33%`,
},
"All-Rounder": {
text: "Zane's Barrier becomes a dome, covering all sides.",
ranks: 0,
effect: (rank, level) => `Barrier Cooldown: +20%`,
effect: (rank, level) => `Cooldown: +20%`,
type: SKILLS.AUGMENT_CHEVRON,
},
},
"4": {
"Redistribution": {
"Retaliation": {
text: "Zane and allies near the Barrier gain increased Gun Damage for a few seconds after the Barrier takes damage.",
ranks: 0,
effect: (rank, level) => `Team Gun Damage: +10%\nDuration: 3 seconds`,
@ -177,7 +231,7 @@ const skills = {
effect: (rank, level) => `Cryo Damage: ${flat(rank, level, 2)} (increases with character level)\nCooldown: 3 seconds`,
},
"Futility Belt": {
text: "Zane gains resistance to non-elemental damage.\nKill Skill. After killing an enemy, all elemental damage Zane takes is converted to non-elemental damage.",
text: "Zane gains resistance to non-elemental damage.\n\nKill Skill. After killing an enemy, all elemental damage Zane takes is converted to non-elemental damage.",
ranks: 1,
effect: (rank, level) => `Non-Elemental Damage Resistance: +15%\nDuration: 8 seconds`,
},
@ -195,7 +249,7 @@ const skills = {
effect: (rank, level) => `Life Steal: +${percent(rank, 8)}% of damage dealt`,
},
"Calm, Cool, Collected": {
text: "Whenever Zane Freezes an enemy, his shield instantly begins recharging.\nIf Zane's shields are already full, he regenerates health for a few seconds.\nIf Zane's health is already full, his Action Skill Cooldowns and Durations are immediately reset.",
text: "Whenever Zane Freezes an enemy, his shield instantly begins recharging.\n\nIf Zane's shields are already full, he regenerates health for a few seconds.\n\nIf Zane's health is already full, his Action Skill Cooldowns and Durations are immediately reset.",
ranks: 1,
effect: (rank, level) => `Health Regeneration: +3% of Max Health per second\nHealth Regeneration Duration: 3 seconds`,
},
@ -206,9 +260,10 @@ const skills = {
},
},
"6": {
"Distributed Denial": {
text: "Zane's Barrier gains the effects of his currently equipped Shield Mod. Additionally, shield effects are applied to all allies near the Barrier. Bonuses to Zane are reduced.",
"Confident Competence": {
text: "While Zane's shields are active, he gains increased Gun Damage and Accuracy. These bonuses are based on the amount of shields he has. The more percent full, the greater the bonuses.",
ranks: 1,
effect: (rank, level) => `Gun Damage: Up to +40%\nAccuracy: Up to +33%`,
},
},
},
@ -230,7 +285,7 @@ const skills = {
"Cold Bore": {
text: "Zane gains increased Weapon Swap Speed. The next shot fired after swapping weapons deals Bonus Cryo Damage.",
ranks: 5,
effect: (rank, level) => `Weapon Swap Speed: +${getColdBoreWeaponSwapSpeed(rank)}%\nBonus Cryo Damage: +${percent(rank, 6)}% of damage dealt`,
effect: (rank, level) => `Weapon Swap Speed: +${getColdBoreWeaponSwapSpeed(rank)}%\nBonus Cryo Damage: +${percent(rank, 40)}% of damage dealt`,
},
"Violent Momentum": {
text: "Zane's Gun Damage is increased while moving. The quicker he moves, the greater the bonus.",
@ -248,7 +303,7 @@ const skills = {
"Cool Hand": {
text: "Zane gains increased Reload Speed.\nKill Skill. After killing an enemy, Zane's Reload Speed is increased for a few seconds. This effect stacks twice.",
ranks: 5,
effect: (rank, level) => `Reload Speed: +${getCoolHandPassiveReloadSpeed(rank)}%\nAdditional Reload Speed: +${getCoolHandAfterKillReloadSpeed(rank)}%\nDuration: 8 seconds\nMaximum Stacks: 2`,
effect: (rank, level) => `Reload Speed: +${percent(rank, 3)}%\nAdditional Reload Speed: +${getCoolHandAfterKillReloadSpeed(rank)}%\nDuration: 8 seconds\nMaximum Stacks: 2`,
},
"Drone Delivery": {
text: "SNTRY will occasionally drop a free grenade based on your current grenade mod while attacking enemies.",
@ -258,20 +313,20 @@ const skills = {
"Salvation": {
text: "Kill Skill. After killing an enemy, Zane's weapons gain Life Steal for a few seconds.",
ranks: 5,
effect: (rank, level) => `Life Steal: +${percent(rank, 2)}% of damage dealt\nDuration: 8 seconds`,
effect: (rank, level) => `Life Steal: +${getSalvationLifeSteal(rank)}% of damage dealt\nDuration: 8 seconds`,
},
},
"3": {
"Bad Dose": {
text: "SNTNL occasionally shoots out a beam of Radiation that weakens enemies and buffs Zane. For every weakened enemy, Zane's Movement Speed and Fire Rate are increased. Weakened enemies have decreased Movement Speed and Attack Speed.",
text: "SNTNL occasionally shoots out a beam of Radiation that weakens enemies and buffs Zane.\n\nFor every weakened enemy, Zane's Movement Speed and Fire Rate are increased.\n\nWeakened enemies have decreased Movement Speed and Attack Speed.",
ranks: 0,
effect: (rank, level) => `Fire Rate: +2% per affected enemy\nMovement Speed: +6% per affected enemy\nBeam Damage: ${flat(rank, level, 4)} (increases with character level)\nDuration: 12 seconds\nCooldown: 8 seconds`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Death Follows Close": {
text: "All of Zane's Kill Skills gain increased effect and duration.",
"Seein' Red": {
text: "Activating an Action Skill automatically activates all of Zane's Kill Skills.",
ranks: 1,
effect: (rank, level) => `Kill Skill Bonus: +25%\nKill Skill Duration: +7 seconds`,
effect: (rank, level) => `Kill Skill Bonus: +15%`
},
"Static Field": {
text: "SNTNL emits a static field that sends a Shock Beam to nearby enemies, draining their shields and replenishing Zane's.",
@ -290,12 +345,12 @@ const skills = {
"Violent Violence": {
text: "Kill Skill. After killing an enemy, Zane gains increased Fire Rate for a few seconds. This effect stacks twice.",
ranks: 5,
effect: (rank, level) => `Fire Rate: +${percent(rank, 3)}%\nCooldown: 8 seconds\nMaximum Stacks: 2`,
effect: (rank, level) => `Fire Rate: +${getViolentViolenceFireRate(rank)}%\nCooldown: 8 seconds\nMaximum Stacks: 2`,
},
"Playing Dirty": {
text: "Kill Skill. After killing an enemy, Zane's next five shots all have a chance to fire an additional projectile.",
ranks: 5,
effect: (rank, level) => `Extra Shot Chance: ${percent(rank, 10)}%`,
effect: (rank, level) => `Extra Shot Chance: ${percent(rank, 11.6)}%`,
},
"Almighty Ordnance": {
text: "Hold down [Action Skill key] while SNTNL is deployed to paint a target area. SNTNL fires a missile barrage at that area, and if an enemy is killed, SNTNL's duration is reset. This can only be used once per Action Skill use.",
@ -308,14 +363,15 @@ const skills = {
"Good Misfortune": {
text: "Kill Skill. Killing an enemy increases Zane's Action Skill Duration. This skill has diminishing returns.",
ranks: 3,
effect: (rank, level) => `Action Skill Duration Returned: +${percent(rank, 4)}% of Max Duration`,
effect: (rank, level) => `Action Skill Duration Returned: +${percent(rank, 4.666)}% of Max Duration`,
},
},
"6": {
"Seein' Red": {
text: "Activating an Action Skill automatically activates all of Zane's Kill Skills.",
"Death Follows Close": {
text: "All of Zane's Kill Skills gain increased effect and duration.",
ranks: 1,
}
effect: (rank, level) => `Kill Skill Bonus: +25%\nKill Skill Duration: +7 seconds`,
},
}
},
"Doubled Agent": {
@ -336,7 +392,7 @@ const skills = {
"Praemunitus": {
text: "Zane and his Digi-Clone gain increased Magazine Size.",
ranks: 3,
effect: (rank, level) => `Magazine Size: +${percent(rank, 8.333)}%\nDigi-Clone Magazine Size: +${percent(rank, 8.333)}%`,
effect: (rank, level) => `Magazine Size: +${percent(rank, 8.333)}%`,
},
"Borrowed Time": {
text: "Zane gains increased Action Skill Duration for each active Action Skill.",
@ -354,17 +410,17 @@ const skills = {
"Donnybrook": {
text: "Kill Skill. Whenever Zane kills an enemy, he and his Digi-Clone receive increased Gun Damage and gain Health Regeneration for a few seconds. This effect stacks twice.",
ranks: 5,
effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%\nHealth Regeneration: +${percent(rank, 0.5)}% of Missing Health/sec\nDigi-Clone Gun Damage: +${percent(rank, 3)}%\nDigi-Clone Health Regen: +${percent(rank, 0.5)}% Missing Health/sec\nDuration: 8 seconds\nMaximum Stacks: 2`,
effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%\nHealth Regeneration: +${percent(rank, 0.5)}% of Missing Health/sec\nDuration: 8 seconds\nMaximum Stacks: 2`,
},
"Fractal Frags": {
text: "The Digi-Clone throws a copy of Zane's current grenade mod when it is first activated. If the Digi-Clone is killed, it drops a free grenade. Killing an enemy while the Digi-Clone is active gives the Digi-Clone a chance to throw a grenade.",
text: "The Digi-Clone throws a copy of Zane's current grenade mod when it is first activated. If the Digi-Clone is killed, it drops a free grenade.\nKill Skill. Killing an enemy while the Digi-Clone is active gives the Digi-Clone a chance to throw a grenade.",
ranks: 1,
effect: (rank, level) => `Grenade Chance: 30%`,
},
"Duct Tape Mod": {
text: "The first shot fired from Zane's gun has a chance to also fire a grenade. This skill has a short cooldown.",
ranks: 5,
effect: (rank, level) => `Grenade Chance: ${percent(rank, 4)}%\nCooldown: 8 seconds`,
effect: (rank, level) => `Grenade Chance: up to ${percent(rank, 4)}%\nCooldown: 4 seconds`,
},
},
"3": {
@ -375,7 +431,7 @@ const skills = {
type: SKILLS.AUGMENT_CHEVRON,
},
"Quick Breather": {
text: "Whenever Zane swaps places with his Digi-Clone, his shield immediately begins recharging. The Digi-Clone also immediately restores health.",
text: "Whenever Zane swaps places with his Digi-Clone, his shield immediately begins recharging and restores health to his clone.",
ranks: 1,
effect: (rank, level) => `Digi-Clone Health Restored: 50% of Max Health`,
},
@ -404,14 +460,14 @@ const skills = {
effect: (rank, level) => `Health Restored: 100% of Maximum Health`,
},
"Supersonic Man": {
text: "Zane gains increased Movement Speed for each active Action Skill.",
text: "Whenever one or more of Zane's Action Skills are active, he gains increased Movement Speed for each active Action Skill.",
ranks: 3,
effect: (rank, level) => `Movement Speed: +${percent(rank, 4)}% per active Action Skill`,
},
"Digital Distribution": {
text: "If Zane takes health damage while the Digi-Clone is active, a portion of that damage is inflicted on his Digi-Clone instead.",
text: "If Zane takes health damage while the Digi-Clone is active, a portion of that damage is shared on his Digi-Clone instead.",
ranks: 0,
effect: (rank, level) => `Damage Shared: 75%`,
effect: (rank, level) => `Damage Health Shared: 75%`,
type: SKILLS.AUGMENT_CHEVRON,
},
},
@ -419,7 +475,7 @@ const skills = {
"Like a Ghost": {
text: "Zane and his Digi-Clone gain a chance to ignore bullets. This chance is increased for a few seconds after activating an Action Skill. This effect stacks.",
ranks: 3,
effect: (rank, level) => `Ignore Bullet Chance: +${percent(rank, 2)}%\nAdditional Ignore Bullet Chance: +${percent(rank, 3)}%\nDuration: 8 seconds`,
effect: (rank, level) => `Ignore Bullet Chance: +${percent(rank, 5)}%\nAdditional Ignore Bullet Chance: +${percent(rank, 5)}%\nDuration: 8 seconds`,
},
"Boom. Enhance.": {
text: "Whenever Zane summons his Digi-Clone, it consumes up to 3 grenades. For every grenade consumed, the Digi-Clone gains increased Gun Damage, Maximum Health, Fire Rate, Reload Speed, and Digi-Clone Duration.",
@ -429,17 +485,129 @@ const skills = {
"Trick of the Light": {
text: "Zane deals Bonus Cryo Damage to enemies that aren't targeting him.",
ranks: 3,
effect: (rank, level) => `Bonus Cryo Damage: +${percent(rank, 12)}% of damage dealt`,
effect: (rank, level) => `Bonus Cryo Damage: +${percent(rank, 15)}% of damage dealt`,
},
},
"6": {
"Double Barrel": {
text: "The Digi-Clone is equipped with a copy of Zane's Current Weapon when activated. Swapping places with the Digi-Clone causes Zane and his Digi-Clone to gain increased Gun Damage.",
ranks: 1,
effect: (rank, level) => `Item Duping: +100%\nGun Damage: +25%\nDigi-Clone Gun Damage: +25%`,
effect: (rank, level) => `Gun Damage: +25%\nItem Duping: +100%\nDigi-Clone Gun Damage: +25%`,
},
},
},
"The Professional": {
"0": {
"MNTIS Shoulder Cannon": {
ranks: 0,
text: "Zane equips a Shoulder Mount ed Cannon. Pressing [Action Skill key] causes Zane to fire his cannon at his crosshairs and consume one charge.",
type: SKILLS.ACTION_SKILL,
effect: (rank, level) => `Max Charges: 3\nCooldown: 12 seconds\nDamage: 46`
},
},
"1": {
"Man Of Focus": {
ranks: 5,
text: "Activating an Action Skill grants Zane increased Accuracy and Handling for a short time. This effect stacks.",
effect: (rank, level) => `Accuarcy: +${percent(rank, getManOfFocusAccuracy(rank))}%\nHandling: +${percent(rank, getManOfFocusHandling(rank))}%\nDuration: 12 seconds\nMax Stacks: 10`
},
"Renegade": {
ranks: 3,
text: "After scoring a Critical Hit, Zane Regenerates Health for a short time.",
effect: (rank, level) => `Health Regeneration: up to +${percent(rank, 0.5)}% Max Health / sec\nDuration: 12 seconds`
},
"Déjà Vu": {
ranks: 5,
text: "Whenever Zane kills an enemy with a Critical Hit, there is a chance for 1 ammo to be added to his magazine.",
effect: (rank, level) => `Chance to add ammo: ${percent(rank, 9)}%`
},
},
"2": {
"Colder Shoulder": {
ranks: 0,
text: "Converts Zane's MNTIS Shoulder Cannon damage to Cryo Damage but deals reduced damage. Additionally, Zane gains Increased Cryo Freeze Rate.",
type: SKILLS.AUGMENT_CHEVRON,
effect: (rank, level) => `Cannon Damage: -10%\nFreeze Rate: +20%`
},
"Headman's Hand": {
ranks: 5,
text: "Kill Skill. Zane gains increased Critical Hit Damage. This effect stacks twice.",
effect: (rank, level) => `Critical Hit Damage: +${percent(rank, 4)}%\nDuration: 8 seconds`
},
"Tunnel Vision": {
ranks: 3,
text: "While moving, Zane gains increased Accuracy and Handling. The quicker Zane moves, the greater the bonus.",
effect: (rank, level) => `Accuracy: up to +${percent(rank, 10)}% at default walk speed\nHandling: up to +${percent(rank, 11)}% at default walk speed`
},
"Commitment": {
ranks: 5,
text: "Kill Skill. Zane gains increased Gun Damage and Action Skill Cooldown Rate.",
effect: (rank, level) => `Gun Damage: +${percent(rank, 4)}%\nCooldown Rate: +${percent(rank, 4)}%`
},
},
"3": {
"Wetwork": {
ranks: 0,
text: "Whenever Zane kills an enemy with his Shoulder Cannon, that enemy explodes into an Elemental Puddle.",
effect: (rank, level) => `Explosion Damage: 32 (increases with character level)\nPuddle Damage: 18 per second (increases with character level)`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Fugitive": {
ranks: 1,
text: "Zane can sprint and shoot at the same time.",
effect: (rank, level) => ``
},
"Brain Drain": {
ranks: 0,
text: "Whenever Zane kills an enemy with a Critical Hit from his Shoulder Cannon, two charges are instantly returned.",
effect: (rank, level) => ``,
type: SKILLS.AUGMENT_CHEVRON,
},
},
"4": {
"No Way Out": {
ranks: 0,
text: "Whenever Zane damages an enemy with his Shoulder Cannon, that enemy is pulled to him and takes Increased Damage for a short time. Additionally, Zane's MNTIS Shoulder Cannon cooldown time is increased.",
effect: (rank, level) => `Cooldown: +20%\nDamage Increase: +25%\nDuration: 6 seconds`,
type: SKILLS.AUGMENT_CHEVRON,
},
"Domino Effect": {
ranks: 5,
text: "Whenever Zane scores a Critical Hit, he gains increased Fire Rate and Reload Speed for a short time. If he scores a Critical Hit with his Action Skill, he doubles this effect.",
effect: (rank, level) => `Reload Speed: +${percent(rank, 4)}%\nFire Rate: +${percent(rank, 3)}%\nDuration: 8 seconds`
},
"The Art Of War": {
ranks: 5,
text: "After activating an Action Skill or Action Skill Ability, Zane's next short fired from his weapon deals Increased Damage. This effect stacks.",
effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%\nMax Stacks: 10`
},
},
"5": {
"Sheer Will": {
ranks: 3,
text: "Zane gains increased Action Skill Cooldown Rate. Scoring a Critical Hit increases this effect. This effect stacks.",
effect: (rank, level) => `Cooldown Rate: +${percent(rank, 5)}%\nCooldown Rate: +${percent(rank, 2.5)}% after Critical Hit\nDuration: 8 seconds\nMax Stacks: 15`
},
"Eraser": {
ranks: 3,
text: "Zane's Critical Hits pierce through enemies for all weapons, dealing Increased Damage for every enemy pierced.",
effect: (rank, level) => `Pierced Shot Damage: +${percent(rank, 40)}%`
},
"Proliferation": {
ranks: 0,
text: "Zane's MNTIS Shoulder Cannon gains Additional Charges and deals Increased Damage based on the number of charges remaining.",
effect: (rank, level) => `Additional Charges: +2\nCannon Damage: +20% per charge`,
type: SKILLS.AUGMENT_CHEVRON,
},
},
"6": {
"Our Man Flint": {
ranks: 1,
text: "While aiming down sights, Zane's weapons deal Bonus Damage and automatically apply their Status Effect when he scores a Critical Hit.",
effect: (rank, level) => `Bonus Damage: 25% of damage dealt`
},
}
}
};
export default skills;

View file

@ -1,9 +1,10 @@
/* eslint-disable space-before-function-paren */
import SKILLS from '@constants/skills';
function percent (rank, unit) {
function percent(rank, unit) {
return Math.round(rank * unit * 10) / 10;
}
function flat (rank, level, unit) {
function flat(rank, level, unit) {
return Math.floor(rank * unit);
}
@ -402,7 +403,7 @@ const skills = {
"Ascendant": {
ranks: 1,
text: "All Action Skill Augments gain increased effects.",
effect: (rank, level) => `Soul Sap Life Steal: +20%\nAllure Radius: +100%\nGlamour Duration: +50%\nStillness of Mind: Breaks 0.75 sec after taking dmg\nRevelation Damage: +25%`,
effect: (rank, level) => `Soul Sap Life Steal: +20%\nAllure Radius: +100%\nGlamour Duration: +50%\nRevelation Damage: +25%\nStillness of Mind: Breaks 0.75 sec after taking dmg`,
},
"Stillness of Mind": {
ranks: 0,
@ -455,7 +456,7 @@ const skills = {
"6": {
"Avatar": {
ranks: 1,
text: "Amara's Action Skill can be activated while it's cooling down. This skill may only be used once per completed cooldown. Additionally, increases Amara's Maximum Rush Stacks. Additionally, if Amara's Action Skill kills an enemy, it refunds half of her Rush stacks.",
text: "Amara's Action Skill can be activated while it's cooling down. This skill may only be used once per completed cooldown.\n\nAdditionally, increases Amara's Maximum Rush Stacks.\n\nAdditionally, if Amara's Action Skill kills an enemy, it refunds half of her Rush stacks.",
effect: (rank, level) => `Maximum Rush Stacks: +10`,
},
},
@ -473,7 +474,7 @@ const skills = {
"Anima": {
ranks: 5,
text: "Amara's Status Effects deal increased damage over time and have increased duration. Her Action Skill Status Effect deals further increased damage.",
effect: (rank, level) => `Action Skill Status Effect Damage: +${percent(rank, 8)}%\nOther Status Effect Damage: +${percent(rank, 4)}%\nStatus Effect Duration: +${percent(rank, 20)}%`,
effect: (rank, level) => `Setatus Effect Damage: +${percent(rank, 4)}%\nStatus Effect Duration: +${percent(rank, 20)}%\nAction Skill Status Effect Damage: +${percent(rank, 8)}%`,
},
"Steady Hands": {
ranks: 3,
@ -490,7 +491,7 @@ const skills = {
"Tempest": {
ranks: 5,
text: "Amara deals increased Elemental Damage. Shock Damage is further increased.",
effect: (rank, level) => `Shock Damage: +${percent(rank, 8)}%\nOther Elemental Damage: +${percent(rank, 6)}%`,
effect: (rank, level) => `Other Elemental Damage: +${percent(rank, 6)}%\nShock Damage: +${percent(rank, 4)}%`,
},
"Illuminated Fist": {
ranks: 1,
@ -513,7 +514,7 @@ const skills = {
"The Eternal Fist": {
ranks: 0,
text: "Amara summons a giant fist that bursts from the ground and locks the targeted enemy in place for a few seconds. Whenever the Grasped enemy is killed, a new fist seeks out and Grasps a new target. Some enemies are immune to being Grasped and instantly take damage instead. Element: Shock.",
effect: (rank, level) => `Bonus Targets: Up to +4\nDuration: 7 seconds\nCooldown: 20 seconds\nGrasp Immune Damage: ${flat(rank, level, 28)} (increases with character level)`,
effect: (rank, level) => `Bonus Targets: Up to +4\nnCooldown: 20 seconds\nGrasp Immune Damage: ${flat(rank, level, 28)} (increases with character level)`,
type: SKILLS.AUGMENT_ACTION_SKILL,
},
"Dread": {
@ -532,7 +533,7 @@ const skills = {
"Indiscriminate": {
ranks: 3,
text: "Amara's bullets that damage enemies have a chance to ricochet and deal decreased damage to other nearby enemies. Ricochet Chance and Damage are increased if target is affected by Phasegrasp or Stillness of Mind.",
effect: (rank, level) => `Ricochet Chance: +${percent(rank, 10)}%\nRicochet Damage: 50% of damage dealt\nAction Skill Ricochet Chance: +${percent(rank, 20)}%\nAction Skill Ricochet Damage: 75% of damage dealt`,
effect: (rank, level) => `Ricochet Chance: +${percent(rank, 10)}%\nRicochet Damage: -50%\nAction Skill Ricochet Chance: +${percent(rank, 20)}%\nAction Skill Ricochet Damage: -25%`,
},
"Deep Well": {
ranks: 1,
@ -577,6 +578,123 @@ const skills = {
},
},
},
"Enlightened Force": {
"0": {
"Phaseflare": {
text: "Amara summons an Orb of Elemental Energy that deals constant elemental damage to nearby enemies.\n\nPressing [Melee key] near the Orb causes it to fly towards toward an enemy and damage them. Addiontally, every time Amara uses a melee attack on the Orb, it gains Increased Damage based on the damage she dealt to it.\n\nPressing [Action Skill key] causes the Orb to return to Amara.",
effect: (rank, level) => `Impact Damage: ${flat(rank, level, 27)} (increases with character level)\nArea Damage: ${flat(rank, level, 5)} per second (increases with character level)\nDuration: 30 seconds\nCooldown:48seconds`,
type: SKILLS.ACTION_SKILL,
ranks: 0
}
},
"1": {
"Trust In Yourself": {
ranks: 5,
text: "Whenever an enemy breaks Amara's shield, she gains increased Reload Speed, Charge Speed, and Weapon Swap Speed for a short time. This effect is doubled if Amara's shield is broken by a melee attack.",
effect: (rank, level) => `Reload Speed: ${percent(rank, 4)}%\nCharge Speed: +${percent(rank, 8)}%\nWeapon Swap Speed: +${percent(rank, 16)}\nDuration: 24 seconds`,
},
"No Mistakes In Nature": {
ranks: 5,
text: "Whenever Amara inflicts a Status Effect on an enemy, she gains increased Melee Damage for a short time.",
effect: (rank, level) => `Melee Damage: +${percent(rank, 13)}%\nDuration: 12 seconds`
},
"Heavy Rain": {
ranks: 5,
text: "Amara's weapons gain increased Projectile Speed and Splash Damage.",
effect: (rank, level) => `Projectile Speed: +${percent(rank, 14)}%\nSplash Damage: +${percent(rank, 7)}%`
}
},
"2": {
"Glow Up": {
ranks: 0,
text: "Instead of dealing Splash Damage to enemies, Amara's Orb grants nearby allies Health Regeneration. Amara my also press [Melee key] while near the orb to send it to a downed ally, granting them a Second Wind.",
effect: (rank, level) => `Impact Damage: ${flat(rank, level, 29)}\nHealing: ${flat(rank, level, 6)} health per second\nDuration: 34 seconds\n Cooldown: 28 seconds`,
type: SKILLS.AUGMENT_ACTION_SKILL,
},
"Go With The Flow": {
ranks: 3,
text: "Whenever Amara Freezes an enemy, she gains increased Movement Speed and Weapon Damage for a short time.",
effect: (rank, level) => `Gun Damage: +${percent(rank, 7)}%\nMovement Speed: +${percent(rank, 3)}%\nDuration: 16 seconds`
},
"Unweave The Rainbow": {
ranks: 3,
text: "Amara deals Bonus Damage of her attuned element whenever she deals Melee Damage or Splash Damage to frozen enemies.",
effect: (rank, level) => `Bonus Damage: ${percent(rank, 11)}% of damage dealt`
},
"Ebb And Flow": {
ranks: 3,
text: "Whenever Amara kills an enemy with a melee attack, she gains a portion of the damage dealt back as health.",
effect: (rank, level) => `Life Steal: ${percent(rank, 21)}% of damage dealt`
},
"Cold Hearted": {
ranks: 0,
text: "Converts Amara's Action Skill to Cryo Damage.",
effect: (rank, level) => `Action Skill Element: Cryo.`,
type: SKILLS.AUGMENT_DIAMOND,
},
},
"3": {
"Shooting Star": {
ranks: 0,
text: "Amara summons an Orb of Elemental Energy that deals constant elemental damage to nearby enemies. Pressing [Melee key] near the Orb causes it to fly forwards toward an enemy and damage them which also increases the amount of Overal Damage the Orb deals to enemies. Additionally, the Elemental Orb continually fires Elemental Projectiles at the last enemy Amara damaged. Pressing [Action Skill key] causes the ORb to return to Amara. ",
effect: (rank, level) => `Impact Damage: ${flat(rank, level, 21)}\nArea Damage: ${flat(rank, level, 4)} per second\nDuration: 26 seconds\nCooldown: 44 seconds`,
type: SKILLS.AUGMENT_ACTION_SKILL,
},
"Combo Breaker": {
ranks: 1,
text: "Killing an enemy with Melee Damage has a chance to reset Amara's Action Skill Cooldown.",
effect: (rank, level) => `Reset Chance: ${percent(rank, 20)}%`
},
"Expedite": {
ranks: 0,
text: "Whenever Amara kills an enemy with her Action Skill, she gains increased Action Skill Cooldown Rate until she activates her Action Skill again.",
effect: (rank, level) => `Cooldown Rate: +30% per enemy killed`,
type: SKILLS.AUGMENT_CHEVRON,
},
},
"4": {
"Joyful Freedom": {
ranks: 5,
text: "After activating her Action Skill, Amara gains increased Melee Damage for a short time.",
effect: (rank, level) => `Melee Damage: ${percent(rank, 14)}%\nDuration: 12 seconds`
},
"Burn Both Ends": {
ranks: 5,
text: "After activating her Action Skill, Amara gains Increased Threat for a short time, drawing the attention of all enemies in a huge radius.\n\nWhenever Amara is dealt damage by an enemy, she gains Increased Damage for a short time. This effect stacks.",
effect: (rank, level) => `Damage: +${percent(rank, 1)}%\nMax Stacks: 15\nDuration: 8 seconds`
},
},
"5": {
"Light Fantastic": {
ranks: 0,
text: "Amara summons an Orb of Elemental Energy that deals constant elemental damage to nearby enemies. Whenever Amara damages an enemy, the Elemental Orb automatically travels to that enemy, the Elemental Orb gains Increased Damage. Pressing [Action Skill key] causes the Orb to return to Amara.",
effect: (rank, level) => `Impact Damage: ${flat(rank, level, 18)}\nArea Damage: ${flat(rank, level, 4)} per second\nDuration: 24 seconds\nCooldown: 44 seconds`,
type: SKILLS.AUGMENT_ACTION_SKILL,
},
"Body And Mind": {
ranks: 3,
text: "Kill Skill. Amara's melee attacks deal Bonus Splash Damage for a short time.",
effect: (rank, level) => `Splash Damage: ${flat(rank, level, 4)}\nDuration: 12 seconds`
},
"Free The Soul": {
ranks: 1,
text: "Kill Skill. Whenever Amara kills a frozen enemy, splinters fly out from that enemy and home to nearby enemies, dealing Cryo Damage. This skill has a short cooldown.",
effect: (rank, level) => `Damage: ${flat(rank, level, 35)}\nCooldown: 3 seconds`
},
"Atman": {
ranks: 3,
text: "Amara gains increased Skill Damage.",
effect: (rank, level) => `Skill Damage: +${percent(rank, 9)}%`
},
},
"6": {
"Clear The Mind": {
ranks: 1,
text: "Kill Skill. After killing an enemy, Amara ignores enemie's Elemental Damage Resistance for a short time. This does not affect Elemental Immunity.",
effect: (rank, level) => `Duration: 8 seconds`
},
}
}
};
export default skills;