Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Объект: Алтарь Воскрешения
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Horn of the Abyss > Архив открытого форума > Исполнители Желаний
tolich
4. Алтарь Воскрешения
Автор: (назовись, автор!)
Тип: Объекты
Сложность: Легкая
Суть: позволяет единожды в месяц воскресить за цену 3*(цена юнита) один из отрядов героя, потерянный им в отрезке трех дней.
Комментарий: может быть, сомнительная по балансу идея - как я уже писал выше - сейчас нужно взять всю амплитуду идей - и сложные, и дисбалансные, и графически сложные, и невыполнимые - дабы понять какими вообще могут быть идеи.

Это оказалось чуть сложнее, чем я думал. До завершения пока далеко, но работа не стоит.
Aleee
Ого, да тут целая !!IF:M.
Шучу. Если будут трудности, пиши в тему. Лично я, если смогу, помогу.
Docent Picolan
2 толич
неплохо бы перед созданием темы было написать о том что ты взялся делать скрипт для данного объекта в теме Распределение работы. сейчас очень легко запутаться и поэтому большая просьба по части системы подфорума и правилам работы делать всё максимально точно

Добавлено ([mergetime]1242495711[/mergetime]):
и заполнить первый пост в теме тоже лучше по формату "автор: тот-то, сложность: такая-то" и т.д.
tolich
А разве я не написал, что буду делать Алтарь? Других Алтарей тогда не было.
А автор пока не найден.

Цитата(Aleee @ 16 May 2009, 20:32)
Ого, да тут целая !!IF:M.

Не поверишь, скрипт уже полтора килобайта. laugh.gif
Представляю, скока в нем будет мегабайт к релизу.

(Можно было бы и другой скрин запостить - было бы "Это же !!HE-1:C"). crazy.gif

Немножко конкретнее о прогрессе: для издевательств выбран WoG-овский 63/4. Погибшие армии планируется помещать в w151-w174 (вид, численность и число дней 1-3, до 8 штук). Ежедневный таймер снижает число дней, у кого 0 дней - удаляет. Ежемесячный таймер сбрасывает флаги посещенности объекта.

Алтарь уже проверяет посещенность и наличие погибших (внесенных искусственно). Пополнение списка в бою и воскрешение еще не готовы, но будут.
tolich
Бета-версия скрипта. В переменных - Хаос, во флагах - Хаос, но иногда даже работает. Впрочем, функциональность пока не такая, как было задумано:
1) Нет ограничения в три дня, но возродить можно только потери в последней проведенной битве. Ежемесячный рестор вроде работает, хотя иногда вроде глючит, если сидеть на алтаре.
2) Воскрешение пока халявное. Может мне кто подскажет, где брать цены на юниты?
3) Воскрешаются ВСЕ, включая элементалов и големов... Имеет ли это смысл менять?
4) Подсказки "(посещено)" пока не видел, хотя алтарь исправно ломается (гы) при воскрешении стека.
*) В любом случае, я делаю небольшую передышку на "Cursed Undead 1.5".

CODE
ZVSE

!?GE1;
!!DO1/0/155/1:P;
!!UN:U63/4/?y1;
!!DO2/1/y1/1:P;

!#TM1:S1/999/28/255;
!?TM1;
!!UN:U63/4/?y1;
!!DO4/1/y1/1:P;

!?FU1;
!!IF:Wx16;
!!VRw151:S-1; !!VRw152:S0; !!VRw153:S0;
!!VRw154:S-1; !!VRw155:S0; !!VRw156:S0;
!!VRw157:S-1; !!VRw158:S0; !!VRw159:S0;
!!VRw160:S-1; !!VRw161:S0; !!VRw162:S0;
!!VRw163:S-1; !!VRw164:S0; !!VRw165:S0;
!!VRw166:S-1; !!VRw167:S0; !!VRw168:S0;
!!VRw169:S-1; !!VRw170:S0; !!VRw171:S0;

!?FU2;
!!UN:U63/4/x16/10;
!!OB10:H24C0;

!?FU4; [отметить непосещенным для текущей стороны]
!!UN:U63/4/x16/10;
!!OB10:H=24; !!FU&1:E; [вообще не посещен ни разу]
!!OW:C?y1; !!OB10:C?y2;
!!VRy2&y1=0:&254; !!VRy2&y1=2:&251; !!VRy2&y1=4:&239; !!VRy2&y1=6:&191;
!!VRy2&y1=1:&253; !!VRy2&y1=3:&247; !!VRy2&y1=5:&223; !!VRy2&y1=7:&127;
!!OB10:Cy2 H=26;

!#VRz23:S^Выберите, кого вернуть?^;

!#VRz24:S^Алтарь Возрождения
(воскрешает павших воинов)^;
!#VRz25:S^Алтарь Возрождения
(воскрешает павших воинов)
(посещено)^;
!#VRz26:S^Алтарь Возрождения
(воскрешает павших воинов)
(не посещено)^;
!#VRz27:S^{Алтарь Возрождения}

