Новости Релиз Of Ash and Steel состоится 6 ноября
  • 7.327
  • 12
Of Ash and Steel: атмосферный экшен выходит 6 ноября 6 ноября станет важной датой для поклонников сложных и атмосферных игр - именно в этот день состоится релиз долгожданного проекта Of Ash and...
Новости В Of Ash and Steel начался закрытый плейтест
  • 11.467
  • 12
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
Новости Анонсирован Atomic Heart II
Новости Анонсирован ремастер Final Fantasy Tactics
  • 5.889
  • 2
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...

Решено Список мест для сейвов и ловушек на сундках.

Статус
Закрыта

vavi

Наемник
Участник форума
Регистрация
13 Июл 2022
Сообщения
597
Реакции
97
Баллы
66
Лучшие ответы
4
#1
Готовлю небольшой челлендж для своего следующего прохождения. Хочу выставить ограничения на сейвы (в определённых местах) и ловушки включить.
На сколько я помню, ловушки всегда на одних и тех же сундуках, просто срабатывать могут по-разному. (Где-то нежить призовётся, где-то ядом жахнет)
Всё это с 40% аснк, как в соседнем треде посоветовали.
 

Beleriand

Герой
Участник форума
Регистрация
9 Сен 2021
Сообщения
5.344
Реакции
3.114
Баллы
471
Лучшие ответы
404
#2
есть кольцо от Скипа (в Яркендаре), его надеваешь, и никакие ловушки на сундуках не срабатывают (даже тот что в ратуше на 2 этаже). И когда у тебя 500+ здоровья, то ни одна ловушка тебя не шотнет.
а по точкам сохранения не подскажу, нигде не видел такого списка
 

~𝔻𝕒𝕣𝕜𝕊𝕚𝕕𝕖~

Избранник богов
Почётный пользователь
Участник форума
Регистрация
17 Мар 2022
Сообщения
11.846
Реакции
7.223
Баллы
772
Лучшие ответы
358
#3
Я ни разу не играл с ограниченными сохранениями, но полагаю, что как минимум в точках телепорта они будут.

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

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

Blackmail01

Гвардеец
Команда форума
Редактор раздела
Пользователь VIP
Участник форума
Регистрация
27 Дек 2019
Сообщения
1.760
Реакции
1.805
Баллы
276
Лучшие ответы
79
#4
По точкам сохранения данные есть в скриптах. Многие из них с определёнными условиями. Например, в лагере охотников можно сохраняться после вступления к ним. Может кто захочет гайд по точкам этим написать. Функция rx_cansavenofree
Я точно не. Я даже против ограничений всяческих по сохранениям. Что только растягивает игровой процесс.
 

Vorfol

Наемник
Участник форума
Регистрация
26 Май 2020
Сообщения
557
Реакции
162
Баллы
109
Лучшие ответы
24
#5
есть кольцо от Скипа (в Яркендаре), его надеваешь, и никакие ловушки на сундуках не срабатывают (даже тот что в ратуше на 2 этаже). И когда у тебя 500+ здоровья, то ни одна ловушка тебя не шотнет.
а по точкам сохранения не подскажу, нигде не видел такого списка
точно знаю сундуки в Яркендаре могут 700+ вдарить. я был удивлён немало
 

Beleriand

Герой
Участник форума
Регистрация
9 Сен 2021
Сообщения
5.344
Реакции
3.114
Баллы
471
Лучшие ответы
404
#6
точно знаю сундуки в Яркендаре могут 700+ вдарить. я был удивлён немало
если бы видео записал с подтверждением, то было бы неплохо... я тестировал на разных сундуках, больше 500 мгновенного урона не получал нигде (постепенный урон яда не считается)
так или иначе в Яркендаре получаем кольцо с защитой от ловушек
 

Blackmail01

