Commit Graph

718 Commits

Author SHA1 Message Date
Atermonera
4d8c43f106 What was supposed to be another straightforward major system overhaul that once again spiraled out of control (#8220)
* get_tool_quality has numerical meaning

* Basic tools set tool quality

* Toolspeed is replaced by tool quality checks

* Addresses assorted results from live test

* Extra cleanup
2022-01-16 15:52:55 -08:00
Atermonera
0232be9531 Repaths obj/effect/effect, datum/effect/effect [MDB_IGNORE] (#8312)
* Repaths obj/effect/effect, datum/effect/effect

* linter fixes

* No new

Co-authored-by: Atermonera <forslandm@gmail.com>
2022-01-16 00:14:39 -08:00
MistakeNot4892
2f0a618d45 /atom New() => Initialize() [MDB IGNORE] (#8298)
* Find and replace argless atom New() to Initialize().

* Manual replacement of no-arg New() to Initialize().

* Manually replacing remaining New() overrides.

* Fixing linter issues with now-removed New() args.

* Tidying area init overrides.

* Porting Neb's atom subsystem.

* Trying to isolate init problems.

* Adjusting Init code post-test.

* Merging duplicate Initialize() procs.

* Merge resolution.
2021-11-14 00:09:14 -08:00
FenodyreeAv
f8a8f9e477 Fixes Colony Director's Armour (#8287)
* Fixes Colony Director's Armor

The CD's armour inherits from clothing/suit/armor/ instead of /clothing/spacesuits, like everything else in this file, so it lost it's space protection when the SPACEPROOF tag got removed.

* Removes Atmosphere
2021-09-11 11:40:11 -05:00
Atermonera
959511918c Replaces DEFAULT_WALL_MATERIAL with MAT_STEEL, where applicable (#8156)
* Replaces DEFAULT_WALL_MATERIAL with MAT_STEEL, where applicable

* floorbot compiles
2021-06-29 20:28:16 -07:00
Unknown
2c771d0ae5 Halves Item Slowdown Effects
Most items in the codebase have a slowdown multiplier of one, when slowdown is handled species-side in multiples of 0.5. This makes the effect of species slowdown almost non-existant when item slowdown is involved, and makes species that have item slowdown reduction (such as Unathi) unnaturally fast.

Do note that I also went through and removed odd slowdown numbers as well, as, due to the way slowdown is tied to tickrate, it should be done in intervals of 0.5.

I tried to view things on a case by case scenario but there will probably be changes that will need to be double checked.

Some items will be handled differently, I will list the exceptions below.
Boots of Speed: Kept at -1, it is boots of speed after all.
Chemistry Bag: Increased to 3. This should not really be toted around outside of chemistry.
Hybrid Tools: They already have a lot of other disadvantages, and are kind of hard to get, and 0.1 is a weird number for slowdown.
Site Manager's armor: Already 1.5
Unathi Breacher modules: These things are overpowered and Unathi already have a racial trait to virtually remove slowdown.
Voidsuits: Already done in intervals of 0.5, no change.
RHR Accellerator: This thing probably has appropriate slowdown values for what it is.
Utility suits: Already done in intervals of 0.5
Clothing/suits/armor: Already done in intervals of 0.5
2021-06-24 17:24:52 -04:00
Aronai Sieyes
e2c32cae91 Make req_[one_]access lazy 2021-05-31 22:43:11 -04:00
Novacat
be7e5898c3 Voidsuit Balance Overhaul (#8106)
* Voidsuit Balance Overhaul

Overhauls the stats of voidsuits and tries to put them into niches. So far, I decided to go with a tier-based system.

Tier 1: Basic voidsuits available to the station and can be purchased from Cargo fairly cheaply (35 points).
Tier 1.5: These are slightly improved over Tier 1, but not as good as Tier 2. Currently, only the exploration/exploration medic voidsuits fit the bill.
Tier 2: These voidsuits are available to the station, but can only be purchased from Cargo at higher prices (60 points).
Tier 3: Mercenary voidsuits.

One of the key factors in this overhaul is that the slowdown on voidsuits was made granular. Instead of all voidsuits having a slowdown of 1 or 0, most voidsuits will have a slowdown of 0.5, while voidsuits that have really good protective attributes (such as security voidsuits) will move slower.

As well as this, most higher end voidsuits were given better breach threshhold and resilience values, because even the most heavily armored voidsuits were way too easy to pincushion for some reason.

On top of this, most voidsuits were given niches.

Engineering Voidsuit (Tier 1): Moderate radiation protection, Slightly better pressure/heat protection. Moves slow (Slowdown 1)
Hazmat Voidsuit (Tier 1): Perfect Rad Protection, but loses pressure/heat protection of engineering voidsuit. Also Slow.
Construction Voidsuit (Tier 1): Lighter than Engineering/Hazmat suits, but lacks either radiation protection or pressure/temp protection. Has a bit of extra armor, too. Mostly for field use.

Reinforced Engineering Voidsuit (Tier 2): Has good pressure/temp protections, perfect radiation protection, and moves pretty well.
Salvage Voidsuit (Tier 2): Same as above.

Mining (Tier 1): Fairly decent melee/bomb armor, and slightly harder to breach. Also mild radiation protection. Heavy.

Frontier Mining (Tier 2): Same as above, except lighter.

Medical (Tier 1): Normal weight, has some radiation protection, but otherwise unremarkable.
EMT (Tier 1): Exchanges radiation shielding for additional armor. Normal weight.
Biohazard (Tier 1): Highish melee protection and high atmos protection. Designed for EMTs in extremely hazardous enviornments.

Vay-med (Tier 2): Zero weight, still made of paper mache.

Security (Tier 1): Moderate protection all round, heavy weight.
Crowd Control (Tier 2): Focus on melee/bomb protection, 
Security EVA (Tier 2): Focus on Ballistics/Laser protection.

Atmospherics (Tier 1): Pretty much the same. Super High atmos/fire protection. Extremely slow. Extremely hard to breach.
Heavy Duty Atmospherics (Tier 2): Same as above, except lighter.

Exploration (Tier 1.5): Normal weight and armored, but skimps on ballistic armor. Not quite as armored as security voidsuits. Above average rad protection.

Field Medic (Tier 1.5): Loses some of the armor, but gains more rad protection and some heat/atmos protection.

Pilot (Tier 1): Some very light armor plating, minor rad protection, otherwise unremarkable.

Blood-red (Tier 3): Mostly the same, except extremely hard to breach now.

Soot-covered Voidsuit (Tier 3): Heavier than the blood-red, but also pressure and fireproof. Loses a very little bit of ballistic/melee protection for excellent laser protection.

* Accidentally copypasta'd a bit too much

* Adjusts Breach Values
2021-05-29 09:39:52 -09:00
Neerti
fdabe51ee8 Linter Introduction + Cleanup (#8085)
* Adds linter defines to repo.

* Uncomments linter defines already in the code.

* Resolves unreachable code linter errors.

* Nukes decade+ old syndie specops code except for computer since that's mapped in?????

* Resolves procs has no parent linter error.

* Proc signature fixes

* Bad comments

* "In" danger

* Type safety

* Implied nested list abuse

* Top level ..() usage

* Sleepy coder typos

* Invalid kwargs calls

* Pointless returns

* Linter hacks (see full message)

Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.

Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.

* WHATEVER THIS IS

* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars

* Fix list decoration syntax - Its a list, not list of lists

- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax.  Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`

* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.

* Fixes unwrapped negated object in list linter error.

* Resolves colon-like list accessing linter error.

* Turns linter on in linter config.

* Fixes closet indentation properly and cleans up suit storage unit switch.

Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
2021-05-25 18:17:26 -09:00
Killian
db13802943 SAR/FM Suit Hotfix (#8032)
* exploration medical voidsuit

* Update station.dm

* SAR/FM Suit Hotfix
2021-04-20 18:38:11 -09:00
Killian
c434860e49 Exploration Medical Voidsuit (#8020)
* exploration medical voidsuit

* Update station.dm
2021-04-09 22:35:19 -09:00
MistakeNot4892
a9537638bf Repathed/renamed seromi to teshari. 2021-03-23 09:14:55 +11:00
Cerebulon
da9c2aced6 Fixed 'Hardsuit Modules' tab verbs 2021-02-16 17:54:26 +00:00
Cerebulon
541dd85456 TGUI Fixes, including aghost interaction. (#7843)
* Filth + Graffiti Fixes

* TGUI fixes

* fixed the rebase graffiti thing AGAIN

* javascript indents

* rebuild zzzzz
2021-01-27 19:47:09 -09:00
ShadowLarkens
dad9020f9a TGUI Engineering... and a bunch of other random things 2020-10-21 13:02:19 -07:00
Killian
a503f127be [FIX] Magboot & RIG Contamination/PHORONGUARD Usage (#7718)
* Update robotics.dm

* Update scanner.dm

* Update snacks.dm

* rig contamination prevention
2020-10-16 23:08:50 -07:00
listerla
d56974cb92 Colony Director -> Site Manager 2020-08-25 20:12:29 -04:00
listerla
2310987486 Replaces bolt sounds for rigs with servo sounds 2020-08-12 23:27:36 -04:00
listerla
7e37215924 capitalization change 2020-08-11 11:23:28 -04:00
listerla
b8a86c31b5 Ports Bastion of Hestia rig sounds 2020-08-11 11:22:54 -04:00
Rykka
28a7698b9e Port lots of things that had to wait on alerts
Adds a HUD for observers
Adds a HUD for rigs and mechs
Adds up/down buttons for AI hud
Add more tg style alerts
Fix some bugs with the tg alerts
Improve icon_states usage by caching it
Redo how respawning works, add a button to ghost hud for it
2020-07-30 16:23:32 -04:00
Killian
a60a0ab21b Update robotics.dm (#7321) 2020-07-08 18:20:55 -07:00
Killian
d64326509f Streamlined Voidsuits Upgrade (#7300)
* veymed voidsuits upgrade

* unathi streamlined suit polish

* link to #7301

removes the specific checks from SSU.dm and adds no_cycle

* teshari subtype
2020-07-08 18:20:14 -07:00
Killian
fa96bf3483 no_cycle logic 2020-06-25 11:43:37 +01:00
Killian
99523da4f7 Vintage Voidsuits Expansion (#7266)
* Vintage Voidsuits Expansion

* Update suit_storage_unit.dm

* small desc updates

* variant/cycler tweaks
2020-06-06 11:40:20 -07:00
Atermonera
6ab622a2b5 Merge pull request #7205 from VOREStation/Arokha/playsound
Alter playsound paradigm
2020-05-28 16:05:59 -07:00
Killian
5505a61adf [Project] Vintage Voidsuits (#7152)
* event set wip

* Update polaris.dme

* event suits ui set complete

* all onmob states imported

* comments on suit perks/balance

* minor suit pixel fixes

tails are fiddly yo

* minor taj suit polish

* set up suit-slot permitted item lists

* resolve dmi conflicts
2020-05-22 17:35:58 -07:00
Aronai Sieyes
30613fff5c Optimize what starts in SSobj (#7155)
* Make intercom power change stateful

* Clean up air tank processing and initialize

* Optimize flashlight processing

* Optimize suit cooler processing

* Optimize geiger counter processing

* Optimize lighting processing

* Only process rigs on a person

* One more rig cleanup
2020-05-21 11:28:27 -07:00
Aronai Sieyes
ad75bb86bd Alter playsound paradigm 2020-05-19 11:06:28 -04:00
Aronai Sieyes
a8f3a0a7a0 Refactor move/click code 2020-05-15 10:49:27 -04:00
Atermonera
3ccd6396b8 Merge pull request #7058 from atlantiscze/2020_04_27_HardsuitBackpack
Allows backpacks to be carried on most hardsuits
2020-05-03 00:19:43 -07:00
Aronai Sieyes
6c6644f86c Rewrite examine() to pass a list around (#7038) 2020-04-29 13:42:16 -07:00
Atlantiscze
f334b3dcd7 Allows backpacks to be carried on most hardsuits
- Backpacks can be carried on suit storage slot of those hardsuits that occupy back slot (breacher excluded).
- Now, i understand this may be a somewhat controversial change. Feel free to close this PR if you believe it does not fit. Just opening this as i've received this suggestion from another player, and i in fact tried proposing the same thing back at Bay when hardsuits as we know them were added.
- Reformatted some of the allowed lists while i was at it. Makes future modifications somewhat less likely to hit merge conflicts with each entry on its own line.

My balance perspective (long rant):
Hardsuits, as-is, fill very specific roles. In general, unless you absolutely need one of the modules or some specific function (for example, 100% RAD resist combined with EVA capability of CE suit) you don't want to use them, as they require you to trade-in your back slot (which is what this PR aims to change), therefore significantly reducing carrying capacity. Of course, this has its workarounds - usually dragging crates around, or carrying your backpack in hand. This provides minimal actual restriction (you can still carry tons of stuff), but acts as quite major inconvenience and annoyance for the player (you have to juggle with items, keep placing stuff on the ground, etc - generally just clicking 10x more). In total, the only real effect is that it slows you down a bit due to all the clicking required.

Therefore i believe this change is not as massive buff as it might seem in first place. Sure, it lets you carry more things on yourself, but you could also do that easily with a crate or by holding backpack in hand. It just makes doing so more convenient and comfortable to the player.
2020-04-28 00:19:31 +02:00
Killian
58ac25157b Security Voidsuit Overhaul Redux (#6985)
* security voidsuit overhaul redux

* svo2 - small desc update

* update inhands for secEVA suits
2020-04-19 13:20:39 -07:00
Aronai Sieyes
715de43f35 VChat: Redone chat output done in Vue.js (#6761)
* Better notifications

* Add buttons to del/move tabs in edit mode

* Add a <span> to emotes

* Fix duplicate IDs in VChat and add more logging

* VChat: Redone chat output in Vue.js

* Ported tg asset cache

* VChat DME Update

* Replace \image macro with bicon()

* NanoUI Subsystem Fixes

Don't do this, the asset subsystem does this for you

* Allow narrate/globalnarrate shenanigans

Allows HTML if your entire thing is HTML

* Disable bicon() icon object cache, and create text tag cache

* Ore Scanner is written incorrectly

Only revealed by vchat

* Fixes 2 VChat bugs

* Underline links in VChat

* Fix LOOC color

* VChat Improvements

Hopefully, anyway.
- Arbitrary font size setting
- Line height setting
- Multiple crush settings
- Rewrote how tabs work hopefully for performance
- Hidden messages are actually put elsewhere
- Attempts to correct chat backlog restore on rejoin

* Surgery steps to use <span>

* Some VChat Tweaks

- Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working)
- The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes.
- Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s.

* Include date in filename for VChat log save

* Merge pull request #6767 from Cyantime/patch-2

Change chat export naming scheme

* Adds VChat tab saving

Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc.

* Fix chat exporting when someone has used unicode

Only affects clients still using 512

* Use CLIENT_FROM_VAR for ease of code reading

* Update code/modules/client/asset_cache.dm

Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>

* Fix runtime when client disconnects before vchat loads

* Fix polaris version of command reports

* Fix LOOC color in oldchat

* Put some styles in various adminpm messages

* Round info and advanced who spans

* Fix missing tag-end

* Maybe fix images for linux and statpanel but also doom everyone

Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com>
Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
2020-03-27 14:07:28 -07:00
Atermonera
f3925fe3df Merge pull request #6773 from Mechoid/FixRigs
Cutting rigs now retracts all components, to stop the dreaded pseudoprison.
2020-03-18 01:11:05 -07:00
Andrew
9c67ccbbe5 Helmet Camera Verb No Longer Shows Without Helmet Camera (#6856)
Changes the toggle helmet camera verb to a proc

Adds a check in the initialization of spacesuit helmets to see if it has a camera network.

Removes said check from the proc itself.

Basically this means you won't get the toggle-camera verb if you don't have one on your helmet.
2020-03-17 12:46:04 -07:00
Mechoid
d3f5bf4726 Force var. 2020-03-16 02:45:31 -07:00
Mechoid
08310b2fec Fix various RIG issues 2020-03-13 14:54:34 -07:00
Mechoid
66a778b89a Requests&Changeling 2020-03-10 23:00:08 -07:00
Mechoid
69752c1c48 Move Rig modules to more granular files. Add RIG components to robotics mechfab, plus incredibly basic belt-voidsuit RIG. Add Graphite, made by compressing coal, used heavily in RIG components. 2020-03-01 02:41:40 -08:00
Mechoid
04c874aa6f Cutting rigs now retracts all components, to stop the dreaded pseudoprison. 2020-02-29 21:18:22 -08:00
Atermonera
91fa47cd66 Merge pull request #6720 from Nalarac/helmet-cameras
Helmet Camera Moved Tabs
2020-02-24 13:07:52 -08:00
Nalarac
16c543b698 Helmet Camera Moved Tabs
Moves the helmet camera from the object tab to the hardsuit tab. I feel like this makes more sense and it's less likely to be missed by people using rigs.
2020-02-21 15:27:51 -06:00
Cerebulon
f801cc95be Allows precision placement of most items 2020-02-19 21:16:26 +00:00
Arokha Sieyes
5b15917d32 to_chat replacing stream operator 2020-02-17 13:14:08 -05:00
Tad Hardesty
644347cfeb Remove stray . and ..() 2020-01-18 23:01:36 -08:00
Novacat
45aa4ba3de More bug fixes (#6560)
* More esword fixes

- Fixes Holodeck eswords being completely broken, Holodeck eswords are not recolorable
- Fixes Toy sword onmob sprite not properly updating
- Fixes eswords not properly updating onmob color (this is an incredibly hacky fix)
- Readds the esword sub types, they are not recolorable

* Removes unintended code

* More unintended code removal

* Fixes spy bug sprite

* Fixes PMC-S Name

* Fixes syringes not working through voidsuits.
2019-12-13 17:55:47 -08:00
listerla
ce910f0fa0 Adds Irrlicht's 'soft' shroud (#6545)
* Adds Irrlicht's soft Shroud

* fixes
2019-12-05 15:28:06 -08:00
Rykka
493b83d5a0 Update Chat System to use to_chat(src, "") instead of src << "" 2019-10-28 15:22:32 -06:00