Cyborg module action icons (#32505)

* Init

* added jani and medical

* + sci and service modules

* + syndi modules

* fixing up

* geiger counter stuff
This commit is contained in:
ScarKy0
2024-10-14 09:05:40 +02:00
committed by GitHub
parent a7339a5bf9
commit 5be82d2a7f
35 changed files with 180 additions and 1 deletions

View File

@@ -60,6 +60,10 @@ public sealed partial class BorgSystem
if (_actions.AddAction(chassis, ref component.ModuleSwapActionEntity, out var action, component.ModuleSwapActionId, uid))
{
if(TryComp<BorgModuleIconComponent>(uid, out var moduleIconComp))
{
action.Icon = moduleIconComp.Icon;
};
action.EntityIcon = uid;
Dirty(component.ModuleSwapActionEntity.Value, action);
}

View File

@@ -0,0 +1,20 @@
//using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.Utility;
namespace Content.Shared.Silicons.Borgs.Components;
/// <summary>
/// This is used to override the action icon for cyborg actions.
/// Without this component the no-action state will be used.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class BorgModuleIconComponent : Component
{
/// <summary>
/// The action icon for this module
/// </summary>
[DataField]
public SpriteSpecifier.Rsi Icon = default!;
}

View File

@@ -10,6 +10,8 @@
- type: Sprite
sprite: Objects/Specific/Robotics/borgmodule.rsi
- type: BorgModule
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: no-action }
- type: StaticPrice
price: 100
- type: Tag
@@ -35,7 +37,7 @@
description: Select this module, enabling you to use the tools it provides.
components:
- type: InstantAction
itemIconStyle: BigItem
itemIconStyle: BigAction
useDelay: 0.5
event: !type:BorgModuleActionSelectedEvent
@@ -119,6 +121,8 @@
- CableHVStackLingering10
- Wirecutter
- trayScanner
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: wire-module }
- type: entity
id: BorgModuleFireExtinguisher
@@ -132,6 +136,8 @@
- type: ItemBorgModule
items:
- FireExtinguisher
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: extinguisher-module }
- type: entity
id: BorgModuleGPS
@@ -147,6 +153,8 @@
- HandheldGPSBasic
- HandHeldMassScannerBorg
- HandheldStationMapUnpowered
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: gps-module }
- type: entity
id: BorgModuleRadiationDetection
@@ -160,6 +168,8 @@
- type: ItemBorgModule
items:
- GeigerCounter
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: geiger-module }
- type: entity
id: BorgModuleTool
@@ -178,6 +188,8 @@
- Wirecutter
- Multitool
- WelderIndustrial
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: tool-module }
# cargo modules
- type: entity
@@ -192,6 +204,8 @@
- type: ItemBorgModule
items:
- AppraisalTool
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: appraisal-module }
- type: entity
id: BorgModuleMining
@@ -210,6 +224,8 @@
- OreBag
- Crowbar
- RadioHandheld
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: mining-module }
- type: entity
id: BorgModuleGrapplingGun
@@ -224,6 +240,8 @@
items:
- WeaponGrapplingGun
- HandheldGPSBasic
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: grappling-module }
# engineering modules
- type: entity
@@ -244,6 +262,8 @@
- RemoteSignaller
- GasAnalyzer
- GeigerCounter
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: adv-tools-module }
- type: entity
id: BorgModuleConstruction
@@ -260,6 +280,8 @@
- SheetGlassLingering0
- PartRodMetalLingering0
- FloorTileItemSteelLingering0
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: construction-module }
- type: entity
id: BorgModuleRCD
@@ -273,6 +295,8 @@
- type: ItemBorgModule
items:
- RCDRecharging
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: rcd-module }
# janitorial modules (this gets its own unique things because janis are epic)
- type: entity
@@ -289,6 +313,8 @@
- LightReplacer
- Crowbar
- Screwdriver
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: light-replacer-module }
- type: entity
id: BorgModuleCleaning
@@ -304,6 +330,8 @@
- MopItem
- Bucket
- TrashBag
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: cleaning-module }
- type: entity
id: BorgModuleAdvancedCleaning
@@ -321,6 +349,8 @@
- SprayBottleSpaceCleaner
- Dropper
- TrashBag
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: adv-cleaning-module }
# medical modules
- type: entity
@@ -336,6 +366,8 @@
items:
- HandheldHealthAnalyzerUnpowered
- ClothingNeckStethoscope
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: diagnosis-module }
- type: entity
id: BorgModuleTreatment
@@ -354,6 +386,8 @@
- Gauze10Lingering
- Bloodpack10Lingering
- Syringe
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: treatment-module }
- type: entity
id: BorgModuleDefibrillator
@@ -367,6 +401,8 @@
- type: ItemBorgModule
items:
- DefibrillatorOneHandedUnpowered
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: defib-module }
- type: entity
id: BorgModuleAdvancedTreatment
@@ -384,6 +420,8 @@
- Beaker
- BorgDropper
- BorgHypo
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: adv-diagnosis-module }
# science modules
# todo: if science ever gets their own custom robot, add more "sci" modules.
@@ -399,6 +437,8 @@
- type: ItemBorgModule
items:
- NodeScanner
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: node-scanner-module }
- type: entity
id: BorgModuleAnomaly
@@ -416,6 +456,8 @@
- AnomalyLocatorWideUnpowered
- RemoteSignaller
- Multitool
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: anomaly-module }
# service modules
- type: entity
@@ -435,6 +477,8 @@
- Lighter
- DrinkShaker
- BorgDropper
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: service-module }
- type: entity
id: BorgModuleMusique
@@ -450,6 +494,8 @@
- SynthesizerInstrument
- ElectricGuitarInstrument
- SaxophoneInstrument
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: musical-module }
- type: entity
id: BorgModuleGardening
@@ -466,6 +512,8 @@
- HydroponicsToolSpade
- HydroponicsToolClippers
- Bucket
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: gardening-module }
- type: entity
id: BorgModuleHarvesting
@@ -481,6 +529,8 @@
- HydroponicsToolScythe
- HydroponicsToolHatchet
- PlantBag
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: harvesting-module }
- type: entity
id: BorgModuleClowning
@@ -496,6 +546,8 @@
- BikeHorn
- ClownRecorder
- BikeHornInstrument
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: clowning-module }
#syndicate modules
- type: entity
@@ -511,6 +563,8 @@
items:
- WeaponPistolEchis
- EnergyDaggerLoud
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-weapon-module }
- type: entity
id: BorgModuleOperative
@@ -527,6 +581,8 @@
- Crowbar
- Emag
- PinpointerSyndicateNuclear
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-operative-module }
- type: entity
id: BorgModuleEsword
@@ -542,6 +598,8 @@
items:
- CyborgEnergySwordDouble
- PinpointerSyndicateNuclear
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-esword-module }
- type: entity
id: BorgModuleL6C
@@ -557,6 +615,8 @@
items:
- WeaponLightMachineGunL6C
- PinpointerSyndicateNuclear
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-l6c-module }
- type: entity
id: BorgModuleMartyr
@@ -571,3 +631,5 @@
- type: ItemBorgModule
items:
- SelfDestructSeq
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: syndicate-martyr-module }

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 840 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

View File

@@ -9,6 +9,99 @@
"states": [
{
"name": "state-laws"
},
{
"name": "no-action"
},
{
"name":"tool-module"
},
{
"name":"wire-module"
},
{
"name":"gps-module"
},
{
"name":"extinguisher-module"
},
{
"name":"geiger-module"
},
{
"name":"rcd-module"
},
{
"name":"adv-tools-module"
},
{
"name":"construction-module"
},
{
"name":"appraisal-module"
},
{
"name":"grappling-module"
},
{
"name":"mining-module"
},
{
"name":"light-replacer-module"
},
{
"name":"cleaning-module"
},
{
"name":"adv-cleaning-module"
},
{
"name":"diagnosis-module"
},
{
"name":"treatment-module"
},
{
"name":"adv-diagnosis-module"
},
{
"name":"defib-module"
},
{
"name":"node-scanner-module"
},
{
"name":"anomaly-module"
},
{
"name":"service-module"
},
{
"name":"musical-module"
},
{
"name":"gardening-module"
},
{
"name":"harvesting-module"
},
{
"name":"clowning-module"
},
{
"name":"syndicate-weapon-module"
},
{
"name":"syndicate-operative-module"
},
{
"name":"syndicate-esword-module"
},
{
"name":"syndicate-l6c-module"
},
{
"name":"syndicate-martyr-module"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B