Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Моды (http://mangos.ytdb.ru/forumdisplay.php?f=8)
-   -   [dev/pets rewrite] (http://mangos.ytdb.ru/showthread.php?t=2338)

rsa 03.09.2010 17:25

[dev/pets rewrite]
 
Завелся тут с переписыванием текущего кода петов, основа от laise но уже почти полностью переписал. Заодно и статы петов тоже. Возникло несколько вопросов:
1) сколько панелей действия появляется на оффе если вызывается 2 и больше петов? Я пока сделал одну на всех, но могу и по отдельности.
2) как показываются на оффе статы петов? целиком или база + отдельно добавки?
3) нет ли у кого сборника модификаций, получаемых конкретным петом от статов хозяина? У меня сейчас штук 6 таких, но их явно больше.
4) добавляется ли каким-нибудь петам спеллповер?

zergtmn 03.09.2010 18:10

1) 1
3, 4) http://www.wowhead.com/search?q=pet+scaling#spells

rsa 03.09.2010 18:22

Цитата:

Сообщение от zergtmn (Сообщение 13542)

1.спс.
2. это у меня есть (разобраться бы еще при каких условиях их пихать). Я имел ввиду уникальных петов типа волков шамана, древней, горгульи и прочих.

zergtmn 03.09.2010 18:33

Посмотри какие ауры накладываются этими спеллами и на какие статы они действуют. Это все нужно реализовать в идеале. Про скалирование есть инфа на wowwiki.com. Тут подробно написано про вурдалака.

Mr.Grom 03.09.2010 18:55

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

virusav 03.09.2010 18:58

И надо не забыть, что петы на офе атакуют, если атакуют их, а не владельца.
На мангосе на текущий момент петы без хозяев ничего не делают, а с хозяевами просто подбегают и также не атакуют, а хозяин стоит на месте и не агрится.

Йоха 03.09.2010 20:34

в случае с охотником, пет ведет себя так:
1) если он находится в режиме агрессивность: нападает сам на все что можно атаковать в радиусе выстрела, атакует цель которую начал атаковать хозяин.

2) в режиме защита: нападает если атакован хозяин или он сам, так же атакует цель которую начал атаковать хозяин, при смене цели, пет продолжает бить свою первую цель.

3) в режиме бездействие: вообще ничего не делает ни при каких условиях, ходит просто следом. Атакует только по команде.

rsa 04.09.2010 17:02

Господа, вы сильно торопитесь, я про petAI ничего не говорил, мне бы пока со спауном и статами петов разобраться ;) Там код такой замшелый, что просто пц... Одних явных хаков (это из чистого ядра) пришлось убрать штук 5, а из патчей что сверху - вообще не помню сколько ;))

Цитата:

Сообщение от Mr.Grom (Сообщение 13546)
Если вызывается вурдалак и горгулья, то панль от вурдалака, горгулья не имеет панели даже если вызывается одна..

сорри, горгулья гуардиан... совсем забыл, я ж на нее скрипт писал ;)
Дописал 06.09.2010, 20:12:
Нужны люди, которые еще помнят историю кода. Вопрос в следующем - чем отличаются (принципиально! а не источником каста) PetAuras и PassiveSpells которые сидят у пета в базе.
Проблема в том что уж совсем корежить код неохота, для PetAuras механизм отлично работает (и например с ним вурдалак уже получает все положенные бонусы итд итп), но у демонов лока и петов ханта абсолютно аналогичные по механике спеллы прописаны в pet_spells базы, и с ними система перезаписи аур не пашет.
В общем есть ли какой-либо пока не понятый мной смысл каста пассивных спеллов петов _не_ через PetAuras? Или это просто окаменевшие мммм... останки первоначальных кусков кода?

YuruY 06.09.2010 19:15

Эт не "PetSpellDataId"?

zergtmn 06.09.2010 19:52

spell_pet_auras похоже связывают ауры хозяина с аурами пета.
Я думаю, для этого случая больше подходит creature_template_addon.auras.

rsa 06.09.2010 20:21

Цитата:

Сообщение от zergtmn (Сообщение 13681)
spell_pet_auras похоже связывают ауры хозяина с аурами пета.
Я думаю, для этого случая больше подходит creature_template_addon.auras.

Я не про таблицы. Я имел ввиду метод каста:
Код:

  // pet auras
    if (PetAura const* petSpell = sSpellMgr.GetPetAura(GetId(), m_effIndex))
    {
        if (apply)
            target->AddPetAura(petSpell);
        else
            target->RemovePetAura(petSpell);
        return;
    }

просто добавляем в список, потом пет сам откастит
или (пассивные спеллы у пета)
Код:

   
if (IsPassiveSpell(spellInfo))
    {
        CastSpell(this, spell_id, true);
    }
    else
        m_charmInfo->AddSpellToActionBar(spell_id, ActiveStates(newspell.active));

я хочу второй способ привести к первому, для универсальности. И думаю, в чем же смысл их разделения изначально - спеллы абсолютно аналогичные по механике (см. пост 2 - половина идет 1м способом, половина 2м.)

wk23 07.09.2010 05:37

Цитата:

Сообщение от virusav (Сообщение 13548)
И надо не забыть, что петы на офе атакуют, если атакуют их, а не владельца.
На мангосе на текущий момент петы без хозяев ничего не делают, а с хозяевами просто подбегают и также не атакуют, а хозяин стоит на месте и не агрится.

если пет не в пассивном режиме(по крайней мере для охотника) на мангосе на текущий момент он атакует того, кто его атакует, хозяин в бой не входит

Цитата:

Сообщение от rsa (Сообщение 13540)
4) добавляется ли каким-нибудь петам спеллповер?

маг:
http://www.wowwiki.com/Summon_Water_Elemental
варлок:
http://www.wowwiki.com/Minion
охотник:
http://www.wowwiki.com/Hunter_pet
шаман:
http://www.wowwiki.com/Fire_Elemental_Totem
http://www.wowwiki.com/Earth_Elemental_Totem
прист:
http://www.wowwiki.com/Shadowfiend
дк:
http://www.wowwiki.com/Risen_Ghoul
друид:
http://www.wowwiki.com/Force_of_Nature

по шаману и друиду на воввики вскользь упоминается что статы от хозяина зависят, цифр нет

Цитата:

Сообщение от rsa (Сообщение 13682)
Я не про таблицы. Я имел ввиду метод каста:
Код:


Код:


я хочу второй способ привести к первому, для универсальности. И думаю, в чем же смысл их разделения изначально - спеллы абсолютно аналогичные по механике (см. пост 2 - половина идет 1м способом, половина 2м.)

второй случай спеллы идут из книги спеллов пета на самого пета, первый на хозяина - членов группы(рейда)

rsa 07.09.2010 06:40

Цитата:

Сообщение от wk23 (Сообщение 13687)
второй случай спеллы идут из книги спеллов пета на самого пета, первый на хозяина - членов группы(рейда)

Вот уж хрен там. В обоих случаях идет после обработки this->CastSpell(this от имени пета. Просто в 1м случае мы держим спец. список для таких спеллов, а во втором кастим прямо при загрузке.

rsa 07.09.2010 12:27

Еще вопросы возникли.
1.Бонус к статам пета берется от полных статов (с учетом бонусов вещей и спеллов) хозяина или только от базовых статов?
2. Я раздал петам штатными спеллами все дополнительные бонусы типа меткости и ресайленса. А будут ли они на них работать? По коду нифига понять не могу...

KiriX 07.09.2010 12:30

Цитата:

Сообщение от rsa (Сообщение 13697)
Еще вопросы возникли.
1.Бонус к статам пета берется от полных статов (с учетом бонусов вещей и спеллов) хозяина или только от базовых статов?
2. Я раздал петам штатными спеллами все дополнительные бонусы типа меткости и ресайленса. А будут ли они на них работать? По коду нифига понять не могу...

1) Насколько помню своего лока на оффе - статы пэтов прямо зависят от статов хозяина с учётом бонусов вещей
2) Хм... Надо проверить работает ли на простых мобах. Я сомневаюсь =)

