First, the script:
Code: Select all
override int SpecialMissileHit(Actor other)
{
if (other.bIsMonster && other.bINVULNERABLE == false)
{
other.GiveInventory("arcaneChargeCounter",1);
console.printf("%s has %d of counter", other.GetClassName(), other.CountInv('arcaneChargeCounter'));
}
if (other.CountInv('arcaneChargeCounter') >= 50)
{
other.A_Explode(100, 100);
other.A_TakeInventory("arcaneChargeCounter", 999);
}
return -1;
}
The surprise I got was shown by the printf check. I always had thought it was only hitting a mob 2 or 3 times with each shot. However, the counter was going up by more than 30 per shot. This would have to mean, each shot is hitting multiple times per tick or a fast projectile lasts in a multiple spots for multiple ticks as it is getting hit for the equivalent of a full 1 second.
So yeah, what is really going on here? Trying to figure out if there will be issues down the road or not.