Why did I fiddle with things I shouldn't have.

This commit is contained in:
Fermi
2019-05-29 03:16:11 +01:00
parent 91cfd8e052
commit 01a38479fa
4 changed files with 18 additions and 62 deletions
-4
View File
@@ -137,10 +137,6 @@
#define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living)
#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage)
#define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: ()
//#define COMSIG_LIVING_SAY "say" //mob/living/say() - return COMSIG_I_FORGET_WHAT_TO_CALL_IT to interrupt before message sent.
// #define COMPONENT_NO_SAY 1 // Here I am pretending to know what I'm doing.
//#define
// /mob/living/carbon signals
#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity))
@@ -3,13 +3,6 @@
var/mob/living/fermi_Clone
alert_type = null
/*
/obj/screen/alert/status_effect/SDGF
name = "SDGF"
desc = "You've cloned yourself! How cute."
icon_state = "SDGF"
*/
/datum/status_effect/chem/SGDF/on_apply()
message_admins("SGDF status appied")
var/typepath = owner.type
@@ -17,10 +10,6 @@
var/mob/living/carbon/M = owner
var/mob/living/carbon/C = fermi_Clone
//fermi_Clone = new typepath(get_turf(M))
//var/mob/living/carbon/C = fermi_Clone
//var/mob/living/carbon/SM = fermi_Gclone
if(istype(C) && istype(M))
C.real_name = M.real_name
M.dna.transfer_identity(C, transfer_SE=1)
@@ -28,9 +17,7 @@
return ..()
/datum/status_effect/chem/SGDF/tick()
//message_admins("SDGF ticking")
if(owner.stat == DEAD)
//message_admins("SGDF status swapping")
if((fermi_Clone && fermi_Clone.stat != DEAD) || (fermi_Clone == null))
if(owner.mind)
owner.mind.transfer_to(fermi_Clone)
@@ -38,20 +25,16 @@
to_chat(fermi_Clone, "<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
fermi_Clone = null
owner.remove_status_effect(src)
// to_chat(owner, "<span class='notice'>[linked_extract] desperately tries to move your soul to a living body, but can't find one!</span>")
..()
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/status_effect/chem/BElarger
id = "BElarger"
alert_type = null
var/moveCalc = 1
var/cachedmoveCalc = 1
//var/breast_values = list ("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0)
//var/list/items = list()
//var/items = o.get_contents()
//mob/living/carbon/M = M tried, no dice
//owner, tried, no dice
/datum/status_effect/chem/BElarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
var/mob/living/carbon/human/o = owner
var/items = o.get_contents()
@@ -118,6 +101,7 @@
owner.next_move_modifier *= value
cachedmoveCalc = value
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/status_effect/chem/PElarger
id = "PElarger"
@@ -179,7 +163,7 @@
//Preamble
/mob/living
var/lewd = TRUE //Maybe false?
var/lewd = TRUE
/mob/living/verb/toggle_lewd()
set category = "IC"
@@ -206,41 +190,33 @@
var/mental_capacity //Higher it is, lower the cooldown on commands, capacity reduces with resistance.
var/datum/weakref/redirect_component //resistance
//var/datum/weakref/redirect_component2 //say
//var/datum/weakref/redirect_component3 //hear
var/distancelist = list(2,1.5,1,0.8,0.6,0.5,0.4,0.3,0.2) //Distance multipliers
var/withdrawal = FALSE //withdrawl
var/withdrawalTick = 0 //counts how long withdrawl is going on for
var/list/customTriggers = list() //the list of custom triggers (maybe have to split into two)
var/list/customTriggers = list() //the list of custom triggers
var/cooldown = 0
var/cooldownMsg = TRUE
var/cTriggered = FALSE
var/resistGrowth = 0
var/DistApart = 1
var/tranceTime = 0
var/cooldown = 0 //cooldown on commands
var/cooldownMsg = TRUE //If cooldown message has been sent
var/cTriggered = FALSE //If someone is triggered (so they can't trigger themselves with what they say for infinite loops)
var/resistGrowth = 0 //Resistance accrues over time
var/DistApart = 1 //Distance between master and owner
var/tranceTime = 0 //how long trance effects apply on trance status
/datum/status_effect/chem/enthrall/on_apply()
var/mob/living/carbon/M = owner
var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in M.reagents.reagent_list
if(!E)
message_admins("WARNING: FermiChem: No chem found in thrall, did you bus in the chem? Someone set up the reaction incorrectly if not. Console them with a fermiplush please.")
message_admins("WARNING: FermiChem: No master found in thrall, did you bus in the chem? You need to set up the vars manually if it's not reacted. Someone set up the reaction incorrectly if not. Console them with a fermiplush please.")
enthrallID = E.creatorID
enthrallGender = E.creatorGender
master = get_mob_by_key(enthrallID)
if(!master)
message_admins("WARNING: FermiChem: No master found in thrall, did you bus in the chem? Someone set up the reaction incorrectly if not. Console them with a fermiplush please.")
if(M.ckey == enthrallID)
owner.remove_status_effect(src)//This shouldn't happen, but just in case
redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/owner_resist)))) //Do resistance calc if resist is pressed#
//redirect_component2 = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_SAY = CALLBACK(src, .proc/owner_say)))) //Do resistance calc if resist is pressed
//redirect_component3 = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_HEAR = CALLBACK(src, .proc/owner_hear)))) //Do resistance calc if resist is pressed
//RegisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL, .proc/owner_say) //to add, maybe.
RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/owner_hear)
//Might need to add redirect component for listening too.
var/obj/item/organ/brain/B = M.getorganslot(ORGAN_SLOT_BRAIN) //It's their brain!
mental_capacity = 500 - B.get_brain_damage()
var/message = "[(owner.lewd?"I am a good pet for [enthrallGender].":"[master] is a really inspirational person!")]"
@@ -249,7 +225,6 @@
return ..()
/datum/status_effect/chem/enthrall/tick()
//. = ..() //loop Please
var/mob/living/carbon/M = owner
//chem calculations
@@ -535,13 +510,7 @@
to_chat(owner, "<span class='big redtext'><i>You're now free of [master]'s influence, and fully independant oncemore!'</i></span>")
//UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL) //Should still make custom commands work after freedom, need to check.
/*
/datum/status_effect/chem/enthrall/mob/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
if(master in message || master in message)
return
else
. = ..()
*/
//WORKS!! AAAAA
/datum/status_effect/chem/enthrall/proc/owner_hear(var/hearer, message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
@@ -610,14 +579,10 @@
o.apply_status_effect(/datum/status_effect/trance, 200, TRUE)
tranceTime = 50
//add more fun stuff!
cTriggered = FALSE
return
/*
/datum/status_effect/chem/enthrall/proc/owner_withdrawal(mob/living/carbon/M)
//3 stages, each getting worse
*/
/datum/status_effect/chem/enthrall/proc/owner_resist()
var/mob/living/carbon/M = owner
to_chat(owner, "<span class='notice'><i>You attempt to fight against against [(owner.lewd?"[enthrallGender]":"[master]")]'s influence!'</i></span>")
@@ -295,18 +295,14 @@
//Checks to see if organs are new on the mob, and changes their colours so that they don't get crazy colours.
/mob/living/carbon/human/proc/emergent_genital_call()
if((dna.features["has_breasts"]) && (dna.features["has_breasts"]))
return
var/organCheck = FALSE
for(var/obj/item/organ/O in internal_organs)
if(istype(O, /obj/item/organ/genital))
organCheck = TRUE
if(/obj/item/organ/genital/penis)
if(!dna.features["has_cock"])
dna.features["has_cock"] = TRUE
dna.features["has_cock"] = TRUE
if(/obj/item/organ/genital/breasts)
if(!dna.features["has_breasts"])
dna.features["has_breasts"] = TRUE//Goddamnit get in there.
dna.features["has_breasts"] = TRUE//Goddamnit get in there.
if (organCheck == FALSE)
if(ishuman(src) && dna.species.id == "human")
dna.features["genitals_use_skintone"] = TRUE
@@ -666,6 +666,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
H.genital_override = TRUE
var/obj/item/organ/genital/penis/P = M.getorganslot("penis")
if(!P)
H.emergent_genital_call()
return
P.prev_size = P.length
P.cached_length = P.length
@@ -678,7 +679,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
if(!P)//They do have a preponderance for escapism, or so I've heard.
var/obj/item/organ/genital/penis/nP = new
nP.Insert(M)
H.emergent_genital_call()
if(nP)
nP.length = 1
to_chat(M, "<span class='warning'>Your groin feels warm, as you feel a newly forming bulge down below.</b></span>")
@@ -768,7 +768,6 @@ Buginess level: works as intended - except teleport makes sparks for some reason
InverseChemVal = 0.25
/datum/reagent/fermi/astral/on_mob_life(mob/living/M) // Gives you the ability to astral project for a moment!
resetAddiction = TRUE
switch(current_cycle)
if(0)//Require a minimum
origin = M
@@ -806,7 +805,7 @@ Buginess level: works as intended - except teleport makes sparks for some reason
//Okay so, this might seem a bit too good, but my counterargument is that it'll likely take all round to eventually kill you this way, then you have to be revived without a body. It takes approximately 60-80 minutes to die from this.
/datum/reagent/fermi/astral/addiction_act_stage1(mob/living/carbon/M)
if(addiction_stage < 0)
if(addiction_stage < 2)
antiGenetics = 255//Doesn't reset when you take more, which is weird for me, it should.
M.alpha = 255 //Antigenetics is to do with stopping geneticists from turning people invisible to kill them.
if(prob(65))