Small refactors

This commit is contained in:
Lwmte 2025-03-17 21:13:42 +01:00
parent 1d66c7c8e8
commit 2dac3feb18
2 changed files with 16 additions and 15 deletions

View file

@ -57,8 +57,8 @@ namespace TEN::Effects::Fireflies
item.ItemFlags[FirefliesItemFlags::RemoveFliesEffect] = 0;
// Firefly numbers that has the light.
item.ItemFlags[5] = -1;
item.ItemFlags[6] = -1;
item.ItemFlags[FirefliesItemFlags::LightIndex1] = NO_VALUE;
item.ItemFlags[FirefliesItemFlags::LightIndex2] = NO_VALUE;
}
void SpawnFireflySwarm(ItemInfo& item, int triggerFlags)
@ -133,8 +133,8 @@ namespace TEN::Effects::Fireflies
item.HitPoints = item.ItemFlags[FirefliesItemFlags::Spawncounter];
item.ItemFlags[FirefliesItemFlags::Spawncounter] = 0;
item.ItemFlags[5] = -1;
item.ItemFlags[6] = -1;
item.ItemFlags[FirefliesItemFlags::LightIndex1] = NO_VALUE;
item.ItemFlags[FirefliesItemFlags::LightIndex2] = NO_VALUE;
return;
}
@ -186,15 +186,15 @@ namespace TEN::Effects::Fireflies
if (targetItem == &item)
{
// choose one of the available firefly number that has the light.
if (targetItem->ItemFlags[5] == -1 && targetItem->ItemFlags[FirefliesItemFlags::TriggerFlags] >= 0)
// Choose one of the available firefly number that has the light.
if (targetItem->ItemFlags[FirefliesItemFlags::LightIndex1] == NO_VALUE && targetItem->ItemFlags[FirefliesItemFlags::TriggerFlags] >= 0)
{
targetItem->ItemFlags[5] = Random::GenerateInt(0, targetItem->TriggerFlags);
targetItem->ItemFlags[FirefliesItemFlags::LightIndex1] = Random::GenerateInt(0, targetItem->TriggerFlags);
}
// two lights max for each cluster.
if (targetItem->ItemFlags[6] == -1 && targetItem->ItemFlags[FirefliesItemFlags::TriggerFlags] >= 0)
// Two lights max for each cluster.
if (targetItem->ItemFlags[FirefliesItemFlags::LightIndex2] == NO_VALUE && targetItem->ItemFlags[FirefliesItemFlags::TriggerFlags] >= 0)
{
targetItem->ItemFlags[6] = Random::GenerateInt(0, targetItem->TriggerFlags);
targetItem->ItemFlags[FirefliesItemFlags::LightIndex2] = Random::GenerateInt(0, targetItem->TriggerFlags);
}
auto posBase = firefly.Position;
@ -218,8 +218,7 @@ namespace TEN::Effects::Fireflies
0.0f, 0.4f, 0.0f, 0.2f, 0.0f, StreamerFeatherType::None, BlendMode::Subtractive);
}
if ((targetItem->ItemFlags[5] == firefly.Number ||
targetItem->ItemFlags[6] == firefly.Number) &&
if ((targetItem->ItemFlags[FirefliesItemFlags::LightIndex1] == firefly.Number || targetItem->ItemFlags[FirefliesItemFlags::LightIndex2] == firefly.Number) &&
targetItem->ItemFlags[FirefliesItemFlags::Light] == 1)
{
float totalCycleDuration = 2 * (LIGHT_ALPHA_CYCLE_DURATION + ALPHA_PAUSE_DURATION);
@ -236,8 +235,8 @@ namespace TEN::Effects::Fireflies
else if (alphaTime < 2 * ALPHA_PAUSE_DURATION + LIGHT_ALPHA_CYCLE_DURATION)
{
alphaFactor = 0.0f; // Pause on Alpha 0.
targetItem->ItemFlags[5] = -1;
targetItem->ItemFlags[6] = -1;
targetItem->ItemFlags[FirefliesItemFlags::LightIndex1] = NO_VALUE;
targetItem->ItemFlags[FirefliesItemFlags::LightIndex2] = NO_VALUE;
}
else
{

View file

@ -12,7 +12,9 @@ namespace TEN::Effects::Fireflies
Light,
TriggerFlags,
Spawncounter,
RemoveFliesEffect
RemoveFliesEffect,
LightIndex1,
LightIndex2
};
struct FireflyData