Commit Graph

436 Commits

Author SHA1 Message Date
tkdrg
799e923eff Merge pull request #15840 from phil235/RobotAttackSelfFix
Cyborgs can no longer activate the object in their active module when incapacitated
2016-03-01 21:14:55 -03:00
phil235
4d2c6b8e24 Cyborgs can no longer activate the object in their active module when incapacitated. They also can't change their sensor mode (sechud, etc...) while incapacitated.
Fixes Wizard apprentice not being able to use soulstones.
2016-02-29 23:09:13 +01:00
phil235
af425e3ed9 Fixes a mistake 2016-02-29 16:41:23 +01:00
phil235
069759f262 When reagents are metabolized, we only call update procs like updatehealth() or update_canmove(), once instead of once for each reagent effect that usually calls an update.
This fixes falling and getting up instantly every tick when you have a reagent weakening you and another healing the weaken effect.
2016-02-27 15:46:30 +01:00
Remie Richards
4d1e3764e1 Merge pull request #15673 from phil235/ActionButtonUpdateRefactor
Action buttons will now only update when needed instead of every Life().
2016-02-24 02:01:15 +00:00
phil235
57203430fd Merge branch 'master' of https://github.com/tgstation/-tg-station into ActionButtonUpdateRefactor
Conflicts:
	code/modules/clothing/clothing.dm
	code/modules/mob/living/carbon/inventory.dm
	code/modules/mob/living/carbon/life.dm
	icons/mob/actions.dmi
2016-02-23 19:49:38 +01:00
phil235
0ec876d9fe Refactored the item's action system. Items can now hold multiple actions.
The "set internals" button of tank items now turn green when it's used as internals.
Removed research scanner from drones (since cyborgs don't have it, it's more consistent)
Removed the ignore_madkadjust mask var.
The sechailer mask now has an adjust mask action button, so I removed the adjust verb that it was using.
The item's action are now created on item/New() instead of trying to create it every time someone picks the item up.
I split hud/action.dm, the datum/action stuff is now in the datum folder (/datum/action.dm), whereas the code for action buttons is kept in the hud folder under action_button.dm. Also I moved some /datum/action code that was in some files back into datum/action.dm where it belongs.
2016-02-23 19:37:42 +01:00
phil235
c424dfbcf9 Fixes a mistake in visible_message() code. Turf calling visible_message() now work correctly.
Fixes lighting cigarette message not appearing.
2016-02-22 20:46:19 +01:00
phil235
91839f5f70 Action buttons will now only update when needed instead of every Life().
The action buttons now update their icon instantly.
Fixes versions of pickup(),equipped() and dropped not calling the parent.
Fixes drone not being able to remove a defib from their storage.
You can now cycle the mime mask by clicking it in your hand.
The action buttons for hardsuit and hooded suits now only appears when you're wearing the suit.
Created two mob helper procs getBeltSlot() and getBackSlot().
Created /datum/species/proc/on_species_loss() to handle stuff when our race change, currently only used by jelly and slime race to remove their exotic blood from our reagents and to remove slime people's action buttons.
2016-02-22 00:34:59 +01:00
phil235
887822edd5 Fixes being able to become huge by injecting yourself with dwarfism while having mutadone in you. The resizing now happens instantly and no longer waits for the next life() call.
Fixes resizing. It was broken because I had removed update_canmove() call in living/life(). Now every part of the code that modifies resize directly calls update_transform().

