Skip to content

Commit 7495e93

Browse files
authored
Merge pull request #205 from Trufflegator/master
Add basic Zero counters
2 parents ac8f60c + 272e953 commit 7495e93

26 files changed

+1082
-233
lines changed

package-lock.json

+973-229
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"gulp-run": "^1.7.1",
3737
"gulp-sass": "^4.0.2",
3838
"gulp-svg2png": "^2.0.2",
39-
"r6operators": "^1.1.3",
39+
"r6operators": "^1.7.0",
4040
"sass": "^1.50.1"
4141
},
4242
"devDependencies": {
@@ -73,7 +73,7 @@
7373
"gulp-util": "^3.0.7",
7474
"hoek": ">=4.2.1",
7575
"http-server": "^0.12.3",
76-
"jshint": "^2.9.3",
76+
"jshint": "^2.13.4",
7777
"karma": "^3.1.4",
7878
"karma-bamboo-reporter": "^0.1.2",
7979
"karma-browserify": "^5.0.5",

src/main/create-operator-json/core/operatorIdEnum.js

+5
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,9 @@ export default {
6262
iana: 55,
6363
ace: 56,
6464
melusi: 57,
65+
zero: 58,
66+
aruni: 59,
67+
flores: 60,
68+
thunderbird: 61,
69+
osa: 62,
6570
};

src/main/create-operator-json/core/operatorList.js

+10
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import ace from '../operators/ace';
77
import alibi from '../operators/alibi';
88
import amaru from '../operators/amaru';
9+
import aruni from '../operators/aruni';
910
import ash from '../operators/ash';
1011
import bandit from '../operators/bandit';
1112
import blackbeard from '../operators/blackbeard';
@@ -20,6 +21,7 @@ import dokkaebi from '../operators/dokkaebi';
2021
import echo from '../operators/echo';
2122
import ela from '../operators/ela';
2223
import finka from '../operators/finka';
24+
import flores from '../operators/flores'
2325
import frost from '../operators/frost';
2426
import fuze from '../operators/fuze';
2527
import glaz from '../operators/glaz';
@@ -45,6 +47,7 @@ import mute from '../operators/mute';
4547
import nokk from '../operators/nokk';
4648
import nomad from '../operators/nomad';
4749
import oryx from '../operators/oryx';
50+
import osa from '../operators/osa';
4851
import pulse from '../operators/pulse';
4952
import recruit from '../operators/recruit';
5053
import rook from '../operators/rook';
@@ -53,18 +56,21 @@ import smoke from '../operators/smoke';
5356
import tachanka from '../operators/tachanka';
5457
import thatcher from '../operators/thatcher';
5558
import thermite from '../operators/thermite';
59+
import thunderbird from '../operators/thunderbird';
5660
import twitch from '../operators/twitch';
5761
import valkyrie from '../operators/valkyrie';
5862
import vigil from '../operators/vigil';
5963
import wamai from '../operators/wamai';
6064
import warden from '../operators/warden';
6165
import ying from '../operators/ying';
66+
import zero from '../operators/zero';
6267
import zofia from '../operators/zofia';
6368

6469
export default {
6570
ace,
6671
alibi,
6772
amaru,
73+
aruni,
6874
ash,
6975
bandit,
7076
blackbeard,
@@ -79,6 +85,7 @@ export default {
7985
ela,
8086
echo,
8187
finka,
88+
flores,
8289
frost,
8390
fuze,
8491
glaz,
@@ -103,6 +110,7 @@ export default {
103110
mute,
104111
nokk,
105112
oryx,
113+
osa,
106114
nomad,
107115
pulse,
108116
recruit,
@@ -112,11 +120,13 @@ export default {
112120
tachanka,
113121
thatcher,
114122
thermite,
123+
thunderbird,
115124
twitch,
116125
valkyrie,
117126
vigil,
118127
wamai,
119128
warden,
120129
ying,
130+
zero,
121131
zofia
122132
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
import counterType from '../core/counterTypeEnums';
4+
import operatorId from '../core/operatorIdEnum';
5+
import Operator from '../core/operatorFactory';
6+
import r6operators from "r6operators";
7+
8+
let aruni = new Operator(r6operators.aruni, operatorId.aruni, "Operation Neon Dawn");
9+
10+
export default aruni

src/main/create-operator-json/operators/ash.js

+2
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ ash.addCounterNode(operatorId.castle, counterType.hard, "Ash's Breaching rounds
1111
ash.addCounterNode(operatorId.tachanka, counterType.soft, "Ash's Breaching Rounds can be used to destroy a deployable shield protecting Tachanka's Mounted LMG.");
1212
ash.addCounterNode(operatorId.maestro, counterType.hard, "Ash's Breaching Rounds can destroy Maestro's Evil Eye cameras while they are closed.");
1313
ash.addCounterNode(operatorId.melusi, counterType.hard, "Ash's Breaching rounds can destroy Melusi's Banshee.");
14+
ash.addCounterNode(operatorId.aruni, counterType.soft, "Ash's Breaching rounds can temporarily disable Aruni's Surya laser gates.")
15+
ash.addCounterNode(operatorId.thunderbird, counterType.hard, "Ash's Breaching rounds can destroy Thunderbird's Kona Station.")
1416

1517
export default ash

src/main/create-operator-json/operators/bandit.js

+1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@ bandit.addCounterNode(operatorId.ace, counterType.hard, "Bandit's Shock Wire can
1212
bandit.addCounterNode(operatorId.twitch, counterType.soft, "Bandit's Shock Wire can be used to electrify barbed wire which can kill a Twitch Drone that enters the wire. However, Shock Wire is still easily shot by a Twitch Drone.");
1313
bandit.addCounterNode(operatorId.dokkaebi, counterType.minor, "If a defender's phone is dropped into barbed wire electrified by Bandit's Shock Wire, it is destroyed.");
1414
bandit.addCounterNode(operatorId.iana, counterType.hard, "Bandit's Shock Wire can destroy Iana's Hologram.");
15+
bandit.addCounterNode(operatorId.zero, counterType.hard, "Bandit's Shock Wire can destroy Zero's cameras.");
1516

1617
export default bandit

src/main/create-operator-json/operators/castle.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ import r6operators from "r6operators";
88
let castle = new Operator(r6operators.castle, operatorId.castle, "N/A");
99

1010
castle.addCounterNode(operatorId.amaru, counterType.hard, "Castle's Armor Panels prevent Amaru's Garra Hook from targeting windows.");
11+
castle.addCounterNode(operatorId.osa, counterType.minor, "Castle's Armor Panels prevent Osa's Talon Shields from being deployed on doorways and windows.");
1112

1213
export default castle
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'use strict';
2+
3+
import counterType from '../core/counterTypeEnums';
4+
import operatorId from '../core/operatorIdEnum';
5+
import Operator from '../core/operatorFactory';
6+
import r6operators from "r6operators";
7+
8+
let flores = new Operator(r6operators.flores, operatorId.flores, "Crimson Heist");
9+
10+
flores.addCounterNode(operatorId.maestro, counterType.hard, "Flores' RCE-RATERO drone can destroy Maestro's Evil Eye.");
11+
flores.addCounterNode(operatorId.melusi, counterType.hard, "Flores' RCE-RATERO drone can destroy Melusi's Banshee.");
12+
flores.addCounterNode(operatorId.bandit, counterType.hard, "Flores' RCE-RATERO drone can destroy Bandit's Shock Wires.");
13+
flores.addCounterNode(operatorId.kaid, counterType.hard, "Flores' RCE-RATERO drone can destroy Kaid's Electroclaws.");
14+
flores.addCounterNode(operatorId.castle, counterType.hard, "Flores' RCE-RATERO drone can destroy Castle's Armor Panels");
15+
flores.addCounterNode(operatorId.kapkan, counterType.hard, "Flores' RCE-RATERO drone can destroy Kapkan's EDD.");
16+
flores.addCounterNode(operatorId.frost, counterType.hard, "Flores' RCE-RATERO drone can destroy Frost's Welcome Mats.");
17+
flores.addCounterNode(operatorId.rook, counterType.minor, "Flores' RCE-RATERO drone can destroy Rook's Armor Pack.");
18+
flores.addCounterNode(operatorId.thunderbird, counterType.hard, "Flores' RCE-RATERO drone can destroy Thunderbird's Kona Station.");
19+
20+
export default flores

src/main/create-operator-json/operators/fuze.js

+1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ let fuze = new Operator(r6operators.fuze, operatorId.fuze, "N/A");
99

1010
fuze.addCounterNode(operatorId.tachanka, counterType.soft, "Fuze's Cluster Charges can be used to take down a defender using Tachanka's Mounted LMG if its position is known.");
1111
fuze.addCounterNode(operatorId.jager, counterType.soft, "Fuze's Cluster charges can waste Jäger's ADS total interceptions. Fuze gets three charges each with five sub-grenades (15 total) and Jäger's ADS can block two projectiles each (6 total). This means that one Cluster Charge has the potential to disable two Active Defense Systems.");
12+
fuze.addCounterNode(operatorId.thunderbird, counterType.hard, "Fuze's Cluster charges can destroy Thunderbird's Kona Station.");
1213

1314
export default fuze

src/main/create-operator-json/operators/iq.js

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ iq.addCounterNode(operatorId.clash, counterType.minor, "IQ's Electronics Detect
2424
iq.addCounterNode(operatorId.mozzie, counterType.hard, "IQ's Electronics Detector can detect Mozzie's Pests or Attacker drones that have been hacked by a Pest.");
2525
iq.addCounterNode(operatorId.warden, counterType.hard, "IQ's Electronics Detector can detect Warden's smart glasses when they are active.");
2626
iq.addCounterNode(operatorId.kaid, counterType.soft, "IQ's Electronics Detector can detect and shoot Kaid's electroclaws through breakable surfaces.");
27+
iq.addCounterNode(operatorId.thunderbird, counterType.soft, "IQ's Electronics Detector can detect Thunderbird's Kona Station.");
2728

2829
export default iq

src/main/create-operator-json/operators/jager.js

+1
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ jager.addCounterNode(operatorId.glaz, counterType.minor, "Jäger's ADS can inte
1515
jager.addCounterNode(operatorId.ash, counterType.minor, "Jäger's ADS can intercept Ash's Breaching Rounds.");
1616
jager.addCounterNode(operatorId.fuze, counterType.soft, "Jäger's ADS can intercept Fuze's Cluster Charges. Fuze gets three charges each with five sub-grenades (15 total) and Jäger's ADS can block two projectiles each (6 total). This means ADS is only partially effective against a Fuze attack.");
1717
jager.addCounterNode(operatorId.kali, counterType.soft, "Jäger's ADS can intercept Kali's Explosive Lances.");
18+
jager.addCounterNode(operatorId.zero, counterType.hard, "Jäger's ADS will zap Zero's cameras mid-flight.");
1819

1920
export default jager

src/main/create-operator-json/operators/kaid.js

+1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ kaid.addCounterNode(operatorId.ace, counterType.hard, "Kaid's Electroclaws can e
1313
kaid.addCounterNode(operatorId.twitch, counterType.soft, "Kaid's Electroclaws can be used to electrify barbed wire which can kill a Twitch Drone that enters the wire. However, an Electroclaw can be easily shot by a Twitch Drone is improperly positioned.");
1414
kaid.addCounterNode(operatorId.dokkaebi, counterType.minor, "If a defender's phone is dropped into barbed wire electrified by Kaid's Electroclaws, it is destroyed.")
1515
kaid.addCounterNode(operatorId.iana, counterType.hard, "Kaid's Electroclaw destroys Iana's Hologram.");
16+
kaid.addCounterNode(operatorId.zero, counterType.hard, "Kaid's Electroclaws can electrify reinforced walls. Zero's cameras that are deployed on the same wall will be instantly destroyed.");
1617

1718
export default kaid

src/main/create-operator-json/operators/kali.js

+1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ kali.addCounterNode(operatorId.maestro, counterType.hard, "Kali's Explosive Lanc
1414
kali.addCounterNode(operatorId.castle, counterType.hard, "Kali's Explosive Lance destroys Castle's Armor Panels.");
1515
kali.addCounterNode(operatorId.clash, counterType.hard, "Kali's CSRX 300 Rifle staggers and knocks Clash's CCE Shield aside.");
1616
kali.addCounterNode(operatorId.castle, counterType.hard, "Kali's Explosive Lance destroys Melusi's Banshee.");
17+
kali.addCounterNode(operatorId.thunderbird, counterType.hard, "Kali's Explosive Lance destroys Thunderbird's Kona Station.");
1718

1819
export default kali

src/main/create-operator-json/operators/maestro.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ import r6operators from "r6operators";
88
let maestro = new Operator(r6operators.maestro, operatorId.maestro, "Operation Para Bellum");
99

1010
maestro.addCounterNode(operatorId.iana, counterType.soft, "Maestro's Evil Eyes can destroy Iana's Hologram with its laser, and can detect its lack of heat signature.");
11+
maestro.addCounterNode(operatorId.zero, counterType.soft, "Maestro's Evil Eye can destroy Zero's cameras.");
1112

1213
export default maestro

src/main/create-operator-json/operators/mozzie.js

+1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ import r6operators from "r6operators";
88
let mozzie = new Operator(r6operators.mozzie, operatorId.mozzie, "Operation Burnt Horizon");
99

1010
mozzie.addCounterNode(operatorId.twitch, counterType.hard, "Mozzie's Pests can hack Twitch's Shock Drone. The hacked drone can still shoot darts.");
11+
mozzie.addCounterNode(operatorId.flores, counterType.hard, "Mozzie's Pests can hack Flores' RCE-RATERO drone. The hacked drone cannot be controlled though.");
1112

1213
export default mozzie

src/main/create-operator-json/operators/mute.js

+2
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,7 @@ mute.addCounterNode(operatorId.jackal, counterType.soft, "Mute's Signal Disrupto
1717
mute.addCounterNode(operatorId.lion, counterType.soft, "When standing within range of Mute's Signal Disruptor, a defender can freely move without being detected by Lion's EE-ONE-D drone.");
1818
mute.addCounterNode(operatorId.blitz, counterType.soft, "When standing within range of Mute's Signal Disruptor, Blitz's Flash Shield will be disrupted.");
1919
mute.addCounterNode(operatorId.iana, counterType.hard, "Mute's Signal Disruptor will neutralize Iana's hologram.");
20+
mute.addCounterNode(operatorId.zero, counterType.hard, "Mute's Signal Disruptor will disable Zero's cameras until they are destroyed.");
21+
mute.addCounterNode(operatorId.flores, counterType.hard, "Mute's Signal Disruptor can stop Flores' RCE-RATERO drone from working.")
2022

2123
export default mute
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
import counterType from '../core/counterTypeEnums';
4+
import operatorId from '../core/operatorIdEnum';
5+
import Operator from '../core/operatorFactory';
6+
import r6operators from "r6operators";
7+
8+
let osa = new Operator(r6operators.osa, operatorId.osa, "Crystal Guard");
9+
10+
export default osa

src/main/create-operator-json/operators/thatcher.js

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ thatcher.addCounterNode(operatorId.warden, counterType.soft, "Thatcher's EMP gre
2424
thatcher.addCounterNode(operatorId.mozzie, counterType.hard, "Thatcher's EMP Grenades can destroy Mozzie's Pests and disable hacked drones.");
2525
thatcher.addCounterNode(operatorId.vigil, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Vigil's ERC-7.");
2626
thatcher.addCounterNode(operatorId.melusi, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Melusi's Banshee.");
27+
thatcher.addCounterNode(operatorId.thunderbird, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Thunderbird's Kona Station.");
2728

2829
export default thatcher
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
'use strict';
2+
3+
import counterType from '../core/counterTypeEnums';
4+
import operatorId from '../core/operatorIdEnum';
5+
import Operator from '../core/operatorFactory';
6+
import r6operators from "r6operators";
7+
8+
let thunderbird = new Operator(r6operators.thunderbird, operatorId.thunderbird, "North Star");
9+
10+
export default thunderbird

src/main/create-operator-json/operators/twitch.js

+1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@ twitch.addCounterNode(operatorId.kapkan, counterType.soft, "Twitch's Drone can s
1919
twitch.addCounterNode(operatorId.lesion, counterType.soft, "Twitch's Drone can shoot Lesion's Gu mines.");
2020
twitch.addCounterNode(operatorId.maestro, counterType.minor, "Twitch's Drone can temporarily disable Maestro's Evil Eye cameras by shooting at them when they are closed.");
2121
twitch.addCounterNode(operatorId.melusi, counterType.soft, "Twitch's Drone can temporarily disable Melusi's Banshee.");
22+
twitch.addCounterNode(operatorId.thunderbird, counterType.hard, "Twitch's Drone can shoot Thunderbird's Kona Station.");
2223

2324
export default twitch

src/main/create-operator-json/operators/vigil.js

+1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@ vigil.addCounterNode(operatorId.blackbeard, counterType.minor, "Vigil's BOSG.12.
1212
vigil.addCounterNode(operatorId.twitch, counterType.minor, "Vigil's ERC-7 allows him to remove himself from Twitch's Drone camera.");
1313
vigil.addCounterNode(operatorId.lion, counterType.hard, "Vigil cannot be detected by Lion's EE-ONE-D drone scan when his ER7-C gadget is active.");
1414
vigil.addCounterNode(operatorId.iana, counterType.minor, "Vigils ERC-7 makes him invisible from Iana's Hologram.");
15+
vigil.addCounterNode(operatorId.flores, counterType.soft, "Vigil's ERC-7 allows him to remove himself from Flores' RCE-RATERO drone camera.");
1516

1617
export default vigil

src/main/create-operator-json/operators/wamai.js

+1
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ wamai.addCounterNode(operatorId.nomad, counterType.hard, "Wamai's MAG-NET Syste
1616
wamai.addCounterNode(operatorId.zofia, counterType.hard, "Wamai's MAG-NET System pulls Zofia's Concussion and Impact Grenades.");
1717
wamai.addCounterNode(operatorId.gridlock, counterType.minor, "Wamai's MAG-NET System pulls Gridlock's Trax Stinger but will not destroy it.");
1818
wamai.addCounterNode(operatorId.kali, counterType.hard, "Wamai's MAG-NET System pulls Kali's Explosion Lances.");
19+
wamai.addCounterNode(operatorId.zero, counterType.hard, "Wamai's MAG-NET System will grab Zero's cameras out of the air and destroy them.");
1920

2021
export default wamai
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
'use strict';
2+
3+
import counterType from '../core/counterTypeEnums';
4+
import operatorId from '../core/operatorIdEnum';
5+
import Operator from '../core/operatorFactory';
6+
import r6operators from "r6operators";
7+
8+
let zero = new Operator(r6operators.zero, operatorId.zero, "Operation Shadow Legacy");
9+
10+
zero.addCounterNode(operatorId.alibi, counterType.hard, "Alibi's prismas can be destroyed by Zero's Argus camera zap.");
11+
zero.addCounterNode(operatorId.echo, counterType.hard, "Echo's yokai drones can be destroyed by Zero's Argus camera zap.");
12+
zero.addCounterNode(operatorId.valkyrie, counterType.hard, "Valkyrie's Black Eye cameras can be destroyed by Zero's Argus camera zap.");
13+
zero.addCounterNode(operatorId.maestro, counterType.hard, "Maestro's Evil eye can be destroyed by Zero's Argus camera zap.");
14+
zero.addCounterNode(operatorId.thunderbird, counterType.hard, "Thunderbird's Kona Station can be destroyed by Zero's Argus camera zap.");
15+
16+
export default zero

src/main/create-operator-json/operators/zofia.js

+2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ zofia.addCounterNode(operatorId.clash, counterType.hard, "Zofia's Concussion Gre
1313
zofia.addCounterNode(operatorId.castle, counterType.hard, "Zofia's Impact Grenades can destroy Castle's Armor Panels.");
1414
zofia.addCounterNode(operatorId.maestro, counterType.hard, "Zofia's Impact Grenades can destroy Maestro's Evil Eye cameras while they are closed.");
1515
zofia.addCounterNode(operatorId.melusi, counterType.hard, "Zofia's Impact Grenades can destroy Melusi's Banshee.");
16+
zofia.addCounterNode(operatorId.aruni, counterType.hard, "Zofia's Impact Grenades can temporarily disable Aruni's Surya laser gates.");
17+
zofia.addCounterNode(operatorId.thunderbird, counterType.hard, "Zofia's Impact Grenades can destroy Thunderbird's Kona Stations.");
1618

1719
export default zofia

0 commit comments

Comments
 (0)