Kamrad.ru
 
 
поддержать форум | faq | правила | support | кабинет | discord-сервер | поиск | регистрация | участники | фотоальбом | выйти
Kamrad.ru Kamrad.ru » Тематические форумы » RPG » Wizardry » Формулы!
новая тема  ответить следующая тема | предыдущая тема
Автор
  << < 1 2 3 4 5 6 7 8 9 10 11 12 13 > >>
Silicoid - offline Silicoid
Exclamation05-02-2004 07:51 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Формулы!

В связи с высоким спросом на такие вещи создаю эту тему. В ней будут периодически по мере возможностей поститься формулы и алгоритмы для расчета различных параметров игры wizardry 8. Формулы эти берутся непосредствено из дизассемблированого кода wiz8.exe, поэтому правильность их где-то 97%. Оставшиеся 3% отвожу на тот случай если я вдруг ошибся или кое-что упустил.
В этой теме также можно оставлять свои пожелания относительно того чего хочеться узнать. Только просьба формулировать их четко по пунктам.

Итак 3..2..1 поехали

==============================================

Алгоритм вычисления вероятности выпадения молниеносного удара у класса самурай

ЕСЛИ УС<=20 ТО
ВМУ = INT(((УС*2+60)*12)/100) %
ИНАЧЕ
ВМУ = 12%
КОНЕЦ

ГДЕ:
УС - Уровень Самурая
ВМУ - Вероятность молниеносного удара
INT - целая часть без округления (INT(3.1) = 3, INT(3.9) = 3)

Вывод:
1. Молниеносный удар зависит только от уровня перса и больше ни от чего
2. Вероятность молниеносного удара никогда не превысит 12%


==============================================

Алгоритм расчета вероятности выпадения "Фатального выстрела" у класса Следопыт.


X = INT ((НСО * 1374389535)/2^32)
ВМС = INT (X/8)
------------------
Y = НСО mod 25
ЕСЛИ Y>0 ТО

RND = Random[0..25]
ЕСЛИ RND<Y ТО ВМС = ВМС + 1 КОНЕЦ

КОНЕЦ

ГДЕ:
X, Y - временые переменые, чтобы формулы были ясней
НСО - Навык стрелкового оружия
ВМС - Вероятность мгновенной смерти (в процентах)
RND - Случайное число в диапазоне [a..b]
mod - остаток от деления
INT - Целая часть числа без округления (INT(3.1)=3, INT(3.9)=3)
1374389535 - Константа, в кодах выглядит как 51EB851F (не меняется)
2^32 - два в степени 32 = 4294967296

-----------------------------------------------------------------
Пример расчета максимальной вероятности:
НСО = 125 (100 навык + 25% бонус у следопыта)

125 * 1374389535 = 171798691875
INT (171798691875 / 4294967296) = 40
INT(40 / 8) = 5
ВМС = 5

125 mod 25 = 0

Т.к. остаток = 0 никакого бонуса +1% не получаем
Итого: 5%

Примечание:
1. Вероятность мгновенной смерти суммируется с другими вероятностями, т.е. если вы дадите следопыту лук 2% и у него будет максимальный навык стрелкового оружия, то на выходе вы получите 7% фатального выстрела.

****** Это ошибочно (см. пост ниже) редактировано 6.02.2004 ********
2. Глубоко не копал, но в процессе экспериментов создалось впечатление что: Мгновенная смерть от стрелкового оружия не зависит от крутости монстров. Пока лазил по монастырю и принудительно включал фатальный выстрел, дохли все без исключения (слизни, королевский краб, жук грегор - ни разу не было, чтобы не сработал).
**********************************

Итоги:
1. Вероятность фатального выстрела зависит от навыка стрелкового оружия (больше зависимостей не нашел)
2. Чистая вероятность не превышает 5%
3. Вероятность мгновенно убить суммируется с другими вероятностями (от луков)
4. Фатальный выстрел вычисляется для каждой стрелы, поэтому чем больше выстрелов за ход, тем выше вероятность.



to be continue...



=======================================
Дополнение от 19.08.2005

Для тех кто не хочет читать всю тему, а сразу желает получить все необходимые утилиты разбросаные по теме (часть из них старые бета-версии)

Неофицальные патчи:

Для английской версии (1177 Kb)
http://archiv01.nm.ru/Wiz8_v126_eng.zip

Для русской версии (1080 Kb)
http://archiv01.nm.ru/Wiz8_v126_rus.zip

Утилиты:

Распаковщик файлов SLF (227 Kb)
http://archiv01.nm.ru/SLFExtractor.zip

Выгружатель персов во внешнии CHR-файлики (226 Kb)
http://archiv01.nm.ru/CHRUnLoad.zip

Эмулятор импортированой команды (216 Kb)
http://archiv01.nm.ru/ImportEmulator.zip

Блокиратор периодического респавна монстров (210 Kb)
http://archiv01.nm.ru/BlockRespawn.zip

Калькулятор Рейтинга Атаки (326 Kb)
http://archiv01.nm.ru/CalcAttackRating.zip

Калькулятор Шансов срабатывания заклинаний (250 Kb)
http://archiv01.nm.ru/CalcMagicChance.zip

Программа для просмотра всех рецептов в игре.
http://archiv01.nm.ru/MergeInfo.zip (183k)

Редактирование монологов персов и текстовых строк
http://archiv01.nm.ru/MsgEditor.zip (238k)

Устарешии утилиты, вместо них рекомендуется пользоваться многофункциональным редактором CosmicForge

Редактор вещей в продаже у торговцев (254 Kb)
http://archiv01.nm.ru/TradeItemEditor.zip

Редактор дропов из монстров. (261 Kb)
http://archiv01.nm.ru/DropItemEditor.zip

=======================================


__________________
Не делай добра, не будет зла

Изменено: Silicoid, 31-08-2005 в 07:24

ax - offline ax
05-02-2004 20:25 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Silicoid
Спасибо. Жутко интересно.
Молниеносный удар зависит только от уровня перса и больше ни от чего
Странно. Правда у меня самурай до высоких уровней ни разу не дожил, но часто видел утверждения "на маленьких уровнях делал, как вырос - так забыл". Здесь это когда-то обсуждалось.
Мгновенная смерть от стрелкового оружия не зависит от крутости монстров.
Мне тоже так показалось. А вот у ниндзи с метательным показалось, что зависит.
Еще хотелось бы разобраться со следующими вопросами.
1. http://kamrad.9.com1.ru/kvb/showthr...&threadid=21079 Можно ли это подтвердить/опровергнуть? Высказывались предположения, что зависимости нелинейные. Особенно интересует влияние Senses на Attack и To Hit. И есть ли штрафы на низкие значения характеристик.
2. Вероятность критического удара у ниндзи с метательным оружием. И с melee. И зависимость этой вероятности от уровня монстров.
3. Уже спрашивал в предыдущей теме. Что влияет на рост навыков ближний (Ranged) бой и владения оружием. Влияет ли на этот рост кол-во наносимого урона?
4. Как работает magic resistance. На пике Восхождения моя эльфийка-бишопка с лучшими в партии параметрами сопротивления магии (но имеющая самый низкий уровень в партии) плюс Iron Will за 80 плюс Light Shield плюс магический экран плюс элементальный щит пробивалась огнем (со слабеньким уроном) чаще, чем другие партийцы. А рапаксовская паутина (маг. спелл) кроме нее, вообще ни на кого больше не действовала.
5. Что влияет на рост магических скиллов и как. Имеется в ввиду частота кастов и их сила.
6. "Честный" ли рандом вещей в сундуках и в ассортименте магазинов. Или зависит от состава партии и тд. Взял монка в партию и не смог добиться, чтобы в Арнике у Энтони появился зачарованный бо. Записывался перед входом в Арнику и грузился с него. С другими партиями он был почти всегда. Кроме того, первый раз партия без ниндзи - в сундуках стало попадаться ненормально большое кол-во вещей именно для нее. Чего раньше не наблюдалось. Или это я такой везучий?
7. От чего зависит состав респавнящихся групп монстров (например, на дорогах). Показалось, что от состава партии. Или нет? Просто с разными партиями некоторых видов монстров вообще не встречал за всю игру.

