Форум » Общий форум РГ » Формулы » Ответить

Формулы

Arseny: Заклинания, по шаблону: 0.Название 1.Стихия, Школа. 2.Группа, подгруппа. 3.Мана. 4.Срок действия. 5.Формула. ------------------------

Ответов - 49, стр: 1 2 3 All

Arseny: 0.Ледянная стрела; 1.Стихия: вода; Школа: нет; 2.Группа: damange; Подгруппа: cold;(урон холодом) 3.Мана: 7; 4.Срок действия: мнгновенно; 5.Формула: 41+а+7*Sp; где а = 7Water div (Water+1) c округлением вниз. Water - навык владения стихией воды, имеет значения от 0 до 3; ------------------------ 0.Лечение 1.Стихия: вода; Школа: нет; 2.Группа: bless Подгруппа: health(снимает все заклинания подгруппы illness). 3.Мана: 6; 4.Срок действия: мнгновенно. 5.Формула: востонавливает 20+(2*Water+6)*Sp здоровья. Примечания:Не действует на неживых. ------------------------ 0.Яд. 1.Стихия: вода; Школа: нет. 2.группа: damange-curse; подгруппа: illness(не снимаются заклинаниями подгруппы dispell). 3.Мана: 9; 4.Срок действия: 1+log2 a1 5.Формула: an= a1 div 2n-1, где а1 = 16+4*Sp – базовый урон. n - разность текущего хода и хода, когда было наложено заклинание. Примечания:Не действует на неживых. При повторном накладывании заклинания, более мощный яд заменяет старый. Если герой владеет магей воды, то яд суммируется(но второе слогаемое делится на 5-Water). Сопротивление магии прямопропорционально понижает наносимый ядом урон, но не влияет на вероятность его накладывания на юнита. ------------------------ 0.Ускорение 1.Стихия: воздух; Школа: нет; 2.Группа: bless; Подгруппа: нет; 3.Мана: 5; 4.Срок действия: 1*Sp ходов; 5.Формула: если скорость цели < 12, тогда: скорость:= скорость + 3 иначе: скорость:= скорость*125%; ------------------------ 0.Жрецкое проклятие. 1.Стихия: все; Школа: жрецкое заклинание; 2.Группа: curse подгруппа: нет. 3.Мана: 15; 4.Срок действия: 100 ходов(пока не снимут) 5.Формула: an=Σnk=1(a1+k), , где n – текущий ход(от кастования данного заклинания), a1 – базовое понижение интуиции(обычно ~3). ------------------------ 0.Искры 1.Стихия: воздух-огонь; Школа: нет. 2.Группа: Damange; подгруппа: нет; 3.Мана: 4; 4.Срок действия: мнгновенно. 5.Формула: a:= 1+Random(3+Air); //Урон электричеством. b:= 1+Random(3+Fire); //Урон огнем. Окончательный урон:= (a+b)*Sp; ------------------------ 0.Шок – наносит легкий урон электричеством, оглушая цель(ходит последней). 1.Стихия: воздух; Школа: нет. 2.Группа: Damange; подгруппа: electry; 3.Мана: 3; 4.Срок действия: мнгновенно. 5.Формула: Урон = 10*Sp; Понижает инициативу стека на Sp. При продвинутом знании магии воздуха - цель всегда ходит последней. При эксперте - урон на 10 единиц выше. ------------------------ 0.Рука Смерти 1.Стихия: ???(нет); Школа: Смерть. 2.Группа: Damange&Curse; подгруппа: нет; 3.Мана: 50(?); 4.Срок действия: мнгновенно. 5.Формула: убивает: 1+(Sp*(Skill+1) div UnitLevel)0,5 юнитов в стеке. Skill - навык владения магией смерти. ------------------------

hippocamus: Понял одно - Арсений очень умный!...

Arseny: Если что не нравится, отписывайтесь. И свои формулы предлагайте. P.S. hippocamus, не понял, к чему это?


GORynytch: Arseny пишет: Water - навык владения стихией воды, имеет значения от 0 до 3 Разве мы утвердили, что будет 3 уровня первичных навыков? Я лично за 10. Трёх явно мало будет.

Arseny: А почему сразу 10? 1 и 2 уровни можно изучить просто так, 3,4,5 - при знании магии воды либо мудрости.

GORynytch: Не, я имею в виду, чтоб каждый навык прокачивался по 10. Тогда, если по магии: 1 и 2 уровень магии учатся сразу, 3 учится при магии = 1 или мудрости = 2, 4 учится при уровне магии 3 или мудрости 5, 5 учится при уровне магии 7 или мудрости 10. Тогда получается, что для того, чтобы изучить магию определённого уровня, проще получить навык магии, потому, что мудрость -- общая, а значит, магии должны требовать более её высокий уровень. Иначе тупо получается -- тебе учить магию Воды 1 уровня чтоб получить доступ к магии Воды 3 уровня, или учить мудрость чтоб получить доступ ко всем магиям 3 уровня? А мой вариант сбалансирует этот недостаток. Кроме этого, 10 уровней дадут большее разнообразие в формулах, бонусах и эффектах.

Arseny: Зато магия воды, в отличие от мудромти, дает тебе бонус ко всем заклинаниям воды + дает возможность изучить закл. 6 уровня. Кроме этого, 10 уровней дадут большее разнообразие в формулах, бонусах и эффектах. это да, но неособо удобно с прокачкой выходит. Разнообразия, думаю, итак хватает, ибо еще опыт у заклинаний будет.

Entuser: Arseny пишет: 5.Формула: an=Σnk=1(a1+k), , где n – текущий ход(от кастования данного заклинания), a1 – базовое понижение интуиции(обычно ~3). Как-то слишком быстро... На первом ходу -4, на втором -9 , на третьем -15, на четвертом -22. p.s. другой вид функции - n*a1 + 0.5*n*(n+1)

GORynytch: Arseny пишет: дает возможность изучить закл. 6 уровня. Мудрость для этого также нужна.

Arseny: p.s. другой вид функции - n*a1 + 0.5*n*(n+1) да, можно и без алгебраической суммы. Мудрость для этого также нужна. Надо будет решить все это. Имхо: 1 и 2 уровень без школы - любой герой с книгой магии. 1 уровень со школой - тоже любой герой с книгой магии. 3-5 уровни магии без школы - герой со знанием соответствующей стихии, либо герой с навыком "мудрость" 2-4(5) - со школой - знание соответствующей школы(и стихии?) (5) - знание соответсвующей школы и стихии. 6 уровень - воронки стихий - знание соответствующей стихии и мудрости. 6 уровень - комбинированные элементали - знание 2 соответствующих стихий. 6 уровень - остальное - знание 2 требуемых школ. Навыки групп заклинаний(ударные, благословительные, проклинательные, призыв) - позволяют изучать заклинания соответствующих типов на 1 уровень выше.

GORynytch: Полностью с тобой согласен. Но не совсем понял это:2-4(5) - со школой - знание соответствующей школы. (5) - знание соответсвующей школы и стихии. Я бы сделал так: 2 -- 4 (школы) -- знание соответствующей школы или мудрости. 5 (школы) -- обязательное знание школы высшего (если 3 уровня навыков) либо 6 (если 10 уровей) уровней либо знание мудрости высшего уровня (в обеих системах). Знание стихии НЕ ОБЯЗАТЕЛЬНО для некоторых заклинаний. Если заклинание создано на базе стихийного (Священная стрела, Проклятая стрела = ул. Волшебная стрела; Тёмная молния = ул. Молния), знание стихии и самого заклинания ОБЯЗАТЕЛЬНО для всех уровней, если у тебя нет Мудрости (кроме 1).

Arseny: Для ул. магии(вроде Освященной стрелы, Темной молнии, Ярости и т.д.) требуется знание самого заклинания(не улучшеного) и базового(1-2 ур.), продвинутого(3) или экспертного(4-5) навыка школы. для 2-3 ур. школы - можно знание мудрости. 4 ур. - знание школы. 5 ур. - знание школы и стихии/мудрости(эксперт)/знание навыка заклинаний соответствующей группы.

GORynytch: Слушайте, придумал неплохую формулу для опыта (с одной пачки): Вначале перед боем происходит проверка (через Fight value каждого существа) на размеры армии и её общую силу (по FV). Силы армий делятся друг на друга и записываются в а1 и а2 соответственно. Если побеждает 1 армия, то а = а2 (т.е. 2 армия/1 армия), иначе а = а1. (Random [x..z] + d * ((d + r) * a - c) - L div(50*d)) * q * B = t If t>=q then Exp=t else Exp=q где d -- уровень убитых существ, r -- ранг убитых существ, L -- уровень героя, q -- количество убитых существ, c -- уровень самого сильного существа в армии героя. x и z -- два числа, одно больше, другое меньше числа Y на 25--50%. Число Y вычисляется по формуле, учитывающей атаку, защиту, скорость, урон (МАХ и MIN), интуицию, ловкость, скорость и включает в себя 50% ХП существа. B -- бонусы за убийство сильного существа более слабыми (ниже уровнем). Общий опыт равен сумме этих формул. ПРИМЕР выложу позже.B = 1 при одинаковых уровнях либо уровень убитых существ ниже уровня ваших существ, 1,1 -- если убитые выше на 1 уровень, 1,25 -- если на 2 уровня, 1,5 -- 3 уровня, 2 -- 4 уровня, 2,5 -- 5 уровней, 3,5 -- 6 уровней, 5 -- если разница в 7 и более уровней.

Arseny: Random [x..z] - можно заменить на fight value существа. r - ранг убитых - это что? Улучшенный/не улучшенный? Скобка "(d + r - c)" может заходить в минус. -------------------- Предположим, что у противника одни не улучшенные грифоны в стеке, их 10 штук. Наш Герой 1 уровня. В нашей армии также есть один стек юнитов третьего уровня. Ранг приму за единицу, Смотрим: a:= Random [x..z]; //Заменим на а, это основной коэфициент; Result:= a + 3*(3+1-3) - (1*10*1) div (50*3) = а + 3 - 1/15(округляется до 0) => t = a+3; Исходя из этого, предлагаю "-L div(50*d))*q" изменить(ибо во многих случаях коэфициент будет <1). В героях 4(и, возможно, 5) все горадо проще: Resut:= Опыт существа(В героях 3 - его здоровье) * Количество существ в стеке.

GORynytch: Arseny пишет: В героях 4 (и, возможно, 5) все горадо проще: Resut:= Опыт существа(В героях 3 - его здоровье) * Количество существ в стеке. Правильно, и это меня бесило, когда на 50 уровне получаешь по 4 опыта за каждого гремлина и по 10 за копейщиков (тупость). А нужно, чтоб кол-во опыта изменялось в зависимости от твоего уровня. r -- ранг существа, если включён «Опыт армий» (т.к. у существ в ВОГ3,58f называлось не «Уровень», а «Ранг»).Random [x..z] - можно заменить на fight value существа Да, но со случайным коэффициентом от - 30% до + 30%, как в Варкрафте 3 (там при убийстве опыт немного прыгает в промежутке от ~= -25 до 25%).Исходя из этого, предлагаю "-L div(50*d))*q" изменить(ибо во многих случаях коэфициент будет <1). Оно и должно быть меньше 0! Это -- штраф за уровень, чтоб на высоком уровне не давалось мног опыта за существ первых уровней. Тогда герой уровня 1000 будет получать всего по 1 опыта за копейщиков, гремлинов, троглодитов и т.д, а не по обычному кол-ву опыта. Это будет как в играх-РПГ. Чем ты сильнее и чем слабее ты бьёшь существ, тем меньше тебе опыта идёт.Вот пример использования этой формулы: Возьмём Копейщиков. У них ХП 10, атака 30, защита 27 (тк МАХ атаки и защиты не 100, а 65535), скорость 4, урон 2-3, сопротивлений почти нет. Уроень нашего героя 120. У нас МАХ уровень существ 3. Пусть Y будет равным 10, а ранг 4. Тогда получится следующее: (Random [x..z] + d * (d + r - c) - L div(50*d)) * q * B = (Random [8..13] + 1 * (1 + 4 - 3) - 120 div50) * 70 = [560..910] Exp. Аналогично и другие существа и уровни.

