67 Commits
Author SHA1 Message Date
94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

Ports https://github.com/cmss13-devs/cmss13/pull/4229, with the original
authors as:

- https://github.com/tgstation/TerraGov-Marine-Corps/pull/1964 for the
lighting controller (A-lexa)
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/4747 and
https://github.com/tgstation/TerraGov-Marine-Corps/pull/7263 for the
lighting (TiviPlus)
- https://github.com/tgstation/tgstation/pull/54520 for the dir lighting
component
- https://github.com/tgstation/tgstation/pull/75018 for the out of
bounds fix in lighting
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/6678 for the
emissives (TiviPlus)

The main driving reason behind this is that current lighting consumes
way too much processing power, especially for things like odysseys/away
sites where a billion light sources are processing/moving at once and
the game slows down to a crawl. Hopefully this improves the situation by
a good margin, but we will need some testmerging to confirm that.
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/1059ba2b-c0c5-495a-9c76-2d75d0c42bf2"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9704b0f6-4cf6-4dfd-a6cb-5702ad07d677"
/>


- [x] Resolve todos
- [x] Look into open space fuckery (border objects)

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00
7b806f06b9 Fire behavior update (#21223)
Fire burn temperature formula updated to longer treat you like you're
100,000 Kelvin for neglecting to stop drop and roll after accidentally
fumbling your lighter.

changes:
- balance: "Updated fire_burn_temperature() calculations so that being
on fire will no longer arbitrarily return temperatures hotter than most
stars."
- balance: "Modified engineering voidsuit to have low-level thermal
protection (similar to atmos voidsuit having low-level radiation
protection)."
- bugfix: "Fixed cases where you ought to have been set on fire, but
weren't."
  - code_imp: "Cleaned up function names, booleans; added more dmdocs."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2025-09-06 10:20:33 +00:00
d7706ece53 Bug fixes, init signals for mobs, density updates. (#21108)
1. Look up now follows your mob (no more auto-removal when you move,
only when you go below a solid tile). Maybe add a hotkey?
2. Made the codebase work with the latest version of spacemandmm lint.
3. Advanced kits don't work on robotic limbs.
4. Density shifting should now always use set_density. Ported
TRAIT_UNDENSE from CM to better control the density of living mobs.
Fixes weird shifting behaviour with wall leaning -- what was happening
is that mob density was getting reset to TRUE because the mob wasn't
lying down.
5. TGUI say light prefs actually save.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-08-06 10:18:14 +00:00
FluffyandGitHub 7265630dde Turn more unmanaged global vars into GLOB (#20446)
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
2025-02-17 23:34:02 +00:00
FluffyandGitHub c24b4c7097 Projectile refactoring madness (#19878)
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.

High risk.
2024-09-23 10:12:57 +00:00
dc610520fe Refactor /obj/screen to /atom/movable/screen (#19852)
Part of backend stuff required for #19188. Should probably be test
merged.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-09-21 12:12:07 +00:00
FluffyandGitHub b3a4aa501f Life changes (#19560)
Refactored Life() to receive seconds per tick and times fired as
parameters.
Life() now cannot be slept in, turned various sleepings into async calls
procs.
Optimized mob AI subsystems, gave them new priorities levels and flags.
Grab upgrades are now elaborated asynchronously, tweaked them to avoid
stacking multiple upgrades.
Fixed plains tyrants keeping sending messages about stomping even if
dead.
2024-07-08 12:48:18 +00:00
EvandorfandGitHub fa843b8fa1 Fixes changeling thermal vision reverting. (#19486)
Reapplied the stop_sight_update check in life.dm. Tested successfully
with changeling thermal vision.
2024-06-20 10:24:43 +00:00
RustingWithYouandGitHub 6957bc34f1 Blueprints Rework (#18947)
Reworks blueprints to use an eye component for area selection and
changing. Blueprints will now work on whichever overmap site they spawn
on if overmap is enabled, though currently they have only been added to
the Horizon.

Adds shuttle-modifying blueprints for altering shuttle areas and
exoplanet outpost blueprints for creating areas on exoplanets. A set of
outpost blueprints and a lockbox containing blueprints for the Horizon's
shuttles have been added to the CE's locker.

Moves eye creation to a component.

Ported from:
https://github.com/NebulaSS13/Nebula/pull/465
https://github.com/NebulaSS13/Nebula/pull/564
https://github.com/NebulaSS13/Nebula/pull/3046
2024-04-19 21:56:26 +00:00
FluffyandGitHub ab23fbdb70 Function overloads condensation (#18939)
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
2024-04-19 21:19:41 +00:00
57067892d8 Ports the weather system from Nebula. (#18706)
* part 1

* compiles?

* IT WORKS

* vis contents

* fixes

* umbrelloid

* umbrella 2

* dsasdd

* stuff

* lmao

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-03-24 14:05:00 +00:00
FluffyGitHubFluffyGhost <FluffyGhost>
29f616a5b1 Removed various set backgrounds (#18634)
* Atomization

* sadf

---------

Co-authored-by: FluffyGhost <FluffyGhost>
2024-03-13 21:27:27 +00:00
FluffyandGitHub e27a6f3070 Hail Lii'dra (#17925)
* fsad

* uihj
2023-12-13 19:06:40 +00:00
21f92e65fd Paxazide stops harm intent (#16940)
* Paxazide stops harm intent

* Update code/modules/mob/living/life.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-08-04 11:31:42 +00:00
Matt AtlasandGitHub 25fd3ba098 Stops shuttles from bringing background turfs with them. (#15580) 2023-01-20 14:52:01 +01:00
SleepyGemmyandGitHub b769ffa1ab Adds Virtual Mobs (#14718) 2022-08-29 21:57:36 +02:00
SleepyGemmyandGitHub ea6ec4dd52 Tweaks Unconsciousness (#14626) 2022-08-21 19:44:51 +02:00
GeevesandGitHub 15099384da Better Screen Tints (#12155) 2021-07-31 12:49:24 +02:00
GeevesandGitHub 7f13954725 Sight Stuff (#11546) 2021-03-29 18:13:45 +02:00
GeevesandGitHub ca8ef1ea71 Skrell Srom Health Indicator (#10686) 2020-12-22 15:45:40 +01:00
Matt AtlasandGitHub 556f1aa86f Fullscreen overlay rework, full-black unconsciousness overlay, overlay fadeout animations + more. (#10053)
Ported the clickcatcher from tg/bay. You can now click black spots to turn. Isn't that handy, especially with vision cones.

    Reworked fullscreen overlays into an easier and better system, courtesy of PsiOmegaDelta.

    Similiarly, added fadeout animations to all pain overlays, plus unconsciousness.

    Fixed the vampire frenzy overlay never showing.

    Unconsciousness is now FULL darkness.

    Flashing mobs is now an inbuilt proc.
2020-10-02 08:53:14 +03:00
Matt AtlasandGitHub c7c5d44a97 Reworks stasis, reshuffles life order, makes gases use defines. (#9409) 2020-08-09 13:20:06 +02:00
mikomyazakiandGitHub 3f2a515a8b Changes all cases of update_icons(), updateicon(), UpdateIcon() etc. to update_icon(). (#9432)
update_icons(), UpdateIcon() and updateicon() are now changed to be update_icon().

Many interactions expect a target to have an update_icon(), so they should all be the same.

Also fixed some stuff that was using relative pathing, along the way.
2020-07-26 12:28:36 +03:00
mikomyazakiandGitHub 3ac9bd5849 Simplifies hearing into handle_hearing() (#9443)
Currently, hearing related stuff is handled in at least three places throughout Life(), and whether a mob is deaf or not is complicated - Handled by an sdisabilities flag, has_hearing_aid() and ear_deaf.

This change consolidates everything into handle_hearing(); whether a mob is deaf or not can be determined just by the value of ear_deaf using isdeaf()

Fixes #9310
Fixes #8490
2020-07-24 15:04:08 +03:00
GeevesandGitHub a074b7e224 Better Client Colors and Drugs (#9102)
The druggy overlay has been upgraded.

Ports NebulaSS13/Nebula#619
Also ports CrimsonShrike's colour multiplication code which allows client colours to affect eachother.
2020-06-20 11:33:42 +03:00
GeevesandGitHub 097ea6cfbc Shielding Auras (#8760)
Ports Baystation12/Baystation12#19992 and Baystation12/Baystation12#27266.

    Added a personal shield device to the traitor tools uplink.
    Added a radiant shielding aura spell to Battlemage and Cleric.
    Added an exosuit shield drone to the mechfab.

This works, but I'm not entirely happy with the sprites. The personal shield has no on-mob shimmer, it uses a mindbatterer grenade as an icon sprite. The wizard radiant spell uses a pretty big and janky sprite as an on-mob, and the exosuit's shield sprite doesn't follow the dir the mech faces, but that one I can maybe fix on my own. If anyone knows about that last one, lemme know, Bay had code for it that we do not.
2020-05-15 23:37:27 +03:00
Matt AtlasandErki 9fbbfc2546 General fixes to skrell psionics. (#7826)
tweak: "Psiping is now activated by activating an empty hand on help intent."
    tweak: "Commune is now activated by clicking on someone on help intent while aiming for the mouth."
    tweak: "Psiping and Commune no longer make sounds."
2019-12-28 20:14:31 +02:00
WernerandGitHub cb4a712851 Enforces Lineendings and adds Editorconfig (#7657) 2019-12-21 16:19:24 +01:00
Matt AtlasandWerner bbecc7b461 Many vore improvements. (#7686) 2019-12-19 20:06:14 +01:00
JohnWildkinsandErki a03f170f16 Ports BS12 fixes / refactor of visualnets. (#7572)
Ports (and adjusts) Baystation12/Baystation12#12521 et al. Essentially brings our visualnet code up to the standard of three years ago, rather than five.

Side effects of merging may include but are not limited to loss of AI vision, helmet camera failure, garbage collection implosion, infinite turf loops, and unintended layer shenanigans.

High-level changes:

    Overall, visualnet/chunk procs have been renamed and refactored to be clear as to their function.
    Fix some layering issues related to magic numbers, these have been set to constants.
    Visualnets now track source movement rather than overriding individual mob/obj procs.
    Adds obfuscation underlay to complicate memory fudging to remove camera static.
    Cameras now only add themselves to the cameranet if they're on open (non-restricted) networks.
    Helmet cameras now use cameras themselves rather than network defines.
    Adds a sorted object list insertion helper.
    The Camera MIU (presently unused) should now function properly.
    Unused cultnet / cult mask deleted because refactoring that would likely kill the few brain cells I have left
2019-12-07 18:37:40 +02:00
SueTheCakeandWerner 84794c6e65 Mechs 3: Electric Boogaloo (#7486) 2019-11-25 23:04:19 +01:00
WernerandGitHub af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
AlberykandWerner e950f6b5fd Add new chemicals (#5168)
Adds new drugs:
-Red Nightshade: a drug that induce a berserk-like status, you see only red, can smash windows, stuns go away slower and etc
-Paxazide: a medicine that induces pacifism on the target, like the mutation
-Spectrocybin: a hallucinogenic that has a small chance of giving a glipse of the other hidden to mere mortals, can be found in a mushroom variety

Adds a new secret chem:
-Bottled Lightning: causes a tesla zap when in contact with someone's blood or when splashed on the ground

Also removes some broken/unused plants.
2018-08-30 20:09:08 +02:00
LordFowlandErki 453b039dfe Fixes More Devbugs (#4214)
Fixes #4195
Fixes #4199
Fixes #4162
Fixes #4194
2018-01-30 07:50:30 +02:00
AlberykandErki c0425a867c More bugfixes for the january update (#4200)
-fixes #4172
-fixes #4193
-fixes #4192
-fixes #4189
-fixes #4179
-fixes #4170
-fixes #4197
-fixes #4201
-changes the access of the security checkpoint, so all heads of staff can use it
-fixes the hop being unable to access the account's computer
-fixes being able to feed holodeck penguins
-fixes modular laser weapons not interacting with firing pins
-fixes more guns not interacting with pins and remove the need for pins from certain guns, like crossbow, alien weapons and etc
-fixes unstable matter's portals and the elixir of life
-nerfs liquid fire a bit
2018-01-29 22:54:01 +02:00
LordFowlandLohikar ad00601b81 Ports /tg/ Brain Trauma (#3979) 2018-01-27 12:13:19 -06:00
AlberykandErki e1e42de4e0 Makes shadow people more interesting (#3404)
This pr makes shadow people more interesting by making them take damage in the light, while healing in the shadows. Also adds some spells that allow them be more dangerous/powerfull while in the darkness.
2017-09-16 19:39:59 +03:00
LohikarandLordFowl f6dc33a465 Newmap - SMC, Openturf, Arrivals Controller, and Mine Turf Improvements (#1958)
* Replace SSingulo with SScalamity; processing cleanup
- SScalamity now handles blobs as well as singularity-types.
- Processing subtypes have been simplified to not require a stop_processing definition.

* this is probably important

* Remove cascade disabling SSgarbage

* Fixed a bug where dust() did not qdel the target mob

* Misc fixes

* Fix decals surviving break-to-plating

* Subsystem flag tweaks

* Apparently subsystems are new'd before config is.

* Fix paper icons

* Speculative fix for insane lag

* Better machinery stat

* Make organs not use SSoverlay

* Misc bugfixes & tweaks

* Nightmode fixes

* Changelog for SMC

* Port /tg/'s improved MC crash handling

* Add some more SS Recover() procs

* supply_controller -> SScargo

* More New() -> Initialize()

* pAI and robot construction overlays

* Fix cargo unit tests

* Merge the DMM Suite's atom/New() into atoms_init

* Lighting pre-baking

* Lighting initialization logging

* Fix some bad SS init orders

* Fix SSlighting logging; rename Processes to MC

* Speculative fix for insane GC lag

* Prebaked openturf/icon_smooth & fix lighting prebake

* SS init status; SSatoms LATEQDEL

* Fix bug with MC init stat panel

* Fix parallax

* Misc

* Ignore SS_NO_DISPLAY during init

* apparently this is important

* REEEEEE

* Image GC fixes; broadcaster radio-new sanity

* RCON Cleanup

* Move pAI recruiter into subsystem

* Move global solars list into sun subsystem

* Make chickens not use a global

* Demote SSdisposals to SS_BACKGROUND; garbage-debug cleanup

* Speed up space init a little

* Fix bad timer flags on floor drying

* Subsystem panic-restart verb for mins

* Explosion speedup

* Minor subsystem & MC logging tweaks

* SSopenturf improvements

* Make pipenet actually initialize (whoops)

* Minor tweaks

* Implement lighting rounding

* comments are hard okay

* Minor lattice tweaks

* Fix some timer issues & better closet init

* Timer sanity

* Request console tweaks + Storage init sanity

* Minor SSmachiner RCON improvements

* Further reduce world-start timer count

* Standardize subsystem logging

* Garbage hard delete profiling from /tg/

* Timer hang detection & recovery

* Log machines that sleep in process() and fuck up SSmachinery

* Fix an issue with external airlocks sleeping in process()

* Failsafe logging

* Minor tweaks

* Revert "Request console tweaks + Storage init sanity"

This reverts commit 98d3579e35.

* Re-implement RC changes

* Fix SQL FT saving

* Fix SSmachinery sleep in disposals

* Minor SS tweaks

* Paper fixes

* Blood drying fixes

* Merge gameticker and SSticker

* Minor global list init cleanup

* Lagcheck biogenerator & bags

* Tweak SScargo init order; RIG Initialize()

* Caching tweaks

* Remove rogue comma

* Initialize fixes

* Lighting destroy cleanup

* Fix emagging airlocks

* Initial SSicon implementation

* Tweaks & Fixes

* Fire + Air alarm queued icon updates

* Overlays + Queued icon cleanup

* Runtime & background fixes

* Kill some meaningless set statements

* Kill some image qdels

* Bump up lighting rounding val

* Fix adv. scanner destroy runtimes

* Remove unneeded icon update limiting

* Move icon smoothing into helpers

* Show a warning if DM 510 compiles without memory leak hack enabled

* Re-organize subsystems & MC defines a little

* Airlock SFX

* Log of Changes

* Make SSicon_update disable itself when not doing anything

* Fix respawn verb runtime when used early in server-init

* Add more information to MC's stat_entry()

* Replace direct refernces to gcDestroyed with QDEL* macros

* plant_controller -> SSplants

* More plant tweaks

* Add more humor to changelog

* Move parallax globals into SSparallax

* Lighting responsiveness tweaks

* Fix parallax init order & better MC init panel stat

* Make mobs GC

* More overlays + Remove intercom spawn()

* SSfast_process; make pinpointers not use spawn-recursion to process
Also made the SM Cascade beach process with SSprocessing instead of a spawn loop.

* Update changelog

* Mob GC tweaks

* Del() cleanup

* Fix insomniac ZAS connection edges

* Minor pAI cleanup

* Convert more things to SSoverlay; fix duplicated overlay in field gens

* SM Bluespace turf tweaks

* Update SSgarbage debug globals list

* Human-type qdel tweaks

* Subsystem suspension; stat_entry improvements

* SQL Statistics cleanup

* Fix runtimes with ambrosia

* More disable() -> suspend(); fix nightmode again

* Human qdel fix; minor tweaks

* Update turbolift to work with StonedMC

* Make lifts use timers instead of a subsystem

* Make SSassets start earlier

* Convert the radio controller into a subsystem

* Fix some missing CHECK_TICKs in asteroid generation

* MC stat tweaks; make shouldnt_see a typecache

* Kill some redundant debug-controller entries

* radio_controller -> SSradio

* Better SSgarbage hard-del logging from /tg/ upstream

* Logging tweaks + GELF

* Misc client caching improvements

* Slime SSoverlay

* Oven icon fixes

* Implant fixes
- Death implants will no longer spam Common on death of user.
- Death implants should handle a deleted user better.

* Holder tweaks + Welding tool Initialize()

* Fix some bad subsystem logging

* Fix suit cooling units spawning without cells

* Starlight tweaks

* Gibber infinite gib fix

* More SSoverlay stuff

* Make crates use CUT_OVERLAY_IN

* Make SSarrivals suspend instead of disable

* Make openturf use split/phased tick checks

* Speculative fix for unwet timer runtimes

* Blood overlay tweaks/fixes

* Update crusher to play nice with SMC + SSoverlay

* Openturf improvements and fixes

* Minor turbolift tweaks

* Lighting performance improvements + ChangeTurf tweaks

* this is probably important

* Fix wall weld noises on changeturf

* More ChangeTurf tweaks

* Explosion tweaks

* Pre-game lobby tweaks

* Openturf tweaks

* Prevent admins from starting the game before init finishes

* Fix Travis

* Kill an unused var

* Fix ChangeTurf runtimes on openturfs

* Fixes

* Browser datum fixes, asset caching

* Update changelog

* Changelog

* Lobby tweaks

* Ticker tweaks; kill ticker var

* Further lobby tweaks

* Cascade tweaks

* air_master -> SSair

* Reduce overhead from radio autosay

* alarm_manager -> SSalarm

* bomb_processor -> SSexplosives

* corp_regs -> SSlaw

* ZAS overlay fixes

* Small wall icon optimization

* Fix effects master

* Assembly tweaks

* Megavend fixes

* Shuttle fixes

* Camera alert performance improvements

* Fix some world.log spam from lighting overlays

* Fix some Initialize() procs

* Openspace responsiveness tweaks

* Make HE pipes animate through openturfs

* Kill a spawn
2017-05-02 14:40:40 -04:00
skull132andGitHub f0f1c6b899 Fixes #1421, #1412 + runtimes (#1422)
Fixes #1421
Fixes runtime spam from Pun Pun
Fixes runtimes from NTIRC
Fixes #1412
2017-01-07 20:33:33 +02:00
skull132andGitHub b7b8e2b202 Fix glasses + ventcrawling vision (#1371) 2017-01-03 01:32:29 +02:00
skull132andGitHub 1ee2bc7f43 Fixing blindness (#1317)
Fixes #1315
2016-12-26 12:49:40 +02:00
skull132andGitHub 22c43472ae More Merge Fixes (#1304)
* Fixes SQL saving of hex numbers
* Removes completed TODO-MERGE notes
* Changes one instance of Galactic Common to Ceti Basic
* Renames instances of blind.layer to blind.invisibility (as is proper)
* Fixes the SQL schema some more
* Implements pAI saving
2016-12-26 02:34:29 +02:00
Wernerandskull132 a878524089 Baymerge fixes (#13)
86 errors
2016-11-19 18:56:00 +02:00
PsiOmegaDelta 86d01ac10a Life and HUD tweaks.
Relocates the blindness reset to as late as possible without causing issues (beyond its positioning). Fixes #11865.
handle_regular_hud_updates() no longer quits early with no client around.
Re-arranges mob HUD updates. Among other things dead humans now do their final update after death, not just before it.
Also actually updates the LIFE_HUD overlay (used by silicons). Fixes mobs never appearing to be dead when they should be.
2016-01-27 10:30:08 +01:00
PsiOmegaDelta 90c1c1c9eb Re-generalizes update_sight(). 2016-01-23 11:23:49 +01:00
Chinsky a69cbee6e9 Refactored slipping code a little.
Moved human Check_Shoegrip() override to human_movement. Parent is in mob_movement, makes sense to keep them in line imo.
Renamed Process_Spaceslipping to slip_chance because it doesn't do any kind of processing. And I hate naming of these procs.
Refactored human slip_chance override to use parent proc instead of doing same checks all over again.
Removed update_gravity (and its only call in life()) and mob_has_gravity(). First one was called precisely once and did /nothing/. Mob-level proc just returns and it is never overriden anywhere. Second one is just a call for has_gravity, meaningless and used only once in that removed line.
Refactored Check_Dense_Object (god I hate these names) to be less, for lack fo better word, retarded.
Instead of weird var for keeping number of dense objects (that is never used, check only used as binary true/false), it now just returns value when it finds a suitabl object.
Used trange and orange instead of oview to avoid fuckery in non-lit places.
2015-11-19 10:17:03 +03:00
PsiOmegaDelta dbedb0b414 Corrects AI sight.
Fixes #11450.
2015-11-15 10:51:13 +01:00
PsiOmegaDelta f3175becc0 Overhauls humanoid vision handling.
Clothes now have a flash protection and tint level. If one is wearing multiple items with these modifiers they do stack.
Glasses also have a number of additional additions such as sight flags, see_invis level, and so forth.

Flash protection comes in 4 levels: Reduced, none, moderate, major.
Reduced protection, for example, means the user takes increased damaged from welding.
Moderate protection safeguards mobs from flashes, flash grenades, projectors, etc.
Major protection protects from the above as well as welding.

Tint also comes in 4 levels: None, moderate, heavy, blind
Moderate tint will apply the nearsighted overlay.
Major tint will apply the welding overlay.
Blind will apply the blindness overlay.

The end result is an attempt of less type checking. Any set of glasses may now also contain HUD glasses.
This should make a future rewrite of HUD glasses easier (could have the HUD functionality be a datum rather than separate item).
2015-10-05 08:48:47 +02:00
Chinsky cce6c3ce2d Merge pull request #10026 from Zuhayr/dronehats
Added hats for drones.
2015-08-13 17:49:03 +03:00
Zuhayr 2f6a1f2830 Added hats for drones. 2015-08-13 17:31:40 +09:30