to be continue...

Silicoid - offline Silicoid
06-02-2004 07:41 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Странно. Правда у меня самурай до высоких уровней ни разу не дожил, но часто видел утверждения "на маленьких уровнях делал, как вырос - так забыл".
Копал довольно много, но ничего больше не нашел
Могу только предположить - человеческий фактор: В начале пока персы слабые следишь постоянно за ударами, переживая каждый промах -> чаще замечаешь молниеносный удар. Когда же крутеешь - перестаешь обращать на это внимание - просто идешь и всех вырезаешь без разбора.

Мгновенная смерть от стрелкового оружия не зависит от крутости монстров.
С этим я поспешил маленько, это ошибочно. Зависит да еще как! (см. ниже)

2. cм. ниже...

=============================================================
Сначала по поводу навыка "Критический удар". Посмотрел как расчитывается вероятность выпадения, формула точь в точь такая же как для следопыта, только вместо Навыка стрелкового оружия используется навык критического удара. Повторю эту формулу:

Алгоритм расчета вероятности выпадения "Критическогть удара" у классов имеющих соответствующий навык.

X = INT ((НКУ * 1374389535)/2^32)
ВМС = INT (X/8)
------------------
Y = НКУ mod 25
ЕСЛИ Y>0 ТО
RND = Random[0..25]
ЕСЛИ RND<Y ТО ВМС = ВМС + 1 КОНЕЦ
КОНЕЦ

ГДЕ:
X, Y - временые переменые, чтобы формулы были ясней
НКУ - Навык критического удара
ВМС - Вероятность мгновенной смерти (в процентах)
RND - Случайное число в диапазоне [a..b]
mod - остаток от деления
INT - Целая часть числа без округления (INT(3.1)=3, INT(3.9)=3)
1374389535 - Константа, в кодах выглядит как 51EB851F (не меняется)
2^32 - два в степени 32 = 4294967296

Итог:
1. Вероятность критического удара зависит только от соответствующего навыка (больше ничего не обнаружил)
2. Чистая вероятность критического удара не превышает 5% (Ниндзя) для остальных 4%
3. Вероятность от навыка суммируется с вероятностью от оружия. Т.е. ниндзя с навыком 125 (5%) кидающий сюрикен (kill 1%) на выходе имеет 6% выкинуть критический удар. Или скажем самурай с навыком 100 (4%) и клинком бушидо (2% кажись) на выходе имеет 6% критического удара

==============================================================
Теперь по поводу того как критический удар зависит от монстров. В обобщеном виде:

В игре есть различные эффекты атак такие как: сон, парализация, сглаз .... и в том числе критический удар. Критический удар это тоже эффект атаки и он подчиняется законом таких эффектов.

Общий алгоритм такой:
Когда перс наносит удар (кулаком, мечом, стрелой и т.п.) происходит следующее:
1. Расчитываются вероятности эффектов атаки, всего 16 значений и заносятся в массивчик
2. Затем, если перс попал по монстру, то программа бежит в цикле по этому массивчику и для каждой вероятности кидает "кубик" (от 1 до 100).
3. Если "кубик" выпал успешно (его значение меньше вероятности), то вызывается соответствующая процедура обработки данного эффекта (в частном случае: критического удара).

Для каждого эффекта эти процедуры немного различаются, но в них есть и общие моменты. Ядром этих всех процедур является специальная функция, которая анализирует параметры монстра, вашего перса и выдает результат: ДА или НЕТ, обозначающий сработал эффект на монстра или нет.

Эта функция довольно навороченая, она проверяет иммунитеты, наложеные заклинания и т.п., поэтому привести весь ее код довольно затруднительно, но в ней есть одна интересная формула, которая как бы дает последнее слово "быть или не быть". Привожу эту формулу:

=========================================================
Алгоритм расчета вероятности того, что монстр погасит эффект атаки (в частном случае избежит критического удара)

X = (УМ - УП*2)
Y = X*3 + КЭ + РЕЗИСТ
ЕСЛИ Y<5 ТО У = 5
ЕСЛИ Y>95 ТО У = 95
RND = Random[1..100]
ЕСЛИ RND>=Y ТО эффект_сработал

ГДЕ:
X,Y - временые переменые
УМ - уровень монстра, по которому наносят удар
УП - уровень перса наносящего удар
КЭ - коэффициент эффекта (см. таблицу)
РЕЗИСТ - сопротивление к магии у монстра для соответствующего эффекта (см. таблицу)
RND - случайное число в диапазоне [a..b]

Таблица эффектов
---------------------------
N - ТИП: КЭ, РЕЗИСТ
---------------------------
0 - Сон: 20, воздух
1 - Парализация: 18, вода
2 - ???: 6, вода
3 - Сглаз: 8, чудотворство
4 - Болезнь: 2, вода
5 - Мгновенная смерть: 24, чудотворство
6 - Потеря сознания: 22, земля
7 - Ослепление: 12, огонь
8 - Испуг: 5, разум
9 - ???
10 - ???
11 - ???
12 - ???
13 - ???
14 - Тошнота: 4, воздух
15 - Безумие: 10, разум

Знаками ??? отмечены нераспознаные эффекты.

Примеры расчета:

Предположим что Ниндзя 15 уровня дерется с Несси 26 уровня имеющей резист к чудотворству 110%
Задача: вычислить вероятность того, что Несси избежит мгновенной смерти:

Смотрим по таблице: Для критического удара КЭ = 24

Считаем:
X = 26 - 15*2 = -4
Y = -4*3 + 24 + 110 = 122
Т.к. Y (122) > 95 то Y = 95

Ответ: Если 15-уровневый ниндзя выкинет критический удар, то 26-ти уровневая Несси имеет шанс избежать его 95%
Мда.. Ниндзя в пролете..

Еще пример:
Предположим наш Ниндзя подрос и теперь он 24 уровня. Условия те же

Считаем:
X = 26 - 24*2 = -22
Y = -22*3 + 24 + 110 = 68

Ответ: Если 22-уровневый Ниндзя выкинет критический удар, то 26-уровневая Несси имеет шанс избежать его 68%.

Уже гораздо лучше...

Примечание:
- Этот алгоритм един как для Монстров так и для ВАШИХ ПЕРСОВ. Когда монстры атакуют вас, переменые меняются местами, вместо Уровень Монстра будет Уровень Перса, вместо Резиста монстра будет Резист Перса и т.д.
- Обратите внимание на особеность этой формулы: Пока уровень монстра выше удвоеного уровня перса, шанс что критический удар пройдет довольно низкий, как только происходит перекос, защита от критического удара резко падает с каждым дополнительным уровнем.

Итог по критическому удару (и по эффектам в общем):
1. Срабатывание критического удара делиться на Шанс выкинуть удар с нашей стороны и Шанс избежать удара со стороны монстра.
2. Шанс выкинуть удар зависит только от навыка Критический удар (ниндзя, самурай, монах..) или Стрелковое оружие (следопыт)
3. Шанс избежать удара зависит от Разности в уровнях монстра и перса с учетом соответствующего резиста (для критического удара это чудотворство)

to be continue...

