Xenoborgs Remastered (#5756)

## About The Pull Request
New enhanced Xenoborg sprites replacing the prior ones as well as adding
new ones for the rest of the missing Xenoborg modules. The sprites now
are less flat colored and have a trim around the harder metal plates to
vary the color pallette. Also makes their hats now better positioned to
their heads.
## Why It's Good For The Game
New better less scuffed borg sprites yippee.
## Proof Of Testing
<img width="1250" height="502" alt="xenoborg remastered"
src="https://github.com/user-attachments/assets/c86ea581-0636-4ef8-8aa4-5870138a1802"
/>
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
cl:
add: Adds new Xenoborg sprites while replacing old ones with new ones.
fix: Improves hat wearing for standing Xenoborgs. 
add: the missing Security, CC, and Clown Xenoborg sprites.
/🆑
This commit is contained in:
Octopus-King
2026-06-09 09:41:24 -04:00
committed by GitHub
parent 0611c86273
commit 2c2ae9d7e1
15 changed files with 50 additions and 26 deletions
@@ -203,6 +203,9 @@
#define CYBORG_ICON_SCI_XENOBORG 'modular_zubbers/code/modules/silicons/borgs/sprites/xenomorphborgs/xenoborg_sci.dmi'
#define CYBORG_ICON_SERVICE_XENOBORG 'modular_zubbers/code/modules/silicons/borgs/sprites/xenomorphborgs/xenoborg_service.dmi'
#define CYBORG_ICON_SYNDI_XENOBORG 'modular_zubbers/code/modules/silicons/borgs/sprites/xenomorphborgs/xenoborg_syndi.dmi'
#define CYBORG_ICON_CC_XENOBORG 'modular_zubbers/code/modules/silicons/borgs/sprites/xenomorphborgs/xenoborg_CC.dmi'
#define CYBORG_ICON_SEC_XENOBORG 'modular_zubbers/code/modules/silicons/borgs/sprites/xenomorphborgs/xenoborg_sec.dmi'
#define CYBORG_ICON_CLOWN_XENOBORG 'modular_zubbers/code/modules/silicons/borgs/sprites/xenomorphborgs/xenoborg_clown.dmi'
/************************************************************
CYBORG HAT OFFSETS GO BELOW
*************************************************************/
@@ -256,3 +259,6 @@
#define MYOMER_HAT_OFFSET \
SKIN_HAT_OFFSET = list("north" = list(16, 1), "south" = list(16, 1), "east" = list(26, 1), "west" = list(6, 1)), \
SKIN_HAT_REST_OFFSET = list("north" = list(16, -11), "south" = list(16, -11), "east" = list(26, -11), "west" = list(6, -11))
#define XENOBORG_HAT_OFFSET \
SKIN_HAT_OFFSET = list("north" = list(16, 10), "south" = list(16, 5), "east" = list(32, 7), "west" = list(0, 7)), \
SKIN_HAT_REST_OFFSET = list("north" = list(16, 6), "south" = list(16, 6), "east" = list(31, 6), "west" = list(1, 6))
@@ -59,6 +59,12 @@
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SMALL, TRAIT_R_WIDE),
SMOL_RAPTOR_HAT_OFFSET
),
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_CC_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
XENOBORG_HAT_OFFSET
),
)
/obj/item/robot_model/centcom/rebuild_modules()
@@ -241,11 +247,10 @@
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SCI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
XENOBORG_HAT_OFFSET
),
)
/* BUBBER SPRITE ADDITIONS BELOW */
// Clown borgs
@@ -274,6 +279,12 @@
SKIN_ICON = CYBORG_ICON_CLOWN_DRAGONBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_HAS_UNIQUE_RESTING_LIGHTS, TRAIT_R_EXPANDER_BLOCKED, TRAIT_R_BIG)
),
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_CLOWN_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
XENOBORG_HAT_OFFSET
),
)
// Standard borgs
@@ -367,7 +378,7 @@
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_MED_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
XENOBORG_HAT_OFFSET
),
)
@@ -445,7 +456,7 @@
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_ENGI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
XENOBORG_HAT_OFFSET
),
)
@@ -506,8 +517,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_JANI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -592,8 +603,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_MINING_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -661,6 +672,12 @@
SKIN_ICON = CYBORG_ICON_SEC_DRAGONBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_HAS_UNIQUE_RESTING_LIGHTS, TRAIT_R_EXPANDER_BLOCKED, TRAIT_R_BIG)
),
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SEC_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
XENOBORG_HAT_OFFSET
),
)
// Peacekeeper borgs
@@ -742,8 +759,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_PK_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -831,10 +848,11 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SERVICE_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
// Cargo borgs
/obj/item/robot_model/cargo/Initialize(mapload)
. = ..()
@@ -887,8 +905,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_CARGO_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -970,8 +988,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SYNDI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -1035,8 +1053,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SYNDI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -1102,8 +1120,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SYNDI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -1164,8 +1182,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_SYNDI_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -1224,8 +1242,8 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_NINJA_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
@@ -1259,7 +1277,7 @@
"Xenoborg" = list(
SKIN_ICON_STATE = CYBORG_ICON_TYPE_XENOBORG,
SKIN_ICON = CYBORG_ICON_NINJA_XENOBORG,
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_WIDE),
RAPTOR_HAT_OFFSET
SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_UNIQUEPANEL, TRAIT_R_BIG),
XENOBORG_HAT_OFFSET
),
)
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB