mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
@@ -115,11 +115,19 @@ proc/process_ghost_teleport_locs()
|
||||
name = "\improper Arrival Area"
|
||||
icon_state = "start"
|
||||
|
||||
/area/admin
|
||||
name = "\improper Admin room"
|
||||
/area/admin/
|
||||
name = "\improper Admin Room"
|
||||
icon_state = "start"
|
||||
lighting_use_dynamic = 0
|
||||
requires_power = 0
|
||||
|
||||
|
||||
/area/adminconstruction
|
||||
name = "\improper Admin Testing Area"
|
||||
icon_state = "start"
|
||||
lighting_use_dynamic = 0
|
||||
requires_power = 0
|
||||
|
||||
|
||||
//These are shuttle areas, they must contain two areas in a subgroup if you want to move a shuttle from one
|
||||
//place to another. Look at escape shuttle for example.
|
||||
|
||||
@@ -314,14 +314,14 @@ Implants;
|
||||
|
||||
comm.messagetitle.Add("Cent. Com. Status Summary")
|
||||
comm.messagetext.Add(intercepttext)
|
||||
world << sound('sound/AI/commandreport.ogg')
|
||||
/* world << sound('sound/AI/commandreport.ogg') */
|
||||
|
||||
/* command_alert("Summary downloaded and printed out at all communications consoles.", "Enemy communication intercept. Security Level Elevated.")
|
||||
command_alert("Summary downloaded and printed out at all communications consoles.", "Enemy communication intercepted. Security Level Elevated.")
|
||||
for(var/mob/M in player_list)
|
||||
if(!istype(M,/mob/new_player))
|
||||
M << sound('sound/AI/intercept.ogg')
|
||||
if(security_level < SEC_LEVEL_BLUE)
|
||||
set_security_level(SEC_LEVEL_BLUE)*/
|
||||
set_security_level(SEC_LEVEL_BLUE)
|
||||
|
||||
|
||||
/datum/game_mode/proc/get_players_for_role(var/role, override_jobbans=0)
|
||||
|
||||
@@ -60,31 +60,42 @@
|
||||
_color = "grey"
|
||||
can_label = 0
|
||||
|
||||
/*
|
||||
* return 0 (reached the proc code end)
|
||||
* 1 (canister is destroyed)
|
||||
*/
|
||||
/obj/machinery/portable_atmospherics/canister/update_icon()
|
||||
src.overlays = 0
|
||||
var/L[0]
|
||||
overlays = L
|
||||
|
||||
if (src.destroyed)
|
||||
src.icon_state = text("[]-1", src._color)
|
||||
if (destroyed)
|
||||
icon_state = "[_color]-1"
|
||||
return 1
|
||||
|
||||
else
|
||||
icon_state = "[_color]"
|
||||
if(holding)
|
||||
overlays += "can-open"
|
||||
icon_state = "[_color]"
|
||||
|
||||
if(connected_port)
|
||||
overlays += "can-connector"
|
||||
L += "can-o3"
|
||||
|
||||
var/tank_pressure = air_contents.return_pressure()
|
||||
var/tank_pressure = air_contents.return_pressure()
|
||||
|
||||
if (tank_pressure < 10)
|
||||
overlays += image('icons/obj/atmos.dmi', "can-o0")
|
||||
else if (tank_pressure < ONE_ATMOSPHERE)
|
||||
overlays += image('icons/obj/atmos.dmi', "can-o1")
|
||||
else if (tank_pressure < 15*ONE_ATMOSPHERE)
|
||||
overlays += image('icons/obj/atmos.dmi', "can-o2")
|
||||
else
|
||||
overlays += image('icons/obj/atmos.dmi', "can-o3")
|
||||
return
|
||||
if (tank_pressure < 10)
|
||||
L[L.len] = "can-o0"
|
||||
else if (tank_pressure < ONE_ATMOSPHERE)
|
||||
L[L.len] = "can-o1"
|
||||
else if (tank_pressure < 15 * ONE_ATMOSPHERE)
|
||||
L[L.len] = "can-o2"
|
||||
|
||||
tank_pressure = null
|
||||
|
||||
if (holding)
|
||||
L += "can-open"
|
||||
|
||||
if (connected_port)
|
||||
L += "can-connector"
|
||||
|
||||
overlays = L
|
||||
L = null
|
||||
return 0
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > temperature_resistance)
|
||||
|
||||
@@ -23,14 +23,14 @@ var/specops_shuttle_timeleft = 0
|
||||
var/specops_shuttle_timereset = 0
|
||||
|
||||
/proc/specops_return()
|
||||
var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
|
||||
announcer.config(list("Response Team" = 0))
|
||||
var/area/centcom/control/command = locate()//To find announcer. This area should exist for this proc to work.
|
||||
var/mob/living/silicon/decoy/announcer = locate() in command//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
|
||||
|
||||
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
|
||||
var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN\""//Initial message shown.
|
||||
if(announcer)
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.3)
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.1)
|
||||
announcer.say(message)
|
||||
announcer.say(message)
|
||||
|
||||
while(specops_shuttle_time - world.timeofday > 0)
|
||||
var/ticksleft = specops_shuttle_time - world.timeofday
|
||||
@@ -46,7 +46,7 @@ var/specops_shuttle_timeleft = 0
|
||||
message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\""
|
||||
if(rounded_time_left==0)
|
||||
message = "\"ALERT: TAKEOFF\""
|
||||
announcer.autosay(message, "A.L.I.C.E.", )
|
||||
announcer.say(message)
|
||||
message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
|
||||
//Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
|
||||
|
||||
@@ -95,20 +95,20 @@ var/specops_shuttle_timeleft = 0
|
||||
for(var/obj/machinery/computer/specops_shuttle/S in world)
|
||||
S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY
|
||||
|
||||
del(announcer)
|
||||
|
||||
/proc/specops_process()
|
||||
var/area/centcom/specops/special_ops = locate()//Where is the specops area located?
|
||||
var/obj/item/device/radio/intercom/announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
|
||||
announcer.config(list("Response Team" = 0))
|
||||
var/area/centcom/control/command = locate()//To find announcer. This area should exist for this proc to work.
|
||||
var/mob/living/silicon/decoy/announcer = locate() in command//We need a fake AI to announce some stuff below. Otherwise it will be wonky.
|
||||
|
||||
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
|
||||
var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH\""//Initial message shown.
|
||||
if(announcer)
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.3)
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.1)
|
||||
announcer.say(message)
|
||||
announcer.say(message)
|
||||
/*
|
||||
message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD"
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.1)
|
||||
announcer.say(message)
|
||||
*/
|
||||
|
||||
while(specops_shuttle_time - world.timeofday > 0)
|
||||
var/ticksleft = specops_shuttle_time - world.timeofday
|
||||
@@ -124,8 +124,8 @@ var/specops_shuttle_timeleft = 0
|
||||
message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\""
|
||||
if(rounded_time_left==0)
|
||||
message = "\"ALERT: TAKEOFF\""
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.3)
|
||||
announcer.autosay(message, "A.L.I.C.E.", 144.1)
|
||||
announcer.say(message)
|
||||
announcer.say(message)
|
||||
message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
|
||||
//Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
|
||||
|
||||
@@ -238,8 +238,6 @@ var/specops_shuttle_timeleft = 0
|
||||
for(var/obj/machinery/computer/specops_shuttle/S in world)
|
||||
S.specops_shuttle_timereset = world.time + SPECOPS_RETURN_DELAY
|
||||
|
||||
del(announcer)
|
||||
|
||||
/proc/specops_can_move()
|
||||
if(specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom)
|
||||
return 0
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
equip_cooldown = 15
|
||||
name = "CH-LC \"Solaris\" Laser Cannon"
|
||||
icon_state = "mecha_laser"
|
||||
energy_drain = 60
|
||||
energy_drain = 50
|
||||
projectile = /obj/item/projectile/beam/heavylaser
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
|
||||
|
||||
@@ -49,23 +49,23 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
|
||||
/obj/item/device/pda/medical
|
||||
default_cartridge = /obj/item/weapon/cartridge/medical
|
||||
icon_state = "pda-m"
|
||||
icon_state = "pda-medical"
|
||||
|
||||
/obj/item/device/pda/viro
|
||||
default_cartridge = /obj/item/weapon/cartridge/medical
|
||||
icon_state = "pda-v"
|
||||
icon_state = "pda-virology"
|
||||
|
||||
/obj/item/device/pda/engineering
|
||||
default_cartridge = /obj/item/weapon/cartridge/engineering
|
||||
icon_state = "pda-e"
|
||||
icon_state = "pda-engineer"
|
||||
|
||||
/obj/item/device/pda/security
|
||||
default_cartridge = /obj/item/weapon/cartridge/security
|
||||
icon_state = "pda-s"
|
||||
icon_state = "pda-security"
|
||||
|
||||
/obj/item/device/pda/detective
|
||||
default_cartridge = /obj/item/weapon/cartridge/detective
|
||||
icon_state = "pda-det"
|
||||
icon_state = "pda-security"
|
||||
|
||||
/obj/item/device/pda/warden
|
||||
default_cartridge = /obj/item/weapon/cartridge/security
|
||||
@@ -73,12 +73,12 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
|
||||
/obj/item/device/pda/janitor
|
||||
default_cartridge = /obj/item/weapon/cartridge/janitor
|
||||
icon_state = "pda-j"
|
||||
icon_state = "pda-janitor"
|
||||
ttone = "slip"
|
||||
|
||||
/obj/item/device/pda/toxins
|
||||
default_cartridge = /obj/item/weapon/cartridge/signal/toxins
|
||||
icon_state = "pda-tox"
|
||||
icon_state = "pda-science"
|
||||
ttone = "boom"
|
||||
|
||||
/obj/item/device/pda/clown
|
||||
@@ -119,7 +119,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
|
||||
/obj/item/device/pda/captain
|
||||
default_cartridge = /obj/item/weapon/cartridge/captain
|
||||
icon_state = "pda-c"
|
||||
icon_state = "pda-captain"
|
||||
detonate = 0
|
||||
//toff = 1
|
||||
|
||||
@@ -129,7 +129,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
|
||||
/obj/item/device/pda/quartermaster
|
||||
default_cartridge = /obj/item/weapon/cartridge/quartermaster
|
||||
icon_state = "pda-q"
|
||||
icon_state = "pda-qm"
|
||||
|
||||
/obj/item/device/pda/shaftminer
|
||||
icon_state = "pda-miner"
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
bullet_act(var/obj/item/projectile/Proj)
|
||||
if(istype(Proj ,/obj/item/projectile/beam/pulse))
|
||||
src.ex_act(1)
|
||||
src.ex_act(2)
|
||||
..()
|
||||
return 0
|
||||
|
||||
@@ -193,13 +193,13 @@
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(30))
|
||||
if (prob(75))
|
||||
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
|
||||
new remains(loc)
|
||||
qdel(src)
|
||||
return
|
||||
if(3.0)
|
||||
if (prob(5))
|
||||
if (prob(30))
|
||||
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
|
||||
new remains(loc)
|
||||
qdel(src)
|
||||
|
||||
+43
-18
@@ -149,34 +149,59 @@
|
||||
else
|
||||
usr << "The cover is closed."
|
||||
|
||||
|
||||
// update the APC icon to show the three base states
|
||||
// also add overlays for indicator lights
|
||||
/*
|
||||
* return 0 (reached the proc code end)
|
||||
* 1 (wires is exposed)
|
||||
* 2 (something is wrong)
|
||||
* 3 (broken)
|
||||
* 4 (opened)
|
||||
*/
|
||||
/obj/machinery/power/apc/update_icon()
|
||||
var/L[0]
|
||||
overlays = L
|
||||
|
||||
overlays.Cut()
|
||||
if(opened)
|
||||
var/basestate = "apc[ cell ? "2" : "1" ]" // if opened, show cell if it's inserted
|
||||
if (opened==1)
|
||||
if (stat & (MAINT|BROKEN))
|
||||
icon_state = "apcmaint" //disassembled APC cannot hold cell
|
||||
if (opened)
|
||||
// 2 = has cell, 1 = no cell
|
||||
var/basestate = "apc[cell ? "2" : "1"]"
|
||||
|
||||
if (opened == 1)
|
||||
if (stat & (BROKEN | MAINT))
|
||||
//disassembled APC cannot hold cell
|
||||
icon_state = "apcmaint"
|
||||
else
|
||||
icon_state = basestate
|
||||
else if (opened == 2)
|
||||
icon_state = "[basestate]-nocover"
|
||||
|
||||
basestate = null
|
||||
return 4
|
||||
else if (stat & BROKEN)
|
||||
icon_state = "apc-b"
|
||||
else if(emagged || malfai || spooky)
|
||||
return 3
|
||||
else if (emagged || malfai || spooky)
|
||||
icon_state = "apcemag"
|
||||
else if(wiresexposed)
|
||||
return 2
|
||||
else if (wiresexposed)
|
||||
icon_state = "apcewires"
|
||||
else
|
||||
icon_state = "apc0"
|
||||
// if closed, update overlays for channel status
|
||||
if(!(stat & (BROKEN|MAINT)))
|
||||
overlays.Add("apcox-[locked]","apco3-[charging]") // 0=blue 1=red // 0=red, 1=yellow/black 2=green
|
||||
if(operating)
|
||||
overlays.Add("apco0-[equipment]","apco1-[lighting]","apco2-[environ]") // 0=red, 1=green, 2=blue
|
||||
return 1
|
||||
|
||||
icon_state = "apc0"
|
||||
|
||||
if(!(stat & (BROKEN|MAINT)))
|
||||
// 0 = green, 1 = red
|
||||
L += "apcox-[locked]"
|
||||
// 0 = red, 1 = blue, 2 = green
|
||||
L += "apco3-[charging]"
|
||||
|
||||
if (operating)
|
||||
// 0 = red, 1 = yellow, 2 = green, 3 = blue
|
||||
L += "apco0-[equipment]"
|
||||
L += "apco1-[lighting]"
|
||||
L += "apco2-[environ]"
|
||||
|
||||
overlays = L
|
||||
L = null
|
||||
return 0
|
||||
|
||||
// Used in process so it doesn't update the icon too much
|
||||
/obj/machinery/power/apc/proc/queue_icon_update()
|
||||
|
||||
@@ -193,7 +193,7 @@ var/list/beam_master = list()
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
icon_state = "heavylaser"
|
||||
damage = 40
|
||||
damage = 45
|
||||
|
||||
/obj/item/projectile/beam/xray
|
||||
name = "xray beam"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 29 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 62 KiB |
+4042
-3956
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user