Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into update-config
This commit is contained in:
@@ -32,7 +32,6 @@
|
||||
min_val = 0
|
||||
|
||||
/datum/config_entry/flag/age_verification //are we using the automated age verification which asks users if they're 18+?
|
||||
default = TRUE
|
||||
|
||||
/datum/config_entry/flag/irc_first_connection_alert // do we notify the irc channel when somebody is connecting for the first time?
|
||||
|
||||
|
||||
@@ -110,10 +110,9 @@
|
||||
)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(isnull(held_item))
|
||||
switch(source.reskin_binding)
|
||||
if(COMSIG_CLICK_CTRL_SHIFT)
|
||||
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, "Reskin PDA")
|
||||
else
|
||||
LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Reskin [source]")
|
||||
return CONTEXTUAL_SCREENTIP_SET
|
||||
switch(source.reskin_binding)
|
||||
if(COMSIG_CLICK_CTRL_SHIFT)
|
||||
LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, "Reskin PDA")
|
||||
else
|
||||
LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Reskin [source]")
|
||||
return CONTEXTUAL_SCREENTIP_SET
|
||||
|
||||
@@ -240,18 +240,31 @@
|
||||
item_state = "box"
|
||||
|
||||
/obj/item/choice_beacon/box/plushie/generate_display_names()
|
||||
var/list/plushie_list = list()
|
||||
//plushie set 1: just subtypes of /obj/item/toy/plush
|
||||
var/list/plushies_set_one = subtypesof(/obj/item/toy/plush) - list(/obj/item/toy/plush/narplush, /obj/item/toy/plush/awakenedplushie, /obj/item/toy/plush/random_snowflake, /obj/item/toy/plush/plushling, /obj/item/toy/plush/random) //don't allow these special ones (you can still get narplush/hugbox)
|
||||
for(var/V in plushies_set_one)
|
||||
var/atom/A = V
|
||||
plushie_list[initial(A.name)] = A
|
||||
//plushie set 2: snowflake plushies
|
||||
var/list/plushies_set_two = CONFIG_GET(keyed_list/snowflake_plushies)
|
||||
for(var/V in plushies_set_two)
|
||||
plushie_list[V] = V //easiest way to do this which works with how selecting options works, despite being snowflakey to have the key equal the value
|
||||
var/static/list/plushie_list = list()
|
||||
if(!length(plushie_list))
|
||||
//plushie set 1: just subtypes of /obj/item/toy/plush
|
||||
var/list/plushies_set_one = subtypesof(/obj/item/toy/plush)
|
||||
plushies_set_one = remove_bad_plushies(plushies_set_one)
|
||||
for(var/V in plushies_set_one)
|
||||
var/atom/A = V
|
||||
plushie_list[initial(A.name)] = A
|
||||
//plushie set 2: snowflake plushies
|
||||
var/list/plushies_set_two = CONFIG_GET(keyed_list/snowflake_plushies)
|
||||
for(var/V in plushies_set_two)
|
||||
plushie_list[V] = V //easiest way to do this which works with how selecting options works, despite being snowflakey to have the key equal the value
|
||||
return plushie_list
|
||||
|
||||
/// Don't allow these special ones (you can still get narplush/hugbox)
|
||||
/obj/item/choice_beacon/box/plushie/proc/remove_bad_plushies(list/plushies)
|
||||
plushies -= list(
|
||||
/obj/item/toy/plush/narplush,
|
||||
/obj/item/toy/plush/awakenedplushie,
|
||||
/obj/item/toy/plush/random_snowflake,
|
||||
/obj/item/toy/plush/plushling,
|
||||
/obj/item/toy/plush/random
|
||||
)
|
||||
return plushies
|
||||
|
||||
/obj/item/skub
|
||||
desc = "It's skub."
|
||||
name = "skub"
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
attack_verb = list("thumped", "whomped", "bumped")
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
resistance_flags = FLAMMABLE
|
||||
lefthand_file = 'icons/mob/inhands/misc/plushes_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/misc/plushes_righthand.dmi'
|
||||
var/list/squeak_override //Weighted list; If you want your plush to have different squeak sounds use this
|
||||
var/stuffed = TRUE //If the plushie has stuffing in it
|
||||
var/unstuffable = FALSE //for plushies that can't be stuffed
|
||||
@@ -484,7 +486,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "space carp plushie"
|
||||
desc = "An adorable stuffed toy that resembles a space carp."
|
||||
icon_state = "carpplush"
|
||||
item_state = "carp_plushie"
|
||||
attack_verb = list("bitten", "eaten", "fin slapped")
|
||||
squeak_override = list('sound/weapons/bite.ogg'=1)
|
||||
|
||||
@@ -603,7 +604,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "lizard plushie"
|
||||
desc = "An adorable stuffed toy that resembles a lizardperson."
|
||||
icon_state = "plushie_lizard"
|
||||
item_state = "plushie_lizard"
|
||||
attack_verb = list("clawed", "hissed", "tail slapped")
|
||||
squeak_override = list('sound/weapons/slash.ogg' = 1)
|
||||
|
||||
@@ -611,19 +611,16 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "kobold plushie"
|
||||
desc = "An adorable stuffed toy that resembles a kobold."
|
||||
icon_state = "kobold"
|
||||
item_state = "kobold"
|
||||
|
||||
/obj/item/toy/plush/lizardplushie/kobold
|
||||
name = "spacelizard plushie"
|
||||
desc = "An adorable stuffed toy that resembles a lizard in a suit."
|
||||
icon_state = "plushie_spacelizard"
|
||||
item_state = "plushie_spacelizard"
|
||||
|
||||
/obj/item/toy/plush/nukeplushie
|
||||
name = "operative plushie"
|
||||
desc = "A stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious."
|
||||
icon_state = "plushie_nuke"
|
||||
item_state = "plushie_nuke"
|
||||
attack_verb = list("shot", "nuked", "detonated")
|
||||
squeak_override = list('sound/effects/hit_punch.ogg' = 1)
|
||||
|
||||
@@ -631,7 +628,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "slime plushie"
|
||||
desc = "An adorable stuffed toy that resembles a slime. It is practically just a hacky sack."
|
||||
icon_state = "plushie_slime"
|
||||
item_state = "plushie_slime"
|
||||
attack_verb = list("blorbled", "slimed", "absorbed", "glomped")
|
||||
squeak_override = list('sound/effects/blobattack.ogg' = 1)
|
||||
gender = FEMALE //given all the jokes and drawings, I'm not sure the xenobiologists would make a slimeboy
|
||||
@@ -640,7 +636,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "awakened plushie"
|
||||
desc = "An ancient plushie that has grown enlightened to the true nature of reality."
|
||||
icon_state = "plushie_awake"
|
||||
item_state = "plushie_awake"
|
||||
can_random_spawn = FALSE
|
||||
|
||||
/obj/item/toy/plush/awakenedplushie/ComponentInitialize()
|
||||
@@ -651,7 +646,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "bee plushie"
|
||||
desc = "A cute toy that resembles an even cuter bee."
|
||||
icon_state = "plushie_bee"
|
||||
item_state = "plushie_bee"
|
||||
attack_verb = list("stung")
|
||||
gender = FEMALE
|
||||
squeak_override = list('modular_citadel/sound/voice/scream_moth.ogg' = 1)
|
||||
@@ -660,7 +654,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "moth plushie"
|
||||
desc = "An adorable stuffed toy that resembles some kind of insect."
|
||||
icon_state = "moff"
|
||||
item_state = "moff"
|
||||
squeak_override = list('modular_citadel/sound/voice/mothsqueak.ogg' = 1)
|
||||
can_random_spawn = FALSE
|
||||
|
||||
@@ -668,7 +661,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "lamp plushie"
|
||||
desc = "A toy lamp plushie, doesn't actually make light, but it still toggles on and off. Click clack!"
|
||||
icon_state = "plushie_lamp"
|
||||
item_state = "plushie_lamp"
|
||||
attack_verb = list("lit", "flickered", "flashed")
|
||||
squeak_override = list('sound/weapons/magout.ogg' = 1)
|
||||
|
||||
@@ -676,72 +668,61 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "drake plushie"
|
||||
desc = "A large beast from lavaland turned into a marketable plushie!"
|
||||
icon_state = "drake"
|
||||
item_state = "drake"
|
||||
attack_verb = list("bit", "devoured", "burned")
|
||||
|
||||
/obj/item/toy/plush/deer
|
||||
name = "deer plushie"
|
||||
desc = "Oh deer, a plushie!"
|
||||
icon_state = "deer"
|
||||
item_state = "deer"
|
||||
attack_verb = list("bleated", "rammed", "kicked")
|
||||
|
||||
/obj/item/toy/plush/box
|
||||
name = "cardboard plushie"
|
||||
desc = "A toy box plushie, it holds cotten. Only a baddie would place a bomb through the postal system..."
|
||||
icon_state = "box"
|
||||
item_state = "box"
|
||||
attack_verb = list("open", "closed", "packed", "hidden", "rigged", "bombed", "sent", "gave")
|
||||
|
||||
/obj/item/toy/plush/slaggy
|
||||
name = "slag plushie"
|
||||
desc = "A piece of slag with some googly eyes and a drawn on mouth."
|
||||
icon_state = "slaggy"
|
||||
item_state = "slaggy"
|
||||
attack_verb = list("melted", "refined", "stared")
|
||||
|
||||
/obj/item/toy/plush/mr_buckety
|
||||
name = "bucket plushie"
|
||||
desc = "A bucket that is missing its handle with some googly eyes and a drawn on mouth."
|
||||
icon_state = "mr_buckety"
|
||||
item_state = "mr_buckety"
|
||||
attack_verb = list("filled", "dumped", "stared")
|
||||
|
||||
/obj/item/toy/plush/dr_scanny
|
||||
name = "scanner plushie"
|
||||
desc = "A old outdated scanner that has been modified to have googly eyes, a dawn on mouth and, heart."
|
||||
icon_state = "dr_scanny"
|
||||
item_state = "dr_scanny"
|
||||
attack_verb = list("scanned", "beeped", "stared")
|
||||
|
||||
/obj/item/toy/plush/borgplushie
|
||||
name = "K9 plushie"
|
||||
desc = "An adorable stuffed toy of a robot."
|
||||
icon_state = "securityk9"
|
||||
item_state = "securityk9"
|
||||
attack_verb = list("beeped", "booped", "pinged")
|
||||
squeak_override = list('sound/machines/beep.ogg' = 1)
|
||||
|
||||
/obj/item/toy/plush/borgplushie/medihound
|
||||
name = "medihound plushie"
|
||||
icon_state = "medihound"
|
||||
item_state = "medihound"
|
||||
|
||||
/obj/item/toy/plush/borgplushie/scrubpuppy
|
||||
name = "scrubpuppy plushie"
|
||||
icon_state = "scrubpuppy"
|
||||
item_state = "scrubpuppy"
|
||||
|
||||
/obj/item/toy/plush/borgplushie/pupdozer
|
||||
name = "pupdozer plushie"
|
||||
icon_state = "pupdozer"
|
||||
item_state = "pupdozer"
|
||||
|
||||
/obj/item/toy/plush/aiplush
|
||||
name = "AI plushie"
|
||||
desc = "A little stuffed toy AI core... it appears to be malfunctioning."
|
||||
icon_state = "malfai"
|
||||
item_state = "malfai"
|
||||
attack_verb = list("hacked", "detonated", "overloaded")
|
||||
squeak_override = list('sound/machines/beep.ogg' = 9, 'sound/machines/buzz-two.ogg' = 1)
|
||||
|
||||
@@ -749,7 +730,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "snake plushie"
|
||||
desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing."
|
||||
icon_state = "plushie_snake"
|
||||
item_state = "plushie_snake"
|
||||
attack_verb = list("bitten", "hissed", "tail slapped")
|
||||
squeak_override = list('modular_citadel/sound/voice/hiss.ogg' = 1)
|
||||
|
||||
@@ -757,20 +737,17 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "mammal plushie"
|
||||
desc = "An adorable stuffed toy resembling some sort of crew member."
|
||||
icon_state = "ych"
|
||||
item_state = "ych"
|
||||
can_random_spawn = FALSE
|
||||
|
||||
/obj/item/toy/plush/mammal/fox
|
||||
name = "fox plushie"
|
||||
desc = "An adorable stuffed toy resembling a fox."
|
||||
icon_state = "fox"
|
||||
item_state = "fox"
|
||||
attack_verb = list("yipped", "geckered", "yapped")
|
||||
|
||||
/obj/item/toy/plush/mammal/dog
|
||||
name = "dog plushie"
|
||||
icon_state = "corgi"
|
||||
item_state = "corgi"
|
||||
desc = "An adorable stuffed toy that resembles a dog."
|
||||
attack_verb = list("barked", "boofed", "borked")
|
||||
squeak_override = list(
|
||||
@@ -781,20 +758,17 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
/obj/item/toy/plush/mammal/dog/fcorgi
|
||||
name = "corgi plushie"
|
||||
icon_state = "girlycorgi"
|
||||
item_state = "girlycorgi"
|
||||
desc = "An adorable stuffed toy that resembles a dog. This one dons a pink ribbon."
|
||||
|
||||
/obj/item/toy/plush/mammal/dog/borgi
|
||||
name = "borgi plushie"
|
||||
icon_state = "borgi"
|
||||
item_state = "borgi"
|
||||
desc = "An adorable stuffed toy that resembles a robot dog."
|
||||
|
||||
/obj/item/toy/plush/xeno
|
||||
name = "xenohybrid plushie"
|
||||
desc = "An adorable stuffed toy that resembles a xenomorphic crewmember."
|
||||
icon_state = "xeno"
|
||||
item_state = "xeno"
|
||||
squeak_override = list('sound/voice/hiss2.ogg' = 1)
|
||||
can_random_spawn = FALSE
|
||||
|
||||
@@ -802,7 +776,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "bird plushie"
|
||||
desc = "An adorable stuffed plushie that resembles an avian."
|
||||
icon_state = "bird"
|
||||
item_state = "bird"
|
||||
attack_verb = list("peeped", "beeped", "poofed")
|
||||
squeak_override = list('modular_citadel/sound/voice/peep.ogg' = 1)
|
||||
can_random_spawn = FALSE
|
||||
@@ -811,7 +784,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "sergal plushie"
|
||||
desc = "An adorable stuffed plushie that resembles a sagaru."
|
||||
icon_state = "sergal"
|
||||
item_state = "sergal"
|
||||
squeak_override = list('modular_citadel/sound/voice/merp.ogg' = 1)
|
||||
can_random_spawn = FALSE
|
||||
|
||||
@@ -819,7 +791,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "feline plushie"
|
||||
desc = "An adorable stuffed toy that resembles a feline."
|
||||
icon_state = "cat"
|
||||
item_state = "cat"
|
||||
attack_verb = list("headbutt", "scritched", "bit")
|
||||
squeak_override = list('modular_citadel/sound/voice/nya.ogg' = 1)
|
||||
can_random_spawn = FALSE
|
||||
@@ -828,7 +799,6 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "medcat plushie"
|
||||
desc = "An affectionate stuffed toy that resembles a certain medcat, comes complete with battery operated wagging tail!! You get the impression she's cheering you on to to find happiness and be kind to people."
|
||||
icon_state = "fermis"
|
||||
item_state = "fermis"
|
||||
attack_verb = list("cuddled", "petpatted", "wigglepurred")
|
||||
squeak_override = list('modular_citadel/sound/voice/merowr.ogg' = 1)
|
||||
|
||||
@@ -836,20 +806,17 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
name = "teddy"
|
||||
desc = "It's a teddy bear!"
|
||||
icon_state = "teddy"
|
||||
item_state = "teddy"
|
||||
|
||||
/obj/item/toy/plush/crab
|
||||
name = "crab plushie"
|
||||
desc = "Fewer pinches than a real one, but it still clicks."
|
||||
icon_state = "crab"
|
||||
item_state = "crab"
|
||||
attack_verb = list("clicked", "clacked", "pinched")
|
||||
|
||||
/obj/item/toy/plush/gondola
|
||||
name = "gondola plushie"
|
||||
desc = "Just looking at it seems to calm you down. Please do not eat it though."
|
||||
icon_state = "gondola"
|
||||
item_state = "gondola"
|
||||
attack_verb = list("calmed", "smiled", "peaced")
|
||||
|
||||
/obj/item/toy/plush/hairball
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"<span class='warning'>[M.name] struggles to break free from the gelatinous resin!</span>",\
|
||||
"<span class='notice'>You struggle to break free from the gelatinous resin... (Stay still for two minutes.)</span>",\
|
||||
"<span class='italics'>You hear squelching...</span>")
|
||||
if(!do_after(M, 1200, target = src))
|
||||
if(!do_after(M, 2 MINUTES, target = src, timed_action_flags = (IGNORE_HELD_ITEM | IGNORE_INCAPACITATED), extra_checks = CALLBACK(M, TYPE_PROC_REF(/mob/living/carbon, cuff_resist_check))))
|
||||
if(M && M.buckled)
|
||||
to_chat(M, "<span class='warning'>You fail to unbuckle yourself!</span>")
|
||||
return
|
||||
@@ -48,8 +48,8 @@
|
||||
unbuckle_mob(M)
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/structure/bed/nest/user_buckle_mob(mob/living/M, mob/living/user)
|
||||
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.incapacitated() || M.buckled )
|
||||
/obj/structure/bed/nest/user_buckle_mob(mob/living/M, mob/living/carbon/user)
|
||||
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || !user.cuff_resist_check() || M.buckled )
|
||||
return
|
||||
|
||||
if(M.getorgan(/obj/item/organ/alien/plasmavessel))
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
MarkResistTime()
|
||||
visible_message("<span class='warning'>[src] attempts to unbuckle [p_them()]self!</span>", \
|
||||
"<span class='notice'>You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)</span>")
|
||||
if(do_after(src, buckle_cd, src, timed_action_flags = IGNORE_HELD_ITEM))
|
||||
if(do_after(src, buckle_cd, src, timed_action_flags = IGNORE_HELD_ITEM | IGNORE_INCAPACITATED, extra_checks = CALLBACK(src, .proc/cuff_resist_check)))
|
||||
if(!buckled)
|
||||
return
|
||||
buckled.user_unbuckle_mob(src, src)
|
||||
|
||||
BIN
icons/mob/inhands/misc/plushes_lefthand.dmi
Normal file
BIN
icons/mob/inhands/misc/plushes_lefthand.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
icons/mob/inhands/misc/plushes_righthand.dmi
Normal file
BIN
icons/mob/inhands/misc/plushes_righthand.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 23 KiB |
@@ -113,7 +113,6 @@
|
||||
desc = "While a normal carrot would be good for your eyes, this one seems a bit more for hugging then eating."
|
||||
icon = 'icons/obj/hydroponics/harvest.dmi'
|
||||
icon_state = "carrot"
|
||||
item_state = "carrot"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("slapped")
|
||||
resistance_flags = FLAMMABLE
|
||||
@@ -146,7 +145,6 @@
|
||||
desc = "A festive plush that squeeks when you squeeze it!"
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
icon_state = "pine_c"
|
||||
item_state = "pine_c"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("slapped")
|
||||
resistance_flags = FLAMMABLE
|
||||
@@ -547,7 +545,6 @@
|
||||
/obj/item/toy/plush/mammal/dog/fritz
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
icon_state = "fritz"
|
||||
item_state = "fritz"
|
||||
attack_verb = list("barked", "boofed", "shotgun'd")
|
||||
obj_flags = UNIQUE_RENAME
|
||||
unique_reskin = list(
|
||||
|
||||
Reference in New Issue
Block a user