Вы подходите к древнему алтарю, по слухам, позволяющему возрождать мертвых. Слава Богу, все Ваши воины пока живы и его помощь Вам не нужна.^;
!#VRz28:S^{Алтарь Возрождения}

Вы подходите к древнему алтарю, по слухам, позволяющему возрождать мертвых. Впрочем, все Ваши попытки активировать алтарь ни к чему не привели. Скорее всего, он сломан.^;
!#VRz29:S^{Алтарь Возрождения}

Вы подходите к древнему алтарю, по слухам, позволяющему возрождать мертвых. Вам повезло - алтарь работает! Хотите ли Вы воспользоваться им сегодня?^;

!?OB63/4?1000;
!!OW:C?y1; !!OB998:C?y2; [перво-наперво лезем в CW на предмет посещенности]
!!VRy2&y1=0:&1; !!VRy2&y1=2:&4; !!VRy2&y1=4:&16; !!VRy2&y1=6:&64;
!!VRy2&y1=1:&2; !!VRy2&y1=3:&8; !!VRy2&y1=5:&32; !!VRy2&y1=7:&128; [y2>0, если уже посещали]
!!IF&y2>0:M1/28; !!FU&y2>0:E;
!!OB998:H26; [здесь был Вася]
[теперь смотрим на наши трупы, а есть ли?]
!!IF:W-1 V15/0;
!IF:M^W%151 W%154 W%157 W%160 W%163 W%166 W%169^;
!!IF&w151>=0/w152>0:V15/1; !!IF&w154>=0/w155>0:V15/1; !!IF&w157>=0/w158>0:V15/1;
!!IF&w160>=0/w161>0:V15/1; !!IF&w163>=0/w164>0:V15/1; !!IF&w166>=0/w167>0:V15/1;
!!IF&w169>=0/w170>0:V15/1;
!!IF&-15:M1/27; !!FU&-15:E; [все живы, странно]
!!VRy1:S0; !!VRy1&w151>=0/w152>0:S31; !!VRy2:S0; !!VRy2&w154>=0/w155>0:S32;
!!VRy3:S0; !!VRy3&w157>=0/w158>0:S33; !!VRy4:S0; !!VRy4&w160>=0/w161>0:S34;
!!VRy5:S0; !!VRy5&w163>=0/w164>0:S35; !!VRy6:S0; !!VRy6&w166>=0/w167>0:S36;
!!VRy7:S0; !!VRy7&w169>=0/w170>0:S37;
!!FU3:Py1/w151/w152; !!FU3:Py2/w154/w155; !!FU3:Py3/w157/w158; !!FU3:Py4/w160/w161;
!!FU3:Py5/w163/w164; !!FU3:Py6/w166/w167; !!FU3:Py7/w169/w170;
!!IF:Q1/29; !!FU&-1:E;
!!IF&1:G1/1/0/23/y1/y2/y3/y4/y5/y6/y7/0/0/0/0/0;
!!VRy1&v1=1:Sw151; !!VRy2&v1=1:Sw152;
!!VRy1&v1=2:Sw154; !!VRy2&v1=2:Sw155;
!!VRy1&v1=4:Sw157; !!VRy2&v1=4:Sw158;
!!VRy1&v1=8:Sw160; !!VRy2&v1=8:Sw161;
!!VRy1&v1=16:Sw163; !!VRy2&v1=16:Sw164;
!!VRy1&v1=32:Sw166; !!VRy2&v1=32:Sw167;
!!VRy1&v1=64:Sw169; !!VRy2&v1=64:Sw170;
!!VRw151&v1=1:S-1; !!VRw152&v1=1:S0;
!!VRw154&v1=2:S-1; !!VRw155&v1=2:S0;
!!VRw157&v1=4:S-1; !!VRw158&v1=4:S0;
!!VRw160&v1=8:S-1; !!VRw161&v1=8:S0;
!!VRw163&v1=16:S-1; !!VRw164&v1=16:S0;
!!VRw166&v1=32:S-1; !!VRw167&v1=32:S0;
!!VRw169&v1=64:S-1; !!VRw170&v1=64:S0;
!!HE-1:Cy1/y2/-1/0/-1/0/-1/0/-1/0/-1/0/-1/0;
!!OW:C?y1; !!OB998:C?y2;
!!VRy2&y1=0:|1; !!VRy2&y1=2:|4; !!VRy2&y1=4:|16; !!VRy2&y1=6:|64;
!!VRy2&y1=1:|2; !!VRy2&y1=3:|8; !!VRy2&y1=5:|32; !!VRy2&y1=7:|128;
!!OB998:Cy2 H=25;

!?FU3; [zvar mon cnt]
!!FU&x1=0:E; !!VRz-1:M3/x3;
!!UN&x3=1:N3/z-2/x2/0; !!UN&x3>1:N3/z-2/x2/1;
!!VRz-1:+^ ^;!!VRz-1:+z-2;!!VRz-1:+^ за 0 золота.^;
!!VRzx1:Sz-1;

