Показать сообщение отдельно
Непрочитано 20.12.2013, 22:22   #1
Изгнанные

Автор темы (Топик Стартер) Оверлорд помогите насторить Hide - офлайк

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

Вот как я попытался реализовать этот эффект на сборке оверов:

1.
player.java

добавляем булевый метод возвращающий положение "снятие произошло"

public boolean isunEquipWeaponTrue()
{
return _unEquipWeaponTrue;
}

изменяем войд метод unEquipWeapon производящий собственно снятие оружия с корректировкой под булевый метод указанный выше

public void unEquipWeapon(boolean unEquipWeaponTrue)
{
if(unEquipWeaponTrue)
{
ItemInstance wpn = getSecondaryWeaponInstance();
if(wpn != null)
{
sendDisarmMessage(wpn);
getInventory().unEquipItem(wpn);
}

wpn = getActiveWeaponInstance();
if(wpn != null)
{
sendDisarmMessage(wpn);
getInventory().unEquipItem(wpn);
}

abortAttack(true, true);
abortCast(true, true);
}
_unEquipWeaponTrue = true;
}

2. в эффекте EffectInvisible (определяющем работу хайда)

я добавил строку в метод checkCondition():

if(player.isunEquipWeaponTrue() == true && player.getChargedSoulShot() == true)
return false;


скомпилировал попробовал протестировать - никакого эффекта не произошло, что же я не так делаю - подскажите пожалуйста.
Munhgauzen вне форума Ответить с цитированием