Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Общий урон
Формула расчёта урона: (Base Damage)*(1+Elemental Bonus%)*(1+Attribute Bonus%+Weapon Skill Bonus%+Misc Bonuses%)
Например (всё от балды):
Урон оружия: 10-20
Берсерк: +55%
Одноручное оружие: +50%
Сила персонажа: 19
Вмажем побольнее: +40%
Base Damage = rand(10,20) = 14
Attribute Bonus: 19 сила {10 base + 9 added}, 9 added = 5% * 9 = 45%, 14+45% = 20.3
Elemental Bonus: 0
Weapon Skill Bonus: 50%, 14+50% = 21
Misc Bonuses: 55% + 40% = 95%, 14+95% = 27.3
Total Damage = 14 * (1 + 0) * (1 + 20.3 + 21 + 27.3) = 14 * 1 * 69.6 = что-то дохрена…
О поединках
# [fightroll]
if ($comb_act == "magic_attack") {
$char_attack = round(($this->wisdom+$rollthedice)/2);
} else {
$char_attack = round(($this->dexterity+rand(
(int)($this->attack_skill_min()*$fight_reduction),
(int)($this->attack_skill_max()*$fight_reduction)
)
+$rollthedice)/8);
# [defenseroll]
if ($comb_act == "magic_attack") {
$char_defence= (int)(($this->wisdom+$rollthedice)/2+rand(0,99)*0.01);
} else {
$char_def = rand($this->defense_skill_min(),$this->defense_skill_max());
$char_defence = (int)(($this->dexterity+$char_def+$rollthedice)/10 +rand(0,99)*0.01);
}
Немного про интуицию
Everyone takes turn to attack, following a priority queue system. Each unit has a ''priority'' number and a ''speed'' factor that decides when their next turn will be. The idea is each one will have a priority number. Each attack bumps up the attacker’s priority number to the max and every cycle(meaning every attack scene we perform) we decrease each unit’s priority number with their speed. The unit with the lowest number attacks next. We will use a priority queue to store these information.
Steps are as follows:
create()
- Create the queue and put everyone in, with all but one hero’s priority number randomly set to simulate combat initiative.create()
- One hero will have his priority number initially set to 1 so our player goes to attack first.updateQueue()
or inonInputDown()
- When an attack plays out, we take out the first one in the queue.attack()
- Perform the attack scene and increase the priority of the attacker.updateQueue()
- When we update the queue, we decrease each unit’s priority.updateQueue()
- Add the one we took out earlier back into the queue.
Подробно с примерами: https://www.programmingmind.com/phaser/turn-based-battle
pg
'udar' => rand(floor($this->user['sila'] / 3) + 1 + $this->user_dress[0], floor($this->user['sila'] / 3) + 5 + $this->user_dress[1]) - mt_rand(0, $this->enemy_dress[5 + $myattack] / 1.25)
min = floor($this->user['sila'] / 3) + 1 + $this->user_dress[0]
max = floor($this->user['sila'] / 3) + 5 + $this->user_dress[1]) - mt_rand(0, $this->enemy_dress[5 + $myattack] / 1.25)
min = 1 + Мин Урон Оружия + Сила / 3
max = 5 + Макс Урон Оружичя + Сила / 3 - рандом (0, Броня в которую я бью / 1.25)
Свежие мысли
Подробно описано в таске №2.
Бойцы стоят в два ряда. В качестве хода они могут переходить из ряда в ряд. Дерутся только первые ряды. Ударить второй ряд можно только если никого нет в первом ряду.
Когда боец наносит удар часть урона поглощает броня. Если брони много она может поглотить весь урон. При этом каждый удар по противнику и его броне понижает долговечность этой брони. То есть можно потерять броню прямо посреди поединка.
Каждый удар снимает единицу долговечности из предмета у которого есть параметр броня. Если на персонаже не осталось предметов с броней удары начинают ломать предметы остальные. Смерть в поединке дополнительно понижает долговечность каждого предмета одетого на персонаже.
Совсем старые идеи
Удар [ToHIT] Процентник от числа. [Если ToHIT > 1d100 : удар прошел]. min5 - max95
Урон Зависит от дайса. Бонусы суммируются к броску. Потом отнимаются штрафы. И только потом идут расчёты с защитой.
Физ. Защита [ число50 = 50% уменьшение урона] но минимум 1 урон. Только вещи + Баффы.
Маг. Защита [ число50 = -1% к броску дайса 1d100]
Баффы
11 / 9 Не прокачиваются вообще. Применяются только в бросках поединка. Повышаются только лутом.
Название | Описание |
---|---|
Крит: | Процентник от числа. Дублирует урон. max100 |
Слабость: | Процентник от числа. Модификатор урона -1. (накапливается) max100 |
Воровство маны: | Процентник от числа. Своровать 20% текущей маны противника. max100 |
Бонус урона: | + Процент к урону после всех рассчётов. unlimited |
Бонус магии: | + Процент к урону после всех рассчётов. unlimited |
Воровство жизни: | Процентник от числа. Вылечиться на 20% от текущего урона. max100 |
Пробив брони: | - Число к ФЗ. unlimited |
Воровство: | Мифический шанс спиздить деньги у противника при ударе. (Процентник от числа. Если успех, то украсть [процент от финального урона]). max100 |
Бонус ФЗ: | + Число к ФЗ. unlimited |
Бонус маны: | + Число к максимальной мане. unlimited |
Бонус здоровья: | + Число к максимальному здоровью. unlimited |
Бонус МЗ: | + Число к МЗ. [То есть: Если МЗ=10%, а Бонус МЗ=5%, то на финише МЗ=15%] unlimited |
Усвоение зелья: | + Процент к броску зелья. (Например с УЗ-5 бросок зелья: 1d2+5) unlimited |
Свитко-мастер: | + Процент к броску свитка. unlimited |
Оглушить: | Процентник от числа. Противник пропускает ход. (несколько?) max100 |
Ранение: | Процентник от числа. Противник теряет 5% от текущего здоровья 3 хода. (больше?) max100 |
Яд: | Процентник от числа. Противник теряет 5% от текущей маны 3 хода. (больше?) max100 |
Чума: | Процентник от числа. Противник теряет 5% от текущего максимального здоровья 3 хода. (больше?) max100 |
Выжигание: | Процентник от числа. Противник теряет 5% от текущей максимальной маны 3 хода. (больше?) max100 |
Пробив брони: | Процентник от числа. Понищает ФЗ противника на 20% в следующий ход. max100 |
Бонус попадания. | + Процент к ToHIT. (50%ToHIT + 10%Bonus = 55%ToHIT !!!!!!) |
Бонус уворота | - Процент к ToHIT противника. |
Бонус блока щитом | + Процент к блоку щитом. |
Статы
Здоровье, Мана. Прокачиваются только зельями\свитками +MaxXP +MaxMP. Понижаются чумой и выжиганием. unlimited
Скиллы
А вот их нужно как-то прокачивать (в процессе применения?).
Название | Описание |
---|---|
Атака оружием: | + ToHIT оружием. (auvorot) |
Защита от оружия: | -ToHIT противника. На магию не влияет. Снижает шанс попадания, в отличие от верхнего, который снижает полученный урон. (uvorot) |
Атака магией: | + ToHIT магией. Не влияет на свитки и зелья!! (mag_auvorot) |
Защита от магии: | -ToHIT противника. Не влияет на оружие. (mag-uvorot) |
Знание магии: | + Модификатор к Маг. Урону от Маг. оружия и Заклинаний. Не влияет на свитки и зелья! (mag-uron) |
Знание анатомии: | + Модификатор к Физ. Урону. (fiz-uron) |
Тактика: | + абсолютный ToHIT. (absolute-auvorot) |
Блок щитом: | Процентник от числа. Бросается после успешного ToHIT противника. Отменяет Физ. Урон. Только при наличии щита. |
Уворот: | - абсолютный ToHIT. (absolute-uvorot) |
Астральный блок: | Процентник от числа. Бросается после атаки Заклинанием. Отменяет его. |
Бартер: | Снижает цену покупки, повышает цену продажи. И до номинала. (Продумать торговлю, чтобы замаксить скилл было сложно.) |
Теория поединка
Бой пошаговый. За ход игрок может выполнить одно действие:
- Ударить (возможны вариации ударов) (тип удара зависит от типа оружия в руках - физическое или магическое).
- Использовать заклинание из списка.
- Прочесть свиток.
- Выпить зелье.
- Уйти в защиту (де факто - пропуск хода) (актуально для PvP таймаута).