94 Commits

Author SHA1 Message Date
Gaxeer 7468a0fbcf refactor detective scan categories, fix some categories not being shown at all, remove Syndicate scan category (#93138)
## About The Pull Request

Refactor detective scan categories.
Fix some categories not being shown at all.
Remove Syndicate scan category.

<details>
<summary>TGUI</summary>
<img width="514" height="545" alt="image"
src="https://github.com/user-attachments/assets/754ce576-545e-40e5-9fad-86f19d8d2606"
/>
</details>

<details>
<summary>Paper report</summary>
<img width="460" height="609" alt="image"
src="https://github.com/user-attachments/assets/e37e1965-e90a-4e0c-8109-f4384d6a4a79"
/>
</details>


## Why It's Good For The Game

DETSCAN_CATEGORY_SETTINGS, DETSCAN_CATEGORY_HOLY,
DETSCAN_CATEGORY_ILLEGAL and DETSCAN_CATEGORY_NOTES are now shown in
detective scanner ui and printed report.

Cleaner code

## Changelog

🆑
fix: energy dagger pen report will be now shown in detective scanner and
also all items that transform will have additional note about it
/🆑

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2025-10-12 05:44:56 +02:00
SimplyLogan c9d86b13a1 Fixes endless updates to det forensic scanner into the UI (#93037)
## About The Pull Request

<img width="882" height="426" alt="image"
src="https://github.com/user-attachments/assets/62dbbe4e-7333-4525-aa55-d4945e038d8c"
/>

Fixes #92824 

Tested in game and working, no more endless looping of the values into
the UI, it makes a copy at the point of scan so you'll have to re-scan
if you want the latest results.
## Why It's Good For The Game

- Fixes unintended bug with det scanner
## Changelog
🆑
fix: Fixes endless updates to det forensic scanner into the UI
/🆑

---------

Co-authored-by: loganuk <falseemail@aol.com>
2025-09-22 03:23:04 +02:00
TiviPlus 88c2213f1e Force UTC±0 for time2text logging and IC times (#90347)
## About The Pull Request
This won't actually do anything on live, since those are all set to
UTC±0 currently

Pins logging and IC uses of time2text to UTC±0 instead of using the
system timezone (byond default)
Timezones not being set to utc0 caused issues before (and is again)

All timezones are now passed explicitly to make it more likely it's
cargo culted properly at least

Deletes worldtime2text cus it was gameTimestamp default args

## Why It's Good For The Game
Server timezone changes probably shouldn't affect logging, round times,
file hashes, IC time, when you caught fish, etc

## Changelog
🆑
refactor: Logging and IC timestamps will now always use UTC±0 and not be
affected by server system timezone changes
fix: Station and round times will not longer be incorrect if the system
timezone is not UTC±0
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-04-01 22:08:15 +02:00
Andrew 2fed024d0f Forensic scanner UI and report format update (#89221)
## About The Pull Request

Added UI for the forensic scanner.

<details><summary>UI</summary>
<img alt="gRO2mae3E4"
src="https://github.com/user-attachments/assets/360832de-0485-4827-a4e1-957541cbf002"
/>
</details> 

<details><summary>Report</summary>
<img alt="99Y5ierj24"
src="https://github.com/user-attachments/assets/e14d221d-d5d0-42b1-8054-902f19780f1a"
/>
</details> 

## Why It's Good For The Game

Less things printing bunch of data in chat and using a proper UI
instead.

## Changelog

🆑
qol: Added forensic scanner UI
qol: Made forensic scanner report format cleaner
/🆑

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2025-01-31 07:59:02 -08:00
Penelope Haze d0a7f955f8 Fix various issues with names in string interpolation (#89246)
## About The Pull Request
Commit messages should be descriptive of all changes.
The "incorrect `\The` macro capitalization" was intentional when it was
added, but as far as I know TG says "the supermatter" rather than "The
Supermatter," so it's incorrect now.
This is completely untested. I don't even know how you'd go about
testing this, it's just a fuckton of strings.
Someday I want to extract them and run NLP on it to catch grammar
problems...

## Why It's Good For The Game
Basic grammar pass for name strings. Should make `\the` work better and
avoid cases like `the John Smith`.
2025-01-29 17:46:03 +01:00
larentoun fb6a3461df Evidence bag is a storage now; Detective's scanner now can scan items on their own person (#87331)
## About The Pull Request
Makes Evidence Bag a container - it was already container-ish but never
updated with storage code. Now you can open the container and do
something with the item inside, like scanning it!

Detective's scanner now can scan items that you hold or store - be it in
your backpack or an evidence bag in your another hand!

I was considering just making it drop the item on attack_self() and do
some code to make scanning the evidence bag also scan the item inside,
but I think making it a container is a better way.

## Why It's Good For The Game
Evidence Bag had you to have no free hands to drop an item to the
ground, if you didn't want to add your fibers/prints. That was
cumbersome.

Scanning items inside of evidence bag is cool.

## Changelog
🆑
add: Evidence Bag is now considered a storage container with 1 slot.
Allows to use all features storage has, such as drag-and-drop the bag
onto a table.
add: Using Evidence Bag in hand now drops the item on the ground instead
of putting it in your hands. Don't mess with the evidence!
qol: Detective's scanner can now scan items on your person. You can now
pick up an evidence bag, open it like any other container, and scan the
item inside without removing it
/🆑
2024-10-25 01:53:12 +02:00
grungussuss 083defab20 Industrial scanning sound (#87189)
## About The Pull Request
For:
- gas analyzer
- scanner gate
- plant analyzer
- t-ray scanner
- slime scanner
- scanning mining geysers


https://github.com/user-attachments/assets/24fde731-e567-483b-b88e-6f7fcbacf52a
## Why It's Good For The Game
it sounds nice
## Changelog
🆑 grungussuss
sound: added new scanning sound
/🆑
2024-10-17 22:16:13 +02:00
MrMelbert 8486f2f7e2 Storage / table interactions at the bottom of the interaction chain (#85512)
Because the wings were in fact made of wax 

## About The Pull Request

Storage goes to the very bottom of the interaction chain, hardcoded in
on `/atom`.
This is not preferred, obviously, but it ends up being a lot less
snowflaking overall.

Tables also go at the very bottom by extending `base_item_interaction`. 

Fixes #83742
Fixes #84434 
Fixes #83982
Fixes #85516
Fixes #84990
Fixes #84890
Closes #85036
Closes #84025 (RMB places it on the table.)
Closes #86616

Other changes:

Refactored pod storage to be less jank. Patches some exploits around it.

## Why It's Good For The Game

Should make a lot more interactions a lot more reliable... hopefully

## Changelog

🆑 Melbert
refactor: Storage and Tables are now a lower priority action, meaning
some uses of items on storage should work... better, now. Here's hoping
at least, report any oddities.
refactor: Note: For an overwhelming majority of items, **combat mode**
will attempt to attack/insert into the target, while **non-combat-mode**
will attempt to use on a target. This means screwdrivering or emagging a
MODsuit must be done on non-combat-mode, as combat mode will simply put
the screwdriver or emag into its storage. Same applies to tables, though
when in doubt, RMB may help (for things which are also weapons, like
mops).
refactor: Refactored escape pod storage, now they actually properly show
as unlocked on red alert and above.
/🆑
2024-09-12 23:48:19 +02:00
MrMelbert ff6b41aa07 Afterattack is dead, long live Afterattack (#83818)
## About The Pull Request

- Afterattack is a very simple proc now: All it does is this, and all
it's used for is for having a convenient place to put effects an item
does after a successful attack (IE, the attack was not blocked)


![image](https://github.com/tgstation/tgstation/assets/51863163/1e70f7be-0990-4827-a60a-0c9dd0e0ee49)

- An overwhelming majority of afterattack implementations have been
moved to `interact_with_atom` or the new `ranged_interact_with_atom`

I have manually tested many of the refactored procs but there was 200+
so it's kinda hard

## Why It's Good For The Game

Afterattack is one of the worst parts of the attack chain, as it
simultaneously serves as a way of doing random interactions NOT AT ALL
related to attacks (despite the name) while ALSO serving as the defacto
way to do a ranged interaction with an item

This means careless coders (most of them) may throw stuff in afterattack
without realizing how wide reaching it is, which causes bugs. By making
two well defined, separate procs for handing adjacent vs ranged
interactions, it becomes WAY WAY WAY more easy to develop for.

If you want to do something when you click on something else and you're
adjacent, use `interact_with_atom`
If you want to do something when you click on something else and you're
not adjacent, use 'ranged_interact_with_atom`

This does result in some instances of boilerplate as shown here:


![image](https://github.com/tgstation/tgstation/assets/51863163/a7e469dd-115e-4e5b-88e0-0c664619c878)

But I think it's acceptable, feel free to oppose if you don't I'm sure
we can think of another solution

~~Additionally it makes it easier to implement swing combat. That's a
bonus I guess~~

## Changelog

🆑 Melbert
refactor: Over 200 item interactions have been refactored to use a
newer, easier-to-use system. Report any oddities with using items on
other objects you may see (such as surgery, reagent containers like cups
and spray bottles, or construction devices), especially using something
at range (such as guns or chisels)
refactor: Item-On-Modsuit interactions have changed slightly. While on
combat mode, you will attempt to "use" the item on the suit instead of
inserting it into the suit's storage. This means being on combat mode
while the suit's panel is open will block you from inserting items
entirely via click (but other methods such as hotkey, clicking on the
storage boxes, and mousedrop will still work).
refactor: The detective's scanner will now be inserted into storage
items if clicked normally, and will scan the storage item if on combat
mode
/🆑
2024-06-11 21:58:09 -07:00
Jeremiah 8e3f635b98 Alt click refactor (#82656)
## About The Pull Request
Rewrites how alt click works. 
Based heavily on #82625. What a cool concept, it flows nicely with
#82533.

Fixes #81242 
(tm bugs fixed)
Fixes #82668

<details><summary>More info for devs</summary>

Handy regex used for alt click s&r:
`AltClick\((.*).*\)(\n\t.*\.\.\(\))?`
`click_alt($1)` (yes I am aware this only copies the first arg. there
are no other args!)

### Obj reskins
No reason for obj reskin to check on every single alt click for every
object. It applies to only a few items.
- Moved to obj/item
- Made into signal
- Added screentips

### Ventcrawling
Every single atmospherics machine checked for ventcrawling capability on
alt click despite only 3 objects needing that functionality. This has
been moved down to those individual items.
</details>

## Why It's Good For The Game
For players: 
- Alt clicking should work more logically, not causing double actions
like eject disk and open item window
- Added context menus for reskinnable items
- Removed adjacency restriction on loot panel

For devs:
- Makes alt click interactions easier to work with, no more click chain
nonsense and redundant guard clauses.
- OOP hell reduced
- Pascal Case reduced
- Glorious snake case

## Changelog
🆑
add: The lootpanel now works at range.
add: Screentips for reskinnable items.
fix: Alt click interactions have been refactored, which may lead to
unintentional changes to gameplay. Report any issues, please.
/🆑
2024-04-16 17:48:03 -06:00
YesterdaysPromise 71a1fee2f1 Explodes device.dmi (#80025)
## About The Pull Request

I woke up today and thought 'what would be easy thing to do today so I
can say I've done something?'. Then I remembered I saw several gangtool
usages the time I split radio up, and I could remedy those. 7 hours
later, device.dmi is split in a folder of its own, and I've also given
unique sprites to door remotes and landing desginators.


## Why It's Good For The Game

The device.dmi was kind of a mess.

## Changelog

🆑
/🆑
2023-12-09 13:31:50 +01:00
san7890 7f7688b60a Demotes the "electrical conductivity" flag from flags_1 to obj_flags (#80033)
## About The Pull Request

Code to handle this flag only ever existed on the `/obj` sublevel, so
there's no need for it to be on the `/atom` level `flags_1`. There was
probably a point in time in which mobs or turfs conducted electricity
but there's zero code for it anymore so we truly just live in a society
now.
## Why It's Good For The Game

Frees up a slot on `flags_1` (which is really nice actually), proper
scoping of certain bitflag stuff, etc.
## Changelog
Not relevant to players.

I may have screwed something up, will be doing a few passes on this
myself to ensure all the search and replaces went alright but we should
be good™️
2023-12-01 21:43:46 -05:00
LemonInTheDark cb4a836d41 Removes all uses of text() (#75766)
## About The Pull Request

Apperantly it's deprecated. Also people misunderstand how to use it,
which leads to silly looking code and redundant wraps.

It is potentially useful to do a sort of format style string embedding,
but we don't have anything that really warrents it IMO.

## Why It's Good For The Game

Maybe byond will break on version upgrade slightly less now.
Also the code's less cluttered, and boomer posting has been excised.


![image](https://github.com/tgstation/tgstation/assets/58055496/c630e522-962c-4344-80f7-36d5df00a8b5)

![image](https://github.com/tgstation/tgstation/assets/58055496/f4cb3eb5-f07f-4489-8813-f59b19406bda)

![image](https://github.com/tgstation/tgstation/assets/58055496/6df7eb62-dae8-43b5-a511-1130ab4a2870)
2023-06-01 16:13:33 -04:00
Tim a1ada2c9ef Refactor, improve, and rename canUseTopic to be can_perform_action (#73434)
This builds on what #69790 did and improved the code even further.
Notable things:
- `Topic()` is a deprecated proc in our codebase (replaced with
Javascript tgui) so it makes sense to rename `canUseTopic` to
`can_perform_action` which is more straightforward in what it does.
- Positional and named arguments have been converted into a easier to
use `action_bitflag`
- The bitflags adds some new checks you can use like: `NEED_GRAVITY |
NEED_LITERACY | NEED_LIGHT` when you want to perform an action.
- Redundant, duplicate, or dead code has been removed.
- Fixes several runtimes where `canUseTopic` was being called without a
proper target (IV drips, gibber, food processor)
- Better documentation for the proc and bitflags with examples
2023-02-16 20:22:14 -05:00
Bloop ee3dd96c34 Fixes a typo in comments (#73418)
## About The Pull Request

What it says on the tin.
## Changelog

Nothing any users would notice.
2023-02-14 21:50:33 -07:00
Bloop c6db34db67 Refactors the detective scanner to fix potentially getting stuck in the 'scanning' state (#73058)
## About The Pull Request

Detective scanners make use of a `scanning` boolean to determine whether
or not you can perform another action with it.
It gets set to `FALSE` in its procs, but if any of those procs runtime
for whatever reason this could lead to that never happening.

Which in turn leads to it getting stuck in the `scanning = TRUE` state
indefinitely.

---

This PR just moves the functions into wrapper functions so that should a
runtime occur, the boolean will still get set to `FALSE`. Also changed
the boolean's name from `scanning` to `scanner_busy` because it is also
used for the print function.

Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/18241

## Why It's Good For The Game

Code resiliency

## Changelog

🆑
fix: fixes a potential bug that can cause the detective scanner to get
stuck in a scanning state indefinitely
/🆑
2023-02-12 18:27:37 -07:00
Jeremiah 5e80257423 Refactors crew records (#72725)
## About The Pull Request
I have attempted or otherwise started this project at least 4 times. I
am sick of it being on my calendar. The code needs it. I need it.

- This makes crew records a proper datum rather than assigning
properties record.fields.
- General, medical, and security records are merged.
- Did some slight refactoring here and there for things that looked
obvious.
- Wanted states are now defined (and you can suspect someone through
sechud)
- pAI (unrelated but annoying) had some poorly named exported types that
i made more specific
- Job icons are moved back to the JS side (I wanted to get icons for
initial rank without passing trim)

<details>
<summary>previews</summary>

Editable fields & security console

![CM6d74brnC](https://user-images.githubusercontent.com/42397676/213950290-af6cfd76-eb8b-48e9-b792-925949311d9a.gif)

Medical records

![bFJErsvOaN](https://user-images.githubusercontent.com/42397676/214132534-59af1f8c-9920-4b51-8b27-297103649962.gif)

Look and feel of the more current version

![cxGruQsJpP](https://user-images.githubusercontent.com/42397676/214132611-0134eef0-e74c-4fad-9cde-328ff7c06165.gif)

</details>

## Why It's Good For The Game
TGUI'd some of the worst UIs in the game.
Creating new records is made much simpler. 
Manifest_inject is made readable.
Probably bug fixes

## Changelog

🆑
refactor: Crew records have been refactored.
refactor: Medical records -> TGUI
refactor: Security records -> TGUI
refactor: Warrants console -> TGUI
qol: Players are now alerted when their fines are paid off.
qol: Cleaned up sec hud examination text.
qol: Adding and deleting crimes is easier.
qol: Writing crimes in the console sets players to arrest.
qol: You can now mark someone as a suspect through sec hud.
/🆑

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-01-24 18:34:27 +00:00
Mothblocks f54dcda1c0 afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item (#72320)
Necessary for #72292 to work effectively, and probably not very useful
out of that context. Split out of its own PR because this is long and
boring.

I want to make sure that we're catching actual mistakes there, and not
just experiencing side effects of how shitty the attack chain is.
2023-01-04 21:10:41 -08:00
MrMelbert 4a4b46817d Fixes DNA scanner not picking up fibers (#72295)
## About The Pull Request

Fixes #72293 

Copy paste error

## Why It's Good For The Game

Fibers are important

## Changelog

🆑 Melbert
fix: Det's scanner sees fibers again
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-28 10:58:14 -07:00
MrMelbert 3b58103187 Fixes forensics scanners breaking on scanning blood. (#71981)
## About The Pull Request

Fixes #71973

For some reason it attempted to append `[reagents[volume]]` to the
string

`reagents` is 
A. not indexed by volume
B. not a list, but a reagent datum

Replaces it with just a readout of the reagent's volume, cleans up some
associated code

## Why It's Good For The Game

Scanning blood is good and has important information

## Changelog

🆑 Melbert
fix: Detective Scanner can scan stuff that contains blood again.
/🆑
2022-12-18 21:50:31 +01:00
texan-down-under 05b7e0d0c0 Modularizes the forensics scanner, and letting items modify it. (#71109)
Overhauls the fornesics scanner system, letting items modify the readout
and adding additional information through the COMSIG_DET_SCANNED signal.

Buffs the forensics scanner by letting it reveal more info, makes the
code look nicer, and allows for a bit more flavour text to be added to
items.
2022-12-11 04:21:16 -05:00
AnturK 4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword

And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.

@tgstation/commit-access Since the .proc/stuff is pretty big change.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
GuillaumePrata 67a8f238b2 Balloonify the forensic scanner and cut on to_chat spam (#70820)
## About The Pull Request
Turns all the minor `to_chat` messages that the forensic scanner made
into balloon alerts.
Makes the `visible_message` be ignored by the scanner's user, as it was
creating 2 messages on the chat box 4noresin.
Adds a 3 second `do_after` when you try to delete logs from your scanner
to help avoid accidental deletion of logs.
Kills a pair of single letter variables while I was there.
And gave better clarity on an error message for the scanner saying it
was either busy or had no logs.
## Why It's Good For The Game
Better UX for the forensic scanner.
Using it spammed your chat with too many pointless messages that work
better as short balloon alerts.


## Changelog


🆑 Guillaume Prata
qol: The forensic scanner uses balloon alerts for most of it's simple
feedback messages, enjoy having an easier time hearing the radio
chatter.
/🆑


Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-04 09:02:31 +00:00
san7890 2878345ebb Swaps sleep() to use SECONDS define, changes some sleep(1) to sleep(1 TICKS) (#70452) 2022-10-18 21:25:23 -07:00
tattle fd9f50c552 [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)
Also adds balloons to inhand/items
2022-09-01 03:29:10 +02:00
Timberpoes 786ac5c855 [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition> (#68612)
Papercode refactor
2022-08-02 19:27:42 +02:00
Seth Scherer a3add37618 Refactors the forensics component into a datum (#66809)
About The Pull Request

This was doing things component really shouldn't be doing, and now all
of its behaviour is contained onto a datum, as it should've been the
whole time
Why It's Good For The CODEBASE

some things just really shouldn't be components, this was made back when DCS was first implemented and just thrown in because it was the new hot thing i guess, but datumized forensics makes far more sense, AND doesn't use GetComponent

TODO:

    More thorough testing to make sure nothing broke

Changelog

🆑
refactor: Turned the forensics component into a datum.
/🆑
2022-05-16 16:33:59 +12:00
Fikou fd9a7f8a58 MOD update: Modular Cores (#64042)
* Modsuit update - Cores
2022-01-15 13:54:53 +01:00
Timberpoes 75a3717a04 Modifies right click logic so that it is not the same priority as modifier keys. (#59656)
Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.

Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.

Items that used RightClick procs have been converted to attack_hand_secondary.

The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.

Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.

The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.

The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.
2021-06-24 14:30:33 -03:00
Y0SH1M4S73R 63e33bd709 Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code) (#59636)
I noticed that various nonhuman body features can't be changed using genetics. I corrected this by adding a block to character genomes allowing you to edit features in the DNA console.
2021-06-20 16:20:09 -03: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
TemporalOroboros e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
TiviPlus ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
Jordan Brown e6374abd60 Remove instances of var varname in dm code 2020-07-29 11:56:09 -04:00
jdawg1290 62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ShizCalev 411dea9542 Merge pull request #51659 from TaG2e/master
Fixes more missing sprites and adds invisible icon
2020-07-01 11:58:17 -04:00
TaG2e 8f72395637 Fixes more item icons, conflicts, and default hidden to false 2020-06-20 19:00:36 -05:00
nemvar b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
WarlockD 1d0cc0c715 Papers Please! Now with Markup...again! (#51534)
* Initial update

* tgui ofcourse

* Small fixes

* More lint fix

* Updated to support signatures and adding to paper

* Sign and adding to paper work, need to tune it a bit though

* Ok, signatures and adding work, still working on stamps

* Stamps now, fix rotate and cleanup tommow

* Alrighty!  Lets try for some testing!

* Stupid travis

* annnd the bundle

* Minor fixes

* DONE.  Still have some code cleanup, but all the major features work now

* Requested changes cleaned up formating

* Dammmn you bundle!

* Fixed the preview issue

* Updated bundle

* Ok, some more fixes and clean up

* Ugh damn you tgui bundle

* Update tgui.bundle.js
2020-06-17 11:55:58 -04:00
nemvar 6ef421be42 Renames a few variables. Also reorders icon fallback order again. (#51060)
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.

* Fixes some comments

* Fixes map issue

* Restart lints

* Properly resolves conflicts
2020-05-25 06:47:19 +02:00
81Denton 3849a4a42c Replica pods can show the blood DNA of injected samples (#48755)
* Replica pods notify ghosts, can show the blood DNA of injected samples

* basically im monky

* h

* removes garbo, adds hints that "blood DNA" is just the UE
2020-01-20 11:44:38 -05:00
kingofkosmos df1fecc58c Adds notice-span to visible_messages with no spans (#46044)
About The Pull Request

Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game

This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
2019-08-26 20:50:00 +12:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
ShizCalev d0a2740d93 Merge pull request #44162 from Rockdtben/FRNumber
Printed Forensic Scanner Documents now have an ID.
2019-05-28 10:11:30 -04:00
Rockdtben 91eec09fad Fix Printed Papers bad icon state. (#44161) 2019-05-27 23:48:31 -04:00
Rockdtben b2b06d79d0 Printed Forensic Scanner Documents now have an ID. 2019-05-27 10:18:02 -05:00
81Denton d8393bed10 Add examine descs, air alarm construction descs (#39949)
A bunch of items were missing examine messages about their alt+click
functionality, I added them. Also, construction step descs for air alarms.
2018-09-05 23:06:23 -07:00
Trevor Serpas bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
vuonojenmustaturska c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
AnturK 4c5a43eeb8 Prefix for item flag slot defines. 2018-04-27 10:30:48 +02:00