12-20-2013, 10:22 PM
По офу 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;
скомпилировал попробовал протестировать - никакого эффекта не произошло, что же я не так делаю - подскажите пожалуйста.
если игрок вошел в 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;
скомпилировал попробовал протестировать - никакого эффекта не произошло, что же я не так делаю - подскажите пожалуйста.