Final fixes, finally fixed all problems.
This commit is contained in:
@@ -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.)
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user