void ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players) { bool build_for_all = true; Player *pl = NULL; if( obj->isType(TYPEMASK_ITEM) ) { Item *item = static_cast<Item *>(obj); pl = item->GetOwner(); build_for_all = false; } if( pl != NULL ) _buildPacket(pl, obj, update_players); // Capt: okey for all those fools who think its a real fix // THIS IS A TEMP FIX if( build_for_all ) { WorldObject * temp = dynamic_cast<WorldObject*>(obj); //assert(dynamic_cast<WorldObject*>(obj)!=NULL); if (temp) _buildChangeObjectForPlayer(temp, update_players); else sLog.outDebug("ObjectAccessor: Ln 405 Temp bug fix"); } }
void ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players) { if(obj->isType(TYPEMASK_ITEM)) { if(Player *owner = ((Item*)obj)->GetOwner()) _buildPacket(owner, obj, update_players); } else _buildChangeObjectForPlayer((WorldObject*)obj, update_players); }
void ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players) { if(obj->isType(TYPEMASK_ITEM)) { Item *item = static_cast<Item *>(obj); if (Player* pl = item->GetOwner()) _buildPacket(pl, obj, update_players); } else _buildChangeObjectForPlayer(static_cast<WorldObject*>(obj), update_players); }