AlexSpl писал(а):
Окей. Только на одного героя можно кастовать несколько раз. -300 MP слишком мало, оно бесполезно будет. Иначе придется выбирать второй вариант, там только раз в день можно кастовать. С зоной действия тоже нужно подумать. Если делать как у DD, то как бы герой, который может наложить этот закл с высокой долей вероятности сможет и отбится от этого вражеского героя. То есть получается, чтобы его наложить, нужно чтобы и наш герой и вражеский попадали в одну область видимости. Толку тогда от него мало. А делать его по всей карте будет слишком жирно, имба получится.
Короче, на одного вражеского героя можно кастовать столько, сколько позволяет мана и развитие школы к которой относится данный закл, но в любом случае не более 4. То есть больше чем на 1200 MP ход вражеского героя снизить нельзя. А вот зону действия так уж и быть оставляем как у DD. Так будет норм.
AlexSpl писал(а):
Со стаутсом поищите. Если ничего лучше не найдете, тогда можно сделать как с Disguise соответствующее поле битовым.
А отображать тот факт, что заклинание висит на герое можно вот так (дописывать в окошке по ПКМ возле имени в скобках кол-во MP, которое потеряет вражексий герой, как только получит право хода):
AlexSpl писал(а):
Других с готовыми картинками у нас пока нет. Ну разве что Mobility, которое вам не понравилось. Получается только два варианта: Mobility или Immobility. На ваш выбор. Да и не нужно при первых же трудностях все бросать и искать что-нибудь попроще. Вам же нравится решать сложные и интересные задачи. Вот как раз одна из них.
*******************************************************************************************************************************
Я придумал, как сбалансировать Вампиризм. За основу возьмем те проценты, которые я предложил 50%/75%/100% для Basic/Advanced/Expert соответственно. Но при этом введем некий коэффициент k, который в конечном итоге будет влиять на наш основной процент в меньшую или большую сторону.
Урон Лордов вампиров составляет 5-8 ед., а их навык Атаки - 10 ед. Базовый прирост составляет 4 ед.
Таким образом 6,5 у нас будет усредненный урон Лорда вампира. Тогда базовый урон всего отряда в кол-ве базового прироста будет равным 6,5 * 4 = 26 ед.
Обзначим за x усредненный урон нашего целевого отряда под Вампиризмом. То есть x = (мин_урон + макс_урон) / 2.
За y возьмем базовый прирост существ этого отряда.
Таким образом k = 26 / x * y;
В итоге у нас будет возрождаться не 50%/75%/100% от нанесенного урона, а 50% * k / 75% * k / 100% * k.
Но в данном случае мы не учитываем основной модификатор урона, который зависит от параметра Атаки атакующего отряда и Защиты обороняющегося.
a - навык атаки существа из нашего отряда под Вампиризмом.
b - навык атаки нашего героя.
c - навык защиты существа из обороняющегося вражеского отряда.
d - навык защиты вражеского героя.
---
Каждый балл Атаки нападающего отряда, превышающий Защиту цели, повышает итоговый урон на 5% от базового урона.
Каждый балл Защиты цели, превышающий Атаку нападающего отряда, снижает итоговый урон на 2,5% от базового урона.
---
1) Если (10 + b) > (c + d) && (a + b) > (c + d), мы получим:
k = 26 * ( 1 + 0,05 * (10 + b - c - d) ) / x * y * ( 1 + 0,05 * (a + b - c - d) );
---
2) Если (10 + b) > (c + d) && (a + b) < (c + d), мы получим:
k = 26 * ( 1 + 0,05 * (10 + b - c - d) ) / x * y * ( 1 + 0,025 * (c + d - b - a) );
---
3) Если (10 + b) > (c + d) && (a + b) = (c + d), мы получим:
k = 26 * ( 1 + 0,05 * (10 + b - c - d) ) / x * y;
---
4) Если (10 + b) < (c + d) && (a + b) > (c + d), то формула будет следующей:
k = 26 * ( 1 + 0,025 * (c + d - b - 10) ) / x * y * ( 1 + 0,05 * (a + b - c - d) );
---
5) Если (10 + b) < (c + d) && (a + b) < (c + d), то формула будет следующей:
k = 26 * ( 1 + 0,025 * (c + d - b - 10) ) / x * y * ( 1 + 0,025 * (c + d - b - a) );
---
6) Если (10 + b) < (c + d) && (a + b) = (c + d), то формула будет следующей:
k = 26 * ( 1 + 0,025 * (c + d - b - 10) ) / x * y;
---
7) Если (10 + b) = (c + d) && (a + b) > (c + d), то формула будет следующей:
k = 26 / x * y * ( 1 + 0,05 * (a + b - c - d) );
---
8) Если (10 + b) = (c + d) && (a + b) < (c + d), то формула будет следующей:
k = 26 / x * y * ( 1 + 0,025 * (c + d - b - a) );
---
9) Если (10 + b) = (c + d) && (a + b) = (c + d), формула будет самой простой:
k = 26 / x * y;
---
Правда если на отрядах будут висеть заклинания влияющие на атаку, защиту и урон, то формулы немного изменятся. Вместо 26 может быть 20 (5 * 4 - если на отряде Проклятие) или 32 (8 * 4 - если на отряде Благословение).
w - кол-во единиц на который повышает или понижает Атаку наложенный на наш отряд под Вампиризмом закл.
t - кол-во единиц на который повышает или понижает Защиту наложенный на вражеский отряд закл.
Итого в формулах у нас вместо
( 1 + 0,05 * (a + b - c - d) )
будет
( 1 + 0,05 * (a + b + w - c - d - t) )
и вместо
( 1 + 0,025 * (c + d - b - a) )
будет
( 1 + 0,025 * (c + d + t - w - b - a) )
Плюс нужно учесть, что каждый балл Защиты цели снижает дополнительный урон от навыка Нападение, от бонусов специализаций некоторых героев, от эффекта Удачи и прочих модификаторов атаки. Плюс сработавшая Удача удвоит урон и следовательно кол-во воскрешенных существ/здоровья.
Ну а вообще если проще, то мы по сути можем же получить урон нашего отряда под Вампиризмом без самостоятельного вычисления. Так вот если если мы возьмем кол-во существ из нашего отряда под Вампиризмом и переведем их в кол-во Вампиров учитывая базовый прирост каждого.
Например, 2 Архангела будет соответствовать 8 вампирам (2 * 4), а 8 гномов - 4 вампирам. В данном случае это будет отношение базового прироста Лордов вампиров к базовому приросту нашего отряда под Вампиризмом умноженное на кол-во существ в нашем отряде. И вот взять уже за основу полученное кол-во Лордов вампиров на основе их навыка атаки и урона вычислить урон, который они смогут наанести. И вот отношени этих уронов и будет нужный нам коэффициент, который будет балансировать наши проценты.
То есть не зависимо от того на какой отряд существ будет наложен Вампиризм он будет восстанавлить такое кол-во урона, которое нанес бы отряд Лордов вампиров в кол-ве пропорциональному базовым приростам.
Я думаю, AlexSpl, идею вы уловили, скорректируете уже.