Skip to content

Commit

Permalink
quadborg
Browse files Browse the repository at this point in the history
  • Loading branch information
fenndragon committed Dec 19, 2024
1 parent adb4986 commit 738e6c4
Show file tree
Hide file tree
Showing 60 changed files with 353 additions and 2 deletions.
19 changes: 19 additions & 0 deletions Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using Content.Shared._RMC14.Prototypes;

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / YAML Linter

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / YAML Linter

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / Test Packaging

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)

Check failure on line 1 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / Test Packaging

The type or namespace name '_RMC14' does not exist in the namespace 'Content.Shared' (are you missing an assembly reference?)
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;

// ReSharper disable once CheckNamespace
namespace Content.Shared.Guidebook;

public sealed partial class GuideEntryPrototype : IInheritingPrototype, ICMSpecific

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / YAML Linter

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / YAML Linter

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / Test Packaging

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)

Check failure on line 8 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / Test Packaging

The type or namespace name 'ICMSpecific' could not be found (are you missing a using directive or an assembly reference?)
{
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<GuideEntryPrototype>))]

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / build (ubuntu-latest)

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / YAML Linter

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / YAML Linter

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / Test Packaging

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.

Check failure on line 10 in Content.Shared/_RMC14/Guidebook/GuideEntryPrototype.cs

View workflow job for this annotation

GitHub Actions / Test Packaging

The type 'Content.Shared.Guidebook.GuideEntryPrototype' cannot be used as type parameter 'TPrototype' in the generic type or method 'AbstractPrototypeIdArraySerializer<TPrototype>'. There is no implicit reference conversion from 'Content.Shared.Guidebook.GuideEntryPrototype' to 'Robust.Shared.Prototypes.IPrototype'.
public string[]? Parents { get; }

[NeverPushInheritance]
[AbstractDataField]
public bool Abstract { get; }

[DataField]
public bool IsCM { get; }
}
46 changes: 46 additions & 0 deletions Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
parent: BaseBorgChassisNT
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: robot
- state: robot_e_r
Expand All @@ -29,13 +30,51 @@
node: cyborg
- type: Speech
speechVerb: Robotic

- type: entity
id: BorgChassisQuad
parent: BaseBorgChassisNT
components:
- type: Sprite
scale: 0.6, 0.6
layers:
- state: quadsprite
map: ["movement"]
- state: quadspritel
map: ["enum.BorgVisualLayers.Light"]
shader: unshaded
visible: false
- state: quadspritel
shader: unshaded
map: ["light"]
visible: false
- type: BorgChassis
maxModules: 6
moduleWhitelist:
tags:
- BorgModuleGeneric
- BorgModuleSecurity
hasMindState: quadsprite
noMindState: quadspritel
- type: AccessReader
access: [["Security"], ["Armory"], ["Command"]]
- type: BorgTransponder
sprite:
sprite: Mobs/Silicon/chassis.rsi
state: quadsprite
name: cyborg
- type: Construction
node: cyborg
- type: Speech
speechVerb: Robotic

- type: entity
id: BorgChassisMining
parent: BaseBorgChassisNT
name: salvage cyborg
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: miner
map: ["movement"]
Expand Down Expand Up @@ -92,6 +131,7 @@
name: engineer cyborg
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: engineer
- state: engineer_e_r
Expand Down Expand Up @@ -142,6 +182,7 @@
name: janitor cyborg
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: janitor
map: ["movement"]
Expand Down Expand Up @@ -200,6 +241,7 @@
name: medical cyborg
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: medical
map: ["movement"]
Expand Down Expand Up @@ -265,6 +307,7 @@
name: service cyborg
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: service
- state: service_e_r
Expand Down Expand Up @@ -314,6 +357,7 @@
description: A lean, mean killing machine with access to a variety of deadly modules.
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: synd_sec
- state: synd_sec_e
Expand Down Expand Up @@ -345,6 +389,7 @@
description: A combat medical cyborg. Has limited offensive potential, but makes more than up for it with its support capabilities.
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: synd_medical
- state: synd_medical_e
Expand Down Expand Up @@ -374,6 +419,7 @@
description: A streamlined engineering cyborg, equipped with covert modules. Its chameleon projector lets it disguise itself as a Nanotrasen cyborg.
components:
- type: Sprite
scale: 0.5, 0.5
layers:
- state: synd_engi
- state: synd_engi_e
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,15 @@
tags:
- BorgModuleCargo