Изменено: Silicoid, 06-02-2004 в 07:53

ax - offline ax
06-02-2004 19:36 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Копал довольно много, но ничего больше не нашел
Может молниеносный удар монстры тоже резистить могут? Например, он приравнивается к какому-нибудь эффекту в массиве. Иначе получается, что вероятность с уровнем растет, кол-во атак тоже растет, а молниеносных ударов особо не прибавляется, мягко говоря (если конечно это действительно не "человеческий фактор").
О человеческом факторе. Мне вот показалось, что самый эффективный критикальщик - это следопыт. У меня он (стрелковый бой меньше 100, тк вооружен еще и копьем) однозначно выигрывал по этому параметру, например, у файтера, имеющего более высокий уровень, kill 10 % на мече и 6 % на луке. Наверное, именно показалось, тк из формул это не следует. Еще заметил, что вооружение следопыта луком с 6 % kill к никакому видимому увеличению кол-ва критичских ударов не привело (один на 30 - 40 ходов на пике восхождения), а вот трехстрельный арбалет с охотничьими болтами поднял их кол-во раз в 10 (чуть ли не через ход там же).
Эффекты от спеллов наверное по тому же алгоритму считаются? Тогда только с чистым уроном от них разобраться бы. Кстати, в таблице нехватает яда, истощения и эффекта от паутины (хотя, может он к парализации приравнивается?). Для спеллов еще замедление и раздражение должно быть.

amarkord - offline amarkord
08-02-2004 00:15 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ax "Честный" ли рандом вещей в сундуках и в ассортименте магазинов. Или зависит от состава партии и тд. Взял

К этому могу добавить еще одно:

В игре сказано: "Режим Железной Воли влияет на концепцию игры в целом". Конкретнее:
Я почувствовал только увеличение шансов найти в где-либо ценные предметы. Может быть что-то еще ?

Странно. Правда у меня самурай до высоких уровней ни разу не дожил, но часто видел утверждения "на маленьких уровнях делал, как вырос - так забыл".
Копал довольно много, но ничего больше не нашел
Могу только предположить - человеческий фактор: В начале пока персы слабые следишь постоянно за ударами, переживая каждый промах -> чаще замечаешь молниеносный удар. Когда же крутеешь - перестаешь обращать на это внимание - просто идешь и всех вырезаешь без разбора



Вот отрывок из одной работы :

)--Lightning Strike. Ever seen a character hit 8 times in ONE strike? With the right sword, a Samurai can. What Lightning Strike does is give your Samurai 3-5 additional strikes in one hit during combat. Keep in mind that this only works for your main weapon, and NOT your off-hand. Lightning Strike kicks in randomly, so there's nothing you can do to increase the likelyhood of it occuring. At least not to my knowledge. I've tested MANY different things, all with the same results. It seems to kick in about every 4th or 5th attack (give or take 2 or 3 attacks). I've gone through the game with the same type of Samurai (see later on in the Spotlight) many times, sometimes seeing Lightning Strikes up to 4 times per combat, sometimes seeing them only once every 10 combats. I do have this feeling, though, that Lightning Strike just MIGHT be dependant on the amount of weight your Samurai is carrying. No, I don't mean whether or not your Samurai is encumbered. I mean, for example, Samurai might Lightning Strike more often if, say, they're carrying only 20% or less of their maximum Carrying Capacity. The reason why I think this may be is because I noticed that I get A LOT more Lightning Strikes in the beginning of the game. The ONLY things different during the beginning are 1)--The enemies are of lower level, and 2)--You're only carrying about 25lbs or so with your Samurai. Hmmm. Maybe I should go back and give my Level 30 Samurai only his weapons (Muramasa Blade and Enchanted Wakazashi) and some plain Robes upper and lower and a pair of Sandals to test this out some.

С учетом собственного опыта (4 выращенных самурая) я согласен со сказанным и не думаю, что во всем повинен только Человеческий фактор.
Нет, действительно, Как можно объяснить, что я единственный раз специально уменьшил нагрузку Самурая в течение 4 - 5 уровней (примерно с 6 по 10), и Самурай тогда выдавал столько молниеносных ударов, что мне и не снилось. Я удивляться начал - почему так часто ? каждую битву одной такой атаки уже ожидал.
Уточню, что с 10-го уровня мои герои стали ходить постоянно нагруженные железом от Рапаксов + не хотелось расставаться с 35 килограммовым Мечом Гиганта. Да уж, молниеносного удара этим-то мечом я бы ни пропустил ! (не должен, силы-то всего 55 пунктов, быстро врагов никак не завалить).


Обычно я Молниеносный удар различаю на слух.
Будь герои крутыми или не очень, но между разными атаками есть небольшие паузы, обычно за атаку идет один - три удара, потом малая пауза. При молниеносном ударе сразу чувствуется что-то необычное - Начинается это длительное Бах-бах-бах-бах-бах ...

Изменено: amarkord, 08-02-2004 в 00:42

Silicoid - offline Silicoid
09-02-2004 07:51 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ax Может молниеносный удар монстры тоже резистить могут?
amarkord учетом собственного опыта (4 выращенных самурая) я согласен со сказанным и не думаю, что во всем повинен только Человеческий фактор.

Ну ладно, ладно, что вы так разволновались . Раз вам так важен этот молниеносный удар, я посмотрю его еще раз более подробно. Лично по мне толку от него никакого, только стамину жрет

А пока продолжим:
==================================================================

Алгоритм расчета Attack Rating.
Подробно расписывать этот алгоритм я не буду, т.к. он очень сложный, опишу его в общих чертах.

-----------------------------------------------------------
Attack Rating делиться на две части Base Attack Rating и To Hit, которые просто складываются друг с другом. To Hit написан непосредствено, а чтобы узнать Base Attack Rating достаточно в инвентаре навести курсор мыши на цифру рейтинга и во всплывающей подсказки появиться надпись "Base: ... Mod: ...". Это они как раз и есть.


Base Attack Rating расчитывается в 4-е этапа:

1. Сначала вычисляется профессионально-уровневый коэффициент. Берется количество уровней для данной проффесии, умножаются на специальные модификаторы и все это сумируется.

2. Берутся навыки Ближнего/Дальнего боя, навыки соответствуюшего оружия, и навык двойного оружия (если два) и вычисляется оружейный коэффициент.

3. Берется Ловкость, добавляется профессионально-уровневый коэффициент, добавляется оружейный и вычисляется предварительный Base Attack Rating

4. И наконец берется этот Pre Base Attack Rating, опять колбаситься и уже получается готовый Attack Rating.

------------------------------
Затем вычисляется To Hit, тоже в несколько этапов

1. Берется To Hit оружия
2. Добавляется бонус от Ловкости (>50) или штраф (<50)
3. Добавляется бонус от Восприятия (>70) или штраф (<30)
4. Добавляется бонус от Силы (>50) или штраф (<50)
5. Накладыватся штраф в зависимости от Двойного оружия
6. Накладывается штраф в зависимости от перегрузки

И в итоге получается готовый To Hit.

---------------------------------------
Все это я реализовал в программке. Exe-шник выложить не могу он слишком большой, выкладываю только исходники. Все кто заинтересовался, скачивайте, загружайте в Delphi 6 (или выше), компилируйте (CTRL+F9) и изучайте.


Silicoid - offline Silicoid
09-02-2004 08:01 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Обобщенный алгоритм роста навыков:

В конце хода для каждого перса вызывается функция увеличения навыков.
В эту функцию передается:
- Навыки, которые были использованы в течении хода
- Количество попыток увеличения по каждому навыку

