Adds admin logging to megafauna movement

🆑 coiax
rscadd: Admins are now notified if a megafauna uses a wormhole or a
shuttle.
rscadd: A new Shuttle Manipulator verb has been added for quick access
to probably the best and most bugfree feature on /tg/.
/🆑

Megafauna adminnotifies on portal TP

Standard shuttle names and logging

Also ignore .mdme files

Muh commit

Actually works and stuff
This commit is contained in:
Jack Edge
2016-05-27 00:38:25 +01:00
parent 9a30d223b3
commit 3910a546e6
19 changed files with 56 additions and 18 deletions

2
.gitignore vendored
View File

@@ -4,6 +4,7 @@
/data/**/*
#Ignore compiled files and other files generated during compilation.
*.mdme
*.dmb
*.rsc
*.lk
@@ -182,3 +183,4 @@ Temporary Items
*.before

View File

@@ -1807,7 +1807,7 @@
"aIM" = (/obj/machinery/camera/autoname,/turf/open/floor/engine,/area/toxins/xenobiology)
"aIN" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape)
"aIO" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti{name = "pasghetti"; pixel_x = 4; pixel_y = 7},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape)
"aIP" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency{dheight = 0; dir = 8; dwidth = 6; height = 18; travelDir = 90; width = 14},/obj/docking_port/stationary{dheight = 0; dir = 8; dwidth = 6; height = 18; id = "emergency_home"; name = "emergency evac bay"; width = 14},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"aIP" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency{dheight = 0; dir = 8; dwidth = 6; height = 18; travelDir = 90; width = 14; name = "Birdboat emergency shuttle"},/obj/docking_port/stationary{dheight = 0; dir = 8; dwidth = 6; height = 18; id = "emergency_home"; name = "emergency evac bay"; width = 14},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"aIQ" = (/obj/machinery/atmospherics/pipe/simple/cyan/hidden,/turf/open/floor/plasteel,/area/hallway/secondary/exit)
"aIR" = (/obj/machinery/hologram/holopad,/turf/open/floor/plasteel,/area/engine/engineering)
"aIS" = (/obj/structure/cable/cyan{icon_state = "1-4"},/obj/structure/cable/cyan{icon_state = "1-8"},/turf/open/floor/plasteel,/area/hallway/secondary/exit)

View File

@@ -46217,6 +46217,7 @@
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "Box emergency shuttle";
dir = 8
},
/obj/docking_port/stationary{

View File

@@ -59664,6 +59664,7 @@
/area/shuttle/escape)
"cgb" = (
/obj/docking_port/mobile/emergency{
name = "Box emergency shuttle";
dir = 2
},
/obj/docking_port/stationary{

View File

@@ -99116,7 +99116,7 @@
dir = 2;
dwidth = 5;
height = 14;
name = "MetaStation emergency shuttle";
name = "Meta emergency shuttle";
width = 25
},
/obj/docking_port/stationary{

View File

@@ -2611,7 +2611,7 @@
name = "Emergency Shuttle Airlock"
},
/obj/docking_port/mobile/emergency{
name = "BoxStation emergency shuttle"
name = "Box emergency shuttle"
},
/obj/docking_port/stationary{
dir = 4;

View File

@@ -44,7 +44,7 @@
"aR" = (/obj/machinery/door/airlock/shuttle,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"aS" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape)
"aT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti{name = "pasghetti";pixel_x = 4;pixel_y = 7},/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape)
"aU" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency{dheight = 0;dir = 8;dwidth = 6;height = 18;travelDir = 90;width = 14;timid = 1},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"aU" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency{dheight = 0;dir = 8;dwidth = 6;height = 18;travelDir = 90;width = 14;timid = 1;name = "Birdboat emergency escape shuttle"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"aV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape)
"aW" = (/obj/structure/chair{dir = 1},/obj/structure/window/reinforced,/turf/open/floor/plasteel{icon_state = "dark"},/area/shuttle/escape)
"aX" = (/turf/closed/wall/shuttle{icon_state = "swall2";dir = 2},/area/shuttle/escape)

View File

@@ -39,7 +39,7 @@
"aM" = (/obj/structure/table,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)
"aN" = (/turf/closed/wall/shuttle{icon_state = "swall7";dir = 2},/area/shuttle/escape)
"aO" = (/turf/closed/wall/shuttle{icon_state = "swallc4";dir = 2},/area/shuttle/escape)
"aP" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{timid = 1},/turf/open/floor/plating,/area/shuttle/escape)
"aP" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{timid = 1; name = "Box emergency shuttle"},/turf/open/floor/plating,/area/shuttle/escape)
"aQ" = (/obj/structure/extinguisher_cabinet{pixel_x = -5;pixel_y = 30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape)
"aR" = (/obj/structure/extinguisher_cabinet{pixel_x = 27;pixel_y = 0},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape)
"aS" = (/obj/structure/chair{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape)

View File

@@ -5,7 +5,7 @@
"ae" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape)
"af" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape)
"ag" = (/obj/structure/sign/nosmoking_2,/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/shuttle/escape)
"ah" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dir = 2;dwidth = 5;height = 14;name = "MetaStation emergency shuttle";width = 25;timid = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape)
"ah" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dir = 2;dwidth = 5;height = 14;name = "Meta emergency shuttle";width = 25;timid = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape)
"ai" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/shuttle/escape)
"aj" = (/turf/closed/wall/shuttle{tag = "icon-wall3 (NORTHWEST)";icon_state = "wall3";dir = 9},/area/shuttle/escape)
"ak" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/shuttle/escape)

View File

