mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-06-09 07:23:22 +01:00
f9dd2de5f1
* Uplinks * Main menu + Status display control * Signaler + Homescreen Fixes * TGUI Power Monitors * PDA Power Monitor * PDA Medical Records * PDA Security Records * PDA Secbot Control (Pain) * PDA Mule Control (I hate this system) * PDA Supply Records * PDA Janitor Locator * PDA Notekeeper * PDA Manifest * PDA Atmos Scanner * Steel pass 1 * PDA Messenger * Removes browserPDA-era icons * PDA Nanomob (Why do we still support this thing) * Fixes random power monitor quirk * More steel tweaks * Even more steel tweaks * TM Tweaks Round 1 * \ref --> UID() * Styling
324 lines
9.0 KiB
Plaintext
324 lines
9.0 KiB
Plaintext
/obj/item/cartridge
|
|
name = "generic cartridge"
|
|
desc = "A data cartridge for portable microcomputers."
|
|
icon = 'icons/obj/pda.dmi'
|
|
icon_state = "cart"
|
|
item_state = "electronic"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
|
|
var/obj/item/integrated_radio/radio = null
|
|
|
|
var/charges = 0
|
|
|
|
var/list/stored_data = list()
|
|
var/list/programs = list()
|
|
var/list/messenger_plugins = list()
|
|
|
|
/obj/item/cartridge/Destroy()
|
|
QDEL_NULL(radio)
|
|
QDEL_LIST(programs)
|
|
QDEL_LIST(messenger_plugins)
|
|
return ..()
|
|
|
|
/obj/item/cartridge/proc/update_programs(obj/item/pda/pda)
|
|
for(var/A in programs)
|
|
var/datum/data/pda/P = A
|
|
P.pda = pda
|
|
for(var/A in messenger_plugins)
|
|
var/datum/data/pda/messenger_plugin/P = A
|
|
P.pda = pda
|
|
|
|
/obj/item/cartridge/engineering
|
|
name = "Power-ON Cartridge"
|
|
icon_state = "cart-e"
|
|
programs = list(
|
|
new/datum/data/pda/app/power,
|
|
new/datum/data/pda/utility/scanmode/halogen)
|
|
|
|
/obj/item/cartridge/atmos
|
|
name = "BreatheDeep Cartridge"
|
|
icon_state = "cart-a"
|
|
programs = list(new/datum/data/pda/utility/scanmode/gas)
|
|
|
|
/obj/item/cartridge/medical
|
|
name = "Med-U Cartridge"
|
|
icon_state = "cart-m"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/medical,
|
|
new/datum/data/pda/utility/scanmode/medical)
|
|
|
|
/obj/item/cartridge/chemistry
|
|
name = "ChemWhiz Cartridge"
|
|
icon_state = "cart-chem"
|
|
programs = list(new/datum/data/pda/utility/scanmode/reagent)
|
|
|
|
/obj/item/cartridge/security
|
|
name = "R.O.B.U.S.T. Cartridge"
|
|
icon_state = "cart-s"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/security,
|
|
new/datum/data/pda/app/secbot_control)
|
|
|
|
/obj/item/cartridge/security/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/beepsky(src)
|
|
|
|
/obj/item/cartridge/detective
|
|
name = "D.E.T.E.C.T. Cartridge"
|
|
icon_state = "cart-s"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/medical,
|
|
new/datum/data/pda/utility/scanmode/medical,
|
|
|
|
new/datum/data/pda/app/crew_records/security)
|
|
|
|
|
|
/obj/item/cartridge/janitor
|
|
name = "CustodiPRO Cartridge"
|
|
desc = "The ultimate in clean-room design."
|
|
icon_state = "cart-j"
|
|
programs = list(new/datum/data/pda/app/janitor)
|
|
|
|
/obj/item/cartridge/lawyer
|
|
name = "P.R.O.V.E. Cartridge"
|
|
icon_state = "cart-s"
|
|
programs = list(new/datum/data/pda/app/crew_records/security)
|
|
|
|
/obj/item/cartridge/clown
|
|
name = "Honkworks 5.0"
|
|
icon_state = "cart-clown"
|
|
charges = 5
|
|
programs = list(new/datum/data/pda/utility/honk)
|
|
messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/clown)
|
|
|
|
/obj/item/cartridge/mime
|
|
name = "Gestur-O 1000"
|
|
icon_state = "cart-mi"
|
|
charges = 5
|
|
messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/mime)
|
|
|
|
/*
|
|
/obj/item/cartridge/botanist
|
|
name = "Green Thumb v4.20"
|
|
icon_state = "cart-b"
|
|
access_flora = 1
|
|
*/
|
|
|
|
/obj/item/cartridge/signal
|
|
name = "generic signaler cartridge"
|
|
desc = "A data cartridge with an integrated radio signaler module."
|
|
programs = list(new/datum/data/pda/app/signaller)
|
|
|
|
/obj/item/cartridge/signal/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/signal(src)
|
|
|
|
/obj/item/cartridge/signal/toxins
|
|
name = "Signal Ace 2"
|
|
desc = "Complete with integrated radio signaler!"
|
|
icon_state = "cart-tox"
|
|
programs = list(
|
|
new/datum/data/pda/utility/scanmode/gas,
|
|
|
|
new/datum/data/pda/utility/scanmode/reagent,
|
|
|
|
new/datum/data/pda/app/signaller)
|
|
|
|
/obj/item/cartridge/quartermaster
|
|
name = "Space Parts & Space Vendors Cartridge"
|
|
desc = "Perfect for the Quartermaster on the go!"
|
|
icon_state = "cart-q"
|
|
programs = list(
|
|
new/datum/data/pda/app/supply,
|
|
new/datum/data/pda/app/mule_control)
|
|
|
|
/obj/item/cartridge/quartermaster/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/mule(src)
|
|
|
|
/obj/item/cartridge/head
|
|
name = "Easy-Record DELUXE"
|
|
icon_state = "cart-h"
|
|
programs = list(new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/hop
|
|
name = "HumanResources9001"
|
|
icon_state = "cart-h"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/security,
|
|
|
|
new/datum/data/pda/app/janitor,
|
|
|
|
new/datum/data/pda/app/supply,
|
|
new/datum/data/pda/app/mule_control,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/hop/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/mule(src)
|
|
|
|
/obj/item/cartridge/hos
|
|
name = "R.O.B.U.S.T. DELUXE"
|
|
icon_state = "cart-hos"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/security,
|
|
new/datum/data/pda/app/secbot_control,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/hos/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/beepsky(src)
|
|
|
|
/obj/item/cartridge/ce
|
|
name = "Power-On DELUXE"
|
|
icon_state = "cart-ce"
|
|
programs = list(
|
|
new/datum/data/pda/app/power,
|
|
new/datum/data/pda/utility/scanmode/halogen,
|
|
|
|
new/datum/data/pda/utility/scanmode/gas,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/cmo
|
|
name = "Med-U DELUXE"
|
|
icon_state = "cart-cmo"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/medical,
|
|
new/datum/data/pda/utility/scanmode/medical,
|
|
|
|
new/datum/data/pda/utility/scanmode/reagent,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/rd
|
|
name = "Signal Ace DELUXE"
|
|
icon_state = "cart-rd"
|
|
programs = list(
|
|
new/datum/data/pda/utility/scanmode/gas,
|
|
|
|
new/datum/data/pda/utility/scanmode/reagent,
|
|
|
|
new/datum/data/pda/app/signaller,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/rd/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/signal(src)
|
|
|
|
/obj/item/cartridge/captain
|
|
name = "Value-PAK Cartridge"
|
|
desc = "Now with 200% more value!"
|
|
icon_state = "cart-c"
|
|
programs = list(
|
|
new/datum/data/pda/app/power,
|
|
new/datum/data/pda/utility/scanmode/halogen,
|
|
|
|
new/datum/data/pda/utility/scanmode/gas,
|
|
|
|
new/datum/data/pda/app/crew_records/medical,
|
|
new/datum/data/pda/utility/scanmode/medical,
|
|
|
|
new/datum/data/pda/utility/scanmode/reagent,
|
|
|
|
new/datum/data/pda/app/crew_records/security,
|
|
new/datum/data/pda/app/secbot_control,
|
|
|
|
new/datum/data/pda/app/janitor,
|
|
|
|
new/datum/data/pda/app/supply,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/captain/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/beepsky(src)
|
|
|
|
/obj/item/cartridge/supervisor
|
|
name = "Easy-Record DELUXE"
|
|
icon_state = "cart-h"
|
|
programs = list(
|
|
new/datum/data/pda/app/crew_records/security,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/centcom
|
|
name = "Value-PAK Cartridge"
|
|
desc = "Now with 200% more value!"
|
|
icon_state = "cart-c"
|
|
programs = list(
|
|
new/datum/data/pda/app/power,
|
|
new/datum/data/pda/utility/scanmode/halogen,
|
|
|
|
new/datum/data/pda/utility/scanmode/gas,
|
|
|
|
new/datum/data/pda/app/crew_records/medical,
|
|
new/datum/data/pda/utility/scanmode/medical,
|
|
|
|
new/datum/data/pda/utility/scanmode/reagent,
|
|
|
|
new/datum/data/pda/app/crew_records/security,
|
|
new/datum/data/pda/app/secbot_control,
|
|
|
|
new/datum/data/pda/app/janitor,
|
|
|
|
new/datum/data/pda/app/supply,
|
|
|
|
new/datum/data/pda/app/status_display)
|
|
|
|
/obj/item/cartridge/centcom/Initialize(mapload)
|
|
. = ..()
|
|
radio = new /obj/item/integrated_radio/beepsky(src)
|
|
|
|
/obj/item/cartridge/syndicate
|
|
name = "Detomatix Cartridge"
|
|
icon_state = "cart"
|
|
var/initial_remote_door_id = "smindicate" //Make sure this matches the syndicate shuttle's shield/door id!! //don't ask about the name, testing.
|
|
charges = 4
|
|
programs = list(new/datum/data/pda/utility/toggle_door)
|
|
messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/detonate)
|
|
|
|
/obj/item/cartridge/syndicate/Initialize(mapload)
|
|
. = ..()
|
|
var/datum/data/pda/utility/toggle_door/D = programs[1]
|
|
if(istype(D))
|
|
D.remote_door_id = initial_remote_door_id
|
|
|
|
/obj/item/cartridge/frame
|
|
name = "F.R.A.M.E. cartridge"
|
|
icon_state = "cart"
|
|
charges = 5
|
|
var/telecrystals = 0
|
|
messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/frame)
|
|
|
|
/obj/item/cartridge/mob_hunt_game
|
|
name = "Nano-Mob Hunter GO! Cartridge"
|
|
desc = "The hit new PDA game that lets you track down and capture your favorite Nano-Mobs living in your world!"
|
|
icon_state = "cart-eye"
|
|
programs = list(new/datum/data/pda/app/mob_hunter_game)
|
|
var/emagged = 0
|
|
|
|
/obj/item/cartridge/mob_hunt_game/attackby(obj/item/O, mob/user, params)
|
|
if(istype(O, /obj/item/nanomob_card))
|
|
var/obj/item/nanomob_card/card = O
|
|
var/datum/data/pda/app/mob_hunter_game/my_game = programs[1]
|
|
if(my_game.register_capture(card.mob_data))
|
|
to_chat(user, "<span class='notice'>Transfer successful!</span>")
|
|
qdel(card)
|
|
else
|
|
to_chat(user, "<span class='warning'>Transfer failed. Could not read mob data from card.</span>")
|
|
else
|
|
..()
|
|
|
|
/obj/item/cartridge/mob_hunt_game/emag_act(mob/user)
|
|
if(!emagged)
|
|
emagged = 1
|
|
var/datum/data/pda/app/mob_hunter_game/my_game = programs[1]
|
|
my_game.hacked = 1
|
|
to_chat(user, "<span class='warning'>TR4P_M45T3R.mod successfully initialized. ToS violated. User Agreement nullified. Gotta pwn them all.</span>")
|
|
to_chat(user, "<span class='warning'>You can now create trapped versions of any mob in your collection that will damage hunters who attempt to capture it.</span>")
|
|
description_antag = "This copy of Nano-Mob Hunter GO! has been hacked to allow the creation of trap mobs which will cause any PDA that attempts to capture it to shock anyone holding it. Hacked copies of the game will not trigger the trap."
|