From 75100da4efa126f5cf446956ca8d66ccd84538be Mon Sep 17 00:00:00 2001 From: dosinabox <39790055+dosinabox@users.noreply.github.com> Date: Sun, 14 Aug 2022 12:44:48 +0200 Subject: [PATCH] v1.5 - 14.08.2022 --- PrjGothic/AI/Human/C_Human/C_NpcIsEvil.d | 2 +- PrjGothic/AI/Magic/C_CanNpcCollideWithSpell.d | 2 +- PrjGothic/Items/IT_Written.d | 4 ++-- PrjGothic/Story/Dialoge/DIA_PAL_281_Fajeth.d | 14 ++++++++++---- PrjGothic/Story/Dialoge/DIA_djg_700_sylvio.d | 2 +- PrjGothic/Story/Dialoge/DIA_djg_701_bullco.d | 8 ++++---- PrjGothic/Story/Dialoge/DIA_djg_703_cipher.d | 2 +- PrjGothic/Story/Dialoge/DIA_mil_312_wulfgar.d | 2 +- PrjGothic/Story/Dialoge/DIA_pal_299_sergio.d | 2 +- PrjGothic/Story/Dialoge/DIA_vlk_404_lutero.d | 2 +- PrjGothic/Story/Dialoge/DIA_vlk_4110_jergan.d | 7 +++++-- PrjGothic/Story/NPC/bau_935_bronko.d | 2 +- PrjGothic/_Intern/Constants.d | 2 +- src/txt/g2_classic_readme.txt | 2 ++ 14 files changed, 32 insertions(+), 21 deletions(-) diff --git a/PrjGothic/AI/Human/C_Human/C_NpcIsEvil.d b/PrjGothic/AI/Human/C_Human/C_NpcIsEvil.d index de6022e..a607aa6 100644 --- a/PrjGothic/AI/Human/C_Human/C_NpcIsEvil.d +++ b/PrjGothic/AI/Human/C_Human/C_NpcIsEvil.d @@ -1,7 +1,7 @@ func int c_npcisevil(var C_NPC slf) { - if((slf.guild == GIL_DMT) || (slf.guild == GIL_BDT) || (slf.guild == GIL_DRAGON) || (slf.guild == GIL_ORC) || (slf.aivar[AIV_MM_REAL_ID] == ID_WARG) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGONSNAPPER) || (slf.guild == GIL_DRACONIAN) || (slf.guild == GIL_DEMON) || (slf.guild == GIL_SUMMONED_DEMON) || c_npcisundead(slf)) + if((slf.guild == GIL_DMT) || (slf.guild == GIL_DRAGON) || (slf.guild == GIL_ORC) || (slf.aivar[AIV_MM_REAL_ID] == ID_WARG) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGONSNAPPER) || (slf.guild == GIL_DRACONIAN) || (slf.guild == GIL_DEMON) || (slf.guild == GIL_SUMMONED_DEMON) || c_npcisundead(slf)) { return TRUE; }; diff --git a/PrjGothic/AI/Magic/C_CanNpcCollideWithSpell.d b/PrjGothic/AI/Magic/C_CanNpcCollideWithSpell.d index 0af0667..53a3ebe 100644 --- a/PrjGothic/AI/Magic/C_CanNpcCollideWithSpell.d +++ b/PrjGothic/AI/Magic/C_CanNpcCollideWithSpell.d @@ -133,7 +133,7 @@ func int c_cannpccollidewithspell(var int spelltype) }; if((spelltype == SPL_PALREPELEVIL) || (spelltype == SPL_PALDESTROYEVIL) || (spelltype == SPL_PALHOLYBOLT)) { - if(c_npcisevil(self) && (self.guild != GIL_BDT)) + if(c_npcisevil(self)) { if(self.guild == GIL_DRAGON) { diff --git a/PrjGothic/Items/IT_Written.d b/PrjGothic/Items/IT_Written.d index 46043b0..4bead2c 100644 --- a/PrjGothic/Items/IT_Written.d +++ b/PrjGothic/Items/IT_Written.d @@ -217,7 +217,7 @@ func void useeinhandbuch() var int ndocid; if(LERNE_EINHAND == FALSE) { - self.hitchance[NPC_TALENT_1H] = self.hitchance[NPC_TALENT_1H] + 5; + b_addfightskill(self,NPC_TALENT_1H,5); Print(PRINT_LEARN1H); LERNE_EINHAND = TRUE; Snd_Play("LEVELUP"); @@ -267,7 +267,7 @@ func void usezweihandbuch() var int ndocid; if(LERNE_ZWEIHAND == FALSE) { - self.hitchance[NPC_TALENT_2H] = self.hitchance[NPC_TALENT_2H] + 5; + b_addfightskill(self,NPC_TALENT_2H,5); Print(PRINT_LEARN2H); LERNE_ZWEIHAND = TRUE; Snd_Play("LEVELUP"); diff --git a/PrjGothic/Story/Dialoge/DIA_PAL_281_Fajeth.d b/PrjGothic/Story/Dialoge/DIA_PAL_281_Fajeth.d index c095741..c02b95c 100644 --- a/PrjGothic/Story/Dialoge/DIA_PAL_281_Fajeth.d +++ b/PrjGothic/Story/Dialoge/DIA_PAL_281_Fajeth.d @@ -188,9 +188,12 @@ instance DIA_FAJETH_LEADER(C_INFO) func int dia_fajeth_leader_condition() { - if(Npc_KnowsInfo(other,dia_bilgot_knowsleadsnapper) && Npc_IsDead(newmine_leadsnapper) && (MIS_FAJETH_KILL_SNAPPER == LOG_RUNNING)) + if(Npc_KnowsInfo(other,dia_bilgot_knowsleadsnapper) && (MIS_FAJETH_KILL_SNAPPER == LOG_RUNNING)) { - return TRUE; + if(Npc_IsDead(newmine_leadsnapper)) + { + return TRUE; + }; }; }; @@ -222,9 +225,12 @@ instance DIA_FAJETH_SNAPPER_KILLED(C_INFO) func int dia_fajeth_snapper_killed_condition() { - if((MIS_FAJETH_KILL_SNAPPER == LOG_RUNNING) && (c_snapperdeath() == TRUE)) + if(MIS_FAJETH_KILL_SNAPPER == LOG_RUNNING) { - return TRUE; + if(c_snapperdeath()) + { + return TRUE; + }; }; }; diff --git a/PrjGothic/Story/Dialoge/DIA_djg_700_sylvio.d b/PrjGothic/Story/Dialoge/DIA_djg_700_sylvio.d index e4ddd71..73cd230 100644 --- a/PrjGothic/Story/Dialoge/DIA_djg_700_sylvio.d +++ b/PrjGothic/Story/Dialoge/DIA_djg_700_sylvio.d @@ -383,7 +383,7 @@ func void dia_sylviodjg_whatnext_attack() Npc_SetRefuseTalk(self,60); Npc_ExchangeRoutine(self,"Start"); b_startotherroutine(djg_bullco,"Start"); - b_logentry(TOPIC_DRAGONHUNTER,"Эта грязная свинья Сильвио собирался присвоить себе мою победу над ледяными драконами. Мы немного повздорили."); + b_logentry(TOPIC_DRAGONHUNTER,"Эта грязная свинья Сильвио собирался присвоить себе мою победу над ледяным драконом. Мы немного повздорили."); b_attack(self,other,AR_NONE,1); b_attack(djg_bullco,other,AR_NONE,1); }; diff --git a/PrjGothic/Story/Dialoge/DIA_djg_701_bullco.d b/PrjGothic/Story/Dialoge/DIA_djg_701_bullco.d index 2a159d2..1ed088f 100644 --- a/PrjGothic/Story/Dialoge/DIA_djg_701_bullco.d +++ b/PrjGothic/Story/Dialoge/DIA_djg_701_bullco.d @@ -41,7 +41,7 @@ func int dia_bullcodjg_hallo_condition() func void dia_bullcodjg_hallo_info() { - AI_Output(other,self,"DIA_BullcoDJG_HALLO_15_00"); //В чем дело??? + AI_Output(other,self,"DIA_BullcoDJG_HALLO_15_00"); //В чем дело? AI_Output(self,other,"DIA_BullcoDJG_HALLO_06_01"); //Здесь так холодно! Не понимаю, почему Сильвио настоял, чтобы мы шли именно сюда. AI_Output(self,other,"DIA_BullcoDJG_HALLO_06_02"); //Здесь есть множество других мест, где можно было бы поискать! AI_StopProcessInfos(self); @@ -55,7 +55,7 @@ instance DIA_BULLCODJG_WARTEMAL(C_INFO) condition = dia_bullcodjg_wartemal_condition; information = dia_bullcodjg_wartemal_info; permanent = TRUE; - description = "Все в порядке?"; + description = "А все остальное в порядке?"; }; @@ -114,7 +114,7 @@ instance DIA_BULLCO_WASNUN(C_INFO) nr = 8; condition = dia_bullco_wasnun_condition; information = dia_bullco_wasnun_info; - description = "Что ты планируешь делать дальше?"; + description = "Что ты будешь делать теперь, когда Сильвио мертв?"; }; @@ -146,7 +146,7 @@ func void dia_bullco_wasnun_woandere_zuihnen() AI_Output(other,self,"DIA_Bullco_WASNUN_woandere_zuihnen_15_00"); //Отведи меня к другим охотникам на драконов. AI_Output(self,other,"DIA_Bullco_WASNUN_woandere_zuihnen_06_01"); //Эй, я не твой лакей. Info_ClearChoices(dia_bullco_wasnun); - Info_AddChoice(dia_bullco_wasnun,"Как знаешь.",dia_bullco_wasnun_woandere_zuihnen_alleine); + Info_AddChoice(dia_bullco_wasnun,"Как знаешь. Я сам их найду.",dia_bullco_wasnun_woandere_zuihnen_alleine); Info_AddChoice(dia_bullco_wasnun,"Радуйся, если я оставлю тебя в живых.",dia_bullco_wasnun_woandere_zuihnen_lebenlassen); Info_AddChoice(dia_bullco_wasnun,"Я заплачу тебе 50 золотых за это.",dia_bullco_wasnun_woandere_zuihnen_geld); }; diff --git a/PrjGothic/Story/Dialoge/DIA_djg_703_cipher.d b/PrjGothic/Story/Dialoge/DIA_djg_703_cipher.d index 373820c..f6ed30d 100644 --- a/PrjGothic/Story/Dialoge/DIA_djg_703_cipher.d +++ b/PrjGothic/Story/Dialoge/DIA_djg_703_cipher.d @@ -267,7 +267,7 @@ instance DIA_CIPHERDJG_WHATNEXT(C_INFO) condition = dia_cipherdjg_whatnext_condition; information = dia_cipherdjg_whatnext_info; permanent = TRUE; - description = "Болотный дракон мертв!"; + description = "Болотный дракон мертв! Что ты будешь делать дальше?"; }; diff --git a/PrjGothic/Story/Dialoge/DIA_mil_312_wulfgar.d b/PrjGothic/Story/Dialoge/DIA_mil_312_wulfgar.d index 06a5d83..01a71b2 100644 --- a/PrjGothic/Story/Dialoge/DIA_mil_312_wulfgar.d +++ b/PrjGothic/Story/Dialoge/DIA_mil_312_wulfgar.d @@ -362,7 +362,7 @@ func void dia_wulfgar_bonus_info() AI_Output(self,other,"DIA_Wulfgar_Bonus_04_00"); //Ранняя пташка? Я обычно один в это время дня. Но раз уж ты здесь, то можно потренироваться. AI_Output(self,other,"DIA_Wulfgar_Bonus_04_01"); //Будь внимательным. Ты можешь обмануть некоторых противников, если уклонишься от удара, а затем атакуешь в правильный момент. AI_Output(self,other,"DIA_Wulfgar_Bonus_04_02"); //Помни об этом в своем следующем бою! - other.hitchance[NPC_TALENT_1H] = other.hitchance[NPC_TALENT_1H] + 2; + b_addfightskill(other,NPC_TALENT_1H,2); PrintScreen(PRINT_LEARN1H,-1,-1,FONT_SCREENSMALL,2); }; diff --git a/PrjGothic/Story/Dialoge/DIA_pal_299_sergio.d b/PrjGothic/Story/Dialoge/DIA_pal_299_sergio.d index 98f93b9..e1be994 100644 --- a/PrjGothic/Story/Dialoge/DIA_pal_299_sergio.d +++ b/PrjGothic/Story/Dialoge/DIA_pal_299_sergio.d @@ -88,7 +88,7 @@ func void dia_sergio_isgaroth_xp() { AI_Output(other,self,"DIA_Sergio_Isgaroth_XP_15_00"); //Ты не мог бы поделиться своим боевым опытом? AI_Output(self,other,"DIA_Sergio_Isgaroth_XP_04_01"); //Когда ты сражаешься, постарайся, чтобы никто не мог атаковать тебя сзади. - other.hitchance[NPC_TALENT_2H] = other.hitchance[NPC_TALENT_2H] + 2; + b_addfightskill(other,NPC_TALENT_2H,2); PrintScreen(PRINT_LEARN2H,-1,-1,FONT_SCREENSMALL,2); Info_ClearChoices(dia_sergio_isgaroth); }; diff --git a/PrjGothic/Story/Dialoge/DIA_vlk_404_lutero.d b/PrjGothic/Story/Dialoge/DIA_vlk_404_lutero.d index c685fa7..f93a729 100644 --- a/PrjGothic/Story/Dialoge/DIA_vlk_404_lutero.d +++ b/PrjGothic/Story/Dialoge/DIA_vlk_404_lutero.d @@ -61,7 +61,7 @@ instance DIA_LUTERO_GETLOST(C_INFO) nr = 5; condition = dia_lutero_getlost_condition; information = dia_lutero_getlost_info; - permanent = FALSE; + permanent = TRUE; important = TRUE; }; diff --git a/PrjGothic/Story/Dialoge/DIA_vlk_4110_jergan.d b/PrjGothic/Story/Dialoge/DIA_vlk_4110_jergan.d index a7afa9f..92085c3 100644 --- a/PrjGothic/Story/Dialoge/DIA_vlk_4110_jergan.d +++ b/PrjGothic/Story/Dialoge/DIA_vlk_4110_jergan.d @@ -290,9 +290,12 @@ instance DIA_JERGAN_LEADER(C_INFO) func int dia_jergan_leader_condition() { - if((Npc_GetDistToWP(self,"OW_NEWMINE_04") < 1000) && Npc_IsDead(newmine_leadsnapper) && Npc_KnowsInfo(other,dia_bilgot_knowsleadsnapper)) + if((Npc_GetDistToWP(self,"OW_NEWMINE_04") < 1000) && Npc_KnowsInfo(other,dia_bilgot_knowsleadsnapper)) { - return TRUE; + if(Npc_IsDead(newmine_leadsnapper)) + { + return TRUE; + }; }; }; diff --git a/PrjGothic/Story/NPC/bau_935_bronko.d b/PrjGothic/Story/NPC/bau_935_bronko.d index 0002291..c87be44 100644 --- a/PrjGothic/Story/NPC/bau_935_bronko.d +++ b/PrjGothic/Story/NPC/bau_935_bronko.d @@ -32,6 +32,6 @@ func void rtn_prestart_935() func void rtn_start_935() { ta_pick_fp(8,0,22,0,"NW_FARM4_FIELD_01"); - ta_pick_fp(22,0,8,0,"NW_FARM4_FIELD_01"); + ta_sit_campfire(22,0,8,0,"NW_FARM4_REST_02"); }; diff --git a/PrjGothic/_Intern/Constants.d b/PrjGothic/_Intern/Constants.d index 9b8bdf4..8dfd008 100644 --- a/PrjGothic/_Intern/Constants.d +++ b/PrjGothic/_Intern/Constants.d @@ -764,6 +764,6 @@ const int INVCAM_Z_RING_STANDARD = 45; const int UnionActivated = 0; -const string FIX_VERSION_DATE = "06/08/2022"; +const string FIX_VERSION_DATE = "14/08/2022"; const int FIX_VERSION_START = 15; var int FIX_VERSION_SAVE; diff --git a/src/txt/g2_classic_readme.txt b/src/txt/g2_classic_readme.txt index c668757..4c79425 100644 --- a/src/txt/g2_classic_readme.txt +++ b/src/txt/g2_classic_readme.txt @@ -15,6 +15,8 @@ - тексты получения награды РѕС‚ Сифера Рё Рауля РЅРµ накладываются РґСЂСѓРі РЅР° РґСЂСѓРіР°; - добавлено меню подтверждения начала РЅРѕРІРѕР№ РёРіСЂС‹; - исправлено соотношение сторон СЂРёСЃСѓРЅРєР° Бабо; +- исправлены ошибки РїСЂРё повышении навыков СЃ помощью Р±РѕРЅСѓСЃРѕРІ Вульфгара, Сержио Рё РєРЅРёРі; +- исправлена ошибка РІ диалогах Лютеро, позволявшая торговать СЃ РЅРёРј нейтралу Рё послушнику; 1.4 - квесты 'Стать наемником' Рё 'Член РіРѕСЂРѕРґСЃРєРѕР№ стражи' закроются РїСЂРё вступлении РІ послушники, Р° РЅРµ маги;