From 0e11e0c04166895d4dbbf08f5f6908c935acc769 Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 15 Nov 2012 17:48:13 +0100 Subject: [PATCH 1/4] Fix for issue #1947 Fire alarms now clear from computers when cancelled. --- code/game/area/areas.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 29eb5cd6763..e0e15c0ecd3 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -123,7 +123,7 @@ D.open() for (var/mob/living/silicon/ai/aiPlayer in player_list) aiPlayer.cancelAlarm("Fire", src, src) - for (var/obj/machinery/computer/station_alert/a in player_list) + for (var/obj/machinery/computer/station_alert/a in world) a.cancelAlarm("Fire", src, src) return From 1213a50298ec1a3883e78fbdd51af4d261c64b0e Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 15 Nov 2012 18:09:33 +0100 Subject: [PATCH 2/4] Removed alien player limit. I don't want to know what will happen now, considering medbay *already* was more than 50% non-humans most of the time. --- code/modules/mob/new_player/new_player.dm | 54 +---------------------- 1 file changed, 1 insertion(+), 53 deletions(-) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 1d7a7705ec4..4c35e671d04 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -147,24 +147,7 @@ return 1 if(href_list["ready"]) - var/num_old_slots = GetAvailableAlienPlayerSlots() - var/new_slots = num_old_slots - if(!ready) - if(num_old_slots >= 1 || preferences.species == "Human") - ready = 1 - new_slots = GetAvailableAlienPlayerSlots() - else - src << "\red Unable to declare ready. Too many players have already elected to play as aliens." - else - ready = 0 - new_slots = GetAvailableAlienPlayerSlots() - - if(num_old_slots < 1 && new_slots >= 1) - for(var/mob/new_player/N in world) - N << "\blue A new alien player slot has opened." - else if(num_old_slots >= 1 && new_slots < 1) - for(var/mob/new_player/N in world) - N << "\red New alien players can no longer enter the game." + ready = !ready if(href_list["refresh"]) src << browse(null, "window=playersetup") //closes the player setup window @@ -205,9 +188,6 @@ if(!is_alien_whitelisted(src, preferences.species) && config.usealienwhitelist) src << alert("You are currently not whitelisted to play [preferences.species].") return 0 - else if(GetAvailableAlienPlayerSlots() < 1) - src << "\red Unable to join game. Too many players have already joined as aliens." - return 0 LateChoices() @@ -356,15 +336,10 @@ src << alert("[rank] is not available. Please try another.") return 0 - var/num_old_slots = GetAvailableAlienPlayerSlots() - var/new_slots = num_old_slots if(preferences.species != "Human") if(!is_alien_whitelisted(src, preferences.species) && config.usealienwhitelist) src << alert("You are currently not whitelisted to play [preferences.species].") return 0 - else if(num_old_slots < 1) - src << "\red Unable to join game. Too many players have already joined as aliens." - return 0 job_master.AssignRole(src, rank, 1) @@ -384,14 +359,6 @@ ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn AnnounceArrival(character, rank) - new_slots = GetAvailableAlienPlayerSlots() - if(num_old_slots < 1 && new_slots >= 1) - for(var/mob/new_player/N in world) - N << "\blue A new alien player slot has opened." - else if(num_old_slots >= 1 && new_slots < 1) - for(var/mob/new_player/N in world) - N << "\red New alien players can no longer enter the game." - else character.Robotize() del(src) @@ -492,22 +459,3 @@ proc/close_spawn_windows() src << browse(null, "window=latechoices") //closes late choices window src << browse(null, "window=playersetup") //closes the player setup window - -//limits the number of alien players in a game -/proc/GetAvailableAlienPlayerSlots() - if(!config.limitalienplayers) - return 9999 - - var/num_players = 0 - - //check new players - for(var/mob/new_player/N in world) - if(N.preferences && N.ready) - num_players++ - - //check players already spawned, only count humans or aliens - for(var/mob/living/carbon/human/H in world) - if(H.ckey) - num_players++ - - return round(num_players * (config.alien_to_human_ratio / 100)) From 866a113494f37ac128f7b686fd8c8ea06b160958 Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 15 Nov 2012 18:40:24 +0100 Subject: [PATCH 3/4] Fixes for issue #1872 --- code/game/sound.dm | 12 +++++++++++- code/modules/mob/emote.dm | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/code/game/sound.dm b/code/game/sound.dm index 35d80594ac8..f943b9947e1 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -19,7 +19,7 @@ if (vary) S.frequency = rand(32000, 55000) - for (var/mob/M in range(world.view+extrarange, source)) // Plays for people in range. + for (var/mob/M in range(world.view+extrarange, source)) // Plays for people in range. if(locate(/mob/, M)) var/mob/M2 = locate(/mob/, M) if (M2.client) @@ -48,6 +48,16 @@ S.pan = max(-100, min(100, dx/8.0 * 100)) M << S + + for(var/obj/mecha/mech in range(world.view+extrarange, source)) + var/mob/M = mech.occupant + if (M && M.client) + if(M.ear_deaf <= 0 || !M.ear_deaf) + if(isturf(source)) + var/dx = source.x - M.x + S.pan = max(-100, min(100, dx/8.0 * 100)) + + M << S // Now plays for people in lockers! -- Polymorph /mob/proc/playsound_local(var/atom/source, soundin, vol as num, vary, extrarange as num) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 783f3404e85..9b4c459264b 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -31,13 +31,13 @@ mob/proc/custom_emote(var/m_type=1,var/message = null) if (istype(M, /mob/new_player)) continue if(findtext(message," snores.")) //Because we have so many sleeping people. - continue + break // can break here simply.. if(M.stat == 2 && M.client.ghost_sight && !(M in viewers(src,null))) M.show_message(message) if (m_type & 1) - for (var/mob/O in viewers(src, null)) + for (var/mob/O in get_mobs_in_view(world.view,src)) if(istype(O,/mob/living/carbon/human)) for(var/mob/living/parasite/P in O:parasites) P.show_message(message, m_type) From b6f16cb62a2a7439fdc1e8dbc6524bedd367a777 Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 15 Nov 2012 19:07:45 +0100 Subject: [PATCH 4/4] Fix for the emote fix. --- code/modules/mob/emote.dm | 4 ++-- code/modules/mob/living/carbon/human/emote.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 9b4c459264b..4b6e4e17539 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -31,13 +31,13 @@ mob/proc/custom_emote(var/m_type=1,var/message = null) if (istype(M, /mob/new_player)) continue if(findtext(message," snores.")) //Because we have so many sleeping people. - break // can break here simply.. + break if(M.stat == 2 && M.client.ghost_sight && !(M in viewers(src,null))) M.show_message(message) if (m_type & 1) - for (var/mob/O in get_mobs_in_view(world.view,src)) + for (var/mob/O in viewers(src, null)) if(istype(O,/mob/living/carbon/human)) for(var/mob/living/parasite/P in O:parasites) P.show_message(message, m_type) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index f0407f0ec3f..6dff94c60c3 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -482,9 +482,9 @@ if (m_type & 1) - for (var/mob/O in viewers(src, null)) + for (var/mob/O in get_mobs_in_view(world.view,src)) O.show_message(message, m_type) else if (m_type & 2) - for (var/mob/O in hearers(src.loc, null)) + for (var/mob/O in (hearers(src.loc, null) | get_mobs_in_view(world.view,src))) O.show_message(message, m_type)