Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added the new operators and some counters for them + Readme update #250

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ Open `http://localhost:8080` in your favorite browser.

### Tools needed
* Node.js - https://nodejs.org/en/
- Minimum version required: 12.16.1
- Minimum version required: 20.11.0
- Check your version using `node --version`
* npm - installed alongside Node.js
- Minimum version required: 6.13.4
- Minimum version required: 10.2.4
- Check your version using `npm --version`
* git - https://git-scm.com/downloads
* A text editor e.g. Visual Studio Code - https://code.visualstudio.com/
Expand Down
13 changes: 12 additions & 1 deletion src/main/create-operator-json/core/operatorIdEnum.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,5 +68,16 @@ export default {
thunderbird: 61,
osa: 62,
thorn:63,
azami:64
azami:64,
sens:65,
grim:66,
solis:67,
brava:68,
fenrir:69,
ram:70,
tubarao:71,
deimos:72,
sentry:73,
striker:74,
skopos:75
};
22 changes: 22 additions & 0 deletions src/main/create-operator-json/core/operatorList.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,26 @@ import azami from '../operators/azami.js';
import bandit from '../operators/bandit.js';
import blackbeard from '../operators/blackbeard.js';
import blitz from '../operators/blitz.js';
import brava from '../operators/brava.js';
import buck from '../operators/buck.js';
import capitao from '../operators/capitao.js';
import castle from '../operators/castle.js';
import caviera from '../operators/caviera.js';
import clash from '../operators/clash.js';
import deimos from '../operators/deimos.js';
import doc from '../operators/doc.js';
import dokkaebi from '../operators/dokkaebi.js';
import echo from '../operators/echo.js';
import ela from '../operators/ela.js';
import fenrir from '../operators/fenrir.js';
import finka from '../operators/finka.js';
import flores from '../operators/flores.js';
import frost from '../operators/frost.js';
import fuze from '../operators/fuze.js';
import glaz from '../operators/glaz.js';
import goyo from '../operators/goyo.js';
import gridlock from '../operators/gridlock.js';
import grim from '../operators/grim.js';
import hibana from '../operators/hibana.js';
import iana from '../operators/iana.js';
import iq from '../operators/iq.js';
Expand All @@ -50,6 +54,12 @@ import nomad from '../operators/nomad.js';
import oryx from '../operators/oryx.js';
import osa from '../operators/osa.js';
import pulse from '../operators/pulse.js';
import sens from '../operators/sens.js';
import sentry from '../operators/sentry.js';
import skopos from '../operators/skopos.js';
import solis from '../operators/solis.js';
import striker from '../operators/striker.js';
import ram from '../operators/ram.js';
import recruit from '../operators/recruit.js';
import rook from '../operators/rook.js';
import sledge from '../operators/sledge.js';
Expand All @@ -59,6 +69,7 @@ import thatcher from '../operators/thatcher.js';
import thermite from '../operators/thermite.js';
import thorn from "../operators/thorn.js";
import thunderbird from '../operators/thunderbird.js';
import tubarao from '../operators/tubarao.js'
import twitch from '../operators/twitch.js';
import valkyrie from '../operators/valkyrie.js';
import vigil from '../operators/vigil.js';
Expand All @@ -79,22 +90,26 @@ export default {
bandit,
blackbeard,
blitz,
brava,
buck,
capitao,
castle,
caviera,
clash,
deimos,
doc,
dokkaebi,
ela,
echo,
fenrir,
finka,
flores,
frost,
fuze,
glaz,
goyo,
gridlock,
grim,
hibana,
iana,
iq,
Expand All @@ -117,15 +132,22 @@ export default {
osa,
nomad,
pulse,
ram,
recruit,
rook,
sens,
sentry,
skopos,
sledge,
smoke,
solis,
striker,
tachanka,
thatcher,
thermite,
thorn,
thunderbird,
tubarao,
twitch,
valkyrie,
vigil,
Expand Down
1 change: 1 addition & 0 deletions src/main/create-operator-json/operators/ash.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ ash.addCounterNode(operatorId.maestro, counterType.hard, "Ash's Breaching Rounds
ash.addCounterNode(operatorId.melusi, counterType.hard, "Ash's Breaching rounds can destroy Melusi's Banshee.");
ash.addCounterNode(operatorId.aruni, counterType.soft, "Ash's Breaching rounds can temporarily disable Aruni's Surya laser gates.")
ash.addCounterNode(operatorId.thunderbird, counterType.hard, "Ash's Breaching rounds can destroy Thunderbird's Kona Station.")
ash.addCounterNode(operatorId.thorn, counterType.hard, "Ash's Breaching rounds can destroy Azami's Kiba Barriers.")

export default ash
26 changes: 26 additions & 0 deletions src/main/create-operator-json/operators/brava.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let brava = new Operator(r6operators.brava, operatorId.brava, "Operation Commanding Force");

brava.addCounterNode(operatorId.alibi, counterType.minor, "Brava's Krudge drone can hack Alibi's prismas");
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry to be a pain, are you able to make sure any new ones you've added have a full stop / period at the end, please?

brava.addCounterNode(operatorId.aruni, counterType.hard, "Brava's Krudge drone can hack Aruni's surya gates");
brava.addCounterNode(operatorId.echo, counterType.hard, "Brava's Krudge drone can hack Echo's yokai drone and controll it");
brava.addCounterNode(operatorId.ela, counterType.soft, "Brava's Krudge drone can hack Ela's grzmot mines");
brava.addCounterNode(operatorId.jager, counterType.soft, "Brava's Krudge drone can hack Jager's ADS");
brava.addCounterNode(operatorId.kapkan, counterType.soft, "Brava's Krudge drone can hack Kapkan's EDDs");
brava.addCounterNode(operatorId.maestro, counterType.hard, "Brava's Krudge drone can hack Maestro's evil eye and controll it");
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of the Brava counters have a typo for "control"

brava.addCounterNode(operatorId.melusi, counterType.hard, "Brava's Krudge drone can hack Melusi's banshee");
brava.addCounterNode(operatorId.mozzie, counterType.minor, "Brava's Krudge drone can hack Mozzie's pests");
brava.addCounterNode(operatorId.mute, counterType.hard, "Brava's Krudge drone can hack Mute's jammers");
brava.addCounterNode(operatorId.thorn, counterType.hard, "Brava's Krudge drone can hack Thorn's razorblooms");
brava.addCounterNode(operatorId.valkyrie, counterType.hard, "Brava's Krudge drone can hack Valkyrie's black eyes");
brava.addCounterNode(operatorId.fenrir, counterType.hard, "Brava's Krudge drone can hack Fenrir's Dread Mines");
brava.addCounterNode(operatorId.skopos, counterType.hard, "Brava's Krudge drone can destroy Skopos' inactive shell");


export default brava
11 changes: 11 additions & 0 deletions src/main/create-operator-json/operators/deimos.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let deimos = new Operator(r6operators.deimos, operatorId.deimos, "Operation Deadly Omen");


export default deimos
10 changes: 10 additions & 0 deletions src/main/create-operator-json/operators/fenrir.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let fenrir = new Operator(r6operators.fenrir, operatorId.fenrir, "Operation Dead Factor");

export default fenrir
2 changes: 2 additions & 0 deletions src/main/create-operator-json/operators/finka.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@ finka.addCounterNode(operatorId.ela, counterType.soft, "Finka's Adrenal Surge cl
finka.addCounterNode(operatorId.caviera, counterType.soft, "Finka can use her Adrenal Surge to revive a downed ally preventing an interrogation from Caveira. This ally cannot be downed again.");
finka.addCounterNode(operatorId.echo, counterType.soft, "Finka's Adrenal Surge cleanses the disorientation effect from Echo's Yokai drone.");
finka.addCounterNode(operatorId.melusi, counterType.soft, "Finka's Adrenal Surge allow attackers to move through Melusi's Banshee.");
finka.addCounterNode(operatorId.fenrir, counterType.soft, "Finka's Adrenal Surge allows attackers to see further through Fenrir's gas.");


export default finka
2 changes: 2 additions & 0 deletions src/main/create-operator-json/operators/flores.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ flores.addCounterNode(operatorId.kapkan, counterType.hard, "Flores' RCE-RATERO d
flores.addCounterNode(operatorId.frost, counterType.hard, "Flores' RCE-RATERO drone can destroy Frost's Welcome Mats.");
flores.addCounterNode(operatorId.rook, counterType.minor, "Flores' RCE-RATERO drone can destroy Rook's Armor Pack.");
flores.addCounterNode(operatorId.thunderbird, counterType.hard, "Flores' RCE-RATERO drone can destroy Thunderbird's Kona Station.");
flores.addCounterNode(operatorId.thunderbird, counterType.hard, "Flores' RCE-RATERO drone can destroy Azami's Kiba Barriers.");


export default flores
11 changes: 11 additions & 0 deletions src/main/create-operator-json/operators/grim.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let grim = new Operator(r6operators.grim, operatorId.grim, "Operation Brutal Swarm");


export default grim
4 changes: 4 additions & 0 deletions src/main/create-operator-json/operators/iq.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,9 @@ iq.addCounterNode(operatorId.mozzie, counterType.hard, "IQ's Electronics Detecto
iq.addCounterNode(operatorId.warden, counterType.hard, "IQ's Electronics Detector can detect Warden's smart glasses when they are active.");
iq.addCounterNode(operatorId.kaid, counterType.soft, "IQ's Electronics Detector can detect and shoot Kaid's electroclaws through breakable surfaces.");
iq.addCounterNode(operatorId.thunderbird, counterType.soft, "IQ's Electronics Detector can detect Thunderbird's Kona Station.");
iq.addCounterNode(operatorId.thorn, counterType.soft, "IQ's Electronics Detector can detect Thorns's Razorbloom Shell.")
iq.addCounterNode(operatorId.solis, counterType.hard, "IQ's Electronics Detector can detect Solis' visor while it's active.")
iq.addCounterNode(operatorId.fenrir, counterType.hard, "IQ's Electronics Detector can detect Fenrir's Dread Mines.");
iq.addCounterNode(operatorId.skopos, counterType.hard, "IQ's Electronics Detector can detect Skopos' inactive shell.");

export default iq
2 changes: 2 additions & 0 deletions src/main/create-operator-json/operators/jager.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ jager.addCounterNode(operatorId.ash, counterType.minor, "Jäger's ADS can interc
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.");
jager.addCounterNode(operatorId.kali, counterType.soft, "Jäger's ADS can intercept Kali's Explosive Lances.");
jager.addCounterNode(operatorId.zero, counterType.hard, "Jäger's ADS will zap Zero's cameras mid-flight.");
jager.addCounterNode(operatorId.sens, counterType.hard, "Jäger's ADS will zap Sens' ROU.");
jager.addCounterNode(operatorId.grim, counterType.hard, "Jäger's ADS can intercept Grim's Hive Cannister.");

export default jager
2 changes: 2 additions & 0 deletions src/main/create-operator-json/operators/kali.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,7 @@ kali.addCounterNode(operatorId.castle, counterType.hard, "Kali's Explosive Lance
kali.addCounterNode(operatorId.clash, counterType.hard, "Kali's CSRX 300 Rifle staggers and knocks Clash's CCE Shield aside.");
kali.addCounterNode(operatorId.castle, counterType.hard, "Kali's Explosive Lance destroys Melusi's Banshee.");
kali.addCounterNode(operatorId.thunderbird, counterType.hard, "Kali's Explosive Lance destroys Thunderbird's Kona Station.");
kali.addCounterNode(operatorId.azami, counterType.hard, "Kali's Explosive Lance destroys Azami's Kiba Barrier.");


export default kali
2 changes: 2 additions & 0 deletions src/main/create-operator-json/operators/maestro.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ maestro.addCounterNode(operatorId.montagne, counterType.minor, "Maestro's Evil E
maestro.addCounterNode(operatorId.blitz, counterType.minor, "Maestro's Evil Eye can shoot Blitz from behind when he is hard pushing, causing him to turn around and potentially exposing him.")
maestro.addCounterNode(operatorId.thermite, counterType.hard, "Maestro's Evil Eye can destroy Thermite's Exothermic Charges with its laser.")
maestro.addCounterNode(operatorId.ace, counterType.hard, "Maestro's Evil Eye can destroy Ace's SELMAs with its laser.")
maestro.addCounterNode(operatorId.sens, counterType.soft, "Maestro's Evil Eye can see through ROUs.")


export default maestro
2 changes: 2 additions & 0 deletions src/main/create-operator-json/operators/mozzie.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ let mozzie = new Operator(r6operators.mozzie, operatorId.mozzie, "Operation Burn

mozzie.addCounterNode(operatorId.twitch, counterType.hard, "Mozzie's Pests can hack Twitch's Shock Drone. The hacked drone can still shoot darts.");
mozzie.addCounterNode(operatorId.flores, counterType.hard, "Mozzie's Pests can hack Flores' RCE-RATERO drone. The hacked drone cannot be controlled though.");
mozzie.addCounterNode(operatorId.brava, counterType.hard, "Mozzie's Pests can hack Brava's Kludge drone. The hacked drones can un-hack previously hacked gadgets and hack attacker gadgets.");


export default mozzie
5 changes: 5 additions & 0 deletions src/main/create-operator-json/operators/mute.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,10 @@ mute.addCounterNode(operatorId.blitz, counterType.soft, "When standing within ra
mute.addCounterNode(operatorId.iana, counterType.hard, "Mute's Signal Disruptor will neutralize Iana's hologram.");
mute.addCounterNode(operatorId.zero, counterType.hard, "Mute's Signal Disruptor will disable Zero's cameras until they are destroyed.");
mute.addCounterNode(operatorId.flores, counterType.hard, "Mute's Signal Disruptor can stop Flores' RCE-RATERO drone from working.")
mute.addCounterNode(operatorId.sens, counterType.hard, "Mute's Signal Disruptor can stop Sens' ROU from working.")
mute.addCounterNode(operatorId.grim, counterType.hard, "Mute's Signal Disruptor stops Grim's Hive from deploying their swarm and protects operators in the jammer's radius.")
mute.addCounterNode(operatorId.ram, counterType.hard, "Mute's Signal Disruptor can stop Ram's BU-GI from activating.")
mute.addCounterNode(operatorId.deimos, counterType.hard, "Mute's Signal Disruptor can prevent defenders from getting trakced by Deimos' DeathMARK.")


export default mute
10 changes: 10 additions & 0 deletions src/main/create-operator-json/operators/ram.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let ram = new Operator(r6operators.ram, operatorId.ram, "Operation Heavy Mettle");

export default ram
10 changes: 10 additions & 0 deletions src/main/create-operator-json/operators/sens.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let sens = new Operator(r6operators.sens, operatorId.sens, "Operation Vector Glare");

export default sens
10 changes: 10 additions & 0 deletions src/main/create-operator-json/operators/sentry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let sentry = new Operator(r6operators.sentry, operatorId.sentry, "Operation New Blood");

export default sentry
10 changes: 10 additions & 0 deletions src/main/create-operator-json/operators/skopos.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let skopos = new Operator(r6operators.skopos, operatorId.skopos, "Operation Twin Shells");

export default skopos
16 changes: 16 additions & 0 deletions src/main/create-operator-json/operators/solis.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let solis = new Operator(r6operators.solis, operatorId.solis, "Operation Solar Raid");

// solis.addCounterNode(r6operators.blitz, counterType.hard, "Solis' visor can detect Blitz's shield while being held and therefore him.")
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these ones be commented out?

// solis.addCounterNode(r6operators.jackal, counterType.hard, "Solis' visor can detect Jackel's helmet while active.")
// solis.addCounterNode(r6operators.nomad, counterType.soft, "Solis' visor can detect Nomad's airjabs.")
// solis.addCounterNode(r6operators.brava, counterType.hard, "Solis' visor can detect and track Brava's krudge drone.")


export default solis
10 changes: 10 additions & 0 deletions src/main/create-operator-json/operators/striker.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let striker = new Operator(r6operators.striker, operatorId.striker, "Operation New Blood");

export default striker
5 changes: 5 additions & 0 deletions src/main/create-operator-json/operators/thatcher.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,10 @@ thatcher.addCounterNode(operatorId.mozzie, counterType.hard, "Thatcher's EMP Gre
thatcher.addCounterNode(operatorId.vigil, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Vigil's ERC-7.");
thatcher.addCounterNode(operatorId.melusi, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Melusi's Banshee.");
thatcher.addCounterNode(operatorId.thunderbird, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Thunderbird's Kona Station.");
thatcher.addCounterNode(operatorId.thorn, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Thorn's RazorBloom Shell.");
thatcher.addCounterNode(operatorId.solis, counterType.soft, "Thatcher's EMP Grenades can temporarily disable Solis' visor.");
thatcher.addCounterNode(operatorId.fenrir, counterType.hard, "Thatcher's EMP Grenades can disable Fenrir's Dread Mines and prevent Fenrir from activating his mines if he's caught in the EMP.");
thatcher.addCounterNode(operatorId.skopos, counterType.soft, "Thatcher's EMP Grenades can prevent Skopos from transfering shells.");


export default thatcher
25 changes: 25 additions & 0 deletions src/main/create-operator-json/operators/tubarao.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
'use strict';

import counterType from '../core/counterTypeEnums.js';
import operatorId from '../core/operatorIdEnum.js';
import Operator from '../core/operatorFactory.js';
import r6operators from "r6operators";

let tubarao = new Operator(r6operators.tubarao, operatorId.tubarao, "Operation Deep Freeze");


tubarao.addCounterNode(operatorId.thermite, counterType.hard, "Tubarao's Zoto Cannister can delay Thermite's Exothermic Charge from triggering.");
tubarao.addCounterNode(operatorId.hibana, counterType.hard, "Tubarao's Zoto Cannister can delay Hibana's X-KARIOS pellets from triggering.");
tubarao.addCounterNode(operatorId.ace, counterType.hard, "Tubarao's Zoto Cannister can delay Ace's SELMA Breaching Device from triggering.");
tubarao.addCounterNode(operatorId.ram, counterType.hard, "Tubarao's Zoto Cannister can delay Ram's BU-GI from moving.");
tubarao.addCounterNode(operatorId.ash, counterType.soft, "Tubarao's Zoto Cannister delay's Ash's breaching charge from activating.");
tubarao.addCounterNode(operatorId.glaz, counterType.hard, "Tubarao's Zoto Cannister can prevent Glaz's thermal scope from working and prevent defenders who are in the area from showing up on Glaz's thermal scope");
tubarao.addCounterNode(operatorId.fuze, counterType.soft, "Tubarao's Zoto Cannister can prevent Fuze's Cluster Charge from activating");
tubarao.addCounterNode(operatorId.blitz, counterType.soft, "Tubarao's Zoto Cannister can prevent Blitz's Flash Charge from working");
tubarao.addCounterNode(operatorId.iq, counterType.hard, "Tubarao's Zoto Cannister can prevent Iq's Electronics Detector from scanning and prevents defender electronics from being scanned");
tubarao.addCounterNode(operatorId.jackal, counterType.soft, "Tubarao's Zoto Cannister can stop Jackal from activating his Eyenox");
tubarao.addCounterNode(operatorId.ying, counterType.hard, "Tubarao's Zoto Cannister can make Ying vulnerable to her own Candelas and delay Candelas from activating");
tubarao.addCounterNode(operatorId.dokkaebi, counterType.hard, "Tubarao's Zoto Cannister can prevent Dokkaebi from activating her hack and prevent defenders from getting hacked");


export default tubarao
Loading