Minor adjustment to Spec Ops shuttle. You can no-longer use it if a strike team was not yet spawned.

Added a Spawn Xeno command to the admin fun menu. Work in progress but should generally work.
Fixed the strike team verb from not being properly removed by another proc.
More updated shieldgen code by Barhandar: singularity respects shieldwallgens and shieldwalls, so you can now make a singularity by using shield gens instead of emitters.
Updated shield generator sprites.
Animated field generator sprites.
Minor map changes.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@669 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
noisomehollow@lycos.com
2010-12-19 09:18:23 +00:00
parent 088f8c2202
commit 2cf36e8405
9 changed files with 7055 additions and 6990 deletions
+1 -1
View File
@@ -28,7 +28,7 @@
var/last_check = 0
var/check_delay = 10
var/recalc = 0
var/locked = 0
var/locked = 1
var/destroyed = 0
var/directwired = 1
// var/maxshieldload = 200
+15 -7
View File
@@ -22,7 +22,7 @@ However people seem to like it for some reason.
/obj/machinery/the_singularitygen/process()
var/checkpointC = 0
for (var/obj/X in orange(3,src))
if(istype(X, /obj/machinery/containment_field))
if(istype(X, /obj/machinery/containment_field) || istype(X, /obj/machinery/shieldwall))
checkpointC ++
if(checkpointC >= 20)
var/turf/T = src.loc
@@ -99,7 +99,7 @@ However people seem to like it for some reason.
else
var/checkpointC = 0
for (var/obj/X in orange(3,src))
if(istype(X, /obj/machinery/containment_field))
if(istype(X, /obj/machinery/containment_field) || istype(X, /obj/machinery/shieldwall))
checkpointC ++
if(checkpointC < 18)
src.active = 1
@@ -119,6 +119,12 @@ However people seem to like it for some reason.
continue
if(istype(X,/turf/space))
continue
if(istype(X,/obj/machinery/shieldwall))
continue
if(istype(X,/obj/machinery/shieldwallgen))
var/obj/machinery/shieldwallgen/S = X
if(S.active)
continue
if(!active)
if(isturf(X,/turf/simulated/floor/engine))
continue
@@ -136,19 +142,19 @@ However people seem to like it for some reason.
/obj/machinery/the_singularity/proc/move()
var/direction_go = pick(1,2,4,8)
if(locate(/obj/machinery/containment_field) in get_step(src,NORTH))
if(locate(/obj/machinery/containment_field) || locate(/obj/machinery/shieldwall) in get_step(src,NORTH))
if(direction_go == 1)
icon_state = "Singularity"
return
if(locate(/obj/machinery/containment_field) in get_step(src,SOUTH))
if(locate(/obj/machinery/containment_field) || locate(/obj/machinery/shieldwall) in get_step(src,SOUTH))
if(direction_go == 2)
icon_state = "Singularity"
return
if(locate(/obj/machinery/containment_field) in get_step(src,EAST))
if(locate(/obj/machinery/containment_field) || locate(/obj/machinery/shieldwall) in get_step(src,EAST))
if(direction_go == 4)
icon_state = "Singularity"
return
if(locate(/obj/machinery/containment_field) in get_step(src,WEST))
if(locate(/obj/machinery/containment_field) || locate(/obj/machinery/shieldwall) in get_step(src,WEST))
if(direction_go == 8)
icon_state = "Singularity"
return
@@ -170,13 +176,15 @@ However people seem to like it for some reason.
gain = 20
if(istype(A,/mob/living/carbon/human))
if(A:mind)
if(A:mind:assigned_role == "Station Engineer")
if((A:mind:assigned_role == "Station Engineer") || (A:mind:assigned_role == "Cief Engineer") )
gain = 100
A:gib()
else if(istype(A,/obj/))
if(istype(A,/obj/machinery/containment_field))
return
if(istype(A,/obj/machinery/shieldwall))
return
A:ex_act(1.0)
if(A) del(A)
gain = 2
+4
View File
@@ -88,6 +88,10 @@ var/specops_shuttle_timeleft = 0
user << "\red Access Denied."
return
if (sent_strike_team == 0)
usr << "\red The strike team has not yet deployed."
return
if(..())
return
+9 -1
View File
@@ -138,6 +138,7 @@
src.verbs += /client/proc/only_one // muskets
src.verbs += /client/proc/space_asshole // --Agouri :3
src.verbs += /client/proc/strike_team //N
src.verbs += /client/proc/spawn_xeno //N
src.verbs += /proc/possess
src.verbs += /proc/release
@@ -259,6 +260,7 @@
src.verbs += /client/proc/only_one // muskets
src.verbs += /client/proc/space_asshole // --Agouri :3
src.verbs += /client/proc/strike_team //N
src.verbs += /client/proc/spawn_xeno //N
src.verbs += /proc/possess
src.verbs += /proc/release
@@ -380,6 +382,7 @@
//src.verbs += /client/proc/cuban_pete // -- Urist
//src.verbs += /client/proc/space_asshole // --Agouri :3
//src.verbs += /client/proc/strike_team //N
src.verbs += /client/proc/spawn_xeno //N
src.verbs += /proc/possess
src.verbs += /proc/release
@@ -530,6 +533,7 @@
//src.verbs += /client/proc/cuban_pete // -- Urist
//src.verbs += /client/proc/space_asshole // --Agouri :3
//src.verbs += /client/proc/strike_team //N
src.verbs += /client/proc/spawn_xeno //N
src.verbs += /proc/possess
src.verbs += /proc/release
@@ -670,6 +674,7 @@
//src.verbs += /client/proc/cuban_pete // -- Urist
//src.verbs += /client/proc/space_asshole // --Agouri :3
//src.verbs += /client/proc/strike_team //N
//src.verbs += /client/proc/spawn_xeno //N
//src.verbs += /proc/possess
//src.verbs += /proc/release
@@ -806,6 +811,7 @@
//src.verbs += /client/proc/cuban_pete // -- Urist
//src.verbs += /client/proc/space_asshole // --Agouri :3
//src.verbs += /client/proc/strike_team //N
//src.verbs += /client/proc/spawn_xeno //N
//src.verbs += /proc/possess
//src.verbs += /proc/release
@@ -926,6 +932,7 @@
//src.verbs += /client/proc/cuban_pete // -- Urist
//src.verbs += /client/proc/space_asshole // --Agouri :3
//src.verbs += /client/proc/strike_team //N
//src.verbs += /client/proc/spawn_xeno //N
//src.verbs += /proc/possess
//src.verbs += /proc/release
@@ -1076,7 +1083,8 @@
src.verbs -= /client/proc/play_sound
src.verbs -= /client/proc/cuban_pete // -- Urist
src.verbs -= /client/proc/space_asshole // --Agouri :3
src.verbs += /client/proc/strike_team //N
src.verbs -= /client/proc/strike_team //N
src.verbs -= /client/proc/spawn_xeno //N
src.verbs -= /proc/possess
src.verbs -= /proc/release
+34
View File
@@ -237,6 +237,40 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
world << sound('ionstorm.ogg')
/client/proc/spawn_xeno()
set category = "Fun"
set name = "Spawn Xeno"
if(!src.authenticated || !src.holder)
src << "Only administrators may use this command."
return
var/list/xeno_list = list()
for(var/obj/landmark/X in world)
if (X.name == "xeno_spawn")
xeno_list+=(X)
if(xeno_list.len) goto NEXT
else
alert("There are no available spots to spawn the xeno. Aborting command.")
return
NEXT
var/obj/spawn_here = pick(xeno_list)
var/mob/living/carbon/alien/humanoid/new_xeno = new /mob/living/carbon/alien/humanoid(spawn_here.loc)
new_xeno.plasma = 250
var/list/candidates = list() // Picks a random ghost for the role. Mostly a copy of alien burst code.
for(var/mob/dead/observer/G in world)
if(G.client)
if(!G.client.holder && ((G.client.inactivity/10)/60) <= 5)
candidates.Add(G)
if(candidates.len)
var/mob/dead/observer/G = pick(candidates)
new_xeno.key = G.client.key
del(G)
else
alert("There are no available ghosts to throw into the xeno. Aborting command.")
del(new_xeno)
return
message_admins("\blue [key_name_admin(usr)] has spawned a filthy xeno at [new_xeno.loc].", 1)
/client/proc/cmd_admin_add_freeform_ai_law()
set category = "Fun"
+3 -1
View File
@@ -3,7 +3,9 @@ var/global/sent_strike_team = 0
/client/proc/strike_team()
set category = "Fun"
set name = "Spawn Death Squad"
if(!src.authenticated || !src.holder)
src << "Only administrators may use this command."
return
if(!ticker)
alert("The game hasn't started yet!")
return
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

+6989 -6980
View File
File diff suppressed because it is too large Load Diff