@@ -48,11 +48,11 @@
/datum/map_template/shuttle/emergency/birdboat
suffix = "birdboat"
name = "emergency shuttle (Birdboat)"
name = "Birdboat emergency shuttle"
/datum/map_template/shuttle/emergency/box
suffix = "box"
name = "emergency shuttle (Box)"
name = "Box emergency shuttle"
/datum/map_template/shuttle/emergency/clown
suffix = "clown"
@@ -85,7 +85,7 @@
/datum/map_template/shuttle/emergency/meta
suffix = "meta"
name = "emergency shuttle (Metastation)"
name = "Meta emergency shuttle"
/datum/map_template/shuttle/emergency/narnar
suffix = "narnar"

View File

@@ -49,6 +49,8 @@
qdel(src)
return
if (istype(M, /atom/movable))
if(istype(M, /mob/living/simple_animal/hostile/megafauna))
message_admins("[M] (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[M]'>FLW</A>) has teleported through [src].")
do_teleport(M, target, precision) ///You will appear adjacent to the beacon

View File

@@ -65,7 +65,8 @@ var/list/admin_verbs_admin = list(
/client/proc/toggle_AI_interact, /*toggle admin ability to interact with machines as an AI*/
/client/proc/customiseSNPC, /* Customise any interactive crewmembers in the world */
/client/proc/resetSNPC, /* Resets any interactive crewmembers in the world */
/client/proc/toggleSNPC /* Toggles an npc's processing mode */
/client/proc/toggleSNPC, /* Toggles an npc's processing mode */
/client/proc/open_shuttle_manipulator /* Opens shuttle manipulator UI */
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,

View File

@@ -983,3 +983,11 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits
message_admins("[key_name_admin(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].")
log_admin("[key_name(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].")
feedback_add_details("admin_verb","TAH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/open_shuttle_manipulator()
set category = "Admin"
set name = "Shuttle Manipulator"
set desc = "Opens the shuttle manipulator UI."
for(var/obj/machinery/shuttle_manipulator/M in machines)
M.ui_interact(usr)

View File

@@ -582,6 +582,7 @@
/obj/effect/portal/wormhole/jaunt_tunnel/teleport(atom/movable/M)
if(istype(M, /obj/effect))
return
if(istype(M, /atom/movable))
if(do_teleport(M, target, 6))
// KERPLUNK

View File

@@ -56,7 +56,7 @@
if(isliving(target))
var/mob/living/L = target
if(L.stat == DEAD)
usr.visible_message(
src.visible_message(
"<span class='danger'>[src] devours [L]!</span>",
"<span class='userdanger'>You feast on [L], restoring your health!</span>")
adjustBruteLoss(-L.maxHealth)

View File

@@ -33,3 +33,13 @@
else
..()
/mob/living/simple_animal/hostile/megafauna/onShuttleMove()
var/turf/oldloc = loc
. = ..()
if(!.)
return
var/turf/newloc = loc
message_admins("Megafauna [src] \
(<A HREF='?_src_=holder;adminplayerobservefollow=\ref[src]'>FLW</A>) \
moved via shuttle from ([oldloc.x],[oldloc.y],[oldloc.z]) to \
([newloc.x],[newloc.y],[newloc.z])")

View File

@@ -276,10 +276,12 @@
timer = world.time
send2irc("Server", "The Emergency Shuttle has docked with the station.")
priority_announce("The Emergency Shuttle has docked with the station. You have [timeLeft(600)] minutes to board the Emergency Shuttle.", null, 'sound/AI/shuttledock.ogg', "Priority")
feedback_add_details("emergency_shuttle", src.name)
//Gangs only have one attempt left if the shuttle has docked with the station to prevent suffering from dominator delays
for(var/datum/gang/G in ticker.mode.gangs)
if(isnum(G.dom_timer))
G.dom_attempts = 0
else
G.dom_attempts = min(1,G.dom_attempts)

View File

@@ -156,9 +156,14 @@
else if(S)
. = TRUE
// If successful, returns the mobile docking port
var/mdp = action_load(S)
var/obj/docking_port/mobile/mdp = action_load(S)
if(mdp)
user.forceMove(get_turf(mdp))
message_admins("[key_name_admin(usr)] loaded [mdp] \
with the shuttle manipulator.")
log_admin("[key_name(usr)] loaded [mdp] with the \
shuttle manipulator.</span>")
feedback_add_details("shuttle_manipulator", mdp.name)
update_icon()
@@ -219,8 +224,6 @@
existing_shuttle = null
selected = null
return preview_shuttle
/obj/machinery/shuttle_manipulator/proc/load_template(
datum/map_template/shuttle/S)
// load shuttle template, centred at shuttle import landmark,

View File

@@ -26,8 +26,14 @@ def stage1():
wait(p)
play("sound/misc/compiler-stage1.ogg")
def stage2():
p = subprocess.Popen("DreamMaker tgstation.dme", shell=True)
def stage2(map):
if map:
txt = "-M{}".format(map)
else:
txt = ''
args = "bash dm.sh {} tgstation.dme".format(txt)
print(args)
p = subprocess.Popen(args, shell=True)
wait(p)
def stage3():
@@ -56,6 +62,7 @@ def main():
parser = argparse.ArgumentParser()
parser.add_argument('-s','---stage',default=1,type=int)
parser.add_argument('--only',action='store_true')
parser.add_argument('-m','--map',type=str)
args = parser.parse_args()
stage = args.stage
assert stage in (1,2,3)
@@ -64,7 +71,7 @@ def main():
if not args.only:
stage = 2
if stage == 2:
stage2()
stage2(args.map)
if not args.only:
stage = 3
if stage == 3: