Advertisement
Guest User

Untitled

a guest
Feb 29th, 2020
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. /obj/machinery/metal_detector
  2. name = "metal detector"
  3. desc = "A advanced metal detector used to detect weapons."
  4. icon = 'icons/obj/machines/metal_detector.dmi'
  5. icon_state = "metal_detector"
  6. plane = ABOVE_HUMAN_PLANE
  7. layer = ABOVE_HUMAN_LAYER
  8. anchored = 1
  9.  
  10. var/list/banned_objects=list(/obj/item/weapon/gun,
  11. /obj/item/weapon/material,
  12. /obj/item/weapon/melee,
  13. /obj/item/device/transfer_valve,
  14. /obj/item/weapon/grenade/,
  15. /obj/item/ammo_casing/,
  16. /obj/item/ammo_magazine
  17. )
  18.  
  19. req_access = list(access_security)
  20.  
  21. /obj/machinery/metal_detector/New()
  22. ..()
  23. component_parts = list()
  24. component_parts += new /obj/item/weapon/circuitboard/metal_detector(src)
  25. component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
  26. component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
  27. component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
  28. component_parts += new /obj/item/weapon/stock_parts/console_screen(src)
  29. RefreshParts()
  30.  
  31. /obj/machinery/metal_detector/attackby(obj/item/W, mob/usr)
  32.  
  33. if(default_deconstruction_screwdriver(usr, W))
  34. return
  35.  
  36. if(default_deconstruction_crowbar(usr, W))
  37. return
  38.  
  39. /obj/machinery/metal_detector/Crossed(var/atom/A)
  40. if(istype(A, /mob/living))
  41. var/mob/living/M = A
  42. if(src.allowed(M))
  43. return //Faction-members with security access are immune.
  44.  
  45. check_items(recursive_content_check(src.loc, sight_check = FALSE, include_mobs = FALSE, recursion_limit = 4))
  46. ..()
  47.  
  48. /obj/machinery/metal_detector/proc/check_items(var/list/L)
  49. for(var/O in banned_objects)
  50. for(var/A in L)
  51. if(istype(A, O))
  52. flick("metal_detector_anim",src)
  53. visible_message("<span class='danger'>\The [src] sends off an alarm!</span>")
  54. playsound(src, 'sound/ambience/alarm4.ogg', 60, 1)
  55. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement