Beispiel #1
0
/*-------------------------------------------------------------------
    Procedure   :   Check if timer enabled
    Input       :   Nothing
    Output      :   Nothing
-------------------------------------------------------------------*/
void CheckTimeLimit( void )
{
    TRIGGERVAR  * TVpnt;

    TVpnt = TimeLimitTrigger;

    if( TVpnt )
    {
        if( TVpnt->State )
        {
            CountDownOn = TRUE;
            KilledPlayer = FALSE;

            CreateCountdownDigits();
            StartCountDown( 1, 0 );
            ResetCountDownBombTag( ( TVpnt->State * 100.0F ) );
            TimeLimitTrigger = NULL;
        }
    }
}
        void UpdateAI(uint32 diff)
        {
            if (HasMineState(LAND_MINE_STATE_JUSTADDED))
            {
                if (uiActivationTimer <= diff)
                {
                    ClearMineState(LAND_MINE_STATE_JUSTADDED);
                    AddMineState(LAND_MINE_STATE_ACTIVATED);
                    me->AddAura(SPELL_TOLVIR_LAND_MINE_VISUAL, me);
                    me->AddAura(SPELL_TOLVIR_MINE_PLAYER_SEARCH_TRIGGER, me);
                }
                else
                    uiActivationTimer -= diff;
            }

            if (HasMineState(LAND_MINE_STATE_ACTIVATED) && !HasMineState(LAND_MINE_STATE_COUNTDOWN))
            {
                if (uiCountdownTimer <= diff)
                    StartCountDown();
                else
                    uiCountdownTimer -= diff;
            }

            if (HasMineState(LAND_MINE_STATE_DETONATED))
            {
                if (uiDespawnTimer <= diff)
                {
                    if (Creature* pMineVehicle = me->GetVehicleCreatureBase())
                        pMineVehicle->DespawnOrUnsummon();

                    me->DespawnOrUnsummon();
                }
                else
                    uiDespawnTimer -= diff;
            }
        }
 void SpellHit(Unit* /*caster*/, const SpellInfo* spell)
 {
     if (spell->Id == SPELL_DETONATE_TRAPS)
         StartCountDown();
 }