begins porting 10243

compiles but doesn't work yet
This commit is contained in:
TotallyNotADog
2022-01-23 01:34:35 -06:00
parent 4bafa8bc1a
commit cb0898bbeb
16 changed files with 204 additions and 155 deletions
@@ -368,9 +368,11 @@
var/organCheck = FALSE
var/breastCheck = FALSE
var/willyCheck = FALSE
/* pharma trait deprecieated
if(!canbearoused)
ADD_TRAIT(src, TRAIT_PHARMA, "pharma")//Prefs prevent unwanted organs.
return
*/
for(var/obj/item/organ/O in internal_organs)
if(istype(O, /obj/item/organ/genital))
organCheck = TRUE
@@ -16,7 +16,7 @@
var/widescreenpref = TRUE
var/autostand = TRUE
var/auto_ooc = FALSE
var/lewdchem = TRUE
//var/lewdchem = TRUE replaced with new prefs
//vore prefs
var/toggleeatingnoise = TRUE
@@ -58,6 +58,6 @@ datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
character.give_genitals(TRUE)
character.ooc_text = features["ooc_text"] //Let's update their flavor_text at least initially
character.canbearoused = arousable
character.client?.prefs.lewdchem = lewdchem
//character.client?.prefs.lewdchem = lewdchem
if(icon_updates)
character.update_genitals()
@@ -167,6 +167,11 @@ Creating a chem with a low purity will make you permanently fall in love with so
/datum/reagent/fermi/enthrall/on_mob_add(mob/living/carbon/M)
. = ..()
/* TODO FIGURE OUT A WAY TO MAKE THIS SHIT WORK!!!
if(M.client?.prefs.cit_toggles & NEVER_HYPNO) // Just in case people are opting out of this
holder.remove_reagent(id, 10000000)
return
*/
if(!ishuman(M))//Just to make sure screwy stuff doesn't happen.
return
if(!creatorID)
@@ -180,7 +185,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
E.enthrallID = creatorID
E.enthrallGender = creatorGender
E.master = get_mob_by_key(creatorID)
to_chat(M, to_chat(M, "<span class='big love'><i>Your aldled, plastic, mind bends under the chemical influence of a new [(M.client?.prefs.lewdchem?"master":"leader")]. Your highest priority is now to stay by [creatorName]'s side, following and aiding them at all costs.</i></span>")) //THIS SHOULD ONLY EVER APPEAR IF YOU MINDBREAK YOURSELF AND THEN GET INJECTED FROM SOMEONE ELSE.
to_chat(M, "<span class='big love'><i>Your addled, plastic, mind bends under the chemical influence of a new [(E.lewd?"master":"leader")]. Your highest priority is now to stay by [creatorName]'s side, following and aiding them at all costs.</i></span>") //THIS SHOULD ONLY EVER APPEAR IF YOU MINDBREAK YOURSELF AND THEN GET INJECTED FROM SOMEONE ELSE.
log_game("FERMICHEM: Narcissist [M] ckey: [M.key] been rebound to [creatorName], ID: [creatorID]")
return
if((M.ckey == creatorID) && (creatorName == M.real_name)) //same name AND same player - same instance of the player. (should work for clones?)
@@ -191,7 +196,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
Vc.Remove(M)
nVc.Insert(M)
qdel(Vc)
to_chat(M, "<span class='notice'><i>You feel your vocal chords tingle you speak in a more charasmatic and sultry tone.)]</span>")
to_chat(M, "<span class='notice'><i>You feel your vocal chords tingle you speak in a more charasmatic and sultry tone.</i></span>")
else
log_game("FERMICHEM: MKUltra: [creatorName], [creatorID], is enthralling [M.name], [M.ckey]")
M.apply_status_effect(/datum/status_effect/chem/enthrall)
@@ -230,7 +235,6 @@ Creating a chem with a low purity will make you permanently fall in love with so
M.reagents.del_reagent(type)
FallInLove(C, M)
return
if (M.ckey == creatorID && creatorName == M.real_name)//If you yourself drink it, it supresses the vocal effects, for stealth. NEVERMIND ADD THIS LATER I CAN'T GET IT TO WORK
return
if(!M.client)
@@ -261,7 +265,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
E.master = creator
else
E = M.has_status_effect(/datum/status_effect/chem/enthrall)
if(M.client?.prefs.lewdchem)
if(E.lewd)
to_chat(M, "<span class='big love'><i>Your mind shatters under the volume of the mild altering chem inside of you, breaking all will and thought completely. Instead the only force driving you now is the instinctual desire to obey and follow [creatorName]. Your highest priority is now to stay by their side and protect them at all costs.</i></span>")
else
to_chat(M, "<span class='big warning'><i>The might volume of chemicals in your system overwhelms your mind, and you suddenly agree with what [creatorName] has been saying. Your highest priority is now to stay by their side and protect them at all costs.</i></span>")
@@ -287,6 +291,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
chemical_flags = REAGENT_DONOTSPLIT
can_synth = FALSE
var/mob/living/carbon/love
var/lewd = FALSE
/datum/reagent/fermi/enthrallExplo/on_mob_life(mob/living/carbon/M)//Love gas, only affects while it's in your system,Gives a positive moodlet if close, gives brain damagea and a negative moodlet if not close enough.
if(HAS_TRAIT(M, TRAIT_MINDSHIELD))
@@ -302,24 +307,25 @@ Creating a chem with a low purity will make you permanently fall in love with so
if(!love)
return
M.apply_status_effect(STATUS_EFFECT_INLOVE, love)
to_chat(M, "[(M.client?.prefs.lewdchem?"<span class='love'>":"<span class='warning'>")][(M.client?.prefs.lewdchem?"You develop a sudden crush on [love], your heart beginning to race as you look upon them with new eyes.":"You suddenly feel like making friends with [love].")] You feel strangely drawn towards them.</span>")
lewd = (M.client?.prefs.cit_toggles & HYPNO) && (love.client?.prefs.cit_toggles & HYPNO)
to_chat(M, "[(lewd?"<span class='love'>":"<span class='warning'>")][(lewd?"You develop a sudden crush on [love], your heart beginning to race as you look upon them with new eyes.":"You suddenly feel like making friends with [love].")] You feel strangely drawn towards them.</span>")
log_game("FERMICHEM: [M] ckey: [M.key] has temporarily bonded with [love] ckey: [love.key]")
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Times people have bonded")
else
if(get_dist(M, love) < 8)
if(HAS_TRAIT(M, TRAIT_NYMPHO)) //Add this back when merged/updated.
M.adjustArousalLoss(5)
var/message = "[(M.client?.prefs.lewdchem?"I'm next to my crush..! Eee!":"I'm making friends with [love]!")]"
var/message = "[(lewd?"I'm next to my crush..! Eee!":"I'm making friends with [love]!")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "InLove", /datum/mood_event/InLove, message)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "MissingLove")
else
var/message = "[(M.client?.prefs.lewdchem?"I can't keep my crush off my mind, I need to see them again!":"I really want to make friends with [love]!")]"
var/message = "[(lewd?"I can't keep my crush off my mind, I need to see them again!":"I really want to make friends with [love]!")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "MissingLove", /datum/mood_event/MissingLove, message)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "InLove")
if(prob(5))
M.Stun(10)
M.emote("whimper")//does this exist?
to_chat(M, "[(M.client?.prefs.lewdchem?"<span class='love'>":"<span class='warning'>")] You're overcome with a desire to see [love].</span>")
to_chat(M, "[(lewd?"<span class='love'>":"<span class='warning'>")] You're overcome with a desire to see [love].</span>")
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.5)//I found out why everyone was so damaged!
..()
@@ -329,7 +335,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
M.remove_status_effect(STATUS_EFFECT_INLOVE)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "InLove")
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "MissingLove")
to_chat(M, "[(M.client?.prefs.lewdchem?"<span class='love'>":"<span class='warning'>")]Your feelings for [love] suddenly vanish!")
to_chat(M, "[(lewd?"<span class='love'>":"<span class='warning'>")]Your feelings for [love] suddenly vanish!")
log_game("FERMICHEM: [M] ckey: [M.key] is no longer in temp bond")
..()
@@ -337,7 +343,8 @@ Creating a chem with a low purity will make you permanently fall in love with so
if(Lover.has_status_effect(STATUS_EFFECT_INLOVE))
to_chat(Lover, "<span class='warning'>You are already fully devoted to someone else!</span>")
return
to_chat(Lover, "[(Lover.client?.prefs.lewdchem?"<span class='love'>":"<span class='warning'>")]You develop a deep and sudden bond with [Love][(Lover.client?.prefs.lewdchem?", your heart beginning to race as your mind filles with thoughts about them.":".")] You are determined to keep them safe and happy, and feel drawn towards them.</span>")
var/lewd = (Lover.client?.prefs.cit_toggles & HYPNO) && (Love.client?.prefs.cit_toggles & HYPNO)
to_chat(Lover, "[(lewd?"<span class='love'>":"<span class='warning'>")]You develop a deep and sudden bond with [Love][(lewd?", your heart beginning to race as your mind filles with thoughts about them.":".")] You are determined to keep them safe and happy, and feel drawn towards them.</span>")
if(Lover.mind)
Lover.mind.store_memory("You are in love with [Love].")
Lover.faction |= "[REF(Love)]"
@@ -25,7 +25,7 @@
taste_description = "a milky ice cream like flavour."
overdose_threshold = 17
metabolization_rate = 0.25
impure_chem = /datum/reagent/fermi/BEsmaller //If you make an inpure chem, it stalls growth
impure_chem = /datum/reagent/fermi/BEsmaller //If you make an impure chem, it stalls growth
inverse_chem_val = 0.35
inverse_chem = /datum/reagent/fermi/BEsmaller //At really impure vols, it just becomes 100% inverse
can_synth = FALSE
@@ -49,7 +49,7 @@
B.throw_at(T2, 8, 1)
M.reagents.del_reagent(type)
return
log_game("FERMICHEM: [M] ckey: [M.key] has ingested Sucubus milk")
log_game("FERMICHEM: [M] ckey: [M.key] has ingested Succubus milk")
var/mob/living/carbon/human/H = M
H.genital_override = TRUE
var/obj/item/organ/genital/breasts/B = H.getorganslot("breasts")
@@ -69,8 +69,8 @@
var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts")
if(!B) //If they don't have breasts, give them breasts.
//If they have Acute hepatic pharmacokinesis, then route processing though liver.
if(HAS_TRAIT(M, TRAIT_PHARMA))
//If they've opted out, then route processing though liver.
if(!(H.client?.prefs.cit_toggles & BREAST_ENLARGEMENT))
var/obj/item/organ/liver/L = M.getorganslot("liver")
if(L)
L.swelling+= 0.05
@@ -101,9 +101,7 @@
..()
/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.
//Acute hepatic pharmacokinesis.
if(HAS_TRAIT(M, TRAIT_PHARMA))
if(!(M.client?.prefs.cit_toggles & FORCED_FEM))
var/obj/item/organ/liver/L = M.getorganslot("liver")
L.swelling+= 0.05
return ..()
@@ -142,15 +140,10 @@
/datum/reagent/fermi/BEsmaller/on_mob_life(mob/living/carbon/M)
var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts")
if(!B)
//Acute hepatic pharmacokinesis.
if(HAS_TRAIT(M, TRAIT_PHARMA))
var/obj/item/organ/liver/L = M.getorganslot("liver")
L.swelling-= 0.05
return ..()
//otherwise proceed as normal
return..()
if(!(M.client?.prefs.cit_toggles & BREAST_ENLARGEMENT) || !B)
var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER)
L.swelling-= 0.05
return ..()
B.cached_size = B.cached_size - 0.05
B.update()
..()
@@ -240,12 +233,12 @@
/datum/reagent/fermi/penis_enlarger/on_mob_life(mob/living/carbon/M) //Increases penis size, 5u = +1 inch.
if(!ishuman(M))
return
var/mob/living/carbon/human/H = M
var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") //Hyper Change, testicles come first so the dick isn't hidden behind the testicles layer
var/obj/item/organ/genital/penis/P = M.getorganslot("penis")
if(!T)//Hyper change// Adds testicles if there are none.
//If they have Acute hepatic pharmacokinesis, then route processing though liver.
if(HAS_TRAIT(M, TRAIT_PHARMA))
if(!(H.client?.prefs.cit_toggles & PENIS_ENLARGEMENT))
var/obj/item/organ/liver/L = M.getorganslot("liver")
if(L)
L.swelling+= 0.05
@@ -263,11 +256,8 @@
nT.cached_size = 1
nT.sack_size = BALLS_SACK_SIZE_DEF
T = nT
if(!P)//They do have a preponderance for escapism, or so I've heard.
//If they have Acute hepatic pharmacokinesis, then route processing though liver.
if(HAS_TRAIT(M, TRAIT_PHARMA))
if(!P)
if(!(H.client?.prefs.cit_toggles & PENIS_ENLARGEMENT))
var/obj/item/organ/liver/L = M.getorganslot("liver")
if(L)
L.swelling+= 0.05
@@ -295,8 +285,7 @@
..()
/datum/reagent/fermi/penis_enlarger/overdose_process(mob/living/carbon/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders.
//Acute hepatic pharmacokinesis.
if(HAS_TRAIT(M, TRAIT_PHARMA))
if(!(M.client?.prefs.cit_toggles & FORCED_MASC))
var/obj/item/organ/liver/L = M.getorganslot("liver")
L.swelling+= 0.05
return..()
@@ -334,14 +323,9 @@
/datum/reagent/fermi/PEsmaller/on_mob_life(mob/living/carbon/M)
var/mob/living/carbon/human/H = M
var/obj/item/organ/genital/penis/P = H.getorganslot("penis")
if(!P)
//Acute hepatic pharmacokinesis.
if(HAS_TRAIT(M, TRAIT_PHARMA))
var/obj/item/organ/liver/L = M.getorganslot("liver")
L.swelling-= 0.05
return..()
//otherwise proceed as normal
if(!(H.client?.prefs.cit_toggles & PENIS_ENLARGEMENT) || !P)
var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER)
L.swelling-= 0.05
return..()
P.cached_length = P.cached_length - 0.1
P.update()
@@ -426,4 +410,4 @@
if(B.size < 5) //just make sure you dont break sprites
B.size = B.size + 0.05
B.update()
..()
..()
@@ -141,7 +141,7 @@
color = "#FFADFF"//PINK, rgb(255, 173, 255)
/datum/reagent/drug/aphrodisiac/on_mob_life(mob/living/M)
if(M && M.canbearoused && !HAS_TRAIT(M, TRAIT_CROCRIN_IMMUNE))
if(M && M.canbearoused && !(M.client?.prefs.cit_toggles & NO_APHRO))
if(prob(33))
M.adjustArousalLoss(2)
if(prob(5))
@@ -162,7 +162,7 @@
overdose_threshold = 20
/datum/reagent/drug/aphrodisiacplus/on_mob_life(mob/living/M)
if(M && M.canbearoused && !HAS_TRAIT(M, TRAIT_CROCRIN_IMMUNE))
if(M && M.canbearoused && !(M.client?.prefs.cit_toggles & NO_APHRO))
if(prob(33))
M.adjustArousalLoss(6)//not quite six times as powerful, but still considerably more powerful.
if(prob(5))
@@ -194,7 +194,7 @@
..()
/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
if(M && M.canbearoused && !HAS_TRAIT(M, TRAIT_CROCRIN_IMMUNE) && prob(33))
if(M && M.canbearoused && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(33))
if(prob(5) && M.getArousalLoss() >= 100 && ishuman(M) && M.has_dna())
if(prob(5)) //Less spam
to_chat(M, "<span class='love'>Your libido is going haywire!</span>")