Esempio n. 1
0
void Vehicle::InstallAllAccessories(bool evading)
{
    if (GetBase()->GetTypeId() == TYPEID_PLAYER || !evading)
        RemoveAllPassengers();   // We might have aura's saved in the DB with now invalid casters - remove

    VehicleAccessoryList const* accessories = sObjectMgr->GetVehicleAccessoryList(this);
    if (!accessories)
        return;

    for (VehicleAccessoryList::const_iterator itr = accessories->begin(); itr != accessories->end(); ++itr)
        if (!evading || itr->IsMinion)  // only install minions on evade mode
            InstallAccessory(itr->AccessoryEntry, itr->SeatId, itr->IsMinion, itr->SummonedType, itr->SummonTime);
}
Esempio n. 2
0
void VehicleKit::InstallAccessory(int8 seatID)
{
    SQLMultiStorage::SQLMSIteratorBounds<VehicleAccessory> const& bounds = sVehicleAccessoryStorage.getBounds<VehicleAccessory>(GetBase()->GetEntry());
    for (SQLMultiStorage::SQLMultiSIterator<VehicleAccessory> itr = bounds.first; itr != bounds.second; ++itr)
    {
        if ((*itr)->seatId == seatID)
        {
            InstallAccessory(*itr);
            return;
        }
    }
    sLog.outError("Vehicle::InstallAccessory can not find accessory for seat %i of %s", seatID, GetBase()->GetGuidStr().c_str());
}
Esempio n. 3
0
void Vehicle::InstallAllAccessories()
{
    //TODO: Move this into DB!!!
    switch(GetEntry())
    {
        //case 27850:InstallAccessory(27905,1);break;
        case 28782:InstallAccessory(28768,0,false, false);break; // Acherus Deathcharger
        case 28312:InstallAccessory(28319,7,true);break;
        case 32627:InstallAccessory(32629,7,true);break;
        case 32930:
            InstallAccessory(32933,0);
            InstallAccessory(32934,1);
            break;
        case 33109:InstallAccessory(33167,1, true);break;
        case 33060:InstallAccessory(33067,7, true);break;
        case 33113:
            InstallAccessory(33114,0, true);
            InstallAccessory(33114,1, true);
            InstallAccessory(33114,2, true);
            InstallAccessory(33114,3, true);
            InstallAccessory(33139,7);
            break;
        case 33114:
            InstallAccessory(33143,2); // Overload Control Device
            InstallAccessory(33142,1); // Leviathan Defense Turret
            break;
        case 33214:InstallAccessory(33218,1,false,false);break; // Mechanolift 304-A
    }
}
Esempio n. 4
0
void VehicleKit::InstallAllAccessories(uint32 entry)
{
    SQLMultiStorage::SQLMSIteratorBounds<VehicleAccessory> const& bounds = sVehicleAccessoryStorage.getBounds<VehicleAccessory>(entry);
    for (SQLMultiStorage::SQLMultiSIterator<VehicleAccessory> itr = bounds.first; itr != bounds.second; ++itr)
        InstallAccessory(*itr);
}
Esempio n. 5
0
void Vehicle::InstallAllAccessories()
{
    switch(GetEntry())
    {
        //case 27850:InstallAccessory(27905,1);break;
        case 28782:InstallAccessory(28768,0);break; // Acherus Deathcharger
        case 28312:InstallAccessory(28319,7);break;
        case 32627:InstallAccessory(32629,7);break;
        case 33109:InstallAccessory(33167,1);break;
        case 33060:InstallAccessory(33067,7);break;
        case 33113:
            InstallAccessory(33114,0);
            InstallAccessory(33114,1);
            InstallAccessory(33114,2);
            InstallAccessory(33114,3);
            InstallAccessory(33139,7);
            break;
        case 33114:
            InstallAccessory(33142,0);
            //InstallAccessory(33143,1);
            //InstallAccessory(33142,2);
            InstallAccessory(33143,2);
            InstallAccessory(33142,1);
            break;
    }
}
Esempio n. 6
0
void Vehicle::InstallAllAccessories()
{
    switch (me->GetEntry())
    {
        //case 27850:InstallAccessory(27905,1);break;
        case 28782:InstallAccessory(28768,0,false);break; // Acherus Deathcharger
        case 28312:InstallAccessory(28319,7);break;
        case 32627:InstallAccessory(32629,7);break;
        case 32930:
            InstallAccessory(32933,0);
            InstallAccessory(32934,1);
            break;
        case 33109:InstallAccessory(33167,1);break;
        case 33060:InstallAccessory(33067,7);break;
        case 33113:
            InstallAccessory(33114,0);
            InstallAccessory(33114,1);
            InstallAccessory(33114,2);
            InstallAccessory(33114,3);
            InstallAccessory(33139,7);
            break;
        case 33114:
            InstallAccessory(33143,2); // Overload Control Device
            InstallAccessory(33142,1); // Leviathan Defense Turret
            break;
        case 33214:InstallAccessory(33218,1,false);break; // Mechanolift 304-A
        case 35637:InstallAccessory(34705,0,false);break;
        case 35633:InstallAccessory(34702,0,false);break;
        case 35768:InstallAccessory(34701,0,false);break;
        case 34658:InstallAccessory(34657,0,false);break;
        case 35636:InstallAccessory(34703,0,false);break;
        case 35638:InstallAccessory(35572,0,false);break;
        case 35635:InstallAccessory(35569,0,false);break;
        case 35640:InstallAccessory(35571,0,false);break;
        case 35641:InstallAccessory(35570,0,false);break;
        case 35634:InstallAccessory(35617,0,false);break;
        case 33298:InstallAccessory(35332,0);break; //Darnassian Nightsaber
        case 33416:InstallAccessory(35330,0);break; //Exodar Elekk
        case 33297:InstallAccessory(35328,0);break; //Stormwind Steed
        case 33414:InstallAccessory(35327,0);break; //Forsaken Warhorse
        case 33301:InstallAccessory(35331,0);break; //Gnomeregan Mechanostrider
        case 33408:InstallAccessory(35329,0);break; //Ironforge Ram
        case 33300:InstallAccessory(35325,0);break; //Thunder Bluff Kodo
        case 33409:InstallAccessory(35314,0);break; //Orgrimmar Wolf
        case 33418:InstallAccessory(35326,0);break; //Silvermoon Hawkstrider
        case 33299:InstallAccessory(35323,0);break; //Darkspear Raptor
        case 35491:InstallAccessory(35451,0,false);break; //Black Knight
    }
}