Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Баг-репорты

Важная информация

Баг-репорты Описываем проблемы и ошибки работы ядра

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.01.2011, 22:21   #1
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию Восстановление Стража Скверны

До определенного момента пет чернокнижника Страж Скверны восстанавливался полностью, когда игрок слезал с маунта, т.е. призываем пета, лезем в бой, садимся на маунта, слезаем - пет полностью восстановлен.

С определенного момента пет восстанавливается только при нахождении в мире.
Если игрок сел на маунта и долгое время не слезал с него, то никакого восстановления пета нет.

Так и должно быть?
virusav вне форума   Ответить с цитированием
Старый 10.01.2011, 00:38   #2
evilstar
Супер-модератор
 
Аватар для evilstar
 
Регистрация: 07.04.2010
Адрес: Москва
Сообщений: 221
Сказал(а) спасибо: 101
Поблагодарили 27 раз(а) в 17 сообщениях
evilstar Скоро придёт к известностиevilstar Скоро придёт к известности
Отправить сообщение для evilstar с помощью ICQ
По умолчанию

Проверю на оффе

Добавил: Проверил, да пет восстанавливается полностью после слезания с маунта
__________________

Теперь и в Бете Warlords of Draenor & HotS !

Последний раз редактировалось evilstar; 10.01.2011 в 00:44.
evilstar вне форума   Ответить с цитированием
Старый 10.01.2011, 00:55   #3
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Значит, в каком-то коммите поломали, т.к. раньше работало.
virusav вне форума   Ответить с цитированием
Старый 10.01.2011, 11:13   #4
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от evilstar Посмотреть сообщение
Проверю на оффе

Добавил: Проверил, да пет восстанавливается полностью после слезания с маунта
Хм. Я себе даже специальный участок кода писал раньше чтобы так было. Потому как меня целая толпа народа уверяла со скринами что пока пет утемпсаммонен - он не восстанавливается. Еще на 3.3.5а.
rsa вне форума   Ответить с цитированием
Старый 10.01.2011, 16:54   #5
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Т.е. пет не должен полностью восстанавливаться после слезания с маунта?
virusav вне форума   Ответить с цитированием
Старый 10.01.2011, 17:07   #6
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Т.е. пет не должен полностью восстанавливаться после слезания с маунта?
Меня уверяли (и даже скрины были, только я их давно прибил) что во время нахождения на маунте на оффе 3.3.5 ни хп ни мана у петов не ресаются, остаются такими же как и при залезании. И я заимплементил это себе полгода назад. Поскольку своей информации с оффа у меня нет, пришлось поверить.
С учетом того, что на моем ядре петы - весьма мощная боевая единица (почти как на оффе), такое шустрое восстановление ХП демонам лока и хантам их весьма усиливало, особенно в пвп. Попробуй нахилять войду его 35к ХП (при всех глифах) или дождаться пока он сам отресается...
rsa вне форума   Ответить с цитированием
Старый 10.01.2011, 17:09   #7
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

На текущий момент проще застрелиться, чем дождаться восстановления пета.
Тем более, что иногда этого вообще не происходит, особенно в инстах.
virusav вне форума   Ответить с цитированием
Старый 10.01.2011, 17:16   #8
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Ну я уже с трудом представляю как там идет восстановление ХП на чистом ядре, слишком давно этот кусок кода ковыряю. У меня бес восстанавливает ману полностью 2 минуты, войд свое ХП (без магии) - 4-5 минут. Что соответствует замерам что для меня делали на 3.3.5. В бою тоже, хоть и с другой скоростью (функцией от скорости хозяина).
rsa вне форума   Ответить с цитированием
Старый 11.01.2011, 14:07   #9
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Еще раз спросил теперь уже у другого игрока с офа: когда игрок слезает с маунта, пет полностью восстанавливается.
Так сейчас, так было на 335а.
На какой-то версии проскакивал баг с неполным восстановлением, но его потом поправили.
virusav вне форума   Ответить с цитированием
Старый 11.01.2011, 22:25   #10
Йоха
Умный
 
Регистрация: 02.07.2010
Сообщений: 434
Сказал(а) спасибо: 27
Поблагодарили 73 раз(а) в 45 сообщениях
Йоха Скоро придёт к известности
По умолчанию

так и есть только что проверил, покоцаный страж скверны появляется со 100% хп если залезть и слезть с маунта
При чем заметил мелкий нюанс, после спешивания страж всегда появляется с очень малым количеством хп, а буквально через секунду у него резко становится 100%. При повышенном пинге этот промежуток времени становится явно различимым. Похоже пет самонится с минимумом хп, а потом приходит апдейт на восстановление полного здоровья.
Йоха вне форума   Ответить с цитированием
Старый 12.01.2011, 23:25   #11
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Сейчас:
Код:
void Unit::Unmount()
...
((Player*)this)->ResummonPetTemporaryUnSummonedIfAny();
...
NewPet->LoadPetFromDB(this, 0, m_temporaryUnsummonedPetNumber, true)
Т.е. при слезании с маунта происходит загрузка пета из базы, где прописаны оставшиеся данные.

Как должна исправляться проблема:
1. При посадке на маунта прописывать в базу полные параметры пета?
2. При слезании с маунта восстанавливать все параметры пета?

Лично мне ближе второй вариант.

Как правильнее исправить баг с невосстановлением петов при слезании с маунта?
virusav вне форума   Ответить с цитированием
Старый 12.01.2011, 23:39   #12
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Для теста попробовал так: в конец
Код:
void Player::ResummonPetTemporaryUnSummonedIfAny()
прописал
Код:
    if (NewPet)
    {
        NewPet->InitStatsForLevel(this->getLevel(), ((Unit *)this));
    }
В итоге при слезании с маунта пет полностью восстанавливается, как и должно быть.

Какие мысли по этому поводу?
virusav вне форума   Ответить с цитированием
Старый 13.01.2011, 00:48   #13
Estella
Новичок
 
Аватар для Estella
 
Регистрация: 06.03.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Estella На верном пути
По умолчанию

У хантов та же тема кстати.
При чем пет сначала появляется с родными статами, а потом добавляются статы хозяина. Если выйти из мира находясь на маунте, а потом войти и слезть с него, у пета даже появляется приписка "вышел из сети" и его какое-то время нет.
Estella вне форума   Ответить с цитированием
Старый 13.01.2011, 02:43   #14
ZirO
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Для теста попробовал так: в конец
Код:
void Player::ResummonPetTemporaryUnSummonedIfAny()
прописал
Код:
    if (NewPet)
    {
        NewPet->InitStatsForLevel(this->getLevel(), ((Unit *)this));
    }
В итоге при слезании с маунта пет полностью восстанавливается, как и должно быть.

Какие мысли по этому поводу?
Насчёт Хантов и Локов подтверждаю с оффа, всё правильно, когда слезаешь с маунта у пета ханта и саммонера лока хп восстанавливалось и восстанавливается до 100%. Баг был на оффе с петами, в какой-то из версий 3.3.х когда слезаешь с маунта у твоего пета или саммонера 50%, ещё раз садишься, слезаешь 25%. Но Близы пофиксили примерно через 2-3 недели его.

rca, на счёт твоего поста :
Цитата:
С учетом того, что на моем ядре петы - весьма мощная боевая единица (почти как на оффе), такое шустрое восстановление ХП демонам лока и хантам их весьма усиливало, особенно в пвп. Попробуй нахилять войду его 35к ХП (при всех глифах) или дождаться пока он сам отресается...
Смотря в каком спеке лок или хант, если демон (Лок) или БМ (хант)... то петы дамажут так, что фиг ты его просадишь по хп, быстрее сам ляжешь если не убьёшь самих лока или ханта, там петов вообще не реал убить. Если конечно игрок мешать не будет, то убьёшь, но а так быстрее сам ляжешь. ХП во время боя регенится не быстро, а как только садишься на ездового, то у пета ХП сразу 100%.
  Ответить с цитированием
Старый 13.01.2011, 07:08   #15
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Для теста попробовал так: в конец
Код:
void Player::ResummonPetTemporaryUnSummonedIfAny()
прописал
Код:
    if (NewPet)
    {
        NewPet->InitStatsForLevel(this->getLevel(), ((Unit *)this));
    }
В итоге при слезании с маунта пет полностью восстанавливается, как и должно быть.

Какие мысли по этому поводу?
вообще-то это в LoadPetFromDB должно быть... Тем более после реинита статов надо еще каки-то операции сделать как минимум.
rsa вне форума   Ответить с цитированием
Старый 13.01.2011, 13:14   #16
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Цитата:
Сообщение от rsa Посмотреть сообщение
вообще-то это в LoadPetFromDB должно быть... Тем более после реинита статов надо еще каки-то операции сделать как минимум.
Я выложил пример для теста и спросил, как правильно надо исправить баг.

Операций может быть больше, т.к., возможно, еще надо учитывать бафы на пете и т.д.

В конечном итоге нужен патч для исправления бага, а то сейчас от пета толку мало, т.к. в первом же бою мана закончилась, а дальше агрить он не особо хочет.
virusav вне форума   Ответить с цитированием
Старый 14.01.2011, 07:17   #17
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

я исправил так:
https://github.com/rsa/mangos/commit...d9834b1669c052
насколько я помню, этот участок кода в чистом ядре весьма похож.
PS сразу получил жалобы от роговладельцев, мол ханты с локами их теперь ушибают как умеют.
rsa вне форума   Ответить с цитированием
Старый 14.01.2011, 10:52   #18
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

В чистом ядре в Pet::LoadPetFromDB есть блок:
Код:
    if (getPetType() == SUMMON_PET && !current)             //all (?) summon pets come with full health when called, but not when they are current
    {
        SetHealth(GetMaxHealth());
        SetPower(POWER_MANA, GetMaxPower(POWER_MANA));
    }
    else
    {
        SetHealth(savedhealth > GetMaxHealth() ? GetMaxHealth() : savedhealth);
        SetPower(POWER_MANA, savedmana > GetMaxPower(POWER_MANA) ? GetMaxPower(POWER_MANA) : savedmana);
    }
Как я понимаю, надо просто изменить или убрать условие.

Вчера для теста прописал в ядре:
Код:
        SetHealth(GetMaxHealth());
        SetPower(POWER_MANA, GetMaxPower(POWER_MANA));
Совпало, хотя кусок кода выше пропустил.
virusav вне форума   Ответить с цитированием
Старый 14.01.2011, 10:55   #19
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Или можно просто в Player::ResummonPetTemporaryUnSummonedIfAny() передавать
в Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool current ) в параметре current не true, а false.
virusav вне форума   Ответить с цитированием
Старый 14.01.2011, 11:47   #20
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Или можно просто в Player::ResummonPetTemporaryUnSummonedIfAny() передавать
в Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool current ) в параметре current не true, а false.
а вот этого нельзя, возникнут проблемы. верхнее решение - то же самое что я себе сделал.
rsa вне форума   Ответить с цитированием
Старый 14.01.2011, 12:15   #21
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Код
Код:
    if (getPetType() == SUMMON_PET && !current)             //all (?) summon pets come with full health when called, but not when they are current
    {
        SetHealth(GetMaxHealth());
        SetPower(POWER_MANA, GetMaxPower(POWER_MANA));
    }
    else
    {
        SetHealth(savedhealth > GetMaxHealth() ? GetMaxHealth() : savedhealth);
        SetPower(POWER_MANA, savedmana > GetMaxPower(POWER_MANA) ? GetMaxPower(POWER_MANA) : savedmana);
    }
можно заменить на
Код:
    if (getPetType() == SUMMON_PET)             //all (?) summon pets come with full health when called, but not when they are current
    {
        SetHealth(GetMaxHealth());
        SetPower(POWER_MANA, GetMaxPower(POWER_MANA));
    }
    else
    {
        SetHealth(savedhealth > GetMaxHealth() ? GetMaxHealth() : savedhealth);
        SetPower(POWER_MANA, savedmana > GetMaxPower(POWER_MANA) ? GetMaxPower(POWER_MANA) : savedmana);
    }
Насколько это правильно?

И есть ли случаи, когда из базы загружается пет с неполным количеством жизней и маны?
Если нет, то условие вообще не нужно.
virusav вне форума   Ответить с цитированием
Старый 14.01.2011, 12:37   #22
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Насколько это правильно?

И есть ли случаи, когда из базы загружается пет с неполным количеством жизней и маны?
Если нет, то условие вообще не нужно.
Это правильно, но else в текущей реализации работать не будет никогда. Все прочие типы грузятся из базы только в моей реализации петов.

Единственный случай загрузки пета с неполной маной/ХП был как раз предусмотрен для временного ансаммона (залезание/слезание с маунта/вехикла), сейчас в соответствии с Вашими замечаниями этот режим ликвидирован. Еще есть case телепорта игрока с петом, но его в любом случае надо изучать и прописывать отдельно.
rsa вне форума   Ответить с цитированием
Старый 15.01.2011, 20:10   #23
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Если сделать так:
Код:
if (getPetType() == SUMMON_PET)             //all (?) summon pets come with full health when called
то у пета на примере моего перса 7303 жизней из 7313 при спешивании игрока.
Каждый раз разница в 10 единиц, та же картина с маной, т.е. где-то еще идет пересчет параметров пета.
virusav вне форума   Ответить с цитированием
Старый 15.01.2011, 20:23   #24
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Если сделать так:
Код:
if (getPetType() == SUMMON_PET)             //all (?) summon pets come with full health when called
то у пета на примере моего перса 7303 жизней из 7313 при спешивании игрока.
Каждый раз разница в 10 единиц, та же картина с маной, т.е. где-то еще идет пересчет параметров пета.
в чистом ядре на пета наворочено некоторое количество весьма неприятных хаков, если я правильно помню то и на ХП с маной тоже - в статсистеме зашиты. я у себя их все убрал (правда навесил других но менее кривых, надеюсь). в результате именно этого эффекта не имею точно.

PS все еще продолжается отображение резистов пета всегда по 1 каждого типа на чистом ядре? давненько уже не пробовал запустить...
rsa вне форума   Ответить с цитированием
Старый 15.01.2011, 20:24   #25
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Цитата:
Сообщение от Йоха Посмотреть сообщение
так и есть только что проверил, покоцаный страж скверны появляется со 100% хп если залезть и слезть с маунта
При чем заметил мелкий нюанс, после спешивания страж всегда появляется с очень малым количеством хп, а буквально через секунду у него резко становится 100%.
Если оставить тот блок при загрузке пета нетронутым и добавить
Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 27a83d8..59431a1 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -21900,6 +21900,11 @@ void Player::ResummonPetTemporaryUnSummonedIfAny()
     Pet* NewPet = new Pet;
     if(!NewPet->LoadPetFromDB(this, 0, m_temporaryUnsummonedPetNumber, true))
         delete NewPet;
+    else if (NewPet->getPetType() == SUMMON_PET)             //all (?) summon pets come with full health when called
+    {
+        NewPet->SetHealth(NewPet->GetMaxHealth());
+        NewPet->SetPower(POWER_MANA, NewPet->GetMaxPower(POWER_MANA));
+    }
 
     m_temporaryUnsummonedPetNumber = 0;
 }
то получим загрузку пета с предыдущими параметрами, после чего произойдет полное восстановление, как и написал Йоха.
virusav вне форума   Ответить с цитированием
Старый 15.01.2011, 21:01   #26
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Чтобы также работало для петов охотника:
Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 27a83d8..5700541 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -21900,6 +21900,11 @@ void Player::ResummonPetTemporaryUnSummonedIfAny()
     Pet* NewPet = new Pet;
     if(!NewPet->LoadPetFromDB(this, 0, m_temporaryUnsummonedPetNumber, true))
         delete NewPet;
+    else
+    {
+        NewPet->SetHealth(NewPet->GetMaxHealth());
+        NewPet->SetPower(NewPet->getPowerType(), NewPet->GetMaxPower(NewPet->getPowerType()));
+    }
 
     m_temporaryUnsummonedPetNumber = 0;
 }
Теперь такой вопрос: что будет на офе, если послать пета в бой, самому в него не вступать и через какое-то время сделать маунт/дисмаунт?
Будет ли пет чернокнижника или охотника полностью восстановлен или нет?
virusav вне форума   Ответить с цитированием
Старый 15.01.2011, 23:00   #27
ZirO
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от virusav Посмотреть сообщение
Чтобы также работало для петов охотника:

Теперь такой вопрос: что будет на офе, если послать пета в бой, самому в него не вступать и через какое-то время сделать маунт/дисмаунт?
Будет ли пет чернокнижника или охотника полностью восстановлен или нет?
на оффе вот как.
1. Охотник (Лок) посылает своего пета в атаку.
2. Пет дерётся, автоматом игрок тоже вступает в режим боя, даже не нанеся ни одного удара (тоесть сесть на маунта не сможет, пока не выйдет из режима боя)
3. Если моб убивает пета, то автоматом агро перекидывается на игрока (отстояться когда моб убил пета не получится).
4. Если это хант, то можно использовать спелл "Притвориться мёртвым" чтобы заивейдить моба (снять агро в 0), тогда моб убежит и восстановит своё здоровье в 100%. (есть исключения когда спелл у ханта не работает, это с гвардами. у них агро не сбрасывается и они просто тебя убивают, при атаке городов и прочей местности противоположной фракции)

Последний раз редактировалось ZirO; 15.01.2011 в 23:06.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пушка Скверны Дверей Смерти[39219] virusav Баг-репорты 6 06.11.2010 19:11
Fel Synergy / Узы Скверны virusav Баг-репорты 2 26.08.2010 21:01


Текущее время: 16:39. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot