Hotfix for egregious oversights.

This commit is contained in:
Fermi
2019-06-25 07:22:20 +01:00
parent 8605d3a246
commit 4145b0f256
7 changed files with 39 additions and 18 deletions

View File

@@ -15,6 +15,9 @@
hypnotic_phrase = phrase
else
friendliify(phrase)
if(IsAdminAdvancedProcCall())
to_chat(usr, "<span class='danger'>Hypnosis New() skipped due to try/catch incompatibility with admin proccalling.</span>")
qdel(src)
try
target_phrase = new("(\\b[hypnotic_phrase]\\b)","ig")
catch(var/exception/e)

View File

@@ -1148,7 +1148,7 @@
var/mob/living/carbon/human/H = V
var/datum/status_effect/chem/enthrall/E = H.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(2 to INFINITY)//Tier 2 only
if(2 to INFINITY)
var/items = H.get_contents()
for(var/obj/item/W in items)
if(W == H.w_uniform || W == H.wear_suit)
@@ -1156,24 +1156,24 @@
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "<span class='[(H.lewd?"love":"warning")]'>Before you can even think about it, you quickly remove your clothes in response to [(H.lewd?"your [E.enthrallGender]'s command'":"[E.master]'s directive'")].</b></span>"), 5)
E.cooldown += 10
//WALK doesn't work? it does, randomly, work now
//WALK
else if((findtext(message, walk_words)))
for(var/V in listeners)
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(2 to INFINITY)//Tier 2 only
if(2 to INFINITY)
if(L.m_intent != MOVE_INTENT_WALK)
L.toggle_move_intent()
E.cooldown += 1
//RUN doesn't work? Nope, it randomly works now
//RUN
else if((findtext(message, run_words)))
for(var/V in listeners)
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(2 to INFINITY)//Tier 2 only
if(2 to INFINITY)
if(L.m_intent != MOVE_INTENT_RUN)
L.toggle_move_intent()
E.cooldown += 1
@@ -1184,7 +1184,7 @@
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(2 to INFINITY)//Tier 2 only
if(2 to INFINITY)
L.lay_down()
E.cooldown += 10
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "[(L.lewd?"<span class='love'>You eagerly lie down!":"<span class='notice'>You suddenly lie down!'")]</b></span>"), 5)
@@ -1195,7 +1195,7 @@
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(2 to INFINITY)//Tier 2 only
if(2 to INFINITY)
L.Knockdown(30 * power_multiplier * E.phase)
E.cooldown += 8
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You suddenly drop to the ground!'</b></span>"), 5)
@@ -1342,7 +1342,7 @@
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(3 to INFINITY)//Tier 3 only
if(3 to INFINITY)
L.Stun(40 * power_multiplier)
E.cooldown += 8
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>Your muscles freeze up!</b></span>"), 5)
@@ -1353,7 +1353,7 @@
var/mob/living/carbon/C = V
var/datum/status_effect/chem/enthrall/E = C.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(3 to INFINITY)//Tier 3 only
if(3 to INFINITY)
new /datum/hallucination/delusion(C, TRUE, null,150 * power_multiplier,0)
//HOT
@@ -1362,7 +1362,7 @@
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(3 to INFINITY)//Tier 3 only
if(3 to INFINITY)
L.adjust_bodytemperature(50 * power_multiplier)//This seems nuts, reduced it, but then it didn't do anything, so I reverted it.
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You feel your metabolism speed up!</b></span>"), 5)
@@ -1372,7 +1372,7 @@
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
switch(E.phase)
if(3 to INFINITY)//Tier 3 only
if(3 to INFINITY)
L.adjust_bodytemperature(-50 * power_multiplier)
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You feel your metabolism slow down!</b></span>"), 5)

View File

@@ -145,6 +145,8 @@ Creating a chem with a low purity will make you permanently fall in love with so
var/mob/living/creator
pH = 10
OnMobMergeCheck = TRUE //Procs on_mob_add when merging into a human
can_synth = FALSE
/datum/reagent/fermi/enthrall/test
name = "MKUltraTest"
@@ -309,7 +311,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
if(!M.has_status_effect(STATUS_EFFECT_INLOVE))
var/list/seen = viewers(7, get_turf(M))//Sound and sight checkers
for(var/victim in seen)
if((victim == /mob/living/simple_animal/pet/) || (victim == M) || (M.stat == DEAD))
if((victim == /mob/living/simple_animal/pet/) || (victim == M) || (M.stat == DEAD) || (isliving(victim)))
seen = seen - victim
if(seen.len == 0)
return

View File

@@ -195,6 +195,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
name = "synthetic-derived growth factor"
id = "SDGFheal"
metabolization_rate = 1
can_synth = FALSE
/datum/reagent/fermi/SDGFheal/on_mob_life(mob/living/carbon/M)//Used to heal the clone after splitting, the clone spawns damaged. (i.e. insentivies players to make more than required, so their clone doesn't have to be treated)
if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))

