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
+22
View File
@@ -0,0 +1,22 @@
Template: var/ProjResist
Modifier: ProjResistFactor(factor)
ProjResist := ProjResist * factor
Template: var/EnergyResist
Modifier: EnergyResistFactor(factor)
EnergyResist := EnergyResist * factor
Template: var/ExplosiveResist
Modifier: ExplosiveResistFactor(factor)
ExplosiveResist := ExplosiveResist * factor
Template: var/ProjResist, var/EnergyResist, var/ExplosiveResist
Modifier: ResistFactor(factor)
ProjResist := ProjResist * factor
EnergyResist := EnergyResist * factor
ExplosiveResist := ExplosiveResist * factor
Template: tag/IsArmor
Modifier: PenResistMod(mod)
Hex.Resistance := Hex.Resistance + mod
+23
View File
@@ -0,0 +1,23 @@
Template: tag/BaseCost
Defaults:
Hex.LaborCost := 0.3 * HexSize
Hex.BuildCost := 2.2 * HexSize
Hex.MaintainCost := 8 * HexSize / ShipSize^0.5
Template: tag/HighMaint
Defaults:
Hex.LaborCost := 0.3 * HexSize
Hex.BuildCost := 2.2 * HexSize
Hex.MaintainCost := 16 * HexSize / ShipSize^0.5
Template: tag/LowMaint
Defaults:
Hex.LaborCost := 0.3 * HexSize
Hex.BuildCost := 2.2 * HexSize
Hex.MaintainCost := 4 * HexSize / ShipSize^0.5
Template: tag/ScaledCost
Defaults:
Hex.LaborCost := 0.3 * HexSize
Hex.BuildCost := 2.2 * HexSize
Hex.MaintainCost := 3.5 * HexSize
@@ -0,0 +1,11 @@
Subsystem: FlagshipHull
Tags: DefaultUnlock, NoCore, HullSystem
Hull: Flagship
EvaluationOrder: -100
Hex.Mass := ShipEmptyHexes * HexSize
Hex.LaborCost := ShipEmptyHexes * 0.25 * HexSize
Repair := HexSize * 4
Assert: Ship.Command > 0
Message: #ERROR_NEED_CONTROL
@@ -0,0 +1,27 @@
Subsystem: AblativeArmor
Name: #ABLATIVEARMOR_NAME
Description: #ABLATIVEARMOR_DESC
BaseColor: #a9a9b9
Picture: SubsystemButtonArt::0 * #9999ff
Elevation: 1
Tags: LowMaint, Category:Armor
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, ResistArmor
Hull: Flagship, Station
Size := HexSize * Hexes
ProjResist := HexSize * 1
EnergyResist := HexSize * 0.5
ExplosiveResist := HexSize * 2
Hex.Resistance := 0.4
Hex.HP := 18 * HexSize
Hex.Mass := 2.5 * HexSize
Effect: ReduceDamage
ProjResist = ProjResist
EnergyResist = EnergyResist
ExplResist = ExplosiveResist
MinimumPercent = 1 / 8
Module: Default
Sprite: HexagonSubsystems::0 * #9999ff
@@ -0,0 +1,20 @@
Subsystem: NeutronArmor
Name: #NEUTRONARMOR_NAME
Description: #NEUTRONARMOR_DESC
BaseColor: #898989
Picture: SubsystemButtonArt::0 * #449944
Elevation: 1
Tags: LowMaint, Category:Armor
Tags: NoCore, NonContiguous, Defense, IsArmor, TankArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.5
Hex.HP := 180 * HexSize
Hex.Mass := 5 * HexSize
Module: Default
Hex.BuildCost := Hex.BuildCost * 4
Sprite: HexagonSubsystems::0 * #449944
@@ -0,0 +1,20 @@
Subsystem: PlateArmor
Name: #PLATEARMOR_NAME
Description: #PLATEARMOR_DESC
BaseColor: #a9a9a9
Picture: SubsystemButtonArt::0
Elevation: 1
Tags: LowMaint, Category:Armor
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, TankArmor
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Resistance := 0.5
Hex.HP := 54 * HexSize
Hex.Mass := 2.5 * HexSize
Module: Default
Hex.BuildCost := Hex.BuildCost * 0.5
Sprite: HexagonSubsystems::0
@@ -0,0 +1,27 @@
Subsystem: ReactiveArmor
Name: #REACTIVEARMOR_NAME
Description: #REACTIVEARMOR_DESC
BaseColor: #b9a9a9
Picture: SubsystemButtonArt::0 * #ff9999
Elevation: 1
Tags: LowMaint, Category:Armor
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, BlockArmor
Hull: Flagship, Station
Size := HexSize * Hexes
ImpactLevel := 27 * HexSize
MinPct := 1/6
Hex.Resistance := 0.4
Hex.HP := 27 * HexSize
Hex.Mass := 2.5 * HexSize
Modifier: ImpactFactor(factor)
MinPct := MinPct / factor
Effect: CapDamage
MaxDamage = ImpactLevel
MinimumPercent = MinPct
Module: Default
Sprite: HexagonSubsystems::0 * #ff9999
@@ -0,0 +1,48 @@
Subsystem: CarpetBomb
Name: Carpet Bomb
Description: A heavy, multiple warhead weapon designed to devastate a planet's surface and population.
BaseColor: #ff8931
TypeColor: #ff8931
Picture: SubsystemButtonArt::3
Elevation: 2
Tags: BaseCost, Category:Weapons
Tags: ExteriorCore, Weapon, DefaultUnlock
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: HexagonSubsystems::8
Effector: PopulationBomb
Range = Range
Speed = 35
Duration = BombardDuration
Stacks = BombardStacks
SupplyCost = BombardCost
Reload = Reload
@@ -0,0 +1,40 @@
Subsystem: CrewControl
Name: #CREWCONTROL_NAME
Description: #CREWCONTROL_DESC
BaseColor: #c5f946
Picture: SubsystemButtonArt::8
Elevation: 4
Tags: BaseCost, Category:Control
Tags: DefaultUnlock, Crewed, Control, ControlCore, HasInternals
Tags: NoBulkhead
Hull: Flagship, Station
EvaluationOrder: -10
Size := HexSize * Hexes
Crew := floor(40 * Size)
Command := Hexes * 2
Repair := 4 * HexSize * (Hexes-1)
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Effect: ControlCore
Provides:
Crew = Crew
Command = Command
Module: Default
Sprite: HexagonSubsystems::4
Module: Core
Sprite: HexagonSubsystems::3
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 5 * Hex.BuildCost
Hex.Mass := 5 * Hex.Mass
@@ -0,0 +1,38 @@
Subsystem: ShipComputer
Name: #SHIPCOMPUTER_NAME
Description: #SHIPCOMPUTER_DESC
BaseColor: #ffa4a0
Picture: SubsystemButtonArt::8 * #ffa4a0
Elevation: 4
Tags: BaseCost, Category:Control
Tags: Control, ControlCore, HasInternals
Hull: Flagship, Station
EvaluationOrder: -10
Size := HexSize * Hexes
Command := Hexes * 10
Repair := 4 * HexSize * (Hexes-1)
PowerUse := 40 * Size
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: HexagonSubsystems::3 * #ff4444
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,26 @@
Subsystem: SupplyModule
Name: #SUPPLYMODULE_NAME
Description: #SUPPLYMODULE_DESC
Picture: SubsystemButtonArt::8 * #b3ffef
BaseColor: #2fd6b3
Elevation: 3
Tags: DefaultUnlock, NonContiguous, NoCore, HasInternals, Category:Control
Hull: Flagship, Station
Size := HexSize * Hexes
Crew := floor(40 * Size)
Command := Hexes * 2
SupplyCapacity := Size * 5000
SupplyRate := Size * 6
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: HexagonSubsystems::4 * #b3ffef
@@ -0,0 +1,25 @@
Subsystem: SupportCapModule
Name: #SUPPORTCAPMODULE_NAME
Description: #SUPPORTCAPMODULE_DESC
BaseColor: #d6d300
Picture: SubsystemButtonArt::8 * #fdffa8
Elevation: 3
Tags: ScaledCost, Category:Control
Tags: DefaultUnlock, NonContiguous, NoCore, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Crew := floor(40 * Size)
Command := Hexes * 2
SupportCapacity := Size * 32
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.Mass := HexSize
Modifier: SupportCapacityFactor(factor)
SupportCapacity := SupportCapacity * factor
Module: Default
Sprite: HexagonSubsystems::4 * #fdffa8
@@ -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
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 := 273
Hex.LaborCost := 6
Assert: Size >= 5
Message: Gate Constructor must be at least size 5.
@@ -0,0 +1,30 @@
Subsystem: Hyperdrive
Name: Hyperdrive
Description: Allows for hyperdrive navigation. The larger the hyperdrive the faster the FTL speed.
BaseColor: #a767ad
TypeColor: #a767ad
Picture: SubsystemButtonArt::10
Elevation: 0
Tags: BaseCost, Category:Propulsion
Tags: Engine, Hyperdrive, HasInternals
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,28 @@
Subsystem: Slipstream
Name: Slipstream Generator
Description: Grants the ability to generate slipstream portals.
BaseColor: #67a7ad
TypeColor: #67a7ad
Picture: SubsystemButtonArt::10
Elevation: 0
Tags: BaseCost, Category:FTL
Tags: Engine, Slipstream, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
SlipstreamOverhead := 60 * sqrt(Size/32)
SlipstreamDistCost := 6
SlipstreamDuration := 90 + 150 * (Size/32)
Requires:
Command = 1
Module: Core
Sprite: HexagonSubsystems::10
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,32 @@
Subsystem: AntimatterGen
Name: #AMGEN_NAME
Description: #AMGEN_DESC
BaseColor: #5ade8b
Elevation: 1
Tags: NoCore, NonContiguous, IsReactor, Category:Control
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 100 * Size
SupplyCapacity := Size * 1000
SupplyRate := Size * 150
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 2.5 * HexSize
Hex.LaborCost := 0.3 * HexSize + 0.8
Hex.BuildCost := 20 * HexSize + 2
Hex.MaintainCost := 0
Provides:
Power = Power
Module: Default
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
Modifier: PowerFactor(factor)
Power := Power * factor
@@ -0,0 +1,30 @@
Subsystem: FissionGen
Name: #FISSIONGEN_NAME
Description: #FISSIONGEN_DESC
BaseColor: #00a4db
Elevation: 1
Tags: NoCore, NonContiguous, DefaultUnlock, IsReactor, Category:Control
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 10 * Size
SupplyCapacity := Size * 1000
SupplyRate := Size * 40
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 2.5 * HexSize
Hex.LaborCost := 0.3 * HexSize + 0.18
Hex.BuildCost := 3 * HexSize + 0.8
Hex.MaintainCost := 4 * HexSize / ShipSize^0.5 + 3 * HexSize + 2
Provides:
Power = Power
Module: Default
Sprite: HexagonSubsystems::11
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
@@ -0,0 +1,29 @@
Subsystem: FusionGen
Name: #FUSIONGEN_NAME
Description: #FUSIONGEN_DESC
BaseColor: #db0083
Elevation: 1
Tags: NoCore, NonContiguous, DefaultUnlock, IsReactor, Category:Control
Hull: Flagship, Station
Size := HexSize * Hexes
Power := 20 * Size
SupplyCapacity := Size * 1000
SupplyRate := Size * 20
Hex.Resistance := 0.5
Hex.HP := 18 * HexSize
Hex.Mass := 4 * HexSize
Hex.LaborCost := 0.3 * HexSize + 0.18
Hex.BuildCost := 5 * HexSize + 0.8
Hex.MaintainCost := 4 * HexSize / ShipSize^0.5 + 3.5 * HexSize + 2
Provides:
Power = Power
Module: Default
Modifier: SupplyCapacityFactor(factor)
SupplyCapacity := SupplyCapacity * factor
@@ -0,0 +1,14 @@
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
DefaultUnlock: True
Hex.HP := 3.0 * Hex.HP
AddModifier: AddBaseHP(1.5)
AddModifier: BuildCostFactor(2.0)
@@ -0,0 +1,29 @@
Subsystem: GravityEngine
Name: #GRAVITYENGINE_NAME
Description: #GRAVITYENGINE_DESC
BaseColor: #e0f946
TypeColor: #e0f946
Picture: SubsystemButtonArt::9
Elevation: 0
Tags: BaseCost, Category:Propulsion
Tags: Engine, GivesThrust, HasInternals
Hull: Flagship
Size := HexSize * Hexes
Thrust := 24 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Power = 5 * Size
Module: Default
Hex.BuildCost := 3 * Hex.BuildCost
Module: Core
Sprite: HexagonSubsystems::5
Hex.BuildCost := 3 * Hex.BuildCost
@@ -0,0 +1,32 @@
Subsystem: IonEngine
Name: #IONENGINE_NAME
Description: #IONENGINE_DESC
BaseColor: #f9c846
TypeColor: #f9c846
Picture: SubsystemButtonArt::9
Elevation: 0
Tags: BaseCost, Category:Propulsion
Tags: ExteriorCore, DefaultUnlock, Engine, GivesThrust, HasInternals
Hull: Flagship
OnCheckErrors: designs::checkCoreFacingBackwards
Size := HexSize * Hexes
Thrust := 24 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Power = 1.5 * Size
Module: Default
Module: Core
Sprite: HexagonSubsystems::5
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,31 @@
Subsystem: RocketEngine
Name: #ROCKETENGINE_NAME
Description: #ROCKETENGINE_DESC
BaseColor: #f9e146
TypeColor: #f9e146
Picture: SubsystemButtonArt::5
Elevation: 0
Tags: HighMaint, Category:Propulsion
Tags: ExteriorCore, DefaultUnlock, Engine, GivesThrust, HasInternals
Hull: Flagship
OnCheckErrors: designs::checkCoreFacingBackwards
Size := HexSize * Hexes
Thrust := 35 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Sprite: HexagonSubsystems::2
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,40 @@
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
Tags: ExteriorCore, Weapon, IsExplosiveWeapon, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 1000
Damage := Size * 32
Reload := 16.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
Effector: Railgun
Range = Range
Damage = Damage
Reload = Reload
Speed = 100
Tracking = -1
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,46 @@
Subsystem: HyperLaser
Name: Hyperdense Laser
Description: A brief laser with energy densities nearly high enough to spontaneously generate matter.
BaseColor: #f9394d
TypeColor: #f9394d
Picture: SubsystemButtonArt::7
Elevation: 2
Tags: BaseCost
Tags: BeamBase, Rotatable, Category:Weapons
Tags: ExteriorCore, Weapon, IsBeamWeapon, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
BeamDPS := 15.0 * Size
Duration := 1.5
Cooldown := 6
Range := Size + 250
Tracking := 0.5
SupplyCost := Size * 4.5
Hex.HP := 12 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = 10 * Size
Module: Default
Hex.BuildCost := Hex.BuildCost * 2
Module: Core
Hex.HP := Hex.HP * 2
Hex.BuildCost := Hex.BuildCost * 5
Hex.Mass := Hex.Mass * 5
Sprite: HexagonSubsystems::6
Effector: PurpleLaser
Range = Range
DPS = BeamDPS
Duration = Duration
Cooldown = Cooldown
Tracking = Tracking
SupplyCost = SupplyCost * Duration
@@ -0,0 +1,45 @@
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
Tags: ExteriorCore, Weapon, DefaultUnlock, IsBeamWeapon, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
BeamDPS := 2.8 * Size
Duration := 6
Cooldown := 6
Range := Size + 300
Tracking := 0.5
SupplyCost := Size * 0.75
Hex.HP := 12 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = 5 * Size
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: HexagonSubsystems::6
Effector: Laser
Range = Range
DPS = BeamDPS
Duration = Duration
Cooldown = Cooldown
Tracking = Tracking
SupplyCost = SupplyCost * Duration
@@ -0,0 +1,44 @@
Subsystem: MissileLauncher
Name: #MISSILELAUNCHER_NAME
Description: #MISSILELAUNCHER_DESC
BaseColor: #b746f9
TypeColor: #b746f9
Picture: SubsystemButtonArt::4
Elevation: 2
Tags: BaseCost
Tags: WeaponBase, MissileBase, Category:Weapons
Tags: ExteriorCore, Weapon, DefaultUnlock, IsExplosiveWeapon, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 450
Damage := Size * 20.0
Reload := 5.0
Speed := 55
Tracking := 3
SupplyCost := Size * 4.0
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: HexagonSubsystems::7
Effector: Missile
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,55 @@
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
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 350
Damage := Size * 0.64
Reload := 0.2
Speed := 75 * log(Size * 0.075 + 2) / log(2)
Spread := 0.07
Tracking := 0.4
FireArc := 1.5
Pierce := 0.6
SupplyCost := Size * 1.5
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Requires:
Command = 1
Power = 2.5 * Size
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: HexagonSubsystems::1
Effector: Railgun
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
@@ -0,0 +1,48 @@
Subsystem: RocketPod
Name: Rocket Pod
Description: A concealed tube of rockets rapidly extends, launches a volley of short range rockets, and receeds to reload.
BaseColor: #f94694
TypeColor: #f94694
Picture: SubsystemButtonArt::1
Elevation: 2
Tags: BaseCost
Tags: WeaponBase, MissileBase, Category:Weapons
Tags: ExteriorCore, Weapon, DefaultUnlock, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 200
Damage := Size * 7.6
Reload := 8
Speed := 65
Tracking := 6.0
SupplyCost := Size * 4.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 * 2
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: HexagonSubsystems::9
Effector: Rockets
Range = Range
Damage = Damage
FireDelay = Reload / 8
PodSize = 8
Reload = Reload
Speed = Speed
Tracking = Tracking
SupplyCost = SupplyCost * (Reload / 8)
@@ -0,0 +1,46 @@
Subsystem: TorpedoLauncher
Name: Torpedo Launcher
Description: Launches massive, slow-moving, guided bombs. These bombs explode in an area around their target.
BaseColor: #7946f9
TypeColor: #7946f9
Picture: SubsystemButtonArt::4
Elevation: 2
Tags: BaseCost
Tags: WeaponBase, MissileBase, Category:Weapons
Tags: ExteriorCore, Weapon, DefaultUnlock, IsExplosiveWeapon, HasInternals
Hull: Flagship, Station
Size := HexSize * Hexes
Range := Size + 800
Damage := Size * 6
Reload := 25.0
Speed := 40
Tracking := 1.5
Radius := 4.0 + (log(Size) / log(2) * 6.0)
SupplyCost := Size * 4.0
Hex.Mass := HexSize
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Hex.BuildCost := 5.0 * Hex.BuildCost
Hex.Mass := 5.0 * Hex.Mass
Sprite: HexagonSubsystems::7
Effector: Torpedo
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
Radius = Radius
SupplyCost = SupplyCost * Reload
+33
View File
@@ -0,0 +1,33 @@
Template: hexVar/BuildCost
Modifier: BuildCostFactor(factor)
Hex.BuildCost := Hex.BuildCost * factor
Template: hexVar/MaintainCost
Modifier: MaintCostFactor(factor)
Hex.MaintainCost := Hex.MaintainCost * factor
Template: hexVar/LaborCost
Modifier: LaborCostFactor(factor)
Hex.LaborCost := Hex.LaborCost * factor
Template: hexVar/HP
Modifier: HpFactor(factor)
Hex.HP := Hex.HP * factor
Modifier: AddBaseHP(factor)
Hex.HP := Hex.HP + Base::Hex.HP * factor
Template: hexVar/Mass
Modifier: MassFactor(factor)
Hex.Mass := Hex.Mass * factor
Template: var/Speed
Modifier: SpeedFactor(factor)
Speed := Speed * factor
Template: var/SupplyCost
Modifier: SupplyCostFactor(factor)
SupplyCost := SupplyCost * factor
Template: var/Repair
Modifier: RepairFactor(factor)
Repair := Repair * factor
@@ -0,0 +1,4 @@
Template: var/Thrust
Modifier: ThrustFactor(factor)
Thrust := Thrust * factor
@@ -0,0 +1,15 @@
Subsystem: StationHull
Tags: DefaultUnlock, NoCore, HullSystem
Hull: Station
EvaluationOrder: -100
Repair := HexSize * 4
Assert: Ship.Command > 0
Message: #ERROR_NEED_CONTROL
AddShipModifier: BuildCostFactor(0.75)
AddShipModifier: MaintCostFactor(0.25)
AddShipModifier: LaborCostFactor(0.3)
AddShipModifier: SupportCapacityFactor(0.33)
AddShipModifier: HpFactor(4.0)
@@ -0,0 +1,30 @@
Subsystem: SupportPlateArmor
Name: Plate Armor
Description: Heavy, interlocked plates of metal form a protective layer. Damage has a harder time piercing through, and all damage taken is reduced by a flat amount.
BaseColor: #a9a9a9
Picture: SubsystemButtonArt::0
Elevation: 1
Tags: NoCore, NonContiguous, DefaultUnlock, Defense, IsArmor, TankArmor
Hull: Support
Size := HexSize * Hexes
ProjResist := HexSize * 4
EnergyResist := HexSize * 8
ExplosiveResist := HexSize * 4
Hex.Resistance := 0.5
Hex.HP := 54 * HexSize
Hex.Mass := 2.5 * HexSize
Hex.BuildCost := 1.5 * HexSize
Hex.LaborCost := 0.14 * HexSize
Effect: ReduceDamage
ProjResist = ProjResist
EnergyResist = EnergyResist
ExplResist = ExplosiveResist
MinimumPercent = 0.2
Module: Default
Sprite: HexagonSubsystems::0
@@ -0,0 +1,38 @@
Subsystem: CrewDeck
Name: Crew Deck
Description: Provides a minimal deck and facilities for the crew to command the support ship.
BaseColor: #c5f946
Picture: SubsystemButtonArt::8
Elevation: 4
Tags: DefaultUnlock, Crewed, Control, ControlCore, HasInternals
Hull: Support
EvaluationOrder: -10
Size := HexSize * Hexes
Crew := floor(40 * Size)
Command := Hexes * 4
Repair := 4 * HexSize * (Hexes-1)
Hex.Resistance := 0.2
Hex.HP := 12 * HexSize
Hex.Mass := HexSize
Hex.LaborCost := 0.14 * HexSize
Hex.BuildCost := 1.5 * HexSize
Effect: ControlCore
Provides:
Crew = Crew
Command = Command
Module: Default
Sprite: HexagonSubsystems::4
Module: Core
Sprite: HexagonSubsystems::3
Hex.HP := 4 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,9 @@
Subsystem: SupportHull
Tags: DefaultUnlock, NoCore, HullSystem
Hull: Support
EvaluationOrder: -100
Repair := HexSize * 4
Assert: Ship.Command > 0
Message: #ERROR_NEED_CONTROL
@@ -0,0 +1,33 @@
Subsystem: SupportRocketEngine
Name: Rocket Engine
Description: Combusts fuel to generate thrust. Also capable of generating small amounts of power from fuel.
BaseColor: #f9e146
TypeColor: #f9e146
Picture: SubsystemButtonArt::5
Elevation: 0
Tags: ExteriorCore, DefaultUnlock, Engine, GivesThrust, HasInternals
Hull: Support
OnCheckErrors: designs::checkCoreFacingBackwards
Size := HexSize * Hexes
Thrust := 24 * Size
Hex.Mass := HexSize
Hex.Resistance := 0.2
Hex.HP := 18 * HexSize
Hex.BuildCost := 2 * HexSize
Hex.LaborCost := 0.26 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Sprite: HexagonSubsystems::2
Hex.HP := 2 * Hex.HP
Hex.Resistance := 0.35
Hex.BuildCost := 2 * Hex.BuildCost
@@ -0,0 +1,140 @@
Subsystem: Railgun
Name: Railgun
Description: A magnetic cannon which fires relatively small projectiles at immense velocities. Very effective at piercing armor.
BaseColor: #c5f946
TypeColor: #c5f946
Picture: SubsystemButtonArt::2
Elevation: 2
Tags: WeaponBase, ProjBase, Rotatable, HexLimitArc
Tags: ExteriorCore, Weapon, DefaultUnlock, IsProjWeapon, IsRailgun, HasInternals
Hull: Support
Size := HexSize * Hexes
Range := log(1 + Size / 8) * 300 + 50
Damage := Size * 2.0
Reload := 2.0
Speed := 75
Spread := 0.12 * 4.0 / (4.0 + Size)
Tracking := 0.8
FireArc := 0.5 * pi
Pierce := 0.75
SupplyCost := Size * 1.5
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Hex.BuildCost := 1.5 * HexSize
Hex.MaintainCost := 0
Hex.LaborCost := 0.14 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Sprite: HexagonSubsystems::1
Effector: Railgun
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
FireArc = FireArc
Tracking = Tracking
CapOnTarget = 0
Spread = Spread
TargetTolerance = Spread / 2
Pierce = Pierce
SupplyCost = SupplyCost * Reload
Subsystem: SupportLaser
Name: Laser
Description: A highly focused beam of light, possessing great range and damage, but very poor penetration. The high damage is spread out over time, making lasers ineffective against armor.
BaseColor: #f9464d
TypeColor: #f9464d
Picture: SubsystemButtonArt::7
Elevation: 2
Tags: BeamBase, Rotatable, HexLimitArc
Tags: ExteriorCore, Weapon, DefaultUnlock, IsBeamWeapon, HasInternals
Hull: Support
Size := HexSize * Hexes
BeamDPS := 1.5 * Size
Duration := 4
Cooldown := 6
Range := log(1 + Size / 8) * 200 + 150
Tracking := 0.5
SupplyCost := Size * 0.75
Hex.HP := 12 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Hex.BuildCost := 2 * HexSize
Hex.LaborCost := 0.14 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Sprite: HexagonSubsystems::6
Effector: Laser
Range = Range
DPS = BeamDPS
Duration = Duration
Cooldown = Cooldown
Tracking = Tracking
SupplyCost = SupplyCost * Duration
Subsystem: SupportMissileLauncher
Name: Missile Launcher
Description: Fires like... explosives, y'know? With this crazy, watzit... y'know thos flame thingies? Oh, rockets, yeah! Yeah, it fires bombs on rockets, it's pretty chill.
BaseColor: #b746f9
TypeColor: #b746f9
Picture: SubsystemButtonArt::4
Elevation: 2
Tags: WeaponBase, MissileBase
Tags: ExteriorCore, Weapon, DefaultUnlock, IsExplosiveWeapon, HasInternals
Hull: Support
Size := HexSize * Hexes
Range := log(1 + Size / 8) * 150 + 200
Damage := Size * 7.5
Reload := 6.0
Speed := 45
Tracking := 3
SupplyCost := Size * 4.0
Hex.HP := 18 * HexSize
Hex.Resistance := 0.2
Hex.Mass := HexSize
Hex.BuildCost := 1.5 * HexSize
Hex.LaborCost := 0.14 * HexSize
Requires:
Command = 1
Module: Default
Module: Core
Hex.HP := Hex.HP * 2
Sprite: HexagonSubsystems::7
Effector: Missile
Range = Range
Damage = Damage
Reload = Reload
Speed = Speed
Tracking = Tracking
SupplyCost = SupplyCost * Reload
@@ -0,0 +1,72 @@
Template: tag/WeaponBase
Defaults:
Range := 100.0
Damage := 1.0
Reload := 1.0
SupplyCost := 0.0
out DPS := Damage / Reload
out SupplyDrain := SupplyCost
out SupplyFireCost := SupplyCost * Reload
Modifier: RangeFactor(factor)
Range := Range * factor
Modifier: ReloadFactor(factor)
Reload := Reload * factor
Modifier: DamageFactor(factor)
Damage := Damage * factor
Template: tag/BeamBase
Defaults:
Range := 100
BeamDPS := 1
Duration := 1
Cooldown := 1
out DPS := (BeamDPS * Duration) / (Duration + Cooldown)
out SupplyDrain := SupplyCost * (Duration / (Duration + Cooldown))
out SupplyFireCost := SupplyCost * Duration
Tracking := 1
Modifier: RangeFactor(factor)
Range := Range * factor
Modifier: DurationFactor(factor)
Duration := Duration * factor
Modifier: CooldownFactor(factor)
Cooldown := Cooldown * factor
Modifier: DamageFactor(factor)
BeamDPS := BeamDPS * factor
Modifier: TrackingFactor(factor)
Tracking := Tracking * factor
Template: tag/MissileBase
Modifier: SpeedFactor(factor)
Speed := Speed * factor
Modifier: TrackingFactor(factor)
Tracking := Tracking * factor
Template: tag/ProjBase
Modifier: SpeedFactor(factor)
Speed := Speed * factor
Modifier: TrackingFactor(factor)
Tracking := Tracking * factor
Modifier: SpreadFactor(factor)
Spread := Spread * factor
Modifier: PierceMod(add)
Pierce := Pierce + add
Template: tag/Weapon, var/Range
Module: TargetingSensor
Name: Targeting Sensor
Unique: True
DefaultUnlock: False
Range := Range * 2.0