^BaseWorld:
	Locomotor@TANK_harkonnen:
		Name: tank_harkonnen
		Crushes: crate, infantry, spicebloom
		TerrainSpeeds:
			Sand: 100
			Rock: 100
			Transition: 100
			Concrete: 100
			SpiceSand: 100
			Spice: 100
			SpiceBlobs: 100
			Dune: 70
	Locomotor@TANK:
		Name: tank
		WaitAverage: 10
		Crushes: crate, infantry, spicebloom
		TerrainSpeeds:
			Sand: 100
			Rock: 100
			Transition: 100
			Concrete: 100
			SpiceSand: 100
			Spice: 100
			SpiceBlobs: 100
			Dune: 60
	Locomotor@VEHICLE:
		WaitAverage: 10
	Locomotor@LIGHTVEHICLE:
		Name: light_vehicle
		Crushes: crate, spicebloom
		WaitAverage: 20
		TerrainSpeeds:
			Sand: 100
			Rock: 100
			Transition: 100
			Concrete: 100
			SpiceSand: 100
			Spice: 100
			SpiceBlobs: 100
			Dune: 50
	Locomotor@WORMMP:
		Name: worm_mp
		Crushes: crate, worm_dinner, spicebloom, vehicle
		TerrainSpeeds:
			Sand: 100
			Dune: 100
			SpiceSand: 100
			Spice: 100

World:
	LuaScript:
		Scripts: scripts_race.lua, scripts_custom.lua, scripts_AI.lua
	MissionData:
		Briefing: \n***** Welcome to the OpenRA Harvester Race ***** \n\n Choose your favorite harvester: \n - Atriedes:      D2K Harvester - best HP, the worse turrets \n - Harkonnen:  RA harvester - modest HP, modest turrets\n - Ordos:          TD harvester - worse HP, best turrets\n \n Each harvester have they own upgrades, items and turrets to buy. Harvest Spice to get money. Collect crates for additional cash or other bonus.\n BE FIRST AT FINISH LINE TO WIN THE RACE \n \n Options:\n\n Skip Intro: skip Tutorial\n Secondary objectives: You must harvest 1000$ from each Spice field before finishing the race\n Crate: Add/Remove Crates from the map
	ObjectivesPanel:
		PanelName: MISSION_OBJECTIVES
	MapOptions:
		TechLevelDropdownVisible: false
		TechLevel: unrestricted
		ShortGameCheckboxVisible: false
		GameSpeed: fastest
		GameSpeedDropdownLocked: true
		TechLevelDropdownLocked: true
	MapCreeps:
		CheckboxEnabled: true
		CheckboxLocked: true
		CheckboxVisible: false
	MapBuildRadius:
		AllyBuildRadiusCheckboxLocked: true
		AllyBuildRadiusCheckboxEnabled: true
		AllyBuildRadiusCheckboxVisible: false
	MapStartingLocations:
		SeparateTeamSpawnsCheckboxVisible: False
		SeparateTeamSpawnsCheckboxEnabled: true
		SeparateTeamSpawnsCheckboxLocked: true
	SpawnStartingUnits:
		DropdownLocked: true
		StartingUnitsClass: none
		DropdownDisplayOrder: 70
	TimeLimitManager:
		TimeLimitDisplayOrder: 3
	CrateSpawner:
		CheckboxVisible: false
	StartingUnits@mcv:
		Class: none
		ClassName: MCV Only
		BaseActor: harvester.d2k
		Factions: atreides, fremen
	StartingUnits@mcvRA:
		Class: none
		ClassName: MCV Only
		BaseActor: harvester.ra
		Factions: harkonnen, corrino
	StartingUnits@mcvcnc:
		Class: none
		ClassName: MCV Only
		BaseActor: harvester.cnc
		Factions:  ordos, mercenary, smuggler
	FlashPaletteEffect:
		Type: flash
		Color: E2DD8F4D
	TerrainLighting:
	ActorSpawnManager:
		Maximum: 2


Player:
	-ConquestVictoryConditions:
	DeveloperMode:
	MissionObjectives:
		EarlyGameOver: true
	LobbyPrerequisiteCheckbox@skipIntro:
		ID: skip_intro
		Label: Skip Intro
		Description: Skip mission introduction
		Enabled: false
		Visible: true
		Locked: false
		DisplayOrder: 7
		Prerequisites: skip_intro
	LobbyPrerequisiteCheckbox@secondaryObjective:
		ID: secondary_objectives
		Label: Add secondary objectives
		Description: You must harvest 1000$ at each spicefeild before finish the race
		Enabled: false
		Visible: true
		DisplayOrder: 7
		Prerequisites: secondary_objectives
	LobbyPrerequisiteCheckbox@crate:
		ID: mapCrates
		Label: Crates
		Description: Enable/Disable crates on map
		Enabled: true
		Visible: true
		DisplayOrder: 5
		Prerequisites: mapCrates
	Shroud:
		ExploredMapCheckboxEnabled: true
		ExploredMapCheckboxLocked: true
		ExploredMapCheckboxVisible: false
		FogCheckboxEnabled: false
		FogCheckboxLocked: true
		FogCheckboxVisible: false
	LobbyPrerequisiteCheckbox@AUTOCONCRETE:
		Enabled: True
		Locked: true
	PlayerResources:
		SelectableCash: 0
		InsufficientFundsNotification: InsufficientFunds
		InsufficientFundsTextNotification: Insufficient funds.
		CashTickUpNotification: CashTickUp
		CashTickDownNotification: CashTickDown
		DefaultCash: 0
		DefaultCashDropdownLocked: true
	ClassicProductionQueue@Building:
		QueueLimit: 3
	ClassicProductionQueue@Upgrade:
		QueueLimit: 1
		ReadyAudio: UnitReady
	PlaceBuilding:
		ToggleVariantKey: ToggleVariant
	ProductionIconOverlayManager:
		Image: iconchevrons
		Sequence: 2
		Type: veteran
	ProductionIconOverlayManager@upgradeLevel1:
		Image: iconchevrons
		Sequence: 1
		Type: level_1
	ProductionIconOverlayManager@upgradeLevel2:
		Image: iconchevrons
		Sequence: 2
		Type: level_2
	ProductionIconOverlayManager@upgradeLevel3:
		Image: iconchevrons
		Sequence: 3
		Type: level_3
	ProductionIconOverlayManager@upgradeLevel4:
		Image: iconchevrons
		Sequence: 4
		Type: level_4
	ProductionIconOverlayManager@StarportsOverlay0:
		Image: choam_unit_number
		Sequence: 0
		Type: 0
	ProductionIconOverlayManager@StarportsOverlay1:
		Image: choam_unit_number
		Sequence: 1
		Type: 1
	ProductionIconOverlayManager@StarportsOverlay2:
		Image: choam_unit_number
		Sequence: 2
		Type: 2
	ProductionIconOverlayManager@StarportsOverlay3:
		Image: choam_unit_number
		Sequence: 3
		Type: 3
	ProductionIconOverlayManager@StarportsOverlay4:
		Image: choam_unit_number
		Sequence: 4
		Type: 4
	ProductionIconOverlayManager@StarportsOverlay5:
		Image: choam_unit_number
		Sequence: 5
		Type: 5
	ProductionIconOverlayManager@StarportsOverlay6:
		Image: choam_unit_number
		Sequence: 6
		Type: 6
	ExternalCondition@invulnerable:
		Condition: invulnerable
	ProvidesPrerequisite@invulnerable:
		RequiresCondition: invulnerable
		RequiresPrerequisites: invulnerable

^Building:
	ScriptTriggers:
	GrantConditionOnPrerequisite@invulnerable:
		Condition: invulnerable
		Prerequisites: invulnerable
	Armor:
		RequiresCondition: !invulnerable
	Armor@invulnerable:
		RequiresCondition: invulnerable
		Type: invulnerable
	InstantlyRepairable:
		Types: Building
	ProductionTimeMultiplier@craneBonus:
		Prerequisites: bonus.crane
		Multiplier: 95
	GrantRandomCondition@randomFX:
		Conditions: explode02, explode03
	Explodes@02:
		Type: CenterPosition
		Weapon: buildingExplosions02
		EmptyWeapon: buildingExplosions02
		Chance: 50
		Offset: 1,0,1
		RequiresCondition: explode02 && !being-demolished
	Explodes@03:
		Type: CenterPosition
		Weapon: buildingExplosions03
		EmptyWeapon: buildingExplosions03
		Chance: 50
		Offset: 1,2,1
		RequiresCondition: (explode02 || explode03) && !being-demolished
	Explodes@sabotuerdemolition:
		RequiresCondition: being-demolished
		Type: CenterPosition
		Weapon: buildingBigExplosion
		EmptyWeapon: buildingBigExplosion
	ThrowsShrapnel:
		Weapons: derbisRock01, derbisRock02, derbisRock03, Debris4
		Pieces: 2, 5
		Range: 1c512, 4c0
	SpawnActorOnDeath@bigcrater:
		Actor: crater_big
		Offset: 0,1
		RequiresCondition: being-demolished
	AmbientSound@saboteurCharge:
		SoundFiles: audio/explodeSaboteurEmperor02.wav
		RequiresCondition: being-demolished
	WithBuildingRepairDecoration:
		Palette: player
		IsPlayerPalette: True
	Capturable:
		-RequiresCondition:

construction_yard:
	Health:
		HP: 40000
	Armor:
		Type: invulnerable
	RevealsShroud:
		Range: 5c768
	Power:
		Amount: 50
	GrantConditionOnFaction@atreides:
		Condition: atreides
		Factions: atreides
	GrantConditionOnFaction@harkonnen:
		Condition: harkonnen
		Factions: harkonnen
	GrantConditionOnFaction@ordos:
		Condition: ordos
		Factions: ordos
	ProvidesPrerequisite@d2kHarv:
		Prerequisite: harvester.d2k
		RequiresCondition: atreides
	ProvidesPrerequisite@raHarvester:
		Prerequisite: harvester.ra
		RequiresCondition: harkonnen
	ProvidesPrerequisite@cncHarvester:
		Prerequisite: harvester.cnc
		RequiresCondition: ordos
	GrantConditionOnPrerequisite@ionCannon:
		Condition: ion_ready
		Prerequisites: item.ion_cannon1
	IonCannonPower:
		Icon: ioncannon
		RequiresCondition: ion_ready
		Cursor: nuke
		ChargeInterval: 1
		Name: Ion Cannon
		Description: Initiate an Ion Cannon strike.\nApplies instant damage to a small area.
		SelectTargetTextNotification: Select target.
		InsufficientPowerTextNotification: Insufficient power.
		OnFireSound: audio/ion1.aud
		DisplayRadarPing: True
		CameraActor: camera
		SupportPowerPaletteOrder: 25
		OneShot: true
		EffectPalette: cnc_temperat
		AllowMultiple: false
		StartFullyCharged: true
		IconPalette: cnc_temperat

wind_trap:
	Buildable:
		Prerequisites: ~disabled

barracks:
	Buildable:
		Prerequisites: ~disabled


refinery:
	Buildable:
		Prerequisites: ~disabled
	FreeActorWithDelivery:
		Actor: harvester.normal



silo:
	Buildable:
		Prerequisites: ~disabled

light_factory:
	Buildable:
		Prerequisites: ~disabled
	

heavy_factory:
	Buildable:
		Prerequisites: ~disabled

outpost:
	Buildable:
		Prerequisites: ~disabled

starport:
	Buildable:
		Prerequisites: ~disabled





wall:
	Buildable:
		Prerequisites: ~disabled

medium_gun_turret:
	GrantConditionOnPrerequisite:
		Condition: ArmorUpgrade
		Prerequisites: upgrade.conyard
	Buildable:
		Prerequisites: ~disabled
	Valued:
		Cost: 700
	Health:
		HP: 30000
	Armor:
		Type: wall
		RequiresCondition: ArmorUpgrade
	Armor@weakArmor:
		Type: heavy
		RequiresCondition: !ArmorUpgrade
	RevealsShroud:
		Range: 5c768
	Turreted:
		TurnSpeed: 24
		InitialFacing: 512
		RealignDelay: -1
	WithSpriteTurret:
		Recoils: false
	WithSpriteBarrel:
		RequiresCondition: !build-incomplete
	Armament:
		Weapon: 110mm_Gun
		LocalOffset: 512,0,432
		MuzzleSequence: muzzle
		Recoil: 200
		RecoilRecovery: 25
	Power:
		Amount: -50

