^ExistsInWorld:
	AppearsOnRadar:
	UpdatesPlayerStatistics:
	CombatDebugOverlay:
	GivesExperience:
	BodyOrientation:
	ScriptTriggers:
	UpgradeManager:
	Huntable:

^GainsExperience:
	GainsExperience:
		Upgrades:
			500: rank, firepower, damage, speed, reload
			1000: rank, firepower, damage, speed, reload, selfheal, eliteweapon
	FirepowerMultiplier@EXPERIENCE:
		UpgradeTypes: firepower
		Modifier: 110, 130
	DamageMultiplier@EXPERIENCE:
		UpgradeTypes: damage
		Modifier: 83, 66
	SpeedMultiplier@EXPERIENCE:
		UpgradeTypes: speed
		Modifier: 120, 150
	ReloadDelayMultiplier@EXPERIENCE:
		UpgradeTypes: reload
		Modifier: 90, 75
	SelfHealing@ELITE:
		Step: 2
		Ticks: 100
		HealIfBelow: 1
		DamageCooldown: 125
		UpgradeTypes: selfheal
		UpgradeMinEnabledLevel: 1
	WithRankDecoration:
		Image: rank
		Sequence: rank
		Palette: ra
		ReferencePoint: Bottom, Right
		Offset: 2, 2
		UpgradeTypes: rank
		ZOffset: 256
		UpgradeMinEnabledLevel: 1
		UpgradeMaxAcceptedLevel: 2

^BasicBuilding:
	Inherits: ^ExistsInWorld
	SelectionDecorations:
		Palette: pips
	Selectable:
		Priority: 3
	TargetableBuilding:
		TargetTypes: Ground, Building, C4
	Building:
		Dimensions: 1,1
		Footprint: x
		BuildSounds: place2.aud
		TerrainTypes: Clear, Road, DirtRoad, Rough
		Adjacent: 4
	FrozenUnderFog:
	SoundOnDamageTransition:
		DamagedSounds: expnew01.aud
		DestroyedSounds: crmble2.aud
	RenderBuilding:
	WithBuildingExplosion:
	EngineerRepairable:
	ShakeOnDeath:
	AcceptsSupplies:
	Guardable:
		Range: 3
	Demolishable:
	Cloak@CLOAKGENERATOR:
		UpgradeTypes: cloakgenerator
		UpgradeMinEnabledLevel: 1
		InitialDelay: 0
		CloakDelay: 90

^Building:
	Inherits: ^BasicBuilding
	GivesBuildableArea:
	Capturable:
	RepairableBuilding:
		IndicatorPalette: mouse
	WithDeathAnimation:
		DeathSequence: dead
		UseDeathTypeSuffix: false
	EmitInfantryOnSell@gdi:
		ActorTypes: e1, e1, e2, medic
		Races: gdi
	EmitInfantryOnSell@nod:
		ActorTypes: e1, e1, e1, e3, e3
		Races: nod
	MustBeDestroyed:
		RequiredForShortGame: true
	CaptureNotification:
	Sellable:
		SellSounds: cashturn.aud
	WithMakeAnimation:
	ThrowsShrapnel:
		Weapons: LargeDebris
		Pieces: 3, 7
		Range: 2c0, 5c0

^CivBuilding:
	Inherits: ^BasicBuilding
	-UpdatesPlayerStatistics:
	Health:
		HP: 900
	Armor:
		Type: Wood
	RevealsShroud:
		Range: 4c0
	Tooltip:
		Description: Civilian Building
	RenderBuilding:
		Palette: terrain

^CivBillboard:
	Inherits: ^CivBuilding
	Building:
		Footprint: x
		Dimensions: 1, 1
	Armor:
		Type: heavy
	Health:
		HP: 400
	EditorTilesetFilter:
		RequireTilesets: TEMPERATE

^Crate:
	HiddenUnderShroud:
	Tooltip:
		Name: Crate
	Crate:
		Lifetime: 180
		TerrainTypes: Clear, Rough, Road, DirtRoad, Tiberium, BlueTiberium, Veins
	RenderSprites:
		Palette: terrain
	WithCrateBody:
		Images: crate
	CustomSelectionSize:
		CustomBounds: 24,24

^Wall:
	HiddenUnderShroud:
	AppearsOnRadar:
	Building:
		Dimensions: 1,1
		Footprint: x
		BuildSounds: place2.aud
		Adjacent: 7
		TerrainTypes: Clear, Road
	SoundOnDamageTransition:
		DamagedSounds: expnew01.aud
		DestroyedSounds: crmble2.aud
	Crushable:
		CrushClasses: wall
	BlocksProjectiles:
	LineBuild:
		Range: 8
		NodeTypes: wall
	LineBuildNode:
		Types: wall
	TargetableBuilding:
		TargetTypes: Ground, Wall, C4
	RenderBuildingWall:
		Type: wall
	GivesExperience:
	AutoTargetIgnore:
	Sellable:
		SellSounds: cashturn.aud
	UpdatesPlayerStatistics:
	BodyOrientation:
	Demolishable:
	ScriptTriggers:
	UpgradeManager:
	Cloak@CLOAKGENERATOR:
		UpgradeTypes: cloakgenerator
		UpgradeMinEnabledLevel: 1
		InitialDelay: 0
		CloakDelay: 90
	MustBeDestroyed:

^BuildingPlug:
	AlwaysVisible:
	Building:
		BuildSounds: place2.aud
	KillsSelf:
		RemoveInstead: true
	RenderSprites:

^Infantry:
	Inherits@1: ^GainsExperience
	Inherits@2: ^ExistsInWorld
	DrawLineToTarget:
	Health:
		Radius: 128
		HP: 50
	Armor:
		Type: None
	Valued:
		Cost: 10
	RevealsShroud:
		Range: 2c0
	Mobile:
		Voice: Move
		Speed: 71
		Crushes: crate
		SharesCell: true
		TerrainSpeeds:
			Clear: 90
			Road: 100
			Rail: 90
			DirtRoad: 100
			Rough: 80
			Tiberium: 90
			BlueTiberium: 90
			Veins: 50
	SelectionDecorations:
		Palette: pips
	Selectable:
		Bounds: 14,23,-1,-9
	Voiced:
		VoiceSet: Infantry
	TargetableUnit:
		TargetTypes: Ground, Infantry
	RenderSprites:
	WithInfantryBody:
	WithDeathAnimation@normal:
		DeathTypes:
			BulletDeath: 1
			SmallExplosionDeath: 2
			HeadshotDeath: 3
			FireDeath: 5
	WithDeathAnimation@explosion:
		DeathSequencePalette: effect
		DeathPaletteIsPlayerPalette: False
		DeathTypes:
			ExplosionDeath: 4
	WithDeathAnimation@energy:
		DeathSequencePalette: ra
		DeathPaletteIsPlayerPalette: False
		DeathTypes:
			EnergyDeath: 6
	AutoTarget:
	AttackMove:
		Voice: Move
	Passenger:
		CargoType: Infantry
		Voice: Move
	HiddenUnderFog:
	ActorLostNotification:
	Crushable:
		CrushSound: squish6.aud
	PoisonedByTiberium:
	SpawnViceroid:
		ViceroidActor: vissml
		DeathType: EnergyDeath # TODO: FIX ME! (Tiberium currently uses the wrong damage type!)
	Guard:
		Voice: Move
	Guardable:
	DeathSounds@NORMAL:
		DeathTypes: BulletDeath, SmallExplosionDeath, ExplosionDeath
	DeathSounds@BURNED:
		Voice: Burned
		DeathTypes: FireDeath
	DeathSounds@ZAPPED:
		Voice: Zapped
		DeathTypes: EnergyDeath
	Cloak@CLOAKGENERATOR:
		UpgradeTypes: cloakgenerator
		UpgradeMinEnabledLevel: 1
		InitialDelay: 0
		CloakDelay: 90

^Soldier:
	Inherits: ^Infantry
	RevealsShroud:
		Range: 4c0
	MustBeDestroyed:
	TakeCover:
		DamageModifiers:
			Prone50Percent: 50
			Prone60Percent: 60
			Prone70Percent: 70
			Prone100Percent: 100
			Prone350Percent: 350
		DamageTriggers: TriggerProne
	WithInfantryBody:
		IdleSequences: idle1,idle2
	WithDeathAnimation:
		CrushedSequence: die-crushed

^Cyborg:
	Inherits: ^Infantry
	RevealsShroud:
		Range: 4c0
	MustBeDestroyed:
	-Crushable:
	PoisonedByTiberium:
		Weapon: TiberiumHeal
	WithPermanentInjury:
	WithInfantryBody:
		AttackSequence: shoot
		IdleSequences: idle1,idle2

^CivilianInfantry:
	Inherits: ^Infantry
	Voiced:
		VoiceSet: Civilian
	Tooltip:
		Name: Civilian
	ScaredyCat:
	WithDeathAnimation:
		CrushedSequence: die-crushed

