Commit Graph

161 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
Atermonera
9c4eceae2b Removes suicide_act() 2021-09-19 11:43:34 -08: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
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
ShadowLarkens
c688399f60 Fix welding tools and cable coils as tools 2021-05-02 18:31:47 -07:00
Rykka
0c7a7fd2b8 Massive Ambience and Sound Overhaul + Addition, Squashed Commit Edition 2020-08-21 06:53:05 -04:00
Cyantime
9d45e995cf Replaces cable attack_ghost with normal examine 2020-08-14 18:45:25 -04:00
Atlantiscze
c32112c69c Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 2020_04_17_LoadBalancing 2020-05-03 23:17:27 +02:00
Aronai Sieyes
6c6644f86c Rewrite examine() to pass a list around (#7038) 2020-04-29 13:42:16 -07:00
Heroman
b3476340fe Ports tg cablecoils instead of bay's 2020-04-27 10:50:56 -04:00
Aronai Sieyes
51846b4bfe Port some power sprites from Bay 2020-04-27 10:50:56 -04:00
Atlantiscze
2a9547f3d9 Implements additional feedback 2020-04-23 08:02:51 +02:00
Atlantiscze
252719c5f0 Implements feedback 2020-04-21 10:03:07 +02:00
Atlantiscze
fbf33fc5df Final tweaks
- Refactors some code to more modern standards, fixes problem with PSUs not reacting to UI input.
- Adds cable coil recoloring using multitool (Bay went the path of having dedicated cable painter device but that really feels as too much of a hassle having to carry another device for this - lets just say the paint is electrically reactive in some way).
- Adds changelog
2020-04-20 08:16:19 +02:00
Atlantiscze
78925e2993 Ports over power-related enhancements and tweaks i coded for Bay a while back
- Please fasten your seatbelts, this will be a long one as it joins few older Bay PRs into one.

1. Ports https://github.com/Baystation12/Baystation12/pull/12626
- SMES units may now be damaged and destroyed. Charged SMES units fail quite violently. Damage can be fixed by welding tool.
- PSUs completely refactored, ghetto variant no longer exists.
- Cell rack PSUs now can be considered a hybrid between large battery charger and a SMES. They actually use the cells to store power (so you can hot-swap the cells to get more juice simply via the UI without deconstructing the whole machine), but in comparison to SMES have poor throughput and capacity in general (cells are simply too small). They are also somewhat limited in configuration options (lacks the precision electronics of a SMES). Better matter bin lets you put in more cells, up to 9.
- Cell rack PSU also has a mode that allows charge-balancing all inserted batteries (moves energy around so each battery has the same charge %)

2. Ports https://github.com/Baystation12/Baystation12/pull/11977
- SMES units now have full load balancing capability, getting rid of that annoying "One SMES charges at full, other SMES gets nothing" problem. If insufficient power is available on input, all inputting SMESes will now charge at same percentage. If more SMESes power a single output, they will all output equal percentage of their setting.
- This appears to have a pleasant side effect of fixing the issue where SMESes could starve APCs of energy. SMESes are ALWAYS last to input power on a powernet.
- This also appears to have fixed weird values displayed in SMES output/input load readings in the UI. By weird values i mostly mean inputs/outputs actually higher than the SMES is set to have.

3. Ports https://github.com/Baystation12/Baystation12/pull/18137
- SMES units (and subtypes, therefore effectively also PSUs from previous entry) can now have more than one terminal. This effectively allows a setup where two (or more) sources feed a single SMES, which then feeds the output. SMESes can not exceed input setting even with multiple terminals.
- Typical example of use in practice would be SMES that runs something important (for example an AI, telecomms, pick whatever you want). It could have one input from the power grid, and second input from a PACMAN generator set up nearby as a backup. Before the generator would have to be wired into main grid, therefore main grid would siphon off power from it. Now the generator can be separate and dedicated for whatever use you want.
2020-04-17 08:26:29 +02:00
Cerebulon
52e6669bf9 Big Bastard Incidental Sound Port 2020-03-08 23:25:45 +00:00
Heroman
bf8cf75785 Applies same restrictions as first aid to external synth repair 2020-02-04 09:17:09 +10:00
Neerti
1afbe8d4b0 Explorer Update - Cataloguers (#6016)
* Explorer catalog scanners.
2019-03-30 13:18:15 -07:00
Anewbe
aade8c356f Items are now assumed to be conductive, rather than the opposite 2019-03-02 20:34:49 -06:00
atermonera
a0c8891eb6 Refactors poi rotation to use degrees instead of dir
Fixes powernet rotation being totally non-functional
2018-12-09 22:56:45 -08:00
kevinz000
8da11c17a2 Makes math helpers defines for performance (#5654) 2018-12-06 13:13:59 -08:00
Anewbe
7f84aeab9f Merge branch 'master' of https://github.com/PolarisSS13/Polaris into is_tool 2018-08-02 22:35:14 -05:00
Anewbe
729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Mechoid
1dbfe94711 Cable fingerprints. 2018-07-08 14:36:13 -07:00
Cameron653
2e987ab900 Alien Cable Coil Fix (#5365)
* Prevents the infinite cable coil alien tool from making more infinite cable coil tools.

* Prevents you from going over the 30 cap.

* Tochat
2018-06-21 00:26:02 -07:00
Leshana
7da46a6dcc Switch cables and pipes to use define constants instead of literals for layers.
Also fix a few things to be on the correct plane.  Basically the under-floor stuff is supposed to be on PLATING_PLANE.
Portable atmospherics go on object layer so they are above stationary machinery, given that they move around.
Fixed wires to be on top of pipes like they used to be, otherwise they'd be obscured too often.
2018-04-02 21:50:03 -04:00
Arokha Sieyes
3178b95b6c POLARIS: Moves most boxes to use starts_with 2018-02-18 13:29:21 -06:00
MarinaGryphon
72318d46b6 Replaces most of the gender macros. (#4681)
* Fixes #4632.

* 1:27 am coding best coding

* fixes a warning

* Removes the last of the gender macros. Gender is dead.

* gender II: the travis-ing

* linebreaks are dead too.

* oops i accidentally the gender, also ambiguous gender is now taken into account for get_visible_gender
2018-02-03 14:40:09 -06:00
Anewbe
09d2070ad1 Makes alien wire more useful 2018-01-22 15:53:44 -06:00
Anewbe
69e9906d75 Adds an endless cable coil to the alien toolbelt 2017-09-20 00:26:41 -05:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
Neerti
a0a390e887 Surgery Modifications
Semi-rewrites how surgery failure works.  Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness.  The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.
2017-05-31 17:41:02 -04:00
Leshana
30d2f16b04 Replace color macros and stream operator with style and to_chat 2017-04-21 11:22:08 -04:00
comma
f614de8387 Updates cable construction
FOrgot to update it to new direction whoops.
Also makes powernet connectino proc for cables multiz aware.
Port of: https://github.com/Baystation12/Baystation12/pull/15940
2017-04-21 11:22:07 -04:00
comma
5f2d23fbd7 Makes cable use BYOND directions
Instead of 11,12 they use 32,16 for DOWN,UP
Merges multiz handling into main logic
Port of: https://github.com/Baystation12/Baystation12/pull/15907
2017-04-21 11:22:07 -04:00
Neerti
0f781e36a7 Adds Multi-Z Test Map 2017-03-03 09:40:34 -05:00
Neerti
828dacf485 Centralizes weight class definitions
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.

Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it.  This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files.  In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.

The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
2016-09-22 00:51:51 -04:00
Yoshax
f48a49712f Ghosts seeing power in a wire upon examination 2016-07-25 14:23:53 +01:00
Arokha Sieyes
2000f95886 "1" Spam
Why would you do this to meeee.
2016-06-10 09:50:54 -04:00
Arokha Sieyes
ea6754597e Ports Bay's Robolimb Changes (#1779)
* Consolidates copypasta for repairing robolimbs

Also prevents self-repairing a limb you are using to hold the tool

* Fixes robot organs becoming undamagable after reaching cap

* Fixes repairing with cable not using any cable, repairing with weldingtool not doing eyecheck

* Removes ORGAN_ROBOT and ORGAN_ASSISTED flags, fixes #13123

* Fixes damage to robotic limbs not triggering organ processing

At the same time, robotic limbs with damage don't need to process.
However, it's much safer to explicitly have robot limbs return 0 from
needs_process() instead of not rechecking bad external organs.

* Build on HarpyEagle changes to apply to Polaris

Had to apply the change from flag to an enumeration.

* Removes unneeded file

* Fix bruisepacks, remove heart

Well, the unused bay version of the heart anyway

* Tweaks examine, reverts isSynthetic

Reverted that because Bay doesn't use it the same way. Also changed Examine to not list every robo-limb on non-FBPs in red, but left them listed as normal per Spookerton
2016-05-28 14:12:19 +01:00
Yoshax
8d72648ae6 Adjusts and adds more colors of cables
Removes limitation of being unable to join different colors of cable
Allows merging of different kinds of cable
Adjusts the color changing proc to be nicer as per Baystation12/Baystation#11645
2016-05-19 18:13:12 +01:00
Kelenius
3fdda5e8c5 Fixes issues travis found 2016-03-11 11:59:51 +03:00
Zuhayr
7c3993b68b Revert "Revert "Bay update."" 2016-02-07 16:33:30 +10:30
Zuhayr
98d983577c Revert "Bay update." 2016-02-07 16:07:05 +10:30
Zuhayr
1c100bf457 Cleaning up post-merge. 2016-01-22 01:22:49 +10:30
Zuhayr
e557a71fdc Merge branch 'dev-freeze' of https://github.com/Baystation12/Baystation12 2016-01-20 08:01:14 +10:30
PsiOmegaDelta
9b449cc183 Merge pull request #11963 from Baystation12/master
Dev-freeze
2016-01-11 08:28:56 +01:00