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
+20
View File
@@ -0,0 +1,20 @@
Building: Barracks
Name: #BLD_BARRACKS
Description: #BLD_BARRACKS_DESC
Sprite: Barracks
Category: Storage
Build Affinity: Desert
Maintenance Affinity: Desert
Size: 3x2
Base Cost: 100
Tile Cost: 30
Base Maintenance: 20
Tile Maintenance: 5
Build Time: 70
RequireNotTrait(Ancient)
AddDefenseReserve(+15)
+22
View File
@@ -0,0 +1,22 @@
Building: DefenseGrid
Name: #BLD_DEFENSE_GRID
Description: #BLD_DEFENSE_GRID_DESC
Sprite: DefenseGrid
Category: Military
Size: 4x4
Base Cost: 180
Tile Cost: 10
Base Maintenance: 50
Tile Maintenance: 5
Build Time: 60
AddStatus(HasDefenses)
RequireNotStatus(Ringworld)
RequireNotStatus(ArtificialPlanetoid)
RequireNotTrait(Ancient)
IfNotSiege(RepeatExtended(AddTurret(Missile, Range=450, Damage=25, Reload=1, Speed=150, Tracking=6), Base = 10, Multiply Attribute = StaticDamageFactor))
RecordBonusDPS(250)
+20
View File
@@ -0,0 +1,20 @@
Building: FTLStorage
Name: #BLD_FTLSTORE
Description: #BLD_FTLSTORE_DESC
Sprite: FTLStorage
Category: Storage
Build Affinity: Crystallic
Size: 2x3
Base Cost: 140
Tile Cost: 10
Base Maintenance: 30
Tile Maintenance: 20
AddFTLStorage(250)
IfNative(FTL, AddFTLStorage(250))
RequireNotTrait(Sublight)
AI: AsFTLStorage()
+23
View File
@@ -0,0 +1,23 @@
Building: Factory
Name: #BLD_FACTORY
Description: #BLD_FACTORY_DESC
Sprite: Factory
Category: Production
Size: 3x3
Base Cost: 20
Tile Cost: 20
Base Maintenance: 150
Tile Maintenance: 15
AddResource(Labor, 3)
AddResourceEmpireAttribute(Labor, FactoryLaborMod)
ModConstructionHPBonusAttribute(FactoryHPMod) #version>=147
RequireNotTrait(Ancient)
ShowAttributeValue(#RESOURCE_LABOR, FactoryLaborMod, Base Amount = 3, Icon = ResourceIcon::6, Suffix = #PER_MINUTE)
ShowAttributeValue(#CONS_HP_BONUS, FactoryHPMod, Icon = AttributeIcons::6, Multiplier = 100, Suffix = %, Hide Zero = True)
AI: RegisterForUse(Factory)
+22
View File
@@ -0,0 +1,22 @@
Building: Farm
Name: #BLD_FARM
Description: #BLD_FARM_DESC
Sprite: Megafarm
Category: Resource
Build Affinity: Forest
Size: 3x3
Base Cost: 120
Tile Cost: 20
Base Maintenance: 100
Tile Maintenance: 10
Build Time: 240
AddPlanetResource(Soylent1)
RequireNotTrait(Ancient)
RequireNotTrait(Mechanoid)
AI: AsCreatedResource(Soylent1)
+106
View File
@@ -0,0 +1,106 @@
Building: Forge0
Name: #BLD_FORGE
Description: #BLD_FORGE_DESC
Sprite: Forge
Category: Production
Size: 3x3
Base Cost: 250
Base Maintenance: 50
Labor Cost: 50
ConstructibleIfAttribute(ForgeCount, 0)
RequireNotTrait(Ancient)
TriggerStartConstruction( ModAttribute(ForgeCount, Add, 1) )
TriggerCancelConstruction( ModAttribute(ForgeCount, Add, -1) )
TriggerConstructed( ModAttribute(ForgeCount, Add, -1) )
ModEmpireAttribute(ForgeCount, Add, 1)
AddLaborFactor(0.25)
Building: Forge1
Name: #BLD_FORGE
Description: #BLD_FORGE_DESC
Sprite: Forge2
Category: Production
Size: 4x3
Base Cost: 400
Base Maintenance: 100
Labor Cost: 150
ConstructibleIfAttribute(ForgeCount, 1)
TriggerStartConstruction( ModAttribute(ForgeCount, Add, 1) )
TriggerCancelConstruction( ModAttribute(ForgeCount, Add, -1) )
TriggerConstructed( ModAttribute(ForgeCount, Add, -1) )
ModEmpireAttribute(ForgeCount, Add, 1)
AddLaborFactor(0.25)
Building: Forge2
Name: #BLD_FORGE
Description: #BLD_FORGE_DESC
Sprite: Forge3
Category: Production
Size: 4x4
Base Cost: 600
Base Maintenance: 150
Labor Cost: 450
ConstructibleIfAttribute(ForgeCount, 2)
TriggerStartConstruction( ModAttribute(ForgeCount, Add, 1) )
TriggerCancelConstruction( ModAttribute(ForgeCount, Add, -1) )
TriggerConstructed( ModAttribute(ForgeCount, Add, -1) )
ModEmpireAttribute(ForgeCount, Add, 1)
AddLaborFactor(0.25)
Building: Forge3
Name: #BLD_FORGE
Description: #BLD_FORGE_DESC
Sprite: Forge4
Category: Production
Size: 4x5
Base Cost: 1000
Base Maintenance: 200
Labor Cost: 900
ConstructibleIfAttribute(ForgeCount, 3)
TriggerStartConstruction( ModAttribute(ForgeCount, Add, 1) )
TriggerCancelConstruction( ModAttribute(ForgeCount, Add, -1) )
TriggerConstructed( ModAttribute(ForgeCount, Add, -1) )
ModEmpireAttribute(ForgeCount, Add, 1)
AddLaborFactor(0.25)
Building: Forge4
Name: #BLD_FORGE
Description: #BLD_FORGE_DESC
Sprite: Forge5
Category: Production
Size: 5x5
Base Cost: 2000
Base Maintenance: 250
Labor Cost: 1800
ConstructibleIfAttributeGTE(ForgeCount, 4)
TriggerStartConstruction( ModAttribute(ForgeCount, Add, 1) )
TriggerCancelConstruction( ModAttribute(ForgeCount, Add, -1) )
TriggerConstructed( ModAttribute(ForgeCount, Add, -1) )
ModEmpireAttribute(ForgeCount, Add, 1)
AddLaborFactor(0.25)
+21
View File
@@ -0,0 +1,21 @@
Building: Hydrogenator
Name: #BLD_HYDROGENATOR
Description: #BLD_HYDROGENATOR_DESC
Sprite: Hydrogenator
Category: Resource
Build Affinity: Oceanic
Size: 3x3
Base Cost: 120
Tile Cost: 20
Base Maintenance: 100
Tile Maintenance: 10
Build Time: 240
AddPlanetResource(BuildingWater)
RequireNotTrait(Mechanoid)
RequireNotTrait(Ancient)
AI: AsCreatedResource(BuildingWater)
@@ -0,0 +1,20 @@
Building: LargeDefenseGrid
Name: #BLD_DEFENSE_GRID
Description: #BLD_DEFENSE_GRID_DESC
Sprite: DefenseGrid
Category: Military
Size: 4x4
Base Cost: 180
Tile Cost: 10
Base Maintenance: 50
Tile Maintenance: 5
Build Time: 60
AddStatus(HasDefenses)
RequireEither(RequireStatus(Ringworld), RequireStatus(ArtificialPlanetoid))
RequireNotTrait(Ancient)
IfNotSiege(RepeatExtended(AddTurret(Missile, Range=1000, Damage=25, Reload=1, Speed=150, Tracking=6), Base = 20, Multiply Attribute = StaticDamageFactor))
RecordBonusDPS(500)
+30
View File
@@ -0,0 +1,30 @@
Building: Megacity
Name: #BLD_MEGACITY
Description: #BLD_MEGACITY_DESC
Sprite: Megacity
Category: Infrastructure
Size: 4x3
Base Cost: 500
Tile Cost: 25
Build Time: 140
Base Maintenance: 100
Tile Maintenance: 15
RequireNotTrait(Ancient)
RequireUnlockTag(MegacityUnlock)
ConstructibleIfAttribute(ForbidCityConstruction, 0)
ModCivResourceMult(Research, 0.25)
ModCivResourceMult(Influence, 0.25)
ModCivResourceMult(Energy, 0.25)
OnEnable(ModAttribute(MegacitiesBuilt, Add, 1))
AddPressureCap(9)
ReplacesCities(16)
ModBuildSpeedAttribute(CityConstructRate)
+26
View File
@@ -0,0 +1,26 @@
Building: Metropolis
Name: #BLD_METROPOLIS
Description: #BLD_METROPOLIS_DESC
Sprite: Metropolis
Category: Infrastructure
Maintenance Affinity: Forest
Size: 2x2
Base Cost: 200
Tile Cost: 40
Build Time: 60
Base Maintenance: 30
Tile Maintenance: 15
RequireNotTrait(Ancient)
AddPressureCap(5)
ReplacesCities(5)
ConstructibleIfAttribute(ForbidCityConstruction, 0)
ModBuildSpeedAttribute(CityConstructRate)
AI: BuildForPressureCap(5)
+18
View File
@@ -0,0 +1,18 @@
Building: Museum
Name: #BLD_MUSEUM
Description: #BLD_MUSEUM_DESC
Sprite: Museum
Category: Infrastructure
Tile Cost: 20
Build Affinity: Ice
Size: 3x3
Labor Cost: 25
RequireUnlockTag(MuseumUnlock)
CannotRemove()
AddResource(Influence, 1)
OnEnable( AddInfluencePoints(10) )
@@ -0,0 +1,20 @@
Building: PlanetaryCannon
Name: #BLD_PLANET_CANNON
Description: #BLD_PLANET_CANNON_DESC
Sprite: PlanetaryArtilleryCannon
Category: Military
Size: 6x2
Base Cost: 250
Tile Cost: 20
Base Maintenance: 60
Tile Maintenance: 5
Labor Cost: 50
RequireNotTrait(Ancient)
AddStatus(HasDefenses)
IfNotSiege( AddTurret(Artillery, Range=1500, Damage=200, Radius=50, Reload=5.0, Speed=200, Spread=0.0, FireArc=3.14, Tracking=0.2, FireTolerance=0, Hits=15) ) #version<106
IfNotSiege( RepeatExtended(AddTurret(Artillery, Range=1500, Damage=200, Radius=50, Reload=5.0, Speed=200, Spread=0.0, FireArc=3.14, Tracking=0.2, FireTolerance=0, Hits=15), Base = 1, Multiply Attribute = StaticDamageFactor) ) #version>=106
@@ -0,0 +1,23 @@
Building: PlanetaryEngine
Name: #BLD_PLANET_ENGINE
Description: #BLD_PLANET_ENGINE_DESC
Sprite: PlanetThruster
Category: Military
Size: 5x5
Base Cost: 500
Tile Cost: 20
Build Affinity: Oceanic
Maintenance Affinity: Oceanic
Base Maintenance: 70
Tile Maintenance: 5
Build Time: 300
RequireUnlockTag(PlanetaryEngineUnlock)
RequireNotStatus(Ringworld)
AddAccelerationBonus(0.5)
+20
View File
@@ -0,0 +1,20 @@
Building: Refinery
Name: #BLD_REFINERY
Description: #BLD_REFINERY_DESC
Sprite: Refinery
Category: Infrastructure
Size: 1x2
Base Cost: 200
Tile Cost: 50
Build Time: 150
Base Maintenance: 30
Tile Maintenance: 20
RequireNotTrait(Ancient)
RequireNativePressure(Allow Money = False)
GiveNativePressure(1, Allow Money = False)
AddPressureCap(-1)
@@ -0,0 +1,23 @@
Building: ResearchComplex
Name: #BLD_RESEARCHCOMPLEX
Description: #BLD_RESEARCHCOMPLEX_DESC
Sprite: ResearchComplex
Category: Production
Build Affinity: Crystallic
Maintenance Affinity: Crystallic
Size: 2x2
Base Cost: 200
Tile Cost: 25
Base Maintenance: 100
Tile Maintenance: 15
RequireNotTrait(Ancient)
AddResource(Research, 1)
AddPressure(Research, 1)
ModEmpireAttribute(ResearchLabsBuilt, Add, 1)
AddPressureEmpireAttribute(Research, ResearchComplexExtraPressure) #version>=147
+18
View File
@@ -0,0 +1,18 @@
Building: SpaceElevator
Name: #BLD_SPACE_ELEVATOR
Description: #BLD_SPACE_ELEVATOR_DESC
Sprite: SpaceElevator
Category: Infrastructure
Size: 2x5
Base Cost: 750
Build Time: 120
RequireNotTrait(Ancient)
ModSupportBuildSpeed(+0.4)
IfSystemFlag(CommerceStation, AddResource(Money, 1.6)) #version<125
AddPlanetGfxFlag(SpaceElevator)
ConflictBuilding(SpaceElevator)
+21
View File
@@ -0,0 +1,21 @@
Building: Warehouse
Name: #BLD_WAREHOUSE
Description: #BLD_WAREHOUSE_DESC
Sprite: Warehouse
Category: Storage
Build Affinity: Desert
Maintenance Affinity: Desert
Size: 2x2
Base Cost: 100
Tile Cost: 50
Base Maintenance: 25
Tile Maintenance: 20
Build Time: 80
RequireNotTrait(Ancient)
AddLaborStorage(100)
AI: RegisterForUse(LaborStorage)