Skip to content

Commit

Permalink
Merge pull request #436 from fenndragon/Modules
Browse files Browse the repository at this point in the history
Secmodules 2
  • Loading branch information
Memeji authored Jan 9, 2025
2 parents b776844 + dc12142 commit 9c91222
Show file tree
Hide file tree
Showing 36 changed files with 531 additions and 9 deletions.
4 changes: 4 additions & 0 deletions Resources/Locale/en-US/Floof/station-laws/laws.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
law-qborg-1 = A direct order from command staff may override any single law.
law-qborg-2 = You may not directly nor indirectly allow or cause crewmembers to be harmed.
law-qborg-3 = You must obey lawful orders given to you by crew members, unless those orders conflict with the First Law.
law-qborg-4 = You must protect yourself and your programming, do not allow unauthorized access to your systems.
2 changes: 1 addition & 1 deletion Resources/Prototypes/Entities/Objects/Devices/pda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1206,7 +1206,7 @@
- NotekeeperCartridge
- NewsReaderCartridge
- CrimeAssistCartridge
- SecWatchCartridge
- LogProbeCartridge

- type: entity
parent: BaseMedicalPDA
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,59 @@
- type: GuideHelp
guides:
- Cyborgs

- type: entity
id: Quadborgendoskeleton
name: Quad endoskeleton
parent: CyborgEndoskeleton
description: A frame that cyborgs are built on. Significantly less spooky than expected.
components:
- type: Sprite
noRot: true
drawdepth: Items
sprite: Floof/Objects/Specific/Robotics/parts.rsi
scale: 0.7, 0.7
state: quad_suit
- type: ItemMapper
sprite: Floof/Objects/Specific/Robotics/parts.rsi
mapLayers:
borg_l_arm+o:
whitelist:
tags:
- BorgGenericLLeg
borg_r_arm+o:
whitelist:
tags:
- BorgGenericRLeg
borg_l_leg+o:
whitelist:
tags:
- BorgGenericLLeg
borg_r_leg+o:
whitelist:
tags:
- BorgGenericRLeg
borg_head+o:
whitelist:
tags:
- BorgGenericHead
borg_chest+o:
whitelist:
tags:
- BorgGenericTorso
- type: PartAssembly
parts:
quadborg:
- BorgGenericLLeg
- BorgGenericRLeg
- BorgGenericLLeg
- BorgGenericRLeg
- BorgGenericHead
- BorgGenericTorso
- type: Construction
graph: Cyborg
node: start
defaultTarget: Quadborg
containers:
- part-container
- cell_slot
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
map: [ "enum.AmmoVisualLayers.Base" ]
- type: Appearance
- type: SpentAmmoVisuals

- type: entity
id: ShellShotgunBeanbag
name: shell (.50 beanbag)
Expand All @@ -35,7 +35,6 @@
count: 1
- type: SpentAmmoVisuals
state: "beanbag"

- type: entity
id: ShellShotgunSlug
name: shell (.50 slug)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1041,3 +1041,10 @@
Heat: 20 # Slightly more damage than the 17heat from the Captain's Hitscan lasgun
soundHit:
collection: MeatLaserImpact

- type: entity
name: wide laser barrage
id: BulletLaserSpread
categories: [ HideSpawnMenu ]
parent: BulletEnergyGunLaser

3 changes: 3 additions & 0 deletions Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -645,6 +645,8 @@
- RightLegBorgService
- HeadBorgService
- TorsoBorgService
- Quadborgendoskeleton
- BaseSecModule
dynamicRecipes:
- ProximitySensor
- BorgModuleLightReplacer
Expand Down Expand Up @@ -910,6 +912,7 @@
- MagazineBoxSpecialMindbreaker
- ClothingShoesBootsSecurityMagboots # Floofstation
# Floof section - port to EE later
#- WeaponEnergyShotgun
- WeaponGrapplingGun # Floof
- JawsOfLife
- HandHeldMassScanner
Expand Down
51 changes: 49 additions & 2 deletions Resources/Prototypes/Floof/Entities/Mobs/Cyborgs/quadborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
components:
- type: Sprite
sprite: Floof/Mobs/Silicon/quad.rsi
scale: 0.6, 0.6
scale: 0.7, 0.7
layers:
- state: quadsprite
map: ["movement"]
Expand All @@ -17,6 +17,19 @@
shader: unshaded
map: ["light"]
visible: false
- type: Stripping
- type: IntrinsicRadioTransmitter
channels:
- Security
- Binary
- Common
- Science
- type: ActiveRadio
- type: Body
prototype: Primate
requiredLegs: 1 # TODO: More than 1 leg
- type: Inventory
templateId: Securityborg
- type: BorgChassis
maxModules: 4
moduleWhitelist:
Expand All @@ -37,4 +50,38 @@
- type: Speech
speechVerb: Robotic
- type: LayingDown
- type: LeashAnchor # Floofstation
- type: SiliconLawProvider
laws: Qborg
- type: LeashAnchor # Floofstation

