Commit Graph

70 Commits

Author SHA1 Message Date
OrionTheFox
025f4c4759 Updates all the icons in under/suits.dmi and related sorting/cleanup (#76865)
Somebody was pointing out how our suits varied WILDLY in quality
Figured I'd go through and tidy them up
2023-08-01 09:11:13 +00:00
distributivgesetz
ce2ba38d7c Mafia chaplain seance can no longer be used on living people (#77070)
## About The Pull Request

Small oversight in how the use flag was checked. Also there was a
misleading code comment that I removed.
## Why It's Good For The Game

Fixes #77042
## Changelog
🆑
fix: Mafia chaplains can now only use their seances on dead people now.
/🆑
2023-07-26 10:00:00 +02:00
Zephyr
f71ea26f72 Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types (#76822)
## About The Pull Request

Removes all of the duplicate global lists for specific machine types
where the only thing they do is store all machines of that type.
Adds machine tracking to SSmachines in the form of a list for all
machines, and then an associative list for machines by their type.
Previously we have machines in multiple global lists, such as airlocks
being in GLOB.doors, GLOB.airlocks, GLOB.machines.
This makes that not a thing, and also means that iterating through
GLOB.machines looking for a specific type is no longer as expensive.
2023-07-15 16:17:46 -04:00
lessthanthree
2b6f93d521 Maptext 2023 tweaks [NO GBP] (#76397)
## About The Pull Request

- In PR https://github.com/tgstation/tgstation/pull/76356 missed a few
bits of maptext around, such as shuttle signs and the supermatter. Small
text adjustments/fixes here.
- Large amount of feedback about the context tooltips. Increases size,
lightens default color as to not be too imposing.

🆑 LT3
qol: Context tooltip size increased
fix: Fixed remnants of old maptext code on various things
/🆑
2023-06-29 23:32:10 -07:00
LemonInTheDark
a8e16030f8 Optimizes timer insertion by 80% (W QDEL_IN micro) (#76214)
<!-- 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

[Reduces timer insertion cost by
80%](c9e5b285ed)

Timer name generation involved a LOT of string shit, some in ways where
the string only existed for a moment.
This costs a good bit of time, and can be reduced with only minimal
impacts on the end product, so let's do that. Includes a compile flag to
flip it back if we ever have trouble in future.

This is about 0.1s off init, since we do a lot of timer stuff then too

[Removes STOPPABLE flag from QDEL_IN, moves it to a bespoke
macro](e7a5d7f2a7)

Its a waste most of the time, tho I would LOVE to analyze at compile
time to work out if we care
## Why It's Good For The Game

I like it when we don't spend all of our cpu time just setting the name
var on timers. that's good and not bad.
This saves time fucking everywhere. 15% off explosions, 0.1 seconds off
init, bunch of time off foam. it's just good.

Cherry picked out of #76104 since that was too cluttered (sannnnnn)

<!-- 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. -->

<!-- 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. -->
2023-06-21 23:54:20 -06:00
John Willard
0f22bb001e Mafia update: Return to body when the game ends (#75258)
## About The Pull Request

Mafia players are now sent to their last body when the Mafia game ends,
and in the meantime they have text saying why they are dead.
They can still be revived during this period, and when the game is up
they'll be forced back into their body if alive, if they are dead then
they'll just be able to re-enter their corpse as normal.

Also since I was poking around in Mafia stuff:
- I removed mafia observing because it was unused (this previously was
used to allow ghosts to see Changeling chat).
- I fixed it being a Draw when there was one Town or Changeling left.
- I fixed the role list showing some roles multiple times
- I fixed the Chaplain not being able to use their night ability (and
therefore being completely useless)
- I added prevention to prevent Admins from causing runtimes or straight
up crashing the server, with a very real chance it can happen purely by
accident, through the Admin UI.

I'm hoping to change how this actually does the job because I find it to
be very bad coding practices, but my problem is that everyone who signs
up for Mafia is a ghost, and they are added into the game through their
CLIENTS, so we don't have access on the mafia controller or the role, to
the player's previous body or mind, without this shit.

Also adds a new mafia board icon

Made by tatax and I find it fits more the theme of Mafia than the
current one.

New UI
2023-06-05 13:18:20 -05:00
John Willard
91aa639923 Mafia victory and QOL Update (#74974)
## About The Pull Request

HoP is now a killing role as they theoretically can solo-kill through
voting.
Changelings also have can kill flag, even if it's useless for them, just
in-case.

Removes check_total_victory and block_team_victory from Neutrals, since
it was just snowflake code.
I instead reworked all of how victory is calculated.

Ghosts can no longer see Mafia chat, because I'd like to integrate dead
players into the round in the future, and ghosts knowing who the evils
are is lame. It's a deduction minigame, you're supposed to deduct who
the bad guys are.

### QoL stuff

- Adds maptext for voting periods so people know who you are voting for.


https://cdn.discordapp.com/attachments/326831214667235328/1097781395369246740/2023-04-18_03-09-12.mp4

- Adds a popup when someone is voted up, instead of being a big box of
text in your chat. This will help clog the chat less and make it easier
for players to understand what to do when the time comes.


https://cdn.discordapp.com/attachments/326831214667235328/1097770854005350481/2023-04-18_02-28-31.mp4

Lastly, converts Mafia panel to typescript

## Why It's Good For The Game

This should be the last of my Mafia reworks, hopefully.
This makes the game's victory calculated to ensure there's always a
chance anytime possible, while letting kingmaker scenarios exist.
Additionally, we shouldn't expect players to know how Mafia works
because we don't expect them to already have some background in Mafia
games, or have played Mafia before.

## Changelog

🆑
qol: [Mafia] Players get a popup when a player is voted to the stand.
qol: [Mafia] Players now have the name of who they voted for displayed
over their heads during voting period.
balance: [Mafia] Deadchat can no longer see Mafia chat.
balance: [Mafia] HoP can now solo-win.
/🆑
2023-04-29 13:56:15 -07:00
John Willard
2b844dab93 Mafia notes are no longer automatically written for you & new UI (#74819)
## About The Pull Request

Notes in Mafia are no longer written for you, you instead write it
yourself and save.
Also adds a button to automatically say out your notes for other
players.

Hides the judgment buttons when it's not time to judge
Makes the UI autoupdate and makes use of ui_data / ui_static_data

Video of it in action: https://www.youtube.com/watch?v=NDUSuIUqQv8

## Why It's Good For The Game

A downside to notes currently is that it's very easy to confirm yourself
as a role against players who don't code-dive to know exactly how notes
should be formatted for any role, this makes it easier, as everyone will
type out their own notes, and can send it directly to chat when needed.

## Changelog

🆑
balance: [Mafia] Notes are no longer written out for you.
qol: [Mafia] You can now send your notes to chat whenever.
qol: [Mafia] Roundend has changed. Solos will win over others in a 1v1,
but a HoP can keep a round going in case they can solo lynch.
/🆑
2023-04-25 08:43:36 -07:00
Rhials
e8f990e5c1 [NO GBP] Mafia fixes for some of my mafia mistakes (#74930)
## About The Pull Request

This fixes two issues with previous changes I've made to mafia workings.

The first makes the early start vote counter list properly. I
misunderstood what the FLOOR() macro did so the result would just put
out 0.

The early start vote counter now displays the higher value of either
(players signed up / 2) or (minimum players / 2). Since the minimum
playercount is 6, the it will display X/3 unless there are more than 6
players signed up.

The second change makes sure that check_start_votes() checks the mafia
signup list (as opposed to the early signup votes) to see if there are
enough players to start a game.
## Why It's Good For The Game

Fixes stupid things that I let slip in under the door.
## Changelog
🆑
fix: The mafia early vote counter will now properly display.
/🆑
2023-04-23 17:13:18 -06:00
John Willard
40e98a7ba4 Mafia rebalance and backend refactor (#74640)
## About The Pull Request

Turns all Mafia abilities into datums, instead of being a bunch of
shitcode on every single job.
This means it's easier to add new roles
Gives new names to some defines (such as the signal order, to make it
easier to tell when something is fired)
Adds support for modular Mafia jobs with their abilities being in a
certain order (Escort is now properly first).
De-snowflakes Changeling killing abilities and day voting, they're now
actions that are tallied when necessary.

Turns time vars into defines
Generalizes a lot of behavior for abilities, now all abilities can
properly undo their action at night

Fixes problems with the UI (Thoughtfeeder had 2 buttons during night and
they overlapped with names, that's been fixed).

### Behavior changes

- Doctor/Officer can now protect themselves 1 night, because it gives
them a way to protect themselves.
- Lawyer/Warden/Ect now choose their abilities at night, rather than the
day before. The suspense building up towards the end of the night is
part of the game, telling you that it happened at the very start is
quite lame (in the case of Lawyer, anyway).
- Admin setup now uses TGUI instead of html inputs.
- Cut night time by like, 5 seconds, because I found it a little long
lol.
- HoP doesn't count as votes to win until they reveal, because it makes
no sense an unrevealed HoP has their unrevealed votes tallied. I also
like those 1v1 Mayor V. Evil scenarios where dead chat goes crazy, and
hope to replicate that here.
- Mafia now needs 6 people to start instead of 4, because 4 players is
just not enough to play a Mafia round that will do anything but annoy
people.
- The game no longer ends if it's in a standoff with 1 Town, 1 Mafia,
and 1 Neutral, as you've got a kingmaker and they should decide who
wins.

### Things I want to change in the future
Every time night starts/ends, it checks the entire ``GLOB.airlocks`` for
doors with the "mafia" ID. This is stupid.
Rework ``check_victory()`` to make it make more sense, and be more fun
for players.
A visible death animation?
I want to use something similar to admin popup for messages about people
being on stand, and decluttering the UI in general
Also more use of balloon alerts instead of to chat messages for
everything.
Also also, making the UI more responsive to players. Button should be
red when a player is selected, so they know that's who they've selected,
if they want to unselect.
Are votes public when you first cast them? They shouldn't be wtf.
Can we also make the description for roles not be a to chat message? It
can just say when you hover over the '?' come on.
User-written wills instead of auto-generated, and able to send them in
chat
Add support for roleblock-immune roles

## Why It's Good For The Game

Updates a lot of old code to modern standards
Makes it considerably easier to work with Mafia and add new roles
Makes things less prone to breaking as easily.
Code also looks a lot cleaner now.

## Changelog

🆑
refactor: [Mafia] All Mafia abilities have been overhauled in the
backend, it's now much easier to understand what each role's ability can
do and how it works.
admin: [Mafia] Admin setup of Mafia is now in TGUI
balance: [Mafia] Doctors/Officers can protect themselves once per game.
Be careful around them!
fix: [Mafia] Thoughtfeeder's UI buttons at night won't overlap with
eachother.
fix: [Mafia] HoP's votes now actually matter, instead of being purely
visual.
qol: [Mafia] Lawyers, Wardens, etc. now perform their night ability at
night, instead of the day prior.
qol: [Mafia] Night time now lasts 40 seconds instead of 45.
/🆑
2023-04-17 19:57:55 -07:00
Tim
c0c76c3f05 [NO GBP] Fix minigames UI not removing inactive clients (#74391)
## About The Pull Request
Fixes #74260

The UI for the basketball menu was not properly updating when clients
would disconnect. This would allow someone to signup twice leading to
silly situations as detailed in the issue report. This issue also
affected the mafia minigame due to both UIs having similar code.

The fix is simple, just check the signups when the tgui menu has
interactions and also check to make sure the signups use a boolean
instead of a client for the value part of the key/value list. Why? After
a client would disconnect, the list would change and remove the client
object since it no longer exists. The solution is to keep the ckey as a
key, but use a boolean for the value.

## Why It's Good For The Game
Less bugs, more stability.

## Changelog
🆑
fix: Fix basketball and mafia minigame UI not removing inactive clients
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-04-07 11:31:52 +02:00
NamelessFairy
b3cce8cfa4 Fixes the basketball and thunderdome baseturf issue. (#74461)
## About The Pull Request

Simply modifies the should_place_on_top value on these maps templates so
that they overwrite their baseturfs rather that creating an evergrowing
stack. I've also done the same for Mafia and CTF which should also not
be creating stacked baseturfs.
Fixes #69711
Should fix #74443 too since its the same issue.
## Why It's Good For The Game

Bugfix good.
## Changelog
🆑
fix: Basketball and Thunderdome maps should not load with broken turfs
are several resets of their maps.
/🆑
2023-04-06 16:26:49 -06:00
Rhials
7c8e786575 [NO GBP] Mafia games only grant role win achievements when played with a full 12-player setup (#74314)
## About The Pull Request

Mafia games that are started early no longer grant achievements for
winning as X role.
## Why It's Good For The Game

Preserves the sanctity of achievements.

Achievements get disabled when a custom setup is run. This should bring
how early starts to be more in line with that.
## Changelog
🆑
fix: mafia games only grant role win achievements when played with a
full 12-player setup.
/🆑
2023-03-28 23:19:14 -06:00
Rhials
60184b2a49 Mafia games can now be voted on to start early, forced to start early by admins (#74256)
## About The Pull Request

**DISCLAIMER:** Mafia, being a 12-player game, is very very difficult to
debug. I've tested everything here to the extent that I can as one
person, but this might need some really careful inspection.

This PR adds a new option to the mafia minigame menu, which lets
signed-up players vote to start the game early. If there are more than
three players signed up, and at least half of them are voting to start,
the round will start. Admins also have the option to force a mafia round
to start in the admin options panel.

When a round is forcibly started, a random non-standard role setup is
created. Unlike the normal setup parameters, which assume you have
twelve players and attempts to fill out certain role types as a result,
this one uses pools based on role alignment. If you start with eight
players, you just might end up with four wardens, two thoughtfeeders,
and double clowns.

Every 3rd player is chosen as a random mafia member. The 5th and 6th
roles are neutral disruptive and a random neutral role respectively.
Everyone else is a random townie.

I believe this formula is sufficient to create a playable experience
with 5+ players. It can't start at any less than three, as the game
would auto-resolve instantly. The setup won't be pretty, but it's better
than no mafia game at all.
## Why It's Good For The Game

Now you can play mafia without the strict 12-player requirement! Gives
some opportunity for players to get acquainted with roles, the gameplay,
and the mafia panel in a lower-seriousness environment than a standard
12-man game.

If the ratio of early start voters required to start needs adjusting,
that can be done.
## Changelog
🆑 Rhials
add: You can now vote to start a Mafia game early. If over half of the
current signups vote (And you have three or more players) you will
immediately start a game with a slightly adjusted set of roles.
admin: You can now force a mafia game to start in the admin options
panel.
/🆑
2023-03-27 13:08:19 -06:00
san7890
bf6f81a9b5 Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test (#74037)
On the tin, doing it like this means we can reduce our overall line
fingerprint whenever we have to add two or more traits from the same
source on the same target. Especially helps when we get to the 4+ range
of traits, a breath of fresh air even.

Doesn't mean we have to do for loops, as that's already handled within
the define as well. I replaced some of the checks with `length()`
checks, let me know if I should switch it over to something else (maybe
`islist()`)? We stack_trace whenever we're not passed a list reference
on purpose, and sometimes var/lists are null by default (or just empty,
making this redundant).
## Why It's Good For The Game

I commonly feel the urge to write "use `AddTraits()`" or something in
reviews, then am sad when I remember it doesn't exist. I will no longer
be sad.

Can ensure a lot more trait safety as well by using static lists- when
both ADD_TRAIT_LIST and REMOVE_TRAIT_LIST re-use the same list, you are
confident (from a static point of view) that everything that you want to
be adding/removing works.

I may have missed a few things where this could be used, but both macros
implemented in this PR still use the same framework that was being used
in the last four years- so stuff won't break if left untouched. Just a
nifty new tool for developers.

also fixed up some code in the area, numerous bugs were found and
exploded
2023-03-18 01:57:06 +00:00
Rhials
85137164a1 Adds map-specific outfits for the mafia minigame, updates an out-of-date mafia map description (#74033)
## About The Pull Request

Themed Mafia maps will now equip players with a custom map-specific
outfit, instead of that ugly grey jumpsuit and sneakers.

Syndicate Megastation:

![mafia1](https://user-images.githubusercontent.com/28870487/225453474-2514e8df-778f-4a4a-a5ba-c90c41aa3020.png)

Vampire's Castle:

![mafia2](https://user-images.githubusercontent.com/28870487/225453488-c761a6e2-05e3-4fce-b89f-8a76d87884c6.png)

Alien Mothership:

![mafia3](https://user-images.githubusercontent.com/28870487/225453498-20c277eb-9437-40ab-a4a9-2745112e620a.png)

Lavaland Excursion (I took the pic at the pizza party ruin because I
didn't want to keep rerolling maps):

![mafia4](https://user-images.githubusercontent.com/28870487/225453537-500aa6a7-d4f1-49df-ac87-fb1babc567d3.png)

Snowdin:

![mafia5](https://user-images.githubusercontent.com/28870487/225453546-de11da5f-ec2d-4d07-857b-8b7f8d0f3441.png)

Spider Clan Kidnapping:

![image](https://user-images.githubusercontent.com/28870487/225456606-b12c14a9-599e-41f9-a9d3-7cd0fae63e5a.png)

This also changes the description for the "Snowdin" map.

```
"Based off of the icey moon map of the same name, the guy who reworked it pretty much did it for nothing since away missions are disabled but at least he'll get this...?"
```
Changed to:
```
"Based off of the icy moon map of the same name, the guy who reworked it did a good enough job to recieve a derivative piece of work based on it. Cool!"
```

Away missions are back! Snowdin is back!

## Why It's Good For The Game

Adds some neat costumes to compliment the map description blurbs. How am
I supposed to be immersed in the Mafia setting if everyone's dressed
like a greytider?

Updates an out of date map description.
## Changelog
🆑 Rhials
add: Mafia maps now come with their own thematic outfits!
spellcheck: Changes the "Snowdin" mafia map description 
/🆑
2023-03-16 21:27:37 -06: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
SkeletalElite
9e3a3caae9 Fixes HOS Beret (and all of its subtypes) having wrong path and thus not being armored (#72024)
The HoS' beret were not pathed properly so were no longer subtypes
of legitimate hos armor, this fixes that.
Now the HOS and syndicate berets have had their missing armor and strip
delay readded
2022-12-17 10:44:57 -05:00
MrMelbert
329921639a Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. (#71339)
## About The Pull Request

- Rewrites how action button icons are generated.
- Prior, generated an action button icon was fairly simplistic and
didn't allow for many changes. Someone recently added the option for
overlays to be generated over action buttons, but the framework was very
weak.
- Now, action button icon generation is split across multiple procs,
like atom icon updates.
      - The background of action buttons are underlays
- The actual icon of the action button is the icon and icon state of the
action button movable
- The rim / border of the button is an overlay, layered overtop the
button.

- Allows observers to see what action buttons a mob has. They even
update in real time! And no, the observers cannot click on them.

## Why It's Good For The Game

- Runechat text of action buttons are no longer hidden behind the actual
icon. This was very ugly with cooldown actions, as the cooldown text was
hidden behind a lot of spell icons.
- Cuts down on a lot of icon duplication. 
- Gives much finer control over action button icons
- Saves a bit of processing from generating full action button icons
when not necessary. Not implemented in many places, but is in some.


![image](https://user-images.githubusercontent.com/51863163/202816617-342e87e6-2cc6-488e-9af2-4b2053dc3dc6.png)


![image](https://user-images.githubusercontent.com/51863163/202816604-da8d4821-0e2b-45af-b289-7442367f98ce.png)

## Changelog

🆑 Melbert
add: Observers can now see what action buttons an observed mob has. No,
you can't click them. And no it doesn't show EVERY action.
refactor: Refactored how action button icons are generated. Some actions
will now use a colored border when active instead of just turning green.
Cooldown text will also appear on the top layer of actions too. If you
see any funky lookin' icons (namely their borders), let me know.
refactor: Bluespace Golem's teleport action is now a cooldown action.
fix: Construct actions go to the middle of the screen like expected. 
/🆑
2022-12-03 19:01:08 -08:00
John Willard
ac8dc42060 Strays away from GLOB.machines when possible (#71100)
## About The Pull Request

This replaces needless GLOB.machines with more precise lists whenever
one existed, plus adding a new one for CTF machines.

## Why It's Good For The Game

GLOB.machines holds every single /obj/machinery in the game, so checking
the whole list for stuff is pretty big. This aims to cut that down by
using smaller lists whenever possible. I also gave CTF a new list
because it checked machines very often.

## Changelog

Nothing player facing.
2022-11-15 08:59:22 -08:00
AnturK
4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

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

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

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

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
ShizCalev
e47045c05a Fixes runtime preventing mafia from starting if a player disconnects during signup. (#70513) 2022-10-15 00:32:56 -07: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
Twaticus
f0a78409d8 [MDB Ignore]Suit DMI split p1: Mob icons (#68417)
Co-authored-by: TWAT <twaticus.tg@gmail.com>
2022-07-17 01:18:20 -07:00
Wallem
12204f2943 GAGS-ifies ties, and removes inherent ties from some outfits. (#67053)
Removes the inherent ties from most civilian outfits with a single-color tie baked into them.
2022-05-30 22:02:25 -07:00
Jolly
cfc2330528 [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)
This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game
2022-05-23 13:01:19 -06:00
ike709
8dbdff492d OpenDream Cleanup Pass (#67036)
OpenDream can detect BYONDisms that BYOND or SpacemanDMM miss. This PR fixes all of the issues it found in TG. Each change is explained in code comments below.
2022-05-18 02:29:51 -04:00
Jolly
b4fb8f3ed1 [MDB IGNORE] You can have your cake and eat it too. Remake of #66406 (Splitting up areas.dmi + code related stuff) (#66726)
Areas.dmi right now houses all of our mapped turfs icons (which is roughly 400 icons). Not an issue, but it's incredibly large and clunky to navigate right now. This isn't an issue for the average coder and/or player code diving, but it is for mappers wanting to add new turfs. Currently, the file has some organization, but its still an overall mess. This PR aims to slice the behemoth with multiple .dmi files corresponding to specific areas.

I also plan to repath /area/* -> /area/station/* for station turf only. This is to clean it up, as most other turfs follow this format (that being /area/turf_zone/*).

I'm also writing an update paths file as I go along.
2022-05-06 12:09:53 -06:00
axietheaxolotl
376aa36626 Medical Revamp: Resprites and Jumpsuit/Under Changes (#65236)
New sprites for the CMO's turtleneck/skirtleneck, paramedic jumpsuit/jumpskirt, virologist jumpsuit/jumpskirt, and chemist jumpsuit/jumpskirt
2022-03-03 14:53:36 -03:00
Watermelon914
8fd85e9666 [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety (#63588)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: gbfree <guillaumebfree@gmail.com>
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: SuperNovaa41 <supernovaa41@protonmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: carshalash <carshalash@gmail.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2022-01-11 15:47:10 -08:00
Jackraxxus
c34cf29c1e Fixes the HoS in Mafia Not Being Able to Cancel Their Ability (#63926)
IDK I haven't tested it as I'm committing it so if you see this commit in the PR then it works but if you don't then it didn't work. Funny how that is.
2022-01-11 16:16:43 -05:00
John Willard
6c0aba5da4 removes double spaces AFTER symbols (#62515)
* removes double spaces AFTER symbols

* found more
2021-11-03 21:09:35 -04:00
Mothblocks
3be6f04b5c Add missing SIGNAL_HANDLERs (#62115)
Add missing SIGNAL_HANDLERs
2021-10-15 07:01:02 +01:00
TiviPlus
519a15032e Default Baselighting to white (#61544) 2021-09-19 03:18:24 -07:00
TiviPlus
e629c36feb Refactor area and turf lighting (#60954) 2021-08-25 15:07:38 -07:00
Rohesie
4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
coiax
603c7412bc Stop ethereals reviving during Mafia games (#60210) 2021-07-15 17:37:17 -07:00
KIBORG04
5347af6dfd Fix reveal role from a mafia psychologist (#59968) 2021-07-04 03:21:16 -07:00
RandomGamer123
a7d9ae50f7 Makes mafia roleblocks actually end (#59673)
Fixes a bug where if you were roleblocked one night by a lawyer in mafia you would be roleblocked FOREVER by adding a single missed character ~
2021-06-20 16:27:56 -03:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
ModDownloading
bdecd21be5 Update controller.dm (#59402) 2021-06-01 21:43:44 +02:00
Seris02
ff2f6abe83 Sort the majority of the rest of the unsorted chat (#58821)
* FINALLY IT IS DONE FUCK

* tip of the round into ooc

* adds cyopod chat messages to the info chat filter

* last one I promise probably, mob spawner messages to info filter

* holoparasite, round will start in x and keybinding conflict to respective filters

* removed motd from constants, made it infoplain surrounded instead

* changed info to infoplain
2021-05-05 05:57:40 +03:00
Celotajs
574c81a143 Resolve chameleon GAGS item issues (#58808)
This PR fixes issues with the chameleon jumpsuit and sneakers. In addition to that, it properly defines setting for GAGS worn and inhand icons instead of having them be in Initialize() for specific item types. Names for the prisoner jumpsuits and wheelys have also been reverted to how they were before the GAGS PR.
2021-04-30 22:16:18 -07:00
Celotajs
fb2d71495b Convert jumpsuits, jumpskirts and sneakers to GAGS (#58514) 2021-04-25 17:01:36 -04:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
GuillaumePrata
ddfaff343a Plasmaman won't burn or breath in Mafia/Highlander instead of being transformed into a Human. (#56501)
NO_BREATH and NO_FIRE are added to Mafia/Highlander players and
plasmaman there won't be turned into Humans.
Also shifts Ashwalkers above Ethereals and under Lizards in human.dm
just too keep it in a pretty order.
2021-02-07 16:31:24 +00:00
tralezab
19bd1e64a6 Revives old Mafia PR adding security, a mind bogglingly large amount of refactors, some documentation, and other niceities (#56199) 2021-02-04 18:34:50 -08:00
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Tad Hardesty
f80836d00d Fix broken dmdoc crosslinks (#53896)
- Backtick-escape code samples which contain `[]` syntax.
- Fix all crosslinks to nonexistent symbols.
- Somewhat improve docs for qdel defines, research defines, dynamic mode, and others.
- Remove unused bloodcrawling defines.

Some crosslinks to defined but undocumented symbols remain. For BYOND builtins, a future dmdoc version may link those symbols to their entries in the DM reference. Other symbols could be documented by a future PR.

New "file" crosslinks as used in `research.dm` are slated for release in a future dmdoc version.
2020-09-23 03:47:44 -03:00