Показать сообщение отдельно
Старый 08.12.2011, 18:54   #5693
Skaarj

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Gothic 1, 2 & NotR: Вопросы

Пож-ста подскажите, как работает формула прямого попадания для оружия ББ со свойствами: урон режущий + колющий?

Исходные данные оружия:

Код:
instance ItMw_Addon_BanditTrader(C_Item)damageTotal = Damage_VLKSchwert;damagetype = DAM_EDGE | DAM_POINT;damage[DAM_INDEX_EDGE] = 0;damage[DAM_INDEX_POINT] = 40;
Урон зависит от ловкости, как
B_BeliarsWeaponSpecialDamage.d
Код:
otherweap.damage[DAM_INDEX_POINT] = 30 + (oth.attribute[ATR_DEXTERITY] / 2);
При уроне только колющий/режущий, работает классическая Формула для прямого попадания:
GS = WS + ST - RS, GS >= 5
GS = причиненный совокупный ущерб
WS = повреждение оружия
ST = сила/ловкость (бонус повреждения)
RS = защита вооружения противника

При сочетании двух типов урона суммарный урон от данной шпаги для тестового ГГ со статами: ToHit 100%, STR 0, DEX 100, по противнику без защиты составляет 150 ед. при расчетных:
GSstr + GSdex = 5 + (30 + 100/2 + 100) = 185 ед.

Добавление от 12/08/11, в 12:59:38
ЗЫ. При тестах получается вот такая зависимость урона от ловкости:

DEX/DAMAGE_TRUE/DAMAGE_COUNT
20/70/60+5
40/90/90+5
60/110/120+5
80/130/150+5
100/150/180+5

т.е. прибавка по ловкости дает только бонус от ST = сила/ловкость (бонус повреждения)!  ::)

Добавление от 12/08/11, в 16:12:17
Предположим, что бонус повреждения ST - это есть сила/ловкость * 0,75. Тогда прибавим 25% в формулу урона оружия, как
Код:
otherweap.damage[DAM_INDEX_POINT] = 30 + (oth.attribute[ATR_DEXTERITY] / 2) + (oth.attribute[ATR_DEXTERITY] / 4);
После тестов получаем:

DEX/DAMAGE_TRUE/DAMAGE_COUNT
20/75/60+5
40/100/90+5
60/125/120+5
80/150/150+5
100/175/180+5
120/200/210+5

Истина где рядом... *;D

Добавление от 12/08/11, в 19:14:12
Всем спасибо, ответ найден самостоятельно...

Формула прямого попадания для оружия ББ со свойствами:
damagetype = DAM_EDGE | DAM_POINT


GS = GS(EDGE) + GS(POINT) = (WS[DAM_EDGE] + STR - RS[PROT_EDGE]) + (WS[DAM_POINT] + (DEX - 30) / 2) + 30 - RS[PROT_POINT]) , GS >= 10

GS = причиненный совокупный ущерб
WS = повреждение оружия
STR/DEX = сила/ловкость (бонус повреждения)
RS = защита вооружения противника


Таким образом формула для шпаги, к. теперь не убивает противника и наносит полный колющий урон, будет выглядеть так:
[pre]otherweap.damage[DAM_INDEX_POINT] = 30 + (oth.attribute[ATR_DEXTERITY] / 2) + ((oth.attribute[ATR_DEXTERITY] - 30) / 2);[/pre]
Ответить с цитированием