ЦИКЛ ПО Навыкам
ЦИКЛ ПО Попыткам
1. Формируется Число на основе Навыка, Аттрибутов от которых он зависит и плюс еще несколько коэффициентов.
- Высокие Аттрибуты увеличивают это Число
- Высокое значение Навыка понижает это Число
2. Бросается "кубик", если он выпал успешно (значение "кубика больше" Числа), то навык увеличивается (если быть точнее, то сначала увеличивается специальный промежуточный счетчик, и только когда он достигает определеного значения, вот тогда уже и происходит увеличение собствено навыка.).
КОНЕЦ
КОНЕЦ

Количество попыток определяется по таблице:
1. Перс промазал - 1 попытка
2. Перс попал, но не нанес урон - 2 попытки
3. Перс попал и нанес урон - 4 попытки
4. Перс попал и нанес удвоеный урон (воин под Берсерком, вор подлым ударом) - 5 попыток
...

Примечание:
1. Оружейные навыки идут парой. Например: Меч/Ближний бой, Лук/Дальний бой.
В цикле кидается "кубик" и по нему определяется, что будет увеличиваться. Таким образом из 4-х попыток может скажем вызваться 3 раза увеличение Меча и 1 раз увеличение ближнего боя. Как фишка выпадет. + по коду видно что Random идет от 1 до 3 и берется наугад три параметра, точно не проверял, но предположительно 3-й параметр это Двойное оружие.
3. Для тех персов которые делают множественые удары расчет для каждого удара идет отдельно. Например:
Самурай выкинул x4 из них один раз попал, и три раза промахнулся. В массив увеличений попадет:
Меч/Ближний/Двойное оружие(?) - 4 попытки
Меч/Ближний/Двойное оружие(?) - 1 попытка
Меч/Ближний/Двойное оружие(?) - 1 попытка
Меч/Ближний/Двойное оружие(?) - 1 попытка

P.S. Конкретную формулу расчета вероятности увеличения навыка в зависимости первичных аттрибутов и текущего значения навыка, приведу позже, когда закончу приведение ее к нормальному математическому виду.

Silicoid - offline Silicoid
09-02-2004 08:03 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Последовательность операций при касте заклинания:

1. Сначала расчитывается урон в зависимости от силы заклинания:

----------------------------------------------------------------------------
Обобщенный алгоритм вычисления наносимого урона в зависимости от силы заклинания

SUM = 0
ЦИКЛ ОТ 1 ДО Сила_заклинания
RND = Random[Минимальный_урон..Максимальный_урон]
SUM = SUM + RND
КОНЕЦ

Например:
fireball имеет параметры (1-7)/силу
Если вы колдуете fireball силой 3, то алгоритм примет вид:

SUM = 0
ЦИКЛ ОТ 1 ДО 3
RND = Random[1..7]
SUM = SUM + RND
КОНЕЦ

2. Затем полученый урон, проходит через формулу понижения и наноситься монстру (персу):

-----------------------------------------------------------------------
Приблизительная формула расчета понижения магического урона

X = УМ - УП*2
Y = X*3 + РЕЗИСТ
ЕСЛИ Y<=0 ТО exit
Y = INT((Y+1)/2)
RND1 = Random[0..Y]
RND2 = Random[0..Y]
Y = Y + RND1 + RND2
ЕСЛИ Y>100 ТО Y = 100
Z = Y*Damage
Z = INT((Z*1374389535)/2^32)
Z = INT(Z/32)
NewDamage = Damage - Z

ГДЕ:
INT - целая часть числа без округления
УМ - уровень монстра (если атакуют вас, то уровень перса)
УП - уровень атакующего перса (если атакуют вас, то уровень монстра)
РЕЗИСТ - сопротивление к магии у монстра (перса)
RND1, RND2 - случайные числа
Damage - начальный урон
NewDamage - новый урон с учетом понижения

Константы:
1374389535 = 0x51EB851F
2^32 = 4294967296

Пример расчета:

Условия: Перс 10 уровня, атакует Монстра 12 уровня, с резистом 110%
Задача: расчитать на сколько снизиться урон = 20 единицам

Решение:
X = 12 - 10*2 = -8
Y = -8*3 + 110 = 86
Y = INT((86+1)/2) = 43

Максимальный урон:
RND1 = 0, RND2 = 0
Y = 43 + 0 + 0 = 43
Z = 43*20 = 860
Z = INT((860*1374389535)/4294967296) = 275
Z = INT(275/32) = 8
NewDamage = 20 - 8 = 16

Минимальный урон:
RND1 = 43, RND2 = 43
Y = 43 + 43 + 43 = 129
Z = 129*20 = 2580
Z = INT((2580*1374389535)/4294967296) = 825
Z = INT(825/32) = 25
NewDamage = 20 - 25 = -5
т.к. NewDamage<0 то урона нет

Среднестатистический урон:
RND1 = 21, RND2 = 21
Y = 43 + 21 + 21 = 85
Z = 85*20 = 1700
Z = INT((1700*1374389535)/4294967296) = 544
Z = INT(544/32) = 17
NewDamage = 20 - 17 = 3

Ответ:
Максимальный урон = 16
Минимальный урон = 0
Средний урон = 3

Выводы:
1. Резисты являются просто коэффициентами, а не процентами
2. Если резист = 100, то это совсем не значит, что урон будет погашен полностью (см. пункт 1)
3. Понижение урона зависит от разности уровней атакующего/атакуемого, резиста к магии и удачи

gif77 - offline gif77
09-02-2004 14:58 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Кстати (хотя может, и не кстати, сорри) а не влияет ли ношение самурайских доспехов, с типом веса "Особый" (До-мару, Тосейдо, и... и... Хрен-Запомнишь-Что-Это-Было) на вероятность молниеносного удара? Мне показалось, хотя может, просто не судьба, когда самурай надел "Стальную шкуру" (вес "Средний) он стал реже "мельтешить", и тогда я вернул ему Тосейдо... Хотя по весу 16 кг у "легкого жакета" с весом "Легкий" против 24кг у "Тосейдо" с весом "особый" может стоило бы и легкий жакет брать... Однако, может не просто так выдается Тосейдо уже в Верхнем монастыре!?

Кстати (а вот это уже точно), восприятие влияет на точность удара в ближнем бою. Во время первого прохождения особо не озабачивался инициативой. Колдунам после прокачки интеллекта и благочестия качал силу и живучесть. Бойцам (включая бардов) после силы и ловкости - скорость и живучесть. Так вот меня тогда так достало, что все монстры колдуны в начале боя ходили первыми. Сразу кастят безумие, заморозку, террор и т.д. После чего мои колдуны с их защитными "Щит души" и "Щит стихий" были неэффективны.
ну вот сейчас решил брать инициативу... Колдуны после интеллекта и благочестия качали подвижность и восприятие. Бойцы после силы и ловкости занялись тем же. И вот когда у барда "чувственность" развилась до ~80 (заметил, когда ей шапку с +10 к восприятию и т.д. примерял) точность удара мечом увеличилась на 1.
С высокой инициативой теперь здорово ходить. Мои колдуны ходят первыми. Ставят защитные экраны и ништяк. А бард вешает на всех "лютый ужас", второй бард обморожение или безумие. И только после них ходят монстрюганы - испуганно-обмороженно-безумные. Сколько раньше было гемора с пси-акулами и единорогами. А сейчас халява. Барды круты против колдунов. Поножи Оберона и шлепанцы Ариэль гарантируют им первый ход в бою. Теперь я их ни на что не менял, даже на обновки с большим коэффициентом брони и резистов.

Изменено: gif77, 09-02-2004 в 15:16

gif77 - offline gif77
09-02-2004 15:35 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Да... вот еще вопросик к Силикоиду...
Встречи с монстрами с резистами выше 100 конечно наводят на мысль, что это не проценты, а коэффициенты... Жаль только, что в параметрах своих героев нельзя увидеть насколько выше 100 у них эти показатели...
А вопрос такой... Имеется епископ уровня 20 и самурай 21 уровня. Оба могут кастовать Щит стихий на 7 уровне силе. НО! Епископ имеет "Power Casting"=96, а у самурая его вообще нет. Так вот имеет ли смысл кастить этот щит именно епископом? Или самураем будет также хорошо?

t_G_M_ - offline t_G_M_
10-02-2004 03:55 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Silicoid

Прикольная прогрумулька :-)