!?BA52&1000;
!!BA:H0/?y15 H1/?y16;
!!HE-10:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy15;
!!VRw151:Sy1; !!VRw152:Sy2; !!VRw153:S3;
!!VRw154:Sy3; !!VRw155:Sy4; !!VRw156:S3;
!!VRw157:Sy5; !!VRw158:Sy6; !!VRw159:S3;
!!VRw160:Sy7; !!VRw161:Sy8; !!VRw162:S3;
!!VRw163:Sy9; !!VRw164:Sy10; !!VRw165:S3;
!!VRw166:Sy11; !!VRw167:Sy12; !!VRw168:S3;
!!VRw169:Sy13; !!VRw170:Sy14; !!VRw171:S3;
!!FU&y16=-2:E;
!!HE-20:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy16;
!!VRw151:Sy1; !!VRw152:Sy2; !!VRw153:S3;
!!VRw154:Sy3; !!VRw155:Sy4; !!VRw156:S3;
!!VRw157:Sy5; !!VRw158:Sy6; !!VRw159:S3;
!!VRw160:Sy7; !!VRw161:Sy8; !!VRw162:S3;
!!VRw163:Sy9; !!VRw164:Sy10; !!VRw165:S3;
!!VRw166:Sy11; !!VRw167:Sy12; !!VRw168:S3;
!!VRw169:Sy13; !!VRw170:Sy14; !!VRw171:S3;

!?BA53&1000;
!!BA:H0/?y15 H1/?y16;
!!HE-10:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy15;
!!VRw152:-y2; !!VRw155:-y4; !!VRw158:-y6; !!VRw161:-y8;
!!VRw164:-y10; !!VRw167:-y12; !!VRw170:-y14;
!!FU&y16=-2:E;
!!HE-20:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy16;
!!VRw152:-y2; !!VRw155:-y4; !!VRw158:-y6; !!VRw161:-y8;
!!VRw164:-y10; !!VRw167:-y12; !!VRw170:-y14;
MasterOfPuppets
Видимо, скрипт пока чисто для вставки в тело карты?
tolich
Да, при этом желательно отрубить все вог-опции и не забыть про Global Event, начинающийся с "1".

Добавлено ([mergetime]1242765073[/mergetime]):
объект 63/4 - на вкладке городов, сразу под Конфлюксом. smile.gif
MasterOfPuppets
Цены на юнитов - команда !!MA:C с синтаксисом "получить". Мифрил не используй - вместо него придёт значение Fight Value.
tolich
Спасибо, придется немного подкрутить FU3, ну и OB63/4.

Да, AI на объект пока не заморачивается.
Ogion Stranniy
Может это к лучшему?))
MasterOfPuppets
Вообще-то, исходя из скрипта, не вижу проблем, чтобы объектом не мог пользоваться ИИ. Разве что он будет очень плохо его посещать.
lion-killer
А может действительно сделать воскрешение существ только с последней битвы? Ведь и за один день можно обчистить кучу объектов, потерять всю армию, а потом взять и всю воскресить.
Lindar
Первый вариант звуков Алтарь Воскрешения.
Кладем в DATA, и проверяем на монастыре (двеллинг монахов).
Vade Parvis
Лично мне название "алтарь воскрешения" всегда казалось откровенно притянутым за уши, чуждым... Предлагаю, имхо, более аккуратный вариант: Госпиталь. Да-да, именно госпиталь. Такое заведение вовсе не чуждо средневековью, так как тогда госпитали уже существовали.

Заодно - альтернативный вариант св-в, как мне кажется - более аккуратный.
Объект "Госпиталь" может за плату "воскресить"
(логическое обоснование оч. простое - спасение тяжелораненных бойцов, которые иначе бы погибли) часть (подобно скрипту "воскрешающей" после битвы палатки) потерь любого стека в последней битве (за каждый стек требуется отдельная плата).
Восстановить потери можно лишь в случае, если прошло меньше недели, упрощенная формула: n=m*k/(d+1), где n - количество "воскрешаемых" бойцов стека, m - потери стека в последней битве, k - постоянный модификатор (меньше 1), d - кол-во дней, прошедших после последней битвы.
Docent Picolan
Цитата(Lindar @ 21 May 2009, 12:27)
Первый вариант звуков Алтарь Воскрешения.
Кладем в DATA, и проверяем на монастыре (двеллинг монахов).

какие-то глюки с загрузкой с народа, не перезальёшь куда-нибудь ещё? допустим - ifolder
Lindar
http://ifolder.ru/12391972
tolich
Очередная бета-версия. Хаос слегка устранен, использование переменных, функций и флагов упорядочено и задокументировано. Ограничения в три дня опять еще нет, возродить можно только потери в последней проведенной битве.
1) Ежемесячный рестор вроде работает, хотя иногда вроде глючит, если сидеть на алтаре. Также в этом случае не срабатывает функция подгонки названия объекта под игрока (для тех, кто этот объект еще не посещал, для тех, кто посещал, и для тех, кто в этом месяце пользовался - разные сообщения.).
2) Воскрешение теперь платное. Стоимость воскрешения 3*цена покупки (только золото). В процессе кодирования в голову пришла такая идея: Поместья (или Дипломатия) уменьшает стоимость воскрешения до 2.5, 2, 1.5 цен покупки... Стоит ли, и Поместья, Дипломатия или что-то другое?
3) Воскрешаются ВСЕ, включая элементалов, нежить и големов... Имеет ли это смысл менять?
4) Тестировалось на версии 3.58f.

CODE
ZVSE
Задействованы:
функции: 1-4 (инициализация и поддержка Алтаря) 5(2**N) 6(форматирование варианта воскрешения)

переменные: w151-157 (тип армии в потерях), w158-w164 (размер потерь), w165(счетчик дней), z23-30(разные сообщения), z31-z37(тексты о цене возрождения), v1(а как же без нее?smile.gif), v10-12 (координаты Алтаря, локально)

флаги: 15(проверка на наличие потерь),16(контроль инициализации)

CW Алтаря: 00000000 00000000 vvvvvvvv uuuuuuuu ( v-алтарь посещен хотя бы раз игроком номер 0-7. u-алтарь использовался этим игроком и должен перезарядиться )

!#VRz22:S^А я никого не буду воскрешать!^;
!#VRz23:S^Выберите, кого вернуть?^;
!#VRz24:S^Алтарь Возрождения^;
!#VRz25:S^Алтарь Возрождения
(посещен)^;
!#VRz26:S^Алтарь Возрождения
(воскрешает павших воинов)^;
!#VRz27:S^{Алтарь Возрождения}

Вы подходите к древнему алтарю, по слухам, позволяющему возрождать мертвых. Слава Богу, все Ваши воины пока живы и его помощь Вам не нужна.^;
!#VRz28:S^{Алтарь Возрождения}

Вы подходите к древнему алтарю, по слухам, позволяющему возрождать мертвых. Впрочем, все Ваши попытки активировать алтарь ни к чему не привели. Скорее всего, он сломан.^;
!#VRz29:S^{Алтарь Возрождения}

Вы подходите к древнему алтарю, по слухам, позволяющему возрождать мертвых. Вам повезло — алтарь работает! Хотите ли Вы воспользоваться им сегодня?^;
!#VRz30:S^Воскрешение не бесплатно. Сегодня у Вас явно недостаточно золота для того, чтобы воскресить хоть кого-то...^;

Инициализация Алтаря, w-переменных и ежемесячный сброс признака посещенности.
!#TM1:S1/999/28/255;
!?TM1;
!!DO1/0/155/1&-16:P; [правильная установка w-переменных]
!!UN:U63/4/?y1; [перебираем Алтари Воскрешения]
!!DO3/1/y1/1:P; [инициализируем очередной Алтарь]
!!IF&-16:V16/1;

Прописывание подходящей подписи Алтарю, в зависимости от цвета игрока.
!#TM2:S1/999/1/255;
!?TM2;
!!UN:U63/4/?y1; [перебираем Алтари Воскрешения]
!!DO4/1/y1/1:P; [оскверняем очередной Алтарь надписями smile.gif]

Функция сбрасывает данные о потерях указанного героя
!?FU1; !!IF:Wx16; !!DO2/151/157/1:P;

Функция сбрасывает данные о потерях указанного стека
!?FU2; !!VRwx16:S-1;

Функция инициализирует алтарь по его номеру и делает его непосещенным
!?FU3;
!!UN:U63/4/x16/10;
!!OB10&-16:C0; !!OW:C?y1; !!FU5:Py1/?y3/?y4; !!OB10:C?y2;
!!VRy2:|y3Xy3; !!OB10:Cy2;

!?FU4;
!!UN:U63/4/x16/10; !!OW:C?y1; !!FU5:Py1/?y3/?y4; !!OB10:C?y2; !!VRy3:&y2; !!VRy4:&y2;
!!OB10:H24; !!FU&y4=0:E; !!OB10:H26; !!FU&y3=0:E; !!OB10:H25;

Функция возведения 2 в степень x1 и в степень x1+8.
!?FU5;
!!VRx2&x1=0:S1; !!VRx2&x1=1:S2; !!VRx2&x1=2:S4; !!VRx2&x1=3:S8;
!!VRx2&x1=4:S16; !!VRx2&x1=5:S32; !!VRx2&x1=6:S64; !!VRx2&x1=7:S128;
!!VRx3:Sx2*256;

!?OB63/4?1000;
[перво-наперво лезем в CW на предмет посещенности]
!!OW:C?y1; !!OB998:C?y2; !!FU5:Py1/?y3/?y4; !!VRy2:|y4; !!OB998:Cy2; [указываем, что мы тут уже были]
!!OB998:H25; !!VRy3:&y2; !!IF&y3>0:M1/28; !!FU&y3>0:E; [y3>0, если уже и попользовались]

