Upload files to "assets"
This commit is contained in:
parent
0df61633ff
commit
34cb22391b
Binary file not shown.
|
|
@ -0,0 +1,561 @@
|
||||||
|
window.IntelData = {
|
||||||
|
factions: {
|
||||||
|
// ==============================================================================
|
||||||
|
// NEW CALIFORNIA REPUBLIC (NCR)
|
||||||
|
// ==============================================================================
|
||||||
|
"NCR": {
|
||||||
|
intercept: [
|
||||||
|
"RECON ACTUAL: {T} HAS EYES ON {E}. ENGAGING.",
|
||||||
|
"{T} REPORTING: HOSTILE {E} SPOTTED IN SECTOR. OPENING FIRE.",
|
||||||
|
"FIRST RECON COMMAND: {T} IS PUTTING ROUNDS ON {E}.",
|
||||||
|
"DISPATCH: {T} ENGAGING {E}. HOLD THE LINE, TROOPERS.",
|
||||||
|
"NCR COMMS: {T} HAS ACQUIRED {E}. WE WILL NOT YIELD."
|
||||||
|
],
|
||||||
|
kill: [
|
||||||
|
"CONFIRMED KILL ON {E}. GOOD SHOOTING, RANGER.",
|
||||||
|
"TARGET {E} DOWN. KEEP YOUR WEAPONS HOT.",
|
||||||
|
"HOSTILE {E} ELIMINATED. MARK IT FOR SALVAGE.",
|
||||||
|
"{E} NEUTRALIZED. FOR THE REPUBLIC!",
|
||||||
|
"THREAT {E} SECURED. SCRATCH ONE PROFLIGATE."
|
||||||
|
],
|
||||||
|
target_change: [
|
||||||
|
"{T} RELOADING. COVERING FIRE REQUESTED.",
|
||||||
|
"CONTROL, {T} IS SHIFTING FIRE TO NEW TARGET.",
|
||||||
|
"{T} CHECKING AMMO. REACQUIRING SIGHTS.",
|
||||||
|
"{T} ADJUSTING AZIMUTH. STAND BY."
|
||||||
|
],
|
||||||
|
multikill: [
|
||||||
|
"HEAVY ORDNANCE CONFIRMED. MUTANT GROUP DECIMATED.",
|
||||||
|
"SPLASH DAMAGE SECURED. MULTIPLE CASUALTIES IN SWARM.",
|
||||||
|
"ARTILLERY STRIKE EFFECTIVE. SECTOR CLEARED.",
|
||||||
|
"THAT'S HOW THE NCR DOES IT! MULTI-KILL CONFIRMED."
|
||||||
|
],
|
||||||
|
threat_flying: [
|
||||||
|
"WARNING: AIRBORNE BOGEY DETECTED. ANTI-AIR STANDBY.",
|
||||||
|
"NCR COMMS: EYES TO THE SKY! FLYING {E} INBOUND.",
|
||||||
|
"RADAR SPIKE: AERIAL {E} APPROACHING THE PERIMETER."
|
||||||
|
],
|
||||||
|
threat_stealth: [
|
||||||
|
"RECON SENSORS DETECT CLOAKED {E}. CHECK YOUR CORNERS.",
|
||||||
|
"STEALTH UNIT REVEALED. NIGHTKIN TACTICS SUSPECTED.",
|
||||||
|
"WARNING: ACTIVE CAMO DETECTED ON {E}."
|
||||||
|
],
|
||||||
|
threat_swarm: [
|
||||||
|
"CONTROL, WE HAVE A MASSIVE SWARM INBOUND. PREPARE THE LINE.",
|
||||||
|
"HUNDREDS OF SIGNATURES. IT'S A FULL ASSAULT.",
|
||||||
|
"THEY ARE RUSHING US! HOLD THE BARRICADES!"
|
||||||
|
],
|
||||||
|
path_progress: [
|
||||||
|
"SITREP: HOSTILES HAVE PUSHED PAST THE {P} MARK.",
|
||||||
|
"WARNING: {E} HAS BREACHED {P} OF THE PERIMETER.",
|
||||||
|
"FALL BACK TO SECONDARY TRENCHES! THEY ARE AT {P}!"
|
||||||
|
],
|
||||||
|
base_damage: [
|
||||||
|
"DEFENSES BREACHED! WE ARE TAKING HEAVY CASUALTIES!",
|
||||||
|
"NCR OUTPOST IS UNDER DIRECT FIRE! NEED REINFORCEMENTS!",
|
||||||
|
"MEDIC! WE'RE TAKING HITS AT THE MAIN GATE!"
|
||||||
|
],
|
||||||
|
tower_upgrade: [
|
||||||
|
"SUPPLY RUN COMPLETE. {T} UPGRADED AND OPERATIONAL.",
|
||||||
|
"{T} LOGISTICS REQUEST APPROVED. TECH INSTALLED.",
|
||||||
|
"NCR QUARTERMASTER: NEW GEAR ISSUED TO {T}."
|
||||||
|
],
|
||||||
|
tower_max: [
|
||||||
|
"{T} IS FULLY KITTED OUT AND READY FOR WAR.",
|
||||||
|
"VETERAN STATUS CONFIRMED FOR {T}.",
|
||||||
|
"ALL APPROVED MODIFICATIONS APPLIED TO {T}."
|
||||||
|
],
|
||||||
|
tower_unlock: [
|
||||||
|
"NCR COMMAND: {T} REQUISITION HAS BEEN AUTHORIZED.",
|
||||||
|
"LOGISTICS UPDATE: {T} SCHEMATICS UNLOCKED."
|
||||||
|
],
|
||||||
|
wave_start: [
|
||||||
|
"SITREP: SENSORS PICKING UP {M} IN {L}.",
|
||||||
|
"COMMAND, BE ADVISED: {M} APPROACHING FROM {L}.",
|
||||||
|
"RECON REPORT: {M} SPOTTED NEAR {L}.",
|
||||||
|
"BRACE THE LINE! {M} INBOUND AT {L}."
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
"PATROLLING THE MOJAVE ALMOST MAKES YOU WISH FOR A NUCLEAR WINTER.",
|
||||||
|
"WE WON'T GO QUIETLY. THE LEGION CAN COUNT ON THAT.",
|
||||||
|
"IF THEY BREAK THROUGH OUR DEFENSES, I'VE GOT ONE BULLET I'M SAVING JUST FOR ME.",
|
||||||
|
"NOBODY'S LUCK LASTS FOREVER IN THIS WASTELAND. STAY SHARP.",
|
||||||
|
"KEEP YOUR RIFLE CLEAN AND YOUR RADIO ON."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// ==============================================================================
|
||||||
|
// BROTHERHOOD OF STEEL (BOS)
|
||||||
|
// ==============================================================================
|
||||||
|
"BOS": {
|
||||||
|
intercept: [
|
||||||
|
"PALADIN COMMAND: {T} HAS SIGHTED {E}. PURGING ABOMINATION.",
|
||||||
|
"SCRIBE TELEMETRY ACTIVE. {T} ENGAGING {E}.",
|
||||||
|
"{T} INITIATING COMBAT PROTOCOLS ON {E}.",
|
||||||
|
"KNIGHTS, WE HAVE CONTACT. {T} FIRES ON {E}.",
|
||||||
|
"AD VICTORIAM! {T} HAS ENGAGED {E}."
|
||||||
|
],
|
||||||
|
kill: [
|
||||||
|
"ABOMINATION {E} HAS BEEN PURGED.",
|
||||||
|
"{E} TERMINATED. PRESERVING THE WASTELAND.",
|
||||||
|
"SCRIBE LOG: TARGET {E} CONFIRMED DESTROYED.",
|
||||||
|
"{T} HAS CLEANSED THE THREAT {E}.",
|
||||||
|
"ONE LESS MUTANT SCUM. {E} IS DOWN."
|
||||||
|
],
|
||||||
|
target_change: [
|
||||||
|
"{T} COOLING LASER CAPACITORS. ACQUIRING NEXT ABOMINATION.",
|
||||||
|
"{T} RECALIBRATING TARGETING MATRIX.",
|
||||||
|
"ENERGY CELLS DEPLETED. {T} RELOADING.",
|
||||||
|
"TACTICAL SHIFT CONFIRMED FOR {T}."
|
||||||
|
],
|
||||||
|
multikill: [
|
||||||
|
"EXPLOSIVE PURGE SUCCESSFUL. CLUSTER DESTROYED.",
|
||||||
|
"MAXIMUM YIELD ACHIEVED. MULTIPLE TARGETS VAPORIZED.",
|
||||||
|
"THE BROTHERHOOD CLEANSES ALL. SWARM ERADICATED.",
|
||||||
|
"TACTICAL NUKE / PLASMA SPREAD EFFECTIVE. SECTOR CLEAR."
|
||||||
|
],
|
||||||
|
threat_flying: [
|
||||||
|
"PRYDWEN SENSORS: AIRBORNE {E} DETECTED.",
|
||||||
|
"SKY-BOGEY INBOUND. AERIAL ABOMINATION {E} SPOTTED.",
|
||||||
|
"ELEVATE YOUR FIRE, KNIGHTS! {E} IN THE CLOUDS!"
|
||||||
|
],
|
||||||
|
threat_stealth: [
|
||||||
|
"ENERGY SCANNERS REVEAL CLOAKED {E}.",
|
||||||
|
"STEALTH ABOMINATION COMPROMISED. OPEN FIRE ON {E}.",
|
||||||
|
"THEY CANNOT HIDE FROM OUR TECH. INVISIBLE THREAT REVEALED."
|
||||||
|
],
|
||||||
|
threat_swarm: [
|
||||||
|
"WARNING: UNACCEPTABLE CONCENTRATION OF ABOMINATIONS INBOUND.",
|
||||||
|
"MASSIVE TARGET DENSITY. PREPARE HEAVY ORDINANCE.",
|
||||||
|
"STAND FAST, BROTHERS! THE HORDE APPROACHES!"
|
||||||
|
],
|
||||||
|
path_progress: [
|
||||||
|
"PALADIN COMMAND: THE ABOMINATIONS HAVE BREACHED {P}.",
|
||||||
|
"ALERT: {E} HAS CROSSED {P} THRESHOLD.",
|
||||||
|
"THEY DEFILE OUR GROUNDS. THREAT AT {P}!"
|
||||||
|
],
|
||||||
|
base_damage: [
|
||||||
|
"WARNING: BROTHERHOOD FORTIFICATIONS COMPROMISED!",
|
||||||
|
"WE ARE SUSTAINING CRITICAL STRUCTURAL DAMAGE!",
|
||||||
|
"HOLD THE GATES, INITIATES! WE ARE TAKING HITS!"
|
||||||
|
],
|
||||||
|
tower_upgrade: [
|
||||||
|
"SCRIBE PROTOCOL: ADVANCED TECH INTEGRATED INTO {T}.",
|
||||||
|
"{T} WEAPONS CALIBRATED AND ENHANCED.",
|
||||||
|
"BROTHERHOOD TECH APPLIED. {T} UPGRADED."
|
||||||
|
],
|
||||||
|
tower_max: [
|
||||||
|
"{T} IS OPERATING AT ABSOLUTE MAXIMUM YIELD.",
|
||||||
|
"ELITE PALADIN CONFIGURATION SECURED ON {T}.",
|
||||||
|
"NO FURTHER UPGRADES POSSIBLE. {T} IS PERFECTED."
|
||||||
|
],
|
||||||
|
tower_unlock: [
|
||||||
|
"ELDER MAXSON AUTHORIZES DEPLOYMENT OF {T}.",
|
||||||
|
"SCRIBES HAVE RESTORED {T} SCHEMATICS FOR FIELD USE."
|
||||||
|
],
|
||||||
|
wave_start: [
|
||||||
|
"SCRIBES HAVE TRACKED {M} APPROACHING {L}.",
|
||||||
|
"PALADINS, BE ADVISED: {M} DETECTED NEAR {L}.",
|
||||||
|
"PURGE PROTOCOLS ENGAGED. {M} IN SIGHT AT {L}.",
|
||||||
|
"ABOMINATIONS INBOUND: {M} GATHERING BY {L}."
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
"AD VICTORIAM, BROTHERS.",
|
||||||
|
"ONLY THROUGH TECHNOLOGY CAN WE SAVE THIS WORLD FROM ITSELF.",
|
||||||
|
"CIVILIANS SHOULD STAND ASIDE. THIS IS BROTHERHOOD BUSINESS.",
|
||||||
|
"CLEANSE THE COMMONWEALTH OF THE MUTANT, THE GHOUL, AND THE SYNTH.",
|
||||||
|
"CHECK YOUR POWER ARMOR SEALS. COMBAT IMMINENT."
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// ==============================================================================
|
||||||
|
// MINUTEMEN
|
||||||
|
// ==============================================================================
|
||||||
|
"MINUTEMEN": {
|
||||||
|
intercept: [
|
||||||
|
"GENERAL, {T} SPOTTED A {E}. WE'RE TAKING THE SHOT.",
|
||||||
|
"MILITIA ALERT: {T} IS FIRING ON {E}.",
|
||||||
|
"WE GOT COMPANY! {T} ENGAGING {E}.",
|
||||||
|
"MINUTEMEN HOLDING THE LINE. {T} AIMING AT {E}.",
|
||||||
|
"PROTECT THE SETTLEMENT! {T} TARGETING {E}."
|
||||||
|
],
|
||||||
|
kill: [
|
||||||
|
"{E} IS DOWN. GOOD JOB, MILITIA.",
|
||||||
|
"TARGET {E} STOPPED DEAD. KEEP IT UP!",
|
||||||
|
"THAT'S ONE LESS MONSTER FOR THE COMMONWEALTH. {E} KILLED.",
|
||||||
|
"WE GOT 'EM! {E} ELIMINATED.",
|
||||||
|
"GENERAL, {E} THREAT HAS BEEN HANDLED."
|
||||||
|
],
|
||||||
|
target_change: [
|
||||||
|
"{T} CRANKING MUSKETS. STAND BY.",
|
||||||
|
"{T} SWITCHING TARGETS. DON'T LET THEM THROUGH!",
|
||||||
|
"{T} RELOADING. GIVE 'EM SOME COVER!",
|
||||||
|
"FIND A NEW MARK! {T} RE-AIMING."
|
||||||
|
],
|
||||||
|
multikill: [
|
||||||
|
"ARTILLERY HIT DEAD CENTER! MULTIPLE TARGETS GONE!",
|
||||||
|
"BIG EXPLOSION ON THE FIELD! HORDE DECIMATED!",
|
||||||
|
"THAT'LL LEAVE A CRATER! SWARM NEUTRALIZED.",
|
||||||
|
"CASTLE BOMBARDMENT SUCCESSFUL. AREA CLEAR."
|
||||||
|
],
|
||||||
|
threat_flying: [
|
||||||
|
"GENERAL! LOOK UP! {E} COMING IN FROM THE SKY!",
|
||||||
|
"FLYING BEASTS SPOTTED! BRING THAT {E} DOWN!",
|
||||||
|
"AERIAL THREAT! {E} INBOUND!"
|
||||||
|
],
|
||||||
|
threat_stealth: [
|
||||||
|
"WATCH THE SHADOWS! CLOAKED {E} DETECTED!",
|
||||||
|
"SOMETHING'S OUT THERE... IT'S A {E}! OPEN FIRE!",
|
||||||
|
"INVISIBLE FREAKS! LIGHT 'EM UP!"
|
||||||
|
],
|
||||||
|
threat_swarm: [
|
||||||
|
"GENERAL, WE HAVE A MASSIVE SWARM COMING RIGHT AT US!",
|
||||||
|
"IT'S A WHOLE HORDE! EVERYONE TO THE WALLS!",
|
||||||
|
"THERE'S TOO MANY OF THEM! HOLD THE LINE!"
|
||||||
|
],
|
||||||
|
path_progress: [
|
||||||
|
"GENERAL! THEY'VE MADE IT PAST {P} OF THE DEFENSES!",
|
||||||
|
"THEY'RE PUSHING DEEP! {E} AT THE {P} MARK!",
|
||||||
|
"WE'RE LOSING GROUND! THREAT AT {P}!"
|
||||||
|
],
|
||||||
|
base_damage: [
|
||||||
|
"GENERAL! THE SETTLEMENT IS UNDER ATTACK!",
|
||||||
|
"THE WALLS ARE GIVING WAY! WE NEED HELP!",
|
||||||
|
"WE'RE TAKING HEAVY DAMAGE! FALL BACK TO THE KEEPS!"
|
||||||
|
],
|
||||||
|
tower_upgrade: [
|
||||||
|
"SETTLERS DELIVERED NEW PARTS. {T} UPGRADED.",
|
||||||
|
"CRANK IT UP! {T} JUST GOT STRONGER.",
|
||||||
|
"MILITIA GEAR IMPROVED FOR {T}."
|
||||||
|
],
|
||||||
|
tower_max: [
|
||||||
|
"{T} IS AS GOOD AS IT GETS, GENERAL.",
|
||||||
|
"MAXIMUM FIREPOWER ACHIEVED FOR {T}.",
|
||||||
|
"THE CASTLE'S BEST TECH IS NOW ON {T}."
|
||||||
|
],
|
||||||
|
tower_unlock: [
|
||||||
|
"RADIO FREEDOM REPORTS NEW VOLUNTEERS. {T} AVAILABLE.",
|
||||||
|
"GENERAL, WE CAN NOW BUILD {T}."
|
||||||
|
],
|
||||||
|
wave_start: [
|
||||||
|
"GENERAL, WE HAVE {M} COMING FROM {L}!",
|
||||||
|
"MILITIA ALERT: {M} SPOTTED BY {L}.",
|
||||||
|
"SETTLEMENT UNDER THREAT! {M} MASSING AT {L}.",
|
||||||
|
"DEFEND THE WALLS! {M} CROSSING {L}."
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
"ANOTHER SETTLEMENT NEEDS YOUR HELP. I'LL MARK IT ON YOUR MAP.",
|
||||||
|
"AT A MINUTE'S NOTICE, WE'LL BE THERE.",
|
||||||
|
"WE STAND TOGETHER OR WE FALL APART. THAT'S WHAT IT MEANS TO BE MINUTEMEN.",
|
||||||
|
"HOPE YOU BROUGHT ENOUGH CRANKS FOR THAT MUSKET.",
|
||||||
|
"FOR THE COMMONWEALTH!"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// ==============================================================================
|
||||||
|
// RAIDERS
|
||||||
|
// ==============================================================================
|
||||||
|
"RAIDERS": {
|
||||||
|
intercept: [
|
||||||
|
"OVERBOSS, {T} IS LIGHTIN' UP THAT {E}!",
|
||||||
|
"LOOK AT THAT {E} BLEED! {T} IS BLASTIN'!",
|
||||||
|
"FRESH MEAT! {T} SHOOTING AT {E}!",
|
||||||
|
"{T} SEES A {E}! KILL IT! KILL IT NOW!",
|
||||||
|
"GET THE SCRAP! {T} IS FIRING ON {E}!"
|
||||||
|
],
|
||||||
|
kill: [
|
||||||
|
"HAHA! {E} IS DEAD! STRIP IT FOR PARTS!",
|
||||||
|
"ANOTHER ONE BITES THE DUST! {E} GANKED!",
|
||||||
|
"{E} IS GIBBED! THAT WAS AWESOME!",
|
||||||
|
"BLOOD EVERYWHERE! {E} DESTROYED!",
|
||||||
|
"THAT {E} IS MINE! DON'T TOUCH THE LOOT!"
|
||||||
|
],
|
||||||
|
target_change: [
|
||||||
|
"{T} IS OUTTA BULLETS! SWAPPING MAGS!",
|
||||||
|
"GIMME A SEC, {T} NEEDS MORE AMMO!",
|
||||||
|
"WHO'S NEXT?! {T} FINDING A NEW VICTIM!",
|
||||||
|
"{T} IS JAMMED! HOLD ON!"
|
||||||
|
],
|
||||||
|
multikill: [
|
||||||
|
"BOOM! HAHAHA! LOOK AT ALL THOSE PIECES!",
|
||||||
|
"MASSIVE EXPLOSION! THEY'RE ALL DEAD!",
|
||||||
|
"THAT WAS SICK! SHRAPNEL EVERYWHERE!",
|
||||||
|
"I WANT ANOTHER EXPLOSION LIKE THAT!"
|
||||||
|
],
|
||||||
|
threat_flying: [
|
||||||
|
"IT'S A {E} IN THE SKY! SHOOT IT DOWN!",
|
||||||
|
"FLYING SCRAP! GET THAT {E}!",
|
||||||
|
"LOOK UP, IDIOTS! AIRBORNE {E}!"
|
||||||
|
],
|
||||||
|
threat_stealth: [
|
||||||
|
"I SAW IT BLINK! INVISIBLE {E} OVER THERE!",
|
||||||
|
"SNEAKY COWARD REVEALED! KILL THE {E}!",
|
||||||
|
"NIGHTKIN TRICKS! I SEE YOU, {E}!"
|
||||||
|
],
|
||||||
|
threat_swarm: [
|
||||||
|
"LOOK AT THE SIZE OF THAT HORDE! OPEN FIRE!",
|
||||||
|
"SWARM! SWARM! GET THE BIG GUNS!",
|
||||||
|
"THEY'RE SWARMING! THIS IS GONNA BE A BLOODBATH!"
|
||||||
|
],
|
||||||
|
path_progress: [
|
||||||
|
"OVERBOSS! THEY'RE PAST {P}! DO SOMETHING!",
|
||||||
|
"HEY! {E} IS SNEAKING PAST! AT {P}!",
|
||||||
|
"STOP THEM! THEY CROSSED {P}!"
|
||||||
|
],
|
||||||
|
base_damage: [
|
||||||
|
"AAAGH! WE'RE GETTING RIPPED APART!",
|
||||||
|
"THE GATES ARE BUSTED! THEY'RE IN THE BASE!",
|
||||||
|
"DEFEND THE STASH! WE'RE TAKING HITS!"
|
||||||
|
],
|
||||||
|
tower_upgrade: [
|
||||||
|
"DUCT TAPE AND RUST! {T} IS UPGRADED!",
|
||||||
|
"SLAPPED SOME NEW SPIKES ON {T}!",
|
||||||
|
"MORE DAKKA! {T} JUST GOT MEANER!"
|
||||||
|
],
|
||||||
|
tower_max: [
|
||||||
|
"THAT'S AS BIG AS {T} GETS! PURE DESTRUCTION!",
|
||||||
|
"{T} IS MAXED OUT! READY TO SLAUGHTER!",
|
||||||
|
"NOTHING CAN BEAT THIS {T} NOW!"
|
||||||
|
],
|
||||||
|
tower_unlock: [
|
||||||
|
"OVERBOSS, THE BOYS SCRAPPED TOGETHER A {T}!",
|
||||||
|
"WE FINALLY FIXED THE {T}! READY TO BUILD!"
|
||||||
|
],
|
||||||
|
wave_start: [
|
||||||
|
"FRESH MEAT OVER BY {L}! LOOKS LIKE {M}!",
|
||||||
|
"OVERBOSS, WE GOT {M} TRYING TO SNEAK THROUGH {L}!",
|
||||||
|
"HAHAHA! {M} WANDERING INTO {L}! GET 'EM!",
|
||||||
|
"LOAD YOUR GUNS! {M} AT {L}!"
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
"HIT THE PSYCHO! I WANT TO HEAR THEM SCREAM!",
|
||||||
|
"I'M GONNA MAKE A NECKLACE OUT OF THEIR TEETH!",
|
||||||
|
"THE PACK RULES THIS WASTELAND!",
|
||||||
|
"GIMME THE JET! GIMME IT NOW!",
|
||||||
|
"YIELD TO THE OVERBOSS OR DIE!"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
// ==============================================================================
|
||||||
|
// GENERAL / VAULT-TEC UI SYSTEMS (Used by all factions for system prompts)
|
||||||
|
// ==============================================================================
|
||||||
|
"GENERAL": {
|
||||||
|
locations: [
|
||||||
|
"THE NORTHERN RIDGE", "SECTOR 7G", "THE RUINED OVERPASS",
|
||||||
|
"THE CRATER", "THE EASTERN PERIMETER", "CHECKPOINT GAMMA",
|
||||||
|
"THE OLD SCRAPYARD", "THE MAIN ROAD"
|
||||||
|
],
|
||||||
|
loot_drop: [
|
||||||
|
|
||||||
|
"PIP-BOY ALERT: VALUABLE SALVAGE DETECTED ON FIELD.",
|
||||||
|
"SYSTEM: UNKNOWN COMMODITY DROPPED. RETRIEVAL RECOMMENDED.",
|
||||||
|
"VAULT-TEC SENSORS: CAPS OR SUPPLIES DETECTED."
|
||||||
|
],
|
||||||
|
loot_lost: [
|
||||||
|
"PIP-BOY ALERT: SALVAGE DEGRADED. ITEMS LOST.",
|
||||||
|
"SYSTEM: FIELD SUPPLIES EXPIRED BEFORE RECOVERY.",
|
||||||
|
"OVERSEER ALERT: STOP LEAVING GOOD SALVAGE IN THE DIRT."
|
||||||
|
],
|
||||||
|
caps_hoarding: [
|
||||||
|
"OVERSEER ADVISORY: HIGH CAP VOLUME DETECTED. SPEND TO SURVIVE.",
|
||||||
|
"PIP-BOY: MASSIVE BANKROLL AVAILABLE. CONSTRUCT DEFENSES IMMEDIATELY.",
|
||||||
|
"SYSTEM: CAPS EXCEED RECOMMENDATIONS. UPGRADE TOWERS NOW."
|
||||||
|
],
|
||||||
|
vats_ready: [
|
||||||
|
"V.A.T.S. CAPACITORS 100%. READY FOR MANUAL OVERRIDE.",
|
||||||
|
"VAULT-TEC ASSISTED TARGETING SYSTEM FULLY CHARGED.",
|
||||||
|
"V.A.T.S. OVERDRIVE AVAILABLE. AWAITING INPUT."
|
||||||
|
],
|
||||||
|
vats_used: [
|
||||||
|
"V.A.T.S. ENGAGED. TIME DILATION PROTOCOLS ACTIVE.",
|
||||||
|
"MANUAL TARGETING OVERRIDE ACCEPTED. FIRING V.A.T.S.",
|
||||||
|
"V.A.T.S. ONLINE. CALCULATING LETHAL TRAJECTORIES."
|
||||||
|
],
|
||||||
|
consumable_used: [
|
||||||
|
"INVENTORY: TACTICAL CONSUMABLE DEPLOYED ON FIELD.",
|
||||||
|
"PIP-BOY: ITEM EXPENDED FROM CACHE.",
|
||||||
|
"GEAR UTILIZED. WATCH THE BLAST ZONE."
|
||||||
|
],
|
||||||
|
special_S: ["S.P.E.C.I.A.L.: STRENGTH OVERDRIVE. MAXIMIZING KINETIC DAMAGE."],
|
||||||
|
special_P: ["S.P.E.C.I.A.L.: PERCEPTION OVERDRIVE. INFINITE SENSING RANGE."],
|
||||||
|
special_E: ["S.P.E.C.I.A.L.: ENDURANCE OVERDRIVE. DAMAGE MITIGATION ACTIVE."],
|
||||||
|
special_C: ["S.P.E.C.I.A.L.: CHARISMA OVERDRIVE. CALLING IN CARAVAN FUNDS."],
|
||||||
|
special_I: ["S.P.E.C.I.A.L.: INTELLIGENCE OVERDRIVE. MASSIVE XP INJECTION TO TOWERS."],
|
||||||
|
special_A: ["S.P.E.C.I.A.L.: AGILITY OVERDRIVE. FLUSHING ALL COOLDOWNS."],
|
||||||
|
special_L: ["S.P.E.C.I.A.L.: LUCK OVERDRIVE. LUNCHBOX MIRACLE PROC TRIGGERED."],
|
||||||
|
|
||||||
|
// --- NEW: TACTICAL ADVISORY & EARLY WARNINGS ---
|
||||||
|
threat_flying_prep: [
|
||||||
|
"LONG RANGE RADAR DETECTS AIRBORNE BOGEYS GATHERING. ETA: 1 WAVE.",
|
||||||
|
"AERIAL MUTATIONS EXPECTED NEXT WAVE. PREPARE ANTI-AIR DEFENSES.",
|
||||||
|
"WARNING: FLIGHT-CAPABLE HOSTILES DETECTED ON APPROACH VECTOR."
|
||||||
|
],
|
||||||
|
threat_stealth_prep: [
|
||||||
|
"THERMAL DISTURBANCES DETECTED. CLOAKED UNITS EXPECTED NEXT WAVE.",
|
||||||
|
"WARNING: ACTIVE CAMOUFLAGE SIGNATURES SPOOFING RADAR. ETA: NEXT WAVE.",
|
||||||
|
"PREPARE DETECTION NETWORKS. INVISIBLE THREATS INBOUND."
|
||||||
|
],
|
||||||
|
threat_flying_now: [
|
||||||
|
"AIRBORNE HOSTILES ON SCOPE! EYES TO THE SKIES!",
|
||||||
|
"AERIAL ASSAULT HAS BEGUN. INTERCEPT PROTOCOLS ENGAGED.",
|
||||||
|
"FLYERS IN THE PERIMETER. BRING THEM DOWN!"
|
||||||
|
],
|
||||||
|
threat_stealth_now: [
|
||||||
|
"CLOAKED UNITS ARE CROSSING THE LINE! SENSORS UP!",
|
||||||
|
"INVISIBLE THREATS ON THE FIELD. SPOTTERS REQUIRED!",
|
||||||
|
"STEALTH HOSTILES HAVE INFILTRATED THE SECTOR!"
|
||||||
|
],
|
||||||
|
tactical_no_antiair: [
|
||||||
|
"CRITICAL VULNERABILITY: INSUFFICIENT ANTI-AIR CAPABILITIES DETECTED.",
|
||||||
|
"WARNING: CURRENT GRID LACKS WEAPONS RATED FOR FLYING TARGETS.",
|
||||||
|
"OVERSEER ALERT: BUILD ANTI-AIR DEFENSES IMMEDIATELY OR WE WILL BE OVERRUN."
|
||||||
|
],
|
||||||
|
tactical_no_detector: [
|
||||||
|
"CRITICAL VULNERABILITY: NO DETECTION NETWORKS ACTIVE. STEALTH UNITS IMPERVIOUS.",
|
||||||
|
"WARNING: CLOAKED UNITS ARE UNOPPOSED. BUILD RADAR OR DETECTORS NOW.",
|
||||||
|
"OVERSEER ALERT: WE ARE BLIND TO STEALTH. DEPLOY SPOTTERS IMMEDIATELY."
|
||||||
|
],
|
||||||
|
tactical_dead_zone: [
|
||||||
|
"TACTICAL ALERT: HOSTILES TRAVERSING UNOPPOSED. DEFENSE GAP DETECTED.",
|
||||||
|
"WARNING: ENEMY UNITS MOVING FREELY THROUGH BLIND SPOT.",
|
||||||
|
"OVERSEER ALERT: DEAD ZONE BREACHED. ZERO SHOTS FIRED IN PAST 6 SECONDS."
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
|
||||||
|
// DYNAMIC HOLIDAY MODIFIERS
|
||||||
|
// ==========================================
|
||||||
|
// Add your other holidays here following this exact structure!
|
||||||
|
holiday_modifiers: {
|
||||||
|
"Halloween": {
|
||||||
|
e_flair: ["SPOOKY {E}", "UNDEAD {E}", "HEADLESS {E}", "TERRIFYING {E}", "MUTATED {E} WITH FANGS"],
|
||||||
|
t_flair: ["HAUNTED {T}", "GHOSTLY {T}", "CURSED {T}", "PUMPKIN-DECORATED {T}", "BONE-PLATED {T}"],
|
||||||
|
p_flair: ["A FRIGHTENING {P}", "A GHASTLY {P}", "A TERRIFYING {P}", "A BLOOD-CURDLING {P}", "A BONE-CHILLING {P}"],
|
||||||
|
faction_append: {
|
||||||
|
"NCR": " HAPPY HALLOWEEN, TROOPERS.",
|
||||||
|
"BOS": " NO GHOST WILL STOP THE BROTHERHOOD.",
|
||||||
|
"MINUTEMEN": " PROTECT THE CANDY CACHE!",
|
||||||
|
"RAIDERS": " TRICK OR TREAT, DEAD MEAT!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Christmas Day": {
|
||||||
|
e_flair: ["FESTIVE {E}", "{E} WEARING A SANTA HAT", "SNOW-COVERED {E}", "FROSTY {E}", "JINGLE-BELL {E}"],
|
||||||
|
t_flair: ["MERRY {T}", "CANDY-CANE {T}", "GIFT-WRAPPED {T}", "WINTERIZED {T}", "EGGNOG-FUELED {T}"],
|
||||||
|
p_flair: ["A CHILLY {P}", "A JOLLY {P}", "A MERRY {P}", "A FREEZING {P}", "A FESTIVE {P}"],
|
||||||
|
faction_append: {
|
||||||
|
"NCR": " MERRY CHRISTMAS, RANGERS.",
|
||||||
|
"BOS": " DELIVERING HOLIDAY CHEER VIA LASER.",
|
||||||
|
"MINUTEMEN": " GENERAL SAYS MERRY CHRISTMAS.",
|
||||||
|
"RAIDERS": " SANTA'S DEAD! WE GOT HIS STUFF!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"4th of July": {
|
||||||
|
e_flair: ["REDCOAT {E}", "UNPATRIOTIC {E}", "COMMIE {E}", "TYRANNICAL {E}", "ANTI-FREEDOM {E}"],
|
||||||
|
t_flair: ["PATRIOTIC {T}", "STAR-SPANGLED {T}", "INDEPENDENCE {T}", "LIBERTY {T}", "EAGLE-EYED {T}"],
|
||||||
|
p_flair: ["A REVOLUTIONARY {P}", "A PATRIOTIC {P}", "A FREE {P}", "AN EXPLOSIVE {P}", "A LIBERATED {P}"],
|
||||||
|
faction_append: {
|
||||||
|
"NCR": " LET FREEDOM RING.",
|
||||||
|
"BOS": " PURGING THE ENEMIES OF FREEDOM.",
|
||||||
|
"MINUTEMEN": " JUST LIKE THE FOUNDING FATHERS INTENDED.",
|
||||||
|
"RAIDERS": " MORE FIREWORKS! BLOW IT ALL UP!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ... (You can add Valentines, MLK Day, Easter, etc. here using this exact format)
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// Identifies if today is a holiday
|
||||||
|
getCurrentHoliday: function() {
|
||||||
|
var d = new Date();
|
||||||
|
var m = d.getMonth() + 1; // 1-12
|
||||||
|
var date = d.getDate(); // 1-31
|
||||||
|
var day = d.getDay(); // 0-6 (Sun-Sat)
|
||||||
|
var week = Math.ceil(date / 7);
|
||||||
|
|
||||||
|
if (m === 1 && date === 1) return "New Years";
|
||||||
|
if (m === 1 && day === 1 && week === 3) return "MLK Day";
|
||||||
|
if (m === 2 && date === 14) return "Valentines";
|
||||||
|
if (m === 3 && date === 17) return "St Patricks";
|
||||||
|
if (m === 4 && date <= 10) return "Easter"; // Easter shifts, so we cover early April
|
||||||
|
if (m === 5 && day === 0 && week === 2) return "Mothers Day";
|
||||||
|
if (m === 5 && day === 1 && date > 24) return "Memorial Day";
|
||||||
|
if (m === 6 && date === 19) return "Juneteenth";
|
||||||
|
if (m === 6 && day === 0 && week === 3) return "Fathers Day";
|
||||||
|
if (m === 7 && date === 4) return "4th of July";
|
||||||
|
if (m === 9 && day === 1 && week === 1) return "Labor Day";
|
||||||
|
if (m === 10 && day === 1 && week === 2) return "Columbus Day";
|
||||||
|
if (m === 10 && date === 23) return "The Great War";
|
||||||
|
if (m === 10 && date === 31) return "Halloween";
|
||||||
|
if (m === 11 && date === 11) return "Veterans Day";
|
||||||
|
if (m === 11 && day === 4 && week === 4) return "Thanksgiving";
|
||||||
|
if (m === 12 && date === 24) return "Christmas Eve";
|
||||||
|
if (m === 12 && date === 25) return "Christmas Day";
|
||||||
|
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
|
||||||
|
// ==========================================
|
||||||
|
// GENERATOR FUNCTIONS
|
||||||
|
// ==========================================
|
||||||
|
// Called for specific events
|
||||||
|
getEvent: function(category, faction, towerName, enemyName, percent) {
|
||||||
|
var arr = null;
|
||||||
|
if (faction && this.factions[faction] && this.factions[faction][category]) {
|
||||||
|
arr = this.factions[faction][category];
|
||||||
|
} else if (this.factions["GENERAL"][category]) {
|
||||||
|
arr = this.factions["GENERAL"][category];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!arr || arr.length === 0) return "";
|
||||||
|
var sentence = arr[Math.floor(Math.random() * arr.length)];
|
||||||
|
|
||||||
|
var holiday = this.getCurrentHoliday();
|
||||||
|
var suffix = "";
|
||||||
|
|
||||||
|
// Apply Holiday Flair (50% chance to modify words, 30% chance to append battle-cry)
|
||||||
|
if (holiday && this.holiday_modifiers && this.holiday_modifiers[holiday]) {
|
||||||
|
var mods = this.holiday_modifiers[holiday];
|
||||||
|
|
||||||
|
if (enemyName && mods.e_flair && Math.random() > 0.5) {
|
||||||
|
enemyName = mods.e_flair[Math.floor(Math.random() * mods.e_flair.length)].replace("{E}", enemyName);
|
||||||
|
}
|
||||||
|
if (towerName && mods.t_flair && Math.random() > 0.5) {
|
||||||
|
towerName = mods.t_flair[Math.floor(Math.random() * mods.t_flair.length)].replace("{T}", towerName);
|
||||||
|
}
|
||||||
|
if (percent && mods.p_flair && Math.random() > 0.5) {
|
||||||
|
percent = mods.p_flair[Math.floor(Math.random() * mods.p_flair.length)].replace("{P}", percent + "%");
|
||||||
|
} else if (percent) {
|
||||||
|
percent = percent + "%";
|
||||||
|
}
|
||||||
|
if (faction && mods.faction_append && mods.faction_append[faction] && Math.random() > 0.7) {
|
||||||
|
suffix = mods.faction_append[faction];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (percent) percent = percent + "%"; // Standard formatting if no holiday
|
||||||
|
}
|
||||||
|
|
||||||
|
// Final string replacement
|
||||||
|
if (towerName) sentence = sentence.replace(/{T}/g, towerName.toUpperCase());
|
||||||
|
if (enemyName) sentence = sentence.replace(/{E}/g, enemyName.toUpperCase());
|
||||||
|
if (percent) sentence = sentence.replace(/{P}/g, percent.toUpperCase());
|
||||||
|
|
||||||
|
// NEW: Location and Monster List tags
|
||||||
|
if (sentence.indexOf("{L}") !== -1) {
|
||||||
|
var locs = this.factions["GENERAL"].locations;
|
||||||
|
sentence = sentence.replace(/{L}/g, locs[Math.floor(Math.random() * locs.length)]);
|
||||||
|
}
|
||||||
|
// If a monster string wasn't provided but is needed, leave it blank (the engine will inject it later)
|
||||||
|
|
||||||
|
return sentence + suffix;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// Background random chatter (Pulls strictly from the currently active faction's flavor array)
|
||||||
|
generateChatter: function(faction) {
|
||||||
|
if (!faction || !this.factions[faction] || !this.factions[faction].flavor) faction = "NCR"; // Failsafe
|
||||||
|
var arr = this.factions[faction].flavor;
|
||||||
|
return arr[Math.floor(Math.random() * arr.length)].toUpperCase();
|
||||||
|
}
|
||||||
|
};
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue