Commit Graph

149 Commits

Author SHA1 Message Date
John Willard
243231eb48 Properly checks flags with & instead of == (#70130)
* Makes flags properly check themselves

Byond ref: https://www.byond.com/docs/ref/#/operator/&
Basically, flags should use & instead of ==
We can have more than 1 slot on any item, so it's preferred that we do this instead. Even if it doesn't immediately fix any problems, it's something that should be the standard anyways to prevent it from ever being a problem.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-09-27 21:51:45 +00:00
MrMelbert
45516f4741 Adds macros to help with common set_- and adjust_timed_status_effect uses (#69951)
* Adds helpers for status effect application
2022-09-24 11:04:26 -04:00
san7890
8a64803988 Revert "Fixes Fucked Job Requirement Displays" and "Converts Job Hour Requirements System To HOURS Define" (#69426)
* Revert "Fixes Fucked Job Requirement Displays (#69368)" and Revert "Converts Job Hour Requirements System To HOURS Define (#68856)"

This reverts commit 6f2354e694 and 5b77361d39.
2022-08-24 23:00:20 -04:00
san7890
5b77361d39 Converts Job Hour Requirements System To HOURS Define (#68856)
* Converts Job Tracking System To HOURS Define

Hey there,

So, we stored everything in minutes without it being clear that it was supposed to be in minutes aside from a comment and a define. So, I decided to clean up some of the math by using the HOURS and MINUTES macros, and it should be a lot clearer to read and understand,  I hope.

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-08-21 19:35:13 -04:00
Seth Scherer
f1a363c825 Converts a shitload of istypes to their more concise macros (#69260)
* Converts a lot of istypes() to use their istype macro helpers.
2022-08-18 22:08:44 -04:00
Mooshimi
b09f3868f8 individual LOG_GAME (#68683)
About The Pull Request

    replaces a ton of log_game with user.log_message so the log is added to individual and global logs.
    adds a few logs for individual LOG_VICTIM, LOG_ATTACK etc logging.
    adds logging for bluespace launchpad's tele coords being changed.
    took the word "has" out of log_combat, as it's extra and just lengthens the log.

Why It's Good For The Admins

It's extremely laggy to open game.txt so an alternative is individual game logs
Changelog

cl
admin: A lot of game logs will now also be in individual game logs, for convenience in log diving.
admin: Added logging for bluespace launchpad x and y offset changes, which go to individual game logs.
admin: Attack logs will now be slightly shorter, one useless word was removed.
/cl
2022-08-05 09:32:02 +12:00
BluBerry016
86ef806f1a Greyscale ID Department Colors (+ Rainbow ID Card) (#68217)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-07-17 01:30:37 -07:00
Kylerace
fe7513d282 addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033) 2022-07-16 21:44:41 -07:00
MrMelbert
f8f3dbed98 Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. (#67083)
* destroy proc holder pt1
- change proc_holder/spell to action/cooldown/spell
- docs all the spell vars, renames some of them
- removes some useless vars
- start with pointed spells, as they're easy

* kill proc_holder pt2
- kill a buncha vars and replace it with flags
- convert a ton over
- general code improvements

* kill proc_holders pt3
- convert a good few more spells
- rename some signals
- handle statpanel
- better docs

* kiill proc_holder pt4:
- restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with
- converts touch attacks to actions
- converts blood crawl, jaunt subtype

* kills proc_holder pt5
- clears up some icon issues so all the currently converted pages don't have errors
- shapeshift
- some more action cleanup

* kills proc_holder pt5.5:
- some documentation
- reworks feedback to prevent oversight with teleports and stuff

* kills proc_holder pt6:
- converted cult spells
- converted magic missile
- converted mime spells
- chipped away at the errors
- removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own.
- merged magic/spell and magic/aoe, as the comment intended
- more unified behavior for spell levelling

* kill proc_holders pt 6.5:
- replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby

* kills proc_holder pt 6.75:
- minor fixes

* kills proc_holder pt7:
- cuts down on some errors
- refactors some wiz events

* kills proc_holder pt 7.5:
- malf ranged modules
- some minor errors

* kills proc_holder pt 7.75:
- mor eminor error handling, cleaning up changes

* kill proc_holder pt8:
- refactors spell book
- refactors spell implant
- some more minor error fixing

* kill proc_holder pt 8.5:
- scan ability

* Adds some robust documentation

* kill proc_holder pt9:
- converts some / most mutations over

* kill proc_holder pt10:
- sort out all the granters
- refactor them slightly
- fix some compile errors

* Some set-unset sanity - going to need to test removing Share()

* Removes transfer actions. It doesn't seem to do anything.
- Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though

* Removes sharing from actions, docs actions better

* Some better documentation for spell and spell components

* Kills proc_holder pt11:
- Finally finishes ALL THE SPELLS IN THE SPELL FOLDER
- Fixes some more errors

* kills proc_holder pt11.5:
- minor error fixing and sanity

* Method of sharing actions. Can be improved  in the future, needs testing

* Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now.

* Curse of madness bug I put in.

* kills proc_holder pt12:
- sub 500 errors!
- converts cytology mobs
- converts and refactors spiders slightly
- some minor fixing around the place as usual

* kill proc_holder pt13
- Finishes heretic spells
- Sub 300 errors!
- some touch refactoring to account for mansus grasp

* kills proc_holder pt14:
- revenant
- minor bugfixing for heretic stuff

* kills proc_holder pt14.5:
- some missed stuff for revenant + heretic

* kills proc_holder pt15:
- alien abilities
- more minor fixing
- sub 100 errors. The end is nigh

* kill proc_holder pt16? 17:
- Finishes cult spells
- sub 50 errors!
- refactors the way charge works
- renames / moves some signals

* kills proc_holder pt final:
- sdql spells
- no more errors!

* Bugfixes round 1

* Various bugfixing
- documentation done
- give spell works
- can cast spell gives feedback conditionally
- is available takes into account casting ability

* Some accidental reversions + fixes

* Unit tests

* Completely refactors jaunting
- All bloodcrawling is now handled on the action itself instead of across various living procs
- slaughter demons have their own blood crawls
- jaunting dummies don't have side effects on destroy() anymore

* Wizard spell logging and even more refactoring
2022-07-01 02:01:02 -04:00
‮ittaG ordnasselA
ae8cb8147b Allow Agent cards to use numbers in their names (#68065) 2022-06-30 05:38:54 -04:00
Fikou
bcbb2f1033 Adds a chance for ID cards to be tastefully thick (#67359)
About The Pull Request

Adds a 1% chance for any ID to have a new trait (100% on golden IDs)
This trait adds a special interaction with ID appraisal chips
https://streamable.com/pdu7kj
Why It's Good For The Game

Impressive. Very nice. Let's see the Captain's card.
Changelog

cl
add: Adds a chance for ID cards to be tastefully thick
/cl
2022-06-01 09:24:54 +12:00
Andrew
3bb3785e86 OldStation Biolab and misc changes. (#67167) 2022-05-26 13:33:09 -07:00
Tim
0c5b3ac1fd New illiterate quirk (#66648)
* New illiterate quirk that makes a person unable to read or write. This applies to books, PDAs, paper, computers, and other electronics.
* New brain trauma dyslexia that makes you illiterate until fixed.
* Ashlizards are now illiterate as a default starting trait. The mining shuttle computer has been updated to compensate illiterate mobs randomly smashing buttons that causes a shuttle launch.

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2022-05-23 20:06:52 -04:00
Son-of-Space
8440d20981 [MDB IGNORE] Reformats Access IDs for accessibility and futureproofing (#67002)
* [DRAFT] Reformats Access IDs for accessibility and futureproofing

* replaced all the old defines and IDs everywhere

* replaced ID integers with strings, cleaned up a couple tram helpers

* replaces req_access_txt with req_access and fixes a few of my mistakes

Co-authored-by: san7890 <the@san7890.com>
2022-05-20 02:43:02 -04:00
nickup9
257678a9f8 Makes departmental budget accounts visible on command IDs, makes departmental budget mechanic more obvious in general (#67035)
* Head ID reports dep budget

* Adds Dep. Budget shorthand name to ID examine where applicable

* Cleaner & more readable ingame and codewise

* Modifies Cargo requests console js to allow title modification, IRN modifies titles where applicable

* Better way of doing things

* QM gets Cargo's budget on ID

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>

* pain peko

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-05-18 21:07:35 -04:00
tralezab
621544c22d Super Thief Health Update: Disables Hoarder, Adds All Access Fan, Rarely Thief Hideouts in Maint (#66123)
Disables hoarder. Before there was a 30% chance to roll hoarder, moved 20% to thief and 10% to a new theme called All Access Fan.

Adds the All Access Fan, who has the goal to steal 6 to 10 unique roundstart IDs. That means the ones you were given when you join the shift!

When the first thief is created, there is a 20% chance of a thieves guild being chosen. This is an abandoned room in maintenance all thieves know of, for meeting up. Thieves get a big mood boost from hanging out there!
2022-04-21 14:16:47 -05:00
magatsuchi
cd1b891d79 Modular Tablets: Converting PDAs to the NtOS System (#65755)
Converts PDA functions and applications over to modular tablets and devices, namely the messaging function. HREF data code is quite honestly clunky and difficult to work with, as I've definitely experienced whilst working on this. By moving from this system over the easier to read (and frankly, easier to add to) TGUI system, you get cleaner looking and more user friendly UIs and a greater degree of standardization amongst other UIs.

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2022-04-20 03:08:41 +03:00
ArcaneMusic
b17a90718e Replaces the accounting machine with all IDs having their own bank account by default. (#65980)
* Replaces the accounting machine with all IDs having their own bank account by default.

* Thanks, conflict.

* Oh right pushing the commits
2022-04-08 20:59:36 -07:00
Kapu1178
1d0eadcb12 Kapulimbs (#65523)
* i wanna go to bed so im pushing this

* It compiles but doesn't work yet

* It works!

* I WANT TO DIE

* Appease linters

* some CI fixes

* Address reviews + oversight

* Limb grower fix

* more icon fixes

* forgot to hit save

* I'm a dumbass

* Removes bodypart parent from unit test

* Fixes monkeys and CI

* Grammar pass

* I hate zombie code so much

* General code cleanup

* THE SHITCODERS ARE COMING FOR MY VARS

* THE UNIT TESTS ARE COMING FOR MY SHITCODE

* Reviews + skirts

* Removes an unused DMI

* Why didn't I do this in the first place?

* HAIR REFACTOR

* Haha whoops

* How did I miss this

* Admin spawned creatures now have their features

* Optimize me harder

* minor fix i need to push to merge master

* Fixes hair (maybe) and a runtime

* Maybe fixes mirrors

* Attempts to fix women

* Fixes hair on dismembered heads and a grammar change

* Caps lock did me dirty

* address reviews

* icon failures fix + missed reviews

* Fixes: Facehuggers and Regenerate_limb

* Fixes ethereal color pref appearance

* How the fuck did this not break everything else horribly?

* JESUS FUCKING CHRIST IM A MORON

* Fixes compile

* I'm not high I swear

* Im a dipshiiiit

* grumble grumble

* Fixes a visual bug with digitigrade legs. Adds \improper to roundstart species names. Added two new clothing-related helper procs. Renamed a couple procs to be more accurate. Adds SHOULD_CALL_PARENT(TRUE) to examine_more. Addresses reviews.

* Forgot this little readability thing.

* Updates CODEOWNERS

* Me when I forget how github works

* mapload me harder

* Last second fixes
2022-04-01 21:07:46 -04:00
cacogen
9a76f204b4 Fixes issue with holographic paystands not dissipating in certain cases (#65246)
Holographic pay stands are created by right-clicking your ID outside of your active hand. The game doesn't tell you how to do it and it can be difficult to figure out because when it doesn't work in your active hand you move onto trying a different button.

Pay stands are supposed to disappear when the ID that created them moves further than four tiles away, but in cases where the ID is stored in something like a PDA before moving away or was on a turf when the pay stand was created this doesn't happen.

This PR makes it properly track all the locations its linked ID inhabits so if one of them moves we can check if it's far enough away to dissipate.

It also moves placing holographic paystands to attack_self_secondary() instead of attack_secondary(), which is more intuitive.

It also makes it so you can place holographic pay stands by clicking adjacent floor turfs with your ID. This seems like a much more intuitive way of doing it and how I expected it to work before I figured out how you actually placed them.

It also adds screentips for in-hand ID interactions (e.g. show ID, project pay stand) and pay stand ID and holochip interactions (e.g. pay, dissipate pay stand).
2022-03-14 21:10:39 -07:00
Jeremiah
009f009d4b Makes holopays and their associated IDs a direct ref (#64767)
I was told to make these weakrefs and apparently they needn't be

Tested and it's working fine.
2022-02-11 01:50:20 -08:00
TemporalOroboros
6be8e0feee Adds an option to generate typecaches as zebras. (#63710)
About The Pull Request

Adds an argument to typecache generation that allows specifying the whether to include/exclude types in the input list.
Also adds another argument to specify whether to remove falsey values after the typecache is generated.
Why It's Good For The Game

Might make zaps slightly faster???
Honestly I just thought it would be a good way to condense some whitelist/blacklist typecache sets.
2022-02-07 14:23:38 +13:00
Rohesie
77c9485ecb Cleans Job lists (hardcoded and not) (#64596)
* Removes hardcoded job from SSjkobs. "station_jobs", "head_of_staff_jobs", "additional_jobs_with_icons", "centcom_jobs" have been removed and replaced with flags and vars on the trims.
2022-02-06 13:22:56 -06:00
Jeremiah
30253cf6a8 Tgui input refresh (#64331) 2022-02-05 19:44:59 +02:00
Jeremiah
cdfd5df7be Refactors pay stands + custom vendors (#63889)
I am disgruntled by the way pay stations work. They're not intuitive, they're a pain to build and have no interface. Basically: They don't get made, and the potential is lost.

Pay stands => Holopay

    Summoned by right clicking your ID
    Disappears if the card is out of range.
    New TGUI window that offers more customization

Other bundled fixes:

    Custom vendors become more user friendly
    Code improvement
    Lots of documentation + refactoring
    New bundled number input will likely take place of animated number in tgui input number

Why It's Good For The Game

More RP opportunity for players, plus bug fixes. It's now much easier for players to start their own in game business selling substances clown shoes.
Changelog

cl
code: Created a new input component that accepts only integers. More usage to come.
refactor: Pay stands are now holographic. It's 2562! Create one by right-clicking your ID.
del: Circuit boards for pay stands.
refactor: Pay stands now have their own TGUI.
fix: Custom vendors now alert you when someone makes a purchase.
fix: Custom vendors now place items in your hand when you make a purchase.
/cl
2022-02-01 09:47:28 +13:00
John Willard
3886c40311 Fixes assigning timers to prisoner IDs (for Tramstation) (#64060) 2022-01-14 22:19:02 -05:00
Watermelon914
8fd85e9666 [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety (#63588)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: gbfree <guillaumebfree@gmail.com>
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-01-11 15:47:10 -08:00
Jeremiah
9c6fdb567d TGUI list conversions + bug fixes (#63354)
About The Pull Request

    Converts more inputs to TGUI. Possibly all user-facing input lists in the game.
    Did any surrounding text/number inputs as well
    Added null choice support so users can press cancel.
    Added some misc TGUI input fixes
    Fixed custom vendors while I was there

I refactored a lot of code while just poking around.
Primarily, usage of .len in files where I was already working on lists.
Some code was just awful - look at guardian.dm and its non use of early returns
If there are any disputes, I can revert it just fine, those changes are not integral to the PR.
Why It's Good For The Game

Fixes #63629
Fixes #63307
Fixes custom vendors /again/
Text input is more performant.
Part of a long series of TGUI conversion to make the game more visually appealing
Changelog

cl
refactor: The majority of user facing input lists have been converted to TGUI.
refactor: Tgui text inputs now scale with entered input.
fix: Many inputs now properly accept cancelling out of the menu.
fix: Fixes an edge case where users could not press enter on number inputs.
fix: Custom vendor bluescreen.
fix: You can now press ENTER on text inputs without an entry to cancel.
/cl
2021-12-31 11:07:28 +13:00
tralezab
82615e7462 Super Mega Mob Spawn Refactor (#63279)
About The Super Hyper Ultra Ultimate Deluxe Perfect Amazing Shining Mob Spawn Refactor

The Super Hyper Ultra Ultimate Deluxe Perfect Amazing Shining Mob Spawn Refactor is my attempt to clean up the file structure, the code, and the type tree for mob spawns.

    Splits mob spawn types into corpses (dead spawns) and ghost roles (living spawns you can possess). The vars that didn't make sense for corpses and vice versa for ghost roles are now appropriately there
    Because of above, there are no longer the fucking "death, roundstart, and instant" vars. thank god
    Removes a lot of single or very few used vars, whose properties can be applied on special().
    All Mob Spawns are given fitting folders instead of just being stuck in a single ghost roles file. Corpses are in the corpse folder, Ghost Roles are in the ghost role folder. Only exception are drones which should stay near their respective homes
    Just generally cleaner all around you know
    spider structures file renamed to spiderwebs now that spider eggs are gone

Why Super Hyper Ultra Ultimate Deluxe Perfect Amazing Shining Mob Spawn Refactor Is Good For The Game

The Super Hyper Ultra Ultimate Deluxe Perfect Amazing Shining Mob Spawn Refactor cleans up so many terrible cases and uses
Changelog For The Super Hyper Ultra Ultimate Deluxe Perfect Amazing Shining Mob Spawn Refactor

cl armhulen
refactor: Mob spawns are refactored, no more assortment of "random, instant, and roundstart" vars on every mob spawn type
refactor: if there are some minimal differences in how mob spawners feel, that's why!
/cl
2021-12-15 11:13:21 +13:00
MMMiracles
6f2382d722 Tramstation Perma Genpop (#62966) 2021-11-27 10:38:54 -07:00
Tastyfish
15d38dc4bf Proper custom job name support (#62803)
* Makes PDA crew manifest and crew monitoring computer respect trims for ordering and sorting

* Fix static typecheck issue

* Added initial rank tracking for IC command
2021-11-18 21:25:55 +01:00
Ghom
64a070b794 Deletes the unused /obj/item/card/data types. (#62519) 2021-11-03 21:12:32 -04:00
John Willard
6c0aba5da4 removes double spaces AFTER symbols (#62515)
* removes double spaces AFTER symbols

* found more
2021-11-03 21:09:35 -04:00
Mothblocks
0f3c4e51f7 Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed (#62265)
Implements the Modernizing radiation design document ( https://hackmd.io/@tgstation/rJNIyeBHt ) and replaces the current radiation sources with the new system, as well as replacing/removing a bunch of old consumers of radiation that either had no reason to exist, or could be replaced by something else.

Diverges from the doc in that items radiation don't go up like explained. I was going to, but items get irradiated so easily that it just feels pretty lame. Items still get irradiated, but it's mostly just so that radiation sources look cooler (wow, lots of stuff around going green), and for things like the geiger counter.

Instead of the complicated radiation_wave system, radiation now just checks everything between the radiation source and the potential target, losing power along the way based on the radiation insulation of whats in between. If this reaches too low a point (specified by radiation_pulse consumers), then the radiation will not pass. Otherwise, will roll a chance to irradiate. Uranium structures allow a delay before irradiating, so stay away!
2021-11-01 04:20:39 -03:00
Seris02
4bfde8c33b fixes a runtime with dropping advanced cards from wallets (#62440)
fixes a runtime when transferring advanced ids to/from wallets
Fixes #62036
2021-10-31 18:14:53 +00:00
oranges
2afab49681 Revert "Basic ID cards with job trims can now hold higher level accesses to their own departments. (#62275)" (#62368)
This reverts commit 4d15fbc4f0.

"Basic ID cards with job trims can now hold higher level accesses to their own departments. (#62275)"
2021-10-27 22:10:53 +01:00
Timberpoes
4d15fbc4f0 Basic ID cards with job trims can now hold higher level accesses to their own departments. (#62275) 2021-10-26 13:25:52 -07:00
Ghilker
95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
tralezab
6c01cc2c01 every case of initialize that should have mapload, does (#61623)
## About The Pull Request

stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it

for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload

![](https://media.discordapp.net/attachments/823293417186000909/875122648605147146/image0.gif)

## Regex used:

procs without args, not even regex

`/Initialize()`

procs with args
`\/Initialize\((?!mapload)((.)*\w)?`

cleanup of things i didn't want to mapload:
`\/datum\/(.)*\/Initialize\(mapload`
2021-09-24 17:56:50 -04:00
Timberpoes
8fef5536c8 Fix pass-by-ref issue causing ID card access lists to be incorrectly mutated. (#61117)
stored_card.GetAccess() eventually leads to /obj/item/card/id/GetAccess() being called. This proc returns the actual access list associated with the ID card rather than a .Copy() of it.

As a result, the line total_access = stored_card.GetAccess() is storing a reference to the stored_card's actual access list.

total_access |= card_slot2.stored_card.GetAccess() is then mutating the first ID card's access list via the reference.

The result? When /obj/item/computer_hardware/card_slot/GetAccess() is called with 2 ID cards in a modular computer, the second ID card gives all of its accesses to the first ID card thanks to the |= operation.

There are a number of ways around this. Some pieces of code do var/list/thing = list() and then |= every GetAccess() since it's guaranteed to return a list. This creates new lists instead.

However, I feel GetAccess() for ID cards really shouldn't be returning a ref to the list. Instead, it now returns a Copy() of the list and code implementing behaviour using GetAccess() doesn't need to worry about list mutation at all.
2021-09-01 13:05:18 +01:00
Rohesie
4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
Timberpoes
69e55ced2b Gives advanced wireless right click functionality to agent ID cards. (#59657)
* Wireless schmireless

* tgui adjacency check

* Tgui state tweaks

* Moar functionality

* Right clickify

* Depends-on-Things

* I have always wanted a the agent ID card of my own.

* Revert "Tgui state tweaks"

This reverts commit 42824a30958186f62cf47ce5ebd150a02b3ee8b2.

* Revert "tgui adjacency check"

This reverts commit af0bf4c46456e92c1d5e29ccd2b064be134216b4.

* Compose don't inherit

* Revert "Depends-on-Things"

This reverts commit 7880e7b1914c7de22e2a57c0b4005a0fb748cc61.
2021-06-25 00:01:10 -07:00
Timberpoes
c9a9c2bf4d Change agent ID cards to jump to the front of wallets; disguise other more powerful ID cards (#59652)
Many moons after I reworked ID cards, I feel the Agent ID card needs a little bit of extra love.

This change adds an option during forging which allows the user to specify whether the agent ID card will force itself to the front-facing/visible ID slot in wallets.

This provides traitors with a way to effectively disguse any special ID cards and accesses they may have without making the agent ID card a must-buy TC tax. If your traitor strategy involves gathering many ID cards, this is a definite buff to an item that took a heavy hit to power in the rework.
2021-06-21 19:49:40 +01:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
Gamer025
4952389927 Fix incorrect uses of UnregisterSignal (#59379)
Correctly unregister multiple signal types / removes uneeded proc parameters in calls to UnregisterSignal
2021-05-30 15:58:44 +01:00
Kylerace
e13fe75590 use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
2021-05-24 15:28:02 -04:00
Beatrice
5b573931f4 Credits Put Into PDAs/Modular Computers Go Into Inserted IDs (#59180)
* Credits Put Into PDAs/Modular Computers Go Into Inserted IDs

If a PDA or Modular Computer is attacked by something, it now checks to see if it can insert the object into the inserted ID

* Commenting the code

* Added Istype Checks Based on Feedback

* Adding a return to match the style of code in the same block

* Using Iscash instead of Istype spam

Changes the ID, PDA, and Modular Computer code to use Iscash (Apparently this already existed!)

Additionally, physical currency is checked internally instead of externall
2021-05-22 23:33:17 -04:00
Celotajs
190d0a0384 Replace alert usage with tgui_alert (#58419)
Pretty much every alert() call is replaced with tgui_alert, except one I replaced with tgalert as a fallback. If tgui_alert exists, why not use it?
2021-05-20 22:43:27 +12:00
ArcaneMusic
52bfb5aa5d tweaks rupee's in-game sprite and adds some failtext to using them like cash. (#58726) 2021-04-29 04:01:09 -07:00
小月猫
dbe702597c PDA Painter can now reset the linked Economy Account (#58784)
* IDs now reset their account when imprinted

ID's can now properly be reused without giving people random economy accounts as the imprinting on the PDA painter now sets the ID's account back to null
2021-04-29 03:43:32 -07:00