!!OB998:H26; [здесь был Вася, но не пользовался]

[теперь смотрим на наши трупы, а есть ли?]
!!IF:W-1 V15/0; !!OW:R-1/6/?y5;
[y6-y12 - установить номер z-переменной, если есть труп]
!!VRy6:S0; !!VRy6&w151>=0/w158>0:S31;
!!VRy7:S0; !!VRy7&w152>=0/w159>0:S32;
!!VRy8:S0; !!VRy8&w153>=0/w160>0:S33;
!!VRy9:S0; !!VRy9&w154>=0/w161>0:S34;
!!VRy10:S0; !!VRy10&w155>=0/w162>0:S35;
!!VRy11:S0; !!VRy11&w156>=0/w163>0:S36;
!!VRy12:S0; !!VRy12&w157>=0/w164>0:S37;

!!IF:V15/1; !!IF&y6=0/y7=0/y8=0/y9=0/y10=0/y11=0/y12=0:V15/0;
!!IF&-15:M1/27; !!FU&-15:E; !!IF:Q1/29; !!FU&-1:E;

[отформатировать строки, тех, кого не тянем по деньгам - ф топку]
!!FU6&y6>0:Py6/w151/w158/?y13; !!VRy6&y13>y5:S0;
!!FU6&y7>0:Py7/w152/w159/?y14; !!VRy7&y14>y5:S0;
!!FU6&y8>0:Py8/w153/w160/?y15; !!VRy8&y15>y5:S0;
!!FU6&y9>0:Py9/w154/w161/?y16; !!VRy9&y16>y5:S0;
!!FU6&y10>0:Py10/w155/w162/?y17; !!VRy10&y17>y5:S0;
!!FU6&y11>0:Py11/w156/w163/?y18; !!VRy11&y18>y5:S0;
!!FU6&y12>0:Py12/w157/w164/?y19; !!VRy12&y19>y5:S0;

!!IF:V15/1; !!IF&y6=0/y7=0/y8=0/y9=0/y10=0/y11=0/y12=0:V15/0;
!!IF&-15:M1/30; !!FU&-15:E; [все живы, зря]

!!IF:G1/1/0/23/y6/y7/y8/y9/y10/y11/y12/22/0/0/0/0;
!!IF&v1=128:M^Ну, как хотите!^; !!FU&v1=128:E;
!!VRy20&v1=1:Sw151; !!VRy21&v1=1:Sw158; !!VRy5&v1=1:-y13; !!VRw151&v1=1:S-1;
!!VRy20&v1=2:Sw152; !!VRy21&v1=2:Sw159; !!VRy5&v1=2:-y14; !!VRw152&v1=2:S-1;
!!VRy20&v1=4:Sw153; !!VRy21&v1=4:Sw160; !!VRy5&v1=4:-y15; !!VRw153&v1=4:S-1;
!!VRy20&v1=8:Sw154; !!VRy21&v1=8:Sw161; !!VRy5&v1=8:-y16; !!VRw154&v1=8:S-1;
!!VRy20&v1=16:Sw155; !!VRy21&v1=16:Sw162; !!VRy5&v1=16:-y17; !!VRw155&v1=16:S-1;
!!VRy20&v1=32:Sw156; !!VRy21&v1=32:Sw163; !!VRy5&v1=32:-y18; !!VRw156&v1=32:S-1;
!!VRy20&v1=64:Sw157; !!VRy21&v1=64:Sw164; !!VRy5&v1=64:-y19; !!VRw157&v1=64:S-1;
!!OW:R-1/6/y5; !!HE-1:Cy20/y21/-1/0/-1/0/-1/0/-1/0/-1/0/-1/0;
!!FU5:Py1/?y3/?y4; !!VRy2:|y3; !!OB998:Cy2 H25;

!?FU6; [zvar mon cnt ?cost]
!!VRz-1:M3/x3; !!UN&x3=1:N3/z-2/x2/0; !!UN&x3>1:N3/z-2/x2/1;
!!VRz-1:+^ ^;!!VRz-1:+z-2; [есть тип и есть число, осталось цены]
!!MA:Cx2/6/?x4; !!VRx4:*x3*3; !!VRz-2:M3/x4;
!!VRz-1:+^ за ^; !!VRz-1:+z-2; !!VRz-1:+^ золота.^;
!!VRzx1:Sz-1;

