Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   MaNGOSZero (1.12.X) (http://mangos.ytdb.ru/forumdisplay.php?f=48)
-   -   Вопросы от новичка (http://mangos.ytdb.ru/showthread.php?t=921)

Archon64 03.05.2010 11:46

Вопросы от новичка
 
Здравствуйте! Ответьте пожалуйста на пару вопросов :)
1) Существует какая нибудь wiki/документация по мангосу? Я про описание классов и методов.
2) Я поставил сервер, и начал с простого - исправлять неработающие таланты и спеллы. Сразу в голову пришёл не работающий Improved Scorch. На исправление не ушло много времени.
Spell . cpp
Spell : : DoSpellHitOnUnit
Код:

// Improved Scorch
// 2948 - Talent ID
if(m_spellInfo->Id == 2948)
{
    int scorchChance = 0;

    if(realCaster->HasAura(11095)) scorchChance = 33;// If 1rank
    else if(realCaster->HasAura(12872)) scorchChance = 66; // 2
    else if(realCaster->HasAura(12873)) scorchChance = 100; // 3

    if(roll_chance_i(scorchChance)) realCaster->CastSpell(unit, 22959, true); // Cast effect to target. 22959 - Effect ID
}

Вообще, правильно ли это? Или есть какой то другой эвент который отвечает на наложение аур при попадании по цели?
3) Я взял уже работающий талант, Winter's Chill. Искал его в коде мангоса несколько часов, но нигде не нашёл. Где находится его работоспособность?

DeusModus 03.05.2010 12:10

Цитата:

Сообщение от Archon64 (Сообщение 5478)
Существует какая нибудь wiki/документация по мангосу? Я про описание классов и методов?

Если только Doxygen.
Чтобы поддерживать Wiki необходимо минимум 5-6 человек, своевременно обновляющие документацию с каждым коммитом. Пока таких людей не нашлось.

Archon64 03.05.2010 14:01

Новый вопрос :)
n) Как получить объект цели какого нибудь юнита? Вот мне нужна цель игрока, я могу получить её GUID путём char->getTargetGUID(), а мне нужен объект... Как?:)

Hantet 03.05.2010 14:05

Код:

Player *nPlayer = objmgr.GetPlayer(char->getTargetGUID());
nPlayer->killPlayer();

Это самый простой вариант.

Vladimir 03.05.2010 18:59

Цитата:

Сообщение от Archon64 (Сообщение 5478)
На исправление не ушло много времени.

Только если с подходом: "работает - сойдет и так".
1) явно проверяете номера спелов рангов - а значит чуть что-то поменяется в следующей версии, и весь этот код можно будет выкинуть.
2) явно прописываете шанс, когда сам спел уже эти шансы содержит.
3) талан скорее всего вообще кода не требует, а просто данные в spell_proc_event нужны.
Цитата:

3) Я взял уже работающий талант, Winter's Chill. Искал его в коде мангоса несколько часов, но нигде не нашёл. Где находится его работоспособность?
Что, кстати, и сделано для данного спела - поэтому и в коде найти не можете.

Archon64 03.05.2010 21:49

Цитата:

Сообщение от Vladimir (Сообщение 5496)
Только если с подходом: "работает - сойдет и так".
3) талан скорее всего вообще кода не требует, а просто данные в spell_proc_event нужны.
Что, кстати, и сделано для данного спела - поэтому и в коде найти не можете.

А можно про это поподробнее?

Sid 04.05.2010 13:25

Spell.dbc - на вики есть вся инфа по полям данного дбс, в нем же и проки для талантов, только в базе они указываются в других битах.


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

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