1
@@ -421,27 +421,13 @@
|
||||
</ResearchProjectDef>
|
||||
<ResearchProjectDef ParentName="WULAtechBase">
|
||||
<defName>WULA_Mech_Mobile_Shield_Technology</defName>
|
||||
<researchViewX>6.00</researchViewX>
|
||||
<researchViewX>10.00</researchViewX>
|
||||
<researchViewY>5.60</researchViewY>
|
||||
<label>放射盾空投许可</label>
|
||||
<description>允许殖民地申请空投MSm-8"放射盾",乌拉帝国的中型战争机械,一种多足机械体,拥有密不透风的反射盾的同时,还可以灼烧那些企图进入护盾区域内的宵小之辈。</description>
|
||||
<baseCost>2000</baseCost>
|
||||
<hiddenPrerequisites>
|
||||
<li>WULA_Synth_Productor_Technology</li>
|
||||
</hiddenPrerequisites>
|
||||
<prerequisites>
|
||||
<li>WULA_Colony_License_LV2_Technology</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
<ResearchProjectDef ParentName="WULAtechBase">
|
||||
<defName>WULA_Mech_Mobile_Shield_Teleporter_Technology</defName>
|
||||
<researchViewX>10.00</researchViewX>
|
||||
<researchViewY>5.60</researchViewY>
|
||||
<label>放射盾传送器许可</label>
|
||||
<description>允许殖民地使用MSm-8"放射盾"内置的传送器,机械乌拉在其覆盖范围内,处于征召状态下进行常规移动时,会以瞬间传送代替步行。</description>
|
||||
<baseCost>3000</baseCost>
|
||||
<hiddenPrerequisites>
|
||||
<li>WULA_Mech_Mobile_Shield_Technology</li>
|
||||
<li>WULA_Synth_Productor_Technology</li>
|
||||
</hiddenPrerequisites>
|
||||
<prerequisites>
|
||||
<li>WULA_Colony_License_LV3_Technology</li>
|
||||
|
||||
@@ -78,11 +78,11 @@
|
||||
<MaxFlightTime>9999</MaxFlightTime>
|
||||
<FlightCooldown>0</FlightCooldown>
|
||||
|
||||
<ArmorRating_Sharp>1</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>1</ArmorRating_Blunt>
|
||||
<ArmorRating_Sharp>1.25</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>1.25</ArmorRating_Blunt>
|
||||
<ArmorRating_Heat>2</ArmorRating_Heat>
|
||||
|
||||
<WULA_MechArmor>3</WULA_MechArmor>
|
||||
<WULA_MechArmor>4</WULA_MechArmor>
|
||||
</statBases>
|
||||
<costList Inherit="False">
|
||||
<WULA_Alloy>300</WULA_Alloy>
|
||||
@@ -302,7 +302,7 @@
|
||||
<stageTransitionCooldownTicks>3</stageTransitionCooldownTicks>
|
||||
|
||||
<!-- 碰撞区域 -->
|
||||
<collisionAreaRadius>3</collisionAreaRadius>
|
||||
<collisionAreaRadius>2</collisionAreaRadius>
|
||||
|
||||
<!-- 目标过滤 -->
|
||||
<onlyAffectEnemies>true</onlyAffectEnemies>
|
||||
@@ -356,11 +356,11 @@
|
||||
<MaxFlightTime>9999</MaxFlightTime>
|
||||
<FlightCooldown>0</FlightCooldown>
|
||||
|
||||
<ArmorRating_Sharp>1</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>1</ArmorRating_Blunt>
|
||||
<ArmorRating_Sharp>1.25</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>1.25</ArmorRating_Blunt>
|
||||
<ArmorRating_Heat>2</ArmorRating_Heat>
|
||||
|
||||
<WULA_MechArmor>3</WULA_MechArmor>
|
||||
<WULA_MechArmor>4</WULA_MechArmor>
|
||||
</statBases>
|
||||
<costList Inherit="False">
|
||||
<WULA_Alloy>300</WULA_Alloy>
|
||||
@@ -570,7 +570,7 @@
|
||||
<stageTransitionCooldownTicks>3</stageTransitionCooldownTicks>
|
||||
|
||||
<!-- 碰撞区域 -->
|
||||
<collisionAreaRadius>3</collisionAreaRadius>
|
||||
<collisionAreaRadius>2</collisionAreaRadius>
|
||||
|
||||
<!-- 目标过滤 -->
|
||||
<onlyAffectEnemies>true</onlyAffectEnemies>
|
||||
@@ -598,6 +598,12 @@
|
||||
<knockbackFlyerDef>PawnFlyer</knockbackFlyerDef>
|
||||
<!-- <flightEffecterDef>FlyerTakeoff</flightEffecterDef> -->
|
||||
<landingSound>PawnFlyerLand</landingSound>
|
||||
|
||||
<!-- 地形阻挡配置 -->
|
||||
<narrowTerrainBlocked>true</narrowTerrainBlocked>
|
||||
<maxBlockPenalty>1</maxBlockPenalty>
|
||||
<terrainCheckInterval>60</terrainCheckInterval>
|
||||
<blockedHediff>Wula_TerrainBlocked</blockedHediff>
|
||||
|
||||
<!-- 调试 -->
|
||||
<enableDebugLogging>false</enableDebugLogging>
|
||||
@@ -616,6 +622,8 @@
|
||||
<ArmorRating_Sharp>0.5</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>0.5</ArmorRating_Blunt>
|
||||
<ArmorRating_Heat>2</ArmorRating_Heat>
|
||||
|
||||
<WULA_MechArmor>5</WULA_MechArmor>
|
||||
</statBases>
|
||||
<costList Inherit="False">
|
||||
<WULA_Alloy>300</WULA_Alloy>
|
||||
@@ -649,7 +657,7 @@
|
||||
</tools>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaShield">
|
||||
<radius>15</radius>
|
||||
<radius>25</radius>
|
||||
<baseHitPoints>300</baseHitPoints>
|
||||
<rechargeDelay>2400</rechargeDelay>
|
||||
<rechargeHitPointsIntervalTicks>30</rechargeHitPointsIntervalTicks>
|
||||
@@ -669,13 +677,13 @@
|
||||
|
||||
<!-- 反射设置 -->
|
||||
<canReflect>true</canReflect>
|
||||
<reflectChance>0.85</reflectChance>
|
||||
<reflectChance>0.95</reflectChance>
|
||||
<reflectAngleRange>30</reflectAngleRange>
|
||||
<reflectCost>0</reflectCost>
|
||||
<reflectEffecter>Interceptor_BlockedProjectile</reflectEffecter>
|
||||
</li>
|
||||
<li Class="WulaFallenEmpire.CompProperties_AreaDamage">
|
||||
<radius>15</radius>
|
||||
<radius>25</radius>
|
||||
<damageIntervalTicks>30</damageIntervalTicks>
|
||||
<damageDef>Flame</damageDef>
|
||||
<damageAmount>8</damageAmount>
|
||||
@@ -687,7 +695,7 @@
|
||||
<ignoreFactionRelations>false</ignoreFactionRelations>
|
||||
<startEnabled>false</startEnabled>
|
||||
<toggleLabel>热辐射</toggleLabel>
|
||||
<toggleDescription>MSm-8"放射盾"可以打开外壳,蒸发胆敢进入反射立场内的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
|
||||
<toggleDescription>MSm-8"放射盾"可以打开外壳,蒸发胆敢进入反射立场内的敌军。</toggleDescription>
|
||||
<toggleIconPath>Wula/UI/Commands/Wula_Psi_Titan_AreaDamage</toggleIconPath>
|
||||
</li>
|
||||
<!-- <li Class="WulaFallenEmpire.CompProperties_AreaTeleporter">
|
||||
@@ -829,12 +837,61 @@
|
||||
</li>
|
||||
</pawnKindHediffs>
|
||||
</li> -->
|
||||
|
||||
<li Class="WulaFallenEmpire.CompProperties_HighSpeedCollision">
|
||||
<!-- 速度阈值 -->
|
||||
<minSpeedForStage1>0.5</minSpeedForStage1>
|
||||
<minSpeedForStage2>1.0</minSpeedForStage2>
|
||||
<speedHistoryFrameCount>15</speedHistoryFrameCount>
|
||||
<stageTransitionCooldownTicks>6</stageTransitionCooldownTicks>
|
||||
|
||||
<!-- 碰撞区域 -->
|
||||
<collisionAreaRadius>3</collisionAreaRadius>
|
||||
|
||||
<!-- 目标过滤 -->
|
||||
<onlyAffectEnemies>true</onlyAffectEnemies>
|
||||
<excludeAlliedPawns>true</excludeAlliedPawns>
|
||||
|
||||
<!-- 阶段1效果 -->
|
||||
<stage1DamageDef>Blunt</stage1DamageDef>
|
||||
<stage1DamageAmount>1</stage1DamageAmount>
|
||||
<armorPenetration>0.1</armorPenetration>
|
||||
<!-- <stage1Hediff>Bruise</stage1Hediff>
|
||||
<stage1HediffDurationTicks>120</stage1HediffDurationTicks>
|
||||
<stage1HediffPreventsDamage>true</stage1HediffPreventsDamage> -->
|
||||
<!-- <stage1Effecter>SparkImpact</stage1Effecter> -->
|
||||
<stage1Sound>MeleeHit_BladelinkZeusHammer</stage1Sound>
|
||||
|
||||
<!-- 阶段2效果 -->
|
||||
<stage2DamageDef>Blunt</stage2DamageDef>
|
||||
<stage2DamageAmount>20</stage2DamageAmount>
|
||||
<stage2KnockbackDistance>4</stage2KnockbackDistance>
|
||||
<requireLineOfSightForKnockback>true</requireLineOfSightForKnockback>
|
||||
<!-- <stage2Effecter>ExplosionFlash</stage2Effecter> -->
|
||||
<stage2Sound>MeleeHit_BladelinkZeusHammer</stage2Sound>
|
||||
|
||||
<!-- 击飞配置 -->
|
||||
<knockbackFlyerDef>PawnFlyer</knockbackFlyerDef>
|
||||
<!-- <flightEffecterDef>FlyerTakeoff</flightEffecterDef> -->
|
||||
<landingSound>PawnFlyerLand</landingSound>
|
||||
|
||||
<!-- 地形阻挡配置 -->
|
||||
<narrowTerrainBlocked>true</narrowTerrainBlocked>
|
||||
<maxBlockPenalty>1</maxBlockPenalty>
|
||||
<terrainCheckInterval>60</terrainCheckInterval>
|
||||
<blockedHediff>Wula_TerrainBlocked</blockedHediff>
|
||||
|
||||
<!-- 调试 -->
|
||||
<enableDebugLogging>false</enableDebugLogging>
|
||||
<enableDebugVisuals>false</enableDebugVisuals>
|
||||
<debugDrawSpeedHistory>false</debugDrawSpeedHistory>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="Wula_MechunitBase">
|
||||
<defName>Wula_Mech_Mobile_Factory</defName>
|
||||
<label>MFm-2"陆行舰"</label>
|
||||
<description>乌拉帝国的大型战争机械,简直就是一座移动堡垒——它不仅装甲厚实、火炮林立,还能在战场上生产大量的辅助战争机械以形成坚实的弹性阵线,生来就是为了粉碎坚固的要塞和顽强的抵抗。</description>
|
||||
<description>乌拉帝国的大型构装体,简直就是一座移动堡垒——它不仅装甲厚实、火炮林立,还能在战场上生产大量的辅助战争机械以形成坚实的弹性阵线,生来就是为了粉碎坚固的要塞和顽强的抵抗。</description>
|
||||
<statBases>
|
||||
<MoveSpeed>1</MoveSpeed>
|
||||
<EnergyShieldEnergyMax>5</EnergyShieldEnergyMax>
|
||||
@@ -845,6 +902,8 @@
|
||||
<ArmorRating_Sharp>1.75</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>1.75</ArmorRating_Blunt>
|
||||
<ArmorRating_Heat>2</ArmorRating_Heat>
|
||||
|
||||
<WULA_MechArmor>10</WULA_MechArmor>
|
||||
</statBases>
|
||||
<costList Inherit="False">
|
||||
<WULA_Alloy>300</WULA_Alloy>
|
||||
@@ -1287,6 +1346,12 @@
|
||||
<knockbackFlyerDef>PawnFlyer</knockbackFlyerDef>
|
||||
<!-- <flightEffecterDef>FlyerTakeoff</flightEffecterDef> -->
|
||||
<landingSound>PawnFlyerLand</landingSound>
|
||||
|
||||
<!-- 地形阻挡配置 -->
|
||||
<narrowTerrainBlocked>true</narrowTerrainBlocked>
|
||||
<maxBlockPenalty>1</maxBlockPenalty>
|
||||
<terrainCheckInterval>60</terrainCheckInterval>
|
||||
<blockedHediff>Wula_TerrainBlocked</blockedHediff>
|
||||
|
||||
<!-- 调试 -->
|
||||
<enableDebugLogging>false</enableDebugLogging>
|
||||
|
||||
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 446 KiB |
|
Before Width: | Height: | Size: 583 KiB After Width: | Height: | Size: 952 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 408 KiB |
|
Before Width: | Height: | Size: 643 KiB After Width: | Height: | Size: 971 KiB |
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 182 KiB |
|
Before Width: | Height: | Size: 230 KiB After Width: | Height: | Size: 230 KiB |
@@ -0,0 +1,259 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
using Verse.Sound;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
/// <summary>
|
||||
/// 支持直击伤害的爆炸弹丸
|
||||
/// </summary>
|
||||
public class Projectile_ExplosiveWithDirectHit : Projectile_Explosive
|
||||
{
|
||||
// 缓存ModExtension
|
||||
private ProjectileExtension_DirectHit directHitExtension = null;
|
||||
|
||||
// 标记是否已经应用了直击伤害
|
||||
private bool directDamageApplied = false;
|
||||
|
||||
public override void ExposeData()
|
||||
{
|
||||
base.ExposeData();
|
||||
Scribe_Values.Look(ref directDamageApplied, "directDamageApplied", false);
|
||||
}
|
||||
|
||||
protected override void Impact(Thing hitThing, bool blockedByShield = false)
|
||||
{
|
||||
// 获取ModExtension
|
||||
if (directHitExtension == null)
|
||||
{
|
||||
directHitExtension = def.GetModExtension<ProjectileExtension_DirectHit>();
|
||||
}
|
||||
|
||||
// 应用直击伤害(只在有直接击中目标时)
|
||||
if (hitThing != null && directHitExtension != null &&
|
||||
directHitExtension.directDamageAmount > 0 &&
|
||||
!directDamageApplied)
|
||||
{
|
||||
ApplyDirectDamage(hitThing, blockedByShield);
|
||||
directDamageApplied = true;
|
||||
}
|
||||
|
||||
// 调用基类方法处理爆炸
|
||||
base.Impact(hitThing, blockedByShield);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 应用直击伤害
|
||||
/// </summary>
|
||||
private void ApplyDirectDamage(Thing hitThing, bool blockedByShield = false)
|
||||
{
|
||||
// 如果只在无护盾时生效且有护盾阻挡,则不应用
|
||||
if (blockedByShield && directHitExtension.applyDirectDamageOnlyWithoutShield)
|
||||
return;
|
||||
|
||||
// 准备伤害信息
|
||||
DamageInfo damageInfo = CreateDirectDamageInfo();
|
||||
|
||||
// 对目标造成伤害
|
||||
hitThing.TakeDamage(damageInfo);
|
||||
|
||||
// 播放效果
|
||||
PlayDirectImpactEffects(hitThing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建直击伤害信息
|
||||
/// </summary>
|
||||
private DamageInfo CreateDirectDamageInfo()
|
||||
{
|
||||
// 确定伤害类型
|
||||
DamageDef damageDef = directHitExtension.directDamageDef;
|
||||
if (damageDef == null)
|
||||
{
|
||||
// 默认使用爆炸伤害类型
|
||||
damageDef = base.DamageDef ?? DamageDefOf.Bomb;
|
||||
}
|
||||
|
||||
// 确定伤害量
|
||||
int damageAmount = directHitExtension.directDamageAmount;
|
||||
if (directHitExtension.useEquipmentStatsForDirectDamage && equipment != null)
|
||||
{
|
||||
// 使用装备属性计算伤害
|
||||
damageAmount = def.projectile.GetDamageAmount(equipment);
|
||||
}
|
||||
|
||||
// 确定护甲穿透
|
||||
float armorPenetration = directHitExtension.directArmorPenetration;
|
||||
if (directHitExtension.useEquipmentStatsForDirectDamage && equipment != null)
|
||||
{
|
||||
armorPenetration = def.projectile.GetArmorPenetration(equipment);
|
||||
}
|
||||
|
||||
// 创建伤害信息
|
||||
DamageInfo damageInfo = new DamageInfo(
|
||||
damageDef,
|
||||
damageAmount,
|
||||
armorPenetration,
|
||||
-1f, // 角度
|
||||
launcher,
|
||||
null, // 击中部位
|
||||
equipmentDef,
|
||||
DamageInfo.SourceCategory.ThingOrUnknown,
|
||||
intendedTarget.Thing
|
||||
);
|
||||
|
||||
// 添加额外伤害
|
||||
AddExtraDirectDamages(damageInfo);
|
||||
|
||||
return damageInfo;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加上额外伤害
|
||||
/// </summary>
|
||||
private void AddExtraDirectDamages(DamageInfo mainDamage)
|
||||
{
|
||||
if (directHitExtension?.extraDirectDamages == null)
|
||||
return;
|
||||
|
||||
foreach (var extraDamage in directHitExtension.extraDirectDamages)
|
||||
{
|
||||
if (extraDamage != null && extraDamage.def != null && extraDamage.amount > 0)
|
||||
{
|
||||
DamageInfo extraDamageInfo = new DamageInfo(
|
||||
extraDamage.def,
|
||||
extraDamage.amount,
|
||||
extraDamage.armorPenetration,
|
||||
-1f,
|
||||
launcher,
|
||||
null,
|
||||
equipmentDef,
|
||||
DamageInfo.SourceCategory.ThingOrUnknown,
|
||||
intendedTarget.Thing
|
||||
);
|
||||
|
||||
// 应用额外伤害
|
||||
if (mainDamage.IntendedTarget != null && mainDamage.IntendedTarget != null)
|
||||
{
|
||||
mainDamage.IntendedTarget.TakeDamage(extraDamageInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 播放直击效果
|
||||
/// </summary>
|
||||
private void PlayDirectImpactEffects(Thing hitThing)
|
||||
{
|
||||
Map map = base.Map;
|
||||
if (map == null)
|
||||
return;
|
||||
|
||||
// 播放效果器
|
||||
if (directHitExtension.directImpactEffecter != null)
|
||||
{
|
||||
Effecter effecter = directHitExtension.directImpactEffecter.Spawn();
|
||||
effecter.Trigger(new TargetInfo(base.Position, map),
|
||||
new TargetInfo(hitThing.Position, map));
|
||||
effecter.Cleanup();
|
||||
}
|
||||
|
||||
// 播放音效
|
||||
if (directHitExtension.directImpactSound != null)
|
||||
{
|
||||
directHitExtension.directImpactSound.PlayOneShot(new TargetInfo(base.Position, map));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 覆盖爆炸方法以添加直击伤害信息
|
||||
/// </summary>
|
||||
protected override void Explode()
|
||||
{
|
||||
// 在爆炸前确保直击伤害已经应用(如果是延迟爆炸的情况)
|
||||
if (!directDamageApplied && directHitExtension != null &&
|
||||
directHitExtension.directDamageAmount > 0 && intendedTarget.Thing != null)
|
||||
{
|
||||
ApplyDirectDamage(intendedTarget.Thing, false);
|
||||
directDamageApplied = true;
|
||||
}
|
||||
|
||||
// 调用基类爆炸方法
|
||||
base.Explode();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取调试信息
|
||||
/// </summary>
|
||||
public string GetDirectHitDebugInfo()
|
||||
{
|
||||
if (directHitExtension == null)
|
||||
return "No direct hit extension configured.";
|
||||
|
||||
string info = "Direct Hit Configuration:\n";
|
||||
info += $"Damage Def: {directHitExtension.directDamageDef?.defName ?? "None"}\n";
|
||||
info += $"Damage Amount: {directHitExtension.directDamageAmount}\n";
|
||||
info += $"Armor Penetration: {directHitExtension.directArmorPenetration}\n";
|
||||
info += $"Use Equipment Stats: {directHitExtension.useEquipmentStatsForDirectDamage}\n";
|
||||
info += $"Apply Without Shield Only: {directHitExtension.applyDirectDamageOnlyWithoutShield}\n";
|
||||
info += $"Extra Damages Count: {directHitExtension.extraDirectDamages?.Count ?? 0}\n";
|
||||
info += $"Direct Damage Applied: {directDamageApplied}";
|
||||
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害ModExtension定义
|
||||
/// </summary>
|
||||
public class ProjectileExtension_DirectHit : DefModExtension
|
||||
{
|
||||
/// <summary>
|
||||
/// 直击伤害类型(默认为爆炸伤害类型)
|
||||
/// </summary>
|
||||
public DamageDef directDamageDef = null;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害量
|
||||
/// </summary>
|
||||
public int directDamageAmount = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害护甲穿透
|
||||
/// </summary>
|
||||
public float directArmorPenetration = 0f;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害是否受装备影响
|
||||
/// </summary>
|
||||
public bool useEquipmentStatsForDirectDamage = false;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害额外伤害列表
|
||||
/// </summary>
|
||||
public List<ExtraDamage> extraDirectDamages = null;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害是否只在击穿护盾后生效
|
||||
/// </summary>
|
||||
public bool applyDirectDamageOnlyWithoutShield = false;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害效果器
|
||||
/// </summary>
|
||||
public EffecterDef directImpactEffecter = null;
|
||||
|
||||
/// <summary>
|
||||
/// 直击伤害音效
|
||||
/// </summary>
|
||||
public SoundDef directImpactSound = null;
|
||||
|
||||
/// <summary>
|
||||
/// 是否显示直击伤害日志
|
||||
/// </summary>
|
||||
public bool logDirectDamage = false;
|
||||
}
|
||||
}
|
||||
@@ -106,6 +106,7 @@
|
||||
<Compile Include="Pawn_Comps\MechCrewHolder\CompProperties_MechCrewHolder.cs" />
|
||||
<Compile Include="Pawn_Comps\PawnRenderExtra\Comp_PawnRenderExtra.cs" />
|
||||
<Compile Include="Pawn_Comps\HighSpeedCollision\CompHighSpeedCollision.cs" />
|
||||
<Compile Include="Projectiles\Projectile_ExplosiveWithDirectHit.cs" />
|
||||
<Compile Include="Verb\Verb_RangeChecker.cs" />
|
||||
<Compile Include="Verb\Verb_TurretOffestShoot.cs" />
|
||||
<Compile Include="Work\BoardMech\FloatMenuOptionProvider_BoardMech.cs" />
|
||||
|
||||
|
Before Width: | Height: | Size: 291 KiB After Width: | Height: | Size: 272 KiB |