diff --git a/src/SpecialForce/Report.tw b/src/SpecialForce/Report.tw index 1795725b1f51d865d0aed2f9863c0e87d6b79572..8e14d0da9e987d9818f11aa7fd58b06545df1a0b 100644 --- a/src/SpecialForce/Report.tw +++ b/src/SpecialForce/Report.tw @@ -11,7 +11,7 @@ <<set $SFUnit.Troops += Math.ceil(random(-2*$SFUnit.Troops/100,-3*$SFUnit.Troops/100))>> <</if>> <</if>> -<<set _Income = 1000000,_actionMultiplier = 1,_troopMultiplier = 1,_unitMultiplier = 1,_depravityMultiplier = 1,_SFupkeep = 0,_FNGs = 10,_Trade = 0.025>> +<<set _SFIncome = 75000,_actionMultiplier = 1,_troopMultiplier = 1,_unitMultiplier = 1,_depravityMultiplier = 1,_SFupkeep = 0,_FNGs = 10,_Trade = 0.025>> <<if $SF.SpecOps > 0>> <<if $SF.SpecOps === 1>> <<set $SFUC = Math.ceil($SFUnit.Troops*.1),$SFUnit.Troops-$SFUC>> <<else>> <<set $SFUC = Math.ceil($SFUnit.Troops*.25),$SFUnit.Troops-$SFUC>> <</if>> @@ -24,61 +24,61 @@ <</if>> <<if $SFUnit.Firebase > 0>> - <<set _FNGs += $SFUnit.Firebase,_Trade += 0.5*$SFUnit.Firebase,_unitMultiplier += 0.2*$SFUnit.Firebase,_SFupkeep += 500*(10+$SFUnit.Firebase)>> + <<set _FNGs += $SFUnit.Firebase,_Trade += 0.5*$SFUnit.Firebase,_unitMultiplier += 7.5*$SFUnit.Firebase+2*Math.pow($SFUnit.Firebase,2),_SFupkeep += 500*(10+$SFUnit.Firebase)>> <</if>> <<if $SFUnit.Armoury > 0>> - <<set _FNGs += (2*$SFUnit.Armoury),_Trade += 0.25*$SFUnit.Armoury,_unitMultiplier += 0.3*$SFUnit.Armoury, _SFupkeep += 100*$SFUnit.Armoury>> + <<set _FNGs += (2*$SFUnit.Armoury),_Trade += 0.25*$SFUnit.Armoury,_unitMultiplier += 7.5*$SFUnit.Armoury+2*Math.pow($SFUnit.Armoury,2), _SFupkeep += 100*$SFUnit.Armoury>> <</if>> <<if $SFUnit.Drugs > 0>> - <<set _FNGs += $SFUnit.Drugs,_Trade += 0.25*$SFUnit.Drugs,_unitMultiplier += 0.3*$SFUnit.Drugs,_SFupkeep += 300*$SFUnit.Drugs>> + <<set _FNGs += $SFUnit.Drugs,_Trade += 0.25*$SFUnit.Drugs,_unitMultiplier += 7.5*$SFUnit.Drugs+2*Math.pow($SFUnit.Drugs,2),_SFupkeep += 300*$SFUnit.Drugs>> <</if>> <<if $SFUnit.Firebase >= 1>> <<if $SFUnit.AV > 0>> - <<set _FNGs += $SFUnit.AV,_Trade += 0.25*$SFUnit.AV,_unitMultiplier += 0.8*$SFUnit.AV,_SFupkeep += 1000*$SFUnit.AV>> + <<set _FNGs += $SFUnit.AV,_Trade += 0.25*$SFUnit.AV,_unitMultiplier += 7.5*$SFUnit.AV+2*Math.pow($SFUnit.AV,2),_SFupkeep += 1000*$SFUnit.AV>> <</if>> <<if $SFUnit.TV > 0>> - <<set _FNGs += $SFUnit.TV,_Trade += 0.25*$SFUnit.TV,_unitMultiplier += 0.7*$SFUnit.TV, _SFupkeep += 800*$SFUnit.TV>> + <<set _FNGs += $SFUnit.TV,_Trade += 0.25*$SFUnit.TV,_unitMultiplier += 7.5*$SFUnit.TV+2*Math.pow($SFUnit.TV,2), _SFupkeep += 800*$SFUnit.TV>> <</if>> <<if $SFUnit.PGT > 0>> - <<set _Trade += 0.25*($SFUnit.PGT),_unitMultiplier += 2.5*$SFUnit.PGT,_SFupkeep += 5000+1000*$SFUnit.PGT>> + <<set _Trade += 0.25*($SFUnit.PGT),_unitMultiplier += 15*$SFUnit.PGT+3*Math.pow($SFUnit.PGT,2),_SFupkeep += 5000+1000*$SFUnit.PGT>> <</if>> <</if>> <<if $SFUnit.Firebase >= 2 && $SFUnit.Drones > 0>> - <<set _FNGs += $SFUnit.Drones,_Trade += 0.5*$SFUnit.Drones,_unitMultiplier += 0.5*$SFUnit.Drones,_SFupkeep += 500*$SFUnit.Drones>> + <<set _FNGs += $SFUnit.Drones,_Trade += 0.5*$SFUnit.Drones,_unitMultiplier += 7.5*$SFUnit.Drones+2*Math.pow($SFUnit.Drones,2),_SFupkeep += 500*$SFUnit.Drones>> <</if>> <<if $SFUnit.Firebase >= 4>> <<if $SFUnit.AA > 0>> - <<set _FNGs += $SFUnit.AA,_Trade += 0.25*$SFUnit.AA,_unitMultiplier += $SFUnit.AA,_SFupkeep += 1000*$SFUnit.AA>> + <<set _FNGs += $SFUnit.AA,_Trade += 0.25*$SFUnit.AA,_unitMultiplier += 7.5*$SFUnit.AA+2*Math.pow($SFUnit.AA,2),_SFupkeep += 1000*$SFUnit.AA>> <</if>> <<if $SFUnit.TA > 0>> - <<set _FNGs += $SFUnit.TA,_Trade += 0.25*$SFUnit.TA,_unitMultiplier += 0.8*$SFUnit.TA,_SFupkeep += 800*$SFUnit.TA>> + <<set _FNGs += $SFUnit.TA,_Trade += 0.25*$SFUnit.TA,_unitMultiplier += 7.5*$SFUnit.TA+2*Math.pow($SFUnit.TA,2),_SFupkeep += 800*$SFUnit.TA>> <</if>> <<if $SFUnit.SpacePlane > 0>> - <<set _FNGs += $SFUnit.SpacePlane,_Trade += 0.25*$SFUnit.SpacePlane,_unitMultiplier += $SFUnit.SpacePlane,_SFupkeep += 1000*$SFUnit.SpacePlane>> + <<set _FNGs += $SFUnit.SpacePlane,_Trade += 0.25*$SFUnit.SpacePlane,_unitMultiplier += 7.5*$SFUnit.SpacePlane+2*Math.pow($SFUnit.SpacePlane,2),_SFupkeep += 1000*$SFUnit.SpacePlane>> <</if>> <<if $SFUnit.GunS > 0>> - <<set _FNGs += $SFUnit.GunS,_Trade += 0.25*$SFUnit.GunS,_unitMultiplier += 2*$SFUnit.GunS,_SFupkeep += 3000+700*$SFUnit.GunS>> + <<set _FNGs += $SFUnit.GunS,_Trade += 0.25*$SFUnit.GunS,_unitMultiplier += 12*$SFUnit.GunS+3*Math.pow($SFUnit.GunS,2),_SFupkeep += 3000+700*$SFUnit.GunS>> <</if>> <<if $SFUnit.Satellite > 0>> - <<set _FNGs += $SFUnit.Satellite,_Trade += 0.25*$SFUnit.Satellite,_unitMultiplier += 3*$SFUnit.Satellite>> + <<set _FNGs += $SFUnit.Satellite,_Trade += 0.25*$SFUnit.Satellite,_unitMultiplier += 15*$SFUnit.Satellite+5*Math.pow($SFUnit.Satellite,2)>> <</if>> <<if $SFUnit.GiantRobot > 0>> - <<set _FNGs += $SFUnit.GiantRobot,_Trade += 0.25*$SFUnit.GiantRobot,_unitMultiplier += 3*$SFUnit.GiantRobot,_SFupkeep += 10000+1500*$SFUnit.GiantRobot>> + <<set _FNGs += $SFUnit.GiantRobot,_Trade += 0.25*$SFUnit.GiantRobot,_unitMultiplier += 15*$SFUnit.GiantRobot+5*Math.pow($SFUnit.GiantRobot,2),_SFupkeep += 10000+1500*$SFUnit.GiantRobot>> <</if>> <<if $SFUnit.MissileSilo > 0>> - <<set _Trade += 0.25*$SFUnit.MissileSilo,_unitMultiplier += 3*$SFUnit.MissileSilo,_SFupkeep += 1000*$SFUnit.MissileSilo>> + <<set _Trade += 0.25*$SFUnit.MissileSilo,_unitMultiplier += 15*$SFUnit.MissileSilo+5*Math.pow($SFUnit.MissileSilo,2),_SFupkeep += 1000*$SFUnit.MissileSilo>> <</if>> <</if>> <<if $SFUnit.AircraftCarrier > 0>> - <<set _FNGs += $SFUnit.AircraftCarrier,_Trade += 0.25*$SFUnit.AircraftCarrier,_unitMultiplier += $SFUnit.AircraftCarrier,_SFupkeep += 800*$SFUnit.AircraftCarrier>> + <<set _FNGs += $SFUnit.AircraftCarrier,_Trade += 0.25*$SFUnit.AircraftCarrier,_unitMultiplier += 9*$SFUnit.AircraftCarrier+3*Math.pow($SFUnit.AircraftCarrier,2),_SFupkeep += 800*$SFUnit.AircraftCarrier>> <</if>> <<if $SFUnit.Sub > 0>> - <<set _FNGs += $SFUnit.Sub,_Trade += 0.25*$SFUnit.Sub,_unitMultiplier += 0.9*$SFUnit.Sub,_SFupkeep += 900*$SFUnit.Sub>> + <<set _FNGs += $SFUnit.Sub,_Trade += 0.25*$SFUnit.Sub,_unitMultiplier += 7.5*$SFUnit.Sub+2*Math.pow($SFUnit.Sub,2),_SFupkeep += 900*$SFUnit.Sub>> <</if>> <<if $SFUnit.HAT > 0>> - <<set _Trade += 0.25*$SFUnit.HAT,_unitMultiplier += 0.7*$SFUnit.HAT,_SFupkeep += 700*$SFUnit.HAT>> + <<set _Trade += 0.25*$SFUnit.HAT,_unitMultiplier += 7.5*$SFUnit.HAT+2*Math.pow($SFUnit.HAT,2),_SFupkeep += 700*$SFUnit.HAT>> <</if>> <<set _SFD = $SF.Depravity>> @@ -94,14 +94,15 @@ <<case "shell shocked">> <<set _Trade += 0.05,_SFD -= 0.05,_unitMultiplier -= 0.5>> <</switch>> -<<if $SF.Target == "raiding">> <<set _SFD += 0.05,_actionMultiplier += 1>> +<<if $SF.Target == "raiding">> <<set _SFD += 0.05,_actionMultiplier += 0.5>> <<elseif $SF.Target == "secure">> <<set _SFD -= 0.05,_actionMultiplier += 0.2>> <<else>><<set _SFD -= 0.1,_actionMultiplier -= 0.5>><</if>> -<<if $SF.ROE == "free">> <<set _actionMultiplier *= .8,_SFD += 0.05,_Trade += _Trade*.95>> -<<elseif $SF.ROE == "hold">> <<set _actionMultiplier *= 1.2,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> -<<if $SF.Regs == "none">> <<set _actionMultiplier *= .8,_SFD += 0.05,_Trade += _Trade*.95>> -<<elseif $SF.Regs == "strict">> <<set _actionMultiplier *= 1.2,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> -<<if _SFD != 0>><<set _depravityMultiplier = 1+_SFD>> +<<if $SF.ROE == "free">> <<set _actionMultiplier *= 0.8,_SFD += 0.05,_Trade += _Trade*.95>> +<<elseif $SF.ROE == "hold">> <<set _actionMultiplier *= 1.1,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> +<<if $SF.Regs == "none">> <<set _actionMultiplier *= 0.8,_SFD += 0.05,_Trade += _Trade*.95>> +<<elseif $SF.Regs == "strict">> <<set _actionMultiplier *= 1.1,_SFD -= 0.05,_Trade += _Trade*1.05>> <</if>> +<<set _depravityMultiplier = 1+_SFD>> +<<if _SFD != 0>> <<if _SFD < 0>> <<set _ef0 = _SFD*10>> <<elseif _SFD > 0>> <<set _ef0 = 1-(_SFD/10)>> <</if>> <<set _Trade += _Trade*(_ef0)>> <</if>> @@ -115,13 +116,15 @@ <</if>> <<if $secExp > 0>> <<set $authority += $SF.Units*10,$authority = Math.clamp($authority, 0, 20000)>> <</if>> -<<set _Income = Math.ceil(_Income*_troopMultiplier*_unitMultiplier*_actionMultiplier*_depravityMultiplier-_SFupkeep),$SFUnit.Troops += Math.round(_FNGs/2)>> +<<set _SFIncome = Math.ceil(_SFIncome*_troopMultiplier*_unitMultiplier*_actionMultiplier*_depravityMultiplier-_SFupkeep),$SFUnit.Troops += Math.round(_FNGs/2)>> +/*Remove below line if hard mode ever gets fixed*/ +<<if $economy > 1>><<set _SFIncome = Math.ceil(_SFIncome*(1+($week/10)))>><</if>> <<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 >= 100000>> - <<set _Profitable = 1,$SF.Subsidy = 0,$cash += _Income>> +<<if _SFIncome >= 100000>> + <<set _Profitable = 1,$SF.Subsidy = 0,$cash += _SFIncome>> <<else>> <<set _Profitable = 0>> <</if>> <<if $SFUnit.Drugs >= 8 || $SFUnit.Drugs >= 10>> <<set _Deaths = 0,_SurvivalChance = 50>> @@ -152,7 +155,7 @@ locating and striking targets of opportunity, capturing both material loot and n 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 materiel and human assets totaling @@.yellowgreen;<<print cashFormat(_Income)>>@@ (after liquidation) were transferred to your accounts. +@@.green;more than sufficient@@ to cover expenses. Excess materiel and human assets totaling @@.yellowgreen;<<print cashFormat(_SFIncome)>>@@ (after liquidation) were transferred to your accounts. <<else>> @@.red;barely enough@@ to cover expenses. More growth will be needed to ensure profitability. <</if>>