Программка действительно хороша. Полезное дело деешь!

И, прости если лезу под руку, но вместо бешенного количества одинаковых процедур (2-х видов, в конце) можно было создать 2 процедуры и назначить их в Events\OnChange или Events\OnClick (где что). Параметры-то у процедур тоже одинаковые.

И еще раз спасибо за программу.

Silicoid - offline Silicoid
10-02-2004 08:21 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



t_G_M_
И, прости если лезу под руку, но вместо бешенного количества одинаковых процедур (2-х видов, в конце) можно было создать 2 процедуры и назначить их в Events\OnChange или Events\OnClick
Программу заканчивал наспех в 2 часа ночи так что уж извиняйте
Исходники у вас есть так что можете менять и оптимизировать там все что угодно.

gif77
Так вот имеет ли смысл кастить этот щит именно епископом? Или самураем будет также хорошо?
Проверю эту ситуацию...

gif77
Кстати (хотя может, и не кстати, сорри) а не влияет ли ношение самурайских доспехов, с типом веса "Особый" (До-мару, Тосейдо, и... и... Хрен-Запомнишь-Что-Это-Было) на вероятность молниеносного удара?

Все, товарищи! Вопрос с молниеносным ударом решен! Упустил один важный, но очень необычный момент. Если бы своими собствеными глазами не видел в коде, никогда бы не догадался! Вот он:

===============================================================
Общий алгоритм допустимости молниеносного удара:

Есть переменая для каждого перса назовем ее Previous Round Action (PRA) -
показывает, что делал перс в предыдущем ходу.

Таблица зависимостей PRA от действий в течении хода:

Событие: действие
1. Начало боя: всем персам PRA = -1
2. Перс провел атаку ближнего боя: PRA перса = 0
3. Перс пропустил ход из-за отсутствия цели: PRA перса = 4
4. В течении хода команда двигалась: Цикл по всем персам, для каждого перса кидается "кубик",
если значение "кубика" > количества оставшегося движения (0-100),
то PRA текущего обрабатываемого перса = -1

Теперь как работает молниеносный удар:
1. Начало хода, Цикл по всем персам (самураям),
Если PRA перса = 0 то Попытаться_кинуть_молниеносный_удар (см. формулу в предыдущих постах)
2. Осуществить атаки, удары и т.п. (записывая для всех персов новые PRA)
3. GOTO 1

Выводы:
1. В первом ходу боя никогда не будет молниеносного удара.
2. Если перс пропустил ход из-за отсутствия цели, в следующем ходу молниеносного удара не будет!
3. Если команда двигалась в течении хода, то есть шанс что в следующем ходу молниеносные удары у самураев не выпадут даже если они атаковали в предыдущем ходу.

Короче говоря молниеносный удар выпадает только если атаки идут вслитняк, малейшее прерывание и обломс самураю.
Отсюда следует совет: Никогда не давайте самураю пропускать текущий ход, иначе в следующем ходу не видать вам молниеносного удара как своих собственных ушей

P.S. Данный момент я упустил в прошлый раз, потому что тестировал молниеносный удар
на королевском крабе причем в начале хода сразу подбежал и потом не двигался,
да еще и цель всего одна, поэтому все мои самураи никогда не пропускали ход вот у меня
и шли один за другим молниеносные удары без перерыва (я сделал себе для тестирования вероятность 100% )

P.P.S Зависимостей от нагрузки по прежнему не обнаружил

================================================================

... продолжение темы о росте навыка:

Формула расчета вероятности увеличения навыка на единицу для одной попытки (про попытки см. пост выше)

ATTR = INT((Attributes1 + Attributes2)/2)
---------------------------------------------
X = НАВЫК*100
X = INT((X*1374389535)/2^32)
X = INT(X/32)
X = 100-X
X = X*ATTR
X = INT((X*1374389535)/2^32))
X = INT(X/32)
RND = Random[1..100]
ЕСЛИ RND<X ТО
count = count + 1
ЕСЛИ count>8 ТО
count = 0
увеличить_навык_на_единицу
КОНЕЦ
КОНЕЦ

ГДЕ:
Attributes1, Attributes2 - первый и второй атрибут от которых зависит навык
НАВЫК - текущее значение навыка
count - внутрений счетчик, для каждого навыка свой, это как бы доля навыка (меняется от 0 до 7)
1374389535 = 0x51EB851F


P.S. Кстати все время забываю сказать, все приводимые формулы актуальны для версии 1.24 уровень сложности Normal. Так что для easy и expert-а поправки делайте сами, я не тестирую эти уровни сложности из-за недостатка времени.



to be contunue...

gif77 - offline gif77
10-02-2004 10:10 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Короче говоря молниеносный удар выпадает только если атаки идут вслитняк, малейшее прерывание и обломс самураю.
Спасибо. Теперь понятно, почему в начале игры молниеносный удар случается чаще. Просто в конце игры сплошные "обломсы"... Монстры дохнут, не дождавшись пока самурай размахается своим мечом...

ax - offline ax
10-02-2004 19:01 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Silicoid
Вопрос с молниеносным ударом решен!
За это отдельное спасибо. А то уж больно теория с практикой расходилась. Все-таки самурай в игре не очень получился.
2. Перс попал, но не нанес урон - 2 попытки
3. Перс попал и нанес урон - 4 попытки
4. Перс попал и нанес удвоеный урон (воин под Берсерком, вор подлым ударом) - 5 попыток

Значит от размера урона (те урона оружия) все-таки не зависит. Мда, тему надо бы переименовать в "Развенчание мифов ...".
Тут еще пара вопросиков образовалась.
Еще про критический удар. Я так понимаю, что у ниндзи, монаха и самурая он относится ко всем видам оружия. Но вот ни одного критического удара с пращей я что-то не припоминаю. Или опять показалось?
Имеет ли какой-либо смысл в игре разные виды ударов у разного оружия. Имеется ввиду удар, свинг, укол. У монстров что, резисты какие-нибудь есть в зависимости от типа удара? Или еще что-то?

Silicoid - offline Silicoid
11-02-2004 08:05 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Значит от размера урона (те урона оружия) все-таки не зависит
Напрямую урон не используется в формулах, значение имеет только его удвоеность, возможно утроеность и т.д.

Но вот ни одного критического удара с пращей я что-то не припоминаю
Посмотрю, что там не так...

Имеется ввиду удар, свинг, укол.
Точно, хороший вопрос, займусь...

------------------------------------------------------
Немножко всякой разной информации:

С учетом Power cast-а формула понижения урона немного измениться:

...
X = УМ - (УП*2 + K)
...

ГДЕ
К - это внутрений коэффициент расчитываемый на основе собствено Power Cast-а и особых модификаторов, зависящих от типа заклинания (у одних заклинаний больше, у других меньше)

Общая суть Power Cast-а заключается в том, чтобы дать колдуну дополнительные виртуальные уровни, которые уменьшат разрыв между персом и монстром.

