HAMTR mech (hamster mech) (needs review) (#16393)

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
brainfood1183
2023-06-08 07:33:35 +01:00
committed by GitHub
parent 9dbb74b0bb
commit cd7d4be188
56 changed files with 628 additions and 10 deletions

View File

@@ -2125,6 +2125,7 @@
tags:
- Trash
- CannotSuicide
- Hamster
- type: Respirator
damage:
types:

View File

@@ -485,6 +485,8 @@
- type: Tag
tags:
- CannotSuicide
- Trash
- Hamster
- type: entity
name: Shiva

View File

@@ -81,3 +81,37 @@
- type: GuideHelp
guides:
- Robotics
# HAMTR
- type: entity
id: HamtrCentralElectronics
parent: BaseElectronics
name: HAMTR central control module
description: The electrical control center for the HAMTR mech.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: mainboard
- type: Tag
tags:
- HamtrCentralControlModule
- type: GuideHelp
guides:
- Robotics
- type: entity
id: HamtrPeripheralsElectronics
parent: BaseElectronics
name: HAMTR peripherals control module
description: The electrical peripherals control for the HAMTR mech.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: id_mod
- type: Tag
tags:
- HamtrPeripheralsControlModule
- type: GuideHelp
guides:
- Robotics

View File

@@ -283,3 +283,132 @@
graph: Honker
node: start
defaultTarget: honker
# H.A.M.T.R.
- type: entity
id: BaseHamtrPart
parent: BaseMechPart
abstract: true
components:
- type: Sprite
drawdepth: Items
noRot: false
netsync: false
sprite: Objects/Specific/Mech/hamtr_construction.rsi
- type: entity
id: BaseHamtrPartItem
parent: BaseHamtrPart
abstract: true
components:
- type: Item
size: 50
- type: entity
parent: BaseHamtrPart
id: HamtrHarness
name: HAMTR harness
description: The core of the HAMTR.
components:
- type: Appearance
- type: ItemMapper
mapLayers:
hamtr_l_arm+o:
whitelist:
tags:
- HamtrLArm
hamtr_r_arm+o:
whitelist:
tags:
- HamtrRArm
hamtr_l_leg+o:
whitelist:
tags:
- HamtrLLeg
hamtr_r_leg+o:
whitelist:
tags:
- HamtrRLeg
sprite: Objects/Specific/Mech/hamtr_construction.rsi
- type: ContainerContainer
containers:
mech-assembly-container: !type:Container
- type: MechAssembly
finishedPrototype: HamtrChassis
requiredParts:
HamtrLArm: false
HamtrRArm: false
HamtrLLeg: false
HamtrRLeg: false
- type: Sprite
state: hamtr_harness+o
noRot: true
- type: entity
parent: BaseHamtrPartItem
id: HamtrLArm
name: HAMTR left arm
description: The left arm of the HAMTR. It belongs on the chassis of the mech.
components:
- type: Sprite
state: hamtr_l_arm
- type: Tag
tags:
- HamtrLArm
- type: entity
parent: BaseHamtrPartItem
id: HamtrLLeg
name: HAMTR left leg
description: The left leg of the HAMTR. It belongs on the chassis of the mech.
components:
- type: Sprite
state: hamtr_l_leg
- type: Tag
tags:
- HamtrLLeg
- type: entity
parent: BaseHamtrPartItem
id: HamtrRLeg
name: HAMTR right leg
description: The right leg of the HAMTR. It belongs on the chassis of the mech.
components:
- type: Sprite
state: hamtr_r_leg
- type: Tag
tags:
- HamtrRLeg
- type: entity
parent: BaseHamtrPartItem
id: HamtrRArm
name: HAMTR right arm
description: The right arm of the HAMTR. It belongs on the chassis of the mech.
components:
- type: Sprite
state: hamtr_r_arm
- type: Tag
tags:
- HamtrRArm
- type: entity
id: HamtrChassis
parent: BaseHamtrPart
name: HAMTR chassis
description: An in-progress construction of the HAMTR mech.
components:
- type: Appearance
- type: ContainerContainer
containers:
battery-container: !type:Container
- type: MechAssemblyVisuals
statePrefix: hamtr
- type: Sprite
noRot: true
state: hamtr0
- type: Construction
graph: Hamtr
node: start
defaultTarget: hamtr

View File

@@ -28,6 +28,27 @@
containers:
item-container: !type:Container
- type: entity
id: MechEquipmentGrabberSmall
parent: BaseMechEquipment
name: small hydraulic clamp
description: Gives the mech the ability to grab things and drag them around.
components:
- type: Sprite
state: mecha_clamp_small
- type: MechGrabber
maxContents: 4
grabDelay: 3
grabEnergyDelta: 20
- type: Tag
tags:
- SmallMech
- type: UIFragment
ui: !type:MechGrabberUi
- type: ContainerContainer
containers:
item-container: !type:Container
- type: entity
id: MechEquipmentHorn
parent: BaseMechEquipment

View File

@@ -89,6 +89,9 @@
openState: ripley-open
brokenState: ripley-broken
mechToPilotDamageMultiplier: 0.75
pilotWhitelist:
components:
- HumanoidAppearance
- type: MeleeWeapon
hidden: true
attackRate: 1
@@ -132,6 +135,9 @@
openState: honker-open
brokenState: honker-broken
mechToPilotDamageMultiplier: 0.5
pilotWhitelist:
components:
- HumanoidAppearance
- type: entity
id: MechHonkerBattery
@@ -142,3 +148,54 @@
containers:
mech-battery-slot:
- PowerCellHigh
- type: entity
id: MechHamtr
parent: BaseMech
name: HAMTR
description: "An experimental mech which uses a neuralink to interface directly to a hamsters brain."
components:
- type: Sprite
netsync: false
drawdepth: Mobs
noRot: true
sprite: Objects/Specific/Mech/mecha.rsi
layers:
- map: [ "enum.MechVisualLayers.Base" ]
state: hamtr
- type: FootstepModifier
footstepSoundCollection:
path: /Audio/Mecha/sound_mecha_powerloader_step.ogg
- type: Mech
baseState: hamtr
openState: hamtr-open
brokenState: hamtr-broken
mechToPilotDamageMultiplier: 0.2
maxEquipmentAmount: 2
airtight: true
equipmentWhitelist:
tags:
- SmallMech
pilotWhitelist:
tags:
- Hamster
- type: MeleeWeapon
hidden: true
attackRate: 0.8
damage:
types:
Blunt: 10 #thwack
Structural: 2
- type: MovementSpeedModifier
baseWalkSpeed: 2.4
baseSprintSpeed: 3.7
- type: entity
id: MechHamtrBattery
parent: MechHamtr
suffix: Battery
components:
- type: ContainerFill
containers:
mech-battery-slot:
- PowerCellHigh

View File

@@ -320,6 +320,8 @@
- HonkerCentralElectronics
- HonkerPeripheralsElectronics
- HonkerTargetingElectronics
- HamtrCentralElectronics
- HamtrPeripheralsElectronics
- GeneratorPlasmaMachineCircuitboard
- GeneratorUraniumMachineCircuitboard
- WallmountGeneratorElectronics
@@ -386,6 +388,12 @@
- HonkerLLeg
- HonkerRLeg
- MechEquipmentHorn
- MechEquipmentGrabberSmall
- HamtrHarness
- HamtrLArm
- HamtrRArm
- HamtrLLeg
- HamtrRLeg
- type: MaterialStorage
whitelist:
tags:

View File

@@ -0,0 +1,125 @@
- type: constructionGraph
id: Hamtr
start: start
graph:
- node: start
edges:
- to: hamtr
steps:
- tool: Anchoring
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 1
- tool: Screwing
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 2
- material: Cable
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 3
- tool: Cutting
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 4
- tag: HamtrCentralControlModule
name: HAMTR central control module
icon:
sprite: "Objects/Misc/module.rsi"
state: "mainboard"
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 5
- tool: Screwing
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 6
- tag: HamtrPeripheralsControlModule
name: HAMTR peripherals control module
icon:
sprite: "Objects/Misc/module.rsi"
state: id_mod
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 7
- tool: Screwing
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 12
#i omitted the steps involving inserting machine parts because
#currently mechs don't support upgrading. add them back in once that's squared away.
- component: PowerCell
name: power cell
store: battery-container
icon:
sprite: Objects/Power/power_cells.rsi
state: small
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 13
- tool: Screwing
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 14
- material: Steel
amount: 5
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 15
- tool: Anchoring
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 16
- tool: Welding
doAfter: 1
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 17
- material: MetalRod
amount: 10
completed:
- !type:VisualizerDataInt
key: "enum.MechAssemblyVisuals.State"
data: 18
- tool: Welding
doAfter: 1
- node: hamtr
actions:
- !type:BuildMech
mechPrototype: MechHamtr

View File

@@ -378,6 +378,24 @@
Glass: 900
Bananium: 100
- type: latheRecipe
id: HamtrCentralElectronics
result: HamtrCentralElectronics
completetime: 4
materials:
Steel: 100
Glass: 900
Gold: 100
- type: latheRecipe
id: HamtrPeripheralsElectronics
result: HamtrPeripheralsElectronics
completetime: 4
materials:
Steel: 100
Glass: 900
Gold: 100
# Power
- type: latheRecipe
id: APCElectronics

View File

@@ -100,3 +100,52 @@
materials:
Steel: 500
Bananium: 200
# HAMTR
- type: latheRecipe
id: HamtrHarness
result: HamtrHarness
completetime: 10
materials:
Steel: 1200
Glass: 1000
- type: latheRecipe
id: HamtrLArm
result: HamtrLArm
completetime: 10
materials:
Steel: 800
Glass: 600
- type: latheRecipe
id: HamtrLLeg
result: HamtrLLeg
completetime: 10
materials:
Steel: 800
Glass: 600
- type: latheRecipe
id: HamtrRLeg
result: HamtrRLeg
completetime: 10
materials:
Steel: 800
Glass: 600
- type: latheRecipe
id: HamtrRArm
result: HamtrRArm
completetime: 10
materials:
Steel: 800
Glass: 600
- type: latheRecipe
id: MechEquipmentGrabberSmall
result: MechEquipmentGrabberSmall
completetime: 10
materials:
Steel: 400
Plastic: 100

View File

@@ -145,6 +145,26 @@
recipeUnlocks:
- RPED
- type: technology
id: HamtrMechTech
name: research-technology-hamtr
icon:
sprite: Objects/Specific/Mech/mecha.rsi
state: hamtr
discipline: Experimental
tier: 2
cost: 8000
recipeUnlocks:
- HamtrHarness
- HamtrLArm
- HamtrRArm
- HamtrLLeg
- HamtrRLeg
- HamtrCentralElectronics
- HamtrPeripheralsElectronics
- MechEquipmentGrabberSmall
# Tier 3
- type: technology

View File

@@ -323,6 +323,28 @@
- type: Tag
id: GuideEmbeded
- type: Tag
id: Hamster
- type: Tag
id: HamtrCentralControlModule
- type: Tag
id: HamtrPeripheralsControlModule
- type: Tag
id: HamtrLArm
- type: Tag
id: HamtrLLeg
- type: Tag
id: HamtrRLeg
- type: Tag
id: HamtrRArm
- type: Tag
id: Handcuffs
@@ -640,6 +662,9 @@
- type: Tag
id: SkeletonMotorcycleKeys
- type: Tag
id: SmallMech
- type: Tag
id: Smokable