14
« dnia: 2010-02-16, 22:08 »
kto mi powie, jakim cudem, gdy chcę zreparsować skrypty w gothic_starter_modzie, to wyskakuję komunikat o redefined identifier C_BRAGOBANDITSDEAD w linijce 5, która to funkcja występuje tylko i wyłącznie w dialogu Cavalorna w g2nk (DIA_Addon_BAU_4300_Cavalorn.d); nie wiem, jak to naprawić ; oto kod:
func int C_BragoBanditsDead()
{
if((Npc_IsDead(Ambusher_1013) || (Bdt_1013_Away == TRUE)) && Npc_IsDead(Ambusher_1014) && Npc_IsDead(Ambusher_1015))
{
return TRUE;
};
};
instance DIA_Addon_Cavalorn_EXIT(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 999;
condition = DIA_Addon_Cavalorn_EXIT_Condition;
information = DIA_Addon_Cavalorn_EXIT_Info;
permanent = TRUE;
description = Dialog_Ende;
};
func int DIA_Addon_Cavalorn_EXIT_Condition()
{
return TRUE;
};
func void DIA_Addon_Cavalorn_EXIT_Info()
{
AI_StopProcessInfos(self);
};
instance DIA_Addon_Cavalorn_PICKPOCKET(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 900;
condition = DIA_Addon_Cavalorn_PICKPOCKET_Condition;
information = DIA_Addon_Cavalorn_PICKPOCKET_Info;
permanent = TRUE;
description = "(Kradzież tego kołczanu będzie dość łatwa)";
};
func int DIA_Addon_Cavalorn_PICKPOCKET_Condition()
{
if((Npc_GetTalentSkill(other,NPC_TALENT_PICKPOCKET) == 1) && (self.aivar[AIV_PlayerHasPickedMyPocket] == FALSE) && (other.attribute[ATR_DEXTERITY] >= (25 - Theftdiff)))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_PICKPOCKET_Info()
{
Info_ClearChoices(DIA_Addon_Cavalorn_PICKPOCKET);
Info_AddChoice(DIA_Addon_Cavalorn_PICKPOCKET,Dialog_Back,DIA_Addon_Cavalorn_PICKPOCKET_BACK);
Info_AddChoice(DIA_Addon_Cavalorn_PICKPOCKET,DIALOG_PICKPOCKET,DIA_Addon_Cavalorn_PICKPOCKE
T_DoIt);
};
func void DIA_Addon_Cavalorn_PICKPOCKET_DoIt()
{
if(other.attribute[ATR_DEXTERITY] >= 25)
{
B_GiveInvItems(self,other,ItRw_Arrow,44);
self.aivar[AIV_PlayerHasPickedMyPocket] = TRUE;
B_GivePlayerXP(XP_Ambient);
Info_ClearChoices(DIA_Addon_Cavalorn_PICKPOCKET);
}
else
{
AI_StopProcessInfos(self);
B_Attack(self,other,AR_Theft,1);
};
};
func void DIA_Addon_Cavalorn_PICKPOCKET_BACK()
{
Info_ClearChoices(DIA_Addon_Cavalorn_PICKPOCKET);
};
instance DIA_Addon_Cavalorn_MeetingIsRunning(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 1;
condition = DIA_Addon_Cavalorn_MeetingIsRunning_Condition;
information = DIA_Addon_Cavalorn_MeetingIsRunning_Info;
important = TRUE;
permanent = TRUE;
};
var int DIA_Addon_Cavalorn_MeetingIsRunning_OneTime;
func int DIA_Addon_Cavalorn_MeetingIsRunning_Condition()
{
if(Npc_IsInState(self,ZS_Talk) && (RangerMeetingRunning == LOG_Running))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_MeetingIsRunning_Info()
{
if(DIA_Addon_Cavalorn_MeetingIsRunning_OneTime == FALSE)
{
AI_Output(self,other,"DIA_Addon_Cavalorn_MeetingIsRunning_08_00"); //Witaj w Kręgu, przyjacielu.
DIA_Addon_Cavalorn_MeetingIsRunning_OneTime = TRUE;
}
else
{
AI_Output(self,other,"DIA_Addon_Gaan_MeetingIsRunning_08_01"); //Vatras da ci kolejne zadanie.
};
AI_StopProcessInfos(self);
};
instance DIA_Addon_Cavalorn_HALLO(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_HALLO_Condition;
information = DIA_Addon_Cavalorn_HALLO_Info;
description = "Jakieś kłopoty?";
};
func int DIA_Addon_Cavalorn_HALLO_Condition()
{
return TRUE;
};
func void DIA_Addon_Cavalorn_HALLO_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HALLO_15_00"); //Jakieś kłopoty?
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_08_01"); //Do diabła. Nie wiem, gdzie się ukrywają. Zabijesz jednego, ale zaraz wracają.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_08_02"); //Chwila. Ja ciebie znam. To ty ciągle żebrałeś u mnie o strzały, jeszcze w Górniczej Dolinie.
Info_ClearChoices(DIA_Addon_Cavalorn_HALLO);
Info_AddChoice(DIA_Addon_Cavalorn_HALLO,"Nazywasz się Cavalorn, tak?",DIA_Addon_Cavalorn_HALLO_Ja);
Info_AddChoice(DIA_Addon_Cavalorn_HALLO,"Nie przypominam sobie...",DIA_Addon_Cavalorn_HALLO_weissNicht);
};
func void DIA_Addon_Cavalorn_HALLO_weissNicht()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HALLO_weissNicht_15_00"); //Nie przypominam sobie...
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_weissNicht_08_01"); //Daj spokój! Nauczyłem cię łucznictwa i skradania się w mojej chatce niedaleko Starego Obozu! Przypominasz sobie?
};
func void DIA_Addon_Cavalorn_HALLO_Ja()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HALLO_Ja_15_00"); //Nazywasz się Cavalorn, tak?
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Ja_08_01"); //Ach, nie zapomniałeś o mnie. Koniec końców obaj przeszliśmy przez tę przeklętą kolonię.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Ja_08_02"); //Dokąd idziesz?
Info_ClearChoices(DIA_Addon_Cavalorn_HALLO);
Info_AddChoice(DIA_Addon_Cavalorn_HALLO,"Nie mam określonego celu.",DIA_Addon_Cavalorn_HALLO_keinZiel);
Info_AddChoice(DIA_Addon_Cavalorn_HALLO,"Z powrotem do Górniczej Doliny.",DIA_Addon_Cavalorn_HALLO_Bauern);
if(Mil_310_Stadtwache.aivar[AIV_PASSGATE] == FALSE)
{
Info_AddChoice(DIA_Addon_Cavalorn_HALLO,"Do miasta.",DIA_Addon_Cavalorn_HALLO_Stadt);
};
};
func void DIA_Addon_Cavalorn_HALLO_Stadt()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HALLO_Stadt_15_00"); //Do miasta.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Stadt_08_01"); //Ach, też do miasta.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Stadt_08_02"); //Miałbyś kłopoty ze strażą. Teraz, gdy aż roi się tu od bandytów, nie każdy może wejść do miasta.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Stadt_08_03"); //Kilka dni temu przechodził tędy jeden ze starych Psioników z Górniczej Doliny. Mówił, że może wchodzić i wychodzić z Khorinis, kiedy tylko chce.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Stadt_08_04"); //Poszedł do doliny pod tą dużą wieżą. Gdzieś w okolicy wodospadu musi być przejście.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Stadt_08_05"); //Może powinieneś z nim porozmawiać.
Info_ClearChoices(DIA_Addon_Cavalorn_HALLO);
};
func void DIA_Addon_Cavalorn_HALLO_Bauern()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HALLO_Bauern_15_00"); //Z powrotem do Górniczej Doliny.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Bauern_08_01"); //Naprawdę? Hmm. Szkoda, że nie mogę z tobą iść, ale muszę załatwić kilka spraw.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_Bauern_08_02"); //Jeżeli dostaniesz się do Górniczej Doliny, sprawdź, czy moja chata jeszcze stoi, dobrze? Pewnego dnia chciałbym tam wrócić.
MIS_Addon_Cavalorn_TheHut = LOG_Running;
Log_CreateTopic(TOPIC_Addon_CavalornTheHut,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Addon_CavalornTheHut,LOG_Running);
B_LogEntry(TOPIC_Addon_CavalornTheHut,"Cavalorn chce, żebym sprawdził, czy w Górniczej Dolinie wciąż stoi jego stara chata. Z tego, co pamiętam, znajdowała się ona na wzgórzach na zachód od Starego Obozu. Wydaje mi się, że coś tam mogło zostać.");
Info_ClearChoices(DIA_Addon_Cavalorn_HALLO);
};
func void DIA_Addon_Cavalorn_HALLO_keinZiel()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HALLO_keinZiel_15_00"); //Nie mam określonego celu.
AI_Output(self,other,"DIA_Addon_Cavalorn_HALLO_keinZiel_08_01"); //Nie chcesz powiedzieć, co? Nie ma sprawy.
Info_ClearChoices(DIA_Addon_Cavalorn_HALLO);
};
instance DIA_Addon_Cavalorn_Beutel(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_Beutel_Condition;
information = DIA_Addon_Cavalorn_Beutel_Info;
description = "Byłem w twojej chacie w Górniczej Dolinie.";
};
func int DIA_Addon_Cavalorn_Beutel_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_HALLO) && (Npc_HasItems(other,ItSe_ADDON_CavalornsBeutel) || (SC_OpenedCavalornsBeutel == TRUE)))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_Beutel_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_15_00"); //Byłem w twojej chacie w Górniczej Dolinie.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_08_01"); //A zatem jeszcze stoi.
if(MIS_Addon_Cavalorn_TheHut == LOG_Running)
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_15_02"); //Tak. I wiem, co stamtąd chciałeś.
};
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_08_03"); //Udało ci się to znaleźć?
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_15_04"); //Jeżeli mówisz o torbie pełnej rudy... Tak, mam ją.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_08_05"); //Ale z ciebie spryciula, wiesz o tym?
if(MIS_Addon_Cavalorn_TheHut == LOG_Running)
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_15_06"); //A czego mógłbyś potrzebować z tej starej chaty? Nic tam nie zostało.
};
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_08_07"); //Masz ją ze sobą? Dam ci za nią 100 sztuk złota.
TOPIC_End_CavalornTheHut = TRUE;
B_GivePlayerXP(XP_Ambient);
Info_ClearChoices(DIA_Addon_Cavalorn_Beutel);
if(Npc_HasItems(other,ItSe_ADDON_CavalornsBeutel))
{
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,"Pewnie.",DIA_Addon_Cavalorn_Beutel_ja);
}
else if(Npc_HasItems(other,ItMi_Nugget))
{
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,"Nie, ale mam kawałki rudy.",DIA_Addon_Cavalorn_Beutel_jaerz);
};
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,"Nie.",DIA_Addon_Cavalorn_Beutel_no);
};
func void DIA_Addon_Cavalorn_Beutel_back()
{
Info_ClearChoices(DIA_Addon_Cavalorn_Beutel);
AI_Output(self,other,"DIA_Addon_Cavalorn_back_08_00"); //Mam nadzieję, że wkrótce ją odzyskam.
};
func void DIA_Addon_Cavalorn_Beutel_jaerz()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_jaerz_15_00"); //Nie, ale mam kawałki rudy.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_jaerz_08_01"); //Też dobrze.
Info_ClearChoices(DIA_Addon_Cavalorn_Beutel);
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,Dialog_Back,DIA_Addon_Cavalorn_Beutel_back);
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,"A dlaczego ją zostawiłeś?",DIA_Addon_Cavalorn_Beutel_why);
};
func void DIA_Addon_Cavalorn_Beutel_ja()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_ja_15_00"); //Pewnie.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_ja_08_01"); //Świetnie.
Info_ClearChoices(DIA_Addon_Cavalorn_Beutel);
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,Dialog_Back,DIA_Addon_Cavalorn_Beutel_back);
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,"A dlaczego ją zostawiłeś?",DIA_Addon_Cavalorn_Beutel_why);
};
func void DIA_Addon_Cavalorn_Beutel_no()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_no_15_00"); //Nie.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_no_08_01"); //Więc przynieś mi to! Koniec końców sam bym chyba poszedł po ten towar do tej przeklętej Górniczej Doliny.
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_no_15_02"); //Jestem wzruszony.
Info_ClearChoices(DIA_Addon_Cavalorn_Beutel);
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,Dialog_Back,DIA_Addon_Cavalorn_Beutel_back);
Info_AddChoice(DIA_Addon_Cavalorn_Beutel,"A dlaczego ją zostawiłeś?",DIA_Addon_Cavalorn_Beutel_why);
};
func void DIA_Addon_Cavalorn_Beutel_why()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Beutel_why_15_00"); //A dlaczego ją zostawiłeś?
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_why_08_01"); //Kto mógłby przypuszczać, że w Khorinis ruda jest tak cenna.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_why_08_02"); //W kolonii za głupi kawałek rudy nie dostałbyś nawet miejsca do spania.
AI_Output(self,other,"DIA_Addon_Cavalorn_Beutel_why_08_03"); //W porcie można dostać po głowie za kawałek rudy.
};
instance DIA_Addon_Cavalorn_ErzGeben(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_ErzGeben_Condition;
information = DIA_Addon_Cavalorn_ErzGeben_Info;
description = "Daj mi 100 sztuk złota, a przyniosę ci tę rudę.";
};
func int DIA_Addon_Cavalorn_ErzGeben_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_Beutel) && (Npc_HasItems(other,ItSe_ADDON_CavalornsBeutel) || Npc_HasItems(other,ItMi_Nugget)))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_ErzGeben_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_ErzGeben_15_00"); //Daj mi 100 sztuk złota, a przyniosę ci tę rudę.
AI_Output(self,other,"DIA_Addon_Cavalorn_ErzGeben_08_01"); //Zgoda. Masz.
CreateInvItems(self,ItMi_Gold,100);
B_GiveInvItems(self,other,ItMi_Gold,100);
if(B_GiveInvItems(other,self,ItSe_ADDON_CavalornsBeutel,1) == FALSE)
{
B_GiveInvItems(other,self,ItMi_Nugget,1);
};
AI_Output(self,other,"DIA_Addon_Cavalorn_ErzGeben_08_02"); //Prawdziwy z ciebie przyjaciel. Dziękuję.
MIS_Addon_Cavalorn_TheHut = LOG_SUCCESS;
B_GivePlayerXP(XP_Addon_CavalornsBeutel);
};
instance DIA_Addon_Cavalorn_WASMACHSTDU(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_WASMACHSTDU_Condition;
information = DIA_Addon_Cavalorn_WASMACHSTDU_Info;
description = "Co tu robisz?";
};
func int DIA_Addon_Cavalorn_WASMACHSTDU_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_HALLO) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_WASMACHSTDU_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_WASMACHSTDU_15_00"); //Co tu robisz?
AI_Output(self,other,"DIA_Addon_Cavalorn_WASMACHSTDU_08_01"); //Utknąłem. Gdyby nie ci przeklęci bandyci, w ogóle by mnie tu nie było.
};
instance DIA_Addon_Cavalorn_Banditen(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 10;
condition = DIA_Addon_Cavalorn_Banditen_Condition;
information = DIA_Addon_Cavalorn_Banditen_Info;
description = "O co chodzi z tymi bandytami?";
};
func int DIA_Addon_Cavalorn_Banditen_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_WASMACHSTDU) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_Banditen_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Banditen_15_00"); //O co chodzi z tymi bandytami?
AI_Output(self,other,"DIA_Addon_Cavalorn_Banditen_08_01"); //Przespałeś cały ostatni tydzień?
AI_Output(other,self,"DIA_Addon_Cavalorn_Banditen_15_02"); //Ech...
AI_Output(self,other,"DIA_Addon_Cavalorn_Banditen_08_03"); //Mówię o tych szczurach z kolonii karnej - rozleźli się po całej okolicy; łupią i mordują.
AI_Output(self,other,"DIA_Addon_Cavalorn_Banditen_08_04"); //Cieszę się, że darowali mi życie. Nie uważałem i dostałem w czaszkę.
if(C_BragoBanditsDead() == FALSE)
{
AI_Output(self,other,"DIA_Addon_Cavalorn_Banditen_08_05"); //Nie wiem, jak mam teraz odzyskać swoje rzeczy.
};
};
instance DIA_Addon_Cavalorn_ARTEFAKT(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_ARTEFAKT_Condition;
information = DIA_Addon_Cavalorn_ARTEFAKT_Info;
description = "Zostałeś obrabowany przez bandytów?";
};
func int DIA_Addon_Cavalorn_ARTEFAKT_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_Banditen) && (MIS_Addon_Cavalorn_KillBrago != LOG_SUCCESS) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0) && (MIS_Addon_Cavalorn_Letter2Vatras != LOG_SUCCESS))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_ARTEFAKT_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_ARTEFAKT_15_00"); //Zostałeś obrabowany przez bandytów?
AI_Output(self,other,"DIA_Addon_Cavalorn_ARTEFAKT_08_01"); //Tak. Ogłuszyli mnie i zostawili jako żarcie dla goblinów.
AI_Output(self,other,"DIA_Addon_Cavalorn_ARTEFAKT_08_02"); //To były piekielnie ważne rzeczy. List i cała moja gotówka. Muszę je odzyskać.
AI_Output(self,other,"DIA_Addon_Cavalorn_ARTEFAKT_08_03"); //Nie pójdę tam jednak bez wsparcia. Ta tchórzliwa hałastra bandytów...
};
instance DIA_Addon_Cavalorn_HELFEN(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_HELFEN_Condition;
information = DIA_Addon_Cavalorn_HELFEN_Info;
description = "Mogę ci pomóc z tymi bandytami?";
};
func int DIA_Addon_Cavalorn_HELFEN_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_ARTEFAKT) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0) && (MIS_Addon_Cavalorn_Letter2Vatras != LOG_SUCCESS) && (C_BragoBanditsDead() == FALSE))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_HELFEN_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_HELFEN_15_00"); //Mogę ci pomóc z tymi bandytami?
if((Npc_HasEquippedArmor(other) == FALSE) && (hero.guild == GIL_NONE))
{
AI_Output(self,other,"DIA_Addon_Cavalorn_HELFEN_08_01"); //Może. Ale sądząc po twoim mizernym wyglądzie, mogę powiedzieć, że od tygodni nie miałeś w rękach prawdziwego miecza.
};
AI_Output(self,other,"DIA_Addon_Cavalorn_HELFEN_08_02"); //No cóż. Muszę chyba przyjąć twoją ofertę. Nie mam zbyt wiele czasu.
AI_Output(self,other,"DIA_Addon_Cavalorn_HELFEN_08_03"); //Dobra, słuchaj. W dole tej ścieżki jest jedna z tych brudnych dziur, w których ukrywają się bandyci.
AI_Output(self,other,"DIA_Addon_Cavalorn_HELFEN_08_04"); //To te łotry ukradły moje rzeczy.
AI_Output(self,other,"DIA_Addon_Cavalorn_HELFEN_08_05"); //Daj znać, gdy będziesz gotów. Ruszymy za tymi szczurami!
MIS_Addon_Cavalorn_KillBrago = LOG_Running;
Log_CreateTopic(TOPIC_Addon_KillBrago,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Addon_KillBrago,LOG_Running);
B_LogEntry(TOPIC_Addon_KillBrago,"Bandyci ukradli coś cennego Cavalornowi. Chce, żebyśmy razem ich zabili.");
self.aivar[AIV_PARTYMEMBER] = TRUE;
};
instance DIA_Addon_Cavalorn_AUSRUESTUNG(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_AUSRUESTUNG_Condition;
information = DIA_Addon_Cavalorn_AUSRUESTUNG_Info;
description = "Potrzebuję lepszego sprzętu.";
};
func int DIA_Addon_Cavalorn_AUSRUESTUNG_Condition()
{
if((MIS_Addon_Cavalorn_KillBrago != 0) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_AUSRUESTUNG_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_AUSRUESTUNG_15_00"); //Potrzebuję lepszego sprzętu.
if(C_BragoBanditsDead() == FALSE)
{
AI_Output(self,other,"DIA_Addon_Cavalorn_AUSRUESTUNG_08_01"); //Te świnie nie zostawiły mi zbyt wiele.
};
AI_Output(self,other,"DIA_Addon_Cavalorn_AUSRUESTUNG_08_02"); //Mogę ci dać nóż na wilki. Wystarczy?
AI_Output(other,self,"DIA_Addon_Cavalorn_AUSRUESTUNG_15_03"); //Tak, nóż będzie dobry.
CreateInvItems(self,ItMW_Addon_Knife01,1);
B_GiveInvItems(self,other,ItMW_Addon_Knife01,1);
AI_Output(other,self,"DIA_Addon_Cavalorn_AUSRUESTUNG_15_04"); //A co z leczeniem?
AI_Output(self,other,"DIA_Addon_Cavalorn_AUSRUESTUNG_08_05"); //Zostały mi dwie mikstury uzdrawiające. Chcesz?
AI_Output(other,self,"DIA_Addon_Cavalorn_AUSRUESTUNG_15_06"); //Pewnie. Wezmę je.
CreateInvItems(self,ItPo_Health_01,2);
B_GiveInvItems(self,other,ItPo_Health_01,2);
};
instance DIA_Addon_Cavalorn_LETSKILLBANDITS(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_LETSKILLBANDITS_Condition;
information = DIA_Addon_Cavalorn_LETSKILLBANDITS_Info;
description = "Chodźmy zabić tych gnojków.";
};
func int DIA_Addon_Cavalorn_LETSKILLBANDITS_Condition()
{
if((MIS_Addon_Cavalorn_KillBrago == LOG_Running) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0) && (MIS_Addon_Cavalorn_Letter2Vatras != LOG_SUCCESS) && (C_BragoBanditsDead() == FALSE))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_LETSKILLBANDITS_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_LETSKILLBANDITS_15_00"); //Chodźmy zabić tych gnojków.
AI_Output(self,other,"DIA_Addon_Cavalorn_LETSKILLBANDITS_08_01"); //Dobra. Tylko mnie osłaniaj, jasne?
AI_Output(self,other,"DIA_Addon_Cavalorn_LETSKILLBANDITS_08_02"); //A teraz czeka ich paskudna niespodzianka.
AI_StopProcessInfos(self);
Npc_ExchangeRoutine(self,"KillBandits");
if(Bdt_1013_Away == FALSE)
{
Ambusher_1013.aivar[AIV_EnemyOverride] = FALSE;
};
Ambusher_1014.aivar[AIV_EnemyOverride] = FALSE;
Ambusher_1015.aivar[AIV_EnemyOverride] = FALSE;
};
func void B_Addon_Cavalorn_VatrasBrief()
{
if(MIS_Addon_Cavalorn_Letter2Vatras != LOG_SUCCESS)
{
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_00"); //Przynajmniej mogę wykonać zadanie. I tak zmarnowałem już zbyt wiele czasu.
AI_Output(other,self,"DIA_Addon_Cavalorn_VatrasBrief_15_01"); //Jakie zadanie...?
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_02"); //Ech. Muszę się dostać do miasta, a później...
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_03"); //Nie wiem tylko, jak mam zdążyć.
AI_Output(other,self,"DIA_Addon_Cavalorn_VatrasBrief_15_04"); //A co ze mną?
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_05"); //Hmm. Czemu nie. Mógłbyś zanieść list do miasta.
};
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_06"); //Dzięki temu będę miał czas, żeby pozbierać sprzęt.
if(MIS_Addon_Cavalorn_Letter2Vatras != LOG_SUCCESS)
{
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_07"); //Jeden z tych bandytów powinien mieć list w kieszeni.
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_08"); //Zanieś go do miasta i oddaj magowi Kręgu Wody, Vatrasowi. Znajdziesz go w świątyni Adanosa. Naucza tam całymi dniami.
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_09"); //Powiedz mu, że nie zdążyłem na czas.
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_10"); //A gdyby cię zapytał, gdzie jestem, powiedz, że w drodze na miejsce spotkania, dobrze?
B_LogEntry(TOPIC_Addon_KDW,"Maga Wody, Vatrasa, można znaleźć w portowym mieście Khorinis. Głosi tam kazania w świątyni Adanosa.");
};
if((Npc_HasEquippedArmor(other) == FALSE) && (hero.guild == GIL_NONE) && (Mil_310_schonmalreingelassen == FALSE) && (Mil_333_schonmalreingelassen == FALSE))
{
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_11"); //Aha, jeszcze jedno: kup sobie od jakiegoś wieśniaka porządne ubranie.
AI_Output(self,other,"DIA_Addon_Cavalorn_VatrasBrief_08_12"); //Inaczej wezmą cię za bandytę. Masz, tu jest parę monet.
CreateInvItems(self,ItMi_Gold,50);
B_GiveInvItems(self,other,ItMi_Gold,50);
};
MIS_Addon_Cavalorn_KillBrago = LOG_SUCCESS;
if(MIS_Addon_Cavalorn_Letter2Vatras == 0)
{
MIS_Addon_Cavalorn_Letter2Vatras = LOG_Running;
};
Npc_ExchangeRoutine(self,"Start");
B_GivePlayerXP(XP_Addon_Cavalorn_KillBrago);
Log_CreateTopic(TOPIC_Addon_KDW,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Addon_KDW,LOG_Running);
self.aivar[AIV_PARTYMEMBER] = FALSE;
};
instance DIA_Addon_Cavalorn_BragoKilled(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_BragoKilled_Condition;
information = DIA_Addon_Cavalorn_BragoKilled_Info;
important = TRUE;
};
func int DIA_Addon_Cavalorn_BragoKilled_Condition()
{
if((Npc_GetDistToWP(self,"NW_XARDAS_BANDITS_LEFT") < 500) && (MIS_Addon_Cavalorn_KillBrago == LOG_Running) && (C_BragoBanditsDead() == TRUE))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_BragoKilled_Info()
{
AI_Output(self,other,"DIA_Addon_Cavalorn_BragoKilled_08_00"); //No to załatwione. Ech. Mogli ze mną nie zaczynać.
B_Addon_Cavalorn_VatrasBrief();
};
instance DIA_Addon_Cavalorn_PCKilledBrago(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_PCKilledBrago_Condition;
information = DIA_Addon_Cavalorn_PCKilledBrago_Info;
description = "Bandyci są już martwi.";
};
func int DIA_Addon_Cavalorn_PCKilledBrago_Condition()
{
if((MIS_Addon_Cavalorn_KillBrago == 0) && Npc_KnowsInfo(other,DIA_Addon_Cavalorn_Banditen) && (C_BragoBanditsDead() == TRUE))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_PCKilledBrago_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_PCKilledBrago_15_00"); //Bandyci są już martwi.
B_Addon_Cavalorn_VatrasBrief();
};
instance DIA_Addon_Cavalorn_JUNGS(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 2;
condition = DIA_Addon_Cavalorn_JUNGS_Condition;
information = DIA_Addon_Cavalorn_JUNGS_Info;
description = "Masz na sobie interesujący pancerz.";
};
func int DIA_Addon_Cavalorn_JUNGS_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_HALLO))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_JUNGS_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_JUNGS_15_00"); //Masz na sobie interesujący pancerz. Nie należysz już do Cieni?
AI_Output(self,other,"DIA_Addon_Cavalorn_JUNGS_08_01"); //Cieni? Od upadku bariery już nie istnieją.
AI_Output(self,other,"DIA_Addon_Cavalorn_JUNGS_08_02"); //Gdy tylko mogliśmy opuścić Górniczą Dolinę, nie było powodu, żeby tam dłużej zostawać.
AI_Output(self,other,"DIA_Addon_Cavalorn_JUNGS_08_03"); //Teraz pracuję dla magów wody. Jestem członkiem Wodnego Kręgu.
SC_KnowsRanger = TRUE;
Log_CreateTopic(TOPIC_Addon_RingOfWater,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Addon_RingOfWater,LOG_Running);
B_LogEntry(TOPIC_Addon_RingOfWater,"Cavalorn powiedział mi, że należy do grupy zwącej się Wodny Krąg.");
Cavalorn_RangerHint = TRUE;
};
instance DIA_Addon_Cavalorn_Ring(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_Ring_Condition;
information = DIA_Addon_Cavalorn_Ring_Info;
permanent = FALSE;
description = "Powiedz mi coś więcej o Wodnym Kręgu!";
};
func int DIA_Addon_Cavalorn_Ring_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_JUNGS))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_Ring_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Ring_15_00"); //Powiedz mi coś więcej o Wodnym Kręgu!
AI_Output(self,other,"DIA_Addon_Cavalorn_Ring_08_01"); //Nie wolno mi o tym mówić.
AI_Output(self,other,"DIA_Addon_Cavalorn_Ring_08_02"); //Mogę cię jedynie wysłać do Vartasa. On reprezentuje Magów Wody w Khorinis.
AI_Output(self,other,"DIA_Addon_Cavalorn_Ring_08_03"); //Najlepiej będzie, jak z nim porozmawiasz. Powiedz, że ja cię przysłałem.
AI_Output(self,other,"DIA_Addon_Cavalorn_Ring_08_04"); //Może pozwoli ci wstąpić do Kręgu. Bardzo potrzeba nam dobrych ludzi...
B_LogEntry(TOPIC_Addon_RingOfWater,"Vatras, Mag Wody, może powiedzieć mi więcej o Wodnym Kręgu.");
};
instance DIA_Addon_Cavalorn_Feinde(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 6;
condition = DIA_Addon_Cavalorn_Feinde_Condition;
information = DIA_Addon_Cavalorn_Feinde_Info;
permanent = FALSE;
description = "Czy ty i twoi ludzie nie byliście czasem przeciwnikami Magów Wody?";
};
func int DIA_Addon_Cavalorn_Feinde_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_JUNGS))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_Feinde_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Feinde_15_00"); //Czy ty i twoi ludzie nie byliście czasem przeciwnikami Magów Wody?
AI_Output(self,other,"DIA_Addon_Cavalorn_Feinde_08_01"); //Szalona przeszłość jest już za nami. Nie ma już Nowego ani Starego Obozu.
AI_Output(self,other,"DIA_Addon_Cavalorn_Feinde_08_02"); //A teraz, gdy nie ma już kolonii karnej, każdy odpowiada za siebie.
AI_Output(self,other,"DIA_Addon_Cavalorn_Feinde_08_03"); //Większość z nas - byłych więźniów - nie została uniewinniona.
AI_Output(self,other,"DIA_Addon_Cavalorn_Feinde_08_04"); //Magowie Wody zdołali uzyskać dla mnie ułaskawienie i mogę teraz poruszać się swobodnie.
};
instance DIA_Addon_Cavalorn_KdWTask(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 6;
condition = DIA_Addon_Cavalorn_KdWTask_Condition;
information = DIA_Addon_Cavalorn_KdWTask_Info;
permanent = FALSE;
description = "Co porabiają teraz Magowie Wody?";
};
func int DIA_Addon_Cavalorn_KdWTask_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_JUNGS) && (MIS_Addon_Nefarius_BringMissingOrnaments == 0))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_KdWTask_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_KdWTask_15_00"); //Co porabiają teraz Magowie Wody?
AI_Output(self,other,"DIA_Addon_Cavalorn_KdWTask_08_01"); //Mają wielki plan. Chodzi o niezbadaną część wyspy.
AI_Output(other,self,"DIA_Addon_Cavalorn_KdWTask_15_02"); //Niezbadaną część? Gdzie ona jest?
AI_Output(self,other,"DIA_Addon_Cavalorn_KdWTask_08_03"); //Nie mogę ci powiedzieć nic więcej. Porozmawiaj z Vatrasem w Khorinis.
};
instance DIA_Addon_Cavalorn_BroughtLetter(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_BroughtLetter_Condition;
information = DIA_Addon_Cavalorn_BroughtLetter_Info;
description = "Dałem Vatrasowi twój list.";
};
func int DIA_Addon_Cavalorn_BroughtLetter_Condition()
{
if((MIS_Addon_Cavalorn_Letter2Vatras == LOG_SUCCESS) && Npc_KnowsInfo(other,DIA_Addon_Cavalorn_JUNGS))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_BroughtLetter_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_BroughtLetter_15_00"); //Dałem Vatrasowi twój list.
AI_Output(self,other,"DIA_Addon_Cavalorn_BroughtLetter_08_01"); //Nie oczekiwałem od ciebie niczego innego. Dziękuję.
B_GivePlayerXP(XP_Ambient);
};
instance DIA_Addon_Cavalorn_Ornament(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 2;
condition = DIA_Addon_Cavalorn_Ornament_Condition;
information = DIA_Addon_Cavalorn_Ornament_Info;
description = "Szukasz czegoś?";
};
func int DIA_Addon_Cavalorn_Ornament_Condition()
{
if((MIS_Addon_Nefarius_BringMissingOrnaments == LOG_Running) && Npc_KnowsInfo(other,DIA_Addon_Cavalorn_HALLO))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_Ornament_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Ornament_15_00"); //Szukasz czegoś?
AI_Output(self,other,"DIA_Addon_Cavalorn_Ornament_08_01"); //To takie oczywiste? Tak, Magowie Wody kazali mi szukać zgubionych ornamentów.
AI_Output(other,self,"DIA_Addon_Cavalorn_Ornament_15_02"); //Interesujący zbieg okoliczności. Otrzymałem taki sam rozkaz od Nefariusa.
if(SC_KnowsRanger == TRUE)
{
AI_Output(self,other,"DIA_Addon_Cavalorn_Ornament_08_03"); //Należysz więc do Wodnego Kręgu?
if(SC_IsRanger == TRUE)
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Ornament_15_04"); //Tak.
}
else
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Ornament_15_05"); //Jeszcze nie, ale pracuję nad tym.
};
};
AI_Output(self,other,"DIA_Addon_Cavalorn_Ornament_08_06"); //To dobrze. W takim razie nie muszę tego robić sam.
AI_Output(other,self,"DIA_Addon_Cavalorn_Ornament_15_07"); //Znalazłeś już jakiś ornament?
AI_Output(self,other,"DIA_Addon_Cavalorn_Ornament_08_08"); //Znam miejsce, w którym powinniśmy coś znaleźć.
AI_Output(self,other,"DIA_Addon_Cavalorn_Ornament_08_09"); //Ten kamienny krąg może być jedną z tych budowli, które opisał Nefarius.
AI_Output(self,other,"DIA_Addon_Cavalorn_Ornament_08_10"); //Teraz musimy tylko znaleźć mechanizm.
};
instance DIA_Addon_Cavalorn_Triggered(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_Triggered_Condition;
information = DIA_Addon_Cavalorn_Triggered_Info;
description = "Uruchomiłem mechanizm. Nic się nie stało.";
};
func int DIA_Addon_Cavalorn_Triggered_Condition()
{
if((MIS_Addon_Nefarius_BringMissingOrnaments == LOG_Running) && Npc_KnowsInfo(other,DIA_Addon_Cavalorn_Ornament) && (ORNAMENT_SWITCHED_FARM == TRUE))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_Triggered_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_Triggered_15_00"); //Uruchomiłem mechanizm. Nic się nie stało.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_08_01"); //W takim razie wieśniacy Lobarta mieli rację.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_08_02"); //Powiedzieli, że ktoś już kręcił się przy tych kamieniach.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_08_03"); //Nagle znikąd pojawił się kamienny strażnik i ich zaatakował.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_08_04"); //Farmerzy wezwali straż, żołnierze paladynów, a ci przyszli i zniszczyli potwora.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_08_05"); //Przeszukałem już cały teren. Jeżeli był tu jakiś ornament, mają go teraz paladyni.
Info_ClearChoices(DIA_Addon_Cavalorn_Triggered);
Info_AddChoice(DIA_Addon_Cavalorn_Triggered,"Jeden z nas musi pójść do górnego miasta.",DIA_Addon_Cavalorn_Triggered_Pal);
Info_AddChoice(DIA_Addon_Cavalorn_Triggered,"W takim razie pójdę do nich i odzyskam ornament.",DIA_Addon_Cavalorn_Triggered_OBack);
};
func void B_Cavalorn_Triggered_Wohin()
{
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_Wohin_08_00"); //Pójdę do miasta. Spotkamy się u Vatrasa.
AI_StopProcessInfos(self);
Npc_ExchangeRoutine(self,"Stadt");
Log_CreateTopic(TOPIC_Addon_Ornament,LOG_MISSION);
Log_SetTopicStatus(TOPIC_Addon_Ornament,LOG_Running);
B_LogEntry(TOPIC_Addon_Ornament,"Jeden z brakujących fragmentów ornamentu jest w posiadaniu paladynów w górnym mieście.");
MIS_Addon_Cavalorn_GetOrnamentFromPAL = LOG_Running;
self.flags = 0;
};
func void DIA_Addon_Cavalorn_Triggered_OBack()
{
AI_UnequipArmor(self);
CreateInvItems(self,ITAR_Bau_L,1);
Npc_RemoveInvItems(self,ITAR_RANGER_Addon,Npc_HasItems(self,ITAR_RANGER_Addon));
Npc_RemoveInvItems(self,ITAR_Fake_RANGER,Npc_HasItems(self,ITAR_Fake_RANGER));
AI_EquipBestArmor(self);
AI_Output(other,self,"DIA_Addon_Cavalorn_Triggered_OBack_15_00"); //W takim razie pójdę do nich i odzyskam ornament.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_OBack_08_01"); //Dobrze.
B_Cavalorn_Triggered_Wohin();
};
func void DIA_Addon_Cavalorn_Triggered_Pal()
{
AI_UnequipArmor(self);
CreateInvItems(self,ITAR_Bau_L,1);
Npc_RemoveInvItems(self,ITAR_RANGER_Addon,Npc_HasItems(self,ITAR_RANGER_Addon));
Npc_RemoveInvItems(self,ITAR_Fake_RANGER,Npc_HasItems(self,ITAR_Fake_RANGER));
AI_EquipBestArmor(self);
AI_Output(other,self,"DIA_Addon_Cavalorn_Triggered_Pal_15_00"); //Jeden z nas musi pójść do górnego miasta.
AI_Output(self,other,"DIA_Addon_Cavalorn_Triggered_Pal_08_01"); //Nie mam na to czasu. Ty musisz to zrobić.
B_Cavalorn_Triggered_Wohin();
};
instance DIA_Addon_Cavalorn_GotOrnaFromHagen(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 5;
condition = DIA_Addon_Cavalorn_GotOrnaFromHagen_Condition;
information = DIA_Addon_Cavalorn_GotOrnaFromHagen_Info;
description = "Dostałem brakujący ornament od Lorda Hagena.";
};
func int DIA_Addon_Cavalorn_GotOrnaFromHagen_Condition()
{
if(Lord_Hagen_GotOrnament == TRUE)
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_GotOrnaFromHagen_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_GotOrnaFromHagen_15_00"); //Dostałem brakujący ornament od Lorda Hagena.
AI_Output(self,other,"DIA_Addon_Cavalorn_GotOrnaFromHagen_08_01"); //Widzisz? Wiedziałem, że mieli go paladyni.
B_GivePlayerXP(XP_Ambient);
MIS_Addon_Cavalorn_GetOrnamentFromPAL = LOG_SUCCESS;
};
instance DIA_Addon_Cavalorn_WannaLearn(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 7;
condition = DIA_Addon_Cavalorn_WannaLearn_Condition;
information = DIA_Addon_Cavalorn_WannaLearn_Info;
permanent = FALSE;
description = "Możesz mnie czegoś nauczyć?";
};
func int DIA_Addon_Cavalorn_WannaLearn_Condition()
{
if(Npc_KnowsInfo(other,DIA_Addon_Cavalorn_HALLO) && (C_BragoBanditsDead() == TRUE))
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_WannaLearn_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_WannaLearn_15_00"); //Możesz mnie czegoś nauczyć?
AI_Output(self,other,"DIA_Addon_Cavalorn_WannaLearn_08_01"); //Pewnie. Przecież wiesz. Oj, chłopie, nieźle cię przegonili.
AI_Output(self,other,"DIA_Addon_Cavalorn_WannaLearn_08_02"); //Niczego nie pamiętasz, prawda?
Cavalorn_Addon_TeachPlayer = TRUE;
Log_CreateTopic(Topic_OutTeacher,LOG_NOTE);
B_LogEntry(Topic_OutTeacher,LogText_Addon_Cavalorn_Teach);
};
var int Addon_Cavalorn_Merke_Bow;
var int Addon_Cavalorn_Merke_1h;
instance DIA_Addon_Cavalorn_TEACH(C_Info)
{
npc = BAU_4300_Addon_Cavalorn;
nr = 8;
condition = DIA_Addon_Cavalorn_TEACH_Condition;
information = DIA_Addon_Cavalorn_TEACH_Info;
permanent = TRUE;
description = "Chcę się czegoś od ciebie nauczyć.";
};
func int DIA_Addon_Cavalorn_TEACH_Condition()
{
if(Cavalorn_Addon_TeachPlayer == TRUE)
{
return TRUE;
};
};
func void DIA_Addon_Cavalorn_TEACH_Choices()
{
Info_ClearChoices(DIA_Addon_Cavalorn_TEACH);
Info_AddChoice(DIA_Addon_Cavalorn_TEACH,Dialog_Back,DIA_Addon_Cavalorn_Teach_Back);
if(Npc_GetTalentSkill(other,NPC_TALENT_SNEAK) == FALSE)
{
Info_AddChoice(DIA_Addon_Cavalorn_TEACH,B_BuildLearnString("Skradanie się",B_GetLearnCostTalent(other,NPC_TALENT_SNEAK,1)),DIA_Addon_Cavalorn_Teach_Sneak);
};
Info_AddChoice(DIA_Addon_Cavalorn_TEACH,B_BuildLearnString(PRINT_LearnBow1,B_GetLearnCostTalent(other,NPC_TALENT_BOW,1)),DIA_Addon_Cavalorn_Teach_Bow_1);
Info_AddChoice(DIA_Addon_Cavalorn_TEACH,B_BuildLearnString(PRINT_LearnBow5,B_GetLearnCostTalent(other,NPC_TALENT_BOW,1) * 5),DIA_Addon_Cavalorn_Teach_Bow_5);
Info_AddChoice(DIA_Addon_Cavalorn_TEACH,B_BuildLearnString(PRINT_Learn1h1,B_GetLearnCostTalent(other,NPC_TALENT_1H,1)),DIA_Addon_Cavalorn_Teach_1H_1);
Info_AddChoice(DIA_Addon_Cavalorn_TEACH,B_BuildLearnString(PRINT_Learn1h5,B_GetLearnCostTalent(other,NPC_TALENT_1H,1) * 5),DIA_Addon_Cavalorn_Teach_1H_5);
};
func void DIA_Addon_Cavalorn_TEACH_Info()
{
AI_Output(other,self,"DIA_Addon_Cavalorn_TEACH_15_00"); //Chcę się czegoś od ciebie nauczyć.
AI_Output(self,other,"DIA_Addon_Cavalorn_TEACH_08_01"); //Pewnie. Co chcesz wiedzieć?
Addon_Cavalorn_Merke_Bow = other.HitChance[NPC_TALENT_BOW];
Addon_Cavalorn_Merke_1h = other.HitChance[NPC_TALENT_1H];
DIA_Addon_Cavalorn_TEACH_Choices();
};
func void DIA_Addon_Cavalorn_Teach_Sneak()
{
if(B_TeachThiefTalent(self,other,NPC_TALENT_SNEAK))
{
AI_Output(self,other,"DIA_Addon_Cavalorn_Teach_Sneak_08_00"); //Na miękkich podeszwach mamy większe szanse podkraść się niezauważenie do przeciwnika.
};
DIA_Addon_Cavalorn_TEACH_Choices();
};
func void DIA_Addon_Cavalorn_Teach_Bow_1()
{
B_TeachFightTalentPercent(self,other,NPC_TALENT_BOW,1,90);
DIA_Addon_Cavalorn_TEACH_Choices();
};
func void DIA_Addon_Cavalorn_Teach_Bow_5()
{
B_TeachFightTalentPercent(self,other,NPC_TALENT_BOW,5,90);
DIA_Addon_Cavalorn_TEACH_Choices();
};
func void DIA_Addon_Cavalorn_Teach_1H_1()
{
B_TeachFightTalentPercent(self,other,NPC_TALENT_1H,1,30);
DIA_Addon_Cavalorn_TEACH_Choices();
};
func void DIA_Addon_Cavalorn_Teach_1H_5()
{
B_TeachFightTalentPercent(self,other,NPC_TALENT_1H,5,30);
DIA_Addon_Cavalorn_TEACH_Choices();
};
func void DIA_Addon_Cavalorn_Teach_Back()
{
if((Addon_Cavalorn_Merke_Bow < other.HitChance[NPC_TALENT_BOW]) || (Addon_Cavalorn_Merke_1h < other.HitChance[NPC_TALENT_1H]))
{
AI_Output(self,other,"DIA_Addon_Cavalorn_Teach_BACK_08_00"); //Od razu lepiej. Wiele zapomniałeś, ale doprowadzimy cię do formy.
};
Info_ClearChoices(DIA_Addon_Cavalorn_TEACH);
};