Skip to content

Commit

Permalink
Merge pull request #22 from ParadiseSS13/so_funny
Browse files Browse the repository at this point in the history
So funny
  • Loading branch information
Venuska1117 authored Mar 31, 2024
2 parents 313640a + 8c90368 commit c8f69f3
Show file tree
Hide file tree
Showing 39 changed files with 126 additions and 33 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

#define ishuman(A) (istype(A, /mob/living/carbon/human))

#define ismonkey(A) (istype(A, /mob/living/carbon/human/monkey))

#define isalien(A) (istype(A, /mob/living/carbon/alien))

#define islarva(A) (istype(A, /mob/living/carbon/alien/larva))
Expand Down
5 changes: 5 additions & 0 deletions code/datums/keybindings/emote_keybinds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@
linked_emote = /datum/emote/living/choke
name = "Choke"

// just putting this here so CI clears
/datum/keybinding/emote/carbon/fuck
linked_emote = /datum/emote/living/carbon/human/aaauuuggghhh
name = "lmao"

/datum/keybinding/emote/collapse
linked_emote = /datum/emote/living/collapse
name = "Collapse"
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/cult/runes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@ structure_check() searches for nearby cultist structures required for the invoca
to_chat(M, "<span class='cultlarge'>\"I accept this sacrifice.\"</span>")
else
to_chat(M, "<span class='cultlarge'>\"I accept this meager sacrifice.\"</span>")
playsound(offering, 'sound/misc/demon_consume.ogg', 100, TRUE, SOUND_RANGE_SET(10))
playsound(offering, 'sound/effects/cultsacrifice.ogg', 100, TRUE, SOUND_RANGE_SET(10))

if(((ishuman(offering) || isrobot(offering) || isbrain(offering)) && offering.mind) && !worthless)
var/obj/item/soulstone/stone = new /obj/item/soulstone(get_turf(src))
Expand Down
2 changes: 2 additions & 0 deletions code/game/gamemodes/game_mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@
spawn (ROUNDSTART_LOGOUT_REPORT_TIME)
display_roundstart_logout_report()

sound_to_playing_players_on_station_level('sound/misc/no_escape.ogg', 50, channel = CHANNEL_FIREALARM)

INVOKE_ASYNC(src, PROC_REF(set_mode_in_db)) // Async query), dont bother slowing roundstart

generate_station_goals()
Expand Down
1 change: 1 addition & 0 deletions code/game/jobs/job/support.dm
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,7 @@
jobtype = /datum/job/mime

uniform = /obj/item/clothing/under/rank/civilian/mime
r_pocket = /obj/item/key/mime
suit = /obj/item/clothing/suit/suspenders
back = /obj/item/storage/backpack/mime
gloves = /obj/item/clothing/gloves/color/white
Expand Down
7 changes: 4 additions & 3 deletions code/game/machinery/doors/airlock.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
var/cur_command
/// Is a command actually running
var/command_running = FALSE

COOLDOWN_DECLARE(deniedCD)

/obj/machinery/door/airlock/welded
welded = TRUE
Expand Down Expand Up @@ -613,9 +613,10 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if("closing")
update_icon(AIRLOCK_CLOSING)
if("deny")
if(!stat)
if(!stat && COOLDOWN_FINISHED(src, deniedCD))
update_icon(AIRLOCK_DENY)
playsound(src,doorDeni,50,0,3)
playsound(src, doorDeni, 35, 0, 3)
COOLDOWN_START(src, deniedCD, 1.5 SECONDS)
sleep(6)
update_icon(AIRLOCK_CLOSED)

Expand Down
16 changes: 14 additions & 2 deletions code/game/machinery/doors/door.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,18 @@
if(HAS_TRAIT(src, TRAIT_CMAGGED))
cmag_switch(FALSE, user)
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/card/id/C
C = H.get_idcard(TRUE)
if(istype(C))
var/datum/money_account/A = C.get_card_account()
if(A?.try_withdraw_credits(2))
to_chat(user, "<span class='info'>DOOR FEE: 2 credits have been deducted from your account.</span>")
else
to_chat(user, "<span class='info'>Hobo detected, door fee is bypassed.</span>")
else
to_chat(user, "<span class='info'>Hobo detected, door fee is bypassed.</span>")
open()
if(isbot(user))
var/mob/living/simple_animal/bot/B = user
Expand Down Expand Up @@ -528,9 +540,9 @@
/obj/machinery/door/proc/update_bounds()
if(width <= 1)
return

QDEL_LIST_CONTENTS(fillers)

if(dir in list(EAST, WEST))
bound_width = width * world.icon_size
bound_height = world.icon_size
Expand Down
2 changes: 1 addition & 1 deletion code/game/mecha/equipment/weapons/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
icon_state = "mecha_disabler"
energy_drain = 30
projectile = /obj/item/projectile/beam/disabler
fire_sound = 'sound/weapons/taser2.ogg'
fire_sound = 'sound/weapons/taser.ogg'
harmful = FALSE

