Commit Graph

827 Commits

Author SHA1 Message Date
Spookerton 978f4511a5 examine signature changed to include distance
- distance is INFINITE, 0, or a positive integer based on get_dist() between
the examiner and examinee's turfs when they are on the same Z. When the
examiner is dead or a ghost, distance is always 0.
- also updates /examine( implementations to use it!
- adds w_class_to_name proc for reusing "It is a X item." examine behavior.
2024-01-31 13:49:52 +00:00
MistakeNot4892 1216f472e6 Corrects a couple of do_afters that relied on previous implementation. 2023-08-01 15:23:02 +10:00
Atermonera 7c46e0bf95 Merge pull request #9166 from MistakeNot4892/lathefix
Refining/fixing material ejection from exo/pros fab.
2023-07-23 15:22:29 -08:00
Atermonera 6f0a0acfe1 Merge pull request #9144 from MistakeNot4892/horror
Reworks mech repair loop to avoid infinite loops.
2023-07-23 14:57:58 -08:00
MistakeNot4892 45fa973646 Refining/fixing material ejection from exo/pros fab. 2023-07-21 02:00:02 +10:00
Hex 66d15bd963 Robot/Prosthetics lathe Duplication fix (#9117)
* Fix fabs

* Fab update

* Better Eject_material_of_type

* Update code/game/machinery/machinery.dm

Co-authored-by: Atermonera <atermonera@gmail.com>

* Update code/game/mecha/mech_fabricator.dm

Co-authored-by: Atermonera <atermonera@gmail.com>

* indent fix

* Update machinery.dm
2023-07-18 22:47:27 -08:00
MistakeNot4892 9edb69e93b I hate mecha.dm I hate mecha.dm I hate mecha.dm. 2023-07-04 22:01:48 +10:00
MistakeNot4892 4ad5d47ca3 Reworks mech repair loop to avoid infinite loops. 2023-07-04 21:36:03 +10:00
Verkister 8ef46a5547 Fixes phoron generator runtime gigaspam (#9103)
* Fixes phoron generator runtime gigaspam

Sheet stacks don't work with decimals.

* Update generator.dm

* Update generator.dm
2023-05-28 11:07:49 -08:00
Varlaisvea 0530f2458a fixes infinite morphium duplication exploit (#9046)
* fixes very old exploit that we literally just discovered

* this is what i get for speedrunning a bugfix

* reworks material ejection code

* literally it worked fine this is just so github likes it

* Update code/game/machinery/autolathe.dm

Co-authored-by: Atermonera <atermonera@gmail.com>

* Update code/game/machinery/autolathe.dm

Co-authored-by: Atermonera <atermonera@gmail.com>

* code prettiness

---------

Co-authored-by: Atermonera <atermonera@gmail.com>
2023-05-28 10:55:00 -08:00
klorpa f445ffde0a Spelling Fixes (#8973)
* SpellingFixes

* OtherTypos

* OtherTypos
2023-04-08 21:39:28 -08:00
Mechoid 6064f4057c [Requested] Serenity changed to proper medical exosuit. (#8951)
* Serenity changed to proper medical exosuit.

Serenity tweaked to be a medical subtype, weapons cannot fit in universal slots.

Serenity weapon slot converted to a hull slot.

Exosuit punching converted to general ability, if melee_can_hit is TRUE by default.

* Cleanup.
Move HuD management to /obj/mecha/medical

* dedent??

* Fixfix

* Jumpjet
2023-03-04 13:44:46 -08:00
Atermonera ab7f5a8c3d Merge pull request #8958 from Cerebulon/mining_sounds
Sounds for fabricators, mining machines, levers
2023-03-04 11:59:46 -08:00
Mechoid 7b018e3281 Upkeep on Mech & Cliff code. (#8946)
* Upkeep on Mech code.

Assembly Mines fixed, they do not spawn with an explosive payload from parent.

Vehicles no longer ignore cliffs.

Exosuits no longer ignore cliffs.

Objects can fall off cliffs. Objects with a buckled person will hurt the person. (Rollerbeds looking at you.)

Jumpjets added to allow planetary traversal, primarily useful upon the Serenity, Hoverpods, and Marauders (adminspawn). When toggled, they allow movement vertically, and prevent falling through open spaces. When used as the active equipment, it will launch the exosuit toward the target turf. When not on one of the above mentioned suits, it will cause a small explosion on launch, damaging the exosuit and anything directly nearby.

* Fighters are flying.

* Revert step delay floor adjustment. Flat strafing modifier of 1/5th of a second should be enough.

* Correction and Tweak.

* Fix stupidity.
2023-03-04 11:36:18 -08:00
Cerebulon 475a57d8fb Sounds for fabricators, mining machines, levers 2023-02-25 22:54:42 +00:00
MistakeNot4892 6839fca057 Removes unused mecha damage absorbtion list. 2023-01-28 07:16:55 +11:00
atermonera 12a52e4605 Blobs do damage to mechs 2023-01-02 15:36:34 -08:00
atermonera 894f044496 Remove tie-ins 2022-10-23 18:15:56 -08:00
atermonera dca3418ba3 Nerfs mech armor 2022-10-23 18:04:16 -08:00
spookerton ffba11e5ab rename a bunch of atom flags 2022-10-18 09:36:41 +01:00
spookerton 3abdbbaa1c replaces atom.initialized with ATOM_INITIALIZED
refactors atom/var/flags to atom_flags and area_flags
moves NOBLOODY, NOBLUDGEON, and PHORONGUARD to item_flags instead of atom_flags
corrects various misapplied flags
2022-10-18 09:36:36 +01:00
MistakeNot4892 49d08aa294 Removes eject from the mecha radial. 2022-08-08 01:50:08 +10:00
spookerton 1f3ffc2433 non-flagged, non-complex overlay -> ssoverlays 2022-04-24 07:51:12 +01:00
spookerton 1ccb2df2de trivial 1:1 overlays -> overlay proc changes
NB. In some cases we go from a more complex image() to a single icon_state string and I assume this works for every case but do not care to check because of the sheer scale of extra fiddly effort. Buyer beware, not my code.
2022-04-24 07:50:21 +01:00
atermonera 9d71839ac6 Removes devices 2022-04-17 19:14:43 -08:00
atermonera 7a9806d9b4 Removes weapons 2022-04-17 19:14:32 -08:00
Spookerton 6651fd8bfd Merge pull request #8480 from Serithi/master
Gives mech autocannon projectiles their own entry with unique sprite and lighting
2022-04-01 18:31:36 +01:00
atermonera c7f1880394 Revert "What was supposed to be another straightforward major system overhaul that once again spiraled out of control (#8220)"
This reverts commit 4d8c43f106.
2022-03-29 16:01:32 -08:00
Serithi 069adff1a3 Gives mech autocannon projectiles their own entry with unique sprite and lighting, also makes it a bit louder. 2022-03-26 21:31:51 -07:00
Cerebulon c2f4d10b8b Mech and Locker Sounds 2022-01-17 13:22:33 +00:00
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
Verkister 2394a762c9 Fixes runtime in mech equipment deletion (#8308)
* Fixes runtime in mech equipment deletion

No need to detach from anything when you're already loose.

* Update mecha_equipment.dm
2021-09-29 17:33:00 -08:00
MistakeNot4892 7392991016 Merge pull request #8269 from Mechoid/MechaProcessing
Mecha Bugfixes
2021-09-17 10:31:24 +10:00
Mechoid 6928abdfc5 Fixes dumbassery. 2021-09-14 20:10:52 -07:00
Mechoid 3bafbd57a5 My god I'm an idiot. Does the thing but intelligently. 2021-09-08 19:56:36 -07:00
Mechoid 9ea507cf4f Turf shenanigannery 2021-09-08 19:45:30 -07:00
Mechoid 63d6652dd0 phase() is now a separate proc from movement, and is asynchronous.
Able to return True or False for Phased or Not, in the event it's ever used in a sequence.
2021-09-02 22:06:37 -07:00
lbnesquik c501391a22 Adds a base matter cost to mech weapons and equipment. (#8265)
* Adds a base matter cost to mech weapons and equipment.

* Matter not materials
2021-09-03 11:53:25 +10:00
Mechoid d36a66887f Phasing. 2021-09-01 18:20:46 -07:00
Mechoid c2c0fe3530 Mechas actually process.
Switch a damage manager.
2021-09-01 18:16:23 -07: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
MarinaGryphon 593246b595 Linter diagnostics + bans non-var relative pathing (#8150)
* Linter diagnostics + bans non-var relative pathing

* Enable DreamChecker Annotations

* make it executable

* update hashFiles

* oops

* tries to fix it... again

* trying again

* path

* repath

* fix perms

* fixes weird capitalisation issue
2021-06-20 13:14:29 -09:00
MarinaGryphon f9613f24bc Removes Global Iterators (#8146)
* Removes global iterators

* fix dme?

* removes useless var, TRUE/FALSE for state/equip_ready
2021-06-18 09:06:17 -09:00
Hatterhat ce7baa0946 in this thread, i disguise a buff as qol again 2021-06-06 05:57:01 -05: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
Novacat 55533c05d9 Mecha Balance and Fighter Fixes (#8081)
* Mecha Balance and Fighter Fixes

- Shields are no longer buildable by Robotics
- Fighters are now equipped with components that enable them to go fast
- Fighter step cost is now zero

* Mecha are now repairable

* Code Correction

* Mrowl
2021-05-17 21:52:49 -09:00
MistakeNot4892 92c6bead11 Added recon and cargo platforms. 2021-03-13 13:24:28 +11:00
MistakeNot4892 b22a0568a3 Sideports a couple of init unit tests from Neb. (#7893)
* Sideports a couple of init unit tests from Neb.

* Trying to unfuck initialize logic.

* Removing del()s.

* Adjusting return values to Initialize().

* Moving some dangerous object logic from obj onto the two types that use it.

* Rolling back some init changes and commenting out initialized atom unit test.

* this comment formatting is a minor war crime

* Removed sleep() from signaler circuit Initialize().

* Additional Init fixes post-rebase.

* Uncomments subsystem test since that's passing.
2021-02-21 12:03:34 -09:00