Files
Yogstation/code/game/objects/items/bell.dm
John Willard 892cee1705 Adds grep for mapload and var in Args (#19203)
* Adds grep for mapload and var in Args

* vars in args

* some more

* stuff

* Update shuttle_creator.dm

* Update __techweb_helpers.dm

* fix

* Update discoball.dm

* Update check_grep.sh

* Update check_grep.sh

* Update check_grep.sh

* Update check_grep.sh

* I'll finish this later

* datum and lateinit maploads

* componentinit stuff

* mapload fixes

* why isnt CI catching these major issues

* MERGE CONFLICT FUCKED MY PR OVER

* Update check_grep.sh

* Update food.dm
2023-06-15 12:04:36 -05:00

211 lines
5.4 KiB
Plaintext

/obj/item/deskbell
name = "desk bell"
desc = "ding. ding."
icon = 'icons/obj/bell.dmi'
icon_state = "bell"
force = 5
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
throw_speed = 4
throw_range = 10
attack_verb = list("rang")
hitsound = 'sound/items/bell.ogg'
materials = list(/datum/material/iron = 2000)
anchored = FALSE
var/ring_delay = 2 SECONDS
var/normal_sound = 'sound/items/bell.ogg'
var/agressive_sound = 'sound/items/bell_many.ogg'
var/obj/item/assembly/assembly
/obj/item/deskbell/Initialize(mapload)
. = ..()
if(ispath(assembly))
assembly = new assembly(src)
/obj/item/deskbell/wrench_act(mob/living/user, obj/item/I)
. = ..()
if(default_unfasten_wrench(user, I, 0 SECONDS))
return TRUE
/obj/item/deskbell/screwdriver_act(mob/living/user, obj/item/I)
. = ..()
if(!assembly)
to_chat(user, span_warning("[src] doesn't have a device inside!"))
return TRUE
I.play_tool_sound(src)
to_chat(user, span_notice("You remove [assembly] from [src]."))
user.put_in_hands(assembly)
assembly = null
return TRUE
/obj/item/deskbell/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/assembly))
if(assembly)
to_chat(user, span_warning("[src] already has a device inside!"))
return
if(!user.transferItemToLoc(I, src))
return
assembly = I
return
attack_hand(user)
..()
/obj/item/deskbell/attack_self(mob/living/carbon/user)
return attack_hand(user)
/obj/item/deskbell/attack_paw(mob/user)
return attack_hand(user)
/obj/item/deskbell/attack_animal(mob/user)
return attack_hand(user)
/obj/item/deskbell/attack_hand(mob/user)
ring(user.a_intent == INTENT_HARM)
add_fingerprint(user)
return
/obj/item/deskbell/proc/ring(aggressive)
if(TIMER_COOLDOWN_CHECK(src, "ring"))
return
TIMER_COOLDOWN_START(src, "ring", ring_delay)
flick("[icon_state]-push", src)
if(aggressive)
playsound(src, agressive_sound, 25)
else
playsound(src, normal_sound, 25)
if(assembly)
assembly.pulsed()
return TRUE
/obj/item/deskbell/MouseDrop(atom/over_object)
. = ..()
var/mob/living/M = usr
if(!istype(M) || M.incapacitated() || !Adjacent(M))
return
if(anchored)
to_chat(M, span_notice("[src] is currently anchored."))
return
if(over_object == M)
M.put_in_hands(src)
else if(istype(over_object, /atom/movable/screen/inventory/hand))
var/atom/movable/screen/inventory/hand/H = over_object
M.putItemFromInventoryInHandIfPossible(src, H.held_index)
add_fingerprint(M)
/obj/item/deskbell/preset
desc = "A bell hooked up to an automated announcement system that alerts the department of your request."
anchored = TRUE
assembly = /obj/item/assembly/radio/bell
// Command
/obj/item/deskbell/preset/hop
name = "\improper Head of Personnel's desk bell"
assembly = /obj/item/assembly/radio/bell/hop
// Sec
/obj/item/deskbell/preset/sec
name = "security desk bell"
assembly = /obj/item/assembly/radio/bell/sec
/obj/item/deskbell/preset/warden
name = "brig control desk bell"
assembly = /obj/item/assembly/radio/bell/warden
/obj/item/deskbell/preset/armory
name = "armory desk bell"
assembly = /obj/item/assembly/radio/bell/armory
// Engi
/obj/item/deskbell/preset/engi
name = "engineering desk bell"
assembly = /obj/item/assembly/radio/bell/engi
/obj/item/deskbell/preset/atmos
name = "atmospherics desk bell"
assembly = /obj/item/assembly/radio/bell/atmos
// Sci
/obj/item/deskbell/preset/sci
name = "science desk bell"
assembly = /obj/item/assembly/radio/bell/sci
/obj/item/deskbell/preset/robotics
name = "robotics desk bell"
assembly = /obj/item/assembly/radio/bell/robotics
/obj/item/deskbell/preset/xenobio
name = "xenobiology desk bell"
assembly = /obj/item/assembly/radio/bell/xenobio
// Med
/obj/item/deskbell/preset/med
name = "medbay desk bell"
assembly = /obj/item/assembly/radio/bell/med
/obj/item/deskbell/preset/chemistry
name = "chemistry desk bell"
assembly = /obj/item/assembly/radio/bell/chemistry
/obj/item/deskbell/preset/genetics
name = "genetics desk bell"
assembly = /obj/item/assembly/radio/bell/genetics
/obj/item/deskbell/preset/paramedic
name = "paramedic desk bell"
assembly = /obj/item/assembly/radio/bell/paramedic
// Supply
/obj/item/deskbell/preset/supply
name = "cargo desk bell"
assembly = /obj/item/assembly/radio/bell/supply
/obj/item/deskbell/preset/delivery
name = "delivery desk bell"
assembly = /obj/item/assembly/radio/bell/delivery
// Service
/obj/item/deskbell/preset/kitchen
name = "kitchen bell"
assembly = /obj/item/assembly/radio/bell/kitchen
/obj/item/deskbell/preset/bar
name = "bar bell"
assembly = /obj/item/assembly/radio/bell/bar
/obj/item/deskbell/preset/hydroponics
name = "hydroponics desk bell"
assembly = /obj/item/assembly/radio/bell/hydroponics
/obj/item/deskbell/preset/library
name = "library desk bell"
assembly = /obj/item/assembly/radio/bell/library
/// Buttons
/obj/item/deskbell/button
name = "button"
desc = "A button that can have devices inserted inside."
icon_state = "buttonred"
materials = list(/datum/material/plastic = 2000)
normal_sound = 'sound/machines/click.ogg'
agressive_sound = 'sound/machines/click.ogg'
/obj/item/deskbell/button/blue
icon_state = "buttonblue"
/obj/item/deskbell/button/meeting
name = "meeting request button"
desc = "A button that alerts command staff that a meeting is taking place."
assembly = /obj/item/assembly/radio/bell/meeting
/obj/item/deskbell/button/sec_meeting
name = "meeting request button"
desc = "A button that alerts security staff that a meeting is taking place."
assembly = /obj/item/assembly/radio/bell/sec_meeting