CHECK PLASMA THOUGH!
This commit is contained in:
@@ -49,12 +49,6 @@
|
||||
/mob/living/carbon/handle_breathing(times_fired)
|
||||
if((times_fired % 4) == 2 || failed_last_breath)
|
||||
breathe() //Breathe per 4 ticks, unless suffocating
|
||||
/* Hey maintainer reading this right now, should we handle suffocation this way?
|
||||
if(failed_last_breath)
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "suffocation", /datum/mood_event/suffocation)
|
||||
else
|
||||
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "suffocation")
|
||||
*/
|
||||
else
|
||||
if(istype(loc, /obj/))
|
||||
var/obj/location_as_object = loc
|
||||
|
||||
@@ -323,7 +323,7 @@
|
||||
id = "secretcatchem"
|
||||
results = list("secretcatchem" = 0.5)
|
||||
required_reagents = list("stable_plasma" = 0.1, "sugar" = 0.1, "cream" = 0.1, "blood" = 0.1, "slimejelly" = 0.1)
|
||||
//required_catalysts = list("water" = 5)
|
||||
required_catalysts = list("felinidmutationtoxin" = 1)
|
||||
required_temp = 600
|
||||
mix_message = "the reaction gives off a meow!"
|
||||
mix_sound = "modular_citadel/sound/voice/merowr.ogg"
|
||||
@@ -359,11 +359,10 @@
|
||||
HIonRelease += (rand(-25, 25)/100)
|
||||
RateUpLim += (rand(1, 1000)/100)
|
||||
PurityMin += (rand(-1, 1)/10)
|
||||
var/additions = list("aluminum", "silver", "gold", "plasma", "silicon", "bluespace")
|
||||
var/additions = list("aluminum", "silver", "gold", "plasma", "silicon", "bluespace", "uranium", "milk")
|
||||
//var/chosenA = pick(additions)
|
||||
var/cataly = list ("felinidmutationtoxin", "uranium", "bluespace", "milk")
|
||||
required_reagents[pick(additions)] = rand(1, 5)//weird
|
||||
required_catalysts = list("[pick(cataly)]" = 1)
|
||||
//required_catalysts = list("[pick(cataly)]" = 1)
|
||||
|
||||
/datum/chemical_reaction/fermi/secretcatchem/FermiFinish(datum/reagents/holder, var/atom/my_atom)//Strange how this doesn't work but the other does.
|
||||
message_admins("Someone found the hidden reaction. Amazing!! Please tell Fermis!!")
|
||||
@@ -391,7 +390,7 @@
|
||||
if((mutation != current_species) && (purity >= 0.8))//ONLY if purity is high, and given the stuff is random. It's basically impossible to get this to 1. It already requires felind too, so no new functionality there.
|
||||
H.set_species(mutation)
|
||||
H.gender = FEMALE
|
||||
//exception(al) handler, I said cat tail damnit!
|
||||
//exception(al) handler:
|
||||
H.dna.features["mam_tail"] = "Cat"
|
||||
H.dna.features["tail_human"] = "Cat"
|
||||
H.dna.features["ears"] = "Cat"
|
||||
@@ -409,7 +408,6 @@
|
||||
catto.name = H.name
|
||||
catto.desc = "A cute catto! They remind you of [H] somehow."
|
||||
catto.color = "#[H.dna.features["mcolor"]]"
|
||||
//H.moveToNullspace() classic breaking Japes
|
||||
H.forceMove(locate(10,6,1))//To the zelda room.
|
||||
|
||||
/datum/reagent/fermi/secretcatchem/on_mob_life(mob/living/carbon/H)
|
||||
|
||||
@@ -319,10 +319,3 @@
|
||||
beaker.reagents.remove_reagent("sugar", amount)
|
||||
beaker.reagents.remove_reagent("moonshine", amount)
|
||||
beaker.reagents.add_reagent("moonsugar", amount*2)
|
||||
/*Add later
|
||||
if(beaker.reagents.has_reagent("synthflesh") &&
|
||||
var/amount = min(beaker.reagents.get_reagent_amount("synthflesh"), beaker.reagents.get_reagent_amount("whiskey"))
|
||||
beaker.reagents.remove_reagent("sugar", amount)
|
||||
beaker.reagents.remove_reagent("moonshine", amount)
|
||||
beaker.reagents.add_reagent("meat", amount*2)
|
||||
*/
|
||||
|
||||
@@ -131,8 +131,3 @@
|
||||
rs += "[R.name], [R.volume]"
|
||||
|
||||
return rs.Join(" | ")
|
||||
/* MOVED TO CHEMICAL REACTION
|
||||
//Handler for explosion reaction
|
||||
/datum/reagents/proc/FermiExplode(turf/T, obj/O, mob/living/M, volume)
|
||||
return
|
||||
*/
|
||||
|
||||
@@ -292,9 +292,15 @@
|
||||
dna.features["genitals_use_skintone"] = TRUE
|
||||
dna.species.use_skintones = TRUE
|
||||
return
|
||||
if(MUTCOLORS)
|
||||
if(fixed_mut_color)
|
||||
genital_overlay.color = "#[fixed_mut_color]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor"]]"
|
||||
return
|
||||
//So people who haven't set stuff up don't get rainbow surprises.
|
||||
//dna.features["cock_color"] = "#[dna.features["mcolor"]]"
|
||||
//dna.features["breasts_color"] = "#[dna.features["mcolor"]]"
|
||||
dna.features["cock_color"] = "#[dna.features["mcolor"]]"
|
||||
dna.features["breasts_color"] = "#[dna.features["mcolor"]]"
|
||||
return
|
||||
|
||||
/datum/species/proc/handle_genitals(mob/living/carbon/human/H)//more like handle sadness
|
||||
@@ -335,7 +341,7 @@
|
||||
S = GLOB.vagina_shapes_list[G.shape]
|
||||
if(/obj/item/organ/genital/breasts)
|
||||
S = GLOB.breasts_shapes_list[G.shape]
|
||||
aroused_state = 0//Breasts don't have aroused_states, there's literally no difference in the spite.
|
||||
var/temp_aroused_state = 0//Breasts don't have aroused_states, there's literally no difference in the spite. When someone touched up/edits the code for their implementation, remove this and change temp_aroused_state to aroused_state
|
||||
//if(size == "huge")
|
||||
|
||||
|
||||
@@ -344,14 +350,14 @@
|
||||
if(!S || S.icon_state == "none")
|
||||
continue
|
||||
var/mutable_appearance/genital_overlay = mutable_appearance(S.icon, layer = -layer)
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[temp_aroused_state]_[layertext]"
|
||||
|
||||
if(S.center)
|
||||
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
|
||||
|
||||
if(use_skintones && H.dna.features["genitals_use_skintone"])
|
||||
genital_overlay.color = "#[skintone2hex(H.skin_tone)]"
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]-s_[aroused_state]_[layertext]"
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]-s_[temp_aroused_state]_[layertext]"
|
||||
else
|
||||
switch(S.color_src)
|
||||
if("cock_color")
|
||||
@@ -383,75 +389,3 @@
|
||||
|
||||
for(var/L in relevant_layers)
|
||||
H.apply_overlay(L)
|
||||
|
||||
/* Behold the maddness I went through. This is here until the genetial problem is confirmed fixed.
|
||||
/datum/species/proc/handle_breasts(mob/living/carbon/human/H)
|
||||
//check for breasts first!
|
||||
|
||||
var/obj/item/organ/genital/breasts/B = H.getorganslot("breasts")
|
||||
if(!B)
|
||||
return
|
||||
message_admins("attempting to update sprite in a hacky way")
|
||||
//obj/item/organ/genital/breasts/update_icon(/obj/item/organ/genital) //Where did this come from?
|
||||
//Variables:
|
||||
var/size = B.size
|
||||
var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_ADJ_LAYER, GENITALS_FRONT_LAYER)
|
||||
var/datum/sprite_accessory/S = GLOB.breasts_shapes_list[B.shape]
|
||||
var/list/standing = list()
|
||||
|
||||
|
||||
//if(!S || S.icon_state == "none")
|
||||
//return
|
||||
|
||||
for(var/layer in relevant_layers)
|
||||
var/layertext = genitals_layertext(layer)
|
||||
S = GLOB.breasts_shapes_list[B.shape]
|
||||
|
||||
message_admins("Attempting sprite calc: Bslot:[B.slot], B.shape:[B.shape], size:[size], Arouse:[B.aroused_state], layertxt:[layertext]")
|
||||
|
||||
var/mutable_appearance/genital_overlay = mutable_appearance(S.icon, layer = -layer)
|
||||
|
||||
//If breasts are hueg (larger than 5 only have one sprite atm)
|
||||
if (B.breast_values[size] > 5)
|
||||
genital_overlay.icon_state = "[B.slot]_[B.shape]_[size]_0_[layertext]"//I haven't done around sizes above 5, I dunno how..!
|
||||
else
|
||||
genital_overlay.icon_state = "[B.slot]_[S.icon_state]_[size]_[B.aroused_state]_[layertext]"
|
||||
|
||||
//center icon
|
||||
if(S.center)
|
||||
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
|
||||
|
||||
//Check skin colour
|
||||
if(use_skintones && H.dna.features["genitals_use_skintone"])
|
||||
genital_overlay.color = "#[skintone2hex(H.skin_tone)]"
|
||||
else
|
||||
switch(S.color_src)
|
||||
if("vag_color")
|
||||
genital_overlay.color = "#[H.dna.features["vag_color"]]"
|
||||
if(MUTCOLORS)
|
||||
if(fixed_mut_color)
|
||||
genital_overlay.color = "#[fixed_mut_color]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor"]]"
|
||||
if(MUTCOLORS2)
|
||||
if(fixed_mut_color2)
|
||||
genital_overlay.color = "#[fixed_mut_color2]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor2"]]"
|
||||
if(MUTCOLORS3)
|
||||
if(fixed_mut_color3)
|
||||
genital_overlay.color = "#[fixed_mut_color3]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor3"]]"
|
||||
|
||||
standing += genital_overlay
|
||||
//Standing..?
|
||||
if(LAZYLEN(standing))
|
||||
H.overlays_standing[layer] = standing.Copy()
|
||||
standing = list()
|
||||
|
||||
for(var/L in relevant_layers)
|
||||
H.apply_overlay(L)
|
||||
H.update_icons()
|
||||
///obj/item/organ/genital/breasts/update_icon(/obj/item/organ/genital) //Where did this come from?
|
||||
*/
|
||||
|
||||
@@ -48,12 +48,12 @@
|
||||
size = 3
|
||||
if(owner.has_status_effect(/datum/status_effect/chem/PElarger))
|
||||
o.remove_status_effect(/datum/status_effect/chem/PElarger)
|
||||
if(21 to 29) //If massive and due for large effects
|
||||
if(21 to 34) //If massive and due for large effects
|
||||
length = cached_length
|
||||
size = 3
|
||||
if(!owner.has_status_effect(/datum/status_effect/chem/PElarger))
|
||||
o.apply_status_effect(/datum/status_effect/chem/PElarger)
|
||||
if(30 to INFINITY) //If comical
|
||||
if(35 to INFINITY) //If comical
|
||||
length = cached_length
|
||||
size = 4 //no new sprites for anything larger yet
|
||||
if(!owner.has_status_effect(/datum/status_effect/chem/PElarger))
|
||||
|
||||
@@ -1444,7 +1444,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
|
||||
//Increases shock events.
|
||||
/datum/reagent/fermi/naninte_b_goneTox/on_mob_life(mob/living/carbon/C)//Damages the taker if their purity is low. Extended use of impure chemicals will make the original die. (thus can't be spammed unless you've very good)
|
||||
if(prob(5))
|
||||
if(prob(15))
|
||||
to_chat(C, "<span class='warning'>The residual voltage in your system causes you to seize up!</b></span>")
|
||||
C.electrocute_act(10, (get_turf(C)), 1, FALSE, FALSE, FALSE, TRUE)
|
||||
if(prob(50))
|
||||
@@ -1538,12 +1538,13 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
description = "You should be really careful with this...! Also, how did you get this?"
|
||||
data = "merge"
|
||||
color = "FFFFFF"
|
||||
|
||||
|
||||
//I'm concerned this is too weak, but I also don't want deathmixes.
|
||||
/datum/reagent/fermi/fermiTox/on_mob_life(mob/living/carbon/C, method)
|
||||
if(C.dna && istype(C.dna.species, /datum/species/jelly))
|
||||
C.adjustToxLoss(-1)
|
||||
C.adjustToxLoss(-2.5)
|
||||
else
|
||||
C.adjustToxLoss(1)
|
||||
C.adjustToxLoss(2.5)
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/fermiABuffer
|
||||
|
||||
@@ -40,15 +40,17 @@
|
||||
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
|
||||
Endless loop hell
|
||||
for (var/datum/reagent/reagent in my_atom.reagents.reagent_list) //make gas for reagents
|
||||
if (istype(reagent, /datum/reagent/fermi))
|
||||
my_atom.reagents.remove_reagent(reagent.id, 1000)//Prevent endless loops
|
||||
continue //Don't allow fermichems into the mix (fermi explosions are handled elsewhere and it's a huge pain)
|
||||
R.add_reagent(reagent.id, reagent.volume)
|
||||
else if (istype(reagent, /datum/reagent/toxin/plasma))
|
||||
R.add_reagent(reagent.id, reagent.volume) //for !FUN! (am I doing this right?)
|
||||
continue //Only allow fermichems into the mix (fermi explosions are handled elsewhere and it's a huge pain)
|
||||
//R.add_reagent(reagent, reagent.volume)
|
||||
if (reagent.purity < 0.6)
|
||||
ImpureTot = (ImpureTot + (1-reagent.purity)) / 2
|
||||
*/
|
||||
|
||||
if(pH < 4) //if acidic, make acid spray
|
||||
//s.set_up(/datum/reagent/fermi/fermiAcid, (volume/3), pH*10, T)
|
||||
R.add_reagent("fermiAcid", ((volume/3)/pH))
|
||||
|
||||
Reference in New Issue
Block a user