Combat Rules/ru
Scripting |
---|
|
Страница в процессе доработки
На этой странице описаны техническая составляющая и логика ведения боя в игровых скриптах. В основном она касается боя с использованием исключительно оружия. О заклинаниях и способностях читайте Abilities.
Примечание: Термин 'свойтсва', используемый на этой страницы относиться к свойствам существ здесь -> Creature Properties.
Contents
Детальное описание
Бой в игре Dragon age: Начало обрабатывается в основном скриптами. Движок имеет малое понятие об основных показателях, вляющих на бой, таких как 'Сила' 'Модификатор урона' или 'Пробиваемость доспеха'.
Последствия удара
Последствия удара определены в функции Combat_GetAttackResult в библиотеке скриптов combat_h.nss, которые срабатывают, когда скрипт creature_core.nss обрабатывает такое событие как удар. Функция возвращает одну или несколько COMBAT_RESULT_* константных переменных и сообщает игровому движку, какую анимацию нужно проиграть.
В целом, боевая система Dragon age является 'тяжело ударной' так как доспех цели никак не влияет на шанс попадания.
Упрощенный скрипт для обработки последствий удара виглядит так:
if Target Is Placeable Object return COMBAT_RESULT_HIT if Target Displacement/Dodge < RandomF(100.0) return COMBAT_RESULT_MISS if Attacker Is Using BASE_ITEM_TYPE_STAFF return COMBAT_RESULT_HIT bHit = RandomF(100.0) < AttackRating - DefenseRating bCrit = CheckCricital() bBackstab = CheckBackstab() if bHit if HasEffect(attacker, EFFECT_TYPE_MISDIRECTION_HEX) if bCrit return COMBAT_RESULT_HIT else return COMBAT_RESULT_MISS if bBackstab return COMBAT_RESULT_BACKSTAB else if bCrit return COMBAT_RESULT_CRITICAL_HIT else return COMBAT_RESULT_HIT else return COMBAT_RESULT_MISS
Мощность удара
Мощность удара включает в себя:
- Базовый наносимый урон (54.0f)
- + Flanking Bonus (позиция атакующего относительно цели, умения жертвы, например, укрытие щитом. Здесь бонус получают разбойники).
- + Штрафы, основанные на расстоянии к цели (для дальнего боя)
- + Значение наносимого нападающим урона(вместе со всеми бафами и тому подобным)
- + Любые предметы(руны), которые являются частью оружия и влияют на нанесение урона
- + Любые внешние бонусы или штрафы, которые попадают в функцию (из скриптов умений, например)
- + Уровень сложности игры
Уровень защиты
Уровень защиты включает в себя:
- Значение защиты обороняющегося (и уклонения, если речь идет о защите от оружия дальнего боя). Включает в себя бонусы от предметов, эффектов и различные магические бонусы.
- Уровень сложности игры
Бонусы от атак с фланга
- Значение бонуса атак с фланга содержится во float-переменной и влияет на мощность атаки и шанс нанесения критического урона.
- Бонус зависит от того, насколько близко атакующий находится к наиболее выгодному для атаки положению(за спиной цели).
- Различные способности боя со щитом уменьшают вероятность атакующего получить бонус от атаки с фланга.
- Чем дальше атакующий от позиции "со спины", тем меньше бонус.
- Бонус колеблеться от +0 до +15 (+20 с "Движением в бою") и влияет на мощность атаки и частично на (1+(Бонус атаки со фланга/5)) на шанс нанесения критического урона.
- Большинство персонажей могут подойти к врагу максимум на 60 градусов относительно спины, "Движение с бою" позволяет подойти на 90 градусов (положение "со спины"=180 градусам).
- Максимальный бонус от атаки с фланга получают только разбойники, все остальные получают половину.
- Понять логику лучше вы сможете, изучив скрипт Combat_GetFlankingBonus и combat_h.nss.
Удар в спину
- Удар в спину может быть нанесен только в ближнем бою.
- Для выполнения удара в спину нужно, чтобы бонус атаки с фланга был больше 0(некоторые таланты обходят это ограничение).
- Наносить удар в спину могут только создания класса Разбойник Character Class. Это классовая привилегия.
- Наносить удар в спину могут только человекоподобные существа (это касается и порождений тьмы).
- Общую логику вы сможете понять изучив функции Combat_CheckBackstab и combat_h.nss.
- Логику нанесения урона вы сможете понять, изучив Combat_Damage_GetBackstabDamage.
Нанесение критического урона
- Нанести критический урон могут только бойцы дальнего и ближнего боя(не маги). Значение критического урона зависит от типа атаки.
- + бонус к критическому урону от используемого оружия.
- + 1.20x (1.1x для неразбойников) the attacker's Flanking Bonus in the current situation.
- + 3.5 если атакующий сражается с двумя соратниками против одного и того же воина и использует талант "Храбрость".
- Критический урон наносится, когда шанс нанесения меньшый чем РандомнаяПеременая()*100.0f.
- Некоторые эффекты и заклинания (например Death Hex) делают каждый нанесенный удар критическим.
- Логику вы сможете понять, изучив функции Combat_GetAttackResult в скриптовой библиотеке combat_h.nss
Урон
Значение урона рассчитывается в скрипте combat_damage_h.nss.
Бонус к шансу нанесения критического урона
- Критические удары увеличивают урон от обычного удара, добавляя к нему определенное фиксированное значение.
- Величина добавляемого значение регулируется предметами и эффектами. Аттрибуты персонажа на нее не влияют.
- Историческое примечание: раньше критический урон мог принимать значения 'вплоть до...', но позже стали использовать константую переменную, что позволяло предвидеть значение наносимого урона.
- Логику рассчета критического урона вы сможете понять, изучив combat_damage_h.nss#GetCriticalDamageModifier.
Бонус к удару в спину
- Урон от удара в спине часто равен критическому урону, но на него также влияют некоторые таланты разбойника.
- Логику вы сможете понять, изучив Combat_Damage_GetBackstabDamage и combat_damage_h.nss.
Переводчики
Silderon / Почта / Как переводить DA Builder Wiki
Язык: | English • русский |
---|