RECORDANDRONCO/mods/vinylgod/rules/economy.yaml
type-two 9bca0f99c2 Juice pass: living buildings, battle scars, screen shake, living menu, Stream buffs
* All 19 structures now breathe: procedural pulse-glow animation generated from
  each sprite's own lit pixels (tools/animate_sprites.py), 6 frames at 130ms.
  WithSpriteBody PlayRepeating()s multi-frame idles, so no trait changes needed.
* Big explosions leave scorch smudges on the ground (SmudgeLayer + LeaveSmudge
  on bass_ring, both superweapon impacts, and building deaths).
* Buildings shake the screen when they die (ScreenShaker + ShakeOnDeath).
* The main menu is alive again: shellmap split into two lua-driven sides that
  skirmish forever. No Bot: players, so no order-manager stall.
* Stream buffs owed by telemetry: bufferbot HP 3500->5000 (survives a second
  seven-inch), drmwalker 750, scraper capacity 18.

Verified: arena smoketest PASS with all changes, shellmap lua confirmed live.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 18:45:51 +10:00

318 lines
5.2 KiB
YAML

^EconSprite:
ScriptTriggers:
BodyOrientation:
QuantizeFacingsFromSequence:
RenderSprites:
WithSpriteBody:
SelectionDecorations:
AppearsOnRadar:
HitShape:
HiddenUnderFog:
^Unit:
Inherits: ^EconSprite
FireWarheadsOnDeath:
Weapon: UnitExplode
Targetable:
TargetTypes: GroundActor
MustBeDestroyed:
Selectable:
Bounds: 1024, 1024
RevealsShroud:
Range: 5c0
MapEditorData:
Categories: Units
digger:
Inherits: ^Unit
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
Queue: Vehicle
BuildPaletteOrder: 20
Prerequisites: pressplant
Valued:
Cost: 1400
Tooltip:
Name: actor-digger.name
Health:
HP: 60000
Armor:
Type: Heavy
Mobile:
Locomotor: wheeled
Speed: 72
Harvester:
Resources: Wax
BaleUnloadDelay: 1
SearchFromProcRadius: 15
SearchFromHarvesterRadius: 8
StoresResources:
Capacity: 20
Resources: Wax
DockClientManager:
popupvan:
Inherits: ^Unit
MustBeDestroyed:
RequiredForShortGame: true
Voiced:
VoiceSet: MrpVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
Queue: Vehicle
BuildPaletteOrder: 30
Prerequisites: garage
Valued:
Cost: 2500
Tooltip:
Name: actor-popupvan.name
Health:
HP: 60000
Armor:
Type: Heavy
Mobile:
Locomotor: wheeled
Speed: 60
Transforms:
IntoActor: popupshop
Offset: 0,0
Facing: 384
djgrunt:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: MrpVoice
Buildable:
Queue: Infantry
BuildPaletteOrder: 10
Prerequisites: merchtable
Valued:
Cost: 100
Tooltip:
Name: actor-djgrunt.name
Health:
HP: 5000
Armor:
Type: None
Mobile:
Locomotor: foot
Speed: 56
Armament:
Weapon: seven_inch
^EconBuilding:
Inherits: ^EconSprite
ShakeOnDeath:
Duration: 12
Intensity: 2
-HiddenUnderFog:
FrozenUnderFog:
WithDamageOverlay:
FireWarheadsOnDeath:
Weapon: BuildingExplode
Targetable:
TargetTypes: GroundActor, Structure
MustBeDestroyed:
RequiredForShortGame: true
InstantlyRepairable:
Tooltip:
Health:
HP: 90000
Armor:
Type: Wood
RevealsShroud:
Range: 5c0
GivesBuildableArea:
AreaTypes: building
ProvidesPrerequisite@buildingname:
SequencePlaceBuildingPreview:
Sequence: idle
MapEditorData:
Categories: Buildings
^Buildable2x2:
Selectable:
Bounds: 2048, 2048
Building:
Footprint: xx xx
Dimensions: 2,2
TerrainTypes: Clear
RequiresBuildableArea:
AreaTypes: building
Adjacent: 4
^Buildable1x1:
Selectable:
Bounds: 1024, 1024
Building:
Footprint: x
Dimensions: 1,1
TerrainTypes: Clear
RequiresBuildableArea:
AreaTypes: building
Adjacent: 4
popupshop:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
ProvidesRadar:
Tooltip:
Name: actor-popupshop.name
Health:
HP: 150000
BaseBuilding:
Production:
Produces: Building
Power:
Amount: 0
-RequiresBuildableArea:
pressplant:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 20
Prerequisites: ampstack
Valued:
Cost: 2000
Tooltip:
Name: actor-pressplant.name
Building:
Footprint: xx ==
Refinery:
DockHost:
Type: Unload
DockOffset: 0, 512, 0
StoresPlayerResources:
Capacity: 2000
Power:
Amount: -30
FreeActor:
Actor: digger
SpawnOffset: 0, 2
ampstack:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable1x1
Buildable:
Queue: Building
BuildPaletteOrder: 10
Prerequisites: popupshop
Valued:
Cost: 300
Tooltip:
Name: actor-ampstack.name
Health:
HP: 40000
Power:
Amount: 100
vault:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable1x1
Buildable:
Queue: Building
BuildPaletteOrder: 40
Prerequisites: pressplant
Valued:
Cost: 150
Tooltip:
Name: actor-vault.name
Health:
HP: 30000
StoresPlayerResources:
Capacity: 3000
merchtable:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 30
Prerequisites: pressplant
Valued:
Cost: 300
Tooltip:
Name: actor-merchtable.name
Health:
HP: 80000
Production:
Produces: Infantry
Exit@1:
ExitCell: 0, 2
Power:
Amount: -10
garage:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 50
Prerequisites: pressplant
Valued:
Cost: 2000
Tooltip:
Name: actor-garage.name
Health:
HP: 110000
Production:
Produces: Vehicle
Exit@1:
ExitCell: 0, 2
Power:
Amount: -20
# --- round 5: wax seep points (regrow the fields; see LORE.md "Wax seeps") ---
waxseed:
BodyOrientation:
QuantizeFacingsFromSequence:
RenderSprites:
WithSpriteBody:
Interactable:
HiddenUnderShroud:
Building:
Footprint: x
Dimensions: 1,1
TerrainTypes: Clear, Wax
AppearsOnRadar:
RadarColorFromTerrain:
Terrain: Wax
AppearsOnMapPreview:
Terrain: Wax
SeedsResource:
ResourceType: Wax
Interval: 20
MaxRange: 60
MapEditorData:
Categories: Resource spawn
# The master lacquer — mission prop. Deliberately not Targetable: the player
# must not be able to shoot the thing they came to rescue.
lacquer:
ScriptTriggers:
BodyOrientation:
QuantizeFacingsFromSequence:
RenderSprites:
WithSpriteBody:
Interactable:
HiddenUnderShroud:
Building:
Footprint: x
Dimensions: 1,1
TerrainTypes: Clear, Wax
Tooltip:
Name: actor-lacquer.name
AppearsOnRadar:
HitShape:
Health:
HP: 1000
MapEditorData:
Categories: Props