Merge branch 'master' into xantholne-christmas01
This commit is contained in:
@@ -1,59 +0,0 @@
|
||||
/datum/mood_event/eigenstate
|
||||
mood_change = -3
|
||||
description = "<span class='warning'>Where the hell am I? Is this an alternative dimension ?</span>\n"
|
||||
|
||||
/datum/mood_event/enthrall
|
||||
mood_change = 5
|
||||
|
||||
/datum/mood_event/enthrall/add_effects(message)
|
||||
description = "<span class='nicegreen'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/enthrallpraise
|
||||
mood_change = 10
|
||||
timeout = 1 MINUTES
|
||||
|
||||
/datum/mood_event/enthrallpraise/add_effects(message)
|
||||
description = "<span class='nicegreen'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/enthrallscold
|
||||
mood_change = -10
|
||||
timeout = 1 MINUTES
|
||||
|
||||
/datum/mood_event/enthrallscold/add_effects(message)
|
||||
description = "<span class='warning'>[message]</span>\n"//aaa I'm not kinky enough for this
|
||||
|
||||
/datum/mood_event/enthrallmissing1
|
||||
mood_change = -5
|
||||
|
||||
/datum/mood_event/enthrallmissing1/add_effects(message)
|
||||
description = "<span class='warning'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/enthrallmissing2
|
||||
mood_change = -10
|
||||
|
||||
/datum/mood_event/enthrallmissing2/add_effects(message)
|
||||
description = "<span class='warning'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/enthrallmissing3
|
||||
mood_change = -15
|
||||
|
||||
/datum/mood_event/enthrallmissing3/add_effects(message)
|
||||
description = "<span class='warning'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/enthrallmissing4
|
||||
mood_change = -25
|
||||
|
||||
/datum/mood_event/enthrallmissing4/add_effects(message)
|
||||
description = "<span class='warning'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/InLove
|
||||
mood_change = 10
|
||||
|
||||
/datum/mood_event/InLove/add_effects(message)
|
||||
description = "<span class='nicegreen'>[message]</span>\n"
|
||||
|
||||
/datum/mood_event/MissingLove
|
||||
mood_change = -10
|
||||
|
||||
/datum/mood_event/MissingLove/add_effects(message)
|
||||
description = "<span class='warning'>[message]</span>\n"
|
||||
@@ -1,21 +0,0 @@
|
||||
// Citadel-specific negative moodlets
|
||||
|
||||
/datum/mood_event/plushjack
|
||||
description = "<span class='warning'>I have butchered a plush recently.</span>\n"
|
||||
mood_change = -1
|
||||
timeout = 2 MINUTES
|
||||
|
||||
/datum/mood_event/plush_nostuffing
|
||||
description = "<span class='warning'>A plush I tried to pet had no stuffing...</span>\n"
|
||||
mood_change = -1
|
||||
timeout = 2 MINUTES
|
||||
|
||||
/datum/mood_event/emptypred
|
||||
description = "<span class='nicegreen'>I had to let someone out.</span>\n"
|
||||
mood_change = -2
|
||||
timeout = 1 MINUTES
|
||||
|
||||
/datum/mood_event/emptyprey
|
||||
description = "<span class='nicegreen'>It feels quite cold out here.</span>\n"
|
||||
mood_change = -2
|
||||
timeout = 1 MINUTES
|
||||
@@ -1,34 +0,0 @@
|
||||
// Citadel-specific positive moodlets
|
||||
|
||||
/datum/mood_event/headpat
|
||||
description = "<span class='nicegreen'>Headpats are nice.</span>\n"
|
||||
mood_change = 2
|
||||
timeout = 2 MINUTES
|
||||
|
||||
/datum/mood_event/hugbox
|
||||
description = "<span class='nicegreen'>I hugged a box of hugs recently.</span>\n"
|
||||
mood_change = 1
|
||||
timeout = 2 MINUTES
|
||||
|
||||
/datum/mood_event/plushpet
|
||||
description = "<span class='nicegreen'>I pet a plush recently.</span>\n"
|
||||
mood_change = 1
|
||||
timeout = 3000
|
||||
|
||||
/datum/mood_event/plushplay
|
||||
description = "<span class='nicegreen'>I've played with plushes recently.</span>\n"
|
||||
mood_change = 3
|
||||
timeout = 3000
|
||||
|
||||
/datum/mood_event/orgasm
|
||||
description = "<span class='userlove'>I came!</span>\n" //funny meme haha
|
||||
mood_change = 3
|
||||
timeout = 1000
|
||||
|
||||
/datum/mood_event/fedpred
|
||||
description = "<span class='nicegreen'>I've devoured someone!</span>\n"
|
||||
mood_change = 3
|
||||
|
||||
/datum/mood_event/fedprey
|
||||
description = "<span class='nicegreen'>It feels quite cozy in here.</span>\n"
|
||||
mood_change = 3
|
||||
@@ -1,27 +0,0 @@
|
||||
// Modular stuff to use with Citadel-specific moods.
|
||||
|
||||
// box of hugs
|
||||
/obj/item/storage/box/hug/attack_self(mob/user)
|
||||
. = ..()
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"hugbox", /datum/mood_event/hugbox)
|
||||
|
||||
//Removed headpats here, duplicate code?
|
||||
|
||||
// plush petting
|
||||
/obj/item/toy/plush/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(stuffed || grenade)
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plushpet", /datum/mood_event/plushpet)
|
||||
else
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plush_nostuffing", /datum/mood_event/plush_nostuffing)
|
||||
|
||||
// Jack the Ripper starring plush
|
||||
/obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params)
|
||||
. = ..()
|
||||
if(I.get_sharpness())
|
||||
if(!grenade)
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plushjack", /datum/mood_event/plushjack)
|
||||
|
||||
// plush playing (plush-on-plush action)
|
||||
if(istype(I, /obj/item/toy/plush))
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plushplay", /datum/mood_event/plushplay)
|
||||
@@ -608,18 +608,18 @@
|
||||
UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL)
|
||||
|
||||
|
||||
/datum/status_effect/chem/enthrall/proc/owner_hear(var/hearer, message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
|
||||
/datum/status_effect/chem/enthrall/proc/owner_hear(datum/source, list/hearing_args)
|
||||
if(owner.client?.prefs.lewdchem == FALSE)
|
||||
return
|
||||
if (cTriggered > 0)
|
||||
return
|
||||
var/mob/living/carbon/C = owner
|
||||
raw_message = lowertext(raw_message)
|
||||
var/raw_message = lowertext(hearing_args[HEARING_RAW_MESSAGE])
|
||||
for (var/trigger in customTriggers)
|
||||
var/cached_trigger = lowertext(trigger)
|
||||
if (findtext(raw_message, cached_trigger))//if trigger1 is the message
|
||||
cTriggered = 5 //Stops triggerparties and as a result, stops servercrashes.
|
||||
log_game("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been triggered with [cached_trigger] from [speaker] saying: \"[message]\". (their master being [master] ckey: [enthrallID].)")
|
||||
log_game("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been triggered with [cached_trigger] from [hearing_args[HEARING_SPEAKER]] saying: \"[hearing_args[HEARING_MESSAGE]]\". (their master being [master] ckey: [enthrallID].)")
|
||||
|
||||
//Speak (Forces player to talk)
|
||||
if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2
|
||||
@@ -656,7 +656,7 @@
|
||||
C.adjustArousalLoss(10)
|
||||
to_chat(C, "<span class='love'><i>You feel a surge of arousal!</i></span>")
|
||||
else
|
||||
C.throw_at(get_step_towards(speaker,C), 3, 1) //cut this if it's too hard to get working
|
||||
C.throw_at(get_step_towards(hearing_args[HEARING_SPEAKER],C), 3, 1) //cut this if it's too hard to get working
|
||||
|
||||
//kneel (knockdown)
|
||||
else if (lowertext(customTriggers[trigger]) == "kneel")//as close to kneeling as you can get, I suppose.
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
vend_reply = "Have fun, you shameless pervert!"
|
||||
products = list(
|
||||
/obj/item/clothing/under/maid = 5,
|
||||
/obj/item/clothing/under/janimaid = 5,
|
||||
/obj/item/clothing/neck/petcollar = 5,
|
||||
/obj/item/clothing/neck/petcollar/choker = 5,
|
||||
/obj/item/clothing/neck/petcollar/leather = 5,
|
||||
@@ -51,6 +52,7 @@
|
||||
/obj/item/clothing/mask/muzzle = 4,
|
||||
/obj/item/clothing/under/stripper_pink = 3,
|
||||
/obj/item/clothing/under/stripper_green = 3,
|
||||
/obj/item/clothing/under/gear_harness = 10,
|
||||
/obj/item/dildo/custom = 5,
|
||||
/obj/item/electropack/shockcollar = 3,
|
||||
/obj/item/assembly/signaler = 3
|
||||
@@ -60,6 +62,7 @@
|
||||
/obj/item/key/collar = 2,
|
||||
/obj/item/clothing/head/kitty = 3,
|
||||
/obj/item/clothing/head/rabbitears = 3,
|
||||
/obj/item/clothing/under/keyholesweater = 2,
|
||||
/obj/item/clothing/under/mankini = 2,
|
||||
/obj/item/clothing/under/jabroni = 2,
|
||||
/obj/item/dildo/flared/huge = 3,
|
||||
@@ -68,7 +71,6 @@
|
||||
)
|
||||
premium = list(
|
||||
/obj/item/clothing/accessory/skullcodpiece/fake = 3,
|
||||
/obj/item/clothing/under/gear_harness = 10,
|
||||
/obj/item/reagent_containers/glass/bottle/hexacrocin = 10
|
||||
)
|
||||
refill_canister = /obj/item/vending_refill/kink
|
||||
|
||||
@@ -1,175 +0,0 @@
|
||||
//help I have no idea what I'm doing
|
||||
|
||||
/obj/item/storage/firstaid
|
||||
icon = 'modular_citadel/icons/firstaid.dmi'
|
||||
|
||||
/obj/item/storage/firstaid/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick("[initial(icon_state)]","[initial(icon_state)]2","[initial(icon_state)]3","[initial(icon_state)]4")
|
||||
|
||||
/obj/item/storage/firstaid/fire
|
||||
icon_state = "burn"
|
||||
|
||||
/obj/item/storage/firstaid/fire/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick("[initial(icon_state)]","[initial(icon_state)]2","[initial(icon_state)]3","[initial(icon_state)]4")
|
||||
|
||||
/obj/item/storage/firstaid/toxin
|
||||
icon_state = "toxin"
|
||||
|
||||
/obj/item/storage/firstaid/toxin/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick("[initial(icon_state)]","[initial(icon_state)]2","[initial(icon_state)]3","[initial(icon_state)]4")
|
||||
|
||||
/obj/item/storage/firstaid/o2
|
||||
icon_state = "oxy"
|
||||
|
||||
/obj/item/storage/firstaid/radbgone
|
||||
icon_state = "rad"
|
||||
|
||||
/obj/item/storage/firstaid/radbgone/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick("[initial(icon_state)]","[initial(icon_state)]2","[initial(icon_state)]3","[initial(icon_state)]4")
|
||||
|
||||
/obj/item/storage/firstaid/tactical
|
||||
icon_state = "tactical"
|
||||
|
||||
//hijacking the minature first aids for hypospray boxes. <3
|
||||
/obj/item/storage/hypospraykit
|
||||
name = "hypospray kit"
|
||||
desc = "It's a kit containing a hypospray and specific treatment chemical-filled vials."
|
||||
icon = 'modular_citadel/icons/firstaid.dmi'
|
||||
icon_state = "firstaid-mini"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
var/empty = FALSE
|
||||
item_state = "firstaid"
|
||||
|
||||
/obj/item/storage/hypospraykit/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_items = 12
|
||||
STR.can_hold = typecacheof(list(
|
||||
/obj/item/hypospray/mkii,
|
||||
/obj/item/reagent_containers/glass/bottle/vial))
|
||||
|
||||
/obj/item/storage/hypospraykit/regular
|
||||
icon_state = "firstaid-mini"
|
||||
desc = "A hypospray kit with general use vials."
|
||||
|
||||
/obj/item/storage/hypospraykit/regular/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/tricord(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/tricord(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/fire
|
||||
name = "burn treatment hypospray kit"
|
||||
desc = "A specialized hypospray kit for burn treatments. Apply with sass."
|
||||
icon_state = "burn-mini"
|
||||
item_state = "firstaid-ointment"
|
||||
|
||||
/obj/item/storage/hypospraykit/fire/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/burn(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/kelotane(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/toxin
|
||||
name = "toxin treatment hypospray kit"
|
||||
icon_state = "toxin-mini"
|
||||
item_state = "firstaid-toxin"
|
||||
|
||||
/obj/item/storage/hypospraykit/toxin/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/toxin(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/antitoxin(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/o2
|
||||
name = "oxygen deprivation hypospray kit"
|
||||
icon_state = "oxy-mini"
|
||||
item_state = "firstaid-o2"
|
||||
|
||||
/obj/item/storage/hypospraykit/o2/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/oxygen(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/enlarge
|
||||
name = "organomegaly trauma hypospray kit"
|
||||
icon_state = "enlarge-mini"
|
||||
item_state = "firstaid-brute"
|
||||
|
||||
/obj/item/storage/hypospraykit/enlarge/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/enlarge(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/brute
|
||||
name = "brute trauma hypospray kit"
|
||||
icon_state = "brute-mini"
|
||||
item_state = "firstaid-brute"
|
||||
|
||||
/obj/item/storage/hypospraykit/brute/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/brute(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/bicaridine(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/tactical
|
||||
name = "combat hypospray kit"
|
||||
desc = "A hypospray kit best suited for combat situations."
|
||||
icon_state = "tactical-mini"
|
||||
|
||||
/obj/item/storage/hypospraykit/tactical/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/defibrillator/compact/combat/loaded(src)
|
||||
new /obj/item/hypospray/mkii/CMO/combat(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/combat(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/combat(src)
|
||||
|
||||
/obj/item/storage/hypospraykit/cmo
|
||||
name = "deluxe hypospray kit"
|
||||
desc = "A kit containing a Deluxe hypospray and Vials."
|
||||
icon_state = "tactical-mini"
|
||||
|
||||
/obj/item/storage/hypospraykit/cmo/ComponentInitialize()
|
||||
. = ..()
|
||||
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
|
||||
STR.max_items = 6
|
||||
STR.can_hold = typecacheof(list(
|
||||
/obj/item/hypospray/mkii,
|
||||
/obj/item/reagent_containers/glass/bottle/vial))
|
||||
|
||||
/obj/item/storage/hypospraykit/cmo/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/hypospray/mkii/CMO(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/tricord(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/charcoal(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/salglu(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/dexalin(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/synthflesh(src)
|
||||
|
||||
/obj/item/storage/box/vials
|
||||
name = "box of hypovials"
|
||||
|
||||
/obj/item/storage/box/vials/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/reagent_containers/glass/bottle/vial/small( src )
|
||||
@@ -63,16 +63,6 @@
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/dildo/custom
|
||||
|
||||
/datum/gear/paperbin
|
||||
name = "Paper Bin"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/paper_bin
|
||||
|
||||
/datum/gear/crayons
|
||||
name = "Box of crayons"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/storage/crayons
|
||||
|
||||
/datum/gear/toykatana
|
||||
name = "Toy Katana"
|
||||
category = SLOT_IN_BACKPACK
|
||||
@@ -99,4 +89,30 @@
|
||||
/datum/gear/tape
|
||||
name = "Spare cassette tape"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/tape/random
|
||||
path = /obj/item/tape/random
|
||||
|
||||
/datum/gear/newspaper
|
||||
name = "Newspaper"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/newspaper
|
||||
|
||||
/datum/gear/paperbin
|
||||
name = "Paper Bin"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/paper_bin
|
||||
|
||||
/datum/gear/crayons
|
||||
name = "Box of crayons"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/storage/crayons
|
||||
|
||||
/datum/gear/multipen
|
||||
name = "A multicolored pen"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/pen/fourcolor
|
||||
|
||||
/datum/gear/fountainpen
|
||||
name = "A fancy pen"
|
||||
category = SLOT_IN_BACKPACK
|
||||
path = /obj/item/pen/fountain
|
||||
cost = 2
|
||||
@@ -7,3 +7,10 @@
|
||||
name = "Fake moustache"
|
||||
category = SLOT_WEAR_MASK
|
||||
path = /obj/item/clothing/mask/fakemoustache
|
||||
|
||||
/datum/gear/joy
|
||||
name = "Joy mask"
|
||||
category = SLOT_WEAR_MASK
|
||||
path = /obj/item/clothing/mask/joy
|
||||
cost = 9
|
||||
|
||||
|
||||
@@ -64,6 +64,11 @@
|
||||
category = SLOT_WEAR_SUIT
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat
|
||||
|
||||
/datum/gear/coat/aformal
|
||||
name = "Assistant's formal winter coat"
|
||||
category = SLOT_WEAR_SUIT
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/aformal
|
||||
|
||||
/* Commented out until it is "balanced"
|
||||
/datum/gear/coat/sec
|
||||
name = "Security winter coat"
|
||||
@@ -78,13 +83,11 @@
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/medical
|
||||
restricted_roles = list("Chief Medical Officer", "Medical Doctor") // Reserve it to Medical Doctors and their boss, the Chief Medical Officer
|
||||
|
||||
/* Commented out until there is a Chemistry Winter Coat
|
||||
/datum/gear/coat/med/chem
|
||||
name = "Chemistry winter coat"
|
||||
/datum/gear/coat/robotics
|
||||
name = "Robotics winter coat"
|
||||
category = SLOT_WEAR_SUIT
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/medical/chemistry
|
||||
restricted_roles = list("Chief Medical Officer", "Chemist") // Reserve it to Chemists and their boss, the Chief Medical Officer
|
||||
*/
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/robotics
|
||||
restricted_roles = list("Research Director", "Roboticist")
|
||||
|
||||
/datum/gear/coat/sci
|
||||
name = "Science winter coat"
|
||||
|
||||
@@ -73,6 +73,11 @@
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/skirt/purple
|
||||
|
||||
/datum/gear/skirtplaid
|
||||
name = "Plaid skirt"
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/plaid_skirt
|
||||
|
||||
/datum/gear/schoolgirlblue
|
||||
name = "Blue Schoolgirl Uniform"
|
||||
category = SLOT_W_UNIFORM
|
||||
@@ -108,6 +113,11 @@
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/pants/camo
|
||||
|
||||
/datum/gear/athleticshorts
|
||||
name = "Athletic Shorts"
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/shorts
|
||||
|
||||
/datum/gear/bjeans
|
||||
name = "Black Jeans"
|
||||
category = SLOT_W_UNIFORM
|
||||
@@ -180,6 +190,11 @@
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/bb_sweater/blue
|
||||
|
||||
/datum/gear/keyholesweater
|
||||
name = "Keyhole Sweater"
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/keyholesweater
|
||||
|
||||
/datum/gear/polykilt
|
||||
name = "Polychromic Kilt"
|
||||
category = SLOT_W_UNIFORM
|
||||
@@ -334,4 +349,17 @@
|
||||
/datum/gear/christmasfemaleg
|
||||
name = "Green Feminine Christmas Suit"
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/christmas/christmasfemaleg
|
||||
path = /obj/item/clothing/under/christmas/christmasfemaleg
|
||||
|
||||
/datum/gear/pinkstripper
|
||||
name = "Pink stripper outfit"
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/stripper_pink
|
||||
cost = 3
|
||||
|
||||
/datum/gear/greenstripper
|
||||
name = "Green stripper outfit"
|
||||
category = SLOT_W_UNIFORM
|
||||
path = /obj/item/clothing/under/stripper_green
|
||||
cost = 3
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/living/carbon/adjustStaminaLossBuffered(amount, updating_stamina = 1)
|
||||
/mob/living/carbon/adjustStaminaLossBuffered(amount, updating_health = 1)
|
||||
if(status_flags & GODMODE)
|
||||
return 0
|
||||
if(CONFIG_GET(flag/disable_stambuffer))
|
||||
@@ -8,7 +8,7 @@
|
||||
adjustStaminaLoss(directstamloss)
|
||||
bufferedstam = CLAMP(bufferedstam + amount, 0, stambuffer)
|
||||
stambufferregentime = world.time + 10
|
||||
if(updating_stamina)
|
||||
if(updating_health)
|
||||
update_health_hud()
|
||||
|
||||
/mob/living/carbon/adjustStaminaLoss(amount, updating_health = TRUE, forced = FALSE, affected_zone = BODY_ZONE_CHEST)
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
var/oldpseudoheight = pseudo_z_axis
|
||||
. = ..()
|
||||
if(. && sprinting && !(movement_type & FLYING) && canmove && !resting && m_intent == MOVE_INTENT_RUN && has_gravity(loc) && !pulledby)
|
||||
doSprintLossTiles(1)
|
||||
if(!HAS_TRAIT(src, TRAIT_FREESPRINT))
|
||||
doSprintLossTiles(1)
|
||||
if((oldpseudoheight - pseudo_z_axis) >= 8)
|
||||
to_chat(src, "<span class='warning'>You trip off of the elevated surface!</span>")
|
||||
for(var/obj/item/I in held_items)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/living/proc/adjustStaminaLossBuffered(amount, updating_stamina = TRUE, forced = FALSE)
|
||||
/mob/living/proc/adjustStaminaLossBuffered(amount, updating_health = TRUE, forced = FALSE)
|
||||
return
|
||||
|
||||
/mob/living/proc/doSprintLossTiles(amount)
|
||||
|
||||
@@ -101,20 +101,39 @@
|
||||
pH = 7.6
|
||||
metabolization_rate = 0.05 //Give them time to graft
|
||||
data = list("grown_volume" = 0, "injected_vol" = 0)
|
||||
var/borrowed_health
|
||||
color = "#FFDADA"
|
||||
|
||||
/datum/reagent/synthtissue/reaction_mob(mob/living/M, method=TOUCH, reac_volume,show_message = 1)
|
||||
if(iscarbon(M))
|
||||
var/target = M.zone_selected
|
||||
if (M.stat == DEAD)
|
||||
show_message = 0
|
||||
var/mob/living/carbon/C = M
|
||||
var/healing_factor = (((data["grown_volume"] / 100) + 1)*reac_volume)
|
||||
if(method in list(PATCH, TOUCH))
|
||||
M.apply_damage(reac_volume*-1.5, BRUTE, target)
|
||||
M.apply_damage(reac_volume*-1.5, BURN, target)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='danger'>You feel your [target] heal! It stings like hell!</span>")
|
||||
if (M.stat == DEAD)
|
||||
M.visible_message("The synthetic tissue rapidly grafts into [M]'s wounds, attemping to repair the damage as quickly as possible.")
|
||||
borrowed_health += healing_factor
|
||||
M.adjustBruteLoss(-healing_factor*2)
|
||||
M.adjustFireLoss(-healing_factor*2)
|
||||
M.adjustToxLoss(-healing_factor)
|
||||
M.adjustCloneLoss(-healing_factor)
|
||||
M.updatehealth()
|
||||
if(data["grown_volume"] > 135 && ((C.health + C.oxyloss)>=80))
|
||||
if(M.revive())
|
||||
M.emote("gasp")
|
||||
borrowed_health *= 2
|
||||
if(borrowed_health < 100)
|
||||
borrowed_health = 100
|
||||
log_combat(M, M, "revived", src)
|
||||
else
|
||||
M.adjustBruteLoss(-healing_factor)
|
||||
M.adjustFireLoss(-healing_factor)
|
||||
to_chat(M, "<span class='danger'>You feel your flesh merge with the synthetic tissue! It stings like hell!</span>")
|
||||
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
|
||||
if(method==INJECT)
|
||||
data["injected_vol"] = reac_volume
|
||||
if(method==INJECT)
|
||||
data["injected_vol"] = reac_volume
|
||||
var/obj/item/organ/heart/H = C.getorganslot(ORGAN_SLOT_HEART)
|
||||
if(data["grown_volume"] > 50 && H.organ_flags & ORGAN_FAILING)
|
||||
H.applyOrganDamage(-20)
|
||||
..()
|
||||
|
||||
/datum/reagent/synthtissue/on_mob_life(mob/living/carbon/C)
|
||||
@@ -128,6 +147,10 @@
|
||||
to_chat(C, "<span class='notice'>You feel something reform inside of you!</span>")
|
||||
|
||||
data["injected_vol"] -= metabolization_rate
|
||||
if(borrowed_health)
|
||||
C.adjustToxLoss(1)
|
||||
C.adjustCloneLoss(1)
|
||||
borrowed_health -= 1
|
||||
..()
|
||||
|
||||
/datum/reagent/synthtissue/on_merge(passed_data)
|
||||
@@ -138,6 +161,7 @@
|
||||
if(iscarbon(holder.my_atom))
|
||||
data["injected_vol"] = data["injected_vol"] + passed_data["injected_vol"]
|
||||
passed_data["injected_vol"] = 0
|
||||
update_name()
|
||||
..()
|
||||
|
||||
/datum/reagent/synthtissue/on_new(passed_data)
|
||||
@@ -145,6 +169,32 @@
|
||||
return ..()
|
||||
if(passed_data["grown_volume"] > data["grown_volume"])
|
||||
data["grown_volume"] = passed_data["grown_volume"]
|
||||
update_name()
|
||||
..()
|
||||
|
||||
/datum/reagent/synthtissue/proc/update_name() //They are but babes on creation and have to grow unto godhood
|
||||
switch(data["grown_volume"])
|
||||
if(-INFINITY to 50)
|
||||
name = "Induced Synthtissue Colony"
|
||||
if(50 to 80)
|
||||
name = "Oligopotent Synthtissue Colony"
|
||||
if(80 to 135)
|
||||
name = "Pluripotent Synthtissue Colony"
|
||||
if(135 to 175)
|
||||
name = "SuperSomatic Synthtissue Colony"
|
||||
if(175 to INFINITY)
|
||||
name = "Omnipotent Synthtissue Colony"
|
||||
|
||||
/datum/reagent/synthtissue/on_mob_delete(mob/living/M)
|
||||
if(!iscarbon(M))
|
||||
return
|
||||
var/mob/living/carbon/C = M
|
||||
C.adjustBruteLoss(borrowed_health*1.25)
|
||||
C.adjustToxLoss(borrowed_health*1.25)
|
||||
C.adjustCloneLoss(borrowed_health*1.25)
|
||||
C.adjustAllOrganLoss(borrowed_health*0.25)
|
||||
M.updatehealth()
|
||||
if(borrowed_health && C.health < -20)
|
||||
M.stat = DEAD
|
||||
M.visible_message("The synthetic tissue degrades off [M]'s wounds as they collapse to the floor.")
|
||||
//NEEDS ON_MOB_DEAD()
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
if(src == C.head)
|
||||
C.emote("me",1,"tips their hat.",TRUE)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/hattip/equipped(mob/M, slot)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user