Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mech Gygax #254

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Gygax #backmen

- type: entity
id: GygaxCentralElectronics
parent: BaseElectronics
name: Gygax central control module
description: The electrical control center for the Gygax mech.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: mainboard
- type: Tag
tags:
- GygaxCentralElectronics
- type: GuideHelp
guides:
- Robotics

- type: entity
id: GygaxPeripheralsElectronics
parent: BaseElectronics
name: Gygax peripherals control module
description: The electrical peripherals control for the Gygax mech.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: id_mod
- type: Tag
tags:
- GygaxPeripheralsElectronics
- type: GuideHelp
guides:
- Robotics

- type: entity
id: GygaxArmorModule
parent: BaseElectronics
name: Gygax Armor Module
description: The armor module gygax
components:
- type: Sprite
sprite: Backmen/Objects/Specific/Mech/gygax.rsi
state: gygax_armor
- type: Tag
tags:
- GygaxArmorModule
- type: GuideHelp
guides:
- Robotics

Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
- type: entity
id: BaseMechPart1
abstract: true
components:
- type: Clickable
- type: InteractionOutline
- type: CollisionWake
- type: TileFrictionModifier
modifier: 0.5
- type: Physics
bodyType: Dynamic
fixedRotation: false
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.25,0.25"
density: 100
mask:
- ItemMask
restitution: 0.3 # fite me
friction: 0.2
- type: Pullable
- type: GuideHelp
guides:
- Robotics

# Gygax #backmen

- type: entity
id: BaseGygaxPart
parent: BaseMechPart1
abstract: true
components:
- type: Sprite
drawdepth: Items
noRot: false
sprite: Backmen/Objects/Specific/Mech/gygax.rsi

- type: entity
id: BaseGygaxPartItem1
parent: BaseGygaxPart
abstract: true
components:
- type: Item
size: 50

- type: entity
parent: BaseGygaxPart
id: GygaxHarness
name: Gygax harness
description: The core of the Gygax.
components:
- type: Appearance
- type: ItemMapper
mapLayers:
gygax_l_arm+o:
whitelist:
tags:
- GygaxLArm
gygax_head+o:
whitelist:
tags:
- GygaxHead
gygax_r_arm+o:
whitelist:
tags:
- GygaxRArm
gygax_l_leg+o:
whitelist:
tags:
- GygaxLLeg
gygax_r_leg+o:
whitelist:
tags:
- GygaxRLeg
sprite: Backmen/Objects/Specific/Mech/gygax.rsi
- type: ContainerContainer
containers:
mech-assembly-container: !type:Container
- type: MechAssembly
finishedPrototype: GygaxChassis
requiredParts:
GygaxHead: false
GygaxLArm: false
GygaxRArm: false
GygaxLLeg: false
GygaxRLeg: false
- type: Sprite
state: gygax_harness+o
noRot: true

- type: entity
parent: BaseGygaxPartItem1
id: GygaxHead
name: Gygax head
description: The head of the Gygax. It belongs on the chassis of the mech.
components:
- type: Sprite
state: gygax_head
- type: Tag
tags:
- GygaxHead

- type: entity
parent: BaseGygaxPartItem1
id: GygaxLArm
name: Gygax left arm
description: The left arm of the Gygax. It belongs on the chassis of the mech.
components:
- type: Sprite
state: gygax_l_arm
- type: Tag
tags:
- GygaxLArm

- type: entity
parent: BaseGygaxPartItem1
id: GygaxLLeg
name: Gygax left leg
description: The left leg of the Gygax. It belongs on the chassis of the mech.
components:
- type: Sprite
state: gygax_l_leg
- type: Tag
tags:
- GygaxLLeg

- type: entity
parent: BaseGygaxPartItem1
id: GygaxRLeg
name: Gygax right leg
description: The right leg of the Gygax. It belongs on the chassis of the mech.
components:
- type: Sprite
state: gygax_r_leg
- type: Tag
tags:
- GygaxRLeg

- type: entity
parent: BaseGygaxPartItem1
id: GygaxRArm
name: Gygax right arm
description: The right arm of the Gygax. It belongs on the chassis of the mech.
components:
- type: Sprite
state: gygax_r_arm
- type: Tag
tags:
- GygaxRArm

- type: entity
id: GygaxChassis
parent: BaseGygaxPart
name: Gygax chassis
description: An in-progress construction of the Gygax mech.
components:
- type: Appearance
- type: ContainerContainer
containers:
battery-container: !type:Container
- type: MechAssemblyVisuals
statePrefix: gygax
- type: Sprite
noRot: true
state: gygax0
- type: Construction
graph: Gygax
node: start
defaultTarget: gygax
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Gygax #backmen
- type: entity
id: BaseMech+0
save: false
abstract: true
components:
- type: MobMover
- type: Mech
- type: MechAir
- type: MechAirFilter
# everything except oxygen and nitrogen
gases:
- 2
- 3
- 4
- 5
- 6
- 7
- 8
#- 9 TODO: fusion
- type: MechAirIntake
# for intake and filter to work
- type: AtmosDevice
requireAnchored: false
joinSystem: true
- type: DoAfter
- type: Repairable
fuelCost: 25
doAfterDelay: 10
- type: UserInterface
interfaces:
- key: enum.MechUiKey.Key
type: MechBoundUserInterface
- type: MeleeWeapon
hidden: true
attackRate: 0.75
damage:
types:
Blunt: 25 #thwack
Structural: 20
- type: Puller
needsHands: false
- type: InputMover
- type: InteractionOutline
- type: MovementSpeedModifier
baseWalkSpeed: 1
baseSprintSpeed: 2
- type: Tag
tags:
- DoorBumpOpener
- FootstepSound
- type: Pullable
- type: Physics
bodyType: KinematicController
- type: Clickable
- type: WiresPanel
- type: Wires #we just want the panel
BoardName: wires-board-name-mech
LayoutId: Mech
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.45
density: 1000
mask:
- MobMask
layer:
- MobLayer
- type: Appearance
- type: ContainerContainer
containers:
mech-pilot-slot: !type:ContainerSlot
mech-equipment-container: !type:Container
mech-battery-slot: !type:ContainerSlot
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: FootstepModifier
footstepSoundCollection:
path: /Audio/Mecha/mechmove03.ogg
- type: GuideHelp
guides:
- Robotics

- type: entity
id: MechGygax
parent: BaseMech+0
name: Gygax
description: Gygax
components:
- type: Sprite
drawdepth: Mobs
noRot: true
sprite: Backmen/Objects/Specific/Mech/gygax.rsi
layers:
- map: [ "enum.MechVisualLayers.Base" ]
state: gygax
- type: FootstepModifier
footstepSoundCollection:
path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
- type: Mech
baseState: gygax
openState: gygax-open
brokenState: gygax-broken
mechToPilotDamageMultiplier: 0.75
pilotWhitelist:
components:
- HumanoidAppearance
- type: MeleeWeapon
hidden: true
attackRate: 1
damage:
types:
Blunt: 18
- type: MovementSpeedModifier
baseWalkSpeed: 3.0
baseSprintSpeed: 3.0

- type: entity
parent: MechGygax
id: MechGygaxBattery
suffix: Battery
components:
- type: ContainerFill
containers:
mech-battery-slot:
- PowerCellHigh
Loading
Loading