^Vehicle:
	Inherits@1: ^GainsExperience
	Inherits@2: ^ExistsInWorld
	DrawLineToTarget:
	Mobile:
		Crushes: crate
		TerrainSpeeds:
			Clear: 70
			Road: 100
			Rail: 50
			DirtRoad: 90
			Rough: 40
			Tiberium: 50
			BlueTiberium: 50
			Veins: 50
		ROT: 5
		Voice: Move
	Selectable:
		Bounds: 40,24
	SelectionDecorations:
		Palette: pips
	Voiced:
		VoiceSet: Vehicle
	TargetableUnit:
		TargetTypes: Ground, Vehicle, Repair
	Repairable:
		RepairBuildings: gadept
		Voice: Move
	Passenger:
		CargoType: Vehicle
		Voice: Move
	AttackMove:
		Voice: Move
	HiddenUnderFog:
	ActorLostNotification:
	Capturable:
		Type: Vehicle
		CaptureThreshold: 1
		CancelActivity: True
	Guard:
		Voice: Move
	Guardable:
	BodyOrientation:
		CameraPitch: 90
	Explodes:
		Weapon: UnitExplodeSmall
		EmptyWeapon: UnitExplodeSmall
	UpgradeOverlay@EMPDISABLE:
		UpgradeTypes: empdisable
		UpgradeMinEnabledLevel: 1
		Palette: disabled
	DisableUpgrade@EMPDISABLE:
		UpgradeTypes: empdisable
		UpgradeMinEnabledLevel: 1
	TimedUpgradeBar@EMPDISABLE:
		Upgrade: empdisable
		Color: 255,255,255
	WithDecoration@EMPDISABLE:
		Image: emp
		Sequence: idle
		ReferencePoint: HCenter, VCenter
		Palette: effect
		UpgradeTypes: empdisable
		ShowToEnemies: true
		ZOffset: 512
		UpgradeMinEnabledLevel: 1
	Cloak@CLOAKGENERATOR:
		UpgradeTypes: cloakgenerator
		UpgradeMinEnabledLevel: 1
		InitialDelay: 0
		CloakDelay: 90
	MustBeDestroyed:
	RenderSprites:
	ThrowsShrapnel:
		Weapons: SmallDebris
		Pieces: 3, 7
		Range: 2c0, 5c0

^Tank:
	Inherits: ^Vehicle
	Mobile:
		Crushes: wall, crate, infantry
		TerrainSpeeds:
			Clear: 70
			Road: 100
			Rail: 100
			DirtRoad: 90
			Rough: 60
			Tiberium: 70
			BlueTiberium: 70
			Veins: 70

^VoxelVehicle:
	Inherits: ^Vehicle
	RenderVoxels:
	WithVoxelBody:

^VoxelTank:
	Inherits: ^Tank
	RenderVoxels:
	WithVoxelBody:

^CivilianVoxelVehicle:
	Inherits: ^VoxelVehicle
	-RenderSprites:
	-MustBeDestroyed:

^Aircraft:
	Inherits@1: ^GainsExperience
	Inherits@2: ^ExistsInWorld
	DrawLineToTarget:
	AppearsOnRadar:
		UseLocation: yes
	TargetableAircraft:
		TargetTypes: Air
		GroundedTargetTypes: Ground
	Selectable:
	SelectionDecorations:
		Palette: pips
	Voiced:
		VoiceSet: Heli
	HiddenUnderFog:
		Type: CenterPosition
	AttackMove:
		Voice: Move
	ActorLostNotification:
	BodyOrientation:
		CameraPitch: 90
	Guard:
		Voice: Move
	Guardable:
	MustBeDestroyed:
	RenderVoxels:
	WithVoxelBody:

^Helicopter:
	Inherits: ^Aircraft
	Helicopter:
		RepairBuildings: gadept
		RearmBuildings:
		LandWhenIdle: no
		CruiseAltitude: 2048
		Voice: Move

^Plane:
	Inherits: ^Aircraft
	Plane:
		RepairBuildings: gadept
		RearmBuildings: gahpad, nahpad
		LandWhenIdle: no
		CruiseAltitude: 2560
		Voice: Move
	ReturnOnIdle:

^Viceroid:
	Inherits: ^ExistsInWorld
	DrawLineToTarget:
	Health:
		Radius: 256
	Armor:
		Type: Light
	Mobile:
		Speed: 113
		ROT: 16
		Crushes: crate
		SharesCell: no
		TerrainSpeeds:
			Clear: 90
			Road: 100
			Rail: 80
			DirtRoad: 90
			Rough: 70
			Tiberium: 100
			BlueTiberium: 100
			Veins: 100
	SelectionDecorations:
		Palette: pips
	Selectable:
		Bounds: 26,26,0,-3
	TargetableUnit:
		TargetTypes: Ground
	AttackMove:
	HiddenUnderFog:
	PoisonedByTiberium:
		Weapon: TiberiumHeal
	Guardable:
	RenderSprites:
	WithSpriteBody:
	AutoSelectionSize:

^BlossomTree:
	Tooltip:
		Name: Blossom Tree
	RenderBuilding:
		Palette: player
	Building:
		Footprint: x
		Dimensions: 1,1
	AppearsOnRadar:
	RadarColorFromTerrain:
		Terrain: Tiberium
	BodyOrientation:
	FrozenUnderFog:
		StartsRevealed: true
	SeedsResource:
		ResourceType: Tiberium
		Interval: 55
	WithActiveAnimation:

^Tree:
	HiddenUnderShroud:
	RenderSprites:
		Palette: terrain
	WithSpriteBody:
	AutoSelectionSize:
	Building:
		Footprint: x
		Dimensions: 1, 1
	AppearsOnRadar:
	BodyOrientation:
	Tooltip:
		Name: Tree

^Rock:
	HiddenUnderShroud:
	RenderSprites:
		Palette: terrain
	WithSpriteBody:
	AutoSelectionSize:
	Building:
		Footprint: x
		Dimensions: 1, 1
	AppearsOnRadar:
	BodyOrientation:
	Tooltip:
		Name: Rock

