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.
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.
- can_be_revived(), used so we don't revive a mob who would immediately die again (lack of brain organ for carbons).
- fully_heal(), called by revive when we want to completely heal a mob before trying to ressuscitate it.
I gave some arguments to revive() so the proc can be used by more than just the admin healing code (ai revived by the AI fixer console, drone revived by another drone clicking it, strange reagent ressuscitating you, borg revived by restart circuitboard, changeling using his revive ability, etc)
This fixes borg revival not updating its vision correctly and not updating the diagnostic HUD. Same fix for changeling revival.
Brain mobs that are beaten to death can still be inserted inside a brainless human corpse but defibbing the corpse cannot work (the brain is too damaged). On the other hand cloning that corpse will still work.
Deffibing a brainless corpse no longer gives "further attempts may be successful".
Fixes brain mob's container var not being nullified on Destroy().
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)
- 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.
Fixes healing fountain construction sprite.
Nexus are now destroyed properly.
Borged cultists will now lose antag status properly.
Round end message fixed.
Feedback messages improved to be clearer, and lots of typos fixed.
Smite no longer uses up faith if there is no valid target in the turf.
Adds an atom/attack_god() proc.
Fixes the greeting messages for prophets and followers, improves god msg.
Fixes nexus being spawned on dense turf after 2min, and general sanity.
Fixes attacking structures with abstract items.
Adds click delay and attack animation for attacking structures.
Fixes a lot more typos.
Fixes defense pylon friendly fire.
Makes defense pylon togglable on its god's click.
Cleans up gun_turret code a little in general.
Adds deconversion by loyalty implant or holy water (basically rev+cult).
Gods will now die when they have no followers left.
Adds the HoG gods to the traitor panel.
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
Because people were confused by their memory being shown to them after the operation, which includes their objectives.
This also puts brains on a layer just above human mobs, so they can be seen when they pop out.