This commit is contained in:
2025-08-27 21:31:24 +08:00
parent a0ab68e579
commit 59726c3a73
3 changed files with 6 additions and 21 deletions

View File

@@ -60,7 +60,7 @@
<range>25.9</range> <range>25.9</range>
<warmupTime>1.5</warmupTime> <warmupTime>1.5</warmupTime>
<burstShotCount>10</burstShotCount> <burstShotCount>10</burstShotCount>
<ticksBetweenBurstShots>50</ticksBetweenBurstShots> <ticksBetweenBurstShots>12</ticksBetweenBurstShots>
<soundCast>ChargeLance_Fire</soundCast> <soundCast>ChargeLance_Fire</soundCast>
<soundCastTail>GunTail_Heavy</soundCastTail> <soundCastTail>GunTail_Heavy</soundCastTail>
<targetParams> <targetParams>
@@ -72,7 +72,7 @@
<accuracyLong>0.4</accuracyLong> <accuracyLong>0.4</accuracyLong>
<minRange>3</minRange> <minRange>3</minRange>
<requireLineOfSight>true</requireLineOfSight> <requireLineOfSight>true</requireLineOfSight>
<pathWidth>1</pathWidth> <pathWidth>2.5</pathWidth>
<damageDef>Vaporize</damageDef> <damageDef>Vaporize</damageDef>
<damageAmount>50</damageAmount> <damageAmount>50</damageAmount>
<armorPenetration>0.3</armorPenetration> <armorPenetration>0.3</armorPenetration>

View File

@@ -99,18 +99,6 @@ namespace WulaFallenEmpire
protected override bool TryCastShot() protected override bool TryCastShot()
{ {
// Temporarily commented out CompWeaponCharge related code
/*
bool flag = this.compCharge != null && !this.compCharge.CanBeUsed;
if (!flag)
{
CompWeaponCharge compCharge = this.compCharge;
if (compCharge != null)
{
compCharge.UsedOnce();
}
*/
// Calculate all affected cells once // Calculate all affected cells once
List<IntVec3> allAffectedCells = this.AffectedCells(this.currentTarget); List<IntVec3> allAffectedCells = this.AffectedCells(this.currentTarget);
@@ -123,18 +111,14 @@ namespace WulaFallenEmpire
beam.pathWidth = this.ExcaliburProps.pathWidth; beam.pathWidth = this.ExcaliburProps.pathWidth;
beam.weaponDef = this.CasterPawn.equipment.Primary.def; beam.weaponDef = this.CasterPawn.equipment.Primary.def;
beam.damageDef = this.ExcaliburProps.damageDef; beam.damageDef = this.ExcaliburProps.damageDef;
beam.StartStrike(allAffectedCells, this.BurstShotsLeft, this.BurstShotCount); beam.StartStrike(allAffectedCells, this.verbProps.burstShotCount, this.verbProps.burstShotCount);
return true; return true;
/*
}
return false;
*/
} }
public override void DrawHighlight(LocalTargetInfo target) public override void DrawHighlight(LocalTargetInfo target)
{ {
GenDraw.DrawFieldEdges(this.AffectedCells(target), 2900); GenDraw.DrawFieldEdges(this.AffectedCells(target), SimpleColor.Red);
} }
private List<IntVec3> AffectedCells(LocalTargetInfo target) private List<IntVec3> AffectedCells(LocalTargetInfo target)
@@ -188,9 +172,10 @@ namespace WulaFallenEmpire
{ {
return currentCell; // Hit an impassable wall return currentCell; // Hit an impassable wall
} }
}
return (position.ToVector3() + direction * maxRange).ToIntVec3(); // Reached max range return (position.ToVector3() + direction * maxRange).ToIntVec3(); // Reached max range
} }
private bool CanUseCell(IntVec3 c) private bool CanUseCell(IntVec3 c)
{ {
return c.InBounds(this.CasterPawn.Map) && c != this.CasterPawn.Position; return c.InBounds(this.CasterPawn.Map) && c != this.CasterPawn.Position;