- type: entity
id: BaseBorgModuleSecurity
parent: BaseBorgModule
abstract: true
components:
- type: Tag
tags:
- BorgModuleSecurity

- type: entity
id: BaseBorgModuleEngineering
parent: BaseBorgModule
Expand Down Expand Up @@ -299,6 +308,36 @@
- type: ItemBorgModule
items:
- RCDRecharging

- type: entity
id: BorgModuleStun
parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ]
name: Disabler cyborg module
components:
- type: Sprite
layers:
- state: security
- state: icon-stun
- type: ItemBorgModule
items:
- WeaponBorgDisabler
- WeaponborgTaser
- BorgStunbaton

- type: entity
id: BorgModuleKill
parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ]
name: combat cyborg module
components:
- type: Sprite
layers:
- state: security
- state: icon-kill
- type: ItemBorgModule
items:
- WeaponAntiqueLaser
- WeaponborgPistolMk58
- CombatKnife

# janitorial modules (this gets its own unique things because janis are epic)
- type: entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,49 @@
- type: GuideHelp
guides:
- Security

- type: entity
name: borg disabler
parent: BaseWeaponBatterySmall
id: WeaponBorgDisabler
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
components:
- type: Tag
tags:
- Taser
- Sidearm
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-unshaded-0
map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded
- type: Clothing
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
quickEquip: false
slots:
- suitStorage
- Belt
- type: Gun
fireRate: 2
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
- type: ProjectileBatteryAmmoProvider
proto: BulletDisabler
fireCost: 100
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 30
- type: MagazineVisuals
magState: mag
steps: 5
zeroVisible: true
- type: Appearance
- type: GuideHelp
guides:
- Security

- type: entity
name: disabler SMG
Expand Down Expand Up @@ -557,6 +600,88 @@
zeroVisible: true
- type: Appearance

- type: entity
name: borg taser
parent: BaseWeaponBatterySmall
id: WeaponborgTaser
description: A low-capacity, energy-based stun gun used by security teams to subdue targets at range.
components:
- type: Tag
tags:
- Taser
- Sidearm
- type: Sprite
sprite: Objects/Weapons/Guns/Battery/taser.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-unshaded-0
map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded
- type: Item
heldPrefix: taser4
- type: Clothing
quickEquip: false
slots:
- Belt
- type: Gun
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/taser.ogg
- type: ProjectileBatteryAmmoProvider
proto: BulletTaser
fireCost: 200
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 40
- type: MagazineVisuals
magState: mag
steps: 5
zeroVisible: true
- type: Appearance

- type: entity
name: Borg mk 58
parent: BaseWeaponBatterySmall
id: WeaponborgPistolMk58
description: This is an antique laser pistol. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Pistols/mk58.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: Clothing
sprite: Objects/Weapons/Guns/Pistols/mk58.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: Gun
fireRate: 5
availableModes:
- SemiAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/mk58.ogg
fireOnDropChance: 0.5
- type: ProjectileBatteryAmmoProvider
proto: BulletKineticShuttle
fireCost: 100
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 40
- type: Battery
maxCharge: 1000
startingCharge: 1000
- type: Appearance
- type: Tag
tags:
- HighRiskItem
- Sidearm
- WeaponAntiqueLaser
- type: StaticPrice
price: 750
- type: StealTarget
stealGroup: WeaponAntiqueLaser

- type: entity
name: antique laser pistol
parent: BaseWeaponBatterySmall
Expand Down
Loading

0 comments on commit 738e6c4

Please sign in to comment.