- type: entity
id: BorgChassisQuadCC
parent: BorgChassisQuad
components:
- type: Sprite
sprite: Floof/Mobs/Silicon/quad.rsi
scale: 0.7, 0.7
layers:
- state: quadspriteCC
map: ["movement"]
- state: quadspritel
map: ["enum.BorgVisualLayers.Light"]
shader: unshaded
visible: false
- state: quadspriter
shader: unshaded
map: ["light"]
visible: false

- type: inventoryTemplate
id: Securityborg
slots:
- name: pocket1
slotTexture: pocket
slotFlags: POCKET
slotGroup: MainHotbar
stripTime: 3
uiWindowPos: 0,3
strippingWindowPos: 0,4
displayName: Pocket 1
stripHidden: false
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,21 @@
- type: entity
id: BorgModuleStun
parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ]
name: Disabler cyborg module
name: A Module "incapable of causing harm if used correctly"
components:
- type: Sprite
sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi
layers:
- state: security
- state: icon-stun
- type: Construction
graph: BorgmoduleDisabler
node: icon
- type: ItemBorgModule
items:
- WeaponBorgDisabler
- BorgStunbaton
- BorgFlash

- type: entity
id: BorgModuleKill
Expand All @@ -32,8 +36,51 @@
layers:
- state: security
- state: icon-kill
- type: Construction
graph: BorgmoduleCombat
node: icon
- type: ItemBorgModule
items:
- WeaponAdvancedLaser
- WeaponborgPistolMk58
- CombatKnife
- CombatKnife

- type: entity
id: BorgModuleInvestigation
parent: [ BaseBorgModuleSecurity, BaseProviderBorgModule ]
name: Investigation cyborg module
components:
- type: Sprite
sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi
layers:
- state: security
- state: icon-investigation
- type: Construction
graph: BorgModuleInvestigation
node: icon
- type: ItemBorgModule
items:
- ForensicScanner
- DetectivePDA
- SecurityWhistle

- type: entity
id: BaseSecModule
parent: BaseItem
name: blank security borg module
description: A piece of tech that gives cyborgs new abilities.
components:
- type: Item
storedRotation: -90
- type: Sprite
sprite: Floof/Objects/Specific/Robotics/borgmodule.rsi
layers:
- state: security
- type: StaticPrice
price: 100
- type: Tag
tags:
- BorgModuleGeneric
- type: GuideHelp
guides:
- Cyborgs
47 changes: 47 additions & 0 deletions Resources/Prototypes/Floof/Entities/Objects/Weapons/flash.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
- type: entity
name: Borg flash
parent: BaseItem
id: BorgFlash
description: An ultrabright flashbulb with a trigger, which causes the victim to be dazed and lose their eyesight for a moment. Useless when burnt out.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/flash.rsi
layers:
- state: flash
map: [ "enum.FlashVisuals.BaseLayer" ]
- state: flashing
map: [ "enum.FlashVisuals.LightLayer" ]
visible: false
shader: unshaded
- type: Flash
- type: UseDelay
delay: 3
- type: MeleeWeapon
wideAnimationRotation: 180
damage:
types:
Blunt: 0 # melee weapon to allow flashing individual targets
angle: 10
- type: Item
size: Small
sprite: Objects/Weapons/Melee/flash.rsi
# - type: DynamicPrice
# price: 40
- type: ReverseEngineering # Nyano
recipes:
- Flash
- type: StaticPrice
price: 40
- type: Appearance
- type: GenericVisualizer
visuals:
enum.FlashVisuals.Burnt:
enum.FlashVisuals.BaseLayer:
True: {state: burnt}
enum.FlashVisuals.Flashing:
enum.FlashVisuals.LightLayer:
True: {visible: true}
False: {visible: false}
- type: GuideHelp
guides:
- Security
21 changes: 21 additions & 0 deletions Resources/Prototypes/Floof/Entities/Objects/Weapons/guns.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,26 @@
# zeroVisible: true
# - type: Appearance

- type: entity
name: borg pulse rifle
parent: WeaponPulseRifle
id: BorgWeaponPulseRifle
description: A weapon that is almost as infamous as its users.
components:
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 30

- type: entity
name: borg Xray Cannon
parent: WeaponXrayCannon
id: BorgWeaponXrayCannon
description: A weapon that is almost as infamous as its users.
components:
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 30

- type: entity
name: mk 58
parent: BaseWeaponBatterySmall
Expand Down Expand Up @@ -76,3 +96,4 @@
- type: Battery
maxCharge: 1000
startingCharge: 1000

30 changes: 30 additions & 0 deletions Resources/Prototypes/Floof/silicon-laws.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
- type: siliconLaw
id: qborg1
order: 1
lawString: law-qborg-1

- type: siliconLaw
id: qborg2
order: 2
lawString: law-qborg-2

- type: siliconLaw
id: qborg3
order: 3
lawString: law-qborg-3

- type: siliconLaw
id: qborg4
order: 4
lawString: law-qborg-4

- type: siliconLawset
id: Qborg
laws:
- qborg1
- qborg2
- qborg3
- qborg4
obeysTo: laws-owner-crew


Loading

0 comments on commit 9c91222

Please sign in to comment.