diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 36892be518a..5014e1707fb 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -127,4 +127,8 @@ channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1) /obj/item/device/encryptionkey/omni //Literally only for the admin intercoms - channels = list("Mercenary" = 1, "Raider" = 1, "Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1) \ No newline at end of file + channels = list("Mercenary" = 1, "Raider" = 1, "Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1) + +/obj/item/device/encryptionkey/ent + name = "entertainment encryption key" + channels = list("Entertainment" = 1) diff --git a/code/modules/awaymissions/redgate.dm b/code/modules/awaymissions/redgate.dm index fa011ca88b3..1671cafe04e 100644 --- a/code/modules/awaymissions/redgate.dm +++ b/code/modules/awaymissions/redgate.dm @@ -11,7 +11,8 @@ var/obj/structure/redgate/target var/secret = FALSE //If either end of the redgate has this enabled, ghosts will not be able to click to teleport var/list/exceptions = list( - /obj/structure/ore_box + /obj/structure/ore_box, + /obj/item/weapon/laserdome_flag ) //made it a var so that GMs or map makers can selectively allow things to pass through var/list/restrictions = list( /mob/living/simple_mob/vore/overmap/stardog, @@ -1080,7 +1081,6 @@ icon_state = "flag" var/laser_team = "neutral" w_class = ITEMSIZE_NO_CONTAINER //no stashing the flag in a bag for you, bucko! - //TODO: make it so people can't leave the laserdome whilst carrying these flags, to stop partypoopers leaving the round with them var/start_pos /obj/item/weapon/laserdome_flag/Initialize() @@ -1091,7 +1091,7 @@ //TODO - make this not trigger when the flag is returned to its original location /obj/item/weapon/laserdome_flag/dropped() . = ..() - global_announcer.autosay("[src] dropped!","Laserdome Announcer") //TODO- make this only on the laserdome zlevel/entertainment channel + global_announcer.autosay("[src] dropped!","Laserdome Announcer","Entertainment") */ /obj/item/weapon/laserdome_flag/attack_hand(mob/user as mob) @@ -1112,14 +1112,15 @@ else return //if they're not on a team, stop! - //set the verb based on matching (or mismatching) outfits + //set the verb based on matching (or mismatching) outfits, and teleport the flag back to base if it was touched by the owning team if(grabbing_team == laser_team) flag_verbed = "recovered" + user.drop_from_inventory(src) + src.loc = src.start_pos else flag_verbed = "taken" - //finally, announce (TODO- make this only on the laserdome zlevel/entertainment channel) - global_announcer.autosay("[src] [flag_verbed] by [grabbing_team] team!","Laserdome Announcer") + global_announcer.autosay("[src] [flag_verbed] by [grabbing_team] team!","Laserdome Announcer","Entertainment") /obj/item/weapon/laserdome_flag/red name = "Red flag" @@ -1144,10 +1145,10 @@ if(istype(F,/obj/item/weapon/laserdome_flag)) var/obj/item/weapon/laserdome_flag/flag = F if(flag.laser_team != base_team) - global_announcer.autosay("[base_team] team scored!","Laserdome Announcer") //TODO- make this only on the laserdome zlevel/entertainment channel + global_announcer.autosay("[base_team] team scored!","Laserdome Announcer","Entertainment") user.drop_from_inventory(flag) flag.loc = flag.start_pos //teleport the captured flag back to its base location else if(flag.laser_team == base_team) - global_announcer.autosay("[base_team] flag returned!","Laserdome Announcer") //TODO- make this only on the laserdome zlevel/entertainment channel + global_announcer.autosay("[base_team] flag returned!","Laserdome Announcer","Entertainment") user.drop_from_inventory(flag) flag.loc = src.loc //place our flag neatly back on its pedestal diff --git a/maps/redgate/laserdome.dmm b/maps/redgate/laserdome.dmm index ce76977664d..59f9ac96827 100644 --- a/maps/redgate/laserdome.dmm +++ b/maps/redgate/laserdome.dmm @@ -4,6 +4,11 @@ /obj/effect/floor_decal/corner/red/full{ dir = 1 }, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arrival) "asC" = ( @@ -53,6 +58,12 @@ }, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arena) +"dEW" = ( +/obj/machinery/telecomms/relay/preset/station{ + name = "laserdome telecomms relay" + }, +/turf/simulated/floor/tiled/milspec, +/area/redgate/laserdome/arena) "dKN" = ( /obj/effect/floor_decal/corner/red{ dir = 10 @@ -157,6 +168,11 @@ "isg" = ( /obj/structure/closet/lasertag/blue, /obj/effect/floor_decal/corner/blue/full, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arrival) "jnH" = ( @@ -301,6 +317,11 @@ /obj/effect/floor_decal/corner/blue/full{ dir = 8 }, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arrival) "qyW" = ( @@ -381,6 +402,11 @@ dir = 9 }, /obj/structure/closet/lasertag/blue, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arrival) "vAY" = ( @@ -419,6 +445,11 @@ dir = 6 }, /obj/structure/closet/lasertag/red, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arrival) "wmn" = ( @@ -460,6 +491,11 @@ /obj/effect/floor_decal/corner/red/full{ dir = 4 }, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, +/obj/item/device/encryptionkey/ent, /turf/simulated/floor/tiled/milspec, /area/redgate/laserdome/arrival) "xMG" = ( @@ -759,7 +795,7 @@ vHZ vHZ vHZ vHZ -vHZ +dEW vHZ "} (3,1,1) = {" @@ -14467,7 +14503,7 @@ mii mii mii mii -ymc +xLH ymc ymc ymc @@ -14610,7 +14646,7 @@ rYc rYc vHZ ewz -ymc +xLH ymc ymc ymc