Phase E: The Stream faction (9 actors), Wax AI bot for both factions, bot-vs-bot shellmap battle
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ -120,6 +120,7 @@ flags:
|
|||||||
Inherits: ^Glyphs
|
Inherits: ^Glyphs
|
||||||
Regions:
|
Regions:
|
||||||
vinylgod: 226, 241, 30, 15
|
vinylgod: 226, 241, 30, 15
|
||||||
|
stream: 226, 241, 30, 15
|
||||||
Random: 226, 241, 30, 15
|
Random: 226, 241, 30, 15
|
||||||
spectator: 226, 241, 30, 15
|
spectator: 226, 241, 30, 15
|
||||||
|
|
||||||
|
|||||||
@ -45,3 +45,29 @@ actor-roadie =
|
|||||||
.name = Roadie
|
.name = Roadie
|
||||||
actor-mastering =
|
actor-mastering =
|
||||||
.name = Mastering Studio
|
.name = Mastering Studio
|
||||||
|
|
||||||
|
## stream.yaml + ai.yaml
|
||||||
|
faction-stream =
|
||||||
|
.name = The Stream
|
||||||
|
.description = The Stream
|
||||||
|
The Algorithm's physical fleet: cheap, fast, numerous.
|
||||||
|
actor-streamvan =
|
||||||
|
.name = Deployment Van
|
||||||
|
actor-streamhub =
|
||||||
|
.name = Stream Hub
|
||||||
|
actor-datacentre =
|
||||||
|
.name = Edge Node
|
||||||
|
actor-transcoder =
|
||||||
|
.name = Transcoder
|
||||||
|
actor-podfarm =
|
||||||
|
.name = Pod Farm
|
||||||
|
actor-printfarm =
|
||||||
|
.name = Print Farm
|
||||||
|
actor-scraper =
|
||||||
|
.name = Scraper
|
||||||
|
actor-bufferbot =
|
||||||
|
.name = Buffer-Bot
|
||||||
|
actor-drmwalker =
|
||||||
|
.name = DRM Enforcer
|
||||||
|
bot-wax-ai =
|
||||||
|
.name = Wax AI
|
||||||
|
|||||||
@ -26,14 +26,27 @@ Players:
|
|||||||
Name: Creeps
|
Name: Creeps
|
||||||
NonCombatant: True
|
NonCombatant: True
|
||||||
Faction: Random
|
Faction: Random
|
||||||
|
PlayerReference@BotA:
|
||||||
|
Name: BotA
|
||||||
|
Faction: vinylgod
|
||||||
|
Bot: wax
|
||||||
|
Enemies: BotB
|
||||||
|
PlayerReference@BotB:
|
||||||
|
Name: BotB
|
||||||
|
Faction: stream
|
||||||
|
Bot: wax
|
||||||
|
Enemies: BotA
|
||||||
|
|
||||||
Actors:
|
Actors:
|
||||||
Actor1: pressplant
|
Actor1: popupvan
|
||||||
Owner: Creeps
|
Owner: BotA
|
||||||
Location: 12,12
|
Location: 7,7
|
||||||
Actor2: digger
|
Actor2: digger
|
||||||
Owner: Creeps
|
Owner: BotA
|
||||||
Location: 15,14
|
Location: 9,8
|
||||||
Actor3: ampstack
|
Actor3: streamvan
|
||||||
Owner: Creeps
|
Owner: BotB
|
||||||
Location: 10,14
|
Location: 26,26
|
||||||
|
Actor4: scraper
|
||||||
|
Owner: BotB
|
||||||
|
Location: 24,25
|
||||||
|
|||||||
@ -14,6 +14,8 @@ Rules:
|
|||||||
vinylgod|rules/vinylgod.yaml
|
vinylgod|rules/vinylgod.yaml
|
||||||
vinylgod|rules/economy.yaml
|
vinylgod|rules/economy.yaml
|
||||||
vinylgod|rules/combat.yaml
|
vinylgod|rules/combat.yaml
|
||||||
|
vinylgod|rules/stream.yaml
|
||||||
|
vinylgod|rules/ai.yaml
|
||||||
vinylgod|rules/mpspawn.yaml
|
vinylgod|rules/mpspawn.yaml
|
||||||
vinylgod|rules/palettes.yaml
|
vinylgod|rules/palettes.yaml
|
||||||
vinylgod|rules/player.yaml
|
vinylgod|rules/player.yaml
|
||||||
|
|||||||
67
mods/vinylgod/rules/ai.yaml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
player:
|
||||||
|
ModularBot@WaxAI:
|
||||||
|
Name: bot-wax-ai.name
|
||||||
|
Type: wax
|
||||||
|
GrantConditionOnBotOwner@wax:
|
||||||
|
Condition: enable-wax-ai
|
||||||
|
Bots: wax
|
||||||
|
HarvesterBotModule:
|
||||||
|
RequiresCondition: enable-wax-ai
|
||||||
|
HarvesterTypes: digger, scraper
|
||||||
|
RefineryTypes: pressplant, transcoder
|
||||||
|
McvManagerBotModule:
|
||||||
|
RequiresCondition: enable-wax-ai
|
||||||
|
McvTypes: popupvan, streamvan
|
||||||
|
ConstructionYardTypes: popupshop, streamhub
|
||||||
|
McvFactoryTypes: garage, printfarm
|
||||||
|
BaseBuilderBotModule:
|
||||||
|
RequiresCondition: enable-wax-ai
|
||||||
|
MinimumExcessPower: 40
|
||||||
|
MaximumExcessPower: 160
|
||||||
|
ExcessPowerIncrement: 40
|
||||||
|
ExcessPowerIncreaseThreshold: 4
|
||||||
|
ConstructionYardTypes: popupshop, streamhub
|
||||||
|
RefineryTypes: pressplant, transcoder
|
||||||
|
PowerTypes: ampstack, datacentre
|
||||||
|
BarracksTypes: merchtable, podfarm
|
||||||
|
VehiclesFactoryTypes: garage, printfarm
|
||||||
|
ProductionTypes: merchtable, podfarm, garage, printfarm
|
||||||
|
SiloTypes: vault
|
||||||
|
BuildingLimits:
|
||||||
|
pressplant: 3
|
||||||
|
transcoder: 3
|
||||||
|
merchtable: 1
|
||||||
|
podfarm: 1
|
||||||
|
garage: 1
|
||||||
|
printfarm: 1
|
||||||
|
mastering: 1
|
||||||
|
BuildingFractions:
|
||||||
|
pressplant: 30
|
||||||
|
transcoder: 30
|
||||||
|
merchtable: 1
|
||||||
|
podfarm: 1
|
||||||
|
garage: 1
|
||||||
|
printfarm: 1
|
||||||
|
mastering: 1
|
||||||
|
UnitBuilderBotModule:
|
||||||
|
RequiresCondition: enable-wax-ai
|
||||||
|
UnitsToBuild:
|
||||||
|
djgrunt: 60
|
||||||
|
roadie: 5
|
||||||
|
spinner: 30
|
||||||
|
stacktank: 45
|
||||||
|
basscannon: 15
|
||||||
|
digger: 10
|
||||||
|
bufferbot: 60
|
||||||
|
drmwalker: 45
|
||||||
|
scraper: 10
|
||||||
|
UnitLimits:
|
||||||
|
digger: 4
|
||||||
|
scraper: 4
|
||||||
|
roadie: 2
|
||||||
|
SquadManagerBotModule:
|
||||||
|
RequiresCondition: enable-wax-ai
|
||||||
|
SquadSize: 8
|
||||||
|
ExcludeFromSquadsTypes: digger, scraper, popupvan, streamvan, roadie
|
||||||
|
ConstructionYardTypes: popupshop, streamhub
|
||||||
|
ProtectionTypes: digger, scraper, popupvan, streamvan, pressplant, transcoder, popupshop, streamhub, ampstack, datacentre, vault, merchtable, podfarm, garage, printfarm, mastering
|
||||||
@ -178,6 +178,7 @@ ampstack:
|
|||||||
Buildable:
|
Buildable:
|
||||||
Queue: Building
|
Queue: Building
|
||||||
BuildPaletteOrder: 10
|
BuildPaletteOrder: 10
|
||||||
|
Prerequisites: popupshop
|
||||||
Valued:
|
Valued:
|
||||||
Cost: 300
|
Cost: 300
|
||||||
Tooltip:
|
Tooltip:
|
||||||
|
|||||||
187
mods/vinylgod/rules/stream.yaml
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
# The Stream — the Algorithm's physical fleet. Cheap, fast, numerous, fragile.
|
||||||
|
|
||||||
|
streamvan:
|
||||||
|
Inherits: ^Unit
|
||||||
|
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
|
||||||
|
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
|
||||||
|
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: 14
|
||||||
|
Resources: Wax
|
||||||
|
DockClientManager:
|
||||||
|
|
||||||
|
bufferbot:
|
||||||
|
Inherits: ^ArmedUnit
|
||||||
|
Buildable:
|
||||||
|
Queue: Infantry
|
||||||
|
BuildPaletteOrder: 11
|
||||||
|
Prerequisites: podfarm
|
||||||
|
Valued:
|
||||||
|
Cost: 60
|
||||||
|
Tooltip:
|
||||||
|
Name: actor-bufferbot.name
|
||||||
|
Health:
|
||||||
|
HP: 3500
|
||||||
|
Armor:
|
||||||
|
Type: None
|
||||||
|
Mobile:
|
||||||
|
Locomotor: foot
|
||||||
|
Speed: 70
|
||||||
|
Armament:
|
||||||
|
Weapon: ping
|
||||||
|
|
||||||
|
drmwalker:
|
||||||
|
Inherits: ^ArmedUnit
|
||||||
|
Buildable:
|
||||||
|
Queue: Vehicle
|
||||||
|
BuildPaletteOrder: 51
|
||||||
|
Prerequisites: printfarm
|
||||||
|
Valued:
|
||||||
|
Cost: 900
|
||||||
|
Tooltip:
|
||||||
|
Name: actor-drmwalker.name
|
||||||
|
Health:
|
||||||
|
HP: 100000
|
||||||
|
Armor:
|
||||||
|
Type: Heavy
|
||||||
|
Mobile:
|
||||||
|
Locomotor: wheeled
|
||||||
|
Speed: 42
|
||||||
|
Armament:
|
||||||
|
Weapon: feedback_burst
|
||||||
@ -6,12 +6,16 @@
|
|||||||
Faction@Random:
|
Faction@Random:
|
||||||
InternalName: Random
|
InternalName: Random
|
||||||
Name: faction-random.name
|
Name: faction-random.name
|
||||||
RandomFactionMembers: vinylgod
|
RandomFactionMembers: vinylgod, stream
|
||||||
Description: faction-random.description
|
Description: faction-random.description
|
||||||
Faction@vinylgod:
|
Faction@vinylgod:
|
||||||
InternalName: vinylgod
|
InternalName: vinylgod
|
||||||
Name: faction-vinylgod.name
|
Name: faction-vinylgod.name
|
||||||
Description: faction-vinylgod.description
|
Description: faction-vinylgod.description
|
||||||
|
Faction@stream:
|
||||||
|
InternalName: stream
|
||||||
|
Name: faction-stream.name
|
||||||
|
Description: faction-stream.description
|
||||||
LoadWidgetAtGameStart:
|
LoadWidgetAtGameStart:
|
||||||
MusicPlaylist:
|
MusicPlaylist:
|
||||||
ScreenMap:
|
ScreenMap:
|
||||||
@ -33,6 +37,11 @@ world:
|
|||||||
SupportActors: digger
|
SupportActors: digger
|
||||||
Factions: vinylgod
|
Factions: vinylgod
|
||||||
ClassName: options-starting-units.unlabeled
|
ClassName: options-starting-units.unlabeled
|
||||||
|
StartingUnits@Stream:
|
||||||
|
BaseActor: streamvan
|
||||||
|
SupportActors: scraper
|
||||||
|
Factions: stream
|
||||||
|
ClassName: options-starting-units.unlabeled
|
||||||
BuildingInfluence:
|
BuildingInfluence:
|
||||||
PathFinder:
|
PathFinder:
|
||||||
MapOptions:
|
MapOptions:
|
||||||
|
|||||||
BIN
mods/vinylgod/sequences/assets/bufferbot.png
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
mods/vinylgod/sequences/assets/datacentre.png
Normal file
|
After Width: | Height: | Size: 156 B |
BIN
mods/vinylgod/sequences/assets/drmwalker.png
Normal file
|
After Width: | Height: | Size: 139 B |
BIN
mods/vinylgod/sequences/assets/icon_bufferbot.png
Normal file
|
After Width: | Height: | Size: 235 B |
BIN
mods/vinylgod/sequences/assets/icon_datacentre.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
mods/vinylgod/sequences/assets/icon_drmwalker.png
Normal file
|
After Width: | Height: | Size: 235 B |
BIN
mods/vinylgod/sequences/assets/icon_podfarm.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
mods/vinylgod/sequences/assets/icon_printfarm.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
mods/vinylgod/sequences/assets/icon_scraper.png
Normal file
|
After Width: | Height: | Size: 235 B |
BIN
mods/vinylgod/sequences/assets/icon_streamhub.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
mods/vinylgod/sequences/assets/icon_streamvan.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
mods/vinylgod/sequences/assets/icon_transcoder.png
Normal file
|
After Width: | Height: | Size: 237 B |
BIN
mods/vinylgod/sequences/assets/podfarm.png
Normal file
|
After Width: | Height: | Size: 156 B |
BIN
mods/vinylgod/sequences/assets/printfarm.png
Normal file
|
After Width: | Height: | Size: 252 B |
BIN
mods/vinylgod/sequences/assets/scraper.png
Normal file
|
After Width: | Height: | Size: 126 B |
BIN
mods/vinylgod/sequences/assets/streamhub.png
Normal file
|
After Width: | Height: | Size: 251 B |
BIN
mods/vinylgod/sequences/assets/streamvan.png
Normal file
|
After Width: | Height: | Size: 129 B |
BIN
mods/vinylgod/sequences/assets/transcoder.png
Normal file
|
After Width: | Height: | Size: 252 B |
@ -89,3 +89,57 @@ mastering:
|
|||||||
Filename: sequences/assets/mastering.png
|
Filename: sequences/assets/mastering.png
|
||||||
icon:
|
icon:
|
||||||
Filename: sequences/assets/icon_mastering.png
|
Filename: sequences/assets/icon_mastering.png
|
||||||
|
|
||||||
|
streamvan:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/streamvan.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_streamvan.png
|
||||||
|
|
||||||
|
streamhub:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/streamhub.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_streamhub.png
|
||||||
|
|
||||||
|
datacentre:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/datacentre.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_datacentre.png
|
||||||
|
|
||||||
|
transcoder:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/transcoder.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_transcoder.png
|
||||||
|
|
||||||
|
podfarm:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/podfarm.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_podfarm.png
|
||||||
|
|
||||||
|
printfarm:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/printfarm.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_printfarm.png
|
||||||
|
|
||||||
|
scraper:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/scraper.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_scraper.png
|
||||||
|
|
||||||
|
bufferbot:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/bufferbot.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_bufferbot.png
|
||||||
|
|
||||||
|
drmwalker:
|
||||||
|
idle:
|
||||||
|
Filename: sequences/assets/drmwalker.png
|
||||||
|
icon:
|
||||||
|
Filename: sequences/assets/icon_drmwalker.png
|
||||||
|
|||||||
@ -68,3 +68,17 @@ bass_ring:
|
|||||||
Wood: 100
|
Wood: 100
|
||||||
Light: 75
|
Light: 75
|
||||||
Heavy: 40
|
Heavy: 40
|
||||||
|
|
||||||
|
ping:
|
||||||
|
Inherits: ^GroundWeapon
|
||||||
|
ReloadDelay: 15
|
||||||
|
Range: 3c512
|
||||||
|
Warhead@1Dam: SpreadDamage
|
||||||
|
Spread: 64
|
||||||
|
Damage: 1200
|
||||||
|
ValidTargets: GroundActor
|
||||||
|
Versus:
|
||||||
|
None: 100
|
||||||
|
Wood: 35
|
||||||
|
Light: 45
|
||||||
|
Heavy: 15
|
||||||
|
|||||||
@ -94,6 +94,19 @@ box_sprite(os.path.join(OUT, 'basscannon.png'), 26, GREY, RED)
|
|||||||
box_sprite(os.path.join(OUT, 'roadie.png'), 16, GOLD, DARK)
|
box_sprite(os.path.join(OUT, 'roadie.png'), 16, GOLD, DARK)
|
||||||
box_sprite(os.path.join(OUT, 'mastering.png'), 64, (150, 150, 160, 255), PINK)
|
box_sprite(os.path.join(OUT, 'mastering.png'), 64, (150, 150, 160, 255), PINK)
|
||||||
|
|
||||||
|
# Phase E: The Stream (white/blue)
|
||||||
|
WHITE = (235, 238, 245, 255)
|
||||||
|
SBLUE = (60, 130, 255, 255)
|
||||||
|
box_sprite(os.path.join(OUT, 'streamvan.png'), 24, WHITE, SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'streamhub.png'), 64, WHITE, SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'datacentre.png'), 32, WHITE, SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'transcoder.png'), 64, (200, 210, 225, 255), SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'podfarm.png'), 32, WHITE, (120, 170, 255, 255))
|
||||||
|
box_sprite(os.path.join(OUT, 'printfarm.png'), 64, (210, 218, 230, 255), SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'scraper.png'), 22, WHITE, SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'bufferbot.png'), 14, WHITE, SBLUE)
|
||||||
|
box_sprite(os.path.join(OUT, 'drmwalker.png'), 28, WHITE, (30, 60, 160, 255))
|
||||||
|
|
||||||
|
|
||||||
def icon(path, body):
|
def icon(path, body):
|
||||||
w, h = 64, 48
|
w, h = 64, 48
|
||||||
@ -134,3 +147,7 @@ for r, shape in enumerate(('rect', 'dot', 'disc')):
|
|||||||
disc(px, w, ox + 8, oy + 8, 2, DARK)
|
disc(px, w, ox + 8, oy + 8, 2, DARK)
|
||||||
CHROME = os.path.join(os.path.dirname(__file__), '..', 'mods', 'vinylgod', 'chrome', 'assets')
|
CHROME = os.path.join(os.path.dirname(__file__), '..', 'mods', 'vinylgod', 'chrome', 'assets')
|
||||||
write_png(os.path.join(CHROME, 'production-icons.png'), w, h, px)
|
write_png(os.path.join(CHROME, 'production-icons.png'), w, h, px)
|
||||||
|
|
||||||
|
for name in ('streamvan', 'streamhub', 'datacentre', 'transcoder', 'podfarm',
|
||||||
|
'printfarm', 'scraper', 'bufferbot', 'drmwalker'):
|
||||||
|
icon(os.path.join(OUT, f'icon_{name}.png'), SBLUE if name in ('scraper', 'drmwalker', 'bufferbot') else WHITE)
|
||||||
|
|||||||