|
@@ -237,8 +237,8 @@
|
|
|
|
|
|
|
|
|
!! I have to initialize the variables somewhere, maybe in preCUST?
|
|
|
-if Luth_Max = 0: LutH_Max = rand(312,360) & !! 13-15 days including ovulation
|
|
|
-if Foch_Max = 0: FocH_Max = rand(312,360) & !! 13-15 days including menstruation
|
|
|
+if Luth_Max = 0: LutH_Max = rand(155,175)+rand(155,175) & !! 13-14 days including ovulation
|
|
|
+if Foch_Max = 0: FocH_Max = rand(130,230)+rand(130,230) & !! 11-18 days including menstruation
|
|
|
|
|
|
if $ARGS[0] = '':
|
|
|
!! calling the variable error handler, fixing variables here.
|
|
@@ -446,7 +446,15 @@ if $ARGS[0] = '':
|
|
|
gs 'lact_lib','lactate_optout'
|
|
|
else
|
|
|
gs 'lact_lib','breastcycle'
|
|
|
- end
|
|
|
+ end
|
|
|
+
|
|
|
+!! New test birth control level with pillcon values 30k - 40k. Range 0-99. A single missed day should mean drop from 99% to 93% effectiveness.
|
|
|
+ if broodcurse >= 0:
|
|
|
+ !!should never be below zero, but just in case it changes in the future.
|
|
|
+ BClevel = min(99, max(0,(pillcon-30000))*99/9000)/(broodcurse+1)
|
|
|
+ else
|
|
|
+ BClevel = min(99, max(0,(pillcon-30000))*99/9000)
|
|
|
+ end
|
|
|
|
|
|
if cycle <= 0:
|
|
|
gs 'femcyc', 'cyc0'
|
|
@@ -466,13 +474,14 @@ if $ARGS[0] = '':
|
|
|
stat['probably_safe_day'] = 0
|
|
|
stat['dangerous_day'] = 0
|
|
|
|
|
|
- if cycle > 3:
|
|
|
- stat['safe_day'] = 1
|
|
|
- elseif cycle = 0 or cycle = 3:
|
|
|
- stat['probably_safe_day'] = 1
|
|
|
- else
|
|
|
- stat['dangerous_day'] = 1
|
|
|
- end
|
|
|
+!! We got a bio scanner installed? Not like this.
|
|
|
+!! if cycle > 3:
|
|
|
+!! stat['safe_day'] = 1
|
|
|
+!! elseif cycle = 0 or cycle = 3:
|
|
|
+!! stat['probably_safe_day'] = 1
|
|
|
+!! else
|
|
|
+!! stat['dangerous_day'] = 1
|
|
|
+!! end
|
|
|
|
|
|
|
|
|
!! if cycle = 1 or lastmens >= daystart - 7:
|
|
@@ -481,13 +490,16 @@ if $ARGS[0] = '':
|
|
|
!! days 8-19 is considered to be fertile
|
|
|
!! day 20 until your period is considered safe
|
|
|
!! this is not checking against the actual code of how fertility works in this game because i can''t figure it out. but that''s the risk you take for using the calendar method instead of real birth control :P - hornguy6
|
|
|
-!! if daylastperiod >= daystart - 7:
|
|
|
-!! stat['probably_safe_day'] = 1
|
|
|
-!! elseif daylastperiod >= daystart - 19:
|
|
|
-!! stat['dangerous_day'] = 1
|
|
|
-!! else
|
|
|
-!! stat['safe_day'] = 1
|
|
|
-!! end
|
|
|
+
|
|
|
+ if daystart - daylastperiod < 8:
|
|
|
+ stat['probably_safe_day'] = 1
|
|
|
+ elseif daystart - daylastperiod < 19:
|
|
|
+ stat['dangerous_day'] = 1
|
|
|
+ elseif daystart - daylastperiod < 22:
|
|
|
+ stat['probably_safe_day'] = 1
|
|
|
+ else
|
|
|
+ stat['safe_day'] = 1
|
|
|
+ end
|
|
|
|
|
|
!! other variable hornguy was experimenting with
|
|
|
!! if lastmens >= daystart - 7:
|
|
@@ -504,15 +516,16 @@ if $ARGS[0] = 'cyc0':
|
|
|
lastmens = daystart
|
|
|
cycle = 1
|
|
|
mesec = 0
|
|
|
- if rand(0,1000) = 1000:
|
|
|
- EggRH = rand(20,80)
|
|
|
- else
|
|
|
- EggRH = 0
|
|
|
+ if rand(0,35) = 0:
|
|
|
+ temprand = rand(20,80)
|
|
|
+ FocH += temprand
|
|
|
+ EggRH += temprand
|
|
|
end
|
|
|
- FocH += EggRH
|
|
|
+
|
|
|
else
|
|
|
mesec -= 1
|
|
|
FocH += 1
|
|
|
+ EggRH += 1
|
|
|
end
|
|
|
end
|
|
|
|
|
@@ -521,32 +534,55 @@ end
|
|
|
|
|
|
if $ARGS[0] = 'cyc1':
|
|
|
FertEgg = 0
|
|
|
+ if Ovulate < 0: Ovulate = 0
|
|
|
if FocH <= FocH_Max:
|
|
|
- if pillcon <= 7000: EggRH += 1
|
|
|
- if rand(0,9) = 0: EggRH += 1
|
|
|
FocH += 1
|
|
|
- temprand = rand(0,9) - sterileov + tempovbonus
|
|
|
- if temprand < 0:
|
|
|
- EggRH -= 1
|
|
|
- elseif temprand > 9:
|
|
|
- EggRH += 1
|
|
|
- end
|
|
|
+ if planBtaken > 0: planBtaken -= 1
|
|
|
+
|
|
|
+!! If release hormones reach the average maximum then there is a chance ovulation occurs early
|
|
|
+!! if EggRH > 336:
|
|
|
+!! if rand(0,99) = 0: FocH = FocH_Max + 1
|
|
|
+!! elseif EggRH < 325 and FocH = FocH_Max:
|
|
|
+!! if rand(0,19) > 0: FocH -= 1
|
|
|
+!! end
|
|
|
+!!
|
|
|
+!! EggRH += 1
|
|
|
+!! temprand = rand(0,19) - sterileov + tempovbonus
|
|
|
+!! if temprand < 0:
|
|
|
+!! EggRH -= 2
|
|
|
+!! elseif temprand > 19:
|
|
|
+!! EggRH += 2
|
|
|
+!! end
|
|
|
else
|
|
|
!! the setting of the max_time can be here although it can be changed in the future
|
|
|
- LutH_Max = rand(312,360) & !! 13-15 days including ovulation
|
|
|
+ LutH_Max = rand(155,175)+rand(155,175) & !! 13-14 days including ovulation, two separate rolls to favor average values over extremes
|
|
|
+ !! Faster cycle if on ovulation drugs
|
|
|
+ LutH_Max -= 6 * tempovbonus
|
|
|
+
|
|
|
!{If you are ready to ovulate, it creates a chance to double ovulate. That chance is increased by your age. Then it does the same for a triple ovulation. Then it sets the ovulation tag, ovulation hour count, and begins a ticker for the life of the eggs.}
|
|
|
- temprand = rand(0,20)
|
|
|
- temprand += age/15
|
|
|
- temprand -= pillcon/1000
|
|
|
- if temprand > 20:
|
|
|
- EggRH += 205
|
|
|
- temprand = rand(0,20)
|
|
|
- temprand += age/15
|
|
|
- if temprand > 20: EggRH += 410
|
|
|
- end
|
|
|
+!! temprand = rand(0,199)
|
|
|
+!! temprand += age*10/15
|
|
|
+!! temprand -= pillcon/4000
|
|
|
+!! if temprand > 199:
|
|
|
+!! EggRH += 300
|
|
|
+!! temprand = rand(0,199)
|
|
|
+!! temprand += age*10/15
|
|
|
+!! if temprand > 199: EggRH += 600
|
|
|
+!! end
|
|
|
FocH = 0
|
|
|
lastovulation = daystart
|
|
|
- Ovulate = 24 + rand(0,20)
|
|
|
+ Ovulate += 12 + rand(0,12)
|
|
|
+ if tempovbonus > 0:
|
|
|
+ tempovbonus -= rand(0,2)
|
|
|
+ if tempovbonus < 0: tempovbonus = 0
|
|
|
+ end
|
|
|
+ :OviLoop
|
|
|
+ if BClevel < rand(1,100):
|
|
|
+ UnfertEgg += 1
|
|
|
+ Ovulate += rand(0,6) + 2*(tempovbonus - sterileov)
|
|
|
+ !! chance for multiple ovulation
|
|
|
+ if rand(0,99) - tempovbonus + sterileov < 5: jump 'OviLoop'
|
|
|
+ end
|
|
|
cycle = 2
|
|
|
ferteggage = 0
|
|
|
end
|
|
@@ -655,9 +691,8 @@ if $ARGS[0] = 'cyc2':
|
|
|
if egg_idx < egg_sz:
|
|
|
!!{fert_thresh is the chance this specific egg is fertilized. Its modified by being on the pill, being sterilized, the brood curse, and so on. If it computes to less than the cum total calculated above, the egg is fertilized by a father randomly drawn from the lotto array.}
|
|
|
fert_thresh = rand(1,250000)
|
|
|
- if pillcon < 0: pillcon = 0
|
|
|
- !!fert_thresh += pillcon
|
|
|
if steriletu = 1: fert_thresh += fert_thresh*30
|
|
|
+ if planBtaken > 0: fert_thresh = fert_thresh*5
|
|
|
if fert_thresh > 0 and broodcurse > 0: fert_thresh = fert_thresh / 2
|
|
|
if fert_thresh <= cum_total:
|
|
|
lotto_idx = rand(0, cfl_sz-1)
|
|
@@ -688,18 +723,25 @@ if $ARGS[0] = 'cyc2':
|
|
|
jump 'FertLoop'
|
|
|
end
|
|
|
killvar 'temp'
|
|
|
- tempovbonus = 0
|
|
|
end
|
|
|
|
|
|
-!!{Ovulation to Luteal. It checks to see if you are on the ovulation cycle. If you are, it checks you for your pillcon. If it is high enough, no egg is released. Under high concentrations of pill chemical, ovulation ticks away quicker. Otherwise, it checks to see if your ovulation hormone is high enough, and if it is it gives you an egg and drops a good chunk down on your ovulation hormone. if its still high, it drops another egg. Then it checks your ovulation hours. If its down to 0, it starts the Luteal phase. Otherwise, it adds an hour to the egg age and reduces the ovulation window by an hour.}
|
|
|
- if pillcon > 26000 and rand(0,400) ! 0: EggRH = 0
|
|
|
- :OviLoop
|
|
|
- if EggRH > ((UnfertEgg + FertEgg) * 150):
|
|
|
- UnfertEgg += 1
|
|
|
- EggRH -= (200 * UnfertEgg)
|
|
|
- jump 'OviLoop'
|
|
|
- end
|
|
|
- if ovulate <= 0:
|
|
|
+!! Ovulation to Luteal. It checks to see if you are on the ovulation cycle. If you are, it checks you for your pillcon.
|
|
|
+!! If it is high enough, no egg is released. Under high concentrations of pill chemical, ovulation ticks away quicker. (?No it does not?)
|
|
|
+!! Otherwise, it checks to see if your ovulation hormone is high enough, and if it is it gives you an egg and drops a good chunk down on your ovulation hormone.
|
|
|
+!! If its still high, it drops another egg. Then it checks your ovulation hours. If its down to 0, it starts the Luteal phase. Otherwise, it adds an hour to the egg age and reduces the ovulation window by an hour.
|
|
|
+
|
|
|
+
|
|
|
+!! Trying new stuff, old loop
|
|
|
+!! if BClevel < rand(1,100) and EggRH > 325:
|
|
|
+!! UnfertEgg += 1
|
|
|
+!! EggRH -= (300 * UnfertEgg)
|
|
|
+!! jump 'OviLoop'
|
|
|
+!! end
|
|
|
+!! if EggRH > 9:
|
|
|
+!! Ovulate += rand(0,(EggRH / 10))
|
|
|
+!! end
|
|
|
+!! EggRH = 0
|
|
|
+ if Ovulate <= 0:
|
|
|
cycle = 3
|
|
|
UnfertEgg = 0
|
|
|
end
|
|
@@ -765,6 +807,7 @@ if $ARGS[0] = 'cyc3':
|
|
|
|
|
|
if Babyptype[implant_idx] = 0:
|
|
|
imp_rand = rand(0,120000)
|
|
|
+ if planBtaken > 0: imp_rand = imp_rand*4
|
|
|
|
|
|
if ferteggage < 120 and broodcurse <= 0:
|
|
|
imp_rand += 170
|
|
@@ -797,8 +840,6 @@ if $ARGS[0] = 'cyc3':
|
|
|
implant_hour = hour
|
|
|
|
|
|
end
|
|
|
- tempwbbonus = 0
|
|
|
-
|
|
|
end
|
|
|
|
|
|
end
|
|
@@ -831,6 +872,10 @@ if $ARGS[0] = 'cyc3':
|
|
|
rej_idx += 1
|
|
|
jump 'lutcycloop'
|
|
|
end
|
|
|
+ if tempwbbonus > 0:
|
|
|
+ tempwbbonus -= rand(200,500)
|
|
|
+ if tempwbbonus < 0: tempwbbonus = 0
|
|
|
+ end
|
|
|
LutH = 0
|
|
|
if preg = 1:
|
|
|
cycle = 5
|
|
@@ -846,9 +891,11 @@ if $ARGS[0] = 'cyc3':
|
|
|
killvar '$cumfthusedname'
|
|
|
killvar 'cumtime'
|
|
|
!! the setting of the max_time can be here although it can be changed in the future
|
|
|
- FocH_Max = rand(312,360) & !! 13-15 days including menstruation
|
|
|
- temprand = rand(0,10)
|
|
|
- if pillcon >= 38000 or rand(1,24) = 1:
|
|
|
+ FocH_Max = rand(130,230)+rand(130,230) & !! 11-18 days including menstruation, two rolls to favor average values over extremes
|
|
|
+ !! Faster cycles if on ovulation drugs
|
|
|
+ FocH_Max -= 6 * tempovbonus
|
|
|
+ temprand = rand(0,99)
|
|
|
+ if (pillcon >= 35000 and temprand < 5) or temprand = 0:
|
|
|
EggRH = 0
|
|
|
cycle = 1
|
|
|
mesec = 0
|
|
@@ -858,11 +905,11 @@ if $ARGS[0] = 'cyc3':
|
|
|
if cyccustom = 1: daylastperiod = daystart
|
|
|
firstmens = daystart
|
|
|
temprand = rand(0,10)
|
|
|
- if temprand = 0 and pillcon < 10000:
|
|
|
+ if temprand = 0 and pillcon < 15000:
|
|
|
mesec = rand(104,136) & !! 120
|
|
|
- elseif temprand < 9 and pillcon < 15000:
|
|
|
+ elseif temprand < 9 and pillcon < 25000:
|
|
|
mesec = rand(76,104) & !! 96
|
|
|
- elseif pillcon < 20000:
|
|
|
+ elseif pillcon < 35000:
|
|
|
mesec = rand(52,76) & !! 72
|
|
|
else
|
|
|
mesec = rand(44,52) & !! 48
|