diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 89cacc1c7b..9efffefce5 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -345,11 +345,10 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define COLOUR_PRIORITY_AMOUNT 4 //how many priority levels there are. //Endgame Results -#define NUKE_NEAR_MISS 1 -#define NUKE_MISS_STATION 2 -#define NUKE_SYNDICATE_BASE 3 -#define STATION_DESTROYED_NUKE 4 -#define STATION_EVACUATED 5 +#define NUKE_MISS_STATION 1 +#define NUKE_SYNDICATE_BASE 2 +#define STATION_DESTROYED_NUKE 3 +#define STATION_EVACUATED 4 #define BLOB_WIN 8 #define BLOB_NUKE 9 #define BLOB_DESTROYED 10 diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index b98462d4d4..5affeba6d6 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -323,7 +323,7 @@ var/free_tickets = CONFIG_GET(number/default_antag_tickets) //Max extra tickets you can use var/additional_tickets = CONFIG_GET(number/max_tickets_per_roll) - + var/list/ckey_to_mind = list() //this is admittedly shitcode but I'm webediting var/list/prev_tickets = SSpersistence.antag_rep //cache for hyper-speed in theory. how many tickets someone has stored var/list/curr_tickets = list() //how many tickets someone has for *this* antag roll, so with the free tickets @@ -337,7 +337,7 @@ continue curr_tickets[mind_ckey] = amount ckey_to_mind[mind_ckey] = M //make sure we can look them up after picking - + if(!return_list) //return a single guy var/ckey if(length(curr_tickets)) @@ -584,7 +584,7 @@ //By default nuke just ends the round /datum/game_mode/proc/OnNukeExplosion(off_station) nuke_off_station = off_station - if(off_station < 2) + if(!off_station) station_was_nuked = TRUE //Will end the round on next check. //Additional report section in roundend report diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 1963bf16e3..2c91e18bd8 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -74,16 +74,15 @@ /obj/machinery/nuclearbomb/syndicate/get_cinematic_type(off_station) var/datum/game_mode/nuclear/NM = SSticker.mode switch(off_station) - if(0) + if(FALSE) if(istype(NM) && !NM.nuke_team.syndies_escaped()) return CINEMATIC_ANNIHILATION else return CINEMATIC_NUKE_WIN - if(1) + if(NUKE_MISS_STATION) return CINEMATIC_NUKE_MISS - if(2) + else return CINEMATIC_NUKE_FAR - return CINEMATIC_NUKE_FAR /obj/machinery/nuclearbomb/proc/disk_check(obj/item/disk/nuclear/D) if(D.fake) @@ -387,14 +386,14 @@ if("anchor") if(auth && yes_code) playsound(src, 'sound/machines/nuke/general_beep.ogg', 50, FALSE) - set_anchor() + set_anchor(usr) else playsound(src, 'sound/machines/nuke/angry_beep.ogg', 50, FALSE) -/obj/machinery/nuclearbomb/proc/set_anchor() - if(isinspace() && !anchored) - to_chat(usr, "There is nothing to anchor to!") +/obj/machinery/nuclearbomb/proc/set_anchor(mob/user) + if((istype(get_area(src), /area/space) || isinspace()) && !anchored) + to_chat(user, "This is not a suitable platform for anchoring [src]!") else anchored = !anchored @@ -480,20 +479,14 @@ GLOB.enter_allowed = FALSE - var/off_station = 0 + var/off_station = FALSE var/turf/bomb_location = get_turf(src) - var/area/A = get_area(bomb_location) - if(bomb_location && is_station_level(bomb_location.z)) - if(istype(A, /area/space)) - off_station = NUKE_NEAR_MISS - if((bomb_location.x < (128-NUKERANGE)) || (bomb_location.x > (128+NUKERANGE)) || (bomb_location.y < (128-NUKERANGE)) || (bomb_location.y > (128+NUKERANGE))) - off_station = NUKE_NEAR_MISS + if(!bomb_location || !is_station_level(bomb_location.z)) + off_station = NUKE_MISS_STATION else if(bomb_location.onSyndieBase()) off_station = NUKE_SYNDICATE_BASE - else - off_station = NUKE_MISS_STATION - if(off_station < 2) + if(!off_station) SSshuttle.registerHostileEnvironment(src) SSshuttle.lockdown = TRUE @@ -507,7 +500,7 @@ INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z) /obj/machinery/nuclearbomb/proc/get_cinematic_type(off_station) - if(off_station < 2) + if(!off_station) return CINEMATIC_SELFDESTRUCT else return CINEMATIC_SELFDESTRUCT_MISS @@ -588,7 +581,7 @@ This is here to make the tiles around the station mininuke change when it's armed. */ -/obj/machinery/nuclearbomb/selfdestruct/set_anchor() +/obj/machinery/nuclearbomb/selfdestruct/set_anchor(mob/user) return /obj/machinery/nuclearbomb/selfdestruct/set_active()