buff fedora, add elite enemies and add impact to attack
This commit is contained in:
@@ -46,14 +46,18 @@ namespace KernelPanic.Combat
|
||||
public bool LethalHitThisTurn { get; private set; }
|
||||
public int PairId { get; private set; } = -1;
|
||||
public int RaceEnrageStacks { get; private set; }
|
||||
public int TelemetryStacks { get; private set; }
|
||||
public bool SpawnedFromDeath { get; private set; }
|
||||
public bool HasPendingMarker => PendingRevive || HasRevived;
|
||||
public bool HasSpecialSignal => HasSplitSignal || HasSegfaultSignal || HasRaceSignal || HasRootkitSignal || HasEliteSignal || SpawnedFromDeath;
|
||||
public bool HasSpecialSignal => HasSplitSignal || HasSegfaultSignal || HasRaceSignal || HasRootkitSignal || HasEliteSignal || HasRamPressureSignal || HasTelemetrySignal || HasCardLockerSignal || SpawnedFromDeath;
|
||||
public bool HasSplitSignal => HasBehavior(EnemyBehaviorFlags.Split);
|
||||
public bool HasSegfaultSignal => HasBehavior(EnemyBehaviorFlags.SegfaultOnDeath);
|
||||
public bool HasRaceSignal => HasBehavior(EnemyBehaviorFlags.RacePair);
|
||||
public bool HasRootkitSignal => HasBehavior(EnemyBehaviorFlags.RootkitMasked);
|
||||
public bool HasEliteSignal => HasBehavior(EnemyBehaviorFlags.Elite);
|
||||
public bool HasEliteSignal => Archetype.Tier == EnemyTier.Elite || HasBehavior(EnemyBehaviorFlags.Elite);
|
||||
public bool HasRamPressureSignal => HasBehavior(EnemyBehaviorFlags.RamPressure);
|
||||
public bool HasTelemetrySignal => HasBehavior(EnemyBehaviorFlags.TelemetryCollector);
|
||||
public bool HasCardLockerSignal => HasBehavior(EnemyBehaviorFlags.CardLocker);
|
||||
public EnemyIntent DisplayIntent => BuildDisplayIntent();
|
||||
|
||||
public void PickNextIntent()
|
||||
@@ -93,6 +97,14 @@ namespace KernelPanic.Combat
|
||||
int maxValue = UnityEngine.Mathf.Min(CurrentIntent.MaxValue + growth, EnemyArchetypeCatalog.MemoryLeakAttackCapMax);
|
||||
CurrentIntent = CurrentIntent.WithValues(minValue, maxValue, "growing leak");
|
||||
}
|
||||
|
||||
if (HasBehavior(EnemyBehaviorFlags.TelemetryCollector) && CurrentIntent.Kind == EnemyIntentKind.Attack && TelemetryStacks > 0)
|
||||
{
|
||||
CurrentIntent = CurrentIntent.WithValues(
|
||||
CurrentIntent.MinValue + TelemetryStacks,
|
||||
CurrentIntent.MaxValue + TelemetryStacks,
|
||||
"profiled hit");
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasBehavior(EnemyBehaviorFlags behavior)
|
||||
@@ -128,6 +140,18 @@ namespace KernelPanic.Combat
|
||||
RaceEnrageStacks++;
|
||||
}
|
||||
|
||||
public void AddTelemetryStack()
|
||||
{
|
||||
TelemetryStacks += EnemyArchetypeCatalog.TelemetryDamageGrowthPerCard;
|
||||
if (CurrentIntent.Kind == EnemyIntentKind.Attack)
|
||||
{
|
||||
CurrentIntent = CurrentIntent.WithValues(
|
||||
CurrentIntent.MinValue + EnemyArchetypeCatalog.TelemetryDamageGrowthPerCard,
|
||||
CurrentIntent.MaxValue + EnemyArchetypeCatalog.TelemetryDamageGrowthPerCard,
|
||||
"profiled hit");
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetTurnLethalMarker()
|
||||
{
|
||||
LethalHitThisTurn = false;
|
||||
|
||||
Reference in New Issue
Block a user