diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index f80052c74c5de8763a02053c3dc7766b68ff4375..9e544123b389ba8e6d3aa4bc8e1678b24732c54c 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -2129,11 +2129,15 @@ window.getCost = function(array) { } } +if(State.variables.SF.Toggle && State.variables.SF.Active >= 1 && State.variables.SF.Subsidy) { + costs += Math.ceil((10000*(State.variables.SFUnit.Troops/10))*1+(State.variables.arcologies[0].prosperity/100)*1+(State.variables.SF.Units/100)); +} + // clean up if(costs < 0) { costs = 0; } else { - costs = Math.trunc(costs); + costs = Math.ceil(costs); } return costs; @@ -2391,7 +2395,7 @@ window.getSlaveCost = function(s) { cost += drugsCost * 5; break; case 'sag-B-gone': - cost += drugsCost * .1; + cost += Math.trunc(drugsCost * .1); break; case 'no drugs': case 'none': break; @@ -2403,16 +2407,16 @@ window.getSlaveCost = function(s) { cost += drugsCost * s.curatives; } if(s.aphrodisiacs !== 0) { - cost += drugsCost * Math.abs(s.aphrodisiacs); + cost += Math.trunc(drugsCost * Math.abs(s.aphrodisiacs)); } if(s.hormones !== 0) { - cost += (drugsCost * Math.abs(s.hormones) * 0.5); + cost += Math.trunc((drugsCost * Math.abs(s.hormones) * 0.5)); } if(s.bodySwap > 0) { - cost += (drugsCost * s.bodySwap * 10); + cost += Math.trunc((drugsCost * s.bodySwap * 10)); } if(s.preg === -1 && isFertile(s)) { - cost += (drugsCost * 0.5); + cost += Math.trunc((drugsCost * 0.5)); } // Promotion costs @@ -30678,3 +30682,445 @@ window.disabilityRoll = function disabilityRoll(slave) { } V.oneTimeDisableDisability = 0; }; + +/*SecForceEX JS*/ +window.SFC = function() { + const V = State.variables; + if (V.SFTradeShow.CanAttend === -1) {return `The Colonel`;} + else { + if (V.LieutenantColonel > 0) {return `Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>>`;} + else {return `a designated soldier`;}} +}; + +window.SFCR = function() { + const V = State.variables, C = V.SFColonel; + if (C.Status <= 19) {return `boss`;} + else if (C.Status <= 39) {return `friend`;} + else {return `fuckbuddy`;} +}; + +window.TroopDec = function() { + const V = State.variables, commom = "the <<print commaNum($SFUnit.Troops)>> members of $SF.Lower", S = V.SFUnit; + if (S.Troops < 100) {return `sparsely occupied, ${commom} residing within them concentrating together in a corner. The hundreds of empty beds and lockers visibly herald the future`;} + else if (S.Troops < 400) {return `lightly occupied, with ${commom} starting to spread out across them`;} + else if (S.Troops < 800) {return `moderately occupied, though ${commom} residing within have a considerable amount of extra room`;} + else if (S.Troops < 1500) {return `well-occupied, and ${commom} residing within have started to form small cliques based on section and row`;} + else {return `near capacity, and ${commom} often barter their personal loot, whether it be monetary or human, for the choicest bunks`;} +}; + +window.HSM = function() { + const V = State.variables; + if (V.PC.hacking <= -100) {return 1.5;} + else if (V.PC.hacking <= -75) {return 1.35;} + else if (V.PC.hacking <= -50) {return 1.25;} + else if (V.PC.hacking <= -25) {return 1.15;} + else if (V.PC.hacking < 0) {return 1.10;} + else if (V.PC.hacking === 0) {return 1;} + else if (V.PC.hacking <= 10) {return 0.97;} + else if (V.PC.hacking <= 25) {return 0.95;} + else if (V.PC.hacking <= 50) {return 0.90;} + else if (V.PC.hacking <= 75) {return 0.85;} + else if (V.PC.hacking <= 100) {return 0.80;} + else {return 0.75;} +}; + +window.Count = function() { + const V = State.variables, T = State.temporary, C = Math.clamp, S = V.SFUnit, E = V.economy; + T.FU = 10,S.Firebase = C(S.Firebase, 0, T.FU); + T.AU = 10,S.Armoury = C(S.Armoury, 0, T.AU); + T.DrugsU = 10,S.Drugs = C(S.Drugs, 0, T.DrugsU); + T.DU = 10,S.Drones = C(S.Drones, 0, T.DU); + T.AVU = 10,S.AV = C(S.AV, 0, T.AVU); + T.TVU = 10,S.TV = C(S.TV, 0, T.TVU); + T.AAU = 10,S.AA = C(S.AA, 0, T.AAU); + T.TAU = 10,S.TA = C(S.TA, 0, T.TAU); + if (V.PC.warfare >= 75) {T.PGTU = 10,T.SPU = 10,T.GunSU = 10,T.SatU = 10,T.GRU = 10,T.MSU = 10,T.ACU = 10,T.SubU = 10,T.HATU = 10;} + else if (V.PC.warfare >= 50) {T.PGTU = 9,T.SPU = 9,T.GunSU = 9,T.SatU = 9,T.GRU = 9,T.MSU = 9,T.ACU = 9,T.SubU = 9,T.HATU = 9;} + else {T.PGTU = 8,T.SPU = 8,T.GunSU = 8,T.SatU = 8,T.GRU = 8,T.MSU = 8,T.ACU = 8,T.SubU = 8,T.HATU = 8;} + S.PGT = C(S.PGT, 0, T.PGTU); + S.SpacePlane = C(S.SpacePlane, 0, T.SPU), S.GunS = C(S.GunS, 0, T.GunSU); + S.Satellite = C(S.Satellite, 0, T.SatU), S.GiantRobot = C(S.GiantRobot, 0, T.GRU), S.MissileSilo = C(S.MissileSilo, 0, T.MSU); + S.AircraftCarrier = C(S.AircraftCarrier, 0, T.ACU),S.Sub = C(S.Sub, 0, T.SubU),S.HAT = C(S.HAT, 0, T.HATU); + T.GU = T.AVU+T.TVU+T.PGTU, T.G = S.AV+S.TV+S.PGT; + T.H = S.AA+S.TA+S.SpacePlane+S.GunS, T.HU = T.AAU+T.TAU+T.SPU+T.GunSU; + T.LBU = T.SatU + T.MSU, T.LB = S.Satellite + S.MissileSilo; + T.Base = S.Firebase + S.Armoury + S.Drugs + S.Drones + T.H; + T.BaseU = T.FU + T.AU + T.DrugsU + T.DU + T.HU; + if (V.terrain !== "oceanic") T.LBU += T.GRU, T.LB += S.GiantRobot, T.Base += T.G, T.BaseU += T.GU; + T.max = T.BaseU + T.LBU, V.SF.Units = T.Base + T.LB; + if (V.terrain === "oceanic" || V.terrain === "marine") { + T.NY = S.AircraftCarrier + S.Sub + S.HAT, V.SF.Units += T.NY; + T.NYU = T.ACU + T.SubU + T.HATU, T.max += T.NYU;} + V.SF.Units = C(V.SF.Units, 0, T.max); + if (E < 1) {T.Env = 4;} + else if (E < 1.5) {T.Env = 3;} + else {T.Env = 2;} +}; + +window.Firebase = function() { + const V = State.variables, S = V.SFUnit; + var appear = `is currently constructed in a haphazard fashion.`, barracks = `Soldiers' cots are mixed in with weapons crates and ammunition.`, slave = `Cages for processing slaves lie off to one side,`, common = `and in the center is a common area with tables for soldiers to gather around for meals or rowdy conversations.`, garage = ``, drone = ``, hangar = ``, launch = ``, artillery = ``, comms = ``, training = ``; + + if (S.Firebase >= 1) {appear = `has had some organization put into it.`, barracks = `The majority of weapons, armor, and ammunition have been separated from the soldiers' cots into their own armory.`, garage = `A section near the outer wall of the arcology has been converted to a garage with an adjoining vehicle maintenance bay`, drone = `.`; + if (V.terrain === "oceanic") garage += ` for inter-arcology travel`;} + if (S.Firebase >= 2) barracks = `A barracks has been constructed near the armory, allowing soldiers a quieter place to sleep and store their personal spoils.`, drone = `, as well as a facility for the storage, maintenance, and deployment of armed combat drones.`; + if (S.Firebase >= 3) appear = `has become more permanent.`, barracks = `A command center has been constructed near the barracks and armory, allowing for additional support personnel.`; + if (S.Firebase >= 4) hangar = `Hangar space for storing and repairing aircraft has been converted from unused space on the other side of the garage.`; + if (S.Firebase >= 5) { + appear = `is nearing the appearance of a military base.`, launch = `The rest of the firebase has been designated for special projects.`, artillery = `Artillery batteries are set around the base of the arcology.`; + if (V.terrain === "oceanic" || V.terrain === "marine") launch += ` A Naval Yard has been constructed in the waters near the arcology.`;} + if (S.Firebase >= 6) common = `and in the center is a common area for recreation, including a small movie theater and a mess hall.`; + if (S.Firebase >= 7) {slave = `A slave detention facility has been sectioned off to one side`; + if (V.SF.Depravity > 1.5) slave += ` emanating the sounds of rape and torture`; + slave += `,`;} + if (S.Firebase >= 8) appear = `has become a fully fledged military base.`, comms = `A Free City-wide communication network for $SF.Lower has been constructed to faciltate faster responses and efficent monitoring of the surrounding area.`; + if (S.Firebase >= 9) training = `A high-tech killhouse has been constructed to aid in soldier training.`; + if (S.Firebase >= 10) artillery = `Railgun artillery batteries are set around the base of the arcology, capable of accurately destroying enemies an absurd distance away.`; + + return `The firebase ${appear} ${barracks} ${comms} ${training} ${slave} ${common} ${garage}${drone} ${hangar} ${launch} ${artillery}`; +}; + +window.Armoury = function() { + const V = State.variables, S = V.SFUnit; + var weapons = `The weapons are mostly worn rifles that have already seen years of service before $SF.Lower aquired them.`, armor = `The body armor is enough to stop smaller calibers, but nothing serious.`, comms = ``, helmets = ``, ammo = ``, uniforms = ``, special = ``, exo = ``; + + if (S.Armoury >= 1) comms = `Radios have been wired into the soldiers helmets`, helmets = `.`; + if (S.Armoury >= 2) helmets = ` and a HUD has been integrated into the soldier's eyewear.`; + if (S.Armoury >= 3) ammo = `Tactical vests have been provided, allowing soldiers to carry additional ammo.`; + if (S.Armoury >= 4) armor = `The body armor is a newer variant, able to stop small arms fire and protect against shrapnel.`; + if (S.Armoury >= 5) weapons = `The weapons are modern rifles and sidearms, putting $SF.Lower on par with rival mercenary outfits.`; + if (S.Armoury >= 6) uniforms = `New uniforms have been distributed that are more comfortable and made of breatheable fabric to keep soldiers from overheating.`; + if (S.Armoury >= 7) special = `Specialized weaponry is available for various roles, allowing more flexibility in planning.`; + if (S.Armoury >= 8) helmets = `and a HUD and camera display have been integrated into soldiers' eyewear, enabling accurate aim around corners or from behind cover`; + if (S.Armoury >= 9) exo = `An exosuit has been developed to reduce the amount of weight soldiers carry, increase lifting strength, and move faster in combat.`; + if (S.Armoury >= 10) weapons = `Cutting-edge weaponry is available to $SF.Lower, far outpacing the ability of rival mercenary outfits.`; + + return `The armory holds soldiers' weapons and gear while not in training or combat. ${weapons} ${special} ${armor} ${comms}${helmets} ${ammo} ${uniforms} ${exo}`; +}; + +window.Drugs = function() { + const V = State.variables, S = V.SFUnit; + var amphet = ``, phen = ``, steroid = ``, downer = ``, concen = ``, stimpack = ``, stabilizer = ``; + + if (S.Drugs >= 1) amphet = `Amphetamines have been added to the cocktail at a low dosage to act as a stimulant, physical performance enhancer, cognition control enhancer. Some side-effects exist.`; + if (S.Drugs >= 2) phen = `Phencyclidine has been added to the cocktail at a low dosage as a dissociative psychotropic for soldiers in battle to introduce feelings of detachment, strength and invincibility, and aggression. Some side-effects reduce the tolerable dosage before soldiers go on uncontrollable violent outbreaks.`; + if (S.Drugs >= 3) steroid = `Testosterone is being produced for soldiers in training as a natural muscle growth stimulant and to invoke aggression.`; + if (S.Drugs >= 4) downer = `Zaleplon is being produced as a downer to counteract the battle cocktail and encourage rest before combat.`; + if (S.Drugs >= 5) concen = `Methylphenidate has been added to the cocktail as a stimulant and to improve soldier concentration.`; + if (S.Drugs >= 6) phen = `A phencyclidine-based drug has been added to the cocktail as a dissociative psychotropic for soldiers in battle to introduce controllable feelings of detachment, strength and invincibility, and aggression.`; + if (S.Drugs >= 7) steroid = `Low levels of anabolic steroids are being produced for soldiers in training to stimulate muscle growth and invoke aggression.`; + if (S.Drugs >= 8) amphet = `Diphenylmethylsulfinylacetamide has been added to the cocktail to counteract the effects of sleep deprivation and promote alertness.`; + if (S.Drugs >= 9) stimpack = `A stimpack of the battle cocktail is being given to soldiers in battle to take if the original dose wears off before the battle is over.`; + if (S.Drugs >= 10) stabilizer = `A stabilizer has been added to the battle cocktail that helps tie effects together while reducing side-effects, leading to an effectively safe supersoldier drug.`; + + return `A drug lab has been established to increase the effectiveness of $SF.Lower's soldiers. Many of these chemicals are mixed into a single 'battle cocktail' to be taken before combat. ${amphet} ${phen} ${concen} ${steroid} ${downer} ${stimpack} ${stabilizer}`; +}; + +window.LUAV = function() { + const V = State.variables, S = V.SFUnit; + var a = `have been recommissioned for use by $SF.Lower`, b = `.`, c = ``, d = ``, e = ``, f = ``, g = ``, h = ``, i = ``, j = ``, k = ``; + + if (S.Drones >= 2) a = `equipped with missiles are resting on one side of the drone bay`, b = `, as well as destroying the occasional target.`; + if (S.Drones >= 3) c = `A fleet of`, d = `large delivery quadcopters have been converted for military service to support ground forces as combat drones.`; + if (S.Drones >= 4) d = `combat drones take up the rest of the space in the drone bay. They have a`, e = `small automatic rifle`, f = `mounted to the underside.`; + if (S.Drones >= 5) g = `Armor has been added to protect vulnerable components from small arms fire.`; + if (S.Drones >= 6) h = `The fleet's batteries have been replaced with higher capacity models, increasing the functional time spent in combat.`; + if (S.Drones >= 7) i = `The propellers and motors have been upgraded, increasing maneuverability and speed.`; + if (S.Drones >= 8) j = `The drone control signal has been boosted and encrypted, giving the drones a greater range and protecting against electronic warfare.`; + if (S.Drones >= 9) e = `light machine gun`; + if (S.Drones >= 10) k = `A drone-to-drone network has been installed, allowing drones to swarm, maneuver, and attack targets autonomously.`; + + return `Surveillance drones ${a}. During combat, they supply aerial intel to commanders and act as the communications network for ground forces${b} ${c} ${d} ${e} ${f} ${g} ${h} ${i} ${j} ${k}`; +}; + +window.AV = function() { + const V = State.variables, S = V.SFUnit; + var b = `has been recommissioned for use by $SF.Lower. They`, c = `; mechanics are methodically checking the recent purchases for battle-readiness`, MG = `120 mm main gun is enough to handle the majority of opponents around the Free Cities.`, engine = ``, armor = ``, armor2 = ``, ammo = ``, mg = ``, fireC0 = ``, fireC1 = ``, fireC2 = ``, fireC3 = ``, turret = ``; + + if (S.AV >= 2) engine = `The engine has been overhauled, allowing much faster maneuvering around the battlefield.`, b = ``, c = ``; + if (S.AV >= 3) armor = `A composite ceramic armor has replaced the original, offering much greater protection from attacks.`; + if (S.AV >= 4) ammo = `The tanks have been outfitted with additional types of ammo for situational use.`; + if (S.AV >= 5) mg = `A remote-controlled .50 cal machine gun has been mounted on the turret to handle infantry and low-flying aircraft.`; + if (S.AV >= 6) fireC0 = `A fire-control system`, fireC3 = `been installed, guaranteeing`, fireC2 = `has`, fireC1 = `accurate fire.`; + if (S.AV >= 7) fireC2 = `and an autoloader have`, fireC1 = `rapid, accurate fire while separating the crew from the stored ammunition in the event the ammo cooks off.`; + if (S.AV >= 8) armor2 = `A reactive armor system has been added, giving the tank an additional, if temporary, layer of protection.`; + if (S.AV >= 9) turret = `The turret has been massively redesigned, lowering the tank profile and increasing the efficiency of the mechanisms within.`; + if (S.AV >= 10) MG = `140 mm main gun can quash anything even the greatest Old World nations could muster.`; + + return `A fleet of main battle tanks ${b} are parked in the garage${c}. ${turret} The ${MG} ${ammo} ${mg} ${fireC0} ${fireC2} ${fireC3} ${fireC1} ${engine} ${armor} ${armor2}`; +}; + +window.TV = function() { + const V = State.variables, S = V.SFUnit; + var B = `has been recommissioned for use by $SF.Lower. They`, C = `; mechanics are giving the new purchases a final tuneup`, squad = `a squad`, G1 = `20`, G2 = `in a firefight`, e0 = `The engine has been`, engine = ``, armor = ``, tires = ``, m1 = ``, m2 = ``, pod1 = ``, pod2 = ``; + + if (S.TV >= 2) engine = `${e0} overhauled, allowing for higher mobility.`, C = ``, B = ``; + if (S.TV >= 3) armor = `Composite armor has been bolted to the exterior, increasing the survivability of an explosive attack for the crew and passengers.`; + if (S.TV >= 4) tires = `The tires have been replaced with a much more durable version that can support a heavier vehicle.`; + if (S.TV >= 5) m1 = `An automatic missile defense system has been installed,`, m2 = `targeting any guided missiles with laser dazzlers and deploying a smokescreen.`; + if (S.TV >= 6) pod1 = `An anti-tank missle pod`, pod2 = `has been installed on the side of the turret.`; + if (S.TV >= 7) G1 = `25`, G2 = `by attacking enemies through cover and destroying light armor`; + if (S.TV >= 8) pod2 = `and an anti-aircraft missile pod have been installed on either side of the turret.`; + if (S.TV >= 9) squad = `two squads`, armor = ``, m2 = `destroying any incoming missiles with a high-powered laser. Some of the now redundant composite armor has been removed, and the reclaimed space allows for more passengers.`; + if (S.TV >= 10) engine = `${e0} replaced with the newest model, allowing the vehicle to get in and out of the conflict extremely quickly.`; + + return `A fleet of infantry fighting vehicles ${B} are parked in the garage${C}. The IFVs can carry ${squad} of 6 to a firezone. The ${G1} mm autocannon supports infantry ${G2}. ${pod1} ${pod2} ${engine} ${armor} ${tires} ${m1} ${m2}`; +}; + +window.PGT = function() { + const V = State.variables, S = V.SFUnit; + var b = `has been sold to $SF.Lower through back channels to support a failing Old World nation. The tank is so large it cannot fit inside the garage, and has`, c = ``, engines = `. Two engines power the left and right sides of the tank separately, leaving it underpowered and slow`, gun0 = ``, gun1 = ``, gun2 = `an undersized main gun and makeshift firing system from a standard battle tank`, armor1 = ``, armor0 = ``, cannon = ``, laser = ``, PGTframe = ``; + + if (S.PGT >= 2) c = `rests in`, b = ``, engines = ` and powered by their own engine, allowing the tank to travel with an unsettling speed for its massive bulk`; + if (S.PGT >= 3) gun0 = `a railgun capable of`, gun1 = `firing steel slugs`, gun2 = `through one tank and into another`; + if (S.PGT >= 4) armor0 = `reinforced, increasing survivability for the crew inside.`, armor1 = `The armor has been`; + if (S.PGT >= 5) cannon = `A coaxial 30mm autocannon has been installed in the turret, along with automated .50 cal machine guns mounted over the front treads.`; + if (S.PGT >= 6) laser = `Laser anti-missile countermeasures have been installed, destroying any subsonic ordinance fired at the Goliath.`; + if (S.PGT >= 7) PGTframe = `The frame has been reinforced, allowing the Goliath to carry more armor and gun.`; + if (S.PGT >= 8) armor0 = `redesigned with sloping and state-of-the-art materials, allowing the Goliath to shrug off even the most advanced armor-piercing tank rounds.`; + if (S.PGT >= 9) gun1 = `firing guided projectiles`; + if (S.PGT >= 10) gun0 = `a twin-barreled railgun capable of rapidly`; + + return `A prototype Goliath tank ${b}${c} its own garage housing built outside the arcology. The massive bulk is spread out over 8 tracks, two for each corner of the tank${engines}. The turret is equipped with ${gun0} ${gun1} ${gun2}. ${cannon} ${armor1} ${armor0} ${laser} ${PGTframe}`; +}; + +window.AA = function() { + const V = State.variables, S = V.SFUnit; + var W1 = `only armed`, W2 = `,`, W3 = `a poor weapon against flying targets, but enough to handle ground forces`, group = `A small group of attack VTOL have been recommissioned for use by $SF.Lower, enough to make up a squadron`, engines = ``, TAI = ``, lock = ``, support = ``, stealth = ``, scramble = ``, PAI = ``; + + if (S.AA >= 2) W1 = `armed`, W2 = ` and air-to-air missiles,`, W3 = `a combination that can defend the arcology from enemy aircraft, as well as`, support = ` support ground troops`; + if (S.AA >= 3) engines = `The engines have been tuned, allowing faster flight with greater acceleration.`; + if (S.AA >= 4) TAI = `An advanced targeting AI has been installed to handle all control of weapons, allowing much more efficent use of ammunition and anti-countermeasure targeting.`; + if (S.AA >= 5) lock = `Installed multispectrum countermeasures protect against all types of missile locks.`; + if (S.AA >= 6) group = `A respectable number of attack VTOL protect your arcology, split into a few squadrons`; + if (S.AA >= 7) support = ` attack ground targets`, W2 = `, rocket pods, and air-to-air missiles,`; + if (S.AA >= 8) stealth = `The old skin has been replaced with a radar-absorbent material, making the aircraft difficult to pick up on radar.`; + if (S.AA >= 9) scramble = `The VTOLs can scramble to react to any threat in under three minutes.`; + if (S.AA >= 10) PAI = `A piloting AI has been installed, allowing the VTOLs to perform impossible maneuvers that cannot be done by a human pilot. This removes the need for a human in the aircraft altogether.`; + + return `${group}. Several of the landing pads around $arcologies[0].name host groups of four fighters, ready to defend the arcology. ${scramble} The attack VTOL are currently ${W1} with a Gatling cannon${W2} ${W3}${support}. ${TAI} ${PAI} ${engines} ${lock} ${stealth}`; +}; + +window.TA = function() { + const V = State.variables, S = V.SFUnit; + var Num = `number`, type = `tiltrotor`, capacity = `small platoon or 15`, engines = ``, engines2 = ``, Radar = ``, Armor = ``, landing = ``, miniguns = ``, counter = ``; + + if (S.TA >= 2) engines = `The tiltrotor engines have been replaced with a more powerful engine, allowing faster travel times.`; + if (S.TA >= 3) counter = `Multispectrum countermeasures have been added to protect against guided missiles.`; + if (S.TA >= 4) miniguns = `Mounted miniguns have been installed to cover soldiers disembarking in dangerous areas.`; + if (S.TA >= 5) Num = `large number`; + if (S.TA >= 6) landing = `The landing equipment has been overhauled, protecting personel and cargo in the event of a hard landing or crash.`; + if (S.TA >= 7) Armor = `Armor has been added to protect passengers from small arms fire from below.`; + if (S.TA >= 8) capacity = `large platoon or 20`, engines2 = `Further tweaks to the engine allow for greater lifting capacity.`; + if (S.TA >= 9) Radar = `Radar-absorbent materials have replaced the old skin, making it difficult to pick up the VTOL on radar.`; + if (S.TA >= 10) type = `tiltjet`, engines2 = ``, engines = `The tiltrotors have been replaced with tiltjets, allowing for much greater airspeed and acceleration.`; + + return `A ${Num} of transport ${type} VTOL have been recommissioned for use by $SF.Lower. The VTOLs are resting on large pads near the base to load either a ${capacity} tons of materiel. ${engines} ${engines2} ${Armor} ${landing} ${counter} ${Radar} ${miniguns}`; +}; + +window.SP = function() { + const V = State.variables, S = V.SFUnit; + var engine = `ramjet engines in the atmosphere that can reach Mach 10`, b = `has been purchased from an insolvent Old World nation. It `, shield = ``, camera = ``, efficiency = ``, camera2 = ``, drag = ``, crew = ``, engine2 = ``, skin = ``; + + if (S.SpacePlane >= 2) b = ``, shield = `The current heat shielding has been upgraded, reducing the likelihood of heat damage during reentry.`; + if (S.SpacePlane >= 3) engine2 = ` and liquid rocket engines in orbit that can reach an equivalent Mach 18`; + if (S.SpacePlane >= 4) camera = `A state-of-the-art camera has been installed in the underbelly that takes incredibly high resolution photos, but requires the frictionless environment of space to focus.`; + if (S.SpacePlane >= 5) efficiency = `Tweaks to the engines have increased fuel efficency to the point where midflight refueling is no longer necessary.`; + if (S.SpacePlane >= 6) camera2 = `The camera sensor is capable of taking IR shots.`; + if (S.SpacePlane >= 7) drag = `Miraculous advances in aerodynamics and materials allow frictionless flight, even while in the atmosphere.`; + if (S.SpacePlane >= 8) crew = `Increased the crew comfort and life support systems to increase operational time.`; + if (S.SpacePlane >= 9) skin = `Replaced the underbelly skin with an chameleon kit, matching the color to the sky above it.`; + if (S.SpacePlane >= 10) engine = `experimental scramjet engines in the atmosphere that can reach Mach 15`, engine2 = ` and liquid rocket engines in orbit that can reach an equivalent Mach 25`; + + return `A prototype spaceplane ${b} rests in the hangar, its black fuselage gleaming. The craft is powered by ${engine}${engine2}. ${efficiency} ${shield} ${camera} ${camera2} ${drag} ${crew} ${skin}`; +}; + +window.GunS = function() { + const V = State.variables, S = V.SFUnit; + var a = `has been recommissioned for use by $SF.Lower. Currently, it `, b = ``, c = ``, d = ``, e = `Miniguns and Gatling cannons line`, f = `, though the distance to ground targets renders the smaller calibers somewhat less useful`, g = ``, h = ``, i = ``, j = ``, k = ``; + + if (S.GunS >= 2) b = `Infrared sensors have been added for the gunners to better pick targets.`, a = ``; + if (S.GunS >= 3) c = `The underside of the aircraft has been better armored against small-arms fire`, h = `.`; + if (S.GunS >= 4) d = `Larger fuel tanks have been installed in the wings and fuselage, allowing the gunship to provide aerial support for longer periods before refueling.`; + if (S.GunS >= 5) e = `25 mm Gatling cannons`, f = `, allowing the gunship to eliminate infantry`, j = ` and light vehicles from above`, k = ` and a 40 mm autocannon are mounted on`; + if (S.GunS >= 6) g = `The engines have been replaced, allowing both faster travel to a target, and slower travel around a target.`; + if (S.GunS >= 7) h = `, and multi-spectrum countermeasures have been installed to protect against guided missiles.`; + if (S.GunS >= 8) b = `Upgraded multi-spectrum sensors can clearly depict targets even with IR shielding.`; + if (S.GunS >= 9) i = `The ammunition storage has been increased, only slightly depriving loaders of a place to sit.`; + if (S.GunS >= 10) j = `, both light and heavy vehicles, and most enemy cover from above`, k = `, a 40 mm autocannon, and a 105 mm howitzer are mounted on`; + + return `A large gunship ${a} is being refueled in the hangar. ${e}${k} the port side of the fuselage${f}${j}. ${b} ${i} ${g} ${c}${h} ${d}`; +}; + +window.Sat = function() { + const V = State.variables, S = V.SFUnit; + var loc = `An unused science satellite has been purchased from an Old World nation. While currently useless, it holds potential to be a powerful tool.`, gyro = ``, telemetry = ``, thrusters = ``, solar = ``, surviv = ``, laser = ``, heat = ``, reactor = ``, lens = ``, kin = ``; + + if (S.Satellite >= 2) { + if (V.SatLaunched < 1) {loc = `The satellite is being worked on in the Launch Bay.`;} else {loc = `The satellite is in geosynchronous orbit, far above the arcology.`;} + gyro = `A suite of sensors have been installed to ensure the satellite can detect attitude and orbital altitude.`;} + if (S.Satellite >= 3) telemetry = `Telemetry systems have been installed to communicate with the satellite in orbit, with strong encryption measures.`; + if (S.Satellite >= 4) thrusters = `Thrusters have been installed to control satellite attitude and orbit.`; + if (S.Satellite >= 5) solar = `A massive folding solar panel array, combined with the latest in battery technology allow the satellite to store an enormous amount of energy relatively quickly.`, surviv = `Enough of the satellite has been finished that it can expect to survive for a significant period of time in space.`; + if (S.Satellite >= 6) laser = `A laser cannon has been mounted facing the earth, capable of cutting through steel in seconds`, heat = ` while generating a large amount of heat.`; + if (S.Satellite >= 7) heat = `. The installed heatsink allows the laser cannon to fire more frequently without damaging the satellite.`; + if (S.Satellite >= 8) reactor = `A small, efficient nuclear reactor has been installed to continue generating energy while in the Earth's shadow.`; + if (S.Satellite >= 9) lens = `A higher quality and adjustable lens has been installed on the laser, allowing scalpel precision on armor or wide-area blasts on unarmored targets.`; + if (S.Satellite >= 10) kin = `A magazine of directable tungsten rods have been mounted to the exterior of the satellite, allowing for kinetic bombardment roughly equal to a series of nuclear blasts.`; + + return `${loc} ${gyro} ${thrusters} ${telemetry} ${solar} ${reactor} ${surviv} ${laser}${heat} ${lens} ${kin}`; +}; + +window.GR = function() { + const V = State.variables, S = V.SFUnit; + var loc = `has been purchased from a crumbling Old World nation. It`, power = `Large batteries mounted in oversized shoulders power the robot for up to ten minutes of use, though they make for large targets.`, knife = `simply a 8.5 meter long knife, though additional weapons are under development.`, armor = ``, actuator = ``, cannon = ``, heatsink = ``, ammo = ``, missile = ``; + + if (S.GiantRobot >= 2) loc = ``, armor = `Armor plating has been mounted over the majority of the robot.`; + if (S.GiantRobot >= 3) power = `The robot is now powered by an umbilical cable system instead of bulky and short-lived batteries.`; + if (S.GiantRobot >= 4) knife = `a 25 meter plasma sword. The cutting edge uses plasma to melt and cut through targets, reducing the strain on the sword.`; + if (S.GiantRobot >= 5) actuator = `The limb actuators have been replaced with a faster and more powerful variant, granting the robot the same.`; + if (S.GiantRobot >= 6) cannon = `A custom 45 mm Gatling cannon rifle has been developed for ranged use`, ammo = `, though it lacks enough ammo storage for a main weapon.`; + if (S.GiantRobot >= 7) heatsink = `Large heatsinks have been installed out of the back to solve a massive overheating problem. These heatsinks resemble wings, and tend to glow red with heat when in heavy use.`; + if (S.GiantRobot >= 8) armor = ``, actuator = `Final actuator tweaks have allowed for the addition of exceptionally thick armor without any loss in speed or power.`; + if (S.GiantRobot >= 9) ammo = `, with spare ammunition drums kept along the robot's waist.`; + if (S.GiantRobot >= 10) missile = `Missile pods have been mounted on the shoulders.`; + + return `A prototype giant robot ${loc} rests in a gantry along the side of the arcology. The robot is as tall as a medium-sized office building, focusing on speed over other factors. ${power} ${armor} ${actuator} ${heatsink} The main armament is ${knife} ${cannon}${ammo} ${missile}`; +}; + +window.ms = function() { + const V = State.variables, S = V.SFUnit; + var a = `A cruise missile launch site has been constructed near the base of`, b = `outdated, something quickly rigged together to give the launch site something to fire in the case of an attack`, c = ``, d = ``, e = ``, f = ``, g = ``, h = ``; + + if (S.MissileSilo >= 2) b = `a modern missile`, c = `, tipped with a conventional warhead`; + if (S.MissileSilo >= 3) d = `The launch systems have been overhauled, allowing a launch within seconds of an attack order being given.`; + if (S.MissileSilo >= 4) e = `The missile engines have been tweaked, giving them a greater range.`; + if (S.MissileSilo >= 5) f = `A passive radar has been installed, allowing the missile to follow moving targets.`; + if (S.MissileSilo >= 6) a = `Several cruise missile launch sites have been constructed around`; + if (S.MissileSilo >= 7) e = `The engine has been replaced, giving the missiles greater range and supersonic speeds.`; + if (S.MissileSilo >= 8) g = `The ability to pick new targets should the original be lost has been added.`; + if (S.MissileSilo >= 9) h = `The missile now uses its remaining fuel to create a thermobaric explosion, massively increasing explosive power.`; + if (S.MissileSilo >= 10) c = ` that can be tipped with either a conventional or nuclear warhead`; + + return `${a} the arcology. The current missile armament is ${b}${c}. ${d} ${e} ${f} ${g} ${h}`; +}; + +window.AC = function() { + const V = State.variables, S = V.SFUnit; + var recom = `has been recommisioned from the Old World for $SF.Lower. It`, jets = `Formerly mothballed strike jets`, loc = ``, radar = ``, AA = ``, prop = ``, torp = ``, armor = ``, power = ``, scramble = ``; + + if (V.week % 6 === 0) { loc = `moored to the pier in the Naval Yard`; } else { loc = `patrolling the waters near $arcologies[0].name`; } + if (S.AircraftCarrier >= 2) radar = `The island's radar and comms have been improved.`, recom = ``; + if (S.AircraftCarrier >= 3) AA = `The antiair guns have been updated to automatically track and predict enemy aircraft movement.`; + if (S.AircraftCarrier >= 4) jets = `Modern strike jets with state-of-the-art armaments`; + if (S.AircraftCarrier >= 5) prop = `The propellers have been redesigned, granting greater speed with less noise.`; + if (S.AircraftCarrier >= 6) torp = `An anti-torpedo system detects and destroys incoming torpedoes.`; + if (S.AircraftCarrier >= 7) armor = `Additional armor has been added to the hull and deck.`; + if (S.AircraftCarrier >= 8) power = `The power plant has been converted to provide nuclear power.`; + if (S.AircraftCarrier >= 9) scramble = `The catapult has been converted to an electromagnetic launch system, halving the time it takes to scramble jets.`; + if (S.AircraftCarrier >= 10) jets = `Attack VTOL from the converted for carrier capability`; + + return `An aircraft carrier ${recom} is ${loc}. ${jets} serve as its airpower. ${scramble} ${power} ${radar} ${AA} ${torp} ${prop} ${armor}`; +}; + +window.Sub = function() { + const V = State.variables, S = V.SFUnit; + var recom = `has been recommissioned from the old world, and`, reactor = `Because diesel engines provide power and breathing oxygen is kept in pressurized canisters, the sub must frequently surface.`, reactor1 = ``, cal = ``, hull = ``, tubes = ``, torpedoes = ``, sonar = ``, control = ``, missiles = ``; + + if (S.Sub >= 2) recom = ``, reactor = `A nuclear reactor provides power`, reactor1 = `, but because oxygen is still kept in pressurized canisters the sub must frequently surface to replenish its oxygen stocks.`; + if (S.Sub >= 3) reactor1 = ` and an oxygen generator pulls Oâ‚‚ from the surrounding seawater, allowing the submarine to remain underwater for months if necessary.`; + if (S.Sub >= 4) cal = `Calibration of the propulsion systems has reduced the telltale hum of a moving sub to a whisper.`; + if (S.Sub >= 5) hull = `The outer hull has been redesigned for hydrodynamics and sonar absorption.`; + if (S.Sub >= 6) tubes = `The torpedo tubes have been redesigned for faster loading speeds`, torpedoes = `.`; + if (S.Sub >= 7) sonar = `The passive sonar has been finely tuned to detect mechanical noises miles away.`; + if (S.Sub >= 8) control = `The control room computers have been upgraded to automate many conn duties.`; + if (S.Sub >= 9) torpedoes = `and launch more agile torpedoes.`; + if (S.Sub >= 10) missiles = `The submarine has been outfitted with several cruise missiles to attack land or sea-based targets.`; + + return `An attack submarine ${recom} is moored to the pier of the Naval Yard. ${reactor}${reactor1} ${cal} ${hull} ${tubes}${torpedoes} ${sonar} ${control} ${missiles}`; +}; + +window.HAT = function() { + const V = State.variables, S = V.SFUnit; + var recom = `, has been recommissioned for use by $SF.Lower. It`, tons = `200`, skirt = ``, guns = ``, guns2 = ``, fans = ``, speed = ``, turbines = ``, armor = ``, ramps = ``, HATframe = ``, loadout = ``; + + if (S.HAT >= 2) skirt = `The skirt has been upgraded to increase durabilty and improve cushion when travelling over uneven terrain and waves.`, recom = `,`; + if (S.HAT >= 3) guns = `A minigun`, guns2 = `has been mounted on the front corners of the craft to defend against attackers.`; + if (S.HAT >= 4) fans = `The turbines powering the rear fans`, speed = `acceleration and speed.`, turbines = `have been replaced with a more powerful version, allowing greater`; + if (S.HAT >= 5) armor = `The armor protecting its cargo has been increased.`; + if (S.HAT >= 6) tons = `300`, fans = `The turbines powering the rear fans and impeller`, speed = `acceleration, speed, and carrying capacity.`; + if (S.HAT >= 7) guns = `A minigun and grenade launcher`; + if (S.HAT >= 8) ramps = `The loading ramps have been improved, allowing for faster unloading.`; + if (S.HAT >= 9) HATframe = `The frame has been widened and reinforced, allowing for more space on the deck.`; + if (S.HAT >= 10) loadout = `An experimental loadout sacrifices all carrying capacity to instead act as a floating gun platform by mounting several rotary autocannons the deck, should the need arise.`; + + return `An air cushion transport vehicle, or hovercraft${recom} is parked on the pier of the Naval Yard, ready to ferry ${tons} tons of soldiers and vehicles. ${guns} ${guns2} ${fans} ${turbines} ${speed} ${skirt} ${armor} ${ramps} ${HATframe} ${loadout}`; +}; + +window.Interactions = function() { + const V = State.variables, C = V.SFColonel, T = State.temporary; + var choice = ``, time = ``; + + if (V.SF.WG > 0){ + if (V.choice == 1){ + choice = `$SF.Caps is turning over spare capital in tribute this week. `; + if (V.SFTradeShow.CanAttend === -1 && (C.Talk + C.Fun !== 1)) { + choice += `"I think I can find @@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ for you, boss."`;} + else { + choice += `"We can spare@@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ in tribute this week, `; + if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}} + else if (V.choice == 2){ + choice = `$SF.Caps will be throwing a military parade this week. `; + if (V.SFTradeShow.CanAttend === -1 && (C.Talk + C.Fun !== 1)) { + choice += `"I expect the @@.green;public to enjoy@@ the parade, boss."`;} + else { + choice += `"I'll have plans for an @@.green;popular parade@@ on your desk, `; + if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}} + else if (V.choice == 3){ + choice = `$SF.Caps will be conducting corporate sabotage on rival arcologies' businesses. `; + if (V.SFTradeShow.CanAttend === -1 && (C.Talk + C.Fun !== 1)) { + choice += `"Our interests should see a @@.yellowgreen;big boost@@, boss."`;} + else { + choice += `"Your @@.yellowgreen;arcology's business prospects should see an improvement@@ this week, `; + if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}}} + + if (C.Talk + C.Fun > 0) time = `The Colonel is busy for the rest of the week, so the Lieutenant Colonel will assist you.`; + + return `${time} <br>${choice}`; +}; + +window.ColonelQuarters = function() { + const V = State.variables, R = Math.ceil(Math.random()*100); + var out = ``; + if (R > 50){ + out = `raises a hand in greeting and nods. She is sprawled on a couch, wearing only her combat suit tank top and fingerless gloves. She's holding a near-empty bottle of strong liquor in her hand and you can see a naked slave girl kneeling on the floor between her legs. The Colonel has her legs wrapped tightly around the girl's head, forcing the girl to service her if she wants to breathe. The Colonel is close to her climax then suddenly tenses her lower body thus gripping the girl even tighter and throws her head back in ecstasy as she orgasms. She lets out a long breath finally releasing the girl, giving her a hard smack and shouting at her to fuck off.<br><br> The Colonel finishes off her bottle, tossing it over her shoulder then leaning back on the couch and spreading her legs wide. You look down briefly, falling into your habits of inspection. Her pussy is completely devoid of hair with heavy labia in with a very large and hard clit peaking out. Beads of moisture, the result of her excitation, are visible, and you can tell from long experience that she would be tight as a vise. You return your gaze to her face to find her smirking at you. "Like what you see, <<print SFCR()>>?" She waves her hand at the plaza around her, "So do they. But you're not here for pussy. You're here to talk business. So, what's up?"`; + }else if (R > 50){ + out = `is in no condition initially to greet you. She's naked except for one sock that gives you a very good view of her muscled, taut body while lunging with her feet on the table and the rest on her couch. She is face down in a drugged-out stupor in the middle of a wide variety of powders and pills. Perhaps sensing your approach, her head suddenly shoots up and looks at you with unfocused, bloodshot eyes. "Sorry, <<print SFCR()>>," she slurs, wiping her face and weakly holding up a hand. "Hold on a second, I need something to help me out here. Long fucking night." She struggles to sit on the couch and bending over the table, loudly snorts up some of the white powder on it. "Ahhh, fuck," she says, breathing heavily.<br><br> She shakes her head powerfully now looking at you, her eyes once again alert and piercing. "That's better," she says, leaning back on the couch and giving you another good view of her assets. "So, <<print SFCR()>>," she begins, "what brings you down here to our little clubhouse? I trust you're happy with how we've been handling things out there?" You nod. "Excellent", she laughs. "I have to say; it's nice to have a place like this while having some top-end gear and to be able to have fun out there without worrying about anyone coming back on us. Good fucking times." She laughs again. "So - I'm assuming you want something?"`; + }else if (R > 70 && V.SF.Depravity >= 1.5 && V.SFColonel.Core == "cruel"){ + out = `is relaxing on her couch stark naked, greeting you with a raised hand. Between her tightly clenched legs is a slave girl being forced to eat her out. "Hey, <<print SFCR()>>, what's -" she breaks off as a flash of pain crosses her features. "Fucking bitch!" she exclaims, pulling her legs away and punching the slave girl in the face. She pushes the girl to the ground, straddling her then begins hitting. You hear one crunch after another as The Colonel's powerful blows shatter the girl's face. She hisses from between clenched teeth, each word accompanied by a brutal punch. "How. Many. Fucking. Times. Have. I. Told. You. To. Watch. Your. Fucking. Teeth. On. My. Fucking. Clit!" She leans back, exhaling heavily. Before leaning back down to grip apply pressure onto the girl's neck with her powerful hands. Wordlessly, she increases the pressure and soon the girl begins to turn blue as she struggles to draw breath. Eventually her struggles weaken and then finally, end.<br><br> The Colonel relaxes her grip then wipes her brow, clearing away the sweat from her exertion. Finally rising from the girl's body, relaxing back on the couch and putting her feet back up on the table. "Sorry about that <<print SFCR()>>," she says, shrugging. "So many of these bitches we pick up from the outside don't understand that they have to behave." Shaking her head in frustration, "Now I need to find another one. But that's not your problem - you're here to talk business. So, what's up?"`; + }else{ + out = `is topless while reviewing the particulars of her unit on a tablet as you approach. She raises a hand in greeting. "Hey <<print SFCR()>>," she says, noticing you looking at her chest. She laughs. "Nice, aren't they? But they're not for you or them." She throws a thumb at the plaza around her. "You're down here for a reason, though. What can I do for you?"`;} + return `${out}`; +}; + +window.progress = function(x,max) { + var out = `â`, z, i; + if (max === undefined) { + Math.clamp(x,0,10); + if (State.variables.SF.Units < 30) { + z = 5 - x; + for (i=0;i<x;i++) out += `â–ˆâ`; + for (i=0;i<z;i++) out += `<span style=\"opacity: 0;\">â–ˆ</span>â`; + for (i=0;i<5;i++) out += `â–‘â`;} + else { + z = 10 - x; + for (i=0;i<x;i++) out += `â–ˆâ`; + for (i=0;i<z;i++) out += `<span style=\"opacity: 0;\">â–ˆ</span>â`;}} + else { + Math.clamp(x,0,max); + x = Math.floor(10*x/max); + z = 10 - x; + for (i=0;i<x;i++) out += `â–ˆâ`; + for (i=0;i<z;i++) out += `<span style=\"opacity: 0;\">â–ˆ</span>â`;} + return `${out}`; +}; \ No newline at end of file diff --git a/src/SecExp/SecExpBackwardCompatibility.tw b/src/SecExp/SecExpBackwardCompatibility.tw index b9e1585735970b6180e36f1a18d5cb3395195d62..17b38dcb25ba54c9955115271c3d74ccc42ef305 100644 --- a/src/SecExp/SecExpBackwardCompatibility.tw +++ b/src/SecExp/SecExpBackwardCompatibility.tw @@ -252,7 +252,7 @@ size: 0, luxury: 0, training: 0, - loyaltyMod:0 }>> + loyaltyMod:0 }>> <</if>> <<if ndef $secBarracksUpgrades.loyaltyMod>> <<set $secBarracksUpgrades.loyaltyMod = 0>> @@ -270,7 +270,7 @@ eyeScan: 0, cryptoAnalyzer: 0, coldstorage: 0}>> -<</if>> +<</if>> <<if ndef $crimeUpgrades>> <<set $crimeUpgrades = { autoTrial: 0, @@ -441,7 +441,7 @@ <</if>> <<if ndef $droneUpgrades.hp || !isInt($droneUpgrades.hp)>> <<set $droneUpgrades.hp = 0>> - <</if>> + <</if>> <</if>> <<if ndef $humanUpgrade>> <<set $humanUpgrade = { @@ -978,7 +978,7 @@ /* SFanon additions */ <<if ndef $SFSupportLevel>> - <<set $SFSupportLevel = 0>> + <<set $SFSupportLevel = 0>> <</if>> <<if ndef $SFSupportUpkeep>> <<set $SFSupportUpkeep = 0>> @@ -986,6 +986,15 @@ <<if ndef $secUpgrades.coldstorage>> <<set $secUpgrades.coldstorage = 0>> <</if>> +<<if ndef $SFGear>> + <<set $SFGear = 0>> +<</if>> +<<if ndef $SavedLeader>> + <<set $SavedLeader = $leadingTroops>> +<</if>> +<<if ndef $SavedSFI>> + <<set $SavedSFI = $SFIntervention>> +<</if>> /* recalculation widgets */ <<fixBrokenUnits>> diff --git a/src/SecExp/attackGenerator.tw b/src/SecExp/attackGenerator.tw index d2113e2d7d190e3ceeaf5b745406bec527ab32a7..ff6782f29054c2da0bfaa216c2f240f922f48ca2 100644 --- a/src/SecExp/attackGenerator.tw +++ b/src/SecExp/attackGenerator.tw @@ -94,7 +94,7 @@ <<set _freeCity -= 8>> <<set _free -= 8>> <</if>> - + /* makes the actual roll */ <<set _roll = random(1,100)>> <<if _roll <= _raider>> @@ -112,7 +112,7 @@ /* if an attack happens */ <<if $attackThisWeek == 1>> - + /* terrain */ <<if $terrain == "urban">> <<set $battleTerrain = either("outskirts","urban","wasteland")>> @@ -127,7 +127,7 @@ <<else>> <<set $battleTerrain = "error">> <</if>> - + <<if $attackType == "raiders">> <<set $attackTroops = random(40,80)>> <<if $week < 30>> @@ -234,7 +234,7 @@ <<if ($week >= 120 && $attackType != "none") || ($forceMajorBattle == 1 && $foughtThisWeek == 0)>> <<if random(1,100) >= 50 || $forceMajorBattle == 1>> <<set $majorBattle = 1>> - <<if $securityForceCreate == 1>> + <<if $SF.Toggle && $SF.Active >= 1>> <<set $attackTroops = Math.trunc($attackTroops * random(4,6) * $majorBattleMult)>> <<set $attackEquip = either(3,4)>> <<else>> diff --git a/src/SecExp/attackHandler.tw b/src/SecExp/attackHandler.tw index 4fae71757dba80f2da4e2069f62fd8e14d8db943..b829dae4b3872ac4494fa5dcc1293ea58a718511 100644 --- a/src/SecExp/attackHandler.tw +++ b/src/SecExp/attackHandler.tw @@ -58,7 +58,7 @@ <<else>> <<goto "attackReport">> <</if>> - + <<else>> /*Init*/ @@ -97,22 +97,22 @@ <<set _enemyMod = 1.5>> <<set _SFMod = 1.5>> <<set _turns = $maxTurns * 2>> - <<if $securityForceCreate == 1>> - <<if $securityForceArcologyUpgrades >= 7>> - <<set _atkMod += ($securityForceArcologyUpgrades - 6) * 0.05>> + <<if $SF.Toggle && $SF.Active >= 1>> + <<if $SFUnit.Firebase >= 7>> + <<set _atkMod += ($SFUnit.Firebase - 6) * 0.05>> <</if>> - <<if $securityForceFortressZeppelin >= 1>> - <<set _defMod += $securityForceFortressZeppelin * 0.05>> + <<if $SFUnit.GunS >= 1>> + <<set _defMod += $SFUnit.GunS * 0.05>> <</if>> - <<if $securityForceSatellitePower >= 11>> - <<set _atkMod += ($securityForceSatellitePower - 10) * 0.05>> + <<if $SFUnit.Satellite >= 5 && $SatLaunched > 0>> + <<set _atkMod += ($SFUnit.Satellite - 5) * 0.05>> <</if>> - <<if $securityForceGiantRobot >= 6>> - <<set _defMod += ($securityForceGiantRobot - 5) * 0.05>> + <<if $SFUnit.GiantRobot >= 6>> + <<set _defMod += ($SFUnit.GiantRobot - 5) * 0.05>> <</if>> - <<if $securityForceMissileSilo >= 1>> - <<set _atkMod += $securityForceMissileSilo * 0.05>> - <<set _defMod += $securityForceMissileSilo * 0.05>> + <<if $SFUnit.MissileSilo >= 1 && $SatLaunched > 0>> + <<set _atkMod += $SFUnit.MissileSilo * 0.05>> + <<set _defMod += $SFUnit.MissileSilo * 0.05>> <</if>> <</if>> <</if>> @@ -961,7 +961,7 @@ <</if>> <</for>> -<<if $SFIntervention == 1>> +<<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> <<set $SFatk = 0>> <<set $SFdef = 0>> <<set $SFhp = 0>> @@ -1113,19 +1113,19 @@ __Difficulty__: <br> <br> __Army__: -<br>troops: <<print $troopCount>> -<br>attack: <<print Math.round(_attack)>> -<br>defense: <<print Math.round(_defense)>> -<br>hp: <<print Math.round(_hp)>> -<br>morale: <<print Math.round(_morale)>> +<br>troops: <<print commaNum(Math.round($troopCount))>> +<br>attack: <<print commaNum(Math.round(_attack))>> +<br>defense: <<print commaNum(Math.round(_defense))>> +<br>hp: <<print commaNum(Math.round(_hp))>> +<br>morale: <<print commaNum(Math.round(_morale))>> <br>attack modifier: <<if _atkMod > 0>>+<</if>>_atkMod% <br>defense modifier: <<if _defMod > 0>>+<</if>>_defMod% -<br>average base HP: <<print Math.round(_baseHp)>> +<br>average base HP: <<print commaNum(Math.round(_baseHp))>> <br>militia morale modifier: <<if _militiaMod > 0>>+<</if>>_militiaMod% <br>slaves morale modifier: <<if _slaveMod > 0>>+<</if>>_slaveMod% <br>mercenaries morale modifier: <<if _mercMod > 0>>+<</if>>_mercMod% -<<if $SFIntervention == 1>> -<br>security force morale modifier: <<if _SFMod > 0>>+<</if>>_SFMod% +<<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> +<br>special force morale modifier: <<if _SFMod > 0>>+<</if>>_SFMod% <</if>> <<if $secBarracksUpgrades.luxury >= 1>> <br>Barracks bonus morale modifier: +<<print _barracksBonus>>% @@ -1136,17 +1136,17 @@ __Army__: <br> <br> __Tactics__: -<br>tactic chance of success: <<print Math.round(_tacChance * 100)>>% +<br>tactic chance of success: <<print commaNum(Math.round(_tacChance * 100))>>% <br>was tactic chosen successful?: <<if $tacticsSuccessful == 1>> yes <<else>> no<</if>> <br> <br> __Enemy__: -<br>enemy troops: <<print $attackTroops>> -<br>enemy attack: <<print Math.round(_enemyAttack)>> -<br>enemy defense: <<print Math.round(_enemyDefense)>> -<br>enemy Hp: <<print Math.round(_enemyHp)>> -<br>enemy morale: <<print Math.round(_enemyMorale)>> -<br>enemy base Hp: <<print Math.round(_enemyBaseHp)>> +<br>enemy troops: <<print commaNum(Math.round($attackTroops))>> +<br>enemy attack: <<print commaNum(Math.round(_enemyAttack))>> +<br>enemy defense: <<print commaNum(Math.round(_enemyDefense))>> +<br>enemy Hp: <<print commaNum(Math.round(_enemyHp))>> +<br>enemy morale: <<print commaNum(Math.round(_enemyMorale))>> +<br>enemy base Hp: <<print commaNum(Math.round(_enemyBaseHp))>> <br>enemy morale modifier: <<if _enemyMod > 0>>+<</if>>_enemyMod% <<if _enemyMoraleTroopMod > 0>> <br>enemy morale increase due to troop numbers: +<<print _enemyMoraleTroopMod>>% @@ -1162,15 +1162,15 @@ __Enemy__: /* player army attacks */ <<set _damage = Math.clamp(_attack - _enemyDefense,_attack * 0.1,_attack)>> <br> - <<if $showBattleStatistics == 1>> player damage: <<print Math.round(_damage)>><</if>> + <<if $showBattleStatistics == 1>> player damage: <<print commaNum(Math.round(_damage))>><</if>> <<set _enemyHp -= _damage>> <br> - <<if $showBattleStatistics == 1>> remaining enemy Hp: <<print Math.round(_enemyHp)>><</if>> + <<if $showBattleStatistics == 1>> remaining enemy Hp: <<print commaNum(Math.round(_enemyHp))>><</if>> <<set $enemyLosses += _damage / _enemyBaseHp>> <<set _moraleDamage = Math.clamp(_damage / 2 + _damage / _enemyBaseHp,0,_damage*1.5)>> <<set _enemyMorale -= _moraleDamage>> <br> - <<if $showBattleStatistics == 1>> remaining enemy morale: <<print Math.round(_enemyMorale)>><</if>> + <<if $showBattleStatistics == 1>> remaining enemy morale: <<print commaNum(Math.round(_enemyMorale))>><</if>> <<if _enemyHp <= 0 || _enemyMorale <= 0>> <br> <<if $showBattleStatistics == 1>> <br>Victory!<</if>> @@ -1185,10 +1185,10 @@ __Enemy__: <<set _damage = _enemyAttack * 0.1>> <</if>> <br> - <<if $showBattleStatistics == 1>> enemy damage: <<print Math.round(_damage)>><</if>> + <<if $showBattleStatistics == 1>> enemy damage: <<print commaNum(Math.round(_damage))>><</if>> <<set _hp -= _damage>> <br> - <<if $showBattleStatistics == 1>> remaining hp: <<print Math.round(_hp)>><</if>> + <<if $showBattleStatistics == 1>> remaining hp: <<print commaNum(Math.round(_hp))>><</if>> <<set $losses += _damage / _baseHp>> <<set _moraleDamage = Math.clamp(_damage / 2 + _damage / _baseHp,0,_damage*1.5)>> <<set _morale -= _moraleDamage>> @@ -1215,8 +1215,8 @@ __Enemy__: <<if $showBattleStatistics == 1>> <br> - <br>Losses: <<print Math.trunc($losses)>> - <br>Enemy losses: <<print Math.trunc($enemyLosses)>> + <br>Losses: <<print commaNum(Math.trunc($losses))>> + <br>Enemy losses: <<print commaNum(Math.trunc($enemyLosses))>> <</if>> <<if $battleResult > 3 || $battleResult < -3>> diff --git a/src/SecExp/attackOptions.tw b/src/SecExp/attackOptions.tw index c517473f02e1b8eaab0458701c956a8c50e582fb..9cfa7d27dee6a726ac80ad3d46b7c1a7f662727a 100644 --- a/src/SecExp/attackOptions.tw +++ b/src/SecExp/attackOptions.tw @@ -198,7 +198,7 @@ __Battle Plan__: <<case "mercenary">> <<set _leader = "The mercenary commander">> <<case "colonel">> - <<set _leader = $securityForceName +"'s Colonel">> + <<set _leader = $SF.Lower +"'s Colonel">> <</switch>> /* leader assignment */ @@ -247,17 +247,17 @@ __Battle Plan__: <<replace "#leader">><strong><<print _leader>></strong><</replace>> <</link>> <</if>> - <<if $securityForceCreate == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFTradeShow.CanAttend === -1>> | <<link "Let The Colonel lead the troops">> <<set $leadingTroops = "colonel">> - <<set _leader = $securityForceName +"'s Colonel">> + <<set _leader = $SF.Lower +"'s Colonel">> <<replace "#leader">><strong><<print _leader>></strong><</replace>> <</link>> <</if>> /* troop deployment */ -<br><br> +<br><br> <<if $deployableUnits < 0>> <<set $deployableUnits = 0>> <</if>> With your current readiness level you can <<if $deployedUnits > 0>>still send <strong><<print $deployableUnits>></strong> more units.<<else>>send <strong><<print $deployableUnits>></strong> units.<</if>> <br>Deployable units: <br> @@ -391,29 +391,20 @@ Units about to be deployed: <</for>> <</if>> -<<if $majorBattle == 1 && $securityForceCreate == 1>> - <br> - <br> - The size of the incoming attack warrants the intervention of the security force in its full force. They will <span id="SFI">not intervene</span>. - <br> - <<if $SFIntervention == 0>> - <<link "Let the Security force intervene" "attackOptions">> +<<if $SF.Toggle && $SF.Active >= 1 && $majorBattle>> <br><br> + The size of the incoming attack warrants the intervention of the special force in its full force. + <<if !$SFIntervention>> + <<link "Let $SF.Lower intervene" "attackOptions">> <<set $SFIntervention = 1>> - <<replace "#SFI">> - intervene - <</replace>> <</link>> - //The security force will join the battle with all the equipment they can mobilize within a short timeframe// + //The special force will join the battle with all the equipment they can mobilize within a short timeframe// <<else>> - <<link "Do not let the Security force intervene" "attackOptions">> + <<link "Do not let $SF.Lower intervene" "attackOptions">> <<set $SFIntervention = 0>> - <<replace "#SFI">> - not intervene - <</replace>> <</link>> - //The security force will not join the battle// + //The special force will not join the battle// <</if>> - <br>//Some upgrades will be able to support the troops even if the security force does not intervene directly in the fight.// + <br>//Some upgrades will be able to support the troops even if the special force does not intervene directly in the fight.// <</if>> <br><br> @@ -452,7 +443,7 @@ Units about to be deployed: <</for>> <</if>> <</for>> - <<set $saveValid = 1>> + <<set $saveValid = 1,$leadingTroops = $SavedLeader, $SFIntervention = $SavedSFI>> <</link>> <<else>> Restore saved roster @@ -479,7 +470,7 @@ Units about to be deployed: <<set $lastSelection.push($mercUnits[_i].ID)>> <</if>> <</for>> - <<set $saveValid = 1>> + <<set $saveValid = 1,$SavedLeader = $leadingTroops,$SavedSFI = $SFIntervention>> <</link>> <<else>> Save current roster diff --git a/src/SecExp/attackReport.tw b/src/SecExp/attackReport.tw index 194c0aa1a090f3233501fe8ef87f20360bcaa2fd..9f43ac9f5919e90d34f78d8680a0c907c65fc6df 100644 --- a/src/SecExp/attackReport.tw +++ b/src/SecExp/attackReport.tw @@ -132,7 +132,7 @@ <<if $attackType == "raiders">> Today, the _day of _month _year, our arcology was attacked by a band of wild raiders, $attackTroops men strong. <<if $battleResult != 1 && $battleResult != 0 && $battleResult != -1>> - Our defense forces, $troopCount strong, clashed with them + Our defense forces, <<print commaNum(Math.trunc($troopCount))>> strong, clashed with them <<if $battleTerrain == "urban">> in the streets of <<if $terrain == "urban">>the old world city surrounding the arcology<<else>>of the free city<</if>>, <<elseif $battleTerrain == "rural">> @@ -149,7 +149,7 @@ in the wastelands outside the free city territory, <</if>> <<if $enemyLosses != $attackTroops>> - inflicting <<print $enemyLosses>> casualties, while sustaining <<if $losses > 1>> <<print commaNum(Math.trunc($losses))>> casualties <<elseif $losses > 0>> a casualty <<else>> zero <</if>> themselves. + inflicting <<print commaNum(Math.trunc($enemyLosses))>> casualties, while sustaining <<if $losses > 1>> <<print commaNum(Math.trunc($losses))>> casualties <<elseif $losses > 0>> a casualty <<else>> zero <</if>> themselves. <<else>> completely annihilating their troops, while sustaining <<if $losses > 1>> <<print commaNum(Math.trunc($losses))>> casualties. <<elseif $losses > 0>> a casualty. <<else>> zero casualties.<</if>> <</if>> @@ -787,17 +787,17 @@ Your reputation is so high your name carries power by itself. Having you on the battlefield puts fear even in the hardiest of warriors. <</if>> <</if>> - <<if $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> <<if $PC.career == "mercenary" || $PC.career == "slaver" || $PC.career == "capitalist" || $PC.career == "gang" || $PC.warfare > 75>> - The soldiers of the $securityForceName are ready and willing to follow you into battle, confident in your past experience. + The soldiers of the $SF.Lower are ready and willing to follow you into battle, confident in your past experience. <<elseif $PC.career == "wealth" || $PC.career == "medicine" || $PC.career == "engineer">> - The soldiers of the $securityForceName, as loyal as they are, are not enthusiastic to follow the orders of someone who has no experience leading men. + The soldiers of the $SF.Lower, as loyal as they are, are not enthusiastic to follow the orders of someone who has no experience leading men. <<elseif $PC.career == "servant">> - The soldiers of the $securityForceName, as loyal as they are, are not enthusiastic to follow the orders of an ex-servant. + The soldiers of the $SF.Lower, as loyal as they are, are not enthusiastic to follow the orders of an ex-servant. <<elseif $PC.career == "escort">> - The soldiers of the $securityForceName, as loyal as they are, are not enthusiastic to follow the orders of an ex-escort. + The soldiers of the $SF.Lower, as loyal as they are, are not enthusiastic to follow the orders of an ex-escort. <<elseif $PC.career == "BlackHat">> - The soldiers of the $securityForceName, as loyal as they are, are not enthusiastic to follow the orders of a dubious incursion specialist. + The soldiers of the $SF.Lower, as loyal as they are, are not enthusiastic to follow the orders of a dubious incursion specialist. <</if>> <</if>> <<if $PC.warfare <= 25 && $PC.warfare > 10>> @@ -845,58 +845,58 @@ <<if _oldRep < 10000 && _oldAuth < 10000 || $Bodyguard.prestige < 1>> <<if $deployingMilitia == 1>> Your volunteers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a - <<if $deployingMercs == 1 && $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $deployingMercs == 1 && $SFIntervention>> commander and neither are your mercenaries or your soldiers. <<elseif $deployingMercs == 1>> commander and neither are your mercenaries. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your soldiers. <<else>> commander. <</if>> - <<elseif $deployingMercs == 1 && $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $deployingMercs == 1 && $SFIntervention>> Your mercenaries and soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. <<elseif $deployingMercs == 1>> Your mercenaries <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. <</if>> <<elseif $Bodyguard.prestige >= 2>> <<if $deployingMilitia == 1>> Your - <<if $deployingMercs == 1 && $SFIntervention == 1>> + <<if $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> volunteers, your mercenaries and your soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <<elseif $deployingMercs == 1>> volunteers and your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> volunteers and your soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <<else>> volunteers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <</if>> - <<elseif $deployingMercs == 1 && $SFIntervention == 1>> + <<elseif $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your mercenaries and soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <<elseif $deployingMercs == 1>> Your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <</if>> <<else>> <<if $deployingMilitia == 1>> Your volunteers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a - <<if $deployingMercs == 1 && $SFIntervention == 1>> + <<if $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your mercenaries and soldiers, but they trust you enough not to question your decision. <<elseif $deployingMercs == 1>> commander and neither are your mercenaries, but they trust you enough not to question your decision. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your soldiers, but they trust you enough not to question your decision. <<else>> commander, but they trust you enough not to question your decision. <</if>> - <<elseif $deployingMercs == 1 && $SFIntervention == 1>> + <<elseif $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your mercenaries and soldiers <<if $deployingSlaves == 1>>however,<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision. <<elseif $deployingMercs == 1>> Your mercenaries <<if $deployingSlaves == 1>>however,<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers <<if $deployingSlaves == 1>>however,<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision. <</if>> <</if>> @@ -981,58 +981,58 @@ <<if _oldRep < 10000 && _oldAuth < 10000 || $HeadGirl.prestige < 1>> <<if $deployingMilitia == 1>> Your volunteers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a - <<if $deployingMercs == 1 && $SFIntervention == 1>> + <<if $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your mercenaries or your soldiers. <<elseif $deployingMercs == 1>> commander and neither are your mercenaries. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your soldiers. <<else>> commander. <</if>> - <<elseif $deployingMercs == 1 && $SFIntervention == 1>> + <<elseif $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your mercenaries and soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. <<elseif $deployingMercs == 1>> Your mercenaries <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander. <</if>> <<elseif $HeadGirl.prestige >= 2>> <<if $deployingMilitia == 1>> Your - <<if $deployingMercs == 1 && $SFIntervention == 1>> + <<if $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> volunteers, your mercenaries and your soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <<elseif $deployingMercs == 1>> volunteers and your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> volunteers and your soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <<else>> volunteers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <</if>> - <<elseif $deployingMercs == 1 && $SFIntervention == 1>> + <<elseif $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your mercenaries and soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <<elseif $deployingMercs == 1>> Your mercenaries are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers are delighted to have such a prestigious individual as their commander, almost forgetting she is a slave. <</if>> <<else>> <<if $deployingMilitia == 1>> Your volunteers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a - <<if $deployingMercs == 1 && $SFIntervention == 1>> + <<if $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your mercenaries and soldiers, but they trust you enough not to question your decision. <<elseif $deployingMercs == 1>> commander and neither are your mercenaries, but they trust you enough not to question your decision. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> commander and neither are your soldiers, but they trust you enough not to question your decision. <<else>> commander, but they trust you enough not to question your decision. <</if>> - <<elseif $deployingMercs == 1 && $SFIntervention == 1>> + <<elseif $deployingMercs == 1 && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your mercenaries and soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision. <<elseif $deployingMercs == 1>> Your mercenaries <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers <<if $deployingSlaves == 1>>however<</if>> are not enthusiastic to have a slave as a commander, but they trust you enough not to question your decision. <</if>> <</if>> @@ -1134,9 +1134,9 @@ <<elseif $deployingMercs == 1>> You mercenaries are not thrilled to be lead by a civilian without any formal martial training or education. <</if>> - <<if $arcologies[0].FSRomanRevivalist != "unset" && $SFIntervention == 1>> + <<if $arcologies[0].FSRomanRevivalist != "unset" && $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Since you decided to revive old Rome, many of your citizens took on themselves to educate themselves in martial matters, because of this your soldiers feel safe enough in the hands of one of your volunteers. - <<elseif $SFIntervention == 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> You soldiers are not thrilled to be lead by a civilian without any formal martial training or education. <</if>> <<if $leaderWounded == 1>> @@ -1147,7 +1147,7 @@ <<if $deployingMercs == 1>> Your mercenaries of course approve of your decision. <</if>> - <<if $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> Your soldiers feel more confident going into battle with an experienced commander. <</if>> <<if $arcologies[0].FSRomanRevivalist != "unset" && $deployingMilitia == 1>> @@ -1166,8 +1166,8 @@ <<if $deployingMercs == 1>> Your mercenaries approve of such decisions, as they feel more confident by having a good, experienced commander. <</if>> - <<if $SFIntervention == 1>> - The soldiers of $securityForceName obviously approved of your decision. + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> + The soldiers of $SF.Lower obviously approved of your decision. <</if>> <<if $arcologies[0].FSRomanRevivalist != "unset" && $deployingMilitia == 1>> Since you decided to revive old Rome, your volunteers are more willing to trust one of your soldiers as their leader. @@ -1421,23 +1421,21 @@ <br> <<include "unitsBattleReport">> - <<if $securityForceArcologyUpgrades >= 7 || $securityForceFortressZeppelin >= 1 || $securityForceSatellitePower >= 11 || $securityForceGiantRobot >= 6 || $securityForceMissileSilo >= 1>> - /* SF upgrades effects */ - <br> - <br> - <<if $securityForceArcologyUpgrades >= 7>> - The artillery pieces installed around the $securityForceName barracks provided vital fire support to the troops in the field. + <<if $SF.Toggle && $SF.Active >= 1 && ($SFUnit.Firebase >= 7 || $SFUnit.GunS >= 1 || $SFUnit.Satellite >= 5 || $SFUnit.GiantRobot >= 6 || $SFUnit.MissileSilo >= 1)>> + /* SF upgrades effects */ <br><br> + <<if $SFUnit.Firebase >= 7>> + The artillery pieces installed around the $SF.Lower firebase provided vital fire support to the troops in the field. <</if>> - <<if $securityForceFortressZeppelin >= 1>> - The fortress zeppelin gave our troops an undeniable advantage in recon capabilities, air superiority and fire support. + <<if $SFUnit.GunS >= 1>> + The gunship gave our troops an undeniable advantage in recon capabilities, air superiority and fire support. <</if>> - <<if $securityForceSatellitePower >= 11>> - The $securityForceName Satellite devastating power was employed with great efficiency against the enemy. + <<if $SFUnit.Satellite >= 5 && $SatLaunched > 0>> + The $SF.Lower satellite's devastating power was employed with great efficiency against the enemy. <</if>> - <<if $securityForceGiantRobot >= 6>> - The giant robot of the $securityForceName proved to be a great boon to our troops, shielding many from the worst the enemy had to offer. + <<if $SFUnit.GiantRobot >= 6>> + The giant robot of the $SF.Lower proved to be a great boon to our troops, shielding many from the worst the enemy had to offer. <</if>> - <<if $securityForceMissileSilo >= 1>> + <<if $SFUnit.MissileSilo >= 1>> The missile silo exterminated many enemy soldiers even before the battle would begin. <</if>> <</if>> diff --git a/src/SecExp/authorityReport.tw b/src/SecExp/authorityReport.tw index 11370b0273149328b0d63ea4948b0f80374e402f..d25dcdca15f0d7e3e5692fde9d64bb896027f6bc 100644 --- a/src/SecExp/authorityReport.tw +++ b/src/SecExp/authorityReport.tw @@ -106,6 +106,11 @@ Your authority is <<set _authGrowth += 12 * $activeUnits>> <</if>> +<<if $SF.Toggle && $SF.Active >= 1 && $SF.Units > 10>> + Having a powerful special force, increases your authority. + <<set _authGrowth += $SF.Units/10>> +<</if>> + <<if $arcologies[0].FSChattelReligionist >= 90>> Religious organizations have a tight grip on the minds of your residents and their dogma greatly helps your authority grow. <<set _authGrowth += $arcologies[0].FSChattelReligionist>> diff --git a/src/SecExp/edicts.tw b/src/SecExp/edicts.tw index 63252ce0419b777a7d13540cd45379cbfff0ac9a..ad04f902add45b146ba8b71633e29fee0aa6b764 100644 --- a/src/SecExp/edicts.tw +++ b/src/SecExp/edicts.tw @@ -44,22 +44,22 @@ [[Repeal|edicts][$subsidyChurch = 0, $edictsUpkeep -= 1000]] <</if>> -<<if $SFSupportLevel > 0>> +<<if $SF.Toggle && $SF.Active >= 1 && $SFSupportLevel > 0>> <br><br>__Special Force:__ - <<if $SFSupportLevel == 1>> - <br>''Equipment provision:'' $securityForceName is providing the security HQ with advanced equipment, boosting its efficiency. + <<if $SFSupportLevel === 1>> + <br>''Equipment provision:'' $SF.Caps is providing the security HQ with advanced equipment, boosting its efficiency. [[Repeal|edicts][$SFSupportLevel--, $SFSupportUpkeep -= 1000, $reqHelots += 5]] - <<elseif $SFSupportLevel == 2>> - <br>''Personnel training:'' $securityForceName is currently providing advanced equipment and training to security HQ personnel. + <<elseif $SFSupportLevel === 2>> + <br>''Personnel training:'' $SF.Caps is currently providing advanced equipment and training to security HQ personnel. [[Repeal|edicts][$SFSupportLevel--, $SFSupportUpkeep -= 2000, $reqHelots += 5]] - <<elseif $SFSupportLevel == 3>> - <br>''Troops detachment:'' $securityForceName has currently transferred troops to the security department HQ in addition to providing advanced equipment and training to security HQ personnel. + <<elseif $SFSupportLevel === 3>> + <br>''Troops detachment:'' $SF.Caps has currently transferred troops to the security department HQ in addition to providing advanced equipment and training to security HQ personnel. [[Repeal|edicts][$SFSupportLevel--, $SFSupportUpkeep -= 3000, $reqHelots += 5]] - <<elseif $SFSupportLevel == 4>> - <br>''Full support:''$securityForceName is currently providing its full support to the security department, while transferring troops to the security department HQ in addition to providing advanced equipment and training to security HQ personnel. + <<elseif $SFSupportLevel === 4>> + <br>''Full support:''$SF.Caps is currently providing its full support to the security department, while transferring troops to the security department HQ in addition to providing advanced equipment and training to security HQ personnel. [[Repeal|edicts][$SFSupportLevel--, $SFSupportUpkeep -= 3000, $reqHelots += 5]] - <<elseif $SFSupportLevel == 5>> - <br>''Network assistance:''$securityForceName is currently assisting with a local install of its custom network full support and has transferred troops to the security department HQ in addition to providing advanced equipment and training to security HQ personnel. + <<elseif $SFSupportLevel === 5>> + <br>''Network assistance:''$SF.Caps is currently assisting with a local install of its custom network full support and has transferred troops to the security department HQ in addition to providing advanced equipment and training to security HQ personnel. [[Repeal|edicts][$SFSupportLevel--, $SFSupportUpkeep -= 4000, $secHQUpkeep -= 1000, $reqHelots += 5]] <</if>> <</if>> @@ -307,42 +307,42 @@ <</if>> <</if>> -<<if $securityForceCreate == 1 && $SFSupportLevel < 5>> +<<if $SF.Toggle && $SF.Active >= 1 && $SFSupportLevel < 5>> <br><br>__Special Force:__ - <<if $SFSupportLevel == 0 && $reqHelots > 5>> - <br>''Equipment provision:'' $securityForceName will provide the security HQ with advanced equipment. + <<if !$SFSupportLevel && $reqHelots > 5>> + <br>''Equipment provision:'' $SF.Caps will provide the security HQ with advanced equipment. <<if $authority >= 1000>> [[Implement|edicts][$SFSupportLevel++, $cash -=5000, $authority -= 1000, $SFSupportUpkeep += 1000, $reqHelots -= 5]] <<else>> <br>//Not enough Authority.// <</if>> <br> //Will lower the amount of personnel necessary to man the security HQ by 5, but will incur upkeep costs.// - <<elseif $SFSupportLevel == 1 && $securityForceArcologyUpgrades != 4 && $reqHelots > 5>> - <br>''Personnel training:'' $securityForceName will provide the security HQ personnel with advanced training. + <<elseif $SFSupportLevel && $SFUnit.Firebase >= 4 && $reqHelots > 5>> + <br>''Personnel training:'' $SF.Caps will provide the security HQ personnel with advanced training. <<if $authority >= 1000>> [[Implement|edicts][$SFSupportLevel++, $cash -=5000, $authority -= 1000, $SFSupportUpkeep += 2000, $reqHelots -= 5]] <<else>> <br>//Not enough Authority.// <</if>> <br> //Will lower the amount of personnel necessary to man the security HQ by a further 5, but will incur additional upkeep costs.// - <<elseif $SFSupportLevel == 2 && $securityForceArcologyUpgrades != 6 && $reqHelots > 5>> - <br>''Troops detachment:'' $securityForceName will provide troops to the security department. + <<elseif $SFSupportLevel === 2 && $SFUnit.Firebase >= 6 && $reqHelots > 5>> + <br>''Troops detachment:'' $SF.Caps will provide troops to the security department. <<if $authority >= 1000>> [[Implement|edicts][$SFSupportLevel++, $cash -=5000, $authority -= 1000, $SFSupportUpkeep += 3000, $reqHelots -= 5]] <<else>> <br>//Not enough Authority.// <</if>> <br> //Will lower the amount of personnel necessary to man the security HQ by a further 5, but will incur additional upkeep costs.// - <<elseif $SFSupportLevel == 3 && $securityForceArcologyUpgrades != 6 && $reqHelots > 5>> - <br>''Full Support:'' $securityForceName will give the security department its full support. + <<elseif $SFSupportLevel === 3 && $SFUnit.Firebase >= 6 && $reqHelots > 5>> + <br>''Full Support:'' $SF.Caps will give the security department its full support. <<if $authority >= 1000>> [[Implement|edicts][$SFSupportLevel++, $cash -=5000, $authority -= 1000, $SFSupportUpkeep += 3000, $reqHelots -= 5]] <<else>> <br>//Not enough Authority.// <</if>> <br> //Will lower the amount of personnel necessary to man the security HQ by a further 5, but will incur additional upkeep costs.// - <<elseif $SFSupportLevel == 4 && $securityForceArcologyUpgrades == 13 && $reqHelots > 5>> - <br>''Network assistance:'' $securityForceName will assist the security department with installing a local version of their custom network. + <<elseif $SFSupportLevel === 4 && $SFUnit.Firebase === 10 && $reqHelots > 5>> + <br>''Network assistance:'' $SF.Caps will assist the security department with installing a local version of their custom network. <<if $authority >= 1000>> [[Implement|edicts][$SFSupportLevel++, $cash -=50000, $authority -= 1000, $SFSupportUpkeep += 4000, $secHQUpkeep += 1000, $reqHelots -= 5]] <<else>> diff --git a/src/SecExp/rebellionHandler.tw b/src/SecExp/rebellionHandler.tw index 624c40e9543d9b441708b921ab2b149fbb74f487..57ced876ffcaab068dceaa35f4f295e1585f1af8 100644 --- a/src/SecExp/rebellionHandler.tw +++ b/src/SecExp/rebellionHandler.tw @@ -136,7 +136,7 @@ <</if>> <</for>> -<<if $securityForceCreate == 1>> +<<if $SF.Toggle && $SF.Active >= 1>> <<set $SFatk = 0>> <<set $SFdef = 0>> <<set $SFhp = 0>> @@ -144,7 +144,6 @@ <<set _attack += $SFatk>> <<set _defense += $SFdef>> <<set _hp += $SFhp>> - <</if>> <<set _attack *= _engageMod>> @@ -177,10 +176,10 @@ <<set _moraleTroopMod = Math.clamp($troopCount / 100,1,10)>> /* morale and baseHp calculation */ -<<set _morale = ($secBotsMorale * $secBots.active + $militiaBaseMorale * $deployingMilitia + $slaveBaseMorale * $deployingSlaves + $mercBaseMorale * $deployingMercs + $SFBaseMorale * $securityForceCreate) / ($secBots.active + $deployingMilitia +$deployingSlaves + $deployingMercs + $securityForceCreate)>> +<<set _morale = ($secBotsMorale * $secBots.active + $militiaBaseMorale * $deployingMilitia + $slaveBaseMorale * $deployingSlaves + $mercBaseMorale * $deployingMercs + $SFBaseMorale * $SF.Active) / ($secBots.active + $deployingMilitia +$deployingSlaves + $deployingMercs + $SF.Active)>> <<set _morale = _morale + _morale * $secBarracksUpgrades.luxury * 0.05>> /* barracks bonus */ <<set _morale *= _moraleTroopMod>> -<<set _baseHp = ($secBotsBaseHp * $secBots.active + $militiaBaseHp * $deployingMilitia + $slaveBaseHp * $deployingSlaves + $mercBaseHp * $deployingMercs + $SFBaseHp * $securityForceCreate) / ($secBots.active + $deployingMilitia +$deployingSlaves + $deployingMercs + $securityForceCreate)>> +<<set _baseHp = ($secBotsBaseHp * $secBots.active + $militiaBaseHp * $deployingMilitia + $slaveBaseHp * $deployingSlaves + $mercBaseHp * $deployingMercs + $SFBaseHp * $SF.Active) / ($secBots.active + $deployingMilitia +$deployingSlaves + $deployingMercs + $SF.Active)>> /* calculates rebelling army stats */ <<if $week <= 30>> @@ -319,25 +318,25 @@ __Difficulty__: <br> <br> __Army__: -<br>troops: <<print $troopCount>> -<br>attack: <<print Math.round(_attack)>> -<br>defense: <<print Math.round(_defense)>> +<br>troops: <<print commaNum(Math.round($troopCount))>> +<br>attack: <<print commaNum(Math.round(_attack))>> +<br>defense: <<print commaNum(Math.round(_defense))>> <br>engagement rule modifier: <<if _engageMod > 0>>+<</if>><<print _engageMod>>% -<br>Hp: <<print Math.round(_hp)>> -<br>base HP: <<print Math.round(_baseHp)>> -<br>morale: <<print Math.round(_morale)>> +<br>Hp: <<print commaNum(Math.round(_hp))>> +<br>base HP: <<print commaNum(Math.round(_baseHp))>> +<br>morale: <<print commaNum(Math.round(_morale))>> <<if _enemyMoraleTroopMod > 0>> <br>morale increase due to troop numbers: +<<print _moraleTroopMod>>% <</if>> <br> <br> __Rebels__: -<br>enemy troops: <<print $attackTroops>> -<br>enemy attack: <<print Math.round(_enemyAttack)>> -<br>enemy defense: <<print Math.round(_enemyDefense)>> -<br>enemy Hp: <<print Math.round(_enemyHp)>> -<br>enemy base Hp: <<print Math.round(_enemyBaseHp)>> -<br>enemy morale: <<print Math.round(_enemyMorale)>> +<br>enemy troops: <<print commaNum(Math.round($attackTroops))>> +<br>enemy attack: <<print commaNum(Math.round(_enemyAttack))>> +<br>enemy defense: <<print commaNum(Math.round(_enemyDefense))>> +<br>enemy Hp: <<print commaNum(Math.round(_enemyHp))>> +<br>enemy base Hp: <<print commaNum(Math.round(_enemyBaseHp))>> +<br>enemy morale: <<print commaNum(Math.round(_enemyMorale))>> <<if _enemyMoraleTroopMod > 0>> <br>enemy morale increase due to troop numbers: +<<print _enemyMoraleTroopMod>>% <</if>> @@ -351,15 +350,15 @@ __Rebels__: /* player army attacks */ <<set _damage = Math.clamp(_attack - _enemyDefense,_attack * 0.1,_attack)>> <br> - <<if $showBattleStatistics == 1>> player damage: <<print Math.round(_damage)>><</if>> + <<if $showBattleStatistics == 1>> player damage: <<print commaNum(Math.round(_damage))>><</if>> <<set _enemyHp -= _damage>> <br> - <<if $showBattleStatistics == 1>> remaining enemy Hp: <<print Math.round(_enemyHp)>><</if>> + <<if $showBattleStatistics == 1>> remaining enemy Hp: <<print commaNum(Math.round(_enemyHp))>><</if>> <<set $enemyLosses += _damage / _enemyBaseHp>> <<set _moraleDamage = Math.clamp(_damage/ 2 + _damage / _enemyBaseHp,0,_damage*1.5)>> <<set _enemyMorale -= _moraleDamage>> <br> - <<if $showBattleStatistics == 1>> remaining enemy morale: <<print Math.round(_enemyMorale)>><</if>> + <<if $showBattleStatistics == 1>> remaining enemy morale: <<print commaNum(Math.round(_enemyMorale))>><</if>> <<if _enemyHp <= 0 || _enemyMorale <= 0>> <<if $showBattleStatistics == 1>> <br>Victory!<</if>> <<set $battleResult = 3>> @@ -373,15 +372,16 @@ __Rebels__: <<set _damage = _enemyAttack * 0.1>> <</if>> <br> - <<if $showBattleStatistics == 1>> enemy damage: <<print Math.round(_damage)>><</if>> - <<set _hp -= _damage>> + <<if $showBattleStatistics == 1>> enemy damage: <<print commaNum(Math.round(_damage))>><</if>> + <<if $SFGear>> <<set _S = .85>> <<else>> <<set _S = 1>> <</if>> + <<set _hp -= _damage*_S>> <br> - <<if $showBattleStatistics == 1>> remaining hp: <<print Math.round(_hp)>><</if>> + <<if $showBattleStatistics == 1>> remaining hp: <<print commaNum(Math.round(_hp))>><</if>> <<set $losses += _damage / _baseHp>> <<set _moraleDamage = Math.clamp(_damage / 2 + _damage / _baseHp,0,_damage*1.5)>> <<set _morale -= _moraleDamage>> <br> - <<if $showBattleStatistics == 1>> remaining morale: <<print Math.round(_morale)>><</if>> + <<if $showBattleStatistics == 1>> remaining morale: <<print commaNum(Math.round(_morale))>><</if>> <<if _hp <= 0 || _morale <= 0>> <<if $showBattleStatistics == 1>> <br>Defeat!<</if>> <<set $battleResult = -3>> diff --git a/src/SecExp/rebellionOptions.tw b/src/SecExp/rebellionOptions.tw index cb0035eface5921beb55d2d20c33c3173b09369f..91c470b22cd01b36d61caa6d88360e80de86d8c2 100644 --- a/src/SecExp/rebellionOptions.tw +++ b/src/SecExp/rebellionOptions.tw @@ -97,10 +97,10 @@ <</if>> <</if>> <</for>> - <<if $securityForceActive == 1>>and $securityForceName, <<print commaNum($securityForcePersonnel)>> strong<</if>> + <<if $SF.Toggle && $SF.Active >= 1>>and $SF.Lower, <<print commaNum($SFUnit.Troops)>> strong<</if>> are called to defend the arcology from this menace. <<else>> - <<if $arcologyUpgrade.drones == 1>>Your security drones<<if $securityForceActive == 1>>and <<print commaNum($securityForceName, $securityForcePersonnel)>> strong<</if>><</if>> + <<if $arcologyUpgrade.drones == 1>>Your security drones<<if $SF.Toggle && $SF.Active >= 1>>and $SF.Lower, <<print commaNum($SFUnit.Troops)>> strong<</if>> <</if>> are called to defend the arcology from this menace. <</if>> <hr> diff --git a/src/SecExp/rebellionReport.tw b/src/SecExp/rebellionReport.tw index cc7d21844c8f93de765793122b0a2f56ed3a6d33..c5195debe8728415c6d8066dfd2a197e26fc2449 100644 --- a/src/SecExp/rebellionReport.tw +++ b/src/SecExp/rebellionReport.tw @@ -1,7 +1,6 @@ :: rebellionReport [nobr] <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "Battles">> - <<set _oldRep = $rep>> <<set _oldAuth = $authority>> <<set $enemyLosses = Math.trunc($enemyLosses)>> @@ -89,6 +88,9 @@ <<else>> completely annihilating their troops, while sustaining <<if $losses > 1>> <<print commaNum(Math.trunc($losses))>> casualties <<else>> a casualty.<</if>> <</if>> + <<if $SFGear>> + More units were able to survive thanks to wearining $SF.Lower's combat armour suits. + <</if>> <<set $ASlaves -= $enemyLosses>> <<if $battleResult == 3>> <<if $battleTurns <= 5>> @@ -183,6 +185,9 @@ <<else>> completely annihilating their troops, while sustaining <<if $losses > 1>> <<print commaNum(Math.trunc($losses))>> casualties <<else>> a casualty.<</if>> <</if>> + <<if $SFGear>> + More units were able to survive thanks to wearining $SF.Lower's combat armour suits. + <</if>> <<set $ASlaves -= $enemyLosses>> <<if $battleResult == 3>> <<if $battleTurns <= 5>> diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw index dc773834bb99aa0ac8ca775f59d7fdae756ef623..43d7f51035ffbb39ba25dd828207f24405a9a963 100644 --- a/src/SecExp/riotControlCenter.tw +++ b/src/SecExp/riotControlCenter.tw @@ -206,3 +206,12 @@ The riot control center opens its guarded doors to you. The great chamber inside <<else>> You have installed additional protection layers and redundant systems in the assistant CPU core. <</if>> + +<<if $SF.Toggle && $SF.Active >= 1>> + <<if $SFSupportLevel >= 4 && !$SFGear && $SFUnit.Armoury >= 8>> <<= Count()>> + <br><br> <<link "Give the riot unit access to the combat armour suits of $SF.Lower.""riotControlCenter">> <<set $SFGear = 1,$riotUpkeep += 15000,$cash -= Math.ceil(500000*_Env*(1.15+($SFUnit.Armoury/10)))>> <</link>> + <br>//Costs <<print cashFormat(Math.ceil(500000*_Env*(1.15+($SFUnit.Armoury/10))))>> + <<else>> + <br><br>//You have given the riot unit access to the combat armour suits of $SF.Lower.// + <</if>> +<</if>> \ No newline at end of file diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw index c621fb3f53857f4b231f3651d05dfae0c45330c6..5bfe8cd772deae362f378241ec6923ed00f105bb 100644 --- a/src/SecExp/secBarracks.tw +++ b/src/SecExp/secBarracks.tw @@ -48,12 +48,11 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <br> <br> <<if $secBarracksUpgrades.size < 5>> - <<link "Increase the size of the barracks">> + <<link "Increase the size of the barracks" "secBarracks">> <<set $cash -= 5000 * ($secBarracksUpgrades.size + 1)>> <<set $secBarracksUpgrades.size += 1>> <<set $maxUnits += 2>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(5000 * ($secBarracksUpgrades.size + 1))>> and will increase the maximum number of units by 2.// <<else>> @@ -61,35 +60,31 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <</if>> <br> <<if $secBarracksUpgrades.luxury == 0>> - <<link "Increase the quality of life of your soldiers by installing high tech furniture and appliances.">> + <<link "Increase the quality of life of your soldiers by installing high tech furniture and appliances." "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> <<set $cash -= 5000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(5000)>> and will provide a 5% bonus to morale.// <<elseif $secBarracksUpgrades.luxury == 1>> - <<link "Further increase the quality of life of your soldiers by installing advanced kitchen equipment and hiring skilled chefs.">> + <<link "Further increase the quality of life of your soldiers by installing advanced kitchen equipment and hiring skilled chefs." "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> <<set $cash -= 10000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(10000)>> and will provide a 5% bonus to morale, for a total of +10%.// <<elseif $secBarracksUpgrades.luxury == 2>> - <<link "Further increase the quality of life of your soldiers by providing high speed, free access to digital media">> + <<link "Further increase the quality of life of your soldiers by providing high speed, free access to digital media" "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> <<set $cash -= 10000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(10000)>> and will provide a 5% bonus to morale, for a total of +15%.// <<elseif $secBarracksUpgrades.luxury == 3>> - <<link "Further increase the quality of life of your soldiers by adding and staffing an exclusive brothel to the structure">> + <<link "Further increase the quality of life of your soldiers by adding and staffing an exclusive brothel to the structure" "secBarracks">> <<set $secBarracksUpgrades.luxury += 1>> <<set $cash -= 15000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(15000)>> and will provide a 5% bonus to morale, for a total of +20%.// <<else>> @@ -97,19 +92,17 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <</if>> <br> <<if $secBarracksUpgrades.training == 0>> - <<link "Add a training facility to the barracks">> + <<link "Add a training facility to the barracks" "secBarracks">> <<set $secBarracksUpgrades.training += 1>> <<set $cash -= 10000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(10000)>> and will allow units to accumulate some experience each week.// <<elseif $secBarracksUpgrades.training == 1>> - <<link "Improve the training facility with modern equipment and skilled personnel">> + <<link "Improve the training facility with modern equipment and skilled personnel" "secBarracks">> <<set $secBarracksUpgrades.training += 1>> <<set $cash -= 20000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(20000)>> and will allow units to accumulate experience each week.// <<else>> @@ -117,19 +110,17 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <</if>> <br> <<if $secBarracksUpgrades.loyaltyMod == 0>> - <<link "Add an indoctrination facility to the barracks">> + <<link "Add an indoctrination facility to the barracks" "secBarracks">> <<set $secBarracksUpgrades.loyaltyMod += 1>> <<set $cash -= 10000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(10000)>> and will slowly raise loyalty of all units// <<elseif $secBarracksUpgrades.loyaltyMod == 1>> - <<link "Improve the indoctrination facility with advanced equipment and skilled personnel">> + <<link "Improve the indoctrination facility with advanced equipment and skilled personnel" "secBarracks">> <<set $secBarracksUpgrades.loyaltyMod += 1>> <<set $cash -= 20000>> <<set $secBarracksUpkeep += $upgradeUpkeep>> - <<goto "secBarracks">> <</link>> <br>//Costs <<print cashFormat(20000)>> and will raise loyalty of all units faster.// <<else>> @@ -139,45 +130,35 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <hr> __Units__ <br> -Your maximum number of units is <<print $maxUnits>>, currently you have <<print $activeUnits>>. <<if $secBarracksUpgrades.luxury > 0>>The barracks provides <<print $secBarracksUpgrades.luxury * 5>>% bonus morale when battle occurs.<</if>><<if $secBarracksUpgrades.training > 0>> The training facility will increase the effectiveness of your units with time.<</if>> +Your current maximum number of units is <<print $maxUnits>> (<<print commaNum($secBots.maxTroops+(50*$maxUnits))>> troops), <<print $activeUnits>> (<<print commaNum($secBots.maxTroops+($slavesEmployedManpower)+($militiaEmployedManpower)+($mercEmployedManpower))>> troops) are active and <<print (2 * $readiness)>> units can be deployed. <<if $secBarracksUpgrades.luxury > 0>>The barracks provides <<print $secBarracksUpgrades.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $secBarracksUpgrades.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>> +<<if $activeUnits >= $maxUnits>> + <br>You have reached the maximum number of units. You'll have to disband one or enlarge the barracks before forming a new unit. +<</if>> <<if $arcologies[0].FSRomanRevivalist != "unset" || $arcologies[0].FSChineseRevivalist != "unset" || $arcologies[0].FSArabianRevivalist != "unset" || $arcologies[0].FSEdoRevivalist != "unset" || $arcologies[0].FSEgyptianRevivalist != "unset" || $arcologies[0].FSAztecRevivalist != "unset">> <</if>> <br> <<replenishAllUnits>> -<br> -<br> +<<if $secBots.active === 1>> <br><br> __Security Drones__ /* drones */ <<if $secBots.active == 1>> <br> <<secBotsDescription>> <br> - <<link "Review Equipment and upgrades">> + <<link "Review Equipment and upgrades" "seeUnit">> <<set $targetUnit = "secBots">> - <<goto "seeUnit">> <</link>> <<if $secBots.troops < $secBots.maxTroops>> | - <<link "Replenish the unit">> + <<link "Replenish the unit" "secBarracks">> <<set $cash -= ($secBots.maxTroops - $secBots.troops) * $secBotsCost>> <<set $secBots.troops = $secBots.maxTroops>> - <<goto "secBarracks">> <</link>> <</if>> -<<else>> - You have lost too many security drones to be able to field them again. - <<link "Reform the unit">> - <<set $cash -= $secBots.maxTroops * $secBotsCost>> - <<set $secBots.troops = $secBots.maxTroops>> - <<set $secBots.active = 1>> - <<goto "secBarracks">> - <</link>> +<</if>> <</if>> -<br> -<br> - -__Slaves__ +<br><br>__Slaves__ <br>/* slaves */ You are free to organize your menial slaves into fighting units. Currently you have <<print commaNum($helots)>> slaves available, while <<print commaNum($slavesEmployedManpower)>> are already employed as soldiers. During all your battles you lost a total of <<print commaNum($slavesTotalCasualties)>>. <<silently>><<= MenialPopCap()>><</silently>> @@ -202,7 +183,7 @@ You are free to organize your menial slaves into fighting units. Currently you h <<set _sL = $slaveUnits.length>> <<if $helots > 0 && $activeUnits < $maxUnits>> <br> - <<link "Form a new unit">> + <<link "Form a new unit" "secBarracks">> <<if $createdSlavesUnits == 0>> <<set _name = (1+$createdSlavesUnits) + "st slave platoon">> <<elseif $createdSlavesUnits == 1>> @@ -256,12 +237,7 @@ You are free to organize your menial slaves into fighting units. Currently you h <<set $createdSlavesUnits++>> <</if>> <<set $activeUnits++>> - <<goto "secBarracks">> <</link>> -<<elseif $helots > 0>> - You have reached the maximum number of units. You'll have to disband one or enlarge the barracks before forming a new unit. -<<elseif $activeUnits < $maxUnits>> - You don't have any free menial slave with which to form a new unit. <</if>> <<for _i = 0; _i < _sL; _i++>> <<capture _i>> @@ -270,22 +246,20 @@ You are free to organize your menial slaves into fighting units. Currently you h <br> <<slaveUnitsDescription $slaveUnits[_i]>> <br> - <<link "Disband the unit">> + <<link "Disband the unit" "secBarracks">> <<set $helots += $slaveUnits[_i].troops>> <<set $slavesEmployedManpower -= $slaveUnits[_i].troops>> <<set $slaveUnits.deleteAt(_i)>> <<set $activeUnits-->> - <<goto "secBarracks">> <</link>> | - <<link "Review Equipment and upgrades">> + <<link "Review Equipment and upgrades" "seeUnit">> <<set $targetUnit = "slaveUnits">> <<set $targetIndex = _i>> - <<goto "seeUnit">> <</link>> | <<if $slaveUnits[_i].troops < $slaveUnits[_i].maxTroops && $helots > 0>> - <<link "Replenish unit">> + <<link "Replenish unit" "secBarracks">> <<if $helots >= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> <<set $helots -= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> <<set $slavesEmployedManpower += $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> @@ -299,16 +273,15 @@ You are free to organize your menial slaves into fighting units. Currently you h <<set $slaveUnits[_i].troops += $helots>> <<set $helots = 0>> <</if>> - <<goto "secBarracks">> <</link>> <</if>> - + <<else>> <br> <br> $slaveUnits[_i].platoonName lost too many operatives to be considered active. <br> - <<link "Disband the unit">> + <<link "Disband the unit" "secBarracks">> <<set _elimUnit = $slaveUnits[_i]>> <<set _newSlaveUnits = []>> <<for _y = 0; _y < _sL; _y++>> @@ -318,11 +291,10 @@ You are free to organize your menial slaves into fighting units. Currently you h <</for>> <<set $slaveUnits = _newSlaveUnits>> <<set $activeUnits-->> - <<goto "secBarracks">> <</link>> | <<if $helots > 0>> - <<link "Reform the unit">> + <<link "Reform the unit" "secBarracks">> <<if $helots >= $slaveUnits[_i].maxTroops>> <<set $slavesEmployedManpower += $slaveUnits[_i].maxTroops>> <<set $helots -= $slaveUnits[_i].maxTroops>> @@ -335,7 +307,6 @@ You are free to organize your menial slaves into fighting units. Currently you h <<set $slaveUnits[_i].training = 0>> <</if>> <<set $slaveUnits[_i].active = 1>> - <<goto "secBarracks">> <</link>> <</if>> <</if>> @@ -354,13 +325,13 @@ __Militia__ With the establishment of conscription, your available manpower has increased to now approximately 3% of the arcology's citizens population. <<elseif $militiaRecruitment == 2>> By establishing obligatory military service to obtain citizenship you have enlarged your manpower pool to be approximately 5% of the arcology's citizens population. - <</if>> - Your current total manpower is <<print commaNum($militiaTotalManpower)>>, of which <<print commaNum($militiaEmployedManpower)>> is in active duty. You lost in total <<print commaNum($militiaTotalCasualties)>> citizens, leaving you with <<print commaNum($militiaFreeManpower)>> available citizens. + <</if>> + Your current total manpower is <<print commaNum($militiaTotalManpower)>>, of which <<print commaNum($militiaEmployedManpower)>> is in active duty. You lost in total <<print commaNum($militiaTotalCasualties)>> citizens, leaving you with <<print commaNum($militiaFreeManpower)>> available citizens. <br> <<set _mL = $militiaUnits.length>> <<if $militiaFreeManpower > 0 && $activeUnits < $maxUnits>> <br> - <<link "Form a new unit">> + <<link "Form a new unit" "secBarracks">> <<if $createdMilitiaUnits == 0>> <<set _name = (1+$createdMilitiaUnits) + "st citizens' platoon">> <<elseif $createdMilitiaUnits == 1>> @@ -414,12 +385,7 @@ __Militia__ <<set $createdMilitiaUnits++>> <</if>> <<set $activeUnits++>> - <<goto "secBarracks">> <</link>> - <<elseif $militiaFreeManpower > 0>> - You have reached the maximum number of units. You'll have to disband one or enlarge the barracks before forming a new unit. - <<elseif $activeUnits < $maxUnits>> - You don't have any free recruits with which to form a new unit. <</if>> <<for _i = 0; _i < _mL; _i++>> <<capture _i>> @@ -428,22 +394,20 @@ __Militia__ <br> <<militiaUnitsDescription $militiaUnits[_i]>> <br> - <<link "Disband the unit">> + <<link "Disband the unit" "secBarracks">> <<set $militiaFreeManpower += $militiaUnits[_i].troops>> <<set $militiaEmployedManpower -= $militiaUnits[_i].troops>> <<set $militiaUnits.deleteAt(_i)>> <<set $activeUnits-->> - <<goto "secBarracks">> <</link>> | - <<link "Review Equipment and upgrades">> + <<link "Review Equipment and upgrades" "seeUnit">> <<set $targetUnit = "militiaUnits">> <<set $targetIndex = _i>> - <<goto "seeUnit">> <</link>> | <<if $militiaUnits[_i].troops < $militiaUnits[_i].maxTroops && $militiaFreeManpower > 0>> - <<link "Replenish unit">> + <<link "Replenish unit" "secBarracks">> <<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> <<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> <<set $militiaEmployedManpower += $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> @@ -457,7 +421,6 @@ __Militia__ <<set $militiaUnits[_i].troops += $militiaFreeManpower>> <<set $militiaFreeManpower = 0>> <</if>> - <<goto "secBarracks">> <</link>> <</if>> <<else>> @@ -465,7 +428,7 @@ __Militia__ <br> $militiaUnits[_i].platoonName lost too many operatives to be considered active. <br> - <<link "Disband the unit">> + <<link "Disband the unit" "secBarracks">> <<set $militiaFreeManpower += $militiaUnits[_i].troops>> <<set $militiaEmployedManpower -= $militiaUnits[_i].troops>> <<set _elimUnit = $militiaUnits[_i]>> @@ -477,11 +440,10 @@ __Militia__ <</for>> <<set $militiaUnits = _newMilitiaUnits>> <<set $activeUnits-->> - <<goto "secBarracks">> <</link>> | <<if $militiaFreeManpower > 0>> - <<link "Reform the unit">> + <<link "Reform the unit" "secBarracks">> <<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops>> <<set $militiaEmployedManpower += $militiaUnits[_i].maxTroops>> <<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops>> @@ -494,7 +456,6 @@ __Militia__ <<set $militiaUnits[_i].training = 0>> <</if>> <<set $militiaUnits[_i].active = 1>> - <<goto "secBarracks">> <</link>> <</if>> <</if>> @@ -518,7 +479,7 @@ __Mercenaries__ <<set _meL = $mercUnits.length>> <<if $mercFreeManpower > 0 && $activeUnits < $maxUnits>> <br> - <<link "Form a new unit">> + <<link "Form a new unit" "secBarracks">> <<if $createdMercUnits == 0>> <<set _name = (1+$createdMercUnits) + "st mercenary platoon">> <<elseif $createdMercUnits == 1>> @@ -572,12 +533,7 @@ __Mercenaries__ <<set $createdMercUnits++>> <</if>> <<set $activeUnits++>> - <<goto "secBarracks">> <</link>> - <<elseif $mercFreeManpower > 0>> - You have reached the maximum number of units. You'll have to disband one or enlarge the barracks before forming a new unit. - <<elseif $activeUnits < $maxUnits>> - You don't have any free mercenaries with which to form a new unit. <</if>> <<for _i = 0; _i < _meL; _i++>> <<capture _i>> @@ -586,22 +542,20 @@ __Mercenaries__ <br> <<mercUnitsDescription $mercUnits[_i]>> <br> - <<link "Disband the unit">> + <<link "Disband the unit" "secBarracks">> <<set $mercFreeManpower += $mercUnits[_i].troops>> <<set $mercEmployedManpower -= $mercUnits[_i].troops>> <<set $mercUnits.deleteAt(_i)>> <<set $activeUnits-->> - <<goto "secBarracks">> <</link>> | - <<link "Review Equipment and upgrades">> + <<link "Review Equipment and upgrades" "seeUnit">> <<set $targetUnit = "mercUnits">> <<set $targetIndex = _i>> - <<goto "seeUnit">> <</link>> | <<if $mercUnits[_i].troops < $mercUnits[_i].maxTroops && $mercFreeManpower > 0>> - <<link "Replenish unit">> + <<link "Replenish unit" "secBarracks">> <<if $mercFreeManpower >= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> <<set $mercFreeManpower -= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> <<set $mercEmployedManpower += $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> @@ -615,16 +569,15 @@ __Mercenaries__ <<set $mercUnits[_i].troops += $mercFreeManpower>> <<set $mercFreeManpower = 0>> <</if>> - <<goto "secBarracks">> <</link>> <</if>> - + <<else>> <br> <br> $mercUnits[_i].platoonName lost too many operatives to be considered active. <br> - <<link "Disband the unit">> + <<link "Disband the unit" "secBarracks">> <<set _elimUnit = $mercUnits[_i]>> <<set _newMercUnits = []>> <<for _y = 0; _y < _sL; _y++>> @@ -634,11 +587,10 @@ __Mercenaries__ <</for>> <<set $mercUnits = _newMercUnits>> <<set $activeUnits-->> - <<goto "secBarracks">> <</link>> | <<if $mercFreeManpower > 0>> - <<link "Reform the unit">> + <<link "Reform the unit" "secBarracks">> <<if $mercFreeManpower >= $mercUnits[_i].maxTroops>> <<set $mercEmployedManpower += $mercUnits[_i].maxTroops>> <<set $mercFreeManpower -= $mercUnits[_i].maxTroops>> @@ -651,7 +603,6 @@ __Mercenaries__ <<set $mercUnits[_i].training = 0>> <</if>> <<set $mercUnits[_i].active = 1>> - <<goto "secBarracks">> <</link>> <</if>> <</if>> diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw index d96c7dee9feff0bc724ad42af38c9bea2c7fddab..60c06553719e875202f6d74765e771757bb234c1 100644 --- a/src/SecExp/secExpSmilingMan.tw +++ b/src/SecExp/secExpSmilingMan.tw @@ -1,11 +1,11 @@ :: secExpSmilingMan [nobr] - + <strong>The Smiling Man</strong> <br> <<if $smilingManProgress == 0>> <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">> - + <br> During your morning routine, you stumble upon a peculiar report: it's been several weeks now that your arcology has been victim of a series of cyber-crimes conducted by a mysterious figure. The egocentric criminal took great pride in their acts, to the point of signing his acts with their peculiar symbol: a stylized smiling face. Your arcology was not the only one under assault by the @@ -63,7 +63,7 @@ <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">> <br> - You have just reached your penthouse when your faithful assistant appears in front of you, evidently excited. + You have just reached your penthouse when your faithful assistant appears in front of you, evidently excited. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, I have just received news of a new attack by the Smiling Man. It appears a few hours ago he infiltrated another arcology and caused a catastrophic failure of its power plant. Between old debts and the loss of value for his shares, the owner went bankrupt in minutes. It seems the Smiling Man managed to keep a small auxiliary generator functioning enough to project a giant holographic picture of his symbol on the arcology's walls. Say what you will about his actions, but you can't deny he has style... Anyways, this opens up a great opportunity to gain control of the structure for ourselves." @@ -130,7 +130,7 @@ </span> <<elseif $smilingManProgress == 2>> <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">> - + <br> <<set $smilingManWeek = $week>> When $assistantName violently wakes you up, her worried expression can mean only one thing: the Smiling Man had been back. "Today at midnight a new site popped up in the web: it's a very simple site, no visuals, no text; only a countdown ticking away. It will reach zero this evening." your assistant says. @@ -196,7 +196,7 @@ <<set $security = Math.clamp($security * 0.2,0,100)>> <<set $crime = Math.clamp($crime * 1.5, 20,100)>> <</if>> - + <br>A short, meek man approaches you with a weak smile. "Not all is lost, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>. We have a lead on him - he is here, in $arcologies[0].name." <br>Despite the bleak situation, you cannot help but smile back. <br> @@ -237,7 +237,7 @@ </span> <<elseif $smilingManProgress == 3>> <<set $nextButton = " ">> - + <br> The day has come to finally put an end to this story. Your men are ready to go, waiting only on your signal. You quickly don your protective gear and proceed down the busy streets of your arcology. You carefully planned the day so that nothing could exit the arcology without being scanned at least three times and poked twice. The Smiling Man has no escape. @@ -257,7 +257,7 @@ <<link "Offer her a new life">> <<set $smilingManFate = 0>> <<replace "#result">> - You decide it would a criminally wasteful to throw away such talent. You offer her a new life at your side. Her expertise will surely guarantee safety, if not supremacy, to your arcology in cyberspace, while she will have safety and luxury in the physical world. + You decide it would be criminally wasteful to throw away such talent. You offer her a new life at your side. Her expertise will surely guarantee safety, if not supremacy, to your arcology in cyberspace, while she will have safety and luxury in the physical world. <br> <<link "Continue">> <<set $smilingManProgress += 1>> diff --git a/src/SecExp/secInit.tw b/src/SecExp/secInit.tw index 97535043e2b85ff5b0b6591adb63e836d505e0da..84654fea324a557daadaa58dc5aa99f3cf083d91 100644 --- a/src/SecExp/secInit.tw +++ b/src/SecExp/secInit.tw @@ -342,6 +342,9 @@ /* SFanon additons */ <<set $SFSupportLevel = 0>> <<set $SFSupportUpkeep = 0>> +<<set $SFGear = 0>> +<<set $SavedLeader = "none">> +<<set $SavedSFI = 0>> /* helper widgets */ <<calcInitialTrade>> \ No newline at end of file diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw index 40d44e15172e84ffb1cd3a35e3e69dd31291700c..891363eee5641aa116f398864c713720319fab5f 100644 --- a/src/SecExp/securityHQ.tw +++ b/src/SecExp/securityHQ.tw @@ -15,7 +15,7 @@ Security headquarters The security headquarters stand in front of you. Innumerable screens flood with light the great central room. <<if $secHelots > 0>>Some slaves see you enter and interrupt their work to greet you.<</if>> From here you can build a safe and prosperous arcology. <br> /* security level. Slaves */ -You have <span id="secHel"><<print $secHelots>></span> slaves working in the HQ. $reqHelots are required and you have <span id="hel"><<print commaNum($helots)>></span> free menial slaves. +You have <span id="secHel"> <<print commaNum($secHelots)>> </span> slaves working in the HQ. $reqHelots are required and you have <span id="hel"> <<print commaNum($helots)>> </span> free menial slaves. <<if $secHelots < $reqHelots>> You do not have enough slaves here. You will not receive the full benefit of the installed upgrades. <<else>> @@ -39,40 +39,141 @@ You have <span id="secHel"><<print $secHelots>></span> slaves working in the HQ. //Bulk purchases will cost <<print cashFormat(200)>> over market price.// <</if>> <</if>> -<br> -<<if $helots >= 5>> - <<link "Transfer 5 menial slaves to the headquarters">> - <<set $helots -= 5>> - <<set $secHelots += 5>> - <<replace "#secHel">><<print $secHelots>><</replace>> - <<replace "#hel">><<print $helots>><</replace>> - <<if $helots < 5 || $secHelots >= $reqHelots || $secHelots == 5>> - <<goto "securityHQ">> +<<if $helots > 0>> + <br>Transfer in: + <<if $helots >= 5>> + <<link "5">> + <<set $helots -= 5>> + <<set $secHelots += 5>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $helots < 5 || $secHelots >= $reqHelots || $secHelots == 5>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + <<if $helots >= 10>> + |<<link "10">> + <<set $helots -= 10>> + <<set $secHelots += 10>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $helots < 10 || $secHelots >= $reqHelots || $secHelots == 10>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + <<if $helots >= 100>> + |<<link "100">> + <<set $helots -= 100>> + <<set $secHelots += 100>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $helots < 100 || $secHelots >= $reqHelots || $secHelots == 100>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + <<if $helots >= 500>> + |<<link "500">> + <<set $helots -= 500>> + <<set $secHelots += 500>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $helots < 500 || $secHelots >= $reqHelots || $secHelots == 500>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + <<if $helots >= 1000>> + |<<link "1000">> + <<set $helots -= 1000>> + <<set $secHelots += 1000>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $helots < 1000 || $secHelots >= $reqHelots || $secHelots == 1000>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + + <<if $secHelots > 0>> + <br>Transfer out + <<if $secHelots >= 5>> + <<link "5">> + <<set $helots += 5>> + <<set $secHelots -= 5>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $secHelots < 5>> + <<goto "securityHQ">> + <</if>> + <<if $secHelots < $reqHelots>> + <<goto "securityHQ">> + <</if>> + <</link>> <</if>> - <</link>> -<<else>> - Transfer 5 menial slaves to the headquarters -<</if>> -| -<<if $secHelots >= 5>> - <<link "Transfer out 5 slaves">> - <<set $helots += 5>> - <<set $secHelots -= 5>> - <<replace "#secHel">><<print $secHelots>><</replace>> - <<replace "#hel">><<print $helots>><</replace>> - <<if $secHelots < 5>> - <<goto "securityHQ">> + <<if $secHelots >= 10>> + |<<link "10">> + <<set $helots += 10>> + <<set $secHelots -= 10>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $secHelots < 10>> + <<goto "securityHQ">> + <</if>> + <<if $secHelots < $reqHelots>> + <<goto "securityHQ">> + <</if>> + <</link>> <</if>> - <<if $secHelots < $reqHelots>> - <<goto "securityHQ">> + <<if $secHelots >= 100>> + |<<link "100">> + <<set $helots += 100>> + <<set $secHelots -= 100>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $secHelots < 100>> + <<goto "securityHQ">> + <</if>> + <<if $secHelots < $reqHelots>> + <<goto "securityHQ">> + <</if>> + <</link>> <</if>> - <</link>> -<<else>> - Transfer out 5 slaves + <<if $secHelots >= 500>> + |<<link "500">> + <<set $helots += 500>> + <<set $secHelots -= 500>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $secHelots < 500>> + <<goto "securityHQ">> + <</if>> + <<if $secHelots < $reqHelots>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + <<if $secHelots >= 1000>> + |<<link "1000">> + <<set $helots += 1000>> + <<set $secHelots -= 1000>> + <<replace "#secHel">><<print $secHelots>><</replace>> + <<replace "#hel">><<print $helots>><</replace>> + <<if $secHelots < 1000>> + <<goto "securityHQ">> + <</if>> + <<if $secHelots < $reqHelots>> + <<goto "securityHQ">> + <</if>> + <</link>> + <</if>> + <</if>> <</if>> -| + <<if $secHelots != $reqHelots>> - <<link "Match the requirement">> + <br><<link "Match the requirement">> <<if $helots >= $reqHelots - $secHelots>> <<set $helots -= $reqHelots - $secHelots>> <<set $secHelots = $reqHelots>> @@ -89,12 +190,9 @@ You have <span id="secHel"><<print $secHelots>></span> slaves working in the HQ. <<goto "securityHQ">> <</if>> <</link>> -<<else>> - Match the requirement <</if>> -<br> -<br> +<br><br> /* security level and upgrades */ Your security level (@@.deepskyblue;<<print $security>>@@) diff --git a/src/SecExp/securityReport.tw b/src/SecExp/securityReport.tw index 907982fccb2f0e68b612c85fe340ddfead37b9df..a4f4ca56d5a7a57764db2cc12f1fc6f0278fdf72 100644 --- a/src/SecExp/securityReport.tw +++ b/src/SecExp/securityReport.tw @@ -125,14 +125,16 @@ <<set $garrison.assistantTime--, $PC.engineering += .1>> <</if>> -<<if $SFSupportLevel >= 3>> - The two squads of $securityForceName assigned to the Security HQ provide an essential help to the security department. -<</if>> -<<if $SFSupportLevel >= 2>> - The training officers of $securityForceName assigned to the Security HQ improve its effectiveness. -<</if>> -<<if $SFSupportLevel >= 1>> - Providing your Security Department with equipment from $securityForceName slightly boosts the security of your arcology. +<<if $SF.Toggle && $SF.Active >= 1>> + <<if $SFSupportLevel >= 3>> + The two squads of $SF.Lower assigned to the Security HQ provide an essential help to the security department. + <</if>> + <<if $SFSupportLevel >= 2>> + The training officers of $SF.Lower assigned to the Security HQ improve its effectiveness. + <</if>> + <<if $SFSupportLevel >= 1>> + Providing your Security Department with equipment from $SF.Lower slightly boosts the security of your arcology. + <</if>> <</if>> /* resting point */ @@ -252,6 +254,10 @@ <<if $militiaFounded == 1 || $activeUnits >= 1>> <br> <strong> Military</strong>: /* militia */ + <<if $SF.Toggle && $SF.Active >= 1 && $SF.Units > 10>> + Having a powerful special force attracts a lot of citizens, hopeful that they may be able to fight along side it. + <<set _recruits += random(0,(Math.round($SF.Units/10)))>> + <</if>> <<if $propCampaign >= 1 && $propFocus == "recruitment">> <<if $RecuriterOffice == 0 || $Recruiter == 0>> <<if $propCampaignBoost == 1>> @@ -400,6 +406,10 @@ <<if $crime > 60>> The powerful crime organizations that nested themselves in the arcology have an unending need for cheap guns for hire, many mercenaries flock to your free city in search of employment.<<set _newMercs += random(1,2)>> <</if>> + <<if $SF.Toggle && $SF.Active >= 1 && $SF.Units > 10>> + Having a powerful special force attracts a lot of mercenaries, hopeful that they may be able to fight along side it. + <<set _newMercs += random(0,Math.round($SF.Units/10))>> + <</if>> <<set _newMercs = Math.trunc(_newMercs / 2)>> <<if _newMercs > 0>> <<set $mercTotalManpower += _newMercs>> diff --git a/src/SecExp/seeUnit.tw b/src/SecExp/seeUnit.tw index 2ad539ccd55eb46712e8154f5c871fe961d21f8f..e44e03e59f439acb8d995cd47e0bc17fb9f5102c 100644 --- a/src/SecExp/seeUnit.tw +++ b/src/SecExp/seeUnit.tw @@ -10,42 +10,38 @@ <<secBotsDescription>> <<if $secBots.maxTroops > $secBots.troops>> <br> - <<link "Replenish the unit">> + <<link "Replenish the unit" "seeUnit">> <<set $cash -= ($secBots.maxTroops - $secBots.troops) * $secBotsCost>> <<set $secBots.troops = $secBots.maxTroops>> - <<goto "seeUnit">> <</link>> <</if>> <br> <<if $secBots.maxTroops < 80>> <br> - <<link "Improve the digital control matrix">> + <<link "Improve the digital control matrix" "seeUnit">> <<set $secBots.maxTroops += 10>> <<set $cash -= 5000>> - <<goto "seeUnit">> <</link>> Invest in the development of more refined controls for your drones to increase the maximum number of drones in the unit. <br>//Costs <<print cashFormat(5000)>> per upgrade and each will increase the max by 10// - <<elseif $secBots.maxTroops < 100 && $SFSupportLevel >= 1>> + <<elseif $SF.Toggle && $SF.Active >= 1 && $secBots.maxTroops < 100 && $SFSupportLevel >= 1>> <br> - <<link "Refine the drone network with $securityForceName assistance">> + <<link "Refine the drone network with $SF.Lower assistance" "seeUnit">> <<set $secBots.maxTroops += 10>> <<set $cash -= 5000 + 10 * $secBotsUpgradeCost * $secBots.equip>> - <<goto "seeUnit">> <</link>> - Utilize the technological developments made by $securityForceName to further improve the control matrix of the security drones. + Utilize the technological developments made by $SF.Lower to further improve the control matrix of the security drones. <br>//Costs <<print cashFormat(5000 + 10 * $secBotsUpgradeCost * $secBots.equip)>> and will increase the max by 10// - <<elseif $SFSupportLevel < 1 && $securityForceCreate == 1>> - There's little left to improve in the matrix. However support from $securityForceName might give some more room from improvement. + <<elseif $SF.Toggle && $SF.Active >= 1 && $SFSupportLevel < 1>> + There's little left to improve in the matrix. However support from $SF.Lower might give some more room from improvement. <<else>> There's little left to improve in the matrix. Your control systems are at top capacity and won't be able to handle a bigger drone unit. <</if>> <<if $secBots.equip < 3>> <br> - <<link "Improve drone weaponry and armor">> + <<link "Improve drone weaponry and armor" "seeUnit">> <<set $secBots.equip += 1>> <<set $cash -= (($secBotsUpgradeCost * $secBots.maxTroops) + 1000)>> - <<goto "seeUnit">> <</link>> Invest in better equipment for your drones to increase their battle effectiveness. <br>//Costs <<print cashFormat(($secBotsUpgradeCost * $secBots.maxTroops) + 1000)>> and will increase attack and defense value of the unit by 15% for every upgrade.// @@ -67,7 +63,7 @@ Rename unit <<textbox "$militiaUnits[$targetIndex].platoonName" $militiaUnits[$targetIndex].platoonName "seeUnit">> <<if $militiaUnits[$targetIndex].maxTroops > $militiaUnits[$targetIndex].troops && $militiaFreeManpower > 0>> <br> - <<link "Replenish unit">> + <<link "Replenish unit" "seeUnit">> <<if $militiaFreeManpower >= $militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops>> <<set $militiaFreeManpower -= $militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops>> <<set $militiaEmployedManpower += $militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops>> @@ -81,16 +77,14 @@ <<set $militiaUnits[$targetIndex].troops += $militiaFreeManpower>> <<set $militiaFreeManpower = 0>> <</if>> - <<goto "seeUnit">> <</link>> <</if>> <br> <<if $militiaUnits[$targetIndex].maxTroops < 50>> <br> - <<link "Intensive officers training">> + <<link "Intensive officers training" "seeUnit">> <<set $militiaUnits[$targetIndex].maxTroops += 10>> <<set $cash -= 5000 + 10 * $equipUpgradeCost * ($militiaUnits[$targetIndex].equip + $militiaUnits[$targetIndex].commissars + $militiaUnits[$targetIndex].cyber + $militiaUnits[$targetIndex].SF)>> - <<goto "seeUnit">> <</link>> Invest in the training of your officers to increase the maximum number of soldiers in the unit. <br>//Costs <<print cashFormat(5000 + 10 * $equipUpgradeCost * ($militiaUnits[$targetIndex].equip + $militiaUnits[$targetIndex].commissars + $militiaUnits[$targetIndex].cyber + $militiaUnits[$targetIndex].SF))>> and will increase the max by 10// @@ -100,10 +94,9 @@ <</if>> <<if $militiaUnits[$targetIndex].equip < 3>> <br> - <<link "Improve weaponry and equipment">> + <<link "Improve weaponry and equipment" "seeUnit">> <<set $militiaUnits[$targetIndex].equip += 1>> <<set $cash -= ($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 1000>> - <<goto "seeUnit">> <</link>> Invest in better equipment for your soldiers to increase their battle effectiveness. <br>//Costs <<print cashFormat(($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 1000)>> and will increase attack and defense value of the unit by 15% for every upgrade.// @@ -113,19 +106,17 @@ <</if>> <<if $militiaUnits[$targetIndex].commissars == 0>> <br> - <<link "Attach commissars to the unit">> + <<link "Attach commissars to the unit" "seeUnit">> <<set $militiaUnits[$targetIndex].commissars = 1>> <<set $cash -= $equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Attach a small squad of commissars to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 1000)>> and will slowly increase the loyalty of the unit.// <<elseif $militiaUnits[$targetIndex].commissars < 2>> <br> - <<link "Intensive loyalty training">> + <<link "Intensive loyalty training" "seeUnit">> <<set $militiaUnits[$targetIndex].commissars += 1>> <<set $cash -= $equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Provide special training for the officers and the commissars of the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 1000)>> and will increase the loyalty of the unit faster.// @@ -137,10 +128,9 @@ <<if $prostheticsUpgrade >= 2 || $researchLab.advCombatPLimb == 1>> <<if $militiaUnits[$targetIndex].cyber == 0>> <br> - <<link "Provide enhanced cybernetic enhancements">> + <<link "Provide enhanced cybernetic enhancements" "seeUnit">> <<set $militiaUnits[$targetIndex].cyber += 1>> <<set $cash -= $equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops + 2000>> - <<goto "seeUnit">> <</link>> Will augment all soldiers of the unit with high tech cyber enhancements. <br>//Costs <<print cashFormat(($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 2000)>> and will increase attack, defense and base hp values of the unit.// @@ -150,28 +140,26 @@ <</if>> <<if $militiaUnits[$targetIndex].medics == 0>> <br> - <<link "Attach trained medics to the unit">> + <<link "Attach trained medics to the unit" "seeUnit">> <<set $militiaUnits[$targetIndex].medics = 1>> <<set $cash -= $equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Attach a small squad of trained medics to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 1000)>> and will decrease the number of casualties suffered during battle.// <<else>> <br>The unit has a medic detachment following it into battle, decreasing the number of casualties the unit suffers. <</if>> - <<if $securityForceActive == 1>> + <<if $SF.Toggle && $SF.Active >= 1>> <<if $militiaUnits[$targetIndex].SF == 0>> <br> - <<link "Attach Special Force advisors">> + <<link "Attach Special Force advisors" "seeUnit">> <<set $militiaUnits[$targetIndex].SF = 1>> <<set $cash -= ($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 5000>> - <<goto "seeUnit">> <</link>> - Attach $securityForceName advisors to the unit. + Attach $SF.Lower advisors to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 5000)>> and will slightly increase the base stats of the unit.// <<else>> - <br>The unit has attached advisors from $securityForceName that will help the squad remain tactically aware and active. + <br>The unit has attached advisors from $SF.Lower that will help the squad remain tactically aware and active. <</if>> <</if>> @@ -227,7 +215,7 @@ Rename unit <<textbox "$slaveUnits[$targetIndex].platoonName" $slaveUnits[$targetIndex].platoonName "seeUnit">> <<if $slaveUnits[$targetIndex].maxTroops > $slaveUnits[$targetIndex].troops && $helots > 0>> <br> - <<link "Replenish unit">> + <<link "Replenish unit" "seeUnit">> <<if $helots >= $slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops>> <<set $helots -= $slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops>> <<set $slavesEmployedManpower += $slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops>> @@ -241,19 +229,17 @@ <<set $slaveUnits[$targetIndex].troops += $helots>> <<set $helots = 0>> <</if>> - <<goto "seeUnit">> <</link>> <</if>> <br> <<if $slaveUnits[$targetIndex].maxTroops < 50>> <br> - <<link "Intensive officers training">> + <<link "Intensive officers training" "seeUnit">> <<set $slaveUnits[$targetIndex].maxTroops += 10>> <<set $cash -= 5000 + 10 * $equipUpgradeCost * ($slaveUnits[$targetIndex].equip + $slaveUnits[$targetIndex].commissars + $slaveUnits[$targetIndex].cyber + $slaveUnits[$targetIndex].SF)>> - <<goto "seeUnit">> <</link>> Invest in the training of your officers to increase the maximum number of soldiers in the unit. - <br>//Costs <<print 5000 + 10 * $equipUpgradeCost * ($slaveUnits[$targetIndex].equip + $slaveUnits[$targetIndex].commissars + $slaveUnits[$targetIndex].cyber + $slaveUnits[$targetIndex].SF)>> and will increase the max by 10// + <br>//Costs <<print cashFormat(5000 + 10 * $equipUpgradeCost * ($slaveUnits[$targetIndex].equip + $slaveUnits[$targetIndex].commissars + $slaveUnits[$targetIndex].cyber + $slaveUnits[$targetIndex].SF))>> and will increase the max by 10// <<else>> <br>Your officers reached their peak. Further training will have little impact on the number of troops they can effectively lead. <</if>> @@ -271,19 +257,17 @@ <</if>> <<if $slaveUnits[$targetIndex].commissars == 0>> <br> - <<link "Attach commissars to the unit">> + <<link "Attach commissars to the unit" "seeUnit">> <<set $slaveUnits[$targetIndex].commissars = 1>> <<set $cash -= $equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Attach a small squad of commissars to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 1000)>> and will slowly increase the loyalty of the unit.// <<elseif $slaveUnits[$targetIndex].commissars < 2>> <br> - <<link "Intensive loyalty training">> + <<link "Intensive loyalty training" "seeUnit">> <<set $slaveUnits[$targetIndex].commissars += 1>> <<set $cash -= $equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Provide special training for the officers and the commissars of the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 1000)>> and will increase the loyalty of the unit faster.// @@ -295,10 +279,9 @@ <<if $prostheticsUpgrade >= 2 || $researchLab.advCombatPLimb == 1>> <<if $slaveUnits[$targetIndex].cyber == 0>> <br> - <<link "Provide enhanced cybernetic enhancements">> + <<link "Provide enhanced cybernetic enhancements" "seeUnit">> <<set $slaveUnits[$targetIndex].cyber += 1>> <<set $cash -= $equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops + 2000>> - <<goto "seeUnit">> <</link>> Will augment all soldiers of the unit with high tech cyber enhancements. <br>//Costs <<print cashFormat(($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 2000)>> and will increase attack, defense and base hp values of the unit.// @@ -308,28 +291,26 @@ <</if>> <<if $slaveUnits[$targetIndex].medics == 0>> <br> - <<link "Attach trained medics to the unit">> + <<link "Attach trained medics to the unit" "seeUnit">> <<set $slaveUnits[$targetIndex].medics = 1>> <<set $cash -= $equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Attach a small squad of trained medics to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 1000)>> and will decrease the number of casualties suffered during battle.// <<else>> <br>The unit has a medic detachment following it into battle, decreasing the number of casualties the unit suffers. <</if>> - <<if $securityForceActive == 1>> + <<if $SF.Toggle && $SF.Active >= 1>> <<if $slaveUnits[$targetIndex].SF == 0>> <br> - <<link "Attach Special Force advisors">> + <<link "Attach Special Force advisors" "seeUnit">> <<set $slaveUnits[$targetIndex].SF = 1>> <<set $cash -= ($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 5000>> - <<goto "seeUnit">> <</link>> - Attach $securityForceName advisors to the unit. + Attach $SF.Lower advisors to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 5000)>> and will slightly increase the base stats of the unit.// <<else>> - <br>The unit has attached advisors from $securityForceName that will help the squad remain tactically aware and active. + <br>The unit has attached advisors from $SF.Lower that will help the squad remain tactically aware and active. <</if>> <</if>> <<if $showBattleStatistics == 1>> @@ -384,7 +365,7 @@ Rename unit <<textbox "$mercUnits[$targetIndex].platoonName" $mercUnits[$targetIndex].platoonName "seeUnit">> <<if $mercUnits[$targetIndex].troops < $mercUnits[$targetIndex].maxTroops && $mercFreeManpower > 0>> <br> - <<link "Replenish unit">> + <<link "Replenish unit" "seeUnit">> <<if $mercFreeManpower >= $mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops>> <<set $mercFreeManpower -= $mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops>> <<set $mercEmployedManpower += $mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops>> @@ -398,16 +379,14 @@ <<set $mercUnits[$targetIndex].troops += $mercFreeManpower>> <<set $mercFreeManpower = 0>> <</if>> - <<goto "seeUnit">> <</link>> <</if>> <br> <<if $mercUnits[$targetIndex].maxTroops < 50>> <br> - <<link "Intensive officers training">> + <<link "Intensive officers training" "seeUnit">> <<set $mercUnits[$targetIndex].maxTroops += 10>> <<set $cash -= 5000 + 10 * $equipUpgradeCost * ($mercUnits[$targetIndex].equip + $mercUnits[$targetIndex].commissars + $mercUnits[$targetIndex].cyber + $mercUnits[$targetIndex].SF)>> - <<goto "seeUnit">> <</link>> Invest in the training of your officers to increase the maximum number of soldiers in the unit. <br>//Costs <<print cashFormat(5000 + 10 * $equipUpgradeCost * ($mercUnits[$targetIndex].equip + $mercUnits[$targetIndex].commissars + $mercUnits[$targetIndex].cyber + $mercUnits[$targetIndex].SF))>> and will increase the max by 10// @@ -416,10 +395,9 @@ <</if>> <<if $mercUnits[$targetIndex].equip < 3>> <br> - <<link "Improve weaponry and equipment">> + <<link "Improve weaponry and equipment" "seeUnit">> <<set $mercUnits[$targetIndex].equip += 1>> <<set $cash -= ($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 1000>> - <<goto "seeUnit">> <</link>> Invest in better equipment for your soldiers to increase their battle effectiveness. <br>//Costs <<print cashFormat(($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 1000)>> and will increase attack and defense value of the unit by 15% for every upgrade.// @@ -428,19 +406,17 @@ <</if>> <<if $mercUnits[$targetIndex].commissars == 0>> <br> - <<link "Attach commissars to the unit">> + <<link "Attach commissars to the unit" "seeUnit">> <<set $mercUnits[$targetIndex].commissars = 1>> <<set $cash -= $equipUpgradeCost * $mercUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Attach a small squad of commissars to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 1000)>> and will slowly increase the loyalty of the unit.// <<elseif $mercUnits[$targetIndex].commissars < 2>> <br> - <<link "Intensive loyalty training">> + <<link "Intensive loyalty training" "seeUnit">> <<set $mercUnits[$targetIndex].commissars += 1>> <<set $cash -= $equipUpgradeCost * $mercUnits[$targetIndex].maxTroops + 1000>> - <<goto "seeUnit">> <</link>> Provide special training for the officers and the commissars of the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 1000)>> and will increase the loyalty of the unit faster.// @@ -452,10 +428,9 @@ <<if $prostheticsUpgrade >= 2 || $researchLab.advCombatPLimb == 1>> <<if $mercUnits[$targetIndex].cyber == 0>> <br> - <<link "Provide enhanced cybernetic enhancements">> + <<link "Provide enhanced cybernetic enhancements" "seeUnit">> <<set $mercUnits[$targetIndex].cyber += 1>> <<set $cash -= $equipUpgradeCost * $mercUnits[$targetIndex].maxTroops + 2000>> - <<goto "seeUnit">> <</link>>Will augment all soldiers of the unit with high tech cyber enhancements. <br>//Costs <<print cashFormat(($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 2000)>> and will increase attack, defense and base hp values of the unit.// <<else>> @@ -464,28 +439,26 @@ <</if>> <<if $mercUnits[$targetIndex].medics == 0>> <br> - <<link "Attach trained medics to the unit">> + <<link "Attach trained medics to the unit" "seeUnit">> <<set $mercUnits[$targetIndex].medics = 1>> <<set $cash -= ($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 5000>> - <<goto "seeUnit">> <</link>> Attach a small squad of trained medics to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 5000)>> and will decrease the number of casualties suffered during battle.// <<else>> <br>The unit has a medic detachment following it into battle, decreasing the number of casualties the unit suffers. <</if>> - <<if $securityForceActive == 1>> + <<if $SF.Toggle && $SF.Active >= 1>> <<if $mercUnits[$targetIndex].SF == 0>> <br> - <<link "Attach Special Force advisors">> + <<link "Attach Special Force advisors" "seeUnit">> <<set $mercUnits[$targetIndex].SF = 1>> <<set $cash -= ($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 5000>> - <<goto "seeUnit">> <</link>> - Attach $securityForceName advisors to the unit. + Attach $SF.Lower advisors to the unit. <br>//Costs <<print cashFormat(($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 5000)>> and will slightly increase the base stats of the unit.// <<else>> - <br>The unit has attached advisors from $securityForceName that will help the squad remain tactically aware and active. + <br>The unit has attached advisors from $SF.Lower that will help the squad remain tactically aware and active. <</if>> <</if>> <<if $showBattleStatistics == 1>> diff --git a/src/SecExp/tradeReport.tw b/src/SecExp/tradeReport.tw index ccd0c030a586cc98d469fe723de464630ee51881..266b6fe5d297380ea3c865c25f8347290f5bb95f 100644 --- a/src/SecExp/tradeReport.tw +++ b/src/SecExp/tradeReport.tw @@ -44,7 +44,7 @@ <<elseif $rep > 12000>> Your high reputation attracts trade from all over the world. <</if>> - + <<if $assistantPower == 1>> Thanks to the computing power available to her, $assistantName is able to guide the commercial development of the arcology to greater levels. <<set _tradeChange++>> <<elseif $assistantPower == 2>> @@ -98,7 +98,12 @@ <</if>> <</if>> <</if>> - + +<<if $SF.Toggle && $SF.Active >= 1 && $SF.Units > 10>> + Having a powerful special force, increases trade security. + <<set _tradeChange += $SF.Units/10>> +<</if>> + <<if _tradeChange > 0>> This week @@.green;trade improved.@@ <<elseif _tradeChange == 0>> diff --git a/src/SecExp/unitsBattleReport.tw b/src/SecExp/unitsBattleReport.tw index b702f98375e4eda6d3a5c8a81a4d61d71ea12f56..c30475e2cf0eb5bcc1f6c0869ce12686fb435561 100644 --- a/src/SecExp/unitsBattleReport.tw +++ b/src/SecExp/unitsBattleReport.tw @@ -5,9 +5,9 @@ <br> Security Drones: no casualties. <</if>> - <<if $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> <br> - <<print $securityForcePersonnel>> soldiers from $securityForceName joined the battle: no casualties suffered. + <<print commaNum($SFUnit.Troops)>> soldiers from $SF.Lower joined the battle: no casualties suffered. <</if>> <<if $deployingMilitia == 1>> <<for _j = 0; _j < $militiaUnits.length; _j++>> @@ -56,7 +56,7 @@ /* if the losses are more than zero */ /* generates a list of randomized losses, from which each unit picks one at random */ <<set _losses = $losses>> - <<if $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> <<set $deployedUnits++>> <</if>> <<set _averageLosses = Math.trunc(_losses / $deployedUnits)>> @@ -77,7 +77,7 @@ <<set _lossesList[random(_lossesList.length - 1)] += _losses>> <</if>> <<set _lossesList.shuffle()>> - + /* sanity check for losses */ <<set _count = 0>> <<for _i = 0; _i < _lossesList.length; _i++>> @@ -94,7 +94,7 @@ <<set _rand = random(_lossesList.length - 1)>> <<set _lossesList[_rand] = Math.trunc(_lossesList[_rand]-_diff,0,100)>> <</if>> - + /* assigns the losses and notify the player */ <<if $deployingBots == 1>> <br> @@ -116,17 +116,17 @@ suffered. <<if $secBots.troops <= 5>> <<set $secBots.active = 0>> - Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. It will take quite the investment to rebuild them. + Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. It will take quite the investment to rebuild them. <<elseif $secBots.troops <= 10>> The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> <br> <</if>> - <<if $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> <br> <<set _loss = _lossesList.pluck()>> - <<set _loss = Math.clamp(_loss,0,$securityForcePersonnel)>> - <<print $securityForcePersonnel>> soldiers from the $securityForceName joined the battle: + <<set _loss = Math.clamp(_loss,0,$SFUnit.Troops)>> + <<print commaNum($SFUnit.Troops)>> soldiers from $SF.Lower joined the battle: <<if _loss <= 0>> no casualties <<elseif _loss <= 10>> @@ -139,7 +139,7 @@ catastrophic casualties <</if>> suffered. - <<set $securityForcePersonnel -= _loss>> + <<set $SFUnit.Troops -= _loss>> <br> <</if>> <<if $deployingMilitia == 1>> @@ -178,7 +178,7 @@ <</if>> <<if $militiaUnits[_j].troops <= 5>> <<set $militiaUnits[_j].active = 0>> - <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. + <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. <<elseif $militiaUnits[_j].troops <= 10>> <br>The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> @@ -221,7 +221,7 @@ <</if>> <<if $slaveUnits[_j].troops <= 5>> <<set $slaveUnits[_j].active = 0>> - <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The survivors will be sent home honored as veterans or reorganized in a new unit. + <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The survivors will be sent home honored as veterans or reorganized in a new unit. <<elseif $slaveUnits[_j].troops <= 10>> <br>The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> @@ -261,10 +261,10 @@ Experience has increased. <<set $mercUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>> <</if>> - <</if>> + <</if>> <<if $mercUnits[_j].troops <= 5>> <<set $mercUnits[_j].active = 0>> - <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. + <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. <<elseif $mercUnits[_j].troops <= 10>> <br>The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> diff --git a/src/SecExp/unitsRebellionReport.tw b/src/SecExp/unitsRebellionReport.tw index b07d60ec4d8bce574ef184674790e2a999ac205c..05b27294b6997bc1234b6e963e8e470e49b77ac6 100644 --- a/src/SecExp/unitsRebellionReport.tw +++ b/src/SecExp/unitsRebellionReport.tw @@ -8,9 +8,8 @@ <br> Security drones: no casualties suffered. <</if>> - <<if $securityForceCreate == 1>> - <br> - $securityForceName, <<print commaNum($securityForcePersonnel)>> strong, was called to join the battle: no casualties suffered. + <<if $SF.Toggle && $SF.Active >= 1>> + <br>$SF.Lower, <<print commaNum($SFUnit.Troops)>> strong, was called to join the battle: no casualties suffered. <</if>> <<set _count = 0>> <<if $loyalID.length > 0>> @@ -18,7 +17,7 @@ <<for _i = 0; _i < $militiaUnits.length; _i++>> <<if $militiaUnits[_i].active == 1 && ($loyalID.includes($militiaUnits[_i].ID))>> <<set _count++>> - <<if _count < $loyalID.length>> + <<if _count < $loyalID.length>> $militiaUnits[_i].platoonName, <<else>> $militiaUnits[_i].platoonName @@ -28,7 +27,7 @@ <<for _i = 0; _i < $slaveUnits.length; _i++>> <<if $slaveUnits[_i].active == 1 && ($loyalID.includes($slaveUnits[_i].ID))>> <<set _count++>> - <<if _count < $loyalID.length>> + <<if _count < $loyalID.length>> $slaveUnits[_i].platoonName, <<else>> $slaveUnits[_i].platoonName @@ -38,7 +37,7 @@ <<for _i = 0; _i < $mercUnits.length; _i++>> <<if $mercUnits[_i].active == 1 && ($loyalID.includes($mercUnits[_i].ID))>> <<set _count++>> - <<if _count < $loyalID.length>> + <<if _count < $loyalID.length>> $mercUnits[_i].platoonName, <<else>> $mercUnits[_i].platoonName @@ -101,7 +100,7 @@ <br>//Will positively influence the loyalty of the other units, but no manpower will be refunded.// </span> <</if>> - + /* slaves */ <<set _slaveRebelledID = []>> <<set _slaveManpower = 0>> @@ -155,7 +154,7 @@ <br>//Will positively influence the loyalty of the other units, but no manpower will be refunded.// </span> <</if>> - + /* mercs */ <<set _mercRebelledID = []>> <<set _mercManpower = 0>> @@ -214,7 +213,7 @@ <<for _j = 0; _j < $militiaUnits.length; _j++>> <<if $militiaUnits[_j].active == 1 && $rebellingID.includes($militiaUnits[_j].ID)>> <<set _militiaRebelledID.push($militiaUnits[_j].ID)>> - $militiaUnits[_j].platoonName, + $militiaUnits[_j].platoonName, <</if>> <</for>> <<if _militiaRebelledID.length > 0>> @@ -256,12 +255,12 @@ <<elseif $losses > 0>> /* if the losses are more than zero */ /* generates a list of randomized losses, from which each unit picks one at random */ - <<if $securityForceCreate == 1>> + <<if $SF.Toggle && $SF.Active >= 1>> <<set $deployedUnits++>> <</if>> <<if $irregulars > 0>> <<set $deployedUnits++>> - <</if>> + <</if>> <<set _averageLosses = Math.trunc($losses / $deployedUnits)>> <<set _lossesList = []>> <<for _i = 0; _i < $deployedUnits; _i++>> @@ -278,7 +277,7 @@ <<set _lossesList[random(_lossesList.length - 1)] += $losses>> <</if>> <<set _lossesList.shuffle()>> - + /* sanity check for losses */ <<set _count = 0>> <<for _i = 0; _i < _lossesList.length; _i++>> @@ -295,7 +294,7 @@ <<set _rand = random(_lossesList.length - 1)>> <<set _lossesList[_rand] = Math.trunc(_lossesList[_rand]-_diff,0,100)>> <</if>> - + /* assigns the losses and notify the player */ <<if $irregulars > 0>> <br> @@ -341,18 +340,18 @@ suffered. <<if $secBots.troops <= 0>> <<set $secBots.active = 0>> - Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. It will take quite the investment to rebuild them. + Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. It will take quite the investment to rebuild them. <<elseif $secBots.troops <= 10>> The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> <</if>> - <<if $securityForceCreate == 1>> + <<if $SF.Toggle && $SF.Active >= 1>> <br> <br> <<set _loss = _lossesList.pluck()>> - <<set _loss = Math.clamp(_loss,0,$securityForcePersonnel)>> - $securityForceName, $securityForcePersonnel strong, is called to join the battle: - <<set $securityForcePersonnel -= _loss>> + <<set _loss = Math.clamp(_loss,0,$SFUnit.Troops)>> + $SF.Lower, $SFUnit.Troops strong, is called to join the battle: + <<set $SFUnit.Troops -= _loss>> <<if _loss <= 0>> no casualties <<elseif _loss <= 10>> @@ -403,7 +402,7 @@ <</if>> <<if $militiaUnits[_j].troops <= 0>> <<set $militiaUnits[_j].active = 0>> - <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. + <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. <<elseif $militiaUnits[_j].troops <= 10>> <br>The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> @@ -452,7 +451,7 @@ <</if>> <<if $slaveUnits[_j].troops <= 0>> <<set $slaveUnits[_j].active = 0>> - <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The survivors will be sent home honored as veterans or reorganized in a new unit. + <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The survivors will be sent home honored as veterans or reorganized in a new unit. <<elseif $slaveUnits[_j].troops <= 10>> <br>The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> @@ -493,15 +492,15 @@ Experience gained. <<set $mercUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>> <</if>> - <</if>> + <</if>> <<if $mercUnits[_j].troops <= 0>> <<set $mercUnits[_j].active = 0>> - <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. + <br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit. <<elseif $mercUnits[_j].troops <= 10>> <br>The unit has very few operatives left, it risks complete annihilation if deployed again. <</if>> <</if>> - <</for>> + <</for>> <</if>> <br> <br> @@ -558,7 +557,7 @@ <br>//Will positively influence the loyalty of the other units, but no manpower will be refunded.// </span> <</if>> - + /* slaves */ <<set _slaveRebelledID = []>> <<set _slaveManpower = 0>> @@ -611,7 +610,7 @@ <br>//Will positively influence the loyalty of the other units, but no manpower will be refunded.// </span> <</if>> - + /* mercs */ <<set _mercRebelledID = []>> <<set _mercManpower = 0>> @@ -664,14 +663,14 @@ <br>//Will positively influence the loyalty of the other units, but no manpower will be refunded.// </span> <</if>> - + /* loss */ <<elseif $rebellingID.length > 0>> <<set _militiaRebelledID = []>> <<for _j = 0; _j < $militiaUnits.length; _j++>> <<if $militiaUnits[_j].active == 1 && $rebellingID.includes($militiaUnits[_j].ID)>> <<set _militiaRebelledID.push($militiaUnits[_j].ID)>> - $militiaUnits[_j].platoonName, + $militiaUnits[_j].platoonName, <</if>> <</for>> <<if _militiaRebelledID.length > 0>> diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw index 3a47340037fbb81d353af57d5ee61956d30e7504..862845fc31ba6e6d73417e1de691a0294bb8b858 100644 --- a/src/SecExp/weaponsManufacturing.tw +++ b/src/SecExp/weaponsManufacturing.tw @@ -232,7 +232,7 @@ __Upgrades__: <<elseif $secBotsBaseDefense <= 3 || $droneUpgrades >= 3>> Upgrade the research facility further to unlock more upgrades for the security drones. <<else>> - You fully upgraded the security drones. + You have fully upgraded the security drones. <</if>> <br><br> /* human troops upgrades */ @@ -322,10 +322,10 @@ __Upgrades__: <br>//Will take _time weeks, cost <<print cashFormat(120000*$HackingSkillMultiplier)>> and will increase the base hp and morale values of human troops.// <</if>> <br> - <<if $securityForceCreate == 1>> - <<if !$completedUpgrades.includes(6) && $weapLab >= 2 && $SFSupportLevel >= 2 && $securityForceArcologyUpgrades >= 7>> + <<if $SF.Toggle && $SF.Active >= 1>> + <<if !$completedUpgrades.includes(6) && $weapLab >= 2 && $SFSupportLevel >= 2 && $SFUnit.Firebase >= 7>> <br> - <<link "Develop combined training regimens with $securityForceName">> + <<link "Develop combined training regimens with $SF.Lower">> <<set $currentUpgrade = { ID: 6, name: "combined training regimens with the special force", @@ -336,9 +336,9 @@ __Upgrades__: <</link>> <br>//Will take _time weeks, and will increase the base attack and defense values of human troops.// <</if>> - <<if !$completedUpgrades.includes(7) && $weapLab >= 2 && $SFSupportLevel >= 4 && $securityForceStimulantPower >= 8>> + <<if !$completedUpgrades.includes(7) && $weapLab >= 2 && $SFSupportLevel >= 4 && $SFUnit.Drugs >= 8>> <br> - <<link "Develop a variant of the stimulant cocktail that $securityForceName created">> + <<link "Develop a variant of the stimulant cocktail that $SF.Lower created">> <<set $currentUpgrade = { ID: 7, name: "a variant of the stimulant cocktail that the special force created", @@ -352,7 +352,7 @@ __Upgrades__: <</if>> <<if !$completedUpgrades.includes(8) && $weapLab >= 3 && $SFSupportLevel >= 5>> <br> - <<link "Create a mesh network based off the custom network of $securityForceName">> + <<link "Create a mesh network based off the custom network of $SF.Lower">> <<set $currentUpgrade = { ID: 8, name: "a mesh network based off the custom network of the special force", @@ -365,12 +365,12 @@ __Upgrades__: <br>//Will take _time weeks, cost <<print cashFormat(1000000*$HackingSkillMultiplier)>> and will increase all base stats of human troops.// <</if>> <</if>> - <<if $securityForceCreate == 1 && ($humanUpgrade.attack >= 4 || $humanUpgrade.hp >= 4 || $humanUpgrade.morale >= 40 || $humanUpgrade.defense >= 4)>> - You fully upgraded your human troops. + <<if $SF.Toggle && $SF.Active >= 1 && ($humanUpgrade.attack >= 4 || $humanUpgrade.hp >= 4 || $humanUpgrade.morale >= 40 || $humanUpgrade.defense >= 4)>> + You have fully upgraded your human troops. <<elseif $humanUpgrade.attack >= 2 || $humanUpgrade.hp >= 2 || $humanUpgrade.morale >= 20 || $humanUpgrade.defense >= 2>> - You fully upgraded your human troops. - <<if $securityForceCreate == 1 && ($humanUpgrade.attack < 4 || $humanUpgrade.hp < 4 || $humanUpgrade.morale < 40 || $humanUpgrade.defense < 4) && (($SFSupportLevel >= 2 && $securityForceArcologyUpgrades >= 7) || ($SFSupportLevel >= 4 && $securityForceStimulantPower >= 8) || ($SFSupportLevel >= 5))>> - With support from $securityForceName, however, we may be able to further upgrade our troops. + You have fully upgraded your human troops. + <<if $SF.Toggle && $SF.Active >= 1 && ($humanUpgrade.attack < 4 || $humanUpgrade.hp < 4 || $humanUpgrade.morale < 40 || $humanUpgrade.defense < 4) && (($SFSupportLevel >= 2 && $SFUnit.Firebase >= 7) || ($SFSupportLevel >= 4 && $SFUnit.Drugs >= 8) || ($SFSupportLevel >= 5))>> + With support from $SF.Lower, however, we may be able to further upgrade our troops. <</if>> <<elseif $weapLab < 3>> Upgrade the research facility further to unlock more upgrades for human troops. diff --git a/src/SecExp/widgets/battleWidgets.tw b/src/SecExp/widgets/battleWidgets.tw index f64c899ef27e8cfb03597e44750d2a2fe6468abe..af41b8843d7e8cd8cd849e62446089e47bd1013d 100644 --- a/src/SecExp/widgets/battleWidgets.tw +++ b/src/SecExp/widgets/battleWidgets.tw @@ -3,7 +3,7 @@ <<widget "calcSFStatistics">> <<if $slaveRebellion != 1 || $citizenRebellion != 1>> /* atk, def */ - <<set _upgradesSum = $securityForceInfantryPower + $securityForceStimulantPower + $securityForceAircraftPower + $securityForceAircraftPower>> + <<set _upgradesSum = $SFUnit.Armoury + $SFUnit.Drugs + ($SFUnit.AA+$SFUnit.TA < 1) + ($SFUnit.AV+$SFUnit.TV)>> <<if !isInt(_upgradesSum)>> <<set _upgradesSum = random(10,15)>> <</if>> @@ -12,24 +12,24 @@ /* hp */ <<set $carriableSoldiers = 125 * ($securityForceAC130 + $securityForceVehiclePower)>> <<if !isInt($carriableSoldiers)>> - <<set $carriableSoldiers = $securityForcePersonnel / 10>> + <<set $carriableSoldiers = $SFUnit.Troops / 10>> <</if>> - <<if $securityForcePersonnel > $carriableSoldiers>> + <<if $SFUnit.Troops > $carriableSoldiers>> <<set $SFhp = $carriableSoldiers * $SFBaseHp>> <<else>> - <<set $carriableSoldiers = $securityForcePersonnel>> + <<set $carriableSoldiers = $SFUnit.Troops>> <<set $SFhp = $carriableSoldiers * $SFBaseHp>> <</if>> <<else>> /* atk, def */ - <<set _upgradesSum = $securityForceInfantryPower + $securityForceStimulantPower + $securityForceAircraftPower + $securityForceAircraftPower>> + <<set _upgradesSum = $SFUnit.Armoury + $SFUnit.Drugs + ($SFUnit.AA+$SFUnit.TA < 1) + ($SFUnit.AV+$SFUnit.TV)>> <<if !isInt(_upgradesSum)>> <<set _upgradesSum = random(10,15)>> <</if>> <<set $SFatk = Math.trunc(0.75 * _upgradesSum)>> <<set $SFdef = Math.trunc(0.50 * _upgradesSum)>> /* hp */ - <<set $SFhp = $securityForcePersonnel * $SFBaseHp>> + <<set $SFhp = $SFUnit.Troops * $SFBaseHp>> <</if>> <</widget>> @@ -59,7 +59,7 @@ <<set _newMerc.push($mercUnits[_i])>> <</if>> <</for>> - <<set $mercUnits = _newMerc>> + <<set $mercUnits = _newMerc>> <</widget>> <<widget "calcTroopCount">> @@ -83,7 +83,7 @@ <<set _troops += $mercUnits[_i].troops>> <</if>> <</for>> - <<if $SFIntervention == 1>> + <<if $SF.Toggle && $SF.Active >= 1 && $SFIntervention>> <<set _troops += $carriableSoldiers>> <</if>> <<set $troopCount = _troops>> @@ -117,7 +117,7 @@ <<set $troopCount = _troops>> <<else>> - <br>@@.red;Error: widget called outside battle@@ + <br>@@.red;Error: widget called outside battle@@ <</if>> <</widget>> diff --git a/src/SecExp/widgets/unitsWidgets.tw b/src/SecExp/widgets/unitsWidgets.tw index d6113ae8e2f1a8b7a069c627411f212406e37328..82de323530900a1a432dd7cb745b117784a97ce1 100644 --- a/src/SecExp/widgets/unitsWidgets.tw +++ b/src/SecExp/widgets/unitsWidgets.tw @@ -26,7 +26,7 @@ <<elseif $args[0].loyalty < 33>> Their loyalty is low. Careful monitoring of their activities and relationships is advised. <<elseif $args[0].loyalty < 66>> - Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. + Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. <<elseif $args[0].loyalty < 90>> Their loyalty is high and strong. The likelihood of this unit betraying the arcology is low to non-existent. <<else>> @@ -38,8 +38,8 @@ <<if $args[0].medics == 1>> The unit has a dedicated squad of medics that will follow them in battle. <</if>> - <<if $args[0].SF == 1>> - The unit has attached advisors from $securityForceName that will help the squad remain tactically aware and active. + <<if $SF.Toggle && $SF.Active >= 1 && $args[0].SF>> + The unit has attached advisors from $SF.Lower that will help the squad remain tactically aware and active. <</if>> <<else>> $args[0].platoonName lost too many operatives in the $args[0].battlesFought it fought and can no longer be considered a unit at all. @@ -72,7 +72,7 @@ <<elseif $args[0].loyalty < 33>> Their loyalty is low. Careful monitoring of their activities and relationships is advised. <<elseif $args[0].loyalty < 66>> - Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. + Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. <<elseif $args[0].loyalty < 90>> Their loyalty is high and strong. The likelihood of this unit betraying the arcology is low to non-existent. <<else>> @@ -84,8 +84,8 @@ <<if $args[0].medics == 1>> The unit has a dedicated squad of medics that will follow them in battle. <</if>> - <<if $args[0].SF == 1>> - The unit has attached advisors from $securityForceName that will help the squad remain tactically aware and active. + <<if $SF.Toggle && $SF.Active >= 1 && $args[0].SF>> + The unit has attached advisors from $SF.Lower that will help the squad remain tactically aware and active. <</if>> <<else>> $args[0].platoonName lost too many operatives in the $args[0].battlesFought it fought and can no longer be considered a unit at all. @@ -118,7 +118,7 @@ <<elseif $args[0].loyalty < 33>> Their loyalty is low. Careful monitoring of their activities and relationships is advised. <<elseif $args[0].loyalty < 66>> - Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. + Their loyalty is not as high as it can be, but they are not actively working against their arcology owner. <<elseif $args[0].loyalty < 90>> Their loyalty is high and strong. The likelihood of this unit betraying the arcology is low to non-existent. <<else>> @@ -130,14 +130,14 @@ <<if $args[0].medics == 1>> The unit has a dedicated squad of medics that will follow them in battle. <</if>> - <<if $args[0].SF == 1>> - The unit has attached advisors from $securityForceName that will help the squad remain tactically aware and active. + <<if $SF.Toggle && $SF.Active >= 1 && $args[0].SF>> + The unit has attached advisors from $SF.Lower that will help the squad remain tactically aware and active. <</if>> <<else>> $args[0].platoonName lost too many operatives in the $args[0].battlesFought it fought and can no longer be considered a unit at all. <</if>> <</widget>> - + <<widget "secBotsDescription">> <<if $secBots.active == 1>> <strong>The <<print $secBots.troops>> security drones</strong> are assembled in an ordered line in front of you, absolutely silent and ready to receive their orders. diff --git a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw index 006df17db6a958b2373143cc019a2872f4bee62d..ce3f062ab0d6228451dd28dcb83428d97eec89d5 100644 --- a/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw +++ b/src/cheats/PCCheatMenuCheatDatatypeCleanup.tw @@ -7,9 +7,13 @@ <<goto "Manage Personal Affairs">> <</if>> -<<set $customEvalCode = "(" + $customEvalCode + ")">> -<<if typeof eval($customEvalCode) === "function">> - <<run eval($customEvalCode)($tempSlave)>> +<<if $customEvalCode>> + <<if $customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */ + <<set $customEvalCode = "(" + $customEvalCode + ")">> + <</if>> + <<if typeof eval($customEvalCode) === "function">> + <<run (eval($customEvalCode))($tempSlave)>> + <</if>> <</if>> <<unset $customEvalCode>> diff --git a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw index 108553136987b2c29e178a9937a958a17e9d83fb..86030bf4e5a2820b5b834148a92c81ddc570e289 100644 --- a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw +++ b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw @@ -2,9 +2,13 @@ <<set $nextButton = "Continue", $nextLink = "Manage Arcology">> -<<set $customEvalCode = "(" + $customEvalCode + ")">> -<<if typeof eval($customEvalCode) === "function">> - <<run eval($customEvalCode)($arcologies[0])>> +<<if $customEvalCode>> + <<if $customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */ + <<set $customEvalCode = "(" + $customEvalCode + ")">> + <</if>> + <<if typeof eval($customEvalCode) === "function">> + <<run (eval($customEvalCode))($arcologies[0])>> + <</if>> <</if>> <<unset $customEvalCode>> diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw index 606ec83d74af1630fc4e316c40d2c4658101a03e..a31408fbd3b0ad0657834d8b60cf95285387eeb1 100644 --- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw +++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw @@ -7,9 +7,13 @@ <<goto "Slave Interact">> <</if>> -<<set $customEvalCode = "(" + $customEvalCode + ")">> -<<if typeof eval($customEvalCode) === "function">> - <<run eval($customEvalCode)($tempSlave)>> +<<if $customEvalCode>> + <<if $customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */ + <<set $customEvalCode = "(" + $customEvalCode + ")">> + <</if>> + <<if typeof eval($customEvalCode) === "function">> + <<run (eval($customEvalCode))($tempSlave)>> + <</if>> <</if>> <<unset $customEvalCode>> diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index 97229bc8a386a9b276f0fe8ad859f08041c0af09..1cca4ea58a010384af3625748972c85652ff388b 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -1007,17 +1007,13 @@ Currently <br><br> __''Mods''__ -<br> -<<if $SFMODToggle == 1>> - The Special Force Mod is ''enabled.'' -[[Disable|Intro Summary][$SFMODToggle = 0]] +<br>The Special Force Mod is +<<if $SF.Toggle === 1>> + ''enabled.'' [[Disable|Intro Summary][$SF.Toggle = 0]] <<else>> - The Special Force Mod is ''disabled.'' -[[Enable|Intro Summary][$SFMODToggle = 1]] + ''disabled.'' [[Enable|Intro Summary][$SF.Toggle = 1]] <</if>> -<br> -// This mod initially from anon1888 but expanded by SFanon offers a lategame special (initially, security but changed to Special in order to try and reduce confusion with crimeanon's separate Security Expansion mod) force, triggered around week 80. It is non-canon where it conflicts with canonical updates to the base game.// - +<br>// This mod is initially from anon1888 but expanded by SFanon offers a lategame special (started out as security but changed to special in order to try and reduce confusion with CrimeAnon's separate Security Expansion (SecExp) mod) force, that is triggered after week 80. It is non-canon where it conflicts with canonical updates to the base game.// <br><br> <<if $cyberMod == 1>> diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index 0ee4d6aa208fcf3d4704f75e4aaa90ca684be22f..33aefe2af7e76910dfde410a05c1a0a51827a837 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -3252,7 +3252,7 @@ Error: bad title. | [[Battles in Security Expansion|Encyclopedia][$encyclopedia = "Battles"]] <</if>> -<<if $securityForceActive>> +<<if $SF.Toggle && $SF.Active >= 1>> <<if $encyclopedia != "Special Force">> <br>[[Special Force Mod|Encyclopedia][$encyclopedia = "Special Force"]] <</if>> diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 60a6cf02f1bdb2d92517dc6613f268eed54db199..87aec908e07684ebc60f238397d3df788c44486f 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -1328,70 +1328,7 @@ DairyRestraintsSetting($dairyRestraintsSetting) /* INCORPORATED MODS */ -/* Special Force Variables [SFVAR] */ - -/* Extra content enabling */ -<<set $SFMODToggle = 0>> /* Does the player want to see the SF module at all? */ - -/* Initial events and presentation logic */ -<<set $securityForceCreate = 0>> /* Has the player chosen to create the SF? Used for initial events */ -<<set $securityForceEventSeen = 0>> /* Has the player seen the SF event? Used to avoid re-event */ -<<set $securityForceName = "Special Force">> /* What is the SF called? */ -<<set $securityForceActive = 0>> /* SF is active - activates end of turn screen logic */ - -/* SF control panel and logic */ -<<set $securityForceSubsidyActive = 0>> /* Is the player having to subsidize the SF? */ -<<set $securityForceRecruit = 0>> /* How many recruits has the SF attracted this week? Used in recruitment calcs */ -<<set $securityForceTrade = 0>> /* How much trade has the SF encouraged this week? Used for rep calcs */ -<<set $securityForceBooty = 0>> /* How much money has the SF made this week? Used in money calcs */ -<<set $securityForceIncome = 0>> /* What was the final, adjusted take for the SF this week? Used for EOW text */ -<<set $securityForceProfitable = 0>> /* Is the SF profitable? Used for EOW text */ -<<set $securityForceFocus = "recruit">> /* What is the SF's assigned job? */ -<<set $securityForceRulesOfEngagement = "hold">> /* What are the SF's ROE outside the arcology? */ -<<set $securityForceAccountability = "strict">> /* Is the SF being held accountable for its actions outside the arcology? */ -<<set $securityForceDepravity = 0>> /* How depraved has the SF become? Used for flavor text injections. */ -<<set $securityForceUpgradeToken = 0>> /* Flag to keep track of single upgrade/week. */ -<<set $securityForceGiftToken = 0>> /* Flag to keep track of single gift/week. */ - -/* Personnel/Gear */ -<<set $securityForceArcologyUpgrades = 0>> /* How many militarized arcology upgrades has the player bought? */ -<<set $securityForcePersonnel = 40>> /* How big is the SF? Maxes out at battalion/regimental (~1500) strength */ -<<set $securityForceInfantryPower = 0>> /* How many infantry upgrades has the player bought? */ -<<set $securityForceStimulantPower = 0>> /* How many stimulant upgrades has the player bought? */ -<<set $securityForceVehiclePower = 0>> /* How many vehicle upgrades has the player bought? */ -<<set $securityForceHeavyBattleTank = 0>> /* Has the SF found a busted down heavy battle tank begging for work? */ -<<set $securityForceAircraftPower = 0>> /* How many aircraft upgrades has the player bought? */ -<<set $securityForceSpacePlanePower = 0>> /* Has the SF found a busted down spaceplane begging for work? */ -<<set $securityForceFortressZeppelin = 0>> /* Has the SF found a busted down fortress zeppelin begging for work? */ -<<set $securityForceAC130 = 0>> /* Has the SF found a busted down AC-130 begging for work? */ -<<set $securityForceHeavyTransport = 0>> /* Has the SF found a busted down heavy yransport begging for work? */ -<<set $securityForceDronePower = 0>> /* How many drone upgrades has the player bought? */ -<<set $securityForceSatellitePower = 0>> /* Has the SF commendeered a Satellite relay? */ -<<set $securityForceGiantRobot = 0>> /* Has the player assembled a makeshift giant robot */ -<<set $securityForceMissileSilo = 0>> /* Has the SF found a disused missile silo in need of reassignement?*/ -<<set $securityForceAircraftCarrier = 0>> /* Has the SF found a busted down aircraft carrier begging for work? */ -<<set $securityForceSubmarine = 0>> /* Has the SF found a busted down submarine begging for work? */ -<<set $securityForceHeavyAmphibiousTransport = 0>> /* Has the SF found a busted down heavy amphibious transport begging for work? */ -<<set $securityForceMissionEfficiency = 1>> /* How efficient is the SF at completing its assigned task? (Upgrades*Drug Multiplier) */ - -/* SupportFacility */ -<<set $SupportFacility = 0>> /* Is the support facility built ? */ - -/* Colonel */ -<<set $securityForceSexedColonelToken = 0>> /* Has the player sexed The Colonel this week? */ -<<set $ColonelCore = "">> /* What is the core of The Colonel? */ -<<set $securityForceColonelToken = 0>> /* Flag to keep track of talking to The Colonel. */ -<<set $securityForceColonelSexed = 0>> /* Has the player sexed The Colonel this week? */ - -/* TradeShow */ -<<set $TradeShowAttendanceGranted = 0>> /* Has The Colonel been allowed to go the TradeShow? */ -<<set $OverallTradeShowAttendance = 0>> /* how many times has The Colonel gone to the TradeShow */ -<<set $CurrentTradeShowAttendance = 0>> /* Has The Colonel attended the current TradeShow? */ -<<set $TradeShowIncome = 0>> /* How much was The Colonel able to make at the TradeShow selling generic scematics? */ -<<set $TotalTradeShowIncome = 0>> /* Total TradeShowIncome */ -<<set $TradeShowHelots = 0>> /* How many menail slaves were sent as a bonus from generic scematic sales during the current TradeShow? -<<set $TotalTradeShowHelots = 0>> /* Total number of menail slaves acquired via the Trade Show */ - +/*SFVAR*/ <<set $SF = Object.assign({}, $SF, {Toggle:0, Active: -1})>> /* Misc mod variables */ <<set $recruiterEugenics = 0>> diff --git a/src/js/SFJS.tw b/src/js/SFJS.tw deleted file mode 100644 index 088553bec9a31d3fb47f6ff7dedba1407f6394cc..0000000000000000000000000000000000000000 --- a/src/js/SFJS.tw +++ /dev/null @@ -1,51 +0,0 @@ -:: SFJS [script] - -window.simpleWorldEconomyCheck = function() { - var n1 = 4; - var n2 = 3; - var n3 = 2; - if(State.variables.economy === .5) { - return n1; - } else if(State.variables.economy === 1.5) { - return n3; - } else { - return n2; - } -} - -window.HSM = function() { - if (State.variables.PC.hacking <= -100) - return 1.5; - else if (State.variables.PC.hacking <= -75) - return 1.35; - else if (State.variables.PC.hacking <= -50) - return 1.25; - else if (State.variables.PC.hacking <= -25) - return 1.15; - else if (State.variables.PC.hacking < 0) - return 1.10; - else if (State.variables.PC.hacking === 0) - return 1; - else if (State.variables.PC.hacking <= 10) - return .97; - else if (State.variables.PC.hacking <= 25) - return .95; - else if (State.variables.PC.hacking <= 50) - return .90; - else if (State.variables.PC.hacking <= 75) - return .85; - else if (State.variables.PC.hacking < 100) - return .80; - else if (State.variables.PC.hacking >= 100) - return .75; - } - -window.TierTwoUnlockCalc = function() { - const V = State.variables; - if (V.securityForceInfantryPower > 5) V.securityForceInfantryPower = 5; - if (V.securityForceArcologyUpgrades > 5) V.securityForceArcologyUpgrades = 5; - if (V.securityForceVehiclePower > 5) V.securityForceVehiclePower = 5; - if (V.securityForceDronePower > 5) V.securityForceDronePower = 5; - if (V.securityForceStimulantPower > 5) V.securityForceStimulantPower = 5; - if (V.securityForceAircraftPower > 5) V.securityForceAircraftPower = 5; -} \ No newline at end of file diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw index e78d98e2e1692e3d738ab39500b80bea573658c5..2ec04d0769f85a39d4c17061f5e7a2eb1561c2f4 100644 --- a/src/js/economyJS.tw +++ b/src/js/economyJS.tw @@ -321,11 +321,14 @@ window.getCost = function(array) { } } + if(State.variables.SF.Toggle && State.variables.SF.Active >= 1 && State.variables.SF.Subsidy) { + costs += Math.ceil((10000*(State.variables.SFUnit.Troops/10))*1+(State.variables.arcologies[0].prosperity/100)*1+(State.variables.SF.Units/100)); + } // clean up if(costs < 0) { costs = 0; } else { - costs = Math.trunc(costs); + costs = Math.ceil(costs); } return costs; @@ -583,7 +586,7 @@ window.getSlaveCost = function(s) { cost += drugsCost * 5; break; case 'sag-B-gone': - cost += drugsCost * .1; + cost += Math.trunc(drugsCost * .1); break; case 'no drugs': case 'none': break; @@ -595,16 +598,16 @@ window.getSlaveCost = function(s) { cost += drugsCost * s.curatives; } if(s.aphrodisiacs !== 0) { - cost += drugsCost * Math.abs(s.aphrodisiacs); + cost += Math.trunc(drugsCost * Math.abs(s.aphrodisiacs)); } if(s.hormones !== 0) { - cost += (drugsCost * Math.abs(s.hormones) * 0.5); + cost += Math.trunc((drugsCost * Math.abs(s.hormones) * 0.5)); } if(s.bodySwap > 0) { - cost += (drugsCost * s.bodySwap * 10); + cost += Math.trunc((drugsCost * s.bodySwap * 10)); } if(s.preg === -1 && isFertile(s)) { - cost += (drugsCost * 0.5); + cost += Math.trunc((drugsCost * 0.5)); } // Promotion costs diff --git a/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw b/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw index dac6f3e2d7cd00bbbbb638203137fd914769e330..0483d6143b69e0f97b3feff6fba2a0531caf2376 100644 --- a/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw +++ b/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw @@ -11,9 +11,9 @@ <<link "Security">> <<replace "#JobType">> <br> - <<if $SFMODToggle == 1>> + /*<<if $SF.Toggle && $SF.Active >= 1>> <br>[[Lieutenant Colonel|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Lieutenant Colonel"]] - <</if>> + <</if>>*/ <br>[[Bodyguard|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Bodyguard"]] <br>[[Wardeness|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Wardeness"]] <br>[[Return|JobFulfillmentCenterOrder]] @@ -47,4 +47,4 @@ </span> <<else>> [[Withdraw slave order|JobFulfillmentCenterOrder][$JFCOrder = 0, $Role = ""]] -<</if>> \ No newline at end of file +<</if>> diff --git a/src/pregmod/SecForceEX/CheatEdit.tw b/src/pregmod/SecForceEX/CheatEdit.tw new file mode 100644 index 0000000000000000000000000000000000000000..87cc4d5207063e78128eadfa604eea22082a5b4c --- /dev/null +++ b/src/pregmod/SecForceEX/CheatEdit.tw @@ -0,0 +1,35 @@ +:: CheatEdit [nobr] +<<set $nextButton = "Back to $SF.Lower's Firebase", $nextLink = "Firebase", $returnTo = "Firebase">> +<<= Count()>>__Upgrades__: $SF.Units/_max +<<if $SF.Units >= 30>><<set _T1 = 1>><<else>><<set _T1 = 0>><</if>> +<br><br>''Firebase:'' <<textbox "$SFUnit.Firebase" $SFUnit.Firebase "CheatEdit">>/_FU +<br>''Armory:'' <<textbox "$SFUnit.Armoury" $SFUnit.Armoury "CheatEdit">>/_AU +<br>''Drug Lab:'' <<textbox "$SFUnit.Drugs" $SFUnit.Drugs "CheatEdit">>/_DrugsU +<<if $SFUnit.Firebase >= 2>> +<br>''Drone Bay:'' <<textbox "$SFUnit.Drones" $SFUnit.Drones "CheatEdit">>/_DU<</if>> + +<<if $SFUnit.Firebase >= 1 && $terrain !== "oceanic">> <br><br>''Garage:'' + <br> ''Vehicles:'' + <br> ''Attack:'' <<textbox "$SFUnit.AV" $SFUnit.AV "CheatEdit">>/_AVU + <br> ''Transport:'' <<textbox "$SFUnit.TV" $SFUnit.TV "CheatEdit">>/_TVU + <<if _T1>> + <br> ''Prototype Goliath Tank:'' <<textbox "$SFUnit.PGT" $SFUnit.PGT "CheatEdit">>/_PGTU<</if>> +<</if>> + +<<if $SFUnit.Firebase >= 4>> <br><br>''Hangar:'' + <br> ''Aircraft:'' + <br> ''Attack:'' <<textbox "$SFUnit.AA" $SFUnit.AA "CheatEdit">>/_AAU + <br> ''Transport:'' <<textbox "$SFUnit.TA" $SFUnit.TA "CheatEdit">>/_TAU + <<if _T1>> + <br> ''Spaceplane'': <<textbox "$SFUnit.SpacePlane" $SFUnit.SpacePlane "CheatEdit">>/_SPU + <br> ''Gunship:'' <<textbox "$SFUnit.GunS" $SFUnit.GunS "CheatEdit">>/_GunSU + <br><br>''Launch Bay:'' + <br> ''Satellite:'' <<textbox "$SFUnit.Satellite" $SFUnit.Satellite "CheatEdit">>/_SatU + <<if $terrain !== "oceanic">> + <br> ''Giant Robot:'' <<textbox "$SFUnit.GiantRobot" $SFUnit.GiantRobot "CheatEdit">>/_GRU<</if>> + <br> ''Cruise Missile:'' <<textbox "$SFUnit.MissileSilo" $SFUnit.MissileSilo "CheatEdit">>/_MSU +<<if $terrain === "oceanic" || $terrain === "marine">> <br><br>''Naval Yard:'' + <br> ''Aircraft Carrier:'' <<textbox "$SFUnit.AircraftCarrier" $SFUnit.AircraftCarrier "CheatEdit">>/_ACU + <br> ''Submarine:'' <<textbox "$SFUnit.Sub" $SFUnit.Sub "CheatEdit">>/_SubU + <br> ''Amphibious Transport:'' <<textbox "$SFUnit.HAT" $SFUnit.HAT "CheatEdit">>/_HATU +<</if>><</if>><</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/SpecialForceColonelSexDec.tw b/src/pregmod/SecForceEX/ColonelSexDec.tw similarity index 87% rename from src/pregmod/SecForceEX/SpecialForceColonelSexDec.tw rename to src/pregmod/SecForceEX/ColonelSexDec.tw index 822e96e18f02fcefcbeee3ae2929a8528612f43b..8f47023524fa86c33bfc3ae3d553f78436f07faa 100644 --- a/src/pregmod/SecForceEX/SpecialForceColonelSexDec.tw +++ b/src/pregmod/SecForceEX/ColonelSexDec.tw @@ -1,5 +1,5 @@ -:: SpecialForceColonelSexDec -<<switch $ColonelCore>> +:: SFColonelSexDec +<<switch $SFColonel.Core>> <<case "shell shocked">> <span id="result7"> The entire time it is obvious that The Colonel is reliving a horrible event. @@ -8,7 +8,7 @@ "You made an attempt to try to bring her back to the present." <</replace>> <</link>> - + <br><<link "Leave her be">> <<replace "#result7">> "It is probably better that she tries to deal with her demons alone" @@ -18,4 +18,4 @@ <<default>> Inset sex noises here. -<</switch>> +<</switch>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/Firebase.tw b/src/pregmod/SecForceEX/Firebase.tw new file mode 100644 index 0000000000000000000000000000000000000000..0575bb5f46c69553809f1e1e47ae4f9188a43383 --- /dev/null +++ b/src/pregmod/SecForceEX/Firebase.tw @@ -0,0 +1,141 @@ +:: Firebase [nobr] + + <<if ndef $Tour>> <<set $Tour = 0>> <</if>> + + <<if $Tour === 0>> + + <<= Count()>> <<if $SF.Lower != "the special force">> + + <<set $SF.Caps = $SF.Lower.replace("the ", "The ")>> <</if>> + + <<switch _Env>> <<case 4>> + + <<set _EnvCash2 = 450,_EnvCash3 = 200,_EnvCash4 = 100,_EnvProsp = 3>> + + <<case 3>> + + <<set _EnvCash2 = 500,_EnvCash3 = 250,_EnvCash4 = 150,_EnvProsp = 5>> + + <<case 2>> + + <<set _EnvCash2 = 550,_EnvCash3 = 300,_EnvCash4 = 200,_EnvProsp = 7>> + + <</switch>> <<set $nextButton = "Back to Main",$nextLink = "Main",$returnTo = "Firebase">> + + <<if $cheatMode > 0>> <<link "Cheat edit""CheatEdit">> <</link>> <br> <</if>> + + The firebase of $arcologies[0].name's <<textbox "$SF.Lower" $SF.Lower "Firebase">> is located in the lower levels, occupying unneeded warehouse space. It is not accessible to the general citizenry, but your personal elevator has express service to it. As you step off, two soldiers in combat armor manning the entry checkpoint tense before recognizing their Marshal and stepping aside with a sharp salute. + + <br><br><<if $SFTradeShow.CanAttend == 1 || ($SFColonel.Fun + $SFColonel.Talk >= 1)>> + + You make your way to the operations center. The Lieutenant Colonel is handling a minor issue. As you enter, he salutes. <<if $SFTradeShow.CanAttend == 1>> The Colonel is away at her merc meetup, so the Lieutenant Colonel will assist you.<</if>> + + <<elseif random(1,100) > 5>> + + You make your way to the operations center. The Colonel is + + <<if random(1,100) > 50>>glancing between her tablet and the large wallscreen, occasionally taking notes or barking orders. + + <<else>>examining a table with a map of the surrounding area, planning manuevers in the event of an attack.<</if>> + + She notices your entrance and turns her attention to you. + + <<if $SFColonel.Core == "brazen">> + + She gives a textbook salute. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, how can I help you?" + + <<else>> + + "Hey boss, what do you need?"<</if>> + + <<else>> + + You make your way to the operations center, finding it empty. A short walk takes you through the barracks to the Colonel's quarters. As you approach, the Colonel <<print ColonelQuarters()>> + + <</if>> + + <<if ndef $SFTradeShow.View && ($SFColonel.Fun + $SFColonel.Talk < 1)>> + + <br><br>Her expression changes as something jogs her memory. "Before we begin <<if $SFColonel.Core == "brazen">><<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>><<else>>boss<</if>>, back when I was a merc me and a couple of my old friends would have a meetup every several months. Drinking, fucking, drugs... a little poker. It eventually grew into a whole thing, and now we bring our latest and greatest toys to show off, maybe make some money off selling the schematics. I'd like to continue going, for old times' sake." + + <br>[[Grant leave|Firebase][$SFTradeShow.CanAttend = 1,$SFTradeShow.View = 1]] + + <br>[[Request she remain on base|Firebase][$SFTradeShow.CanAttend = -2,$SFTradeShow.View = 0]]<br> + + <</if>> + + <<if $SFTradeShow.History >= 1 && (Math.trunc($week/24) === ($week/24)) && $SFTradeShow.CanAttend === -1>> + + <br><br>Her expression changes as something jogs her memory. "Before we begin <<if $SFColonel.Core == "brazen">><<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>><<else>>boss<</if>>, that biannual merc meetup has come around again. You've already gave me leave to attend, but I just wanted to be sure I'm still clear to go." + + <br>[[Grant leave.|Firebase][$SFTradeShow.CanAttend = 1]] + + <br>[[Request she remain on site.|Firebase][$SFTradeShow.CanAttend = -1]]<br> + + <</if>> + + <<if $SFTradeShow.History >= 1 && ((Math.trunc(($week-1)/24) === ($week-1)/24) || (Math.trunc(($week-2)/24) === ($week-2)/24) || (Math.trunc(($week-3)/24) === ($week-3)/24))>> + + While at the recent merc meetup, the Colonel made @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Income))>>@@ selling generic schematics to her friends, <<print commaNum($SFTradeShow.Helots)>> menial slaves were won in a poker game, and <<print commaNum($SFTradeShow.TotalMercs)>> mercenaries were persuaded to join $SF.Lower. + + <br>Total earnings thus far: @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Revenue))>>@@ in income, <<print commaNum($SFTradeShow.TotalHelots)>> menial slaves and <<print commaNum($SFTradeShow.Mercs)>> mercenaries joined across $SFTradeShow.History meetups. + + <</if>> + + <<print Interactions()>> + + <<include "WC">> + + <br><<switch $SF.SpecOps>> + + <<case 0>> + + <br>No soldiers are working undercover. + + <br>[[Reassign soldiers|Firebase][$SF.SpecOps = -1]] + + <<case 1>> + + <br>A small section of soldiers are working undercover. + + <br>[[Reassign soldiers|Firebase][$SF.SpecOps = -1]] + + <<case 2>> + + <br>A large section of soldiers are working undercover. + + <br>[[Reassign soldiers|Firebase][$SF.SpecOps = -1]] + + <<default>> + + <br>Would you like to assign soldiers to undercover duty? + + <br>[[Do not assign soldiers to work undercover|Firebase][$SF.SpecOps = 0]] + + <br>[[Assign a small section of soldiers to work undercover|Firebase][$SF.SpecOps = 1]] + + <br>[[Assign a large section of soldiers to work undercover|Firebase][$SF.SpecOps = 2]] + + <</switch>> + + <<if $SFUnit.Firebase > 5 && $secExp > 0 && $SFSupportLevel >= 4 && $maxUnits === 16 && $readiness <= 10>> + + <br><br>[[Provide the security force with their own section.|Firebase][$maxUnits += 4,$readiness = 10,$cash -= Math.ceil((750000*(1.15+($SF.Units/1000))*(1.15+($SFUnit.Firebase/10)))*_Env)]] + + @@.yellowgreen;<<print cashFormat(Math.ceil((750000*(1.15+($SF.Units/1000))*(1.15+($SFUnit.Firebase/10)))*_Env))>>@@ + + <</if>> + + <<include "Upgrades">> + + <br><<link "Tour the firebase" "Firebase">><<set $Tour = 1>><</link>> + + <</if>> + + <<if $Tour === 1>> <<set $nextButton = " ">> + + <<=Count()>><<include "FlavourText">><br> + + [[Return to Operations|Firebase][$Tour = 0]] + + <</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/FlavourText.tw b/src/pregmod/SecForceEX/FlavourText.tw new file mode 100644 index 0000000000000000000000000000000000000000..ade33f66b4caf3310edca53843a889d3850514cf --- /dev/null +++ b/src/pregmod/SecForceEX/FlavourText.tw @@ -0,0 +1,110 @@ +:: FlavourText [nobr] +<br> <<if passage() === "Firebase">> + You continue towards the common area, the soldiers you pass nodding respectfully, saluting, or giving slight bows, as they please, to you. You pass the briefing areas, the officers and sergeants of the force are conferring over planning tables and display screens regarding their upcoming deployments. + <br><br><div style="margin-left:2em">The commanders are + <<if $SF.Target === "recruit">> + viewing lists of potential recruits for $SF.Lower. Mainly mercenaries and Old World soldiers who might be receptive to an offer of employment and residence within the arcology, in addition to some citizens of the arcology who wish to have some excitement in their lives. + <<elseif $SF.Target === "secure">> + reviewing maps of trade routes to the arcology as well as nearby merchant hubs, arranging their future deployments to best protect them and encourage business and trade. + <<elseif $SF.Target === "raiding">> + reviewing maps of settlements and locations reported to have choice concentrations of material loot and potential slave stock, in preparation for their coming raids. + <</if>> </div> + <div style="margin-left:2em"> <<if $SF.ROE === "hold">> + There are posted (and very strict) guidelines for the use of force against non-citizens residents, forbidding the use of heavy weapons or indiscriminate fire. + <<elseif $SF.ROE === "limited">> + There are some guidelines posted regarding the use of force against non-citizens, forbidding general indiscriminate fire. + <<elseif $SF.ROE === "free">> + Guidelines regarding the use of force are completely absent from the deployment information screens. A note affixed to the screen, probably from a soldier, says: "Pop 'em if you see 'em - better than target practice!" Another one on top of that, from The Colonel, says: "Don't shoot the pretty ones, you fucking morons, or I'll kill you myself. They're worth good money or good for fun - do you idiots really want to have to fuck month-old stock?" + <</if>> </div> + <div style="margin-left:2em"> <<if $SF.Regs === "strict">> + On several screens, there are prominent warnings regarding the severe disciplinary procedures that will be taken against soldiers who commit crimes while on deployment. + <<elseif $SF.Regs === "some">> + On several screens, there are some minor warnings regarding the mild disciplinary procedures that may be taken against soldiers who commit especially severe crimes while on deployment. + <<elseif $SF.Regs === "none">> + There are no warnings or information regarding disciplinary procedures on any of the screens. Near one of them, a waste basket has been dragged over and a soldier has posted a note above it that says: "For Old World Complaints and Warrants." + <</if>> </div> + + <br>You arrive at the firebase's common area, a nest of bars, pleasure dens, public spaces, and other facilities catering to the soldiers' needs and giving them somewhere to spend their free time, since they do not mingle with your citizens on the higher levels or exit the arcology except on deployment. It is well-occupied by the soldiers not currently tasked with duties, and they respectfully move out of your way as you approach, clearing a path for you to move forward. + <br><br><div style="margin-left:2em"> + The amenities are staffed by menial slaves, captured by the soldiers on their excursions. + <<if $SF.Depravity <= 0.3 && $SFColonel.Core === "kind">> + They are wearing plain jumpsuits and slim identification collars to set them apart from the soldiers, and look resigned but not fearful. The soldiers themselves socialize at the bars, in small groups around tables, and in the gambling parlours. Many of them can be seen entering or leaving the dens occupied by the sexual slaves they have acquired. Laughter from the carousing soldiers can be heard at all times. Small groups of slaves move freely between the plaza and their basic accommodations attached to the firebase. + <<elseif $SF.Depravity <= 0.6 && $SFColonel.Core === "kind">> + They are topless, wearing only utilitarian pants and leather collars to set them apart from the soldiers, and occasionally shoot fearful looks at the soldiers. The soldiers themselves socialize at the bars, or in large groups around tables, leering at and groping slaves of interest as they pass by. Many of them can be seen entering or leaving the dens occupied by the sexual slaves they have acquired, and often emerge only partially dressed, sometimes pulling half-naked slaves out with them. + <<elseif $SF.Depravity <= 0.9>> + They are topless, wearing only utilitarian shorts and steel collars to set them apart from the soldiers, and often shoot fearful looks at the soldiers. The soldiers themselves socialize at the bars, or in large groups around tables, leering at and heavily groping slaves of interest as they pass by. Many of them can be seen entering or leaving the dens occupied by the sexual slaves they have acquired, and often emerge stark naked, sometimes pulling naked slaves out with them for one last servicing in public. A few soldiers stagger around in drunken hazes or drugged-out stupors. + <<elseif $SF.Depravity <= 1.2>> + They are topless, wearing only a single undergarment and heavy steel collars to set them apart from the soldiers, and often shoot fearful looks at the soldiers. The soldiers occupy themselves primarily with sex, pulling slaves onto benches and fucking them hard in public. Many soldiers stagger around or lie passed out from drug and alcohol abuse. + <<elseif $SF.Depravity >= 1.5 && ($SFColonel.Core == "Warmonger" || $SFColonel.Core != "Shell Shocked")>> + To a one, they are naked, and are wearing heavy shock collars to force obedience. Most are wild-eyed with fear or dull-eyed from mental collapse, and many others bear marks of abuse. Few of the slaves are here long-term, the depraved pleasures of the soldiers resulting in enormous turnover and loss of 'damaged' stock. The extreme libations of the soldiers are ever-present. Drunken soldiers stagger around everywhere, beating slaves too slow to get out of their way. Others lie sprawled out on the ground, rendered senseless from heavy drug abuse. Some walk around naked, and hold slaves down on the benches scattered around, raping or sodomizing them with their cocks or their personal strap-ons as they desire. In alcoves, some soldier-lover pairs fuck loudly, moaning in pleasure. + <<if random(1,100) > 50>> + Off to the side, a group of soldiers brutally gangbang a very young slave girl, with one soldier buried balls-deep in her ass, another brutally sawing a barbed strap-on in and out of her pussy, and a third with his cock forced deep down her throat. The slave girl struggles and gags, desperate for breath or relief. + <<elseif random(1,100) > 50>> + Off to the side, a group of soldiers cackle amongst themselves as they take turns beating a very young slave girl with heavy batons. Sickening crunches can be heard from the screaming slave. + <<elseif random(1,100) > 75>> + Off to the side, still more soldiers crowd around an above-ground pit built from empty crates, gambling on slave gladiator fights. There's a drunken cheer as one of the fighters, a very young slave girl, straddles another one and smashes her face in with a blood-slick ammo crate. As she stands, shaking from fear and adrenaline, one of the soldiers laughs and throws a small incendiary grenade at her, changing the cheers to curses as the other soldiers jump away from the flaming, screeching slave. + <<else>> + Screams and cries of pain can be heard echoing around the area as the soldiers have their fun with their property. + <</if>> + <</if>> </div> + + <br>In the middle of the common area is a pile of supply crates with a pavilion on top - The Colonel's personal throne and open quarters, the result of her preferring to live an extreme lifestyle amongst her soldiers rather than in her empty quarters on the upper levels. It's draped with the 'flag' of $SF.Lower, one of her inventions. Sprawled all around it is an immense quantity of; alcohol, hard drugs, clothes, electronic devices, huge amounts of cash, jewels and precious metals looted from the outside world. + <br><br><div style="margin-left:2em"> + As you approach, The Colonel + <<if random(0,100) > 50>> + raises a hand in greeting and nods. She is sprawled on a couch, wearing only her combat suit tank top and fingerless gloves. She's holding a near-empty bottle of strong liquor in her hand and you can see a naked slave girl kneeling on the floor between her legs. The Colonel has her legs wrapped tightly around the girl's head, forcing the girl to service her if she wants to breathe. The Colonel is close to her climax then suddenly tenses her lower body thus gripping the girl even tighter and throws her head back in ecstasy as she orgasms. She lets out a long breath finally releasing the girl, giving her a hard smack and shouting at her to fuck off.<br><br> The Colonel finishes off her bottle, tossing it over her shoulder then leaning back on the couch and spreading her legs wide. You look down briefly, falling into your habits of inspection. Her pussy is completely devoid of hair with heavy labia in with a very large and hard clit peaking out. Beads of moisture, the result of her excitation, are visible, and you can tell from long experience that she would be tight as a vise. You return your gaze to her face to find her smirking at you. "Like what you see, <<print SFCR()>>?" She waves her hand at the plaza around her, "So do they. But you're not here for pussy. You're here to talk business. So, what's up?" + <<elseif random(0,100) > 50>> + is in no condition initially to greet you. She's naked except for one sock that gives you a very good view of her muscled, taut body while lunging with her feet on the table and the rest on her couch. She is face down in a drugged-out stupor in the middle of a wide variety of powders and pills. Perhaps sensing your approach, her head suddenly shoots up and looks at you with unfocused, bloodshot eyes. "Sorry, <<print SFCR()>>," she slurs, wiping her face and weakly holding up a hand. "Hold on a second, I need something to help me out here. Long fucking night." She struggles to sit on the couch and bending over the table, loudly snorts up some of the white powder on it. "Ahhh, fuck," she says, breathing heavily.<br><br> She shakes her head powerfully now looking at you, her eyes once again alert and piercing. "That's better," she says, leaning back on the couch and giving you another good view of her assets. "So, <<print SFCR()>>," she begins, "what brings you down here to our little clubhouse? I trust you're happy with how we've been handling things out there?" You nod. "Excellent", she laughs. "I have to say; it's nice to have a place like this while having some top-end gear and to be able to have fun out there without worrying about anyone coming back on us. Good fucking times." She laughs again. "So - I'm assuming you want something?" + <<elseif random(0,100) > 70 && $SF.Depravity >= 1.5 && $SFColonel.Core == "cruel">> + is relaxing on her couch stark naked, greeting you with a raised hand. Between her tightly clenched legs is a slave girl being forced to eat her out. "Hey, <<print SFCR()>>, what's -" she breaks off as a flash of pain crosses her features. "Fucking bitch!" she exclaims, pulling her legs away and punching the slave girl in the face. She pushes the girl to the ground, straddling her then begins hitting. You hear one crunch after another as The Colonel's powerful blows shatter the girl's face. She hisses from between clenched teeth, each word accompanied by a brutal punch. "How. Many. Fucking. Times. Have. I. Told. You. To. Watch. Your. Fucking. Teeth. On. My. Fucking. Clit!" She leans back, exhaling heavily. Before leaning back down to grip apply pressure onto the girl's neck with her powerful hands. Wordlessly, she increases the pressure and soon the girl begins to turn blue as she struggles to draw breath. Eventually her struggles weaken and then finally, end.<br><br> The Colonel relaxes her grip then wipes her brow, clearing away the sweat from her exertion. Finally rising from the girl's body, relaxing back on the couch and putting her feet back up on the table. "Sorry about that <<print SFCR()>>," she says, shrugging. "So many of these bitches we pick up from the outside don't understand that they have to behave." Shaking her head in frustration, "Now I need to find another one. But that's not your problem - you're here to talk business. So, what's up?" + <<else>> + is topless while reviewing the particulars of her unit on a tablet as you approach. She raises a hand in greeting. "Hey <<print SFCR()>>," she says, noticing you looking at her chest. She laughs. "Nice, aren't they? But they're not for you or them." She throws a thumb at the plaza around her. "You're down here for a reason, though. What can I do for you?" + <</if>> </div> + <<if $SFUnit.Firebase === 10>> + <br>The echo of simulated gun fire and explosions can be heard from the state of the art killhouse. + The quite hum of fans keeping the faster and much more efficient custom network operational can be heard throught the firebase.<br> + <</if>> +<</if>> + +<br>__Current facilities status:__ +<br>''Firebase:'' <<print Firebase()>> + <br> The large dormitories are <<print TroopDec()>>. +<br><br>''Armory:'' <<print Armoury()>> +<br><br>''Drug Lab:'' <<print Drugs()>> +<<if $SFUnit.Firebase >= 2 && $SFUnit.Drones > 0>> <br><br>''Drone Bay:'' <<print LUAV()>> <</if>> + +<<if _G > 0 && $SFUnit.Firebase >= 1>> <br><br>''Garage:'' + <<if $SFUnit.AV+$SFUnit.TV > 0>> <br> ''Vehicles:'' + <<if $SFUnit.AV > 0>> <br> ''Assault:'' <<print AV()>> <</if>> + <<if $SFUnit.TV > 0>> <br> ''Transport:'' <<print TV()>> <</if>> + <</if>> + <<if $SFUnit.PGT > 0>> <br> ''Prototype Goliath Tank:'' <<print PGT()>> <</if>> +<</if>> + +<<if $SFUnit.Firebase >= 4>> + <<if _H > 0>> <br><br>''Hangar:'' + <<if $SFUnit.AA+$SFUnit.TA > 0>> <br> ''Airforce:'' + <<if $SFUnit.AA > 0>> <br> ''Assault:'' <<print AA()>> <</if>> + <<if $SFUnit.TA > 0>> <br> ''Transport:'' <<print TA()>> <</if>> + <</if>> + <<if $SFUnit.SpacePlane > 0>> <br> ''Spaceplane:'' <<print SP()>> <</if>> + <<if $SFUnit.GunS > 0>> <br> ''Gunship:'' <<print GunS()>> <</if>> + <</if>> + <<if _LB> 0>> <br><br>''Launch Bay:'' + <<if $SFUnit.Satellite > 0>> <br> ''Satellite:'' <<print Sat()>> <<if $SatLaunched < 1>><br> [[Launch it into geostationary orbit|Firebase][$SatLaunched = 1]]<br> //You cannot upgrade the satellite once it has been launched.//<</if>><</if>> + <<if $SFUnit.GiantRobot > 0>> <br> ''Giant Robot'': <<print GR()>> <</if>> + <<if $SFUnit.MissileSilo > 0>> <br> ''Cruise Missile:'' <<print ms()>> <</if>> + <</if>> +<</if>> + +<<if _NY > 0>> <br><br>''Naval Yard:'' + <<if $SFUnit.AircraftCarrier > 0>> <br> ''Aircraft Carrier:'' <<print AC()>> <</if>> + <<if $SFUnit.Sub > 0>> <br> ''Submarine:'' <<print Sub()>> <</if>> + <<if $SFUnit.HAT > 0>> <br> ''Amphibious Transport:'' <<print HAT()>> <</if>> +<</if>> +/*<<if $SupportFacility === 1>> <br><br>''$SupportFacilityName:'' + <<if passage() === "Firebase">> + <br><<link "Enter the building" "Support Facility">> <</link>> + <<elseif passage() === "SF_Report">> + <<include "Support Facility Report">> <</if>> +<</if>>*/ diff --git a/src/pregmod/SecForceEX/JS.js b/src/pregmod/SecForceEX/JS.js new file mode 100644 index 0000000000000000000000000000000000000000..28ddef9246cd6120e5f5170c41773b628cb04715 --- /dev/null +++ b/src/pregmod/SecForceEX/JS.js @@ -0,0 +1,441 @@ +/*SecForceEX JS*/ +window.SFC = function() { + const V = State.variables; + if (V.SFTradeShow.CanAttend === -1) {return `The Colonel`;} + else { + if (V.LieutenantColonel > 0) {return `Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>>`;} + else {return `a designated soldier`;}} +}; + +window.SFCR = function() { + const V = State.variables, C = V.SFColonel; + if (C.Status <= 19) {return `boss`;} + else if (C.Status <= 39) {return `friend`;} + else {return `fuckbuddy`;} +}; + +window.TroopDec = function() { + const V = State.variables, commom = "the <<print commaNum($SFUnit.Troops)>> members of $SF.Lower", S = V.SFUnit; + if (S.Troops < 100) {return `sparsely occupied, ${commom} residing within them concentrating together in a corner. The hundreds of empty beds and lockers visibly herald the future`;} + else if (S.Troops < 400) {return `lightly occupied, with ${commom} starting to spread out across them`;} + else if (S.Troops < 800) {return `moderately occupied, though ${commom} residing within have a considerable amount of extra room`;} + else if (S.Troops < 1500) {return `well-occupied, and ${commom} residing within have started to form small cliques based on section and row`;} + else {return `near capacity, and ${commom} often barter their personal loot, whether it be monetary or human, for the choicest bunks`;} +}; + +window.HSM = function() { + const V = State.variables; + if (V.PC.hacking <= -100) {return 1.5;} + else if (V.PC.hacking <= -75) {return 1.35;} + else if (V.PC.hacking <= -50) {return 1.25;} + else if (V.PC.hacking <= -25) {return 1.15;} + else if (V.PC.hacking < 0) {return 1.10;} + else if (V.PC.hacking === 0) {return 1;} + else if (V.PC.hacking <= 10) {return 0.97;} + else if (V.PC.hacking <= 25) {return 0.95;} + else if (V.PC.hacking <= 50) {return 0.90;} + else if (V.PC.hacking <= 75) {return 0.85;} + else if (V.PC.hacking <= 100) {return 0.80;} + else {return 0.75;} +}; + +window.Count = function() { + const V = State.variables, T = State.temporary, C = Math.clamp, S = V.SFUnit, E = V.economy; + T.FU = 10,S.Firebase = C(S.Firebase, 0, T.FU); + T.AU = 10,S.Armoury = C(S.Armoury, 0, T.AU); + T.DrugsU = 10,S.Drugs = C(S.Drugs, 0, T.DrugsU); + T.DU = 10,S.Drones = C(S.Drones, 0, T.DU); + T.AVU = 10,S.AV = C(S.AV, 0, T.AVU); + T.TVU = 10,S.TV = C(S.TV, 0, T.TVU); + T.AAU = 10,S.AA = C(S.AA, 0, T.AAU); + T.TAU = 10,S.TA = C(S.TA, 0, T.TAU); + if (V.PC.warfare >= 75) {T.PGTU = 10,T.SPU = 10,T.GunSU = 10,T.SatU = 10,T.GRU = 10,T.MSU = 10,T.ACU = 10,T.SubU = 10,T.HATU = 10;} + else if (V.PC.warfare >= 50) {T.PGTU = 9,T.SPU = 9,T.GunSU = 9,T.SatU = 9,T.GRU = 9,T.MSU = 9,T.ACU = 9,T.SubU = 9,T.HATU = 9;} + else {T.PGTU = 8,T.SPU = 8,T.GunSU = 8,T.SatU = 8,T.GRU = 8,T.MSU = 8,T.ACU = 8,T.SubU = 8,T.HATU = 8;} + S.PGT = C(S.PGT, 0, T.PGTU); + S.SpacePlane = C(S.SpacePlane, 0, T.SPU), S.GunS = C(S.GunS, 0, T.GunSU); + S.Satellite = C(S.Satellite, 0, T.SatU), S.GiantRobot = C(S.GiantRobot, 0, T.GRU), S.MissileSilo = C(S.MissileSilo, 0, T.MSU); + S.AircraftCarrier = C(S.AircraftCarrier, 0, T.ACU),S.Sub = C(S.Sub, 0, T.SubU),S.HAT = C(S.HAT, 0, T.HATU); + T.GU = T.AVU+T.TVU+T.PGTU, T.G = S.AV+S.TV+S.PGT; + T.H = S.AA+S.TA+S.SpacePlane+S.GunS, T.HU = T.AAU+T.TAU+T.SPU+T.GunSU; + T.LBU = T.SatU + T.MSU, T.LB = S.Satellite + S.MissileSilo; + T.Base = S.Firebase + S.Armoury + S.Drugs + S.Drones + T.H; + T.BaseU = T.FU + T.AU + T.DrugsU + T.DU + T.HU; + if (V.terrain !== "oceanic") T.LBU += T.GRU, T.LB += S.GiantRobot, T.Base += T.G, T.BaseU += T.GU; + T.max = T.BaseU + T.LBU, V.SF.Units = T.Base + T.LB; + if (V.terrain === "oceanic" || V.terrain === "marine") { + T.NY = S.AircraftCarrier + S.Sub + S.HAT, V.SF.Units += T.NY; + T.NYU = T.ACU + T.SubU + T.HATU, T.max += T.NYU;} + V.SF.Units = C(V.SF.Units, 0, T.max); + if (E < 1) {T.Env = 4;} + else if (E < 1.5) {T.Env = 3;} + else {T.Env = 2;} +}; + +window.Firebase = function() { + const V = State.variables, S = V.SFUnit; + var appear = `is currently constructed in a haphazard fashion.`, barracks = `Soldiers' cots are mixed in with weapons crates and ammunition.`, slave = `Cages for processing slaves lie off to one side,`, common = `and in the center is a common area with tables for soldiers to gather around for meals or rowdy conversations.`, garage = ``, drone = ``, hangar = ``, launch = ``, artillery = ``, comms = ``, training = ``; + + if (S.Firebase >= 1) {appear = `has had some organization put into it.`, barracks = `The majority of weapons, armor, and ammunition have been separated from the soldiers' cots into their own armory.`, garage = `A section near the outer wall of the arcology has been converted to a garage with an adjoining vehicle maintenance bay`, drone = `.`; + if (V.terrain === "oceanic") garage += ` for inter-arcology travel`;} + if (S.Firebase >= 2) barracks = `A barracks has been constructed near the armory, allowing soldiers a quieter place to sleep and store their personal spoils.`, drone = `, as well as a facility for the storage, maintenance, and deployment of armed combat drones.`; + if (S.Firebase >= 3) appear = `has become more permanent.`, barracks = `A command center has been constructed near the barracks and armory, allowing for additional support personnel.`; + if (S.Firebase >= 4) hangar = `Hangar space for storing and repairing aircraft has been converted from unused space on the other side of the garage.`; + if (S.Firebase >= 5) { + appear = `is nearing the appearance of a military base.`, launch = `The rest of the firebase has been designated for special projects.`, artillery = `Artillery batteries are set around the base of the arcology.`; + if (V.terrain === "oceanic" || V.terrain === "marine") launch += ` A Naval Yard has been constructed in the waters near the arcology.`;} + if (S.Firebase >= 6) common = `and in the center is a common area for recreation, including a small movie theater and a mess hall.`; + if (S.Firebase >= 7) {slave = `A slave detention facility has been sectioned off to one side`; + if (V.SF.Depravity > 1.5) slave += ` emanating the sounds of rape and torture`; + slave += `,`;} + if (S.Firebase >= 8) appear = `has become a fully fledged military base.`, comms = `A Free City-wide communication network for $SF.Lower has been constructed to faciltate faster responses and efficent monitoring of the surrounding area.`; + if (S.Firebase >= 9) training = `A high-tech killhouse has been constructed to aid in soldier training.`; + if (S.Firebase >= 10) artillery = `Railgun artillery batteries are set around the base of the arcology, capable of accurately destroying enemies an absurd distance away.`; + + return `The firebase ${appear} ${barracks} ${comms} ${training} ${slave} ${common} ${garage}${drone} ${hangar} ${launch} ${artillery}`; +}; + +window.Armoury = function() { + const V = State.variables, S = V.SFUnit; + var weapons = `The weapons are mostly worn rifles that have already seen years of service before $SF.Lower aquired them.`, armor = `The body armor is enough to stop smaller calibers, but nothing serious.`, comms = ``, helmets = ``, ammo = ``, uniforms = ``, special = ``, exo = ``; + + if (S.Armoury >= 1) comms = `Radios have been wired into the soldiers helmets`, helmets = `.`; + if (S.Armoury >= 2) helmets = ` and a HUD has been integrated into the soldier's eyewear.`; + if (S.Armoury >= 3) ammo = `Tactical vests have been provided, allowing soldiers to carry additional ammo.`; + if (S.Armoury >= 4) armor = `The body armor is a newer variant, able to stop small arms fire and protect against shrapnel.`; + if (S.Armoury >= 5) weapons = `The weapons are modern rifles and sidearms, putting $SF.Lower on par with rival mercenary outfits.`; + if (S.Armoury >= 6) uniforms = `New uniforms have been distributed that are more comfortable and made of breatheable fabric to keep soldiers from overheating.`; + if (S.Armoury >= 7) special = `Specialized weaponry is available for various roles, allowing more flexibility in planning.`; + if (S.Armoury >= 8) helmets = `and a HUD and camera display have been integrated into soldiers' eyewear, enabling accurate aim around corners or from behind cover`; + if (S.Armoury >= 9) exo = `An exosuit has been developed to reduce the amount of weight soldiers carry, increase lifting strength, and move faster in combat.`; + if (S.Armoury >= 10) weapons = `Cutting-edge weaponry is available to $SF.Lower, far outpacing the ability of rival mercenary outfits.`; + + return `The armory holds soldiers' weapons and gear while not in training or combat. ${weapons} ${special} ${armor} ${comms}${helmets} ${ammo} ${uniforms} ${exo}`; +}; + +window.Drugs = function() { + const V = State.variables, S = V.SFUnit; + var amphet = ``, phen = ``, steroid = ``, downer = ``, concen = ``, stimpack = ``, stabilizer = ``; + + if (S.Drugs >= 1) amphet = `Amphetamines have been added to the cocktail at a low dosage to act as a stimulant, physical performance enhancer, cognition control enhancer. Some side-effects exist.`; + if (S.Drugs >= 2) phen = `Phencyclidine has been added to the cocktail at a low dosage as a dissociative psychotropic for soldiers in battle to introduce feelings of detachment, strength and invincibility, and aggression. Some side-effects reduce the tolerable dosage before soldiers go on uncontrollable violent outbreaks.`; + if (S.Drugs >= 3) steroid = `Testosterone is being produced for soldiers in training as a natural muscle growth stimulant and to invoke aggression.`; + if (S.Drugs >= 4) downer = `Zaleplon is being produced as a downer to counteract the battle cocktail and encourage rest before combat.`; + if (S.Drugs >= 5) concen = `Methylphenidate has been added to the cocktail as a stimulant and to improve soldier concentration.`; + if (S.Drugs >= 6) phen = `A phencyclidine-based drug has been added to the cocktail as a dissociative psychotropic for soldiers in battle to introduce controllable feelings of detachment, strength and invincibility, and aggression.`; + if (S.Drugs >= 7) steroid = `Low levels of anabolic steroids are being produced for soldiers in training to stimulate muscle growth and invoke aggression.`; + if (S.Drugs >= 8) amphet = `Diphenylmethylsulfinylacetamide has been added to the cocktail to counteract the effects of sleep deprivation and promote alertness.`; + if (S.Drugs >= 9) stimpack = `A stimpack of the battle cocktail is being given to soldiers in battle to take if the original dose wears off before the battle is over.`; + if (S.Drugs >= 10) stabilizer = `A stabilizer has been added to the battle cocktail that helps tie effects together while reducing side-effects, leading to an effectively safe supersoldier drug.`; + + return `A drug lab has been established to increase the effectiveness of $SF.Lower's soldiers. Many of these chemicals are mixed into a single 'battle cocktail' to be taken before combat. ${amphet} ${phen} ${concen} ${steroid} ${downer} ${stimpack} ${stabilizer}`; +}; + +window.LUAV = function() { + const V = State.variables, S = V.SFUnit; + var a = `have been recommissioned for use by $SF.Lower`, b = `.`, c = ``, d = ``, e = ``, f = ``, g = ``, h = ``, i = ``, j = ``, k = ``; + + if (S.Drones >= 2) a = `equipped with missiles are resting on one side of the drone bay`, b = `, as well as destroying the occasional target.`; + if (S.Drones >= 3) c = `A fleet of`, d = `large delivery quadcopters have been converted for military service to support ground forces as combat drones.`; + if (S.Drones >= 4) d = `combat drones take up the rest of the space in the drone bay. They have a`, e = `small automatic rifle`, f = `mounted to the underside.`; + if (S.Drones >= 5) g = `Armor has been added to protect vulnerable components from small arms fire.`; + if (S.Drones >= 6) h = `The fleet's batteries have been replaced with higher capacity models, increasing the functional time spent in combat.`; + if (S.Drones >= 7) i = `The propellers and motors have been upgraded, increasing maneuverability and speed.`; + if (S.Drones >= 8) j = `The drone control signal has been boosted and encrypted, giving the drones a greater range and protecting against electronic warfare.`; + if (S.Drones >= 9) e = `light machine gun`; + if (S.Drones >= 10) k = `A drone-to-drone network has been installed, allowing drones to swarm, maneuver, and attack targets autonomously.`; + + return `Surveillance drones ${a}. During combat, they supply aerial intel to commanders and act as the communications network for ground forces${b} ${c} ${d} ${e} ${f} ${g} ${h} ${i} ${j} ${k}`; +}; + +window.AV = function() { + const V = State.variables, S = V.SFUnit; + var b = `has been recommissioned for use by $SF.Lower. They`, c = `; mechanics are methodically checking the recent purchases for battle-readiness`, MG = `120 mm main gun is enough to handle the majority of opponents around the Free Cities.`, engine = ``, armor = ``, armor2 = ``, ammo = ``, mg = ``, fireC0 = ``, fireC1 = ``, fireC2 = ``, fireC3 = ``, turret = ``; + + if (S.AV >= 2) engine = `The engine has been overhauled, allowing much faster maneuvering around the battlefield.`, b = ``, c = ``; + if (S.AV >= 3) armor = `A composite ceramic armor has replaced the original, offering much greater protection from attacks.`; + if (S.AV >= 4) ammo = `The tanks have been outfitted with additional types of ammo for situational use.`; + if (S.AV >= 5) mg = `A remote-controlled .50 cal machine gun has been mounted on the turret to handle infantry and low-flying aircraft.`; + if (S.AV >= 6) fireC0 = `A fire-control system`, fireC3 = `been installed, guaranteeing`, fireC2 = `has`, fireC1 = `accurate fire.`; + if (S.AV >= 7) fireC2 = `and an autoloader have`, fireC1 = `rapid, accurate fire while separating the crew from the stored ammunition in the event the ammo cooks off.`; + if (S.AV >= 8) armor2 = `A reactive armor system has been added, giving the tank an additional, if temporary, layer of protection.`; + if (S.AV >= 9) turret = `The turret has been massively redesigned, lowering the tank profile and increasing the efficiency of the mechanisms within.`; + if (S.AV >= 10) MG = `140 mm main gun can quash anything even the greatest Old World nations could muster.`; + + return `A fleet of main battle tanks ${b} are parked in the garage${c}. ${turret} The ${MG} ${ammo} ${mg} ${fireC0} ${fireC2} ${fireC3} ${fireC1} ${engine} ${armor} ${armor2}`; +}; + +window.TV = function() { + const V = State.variables, S = V.SFUnit; + var B = `has been recommissioned for use by $SF.Lower. They`, C = `; mechanics are giving the new purchases a final tuneup`, squad = `a squad`, G1 = `20`, G2 = `in a firefight`, e0 = `The engine has been`, engine = ``, armor = ``, tires = ``, m1 = ``, m2 = ``, pod1 = ``, pod2 = ``; + + if (S.TV >= 2) engine = `${e0} overhauled, allowing for higher mobility.`, C = ``, B = ``; + if (S.TV >= 3) armor = `Composite armor has been bolted to the exterior, increasing the survivability of an explosive attack for the crew and passengers.`; + if (S.TV >= 4) tires = `The tires have been replaced with a much more durable version that can support a heavier vehicle.`; + if (S.TV >= 5) m1 = `An automatic missile defense system has been installed,`, m2 = `targeting any guided missiles with laser dazzlers and deploying a smokescreen.`; + if (S.TV >= 6) pod1 = `An anti-tank missle pod`, pod2 = `has been installed on the side of the turret.`; + if (S.TV >= 7) G1 = `25`, G2 = `by attacking enemies through cover and destroying light armor`; + if (S.TV >= 8) pod2 = `and an anti-aircraft missile pod have been installed on either side of the turret.`; + if (S.TV >= 9) squad = `two squads`, armor = ``, m2 = `destroying any incoming missiles with a high-powered laser. Some of the now redundant composite armor has been removed, and the reclaimed space allows for more passengers.`; + if (S.TV >= 10) engine = `${e0} replaced with the newest model, allowing the vehicle to get in and out of the conflict extremely quickly.`; + + return `A fleet of infantry fighting vehicles ${B} are parked in the garage${C}. The IFVs can carry ${squad} of 6 to a firezone. The ${G1} mm autocannon supports infantry ${G2}. ${pod1} ${pod2} ${engine} ${armor} ${tires} ${m1} ${m2}`; +}; + +window.PGT = function() { + const V = State.variables, S = V.SFUnit; + var b = `has been sold to $SF.Lower through back channels to support a failing Old World nation. The tank is so large it cannot fit inside the garage, and has`, c = ``, engines = `. Two engines power the left and right sides of the tank separately, leaving it underpowered and slow`, gun0 = ``, gun1 = ``, gun2 = `an undersized main gun and makeshift firing system from a standard battle tank`, armor1 = ``, armor0 = ``, cannon = ``, laser = ``, PGTframe = ``; + + if (S.PGT >= 2) c = `rests in`, b = ``, engines = ` and powered by their own engine, allowing the tank to travel with an unsettling speed for its massive bulk`; + if (S.PGT >= 3) gun0 = `a railgun capable of`, gun1 = `firing steel slugs`, gun2 = `through one tank and into another`; + if (S.PGT >= 4) armor0 = `reinforced, increasing survivability for the crew inside.`, armor1 = `The armor has been`; + if (S.PGT >= 5) cannon = `A coaxial 30mm autocannon has been installed in the turret, along with automated .50 cal machine guns mounted over the front treads.`; + if (S.PGT >= 6) laser = `Laser anti-missile countermeasures have been installed, destroying any subsonic ordinance fired at the Goliath.`; + if (S.PGT >= 7) PGTframe = `The frame has been reinforced, allowing the Goliath to carry more armor and gun.`; + if (S.PGT >= 8) armor0 = `redesigned with sloping and state-of-the-art materials, allowing the Goliath to shrug off even the most advanced armor-piercing tank rounds.`; + if (S.PGT >= 9) gun1 = `firing guided projectiles`; + if (S.PGT >= 10) gun0 = `a twin-barreled railgun capable of rapidly`; + + return `A prototype Goliath tank ${b}${c} its own garage housing built outside the arcology. The massive bulk is spread out over 8 tracks, two for each corner of the tank${engines}. The turret is equipped with ${gun0} ${gun1} ${gun2}. ${cannon} ${armor1} ${armor0} ${laser} ${PGTframe}`; +}; + +window.AA = function() { + const V = State.variables, S = V.SFUnit; + var W1 = `only armed`, W2 = `,`, W3 = `a poor weapon against flying targets, but enough to handle ground forces`, group = `A small group of attack VTOL have been recommissioned for use by $SF.Lower, enough to make up a squadron`, engines = ``, TAI = ``, lock = ``, support = ``, stealth = ``, scramble = ``, PAI = ``; + + if (S.AA >= 2) W1 = `armed`, W2 = ` and air-to-air missiles,`, W3 = `a combination that can defend the arcology from enemy aircraft, as well as`, support = ` support ground troops`; + if (S.AA >= 3) engines = `The engines have been tuned, allowing faster flight with greater acceleration.`; + if (S.AA >= 4) TAI = `An advanced targeting AI has been installed to handle all control of weapons, allowing much more efficent use of ammunition and anti-countermeasure targeting.`; + if (S.AA >= 5) lock = `Installed multispectrum countermeasures protect against all types of missile locks.`; + if (S.AA >= 6) group = `A respectable number of attack VTOL protect your arcology, split into a few squadrons`; + if (S.AA >= 7) support = ` attack ground targets`, W2 = `, rocket pods, and air-to-air missiles,`; + if (S.AA >= 8) stealth = `The old skin has been replaced with a radar-absorbent material, making the aircraft difficult to pick up on radar.`; + if (S.AA >= 9) scramble = `The VTOLs can scramble to react to any threat in under three minutes.`; + if (S.AA >= 10) PAI = `A piloting AI has been installed, allowing the VTOLs to perform impossible maneuvers that cannot be done by a human pilot. This removes the need for a human in the aircraft altogether.`; + + return `${group}. Several of the landing pads around $arcologies[0].name host groups of four fighters, ready to defend the arcology. ${scramble} The attack VTOL are currently ${W1} with a Gatling cannon${W2} ${W3}${support}. ${TAI} ${PAI} ${engines} ${lock} ${stealth}`; +}; + +window.TA = function() { + const V = State.variables, S = V.SFUnit; + var Num = `number`, type = `tiltrotor`, capacity = `small platoon or 15`, engines = ``, engines2 = ``, Radar = ``, Armor = ``, landing = ``, miniguns = ``, counter = ``; + + if (S.TA >= 2) engines = `The tiltrotor engines have been replaced with a more powerful engine, allowing faster travel times.`; + if (S.TA >= 3) counter = `Multispectrum countermeasures have been added to protect against guided missiles.`; + if (S.TA >= 4) miniguns = `Mounted miniguns have been installed to cover soldiers disembarking in dangerous areas.`; + if (S.TA >= 5) Num = `large number`; + if (S.TA >= 6) landing = `The landing equipment has been overhauled, protecting personel and cargo in the event of a hard landing or crash.`; + if (S.TA >= 7) Armor = `Armor has been added to protect passengers from small arms fire from below.`; + if (S.TA >= 8) capacity = `large platoon or 20`, engines2 = `Further tweaks to the engine allow for greater lifting capacity.`; + if (S.TA >= 9) Radar = `Radar-absorbent materials have replaced the old skin, making it difficult to pick up the VTOL on radar.`; + if (S.TA >= 10) type = `tiltjet`, engines2 = ``, engines = `The tiltrotors have been replaced with tiltjets, allowing for much greater airspeed and acceleration.`; + + return `A ${Num} of transport ${type} VTOL have been recommissioned for use by $SF.Lower. The VTOLs are resting on large pads near the base to load either a ${capacity} tons of materiel. ${engines} ${engines2} ${Armor} ${landing} ${counter} ${Radar} ${miniguns}`; +}; + +window.SP = function() { + const V = State.variables, S = V.SFUnit; + var engine = `ramjet engines in the atmosphere that can reach Mach 10`, b = `has been purchased from an insolvent Old World nation. It `, shield = ``, camera = ``, efficiency = ``, camera2 = ``, drag = ``, crew = ``, engine2 = ``, skin = ``; + + if (S.SpacePlane >= 2) b = ``, shield = `The current heat shielding has been upgraded, reducing the likelihood of heat damage during reentry.`; + if (S.SpacePlane >= 3) engine2 = ` and liquid rocket engines in orbit that can reach an equivalent Mach 18`; + if (S.SpacePlane >= 4) camera = `A state-of-the-art camera has been installed in the underbelly that takes incredibly high resolution photos, but requires the frictionless environment of space to focus.`; + if (S.SpacePlane >= 5) efficiency = `Tweaks to the engines have increased fuel efficency to the point where midflight refueling is no longer necessary.`; + if (S.SpacePlane >= 6) camera2 = `The camera sensor is capable of taking IR shots.`; + if (S.SpacePlane >= 7) drag = `Miraculous advances in aerodynamics and materials allow frictionless flight, even while in the atmosphere.`; + if (S.SpacePlane >= 8) crew = `Increased the crew comfort and life support systems to increase operational time.`; + if (S.SpacePlane >= 9) skin = `Replaced the underbelly skin with an chameleon kit, matching the color to the sky above it.`; + if (S.SpacePlane >= 10) engine = `experimental scramjet engines in the atmosphere that can reach Mach 15`, engine2 = ` and liquid rocket engines in orbit that can reach an equivalent Mach 25`; + + return `A prototype spaceplane ${b} rests in the hangar, its black fuselage gleaming. The craft is powered by ${engine}${engine2}. ${efficiency} ${shield} ${camera} ${camera2} ${drag} ${crew} ${skin}`; +}; + +window.GunS = function() { + const V = State.variables, S = V.SFUnit; + var a = `has been recommissioned for use by $SF.Lower. Currently, it `, b = ``, c = ``, d = ``, e = `Miniguns and Gatling cannons line`, f = `, though the distance to ground targets renders the smaller calibers somewhat less useful`, g = ``, h = ``, i = ``, j = ``, k = ``; + + if (S.GunS >= 2) b = `Infrared sensors have been added for the gunners to better pick targets.`, a = ``; + if (S.GunS >= 3) c = `The underside of the aircraft has been better armored against small-arms fire`, h = `.`; + if (S.GunS >= 4) d = `Larger fuel tanks have been installed in the wings and fuselage, allowing the gunship to provide aerial support for longer periods before refueling.`; + if (S.GunS >= 5) e = `25 mm Gatling cannons`, f = `, allowing the gunship to eliminate infantry`, j = ` and light vehicles from above`, k = ` and a 40 mm autocannon are mounted on`; + if (S.GunS >= 6) g = `The engines have been replaced, allowing both faster travel to a target, and slower travel around a target.`; + if (S.GunS >= 7) h = `, and multi-spectrum countermeasures have been installed to protect against guided missiles.`; + if (S.GunS >= 8) b = `Upgraded multi-spectrum sensors can clearly depict targets even with IR shielding.`; + if (S.GunS >= 9) i = `The ammunition storage has been increased, only slightly depriving loaders of a place to sit.`; + if (S.GunS >= 10) j = `, both light and heavy vehicles, and most enemy cover from above`, k = `, a 40 mm autocannon, and a 105 mm howitzer are mounted on`; + + return `A large gunship ${a} is being refueled in the hangar. ${e}${k} the port side of the fuselage${f}${j}. ${b} ${i} ${g} ${c}${h} ${d}`; +}; + +window.Sat = function() { + const V = State.variables, S = V.SFUnit; + var loc = `An unused science satellite has been purchased from an Old World nation. While currently useless, it holds potential to be a powerful tool.`, gyro = ``, telemetry = ``, thrusters = ``, solar = ``, surviv = ``, laser = ``, heat = ``, reactor = ``, lens = ``, kin = ``; + + if (S.Satellite >= 2) { + if (V.SatLaunched < 1) {loc = `The satellite is being worked on in the Launch Bay.`;} else {loc = `The satellite is in geosynchronous orbit, far above the arcology.`;} + gyro = `A suite of sensors have been installed to ensure the satellite can detect attitude and orbital altitude.`;} + if (S.Satellite >= 3) telemetry = `Telemetry systems have been installed to communicate with the satellite in orbit, with strong encryption measures.`; + if (S.Satellite >= 4) thrusters = `Thrusters have been installed to control satellite attitude and orbit.`; + if (S.Satellite >= 5) solar = `A massive folding solar panel array, combined with the latest in battery technology allow the satellite to store an enormous amount of energy relatively quickly.`, surviv = `Enough of the satellite has been finished that it can expect to survive for a significant period of time in space.`; + if (S.Satellite >= 6) laser = `A laser cannon has been mounted facing the earth, capable of cutting through steel in seconds`, heat = ` while generating a large amount of heat.`; + if (S.Satellite >= 7) heat = `. The installed heatsink allows the laser cannon to fire more frequently without damaging the satellite.`; + if (S.Satellite >= 8) reactor = `A small, efficient nuclear reactor has been installed to continue generating energy while in the Earth's shadow.`; + if (S.Satellite >= 9) lens = `A higher quality and adjustable lens has been installed on the laser, allowing scalpel precision on armor or wide-area blasts on unarmored targets.`; + if (S.Satellite >= 10) kin = `A magazine of directable tungsten rods have been mounted to the exterior of the satellite, allowing for kinetic bombardment roughly equal to a series of nuclear blasts.`; + + return `${loc} ${gyro} ${thrusters} ${telemetry} ${solar} ${reactor} ${surviv} ${laser}${heat} ${lens} ${kin}`; +}; + +window.GR = function() { + const V = State.variables, S = V.SFUnit; + var loc = `has been purchased from a crumbling Old World nation. It`, power = `Large batteries mounted in oversized shoulders power the robot for up to ten minutes of use, though they make for large targets.`, knife = `simply a 8.5 meter long knife, though additional weapons are under development.`, armor = ``, actuator = ``, cannon = ``, heatsink = ``, ammo = ``, missile = ``; + + if (S.GiantRobot >= 2) loc = ``, armor = `Armor plating has been mounted over the majority of the robot.`; + if (S.GiantRobot >= 3) power = `The robot is now powered by an umbilical cable system instead of bulky and short-lived batteries.`; + if (S.GiantRobot >= 4) knife = `a 25 meter plasma sword. The cutting edge uses plasma to melt and cut through targets, reducing the strain on the sword.`; + if (S.GiantRobot >= 5) actuator = `The limb actuators have been replaced with a faster and more powerful variant, granting the robot the same.`; + if (S.GiantRobot >= 6) cannon = `A custom 45 mm Gatling cannon rifle has been developed for ranged use`, ammo = `, though it lacks enough ammo storage for a main weapon.`; + if (S.GiantRobot >= 7) heatsink = `Large heatsinks have been installed out of the back to solve a massive overheating problem. These heatsinks resemble wings, and tend to glow red with heat when in heavy use.`; + if (S.GiantRobot >= 8) armor = ``, actuator = `Final actuator tweaks have allowed for the addition of exceptionally thick armor without any loss in speed or power.`; + if (S.GiantRobot >= 9) ammo = `, with spare ammunition drums kept along the robot's waist.`; + if (S.GiantRobot >= 10) missile = `Missile pods have been mounted on the shoulders.`; + + return `A prototype giant robot ${loc} rests in a gantry along the side of the arcology. The robot is as tall as a medium-sized office building, focusing on speed over other factors. ${power} ${armor} ${actuator} ${heatsink} The main armament is ${knife} ${cannon}${ammo} ${missile}`; +}; + +window.ms = function() { + const V = State.variables, S = V.SFUnit; + var a = `A cruise missile launch site has been constructed near the base of`, b = `outdated, something quickly rigged together to give the launch site something to fire in the case of an attack`, c = ``, d = ``, e = ``, f = ``, g = ``, h = ``; + + if (S.MissileSilo >= 2) b = `a modern missile`, c = `, tipped with a conventional warhead`; + if (S.MissileSilo >= 3) d = `The launch systems have been overhauled, allowing a launch within seconds of an attack order being given.`; + if (S.MissileSilo >= 4) e = `The missile engines have been tweaked, giving them a greater range.`; + if (S.MissileSilo >= 5) f = `A passive radar has been installed, allowing the missile to follow moving targets.`; + if (S.MissileSilo >= 6) a = `Several cruise missile launch sites have been constructed around`; + if (S.MissileSilo >= 7) e = `The engine has been replaced, giving the missiles greater range and supersonic speeds.`; + if (S.MissileSilo >= 8) g = `The ability to pick new targets should the original be lost has been added.`; + if (S.MissileSilo >= 9) h = `The missile now uses its remaining fuel to create a thermobaric explosion, massively increasing explosive power.`; + if (S.MissileSilo >= 10) c = ` that can be tipped with either a conventional or nuclear warhead`; + + return `${a} the arcology. The current missile armament is ${b}${c}. ${d} ${e} ${f} ${g} ${h}`; +}; + +window.AC = function() { + const V = State.variables, S = V.SFUnit; + var recom = `has been recommisioned from the Old World for $SF.Lower. It`, jets = `Formerly mothballed strike jets`, loc = ``, radar = ``, AA = ``, prop = ``, torp = ``, armor = ``, power = ``, scramble = ``; + + if (V.week % 6 === 0) { loc = `moored to the pier in the Naval Yard`; } else { loc = `patrolling the waters near $arcologies[0].name`; } + if (S.AircraftCarrier >= 2) radar = `The island's radar and comms have been improved.`, recom = ``; + if (S.AircraftCarrier >= 3) AA = `The antiair guns have been updated to automatically track and predict enemy aircraft movement.`; + if (S.AircraftCarrier >= 4) jets = `Modern strike jets with state-of-the-art armaments`; + if (S.AircraftCarrier >= 5) prop = `The propellers have been redesigned, granting greater speed with less noise.`; + if (S.AircraftCarrier >= 6) torp = `An anti-torpedo system detects and destroys incoming torpedoes.`; + if (S.AircraftCarrier >= 7) armor = `Additional armor has been added to the hull and deck.`; + if (S.AircraftCarrier >= 8) power = `The power plant has been converted to provide nuclear power.`; + if (S.AircraftCarrier >= 9) scramble = `The catapult has been converted to an electromagnetic launch system, halving the time it takes to scramble jets.`; + if (S.AircraftCarrier >= 10) jets = `Attack VTOL from the converted for carrier capability`; + + return `An aircraft carrier ${recom} is ${loc}. ${jets} serve as its airpower. ${scramble} ${power} ${radar} ${AA} ${torp} ${prop} ${armor}`; +}; + +window.Sub = function() { + const V = State.variables, S = V.SFUnit; + var recom = `has been recommissioned from the old world, and`, reactor = `Because diesel engines provide power and breathing oxygen is kept in pressurized canisters, the sub must frequently surface.`, reactor1 = ``, cal = ``, hull = ``, tubes = ``, torpedoes = ``, sonar = ``, control = ``, missiles = ``; + + if (S.Sub >= 2) recom = ``, reactor = `A nuclear reactor provides power`, reactor1 = `, but because oxygen is still kept in pressurized canisters the sub must frequently surface to replenish its oxygen stocks.`; + if (S.Sub >= 3) reactor1 = ` and an oxygen generator pulls Oâ‚‚ from the surrounding seawater, allowing the submarine to remain underwater for months if necessary.`; + if (S.Sub >= 4) cal = `Calibration of the propulsion systems has reduced the telltale hum of a moving sub to a whisper.`; + if (S.Sub >= 5) hull = `The outer hull has been redesigned for hydrodynamics and sonar absorption.`; + if (S.Sub >= 6) tubes = `The torpedo tubes have been redesigned for faster loading speeds`, torpedoes = `.`; + if (S.Sub >= 7) sonar = `The passive sonar has been finely tuned to detect mechanical noises miles away.`; + if (S.Sub >= 8) control = `The control room computers have been upgraded to automate many conn duties.`; + if (S.Sub >= 9) torpedoes = `and launch more agile torpedoes.`; + if (S.Sub >= 10) missiles = `The submarine has been outfitted with several cruise missiles to attack land or sea-based targets.`; + + return `An attack submarine ${recom} is moored to the pier of the Naval Yard. ${reactor}${reactor1} ${cal} ${hull} ${tubes}${torpedoes} ${sonar} ${control} ${missiles}`; +}; + +window.HAT = function() { + const V = State.variables, S = V.SFUnit; + var recom = `, has been recommissioned for use by $SF.Lower. It`, tons = `200`, skirt = ``, guns = ``, guns2 = ``, fans = ``, speed = ``, turbines = ``, armor = ``, ramps = ``, HATframe = ``, loadout = ``; + + if (S.HAT >= 2) skirt = `The skirt has been upgraded to increase durabilty and improve cushion when travelling over uneven terrain and waves.`, recom = `,`; + if (S.HAT >= 3) guns = `A minigun`, guns2 = `has been mounted on the front corners of the craft to defend against attackers.`; + if (S.HAT >= 4) fans = `The turbines powering the rear fans`, speed = `acceleration and speed.`, turbines = `have been replaced with a more powerful version, allowing greater`; + if (S.HAT >= 5) armor = `The armor protecting its cargo has been increased.`; + if (S.HAT >= 6) tons = `300`, fans = `The turbines powering the rear fans and impeller`, speed = `acceleration, speed, and carrying capacity.`; + if (S.HAT >= 7) guns = `A minigun and grenade launcher`; + if (S.HAT >= 8) ramps = `The loading ramps have been improved, allowing for faster unloading.`; + if (S.HAT >= 9) HATframe = `The frame has been widened and reinforced, allowing for more space on the deck.`; + if (S.HAT >= 10) loadout = `An experimental loadout sacrifices all carrying capacity to instead act as a floating gun platform by mounting several rotary autocannons the deck, should the need arise.`; + + return `An air cushion transport vehicle, or hovercraft${recom} is parked on the pier of the Naval Yard, ready to ferry ${tons} tons of soldiers and vehicles. ${guns} ${guns2} ${fans} ${turbines} ${speed} ${skirt} ${armor} ${ramps} ${HATframe} ${loadout}`; +}; + +window.Interactions = function() { + const V = State.variables, C = V.SFColonel, T = State.temporary; + var choice = ``, time = ``; + + if (V.SF.WG > 0){ + if (V.choice == 1){ + choice = `$SF.Caps is turning over spare capital in tribute this week. `; + if (V.SFTradeShow.CanAttend === -1 && (C.Talk + C.Fun !== 1)) { + choice += `"I think I can find @@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ for you, boss."`;} + else { + choice += `"We can spare@@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ in tribute this week, `; + if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}} + else if (V.choice == 2){ + choice = `$SF.Caps will be throwing a military parade this week. `; + if (V.SFTradeShow.CanAttend === -1 && (C.Talk + C.Fun !== 1)) { + choice += `"I expect the @@.green;public to enjoy@@ the parade, boss."`;} + else { + choice += `"I'll have plans for an @@.green;popular parade@@ on your desk, `; + if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}} + else if (V.choice == 3){ + choice = `$SF.Caps will be conducting corporate sabotage on rival arcologies' businesses. `; + if (V.SFTradeShow.CanAttend === -1 && (C.Talk + C.Fun !== 1)) { + choice += `"Our interests should see a @@.yellowgreen;big boost@@, boss."`;} + else { + choice += `"Your @@.yellowgreen;arcology's business prospects should see an improvement@@ this week, `; + if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}}} + + if (C.Talk + C.Fun > 0) time = `The Colonel is busy for the rest of the week, so the Lieutenant Colonel will assist you.`; + + return `${time} <br>${choice}`; +}; + +window.ColonelQuarters = function() { + const V = State.variables, R = Math.ceil(Math.random()*100); + var out = ``; + if (R > 50){ + out = `raises a hand in greeting and nods. She is sprawled on a couch, wearing only her combat suit tank top and fingerless gloves. She's holding a near-empty bottle of strong liquor in her hand and you can see a naked slave girl kneeling on the floor between her legs. The Colonel has her legs wrapped tightly around the girl's head, forcing the girl to service her if she wants to breathe. The Colonel is close to her climax then suddenly tenses her lower body thus gripping the girl even tighter and throws her head back in ecstasy as she orgasms. She lets out a long breath finally releasing the girl, giving her a hard smack and shouting at her to fuck off.<br><br> The Colonel finishes off her bottle, tossing it over her shoulder then leaning back on the couch and spreading her legs wide. You look down briefly, falling into your habits of inspection. Her pussy is completely devoid of hair with heavy labia in with a very large and hard clit peaking out. Beads of moisture, the result of her excitation, are visible, and you can tell from long experience that she would be tight as a vise. You return your gaze to her face to find her smirking at you. "Like what you see, <<print SFCR()>>?" She waves her hand at the plaza around her, "So do they. But you're not here for pussy. You're here to talk business. So, what's up?"`; + }else if (R > 50){ + out = `is in no condition initially to greet you. She's naked except for one sock that gives you a very good view of her muscled, taut body while lunging with her feet on the table and the rest on her couch. She is face down in a drugged-out stupor in the middle of a wide variety of powders and pills. Perhaps sensing your approach, her head suddenly shoots up and looks at you with unfocused, bloodshot eyes. "Sorry, <<print SFCR()>>," she slurs, wiping her face and weakly holding up a hand. "Hold on a second, I need something to help me out here. Long fucking night." She struggles to sit on the couch and bending over the table, loudly snorts up some of the white powder on it. "Ahhh, fuck," she says, breathing heavily.<br><br> She shakes her head powerfully now looking at you, her eyes once again alert and piercing. "That's better," she says, leaning back on the couch and giving you another good view of her assets. "So, <<print SFCR()>>," she begins, "what brings you down here to our little clubhouse? I trust you're happy with how we've been handling things out there?" You nod. "Excellent", she laughs. "I have to say; it's nice to have a place like this while having some top-end gear and to be able to have fun out there without worrying about anyone coming back on us. Good fucking times." She laughs again. "So - I'm assuming you want something?"`; + }else if (R > 70 && V.SF.Depravity >= 1.5 && V.SFColonel.Core == "cruel"){ + out = `is relaxing on her couch stark naked, greeting you with a raised hand. Between her tightly clenched legs is a slave girl being forced to eat her out. "Hey, <<print SFCR()>>, what's -" she breaks off as a flash of pain crosses her features. "Fucking bitch!" she exclaims, pulling her legs away and punching the slave girl in the face. She pushes the girl to the ground, straddling her then begins hitting. You hear one crunch after another as The Colonel's powerful blows shatter the girl's face. She hisses from between clenched teeth, each word accompanied by a brutal punch. "How. Many. Fucking. Times. Have. I. Told. You. To. Watch. Your. Fucking. Teeth. On. My. Fucking. Clit!" She leans back, exhaling heavily. Before leaning back down to grip apply pressure onto the girl's neck with her powerful hands. Wordlessly, she increases the pressure and soon the girl begins to turn blue as she struggles to draw breath. Eventually her struggles weaken and then finally, end.<br><br> The Colonel relaxes her grip then wipes her brow, clearing away the sweat from her exertion. Finally rising from the girl's body, relaxing back on the couch and putting her feet back up on the table. "Sorry about that <<print SFCR()>>," she says, shrugging. "So many of these bitches we pick up from the outside don't understand that they have to behave." Shaking her head in frustration, "Now I need to find another one. But that's not your problem - you're here to talk business. So, what's up?"`; + }else{ + out = `is topless while reviewing the particulars of her unit on a tablet as you approach. She raises a hand in greeting. "Hey <<print SFCR()>>," she says, noticing you looking at her chest. She laughs. "Nice, aren't they? But they're not for you or them." She throws a thumb at the plaza around her. "You're down here for a reason, though. What can I do for you?"`;} + return `${out}`; +}; + +window.progress = function(x,max) { + var out = `â`, z, i; + if (max === undefined) { + Math.clamp(x,0,10); + if (State.variables.SF.Units < 30) { + z = 5 - x; + for (i=0;i<x;i++) out += `â–ˆâ`; + for (i=0;i<z;i++) out += `<span style=\"opacity: 0;\">â–ˆ</span>â`; + for (i=0;i<5;i++) out += `â–‘â`;} + else { + z = 10 - x; + for (i=0;i<x;i++) out += `â–ˆâ`; + for (i=0;i<z;i++) out += `<span style=\"opacity: 0;\">â–ˆ</span>â`;}} + else { + Math.clamp(x,0,max); + x = Math.floor(10*x/max); + z = 10 - x; + for (i=0;i<x;i++) out += `â–ˆâ`; + for (i=0;i<z;i++) out += `<span style=\"opacity: 0;\">â–ˆ</span>â`;} + return `${out}`; +}; \ No newline at end of file diff --git a/src/pregmod/SecForceEX/NamingColonel.tw b/src/pregmod/SecForceEX/NamingColonel.tw new file mode 100644 index 0000000000000000000000000000000000000000..d8f0e7f57e7c35115d0632c28b487facfa15d8a6 --- /dev/null +++ b/src/pregmod/SecForceEX/NamingColonel.tw @@ -0,0 +1,144 @@ +:: Security Force Naming-Colonel [nobr] +<<set $nextButton = " ">> <<if ndef $NamingColonel>> <<set $NamingColonel = 0>> <</if>> +<<if $NamingColonel === 0>> + It's been a short while since you told your citizens that you were going to talk to them about their security, and by all accounts, they've turned out in force to watch your address over the arcology's internal communications system. You wake up early, relieve your frustrations on a few slaves woken out of deep sleep, and take position behind your desk. You also call over a slave and push her under your desk. The unspoken instruction is clear, and she begins enthusiastically + <<if $PC.dick == 1>> + sucking your cock, taking it as deep as she can without gagging. + <<else>> + eating you out, pressing her face into your pussy and forcing her tongue deep inside you. + <</if>> + + <br><br>A blinking light tells you that the channel is open. You take a deep breath, and begin. You greet your citizens and explain that while you believe deeply in the underlying principles of the Free Cities, recent events have forced you to modify some of your views. The Old World attack from the outside and the more recent assault by the Daughters of Liberty from within has proven that some form of permanent, organized standing force is needed to ensure the personal safety of the citizen body. + + <br><br>You tell them that the Old World continues to deteriorate. You tell them that it is only a matter of time before the poor, diseased, starving, and unwashed masses try their hand at invading the arcology again. You tell them that such a force would be good for business, securing trade routes and conducting slaving raids far greater in scale than those performed by private slaving corporations. And finally, to quell their greatest fear, you tell them that you would personally support the force financially. + + <br><br>As you speak, you carefully monitor the citizens' opinions as indicated on their communication devices. It is uniformly positive - they know whom they have to thank for their continued survival and dominance. You also monitor your arousal given the ministrations of your slave. A few small movements on your part communicate to your citizens what is happening without being too obvious. Free Cities business etiquette respects business conducted while being subtly serviced (and your doing so during such a public and important broadcast signals how seriously you are taking it), but a climax would be seen as a serious lack of discipline. + + <br><br>You finally wrap up your speech, declaring yourself Marshal of the newly-formed <<textbox "$SF.Lower" $SF.Lower>> + + <br><br>You close the link to the communication system and read a message from your assistant that appeared during the last moments of your address. In consultation with major figures in the mercenary community, a suitable candidate for day-to-day command of the new unit has been found. Your instructions were to keep you in the dark about them so as to avoid prejudgment. They are waiting outside your office. + + <br><br>[[Invite them inside|Security Force Naming-Colonel][$NamingColonel = 1]] +<</if>> +<<if $NamingColonel === 1>> + The figure that enters is not what you were expecting, given your previous experiences with the mercenary groups that work with the arcology owners of the Free Cities. Most mercenaries you've worked with have been grizzled stout men, veterans of the Old World militaries that finally had too much and went private. Instead, a woman walks in. + <<if $SFColonel.Core == "">> + She strikes you as someone who is likely to be: + <br><br>[[Kind|Security Force Naming-Colonel][$SFColonel.Core = "kind"]] + <br>[[Cruel and psychopathic|Security Force Naming-Colonel][$SFColonel.Core = "cruel"]] + <br>[[A brazen warmonger|Security Force Naming-Colonel][$SFColonel.Core = "brazen"]] + <br>[[Jaded|Security Force Naming-Colonel][$SFColonel.Core = "jaded"]] + <br>[[Shell-shocked|Security Force Naming-Colonel][$SFColonel.Core = "shell shocked"]] + <</if>> + <<if $SFColonel.Core !== "">> + She is likely to be ''$SFColonel.Core''. + <br><br>She strides in, stopping in front of your desk, + <<switch $SFColonel.Core>> + <<case "kind">> + pulling off a laid-back salute with an easy grin. + <<case "cruel">> + her eyes flashing a hard glare in an instant before quickly softening into those of someone who wants something you have. + <<case "brazen">> + snapping off a textbook salute that decades of hard service grills into a veteran. + <<default>> + not bothering to put on even the semi-military air (complete with salute) that most mercenaries tend to adopt when meeting new clients. + <</switch>> + She is very tall and wearing the pants, boots, gloves, and the tank top undershirt of a standard female combat uniform. Her bare arms and upper body are corded with muscle, and through the tank top's thin fabric you can see both the shape of her muscled abdomen and the curves of her small but perky breasts, complete with what your experience tells you are barbell nipple piercings. Her eyes are alive with intelligence, and you can see her scanning your office, clearly impressed by its opulence. Her hair is shaved close to the scalp, and her ears and nose are heavily pierced. You can make out three long, ugly scars running over top of the mottled tissue of a previous, severe burn along one side of her face, as well as numerous smaller scars and burns on her bare arms. She's been disarmed prior to meeting you; the pistol holster on her hip lies empty, as do at least three knife holsters about her person. + + <br><br>Returning your gaze to her face, she crosses her arms underneath her chest, pressing her breasts up and forward. You have her measure. Given the generally patriarchal nature of both the mercenary community, and the same nature combined with the heavily sexualized lifestyle of the Free Cities, she's decided to embrace her position rather than fight it. + + <br><br>"So," she begins, "you're the boss." You invite her to sit down. "No thanks, boss. Besides," + <<switch $SFColonel.Core>> + <<case "kind">> + she playfully + <<case "shell shocked">> + she uncomfortably + <<default>> + she + <</switch>> + indicates the slave under your desk, "you look a little occupied." She nods at the camera across from you. "Saw the speech. Very nice. I'd heard you crazy bastards do business while getting + <<if $PC.dick == 1>> + sucked off, + <<else>> + eaten out, + <</if>> + but I've never seen anyone actually do it. Hell, most of you people don't want to have to have too much to do with a merc like me. I usually get my instructions remotely." + <<switch $SFColonel.Core>> + <<case "jaded" "brazen">> + A short, harsh laugh escapes her. "But I guess it keeps you focused. Can't have the entire arcology seeing you cum." + <<case "kind">> + She grins. "That kind of thing doesn't really bother me though." + <<case "cruel">> + She frowns. "The client always seems to be happier that way." + <</switch>> + <br><br>She moves a step closer. "Your computer-helper-thing told me you wanted me to be a surprise, so I guess I'll tell you why you want me to run the $SF.Lower for you. I'm a killer, pure and simple,<<if $SFColonel.Core === "cruel">>" she smiles, "<</if>>and you need that. I looked into those attacks you've suffered. Nasty business. I'll make sure that an attack like that never happens again. I was a soldier out there, in charge of about a thousand men when the Free Cities first started going up, and I knew they were the future. Eventually I deserted, found the first refugee convoy I could, killed the moron protecting it, sold the girls off to slavers, and bought enough gear to start killing for people like you. Ran my own merc crew, did well till we tried to take on a bigger one and everyone died." + <<switch $SFColonel.Core>> + <<case "shell shocked">> + She looks away, caught in her own memories. It takes a solid minute before she starts again. + <<case "cruel">> + Her smile grows. + <<default>> + She pauses for a moment. + <</switch>> + "Joined with another big outfit, became the number two, then shit went bad and I had to run. Been a solo fighter and slaver ever since. I know my work, and I know I can make this work." + + <br><br>You feel your climax approaching and hold up a finger. The merc pauses while you + <<if $PC.dick == 1>> + grab the slave's head, forcing your cock roughly down her throat while you cum. She swallows as much as she can before pulling away, coughing. + <<else>> + grip the slave's head tightly with your thighs, pressing her face tightly against your pussy as you cum. When you release her, she pulls away, coughing. + <</if>> + + <br><br> + <<if $SFColonel.Core === "shell shocked">> + The merc looks away again, letting the girl settle down before continuing. + <<else>> + The merc laughs again. "I could get used to a place like this." + <</if>> + She waves her hand around the office. "I bet you want to know why I'd be trustworthy for something like this." You don't correct her. "Thought so." Her demeanor softens, and you can detect a hit of nervousness. "I would say that I've never turned on a client and leave it at that, but this is different. It's getting worse out there. I'm sure you know that." You give her a slight nod. "Four times now I've woken up in the middle of the night and had to kill someone.<<if $SFColonel.Core === "shell shocked">>"<<else>> Two of them were the people I'd taken to bed. You can't even trust your drunken fucks anymore. + <<switch $SFColonel.Core>> + <<case "kind">> + It's a shame, but that's the world we live in." + <<case "cruel">> + Then again, who doesn't like a good hard fuck and stab?" + <<default>> + But what else is new?" + <</switch>><</if>> + + <br><br> + <<if $SFColonel.Core === "jaded" || $SFColonel.Core === "shell shocked">> + "All I know how to do at this point is fight, and that's kept me alive this far. + <<else>> + "I like fighting, but I want to live somewhere where I can relax from life out there. + <</if>> + You give me the job and a place to live, let me hang up the uncertainty of being a merc, and I'll die for you if it comes to that. I promise the people I recruit will feel the same. Besides," she grins, "I could get used to + <<switch $SFColonel.Core>> + <<case "brazen">> + crushing any enemy that looks our way." + <<case "cruel">> + having my own stable to abuse as I see fit. A terrified little slavegirl locked between my legs, struggling to breathe?" + <<default>> + spending my R&R time with a cold beer in one hand, a few lines of coke or a stack of pills in front of me." + <</switch>> + A glint runs through her eyes. "Sounds like a good fucking time." + + <br><br>You quickly decide she'll do. You tap a few commands on your desk's console, assigning her personal quarters on the arcology's higher levels and transferring her first stipend to her new account. You also ask her what title she wants. + + <br><br>"Title?" Another short laugh. "I guess I do need one, given that I'm all official and shit now." She thinks for a moment. "I was a major before I went freelance, and I think I'd like a promotion. Colonel sounds good." You make a note of this in her file. "You people don't seal contracts with a fuck do you?" Reassuring her you don't, she laughs again. "Good. I make it a point never to fuck the boss. It's bad for business." She turns around. "Well, I guess I'd better get to it. Your helper-thing assigned me space on the lower levels for the firebase. I brought a few squads of guys I know from the old days to start, but we'll grow fast once I put the word out, I guarantee it." + + <br><br>[[Let her leave|Security Force Naming-Colonel][$NamingColonel = 2]] + <</if>> +<</if>> +<<if $NamingColonel === 2>> + <<set $nextLink = "Next Week",$nextButton = "Continue">> <<unset $NamingColonel>> + She turns and leaves, and you chase the slave out after her. A few minutes later, a soft chime announces the arrival of a message. It's from the Colonel. + + <br><br>//Hey boss, just wanted to mention something else. In your speech you said that you were going to be paying for $SF.Lower. In my mind that means it's yours, no matter what anyone else here might think. I do what you tell me to do. I make sure the troops behave as you want them to behave. I've worked for some 'nice guys' in the past, and I can do that job if you want. It's boring, but sustainable, and I'll have the $SF.Lower turning a profit and supporting the arcology in good order. But if you let me <<if $SFColonel.Core === "cruel">>off the leash<<else>>do what I do<</if>> and throw any Old World complaints in the trash where they belong, I promise you'll have money pouring into your coffers, even accounting for the good amounts me and my boys will pocket along the way. You'll have an empire in short order. + <<if $mercenaries > 1>> + Either way, I'll keep my hands off those mercs you've already installed. I figure that you've reasons for having two different death squads under contract. + <</if>> + + <br><br>Oh, one last thing. I know you've got some kind of grand social experiment going on up there like all the other arco owners, and that's your own deal, but I'd appreciate it if you could keep that stuff out of the new barracks. I'll have a hard time approaching potential recruits and telling them they should come live in a Roman apartment, an Egyptian temple, a goddamn Japanese teahouse, or some of the other crazy shit I've seen in the past. They're hard, nasty people, and trust me, I can tell you from experience that changing that is just not going to happen. Like I said, though, I can hold them back a bit if you like. + + <br><br>Talk to you later, boss.// <<set $SF.Active = 2>> +<</if>> diff --git a/src/pregmod/SecForceEX/Proposal.tw b/src/pregmod/SecForceEX/Proposal.tw new file mode 100644 index 0000000000000000000000000000000000000000..741fb89491788f09589c74c3f07e05a53f8186e4 --- /dev/null +++ b/src/pregmod/SecForceEX/Proposal.tw @@ -0,0 +1,43 @@ +:: Security Force Proposal [nobr] +<<if $SF.Active === -1>> + <span id="result"> + + The Free Cities were founded on the principles of unrestrained anarcho-capitalism. To those with such beliefs, the very idea of possessing an armed force, a key tool of government control, or weapons at all, was anathema. + + <br><br>In the period since, however, your citizens have seen the value in weaponry. They watched on their news-feed as some Free Cities were sacked by the armies and mobs of the Old World, driven by their hatred of the citizens' luxurious lifestyles. They've seen other Cities toppled from within, by slave conspiracies or infighting among citizen groupings with differing beliefs. They've witnessed the distressingly rapid rise of fanatical anti-slavery organizations, who would like nothing more than to see them slowly bled by their own chattel. They are learned people, and they know what happens to slaveowners who lose their power. + + <br><br>They've also seen the results of your policies. Your actions towards the arming of both yourself and the arcology proved critical, and ensured their safety when the Old World came for them. And your victory over the Daughters of Liberty, who the citizens know would have executed every single one of them, has created an opportunity. If you insisted upon the creation of a standing 'special' force for the arcology, many would support you and, more importantly, nobody of note would object. + + <br><br>Such a force would solve many problems. More soldiers would mean more control, which is very good for you. More soldiers would mean more security for the arcology and the approaches to it, which is very good for business. More soldiers would mean more obedience from rebellious slaves who can see how powerless they truly are, which is very good for everybody. The force would be tiny compared to the Old World militaries that still exist, but money and technology can, of course, overcome massive numerical inferiority. This being the Free Cities, they would have other uses besides security. Perhaps, in time, you could exert some manner of influence on the Old World itself. + + <br><br>''This is a unique and very important opportunity'', and is possible only because of your recent victory over the Daughters. If you do not seize it, the memories and fears of your citizens will fade,and you will not be able to raise the matter again. + + <<set _price = 20000>> <<if $PC.warfare >= 100>> <<set _price = _price/2>> + <<elseif $PC.warfare >= 50||$PC.career === "arcology owner">> + <<set _price = _price/1.5>> <</if>> + <br><<link "Prepare for an announcement.""Security Force Proposal">> <<replace "#result">> + + You instruct $assistantName to announce to the arcology's citizenry that you will be making an important announcement in the near future regarding the security situation. Given the damage still present from the Daughters' attack, everyone will be tuning in. You also instruct your assistant to begin quietly investigating potential leadership figures for the force itself. + + <<run Object.assign($SF, {Active:1, Depravity:0, Units:0, MWU:0, U:0, WG:0, SpecOps:0, SpecOpsLock:0, + ROE:"hold", Target:"recruit", Regs:"strict", Caps:"The Special Force", + Lower:"the special force", Subsidy:1})>> <<set $cash -= _price>> + <<set $SFUnit = Object.assign({}, $SFUnit, {Troops:40, Armoury:0, Firebase:0, AV:0, TV:0, Drones:0, + Drugs:0, PGT:0, AA:0, AT:0, SpacePlane:0, GunS:0, Satellite:0, GiantRobot:0, MissileSilo:0, + AircraftCarrier:0, Sub:0, HAT:0})>> <<set $arcologies[0].SFRaid = 1,$arcologies[0].SFRaidTarget = -1>> + <<set $SFColonel = Object.assign({}, $SFColonel, {Core:"", Talk:0, Fun:0, Status:0})>> + <<set $SFTradeShow = Object.assign({}, $SFTradeShow, {History:0, CanAttend:0, + Income:0, Revenue:0, Helots:0, TotalHelots:0, Mercs:0, TotalMercs:0})>> + <<set $SatLaunched = 0>> + <</replace>> <</link>><br>//Initial costs are @@.yellowgreen;<<print cashFormat(_price)>>@@ and upon establishment the force will have significant support costs until it is self-sufficient.// + + <br><<link "The current measures are enough.""Next Week">> <<replace "#result">> <<run Object.assign(, $SF, {Active:0})>> <</replace>> <</link>> </span> +<<elseif $SF.Active === 1>> + <<include "Security Force Naming-Colonel">> +<<elseif $SF.Active >= 1 && passage() === "New Game Plus">> + <<run Object.assign($SF, {Active:-1, Depravity:0, Units:0, MWU:0, U:0, WG:0, SpecOps:0, SpecOpsLock:0, ROE:"hold", Target:"recruit", Regs:"strict", Caps:"The Special Force", Lower:"the special force", Subsidy:1})>> + <<set $SFUnit = Object.assign({}, $SFUnit, {Troops:40, Armoury:0, Firebase:0, AV:0, TV:0, Drones:0, Drugs:0, PGT:0, AA:0, TA:0, SpacePlane:0, GunS:0, Satellite:0, GiantRobot:0, MissileSilo:0, AircraftCarrier:0, Sub:0, HAT:0})>> + <<set $SatLaunched = 0>> + <<set $arcologies[0].SFRaid = 1,$arcologies[0].SFRaidTarget = -1>> <<set $SFColonel = Object.assign({}, $SFColonel, {Core:"", Talk:0, Fun:0, Status:0})>> + <<set $SFTradeShow = Object.assign({}, $SFTradeShow, {History:0, CanAttend:0, Income:0, Revenue:0, Helots:0, TotalHelots:0, Mercs:0, TotalMercs:0})>> +<</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/Report.tw b/src/pregmod/SecForceEX/Report.tw new file mode 100644 index 0000000000000000000000000000000000000000..49899d18fb3e97f8105dbdabcb4c62181d663eea --- /dev/null +++ b/src/pregmod/SecForceEX/Report.tw @@ -0,0 +1,407 @@ +:: SF_Report [nobr] + + <<silently>> <<= Count()>> + + <<if $SFUnit.Troops > 2000>> <<set $SFUnit.Troops = random(1955,1999)>> <</if>> + + <<if $SFUnit.Troops < 100>> <<set $SFUnit.Troops += Math.ceil(random(2,5))>> + + <<elseif $SFUnit.Troops < 2000>> + + <<if $SF.Target == "recruit">> + + <<set $SFUnit.Troops += Math.ceil(random(-1*$SFUnit.Troops/100,0))>> + + <<elseif $SF.Target == "raiding">> + + <<set $SFUnit.Troops += Math.ceil(random(-3*$SFUnit.Troops/100,-4*$SFUnit.Troops/100))>> + + <<else>> + + <<set $SFUnit.Troops += Math.ceil(random(-2*$SFUnit.Troops/100,-3*$SFUnit.Troops/100))>> + + <</if>> + + <</if>> + + <<set _Income = 50000,_Profit = 0,_ME = 1,_FNGs = 10,_Trade = 0.025>> + + <<if $SF.SpecOps > 0>> + + <<if $SF.SpecOps === 1>> <<set $SFUC = Math.ceil($SFUnit.Troops*.1),$SFUnit.Troops-$SFUC>> + + <<else>> <<set $SFUC = Math.ceil($SFUnit.Troops*.25),$SFUnit.Troops-$SFUC>> <</if>> + + <</if>> + + <<if $SFUnit.Troops > 200>> <<set _Trade += 0.05*(Math.ceil($SFUnit.Troops/100))>> + + <<set _Income += 5000*(Math.ceil($SFUnit.Troops/100))>> + + <<if $secExp > 0>> + + <<set $authority += 500*(Math.ceil($SFUnit.Troops/100)),$authority = Math.clamp($authority, 0, 20000)>> + + <</if>> + + <</if>> + + + + <<if $SFUnit.Firebase > 0>> + + <<set _FNGs += $SFUnit.Firebase,_Trade += 0.5*$SFUnit.Firebase,_ME *= 1+($SFUnit.Firebase)>> + + <</if>> + + <<if $SFUnit.Armoury > 0>> + + <<set _FNGs += ($SFUnit.Armoury*2),_Trade += 0.25*$SFUnit.Armoury,_ME *= 1+($SFUnit.Armoury)>> + + <</if>> + + <<if $SFUnit.Drugs > 0>> + + <<set _FNGs += $SFUnit.Drugs,_Trade += 0.25*$SFUnit.Drugs,_ME *= 1+($SFUnit.Drugs)>> + + <</if>> + + <<if $SFUnit.Firebase >= 1>> + + <<if $SFUnit.AV > 0>> + + <<set _FNGs += $SFUnit.AV,_Trade += 0.25*$SFUnit.AV,_ME *= 1+($SFUnit.AV)>> + + <</if>> + + <<if $SFUnit.TV > 0>> + + <<set _FNGs += $SFUnit.TV,_Trade += 0.25*$SFUnit.TV,_ME *= 1+($SFUnit.TV)>> + + <</if>> + + <<if $SFUnit.PGT > 0>> + + <<set _Trade += 0.25*($SFUnit.PGT),_ME *= 1+($SFUnit.PGT)>> + + <</if>> + + <</if>> + + <<if $SFUnit.Firebase >= 2 && $SFUnit.Drones > 0>> + + <<set _FNGs += $SFUnit.Drones,_Trade += 0.5*$SFUnit.Drones,_ME *= 1+($SFUnit.Drones)>> + + <</if>> + + + + <<if $SFUnit.Firebase >= 4>> + + <<if $SFUnit.AA > 0>> + + <<set _FNGs += $SFUnit.AA,_Trade += 0.25*$SFUnit.AA,_ME *= 1+($SFUnit.AA)>> + + <</if>> + + <<if $SFUnit.TA > 0>> + + <<set _FNGs += $SFUnit.TA,_Trade += 0.25*$SFUnit.TA,_ME *= 1+($SFUnit.TA)>> + + <</if>> + + <<if $SFUnit.SpacePlane > 0>> + + <<set _FNGs += $SFUnit.SpacePlane,_Trade += 0.25*$SFUnit.SpacePlane,_ME *= 1+($SFUnit.SpacePlane)>> + + <</if>> + + <<if $SFUnit.GunS > 0>> + + <<set _FNGs += $SFUnit.GunS,_Trade += 0.25*$SFUnit.GunS,_ME *= 1+($SFUnit.GunS)>> + + <</if>> + + <<if $SFUnit.Satellite > 0>> + + <<set _FNGs += $SFUnit.Satellite,_Trade += 0.25*$SFUnit.Satellite,_ME *= 1+($SFUnit.Satellite)>> + + <</if>> + + <<if $SFUnit.GiantRobot > 0>> + + <<set _FNGs += SF.GiantRobot,_Trade += 0.25*$SFUnit.GiantRobot,_ME *= 1+($SFUnit.GiantRobot)>> + + <</if>> + + <<if $SFUnit.MissileSilo > 0>> + + <<set _Trade += 0.25*$SFUnit.MissileSilo,_ME *= 1+($SFUnit.MissileSilo)>> + + <</if>> + + <</if>> + + + + <<if $SFUnit.AircraftCarrier > 0>> + + <<set _FNGs += $SFUnit.AircraftCarrier,_Trade += 0.25*$SFUnit.AircraftCarrier,_ME *= 1+($SFUnit.AircraftCarrier)>> + + <</if>> + + <<if $SFUnit.Sub > 0>> + + <<set _FNGs += $SFUnit.Sub,_Trade += 0.25*$SFUnit.Sub,_ME *= 1+($SFUnit.Sub)>> + + <</if>> + + <<if $SFUnit.HAT > 0>> + + <<set _Trade += 0.25*$SFUnit.HAT,_ME *= 1+($SFUnit.HAT)>> + + <</if>> + + + + <<if $SFColonel.Fun > 0>> <<set _ME *= 1+($SFColonel.Fun)>> <</if>> + + <<if $SFTradeShow.History > 0>> <<set _ME *= 1+($SFTradeShow.History)>> <</if>> + + <<if $LieutenantColonel == 1>> <<set _ME *= 1+($LieutenantColonel)>> <</if>> + + + + <<set _SFD = $SF.Depravity>> + + <<switch $SFColonel.Core>> <<case "kind" "collected.">> + + <<set _FNGs += 10,_Trade += 0.15,_SFD -= 0.15>> + + <<case "warmonger" "cruel" "psychopathic">> + + <<set _ME *= 1.15,_Trade -= 0.15,_SFD += 0.15>> + + <</switch>> + + <<if $SF.Target == "raiding">> <<set _SFD += 0.05>> + + <<elseif $SF.Target == "secure">> <<set _SFD -= 0.05>> <</if>> + + <<if $SF.ROE == "free">> <<set _ME *= .95,_SFD += 0.05,_Trade += _Trade*.95>> + + <<elseif $SF.ROE == "hold">> <<set _ME *= 1.05,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> + + <<if $SF.Regs == "none">> <<set _ME *= .95,_SFD += 0.05,_Trade += _Trade*.95>> + + <<elseif $SF.Regs == "strict">> <<set _ME *= 1.05,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> + + <<if _SFD != 0>> + + <<if _SFD < 0>> <<set _ef0 = _SFD*10,_ef1 = 1-(_SFD/10)>> + + <<elseif _SFD > 0>> <<set _ef0 = 1-(_SFD/10),_ef1 = _SFD*10>> <</if>> + + <<set _Trade += _Trade*(_ef0),_Income += _Income*(_ef1)>> <</if>> + + + + <<if $SF.Target == "recruit">> <<set _FNGs += Math.ceil((_FNGs)*.95)>> + + <<else>> <<set _FNGs += Math.ceil((_FNGs)*.25)>> <</if>> + + <<if $SF.Target == "secure">> <<set $rep += Math.ceil($rep*((_Trade/100)*.95))>> + + <<set $arcologies[0].prosperity = Math.ceil(($arcologies[0].prosperity+(_Trade/10)*.95))>> + + <<else>> <<set $rep += Math.ceil($rep*((_Trade/100)*.25))>> + + <<set $arcologies[0].prosperity = Math.ceil(($arcologies[0].prosperity+(_Trade/10)*.25))>> + + <</if>> + + <<if $secExp > 0>> <<set $authority += $SF.Units*10,$authority = Math.clamp($authority, 0, 20000)>> <</if>> + + + + <<set _Income += _ME*(1+($week/10)),$SFUnit.Troops += Math.round(_FNGs/2)>> + + <<if $SFUnit.Troops > 2000>> <<set $SFUnit.Troops = random(1955,1999)>> <</if>> + + <<if $rep > 20000>> <<set $rep = 20000>> <</if>> + + <<if $arcologies[0].prosperity > $AProsperityCap>> + + <<set $arcologies[0].prosperity = $AProsperityCap>> <</if>> + + <<if _Income >= 90000>> <<set _Profitable = 1,$SF.Subsidy = 0>> + + <<if $SF.Target == "raiding">> <<set _Profit = Math.ceil(_Income*1.95)>> <<else>> + + <<set _Profit = Math.ceil(_Income*1.25)>> <</if>> + + <<set $cash += _Profit>> + + <<else>> <<set _Profitable = 0>> <</if>> + + + + <<if $SFUnit.Drugs >= 8 || $SFUnit.Drugs >= 10>> <<set _Deaths = 0,_SurvivalChance = 50>> + + <<if $SFUnit.Drugs >= 8>> <<set _SurvivalChance -= 5>> <<elseif $SFUnit.Drugs >= 10>> + + <<set _SurvivalChance += 5>> <</if>> + + <<if random(0,100) > _SurvivalChance>> + + <<set _Deaths = random(0,(($SFUnit.Drugs*2)+4))>> <</if>> + + <<if _Deaths > 0>> <<set $SFUnit.Troops -= _Deaths>> <</if>> + + <</if>> <</silently>>__Status and Activities of $SF.Lower __: + + <br>This week, $SF.Lower, <<print commaNum($SFUnit.Troops)>> strong, focused on + + <<if $SF.Target == "recruit">> + + recruiting and training more personnel. Smaller parties ventured out to protect the arcology's trade routes and strike targets of opportunity. + + <<elseif $SF.Target == "secure">> + + securing the trade routes between the arcology and the surrounding area. Smaller parties ventured out to strike targets of opportunity and process new recruits. + + <<elseif $SF.Target == "raiding">> + + locating and striking targets of opportunity, capturing both material loot and new slaves. Smaller parties secured the most important of the arcology's trade routes and processed new recruits. + + <</if>> + + <<if $SF.SpecOps > 0>> <br>A <<if $SF.SpecOps <2>>small<<else>>large<</if>> portion of the force was assigned as <<if $SF.SpecOps <2>>part<<else>>full<</if>> time undercover officers.<</if>> + + + + <<if _Deaths > 0>> + + <<print (_Deaths)>> soldiers fatally overdosed on the drug cocktail + + <<if $SFTradeShow.CanAttend === -1>> + + , The Colonel's much heavier than average drug use saves her from this side effect + + <</if>>. + + <</if>> + + These activities have, overall, @@.green;improved@@ your arcology's prosperity. + + The goods procured by the $SF.Lower this week, after accounting for the spoils retained by individual soldiers were + + <<if _Profitable>> + + , @@.green;more than sufficient@@ to cover expenses. Excess material and human asets totaling @@.yellowgreen;<<print cashFormat(_Profit)>>@@ (after liquidation) were transferred to your accounts. + + <<else>> + + , @@.red;barely enough@@ to cover expenses. More growth will be needed to ensure profitability. + + <</if>> + + $SF.Caps managed to recruit <<print Math.round(_FNGs/2)>> new soldiers this week, and your reputation has @@.green;increased@@ through the improvement of trade security. + + + + <br> //Your instructions to <<print SFC()>>:// + + <br> Deployment focus: + + <span id="focus"> <<if $SF.Target == "recruit">> ''Recruiting and Training'' + + <<elseif $SF.Target == "secure">> ''Securing Trade Routes'' + + <<else>> ''Raiding and Slaving'' <</if>> </span> . + + <<link "Recruit and Train">> <<set $SF.Target = "recruit">> + + <<replace "#focus">> ''Recruiting and Training'' <</replace>> <</link>> + + | <<link "Secure Trade Routes">> <<set $SF.Target = "secure">> + + <<replace "#focus">> ''Securing Trade Routes'' <</replace>> <</link>> + + | <<link "Raiding and Slaving">> <<set $SF.Target = "raiding">> + + <<replace "#focus">> ''Raiding and Slaving'' <</replace>> <</link>> + + <br> Rules of Engagement: + + <span id="roe"> <<if $SF.ROE === "hold">> ''Hold Fire'' + + <<elseif $SF.ROE === "limited">> ''Limited Fire'' <<else>> ''Free Fire'' <</if>> + + </span>. + + <<link "Hold Fire">> <<set $SF.ROE = "hold">> <<replace "#roe">> ''Hold Fire'' + + <</replace>> <</link>> + + | <<link "Limited Fire">> <<set $SF.ROE = "limited">> <<replace "#roe">> + + 'Limited Fire'' <</replace>> <</link>> + + | <<link "Free Fire">> <<set $SF.ROE = "free">> <<replace "#roe">> ''Free Fire'' + + <</replace>> <</link>> + + <br> Accountability: + + <span id="accountability"> <<if $SF.Regs === "strict">> ''Strict Accountability'' + + <<elseif $SF.Regs === "some">> ''Some Accountability'' <<else>> + + ''No Accountability'' <</if>> </span>. + + <<link "Strict Accountability">> <<set $SF.Regs = "strict">> + + <<replace "#accountability">> ''Strict Accountability'' <</replace>> <</link>> + + | <<link "Some Accountability">> <<set $SF.Regs = "some">> + + <<replace "#accountability">> ''Some Accountability'' <</replace>> <</link>> + + | <<link "No Accountability">> <<set $SF.Regs = "none">> + + <<replace "#accountability">> ''No Accountability'' <</replace>> <</link>> + + <<if $SFTradeShow.View > 0 && $SFTradeShow.CanAttend === 1>> <br>''Merc Meetup'': + + <<set $SFTradeShow.Income = 0,$SFTradeShow.Helots = 0>> + + <<set _TradeShowAttendes = 200,_MenialSlavesPerAttendee = 5>> + + <<set _MenialSlaves = Math.ceil(random(1,((_TradeShowAttendes*_MenialSlavesPerAttendee)/10)))>> + + <<set _TSProfit = Math.ceil(500000*(1+($SF.Units/1000))*(1+($arcologies[0].prosperity/1000))*_Env)>> + + The Colonel managed to sell some of your more minor schematics to the _TradeShowAttendes attendees. She even managed to win some menial slaves in the big poker game.<br> + + <<set $helots = $helots+_MenialSlaves>> + + <<set $SFTradeShow.Helots += _MenialSlaves,$SFTradeShow.TotalHelots += _MenialSlaves>> + + <<set $cash = $cash+_TSProfit,$SFTradeShow.Income += _TSProfit>> + + <<set $SFTradeShow.Revenue += _TSProfit>> + + <<if $secExp > 0 && $mercenaries > 0>> <<set $SFTradeShow.Mercs = 0>> + + <<set _NewMercs = random(1,(_TradeShowAttendes/10))>> + + <<set $mercFreeManpower += _NewMercs,$SFTradeShow.TotalMercs += _NewMercs>> + + <<set $SFTradeShow.Mercs += _NewMercs>> + + <</if>> <<set $SFTradeShow.History += 1>> + + <</if>> <<include "FlavourText">> <<if $SF.SpecOps === 1 && !$SF.SpecOpsLock>> <<set $SF.SpecOps = 0>> <</if>> + + <<set $SF.U = 0,$SF.WG = 0,$SFColonel.Talk = 0,$SFColonel.Fun = 0>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw b/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw deleted file mode 100644 index c0f6aecc27076a96b4a119d79fd21e1fc26da5f9..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw +++ /dev/null @@ -1,322 +0,0 @@ -:: SpecialForceBarracksAdditionalColonelInteractions [nobr] - -<<if $securityForceColonelToken == 0 && $securityForceSexedColonelToken == 0 && $CurrentTradeShowAttendance == 0>> - <br><br> - <span id="result3"> - Where do you want to spend time with The Colonel this week? - <<if $ColonelRelationship >= 25>> - <br><<link "Up on the surface, along with an escort of course.">> - <<set $securityForceColonelToken = 1>> - <<replace "#result3">> - You ask The Colonel if she would like to stretch her legs up on the surface. It doesn't take much effort for her to agree. - <<if $PC.warfare < 10>> - <br>Your complete lack of skill at warfare ensures that <<if $Bodyguard != 0>>in addition to $Bodyguard.slaveName, <</if>>you need; two full squads of $securityForceName on foot, a squadron of fighters, a small convoy of $securityForceName's ground vehicles. - <<elseif $PC.warfare >= 100 && $PC.career == "mercenary">> - <br>Your mastery of wet work and prior experience in a PMC satisfies The Colonel that you only need one soldier and a single vehicle<<if $Bodyguard != 0>> plus $Bodyguard.slaveName<</if>>. Being able to see and interact with the arcology owner even more directly if they so wish boosts the mood of your citizen's while also giving them an increased opportunity to try gaining favor with you. - <<set $rep += 10, $cash += $EnvCash2>> - <<elseif $PC.warfare >= 100>> - <br>Your mastery of wet work satisfies The Colonel that you only need two soldiers and a single vehicle<<if $Bodyguard != 0>> plus $Bodyguard.slaveName<</if>>. Being able to see and interact with the arcology owner directly if they so wish boosts the mood of your citizens while also giving them the opportunity to try gaining favor with you. - <<set $rep += 5, $cash += $EnvCash3>> - <<elseif $PC.warfare >= 60>> - <br>Your expertise in warfare means that <<if $Bodyguard != 0>>in addition to $Bodyguard.slaveName <</if>>you need; two full squads of $securityForceName on foot, a squadron of fighters and a large convoy of $securityForceName's ground vehicles. - <<elseif $PC.warfare >= 30>> - <br>As you have some skill in warfare, you only need<<if $Bodyguard != 0>> in addition to $Bodyguard.slaveName<</if>>; two full squads of $securityForceName on foot, a squadron of fighters, a small convoy of $securityForceName's ground vehicles. - <<elseif $PC.warfare >= 10>> - <br>Your F.N.G. tier skill in warfare ensures that <<if $Bodyguard != 0>>in addition to $Bodyguard.slaveName, <</if>>you need; two full squads of $securityForceName on foot, a squadron of fighters, a small convoy of $securityForceName's ground vehicles. - <</if>> - <<if $arcologies[0].FSPaternalist != "unset">> - Stopping at a paternalist shop, you help The Colonel select some luxurious and relaxing treatments for her main slave. - <<if $PC.slaving < 10>> - Your total lack of slavery skill (which is very unusual and very concerning for an arcology owner) means that you are of little to no help or even a hindrance. - <<elseif $PC.slaving >= 100>> - Your mastery of slaving allows you assist The Colonel greatly. However the shop owner is so impressed by your understanding of slavery that she is more than happy for an endorsement from you. As you are exiting the shop you hear your pre-recorded message which bears the slogan "This is (<<if def $PC.customTitle>>$PC.customTitle <</if>> <<= PlayerName()>>) and this is my favorite Paternalist shop in $arcologies[0].name." - <<if $arcologies[0].prosperity < 20>> - <<set $arcologies[0].prosperity++>> - <</if>> - <<elseif $PC.slaving >= 60>> - Your expertise in slavery allows you to be more useful. - <<elseif $PC.slaving >= 30>> - Possessing some skill, you are slightly helpful. - <<elseif $PC.slaving >= 10>> - Your basic skill at slavery, allows you to neither be a hindrance or helpful. - <</if>> - <<else>> - Stopping at a shop. - <</if>> - <br>Soon the entourage heads back to the HQ of $securityForceName. Along the route you see a homeless citizen in great pain. - <<if $PC.medicine < 10>> - Your total lack of medical skill causes the death of the citizen. - <<set $arcologies[0].prosperity -= .25>> - <<elseif $PC.medicine >= 100 && $PC.career == "medicine">> - Your expertise in medicine ensures that the citizen is probably the best they have ever been. They are so grateful that they are more than happy to try and compensate your time. Word quickly spreads of the kindly medically trained arcology owner who took the time to heal a citizen, providing confidence to the rest of the citizens. - <<set $rep += 10, $cash += $EnvCash4>> - <<elseif $PC.medicine >= 100>> - Your expertise in medicine ensures that the citizen is probably the best they have ever been. Word quickly spreads of the kindly arcology owner who took the time to heal a citizen. - <<set $rep += 5>> - <<elseif $PC.medicine >= 60>> - Your mastery of medicine ensures that the citizen's condition is noticeably better. - <<elseif $PC.medicine >= 30>> - Your moderate skill in medicine ensures that the citizen's condition ever so slightly improves. - <<elseif $PC.medicine >= 10>> - Your basic skill in medicine is sufficient only to stabilize the citizen. - <</if>> - <<set $ColonelRelationship += 2>> - <</replace>> - <</link>> - <</if>> - - <br><<link "In the HQ of $securityForceName.">> - <<replace "#result3">> - <span id="result10"> - What do you want to do with The Colonel in the HQ of $securityForceName? - <<link "Go back">> - <<goto "SFM Barracks">> - <<set $securityForceColonelToken = 0>> - <</link>> - <br><<link "Learn">> - <<replace "#result10">> - <<set $securityForceColonelToken = 1, $ColonelRelationship += 1>> - <<link "Go back">> - <<goto "SFM Barracks">> - <<set $securityForceColonelToken = 0>> - <</link>> - <br>"Sure, boss." she says, nodding. "I can use a break from all of this." She laughs. - She can try teaching you a bit about; - <span id="result4"> - <<link "field medicine">> - <<set $PC.medicine += 4>> - <<replace "#result4">> - <br> - <<if $PC.medicine < 10>> - //Hopefully now, you are less likely to cut yourself on the sharp things.// - <<elseif $PC.medicine >= 100>> - //Feel free to play 'doctor' with me any time.// - <<elseif $PC.medicine >= 60>> - //Feel free to apply 'pressure' anywhere.// - <<elseif $PC.medicine >= 30>> - //Yes that is how you use a tourniquet, good job.// - <<elseif $PC.medicine >= 10>> - //Yes that is a bandage, good job.// - <</if>> - <</replace>> - <</link>> - , - <<link "trading">> - <<set $PC.trading += 3>> - <<replace "#result4">> - <br> - <<if $PC.trading < 10>> - //Congratulations you have just passed economics 101, "black and red should balance".// - <<elseif $PC.trading >= 100>>// - //Now let's go crash some markets.// - <<elseif $PC.trading >= 60>>// - //Your auditing skills aren't half bad.// - <<elseif $PC.trading >= 30>>// - //Good, you can now spot numerical errors, most of the time.// - <<elseif $PC.trading >= 10>>// - //Now Good job you now know what NPV stands for.// - <</if>> - <</replace>> - <</link>> - , - <<link "slaving">> - <<set $PC.slaving += 3>> - <<replace "#result4">> - <br> - <<if $PC.slaving < 10>> - //Yes, the rope normally goes around the wrist first and nowhere near the mouth.// - <<elseif $PC.slaving >= 100>> - //Now should we go out and capture some slaves, master?// - <<elseif $PC.slaving >= 60>> - //Feel feel to tie me up any time.// - <<elseif $PC.slaving >= 30>> - //You can finally tie a knot correctly, most of the time anyway.// - <<elseif $PC.slaving >= 10>> - //Yes, having your slaves die on you is generally considered a bad thing, unless you are into that kind of thing you sick fuck. But who am I to judge.// - <</if>> - <</replace>> - <</link>> - , - <<link "combat engineering">> - <<set $PC.engineering += 3>> - <<replace "#result4">> - <br> - <<if $PC.engineering < 10>> - //Good job, you know what a hammer now looks like.// - <<elseif $PC.engineering >= 100>> - //Time to for you go out and build something.// - <<elseif $PC.engineering >= 60>> - //Feel free to 'nail' me any time.// - <<elseif $PC.engineering >= 30>> - //Yes that is the correct hammering position.// - <<elseif $PC.engineering >= 10>> - //Hammer meet nail.// - <</if>> - <</replace>> - <</link>> - , - <<link "hacking">> - <<set $PC.hacking += 3>> - <<replace "#result4">> - <br> - <<if $PC.hacking < 10>> - //Good job you know what pushing the power button does.// - <<elseif $PC.hacking >= 100>> - //Time to for you go out and tinker with a system.// - <<elseif $PC.hacking >= 60>> - //Feel free to 'plug into' me any time.// - <<elseif $PC.hacking >= 30>> - //Correct screw driver holding procedure acquired.// - <<elseif $PC.hacking >= 10>> - //You can now somewhat use a mouse.// - <</if>> - <</replace>> - <</link>> - , - <<link "general skills">> - <<set $PC.engineering + 2>> - <<set $PC.slaving += 2>> - <<set $PC.trading += 2>> - <<set $PC.warfare += 2>> - <<set $PC.medicine += 2>> - <<set $PC.hacking += 2>> - <<replace "#result4">> - //Hopefully this general education I could provide may be of use.// - <</replace>> - <<set $ColonelRelationship += 1>> - <</link>> - or you can <<link "listen to some war stories.">> - <<set $PC.warfare += 5>> - <<replace "#result4">> - <br> - <<if $PC.warfare < 10>> - //There, now you hopefully can hit the broad side of a barn, most of the time. What am I kidding you still suck.// - <<elseif $PC.warfare >= 100>> - //Now why don't you go deal with those dangerous watermelons?// - <<elseif $PC.warfare >= 60>> - //Feel free to shoot at or up me, any time.// - <<elseif $PC.warfare >= 30>> - //Grouping is slightly better.// - <<elseif $PC.warfare >= 10>> - //Slightly better but you still have a long way to go.// - <</if>> - <</replace>> - <</link>> - </span> - <</replace>> - <</link>> - - <<if $ColonelRelationship >= 45>> - <br><<link "Have some fun">> - <<link "Go back">> - <<goto "SFM Barracks">> - <<set $securityForceSexedColonel = 0, $securityForceColonelToken = 0>> - <</link>> - <<replace "#result10">> - <<set $securityForceSexedColonel = 1, $securityForceColonelToken = 1, $ColonelRelationship += 3>> - <span id="result11"> - Where should this fun take place? - <<link "Go back">> - <<goto "SFM Barracks">> - <<set $securityForceSexedColonel = 0, $securityForceColonelToken = 0>> - <</link>> - <br><<link "In private">> - <<replace "#result11">> - <span id="result6"> - Which orifice do you wish to target? - <<link "Go back">> - <<goto "SFM Barracks">> - <</link>> - <br> - <<link "Pussy">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 1>> - <</link>> - - <br><<link "Ass">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 1>> - <</link>> - - <br><<link "Both pussy and ass">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 2>> - <</link>> - - <br><<link "Mouth">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 1>> - <</link>> - - <br><<link "All three holes">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 3>> - <</link>> - </span> - <</replace>> - <</link>> - - <br><<link "On The Colonel's throne.">> - <<replace "#result11">> - <span id="result6"> - Which orifice do you wish to target? - <<link "Go back">> - <<goto "SFM Barracks">> - <<set $securityForceSexedColonel = 0, $securityForceColonelToken = 0>> - <</link>> - <br><<link "Pussy">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 1>> - <</link>> - - <br><<link "Ass">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 1>> - <</link>> - - <br><<link "Both pussy and ass">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 2>> - <</link>> - - <br><<link "Mouth">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 1>> - <</link>> - - <br><<link "All three holes">> - <<replace "#result6">> - <<include "SpecialForceColonelSexDec">> - <</replace>> - <<set $securityForceSexedColonel += 3>> - <</link>> - </span> - <</replace>> - <</link>> - </span> - <</replace>> - <</link>> - <</if>> - </span> - <</replace>> - <</link>> - </span> -<</if>> diff --git a/src/pregmod/SecForceEX/SpecialForceBarracksCheatEdit.tw b/src/pregmod/SecForceEX/SpecialForceBarracksCheatEdit.tw deleted file mode 100644 index 9c1d4a16217b56f1a210f6669f6cf1886f700571..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/SpecialForceBarracksCheatEdit.tw +++ /dev/null @@ -1,77 +0,0 @@ -:: SpecialForceBarracksCheatEdit - -<<set $nextButton = "Back to SF Barracks", $nextLink = "SFM Barracks", $returnTo = "SFM Barracks">> -<<include "SpecialForceUpgradeTree">> -__Values__ -Upgrades: $SFAO/_max - -''Barracks:'' <<textbox "$securityForceArcologyUpgrades" $securityForceArcologyUpgrades "SpecialForceBarracksCheatEdit">> -<br>Max: _BarracksMax - -/* ''SupportFacility:'' <<textbox "$SupportFacility" $SupportFacility "SpecialForceBarracksCheatEdit">> */ - -''Armory:'' <<textbox "$securityForceInfantryPower" $securityForceInfantryPower "SpecialForceBarracksCheatEdit">> -<br>Max: _ArmouryMax - -''Stimulant Lab:'' <<textbox "$securityForceStimulantPower" $securityForceStimulantPower "SpecialForceBarracksCheatEdit">> -<br>Max: _StimulantLabMax - -<<if _Garage > 0 && $securityForceArcologyUpgrades >= 1>> - ''Garage:'' - ''LightAndMedium:'' <<textbox "$securityForceVehiclePower" $securityForceVehiclePower "SpecialForceBarracksCheatEdit">> - <br>Max: _LightAndMediumVehiclesMax - - ''HeavyBattleTank:'' <<textbox "$securityForceHeavyBattleTank" $securityForceHeavyBattleTank "SpecialForceBarracksCheatEdit">> - <br>Max: _HeavyBattleTankMax -<</if>> - -<<if $securityForceArcologyUpgrades >= 4>> - ''Hangar:'' - ''Aircraft:'' <<textbox "$securityForceAircraftPower" $securityForceAircraftPower "SpecialForceBarracksCheatEdit">> - <br>Max: _AircraftMax - - ''Space Plane'': <<textbox "$securityForceSpacePlanePower" $securityForceSpacePlanePower "SpecialForceBarracksCheatEdit">> - <br>Max: _SpacePlaneMax - - ''Fortress Zeppelin:'' <<textbox "$securityForceFortressZeppelin" $securityForceFortressZeppelin "SpecialForceBarracksCheatEdit">> - <br>Max: _FortressZeppelinMax - - ''AC130:'' <<textbox "$securityForceAC130" $securityForceAC130 "SpecialForceBarracksCheatEdit">> - <br>Max: _AC130Max - - ''Heavy Transport:'' <<textbox "$securityForceHeavyTransport" $securityForceHeavyTransport "SpecialForceBarracksCheatEdit">> - <br>Max: _heavyTransportMax -<</if>> - - ''DroneBay:'' <<textbox "$securityForceDronePower" $securityForceDronePower "SpecialForceBarracksCheatEdit">> - <br>Max: _DroneBayMax - -<<if (_LaunchBayNO > 0 || _LaunchBayO > 0) && $securityForceArcologyUpgrades >= 4>> - ''LauchBay:'' - <<if $terrain != "oceanic" && $terrain != "marine">> - ''Satellite:'' <<textbox "$securityForceSatellitePower" $securityForceSatellitePower "SpecialForceBarracksCheatEdit">> - <br>Max: _SatelliteMax - - ''GiantRobot:'' <<textbox "$securityForceGiantRobot" $securityForceGiantRobot "SpecialForceBarracksCheatEdit">> - <br>Max: _GiantRobotMax - - ''MissileSilo:'' <<textbox "$securityForceMissileSilo" $securityForceMissileSilo "SpecialForceBarracksCheatEdit">> - <br>Max: _MissileSiloMax - <<elseif $terrain == "oceanic" || $terrain == "marine">> - ''Satellite:'' <<textbox "$securityForceSatellitePower" $securityForceSatellitePower "SpecialForceBarracksCheatEdit">> - <br>Max: _SatelliteMax - <</if>> -<</if>> - -<<if $terrain == "oceanic" || $terrain == "marine">> - ''Naval Yard:'' - - ''AircraftCarrier:'' <<textbox "$securityForceAircraftCarrier" $securityForceAircraftCarrier "SpecialForceBarracksCheatEdit">> - <br>Max: _AircraftCarrierMax - - ''Submarine:'' <<textbox "$securityForceSubmarine" $securityForceSubmarine "SpecialForceBarracksCheatEdit">> - <br>Max: _SubmarineMax - - ''Amphibious Transport:'' <<textbox "$securityForceHeavyAmphibiousTransport" $securityForceHeavyAmphibiousTransport "SpecialForceBarracksCheatEdit">> - <br>Max: _HeavyAmphibiousTransportMax -<</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/SpecialForceBarracksFlavourText.tw b/src/pregmod/SecForceEX/SpecialForceBarracksFlavourText.tw deleted file mode 100644 index 55c562c4f9731994aa1971697fb5df150bdbc315..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/SpecialForceBarracksFlavourText.tw +++ /dev/null @@ -1,84 +0,0 @@ -:: SpecialForceBarracksFlavourText [nobr] - -//You continue towards the common area, the soldiers you pass nodding respectfully, saluting, or giving slight bows, as they please, to you. You pass the briefing areas, the officers and sergeants of the force are conferring over planning tables and display screens regarding their upcoming deployments.// - -<br><br> - -<div style="margin-left:2em"> -<<if $securityForceFocus == "recruit">> - The commanders are viewing lists of potential recruits for $securityForceName, mercenaries and Old World soldiers who might be receptive to an offer of employment and residence within the arcology - in addition to some citizens of the arcology who wish to have some excitement in their lives. -<<elseif $securityForceFocus == "secure">> - The commanders are reviewing maps of trade routes to the arcology as well as those nearby merchant hubs, arranging their future deployments to best protect them and encourage business and trade. -<<elseif $securityForceFocus == "raiding">> - The commanders are reviewing maps of settlements and locations reported to have choice concentrations of material loot and potential slave stock, in preparation for their coming raids. -<</if>> -</div> - -<div style="margin-left:2em"> -<<if $securityForceRulesOfEngagement == "hold">> - There are posted (and very strict) guidelines for the use of force against non-citizens residents, forbidding the use of heavy weapons or indiscriminate fire. -<<elseif $securityForceRulesOfEngagement == "limited">> - There are some guidelines posted regarding the use of force against non-citizens, forbidding general indiscriminate fire. -<<elseif $securityForceRulesOfEngagement == "free">> - Guidelines regarding the use of force are completely absent from the deployment information screens. A note affixed to the screen, probably from a soldier, says: "Pop 'em if you see 'em - better than target practice!" Another one on top of that, from The Colonel, says: "Don't shoot the pretty ones, you fucking morons, or I'll kill you myself. They're worth good money or good for fun - do you idiots really want to have to fuck month-old stock?" -<</if>> -</div> - -<div style="margin-left:2em"> -<<if $securityForceAccountability == "strict">> - On several screens, there are prominent warnings regarding the severe disciplinary procedures that will be taken against soldiers who commit crimes while on deployment. -<<elseif $securityForceAccountability == "some">> - On several screens, there are some minor warnings regarding the mild disciplinary procedures that may be taken against soldiers who commit especially severe crimes while on deployment. -<<elseif $securityForceAccountability == "none">> - There are no warnings or information regarding disciplinary procedures on any of the screens. Near one of them, a waste basket has been dragged over and a soldier has posted a note above it that says: "For Old World Complaints and Warrants." -<</if>> -</div> - -<br> - -//You arrive at the barracks' common area, a nest of bars, pleasure dens, public spaces, and other facilities catering to the soldiers' needs and giving them somewhere to spend their free time, since they do not mingle with your citizens on the higher levels or exit the arcology except on deployment. It is well-occupied by the soldiers not currently tasked with duties, and they respectfully move out of your way as you approach, clearing a path for you to move forward.// - -<br><br> - -<div style="margin-left:2em"> -<<if $securityForceDepravity <= 0.3 && $ColonelCore == "kind">> - The amenities are staffed by menial slaves, captured by the soldiers on their excursions. They are wearing plain jumpsuits and slim identification collars to set them apart from the soldiers, and look resigned but not fearful. The soldiers themselves socialize at the bars, in small groups around tables, and in the gambling parlours. Many of them can be seen entering or leaving the dens occupied by the sexual slaves they have acquired. Laughter from the carousing soldiers can be heard at all times. Small groups of slaves move freely between the plaza and their basic accommodations attached to the barracks. -<<elseif $securityForceDepravity <= 0.6 && $ColonelCore == "kind">> - The amenities are staffed by menial slaves, captured by the soldiers on their excursions. They are topless, wearing only utilitarian pants and leather collars to set them apart from the soldiers, and occasionally shoot fearful looks at the soldiers. The soldiers themselves socialize at the bars, or in large groups around tables, leering at and groping slaves of interest as they pass by. Many of them can be seen entering or leaving the dens occupied by the sexual slaves they have acquired, and often emerge only partially dressed, sometimes pulling half-naked slaves out with them. -<<elseif $securityForceDepravity <= 0.9>> - The amenities are staffed by menial slaves, captured by the soldiers on their excursions. They are topless, wearing only utilitarian shorts and steel collars to set them apart from the soldiers, and often shoot fearful looks at the soldiers. The soldiers themselves socialize at the bars, or in large groups around tables, leering at and heavily groping slaves of interest as they pass by. Many of them can be seen entering or leaving the dens occupied by the sexual slaves they have acquired, and often emerge stark naked, sometimes pulling naked slaves out with them for one last servicing in public. A few soldiers stagger around in drunken hazes or drugged-out stupors. -<<elseif $securityForceDepravity <= 1.2>> - The amenities are staffed by menial slaves, captured by the soldiers on their excursions. They are topless, wearing only a single undergarment and heavy steel collars to set them apart from the soldiers, and often shoot fearful looks at the soldiers. The soldiers occupy themselves primarily with sex, pulling slaves onto benches and fucking them hard in public. Many soldiers stagger around or lie passed out from drug and alcohol abuse. -<<elseif $securityForceDepravity >= 1.5 && ($ColonelCore == "Warmonger" || $ColonelCore != "Shell Shocked")>> - The amenities are staffed by menial slaves, captured by the soldiers on their excursions. To a one, they are naked, and are wearing heavy shock collars to force obedience. Most are wild-eyed with fear or dull-eyed from mental collapse, and many others bear marks of abuse. Few of the slaves are here long-term, the depraved pleasures of the soldiers resulting in enormous turnover and loss of 'damaged' stock. The extreme libations of the soldiers are ever-present. Drunken soldiers stagger around everywhere, beating slaves too slow to get out of their way. Others lie sprawled out on the ground, rendered senseless from heavy drug abuse. Some walk around naked, and hold slaves down on the benches scattered around, raping or sodomizing them with their cocks or their personal strap-ons as they desire. In alcoves, some soldier-lover pairs fuck loudly, moaning in pleasure. - <<if random(1,100) > 50>> - Off to the side, a group of soldiers brutally gangbang a very young slave girl, with one soldier buried balls-deep in her ass, another brutally sawing a barbed strap-on in and out of her pussy, and a third with his cock forced deep down her throat. The slave girl struggles and gags, desperate for breath or relief. - <<elseif random(1,100) > 50>> - Off to the side, a group of soldiers cackle amongst themselves as they take turns beating a very young slave girl with heavy batons. Sickening crunches can be heard from the screaming slave. - <<elseif random(1,100) > 75>> - Off to the side, still more soldiers crowd around an above-ground pit built from empty crates, gambling on slave gladiator fights. There's a drunken cheer as one of the fighters, a very young slave girl, straddles another one and smashes her face in with a blood-slick ammo crate. As she stands, shaking from fear and adrenaline, one of the soldiers laughs and throws a small incendiary grenade at her, changing the cheers to curses as the other soldiers jump away from the flaming, screeching slave. - <<else>> - Screams and cries of pain can be heard echoing around the area as the soldiers have their fun with their property. - <</if>> -<<else>> - The amenities are staffed by menial slaves, captured by the soldiers on their excursions. -<</if>> -</div> - -<br> - -//In the middle of the common area is a pile of supply crates with a pavilion on top - The Colonel's personal throne and open quarters, the result of her preferring to live an extreme lifestyle amongst her soldiers rather than in her empty quarters on the upper levels. It's draped with the 'flag' of $securityForceName, one of her inventions. Sprawled all around it is an immense quantity of; alcohol, hard drugs, clothes, electronic devices, huge amounts of cash, jewels and precious metals looted from the outside world.// - -<br><br> - -<div style="margin-left:2em"> -<<if random(1,100) > 50>> - _Name raises a hand in greeting and nods as you approach. She is sprawled on a couch, wearing only her combat suit tank top and fingerless gloves. She's holding a near-empty bottle of strong liquor in her hand and you can see a naked slave girl kneeling on the floor between her legs. The Colonel has her legs wrapped tightly around the girl's head, forcing the girl to service her if she wants to breathe. The Colonel is close to her climax then suddenly tenses her lower body thus gripping the girl even tighter and throws her head back in ecstasy as she orgasms. She lets out a long breath finally releasing the girl, giving her a hard smack and shouting at her to fuck off.<br><br> The Colonel finishes off her bottle, tossing it over her shoulder then leaning back on the couch and spreading her legs wide. You look down briefly, falling into your habits of inspection. Her pussy is completely devoid of hair with heavy labia in with a very large and hard clit peaking out. Beads of moisture, the result of her excitation, are visible, and you can tell from long experience that she would be tight as a vise. You return your gaze to her face to find her smirking at you. "Like what you see, boss?" She waves her hand at the plaza around her, "So do they. But you're not here for pussy. You're here to talk business. So, what's up?" -<<elseif random(1,100) > 50>> - _Name is in no condition initially to greet you. She's naked except for one sock that gives you a very good view of her muscled, taut body while lounging with her feet on the table and the rest on her couch. She is face down in a drugged-out stupor in the middle of a wide variety of powders and pills. Perhaps sensing your approach, her head suddenly shoots up and looks at you with unfocused, bloodshot eyes. "Sorry, boss," she slurs, wiping her face and weakly holding up a hand. "Hold on a second, I need something to help me out here. Long fucking night." She struggles to sit on the couch and bending over the table, loudly snorts up some of the white powder on it. "Ahhh, fuck," she says, breathing heavily.<br><br> She shakes her head powerfully now looking at you, her eyes once again alert and piercing. "That's better," she says, leaning back on the couch and giving you another good view of her assets. "So, boss," she begins, "what brings you down here to our little clubhouse? I trust you're happy with how we've been handling things out there?" You nod. "Excellent", she laughs. "I have to say; it's nice to have a place like this while having some top-end gear and to be able to have fun out there without worrying about anyone coming back on us. Good fucking times." She laughs again. "So - I'm assuming you want something?" -<<elseif random(1,100) > 70 && $securityForceDepravity >= 1.5 && ($ColonelCore == "cruel")>> - _Name is relaxing on her couch stark naked, greeting you with a raised hand. Between her tightly clenched legs is a slave girl being forced to eat her out. "Hey, boss, what's -" she breaks off as a flash of pain crosses her features. "Fucking bitch!" she exclaims, pulling her legs away and punching the slave girl in the face. She pushes the girl to the ground, straddling her then begins hitting. You hear one crunch after another as The Colonel's powerful blows shatter the girl's face. She hisses from between clenched teeth, each word accompanied by a brutal punch. "How. Many. Fucking. Times. Have. I. Told. You. To. Watch. Your. Fucking. Teeth. On. My. Fucking. Clit!" She leans back, exhaling heavily. Before leaning back down to grip apply pressure onto the girl's neck with her powerful hands. Wordlessly, she increases the pressure and soon the girl begins to turn blue as she struggles to draw breath. Eventually her struggles weaken and then finally, end.<br><br> The Colonel relaxes her grip then wipes her brow, clearing away the sweat from her exertion. Finally rising from the girl's body, relaxing back on the couch and putting her feet back up on the table. "Sorry about that boss," she says, shrugging. "So many of these bitches we pick up from the outside don't understand that they have to behave." Shaking her head in frustration, "Now I need to find another one. But that's not your problem - you're here to talk business. So, what's up?" -<<else>> - _Name is topless while reviewing the particulars of her unit on a tablet as you approach. She raises a hand in greeting. "Hey boss," she says, noticing you looking at her chest. She laughs. "Nice, aren't they? But they're not for you or them." She throws a thumb at the plaza around her. "You're down here for a reason, though. What can I do for you?" -<</if>> -</div> diff --git a/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw b/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw deleted file mode 100644 index 8d399a0b529ae29a93fa7d782355bccb9ddca4ce..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw +++ /dev/null @@ -1,470 +0,0 @@ -:: SpecialForceUpgradeDec [nobr] - - ''Barracks:'' -<<switch $securityForceArcologyUpgrades>> -<<case 0>> - Is currently quite basic, consisting of little more than a dormitory, armory, a processing facility for human spoils, and a common area, sectioned off by stacks of empty supply crates. The cavernous space, however, is ripe for expansion. -<<case 1>> - Has become more permanent, expanding into free space, erecting permanent dividers, and sectioning off an area for use as a garage and vehicle maintenance bay. -<<case 2>> - Has added a facility for the storage, maintenance, and deployment of armed combat drones, and added storage facilities for the soldiers to store their personal spoils in. -<<case 3>> - Has added additional support personnel and equipment, allowing the potential procurement of heavier infantry armor, fighting vehicles, and combat drones. -<<case 4>> - Has expanded tremendously, adding an aerial control facility and express elevator connecting to a ring of launch pads and hangars built around the arcology's upper levels. Additional facilities have been added for soldier recreation, and Spartan quarters for live-in slaves, both menial and service, have been installed. -<<case 5>> - Has (mostly) taken on the appearance of a professional military installation, with clearly delineated soldier and logistical areas, dedicated support and recreation facilities, in addition to advanced command and control apparatus. As a final measure, heavy, long range, electromagnetic railgun artillery pieces have been installed in casemates along the aerial launch pads, giving $securityForceName an immense superiority in local firepower. -<<case 6>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As a final measure, quad heavy, long range, electromagnetic railgun artillery pieces have been installed in casemates along the aerial launch pads, giving $securityForceName an immense superiority in local firepower. -<<case 7>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As a final measure, quad heavy, long range, electromagnetic railgun artillery pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads, giving $securityForceName an immense superiority in local firepower. -<<case 8>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, electromagnetic railgun artillery pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. -<<case 9>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, electromagnetic railgun artillery 356 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. -<<case 10>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. -<<case 11>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, double-barreled electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. -<<case 12>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, tri-barreled electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. -<<case 13>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, tri-barreled electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. - <br>After pooling resources between several departmental R&D teams, $securityForceName now has a faster and much more efficient custom network. -<<case 14>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, tri-barreled electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. - <br>After pooling resources between several departmental R&D teams, $securityForceName now has a faster and much more efficient custom network. <br>'Borrowed' old world designs for a kill house. -<<case 15>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, tri-barreled electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. - <br>After pooling resources between several departmental R&D teams, $securityForceName now has a faster and much more efficient custom network. <br>Added electronics to the kill house. -<<case 16>> - Has (mostly) taken on the appearance of a professional military installation, with clearly defined soldier and logistical areas, dedicated support and recreation facilities, and advanced command and control apparatus. As final measures, quad heavy, long range, tri-barreled electromagnetic railgun artillery 406 cm pieces have been installed in fortified EMP/jammer resistant casemates along the aerial launch pads and a powerful arcology wide electromagnetic force field has been installed, giving $securityForceName an immense superiority in local firepower. - <br>After pooling resources between several departmental R&D teams, $securityForceName now has a faster and much more efficient custom network. <br>Added VR support to the kill house. -<</switch>> - -<br><br> - -<<if $securityForcePersonnel < 100>> - The barrack's large dormitories are sparsely occupied, the few members of $securityForceName residing within them concentrating together in a corner. The hundreds of empty beds and lockers visible herald the future. -<<elseif $securityForcePersonnel < 300>> - The barrack's large dormitories are lightly occupied, with the <<print commaNum($securityForcePersonnel)>> members of $securityForceName starting to spread out across them. -<<elseif $securityForcePersonnel < 500>> - The barrack's large dormitories are moderately occupied, though the <<print commaNum($securityForcePersonnel)>> members of $securityForceName residing within have a considerable amount of extra room. -<<elseif $securityForcePersonnel < 700>> - The barrack's large dormitories are well-occupied, and the <<print commaNum($securityForcePersonnel)>> members of $securityForceName within have started to form small cliques based on section and row. -<<elseif $securityForcePersonnel < 1500>> - The barrack's large dormitories are near capacity, and the <<print commaNum($securityForcePersonnel)>> members of $securityForceName often barter their personal loot, whether it be monetary or human, for the choicest bunks. -<</if>> - -/* -<<if $SupportFacility == 1>> - <br><br> - ''$SupportFacilityName:'' - <<if $LieutenantColonel == 1>> - <<= SlaveFullName($LieutenantColonel)>> is the Lieutenant Colonel of $securityForceName, primarily in charge of this facility. - <</if>> - There are - <<if $SupportFacilitySlaves > 0>> - ''$SupportFacilitySlaves'' - <<else>> - ''zero'' - <</if>> - slaves serving in $SupportFacilityName. - The use of - <<if $SupportFacilityUpgrade == 3>> - a quantum teleportation system provides a massive - <<elseif $SupportFacilityUpgrade == 2>> - a rapid tube system provides a noticeable - <<elseif $SupportFacilityUpgrade == 1>> - specialized pathways provides a minor - <<else>> - general pathways does not provide a - <</if>> - boost to efficiency. - <br><<link "Enter the building then send a slave to serve in the HQ and facilities of $securityForceName">> - <<goto "SupportFacility">> - <</link>> -<</if>> -*/ - -<br><br> - ''Armoury:'' -<<switch $securityForceInfantryPower>> -<<case 0>> - Is well-stocked with high-quality personal weapons and light armour, but contains little in the way of exceptional armament. -<<case 1>> - Has large stocks of the absolute latest personal weapons and light armour, and has added first-generation exo-suits to improve soldier lethality. -<<case 2>> - Acquired advanced tactical helmets and second-generation exo-suits to further improve soldier lethality. -<<case 3>> - Replaced deployed exo-suits with basic enclosed combat armour suits, and has further begun to deploy early electromagnetic (coilgun) weaponry. -<<case 4>> - Has begun to equip the soldiers with more advanced combat armour suits, and has expanded its inventory of electromagnetic weaponry. -<<case 5>> - Acquired heavy weapon attachments for its combat armour suits, and has further sourced small advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 6>> - Acquired heavy weapon attachments for its combat armour suits, and has further sourced both small and medium advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 7>> - Acquired heavy weapon attachments for its combat armour suits, and has further sourced small/medium and large advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 8>> - Acquired heavy weapon attachments for its combat armour suits with basic thrusters, and has further sourced both small/medium and large advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 9>> - Acquired heavy weapon attachments for its combat armour suits with advanced thrusters, and has further sourced both small/medium and large advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 10>> - Acquired heavy weapon attachments for its combat armour suits with advanced thrusters,basic optical illusion kits, and has further sourced small/medium and large advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 11>> - Acquired heavy weapon attachments for its combat armour suits with advanced thrusters,advanced optical illusion kits, and has further sourced small/medium and large advanced electromagnetic weaponry (miniaturized railguns) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<<case 12>> - Acquired heavy weapon attachments for its combat armour suits with advanced thrusters,advanced optical illusion kits, and has further sourced small/medium and large advanced nanite rather than electromagnetic weaponry (miniaturized nanite rifes) for the soldiers, ensuring that the infantry of $securityForceName is perhaps the most well-equipped in the world. -<</switch>> - -<br><br> - ''Stimulant Lab:'' -<<switch $securityForceStimulantPower>> -<<case 0>> - Is providing the soldiers with standard ephedrine-based stimulants. -<<case 1>> - Improved the formula of the ephedrine-based stimulants, concentrating them and increasing both their potency, and the effectiveness of the soldiers under their influence. -<<case 2>> - Replaced the soldiers' stimulants with methamphetamine-based variants, greatly increasing their alertness and aggressiveness when under their influence. -<<case 3>> - Improved and concentrated the methamphetamine-based stimulants, and has also begun providing soldiers with phencyclidine-based dissociatives, allowing the soldiers to excuse their actions in the field and reducing any reluctance to follow severe orders. -<<case 4>> - Has further refined the formulas of the methamphetamine-based stimulants and phencyclidine-based dissociatives, and has also begun providing tryptamine-based psychedelics to the soldiers, allowing them to avoid traumatic stress in the field. -<<case 5>> - Has maximally refined the formulas of the methamphetamine-based stimulants, phencyclidine-based dissociatives, and tryptamine-based psychedelics, increasing their effectiveness in all aspects and ensuring that the soldiers of $securityForceName go into combat wired, aggressive, and euphoric (if needed). -<<case 6>> - Has slightly refined the formulas of higher purity methamphetamine-based stimulants, phencyclidine-based dissociatives, and tryptamine-based psychedelics, increasing their effectiveness in all aspects and ensuring that the soldiers of $securityForceName go into combat wired, aggressive, and euphoric (if needed). -<<case 7>> - Has maximally refined the formulas of higher purity methamphetamine-based stimulants, phencyclidine-based dissociatives, and tryptamine-based psychedelics, increasing their effectiveness in all aspects and ensuring that the soldiers of $securityForceName go into combat wired, aggressive, and euphoric (if needed). -<<case 8>> - Has mixed the higher purity methamphetamine-based stimulants, phencyclidine-based dissociatives, and tryptamine-based psychedelics into a single dose further increasing their effectiveness in all aspects and ensuring that the soldiers of $securityForceName go into combat wired, aggressive, and euphoric (if needed). However side effects may include (no particular order): Dissociative Identity Disorder , severe clinical depression, unstoppable vomiting, extreme paranoia, PTSD, finally total organ failure. Recommended by 9/10 doctors*. <br>* Only the doctors of $securityForceName were consulted to ensure a completely unbiased result. -<<case 9>> - Has mixed the higher purity methamphetamine-based stimulants, phencyclidine-based dissociatives, and tryptamine-based psychedelics into a single dose further increasing their effectiveness in all aspects and ensuring that the soldiers of $securityForceName go into combat wired, aggressive, and euphoric (if needed). Potential side effects have been reduced slightly to "only mildly" severe ones: Dissociative Identity Disorder , severe clinical depression, unstoppable vomiting, extreme paranoia and PTSD. Now recommended by 15/10 doctors*. <br>* Only the doctors of $securityForceName were consulted to ensure a completely unbiased result. -<<case 10>> - Has increased the single dose strength of the mixture of higher purity methamphetamine-based stimulants, phencyclidine-based dissociatives, and tryptamine-based psychedelics which further increases their effectiveness in all aspects and ensuring that the soldiers of $securityForceName go into combat wired, aggressive, and euphoric (if needed) at the cost of lengthening the effects. - <br>Potentinal side effects have been reduced slightly to "only mildly" severe ones: Dissociative Identity Disorder , severe clinical depression, unstoppable vomiting, extreme paranoia and PTSD. Now recommended by 15/10 doctors*. <br>* Only the doctors of $securityForceName were consulted to ensure a completely unbiased result. -<</switch>> - -<<if _Garage > 0 && $securityForceArcologyUpgrades >= 1>> -<br><br> - ''Garage:'' -<<switch $securityForceVehiclePower>> -<<case 0>> - Contains basic, unarmoured vehicles for use by the soldiers, primarily high-end civilian vehicles with jury-rigged crew-served weapons. -<<case 1>> - Replaced its technical fleet with armed military utility vehicles. It has also sourced customized, high-volume slave transports for better securing human spoils. -<<case 2>> - Has added a number of light infantry fighting vehicles to its fleet, and acquired more slave transports to keep up with demand. -<<case 3>> - Acquired improved infantry fighting vehicles, and has also added some mobile artillery and other support vehicles. -<<case 4>> - Acquired some heavier armoured vehicles to augment the infantry fighting vehicles and expanded their inventory of artillery and support vehicles. -<<case 5>> - Replaced both its armoured and support vehicles with the most advanced variants possible, making the mobile unit of $securityForceName far superior to anything in the arcology's immediate area. -<<case 6>> - Replaced both its armoured and support vehicles with the most advanced light variants possible, making the mobile unit of $securityForceName far superior to anything in the arcology's immediate area. -<<case 7>> - Replaced both its armoured and support vehicles with the most advanced light and medium variants possible, making the mobile unit of $securityForceName far superior to anything in the arcology's immediate area. -<<case 8>> - Replaced both its armoured and support vehicles with the most advanced light, medium and heavy variants possible, making the mobile unit of $securityForceName far superior to anything in the arcology's immediate area. -<</switch>> - -<<if $securityForceHeavyBattleTank > 0>> -<br>''Heavy Battle Tank:'' -<<switch $securityForceHeavyBattleTank>> -<<case 1>> - A basic heavy battle tank has been 'borrowed' from the old world. -<<case 2>> - Modernised the armour. -<<case 3>> - Modernised the armour and upgraded the main gun to a 356 cm barrel. -<</switch>> -<</if>> -<</if>> - -<<if $securityForceArcologyUpgrades >= 4>> -<br><br> - ''Hangar:'' -<br> -''Airforce:'' -<<switch $securityForceAircraftPower>> -<<case 0>> - Primarily consists of light transport VTOL's equipped with non-lethal weaponry. -<<case 1>> - Upgraded light transport VTOL's with additional fire-power and lethal weaponry. -<<case 2>> - The VTOL's have been upgraded to higher-capacity variants with heavier weaponry. -<<case 3>> - The medium transport VTOL's have been upgraded with enhanced armour and customized cargo compartments to better transport captured stock. -<<case 4>> - Acquired specialized attack VTOL's to complement and escort its advanced transport fleet, as well as to provide close air support. -<<case 5>> - Upgraded its attack VTOL's for enhanced lethality, and further improved the armour and armament of its transport VTOL's, ensuring that the airfleet of $securityForceName is amongst the most capable still in operation in the area. -<<case 6>> - Upgraded its attack VTOL's for enhanced lethality/speed, and further improved the armour and armament of its transport VTOL's, ensuring that the airfleet of $securityForceName is amongst the most capable still in operation in the area. -<<case 7>> - Upgraded its attack VTOL's for enhanced lethality/speed/armour, and further improved the armour and armament of its transport VTOL's, ensuring that the airfleet of $securityForceName is amongst the most capable still in operation in the area. -<<case 8>> - Upgraded its attack VTOL's for enhanced lethality/speed/armour, and further improved the armour and armament of its transport VTOL's, ensuring that the airfleet of $securityForceName is amongst the most capable still in operation in the area. <br>Also It now possesses a basic old world bomber. -<<case 9>> - Upgraded its attack VTOL's for enhanced lethality/speed/armour, and further improved the armour and armament of its transport VTOL's, ensuring that the airfleet of $securityForceName is amongst the most capable still in operation in the area. <br>Improved the bomber's engines. -<<case 10>> - Upgraded its attack VTOL's for enhanced lethality/speed/armour, and further improved the armour and armament of its transport VTOL's, ensuring that the airfleet of $securityForceName is amongst the most capable still in operation in the area. <br>Improved the bomber's engines and armour. -<</switch>> -<<if $securityForceSpacePlanePower > 0>> -<br>''Space Plane:'' -<<switch $securityForceSpacePlanePower>> - <<case 1>> - A basic twin engine space plane has been 'borrowed' from the old world. - <<case 2>> - Upgraded the shielding, reducing both potential heat damage and radar signature. - <<case 3>> - Upgraded the shielding, reducing both potential heat damage and radar signature, also mounted another engine on top of the tail. - <<case 4>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail and modernized the electronics. - <<case 5>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail, modernized the electronics in addition to the fuel lines to increase efficiency. - <<case 6>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. - <<case 7>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. Reduced the weight and reworked the body to reduce drag. - <<case 8>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. Reduced the weight and reworked the body to reduce drag. Increased the crew comfort and life support systems to increase operational time. - <<case 9>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. Reduced the weight and reworked the body to reduce drag. Increased the crew comfort and life support systems to increase operational time. Added an engine per wing which greatly increases acceleration and raises the top speed to mach 15, making the Space Plane of $securityForceName untouchable. - <<case 10>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. Reduced the weight and reworked the body to reduce drag. Increased the crew comfort and life support systems to increase operational time. Added an engine per wing which greatly increases acceleration and raises the top speed to mach 15, making the Space Plane of $securityForceName untouchable. Replaced the skin with a basic optical illusion kit. - <<case 11>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. Reduced the weight and reworked the body to reduce drag. Increased the crew comfort and life support systems to increase operational time. Added an engine per wing which greatly increases acceleration and raises the top speed to mach 15, making the Space Plane of $securityForceName untouchable. Replaced the skin with an advanced optical illusion kit. - <<case 12>> - Upgraded the shielding, reducing both potential heat damage and radar signature, mounted another engine on top of the tail. Modernized the electronics in addition to the fuel lines to increase efficiency and the engines to allow for more efficient fuel. Reduced the weight and reworked the body to reduce drag. Increased the crew comfort and life support systems to increase operational time. Added VTOL capabilities into an additional engine per wing which greatly increases acceleration and raises the top speed to Mach 15, making the Space Plane of $securityForceName untouchable. Replaced the skin with an advanced optical illusion kit. -<</switch>> -<</if>> -<<if $securityForceFortressZeppelin > 0>> -<br>''Fortress Zeppelin:'' -<<switch $securityForceFortressZeppelin>> - <<case 1>> - A basic fortress Zeppelin has been 'borrowed' from the old world. - <<case 2>> - Modernized the armour. - <<case 3>> - Modernized the armour and weaponry. - <<case 4>> - Modernized the armour and weaponry. Improved the speaker system. -<</switch>> -<</if>> -<<if $securityForceAC130 > 0>> -<br>''AC130:'' -<<switch $securityForceAC130>> - <<case 1>> - A basic AC-130 has been 'borrowed' from the old world. - <<case 2>> - Modernized the armour. - <<case 3>> - Modernized the armour and weaponry. - <<case 4>> - Modernized the armour, weaponry and electronics. - <<case 5>> - Modernized the armour, weaponry, electronics and crew seating. - <<case 6>> - Modernized the armour, weaponry, electronics and crew seating. Increased the speed and maneuverability. -<</switch>> -<</if>> -<<if $securityForceHeavyTransport > 0>> -<br>''Heavy Transport:'' -<<switch $securityForceHeavyTransport>> - <<case 1>> - A basic heavy transport has been 'borrowed' from the old world. - <<case 2>> - Modernized the armour. - <<case 3>> - Modernized the armour and engines. - <<case 4>> - Modernized the armour and engines. Replaced the ballistic gun mounts with electromagnetic ones. -<</switch>> -<</if>> -<</if>> - -<<if $securityForceArcologyUpgrades >= 2>> -<br><br> - ''Drone Bay:'' -<<switch $securityForceDronePower>> -<<case 0>> - Contains a small number of 're-purposed' non-military drones from the arcology's original contingent. -<<case 1>> - Replaced the security drones with basic, lightly-armored military combat models possessing integrated small arms. -<<case 2>> - Replaced its basic military drones with more advanced models and added a number of support drones carrying heavy weaponry to its fleet. -<<case 3>> - Acquired even more advanced models of both the standard combat drones and the heavy support drones, and expanded its numbers of both. -<<case 4>> - Has acted to upgrade both the standard and support models of drones to carry basic electromagnetic weaponry, improving their overall combat effectiveness. -<<case 5>> - Improved the electromagnetic armament of its drones by mounting both miniaturized and heavy railguns on them. In addition further sourcing numerous models of drones for roles as diverse as reconnaissance, independent slave capture and swarming tactics. -<<case 6>> - Acquired even lighter advanced armored combat Drones with electromagnetic weaponry, advanced heavy Drones with electromagnetic support weaponry along with specialized Drones for reconnaissance, capture, and swarm tactics. -<<case 7>> - Acquired even lighter advanced thicker armored combat Drones with electromagnetic weaponry, advanced heavy Drones with electromagnetic support weaponry along with specialized Drones for reconnaissance, capture, and swarm tactics. -<<case 8>> - Acquired even lighter advanced thicker armored combat Drones with nanite rather than electromagnetic weaponry, advanced heavy Drones with electromagnetic support weaponry along with specialized Drones for reconnaissance, capture, and swarm tactics. -<</switch>> -<</if>> - -<<if (_LaunchBayNO > 0 || _LaunchBayO > 0) && $securityForceArcologyUpgrades >= 4>> -<br><br> - ''Launch Bay:'' -<<if $securityForceSatellitePower > 0>> -<br>''Satellite:'' -<<switch $securityForceSatellitePower>> - <<case 1>> - A basic Satellite has been 'borrowed' from the old world. - <<case 2>> - Modernized the electronics. - <<case 3>> - Modernized the electronics, wiring, and circuitry. - <<case 4>> - Modernized the electronics, wiring, and circuitry. Installed a basic localized communications jammer to the Satellite (excludes your own frequencies with little to no leeway) that will "slightly" anger locals until it is deactivated. - <<case 5>> - Modernized the electronics, wiring, and circuitry. An advanced communications jammer is installed in the Satellite, increasing the AO localization, reducing the number of affected equipment. - <<case 6>> - Modernized the electronics, wiring, and circuitry. Boosted the advanced comms jammer power by 25% (now can damage affected equipment). - <<case 7>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment). - <<case 8>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment). The Satellite is now equipped with a basic EMP generator (advanced EMP hardening was applied before the insulation and activation) that will "slightly" anger locals until it is deactivated. - <<case 9>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment). The Satellite is now equipped with an advanced EMP generator by, increasing the AO localization which reduces the quantity of affected equipment. - <<case 10>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 25% (now can damage affected equipment). - <<case 11>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). - <<case 12>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to be able to shoot a concentrated beam of pure energy that is able to level an entire city block. It required overhauling the battery system and shielding. - <<case 13>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to focus the beam enough to level a suburb. - <<case 14>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to focus the beam enough to level a block of houses. - <<case 15>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to focus the beam enough to level a single house. - <<case 16>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to focus the beam enough to level 366 cm. - <<case 17>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to focus the beam enough to level 30 cm. - <<case 18>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to focus the beam enough to level 15 cm. - <<case 19>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to switch the 15 cm wide beam from laser to nanites. - <<case 20>> - Modernized the electronics, wiring, and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to switch the 15 cm wide beam from laser to nanites and allow the beam to be split (if needed). - <<case 21>> - Modernized the electronics (in addition to overclocking), wiring and circuitry. Boosted the power of the advanced comms jammer by 50% (now can destroy affected equipment) and the output of the advanced EMP generator by 50% (now can destroy affected equipment). Provided R&D funds to switch the 15 cm wide beam from laser to nanites and allow the beam to be split (if needed). -<</switch>> -<</if>> -<<if $securityForceGiantRobot > 0>> -<br>''Giant Robot'': -<<switch $securityForceGiantRobot>> - <<case 1>> - An old world giant robot has been 'Borrowed'. - <<case 2>> - Upgraded the wiring and circuitry. - <<case 3>> - Upgraded the wiring, circuitry, and power efficiency. - <<case 4>> - Upgraded the wiring, circuitry, and power efficiency. Reduced the weight. - <<case 5>> - Upgraded the wiring, circuitry, power efficiency, and battery capacity. Reduced the weight. - <<case 6>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, and armor. Reduced the weight. - <<case 7>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles plus a massive long sword in addition to quad 356 cm back mounted electromagnetic cannons. - <<case 8>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles plus a massive long sword in addition to quad 356 cm back mounted electromagnetic cannons and the amount of pilots to two via a synced neural link. - <<case 9>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles plus a massive long sword in addition to quad 356 cm back mounted electromagnetic cannons. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. - <<case 10>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles plus a massive long sword in addition to quad 356 cm back mounted electromagnetic cannons. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with a basic optical illusion kit. - <<case 11>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles plus a massive long sword in addition to quad 356 cm back mounted electromagnetic cannons. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with an advanced optical illusion kit. - <<case 12>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles, a massive long sword, quad 356 cm back mounted nanite rather than electromagnetic cannons. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with an advanced optical illusion kit. - <<case 13>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles, a massive long sword, quad 356 cm back mounted nanite rather than electromagnetic cannons. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with an advanced optical illusion kit. Added hover capabilities. - <<case 14>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles, a massive long sword, quad 356 cm back mounted nanite rather than electromagnetic cannons and a massive wrist mounted shield. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with an advanced optical illusion kit. Added hover capabilities. - <<case 15>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles, a massive long sword, quad 356 cm back mounted nanite rather than electromagnetic cannons, a massive wrist mounted shield and electric fists. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with an advanced optical illusion kit. Added hover capabilities. - <<case 16>> - Upgraded the wiring, circuitry, power efficiency, battery capacity, armor and weapons to include heat seeking missiles, a massive long sword, quad 356 cm back mounted nanite rather than electromagnetic cannons, a massive wrist mounted shield and electric fists. Increased the number of pilots to two via a synced neural link. Improved the life support systems, allowing for longer operational time. Replaced the skin of $securityForceName's giant robot with an advanced optical illusion kit. Added hover capabilities. Overclocked the movement systems allowing for greater mobility. -<</switch>> -<</if>> -<<if $securityForceMissileSilo > 0>> -<br>''Missile Silo:'' -<<switch $securityForceMissileSilo>> - <<case 1>> - A basic missile silo has been 'borrowed' from the old world. - <<case 2>> - Modernized the launching electronics. - <<case 3>> - Modernized the launching electronics, wiring and circuitry. -<</switch>> -<</if>> -<</if>> - -<<if _NavalYard > 0 && ($terrain == "oceanic" || $terrain == "marine")>> -<br><br> - ''Naval Yard:'' -<<if $securityForceAircraftCarrier > 0>> -<br>''Aircraft Carrier:'' -<<switch $securityForceAircraftCarrier>> - <<case 1>> - A basic aircraft carrier has been 'borrowed' from the old world. - <<case 2>> - Modernized the electronics. - <<case 3>> - Modernized the electronics and weaponry. - <<case 4>> - Modernized the electronics, weaponry and armor. - <<case 5>> - Modernized the electronics, weaponry and armor. Added an EMP generator. - <<case 6>> - Modernized the electronics, weaponry and armor. Added an EMP generator and laser designator. -<</switch>> -<</if>> -<<if $securityForceSubmarine > 0>> -<br>''Submarine:'' -<<switch $securityForceSubmarine>> - <<case 1>> - A basic submarine has been 'borrowed' from the old world. - <<case 2>> - Modernized the engines for speed. - <<case 3>> - Modernized the engines for speed and silence. - <<case 4>> - Modernized the engines for speed and silence. Upgraded the hull for silence. - <<case 5>> - Modernized the engines for speed and silence. Upgraded the hull for silence and weaponry. - <<case 6>> - Modernized the engines for speed and silence. Upgraded the hull for silence, weaponry and air scrubbers, allowing it to stay submerged for longer. - <<case 7>> - Modernized the engines for speed and silence. Upgraded the hull for silence, weaponry and air scrubbers, allowing it to stay submerged for longer. Overclocked the sonar, increasing its ping speed. -<</switch>> -<</if>> -<<if $securityForceHeavyAmphibiousTransport > 0>> -<br>''Heavy Amphibious Transport:'' -<<switch $securityForceHeavyAmphibiousTransport>> - <<case 1>> - A basic heavy amphibious transport has been 'borrowed' from the old world. - <<case 2>> - Modernized the armor. - <<case 3>> - Modernized the armor and speed. - <<case 4>> - Modernized the armor and speed. Added miniaturized railguns in all four corners. - <<case 5>> - Modernized the armor and speed. Added miniaturized railguns in all four corners and a laser designator in the middle. - <<case 6>> - Modernized the armor and speed. Replaced the corner miniaturized railguns with nanite ones while keeping the laser designator in the middle. -<</switch>> -<</if>> -<</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/SpecialForceUpgradeOptions.tw b/src/pregmod/SecForceEX/SpecialForceUpgradeOptions.tw deleted file mode 100644 index d120d7aa0a0a8d6cfe1f1176f611704b75a6eb54..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/SpecialForceUpgradeOptions.tw +++ /dev/null @@ -1,602 +0,0 @@ -:: SpecialForceUpgradeOptions [nobr] -<<set _costDebuff = 1>> -<<set $HackingSkillMultiplier = HSM()>> -<<if ($SFAO < _max) && $securityForceUpgradeToken == 0>> -<span id="resultX"> - <br>Which facility or equipment do you wish _Name to upgrade this week? - <<if _Barracks < 1 || _Barracks < 2 || _Barracks < 4>><br> More barracks upgrades are required to unlock further options.<</if>> - - <<if $securityForceUpgradeToken == 0 && _Barracks < 5>> - <br><<link "Barracks">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "Expanding the facilities here should help us support more cool shit." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceArcologyUpgrades++, $cash -= 100000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(100000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceArcologyUpgrades < _BarracksMax && $TierTwoUnlock == 1>> - <<switch _Barracks>> - <<case 5>> - <<set _arcCost = 1500000>> - <<case 6>> - <<set _arcCost = 2000000>> - <<case 7>> - <<set _arcCost = 3500000>> - <<case 8>> - <<set _arcCost = 5500000>> - <<case 9>> - <<set _arcCost = 1250000>> - <<case 10>> - <<set _arcCost = 3500000>> - <<case 11>> - <<set _arcCost = 6000000>> - <<case 12>> - <<set _arcCost = 25000000>> - <<case 13>> - <<set _arcCost = 50000000>> - <<case 14>> - <<set _arcCost = 60000000>> - <<case 15>> - <<set _arcCost = 95000000>> - <</switch>> - <br><<link "Barracks">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "Expanding the facilities here should help us support more cool shit." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceArcologyUpgrades++, $cash -= _arcCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_arcCost*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceArcologyUpgrades == 12 && _Armoury >= 11 && _StimulantLab >= 7 && $securityForceVehiclePower >= 7 && $securityForceAircraftPower >= 8 && $securityForceSpacePlanePower >= 11 && $securityForceFortressZeppelin >= 3 && $securityForceAC130 >= 5 && _DroneBay >= 6 && $securityForceSatellitePower >= 16>> - <br><<link "Barracks">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "Expanding the facilities here should help us support more cool shit." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceArcologyUpgrades++, $cash -= _arcCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_arcCost*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceArcologyUpgrades == 13>> - <br><<link "Barracks">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "Expanding the facilities here should help us support more cool shit." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceArcologyUpgrades++, $cash -= _arcCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_arcCost*$Env*_costDebuff)>> // - <</if>> - <<if _Barracks == _BarracksMax>> - <br>//$securityForceName has fully upgraded the barracks to support its activities// - <</if>> - - /* - <<if $securityForceUpgradeToken == 0 && $TierTwoUnlock == 1 && $SupportFacility == 0>> - <br><<link "Support Facility">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "Creating a specialised area for any slaves you send to assist us will benefical to everyone." - <<set $securityForceUpgradeToken = 1, $SupportFacility++, $cash -= Math.trunc(15000000*(Math.max(0.99,$SFAO)/10)*$Env*_costDebuff)>> - <<set $SFIDs = [], $SupportFacilityDecoration = "standard", $SupportFacilityName = "The Support Facility", $SupportFacilityEfficiency = 0>> - <<set $SupportFacility = 5, $SupportFacilitySlaves = 0, $LieutenantColonel = 0>> - <</replace>> - <</link>> // Costs <<print cashFormat(Math.trunc(15000000*(Math.max(0.99,$SFAO)/10)*$Env)*_costDebuff)>> // - <</if>> - */ - - <<if $securityForceUpgradeToken == 0 && _Armoury < 5>> - <br><<link "Armoury">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "The boys'll like having some new guns and armour to help them out there." She laughs. "Don't think the poor bastards they'll be shooting will thank you though." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceInfantryPower++, $cash -= 40000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(40000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && _Armoury < _ArmouryMax && $TierTwoUnlock == 1>> - <br><<link "Armoury">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "The boys'll like having some new guns and armour to help them out there." She laughs. "Don't think the poor bastards they'll be shooting will thank you though." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceInfantryPower++, $cash -= 450000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(450000*$Env*_costDebuff)>> // - <</if>> - <<if _Armoury == _ArmouryMax>> - <br>//$securityForceName has fully upgraded the armoury to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && _StimulantLab < 5>> - <br><<link "Stimulant Lab">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "The boys are going to like hearing that they'll be getting new stims. Some of them can't get enough." She laughs, sweeping her arm at a corner of the throne, where dozens of empty stimulant injectors are piled. "I might be one of them. Either way, the fucks out there aren't going to like us once we're on the new juice." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceStimulantPower++, $cash -= 40000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(40000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && _StimulantLab < _StimulantLabMax && $TierTwoUnlock == 1>> - <<switch _StimulantLab>> - <<case 5>> - <<set _drugCost = 126500>> - <<case 6>> - <<set _drugCost = 226500>> - <<case 7>> - <<set _drugCost = 20000000>> - <<case 8>> - <<set _drugCost = 25000000>> - <<case 9>> - <<set _drugCost = 35000000>> - <</switch>> - <br><<link "Stimulant Lab">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "The boys are going to like hearing that they'll be getting new stims. Some of them can't get enough." She laughs, sweeping her arm at a corner of the throne, where dozens of empty stimulant injectors are piled. "I might be one of them. Either way, the fucks out there aren't going to like us once we're on the new juice." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceStimulantPower++, $cash -= _drugCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_drugCost*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && _StimulantLab == 7 && _Armoury >= 11 && $securityForceVehiclePower >= 7 && $securityForceAircraftPower >= 8 && $securityForceSpacePlanePower >= 11 && $securityForceFortressZeppelin >= 3 && $securityForceAC130 >= 5 && _DroneBay >= 6 && $securityForceSatellitePower >= 16 && _Barracks >= 13>> - <br><<link "Stimulant Lab">> - <<replace "#resultX">><br> - "Sure, boss." she says, nodding. "The boys are going to like hearing that they'll be getting new stims. Some of them can't get enough." She laughs, sweeping her arm at a corner of the throne, where dozens of empty stimulant injectors are piled. "I might be one of them. Either way, the fucks out there aren't going to like us once we're on the new juice." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceStimulantPower++, $cash -= _drugCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_drugCost*$Env*_costDebuff)>> // - <</if>> - <<if _StimulantLab == _StimulantLabMax>> - <br>//$securityForceName has fully upgraded the stimulant lab to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && _Barracks >= 1 && _Garage < _GarageMax && (_T1FullUpgradesGarage != "True" || $TierTwoUnlock == 1)>> - <br><<link "Garage">> - <<replace "#resultX">> - <span id="resultB"> - <br>"Which unit do you wish to upgrade or 'borrow'?" - <<link "Go back">> - <<goto "SFM Barracks">> - <</link>> - - <<if $securityForceUpgradeToken == 0 && $securityForceVehiclePower < 5>> - <br><<link "Light and medium vehicles">> - <<replace "#resultB">><br> - "Sure, boss." she says, nodding. "Some new wheels should help a lot." She laughs. "The scum out there don't seem to like it when we roll up on them in something better than their piece of shit junkers." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceVehiclePower++, $cash -= 60000*$Env*_costDebuff>> - <</replace>> - <</link>>// Costs <<print cashFormat(60000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceVehiclePower < _LightAndMediumVehiclesMax && $TierTwoUnlock == 1>> - <<if $securityForceVehiclePower < 6>> - <<set _vehCost = 250000>> - <<elseif $securityForceVehiclePower == 6>> - <<set _vehCost = 300000>> - <<elseif $securityForceVehiclePower == 7>> - <<set _vehCost = 490000>> - <</if>> - <br><<link "Light and medium vehicles">> - <<replace "#resultB">><br> - "Sure, boss." she says, nodding. "Some new wheels should help a lot." She laughs. "The scum out there don't seem to like it when we roll up on them in something better than their piece of shit junkers." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceVehiclePower++, $cash -= _vehCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_vehCost*$Env*_costDebuff)>> // - <</if>> - <<if $securityForceVehiclePower == _LightAndMediumVehiclesMax>> - <br>//$securityForceName has fully upgraded the vehicle fleet to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $securityForceHeavyBattleTank < 1 && $TierTwoUnlock == 1>> - <br><<link "A heavy battle tank">> - <<replace "#resultB">><br> - "Sure, boss." she says, nodding. "A heavy battle tank should help a lot." She laughs. "The scum out there don't seem to like it when we roll up on them in something better than their piece of shit junkers." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceHeavyBattleTank++, $cash -= 6000000*$Env*_costDebuff>> - <</replace>> - <</link>>// Costs <<print cashFormat(6000000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceHeavyBattleTank >= 1 && $securityForceHeavyBattleTank < _HeavyBattleTankMax>> - <<if $securityForceHeavyBattleTank < 2>> - <<set _hbtCost = 7500000>> - <<elseif $securityForceHeavyBattleTank == 2>> - <<set _hbtCost = 850000>> - <</if>> - <br><<link "heavy battle tank">> - <<replace "#resultB">><br> - "Sure, boss." she says, nodding. "Upgrading the heavy battle tank should help a lot." She laughs. "The scum out there don't seem to like it when we roll up on them in something better than their piece of shit junkers." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceHeavyBattleTank++, $cash -= _hbtCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_hbtCost*$Env*_costDebuff)>> // - <</if>> - <<if $securityForceHeavyBattleTank == _HeavyBattleTankMax>> - <br>//$securityForceName has fully upgraded the heavy battle tank to support its activities.// - <</if>> - - </span> - <</replace>> - <</link>> - <</if>> - <<if _Garage >= _GarageMax>>//<br>$securityForceName has fully upgraded the garage to support its activities.//<</if>> - - <<if $securityForceUpgradeToken == 0 && _Barracks >= 4 && _Hangar < _HangarMax && (_T1FullUpgradesAirforce != "True" || $TierTwoUnlock == 1)>> - <br><<link "Hangar">> - <<replace "#resultX">> - <span id="resultY"> - <br>"Which unit do you wish to upgrade or 'borrow'?" - <<link "Go back">> - <<goto "SFM Barracks">> - <</link>> - - <<if $securityForceUpgradeToken == 0 && $securityForceAircraftPower < 5>> - <br><<link "Light and medium aircraft">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "Some new VTOLs would be great." She laughs. "They're the real multiplier over the scum out there. Not much a looter gang can do against air support." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceAircraftPower++, $cash -= 70000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(70000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceAircraftPower < _AircraftMax && $TierTwoUnlock == 1>> - <<switch $securityForceAircraftPower>> - <<case 5>> - <<set _airCost = 275000>> - <<case 6>> - <<set _airCost = 325000>> - <<case 7>> - <<set _airCost = 575000>> - <<case 8>> - <<set _airCost = 675000>> - <<case 9>> - <<set _airCost = 775000>> - <</switch>> - <br><<link "Light and medium aircraft">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "Some new VTOLs would be great." She laughs. "They're the real multiplier over the scum out there. Not much a looter gang can do against air support." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceAircraftPower++, $cash -= _airCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_airCost*$Env*_costDebuff)>> // - <</if>> - <<if $securityForceAircraftPower == _AircraftMax>> - <br>//$securityForceName has fully upgraded the air fleet to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $TierTwoUnlock == 1 && $securityForceSpacePlanePower < 1>> - <br><<link "A space plane">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "A orbital plane should help a lot." She laughs. "The scum out there don't seem to like it when we have eyes they can't hit." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSpacePlanePower++, $cash -= 475000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(475000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceSpacePlanePower >= 1 && $securityForceSpacePlanePower < _SpacePlaneMax>> - <<if $securityForceSpacePlanePower < 4>> - <<set _spCost = 5000000>> - <<elseif $securityForceSpacePlanePower == 4>> - <<set _spCost = 7500000>> - <<elseif $securityForceSpacePlanePower == 5>> - <<set _spCost = 8500000>> - <<elseif $securityForceSpacePlanePower == 6>> - <<set _spCost = 9500000>> - <<elseif $securityForceSpacePlanePower == 7>> - <<set _spCost = 1250000>> - <<elseif $securityForceSpacePlanePower == 8>> - <<set _spCost = 1750000>> - <<elseif $securityForceSpacePlanePower == 9 && $securityForceInfantryPower >= 10>> - <<set _spCost = 2500000>> - <<elseif $securityForceSpacePlanePower == 10>> - <<set _spCost = 3500000>> - <<elseif $securityForceSpacePlanePower == 10>> - <<set _spCost = 6500000>> - <<elseif $securityForceSpacePlanePower == 11>> - <<set _spCost = 9500000>> - <</if>> - <br><<link "Space plane">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "Upgrading the orbital plane should help a lot." She laughs. "The scum out there don't seem to like it when we have eyes they can't hit." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSpacePlanePower++, $cash -= _spCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_spCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceSpacePlanePower == _SpacePlaneMax>> - <br>//$securityForceName has fully upgraded the space plane to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $TierTwoUnlock == 1 && $securityForceFortressZeppelin < 1>> - <br><<link "A fortress zeppelin">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "A fortress zeppelin would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceFortressZeppelin++, $cash -= 3000000*$Env*_costDebuff>> - <</replace>><</link>> // Costs <<print cashFormat(3000000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceFortressZeppelin >= 1 && $securityForceFortressZeppelin < _FortressZeppelinMax>> - <br><<link "Fortress zeppelin">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "Upgrading the Fortress Zeppelin, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceFortressZeppelin++, $cash -= 2000000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat( 2000000*$Env*_costDebuff)>> // - <</if>> - <<if $securityForceFortressZeppelin == _FortressZeppelinMax>> - <br>//$securityForceName has fully upgraded the fortress zeppelin to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $TierTwoUnlock == 1 && $securityForceAC130 < 1>> - <br><<link "An AC-130">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "An AC-130 would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceAC130++, $cash -= 3500000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(3500000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceAC130 >= 1 && $securityForceAC130 < _AC130Max>> - <br><<link "AC-130">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "Upgrading the AC-130, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceAC130++, $cash -= 2500000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(2500000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceAC130 == _AC130Max>> - <br>//$securityForceName has fully upgraded the AC-130 to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $TierTwoUnlock == 1 && $securityForceHeavyTransport < 1>> - <br><<link "A heavy transport">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "A heavy transport would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceHeavyTransport++, $cash -= 4000000*$Env*_costDebuff>> - <</replace>><</link>> // Costs <<print cashFormat(4000000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceHeavyTransport >= 1 && $securityForceHeavyTransport < _heavyTransportMax>> - <br><<link "Heavy transport">> - <<replace "#resultY">><br> - "Sure, boss." she says, nodding. "Upgrading the heavy transport, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceHeavyTransport++, $cash -= 3000000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat( 3000000*$Env*_costDebuff)>> // - <</if>> - <<if $securityForceHeavyTransport == _heavyTransportMax>> - <br>//$securityForceName has fully upgraded the heavy transport to support its activities.// - <</if>> - - </span> - <</replace>> - <</link>> - <</if>> - <<if _Hangar >= _HangarMax>>//<br>$securityForceName has fully upgraded the hangar to support its activities.//<</if>> - - <<if $securityForceUpgradeToken == 0 && _DroneBay < 5 && _Barracks >= 2>> - <br><<link "Drone bay">> - <<replace "#resultX">> - "Sure, boss." she says, nodding. "Some new drones would be nice." She laughs. "The poor bastards out there shit themselves when they see combat drones fly over the horizon." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceDronePower++, $cash -= 45000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(45000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && _DroneBay < _DroneBayMax && $TierTwoUnlock == 1>> - <br><<link "Drone bay">> - <<replace "#resultX">> - "Sure, boss." she says, nodding. "Some new drones would be nice." She laughs. "The poor bastards out there shit themselves when they see combat drones fly over the horizon." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceDronePower++, $cash -= 2000000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(2000000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if _DroneBay == _DroneBayMax>> - <br>//$securityForceName has fully upgraded the drone bay to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && (_LaunchBayNO < _LaunchBayNOMax || _LaunchBayO < _LaunchBayOMax) && $TierTwoUnlock == 1>> - <br><<link "Launch Bay">> - <<replace "#resultX">> - <span id="resultZ"> - <br>"Which unit do you wish to upgrade or 'borrow'?" - <<link "Go back">> - <<goto "SFM Barracks">> - <</link>> - - <<if $securityForceUpgradeToken == 0 && $securityForceSatellitePower < 1>> - <br><<link "A Satellite">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "A Satellite should help a lot." She laughs. "The scum out there don't seem to like it when we have eyes they can't hit." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSatellitePower++, $cash -= 3750000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(3750000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceSatellitePower >= 1 && $securityForceSatellitePower < _SatelliteMax>> - <<switch $securityForceSatellitePower>> - <<case 11>> - <<set _satCost = 1500000>> - <<case 12>> - <<set _satCost = 1600000>> - <<case 13>> - <<set _satCost = 1700000>> - <<case 14>> - <<set _satCost = 1800000>> - <<case 15>> - <<set _satCost = 1900000>> - <<case 16>> - <<set _satCost = 25000000>> - <<case 17>> - <<set _satCost = 25000000>> - <<case 18>> - <<set _satCost = 30000000>> - <<case 19>> - <<set _satCost = 45000000>> - <<case 20 && $PC.hacking >= 75>> - <<set _satCost = 55000000>> - <<default>> - <<set _satCost = 2350000>> - <</switch>> - <br><<link "Satellite">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "Upgrading the Satellite should help a lot." She laughs. "The scum out there don't seem to like it when we have eyes they can't hit." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSatellitePower++, $cash -= _satCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_satCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceSatellitePower == 20 && $PC.hacking >= 75>> - <br><<link "Satellite">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "Upgrading the Satellite should help a lot." She laughs. "The scum out there don't seem to like it when we have eyes they can't hit." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSatellitePower++, $cash -= _satCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_satCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceSatellitePower == _SatelliteMax>> - <br>//$securityForceName has fully upgraded the Satellite to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $securityForceGiantRobot < 1 && ($terrain != "oceanic" && $terrain != "marine")>> - <br><<link "A giant robot">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "A giant robot would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceGiantRobot++, $cash -= 50000000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(50000000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceGiantRobot >= 1 && $securityForceGiantRobot < _GiantRobotMax>> - <<if $securityForceGiantRobot < 3>> - <<set _robCost = 25000000>> - <</if>> - <<switch $securityForceGiantRobot>> - <<case 3>> - <<set _robCost = 4500000>> - <<case 4>> - <<set _robCost = 4500000>> - <<case 5>> - <<set _robCost = 6500000>> - <<case 6>> - <<set _robCost = 8500000>> - <<case 7>> - <<set _robCost = 9500000>> - <<case 8>> - <<set _robCost = 1050000>> - <<case 9 && $securityForceInfantryPower >= 10>> - <<set _robCost = 27500000>> - <<case 10>> - <<set _robCost = 3150000>> - <<case 11>> - <<set _robCost = 3200000>> - <<case 12>> - <<set _robCost = 4550000>> - <<case 13>> - <<set _robCost = 6550000>> - <<case 14>> - <<set _robCost = 8550000>> - <<case 15 $PC.hacking >= 75>> - <<set _robCost = 9550000>> - <</switch>> - <br><<link "Giant robot">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "Upgrading the giant robot, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceGiantRobot++, $cash -= _robCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_robCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceGiantRobot == 15 && $PC.hacking >= 75>> - <br><<link "Giant robot">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "Upgrading the giant robot, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceGiantRobot++, $cash -= _robCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_robCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceGiantRobot == _GiantRobotMax && ($terrain != "oceanic" && $terrain != "marine")>> - <br>//$securityForceName has fully upgraded the giant robot to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $securityForceMissileSilo < 1 && ($terrain != "oceanic" && $terrain != "marine")>> - <br><<link "A missile silo">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "A missile silo would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceMissileSilo++, $cash -= 20000000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(20000000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceMissileSilo >= 1 && $securityForceMissileSilo < _MissileSiloMax>> - <<if $securityForceMissileSilo == 1>> - <<set _msCost = 2500000>> - <<elseif $securityForceMissileSilo == 2>> - <<set _msCost = 2950000>> - <</if>> - <br><<link "Missile silo">> - <<replace "#resultZ">><br> - "Sure, boss." she says, nodding. "Upgrading the missile silo, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceMissileSilo++, $cash -= _msCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_msCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceMissileSilo == _MissileSiloMax && ($terrain != "oceanic" && $terrain != "marine")>><br>//$securityForceName has fully upgraded the missile silo to support its activities.//<</if>> - - </span> - <</replace>> - <</link>> - <</if>> - <<if _LaunchBayNO >= _LaunchBayNOMax || _LaunchBayO >= _LaunchBayNOMax>>//<br>$securityForceName has fully upgraded the launch bay to support its activities.//<</if>> - - <<if $securityForceUpgradeToken == 0 && ($terrain == "oceanic" || $terrain == "marine") && (_NavalYard < _NavalYardMax) && $TierTwoUnlock == 1>> - <br><<link "Naval Yard">> - <<replace "#resultX">> - <span id="resultA"> - <br>"Which unit do you wish to upgrade or 'borrow'?" - <<link "Go back">> - <<goto "SFM Barracks">> - <</link>> - - <<if $securityForceUpgradeToken == 0 && $securityForceAircraftCarrier < 1>> - <br><<link "An aircraft carrier">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "An aircraft carrier would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceAircraftCarrier++, $cash -= 1500000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(1500000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceAircraftCarrier >= 1 && $securityForceAircraftCarrier < _AircraftCarrierMax>> - <br><<link "Aircraft carrier">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "Upgrading the aircraft carrier should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceAircraftCarrier++, $cash -= 25000000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(25000000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceAircraftCarrier == _AircraftCarrierMax && ($terrain == "oceanic" || $terrain == "marine")>> - <br>//$securityForceName has fully upgraded the aircraft carrier to support its activities.// - <</if>> - - <<if $securityForceUpgradeToken == 0 && $securityForceSubmarine < 1>> - <br><<link "A submarine">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "A submarine would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSubmarine++, $cash -= 1500000*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(1500000*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceSubmarine >= 1 && $securityForceSubmarine < _SubmarineMax>> - <<if $securityForceSubmarine < 4>> - <<set _subCost = 2500000>> - <<elseif $securityForceSubmarine == 4>> - <<set _subCost = 8500000>> - <<elseif $securityForceSubmarine == 5>> - <<set _subCost = 8650000>> - <<elseif $securityForceSubmarine == 6 && $PC.hacking >= 75>> - <<set _subCost = 8780000>> - <</if>> - <br><<link "Submarine">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "Upgrading the submarine, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSubmarine++, $cash -= _subCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_subCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0 && $securityForceSubmarine == 6 && $PC.hacking >= 75>> - <br><<link "Submarine">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "Upgrading the submarine, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceSubmarine++, $cash -= _subCost*$Env*$HackingSkillMultiplier*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_subCost*$Env*$HackingSkillMultiplier*_costDebuff)>> // - <</if>> - <<if $securityForceSubmarine == _SubmarineMax && ($terrain == "oceanic" || $terrain == "marine")>><br>//$securityForceName has fully upgraded the submarine to support its activities.//<</if>> - - <<if $securityForceUpgradeToken == 0 && $securityForceHeavyAmphibiousTransport < 1>> - <br><<link "A heavy amphibious transport">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "A heavy amphibious transport would help a lot." She laughs. "The scum out there don't seem to like it when we have things that their shit equipment can't damage." She picks up a tablet and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceHeavyAmphibiousTransport++, $cash -= 1500000*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(1500000*$Env*_costDebuff)>> // - <<elseif $securityForceUpgradeToken == 0&& $securityForceHeavyAmphibiousTransport >= 1 && $securityForceHeavyAmphibiousTransport < _HeavyAmphibiousTransportMax>> - <<switch $securityForceHeavyAmphibiousTransport>> - <<case 1>> - <<set _hatCost = 1500000>> - <<case 2>> - <<set _hatCost = 2500000>> - <<case 3>> - <<set _hatCost = 3000000>> - <<case 4>> - <<set _hatCost = 3500000>> - <<case 5>> - <<set _hatCost = 4000000>> - <</switch>> - <br><<link "Heavy amphibious transport">> - <<replace "#resultA">><br> - "Sure, boss." she says, nodding. "Upgrading the heavy amphibious transport, should help us gain a massive advantage." She laughs, picks up a tablet, and taps a few commands on it. "I'll get right on it." - <<set $securityForceUpgradeToken = 1, $securityForceHeavyAmphibiousTransport++, $cash -= _hatCost*$Env*_costDebuff>> - <</replace>> - <</link>> // Costs <<print cashFormat(_hatCost*$Env*_costDebuff)>> // - <</if>> - <<if $securityForceHeavyAmphibiousTransport == _HeavyAmphibiousTransportMax && ($terrain == "oceanic" || $terrain == "marine")>><br>//$securityForceName has fully upgraded the heavy amphibious transport to support its activities.//<</if>> - - </span> - <</replace>> - <</link>> - <</if>> - <<if ($terrain == "oceanic" || $terrain == "marine") && (_NavalYard >= _NavalYardMax)>><br>$securityForceName has fully upgraded the naval yard to support its activities.//<</if>> - -</span> -<</if>> diff --git a/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw b/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw deleted file mode 100644 index c7b3a5dd58a065bdf6dfabe6a71c5baf771f8b48..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw +++ /dev/null @@ -1,97 +0,0 @@ -:: SpecialForceUpgradeTree - -<<silently>> - <<set _BarracksMax = 16>> - <<set $securityForceArcologyUpgrades = Math.clamp($securityForceArcologyUpgrades, 0 , _BarracksMax)>> - <<set _Barracks = $securityForceArcologyUpgrades>> - - - <<set _SupportFacilityMax = 1>> - <<set $SupportFacility = Math.clamp($SupportFacility, 0 , _SupportFacilityMax)>> - <<set _SupportFacility = $SupportFacility>> - - <<set _ArmouryMax = 12>> - <<set $securityForceInfantryPower = Math.clamp($securityForceInfantryPower, 0 , _ArmouryMax)>> - <<set _Armoury = $securityForceInfantryPower>> - - <<set _StimulantLabMax = 10>> - <<set $securityForceStimulantPower = Math.clamp($securityForceStimulantPower, 0 , _StimulantLabMax)>> - <<set _StimulantLab = $securityForceStimulantPower>> - -<<set _Garage = $securityForceVehiclePower+$securityForceHeavyBattleTank>> - <<set _LightAndMediumVehiclesMax = 8>> - <<set $securityForceVehiclePower = Math.clamp($securityForceVehiclePower, 0 , _LightAndMediumVehiclesMax)>> - <<set _HeavyBattleTankMax = 3>> - <<set $securityForceHeavyBattleTank = Math.clamp($securityForceHeavyBattleTank, 0 , _HeavyBattleTankMax)>> -<<set _GarageMax = _LightAndMediumVehiclesMax+_HeavyBattleTankMax>> -<<set _Garage = Math.clamp(_Garage, 0 , _GarageMax)>> - -<<set _Hangar = $securityForceAircraftPower+$securityForceSpacePlanePower+$securityForceFortressZeppelin+$securityForceAC130+$securityForceHeavyTransport>> - <<set _AircraftMax = 10>> - <<set $securityForceAircraftPower = Math.clamp($securityForceAircraftPower, 0 , _AircraftMax)>> - <<set _SpacePlaneMax = 12>> - <<set $securityForceSpacePlanePower = Math.clamp($securityForceSpacePlanePower, 0 , _SpacePlaneMax)>> - <<set _FortressZeppelinMax = 4>> - <<set $securityForceFortressZeppelin = Math.clamp($securityForceFortressZeppelin, 0 , _FortressZeppelinMax)>> - <<set _AC130Max = 6>> - <<set $securityForceAC130 = Math.clamp($securityForceAC130, 0 , _AC130Max)>> - <<set _heavyTransportMax = 4>> - <<set $securityForceHeavyTransport = Math.clamp($securityForceHeavyTransport, 0 , _heavyTransportMax)>> -<<set _HangarMax = _AircraftMax+_SpacePlaneMax+_FortressZeppelinMax+_AC130Max+_heavyTransportMax>> -<<set _Hangar = Math.clamp(_Hangar, 0 , _HangarMax)>> - - <<set _DroneBayMax = 8>> -<<set $securityForceDronePower = Math.clamp($securityForceDronePower, 0 , _DroneBayMax)>> -<<set _DroneBay = $securityForceDronePower>> - -/* Launch Bay */ - <<if $PC.hacking >= 75>> - <<set _SatelliteMax = 21>> - <<set _GiantRobotMax = 16>> - <<else>> - <<set _SatelliteMax = 20>> - <<set _GiantRobotMax = 15>> - <</if>> - <<set $securityForceSatellitePower = Math.clamp($securityForceSatellitePower , 0 , _SatelliteMax)>> - <<set $securityForceGiantRobot = Math.clamp($securityForceGiantRobot , 0 , _GiantRobotMax)>> - <<set _MissileSiloMax = 3>> - <<set $securityForceMissileSilo = Math.clamp($securityForceMissileSilo , 0 , _MissileSiloMax)>> - <<set _LaunchBayNO = $securityForceSatellitePower+$securityForceGiantRobot+$securityForceMissileSilo, _LaunchBayNOMax = _SatelliteMax+_GiantRobotMax+_MissileSiloMax>> -<<set _LaunchBayNO = Math.clamp(_LaunchBayNO , 0 , _LaunchBayNOMax)>> - - <<set _LaunchBayO = $securityForceSatellitePower>> - <<if $PC.hacking >= 75>> - <<set _LaunchBayOMax = 21>> - <<else>> - <<set _LaunchBayOMax = 20>> - <</if>> - <<set _LaunchBayO = Math.clamp(_LaunchBayO , 0 , _LaunchBayOMax)>> - - <<set _AircraftCarrierMax = 6>> - <<if $PC.hacking >= 75>> - <<set _SubmarineMax = 7>> - <<else>> - <<set _SubmarineMax = 6>> - <</if>> - <<set _HeavyAmphibiousTransportMax = 6>> - <<set $securityForceAircraftCarrier = Math.clamp($securityForceAircraftCarrier , 0 , _AircraftCarrierMax)>> - <<set $securityForceSubmarine = Math.clamp($securityForceSubmarine , 0 , _SubmarineMax)>> - <<set $securityForceHeavyAmphibiousTransport = Math.clamp($securityForceHeavyAmphibiousTransport , 0 , _HeavyAmphibiousTransportMax)>> -<<set _NavalYardMax = _AircraftCarrierMax+_SubmarineMax+_HeavyAmphibiousTransportMax>> - -<<set _maxNO = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayNOMax+_SupportFacilityMax>> -<<set _maxO = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayOMax+_NavalYardMax+_SupportFacilityMax>> - -<<if $terrain != "oceanic" && $terrain != "marine">> - <<set $SFNO = _Barracks+_Armoury+_StimulantLab+_Garage+_Hangar+_DroneBay+_LaunchBayNO+_SupportFacility>> - <<set _max = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayNOMax+_SupportFacilityMax>> - <<set $SFO = 0>> - <<set $SFNO = Math.clamp($SFNO , 0, _max)>> -<<elseif $terrain == "oceanic" || $terrain == "marine">> - <<set _NavalYard = $securityForceAircraftCarrier+$securityForceSubmarine+$securityForceHeavyAmphibiousTransport>> - <<set $SFO = _Barracks+_Armoury+_StimulantLab+_Garage+_Hangar+_DroneBay+_LaunchBayO+_NavalYard+_SupportFacility>> - <<set _max = _BarracksMax+_ArmouryMax+_StimulantLabMax+_GarageMax+_HangarMax+_DroneBayMax+_LaunchBayOMax+_NavalYardMax+_SupportFacilityMax>> - <<set $SFNO = 0>> - <<set $SFO = Math.clamp($SFO , 0, _max)>> -<</if>> -<</silently>> diff --git a/src/pregmod/SecForceEX/TrickShotNight.tw b/src/pregmod/SecForceEX/TrickShotNight.tw new file mode 100644 index 0000000000000000000000000000000000000000..206a35ed7214682e4d2a6f5beb7cf00b20f155a4 --- /dev/null +++ b/src/pregmod/SecForceEX/TrickShotNight.tw @@ -0,0 +1,105 @@ +:: Trick Shot Night [nobr] + +<<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check">> + +Despite your direct elevator, interaction with the majority of your security force is relatively scarce. Aside from mutually exchanged nods in the firebase and the occasional briefing, your $SF.Lower enjoy a degree of autonomy. + +<br><br>On a particularly lackadaisical evening, you find yourself alerted to a message alert by $assistantName. +<<if $assistant > 0>> + "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>, a message from $SF.Lower." She pauses before continuing. "It seems they're asking if you'd like to join their trick shot night." +<<else>> + It informs you that $SF.Lower have sent a message asking you to join them at their trick shot night. +<</if>> + +<br><br> <span id="result"> <<link "Politely decline">> + <<replace "#result">> + You inform $SF.Lower that you aren't planning to attend. A short while later, you receive a message from them stating that their invitation is an open one and that you're welcome to join in another night. + <</replace>> +<</link>> + +<<if $cash < 500000>> + <br>//You lack the necessary funds to attend.// +<<else>> /* cash >= 500000 */ + +<br><<link "Attend the trick shot night">> + <<replace "#result">> <<set $PC.warfare += 1>> + You instruct to $assistantName to inform $SF.Lower that you will be attending their trick shot night, and after settling your affairs in the penthouse you head down to the firebase. The atmosphere in the firebase is casual, especially in comparison to the usual situations you meet them, though your security force still maintain some measure of decorum towards you as their employer. Eventually, you settle in at the table with a handful of $SF.Lower officers and cash in your @@.yellowgreen;<<print cashFormat(500000)>>@@ into bullets. All that remains is to decide your strategy for the night. + <br><br> <span id="bountyresult"> + + <<link "Play it safe">> + <<replace "#bountyresult">> + <<if random(1,100) > 50>> + Despite your attempts to mitigate risk and play the safest shots possible, it seems lady luck has conspired against you this evening. However, even when your last bullet is shot, your security force pitch you a few bullets to keep you in the game for the rest of the night. You may have lost most of your ¤, but it seems you've @@.green;made some friends.@@ + <<set $rep += 1000, $cash -= 250000>> + <<else>> + While a careful eye for accuracy has buoyed you through the evening, ultimately lady luck is the decider in handing you the win in a number of close shots. Unfortunately your meticulous play limited your chance at a larger payout, and you only come away from the evening with @@.yellowgreen;<<print cashFormat(100000)>>@@ more than you arrived with and @@.green;the respect of your security force.@@ + <<set $rep += 1000, $cash += 100000>> + <</if>> + <</replace>> + <</link>> + + <br> <<link "Up the ante">> + <<replace "#bountyresult">> + Some aggressive play and an eye for riling up your fellow players has resulted in an immense payout, and all but one of your adversaries have folded as the situation has escalated. The only player still in contention is a wily old mercenary, the veteran of her fair share of battles on the battlefield and at the firing range. She's short on bullets, however, and she'll have to buy in with something else as collateral. + <br><br> <span id="aliveresult"> + + <<link "A year of servitude">> + <<replace "#aliveresult">> + <<if random(1,100) > 50>> + For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up her spoils, the other security force clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@ + <<set $rep += 1000, $cash -= 500000>> + <<else>> + For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. A silence falls over the room as the result is declared, but after some time your opponent breaks the hush by joking that life as your slave is probably easier than fighting for $arcologies[0].name. After some awkward laughter the night continues, and at the end your former mercenary joins you on your trip back to the penthouse to submit to processing and to begin her new life as your sexual servant. She's not young, but she's tough and not distrusting of you due to her service in $SF.Lower. + <br> + <<set $activeSlaveOneTimeMinAge = 25>> + <<set $activeSlaveOneTimeMaxAge = 35>> + <<set $one_time_age_overrides_pedo_mode = 1>> + <<if $arcologies[0].FSSupremacistLawME == 1>><<set $fixedRace = $arcologies[0].FSSupremacistRace>><</if>> + <<include "Generate XX Slave">> + <<set $activeSlave.origin = "$He put herself up as collateral at a trick shot game, and lost.">> + <<set $activeSlave.career = "a soldier">> + <<set $activeSlave.indentureRestrictions = 2>> + <<set $activeSlave.indenture = 52>> + <<if $activeSlave.eyes == -2>> + <<set $activeSlave.eyes = -1>> + <</if>> + <<set $activeSlave.devotion = random(45,60)>> + <<set $activeSlave.trust = random(55,65)>> + <<set $activeSlave.health = random(60,80)>> + <<set $activeSlave.muscles = 60>> + <<if $activeSlave.weight > 130>> + <<set $activeSlave.weight -= 100>> + <<set $activeSlave.waist = random(-10,50)>> + <</if>> + <<set $activeSlave.anus = 0>> + <<set $activeSlave.analSkill = 0>> + <<set $activeSlave.whoreSkill = 0>> + <<set $activeSlave.combatSkill = 1>> + <<set $activeSlave.behavioralFlaw = "arrogant">> + <<set $activeSlave.hStyle = "buzzcut">> + <<include "New Slave Intro">> + <</if>> + <</replace>> + <</link>> + + <br> <<link "Dock her wages">> + <<replace "#aliveresult">> + <<if random(1,100) > 50>> + For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck was not on your side. As the victor sweeps up her spoils, the other security force members clap you on the back and offer their condolences for your defeat. Though you may have lost your ¤, it seems you've @@.green;made some friends.@@ + <<set $rep += 1000, $cash -= 500000>> + <<else>> + For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. Your opponent accepts her defeat with grace and jokes to her comrades that she'll be fighting in her underwear for the next few months, and their uproar of laughter fills the room. Though you take the lion's share of the ¤, your security force also @@.green;had a good time fraternizing with you.@@ + <<set $rep += 2000, $cash += 500000>> + <</if>> + <</replace>> + <</link>> + + </span> + <</replace>> + <</link>> + + </span> + <</replace>> +<</link>> // It will cost @@.yellowgreen;<<print cashFormat(500000)>>@@ to participate in the trick shot night.// +<</if>> +</span> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/Upgrades.tw b/src/pregmod/SecForceEX/Upgrades.tw new file mode 100644 index 0000000000000000000000000000000000000000..2f362621e0d892d1a4767f2988c3e8ac22f7c213 --- /dev/null +++ b/src/pregmod/SecForceEX/Upgrades.tw @@ -0,0 +1,355 @@ +:: Upgrades [nobr] + + <br><br>Total upgrade progress: <<print progress($SF.Units,_max)>> + + <<if $SF.MWU >= 1>> <br>Total multi week $SF.Lower upgrades: $SF.MWU <</if>> + + <<if $SF.U > 0 && $SF.MWU >= 0 && ($SF.Units !== _max)>> + + <br>[[Re-unlock upgrading.|Firebase][$SF.U = 0,$SF.MWU += 1,$cash -= Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000))))]] @@.yellowgreen;<<print cashFormat(Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000)))))>><</if>> + + <<if ($SF.Units < 30 || $SF.Units !== _max) && $SF.U < 1>> <<set _T1 = $SF.Units >= 30>> + + <br>Which facility or equipment do you wish to upgrade this week? <br><br> + + + + <<if $SFUnit.Firebase < 5||_T1 && $SFUnit.Firebase < _FU>> + + <<set _cF = Math.ceil(100000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Firebase/100)))>> + + <<if $cash >= _cF>> + + <<link "Upgrade Firebase">> <<set $SF.U = 1, $SFUnit.Firebase++, $cash -= _cF>><<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Firebase.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cF)>>@@ // + + <<elseif $SFUnit.Firebase == _FU>>//The Firebase has been fully upgraded.// + + <<else>>//More upgrades are required to unlock the next tier.// + + <</if>> <span style="float:right;"> <<print progress($SFUnit.Firebase)>> </span><br> + + + + <<if $SFUnit.Armoury < 5||_T1 && $SFUnit.Armoury < _AU>> + + <<set _cA = Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Armoury/100)))>> + + <<if $cash >= _cA>> + + <<link "Upgrade Armory">> <<set $SF.U = 1, $SFUnit.Armoury++, $cash -= _cA>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Armory.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cA)>>@@ // + + <<elseif $SFUnit.Armoury == _AU>>//The Armory has been fully upgraded.// + + <<else>>//More upgrades are required to unlock the next tier.// + + <</if>> <span style="float:right;"> <<print progress($SFUnit.Armoury)>> </span><br> + + + + <<if $SFUnit.Drugs < 5||_T1 && $SFUnit.Drugs < _DrugsU>> + + <<set _cDrugs = Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drugs/100)))>> + + <<if $cash >= _cDrugs>> + + <<link "Upgrade Drug Lab">><<set $SF.U = 1, $SFUnit.Drugs++, $cash -= _cDrugs>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Drug Lab.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cDrugs)>>@@ // + + <<elseif $SFUnit.Drugs == _DrugsU>>//The Drug Lab has been fully upgraded.// + + <<else>>//More upgrades are required to unlock the next tier.// + + <</if>> <span style="float:right;"> <<print progress($SFUnit.Drugs)>> </span><br> + + + + <<if $SFUnit.Firebase >= 2 && ($SFUnit.Drones < 5 ||_T1 && $SFUnit.Drones < _DU)>> + + <<set _cDrones = Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*HSM())>> + + <<if $cash >= _cDrones>> + + <<link "Upgrade Drone Bay">><<set $SF.U = 1, $SFUnit.Drones++, $cash -= _cDrones>> <<goto "Firebase">> <</link>> + + <<else>>//Cannot afford to upgrade the Drone Bay.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*HSM()))>>@@ // <span style="float:right;"> <<print progress($SFUnit.Drones)>> </span> + + <<elseif $SFUnit.Drones == _DU>>//The Drone Bay has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.Drones)>> </span> + + <<elseif _T1 && $SFUnit.Drones == 5>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.Drones)>> </span><</if>> + + + + <<if $SFUnit.Firebase >= 1 && $terrain !== "oceanic">><br>''Garage'' + + <div style="margin-left:2em"><<if ($SFUnit.AV < 5||_T1 && $SFUnit.AV < _AVU)>> + + <<set _cAV = Math.ceil(60000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AV/100)))>> + + <<if $cash >= _cAV>> + + <<link "Upgrade Attack Vehicle Fleet">><<set $SF.U = 1, $SFUnit.AV++, $cash -= _cAV>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Attack Vehicle Fleet.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cAV)>>@@//<span style="float:right;"><<print progress($SFUnit.AV)>></span> + + <<elseif $SFUnit.AV == _AVU>>//The Attack Vehicle Fleet has been fully upgraded.//<span style="float:right;"><<print progress($SFUnit.AV)>></span> + + <<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"><<print progress($SFUnit.AV)>></span> + + <</if>></div> + + + + <div style="margin-left:2em"><<if ($SFUnit.TV < 5||_T1 && $SFUnit.TV < _TVU)>> + + <<set _cTV = Math.ceil(60000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.TV/100)))>> + + <<if $cash >= _cTV>> + + <<link "Upgrade Transport Vehicle Fleet">><<set $SF.U = 1, $SFUnit.TV++, $cash -= _cTV>><<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Transport Vehicle Fleet.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cTV)>>@@//<span style="float:right;"><<print progress($SFUnit.TV)>> </span> + + <<elseif $SFUnit.TV == _TVU>>//The Transport Vehicle Fleet has been fully upgraded.//<span style="float:right;"><<print progress($SFUnit.TV)>></span> + + <<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.TV)>> </span><</if>></div> + + + + <div style="margin-left:2em"><<if _T1 && $SFUnit.PGT < _PGTU>> + + <<set _cPGT = Math.ceil(735000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.PGT/100)))>> + + <<if $cash >= _cPGT>> + + <<link "Upgrade Prototype Goliath tank">><<set $SF.U = 1, $SFUnit.PGT++, $cash -= _cPGT>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Prototype Goliath Tank.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cPGT)>>@@ //<span style="float:right;"> <<print progress($SFUnit.PGT)>> </span> + + <<elseif $SFUnit.PGT == _PGTU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.PGT)>> </span> + + <<elseif $SFUnit.PGT == _PGTU>>//The Prototype Goliath Tank has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.PGT)>> </span><</if>></div><</if>> + + + + <<if $SFUnit.Firebase >= 4>><br>''Hangar'' + + <div style="margin-left:2em"><<if $SFUnit.AA < 5||_T1 && $SFUnit.AA < _AAU>> + + <<set _cAA = Math.ceil(70000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AA/100)))>> + + <<if $cash >= _cAA>> + + <<link "Upgrade Attack Aircraft Fleet">><<set $SF.U = 1, $SFUnit.AA++, $cash -= _cAA>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Attack Aircraft Fleet.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cAA)>>@@ //<span style="float:right;"> <<print progress($SFUnit.AA)>> </span> + + <<elseif $SFUnit.AA == _AAU>>//The Attack Aircraft Fleet has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.AA)>> </span> + + <<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.AA)>> </span><</if>></div> + + + + <div style="margin-left:2em"><<if $SFUnit.TA < 5||_T1 && $SFUnit.TA < _TAU>> + + <<set _cTA = Math.ceil(70000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.TA/100)))>> + + <<if $cash >= _cTA>> + + <<link "Upgrade Transport Aircraft Fleet">><<set $SF.U = 1, $SFUnit.TA++, $cash -= _cTA>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Transport Aircraft Fleet.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cTA)>>@@ //<span style="float:right;"> <<print progress($SFUnit.TA)>> </span> + + <<elseif $SFUnit.TA == _TAU>>//The Transport Aircraft Fleet has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.TA)>> </span> + + <<else>>//More upgrades are required to unlock the next tier.//<span style="float:right;"> <<print progress($SFUnit.TA)>> </span><</if>></div> + + + + <div style="margin-left:2em"><<if _T1 && $SFUnit.SpacePlane < _SPU>> + + <<set _cSP = Math.ceil(250000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.SpacePlane/100))*HSM())>> + + <<if $cash >= _cSP>> + + <<link "Upgrade Spaceplane">><<set $SF.U = 1, $SFUnit.SpacePlane++, $cash -= _cSP>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Spaceplane.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cSP)>>@@//<span style="float:right;"><<print progress($SFUnit.SpacePlane)>> </span> + + <<elseif $SFUnit.SpacePlane == _SPU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.SpacePlane)>> </span> + + <<elseif $SFUnit.SpacePlane == _SPU>>//The Spaceplane has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.SpacePlane)>> </span><</if>></div> + + + + <div style="margin-left:2em"><<if _T1 && $SFUnit.GunS < _GunSU>> + + <<set _cGunS = Math.ceil(350000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GunS/100))*HSM())>> + + <<if $cash >= _cGunS>> + + <<link "Upgrade Gunship">><<set $SF.U = 1, $SFUnit.GunS++, $cash -= _cGunS>><<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Gunship.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cGunS)>>@@ //<span style="float:right;"> <<print progress($SFUnit.GunS)>> </span> + + <<elseif $SFUnit.GunS == _GunSU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.GunS)>> </span> + + <<elseif $SFUnit.GunS == _GunSU>>//The Gunship has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.GunS)>> </span><</if>></div><</if>> + + + + <<if _T1>>''Launch Bay'' + + <div style="margin-left:2em"><<if $SFUnit.Satellite < _SatU && $SatLaunched < 1>> + + <<set _cSat = Math.ceil(525000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Satellite/100))*HSM())>> + + <<if $cash >= _cSat>> + + <<link "Upgrade Satellite">><<set $SF.U = 1, $SFUnit.Satellite++, $cash -= _cSat>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Satellite.//>><</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cSat)>>@@//<span style="float:right;"><<print progress($SFUnit.Satellite)>> </span> + + <<elseif $SFUnit.Satellite == _SatU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.Satellite)>> </span> + + <<else>>//The Satellite has been fully upgraded.//<span style="float:right;"><<print progress($SFUnit.Satellite)>></span><</if>></div> + + + + <<if $terrain !== "oceanic">> + + <div style="margin-left:2em"><<if $SFUnit.GiantRobot < _GRU>> + + <<set _cGR = Math.ceil(550000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GiantRobot/100))*HSM())>> + + <<if $cash >= _cGR>> + + <<link "Upgrade Giant Robot">><<set $SF.U = 1, $SFUnit.GiantRobot++, $cash -= _cGR>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade the Giant Robot.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cGR)>>@@//<span style="float:right;"><<print progress($SFUnit.GiantRobot)>></span> + + <<elseif $SFUnit.GiantRobot == _GRU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.GiantRobot)>> </span> + + <<else>>//The Giant Robot has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.GiantRobot)>> </span><</if>></div><</if>> + + + + <div style="margin-left:2em"><<if $SFUnit.MissileSilo < _MSU>> + + <<set _cMS = Math.ceil(565000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.MissileSilo/100))*HSM())>> + + <<if $cash >= _cMS>> + + <<link "Upgrade Cruise Missile">><<set $SF.U = 1, $SFUnit.MissileSilo++, $cash -= _cMS>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Cruise Missile.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cMS)>>@@ //<span style="float:right;"><<print progress($SFUnit.MissileSilo)>></span> + + <<elseif $SFUnit.MissileSilo == _MSU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.MissileSilo)>> </span> + + <<else>>//The Cruise Missile has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.MissileSilo)>> </span><</if>></div><</if>> + + + + <<if _T1 && ($terrain == "oceanic" || $terrain == "marine")>>''Naval Yard'' + + <div style="margin-left:2em"><<if $SFUnit.AircraftCarrier < _ACU>> + + <<set _cAC = Math.ceil(650000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AircraftCarrier/100))*HSM())>> + + <<if $cash >= _cAC>> + + <<link "Upgrade Aircraft Carrier">><<set $SF.U = 1, $SFUnit.AircraftCarrier++, $cash -= _cAC>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Aircraft Carrier.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(Math.ceil(650000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AircraftCarrier/100))*HSM()))>>@@ //<span style="float:right;"> <<print progress($SFUnit.AircraftCarrier)>> </span> + + <<elseif $SFUnit.AircraftCarrier == _ACU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.AircraftCarrier)>> </span> + + <<else>>//The Aircraft Carrier has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.AircraftCarrier)>> </span><</if>></div> + + + + <div style="margin-left:2em"><<if $SFUnit.Sub < _SubU>> + + <<set _cSub = Math.ceil(700000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Sub/100))*HSM())>> + + <<if $cash >= _cSub>> + + <<link "Upgrade Submarine">><<set $SF.U = 1, $SFUnit.Sub++, $cash -= _cSub>> <<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Submarine//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cSub)>>@@ //<span style="float:right;"> <<print progress($SFUnit.Sub)>> </span> + + <<elseif $SFUnit.Sub == _SubU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.Sub)>> </span> + + <<else>>//The Submarine has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.Sub)>> </span><</if>></div> + + + + <div style="margin-left:2em"><<if $SFUnit.HAT < _HATU>> + + <<set _cHAT = Math.ceil(665000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.HAT/100)))>> + + <<if $cash >= _cHAT>> + + <<link "Upgrade Amphibious Transport">><<set $SF.U = 1, $SFUnit.HAT++, $cash -= _cHAT>><<goto "Firebase">><</link>> + + <<else>>//Cannot afford to upgrade Amphibious Transport.//<</if>> + + //Costs @@.yellowgreen;<<print cashFormat(_cHAT)>>@@ //<span style="float:right;"> <<print progress($SFUnit.HAT)>> </span> + + <<elseif $SFUnit.HAT == _HATU && $PC.warfare < 75>>//Your warfare skill is not high enough unlock the next upgrade.//<span style="float:right;"> <<print progress($SFUnit.HAT)>> </span> + + <<else>>//The Amphibious Transport has been fully upgraded.//<span style="float:right;"> <<print progress($SFUnit.HAT)>> </span><</if>></div> + + <</if>> + + <<if _T1 < 1>>//More firebase upgrades are required to unlock further upgrades.//<</if>> + + <</if>> + + /* @@.green;<<link "Support Facility">> <<replace "#resultX">> + + <<set $SF.U = 1, $cash -= Math.ceil( (($C*(1.15+(($SFA0/1000))*($U+.15))*_Env )>> + + <<set $SFIDs = [], $SupportFacilityDecoration = "standard", $SupportFacilityNameCount = "The Support Facility", $SupportFacilityEfficiency = 0>> + + <<set $SupportFacility = 5, $SupportFacilitySlaves = 0, $LieutenantColonel = 0>> + + <<set $FacilitySupportSpeedUpgrades = 0, $FacilitySupportTrainingUpgrade = 0>> + + <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(Math.ceil($C*(1.15+(($SFA0/1000)*($U+.15)*_Env)))>>@@ //*/ \ No newline at end of file diff --git a/src/pregmod/SecForceEX/WeeklyChoices.tw b/src/pregmod/SecForceEX/WeeklyChoices.tw new file mode 100644 index 0000000000000000000000000000000000000000..aac1bdac321a4425d6412a6e41ab24bffa406307 --- /dev/null +++ b/src/pregmod/SecForceEX/WeeklyChoices.tw @@ -0,0 +1,197 @@ +:: WC [nobr] + +<<if $SF.WG === 0 && $SFTradeShow.CanAttend === -1 && ($SFColonel.Talk + $SFColonel.Fun !== 1)>> + The Colonel looks down a list on her tablet. "There's some things we can do to help you out, boss. + <br>We've had some good prizes turn up, that's made us some extra money we could turn over. | <<link "Request cash""Firebase">> + /*<<set $CashGift = ((Math.ceil((Math.abs($cash)*0.05)*(Math.max(0.99,$SF.Units))))*($arcologies[0].prosperity/100))*_Env>> OLD*/ + <<set $CashGift = Math.ceil(25000*($SF.Units/10)*_Env),$SF.WG = 1,$choice = 1>> + <<set $CashGift = ($CashGift > 5000 ? $CashGift : 5000),$cash += $CashGift>> + <</link>> + <<if $rep < 20000>> + <br>If you want we could throw a quick military parade, get the people feeling extra patriotic. | <<link "Request military parade""Firebase">> + <<set $GoodWords1 += 50*(Math.ceil($SF.Units*0.03*_Env))>> + <<set $GoodWords1 = (Number($GoodWords1) ? $GoodWords1 : 500),$SF.WG = 1>> + <<set $rep += $GoodWords1,$choice = 2>> + <</link>><</if>> + <<if $arcologies[0].prosperity < $AProsperityCap>> + <br>Or we could hit some businesses that rival the ones in $arcologies[0].name with some sabotage. | <<link "Request sabotage""Firebase">> + <<set $GoodWords2 = _EnvProsp+(Math.ceil($SF.Units/100*_Env)),$SF.WG = 1,$choice = 3>> + <<if $arcologies[0].prosperity + $GoodWords2 > $AProsperityCap>> + <<set $arcologies[0].prosperity = $AProsperityCap>> + <<else>><<set $arcologies[0].prosperity += $GoodWords2>><</if>> <</link>> <</if>> +<<elseif $SF.WG == 0 && ($SFTradeShow.CanAttend > -1 || ($SFColonel.Talk + $SFColonel.Fun > 0))>> + <br>He looks down a list on his tablet. "<<if $PC.title != 0>>Sir<<else>>Ma'am<</if>>, how can $SF.Lower help you this week? + <br>$SF.Caps can spare some profits from our recent operations. | <<link "Request cash""Firebase">> + <<set $CashGift = 25000*($SF.Units/10)*_Env,$SF.WG = 1,$choice = 1>> + <<set $CashGift = ($CashGift > 5000 ? $CashGift : 5000),$cash += Math.ceil($CashGift * 0.8)>> + <</link>> + <<if $rep < 20000>> + <br>We can set some units aside for a ceremonial march through the arcology. | <<link "Request a parade""Firebase">> + <<set $GoodWords1 += 50*(Math.ceil($SF.Units*0.03*_Env))>> + <<set $GoodWords1 = (Number($GoodWords1) ? $GoodWords1 : 500),$SF.WG = 1>> + <<set $rep += Math.ceil($GoodWords1*0.8),$choice = 2>> + <</link>> <</if>> + <<if $arcologies[0].prosperity < $AProsperityCap>> + <br>Or we can target rival businesses for sabotage. | <<link "Request sabotage""Firebase">> + <<set $GoodWords2 = _EnvProsp+(Math.ceil($SF.Units/100*_Env)),$SF.WG = 1,$choice = 3>> + <<if $arcologies[0].prosperity + $GoodWords2 * 0.8 > $AProsperityCap>> + <<set $arcologies[0].prosperity = $AProsperityCap>> + <<else>><<set $arcologies[0].prosperity += Math.ceil($GoodWords2*0.8)>><</if>> <</link>> <</if>> +<</if>> + +<<if $SFColonel.Talk === 0 && $SFColonel.Fun === 0 && $SFTradeShow.CanAttend === -1>> <span id="result0"> +<br><br>If you need me for anything else, let me know."<br> +<<if $SFColonel.Status >= 25>> + <<link "Walk with the Colonel on the surface.">> <<replace "#result0">> + <<set $SFColonel.Talk = 1>> + <br><br>You ask the Colonel if she would like to stretch her legs up on the surface. It doesn't take much effort for her to agree. + <<if $PC.warfare >= 100 && $PC.career == "mercenary">> + Your mastery of wet work and prior experience in a PMC satisfies the Colonel that between you<<if $Bodyguard != 0>> , $Bodyguard.slaveName,<</if>> and her, there should be little threat to walking around the arcology. Being able to see and interact with the arcology owner directly maintains the false idea that you're just like one of them while also giving them an increased opportunity to try gaining your favor. + <<set $rep += 10, $cash += _EnvCash2>> + <<elseif $PC.warfare >= 100>> + Your mastery of wet work satisfies the Colonel that you only need two soldiers <<if $Bodyguard != 0>> plus $Bodyguard.slaveName<</if>> to walk safely around the arcology. Being able to see and interact with the arcology owner directly maintains the false idea that you're just like one of them while also giving them an increased opportunity to try gaining your favor. + <<set $rep += 5, $cash += _EnvCash3>> + <<elseif $PC.warfare >= 60>> + With some expertise in warfare, the Colonel believes <<if $Bodyguard != 0>>with $Bodyguard.slaveName <</if>>you only need a squad of armed soldiers for a walk through the arcology. + <<elseif $PC.warfare >= 30>> + As you have some skill in warfare, the Colonel believes<<if $Bodyguard != 0>> with $Bodyguard.slaveName<</if>> you only need two full squads of armed soldiers for a walk around the arcology. + <<elseif $PC.warfare >= 10>> + Your minor skill in warfare convinces the Colonel that <<if $Bodyguard != 0>>in addition to $Bodyguard.slaveName, <</if>>you need two full squads of armed soldiers and an armored car escort for a simple walk around the arcology. + <<else>> + Your complete lack of combat skill convinces the Colonel that <<if $Bodyguard != 0>>in addition to $Bodyguard.slaveName, <</if>>you need two full squads of armed soldiers, an armored car escort, and a sniper overwatch for a simple walk around the arcology. + <</if>><br>As you make your way through the arcology you stop at a + <<if $arcologies[0].FSPaternalist != "unset">> + paternalist shop, <<if $SFColonel.Core == "cruel">>earning a sneer from the Colonel.<<else>>helping the Colonel select some luxurious and relaxing slave treatments.<</if>> + <<elseif $arcologies[0].FSPastoralist != "unset">> + pastoralist shop, helping the Colonel select a more comfortable breast pump. + <<else>>shop that catches the Colonel's eye. <</if>> + <<if $PC.slaving >= 100 && $PC.career == "slaver">> + Your mastery and extensive history of slaving allows you assist the Colonel greatly. The shop owner is so impressed by your understanding of slavery that she asks you for some advice. Before you leave, you manage to pass on a few tips, helping the business with future customers. + <<if $arcologies[0].prosperity < $AProsperityCap>> + <<set $arcologies[0].prosperity++>> <</if>> + <<elseif $PC.slaving >= 100>> + Your mastery and extensive history of slaving allows you assist the Colonel greatly. The shop owner is so impressed by your understanding of slavery that she asks you for some advice. Before you leave, you manage to pass on a few tips, helping the business with future customers. + <<if $arcologies[0].prosperity < $AProsperityCap>> + <<set $arcologies[0].prosperity++>> <</if>> + <<elseif $PC.slaving >= 60>> + Your expertise in slavery allows you to help the Colonel decide what to buy for her main slave. + <<elseif $PC.slaving >= 30>> + Your moderate skill in slavery makes you somewhat helpful to the Colonel in deciding what to buy for her main slave. + <<elseif $PC.slaving >= 10>> + Your basic skill level of slavery doesn't allow you to help the Colonel at all. + <<elseif $PC.slaving < 10>> + Your total lack of slavery skill (which is very unusual and very concerning for an arcology owner) means that you are of little to no help or even a hindrance. The shopkeeper notices your complete ineptitude, and as soon as you've left the rumor mill begins. + <<set $rep -= 20>><</if>> + <br>Soon the entourage heads back to the HQ of $SF.Lower. + <<if random(1,100) > 50>>Along the route you see a homeless citizen with a serious injury begging for help. + <<if $PC.medicine >= 100 && $PC.career == "medicine">> + Your expertise in surgery ensures that the citizen receives the best care they'll ever experience in their life. They are so grateful that they are more than happy to try and compensate your time. Word quickly spreads of the kindly medically trained arcology owner who took the time to heal a citizen, providing confidence to the rest of the citizens. + <<set $rep += 10, $cash += _EnvCash4>> + <<elseif $PC.medicine >= 100>> + Your expertise in surgery ensures that the citizen receives the best care they'll ever experience in their life. Word quickly spreads of the kindly arcology owner who took the time to heal a citizen. + <<set $rep += 5>> + <<elseif $PC.medicine >= 60>> + Your proficiency in surgery allows you to properly close their wound with minimal trauma to the patient. + <<elseif $PC.medicine >= 30>> + Your moderate surgical skill ensures that you can close the citizen's wound, though not without likely scarring. + <<elseif $PC.medicine >= 10>> + Your basic surgical skill in medicine is sufficient only to stabilize the citizen's wounds before medical assistnance arrives. + <<else>> + Your total lack of surgical skill causes the death of the citizen through repeated medical blunders. + <<set $arcologies[0].prosperity -= .25>><</if>><</if>> + <<set $SFColonel.Status += 2>><</replace>> <</link>><</if>> + +<br><<link "Talk in $SF.Lower's HQ.">> <<replace "#result0">> <span id="result1"> +<br><br>What do you want to do with the Colonel in the HQ? +<br><<link "Talk">><<replace "#result1">> +<br><br>You and the Colonel talk over some $PC.refreshment, where she ends up talking about her past. You learn a little more about her. +<<set $SFColonel.status +=3>> +<<switch random(1,6)>> +<<case 1>> + <<set $PC.medicine += 1>><<set $PC.trading += 1>><<set $PC.slaving += 1>> +<<case 2>> + <<set $PC.trading += 1>><<set $PC.slaving += 1>><<set $PC.engineering += 1>> +<<case 3>> + <<set $PC.slaving += 1>><<set $PC.engineering += 1>><<set $PC.hacking += 1>> +<<case 4>> + <<set $PC.engineering += 1>><<set $PC.hacking += 1>><<set $PC.warfare += 1>> +<<case 5>> + <<set $PC.hacking += 1>><<set $PC.warfare += 1>><<set $PC.medicine += 1>> +<<case 6>> + <<set $PC.warfare += 1>><<set $PC.medicine += 1>><<set $PC.trading += 1>> +<</switch>> +<</replace>><</link>> + +<br><<link "Learn">> <<replace "#result1">> +<<set $SFColonel.Talk = 1,$SFColonel.Status += 1>> +<br><br>"Sure boss, I can use a break from all of this," she laughs. The Colonel tells a story about one time when she +<<switch random(1,6)>> +<<case 1>> + used field medicine to save another merc's life, teaching you some medical procedures in the process. + <<set $PC.medicine += 5>> +<<case 2>> + haggled for necessary gear with a stingy quartermaster, teaching you how to get what you want from traders. + <<set $PC.trading += 5>> +<<case 3>> + found a load of human chattel in a raid and had to manage them before they could later be unloaded, teaching you how to better care for your slaves. + <<set $PC.slaving += 5>> +<<case 4>> + was responsible for rebuilding a fort she had seized, teaching you how to better manage construction in your arcology. + <<set $PC.engineering += 5>> +<<case 5>> + was forced to hack her way out of a trap, teaching you how to better penetrate digital security. + <<set $PC.hacking += 5>> +<<case 6>> + fought off an entire battalion with only a small squad, teaching you how to think tactically in battle. + <<set $PC.warfare += 5>> +<</switch>> +<</replace>> <</link>> + +<<if $SFColonel.Status >= 45>> +<br><<link "Have some fun.">> <<replace "#result1">> + @@.orange;<<link "Go back""Firebase">> + <<set $SFColonel.Fun = 0, $SFColonel.Talk = 0,$SFColonel.Status -= 3>> + <</link>>@@ + <<set $SFColonel.Fun = 1,$SFColonel.Talk = 1,$SFColonel.Status += 3>> + Where should this fun take place? + <br>@@.orange;<<link "In private">> <span id="result6"> + Which orifice do you wish to target? + @@.orange;<<link "Go back""Firebase">> <</link>>@@ + <br>@@.orange;<<link "Pussy">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 1>> <</link>>@@ + <br>@@.orange;<<link "Ass">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 1>> <</link>>@@ + <br>@@.orange;<<link "Both pussy and ass">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 2>> <</link>>@@ + <br>@@.orange;<<link "Mouth">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 1>> <</link>>@@ + <br>@@.orange;<<link "All three holes">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 3>> <</link>>@@ + </span> <</link>>@@ + + <br>@@.orange;<<link "On The Colonel's throne.">> <span id="result6"> + Which orifice do you wish to target? + @@.orange;<<link "Go back""Firebase">> <</link>>@@ + <br>@@.orange;<<link "Pussy">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 1>> <</link>>@@ + <br>@@.orange;<<link "Ass">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 1>> <</link>>@@ + <br>@@.orange;<<link "Both pussy and ass">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 2>> <</link>>@@ + <br>@@.orange;<<link "Mouth">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 1>> <</link>>@@ + <br>@@.orange;<<link "All three holes">> <<replace "#result6">> + <<include "SFColonelSexDec">> + <</replace>> <<set $SFColonel.Fun += 3>> <</link>>@@ + </span> <</link>>@@ +<</replace>><</link>><</if>><br>[[Go back|Firebase]]/*Closes fun*/ +</span> <</replace>> <</link>>@@ <</if>> /*Closes spend time with The Colonel*/ \ No newline at end of file diff --git a/src/pregmod/SecForceEX/securityForceTradeShow.tw b/src/pregmod/SecForceEX/securityForceTradeShow.tw deleted file mode 100644 index c3037fc70415e49ab243fc179de9e842391cfcf0..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/securityForceTradeShow.tw +++ /dev/null @@ -1,135 +0,0 @@ -:: securityForceTradeShow [nobr] - -<<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check">> -<<set $Env = simpleWorldEconomyCheck()>> -<<if ndef $TradeShowAttendanceGranted>> <<set $TradeShowAttendanceGranted = 0>> <</if>> - -<<if $OverallTradeShowAttendance == 0>> - - <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, back when I was a major before I joined $securityForceName. Me and a couple of colleagues went to a bi-yearly international security trade show, I would very much like to continue doing so. Can I?<span id="choice1"> - - <<link "Yes,">> - <<replace "#choice1">> - <br><br>"Thank you <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>." - <<set $OverallTradeShowAttendance += 1, $CurrentTradeShowAttendanceGranted = 1, $TradeShowAttendanceGranted = 1>> - <</replace>> - <</link>> - - <<link "No">> - <<replace "#choice1">> - <br><br>"I understand <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>." - <</replace>> - <</link>> - </span> - -<<elseif $OverallTradeShowAttendance >= 1>> -The (bi-yearly) security trade show has finally come around and even though you've already granted The Colonel permission to attend, she's decided to come and ask for the leave personally. - - <span id="choice2"> - - <br><br> - <<link "Grant leave">> - <<replace "#choice2">><br> - <br>"Thanks <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>" - - <<set $CurrentTradeShowAttendanceGranted = 1, _TradeShowAttendes = 150, _BonusProviderPercentage = .15, _MenialSlavesPerAttendee = 15>> - - <<include "SpecialForceUpgradeTree">> - - <<if $arcologies[0].prosperity < 25>> - <<set _TradingPower = 15>> - <<elseif $arcologies[0].prosperity > 70>> - <<set _TradingPower = 25>> - <<elseif $arcologies[0].prosperity > 65>> - <<set _TradingPower = 24>> - <<elseif $arcologies[0].prosperity > 60>> - <<set _TradingPower = 23>> - <<elseif $arcologies[0].prosperity > 55>> - <<set _TradingPower = 22>> - <<elseif $arcologies[0].prosperity > 50>> - <<set _TradingPower = 21>> - <<elseif $arcologies[0].prosperity > 45>> - <<set _TradingPower = 20>> - <<elseif $arcologies[0].prosperity > 40>> - <<set _TradingPower = 19>> - <<elseif $arcologies[0].prosperity > 35>> - <<set _TradingPower = 18>> - <<elseif $arcologies[0].prosperity > 30>> - <<set _TradingPower = 17>> - <<elseif $arcologies[0].prosperity > 25>> - <<set _TradingPower = 16>> - <</if>> - - <<set _SuccesfulPersuationAttempt = 0>> - <<if ($SFNO || $SFO) < 10 && random(0,100)+_TradingPower > 90>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.05>> - <<elseif ($SFNO || $SFO) >= 110 && random(0,100)+_TradingPower > 40>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.95>> - <<elseif ($SFNO || $SFO) >= 100 && random(0,100)+_TradingPower > 45>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.90>> - <<elseif ($SFNO || $SFO) >= 90 && random(0,100)+_TradingPower > 50>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.80>> - <<elseif ($SFNO || $SFO) >= 80 && random(0,100)+_TradingPower > 55>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.70>> - <<elseif ($SFNO || $SFO) >= 70 && random(0,100)+_TradingPower > 60>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.60>> - <<elseif ($SFNO || $SFO) >= 60 && random(0,100)+_TradingPower > 65>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.50>> - <<elseif ($SFNO || $SFO) >= 50 && random(0,100)+_TradingPower > 70>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.40>> - <<elseif ($SFNO || $SFO) >= 40 && random(0,100)+_TradingPower > 75>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.30>> - <<elseif ($SFNO || $SFO) >= 30 && random(0,100)+_TradingPower > 80>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.20>> - <<elseif ($SFNO || $SFO) >= 10 && random(0,100)+_TradingPower > 85>> - <<set _SuccesfulPersuationAttempt = 1>> - <<set _PersuationBonus = 1.10>> - <</if>> - - <<if _SuccesfulPersuationAttempt == 0>> - <<set _PersuationBonus = 1>> - <</if>> - - <<set _MenialSlaves = Math.ceil(random(0,_TradeShowAttendes)*_BonusProviderPercentage*_MenialSlavesPerAttendee*_PersuationBonus)>> - <<set _Profit = Math.ceil($cash*.010*$SFNO || $SFO*$arcologies[0].prosperity*$Env)*_PersuationBonus>> - - <br>During a break, The Colonel manages to sell some generic schematics to the _TradeShowAttendes people present, some decided to also give her some menial slaves as a bonus. - - <<set $helots = $helots+_MenialSlaves>> - <<set $TradeShowHelots += _MenialSlaves>> - <<set $TotalTradeShowHelots += _MenialSlaves>> - - <<set $cash = $cash+_Profit>> - <<set $TradeShowIncome += _Profit>> - <<set $TotalTradeShowIncome += _Profit>> - - <<if $ColonelRelationship >= 65 && $LieutenantColonel == 1 && $ColonelCore == "brazen">> - <br><br> - <<link "Have sex with The Colonel in a bathroom stall">> - The crowd are shocked by the loud noises coming from a bathroom stall. - <<set $rep -= 150, $securityForceSexedColonel += 1>> - <</link>> - <</if>> - - <</replace>> - <</link>> - - <br><<link "Request she remain on base">> - <<replace "#choice2">> - <br>The look of disappointment is barely noticeable on The Colonel's face. - <</replace>> - <</link>> - - </span> - -<</if>> diff --git a/src/pregmod/eliteTakeOver.tw b/src/pregmod/eliteTakeOver.tw index 32ab19a419a8b8b60a9045f5e9e2b13820fefbb8..e812c96022082a1c9db7508e1aa5971054e2a231 100644 --- a/src/pregmod/eliteTakeOver.tw +++ b/src/pregmod/eliteTakeOver.tw @@ -74,12 +74,12 @@ You look up from your desk as the locked door to your office unseals, and a doze <</replace>> <</link>> <</if>> - <<if $securityForceActive == 1>> - <br> - <<link "Send a message to The Colonel">> - <<set $finalChoice = "colonel">> + <<if $SF.Toggle && $SF.Active >= 1>> + <br> <<set _N = SFC()>> + <<link "Send a message to _N">> + <<set $finalChoice = "SF">> <<replace "#fate">> - send a message to The Colonel. + send a message to <<print SFC()>>. <</replace>> <</link>> <</if>> @@ -111,4 +111,4 @@ You look up from your desk as the locked door to your office unseals, and a doze <<link "Confirm">> <<goto "eliteTakeOverFight">> <</link>> -<</if>> \ No newline at end of file +<</if>> diff --git a/src/pregmod/eliteTakeOverFight.tw b/src/pregmod/eliteTakeOverFight.tw index 11d33b570ad18502ebe6566a99ef44abee19dcc8..dce7bf2f5ac7ba63e1752bd720c591d171a5577b 100644 --- a/src/pregmod/eliteTakeOverFight.tw +++ b/src/pregmod/eliteTakeOverFight.tw @@ -30,8 +30,8 @@ <<case "mercenaries">> <br>You send a quick message to the leader of your $mercenariesTitle, about your situation, then you pick up the revolver and quickly take aim. <<set $MercenariesMessageSent = 1>> -<<case "colonel">> - <br>You send a quick message to The Colonel about your situation, then you pick up the revolver and quickly take aim. +<<case "SF">> + <br>You send a quick message to <<print SFC()> about your situation, then you pick up the revolver and quickly take aim. <<set $SpecialForcesMessageSent = 1>> <<case "enrage">> <<if $PC.career != "wealth" && $PC.career != "engineer" && $PC.career != "medicine">> @@ -242,8 +242,8 @@ <<set $eliteFate = 2>> <<goto "eliteTakeOverResult">> <</link>> -<<elseif $SpecialForcesMessageSent == 1>> - It is now that a squad of $securityForceName makes their entrance, pointing their guns at the <<if $eliteLeft < $eliteTotal>>remaining<</if>> elite. +<<elseif $SpecialForcesMessageSent>> + It is now that a squad of $SF.Lower makes their entrance, pointing their guns at the <<if $eliteLeft < $eliteTotal>>remaining<</if>> elite. The officer asks "your orders <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>?" <br> <<link "Open fire">> @@ -299,4 +299,4 @@ <<set $ui = "start">> <br><br> ''GAME OVER'' -<</if>> \ No newline at end of file +<</if>> diff --git a/src/pregmod/eliteTakeOverResult.tw b/src/pregmod/eliteTakeOverResult.tw index 2e5a5778eb80df238e3ed51bb908f0b9c2f7cec6..fc70c7a61838938b869c3b91e3378d2ef325636f 100644 --- a/src/pregmod/eliteTakeOverResult.tw +++ b/src/pregmod/eliteTakeOverResult.tw @@ -44,7 +44,7 @@ <</if>> <<if $MercenariesMessageSent == 1>> <br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> elite are quickly captured, abused and enslaved. - The officer is thankful for giving the troops a chance to let off some stream. Two soldiers decide to double team an elite; one ass fucks while the other facefucks. + The officer is thankful for giving the troops a chance to let off some stream. Two soldiers decide to double team an elite; one ass fucks while the other facefucks. Another soldier takes a particular interest in an elite and politely asks you "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>> can I keep her?" <br><span id="choice1"> @@ -60,12 +60,12 @@ For a second your acceptance shocks them. Once they recover they are very grateful. "Thank you <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>, I'll make sure to look after her. Soon the story spreads of the kind arcology owner, enhancing your reputation. <</replace>> <</link>> - </span> - <<elseif $SpecialForcesMessageSent == 1>> + </span> + <<elseif $SpecialForcesMessageSent>> <br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> elite are quickly captured, abused and enslaved. - <<if $securityForceDepravity <= 0.3>> + <<if $SF.Depravity <= 0.3>> Two soldiers decide to double team an elite; one gropes her ass while the other gropes her tits. - <<elseif $securityForceDepravity <= 1.2>> + <<elseif $SF.Depravity <= 1.2>> Two soldiers decide to double team an elite; one ass fucks while the other facefucks. <<else>> Two soldiers decide to double team an elite; one breaks out their knife and begins to make little breaks in the elite's skin while the other soldier facefucks them. @@ -85,14 +85,16 @@ For a second your acceptance shocks them. Once they recover they are very grateful. "Thank you <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>, I'll make sure to look after her. Soon the story spreads of the kind arcology owner, enhancing your reputation. <</replace>> <</link>> - </span> - <<switch $ColonelCore>> - <<case "kind">> - The Colonel is shocked that you would allow her troops to do this but understands that it comes with the territory. <<if _SFHappyEverAfter == 1>>Thanks for being kind to one of my soldiers.<</if>> - <<case "warmonger" "cruel" "sociopathic" "jaded" "brazen" "psychopathic" "mischievous">> - The Colonel is grateful that you let her troops let off some steam. <<if _SFHappyEverAfter == 1>>Thanks for being kind to one of my soldiers.<</if>> - <</switch>> - <<set $securityForceDepravity += 0.05>> + </span> + <<if $SFTradeShow.CanAttend === -1>> + <<switch $ColonelCore>> + <<case "kind">> + The Colonel is shocked that you would allow her troops to do this but understands that it comes with the territory. <<if _SFHappyEverAfter == 1>>Thanks for being kind to one of my soldiers.<</if>> + <<case "warmonger" "cruel" "sociopathic" "jaded" "brazen" "psychopathic" "mischievous">> + The Colonel is grateful that you let her troops let off some steam. <<if _SFHappyEverAfter == 1>>Thanks for being kind to one of my soldiers.<</if>> + <</switch>> + <</if>> + <<set $SF.Depravity += 0.05>> <<elseif $eliteLeft <= 9 && $rep >= 10000>> <<if $arcologies[0].FSDegradationist != "unset">> An evil smile appears on the faces of your loyal citizens, while the surviving elite freeze in terror. The impromptu festivity will go on for hours, getting more and more depraved. diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 11dc01a4d4ab529033830b25c56bd0ff58f44c7e..5e3f2466cd4fcc20cf6e389c742221e5afcceadf 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -942,7 +942,6 @@ /*SFVAR*/ <<if def $SF && $SFSaveRepair === 1>> <<set $SFMODToggle = $SF.Toggle>> - <<set $SF.Toggle = undefined>> <<if $SF.Active >= 1>> <<set $securityForceActive = 1,$securityForceCreate = 1,$securityForceEventSeen = 1>> <<else>> @@ -980,93 +979,90 @@ <<if $securityForceStimulantPower > 5>> <<set $securityForceStimulantPower = 5>> <</if>> <<if $securityForceAircraftPower > 5>> <<set $securityForceAircraftPower = 5>> <</if>> <</if>> - <<unset $SF>> -<</if>> - -<<if $SFMODToggle == 1 && $securityForceCreate == 1>> - /* SF anon additional Special Force Variables [SFVAR] */ + <<unset $SF, $SFColonel, $SFTradeShow, $SFUnit>> + <<set $SFSaveRepair = 0>> +<<elseif $SFSaveRepair === 0>> + <<if $securityForceEventSeen === 0>> <<set $securityForceActive = -1>> <<else>> <<set $securityForceActive = 2>> <</if>> + + <<set $SF = Object.assign({}, $SF, {Toggle:$SFMODToggle, Active:$securityForceActive})>> + <<unset $SFMODToggle, $securityForceActive, $securityForceCreate, $securityForceEventSeen>> + + <<if $SF.Toggle === 1 && $SF.Active >= 1>> + <<run Object.assign($SF, {Depravity:$securityForceDepravity, + Units:$SFAO, MWU:$securityForceUpgradeTokenReset, U:$securityForceUpgradeToken, + WG:$securityForceGiftToken, SpecOps:0, SpecOpsLock:0, ROE:$securityForceRulesOfEngagement, + Target:$securityForceFocus, Regs:$securityForceAccountability, + Caps:"The Special Force", Lower:$securityForceName, Subsidy:$SubsidyActive})>> + <<unset $securityForceActive, $securityForceRecruit, $securityForceTrade, + $securityForceBooty, $securityForceIncome, $securityForceMissionEfficiency, + $securityForceProfitable, $TierTwoUnlock, $securityForceDepravity, $SFAO, + $securityForceUpgradeTokenReset, $securityForceUpgradeToken, + $securityForceGiftToken, $securityForceRulesOfEngagement, $securityForceFocus, + $securityForceAccountability, $securityForceName, $SubsidyActive>> + <<if $SF.Lower != "the special force">> + <<set $SF.Caps = $SF.Lower.replace("the ", "The ")>> + <</if>> - /* Personnel/Gear */ - <<if ndef $securityForceHeavyBattleTank>> - <<set $securityForceHeavyBattleTank = 0>> - <</if>> - <<if ndef $securityForceSpacePlanePower>> - <<set $securityForceSpacePlanePower = 0>> - <</if>> - <<if ndef $securityForceFortressZeppelin>> - <<set $securityForceFortressZeppelin = 0>> - <</if>> - <<if ndef $securityForceAC130>> - <<set $securityForceAC130 = 0>> - <</if>> - <<if ndef $securityForceHeavyTransport>> - <<set $securityForceHeavyTransport = 0>> - <</if>> - <<if ndef $securityForceSatellitePower>> - <<set $securityForceSatellitePower = 0>> - <</if>> - <<if $terrain != "oceanic" && $terrain != "marine">> + <<if ndef $ColonelCore>> <<set $ColonelCore = "">> <</if>> + <<if ndef $ColonelDiscussion>> <<set $ColonelDiscussion = 0>> <</if>> + <<if ndef $ColonelSexed>> <<set $ColonelSexed = 0>> <</if>> + <<set $SFColonel = Object.assign({}, $SFColonel = {Core:$ColonelCore, Talk:$securityForceColonelToken, + Fun:$securityForceColonelSexed, Status:$ColonelRelationship})>> + <<unset $ColonelCore, $securityForceColonelToken, securityForceColonelSexed, + ColonelRelationship>> + + <<if ndef $TradeShowIncome>> <<set $TradeShowIncome = 0>> <</if>> + <<if ndef $TotalTradeShowIncome>> <<set $TotalTradeShowIncome = 0>> <</if>> + <<if ndef $TradeShowHelots>> <<set $TradeShowHelots = 0>> <</if>> + <<if ndef $TotalTradeShowHelots>> <<set $TotalTradeShowHelots = 0>> <</if>> + <<set $SFTradeShow = Object.assign({}, $SFTradeShow, {History:$OverallTradeShowAttendance, + CanAttend:$CurrentTradeShowAttendance, Income:$TradeShowIncome, + Revenue:$TotalTradeShowIncome, Helots:$TradeShowHelots, + TotalHelots:$TotalTradeShowHelots, Mercs:0, TotalMercs:0})>> + <<unset $OverallTradeShowAttendance, $CurrentTradeShowAttendance, + $TradeShowIncome, $TotalTradeShowIncome, $TradeShowHelots, + $TotalTradeShowHelots>> + <<if $SFTradeShow.History > 0>> <<set $SFTradeShow.View = 1>> <</if>> + + <<if ndef $securityForceHeavyBattleTank>> + <<set $securityForceHeavyBattleTank = 0>> <</if>> + <<if ndef $securityForceSpacePlanePower>> + <<set $securityForceSpacePlanePower = 0>> <</if>> + <<if ndef $securityForceAC130>> <<set $securityForceAC130 = 0>> <</if>> + <<if ndef $securityForceSatellitePower>> + <<set $securityForceSatellitePower = 0>> <</if>> <<if ndef $securityForceGiantRobot>> - <<set $securityForceGiantRobot = 0>> - <</if>> - <<if ndef $securityForceMissileSilo>> - <<set $securityForceMissileSilo = 0>> - <</if>> - <</if>> - <<if $terrain == "oceanic" || $terrain == "marine">> - <<if ndef $HeavyAmphibiousTransport>> - <<set $HeavyAmphibiousTransport = 0>> - <</if>> + <<set $securityForceGiantRobot = 0>> <</if>> + <<if ndef $securityForceMissileSilo>> + <<set $securityForceMissileSilo = 0>> <</if>> <<if ndef $securityForceAircraftCarrier>> - <<set $securityForceAircraftCarrier = 0>> - <</if>> - <<if ndef $securityForceSubmarine>> - <<set $securityForceSubmarine = 0>> - <</if>> - <</if>> - - /* FacilitySupport */ - <<if ndef $SupportFacility>> - <<set $SupportFacility = 0>> - <</if>> - - /* Colonel /* - <<if ndef $ColonelCore>> - <<set $ColonelCore = "">> - <</if>> - <<if ndef $securityForceColonelToken>> - <<set $securityForceColonelToken = 0>> - <</if>> - <<if ndef $securityForceSexedColonelToken>> - <<set $securityForceSexedColonelToken = 0>> - <</if>> - <<if ndef $securityForceColonelSexed>> - <<set $securityForceColonelSexed = 0>> - <</if>> - - /* TradeShow */ - <<if ndef $TradeShowAttendanceGranted>> - <<set $TradeShowAttendanceGranted = 0>> - <</if>> - <<if ndef $OverallTradeShowAttendance>> - <<set $OverallTradeShowAttendance = 0>> - <</if>> - <<if ndef $CurrentTradeShowAttendance>> - <<set $CurrentTradeShowAttendance = 0>> - <</if>> - <<if ndef $TradeShowIncome>> - <<set $TradeShowIncome = 0>> - <</if>> - <<if ndef $TotalTradeShowIncome>> - <<set $TotalTradeShowIncome = 0>> - <</if>> - <<if ndef $TradeShowHelots>> - <<set $TradeShowHelots = 0>> - <</if>> - <<if ndef $TotalTradeShowHelots>> - <<set $TotalTradeShowHelots = 0>> - <</if>> - + <<set $securityForceAircraftCarrier = 0>> <</if>> + <<if ndef $securityForceSubmarine>> + <<set $securityForceSubmarine = 0>> <</if>> + <<if ndef $securityForceHeavyAmphibiousTransport>> + <<set $securityForceHeavyAmphibiousTransport = 0>> <</if>> + <<set $SFUnit = Object.assign({}, $SFUnit, {Troops:$securityForcePersonnel, + Armoury:$securityForceInfantryPower, Firebase:$securityForceArcologyUpgrades, + AV:$securityForceVehiclePower, TV:$securityForceVehiclePower, + Drones:$securityForceDronePower, Drugs:$securityForceStimulantPower, + PGT:$securityForceHeavyBattleTank,AA:$securityForceAircraftPower, + TA:$securityForceAircraftPower, SpacePlane:$securityForceSpacePlanePower, + GunS:$securityForceAC130, Satellite:$securityForceSatellitePower, + GiantRobot:$securityForceGiantRobot, MissileSilo:$securityForceMissileSilo, + AircraftCarrier:$securityForceAircraftCarrier, Sub:$securityForceSubmarine, + HAT:$securityForceHeavyAmphibiousTransport})>> <<set $SatLaunched = 0>> + <<unset $securityForcePersonnel, $securityForceInfantryPower, + $securityForceArcologyUpgrades, $securityForceVehiclePower, + $securityForceDronePower, $securityForceStimulantPower, + $securityForceHeavyBattleTank, $securityForceAircraftPower, + $securityForceSpacePlanePower,$securityForceAC130, $securityForceSatellitePower, + $securityForceGiantRobot, $securityForceMissileSilo, + $securityForceAircraftCarrier, $securityForceSubmarine, $securityForceHeavyAmphibiousTransport>> + <<set $SFSaveRepair = -1>> + <</if>> +<</if>> +<<if def $SF>> + <<if $SF.Active >= 1 && passage() === "New Game Plus">> <<silently>> <<include "Security Force Proposal">> <</silently>> <</if>> <</if>> <<if ndef $useSlaveSummaryTabs>> diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw index 87ed821241f60b813be1982105a058f2ed5a2431..b9c314aed4cfcb8ba48fc1395138cfcf55a7fd40 100644 --- a/src/uncategorized/REroyalblood.tw +++ b/src/uncategorized/REroyalblood.tw @@ -159,7 +159,7 @@ Though the King himself is dead, murdered in his bed by bloodthirsty revolutiona <br><br> -Time is short, but you are well placed to acquire some choice slaves. With an adequate donation<<if $securityForceActive == 1>>, or the use of $securityForceName<</if>>, of course. +Time is short, but you are well placed to acquire some choice slaves. With an adequate donation<<if $SF.Toggle && $SF.Active >= 1>>, or the use of $SF.Lower<</if>>, of course. <br><br> @@ -188,10 +188,10 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad //You lack the necessary funds and reputation to enslave a princess.// <</if>> -<<if $securityForceActive == 1>> -<br><<link "Dispatch a $securityForceName on a night time raid to acquire a pretty princess.">> +<<if $SF.Toggle && $SF.Active >= 1>> +<br><<link "Dispatch a $SF.Lower on a night time raid to acquire a pretty princess.">> <<replace "#result">> - Seizing a tablet, you quickly send a message to The Colonel. After dark, a flight of VTOLs land in the new arcology laden with troops. When they take off again they have the princess aboard clad in chains and make a direct course towards your waiting penthouse. + Seizing a tablet, you quickly send a message to <<print SFC()>>. After dark, a flight of VTOLs land in the new arcology laden with troops. When they take off again they have the princess aboard clad in chains and make a direct course towards your waiting penthouse. <br><br> Eventually she arrives in your penthouse, the perfect image of a demure yet composed princess. Her clearly practiced facade of poise and grace fades under scrutiny, however. The slightest trembling of her balled up fists, the minute tremors that mar her immaculate posture, her inability to meet your eyes with her own - all signs that she is still a scared girl despite all her royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to her in her new life in the penthouse, it does stand in stark contrast to her more common slave peers. <br><br> @@ -789,4 +789,4 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad <</replace>> <</link>> //You will be loathed for this action and trade will be crippled.// <</if>> -</span> \ No newline at end of file +</span> diff --git a/src/uncategorized/SFMBarracks.tw b/src/uncategorized/SFMBarracks.tw deleted file mode 100644 index 579927ed7ab0b7da2b63f72e76d5cfbee3d058ee..0000000000000000000000000000000000000000 --- a/src/uncategorized/SFMBarracks.tw +++ /dev/null @@ -1,168 +0,0 @@ -:: SFM Barracks [nobr] - -<<set _Name = "<<if $CurrentTradeShowAttendance == 1 && $LieutenantColonel == 2>>Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>> <<elseif $CurrentTradeShowAttendance == 1 && $LieutenantColonel != 2>> a soldier <<elseif $CurrentTradeShowAttendance == 0>> The Colonel<</if>>">> - -<<if ndef $ColonelRelationship>> - <<set $ColonelRelationship = 0>> /* 0 - Employee and boss, 10 - Friend, 25 - Close friend, 45 - Girlfriend, 65 - Lover */ -<</if>> -<<if $ColonelRelationship == 0>> - <<set _RelationshipTitle = "boss">> -<<elseif $ColonelRelationship >= 10>> - <<set _RelationshipTitle = "friend">> -<<elseif $ColonelRelationship >= 25>> - <<set _RelationshipTitle = "close friend">> -<<elseif $ColonelRelationship >= 45>> - <<if $PC.title == 1>> - <<set _RelationshipTitle = "boyfriend">> - <<else>> - <<set _RelationshipTitle = "girlfriend">> - <</if>> -<<elseif $ColonelRelationship >= 65>> - <<set _RelationshipTitle = "lover">> -<</if>> -<<set $Env = simpleWorldEconomyCheck()>> -<<switch $Env>> - <<case 4>> - <<set $EnvCash2 = 450, $EnvCash3 = 200, $EnvCash4 = 100, $EnvProsp = 3, _BaseDiscount = _BaseDiscount-.005>> - <<case 3>> - <<set $EnvCash2 = 500, $EnvCash3 = 250, $EnvCash4 = 150, $EnvProsp = 5, _BaseDiscount = _BaseDiscount>> - <<case 2>> - <<set $EnvCash2 = 550, $EnvCash3 = 300, $EnvCash4 = 200, $EnvProsp = 7, _BaseDiscount = _BaseDiscount+.005>> -<</switch>> - -<<if ndef $TierTwoUnlock>> <<set $TierTwoUnlock = 0>> <</if>> -<<include "SpecialForceUpgradeTree">> - -<<if $SFNO > 0>> - <<set $SFAO = $SFNO>> -<<elseif $SFO > 0>> - <<set $SFAO = $SFO>> -<<else>> - <<set $SFAO = 0>> -<</if>> - -<<if ndef $FacilitySupport>> - <<set $FacilitySupport = 0>> -<</if>> - -<<if ndef $securityForceUpgradeTokenReset || $SFAO == 0>> - <<set $securityForceUpgradeTokenReset = 0>> -<</if>> - -<<set $nextButton = "Back to Main", $nextLink = "Main", $returnTo = "Barracks">> - -<<if $cheatMode == 1>> - <<link "Cheat edit vars">> - <<goto "SpecialForceBarracksCheatEdit">> - <</link>> - <br> -<</if>> - -//The barracks of <<textbox "$securityForceName" $securityForceName "SFM Barracks">> is located in the lower levels of $arcologies[0].name, occupying unneeded warehouse space. It is not accessible to the general citizenry, but your personal elevator has express service to it. As you step off, two soldiers in combat armour manning the entry checkpoint tense and raise their weapons, before nodding respectfully and stepping aside, allowing their patron entry. The barracks is cavernous, containing areas for the soldiers to sleep and keep their belongings, areas for the storage and maintenance of their weapons and equipment, and common areas for them to amuse themselves, since they rarely mix with your citizens on the upper levels. You survey the facilities.// - -<br><br> -<<include "SpecialForceUpgradeDec">> -<br><br> - -<<include "SpecialForceBarracksFlavourText">> - -<<if $securityForceGiftToken == 0>> -<br> - <span id="result"> - <<link "Ask _Name for some extra cash">> - <<replace "#result">> - /*<<set $CashGift = ((Math.ceil((Math.abs($cash)*0.05)*(Math.max(0.99,$SFAO))))*($arcologies[0].prosperity/100))*$Env>> OLD*/ - <<set $CashGift = 25000*(Math.max(0.99,$SFAO/10))*$Env>> - <<if random(1,100) > 50>> - <<if random(1,100) > 50>> - _Name nods. "Sure boss," she says, "we had a bit of a haul this week. One of my sergeants convinced a woman to tell us where she had hidden her shit. Cut her up pretty bad, but she told us. Bunch of nice jewelry, I kept a nice piece for myself." She picks up a tablet on the table, tapping a few commands on it. "@@.yellowgreen;There's your cut,@@ <<print cashFormat(Math.ceil($CashGift))>>." - <<else>> - _Name smiles widely. "Sure boss," she says, "we pulled in some good shit this week. One of the boys found a real nice family hiding in a basement. 18-year old triplets. Brought in a good bit of cash." She picks up a tablet on the table, tapping a few commands on it. "@@.yellowgreen;There's your cut,@@ <<print cashFormat(Math.ceil($CashGift))>>." - <</if>> - <<else>> - _Name picks up a tablet. "Sure boss," she says, "we had a nice score this week. Looters fucked up and left a bunch of nice shit behind." She taps a few commands on the tablet. "@@.yellowgreen;There's your cut,@@ <<print cashFormat(Math.ceil($CashGift))>>." - <</if>> - <<set $securityForceGiftToken = 1>> - <<set $cash += $CashGift>> - <br> - <</replace>> - <</link>> - <<if $rep < 20000 && $CurrentTradeShowAttendance == 0>> - <br><<link "Ask The Colonel to put in a good word for you with her contacts">> - <<replace "#result">> - <<set $GoodWords1 += 250+(Math.ceil(Math.max(0.99,$SFAO))*$Env)>> - <<set $GoodWords1 = (Number($GoodWords1) ? $GoodWords1 : 500)>> - <<if random(1,100) > 50>> - <<if random(1,100) > 50>> - The Colonel nods. "Sure boss," she says, "I still know a lot of people out there and they know my word means something. I'll tell them that yours does as well." She picks up a tablet on the table, tapping a few commands on it. "I just put the word out, boss. Your @@.green;reputation should be a bit better@@ now." - <<else>> - The Colonel smiles widely. "Sure boss," she says, "I can put in a good word for you with some of my contacts out there. A lot of them know other big shots in the Cities." She picks up a tablet on the table, tapping a few commands on it. "I just put the word out, boss. Your @@.green;reputation should be a bit better@@ now." - <</if>> - <<else>> - The Colonel picks up a tablet. "Sure boss," she says, "I can talk you up a bit. This new gig has impressed a lot of people; they'll definitely listen when I speak." She taps a few commands on the tablet. "I just put the word out, boss. Your @@.green;reputation should be a bit better@@ now." - <</if>> - <<set $securityForceGiftToken = 1>> - <<set $rep += $GoodWords1>> - <br> - <</replace>> - <</link>> - <</if>> - <<if $arcologies[0].prosperity < $AProsperityCap && $CurrentTradeShowAttendance == 0>> - <br><<link "Ask The Colonel to use her contacts to help the arcology's business community">> - <<replace "#result">> - <<set $GoodWords2 = $EnvProsp+(Math.max(0.99,$SFAO)/100)*$Env>> - <<if random(1,100) > 50>> - <<if random(1,100) > 50>> - The Colonel nods. "Sure boss," she says, "I can convince some of my contacts to run their business through the markets here rather than another City." She picks up a tablet on the table, tapping a few commands on it. "@@.green;There should be a small increase in prosperity,@@ boss." - <<else>> - The Colonel smiles widely. "Sure boss," she says, "I can make sure that our suppliers only run their goods through the markets here, rather than one of the markets out there." She picks up a tablet on the table, tapping a few commands on it. "@@.green;There should be a small increase in prosperity,@@ boss." - <</if>> - <<else>> - The Colonel picks up a tablet. "Sure boss," she says, "I can ensure that the soldiers only use the escrow services here for their business." She taps a few commands on the tablet. "@@.green;There should be a small increase in prosperity,@@ boss." - <</if>> - <<set $securityForceGiftToken = 1>> - <<set $arcologies[0].prosperity += $GoodWords2>> - <br> - <<if $arcologies[0].prosperity + $GoodWords2 > $AProsperityCap>> - <<set $arcologies[0].prosperity = $AProsperityCap>> - <</if>> - <</replace>> - <</link>> - <</if>> - </span> -<</if>> - -<<if $securityForceUpgradeToken == 1 && ($SFAO < _max)>> - <br>//_Name is working to improve $securityForceName this week.// -<<elseif $TierTwoUnlock == 1 && $TradeShowAttendanceGranted == 0>> - <br>//You receive a message from The Colonel "There is a trade show coming up soon with exotic upgrades but I'll get laughed out unless we bring the best gear we can get now."// -<<elseif $SFAO >= _max>> - <br>//$securityForceName is fully equipped and upgraded - nothing else can be done.// -<</if>> - -<<if $TierTwoUnlock == 0>> <<= TierTwoUnlockCalc()>> - <br>You have <<print (30-$SFAO)>> upgrades left before you can move unlock the next tier. ''StimulantLab:'' $securityForceStimulantPower/5 ''Barracks:'' $securityForceArcologyUpgrades/5 ''Garage:'' $securityForceVehiclePower/5 ''Armoury:'' $securityForceInfantryPower/5 ''DroneBay:'' $securityForceDronePower/5 ''Airforce:'' $securityForceAircraftPower/5 - <<if $securityForceVehiclePower == 5>> <<set _T1FullUpgradesGarage = "True">> <</if>> <<if $securityForceAircraftPower == 5>> <<set _T1FullUpgradesAirforce = "True">> <</if>> <<if 30-$SFAO == 0>> <<set $TierTwoUnlock = 1>> <</if>> -<</if>> -<<if $securityForceGiftToken == 1>> - <br>//_Name has already provided you with extra tribute this week.// -<</if>> -<<if $CurrentTradeShowAttendance == 0 && ($securityForceColonelToken == 1 || $securityForceSexedColonelToken == 1)>> - <br>//The Colonel has already spent time with you this week or is unable able to find time in her busy week to <<if $securityForceSexedColonelToken == 1>>'relax'<<elseif $securityForceColonelToken == 1>>relax<</if>> with you.// -<</if>> - -<<set _securityForceUpgradeResetTokenCurrentCost = Math.abs($cash)*.05>> -<<if $securityForceUpgradeToken == 1 && $securityForceUpgradeTokenReset >= 0 && $SFAO > 0>> - <br><br>_Name "says certainly <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>>, it is possible to upgrade $securityForceName more than once per week, however, it will cost you." - <br> - <<link "Would you like to discus upgrading $securityForceName again?">> - <<set $securityForceUpgradeToken = 0, $securityForceUpgradeTokenReset += 1, $cash -= _securityForceUpgradeResetTokenCurrentCost>> - <<goto "SFM Barracks">> - <</link>> <br>It will cost 5% of your currently displayed cash, which is <<print cashFormat(Math.trunc(_securityForceUpgradeResetTokenCurrentCost))>>. -<</if>> -<<if $securityForceUpgradeTokenReset >= 1>> - <br>Total multi week $securityForceName upgrades: $securityForceUpgradeTokenReset <br> -<</if>> - -<<include "SpecialForceUpgradeOptions">> -<<include "SpecialForceBarracksAdditionalColonelInteractions">> diff --git a/src/uncategorized/corporationDevelopments.tw b/src/uncategorized/corporationDevelopments.tw index e2dd544a3baebe5ada418dc6837e8344d4ba25ec..933061777e1e2b676ba9b627755ebbf12bf054c1 100644 --- a/src/uncategorized/corporationDevelopments.tw +++ b/src/uncategorized/corporationDevelopments.tw @@ -21,9 +21,21 @@ <<set $corpCash = Math.trunc($corpCash + $corpProfit)>> Your corporation was valued at @@.yellowgreen;<<print cashFormat($corpValue)>>@@ and made a profit of @@.yellowgreen;<<print cashFormat($corpProfit)>>@@ last week. <<set _addedSlaves = Math.ceil(Math.log($captureAssets+$entrapmentAssets))>> -<<if $mercenariesHelpCorp > 0>> - The $mercenariesTitle assist it with difficult enslavement targets. Otherwise, it - <<set _addedSlaves = Math.ceil(_addedSlaves * (1 + .04 * $mercenaries))>> /* increase by 12-20% ($mercenaries == 3 - 5) */ +<<if $mercenariesHelpCorp > 0 || ($SF.Units >= 10 && $SFSupportLevel >= 4)>> + <<if $mercenariesHelpCorp > 0>> + The $mercenariesTitle + <<set _addedSlaves += Math.ceil(_addedSlaves * (1.04*$mercenaries))>> /* increase by 12-20% ($mercenaries == 3 - 5) */ + <</if>> + <<if $mercenariesHelpCorp > 0 && $SF.Units >= 10>> + and a + <<elseif $SF.Units >= 10>> + A + <</if>> + <<if $SF.Units >= 10>> + small portion of $SF.Lower + <<set _addedSlaves += Math.ceil(_addedSlaves * (1.04*($SF.Units/10)))>> + <</if>> + assist it with difficult enslavement targets. Otherwise, it <<else>> It <</if>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index af4b0d7f7cfccc0f37f681061b0e2963352e62ef..38a57dfda34649e3049ec7fa47893b35fe05365e 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -48,6 +48,9 @@ your __personal living expenses__ are <<print cashFormat(($girls*(250+($economy* <<print cashFormat($peacekeepers.undermining)>> to undermine political support for the nearby old world peacekeeping mission. <</if>> +<<if $SF.Toggle && $SF.Active >= 1 && $SF.Subsidy>> + <br>__Finacinally supporting $SF.Caps unitll self sufficiency:__ <<print cashFormat(Math.ceil((10000*($SFUnit.Troops/10))*1+($arcologies[0].prosperity/100)*1+($SF.Units/100)))>> +<</if>> <<if $mercenaries > 0>> <<set _mercCosts = $mercenaries*2000>> <<if $barracks>><<set _mercCosts *= 0.5>><</if>> diff --git a/src/uncategorized/fsDevelopments.tw b/src/uncategorized/fsDevelopments.tw index aaa5221f734083fecf1e426daf8298b51bcbe321..2a10f22ea9055f2465295e4f6905ab1bc0a36dc7 100644 --- a/src/uncategorized/fsDevelopments.tw +++ b/src/uncategorized/fsDevelopments.tw @@ -94,6 +94,10 @@ /* Spending, terrain, rep effects */ <<set _broadProgress = 0>> +<<if $SF.Toggle && $SF.Active >= 1 && $SF.SpecOps > 0>> + Assigning a <<if $SF.SpecOps === 1>>small<<else>>large<</if>> portion of $SF.Lower to under cover work helps forward your goals for the arcology's future. + <<set _broadProgress += $SFUC/10>> <br> +<</if>> <<if $FSSpending > 1>> Your @@.yellowgreen;societal spending@@ helps forward your goals for the arcology's future. <<set _broadProgress += Math.trunc($FSSpending/(1000-(500*$arcologies[0].FSEdoRevivalistLaw)-(250*$arcologies[0].FSArabianRevivalistLaw)))>> diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw index af5496b00bae169cc00d61570e63dafb42bf8fd4..0d2c45963c9903e0f4641db469fd41cdc329770f 100644 --- a/src/uncategorized/manageArcology.tw +++ b/src/uncategorized/manageArcology.tw @@ -278,10 +278,10 @@ Your slaves have participated in approximately <<print commaNum($oralTotal+$vagi <<if $secExp == 1 && $battlesEnabled == 1>> <br><br> -<<if $securityForceCreate == 0>> +<<if $SF.Toggle ==== 0||$SF.Active === 0>> Your army counts <<print commaNum($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower)>> total soldiers. -<<else>> - Your army counts <<print commaNum($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower + $securityForcePersonnel)>> total soldiers of which <<print commaNum($securityForcePersonnel)>> under the security force command and the rest under your direct control. +<<elseif $SF.Toggle && $SF.Active >= 1>> + Your army counts <<print commaNum($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower + $SFUnit.Troops)>> total soldiers of which <<print commaNum($SFUnit.Troops)>> under the special force command and the rest under your direct control. <</if>> <<if $hasFoughtOnce == 1>> Your troops were involved in <<print commaNum($battlesCount)>> battles of which <<print commaNum($majorBattlesCount)>> were major engagements. You won diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index db9ea93914e2dd7a095321d1dd879dda3447a769..154ce0fc17725631cc429db3d2dc6837a6e7d4fe 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -326,4 +326,7 @@ <<script>>Save.autosave.save("Week Start Autosave")<</script>> <</if>> +<<if $SF.Toggle && $SF.Active >= 1 && $SFTradeShow.CanAttend > -1 && $SFTradeShow.CanAttend > -2>> + <<set $SFTradeShow.CanAttend = -1>> +<</if>> <<goto "Main">> diff --git a/src/uncategorized/nonRandomEvent.tw b/src/uncategorized/nonRandomEvent.tw index b93d083eee15698689b2e71c89c078dfdf7fe9c8..10f2817344400988f5c28236d9008df8e89d5545 100644 --- a/src/uncategorized/nonRandomEvent.tw +++ b/src/uncategorized/nonRandomEvent.tw @@ -98,6 +98,8 @@ <</if>> <<elseif (_effectiveWeek == 72)>> <<goto "P coup aftermath">> +<<elseif $SF.Toggle && _effectiveWeek >= 72 && $SF.Active === -1>> + <<goto "Security Force Proposal">> <<elseif $failedElite > 300 && $eugenicsFullControl != 1>> <<goto "eliteTakeOver">> <<elseif (_effectiveWeek > 5) && ($rep > 3000) && ($FSAnnounced == 0)>> @@ -126,10 +128,6 @@ <<goto "P peacekeepers independence">> <<elseif def $peacekeepers && $peacekeepers.strength >= 50 && $peacekeepers.influenceAnnounced == 0>> <<goto "P peacekeepers influence">> -<<elseif (_effectiveWeek > 80) && (random(1,100) > 66) && ($securityForceCreate != 1) && ($securityForceEventSeen != 1) && ($SFMODToggle == 1)>> - <<goto "Security Force Proposal">> -<<elseif ($securityForceCreate == 1) && ($securityForceActive == 0)>> - <<goto "Security Force Naming-Colonel">> <<elseif ($cash > 30000) && ($rep > 4000) && ($corpAnnounced == 0)>> <<goto "P Corp Announcement">> <<elseif ($rivalOwner > 0)>> @@ -166,8 +164,6 @@ <<goto "secExpSmilingMan">> <<elseif $rivalOwner == 0 && $smilingManProgress == 3 && $secExp == 1>> <<goto "secExpSmilingMan">> -<<elseif $TierTwoUnlock == 1 && ($securityForceCreate == 1) && ($SFMODToggle == 1) && $OverallTradeShowAttendance == 0>> - <<goto "securityForceTradeShow">> <<else>> <<if random(1,100) > _effectiveWeek+25>> <<goto "RIE Eligibility Check">> diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw index fd0bc85ba9a7ca577ea97319982233f40e501189..04048c2ab2a12d956fa6458abfab26be9bb04762 100644 --- a/src/uncategorized/options.tw +++ b/src/uncategorized/options.tw @@ -423,18 +423,20 @@ Curative side effects are @@.red;DISABLED@@. [[Enable|Options][$curativeSideEffe <br><br> ''MODS'' -<br> -<<if ($SFMODToggle == 0)>> - The Special Force Mod is @@.red;DISABLED@@. [[Enable|Options][$SFMODToggle = 1]] +<br>The Special Force Mod is currently +<<if ($SF.Toggle === 0)>> + @@.red;DISABLED@@. [[Enable|Options][$SF.Toggle = 1]] <<else>> - The Special Force Mod is currently @@.cyan;ENABLED@@. [[Disable|Options][$SFMODToggle = 0]] + @@.cyan;ENABLED@@. [[Disable|Options][$SF.Toggle = 0]] <</if>> //Will not affect mod content that has already been encountered.// <<if ndef $SFSaveRepair>> <<set $SFSaveRepair = 1>> <</if>> <br> Save repair is -<<if ($SFSaveRepair === 1)>> - @@.cyan;ENABLED@@. [[Disable|Options][$SFSaveRepair = 0]] -<<else>> - @@.red;DISABLED@@. [[Enable|Options][$SFSaveRepair = 1]] +<<if $SFSaveRepair === 1>> + @@.cyan;ON@@. [[OFF|Options][$SFSaveRepair = 0]]|[[DISABLE|Options][$SFSaveRepair = -1]] +<<elseif $SFSaveRepair === 0>> + @@.red;OFF@@. [[ON|Options][$SFSaveRepair = 1]]|[[DISABLE|Options][$SFSaveRepair = -1]] +<<elseif $SFSaveRepair === -1>> + @@.red;DISABLED@@. [[ON|Options][$SFSaveRepair = 1]]|[[OFF|Options][$SFSaveRepair = 0]] <</if>> //If the SF barracks has disappeared leave it enabled then run BC. Else disable and then run BC.// <br> diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw index 150461e1e8bb5ddc425333314cd99441491c5f56..09e9ce0facd2dd3a7e630de8a7dc802fcb0fbf74 100644 --- a/src/uncategorized/persBusiness.tw +++ b/src/uncategorized/persBusiness.tw @@ -848,9 +848,9 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@ <</if>> <</if>> - <<if $taxTrade == 1>> - <br>Fees on transitioning goods this week made @@.yellowgreen;<<print cashFormat($trade * random(80,120))>>.@@ - <<set $cash += $trade * 100>> + <<if $taxTrade == 1>> <<set _tradeTax = Math.ceil($trade * random(80,120))>> + <br>Fees on transitioning goods this week made @@.yellowgreen;<<print cashFormat(_tradeTax)>>.@@ + <<set $cash += Math.ceil(_tradeTax)>> <</if>> <</if>> @@ -913,6 +913,4 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@ <<set $menialDemandFactor += random(-250, 250)>> <</if>> -<<if $securityForceActive == 1>> - <<include "Security Force EOW Report">> -<</if>> +<<if $SF.Toggle && $SF.Active >= 1>> <<include "SF_Report">> <</if>> diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw index d891ba2decdd1a248e780254f3cb79ba194b2168..006cbf759403c0f2146f33c6bbd685fd0d3e6995 100644 --- a/src/uncategorized/randomNonindividualEvent.tw +++ b/src/uncategorized/randomNonindividualEvent.tw @@ -1281,6 +1281,10 @@ <</if>> <</if>> + <<if $SF.Toggle && $SF.Active >= 1>> + <<set $events.push("Trick Shot Night")>> + <</if>> + <<if $RegularParties == 1>> <<if ($PC.vagina == 1 && $PC.title == 0) && (random(0,99) < $seeDicks)>> <<set $events.push("RE male citizen hookup")>> diff --git a/src/uncategorized/reAWOL.tw b/src/uncategorized/reAWOL.tw index b3b9091633d9b0b9f50669ebd69bf9a76f62072e..d396608c2bed140f5e6c4b7bb239a54233f6e04c 100644 --- a/src/uncategorized/reAWOL.tw +++ b/src/uncategorized/reAWOL.tw @@ -42,16 +42,16 @@ Your window of opportunity to act is closing. If you have plans for punishing th <br> -<<if $securityForceActive == 1>> - <<link "Let your $securityForceName handle her">> +<<if $SF.Toggle && $SF.Active >= 1>> + <<link "Let your $SF.Lower handle her">> <<replace "#result">> - You take a tablet and send The Colonel a notice about the mutinous mercenary. When you have the majority of the pertinent details committed to text, all that remains is to decide the fate of your quarry. + You take a tablet and send <<print SFC()>> a notice about the mutinous mercenary. When you have the majority of the pertinent details committed to text, all that remains is to decide the fate of your quarry. <br><br> <span id="SFresult"> <<link "You want her dead">> <<replace "#SFresult">> - Despite the trouble she has caused you, the culmination of this mercenary's wanton flight from the rest of the $mercenariesTitle is decidedly anti-climatic. The last you hear of her is in the footnote of one of your daily reports, with some minute yet suitably gory pictures as an accompaniment. When the stolen weapons are returned to their rightful place in your arcology, the unfortunate matter is concluded once and for all. @@.green;Your reputation improves@@, a result of the fear of crossing you that your result have inspired. Also the @@.green;arcology's prosperity improves@@, a result of showing your citizens that you are willing and able to deal with such matters in-house. + Despite the trouble she has caused you, the culmination of this mercenary's wanton flight from the rest of the $mercenariesTitle is decidedly anti-climatic. The last you hear of her is in the footnote of one of your daily reports, with some minute yet suitably gory pictures as an accompaniment. When the stolen weapons are returned to their rightful place in your arcology, the unfortunate matter is concluded once and for all. @@.green;Your reputation and $arcologies[0].name's prosperity improves@@, a result of the fear crossing you will bring, in addition toshowing your citizens that you are willing and able to deal with such matters in-house. <<set $rep += 1000,$arcologies[0].prosperity += 2>> <<if $arcologies[0].prosperity > $AProsperityCap>> <<set $arcologies[0].prosperity = $AProsperityCap>> @@ -63,7 +63,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th <<link "You want her alive">> <<replace "#SFresult">> - It doesn't take long for a squad of $securityForceName, to track her down. Soon you have the troublesome turncoat before you in chains. + It doesn't take long for a squad of $SF.Lower, to track her down. Soon you have the troublesome turncoat before you in chains. <br><br> <span id="aliveresult"> diff --git a/src/uncategorized/seIndependenceDay.tw b/src/uncategorized/seIndependenceDay.tw index 1825758a4366b106f6ca350fe51d1f6796d33357..9b4030b9f951edddf2b0e0fcb80f2c9ae5e13437 100644 --- a/src/uncategorized/seIndependenceDay.tw +++ b/src/uncategorized/seIndependenceDay.tw @@ -375,88 +375,83 @@ In the Free Cities, Independence Day falls on the day when the Free City achieve <span id="result2"> <br><<link "Pay for a lavish fireworks display">> <<replace "#result2">> - Once darkness falls outside the arcology, a traditional fireworks display erupts from mortars mounted on your penthouse balconies. The noise and light @@.green;delights@@ your citizens, terrifies the arcology's stupider slaves, and serves a useful ancillary purpose in defense preparedness. The arcology's radar and laser sensors track the display, using it as an opportunity to calibrate the point defense systems on real targets. There is general agreement that this sort of thing should be a yearly tradition here, just like it was in some parts of the old world: old ideas aren't all bad. + <br><br>Once darkness falls outside the arcology, a traditional fireworks display erupts from mortars mounted on your penthouse balconies. The noise and light @@.green;delights@@ your citizens, terrifies the arcology's stupider slaves, and serves a useful ancillary purpose in defense preparedness. The arcology's radar and laser sensors track the display, using it as an opportunity to calibrate the point defense systems on real targets. There is general agreement that this sort of thing should be a yearly tradition here, just like it was in some parts of the old world: old ideas aren't all bad. <<set $rep += 1000, $cash -= 10000>> <</replace>> -<</link>> //Costs <<print cashFormat(10000)>>// +<</link>> //Costs @@.yellowgreen;<<print cashFormat(10000)>>@@// </span> -<<if $securityForceActive == 1>> +<<if $SF.Toggle && $SF.Active >= 1>> <span id="result3"> <br><<link "Host a parade">> - <<replace "#result2">> - <<if $securityForcePersonnel < 100>> - The tiny size of $securityForceName does not inspire confidence in your citizens. + <<replace "#result3">><br><br> + <<if $SFUnit.Troops < 100>> + The tiny size of $SF.Lower does not inspire confidence in your citizens. <<set $rep -= 200>> - <<elseif $securityForcePersonnel < 1500>> - The almost full size of $securityForceName inspires confidence in your citizens. - <<set $rep += 100>> + <<elseif $SFUnit.Troops < 2000>> + The almost full size of $SF.Lower inspires confidence in your citizens. + <<set $rep += 250>> <</if>> - <<if $securityForceInfantryPower == 0>> - Seeing the soldiers of $securityForceName with high-quality personal weapons and light armor, but little in the way of exceptional armament, provides little confidence in $securityForceName. + <<if $SFUnit.Armoury === 0>> + Seeing the soldiers of $SF.Lower with high-quality personal weapons and light armor, but little in the way of exceptional armament, provides little confidence in $SF.Lower. <<set $rep -= 200>> - <<elseif $securityForceInfantryPower == 11>> - The citizens of $arcologies[0].name are relieved to see that $securityForceName's troops are out fitted the absolutely latest in gear. - <<set $rep += 100>> + <<else>> + The citizens of $arcologies[0].name are relieved to see that $SF.Lower's troops are out fitted the absolutely latest in gear. + <<set $rep += 250>> <</if>> - <<if $securityForceStimulantPower == 0>> - Seeing $securityForceName being relaxed inspires confidence that they are unlikely to get a face full of lead. - <<set $rep += 100>> - <<elseif $securityForceStimulantPower == 7>> - The slight twitchiness and high-end alertness of $securityForceName's troops makes your citizens afraid that they may get a face full of lead. + <<if $SFUnit.Drugs === 0>> + Seeing $SF.Lower being relaxed inspires confidence that they are unlikely to + <<set $rep += 250>> + <<else>> + The slight twitchiness and high-end alertness of $SF.Lower's troops makes your citizens afraid that they may <<set $rep -= 200>> - <</if>> - <<if $securityForceVehiclePower == 0>> - The use of basic, unarmored mainly high-end civilian vehicles with jury-rigged crew-served weapons by $securityForceName does not inspire confidence in your citizens. + <</if>> get a face full of lead. + <<if $SFUnit.AV < 1 && $SFUnit.TV < 1>> + The use of basic, unarmored mainly high-end civilian vehicles with jury-rigged crew-served weapons by $SF.Lower does not <<set $rep -= 200>> - <<elseif $securityForceVehiclePower == 7>> - $securityForceName's use of the most advanced heavy armored and support vehicles possible inspires confidence in your citizens. - <<set $rep += 100>> - <</if>> - <<if $securityForceAircraftPower == 0>> - Seeing $securityForceName's air force primarily consist of light transport VTOLs equipped with non-lethal weaponry, does not assure your citizens. + <<elseif $SFUnit.AV < 11 && $SFUnit.TV < 11>> + $SF.Lower's use of the most advanced heavy armored and support vehicles possible + <<set $rep += 250>> + <</if>> inspires confidence in your citizens. + <<if $SFUnit.AA < 1 && $SFUnit.TA < 1>> + Seeing $SF.Lower's air force only number enough to be a squadron and armed with just a Gatling cannon does not assure your citizens. <<set $rep -= 200>> - <<elseif $securityForceAircraftPower == 7>> - Seeing $securityForceName's air force using latest equipment assures your citizens that they are safe from the air. - <<set $rep += 100>> + <<elseif $SFUnit.AA < 11 && $SFUnit.TA < 11>> + Seeing $SF.Lower's air force using more advanced equipment assures your citizens that they are safe from the air. + <<set $rep += 250>> <</if>> - <<if $securityForceDronePower == 0>> + <<if $SFUnit.Drones === 0>> Seeing "re-purposed" non-military drones from the arcology's original contingent flying around, does not inspire confidence in your citizens. <<set $rep -= 200>> - <<elseif $securityForceDronePower == 5>> + <<else>> Seeing the latest and greatest drones buzzing over head assures your citizens that they are unmatched. - <<set $rep += 100>> + <<set $rep += 250>> <</if>> - <<if $securityForceGiantRobot == 1>> + <<if $SFUnit.GiantRobot === 1>> Seeing a basic old world rusted looking Giant Robot, doesn't provide your citizens with much assurance that they are protected. <<set $rep -= 200>> - <<elseif $securityForceGiantRobot == 7>> + <<else>> Seeing that the Giant Robot has been fully upgraded provides your citizens with a feeling of safety. - <<set $rep += 100>> + <<set $rep += 250>> <</if>> - <<if ($securityForceRulesOfEngagement == "hold") && ($securityForceDepravity >= 1.5)>> - The sight of $securityForceName's forcing their captured slaves to suck them off while swinging their swords and other none lethal tools around trigger fingers twitch inspires terror in your citizens. + <<if ($SF.ROE === "hold") && ($SF.Depravity >= 1.5)>> + The sight of $SF.Lower's forcing their captured slaves to suck them off while swinging their swords and other none lethal tools around trigger fingers twitch inspires terror in your citizens. <<set $rep -= 200>> - <<elseif ($securityForceRulesOfEngagement == "limited") && ($securityForceDepravity >= 1.5)>> - The sight of $securityForceName's forcing their captured slaves to suck them off with itchy trigger fingers inspires terror in your citizens. + <<elseif ($SF.ROE === "limited") && ($SF.Depravity >= 1.5)>> + The sight of $SF.Lower's forcing their captured slaves to suck them off with itchy trigger fingers inspires terror in your citizens. <<set $rep -= 200>> - <<elseif ($securityForceRulesOfEngagement == "free") && ($securityForceDepravity >= 1.5)>> - The sight of $securityForceName's forcing their captured slaves to suck them off while frequently firing without any care into the air, inspiring terror in your citizens. + <<elseif ($SF.ROE === "free") && ($SF.Depravity >= 1.5)>> + The sight of $SF.Lower's forcing their captured slaves to suck them off while frequently firing without any care into the air, inspiring terror in your citizens. <<set $rep -= 200>> <</if>> - <<if ($securityForceRulesOfEngagement == "hold") && ($securityForceDepravity <= 0.3)>> - The sight of $securityForceName's professionally holstering their weapons provides your citizens with a sense of safety. - <<set $rep += 100>> - <<elseif ($securityForceRulesOfEngagement == "limited") && ($securityForceDepravity <= 0.3)>> - The sight of $securityForceName's professionally keeping their finger on the trigger provides your citizens with a sense of safety. - <<set $rep += 100>> - <<elseif ($securityForceRulesOfEngagement == "free") && ($securityForceDepravity <= 0.3)>> - The sight of $securityForceName's professionally being alert and to ready to act at a moment's notice provides your citizens with a sense of safety. - <<set $rep += 100>> + <<if ($SF.ROE === "hold") && ($SF.Depravity <= 0.3)>> + The sight of $SF.Lower's professionally holstering their weapons provides your citizens with a sense of safety. + <<set $rep += 250>> + <<elseif ($SF.ROE === "limited") && ($SF.Depravity <= 0.3)>> + The sight of $SF.Lower's professionally keeping their finger on the trigger provides your citizens with a sense of safety. + <<set $rep += 250>> + <<elseif ($SF.ROE === "free") && ($SF.Depravity <= 0.3)>> + The sight of $SF.Lower's professionally being alert and to ready to act at a moment's notice provides your citizens with a sense of safety. + <<set $rep += 250>> <</if>> - /*Maybe a random chance attack by the Daughter's of Liberty if they haven't been already defeated or if they have by a cell that managed to survive. The size of the attack could depend the time since their last encounter. The amount of damage inflicted would depend primarily on if the hacker's support was acquired, $bodyguard's combat skill, the player's combat skill, SF upgrades and finally some RNG. If a low amount of damage is inflicted then there will be a low hit to rep and some criminals can be acquired or dealt with in the usual manner. Higher amounts of damage leads to higher hits to rep and a chance that fewer attackers will survive. Without a bodyguard there is a chance that PC may die or be held hostage with a chance of being killed if the rescue attempt is botched. */ - - /* I was thinking providing a option (potentially #result3) of giving a speech with it being a duplicate of the above speech just for completeness sake however it would be redundant except for a line or two about the outcome of attack if it fired (i.e listing the number of dead/captured attackers (potentially #result4) and dead soldiers with a couple of potential options (potentially #result5) ;to erect a statute or such acknowledge them and if one is already present to add them on to it, to provide support for their families. Also the amount of monetary damage, did $bodyguard die or just get wounded and if so how severely. Finally a closing message with how the PC wishes to react to it (potentially #result6); e.g. be vigilant, it's a one off, act of war, we will not give into terrorist attacks, etc. */ - <</replace>> -<</link>> -<</if>> -</span> \ No newline at end of file + /* I was thinking providing a option (potentially #result3) of giving a speech with it being a duplicate of the above speech just for completeness sake however it would be redundant except for a line or two about the outcome of attack if it fired (i.e listing the number of dead/captured attackers (potentially #result4) and dead soldiers with a couple of potential options (potentially #result5) ;to erect a statute or such acknowledge them and if one is already present to add them on to it, to provide support for their families. Also the amount of monetary damage, did $bodyguard die or just get wounded and if so how severely. Finally a closing message with how the PC wishes to react to it (potentially #result6); e.g. be vigilant, it's a one off, act of war, we will not give into terrorist attacks, etc. */ + <</replace>> <</link>> </span> <</if>> diff --git a/src/uncategorized/seRaiding.tw b/src/uncategorized/seRaiding.tw index e24fd2c5479fc1f774af8f66ab69fc0542323a6a..5dbe46ec9f57e23c0f100e9835dca0d126437ebd 100644 --- a/src/uncategorized/seRaiding.tw +++ b/src/uncategorized/seRaiding.tw @@ -3,8 +3,22 @@ <<set $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $nextButton = "Continue", $raided = $week>> The leader of your $mercenariesTitle has contacted you from the world outside your arcology. It seems that your $mercenariesTitle have enjoyed a profitable series of raids in their time outside the arcology and have decided to push their luck by plundering one last location on their way back to the arcology. As their nominal leader, they ask your opinion of a small number of potential targets. Given the distance from the arcology and the time sensitivity of conducting such a mission, you have little to base your decision on besides a brief description. -<<if $securityForceSatellitePower >= 1>> - By having access to the use of $securityForceName's Satellite it is less likely that the target will escape. +<<if $SF.Toggle && $SF.Active >= 1 && (($SFUnit.Satellite >= 1 && $SatLaunched > 0) || $SFUnit.SpacePlane >= 1)>> + By having access to the use of $SF.Lower's + <<if $SFUnit.Satellite >= 1 && $SatLaunched > 0>> + satellite + <</if>> + <<if $SFUnit.SpacePlane >= 1>> + space plane + <</if>> + <<if ($SFUnit.Satellite >= 1 && $SatLaunched > 0) && $SFUnit.SpacePlane >= 1>> + satellite and space plane + <</if>> + it is + <<if $SFUnit.Satellite >= 1 && $SatLaunched > 0 && $SFUnit.SpacePlane >= 1>> + even + <</if>> + less likely that the target will escape. <</if>> <br><br> diff --git a/src/uncategorized/seRaidingAssault.tw b/src/uncategorized/seRaidingAssault.tw index 448f4be348c37eff05bf75d3c805a1954c43f22e..853a8476a8c6380dc6f990399dd26eedbbdc263f 100644 --- a/src/uncategorized/seRaidingAssault.tw +++ b/src/uncategorized/seRaidingAssault.tw @@ -2,13 +2,21 @@ You make your selection and direct your $mercenariesTitle to attack the target. -<<if $securityForceSatellitePower >= 1>> - <<set _MercCapture = random(-3,5)>> - <<set _raidescape = random(1,2)>> -<<else>> - <<set _MercCapture = random(-4,4)>> - <<set _raidescape = random(1,3)>> +<<set _MercCaptureL = -4,_MercCaptureU = 4>> +<<set _raidescapeL = 1,_raidescapeU = 3>> + +<<if $SF.Toggle && $SF.Active >= 1>> + <<if $SFUnit.Satellite >= 1 && $SatLaunched > 0>> + <<set _MercCaptureL += 1,_MercCaptureU +1>> + <<set _raidescapeL -= 1,_raidescapeU -= 1>> + <</if>> + <<if $SFUnit.SpacePlane >= 1>> + <<set _MercCaptureL += 1,_MercCaptureU +1>> + <<set _raidescapeL -= 1>> + <</if>> <</if>> +<<set _MercCapture = random(_MercCaptureL,_MercCaptureU)>> +<<set _raidescape = random(_raidescapeL,_raidescapeU)>> <<switch $origin>> <<case "housewife">> @@ -205,4 +213,4 @@ You make your selection and direct your $mercenariesTitle to attack the target. <<if ($targetEscape >= _MercCapture) || (_raidescape == 1)>> Your $mercenariesTitle return without their final prize, but remain in high spirits given their other successes out in the field. <</if>> -<<unset $targetEscape, $origin>> \ No newline at end of file +<<unset $targetEscape, $origin>> diff --git a/src/uncategorized/securityForceEOWReport.tw b/src/uncategorized/securityForceEOWReport.tw deleted file mode 100644 index bd757372e21b01f45158bd07bee5b9e5fc75089f..0000000000000000000000000000000000000000 --- a/src/uncategorized/securityForceEOWReport.tw +++ /dev/null @@ -1,425 +0,0 @@ -:: Security Force EOW Report - -<<silently>> - -<<include "SpecialForceUpgradeTree">> -<<set _SFNOPercentage = _maxNO*_RaidingEfficiency>> -<<set _SFOPercentage = _maxO*_RaidingEfficiency>> - -/* Manpower Fluctuation Calculations - loss from attrition, random casualties, etc. Baseline is ~3%/week. Heavier for raiding/slaving, reduced for securing trade. Maxes out between 1000-1500, though never exactly that. If over 1500 for some reason, set to 1455-1495. If under 100, cannot fluctuate further negatively. */ - - /* Check for too many troopers, set to mid 1400s if so */ - <<if $securityForcePersonnel > 1500>> - <<set $securityForcePersonnel = random(1455,1495)>> - <</if>> - - /* Force attrition, scales with size of force, increases when raiding and decreases when training. Securing trade is the 'neutral state', though attrition still of course happens */ - <<if $securityForcePersonnel < 100>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(2,5)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(2,5)>> <<else>> <<set $securityForcePersonnel += random(2,5)>> - <</if>> - <<elseif $securityForcePersonnel < 200>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-4,0)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-8,-4)>> <<else>> <<set $securityForcePersonnel += random(-6,-2)>> - <</if>> - <<elseif $securityForcePersonnel < 300>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-6,-2)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-10,-6)>> <<else>> <<set $securityForcePersonnel += random(-8,-4)>> - <</if>> - <<elseif $securityForcePersonnel < 400>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-8,-4)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-12,-8)>> <<else>> <<set $securityForcePersonnel += random(-10,-6)>> - <</if>> - <<elseif $securityForcePersonnel < 500>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-12,-8)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-16,-12)>> <<else>> <<set $securityForcePersonnel += random(-14,-10)>> - <</if>> - <<elseif $securityForcePersonnel < 600>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-14,-12)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-18,-16)>> <<else>> <<set $securityForcePersonnel += random(-16,-14)>> - <</if>> - <<elseif $securityForcePersonnel < 700>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-16,-14)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-20,-18)>> <<else>> <<set $securityForcePersonnel += random(-18,-16)>> - <</if>> - <<elseif $securityForcePersonnel < 800>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-20,-16)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-24,-20)>> <<else>> <<set $securityForcePersonnel += random(-22,-18)>> - <</if>> - <<elseif $securityForcePersonnel < 900>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-24,-20)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-28,-24)>> <<else>> <<set $securityForcePersonnel += random(-26,-22)>> - <</if>> - <<elseif $securityForcePersonnel < 1000>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-28,-24)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-30,-28)>> <<else>> <<set $securityForcePersonnel += random(-30,-26)>> - <</if>> - <<elseif $securityForcePersonnel < 1100>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-30,-28)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-32,-32)>> <<else>> <<set $securityForcePersonnel += random(-34,-28)>> - <</if>> - <<elseif $securityForcePersonnel < 1200>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-32,-34)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-34,-36)>> <<else>> <<set $securityForcePersonnel += random(-38,-30)>> - <</if>> - <<elseif $securityForcePersonnel < 1300>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-34,-38)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-36,-40)>> <<else>> <<set $securityForcePersonnel += random(-42,-32)>> - <</if>> - <<elseif $securityForcePersonnel < 1400>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-36,-42)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-38,-44)>> <<else>> <<set $securityForcePersonnel += random(-46,-34)>> - <</if>> - <<elseif $securityForcePersonnel < 1500>> - <<if $securityForceFocus == "recruit">> <<set $securityForcePersonnel += random(-48,-46)>> <<elseif $securityForceFocus == "raiding">> <<set $securityForcePersonnel += random(-40,-48)>> <<else>> <<set $securityForcePersonnel += random(-50,-36)>> - <</if>> - <<else>> - <<set $securityForcePersonnel += random(-1,1)>> - <</if>> - -/* Recruitment Calculations. Base of 10/week, so can get to about 250 personnel without upgrades/rep changes. Increases with reputation, either positive (I get to work for a solid private force!) or negative (I get to shoot people and take their shit with nobody caring!). Increases with cumulative upgrade sum (a better equipped force is more attractive for recruits). Infantry upgrades are worth twice as much (I get crazy combat armor, for free?). */ - - /* Universal recruitment base */ - <<set $securityForceRecruit = 10>> - - /* Extra recruitment from upgrades, up to an extra 5 per upgrade track (10 for infantry), to a sum of an extra 35/week at full upgrades. */ - <<if $securityForceArcologyUpgrades > 0>> - <<set $securityForceRecruit += ($securityForceArcologyUpgrades)>> <</if>> - <<if $securityForceInfantryPower > 0>> - <<set $securityForceRecruit += ($securityForceInfantryPower*2)>> <</if>> - <<if $securityForceStimulantPower > 0>> - <<set $securityForceRecruit += ($securityForceStimulantPower)>> <</if>> - - <<if $securityForceArcologyUpgrades >= 1>> - <<if $securityForceVehiclePower > 0>> - <<set $securityForceRecruit += ($securityForceVehiclePower)>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 4>> - <<if $securityForceAircraftPower > 0>> - <<set $securityForceRecruit += ($securityForceAircraftPower)>> <</if>> - <<if $securityForceSpacePlanePower > 0>> - <<set $securityForceRecruit += ($securityForceSpacePlanePower)>> <</if>> - <<if $securityForceFortressZeppelin > 0>> - <<set $securityForceRecruit += ($securityForceFortressZeppelin)>> <</if>> - <<if $securityForceAC130 > 0>> - <<set $securityForceRecruit += ($securityForceAC130)>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 2>> - <<if $securityForceDronePower > 0>> - <<set $securityForceRecruit += ($securityForceDronePower)>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 4>> - <<if $securityForceSatellitePower > 0>> - <<set $securityForceRecruit += ($securityForceSatellitePower)>> <</if>> - <<if $securityForceGiantRobot > 0 && ($terrain != "oceanic" && $terrain != "marine")>> - <<set $securityForceRecruit += ($securityForceGiantRobot)>> <</if>> - <</if>> - - <<if $terrain == "oceanic" || $terrain == "marine">> - <<if $securityForceAircraftCarrier > 0>> - <<set $securityForceRecruit += ($securityForceAircraftCarrier)>> <</if>> - <<if $securityForceSubmarine > 0>> - <<set $securityForceRecruit += ($securityForceSubmarine)>> <</if>> - <</if>> - - <<switch $ColonelCore>> - <<case "kind" "collected">> - <<set $securityForceRecruit += 2>> - <</switch>> - - /* If focus is recruit/train, 95% of the above is added to the personnel total of the SF. Else, 25% (which will, at medium/high personnel levels, not wholly counteract attrition, needing some recruitment every so often to keep the total high). */ - <<if $securityForceFocus == "recruit">> - <<set $securityForceRecruit += (Math.trunc($securityForceRecruit*0.95))>> - <<elseif $securityForceFocus == "secure">> - <<set $securityForceRecruit += (Math.trunc($securityForceRecruit*0.25))>> - <<elseif $securityForceFocus == "raiding">> - <<set $securityForceRecruit += (Math.trunc($securityForceRecruit*0.25))>> - <</if>> - - /* Final addition of recruits to force personnel pool */ - <<set $securityForcePersonnel += ($securityForceRecruit)>> - - /* Final Check to ensure not over 1500 members. If so, set it to the mid/high 1400s. Recruitment will be wasteful at this point. */ - <<if $securityForcePersonnel > 1500>> - <<set $securityForcePersonnel = random(1455,1495)>> - <</if>> - -/* Trade Protection Calculations. Protecting trade is a reputation/prosperity builder and provides a few event triggers. Base rep build of 2.5%/week. Each upgrade adds 0.25%, drones and barracks are twice as powerful (swarms to patrol smaller routes while the troops secure the major ones and improved coordination, etc.), to reach a theoretical max of 5% rep boost per week from that (before subsequent modifiers and calculations at EOW). Personnel gates apply a further 0.5% modifier per gate. Prosperity builds at the same rate (adds an extra 5% prosperity per week along the same guidelines as rep using the same logic), and is then applied to the prosperity if the result would be less than/equal to the current prosperity cap. Positive reputation applies a significant positive multiplier (lets go trade with the nice people!), negative reputation applies a significant negative multiplier (trade routes are safe, yeah, but you know, they, uh, murder people for their jewelry and then enslave their children). */ - - /* Base rep/prosperity gain */ - <<set $securityForceTrade = 0.025>> - - /* Extra rep/prosperity from upgrades, an extra 0.25% per upgrade. ArcologyUpgrades and drones are worth double. */ - <<if $securityForceArcologyUpgrades > 0>> - <<set $securityForceTrade += (0.5*($securityForceArcologyUpgrades))>> <</if>> - <<if $securityForceInfantryPower > 0>> - <<set $securityForceTrade += (0.25*($securityForceInfantryPower))>> <</if>> - <<if $securityForceStimulantPower > 0>> - <<set $securityForceTrade += (0.25*($securityForceStimulantPower))>> <</if>> - - <<if $securityForceArcologyUpgrades >= 1>> - <<if $securityForceVehiclePower > 0>> - <<set $securityForceTrade += (0.25*($securityForceVehiclePower))>> <</if>> - <<if $securityForceHeavyBattleTank > 0>> - <<set $securityForceTrade += (0.25*($securityForceHeavyBattleTank))>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 4>> - <<if $securityForceAircraftPower > 0>> - <<set $securityForceTrade += (0.25*($securityForceAircraftPower))>> <</if>> - <<if $securityForceSpacePlanePower > 0>> - <<set $securityForceTrade += (0.25*($securityForceSpacePlanePower))>> <</if>> - <<if $securityForceFortressZeppelin > 0>> - <<set $securityForceTrade += (0.25*($securityForceFortressZeppelin))>> <</if>> - <<if $securityForceAC130 > 0>> - <<set $securityForceTrade += (0.25*($securityForceAC130))>> <</if>> - <<if $securityForceHeavyTransport > 0>> - <<set $securityForceTrade += (0.25*($securityForceHeavyTransport))>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 2>> - <<if $securityForceDronePower > 0>> - <<set $securityForceTrade += (0.5*($securityForceDronePower))>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 4>> - <<if $securityForceSatellitePower > 0>> - <<set $securityForceTrade += (0.25*($securityForceSatellitePower))>> <</if>> - <<if $securityForceGiantRobot > 0 && $terrain != "oceanic" && $terrain != "marine">> - <<set $securityForceTrade += (0.25*($securityForceGiantRobot))>> <</if>> - <<if $securityForceMissileSilo > 0 && $terrain != "oceanic" && $terrain != "marine">> - <<set $securityForceTrade += (0.25*($securityForceMissileSilo))>> <</if>> - <</if>> - - <<if $terrain == "oceanic" || $terrain == "marine">> - <<if $securityForceAircraftCarrier > 0>> - <<set $securityForceTrade += (0.25*($securityForceAircraftCarrier))>> <</if>> - <<if $securityForceSubmarine > 0>> - <<set $securityForceTrade += (0.25*($securityForceSubmarine))>> <</if>> - <<if $securityForceHeavyAmphibiousTransport > 0>> - <<set $securityForceTrade += (0.25*($securityForceHeavyAmphibiousTransport))>> <</if>> - <</if>> - - <<switch $ColonelCore>> - <<case "kind" "collected">> - <<set $securityForceTrade += 0.15>> - <</switch>> - - /* Manpower effects - extra 0.5% per 100-gate in terms of manpower. Kicks in at over 200, since some of the SF is on overhead, logistics, repairs, rest, etc. */ - <<if $securityForcePersonnel > 200>> - <<set $securityForceTrade += (0.005*Math.trunc($securityForcePersonnel/100))>> - <</if>> - - /* If focus is secure trade, 95% of the above is added to the players rep/prosperity. Else, 25%. */ - <<if $securityForceFocus == "secure">> - <<set $rep += (Math.trunc($rep*($securityForceTrade*0.95)))>> - <<set $arcologies[0].prosperity = (Math.trunc($arcologies[0].prosperity+($securityForceTrade*0.95)))>> - <<elseif $securityForceFocus == "recruit">> - <<set $rep += (Math.trunc($rep*($securityForceTrade*0.25)))>> - <<set $arcologies[0].prosperity = (Math.trunc($arcologies[0].prosperity+($securityForceTrade*0.25)))>> - <<elseif $securityForceFocus == "raiding">> - <<set $rep += (Math.trunc($rep*($securityForceTrade*0.25)))>> - <<set $arcologies[0].prosperity = (Math.trunc($arcologies[0].prosperity+($securityForceTrade*0.25)))>> - <</if>> - - /* If the rep or prosperity is now above the cap, set it to the cap. */ - <<if $rep > 20000>> - <<set $rep = 20000>> - <</if>> - <<if $arcologies[0].prosperity > $AProsperityCap>> - <<set $arcologies[0].prosperity = $AProsperityCap>> - <</if>> - -/* Raiding/Slaving Calculations. This brings in cash and activates event triggers. Base raiding brings in 75000/week, but this scales significantly with personnel and upgrades. */ - - /* Base raiding take, zero the summative variables */ - <<set $securityForceBooty = 75000>> - <<set $securityForceIncome = 0>> - <<set $securityForceMissionEfficiency = 1>> - - /* Impact of manpower on raiding. An extra 3500/100-gate, kicking in at over 200 personnel */ - <<if $securityForcePersonnel > 200>> - <<set $securityForceBooty += 3500*Math.trunc($securityForcePersonnel/100)>> - <</if>> - - <<set _RaidingEfficiency = .1>> - - /* Raiding Efficiency Modifier Calculations - /* Drugs make them better at everything, but especially much better at raiding - much easier to murder and pillage when you're fucked out of your mind on a mix of meth, pcp, and lsd. Having an effective; CIC (Combat Information Center) at the barracks, air force, Satellite, AC-130, major and more efficient facility support massively improves raiding efficiency. If we are dealing with an oceanic arcology the sub and carrier massively improve efficiency. */ - - /* Facilities */ - - <<if $securityForceArcologyUpgrades > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceArcologyUpgrades*_RaidingEfficiency)>> <</if>> - <<if $securityForceInfantryPower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceInfantryPower*_RaidingEfficiency)>> <</if>> - <<if $securityForceStimulantPower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceStimulantPower*_RaidingEfficiency)>> <</if>> - - <<if $securityForceArcologyUpgrades >= 1>> - <<if $securityForceVehiclePower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceVehiclePower*_RaidingEfficiency)>> <</if>> - <<if $securityForceHeavyBattleTank > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceHeavyBattleTank*_RaidingEfficiency)>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 4>> - <<if $securityForceAircraftPower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceAircraftPower*_RaidingEfficiency)>> <</if>> - <<if $securityForceSpacePlanePower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceSpacePlanePower*_RaidingEfficiency)>> <</if>> - <<if $securityForceFortressZeppelin > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceFortressZeppelin*_RaidingEfficiency)>> <</if>> - <<if $securityForceAC130 > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceAC130*_RaidingEfficiency)>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 2>> - <<if $securityForceDronePower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceDronePower*_RaidingEfficiency)>> <</if>> - <</if>> - - <<if $securityForceArcologyUpgrades >= 4>> - <<if $securityForceSatellitePower > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceSatellitePower*_RaidingEfficiency)>> <</if>> - <<if $securityForceGiantRobot > 0 && ($terrain != "oceanic" && $terrain != "marine")>> - <<set $securityForceMissionEfficiency *= 1+($securityForceGiantRobot*_RaidingEfficiency)>> <</if>> - <<if $securityForceMissileSilo > 0 && ($terrain != "oceanic" && $terrain != "marine")>> - <<set $securityForceMissionEfficiency *= 1+($securityForceMissileSilo*_RaidingEfficiency)>> <</if>> - <</if>> - - <<if $terrain == "oceanic" || $terrain == "marine">> - <<if $securityForceAircraftCarrier > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceAircraftCarrier*_RaidingEfficiency)>> <</if>> - <<if $securityForceSubmarine > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceSubmarine*_RaidingEfficiency)>> <</if>> - <<if $securityForceHeavyAmphibiousTransport > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceHeavyAmphibiousTransport*_RaidingEfficiency)>> <</if>> - <</if>> - - /* Colonel */ - <<switch $ColonelCore>> - <<case "warmonger" "cruel" "psychopathic">> - <<set $securityForceMissionEfficiency *= 1+(_RaidingEfficiency)>> - <</switch>> - <<if $securityForceSexedColonel > 0>> - <<set $securityForceMissionEfficiency *= 1+($securityForceSexedColonel*_RaidingEfficiency)>> - <</if>> - <<if $OverallTradeShowAttendance > 0>> - <<set $securityForceMissionEfficiency *= 1+($OverallTradeShowAttendance*_RaidingEfficiency)>> - <</if>> - - LieutenantColonel and Facility Support - <<if $LieutenantColonel == 2>> - <<set $securityForceMissionEfficiency *= 1+($LieutenantColonel*_RaidingEfficiency)>> - <</if>> - <<if $FacilitySupportEfficiency > 1>> - <<set $securityForceMissionEfficiency *= 1+($FacilitySupportEfficiency*_RaidingEfficiency)>> - <</if>> - - /* Apply the efficiency boost to the booty. Let's hope that meth made them better at ripping out some poor bastard's gold teeth */ - <<set $securityForceBooty = ($securityForceBooty*$securityForceMissionEfficiency)>> - - /* Check to see if total booty is over 15k. This is the 'profitability point' of the SF. It has no upkeep, but unless you get over 15k, The Colonel uses the entire take to keep the force together. Still very profitable at higher levels though (Who thought having a 1000-man private military dedicated to slamming meth and pillaging the world would be profitable? It's quite crazy tbh). Technically the booty calcs should be affected if the force is recruiting/securing (less income from raids), but that would be frustrating for the player at high levels of development - we still want them to feel like they're getting the cash. Uses a flag for the eventual description. */ - <<if $securityForceBooty > 15000>> - <<set $securityForceProfitable = 1>> - - /* Finally, add dat cash to the bank. C.R.E.A.M. */ - <<if $securityForceFocus == "raiding">> - <<set $securityForceIncome = Math.trunc(($securityForceBooty*0.95))>> - <<set $cash = ($cash+$securityForceIncome)>> - <<elseif $securityForceFocus == "recruit">> - <<set $securityForceIncome = Math.trunc(($securityForceBooty*0.25))>> - <<set $cash = ($cash+$securityForceIncome)>> - <<elseif $securityForceFocus == "secure">> - <<set $securityForceIncome = Math.trunc(($securityForceBooty*0.25))>> - <<set $cash = ($cash+$securityForceIncome)>> - <</if>> - <<else>> - <<set $securityForceProfitable = 0>> - <</if>> - -/* Depravity calculations - hidden stat representing how violent/hedonistic/etc the SF is. Rises with raiding/free fire/low accountability, The Colonel personality choice and lowers with reduced settings (though much slower since it's easier to go criminal then it is to go straight afterward, etc. Middle options have no effect. Each setting is independent of the others. */ - - <<if $securityForceFocus == "raiding">> - <<set $securityForceDepravity += 0.05>> - <<elseif $securityForceFocus == "secure">> - <<set $securityForceDepravity -= 0.02>> - <</if>> - - <<if $securityForceRulesOfEngagement == "free">> - <<set $securityForceDepravity += 0.05>> - <<elseif $securityForceRulesOfEngagement == "hold">> - <<set $securityForceDepravity -= 0.02>> - <</if>> - - <<if $securityForceAccountability == "none">> - <<set $securityForceDepravity += 0.05>> - <<elseif $securityForceAccountability == "strict">> - <<set $securityForceDepravity -= 0.02>> - <</if>> - - <<switch $ColonelCore>> - <<case "kind">> - <<set $securityForceDepravity -= 0.02>> - <<case "collected">> - <<set $securityForceDepravity -= 0.015>> - <<set $securityForceDepravity += 0.015>> - - <<case "cruel">> - <<set $securityForceDepravity += 0.05>> - <<case "psychopathic">> - <<set $securityForceDepravity += 0.10>> - <<case "sociopathic">> - <<set $securityForceDepravity += 0.15>> - - <<case "brazen">> - <<set $securityForceDepravity += 1.05>> - <<set $securityForceDepravity -= 1.05>> - <</switch>> - -/* Reset the token counters for speaking or such to The Colonel in the barracks */ - <<set $securityForceUpgradeToken = 0>> - <<set $securityForceGiftToken = 0>> - <<set $securityForceColonelToken = 0>> - <<set $securityForceSexedColonelToken = 0>> - -/* securityForceTradeShow */ -<<if $CurrentTradeShowAttendance == 1>> - <<set $CurrentTradeShowAttendance = 0>> - <<set $TradeShowIncome = 0>> - <<set $TradeShowHelots = 0>> -<</if>> - -<<if $securityForceStimulantPower == 8 || $securityForceStimulantPower == 10>> - <<set _OverdoseSurvivalChance = 5, _OverdoseDeaths = 0>> - <<if _Env == _N1>> - <<set _OverdoseSurvivalChance = _OverdoseSurvivalChance-.5>> - <<elseif _Env == _N2>> - <<set _OverdoseSurvivalChance = _OverdoseSurvivalChance>> - <<elseif _Env == _N3>> - <<set _OverdoseSurvivalChance = _OverdoseSurvivalChance+.5>> - <</if>> - - <<if $securityForceStimulantPower == 8 && random(0,100) > _OverdoseSurvivalChance>> - <<set _OverdoseDeaths = random(0,10)>> - <<elseif $securityForceStimulantPower == 10 && random(0,100) > _OverdoseSurvivalChance>> - <<set _OverdoseDeaths = random(0,20)>> - <</if>> - - <<if _OverdoseDeaths > 0>> - <<set $securityForcePersonnel -= _OverdoseDeaths>> - <</if>> - -<</if>> - -/* Take all the above and display the EOW text and control panel. */ -<</silently>> -<<nobr>> - __Status and Activities of the $securityForceName __: - <br>This week, $securityForceName, <<print commaNum($securityForcePersonnel)>> strong, focused on <<if $securityForceFocus == "recruit">>recruiting and training more personnel. Smaller parties ventured out to protect the arcology's trade routes and strike targets of opportunity.<<elseif $securityForceFocus == "secure">>securing the trade routes between the arcology and the surrounding area. Smaller parties ventured out to strike targets of opportunity and process new recruits. - <<elseif $securityForceFocus == "raiding">>locating and striking targets of opportunity, capturing both material loot and new slaves. Smaller parties secured the most important of the arcology's trade routes and processed new recruits.<</if>> <<if $securityForceStimulantPower == 8 || $securityForceStimulantPower == 10 && _OverdoseDeaths > 0>> <<print (_OverdoseDeaths)>> soldiers fatally overdosed on the drug cocktail, The Colonel's much heavier than average drug use saves her from this side effect.<</if>> These activities have, overall, @@.green;improved@@ your arcology's prosperity. <<if $securityForceProfitable == 1>>The goods procured by the $securityForceName this week, after accounting for the spoils retained by individual soldiers, were @@.green;more than sufficient@@ to cover expenses. Excess material and human assets totaling @@.yellowgreen;<<print cashFormat($securityForceIncome)>>@@ (after liquidation) were transferred to your accounts. <<elseif $securityForceProfitable == 0>>The goods procured by the special force were, after accounting for the spoils retained by individual soldiers, @@.red;barely enough@@ to cover expenses. More growth will be needed to ensure profitability.<</if>> $securityForceName managed to recruit $securityForceRecruit new soldiers this week, and your reputation has @@.green;improved@@ through the improvement of trade security. - -<</nobr>> - <br> //Your instructions to <<if $CurrentTradeShowAttendance == 1>>Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>><<else>>The Colonel<</if>>:// - Deployment focus: <span id="focus"><<if $securityForceFocus == "recruit">>''Recruiting and Training''<<elseif $securityForceFocus == "secure">>''Securing Trade Routes''<<else>>''Raiding and Slaving''<</if>></span>. <<link "Recruit and Train">><<set $securityForceFocus = "recruit">><<replace "#focus">>''Recruiting and Training''<</replace>><</link>> | <<link "Secure Trade Routes">><<set $securityForceFocus = "secure">><<replace "#focus">>''Securing Trade Routes''<</replace>><</link>> | <<link "Raiding and Slaving">><<set $securityForceFocus = "raiding">><<replace "#focus">>''Raiding and Slaving''<</replace>><</link>> - Rules of Engagement: <span id="roe"><<if $securityForceRulesOfEngagement == "hold">>''Hold Fire''<<elseif $securityForceRulesOfEngagement == "limited">>''Limited Fire''<<else>>''Free Fire''<</if>></span>. <<link "Hold Fire">><<set $securityForceRulesOfEngagement = "hold">><<replace "#roe">>''Hold Fire''<</replace>><</link>> | <<link "Limited Fire">><<set $securityForceRulesOfEngagement = "limited">><<replace "#roe">>''Limited Fire''<</replace>><</link>> | <<link "Free Fire">><<set $securityForceRulesOfEngagement = "free">><<replace "#roe">>''Free Fire''<</replace>><</link>> - Accountability: <span id="accountability"><<if $securityForceAccountability == "strict">>''Strict Accountability''<<elseif $securityForceAccountability == "some">>''Some Accountability''<<else>>''No Accountability''<</if>></span>. <<link "Strict Accountability">><<set $securityForceAccountability = "strict">><<replace "#accountability">>''Strict Accountability''<</replace>><</link>> | <<link "Some Accountability">><<set $securityForceAccountability = "some">><<replace "#accountability">>''Some Accountability''<</replace>><</link>> | <<link "No Accountability">><<set $securityForceAccountability = "none">><<replace "#accountability">>''No Accountability''<</replace>><</link>> - <<if $OverallTradeShowAttendance == 1>> - <br>Thank you <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>> for letting me to go back to it, hopefully <<if $LieutenantColonel == 2>>Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>> has been doing her job <<else>> that nothing serious happened while I was away.<</if>> There was some interest in our developments, I could probably sell generic schematics next time I go if you want? - <<elseif $OverallTradeShowAttendance >= 2>> - <br>Thank you <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>sir<<else>>ma'am<</if>> for letting me to go back to it, hopefully <<if $LieutenantColonel == 2>>Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>> has been doing her job <<else>> that nothing serious happened while I was away.<</if>> - <br>While at the recent TradeShow, <<print cashFormat($TradeShowIncome)>> was made selling generic schematics and $TradeShowHelots menial slaves were sent as a bonus. - Overall <<print cashFormat($TotalTradeShowIncome)>> has been made and <<print commaNum($TotalTradeShowHelots)>> menial slaves have been acquired during the $OverallTradeShowAttendance TradeShow's I have attended. - <</if>> - //Current facilities status:// -<<include "SpecialForceUpgradeDec">> diff --git a/src/uncategorized/securityForceNamingColonel.tw b/src/uncategorized/securityForceNamingColonel.tw deleted file mode 100644 index 69dbbe34b5864f1cd8b6078659543faf54e74361..0000000000000000000000000000000000000000 --- a/src/uncategorized/securityForceNamingColonel.tw +++ /dev/null @@ -1,169 +0,0 @@ -:: Security Force Naming-Colonel [nobr] - -<<set $nextLink = "Random Nonindividual Event", $nextButton = " ">> - -<span id="address"> -It's been a short while since you told your citizens that you were going to talk to them about their security, and by all accounts, they've turned out in force to watch your address over the arcology's internal communications system. You wake up early, relieve your frustrations on a few slaves woken out of deep sleep, and take position behind your desk. You also call over a slave and push her under your desk. The unspoken instruction is clear, and she begins <<if $PC.dick == 1>> enthusiastically (but silently) sucking your cock, taking it as deep as she can without gagging. <<else>> enthusiastically eating you out, pressing her face into your pussy and forcing her tongue deep inside you. <</if>> - -<br><br> - -A blinking light tells you that the channel is open. You take a deep breath, and begin. You greet your citizens and explain that while you believe deeply in the underlying principles of the Free Cities, that of contract law, minimal to no governmental oversight, and slaveholding, recent events have forced you to modify some of your views. The Old World attack, and especially the assault by the Daughters of Liberty who, as you remind them, were aided by a distressingly large number of now-dead traitors, has proven that some form of permanent, organized standing force is needed to ensure the personal safety of the citizen body. - -<br><br> - -You tell them that the Old World continues to deteriorate (it does). You tell them that it is only a matter of time before the poor, diseased, starving, and unwashed masses try their hand at invading the arcology again (it is). You tell them that such a force would be good for business, securing trade routes and conducting slaving raids far greater in scale than those performed by private slaving corporations (it would). And finally, to quell their greatest fear, you tell them that you would personally support the force financially. - -<br><br> - -As you speak, you carefully monitor the citizens' opinions as indicated on their communication devices. It is uniformly positive - they know whom they have to thank for their continued survival and dominance. You also monitor your arousal given the ministrations of your slave. A few small movements on your part communicate to your citizens what is happening without being too obvious. Free Cities business etiquette respects business conducted while being subtly serviced (and your doing so during such a public and important broadcast signals how seriously you are taking it), but a climax would be seen as a serious lack of discipline. - -<br><br> - -You finally wrap up your speech, announcing to your citizens the immediate formation, with yourself as Marshal, of the: <<textbox "$securityForceName" $securityForceName>> - -<br><br> - -You close the link to the communication system and read a message from your assistant that appeared during the last moments of your address. In consultation with major figures in the mercenary community, a suitable candidate for day-to-day command of the new unit has been found. Your instructions were to keep you in the dark about them so avoid pre-judgment. They are waiting outside your office. -<br>-------------------- -<br><<link "Invite them inside">> - <<replace "#address">> - The figure that enters is not what you were expecting, given your previous experiences with the mercenary groups that work with the arcology owners of the Free Cities. Most mercenaries you've worked with have been grizzled stout men, veterans of the Old World militaries that finally had too much and went private. This one's different, <<if $ColonelCore != "">> likely to be ''$ColonelCore'' <</if>> - <span id="result0"> - <<if $ColonelCore == "">> you can guess from her face that at her core she is likely to be: - <<link "Kind" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as a kind person. - <<set $ColonelCore = "kind">> - <</replace>> - <</link>> | <<link "Mischievous" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as someone who enjoys playfully causing trouble. - <<set $ColonelCore = "mischievous">> - <</replace>> - <</link>> | <<link "Cruel" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as terribly cruel. - <<set $ColonelCore = "cruel">> - <</replace>> - <</link>> | <<link "Psychopathic" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as a complete psychopath. - <<set $ColonelCore = "psychopathic">> - <</replace>> - <</link>> | <<link "Sociopathic" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as a complete sociopath. - <<set $ColonelCore = "sociopathic">> - <</replace>> - <</link>> | <<link "A warmonger" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as someone who just loves war. - <<set $ColonelCore = "warmonger">> - <</replace>> - <</link>> | <<link "Jaded" "Security Force Naming-Colonel">> - she strikes you as someone who's seen too much to really care anymore. - <<replace "#result0">> - <<set $ColonelCore = "jaded">> - <</replace>> - <</link>> | <<link "Shell shocked" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as someone who's been through hell. - <<set $ColonelCore = "shell shocked">> - <</replace>> - <</link>> | <<link "Brazen" "Security Force Naming-Colonel">> - <<replace "#result0">> - she strikes you as someone who doesn't know shame. - <<set $ColonelCore = "brazen">> - <</replace>> - <</link>> | <<link "Collected" "Security Force Naming-Colonel">> - <<replace "#result0">> - she seems calm and collected. - <<set $ColonelCore = "collected">> - <</replace>> - <</link>> - <</if>> - </span> - -<<if $ColonelCore != "">> - <br><br> - - She strides in, stopping in front of your desk, not bothering to put on even the semi-military air (complete with salute) that most mercenaries tend to adopt when meeting new clients. She's very tall and wearing the pants, boots, gloves, and tank top of a female combat armor under-suit. Her bare arms and upper body are corded with muscle, and through the tank top's thin fabric you can see both the shape of her muscled abdomen and the curves of her small but perky breasts, complete with what your experience tells you are barbell nipple piercings. Her eyes are alive with intelligence, and you can see her scanning your office, clearly impressed by its opulence. Her hair is shaved close to the scalp, and her ears and nose are heavily pierced. You can make out three long, ugly scars running over top of the mottled tissue of a previous, severe burn along one side of her face, as well as numerous smaller scars and burns on her bare arms. She's been disarmed prior to meeting you, and you see, in addition to an empty pistol holster on her hip, at least three empty knife holsters. - - <br><br> - - Returning your gaze to her face, she crosses her arms underneath her chest, pressing her breasts up and forward. You have her measure. Given the generally patriarchal nature of both the mercenary community, and the same nature combined with the heavily sexualized lifestyle of the Free Cities, she's decided to embrace her position rather than fight it. - - <br><br> - - "So," she begins, "you're the boss." You invite her to sit down. "No thanks, boss. Besides," she indicates the slave under your desk, "you look a little occupied." She nods at the desk. "Saw the speech. Very nice. I'd heard you crazy bastards do business while getting <<if $PC.dick == 1>>sucked off, <<else>>eaten out, <</if>>but I've never seen anyone actually do it. Hell, most of you people don't want to have to have too much to do with me. I usually get my instructions remotely." A short, harsh laugh escapes her. "But I guess it keeps you focused. Can't have the entire arcology seeing you cum." - - <br><br> - - She moves a step closer. "Your computer told me you wanted me to be a surprise, so I guess I'll tell you why you want me to run the $securityForceName for you. I'm a killer, pure and simple, and you need that. I looked into those attacks you've suffered. Nasty business. I'll make sure that an attack like that never happens again. I was a soldier out there, in charge of about a thousand men, when the Free Cities first started going up, and I knew they were the future. Eventually I deserted, found the first refugee convoy I could, killed the moron protecting it, sold the girls off to the slavers, and bought enough gear to start killing for people like you. Ran my own merc crew, did well till we tried to take on a bigger one and everyone died. Joined with another big outfit, became the number two, then shit went bad and I had to run. Been a solo fighter and slaver ever since. I know my work, and I know I can make this work." - - <br><br> - - You feel your climax approaching and hold up a finger. The merc pauses while you <<if $PC.dick == 1>>grab the slave's head, forcing your cock roughly down her throat while you cum. She swallows as much as she can before pulling away, coughing. <<else>>grip the slave's head tightly with your thighs, pressing her face tightly against your pussy as you cum. When you release her, she pulls away, coughing.<</if>> - - <br><br> - - The merc laughs again. "I could get used to a place like this." She waves her hand around the office. "I bet you want to know why I'd be trustworthy for something like this." You don't correct her. "Thought so." Her demeanor softens, and you can detect a hit of nervousness. "I would say that I've never turned on a client and leave it at that, but this is different. It's getting worse out there. I'm sure you know that." You give her a slight nod. "Four times now I've woken up in the middle of the night and had to kill someone. Two of them were the people I'd taken to bed. You can't even trust your drunken fucks anymore." - <<switch $ColonelCore>> - <<case "kind">> - What a shame but that is the world today. - <<case "cruel" "sociopathic">> - Who doesn't like a good hard fuck and stab? - <<case "jaded">> - Meh, what else is new? - <</switch>> - - <br><br> - - "I like fighting, but I want to live somewhere where I can relax from life out there. You give me the job and a place to live, let me hang up the uncertainty of being a merc, and I'll die for you if it comes to that. I promise the people I recruit will feel the same. Besides, I could get used to - <<switch $ColonelCore>> - <<case "warmonger">> - fighting vastly out matched foes. - <<case "cruel">> - having my own stable to abuse as I see fit. - <<case "mischievous">> - causing a little chaos. - <</switch>> - Spending my R&R time with a cold beer in one hand, a few lines of coke or a stack of pills in front of me, - <<if $ColonelCore == "cruel">> - and a terrified little slavegirl locked between my legs, struggling to breathe, - <</if>> - sounds pretty fucking good to me." - - <br><br> - - You decide quickly. She'll do. You tap a few commands on your desk's console, assigning her personal quarters on the arcology's higher levels and transferring her first stipend to her new account. You also ask her what title she wants. - - <br><br> - - "Title?" Another short laugh. "I guess I do need one, given that I'm all official and shit now." She thinks for a moment. "I was a major before I went freelance, and I think I'd like a promotion. Colonel sounds good." You make a note of this in her file. "You people don't seal contracts with a fuck do you?" You shake your head, and she laughs again. "Good. I make it a point never to fuck the boss. It's bad for business." She turns around. "Well, I guess I'd better get to it. Your computer thing assigned me space on the lower levels for the barracks. I brought a few squads of guys I know from the old days to start, but we'll grow fast once I put the word out, I guarantee it." - - <br><br> - - <<link "Let her leave">> - <<replace "#address">> - She turns and leaves, and you chase the slave out after her. A few minutes later, a soft chime announces the arrival of a message. It's from The Colonel. - - <br><br> - - //Hey boss, just wanted to mention something else. In your speech you said that you were going to be paying for the $securityForceName. In my mind that means it's yours, no matter what anyone else here might think. I do what you tell me to do. I make sure the troops behave as you want them to behave. I've worked for some 'nice guys' in the past, and I can do that job if you want. It's boring, but sustainable, and I'll have the $securityForceName turning a profit and supporting the arcology in good order. But if you let me off the leash, and throw any Old World complaints in the trash where they belong, I promise you'll have money pouring in your office, even accounting for the good amounts me and my boys will pocket along the way. You'll have an empire in short order. <<if $mercenaries > 1>>Either way, I'll keep my hands off those mercs you've already installed. I figure that you've reasons for having two different death squads under contract.<</if>> - - <br><br> - - Oh, one last thing. I know you've got some kind of grand social experiment going on up there like all the other owners, and that's your own deal, but I'd appreciate it if you could keep that stuff out of the new barracks. I'll have a hard time approaching potential recruits and telling them they should come live in a Roman apartment, an Egyptian temple, a goddamn Japanese teahouse, or some of the other crazy shit I've seen in the past. They're hard, nasty people, and trust me, I can tell you from experience that changing that is just not going to happen. Like I said, though, I can hold them back a bit if you like. - - <br><br> - - Talk to you later, boss.// - <<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */ - <<set $securityForceActive = 1, $securityForceSubsidyActive = 1>> - <</replace>> - <</link>> -<</if>> - <</replace>> -<</link>> -</span> \ No newline at end of file diff --git a/src/uncategorized/securityForceProposal.tw b/src/uncategorized/securityForceProposal.tw deleted file mode 100644 index 2e79b89018d02e7507db6edc557fed2527a4bcfd..0000000000000000000000000000000000000000 --- a/src/uncategorized/securityForceProposal.tw +++ /dev/null @@ -1,40 +0,0 @@ -:: Security Force Proposal [nobr] - -<<set $nextLink = "Next Week">> -<<set $nextButton = "Continue">> - -The Free Cities were founded on the principles of unrestrained anarcho-capitalism. To those with such beliefs, the very idea of possessing an armed force, a key tool of government control, or weapons at all, was anathema. - -In the period since, however, your citizens have seen the value in weaponry. They watched on their news-feed as some Free Cities were sacked by the armies and mobs of the Old World, driven by their hatred of the citizens' luxurious lifestyles. They've seen other Cities toppled from within, by slave conspiracies or infighting among citizen groupings with differing beliefs. They've witnessed the distressingly rapid rise of fanatical anti-slavery organizations, who would like nothing more than to see them slowly bled by their own chattel. They are learned people, and they know what happens to slaveowners who lose their power. - -They've also seen the results of your policies. Your actions towards the arming of both yourself and the arcology proved critical, and ensured their safety when the Old World came for them. And your victory over the Daughters of Liberty, who the citizens know would have executed every single one of them, has created an opportunity. If you insisted upon the creation of a standing 'special' force for the arcology, many would support you and, more importantly, nobody of note would object. - -Such a force would solve many problems. More soldiers would mean more control, which is very good for you. More soldiers would mean more security for the arcology and the approaches to it, which is very good for business. More soldiers would mean more obedience from rebellious slaves who can see how powerless they truly are, which is very good for everybody. The force would be tiny compared to the Old World militaries that still exist, but money and technology can, of course, overcome massive numerical inferiority. This being the Free Cities, they would have other uses besides security. Perhaps, in time, you could exert some manner of influence on the Old World itself. - -''This is a unique and very important opportunity'', and is possible only because of your recent victory over the Daughters. If you do not seize it, the memories and fears of your citizens will fade, and you will not be able to raise the matter again. --------------------- -<<set $securityForceEventSeen = 1>> -<<if ($PC.warfare >= 100)>> - <<set _price = 10000>> -<<elseif ($PC.warfare >= 50) || ($PC.career == "arcology owner")>> - <<set _price = 15000>> -<<else>> - <<set _price = 20000>> -<</if>> - -<span id="result"> -<<link "Prepare for an announcement">> - <<replace "#result">> - You instruct $assistantName to announce to the arcology's citizenry that you will be making an important announcement in the near future regarding the security situation. Given the damage still present from the Daughters' attack, everyone will be turning in. You also instruct your assistant to begin quietly investigating potential leadership figures for the force itself. - <<set $securityForceCreate = 1>> - <<set $cash -= _price>> - <<set $nextButton = "Continue">> - <</replace>> -<</link>> //Initial costs are <<print cashFormat(_price)>>, and upon establishment the force will have significant support costs until it is self-sufficient.// -<br><<link "The mercenaries are enough">> - <<replace "#result">> - On second thought, such a force is not needed. Your methods have served well so far - why should there be any change going forward? - <<set $nextButton = "Continue">> - <</replace>> -<</link>> -</span> diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw index fa7dd4207470e9411c64ba36ed11c25459b5a62f..d575b8ad993a1efaa2d32511e59089e31d5ac490 100644 --- a/src/uncategorized/storyCaption.tw +++ b/src/uncategorized/storyCaption.tw @@ -507,8 +507,8 @@ <</if>> <</if>> <br> - <<if ($securityForceActive)>> - <br><span id="SFMButton"> <<link "$securityForceName's Barracks""SFM Barracks">><</link>> </span> @@.cyan;[Z]@@ + <<if $SF.Toggle && $SF.Active >= 1>> + <br><span id="SFMButton"> <<link "$SF.Caps's Firebase""Firebase">><</link>> </span> @@.cyan;[Z]@@ <</if>> <br><span id="optionsButton"><<link "Game Options">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Options">><</link>></span> @@.cyan;[O]@@ <<else>> @@ -532,8 +532,8 @@ <<if $cyberMod != 0 && $researchLab.built == "true">> <br>[[Manage Research Lab|Research Lab][$temp = 0]] <</if>> - <<if ($securityForceActive)>> - <br><span id="SFMButton"> <<link "$securityForceName's Barracks""SFM Barracks">><</link>> </span> @@.cyan;[Z]@@ + <<if $SF.Toggle && $SF.Active >= 1>> + <br><span id="SFMButton"> <<link "$SF.Caps's Firebase""Firebase">><</link>> </span> @@.cyan;[Z]@@ <</if>> <br> @@ -573,8 +573,8 @@ <<if $cyberMod != 0 && $researchLab.built == "true">> <br>[[Manage Research Lab|Research Lab][$temp = 0]] <</if>> - <<if ($securityForceActive)>> - <br><span id="SFMButton"> <<link "$securityForceName's Barracks""SFM Barracks">><</link>> </span> @@.cyan;[Z]@@ + <<if $SF.Toggle && $SF.Active >= 1>> + <br><span id="SFMButton"> <<link "$SF.Caps's Firebase""Firebase">><</link>> </span> @@.cyan;[Z]@@ <</if>> <br> @@ -653,9 +653,13 @@ <br> <<textarea "_customEvalCode" "">> <<link "Run Custom Function">> - <<set _customEvalCode = "(" + _customEvalCode + ")">> - <<if typeof eval(_customEvalCode) === "function">> - <<run eval(_customEvalCode)()>> + <<if _customEvalCode>> + <<if _customEvalCode.charAt(0) != "(" || $nextLink == ")">> /* second condition is only there for sanityCheck */ + <<set _customEvalCode = "(" + _customEvalCode + ")">> + <</if>> + <<if typeof eval(_customEvalCode) === "function">> + <<run (eval(_customEvalCode))()>> + <</if>> <</if>> <<goto _Pass>> <</link>>