Closed dosinabox closed 2 years ago
@Kor-Angar можешь подтвердить, что в 1.30 именно такой эффект? Пока не получается докопаться.
я если честно не помню. по моему где то было как на картинке у тебя. https://www.youtube.com/watch?v=epp0dMx5Vuo у меня почему то вторая полоска в готике 2 не отображается может просто глюк.
а запиши ещё видео с телепортами и лечением из классики, пожалуйста
в г2а мана инвестируется мгновенно, что делает недоступным ключ визуального эффекта KEY_INVEST , а вот в Г2(оригинал) мана инвестируется постепенно за какое-то время тем самым позволяя использовать KEY_INVEST
Пока отложу волну смерти, что-то не получается. Зато можно безболезненно починить эффекты телепортов и сделать их как в Г1 и классике Г2:
func int Spell_Logic_TeleportFarm(var int manaInvested)
{
if(manaInvested == 0)
{
return SPL_NEXTLEVEL;
};
if(manaInvested >= SPL_Cost_Teleport + 1)
{
return SPL_SENDCAST;
};
return SPL_RECEIVEINVEST;
};
func void Spell_Cast_TeleportFarm()
{
B_PrintTeleportTooFarAway(NEWWORLD_ZEN);
AI_Teleport(self,"BIGFARM");
};
а запиши ещё видео с телепортами и лечением из классики, пожалуйста
вечером поставлю немецкую версию 1.30 и запишу.
Зато можно безболезненно починить эффекты телепортов и сделать их как в Г1 и классике Г2:
там не всё так просто. пираньи в Г2 отказались от manaInvested для большей части заклинаний, из-за того что заклинания стали требовать много маны. а это значит, что для каждой группы заклинаний надо подбирать time_per_mana
, то есть примерно угадать, потом проверить, потом скорректировать и окончательно утвердить.
используя старую систему для лечения и телепорта ты снизишь выживаемость героя. пока герой будет инвестировать 10 единиц маны, его орки разберут на кусочки. то же с лечением: заинвестировать такой объём маны на руне пала подразумевает что герой находится в безопасном месте. а в готики 2 уже все привыкли к "быстрому касту", то есть что можно подлечится недалеко от врага и тут же контратаковать. к тому же Invested лечение это когда за каждую вложенную ману герой получают какое то кол-во единиц жизни и в таком случае непонятно чем будут отличать легкое лечение, от среднего и тяжелого :-) то есть они будут хуже так как за единицу маны восстанавливают меньше жизней. значит опять нужно придумывать баланс и делать что бы они лечили больше и быстрее за единицу времени.
или возможно я просто не понял что ты имеешь ввиду :-)
делает недоступным ключ визуального эффекта KEY_INVEST
достаточно один раз сделать SPL_NEXTLEVEL
. собственно вот у тебя в начале оно и идёт :-)
if(manaInvested == 0)
{
return SPL_NEXTLEVEL;
};
а вот в Г2(оригинал) мана инвестируется постепенно за какое-то время
надо смотреть про какие SpellLogic идёт речь. я такого не помню. твой код для классик чистый, без правок и в игре я не встречал отличий между НВ и классик.
классик | НВ |
---|---|
а в НВ и Классик код одинаковый
Может, кто-нибудь сделает плагин или патч, и не придется этим заниматься: https://worldofplayers.ru/threads/42298/post-1163067
пока герой будет инвестировать 10 единиц маны, его орки разберут на кусочки
При time_per_mana = 0
инвнстирование происходит мгновенно, скорость каста телепорта остается такой же. Остальные заклинания не смотрела.
А про что патч то? :-). Есть заклинание контроля и телекинеза и прочее там набор анимацией. Есть анимации при 0 уровне, есть анимации при уровне 1. Что патч будет делать? Кол-во заклинаний с некстлевел ограничено. Фактически не на что влиять не будет. Если у телепорт увеличить время инвестирования маны, ты увидишь, анимацию/эффект уровня 1, но ведь тогда будет нарушен баланс? :-) 7:38, 4 ноября 2022 г., dosinabox @.***>: Может, кто-нибудь сделает плагин или патч, и не придется этим заниматься: https://worldofplayers.ru/threads/42298/post-1163067
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты
достаточно один раз сделать
SPL_NEXTLEVEL
. собственно вот у тебя в начале оно и идёт :-)
Помогло огненному дождю и телепорту. Волне смерти не помогло.
Можешь протестировать в бою огненный дождь с эффектом каста. Изменений в расходе маны и скорости каста быть не должно:
func int Spell_Logic_Firerain(var int manaInvested)
{
if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
if(manaInvested == 0)
{
return SPL_NEXTLEVEL;
};
return SPL_SENDCAST;
}
else if(self.attribute[ATR_MANA] >= SPL_Cost_Firerain)
{
if(manaInvested == 0)
{
return SPL_NEXTLEVEL;
};
return SPL_SENDCAST;
};
return SPL_SENDSTOP;
};
if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
это код для НВ. в НВ проверять?
Spell_Logic_Firerain
нету return SPL_RECEIVEINVEST;
исходя из прошлого опыта оно должно выглядеть как то так
func int Spell_Logic_Firerain(var int manaInvested)
{
// этот блок можны вынести в int функцию для всех подобных заклинаний что бы не повторяться.
// if (C_Spell_Logic_****(manaInvested, SPL_Cost_Firerain) == SPL_SENDSTOP) { return SPL_SENDSTOP; };
// if (C_Spell_Logic_****(manaInvested, SPL_Cost_Firerain) == SPL_SENDCAST) { return SPL_SENDCAST; };
if (Npc_GetActiveSpellIsScroll(self))
{
if (self.attribute[ATR_MANA] < SPL_Cost_Scroll)
&& (manaInvested == 0)
{
return SPL_SENDSTOP;
};
if (manaInvested >= SPL_Cost_Scroll)
{
return SPL_SENDCAST;
};
};
if (!Npc_GetActiveSpellIsScroll(self))
{
if (self.attribute[ATR_MANA] < SPL_Cost_Firerain)
&& (manaInvested == 0)
{
return SPL_SENDSTOP;
};
if (manaInvested >= SPL_Cost_Scroll)
{
return SPL_SENDCAST;
};
};
if(manaInvested == 0)
{
manaInvested = 1;
return SPL_NEXTLEVEL;
};
return SPL_RECEIVEINVEST;
};
хотя в конкретно этом случае вместо SPL_RECEIVEINVEST можно использовать и SPL_NEXTLEVEL. хотя SPL_RECEIVEINVEST прекрасен тем что отнимает манну через движок что убирает необходимость использовать гору доп проверок, про это я писал в топике про большой огненный шар.
Усложняешь. Нам нужен только визуальный эффект при касте, не меняя механику. Для этого достаточно одного SPL_NEXTLEVEL при manaInvested == 0
.
это я логическое мышление развиваю:-) в НВ проверять? в неоф. обновление? в классик?
в НВ проверять? в неоф. обновление? в классик?
Везде должно работать. Тогда для классики код немного другой:
func int Spell_Logic_Firerain(var int manaInvested)
{
if(self.attribute[ATR_MANA] >= SPL_Cost_Firerain)
{
if(manaInvested == 0)
{
return SPL_NEXTLEVEL;
};
return SPL_SENDCAST;
};
return SPL_SENDSTOP;
};
в мод-классик работает. да и везде будет. я сразу не понял про какой именно эффект ты писала :-) https://www.youtube.com/watch?v=kv0jcz-aZ-E
у тебя и константа в классик оказывается есть :-)
Помогло огненному дождю и телепорту. Волне смерти не помогло.
я бы увеличил для теста time_per_mana
. возможно там всё так стримительно что то происходит и одно на другое накладывается или что то там еще. плюс надо проверятся с фиксом и без фикса на магию от Slavemaster
Может быть ещё и ледяную волну посмотреть и ещё какие то заклинания типа вызова. У них тоже вполне могут буть эффекты. Ило ты уже скрипты эффектов отсмотрела? :-) 19:44, 4 ноября 2022 г., dosinabox @.***>: Усложняешь. Нам нужен только визуальный эффект при касте, не меняя механику. Для этого достаточно одного SPL_NEXTLEVEL при manaInvested == 0.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***> -- Отправлено из мобильного приложения Яндекс Почты
У призывов есть эффект землетрясения при касте, починить из скриптов не получилось. У некоторых остальных есть только небольшой источник света. Самое заметное и интересное - телепорты, огненный дождь, волна смерти. А запиши ещё сравнение лечения.
пиши пожалуйста версии. так как мы к ветке по классик и я не много теряюсь.
пиши пожалуйста версии. так как мы к ветке по классик и я не много теряюсь.
Варианты:
BorderlessWindow=1 ; ... включает оконный режим без рамки, - включено (1) или выключено (0), по-умолчанию: 0. ; рекомендуется включать только при возникновении проблем с работой игры в полноэкранном режиме.
G2Classic-SystemPack-1.8 G2Classic-SystemPack-1.8.zip
gothic2_fix-1.30.0.0 gothic2_fix-1.30.0.0.zip
трансляция. секретная ссылка https://youtu.be/QlRZs0yCXFk
достаточно один раз сделать
SPL_NEXTLEVEL
. собственно вот у тебя в начале оно и идёт :-)if(manaInvested == 0) { return SPL_NEXTLEVEL; };
Подходит только телепортам и огненному дождю. Было установлено, что волна смерти, армия тьмы, превращения и лечения какое-то время "заряжаются" на уровне анимации. Экспериментально было установлено, что их нужно накачивать SPL_NEXTLEVEL до достижения manaInvested в 32. Интересно, зависит ли это число от количества кадров в секунду. Предлагаю тебе проверить у себя на движке 2.6, появятся ли эффекты:
Волна смерти:
func int Spell_Logic_Massdeath(var int manaInvested)
{
Print(IntToString(manaInvested));
if(manaInvested < 32)
{
return SPL_NEXTLEVEL;
};
if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
return SPL_SENDCAST;
}
else if(self.attribute[ATR_MANA] >= SPL_Cost_MassDeath)
{
return SPL_SENDCAST;
};
return SPL_SENDSTOP;
};
Армия тьмы:
func int Spell_Logic_ArmyOfDarkness(var int manaInvested)
{
Print(IntToString(manaInvested));
if(manaInvested < 32)
{
return SPL_NEXTLEVEL;
};
if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
return SPL_SENDCAST;
}
else if(self.attribute[ATR_MANA] >= SPL_Cost_ArmyOfDarkness)
{
return SPL_SENDCAST;
};
return SPL_SENDSTOP;
};
Превращения:
func int Spell_Logic_TrfSheep(var int manaInvested)
{
Print(IntToString(manaInvested));
if(manaInvested < 32)
{
return SPL_NEXTLEVEL;
};
if(self.attribute[ATR_MANA] >= SPL_Cost_TrfSheep)
{
B_StartMagicTransform();
self.attribute[ATR_MANA] -= SPL_Cost_TrfSheep;
Npc_SetActiveSpellInfo(self,SheepTransform);
return SPL_SENDCAST;
};
return SPL_SENDSTOP;
};
Лечение:
func int Spell_Logic_FullHeal(var int manaInvested)
{
Print(IntToString(manaInvested));
if(manaInvested < 32)
{
return SPL_NEXTLEVEL;
};
if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
return SPL_SENDCAST;
}
else if(self.attribute[ATR_MANA] >= SPL_Cost_FullHeal)
{
return SPL_SENDCAST;
};
return SPL_SENDSTOP;
};
хотел проверить эффект у заклинания. но не могу найти PfxInstMagic.
а я уже вот так пробовал :-) не сработало :-D Spell_ArmyOfDarkness.zip
хотел проверить эффект у заклинания. но не могу найти PfxInstMagic.
Это в PARTICLEFX.DAT: https://github.com/dosinabox/g2nr_unofficial_update/tree/master/PrjPARTICLEFX
В классике эффект был другой, надо попробовать восстановить: