Показать сообщение отдельно
Старый 31.05.2014, 23:49   #1
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию GAMEOBJECT_TYPE_TRAP = 6 (активация)

1. Дано:
ГО1: entry=29784, type=8.
ГО2: entry=31442, type=6.
При приближении к ГО2 на игрока должен происходить каст 7353.

На чистом ядре каста 7353 не происходит.
Точнее эффекта от каста нет, в логе пусто, хотя телодвижения в ядре делаются.

В текущем варианте не работает (чистое ядро):
Код:
void GameObject::Use(Unit* user)
...
            // FIXME: when GO casting will be implemented trap must cast spell to target
            if (goInfo->trap.spellId)
				caster->CastSpell(user, goInfo->trap.spellId, true, NULL, NULL, GetObjectGuid());
Если заменить каст на:
Код:
caster->CastSpell(user, goInfo->trap.spellId, true, NULL, NULL, user->GetObjectGuid());
Тут возникают вопросы: зачем передается гуид в последнем параметре, если каст всегда идет от имени юнита, и нужны ли тут последние 3 параметра вообще?

2. Меняю кусок выше, чтобы каст 7353 засчитывался.
Спелл 818 должен спавнить 2 го:
ГО1: entry=29784, type=8.
ГО2: entry=31442, type=6.

На чистом ядре в мире появляются оба го, но каста 7353 не происходит.

Если в void GameObject::SummonLinkedTrapIfAny() после GetMap()->Add(linkedGO); добавить строку linkedGO->Use(GetOwner()); (проверку на существование владельца не делал, т.к. это тест), то каст спелла 818 отрабатывает, как полагается.

Вопросы: правильно использовать ловушку при добавлении в мир или го, который эту ловушку спавнит?

3. После каста 818 отменяем баф, отходим от ГО2 и подходим к нему снова, но эффекта 0.

Вопросы: ГО2 должен активироваться всегда, как только юнит попадает в радиус действия, или это должен делать ГО1 (в данном случае спеллфокус)?
Если ГО1, то в данном случае как другие игроки получат баф, если игрока-кастера с навыком кулинарии нет рядом?
virusav вне форума   Ответить с цитированием