View File

@@ -19,7 +19,7 @@
//OD is low for a reason. I'd like fermichems to have low ODs, and dangerous ODs, and since this is a meme chem that everyone will rush to make, it'll be a lesson learnt early.
/datum/reagent/fermi/breast_enlarger
name = "Sucubus milk"
name = "Succubus milk"
id = "breast_enlarger"
description = "A volatile collodial mixture derived from milk that encourages mammary production via a potent estrogen mix."
color = "#E60584" // rgb: 96, 0, 255
@@ -133,7 +133,7 @@
..()
/datum/reagent/fermi/BEsmaller
name = "Sucubus milk"
name = "Succubus milk"
id = "BEsmaller"
description = "A volatile collodial mixture derived from milk that encourages mammary production via a potent estrogen mix."
color = "#E60584" // rgb: 96, 0, 255

View File

@@ -99,6 +99,8 @@
hatArmor = (purity/10)
else
hatArmor = - (purity/10)
if(hatArmor > 90)
return ..()
var/obj/item/W = M.head
W.armor = W.armor.modifyAllRatings(hatArmor)
..()
@@ -139,7 +141,7 @@
if(prob(20))
var/list/seen = viewers(5, get_turf(M))//Sound and sight checkers
for(var/victim in seen)
if((victim == /mob/living/simple_animal/pet/) || (victim == M))
if((istype(victim, /mob/living/simple_animal/pet/)) || (victim == M) || (!isliving(victim)))
seen = seen - victim
if(seen)
to_chat(M, "You notice [pick(seen)]'s bulge [pick("OwO!", "uwu!")]")
@@ -160,7 +162,7 @@
if(prob(20))
var/list/seen = viewers(5, get_turf(M))//Sound and sight checkers
for(var/victim in seen)
if((victim = /mob/living/simple_animal/pet/) || (victim == M))
if((istype(victim, /mob/living/simple_animal/pet/)) || (victim == M) || (!isliving(victim)))
seen = seen - victim
if(seen)
to_chat(M, "You notice [pick(seen)]'s bulge [pick("OwO!", "uwu!")]")
@@ -246,10 +248,15 @@
taste_description = "acid burns, ow"
color = "#FFFFFF"
pH = 0
can_synth = FALSE
/datum/reagent/fermi/fermiAcid/reaction_mob(mob/living/carbon/C, method)
var/target = C.get_bodypart(BODY_ZONE_CHEST)
var/acidstr = ((5-C.reagents.pH)*2)
var/acidstr
if(!C.reagents.pH || C.reagents.pH >5)
acidstr = 3
else
acidstr = ((5-C.reagents.pH)*2) //runtime - null.pH ?
C.adjustFireLoss(acidstr/2, 0)
if((method==VAPOR) && (!C.wear_mask))
if(prob(20))
@@ -283,6 +290,7 @@
id = "fermiTest"
description = "You should be really careful with this...! Also, how did you get this?"
addProc = TRUE
can_synth = FALSE
/datum/reagent/fermi/fermiTest/on_new(datum/reagents/holder)
..()
@@ -318,6 +326,7 @@
description = "You should be really careful with this...! Also, how did you get this? You shouldn't have this!"
data = "merge"
color = "FFFFFF"
can_synth = FALSE
//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)

View File

@@ -18,7 +18,7 @@
pH = 7
var/ImpureTot = 0
var/turf/T = get_turf(my_atom)
if(temp>500)//if hot, start a fire
switch(temp)
if (500 to 750)
@@ -89,6 +89,8 @@
PurityMin = 0.4 //The minimum purity something has to be above, otherwise it explodes.
/datum/chemical_reaction/fermi/eigenstate/FermiFinish(datum/reagents/holder, var/atom/my_atom)//Strange how this doesn't work but the other does.
if(!locate(/datum/reagent/fermi/eigenstate) in my_atom.reagents.reagent_list)
return
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
if(location)
@@ -397,6 +399,8 @@
/datum/chemical_reaction/fermi/fermiABuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
if(!locate(/datum/reagent/fermi/fermiABuffer) in my_atom.reagents.reagent_list)
return
var/datum/reagent/fermi/fermiABuffer/Fa = locate(/datum/reagent/fermi/fermiABuffer) in my_atom.reagents.reagent_list
Fa.data = 3
@@ -423,6 +427,8 @@
/datum/chemical_reaction/fermi/fermiBBuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
if(!locate(/datum/reagent/fermi/fermiBBuffer) in my_atom.reagents.reagent_list)
return
var/datum/reagent/fermi/fermiBBuffer/Fb = locate(/datum/reagent/fermi/fermiBBuffer) in my_atom.reagents.reagent_list
Fb.data = 11