из сарая
Блин, какие типы ударов могут быть использованы в уличном бою? Я только "Хук" придумал и "Удар с размаха". Зачем мне это? Для игры. Вот, для подтверждения, черновик алгоритма боя выкладываю за морем.
- Бой пошаговый (можно и иначе, но это не аркада, а тактика)
- Главным атрибутом боя является параметр "Действия" (идея взята из Fallout). "Действия" делятся БД (быстрые действия) и СД (Сильные/силовые действия).
- Количество действий определяется по атрибутам игрока. Усталость и низкое здоровье уменьшают количество действий. Тип, количество и вес брони так же уменьшают количество действий.
- Действия распределяются на атаку, блок и уворачивание.
- Для каждого вида оружия существует определенный список типов удара. Каждый тип несколько изменяет свойства оружия при ударе. (Для примера - мечем можно ткнуть либо рубить; первый тип увеличивает вероятность пробить броню или блок, но уменьшает урон, вторым типом менее вероятно пробить броню или блок, но урон будет больше)
- Удар наносится по нескольким точкам - голова, плечи, грудь, спина, живот,
поясница, бедро и голень.
Голова - существенная вероятность промаха, но почти наверняка удар будет
смертельным, если броня будет пробита.
Плечи - небольшая вероятность промаха и возможность обезаружить противника.
Грудь - почти нулевая вероятность промаха, но не очень серьезные повреждения
Спина - большая вероятность промаха, но большая возможность нанести критическую
травму
Живот - почти нулевая вероятность промаха, но не очень серьезные повреждения
Поясница - средняя вероятность промаха, не очень большие повреждения и возможность
нанести критическую травму
Бедро - существенная вероятность промаха, но большая вероятность нанести противнику
травму.
Голень - большая вероятность промаха, но большая вероятность нанести противнику
травму.
- Урон от удара определяется оружием, броней, атрибутами и умениями атакующего и обороняющегося.
- Получение критической травмы означает, что игрок не сможет наносить или блокировать
удары.
- Получение обычной травмы означает, что игрок потеряет половину своих ОД.
- Вероятность получения травмы обычно небольшая - 5-10%; критической травмы - 1-5%.
- Есть несколько видов травм, каждая из которых уменьшает определенные атрибуты.
- Чем больше очков быстрого действия будет выделено на удар, тем меньше вероятность промаха.
- Чем больше очков силового действия будет выделено на удар, тем больший урон наносится при успешном ударе.
- Блок ставится на те же точки. Блок значительно уменьшает повреждения от удара.
- Вероятность пробить блок обычно небольшая.
- Чем больше очков быстрого действия будет выделено на блок, тем больше вероятность отбить удар.
- Чем больше очков силового действия будет выделено на блок, тем меньше повреждений от блокированного удара.
- Щит (является тяжелой броней) добавляет свойства щита как тяжелой брони блокируемой точке, но многократно уменьшает вероятность успешного блока.
- Навык "Тактика" увеличивает вероятность избежать удар. Бой между умелыми бойцами может быть продолжительным не потому, что у них много здоровья (напротив, уровень здоровья не меняется с повышением уровня игрока), а потому, что они умело уворачиваются от удара или же блокируют его.
- Все БД и СД, не потраченные на удар или блок, идут на уворачивание.
- Количество БД и СД на удар/блок варьируется от минимального до максимального. Оба этих значения определяются по типу оружия и удара/наличию и свойствам щита, точке атаки/блока, атрибутам атакующего/обороняющегося, навыкам атакующего/обороняющегося.
- Существует два типа брони: легкая и тяжелая.
- Тяжелая броня полностью защищает от ударов. Существует вероятность пробить ее. Если она пробита, то уменьшает урон на 25%.
- Вероятность пробивания тяжелой брони определяется оружием (тип, свойства, качество), броней (тип, свойства, качество)(в расчет берется только та броня, на которую пришелся удар - если удар по голове, то броней является только шлем, а не суммарные или среднеарифметические свойства всей брони), а так же силой атакующего;
- Легкая броня не защищает от удара, но эффективнее уменьшает урон, чем пробитая тяжелая броня.
- Каждое оружие обладает свойствами:
Тип - тип оружия (меч (короткий, длинный, клеймор), топор (топор, секира), булава(булава, цеп), пика(копье, пика), лук(короткий, длинный, арбалет), ружье(короткое, длинное)
Сплав - металл, из которого сделано оружие (медь, железо, сталь, булатная сталь, сталь и титан, титан, титан и алмаз - артефакты)
Урон - минимальный урон от оружия. Увеличивается в соотв. с атрибутами и навыками игрока и типом удара.
Вес - вес оружия. Влияет на минимальное и максимальное количество БД и СД на удар.
Пробивание - уровень пробивания тяжелой брони.
Качество - уровень износа оружия. Чем меньше это свойство, тем меньше урон от удара и тем больше вероятность сломать оружие.
//Константы: (Приблизительные значения. Будут меняться по ходу разработки игры)
//Точки:
//Все константы этой группы - числа типа Float, умноженное на 100. Их фактическое значение будет [число]/100
ГоловаВерПромаха = 75
ГоловаВерТравмы = 5
ГоловаВерКритТравмы = 10
ГоловаМнож = 300
//Травмы головы:
//Сотрясение мозга (Точ-25%)
//Перелом челюсти (Общ-75%, Обн-100%)
//Крит. травмы головы:
//Перелом черепа (Пам-50%, Муд-75%, Скр-25%, Точ-25%)
//Внутричерепная гематома (Муд-50%, уменьшение здоровья на 5% в час)
//Ранение в мозг (смерть)
ПлечиВерПромаха = 10
ПлечиВерТравмы = 15
ПлечиВерКритТравмы = 0
ПлечиМнож = 100
//Травмы плечей:
//Травма плечевой мускулатуры (Сил-25%, Скр-50%)
//Перелом ключицы (Сил-50%, Вын-25%)
//Перелом плечевой кости (Сил-25%, Вын-25%, Скр-25%)
ГрудьВерПромаха = 5
ГрудьВерТравмы = 5
ГрудьВерКритТравмы = 2
ГрудьМнож = 75
//Травмы груди:
//Пневмоторакс (Вын-50%)
//Перелом ребер (Вын-25%, Скр-25%)
//Крит. травмы груди:
//Внутреннее кровотечение (уменьшение здоровья на 25% в час)
//Ранение в сердце (смерть)
//Разрыв грудной полости (смерть)
СпинаВерПромаха = 10
СпинаВерТравмы = 5
СпинаВерКритТравмы = 5
СпинаМнож = 75
//Травмы спины:
//Перелом лопатки (Вын-25%, Сил-25%, Скр-25%)
//Перелом ребер (Вын-25%, Скр-25%)
//Пневмоторакс (Вын-50%)
//Крит. травмы спины:
//Перелом позвоночника (Вын-75%, Сил-75%, Скр-75%)
//Внутреннее кровотечение (уменьшение здоровья на 25% в час)
ЖивотВерПромаха = 10
ЖивотВерТравмы = 10
ЖивотВерКритТравмы = 2
ЖивотМнож = 75
//Травмы живота:
//Травма брюшной мускулатуры (Сил-25%, Вын-50%)
//Небольшой разрыв брюшной полости (Вын-25%, Скр-50%)
//Крит. травмы живота:
//Ранение в печень (неизлечимо, уменьшение здоровья на 50% в час)
//Разрыв ЖК тракта (уменьшение здоровья на 25% в час)
//Разрыв брюшной полости (Сил-75%, Вын-75%, Скр-75%, Точ-75%, уменьшение здоровья на 100% в час)
ПоясницаВерПромаха = 30
ПоясницаВерТравмы = 5
ПоясницаВерКритТравмы = 5
ПоясницаМнож = 100
//Травмы поясницы:
//Ранение в почки (уменьшение здоровья на 5% в час)
//Небольшой разрыв брюшной полости (Вын-25%, Скр-50%)
//Крит. травмы поясницы:
//Разрыв ЖК тракта (уменьшение здоровья на 25% в час)
//Разрыв брюшной полости (Сил-75%, Вын-75%, Скр-75%, Точ-75%, уменьшение здоровья на 100% в час)
//Перелом позвоночника (Вын-75%, Сил-75%, Скр-75%)
БедроВерПромаха = 50
БедроВерТравмы = 15
БедроВерКритТравмы = 5
БедроМнож = 150
//Травмы бедра:
//Трещина на бедренной кости (Вын-25%, Сил-25%, Скр-75%)
//Травма бедренной мускулатуры (Сил-25%, Скр-50%)
//Крит. травмы бедра:
//Перелом бедренной кости (Вын-75%, Сил-75%, Скр-75%)
//Разрыв бедренной артерии (Уменьшение здоровья на 100% в час)
ГоленьВерПромаха = 75
ГоленьВерТравмы = 15
ГоленьВерКритТравмы = 0
ГоленьМнож = 150
//Травмы голени:
//Ушиб голени (Вын-25%, Скр-25%)
//Трещина берцовой кости (Сил-25%, Вын-25%)
//Вывих голеностопного сустава (Скр-25%)
//Типы ударов:
// Вес оружия является множителем для БД и СД.
// Броня является множителем для уровня брони оружия.
// Формула (Урон*(УдарСД-МинСД)+УронМин)/100 является множителем для урона оружия.
// Формула (Блок*(УдарБД-МинБД)+БлокМин)/100 определяет вероятность пробивания блока.
// Формула (Броня*((УдарБД-МинБД)+(УдарСД-МинСД))+100)/200 является множителем для уровня пробивания брони оружия.
//Меч:
//Колющий - прямой быстрый короткий удар. Наиболее требователен к СД, наносит не такие большие повреждения, но наиболее эффективно пробивает броню и блок.
КолющийМечМинБД = 1
КолющийМечМксБД = 24
КолющийМечМинСД = 4
КолющийМечМксСД = 8
КолющийМечУрон = 10 //От 70 до 110
КолющийМечУронМин = 70
КолющийМечБлок = 3 //От 21 до 90
КолющийМечБлокМин = 21
КолющийМечБроня = 3,0 //До 140
//Секущий - Боковой размах и удар. Наносит хорошие повреждения, но из-за большой площади удара не так эффективен против брони.
СекущийМечМинБД = 3
СекущийМечМксБД = 16
СекущийМечМинСД = 3
СекущийМечМксСД = 16
СекущийМечУрон = 5,4 // от 100 до 170
СекущийМечУронМин = 100
СекущийМечБлок = 4 // от 18 до 60
СекущийМечБлокМин = 18
СекущийМечБроня = 1,5 // до 120
//Рубящий - Размах с плеча и мощный удар. Из-за большого расстояния размаха требует много БД. Очень большие повреждения, хорошо пробивает броню, но легко блокируется.
РубящийМечМинБД = 4
РубящийМечМксБД = 8
РубящийМечМинСД = 2
РубящийМечМксСД = 24
РубящийМечУрон = 4,5 // от 120 до 220
РубящийМечУронМин = 120
РубящийМечБлок = 2,5 //от 5 до 15
РубящийМечБлокМин = 5
РубящийМечБроня = 1,5 // до 120
//Топор:
//Секущий - удар с размаху. Достаточно эффективно пробивает броню и не требует много БД и СД. Эффективен против блока.
СекущийТопорМинБД = 2
СекущийТопорМксБД = 24
СекущийТопорМинСД = 2
СекущийТопорМксСД = 8
СекущийТопорУрон = 10 //от 100 до 160
СекущийТопорУронМин = 100
СекущийТопорБлок = 1,8 //от 18 до 60
СекущийТопорБлокМин = 20
СекущийТопорБроня = 1,5 //до 120
//Рубящий - размах с плеча и удар. Слишком неточный, чтобы пробить броню, но не требователен к БД и СД.
РубящийТопорМинБД = 3
РубящийТопорМксБД = 16
РубящийТопорМинСД = 1
РубящийТопорМксСД = 16
РубящийТопорУрон = 6 //от 100 до 190
РубящийТопорУронМин = 100
РубящийТопорБлок = 2,3 //от 10 до 40
РубящийТопорБлокМин = 10
РубящийТопорБроня = 1,5 //до 120
//Диагональный - размах с противоположного плеча и удар. Смертоносный удар. Тоже не точный, но это вполне компенсируется силой удара.
ДиагональныйТопорМинБД = 4
ДиагональныйТопорМксБД = 8
ДиагональныйТопорМинСД = 1
ДиагональныйТопорМксСД = 24
ДиагональныйТопорУрон = 4,8 //от 120 до 230
ДиагональныйТопорУронМин = 120
ДиагональныйТопорБлок = 2,25 //от 5 до 10
ДиагональныйТопорБлокМин = 5
ДиагональныйТопорБроня = 2,22 //до 130
//Булава:
//Секущий - удар с размаху.
СекущийБулаваМинБД = 2
СекущийБулаваМксБД = 24
СекущийБулаваМинСД = 2
СекущийБулаваМксСД = 8
СекущийБулаваУрон = 10 //от 100 до 160
СекущийБулаваУронМин = 100
СекущийБулаваБлок = 3,5 //от 18 до 60
СекущийБулаваБлокМин = 18
СекущийБулаваБроня =
//Рубящий - размах с плеча и удар.
РубящийБулаваМинБД = 3
РубящийБулаваМксБД = 16
РубящийБулаваМинСД = 1
РубящийБулаваМксСД = 16
РубящийБулаваУрон = 6 //От 100 до 190
РубящийБулаваУронМин = 100
РубящийБулаваБлок = 2,3 //от 10 до 40
РубящийБулаваБлокМин = 10
РубящийБулаваБроня = 1,5 //до 120
//Диагональный - размах с противоположного плеча и удар.
ДиагональныйБулаваМинБД = 4
ДиагональныйБулаваМксБД = 8
ДиагональныйБулаваМинСД = 1
ДиагональныйБулаваМксСД = 24
ДиагональныйБулаваУрон = 4,8 //от 120 до 230
ДиагональныйБулаваУронМин = 120
ДиагональныйБулаваБлок = 2,25 //от 5 до 10
ДиагональныйБулаваБлокМин = 5
ДиагональныйБулаваБроня = 2,22 //до 130
//Пика:
//Колющий сверху - размах над плечем и удар. (мизинец палец ближе всего к острию)
КолющийВПикаМинБД
КолющийВПикаМксБД
КолющийВПикаМинСД
КолющийВПикаМксСД
КолющийВПикаУрон
КолющийВПикаУронМин
КолющийВПикаБлок
КолющийВПикаБлокМин
КолющийВПикаБроня
//Колющий снизу - размах под плечем и удар. (большой палец ближе всего к острию)
КолющийНПикаМинБД
КолющийНПикаМксБД
КолющийНПикаМинСД
КолющийНПикаМксСД
КолющийНПикаУрон
КолющийНПикаУронМин
КолющийНПикаБлок
КолющийНПикаБлокМин
КолющийНПикаБроня
//Лук:
//Выстрел - выстрел из лука.
ВыстрелЛукМинБД
ВыстрелЛукМксБД
ВыстрелЛукМинСД
ВыстрелЛукМксСД
ВыстрелЛукУрон
ВыстрелЛукУронМин
ВыстрелЛукБлок
ВыстрелЛукБлокМин
ВыстрелЛукБроня
//Ружье:
//Выстрел - выстрел из ружья.
ВыстрелРужьеМинБД
ВыстрелРужьеМксБД
ВыстрелРужьеМинСД
ВыстрелРужьеМксСД
ВыстрелРужьеУрон
ВыстрелРужьеУронМин
ВыстрелРужьеБлок
ВыстрелРужьеБлокМин
ВыстрелРужьеБроня
//Рукопашка
//Хук
//Удар с размаха
//
БДПромах = 10 //Количество БД, при котором штраф промаха переходит в бонус уменьшения промаха.
Алгоритм:
ТипУдара - объект, содержащий все данные о нанесенном ударе.
Точка - точка удара
БД - количество БД, выделенных на удар
СД - количество СД, выделенных на удар
МинБД - минимальное количество БД, необходимое для удара
МинСД - минимальное количество СД, необходимое для удара
МксБД - максимальное количество БД, необходимое для удара
МксСД - максимальное количество СД, необходимое для удара
Урон - множитель урона оружия (относительный, т.е. не умноженный на СД и не добавленный к УронМин)
УронМин - минимальное значение урона. (добавляется к Урон * (СД - МинСД))
Блок - вероятность пробивания блока (относительная)
БлокМин - минимальная вероятность пробивания блока
Броня - множитель уровня пробиваемой брони для оружия.
Атакующий - игрок, который наносит удар.
Промах = БДПромах/ТипУдара.БД //Вероятность промаха. При промахе удара не происходит, но ОД и силы теряются.
Если не промах, то
Урон = Атакующий.Оружие.Урон * (ТипУдара.Урон * (ТипУдара.СД - ТипУдара.МинСД) + ТипУдара.УронМин)//Уровень удара.
Если (Обороняющийся.Точка[ТипУдара.Точка].Блокируется) /* иначе говоря, если обороняющийся блокирует точку атаки */
Если (Обороняющийся.Щит != NUL) /* иначе говоря, если у обороняющегося есть щит */
Блок =
- Бой пошаговый (можно и иначе, но это не аркада, а тактика)
- Главным атрибутом боя является параметр "Действия" (идея взята из Fallout). "Действия" делятся БД (быстрые действия) и СД (Сильные/силовые действия).
- Количество действий определяется по атрибутам игрока. Усталость и низкое здоровье уменьшают количество действий. Тип, количество и вес брони так же уменьшают количество действий.
- Действия распределяются на атаку, блок и уворачивание.
- Для каждого вида оружия существует определенный список типов удара. Каждый тип несколько изменяет свойства оружия при ударе. (Для примера - мечем можно ткнуть либо рубить; первый тип увеличивает вероятность пробить броню или блок, но уменьшает урон, вторым типом менее вероятно пробить броню или блок, но урон будет больше)
- Удар наносится по нескольким точкам - голова, плечи, грудь, спина, живот,
поясница, бедро и голень.
Голова - существенная вероятность промаха, но почти наверняка удар будет
смертельным, если броня будет пробита.
Плечи - небольшая вероятность промаха и возможность обезаружить противника.
Грудь - почти нулевая вероятность промаха, но не очень серьезные повреждения
Спина - большая вероятность промаха, но большая возможность нанести критическую
травму
Живот - почти нулевая вероятность промаха, но не очень серьезные повреждения
Поясница - средняя вероятность промаха, не очень большие повреждения и возможность
нанести критическую травму
Бедро - существенная вероятность промаха, но большая вероятность нанести противнику
травму.
Голень - большая вероятность промаха, но большая вероятность нанести противнику
травму.
- Урон от удара определяется оружием, броней, атрибутами и умениями атакующего и обороняющегося.
- Получение критической травмы означает, что игрок не сможет наносить или блокировать
удары.
- Получение обычной травмы означает, что игрок потеряет половину своих ОД.
- Вероятность получения травмы обычно небольшая - 5-10%; критической травмы - 1-5%.
- Есть несколько видов травм, каждая из которых уменьшает определенные атрибуты.
- Чем больше очков быстрого действия будет выделено на удар, тем меньше вероятность промаха.
- Чем больше очков силового действия будет выделено на удар, тем больший урон наносится при успешном ударе.
- Блок ставится на те же точки. Блок значительно уменьшает повреждения от удара.
- Вероятность пробить блок обычно небольшая.
- Чем больше очков быстрого действия будет выделено на блок, тем больше вероятность отбить удар.
- Чем больше очков силового действия будет выделено на блок, тем меньше повреждений от блокированного удара.
- Щит (является тяжелой броней) добавляет свойства щита как тяжелой брони блокируемой точке, но многократно уменьшает вероятность успешного блока.
- Навык "Тактика" увеличивает вероятность избежать удар. Бой между умелыми бойцами может быть продолжительным не потому, что у них много здоровья (напротив, уровень здоровья не меняется с повышением уровня игрока), а потому, что они умело уворачиваются от удара или же блокируют его.
- Все БД и СД, не потраченные на удар или блок, идут на уворачивание.
- Количество БД и СД на удар/блок варьируется от минимального до максимального. Оба этих значения определяются по типу оружия и удара/наличию и свойствам щита, точке атаки/блока, атрибутам атакующего/обороняющегося, навыкам атакующего/обороняющегося.
- Существует два типа брони: легкая и тяжелая.
- Тяжелая броня полностью защищает от ударов. Существует вероятность пробить ее. Если она пробита, то уменьшает урон на 25%.
- Вероятность пробивания тяжелой брони определяется оружием (тип, свойства, качество), броней (тип, свойства, качество)(в расчет берется только та броня, на которую пришелся удар - если удар по голове, то броней является только шлем, а не суммарные или среднеарифметические свойства всей брони), а так же силой атакующего;
- Легкая броня не защищает от удара, но эффективнее уменьшает урон, чем пробитая тяжелая броня.
- Каждое оружие обладает свойствами:
Тип - тип оружия (меч (короткий, длинный, клеймор), топор (топор, секира), булава(булава, цеп), пика(копье, пика), лук(короткий, длинный, арбалет), ружье(короткое, длинное)
Сплав - металл, из которого сделано оружие (медь, железо, сталь, булатная сталь, сталь и титан, титан, титан и алмаз - артефакты)
Урон - минимальный урон от оружия. Увеличивается в соотв. с атрибутами и навыками игрока и типом удара.
Вес - вес оружия. Влияет на минимальное и максимальное количество БД и СД на удар.
Пробивание - уровень пробивания тяжелой брони.
Качество - уровень износа оружия. Чем меньше это свойство, тем меньше урон от удара и тем больше вероятность сломать оружие.
//Константы: (Приблизительные значения. Будут меняться по ходу разработки игры)
//Точки:
//Все константы этой группы - числа типа Float, умноженное на 100. Их фактическое значение будет [число]/100
ГоловаВерПромаха = 75
ГоловаВерТравмы = 5
ГоловаВерКритТравмы = 10
ГоловаМнож = 300
//Травмы головы:
//Сотрясение мозга (Точ-25%)
//Перелом челюсти (Общ-75%, Обн-100%)
//Крит. травмы головы:
//Перелом черепа (Пам-50%, Муд-75%, Скр-25%, Точ-25%)
//Внутричерепная гематома (Муд-50%, уменьшение здоровья на 5% в час)
//Ранение в мозг (смерть)
ПлечиВерПромаха = 10
ПлечиВерТравмы = 15
ПлечиВерКритТравмы = 0
ПлечиМнож = 100
//Травмы плечей:
//Травма плечевой мускулатуры (Сил-25%, Скр-50%)
//Перелом ключицы (Сил-50%, Вын-25%)
//Перелом плечевой кости (Сил-25%, Вын-25%, Скр-25%)
ГрудьВерПромаха = 5
ГрудьВерТравмы = 5
ГрудьВерКритТравмы = 2
ГрудьМнож = 75
//Травмы груди:
//Пневмоторакс (Вын-50%)
//Перелом ребер (Вын-25%, Скр-25%)
//Крит. травмы груди:
//Внутреннее кровотечение (уменьшение здоровья на 25% в час)
//Ранение в сердце (смерть)
//Разрыв грудной полости (смерть)
СпинаВерПромаха = 10
СпинаВерТравмы = 5
СпинаВерКритТравмы = 5
СпинаМнож = 75
//Травмы спины:
//Перелом лопатки (Вын-25%, Сил-25%, Скр-25%)
//Перелом ребер (Вын-25%, Скр-25%)
//Пневмоторакс (Вын-50%)
//Крит. травмы спины:
//Перелом позвоночника (Вын-75%, Сил-75%, Скр-75%)
//Внутреннее кровотечение (уменьшение здоровья на 25% в час)
ЖивотВерПромаха = 10
ЖивотВерТравмы = 10
ЖивотВерКритТравмы = 2
ЖивотМнож = 75
//Травмы живота:
//Травма брюшной мускулатуры (Сил-25%, Вын-50%)
//Небольшой разрыв брюшной полости (Вын-25%, Скр-50%)
//Крит. травмы живота:
//Ранение в печень (неизлечимо, уменьшение здоровья на 50% в час)
//Разрыв ЖК тракта (уменьшение здоровья на 25% в час)
//Разрыв брюшной полости (Сил-75%, Вын-75%, Скр-75%, Точ-75%, уменьшение здоровья на 100% в час)
ПоясницаВерПромаха = 30
ПоясницаВерТравмы = 5
ПоясницаВерКритТравмы = 5
ПоясницаМнож = 100
//Травмы поясницы:
//Ранение в почки (уменьшение здоровья на 5% в час)
//Небольшой разрыв брюшной полости (Вын-25%, Скр-50%)
//Крит. травмы поясницы:
//Разрыв ЖК тракта (уменьшение здоровья на 25% в час)
//Разрыв брюшной полости (Сил-75%, Вын-75%, Скр-75%, Точ-75%, уменьшение здоровья на 100% в час)
//Перелом позвоночника (Вын-75%, Сил-75%, Скр-75%)
БедроВерПромаха = 50
БедроВерТравмы = 15
БедроВерКритТравмы = 5
БедроМнож = 150
//Травмы бедра:
//Трещина на бедренной кости (Вын-25%, Сил-25%, Скр-75%)
//Травма бедренной мускулатуры (Сил-25%, Скр-50%)
//Крит. травмы бедра:
//Перелом бедренной кости (Вын-75%, Сил-75%, Скр-75%)
//Разрыв бедренной артерии (Уменьшение здоровья на 100% в час)
ГоленьВерПромаха = 75
ГоленьВерТравмы = 15
ГоленьВерКритТравмы = 0
ГоленьМнож = 150
//Травмы голени:
//Ушиб голени (Вын-25%, Скр-25%)
//Трещина берцовой кости (Сил-25%, Вын-25%)
//Вывих голеностопного сустава (Скр-25%)
//Типы ударов:
// Вес оружия является множителем для БД и СД.
// Броня является множителем для уровня брони оружия.
// Формула (Урон*(УдарСД-МинСД)+УронМин)/100 является множителем для урона оружия.
// Формула (Блок*(УдарБД-МинБД)+БлокМин)/100 определяет вероятность пробивания блока.
// Формула (Броня*((УдарБД-МинБД)+(УдарСД-МинСД))+100)/200 является множителем для уровня пробивания брони оружия.
//Меч:
//Колющий - прямой быстрый короткий удар. Наиболее требователен к СД, наносит не такие большие повреждения, но наиболее эффективно пробивает броню и блок.
КолющийМечМинБД = 1
КолющийМечМксБД = 24
КолющийМечМинСД = 4
КолющийМечМксСД = 8
КолющийМечУрон = 10 //От 70 до 110
КолющийМечУронМин = 70
КолющийМечБлок = 3 //От 21 до 90
КолющийМечБлокМин = 21
КолющийМечБроня = 3,0 //До 140
//Секущий - Боковой размах и удар. Наносит хорошие повреждения, но из-за большой площади удара не так эффективен против брони.
СекущийМечМинБД = 3
СекущийМечМксБД = 16
СекущийМечМинСД = 3
СекущийМечМксСД = 16
СекущийМечУрон = 5,4 // от 100 до 170
СекущийМечУронМин = 100
СекущийМечБлок = 4 // от 18 до 60
СекущийМечБлокМин = 18
СекущийМечБроня = 1,5 // до 120
//Рубящий - Размах с плеча и мощный удар. Из-за большого расстояния размаха требует много БД. Очень большие повреждения, хорошо пробивает броню, но легко блокируется.
РубящийМечМинБД = 4
РубящийМечМксБД = 8
РубящийМечМинСД = 2
РубящийМечМксСД = 24
РубящийМечУрон = 4,5 // от 120 до 220
РубящийМечУронМин = 120
РубящийМечБлок = 2,5 //от 5 до 15
РубящийМечБлокМин = 5
РубящийМечБроня = 1,5 // до 120
//Топор:
//Секущий - удар с размаху. Достаточно эффективно пробивает броню и не требует много БД и СД. Эффективен против блока.
СекущийТопорМинБД = 2
СекущийТопорМксБД = 24
СекущийТопорМинСД = 2
СекущийТопорМксСД = 8
СекущийТопорУрон = 10 //от 100 до 160
СекущийТопорУронМин = 100
СекущийТопорБлок = 1,8 //от 18 до 60
СекущийТопорБлокМин = 20
СекущийТопорБроня = 1,5 //до 120
//Рубящий - размах с плеча и удар. Слишком неточный, чтобы пробить броню, но не требователен к БД и СД.
РубящийТопорМинБД = 3
РубящийТопорМксБД = 16
РубящийТопорМинСД = 1
РубящийТопорМксСД = 16
РубящийТопорУрон = 6 //от 100 до 190
РубящийТопорУронМин = 100
РубящийТопорБлок = 2,3 //от 10 до 40
РубящийТопорБлокМин = 10
РубящийТопорБроня = 1,5 //до 120
//Диагональный - размах с противоположного плеча и удар. Смертоносный удар. Тоже не точный, но это вполне компенсируется силой удара.
ДиагональныйТопорМинБД = 4
ДиагональныйТопорМксБД = 8
ДиагональныйТопорМинСД = 1
ДиагональныйТопорМксСД = 24
ДиагональныйТопорУрон = 4,8 //от 120 до 230
ДиагональныйТопорУронМин = 120
ДиагональныйТопорБлок = 2,25 //от 5 до 10
ДиагональныйТопорБлокМин = 5
ДиагональныйТопорБроня = 2,22 //до 130
//Булава:
//Секущий - удар с размаху.
СекущийБулаваМинБД = 2
СекущийБулаваМксБД = 24
СекущийБулаваМинСД = 2
СекущийБулаваМксСД = 8
СекущийБулаваУрон = 10 //от 100 до 160
СекущийБулаваУронМин = 100
СекущийБулаваБлок = 3,5 //от 18 до 60
СекущийБулаваБлокМин = 18
СекущийБулаваБроня =
//Рубящий - размах с плеча и удар.
РубящийБулаваМинБД = 3
РубящийБулаваМксБД = 16
РубящийБулаваМинСД = 1
РубящийБулаваМксСД = 16
РубящийБулаваУрон = 6 //От 100 до 190
РубящийБулаваУронМин = 100
РубящийБулаваБлок = 2,3 //от 10 до 40
РубящийБулаваБлокМин = 10
РубящийБулаваБроня = 1,5 //до 120
//Диагональный - размах с противоположного плеча и удар.
ДиагональныйБулаваМинБД = 4
ДиагональныйБулаваМксБД = 8
ДиагональныйБулаваМинСД = 1
ДиагональныйБулаваМксСД = 24
ДиагональныйБулаваУрон = 4,8 //от 120 до 230
ДиагональныйБулаваУронМин = 120
ДиагональныйБулаваБлок = 2,25 //от 5 до 10
ДиагональныйБулаваБлокМин = 5
ДиагональныйБулаваБроня = 2,22 //до 130
//Пика:
//Колющий сверху - размах над плечем и удар. (мизинец палец ближе всего к острию)
КолющийВПикаМинБД
КолющийВПикаМксБД
КолющийВПикаМинСД
КолющийВПикаМксСД
КолющийВПикаУрон
КолющийВПикаУронМин
КолющийВПикаБлок
КолющийВПикаБлокМин
КолющийВПикаБроня
//Колющий снизу - размах под плечем и удар. (большой палец ближе всего к острию)
КолющийНПикаМинБД
КолющийНПикаМксБД
КолющийНПикаМинСД
КолющийНПикаМксСД
КолющийНПикаУрон
КолющийНПикаУронМин
КолющийНПикаБлок
КолющийНПикаБлокМин
КолющийНПикаБроня
//Лук:
//Выстрел - выстрел из лука.
ВыстрелЛукМинБД
ВыстрелЛукМксБД
ВыстрелЛукМинСД
ВыстрелЛукМксСД
ВыстрелЛукУрон
ВыстрелЛукУронМин
ВыстрелЛукБлок
ВыстрелЛукБлокМин
ВыстрелЛукБроня
//Ружье:
//Выстрел - выстрел из ружья.
ВыстрелРужьеМинБД
ВыстрелРужьеМксБД
ВыстрелРужьеМинСД
ВыстрелРужьеМксСД
ВыстрелРужьеУрон
ВыстрелРужьеУронМин
ВыстрелРужьеБлок
ВыстрелРужьеБлокМин
ВыстрелРужьеБроня
//Рукопашка
//Хук
//Удар с размаха
//
БДПромах = 10 //Количество БД, при котором штраф промаха переходит в бонус уменьшения промаха.
Алгоритм:
ТипУдара - объект, содержащий все данные о нанесенном ударе.
Точка - точка удара
БД - количество БД, выделенных на удар
СД - количество СД, выделенных на удар
МинБД - минимальное количество БД, необходимое для удара
МинСД - минимальное количество СД, необходимое для удара
МксБД - максимальное количество БД, необходимое для удара
МксСД - максимальное количество СД, необходимое для удара
Урон - множитель урона оружия (относительный, т.е. не умноженный на СД и не добавленный к УронМин)
УронМин - минимальное значение урона. (добавляется к Урон * (СД - МинСД))
Блок - вероятность пробивания блока (относительная)
БлокМин - минимальная вероятность пробивания блока
Броня - множитель уровня пробиваемой брони для оружия.
Атакующий - игрок, который наносит удар.
Промах = БДПромах/ТипУдара.БД //Вероятность промаха. При промахе удара не происходит, но ОД и силы теряются.
Если не промах, то
Урон = Атакующий.Оружие.Урон * (ТипУдара.Урон * (ТипУдара.СД - ТипУдара.МинСД) + ТипУдара.УронМин)//Уровень удара.
Если (Обороняющийся.Точка[ТипУдара.Точка].Блокируется) /* иначе говоря, если обороняющийся блокирует точку атаки */
Если (Обороняющийся.Щит != NUL) /* иначе говоря, если у обороняющегося есть щит */
Блок =