В пандарии был прикольный баг, если ты в форме крыла ночи/фиала песков влетал в рейд и в это время мгновенно разорвать соединение с интернетом, то потом когда заходишь в игру ты можешь летать без маунта и дамажить, говорят такой эффект еще как-то можно было реализовать, но у меня так получалось, баг был довольно длительное время, только во время ОО исправили, хотя писал еще со старта панд в техподдержку
Крыло Ночи и Фиал Песков - 1) это не маунты, а сущность под названием vehicle, 2) меняли флаги самого игрока через скрытую ауру, чтобы он стал сущностью vehicle. При разрыве соединения скрытая аура не снималась из-за некорректности logout процедуры и в связи с особенностями работы клиент-серверной архитектуры, отсюда баг.
Баг до сих пор есть, но в более мягком виде. Если выдернуть кабель из роутера (не из ПК), то можно на флай-маунте залететь туда, где в обычных обстоятельствах спешивает. Главное, успеть вставить обратно, пока игра не вылетела.
А вот это уже не баг, а как раз работа клиент-серверной архитектуры, потому что флай-маунт снимается сервером, а не клиентом.
Самые сочные баги водятся на пиратках.
Ну потому что заселением, базой, и непосредственно, разработкой, занимаются разные люди и не всегда в контакте между собой. Когда скриптовали ОО, был баг, что у нас звезда на Гарроше исчезала после запуска из-за оптимизации грида (ну области видимости, так скажем). Ну вот так весело было, звезду видно, она начинает ехать и пропадает, а потом рейд получает урон)) Или, например, из-за недостаточной проработки грида в мире Ишараджа не было видно кастов мобов на Террасе Вечной Весны.
Если собирать самые забавные баги на пиратках, то можно 1000+ насобирать легко.
Ещё помню (думаю как и многие другие) во время катаклизма на офе можно было взлететь на флае, например в златоземье, и нажать выход из мира, и пока тикал таймер 20 секунд, спешится, персонаж висел в воздухе с анимацией плаванья
Логаут вешает обездвиживание (root) по офу, а это убирает MOVEMENTFLAG_FALLING (флаг падения) в мувемент системе на клиенте. Грубый хак близов для некоторого предотвращения читерства с No Fall Damage
void __thiscall CMovementShared::TryRoot(CMovementData_C *this)
{
CMovementData_C *v1; // esi@1
int flags; // eax@1
v1 = this;
flags = this->moveFlags;
if ( !(flags & MOVEMENTFLAG_ROOT) )
{
if ( !(flags & MOVEMENTFLAG_JUMPING) || this->spline )
{
this->moveFlags = flags | MOVEMENTFLAG_ROOT;
CMovementShared::StopFalling(this);
v1->moveFlags &= 0xFF203F00;