Кстати говоря, Power Cast не используется в расчетах при колдовании Защитный заклинаний таких как Щит стихий и т.д. Таким образом ответ на вопрос:
Так вот имеет ли смысл кастить этот щит именно епископом? Или самураем будет также хорошо?
Никакой разницы, что самурай, что епископ одинаково хорошо, а вот если колдуешь атакующие заклинания, то тогда епископу будет бонус. Хотя еще не факт, что епископ сильнее колдонет, у него же експы на уровень требуется больше, а значит уровень у него будет меньше, чем у самурая, и вполне возможно самурай даже будет в выигрыше

-----------------------------------

Немного инфы по росту навыка:
1. Если навык =100 то он уже не растет (ну в принципе это и так ясно )
2. А вот интересный момент: В расчетах используется всегда чистое значение навыка. Т.е. бонус +25% не учитывается, а также не учитываются прибавки от оружия (колец и т.д.). Таким образом ношение бонусных вещей не замедляет рост навыка.

to be contunue...

gif77 - offline gif77
11-02-2004 11:14 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ax
Все-таки самурай в игре не очень получился.
Почему? А что вообще от него требуется?
Самурай весьма приличный рукопашник:
1. Спец. атака против "мелких" врагов - критический удар.
2. Спец. атака против "жирных" врагов - молниеносный удар. (Который дает ускоренный рост навыка в используемом оружии - чаще бьешь-быстрее рост).
3. 25% бонусный навык очень удачно выбран (меч). Гораздо лучше чем у лорда, барда, епископа и т.д. (также дает ускоренный рост навыка в используемом оружии - точнее бьешь-быстрее рост).
4. Бонусные навыки (бесстрашие, молниеносный удар) весьма кстати.
5. Тип магии также выбран удачно. Целых 6 небоевых улучшающих заклинаний (зачарованный клинок, всевидящее око, рентген, щит от стрел, призрачный пес, свет), которые экономят ману у колдунов и обеспечивают приличный рост самурая в магии вне боя, в то время как в бою у него растут боевые навыки. Может вызывать элементала, есть отключающие заклинания (усмирение, сон, террор, заморозка, звуковой удар). Получает на ранних уровнях дальнобойные заклинания и заклинания бьющие по площади.
Сравните остальных рукопашников по первым 1-4 пунктам сами. Другие будут или на уровне или только хуже.
А вот по пятому пункту еще скажу. Для рукопашников-колдунов с не очень сильной боевой магией (ну естественно навыки слабее, чем у колдунов-специалистов) очень большое значение имеет прикладная, небоевая магия. Взлом замков, поиск ловушек, всякие щиты, хамелеоны, богатыри есть большой плюс для таких классов. Другой тип магии, весьма подходящий таким бойцам - восстанавливающая магия. Волшебство и теология имеют наибольшее количество таких заклинаний.
Не знаю, чем можно быть недовольным в самурае, в какое-то время я скупил все лечащие и восстанавливающие свитки у Брафита в Арнике и мой самурай стал еще и лекарем.
А вот по поводу других классов:
Валькирия, лорд: магия очень нужная, полезная... но нет средства массового истребления надоедливой мелюзги на большом расстоянии.
Следопыт, ниндзя: не полный набор восстанавливающих заклинаний (от безумия не спасет), прикладная магия тоже не особо. Хороша ударная магия, но ведь следопыт и ниндзя не колдуны...
Монах: не полный набор восстанавливающих заклинаний, прикладная магия тоже не особо. Долго нет дальнобойных заклинаний. Псионика - "деморализующая" магия, т.е. боевая, в которой важны высокие показатели навыков, но монах не специалист по колдовству.

ax - offline ax
12-02-2004 04:13 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Silicoid
Напрямую урон не используется в формулах, значение имеет только его удвоеность, ... и т.д.
Я понял. Просто я вопрос задавал с точки зрения целесообразности оснащения перса слабым оружием специально для прокачки соответствующих навыков на каком-либо не очень опасном монстре. Поскольку пытался подобное проделать неоднократно и безрезультатно, то вот теперь и удивляюсь.
Хотя еще не факт, что епископ сильнее колдонет
А хоть примерно не можешь сказать, на сколько вырастет уровень кастера с Power Cast = 100? Без учета модификаторов от заклинаний. А то не очень понятно, как выглядит это К.
Таким образом ношение бонусных вещей не замедляет рост навыка.
Спасибо. Это действительно очень интересно.
Но вот ни одного критического удара с пращей я что-то не припоминаю
Посмотрю, что там не так...

Из области домыслов. Возможно это как-то связано с нинздей. У ниндзи есть бонус (Auto-Penetrate) только на метательное оружие, хотя навык оружия включает и пращу.
Еще по одному вопросу интересует твое мнение. В мануале сказано, что стоящие впереди персы защищают задних от атак, в том числе дистанционных. Для монстров это справедливо, а вот для партии - нет. Как ты думаешь, это баг, сложность программной реализации или ... ?

gif77
Я тут сгоряча целый трактат накропал, но потом подумал, что не хорошо будет с нашей стороны оффтопить в такой нужной и важной теме. Тч если есть желание продолжать, то давай переедем в какую-нибудь другую.
Почему? А что вообще от него требуется?
А коротко (относительно того, что я хотел запостить раньше ), то мое мнение таково. Как боец (те чистый танк), самурай не соответствует предъявляемым требованиям. Причем как в атаке (относительно файтера), так и в защите (относительно файтера, валькирии, ниндзи и монка). По моему мнению, в W8 перекос баланса в защиту (в ToEE, например, наоборот). В игре есть возможность навернуть броню так, что никто попадать по файтерам просто не будет. (Я, например, до сих пор не знаю, какой урон наносит Пи-Ви, тк он еще ни разу по мне не попал (а бил я его ни один раз)). С самураем это не проходит (и скрытности у него тоже нет). Да и здоровье ему особо не прокачаешь, тк есть более необходимые ему характеристики. Возможно, он неплохо выглядел бы с посохом (качать под Zatoichi Bo) на фланге, но все руки не доходят проверить, да и бонус на мечи пропадет. Вообще, мне фея-ниндзя с мечами на предовой понравилась больше.
1. ... 2. ... 4. ...
Полагаться на эти способности не приходиться, как тут выяснилось. Приятные дополнения, но не более того. Кроме того, файтерские способности лучше.
3. 25% бонусный навык очень удачно выбран (меч).
Уже сказал выше. Меч- это хорошо, но самурай на передовой- это плохо.
5. ... Целых 6 небоевых улучшающих заклинаний
Именно, что "небоевых", тч они очень хороши для прокачки кастеров. Заклинания эти долгоиграющие и пока дело дойдет до боя, мана уже восстановиться. Правда, я играю бишопами, а у них с маной проблем нет.
А вот по пятому пункту еще скажу.
На мой взгляд, недокастеры нужны только для того, чтобы освободить кастеров в бою для атакующих спеллов. В начале боя это элементальный щит и щит души, скорость (иногда око за око, супермен и тп). В процессе боя могут понадобиться чистый воздух, лечение безумия и недомоганий, лечение и подобные. Мало того, что кастеров на все может не хватить(особенно в начале боя), но и отвлекать их на это просто жаль (особенно бишопа заставлять восстанавливать стамину и лечить самурая ). А слабенькие спеллы массового поражения у недокастеров успешно заменяют лук и праща. Ну, нет от них никакой практической пользы.
Следопыт, ниндзя
Они могут делать деньги. Я только на этом и выезжаю. А в остальном по части магии они примерно равны самураю. Следопыт вообще чем-то сходен с самураем, вот только на предовой ему стоять совсем не обязательно.
Да, кстати, чтобы ты меня не обвинил в излишнем рационализме, скажу, что сейчас я иду 2мя персами: монахом/женщиной/человеком и ниндзей/женщиной/карликом (расы выбирал по картинкам в инвентаре ). Использую у обоих только безоружный бой, тч на эксперте гемор еще тот. Вот где жалею, что у них нет мажеских зачарованного клинка и щита от стрел!

Silicoid - offline Silicoid
13-02-2004 09:44 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ax А хоть примерно не можешь сказать, на сколько вырастет уровень кастера с Power Cast = 100? Без учета модификаторов от заклинаний. А то не очень понятно, как выглядит это К.

По поводу формулы понижения магического урона, маленько ошибся все оказалось гораздо сложнее.

Вот уточненная формула понижения магического урона с учетом силы заклинания и power cast-а

...
X = УМ - KK
...

Коэффициент KK расчитывается вот так (приблизительно ):

KK = (K1/2 + K2)/2 + СЗ + УП/2
-------------------
X = KK*PC
X = (X*1374389535)/2^32
X = X/32
KK = KK + X
------------------

Примечание:
Чтобы не загромождать формулу не пишу INT, подразумевается что
все деления происходят нацело с отбрасыванием дробной части
1374389535 = 0x51EB851F

ГДЕ:
СЗ - Сила заклинания (1,2,3,4,5,6,7)
УП - Уровень перса
PC - Power cast

K1,K2 - Константы зависящие от типа заклинания:
Например:
Energy Blast, Frost: K1=2, K2=1
Fireball: K1=6, K2=3
Noxious Fumes: K1=5, K2=3
...

===================================================

ax Из области домыслов. Возможно это как-то связано с нинздей.
Ниндзя не виноват, все дело в праще. В коде стоит проверка:

ЕСЛИ перс_стреляет_из_пращи ТО расчет_критического_удара_НЕ_делать
Т.е. в этом случае критический удар = 0%
Это действует на всех: Ниндзя, Самурай, Монах, ...

===================================================
Еще по одному вопросу интересует твое мнение. В мануале сказано, что стоящие впереди персы защищают задних от атак, в том числе дистанционных. Для монстров это справедливо, а вот для партии - нет. Как ты думаешь, это баг, сложность программной реализации или ... ?
А каким образом ты определил, что для партии это не действует? В мануале сказано?
Кстати есть такая штука "Защита другого". Выбираешь перса, который будет защищать, потом щелкаешь на того кого надо защищать и все. Таким образом можно защищать кого угодно.

ax - offline ax
14-02-2004 07:58 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Silicoid
А каким образом ты определил, что для партии это не действует?
Из личных наблюдений. В английском FAQe тоже это написано. Всякие грабители и сорняки, находящиеся прямо перед фронтом отряда, спокойно расстреливают персов, находящихся в тылу формации. И это при том, что передовая линия формации укомплектована полностью. А если ты скажешь своему лучнику стрелять по монстру, стоящему за спинами других монстров, то он откажется это делать со словами "Мешает" и тд.
Кстати есть такая штука "Защита другого".
Это немного не то. В мануале эта функция описана не очень внятно, а в форумах пришли к выводу, что защита просто повышает (+2) показатель брони охраняемого. Хотя там не все так просто, как мне кажется.
Ниндзя не виноват, все дело в праще. В коде стоит проверка:
ЕСЛИ перс_стреляет_из_пращи ТО расчет_критического_удара_НЕ_делать

А в коде не сказано за что такая дискриминация?
В расчетах используется всегда чистое значение навыка. ... Таким образом ношение бонусных вещей не замедляет рост навыка.
А как с характеристиками, от которых зависит навык? Навеска от вещей тоже не влияет? И зачем тогда, скажем, шлем с +20 к интеллекту?

Silicoid - offline Silicoid
17-02-2004 07:41 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ax А если ты скажешь своему лучнику стрелять по монстру, стоящему за спинами других монстров, то он откажется это делать со словами "Мешает" и тд.
Ааа, ты вот про что. Это специально сделано чтобы "жизнь малиной не казалась"
А если серьезно, то чтобы ввести такую штуку надо менять весь движок игры, потому что в данным момент наша команда выступает как единое целое, этакий восьмиголовый шестнадцатирукий мутант причем занимающий одну "игровую клетку". Вот и получается, что никто никого не прикрывает т.к. все равны.

А в коде не сказано за что такая дискриминация?
Могу только предположить, что это сделано для повышения привлекательности дротиков и т.п. Потому как праща по всем параметрам лучше: дальность выше, камни крутые есть, боеприпасы продаются свободно и т.д. если бы еще и критический удар был, то никто бы вообще дротики и сюрикены не использовал.

А как с характеристиками, от которых зависит навык? Навеска от вещей тоже не влияет? И зачем тогда, скажем, шлем с +20 к интеллекту?
Ты меня прямо озадачил. Я сразу не обратил внимание, а сейчас посмотрел и оказывается характеристики (сила, интеллект и т.п.) от которых зависит навык тоже берутся в чистом виде =:-[...]
Т.е. если ты наденешь персу шлем +20 к интеллекту, то скорость роста таких навыков как Артефакты, Мифология и т.д. НЕ увеличится.

То ли это баг, то ли так и было задумано :-/

P.S.
Кстати хотел сказать по поводу странных записей в формулах типа: число умножить на страшную константу и делить на 2^32. так вот это эмуляция умножения на вещественое число. Например запись:

X = INT((X*1374389535)/2^32))
X = INT(X/32)

Это умножение на 0.01 потому что 1374389535/4294967296/32 = 0.01
Я просто дословно выписываю формулы, но при желании их можно оптимизировать, например формула роста навыка выглядит так:

X = ((100-Skill)*((Attr1+Attr2)/2))*0.01

gif77 - offline gif77
17-02-2004 10:36 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Silicoid
Вот еще пара моментов...

1. Если самурай/ниндзя/монах пользуется оружием, имеющим шанс "критического удара" (т.е. % убить), будет ли у него быстрее расти навык критического удара? Или для роста будут учитываться только "собственноручные" критикалы?

2. Такое понятие как "вес брони" (значения: Особый, Минимальный, Легкий, Средний, Тяжелый) имеет ли на что-нибудь влияние?

3. Если не трудно, можно выложить расчет вероятности попадания по противнику обычным оружием? Т.е. как влияет степень бронированности на вероятность поражения и количество получаемого физического урона? Попробовал походить без брони, так показалось, что не только чаще по мне попадать стали, но и урона больше стали наносить. Насколько помню в AD&D, например, урон не гасится броней, уровень бронированности влияет только на вероятность поражения. А вот в Realms of Arcania (от тех же Sir-Tech) бронированность наоборот не влияла на вероятность поражения (хотя нет, она уменьшала вероятность парирования удара), а гасила силу удара. Можно было так "одеться", что противники попадали по герою каждый раз, но почти всегда без урона.
Так вот, как здесь ведется расчет, в Wizardry? Как влияет заклинание "Слабая броня" (Бронь-ржавей) на вероятность поражения и количество урона?

Заранее спасибо.

Silicoid - offline Silicoid
18-02-2004 08:22 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Или для роста будут учитываться только "собственноручные" критикалы?
На скорость роста навыков влияет только
- Текущее значение навыка
- Первый и второй аттрибут от которых зависит навык
- И количество попыток выданых на шанс роста навыка
Так что прямого влияния нет, есть только косвеное влияние: попал/не попал -> больше попыток/меньше попыток на рост навыка.

Такое понятие как "вес брони"
Поставил в очередь задач...

