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); }
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()); }
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 } }
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); }
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; } }
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 } }