!?BA52&1000;
!!BA:H0/?y15 H1/?y16;
!!HE-10:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy15;
!!VRw151:Sy1; !!VRw158:Sy2; !!VRw152:Sy3; !!VRw159:Sy4;
!!VRw153:Sy5; !!VRw160:Sy6; !!VRw154:Sy7; !!VRw161:Sy8;
!!VRw155:Sy9; !!VRw162:Sy10; !!VRw156:Sy11; !!VRw163:Sy12;
!!VRw157:Sy13; !!VRw164:Sy14; !!VRw165:S3;
!!FU&y16=-2:E;
!!HE-20:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy16;
!!VRw151:Sy1; !!VRw158:Sy2; !!VRw152:Sy3; !!VRw159:Sy4;
!!VRw153:Sy5; !!VRw160:Sy6; !!VRw154:Sy7; !!VRw161:Sy8;
!!VRw155:Sy9; !!VRw162:Sy10; !!VRw156:Sy11; !!VRw163:Sy12;
!!VRw157:Sy13; !!VRw164:Sy14; !!VRw165:S3;

!?BA53&1000;
!!BA:H0/?y15 H1/?y16;
!!HE-10:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy15;
!!VRw158:-y2; !!VRw159:-y4; !!VRw160:-y6; !!VRw161:-y8; !!VRw162:-y10; !!VRw163:-y12; !!VRw164:-y14;
!!FU&y16=-2:E;
!!HE-20:C0/0/?y1/?y2 C0/1/?y3/?y4 C0/2/?y5/?y6 C0/3/?y7/?y8 C0/4/?y9/?y10 C0/5/?y11/?y12 C0/6/?y13/?y14;
!!IF:Wy16;
!!VRw158:-y2; !!VRw159:-y4; !!VRw160:-y6; !!VRw161:-y8; !!VRw162:-y10; !!VRw163:-y12; !!VRw164:-y14;
MasterOfPuppets

Я сейчас скрипт себе скопировал. Позже попытаюсь сократить и оптимизировать - если разберусь, конечно.)
MasterOfPuppets
Цитата(lion-killer @ 20 May 2009, 16:58)
А может действительно сделать воскрешение существ только с последней битвы?

Я тоже как-то склоняюсь к этой мысли. Что это за условие - "в отрезке трёх дней"? А если этот герой ходил позавчера с армией Замка, вчера - Инферно, а сегодня - Оплота? Кого воскрешать? Придётся увеличить число w-переменных втрое, если не вчетверо, и каждый день передавать значения из одних в другие для каждого героя, что тормоз для игры и гемор для скриптописца. Можно, правда, вместо w-переменных (ибо их мало) использовать ini... А какой диалог тогда будет в объекте? "Воскресить позавчерашние потери/воскресить вчерашние потери/воскресить сегодняшние потери"... fie.gif
Vade Parvis
Камрады, что думаете насчет названия "Госпиталь"? А то все эти Алтари да Храмы для любого действия уже в печенках сидят smile.gif
Насколько я помню, предлагал человек с Аг.ру - думаю, что он просто не задумывался над названием, и по-быстрому предложил интересные свойства под этим "названием на все случаи жизни".

Цитата
А может действительно сделать воскрешение существ только с последней битвы?
Полностью согласен. Вообще - думал, что это подразумевалось изначальо (последняя битва + ограничение по времени).
MasterOfPuppets
Но ведь в Госпитале вроде лечат, а не воскрешают... А вообще - можно было бы тогда и Лазарет.
Vade Parvis
Master Of Puppets, так ведь там никого и не воскрешают (в игровом мире; технически это, конечно, как раз восстановление погибших существ). Логическое объяснение, как и в случае с Вог-овским расширением палатки - они спасают тяжелораненных бойцов, которые без квалифицированной помощи просто погибли бы.
Да, Лазарет - очень даже вариант yes.gif
MasterOfPuppets
А, выходит, никого не убили, просто здоровые тащили раненых на своей шее...
Называйте как хотите. Моё - вернее, Толича - дело: скрипты.
tolich
Напомню, в мире Might & Magic воскрешение осуществимо. Воскрешают Храмы, воскрешают Жрецы из партии магией Духа, а вот воскрешающий Алтарь невозможен по логике - мертвый партиец не сможет его коснуться...

Добавлено ([mergetime]1244248693[/mergetime]):
Потому мы его и делаем в Heroes 3 WoG smile.gif
Vade Parvis
tolich, воскрешение партийцев в ММ - исключительное дело, да ещё и продиктованное геймплеем.
Здесь же выходит, что воскрешают постоянно, массово и кого ни попадя lupa.gif Прям планета некромантов wink.gif
Aleee
А разве недостаточно наличия заклинания Восрешение для "легализации" объекта такого типа? К черту эти условности.
Vade Parvis
Aleee, недостаточно.
Проводя аналогию - это все равно что заклинания Армагеддон было бы достаточно для "легализации" тактического ядерного оружия.
Воскрешение - очень сложный и дорогой закл, и магов, достаточно сильных для того, чтобы поднимать им не одного-двух людей, а целые отряды, на Энроте - единицы (опять-таки - исходя из геймплея).
tolich
Странная аналогия...
То, что иконкой Армагеддона является грибовидное облако, еще не означает, что это именно ядерный взрыв.