/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1177,6 +1177,7 @@
if(!(user.has_organ(zone))) // If they somehow don't have a head.
zone = "chest"
playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1)
playsound(src, 'sound/voice/now.ogg', 80, TRUE)
user.visible_message("<span class='danger'>[src] goes off!</span>")
post_shot(user)
user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
new /obj/item/toy/crayon/mime(src)
new /obj/item/reagent_containers/drinks/bottle/bottleofnothing(src)
new /obj/item/cane(src)
new /obj/item/key/mime(src)

/obj/structure/closet/secure_closet/syndicate_officer
name = "officer's locker"
Expand Down
9 changes: 6 additions & 3 deletions code/game/turfs/simulated/floor/chasm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,13 +147,15 @@
falling_atoms[AM] = TRUE
var/turf/T = locate(drop_x, drop_y, drop_z)
if(T)
AM.visible_message("<span class='boldwarning'>[AM] falls into [src]!</span>", "<span class='userdanger'>GAH! Ah... where are you?</span>")
T.visible_message("<span class='boldwarning'>[AM] falls from above!</span>")
AM.forceMove(T)
if(isliving(AM))
var/mob/living/L = AM
L.emote("aaauuuggghhh", intentional = FALSE)
L.Weaken(10 SECONDS)
L.adjustBruteLoss(30)
AM.visible_message("<span class='boldwarning'>[AM] falls into [src]!</span>", "<span class='userdanger'>GAH! Ah... where are you?</span>")
T.visible_message("<span class='boldwarning'>[AM] falls from above!</span>")
AM.forceMove(T)

falling_atoms -= AM

