This commit is contained in:
Putnam
2020-01-08 17:08:01 -08:00
137 changed files with 9816 additions and 542 deletions
@@ -87,3 +87,12 @@
/datum/component/storage/concrete/pockets/pocketprotector/real_location()
// if the component is reparented to a jumpsuit, the items still go in the protector
return original_parent
/datum/component/storage/concrete/pockets/small/rushelmet
max_items = 1
quickdraw = TRUE
/datum/component/storage/concrete/pockets/small/rushelmet/Initialize()
. = ..()
can_hold = typecacheof(list(/obj/item/reagent_containers/glass/bottle,
/obj/item/ammo_box/a762))
+60
View File
@@ -0,0 +1,60 @@
/datum/element/wuv //D'awwwww
element_flags = ELEMENT_BESPOKE
id_arg_index = 2
//the for the me emote proc call when petted.
var/pet_emote
//whether the emote is visible or audible
var/pet_type
//same as above, except when harmed. "You are going into orbit, you stupid mutt!"
var/punt_emote
//same as pet_type
var/punt_type
//mood typepath for the moodlet signal when petted.
var/pet_moodlet
//same as above but for harm
var/punt_moodlet
/datum/element/wuv/Attach(datum/target, pet, pet_t, pet_mood, punt, punt_t, punt_mood)
. = ..()
if(!isliving(target))
return ELEMENT_INCOMPATIBLE
pet_emote = pet
pet_type = pet_t
punt_emote = punt
punt_type = punt_t
pet_moodlet = pet_mood
punt_moodlet = punt_mood
RegisterSignal(target, COMSIG_MOB_ATTACK_HAND, .proc/on_attack_hand)
/datum/element/wuv/proc/on_attack_hand(datum/source, mob/user)
var/mob/living/L = source
if(L.stat == DEAD)
return
//we want to delay the effect to be displayed after the mob is petted, not before.
switch(user.a_intent)
if(INTENT_HARM, INTENT_DISARM)
addtimer(CALLBACK(src, .proc/kick_the_dog, source, user), 1)
if(INTENT_HELP)
addtimer(CALLBACK(src, .proc/pet_the_dog, source, user), 1)
/datum/element/wuv/proc/pet_the_dog(mob/target, mob/user)
if(!QDELETED(target) || !QDELETED(user) || target.stat != CONSCIOUS)
return
new /obj/effect/temp_visual/heart(target.loc)
if(pet_emote)
target.emote("me", pet_type, pet_emote)
if(pet_moodlet && !CHECK_BITFIELD(target.flags_1, HOLOGRAM_1)) //prevents unlimited happiness petting park exploit.
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, target, pet_moodlet, target)
/datum/element/wuv/proc/kick_the_dog(mob/target, mob/user)
if(!QDELETED(target) || !QDELETED(user) || target.stat != CONSCIOUS)
return
if(punt_emote)
target.emote("me", punt_type, punt_emote)
if(punt_moodlet && !CHECK_BITFIELD(target.flags_1, HOLOGRAM_1))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, target, punt_moodlet, target)
+3 -1
View File
@@ -136,6 +136,7 @@
DISABLE_BITFIELD(L.client.prefs.chat_toggles,CHAT_OOC)
SEND_SIGNAL(src, COMSIG_MIND_TRANSFER, new_character, old_character)
SEND_SIGNAL(new_character, COMSIG_MOB_ON_NEW_MIND)
/datum/mind/proc/store_memory(new_text)
if((length(memory) + length(new_text)) <= MAX_MESSAGE_LEN)
@@ -520,7 +521,7 @@
if(!objective)
to_chat(usr,"Invalid objective.")
return
//qdel(objective) Needs cleaning objective destroys
qdel(objective) //TODO: Needs cleaning objective destroys (whatever that means)
message_admins("[key_name_admin(usr)] removed an objective for [current]: [objective.explanation_text]")
log_admin("[key_name(usr)] removed an objective for [current]: [objective.explanation_text]")
@@ -743,6 +744,7 @@
else
mind = new /datum/mind(key)
SSticker.minds += mind
SEND_SIGNAL(src, COMSIG_MOB_ON_NEW_MIND)
if(!mind.name)
mind.name = real_name
mind.current = src
@@ -23,10 +23,13 @@
mood_change = 3
timeout = 3000
/datum/mood_event/pet_corgi
description = "<span class='nicegreen'>Corgis are adorable! I can't stop petting them!</span>\n"
mood_change = 3
timeout = 3000
/datum/mood_event/pet_animal
description = "<span class='nicegreen'>Animals are adorable! I can't stop petting them!</span>\n"
mood_change = 2
timeout = 5 MINUTES
/datum/mood_event/pet_animal/add_effects(mob/animal)
description = "<span class='nicegreen'>\The [animal.name] is adorable! I can't stop petting [animal.p_them()]!</span>\n"
/datum/mood_event/honk
description = "<span class='nicegreen'>Maybe clowns aren't so bad after all. Honk!</span>\n"
+15
View File
@@ -10,6 +10,21 @@
suffix = "Box/Engine/engine_sm.dmm"
name = "Engine SM"
/datum/map_template/ruin/station/box/engine/onebythree
id = "engine_sm_1x3"
suffix = "Box/Engine/engine_sm_1x3.dmm"
name = "Engine SM 1x3"
/datum/map_template/ruin/station/box/engine/fivebyfive
id = "engine_sm_5x5"
suffix = "Box/Engine/engine_sm_5x5.dmm"
name = "Engine SM 5x5"
/datum/map_template/ruin/station/box/engine/threesm
id = "engine_sm_3x"
suffix = "Box/Engine/engine_sm_3x.dmm"
name = "Engine SM 3x"
/datum/map_template/ruin/station/box/engine/singulo
id = "engine_singulo"
suffix = "Box/Engine/engine_singulo.dmm"
+6
View File
@@ -99,6 +99,12 @@
id = "Mesmerize"
alert_type = /obj/screen/alert/status_effect/mesmerized
/datum/status_effect/no_combat_mode/mesmerize/on_apply()
ADD_TRAIT(owner, TRAIT_MUTE, "mesmerize")
/datum/status_effect/no_combat_mode/mesmerize/on_remove()
REMOVE_TRAIT(owner, TRAIT_MUTE, "mesmerize")
/obj/screen/alert/status_effect/mesmerized
name = "Mesmerized"
desc = "You cant tear your sight from who is in front of you...Their gaze is simply too enthralling.."
+9
View File
@@ -104,6 +104,15 @@
gain_text = "<span class='notice'>You desire to be hurt.</span>"
lose_text = "<span class='notice'>Pain has become less exciting for you.</span>"
/datum/quirk/coldblooded
name = "Cold-blooded"
desc = "Your body doesn't create its own internal heat, requiring external heat regulation."
value = 0
medical_record_text = "Patient is ectothermic."
mob_trait = TRAIT_COLDBLOODED
gain_text = "<span class='notice'>You feel cold-blooded.</span>"
lose_text = "<span class='notice'>You feel more warm-blooded.</span>"
/datum/quirk/alcohol_intolerance
name = "Alcohol Intolerance"
desc = "You take toxin damage from alcohol rather than getting drunk."