Merge pull request #16 from jvanalst/master

Siren Update
This commit is contained in:
Joshua Seigler 2019-09-18 09:45:54 -04:00 committed by GitHub
commit f7972e6068
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 290 additions and 136 deletions

279
package-lock.json generated
View file

@ -87,17 +87,102 @@
} }
}, },
"@babel/helper-create-class-features-plugin": { "@babel/helper-create-class-features-plugin": {
"version": "7.4.4", "version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz",
"integrity": "sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==", "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-function-name": "^7.1.0", "@babel/helper-function-name": "^7.1.0",
"@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-member-expression-to-functions": "^7.5.5",
"@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0",
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
"@babel/helper-replace-supers": "^7.4.4", "@babel/helper-replace-supers": "^7.5.5",
"@babel/helper-split-export-declaration": "^7.4.4" "@babel/helper-split-export-declaration": "^7.4.4"
},
"dependencies": {
"@babel/code-frame": {
"version": "7.5.5",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
"integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
"dev": true,
"requires": {
"@babel/highlight": "^7.0.0"
}
},
"@babel/generator": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz",
"integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==",
"dev": true,
"requires": {
"@babel/types": "^7.6.0",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
"source-map": "^0.5.0",
"trim-right": "^1.0.1"
}
},
"@babel/helper-member-expression-to-functions": {
"version": "7.5.5",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
"integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
"dev": true,
"requires": {
"@babel/types": "^7.5.5"
}
},
"@babel/helper-replace-supers": {
"version": "7.5.5",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
"integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
"dev": true,
"requires": {
"@babel/helper-member-expression-to-functions": "^7.5.5",
"@babel/helper-optimise-call-expression": "^7.0.0",
"@babel/traverse": "^7.5.5",
"@babel/types": "^7.5.5"
}
},
"@babel/parser": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
"integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==",
"dev": true
},
"@babel/traverse": {
"version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz",
"integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.5.5",
"@babel/generator": "^7.6.0",
"@babel/helper-function-name": "^7.1.0",
"@babel/helper-split-export-declaration": "^7.4.4",
"@babel/parser": "^7.6.0",
"@babel/types": "^7.6.0",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.13"
}
},
"@babel/types": {
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
"integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
"dev": true,
"requires": {
"esutils": "^2.0.2",
"lodash": "^4.17.13",
"to-fast-properties": "^2.0.0"
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
}
} }
}, },
"@babel/helper-define-map": { "@babel/helper-define-map": {
@ -302,22 +387,22 @@
} }
}, },
"@babel/plugin-proposal-class-properties": { "@babel/plugin-proposal-class-properties": {
"version": "7.4.4", "version": "7.5.5",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz",
"integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-create-class-features-plugin": "^7.4.4", "@babel/helper-create-class-features-plugin": "^7.5.5",
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
} }
}, },
"@babel/plugin-proposal-decorators": { "@babel/plugin-proposal-decorators": {
"version": "7.4.4", "version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz",
"integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", "integrity": "sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-create-class-features-plugin": "^7.4.4", "@babel/helper-create-class-features-plugin": "^7.6.0",
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-syntax-decorators": "^7.2.0" "@babel/plugin-syntax-decorators": "^7.2.0"
} }
@ -656,9 +741,9 @@
} }
}, },
"@babel/plugin-transform-react-constant-elements": { "@babel/plugin-transform-react-constant-elements": {
"version": "7.2.0", "version": "7.6.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.0.tgz",
"integrity": "sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ==", "integrity": "sha512-np/nPuII8DHOZWB3u8u+NSeKlEz0eBrOlnVksIQog4C9NGVzXO+NLxMcXn4Eu4GMFzOw2W6Tyo6L3+Wv8z9Y5w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-annotate-as-pure": "^7.0.0",
@ -1366,6 +1451,11 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true "dev": true
}, },
"asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
},
"asn1.js": { "asn1.js": {
"version": "4.10.1", "version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
@ -2599,6 +2689,16 @@
"sha.js": "^2.4.8" "sha.js": "^2.4.8"
} }
}, },
"create-react-class": {
"version": "15.6.3",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
"integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
"requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
},
"cross-spawn": { "cross-spawn": {
"version": "6.0.5", "version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@ -3239,6 +3339,14 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true "dev": true
}, },
"encoding": {
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
"requires": {
"iconv-lite": "~0.4.13"
}
},
"end-of-stream": { "end-of-stream": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@ -3946,10 +4054,13 @@
} }
}, },
"eslint-utils": { "eslint-utils": {
"version": "1.3.1", "version": "1.4.2",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
"integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
"dev": true "dev": true,
"requires": {
"eslint-visitor-keys": "^1.0.0"
}
}, },
"eslint-visitor-keys": { "eslint-visitor-keys": {
"version": "1.0.0", "version": "1.0.0",
@ -4302,6 +4413,27 @@
"websocket-driver": ">=0.5.1" "websocket-driver": ">=0.5.1"
} }
}, },
"fbjs": {
"version": "0.8.17",
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
"integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
"requires": {
"core-js": "^1.0.0",
"isomorphic-fetch": "^2.1.1",
"loose-envify": "^1.0.0",
"object-assign": "^4.1.0",
"promise": "^7.1.1",
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.18"
},
"dependencies": {
"core-js": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
}
}
},
"figgy-pudding": { "figgy-pudding": {
"version": "3.5.1", "version": "3.5.1",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@ -5595,7 +5727,6 @@
"version": "0.4.23", "version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"dev": true,
"requires": { "requires": {
"safer-buffer": ">= 2.1.2 < 3" "safer-buffer": ">= 2.1.2 < 3"
} }
@ -6040,8 +6171,7 @@
"is-stream": { "is-stream": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
"dev": true
}, },
"is-svg": { "is-svg": {
"version": "3.0.0", "version": "3.0.0",
@ -6091,6 +6221,15 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true "dev": true
}, },
"isomorphic-fetch": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
"requires": {
"node-fetch": "^1.0.1",
"whatwg-fetch": ">=0.10.0"
}
},
"js-levenshtein": { "js-levenshtein": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
@ -6306,9 +6445,9 @@
} }
}, },
"lodash": { "lodash": {
"version": "4.17.11", "version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true "dev": true
}, },
"lodash.memoize": { "lodash.memoize": {
@ -6604,9 +6743,9 @@
} }
}, },
"mixin-deep": { "mixin-deep": {
"version": "1.3.1", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
"dev": true, "dev": true,
"requires": { "requires": {
"for-in": "^1.0.2", "for-in": "^1.0.2",
@ -6747,6 +6886,15 @@
"lower-case": "^1.1.1" "lower-case": "^1.1.1"
} }
}, },
"node-fetch": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
"requires": {
"encoding": "^0.1.11",
"is-stream": "^1.0.1"
}
},
"node-forge": { "node-forge": {
"version": "0.7.5", "version": "0.7.5",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
@ -8051,6 +8199,14 @@
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true "dev": true
}, },
"promise": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
"requires": {
"asap": "~2.0.3"
}
},
"promise-inflight": { "promise-inflight": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
@ -8225,6 +8381,18 @@
"integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
"dev": true "dev": true
}, },
"react": {
"version": "15.6.2",
"resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz",
"integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=",
"requires": {
"create-react-class": "^15.6.0",
"fbjs": "^0.8.9",
"loose-envify": "^1.1.0",
"object-assign": "^4.1.0",
"prop-types": "^15.5.10"
}
},
"react-css-variables": { "react-css-variables": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/react-css-variables/-/react-css-variables-2.0.1.tgz", "resolved": "https://registry.npmjs.org/react-css-variables/-/react-css-variables-2.0.1.tgz",
@ -8687,8 +8855,7 @@
"safer-buffer": { "safer-buffer": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
"dev": true
}, },
"sax": { "sax": {
"version": "1.2.4", "version": "1.2.4",
@ -8829,9 +8996,9 @@
"dev": true "dev": true
}, },
"set-value": { "set-value": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
"dev": true, "dev": true,
"requires": { "requires": {
"extend-shallow": "^2.0.1", "extend-shallow": "^2.0.1",
@ -8854,8 +9021,7 @@
"setimmediate": { "setimmediate": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
"dev": true
}, },
"setprototypeof": { "setprototypeof": {
"version": "1.1.0", "version": "1.1.0",
@ -9851,6 +10017,11 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true "dev": true
}, },
"ua-parser-js": {
"version": "0.7.20",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
"integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw=="
},
"uglify-js": { "uglify-js": {
"version": "3.4.10", "version": "3.4.10",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
@ -9910,38 +10081,15 @@
"dev": true "dev": true
}, },
"union-value": { "union-value": {
"version": "1.0.0", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true, "dev": true,
"requires": { "requires": {
"arr-union": "^3.1.0", "arr-union": "^3.1.0",
"get-value": "^2.0.6", "get-value": "^2.0.6",
"is-extendable": "^0.1.1", "is-extendable": "^0.1.1",
"set-value": "^0.4.3" "set-value": "^2.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"set-value": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.1",
"to-object-path": "^0.3.0"
}
}
} }
}, },
"uniq": { "uniq": {
@ -10373,6 +10521,11 @@
"integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
"dev": true "dev": true
}, },
"whatwg-fetch": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
"integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
},
"which": { "which": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",

View file

@ -12,6 +12,7 @@
"preact": "^8.4.2", "preact": "^8.4.2",
"preact-compat": "^3.18.5", "preact-compat": "^3.18.5",
"preact-router": "^2.6.1", "preact-router": "^2.6.1",
"react": "^15.6.2",
"react-css-variables": "^2.0.1", "react-css-variables": "^2.0.1",
"sirv-cli": "^0.2.0" "sirv-cli": "^0.2.0"
}, },