/turf/simulated/floor/chasm/straight_down
Expand Down Expand Up @@ -197,6 +199,7 @@
var/mob/living/L = AM
L.notransform = TRUE
L.Weaken(20 SECONDS)
L.emote("aaauuuggghhh", intentional = FALSE)
var/oldtransform = AM.transform
var/oldcolor = AM.color
var/oldalpha = AM.alpha
Expand Down
17 changes: 17 additions & 0 deletions code/modules/admin/admin_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ GLOBAL_LIST_INIT(admin_verbs_mentor, list(
/client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/
/client/proc/cmd_admin_pm_panel, /*admin-pm list*/
/client/proc/cmd_admin_pm_by_key_panel, /*admin-pm list by key*/
/client/proc/mentor_ghost, /*Allows us to ghost at will*/
/client/proc/openMentorTicketUI,
/client/proc/toggleMentorTicketLogs,
/client/proc/cmd_mentor_say /* mentor say*/
Expand Down Expand Up @@ -387,6 +388,22 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
// TODO: SStgui.on_transfer() to move windows from old and new
SSblackbox.record_feedback("tally", "admin_verb", 1, "Aghost") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

/client/proc/mentor_ghost()
set category = "Admin"
set name = "Mghost"

if(!check_rights(R_MENTOR))
return

if(isnewplayer(mob))
to_chat(src, "You can't ghost while you're still in the lobby! Join or observe first.")
return
if(!isliving(mob))
to_chat(src, "You're already a ghost!")
return
to_chat(src, "You are now a ghost!")
mob.gib()

/client/proc/invisimin()
set name = "Invisimin"
set category = "Admin"
Expand Down
7 changes: 7 additions & 0 deletions code/modules/mob/living/carbon/carbon_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,8 @@
M.apply_status_effect(effect.type)
return
// BEGIN HUGCODE - N3X
if(ismonkey(src)) // We like monkey
playsound(get_turf(src), 'sound/misc/monke.ogg', 75, 0, -1)
playsound(get_turf(src), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
if(M.zone_selected == "head")
M.visible_message(\
Expand Down Expand Up @@ -1144,6 +1146,11 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
// Something something don't run with scissors
moving_diagonally = 0 //If this was part of diagonal move slipping will stop it.
KnockDown(knockdown)

if(mind?.assigned_role == "Clown")
for(var/mob/living/carbon/human/H in GLOB.human_list)
playsound(H.loc, 'sound/misc/slip.ogg', 50, TRUE, -3)
H.KnockDown(knockdown)
return TRUE

/mob/living/carbon/proc/shock_reduction()
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/living/carbon/human/human_death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,13 @@
if(!IS_HORIZONTAL(src))
// keep us upright so the animation fits.
ADD_TRAIT(src, TRAIT_FORCED_STANDING, TRAIT_GENERIC)
emote("aaauuuggghhh", intentional = FALSE)
if(!death(TRUE) && stat != DEAD)
return FALSE
notransform = TRUE

dust_animation()

QDEL_IN(src, 2 SECONDS)
return TRUE

Expand Down
16 changes: 16 additions & 0 deletions code/modules/mob/living/carbon/human/human_emote.dm
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,22 @@
mob_type_allowed_typecache = list(/mob/living/carbon/human)
hands_use_check = TRUE

/datum/emote/living/carbon/human/aaauuuggghhh
key = "aaauuuggghhh"
message = "screams in agony!"
message_mime = "raises their hands and makes an agonized expression!"
emote_type = EMOTE_AUDIBLE
sound = 'sound/voice/dust.ogg'
vary = TRUE

/datum/emote/living/carbon/human/play_sound_effect(mob/living/carbon/human/user, intentional, sound_path, sound_volume)
if(intentional)
// get trolled idiot
user.visible_message("<span class='danger'>[user] starts having a seizure!</span>", "<span class='alert'>You have a seizure!</span>")
user.Paralyse(20 SECONDS)
user.Jitter(2000 SECONDS)
else
return ..()

/////////
// Species-specific emotes
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/simple_animal/bot/cleanbot.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//Cleanbot
/mob/living/simple_animal/bot/cleanbot
name = "\improper Cleanbot"
name = "\improper Wet Floor Bot"
desc = "A little cleaning robot, he looks so excited!"
icon = 'icons/obj/aibots.dmi'
icon_state = "cleanbot0"
Expand Down
21 changes: 10 additions & 11 deletions code/modules/mob/living/simple_animal/bot/medbot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

//Medbot
/mob/living/simple_animal/bot/medbot
name = "\improper Medibot"
name = "\improper Pillbot"
desc = "A little medical robot. He looks somewhat underwhelmed."
icon = 'icons/obj/aibots.dmi'
icon_state = "medibot0"
Expand Down Expand Up @@ -119,8 +119,6 @@

/mob/living/simple_animal/bot/medbot/update_overlays()
. = ..()
if(skin)
. += "medskin_[skin]"

/mob/living/simple_animal/bot/medbot/Initialize(mapload, new_skin)
. = ..()
Expand Down Expand Up @@ -286,10 +284,10 @@
if(assess_patient(H))
last_found = world.time
if((last_newpatient_speak + 300) < world.time) //Don't spam these messages!
var/list/messagevoice = list("Hey, [H.name]! Hold on, I'm coming." = 'sound/voice/mcoming.ogg', "Wait [H.name]! I want to help!" = 'sound/voice/mhelp.ogg', "[H.name], you appear to be injured!" = 'sound/voice/minjured.ogg')
var/list/messagevoice = list("Hey, [H.name]! Hold on, I'm coming." = 'sound/voice/medbot_scream.ogg', "Wait [H.name]! I want to help!" = 'sound/voice/medbot_scream.ogg', "[H.name], you appear to be injured!" = 'sound/voice/medbot_scream.ogg')
var/message = pick(messagevoice)
speak(message)
playsound(loc, messagevoice[message], 50, FALSE)
playsound(loc, messagevoice[message], 20, FALSE)
last_newpatient_speak = world.time
return H
else
Expand All @@ -308,10 +306,10 @@

if(!patient)
if(!shut_up && prob(1))
var/list/messagevoice = list("Radar, put a mask on!" = 'sound/voice/mradar.ogg', "There's always a catch, and I'm the best there is." = 'sound/voice/mcatch.ogg', "I knew it, I should've been a plastic surgeon." = 'sound/voice/msurgeon.ogg', "What kind of medbay is this? Everyone's dropping like flies." = 'sound/voice/mflies.ogg', "Delicious!" = 'sound/voice/mdelicious.ogg')
var/list/messagevoice = list("Radar, put a mask on!" = 'sound/voice/medbot_scream.ogg', "There's always a catch, and I'm the best there is." = 'sound/voice/medbot_scream.ogg', "I knew it, I should've been a plastic surgeon." = 'sound/voice/medbot_scream.ogg', "What kind of medbay is this? Everyone's dropping like flies." = 'sound/voice/medbot_scream.ogg', "Delicious!" = 'sound/voice/medbot_scream.ogg')
var/message = pick(messagevoice)
speak(message)
playsound(loc, messagevoice[message], 50, FALSE)
playsound(loc, messagevoice[message], 20, FALSE)
var/scan_range = (stationary_mode ? 1 : DEFAULT_SCAN_RANGE) //If in stationary mode, scan range is limited to adjacent patients.
patient = scan(/mob/living/carbon/human, oldpatient, scan_range)
oldpatient = patient
Expand Down Expand Up @@ -453,10 +451,10 @@
return

if(C.stat == DEAD || HAS_TRAIT(C, TRAIT_FAKEDEATH))
var/list/messagevoice = list("No! Stay with me!" = 'sound/voice/mno.ogg', "Live, damnit! LIVE!" = 'sound/voice/mlive.ogg', "I...I've never lost a patient before. Not today, I mean." = 'sound/voice/mlost.ogg')
var/list/messagevoice = list("No! Stay with me!" = 'sound/voice/medbot_scream.ogg', "Live, damnit! LIVE!" = 'sound/voice/medbot_scream.ogg', "I...I've never lost a patient before. Not today, I mean." = 'sound/voice/medbot_scream.ogg')
var/message = pick(messagevoice)
speak(message)
playsound(loc, messagevoice[message], 50, FALSE)
playsound(loc, messagevoice[message], 20, FALSE)
oldpatient = patient
soft_reset()
return
Expand All @@ -471,16 +469,17 @@
reagent_id = select_medication(C, beaker_injection)

if(!reagent_id) //If they don't need any of that they're probably cured!
var/list/messagevoice = list("All patched up!" = 'sound/voice/mpatchedup.ogg', "An apple a day keeps me away." = 'sound/voice/mapple.ogg', "Feel better soon!" = 'sound/voice/mfeelbetter.ogg')
var/list/messagevoice = list("All patched up!" = 'sound/voice/medbot_scream.ogg', "An apple a day keeps me away." = 'sound/voice/medbot_scream.ogg', "Feel better soon!" = 'sound/voice/medbot_scream.ogg')
var/message = pick(messagevoice)
speak(message)
playsound(loc, messagevoice[message], 50, FALSE)
playsound(loc, messagevoice[message], 20, FALSE)
bot_reset()
return
else
if(!emagged && !hijacked && check_overdose(patient, reagent_id, injection_amount))
soft_reset()
return
playsound(loc, 'sound/voice/medbot_scream.ogg', 20, FALSE)
C.visible_message("<span class='danger'>[src] is trying to inject [patient]!</span>", \
"<span class='userdanger'>[src] is trying to inject you!</span>")

Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/simple_animal/bot/secbot.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#define BATON_COOLDOWN 3.5 SECONDS

/mob/living/simple_animal/bot/secbot
name = "\improper Securitron"
name = "\improper Gunitron"
desc = "A little security robot. He looks less than thrilled."
icon = 'icons/obj/aibots.dmi'
icon_state = "secbot0"
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/living/simple_animal/friendly/mouse.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@
. = ..()
AddComponent(/datum/component/squeak, list('sound/creatures/mousesqueak.ogg' = 1), 100, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) //as quiet as a mouse or whatever

/mob/living/simple_animal/mouse/get_scooped(mob/living/carbon/grabber)
playsound(src, 'sound/creatures/a-rat.ogg', 100, 0)

/mob/living/simple_animal/mouse/handle_automated_action()
if(prob(chew_probability) && isturf(loc))
var/turf/simulated/floor/F = get_turf(src)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/projectiles/ammunition/energy_lens.dm
Original file line number Diff line number Diff line change
Expand Up @@ -163,14 +163,14 @@
muzzle_flash_color = LIGHT_COLOR_LIGHTBLUE
select_name = "disable"
e_cost = 50
fire_sound = 'sound/weapons/taser2.ogg'
fire_sound = 'sound/weapons/taser.ogg'
harmful = FALSE
delay = 0.6 SECONDS

/obj/item/ammo_casing/energy/disabler/smg
projectile_type = /obj/item/projectile/beam/disabler/weak
e_cost = 25
fire_sound = 'sound/weapons/taser3.ogg'
fire_sound = 'sound/weapons/taser.ogg'
click_cooldown_override = 2
variance = 15
randomspread = 1
Expand Down
3 changes: 3 additions & 0 deletions code/modules/projectiles/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,9 @@

target.visible_message("<span class='warning'>[user] pulls the trigger!</span>", "<span class='userdanger'>[user] pulls the trigger!</span>")

if(user == target)
playsound(src, 'sound/voice/now.ogg', 80, TRUE)

if(chambered && chambered.BB)
chambered.BB.damage *= 5

Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/projectile/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,7 @@

/obj/item/gun/projectile/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head")
user.apply_damage(300, BRUTE, affecting)
playsound(src, 'sound/voice/now.ogg', 100, TRUE)
user.visible_message("<span class='danger'>[user.name] fires [src] at [user.p_their()] head!</span>", "<span class='userdanger'>You fire [src] at your head!</span>", "<span class='italics'>You hear a gunshot!</span>")

/obj/item/gun/projectile/revolver/russian/soul
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/projectile_gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@
sleep(25)
if(user.l_hand == src || user.r_hand == src)
process_fire(user, user, 0, zone_override = "head")
playsound(src, 'sound/voice/now.ogg', 80, TRUE)
user.visible_message("<span class='suicide'>[user] blows [user.p_their()] brains out with [src]!</span>")
return BRUTELOSS
else
Expand Down
Loading

0 comments on commit c8f69f3

Please sign in to comment.