Commit Graph
60 Commits
Author SHA1 Message Date
8eed335b94 Refactors inventory UI to be completely datum and vis_contents-based (#95998)
## About The Pull Request

Completely removes individual inventory UI handling from mob and HUD
code and moves it to slot datums.
``/datum/inventory_slot`` now is responsible for displaying items on the
player UI and does so through vis_contests as opposed to screen_loc -
which ensures that wide items will display properly rather than be
offset to the right.
Centralized, slot_id based handling allows us to significantly simplify
inventory and HUD code (see how many lines were removed) as you no
longer need to individually track all items for both the HUD owner and
the observer, and makes it easier for us to fully datumize inventory
handling in the future.

Also fixes a bug where observers would see players' storage UI and have
the items linger on-screen after its closed.

## Why It's Good For The Game

Makes working with inventories and HUDs easier, fixes visual issues with
wide items, I need this for human rendering refactors.

## Changelog
🆑
refactor: Refactors inventory UI to be completely datum and
vis_contents-based
fix: Observers should no longer see doubled up inventory UIs
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2026-05-31 14:27:23 -07:00
RuslanllllandGitHub 571a603b65 Fix duplicate alien plasma display (#95867)
## About The Pull Request
Fixes duplicate alien plasma displays 

## Why It's Good For The Game
Bugfixes are always good 

## Changelog
🆑 
fix: Alien plasma display works again
/🆑
2026-04-25 14:18:17 -06:00
John WillardandGitHub 74cad5fe0a Fixes combat indicator disappearing (#95535)
## About The Pull Request

This was my bad.

Combat mode now stores it's default screen location, so it can be
restored when swapping to "Full" HUD. We can't simply do initial screen
location because most mobs do not have their initial position the same
as humans.

Also fixes sleep icon being permanently invisible, makes "Toggle hotkeys
button" respect the Rest button, and makes combat mode an "info" button
solely so we don't have to manually add it for minimized HUD mode.

## Why It's Good For The Game

Fixes some UI issues that popped up.

## Changelog

🆑
fix: The Combat indicator will now properly move back to its original
location when using F12.
fix: Sleep icon now appears again & rest icon now respects "Toggle
Hotkeys button" mode.
/🆑
2026-04-03 15:13:26 +01:00
16aef3a2fd Completely refactors HUD element management and datumizes inventory HUDs (#95119)
## About The Pull Request

This is a port/revival of Kapu's
https://github.com/DaedalusDock/daedalusdock/pull/883
By god, please TM this for a while, as HUDs are rather volatile and I
might've missed something (also the original PR had harddel issues, so
we should probably be on the lookout for those)

Instead of being stored in a metric ton of separate variables, all HUD
elements are now kept in a ``key -> element`` assoc list, and separate
category lists have been turned into a single ``group_key -> list of
elements`` assoc list for easier management.
This massively simplifies HUD creation and management, and allows us to
sanely dynamically modify HUDs without having to keep track of our
elements ourselves (harddel fuel)

I've also noticed that plasma vessels had... interesting, to say the
least, way of managing their HUD and in humans were unable to display
it, which I've changed (the element itself is displayed below stamina in
non-aliens, as latter occupies the spot where you'd normally see it)
Also fixes a bunch of minor unlikely to occur issues with HUD not
updating when it should've sometimes.

## Why It's Good For The Game

The two most important results of this is that A) we can fix the issue
with items larger than 32x32 not displaying properly in inventories (in
a separate PR) and B) this paves the way for datumized inventory slots,
although that is a separate nightmare
Some of this code is also actually over a decade old, and is an absolute
nightmare to work with.

## Changelog
🆑
qol: Non-aliens with an implanted plasma vessel now see their plasma
level in their HUD instead of just the stat panel
refactor: Refactored the entirety of HUD management code, report if
anything breaks!
/🆑

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2026-04-02 15:20:55 -04:00
038707f0b1 Adds a Memory button to the UI & other HUD Changes (#95303)
## About The Pull Request

Revival of https://github.com/tgstation/tgstation/pull/91378 for renewed
effort of ruining the stat panel for everyone.

This PR does a few things to address issues I've had with the HUD in
hopes to bring reliance less upon the stat panel.

1. Adds a Memory button

<img width="133" height="169" alt="image"
src="https://github.com/user-attachments/assets/7f643882-5666-4099-9c68-5d6092a6d82c"
/>
<img width="134" height="169" alt="image"
src="https://github.com/user-attachments/assets/e7592ec3-ec3e-4afe-baa3-6d0e6d5d22c8"
/>

Potential alt icon, but I don't know if it's better
<img width="1322" height="115" alt="image"
src="https://github.com/user-attachments/assets/82cc6ad9-becd-4502-8b83-276b0ef6ed0d"
/>


2. Makes Alien, Animal & Borg HUDs more compact (This is uploaded before
Borg HUD icons were made)

Borg - Removed 'Store' button, now you left click your model to store it
(RMB to open/close), think of it more like a bag now.
<img width="1054" height="324" alt="image"
src="https://github.com/user-attachments/assets/5352a350-8f3e-4b3a-8634-929e2c9aa2f4"
/>


Alien
<img width="305" height="189" alt="image"
src="https://github.com/user-attachments/assets/c0f0b9f0-941a-405e-bdfd-4b5b46690fb6"
/>

Animals - Their HUDs now appear in the corner of the screen rather than
having the strange offset
<img width="202" height="168" alt="image"
src="https://github.com/user-attachments/assets/ddf26108-d930-4744-8ef5-17f981a3384b"
/>

I didn't touch gorilla, they still look weird.
<img width="732" height="181" alt="image"
src="https://github.com/user-attachments/assets/5c1534c3-7190-491d-8a1f-6fe51eebd9a2"
/>

2. Fixes borg numbers not showing up at the request of a user
<img width="701" height="312" alt="image"
src="https://github.com/user-attachments/assets/65464e15-8e31-41f8-b506-050fa27cebde"
/>

Closes https://github.com/tgstation/tgstation/issues/95163

I also added a rustle sound when you drop something as a borg so you
have an audio cue that you dropped something, sometimes as a borg I'll
drop something and think it disappeared, cause I didn't realize I
accidentally hit drop. This is a local sound, so it doesn't play to
anyone near you. Purely for feedback.

3. If you didn't notice, this de-hardcodes the UI for non-humans

UIs now respect your prefs for many more mobs now, pretty much only the
ones with unique special UIs (Alien, pAI, AI, Borg) will now respect
your prefs.

## Why It's Good For The Game

UIs make a bit more sense, takes Memories out of being only accessible
through the stat panel, allows your prefs to be respected more and makes
inventories a little more consistent through mob types.

If the stat panel is to be removed or made optional, we can't afford to
hide Memories through it because certain antagonists (see: nukies)
absolutely rely on it.

## Changelog

🆑 ttt, JohnFulpWillard
add: Added a Memory HUD to your UI. In case you didn't know, you get
memories of things happening around the station, or important antagonist
info such as the nuclear codes.
del: Removed Borg's "store" button, now the cyborg module will behave
more similar to a backpack (LMB to store, RMB to open/close)
fix: Borg material now properly displays how much materials they can
afford with their cell's charge.
qol: Your HUD prefs are respected on more mobs now.
qol: Improved the HUD of simple/basic animals, as well as Cyborgs, AIs,
pAIs and Xenomorphs.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2026-03-07 15:31:27 +01:00
John WillardandGitHub d21c105522 Adds a sleep icon (and fixes Alien HUD a bit) (#91256)
## About The Pull Request

Adds a new HUD element that only shows up when you're resting that
flicks when you click it once, and puts you to sleep for 40 seconds if
you double click it (so you don't accidentally sleep yourself for 40
seconds), which is meant to replace the verb in the stat panel.
Doesn't show up if you're sleep immune.
I also fixed alien huds a bit, putting rest on the right side where it
is for every other mob, and brought the floor change buttons down to
compensate.

New Larva HUD (other xenos have Throw between rest and sleep)

![image](https://github.com/user-attachments/assets/890faa34-4929-418b-ba88-d007bd1e6a4e)

Demonstration


https://github.com/user-attachments/assets/11f7574d-dd6d-4da5-ab39-6fcf6d6694b9

Rest can be seen in IDB

### New accessibility setting

As a compromise to putting a tgui confirmation menu in your face or
requiring a double click, I added a new setting in accessibility tab
that allows you to disable "double click" features. So far all it does
is give a tgui menu instead of require double click for sleeping, and
allow you to further examine things with a linked button in base
examine.

## Why It's Good For The Game

Sleep is currently only a verb available in the stat panel, this
provides an alternative so it doesn't become a chatbar-only verb when
the stat panel is removed. It's also just good feedback to the player
that this action exists.
2025-05-29 20:15:07 +00:00
SmArtKarandGitHub 960ed29b0a Major UI update and theme redesign (#88498)
## About The Pull Request

This PR completely overhauls Midnight and Midnight-derived UIs, as well
as does some adjustments to the UI layout.


![image](https://github.com/user-attachments/assets/369a812a-9b6c-4d3f-8a5e-ba4fbc9f4d64)

### Major changes:
* All UI elements for Midnight/Midnight-derived themes have been redrawn
to be cleaner, with consistent palettes and up-to-date sprites
* Tiny equip E is gone - Drop action has been moved in its place,
freeing some space in the bottom right corner
* Four minor menu keys have been bundled with actions, now-vertical
floor change element taking their place
* Action palette (wide thing in the top left corner) is now hidden when
it has zero actions bound to it and the player isn't currently dragging
an action button.

I've also fixed some minor issues with how hand elements are rendered,
and given feedback to resist button (it now lights up when pressed or
when the hotkey is held down)

<details>

<summary>Some screenshots of new UIs</summary>


![image](https://github.com/user-attachments/assets/afc62225-2a21-45c7-8382-d35fe4ec9d6c)


![image](https://github.com/user-attachments/assets/d2ea6f1a-a9f6-4b98-8fc8-663b1e97a38f)


![image](https://github.com/user-attachments/assets/52ffa40d-f982-4ab1-8c81-1225666363ab)

Redrawn UIs now have themed clothing slots


![image](https://github.com/user-attachments/assets/a9421e2f-3979-4aec-b2cb-7066d2b997ce)


![image](https://github.com/user-attachments/assets/0bcb5e8e-a626-44ce-b7f3-2a195c128213)


![qrd5eRR](https://github.com/user-attachments/assets/356b7bf8-5f54-4f92-bea6-4a8ac36aa2e7)

</details>

## Why It's Good For The Game

Our UI icons are very outdated and compressed, with very large palettes
and odd transparency quirks, making adding new elements or redesigning
current ones quite hard and frustrating. A fresh coat of paint can take
user experience a long way.

As for moved elements, most people either equip things manually or use
the equip hotkey - E button is rather obscure and rarely used, while
drop button makes sense to be located near hands. Action palette just
takes up screen space most of the time, so there's no reason to not hide
it when you don't have any use for it.

## Changelog
🆑
qol: Resist button now has visible feedback.
qol: Readjusted UI layout.
image: Completely redrawn Midnight and Midnight-derived UIs!
/🆑
2024-12-18 21:54:57 +00:00
Ilán MoriandGitHub 0382e0b9ac Z Level Button: Redone and ReBETTER. (#86465)
## About The Pull Request

Second crack at my z-level changing HUD button. I felt that my last
attempt left a lot to be desired, so here I am with it again!

<details>
<summary> Images </summary>

Widescreen:

![image](https://github.com/user-attachments/assets/148744b5-a748-49df-88d2-2f6b93e7c3ef)

![image](https://github.com/user-attachments/assets/d077c0ef-2bb8-4dae-ba45-d82e27828582)

Non-widescreen:

![image](https://github.com/user-attachments/assets/82cc4d52-c457-48d7-8e73-edd12eb6b2bd)

![image](https://github.com/user-attachments/assets/bfa7b643-2db0-4aa8-9ca7-579b530a928e)

Basic/Simple mobs:

![image](https://github.com/user-attachments/assets/e13e84cf-77e2-4ccc-b0b7-ea50bb4da9ce)


</details>

TODOs:

- [x] Apply to cyborgs
- [x] Apply to xenomorphs
- [x] Sprites: Glass UI Style
- [x] Sprites: Detective UI Style
- [x] Sprites: Clockwork UI Style
- [x] Sprites: Operative UI STyle

I still wanted to get the PR up to both get feedback on this method and
to see if I could garner a little bit of help with the spriting bit
(PLEEEEASE)
## Why It's Good For The Game

The current button leaves a lot to be desired, mainly:

- It isn't applied to every possess-able mob
- It has weird positioning and sizing that doesn't match anything else
in the game
- It's confusing and inconsistent to use (it straight up would not work
for observers, and I had to add the option to do alt click to go down)

This PR aims to fix all this, and more!

- One, big, long button that matches other similar ones that already
exist!
- Click the up arrow to go up, click the down arrow to go down. Always.
No fuzz!
- Two types: Horizontal and Vertical! Choose whichever fits your needs!
## Changelog
🆑
qol: The z-level button got a refresh! It's now applied to more places
and it should be simpler to use.
/🆑
2024-09-14 22:38:24 +02:00
RhialsandGitHub 01f7be4ea4 Xenos have their resist UI element again (#84995)
## About The Pull Request

This restores the "resist" UI element for xenos.

It's been there the whole time, even having the screen item get made
every time a Xeno player occupies a body. It wouldn't render, however,
since the actual screen element wouldn't be modified to use the xeno UI
theme.


![image](https://github.com/user-attachments/assets/ee6a8ddd-da51-4e58-9485-676f3d7085c2)
## Why It's Good For The Game

Xenos have plenty to be resisting from. Stop-drop-and-rolling, instantly
breaking out of handcuffs or straitjackets, buckle-combat.

The thing is, it's been here to whole time too, and even had a sprite
already set up, so it leads me to believe that this was somehow just
taken out by accident one day and went mostly unnoticed.
## Changelog
🆑 Rhials
fix: Xenos have a "resist" ui element now. Cool!
/🆑
2024-07-17 09:18:01 +02:00
Ilán MoriandGitHub 4860b156e5 Adds an HUD button to change your z-level (#81680)
## About The Pull Request

Adds a quick shortcut to the "Move up" and "Move down" verbs via a
button on the HUD!

Gnarly as hell features include:
- Implemented on humans, ghosts, cyborgs, AIs and Xenomorphs!
- One button, two actions! Left click goes up, right click goes down.
- Each UI style has its own themed sprite! (I made them myself and I'm
not good spriting but I like how they ended up)
- Has a tooltip! (Wow!)

Demo video (has old button placement, look below to see the new
placement):

https://youtu.be/Mlw6C_ta50g

<details>
<summary>Mobs screenshots</summary>

AI:

![image](https://github.com/tgstation/tgstation/assets/24967815/c34f1dd9-4efc-4170-a811-ebe3c96ef362)

Ghost:

![image](https://github.com/tgstation/tgstation/assets/24967815/9b6adadf-9dec-4f7a-b230-227b9f2232d3)

Larva/Xenomorph:

![image](https://github.com/tgstation/tgstation/assets/24967815/7bb60037-149a-446e-909b-9424e7fc0726)

Cyborg:

![image](https://github.com/tgstation/tgstation/assets/24967815/f3426cb8-763d-4dec-9921-48267a039ed5)

</details>

<details>
<summary>UI styles screenshots (old placement)</summary>

Midnight:

![image](https://github.com/tgstation/tgstation/assets/24967815/232bde6d-fdb9-4b0e-a900-04522c3e5695)

Clockwork:

![image](https://github.com/tgstation/tgstation/assets/24967815/67b8e777-4177-435a-9ac4-18a617cd7fb7)

Detective:

![image](https://github.com/tgstation/tgstation/assets/24967815/ce3cff5a-e0be-4d5f-ab2a-3c740fc68841)

Glass:

![image](https://github.com/tgstation/tgstation/assets/24967815/8934da4d-a3c6-4c06-be5b-b1b457603b09)

Operative:

![image](https://github.com/tgstation/tgstation/assets/24967815/3ebe1242-fc78-4de3-bb92-e1ced3e3cfb6)

Plasmafire:

![image](https://github.com/tgstation/tgstation/assets/24967815/b3667443-cd35-42e2-a287-56522f589f5e)

Retro:

![image](https://github.com/tgstation/tgstation/assets/24967815/89e82b1b-9cda-4d0d-bdad-cd7bdbc27fea)

Slimecore:

![image](https://github.com/tgstation/tgstation/assets/24967815/8e5fe17f-e118-4c13-b99d-9a9d444f0e9a)

Trasen-knox:

![image](https://github.com/tgstation/tgstation/assets/24967815/dddf6ef5-633d-4bbe-9f02-725affaa66dd)


</details>

**New placement:**

<details>


![image](https://github.com/tgstation/tgstation/assets/24967815/edfa4ee3-a642-4b85-b8e6-5064cee91c3d)

</details>

## Why It's Good For The Game

We already have a bunch of maps with multiple Z-levels (Northstar,
Tramstation, Icebox) and I'm sure there will be more to come.
As these maps become more common, the ability to move up/down z-levels
is bound to become important, if not essential. So I thought that,
instead of hiding this ability behind a tab or a hotkeys menu, why not
have it front and center?

Also, I remember a long time ago there was a push to make the verbs menu
on the top right obsolete, this helps to get us to that goal if we're
still doing it.

(This whole thing was inspired by me seeing what I assume to be a
not-so-new but not-so-experienced player being confused as to how to go
down those exact stairs on Tramstation's science when the gravgen was
broken, and my inability to be able to explain it to them, partly
because i couldnt remember what the key was called, and partly because i
was a mime.)
## Changelog
🆑
qol: added an HUD button to go up and down floors
/🆑
2024-02-29 12:21:24 +01:00
Vincent983andGitHub 7fb73e4b20 xeno rest button (#77551)
## About The Pull Request
xenos now have a rest button above their combat mode toggle 

## Why It's Good For The Game
xenos can rest, but for some reason it was only a verb and wasn't a hud
button like with humans

## Changelog

🆑
qol: xenos rest verb now is a hud button instead
/🆑
2023-08-13 14:48:10 -06:00
John WillardandGitHub 06ca7a4481 Hud screens now set hud owner in Initialize. (#76772)
## About The Pull Request

Adds an arg in huds' screens to add the hud owner in the Initialize,
instead of manually setting it every time we need to.
This is already done in ``New()`` for lobby screens, which I left intact
as lobby screens are used for new players, and are given out before
atoms are Initialized. Everything else, however, uses Initialize, so it
does not mess with any other args in their own Initializes (like the
Escape menu).
This also allows us to set the screens' HUDs as a private var, to ensure
this won't be messed with in the future.
Lastly I replaced instances of ``client`` with ``cannon_client`` to be
consistent with a lot of other parts of hud code.

## Why It's Good For The Game

Huds are easy to break when they do not have a hud owner, and for
something as important as that I believe it should be something you
opt-out of when you don't want it, rather than something you opt-into by
manually setting hud owner every time.
This cuts down on a lot of copy paste in hud code for humans, aliens,
etc.

## Changelog

🆑
refactor: Huds now have their hud owner set in Initialize
/🆑
2023-07-16 21:00:22 +02:00
TimandGitHub 6d12dc69ef Refactor /mob/living/carbon/alien/humanoid to be /mob/living/carbon/alien/adult (#70481) 2022-10-20 08:48:12 -07:00
FikouandGitHub 1f405df538 fixes navigation ui for non human mobs (#65932)
fixes navigation ui for some non human mobs
2022-04-05 22:45:40 +01:00
FikouandGitHub 8a51c10665 [MDB IGNORE] Adds dead space navigation (#65741)
Adds the navigate verb, it makes a holographic path to any navigation beacon on station
Video here: https://streamable.com/2uy76l
removes wayfiding pinpointers and the associated quirk, as theyre kinda redundant with it
needs #65665 before merge
partially inspired by goon
2022-04-03 10:42:51 +01:00
TemporalOroborosandGitHub e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
QustinnusandGitHub 707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
TemporalOroborosandGitHub edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
nicbnandGitHub a1c59cc9bc Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
2020-10-15 19:46:36 -03:00
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
Arkatos1andGitHub b4cdb87115 Screen icons cleanup (#50089) 2020-03-21 09:53:03 -03:00
Emmett GainesandRob Bailey 5481515dff Removes the non bitflag slot defines (#47742)
Removes the non bitflag slot defines
2019-11-17 17:52:11 -08:00
Emmett Gainesandmoo 1e99190bbe Sets hud in ui screen objects (#47192) 2019-10-18 15:04:04 -04:00
Emmett GainesandRob Bailey 8982f509b5 Refactors screen object update_icon to call parent (#47094)
* Refactors screen object update_icon to call parent

And makes update_icon an /atom proc

* Cleans up some missed null checks

The student teaches the master
2019-10-17 18:21:50 -07:00
Emmett Gainesandoranges 26c1031661 Refactors create_mob_hud() to add a signal (#39364)
* Refactors create_mob_hud() to add a signal

and make the mood component use it

* Register for the hud element click

* Observe observer safety
2018-07-29 17:47:16 +12:00
XDTMandJordan Brown 1532545638 Adds Rest hud button, adds small delay to getting up (#39052)
* Adds Rest hud button, adds small delay to getting up

* icons and icon code
2018-07-11 15:14:59 -04:00
Tad HardestyandAnturK d0466f42bc Allow dynamically updating UI style, do so on mob login (#38089) 2018-05-30 12:52:50 +02:00
nicbnandLeo 77a2d3f5cd Replaces "istype"s with is_helpers macros (#28676) 2017-06-22 15:03:19 -03:00
coiaxandAnturK 7554b5f454 Language datums; removes the talk wheel (#25333)
* Initial burst of languages

* Scratchings of beginnings

* Code review I

* Compilation!

* You can now understand your own speech

* Fixes whispering

* Gets typecaches working again

* Remie's `PASS`ing

* Back to pass() to stop the compiler whining

* Why can't drones check their languages

* Everyone speaks how they should

* Removes world string debug stuff

* Currently failing to massage radio code into working

* The radio transmits the languages!

* ,0 to talk common

* Replaces speech wheel with language menu

* Observers can speak all languages

* pAIs now speak languages FOREVER

* New action button for language menu

* pAIs have an action button to open their language menu

* AIs can talk and all that

* AIs have a language menu button

* Fixes supermatter making strange noises

* Fixes AI holopads

* Fixes request consoles

* Fixes bots making strange sounds

* Meaningless MMI change

* Some caching of datums

* Brains in MMIs speak common

* Ratvarian AIs can only speak Ratvarian

* Tables can speak common, apparently

* Removes var in args

* Fixes the (AI Eye) problem

Thanks to Shadowmobile for their help with this one.

* Fixes tape recorders

* Fixes humans being able to speak in languages they did not know

* Adds some new posibrain names

Honk.

* The voice analyzer replies in the language you spoke to it

* Gives swarmers only swarmer language

* `initial_languages` var.

* OMNITONGUE, clockwork restrictions

* Fixes barmaid and bardrone language abilities

* Code review I

* Omnitongue correction

* Code review II

* Removes force_compose var
2017-04-02 21:03:40 +02:00
KorPhaeron f50e88c16f Gives aliens, shadowpeople, monkeys, devils eyes 2017-02-03 17:34:34 -06:00
MervillandKorPhaeron 55e8396926 persistant -> persistent (#22072) 2016-12-10 05:44:48 -05:00
AnturK b2ff4cfd33 Makes action buttons use the hud themes. 2016-11-19 14:05:06 +01:00
phil235 143e4ce172 Made the wheel system generic, so future coders can make different wheel types.
I gave the talk wheel to aliens, monkeys and cyborgs.
2016-09-16 14:45:05 +02:00
Remie Richards 00738bd2a3 More than 2 hands!? WHAAAAAAT 2016-09-02 16:10:16 +01:00
GunHog 62ced82c3b Fixes Queen Finder Screen Loc
I am stupid and did not set the variable correctly. I thought I fixed it
though.
2016-07-27 08:40:58 -05:00
GunHog a607211dfb Adds Queen Finder for Xenos
- Xenos now have a "queen sense" which tracks the queen like a
pinpointer.
- Added WJ's custom sprites for all non-queen Xenos.
- Modded the alien type finder to support queen finding
2016-07-14 13:36:18 -05:00
c0 f71ab62e79 HUD item slots no longer show item placeholders when there are actual items inside 2016-03-22 08:00:38 +03:00
phil235andphil235 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 7a47b43c53 Re-implement screen overlays
This fixes 510 showing all overlays in the rightclick menu
2016-02-04 17:19:44 -06:00
Bjorn Neergaard 063dd9fb84 Get the code running on 510
* Travis for 510
* Remove json, list2text, text2list, bygex
* Change blind and click catcher to a low plane
2016-02-04 17:19:40 -06: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
KorPhaeron 6b36c8b797 Leap Icon 2016-01-03 00:47:09 -06:00
GunHog 1e25dab29f New Xeno Sprites!
- Added new Xeno sprites by WJohn!
- New blood trails!
- New Xeno blood and gibs!
- Removed walk/run mode from Xenos.
- Alien sneaking is now an action button, small delay when sneaking.
- Fixed NPC xenos missing sprites
2015-10-27 22:32:06 -05:00
Razharas cdc32a50c3 Made special object instead of using blindscreen
Made special object instead of using blindscreen
2015-06-06 07:10:46 +03:00
Razharas fea00718a0 Made swap hands use screen object
Made swap hands use screen object
Also now blindness is restricting your ability to click
You can shoot at darkness now, it calculates the turf you want to shoot
Added toggleable verb into the prefs tab for autoclick
Made proc that calculates turf from screen loc and origin turf
2015-06-04 07:47:20 +03:00
AnturK fdcae0a7ba - Turns alien abilites into proc holders 2015-04-08 16:56:43 +02:00
MrPerson e7ba8df654 Moved all pull icon updating to update_icon(), to reduce copy+paste.
Made the pull icon update_icon() as part of creation as requested by oranges.
2015-03-13 12:10:13 -07:00
MrPerson 24dcf08b2e Merge branch 'master' of https://github.com/tgstation/-tg-station into alert_alert_ur_a_faget
Conflicts:
	code/modules/mob/living/carbon/alien/humanoid/life.dm
	code/modules/mob/living/carbon/alien/larva/life.dm
	code/modules/mob/living/carbon/alien/life.dm
	code/modules/mob/living/carbon/monkey/life.dm
	icons/mob/screen_alien.dmi
2015-03-02 12:04:38 -08:00
MrPerson 8ffbc1be14 On screen alert system
Replaces some of the hardcoded HUD icons defined at mob level with a pair of mob procs throw_alert() and clear_alert(). Alerts will appear on the top-right side of the screen.
You can shift-click alerts to get a description of what's wrong and sometimes a tip on how to solve the alert.

Alerts can be given a master, which overlays the master on top of a box and forwards clicks of the alert to that master. Getting buckled will put an alert of what you're buckled to, for example. If it's a chair, you just click the alert and you're unbuckled. The idea I'm shooting for is to replace resist entirely with this kind of stuff.

Making a new alert and using it is a little complicated. This explanation will suck, but this is simpler than I'm making it sound, I promise. Throw_alert() has 4 args, category, id, severity, and obj/new_master. If you don't supply an id, category will be used as id. Only 1 alert per category is allowed; any duplicate will be replaced. Additionally clear_alert() clears alerts by category. Id MUST match a type path of /obj/screen/alert/[id]. That type path is where the alert's name and desc come from. The icon_state of the alert will either be "template" if new_master is set or [id][severity] otherwise. new_master is totally optional.

Examples:
throw_alert("oxy") -- takes name/desc of obj/screen/alert/oxy, icon_state = "oxy" -- clear_alert("oxy")
throw_alert("nutrition","fat") -- takes name/desc of obj/screen/alert/fat, icon_state = "fat" -- clear_alert("nutrition")
throw_alert("nutrition","starving") -- takes name/desc of obj/screen/alert/starving, icon_state = "starving" -- clear_alert("nutrition")
throw_alert("temp","cold",1) -- takes name/desc of obj/screen/alert/cold, icon_state = "cold1" -- clear_alert("temp")
throw_alert("temp","cold",3) -- takes name/desc of obj/screen/alert/cold, icon_state = "cold3" -- clear_alert("temp")

If you pass a new_master, id is only used to get name/desc and still must match a path, but the icon_state is "template" and icon is from the mob's ui preference instead of icons/mob/screen_alert.dmi.

Several unused icons removed, like borg oxygen and temperature alerts. Also some icons were used but now are not and were removed, like the nutrition icon for being well-fed and cyborg charge icon for being fully charged.
2015-03-01 17:31:26 -08:00
phil235 c8b0a21baa Fixes a lot of duplicated code in life and its subprocs for carbon mobs.
Fixes cyborg and monkeys no seeing any flash when flashed.
2015-02-21 00:37:04 +01:00