Files
wwdpublic/Content.Shared/DrawDepth/DrawDepth.cs
Kyoth25f ed2301f840 Port Blob (#2441)
Ports Blob from https://github.com/Goob-Station/Goob-Station/pull/975
that was ported from https://github.com/Rxup/space-station-14.

Credit to VigersRay for original code, Roudenn and Rxup for maintaining
and jorgun for the Goob port.

---

- [X] Port https://github.com/Goob-Station/Goob-Station/pull/975;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/1209;
- [X] Port Blob related code from
https://github.com/Goob-Station/Goob-Station/pull/1262;
- [X] Port Blob related code from
https://github.com/Goob-Station/Goob-Station/pull/1340;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/1408;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/1419;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/1440;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/1817;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/2077;
- [ ] ~Port https://github.com/Goob-Station/Goob-Station/pull/1916~;
- [ ] ~Port https://github.com/Goob-Station/Goob-Station/pull/1917~;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/2077;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/2092;
- [X] Port https://github.com/Goob-Station/Goob-Station/pull/2546;
- [X] Port https://github.com/Rxup/space-station-14/pull/963;
- [X] Port https://github.com/Rxup/space-station-14/pull/998;
- [ ] ~Port https://github.com/Goob-Station/Goob-Station/pull/2563~.

- [X] Enable Blob and Blob gamemode;
- [X] Add `StationGlobConfig` to all stations;
- [X] Use `AnnouncerSystem` in `BlobRuleSystem.cs`;
- [X] Blob language and Hivemind (from
https://github.com/Rxup/space-station-14/pull/176);
- [x] Change CVars location;
- [X] Add media.

---

<details><summary><h1>Media</h1></summary>
<p>
https://youtu.be/-WtMQwRcmrU?si=su3An6RtiCTZg-DV
</p>
</details>

---

🆑 VigersRay, Roudenn, Rxup, vladospupuos, fishbait and Kyoth25f
- add: Added a new antagonist: Blob

---------

Co-authored-by: fishbait <gnesse@gmail.com>
Co-authored-by: Fishbait <Fishbait@git.ml>
Co-authored-by: Aiden <aiden@djkraz.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: lanse12 <cloudability.ez@gmail.com>
Co-authored-by: BombasterDS <deniskaporoshok@gmail.com>
Co-authored-by: Aviu00 <93730715+Aviu00@users.noreply.github.com>
Co-authored-by: Piras314 <p1r4s@proton.me>
Co-authored-by: shibe <95730644+shibechef@users.noreply.github.com>
Co-authored-by: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Co-authored-by: JohnOakman <sremy2012@hotmail.fr>
Co-authored-by: Fat Engineer Gaming <159075414+Fat-Engineer-Gaming@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Rouden <149893554+Roudenn@users.noreply.github.com>
2025-07-12 12:20:25 +10:00

124 lines
4.4 KiB
C#

using Robust.Shared.Serialization;
using DrawDepthTag = Robust.Shared.GameObjects.DrawDepth;
namespace Content.Shared.DrawDepth
{
[ConstantsFor(typeof(DrawDepthTag))]
public enum DrawDepth
{
/// <summary>
/// This is for sub-floors, the floors you see after prying off a tile.
/// </summary>
LowFloors = DrawDepthTag.Default - 14,
// various entity types that require different
// draw depths, as to avoid hiding
#region SubfloorEntities
ThickPipe = DrawDepthTag.Default - 13,
ThickWire = DrawDepthTag.Default - 12,
ThinPipe = DrawDepthTag.Default - 11,
ThinWire = DrawDepthTag.Default - 10,
#endregion
/// <summary>
/// Things that are beneath regular floors.
/// </summary>
BelowFloor = DrawDepthTag.Default - 9,
/// <summary>
/// Used for entities like carpets.
/// </summary>
FloorTiles = DrawDepthTag.Default - 8,
/// <summary>
/// Things that are actually right on the floor, like ice crust or atmos devices. This does not mean objects like
/// tables, even though they are technically "on the floor".
/// </summary>
FloorObjects = DrawDepthTag.Default - 7,
/// <summary>
// Discrete drawdepth to avoid z-fighting with other FloorObjects but also above floor entities.
/// </summary>
Puddles = DrawDepthTag.Default - 6,
/// <summary>
// Objects that are on the floor, but should render above puddles. This includes kudzu, holopads, telepads and levers.
/// </summary>
HighFloorObjects = DrawDepthTag.Default - 5,
BlobTiles = DrawDepthTag.Default - 4, // Goobstation - Blob
DeadMobs = DrawDepthTag.Default - 4,
/// <summary>
/// Allows small mobs like mice and drones to render under tables and chairs but above puddles and vents
/// </summary>
SmallMobs = DrawDepthTag.Default - 3,
Walls = DrawDepthTag.Default - 2,
/// <summary>
/// Used for windows (grilles use walls) and misc signage. Useful if you want to have an APC in the middle
/// of some wall-art or something.
/// </summary>
WallTops = DrawDepthTag.Default - 1,
/// <summary>
/// Furniture, crates, tables. etc. If an entity should be drawn on top of a table, it needs a draw depth
/// that is higher than this.
/// </summary>
Objects = DrawDepthTag.Default,
/// <summary>
/// In-between an furniture and an item. Useful for entities that need to appear on top of tables, but are
/// not items. E.g., power cell chargers. Also useful for pizza boxes, which appear above crates, but not
/// above the pizza itself.
/// </summary>
SmallObjects = DrawDepthTag.Default + 1,
/// <summary>
/// Posters, APCs, air alarms, etc. This also includes most lights & lamps.
/// </summary>
WallMountedItems = DrawDepthTag.Default + 2,
/// <summary>
/// Generic items. Things that should be above crates & tables, but underneath mobs.
/// </summary>
Items = DrawDepthTag.Default + 3,
/// <summary>
/// Stuff that should be drawn below mobs, but on top of items. Like muzzle flash.
/// </summary>
BelowMobs = DrawDepthTag.Default + 4,
Mobs = DrawDepthTag.Default + 4,
OverMobs = DrawDepthTag.Default + 5,
Doors = DrawDepthTag.Default + 6,
/// <summary>
/// Blast doors and shutters which go over the usual doors.
/// </summary>
BlastDoors = DrawDepthTag.Default + 7,
/// <summary>
/// Stuff that needs to draw over most things, but not effects, like Kudzu.
/// </summary>
Overdoors = DrawDepthTag.Default + 8,
/// <summary>
/// Explosions, fire, melee swings. Whatever.
/// </summary>
Effects = DrawDepthTag.Default + 9,
Ghosts = DrawDepthTag.Default + 10,
/// <summary>
/// Use this selectively if it absolutely needs to be drawn above (almost) everything else. Examples include
/// the pointing arrow, the drag & drop ghost-entity, and some debug tools.
/// </summary>
Overlays = DrawDepthTag.Default + 11,
}
}