43 Commits

Author SHA1 Message Date
VMSolidus 7fc9f27eeb Fix Various Movement Bugs (#21823)
This PR fixes a variety of bugs related to smooth movement. See the
changelog for more details. I have actually tested this PR.

Mechs and Mobs:


https://github.com/user-attachments/assets/77cd6d92-2616-409f-a909-d19565dfc718

Trains:


https://github.com/user-attachments/assets/0a12bc9a-6c45-471b-98fa-a91717cd85be

Pulling stuff in general:


https://github.com/user-attachments/assets/e2a7cdaa-2fcd-443c-bd76-bcd74e696c72

Rollerbeds:


https://github.com/user-attachments/assets/d0d35153-f406-45e9-afaf-ad19499098fe
2026-02-06 23:24:22 +00:00
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Casper3667 e764307cba The cargo and janitorial tugs are now faster (#21485)
- The cargo tug now has a speed between the former speed and the emagged
speed
- The emag speed buff is removed
- An antag feedback hint was added to show that it can run people over
when emagged
- These changes also affect the C8000 deluxe custodial truck

On a sidenote, the emagged running over may need tuning at some point.
2025-10-16 11:36:19 +00:00
Batrachophreno 387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
Fluffy 86f8d6fd4f Movement update v2 (#20548)
Refactored (second passage) how movement works, now it's mostly in line
with TG handling and avoids calling 3 gazillion Cross() Uncross() etc.
on every atom in a turf.
Fixed EMP protection from species not actually protecting (this includes
the surge prevention for IPCs).
Fixed EMP 3D calculation runtiming because I forgot to make the value
absolute and it was doing the square root of a negative number.
It's now possible to queue the round to start with the Start Round verb
even while the system is initializing, for an even faster pain train to
enter the round and test things.
2025-03-22 11:38:05 +00:00
Fluffy 3185c10cf1 516 internal links (#20428)
Convert all (appropriate) links to use the required `byond://` for 516

Added a grep to detect incompatible ones
2025-02-20 22:54:10 +00:00
Fluffy df014f9bc0 Mouse drop refactor (#20256)
Refactored mousedrag procs, added signals, some safeguards, did some
cleanups around, renamed them to make a little more sense. Mostly put in
line with TG's code.
Fast clicking and releasing with a drag, depending on the grace period
and how fast it is done, can be counted as clicks, to aid in combat
scenarios where you spamclick.
2024-12-26 14:26:32 +00:00
Fluffy d9c44532fc Refactored directionals (#20082)
Refactored directionals, ported lists of directions from TG, got rid of
useless proc to get the reverse direction.
2024-10-25 17:56:02 +00:00
Fluffy 1b40dbce82 Updated the sound system (#18724)
* sdaf

* sdaf

* sdfa

* sadf

* sfda

* gfd

* reduce thrusters volume

* sdafsadsdaf

* sdfa

* Reduced some sound ranges and made some/more not ignore walls for loops

* health analyzers too

* ivdrip adjustment

* most tools now use play_tool_sound to have the sound played, reduced range for it
2024-03-25 20:40:36 +00:00
Fluffy 9fc52575dd Refactored MouseDrop_T (#18549)
* sdafas

* sdaf
2024-02-29 21:58:23 +00:00
Fluffy 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
Matt Atlas 4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
Matt Atlas 31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
Wowzewow (Wezzy) 7ca3aa325c Cargo tug new sprite and fixes vehicles. (#15474) 2023-01-08 00:06:46 +01:00
Geeves 5e40f9145c Non-lag Vehicles (#11393) 2021-03-19 22:07:18 +01:00
Sparky bd4b88b045 You see me rollin' - Roller Bed Tweaks (#11150) 2021-02-16 19:41:55 +01:00
Matt Atlas c30cd94024 Reworks armor damage reduction + armor components + more goodies. (#11106)
Ports Baystation12/Baystation12#27254 and Baystation12/Baystation12#24787 and everything inbetween I guess.

Note that this PR makes guns and armor overall stronger. Lasers also once again do organ damage.
2021-02-14 17:54:45 +02:00
Geeves 8960fd325f Cargo Tug and Janicart Stuff (#10390)
Cargo Tugs and Janicarts now get a UI when you click on them.
    Made interacting with the Pussywagon a bit nicer.
2020-12-13 12:36:40 +02:00
Geeves 34f81cbf43 Trolley Examine (#10359) 2020-10-28 18:12:02 +01:00
Geeves 1f70bccd37 Trolley Hitch Fix (#10357) 2020-10-26 08:42:26 +01:00
LordFowl 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
Lohikar a86398d0d2 Code Cleanup: (Bump(), Bumped()) -> (Collide(), CollidedWith()) (#4349)
This PR rips out the old Bump() and Bumped() procs and replaces them with Collide() and CollidedWith() respectively. Behavior should be the same, but Bump() should no longer be double-called, and no longer relies on spawns.

Other changes:

LAssailant is now a weakref.
Some direct loc setting are now forceMove().
2018-03-08 09:39:53 +02:00
Alberyk 2f949ecb45 Ports baystation armor system (#2954)
Ports Baystation12/Baystation12#12658

Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.

Also, uranium meteors will irradiate nearby people when they explode.
2017-07-15 16:24:03 +03:00
Ron 790480c8da Removes all \red and \blue's (#2309)
Removes all \red's and \blues in favor of span classes. \red things that were bold were replaced with danger because it's warning but bold.
2017-05-21 12:07:57 +03:00
Lohikar 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
Werner 59e7377798 UDP Logging (#1997)
This implements UDP Logging with GELF.
It will allow full text search over all the logs and attributes sent over GELF to the log server.
2017-04-01 23:47:00 +03:00
skull132 aaaa4d9ca4 Fixes #1128 (#1144)
Reverts changes done by Nanako to the vehicles, trams, and trolleys; and updates the existing maths to work IAW the updated movement system.

And yes, this is tested and working.
2016-11-09 22:46:06 +02:00
NanakoAC 27e1d8f8c6 Sprint and Vehicle fixes(#1113)
A number of bugfixes and under-the-hood tweaks. Nothing here needs changelog, and shouldn't really be noticed by players:

Fixes vehicles using stamina or moving faster when in sprint mode.
Fixes getting footstep sounds when driving a vehicle.
Changes cargo trains to use forceMove instead of move, for towing cars behind them. This fixes an issue where the train would become disconnected if the engine moved too fast.
Completely divorces vehicles from using mob speed vars at all, speed is defined on a per-vehicle basis.
Removes knockdown from sprinting exhaustion. Characters will now stop sprinting before they collapse.
2016-11-04 21:18:40 +02:00
Loganbacca f3b893942f More cargo train fixes
- Fixes #5906
- Fixes #5939
- Fixes #6282
- Fixes #6634 (properly this time)
- Fixed a bug with updating train stats (causing trains to be super slow if hitched while running)
- Updated train verbs (start/stop/remove key) to only show up if you are in the same turf
- Moved all train specific verbs to their own verb category: "Vehicle"
2015-01-03 01:27:10 +13:00
Loganbacca dbeec8915e Cargo train fixes
- Partial fix for #6634
- Fixes #7414
- Fixes #7609
2015-01-02 00:05:47 +13:00
Mloc-Argent 117ca6a135 refactor 'dir = ' into 'set_dir()'
This should have little/no gameplay effect right now, just paving the
 way for directional lights.
Replaced handle_rotation() on buckly things with this.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2014-12-01 13:44:02 +00:00
mwerezak 8482314541 Fixes runtime in train/explode() 2014-08-10 18:37:39 -04:00
mwerezak 30c96bc7cc Fixes #5915
Also allows checking remaining engine charge by examining, and removes
the verb.
2014-08-08 20:31:14 -04:00
Loganbacca b8f31c0b0a Train fixes and balancing
- Slows trains to 90% of running speed
- Changes train impact damage to only take into account speed, not train length (otherwise you could insta kill people with a long enough train)
- Fixes a bug with towed cars ghosting through closed airlocks
- Stuns mobs who fall off a train that has blown up
- Fixes mobs standing/lying on vehicles
- Fixes exploding trains not decoupling correctly
2014-08-03 20:45:41 +12:00
Loganbacca 5457cee527 More train fixes
- No passing plastic flaps
- Only human based mobs can board trains
- Adjacent checks for exiting vehicles
- Cleaned up as many direct loc moves as possible
- Places removed cells in the removers hand
2014-07-28 20:39:42 +12:00
Loganbacca 99f755b986 Cargo train fixes
- Adds overlay for cargo tug sprite
- Fixes failure feedback when successfully loading items on the train
- Stopped unnecessary loading failure feedback (like loading floors on trains, which will always fail)
- Stopped "hit" message when relabeling with the hand labeler
2014-07-26 17:55:30 +12:00
Loganbacca 31fe0d5e34 Cargo train fixes
- Visual tweak for mobs on trolleys
- Fixed a teleportation bug when boarding trains from other trains
- Fixed a runtime involving on_click code
2014-07-24 20:14:58 +12:00
Loganbacca 3aa3c4166c Cargo train update
- Cleans up some old code
- Fixes some bugs
- Adds keys to start the engine
2014-06-23 19:53:58 +12:00
mwerezak 1a74db2110 Merge remote-tracking branch 'upstream/dev' into train-cleanup
Resolved merge conflicts, and added some more user feedback to attach/unattach procs.

Conflicts:
	code/modules/vehicles/cargo_train.dm
2014-06-21 11:29:10 -04:00
mwerezak 2737171337 Cleans up train latching/unlatching
Also adds a verb for turning off train engines.
2014-06-21 01:30:40 -04:00
Loganbacca 32af387a25 Cargo train tweaks
- Reduce speed to slightly slower than running
- Only knock people over if emagged, otherwise just bump them back
- Temporarily disable latching trailers inline because no directional sprites (may or may not introduce bugs)
2014-06-16 20:54:18 +12:00
Loganbacca 70a4e5a240 Cargo train bugfixes
Also adds admin messaging when someone gets run over.
2014-06-14 22:51:06 +12:00
Loganbacca 7d7d095e5c New vehicle framework
- Implements a new vehicle framework
- Adds cargo trains
2014-06-03 22:18:49 +12:00