diff --git a/code/defines/global.dm b/code/defines/global.dm index ba57071920c..635dea405ce 100644 --- a/code/defines/global.dm +++ b/code/defines/global.dm @@ -69,6 +69,7 @@ var dna_ident = 1 abandon_allowed = 1 enter_allowed = 1 + guests_allowed = 1 shuttle_frozen = 0 shuttle_left = 0 tinted_weldhelh = 1 //as soon as the thing is sprited, we'll code in the toggle verb, bot for now, it should stay on by default. -errorage //Until you have the actual functionality for it, don't set this on by default. You're putting the cart before the horse. --DH diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 373ddcf665c..87f47f14286 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -667,10 +667,11 @@ Auto Patrol: []"}, return return -/obj/machinery/bot/ed209/Bumped(M as mob|obj) +/obj/machinery/bot/ed209/Bumped(atom/movable/M as mob|obj) spawn(0) - var/turf/T = get_turf(src) - M:loc = T + if (M) + var/turf/T = get_turf(src) + M:loc = T /obj/machinery/bot/ed209/proc/speak(var/message) for(var/mob/O in hearers(src, null)) diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm index da887bd8378..c9295285a97 100644 --- a/code/game/machinery/bots/medbot.dm +++ b/code/game/machinery/bots/medbot.dm @@ -482,11 +482,11 @@ return return -/obj/machinery/bot/medbot/Bumped(M as mob|obj) +/obj/machinery/bot/medbot/Bumped(atom/movable/M as mob|obj) spawn(0) - var/turf/T = get_turf(src) - M:loc = T - + if (M) + var/turf/T = get_turf(src) + M:loc = T /* * Pathfinding procs, allow the medibot to path through doors it has access to. diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index fcfdd23a8b4..79d29824b8b 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -648,10 +648,11 @@ Auto Patrol: []"}, return return -/obj/machinery/bot/secbot/Bumped(M as mob|obj) +/obj/machinery/bot/secbot/Bumped(atom/movable/M as mob|obj) spawn(0) - var/turf/T = get_turf(src) - M:loc = T + if (M) + var/turf/T = get_turf(src) + M:loc = T /obj/machinery/bot/secbot/proc/speak(var/message) for(var/mob/O in hearers(src, null)) diff --git a/code/game/objects/items/weapons/guns_ammo.dm b/code/game/objects/items/weapons/guns_ammo.dm index 94b1c7b2762..639f1e8b0e7 100644 --- a/code/game/objects/items/weapons/guns_ammo.dm +++ b/code/game/objects/items/weapons/guns_ammo.dm @@ -443,7 +443,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us /obj/item/weapon/gun/detectiverevolver/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag) - var/detective = (istype(user:w_uniform, /obj/item/clothing/under/det) && istype(user:head, /obj/item/clothing/head/det_hat) && istype(user:wear_suit, /obj/item/clothing/suit/det_suit)) + var/detective = ((istype(user:w_uniform, /obj/item/clothing/under/det) || !istype(user, /mob/living/carbon/human)) && istype(user:head, /obj/item/clothing/head/det_hat) && istype(user:wear_suit, /obj/item/clothing/suit/det_suit)) if (flag) return diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index e2b8cf07582..e7d1bf2d60c 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -2241,6 +2241,19 @@ var/showadminmessages = 1 world << "The tinted_weldhelh has been disabled!" log_admin("[key_name(usr)] toggled tinted_weldhelh.") message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.", 1) + +/obj/admins/proc/toggleguests() + set category = "Server" + set desc="Guests can't enter" + set name="Toggle guests" + guests_allowed = !( guests_allowed ) + if (!( guests_allowed )) + world << "Guests may no longer enter the game." + else + world << "Guests may now enter the game." + log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.") + message_admins("\blue [key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.", 1) + // // //ALL DONE diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 3e1b0b80b20..d1787a5b4bb 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -37,6 +37,7 @@ src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -176,6 +177,7 @@ src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -306,6 +308,7 @@ src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -461,6 +464,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering //src.verbs += /obj/admins/proc/toggleooc //toggle ooc //src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -606,6 +610,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering //src.verbs += /obj/admins/proc/toggleooc //toggle ooc //src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -747,6 +752,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering //src.verbs += /obj/admins/proc/toggleooc //toggle ooc //src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -871,6 +877,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1026,6 +1033,7 @@ src.verbs -= /obj/admins/proc/toggleaban //abandon mob src.verbs -= /obj/admins/proc/toggleAI //Toggle the AI src.verbs -= /obj/admins/proc/toggleenter //Toggle enterting + src.verbs -= /obj/admins/proc/toggleguests //Toggle guests entering src.verbs -= /obj/admins/proc/toggleooc //toggle ooc src.verbs -= /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs -= /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1455,6 +1463,7 @@ src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1485,6 +1494,7 @@ src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1515,6 +1525,7 @@ src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1552,6 +1563,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering //src.verbs += /obj/admins/proc/toggleooc //toggle ooc //src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1589,6 +1601,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering //src.verbs += /obj/admins/proc/toggleooc //toggle ooc //src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1614,6 +1627,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering //src.verbs += /obj/admins/proc/toggleooc //toggle ooc //src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling @@ -1644,6 +1658,7 @@ //src.verbs += /obj/admins/proc/toggleaban //abandon mob src.verbs += /obj/admins/proc/toggleAI //Toggle the AI src.verbs += /obj/admins/proc/toggleenter //Toggle enterting + src.verbs += /obj/admins/proc/toggleguests //Toggle guests entering src.verbs += /obj/admins/proc/toggleooc //toggle ooc src.verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc //src.verbs += /obj/admins/proc/toggletraitorscaling //toggle traitor scaling diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 726038221fb..2fe9a1d3392 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1866,6 +1866,11 @@ alert(src,"You have been banned.\nReason : [isbanned]","Ban","Ok") del(src) + if (!guests_allowed && IsGuestKey(src.key)) + log_access("Failed Login: [src] - Guests not allowed") + message_admins("\blue Failed Login: [src] - Guests not allowed") + alert(src,"You cannot play here.\nReason : Guests not allowed","Guests not allowed","Ok") + del(src) if (((world.address == src.address || !(src.address)) && !(host))) host = src.key diff --git a/code/unused/gamemodes/monkey.dm b/code/unused/gamemodes/monkey.dm index 18747bdad85..5df1b06f337 100644 --- a/code/unused/gamemodes/monkey.dm +++ b/code/unused/gamemodes/monkey.dm @@ -62,8 +62,8 @@ else world << "The Research Staff has stopped the monkey invasion!" - for(var/mob/living/carbon/human/human_player in world) - if (human_player.client) - world << "[human_player.key] was [human_player.real_name]." + for(var/mob/living/carbon/monkey/monkey_player in world) + if (monkey_player.client) + world << "[monkey_player.key] was a monkey." return 1 \ No newline at end of file