CreatureController.java
public void onDie(Creature lastAttacker) {
this.getOwner().setCasting(null);
this.getOwner().getEffectController().removeAllEff ects();
this.getOwner().getMoveController().stop();
this.getOwner().setState(CreatureState.DEAD);
}
если это
this.getOwner().getEffectController().removeAllEff ects(); убрать - не будут сниматься баффы после смерти.
можно и отдельный бафф
EffectController.java
public void removeAllEffects() {
for (Effect effect : abnormalEffectMap.values()) {
if(effect.getSkillId() != идскилла)
effect.endEffect();
}
abnormalEffectMap.clear();
for (Effect effect : noshowEffects.values()) {
effect.endEffect();
}
noshowEffects.clear();
}
добавляешь в метод условие
if(effect.getSkillId() != идскилла) и вуаля
тут зависит с какой коллекции эффект, если неактивный то условие ниже, в переборе noshowEffects
з.ы
Цитата:
Сообщение от flashman
Добавляй обход нужного эффекта в методе onDie суперкласса PlayerController .
|
супер-пупер?
суперкласс - это класс в котором инкапсулированна логика производных классов,
коих у PlayerController нет, он сам является производным от абстрактного CreatureController(который кстати и является суперклассом для PlayerController)