whoops forgot permaboner
This commit is contained in:
@@ -111,6 +111,7 @@
|
||||
#define NEVER_HYPNO (1<<8)
|
||||
#define NO_APHRO (1<<9)
|
||||
#define NO_ASS_SLAP (1<<10)
|
||||
#define BIMBOFICATION (1<<11)
|
||||
|
||||
#define TOGGLES_CITADEL (EATING_NOISES|DIGESTION_NOISES|BREAST_ENLARGEMENT|PENIS_ENLARGEMENT)
|
||||
|
||||
|
||||
@@ -1007,6 +1007,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<b>Forced Feminization:</b> <a href='?_src_=prefs;preference=feminization'>[(cit_toggles & FORCED_FEM) ? "Allowed" : "Disallowed"]</a><br>"
|
||||
dat += "<b>Forced Masculinization:</b> <a href='?_src_=prefs;preference=masculinization'>[(cit_toggles & FORCED_MASC) ? "Allowed" : "Disallowed"]</a><br>"
|
||||
dat += "<b>Lewd Hypno:</b> <a href='?_src_=prefs;preference=hypno'>[(cit_toggles & HYPNO) ? "Allowed" : "Disallowed"]</a><br>"
|
||||
dat += "<b>Bimbofication:</b> <a href='?_src_=prefs;preference=bimbo'>[(cit_toggles & BIMBOFICATION) ? "Allowed" : "Disallowed"]</a><br>"
|
||||
dat += "</td>"
|
||||
dat +="<td width='300px' height='300px' valign='top'>"
|
||||
dat += "<h2>Other content prefs</h2>"
|
||||
@@ -1015,6 +1016,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<b>Hypno:</b> <a href='?_src_=prefs;preference=never_hypno'>[(cit_toggles & NEVER_HYPNO) ? "Disallowed" : "Allowed"]</a><br>"
|
||||
dat += "<b>Aphrodisiacs:</b> <a href='?_src_=prefs;preference=aphro'>[(cit_toggles & NO_APHRO) ? "Disallowed" : "Allowed"]</a><br>"
|
||||
dat += "<b>Ass Slapping:</b> <a href='?_src_=prefs;preference=ass_slap'>[(cit_toggles & NO_ASS_SLAP) ? "Disallowed" : "Allowed"]</a><br>"
|
||||
dat += "</tr></table>"
|
||||
dat += "<br>"
|
||||
|
||||
|
||||
@@ -2234,6 +2236,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
|
||||
if("ass_slap")
|
||||
cit_toggles ^= NO_ASS_SLAP
|
||||
|
||||
if("bimbo")
|
||||
cit_toggles ^= BIMBOFICATION
|
||||
|
||||
//END CITADEL EDIT
|
||||
|
||||
|
||||
@@ -969,9 +969,10 @@
|
||||
if(M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(5))
|
||||
for(var/obj/item/organ/genital/G in M.internal_organs)
|
||||
if(!G.aroused_state && prob(5*G.sensitivity))
|
||||
G.aroused_state = TRUE
|
||||
G.set_aroused_state(TRUE)
|
||||
G.update_appearance()
|
||||
to_chat(M, "<span class='userlove'>You feel like playing with your [G.name]!")
|
||||
if(G.aroused_state)
|
||||
to_chat(M, "<span class='userlove'>You feel like playing with your [G.name]!</span>")
|
||||
|
||||
..()
|
||||
|
||||
|
||||
@@ -2284,7 +2284,8 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
for(var/obj/item/organ/genital/G in H.internal_organs)
|
||||
if(!G.aroused_state && prob(2*G.sensitivity))
|
||||
G.aroused_state = TRUE
|
||||
G.set_aroused_state(TRUE)
|
||||
G.update_appearance()
|
||||
to_chat(M, "<span class='userlove'>You feel like playing with your [G.name]!")
|
||||
if(G.aroused_state)
|
||||
to_chat(M, "<span class='userlove'>You feel like playing with your [G.name]!</span>")
|
||||
..()
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
var/genital_flags //see citadel_defines.dm
|
||||
var/masturbation_verb = "masturbate"
|
||||
var/orgasm_verb = "cumming" //present continous
|
||||
var/arousal_verb = "feel aroused"
|
||||
var/arousal_verb = "You feel aroused"
|
||||
var/unarousal_verb = "You no longer feel aroused"
|
||||
var/fluid_transfer_factor = 0 //How much would a partner get in them if they climax using this?
|
||||
var/size = 2 //can vary between num or text, just used in icon_state strings
|
||||
var/fluid_id = null
|
||||
@@ -38,6 +39,11 @@
|
||||
Remove(owner, TRUE)//this should remove references to it, so it can be GCd correctly
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/genital/proc/set_aroused_state(new_state)
|
||||
if(!((HAS_TRAIT(owner,TRAIT_PERMABONER) && !new_state) || HAS_TRAIT(owner,TRAIT_NEVERBONER) && new_state))
|
||||
aroused_state = new_state
|
||||
return aroused_state
|
||||
|
||||
/obj/item/organ/genital/proc/update(removing = FALSE)
|
||||
if(QDELETED(src))
|
||||
return
|
||||
@@ -126,8 +132,12 @@
|
||||
var/obj/item/organ/genital/picked_organ
|
||||
picked_organ = input(src, "Choose which genitalia to toggle arousal on", "Set genital arousal", null) in genital_list
|
||||
if(picked_organ)
|
||||
picked_organ.aroused_state = !picked_organ.aroused_state
|
||||
to_chat(src,"<span class='userlove'>You [picked_organ.arousal_verb].")
|
||||
var/original_state = picked_organ.aroused_state
|
||||
picked_organ.set_aroused_state(!picked_organ.aroused_state)
|
||||
if(original_state != picked_organ.aroused_state)
|
||||
to_chat(src,"<span class='userlove'>[picked_organ.aroused_state ? picked_organ.arousal_verb : picked_organ.unarousal_verb].</span>")
|
||||
else
|
||||
to_chat(src,"<span class='userlove'>You can't make that genital [picked_organ.aroused_state ? "unaroused" : "aroused"]!</span>")
|
||||
picked_organ.update_appearance()
|
||||
return
|
||||
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
shape = "pair"
|
||||
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_FUID_PRODUCTION
|
||||
masturbation_verb = "massage"
|
||||
arousal_verb = "feel very sensitive in your breasts"
|
||||
arousal_verb = "Your breasts start feeling sensitive"
|
||||
unarousal_verb = "Your breasts no longer feel sensitive"
|
||||
orgasm_verb = "leaking"
|
||||
fluid_transfer_factor = 0.5
|
||||
var/static/list/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)
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
zone = BODY_ZONE_PRECISE_GROIN
|
||||
slot = ORGAN_SLOT_PENIS
|
||||
masturbation_verb = "stroke"
|
||||
arousal_verb = "pop a boner"
|
||||
arousal_verb = "You pop a boner"
|
||||
unarousal_verb = "Your boner goes down"
|
||||
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH
|
||||
linked_organ_slot = ORGAN_SLOT_TESTICLES
|
||||
fluid_transfer_factor = 0.5
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
zone = BODY_ZONE_PRECISE_GROIN
|
||||
slot = ORGAN_SLOT_TESTICLES
|
||||
size = BALLS_SIZE_MIN
|
||||
arousal_verb = "Your balls ache a little"
|
||||
unarousal_verb = "Your balls finally stop aching, again"
|
||||
linked_organ_slot = ORGAN_SLOT_PENIS
|
||||
genital_flags = CAN_MASTURBATE_WITH|MASTURBATE_LINKED_ORGAN|GENITAL_FUID_PRODUCTION
|
||||
var/size_name = "average"
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
size = 1 //There is only 1 size right now
|
||||
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH
|
||||
masturbation_verb = "finger"
|
||||
arousal_verb = "feel wet"
|
||||
arousal_verb = "You feel wetness on your crotch."
|
||||
unarousal_verb = "You no longer feel wet."
|
||||
fluid_transfer_factor = 0.1 //Yes, some amount is exposed to you, go get your AIDS
|
||||
layer_index = VAGINA_LAYER_INDEX
|
||||
var/cap_length = 8//D E P T H (cap = capacity)
|
||||
|
||||
@@ -110,9 +110,10 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
for(var/obj/item/organ/genital/G in H.internal_organs)
|
||||
if(!G.aroused_state && prob(current_cycle*G.sensitivity))
|
||||
G.aroused_state = TRUE
|
||||
G.set_aroused_state(TRUE)
|
||||
G.update_appearance()
|
||||
to_chat(M, "<span class='userlove'>You suddenly [G.arousal_verb]!")
|
||||
if(G.aroused_state)
|
||||
to_chat(M, "<span class='userlove'>[G.arousal_verb]!</span>")
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/aphrodisiacplus
|
||||
@@ -145,9 +146,10 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
for(var/obj/item/organ/genital/G in H.internal_organs)
|
||||
if(!G.aroused_state)
|
||||
G.aroused_state = TRUE
|
||||
G.set_aroused_state(TRUE)
|
||||
G.update_appearance()
|
||||
to_chat(M, "<span class='userlove'>You suddenly [G.arousal_verb]!")
|
||||
if(G.aroused_state)
|
||||
to_chat(M, "<span class='userlove'>[G.arousal_verb]!</span>")
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/aphrodisiacplus/addiction_act_stage2(mob/living/M)
|
||||
@@ -166,9 +168,9 @@
|
||||
|
||||
/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
|
||||
if(M && M.client?.prefs.arousable && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(33))
|
||||
if(prob(5) && ishuman(M) && M.has_dna())
|
||||
if(prob(5)) //Less spam
|
||||
to_chat(M, "<span class='love'>Your libido is going haywire!</span>")
|
||||
if(prob(5) && ishuman(M) && M.has_dna() && (M.client?.prefs.cit_toggles & BIMBOFICATION))
|
||||
if(!HAS_TRAIT(M,TRAIT_PERMABONER)) //Less spam
|
||||
to_chat(M, "<span class='userlove'>Your libido is going haywire!</span>")
|
||||
ADD_TRAIT(M,TRAIT_PERMABONER,"aphro")
|
||||
..()
|
||||
|
||||
@@ -189,9 +191,9 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
for(var/obj/item/organ/genital/G in H.internal_organs)
|
||||
if(G.aroused_state)
|
||||
G.aroused_state = FALSE
|
||||
G.set_aroused_state(FALSE)
|
||||
G.update_appearance()
|
||||
unboner = TRUE
|
||||
unboner = (G.aroused_state == FALSE)
|
||||
if(unboner)
|
||||
to_chat(M, "<span class='notice'>You no longer feel aroused.")
|
||||
..()
|
||||
@@ -213,9 +215,9 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
for(var/obj/item/organ/genital/G in H.internal_organs)
|
||||
if(G.aroused_state)
|
||||
G.aroused_state = FALSE
|
||||
G.set_aroused_state(FALSE)
|
||||
G.update_appearance()
|
||||
unboner = TRUE
|
||||
unboner = (G.aroused_state == FALSE)
|
||||
if(unboner)
|
||||
to_chat(M, "<span class='notice'>You no longer feel aroused.")
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user