Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
MosleyTheMalO committed Oct 5, 2023
2 parents 7ae54a3 + fb42d62 commit cd026aa
Show file tree
Hide file tree
Showing 22 changed files with 448 additions and 300 deletions.
Binary file modified auxmos.dll
Binary file not shown.
Binary file modified auxmos.pdb
Binary file not shown.
1 change: 0 additions & 1 deletion code/controllers/configuration/entries/connections.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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+?
config_entry_value = TRUE

/datum/config_entry/flag/irc_first_connection_alert // do we notify the irc channel when somebody is connecting for the first time?

Expand Down
13 changes: 6 additions & 7 deletions code/datums/elements/object_reskinning.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
33 changes: 23 additions & 10 deletions code/game/objects/items/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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, /obj/item/toy/plush/goatplushie, /obj/item/toy/plush/goatplushie/angry, /obj/item/toy/plush/goatplushie/angry/realgoat, /obj/item/toy/plush/realgoat, /obj/item/toy/plush/goatplushie/angry/kinggoat, /obj/item/toy/plush/goatplushie/angry/kinggoat/ascendedkinggoat, /obj/item/toy/plush/goatplushie/angry/guardgoat, /obj/item/toy/plush/goatplushie/angry/guardgoat/masterguardgoat) //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"
Expand Down
43 changes: 8 additions & 35 deletions code/game/objects/items/plushes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -180,6 +182,10 @@
. = ..()
if(stuffed || grenade)
to_chat(user, "<span class='notice'>You pet [src]. D'awww.</span>")
visible_message("<span class='notice'>[loc == user ? user : "Someone"] pets [src]. D'awww.</span>", ignored_mobs = user)
if(isturf(user.loc) && COOLDOWN_FINISHED(src, petting_heart_cooldown))
new /obj/effect/temp_visual/heart(user.loc)
COOLDOWN_START(src, petting_heart_cooldown, 5)
if(grenade && !grenade.active)
if(istype(grenade, /obj/item/grenade/chem_grenade))
var/obj/item/grenade/chem_grenade/G = grenade
Expand All @@ -193,6 +199,8 @@
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT,"plush_nostuffing", /datum/mood_event/plush_nostuffing)

/obj/item/toy/plush/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/pen))
return ..()
if(I.get_sharpness())
if(!grenade)
if(unstuffable)
Expand Down Expand Up @@ -484,7 +492,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)

Expand Down Expand Up @@ -603,35 +610,30 @@ 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)

/obj/item/toy/plush/lizardplushie/kobold
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)

/obj/item/toy/plush/slimeplushie
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
Expand All @@ -640,7 +642,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()
Expand All @@ -651,7 +652,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)
Expand All @@ -660,117 +660,100 @@ 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

/obj/item/toy/plush/lampplushie
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)

/obj/item/toy/plush/drake
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)

/obj/item/toy/plush/snakeplushie
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)

/obj/item/toy/plush/mammal
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(
Expand All @@ -781,28 +764,24 @@ 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

/obj/item/toy/plush/bird
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
Expand All @@ -811,15 +790,13 @@ 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

/obj/item/toy/plush/catgirl
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
Expand All @@ -828,28 +805,24 @@ 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)

/obj/item/toy/plush/teddybear
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
Expand Down
6 changes: 6 additions & 0 deletions html/changelogs/archive/2023-10.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
- tweak: makes the gas mask in loadouts no longer restricted
Vhariik:
- rscdel: Sci machinery
2023-10-04:
SmiLeYre and SandPoot:
- rscadd: Patting plushies will make hearts like patting Ian.
- rscadd: Plushies can be renamed.
- rscadd: Added some extra plushies.
- imageadd: Added held sprite for most modular plushies.
2023-10-05:
Anonymous:
- bugfix: Fixes Bane Syndrome quirk overwriting loadout's masks. Now the mask from
Expand Down
Binary file added icons/mob/inhands/misc/plushes_lefthand.dmi
Binary file not shown.
Binary file added icons/mob/inhands/misc/plushes_righthand.dmi
Binary file not shown.
3 changes: 0 additions & 3 deletions modular_citadel/code/modules/custom_loadout/custom_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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(
Expand Down
2 changes: 1 addition & 1 deletion modular_sand/code/datums/interactions/lewd_definitions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,7 @@
did_anything = FALSE
if(did_anything)
LAZYADD(obscure_to, src)
else //todo: better self cum messages
if(!message) //todo: better self cum messages
message = "cums all over themselves!"
if(gender == MALE)
playlewdinteractionsound(loc, pick('modular_sand/sound/interactions/final_m1.ogg',
Expand Down
Loading

0 comments on commit cd026aa

Please sign in to comment.