Arseny: Да, но со случайным коэффициентом от - 30% до + 30%, как в Варкрафте 3 (там при убийстве опыт немного прыгает в промежутке от ~= -25 до 25%). Не надо в формуле случаеность делать. Все должно быть четко. Тогда герой уровня 1000 будет получать всего по 1 опыта за копейщиков, гремлинов, троглодитов и т.д, а не по обычному кол-ву опыта. Это будет как в играх-РПГ. Чем ты сильнее и чем слабее ты бьёшь существ, тем меньше тебе опыта идёт. Но у героя дельта уровней с каждым уровнем будет возрастать! Тогда героя еще сложнее будет прокачать до более высокого уровня. В героях 3 дельта уровней = 1,2 от преведущей дельты, после 11 ур., но думаю, что надо уменьшить коэфициент на более высоких уровнях, чтобы реально было прокачать героя до, хотябы, уровня 70-ого. Насчет твоей формулы: А почему чем больше существ мы убили, мы меньше опыта получим? Например убили 1 и 100 черных драконов: "- L div(50*d)) * q" - рассмотрим этот кусочек, ибо только тут фигурирует их количетсво. 1 дракон: -L*1 div 50*7 = -L/350 - штраф; 100 драконов: -L*100 div 50*7 = -2L/7; L/350 > 2L/7 только, если L < 0, чего быть не может. Тоесть, чем выше у героя уровень, чем меньше он получает опыта за большее количество юнитов.

GORynytch: (Random [x..z] + d * ((d + r) * a - c) - L div(50*d)) * q * B = t Ты невнимательно смотришь формулу! q -- ЭТО ОБЩИЙ МНОЖИТЕЛЬ ВСЕЙ СКОБКИ!!!Вот опыт для первых 53 уровней: 1--500; 2--1000; 3--1500; 4--2000; 5--2500; 6--3000; 7--3600; 8--4200; 9--4800; 10--5400; 11--6000; 12--6800; 13--7600; 14--8500; 15--9500; 16--10600; 17--11750; 18--12900; 19--14100; 20--15300; 21--16600; 22--17900; 23--19300; 24--20700; 25--22200; 26--23800; 27--25400; 28--27000; 29--29000; 30--31000; 31--33300; 32--35600; 33--38000; 34--40400; 35--42800; 36--45200; 37--47600; 38--50000; 39--52500; 40--55000; 41--57500; 42--60000; 43--63000; 44--66000; 45--69500; 46--73000; 47--76500; 48--80000; 49--84000; 50--88000; 51--92000; 52--96000; 53--100000. Далее я предлагаю сделать дельту уровня 5%*SL, где SL = SL-1(или, возможно, правильнее написать L-54?)*0,99, начиная с 53. Тогда каждые 15--16 уровней опыт будет удваиваться. Если так делать и делать 8-байтное число для опыта, то можно будет сделать много уровней (не меньше 1000, посчитать точно негде).Перечитайте мой первый пост про формулу опыта.

fireman: Чёт слишком сложно получается,надо не уменьшать способность героя набирать опыт за одно и тоже кол-во войск,просто на малых кол-вах монстров ты фиг наберёж на седующий левел

Arseny: Ты невнимательно смотришь формулу! Все, теперь заметил. Чёт слишком сложно получается,надо не уменьшать способность героя набирать опыт за одно и тоже кол-во войск,просто на малых кол-вах монстров ты фиг наберёж на седующий левел Помоему итак нормально. Если дельта растет, а количество опыта за юнитов - нет, то нормально все будет. Но я за понижение(и повышение) опыта из-за уровня героя, Мах уровня существа в армии и прочих параметров.

GORynytch: Кстати, люди, напишите прогу, в которой можно вычислить максимальный доступный уровень по моей формуле (пост №240), а так же чтоб она показывала сколько опыта нужно на такой-то уровень. Чтоб во-первых, знать, сколько уровней будет максимально, а во-вторых, распределение опыта по уровням. Насколько я знаю, написать её не сложно, просто я совсем далёк от математики, да и программированием не занимался года 3.



полная версия страницы