View file

@ -13,47 +13,47 @@ const skills = {
"0": { "0": {
"Phaseslam": { "Phaseslam": {
text: "Amara leaps into the air and Slams the ground, dealing damage to all nearby enemies and knocking them up.", text: "Amara leaps into the air and Slams the ground, dealing damage to all nearby enemies and knocking them up.",
effect: (rank, level) => `Damage ${flat(rank, level, 141)}, Cooldown: 26 Seconds`, effect: (rank, level) => `Damage ${flat(rank, level, 98)}, Cooldown: 35 Seconds`,
type: SKILLS.ACTION_SKILL, type: SKILLS.ACTION_SKILL,
ranks: 0, ranks: 0,
}, },
}, },
"1": { "1": {
"One With Nature": { "Root to Rise": {
ranks: 5, ranks: 5,
text: "Gain Max Health and Elemental Damage Resistance to your Action Skill Element.", text: "Amara gains inceased Max Health.",
effect: (rank, level) => `Max Health +${percent(rank, 5)}%, Elemental Damage Reduction +${percent(rank, 12)}%`, effect: (rank, level) => `Max Health +${percent(rank, 8)}%`,
}, },
"Personal Space": { "Personal Space": {
ranks: 3, ranks: 3,
text: "Shots deal Bonus Damage based on distance to target - dealing more damage when close.", text: "Amara's weapon shots deal Bonus Damage based on the distance to her target. The closer the target the greater the bonus.",
effect: (rank, level) => `Up to ${percent(rank, 11)}% bonus damage`, effect: (rank, level) => `Bonus Damage: Up to ${percent(rank, 12)}% of damage dealt`,
}, },
"Clarity": { "Clarity": {
ranks: 5, ranks: 5,
text: "Constantly regenerate health, increasing regeneration the lower your health is. Bonus is doubled after using an Action Skill.", text: "Amara constantly regenerates health. The lower her health the more powerful the regeneration. After using an Action Skill, this bonus is doubled for a few seconds.",
effect: (rank, level) => `Health Regen up to +${percent(rank, 1)}% per second, Duration: 5 seconds`, effect: (rank, level) => `Health Regeneration: up to +${percent(rank, 1)}% missing Health / sec, Duration: 5 seconds`,
}, },
}, },
"2": { "2": {
"Arms Deal": { "Arms Deal": {
ranks: 5, ranks: 5,
text: "Deal increased Splash Damage, and take Reduced Splash Damage.", text: "Amara deals increased Splash Damage, and takes reduced Splash Damage.",
effect: (rank, level) => `Splash Damage +${percent(rank, 3)}%, Splash Damage Reduction +${percent(rank, 3)}%`, effect: (rank, level) => `Splash Damage: +${percent(rank, 4)}%, Splash Damage Reduction +${percent(rank, 12)}%`,
}, },
"Root to Rise": { "Samsara": {
ranks: 5, ranks: 3,
text: "Gain increased Max Health", text: "Whenever Amara deals damage to an enemy with her Action Skill, she adds a stack of Samsara. For every stack of Samsara, Amara gains increased Gun Damage and Health Regeneration for a few seconds. Stacks decay after a few seconds.",
effect: (rank, level) => `Max Health +${percent(rank, 5)}%`, effect: (rank, level) => `Gun Damage: +${percent(rank, 1.7)}%, Health Regeneration: +${percent(rank, 1.7)}%, Max Samara Stacks: 5, Duration: 20 seconds`,
}, },
"Helping Hand(s)": { "Helping Hand(s)": {
ranks: 5, ranks: 5,
text: "After using Action Skill, Amara's arms remain active and grant Damage Reduction.", text: "For a few seconds after using her Action Skill, Amara's arms remain active and grant her Damage Reduction.",
effect: (rank, level) => `Damage Reduction +${percent(rank, 4)}%, Duration 8 sec`, effect: (rank, level) => `Damage Reduction: +${percent(rank, 12)}%, Duration: 15 seconds`,
}, },
"Blight Tiger": { "Blight Tiger": {
ranks: 0, ranks: 0,
text: "Converts Amara's Action Skill to Corrosive Damage. This does not take effect until after Amara uses her Action Skill.", text: "Converts Amara's Action Skill to Corrosive Damage.",
effect: (rank, level) => ``, effect: (rank, level) => ``,
type: SKILLS.AUGMENT_DIAMOND, type: SKILLS.AUGMENT_DIAMOND,
}, },
@ -61,24 +61,24 @@ const skills = {
"3": { "3": {
"Fracture": { "Fracture": {
ranks: 0, ranks: 0,
text: "Amara summons a Handful of Fists that erupt from the ground, dealing damage in front of Amara.", text: "Amara summons a line of fists that erupt from the ground, dealing damage to enemies in front of Amara.",
effect: (rank, level) => `Damage ${flat(rank, level, 124)}, Cooldown 26 sec`, effect: (rank, level) => `Damage ${flat(rank, level, 88)}, Cooldown 28 sec`,
type: SKILLS.AUGMENT_ACTION_SKILL, type: SKILLS.AUGMENT_ACTION_SKILL,
}, },
"Mindfulness": { "Mindfulness": {
ranks: 3, ranks: 3,
text: "When taking damage, gain a Stack of Mindfulness. For every Stack, gain improved Shield Regeneration Delay and Movement Speed. Stacks decay quickly.", text: "Whenenever Amara takes damage, she gains a stack of Mindfulness. For every stack of Mindfulness, Amara gains improved Shield Regeneration Dely and Movement Speed. Stacks decay after a few seconds.",
effect: (rank, level) => `Movement Speed +${percent(rank, 1.4)}%, Shield Regeneration Delay -${percent(rank, 2.5)}%, 25 Max Mindfulness Stacks, Duration 5 sec`, effect: (rank, level) => `Shield Regeneration Delay: -${percent(rank, 9)}%, Movement Speed: +${percent(rank, 1.4)}%, Max Mindfulness Stacks: 25, Duration 5 seconds`,
}, },
"Find Your Center": { "Find Your Center": {
ranks: 1, ranks: 1,
text: "Gain increased Melee Damage. After using Action Skill, gain increased Melee Range.", text: "Amara gains increased Melee Damage. Additionally, for a few seconds after using her Action Skill, Amara gains increased Melee Range.",
effect: (rank, level) => `Melee Damage +22%, Melee Range +50%, Duration 8 sec`, effect: (rank, level) => `Melee Damage: +100%, Duration: 20 seconds, Melee Range: +75%`,
}, },
"Vigor": { "Vigor": {
ranks: 3, ranks: 3,
text: "Killing an enemy with an Action Skill grants all allies increased Movement Speed, and can be stacked.", text: "Kill Skill. Killing an enemy with Amara's Action Skill grants all allies increased Movement Speed for a few seconds.",
effect: (rank, level) => `Team Movement Speed +${percent(rank, 2)}%, Duration 8 sec`, effect: (rank, level) => `Team Movement Speed: +${percent(rank, 3.3)}%, Duration: 8 sec`,
}, },
"Revelation": { "Revelation": {
ranks: 0, ranks: 0,
@ -91,51 +91,51 @@ const skills = {
"Downfall": { "Downfall": {
ranks: 0, ranks: 0,
text: "Amara leaps into the air and shoots an Elemental Beam below her, followed by a Slam.", text: "Amara leaps into the air and shoots an Elemental Beam below her, followed by a Slam.",
effect: (rank, level) => `Damage ${flat(rank, level, 141)}, Beam Damage ${flat(rank, level, 21)} per sec, Cooldown 36 sec`, effect: (rank, level) => `Cooldown: 47 seconds, Damage ${flat(rank, level, 95)}, Beam Damage ${flat(rank, level, 14)} / second`,
type: SKILLS.AUGMENT_ACTION_SKILL, type: SKILLS.AUGMENT_ACTION_SKILL,
}, },
"Samsara": { "One With Nature": {
ranks: 3, ranks: 5,
text: "When dealing damage to an enemy with Action Skills, adds a Stack of Samsara. Every stack gains increased Gun Damage and Health Regeneration. Stacks decay quickly.", text: "Amara gains increased Max Health and Elemental Damage Resistance to her Action Skill Element.",
effect: (rank, level) => `Gun Damage +${percent(rank, 2)}% per enemy, Health Regen +${percent(rank, 1)}% of Max Health per stack, 25 Max Samsara Stacks, Duration 8 sec`, effect: (rank, level) => `Max Health: +${percent(rank, 5)}%, Elemental Damage Reduction: +${percent(rank, 12)}%`,
}, },
}, },
"5": { "5": {
"Do Unto Others": { "Do Unto Others": {
ranks: 1, ranks: 1,
text: "Upon taking damage, automatically throw an Energy Orb back at enemy, dealing Action Skill Elemental Damage.", text: "Whenever an emey damages Amara, she automatically throws an energy orb back at them, dealing Action Skill Elemental Damage. This skill has a short cooldown.",
effect: (rank, level) => `Projectile Damage ${flat(rank, level, 17)}, Cooldown 8 sec`, effect: (rank, level) => `Cooldown: 8 seconds`,
}, },
"Jab Cross": { "Jab Cross": {
ranks: 5, ranks: 5,
text: "When dealing melee damage to an enemy, gain increased Action Skill Damage and increased Weapon Damage.", text: "Whenever Amara deals melee damage to an enemy, she gains increased Action Skill Damage and increased Gun Damage for a few seconds.",
effect: (rank, level) => `Weapon Damage +${percent(rank, 10)}%, Action Skill Damage +${percent(rank, 11)}%, Duration 20 sec`, effect: (rank, level) => `Gun Damage: +${percent(rank, 3)}%, Action Skill Damage: +${percent(rank, 15)}%, Duration: 10 seconds`,
}, },
"Guardian Angel": { "Guardian Angel": {
ranks: 1, ranks: 1,
text: "Upon entering Fight For Your Life, gain immediate Second Wind that restores health, and creates an Action Skill Elemental Nova that knocks back enemies.", text: "When Amara enters Fight For Your Life, she immediately gains a Second Wind, restores her health, and creates an Action Skill Elemental Nova that may knock back nearby enemies. This skill has a long cooldown.",
effect: (rank, level) => `Max Health Restored 100% of Max Health, Cooldown 60 sec`, effect: (rank, level) => `Max Health Restored: 100% of Max Health, Cooldown: 120 sec`,
}, },
"Glamour": { "Glamour": {
ranks: 0, ranks: 0,
text: "Enemies damaged by Amara's Action Skill become confused and attack their allies, but Action Skill Cooldown is increased. If enemies are target of Phasegrasp, nearby enemies become confused.", text: "Enemies damaged by Amara's Action Skill become confused and temporarily attack their allies. However, Action Skill Cooldown is increased. If Amara targets an enemy with Phasegrasp, enemies near the Grasped target are confused as well.",
effect: (rank, level) => `Damage -60%, Confuse Duration 6 sec, Cooldown +20%`, effect: (rank, level) => `Confuse Duration: 8 seconds, Cooldown: +20%, Damage: -30%`,
type: SKILLS.AUGMENT_CHEVRON, type: SKILLS.AUGMENT_CHEVRON,
}, },
}, },
"6": { "6": {
"Blitz": { "Blitz": {
ranks: 1, ranks: 1,
text: "Press in on Right Stick for Melee Override, dashing a short distance forward to perform a special melee strike dealing Elemental Melee Damage. Cooldown instantly resets if enemy is killed by Blitz.", text: "Melee Override. Press V while aiming at an enemy to make Amara dash a short distance forward and perform a special melee strike, dealing Elemental Melee Damage. If a Blitz melee attack kills an enemy, Blitz's cooldown is immediately reset.",
effect: (rank, level) => `Cooldown 10 sec`, effect: (rank, level) => `Cooldown: 8 seconds, Melee Damage: +100%`,
}, },
}, },
}, },
"Mystical Assault": { "Mystical Assault": {
"0": { "0": {
"Phasecast": { "Phasecast": {
text: "Phasecast - Amara sends forward an Astral Projection of herself, dealing damage to everything in its path.", text: "Amara sends forward an Astral Projection of herself, dealing damage to everything in its path.",
effect: (rank, level) => `Damage ${flat(rank, level, 133)}, Cooldown: 22 Seconds`, effect: (rank, level) => `Damage ${flat(rank, level, 92)}, Cooldown: 28 Seconds`,
type: SKILLS.ACTION_SKILL, type: SKILLS.ACTION_SKILL,
ranks: 0, ranks: 0,
}, },
@ -143,40 +143,40 @@ const skills = {
"1": { "1": {
"Do Harm": { "Do Harm": {
ranks: 5, ranks: 5,
text: "Grants Rush stacks after killing an enemy, which are consumed when using an Action Skill. Action Skill Damage is increased per stack of Rush consumed.", text: "Killing an enemy grants Amara a stack of Rush. Activating her Action Skill consumes all Rush stacks. For every stack of Rush consumed, Amara's Action Skill Damage is temporarily increased.",
effect: (rank, level) => `Action Skill Damage +${percent(rank, 0.6)}% per stack, 10 Max Rush Stacks, Duration 20 sec`, effect: (rank, level) => ` Action Skill Damage: +${percent(rank, 0.9)}% per stack consumed, Duration 20 seconds`,
}, },
"Fast Hands": { "Fast Hand(s)": {
ranks: 3, ranks: 3,
text: "Reload Speed, Weapon Swap Speed, and Mode Switch Speed are improved.", text: "Amara's Reload Speed, Weapon Swap Speed, and Mode Switch Speed are improved.",
effect: (rank, level) => `Reload Speed +${percent(rank, 4)}%, Weapon Swap Speed +${percent(rank, 22)}%, Mode Switch Speed +${percent(rank, 21)}%`, effect: (rank, level) => `Reload Speed: +${percent(rank, 7)}%, Weapon Swap Speed: +${percent(rank, 16)}%, Mode Switch Speed: +${percent(rank, 16)}%`,
}, },
"Violent Tapestry": { "Violent Tapestry": {
ranks: 5, ranks: 5,
text: "Applying Elemental Effects grant Rush Stacks. For every stack of Rush consumed from an Action Skill, Elemental Effect Chance is increased.", text: "Applying a Status Effect grants Amara a stack of Rush. For every stack of Rush consumed, Amara's Status Effect Chance is temporarily increased.",
effect: (rank, level) => `Effect Chance +${percent(rank, 0.6)}%, 10 Max Rush Stacks, Duration 20 sec`, effect: (rank, level) => `Max Rush Stacks: 10, Effect Chance: +${percent(rank, 0.6)}%, Duration: 20 sec`,
}, },
}, },
"2": { "2": {
"Alacrity": { "Alacrity": {
ranks: 5, ranks: 5,
text: "Gain increased Reload Speed for every stack of Rush. For every stack of Rush consumed from an Action Skill, this bonus is increased.", text: "Amara gains increased Reload Speed for every stack of Rush. After consuming Rush stacks, this bonus is increased for a few seconds.",
effect: (rank, level) => `Reload Speed +${percent(rank, 0.4)}% per stack (+${percent(rank, 0.6)}% after action skill), Duration 8 sec`, effect: (rank, level) => `Reload Speed: +${percent(rank, 0.4)}% per stack, Reload Speed: (+${percent(rank, 0.6)}% after action skill use, Duration: 8 sec`,
}, },
"Transcend": { "Transcend": {
ranks: 3, ranks: 3,
text: "Gain increased Accuracy and Critical Hit Bonus after activating an Action Skill.", text: "Amara gains increased Accuracy and Critical Hit Damage for a few seconds after activating her Action Skill.",
effect: (rank, level) => `Accuracy +${percent(rank, 11)}%, Critical Hit Bonus +${percent(rank, 9)}%, Duration 8 sec`, effect: (rank, level) => `Accuracy: +${percent(rank, 17)}%, Critical Hit Damage: +${percent(rank, 9)}%, Duration: 12 sec`,
}, },
"Restless": { "Restless": {
ranks: 5, ranks: 5,
text: "Gain increased Action Skill Cooldown Rate.", text: "Amara gains increased Action Skill Cooldown Rate.",
effect: (rank, level) => `Cooldown Rate +${percent(rank, 4)}%`, effect: (rank, level) => `Cooldown Rate: +${percent(rank, 5)}%`,
}, },
"Soul Sap": { "Soul Sap": {
ranks: 0, ranks: 0,
text: "A portion of all damage dealt by Action Skills is returned to her or nearby allies as Health.", text: "A portion of all damage dealt by Amara's Action Skill is returned to her or a nearby ally as health.",
effect: (rank, level) => `Life Steal +30% of Skill damage dealt`, effect: (rank, level) => `Life Steal: 30% of Skill damage dealt`,
type: SKILLS.AUGMENT_CHEVRON, type: SKILLS.AUGMENT_CHEVRON,
}, },
}, },
@ -202,49 +202,49 @@ const skills = {
"4": { "4": {
"Deliverance": { "Deliverance": {
ranks: 0, ranks: 0,
text: "Amara sends forward an Astral Projection of herself that deals damage to everything in its path. Upon hitting enemies, it releases homing Elemental Projectiles that trigger Action Skill Elemental Effect on enemies.", text: "Amara sends forward an Astral Projection of herself, dealing damage to everything in its path. Whenever Amara's Astral Projection damages an enemy or object, it releases homing Elemental Projectiles that trigger her Action Skill Elemental Effect on enemies.",
effect: (rank, level) => `Damage ${flat(rank, level, 124)}, Elemental Projectiles 3 per enemy hit, Cooldown 24 sec`, effect: (rank, level) => `Cooldown: 28 seconds, Damage: ${flat(rank, level, 86)}, Elemental Projectiles: 3 per enemy hit`,
type: SKILLS.AUGMENT_ACTION_SKILL, type: SKILLS.AUGMENT_ACTION_SKILL,
}, },
"From Rest": { "From Rest": {
ranks: 3, ranks: 3,
text: "Gain improved Fire Rate and Charge Time.", text: "Amara gains improved Fire Rate and Charge Time.",
effect: (rank, level) => `Fire Rate +${percent(rank, 4)}%, Charge Time +${percent(rank, 26)}%`, effect: (rank, level) => `Fire Rate: +${percent(rank, 4)}%, Charge Time: +${percent(rank, 21)}%`,
}, },
"Laid Bare": { "Laid Bare": {
ranks: 3, ranks: 3,
text: "Enemies take increased damage from all sources after being damaged by your Action Skill.", text: "Enemies take increased damage from all sources for a few seconds after being damaged by Amara's Action Skill.",
effect: (rank, level) => `Damage increase +${percent(rank, 5)}%, Duration 8 sec`, effect: (rank, level) => `Damage Increase: +${percent(rank, 8.3)}%, Duration: 8 sec`,
}, },
"Wrath": { "Wrath": {
ranks: 3, ranks: 3,
text: "Gain increased Gun Damage. Effect is increased after activating Action Skill", text: "Amara gains increased Gun Damage. This effect is increased after she activates her action skill for a few seconds.",
effect: (rank, level) => `Gun Damage +${percent(rank, 3)}% (+${percent(rank, 5)}% after Action Skill Use), Duration 8 sec`, effect: (rank, level) => `Gun Damage: +${percent(rank, 6.7)}%, Gun Damage: +${percent(rank, 67)}% after action skill use, Duration: 8 seconds`,
}, },
}, },
"5": { "5": {
"Remnant": { "Remnant": {
ranks: 3, ranks: 3,
text: "Creates a Homing Projectile after killing an enemy with a Gun or Action Skill, and deals Action Skill Elemental Damage plus Overkill Damage.", text: "When Amara kills an enemy with a Gun or Action Skill, she creates a homing projectile that seeks out a new enemy dealing her Action Skill Elemental Damage. Any Overkill Damage is added to the projectile's damage.",
effect: (rank, level) => `Remnant Damage ${flat(rank, level, 33)}`, effect: (rank, level) => `Remnant Damage ${flat(rank, level, 9)}`,
}, },
"Awakening": { "Awakening": {
ranks: 3, ranks: 3,
text: "Rush stacks gain increased effectiveness.", text: "Amara's Rush stacks gain increased effectiveness.",
effect: (rank, level) => `Rush Stack Effectiveness +${percent(rank, 10)}%`, effect: (rank, level) => `Rush Stack Effectiveness: +${percent(rank, 10)}%`,
}, },
"Tandava": { "Tandava": {
ranks: 0, ranks: 0,
text: "Amara sends forward an Astral Projection of herself that explodes when it hits a target, damaging all nearby enemies.", text: "Amara sends forward an Astral Projection of herself. When it hits a target, it explodes, damaging all nearby enemies.",
effect: (rank, level) => `Damage: ${flat(rank, level, 166)}, Cooldown 28 sec`, effect: (rank, level) => `Damage: ${flat(rank, level, 91)}, Cooldown: 35 sec`,
type: SKILLS.AUGMENT_ACTION_SKILL, type: SKILLS.AUGMENT_ACTION_SKILL,
}, },
}, },
"6": { "6": {
"Avatar": { "Avatar": {
ranks: 1, ranks: 1,
text: "Action Skills can be activated while cooling down. Can only be used once per completed cooldown. Increases Max 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. Additionally, if Amara's Action Skill kills an enemy, it refunds half of her Rush stacks.",
effect: (rank, level) => `Bonus Rush Stacks +10`, effect: (rank, level) => `Bonus Rush Stacks: +10`,
}, },
}, },
}, },