mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Initial version
This commit is contained in:
@@ -1452,6 +1452,37 @@ var/list/robot_verbs_default = list(
|
||||
radio.config(module.channels)
|
||||
notify_ai(2)
|
||||
|
||||
/mob/living/silicon/robot/ert
|
||||
designation = "ERT"
|
||||
lawupdate = 0
|
||||
scrambledcodes = 1
|
||||
req_access = list(access_cent_specops)
|
||||
ionpulse = 1
|
||||
|
||||
/mob/living/silicon/robot/ert/init()
|
||||
laws = new /datum/ai_laws/ert_override
|
||||
radio = new /obj/item/device/radio/borg/ert(src)
|
||||
radio.recalculateChannels()
|
||||
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
|
||||
|
||||
/mob/living/silicon/robot/ert/New(loc)
|
||||
..()
|
||||
cell.maxcharge = 25000
|
||||
cell.charge = 25000
|
||||
|
||||
/mob/living/silicon/robot/ert/gamma
|
||||
base_icon = "droidcombat"
|
||||
icon_state = "droidcombat"
|
||||
modtype = "Combat"
|
||||
designation = "Gamma"
|
||||
|
||||
/mob/living/silicon/robot/ert/gamma/init()
|
||||
..()
|
||||
module = new /obj/item/weapon/robot_module/combat(src)
|
||||
module.add_languages(src)
|
||||
module.add_subsystems_and_actions(src)
|
||||
status_flags &= ~CANPUSH
|
||||
|
||||
/mob/living/silicon/robot/nations
|
||||
base_icon = "droidpeace"
|
||||
icon_state = "droidpeace"
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
/datum/nano_module/ert_manager
|
||||
name = "ERT Manager"
|
||||
var ert_type = "Code Red"
|
||||
var commander_slots = 1
|
||||
var security_slots = 3
|
||||
var medical_slots = 3
|
||||
var engineering_slots = 3
|
||||
var janitor_slots = 0
|
||||
var paranormal_slots = 0
|
||||
var cyborg_slots = 0
|
||||
var autoclose = 0
|
||||
|
||||
|
||||
/datum/nano_module/ert_manager/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state)
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(ui && autoclose)
|
||||
ui.close()
|
||||
return 0
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "ert_config.tmpl", "ERT Panel", 600, 600, state = state)
|
||||
ui.open()
|
||||
ui.set_auto_update(1)
|
||||
|
||||
/datum/nano_module/ert_manager/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
|
||||
if(href_list["set_code"])
|
||||
ert_type = href_list["set_code"]
|
||||
|
||||
if(href_list["set_com"])
|
||||
commander_slots = text2num(href_list["set_com"])
|
||||
|
||||
if(href_list["set_sec"])
|
||||
security_slots = text2num(href_list["set_sec"])
|
||||
|
||||
if(href_list["set_med"])
|
||||
medical_slots = text2num(href_list["set_med"])
|
||||
|
||||
if(href_list["set_eng"])
|
||||
engineering_slots = text2num(href_list["set_eng"])
|
||||
|
||||
if(href_list["set_jan"])
|
||||
janitor_slots = text2num(href_list["set_jan"])
|
||||
|
||||
if(href_list["set_par"])
|
||||
paranormal_slots = text2num(href_list["set_par"])
|
||||
|
||||
if(href_list["set_cyb"])
|
||||
cyborg_slots = text2num(href_list["set_cyb"])
|
||||
|
||||
if(href_list["dispatch_ert"])
|
||||
ert_request_answered = 1
|
||||
message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team", 1)
|
||||
log_admin("[key_name(usr)] used Dispatch Emergency Response Team..")
|
||||
message_admins("Dispatching ERT with [commander_slots] com, [security_slots] sec, [medical_slots] med, [engineering_slots] eng, [janitor_slots] jan, [paranormal_slots] par, [cyborg_slots] cyb.")
|
||||
trigger_armed_response_team(convert_ert_string(ert_type), commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots)
|
||||
autoclose = 1
|
||||
|
||||
ui_interact(usr)
|
||||
|
||||
return 0
|
||||
|
||||
/proc/convert_ert_string(thestring)
|
||||
switch(thestring)
|
||||
if("Code Amber")
|
||||
return new /datum/response_team/amber
|
||||
if("Code Red")
|
||||
return new /datum/response_team/red
|
||||
if("Code Gamma")
|
||||
return new /datum/response_team/gamma
|
||||
|
||||
|
||||
/datum/nano_module/ert_manager/ui_data()
|
||||
var/data[0]
|
||||
data["alert_level"] = get_security_level()
|
||||
data["ert_type"] = ert_type
|
||||
data["com"] = commander_slots
|
||||
data["sec"] = security_slots
|
||||
data["med"] = medical_slots
|
||||
data["eng"] = engineering_slots
|
||||
data["jan"] = janitor_slots
|
||||
data["par"] = paranormal_slots
|
||||
data["cyb"] = cyborg_slots
|
||||
|
||||
return data
|
||||
|
||||
Reference in New Issue
Block a user