Commit Graph

554 Commits

Author SHA1 Message Date
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
36bc850a11 [MIRROR] fixes silly stuff about basic mobs [MDB IGNORE] (#18368)
* fixes silly stuff about basic mobs

* merge conflicts, also apply upstream 72120

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 06:00:48 -05:00
SkyratBot
ae713bf18a [MIRROR] Crafting/Cooking menu update [MDB IGNORE] (#18334)
* Crafting/Cooking menu update

* Yeeted away all of the merge conflicts, time to fix the code

* Okay, now it compiles, and after testing, it seems to work just fine

* Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu

* Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-08 15:02:18 -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
bccf824a6c [MIRROR] Turned most syndicate mobs (+ viscerators) into basicmobs [MDB IGNORE] (#18270)
* Turned most syndicate mobs (+ viscerators) into basicmobs (#71871)

## About The Pull Request
Turns the syndicate simpleanimals into basicmobs: (+ stormtrooper, +
space variants) Base Mob, Knife syndies, pistol syndies, SMG
syndies,shotgun syndies, viscerators
also changes some instances of the simple_animal path into the basicmob
ones
Removes civillian syndicates which were useless and also completely
unused
Also removes mech pilots:
![2022-12-09
20_02_18-Window](https://user-images.githubusercontent.com/70376633/206777829-2e49e445-3532-4e8e-8e7c-8d9b0a3a14d0.png)

Also,
makes the basic targetting datums health check configurable
basic attack behavior can now fire in bursts

https://user-images.githubusercontent.com/70376633/206766607-cf2e3659-0c5e-4117-9af7-e573e35bdf80.mp4

https://user-images.githubusercontent.com/70376633/206766630-15b4469f-68be-44c7-9394-1f2b6fe07811.mp4

https://user-images.githubusercontent.com/70376633/206766613-69b42457-a03b-449d-a1b8-a5aa556c76e5.mp4

https://user-images.githubusercontent.com/70376633/206766619-5560a178-8d2f-4b22-adf1-22ace6f63a51.mp4

https://user-images.githubusercontent.com/70376633/206766627-e671d064-fd9e-4204-b823-aa2e07f7fc26.mp4

https://user-images.githubusercontent.com/70376633/206766633-108c1574-3554-4bc1-a9ac-8faed0ec4062.mp4
## Why It's Good For The Game

simpleanimal stinks basic mob good
syndicate AI was really bad to begin with so here we are

## Changelog
🆑
code: Turned most syndicate mobs into basicmobs, making their AI better
and (possibly) more deadlier!
del: Removed syndicate mech pilots and syndicate civvies
/🆑

Co-authored-by: kawoppi <94711066+kawoppi@ users.noreply.github.com>

* Turned most syndicate mobs (+ viscerators) into basicmobs

* map

* code

* Update syndibase.dmm

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: kawoppi <94711066+kawoppi@ users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2023-01-07 02:48:07 -05:00
SkyratBot
5c6c91144c [MIRROR] Changes the missing food icon test to cover ALL /obj's [MDB IGNORE] (#18139)
* Changes the missing food icon test to cover ALL /obj's

* Update implant.dm

* Hopefully fixes all the failing integration tests!

* Fixes more missing icons

* Even more icon fixes

* Hopefully that was all of them

* Okay now SURELY that's all of them

* I'm tired of this shit man

* Hopefully that's all, for real this time!

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-12-28 19:30:05 -05:00
SkyratBot
15faaa54f5 [MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons.

* conflicts

* Modular!

* update modular

* icon icon icon icon icon

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-16 16:01:41 +00:00
SkyratBot
6f2ea4f81c [MIRROR] Investigate logs include ckey of source (if applicable) [MDB IGNORE] (#18066)
* Investigate logs include ckey of source (if applicable)

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

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

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-15 10:38:47 -05:00
SkyratBot
81ca11b95a [MIRROR] Basic Mob Carp: Retaliate Element [MDB IGNORE] (#18030)
* Basic Mob Carp: Retaliate Element (#71593)

## About The Pull Request

Adds an Element and AI behaviour intended to replicate the "retaliate"
behaviour which made up an entire widely-populated subtype of simple
mobs.
The behaviour is pretty simply "If you fuck with me I fuck with you".
Mobs with the component will "remember" being attacked and will try to
attack people who attacked them, until they lose sight of those people.
They don't have very long memories so breaking line of sight is enough
to remove you from their grudge list.
The implementation unfortunately requires registering to 600 different
"I have been attacked by X" signals but c'est la vie.

It will still be cleaner than
`/mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus`
and `mob/living/simple_animal/hostile/retaliate/bat/sgt_araneus`.

I attached it to the pig for testing and left it there because out of
all the farm animals we have right now, a pig would probably get pissed
off if you tried to kill it. Unfortunately it's got a sausage's chance
in hell of ever killing anyone.

## Why It's Good For The Game

It doesn't have much purpose yet but as we make more basic mobs this is
going to see a **lot** of use.

## Changelog

🆑
add: Basic mobs have the capability of being upset that you kicked and
punched them.
add: Pigs destined for slaughter will now ineffectually attempt to
resist their fate, at least until they lose sight of you.
balance: Bar bots are better at noticing that you're trying to kill
them.
/🆑

* Basic Mob Carp: Retaliate Element

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-12 18:02:47 -05:00
SkyratBot
7a62b0427b [MIRROR] Fixes Duplicate Integrity Message for Mechas [MDB IGNORE] (#18075)
* Fixes Duplicate Integrity Message for Mechas (#71884)

This PR is just made to fix duplication of examination texts when you
looked on a mecha, for example if something met a certain threshold, it
would say "It's heavily damaged" twice when you examined it.

This PR just makes a new proc called on examine that's overridden by
subtypes. I did it this way because mechas seemed to have their own
logic/tiering system to determine how busted it was, and I didn't want
to toy with the balance of the calculations should that matter.

* Fixes Duplicate Integrity Message for Mechas

Co-authored-by: san7890 <the@san7890.com>
2022-12-11 18:54:12 +00:00
SkyratBot
7835d891e4 [MIRROR] Flatten mech/combat and mech/medical [MDB IGNORE] (#17946)
* Flatten mech/combat and mech/medical (#71494)

## About The Pull Request

The only thing mech combat has is the reload helper that should be on
mech proper anyway and the medical subtype isnt even defined outside of
ody code

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Flatten mech/combat and mech/medical

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-12-08 07:52:21 -08:00
SkyratBot
f12c3ff6c3 [MIRROR] Fixes being able to get to centcomm and move through floors when in mechs/boxes [MDB IGNORE] (#17738)
* Fixes being able to get to centcomm and move through floors when in mechs/boxes (#71486)

## About The Pull Request
Fixes #71484 - Adds a check to the down verb to make sure a z level
exists below before trying to move.
Changes some step() in relay_move procs to use zMove instead if they
have a direction of up/down, as this was causing you to be able to phase
through floors if you were in a cardboard box/mech/etc
## Why It's Good For The Game

![dreamseeker_LuXqZUhvNg](https://user-images.githubusercontent.com/22856555/203672877-6b7da56c-494a-49dc-a8c8-13b15c2133eb.gif)
## Changelog
🆑
fix: Fixed being able to move through floors and get to centcomm when
moving up/down while inside mechs and similar movable objects.
/🆑

* Fixes being able to get to centcomm and move through floors when in mechs/boxes

* update modular

Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-07 15:44:43 +00:00
SkyratBot
18eed03715 [MIRROR] Janitor can use wagon key to stab people [MDB IGNORE] (#17935)
* Janitor can use wagon key to stab people (#71696)

## About The Pull Request
The key can now be used to attack people by stabbing or throwing. I
always thought it was weird how most other roles have starter weapons.
Well the key's not a good weapon it's very weak but hey at least it's
something.

## Why It's Good For The Game
Little details and fluff is always nice, being able to stab people with
keys is pretty realistic, it's even used in self defense booklets! In
general it is a real thing and weird that we couldn't do it in the first
place. Being able to key people adds more realistic interaction that is
not overpowered.

## Changelog

🆑
add:  Key can now hurt people by stabbing or throwing.
code: changed the keys code to make it able to hurt ppl
/🆑

* Janitor can use wagon key to stab people

Co-authored-by: celulamp <98195197+celulamp@users.noreply.github.com>
2022-12-07 01:04:10 +00:00
SkyratBot
fcdf5d850c [MIRROR] Psykers [MDB IGNORE] (#17825)
* Psykers (#71566)

## About The Pull Request
Finishes #66471
At burden level nine (or through a deadly genetic breakdown), you now
turn into a psyker.
This splits your skull in half and transforms it into a weird fleshy
mass. You become blind, but your skull is perfectly suited for sending
out psychic waves. You get potent psy abilities.
First one is brainwave echolocation, inspired by Gehennites (but not as
laggy).
Secondly, you get the ability of Psychic Walls, which act similarly to
wizard ones, but last shorter, and cause projectiles to ricochet off
them.
Thirdly, you get a projectile boost ability, this temporarily lets you
fire guns twice as fast and gives them homing to the target you clicked.
Lastly, you get the ability of psychic projection. This terrifies the
victim, fucking their screen up and causing them to rapidfire any gun
they have in their general direction (they'll probably miss you)
With most of the abilities being based around guns, a burden level nine
chaplain now gets a new rite, Transmogrify. This lets them turn their
null rod into a 5-shot 18 damage .77 revolver. The revolver possesses a
weaker version of antimagic (protects against mind and unholy spells,
but not wizard/cult ones). It is reloaded by a prayer action (can also
only be performed by a max burdened person).
General Video: https://streamable.com/w3kkrk
Psychic Projection Video: https://streamable.com/4ibu7o

![image](https://user-images.githubusercontent.com/23585223/204150279-a6cf8e2f-c678-476e-b72c-6088cd8b684b.png)

## Why It's Good For The Game
Rewards the burdened chaplain with some pretty cool stuff for going
through hell like losing half his limbs, cause the current psychics dont
cut it as much as probably necessary, adds echolocation which can be
used for neat stuff in the future (bat organs for DNA infuser for
example).

## Changelog
🆑 Fikou, sprites from Halcyon, some old code from Basilman and
Armhulen.
refactor: Honorbound and Burdened mutations are brain traumas now.
add: Psykers. Become a psyker through the path of the burdened, or a
genetic breakdown.
add: Echolocation Component.
/🆑

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

* Psykers

* commented out stuff is now in

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: tralezab <spamqetuo2@ gmail.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-12-03 19:45:18 -08:00
SkyratBot
3a713d0157 [MIRROR] Mech camera [MDB IGNORE] (#17832)
* Mech camera

* conflicts

* extra hud icons

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-03 14:26:59 -08:00
SkyratBot
0c1084d8b3 [MIRROR] Minor mech salvage fixes: Crowbar cutting and mineral salvage types [MDB IGNORE] (#17816)
* Minor mech salvage fixes: Crowbar cutting and mineral salvage types (#71571)

## About The Pull Request

You don't cut with a crowbar (very well, anyway).

which fixes https://github.com/tgstation/tgstation/issues/71564

For some reason, despite the fact that mech salvage could be redefined,
none of the subtypes of the wreckage actually redefined it at all. This
lead to salvaging plasteel from mechs that didn't actually use plasteel
in its construction (or at least used plasma + iron, which presumably
made plasteel).

Therefore, any mech that was made from a different material now allows
you to salvage that material from the wreckage. Since the maximum amount
of sheets you can get from a wreckage is 5, and is entirely random, I am
fairly confident this is not a means for material duping (it is
technically currently a means of producing plasma from iron and glass,
just for reference).

I gave the admeme/nukie mechs some favourable material salvages.

## Why It's Good For The Game

Consistency is good, and also I hate the idea of producing plasteel from
seemingly nowhere on mechs that are only made from iron and glass
(ripley MK.I).

## Changelog
🆑
fix: You no longer cut into mechs with wreckages with crowbars, you pry
parts from them. Duh.
fix: Mech material salvage matches their construction materials.
/🆑

* Minor mech salvage fixes: Crowbar cutting and mineral salvage types

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2022-12-01 01:00:10 +00:00
SkyratBot
fcebbd61a9 [MIRROR] Basic Mob Carp Bonus Part: Wall smashing [MDB IGNORE] (#17791)
* Basic Mob Carp Bonus Part: Wall smashing (#71524)

## About The Pull Request

Atomisation of #71421
This moves the attack function of "environment smash" flags which allow
simple mobs to attack walls into an element, so that we can put it on
other things later.
For some reason while working on carp I convinced myself that they had
"environment_smash" flags, which they do not, so this actually is not
relevant to carp in any way.

While implementing this I learned that the way wall smashing works is
stupid, because walls don't have health and so resultingly if a mob can
attack walls it deletes them in a single click. If we ever decide to
change this then it should be easier in an element than in three
different `attack_animal` reactions.
This is especially silly with the "wumborian fugu" item which allows any
mob it is used on to instantly delete reinforced walls, and also to
destroy tables if they click them like seven or eight times (because it
does not increase their object damage in any way).

## Why It's Good For The Game

Eventually someone will port a basic mob which does use this behaviour
(most of the mining ones for instance) and then this will be useful.
If we ever rebalance wall smashing to not instantly delete walls then
this will also be useful.
Admins can apply this to a mob to allow it to delete walls if they
wanted to do that for some reason, they probably shouldn't to be honest
at least until after we've done point two unless they trust the player
not to just use it to deconstruct the space station.

## Changelog
🆑
refactor: Moves wall smashing out of simple mob code and into an element
we can reuse for basic mobs later
/🆑

* Basic Mob Carp Bonus Part: Wall smashing

* SR mobs

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-28 16:42:19 -05:00
SkyratBot
a70a6a8055 [MIRROR] Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED [MDB IGNORE] (#17670)
* Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED

* modular RegisterSignals

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-28 14:51:08 -05:00
SkyratBot
257feb1be7 [MIRROR] More horrible 515 proc compatibility. [MDB IGNORE] (#17671)
* More horrible 515 proc compatibility.

* Feex

* Hopefully we're done now

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-11-27 14:46:36 -08:00
SkyratBot
a0bc2f5697 [MIRROR] The clown car now crashes upon collision with a deer. Also fixes an unrelated bug with car keys I found while testing. [MDB IGNORE] (#17741)
* The clown car now crashes upon collision with a deer. Also fixes an unrelated bug with car keys I found while testing. (#71488)

## About The Pull Request

Clown cars now crash into deer rather than sucking them up.

Removing the keys from a car would call forcemove, then place it in the
user's inventory. For some reason, the inserted_key would be nulled
during the forcemove, leading to a null.equip_to_best_slot being called
and a runtime and not getting your key back.
## Why It's Good For The Game

https://en.wikipedia.org/wiki/Deer%E2%80%93vehicle_collisions

The natural enemy of the car is the deer.
## Changelog
🆑
fix: you get your keys upon removing them from a car now!
balance: the clown car now crashes upon ramming into a deer, like god
intended.
/🆑

* The clown car now crashes upon collision with a deer. Also fixes an unrelated bug with car keys I found while testing.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-11-25 14:25:11 +00:00
SkyratBot
b9b6a803b0 [MIRROR] Throws a bunch of parenthesis around to ensure dear Aunt Sally is always properly excused. [MDB IGNORE] (#17654) 2022-11-22 19:44:59 -08:00
SkyratBot
be3b437ebf [MIRROR] Mech construction messages refactor, HONK components fixed [MDB IGNORE] (#17664) 2022-11-22 10:01:44 -08:00
SkyratBot
75c8e0126e [MIRROR] Adds support for non-science techwebs (+Config) [MDB IGNORE] (#17596)
* Adds support for non-science techwebs (+Config) (#71070)

## About The Pull Request

This is an expanding of
https://github.com/tgstation/tgstation/pull/69708

Adds a config to not connect machines to a techweb at the start of a
round
Adds the ability to multitool a server to get its techweb in its buffer,
which can then be used on machines to sync them.
Adds support for some machines to not cry when they don't have a techweb
linked to it, in case they actually don't.

If the config to not have machines connected to the science server is
enabled, research servers will make their own techwebs instead. This is
barebones though and would need more work if this option is used.

For misc stuff:
- I replaced checking ``GLOB.machines`` for research servers, to instead
check ``SSresearch.servers``, where we can use ``as anything``.
- Removed unused vars on the RD server control
- I renamed the operating computer's .dm file to remove the capitalized
letter from it. It's now operating_computer instead of Operations.

## Why It's Good For The Game

This is adding support for 2 different cases that can be used in the
future:
1. Off-station roles, we can make roles like Oldstation have their own
techweb so they don't ruin science's efforts, or use their advanced
research to get things we don't want, or even possibly have some
blacklist webs for ghost roles (like teleporters) so that way we don't
need to have this dance where we have to give them a very specific
amount of materials for them to do things while not being able to get a
teleporter and leaving. I heard discussions that people wanted this a
while back, and one of the main things preventing this from happening is
the lack of support. Hopefully this is encouragement to make it a
reality, because I think it would be a really cool expansion of ghost
roles and a good way to prevent them from messing with the round in
progress.
2. Downstreams who want to do different things with Science. Personally
I made this PR with voidcrew(shiptest) in mind and think this would make
their lives easier. I didn't expand too much on this because I'm leaving
up mostly to the downstreams to figure out what they want to do with
these systems.

## Changelog

This generally isn't really player facing, since most of the changes
would only come into effect if the config is enabled??

🆑
fix: Research servers now only show servers connected to their techweb.
/🆑

* Adds support for non-science techwebs (+Config)

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-11-22 11:47:40 -05:00
SkyratBot
03b216292a [MIRROR] Kickflip action for skateboards [MDB IGNORE] (#17611)
* Kickflip action for skateboards (#70613)

## About The Pull Request
port of https://github.com/BeeStation/BeeStation-Hornet/pull/7507
New hud icon for skateboard while mounted, letting you "kickflip" to put
the skateboard in your hand instantly.

## Why It's Good For The Game
Its really hard to pick up your skateboard, which goes against the "fast
but dangerous" concept of using the skateboard and just slowing the game
down as you try to target the thin sprite. This gives you an option to
quickly get off, while still keeping the difficulty if you get
unmounted.

🆑
add: kickflip skateboard
/🆑
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Kickflip action for skateboards

Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
2022-11-21 16:37:10 -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
fa9d8869e1 [MIRROR] Moves flick_overlay to atom instead of being global [MDB IGNORE] (#17529)
* Moves flick_overlay to atom instead of being global (#71045)

## About The Pull Request
Moves flick_overlay and flick_overlay_view to atom instead of being a
global proc
## Why It's Good For The Game
General performance and syntaxical improvements, makes it easier to
retrieve iconstates
## Changelog
🆑
fix: flick_overlay is an atom proc
/🆑

Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Moves flick_overlay to atom instead of being global

* modular flick

Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-17 17:26:07 -08: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
Paxilmaniac
4a4f4e873a unbuffs ripley mk2's in atmosphere speed (skyrat edit moment) (real) (#17442)
th espeed is a lot
2022-11-15 13:45:01 -05: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
bebe814ebb [MIRROR] Fixes plenty instances of 1-tile foam [MDB IGNORE] (#17414)
* Fixes plenty instances of 1-tile foam (#71132)

## About The Pull Request
All of these from what i heard were supposed to make all foam with range
"4" but most of these ranges were stupidly big so

Fixes 1 tile foam that was apparently not fixed after the foam refactor
in:
AI Upload Foam Dispensers, with a range of "4"
Hygienebot death, with a range of "2"
Clown cars taking damage, with a range of "4" and 25u of space lube.
(henk)
Clown plasmaman envirosuits extinguishment, with a range of "4" and 15u
of space lube. (hunke)
Soap suicide, with a range of "1"
Emagged cleanbots wetting the floor and making foam, with a range of "2"
Firebots when exposed to an atmos fire, firefighting foam with a range
of "3"

![image](https://user-images.githubusercontent.com/70376633/200168492-640b2517-b747-43cd-b45f-c2168a915d63.png)

## Why It's Good For The Game

Fixes #68441
Makes firebots less ass
Also barely-functional code bad, functional code good

## Changelog
🆑
fix: Fixes 1 tile foam in Foam Dispensers,Clown Cars, Hygiene
Bots,Firebots, Soap Suicide, Emagged cleanbots, and the clown plasmaman
envirosuit
/🆑

* Fixes plenty instances of 1-tile foam

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2022-11-09 02:07:02 +00:00
SkyratBot
9b66882150 [MIRROR] [s] Fix gygax speed exploit [MDB IGNORE] (#17422)
* [s] Fix gygax speed exploit (#71113)

About The Pull Request

minor whoopsie with action create/del
Changelog

cl
fix: fixed a gygax speed exploit
/cl

* [s] Fix gygax speed exploit

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2022-11-09 01:58:25 +00:00
SkyratBot
4cce991858 [MIRROR] mech orbital pad update [MDB IGNORE] (#17305)
* mech orbital pad update (#70918)

bout The Pull Request

the mech orbital pad now no longer deorgans you if you stand on it while it launches upward, now gibbing (!!!), but only when a mech falls on you
the mech orbital pad can be used by mechs, and after 5 seconds of careful computer manipulation with your big mech arms, you can launch yourself
improves some (edit: A LOT) mechpad and mech code
mechs now give you feedback on what you fucked up when trying to attach equipment
you can now melee attack as a mech when you dont have weapons equipped, as opposed to only being able to do it with weapons equipped (this is needed for the console)
lets you lock the orbital pad, preventing lifeforms to come down with the mech, so mappers could stick one in the armory for example
increases the size of the supplypod dropping space. its player visible, but currently widescreen makes player view extend over to the easter egg and super secret room
Why It's Good For The Game

using the mech pad shouldnt kill you for standing on it while a mech is launching, thats stupid
the pad being used by mechs makes it so instead of the player needing to do a stupid process of entering of a mech and last second pressing the button, they can just launch themselves in the mech
mechs not being able to punch without weapons equipped is really stupid
and im tired of people ahelping why their mech doesnt work (they dont know about the 2 arm slots)
Changelog

cl Fikou
qol: the mech orbital pad now no longer deorgans you if you stand on it while it launches upward, now gibbing (!!!), but only when a mech falls on you
qol: the mech orbital pad can be used by mechs, and after 5 seconds of careful computer manipulation with your big mech arms, you can launch yourself
qol: mechs now give you feedback on what you fucked up when trying to attach equipment
fix: you can now melee attack as a mech when you dont have weapons equipped, as opposed to only being able to do it with weapons equipped
add: you can now lock mech orbital pads with wirecutters, preventing mechs with pilots from launching, allowing only empty mechs
/cl

* mech orbital pad update

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-11-04 14:07:46 -04:00
SkyratBot
a6c981e3f7 [MIRROR] Fix AIs with AI Cores getting gibbed when the mech theyre controlling gets destroyed [MDB IGNORE] (#17358)
* Fix AIs with AI Cores getting gibbed when the mech theyre controlling gets destroyed (#70990)

## About The Pull Request

Makes AIs with AI Cores not get gibbed when their mech gets destroyed or
they get forcefully ejected which is a bug
Also, fixes a very very small bug which i didnt think was worth making a
seperate PR for where the stats displayed when
clicking on an AI-controllable mech, it would show "Pilot: /list"
## Why It's Good For The Game
Fixes #68713
Fixes #70922
Im fairly sure AIs with AI cores getting gibbed in their core leaving a
MMI behind is probably a bug introduced by
not updating the code when AI Tracking Beacons were added
Also bugs bad, and having a mech destroyed like 100 tiles away splode
your core is nonsense
## Changelog

🆑
fix: Fixes getting AIs with cores getting gibbed if their mech theyre
controlling is destroyed
/🆑

* Fix AIs with AI Cores getting gibbed when the mech theyre controlling gets destroyed

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2022-11-04 11:05:38 -07:00
SkyratBot
b8f4b11a03 [MIRROR] Missile Sanity Checking: I made it explode better? [MDB IGNORE] (#17207)
* Missile Sanity Checking: I made it explode better? (#70813)

* Fixes robotics and nukies gaining access to the wrong type of exosuit missiles, renames the BRM-6 to the PEP-6 (Precision Explosive Projectile), ensures the defines match to which gun goes where, also renames the ammo paths to also prevent the same confusion, swaps around a whole lot of the pathing for what missile is the baseline and what is the parents, makes the PEP use the missile procs instead of its own snowflake code, inadvertently makes the missile a borg murder device but fuck it they're dense objects

* Missile Sanity Checking: I made it explode better?

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2022-10-28 12:19:37 -07:00
SkyratBot
d9f96ce8b0 [MIRROR] The H.O.N.K. can be built again. [MDB IGNORE] (#17097)
* The H.O.N.K. can be built again. (#70714)

Fixes an error causing the HONK mech to be unbuildable.

* The H.O.N.K. can be built again.

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
2022-10-22 20:22:46 +01:00
SkyratBot
6af7a4e597 [MIRROR] gygax no longer resets movespeed when ending overloading [MDB IGNORE] (#17079)
* gygax no longer resets movespeed when ending overloading (#70683)

gygax no longer resets movespeed when overloading

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* gygax no longer resets movespeed when ending overloading

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-10-22 01:51:22 +01:00
SkyratBot
82867cca32 [MIRROR] Fixes AI camera static not updating when the AI enters a mecha [MDB IGNORE] (#17015)
* Fixes AI camera static not updating when the AI enters a mecha (#70385)

* it just works

* kick the eye out of the mecha on mob_exit

* Fixes AI camera static not updating when the AI enters a mecha

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2022-10-20 12:22:19 +01:00
SkyratBot
15fa569053 [MIRROR] Fixes a mounted sleeper runtime related to log_combat [MDB IGNORE] (#17030)
* Fixes a mounted sleeper runtime related to log_combat (#70645)

* lets try it

* adam driver from getting over it w/ benny foddy

* Fixes a mounted sleeper runtime related to log_combat

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-10-20 02:02:11 -04:00
SkyratBot
ad4986e1b6 [MIRROR] Adds the Command Intercom, kills off the varedited freerange intercoms on some maps. [MDB IGNORE] (#16964)
* Adds the Command Intercom, kills off the varedited freerange intercoms on some maps. (#70287)

* Command intercoms now have a unique sprite and are standardized on all maps.
* Also prevents freerange intercoms from accessing syndicate radio.

* Adds the Command Intercom, kills off the varedited freerange intercoms on some maps.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2022-10-19 01:24:03 +01:00
SkyratBot
cde12c108b [MIRROR] Mech construction hints [MDB IGNORE] (#16935)
* Mech construction hints (#70553)

About The Pull Request

I was constructing mechs last night, and I was really annoyed by the need to constantly tab between the wiki and the game. So I have extended the descriptions of the mech steps, adding hints and instructions similar to the ones that pop up during wall building. Tell me if they are too direct, and not immersive enough, and I'll try to tweak them a bit.

I had to swap inner_plating and outer_plating to var/obj so I could get their names via initial(), I hope this is not a problem.

This does not effect unordered mech construction, as that one is straightforward enough. I also did not include deconstruction steps, as they are more intuitive, and usually people don't change their mind in the middle of construction.

Why It's Good For The Game

Not having to constantly swap between a wiki page (or the in game book that displays that wikipage) and the game is good.

* Mech construction hints

Co-authored-by: Profakos <profakos@gmail.com>
2022-10-18 11:18:36 +01:00
SkyratBot
50128e9077 [MIRROR] Motorized wheelchair updates [MDB IGNORE] (#16932)
* Motorized wheelchair updates (#70454)

imageadd: added icons for motorized wheelchairs (regular and fast)

* Motorized wheelchair updates

Co-authored-by: Profakos <profakos@gmail.com>
2022-10-17 19:52:13 +01:00
SkyratBot
23f27b198e [MIRROR] Removes inappropriate golden wheelchair usage [MDB IGNORE] (#16731)
* Removes inappropriate golden wheelchair usage (#70384)

* Removes inappropriate golden wheelchair usage

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 23:07:20 +01:00
SkyratBot
3795ed1a6b [MIRROR] [MDB Ignore]Hats DMI split [MDB IGNORE] (#16693)
* [MDB Ignore]Hats DMI split

* e

* STAFE

* e

* e

Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-09 23:00:42 +01:00
SkyratBot
4d1931712e [MIRROR] Fix an edge case where holding down multiple clicks at once would register attacks as the wrong click [MDB IGNORE] (#16719)
* Fix an edge case where holding down multiple clicks at once would register attacks as the wrong click (#70369)

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Fix an edge case where holding down multiple clicks at once would register attacks as the wrong click

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-10-08 18:29:56 -04:00
SkyratBot
ead1aa0b76 [MIRROR] TGUI for Techfabs II: The Great Recategorizing (AND ICONS) (AND MECHFABS) (AND AUTOLATHES) [MDB IGNORE] (#16616)
* TGUI for Techfabs II: The Great Recategorizing (AND ICONS) (AND MECHFABS) (AND AUTOLATHES)

* Still doesn't compile but there's no more conflicts

* [PR PR] Makes #16616 Compile And Work (#16656)

Oh hey, it compiles!

Co-authored-by: scriptis <scriptif@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: RimiNosha <106692773+RimiNosha@users.noreply.github.com>
2022-10-06 11:54:38 +01:00
SkyratBot
9bf006d189 [MIRROR] Multiz Rework: Human Suffering Edition (Contains PLANE CUBE) [MDB IGNORE] (#16472)
* Multiz Rework: Human Suffering Edition (Contains PLANE CUBE)

* skyrat changes

* bodyparts merge

* unres door floorlight fix

* Future upstream fix for blindness

* upcoming upstream airlock fix

* fix button emissive

* Fix FOV markings?

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-02 23:30:09 -04:00
SkyratBot
1ce77983df [MIRROR] canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE [MDB IGNORE] (#16586)
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE

* etes

* eyes

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-02 15:54:46 +01:00
SkyratBot
de331bbe60 [MIRROR] Remove uneccesary var copy paste from vehicles [MDB IGNORE] (#16513)
* Remove uneccesary var copy paste from vehicles (#70167)

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Remove uneccesary var copy paste from vehicles

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-09-28 21:17:48 +01:00
SkyratBot
86e99e566e [MIRROR] Fix for clown car not bumping [MDB IGNORE] (#16479)
* Fix for clown car not bumping (#70144)

* Fix for clown car not bumping

Co-authored-by: TerraGS <40574831+TerraGS@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-27 22:02:04 -04:00