И, да, Воскрешение с Некромантией тоже никак не связано - это маленькое такое "божественное вмешательство".
Vade Parvis
tolich, сомневаюсь, что это может быть что-либо другое lupa.gif Просто собственно ядерный взрыв реализовать не смогли/не придумали как (скорей второй вариант).

Цитата
И, да, Воскрешение с Некромантией тоже никак не связано - это маленькое такое "божественное вмешательство".

Как я уже говорил,
Цитата
Воскрешение - очень сложный и дорогой закл, и магов, достаточно сильных для того, чтобы поднимать им не одного-двух людей, а целые отряды, на Энроте - единицы (опять-таки - исходя из геймплея).
Именно это, а не проведение аналогии со взрывом, было главным контраргументом. Насчет взрыва - просто не удержался smile.gif

Планета некромантов - в том смысле, что все воскрешают всех, кому не лень. Не ПН - так планета-сервер MMORPG wink.gif
Docent Picolan
ну.. герои полны условностей, вряд ли стоит особо много внимания уделять вопросу как и что воскрешается. это можно рассматривать как данность. да и в конце концов - "такое" воскрешение доступно только в промежутке 3-х дней, оно, может быть, и не воскрешение-то вовсе..
MasterOfPuppets
Три дня - это максимум, сколько может покоиться тело без специального ухода. Потом оно уже начинает разлагаться, и тогда - только на кладбище. smile.gif
Aleee
Ахтунг, а как же бальзамирование?
Я это к тому, что перво-наперво важно решение о появлении такого объекта в принципе. А обсуждать какой именно условностью (а судя по жарким спорам, без этого не обойтись) мы его "легализуем" можно до бесконечности.
MasterOfPuppets
Цитата
Ахтунг, а как же бальзамирование?

В походных условиях бальзам не так-то просто достать...
В Хоте вроде будут зелья? Так вот Бальзам - вид зелья, растягивающий срок, до исхода которого стоит посещать Алтарь. smile.gif
Может, сделать так, что процент воскрешаемых уменьшается с каждым днём после битвы? Скажем, в тот же день - 100%, назавтра - 75, послезавтра - 50%, ещё через день - 25%, дальше - амба. Объясняется опять-таки разложением трупов.
Идейничать закончил.
Aleee
Заставить игроков пользоваться Бальзамом - это печально.
Весь юмор ситуации заключается в том, что мы обсуждаем какую-то ересь. Мы = люди, которые могут в принципе приносить пользу.
MasterOfPuppets
Цитата
Может, сделать так, что процент воскрешаемых уменьшается с каждым днём после битвы? Скажем, в тот же день - 100%, назавтра - 75%, послезавтра - 50%, ещё через день - 25%, дальше - амба. Объясняется опять-таки разложением трупов.

Этот момент я предлагаю как балансирующий фактор. Он также важен для написания скрипта. Да, это чуть труднее, но более отвечает балансу. Так что прошу утвердить или отбросить.
Vade Parvis
Цитата(Docent Picolan @ 06 Jun 2009, 18:54)
ну.. герои полны условностей, вряд ли стоит особо много внимания уделять вопросу как и что воскрешается. это можно рассматривать как данность. да и в конце концов - "такое" воскрешение доступно только в промежутке 3-х дней, оно, может быть, и не воскрешение-то вовсе..
Собственно - если обозвать госпиталем/лазаретом, то это и будет не воскрешение. А название "Алтарь Воскрешения" все-таки обязывает именно к акту воскрешения.

Цитата(Master Of Puppets @ 06 Jun 2009, 19:17)
Цитата
Может, сделать так, что процент воскрешаемых уменьшается с каждым днём после битвы? Скажем, в тот же день - 100%, назавтра - 75%, послезавтра - 50%, ещё через день - 25%, дальше - амба. Объясняется опять-таки разложением трупов.

Этот момент я предлагаю как балансирующий фактор. Он также важен для написания скрипта. Да, это чуть труднее, но более отвечает балансу. Так что прошу утвердить или отбросить.
Всецело поддерживаю. Ратовал за такое, ещё предлагая госпиталь.
hippocamus
Нормально будет "Госпиталь"
Aleee
Название Госпиталь вводит свою условность: даже 75% воскрешение будет означать, что у 3 из 4 крестья поразительная устойчивость к драконьему пламени, а камень циклопа в большинстве случаев лишь тяжело ранит гремлина. Ну и конечно же всех "тяжелораненных" армия волочет с собой дальше.

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

Добавлено ([mergetime]1244306557[/mergetime]):
Что ни в коем случае не означает, что я против. Лишь бы это поскорее закончилось. Предусмотрев отсутствие реализма, мы уже сняли с себя многие оковы. Надо просто меньше заморачиваться насчет поиска этих самых условностей.
MasterOfPuppets
Я прошу просто мне сказать - нужно это или нет. А то засесть за скрипт, не выяснив его условий до конца - ...

