Final fixes, finally fixed all problems.

This commit is contained in:
Fermi
2019-05-29 01:33:07 +01:00
parent 12eb5e9b17
commit 543dc9a399
5 changed files with 49 additions and 61 deletions
+4 -5
View File
@@ -784,8 +784,8 @@
//Mixables
var/static/regex/enthral_words = regex("relax|obey|love|serve|docile|so easy|ara ara") //enthral_words works
var/static/regex/reward_words = regex("good boy|good girl|good pet") //reward_words works
var/static/regex/punish_words = regex("bad boy|bad girl|bad pet") ////punish_words works
var/static/regex/reward_words = regex("good boy|good girl|good pet|good job") //reward_words works
var/static/regex/punish_words = regex("bad boy|bad girl|bad pet|bad job") ////punish_words works
//phase 0
var/static/regex/saymyname_words = regex("say my name|who am i|whoami") //works I think
var/static/regex/wakeup_words = regex("revert|awaken|snap") //works
@@ -801,8 +801,8 @@
var/static/regex/nya_words = regex("nya|meow|mewl")
var/static/regex/sleep_words = regex("sleep|slumber|rest")
var/static/regex/strip_words = regex("strip|derobe|nude")
var/static/regex/walk_words = regex("slow down")
var/static/regex/run_words = regex("run")
var/static/regex/walk_words = regex("slow down|walk")
var/static/regex/run_words = regex("run|speed up")
var/static/regex/liedown_words = regex("lie down") //TO ADD
var/static/regex/knockdown_words = regex("drop|fall|trip|knockdown|kneel")
//phase 3
@@ -951,7 +951,6 @@
var/mob/living/L = V
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
E.status = "Antiresist"
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='warning'>I've let [E.enthrallGender] down...</b></span>"), 5)
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='big warning'>Your mind clouds over, as you find yourself unable to resist!</b></span>"), 5)
E.statusStrength = (1 * power_multiplier * E.phase)
E.cooldown += 15//Too short? yes, made 15
@@ -98,12 +98,13 @@
if((B.cached_size) < 16)
switch(round(B.cached_size))
if(9)
if (!(B.breast_sizes[B.prev_size] == B.size))
if (B.breast_sizes[B.prev_size] != B.breast_sizes[B.size])
to_chat(o, "<span class='notice'>Your expansive chest has become a more managable size, liberating your movements.</b></span>")
if(10 to INFINITY)
if (!(B.breast_sizes[B.prev_size] == B.size))
if (B.breast_sizes[B.prev_size] != B.breast_sizes[B.size])
to_chat(H, "<span class='warning'>Your indulgent busom is so substantial, it's affecting your movements!</b></span>")
if(prob(5))
to_chat(owner, "<span class='notice'>Your back is feeling a little sore.</span>")
..()
@@ -126,7 +127,6 @@
var/moveCalc
/datum/status_effect/chem/PElarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
message_admins("PElarge started!")
var/mob/living/carbon/human/o = owner
var/items = o.get_contents()
if(o.w_uniform || o.wear_suit)
@@ -144,7 +144,7 @@
/datum/status_effect/chem/PElarger/tick(mob/living/carbon/M)
var/mob/living/carbon/human/o = owner
var/obj/item/organ/genital/penis/P = o.getorganslot("penis")
moveCalc = 1+((round(P.length) - 21)/10) //effects how fast you can move
moveCalc = 1+((round(P.length) - 21)/5) //effects how fast you can move
bloodCalc = 1+((round(P.length) - 21)/10) //effects how much blood you need (I didn' bother adding an arousal check because I'm spending too much time on this organ already.)
if(!P)
o.remove_movespeed_modifier("hugedick")
@@ -298,6 +298,8 @@
else if (resistanceTally > 150)
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>")
owner.remove_status_effect(src) //If resisted in phase 1, effect is removed.
if(prob(10))
if(owner.lewd)
@@ -503,10 +505,11 @@
cooldown -= (0.8 + (mental_capacity/500))
cooldownMsg = FALSE
else if (cooldownMsg == FALSE)
if(master.lewd)
to_chat(master, "<span class='notice'><i>Your pet [owner] appears to have finished internalising your last command.</i></span>")
else
to_chat(master, "<span class='notice'><i>Your thrall [owner] appears to have finished internalising your last command.</i></span>")
if(DistApart < 10)
if(master.lewd)
to_chat(master, "<span class='notice'><i>Your pet [owner] appears to have finished internalising your last command.</i></span>")
else
to_chat(master, "<span class='notice'><i>Your thrall [owner] appears to have finished internalising your last command.</i></span>")
cooldownMsg = TRUE
cooldown = 0
if (tranceTime > 0) //custom trances only last 50 ticks.
@@ -653,7 +656,7 @@
deltaResist += 0.1 //Though I commend your spamming efforts.
return
else
deltaResist = 1.75 + resistGrowth
deltaResist = 1.7 + resistGrowth
resistGrowth += 0.05
//distance modifer
@@ -692,24 +695,23 @@
//Antag resistance
//cultists are already brainwashed by their god
if(iscultist(owner))
deltaResist *= 1.5
deltaResist *= 1.3
else if (is_servant_of_ratvar(owner))
deltaResist *= 1.5
deltaResist *= 1.3
//antags should be able to resist, so they can do their other objectives. This chem does frustrate them, but they've all the tools to break free when an oportunity presents itself.
else if (owner.mind.assigned_role in GLOB.antagonists)
deltaResist *= 1.4
deltaResist *= 1.2
//role resistance
//Chaplains are already brainwashed by their god
if(owner.mind.assigned_role == "Chaplain")
deltaResist *= 1.5
deltaResist *= 1.2
//Command staff has authority,
if(owner.mind.assigned_role in GLOB.command_positions)
deltaResist *= 1.4
//if(owner.has_status == "sub"); power_multiplier *= 0.8 //for skylar //I'm kidding <3
deltaResist *= 1.1
//Chemists should be familiar with drug effects
if(owner.mind.assigned_role == "Chemist")
deltaResist *= 1.3
deltaResist *= 1.2
//Happiness resistance
//Your Thralls are like pets, you need to keep them happy.
@@ -727,22 +729,5 @@
if(M.has_trait(TRAIT_MINDSHIELD))
deltaResist += 5//even faster!
/*
if (deltaResist>0)//just in case
deltaResist /= phase//later phases require more resistance
*/
message_admins("Enthrall processing for [M]: enthrallTally: [enthrallTally], resistanceTally: [resistanceTally], delta: [deltaResist]")
return
//I think this can be left out, but I'll leave the code incase anyone wants to add to it.
/*
/datum/status_effect/chem/enthrall/proc/owner_say(mob/speaker, message) //I can only hope this works
//var/datum/status_effect/chem/enthrall/E = owner.has_status_effect(/datum/status_effect/chem/enthrall)
//var/mob/living/master = E.master
message_admins("[owner] said something")
var/static/regex/owner_words = regex("[master]")
if(findtext(message, owner_words))
message = replacetext(lowertext(message), lowertext(master), "[enthrallGender]")
return message
*/
@@ -6,8 +6,8 @@
zone = "chest"
slot = "breasts"
w_class = 3
size = "c" //SHOULD BE A LETTER, starts as a number...???
var/cached_size = BREASTS_SIZE_DEF //for enlargement SHOULD BE A NUMBER
size = BREASTS_SIZE_DEF //SHOULD BE A LETTER, starts as a number...???
var/cached_size = null //for enlargement SHOULD BE A NUMBER
var/prev_size //For flavour texts SHOULD BE A LETTER
var/breast_sizes = list ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "huge", "flat")
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)
@@ -78,15 +78,14 @@
//Allows breasts to grow and change size, with sprite changes too.
//maximum wah
//Comical sizes slow you down in movement and actions.
//Rediculous sizes makes you more cumberson.
//Should I turn someone with meter wide... assets into a blob?
//Rediculous sizes makes you more cumbersome.
//this is far too lewd wah
/obj/item/organ/genital/breasts/update_size()//wah
if(!ishuman(owner) || !owner)
return
if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!(Why does this runtime??) - fixed
if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!fixed
to_chat(owner, "<span class='warning'>You feel your breasts shrinking away from your body as your chest flattens out.</b></span>")
src.Remove(owner)
switch(round(cached_size))
@@ -1,6 +1,6 @@
/obj/item/organ/genital
color = "#fcccb3"
var/shape = "human"
var/shape = "Human" //Changed to be uppercase, let me know if this breaks everything..!!
var/sensitivity = 1
var/list/genital_flags = list()
var/can_masturbate_with = FALSE
@@ -210,13 +210,20 @@
else
B.color = "#[dna.features["breasts_color"]]"
B.size = dna.features["breasts_size"]
B.prev_size = B.size
message_admins("B.size[B.size]")
if (!B.size == "huge")
if(isnum(B.size))
B.cached_size = B.size
if(!isnum(B.size))
if(B.size == "flat")
B.cached_size = 0
B.prev_size = 0
else if (B.cached_size == "huge")
B.prev_size = "huge"
message_admins("I hate genitals, this should not appear. I'm so mad.")
else
B.cached_size = B.breast_values[B.size]
B.prev_size = B.size
else
B.cached_size = B.size
B.prev_size = B.size
message_admins("B.size [B.size], Cache [B.cached_size], prev [B.prev_size]")
B.shape = dna.features["breasts_shape"]
B.fluid_id = dna.features["breasts_fluid"]
B.update()
@@ -293,23 +300,21 @@
if(istype(O, /obj/item/organ/genital))
organCheck = TRUE
if(/obj/item/organ/genital/penis)
if(!dna.features["has_cock"] == 1)
dna.features["has_cock"] = 1//Goddamnit get in there.
dna.features["has_cock"] = TRUE
if(/obj/item/organ/genital/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
dna.species.use_skintones = TRUE
/* I can't get this to work.
if(MUTCOLORS)
if(src.dna.species.fixed_mut_color)
dna.features["cock_color"] = "#[src.dna.species.fixed_mut_color]"
dna.features["breasts_color"] = "#[src.dna.species.fixed_mut_color]"
dna.features["cock_color"] = "[src.dna.species.fixed_mut_color]"
dna.features["breasts_color"] = "[src.dna.species.fixed_mut_color]"
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
@@ -597,7 +597,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
H.genital_override = TRUE
var/obj/item/organ/genital/breasts/B = H.getorganslot("breasts")
if(!B)
H.emergent_genital_call()
return
if(!B.size == "huge")
var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5)
@@ -612,6 +611,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
if(!B) //If they don't have breasts, give them breasts.
var/obj/item/organ/genital/breasts/nB = new
nB.Insert(M)
H.emergent_genital_call()
if(nB)
if(M.dna.species.use_skintones && M.dna.features["genitals_use_skintone"])
nB.color = skintone2hex(H.skin_tone)
@@ -719,7 +719,6 @@ 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
@@ -732,6 +731,7 @@ 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>")//OwO
@@ -1038,7 +1038,7 @@ Okay, seriously, unless you're an antag, it will be difficult to enthrall people
If it becomes an issue, I'll make all pets pacifists and apply more weakness effects based on mood and state. I'll probably do this anyways as I want the bond between the two to be imperative.
As stated earlier the biggest concern is the use as a murder aid, which I have ideas for. (weaken the enthraller during the enthrallment process?)
And as stated earlier, this chem is hard to make, and is punishing on failure. You fall in love with the chem dispencer and have to stay within 8 tiles of it. Additionally, you hug the dispencer instead of using it - thus making you unable to continue chemistry for that round, and likely getting the CMO mad as hecc at you.
And as stated earlier, this chem is hard to make, and is punishing on failure. You fall in love with someone if it's impure, and then your piorities change.
(thats not written yet but thats the idea.)
*/