Если не трудно, можно выложить расчет вероятности попадания по противнику обычным оружием?
Пока я копаю эти формулы, чтобы не скучно было ждать хочу поделиться маленьким секретиком, который обнаружил по ходу дела. Работает только для Английской версии 1.2.4 (для русской не смотрел его):

1. Запустите игру
2. Запустите любой универсальный тренер (например ArtMoney)
3. Введите в тренере новый адрес 68D810 тип BYTE
4. Запишите по этому адресу единицу (1)
5. Вернитесь в игру и начните бой
6. Когда ваши персы или монстры будут атаковать внимательно смотрите в лог, там будут появлятся интересные числовые характеристики

Это вам пища для размышлений и экспериментов...

gif77 - offline gif77
18-02-2004 10:22 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Когда ваши персы или монстры будут атаковать

Вспомнилось, есть еще одна непонятка... Вернее, странность, что-ли... Вот у бойца есть спец.удар, называймый "нокаутировать"... Сколько играл, всегда бойцу давал меч (т.е. не оружие с нокаутирующими свойствами). И как-то настолько редко видел нокауты, интересно какой там процент, наверно 1%, не больше... Зато бывало при стрельбе из лука, хлоп, и без сознания монстрюган. Один раз такое было в монастыре в самом начале, так что вряд ли у меня были нокаутирующие боеприпасы... Получается нокаут распространяется и на стрелковое оружие?

И еще... 100-сильный навык: Сильный удар просто дает + к точности удара? Если это не так, тогда еще вопрос: 100 сильный, 100 ловкий, 100 скоростной и 100 восприимчивый боец с 100-навыком в булаве, будет ли иметь одинаковую точность и мощность удара как такой же по всем параметрам священник? Я тут посмотрел свои недавние сохраненки: персы, одинаковые по характеристикам, имеют разную точность удара. Например боец и бард (они одного уровня) при экипировании квантовым мечом имели немного разные параметры. У бойца немного лучше (где-то на 3-4 к точности). Хотя при равенстве в силе и ловкости, бард чуток опережал бойца в подвижности и восприятии, а у бойца было больше выносливости, ну и сильный удар тоже больше.

Или сильный удар - это тольк как "виртуальные уровни" для бойца?

Silicoid - offline Silicoid
19-02-2004 08:03 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



gif77 у бойца есть спец.удар, называймый "нокаутировать"

Формула расчета вероятности нокатировать монстра способностью война

maxKnock = 5%
ЕСЛИ PersonLevel>=20 ТО
ChanceKnock = maxKnock
ИНАЧЕ
ChanceKnock = maxKnock*(PersonLevel*2 + 60)*0.01
КОНЕЦ

ГДЕ:
maxKnock - максимальный шанс нокаутировать
ChanceKnock - текущий шанс нокаутировать
PersonLevel - уровень война

Примечание:
- На 1-ом уровне воин имеет 3% нокаутировать, на 20-ом и выше имеет 5%
- Работает с любым оружием: мечи, луки, пращи, даже дротики.
- Суммируется с нокаутом (KO %) у камней и т.п
- Не забываем, что нокаут это эффект атаки, для которой резист Земля.


Например боец и бард (они одного уровня) при экипировании квантовым мечом имели немного разные параметры.
Это следует из формулы расчета Attack Rating. Я писал что считается особый проффесионально-уровневый бонус.

Расчет професионально-уровнего бонуса к Attack Rating

LPBonus = SUM(LevelByProfession*MultiplierByProfession)

ГДЕ:
LevelByProfession - Сколько уровней перс был в данной профессии
MultiplierByProfession - Множитель для конкретной професии (см. таблицу)
SUM - сумма по всем профессиям

Таблица множителей для профессий:
---------------------------
Профессия - множитиель
---------------------------
Воин - 4
Лорд - 4
Валькирия - 4
Следопыт - 4
Самурай - 4
Ниндзя - 4
Монах - 4
Вор - 3
Механик - 3
Бард - 3
Священик - 2
Алхимик - 2
Епипскоп - 2
Псионик - 2
Маг - 2
---------------------------
Например:
Перс имеет: 2 уровня Война и 10 уровней Епископа
Для Война множитель = 4
Для Епископа множитель = 2
LPBonus = 2*4 + 10*2 = 28

Поэтому чистый Воин и чистый Бард при одинаковых характеристиках и оружии будут иметь всегда разный Attack Rating, потому что у Война MultiplierByProfession = 4, а у Барда MultiplierByProfession = 3

Сильный удар просто дает
Сильный удар влияет на To Hit и все. Больше я что-то не заметил его роль в расчетах.

=================================================================

Если не трудно, можно выложить расчет вероятности попадания по противнику обычным оружием?

Атака в ближнем бою делиться на следующие фазы:
1. Расчитывается шанс попасть. Если попали то
2. Расчитывается шанс нанести урон. Если нанесли урон то
3. Расчитывается величина урона и наноситься жертве.

Теперь по порядку:

Приблизительная формула расчета шанса попасть (Перс атакует монстра):
-------------------------------------
CtH = (AR - BaseAC)*5 + ((INT_A + DEX_A + SPD_A + SNS_A) - (INT_D + DEX_D + SPD_D + SNS_D))*0.1
ЕСЛИ сложность = Novice ТО CtH = CtH * 1.4
ЕСЛИ сложность = Expert ТО CtH = CtH * 0.6
RND = Random[0..100]
ЕСЛИ RND>CtH ТО Missed!

ГДЕ:
CtH - Chance To Hit (шанс попасть)
AR - Attack Rating атакующего
BaseAC - Base Armor Class защищающегося
INT_A, DEX_A, SPD_A, SNS_A - Интеллект, Ловкость, Скорость, Восприятие атакующего
INT_D, DEX_D, SPD_D, SNS_D - Интеллект, Ловкость, Скорость, Восприятие защищающегося

Приблизительная формула расчета шанса нанести урон (Перс атакует монстра):
-------------------------------------
CtP = (AR - AC)*5 + ((INT_A + DEX_A + SPD_A + SNS_A) - (INT_D + DEX_D + SPD_D + SNS_D))*0.1
RND = Random[0..100]
ЕСЛИ RND>CtP ТО No penetration!

ГДЕ:
CtP - Chance To Penetration (шанс нанести урон)
AR - Attack Rating атакующего
AC - Armor Class конкретной части тела защищающегося куда наноситься удар
INT_A, DEX_A, SPD_A, SNS_A - Интеллект, Ловкость, Скорость, Восприятие атакующего
INT_D, DEX_D, SPD_D, SNS_D - Интеллект, Ловкость, Скорость, Восприятие защищающегося

Формула расчета урона в принципе простейшая:
Случайное число из Damage Range, который можно посмотреть в инвентаре.
Похоже что AC не влияет на величину урона. Другое дело, что всякие гадости висящие на мостре (персе)
типа тошнота, потеря сознания и т.п. вот эти штуки дают шансы нанести удвоеный/утроеный/и т.п урон.
Плюс учитывается понижение урона от стальной кожи или спец. способности - это в прицнипе и так можно посчитать процент поглощения явно пишется.

Примечание:
- Характеристики (Int, Dex, Spd, Sns) беруться с учетом бонусов.
- Формула для монстров почти такая же, только множитель уровня сложности наоборот берется.

Выводы:
1. Base AC - повышает шанс уклониться от удара
2. AC конкретной части тела повышает шанс избежать урона, если попали
3. Average AC - не играет роли, это чисто для информации

gif77 - offline gif77
19-02-2004 10:23 URL сообщения        Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Спасибо. Про Base AC особо. И классовые коэффициенты подтвердил.

Текущее время: 20:11 << < 1 2 3 4 5 6 7 8 9 10 11 12 13 > >>
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru