История изменений
Исправление Midael, (текущая версия) :
По-хорошему у спелла могут быть самые различные эффекты, накладывающиеся как на кастующего, так и на цель. Трата ресурсов - тоже эффект.
Т.е. объект типа Spell должен содержать например List<Effect> CasterEffects и TargetEffects, а у персонажа, который наследуется от Target или реализует Targettable (целью ведь может быть не только персонаж, но например объекты окружения), должен быть метод applyEffects(List<Effect> effects), который вызывается на себя при касте: applyEffects(spell.CasterEffects), и на цели, при попадании, и учитывает имеющиеся статус эффекты (баффы, дебаффы итп).
Но это так, оффтопик. Если начинать обобщать, когда это не нужно, то можно и с ума сойти :)
Исправление Midael, :
По-хорошему у спелла могут быть самые различные эффекты, накладывающиеся как на кастующего, так и на цель. Трата ресурсов - тоже эффект.
Т.е. объект типа Spell должен содержать например List<Effect> CasterEffects и TargetEffects, а у персонажа, который наследуется от Target или реализует Targettable (целью ведь может быть не только персонаж, но например объекты окружения), должен быть метод applyEffects(List<Effect> effects), который вызывается на себя при касте applyEffects(spell.CasterEffects) и на цели при попадании и учитывает имеющиеся статус эффекты (баффы, дебаффы итп).
Но это так, оффтопик. Если начинать обобщать, когда это не нужно, то можно и с ума сойти :)
Исправление Midael, :
По-хорошему у спелла могут быть самые различные эффекты, накладывающиеся как на кастующего, так и на цель. Трата ресурсов - тоже эффект.
Т.е. объект типа Spell должен содержать например List<Effect> CasterEffects и TargetEffects, а у персонажа, который наследуется от Target или реализует Targettable(целью ведь может быть не только персонаж, но например объекты окружения), долнен быть метод applyEffects(List<Effect> effects), который вызывается на себя при касте applyEffects(spell.CasterEffects) и на цели при попадании и учитывает имеющиеся статус эффекты (баффы, дебаффы итп).
Но это так, оффтопик. Если начинать обобщать, когда это не нужно, то можно и с ума сойти :)
Исправление Midael, :
По-хорошему у спелла могут быть самые различные эффекты, накладывающиеся как на кастующего, так и на цель. Трата ресурсов - тоже эффект.
Т.е. объект типа Spell должен содержать например List<Effect> CasterEffects и TargetEffects, а у персонажа, который наследуется от Target (целью ведь может быть не только персонаж, но например объекты окружения), долнен быть метод applyEffects(List<Effect> effects), который вызывается на себя при касте applyEffects(spell.CasterEffects) и на цели при попадании и учитывает имеющиеся статус эффекты (баффы, дебаффы итп).
Но это так, оффтопик. Если начинать обобщать, когда это не нужно, то можно и с ума сойти :)
Исходная версия Midael, :
По-хорошему у спелла могут быть самые различные эффекты, накладывающиеся как на кастующего, так и на цель. Трата ресурсов - тоже эффект.
Т.е. объект типа Spell должен содержать например List<Effect> CasterEffects и TargetEffects, а у персонажа, который наследуется от Target (целью ведь может быть не только персонаж, но например объекты окружения), долнен быть метод applyEffects(List<Effect> effects), который вызывается на себя при касте applyEffects(spell.CasterEffects) и на цели при попадании.
Но это так, оффтопик. Если начинать обобщать, когда это не нужно, то можно и с ума сойти :)