RECORDANDRONCO/mods/vinylgod/rules/stream.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

310 lines
4.8 KiB
YAML

# The Stream — the Algorithm's physical fleet. Cheap, fast, numerous, fragile.
streamvan:
Inherits: ^Unit
MustBeDestroyed:
RequiredForShortGame: true
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
Queue: Vehicle
BuildPaletteOrder: 31
Prerequisites: printfarm
Valued:
Cost: 2500
Tooltip:
Name: actor-streamvan.name
Health:
HP: 55000
Armor:
Type: Light
Mobile:
Locomotor: wheeled
Speed: 75
Transforms:
IntoActor: streamhub
Offset: 0,0
Facing: 384
streamhub:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
ProvidesRadar:
Tooltip:
Name: actor-streamhub.name
Health:
HP: 140000
BaseBuilding:
Production:
Produces: Building
Power:
Amount: 0
-RequiresBuildableArea:
datacentre:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable1x1
Buildable:
Queue: Building
BuildPaletteOrder: 11
Prerequisites: streamhub
Valued:
Cost: 300
Tooltip:
Name: actor-datacentre.name
Health:
HP: 35000
Power:
Amount: 100
GivesBuildableArea:
AreaTypes: building
transcoder:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 21
Prerequisites: datacentre
Valued:
Cost: 2000
Tooltip:
Name: actor-transcoder.name
Building:
Footprint: xx ==
Refinery:
DockHost:
Type: Unload
DockOffset: 0, 512, 0
StoresPlayerResources:
Capacity: 4000
Power:
Amount: -30
FreeActor:
Actor: scraper
SpawnOffset: 0, 2
podfarm:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 31
Prerequisites: transcoder
Valued:
Cost: 300
Tooltip:
Name: actor-podfarm.name
Health:
HP: 70000
Production:
Produces: Infantry
Exit@1:
ExitCell: 0, 2
Power:
Amount: -10
printfarm:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 51
Prerequisites: transcoder
Valued:
Cost: 2000
Tooltip:
Name: actor-printfarm.name
Health:
HP: 100000
Production:
Produces: Vehicle
Exit@1:
ExitCell: 0, 2
Power:
Amount: -20
scraper:
Inherits: ^Unit
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
Queue: Vehicle
BuildPaletteOrder: 21
Prerequisites: transcoder
Valued:
Cost: 1200
Tooltip:
Name: actor-scraper.name
Health:
HP: 45000
Armor:
Type: Light
Mobile:
Locomotor: wheeled
Speed: 90
Harvester:
Resources: Wax
BaleUnloadDelay: 1
SearchFromProcRadius: 15
SearchFromHarvesterRadius: 8
StoresResources:
Capacity: 18
Resources: Wax
DockClientManager:
bufferbot:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: StreamVoice
Buildable:
Queue: Infantry
BuildPaletteOrder: 11
Prerequisites: podfarm
Valued:
Cost: 60
Tooltip:
Name: actor-bufferbot.name
Health:
HP: 5000
Armor:
Type: None
Mobile:
Locomotor: foot
Speed: 70
Armament:
Weapon: ping
drmwalker:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
Queue: Vehicle
BuildPaletteOrder: 51
Prerequisites: printfarm
Valued:
Cost: 750
Tooltip:
Name: actor-drmwalker.name
Health:
HP: 100000
Armor:
Type: Heavy
Mobile:
Locomotor: wheeled
Speed: 42
Armament:
Weapon: feedback_burst
# --- round 5: Stream hero + scout ---
curator:
Inherits: ^ArmedUnit
Voiced:
VoiceSet: StreamVoice
Buildable:
Queue: Infantry
BuildPaletteOrder: 30
Prerequisites: algorithm
BuildLimit: 1
Valued:
Cost: 2000
Tooltip:
Name: actor-curator.name
Health:
HP: 25000
Armor:
Type: Light
Mobile:
Locomotor: foot
Speed: 95
Armament:
Weapon: curator_beam
RevealsShroud:
Range: 8c0
SelectionDecorations:
crawler:
Inherits: ^Unit
Voiced:
VoiceSet: StreamVoice
-WithSpriteBody:
WithFacingSpriteBody:
Buildable:
Queue: Vehicle
BuildPaletteOrder: 15
Prerequisites: transcoder
Valued:
Cost: 300
Tooltip:
Name: actor-crawler.name
Health:
HP: 10000
Armor:
Type: Light
Mobile:
Locomotor: wheeled
Speed: 155
RevealsShroud:
Range: 10c0
# --- round 5: air ---
compressor:
Inherits: ^AirUnit
Voiced:
VoiceSet: StreamVoice
Buildable:
Queue: Aircraft
BuildPaletteOrder: 11
Prerequisites: droneport
Valued:
Cost: 700
Tooltip:
Name: actor-compressor.name
Health:
HP: 16000
Armor:
Type: Light
Aircraft:
Speed: 170
Armament:
Weapon: compress_field
PauseOnCondition: !ammo
AttackAircraft:
AttackType: Hover
FacingTolerance: 90
AmmoPool:
Ammo: 10
ReloadDelay: 20
AmmoCondition: ammo
droneport:
Inherits: ^EconBuilding
Inherits@shape: ^Buildable2x2
Buildable:
Queue: Building
BuildPaletteOrder: 56
Prerequisites: printfarm
Valued:
Cost: 800
Tooltip:
Name: actor-droneport.name
Health:
HP: 60000
Production:
Produces: Aircraft
Exit@1:
SpawnOffset: 0,-256,0
ExitCell: 0,0
Reservable:
Power:
Amount: -20