`win 07.09.2010 14:08

если скажете что нужно поделать - могу помочь скриншотами варлока

rsa 07.09.2010 14:28

Цитата:

Сообщение от KiriX (Сообщение 13698)
1) Насколько помню своего лока на оффе - статы пэтов прямо зависят от статов хозяина с учётом бонусов вещей
2) Хм... Надо проверить работает ли на простых мобах. Я сомневаюсь =)

1. Сделал как говоришь. Интересно что теперь пвпшники будут делать с хантами и локами... Да и ДК анхоли теперь имба.
2. Сделал все кроме экспертизы (ну нет ее у петов в мангосе). По идее должно даже работать. Проверим...
хе, еще нет спеллповера и спеллкрита... Придется сделать отдельно :(

Дополнительный вопрос. При переодвании шмота на оффе, с какой точки начинает расти ХП пета? Или в любом случае сразу на максимум?

KiriX 07.09.2010 16:15

Цитата:

Сообщение от rsa (Сообщение 13703)
Дополнительный вопрос. При переодвании шмота на оффе, с какой точки начинает расти ХП пета? Или в любом случае сразу на максимум?

Точно не помню, но, кажется, если ХП полное - то сразу на максимум. Т.е. как бы процент используется от текущего...

`win 07.09.2010 17:09

посмотрите скриншоты.
В самом начале перс голый и резко одевает шмот.
Потом несклько скринов для показа регена
Потом скрин статов перса/пета в раздетом/одетом состояниях.
http://filebeam.com/38a21f81d7d44575b99969792b84b60c

add:
насчёт вопроса 1 - всегда показывается только 1 панелька. Если вызывается второй пет - предыдущий исчезает. Не исчезают только мышки, птички, котятки... думаю вы поняли.... но у них нет панели.

rsa 07.09.2010 18:22

Вопрос про панель петов был другой. Есть петы что вызываются по 2 (шаман) и по 3 (друид) а также (если верить ДБЦ) по 130 сразу. ;) Но у них тоже 1 панель на всех, а это значит что я все верно сделал.
И с пополнением ХП пета тоже, хотя сделал наугад. Спасибо за подтверждение ;)

LordJZ 07.09.2010 18:42

У шаманов петы разного типа, один управляемый, другой по возможности повторяет его действия. У друида вообще петы не имеют абилок, поэтому управление идет на всех сразу (Attack/Follow/Stay).

rsa 07.09.2010 20:10

Ну так собственно и сделано. В общем кто с меня форкался могут приступать к альфатестированию, как немного баги повышибаем - буду пробовать выложить тут отдельным патчем ;)
PS На мой взгляд петы стали реальными боевыми единицами. Попробуй проигнорь вурдалака, или волков шамана если у них 4-5к атаки и весьма вредные спеллы... Тот же войд у лока с 20к брони и весьма немаленьким ХП тоже огого.

Lightunit 08.09.2010 10:53

Еще бы исправить жизненно важные спелы классов, что бы было чем справляться с такого рода петами ;)

rsa 09.09.2010 07:10

Для завершения работы необходимы цифры, которых нет на воввики.
1. Петы лока получают + (конкретная цифра) к манарегену. Сколько?
2. Вурдалак получает процентный бонус к АП. Сколько? Цифры на воввики относятся только к спеллам...
Все это не от балды а из конкретных спеллов используемых для скалинга.

Еще нужны цифры ХП и дамага волков шамана, древней друида и любых экзотических петов ханта (по этим - и все остальные цифры) с полностью раздетого чара без аур и спеллов, желательно по манекену того же уровня что и пет (или по конкретному мобу того же уровня, чтобы я его армор вычел). Желательно с 80 уровня, остальные отскалим.


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

ru-mangos.ru - Русское сообщество MaNGOS