Commit Graph

688 Commits

Author SHA1 Message Date
Jolly
8184167948 [MDB IGNORE] Subtypes out kirbyplants, also changes them to said subtypes (#76050) 2023-06-20 17:14:51 -07:00
John Willard
8229972398 Tablet apps are now deleted when necessary & removes console preset. (#75863)
## About The Pull Request

Apps now properly delete themselves when removed, so they don't exist in
nullspace anymore.
Chat client now actually updates the uid, because its New() didn't call
parent.
Deletes the 'console' subtype of modular computer
Updates how downloading and transferring files are handled
Fixes being able to infinitely upload apps to a disk

## Why It's Good For The Game

Fixes some more bugs I found with apps and prevents spamming apps in a
disk.

## Changelog

🆑
fix: Maintenance data disks now properly transfer from PC to disk
fix: Disks can no longer be flooded with the same app repeatedly.
/🆑
2023-06-19 22:59:09 -07:00
John Willard
b5975bd915 Unit tests now catch decals in walls/space (#75189)
## About The Pull Request

Unit tests will now fail if there's a decal in a wall or open space
turf. Open space turf could be limiting to mappers but I don't think it
makes sense for decals (like dirt, glass shards, etc) to be floating
around in space in the exact same spot.

If there's a decal you want to put in space, decals have a
``turf_loc_check`` var that will bypass this.

**Important note: This is not changing existing behavior. Decals already
delete themselves when they spawn in these incorrect locations, we're
just avoiding them from spawning in the first place.**

### Changes I made

- Ash flora are now lava immune, rivers spawn after flora does, so I
decided that it would be easiest (and more flavorful) to have them be
lava-immune rather than to not have them spawn at all.
- Decals can now be spawned in non-turf locations. This is currently
done by mail, which can give you bones as part of the mail. Currently it
will just delete itself instead.
- Trading Card button is now on the same tile as their display, which
now uses an offset. Before it would spawn it on the tile next to it,
which could be a wall in some instances.
- Mirrors now have floating movement type. They ARE floating since
they're attached to the wall, and it prevents them from burning up due
to lava in the Pride ruin.
- I also added a broken mirror subtype because I thought the icon_state
check was terrible.
- Bubblegum called ``DestroySurroundings`` several times on the same
thing, I hopefully fixed some of that. Their charge ability also
registered ``COMSIG_MOB_STATCHANGE`` despite ``/datum/action`` doing it
by default, so I fixed that too.

## Why It's Good For The Game

Decals in walls is already a bad idea, but currently all it does is
delete it on Initialize. It would be better if we ensured they wouldn't
spawn in the first place.

## Changelog

🆑
fix: Lava will no longer burn 6 of the mirrors in pride ruin
fix: Lava will no longer burn plants that spawn in them.
/🆑
2023-06-15 16:39:22 -07:00
DaydreamIQ
f40ac0b3fd Rotates a morgue tray at CC Pod bay (#76026)
## About The Pull Request
See title
## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/62606051/4972c8d5-0581-4f4a-b03f-516846079491)
Yeah I don't think that's supposed to go through the window like that
chief
## Changelog
🆑
qol: The CC pod bay now has proper morgue facilities that don't clip
through a glass window
/🆑
2023-06-14 12:02:34 +02:00
Andrew
2e5806626c Proper broken tiles (#75623)
![before-export](https://github.com/tgstation/tgstation/assets/3625094/505eaed3-b429-45c4-ab65-6c92d1c9e20e)

## About The Pull Request

The current broken tiles have some visual issues:

- There is an ambient occlusion shade when it touches normal tile
- It has a layer higher than it should be which leads to things that are
normally above the floor layer, render below it. Such as atmos
machinery, cleanable overlays, etc.

This PR makes the render on a proper layer and work like a partially
destroyed floor tile that can be reclaimed with crowbar.

Also, the cleanables are now on FLOOR_CLEAN_LAYER to make dirt appear
above catwalks and these new tiles.

And the flat dirt now has 4 variants of sprites, while dust uses the old
dirt sprite. It seems like dust was just dirt with different description
before.

## Why It's Good For The Game

A broken tiling with no visual bugs and proper floor-like logic.

## Changelog

🆑 MTandi, Borbop
fix: Dust now has dust icon, instead of dirt icon. Dust on all maps
replaced with dirt
image: Flat dirt now picks from 4 new sprites
refactor: Made broken tiling work more like tiling and have
corresponding visuals. Added directional mapping variants.
fix: Cleanables now use FLOOR_CLEAN_LAYER to make sure that trash is
visible above catwalks
/🆑
2023-06-09 09:50:21 +12:00
Jolly
be2b5f9e74 [MDB IGNORE] Adds a map lint against using non-dir helper posters (#75620)
## About The Pull Request
Title.


## Why It's Good For The Game
Similar to #75610.
Gets our posters on the mapping directional helpers where needed.

## Changelog

🆑 Jolly
code: The code for posters internally has been tweaked slightly. If you
see posters floating in hallways, please report them ASAP!!
/🆑
2023-05-27 19:47:45 -04:00
Jolly
dc7fa929eb [MDB IGNORE] Adds a map lint against using dir-var edited window panes (#75610)
## About The Pull Request
Title.

## Why It's Good For The Game
#75528 but with a map lint.

I also don't know what to call these, so for clarity sake I'm referring
to them as "panes", which I think helps convey what they are.

## Changelog
Not needed.
2023-05-26 12:41:42 -06:00
Thunder12345
75537b97a5 GAGSifies Plushies (#75442)
image: Space lizard, carp, slime and snake plushies have been resprited and set up to support GAGS.
2023-05-20 04:16:45 -04:00
Profakos
f61dc7fd9d Requests console helpers (#75224)
## About The Pull Request

This PR adds mapping helpers for requests consoles. Two of them set up
if the console can receive ore updates, and if it can make
announcements, flipping their relevant variables to TRUE. The other
three adds the consoles to their relevant department console lists
during late initialize. This allowed me to remove three variables
directly from the consoles themselves.


![image](https://user-images.githubusercontent.com/2676196/236959062-11db7db5-3e7d-452a-a6c6-153901354b20.png)
New sprites by CoiledLamb!

~~This PR also anchors mapping helpers, to prevent effects like the
roundstart crate initialization from moving them.~~ This was fixed by a
different PR.

## Why It's Good For The Game

Less var edits, easier to see a console's type at a glance.

## Changelog

🆑 Profakos, sprites by CoiledLamb
qol: Most request console varedits have been moved to mapping helpers.
/🆑
2023-05-15 23:08:45 +00:00
Profakos
dde5785f82 Request Console refactor (#75067)
## About The Pull Request

This PR changes the request consoles in the folowing ways:

- The request console's had some very old UI, so I decided to convert it
to tgUI.
- Cleans up and changes various variable names. Also removes a
historical comment (desouls the file)
- Sending an announcement now has a cooldown of 30 seconds like the
message console priority announcement
- Audio feedback on successful and erroneous message give a little audio
feedback
- Reply is now Quick Reply, which you do in a popup

I have half a mind to remove the long material list from the ORM, as
some people told me I should, but for now it stays.

<details> 
<summary>Screenshots of the new UI</summary>


![image](https://user-images.githubusercontent.com/2676196/235372296-eab8f99e-489c-4268-8c09-e5998ebbfeec.png)


![image](https://user-images.githubusercontent.com/2676196/235372122-c52b6663-a34c-43a0-be3c-87211a2116d8.png)


![image](https://user-images.githubusercontent.com/2676196/235372030-c465416c-9a0e-4ef2-8c0c-ea104c85f44d.png)

</details>

I originally planned to add mapping helpers, but decided to delay it
until a future PR.

## Why It's Good For The Game

TgUI is good and powerful.

## Changelog

🆑
refactor: converts the request console to tgui
/🆑
2023-05-06 18:07:24 -07:00
MrMelbert
4de3df461e [MDB Ignore] Adds a unit test for typepaths that are required to be mapped onto each station map (#74985)
## About The Pull Request

Inspired by #74967 and #68459 , and the fact that Tramstation regresses
very often -

Adds a unit test, `required_map_items`, which ensures that certain
typepaths which should definitely be mapped onto every map is mapped
onto every map

It can also be used to ensure that items which should not be mapped in
multiple times are not, among other things.

I included a few examples - 
- Min 1, max inf of each head of staff stamps
- Min 1, max 1 departmental order consoles
- Min 1, max inf comms console
- Min 1, max 1 Pun Pun
- Min 1, max 1 Poly
- Min 1, max 1 Ian

If, in the future, a mapper decides they (for some reason) do not want a
certain previously-required item on their map, the test can be adjusted
such that it allows excluding or something, but currently it should be
for items which require conscious thought about.

#### QA: Why not make this a linter?

I attempted to make this a linter before realizing two things
1. Someone might make a spawner which spawns the items, or they might
get placed in a locker, in any case this accounts for everything on init
2. Linters run on every map, non-station maps included

So I went with a test

## Why It's Good For The Game

#50468
#61013
#74967

Why is it always the CMO stamp?

## Changelog

Not necessary (unless I find a map missing something, then this will be
updated)
2023-05-04 15:20:25 -06:00
Jolly
9b401a87be [MDB IGNORE] UpdatePaths to convert directional pane windows to their proper subtypes, also creates the /south spawner for consistency (#74517)
## About The Pull Request
Title.

## Why It's Good For The Game
1. This nukes a lot of silly var edits, and cleans up maps
2. The south spawner *isn't* really needed, but having it is nice for
consistency and clarity
3. Sometime ago I forget which map but one of them had var edited
directional subtypes and that made me cry

## Changelog

🆑 Jolly
fix: Maps internally had the code for the "directional" windows altered
a bit. If you see stacked window panes or things look incorrectly,
please file a bug report as that isn't intentional!!
/🆑
2023-04-10 00:20:04 +00:00
LemonInTheDark
e9c5761b7b Fixes a few ferries being unloadable (#74504)
## About The Pull Request

Centcom's ferry port was built for the bare minimum, and so did not
allow for the absolute MAXIMUM

This meant shuttles like meat or lighthouse were undockable. s dumb.

Changing the bounds (particularly the width) does mean that shuttles
could in theory clip the edge of centcom, but just like, don't 4head

## Why It's Good For The Game

If we're gonna have ferries you should be able to load them

## Changelog
🆑
admin: All centcom ferries are now loadable. Yes this WASbroken
/🆑
2023-04-05 23:54:51 +01:00
spockye
fa641ca885 remakes the escape pod shuttle! (#74257)
## About The Pull Request
This PR fully remakes the Pod shuttle. What is the pod shuttle you may
ask? well, the place pods go of course!
While the OLD one could only take a measly 4 pods, this new and totally
tubular version can take a whopping 8!

the interior now consists of:
a docking hallway
a main room, with a bar and medbay
a garden
a bridge
two engines!

Old shuttle 

![image](https://user-images.githubusercontent.com/79304582/227746391-653a6ede-3bcc-478f-aef9-f756408a86b9.png)


New shuttle

![image](https://user-images.githubusercontent.com/79304582/227746249-268167c2-1e08-4550-a2a3-bebabd6d8d2c.png)

![2023 03 26-01 58
56](https://user-images.githubusercontent.com/79304582/227749548-6a4a407e-b2c1-4f1d-9445-ad2da36a039e.png)

### Mapping March
Ckey to receive rewards: Spockye

## Why It's Good For The Game
The old pod shuttle is sadly quite old, and in my opinion, in need of a
remake. This pr does exactly that!
it also opens up the possibility for stations to have a total of 8
instead of 4 pods! (if someone ever makes a station that's large enough
to deserve more than 4)
## Changelog
🆑
add: remakes the old escape pod shuttle 
/🆑
2023-03-27 12:22:30 -06:00
san7890
a42765a3a2 [MDB Ignore] Fixes Tiles On All Maps (mea culpa edition) (#74250)
## About The Pull Request


![image](https://user-images.githubusercontent.com/34697715/227738092-33b699f1-f388-491e-8eea-a71c9df98ec1.png)

I actually noticed this in my testing and fixed it, but the changes
somehow disappeared and I continued to assume that they were fixed
without checking. fuck. It's all good now.

## Why It's Good For The Game


![image](https://user-images.githubusercontent.com/34697715/227738109-fd6afe23-85b5-48c0-9db2-b54275180cbb.png)

yeah this was fucked everywhere. all good now though promise.
## Changelog
🆑
fix: Tile decals are no longer fucked on all stations.
/🆑
The diff might seem a bit weird but I reverted all of the maps to a
state before the script was ran, and then re-ran the fixed script. Makes
sense to me.
2023-03-25 20:00:07 +00:00
san7890
3156a0414e [MDB Ignore] Manifest Destiny - The Final Tile Flattening (#74169)
Alt Title: The End Of The 12 Month War
## About The Pull Request

### Hey! Listen! This PR _will_ cause a merge conflict with your PR!
Please ensure that you have the knowledge on how to handle merge
conflicts, found here:
https://hackmd.io/@tgstation/ry4-gbKH5#Assured-Merge-Conflict-Resolution

Supercedes #74023 entirely.

Port of the tooling introduced in
https://github.com/BeeStation/BeeStation-Hornet/pull/7970 (we already
had everything else), modified to meet /tg/'s requisites and culling
anything that was not entirely relevant (that I could see). It's not the
end of the world if I missed something tbh. Some aspects were commented
out since they may be relevant to downstreams who port this PR or to
enable (what I see to be) un-necessary warnings.

This is a culmination of a year's efforts, starting with _Red Rover,
Four Corners_ (#65290) and later _Opposing Corners_ (#65455). If you
don't understand why this PR exists or why it's necessary, I recommend
reading both of those.

Since then, several mappers (both in their own mapping as well as
tailored PRs) have worked on "flattening" out these tile turfs, however
I've continually wanted a function that would mass automate it (outlined
here https://tgstation13.org/phpBB/viewtopic.php?t=31872 - This
functionality might still be useful if added to UpdatePaths or another
type of script thereof, but I no longer have reason to keep the bounty
up).

It's finally here! Yippie! A new python file, courtesy of itsmeow at
BeeStation. Very awesome. As previously mentioned, a lot of alterations
had to be made for our mapping desires, but the results are quite
agreeable. There's a few assertions that this file makes that I had to
address:

* We have "colorless" tile decals. These are transparent, so they don't
do anything. By default, bee would make these "white tiles", but we have
no such thing. I decided to just add a maplint and an UpdatePaths to
guard against this silliness (only Delta and Tram) had it.
* For some reason, it labels already-converted decals with the default
direction as an error state. I might touch this up in the coming hours,
but for now I surpressed the error due to how many false warnings it was
spitting out.

There's a few ways this tool can be improved, but I lack the knowledge
on how to do so:
* Make it so that we can run the map merger to fix the keys of the map
in the `update_map` function, rather than run the fixer-upper python
file. We can live without this to be honest. It's actually slightly good
because it forces you to look at all of the MapMerge Warnings, and you
can ascertain any potential errors without it silently passing you by
and hitting the repository (or at least those that we haven't linted for
yet).
* Be able to pass in any regex to "flatten" anything. That's way out of
scope for what I want to do here though.

## How do you use this tool?

I made a readme.
363852cb17/tools/MapTileAggregator/readme.md
### Mapping March
oh hey it's pretty neat that this PR came out in mapping march, what a
nice qol for mappers as the month enters the home stretch. ckey is
san7890

## Why It's Good For The Game

slimmer DMM files, better mapping practices. cool new tool. so nice.
## Changelog
Nothing that really affects players, but a short summary for all those
reading this PR:

* All "corner" turf decals are flattened, and there's now a tool that we
store that you can re-run to keep stuff flat in case you like mapping
one way and want to fix it at the end.
* We (should) now lint against useless uncolored turf decals since that
was completely garbo as far as our codebase is concerned.
* UpdatePaths for fixing up uncolored turf decals, yippie!


If you want to review this PR, may I suggest the file filter. You don't
need to look at any of the DMM files I already did:

![image](https://user-images.githubusercontent.com/34697715/226787961-ab82cad4-5d6d-4788-a7bd-5071aac825c4.png)

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-03-24 19:53:45 +00:00
Tim
73a083ca1e Minigame DLC - Intergalactic Basketball League (#72459)
## About The Pull Request
New DLC bout to drop.


![dreamseeker_45s0qiPMXE](https://user-images.githubusercontent.com/5195984/210466427-35b90d46-6620-45e2-8b21-66d1dcada76f.png)

Lots of new things included:
- New basketball minigame that can be played between 2-7 players
- Crafting recipe for basketballs using leather sheets
- Crafting recipe for basketball hoops using metal, rods, and durathread
- New basketball sounds for the ball and hoops
- New scorecard that can be reset using CtrlClick
- Basketball hoops can be rotated using a wrench and AltClick
- Dunking and shooting animations.

### New basketball mechanics that now utilize stamina:

- Dunking costs large stamina and you must be directly adjacent to the
hoop and click on it.
- Shooting costs medium stamina and uses RMB. Shooting lets you aim the
ball over peoples heads, meaning anyone obstructing your path will be
bypassed. There is a half second delay during shooting where someone can
bump or push to prevent the shot from succeeding.
- Shooting from further away results in less accuracy. If you do not
click directly on the hoop, there is also an accuracy penalty!
- Passing costs no stamina and uses LMB. Trying to score into the hoop
via passing results in a reduced chance.
- Spinning costs medium stamina while holding the ball. It gives a
reduced chance for the ball to be stolen but decreases accuracy for
shooting.
- Pushing a player using RMB will attempt to steal the ball and drain
their stamina.
- The chance to steal the ball is based on the stamina of both players
and the direction they are facing. If the person with the ball is at low
stamina, and the person stealing is at full stamina, they will have a
higher chance. Likewise, if the person with the ball is face to face
with the stealer, then there is a higher chance for the ball to be
stolen. If the person has their back to the stealer, then it's a lower
chance.
- Shooting from more than 2 tiles away, results in 3 points. See below
picture to know the distance.


![dreamseeker_1iFLhQGx01](https://user-images.githubusercontent.com/5195984/210469319-162b9745-fcae-4261-92ef-228388eb4f6f.png)

### Now to introduce the teams:

<details>
<summary>Nanotrasen Basketball Department</summary>


![dreamseeker_baSqp2nipv](https://user-images.githubusercontent.com/5195984/210469887-9e0a92d5-d4bd-4da8-9e73-b11d91fdfcd8.png)

</details>

<details>
<summary>Greytide Worldwide</summary>


![dreamseeker_quzZ3KnwpX](https://user-images.githubusercontent.com/5195984/210469923-ed774656-f5cc-43bc-8314-f8309a01c474.png)

</details>

<details>
<summary>Lusty Xenomorphs</summary>


![dreamseeker_VDeT3JQkNF](https://user-images.githubusercontent.com/5195984/210469944-a229e0cc-4b2e-4754-a0b4-6b36953dca2e.png)

</details>

<details>
<summary>Space Surfers</summary>


![dreamseeker_Dh91fznQbN](https://user-images.githubusercontent.com/5195984/210469963-9a85b4e3-b69d-4b66-8c96-4e2ff2b3b983.png)

</details>

---

Big shoutout to the nukie round a few weeks ago where the nuke ops
challenged the crew (and clown) to a basketball match on their rebuilt
basketball shuttle. The nukies won, but it made me realize that the
basketball mechanics were very raw and needed some polishing.

#### TODO LIST

- [x] Fix bug where ball only goes over peoples heads if they are 1 tile
away
- [x] Remove leftover code comments and procs
- [x] Rebalance stamina values (maybe move this to different ball types)
- [x] Fix basketball stadium template runtiming from wall smoothing
during load
- [x] Fix space surfer stadium having an air breach somewhere
- [x] Add more sounds for when ball is passed, shot, or dunked
- [x] Make it so that holding a ball while on the floor isn't possible
(to avoid those meta cheese strats)
- [x] Drop basketball lets mobs make sounds when spinning (need to
detach signal?)
- [x] Finish adding a simple lobby menu for minigame

## Why It's Good For The Game
_If you can't slam with the best, then jam with the rest._

## Changelog
🆑
add: Add crafting recipe for basketballs (leather sheets) and basketball
hoops (metal, rods, and durathread)
add: Add new basketball minigame for 2-7 players. There are 4 different
courts and teams by default with more planned to be added later.
add: New basketball mechanics that uses stamina. Shoot with RMB, pass
with LMB, and dunk by clicking the hoop while adjacent. Spinning while
holding the ball decreases the chance for someone to steal the ball, but
it decreases your shooting accuracy. Shooting from 2 tiles away lets you
score 3 points.
qol: Basketballs now play a buzzer sound when someone scores. CtrlClick
will reset the scorecard and AltClick with a wrench will rotate the
hoop.
qol: Dunking and shooting animations for basketball.
soundadd: Added basketball bounce sound with credits attribution
imageadd: Added basketball icon to minigames. Move baseball and
dodgeball icons to toy/balls.dmi
/🆑
2023-03-23 22:41:41 -04:00
san7890
03bb726a80 Lints for Empty Variable-Edit "List" in the TGM Syntax + Fixes Occurrence in Codebase (#73831)
## About The Pull Request

Caused by #73758 due to improper search-and-delete (presumably) without
running mapmerge or something to catch it, very sad. Let's add a linter
to make sure this doesn't occur again.

More information on what exactly was broken may be found here:
https://github.com/tgstation/tgstation/pull/73758#issuecomment-1457508565
## Why It's Good For The Game


![image](https://user-images.githubusercontent.com/34697715/223326428-7f02ea8d-a881-4fa8-b87d-717b39e1fff2.png)

makes me sad to see it, it's ugly, and mapmerge will fix it away anyways
over the next few months since it's an invalid/bugged case. let's just
prevent it from happening again. (hopefully this hasn't been impacting
the map loader at all? i don't see why it would but I know this case
isn't exactly accounted for). i noticed that we're able to flatten a lot
more keys now as well since we don't have literally nothing preventing
that flattening, which is a plus.
## Changelog
Nothing that concerns players.
2023-03-09 13:51:06 +13:00
Holoo
c16e92eb42 Varedited heat capacity of floortiles fix (#73758)
## About The Pull Request
Removes varedited floortile's heat_capacity from deltastation, its
shuttles, centcomm and lavaland syndie base

I didn't remove it from awaymissions because literally all floortiles
there have increased heat capacity so it's probably intended to be that
way
## Why It's Good For The Game
Completly random tiles shouldn't have heat capacity 100 times higher
then normal tiles
## Changelog
🆑
fix: Nanotrasen has conducted high precision in-depth analysis of
Deltastation and its shuttles. As a result anomalous floortiles were
replaced with standard issued ones.
/🆑
2023-03-04 20:53:51 -05:00
Jeremiah
1677257dd9 Records hotfix [NO GBP] (#73363)
## About The Pull Request
A remake of #73169
Repaths records consoles to their own subtype
Fixes some weirdness with observers logging into sec/med consoles
Fixes security notes not being able to be set etc

## Why It's Good For The Game
Bug fixes and cleaner code

## Changelog
🆑
fix: Security can set notes through consoles again
fix: Observers are now properly logged out of record consoles
/🆑

---------

Co-authored-by: Jeremiah <jlsnow301@pm.me>
2023-02-12 23:00:24 -08:00
Profakos
764bc66cb1 Fully removes departmentType var from Requests Consoles (#72916)
I was thinking about updating the requests console's UI, when I noticed
that #67219 started the process of moving away from the ancient
departmentType field. I have decided to put off the UI update until
later, and finished the necessary map updates using the power of
UpdatePaths.

Also autodocced the requests console vars and procs.

Finishes the removal of a deprecated (and may I say, badly named)
variable. Mappers will not accidentally try to set the outdated bitflag
fields, instead they will the more descriptive fields.
2023-02-02 16:11:02 -05:00
Tim
4151cf13d3 Barsign UI/UX Improvements - Emissive effects, balloon alerts, and refactored code (#73106)
The barsign code is over a decade old so this is a big refactor with
some notable improvements:

- Emissive effects (neon lights now glow in the dark)
- Balloon alerts instead of `to_chat` messages
- Mapping helpers based on direction and all_access
- Barsigns are considered machinery now and use power
2023-02-02 16:00:18 -05:00
Fikou
519bf69869 Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) (#72517)
## About The Pull Request
revive of #68760
this time a proc, not an element
this time supports cardboard cutouts
this time supports mob corpses

![image](https://user-images.githubusercontent.com/23585223/211064291-81070650-189f-4afa-8116-81b687e3ea35.png)

## Why It's Good For The Game
prevents these icons ever being outdated, they'll always look what they
are supposed to, saves spriting work

## Changelog
🆑 Fikou, a hood by Viro
refactor: humanoid mobs and cardboard cutouts automatically generate
their sprites, they no longer will be outdated
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2023-01-18 20:04:10 +00:00
Fikou
f62c491ca2 adds atmospheric gloves, small resprite of firefighter gear, repaths stupid glove paths (#72736)
## About The Pull Request
repaths a lot of gloves off /color because they were incredibly stupid
firefighter gear has gotten an update (it doesnt cover hands anymore
though, you need something else)
firefighter helmets no longer hide your mask or glasses

![image](https://user-images.githubusercontent.com/23585223/212542599-c004d0e4-c141-40b4-a1bb-c838f9893c4b.png)
fixed engine goggles starting with darkness vision
to the atmos lockers adds atmospheric gloves, a pair of thick (chunky
fingers) gloves that are fireproof and fire protective, slightly shock
resistant and let you fireman carry people faster.
atmospheric firefighter helmets now are a subtype of welding hardhats,
you can enable a welding visor.
welding hardhats change mode with right click instead of altclick

## Why It's Good For The Game
im not a good spriter but i think this resprite makes them fit nicer
with other engi equipment
lets me firefighter rp

## Changelog
🆑
add: Atmospheric Gloves, thick gloves that are fully fireproof and fire
protective and let you fireman carry people faster.
fix: fixes engine goggles starting with darkness vision
qol: firefighter helmets can now enable a welding visor
qol: welding hardhats change mode with right click instead of altclick
balance: firesuits no longer protect your hands
/🆑
2023-01-17 09:55:41 -08:00
san7890
165a291324 Removes Thunderdome Showtime Button Off Window (#72451)
## About The Pull Request


![image](https://user-images.githubusercontent.com/34697715/210458954-08e73e91-6d77-4dd4-b6fa-ef9fcfae9c29.png)

This wasn't even in the template version of the thunderdome, so any time
an admin would reload the thunderdome, it wouldn't show up again. It's
just silly to have buttons on windows regardless of context. (if you
actually used this, just toggle `Admin AI Interaction` and hit the
button yourself or something).
## Why It's Good For The Game

It doesn't look good on a window, I promise you.
## Changelog
🆑
fix: There is no longer a button on a window at the CentCom Thunderdome.
/🆑
2023-01-12 06:52:39 +00:00
Tim
7d47fbef42 Refactor lighting items that use fuel (#72146)
## About The Pull Request
Fixes #71826

This does the following:
- Makes candles a subtype of flare
- Fixes candles having lighting inconsistencies
- Fixes burning items (welder, candles, flares, etc.) not causing
ignition effects when held in hand
- Adds burnt flares and melted candles to maint loot and trash spawners
- Add match lighting sound when candles are lit
- Add time defines for fuel amounts and rounded them (ex. instead of
32.3333 minutes, it's now 35 minutes)
- Light sources that burn will now spawn a trash item once fuel is spent
- Light sources that burn now have a welder hitsound
- Light sources that burn can now be extinguished by a fire extinguisher
(except flares)
- Light sources that burn can now be used to ignite another object on
fire (ex. a lit candle can be used to light a cigarette)
- Light sources that burn and are lit now do `BURN` damage while
attacking

## Why It's Good For The Game
Code is more cleaner and consistent.  Also fixes some bugs.

## Changelog
🆑
soundadd: Candles will now use the match lighting sound when lit
soundadd: Light sources that burn will now have a welding hitsound
fix: Fix candle light behaving erratically
fix: Fix burning items that are held in hand will now have an ignition
effect on the turf. (ex. lit welders in hand will now ignite plasma in
the air)
balance: Light sources that burn and are lit now do `BURN` damage while
attacking
balance: Light sources fuel amounts were rounded to exact numbers (ex.
instead of 32.3333 minutes, it's now 35 minutes)
qol: Light items that burn can now be extinguished by a fire
extinguisher (except flares), used to ignite another object on fire, and
will now leave a trash item once fuel is used
qol: Add burnt flares and melted candles to trash spawners
refactor: Refactor lighting items that use fuel to be more robust
/🆑

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2023-01-06 12:19:33 -08:00
Jacquerel
6b1ae77b41 Station Trait: Luxury Escape Pods (#72076)
## About The Pull Request

It's the season of giving and so here at Nanotrasen we've partnered with
a new supplier in order to create a limited run of Luxury Escape Pods.
These larger, carpeted pods with extra windows and smoother, quieter
engines will be rolling out soon to stations who do particularly well on
their quarterly earnings reports!


![image](https://user-images.githubusercontent.com/7483112/208324064-b2ca8603-0a4b-479b-82ae-95ec8891568d.png)

<details>
  <summary>Redact Before Sending</summary>

Of course, that funding had to come from somewhere. Stations with a
particularly poor performance may have to settle for the budget option
until results improve.

![image](https://user-images.githubusercontent.com/7483112/208324115-03ae871f-ad2a-46c0-a210-7bdecdd0b8ba.png)

</details>

In order to facilitate station traits modifying escape pods, I made a
subtype of stationary shuttle dock specifically for escape pods.
There is a map update script which will replace existing pod docks with
the new one, it also cuts down on some map var edits.

I was worried that varying the pod size would cause problems but it
actually went surprisingly smoothly, only Kilo had a couple of plating
turfs in the way. This might cause problems for maps in development
though, if they are relying on escape pods being a _very_ specific size.

## Why It's Good For The Game

I just think it's neat.
But more station traits = more variance between rounds = more fun, I
guess?
Varying how large escape pods might be can create interesting dilemmas
between crew about how to fit into them, at least about how tall they
need to make the pile of prone people.
The escape pod dock subtype might help out newer mappers a little bit,
as it means fewer var edits to copy/paste from other maps.

## Changelog

🆑
add: New station traits can vary how large and comfortable the station
escape pods are.
/🆑
2022-12-30 00:28:07 +00:00
Zephyr
b182d6f320 Lazy Template Loading - Nukie/Wiz (#71785)
## About The Pull Request

Removes the nukie base and wizard den from the base centcom map. They
are instead now lazy loaded as required.
To make a new lazy load template is fairly simple, make a map, allocate
an area for it, and place a marker at the bottom left corner of that
area. I have it check an area to ensure that if someone makes the map
larger than expected but doesn't account for the template allocation it
doesn't overwrite stuff without warning

[Replaces some improper CHECK_TICKs with
MAPLOADING_CHECK_TICKs](c7fbca9148)

Atom init has already been tripped by the time we get to this portion of
the loading, so if we don't use the right check tick, we will
potentially block unrelated init attempts. This is bad. (Lemon edit, I
want this in the commit desc)

## Why It's Good For The Game

Cuts down on init times.
Closes https://github.com/tgstation/dev-cycles-initiative/issues/17
## Changelog
🆑
admin: New mapping verb to load lazy templates as needed. In your admin
tab under the Mapping category.
/🆑
this isnt technically player visible, so not sure it needs a changelog

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-12-21 00:33:30 -08:00
Holoo
9cb866896a Moves fridge on nukie base in to a wall (#72014)
## About The Pull Request
Fixes funny varedited fridge offset wich was blocking a tray
<details>
<summary>How do I dropdown?</summary>
<br>


https://user-images.githubusercontent.com/38228316/207803445-8df45509-d80d-43ed-b63b-0e46be8ef51e.mp4


</details>

## Why It's Good For The Game
Feex good
## Changelog
🆑
fix: Moves virology fridge on nukie base in to a wall 
/🆑
2022-12-15 19:46:59 -07:00
MrMelbert
ecde5633bd Refactors bar drink icons into datum singletons / unit tests them (#71810)
## About The Pull Request

- Refactors bar drink icons.
- Juice boxes no longer have a hard-coded list of a bunch of reagent
types in their update state, and use a system similar to bar drinks.
- Glass and shot glass icon information are no longer stored on the
drink. Instead, they are now stored in glass style datums. These datums
store name, description, icon, and icon state of a certain container +
reagent type.
- Glass styles are applied via the `takes_reagent_appearance` component.
Glasses, shot glasses, and juice boxes have this component.
- This comes with support for being able to have drink icons from
different files, rather than requiring the drinks DMI.
- The britmug is now a subtype of mug. 
   -  1 new icon: britmug filled.
- Various small code clean-up around drink reagents. 
- Unit tests icon state setups for glass styles as well as all `/drink`
reagent container subtypes.
- Splits up the massive `drinks.dmi` into separate files. 

*Disclaimer: Much of the drinking glass datums were written via script
automatically, so there may be errors present.*

## Why It's Good For The Game

- Much easier to add new drink styles, much more modular. 
- It is no longer necessary for new drinks to be added to the massive
`drinks.dmi`. People working with drinks in the future can simply add
their glass style datum and point it to their file wherever it may be.
- Expandable system. Adding a new type of reagent container that works
similarly to bar drinks but for different types of icons is a breeze.
- Ensures going forward no bar drinks have invisible sprites. 

## Changelog

🆑 Melbert
refactor: Refactored how bar drinks set their icons. Juice boxes now use
the same system.
/🆑
2022-12-14 15:23:01 +13:00
tattle
0bb30cdefc [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>
2022-11-30 19:01:24 -08:00
Epic
a811adac74 Changes Admin Prison to be Anti-Telekinesis: Walls off equipment rooms, replaces computers, and makes the tables tidy (#71433)
First PR, may require some changes or something because I don't know how
to do anything bleh
## About The Pull Request

We already had issues with crewmembers with telekinesis making changes
to the security records (purging them and what not). And, nothing has
been done about it, not yet, anyway. Not only record computers are a
problem as well.


![image](https://user-images.githubusercontent.com/106710384/203241399-8314bcba-d2d0-44af-9360-30ff58dbc39e.png)
Previously, prisoners can access the sec vendor with telepathy, and,
since the vendor is free, spam the vendor and be an annoyance. Sure, I
believe that it is not as big of a problem as purging the security
records, but I feel like it's against what the prison is supposed to
stand for; It's supposed to stop them and get them to listen to ahelps
thrown at them.

I've decided to make a bit of changes to the prison to make it so that
people with telekinesis won't fuck up things as much. This replaces real
computers with nonfunctional ones, adding walls to equipment areas to
make sure prisoners don't spam the vendor, and deletes guns/weapons from
the tables so they won't grab them.

## Why It's Good For The Game


![image](https://user-images.githubusercontent.com/106710384/203241465-833f79da-58a3-4feb-87b0-091fbb846e93.png)
This PR is more tailored to admins dealing with no-good-doers, and goes
for the vibe of "HEY, SOMEONE IS PMING YOU, REPLY TO THEM INSTEAD!" Of
course, this leads to prisoners not interacting with the current round,
and, less chance of them going insane and breaking all the windows with
a telekinesis auto-rifle.

Plus, this can always be reverted in-case someone comes up with coding
stuff in instead. I'm all through with that and willing to work with
whoever to solve the issue.

Also, of course, Closes #60967

## Changelog

🆑
admin: Nanotrashen made some top-of-the-line changes to their
top-of-the-line prison by walling off their equipment area and removing
some spare guns they somehow left on the tables. We also stole the
security computers, so people with telekinesis can't access them.
/🆑
2022-11-27 23:28:12 -07:00
Tim
333dcef6ad Refactor janicart to be subtype of mop bucket (#71094)
## About The Pull Request
Fixes #41123

This gives mop buckets the same behavior as janicarts. This means it
inherits the same hotkeys, context screentips, etc.

Other niche changes:

- Fix reagent containers playing attack animation when transferring
reagents to mob bucket
- Fix syringes and droppers not updating the appearance of target when
used
- Regular mop bucket has the same RMB hotkey as janicart for wetting mop


## Why It's Good For The Game
One less bug off tracker.  Better consistency with code.

## Changelog
🆑
fix: Fix reagent containers playing attack animation when transferring
reagents to mob bucket
fix: Fix syringes and droppers not updating the appearance of target
when used
qol: Regular mop bucket has the same RMB hotkey as janicart for wetting
mop
refactor: Refactor janicart to be subtype of mop bucket
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-21 19:29:56 -08:00
san7890
cb20ec99f9 [MDB Ignore] Unit Tests for Invalid Space Turfs (Area Bullshit Edition) (#70967)
## About The Pull Request

So, there's some bullshit with the map loader(?) sometimes where it'll
let space turfs spawn in spots where we REALLY don't want space turfs.
Or, it could also just be a mapper screwing up. Anyways, we might miss
these, so let's set up a broad Unit Test that checks and verifies that
these round-ruining snagglers do _not_ exist.

In order to help me to do this, I standardized and fixed the
nomenclature such that `/area/ruin/space` is default for any map file in
`_maps/RandomRuins/SpaceRuins`, as well as it's subtypes. I also touched
up how we handle shuttle areas in these scenarios. This got a lot of
Unit Test noise filtered out, and is crucial for its functioning. It
should also be how we did it from the start anyways. I added in an
UpdatePaths for any compatible change, but it was completely
non-workable for some of the area type updates.

I also fixed any organic bugs that didn't require an areas type update.
Cool.

Placing space turfs on IceBox:

![image](https://user-images.githubusercontent.com/34697715/199177940-21c64964-1808-41b0-9a92-bf5b82eee2fa.png)

Organically found issues:

![image](https://user-images.githubusercontent.com/34697715/199177972-b27a89de-0e1a-41e5-8fa4-3bee1763b9da.png)

I also added a `planetary` variable to `/datum/map_config` because I
didn't like the hack I was using to see if we had a planetary map, and
I'd rather it just be an explicit variable in the map's JSON.

## Why It's Good For The Game

The less times we get Space Turfs showing up on IceBoxStation, the
better. It also standardizes areas a bit more, which I like (we were
using some incorrect ones in the wrong spots, so those were touched up
in this PR as well). Like, if it's a space ruin, we don't need to use
the lengthy `/area/ruin/unpowered/no_grav` when `/area/ruin/space` does
the same thing.
## Changelog
Nothing in here should concern a player (unless I broke something)

Expect a few commits as I spam unit tests a few times and play
whack-a-mole with bugs.
2022-11-21 07:59:54 +00:00
Andrew
3a27879090 Tatami (#71288)
## About The Pull Request

We have a bamboo floor, but it has smoothing and looks more like a
tribal mat. Meanwhile the hotel on the centcom map uses an iron floor
with 4 overlays to resemble tatami.

Now the bamboo floor has 3 new variants of tatami with different rim
colors.


![image](https://user-images.githubusercontent.com/3625094/202143721-83b8f930-6d76-456a-b3d7-2f858ad6e969.png)

Also the hotel room tiles are replaced with proper tatami.


![image](https://user-images.githubusercontent.com/3625094/202143899-638a9db5-54b9-415e-8c5d-df2a5abf6b12.png)

And the new tiles have no smoothing and can be rotated to make correct
tatami layouts.


![121732aea8e3d4f86bbb92e1a7479318](https://user-images.githubusercontent.com/3625094/202050917-4700a575-9cb2-4502-ac9a-3c7ff0d294af.jpg)

## Why It's Good For The Game

This was an absolute disgrace.

## Changelog

🆑
fix: fixed bamboo floor tile in-hand icons not being used
imageadd: added tatami of 3 types to the bamboo floor variants
/🆑
2022-11-18 11:30:41 -07:00
Fikou
4ea56979c0 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
2022-11-02 11:11:59 +13:00
John Willard
f1f46275f0 Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely

HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me.

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now.

* merge conflict  fix

* can't win them all

* takes viruses into account in paths, fixes it in snowcabin

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

* destroy pen and disk, dont run kill program on something killed

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

* Update code/modules/modular_computers/computers/item/tablet.dm

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 00:29:50 +00:00
Twaticus
c7dde06668 [MDB Ignore]Hats DMI split (#70060)
Splits head dmi into separate files for both mob and obj icons. Kept similar to suit split categorization + some more. New files include beanie, bio, chaplain, costume, cowboy, default, hats(softcaps, fedoras, head caps, generic hats), helmet(helmets and other armored headgear/hoods), spacehelm, utility(hardhats, mostly work related hats), wizard.
Moves animal/pet head sitting icons to 1 folder, pets_head.dmi
Renames PAI head sitting icon file to pai_head.dmi
2022-10-06 21:37:06 -07:00
John Willard
422accbe4e [MDB IGNORE] Shuttle engines part 2: Engines are now machines (#69793)
* Makes engines machines instead of structures

* Updates the maps

* Fixes boards and anchoring

* Removes 2 unused engine types

Router was actually used a total of once, so I just replaced it with propulsion.
I think cutting down on these useless engine types that make no difference in-game would be a nice first step to adding more functionalities to them.

* Don't use power (since shuttles dont have)

Shuttles don't have APCs, instead they just have infinite power, so I'm removing their power usage for now. I'm hoping this can be removed when unique mechanics are added to engines, because I would like them to make use of power like other machines.

* re-organizes vars

* deletes deleted dm file

* Slightly improves cargo selling code

* Renames the updatepaths

* Removes in_wall engines

I hate this stupid engine it sucks it's useless it's used solely for the tram it provides nothing of benefit to the server
replaces them with regular engines
2022-10-05 21:51:38 -04:00
Imaginos16
ffb56c07ec The CentCom-ening part 5: I might have a problem (#70226)
add: Adds the CentVend
add: Re-adds the CentCom Official's suit
2022-10-04 02:24:40 -04:00
skylord-a52
5487f69792 Adds a rack of Syndicate-branded souvenirs to the kidnapping holding area, including a new t-shirt (#69770)
* Adds a Syndicate souvenir shirt, at the area that contractors send players to.
2022-09-13 21:01:57 -04:00
John Willard
253613c1c3 [MDB IGNORE] Shuttle engine code improvement and fixes (#69516)
* A lot of shuttle code improvements

* Makes use of ``as anything`` in many places
* Adds mapload to connect_to_shuttle()
* Renames many vars, including shuttle 'id' var to 'shuttle_id' and engine 'state' to 'engine_state'.
* Engines now weakref their attached ship, and disconnect when unwrenched from it.
* Removes check for force when deleting a mobile docking port, being deleted should still clear your stuff, regardless of being forced.

Because of all the above, I was able to remove a few pointless checks scattered around, like engine's alter_engine_power()

* better comment for port_id

* Fixes Cargo, Arrivals, and Pirate ships.

* Merge branch 'master' into shuttlecode-oh-no

* last few

* fixes the CI

* fixes

* Fixes infinite engines

* Revert "Merge branch 'master' into shuttlecode-oh-no"

This reverts commit 94eba37de9fe3f4a01dc40bb064771b764f379e3.

* trammies

* whiteship tram

* Makes use of ?. instead

apparently this is what weakrefs use, so 🤷

* i hate supernovaa41

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>

* removes lateinit that I never implemented

* adds _ref to weakref var name

* small change to weld time define

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-09-07 11:43:54 -04:00
skylord-a52
be0e6efdf6 [IDB IGNORE] [MDB IGNORE] Makes the icons/mob folder sane (#69302)
About The Pull Request

Reorganizes the entire icons/mob folder.

Added the following new subfolders:

    nonhuman-player (this was initially just called "antag", but then I realized guardians aren't technically antags)
    simplemob
    silicon
    effects (for bloodstains, fire, etc)
    simplemob/held-pets (for exactly that -- I wasn't sure if this should go in inhands instead)
    species/monkey

Moves the following stuff:

    All human parts moved into species, with moth, lizard, monkey, etc parts moved to corresponding subfolders. Previously, there were some moth parts in mob/species/moth, and others just loose in mob. Other species were similar.
    icemoon, lavaland, and jungle folders made into subfolders of simplemob
    All AI and silicon stuff, as well as Beepsky et al. into the silicon folder, simplemobs into the simplemob folder, aliens into the nonhuman-player folder, etc.
    Split up animal_parts.dmi into two bodyparts.dmi which were put in their respective folders (species/alien and species/monkey)

Code changes:

    Filepath changes to account for all of this
    Adds a check when performing surgery on monkeys and xenos, because we can no longer assume their limbs are in the same file
    Turns some hardcoded statues and showcases that were built into maps into objects instead

Things I'd like to do in the future but cant be assed right now:

    Remove primarily-antag sprites from simplemob/mob.dmi (Revenant, Morph, etc.) and put them in the nonhuman-player folder
    Split up mutant_bodyparts.dmi into different files for Tizirans, Felinids, monkeys, etc and put them in their own folders. Those may have once been meant primarily for mutated humans but that's now how they're being used right now.
2022-09-03 11:52:54 -07:00
distributivgesetz
714aa3b150 [MDB IGNORE] APC controller and Power Monitor/AmpCheck fixes, aka How do I write PR titles (#69146)
About The Pull Request

bgug fix stuff
APC controller UI has its elements section'ed off. The backend has been redone to make the behaviour of the APC controller a bit less janky. The console should be more stable, and all the soul has been removed from the code and the UI.

before this PR stales out from nobody wanting to review my pr, I should probably outline what exactly changed:

    APC controller consoles have had their APC code almost entirely reworked. They no longer have to hold a reference to the person using the controller currently, and APCs themselves no longer hold a reference to the controller, instead to the person directly. A lot of code was moved to APC themselves to make it a lot more stable.
    APC controller used to call toggle_breaker without passing args, causing a runtime. Fixed in 

    Fixes the power flow control console not actually being able to toggle breakers #69343
    APC controller UI has had the Window.Content tags moved up to the top component, and a lot has been sectioned off to make the UI more sane.
    AmpCheck used to look for a wire on it's turf, or as a fallback look for the Area APC. A check to see if the APC has a terminal did so on a weakref, causing a runtime and preventing the program from ever finding a valid APC in it's area, making it show nothing. This has been fixed. On the other hand, the power monitor console did not store the ground wire or APC terminal as a weakref, this has been updated. As a fallback, if there are still no APCs in the powernet, the UI will show a dimmer popup.
    There was a "secret" power monitor variation in code so PDAs could not access monitors in hidden places. With the removal of PDAs, this control console is useless.

Why It's Good For The Game

Tiny bit of (much needed) polish on some useful tools in the engineering department.
Changelog

cl
fix: Fixed runtime when using AmpCheck without connecting the console with a wire.
fix: Fixed a few runtimes that could occur when using APC controller consoles.
qol: Sucked soul out of APC controller code and UI.
del: Removed "secret" power monitor console.
/cl
2022-09-02 09:45:45 +12:00
scriptis
96ab1948f5 Fix "secuirty shutters" at the syndicate base (#69392)
Every person and your mother has seen it. It's terrifying. Mortifying, even. It shakes you to your very core. How could this have happened? Why must we condemn every player on a hijacked shuttle to this horrible fate? Thousands upon thousands of innocent players have been condemned, cursed forever to look upon the eldritch horror that is secuirty shutters
2022-08-23 18:26:23 -06:00
John Willard
4a274a6e4b [MDB IGNORE] Refactors drinks and fixes a lot of food problems (#69081)
* Makes condiments their own subtype, fixes geese, prepares for merging

* Fixes geese checking drink type instead of edible foodtype to eat gross food.
* Renames foodtype var on drinks to drink_types to prevent above from happening again because it KEEPS HAPPENING. DRINKS AREN'T FOOD!
* Makes Condiments their own subtype of reagent_containers because they don't make any use of being a subtype of food, at all.
* Starts moving things from food to /food/drink subtype in preparation for merging /food/drink with /drink

* fully removes Food subtype

* /reagent_containers/drinks are now /reagent_containers/cup - This is so it's no longer confused with eachother.
* /food/drinks is now /reagent_containers/cup/drinks, so we can keep their special abilities.
* Fixes a LOT of errors with food, which are STILL checking the reagent_containers, despite ACTUAL food being refactored away from it a long time ago.

This doesn't compile yet, but I do want to make sure my progress is well tracked.

* remove copypaste code, changes soda cans

* Removes most copy paste code between the two drinks, moving most stuff to parent whenever needed.
* Made soda cans their own subtype since they didn't share anything with glass bottles anyways.
* Fixes more problems with food/drinks, especially with geese. Geese really were just broken this whole time and no one said a word...
* Removes a snowflake signal, now that both drink types share a common one.
* Adds everything to the .dme

Currently my goal is to get this all compiling, then remove isGlass var by making glass be all glass ones only.

* Moves all icons into a single drinks dmi

I'm not that great at icon stuff, hopefully I didn't forget/break anything.

* Turns juices into their own subtype

This allows us to let them check for type in molotov, to both get rid of a use of isGlass, and so non-glass non-cartons don't show up as 'carton'.

* fixes compile issues, adds updatepaths

* a better updatepaths

* updates the damn maps now

* properly names the updatepath

* how did that get there

* i suck at handling merge conflicts

* how am i this bad

* code improvement and soda fix

* more fixes

* Don't be a timer

Ports from old food bottles to trans the reagents, rather than add a timer to.

* Merge conflicts and fixes bottle smashing

* Bottle smashing is now consistently functional regardless of how much liquid they have in them, when before it would spill first, then smash on the second hit.

* runs updatepaths again
2022-08-12 15:24:14 -04:00
Profakos
4fb0733102 Thunderdome showtime button (#68741) 2022-08-03 05:15:54 -07:00
Jeremiah
86e801987e Reworks pAIs (#68241)
A pretty heavy refactor for pAIs that just spilled into a rework.

Attempts to fully document and organize backend code.
Fixes a large number of bugs left untouched for a decade.
Breaks down the frontend into subcomponents.
Rebalances their software modules.
(should) fix pAI faces get removed if you activate them during alert #68242
2022-07-24 16:18:59 +01:00
Twaticus
0310aaa254 The GAGening: Clothesmate edition (#68111)
About The Pull Request

Resprites various clothing items from the clothesmate with GAGs.
Organizes the clothesmate. Recolorable items on top, in the order of head, mask, neck, glasses, gloves, acc, belt, under, suit, shoes.
Adds a pair of jean shorts.
Tweaks some already GAG'd sprite colors.

Top: OG
Mid: Resprite in the style of the OG
Bottom: Random colors to showcase colorable channels
yoopp
sundress, tango, plaid, slacks(khakis), shorts, jeans, turtleneck skirt. scarf, large scarf, beanie. new jean shorts.
(excuse the inconsistent pantyhoes, hair, and ears i was already done screenshotting before i realized)
Why It's Good For The Game

Expands the amount of in-game customization while also cutting down on current and future sprites at the same time its like magic.
Changelog

cl
imageadd: Various clothing items have been converted using GAGs, making them recolorable. Check it out at your local clothesmate!
/cl
2022-07-21 09:10:26 +12:00
Jolly
5b9e7ca007 [Cent Com] Removes a mysterious door from outside the ThunderDome (#68501)
At Central Command, NanoTrasen's elite architects have noticed that they built a door inside a window outside the Thunderdome and have decided to remove it.
2022-07-17 21:10:33 -06:00