Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Housekeeping] Reformatting and refactoring #11

Merged
merged 2 commits into from
Dec 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified 1.4/Assemblies/CombatAI.dll
Binary file not shown.
64 changes: 32 additions & 32 deletions 1.4/Defs/Stats/Stats_AI.xml
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>

<!-- <StatDef>
<defName>CombatAI_AggroMul</defName>
<label>Aggressiveness multiplier</label>
<alwaysHide>true</alwaysHide>
<description>Aggressiveness multiplier.</description>
<category>PawnCombat</category>
<displayPriorityInCategory>50</displayPriorityInCategory>
<defaultBaseValue>1.0</defaultBaseValue>
<minValue>0.0</minValue>
<maxValue>3.0</maxValue>
<toStringStyle>Integer</toStringStyle>
<showOnAnimals>true</showOnAnimals>
<parts>
<li Class="StatPart_ApparelStatOffset">
<apparelStat>CombatAI_ApparelOffsetAggroMul</apparelStat>
<includeWeapon>true</includeWeapon>
</li>
</parts>
</StatDef>

<StatDef>
<defName>CombatAI_ApparelOffsetAggroMul</defName>
<label>Aggressiveness multiplier</label>
<alwaysHide>true</alwaysHide>
<description>Aggressiveness multiplier.</description>
<category>Apparel</category>
<displayPriorityInCategory>50</displayPriorityInCategory>
<defaultBaseValue>0.0</defaultBaseValue>
<minValue>-1.0</minValue>
<maxValue>1.0</maxValue>
<toStringStyle>Integer</toStringStyle>
</StatDef> -->
<!-- <StatDef>
<defName>CombatAI_AggroMul</defName>
<label>Aggressiveness multiplier</label>
<alwaysHide>true</alwaysHide>
<description>Aggressiveness multiplier.</description>
<category>PawnCombat</category>
<displayPriorityInCategory>50</displayPriorityInCategory>
<defaultBaseValue>1.0</defaultBaseValue>
<minValue>0.0</minValue>
<maxValue>3.0</maxValue>
<toStringStyle>Integer</toStringStyle>
<showOnAnimals>true</showOnAnimals>
<parts>
<li Class="StatPart_ApparelStatOffset">
<apparelStat>CombatAI_ApparelOffsetAggroMul</apparelStat>
<includeWeapon>true</includeWeapon>
</li>
</parts>
</StatDef>
<StatDef>
<defName>CombatAI_ApparelOffsetAggroMul</defName>
<label>Aggressiveness multiplier</label>
<alwaysHide>true</alwaysHide>
<description>Aggressiveness multiplier.</description>
<category>Apparel</category>
<displayPriorityInCategory>50</displayPriorityInCategory>
<defaultBaseValue>0.0</defaultBaseValue>
<minValue>-1.0</minValue>
<maxValue>1.0</maxValue>
<toStringStyle>Integer</toStringStyle>
</StatDef> -->

</Defs>
220 changes: 110 additions & 110 deletions 1.4/Defs/ThingDef_Buildings/Buildings_Security.xml
Original file line number Diff line number Diff line change
@@ -1,118 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>

<ThingDef Abstract="True" Name="CombatAI_CCTVBase" ParentName="BuildingBase">
<comps>
<li Class="CompProperties_Forbiddable" />
<li Class="CompProperties_Power">
<compClass>CompPowerTrader</compClass>
<basePowerConsumption>250</basePowerConsumption>
</li>
<li Class="CompProperties_Flickable" />
<li Class="CompProperties_Breakdownable" />
</comps>
<tickerType>Normal</tickerType>
<altitudeLayer>Building</altitudeLayer>
<hasInteractionCell>False</hasInteractionCell>
<minifiedDef>MinifiedThing</minifiedDef>
<stealable>false</stealable>
<thingCategories>
<li>BuildingsSecurity</li>
</thingCategories>
<designationCategory>Security</designationCategory>
<researchPrerequisites>
<li>HeavyTurrets</li>
</researchPrerequisites>
<statBases>
<MaxHitPoints>180</MaxHitPoints>
<Flammability>0.7</Flammability>
<WorkToBuild>2500</WorkToBuild>
<Mass>20</Mass>
<Beauty>-20</Beauty>
</statBases>
</ThingDef>
<ThingDef Abstract="True" Name="CombatAI_CCTVBase" ParentName="BuildingBase">
<comps>
<li Class="CompProperties_Forbiddable"/>
<li Class="CompProperties_Power">
<compClass>CompPowerTrader</compClass>
<basePowerConsumption>250</basePowerConsumption>
</li>
<li Class="CompProperties_Flickable"/>
<li Class="CompProperties_Breakdownable"/>
</comps>
<tickerType>Normal</tickerType>
<altitudeLayer>Building</altitudeLayer>
<hasInteractionCell>False</hasInteractionCell>
<minifiedDef>MinifiedThing</minifiedDef>
<stealable>false</stealable>
<thingCategories>
<li>BuildingsSecurity</li>
</thingCategories>
<designationCategory>Security</designationCategory>
<researchPrerequisites>
<li>HeavyTurrets</li>
</researchPrerequisites>
<statBases>
<MaxHitPoints>180</MaxHitPoints>
<Flammability>0.7</Flammability>
<WorkToBuild>2500</WorkToBuild>
<Mass>20</Mass>
<Beauty>-20</Beauty>
</statBases>
</ThingDef>

<!-- <ThingDef ParentName="CombatAI_CCTVBase">
<defName>CombatAI_CCTVPole</defName>
<label>Pole CCTV</label>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Isma/Buildings/CCTV/cctv_pole</texPath>
<drawSize>(3.5,3.5)</drawSize>
<damageData>
<rect>(0.38,0.2,0.56375,0.8)</rect>
<cornerTL>Damage/Corner</cornerTL>
</damageData>
<shadowData>
<offset>(-0.13,-0.87,-0.1)</offset>
<volume>(0.5,2.0,0.5)</volume>
</shadowData>
</graphicData>
<uiIconScale>0.50</uiIconScale>
<stealable>false</stealable>
<rotatable>false</rotatable>
<size>(1,1)</size>
<passability>PassThroughOnly</passability>
<pathCost>50</pathCost>
<fillPercent>0.3</fillPercent>
<researchPrerequisites>
<li>HeavyTurrets</li>
</researchPrerequisites>
<placeWorkers>
<li>PlaceWorker_NotUnderRoof</li>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<comps>
<li Class="CombatAI.Comps.CompProperties_Sighter">
<radius>15</radius>
<radiusNight>5</radiusNight>
<powered>true</powered>
<mannable>false</mannable>
</li>
</comps>
</ThingDef> -->
<!-- <ThingDef ParentName="CombatAI_CCTVBase">
<defName>CombatAI_CCTVPole</defName>
<label>Pole CCTV</label>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Isma/Buildings/CCTV/cctv_pole</texPath>
<drawSize>(3.5,3.5)</drawSize>
<damageData>
<rect>(0.38,0.2,0.56375,0.8)</rect>
<cornerTL>Damage/Corner</cornerTL>
</damageData>
<shadowData>
<offset>(-0.13,-0.87,-0.1)</offset>
<volume>(0.5,2.0,0.5)</volume>
</shadowData>
</graphicData>
<uiIconScale>0.50</uiIconScale>
<stealable>false</stealable>
<rotatable>false</rotatable>
<size>(1,1)</size>
<passability>PassThroughOnly</passability>
<pathCost>50</pathCost>
<fillPercent>0.3</fillPercent>
<researchPrerequisites>
<li>HeavyTurrets</li>
</researchPrerequisites>
<placeWorkers>
<li>PlaceWorker_NotUnderRoof</li>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<comps>
<li Class="CombatAI.Comps.CompProperties_Sighter">
<radius>15</radius>
<radiusNight>5</radiusNight>
<powered>true</powered>
<mannable>false</mannable>
</li>
</comps>
</ThingDef> -->

<ThingDef ParentName="CombatAI_CCTVBase">
<defName>CombatAI_CCTVSentinel</defName>
<label>Sentinel CCTV</label>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Isma/Buildings/CCTV/cctv_sentinel</texPath>
<drawSize>(1.0,1.0)</drawSize>
<damageData>
<rect>(0.38,0.2,0.56375,0.8)</rect>
<cornerTL>Damage/Corner</cornerTL>
</damageData>
<shadowData>
<offset>(-0.13,-0.87,-0.1)</offset>
<volume>(0.5,0.5,0.5)</volume>
</shadowData>
</graphicData>
<uiIconScale>1.2</uiIconScale>
<stealable>false</stealable>
<rotatable>false</rotatable>
<size>(1,1)</size>
<passability>PassThroughOnly</passability>
<pathCost>90</pathCost>
<fillPercent>0.4</fillPercent>
<researchPrerequisites>
<li>HeavyTurrets</li>
</researchPrerequisites>
<placeWorkers>
<li>PlaceWorker_NotUnderRoof</li>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<comps>
<li Class="CombatAI.Comps.CompProperties_Sighter">
<radius>8</radius>
<radiusNight>5</radiusNight>
<powered>true</powered>
<mannable>false</mannable>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="CombatAI_CCTVBase">
<defName>CombatAI_CCTVSentinel</defName>
<label>Sentinel CCTV</label>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Isma/Buildings/CCTV/cctv_sentinel</texPath>
<drawSize>(1.0,1.0)</drawSize>
<damageData>
<rect>(0.38,0.2,0.56375,0.8)</rect>
<cornerTL>Damage/Corner</cornerTL>
</damageData>
<shadowData>
<offset>(-0.13,-0.87,-0.1)</offset>
<volume>(0.5,0.5,0.5)</volume>
</shadowData>
</graphicData>
<uiIconScale>1.2</uiIconScale>
<stealable>false</stealable>
<rotatable>false</rotatable>
<size>(1,1)</size>
<passability>PassThroughOnly</passability>
<pathCost>90</pathCost>
<fillPercent>0.4</fillPercent>
<researchPrerequisites>
<li>HeavyTurrets</li>
</researchPrerequisites>
<placeWorkers>
<li>PlaceWorker_NotUnderRoof</li>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<comps>
<li Class="CombatAI.Comps.CompProperties_Sighter">
<radius>8</radius>
<radiusNight>5</radiusNight>
<powered>true</powered>
<mannable>false</mannable>
</li>
</comps>
</ThingDef>


</Defs>
64 changes: 44 additions & 20 deletions 1.4/Languages/English/Keyed/Translations.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<LanguageData>
<CombatAI>Combat AI 5000</CombatAI>
<CombatAI.Sym.Empty></CombatAI.Sym.Empty>
<CombatAI.Close>Close</CombatAI.Close>
Expand All @@ -10,39 +10,63 @@
<CombatAI.Settings.Basic>Basic Settings</CombatAI.Settings.Basic>
<CombatAI.Settings.Basic.FogOfWar>[BETA] Fog of war</CombatAI.Settings.Basic.FogOfWar>
<CombatAI.Settings.Basic.FogOfWar.Enable>Enable fog of war</CombatAI.Settings.Basic.FogOfWar.Enable>
<CombatAI.Settings.Basic.FogOfWar.Density>Fog density (how dark the fog of war is)</CombatAI.Settings.Basic.FogOfWar.Density>
<CombatAI.Settings.Basic.FogOfWar.Density.Readouts>{0} Fog desnity</CombatAI.Settings.Basic.FogOfWar.Density.Readouts>
<CombatAI.Settings.Basic.FogOfWar.RangeMul>Fog of war sight radius multiplie (default is 1.0)</CombatAI.Settings.Basic.FogOfWar.RangeMul>
<CombatAI.Settings.Basic.FogOfWar.Density>Fog density (how dark the fog of war is)
</CombatAI.Settings.Basic.FogOfWar.Density>
<CombatAI.Settings.Basic.FogOfWar.Density.Readouts>{0} Fog desnity
</CombatAI.Settings.Basic.FogOfWar.Density.Readouts>
<CombatAI.Settings.Basic.FogOfWar.RangeMul>Fog of war sight radius multiplie (default is 1.0)
</CombatAI.Settings.Basic.FogOfWar.RangeMul>
<CombatAI.Settings.Basic.FogOfWar.RangeMul.Readouts>{0}x</CombatAI.Settings.Basic.FogOfWar.RangeMul.Readouts>
<CombatAI.Settings.Basic.FogOfWar.FadeMul>Fog of war sight fade radius multiplier (default is 0.5)</CombatAI.Settings.Basic.FogOfWar.FadeMul>
<CombatAI.Settings.Basic.FogOfWar.FadeMul>Fog of war sight fade radius multiplier (default is 0.5)
</CombatAI.Settings.Basic.FogOfWar.FadeMul>
<CombatAI.Settings.Basic.FogOfWar.FadeMul.Readouts>{0}x</CombatAI.Settings.Basic.FogOfWar.FadeMul.Readouts>
<CombatAI.Settings.Basic.KillBoxKiller>Enable The Killbox killer 5000</CombatAI.Settings.Basic.KillBoxKiller>
<CombatAI.Settings.Basic.CELean>Enable Combat Extended lean profile</CombatAI.Settings.Basic.CELean>
<CombatAI.Settings.Basic.PerformanceOpt>Enable dynamic performance settings</CombatAI.Settings.Basic.PerformanceOpt>
<CombatAI.Settings.Basic.PerformanceOpt.Description>Automatically adjust settings to maintain both a good level of TPS and a good AI.</CombatAI.Settings.Basic.PerformanceOpt.Description>
<CombatAI.Settings.Basic.PerformanceOpt.Description>Automatically adjust settings to maintain both a good level of
TPS and a good AI.
</CombatAI.Settings.Basic.PerformanceOpt.Description>
<CombatAI.Settings.Basic.Caster>Enable fire position tweaks</CombatAI.Settings.Basic.Caster>
<CombatAI.Settings.Basic.Targeter>Enable target selection tweaks</CombatAI.Settings.Basic.Targeter>
<CombatAI.Settings.Basic.Pather>Enable pathfinding tweaks</CombatAI.Settings.Basic.Pather>
<CombatAI.Settings.Basic.DestWeight>Pathfinding aggressiveness level</CombatAI.Settings.Basic.DestWeight>
<CombatAI.Settings.Basic.DestWeight.Description>Lower numbers mean pathfinding will be more aggressive at avoiding enemies, flanking and minimizing risk to pawns.</CombatAI.Settings.Basic.DestWeight.Description>
<CombatAI.Settings.Basic.DestWeight.Warning>WARNING: Lower values will cause alot of performance issues.</CombatAI.Settings.Basic.DestWeight.Warning>
<CombatAI.Settings.Basic.DestWeight.Description>Lower numbers mean pathfinding will be more aggressive at avoiding
enemies, flanking and minimizing risk to pawns.
</CombatAI.Settings.Basic.DestWeight.Description>
<CombatAI.Settings.Basic.DestWeight.Warning>WARNING: Lower values will cause alot of performance issues.
</CombatAI.Settings.Basic.DestWeight.Warning>

<CombatAI.Settings.Debugging>Debugging</CombatAI.Settings.Debugging>
<CombatAI.Settings.Debugging.Enable>Enable Debugging</CombatAI.Settings.Debugging.Enable>
Pathfinding_DestWeight
<CombatAI.Settings.Advance>Advance Settings</CombatAI.Settings.Advance>
<CombatAI.Settings.Advance.Warning>WARNING: This is only for advanced users! Don't enable this if you don't know what you're doing!</CombatAI.Settings.Advance.Warning>
<CombatAI.Settings.Advance.Warning>WARNING: This is only for advanced users! Don't enable this if you don't know
what you're doing!
</CombatAI.Settings.Advance.Warning>
<CombatAI.Settings.Advance.Enable>I'm an advanced user!</CombatAI.Settings.Advance.Enable>

<CombatAI.Settings.Advance.Sight.Performance>Performance</CombatAI.Settings.Advance.Sight.Performance>
<CombatAI.Settings.Advance.Sight.Performance.Description>You can adjust how many buckets pawns/turrets are divided into and how often they updates. Warning: DON'T USE THIS IF YOU DON'T KNOW WHAT YOU'RE DOING</CombatAI.Settings.Advance.Sight.Performance.Description>
<CombatAI.Settings.Advance.Sight.Performance.FrienldiesAndEnemies>Humanlike factions</CombatAI.Settings.Advance.Sight.Performance.FrienldiesAndEnemies>
<CombatAI.Settings.Advance.Sight.Performance.MechsAndInsect>Mechs and insects</CombatAI.Settings.Advance.Sight.Performance.MechsAndInsect>
<CombatAI.Settings.Advance.Sight.Performance.WildLife>Wildlife</CombatAI.Settings.Advance.Sight.Performance.WildLife>
<CombatAI.Settings.Advance.Sight.Performance.Turrets>Map turrets</CombatAI.Settings.Advance.Sight.Performance.Turrets>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.Frequency>Update frequency {0}Hz (buckets * interval)</CombatAI.Settings.Advance.Sight.Performance.Readouts.Frequency>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.Buckets>Bucket count {0}</CombatAI.Settings.Advance.Sight.Performance.Readouts.Buckets>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.Interval>Ticks between bucket updates {0} Ticks</CombatAI.Settings.Advance.Sight.Performance.Readouts.Interval>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit>{0} Things maximum can obstuct line of sight</CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit.Description>The maximum number of things along line of sight. This includes trees, buildings, etc. Higher values means more accurate sight model but higher performance impact.</CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit.Description>
<CombatAI.Settings.Advance.Sight.Performance>Performance</CombatAI.Settings.Advance.Sight.Performance>
<CombatAI.Settings.Advance.Sight.Performance.Description>You can adjust how many buckets pawns/turrets are divided
into and how often they updates. Warning: DON'T USE THIS IF YOU DON'T KNOW WHAT YOU'RE DOING
</CombatAI.Settings.Advance.Sight.Performance.Description>
<CombatAI.Settings.Advance.Sight.Performance.FrienldiesAndEnemies>Humanlike factions
</CombatAI.Settings.Advance.Sight.Performance.FrienldiesAndEnemies>
<CombatAI.Settings.Advance.Sight.Performance.MechsAndInsect>Mechs and insects
</CombatAI.Settings.Advance.Sight.Performance.MechsAndInsect>
<CombatAI.Settings.Advance.Sight.Performance.WildLife>Wildlife
</CombatAI.Settings.Advance.Sight.Performance.WildLife>
<CombatAI.Settings.Advance.Sight.Performance.Turrets>Map turrets
</CombatAI.Settings.Advance.Sight.Performance.Turrets>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.Frequency>Update frequency {0}Hz (buckets * interval)
</CombatAI.Settings.Advance.Sight.Performance.Readouts.Frequency>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.Buckets>Bucket count {0}
</CombatAI.Settings.Advance.Sight.Performance.Readouts.Buckets>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.Interval>Ticks between bucket updates {0} Ticks
</CombatAI.Settings.Advance.Sight.Performance.Readouts.Interval>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit>{0} Things maximum can obstuct line of sight
</CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit>
<CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit.Description>The maximum number of things along line
of sight. This includes trees, buildings, etc. Higher values means more accurate sight model but higher
performance impact.
</CombatAI.Settings.Advance.Sight.Performance.Readouts.CarryLimit.Description>
</LanguageData>
Loading