mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
most cameras on the station are now split up into networks. the larger departments all have camera computers to monitor their departments (security and ai can see everywhere). ai can now see multiple networks at once, legacy proc ai_network_change() now acts as a shortcut to let the ai jump to a specific network (picks a random cam in that network). cleaned up / added / removed numerous cameras all over the station to be in line with this update. all camera monitor computers can be built with a single camera circuitboard, simply click the circuitboard when in hand and select a department (must be authorised by a department head).
scattered minor updates, including removing unnecessary preceeding whitespace in the examine() verb. added the tajaran as an adminspawnable race, see the forum topic for more information. features: new non-human (feline) playable mob, slightly more vulnerable to heat than humans, can speak in private language understood only by other tajarans (and possibly adept adminhackers), uses mob/living/carbon/human as a base template, so there will be unintended side effects (such as human hair overlays). known bugs: ears/tail overlays, hud health (and temp?) display not updating, genetics will probably go haywire, speech bug means nothing can be said (high priority). for the love of god, let this commit go through without trouble. Signed-off-by: CaelAislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
var/obj/item/I = user.equipped()
|
||||
if(I && I.force)
|
||||
var/d = rand(round(I.force / 4), I.force)
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
var/organ = H.get_organ("chest")
|
||||
if (istype(organ, /datum/organ/external))
|
||||
|
||||
@@ -9,6 +9,25 @@
|
||||
possibleNames -= pickedName
|
||||
pickedName = null
|
||||
|
||||
networks = list("SS13",
|
||||
"Medbay",
|
||||
"Research",
|
||||
"Engineering",
|
||||
"Singularity",
|
||||
"Tcomsat",
|
||||
"Solars",
|
||||
"Security",
|
||||
"Cargo",
|
||||
"Bomb Testing",
|
||||
"Research",
|
||||
"Medbay",
|
||||
"Atmospherics",
|
||||
"Mess Hall",
|
||||
"Arrivals",
|
||||
"Singularity",
|
||||
"Arrivals",
|
||||
"Mine")
|
||||
|
||||
real_name = pickedName
|
||||
name = real_name
|
||||
anchored = 1
|
||||
@@ -347,7 +366,7 @@
|
||||
machine = null
|
||||
reset_view(null)
|
||||
return 0
|
||||
if (stat == 2 || !C.status || C.network != network) return 0
|
||||
if (stat == 2 || !C.status || !(C.network in src.networks) ) return 0
|
||||
|
||||
// ok, we're alive, camera is good and in our network...
|
||||
|
||||
@@ -460,7 +479,7 @@
|
||||
//Addition by Mord_Sith to define AI's network change ability
|
||||
/mob/living/silicon/ai/proc/ai_network_change()
|
||||
set category = "AI Commands"
|
||||
set name = "Change Camera Network"
|
||||
set name = "Jump to Camera Network"
|
||||
reset_view(null)
|
||||
machine = null
|
||||
src:cameraFollow = null
|
||||
@@ -480,12 +499,21 @@
|
||||
if (mind == M)
|
||||
cameralist[C.network] = C.network
|
||||
else
|
||||
if(C.network != "CREED" && C.network != "thunder" && C.network != "RD" && C.network != "toxins" && C.network != "Prison")
|
||||
if(C.network != "CREED" && C.network != "thunder" && C.network != "Prison" )
|
||||
cameralist[C.network] = C.network
|
||||
|
||||
network = input(usr, "Which network would you like to view?") as null|anything in cameralist
|
||||
src << "\blue Switched to [network] camera network."
|
||||
var/newnet = input(usr, "Which network would you like to view?") as null|anything in cameralist
|
||||
|
||||
cameralist = new/list
|
||||
for(var/obj/machinery/camera/C in world)
|
||||
if(C.network == newnet)
|
||||
cameralist.Add(C)
|
||||
|
||||
switchCamera( pick(cameralist) )
|
||||
src << "\blue Jumped to [newnet] camera network."
|
||||
//End of code by Mord_Sith
|
||||
//cael - with the multiple onstation networks all linked together, changing networks is legacy functionality
|
||||
//so i recycled it to instantly jump to any network
|
||||
|
||||
|
||||
/mob/living/silicon/ai/proc/choose_modules()
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
var/list/old_types = dd_text2list("[A.type]", "/")
|
||||
|
||||
for(var/obj/machinery/camera/current in world)
|
||||
if(user.network != current.network) continue
|
||||
if(!current.status) continue // ignore disabled cameras
|
||||
if( !(current.network in user.networks) ) continue
|
||||
if(!current.status) continue // ignore disabled cameras
|
||||
|
||||
//make sure it's the right direction
|
||||
if(dx && (current.x * dx <= old.x * dx))
|
||||
|
||||
@@ -50,6 +50,11 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/proc/istajaran(A)
|
||||
if(istype(A, /mob/living/carbon/human/tajaran))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/*proc/ishivebot(A)
|
||||
if(A && istype(A, /mob/living/silicon/hivebot))
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user