Гвардеец
Команда форума
Редактор раздела
Пользователь VIP
Участник форума
Регистрация
27 Дек 2019
Сообщения
1.760
Реакции
1.805
Баллы
276
Лучшие ответы
79
#7
если бы видео записал с подтверждением, то было бы неплохо... я тестировал на разных сундуках, больше 500 мгновенного урона не получал нигде (постепенный урон яда не считается)
так или иначе в Яркендаре получаем кольцо с защитой от ловушек
Чисто теоретически магическая ловушка может на 700 урона вдарить. Но это практически невозможно. Нужно чтобы случайное число от 0 до 600 выпало 600. И магическая защита ГГ была = 0. И сундук должен быть самый жирный. Иначе меньше урона.
Код:
func void activate_trap(var int chesttype, var int traptype) {
    var int trapchance;
    var int dexunchance;
    var int trapon;
    var int damagebasic;
    var int magicvisualfx;
    var int spawnnecrom;
    var int sbmode_damage;

    if (rx_avanfistring) {
        return;
    };
    if (trapstatus == true) {
        if (hero.attribute[atr_dexterity] /*5*/ > 100) {
            dexunchance = ((talentcount_picklock * 2) + 10) + (hero.attribute[atr_dexterity] /*5*/ - 100);
        }
        else {
            dexunchance = (talentcount_picklock * 2) + 10;
        };
        if (((chesttype == 0) || (chesttype == 1)) || (chesttype == 2)) {
            trapon = false;
        };
        if (chesttype == 3) {
            if (dexunchance < 600) {
                trapchance = 600 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        }
        else if (chesttype == 4) {
            if (dexunchance < 750) {
                trapchance = 750 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        }
        else if (chesttype == 5) {
            if (dexunchance < 900) {
                trapchance = 900 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        }
        else if (chesttype == 6) {
            if (dexunchance < 1000) {
                trapchance = 1000 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        };
        if (trapon == true) {
            if (traptype == 1) {
                sbmode_damage = (5 - sbmode) * 15;
                if (sbmode_damage < 1) {
                    sbmode_damage = 1;
                };
                damagebasic = 150 + (hlp_random(sbmode_damage) * chesttype);
                if (resistpoisonknow == false) {
                    if (hero.attribute[atr_hitpoints] /*0*/ > (damagebasic + 1)) {
                        ai_printred("В сундуке была ядовитая ловушка!");
                        npc_changeattribute(hero, atr_hitpoints, -damagebasic);
                        rx_poisonhero();
                        rx_playeffect("SPELLFX_INCOVATION_GREEN", hero);
                        rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                    }
                    else {
                        if (rx_nexthitignore) {
                            rx_useprotectpotion();
                            return;
                        };
                        ai_stopprocessinfos(hero);
                        hero.aivar[4] = false;
                        player_mobsi_production = mobsi_none;
                        npc_changeattribute(hero, atr_hitpoints, -hero.attribute[atr_hitpoints_max] /*1*/);
                        ai_printred("В сундуке была ядовитая ловушка!");
                        rx_poisonhero();
                        rx_playeffect("SPELLFX_INCOVATION_GREEN", hero);
                        rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                        ai_drawweapon(hero);
                        ai_removeweapon(hero);
                    };
                };
            }
            else if (traptype == 2) {
                sbmode_damage = (5 - sbmode) * 20;
                if (sbmode_damage < 1) {
                    sbmode_damage = 1;
                };
                damagebasic = 100 + (hlp_random(sbmode_damage) * chesttype);
                if (damagebasic > hero.protection[prot_fire] /*3*/) {
                    damagebasic = damagebasic - hero.protection[prot_fire] /*3*/;
                }
                else {
                    damagebasic = 100;
                };
                if (hero.attribute[atr_hitpoints] /*0*/ > (damagebasic + 1)) {
                    npc_changeattribute(hero, atr_hitpoints, -damagebasic);
                    ai_playani(hero, "S_FIRE_VICTIM");
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                    ai_stopfx(hero, "VOB_MAGICBURN");
                    npc_stopani(hero, "S_FIRE_VICTIM");
                }
                else {
                    if (rx_nexthitignore) {
                        rx_useprotectpotion();
                        return;
                    };
                    ai_stopprocessinfos(hero);
                    hero.aivar[4] = false;
                    player_mobsi_production = mobsi_none;
                    b_say(hero, hero, "$Dead");
                    npc_changeattribute(hero, atr_hitpoints, -hero.attribute[atr_hitpoints_max] /*1*/);
                    ai_playani(hero, "S_FIRE_VICTIM");
                    ai_drawweapon(hero);
                    ai_removeweapon(hero);
                    ai_stopfx(hero, "VOB_MAGICBURN");
                    npc_stopani(hero, "S_FIRE_VICTIM");
                };
            }
            else if (traptype == 3) {
                sbmode_damage = (5 - sbmode) * 25;
                if (sbmode_damage < 1) {
                    sbmode_damage = 1;
                };
                damagebasic = 100 + (hlp_random(sbmode_damage) * chesttype);
                if (damagebasic > hero.protection[prot_magic] /*5*/) {
                    damagebasic = damagebasic - hero.protection[prot_magic] /*5*/;
                }
                else {
                    damagebasic = 100;
                };
                if (hero.attribute[atr_hitpoints] /*0*/ > (damagebasic + 1)) {
                    npc_changeattribute(hero, atr_hitpoints, -damagebasic);
                }
                else {
                    if (rx_nexthitignore) {
                        rx_useprotectpotion();
                        return;
                    };
                    ai_stopprocessinfos(hero);
                    hero.aivar[4] = false;
                    player_mobsi_production = mobsi_none;
                    b_say(hero, hero, "$Dead");
                    npc_changeattribute(hero, atr_hitpoints, -hero.attribute[atr_hitpoints_max] /*1*/);
                    ai_drawweapon(hero);
                    ai_removeweapon(hero);
                };
                magicvisualfx = hlp_random(4);
                if (magicvisualfx == 0) {
                    rx_playeffect("spellFX_BELIARSRAGE", hero);
                    rx_playeffect("SPELLFX_BELIARSRAGE_TARGET_CLOUD", hero);
                    rx_playeffect("SPELLFX_BELIARSRAGE_COLLIDE", hero);
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                }
                else if (magicvisualfx == 1) {
                    rx_playeffect("SPELLFX_ICECUBE", hero);
                    rx_playeffect("SPELLFX_ICESHIELD_COLLIDE", hero);
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                }
                else if (magicvisualfx == 2) {
                    rx_playeffect("SPELLFX_FEAR", hero);
                    rx_playeffect("SPELLFX_FEAR_WINGS", hero);
                    rx_playeffect("SPELLFX_FEAR_WINGS2", hero);
                    rx_playeffect("SPELLFX_FEAR_GROUND", hero);
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                }
                else {
                    if (magicvisualfx == 3) {
                        rx_playeffect("SPELLFX_SKULL_COLLIDEFX", hero);
                        rx_playeffect("SPELLFX_GREENTENTACLE_TARGET", hero);
                        rx_playeffect("SPELLFX_BREATHOFDEATH_TARGET", hero);
                        rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                    };
                };
            }
            else {
                if (traptype == 4) {
                    sbmode_damage = (5 - sbmode) * 5;
                    if (sbmode_damage < 1) {
                        sbmode_damage = 1;
                    };
                    spawnnecrom = sbmode_damage + (hlp_random(sbmode_damage) * chesttype);
                    if (spawnnecrom >= 90) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, demonlord /*44265*/, 1, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 80) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, demon /*44217*/, 1, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 70) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton_warrior_dark /*45122*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 60) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton_warrior /*45115*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 50) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton_dark /*45104*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 40) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton /*45090*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 30) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, lesser_skeleton_dark /*45089*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 20) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, lesser_skeleton /*45087*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 10) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, gobbo_skeleton /*44638*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, gobbo_skeleton /*44638*/, 1, 500.0);
                        rx_restoreparservars();
                    };
                    rx_playeffect("SPELLFX_SKULL_COLLIDEFX", hero);
                    snd_play("MFX_FEAR_CAST");
                    rx_playeffect("FX_EarthQuake", hero);
                };
            };
        };
    };
};
 

romuka

Наемник
Участник форума
Регистрация
24 Июн 2017
Сообщения
783
Реакции
392
Баллы
171
Лучшие ответы
107
#8

Scout92

Герой
Команда форума
Модератор раздела
Почётный пользователь
Участник форума
Регистрация
14 Ноя 2016
Сообщения
6.313
Реакции
2.266
Баллы
661
Лучшие ответы
594
#9
Я кстати тут вспомнил, что есть список мест сохранения, правда он на АБ. Но вроде в НБ +- также, просто ещё новые кое-где добавили для удобства. Например, в Храме Спящего перед финальным боссом и на Идорате где-то. А то раньше вообще приходилось постоянно в начало бегать и обратно - кайф.
 
Последнее редактирование:
Статус
Закрыта
Сверху Снизу