Fixes mob seeing two messages when acquiring (or losing) the dwarfism mutation.
2016-02-19 18:32:29 +01:00
tkdrg
e7af997785 Merge pull request #15441 from phil235/BrainChanges
Brain fixes and changes
2016-02-13 13:29:37 -03:00
Bjorn Neergaard
205809c25f Unanchor gibtonite, fix up some pull code 2016-02-13 00:26:28 -06:00
phil235
a0855f2693 Brains can no longer be blinded, even when inside a MMI.
Fixes borg made from staff of change not having a brain organ in their MMI.
Removes some duplicated procs in mob.dm (probably due to incorrectly fix merge conflicts)
You can now attack brains with a weapon even when not inside a MMI (previously only when in MMI).
Fixes brain vision not being given mech sight when put inside a mech.
Removing a brain from its MMI not place the brain in your hand instead of on the ground.
Fixes built cyborgs containing two mmis.
Damaged brain from attack can't be placed inside a cyborg.
Robotized humans (called Robotize()) , such as roundstart cyborgs, now have an MMI with the human's name (instead of having a brain with a borg name, which was inconsistent with built cyborgs).
Syndiborgs bought by nukeops now have a brain with the same last name as the ops team.
Fixes Borg created with staff of change not containing a brain organ.
Fixes brain being killable when inside cyborgs. Fixes borg dropping a dead mmi brain unable to talk. Brains are now immune to environment damage and radiation.
Fixes brain being able to suicide multiple times (if put in and out of an MMI)
2016-02-12 02:04:14 +01:00
AnturK
7d30ceb425 Merge pull request #15404 from phil235/AlienWeakenedFix
Fixes alien's weakened var never decreasing.
2016-02-11 23:27:24 +01:00
phil235
062fc929ba Fixes alien's weakened var never decreasing. 2016-02-10 22:52:36 +01:00
phil235
0291f450d2 Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdatesChanges
Conflicts:
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/death.dm
	code/modules/mob/living/login.dm
	code/modules/mob/mob.dm
2016-02-10 22:35:19 +01:00
phil235
16a5441379 Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionFixes2
Conflicts:
	code/game/objects/structures/crates_lockers/closets.dm
2016-02-08 19:35:01 +01:00
phil235
b9bba3a501 Fixes unconscious mob standing still when removed from cryo cell, closet, containers.
Fixes mobs inside cryo cells getting pipes overlay(ventcrawl). Ventcrawler can no longer move in or out of
the cryo cell, which fixes ventcrawler going into cryo cell and getting stuck in it.
Being inside a cryo cell now give you a nearsight overlay (same as closet).
Brains no longer get the red circles overlay when damaged.
MMI now properly updates its icon when the brain mob dies.
Fixes getting stuck with a grab inside you when grabbing someone buckled.
Silicon stunned, weakened and paralysis is now properly updated.
2016-02-08 19:22:45 +01:00
tkdrg
2a0935d238 Merge pull request #15224 from MrStonedOne/patch-146
MC: tweaks, midnight rollover fix, and some 510 work
2016-02-07 23:16:59 -03:00
MrStonedOne
c91c592f04 MC: tweaks, midnight rollover fix, and some 510 work
Fixes the mc getting all fucked up during midnight rollover

Mc now tracks the tick_usage of every subsystem, and will skip running an expensive subsystem if we are too close to overrunning in a tick, waiting until next tick, unless that subsystem is excessively past due (because we kept skipping it).

It now assumes that 20% of a tick should be saved for byond to do it's things, and stops running all subsystems once we get to 80% tick usage.

Dynamic wait will only smooth out wait changes over 8 fires if the new wait is lower than the old wait, before it would smooth out wait increases as well as decreases.

The fps throttle system is now 509 only.

The mc will now run every 1ds, no GCD bullshit, as we want to spread things out more.

Offline subsystems will still show their stat message

DS is now rounded to 2 digits, not 3, to make room for the tick percentage bit, and because the 3rd digit was useless and all MoE
2016-02-07 18:03:19 -08:00
phil235
83633edfed - I renamed some of the new adjust procs and create new ones for eye_blind,eye_blurry and eye_stat so they get three procs just like weakened/sleeping/etc.. (Sleeping, AdjustSleeping, SetSleeping)
- renamed the eye_stat var to eye_damage.
- mob/on_varedit() added. Manually var editing a mob's eye_blind var properly updates his vision.
- I removed update_vision_overlays(), we now just update the relevant fullscreens instead of all fullscreens whenever one needs to be updated.
- fixed climbing into mecha not giving you mecha sight.
- simplified and removed copypasta from update_tinttotal() (now update_tint() )
2016-02-07 18:50:18 +01: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
Razharas
caa0130ecd Merge pull request #14963 from neersighted/flat
Skin Rework
2016-01-29 21:23:11 +03:00
Bjorn Neergaard
068974590b Finish skin cleanup 2016-01-28 23:03:36 -06:00
Firecage
7f96592b87 Merge Conflict Fix 2016-01-27 13:29:38 +02:00
Bjorn Neergaard
e750a06cde Remove old helper, fix tank dispenser icons. 2016-01-25 12:03:15 -06:00
Cheridan
b3240416b4 Merge pull request #14798 from MrPerson/come_on_guys
Fixes some awful defines to not be hacks
2016-01-24 21:15:14 -06:00
AnturK
d2be78ab6c Refactors renaming a bit 2016-01-24 12:56:50 +01:00
MrPerson
e1b3815539 Fixes some awful defines to not be hacks 2016-01-22 19:07:37 -08:00
Firecage
0cb6814c18 Merge conflict fix 2016-01-17 19:15:30 +02:00
Firecage
332bde0f4f Does the rest of the if()'s/ else's 2016-01-17 19:03:12 +02:00
duncathan
9066bc7c4f Merge branch 'master' of https://github.com/tgstation/-tg-station into listmos
Conflicts:
	code/controllers/subsystem/air.dm
	code/datums/gas_mixture.dm
	code/game/objects/items/devices/scanners.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/life.dm
	tgui/assets/tgui.css
	tgui/assets/tgui.js
	tgui/scripts/interfaces/atmos_filter.ract
2016-01-13 20:07:21 -06:00
Cheridan
6c9fa9eb72 Merge pull request #14389 from phil235/VisibleMessageRefactor
Refactor the visible_message() proc to be faster in some cases.
2016-01-09 22:16:57 -06:00
phil235
60f72d059d - switch visible_message() back to using get_hearers_in_view(), because using inLineOfSight() creates some bugs. visible_message() will still be faster than current version, but only when there's a blind_message used.
- Fixes hostile animal not seeing any target near them if they are sitting on something opaque (wall, mech,..).
2016-01-05 16:46:26 +01:00
phil235
5811e00d1b derp, some typos and a wrong number in the distance check. 2016-01-04 23:05:35 +01:00
phil235
e225fbc850 - Refactor the visible_message() proc to be much faster.
- Replacing some "for(var/mob/o in viewers()) show_message()" by "visible_message()".
- Replacing some "show_message()" by " << "..." " instead.
- Fixes being able to see the results of the health and slime analyzers while blind.
-
2016-01-04 22:49:27 +01:00
KorPhaeron
03a39b9542 Venus 2016-01-03 02:58:32 -06:00
duncathan
b18c6c2c5c Merge branch 'master' of https://github.com/tgstation/-tg-station into listmos
Conflicts:
	nano/assets/nanoui.js
	nano/bower.json
	nano/templates/atmos_filter.dot
2016-01-02 18:02:54 -06:00
duncathan
8392974ad0 fixes associative list; adds gas_overlay to "datum gases" 2015-12-29 22:50:09 -06:00
tkdrg
5930ee0d66 Merge pull request #13588 from Lo6a4evskiy/quick-equip-refactor
Refactor quick-equip verb
2015-12-29 14:26:48 -03:00
Lo6a4evskiy
ab6fb1ab36 Refactor using slot_equipment_priority 2015-12-29 17:59:56 +04:00
duncathan
b18cb5fca8 making shit compile 2015-12-28 08:31:20 -06:00
Kyle Spier-Swenson
0b73f1190f alt click will no longer show atoms overridden by a client image 2015-12-23 00:54:55 -08:00
duncathan salt
bea8d35ff5 Merge pull request #13437 from neersighted/clickable_stats
Refactor MC/Failsafe/add Subsystems
2015-12-07 19:58:46 -06:00
Kyle Spier-Swenson
ab27b2bd0e Life will no long hang the MC if something sleeps. 2015-12-06 07:17:03 -08:00
Bjorn Neergaard
815ac7d2f9 Defcon improvements, renames, etc 2015-12-04 23:24:50 -06:00
Bjorn Neergaard
97ca70cd34 Rework Master Controller, Failsafe, and Subsystem code 2015-12-04 15:40:58 -06:00
Bjorn Neergaard
c66314d282 Make stats in the MC tab clickable 2015-12-04 00:21:45 -05:00
Nerd Lord
cdd93677f9 Corgis no longer do anything special when being sacrificed. Fuck that.
Removes sac_act for being entirely unused.
2015-11-27 23:05:54 -05:00