34 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
e11404d103 Bugfixes (#8967)
* bugfix 1: autolathes can actually be deconstructed and don't cause runtimes (and also don't eat your crowbars)

* bugfix 2 (forensic techs actually get detective ids/pdas)

* bugfix 3 (accessories no longer do a weird double period)

* bugfix 4 (right foot)

* bugfix 5 (singular/plural stacks)

* bugfix 6 (ghosts can hang up on communicators -- still causes runtimes but it did this before and the runtimes are from the observer bug and not the communicator bug so it's fine)

* i lost count but this one gives the hos an egun because the cynosure hos locker doesn't have a gun at all and i'm not fucking around with balancing the fancy custom guns

* fixes infinite cell duplication exploit with autolathes (flashlights/coolers come empty from lathe now)

* changelog

* 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>

* commits changes + fixes retro carpet (red) inventory sprites

* return..()'d

---------

Co-authored-by: Atermonera <atermonera@gmail.com>
2023-03-08 18:18:18 -08:00
spookerton cd25cb4b3a correct mixed case QDEL_NULL/qdel_null + behavior 2022-11-03 12:38:03 +00: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
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
AtermoneraandGitHub 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
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
Aronai SieyesandGitHub 30613fff5c Optimize what starts in SSobj (#7155)
* Make intercom power change stateful

* Clean up air tank processing and initialize

* Optimize flashlight processing

* Optimize suit cooler processing

* Optimize geiger counter processing

* Optimize lighting processing

* Only process rigs on a person

* One more rig cleanup
2020-05-21 11:28:27 -07:00
Aronai SieyesandGitHub 6c6644f86c Rewrite examine() to pass a list around (#7038) 2020-04-29 13:42:16 -07:00
Anewbe aade8c356f Items are now assumed to be conductive, rather than the opposite 2019-03-02 20:34:49 -06:00
atermonera cbe257da75 Suit coolers don't overheat in vacuum 2019-01-17 22:21:20 -08:00
kevinz000 2c0898f870 Regex 2018-10-14 20:03:17 -07:00
Anewbe 729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
AnewbeandAtermonera 077b73a446 Suit coolers don't magically shut off in mild fires (#4820) 2018-02-17 11:19:21 -08:00
Neerti 99eb6f9404 Updates Tools
Adds toolspeed var, which is a multiplier on how 'fast' the tool works.  0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode.  They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/.  CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/.  Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
2017-08-03 04:49:23 -04: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
Anewbe 6423aa6330 Should remove flickering heat warning for FBPs and suit coolers 2016-08-01 22:06:26 -05:00
Anewbe 3795e5c52a Suit coolers now work while worn on the back 2016-07-31 00:15:42 -05:00
Arokha Sieyes 22e2352925 Makes suit coolers work right in mecha
2 year old typo

Fixes #1924
2016-06-11 23:30:41 -04:00
Nerezza 4618c49793 Upgrades default suit cooler cell
Considering suit coolers are dedicated EVA equipment instead of emergency equipment, it's strange that they come equipped with a cell that lasts a handful of minutes in operation instead of a duration more comparable to an oxygen tank's.

This upgrades their default cell so that FBPs can grab, combine, and go just like other crewmembers.
2016-04-21 18:25:44 -05:00
Zuhayr f93ea6a78f Tweaks to previous commits.
More tweaks to IPC fixes.
Merge resolution/compile fixes.

Further work on properly integrating, updating and fixing prosthetic options.

Repathed internal organs to organ/internal.

More work on full synthetics, changelings, overheating.

Working on getting organs to qdel properly and spawn properly when robotized.

Finalized some overheating values, added remaining prosthetic icons.

Finalizing the testing version of the full prosthetic bodies branch.

Added suit cyclers to the autolathe and map.

Fixing runtime errors.

Fixing errors.

Changelog.

Replacing limb and organ strings with constants.

Prevented brainless species from becoming full cyborgs.

Fixed issues with brain/MMIs renaming themselves inappropriately.

Various fixes and oversights.
2015-12-24 21:13:40 +10:30
PsiOmega d0232732d4 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/machinery/floodlight.dm
	code/game/objects/items/devices/suit_cooling.dm
	code/modules/organs/subtypes/diona.dm
	code/modules/paperwork/pen.dm
	code/modules/reagents/reagent_containers/hypospray.dm
	html/changelogs/.all_changelog.yml
2015-05-30 16:11:57 +02:00
Atlantis 30e4550e2e Refactor floodlights
- Fixes #9543
- Removes ugly floodlight/proc/updateicon() and replaces it with proper floodlight/update_icon() which is standard on all objects/items. Does the same refactor for power cells and adjusts the proc call in relevant files (hence the amount of 1-line changes in various files)
- Makes floodlights properly use CELLRATE. Their load is 200 watts. Cell adjusted accordingly, it starts with 1k cell, which is enough for ~40 minutes (roughly)
- Floodlights with almost discharged cell (less than 10%) ocassionally "flicker", dimming for few seconds. This serves as indicator that the power cell is running low.
- Floodlight luminosity adjusted. They now shine slightly more, espicially closer to the floodlight.
2015-05-28 21:45:54 +02:00
Kelenius db30c15e4c Updates to science
Protolathe and CI build procs moved to them from RD console.
Protolathe and CI now have a build queue. Designs take varying time to
build.
P and CI material storage is now a list instead of a set of vars.
origin_tech is now a list.
All sheets now contain exactly 2000 units of matter.
In design datum, chemicals and materials are two separate lists.
Designs are now sorted. The method is kinda hacky but flexible. They
have a var, sort_string. Designs are sorted alphabetically using it.
Circuits how show whether they build a machine or a computer in CI menu.
Adds item construction, for now protolathe is used.
2015-04-04 13:38:03 +03:00
Kelenius 10de826ca3 Removes FPRINT and TABLEPASS flags 2015-01-23 22:27:32 +03:00
Amunak 4882074739 Code formatting, EOL at EOF fixes, refactoring 2014-12-18 03:11:49 +01:00
PsiOmega bc438e21ad All the relevant examine changes. 2014-11-05 12:44:23 +01:00
Walter0o e8592d4f41 fixes #6005 and broken ancient human low/high pressure code.
-fixes low/high pressure not damaging unsealed/damaged spacesuits.
-refactors procs and adds more comments.
-removes unused/dead code.
2014-08-17 18:06:30 +02:00
mwerezak 8af5a234a0 Improves suit cooler
Adds a few vars items should have, e.g. throwforce, flags, etc. Also
origin_tech.
2014-06-29 19:10:00 -04:00
mwerezak 6b3c130702 Removes dynamic proc call 2014-06-23 10:55:03 -04:00
mwerezak 67d5d56a12 Gives the suit coolers a proper process() proc 2014-06-23 02:31:36 -04:00
mwerezak 5bd975850a Less terrible sprite for suit cooling device
Also adds a few of them to EVA storage.
2014-06-21 20:41:29 -04:00
mwerezak b9fa433087 Adds suit cooling device
Also:

Breathing in hot/cold air will affect your body temperature.
Fixes old body temperature stabilization code not working.
Thermometer icon now adjusts based on species.
Reduced BODYTEMP_AUTORECOVERY_MINIMUM to a less ridiculous value.
2014-06-21 16:53:18 -04:00