diff --git a/code/controllers/emergency_shuttle_controller.dm b/code/controllers/emergency_shuttle_controller.dm index 7e0d1e2d25..aa13f07510 100644 --- a/code/controllers/emergency_shuttle_controller.dm +++ b/code/controllers/emergency_shuttle_controller.dm @@ -24,7 +24,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle /datum/emergency_shuttle_controller/proc/process() if (wait_for_launch) - if (auto_recall && world.time >= auto_recall_time) + if (evac && auto_recall && world.time >= auto_recall_time) recall() if (world.time >= launch_time) //time to launch the shuttle stop_launch_countdown() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 6534987553..8b721d9277 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -436,6 +436,8 @@ var/global/list/additional_antag_types = list() for(var/mob/player in player_list) if(!player.client) continue + if(istype(player, /mob/new_player)) + continue if(!role || (player.client.prefs.be_special & role)) log_debug("[player.key] had [antag_id] enabled, so we are drafting them.") candidates |= player.mind diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 6f3041dd6d..1ed307ee11 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -197,8 +197,7 @@ build_overlays() /obj/machinery/recharge_station/Bumped(var/mob/living/silicon/robot/R) - if(istype(R)) - go_in(R) + go_in(R) /obj/machinery/recharge_station/proc/go_in(var/mob/living/silicon/robot/R) if(!istype(R)) @@ -206,10 +205,18 @@ if(occupant) return + // TODO : Change to incapacitated() on merge. + if(R.stat || R.lying || R.resting || R.buckled) + return + if(!R.cell) + return + + add_fingerprint(R) R.reset_view(src) R.forceMove(src) occupant = R update_icon() + return 1 /obj/machinery/recharge_station/proc/go_out() if(!occupant) @@ -238,9 +245,4 @@ set name = "Enter Recharger" set src in oview(1) - // TODO : Change to incapacitated() on merge. - if(usr.stat || usr.lying || usr.resting || usr.buckled) - return - go_in(usr) - add_fingerprint(usr) diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 783177d5e6..4f168556d2 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -8,17 +8,24 @@ w_class = 2.0 var/obj/item/weapon/implant/imp = null +/obj/item/weapon/implanter/attack_self(var/mob/user) + if(!imp) + return ..() + imp.loc = get_turf(src) + user.put_in_hands(imp) + user << "You remove \the [imp] from \the [src]." + name = "implanter" + imp = null + update() + return + /obj/item/weapon/implanter/proc/update() - - -/obj/item/weapon/implanter/update() if (src.imp) src.icon_state = "implanter1" else src.icon_state = "implanter0" return - /obj/item/weapon/implanter/attack(mob/M as mob, mob/user as mob) if (!istype(M, /mob/living/carbon)) return @@ -52,8 +59,6 @@ return - - /obj/item/weapon/implanter/loyalty name = "implanter-loyalty" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 5534997731..a66c619b08 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -778,7 +778,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(confirm != "Yes") return var/choice - if(ticker.mode.name == "revolution" || ticker.mode.name == "confliction") + if(ticker.mode.auto_recall_shuttle) choice = input("The shuttle will just return if you call it. Call anyway?") in list("Confirm", "Cancel") if(choice == "Confirm") emergency_shuttle.auto_recall = 1 //enable auto-recall diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 4486a0fb82..df377a2054 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -91,6 +91,10 @@ return 0 /datum/nano_module/appearance_changer/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state) + + if(!owner || !owner.species) + return + generate_data(check_whitelist, whitelist, blacklist) var/data[0]