large_gun_turret:
	Inherits@AUTOTARGET: ^AutoTargetAll
	Buildable:
		BuildDuration: 380
		Prerequisites: ~disabled
		Description: Defensive structure.\n  Strong vs Tanks, Aircraft\n  Weak vs infantry\n\n  Requires power to operate.
	Valued:
		Cost: 900
	Health:
		HP: 32000
	Armor:
		Type: wall
	RevealsShroud:
		Range: 6c768
	Armament:
		Weapon: MissleTowerNew
		LocalOffset: 256,384,768, 256,-384,768
	Turreted:
		TurnSpeed: 32
	Power:
		Amount: -70

repair_pad:
	Buildable:
		Prerequisites: ~disabled
	RepairsUnits:
		Interval: 10
		HpPerStep: 800
		StartRepairingNotification: Repairing
		StartRepairingTextNotification: Repairing.
		FinishRepairingNotification: UnitRepaired
		FinishRepairingTextNotification: Unit repaired.
		PlayerExperience: 10
		ValuePercentage: 0
	

high_tech_factory:
	Buildable:
		Prerequisites: ~disabled


sietch:
	ExternalCondition@df:
		Condition: being-demolished
	Exit:
		ExitCell: 0,2
	Production:
		Produces: Vehicle
	RallyPoint:

research_centre:
	Buildable:
		Prerequisites: ~disabled


palace:
	Buildable:
		Prerequisites: ~disabled
	-NukePower:
	-ProduceActorPower@fremen:
	-ProduceActorPower@saboteur:

fremen_sietch:
	Inherits: ^Building
	Inherits@primary: ^PrimaryBuilding
	-D2kBuilding:
	Buildable:
		Queue: Building
		BuildPaletteOrder: 630
		BuildDuration: 937
		BuildDurationModifier: 100
		Prerequisites: ~disabled
	SpawnActorsOnSell:
		ActorTypes: nsfremen
	Valued:
		Cost: 1800
	RevealsShroud:
		Range: 4c768
	Production:
		Produces: Infantry
	HitShape:
		Type: Rectangle
			TopLeft: -1536, -512
			BottomRight: 1536, 512
	HitShape@TOP:
		Type: Rectangle
			TopLeft: -536, -1536
			BottomRight: 512, -512
	HitShape@BOTTOM:
		Type: Rectangle
			TopLeft: -512, 512
			BottomRight: 1536, 1536
	Building:
		Footprint: =x= xxx =xx
		Dimensions: 3,3
		TerrainTypes: Rock, Concrete
		BuildSounds: BUILD1.WAV
	RallyPoint:
	Tooltip:
		Name: Sietch
	Health:
		HP: 32000
	Armor:
		Type: cy
	Selectable:
		Bounds: 3072, 3072
	Exit@1:
		SpawnOffset: -704,1024,0
		ExitCell: -1,2
	Exit@2:
		SpawnOffset: -704,1024,0
		ExitCell: -1,3
	ProvidesPrerequisite@barracks:
	SpawnActorPower@wormrider:
		EffectImage: Carryall
		Actor: worm_rider
		Name: Worm rider
		Description: Deploy Wormride who can invocate and ride worm
		ChargeInterval: 4000
		LifeTime: -1
		Icon: sandworm
		StartFullyCharged: false
		SupportPowerPaletteOrder: 90
		OrderName: SpawnActorPowerInfoOrder.wormride
	Production@wormriderproduction:
		Produces: Fremen

upgrade.conyard:
	Buildable:
		Prerequisites: ~disabled

upgrade.barracks:
	Buildable:
		Prerequisites: ~disabled

upgrade.light:
	Buildable:
		Prerequisites: ~disabled

upgrade.heavy:
	Buildable:
		Prerequisites: ~disabled

upgrade.hightech:
	Buildable:
		Prerequisites: ~disabled
