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,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