Open source Star Ruler 2 source code!

This commit is contained in:
Lucas de Vries
2018-07-17 14:15:37 +02:00
commit cc307720ff
4342 changed files with 2365070 additions and 0 deletions
@@ -0,0 +1,42 @@
Subsystem: FlagshipHull
Tags: DefaultUnlock, NoCore, HullSystem
Hull: Flagship
EvaluationOrder: -100
HexLimit := 128
FreeHexLimit := 0
GridWidth := 28
GridHeight := 23
Ship.ExternalHexes := 0
Ship.HexSize := ShipSize / (HexLimit - FreeHexLimit)
Repair := (ShipSize / HexLimit) * 8
Hex.LaborCost := 0.1 * ShipSize
Hex.BuildCost := 1.1 * ShipSize
Hex.MaintainCost := 4 * ShipSize^0.5
Hex.Mass := 0
AddPostModifier: AddMass(ShipSize * (1.0 - min(max((ShipTotalHexes - Ship.ExternalHexes) / Sum.HexLimit, 0.0), 1.0)))
OnCheckErrors: designs::checkGlobalDesign
Assert: ShipTotalHexes - Ship.ExternalHexes < Sum.HexLimit + 0.001
Message: #ERROR_HEX_COUNT
Assert: Ship.Command > 0
Message: #ERROR_NEED_CONTROL
RequirePrayer := 0
Assert: (RequirePrayer == 0) || (Sum.Prayer > 0)
Message: #ERROR_NEED_PRAYER
HasFTLCost := 0
FTLBuildCost := 0
AddPostModifier: AddFTLBuildCost(if(HasFTLCost, ShipSize*2.0, 0)))
Modifier: IncreaseHexLimit(Hexes)
HexLimit := HexLimit + Hexes
FreeHexLimit := FreeHexLimit + Hexes
+53
View File
@@ -0,0 +1,53 @@
Subsystem: RemnantHull
Tags: NoCore, HullSystem
Hull: Flagship, Station
EvaluationOrder: -100
HexLimit := 80
GridWidth := 28
GridHeight := 23
Ship.HexSize := ShipSize / HexLimit
Repair := (ShipSize / HexLimit) * 16
AddShipModifier: HpFactor(1.5)
AddShipModifier: DamageFactor(0.9)
AddShipModifier: SpreadFactor(1.5)
AddShipModifier: ThrustFactor(4.0)
AddShipModifier: TurnThrustFactor(8.0)
AddShipModifier: SupportCapacityFactor(2.0)
AddShipModifier: tag/MissileBase::SpeedFactor(0.5)
Subsystem: RemnantSupportHull
Tags: NoCore, HullSystem
Tags: IsSupport, SupportShip
Hull: Support
EvaluationOrder: -100
HexLimit := 40
Ship.HexSize := ShipSize / HexLimit
Repair := (ShipSize / HexLimit) * 16
AddShipModifier: HpFactor(1.5)
AddShipModifier: DamageFactor(0.9)
AddShipModifier: SpreadFactor(1.5)
AddShipModifier: tag/MissileBase::SpeedFactor(0.5)
Subsystem: SpecialRemnantHull
Tags: NoCore, HullSystem
Hull: Flagship, Station
EvaluationOrder: -100
GridWidth := 28
GridHeight := 23
Repair := HexSize * 16
AddShipModifier: HpFactor(1.5)
AddShipModifier: DamageFactor(0.9)
AddShipModifier: SpreadFactor(1.5)
AddShipModifier: ThrustFactor(4.0)
AddShipModifier: TurnThrustFactor(8.0)
AddShipModifier: SupportCapacityFactor(2.0)
AddShipModifier: tag/MissileBase::SpeedFactor(0.5)
@@ -0,0 +1,30 @@
Subsystem: AblativeArmor
Name: #ABLATIVEARMOR_NAME
Description: #ABLATIVEARMOR_DESC
BaseColor: #a9a9b9
Elevation: 1
Tags: LowMaint, Category:Defense, FauxExterior
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, ResistArmor, ExternalSpace
Tags: PrimaryArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.4
Hex.HP := 35 * HexSize
Hex.Mass := 3.5 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
DamageResist := ShipSize / 16.0
Effect: ReduceDamage
ProjResist = DamageResist
EnergyResist = DamageResist
ExplResist = DamageResist
MinimumPercent = 1/6
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Hex.LaborCost := Hex.LaborCost * 4
Sprite: PlateArmor * #9999ff
@@ -0,0 +1,33 @@
Subsystem: CrystalArmor
Name: #S_CRYSTALARMOR
Description: #S_CRYSTALARMOR_DESC
BaseColor: #ef45ff
Elevation: 2
Tags: LowMaint, Category:Defense, FauxExterior
Tags: NoCore, NonContiguous, Defense, IsArmor, ResistArmor, ExternalSpace
Tags: PrimaryArmor
Tags: HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.4
Hex.HP := 200 * HexSize
Hex.Mass := 3.0 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
DamageResist := ShipSize / 16.0
Effect: ReduceDamage
ProjResist = DamageResist
EnergyResist = DamageResist * 4.0
ExplResist = DamageResist
MinimumPercent = 1/6
Effect: SingleUseHexes
Module: Default
Hex.BuildCost := Hex.BuildCost * 8
Hex.LaborCost := Hex.LaborCost * 3
Sprite: CrystalArmor
@@ -0,0 +1,26 @@
Subsystem: LiquidArmor
Name: #S_LIQUIDARMOR
Description: #S_LIQUIDARMOR_DESC
BaseColor: #91692c
Elevation: 1
Tags: LowMaint, Category:Defense, NoWall, FauxExterior
Tags: NoCore, NonContiguous, Defense, IsArmor, TankArmor, ExternalSpace, SpecialCost
Tags: PrimaryArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.1
Hex.HP := 60 * HexSize
Hex.Mass := 1 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
Effect: DistributeHealth
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Hex.LaborCost := Hex.LaborCost * 3
Sprite: PlateArmor * #91692c
@@ -0,0 +1,23 @@
Subsystem: NanoMesh
Name: #NANOMESH_NAME
Description: #NANOMESH_DESC
BaseColor: #a9a9a9
Elevation: 1
Tags: LowMaint, Category:Defense, NoWall, PassExterior
Tags: NoCore, NonContiguous, Defense, IsArmor, TankArmor
Tags: SecondaryArmor, HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.HP := 200 * HexSize
Hex.Mass := 2.0 * HexSize
AddAdjacentModifier: AddHP(Hex.HP / 6.0)
AddPostModifier: HpFactor(0.0)
Module: Default
Hex.BuildCost := Hex.BuildCost * 3
Hex.LaborCost := Hex.LaborCost * 2
Sprite: NanoMesh
@@ -0,0 +1,27 @@
Subsystem: NeutronArmor
Name: #NEUTRONARMOR_NAME
Description: #NEUTRONARMOR_DESC
BaseColor: #898989
Elevation: 1
Tags: LowMaint, Category:Defense, FauxExterior
Tags: NoCore, NonContiguous, Defense, IsArmor, TankArmor, ExternalSpace
Tags: PrimaryArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.5
Hex.HP := 180 * HexSize
Hex.Mass := 20.0 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
DamageResist := ShipSize / 48.0
Effect: DamageResist
Resist = DamageResist
Module: Default
Hex.BuildCost := Hex.BuildCost * 6
Hex.LaborCost := Hex.LaborCost * 6
Sprite: PlateArmor * #449944
@@ -0,0 +1,34 @@
Subsystem: NilingArmor
Name: #S_NILINGARMOR
Description: #S_NILINGARMOR_DESC
BaseColor: #9dffb9
Elevation: 1
Tags: LowMaint, Category:Defense, FauxExterior, HeraldsDLC
Tags: NoCore, NonContiguous, Defense, ExternalSpace, AlwaysTakeDamage
Tags: SecondaryArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.HP := 0
Hex.Mass := 6.0 * HexSize
Modifier: AddHP(amount)
Hex.HP := 0
Damage := Size * 100
Radius := ((ShipSize + Size)/2)^(1/2.5) * 50
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
State: double = 0
Effect: NilingAbsorb
Damage = Damage
Radius = Radius
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Hex.LaborCost := Hex.LaborCost * 8
Sprite: NilingArmor
@@ -0,0 +1,28 @@
Subsystem: PlateArmor
Name: #PLATEARMOR_NAME
Description: #PLATEARMOR_DESC
BaseColor: #a9a9a9
Elevation: 1
Tags: LowMaint, Category:Defense, NoWall, FauxExterior
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, TankArmor, ExternalSpace
Tags: PrimaryArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.5
Hex.HP := 60 * HexSize
Hex.Mass := 5.0 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
DamageResist := ShipSize / 36.0
Effect: DamageResist
Resist = DamageResist
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Hex.LaborCost := Hex.LaborCost * 4
Sprite: PlateArmor
@@ -0,0 +1,32 @@
Subsystem: ReactiveArmor
Name: #REACTIVEARMOR_NAME
Description: #REACTIVEARMOR_DESC
BaseColor: #b9a9a9
Elevation: 1
Tags: LowMaint, Category:Defense, FauxExterior
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, BlockArmor, ExternalSpace
Tags: PrimaryArmor
Hull: Flagship, Station
Size := HexSize * Hexes
ImpactLevel := 27 * HexSize
MinPct := 1/6
Hex.Resistance := 0.4
Hex.HP := 30 * HexSize
Hex.Mass := 5.0 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
Effect: CapDamage
MaxDamage = ImpactLevel
MinimumPercent = MinPct
Modifier: ImpactFactor(factor)
MinPct := MinPct / factor
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Hex.LaborCost := Hex.LaborCost * 4
Sprite: PlateArmor * #ff9999
@@ -0,0 +1,49 @@
Subsystem: CarpetBomb
Name: #S_CARPETBOMB
Description: #S_CARPETBOMB_DESC
BaseColor: #ff8931
TypeColor: #ff8931
Elevation: 2
Tags: BaseCost, Category:Weapons, Rotatable
Tags: ExteriorCore, Weapon, DefaultUnlock, Bombardment
Hull: Flagship
Size := HexSize * Hexes
Range := Size + 200
BombardStacks := max(floor(Size * 0.015), 1)
BombardDuration := Size * 3.0 / BombardStacks
Reload := 30.0
BombardCost := Size * 200
Hex.HP := 3 * HexSize
Hex.Mass := HexSize
Hex.Resistance := 0.2
Requires:
Command = 1
Modifier: RangeFactor(factor)
Range := Range * factor
Modifier: DamageFactor(factor)
BombardDuration := BombardDuration * factor
Module: Default
Hex.BuildCost := 3 * Hex.BuildCost
Module: Core
Hex.BuildCost := 3 * Hex.BuildCost
Hex.HP := Hex.HP * 4.0
Sprite: MissileLauncher::0 * #ffa0a0
DrawMode: 1
Effector: PopulationBomb
Range = Range
Speed = 35
Duration = BombardDuration
Stacks = BombardStacks
SupplyCost = BombardCost
Reload = Reload
@@ -0,0 +1,47 @@
Subsystem: AncientCore
Name: #S_ANCIENT_CORE
Description: #S_ANCIENT_CORE_DESC
BaseColor: #c5f946
Tags: BaseCost, Category:Control, HeraldsDLC, BadFiller, RaceSpecial
Tags: Crewed, Control, ControlCore, HasInternals, Important
Tags: NoBulkhead
Hull: Flagship, Station
EvaluationOrder: -10
Size := HexSize * Hexes
Command := Hexes * 3
Power := 20 * Size
SupplyCapacity := Size * 1000
SupplyRate := Size * 40
Repair := 3 * HexSize * (Hexes-1)
RepairSupplyCost := 3.0 * Repair
out SupplyDrain := RepairSupplyCost
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Hex.LaborCost := 0.15 * HexSize + 0.18
Hex.BuildCost := 1.5 * HexSize + 0.8
Hex.MaintainCost := 3 * HexSize + 2
Effect: ControlCore
Provides:
Command = Command
Power = Power
Module: Default
Module: Core
Sprite: AncientComputerCore
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 5 * Hex.BuildCost
Hex.Mass := 5 * Hex.Mass
@@ -0,0 +1,45 @@
Subsystem: CrewControl
Name: #CREWCONTROL_NAME
Description: #CREWCONTROL_DESC
BaseColor: #c5f946
Picture: SubsystemButtonArt::8
Elevation: 4
Tags: BaseCost, Category:Control, BadFiller
Tags: DefaultUnlock, Crewed, Control, ControlCore, HasInternals
Tags: NoBulkhead, Important
Hull: Flagship, Station
EvaluationOrder: -10
Size := HexSize * Hexes
Crew := floor(40 * Size)
Command := Hexes * 2
SupplyRate := 30 * HexSize * (Hexes-1)
Repair := 4 * HexSize * (Hexes-1)
RepairSupplyCost := 2.0 * Repair
out SupplyDrain := RepairSupplyCost
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Effect: ControlCore
Provides:
Crew = Crew
Command = Command
Module: Default
Sprite: CrewQuarters
Module: Core
Sprite: Bridge
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 5 * Hex.BuildCost
Hex.Mass := 5 * Hex.Mass
@@ -0,0 +1,30 @@
Subsystem: DevoutShrine
Name: #S_SHRINE
Description: #S_SHRINE_DESC
BaseColor: #408fc1
Elevation: 1
Tags: BaseCost, Prayer, RaceSpecial, Important
Tags: IsShield, Defense, Category:Control, HasInternals
Hull: Flagship, Station
Prayer := Hexes
Size := HexSize * Hexes
ShieldCapacity := Size * 100
ShieldRegen := Size
ShieldHexes := Hexes
Hex.Resistance := 0.5
Hex.HP := 12 * HexSize
Hex.Mass := 2.5 * HexSize
Effect: ShieldDamage
Assert: Sum.Prayer >= Sum.Command
Unique: True
Message: #ERROR_EQUAL_PRAYER
Module: Core
Sprite: AntimatterReactor * #408fc1
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,38 @@
Subsystem: FleetComputer
Name: #S_FLEETCOMPUTER
Description: #S_FLEETCOMPUTER_DESC
BaseColor: #ca5700
Elevation: 2
Tags: HeraldsDLC
Tags: BaseCost, Category:Control, BadFiller
Tags: HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Repair := 5 * Size
RepairSupplyCost := 1.0 * Repair
out SupplyDrain := RepairSupplyCost
Hex.Resistance := 0.2
Hex.HP := 24 * HexSize
Hex.Mass := 0.5 * HexSize
RaidRange := 1000 + (Size / (ShipSize * 0.3)) * 5000
AddedRaidRange := RaidRange - 1000
Hook: AddRaidRange(AddedRaidRange)
PowerUse := 5 * Size
Requires:
Power = PowerUse
Module: Default
Module: Core
Sprite: FleetComputer
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,45 @@
Subsystem: ShipComputer
Name: #SHIPCOMPUTER_NAME
Description: #SHIPCOMPUTER_DESC
BaseColor: #ffa4a0
Picture: SubsystemButtonArt::8 * #ffa4a0
Elevation: 4
Tags: BaseCost, Category:Control, BadFiller
Tags: Control, ControlCore, HasInternals, Important
Hull: Flagship, Station
EvaluationOrder: -10
Size := HexSize * Hexes
Command := Hexes * 8
Repair := 4 * HexSize * (Hexes-1)
PowerUse := 40 * Size
SupplyRate := 30 * HexSize * (Hexes-1)
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Duration := 30
EfficiencyBoost := 20 * (Size / ShipSize)
Hook: AddStatus(ComputerCore)
Effect: ControlCore
Requires:
Power = PowerUse
Provides:
Command = Command
Module: Default
Sprite: HexagonSubsystems::4 * #ffa4a0
Module: Core
Sprite: ComputerCore
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,34 @@
Subsystem: SupplyModule
Name: #SUPPLYMODULE_NAME
Description: #SUPPLYMODULE_DESC
Picture: SubsystemButtonArt::8 * #b3ffef
BaseColor: #2fd6b3
Elevation: 3
Tags: DefaultUnlock, NonContiguous, NoCore, HasInternals, Category:Control
Tags: Compressible
Hull: Flagship, Station
Size := HexSize * Hexes
SupplyCapacity := Size * 4000
SupplyRate := Size * 6
Hex.LaborCost := 0.15 * HexSize + 0.8
Hex.BuildCost := 1.5 * HexSize + 2
Hex.MaintainCost := 2 * HexSize + 3 - (4 * HexSize / ShipSize^0.5)
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
Modifier: Compress(Amount)
SupplyCapacity := SupplyCapacity + Base::SupplyCapacity * (Amount / Hexes)
Effect: LeakSupply
LeakPctPerSec = 1 / 60
Module: Default
Sprite: SupplyStorage
@@ -0,0 +1,23 @@
Subsystem: SupportCapModule
Name: #SUPPORTCAPMODULE_NAME
Description: #SUPPORTCAPMODULE_DESC
BaseColor: #d6d300
Picture: SubsystemButtonArt::8 * #fdffa8
Elevation: 3
Tags: ScaledCost, Category:Control, SupportCap
Tags: DefaultUnlock, NonContiguous, NoCore, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
SupportCapacity := Size * 28
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Modifier: SupportCapacityFactor(factor)
SupportCapacity := SupportCapacity * factor
Module: Default
Sprite: SupportCommand
@@ -0,0 +1,40 @@
Subsystem: BroadcastAntenna
Name: #S_BROADCAST_ANTENNA
Description: #S_BROADCAST_ANTENNA_DESC
BaseColor: #f67bed
TypeColor: #f67bed
Elevation: 3
Tags: Category:Equipment, HighMaint, HasInternals
Tags: HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
InfluenceBuildCost := floor(5 * max(sqrt(ShipSize/128), 1.0))
PowerUse := 3.0 * Size
ConvertInterval := 5 / (Size / ShipSize) / if(ShipSize > 128, sqrt(ShipSize/128), ShipSize/128)
Hook: ApplyStatusRandomPlanets(Propaganda, 30, 300, Allow Self = False, Allow Allied = False)
Hook: RandomlyConvertSupports(ConvertInterval, Allow Allied = False, Interval Margin = 0.25)
Requires:
Command = 3
Power = PowerUse
Assert: ShipSize >= 64
Message: #ERROR_MIN_SIZE:$1:64
Assert: Size / ShipSize > 0.15
Message: #ERROR_TOO_SMALL
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := Hex.BuildCost * 10
Hex.Mass := Hex.Mass * 5
Sprite: Antenna
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
@@ -0,0 +1,22 @@
Subsystem: BusterBeam
Name: #S_BUSTER_BEAM
Description: #S_BUSTER_BEAM_DESC
BaseColor: #e900ff
TypeColor: #e900ff
Elevation: 2
Tags: BaseCost, Category:Equipment, HasInternals, ExteriorCore
Tags: Disabled, Ability:BusterBeam
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Module: Core
Sprite: HexagonSubsystems::6 * #e900ff
@@ -0,0 +1,30 @@
Subsystem: CargoStorage
Name: #S_CARGO_STORAGE
Description: #S_CARGO_STORAGE_DESC
BaseColor: #91692c
Elevation: 1
Tags: DefaultUnlock, ScaledCost, NonContiguous, NoCore, HasInternals, Category:Equipment, StaticMaintenance
Tags: Compressible
Hull: Flagship, Station
Size := HexSize * Hexes
CargoStorage := Size * 4
Hook: AddCargoStorage(CargoStorage)
Hook: AddPermanentStatus(CanGiveCargo)
Hook: AddPermanentStatus(CanTakeCargo)
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize * 3
Hex.LaborCost := 0.1 * HexSize
Hex.BuildCost := 1.1 * HexSize
Hex.MaintainCost := HexSize - (HexSize/ShipSize * 8 * ShipSize^0.5)
Modifier: Compress(Amount)
CargoStorage := CargoStorage + Base::CargoStorage * (Amount / Hexes)
Module: Default
Sprite: SupplyStorage * #91692c
@@ -0,0 +1,25 @@
Subsystem: CloakPlating
Name: #S_CLOAKPLATING
Description: #S_CLOAKPLATING_DESC
BaseColor: #5188e6
Elevation: -3
Tags: Category:Equipment, NoWall, NoFloor, PassExterior
Tags: NoCore, NonContiguous, Ephemeral
Tags: Ability:Cloak
Hull: Flagship, Station
Size := HexSize * Hexes
Ship.ExternalHexes := Ship.ExternalHexes + Hexes
Hex.BuildCost := 0.5 * ShipSize / Hexes
Hex.LaborCost := 0.05 * ShipSize / Hexes
Assert: Hexes == ExteriorHexes
Message: #ERROR_MUST_BE_EXTERIOR
OnCheckErrors: designs::checkCoversAllDirections
Module: Default
Sprite: PlateArmor * #5188e6a0
@@ -0,0 +1,27 @@
Subsystem: ConstructionBay
Name: #S_CONSTRUCTION_BAY
Description: #S_CONSTRUCTION_BAY_DESC
BaseColor: #fca404
TypeColor: #fca404
Elevation: 1
Tags: Category:Equipment, BaseCost, HasInternals, StaticMaintenance
Hull: Flagship, Station
Size := HexSize * Hexes
LaborIncome := Size / 4
Hook: AllowConstruction(True, False, False)
Hook: AddLaborIncome(LaborIncome)
Hook: AddPermanentStatus(ConstructionBay)
Module: Core
Sprite: ComputerCore * #fca404
Hex.BuildCost := Hex.BuildCost + LaborIncome * 60
Hex.LaborCost := Hex.BuildCost + LaborIncome * 3
Hex.MaintainCost := Hex.MaintainCost + LaborIncome * 25
Module: Default
Sprite: SupplyStorage * #fca404
@@ -0,0 +1,30 @@
Subsystem: EmergencySupplies
Name: #S_EMERGENCY_SUPPLIES
Description: #S_EMERGENCY_SUPPLIES_DESC
BaseColor: #b88b00
TypeColor: #b88b00
Elevation: 2
Tags: BaseCost, Category:Equipment, HasInternals
Tags: Ability:EmergencySupplies
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Mass := HexSize
EnergyCost := 10 * max(1,round(Size*4))
Resupply := EnergyCost * 100
HaveStatus := 1
out Duration := HaveStatus * sqrt(Size / ShipSize) * 120
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Sprite: AntimatterReactor * #b8b800
@@ -0,0 +1,30 @@
Subsystem: FlareBomb
Name: #S_FLARE_BOMB
Description: #S_FLARE_BOMB_DESC
BaseColor: #e45500
TypeColor: #e45500
Elevation: 2
Tags: BaseCost, Category:Equipment, HasInternals, ExteriorCore
Tags: Disabled, Ability:FlareBomb, HeraldsDLC
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Module: Default
Hex.BuildCost := 3.0 * Hex.BuildCost
Hex.MaintainCost := 3.0 * Hex.MaintainCost
Module: Core
Hex.BuildCost := 3.0 * Hex.BuildCost
Hex.MaintainCost := 3.0 * Hex.MaintainCost
Sprite: MissileLauncher::0 * #e45500
DrawMode: 1
@@ -0,0 +1,34 @@
Subsystem: GravitonCondenser
Name: #S_GRAVITON_CONDENSER
Description: #S_GRAVITON_CONDENSER_DESC
BaseColor: #e45500
TypeColor: #e45500
Elevation: 2
Tags: BaseCost, Category:Equipment, HasInternals, ExteriorCore
Tags: Ability:GravitonCondenser
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
StellarDamage := 4000000 * (Size / 100)
PowerUse := 15 * Size
Requires:
Command = 1
Power = PowerUse
Module: Default
Hex.BuildCost := 3.0 * Hex.BuildCost
Hex.MaintainCost := 3.0 * Hex.MaintainCost
Module: Core
Hex.BuildCost := 3.0 * Hex.BuildCost
Hex.MaintainCost := 3.0 * Hex.MaintainCost
Sprite: TractorGun::0 * #e45500
DrawMode: 1
@@ -0,0 +1,24 @@
Subsystem: IonCannon
Name: #S_ION_CANNON
Description: #S_ION_CANNON_DESC
BaseColor: #ff8d00
TypeColor: #ff8d00
Elevation: 3
Tags: BaseCost, Category:Equipment, HasInternals, ExteriorCore
Tags: Ability:IonCannon
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Duration := 300 * (Size / ShipSize * 5)
Requires:
Command = 1
Module: Core
Sprite: HexagonSubsystems::6 * #ff8d00
@@ -0,0 +1,38 @@
Subsystem: MiningLaser
Name: #S_MINING_LASER
Description: #S_MINING_LASER_DESC
BaseColor: #a1692c
TypeColor: #a1692c
Elevation: 3
Tags: DefaultUnlock, ScaledCost, Category:Equipment, HasInternals, ExteriorCore, Rotatable, StaticMaintenance
Tags: Ability:MineAsteroid, Ability:DropoffPoint, Ability:AutoMine
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
CargoStorage := Size / 4
MiningRate := Size / 20
MiningLasers := 1
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.LaborCost := 0.1 * HexSize
Hex.BuildCost := 1.1 * HexSize
Hex.MaintainCost := HexSize - (HexSize/ShipSize * 8 * ShipSize^0.5)
Hook: AddCargoStorage(CargoStorage)
Hook: AddPermanentStatus(CanGiveCargo)
Assert: Sum.MiningLasers == 1
Unique: True
Message: #ERROR_ONLY_ONE
Requires:
Command = 1
Module: Core
Sprite: Laser::0 * #91692c
DrawMode: 1
@@ -0,0 +1,29 @@
Subsystem: OreProcessor
Name: #S_ORE_PROCESSOR
Description: #S_ORE_PROCESSOR_DESC
BaseColor: #8870ac
TypeColor: #8870ac
Elevation: 2
Tags: Category:Equipment, BaseCost, HasInternals, NoCore, NonContiguous
Hull: Flagship, Station
Size := HexSize * Hexes
OreProcessRate := Size / 5
LaborProcessRate := OreProcessRate / 25 * 60
LaborStorage := LaborProcessRate * 5
Hook: AddLaborStorage(LaborStorage)
Hook: ProcessCargo(Ore, OreProcessRate, 25, AddStoredLabor(1, True))
CargoStorage := OreProcessRate
Hook: AddCargoStorage(CargoStorage)
Hook: AddPermanentStatus(CanTakeCargo)
Assert: Sum.LaborIncome > 0
Message: #REQUIRE_CONSTRUCTION_BAY
Module: Default
Sprite: SupportCommand * #8870ac
Hex.LaborCost := Hex.LaborCost * 2.0
@@ -0,0 +1,44 @@
Subsystem: SelfDestruct
Name: S_SELF_DESTRUCT
Description: S_SELF_DESTRUCT_DESC
BaseColor: #ff0000
TypeColor: #ff0000
Picture: AntimatterReactor
Elevation: 2
Tags: BaseCost
Tags: Category:Equipment, Ability:SelfDestruct
Tags: Weapon, IsExplosiveWeapon, HasInternals, NoAugment
Hull: Flagship, Station
Size := HexSize * Hexes
Damage := Size * 120
Radius := ((ShipSize + Size)/2)^(1/2.5) * 50
PowerUse := 10 * Size
Hex.Mass := HexSize
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: AntimatterReactor * #ff0000
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effect: SelfDestruct
Amount = Damage
Radius = Radius
Hits = 4
@@ -0,0 +1,26 @@
Subsystem: Simulator
Name: #S_SIMULATOR
Description: #S_SIMULATOR_DESC
BaseColor: #f17757
TypeColor: #f17757
Elevation: 3
Tags: BaseCost, Category:Equipment, HasInternals
Tags: HeraldsDLC
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Rate := (Size / 60) * 2
Hook: ExperienceOverTime(Rate, True)
Requires:
Command = 3
Module: Core
Sprite: Simulator
@@ -0,0 +1,24 @@
Subsystem: SkipDrive
Name: #S_SKIP_DRIVE
Description: #S_SKIP_DRIVE_DESC
BaseColor: #fff980
TypeColor: #fff980
Elevation: 3
Tags: BaseCost, Category:Equipment, HasInternals
Tags: Ability:Blink
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
CostFactor := 0.08 / (Size / ShipSize)
Requires:
Command = 1
Module: Core
Sprite: HexagonSubsystems::10 * #fff980
@@ -0,0 +1,30 @@
Subsystem: TractorBeam
Name: #S_TRACTOR_BEAM
Description: #S_TRACTOR_BEAM_DESC
BaseColor: #8bb800
TypeColor: #8bb800
Elevation: 2
Tags: BaseCost, Category:Equipment, HasInternals, ExteriorCore
Tags: DefaultUnlock, Ability:TractorBeam
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Assert: Size / ShipSize > 0.33
Message: #ERROR_TOO_SMALL
Requires:
Command = 1
Module: Default
Hex.BuildCost := 3.0 * Hex.BuildCost
Module: Core
Hex.BuildCost := 3.0 * Hex.BuildCost
Sprite: TractorGun::0 * #8bb800
DrawMode: 1
@@ -0,0 +1,45 @@
Subsystem: TroopPods
Name: #S_TROOPPODS
Description: #S_TROOPPODS_DESC
BaseColor: #dd3b4e
TypeColor: #dd3b4e
Elevation: 2
Tags: HeraldsDLC
Tags: Category:Equipment, Troops, NonContiguous, NoCore
Tags: Ability:TroopPods
Tags: HasInternals
Hull: Flagship, Station
Hex.LaborCost := 0.10 * HexSize + 0.8
Hex.BuildCost := 2.0 * HexSize + 2
Hex.MaintainCost := 3 * HexSize + 5 - (4 * HexSize / ShipSize^0.5)
Size := HexSize * Hexes
Hex.Mass := HexSize
MaxLoyalty := floor(Size / 9)
Duration := 2 * ceil(MaxLoyalty / 10) * 60
TroopCost := 50.0 * MaxLoyalty
TroopLabor := 2.0 * MaxLoyalty
TroopStorage := 1
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hook: OnEnable(AddStatus(Troops))
Hook: LimitStatusStacks(Troops, TroopStorage)
Requires:
Command = ceil(Hexes * 0.6)
Assert: MaxLoyalty >= 1
Unique: True
Message: #ERROR_TOO_SMALL
Module: Default
Hex.BuildCost := Hex.BuildCost + (TroopCost / Hexes)
Hex.LaborCost := Hex.LaborCost + (TroopLabor / Hexes)
Sprite: TroopPods
+31
View File
@@ -0,0 +1,31 @@
Subsystem: Gate
Name: Gate Constructor
Description: Allows the ship to construct into a gate and back.
BaseColor: #8ed2ff
TypeColor: #8ed2ff
Picture: SubsystemButtonArt::10
Elevation: 0
Tags: Engine, Gate, HasInternals, Category:FTL
Tags: Ability:UnpackGate, Disabled
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Effect: FTLUpkeep
Amount = 0.15
Requires:
Command = 1
Module: Core
Sprite: HexagonSubsystems::10
Hex.BuildCost := 221
Hex.LaborCost := 7.3
Assert: Size >= 5
Message: Gate Constructor must be at least size 5.
@@ -0,0 +1,30 @@
Subsystem: Hyperdrive
Name: #S_HYPERDRIVE
Description: #S_HYPERDRIVE_DESC
BaseColor: #a767ad
TypeColor: #a767ad
Picture: SubsystemButtonArt::10
Elevation: 0
Tags: BaseCost, Category:FTL
Tags: Engine, Hyperdrive, HasInternals, Hyperengine
Hull: Flagship
Size := HexSize * Hexes
HyperdriveSpeed := 3200.0 * Size / ShipSize
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Modifier: SpeedFactor(factor)
HyperdriveSpeed := HyperdriveSpeed * factor
Module: Default
Module: Core
Sprite: HexagonSubsystems::10
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,27 @@
Subsystem: Jumpdrive
Name: #S_JUMPDRIVE
Description: #S_JUMPDRIVE_DESC
BaseColor: #67ad85
TypeColor: #67ad85
Elevation: 0
Tags: BaseCost, Category:FTL
Tags: Engine, Jumpdrive, HasInternals, Hyperengine
Hull: Flagship
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
JumpRange := 170000 * Size / ShipSize
Requires:
Command = max(floor(Hexes / 3), 1)
Module: Default
Module: Core
Sprite: Jumpdrive
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,32 @@
Subsystem: Slipstream
Name: #S_SLIPSTREAM_GENERATOR
Description: #S_SLIPSTREAM_GENERATOR_DESC
BaseColor: #67a7ad
TypeColor: #67a7ad
Picture: SubsystemButtonArt::10
Elevation: 0
Tags: BaseCost, Category:FTL, CannotDonate
Tags: Engine, Slipstream, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.BuildCost := 2.0 * HexSize
SlipstreamCost := if(Sum.SlipstreamCost <= 0.01, 300, 0) - 150 * (Size/ShipSize)
SlipstreamOptimalDistance := 30000 * sqrt(pow(Sum.SlipstreamOptimalDistance / 30000, 2) + Size / 128) - Sum.SlipstreamOptimalDistance
SlipstreamDuration := if(Sum.SlipstreamDuration <= 0.01, 100, 0) + 600 * (Size/ShipSize)
Requires:
Command = 1
Module: Core
Sprite: HexagonSubsystems::10
Module: Default
Hex.MaintainCost := 0.5 * Hex.MaintainCost
@@ -0,0 +1,44 @@
Subsystem: AntimatterGen
Name: #AMGEN_NAME
Description: #AMGEN_DESC
BaseColor: #5ade8b
Elevation: 1
Tags: IsReactor, Category:Control
Tags: Important, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 85 * Size
SupplyCapacity := Size * 300
SupplyRate := Size * 15
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 3.5 * HexSize
Hex.LaborCost := 0.25 * HexSize + 1.2
Hex.BuildCost := 20 * HexSize + 2
Hex.MaintainCost := HexSize + 1
Effect: VitalSubsystem
Provides:
Power = Power
Module: Core
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Hex.HP := 1
Sprite: AntimatterReactor
Module: Default
Hex.BuildCost := 0.9 * Hex.BuildCost
Hex.Mass := 0.9 * Hex.Mass
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
Modifier: PowerFactor(factor)
Power := Power * factor
@@ -0,0 +1,38 @@
Subsystem: FissionGen
Name: #FISSIONGEN_NAME
Description: #FISSIONGEN_DESC
BaseColor: #00a4db
Elevation: 1
Tags: DefaultUnlock, IsReactor, Category:Control
Tags: Important, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 15 * Size
SupplyCapacity := Size * 500
SupplyRate := Size * 30
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 2.5 * HexSize
Hex.LaborCost := 0.1 * HexSize + 0.1
Hex.BuildCost := 1 * HexSize + 0.6
Hex.MaintainCost := HexSize + 1
Provides:
Power = Power
Module: Default
Hex.BuildCost := 0.9 * Hex.BuildCost
Hex.Mass := 0.9 * Hex.Mass
Module: Core
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: FissionReactor
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
@@ -0,0 +1,38 @@
Subsystem: FusionGen
Name: #FUSIONGEN_NAME
Description: #FUSIONGEN_DESC
BaseColor: #db0083
Elevation: 1
Tags: DefaultUnlock, IsReactor, Category:Control
Tags: Important, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 30 * Size
SupplyCapacity := Size * 1500
SupplyRate := Size * 80
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 2.5 * HexSize
Hex.LaborCost := 0.15 * HexSize + 0.18
Hex.BuildCost := 3 * HexSize + 0.8
Hex.MaintainCost := 5 * HexSize + 4
Provides:
Power = Power
Module: Core
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: FusionReactor
Module: Default
Hex.BuildCost := 0.9 * Hex.BuildCost
Hex.Mass := 0.9 * Hex.Mass
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
@@ -0,0 +1,52 @@
Subsystem: MareniumGen
Name: #S_MARENIUMGEN
Description: #S_MARENIUMGEN_DESC
BaseColor: #704e78
Elevation: 3
Tags: IsReactor, Category:Control
Tags: DontList, HasInternals
Tags: HeraldsDLC
Tags: Important
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 20 * Size
MareniumPower := Power
SupplyCapacity := Size * 300
SupplyRate := Size * 100
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 3.5 * HexSize
Hex.LaborCost := 0.15 * HexSize + 0.18
Hex.BuildCost := 3 * HexSize + 0.8
Hex.MaintainCost := 4 * HexSize + 3
Ship.ExternalHexes := Ship.ExternalHexes + Hexes
Hook: AddStatus(Marenium)
Provides:
Power = Power
Module: Core
Sprite: MareniumReactor
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Module: Default
Hex.BuildCost := 0.9 * Hex.BuildCost
Hex.Mass := 0.9 * Hex.Mass
Assert: Sum.Power == Sum.MareniumPower
Unique: True
Message: #ERROR_ALL_POWER
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
Modifier: PowerFactor(factor)
Power := Power * factor
@@ -0,0 +1,39 @@
Subsystem: SolarPanel
Name: #S_SOLARPANEL
Description: #S_SOLARPANEL_DESC
BaseColor: #64fff9
Elevation: 3
Tags: IsReactor, Category:Control
Tags: NonContiguous, NoCore
Tags: HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 7 * Size
SolarPower := 7 * Size
SolarEfficiencyLoss := 0.5
SolarEfficiencyMinBoost := 0.0
SolarEfficiencyMaxBoost := 1.0
Hook: SolarEfficiency(SolarEfficiencyLoss, SolarEfficiencyMinBoost, SolarEfficiencyMaxBoost, True)
Hex.Resistance := 0.01
Hex.HP := 10 * HexSize
Hex.Mass := 0.25 * HexSize
Hex.LaborCost := 0.05 * HexSize
Hex.BuildCost := 0.5 * HexSize
Ship.ExternalHexes := Ship.ExternalHexes + ExteriorHexes
Assert: Hexes == ExteriorHexes
Message: #ERROR_MUST_BE_EXTERIOR
Provides:
Power = Power
Module: Default
Sprite: SolarPanel
@@ -0,0 +1,25 @@
Subsystem: CarrierHull
Name: #S_CARRIER_HULL
Description: #S_CARRIER_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore
Tags: HeraldsDLC
Hull: Flagship
EvaluationOrder: -200
BaseColor: #d6d300
HexLimit := -26
AddShipModifier: SupplyCapacityFactor(1.5)
AddShipModifier: SupportCapacityFactor(2.0)
AddShipModifier: HpFactor(2.0)
Assert: ShipSize >= 300
Message: #ERROR_MIN_SIZE:$1:300
Assert: TagCount.Weapon == 0
Message: #ERROR_CANNOT_HAVE_WEAPONS
Module: Default
Sprite: HullSubsystems::0
DrawMode: 3
@@ -0,0 +1,23 @@
Subsystem: ColossusHull
Name: #S_COLOSSUS_HULL
Description: #S_COLOSSUS_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore, HeraldsDLC
Hull: Flagship
EvaluationOrder: -200
BaseColor: #cc3a7d
AddShipModifier: FlagshipHull::HexLimitFactor(10.0)
AddShipModifier: FlagshipHull::GridWidthFactor(4.0)
AddShipModifier: FlagshipHull::GridHeightFactor(sqrt(2.2))
Requires:
Command = 20
Power = ShipSize * 0.3
Assert: ShipSize >= 3000
Message: #ERROR_MIN_SIZE:$1:3000
Module: Default
Sprite: DesignationIcons::16
DrawMode: 3
@@ -0,0 +1,26 @@
Subsystem: DestroyerHull
Name: #S_DESTROYER_HULL
Description: #S_DESTROYER_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore
Tags: HeraldsDLC
Hull: Flagship
EvaluationOrder: -200
BaseColor: #ff8080
HexLimit := 30
AddShipModifier: HpFactor(6.0)
AddShipModifier: ArmorResistFactor(1.5)
AddShipModifier: MassFactor(0.5)
AddShipModifier: tag/Weapon::RangeFactor(0.7)
Assert: ShipSize >= 300
Message: #ERROR_MIN_SIZE:$1:300
Assert: Sum.SupportCapacity == 0
Message: #ERROR_CANNOT_HAVE_SUPPORT
Module: Default
Sprite: HullSubsystems::1
DrawMode: 3
@@ -0,0 +1,24 @@
Subsystem: SpinalMountHull
Name: #S_SPINAL_MOUNT_HULL
Description: #S_SPINAL_MOUNT_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore
Tags: HeraldsDLC
Tags: OverrideHexArcLimit
Hull: Flagship
EvaluationOrder: -200
BaseColor: #8edcef
AddShipModifier: tag/Weapon::FireArcFactor(100.0)
AddShipModifier: tag/Weapon::HpFactor(1.5)
AddShipModifier: tag/Weapon::CoreHealthFactor(5.0)
Assert: ShipSize >= 300
Message: #ERROR_MIN_SIZE:$1:300
Assert: TagCount.Weapon <= 1
Message: #ERROR_WEAPON_LIMIT
Module: Default
Sprite: HullSubsystems::2
DrawMode: 3
@@ -0,0 +1,22 @@
Subsystem: SuperstructureHull
Name: #S_SUPERSTRUCTURE_HULL
Description: #S_SUPERSTRUCTURE_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore
Tags: HeraldsDLC
Hull: Flagship, Station
EvaluationOrder: -200
BaseColor: #cc6a3a
AddShipModifier: BuildCostFactor(0.5)
AddShipModifier: LaborCostFactor(0.5)
AddShipModifier: MaintCostFactor(0.66)
Hex.OreCost := 0
AddPostModifier: AddOreCost(HexSum.BuildCost)
AddPostModifier: AddOreCost(HexSum.LaborCost)
AddPostModifier: AddOreCost(HexSum.MaintainCost * 0.5)
Module: Default
Sprite: HullSubsystems::3
DrawMode: 3
@@ -0,0 +1,24 @@
Subsystem: TitanHull
Name: #S_TITAN_HULL
Description: #S_TITAN_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore
Hull: Flagship
EvaluationOrder: -200
BaseColor: #cc6a3a
AddShipModifier: FlagshipHull::HexLimitFactor(4.0)
AddShipModifier: FlagshipHull::GridWidthFactor(sqrt(2.2))
AddShipModifier: FlagshipHull::GridHeightFactor(sqrt(2.2))
AddShipModifier: HyperdriveSpeedFactor(0.66)
AddShipModifier: MassFactor(1.5)
AddShipModifier: BuildCostFactor(1.0 - 0.5 * min(sqrt((ShipSize - 500) / 3000), 1.0))
AddShipModifier: FireArcFactor(2.0)
Assert: ShipSize >= 500
Message: #ERROR_MIN_SIZE:$1:500
Module: Default
Sprite: DesignationIcons::16
DrawMode: 3
@@ -0,0 +1,46 @@
Template: hexVar/HP, tag/Weapon, !tag/NoAugment
Module: AugmentReload
Name: #S_AUGMENT_RELOAD
Description: #S_AUGMENT_RELOAD_DESC
Unique: True
Color: #ffff00
Sprite: SupportCommand * #ffff00
Hex.HP := 3.0 * Hex.HP
Hex.BuildCost := Size
AddModifier: optional ReloadFactor(0.8)
AddModifier: optional CooldownFactor(0.8)
AddModifier: HPFactor(0.5)
Module: AugmentDamage
Name: #S_AUGMENT_DAMAGE
Description: #S_AUGMENT_DAMAGE_DESC
Unique: True
Color: #ff8080
Sprite: SupportCommand * #ff8080
Hex.HP := 3.0 * Hex.HP
Hex.BuildCost := Size
AddModifier: optional RangeFactor(0.5)
AddModifier: optional DamageFactor(1.25)
AddModifier: optional BeamDPSFactor(1.25)
Template: hexVar/HP, var/SupplyCost, tag/Weapon, !tag/NoAugment
Module: AugmentSupply
Name: #S_AUGMENT_SUPPLY
Description: #S_AUGMENT_SUPPLY_DESC
Unique: True
Color: #8080ff
Sprite: SupportCommand * #8080ff
Hex.HP := 3.0 * Hex.HP
Hex.BuildCost := Size
AddModifier: optional SupplyCostFactor(0.7)
AddModifier: optional FireArcFactor(0.5)
AddModifier: optional SpeedFactor(0.5)
@@ -0,0 +1,12 @@
Template: hexVar/BuildCost, hexVar/HP, !tag/NoBulkhead, !tag/NoCore, !tag/IsArmor, !tag/SupportHull
Module: Bulkhead
Name: #BULKHEAD_NAME
Description: #BULKHEAD_DESC
Color: #eda1ff
Sprite: HexagonSubsystems::0 * #cf00ff
Hex.HP := 3.0 * Hex.HP
AddModifier: AddBaseHP(1.5)
AddModifier: BuildCostFactor(2.0)
@@ -0,0 +1,15 @@
Template: var/PowerUse, !tag/NoQuantumBattery, !tag/SupportHull
Module: QuantumBattery
Name: #S_QUANTUM_BATTERY
Description: #S_QUANTUM_BATTERY_DESC
Vital: True
Color: #d8cc48
Sprite: QuantumBattery
PowerUse := PowerUse * 0.5
EnergyBuildCost := EnergyBuildCost + ceil(sqrt(Size) * 40)
Hex.BuildCost := Hex.BuildCost * 2.0
Hex.MaintainCost := Hex.MaintainCost * 3.0
Hex.HP := Hex.HP * 0.25
@@ -0,0 +1,21 @@
Template: tag/Compressible
Module: QuantumCompressor
Name: #S_QUANTUM_COMPRESSOR
Description: #S_QUANTUM_COMPRESSOR_DESC
Tags: HeraldsDLC
Color: #69eaf2
Sprite: QuantumCompressor
Requires:
Power = HexSize * 60
OnCheckErrors: heralds_designs::checkSurroundedInSystem
EnergyBuildCost := EnergyBuildCost + ceil(sqrt(ShipSize) * 20)
Hex.BuildCost := Hex.BuildCost * 3.0
Hex.HP := Hex.HP * 0.25
AddModifier: Compress(6)
@@ -0,0 +1,14 @@
Template: hexVar/BuildCost, hexVar/HP, tag/Weapon, var/Range, var/SupplyCost, !tag/SupportHull
Module: TargetingSensor
Name: #TARGETINGSENSOR_NAME
Description: #TARGETINGSENSOR_DESC
Color: #00ff00
Sprite: SupportCommand * #00ff00
AddModifier: BuildCostFactor(3.0)
AddModifier: SupplyCostFactor(2.0)
AddModifier: optional SpeedFactor(2.0)
AddModifier: optional SpreadFactor(0.5)
Range := Range + Base::Range * 0.5
@@ -0,0 +1,31 @@
Subsystem: GravityEngine
Name: #GRAVITYENGINE_NAME
Description: #GRAVITYENGINE_DESC
BaseColor: #e0f946
TypeColor: #e0f946
Picture: SubsystemButtonArt::9
Elevation: 0
Tags: BaseCost, Category:Propulsion, VectorThrust
Tags: Engine, GivesThrust, HasInternals
Hull: Flagship
Size := HexSize * Hexes
Thrust := 28 * Size
TurnThrust := 2.0 * Size
PowerUse := 5 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Hex.BuildCost := 2 * Hex.BuildCost
Module: Core
Sprite: HexagonSubsystems::5
Hex.BuildCost := 3 * Hex.BuildCost
@@ -0,0 +1,34 @@
Subsystem: IonEngine
Name: #IONENGINE_NAME
Description: #IONENGINE_DESC
BaseColor: #f9c846
TypeColor: #f9c846
Picture: SubsystemButtonArt::9
Elevation: 0
Tags: BaseCost, Category:Propulsion, NoBackWall, TurnToThrust
Tags: ExteriorCore, DefaultUnlock, Engine, HasInternals, SecondaryThrust
Hull: Flagship
OnCheckErrors: designs::checkCoreFacingBackwards
Size := HexSize * Hexes
Thrust := 22 * Size
TurnThrust := 2.0 * Size
PowerUse := 1.5 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Sprite: IonEngine
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,70 @@
Subsystem: Ramjet
Name: #S_RAMJET
Description: #S_RAMJET_DESC
BaseColor: #629b26
TypeColor: #629b26
Elevation: 0
Tags: BaseCost, Category:Propulsion, ExteriorCore, ModuleNoFrontWall
Tags: Engine, GivesThrust, HasInternals, NoBackWall, TurnToThrust, HasInternals
Tags: HeraldsDLC
Hull: Flagship
Size := HexSize * Hexes
Thrust := 18 * Size
TurnThrust := 0.75 * Size
SupplyGain := 0
Hex.Mass := 0.3 * HexSize
Hex.Resistance := 0.3
Hex.HP := 26 * HexSize
Hook: GainSupplyVelocity(SupplyGain, 100)
OnCheckErrors: heralds_designs::checkRamjet
Modifier: MaintCostFactor(factor)
Hex.MaintainCost := Hex.MaintainCost //No change, since this is negative
Requires:
Command = 1
Assert: TagCount.Mothership == 0
Unique: True
Message: #ERROR_NOT_ALLOWED_ON_MOTHERSHIP
Module: Default
Hex.MaintainCost := Hex.MaintainCost * -2 * min((ShipSize-16)/100, 1)
Hex.BuildCost := 1.0 * Hex.BuildCost
Hex.LaborCost := 0.5 * Hex.LaborCost
Module: Core
Sprite: Ramjet
Hex.MaintainCost := Hex.MaintainCost * -10 * min((ShipSize-16)/100, 1)
Hex.HP := 5 * Hex.HP
Hex.BuildCost := 2.0 * Hex.BuildCost
Hex.LaborCost := 2.0 * Hex.LaborCost
Module: Scoop
Name: #S_RAMJET_SCOOP
Description: #S_RAMJET_SCOOP_DESC
Color: #da8a9f
DefaultUnlock: True
Sprite: Ramscoop
Hex.MaintainCost := 0
Hex.BuildCost := 25 * Hex.BuildCost
Hex.LaborCost := 25 * Hex.LaborCost
Hex.HP := 5 * Hex.HP
SupplyGain := SupplyGain + HexSize * 200
Requires:
Command = 2
Assert: SupplyGain > 0
Message: #ERROR_REQUIRE_SCOOP
@@ -0,0 +1,32 @@
Subsystem: RocketEngine
Name: #ROCKETENGINE_NAME
Description: #ROCKETENGINE_DESC
BaseColor: #f9e146
TypeColor: #f9e146
Picture: RocketEngine
Elevation: 0
Tags: BaseCost, Category:Propulsion, NoBackWall, TurnToThrust
Tags: ExteriorCore, DefaultUnlock, Engine, GivesThrust, HasInternals
Hull: Flagship
OnCheckErrors: designs::checkCoreFacingBackwards
Size := HexSize * Hexes
Thrust := 35 * Size
TurnThrust := 0.75 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Sprite: RocketEngine
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,43 @@
Subsystem: DeflectorArray
Name: #S_DEFLECTOR_ARRAY
Description: #S_DEFLECTOR_ARRAY_DESC
BaseColor: #348c99
Elevation: 1
DamageOrder: -500
Tags: BaseCost
Tags: IsShield, Defense, Category:Defense, HasInternals
Tags: SecondaryDefense, HighPowerUse
Tags: ExteriorCore, HexLimitArc, Rotatable
Tags: HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
Instances := pow(ShipSize / 200, 1.0/4.0) * 100 * (Size / ShipSize)
PowerUse := 10 * Size + (50 * HexSize)
Arc := 0.3 * pi
Hex.Resistance := 0.5
Hex.HP := 20 * HexSize
Hex.Mass := 3.0 * HexSize
Effector: Deflector
Disabled: True
Arc = Arc
State: double = 0
Effect: DeflectInstances
Instances = Instances
Requires:
Command = 1
Power = PowerUse
Module: Core
Sprite: Dish
Hex.HP := 6 * Hex.HP
Hex.BuildCost := 5 * Hex.BuildCost
@@ -0,0 +1,32 @@
Subsystem: ShieldGen
Name: #SHIELDGEN_NAME
Description: #SHIELDGEN_DESC
BaseColor: #0044db
Elevation: 1
DamageOrder: -100
Tags: BaseCost
Tags: IsShield, Defense, Category:Defense, HasInternals
Tags: SecondaryDefense, HighPowerUse
Hull: Flagship, Station
Size := HexSize * Hexes
ShieldCapacity := Size * 40
ShieldRegen := Size * 2
ShieldHexes := Hexes
PowerUse := 10 * Size
Hex.Resistance := 0.5
Hex.HP := 12 * HexSize
Hex.Mass := 2.5 * HexSize
Effect: ShieldDamage
Requires:
Command = 1
Power = PowerUse
Module: Core
Sprite: FissionReactor
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,40 @@
Subsystem: ShieldHardener
Name: #S_SHIELD_HARDENER
Description: #S_SHIELD_HARDENER_DESC
BaseColor: #681be3
Elevation: 1
EvaluationOrder: 100
DamageOrder: -200
Tags: BaseCost, HighPowerUse
Tags: Defense, Category:Defense, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
PowerUse := 15 * Size
Chance := pow(0.5, 1.0 / (Hexes / Sum.ShieldHexes))
HasShieldHardener := 1
Hex.Resistance := 0.5
Hex.HP := 12 * HexSize
Hex.Mass := 2.5 * HexSize
Requires:
Command = 1
Power = PowerUse
Effect: ShieldBlock
Chance = Chance
Assert: Sum.ShieldCapacity > 0
Unique: True
Message: #ERROR_NEED_SHIELD
Assert: Sum.HasShieldHardener <= 1
Unique: True
Message: #ERROR_ONLY_ONE
Module: Core
Sprite: FissionReactor
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,42 @@
Subsystem: MothershipHull
Name: #S_MOTHERSHIP_HULL
Description: #S_MOTHERSHIP_HULL_DESC
Tags: Applied:Hull, Category:Hulls, NoCore, Mothership
Tags: Ability:MothershipColonize, CannotDonate
Hull: Flagship
EvaluationOrder: -200
BaseColor: #cc6a3a
AddShipModifier: FlagshipHull::HexLimitFactor(1.76)
AddShipModifier: FlagshipHull::GridWidthFactor(sqrt(1.5))
AddShipModifier: FlagshipHull::GridHeightFactor(sqrt(1.5))
AddShipModifier: HPFactor(3.0)
AddShipModifier: DamageResistFactor(2.0)
AddShipModifier: SupplyCapacityFactor(0.01)
AddShipModifier: SupplyCostFactor(0)
AddShipModifier: RepairSupplyCostFactor(-1)
AddShipModifier: SlipstreamDistCostFactor(0.5)
AddShipModifier: SlipstreamOverheadFactor(0.16)
AddShipModifier: ThrustFactor(2.0)
AddShipModifier: TurnThrustFactor(2.0)
AddShipModifier: DamageFactor(0.5)
SupportCapacity := 128
Hex.MaintainCost := 0
Hook: AddPermanentStatus(Mothership)
Hook: AddCargoStorage(100000)
Hook: ModSupplyConsumeFactor(-1.0)
AddPostModifier: AddMaintainCost(max(300-HexSum.MaintainCost, 0))
Assert: ShipSize >= 500
Message: #ERROR_MIN_SIZE:$1:500
Assert: ShipTotalHexes - Ship.ExternalHexes >= floor(Sum.HexLimit * 0.9)
Message: #ERROR_MUST_BE_FILLED
Module: Default
Sprite: ResourceIcon::8
DrawMode: 3
@@ -0,0 +1,41 @@
Subsystem: RemnantShipComputer
Name: #SHIPCOMPUTER_NAME
Description: #SHIPCOMPUTER_DESC
BaseColor: #ffa4a0
Picture: SubsystemButtonArt::8 * #ffa4a0
Elevation: 4
Tags: BaseCost, Category:Control, BadFiller
Tags: Control, ControlCore, HasInternals, Important
Tags: Disabled
Hull: Flagship, Station
EvaluationOrder: -10
Size := HexSize * Hexes
Command := Hexes * 8
Repair := 4 * HexSize * (Hexes-1)
PowerUse := 40 * Size
SupplyRate := 30 * HexSize * (Hexes-1)
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Effect: ControlCore
Requires:
Power = PowerUse
Provides:
Command = Command
Module: Default
Sprite: HexagonSubsystems::4 * #ffa4a0
Module: Core
Sprite: ComputerCore
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,24 @@
Subsystem: RemnantSupplyModule
Name: #SUPPLYMODULE_NAME
Description: #SUPPLYMODULE_DESC
Picture: SubsystemButtonArt::8 * #b3ffef
BaseColor: #2fd6b3
Elevation: 3
Tags: NonContiguous, NoCore, HasInternals, Category:Control, Disabled
Hull: Flagship, Station
Size := HexSize * Hexes
SupplyCapacity := Size * 500000
SupplyRate := Size * 60000
Hex.LaborCost := 0.3 * HexSize + 0.8
Hex.BuildCost := 3 * HexSize + 2
Hex.MaintainCost := 8 * HexSize + 5
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Module: Default
Sprite: SupplyStorage
@@ -0,0 +1,30 @@
Subsystem: VerdantSinew
Name: #S_VERDANT_SINEW
Description: #S_VERDANT_SINEW_DESC
Elevation: 0
BaseColor: #00ff00
EvaluationOrder: -10
Tags: Category:Control, Control, NoCore, NonContiguous, IsArmor
Tags: BaseCost, PassExterior, RaceSpecial
Hull: Flagship, Station
HexLimit := Sum.HexLimit * -0.2
Ship.ExternalHexes := Hexes
Repair := 32 * HexSize
Hex.Resistance := 0.2
Hex.HP := 40 * HexSize
Hex.Mass := HexSize * 1.5
Effect: DestroyOnLowEfficiency
Threshold = 0.3
OnCheckErrors: designs::checkSinew
Provides:
Command = floor(Sum.HexLimit / 10)
Module: Default
Sprite: Sinew
@@ -0,0 +1,44 @@
Subsystem: Artillery
Name: Artillery
Description: Big cannon plus big explosive equal big boom
BaseColor: #c5f946
TypeColor: #c5f946
Picture: SubsystemButtonArt::2
Elevation: 2
Tags: BaseCost, Disabled
Tags: WeaponBase, Rotatable, Category:Weapons, NoFrontWall
Tags: ExteriorCore, Weapon, IsExplosiveWeapon, HasInternals, SecondaryDPS
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 1000
Damage := Size * 32
Reload := 16.0 * min(1.0 + Size/512, 2.0)
SupplyCost := Size * 16.0
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Sprite: HexagonSubsystems::1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Railgun
Range = Range
Damage = Damage
Reload = Reload
Speed = 100
Tracking = -1
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,53 @@
Subsystem: Disruptor
Name: #S_DISRUPTOR
Description: #S_DISRUPTOR_DESC
BaseColor: #f0e5b5
TypeColor: #f0e5b5
Picture: SubsystemButtonArt::7
Elevation: 2
Tags: BaseCost, HeraldsDLC
Tags: BeamBase, Rotatable, HexLimitArc, Category:Weapons
Tags: ExteriorCore, Weapon, IsBeamWeapon, HasInternals, MainDPS
Hull: Flagship, Station
Size := HexSize * Hexes
BeamDPS := 1.5 * Size
Duration := 10
Cooldown := 6 * min(1.0 + Size/512, 2.0)
Range := Size + 250
Tracking := 0.5
SupplyCost := Size * 0.75
FireArc := 0.25 * pi
PowerUse := 10 * Size
Hex.HP := 10 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: Laser::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Disruptor
Range = Range
DPS = BeamDPS
Duration = Duration
Cooldown = Cooldown
Tracking = Tracking
SupplyCost = SupplyCost * Duration
FireArc = FireArc
@@ -0,0 +1,61 @@
Subsystem: DroneLauncher
Name: #S_DRONELAUNCHER
Description: #S_DRONELAUNCHER_DESC
BaseColor: #e6ed00
TypeColor: #e6ed00
Picture: SubsystemButtonArt::4
Elevation: 2
Tags: BaseCost, HeraldsDLC
Tags: WeaponBase, MissileBase, Category:Weapons, Rotatable
Tags: ExteriorCore, Weapon, IsExplosiveWeapon, HasInternals, MainDPS, Homing
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 900
Speed := 80
Tracking := 3
SupplyCost := Size * 3.0
Lifetime := 30
DroneCount := 2.0 * floor(pow(Size, 0.33))
Damage := (Size * 5.0) / DroneCount
FireDelay := min(0.5, Lifetime / (DroneCount + 1))
Assert: Size >= 1
Message: #ERROR_TOO_SMALL
//DPS is an estimation
out DPS := Damage * 10 * DroneCount / Lifetime
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = Hexes / 2
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: MissileLauncher::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: DroneLauncher
Range = Range
Damage = Damage
Speed = Speed
Tracking = Tracking
SupplyCost = (SupplyCost * Lifetime) / DroneCount
Lifetime = Lifetime
DroneCount = DroneCount
FireDelay = FireDelay
@@ -0,0 +1,69 @@
Subsystem: FlakBattery
Name: #S_FLAK_BATTERY
Description: #S_FLAK_BATTERY_DESC
BaseColor: #41fdc1
TypeColor: #41fdc1
Elevation: 2
Tags: BaseCost, Category:Weapons
Tags: WeaponBase, Rotatable
Tags: ExteriorCore, Weapon, IsProjWeapon, IsRailgun, HasInternals, SecondaryDPS
Tags: IgnoreRange
Tags: HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
Range := (ShipSize^(1.0/2.5) * 10 + 20) * 3.5
Damage := Size * 4.0
Reload := 0.3
Speed := Range
Spread := 0
Tracking := 0.6
Pierce := 0.2
SupplyCost := Size * 0.5
PowerUse := 3 * Size
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Modifier: RangeFactor(factor)
Range := Range * pow(factor, 1.0/5.0)
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 6
Hex.BuildCost := 4.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: Flak::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: FlakBattery
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Spread = Spread
FireArc = pi
TargetTolerance = pi
FireTolerance = Spread * 3
Pierce = Pierce
SupplyCost = SupplyCost * Reload
CapOnTarget = 24
FlagReduction = 0.1
@@ -0,0 +1,55 @@
Subsystem: HyperLaser
Name: #S_HYPERLASER
Description: #S_HYPERLASER_DESC
BaseColor: #f9394d
TypeColor: #f9394d
Picture: SubsystemButtonArt::7
Elevation: 2
Tags: BaseCost
Tags: BeamBase, Rotatable, Category:Weapons, HexLimitArc, HighPowerUse
Tags: ExteriorCore, Weapon, IsBeamWeapon, HasInternals, MainDPS
Hull: Flagship, Station
Size := HexSize * Hexes
BeamDPS := 13.5 * Size
Duration := 1.5
Cooldown := 6 * min(1.0 + Size/512, 2.0)
Range := Size + 350
Tracking := 0.5
SupplyCost := Size * 4.5
PowerUse := 10 * Size
FireArc := 0.22 * pi
Hex.HP := 12 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := Hex.BuildCost * 5
Hex.Mass := Hex.Mass * 5
Sprite: HyperdenseLaser::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Laser
Skin: Hyper
Range = Range
DPS = BeamDPS
Duration = Duration
Cooldown = Cooldown
Tracking = Tracking
SupplyCost = SupplyCost * Duration
FireArc = FireArc
@@ -0,0 +1,53 @@
Subsystem: Laser
Name: #LASER_NAME
Description: #LASER_DESC
BaseColor: #f9464d
TypeColor: #f9464d
Picture: SubsystemButtonArt::7
Elevation: 2
Tags: BaseCost
Tags: BeamBase, Rotatable, HexLimitArc, Category:Weapons, HighPowerUse
Tags: ExteriorCore, Weapon, DefaultUnlock, IsBeamWeapon, HasInternals, MainDPS
Hull: Flagship, Station
Size := HexSize * Hexes
BeamDPS := 4.3 * Size
Duration := 6
Cooldown := 6 * min(1.0 + Size/512, 2.0)
Range := Size + 450
Tracking := 0.5
SupplyCost := Size * 0.75
FireArc := 0.25 * pi
PowerUse := 7 * Size
Hex.HP := 12 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: Laser::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Laser
Range = Range
DPS = BeamDPS
Duration = Duration
Cooldown = Cooldown
Tracking = Tracking
SupplyCost = SupplyCost * Duration
FireArc = FireArc
@@ -0,0 +1,49 @@
Subsystem: MissileLauncher
Name: #MISSILELAUNCHER_NAME
Description: #MISSILELAUNCHER_DESC
BaseColor: #b746f9
TypeColor: #b746f9
Picture: SubsystemButtonArt::4
Elevation: 2
Tags: BaseCost
Tags: WeaponBase, MissileBase, Category:Weapons, Rotatable
Tags: ExteriorCore, Weapon, DefaultUnlock, IsExplosiveWeapon, HasInternals, MainDPS, Homing
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 650
Damage := Size * 15.0
Reload := 4.75 * min(1.0 + Size/512, 2.0)
Speed := max(85, Range / 30)
Tracking := 3
SupplyCost := Size * 3.0
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: MissileLauncher::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Missile
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,62 @@
Subsystem: MuonBattery
Name: #MUONBATTERY_NAME
Description: #MUONBATTERY_DESC
BaseColor: #f549f6
TypeColor: #f549f6
Elevation: 2
Tags: BaseCost, Category:Weapons
Tags: WeaponBase, Rotatable, HexLimitArc
Tags: ExteriorCore, Weapon, IsProjWeapon, IsRailgun, HasInternals, MainDPS
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 400
Damage := Size * 0.49
Reload := 0.2 * min(1.0 + Size/512, 2.0)
Speed := max(90, Range / 16)
Spread := 0.035 / max(Range / 600, 1)
Tracking := 0.4
FireArc := 1.5
Pierce := 1.15
SupplyCost := Size * 1.5
PowerUse := 3.5 * Size
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: Railgun::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Railgun
Skin: Muon
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Spread = Spread
FireArc = FireArc
TargetTolerance = max(pi,FireArc + pi/4)
FireTolerance = Spread * 3
Pierce = Pierce
SupplyCost = SupplyCost * Reload
CapOnTarget = 24
IgnoreDR = 1
@@ -0,0 +1,57 @@
Subsystem: ParticleLance
Name: #S_PARTICLELANCE
Description: #S_PARTICLELANCE_DESC
BaseColor: #ff7600
TypeColor: #ff7600
Elevation: 2
Tags: BaseCost, Category:Weapons, HeraldsDLC
Tags: WeaponBase, Rotatable, HexLimitArc
Tags: ExteriorCore, Weapon, IsProjWeapon, HasInternals, MainDPS
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 500
Damage := Size * 1.25
Reload := 5.0 * min(1.0 + Size/512, 2.0)
Speed := max(60, Range / 30)
Spread := 0
Tracking := 0.1
FireArc := 3.0
SupplyCost := Size * 2.5
PowerUse := 4.5 * Size
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: ParticleLance::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: ParticleLance
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Spread = Spread
FireArc = FireArc
TargetTolerance = max(pi,FireArc + pi/4)
FireTolerance = Spread * 3
SupplyCost = SupplyCost * Reload
CapOnTarget = 24
@@ -0,0 +1,70 @@
Subsystem: PlasmaThrower
Name: #S_PLASMATHROWER
Description: #S_PLASMATHROWER_DESC
BaseColor: #ce815a
TypeColor: #ce815a
Elevation: 2
Tags: BaseCost
Tags: SpecialWeapon, Category:Weapons, Rotatable
Tags: ExteriorCore, Weapon, HasInternals, MainDPS, Homing, HexLimitArc
Tags: HeraldsDLC
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 500
Duration := 10 * (1.0 + Size/128)
DamageOverTime := (Size * 4.0) / Duration
out DPS := (DamageOverTime * Duration) / Reload
out SupplyDrain := SupplyCost
out SupplyFireCost := SupplyCost * Reload
Modifier: DamageFactor(factor)
DamageOverTime := DamageOverTime * factor
Reload := 2.5 * min(1.0 + Size/512, 2.0)
Speed := max(200, Range / 10)
Spread := 0.015 / max(Range / 600, 1)
Tracking := 0.2
FireArc := 1.5
Pierce := 0.0
SupplyCost := Size * 1.0
PowerUse := 2.5 * Size
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: RocketPod::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: PlasmaThrower
Range = Range
DamageOverTime = DamageOverTime
Duration = Duration
Reload = Reload
Speed = Speed
Tracking = Tracking
Spread = Spread
FireArc = FireArc
TargetTolerance = max(pi,FireArc + pi/4)
FireTolerance = Spread * 3
Pierce = Pierce
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,65 @@
Subsystem: RailgunBattery
Name: #RAILBATTERY_NAME
Description: #RAILBATTERY_DESC
BaseColor: #c5f946
TypeColor: #c5f946
Picture: SubsystemButtonArt::2
Elevation: 2
Tags: BaseCost, Category:Weapons
Tags: WeaponBase, Rotatable, HexLimitArc
Tags: ExteriorCore, Weapon, DefaultUnlock, IsProjWeapon, IsRailgun, HasInternals, MainDPS
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 500
Damage := Size * 1.0
Reload := 0.32 * min(1.0 + Size/512, 2.0)
Speed := max(110, Range / 15)
Spread := 0.035 / max(Range / 600, 1)
Tracking := 0.4
FireArc := 1.5
Pierce := 0.6
SupplyCost := Size * 1.5
PowerUse := 2.5 * Size
Impulse := 0
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Modifier: AddRailgunKnockback(Amount)
Impulse := Impulse + Amount * Size
Requires:
Command = 1
Power = PowerUse
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: Railgun::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: RailgunBattery
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Spread = Spread
FireArc = FireArc
TargetTolerance = max(pi,FireArc + pi/4)
FireTolerance = Spread * 3
Pierce = Pierce
SupplyCost = SupplyCost * Reload
CapOnTarget = 24
Impulse = Impulse
@@ -0,0 +1,53 @@
Subsystem: RocketPod
Name: #S_ROCKETPOD
Description: #S_ROCKETPOD_DESC
BaseColor: #f94694
TypeColor: #f94694
Picture: SubsystemButtonArt::1
Elevation: 2
Tags: BaseCost
Tags: WeaponBase, MissileBase, Category:Weapons, Rotatable
Tags: ExteriorCore, Weapon, DefaultUnlock, HasInternals, MainDPS, Homing
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 250
Damage := Size * 5.0
Reload := 7 * min(1.0 + Size/512, 2.0)
Speed := max(65, Range / 12)
Tracking := 6.0
SupplyCost := Size * 3.0
out DPS := (Damage * 8) / (Reload * 2)
out SupplyDrain := SupplyCost / 2
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: RocketPod::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Rockets
Range = Range
Damage = Damage
FireDelay = Reload / 8
PodSize = 8
Reload = Reload
Speed = Speed
Tracking = Tracking
SupplyCost = SupplyCost * (Reload / 8)
@@ -0,0 +1,54 @@
Subsystem: TorpedoLauncher
Name: #S_TORPEDOLAUNCHER
Description: #S_TORPEDOLAUNCHER_DESC
BaseColor: #7946f9
TypeColor: #7946f9
Picture: SubsystemButtonArt::4
Elevation: 2
Tags: BaseCost
Tags: WeaponBase, MissileBase, Category:Weapons, Rotatable
Tags: ExteriorCore, Weapon, DefaultUnlock, IsExplosiveWeapon, HasInternals, SecondaryDPS, Homing
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 1200
Damage := Size * 7.0
Reload := 25.0 * min(1.0 + Size/512, 2.0)
Speed := max(40, Range / 90)
Tracking := 1.5
Radius := 10.0 + (log(Size) / log(2) * 10.0)
SupplyCost := Size * 4.0
Hex.Mass := HexSize
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Modifier: AoERadiusFactor(Factor)
Radius := Radius * Factor
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: MissileLauncher::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Effector: Torpedo
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Radius = Radius
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,79 @@
Subsystem: Warhead
Name: #S_WARHEAD
Description: #S_WARHEAD_DESC
BaseColor: #df123d
TypeColor: #df123d
Elevation: 2
Tags: BaseCost, HeraldsDLC
Tags: WeaponBase, MissileBase, Category:Weapons, Rotatable, Warhead, SecondaryDPS
Tags: ExteriorCore, Weapon, IsExplosiveWeapon, HasInternals, Homing
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 1200
Damage := Size * 1
Reload := 5.0 * min(1.0 + Size/512, 2.0)
Speed := max(40, Range / 90)
Tracking := 1.5
Radius := 30.0 + (log(Size) / log(2) * 10.0)
SupplyCost := 0
Hex.Mass := HexSize
HasWarhead := 1
WarheadCost := 2.0 * ShipSize
WarheadLabor := 0.1 * ShipSize
WarheadStorage := 1
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hook: OnEnable(AddStatus(Warhead))
Hook: LimitStatusStacks(Warhead, WarheadStorage)
//Hook: RefillStatusConstruction(Warhead, WarheadStorage, Warhead)
Modifier: AoERadiusFactor(Factor)
Radius := Radius * Factor
Requires:
Command = 1
Module: Default
Assert: Sum.HasWarhead <= 1
Unique: True
Message: #ERROR_ONLY_ONE
Module: Core
Hex.HP := Hex.HP * 3
Hex.BuildCost := 5.0 * Hex.BuildCost + WarheadCost
Hex.LaborCost := Hex.LaborCost + WarheadLabor
Hex.Mass := 5.0 * Hex.Mass
Sprite: Warhead::0
DrawMode: 1
Hex.DamageResist := ShipSize / 64.0
Effect: DamageResist
Resist = Hex.DamageResist
Module: WarheadTube
Name: #S_WARHEAD_TUBE
Description: #S_WARHEAD_TUBE_DESC
DefaultUnlock: True
Sprite: WarheadTube
Hook: OnEnable(AddStatus(Warhead))
WarheadStorage := WarheadStorage + 1
Hex.BuildCost := Hex.BuildCost + WarheadCost
Hex.LaborCost := Hex.LaborCost + WarheadLabor
Effector: Warhead
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Radius = Radius