diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3f10803 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text eol=lf +* linguist-detectable diff --git a/.github/workflows/github-repo-info.yml b/.github/workflows/github-repo-info.yml new file mode 100644 index 0000000..585ab15 --- /dev/null +++ b/.github/workflows/github-repo-info.yml @@ -0,0 +1,18 @@ +name: Update Github repository information + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Update Github repo info + uses: Darkborderman/github-actions/github-repo-info@master + env: + YML_PATH: metadata.yml + GH_TOKEN: ${{ secrets.PAT_TOKEN }} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8e45bda --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Darkborderman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc77623 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Starsector-GameConfig + +Personal adjusted gameplay config for playing Starsector. diff --git a/data/campaign/procgen/age_gen_data.csv b/data/campaign/procgen/age_gen_data.csv new file mode 100755 index 0000000..e4b69ef --- /dev/null +++ b/data/campaign/procgen/age_gen_data.csv @@ -0,0 +1,4 @@ +id,minExtraOrbits,maxExtraOrbits,probNebula,nebulaDensity,freqNormal,freqBinary,freqTrinary +YOUNG,10,10,1.0,0.8,100,30,10 +AVERAGE,8,8,1.0,0.55,100,20,5 +OLD,6,6,1.0,0.3,100,10,0 \ No newline at end of file diff --git a/data/campaign/procgen/location_gen_data.csv b/data/campaign/procgen/location_gen_data.csv new file mode 100755 index 0000000..f8278f4 --- /dev/null +++ b/data/campaign/procgen/location_gen_data.csv @@ -0,0 +1,8 @@ +id,tags,freqYOUNG,freqAVERAGE,freqOLD +SINGLE,,1000,1000,1000 +BINARY_CLOSE,,50,40,30 +BINARY_FAR,,100,70,50 +TRINARY_2CLOSE,,2,1,1 +TRINARY_1CLOSE_1FAR,,4,3,2 +TRINARY_2FAR,,5,3,2 +NEBULA,requires_nebula,50,20,5 \ No newline at end of file diff --git a/data/campaign/procgen/star_gen_data.csv b/data/campaign/procgen/star_gen_data.csv new file mode 100755 index 0000000..7ddeb29 --- /dev/null +++ b/data/campaign/procgen/star_gen_data.csv @@ -0,0 +1,16 @@ +id,age,tags,freqYOUNG,freqAVERAGE,freqOLD,minRadius,maxRadius,habZoneStart,probOrbits,minOrbits,maxOrbits,coronaMin,coronaMult,coronaVar,solarWind,minFlare,maxFlare,crLossMult,lightColorMin,lightColorMax +star_neutron,ANY,,0,0,0,150,250,-3,1,6,10,2000,100,10,50,0,0,15,175 185 195,225 235 245 +star_orange_giant,OLD,,1,4,6,1100,1300,4,1,6,10,500,1,0.5,7,0,1,2,255 190 140,255 240 200 +star_red_giant,OLD,,5,20,30,1100,1300,4,1,6,10,500,1,0.5,5,0,1,2,255 175 135,255 225 225 +star_red_supergiant,AVERAGE,,3,5,1,1500,1800,5,1,6,10,500,1,0.5,5,0,1,2,255 175 135,255 225 225 +star_red_dwarf,ANY,,75,65,55,500,600,2,1,6,10,300,1,0.25,5,0,1,2,255 175 135,255 225 225 +star_orange,ANY,,50,45,40,650,750,3,1,6,10,400,1,0.5,10,0,1,3,255 180 140,255 240 200 +star_yellow,ANY,,40,35,30,800,900,3,1,6,10,400,1,0.5,10,0,1,3,255 205 205,255 255 255 +star_blue_giant,YOUNG,,30,15,5,1100,1300,6,1,6,10,500,1,0.5,15,0,3,5,155 175 255,225 225 255 +star_browndwarf,ANY,,5,5,5,400,450,0,1,6,10,150,1,0.25,1,0,0,1,180 205 140,220 240 155 +star_white,OLD,,10,20,50,400,700,2,1,6,10,300,1,0.25,5,0,1,2,230 230 230,255 255 255 +star_blue_supergiant,YOUNG,,10,5,2,1200,1500,6,1,6,10,500,1,0.5,17,0,3,6,155 175 255,220 220 255 +black_hole,ANY,,5,10,20,150,200,-20,1,6,10,1000,1,0.5,-10,0,0,25,125 90 125,125 90 125 +nebula_center_old,ANY,NEBULA,0,0,3,0,0,-20,1,6,10,0,0,0,0,0,0,0,125 125 125,125 125 125 +nebula_center_average,ANY,NEBULA,0,5,0,0,0,-20,1,6,10,0,0,0,0,0,0,0,125 125 125,125 125 125 +nebula_center_young,ANY,NEBULA,10,0,0,0,0,-20,1,6,10,0,0,0,0,0,0,0,125 125 125,125 125 125 \ No newline at end of file diff --git a/data/config/settings.json b/data/config/settings.json new file mode 100755 index 0000000..aa8677b --- /dev/null +++ b/data/config/settings.json @@ -0,0 +1,60 @@ +{ + "combatSpeedMult":"1.5f", + + "speedPerBurnLevel": 100, + "maxStormStrikeBurn": 20, + + "maxLogisticsHullmods": 100, + "maxPermanentHullmods": 99, + + "baseMaxOutposts": 0, + "colonyOverMaxPenalty":0, + + "upkeepReductionFromInFactionImports": 1.0, + "maxIndustries":[11,12,13,14,15,16,17,18,19,20], + # This is contolled by other mod (Astral Ascension) + "maxColonySize": 9, + "accessibilityLossWhenAllHostile": 0, + + "techMiningDecay":1.0, + + "salvageWeaponProb":1.0, + "salvageWingProb":1.0, + + "historianSpecialItemBase":0, + "industryImproveBase":0, + "createStableLocation":0, + + "showMaxShipsWidgetAtShips":0, + "maxShipsInFleet":100, + "maxShipsInAIFleet":100, + "maxOfficersInAIFleet":100, + + "drop_prob_officer_alpha_core":1.0, + "drop_prob_officer_beta_core":1.0, + "drop_prob_officer_gamma_core":1.0, + + "minBattleSize":200, + "defaultBattleSize":600, + "maxBattleSize":1000, + + "minPersonBounties":6, + "maxPersonBounties":12, + "personBountyNoSpawnRangeAroundPlayerLY":1, + + # Deciv + "decivSamplingMonths": 240, + + # Raid + "raidCooldownDays":0, + "raidDefenderIncreasePerRaid":0, + "raidDefenderIncreaseMax":0, + "raidDefenderIncreaseFraction":0, + "raidDefenderIncreaseMin":0, + + "contactMissionUpdateIntervalDays":1, + + # Restore and salvage + "baseRestoreCostMult":0.4, + "baseRestoreCostMultPerDMod":1.25, +} diff --git a/data/hulls/ship_data.csv b/data/hulls/ship_data.csv new file mode 100755 index 0000000..6511199 --- /dev/null +++ b/data/hulls/ship_data.csv @@ -0,0 +1,2 @@ +name,id,designation,tech/manufacturer,system id,fleet pts,hitpoints,armor rating,max flux,8/6/5/4%,flux dissipation,ordnance points,fighter bays,max speed,acceleration,deceleration,max turn rate,turn acceleration,mass,shield type,defense id,shield arc,shield upkeep,shield efficiency,phase cost,phase upkeep,min crew,max crew,cargo,fuel,fuel/ly,range,max burn,base value,cr %/day,CR to deploy,peak CR sec,CR loss/sec,supplies/rec,supplies/mo,c/s,c/f,f/s,f/f,crew/s,crew/f,hints,tags,rarity,breakProb,minPieces,maxPieces,travel drive,number +Ravelin,ravelin,Station Drone,Midline,,3,4000,500,2400,,500,100,,250,400,300,60,90,200,FRONT,,300,0,0.7,,,1,1,,,,,10,,20,5,,,3,3,,,,,,,,,,0.4,2,2,,7 diff --git a/data/hulls/skins/ravelin_b.skin b/data/hulls/skins/ravelin_b.skin new file mode 100755 index 0000000..8f7f040 --- /dev/null +++ b/data/hulls/skins/ravelin_b.skin @@ -0,0 +1,74 @@ +{ + "baseHullId":"ravelin", + "skinHullId":"ravelin_b", + "hullName":"Ravelin Extreme(B)", + "systemId":"temporalshell", + "ordnancePoints": 250, + "restoreToBaseHull":false, + "spriteName":"graphics/ships/stations/ravelin2.png", + "removeWeaponSlots":[], # ids + "removeEngineSlots":[], # indices, as engine slots have no id in the .ship file + "removeBuiltInMods":[], # hullmod ids + "removeBuiltInWeapons":[], # weapon slot ids + "builtInMods":["no_weapon_flux", "advancedcore", "fluxshunt"], + "builtInWeapons":{ + }, + "weaponSlotChanges":{ + "WS 000":{ + "angle": 0, + "arc": 120, + "mount": "TURRET", + "size": "MEDIUM", + "type": "BALLISTIC" + }, + "WS 001":{ + "angle": 0, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "BALLISTIC" + }, + "WS 002":{ + "angle": 45, + "arc": 140, + "mount": "TURRET", + "size": "MEDIUM", + "type": "BALLISTIC" + }, + "WS 003":{ + "angle": -45, + "arc": 140, + "mount": "TURRET", + "size": "MEDIUM", + "type": "BALLISTIC" + }, + "WS 004":{ + "angle": 25, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "BALLISTIC" + }, + "WS 005":{ + "angle": -25, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "BALLISTIC" + }, + "WS 006":{ + "angle": 30, + "arc": 190, + "mount": "TURRET", + "size": "MEDIUM", + "type": "BALLISTIC" + }, + "WS 007":{ + "angle": -30, + "arc": 190, + "mount": "TURRET", + "size": "MEDIUM", + "type": "BALLISTIC" + } + } +} diff --git a/data/hulls/skins/ravelin_e.skin b/data/hulls/skins/ravelin_e.skin new file mode 100755 index 0000000..d95f536 --- /dev/null +++ b/data/hulls/skins/ravelin_e.skin @@ -0,0 +1,74 @@ +{ + "baseHullId":"ravelin", + "skinHullId":"ravelin_e", + "hullName":"Ravelin Extreme(E)", + "systemId":"temporalshell", + "ordnancePoints": 250, + "restoreToBaseHull":false, + "spriteName":"graphics/ships/stations/ravelin2.png", + "removeWeaponSlots":[], # ids + "removeEngineSlots":[], # indices, as engine slots have no id in the .ship file + "removeBuiltInMods":[], # hullmod ids + "removeBuiltInWeapons":[], # weapon slot ids + "builtInMods":["no_weapon_flux", "advancedcore", "fluxshunt"], + "builtInWeapons":{ + }, + "weaponSlotChanges":{ + "WS 000":{ + "angle": 0, + "arc": 120, + "mount": "TURRET", + "size": "MEDIUM", + "type": "ENERGY" + }, + "WS 001":{ + "angle": 0, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "ENERGY" + }, + "WS 002":{ + "angle": 45, + "arc": 140, + "mount": "TURRET", + "size": "MEDIUM", + "type": "ENERGY" + }, + "WS 003":{ + "angle": -45, + "arc": 140, + "mount": "TURRET", + "size": "MEDIUM", + "type": "ENERGY" + }, + "WS 004":{ + "angle": 25, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "ENERGY" + }, + "WS 005":{ + "angle": -25, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "ENERGY" + }, + "WS 006":{ + "angle": 30, + "arc": 190, + "mount": "TURRET", + "size": "MEDIUM", + "type": "ENERGY" + }, + "WS 007":{ + "angle": -30, + "arc": 190, + "mount": "TURRET", + "size": "MEDIUM", + "type": "ENERGY" + } + } +} diff --git a/data/hulls/skins/ravelin_m.skin b/data/hulls/skins/ravelin_m.skin new file mode 100755 index 0000000..fd9d411 --- /dev/null +++ b/data/hulls/skins/ravelin_m.skin @@ -0,0 +1,74 @@ +{ + "baseHullId":"ravelin", + "skinHullId":"ravelin_m", + "hullName":"Ravelin Extreme(M)", + "systemId":"temporalshell", + "ordnancePoints": 250, + "restoreToBaseHull":false, + "spriteName":"graphics/ships/stations/ravelin2.png", + "removeWeaponSlots":[], # ids + "removeEngineSlots":[], # indices, as engine slots have no id in the .ship file + "removeBuiltInMods":[], # hullmod ids + "removeBuiltInWeapons":[], # weapon slot ids + "builtInMods":["no_weapon_flux", "missile_reload", "advancedcore", "fluxshunt"], + "builtInWeapons":{ + }, + "weaponSlotChanges":{ + "WS 000":{ + "angle": 0, + "arc": 120, + "mount": "TURRET", + "size": "MEDIUM", + "type": "MISSILE" + }, + "WS 001":{ + "angle": 0, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "MISSILE" + }, + "WS 002":{ + "angle": 45, + "arc": 140, + "mount": "TURRET", + "size": "MEDIUM", + "type": "MISSILE" + }, + "WS 003":{ + "angle": -45, + "arc": 140, + "mount": "TURRET", + "size": "MEDIUM", + "type": "MISSILE" + }, + "WS 004":{ + "angle": 25, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "MISSILE" + }, + "WS 005":{ + "angle": -25, + "arc": 360, + "mount": "TURRET", + "size": "LARGE", + "type": "MISSILE" + }, + "WS 006":{ + "angle": 30, + "arc": 190, + "mount": "TURRET", + "size": "MEDIUM", + "type": "MISSILE" + }, + "WS 007":{ + "angle": -30, + "arc": 190, + "mount": "TURRET", + "size": "MEDIUM", + "type": "MISSILE" + } + } +} diff --git a/data/world/factions/hegemony.faction b/data/world/factions/hegemony.faction new file mode 100644 index 0000000..5ad857d --- /dev/null +++ b/data/world/factions/hegemony.faction @@ -0,0 +1,5 @@ +{ + "custom":{ + "caresAboutAtrocities":false, + } +} diff --git a/data/world/factions/independent.faction b/data/world/factions/independent.faction new file mode 100755 index 0000000..5ad857d --- /dev/null +++ b/data/world/factions/independent.faction @@ -0,0 +1,5 @@ +{ + "custom":{ + "caresAboutAtrocities":false, + } +} diff --git a/data/world/factions/luddic_church.faction b/data/world/factions/luddic_church.faction new file mode 100644 index 0000000..5ad857d --- /dev/null +++ b/data/world/factions/luddic_church.faction @@ -0,0 +1,5 @@ +{ + "custom":{ + "caresAboutAtrocities":false, + } +} diff --git a/data/world/factions/persean_league.faction b/data/world/factions/persean_league.faction new file mode 100644 index 0000000..5ad857d --- /dev/null +++ b/data/world/factions/persean_league.faction @@ -0,0 +1,5 @@ +{ + "custom":{ + "caresAboutAtrocities":false, + } +} diff --git a/data/world/factions/pirates.faction b/data/world/factions/pirates.faction new file mode 100755 index 0000000..b484d5f --- /dev/null +++ b/data/world/factions/pirates.faction @@ -0,0 +1,8 @@ +{ + "custom":{ + "buysAICores":true, + "AICoreValueMult":0.5, + "AICoreRepMult":1.5, + "offersCommissions":true + } +} diff --git a/metadata.yml b/metadata.yml new file mode 100644 index 0000000..f48aeea --- /dev/null +++ b/metadata.yml @@ -0,0 +1,12 @@ +github: + description: Personal adjusted gameplay configs for playing Starsector. + enable_discussions: false + enable_issues: false + enable_projects: false + enable_wiki: false + homepage: https://github.com/DarkbordermanModding/Starsector-GameConfig + template: false + topics: + - mod + - starsector + - starsector-mod diff --git a/mod_info.json b/mod_info.json new file mode 100755 index 0000000..04512ae --- /dev/null +++ b/mod_info.json @@ -0,0 +1,9 @@ +{ + "id": "darkborderman.gameconfig", + "name": "Game config", + "author": "Darkborderman", + "utility": "false", + "version": "0.0.0", + "description": "Personal adjusted gameplay config for playing Starsector", + "gameVersion": "0.97a-RC11" +}