protected override void OnTick() { if(m_PilesDone >= m_PilesMax) { Stop(); return; } Point3D p = FindGoldLocation(m_Map, m_Location, m_PilesMax / 8); Gold g = new Gold(m_MinAmount, m_MaxAmount); g.DropToWorld(p, this.m_Map); switch (Utility.Random(3)) { case 0: // Fire column Effects.SendLocationParticles(EffectItem.Create(g.Location, g.Map, EffectItem.DefaultDuration), 0x3709, 10, 30, 5052); Effects.PlaySound(g, g.Map, 0x208); break; case 1: // Explosion Effects.SendLocationParticles(EffectItem.Create(g.Location, g.Map, EffectItem.DefaultDuration), 0x36BD, 20, 10, 5044); Effects.PlaySound(g, g.Map, 0x307); break; case 2: // Ball of fire Effects.SendLocationParticles(EffectItem.Create(g.Location, g.Map, EffectItem.DefaultDuration), 0x36FE, 10, 10, 5052); break; } ++m_PilesDone; }