Commit Graph

114 Commits

Author SHA1 Message Date
Bjorn Neergaard
265b8d2d20 Fix an air alarm runtime
Don't store hard refs to an area which can cause race condtions
Instead, get our area only when we need it

The following runtime has occured 4426 time(s).
runtime error: Cannot read null.atmosalm
proc name: update icon (/obj/machinery/airalarm/update_icon)
  source file: airalarm.dm,535
  usr: null
  src: the alarm (/obj/machinery/airalarm)
2016-02-10 07:01:24 -06:00
phil235
fdec37b76f Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdateRefactor
Conflicts:
	code/_onclick/hud/alien.dm
	code/_onclick/hud/alien_larva.dm
	code/_onclick/hud/hud.dm
	code/_onclick/hud/human.dm
	code/_onclick/hud/monkey.dm
	code/_onclick/hud/other_mobs.dm
	code/_onclick/hud/robot.dm
	code/game/machinery/Sleeper.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/death.dm
	code/modules/mob/living/life.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/ai/login.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/mob_defines.dm
2016-02-06 15:42:13 +01:00
Bjorn Neergaard
b9c79680b9 Rename get_ui_data -> ui_data, remove useless shuffle from wires 2016-02-05 17:09:40 -06:00
phil235
8b11d87b1d Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdateRefactor
Conflicts:
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/_onclick/hud/alert.dm
	code/_onclick/hud/hud.dm
	code/datums/mutations.dm
	code/datums/wires/robot.dm
	code/game/atoms.dm
	code/game/gamemodes/blob/overmind.dm
	code/game/machinery/alarm.dm
	code/game/machinery/machinery.dm
	code/game/machinery/suit_storage_unit.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/game/objects/items/weapons/tools.dm
	code/game/objects/structures/morgue.dm
	code/modules/admin/verbs/adminjump.dm
	code/modules/atmospherics/machinery/atmosmachinery.dm
	code/modules/mob/inventory.dm
	code/modules/mob/living/carbon/alien/humanoid/death.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_damage.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/human/species_types.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/silicon.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/login.dm
	code/modules/mob/mob.dm
	code/modules/projectiles/gun.dm
	code/modules/reagents/chemistry/reagents/blob_reagents.dm
	tgstation.dme
2016-02-04 14:34:45 +01:00
phil235
81ce777ec2 - you now only see turfs when inside gas pipes.
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
2016-02-04 00:33:16 +01:00
Bjorn Neergaard
5e2e295760 Fix wires swapping 2016-01-27 02:11:40 -06:00
Kyle Spier-Swenson
2db4f0f079 Update wires.dm 2016-01-26 18:48:10 -08:00
Bjorn Neergaard
d0f57701d9 Remove old define 2016-01-26 14:07:17 -06:00
Bjorn Neergaard
5e16230433 Fix a number of wire issues.
Fix wires being shuffled twice (they should only be randomized once). We
now shuffle and cache instead of shuffling the cache.

Fix syndicate bomb messages (bomb, not loc should show messages).

Explicitly copy lists when we create wires as to avoid any chance of
modifying the global color list. No bugs here but there is a posibility
if admins varedit wires.

Fix training bombs generating duplicate wires by adding a real
shuffle proc that clears the wire list first (Fixes #14915).
2016-01-25 21:30:30 -06:00
Bjorn Neergaard
eab359ea18 Remove dark/british colors from wires
Fixes #14901
2016-01-25 17:23:51 -06:00
Bjorn Neergaard
961eeea661 Rewrite SSUs, tweak newly added UIs 2016-01-25 12:03:07 -06:00
Bjorn Neergaard
725e970cfd Fix air alarm panic siphon 2016-01-25 12:03:04 -06:00
Bjorn Neergaard
c78e1ec2ac Fix a lot of wire interactions 2016-01-25 12:03:03 -06:00
Bjorn Neergaard
014e83fec6 Fix tgui machine interactions status checks 2016-01-25 12:03:02 -06:00
Bjorn Neergaard
2f46b224ae Fix air alarm hacking, raise SStimer display 2016-01-25 12:03:00 -06:00
Bjorn Neergaard
f3697fc7d6 Repath air alarms 2016-01-25 12:02:58 -06:00
Bjorn Neergaard
f0f5187f5c Fix autolathe hacking 2016-01-23 18:56:38 -06:00
Bjorn Neergaard
e3b073a54a Fix autolathe/airlock lights and remove spawn() 2016-01-23 18:56:36 -06:00
Bjorn Neergaard
2998624bc3 Fix tanks not showing they are connected to a mask
Fix wire pulse sound
2016-01-23 18:56:34 -06:00
Bjorn Neergaard
ca24badfb6 Fix wire feedback sound
Apparently wires used to play a default windows chime when cut, adding audible feedback
It was the windows 'bong' sound, and I'd rather not try to replicate it, so instead
we play the wirecutter sound very softly
2016-01-23 18:56:33 -06:00
Bjorn Neergaard
d712615db8 Fix tgui showing NaN, fix vending machines having no wires 2016-01-22 21:42:35 -06:00
Bjorn Neergaard
20e647a598 Prefer += to .Add()
For @RemieRichards
2016-01-22 20:12:47 -06:00
Bjorn Neergaard
9274f9a027 Fix conflicts 2016-01-22 19:29:18 -06:00
Bjorn Neergaard
1599742f7e Re-structure tgui's ui_act 2016-01-22 19:25:36 -06:00
Bjorn Neergaard
b2629a56e2 Make wires use defines, put a wire var on /atom, fix tgui ui_host runtimes 2016-01-22 19:25:33 -06:00
Bjorn Neergaard
99e5764719 Refactor pizza_bomb, tweak pizza_bomb sprites
Thanks to @WJohn for the pizza bomb core sprites, and updated pizza box sprites

Removes the pizza_bomb and replaces it with pizzabox/bomb. Adds a special bomb core
for pizza bombs (a pizza bomb core can be used on pizza boxes and regular bombs, but
regular bomb cores cannotbe used for pizza bombs), and tweaks wire code a little bit.
2016-01-22 19:22:11 -06:00
Bjorn Neergaard
909e7dddd7 Fix some small bugs in wire refactor; add all the colors! 2016-01-22 19:22:10 -06:00
Bjorn Neergaard
87b0857b93 Refactor wire datums
Finish wire port and refactor wire datums to use string keys; widen color
range to support more wires and more colors.
2016-01-22 19:22:09 -06:00
AnturK
cda2f26d56 tgui wires initial 2016-01-22 19:13:23 -06:00
tkdrg
14f90d8f1e Merge pull request #14748 from xxalpha/airlocktiming
Changed APC wire pulsing and airlock autoclose() to use timers.
2016-01-22 21:36:56 -03:00
xxalpha
de44d7ec43 Changed APC wire pulsing and airlock autoclose() to use timers.
a

round
2016-01-20 21:26:44 +00:00
Bjorn Neergaard
0a7236d955 Allow relabeling any canister; port MULEbot to tgui 2016-01-18 14:21:56 -06:00
AnturK
e36853d7c9 Convert bots to simple animals - Updated 7.0 2015-11-26 22:06:07 +01:00
phil235
79d25ef2d9 Fixes remotely detonating planted c4 with signaler.
Move CanUseTopic() procs to the correct files.
2015-11-11 15:57:05 +01:00
c0
df7386a4ec Assemblies update 2015-09-04 11:22:37 +03:00
xxalpha
19947d4fa0 Added qdel(wires) to a bunch of objects Destroy proc.
Return ..()
2015-08-27 11:10:58 +01:00
Cheridan
720ffcc862 Merge pull request #11073 from RemieRichards/WireModernisation
RnD Machines + Pizza bombs now use Wire datums
2015-08-12 22:23:18 -05:00
Miauw
ad1da7c157 Removes tape recorder wires to fix a server-crashing bug. 2015-08-10 14:00:05 +02:00
Remie Richards
4870122858 Rnd machines and Pizza boxes now use real wire datums, instead of the ancient method of list+var, Because of this they now also respond to Multitool-Pulsing.
Adds GetColour(index) helper to wire datums.
2015-08-07 03:35:10 +01:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
MrStonedOne
a262f9aac7 Attack logging tweaks
Removed the "feature" to have something log in an atom's vv attack log, but not the file attack log. all attack log items will go to the file as well as vv.

Replaced all hard coded src.name/name for attack log's object argument with an actual object (src) except where it made more sense not to.

All attack logging *should* happen AFTER damage is applied now.

Removed the confusing attack entry for when a changeling stings another changeling.

Tweaked how punch attack logs worked
2015-07-08 23:14:37 -07:00
xxalpha
b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
Cheridan
7363088cbc Merge pull request #9802 from Miauw62/AyeEye
Nerfs the AI in several minor ways.
2015-06-11 14:13:52 -05:00
Miauw
3c59772025 Polishes the AI nerfs a bit:
* Removed camera wires.
* Tracking time is now dependant on distance to eye instead of core.
* AI detectors will light up when the AI tracks you.

Also added a changelog.
2015-06-06 16:51:09 +02:00
xxalpha
9cb1061bfb Fixed hacking from inside machines and more. 2015-06-06 11:34:12 +01:00
Jordie0608
fc5149dbc3 brainloss check for topic and autolathe hack designs fix 2015-05-30 21:24:23 +10:00
kingofkosmos
a7bd5f93e1 "You hear something" set to italics. 2015-04-24 21:06:16 +03:00
kingofkosmos
1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
ACCount12
1c219f0ebe A lot of stuff 2015-03-31 18:30:09 +12:00
phil235
c9f9d30227 Air Alarm Deconstruction fix: you no longer need to cut the syphon wire to deconstruct the air alarm.
You can no longer open or interact with the wire window after the wires are removed.
You can no longer cut the final wire while the panel is closed.
Adding wires to the air alarm now properly reset the variables that the wires change upon cutting/pulsing.
2015-02-14 17:53:22 +01:00