Всё, завтра тогда сюда скину скрипт на этих условиях. В двух вариантах - для WoG и ТЕ (в ТЕ меньше функций надо). nunu.gif
tolich
Напомню существенные вопросы:
1) Какое влияние оказывают вторичные навыки героя на стоимость и эффективность воскрешения, а также на срок, по истечении которого воскрешение невозможно? (Кстати, если называть это госпиталем, возможно также влияние Первой Помощи).
2) Имеет ли смысл Воскрешать нежить, големов (и горгулий) и элементалов? Имеет ли смысл давать такое право только "родным"героям?


Добавлено ([mergetime]1244306980[/mergetime]):
В ММ8 очень интересный ролик смерти: по полю боя идут какие-то люди и ... добивают раненых. Кажется, это раньше называлось "санитары".
Lindar
Цитата(tolich @ 06 Jun 2009, 20:49)
Напомню существенные вопросы:
1) Какое влияние оказывают вторичные навыки героя на стоимость и эффективность воскрешения, а также на срок, по истечении которого воскрешение невозможно? (Кстати, если называть это госпиталем, возможно также влияние Первой Помощи).
2) Имеет ли смысл Воскрешать нежить, големов (и горгулий) и элементалов? Имеет ли смысл давать такое право только "родным"героям?


Добавлено ([mergetime]1244306980[/mergetime]):
В ММ8 очень интересный ролик смерти: по полю боя идут какие-то люди и ... добивают раненых. Кажется, это раньше называлось "санитары".

Мое мнение:
1. Ни один из навыков и параметров не влияет на стоимость и эффективность воскрешения. Предполагаю, что воскрешение проводит не сам герой, а специально обученный "колдун". Герой лишь называет существ и их количество, и платит соответствующую сумму. Кстати, думаю будет уместна следующая махинация biggrin.gif После проведения ритуала воскрешения, герой теряет все очки передвижения (или даже свой следующий ход). Также, считаю, что объект должен воскрешать существ только в диапазоне последней битвы. Конечно 3 дня после смерти это жутко символично, но в игре не стоит так заморачиваться.
2. Подразумевается, что объект специализируется на воскрешении/восстановлении армии, и поэтому он должен поднимать всех.
Vade Parvis
Цитата(hippocamus @ 06 Jun 2009, 19:32)
Нормально будет "Госпиталь"
Спасибо!

Цитата(Aleee @ 06 Jun 2009, 19:42)
Название Госпиталь вводит свою условность: даже 75% воскрешение будет означать, что у 3 из 4 крестья поразительная устойчивость к драконьему пламени, а камень циклопа в большинстве случаев лишь тяжело ранит гремлина.
На этот случай есть простой ответ - пламя лишь задело крестьян (кстати - а как воскресить испепеленный труп? опять-таки крестьянин оказался поразительно несгораемым), а камень лишь слегка задел гремлинов в силу не 100%-ной точности броска.
Но - ты прав, действительно проблема. Причем - как для госпиталя, так и для алтаря. Потому предлагаю реализовать некоторый разброс в воскрешаемых юнитах (исключительно в сторону уменьшения), постепенно сходящий на нет к 7 уровню.
Цитата
Ну и конечно же всех "тяжелораненных" армия волочет с собой дальше.
Вот тут и приходит на помощь ограничение по времени + уменьшение кол-ва воскрешаемых с каждым днем. Плюс - у армии в любом случае есть условный обоз, в котором всегда везут отнюдь не условную катапульту.

Цитата(tolich @ 06 Jun 2009, 19:49)
Напомню существенные вопросы:
1) Какое влияние оказывают вторичные навыки героя на стоимость и эффективность воскрешения, а также на срок, по истечении которого воскрешение невозможно? (Кстати, если называть это госпиталем, возможно также влияние Первой Помощи).
2) Имеет ли смысл Воскрешать нежить, големов (и горгулий) и элементалов? Имеет ли смысл давать такое право только "родным"героям?

1) Очень хорошая мысль насчет ПП good.gif Имхо, можно было бы за счет каждого уровня ПП добавлять "лишний" день возможности "воскрешения" в госпитале/алтаре (в последнем случае - условное бальзамирование тел, дабы не разлагались).
Кстати, раз уж такое дело, то предложю небольшую идейку "в тему", которая недавно пришла в голову. Все помнят замечательный скрипт на палатку, которая восстанавливает нек-рую часть бойцов после битвы (чем больше навык ПП, тем лучше).
Дык вот, дополнительно можно было бы модифицировать данный навык так, чтобы герой с ним даже без Палатки ПП мог бы восстанавливать немного бойцов после битвы.
2) Имхо - не стоит. А вот родным - можно было бы...
Несколько дикая мысль - можно было бы спецам по существам дать способность восстановления несколько большего их числа, чем у героев не-спецов.
Мурсинушка
Про спецов по существам это хорошая мысль!
Kastore
Почему бы не воскрешать существ в святилище? Меньше работы и споров. К тому же - логично. МЛМ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.