Merge pull request #17218 from phil235/FixTalkingInPipes

No longer deaf while inside pipes
This commit is contained in:
Cheridan
2016-04-29 20:34:03 -05:00
47 changed files with 63 additions and 60 deletions
+4 -1
View File
@@ -16,7 +16,10 @@
#define INVISIBILITY_OBSERVER 60
#define SEE_INVISIBLE_OBSERVER 60
#define INVISIBILITY_MAXIMUM 100
#define INVISIBILITY_MAXIMUM 100 //the maximum allowed for "real" objects
#define INVISIBILITY_ABSTRACT 101 //only used for abstract objects (e.g. spacevine_controller), things that are not really there.
#define BORGMESON 1
#define BORGTHERM 2
+1 -1
View File
@@ -26,7 +26,7 @@
H.quick_equip()
/obj/screen/ling
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
/obj/screen/ling/sting
name = "current sting"
+1 -1
View File
@@ -48,7 +48,7 @@
affected_mob.canmove = 0
affected_mob.icon = null
affected_mob.overlays.Cut()
affected_mob.invisibility = 101
affected_mob.invisibility = INVISIBILITY_ABSTRACT
for(var/obj/item/W in affected_mob)
if(istype(W, /obj/item/weapon/implant))
qdel(W)
+1 -1
View File
@@ -79,7 +79,7 @@
for(var/atom/movable/AM in contents)
qdel(AM)
loc = null
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
if (pulledby)
if (pulledby.pulling == src)
pulledby.pulling = null
@@ -398,7 +398,7 @@ var/list/sting_paths
p.on_refund(src)
if(hud_used)
hud_used.lingstingdisplay.icon_state = null
hud_used.lingstingdisplay.invisibility = 101
hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT
/datum/changeling/proc/has_sting(obj/effect/proc_holder/changeling/power)
for(var/obj/effect/proc_holder/changeling/P in purchasedpowers)
@@ -23,7 +23,7 @@
user << "<span class='warning'>We retract our sting, we can't sting anyone for now.</span>"
user.mind.changeling.chosen_sting = null
user.hud_used.lingstingdisplay.icon_state = null
user.hud_used.lingstingdisplay.invisibility = 101
user.hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT
/mob/living/carbon/proc/unset_sting()
if(mind && mind.changeling && mind.changeling.chosen_sting)
@@ -413,7 +413,7 @@
user << "<span class='shadowling'>You regurgitate a vast cloud of blinding smoke.</span>"
var/obj/item/weapon/reagent_containers/glass/beaker/large/B = new /obj/item/weapon/reagent_containers/glass/beaker/large(user.loc) //hacky
B.reagents.clear_reagents() //Just in case!
B.invisibility = INFINITY //This ought to do the trick
B.invisibility = INVISIBILITY_ABSTRACT //This ought to do the trick
B.reagents.add_reagent("blindness_smoke", 10)
var/datum/effect_system/smoke_spread/chem/S = new
S.attach(B)
+1 -1
View File
@@ -220,7 +220,7 @@
/obj/item/device/soulstone/proc/init_shade(obj/item/device/soulstone/C, mob/living/carbon/human/T, mob/U, vic = 0)
new /obj/effect/decal/remains/human(T.loc) //Spawns a skeleton
T.invisibility = 101
T.invisibility = INVISIBILITY_ABSTRACT
var/atom/movable/overlay/animation = new /atom/movable/overlay( T.loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
+1 -1
View File
@@ -28,7 +28,7 @@
// update the invisibility and icon
/obj/machinery/bluespace_beacon/hide(intact)
invisibility = intact ? 101 : 0
invisibility = intact ? INVISIBILITY_MAXIMUM : 0
updateicon()
// update the icon_state
+1 -1
View File
@@ -50,7 +50,7 @@
// update the invisibility and icon
/obj/machinery/magnetic_module/hide(intact)
invisibility = intact ? 101 : 0
invisibility = intact ? INVISIBILITY_MAXIMUM : 0
updateicon()
// update the icon_state
+1 -1
View File
@@ -62,7 +62,7 @@
// called when turf state changes
// hide the object if turf is intact
/obj/machinery/navbeacon/hide(intact)
invisibility = intact ? 101 : 0
invisibility = intact ? INVISIBILITY_MAXIMUM : 0
updateicon()
// update the icon_state
+1 -1
View File
@@ -6,7 +6,7 @@ var/list/obj/effect/bump_teleporter/BUMP_TELEPORTERS = list()
icon_state = "x2"
var/id = null //id of this bump_teleporter.
var/id_target = null //id of bump_teleporter which this moves you to.
invisibility = 101 //nope, can't see this
invisibility = INVISIBILITY_ABSTRACT //nope, can't see this
anchored = 1
density = 1
opacity = 0
+2 -2
View File
@@ -8,7 +8,7 @@
/obj/effect/landmark/New()
..()
tag = text("landmark*[]", name)
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
landmarks_list += src
switch(name) //some of these are probably obsolete
@@ -77,7 +77,7 @@
/obj/effect/landmark/start/New()
..()
tag = "start*[name]"
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
start_landmarks_list += src
return 1
+1 -1
View File
@@ -6,7 +6,7 @@
/obj/effect/manifest/New()
src.invisibility = 101
src.invisibility = INVISIBILITY_ABSTRACT
return
/obj/effect/manifest/proc/manifest()
+1 -1
View File
@@ -106,7 +106,7 @@
if(triggered)
return
triggered = 1
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
mineEffect(victim)
qdel(src)
+1 -1
View File
@@ -4,7 +4,7 @@
var/affect_ghosts = 0
var/stopper = 1 // stops throwers
var/mobs_only = 0
invisibility = 101 // nope cant see this shit
invisibility = INVISIBILITY_ABSTRACT // nope cant see this shit
anchored = 1
/obj/effect/step_trigger/proc/Trigger(atom/movable/A)
+2 -2
View File
@@ -52,7 +52,7 @@ MASS SPECTROMETER
var/mob/living/L = locate() in O
if(O.invisibility == 101)
if(O.invisibility == INVISIBILITY_MAXIMUM)
O.invisibility = 0
if(L)
flick_sonar(O)
@@ -60,7 +60,7 @@ MASS SPECTROMETER
if(O && O.loc)
var/turf/U = O.loc
if(U.intact)
O.invisibility = 101
O.invisibility = INVISIBILITY_MAXIMUM
else
if(L)
flick_sonar(O)
@@ -280,7 +280,7 @@
/obj/item/weapon/storage/backpack/satchel_flat/hide(var/intact)
if(intact)
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
anchored = 1 //otherwise you can start pulling, cover it, and drag around an invisible backpack.
icon_state = "[initial(icon_state)]2"
else
+1 -1
View File
@@ -187,4 +187,4 @@ obj/structure/safe/ex_act(severity, target)
/obj/structure/safe/floor/hide(var/intact)
invisibility = intact ? 101 : 0
invisibility = intact ? INVISIBILITY_MAXIMUM : 0
+1 -1
View File
@@ -59,7 +59,7 @@
/obj/effect/landmark/river_waypoint
name = "river waypoint"
var/connected = 0
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
/turf/proc/Spread(probability = 30, prob_loss = 25)
+1 -1
View File
@@ -244,7 +244,7 @@
for(var/obj/O in contents) //this is for deleting things like wires contained in the turf
if(O.level != 1)
continue
if(O.invisibility == 101)
if(O.invisibility == INVISIBILITY_MAXIMUM)
O.singularity_act()
ChangeTurf(src.baseturf)
return(2)
+1 -1
View File
@@ -462,7 +462,7 @@ var/list/admin_verbs_hideable = list(
holder.fakekey = new_key
createStealthKey()
if(isobserver(mob))
mob.invisibility = INVISIBILITY_MAXIMUM + 1 //JUST IN CASE
mob.invisibility = INVISIBILITY_ABSTRACT //JUST IN CASE
mob.alpha = 0 //JUUUUST IN CASE
mob.name = " "
mob.mouse_opacity = 0
+1 -1
View File
@@ -193,7 +193,7 @@
left--
if(left < 1)
if(!(visible))
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
else
invisibility = 0
else
@@ -40,7 +40,7 @@
/obj/machinery/atmospherics/pipe/hide(i)
if(level == 1 && istype(loc, /turf))
invisibility = i ? 101 : 0
invisibility = i ? INVISIBILITY_MAXIMUM : 0
update_icon()
/obj/machinery/atmospherics/pipe/proc/check_pressure(pressure)
@@ -189,7 +189,7 @@ var/sc_safecode5 = "[rand(0,9)]"
for(var/obj/O in T.contents)
if(O.level != 1)
continue
if(O.invisibility == 101)
if(O.invisibility == INVISIBILITY_MAXIMUM)
src.consume(O)
T.ChangeTurf(/turf/open/space)
return
@@ -62,7 +62,7 @@
if(O.level != 1)
continue
if(O.invisibility == 101)
if(O.invisibility == INVISIBILITY_MAXIMUM)
O.invisibility = 0
invis_objects += O
@@ -75,7 +75,7 @@
invis_objects -= O
var/turf/T = O.loc
if(T && T.intact)
O.invisibility = 101
O.invisibility = INVISIBILITY_MAXIMUM
/obj/item/clothing/glasses/meson/engine/proc/t_ray_on()
if(!istype(loc,/mob/living/carbon/human))
@@ -251,7 +251,7 @@
name = "Chronosuit View"
density = 0
anchored = 1
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
opacity = 0
mouse_opacity = 0
var/mob/holder = null
+1 -1
View File
@@ -438,7 +438,7 @@
/obj/effect/spacevine_controller
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
var/list/obj/effect/spacevine/vines = list()
var/list/growth_queue = list()
var/spread_multiplier = 5
+1 -1
View File
@@ -7,7 +7,7 @@
/obj/effect/holodeck_effect
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x2"
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
/obj/effect/holodeck_effect/proc/activate(var/obj/machinery/computer/holodeck/HC)
return
+1 -1
View File
@@ -96,5 +96,5 @@
N.icon_state = initial(N.icon_state)
N.icon = 'icons/turf/areas.dmi'
N.layer = 10 //Just default back to normal area stuff since I assume setting a var is faster than initial
N.invisibility = 100
N.invisibility = INVISIBILITY_MAXIMUM
N.opacity = 0
@@ -56,7 +56,7 @@
A.icon = 'icons/effects/weather_effects.dmi'
A.icon_state = start_up_overlay
else
A.invisibility = 100
A.invisibility = INVISIBILITY_MAXIMUM
A.opacity = 0
//Ash storms
+1 -1
View File
@@ -7,7 +7,7 @@
status_flags = GODMODE // You can't damage it.
mouse_opacity = 0
see_in_dark = 7
invisibility = 101 // No one can see us
invisibility = INVISIBILITY_ABSTRACT // No one can see us
sight = SEE_SELF
move_on_shuttle = 0
+1 -1
View File
@@ -218,7 +218,7 @@
hud_used.lingchemdisplay.invisibility = 0
hud_used.lingchemdisplay.maptext = "<div align='center' valign='middle' style='position:relative; top:0px; left:6px'><font color='#dd66dd'>[round(mind.changeling.chem_charges)]</font></div>"
else
hud_used.lingchemdisplay.invisibility = 101
hud_used.lingchemdisplay.invisibility = INVISIBILITY_ABSTRACT
/mob/living/carbon/handle_mutations_and_radiation()
+1 -1
View File
@@ -65,7 +65,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
alpha = 0
if(!prev_lying && animation)
@@ -6,7 +6,7 @@
/mob/camera/aiEye
name = "Inactive AI Eye"
invisibility = 100
invisibility = INVISIBILITY_MAXIMUM
var/list/visibleCameraChunks = list()
var/mob/living/silicon/ai/ai = null
var/relay_speech = FALSE
@@ -95,7 +95,7 @@
name = "snare"
desc = "You shouldn't be seeing this!"
var/mob/living/simple_animal/hostile/guardian/spawner
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
/obj/item/effect/snare/Crossed(AM as mob|obj)
@@ -173,7 +173,7 @@
icon_living = "none"
icon_dead = "none"
desc = "You shouldn't be seeing this."
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
unsuitable_atmos_damage = 0
stat_attack = 2
gold_core_spawnable = 0
+1 -1
View File
@@ -6,7 +6,7 @@
flags = NONE
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
density = 0
stat = DEAD
+8 -8
View File
@@ -26,7 +26,7 @@
stunned = 1
icon = null
overlays.Cut()
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
var/atom/movable/overlay/animation = new( loc )
animation.icon_state = "blank"
@@ -139,7 +139,7 @@
stunned = 1
icon = null
overlays.Cut()
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
var/atom/movable/overlay/animation = new( loc )
animation.icon_state = "blank"
animation.icon = 'icons/mob/mob.dmi'
@@ -243,7 +243,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
return ..()
/mob/proc/AIize()
@@ -313,7 +313,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
for(var/t in organs)
qdel(t)
@@ -364,7 +364,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
for(var/t in organs)
qdel(t)
@@ -394,7 +394,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
for(var/t in organs)
qdel(t)
@@ -453,7 +453,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
for(var/t in organs) //this really should not be necessary
qdel(t)
@@ -483,7 +483,7 @@
notransform = 1
canmove = 0
icon = null
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
for(var/t in organs)
qdel(t)
@@ -66,7 +66,7 @@ It is possible to destroy the net by the occupant or someone else.
//No need to check for countdown here since while() broke, it's implicit that it finished.
density = 0//Make the net pass-through.
invisibility = 101//Make the net invisible so all the animations can play out.
invisibility = INVISIBILITY_ABSTRACT//Make the net invisible so all the animations can play out.
health = INFINITY//Make the net invincible so that an explosion/something else won't kill it while, spawn() is running.
for(var/obj/item/W in M)
if(istype(M,/mob/living/carbon/human))
+1 -1
View File
@@ -106,7 +106,7 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/structure/cable/hide(i)
if(level == 1 && istype(loc, /turf))
invisibility = i ? 101 : 0
invisibility = i ? INVISIBILITY_MAXIMUM : 0
updateicon()
/obj/structure/cable/proc/updateicon()
+1 -1
View File
@@ -27,7 +27,7 @@
/obj/machinery/power/terminal/hide(i)
if(i)
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
icon_state = "term-f"
else
invisibility = 0
+1 -1
View File
@@ -141,7 +141,7 @@
M.canmove = 0
M.icon = null
M.overlays.Cut()
M.invisibility = 101
M.invisibility = INVISIBILITY_ABSTRACT
if(istype(M, /mob/living/silicon/robot))
var/mob/living/silicon/robot/Robot = M
@@ -86,7 +86,7 @@
// hide called by levelupdate if turf intact status changes
// change visibility status and force update of icon
/obj/structure/disposalconstruct/hide(var/intact)
invisibility = (intact && level==1) ? 101: 0 // hide if floor is intact
invisibility = (intact && level==1) ? INVISIBILITY_MAXIMUM: 0 // hide if floor is intact
update_icon()
@@ -5,7 +5,7 @@
// this allows the gas flushed to be tracked
/obj/structure/disposalholder
invisibility = 101
invisibility = INVISIBILITY_MAXIMUM
var/datum/gas_mixture/gas = null // gas used to flush, will appear at exit point
var/active = 0 // true if the holder is moving, otherwise inactive
dir = 0
@@ -233,7 +233,7 @@
// hide called by levelupdate if turf intact status changes
// change visibility status and force update of icon
/obj/structure/disposalpipe/hide(var/intact)
invisibility = intact ? 101: 0 // hide if floor is intact
invisibility = intact ? INVISIBILITY_MAXIMUM: 0 // hide if floor is intact
updateicon()
// update actual icon_state depending on visibility
@@ -300,7 +300,7 @@
var/obj/structure/disposalpipe/broken/P = new(src.loc)
P.dir = D
src.invisibility = 101 // make invisible (since we won't delete the pipe immediately)
src.invisibility = INVISIBILITY_MAXIMUM // make invisible (since we won't delete the pipe immediately)
var/obj/structure/disposalholder/H = locate() in src
if(H)
// holder was present
+2 -2
View File
@@ -3,7 +3,7 @@
//NORTH default dir
/obj/docking_port
invisibility = 101
invisibility = INVISIBILITY_ABSTRACT
icon = 'icons/obj/device.dmi'
//icon = 'icons/dirsquare.dmi'
icon_state = "pinonfar"
@@ -385,7 +385,7 @@
return 1
/obj/onShuttleMove()
if(invisibility >= 101)
if(invisibility >= INVISIBILITY_ABSTRACT)
return 0
. = ..()
+1 -1
View File
@@ -104,4 +104,4 @@ var/list/GPS_list = list()
flags = ABSTRACT
gpstag = "Eerie Signal"
desc = "Report to a coder immediately."
invisibility = 100
invisibility = INVISIBILITY_MAXIMUM