Before say component remove.
This commit is contained in:
@@ -273,7 +273,7 @@
|
||||
chemholder = null
|
||||
return ..()
|
||||
|
||||
/datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, radius = 1, loca, silent = FALSE)
|
||||
/datum/effect_system/smoke_spread/chem/set_up(datum/reagents/carry = null, radius = 1, loca, silent = FALSE, skip_finger = FALSE)
|
||||
if(isturf(loca))
|
||||
location = loca
|
||||
else
|
||||
|
||||
@@ -298,7 +298,7 @@
|
||||
phase = -1
|
||||
to_chat(owner, "<span class='warning'><i>You break free of the influence in your mind, your thoughts suddenly turning lucid!</i></span>")
|
||||
if(DistApart < 10)
|
||||
to_chat(master, "<span class='warning'>[(H.lewd?"Your pet":"Your thrall")] seems to have broken free of your enthrallment!</i></span>")
|
||||
to_chat(master, "<span class='warning'>[(master.lewd?"Your pet":"Your thrall")] seems to have broken free of your enthrallment!</i></span>")
|
||||
owner.remove_status_effect(src) //If resisted in phase 1, effect is removed.
|
||||
if(prob(10))
|
||||
if(owner.lewd)
|
||||
|
||||
@@ -295,14 +295,18 @@
|
||||
|
||||
//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)
|
||||
dna.features["has_cock"] = TRUE
|
||||
if(!dna.features["has_cock"])
|
||||
dna.features["has_cock"] = TRUE
|
||||
if(/obj/item/organ/genital/breasts)
|
||||
dna.features["has_breasts"] = TRUE//Goddamnit get in there.
|
||||
if(!dna.features["has_breasts"])
|
||||
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
|
||||
|
||||
@@ -759,12 +759,11 @@ Buginess level: works as intended - except teleport makes sparks for some reason
|
||||
taste_description = "velvety brambles"
|
||||
metabolization_rate = 0//Removal is exponential, see code
|
||||
overdose_threshold = 20
|
||||
addiction_threshold = 25
|
||||
addiction_threshold = 24.5
|
||||
addiction_stage1_end = 9999//Should never end. There is no escape make your time
|
||||
var/mob/living/carbon/origin
|
||||
var/mob/living/simple_animal/hostile/retaliate/ghost/G = null
|
||||
var/antiGenetics = 255
|
||||
var/resetAddiction = FALSE //to get around this weird problem I'm having.
|
||||
var/sleepytime = 0
|
||||
InverseChemVal = 0.25
|
||||
|
||||
@@ -807,10 +806,9 @@ 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(resetAddiction == TRUE)
|
||||
if(addiction_stage < 0)
|
||||
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.
|
||||
resetAddiction = FALSE
|
||||
if(prob(65))
|
||||
M.alpha--
|
||||
antiGenetics--
|
||||
@@ -1048,6 +1046,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
qdel(Vc)
|
||||
to_chat(M, "<span class='notice'><i>You feel your vocal chords tingle as your voice comes out in a more sultry tone.</span>")
|
||||
else
|
||||
message_admins("MKUltra: [creatorName], [creatorID], is enthralling [M.name], [M.ckey]")
|
||||
M.apply_status_effect(/datum/status_effect/chem/enthrall)
|
||||
|
||||
/datum/reagent/fermi/enthrall/on_mob_life(mob/living/carbon/M)
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
return
|
||||
|
||||
//Called when temperature is above a certain threshold
|
||||
//....Is this too much?
|
||||
/datum/chemical_reaction/fermi/proc/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH, Exploding = FALSE) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
|
||||
if (Exploding == TRUE)
|
||||
return
|
||||
@@ -40,7 +39,7 @@
|
||||
message_admins("Fermi explosion at [T], with a temperature of [temp], pH of [pH], Impurity tot of [ImpureTot].")
|
||||
var/datum/reagents/R = new/datum/reagents(3000)//Hey, just in case.
|
||||
var/datum/effect_system/smoke_spread/chem/s = new()
|
||||
//Endless loop hell?
|
||||
|
||||
for (var/datum/reagent/reagent in my_atom.reagents.reagent_list) //make gas for reagents
|
||||
if (istype(reagent, /datum/reagent/fermi))
|
||||
R.add_reagent(reagent.id, reagent.volume)
|
||||
@@ -93,12 +92,11 @@
|
||||
FermiChem = TRUE//If the chemical uses the Fermichem reaction mechanics
|
||||
FermiExplode = FALSE //If the chemical explodes in a special way
|
||||
|
||||
//I can never get this to work, please pitch in if you can figure it out. Runtime: Cannot modify null.location_created.
|
||||
/datum/chemical_reaction/fermi/eigenstate/FermiFinish(datum/reagents/holder, var/atom/my_atom)//Strange how this doesn't work but the other does.
|
||||
var/turf/open/location = get_turf(my_atom)
|
||||
var/datum/reagent/fermi/eigenstate/E = locate(/datum/reagent/fermi/eigenstate) in my_atom.reagents.reagent_list
|
||||
E.location_created = location
|
||||
//add on_new() handling of vars
|
||||
|
||||
|
||||
//serum
|
||||
/datum/chemical_reaction/fermi/SDGF //DONE
|
||||
@@ -126,10 +124,10 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma!! Spooky..! be careful!! TODO: Add teratoma slime subspecies
|
||||
var/turf/T = get_turf(my_atom)
|
||||
var/mob/living/simple_animal/slime/S = new(T,"grey")//should work, in theory
|
||||
S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)//I dunno how slimes work cause fire is burny
|
||||
var/mob/living/simple_animal/slime/S = new(T,"grey")
|
||||
S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
|
||||
S.name = "Living teratoma"
|
||||
S.real_name = "Living teratoma"//horrifying!!
|
||||
S.real_name = "Living teratoma"
|
||||
S.rabid = 1//Make them an angery boi, grr grr
|
||||
S.color = "#810010"
|
||||
my_atom.reagents.clear_reagents()
|
||||
@@ -137,7 +135,7 @@
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The cells clump up into a horrifying tumour!</span>")
|
||||
|
||||
/datum/chemical_reaction/fermi/BElarger //done
|
||||
/datum/chemical_reaction/fermi/BElarger
|
||||
name = "Sucubus milk"
|
||||
id = "BElarger"
|
||||
results = list("BElarger" = 0.6)
|
||||
@@ -169,12 +167,12 @@
|
||||
B.size = ((BE.volume * BE.purity) / 10) //half as effective.
|
||||
my_atom.reagents.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/fermi/PElarger //done
|
||||
/datum/chemical_reaction/fermi/PElarger
|
||||
name = "Incubus draft"
|
||||
id = "PElarger"
|
||||
results = list("PElarger" = 0.3)
|
||||
required_reagents = list("blood" = 0.5, "synthflesh" = 0.2, "carbon" = 0.2, "aphro" = 0.2, "salglu_solution" = 0.1,)
|
||||
mix_message = ""
|
||||
mix_message = "the reaction gives off a spicy mist."
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 200
|
||||
OptimalTempMax = 800
|
||||
@@ -200,9 +198,8 @@
|
||||
var/datum/reagent/fermi/PElarger/PE = locate(/datum/reagent/fermi/PElarger) in my_atom.reagents.reagent_list
|
||||
P.length = ((PE.volume * PE.purity) / 10)//half as effective.
|
||||
my_atom.reagents.clear_reagents()
|
||||
//..()
|
||||
|
||||
/datum/chemical_reaction/fermi/astral //done //BORKEN
|
||||
/datum/chemical_reaction/fermi/astral
|
||||
name = "Astrogen"
|
||||
id = "astral"
|
||||
results = list("astral" = 0.5)
|
||||
@@ -222,10 +219,10 @@
|
||||
RateUpLim = 15
|
||||
FermiChem = TRUE
|
||||
FermiExplode = TRUE
|
||||
PurityMin = 0.25 // explode purity!
|
||||
PurityMin = 0.25
|
||||
|
||||
|
||||
/datum/chemical_reaction/fermi/enthrall//done
|
||||
/datum/chemical_reaction/fermi/enthrall/
|
||||
name = "MKUltra"
|
||||
id = "enthrall"
|
||||
results = list("enthrall" = 0.5)
|
||||
@@ -271,7 +268,6 @@
|
||||
E.creatorName = B.data.["real_name"]
|
||||
E.data.["creatorID"] = B.data.["ckey"]
|
||||
E.creatorID = B.data.["ckey"]
|
||||
message_admins("MKUltra made name: [E.creatorName], ID: [E.creatorID], gender: [E.creatorGender]")
|
||||
|
||||
/datum/chemical_reaction/fermi/enthrall/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)
|
||||
var/turf/T = get_turf(my_atom)
|
||||
@@ -313,12 +309,12 @@
|
||||
to_chat(M, "<span class='warning'>The makes an off sounding pop, as a hat suddenly climbs out of the beaker!</b></span>")
|
||||
my_atom.reagents.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/fermi/furranium //low temp and medium pH - done
|
||||
/datum/chemical_reaction/fermi/furranium
|
||||
name = "Furranium"
|
||||
id = "furranium"
|
||||
results = list("furranium" = 0.5)
|
||||
required_reagents = list("aphro" = 0.1, "moonsugar" = 0.1, "silver" = 0.2, "salglu_solution" = 0.1)
|
||||
//mix_message = ""
|
||||
mix_message = "You think you can hear a howl come from the beaker."
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350
|
||||
OptimalTempMax = 600
|
||||
|
||||
@@ -9,11 +9,6 @@
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
//item_flags = NODROP //Tips their hat!
|
||||
|
||||
/*
|
||||
/obj/item/clothing/head/hattip/equipped(mob/living/carbon/human/user, slot)
|
||||
C = user //grumble grumble loc
|
||||
*/
|
||||
|
||||
/obj/item/clothing/head/hattip/attack_hand(mob/user)
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
@@ -27,7 +22,6 @@
|
||||
/obj/item/clothing/head/hattip/speechModification(message, /mob/living/carbon/C)
|
||||
..()
|
||||
var/mob/living/carbon/C = get_wearer()//user
|
||||
//if(istype(C, /mob/living/carbon/C))
|
||||
var/obj/item/organ/tongue/T = C.getorganslot(ORGAN_SLOT_TONGUE)
|
||||
if (T.name == "fluffy tongue")
|
||||
if(prob(0.01))
|
||||
|
||||
Reference in New Issue
Block a user