diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 66881cecd006d460134b9c14402405ff67fa4c62..a9202c1c4a3975882369eb38e5af835febfaf44d 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -2081,10 +2081,6 @@ window.getCost = function(array) { costs *= (1 - State.variables.railway * 0.05); } } - - if(State.variables.SF.Toggle && 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) { @@ -27466,335 +27462,3 @@ window.randomizeAttraction = function randomizeAttraction(slave) { slave.attrXX = Math.clamp(slave.attrXX + jsRandom(-5, 5), 0, 100); slave.attrXY = Math.clamp(slave.attrXY + jsRandom(-5, 5), 0, 100); }; - -/*SecForceEX JS*/ window.SFC = function() {const V = State.variables; -if (V.SFTradeShow.CanAttend === -1) {return`The Colonel`; -} else { if (V.LieutenantColonel === 1) { - return`Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>>`; - } else {return`a designated soldier`}; -}}; - -window.SFCR = function() {const V = State.variables, C = V.SFColonel; - if (C.Status === 0) {return`boss`; } else if (C.Status >= 10) {return`friend`; - } else if (C.Status >= 25) {return`close friend`; - } else if (C.Status >= 45) {if (V.PC.title === 1) {return`boyfriend`} else {return`girlfriend`}; - } else if (C.Status >= 65) {return`lover`;}} - -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 if (S.Troops < 2000) - 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 .97; - else if (V.PC.hacking <= 25)return .95; - else if (V.PC.hacking <= 50)return .90; - else if (V.PC.hacking <= 75)return .85; - else if (V.PC.hacking < 100)return .80; - else if (V.PC.hacking >= 100)return .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 = 8;S.Drones = C(S.Drones, 0, T.DU); -T.VU = 10;S.Vehicles = C(S.Vehicles, 0, T.VU); - T.HBTU = 10;S.HBT = C(S.HBT, 0, T.HBTU); - T.GU = T.VU+T.HBTU; T.G = S.Vehicles+S.HBT; -if (V.PC.hacking >= 75) {T.AFU = 10} else {T.AFU = 9};S.AirForce = C(S.AirForce, 0, T.AFU); - if (V.PC.hacking >= 75) {T.SPU = 10} else {T.SPU = 9}; T.GunSU = 6; - S.SpacePlane = C(S.SpacePlane, 0, T.SPU); S.GunS = C(S.GunS, 0, T.GunSU); - T.H = S.AirForce+S.SpacePlane+S.GunS; T.HU = T.AFU+T.SPU+T.GunSU -if (V.PC.hacking >= 75) {T.SatU = 10,T.GRU = 10} else {T.SatU = 9,T.GRU = 9}; - S.Satellite = C(S.Satellite, 0, T.SatU); S.GiantRobot = C(S.GiantRobot, 0, T.GRU); - T.MSU = 3;S.MissileSilo = C(S.MissileSilo, 0, T.MSU); -if (V.PC.hacking >= 75) {T.SubU = 10} else {T.SubU = 9}; - S.Sub = C(S.Sub, 0, T.SubU); T.HATU = 10;S.HAT = C(S.HAT, 0, T.HATU); - T.ACU = 10;S.AircraftCarrier = C(S.AircraftCarrier, 0, T.ACU); -T.Base = S.Firebase+S.Armoury+S.Drugs+S.Drones+T.G+T.H; -T.BaseU = T.FU+T.AU+T.DrugsU+T.DU+T.GU+T.HU; -if (V.terrain === "urban" && V.terrain === "rural") { - T.LBU = T.SatU+T.GRU+T.MSU; T.LB = S.Satellite+S.GiantRobot+S.MissileSilo; - T.max = T.BaseU+T.LBU; V.SF.Units = T.Base+T.LB; T.Land = 1; -} else { T.LB = S.Satellite; T.LBU = T.SatU; - T.NY = S.AircraftCarrier+S.Sub+S.HAT; T.NYU = T.ACU+T.SubU+T.HATU; - T.max = T.BaseU+T.LBU+T.NYU; V.SF.Units = T.Base+T.LB+T.NY; T.Land = 0; -} V.SF.Units = C(V.SF.Units, 0, T.max); if (E === .5) {T.Env = 4} else if (E === 1.5) {T.Env = 2} else {T.Env = 3}; -} - -window.Firebase = function() {const V = State.variables,S = V.SFUnit; - if (S.Firebase === 0) - return`Is currently quite basic, consisting of little more than a dormitory, armoury, 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.`; - if (S.Firebase === 1) - return`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.`; - if (S.Firebase === 2) - return`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.`; - if (S.Firebase === 3) - return`Has added additional support personnel and equipment, allowing the potential procurement of heavier infantry armour, fighting vehicles, and combat drones.`; - if (S.Firebase === 4) - return`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.`; - if (S.Firebase > 4)var quanitiy ="",casemates ="",pads ="",sizeI ="",barrel =""; - var t =`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,`; - if (S.Firebase >= 6) {quanitiy =`quad`} else {sizeI =`356 cm wide`}; - if (S.Firebase >= 7) {casemates =`fortified EMP/jammer resistant`} else {sizeI =`406 cm wide`}; - if (S.Firebase >= 8) {pads =`and a powerful arcology wide electromagnetic force field has been installed`} else {barrel =`double-barreled`}; - if (S.Firebase === 9)barrel =`tripple-barreled`,sizeI =`415 cm wide`; - if (S.Firebase === 10)barrel =`quad-barreled`,sizeI =`420 cm wide`; - return` ${t} ${quanitiy} heavy, long range, ${barrel} electromagnetic railgun ${sizeI} artillery pieces have been installed in ${casemates} casemates along the aerial launch pads ${pads}, giving $SF.Lower an immense superiority in local firepower.`;} - -window.Armoury = function() {const V = State.variables,S = V.SFUnit; - if (S.Armoury === 0) - return`Is well-stocked with high-quality personal weapons and light armour, but contains little in the way of exceptional armament.`; - if (S.Armoury === 1) - return`Has large stocks of the absolute latest personal weapons and light armour, It has also added first-generation exo-suits to improve soldier lethality.`; - if (S.Armoury === 2) - return`Has acquired advanced tactical helmets and second-generation exo-suits to further improve soldier lethality.`; - if (S.Armoury === 3) - return`Has replaced deployed exo-suits with basic enclosed combat armour suits, and has further begun to deploy early electromagnetic (coilgun) weaponry.`; - if (S.Armoury === 4) - return`Has begun to equip the soldiers with more advanced combat armour suits, and has expanded its inventory of electromagnetic weaponry.`; - if (S.Armoury > 4)var size =``,kit =``; - var t =`Acquired heavy weapon attachments for its combat armour suits`; - var y =`for the soldiers, ensuring that the infantry of $SF.Lower is perhaps the most well-equipped in the world.`; - if (S.Armoury === 5)size =`small`; - if (S.Armoury === 6)size =`both small and medium`; - if (S.Armoury >= 7)size =`small/medium and large`; - if (S.Armoury === 8)kit =`with basic thrusters`; - if (S.Armoury === 9)kit =`with advanced thrusters`; - if (S.Armoury === 10)kit =`with advanced thrusters and optical illusion kits`; - return`${t} ${kit},and has further sourced ${size} advanced electromagnetic weaponry (miniaturized railguns) ${y}`;} - -window.Drugs = function() {const V = State.variables,S = V.SFUnit; - if (S.Drugs === 0) - return`Is providing the soldiers with standard ephedrine-based stimulants.`; - if (S.Drugs === 1) - return`Improved the formula of the ephedrine-based stimulants, concentrating them and increasing both their potency, and the effectiveness of the soldiers under their influence.`; - if (S.Drugs === 2) - return`Replaced the soldiers' stimulants with methamphetamine-based variants, greatly increasing their alertness and aggressiveness when under their influence.`; - if (S.Drugs === 3) - return`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.`; - if (S.Drugs > 3)var improvement =``,tryptamine =``,tryptamine1 =``,Dose =``,LSD =``,purity =``,doc =``,Effects =``,Effect0 =``; - var x = 'the formulas of the methamphetamine-based stimulants and phencyclidine-based dissociatives,'; - if (S.Drugs === 4)improvement =`further`; - tryptamine =`has also begun providing tryptamine-based psychedelics to the soldiers, allowing them to avoid traumatic stress in the field.`; - if (S.Drugs >= 5)improvement =`maximally`; - tryptamine =`tryptamine-based psychedelics`; - tryptamine1 =`Greatly increasing their effectiveness in all aspects thus ensuring that the soldiers of $SF.Lower go into combat wired, aggressive, and euphoric (if needed).`; - if (S.Drugs === 6)purity =`with much higher purity compontent`; - if (S.Drugs === 7)LSD =`and a slight trace of LSD`; - if (S.Drugs === 8)Dose =`into a single dose`;doc =`<div style='font-size: 75%;'>*Only the doctors of $SF.Lower were consulted to ensure a completely unbiased result.</div>`; - Effects =`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*.`; - if (S.Drugs === 9)Effects =`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*.`; - if (S.Drugs === 10)Dose =`into a single higher strength dose`; - Effect0 =`at the cost of lengthening the effects`; - return`Has ${improvement} refined ${x} and ${tryptamine} ${purity} ${LSD} ${Dose}. ${tryptamine1} ${Effect0}.${Effects} ${doc}`;} - -window.Drones = function() {const V = State.variables,S = V.SFUnit,thick =`thicker`,power =`higher power`,advanced =`more advanced highly`; - if (S.Drones === 0) - return`Contains a small number of 're-purposed' non-military drones from the arcology's original contingent`; - if (S.Drones === 1) - return`Has replaced the security drones with basic, lightly-armored military combat models possessing integrated small arms`; - if (S.Drones === 2) - return`Has replaced its basic military drones with more advanced models and added a number of support drones carrying heavy weaponry to its fleet`; - if (S.Drones === 3) - return`Acquired even more advanced models of both the standard combat drones and the heavy support drones, and expanded its numbers of both.`; - if (S.Drones === 4) - return`Has upgraded both the standard and support models of drones to carry basic electromagnetic weaponry, improving their overall combat effectiveness.`; - if (S.Drones === 5) - return`Has mproved 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.`,thick =``,power =``,advanced =``; - if (S.Drones >= 5) - if (S.Drones < 6)thick =``;if (S.Drones < 7)power =``;if (S.Drones < 8)advanced =``; - return`Has acquired even lighter advanced ${thick} armored combat drones with ${power} electromagnetic weaponry, advanced heavy drones with ${power} electromagnetic support weaponry along with ${advanced} specialized drones for reconnaissance, capture, and swarm tactics.`;} - -window.AttGround = function() {const V = State.variables,S = V.SFUnit; - if (S.Vehicles === 1)var b =`has been recommissioned for use by $SF.lower. They`, c =`; mechanics are methodically checking the recent purchases for battle-readiness`,turret =``,engine =``,armor =``,armor2 =``,ammo =``,mg =``,fireC0 =``,fireC1 =``,fireC2 =``,fireC3 =``,MG = `120 mm main gun is enough to handle the majority of opponents around the Free Cities`; - if (S.Vehicles >= 2)engine =`The engine has been overhauled, allowing much faster maneuvering around the battlefield.`,b =``,c =``; - if (S.Vehicles >= 3)armor =`A composite ceramic armor has replaced the original, offering much greater protection from attacks.`; - if (S.Vehicles >= 4)ammo =`.The tanks have been outfitted with additional types of ammo for situational use.`; - if (S.Vehicles >= 5)mg =`A remote-controlled .50 cal machine gun has been mounted on the turret to handle infantry and low-flying aircraft.`; - if (S.Vehicles >= 6)fireC0 =`A fire-control system`,fireC3 =`been installed, guaranteeing`,fireC2 =`has`,fireC1 =`accurate fire`; - if (S.Vehicles >= 7)fireC2 =`and an autoloader have`,fireC1 =`rapid, accurate fire while separating the crew from the stored ammunition`; - if (S.Vehicles >= 8)armor2 =`A layer of reactive armor has been added on top, protecting the tank from additional damage.`; - if (S.Vehicles >= 9)turret =`The turret has been massively redesigned, lowering the tank profile and increasing the efficiency of the mechanisms within.`; - if (S.Vehicles === 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} ${engine} ${armor} ${armor2} The ${MG}${ammo} ${mg} ${fireC0} ${fireC2} ${fireC3} ${fireC1}.` -} - -window.TsGround = function() {const V = State.variables,S = V.SFUnit,e0 =`The engine has been`; - if (S.Vehicles === 1)var C =`has been recommissioned for use by $SF.lower. They`, B =`; mechanics are giving the new purchases a final tuneup before they are ready`,squad =`a squad`,G1 =`20`,G2 =`infantry in a firefight`,engine =``,armor =``,tires =``,missile =``,pod =``; - if (S.Vehicles >= 2)engine =`${e0} overhauled, allowing for higher mobility.`,C =``, B =``; - if (S.Vehicles >= 3)armor =`Composite armor has been bolted to the exterior, increasing the survivability of an explosive attack for the crew and passengers.`; - if (S.Vehicles >= 4)tires =`The tires have been replaced with a much more durable version that can support a heavier vehicle.`; - if (S.Vehicles >= 5)var m0 = `targeting any guided missiles with laser dazzlers and deploying a smokescreen`;missile =`An automatic missile defense system has been installed, ${m0}.`; - if (S.Vehicles >= 6)var side =`has been installed on the`;pod =`An anti-tank missle pod ${side} side of the turret.`; - if (S.Vehicles >= 7)G1 =`25`,G2 =`by attacking enemies behind cover and destroying light armor`; - if (S.Vehicles >= 8)side =`and an anti-aircraft missile pod have been installed on either`; - if (S.Vehicles >= 9)squad =`two squads`,armor=``,m0 =`destroying any incoming missiles with a high-powered laser. Some of the now redundant composite armor has been removed, and the additional space allows for more passengers.`; - if (S.Vehicles === 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 ${G2}. ${pod} ${engine} ${armor} ${missile}`; -} - -window.AttAir = function() {const V = State.variables,S = V.SFUnit; - if (S.AirForce >= 1)var W1 =`only armed`,W2 =``,W3 =`a poor weapon against anything flying, but enough to handle ground forces`,engines =``,troops2 =``,stealth =``,support =`support ground troops`,C =`a`,lock =``,scramble =``,PAI =``,troops =``; - var group =`A small group of attack VTOL have been recommissioned for use by $SF.lower, enough to make up a squadron`; - if (S.AirForce >= 2)W1 =`armed`;W2 =`and air-to-air missiles`;W3 =`combination that can defend the arcology from anything in the air, as well as ${support}`; - if (S.AirForce >= 3)engines =`The engines have been tuned, allowing faster flight with greater acceleration.`; - if (S.AirForce >= 4)troops =`An advanced targeting AI has been installed to intelligently call shots, allowing much more efficent use of ammunition and anti-countermeasure targeting.`; - if (S.AirForce >= 5)stealth =`The VTOLs have been given stealth technology by replacing the skin with a radar-absorbent material.`; - if (S.AirForce >= 6)group =`A respectable number of attack VTOL protect your arcology, split into a few squadrons`; - if (S.AirForce >= 7)C =`A`;support =`attack ground targets`;W2 =`,rocket pods, and air-to-air missiles.`; - if (S.AirForce >= 8)lock =`Multispectrum countermeasures protect against all known types of missile lock-ons.`; - if (S.AirForce >= 9)scramble =`The VTOLs can scramble to react to any threat in under three minutes.`; - if (S.AirForce === 10)PAI =`A piloting AI has been installed, allowing the VTOLs to operate without human interaction.`; - return`${group}. Several of the landing pads around $arcologies[0].name host groups of four fighters, ready to defend the arcology at a moment's notice. The attack VTOL are currently ${W1} with a Gatling cannon ${W2} ${C} ${W3}. ${troops2} ${engines} ${scramble} ${stealth} ${lock} ${PAI}`;} - -window.TsAir = function() {const V = State.variables,S = V.SFUnit; - if (S.AirForce >= 1)var Num =`number`,capacity =`small platoon or 15`,engines =``,engines2 =``,Radar =``,Armor =``,landing =``,miniguns =``,counter =``; - if (S.AirForce >= 2)engines =`The tiltrotor engines have been replaced with a more powerful engine, allowing faster travel times.`; - if (S.AirForce >= 3)counter =`Multispectrum countermeasures have been added to protect against seeking missiles.`; - if (S.AirForce >= 4)miniguns =`Mounted miniguns have been added to cover soldiers disembarking in dangerous areas.`; - if (S.AirForce >= 5)Num =`large number`; - if (S.AirForce >= 6)landing =`The landing equipment has been overhauled, protecting any onboard in case of a hard landing or crash.`; - if (S.AirForce >= 7)Armor =`Armor has been added to protect passengers from small arms fire from below.`; - if (S.AirForce >= 8)capacity =`large platoon or 20`;engines2 =`Further tweaks to the engine allow for greater lifting capacity.`; - if (S.AirForce >= 9)Radar =`Radar-absorbent materials have replaced the old skin, making it difficult to see the VTOL on radar.`; - if (S.AirForce === 10)engines2 =``;engines =`The tiltrotors have been replaced with tiltjets, allowing for much greater airspeed and acceleration.`; - return`A ${Num} of transport tiltrotor 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. ${Armor} ${counter} ${landing} ${engines} ${engines2} ${Radar} ${miniguns}`;} - -window.HBT = function() {const V = State.variables,S = V.SFUnit; - var Body =`The heavy battle tank rests in the corner of the garage, its massive chassis barely able to fit through the widened doors`; - var armour =`The armour has been modernised`; - if (S.HBT === 1)return`${Body}.`; - if (S.HBT === 2)return`${Body} ${armour}.`; - if (S.HBT === 3)var barrel =`single`,mg =`single`,ml =`single`; - if (S.HBT === 4)mg =`dual`; if (S.HBT === 5)ml =`dual`; - if (S.HBT === 6)mg =`tri`; if (S.HBT >= 7)mg =`quad`; - if (S.HBT === 8)ml =`tri`; if (S.HBT >= 9)barrel =`dual`; - if (S.HBT === 10)ml =`quad`; - return`${Body}. ${armour} also the turret has been re-fitted with a ${barrel} barreled 356 mm main gun along with a ${mg} barrel .50 cal and ${ml} row missile launcher.`;} - -window.SP = function() {const V = State.variables,S = V.SFUnit; - if (S.SpacePlane === 1) - return`A basic black twin engine space plane has been 'borrowed' from the old world.`; - if (S.SpacePlane > 1)var engine =``,modernised =``,modernised2 =``,modernised3 =``,drag =``,crew =``,engine2 =``,skin =``; - var shield =`shielding has been upgraded reducing both potential heat damage and radar signature.`; - if (S.SpacePlane >= 3)engine =`Another pair of engines have been mounted on top of the tail`; - if (S.SpacePlane >= 4)modernised =`modernized the electronics`; - if (S.SpacePlane >= 5)modernised2 =`in addition to the fuel lines to increase efficiency`; - if (S.SpacePlane >= 6)modernised3 =`The engines have been improved to allow for more efficient fuel.`; - if (S.SpacePlane >= 7)drag =`Reduced the weight and reworked the body to reduce drag.`; - if (S.SpacePlane >= 8)crew =`Increased the crew comfort and life support systems to increase operational time.`; - if (S.SpacePlane >= 9)engine2 =`Added an aditional engine per wing which greatly increases acceleration and raises the top speed to mach 15, making it untouchable.`; - if (S.SpacePlane === 10)skin =`Replaced the skin with an advanced optical illusion kit.`; - return`The black and silver space plane's ${shield} ${engine}. ${modernised} ${modernised2}. ${modernised3} ${drag} ${crew} ${engine2}`;} - -window.GunS = function() {const V = State.variables,S = V.SFUnit; - if (S.GunS === 1) - return`A basic black and silver gunship has been 'borrowed' from the old world.`; - if (S.GunS > 1)var gun =``,electronics =``,crew =``,speed =``; - if (S.GunS >= 3)gun =`The 140 mm gatteling gun rounds have been upgraded with exposive tips.`; - if (S.GunS >= 4)electronics =`The electronics have been modernised and made emp resistant.`; - if (S.GunS >= 5)crew =`The crew seating has been made more confortable.`; - if (S.GunS >= 6)speed =`Increased the speed and maneuverability.`; - return`The armour of the black and silver gunship has been modernized. ${gun} ${electronics} ${crew} ${speed}`;} - -window.Sat = function() {const V = State.variables,S = V.SFUnit; - if (S.Satellite === 1) - return`A basic satellite has been 'borrowed' from the old world.`; - if (S.Satellite > 1)var wire =``,emp1 =``,beem0 =``,beem3 =``,jam =``,jd3 =``,emp =``,beem1 =``,emp0 =``,beem4 =``,jd =``; - if (S.Satellite >= 3)wire =`wiring, and circuitry`; - if (S.Satellite === 4) {jd =`Installed a basic`;} else {jam =` localized communications jammer to the satellite (excludes your own frequencies with little to no leeway) that will "slightly" anger locals until it is deactivated. ${jd3}`;} - if (S.Satellite >= 5)jd =`Installed a more advanced version that is 50% more powerful`;jd3 =`The AO localization has been increased which reduces the amount of affected equipment`; - if (S.Satellite === 6) {emp0 =`The satellite is now equipped with a basic`;beem0 =`an entire city block.`;} else {emp1 =` EMP generator (advanced EMP hardening was applied before the insulation and activation) that will "slightly" damage equipment with the AO.`;beem1 =`Thanks to imporvements applied to battery system and shielding in additon to R&D funds, the satellite will be able to shoot a concentrated beam of pure energy that is able to level`;} - if (S.Satellite >= 7) {emp0 =`The satellite is now equipped with a more advanced version that is 50% more powerful`;} else {beem0 =`a suburb to a block of houses.`;} - if (S.Satellite === 8)beem0 =`a single house to 30m.`;beem3 =`The beem can also now fire off a heat wave to disorrent targets`; - if (S.Satellite === 9) {beem0 =`20m to 10m.`;} else {beem3 =`The beem can also now fire off a much stronger heat wave to disorrent targets for longer and with more effects.`;} - if (S.Satellite === 10)beem0 =`5m to 1m.`;beem4 =`It is now possible for the beem to be split as required.`; - return`Modernised the satellite's electronics ${wire}. ${jd}${jam} ${jd3} ${emp0}${emp1} ${beem1} ${beem0} ${beem3} ${beem4}`;} - -window.GR = function() {const V = State.variables,S = V.SFUnit; - if (S.GiantRobot === 1)return`A basic black and silver giant robot has been 'borrowed'.`; - if (S.GiantRobot > 1)var bat =``,weight =``,skin =``,armor =``,weapons =``,QOL =``,pilots =``; - if (S.GiantRobot >= 3)bat =`.Power efficiency has been increased`; - if (S.GiantRobot >= 4)weight =`Overall weight has been reduced signicantly allowing for greater mobility.`; - if (S.GiantRobot >= 5)bat =`Power efficiency and battery capacity have been increased.`; - if (S.GiantRobot >= 6)armor =`Armor has been thickened and is lighter`; - if (S.GiantRobot >= 7)weapons =`and heat seeking missiles plus a massive 150m long energy sword in addition to quad 420 cm back mounted powerful electromagnetic cannons`; - if (S.GiantRobot >= 8)pilots =`The pilot count has been increased to two via a synced neural link.`; - if (S.GiantRobot >= 9)QOL =`Improved the life support systems and crew seating, allowing for longer operational durations. Added hover and boost capabilities, allowing for greater mobility in addition to ramming potential.`; - if (S.GiantRobot >= 10)skin =`Replaced the skin with an advanced optical illusion kit and overclocked the movement systems allowing for even greater mobility. However the amount of heat generated has increased slightly.`; - return`The black and silver gaint robot has had it's wiring and circuitry upgraded ${bat} ${weight} ${armor}. For self defense the robot has it's bare hands ${weapons}. ${pilots} ${QOL} ${skin}`;} - -window.ms = function() {const V = State.variables,S = V.SFUnit; - if (S.MissileSilo === 1)return`A basic black and silver missile silo has been 'borrowed' from the old world.`; - if (S.MissileSilo === 2)return`Modernized the black and silver missile silo's launching electronics`; - if (S.MissileSilo === 3)return`Modernized the black and silver missile silo's launching electronics, wiring and circuitry.`;} - -window.AC = function() {const V = State.variables,S = V.SFUnit; - if (S.AircraftCarrier === 1)return`An old aircraft carrier has been 'borrowed' from the old world for use by $SF.Lower. It is moored to the pier in the Naval Yard. ${jets} strike jets have been recommissioned to serve as its airpower. `; - if (S.AircraftCarrier > 1)var dock =`The aircraft carrier is moored to the pier in the Naval Yard.`; var emp =`The electronics and wiring have been shielded to protect from EMP blasts`; var radar =``,emp2 =`.`,morale =``,AA ='',prop =``,scramble ='',jets =`Mothballed`; var jets2 =``; - if (S.AircraftCarrier >= 3)radar =`The island's radar and comms have been improved.`; - if (S.AircraftCarrier >= 4)AA =`The antiair guns have been updated to automatically track and predict enemy aircraft movement.`; - if (S.AircraftCarrier >= 5)prop =`The propulsion system has been tweaked to be much more difficult to pick up by sonar.`; - if (S.AircraftCarrier >= 6)jets =`Modern`; - if (S.AircraftCarrier >= 7)morale =`The mess, bunks, and recreation on the ship have been renovated, boosting morale among the sailors.`; - if (S.AircraftCarrier >= 8)jets2 =`with state-of-the-art weapons systems`; - if (S.AircraftCarrier >= 9)scramble =`The catapult has been converted into an electromagnetic launcher, halving the time it takes to scramble jets.`; - if (S.AircraftCarrier >= 10)emp2 =`, and the power plant has been converted to nuclear power.`; - return`${dock} ${jets} strike jets ${jets2} have been recommissioned to serve as its airpower.${scramble} ${emp}${emp2} ${radar} ${AA} ${prop} ${morale}`;} - -window.Sub = function() {const V = State.variables,S = V.SFUnit; - if (S.Sub === 1)return`An old attack submarine has been recommissioned from the old world, and is moored to the pier of the Naval Yard. Because diesel engines provide power and breathing oxygen is kept in pressurized canisters, the sub must frequently surface.`; - if (S.Sub > 1)var dock =`The attack submarine is moored to the pier of the Naval Yard.`,reactor =`A nuclear reactor provides power`; - var reactor1 =`, but because oxygen is still kept in pressurized canisters the sub must frequently surface to replenish its oxygen stocks.`,missiles =``,Cal =``,hull =``,tubes =``,sonar =``,control =``; - 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 to absorb sonar and for hydrodynamics.`; - if (S.Sub === 6)tubes =`The torpedo tubes have been redesigned for much faster loading speeds.`; - if (S.Sub >= 7)sonar =`The passive sonar has been finely tuned to detect mechanical noises kilometers away.`; - if (S.Sub >= 8)control =`The control room computers have been upgraded to automate many conn duties.`; - if (S.Sub >= 9)tubes =`The torpedo tubes have been redesigned for much faster loading speeds, and hold newer,faster and 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`${dock} ${reactor} ${reactor1} ${Cal} ${hull} ${tubes} ${sonar} ${control} ${missiles}`;} - -window.HAT = function() {const V = State.variables,S = V.SFUnit; - if (S.HAT === 1)var skirt =`, has been recommissioned for use by $SF.Lower`,guns =``,turbines =``,armor =``,tons =`200`,ramps =``,frame =``,loadout =``; - if (S.HAT >= 2)skirt =`. The skirt has been upgraded to improve cushion when travelling over uneven terrain and waves, as well as increasing durability`; - if (S.HAT >= 3)var guns2 =`minigun`;guns =`A .50 cal ${guns2} has been mounted in each of the four corners of the craft to defend against attackers.`; - if (S.HAT >= 4)var fans =`rear fans`,speed =`acceleration and speed`;turbines =`The turbines powering the ${fans} have been replaced with a more powerful version, allowing greater ${speed}.`; - if (S.HAT >= 5)armor =`The armor protecting its cargo has been increased.`; - if (S.HAT >= 6)tons =`300`;fans =`rear fans and impeller`;speed =`acceleration, speed, and carrying capacity`; - if (S.HAT >= 7)guns2 =`minigun and grenade launcher combo`; - if (S.HAT >= 8)ramps =`The loading ramps have been improved, allowing for faster unloading.`; - if (S.HAT >= 9)frame =`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${skirt}. It is parked on the pier of the Naval Yard, ready to ferry ${tons} tons of soldiers and vehicles at any time. ${guns} ${turbines} ${armor} ${ramps} ${frame} ${loadout}`;} - -window.Interactions = function() {const V = State.variables,T = State.temporary; -var choice =``,gift =``,giftdec =``,giftdec2 =``,Colonel =``,join =``,status =``,staus2 =``; -if (V.SF.Units !== T.max) {if (V.SF.U === 1)status =`being` - else status =`able to be`;staus2 =` improved this week`; -} else {status =`fully equipped and upgraded - nothing else can be done`;} -if (V.SF.WG === 1||(V.SFColonel.Talk === 1||V.SFColonel.Fun === 1))choice =`. This week you have already`; - if (V.SF.WG === 1) {gift =`been provided with`; - if (V.choice === 1) {giftdec =`an extra @@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ in tribute`; - } else if (V.choice === 2||V.choice === 3) {giftdec =`a message of support, @@.green;improving@@`; - if (V.choice == 2)giftdec2 =`your reputation.`; else giftdec2 =`the prosperity of $arcologies[0].name`; - } - } - if (V.SFColonel.Talk === 1||V.SFColonel.Fun === 1) {Colonel =`spent time with The Colonel`; - if (V.SF.WG === 1) {join =`and`;}} -return`${status}${staus2}${choice}${gift}${giftdec}${giftdec2}${join}${Colonel}.//`;} \ No newline at end of file diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 9d03c05ff663ea5e4a4d962795115a9b17e936d6..0aa93283dfed74963c4f8e2f380f1810574b3904 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -1268,7 +1268,69 @@ DairyRestraintsSetting($dairyRestraintsSetting) /* INCORPORATED MODS */ -/*SFVAR*/ <<set $SF = Object.assign({}, $SF, {Toggle:0, Active: -1})>> +/* 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 */ /* Misc mod variables */ diff --git a/src/js/SFJS.tw b/src/js/SFJS.tw new file mode 100644 index 0000000000000000000000000000000000000000..160a233c74349071c5f215b35379197a19a18a98 --- /dev/null +++ b/src/js/SFJS.tw @@ -0,0 +1,41 @@ +:: 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; + } diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw index 09169b63ce2e1cb42a732913a8ddd74a0631fdf5..9eaf39bc6af8e34e0e70bebcfd94b88f049308ae 100644 --- a/src/js/economyJS.tw +++ b/src/js/economyJS.tw @@ -316,10 +316,6 @@ window.getCost = function(array) { } } - if(State.variables.SF.Toggle && 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; diff --git a/src/pregmod/SecForceEX/CheatEdit.tw b/src/pregmod/SecForceEX/CheatEdit.tw deleted file mode 100644 index 77893926a03115aaeca0bc65593ff02008a3769e..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/CheatEdit.tw +++ /dev/null @@ -1,29 +0,0 @@ -:: CheatEdit [nobr] -<<set $nextButton = "Back to $SF.Lower's firebase", $nextLink = "Firebase", $returnTo = "Firebase">> -<<= Count()>>__Upgrades__: $SF.Units/_max -<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 -<br>''DroneBay:'' <<textbox "$SFUnit.Drones" $SFUnit.Drones "CheatEdit">>/_DU - -<<if $SFUnit.Firebase >= 1>> <br><br>''Garage:'' - <br> ''Vehicles:'' <<textbox "$SFUnit.Vehicles" $SFUnit.Vehicles "CheatEdit">>/_VU - <br> ''Heavy Battle Tank:'' <<textbox "$SFUnit.HBT" $SFUnit.HBT "CheatEdit">>/_HBTU -<</if>> - -<<if $SFUnit.Firebase >= 4>> <br><br>''Hangar:'' - <br> ''Aircraft:'' <<textbox "$SFUnit.AirForce" $SFUnit.AirForce "CheatEdit">>/_AFU - <br> ''Space Plane'': <<textbox "$SFUnit.SpacePlane" $SFUnit.SpacePlane "CheatEdit">>/_SPU - <br> ''Gunship:'' <<textbox "$SFUnit.GunS" $SFUnit.GunS "CheatEdit">>/_GunSU - <br><br>''LauchBay:'' - <br> ''Satellite:'' <<textbox "$SFUnit.Satellite" $SFUnit.Satellite "CheatEdit">>/_SatU - <<if _Land>> - <br> ''GiantRobot:'' <<textbox "$SFUnit.GiantRobot" $SFUnit.GiantRobot "CheatEdit">>/_GRU - <br> ''MissileSilo:'' <<textbox "$SFUnit.MissileSilo" $SFUnit.MissileSilo "CheatEdit">>/_MSU - <</if>> -<</if>> -<<if !_Land>> <br><br>''Naval Yard:'' - <br> ''AircraftCarrier:'' <<textbox "$SFUnit.AircraftCarrier" $SFUnit.AircraftCarrier "CheatEdit">>/_ACU - <br> ''Submarine:'' <<textbox "$SFUnit.Sub" $SFUnit.Sub "CheatEdit">>/_SubU - <br> ''Heavy Amphibious Transport:'' <<textbox "$SFUnit.HAT" $SFUnit.HAT "CheatEdit">>/_HATU -<</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/Firebase.tw b/src/pregmod/SecForceEX/Firebase.tw deleted file mode 100644 index 7a066e741f239317bf52d5fce9a03f00d42a5a64..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/Firebase.tw +++ /dev/null @@ -1,70 +0,0 @@ -:: Firebase [nobr] -<<= 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 == 1>> <<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 armour manning the entry checkpoint tense and raise their weapons, before nodding respectfully and stepping aside, allowing their patron entry. The firebase 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.// -<br>//$SF.Caps is <<print Interactions()>> <<set _List = []>> -<<if $SFUnit.Firebase === _FU>> <<set _List.push('firebase')>> <</if>> -<<if $SFUnit.Armoury === _AU>> <<set _List.push('armoury')>> <</if>> -<<if $SFUnit.Drugs === _DrugsU>> <<set _List.push('drug lab')>> <</if>> -<<if $SFUnit.Drones === _DU>> <<set _List.push('drone bay')>> <</if>> -<<if _G >= _GU>> <<set _List.push('garage')>> <</if>> - /*<<if $SFUnit.Vehicles === _VU>> <<set _List.push('vehicle fleet')>> <</if>>*/ - <<if $SFUnit.HBT === _HBTU>> <<set _List.push('heavy battle tank')>> <</if>> -<<if _H >= _HU>> <<set _List.push('hangar')>> <</if>> - <<if $SFUnit.AirForce === _AFU>> <<set _List.push('air fleet')>> <</if>> - <<if $SFUnit.SpacePlane === _SPU>> <<set _List.push('space plane')>> <</if>> - <<if $SFUnit.GunS === _GunSU>> <<set _List.push('Gunship')>> <</if>> -<<if _LB >= _LBU>> <<set _List.push('launch bay')>> <</if>> - <<if $SFUnit.Satellite === _SatU>> <<set _List.push('satellite')>> <</if>> - <<if $SFUnit.GiantRobot === _GRU>> <<set _List.push('giant robot')>> <</if>> - <<if $SFUnit.MissileSilo === _MSU>> <<set _List.push('missile silo')>> <</if>> -<<if _NY >= _NYU>> <<set _List.push('naval yard')>> <</if>> - <<if $SFUnit.AircraftCarrier === _ACU>> <<set _List.push('aircraft carrier')>> <</if>> - <<if $SFUnit.Sub === _SubU>> <<set _List.push('submarine')>> <</if>> - <<if $SFUnit.HAT === _HATU>> <<set _List.push('heavy amphibious')>> <</if>> -<<if $SF.Units !== _max && _List.length > 0>> - //The <<for _j = 0; _j < _List.length; _j++>> <<if _j < _List.length-1>> - <<print _List[_j]>>, <<else>> and <<print _List[_j]>> <</if>> <</for>> - have been fully upgraded to support it's activities.//<</if>> -<<if (($SFUnit.Firebase < 5 && $SFUnit.Armoury < 5 && $SFUnit.Drugs < 5 && $SFUnit.Drones < 5) || $SF.Units !== _max) && $SF.U === 0>> - <<include "Tree">> <</if>> <<include "WI">> -<<if $SF.U && $SF.MWU >= 0 && ($SF.Units !== _max)>> - @@.orange;<<link "Re-unlock upgrading.""Firebase">> - <<set $SF.U = 0,$SF.MWU += 1,$cash -= Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000))))>> - <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(Math.abs($cash*.05*(1.25+($SF.Units/1000)))))>>@@// -<</if>> -<<if $SF.SpecOps > 0>> You have a portion of $SF.Lower assigned as undercover officers.<</if>> -<<if $SF.SpecOps === 0>> [[Designate a small portion of the force to undercover work this week.|Firebase][$SF.SpecOps += 1]]|[[Reassign a larger portion of the force to full time undercover work.|Firebase][$SF.SpecOps += 2]] -<<elseif $SF.SpecOps === 2>> [[Reasign half of them to genral duty.|Firebase][$SF.SpecOps -= 1]]|[[Cease undercover work entirely.|Firebase][$SF.SpecOps = 0]] <</if>> -<<if $SFUnit.Firebase > 5 && $secExp === 1 && $SFSupportLevel >= 4 && $maxUnits === 16 && $readiness < 10>> - <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>> -<<if $SF.MWU >= 1>> <br>//Total multi week $SF.Lower upgrades: $SF.MWU//<br> <</if>> -<<if $SFUnit.Firebase < 5 && $SFUnit.Armoury < 5 && $SFUnit.Drugs < 5 && $SFUnit.Drones < 5 /*$SFUnit.Vehicles < 5*/ && $SFUnit.AirForce < 5>> - <br>You have <<print (20-$SF.Units)>> upgrades left before you can move unlock the next tier. ''Firebase:'' $SFUnit.Firebase/5 ''SF.Armoury:'' $SFUnit.Armoury/5 ''DrugLab:'' $SFUnit.Drugs/5 ''DroneBay:'' $SFUnit.Drones/5 /*''Garage:'' $SFUnit.Vehicles/5 */ ''Airforce:'' $SFUnit.AirForce/5 -<<else>> - <<if !$SFTradeShow.View>> - <br>//You receive a message from The Colonel "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, back when I was a major before I joined $SF.Lower. 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?. Without exotic upgrades I'll get laughed out."// - <br>[[Yes|Firebase][$SFTradeShow.CanAttend = 1]] - <br>[[No|Firebase][$SFTradeShow.CanAttend = -2]] - <</if>> -<</if>> -<<if $SFTradeShow.History >= 1 && (Math.trunc($week/24) === ($week/24)) && $SFTradeShow.CanAttend === -1 && $TradeShowChoice === 0>> - <br>//The (bi-yearly) security trade show has finally come around again and even though you've already granted The Colonel permission to attend, she's decided to come and ask for the leave personally.// - <br>[[Grant leave.|Firebase][$SFTradeShow.CanAttend = 1,$TradeShowChoice =1]] - <br>[[Request she remain on site.|Firebase][$TradeShowChoice = 1]]<br> -<</if>> -<<if $SFTradeShow.History >= 1>> - While at the recent trade show, @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Income))>>@@ was made selling generic schematics, <<print commaNum($SFTradeShow.Helots)>> menial slaves were sent as a bonus and I was able to pursade <<print commaNum($SFTradeShow.TotalMercs)>> former coworkers to join us. - Total earnings thus far; @@.yellowgreen;<<print cashFormat(Math.ceil($SFTradeShow.Revenue))>>@@ in income, <<print commaNum($SFTradeShow.TotalHelots)>> menial slaves and <<print commaNum($SFTradeShow.Mercs)>> former coworkers joining us, during $SFTradeShow.History trade show's. -<</if>> <br><br><<include "FlavourText">> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/FlavourText.tw b/src/pregmod/SecForceEX/FlavourText.tw deleted file mode 100644 index 3f484f2e2c382c15cc0c55ccca4808364968f3db..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/FlavourText.tw +++ /dev/null @@ -1,111 +0,0 @@ -:: FlavourText [nobr] -<<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, <<if $SFTradeShow.CanAttend !== -1>> - <<print SFC()>> raises a hand in greeting and nods. <<else>> 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>> <</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. - <</if>> -<</if>> - -<br><br>__//Current facilities status://__ -<br>''Firebase:'' <<print Firebase()>> - <br> The large dormitories are <<print TroopDec()>>. -<br><br>''Armoury:'' <<print Armoury()>> -<br><br>''Drug Lab:'' <<print Drugs()>> -<<if $SFUnit.Firebase >= 2>> <br>''Drone Bay:'' <<print Drones()>> <</if>> - -<<if _G > 0 && $SFUnit.Firebase >= 1>> <br><br>''Garage:'' - <<if $SFUnit.Vehicles > 0>> <br> ''Vehicles:'' - <br> ''Assault:'' <<print AttGround()>> - <br> ''Transport:'' <<print TsGround()>> - <</if>> - <<if $SFUnit.HBT > 0>> <br> ''Heavy Battle Tank:'' <<print HBT()>> <</if>> -<</if>> - -<<if $SFUnit.Firebase >= 4>> - <<if _H > 0>> <br><br>''Hangar:'' - <<if $SFUnit.AirForce > 0>> <br> ''Airforce:'' - <br> ''Assault:'' <<print AttAir()>> - <br> ''Transport:'' <<print TsAir()>> - <</if>> - <<if $SFUnit.SpacePlane > 0>> <br> ''Space Plane:'' <<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>> - <<if $SFUnit.GiantRobot > 0 && _Land>> <br> ''Giant Robot'': <<print GR()>> <</if>> - <<if $SFUnit.MissileSilo > 0 && _Land>> <br> ''Missile Silo:'' <<print ms()>> <</if>> - <</if>> -<</if>> - -<<if _NavalYard > 0 && !_Land>> <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> ''Heavy 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() === "Security Force EOW Report">> - <<include "Support Facility Report">> <</if>> -<</if>>*/ \ No newline at end of file diff --git a/src/pregmod/SecForceEX/JS.js b/src/pregmod/SecForceEX/JS.js deleted file mode 100644 index 62676c92b91bad9d2f3ff8bfd9b2031734b1d827..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/JS.js +++ /dev/null @@ -1,331 +0,0 @@ -/*SecForceEX JS*/ window.SFC = function() {const V = State.variables; -if (V.SFTradeShow.CanAttend === -1) {return`The Colonel`; -} else { if (V.LieutenantColonel === 1) { - return`Lieutenant Colonel <<= SlaveFullName($LieutenantColonel)>>`; - } else {return`a designated soldier`}; -}}; - -window.SFCR = function() {const V = State.variables, C = V.SFColonel; - if (C.Status === 0) {return`boss`; } else if (C.Status >= 10) {return`friend`; - } else if (C.Status >= 25) {return`close friend`; - } else if (C.Status >= 45) {if (V.PC.title === 1) {return`boyfriend`} else {return`girlfriend`}; - } else if (C.Status >= 65) {return`lover`;}} - -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 if (S.Troops < 2000) - 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 .97; - else if (V.PC.hacking <= 25)return .95; - else if (V.PC.hacking <= 50)return .90; - else if (V.PC.hacking <= 75)return .85; - else if (V.PC.hacking < 100)return .80; - else if (V.PC.hacking >= 100)return .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 = 8;S.Drones = C(S.Drones, 0, T.DU); -T.VU = 10;S.Vehicles = C(S.Vehicles, 0, T.VU); - T.HBTU = 10;S.HBT = C(S.HBT, 0, T.HBTU); - T.GU = T.VU+T.HBTU; T.G = S.Vehicles+S.HBT; -if (V.PC.hacking >= 75) {T.AFU = 10} else {T.AFU = 9};S.AirForce = C(S.AirForce, 0, T.AFU); - if (V.PC.hacking >= 75) {T.SPU = 10} else {T.SPU = 9}; T.GunSU = 6; - S.SpacePlane = C(S.SpacePlane, 0, T.SPU); S.GunS = C(S.GunS, 0, T.GunSU); - T.H = S.AirForce+S.SpacePlane+S.GunS; T.HU = T.AFU+T.SPU+T.GunSU -if (V.PC.hacking >= 75) {T.SatU = 10,T.GRU = 10} else {T.SatU = 9,T.GRU = 9}; - S.Satellite = C(S.Satellite, 0, T.SatU); S.GiantRobot = C(S.GiantRobot, 0, T.GRU); - T.MSU = 3;S.MissileSilo = C(S.MissileSilo, 0, T.MSU); -if (V.PC.hacking >= 75) {T.SubU = 10} else {T.SubU = 9}; - S.Sub = C(S.Sub, 0, T.SubU); T.HATU = 10;S.HAT = C(S.HAT, 0, T.HATU); - T.ACU = 10;S.AircraftCarrier = C(S.AircraftCarrier, 0, T.ACU); -T.Base = S.Firebase+S.Armoury+S.Drugs+S.Drones+T.G+T.H; -T.BaseU = T.FU+T.AU+T.DrugsU+T.DU+T.GU+T.HU; -if (V.terrain === "urban" && V.terrain === "rural") { - T.LBU = T.SatU+T.GRU+T.MSU; T.LB = S.Satellite+S.GiantRobot+S.MissileSilo; - T.max = T.BaseU+T.LBU; V.SF.Units = T.Base+T.LB; T.Land = 1; -} else { T.LB = S.Satellite; T.LBU = T.SatU; - T.NY = S.AircraftCarrier+S.Sub+S.HAT; T.NYU = T.ACU+T.SubU+T.HATU; - T.max = T.BaseU+T.LBU+T.NYU; V.SF.Units = T.Base+T.LB+T.NY; T.Land = 0; -} V.SF.Units = C(V.SF.Units, 0, T.max); if (E === .5) {T.Env = 4} else if (E === 1.5) {T.Env = 2} else {T.Env = 3}; -} - -window.Firebase = function() {const V = State.variables,S = V.SFUnit; - if (S.Firebase === 0) - return`Is currently quite basic, consisting of little more than a dormitory, armoury, 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.`; - if (S.Firebase === 1) - return`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.`; - if (S.Firebase === 2) - return`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.`; - if (S.Firebase === 3) - return`Has added additional support personnel and equipment, allowing the potential procurement of heavier infantry armour, fighting vehicles, and combat drones.`; - if (S.Firebase === 4) - return`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.`; - if (S.Firebase > 4)var quanitiy ="",casemates ="",pads ="",sizeI ="",barrel =""; - var t =`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,`; - if (S.Firebase >= 6) {quanitiy =`quad`} else {sizeI =`356 cm wide`}; - if (S.Firebase >= 7) {casemates =`fortified EMP/jammer resistant`} else {sizeI =`406 cm wide`}; - if (S.Firebase >= 8) {pads =`and a powerful arcology wide electromagnetic force field has been installed`} else {barrel =`double-barreled`}; - if (S.Firebase === 9)barrel =`tripple-barreled`,sizeI =`415 cm wide`; - if (S.Firebase === 10)barrel =`quad-barreled`,sizeI =`420 cm wide`; - return` ${t} ${quanitiy} heavy, long range, ${barrel} electromagnetic railgun ${sizeI} artillery pieces have been installed in ${casemates} casemates along the aerial launch pads ${pads}, giving $SF.Lower an immense superiority in local firepower.`;} - -window.Armoury = function() {const V = State.variables,S = V.SFUnit; - if (S.Armoury === 0) - return`Is well-stocked with high-quality personal weapons and light armour, but contains little in the way of exceptional armament.`; - if (S.Armoury === 1) - return`Has large stocks of the absolute latest personal weapons and light armour, It has also added first-generation exo-suits to improve soldier lethality.`; - if (S.Armoury === 2) - return`Has acquired advanced tactical helmets and second-generation exo-suits to further improve soldier lethality.`; - if (S.Armoury === 3) - return`Has replaced deployed exo-suits with basic enclosed combat armour suits, and has further begun to deploy early electromagnetic (coilgun) weaponry.`; - if (S.Armoury === 4) - return`Has begun to equip the soldiers with more advanced combat armour suits, and has expanded its inventory of electromagnetic weaponry.`; - if (S.Armoury > 4)var size =``,kit =``; - var t =`Acquired heavy weapon attachments for its combat armour suits`; - var y =`for the soldiers, ensuring that the infantry of $SF.Lower is perhaps the most well-equipped in the world.`; - if (S.Armoury === 5)size =`small`; - if (S.Armoury === 6)size =`both small and medium`; - if (S.Armoury >= 7)size =`small/medium and large`; - if (S.Armoury === 8)kit =`with basic thrusters`; - if (S.Armoury === 9)kit =`with advanced thrusters`; - if (S.Armoury === 10)kit =`with advanced thrusters and optical illusion kits`; - return`${t} ${kit},and has further sourced ${size} advanced electromagnetic weaponry (miniaturized railguns) ${y}`;} - -window.Drugs = function() {const V = State.variables,S = V.SFUnit; - if (S.Drugs === 0) - return`Is providing the soldiers with standard ephedrine-based stimulants.`; - if (S.Drugs === 1) - return`Improved the formula of the ephedrine-based stimulants, concentrating them and increasing both their potency, and the effectiveness of the soldiers under their influence.`; - if (S.Drugs === 2) - return`Replaced the soldiers' stimulants with methamphetamine-based variants, greatly increasing their alertness and aggressiveness when under their influence.`; - if (S.Drugs === 3) - return`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.`; - if (S.Drugs > 3)var improvement =``,tryptamine =``,tryptamine1 =``,Dose =``,LSD =``,purity =``,doc =``,Effects =``,Effect0 =``; - var x = 'the formulas of the methamphetamine-based stimulants and phencyclidine-based dissociatives,'; - if (S.Drugs === 4)improvement =`further`; - tryptamine =`has also begun providing tryptamine-based psychedelics to the soldiers, allowing them to avoid traumatic stress in the field.`; - if (S.Drugs >= 5)improvement =`maximally`; - tryptamine =`tryptamine-based psychedelics`; - tryptamine1 =`Greatly increasing their effectiveness in all aspects thus ensuring that the soldiers of $SF.Lower go into combat wired, aggressive, and euphoric (if needed).`; - if (S.Drugs === 6)purity =`with much higher purity compontent`; - if (S.Drugs === 7)LSD =`and a slight trace of LSD`; - if (S.Drugs === 8)Dose =`into a single dose`;doc =`<div style='font-size: 75%;'>*Only the doctors of $SF.Lower were consulted to ensure a completely unbiased result.</div>`; - Effects =`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*.`; - if (S.Drugs === 9)Effects =`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*.`; - if (S.Drugs === 10)Dose =`into a single higher strength dose`; - Effect0 =`at the cost of lengthening the effects`; - return`Has ${improvement} refined ${x} and ${tryptamine} ${purity} ${LSD} ${Dose}. ${tryptamine1} ${Effect0}.${Effects} ${doc}`;} - -window.Drones = function() {const V = State.variables,S = V.SFUnit,thick =`thicker`,power =`higher power`,advanced =`more advanced highly`; - if (S.Drones === 0) - return`Contains a small number of 're-purposed' non-military drones from the arcology's original contingent`; - if (S.Drones === 1) - return`Has replaced the security drones with basic, lightly-armored military combat models possessing integrated small arms`; - if (S.Drones === 2) - return`Has replaced its basic military drones with more advanced models and added a number of support drones carrying heavy weaponry to its fleet`; - if (S.Drones === 3) - return`Acquired even more advanced models of both the standard combat drones and the heavy support drones, and expanded its numbers of both.`; - if (S.Drones === 4) - return`Has upgraded both the standard and support models of drones to carry basic electromagnetic weaponry, improving their overall combat effectiveness.`; - if (S.Drones === 5) - return`Has mproved 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.`,thick =``,power =``,advanced =``; - if (S.Drones >= 5) - if (S.Drones < 6)thick =``;if (S.Drones < 7)power =``;if (S.Drones < 8)advanced =``; - return`Has acquired even lighter advanced ${thick} armored combat drones with ${power} electromagnetic weaponry, advanced heavy drones with ${power} electromagnetic support weaponry along with ${advanced} specialized drones for reconnaissance, capture, and swarm tactics.`;} - -window.AttGround = function() {const V = State.variables,S = V.SFUnit; - if (S.Vehicles === 1)var b =`has been recommissioned for use by $SF.lower. They`, c =`; mechanics are methodically checking the recent purchases for battle-readiness`,turret =``,engine =``,armor =``,armor2 =``,ammo =``,mg =``,fireC0 =``,fireC1 =``,fireC2 =``,fireC3 =``,MG = `120 mm main gun is enough to handle the majority of opponents around the Free Cities`; - if (S.Vehicles >= 2)engine =`The engine has been overhauled, allowing much faster maneuvering around the battlefield.`,b =``,c =``; - if (S.Vehicles >= 3)armor =`A composite ceramic armor has replaced the original, offering much greater protection from attacks.`; - if (S.Vehicles >= 4)ammo =`.The tanks have been outfitted with additional types of ammo for situational use.`; - if (S.Vehicles >= 5)mg =`A remote-controlled .50 cal machine gun has been mounted on the turret to handle infantry and low-flying aircraft.`; - if (S.Vehicles >= 6)fireC0 =`A fire-control system`,fireC3 =`been installed, guaranteeing`,fireC2 =`has`,fireC1 =`accurate fire`; - if (S.Vehicles >= 7)fireC2 =`and an autoloader have`,fireC1 =`rapid, accurate fire while separating the crew from the stored ammunition`; - if (S.Vehicles >= 8)armor2 =`A layer of reactive armor has been added on top, protecting the tank from additional damage.`; - if (S.Vehicles >= 9)turret =`The turret has been massively redesigned, lowering the tank profile and increasing the efficiency of the mechanisms within.`; - if (S.Vehicles === 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} ${engine} ${armor} ${armor2} The ${MG}${ammo} ${mg} ${fireC0} ${fireC2} ${fireC3} ${fireC1}.` -} - -window.TsGround = function() {const V = State.variables,S = V.SFUnit,e0 =`The engine has been`; - if (S.Vehicles === 1)var C =`has been recommissioned for use by $SF.lower. They`, B =`; mechanics are giving the new purchases a final tuneup before they are ready`,squad =`a squad`,G1 =`20`,G2 =`infantry in a firefight`,engine =``,armor =``,tires =``,missile =``,pod =``; - if (S.Vehicles >= 2)engine =`${e0} overhauled, allowing for higher mobility.`,C =``, B =``; - if (S.Vehicles >= 3)armor =`Composite armor has been bolted to the exterior, increasing the survivability of an explosive attack for the crew and passengers.`; - if (S.Vehicles >= 4)tires =`The tires have been replaced with a much more durable version that can support a heavier vehicle.`; - if (S.Vehicles >= 5)var m0 = `targeting any guided missiles with laser dazzlers and deploying a smokescreen`;missile =`An automatic missile defense system has been installed, ${m0}.`; - if (S.Vehicles >= 6)var side =`has been installed on the`;pod =`An anti-tank missle pod ${side} side of the turret.`; - if (S.Vehicles >= 7)G1 =`25`,G2 =`by attacking enemies behind cover and destroying light armor`; - if (S.Vehicles >= 8)side =`and an anti-aircraft missile pod have been installed on either`; - if (S.Vehicles >= 9)squad =`two squads`,armor=``,m0 =`destroying any incoming missiles with a high-powered laser. Some of the now redundant composite armor has been removed, and the additional space allows for more passengers.`; - if (S.Vehicles === 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 ${G2}. ${pod} ${engine} ${armor} ${missile}`; -} - -window.AttAir = function() {const V = State.variables,S = V.SFUnit; - if (S.AirForce >= 1)var W1 =`only armed`,W2 =``,W3 =`a poor weapon against anything flying, but enough to handle ground forces`,engines =``,troops2 =``,stealth =``,support =`support ground troops`,C =`a`,lock =``,scramble =``,PAI =``,troops =``; - var group =`A small group of attack VTOL have been recommissioned for use by $SF.lower, enough to make up a squadron`; - if (S.AirForce >= 2)W1 =`armed`;W2 =`and air-to-air missiles`;W3 =`combination that can defend the arcology from anything in the air, as well as ${support}`; - if (S.AirForce >= 3)engines =`The engines have been tuned, allowing faster flight with greater acceleration.`; - if (S.AirForce >= 4)troops =`An advanced targeting AI has been installed to intelligently call shots, allowing much more efficent use of ammunition and anti-countermeasure targeting.`; - if (S.AirForce >= 5)stealth =`The VTOLs have been given stealth technology by replacing the skin with a radar-absorbent material.`; - if (S.AirForce >= 6)group =`A respectable number of attack VTOL protect your arcology, split into a few squadrons`; - if (S.AirForce >= 7)C =`A`;support =`attack ground targets`;W2 =`,rocket pods, and air-to-air missiles.`; - if (S.AirForce >= 8)lock =`Multispectrum countermeasures protect against all known types of missile lock-ons.`; - if (S.AirForce >= 9)scramble =`The VTOLs can scramble to react to any threat in under three minutes.`; - if (S.AirForce === 10)PAI =`A piloting AI has been installed, allowing the VTOLs to operate without human interaction.`; - return`${group}. Several of the landing pads around $arcologies[0].name host groups of four fighters, ready to defend the arcology at a moment's notice. The attack VTOL are currently ${W1} with a Gatling cannon ${W2} ${C} ${W3}. ${troops2} ${engines} ${scramble} ${stealth} ${lock} ${PAI}`;} - -window.TsAir = function() {const V = State.variables,S = V.SFUnit; - if (S.AirForce >= 1)var Num =`number`,capacity =`small platoon or 15`,engines =``,engines2 =``,Radar =``,Armor =``,landing =``,miniguns =``,counter =``; - if (S.AirForce >= 2)engines =`The tiltrotor engines have been replaced with a more powerful engine, allowing faster travel times.`; - if (S.AirForce >= 3)counter =`Multispectrum countermeasures have been added to protect against seeking missiles.`; - if (S.AirForce >= 4)miniguns =`Mounted miniguns have been added to cover soldiers disembarking in dangerous areas.`; - if (S.AirForce >= 5)Num =`large number`; - if (S.AirForce >= 6)landing =`The landing equipment has been overhauled, protecting any onboard in case of a hard landing or crash.`; - if (S.AirForce >= 7)Armor =`Armor has been added to protect passengers from small arms fire from below.`; - if (S.AirForce >= 8)capacity =`large platoon or 20`;engines2 =`Further tweaks to the engine allow for greater lifting capacity.`; - if (S.AirForce >= 9)Radar =`Radar-absorbent materials have replaced the old skin, making it difficult to see the VTOL on radar.`; - if (S.AirForce === 10)engines2 =``;engines =`The tiltrotors have been replaced with tiltjets, allowing for much greater airspeed and acceleration.`; - return`A ${Num} of transport tiltrotor 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. ${Armor} ${counter} ${landing} ${engines} ${engines2} ${Radar} ${miniguns}`;} - -window.HBT = function() {const V = State.variables,S = V.SFUnit; - var Body =`The heavy battle tank rests in the corner of the garage, its massive chassis barely able to fit through the widened doors`; - var armour =`The armour has been modernised`; - if (S.HBT === 1)return`${Body}.`; - if (S.HBT === 2)return`${Body} ${armour}.`; - if (S.HBT === 3)var barrel =`single`,mg =`single`,ml =`single`; - if (S.HBT === 4)mg =`dual`; if (S.HBT === 5)ml =`dual`; - if (S.HBT === 6)mg =`tri`; if (S.HBT >= 7)mg =`quad`; - if (S.HBT === 8)ml =`tri`; if (S.HBT >= 9)barrel =`dual`; - if (S.HBT === 10)ml =`quad`; - return`${Body}. ${armour} also the turret has been re-fitted with a ${barrel} barreled 356 mm main gun along with a ${mg} barrel .50 cal and ${ml} row missile launcher.`;} - -window.SP = function() {const V = State.variables,S = V.SFUnit; - if (S.SpacePlane === 1) - return`A basic black twin engine space plane has been 'borrowed' from the old world.`; - if (S.SpacePlane > 1)var engine =``,modernised =``,modernised2 =``,modernised3 =``,drag =``,crew =``,engine2 =``,skin =``; - var shield =`shielding has been upgraded reducing both potential heat damage and radar signature.`; - if (S.SpacePlane >= 3)engine =`Another pair of engines have been mounted on top of the tail`; - if (S.SpacePlane >= 4)modernised =`modernized the electronics`; - if (S.SpacePlane >= 5)modernised2 =`in addition to the fuel lines to increase efficiency`; - if (S.SpacePlane >= 6)modernised3 =`The engines have been improved to allow for more efficient fuel.`; - if (S.SpacePlane >= 7)drag =`Reduced the weight and reworked the body to reduce drag.`; - if (S.SpacePlane >= 8)crew =`Increased the crew comfort and life support systems to increase operational time.`; - if (S.SpacePlane >= 9)engine2 =`Added an aditional engine per wing which greatly increases acceleration and raises the top speed to mach 15, making it untouchable.`; - if (S.SpacePlane === 10)skin =`Replaced the skin with an advanced optical illusion kit.`; - return`The black and silver space plane's ${shield} ${engine}. ${modernised} ${modernised2}. ${modernised3} ${drag} ${crew} ${engine2}`;} - -window.GunS = function() {const V = State.variables,S = V.SFUnit; - if (S.GunS === 1) - return`A basic black and silver gunship has been 'borrowed' from the old world.`; - if (S.GunS > 1)var gun =``,electronics =``,crew =``,speed =``; - if (S.GunS >= 3)gun =`The 140 mm gatteling gun rounds have been upgraded with exposive tips.`; - if (S.GunS >= 4)electronics =`The electronics have been modernised and made emp resistant.`; - if (S.GunS >= 5)crew =`The crew seating has been made more confortable.`; - if (S.GunS >= 6)speed =`Increased the speed and maneuverability.`; - return`The armour of the black and silver gunship has been modernized. ${gun} ${electronics} ${crew} ${speed}`;} - -window.Sat = function() {const V = State.variables,S = V.SFUnit; - if (S.Satellite === 1) - return`A basic satellite has been 'borrowed' from the old world.`; - if (S.Satellite > 1)var wire =``,emp1 =``,beem0 =``,beem3 =``,jam =``,jd3 =``,emp =``,beem1 =``,emp0 =``,beem4 =``,jd =``; - if (S.Satellite >= 3)wire =`wiring, and circuitry`; - if (S.Satellite === 4) {jd =`Installed a basic`;} else {jam =` localized communications jammer to the satellite (excludes your own frequencies with little to no leeway) that will "slightly" anger locals until it is deactivated. ${jd3}`;} - if (S.Satellite >= 5)jd =`Installed a more advanced version that is 50% more powerful`;jd3 =`The AO localization has been increased which reduces the amount of affected equipment`; - if (S.Satellite === 6) {emp0 =`The satellite is now equipped with a basic`;beem0 =`an entire city block.`;} else {emp1 =` EMP generator (advanced EMP hardening was applied before the insulation and activation) that will "slightly" damage equipment with the AO.`;beem1 =`Thanks to imporvements applied to battery system and shielding in additon to R&D funds, the satellite will be able to shoot a concentrated beam of pure energy that is able to level`;} - if (S.Satellite >= 7) {emp0 =`The satellite is now equipped with a more advanced version that is 50% more powerful`;} else {beem0 =`a suburb to a block of houses.`;} - if (S.Satellite === 8)beem0 =`a single house to 30m.`;beem3 =`The beem can also now fire off a heat wave to disorrent targets`; - if (S.Satellite === 9) {beem0 =`20m to 10m.`;} else {beem3 =`The beem can also now fire off a much stronger heat wave to disorrent targets for longer and with more effects.`;} - if (S.Satellite === 10)beem0 =`5m to 1m.`;beem4 =`It is now possible for the beem to be split as required.`; - return`Modernised the satellite's electronics ${wire}. ${jd}${jam} ${jd3} ${emp0}${emp1} ${beem1} ${beem0} ${beem3} ${beem4}`;} - -window.GR = function() {const V = State.variables,S = V.SFUnit; - if (S.GiantRobot === 1)return`A basic black and silver giant robot has been 'borrowed'.`; - if (S.GiantRobot > 1)var bat =``,weight =``,skin =``,armor =``,weapons =``,QOL =``,pilots =``; - if (S.GiantRobot >= 3)bat =`.Power efficiency has been increased`; - if (S.GiantRobot >= 4)weight =`Overall weight has been reduced signicantly allowing for greater mobility.`; - if (S.GiantRobot >= 5)bat =`Power efficiency and battery capacity have been increased.`; - if (S.GiantRobot >= 6)armor =`Armor has been thickened and is lighter`; - if (S.GiantRobot >= 7)weapons =`and heat seeking missiles plus a massive 150m long energy sword in addition to quad 420 cm back mounted powerful electromagnetic cannons`; - if (S.GiantRobot >= 8)pilots =`The pilot count has been increased to two via a synced neural link.`; - if (S.GiantRobot >= 9)QOL =`Improved the life support systems and crew seating, allowing for longer operational durations. Added hover and boost capabilities, allowing for greater mobility in addition to ramming potential.`; - if (S.GiantRobot >= 10)skin =`Replaced the skin with an advanced optical illusion kit and overclocked the movement systems allowing for even greater mobility. However the amount of heat generated has increased slightly.`; - return`The black and silver gaint robot has had it's wiring and circuitry upgraded ${bat} ${weight} ${armor}. For self defense the robot has it's bare hands ${weapons}. ${pilots} ${QOL} ${skin}`;} - -window.ms = function() {const V = State.variables,S = V.SFUnit; - if (S.MissileSilo === 1)return`A basic black and silver missile silo has been 'borrowed' from the old world.`; - if (S.MissileSilo === 2)return`Modernized the black and silver missile silo's launching electronics`; - if (S.MissileSilo === 3)return`Modernized the black and silver missile silo's launching electronics, wiring and circuitry.`;} - -window.AC = function() {const V = State.variables,S = V.SFUnit; - if (S.AircraftCarrier === 1)return`An old aircraft carrier has been 'borrowed' from the old world for use by $SF.Lower. It is moored to the pier in the Naval Yard. ${jets} strike jets have been recommissioned to serve as its airpower. `; - if (S.AircraftCarrier > 1)var dock =`The aircraft carrier is moored to the pier in the Naval Yard.`; var emp =`The electronics and wiring have been shielded to protect from EMP blasts`; var radar =``,emp2 =`.`,morale =``,AA ='',prop =``,scramble ='',jets =`Mothballed`; var jets2 =``; - if (S.AircraftCarrier >= 3)radar =`The island's radar and comms have been improved.`; - if (S.AircraftCarrier >= 4)AA =`The antiair guns have been updated to automatically track and predict enemy aircraft movement.`; - if (S.AircraftCarrier >= 5)prop =`The propulsion system has been tweaked to be much more difficult to pick up by sonar.`; - if (S.AircraftCarrier >= 6)jets =`Modern`; - if (S.AircraftCarrier >= 7)morale =`The mess, bunks, and recreation on the ship have been renovated, boosting morale among the sailors.`; - if (S.AircraftCarrier >= 8)jets2 =`with state-of-the-art weapons systems`; - if (S.AircraftCarrier >= 9)scramble =`The catapult has been converted into an electromagnetic launcher, halving the time it takes to scramble jets.`; - if (S.AircraftCarrier >= 10)emp2 =`, and the power plant has been converted to nuclear power.`; - return`${dock} ${jets} strike jets ${jets2} have been recommissioned to serve as its airpower.${scramble} ${emp}${emp2} ${radar} ${AA} ${prop} ${morale}`;} - -window.Sub = function() {const V = State.variables,S = V.SFUnit; - if (S.Sub === 1)return`An old attack submarine has been recommissioned from the old world, and is moored to the pier of the Naval Yard. Because diesel engines provide power and breathing oxygen is kept in pressurized canisters, the sub must frequently surface.`; - if (S.Sub > 1)var dock =`The attack submarine is moored to the pier of the Naval Yard.`,reactor =`A nuclear reactor provides power`; - var reactor1 =`, but because oxygen is still kept in pressurized canisters the sub must frequently surface to replenish its oxygen stocks.`,missiles =``,Cal =``,hull =``,tubes =``,sonar =``,control =``; - 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 to absorb sonar and for hydrodynamics.`; - if (S.Sub === 6)tubes =`The torpedo tubes have been redesigned for much faster loading speeds.`; - if (S.Sub >= 7)sonar =`The passive sonar has been finely tuned to detect mechanical noises kilometers away.`; - if (S.Sub >= 8)control =`The control room computers have been upgraded to automate many conn duties.`; - if (S.Sub >= 9)tubes =`The torpedo tubes have been redesigned for much faster loading speeds, and hold newer,faster and 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`${dock} ${reactor} ${reactor1} ${Cal} ${hull} ${tubes} ${sonar} ${control} ${missiles}`;} - -window.HAT = function() {const V = State.variables,S = V.SFUnit; - if (S.HAT === 1)var skirt =`, has been recommissioned for use by $SF.Lower`,guns =``,turbines =``,armor =``,tons =`200`,ramps =``,frame =``,loadout =``; - if (S.HAT >= 2)skirt =`. The skirt has been upgraded to improve cushion when travelling over uneven terrain and waves, as well as increasing durability`; - if (S.HAT >= 3)var guns2 =`minigun`;guns =`A .50 cal ${guns2} has been mounted in each of the four corners of the craft to defend against attackers.`; - if (S.HAT >= 4)var fans =`rear fans`,speed =`acceleration and speed`;turbines =`The turbines powering the ${fans} have been replaced with a more powerful version, allowing greater ${speed}.`; - if (S.HAT >= 5)armor =`The armor protecting its cargo has been increased.`; - if (S.HAT >= 6)tons =`300`;fans =`rear fans and impeller`;speed =`acceleration, speed, and carrying capacity`; - if (S.HAT >= 7)guns2 =`minigun and grenade launcher combo`; - if (S.HAT >= 8)ramps =`The loading ramps have been improved, allowing for faster unloading.`; - if (S.HAT >= 9)frame =`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${skirt}. It is parked on the pier of the Naval Yard, ready to ferry ${tons} tons of soldiers and vehicles at any time. ${guns} ${turbines} ${armor} ${ramps} ${frame} ${loadout}`;} - -window.Interactions = function() {const V = State.variables,T = State.temporary; -var choice =``,gift =``,giftdec =``,giftdec2 =``,Colonel =``,join =``,status =``,staus2 =``; -if (V.SF.Units !== T.max) {if (V.SF.U === 1)status =`being` - else status =`able to be`;staus2 =` improved this week`; -} else {status =`fully equipped and upgraded - nothing else can be done`;} -if (V.SF.WG === 1||(V.SFColonel.Talk === 1||V.SFColonel.Fun === 1))choice =`. This week you have already`; - if (V.SF.WG === 1) {gift =`been provided with`; - if (V.choice === 1) {giftdec =`an extra @@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ in tribute`; - } else if (V.choice === 2||V.choice === 3) {giftdec =`a message of support, @@.green;improving@@`; - if (V.choice == 2)giftdec2 =`your reputation.`; else giftdec2 =`the prosperity of $arcologies[0].name`; - } - } - if (V.SFColonel.Talk === 1||V.SFColonel.Fun === 1) {Colonel =`spent time with The Colonel`; - if (V.SF.WG === 1) {join =`and`;}} -return`${status}${staus2}${choice}${gift}${giftdec}${giftdec2}${join}${Colonel}.//`;} \ No newline at end of file diff --git a/src/pregmod/SecForceEX/NamingColonel.tw b/src/pregmod/SecForceEX/NamingColonel.tw deleted file mode 100644 index 708d4a95d08d0a9c35de1e9fb248c22425f9f437..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/NamingColonel.tw +++ /dev/null @@ -1,55 +0,0 @@ -:: 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 <<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: <<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 to avoid pre-judgment. They are waiting outside your office. -<br>-------------------- <</if>> -<<if $NamingColonel === 0>> [[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. This one's different, <<if $SFColonel.Core != "">> likely to be ''$SFColonel.Core'' <</if>> - <<if $SFColonel.Core == "">> she srikes you as someone who is likely to be at their core: - [[Kind, |Security Force Naming-Colonel][$SFColonel.Core = "kind"]] - [[mischievous, |Security Force Naming-Colonel][$SFColonel.Core = "mischievous"]] - [[cruel, |Security Force Naming-Colonel][$SFColonel.Core = "cruel"]] - [[psychopathic, |Security Force Naming-Colonel][$SFColonel.Core = "psychopathic"]] - [[sociopathic, |Security Force Naming-Colonel][$SFColonel.Core = "sociopathic"]] - [[a warmonger, |Security Force Naming-Colonel][$SFColonel.Core = "warmonger"]] - [[jaded, |Security Force Naming-Colonel][$SFColonel.Core = "jaded"]] - [[shell shocked, |Security Force Naming-Colonel][$SFColonel.Core = "shell shocked"]] - [[brazen, |Security Force Naming-Colonel][$SFColonel.Core = "brazen"]] - [[collected.|Security Force Naming-Colonel][$SFColonel.Core = "collected"]] - <</if>> - <<if $SFColonel.Core !== "">> - <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 $SF.Lower 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 $SFColonel.Core>> <<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 $SFColonel.Core>> <<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 $SFColonel.Core == "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>[[Let her leave|Security Force Naming-Colonel][$NamingColonel = 2]] - <</if>> -<</if>> -<<if $NamingColonel === 2>> - <br>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 $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 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 $nextLink = "Random Nonindividual Event",$nextButton = "Continue">> -<</if>> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/Proposal.tw b/src/pregmod/SecForceEX/Proposal.tw deleted file mode 100644 index e03799f9fb66aaa5d37fd75273719f47ab6b433d..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/Proposal.tw +++ /dev/null @@ -1,28 +0,0 @@ -:: Security Force Proposal [nobr] -<<set $nextLink = "Next Week",$nextButton = "Continue">> -<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>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>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>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/2>> -<<elseif $PC.warfare >= 50||$PC.career === "arcology owner">> -<<set _price/1.5>> <</if>> -<br><<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. -<<run Object.assign($SF, {Active:1, Depravity:0, Units:0, MWU:0, U:0, WG:0, SpecOps: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,Vehicles:0, Drones:0, - Drugs:0, HBT:0, AirForce: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})>> -<</replace>> <</link>>//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.">> <<replace "#result">> <<run Object.assign(, $SF, {Active:0})>> - On second thought, such a force is not needed. Your methods have served well so far - why should there be any change going forward? - <</replace>> <</link>> </span> \ No newline at end of file diff --git a/src/pregmod/SecForceEX/Report.tw b/src/pregmod/SecForceEX/Report.tw deleted file mode 100644 index 7e9b4ee6f0017b2f896db0b922c3d8a9be3a4f33..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/Report.tw +++ /dev/null @@ -1,197 +0,0 @@ -:: Security Force EOW 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,_OPE = .10,_FNGs = 10,_Trade = 0.025>> - -<<if $SF.SpecOps>> <<set _SFUC = Math.ceil($SFUnit.Troops*.05),$SFUnit.Troops-_SFUC>> -<<else>> <<set _SFUC = Math.ceil($SFUnit.Troops*.1),$SFUnit.Troops-_SFUC>> <</if>> -<<if $SFUnit.Troops > 200>> <<set _Trade += 0.05*(Math.ceil($SFUnit.Troops/100))>> - <<set _Income += 5000*(Math.ceil($SFUnit.Troops/100))>> - <<if $secExp === 1>> - <<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*_OPE)>> -<</if>> -<<if $SFUnit.Armoury > 0>> - <<set _FNGs += ($SFUnit.Armoury*2),_Trade += 0.25*$SFUnit.Armoury,_ME *= 1+($SFUnit.Armoury*_OPE)>> -<</if>> -<<if $SFUnit.Drugs > 0>> - <<set _FNGs += $SFUnit.Drugs,_Trade += 0.25*$SFUnit.Drugs,_ME *= 1+($SFUnit.Drugs*_OPE)>> -<</if>> -<<if $SFUnit.Firebase >= 1>> - <<if $SFUnit.Vehicles > 0>> - <<set _FNGs += $SFUnit.Vehicles,_Trade += 0.25*$SFUnit.Vehicles,_ME *= 1+($SFUnit.Vehicles*_OPE)>> - <</if>> - <<if $SFUnit.HBT > 0>> - <<set _Trade += 0.25*($SFUnit.HBT),_ME *= 1+($SFUnit.HBT*_OPE)>> - <</if>> -<</if>> -<<if $SFUnit.Firebase >= 2 && $SFUnit.Drones > 0>> - <<set _FNGs += $SFUnit.Drones,_Trade += 0.5*$SFUnit.Drones,_ME *= 1+($SFUnit.Drones*_OPE)>> -<</if>> - -<<if $SFUnit.Firebase >= 4>> - <<if $SFUnit.AirForce > 0>> - <<set _FNGs += $SFUnit.AirForce,_Trade += 0.25*$SFUnit.AirForce,_ME *= 1+($SFUnit.AirForce*_OPE)>> - <</if>> - <<if $SFUnit.SpacePlane > 0>> - <<set _FNGs += $SFUnit.SpacePlane,_Trade += 0.25*$SFUnit.SpacePlane,_ME *= 1+($SFUnit.SpacePlane*_OPE)>> - <</if>> - <<if $SFUnit.GunS > 0>> - <<set _FNGs += $SFUnit.GunS,_Trade += 0.25*$SFUnit.GunS,_ME *= 1+($SFUnit.GunS*_OPE)>> - <</if>> - <<if $SFUnit.Satellite > 0>> - <<set _FNGs += $SFUnit.Satellite,_Trade += 0.25*$SFUnit.Satellite,_ME *= 1+($SFUnit.Satellite*_OPE)>> - <</if>> - <<if $SFUnit.GiantRobot > 0 && _Land>> - <<set _FNGs += SF.GiantRobot,_Trade += 0.25*$SFUnit.GiantRobot,_ME *= 1+($SFUnit.GiantRobot*_OPE)>> - <</if>> - <<if $SFUnit.MissileSilo > 0 && _Land>> - <<set _Trade += 0.25*$SFUnit.MissileSilo,_ME *= 1+($SFUnit.MissileSilo*_OPE)>> - <</if>> -<</if>> - -<<if $SFUnit.AircraftCarrier > 0 && !_Land>> - <<set _FNGs += $SFUnit.AircraftCarrier,_Trade += 0.25*$SFUnit.AircraftCarrier,_ME *= 1+($SFUnit.AircraftCarrier*_OPE)>> -<</if>> -<<if $SFUnit.Sub > 0 && !_Land>> - <<set _FNGs += $SFUnit.Sub,_Trade += 0.25*$SFUnit.Sub,_ME *= 1+($SFUnit.Sub*_OPE)>> -<</if>> -<<if $SFUnit.HAT > 0 && !_Land>> - <<set _Trade += 0.25*$SFUnit.HAT,_ME *= 1+($SFUnit.HAT*_OPE)>> -<</if>> - -<<if $SFColonel.Fun > 0>> <<set _ME *= 1+($SFColonel.Fun*_OPE)>> <</if>> -<<if $SFTradeShow.History > 0>> <<set _ME *= 1+($SFTradeShow.History*_OPE)>> <</if>> -<<if $LieutenantColonel == 1>> <<set _ME *= 1+($LieutenantColonel*_OPE)>> <</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+_OPE,_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 *= _OPE*.95,_SFD += 0.05,_Trade += _Trade*.95>> -<<elseif $SF.ROE == "hold">> <<set _ME *= _OPE*1.05,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> -<<if $SF.Regs == "none">> <<set _ME *= _OPE*.95,_SFD += 0.05,_Trade += _Trade*.95>> -<<elseif $SF.Regs == "strict">> <<set _ME *= _OPE*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 === 1>> <<set $authority += $SF.Units*10,$authority = Math.clamp($authority, 0, 20000)>> <</if>> - -<<set _Income = (_Income*_ME)*(1+($week/1000)),$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 > 150000>> <<set _Profitable = 1,$SFUnit.Subsidy = 0>> -<<else>> <<set _Profitable = 0>> <</if>> -<<if $SF.Target == "raiding">> <<set _Profit = Math.ceil((_Income/1000)*1.95)>> <<else>> - <<set _Profit = Math.ceil((_Income/1000)*1.25)>> <</if>> -<<set $cash += _Profit>> - -<<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 portion of the force was assigned as 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 === 1 && $SFTradeShow.CanAttend === 1>><br>''TradeShow'': - <<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)>> - During a break, The Colonel managed to sell some generic schematics to the _TradeShowAttendes attendes, some decided to also give her some menial slaves as a bonus.<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 === 1 && $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>> <<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 new file mode 100644 index 0000000000000000000000000000000000000000..c0f6aecc27076a96b4a119d79fd21e1fc26da5f9 --- /dev/null +++ b/src/pregmod/SecForceEX/SpecialForceBarracksAdditionalColonelInteractions.tw @@ -0,0 +1,322 @@ +:: 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 new file mode 100644 index 0000000000000000000000000000000000000000..9c1d4a16217b56f1a210f6669f6cf1886f700571 --- /dev/null +++ b/src/pregmod/SecForceEX/SpecialForceBarracksCheatEdit.tw @@ -0,0 +1,77 @@ +:: 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 new file mode 100644 index 0000000000000000000000000000000000000000..55c562c4f9731994aa1971697fb5df150bdbc315 --- /dev/null +++ b/src/pregmod/SecForceEX/SpecialForceBarracksFlavourText.tw @@ -0,0 +1,84 @@ +:: 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/ColonelSexDec.tw b/src/pregmod/SecForceEX/SpecialForceColonelSexDec.tw similarity index 87% rename from src/pregmod/SecForceEX/ColonelSexDec.tw rename to src/pregmod/SecForceEX/SpecialForceColonelSexDec.tw index 8f47023524fa86c33bfc3ae3d553f78436f07faa..822e96e18f02fcefcbeee3ae2929a8528612f43b 100644 --- a/src/pregmod/SecForceEX/ColonelSexDec.tw +++ b/src/pregmod/SecForceEX/SpecialForceColonelSexDec.tw @@ -1,5 +1,5 @@ -:: SFColonelSexDec -<<switch $SFColonel.Core>> +:: SpecialForceColonelSexDec +<<switch $ColonelCore>> <<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>> \ No newline at end of file +<</switch>> diff --git a/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw b/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw new file mode 100644 index 0000000000000000000000000000000000000000..8d399a0b529ae29a93fa7d782355bccb9ddca4ce --- /dev/null +++ b/src/pregmod/SecForceEX/SpecialForceUpgradeDec.tw @@ -0,0 +1,470 @@ +:: 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 new file mode 100644 index 0000000000000000000000000000000000000000..d120d7aa0a0a8d6cfe1f1176f611704b75a6eb54 --- /dev/null +++ b/src/pregmod/SecForceEX/SpecialForceUpgradeOptions.tw @@ -0,0 +1,602 @@ +:: 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 new file mode 100644 index 0000000000000000000000000000000000000000..e3d4e54293eddc4524e7f11c27e5bc0d411cbe80 --- /dev/null +++ b/src/pregmod/SecForceEX/SpecialForceUpgradeTree.tw @@ -0,0 +1,72 @@ +:: SpecialForceUpgradeTree + +<<silently>> +<<set _Barracks = $securityForceArcologyUpgrades>> + <<set _BarracksMax = 16>> + +<<set _SupportFacility = $SupportFacility>> + <<set _SupportFacilityMax = 1>> + +<<set _Armoury = $securityForceInfantryPower>> + <<set _ArmouryMax = 12>> + +<<set _StimulantLab = $securityForceStimulantPower>> + <<set _StimulantLabMax = 10>> + +<<set _Garage = $securityForceVehiclePower+$securityForceHeavyBattleTank>> + <<set _LightAndMediumVehiclesMax = 8>> + <<set _HeavyBattleTankMax = 3>> +<<set _GarageMax = _LightAndMediumVehiclesMax+_HeavyBattleTankMax>> + +<<set _Hangar = $securityForceAircraftPower+$securityForceSpacePlanePower+$securityForceFortressZeppelin+$securityForceAC130+$securityForceHeavyTransport>> + <<set _AircraftMax = 10>> + <<set _SpacePlaneMax = 12>> + <<set _FortressZeppelinMax = 4>> + <<set _AC130Max = 6>> + <<set _heavyTransportMax = 4>> +<<set _HangarMax = _AircraftMax+_SpacePlaneMax+_FortressZeppelinMax+_AC130Max+_heavyTransportMax>> + +<<set _DroneBay = $securityForceDronePower>> + <<set _DroneBayMax = 8>> + +/* Launch Bay */ + <<if $PC.hacking >= 75>> + <<set _SatelliteMax = 21>> + <<set _GiantRobotMax = 16>> + <<else>> + <<set _SatelliteMax = 20>> + <<set _GiantRobotMax = 15>> + <</if>> + <<set _MissileSiloMax = 3>> + <<set _LaunchBayNO = $securityForceSatellitePower+$securityForceGiantRobot+$securityForceMissileSilo, _LaunchBayNOMax = _SatelliteMax+_GiantRobotMax+_MissileSiloMax>> + + <<set _LaunchBayO = $securityForceSatellitePower>> + <<if $PC.hacking >= 75>> + <<set _LaunchBayOMax = 21>> + <<else>> + <<set _LaunchBayOMax = 20>> + <</if>> + + <<set _AircraftCarrierMax = 6>> + <<if $PC.hacking >= 75>> + <<set _SubmarineMax = 7>> + <<else>> + <<set _SubmarineMax = 6>> + <</if>> + <<set _HeavyAmphibiousTransportMax = 6>> +<<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>> +<<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>> +<</if>> +<</silently>> diff --git a/src/pregmod/SecForceEX/Tree.tw b/src/pregmod/SecForceEX/Tree.tw deleted file mode 100644 index ef4f4107dcb7accbc551a3b5292cf1888ebf370e..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/Tree.tw +++ /dev/null @@ -1,127 +0,0 @@ -:: Tree [nobr] -<<set $HSM = HSM()>> <span id="resultX"> -@@.orange;Which facility or equipment do you wish to upgrade this week?@@ - <<if $SFUnit.Firebase < 1 || $SFUnit.Firebase < 2 || $SFUnit.Firebase < 4>><br> More firebase upgrades are required to unlock further options.<</if>> - <<if $SFUnit.Firebase < 5 || $SFUnit.Firebase < _FU>> - @@.green;<<link "Firebase">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Firebase++, $cash -= Math.ceil(100000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Firebase/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(100000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Firebase/100))))>>@@ // - <</if>> - <<if $SFUnit.Armoury < 5 || $SFUnit.Armoury < _AU>> - @@.green;<<link "SF.Armoury">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Armoury++, $cash -= Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Armoury/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Armoury/100))))>>@@ // - <</if>> - <<if $SFUnit.Drugs < 5 || $SFUnit.Drugs < _DrugsU>> - @@.green;<<link "Drug Lab">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Drugs++, $cash -= Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drugs/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drugs/100))))>>@@ // - <</if>> - <<if $SFUnit.Firebase >= 2 && ($SFUnit.Drones < 5 || $SFUnit.Drones < _DU)>> - @@.green;<<link "Drone bay">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Drones++, $cash -= Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*$HSM))>>@@ // - <</if>> - - <<if $SFUnit.Firebase >= 1 && (_G < 5 ||_G < _GU)>> - @@.green;<<link "Garage">> <<replace "#resultX">> <span id="resultY"> - "Which unit do you wish to upgrade or 'borrow'?" - @@.green;[[Go back|Firebase]]@@ - /*@@.green;<<link "Go back""Firebase">> <</link>>@@*/ - <<if ($SFUnit.Vehicles < 5|| $SFUnit.Vehicles < _VU)>> - @@.green;<<link "Vehicle fleet">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.Vehicles++, $cash -= Math.ceil(60000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Vehicles/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@// @@.yellowgreen;<<print cashFormat(Math.ceil(60000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Vehicles/100))))>>@@ // - <</if>> - <<if $SFUnit.HBT < _HBTU>> - @@.green;<<link "Heavy battle tank">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.HBT++, $cash -= Math.ceil(150000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.HBT/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@// @@.yellowgreen;<<print cashFormat(Math.ceil(150000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.HBT/100))))>>@@ // - <</if>> - </span> <</replace>> <</link>>@@ <</if>> - - <<if $SFUnit.Firebase >= 4 && (_H < 5 || _H < _HU)>> - @@.green;<<link "Hangar">> <<replace "#resultX">> <span id="resultY"> - "Which unit do you wish to upgrade or 'borrow'?" - @@.green;<<link "Go back""Firebase">> <</link>>@@ - <<if $SFUnit.AirForce < 5 || $SFUnit.AirForce < _AFU>> - @@.green;<<link "Aircraft fleet">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.AirForce++, $cash -= Math.ceil(70000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AirForce/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(70000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AirForce/100))))>>@@ // - <</if>> - <<if $SFUnit.SpacePlane < _SPU>> - @@.green;<<link "Space plane">> <<replace "#resultY">> - <<set $SF.U = 1, _SF.SpacePlane++, $cash -= Math.ceil(250000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.SpacePlane/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(250000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.SpacePlane/100))*$HSM))>>@@ // - <</if>> - <<if $SFUnit.GunS < _GunSU>> - @@.green;<<link "Gunship">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.GunS++, $cash -= Math.ceil(350000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GunS/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(350000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GunS/100))*$HSM))>>@@ // - <</if>> - </span> <</replace>> <</link>>@@ <</if>> - - <<if $SFUnit.Armoury < 5 || $SFUnit.Armoury < _AU>> - @@.green;<<link "Armoury">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Armoury++, $cash -= Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Armoury/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Armoury/100))))>>@@ // - <</if>> - <<if $SFUnit.Drugs < 5 || $SFUnit.Drugs < _DrugsU>> - @@.green;<<link "Drug Lab">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Drugs++, $cash -= Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drugs/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(40000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drugs/100))))>>@@ // - <</if>> - <<if $SFUnit.Firebase >= 2 && ($SFUnit.Drones < 5 || $SFUnit.Drones < _DU)>> - @@.green;<<link "Drone bay">> <<replace "#resultX">> - <<set $SF.U = 1, $SFUnit.Drones++, $cash -= Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(45000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Drones/100))*$HSM))>>@@ // - <</if>> - - <<if (_LB < _LBU)>> - @@.green;<<link "Launch Bay">> <<replace "#resultX">> <span id="resultY"> - "Which unit do you wish to upgrade or 'borrow'?" - @@.green;<<link "Go back""Firebase">> <</link>>@@ - <<if $SFUnit.Satellite < _SatU>> - @@.green;<<link "Satellite">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.Satellite++, $cash -= Math.ceil(525000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Satellite/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(525000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Satellite/100))*$HSM))>>@@ // - <</if>> - <<if $SFUnit.GiantRobot < _GRU && _Land>> - @@.green;<<link "Giant robot">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.GiantRobot++, $cash -= Math.ceil(550000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GiantRobot/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(550000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.GiantRobot/100))*$HSM))>>@@ // - <</if>> - <<if $SFUnit.MissileSilo < _MSU && _Land>> - @@.green;<<link "Missile silo">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.MissileSilo++, $cash -= Math.ceil(565000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.MissileSilo/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(565000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.MissileSilo/100))*$HSM))>>@@ // - <</if>> - </span> <</replace>> <</link>>@@ <</if>> - - <<if _NY < _NYU && !_Land>> - @@.green;<<link "Naval Yard">> <<replace "#resultX">> <span id="resultY"> - "Which unit do you wish to upgrade or 'borrow'?" - @@.green;<<link "Go back""Firebase">> <</link>>@@ - <<if $SFUnit.AircraftCarrier < _ACU>> - @@.green;<<link "Aircraft carrier">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.AircraftCarrier++, $cash -= Math.ceil(650000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AircraftCarrier/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(650000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.AircraftCarrier/100))*$HSM))>>@@ // - <</if>> - <<if $SFUnit.Sub < _SubU>> - @@.green;<<link "Submarine">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.Sub++, $cash -= Math.ceil(700000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Sub/100))*$HSM)>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(700000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.Sub/100))*$HSM))>>@@ // - <</if>> - <<if $SFUnit.HAT < _HATU>> - @@.green;<<link "Heavy amphibious transport">> <<replace "#resultY">> - <<set $SF.U = 1, $SFUnit.HAT++, $cash -= Math.ceil(665000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.HAT/100)))>> <<goto "Firebase">> - <</replace>> <</link>>@@ // @@.yellowgreen;<<print cashFormat(Math.ceil(665000*_Env*(1.15+($SF.Units/10))*(1.15+($SFUnit.HAT/100))))>>@@ // - <</if>> - </span> <</replace>> <</link>>@@ <</if>> -</span> -/* @@.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/WeeklyInteractions.tw b/src/pregmod/SecForceEX/WeeklyInteractions.tw deleted file mode 100644 index b8c106b51e10f8b97d3bcdacfe8436468c307023..0000000000000000000000000000000000000000 --- a/src/pregmod/SecForceEX/WeeklyInteractions.tw +++ /dev/null @@ -1,140 +0,0 @@ -:: WI [nobr] -<<if $SF.WG == 0>><br>Ask <<print SFC()>>: -@@.yellowgreen;<<link "For some extra 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,$cash += $CashGift>> -<</link>>@@ -<<if $rep < 20000 && $SFTradeShow.CanAttend === -1>> -@@.green;<<link "To put in a good word for you with her contacts.""Firebase">> - <<set $GoodWords1 += 250+(Math.ceil($SF.Units/100*_Env))>> - <<set $GoodWords1 = (Number($GoodWords1) ? $GoodWords1 : 500),$SF.WG = 1>> - <<set $rep += $GoodWords1,$choice = 2>> <</link>>@@ <</if>> -<<if $arcologies[0].prosperity < $AProsperityCap && $SFTradeShow.CanAttend === -1>> - @@.yellowgreen;<<link "To use her contacts to help the arcology's business community.""Firebase">> - <<set $GoodWords2 = _EnvProsp+(Math.ceil($SF.Units/100*_Env)),$SF.WG = 1,$choice = 3>> - <<set $arcologies[0].prosperity += $GoodWords2>> - <<if $arcologies[0].prosperity + $GoodWords2 > $AProsperityCap>> - <<set $arcologies[0].prosperity = $AProsperityCap>> <</if>> <</link>>@@ -<</if>> <</if>> - -<<if $SFColonel.Talk === 0 && $SFColonel.Fun === 0 && $SFTradeShow.CanAttend === -1>> <span id="result0"> -Where do you want to spend time with The Colonel this week? -<<if $SFColonel.Status >= 25>> - @@.orange;<<link "On the surface">> <<replace "#result0">> - <<set $SFColonel.Talk = 1>> - 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 $SF.Lower on foot, a squadron of fighters, a small convoy of $SF.Lower'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 $SF.Lower on foot, a squadron of fighters and a large convoy of $SF.Lower'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 $SF.Lower on foot, a squadron of fighters, a small convoy of $SF.Lower'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 $SF.Lower on foot, a squadron of fighters, a small convoy of $SF.Lower'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. Also 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 < $AProsperityCap>> - <<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 $SF.Lower. 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 $SFColonel.Status += 2>> - <</replace>> <</link>>@@ -<</if>> - -@@.orange;<<link "HQ.">> <<replace "#result0">> <span id="result1"> -What do you want to do with The Colonel in the HQ? -@@.orange;<<link "Learn">> <<replace "#result1">> -<<set $SFColonel.Talk = 1,$SFColonel.Status += 1>> -"Sure, <<print SFCR()>>,I can use a break from all of this." She laughs. -She can try teaching you a bit about; - @@.orange;[[field medicine|Firebase][$PC.medicine += 2]]@@ - ,@@.orange;[[trading|Firebase][$PC.trading += 2]]@@ - ,@@.orange;[[slaving|Firebase][$PC.slaving += 2]]@@ - ,@@.orange;[[combat engineering|Firebase][$PC.engineering += 2]]@@ - ,@@.orange;[[hacking|Firebase][$PC.hacking += 2]]@@ - ,@@.orange;[[general skills|Firebase][$PC.medicine += 1,$PC.trading += 1,$PC.slaving += 1,$PC.engineering += 1,$PC.hacking += 1]]@@ - or you can ,@@.orange;[[listen to some war stories|Firebase][$PC.warfare += 2]]@@ -@@.orange;[[Go back|Firebase][$SFColonel.Talk = 0,$SFColonel.Status -= 1]]@@ -<</replace>> <</link>>@@ - -<<if $SFColonel.Status >= 45>> -@@.orange;<<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>>@@ @@.orange;[[Go back|Firebase][]]@@ <</if>> /*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 new file mode 100644 index 0000000000000000000000000000000000000000..c3037fc70415e49ab243fc179de9e842391cfcf0 --- /dev/null +++ b/src/pregmod/SecForceEX/securityForceTradeShow.tw @@ -0,0 +1,135 @@ +:: 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/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 8369f579879455e96675425971c9f4cd63159e37..b941c593ba3e8c27373acb646b8a57bb6b7a6813 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -774,83 +774,90 @@ <<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>> <</if>> -/*SFVAR*/ <<if !$securityForceEventSeen>> <<set $SFMODToggle = -1>> <</if>> -<<set $SF = Object.assign({}, $SF, {Toggle:$SFMODToggle, Active:$securityForceActive})>> - <<unset $SFMODToggle, $securityForceActive, $securityForceCreate, $securityForceEventSeen>> -<<if $SF.Toggle && $SF.Active>> - <<if ndef $arcologies[0].SFRaid>> <<set $arcologies[0].SFRaid = 1>> <</if>> - <<if ndef $arcologies[0].SFRaidTarget>> - <<set $arcologies[0].SFRaidTarget = -1>> <</if>> - <<run Object.assign($SF, {Depravity:$securityForceDepravity, - Units:$SFAO, MWU:$securityForceUpgradeTokenReset, U:$securityForceUpgradeToken, - WG:$securityForceGiftToken, SpecOps:0, ROE:$securityForceRulesOfEngagement, - Target:$securityForceFocus, Regs:$securityForceAccountability, - Caps:"The Special Force", Lower:$securityForceName, Subsidy:$SubsidyActive})>> - <<unset $securityForceActive, $securityForceRecruit, $securityForceTrade , - $securityForceBooty, $securityForceIncome, $securityForceMissionEfficiency, - $securityForceProfitable, $securityForceIncome, $securityForceProfitable, - ,$TierTwoUnlock, $SFAO, $securityForceUpgradeTokenReset, - $securityForceUpgradeToken, $securityForceGiftToken, - $securityForceRulesOfEngagement, $securityForceFocus, - $securityForceAccountability, $securityForceName, $SubsidyActive>> - <<if $SF.Lower != "the special force">> - <<set $SF.Caps = $SF.Lower.replace("the ", "The ")>> - <</if>> +<<if $SFMODToggle == 1 && $securityForceCreate == 1>> + /* SF anon additional Special Force Variables [SFVAR] */ - <<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 ndef $securityForceAircraftCarrier>> - <<set $securityForceAircraftCarrier = 0>> <</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 $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>> + <<if ndef $securityForceAircraftCarrier>> + <<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, - Vehicles:$securityForceVehiclePower, Drones:$securityForceDronePower, - Drugs:$securityForceStimulantPower, HBT:$securityForceHeavyBattleTank, - AirForce:$securityForceAircraftPower, SpacePlane:$securityForceSpacePlanePower, - GunS:$securityForceAC130, Satellite:$securityForceSatellitePower, - GiantRobot:$securityForceGiantRobot, MissileSilo:$securityForceMissileSilo, - AircraftCarrier:$securityForceAircraftCarrier, Sub:$securityForceSubmarine, - HAT:$securityForceHeavyAmphibiousTransport})>> - <<unset $securityForcePersonnel, $securityForceInfantryPower, - $securityForceArcologyUpgrades, $securityForceVehiclePower, - $securityForceDronePower, $securityForceStimulantPower, - $securityForceHeavyBattleTank, $securityForceAircraftPower, - $securityForceSpacePlanePower,$securityForceAC130, $securityForceSatellitePower, - $securityForceGiantRobot, $securityForceMissileSilo, - $securityForceAircraftCarrier, $securityForceSubmarine, $securityForceHeavyAmphibiousTransport>> + <<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>> + <</if>> <<if ndef $useSlaveSummaryTabs>> diff --git a/src/uncategorized/SFMBarracks.tw b/src/uncategorized/SFMBarracks.tw new file mode 100644 index 0000000000000000000000000000000000000000..58d4f58f55aca234eeecfd3e0dc14ab1dc2b5ba2 --- /dev/null +++ b/src/uncategorized/SFMBarracks.tw @@ -0,0 +1,168 @@ +:: 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>> + <br>You have <<print (30-$SFAO)>> upgrades left before you can move unlock the next tier. ''StimulantLab:'' _StimulantLab/5 ''Barracks:'' _Barracks/5 ''Garage:'' $securityForceVehiclePower/5 ''Armoury:'' _Armoury/5 ''DroneBay:'' _DroneBay/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/costsReport.tw b/src/uncategorized/costsReport.tw index 4e6e817f293f6536d9468271b701996fb66b6154..8c9032175dcae3d86ef88168241014b56c2ca16a 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -48,9 +48,6 @@ 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.Subsidy>> - <br>$SF.Caps subsidy:__ <<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/options.tw b/src/uncategorized/options.tw index d733d1daac1ae9038c901375e0d06f500c5e08ed..521003511022b3e2b1b594714da5861c441676b6 100644 --- a/src/uncategorized/options.tw +++ b/src/uncategorized/options.tw @@ -407,11 +407,11 @@ Curative side effects are @@.red;DISABLED@@. [[Enable|Options][$curativeSideEffe <br><br> ''MODS'' -<br>The Special Force Mod is currently -<<if ($SF.Toggle === 0)>> - @@.red;DISABLED@@. [[Enable|Options][$SF.Toggle = 1]] +<br> +<<if ($SFMODToggle == 0)>> + The Special Force Mod is @@.red;DISABLED@@. [[Enable|Options][$SFMODToggle = 1]] <<else>> - @@.cyan;ENABLED@@. [[Disable|Options][$SF.Toggle = 0]] + The Special Force Mod is currently @@.cyan;ENABLED@@. [[Disable|Options][$SFMODToggle = 0]] <</if>> //Will not affect mod content that has already been encountered.// <br> diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw index f10ad7d2d249c145c8326df01c8f7bcf0c5bb146..ec69cf2e4cd3ae963ad6bd27ca7987c7e941eb77 100644 --- a/src/uncategorized/scheduledEvent.tw +++ b/src/uncategorized/scheduledEvent.tw @@ -209,6 +209,8 @@ <<set $nicaeaAchievement = either("devotion", "trust", "slaves")>> <<goto "SE nicaea council">> +<<elseif (Math.trunc($week/24) == ($week/24)) && ($securityForceCreate == 1) && ($SFMODToggle == 1) && $OverallTradeShowAttendance >= 1>> + <<goto "securityForceTradeShow">> <<else>> <<goto "Nonrandom Event">> <</if>> diff --git a/src/uncategorized/securityForceEOWReport.tw b/src/uncategorized/securityForceEOWReport.tw new file mode 100644 index 0000000000000000000000000000000000000000..bd757372e21b01f45158bd07bee5b9e5fc75089f --- /dev/null +++ b/src/uncategorized/securityForceEOWReport.tw @@ -0,0 +1,425 @@ +:: 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 new file mode 100644 index 0000000000000000000000000000000000000000..69dbbe34b5864f1cd8b6078659543faf54e74361 --- /dev/null +++ b/src/uncategorized/securityForceNamingColonel.tw @@ -0,0 +1,169 @@ +:: 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 new file mode 100644 index 0000000000000000000000000000000000000000..2e79b89018d02e7507db6edc557fed2527a4bcfd --- /dev/null +++ b/src/uncategorized/securityForceProposal.tw @@ -0,0 +1,40 @@ +:: 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>