Merge remote-tracking branch 'origin/master' into rustsql

This commit is contained in:
Letter N
2021-01-20 15:40:41 +08:00
606 changed files with 9932 additions and 4818 deletions
@@ -32,82 +32,6 @@
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/status_effect/chem/breast_enlarger
id = "breast_enlarger"
alert_type = null
var/moveCalc = 1
var/cachedmoveCalc = 1
var/last_checked_size //used to prevent potential cpu waste from happening every tick.
/datum/status_effect/chem/breast_enlarger/on_apply()//Removes clothes, they're too small to contain you. You belong to space now.
log_reagent("FERMICHEM: [owner]'s breasts has reached comical sizes. ID: [owner.key]")
return ..()
/datum/status_effect/chem/breast_enlarger/tick()//If you try to wear clothes, you fail. Slows you down if you're comically huge
var/mob/living/carbon/human/H = owner
var/obj/item/organ/genital/breasts/B = H.getorganslot(ORGAN_SLOT_BREASTS)
if(!B)
H.remove_status_effect(src)
return
moveCalc = 1+((round(B.cached_size) - 9)/3) //Afffects how fast you move, and how often you can click.
if(last_checked_size != B.cached_size)
H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/breast_hypertrophy, multiplicative_slowdown = moveCalc)
if (B.size == "huge")
if(prob(1))
to_chat(owner, "<span class='notice'>Your back is feeling sore.</span>")
var/target = H.get_bodypart(BODY_ZONE_CHEST)
H.apply_damage(0.1, BRUTE, target)
else
if(prob(1))
to_chat(H, "<span class='notice'>Your back is feeling a little sore.</span>")
last_checked_size = B.cached_size
..()
/datum/status_effect/chem/breast_enlarger/on_remove()
log_reagent("FERMICHEM: [owner]'s breasts has reduced to an acceptable size. ID: [owner.key]")
to_chat(owner, "<span class='notice'>Your expansive chest has become a more managable size, liberating your movements.</b></span>")
owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/breast_hypertrophy)
return ..()
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/status_effect/chem/penis_enlarger
id = "penis_enlarger"
alert_type = null
var/bloodCalc
var/moveCalc
var/last_checked_size //used to prevent potential cpu waste, just like the above.
/datum/status_effect/chem/penis_enlarger/on_apply()//Removes clothes, they're too small to contain you. You belong to space now.
log_reagent("FERMICHEM: [owner]'s dick has reached comical sizes. ID: [owner.key]")
return ..()
/datum/status_effect/chem/penis_enlarger/tick()
var/mob/living/carbon/human/H = owner
var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS)
if(!P)
owner.remove_status_effect(src)
return
moveCalc = 1+((round(P.length) - 21)/3) //effects how fast you can move
bloodCalc = 1+((round(P.length) - 21)/15) //effects how much blood you need (I didn' bother adding an arousal check because I'm spending too much time on this organ already.)
if(P.length < 22 && H.has_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy))
to_chat(owner, "<span class='notice'>Your rascally willy has become a more managable size, liberating your movements.</b></span>")
H.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy)
else if(P.length >= 22 && !H.has_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy))
to_chat(H, "<span class='warning'>Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!</b></span>")
H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy, multiplicative_slowdown = moveCalc)
H.AdjustBloodVol(bloodCalc)
..()
/datum/status_effect/chem/penis_enlarger/on_remove()
log_reagent("FERMICHEM: [owner]'s dick has reduced to an acceptable size. ID: [owner.key]")
owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy)
owner.ResetBloodVol()
return ..()
///////////////////////////////////////////////
// Astral INSURANCE
///////////////////////////////////////////////
@@ -0,0 +1,30 @@
/datum/gear/unlockable
category = LOADOUT_CATEGORY_UNLOCKABLE
slot = SLOT_NECK
var/progress_required //what does our progress need to be to unlock it
var/progress_key //what is the key used to retrieve existing progress for this unlockable
/datum/gear/unlockable/janitor
name = "Janitor Bedsheet"
description = "Clean 100 messes with a mop to unlock this. It has a warning sign on!"
path = /obj/item/bedsheet/unlockable/janitor
progress_required = 100
progress_key = "janitor"
/datum/gear/unlockable/cook
name = "Cook Bedsheet"
description = "Cook 250 items using the microwave to unlock this. It has a microwave on!"
path = /obj/item/bedsheet/unlockable/cook
progress_required = 250
progress_key = "cook"
/datum/gear/unlockable/miner
name = "Miner Bedsheet"
description = "Redeem a total of 100,000 miner points to unlock this. It's made out of goliath hide!"
path = /obj/item/bedsheet/unlockable/miner
progress_required = 100000
progress_key = "miner"
@@ -30,7 +30,6 @@
inverse_chem = /datum/reagent/fermi/BEsmaller //At really impure vols, it just becomes 100% inverse
can_synth = FALSE
value = REAGENT_VALUE_VERY_RARE
var/message_spam = FALSE
/datum/reagent/fermi/breast_enlarger/on_mob_metabolize(mob/living/M)
. = ..()
@@ -81,16 +80,7 @@
H.reagents.remove_reagent(type, 5)
B.Insert(H)
//If they have them, increase size. If size is comically big, limit movement and rip clothes.
B.modify_size(0.05)
if (ISINRANGE_EX(B.cached_size, 8.5, 9) && (H.w_uniform || H.wear_suit))
var/target = H.get_bodypart(BODY_ZONE_CHEST)
if(!message_spam)
to_chat(H, "<span class='danger'>Your breasts begin to strain against your clothes tightly!</b></span>")
message_spam = TRUE
H.adjustOxyLoss(5, 0)
H.apply_damage(1, BRUTE, target)
return ..()
/datum/reagent/fermi/breast_enlarger/overdose_process(mob/living/carbon/M) //Turns you into a female if male and ODing, doesn't touch nonbinary and object genders.
@@ -189,7 +179,6 @@
inverse_chem = /datum/reagent/fermi/PEsmaller //At really impure vols, it just becomes 100% inverse and shrinks instead.
can_synth = FALSE
value = REAGENT_VALUE_VERY_RARE
var/message_spam = FALSE
/datum/reagent/fermi/penis_enlarger/on_mob_metabolize(mob/living/M)
. = ..()
@@ -232,13 +221,6 @@
P.Insert(H)
P.modify_size(0.1)
if (ISINRANGE_EX(P.length, 20.5, 21) && (H.w_uniform || H.wear_suit))
var/target = H.get_bodypart(BODY_ZONE_CHEST)
if(!message_spam)
to_chat(H, "<span class='danger'>Your cock begin to strain against your clothes tightly!</b></span>")
message_spam = TRUE
H.apply_damage(2.5, BRUTE, target)
return ..()
/datum/reagent/fermi/penis_enlarger/overdose_process(mob/living/carbon/human/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders.
@@ -593,7 +593,6 @@
id = /datum/reagent/fermi/zeolites
results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of gold to catalyze the reaction
required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1)
required_catalysts = list(/datum/reagent/gold = 5)
//FermiChem vars:
OptimalTempMin = 500
OptimalTempMax = 750
@@ -604,7 +603,7 @@
//CatalystFact = 0
CurveSharpT = 1.5
CurveSharppH = 3
ThermicConstant = 5
ThermicConstant = 1
HIonRelease = -0.15
RateUpLim = 4
PurityMin = 0.5 //Good luck!