Commit Graph

164 Commits

Author SHA1 Message Date
SkyratBot
2f552919c1 [MIRROR] Icons folder cleaning wave two [MDB IGNORE] (#22454)
* Icons folder cleaning wave two

* Merge conflict resolution

* Modular path hell

* hmm

* Update 2022-10.yml

* Another modular thing

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 00:41:18 -04:00
Zergspower
bb3d041572 [Manual Mirror Fix] Removes shitty "status" variable on organs, makes them use organ_flag (#22480)
* Removes shitty "status" variable on organs, makes them use organ_flags instead (#76350)

Title.

Seriously this shit pisses me off, why are ORGAN_SYNTHETIC and
ORGAN_ROBOTIC two different things?

not applicable unless i fucked up

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>

* Modulars

* Some merge skew

* More diffs

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 17:27:49 -04:00
Iajret
b0898052b6 Fixes combat wrench (#22451)
Update wrench.dm
2023-07-14 08:58:22 -04:00
SkyratBot
2f5c7f8389 [MIRROR] Icon folder cleaning wave one [MDB IGNORE] (#22374)
* Icon folder cleaning wave one

* Fixe a merge conflict

* Fixes some more merge conflicts

* Fixes some modular icon paths

* Fixes even more modular icon paths...

Hopefully that's the last of them

* Fixes some merge discrepencies

* More merge issues

* ok

* not ok

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-13 16:24:33 -04:00
SkyratBot
068089fb52 [MIRROR] Standardize Welder Fuel Usage [MDB IGNORE] (#21943)
* Standardize Welder Fuel Usage (#76021)

Remove welder fuel usage from all actions except attacking and leaving
it on
most welder tasks require a minimum of 1u of fuel, some longer tasks
require a minimum of 2 or 3u welders now drain 1u every 5 seconds
they're active
## About The Pull Request
Prior to this PR welder fuel usage was random, a lot of tasks didn't use
any welder fuel and welders were basically near infinite so long as you
didn't use them for combat, it took 26 seconds of activity to drain 1u
of fuel, that means an emergency welder alone could run for 5 minutes
straight before needing a refuel

After this PR all welders will drain 1u every 5 seconds instead of every
26 seconds, but welding objects won't require extra fuel anymore, making
the fuel usage much more consistent.

resolves #55018
## Why It's Good For The Game
Actually makes fuel tanks useful and relevant without making it
obnoxious to do repetitive quick tasks like turn rods into plates,
there's actually a reason to upgrade off the emergency welder now since
it lasts 50 seconds rather than 5 minutes
## Changelog
🆑
qol: Welders now have a more consistent fuel usage
/🆑

* Standardize Welder Fuel Usage

---------

Co-authored-by: Couls <coul422@gmail.com>
2023-06-20 09:39:49 -07:00
SkyratBot
4a451d4e24 [MIRROR] Removes some boilerplate from transforming component [MDB IGNORE] (#21885)
* Removes some boilerplate from transforming component

* conflicts

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-19 17:14:10 -04:00
SkyratBot
3f2ac436de [MIRROR] Spess army knife [MDB IGNORE] (#21520)
* Spess army knife

* Mirror!

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-06-01 16:25:23 -07:00
larentoun
33d73d6988 ref: Ammo HUD, more modularisation (#21406)
* ref: welding tool ammo hud

* ref: guns ammo_hud

* update readme

* fix: set welding ammo update
2023-05-31 11:43:42 -07:00
SkyratBot
8d4b3f589b [MIRROR] Refactors snipping cuffs into a bespoke cuffsnapping element [MDB IGNORE] (#21422)
* Refactors snipping cuffs into a bespoke cuffsnapping element (#75432)

Refactors snipping cuffs into a bespoke cuffsnapping element, adding
support for delayed cuffsnipping. Adds this element to box cutters!
Effectively speaking everything is the same as usual.

It's cool, it's based and elementized and modularized and not
hardcodeized on the jaws of life anymore. Plus it could be used in the
future for things (it won't)

* Refactors snipping cuffs into a bespoke cuffsnapping element

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-05-25 23:11:20 +01:00
Tom
abfae97187 Removes some unnecessary non-modular icon overrides (#21196)
* clean up modularisation

* remove leftover files

* fix icon
2023-05-18 15:28:50 +02:00
SkyratBot
077e2d4eee [MIRROR] Makes update_icon_updates_onmob more robust [MDB IGNORE] (#21076)
* Makes update_icon_updates_onmob more robust (#75324)

Safeguards against #74965 happening in the future.

Noticed a bunch of these were using ITEM_SLOT_HANDS. This is incorrect,
as the element already automatically updates held items. grep'd it to
catch future instances.

Likewise, a number of objects weren't passing slot_flags to the element,
meaning it wasn't actually updating those things properly when they were
being worn. I've simplified this so now the element will automatically
update all slot_flags, and passing an additional slot to the element
when being added is only needed for additional slots that might need to
be updated. This also means if slot_flags change, the element will now
update correctly as well.

🆑 ShizCalev
code: The update_icon_updates_onmob element will now automatically
update all slots in an item's slot_flags var. This does fix multiple
things that weren't updating properly. Passing a slot to the element is
now only necessary if you want to add additional slots to be updated.
/🆑

* Makes update_icon_updates_onmob more robust

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-05-10 22:57:55 -07:00
Shadow-Quill
01253c9a1c Ammo updates on fuel use now (#20947)
* Ammo updates on fuel use now

* Missed a few more bits
2023-05-06 17:50:33 +01:00
SkyratBot
c4d4e1da63 [MIRROR] Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. [MDB IGNORE] (#20916)
* Minerals have been refactored so costs and minerals in items are now in terms of mineral defines.

* AI GEN RUN ONE

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-03 22:48:10 +01:00
SkyratBot
9a594755f3 [MIRROR] Renames delta time to be a more obvious name [MDB IGNORE] (#20507)
* Renames delta time to be a more obvious name

* updates to our code

---------

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:45:43 +01:00
SkyratBot
763c0c5eb7 [MIRROR] Reworks trashbags slightly [MDB IGNORE] (#19864)
* Reworks trashbags slightly

* fex

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-15 18:38:27 -07:00
Gandalf
999e96cb2f [MIRROR] Improved engineering tools patch 2: Bolter Wrench (#72445) (#19875)
Improved engineering tools patch 2: Bolter Wrench (#72445)

This adds a new wrench that can be printed after Advanced Engineering is
researched or as a rare mail gift for engineers.

The Bolter Wrench is medium sized (fits on toolbelts and bags but not on
boxes) and can grab into the bolting system of airlocks, raising it's
bolts after a 5 second `do_after`, even if the airlock has no power or
the wires are cut, as long as you can access the inner wires. (Won't
work if the panel is closed or has it's wires reinforced.)

Codersprite blatantly inspired by Iconoclast's wrench and looks like
this:

![bolting](https://user-images.githubusercontent.com/55374212/210415159-dbac7990-46bb-4d42-9061-dd0278905937.png)

![Iconoclasts](https://user-images.githubusercontent.com/55374212/210415375-80070c25-91f9-40bb-aa62-889fc8f0b206.gif)

Right now, the only way to fix a powerless bolted down airlock is by
fixing the power first, this becomes an issue if the APC is behind the
airlock.
If that is the case, the only way in is to break through walls/windows
or destroy the airlock if you can, both add more things you need to
repair, making reconstruction times longer and longer...

Or you use an RCD to delete the airlock in 5 seconds, while faster than
the above method still is another thing to the repair list...

Repairing damaged and bolted down airlocks is such a hassle that
doormag'd airlocks bypass the default deconstruction system and just let
you deconstruct them directly without the steps of unbolting and
welding, something that could be removed with this tool but I won't
defend the pros and cons of it now.

Reconstruction is slow and cumbersome without an RCD. (And even with
one...)
I've been trying to make it smoother without using RCDs or a future RAT
on previous PRs and future ones to come, this tool is part of those
plans.
🆑 Guillaume Prata
add: Bolter Wrench as a new tool, it can raise the bolts of airlocks
regardless of it's power status to smoother station repairs. It can be
printed and is unlocked on the same tier as RCD. It can also rarely be a
mail gift for engineers.
/🆑

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2023-03-15 01:02:26 +00:00
SkyratBot
257d63f360 [MIRROR] Fixes some invisible inhands from the transforming component [MDB IGNORE] (#19721)
* Fixes some invisible inhands from the transforming component (#73807)

## About The Pull Request

The original issue caused by #70037
Esword issue caused by #73716

Originally the transforming component did not override the inhand icon
state of the the item on its own (instead putting the onus on the item
itself if they wanted unique behavior). It was changed to always update
inhand icon state, most of which don't have one

I don't really like this fix, it should be explicit "I want inhand to
change" and not default, but this will work for now

Also the PR that fixed the Jaws issue didn't actually set the var they
created

Fixes #73805
Fixes #73711 (Actually)

## Why It's Good For The Game

Invisible sword bad

## Changelog

🆑 Melbert
fix: Fixed a eswords, some tools, and some other misc. items from being
invisible while extended / active
fix: Teleshields and other misc items not extending in hand when active
fix: Switchblades click on extend again
fix: Pendrivers click on extend
/🆑

* Fixes some invisible inhands from the transforming component

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-08 11:33:50 +00:00
SkyratBot
ece5f9c320 [MIRROR] Fixes wrong inhand icon state for jaws of life [MDB IGNORE] (#19650)
* Fixes wrong inhand icon state for jaws of life (#73716)

## About The Pull Request
Fixes #73711
## Why It's Good For The Game
## Changelog
🆑
fix: fixed missing inhand icon state for jaws of life
/🆑

* Fixes wrong inhand icon state for jaws of life

---------

Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
2023-03-04 13:01:04 +00:00
SkyratBot
a2cb8c5c0c [MIRROR] Completely removes do_mob and do_after_mob [MDB IGNORE] (#19126)
* Completely removes do_mob and do_after_mob

* update modular

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-19 19:19:50 +00:00
Zonespace
8fabd54ad6 Mirrors #72354 (#18654)
* [no gbp] removes all duplicate armor datums (#72354)

closes #72348
Title

My bad

Heres the script I used this time if you want to
```cs
var baseDir = Environment.CurrentDirectory;

var allFiles = Directory.EnumerateFiles($@"{baseDir}\code", "*.dm", SearchOption.AllDirectories).ToList();
var known = new Dictionary<string, List<KeyValuePair<string, int>>>();

foreach (var file in allFiles)
{
	var fileLines = File.ReadAllLines(file);
	for (var i = 0; i < fileLines.Length; i++)
	{
		var line = fileLines[i];
		if (line.StartsWith("/datum/armor/"))
		{
			var armorName = line.Replace("/datum/armor/", "").Trim();
			if (!known.ContainsKey(armorName))
				known[armorName] = new List<KeyValuePair<string, int>>();
			var knownList = known[armorName];
			knownList.Add(new KeyValuePair<string, int>(file, i));
		}
	}
}

Console.WriteLine($"There are {known.Sum(d => d.Value.Count)} duplicate armor datums.");

var duplicates = new Dictionary<string, List<int>>();
foreach (var (_, entries) in known)
{
	var actuals = entries.Skip(1).ToList();
	foreach (var actual in actuals)
	{
		if (!duplicates.ContainsKey(actual.Key))
			duplicates[actual.Key] = new List<int>();
		duplicates[actual.Key].Add(actual.Value);
	}
}

Console.WriteLine($"There are {duplicates.Count} files to update.");

foreach (var (file, idxes) in duplicates)
{
	var fileContents = File.ReadAllLines(file).ToList();
	foreach (var idx in idxes.OrderByDescending(i => i))
	{
		string line;
		do
		{
			line = fileContents[idx];
			fileContents.RemoveAt(idx);
		}
		while (!String.IsNullOrWhiteSpace(line));
	}
	File.WriteAllLines(file, fileContents);
}
```

* modular

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-01-13 18:05:12 -05:00
SkyratBot
011fefdd81 [MIRROR] Refactors armor into dedicated subtypes [MDB IGNORE] (#18291)
* Refactors armor into dedicated subtypes

* start

* most tg things

* pain (#18584)

* shit

* non-mod changes

* compile

Co-authored-by: John Doe <gamingskeleton3@gmail.com>

* #18291

* compile fix

* ???

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 20:06:16 -08:00
SkyratBot
650d64f6d4 [MIRROR] afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item [MDB IGNORE] (#18519)
* afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item

* Update _neck.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 06:55:38 +00:00
SkyratBot
54c454a66c [MIRROR] lathes now print empty welders and extinguishers [MDB IGNORE] (#18137)
* lathes now print empty welders and extinguishers

* Update weldingtool.dm

* Update weldingtool.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-12-14 22:42:05 -08:00
SkyratBot
911bbb3f06 [MIRROR] [MDB IGNORE] Grayscale sofas [MDB IGNORE] (#17851)
* [MDB IGNORE] Grayscale sofas (#71539)

## About The Pull Request
Ports some sofa sprites from over at
https://github.com/BeeStation/BeeStation-Hornet/pull/7547 and makes them
grayscale. Also random tool colours now use defines.

![image](https://user-images.githubusercontent.com/66640614/204077835-94b713a9-a7e5-42fc-8c65-5724ca11cc4a.png)

![image](https://user-images.githubusercontent.com/66640614/204077844-87b33cda-d829-4ebb-a81f-a5e05453999d.png)

## Why It's Good For The Game
Gives us the opportunity to make different coloured couches more easily.
## Changelog

🆑 Tattle, PestoVerde322
imageadd: couches are now grayscale
code: random tool colours now use defines
/🆑

Co-authored-by: tattle <article.disaster@ gmail.com>

* [MDB IGNORE] Grayscale sofas

* runs the update paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-12-03 00:25:05 -05:00
SkyratBot
49d1a6d1a9 [MIRROR] Adds falling hazard element, beware of falling tools, wear your hardhat, comically timed piano falling on the clown [MDB IGNORE] (#17539)
* Adds falling hazard element, beware of falling tools, wear your hardhat, comically timed piano falling on the clown (#70970)

## About The Pull Request

https://user-images.githubusercontent.com/82386923/199180691-6605c8cc-e8aa-490e-ab65-909d45d12ca0.mp4

Do note that the damage in this video is extremely exaggerated compared
to what the normal value is.
## Why It's Good For The Game

All these signs about engineers needing to wear their hardhat, and for
what? For the assistant dropping toolboxes onto them from above, that's
what! Also allows people to do as god intended by allowing them to drop
pianos on people.
## Changelog
🆑
add: A variety of items, mainly tools, around the station might hurt if
they fall on your head, remember to wear your hardhat and to avoid
standing under large red X marks on the ground with a piano hanging
above them.
/🆑

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Adds falling hazard element, beware of falling tools, wear your hardhat, comically timed piano falling on the clown

* Made anvil and large mortar falling hazards

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-11-18 14:10:59 -05:00
SkyratBot
1ba95626a6 [MIRROR] mech bustin update 2022 [MDB IGNORE] (#17504)
* mech bustin update 2022 (#70891)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
Adds a huge ass crowbar to robotics (the mech removal tool), it deals 5
damage unwielded, or 19 wielded. (should be fine, considering robotics
also has the easiest access to the materials needed for a chainsaw)
You can use it while wielded on mechs to break the occupants out. This
takes 5 seconds (or 3 in an unenclosed mech like a ripley)
When you die in a mech you no longer automatically get ejected.
refactors fire axe cabinets to support more items than the fireaxe
makes some vehicle code better
closes #70845 (you can still enter a mech without limbs, i think thats
fine because you can use it to protect yourself from death in a
dangerous situation or something until someone breaks you out with the
really large crowbar)
video: https://streamable.com/x4gom2

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
robotics having a giant ass crowbar to break people out of mechs seems
like a fun idea
you currently cant exit a mech if youre incapacitated inside it unless
you DIE

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑 Fikou, sprites by Halcyon
refactor: fire axe cabinets support items that aren't fire axes
balance: mechs no longer eject you when you die in them
add: Adds a giant crowbar to robotics, it can break open mechs to eject
their pilots.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

* mech bustin update 2022

* vr for the love of god

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-11-16 14:41:58 -08:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot
60356ebbfd [MIRROR] Fixes Type Mismatch Causing Infinite Irrevocable Welding [MDB IGNORE] (#17036)
* Fixes Type Mismatch Causing Infinite Irrevocable Welding (#70670)

* Fixes Type Mismatch Causing Infinite Irrevocable Welding

(and plasma cutters too, because that seemed to be broken as well).

Hey there,

Behavior introduced in #70235 caused this shit to break, causing infinite welding that you could never undo, with an overlay that could never be removed. This was due to a type_mismatch runtime that plagued servers for a bit, I just stole the pattern from Lemon and used LAZYADD/LAZYREMOVE and that seemed to have fixed the issue.

* fixes plasmacutter since it had the same broken pattern

* Fixes Type Mismatch Causing Infinite Irrevocable Welding

Co-authored-by: san7890 <the@san7890.com>
2022-10-20 02:23:36 -04:00
SkyratBot
612568daa0 [MIRROR] Swaps sleep() to use SECONDS define [MDB IGNORE] (#16973)
* Swaps sleep() to use SECONDS define

* merge conflicts and skyrat modules

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:24 -04:00
SkyratBot
59dc5c36b7 [MIRROR] Cleans up the fallout from plane cube [MDB IGNORE] (#17003)
* Cleans up the fallout from plane cube (#70235)

* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate

* Cleans up the fallout from plane cube

* liquid tweaks

* oop

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:05 -04:00
SkyratBot
2847b2b37e [MIRROR] [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons [MDB IGNORE] (#16649)
* [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons

* cf

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 22:36:07 +01:00
SkyratBot
70b4a01a17 [MIRROR] Cleans up update_icons, makes the update_icon_updates_onmob element bespoke, updates CODEOWNERS [MDB IGNORE] (#15673)
* Cleans up update_icons, makes the update_icon_updates_onmob element bespoke, updates CODEOWNERS

* Update CODEOWNERS

* Cleans up update_icons, makes the update_icon_updates_onmob element bespoke

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-08-18 17:20:48 +01:00
SkyratBot
ae708cd7b5 [MIRROR] Removes ComponentInitialize() [MDB IGNORE] (#15552)
* Removes ComponentInitialize()

* Fixes a leftover merge conflict marker

* Fixes the oversight that came from the upstream merge skew

* Fixes all of the instances where we used ComponentInitialize() when we shouldn't've been

* Fixes CI being broken because of the HEV suits

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-12 19:05:09 -04:00
SkyratBot
24c9fc0296 [MIRROR] Fixes 118(give or take) cases of mapload not being passed to initilaize [MDB IGNORE] (#15546)
* Fixes 118(give or take) cases of mapload not being passed to initilaize (#69107)

fixes 114 cases of mapload not being passed to initilaize

* Fixes 118(give or take) cases of mapload not being passed to initilaize

* Fixes a lot (give or take) cases of mapload not being passed to initilaize

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-08-11 08:31:27 -07:00
SkyratBot
3f76c3f5b8 [MIRROR] [GBP No Update] Perish, individual logging runtime [MDB IGNORE] (#15525)
* [GBP No Update] Perish, individual logging runtime (#69024)

missed 2 or 3(lol it was more when I look back at the files), LOG_GAME tags on the log_message line, and did some cleaning up since i was looking through every log_message again

Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>

Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>

* [GBP No Update] Perish, individual logging runtime

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
2022-08-11 08:12:08 -04:00
SkyratBot
6016cf97b4 [MIRROR] individual LOG_GAME [MDB IGNORE] (#15401)
* individual LOG_GAME

* e

* Update teleporter.dm

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-08 01:11:55 +01:00
SkyratBot
10ba2c0990 [MIRROR] Nukie Rework Part 2: Nuclear Operative starting gear rework [MDB IGNORE] (#14936)
* Nukie Rework Part 2: Nuclear Operative starting gear rework

* Apply suggestions from code review

* Update _box_magazine.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-19 00:43:21 +00:00
SkyratBot
f44ab4155e [MIRROR] Ports Tau Ceti's welding animation! [MDB IGNORE] (#14311)
* Ports Tau Ceti's welding animation! (#67725)

add: welding now has an animation!

* Ports Tau Ceti's welding animation!

* wew

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-19 22:32:21 +01:00
SkyratBot
c6bc0b7fb2 [MIRROR] Balloonify welders and extinguishers (and more later) [MDB IGNORE] (#14395)
* Balloonify welders and extinguishers (and more later) (#67818)

* Balloonify welders and extinguishers (and more later)

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-06-19 02:27:54 +01:00
Useroth
81b8f962b7 Mirror 66967 & 67411 (#14279)
* Implements a Demolition Modifier variable to items, affects damage vs structures and robots. (#66967)

Adds a modifier variable which can be used to increase or decrease a given items damage to structures, machinery, vehicles, and robots (including cyborgs, simple-bots, and anything else with the MOB_ROBOTIC biotype)

* Fixes attacks on mech equipment ignoring armor / melee damage, also fixes mech equipment not being disabled at 0% health, also also unit tests mech armor (#67411)

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-06-12 21:03:17 +01:00
SkyratBot
f7d104eda2 [MIRROR] adds crowbars to fire-safety closets without gutting red toolboxes [MDB IGNORE] (#14129)
* adds crowbars to fire-safety closets without gutting red toolboxes

* Update utility_closets.dm

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-06 15:33:51 +01:00
SkyratBot
c0f6eff272 [MIRROR] Advanced tools are medium sized, toolboxes can carry medium sized items. [MDB IGNORE] (#13593)
* Advanced tools are medium sized, toolboxes can carry medium sized items. (#66900)

* Advanced tools are medium sized now.

* Moves `w_class` 1 line down

* Moves `w_class` MORE DOWN

* Syndie Jaw pocket edition.

* Toolboxes can carry medium items, pocket syndie jaw in desc.

* Advanced tools are medium sized, toolboxes can carry medium sized items.

* fix APT

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-05-13 16:10:06 -07:00
SkyratBot
0228180861 [MIRROR] Removes "strandling" status effect from a bunch of random places / refactors it [MDB IGNORE] (#13480)
* Removes "strandling" status effect from a bunch of random places / refactors it

* Update carbon_defense.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-11 00:35:40 +01:00
Useroth
cca7f8ee4c Some missed mirrors (#13415)
* Refactors firestacks into status effects (#66573)

This PR refactors firestacks into two status effects: fire_stacks, which behave like normal firestacks you have right now, and wet_stacks, which are your negative fire stacks right now. This allows for custom fires with custom behaviors and icons to be made.

Some fire related is moved away from species(what the fuck was it even doing there) into these as well.
Oh and I fixed the bug where monkeys on fire had a human fire overlay, why wasn't this fixed already, it's like ancient.

Also changed some related proc names to be snake_case like everything should be.

This allows for custom fire types with custom behaviours, like freezing freon fire or radioactive tritium fire. Removing vars from living and moving them to status effects for modularity is also good.
Nothing to argue about since there's nothing player-facing

* Hud Image Culling By Z Level: Theft edition (#65189)

* makes hud images only apply by z level

* makes some of the atom_hud procs have better names

* fixes warning with the hud_user list and adds better documentation

* better docs for hud_images

* removes TODOs

* docs for hud_list

* adds support for linked z levels so mobs can see lower ones

* fixes merge conflict and shittily makes only shocked airlocks get added

* adds support for setting images in the hud as active and inactive

* gets rid of unatomic spatial grid change

* maybe i should actually try COMPILING my changes

* fixes merge skew and makes it compile again

* fixes huds refusing to remove from users who changed z level

* improves z level and registration logic

* fixes antag huds not appearing

* Fixes antag huds not properly setting. We now use hud_list in init, so it needs to be set before the new call, not after. Not sure why the use of appearance key was split like this, but none else knows either so none can stop me

* Ensures that hiding a basic appearance also hides the atom's active list too

* Fixes antag huds going poof

Ensures that remove_atom_from_hud will return false if the passed atom
isn't managed by it

This fixes antag huds disappearing randomly, since they assumed that if
the parent call of remove_atom_from_hud returned true, we should delete
ourselves. This is a safe assumption for them to make, since they should
only ever have one atom.

Does kinda bork if we call remove_atom_from_hud in a way that is unsure
if the passed atom is actually in that list. We were forced into doing
this by how atom huds use the qdeleting signal.

* makes basic alternate_appearance's only update themselves when setting their hud image to active and makes them not add themselves to the global huds_by_category list

* fixes mistake with hud_users list being set non associatively (bad)

* as anything in bot path loops

* Fixes merge skew problems

* Makes bot paths non global

This way they can show themselves to only the bot that "owns" them, ya
feel me?

* Fixes huds not showing up sometimes, cleans up some code

Post Kapu's limb refactor, we were calling prepare_huds twice in a human
init call chain. What was happening was this:

call prepare_huds() // Human
I gained a new hud image
I set active hud icons to mirror it
call prepare_huds() // Living
I overwrote the new hud image
I attempted to set active hud icons, which failed because it assumes
this can never happen

*cries*

* Renames add_hud_to_atom to show_to

My hope is this will make understanding hud code a bit easier, by tying
the behavior to a "verb" more closely. Also renamed a few vars

* remove_hud_from_mob -> hide_from

* Nitpicks a few comments

* Whoops/fuck/shit/damn it all/hhhhhhhhhhhh

* Moves check down, improves stack trace a bit

Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>

* small touch-up

* this should do it

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
2022-05-08 03:59:40 +01:00
SkyratBot
42e8bb06cb [MIRROR] adds (and improves existing) documentation for weldingtool.dm [MDB IGNORE] (#13160)
* adds (and improves existing) documentation for weldingtool.dm (#66500)

* add welding tool docs

* fuck

* SHIT

* kylerace is making me do work for my gbp

* fuck

* adds (and improves existing) documentation for weldingtool.dm

Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
2022-04-27 00:06:07 -07:00
SkyratBot
3916ea03de [MIRROR] Kapulimbs [MDB IGNORE] (#12497)
* Kapulimbs

* conflicts

* part one of fixes

* more fex

* ugh

* more fix

* eee

* e

* more fix

* Well it compiles, but we need to get digi legs working

* more fixes

* https://github.com/tgstation/tgstation/pull/65887

* https://github.com/tgstation/tgstation/pull/65904

* https://github.com/tgstation/tgstation/pull/65923

* more fix

* now uses dna specific icon overrides.

* species code no longer dictates what icon the limbs use

* digitigrade legs implemenation

* more fixes, species indexing, species bodyparts

* remaining mutant bois

* 0

* okay this work!

* IPC stuffs

* inv file uses

* optimisation and limb string rendering digitigrade stuff

* wew

* partial vox support

* bodymarkings are now stored on the bodypart

* limb key caching

* Update carbon_update_icons.dm

* Update carbon_update_icons.dm

* Moves our mutant variance to the new system and makes shoes squash.

* all legs do it

* https://github.com/tgstation/tgstation/pull/65918

* https://github.com/tgstation/tgstation/pull/65899

* https://github.com/tgstation/tgstation/pull/65990

* teshari bodytype

* them teshari's aren't humans

* bandaid for future proper teshari implementation

* Update vox_bodyparts.dm

* fixes chests and teshari implementation

* fixes

* fex

* Update mutant_zombie_bodyparts.dm

* oops

* Update synthetic_lizard_bodyparts.dm

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update scissors.dm

* wound stuff

* Update carbon_examine.dm

* more stuff

* Delete human_update_icons.dm

* begone thot

* https://github.com/tgstation/tgstation/pull/66065

* Update _external_organs.dm

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-04-11 02:40:05 +01:00
SkyratBot
9334b84c47 [MIRROR] Fix welders wasting fuel when clicking on tiles [MDB IGNORE] (#12386)
* Fix welders using fuel when clicking on tiles (#65762)

Fixes #49664

Welders now conserve fuel when you accidentally click on tiles.

* Fix welders wasting fuel when clicking on tiles

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-03-30 15:00:01 +01:00
SkyratBot
4c0719fcb4 [MIRROR] Belt sprites for the syndie screwdriver and alien tools [MDB IGNORE] (#12078)
* Belt sprites for the syndie screwdriver and alien tools (#65400)

* update

* makes the alien toolbelt use the sprites

* Revert "makes the alien toolbelt use the sprites"

This reverts commit caea9f52741e4f1553f3b3812336b3a4a235b6aa.

* Revert "Revert "makes the alien toolbelt use the sprites""

This reverts commit c60276e7aac93169a036bfe0bc42fb9c736d1d99.

* please check gods

* check pass?

* forgot that

* tabs

* Belt sprites for the syndie screwdriver and alien tools

Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
2022-03-14 13:01:31 +00:00
SkyratBot
17e4f6ad76 [MIRROR] Converts SFX keys into DEFINES [MDB IGNORE] (#11990)
* Converts SFX keys into DEFINES

* fixes and updates

Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-03-11 16:43:39 -07:00