Merge pull request #1869 from Markolie/fuckingglass

Ghost interaction update, voice changer fix, man up global confirmation
This commit is contained in:
Fox-McCloud
2015-08-28 14:36:16 -04:00
15 changed files with 327 additions and 319 deletions
+8 -5
View File
@@ -846,10 +846,13 @@ var/list/admin_verbs_mentor = list(
set category = "Admin"
set name = "Man Up Global"
set desc = "Tells everyone to man up and deal with it."
var/confirm = alert("Are you sure you want to send the global message?", "Confirm Man Up Global", "Yes", "No")
for (var/mob/T as mob in mob_list)
T << "<br><center><span class='notice'><b><font size=4>Man up.<br> Deal with it.</font></b><br>Move on.</span></center><br>"
T << 'sound/voice/ManUp1.ogg'
if(confirm == "Yes")
for (var/mob/T as mob in mob_list)
T << "<br><center><span class='notice'><b><font size=4>Man up.<br> Deal with it.</font></b><br>Move on.</span></center><br>"
T << 'sound/voice/ManUp1.ogg'
log_admin("[key_name(usr)] told everyone to man up and deal with it.")
message_admins("\blue [key_name_admin(usr)] told everyone to man up and deal with it.", 1)
log_admin("[key_name(usr)] told everyone to man up and deal with it.")
message_admins("\blue [key_name_admin(usr)] told everyone to man up and deal with it.", 1)
@@ -110,6 +110,7 @@
if(leaping)
leaping = 0
update_icons()
update_canmove()
@@ -7,11 +7,14 @@
var/obj/item/weapon/r_store = null
var/obj/item/weapon/l_store = null
var/caste = ""
var/alt_icon = 'icons/mob/alienleap.dmi' //used to switch between the two alien icon files.
var/next_attack = 0
var/pounce_cooldown = 0
var/pounce_cooldown_time = 30
update_icon = 1
var/leap_on_click = 0
var/custom_pixel_x_offset = 0 //for admin fuckery.
var/custom_pixel_y_offset = 0
//This is fine right now, if we're adding organ specific damage this needs to be updated
/mob/living/carbon/alien/humanoid/New()
@@ -336,4 +339,20 @@ In all, this is a lot like the monkey code. /N
/mob/living/carbon/alien/humanoid/canBeHandcuffed()
return 1
return 1
/mob/living/carbon/alien/humanoid/get_standard_pixel_y_offset(lying = 0)
if(leaping)
return -32
else if(custom_pixel_y_offset)
return custom_pixel_y_offset
else
return initial(pixel_y)
/mob/living/carbon/alien/humanoid/get_standard_pixel_x_offset(lying = 0)
if(leaping)
return -32
else if(custom_pixel_x_offset)
return custom_pixel_x_offset
else
return initial(pixel_x)
@@ -41,14 +41,20 @@
icon_state = "alien[caste]_s"
if(leaping)
icon = 'icons/mob/alienleap.dmi'
if(alt_icon == initial(alt_icon))
var/old_icon = icon
icon = alt_icon
alt_icon = old_icon
icon_state = "alien[caste]_leap"
pixel_x = -32
pixel_y = -32
else if(icon == 'icons/mob/alienleap.dmi' && pixel_x == -32 && pixel_y == -32)
icon = initial(icon)// ^ this looks odd, but in theory it will prevent the icon and pixel_xy from being reset unless it needs to be
pixel_x = initial(pixel_x)
pixel_y = initial(pixel_y)
else
if(alt_icon != initial(alt_icon))
var/old_icon = icon
icon = alt_icon
alt_icon = old_icon
pixel_x = get_standard_pixel_x_offset(lying)
pixel_y = get_standard_pixel_y_offset(lying)
/mob/living/carbon/alien/humanoid/regenerate_icons()
..()
+3 -7
View File
@@ -27,7 +27,7 @@
return emote(copytext(message,2))
if(name != GetVoice())
alt_name = "(as [get_id_name("Unknown")])"
alt_name = " (as [get_id_name("Unknown")])"
//parse the radio code and consume it
if (message_mode)
@@ -214,17 +214,13 @@
continue
var/obj/item/voice_changer/changer = locate() in gear
if(changer && changer.active && changer.voice)
return changer
return changer.voice
return 0
/mob/living/carbon/human/GetVoice()
var/voice_sub
var/has_changer = HasVoiceChanger()
if(has_changer)
voice_sub = has_changer
if(voice_sub)
return voice_sub
return has_changer
if(mind && mind.changeling && mind.changeling.mimicing)
return mind.changeling.mimicing
if(GetSpecialVoice())
+2 -1
View File
@@ -936,4 +936,5 @@
return initial(pixel_y)
/mob/living/proc/spawn_dust()
new /obj/effect/decal/cleanable/ash(loc)
new /obj/effect/decal/cleanable/ash(loc)
+5
View File
@@ -17,6 +17,11 @@
else if (restrained() || lying || stat || stunned || weakened)
return STATUS_UPDATE // update only (orange visibility)
return STATUS_INTERACTIVE
/mob/dead/observer/shared_nano_interaction()
if(check_rights(R_ADMIN, 0, src))
return STATUS_INTERACTIVE // Admins are more equal
return STATUS_UPDATE // Ghosts can view updates
/mob/living/silicon/ai/shared_nano_interaction()
if(lacks_power())