Basic work on the main story completed.

This commit is contained in:
Daniel Heße 2022-05-26 23:18:59 +02:00
parent a0a3d5defa
commit 78bd74c37b
55 changed files with 85347 additions and 83044 deletions

View file

@ -52,5 +52,5 @@ func void B_RefreshArmor()
Npc_ExchangeRoutine(BAU_241_Zaphina, "NEUTRALFIRST");
};
};
PrintS("RefreshArmor aufgerufen");
//PrintS("RefreshArmor aufgerufen");
};

File diff suppressed because it is too large Load diff

View file

@ -102,6 +102,7 @@ STORY\B_Content\B_PlayerFindItem.d
ITEMS\Tuning_*.d
ITEMS\Einhand_EquipBonus.d
ITEMS\Zweihand_EquipBonus.d
STORY\B_STORY\miscFuncs.d
STORY\B_STORY\ff_functions.d
ITEMS\IT_*.d

View file

@ -1325,3 +1325,57 @@ func void UseFocusBag() {
CreateInvItems(hero, ItMi_Silver_Nugget, 10);
};
INSTANCE ItMi_Pocket_Gilbert(C_Item)//steht drin, weil auch in Welt verteilt!!
{
name = "Gilberts Lederbeutel";
mainflag = ITEM_KAT_NONE|ITEM_MULTI;
flags = 0;
value = 10;
visual = "ItMi_Pocket.3ds";
scemename = "MAPSEALED";
material = MAT_LEATHER;
on_state[0] = UsePocketGilbert;
description = name;
TEXT[2] = "Ein prall gefüllter Lederbeutel";
TEXT[5] = NAME_Value; COUNT[5] = value;
};
var int usedGilbertPocket;
//in dieser Funktio steht der inhalt, die use Funkt dann bitte einkommentiren.
FUNC VOID UsePocketGilbert ()
{
CreateInvItems (hero, ItMi_Gold ,500);
CreateInvItems (hero, ItMi_Silver_Nugget, 10);
PrintS ("500 Gold erhalten");
PrintS ("10 Silbernuggets erhalten");
Snd_Play ("Geldbeutel");
usedGilbertPocket = TRUE;
};
INSTANCE ItRw_Bow_Gilbert (C_Item)
{
name = "Gilberts Bogen";
mainflag = ITEM_KAT_FF;
flags = ITEM_BOW;
material = MAT_WOOD;
value = Value_Kompositbogen;
damageTotal = Damage_Kompositbogen;
damagetype = DAM_POINT;
munition = ItRw_Arrow;
cond_atr[2] = ATR_DEXTERITY;
cond_value[2] = Condition_Kompositbogen;
visual = "ItRw_Bow_M_01.mms";
description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Dex_needed; COUNT[3] = cond_value[2];
TEXT[5] = NAME_Value; COUNT[5] = value;
};

View file

@ -17,4 +17,8 @@ func void B_Enter_Zwischenwelt() {
//var int her; her = Hlp_GetNpc(PC_HERO);
FF_ApplyOnceExt(deleteDialogMode, 2000, 1);
};
if (startedLastChange == TRUE) {
FF_ApplyOnceExt(deleteDialogMode, 2000, 1);
Npc_ExchangeRoutine(NONE_10001_Eindringling, "WAIT");
};
};

View file

@ -1699,7 +1699,7 @@ FUNC VOID B_Autosave()
Autosave_Blocker = 120;
Print ("Autosave!");
PrintS ("Spiel automatisch gespeichert!");
};
func void ZS_RitualLevelchange2 () {
@ -1786,6 +1786,8 @@ func void ZS_Bekher_Teleport() {
B_LogEntry(TOPIC_theUnknown, "Na klasse. Ich denke, ich habe den Eindringling gefunden. Leider hat er sich direkt wieder aus dem Staub gemacht... Das kann ja lustig werden.");
};
func void BlackScreenStart() {
const int blendAdded = 0;
MEM_InfoBox("BlackScreenStart aufgerufen!");

View file

@ -41,3 +41,87 @@ func void startCutscene_Bekher () {
return;
};
};
func void ZS_Bekher_Teleport2() {
Wld_PlayEffect("spellFX_Teleport_RING", self, self, 0, 0, 0, FALSE);
Wld_PlayEffect("spellFX_Teleport_RING", hero, hero, 0, 0, 0, FALSE);
Npc_ExchangeRoutine(self, "TOT");
AI_Teleport(self, "ZW_WP_OUT_002");
AI_Teleport(hero, "ZW_WP_OUT_003");
B_Attack(self, hero, AR_KILL, 1);
FF_ApplyExtGT(BekherPhase1, 1000, -1);
};
func void BekherPhase1 () {
var C_NPC Bekher; Bekher = Hlp_GetNpc(NONE_10001_Eindringling);
var C_NPC Thirala; Thirala = Hlp_GetNpc(KDW_14009_Thirala_ZW);
var C_NPC Fyneia; Fyneia = Hlp_GetNpc(VLK_4007_Fyneia_ZW);
var C_NPC Zaphina; Zaphina = Hlp_GetNpc(BAU_241_Zaphina_ZW);
var C_NPC Kelsava; Kelsava = Hlp_GetNpc(KDF_1409_Kelsava_ZW);
var int bekherHP;
if (Bekher.attribute[ATR_HITPOINTS] <= (Bekher.attribute[ATR_HITPOINTS_MAX]/2)) {
FF_Remove(BekherPhase1);
bekherHP = Bekher.attribute[ATR_HITPOINTS];
Wld_PlayEffect("spellFX_Teleport_RING", Bekher, Bekher, 0, 0, 0, FALSE);
AI_Teleport(Bekher, "ZW_WP_OUT_001");
Wld_InsertNpc(Bekher_Skeleton1, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Skeleton2, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Skeleton3, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Skeleton4, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Zombie1, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Zombie2, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Zombie3, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Demon1, "ZW_WP_OUT_002");
Wld_InsertNpc(Bekher_Demon2, "ZW_WP_OUT_002");
//Freunde beschwören
AI_Teleport(Kelsava, "ZW_WP_OUT_003");
AI_Teleport(Zaphina, "ZW_WP_OUT_003");
Bekher.attribute[ATR_HITPOINTS] = bekherHP;
FF_ApplyExtGT(BekherPhase2, 1000, -1);
};
};
func void BekherPhase2 () {
var C_NPC Bekher; Bekher = Hlp_GetNpc(NONE_10001_Eindringling);
var C_NPC Thirala; Thirala = Hlp_GetNpc(KDW_14009_Thirala_ZW);
var C_NPC Fyneia; Fyneia = Hlp_GetNpc(VLK_4007_Fyneia_ZW);
var C_NPC Zaphina; Zaphina = Hlp_GetNpc(BAU_241_Zaphina_ZW);
var C_NPC Kelsava; Kelsava = Hlp_GetNpc(KDF_1409_Kelsava_ZW);
var int bekherHP;
if (Npc_IsDead(Bekher_Skeleton1)
&& Npc_IsDead(Bekher_Skeleton2)
&& Npc_IsDead(Bekher_Skeleton3)
&& Npc_IsDead(Bekher_Skeleton4)
&& Npc_IsDead(Bekher_Zombie1)
&& Npc_IsDead(Bekher_Zombie2)
&& Npc_IsDead(Bekher_Zombie3)
&& Npc_IsDead(Bekher_Demon1)
&& Npc_IsDead(Bekher_Demon2))
{
FF_Remove(BekherPhase2);
bekherHP = Bekher.attribute[ATR_HITPOINTS];
Wld_PlayEffect("spellFX_Teleport_RING", Bekher, Bekher, 0, 0, 0, FALSE);
AI_Teleport(Bekher, "ZW_WP_OUT_002");
Bekher.attribute[ATR_HITPOINTS] = bekherHP;
//Freunde beschwören
AI_Teleport(Thirala, "ZW_WP_OUT_003");
AI_Teleport(Fyneia, "ZW_WP_OUT_003");
FF_ApplyExtGT(BekherPhase3, 1000, -1);
};
};
func void BekherPhase3 () {
var C_NPC Bekher; Bekher = Hlp_GetNpc(NONE_10001_Eindringling);
if ((Bekher.attribute[ATR_HITPOINTS] <= 0)
|| (Npc_IsDead(Bekher)))
{
AI_StandUp(hero);
AI_PrintS(hero, "Spiel beendet! Credits Video wird noch eingefügt!");
};
};

View file

@ -10,7 +10,7 @@ func void playSleepVidRnd() {
PlayVideo("Candle-Dream1.bik");
};
if (vidRnd == 1) {
PrintS("Video 2 abgespielt!");
//PrintS("Video 2 abgespielt!");
};
};
@ -46,7 +46,7 @@ func void PC_Sleep (var int t)
if (SC_IsObsessed == TRUE)
{
PrintScreen (PRINT_SleepOverObsessed, -1,-1,FONT_Screen,2);
//PrintScreen (PRINT_SleepOverObsessed, -1,-1,FONT_Screen,2);
}
else
{

View file

@ -294,3 +294,65 @@ func void BAU_241_Zaphina_gotFocus_Info()
AI_Output(self, other, "BAU_241_Zaphina_gotFocus_Info_17_09"); // Wunderbar, bis später!
Npc_ExchangeRoutine(self, "RITUAL");
};
// **************************************************
instance BAU_241_Zaphina_shouldGoBack (C_INFO)
{
npc = BAU_241_Zaphina;
condition = BAU_241_Zaphina_shouldGoBack_Condition;
information = BAU_241_Zaphina_shouldGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Wir sollten zurückkehren!";
};
func int BAU_241_Zaphina_shouldGoBack_Condition()
{
if ((Npc_KnowsInfo(hero, PAL_5000_Marten_gotAPlan)) && (startedLastChange == FALSE))
{
return TRUE;
};
};
func void BAU_241_Zaphina_shouldGoBack_Info()
{
AI_Output(other, self, "BAU_241_Zaphina_shouldGoBack_Info_15_01"); // Wir sollten zurückkehren!
AI_Output(self, other, "BAU_241_Zaphina_shouldGoBack_Info_17_02"); // Bist du sicher? Das wird kein Zuckerschlecken!
AI_Output(self, other, "BAU_241_Zaphina_shouldGoBack_Info_17_03"); // Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
AI_Output(self, other, "BAU_241_Zaphina_shouldGoBack_Info_17_04"); // Wir treffen uns wieder im Turm.
Npc_ExchangeRoutine(self, "RITUAL");
startedLastChange = TRUE;
LastChangeZaphina = TRUE;
};
// **************************************************
instance BAU_241_Zaphina_weGoBack (C_INFO)
{
npc = BAU_241_Zaphina;
condition = BAU_241_Zaphina_weGoBack_Condition;
information = BAU_241_Zaphina_weGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Es geht los!";
};
func int BAU_241_Zaphina_weGoBack_Condition()
{
if ((startedLastChange == TRUE && LastChangeZaphina == FALSE))
{
return TRUE;
};
};
func void BAU_241_Zaphina_weGoBack_Info()
{
AI_Output(other, self, "BAU_241_Zaphina_weGoBack_Info_15_01"); // Es geht los!
AI_Output(self, other, "BAU_241_Zaphina_weGoBack_Info_17_02"); // Sicher? Ich glaube, ich habe noch einen wichtigen Termin vergessen...
AI_Output(other, self, "BAU_241_Zaphina_weGoBack_Info_15_03"); // Nichts da! Wir haben das gemeinsam angefangen, wir stehen das auch gemeinsam bis zum Ende durch!
AI_Output(other, self, "BAU_241_Zaphina_weGoBack_Info_15_04"); // Was sollten wir denn ohne unsere Kampffurie tun?
AI_Output(self, other, "BAU_241_Zaphina_weGoBack_Info_17_05"); // Na schön... Wir treffen uns im Turm?
AI_Output(other, self, "BAU_241_Zaphina_weGoBack_Info_15_06"); // Machen wir!
Npc_ExchangeRoutine(self, "RITUAL");
};

View file

@ -62,7 +62,7 @@ instance KDF_1403_Rayan_gotLetter (C_INFO)
information = KDF_1403_Rayan_gotLetter_Info;
important = FALSE;
permanent = FALSE;
description = "Sellan hat mir den Schl<EFBFBD>ssel gegeben.";
description = "Sellan hat mir den Schlüssel gegeben.";
};
func int KDF_1403_Rayan_gotLetter_Condition()
@ -75,8 +75,8 @@ func int KDF_1403_Rayan_gotLetter_Condition()
func void KDF_1403_Rayan_gotLetter_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_gotLetter_Info_15_01"); // Sellan hat mir den Schl<EFBFBD>ssel gegeben.
AI_Output(other, self, "KDF_1403_Rayan_gotLetter_Info_15_02"); // Au<EFBFBD>erdem habe ich hier einen Brief vom Magier Marius.
AI_Output(other, self, "KDF_1403_Rayan_gotLetter_Info_15_01"); // Sellan hat mir den Schlüssel gegeben.
AI_Output(other, self, "KDF_1403_Rayan_gotLetter_Info_15_02"); // Außerdem habe ich hier einen Brief vom Magier Marius.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_03"); // Von Marius? Gib mir den Brief!
B_GiveInvItems(other, self, ItWr_MariusMessage, 1);
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_04"); // Es ist lange her, dass Marius einen neuen Novizen geschickt hat.
@ -85,12 +85,12 @@ func void KDF_1403_Rayan_gotLetter_Info()
AI_TurnToNpc(self, hero);
B_UseFakeScroll();
AI_TurnToNpc(self, hero);
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_06"); // Aah, Marius schickt tats<EFBFBD>chlich einen neuen Novizen.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_07"); // Er schreibt, er sp<EFBFBD>re gro<72>e Macht in dir. (leiser) Und du k<>nntest unser aller Retter sein.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_06"); // Aah, Marius schickt tatsächlich einen neuen Novizen.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_07"); // Er schreibt, er spüre große Macht in dir. (leiser) Und du könntest unser aller Retter sein.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_08"); // Gut, wir werden dich auf die Probe stellen.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_09"); // Wenn es dein Wunsch ist unserem Orden beizutreten, dann sprich mit Uysal.
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_10"); // Er soll dich pr<EFBFBD>fen und dann werden wir entscheiden, ob du w<>rdig bist, die Robe eines Novizen zu tragen.
B_LogEntry(TOPIC_newLife, "Rayan, einer der drei R<EFBFBD>te des Eisordens hat mich in Empfang genommen. Nachdem er den Brief gelesen hat, sagte er mir, ich solle mit Uysal sprechen, wenn ich dem Orden beitreten wolle. Er w<EFBFBD>rde mir eine Pr<50>fung stellen. Da bin ich ja mal gespannt...");
AI_Output(self, other, "KDF_1403_Rayan_gotLetter_Info_12_10"); // Er soll dich prüfen und dann werden wir entscheiden, ob du würdig bist, die Robe eines Novizen zu tragen.
B_LogEntry(TOPIC_newLife, "Rayan, einer der drei Räte des Eisordens hat mich in Empfang genommen. Nachdem er den Brief gelesen hat, sagte er mir, ich solle mit Uysal sprechen, wenn ich dem Orden beitreten wolle. Er würde mir eine Prüfung stellen. Da bin ich ja mal gespannt...");
};
// **************************************************
@ -102,7 +102,7 @@ instance KDF_1403_Rayan_whatTest (C_INFO)
information = KDF_1403_Rayan_whatTest_Info;
important = FALSE;
permanent = FALSE;
description = "Was f<EFBFBD>r eine Pr<50>fung erwartet mich?";
description = "Was für eine Prüfung erwartet mich?";
};
func int KDF_1403_Rayan_whatTest_Condition()
@ -115,8 +115,8 @@ func int KDF_1403_Rayan_whatTest_Condition()
func void KDF_1403_Rayan_whatTest_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_whatTest_Info_15_01"); // Was f<EFBFBD>r eine Pr<50>fung erwartet mich?
AI_Output(self, other, "KDF_1403_Rayan_whatTest_Info_12_02"); // Sprich mit Uysal. Er alleine bestimmt <EFBFBD>ber Form und Gr<47><72>e der Pr<50>fung.
AI_Output(other, self, "KDF_1403_Rayan_whatTest_Info_15_01"); // Was für eine Prüfung erwartet mich?
AI_Output(self, other, "KDF_1403_Rayan_whatTest_Info_12_02"); // Sprich mit Uysal. Er alleine bestimmt über Form und Größe der Prüfung.
AI_Output(self, other, "KDF_1403_Rayan_whatTest_Info_12_03"); // Ich kann dir dazu nichts sagen.
};
@ -143,11 +143,11 @@ func int KDF_1403_Rayan_whatNovice_Condition()
func void KDF_1403_Rayan_whatNovice_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_whatNovice_Info_15_01"); // Was erwartet mich als Novize?
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_02"); // Als Novize wirst du in die Kunst der Magie eingef<EFBFBD>hrt.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_03"); // Wir werden dich unterrichten, deine magischen Energien zu b<EFBFBD>ndeln und freizusetzen.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_04"); // Zus<EFBFBD>tzlich wirst du Arbeit f<>r die Gemeinschaft verrichten.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_05"); // Aber dazu sp<EFBFBD>ter mehr.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_06"); // Bestehe zuerst die Pr<EFBFBD>fung, dann sehen wir weiter.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_02"); // Als Novize wirst du in die Kunst der Magie eingeführt.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_03"); // Wir werden dich unterrichten, deine magischen Energien zu bündeln und freizusetzen.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_04"); // Zusätzlich wirst du Arbeit für die Gemeinschaft verrichten.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_05"); // Aber dazu später mehr.
AI_Output(self, other, "KDF_1403_Rayan_whatNovice_Info_12_06"); // Bestehe zuerst die Prüfung, dann sehen wir weiter.
};
// **************************************************
@ -159,7 +159,7 @@ instance KDF_1403_Rayan_joinMages (C_INFO)
information = KDF_1403_Rayan_joinMages_Info;
important = FALSE;
permanent = TRUE;
description = "Ich habe die Pr<EFBFBD>fung bestanden.";
description = "Ich habe die Prüfung bestanden.";
};
func int KDF_1403_Rayan_joinMages_Condition()
@ -172,15 +172,15 @@ func int KDF_1403_Rayan_joinMages_Condition()
func void KDF_1403_Rayan_joinMages_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_joinMages_Info_15_01"); // Ich habe die Pr<EFBFBD>fung bestanden.
AI_Output(other, self, "KDF_1403_Rayan_joinMages_Info_15_01"); // Ich habe die Prüfung bestanden.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_Info_12_02"); // Ich merke es. Der Schatten, der das Kloster befallen hat, ist verschwunden.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_Info_12_03"); // Hast du auch mit Ulian gesprochen?
AI_Output(other, self, "KDF_1403_Rayan_joinMages_Info_15_04"); // Habe ich. Er dankte mir f<EFBFBD>r meinen Einsatz und gab mir seinen Segen.
AI_Output(other, self, "KDF_1403_Rayan_joinMages_Info_15_04"); // Habe ich. Er dankte mir für meinen Einsatz und gab mir seinen Segen.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_Info_12_05"); // Dann liegt die Entscheidung nun bei dir.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_Info_12_06"); // Ist es immer noch dein Wunsch unserem Orden beizutreten und verpflichtest du dich, den Glauben Adanos zu leben und in die Welt zu tragen?
Info_ClearChoices(KDF_1403_Rayan_joinMages);
Info_AddChoice(KDF_1403_Rayan_joinMages, "Ehrlich gesagt, ist das eine schwere Entscheidung...", KDF_1403_Rayan_joinMages_noMage);
Info_AddChoice(KDF_1403_Rayan_joinMages, "Ja, ich m<EFBFBD>chte dem Orden beitreten!", KDF_1403_Rayan_joinMages_yesMage);
Info_AddChoice(KDF_1403_Rayan_joinMages, "Ja, ich möchte dem Orden beitreten!", KDF_1403_Rayan_joinMages_yesMage);
};
func void KDF_1403_Rayan_joinMages_noMage()
@ -194,11 +194,11 @@ func void KDF_1403_Rayan_joinMages_noMage()
func void KDF_1403_Rayan_joinMages_yesMage()
{
AI_Output(other, self, "KDF_1403_Rayan_joinMages_yesMage_15_01"); // Ja, ich m<EFBFBD>chte dem Orden beitreten!
AI_Output(other, self, "KDF_1403_Rayan_joinMages_yesMage_15_01"); // Ja, ich möchte dem Orden beitreten!
AI_Output(self, other, "KDF_1403_Rayan_joinMages_yesMage_12_02"); // Wenn dies dein eigener und freier Wille ist, so gehe mit dem Segen Adanos.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_yesMage_12_03"); // Lege die Robe eines Novizen an und trage sie mit Ehrfurcht.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_yesMage_12_04"); // Sie soll dich sch<EFBFBD>tzen und dich leiten, auf allen Wegen, die du in dieser Welt beschreiten wirst.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_yesMage_12_05"); // Und nun genug des zeremoniellen: Herzlichen Gl<EFBFBD>ckwunsch und Willkommen im Orden!
AI_Output(self, other, "KDF_1403_Rayan_joinMages_yesMage_12_04"); // Sie soll dich schützen und dich leiten, auf allen Wegen, die du in dieser Welt beschreiten wirst.
AI_Output(self, other, "KDF_1403_Rayan_joinMages_yesMage_12_05"); // Und nun genug des zeremoniellen: Herzlichen Glückwunsch und Willkommen im Orden!
kapitel = 2;
B_Kapitelwechsel(2, MAHLENDUR_ZEN);
B_LogEntry(TOPIC_newLife, "Rayan, Uysal und Ulian haben mich in die Reihen der Magier aufgenommen. Ich kann mich nun Novize des Eises nennen! Herzlich willkommen in einem magischen Leben...");
@ -222,7 +222,7 @@ instance KDF_1403_Rayan_whatToDo (C_INFO)
information = KDF_1403_Rayan_whatToDo_Info;
important = FALSE;
permanent = FALSE;
description = "Hast du eine Aufgabe f<EFBFBD>r mich?";
description = "Hast du eine Aufgabe für mich?";
};
func int KDF_1403_Rayan_whatToDo_Condition()
@ -235,26 +235,26 @@ func int KDF_1403_Rayan_whatToDo_Condition()
func void KDF_1403_Rayan_whatToDo_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_whatToDo_Info_15_01"); // Hast du eine Aufgabe f<EFBFBD>r mich?
AI_Output(other, self, "KDF_1403_Rayan_whatToDo_Info_15_01"); // Hast du eine Aufgabe für mich?
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_02"); // Ich gebe dir eine Daueraufgabe.
AI_Output(other, self, "KDF_1403_Rayan_whatToDo_Info_15_03"); // Okay?
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_04"); // Lerne!
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_05"); // Als Novize und im <EFBFBD>brigen auch als ausgebildeter Magier ist es deine Aufgabe zu lernen.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_06"); // Denn nur wer lernt, der kann st<EFBFBD>rker werden.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_07"); // Einiges k<EFBFBD>nnen dir die anderen Magier beibringen.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_05"); // Als Novize und im übrigen auch als ausgebildeter Magier ist es deine Aufgabe zu lernen.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_06"); // Denn nur wer lernt, der kann stärker werden.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_07"); // Einiges können dir die anderen Magier beibringen.
AI_Output(other, self, "KDF_1403_Rayan_whatToDo_Info_15_08"); // Zum Beispiel?
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_09"); // Ulian wird dir dabei helfen, deine magische Kraft zu steigern.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_10"); // Uysal kann dich lehren, deine eigenen Runen herzustellen.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_11"); // Doch bevor du sie nutzen kannst, musst du zuerst den ersten Kreis der Magie erlernen.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_12"); // Und damit kommt meine erste Aufgabe.
AI_Output(other, self, "KDF_1403_Rayan_whatToDo_Info_15_13"); // Und die w<EFBFBD>re?
AI_Output(other, self, "KDF_1403_Rayan_whatToDo_Info_15_13"); // Und die wäre?
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_14"); // In der Bibliothek im Keller ist ein Buch versteckt, welches dem Leser in einem Selbststudium den ersten Kreis der Magie beibringt.
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_15"); // Finde es und lerne!
AI_Output(self, other, "KDF_1403_Rayan_whatToDo_Info_12_16"); // Weitere Magiekreise kannst du danach bei mir lernen.
MIS_findBookIce = LOG_RUNNING;
Log_CreateTopic(TOPIC_findBookIce, LOG_MISSION);
Log_SetTopicStatus(TOPIC_findBookIce, LOG_RUNNING);
B_LogEntry(TOPIC_findBookIce, "Rayan hat mir meine erste Aufgabe gegeben. Ich soll in der Bibliothek ein Buch finden, mit welchem ich den ersten Kreis der Magie erlernen kann. Hoffentlich sind da unten nicht noch mehr D<EFBFBD>monen...");
B_LogEntry(TOPIC_findBookIce, "Rayan hat mir meine erste Aufgabe gegeben. Ich soll in der Bibliothek ein Buch finden, mit welchem ich den ersten Kreis der Magie erlernen kann. Hoffentlich sind da unten nicht noch mehr Dämonen...");
};
// **************************************************
@ -282,19 +282,19 @@ func void KDF_1403_Rayan_foundBook_Info()
AI_Output(other, self, "KDF_1403_Rayan_foundBook_Info_15_01"); // Ich habe das Buch der Magie gefunden!
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_02"); // Und hast du es gelesen?
AI_Output(other, self, "KDF_1403_Rayan_foundBook_Info_15_03"); // Habe ich. Es war sehr aufschlussreich.
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_04"); // Dann gib es mir, damit ich es wieder in die Bibliothek zur<EFBFBD>ck bringen kann. Andere Novizen nach dir werden auch noch danach suchen.
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_04"); // Dann gib es mir, damit ich es wieder in die Bibliothek zurück bringen kann. Andere Novizen nach dir werden auch noch danach suchen.
B_GiveInvItems(other, self, ItWr_Kreis1, 1);
B_LogEntry(TOPIC_findBookIce, "Ich habe Rayan von meinem Erfolg berichtet und das Buch zur<EFBFBD>ckgebracht.");
B_LogEntry(TOPIC_findBookIce, "Ich habe Rayan von meinem Erfolg berichtet und das Buch zurückgebracht.");
MIS_findBookIce = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_findBookIce, LOG_SUCCESS);
B_GivePlayerXP(350);
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_05"); // Dann bist du nun bereit, deine erste Rune herzustellen.
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_06"); // Geh zu Uysal und lerne die Herstellung der Rune "Licht". Sie wird dir in vielen Situationen n<EFBFBD>tzlich sein.
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_06"); // Geh zu Uysal und lerne die Herstellung der Rune "Licht". Sie wird dir in vielen Situationen nützlich sein.
AI_Output(self, other, "KDF_1403_Rayan_foundBook_Info_12_07"); // Wenn du alle Runen des ersten Kreises verinnerlicht hast, werde ich dich den zweiten Kreis der Magie lehren.
MIS_buildRunes = LOG_RUNNING;
Log_CreateTopic(TOPIC_buildRunes, LOG_MISSION);
Log_SetTopicStatus(TOPIC_buildRunes, LOG_RUNNING);
Log_AddEntry(TOPIC_buildRunes, "F<EFBFBD>r meine erste Aufgabe als Novize soll ich eine Rune bauen. Eine Lichtrune. Sie wird n<>tzlich sein, sagt Rayan. Uysal k<>nne mir beibringen, wie ich die Rune herstelle. Da bin ich ja gespannt...");
Log_AddEntry(TOPIC_buildRunes, "Für meine erste Aufgabe als Novize soll ich eine Rune bauen. Eine Lichtrune. Sie wird nützlich sein, sagt Rayan. Uysal könne mir beibringen, wie ich die Rune herstelle. Da bin ich ja gespannt...");
};
// **************************************************
@ -323,9 +323,9 @@ func void KDF_1403_Rayan_secondCircle_Info()
if (PLAYER_TALENT_RUNES[SPL_Firebolt] == TRUE && PLAYER_TALENT_RUNES[SPL_Zap] == TRUE && PLAYER_TALENT_RUNES[SPL_LightHeal] == TRUE && PLAYER_TALENT_RUNES[SPL_SummonGoblinSkeleton] == TRUE && hero.lp >= 10)
{
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_02"); // In Ordnung.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_03"); // Du hast gelernt dich in die Magie einzuf<EFBFBD>hlen.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_03"); // Du hast gelernt dich in die Magie einzufühlen.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_04"); // Die ersten Schritte hast du bereits unternommen, um diese Kraft nach deinem Willen zu formen.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_05"); // Die n<EFBFBD>chsten Runen b<>ndeln m<>chtigere Magie. Es ist schwieriger, den Fokus zu halten.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_05"); // Die nächsten Runen bündeln mächtigere Magie. Es ist schwieriger, den Fokus zu halten.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_06"); // Daher lehren wir sie nicht jedem. Aber du hast Potenzial.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_07"); // Jetzt kannst du zu Uysal gehen. Er wird dich weitere Runen zeigen.
Npc_SetTalentSkill(hero, NPC_TALENT_MAGE, 2);
@ -336,7 +336,7 @@ func void KDF_1403_Rayan_secondCircle_Info()
}
else if (PLAYER_TALENT_RUNES[SPL_Firebolt] == TRUE && PLAYER_TALENT_RUNES[SPL_Zap] == TRUE && PLAYER_TALENT_RUNES[SPL_LightHeal] == TRUE && PLAYER_TALENT_RUNES[SPL_SummonGoblinSkeleton] == TRUE && hero.lp << 10)
{
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_08"); // Mir scheint, als w<EFBFBD>rest du nicht erfahren genug.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_08"); // Mir scheint, als wärest du nicht erfahren genug.
AI_Output(self, other, "KDF_1403_Rayan_secondCircle_Info_12_09"); // Komm wieder, wenn du reifer bist!
}
else
@ -371,18 +371,18 @@ func void KDF_1403_Rayan_thirdCircle_Info()
AI_Output(other, self, "KDF_1403_Rayan_thirdCircle_Info_15_01"); // Lehre mich den dritten Kreis der Magie!
if (kapitel << 3 || Npc_GetTrueGuild(hero) != GIL_KDF)
{
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_02"); // Nein! Du hast zwar Potenzial, aber in die h<EFBFBD>heren Kreise der Magie f<>hren wir nur vollwertige Magier ein.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_02"); // Nein! Du hast zwar Potenzial, aber in die höheren Kreise der Magie führen wir nur vollwertige Magier ein.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_03"); // Trainiere weiter und wir werden dir vielleicht die Chance geben.
}
else if (kapitel >= 3 && Npc_GetTrueGuild(hero) == GIL_KDF && hero.lp >= 15)
{
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_04"); // In Ordnung. Du kennst nun bereits die Grundlagen der Magie.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_05"); // Doch die wirklich m<EFBFBD>chtigen Zauber liegen noch vor dir.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_06"); // Du wirst die M<EFBFBD>glichkeit bekommen, auf Magie zur<75>ckzugreifen, die ohne gro<72>e Anstrengung vielen Menschen gro<72>es Leid zuf<75>gen kann.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_07"); // Du hast dich bewiesen. Ich sch<EFBFBD>tze, wir k<>nnen dir diese Macht gew<65>hren.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_08"); // Du wirst bemerken, dass die neuen Runen weitaus schwieriger zu fokussieren sind. Du wirst deine ganze Konzentration ben<EFBFBD>tigen.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_09"); // Aber daf<EFBFBD>r wirst du auch belohnt.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_10"); // Jetzt geh hin und lerne! Uysal wird dir erkl<EFBFBD>ren, wie du die n<>chsten Runen herstellen kannst.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_05"); // Doch die wirklich mächtigen Zauber liegen noch vor dir.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_06"); // Du wirst die Möglichkeit bekommen, auf Magie zurückzugreifen, die ohne große Anstrengung vielen Menschen großes Leid zufügen kann.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_07"); // Du hast dich bewiesen. Ich schätze, wir können dir diese Macht gewähren.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_08"); // Du wirst bemerken, dass die neuen Runen weitaus schwieriger zu fokussieren sind. Du wirst deine ganze Konzentration benötigen.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_09"); // Aber dafür wirst du auch belohnt.
AI_Output(self, other, "KDF_1403_Rayan_thirdCircle_Info_12_10"); // Jetzt geh hin und lerne! Uysal wird dir erklären, wie du die nächsten Runen herstellen kannst.
Npc_SetTalentSkill(hero, NPC_TALENT_MAGE, 3);
PrintS("Gelernt: Dritter Kreis der Magie!");
Snd_Play ("LevelUp");
@ -420,22 +420,22 @@ func void KDF_1403_Rayan_getInfo_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_01"); // Was kann ich noch tun?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_02"); // Normalerweise...
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_03"); // Naja, normalerweise sprechen wir nicht mit Novizen <EFBFBD>ber solche Dinge.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_04"); // Aber schwere Zeiten verlangen ungew<EFBFBD>hnliche Ma<4D>nahmen. Wir...
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_03"); // Naja, normalerweise sprechen wir nicht mit Novizen über solche Dinge.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_04"); // Aber schwere Zeiten verlangen ungewöhnliche Maßnahmen. Wir...
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_05"); // Wir haben ein Problem.
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_06"); // Und welches?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_07"); // Wie du ja wei<EFBFBD>t, haben sich au<61>er uns noch andere Magier hier auf der Insel niedergelassen.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_08"); // Du hast selber bemerkt, wie sie uns das Leben schwer machen. Wir m<EFBFBD>ssen etwas unternehmen.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_07"); // Wie du ja weißt, haben sich außer uns noch andere Magier hier auf der Insel niedergelassen.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_08"); // Du hast selber bemerkt, wie sie uns das Leben schwer machen. Wir müssen etwas unternehmen.
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_09"); // Und was soll das sein?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_10"); // Wir haben zwei M<EFBFBD>glichkeiten. Entweder, wir verschanzen uns noch weiter, oder wir gehen in die Offensive.
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_11"); // Was w<EFBFBD>re denn, wenn wir uns Hilfe holen?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_10"); // Wir haben zwei Möglichkeiten. Entweder, wir verschanzen uns noch weiter, oder wir gehen in die Offensive.
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_11"); // Was wäre denn, wenn wir uns Hilfe holen?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_12"); // Hilfe? Woher denn?
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_13"); // Aus der Stadt?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_14"); // Ich bitte dich. Normalerweise w<EFBFBD>rde ich sofort bei den Paladinen sein, aber die haben genug eigene Probleme.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_14"); // Ich bitte dich. Normalerweise würde ich sofort bei den Paladinen sein, aber die haben genug eigene Probleme.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_15"); // Nein, wir sind auf uns gestellt. Und ich sage dir, was wir tun werden: Beides!
AI_Output(other, self, "KDF_1403_Rayan_getInfo_Info_15_16"); // Beides?
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_17"); // Ja, wir bereiten uns auf alle F<EFBFBD>lle vor. Uysal wird mit anderen Novizen hier die Verteidigung vorbreiten.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_18"); // F<EFBFBD>r dich habe ich einen Spezialauftrag.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_17"); // Ja, wir bereiten uns auf alle Fälle vor. Uysal wird mit anderen Novizen hier die Verteidigung vorbreiten.
AI_Output(self, other, "KDF_1403_Rayan_getInfo_Info_12_18"); // Für dich habe ich einen Spezialauftrag.
};
// **************************************************
@ -447,7 +447,7 @@ instance KDF_1403_Rayan_somethingSpecial (C_INFO)
information = KDF_1403_Rayan_somethingSpecial_Info;
important = FALSE;
permanent = FALSE;
description = "Was f<EFBFBD>r einen Spezialauftrag hast du?";
description = "Was für einen Spezialauftrag hast du?";
};
func int KDF_1403_Rayan_somethingSpecial_Condition()
@ -460,10 +460,10 @@ func int KDF_1403_Rayan_somethingSpecial_Condition()
func void KDF_1403_Rayan_somethingSpecial_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_somethingSpecial_Info_15_01"); // Was f<EFBFBD>r einen Spezialauftrag hast du?
AI_Output(self, other, "KDF_1403_Rayan_somethingSpecial_Info_12_02"); // Du wirst f<EFBFBD>r uns Informationen beschaffen.
AI_Output(self, other, "KDF_1403_Rayan_somethingSpecial_Info_12_03"); // Wir m<EFBFBD>ssen wissen, mit wie vielen wir es zu tun haben, was auf uns zukommt.
AI_Output(self, other, "KDF_1403_Rayan_somethingSpecial_Info_12_04"); // Geh zu ihrem Turm und finde soviel heraus, wie nur m<EFBFBD>glich!
AI_Output(other, self, "KDF_1403_Rayan_somethingSpecial_Info_15_01"); // Was für einen Spezialauftrag hast du?
AI_Output(self, other, "KDF_1403_Rayan_somethingSpecial_Info_12_02"); // Du wirst für uns Informationen beschaffen.
AI_Output(self, other, "KDF_1403_Rayan_somethingSpecial_Info_12_03"); // Wir müssen wissen, mit wie vielen wir es zu tun haben, was auf uns zukommt.
AI_Output(self, other, "KDF_1403_Rayan_somethingSpecial_Info_12_04"); // Geh zu ihrem Turm und finde soviel heraus, wie nur möglich!
FF_ApplyOnce(BMSpy);
MIS_spyBM = LOG_RUNNING;
Log_CreateTopic(TOPIC_spyBM, LOG_MISSION);
@ -495,16 +495,16 @@ func void KDF_1403_Rayan_gotInfos_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_01"); // Ich war am Turm!
AI_Output(self, other, "KDF_1403_Rayan_gotInfos_Info_12_02"); // Und? Was hast du herausgefunden?
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_03"); // Ehrlich gesagt nicht viel. Der Weg zum Turm f<EFBFBD>hrt durch eine Art H<>hle.
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_03"); // Ehrlich gesagt nicht viel. Der Weg zum Turm führt durch eine Art Höhle.
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_04"); // Dort stehen viele Novizen und halten Wache. Ich bin nicht weitergegangen, ich hatte keine Lust dabei drauf zu gehen.
AI_Output(self, other, "KDF_1403_Rayan_gotInfos_Info_12_05"); // Verst<EFBFBD>ndlich. Also, was denkst du?
AI_Output(self, other, "KDF_1403_Rayan_gotInfos_Info_12_05"); // Verständlich. Also, was denkst du?
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_06"); // Wozu? Zu einem Angriff?
AI_Output(self, other, "KDF_1403_Rayan_gotInfos_Info_12_07"); // Zum Beispiel...
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_08"); // Vergiss es! Wenn die Schwarzmagier klug sind, verbarrikadieren sie diese H<EFBFBD>hle komplett. Dann kommt keiner auch nur in die N<>he.
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_08"); // Vergiss es! Wenn die Schwarzmagier klug sind, verbarrikadieren sie diese Höhle komplett. Dann kommt keiner auch nur in die Nähe.
AI_Output(other, self, "KDF_1403_Rayan_gotInfos_Info_15_09"); // Und diese Stellung kann man sehr gut verteidigen.
AI_Output(self, other, "KDF_1403_Rayan_gotInfos_Info_12_10"); // Also sollten wir uns auf die Verteidigung konzentrieren. Gut, Uysal und die anderen haben schon damit angefangen.
AI_Output(self, other, "KDF_1403_Rayan_gotInfos_Info_12_11"); // Sprich mit ihm, er wird dir weitere Aufgaben zuteilen.
B_LogEntry(TOPIC_spyBM, "Aufgrund meiner Erkundung hat sich Rayan dazu entschieden, die Verteidigung zu verst<EFBFBD>rken und keinen Angriff zu wagen.");
B_LogEntry(TOPIC_spyBM, "Aufgrund meiner Erkundung hat sich Rayan dazu entschieden, die Verteidigung zu verstärken und keinen Angriff zu wagen.");
MIS_spyBM = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_spyBM, LOG_SUCCESS);
B_GivePlayerXP(450);
@ -533,11 +533,11 @@ func int KDF_1403_Rayan_fightWillStart_Condition()
func void KDF_1403_Rayan_fightWillStart_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_fightWillStart_Info_15_01"); // Du hast mich rufen lassen?
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_02"); // Richtig. Wir haben von unseren Sp<EFBFBD>hern auf der Insel eine beunruhigende Meldung bekommen.
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_03"); // Die Schwarzmagier r<EFBFBD>cken an. Wir haben nicht mehr viel...
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_04"); // (Ger<EFBFBD>usche vom Klostervorhof)
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_05"); // Verdammt! Sie haben die T<EFBFBD>r gesprengt.
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_06"); // Wir m<EFBFBD>ssen los.
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_02"); // Richtig. Wir haben von unseren Spähern auf der Insel eine beunruhigende Meldung bekommen.
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_03"); // Die Schwarzmagier rücken an. Wir haben nicht mehr viel...
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_04"); // (Geräusche vom Klostervorhof)
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_05"); // Verdammt! Sie haben die Tür gesprengt.
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_06"); // Wir müssen los.
AI_Output(self, other, "KDF_1403_Rayan_fightWillStart_Info_12_07"); // (ruft laut) Verteidigt euch!
startCityAttack(attIM);
FF_ApplyExtData(ffCityAttack, 1000, -1, attIM);
@ -569,7 +569,7 @@ func void KDF_1403_Rayan_fightOver_Info()
AI_Output(self, other, "KDF_1403_Rayan_fightOver_Info_12_01"); // Warte! Der Kampf ist vorbei!
AI_Output(other, self, "KDF_1403_Rayan_fightOver_Info_15_02"); // Was? Wieso denn das?
AI_Output(self, other, "KDF_1403_Rayan_fightOver_Info_12_03"); // Hast du dieses Erdbeben gerade nicht bemerkt?
AI_Output(self, other, "KDF_1403_Rayan_fightOver_Info_12_04"); // Die ganze Insel hat gewackelt. Daraufhin haben die Schwarzmagier spontan den R<EFBFBD>ckzug angeordnet und sich wegteleportiert.
AI_Output(self, other, "KDF_1403_Rayan_fightOver_Info_12_04"); // Die ganze Insel hat gewackelt. Daraufhin haben die Schwarzmagier spontan den Rückzug angeordnet und sich wegteleportiert.
AI_Output(self, other, "KDF_1403_Rayan_fightOver_Info_12_05"); // Triff mich in der Kapelle. Dort besprechen wir alles weitere.
startChapter3();
Npc_ExchangeRoutine(KDF_1403_Rayan, "START");
@ -600,15 +600,15 @@ func int KDF_1403_Rayan_whatNow_Condition()
func void KDF_1403_Rayan_whatNow_Info()
{
AI_Output(other, self, "KDF_1403_Rayan_whatNow_Info_15_01"); // Und was tun wir jetzt?
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_02"); // Sp<EFBFBD>rst du das auch? Das Gef<65>ge der Magie scheint nachhaltig gest<73>rt.
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_03"); // Und irgendwie h<EFBFBD>ngt das mit dem Erdbeben zusammen.
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_04"); // Wir sind uns nicht sicher, was passiert ist, aber wir m<EFBFBD>ssen es herausfinden.
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_02"); // Spürst du das auch? Das Gefüge der Magie scheint nachhaltig gestört.
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_03"); // Und irgendwie hängt das mit dem Erdbeben zusammen.
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_04"); // Wir sind uns nicht sicher, was passiert ist, aber wir müssen es herausfinden.
AI_Output(other, self, "KDF_1403_Rayan_whatNow_Info_15_05"); // Kann ich etwas tun?
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_06"); // Sicher. Kelsava hat die Forschungen <EFBFBD>bernommen. Bestimmt kannst du ihn unterst<73>tzen.
AI_Output(self, other, "KDF_1403_Rayan_whatNow_Info_12_06"); // Sicher. Kelsava hat die Forschungen übernommen. Bestimmt kannst du ihn unterstützen.
MIS_magicFabric = LOG_RUNNING;
Log_CreateTopic(TOPIC_magicFabric, LOG_MISSION);
Log_SetTopicStatus(TOPIC_magicFabric, LOG_RUNNING);
B_LogEntry(TOPIC_magicFabric, "Zeitgleich zum Erdbeben, welches den Angriff der Schwarzmagier zu unserem Gl<EFBFBD>ck unterbrochen hat, scheint das Gef<65>ge der Magie gest<73>rt zu haben. Der hohe Rat sp<73>rt es deutlich und auch ich sp<73>re ... etwas. Kelsava hat begonnen Nachforschungen anzustellen und ich soll ihn unterst<73>tzen.");
B_LogEntry(TOPIC_magicFabric, "Zeitgleich zum Erdbeben, welches den Angriff der Schwarzmagier zu unserem Glück unterbrochen hat, scheint das Gefüge der Magie gestört zu haben. Der hohe Rat spürt es deutlich und auch ich spüre ... etwas. Kelsava hat begonnen Nachforschungen anzustellen und ich soll ihn unterstützen.");
};
// **************************************************

View file

@ -79,23 +79,21 @@ func void KDF_1404_Uysal_testMe_Info()
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_06"); // Sie ist schon länger vorbereitet.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_07"); // Wie du vielleicht weißt, haben wir einige Probleme mit einer anderen Magiergruppierung auf der Insel.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_08"); // Die Schwarzmagier machen uns immer wieder das Leben schwer.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_09"); // Zwar greifen sie nicht direkt an, doch sorgen sie immer wieder daf<EFBFBD>r, dass unser Ordensleben gest<73>rt wird.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_10"); // Meistens sind es Kleinigkeiten. Schafe die krank werden, oder Vorräte die vermodern. Ab und an wurde unser Trinkwasser ungenie<EFBFBD>bar.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_09"); // Zwar greifen sie nicht direkt an, doch sorgen sie immer wieder dafür, dass unser Ordensleben gestört wird.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_10"); // Meistens sind es Kleinigkeiten. Schafe die krank werden, oder Vorräte die vermodern. Ab und an wurde unser Trinkwasser ungenießbar.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_11"); // Das haben wir alles in den Griff bekommen.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_12"); // Jetzt sind aber weitere Probleme aufgetaucht.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_13"); // Eine kleine Gruppe Schwarzmagier hat es geschafft, eine Gruppe Untote in unserem Keller zu beschw<68>ren.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_14"); // Da wir den Teil des Kellers derzeit nicht ben<65>tigen, haben wir die T<>re verschlossen.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_15"); // Interessanterweise lassen sich die Untoten dadurch aufhalten.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_16"); // Aber sie sind immer noch im Keller und ich muss zugeben, ich habe kein gutes Gef<65>hl dabei.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_17"); // Daher stelle ich dir nun deine Pr<50>fung:
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_18"); // Geh hin und vernichte die Kreaturen der Dunkelheit!
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_19"); // Du bekommst von mir den Schl<68>ssel, sowie einige Spruchrollen. Dazu noch ein paar Manatr<74>nke.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_20"); // Au<41>erdem werde ich einen St<53>rkungszauber auf dich wirken, damit deine magische Kraft f<>r kurze Zeit gest<73>rkt wird.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_21"); // Wenn du immer noch bereit bist uns beizutreten und deine Pr<50>fung abzulegen, so sprich wieder mit mir.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_12"); // Jetzt sind aber weitere Probleme aufgetaucht. Eine kleine Gruppe Schwarzmagier hat es geschafft, eine Gruppe Untote in unserem Keller zu beschwören.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_13"); // Da wir den Teil des Kellers derzeit nicht benötigen, haben wir die Türe verschlossen. Interessanterweise lassen sich die Untoten dadurch aufhalten.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_14"); // Aber sie sind immer noch im Keller und ich muss zugeben, ich habe kein gutes Gefühl dabei.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_15"); // Daher stelle ich dir nun deine Prüfung:
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_16"); // Geh hin und vernichte die Kreaturen der Dunkelheit!
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_17"); // Du bekommst von mir den Schlüssel, sowie einige Spruchrollen. Dazu noch ein paar Manatränke.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_18"); // Außerdem werde ich einen Stärkungszauber auf dich wirken, damit deine magische Kraft für kurze Zeit gestärkt wird.
AI_Output(self, other, "KDF_1404_Uysal_testMe_Info_01_19"); // Wenn du immer noch bereit bist uns beizutreten und deine Prüfung abzulegen, so sprich wieder mit mir.
MIS_iceTest = LOG_RUNNING;
Log_CreateTopic(TOPIC_iceTest, LOG_MISSION);
Log_SetTopicStatus(TOPIC_iceTest, LOG_RUNNING);
B_LogEntry(TOPIC_iceTest, "Uysal, einer der Magier des Hohen Rates im Kloster der Eismagier hat mir eine Pr<EFBFBD>fung gestellt. Wenn ich sie bestehe, kann ich als Novize im Orden aufgenommen werden. Um mich zu beweisen, soll ich einige Untote vernichten, welche im Keller des Klosters beschworen wurden. Dazu werde ich von ihm mit Spruchrollen, Manatr<EFBFBD>nken und einem St<53>rkungszauber ausgestattet.");
B_LogEntry(TOPIC_iceTest, "Uysal, einer der Magier des Hohen Rates im Kloster der Eismagier hat mir eine Prüfung gestellt. Wenn ich sie bestehe, kann ich als Novize im Orden aufgenommen werden. Um mich zu beweisen, soll ich einige Untote vernichten, welche im Keller des Klosters beschworen wurden. Dazu werde ich von ihm mit Spruchrollen, Manatränken und einem Stärkungszauber ausgestattet.");
};
// **************************************************
@ -107,7 +105,7 @@ instance KDF_1404_Uysal_goOn (C_INFO)
information = KDF_1404_Uysal_goOn_Info;
important = FALSE;
permanent = FALSE;
description = "Ich bin bereit f<EFBFBD>r meine Pr<50>fung!";
description = "Ich bin bereit für meine Prüfung!";
};
func int KDF_1404_Uysal_goOn_Condition()
@ -120,11 +118,11 @@ func int KDF_1404_Uysal_goOn_Condition()
func void KDF_1404_Uysal_goOn_Info()
{
AI_Output(other, self, "KDF_1404_Uysal_goOn_Info_15_01"); // Ich bin bereit f<EFBFBD>r meine Pr<50>fung!
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_02"); // In Ordnung. Hier ist als erstes der Schl<EFBFBD>ssel zum Keller.
AI_Output(other, self, "KDF_1404_Uysal_goOn_Info_15_01"); // Ich bin bereit für meine Prüfung!
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_02"); // In Ordnung. Hier ist als erstes der Schlüssel zum Keller.
CreateInvItems(self, ItKe_KlosterSchatz, 1);
B_GiveInvItems(self, other, ItKe_KlosterSchatz, 1);
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_03"); // Der Raum befindet sich, wenn du die Treppen heruntergehst und dich rechts h<EFBFBD>lst, auf der rechten Seite.
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_03"); // Der Raum befindet sich, wenn du die Treppen heruntergehst und dich rechts hälst, auf der rechten Seite.
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_04"); // Und hier sind deine Spruchrollen. Setze sie weise ein!
CreateInvItems(self, ItSc_Windfist, 2);
B_GiveInvItems(self, other, ItSc_Windfist, 2);
@ -136,18 +134,18 @@ func void KDF_1404_Uysal_goOn_Info()
B_GiveInvItems(self, other, ItSc_ChargeFireball, 1);
CreateInvItems(self, ItSc_HarmUndead, 1);
B_GiveInvItems(self, other, ItSc_HarmUndead, 1);
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_05"); // Und deine Manatr<EFBFBD>nke!
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_05"); // Und deine Manatränke!
CreateInvItems(self, ItPo_Mana_01, 4);
B_GiveInvItems(self, other, ItPo_Mana_01, 4);
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_06"); // Und nun werde ich dich st<EFBFBD>rken!
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_06"); // Und nun werde ich dich stärken!
AI_TurnToNpc(self, hero);
AI_PlayAni(self, "T_PRACTICEMAGIC2");
AI_TurnToNpc(self, hero);
AI_Function(self, playBuffAni_Mana);
Buff_Apply(hero, maxManaBuff);
AI_StandUp(self);
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_07"); // Du bist nun bereit. Gehe hin und befreie uns vom <EFBFBD>bel der Untoten!
B_LogEntry(TOPIC_iceTest, "Ich bin bereit! T<EFBFBD>ten wir diese Untoten!");
AI_Output(self, other, "KDF_1404_Uysal_goOn_Info_01_07"); // Du bist nun bereit. Gehe hin und befreie uns vom Übel der Untoten!
B_LogEntry(TOPIC_iceTest, "Ich bin bereit! Töten wir diese Untoten!");
};
// **************************************************
@ -159,7 +157,7 @@ instance KDF_1404_Uysal_gotThem (C_INFO)
information = KDF_1404_Uysal_gotThem_Info;
important = FALSE;
permanent = FALSE;
description = "Ich habe die D<EFBFBD>monen zur Strecke gebracht!";
description = "Ich habe die Dämonen zur Strecke gebracht!";
};
func int KDF_1404_Uysal_gotThem_Condition()
@ -172,16 +170,16 @@ func int KDF_1404_Uysal_gotThem_Condition()
func void KDF_1404_Uysal_gotThem_Info()
{
AI_Output(other, self, "KDF_1404_Uysal_gotThem_Info_15_01"); // Ich habe die D<EFBFBD>monen zur Strecke gebracht!
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_02"); // Ja, ich sp<EFBFBD>re, dass eine Last von mir abgefallen ist.
AI_Output(other, self, "KDF_1404_Uysal_gotThem_Info_15_01"); // Ich habe die Dämonen zur Strecke gebracht!
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_02"); // Ja, ich spüre, dass eine Last von mir abgefallen ist.
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_03"); // Ich merke gerade, wie sehr mir die reine Anwesenheit dieser Kreaturen zugesetzt hat.
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_04"); // Wie auch immer, ich bin stolz auf dich!
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_05"); // Von meiner Seite aus gibt es nichts, dass dagegen spricht, dass du uns beitrittst. Sprich aber zuerst noch mit Ulian.
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_06"); // Wenn er keine Einw<EFBFBD>nde hat, sprich mit Rayan. Er wird dich in den Orden aufnehmen.
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_07"); // Meine Gl<EFBFBD>ckw<EFBFBD>nsche, Novize!
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_06"); // Wenn er keine Einwände hat, sprich mit Rayan. Er wird dich in den Orden aufnehmen.
AI_Output(self, other, "KDF_1404_Uysal_gotThem_Info_01_07"); // Meine Glückwünsche, Novize!
MIS_iceTest = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_iceTest, LOG_SUCCESS);
B_LogEntry(TOPIC_iceTest, "Ich habe die D<EFBFBD>monen im Kloster get<65>tet. Uysal ist bereit, mich in den Orden aufzunehmen, solange Ulian keine Einw<6E>nde hat.");
B_LogEntry(TOPIC_iceTest, "Ich habe die Dämonen im Kloster getötet. Uysal ist bereit, mich in den Orden aufzunehmen, solange Ulian keine Einwände hat.");
B_GivePlayerXP(450);
};
@ -194,7 +192,7 @@ instance KDF_1404_Uysal_teachRune (C_INFO)
information = KDF_1404_Uysal_teachRune_Info;
important = FALSE;
permanent = FALSE;
description = "Rayan sagte, du k<EFBFBD>nntest mir etwas beibringen!";
description = "Rayan sagte, du könntest mir etwas beibringen!";
};
func int KDF_1404_Uysal_teachRune_Condition()
@ -207,21 +205,21 @@ func int KDF_1404_Uysal_teachRune_Condition()
func void KDF_1404_Uysal_teachRune_Info()
{
AI_Output(other, self, "KDF_1404_Uysal_teachRune_Info_15_01"); // Rayan sagte, du k<EFBFBD>nntest mir etwas beibringen!
AI_Output(other, self, "KDF_1404_Uysal_teachRune_Info_15_01"); // Rayan sagte, du könntest mir etwas beibringen!
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_02"); // Dann hast du also den ersten Kreis der Magie verinnerlicht?
AI_Output(other, self, "KDF_1404_Uysal_teachRune_Info_15_03"); // Habe ich.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_04"); // In Ordnung. Ich werde dir beibringen, wie du Runen herstellst. Wir fangen mit einer einfachen Rune an.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_05"); // Wir fangen mit der Lichtrune an.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_06"); // F<EFBFBD>r diese einfache, aber sehr n<>tzliche Rune brauchst du, au<61>er einem Runenstein, noch eine passende Spruchrolle und f<>nf Goldm<64>nzen.
AI_Output(other, self, "KDF_1404_Uysal_teachRune_Info_15_07"); // Goldm<EFBFBD>nzen?
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_08"); // Ganz richtig! Gold ist nichts anderes, als mithilfe nat<EFBFBD>rlicher Magie verdichtetes Licht.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_09"); // Und durch Magie kann die Energie des Lichts wieder freigegeben und im Runenstein geb<EFBFBD>ndelt werden.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_10"); // Und nat<EFBFBD>rlich ben<65>tigst du die passende Spruchrolle. Sie wird die Energie der Magie verdichten und auf den Stein <20>bertragen.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_11"); // Sprich mit Kelsava. Er kann dir einen Runenstein geben und dir die praktische Anwendung n<EFBFBD>her bringen.
B_LogEntry(TOPIC_buildRunes, "Uysal kann mir beibringen, wie ich Runen herstelle. Zuerst hat er mir erkl<EFBFBD>rt, was ich f<>r eine Lichtrune brauche. Kelsava kann mir erkl<6B>ren, wie ich diese Rune herstelle und kann mir einen Runenstein geben.");
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_06"); // Für diese einfache, aber sehr nützliche Rune brauchst du, außer einem Runenstein, noch eine passende Spruchrolle und fünf Goldmünzen.
AI_Output(other, self, "KDF_1404_Uysal_teachRune_Info_15_07"); // Goldmünzen?
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_08"); // Ganz richtig! Gold ist nichts anderes, als mithilfe natürlicher Magie verdichtetes Licht.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_09"); // Und durch Magie kann die Energie des Lichts wieder freigegeben und im Runenstein gebündelt werden.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_10"); // Und natürlich benötigst du die passende Spruchrolle. Sie wird die Energie der Magie verdichten und auf den Stein übertragen.
AI_Output(self, other, "KDF_1404_Uysal_teachRune_Info_01_11"); // Sprich mit Kelsava. Er kann dir einen Runenstein geben und dir die praktische Anwendung näher bringen.
B_LogEntry(TOPIC_buildRunes, "Uysal kann mir beibringen, wie ich Runen herstelle. Zuerst hat er mir erklärt, was ich für eine Lichtrune brauche. Kelsava kann mir erklären, wie ich diese Rune herstelle und kann mir einen Runenstein geben.");
PLAYER_TALENT_RUNES[SPL_LIGHT] = TRUE;
Log_CreateTopic(TOPIC_runes, LOG_NOTE);
Log_AddEntry(TOPIC_runes, "Rune 'Licht': 5 Goldm<EFBFBD>nzen (Kreis 1)");
Log_AddEntry(TOPIC_runes, "Rune 'Licht': 5 Goldmünzen (Kreis 1)");
};
// **************************************************
@ -249,7 +247,7 @@ func void KDF_1404_Uysal_gotRune_Info()
AI_Output(other, self, "KDF_1404_Uysal_gotRune_Info_15_01"); // Ich habe die Rune hergestellt!
AI_Output(self, other, "KDF_1404_Uysal_gotRune_Info_01_02"); // Sehr gut! Dann scheinst du die Grundlagen der Runenherstellung gelernt zu haben.
AI_Output(self, other, "KDF_1404_Uysal_gotRune_Info_01_03"); // Ab sofort werde ich dir die weiteren Runen beibringen.
AI_Output(self, other, "KDF_1404_Uysal_gotRune_Info_01_04"); // Wenn du alle gelernt hast, wird Rayan dich den n<EFBFBD>chsten Kreis der Magie lehren!
AI_Output(self, other, "KDF_1404_Uysal_gotRune_Info_01_04"); // Wenn du alle gelernt hast, wird Rayan dich den nächsten Kreis der Magie lehren!
Log_CreateTopic(TOPIC_buildRunes, LOG_NOTE);
B_LogEntry(TOPIC_buildRunes, "Uysal war zufrieden mit mir und wird mir jetzt die weiteren Runen des ersten Kreises beibringen.");
MIS_buildRunes = LOG_SUCCESS;
@ -280,26 +278,26 @@ func int KDF_1404_Uysal_doSth_Condition()
func void KDF_1404_Uysal_doSth_Info()
{
AI_Output(other, self, "KDF_1404_Uysal_doSth_Info_15_01"); // Ich soll bei der Verteidigung helfen.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_02"); // Achja? Das ist gut, wir k<EFBFBD>nnen jede Hilfe gebrauchen.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_02"); // Achja? Das ist gut, wir können jede Hilfe gebrauchen.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_03"); // Hast du bereits gelernt, eine Feuerpfeil-Rune herzustellen?
if (PLAYER_TALENT_RUNES[SPL_Firebolt] == TRUE)
{
AI_Output(other, self, "KDF_1404_Uysal_doSth_Info_15_04"); // Ja, habe ich.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_05"); // Sehr gut. Dann geh' zu Kelsava. Er soll dir Material geben um vier Feuerpfeil-Runen herzustellen.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_06"); // Verteile sie unter den Novizen. Eine davon ist f<EFBFBD>r dich selbst.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_06"); // Verteile sie unter den Novizen. Eine davon ist für dich selbst.
}
else
{
AI_Output(other, self, "KDF_1404_Uysal_doSth_Info_15_07"); // Nein, noch nicht.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_08"); // Dann lerne es.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_09"); // Geh' danach zu Kelsava. Er soll dir Material geben um vier Feuerpfeil-Runen herzustellen.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_10"); // Verteile sie unter den Novizen. Eine davon ist f<EFBFBD>r dich selbst.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_10"); // Verteile sie unter den Novizen. Eine davon ist für dich selbst.
};
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_11"); // Wir m<EFBFBD>ssen ja irgendwie bewaffnet sein.
AI_Output(self, other, "KDF_1404_Uysal_doSth_Info_01_11"); // Wir müssen ja irgendwie bewaffnet sein.
MIS_runesForNovices = LOG_RUNNING;
Log_CreateTopic(TOPIC_runesForNovices, LOG_MISSION);
Log_SetTopicStatus(TOPIC_runesForNovices, LOG_RUNNING);
B_LogEntry(TOPIC_runesForNovices, "Ich soll f<EFBFBD>r uns vier Novizen Feuerpfeil-Runen herstellen. Kelsava wird mir das Material geben.");
B_LogEntry(TOPIC_runesForNovices, "Ich soll für uns vier Novizen Feuerpfeil-Runen herstellen. Kelsava wird mir das Material geben.");
};
// **************************************************
@ -331,12 +329,12 @@ func void KDF_1404_Uysal_runesDone_Info()
B_GivePlayerXP(250);
AI_Output(self, other, "KDF_1404_Uysal_runesDone_Info_01_02"); // Sehr gut. Dann sind wir wohl vorbereitet.
AI_Output(self, other, "KDF_1404_Uysal_runesDone_Info_01_03"); // Eine Sache noch.
AI_Output(self, other, "KDF_1404_Uysal_runesDone_Info_01_04"); // K<EFBFBD>nntest du bitte Marius in der Stadt Bescheid geben, dass er zum Kloster kommen soll?
AI_Output(self, other, "KDF_1404_Uysal_runesDone_Info_01_04"); // Könntest du bitte Marius in der Stadt Bescheid geben, dass er zum Kloster kommen soll?
MIS_getMarius = LOG_RUNNING;
Log_CreateTopic(TOPIC_getMarius, LOG_MISSION);
Log_SetTopicStatus(TOPIC_getMarius, LOG_RUNNING);
Log_AddEntry(TOPIC_getMarius, "Uysal hat mir noch aufgetragen, Marius aus der Stadt zur<EFBFBD>ck zu holen.");
AI_Output(self, other, "KDF_1404_Uysal_runesDone_Info_01_05"); // Wir k<EFBFBD>nnen jeden Magier gebrauchen.
Log_AddEntry(TOPIC_getMarius, "Uysal hat mir noch aufgetragen, Marius aus der Stadt zurück zu holen.");
AI_Output(self, other, "KDF_1404_Uysal_runesDone_Info_01_05"); // Wir können jeden Magier gebrauchen.
};
// **************************************************
@ -348,7 +346,7 @@ instance KDF_1404_Uysal_gotMarius (C_INFO)
information = KDF_1404_Uysal_gotMarius_Info;
important = FALSE;
permanent = FALSE;
description = "Marius kommt zur<EFBFBD>ck!";
description = "Marius kommt zurück!";
};
func int KDF_1404_Uysal_gotMarius_Condition()
@ -361,12 +359,12 @@ func int KDF_1404_Uysal_gotMarius_Condition()
func void KDF_1404_Uysal_gotMarius_Info()
{
AI_Output(other, self, "KDF_1404_Uysal_gotMarius_Info_15_01"); // Marius kommt zur<EFBFBD>ck!
AI_Output(other, self, "KDF_1404_Uysal_gotMarius_Info_15_01"); // Marius kommt zurück!
AI_Output(self, other, "KDF_1404_Uysal_gotMarius_Info_01_02"); // Das ist sehr gut.
B_GivePlayerXP(250);
MIS_getMarius = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_getMarius, LOG_SUCCESS);
AI_Output(self, other, "KDF_1404_Uysal_gotMarius_Info_01_03"); // Dann halte dich bitte in der N<EFBFBD>he. Sobald sich etwas neues ergibt, werden wir euch rufen.
AI_Output(self, other, "KDF_1404_Uysal_gotMarius_Info_01_03"); // Dann halte dich bitte in der Nähe. Sobald sich etwas neues ergibt, werden wir euch rufen.
iceMageDay = Wld_GetDay();
};

View file

@ -35,7 +35,7 @@ instance KDF_1405_Ulian_greetingsMage (C_INFO)
information = KDF_1405_Ulian_greetingsMage_Info;
important = FALSE;
permanent = FALSE;
description = "Ich gr<EFBFBD><EFBFBD>e Euch, Magier!";
description = "Ich grüße Euch, Magier!";
};
func int KDF_1405_Ulian_greetingsMage_Condition()
@ -45,9 +45,9 @@ func int KDF_1405_Ulian_greetingsMage_Condition()
func void KDF_1405_Ulian_greetingsMage_Info()
{
AI_Output(other, self, "KDF_1405_Ulian_greetingsMage_Info_15_01"); // Ich gr<EFBFBD><EFBFBD>e Euch, Magier!
AI_Output(self, other, "KDF_1405_Ulian_greetingsMage_Info_09_02"); // Und ich gr<EFBFBD><EFBFBD>e dich, neuer Anw<6E>rter.
AI_Output(self, other, "KDF_1405_Ulian_greetingsMage_Info_09_03"); // Was kann der hohe Rat f<EFBFBD>r dich tun?
AI_Output(other, self, "KDF_1405_Ulian_greetingsMage_Info_15_01"); // Ich grüße Euch, Magier!
AI_Output(self, other, "KDF_1405_Ulian_greetingsMage_Info_09_02"); // Und ich grüße dich, neuer Anwärter.
AI_Output(self, other, "KDF_1405_Ulian_greetingsMage_Info_09_03"); // Was kann der hohe Rat für dich tun?
};
// **************************************************
@ -64,7 +64,7 @@ instance KDF_1405_Ulian_wannaJoin (C_INFO)
func int KDF_1405_Ulian_wannaJoin_Condition()
{
if ((Npc_KnowsInfo(hero, KDF_1405_Ulian_greetingsMage)) && (Npc_GetTrueGuild(hero) == GIL_NONE))
if ((Npc_KnowsInfo(hero, KDF_1405_Ulian_greetingsMage)) && (Npc_GetTrueGuild(hero) == GIL_NONE || Npc_GetTrueGuild(hero) == GIL_VLK))
{
return TRUE;
};
@ -73,8 +73,8 @@ func int KDF_1405_Ulian_wannaJoin_Condition()
func void KDF_1405_Ulian_wannaJoin_Info()
{
AI_Output(other, self, "KDF_1405_Ulian_wannaJoin_Info_15_01"); // Ich will dem Orden beitreten!
AI_Output(self, other, "KDF_1405_Ulian_wannaJoin_Info_09_02"); // Wirklich? Es ist selten geworden, dass jemand unserem Orden beitreten m<EFBFBD>chte.
AI_Output(self, other, "KDF_1405_Ulian_wannaJoin_Info_09_03"); // Geh und sprich mit Uysal, er wird dich pr<EFBFBD>fen.
AI_Output(self, other, "KDF_1405_Ulian_wannaJoin_Info_09_02"); // Wirklich? Es ist selten geworden, dass jemand unserem Orden beitreten möchte.
AI_Output(self, other, "KDF_1405_Ulian_wannaJoin_Info_09_03"); // Geh und sprich mit Uysal, er wird dich prüfen.
};
// **************************************************
@ -100,12 +100,12 @@ func int KDF_1405_Ulian_yourYes_Condition()
func void KDF_1405_Ulian_yourYes_Info()
{
AI_Output(other, self, "KDF_1405_Ulian_yourYes_Info_15_01"); // Ich war bei Uysal!
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_02"); // Und? Hat er dir eine Pr<EFBFBD>fungsaufgabe gegeben?
AI_Output(other, self, "KDF_1405_Ulian_yourYes_Info_15_03"); // Hat er. Ich soll die D<EFBFBD>monen, welche sich im Keller eingenistet haben t<>ten.
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_02"); // Und? Hat er dir eine Prüfungsaufgabe gegeben?
AI_Output(other, self, "KDF_1405_Ulian_yourYes_Info_15_03"); // Hat er. Ich soll die Dämonen, welche sich im Keller eingenistet haben, töten.
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_04"); // Dann tu' dies. Danach sehen wir weiter.
AI_Output(other, self, "KDF_1405_Ulian_yourYes_Info_15_05"); // Die D<EFBFBD>monen sind bereits Geschichte.
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_06"); // Wirklich? Das erkl<EFBFBD>rt, warum sich mein Geist klarer anf<6E>hlt.
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_07"); // Ich danke dir f<EFBFBD>r deine M<>hen. Und nun? M<>chtest du dem Orden beitreten?
AI_Output(other, self, "KDF_1405_Ulian_yourYes_Info_15_05"); // Die Dämonen sind bereits Geschichte.
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_06"); // Wirklich? Das erklärt, warum sich mein Geist klarer anfühlt.
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_07"); // Ich danke dir für deine Mühen. Und nun? Möchtest du dem Orden beitreten?
AI_Output(self, other, "KDF_1405_Ulian_yourYes_Info_09_08"); // Dann sprich mit Rayan. Meinen Segen sollst du haben.
};
@ -118,7 +118,7 @@ instance KDF_1405_Ulian_canTeach (C_INFO)
information = KDF_1405_Ulian_canTeach_Info;
important = FALSE;
permanent = FALSE;
description = "Rayan sagte, du k<EFBFBD>nntest mir etwas beibringen?";
description = "Rayan sagte, du könntest mir etwas beibringen?";
};
func int KDF_1405_Ulian_canTeach_Condition()
@ -131,8 +131,8 @@ func int KDF_1405_Ulian_canTeach_Condition()
func void KDF_1405_Ulian_canTeach_Info()
{
AI_Output(other, self, "KDF_1405_Ulian_canTeach_Info_15_01"); // Rayan sagte, du k<EFBFBD>nntest mir etwas beibringen?
AI_Output(self, other, "KDF_1405_Ulian_canTeach_Info_09_02"); // Das ist richtig. Ich kann dir beibringen, deine magische Kraft zu st<EFBFBD>rken.
AI_Output(other, self, "KDF_1405_Ulian_canTeach_Info_15_01"); // Rayan sagte, du könntest mir etwas beibringen?
AI_Output(self, other, "KDF_1405_Ulian_canTeach_Info_09_02"); // Das ist richtig. Ich kann dir beibringen, deine magische Kraft zu stärken.
};
// **************************************************

View file

@ -828,3 +828,64 @@ func void KDF_1409_Kelsava_focusReady_Info()
B_LogEntry(TOPIC_theFocus, "Kelsava hat die Foki hergestellt. Ich soll sie den anderen bringen. Wir treffen uns dann wieder in unserem Turm.");
Npc_ExchangeRoutine(self, "RITUAL");
};
// **************************************************
instance KDF_1409_Kelsava_shouldGoBack (C_INFO)
{
npc = KDF_1409_Kelsava;
condition = KDF_1409_Kelsava_shouldGoBack_Condition;
information = KDF_1409_Kelsava_shouldGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Wir sollten zurückkehren!";
};
func int KDF_1409_Kelsava_shouldGoBack_Condition()
{
if ((Npc_KnowsInfo(hero, PAL_5000_Marten_gotAPlan)) && (startedLastChange == FALSE))
{
return TRUE;
};
};
func void KDF_1409_Kelsava_shouldGoBack_Info()
{
AI_Output(other, self, "KDF_1409_Kelsava_shouldGoBack_Info_15_01"); // Wir sollten zurückkehren!
AI_Output(self, other, "KDF_1409_Kelsava_shouldGoBack_Info_03_02"); // Bist du sicher? Das wird kein Zuckerschlecken!
AI_Output(self, other, "KDF_1409_Kelsava_shouldGoBack_Info_03_03"); // Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
AI_Output(self, other, "KDF_1409_Kelsava_shouldGoBack_Info_03_04"); // Wir treffen uns wieder auf dem Berg.
Npc_ExchangeRoutine(self, "RITUAL");
startedLastChange = TRUE;
LastChangeKelsava = TRUE;
};
// **************************************************
instance KDF_1409_Kelsava_weGoBack (C_INFO)
{
npc = KDF_1409_Kelsava;
condition = KDF_1409_Kelsava_weGoBack_Condition;
information = KDF_1409_Kelsava_weGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Es geht los!";
};
func int KDF_1409_Kelsava_weGoBack_Condition()
{
if ((startedLastChange == TRUE && LastChangeKelsava == FALSE))
{
return TRUE;
};
};
func void KDF_1409_Kelsava_weGoBack_Info()
{
AI_Output(other, self, "KDF_1409_Kelsava_weGoBack_Info_15_01"); // Es geht los!
AI_Output(self, other, "KDF_1409_Kelsava_weGoBack_Info_03_02"); // Alles klar. Wir sollten keine Zeit mehr verlieren.
AI_Output(self, other, "KDF_1409_Kelsava_weGoBack_Info_03_03"); // Der Äther wird mit jeder Minute die wir warten, weiter zerstört.
AI_Output(self, other, "KDF_1409_Kelsava_weGoBack_Info_03_04"); // Noch ist der Schaden reversibel.
AI_Output(other, self, "KDF_1409_Kelsava_weGoBack_Info_15_05"); // Dann sehen wir uns im Turm!
Npc_ExchangeRoutine(self, "RITUAL");
};

View file

@ -48,8 +48,8 @@ func int KDW_14002_Tenho_youNew_Condition()
func void KDW_14002_Tenho_youNew_Info()
{
AI_Output(self, other, "KDW_14002_Tenho_youNew_Info_03_01"); // Soso, du bist also der Neuank<EFBFBD>mmling.
AI_Output(self, other, "KDW_14002_Tenho_youNew_Info_03_02"); // Man berichtete mir schon, dass jemand mit starken magischen F<EFBFBD>higkeiten unser Reich betreten hat.
AI_Output(self, other, "KDW_14002_Tenho_youNew_Info_03_01"); // Soso, du bist also der Neuankömmling.
AI_Output(self, other, "KDW_14002_Tenho_youNew_Info_03_02"); // Man berichtete mir schon, dass jemand mit starken magischen Fähigkeiten unser Reich betreten hat.
AI_Output(self, other, "KDW_14002_Tenho_youNew_Info_03_03"); // Sprich, warum bist du hier?
};
@ -62,7 +62,7 @@ instance KDW_14002_Tenho_wannaJoin (C_INFO)
information = KDW_14002_Tenho_wannaJoin_Info;
important = FALSE;
permanent = FALSE;
description = "Ich will mich euch anschlie<EFBFBD>en!";
description = "Ich will mich euch anschließen!";
};
func int KDW_14002_Tenho_wannaJoin_Condition()
@ -75,9 +75,9 @@ func int KDW_14002_Tenho_wannaJoin_Condition()
func void KDW_14002_Tenho_wannaJoin_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_wannaJoin_Info_15_01"); // Ich will mich euch anschlie<EFBFBD>en!
AI_Output(self, other, "KDW_14002_Tenho_wannaJoin_Info_03_02"); // Anschlie<EFBFBD>en? Das habe ich schon lange nicht mehr geh<65>rt.
AI_Output(self, other, "KDW_14002_Tenho_wannaJoin_Info_03_03"); // Aber gut, wenn es dir ernst ist, werde ich dich pr<EFBFBD>fen.
AI_Output(other, self, "KDW_14002_Tenho_wannaJoin_Info_15_01"); // Ich will mich euch anschließen!
AI_Output(self, other, "KDW_14002_Tenho_wannaJoin_Info_03_02"); // Anschlieen? Das habe ich schon lange nicht mehr gehört.
AI_Output(self, other, "KDW_14002_Tenho_wannaJoin_Info_03_03"); // Aber gut, wenn es dir ernst ist, werde ich dich prüfen.
};
// **************************************************
@ -105,24 +105,24 @@ func void KDW_14002_Tenho_whyHere_Info()
AI_Output(other, self, "KDW_14002_Tenho_whyHere_Info_15_01"); // Warum seid ihr hier?
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_02"); // Der Krieg, Junge. Was sonst sollte einen magischen Zirkel wie unseren aus seiner Heimat vertreiben?
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_03"); // Die Orks waren auf dem Vormarsch.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_04"); // Zwar war unser Heim auch auf dem Festland von einer <EFBFBD>hnlichen Barriere gesch<63>tzt gewesen, doch wirkt sie bei Orks anders als bei Menschen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_04"); // Zwar war unser Heim auch auf dem Festland von einer ähnlichen Barriere geschützt gewesen, doch wirkt sie bei Orks anders als bei Menschen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_05"); // Die magisch begabten Schamanen der Orks wurden aufgehalten, ihre Krieger jedoch nur noch rasender.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_06"); // Du siehst, unsere Schutzzauber waren im Endeffekt wirkungslos.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_07"); // Als wir die Barriere aufgehoben hatten, wurde der Ansturm der Orks immer st<EFBFBD>rker. Sie waren uns zahlenm<6E><6D>ig einfach <20>berlegen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_08"); // In einem gro<EFBFBD>en Zauber b<>ndelten wir unsere Energie und vertrieben sie vorl<72>ufig. Doch sie erholten sich schnell und r<>ckten wieder vor.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_09"); // Schlie<EFBFBD>lich zogen wir den letzten Ausweg in Betracht, packten unsere Sachen und flohen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_10"); // Ohne geeignete Karten irtten wir mehrere Tage auf See umher, bis wir diese Insel fanden. Wir hatten schon h<EFBFBD>ufiger von ihr geh<65>rt.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_11"); // Angeblich sollte ein gro<EFBFBD>er Teil des magischen Erzes, das zum Schmieden der Waffen verwendet wird, hier abgebaut werden.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_12"); // Als wir das gro<EFBFBD>e Schiff der Paladine sahen, wussten wir, dass wir nicht einfach in die Stadt gehen k<>nnen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_13"); // Denn dummerweise stehen wir auf unterschiedlichen Seiten der G<EFBFBD>tter. Innos und Beliar vertragen sich nicht unbedingt gut.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_14"); // Wir nutzten einen unbeobachteten Moment, brachten unsere Ladung an Land, zerst<EFBFBD>rten das Schiff und liefen an der Stadt vorbei.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_07"); // Als wir die Barriere aufgehoben hatten, wurde der Ansturm der Orks immer stärker. Sie waren uns zahlenmäßig einfach überlegen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_08"); // In einem großen Zauber bündelten wir unsere Energie und vertrieben sie vorläufig. Doch sie erholten sich schnell und rückten wieder vor.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_09"); // Schließlich zogen wir den letzten Ausweg in Betracht, packten unsere Sachen und flohen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_10"); // Ohne geeignete Karten irtten wir mehrere Tage auf See umher, bis wir diese Insel fanden. Wir hatten schon häufiger von ihr gehört.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_11"); // Angeblich sollte ein großer Teil des magischen Erzes, das zum Schmieden der Waffen verwendet wird, hier abgebaut werden.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_12"); // Als wir das große Schiff der Paladine sahen, wussten wir, dass wir nicht einfach in die Stadt gehen können.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_13"); // Denn dummerweise stehen wir auf unterschiedlichen Seiten der Götter. Adanos und Beliar vertragen sich nicht unbedingt gut.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_14"); // Wir nutzten einen unbeobachteten Moment, brachten unsere Ladung an Land, zerstörten das Schiff und liefen an der Stadt vorbei.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_15"); // Vor einigen Wochen kamen wir dann hier an und bauten diesen Turm.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_16"); // Leider brauchen auch wir eine grundlegende Versorgung, denn der Boden hier eignet sich nicht gut zum Anbauen von Getreide.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_17"); // Anfangs versuchten wir noch mit den Bauern zu handeln.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_18"); // Bis wir eines Tages einer Patrouille der Stadtwache in die Arme liefen, funktionierte das auch.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_19"); // Die Milizen gingen sofort davon aus, wir w<EFBFBD>rden Nahrungsmittel stehlen. Wir flohen zur<75>ck zum Turm und sie verfolgten uns.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_19"); // Die Milizen gingen sofort davon aus, wir würden Nahrungsmittel stehlen. Wir flohen zurück zum Turm und sie verfolgten uns.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_20"); // Nur dank unserer Barriere haben sie es bisher nicht geschafft uns anzugreifen.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_21"); // Sie r<EFBFBD>cken immer wieder vor, doch selbst die st<73>rksten Paladine haben Probleme.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_21"); // Sie rücken immer wieder vor, doch selbst die stärksten Paladine haben Probleme.
AI_Output(self, other, "KDW_14002_Tenho_whyHere_Info_03_22"); // Du bist seit langer Zeit der erste, der es geschafft hat, unsere Barriere unbeschadet zu durchbrechen!
};
@ -135,7 +135,7 @@ instance KDW_14002_Tenho_whyIce (C_INFO)
information = KDW_14002_Tenho_whyIce_Info;
important = FALSE;
permanent = FALSE;
description = "Warum bek<EFBFBD>mpft ihr die Eismagier?";
description = "Warum bekämpft ihr die Eismagier?";
};
func int KDW_14002_Tenho_whyIce_Condition()
@ -148,15 +148,15 @@ func int KDW_14002_Tenho_whyIce_Condition()
func void KDW_14002_Tenho_whyIce_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_whyIce_Info_15_01"); // Warum bek<EFBFBD>mpft ihr die Eismagier?
AI_Output(other, self, "KDW_14002_Tenho_whyIce_Info_15_01"); // Warum bekämpft ihr die Eismagier?
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_02"); // Wie bitte? Ich glaube, dabei handelt es sich um eine Verwechslung.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_03"); // Wobei... Nein, du hast Recht! Wir bek<EFBFBD>mpfen die Eismagier.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_04"); // Wie du vielleicht wei<EFBFBD>t, arbeiten Stadt und Kloster eng zusammen.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_03"); // Wobei... Nein, du hast Recht! Wir bekämpfen die Eismagier.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_04"); // Wie du vielleicht weißt, arbeiten Stadt und Kloster eng zusammen.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_05"); // Nach dem Vorfall mit den Stadtwachen suchten die Paladine Hilfe bei den Eismagiern.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_06"); // Seitdem greifen sie uns immer wieder an, denn auch sie sind in der Lage, die Barriere zu umgehen.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_07"); // Meistens beschr<EFBFBD>nken sie sich allerdings auf kleinere Sticheleien.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_08"); // Und wir tun im Gegenzug dasselbe. Wir haben nicht die Absicht, die Eismagier auszul<EFBFBD>schen. Wir wollen eigentlich nur unsere Ruhe haben.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_09"); // Aber ich bef<EFBFBD>rchte, die letzte gro<72>e Auseinandersetzung ist unvermeidbar.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_07"); // Meistens beschränken sie sich allerdings auf kleinere Sticheleien.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_08"); // Und wir tun im Gegenzug dasselbe. Wir haben nicht die Absicht, die Eismagier auszulöschen. Wir wollen eigentlich nur unsere Ruhe haben.
AI_Output(self, other, "KDW_14002_Tenho_whyIce_Info_03_09"); // Aber ich befürchte, die letzte große Auseinandersetzung ist unvermeidbar.
};
// **************************************************
@ -168,7 +168,7 @@ instance KDW_14002_Tenho_whatToDo (C_INFO)
information = KDW_14002_Tenho_whatToDo_Info;
important = FALSE;
permanent = FALSE;
description = "Pr<EFBFBD>fe mich, Meister!";
description = "Prüfe mich, Meister!";
};
func int KDW_14002_Tenho_whatToDo_Condition()
@ -181,22 +181,22 @@ func int KDW_14002_Tenho_whatToDo_Condition()
func void KDW_14002_Tenho_whatToDo_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_whatToDo_Info_15_01"); // Pr<EFBFBD>fe mich, Meister!
AI_Output(other, self, "KDW_14002_Tenho_whatToDo_Info_15_01"); // Prüfe mich, Meister!
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_02"); // Meister, pah! Den hochgestochenen Quatsch kannst du im Kloster loswerden. Ich bin Tenho, nichts weiter.
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_03"); // Ich bin genauso ein Magier wie alle anderen hier.
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_04"); // Zwar bin ich etwas <EFBFBD>lter und habe etwas mehr Erfahrung, aber das macht mich noch lange nicht zu etwas Besserem.
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_05"); // Aber gut, ich will dich pr<EFBFBD>fen. Aber bitte, h<>r auf mit dem Meister!
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_06"); // Also gut, deine Pr<EFBFBD>fung sieht wie folgt aus: Berge ein Artefakt!
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_04"); // Zwar bin ich etwas älter und habe etwas mehr Erfahrung, aber das macht mich noch lange nicht zu etwas Besserem.
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_05"); // Aber gut, ich will dich prüfen. Aber bitte, hör auf mit dem Meister!
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_06"); // Also gut, deine Prüfung sieht wie folgt aus: Berge ein Artefakt!
AI_Output(other, self, "KDW_14002_Tenho_whatToDo_Info_15_07"); // Ein Artefakt?
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_08"); // Sehr richtig.
AI_Output(other, self, "KDW_14002_Tenho_whatToDo_Info_15_09"); // Wo finde ich das Artefakt?
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_10"); // Na, wo w<EFBFBD>re denn der Witz an der Sache, wenn ich dir alles verrate? (lacht)
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_11"); // Ich gebe dir eine Richtung vor: Lauf den Weg zur Stadt zur<EFBFBD>ck und achte auf den Wasserfall. In seiner N<>he befindet sich eine H<>hle.
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_12"); // Durchquere sie und du wirst hoffentlich suchen, was wir haben wollen!
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_10"); // Na, wo wäre denn der Witz an der Sache, wenn ich dir alles verrate? (lacht)
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_11"); // Ich gebe dir eine Richtung vor: Lauf den Weg zur Stadt zurück und achte auf den Wasserfall. In seiner Nähe befindet sich eine Höhle.
AI_Output(self, other, "KDW_14002_Tenho_whatToDo_Info_03_12"); // Durchquere sie und du wirst hoffentlich finden, was wir haben wollen!
MIS_blackTest = LOG_RUNNING;
Log_CreateTopic(TOPIC_blackTest, LOG_MISSION);
Log_SetTopicStatus(TOPIC_blackTest, LOG_RUNNING);
B_LogEntry(TOPIC_blackTest, "Tolle Pr<EFBFBD>fung. Tenho, der Anf<6E>hrer des schwarzen Zirkels hat mich beauftragt, ein Artefakt zu holen. Daf<61>r soll ich eine H<>hle durchqueren und danach w<>rde ich es schon finden. Sehr spannend. Mal sehen, wie er mich auf die Probe stellen will.");
B_LogEntry(TOPIC_blackTest, "Tolle Prüfung. Tenho, der Anführer des schwarzen Zirkels hat mich beauftragt, ein Artefakt zu holen. Dafür soll ich eine Höhle durchqueren und danach würde ich es schon finden. Sehr spannend. Mal sehen, wie er mich auf die Probe stellen will.");
};
// **************************************************
@ -223,14 +223,14 @@ func void KDW_14002_Tenho_shallIGo_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_shallIGo_Info_15_01"); // Soll ich so gehen?
AI_Output(self, other, "KDW_14002_Tenho_shallIGo_Info_03_02"); // Wie denn sonst?
AI_Output(other, self, "KDW_14002_Tenho_shallIGo_Info_15_03"); // Naja, ich dachte, ich bekomme vielleicht etwas Ausr<EFBFBD>stung oder so...
AI_Output(other, self, "KDW_14002_Tenho_shallIGo_Info_15_03"); // Naja, ich dachte, ich bekomme vielleicht etwas Ausrüstung oder so...
AI_Output(self, other, "KDW_14002_Tenho_shallIGo_Info_03_04"); // Deine Robe musst du dir erst verdienen! Aber ich gebe dir ein paar Spruchrollen mit.
CreateInvItems(self, ItSc_BreathOfDeath, 2);
B_GiveInvItems(self, other, ItSc_BreathOfDeath, 2);
CreateInvItems(self, ItSc_HarmUndead, 2);
B_GiveInvItems(self, other, ItSc_HarmUndead, 2);
CreateInvItems(self, ItSc_ChargeFireball, 4);
B_GiveInvItems(self, other, ItSc_ChargeFireball, 4);
CreateInvItems(self, ItSc_BreathOfDeath, 1);
B_GiveInvItems(self, other, ItSc_BreathOfDeath, 1);
CreateInvItems(self, ItSc_HarmUndead, 1);
B_GiveInvItems(self, other, ItSc_HarmUndead, 1);
CreateInvItems(self, ItSc_ChargeFireball, 3);
B_GiveInvItems(self, other, ItSc_ChargeFireball, 3);
AI_Output(self, other, "KDW_14002_Tenho_shallIGo_Info_03_05"); // Wenn du mehr brauchst, musst du sie dir kaufen.
AI_Output(self, other, "KDW_14002_Tenho_shallIGo_Info_03_06"); // Sprich mit den anderen Magiern. Einer wird schon mit dir handeln.
AI_Output(self, other, "KDW_14002_Tenho_shallIGo_Info_03_07"); // Und hier: Damit du sie auch benutzen kannst.
@ -261,26 +261,29 @@ func int KDW_14002_Tenho_gotThem_Condition()
func void KDW_14002_Tenho_gotThem_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_gotThem_Info_15_01"); // Ich habe dein 'Artefakt'!
AI_Output(self, other, "KDW_14002_Tenho_gotThem_Info_03_02"); // Sehr gut. Bist du auf Schwierigkeiten gesto<EFBFBD>en?
AI_Output(self, other, "KDW_14002_Tenho_gotThem_Info_03_02"); // Sehr gut. Bist du auf Schwierigkeiten gestoßen?
Info_ClearChoices(KDW_14002_Tenho_gotThem);
Info_AddChoice(KDW_14002_Tenho_gotThem, "Du Arsch hast mich in eine H<EFBFBD>hle mit Goblin-Skeletten geschickt!", KDW_14002_Tenho_gotThem_youBastard);
Info_AddChoice(KDW_14002_Tenho_gotThem, "Du Arsch hast mich in eine Höhle mit Goblin-Skeletten geschickt!", KDW_14002_Tenho_gotThem_youBastard);
Info_AddChoice(KDW_14002_Tenho_gotThem, "Ein wenig Probleme, ja.", KDW_14002_Tenho_gotThem_aLittle);
Info_AddChoice(KDW_14002_Tenho_gotThem, "Keine nennenswerten!", KDW_14002_Tenho_gotThem_noProblems);
};
func void KDW_14002_Tenho_gotThem_youBastard()
{
AI_Output(other, self, "KDW_14002_Tenho_gotThem_youBastard_15_01"); // Du Arsch hast mich in eine H<EFBFBD>hle mit Goblin-Skeletten geschickt!
AI_Output(other, self, "KDW_14002_Tenho_gotThem_youBastard_15_01"); // Du Arsch hast mich in eine Höhle mit Goblin-Skeletten geschickt!
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_02"); // (aufbrausend) Was? Wie wagst du es mit mir zu sprechen?
AI_Output(other, self, "KDW_14002_Tenho_gotThem_youBastard_15_03"); // Moment, du sagtest, ich solle dieses hochtrabende Geschwafel sein lassen.
AI_Output(other, self, "KDW_14002_Tenho_gotThem_youBastard_15_04"); // Also, jetzt rede ich mit dir, wie mit jedem anderen auch.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_05"); // (grummelt) Na gut...
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_06"); // Hast du das Artefekt?
AI_Output(other, self, "KDW_14002_Tenho_gotThem_youBastard_15_07"); // Du meinst dieses Buch hier?
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_08"); // Genau das. Gib es mir! Es hat eine starke magische Aura, die ich bis hier oben gesp<EFBFBD>rt habe.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_08"); // Genau das. Gib es mir! Es hat eine starke magische Aura, die ich bis hier oben gespürt habe.
B_GiveInvItems(other, self, ItWr_Kreis1_BM, 1);
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_09"); // In Ordnung. Du sollst Teil unseres Zirkels werden, wenn du immer noch entschlossen bist.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_youBastard_03_10"); // Sprich mit mir, wenn du das Schwarz tragen willst!
MIS_blackTest = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_blackTest, LOG_SUCCESS);
B_LogEntry(TOPIC_blackTest, "Tenho war erfreut über das Buch. Er befürwortet meine Aufnahme in den Zirkel.");
Info_ClearChoices(KDW_14002_Tenho_gotThem);
};
@ -289,28 +292,34 @@ func void KDW_14002_Tenho_gotThem_aLittle()
AI_Output(other, self, "KDW_14002_Tenho_gotThem_aLittle_15_01"); // Ein wenig Probleme, ja.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_02"); // Wirklich? Das hatte ich nicht erwartet.
AI_Output(other, self, "KDW_14002_Tenho_gotThem_aLittle_15_03"); // Naja, einige Goblin-Skelette wollten mir das Leben schwer machen.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_04"); // Aber du bist ja in einem St<EFBFBD>ck zur<75>ckgekehrt.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_04"); // Aber du bist ja in einem Stück zurückgekehrt.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_05"); // Das ist ein gutes Zeichen.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_06"); // Wie steht es mit dem Artefakt?
AI_Output(other, self, "KDW_14002_Tenho_gotThem_aLittle_15_07"); // Meinst du dieses Buch?
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_08"); // Genau das. Gib es mir! Es hat eine starke magische Aura, die ich bis hier oben gesp<EFBFBD>rt habe.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_08"); // Genau das. Gib es mir! Es hat eine starke magische Aura, die ich bis hier oben gespürt habe.
B_GiveInvItems(other, self, ItWr_Kreis1_BM, 1);
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_09"); // In Ordnung. Du sollst Teil unseres Zirkels werden, wenn du immer noch entschlossen bist.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_aLittle_03_10"); // Sprich mit mir, wenn du das Schwarz tragen willst!
MIS_blackTest = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_blackTest, LOG_SUCCESS);
B_LogEntry(TOPIC_blackTest, "Tenho war erfreut über das Buch. Er befürwortet meine Aufnahme in den Zirkel.");
Info_ClearChoices(KDW_14002_Tenho_gotThem);
};
func void KDW_14002_Tenho_gotThem_noProblems()
{
AI_Output(other, self, "KDW_14002_Tenho_gotThem_noProblems_15_01"); // Keine nennenswerten!
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_02"); // (lacht) Haha, damit habe ich gerechnet, du Draufg<EFBFBD>nger!
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_02"); // (lacht) Haha, damit habe ich gerechnet, du Draufgänger!
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_03"); // In Ordnung. Wie sieht es aus? Hast du das Artefakt gefunden?
AI_Output(other, self, "KDW_14002_Tenho_gotThem_noProblems_15_04"); // Naja, ich habe hier ein Buch.
AI_Output(other, self, "KDW_14002_Tenho_gotThem_noProblems_15_05"); // Meinst du das?
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_06"); // Genau das. Gib es mir! Es hat eine starke magische Aura, die ich bis hier oben gesp<EFBFBD>rt habe.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_06"); // Genau das. Gib es mir! Es hat eine starke magische Aura, die ich bis hier oben gespürt habe.
B_GiveInvItems(other, self, ItWr_Kreis1_BM, 1);
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_07"); // In Ordnung. Du sollst Teil unseres Zirkels werden, wenn du immer noch entschlossen bist.
AI_Output(self, other, "KDW_14002_Tenho_gotThem_noProblems_03_08"); // Sprich mit mir, wenn du das Schwarz tragen willst!
MIS_blackTest = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_blackTest, LOG_SUCCESS);
B_LogEntry(TOPIC_blackTest, "Tenho war erfreut über das Buch. Er befürwortet meine Aufnahme in den Zirkel.");
Info_ClearChoices(KDW_14002_Tenho_gotThem);
};
@ -337,7 +346,7 @@ func int KDW_14002_Tenho_nowJoin_Condition()
func void KDW_14002_Tenho_nowJoin_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_nowJoin_Info_15_01"); // Ich will dem Zirkel beitreten!
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_Info_03_02"); // Ist das deine endg<EFBFBD>ltige Entscheidung? Bedenke, du kannst sie nicht mehr <20>ndern!
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_Info_03_02"); // Ist das deine endgültige Entscheidung? Bedenke, du kannst sie nicht mehr ändern!
Info_ClearChoices(KDW_14002_Tenho_nowJoin);
Info_AddChoice(KDW_14002_Tenho_nowJoin, "Ich brauche noch Bedenkzeit.", KDW_14002_Tenho_nowJoin_no);
Info_AddChoice(KDW_14002_Tenho_nowJoin, "Ich bin bereit!", KDW_14002_Tenho_nowJoin_yes);
@ -356,8 +365,8 @@ func void KDW_14002_Tenho_nowJoin_yes()
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_yes_03_02"); // Gut, dann darfst du dich ab heute als Mitglied des schwarzen Zirkels bezeichnen.
CreateInvItems(self, ItAr_Nov_Dark, 1);
B_GiveInvItems(self, other, ItAr_Nov_Dark, 1);
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_yes_03_03"); // Trage die schwarze Novizenrobe mit Stolz und W<EFBFBD>rde.
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_yes_03_04"); // Und mach' dem Kreis ja keinen <EFBFBD>rger!
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_yes_03_03"); // Trage die schwarze Novizenrobe mit Stolz und Würde.
AI_Output(self, other, "KDW_14002_Tenho_nowJoin_yes_03_04"); // Und mach' dem Kreis ja keinen Ärger!
kapitel = 2;
B_Kapitelwechsel(2, MAHLENDUR_ZEN);
Npc_SetTrueGuild(hero, GIL_STRF);
@ -393,12 +402,12 @@ func int KDW_14002_Tenho_whatMyQuests_Condition()
func void KDW_14002_Tenho_whatMyQuests_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_whatMyQuests_Info_15_01"); // Was sind meine Aufgaben als Novize?
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_02"); // Du wirst vor allem deine magischen F<EFBFBD>higkeiten trainieren.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_03"); // Au<EFBFBD>erdem wirst du Aufgaben f<>r den Zirkel <20>bernehmen.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_04"); // Meistens werden es Boteng<EFBFBD>nge oder Besorgungen werden. Du bist daf<61>r perfekt geeignet, da du neu bist.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_05"); // Au<EFBFBD>erdem tr<74>gst du nur unsere Novizenrobe. Mit der Magierrobe k<>nntest du nicht einen Fu<46> in die Stadt setzen.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_06"); // Lass dich nicht beirren. Gerade in der Stadt wird man versuchen, dich zu <EFBFBD>berzeugen, den Zirkel zu verlassen.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_07"); // Angeblich sei es nicht gut f<EFBFBD>r junge Menschen auf einen derart falschen Weg gef<65>hrt zu werden.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_02"); // Du wirst vor allem deine magischen Fähigkeiten trainieren.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_03"); // Außerdem wirst du Aufgaben für den Zirkel übernehmen.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_04"); // Meistens werden es Botengänge oder Besorgungen werden. Du bist dafür perfekt geeignet, da du neu bist.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_05"); // Außerdem trägst du nur unsere Novizenrobe. Mit der Magierrobe könntest du nicht einen Fuß in die Stadt setzen.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_06"); // Lass dich nicht beirren. Gerade in der Stadt wird man versuchen, dich zu überzeugen, den Zirkel zu verlassen.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_07"); // Angeblich sei es nicht gut für junge Menschen auf einen derart falschen Weg geführt zu werden.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_08"); // Aber vergiss nicht: Unser Weg ist der Richtige! Er ist genauso richtig, wie die Wege der anderen Magier.
AI_Output(self, other, "KDW_14002_Tenho_whatMyQuests_Info_03_09"); // Nur beziehen wir unsere Macht von einem anderen Gott.
};
@ -412,7 +421,7 @@ instance KDW_14002_Tenho_whatAboutTraining (C_INFO)
information = KDW_14002_Tenho_whatAboutTraining_Info;
important = FALSE;
permanent = FALSE;
description = "Wie kann ich meine magischen Kr<EFBFBD>fte steigern?";
description = "Wie kann ich meine magischen Kräfte steigern?";
};
func int KDW_14002_Tenho_whatAboutTraining_Condition()
@ -425,24 +434,23 @@ func int KDW_14002_Tenho_whatAboutTraining_Condition()
func void KDW_14002_Tenho_whatAboutTraining_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_whatAboutTraining_Info_15_01"); // Wie kann ich meine magischen Kr<EFBFBD>fte steigern?
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_02"); // Magie an sich kann jeder wirken. Du hast es ja an den Spruchrollen gesehen. Selbst ein Bauer k<EFBFBD>nnte mit Spruchrollen erheblichen Schaden anrichten.
AI_Output(other, self, "KDW_14002_Tenho_whatAboutTraining_Info_15_01"); // Wie kann ich meine magischen Kräfte steigern?
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_02"); // Magie an sich kann jeder wirken. Du hast es ja an den Spruchrollen gesehen. Selbst ein Bauer könnte mit Spruchrollen erheblichen Schaden anrichten.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_03"); // Die wahre Magie aber liegt in den Runensteinen. Sie verbrauchen sich nicht und funktionieren anders als Spruchrollen.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_04"); // In einer Spruchrolle steckt die Magie des Zaubers. Eine Rune jedoch wirkt nur als Fokus f<EFBFBD>r deine magischen Kr<4B>fte.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_04"); // In einer Spruchrolle steckt die Magie des Zaubers. Eine Rune jedoch wirkt nur als Fokus für deine magischen Kräfte.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_05"); // Daher vrabraucht sie sich auch nicht.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_06"); // Um einen Runenzauber zu wirken musst du deine magischen Kr<4B>fte durch den Runenstein kanalisieren.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_07"); // Und vor allem musst du fest <20>berzeugt sein, dass du diesen Zauber wirken m<>chtest.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_08"); // Du darfst keine Sekunde z<>gern und musst dir bewusst sein, was der Zauber ausl<73>st. Nur dann wird er gelingen.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_09"); // Bist du unkonzentriert, wird er fehlschlagen und dich im schlimmsten Fall verletzen oder sogar t<>ten.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_10"); // Deshalb sind die Runen in verschiedene Magiekreise aufgeteilt. Im ersten Kreis findest du einfache Zauber, die eigentlich nicht schiefgehen k<>nnen.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_11"); // Je h<>her du in den Kreisen gelangst, desto anspruchsvoller und zerst<73>rerischer werden die Zauber.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_12"); // F<>r den letzten Kreis ben<65>tigst du aber die Zustimmung unseres Gottes!
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_13"); // Den ersten Kreis der Magie kannst du schnell und einfach erlernen. Lies das Buch, dass du mir gebracht hast.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_14"); // Diesmal aber sp<73>re die Kraft der Magie.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_06"); // Um einen Runenzauber zu wirken musst du deine magischen Kräfte durch den Runenstein kanalisieren.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_07"); // Und vor allem musst du fest überzeugt sein, dass du diesen Zauber wirken möchtest.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_08"); // Du darfst keine Sekunde zögern und musst dir bewusst sein, was der Zauber auslöst. Nur dann wird er gelingen.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_09"); // Bist du unkonzentriert, wird er fehlschlagen und dich im schlimmsten Fall verletzen oder sogar töten.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_10"); // Deshalb sind die Runen in verschiedene Magiekreise aufgeteilt. Im ersten Kreis findest du einfache Zauber, die eigentlich nicht schiefgehen können.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_11"); // Je höher du in den Kreisen gelangst, desto anspruchsvoller und zerstörerischer werden die Zauber.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_12"); // Für den letzten Kreis benötigst du aber die Zustimmung unseres Gottes!
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_13"); // Den ersten Kreis der Magie kannst du schnell und einfach erlernen. Lies das Buch, dass du mir gebracht hast. Diesmal aber spüre die Kraft der Magie.
CreateInvItems(self, ItWr_Kreis1_BM, 1);
B_GiveInvItems(self, other, ItWr_Kreis1_BM, 1);
pcCanLearnMage = TRUE;
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_15"); // Lass dich von ihr durchstr<74>men. Sie wird dir den Weg weisen und dir erm<72>glichen, einfache Runen zu fokussieren.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutTraining_Info_03_14"); // Lass dich von ihr durchströmen. Sie wird dir den Weg weisen und dir ermöglichen, einfache Runen zu fokussieren.
};
// **************************************************
@ -454,7 +462,7 @@ instance KDW_14002_Tenho_moreCircles (C_INFO)
information = KDW_14002_Tenho_moreCircles_Info;
important = FALSE;
permanent = FALSE;
description = "Wann kann ich den n<EFBFBD>chsten Kreis lernen?";
description = "Wann kann ich den nächsten Kreis lernen?";
};
func int KDW_14002_Tenho_moreCircles_Condition()
@ -467,8 +475,8 @@ func int KDW_14002_Tenho_moreCircles_Condition()
func void KDW_14002_Tenho_moreCircles_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_moreCircles_Info_15_01"); // Wann kann ich den n<EFBFBD>chsten Kreis lernen?
AI_Output(self, other, "KDW_14002_Tenho_moreCircles_Info_03_02"); // Wenn du erfahrener bist, kann ich dich in den n<EFBFBD>chsten Kreis einf<6E>hren.
AI_Output(other, self, "KDW_14002_Tenho_moreCircles_Info_15_01"); // Wann kann ich den nächsten Kreis lernen?
AI_Output(self, other, "KDW_14002_Tenho_moreCircles_Info_03_02"); // Wenn du erfahrener bist, kann ich dich in den nächsten Kreis einführen.
AI_Output(self, other, "KDW_14002_Tenho_moreCircles_Info_03_03"); // Aber mache dich erst einmal mit dem ersten Kreis vertraut. Ich stelle eine Aufgabe an dich:
AI_Output(self, other, "KDW_14002_Tenho_moreCircles_Info_03_04"); // Sengor ist unser Runenmeister. Er wird dir beibringen, wie du Runen herstellst.
AI_Output(self, other, "KDW_14002_Tenho_moreCircles_Info_03_05"); // Lerne wenigstens drei Runen des ersten Kreises, dann sehen wir weiter!
@ -476,11 +484,11 @@ func void KDW_14002_Tenho_moreCircles_Info()
MIS_runesBM = LOG_RUNNING;
Log_CreateTopic(TOPIC_runesBM, LOG_MISSION);
Log_SetTopicStatus(TOPIC_runesBM, LOG_RUNNING);
B_LogEntry(TOPIC_runesBM, "Tenho wird mir den n<EFBFBD>chsten Kreis der Magie zeigen. Aber ich soll zuerst wenigstens drei Runen des ersten Kreises bauen um ein Gef<EFBFBD>hl f<>r die Runen zu bekommen. Sengor kann mir beibringen, wie ich Runen baue.");
B_LogEntry(TOPIC_runesBM, "Tenho wird mir den nächsten Kreis der Magie zeigen. Aber ich soll zuerst wenigstens drei Runen des ersten Kreises bauen um ein Gefühl für die Runen zu bekommen. Sengor kann mir beibringen, wie ich Runen baue.");
Log_CreateTopic(TOPIC_teacherTower, LOG_NOTE);
Log_AddEntry(TOPIC_teacherTower, "Sengor kann mir das Bauen von Runen zeigen.");
Log_CreateTopic(TOPIC_teacherTower, LOG_NOTE);
Log_AddEntry(TOPIC_teacherTower, "Tenho kann mir, wenn ich entsprechend ge<EFBFBD>bt bin die n<>chsten magischen Zirkel beibringen.");
Log_AddEntry(TOPIC_teacherTower, "Tenho kann mir, wenn ich entsprechend geübt bin die nächsten magischen Zirkel beibringen.");
};
// **************************************************
@ -507,8 +515,8 @@ func void KDW_14002_Tenho_whatAboutAtts_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_whatAboutAtts_Info_15_01"); // Kann ich meine magische Kraftreserve steigern?
AI_Output(self, other, "KDW_14002_Tenho_whatAboutAtts_Info_03_02"); // Du kannst deine Kraftreserven steigern. Wir nennen diese Reserven Mana.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutAtts_Info_03_03"); // Es ist alles nur eine Frage der Konzentration und der Belastbarkeit deines K<EFBFBD>rpers.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutAtts_Info_03_04"); // Sprich mit den anderen Magiern. Einer von ihnen wird dir beibringen k<EFBFBD>nnen, dein Mana zu erweitern.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutAtts_Info_03_03"); // Es ist alles nur eine Frage der Konzentration und der Belastbarkeit deines Körpers.
AI_Output(self, other, "KDW_14002_Tenho_whatAboutAtts_Info_03_04"); // Sprich mit den anderen Magiern. Einer von ihnen wird dir beibringen können, dein Mana zu erweitern.
};
// **************************************************
@ -520,7 +528,7 @@ instance KDW_14002_Tenho_nextCircle (C_INFO)
information = KDW_14002_Tenho_nextCircle_Info;
important = FALSE;
permanent = FALSE;
description = "Ich will den n<EFBFBD>chsten Kreis der Magie lernen!";
description = "Ich will den nächsten Kreis der Magie lernen!";
};
func int KDW_14002_Tenho_nextCircle_Condition()
@ -533,8 +541,8 @@ func int KDW_14002_Tenho_nextCircle_Condition()
func void KDW_14002_Tenho_nextCircle_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_nextCircle_Info_15_01"); // Ich will den n<EFBFBD>chsten Kreis der Magie lernen!
AI_Output(self, other, "KDW_14002_Tenho_nextCircle_Info_03_02"); // Hast du denn meine Aufgabe erf<EFBFBD>llt?
AI_Output(other, self, "KDW_14002_Tenho_nextCircle_Info_15_01"); // Ich will den nächsten Kreis der Magie lernen!
AI_Output(self, other, "KDW_14002_Tenho_nextCircle_Info_03_02"); // Hast du denn meine Aufgabe erfüllt?
AI_Output(other, self, "KDW_14002_Tenho_nextCircle_Info_15_03"); // Ja, ich habe gelernt, drei verschiedene Runen zu bauen.
AI_Output(self, other, "KDW_14002_Tenho_nextCircle_Info_03_04"); // Naja, eigentlich war die Aufgabe, sie auch wirklich zu bauen, aber sei's drum...
AI_Output(self, other, "KDW_14002_Tenho_nextCircle_Info_03_05"); // Gut, wenn du bereit bist, werde ich dich in den zweiten Kreis aufnehmen.
@ -566,8 +574,8 @@ func void KDW_14002_Tenho_teachNextCircle_Info()
if (hero.lp >= 10)
{
AI_Output(self, other, "KDW_14002_Tenho_teachNextCircle_Info_03_02"); // Gut. Du hast ja bereits einige der Runen kennengelernt.
AI_Output(self, other, "KDW_14002_Tenho_teachNextCircle_Info_03_03"); // Im zweiten Kreis stehen dir noch mehr zur Verf<EFBFBD>gung. Da sie ungleich m<>chtiger sind, geben wir sie nicht an jeden weiter.
AI_Output(self, other, "KDW_14002_Tenho_teachNextCircle_Info_03_04"); // Du scheinst wissbegierig zu sein. Ich setze Vartrauen in dich. Entt<EFBFBD>usche mich nicht!
AI_Output(self, other, "KDW_14002_Tenho_teachNextCircle_Info_03_03"); // Im zweiten Kreis stehen dir noch mehr zur Verfügung. Da sie ungleich mächtiger sind, geben wir sie nicht an jeden weiter.
AI_Output(self, other, "KDW_14002_Tenho_teachNextCircle_Info_03_04"); // Du scheinst wissbegierig zu sein. Ich setze Vartrauen in dich. Enttäusche mich nicht!
hero.lp = hero.lp-10;
Npc_SetTalentSkill(hero, NPC_TALENT_MAGE, 2);
}
@ -588,7 +596,7 @@ instance KDW_14002_Tenho_toDoForMe (C_INFO)
information = KDW_14002_Tenho_toDoForMe_Info;
important = FALSE;
permanent = FALSE;
description = "Hast du etwas zu tun f<EFBFBD>r mich?";
description = "Hast du etwas zu tun für mich?";
};
func int KDW_14002_Tenho_toDoForMe_Condition()
@ -601,13 +609,13 @@ func int KDW_14002_Tenho_toDoForMe_Condition()
func void KDW_14002_Tenho_toDoForMe_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_toDoForMe_Info_15_01"); // Hast du etwas zu tun f<EFBFBD>r mich?
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_02"); // Gut, dass du fragst. Ich h<EFBFBD>tte tats<74>chliche eine Aufgabe f<>r dich.
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_03"); // Bramor, der Kartenzeichner in der Stadt handelt auch mit anderen Schriftst<EFBFBD>cken.
AI_Output(other, self, "KDW_14002_Tenho_toDoForMe_Info_15_01"); // Hast du etwas zu tun für mich?
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_02"); // Gut, dass du fragst. Ich hätte tatsächlich eine Aufgabe für dich.
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_03"); // Bramor, der Kartenzeichner in der Stadt handelt auch mit anderen Schriftstücken.
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_04"); // Ich habe vor einiger Zeit ein Buch bei ihm bestellt. Geh zu ihm und sieh nach, ob er es mittlerweile auftreiben konnte.
CreateInvItems(self, ItMi_Gold, 100);
B_GiveInvItems(self, other, ItMi_Gold, 100);
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_05"); // Hier sind 100 Goldst<EFBFBD>cke. Schlie<69>lich will er das Buch bezahlt haben.
AI_Output(self, other, "KDW_14002_Tenho_toDoForMe_Info_03_05"); // Hier sind 100 Goldstücke. Schließlich will er das Buch bezahlt haben.
MIS_getBook = LOG_RUNNING;
Log_CreateTopic(TOPIC_getBook, LOG_MISSION);
Log_SetTopicStatus(TOPIC_getBook, LOG_RUNNING);
@ -637,16 +645,16 @@ func int KDW_14002_Tenho_gotBook_Condition()
func void KDW_14002_Tenho_gotBook_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_gotBook_Info_15_01"); // Ich hab das Buch!
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_02"); // Sehr gut. Hast du das Paket ge<EFBFBD>ffnet?
AI_Output(other, self, "KDW_14002_Tenho_gotBook_Info_15_03"); // Nein. Das Paket l<EFBFBD>sst sich nicht <20>ffnen.
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_02"); // Sehr gut. Hast du das Paket geöffnet?
AI_Output(other, self, "KDW_14002_Tenho_gotBook_Info_15_03"); // Nein. Das Paket lässt sich nicht öffnen.
B_GiveInvItems(other, self, ItMi_BookPaket, 1);
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_04"); // (lacht) Gut. Dann scheint der Zauber zu wirken.
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_05"); // Wird das Buch eingepackt, kann es nur noch von einem m<EFBFBD>chtigen Zauberer ausgepackt werden.
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_06"); // Hier, f<EFBFBD>r deinen Botengang!
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_05"); // Wird das Buch eingepackt, kann es nur noch von einem mächtigen Zauberer ausgepackt werden.
AI_Output(self, other, "KDW_14002_Tenho_gotBook_Info_03_06"); // Hier, für deinen Botengang!
CreateInvItems(self, ItMi_Gold, 50);
B_GiveInvItems(self, other, ItMi_Gold, 50);
buchTag = Wld_GetDay();
B_LogEntry(TOPIC_getBook, "Tenho hat sein Buch bekommen. Er sagte, es k<EFBFBD>nne nur von einem m<>chtigen Magier ausgepackt werden. Was das wohl f<>r ein Zauber ist?");
B_LogEntry(TOPIC_getBook, "Tenho hat sein Buch bekommen. Er sagte, es könne nur von einem mächtigen Magier ausgepackt werden. Was das wohl für ein Zauber ist?");
MIS_getBook = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_getBook, LOG_SUCCESS);
};
@ -675,12 +683,12 @@ func void KDW_14002_Tenho_whatNext_Info()
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_01"); // Du, komm mal her!
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_02"); // Wir haben ein Problem!
AI_Output(other, self, "KDW_14002_Tenho_whatNext_Info_15_03"); // Was gibt es?
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_04"); // Die anderen Magier in ihrem Kloster, werden langsam l<EFBFBD>stig.
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_05"); // Erst gestern waren sie wieder hier in der N<EFBFBD>he und haben uns Probleme bereitet.
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_04"); // Die anderen Magier in ihrem Kloster, werden langsam lästig.
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_05"); // Erst gestern waren sie wieder hier in der Nähe und haben uns Probleme bereitet.
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_06"); // Es war nichts Wildes, aber trotzdem. Langsam reicht es mir.
AI_Output(other, self, "KDW_14002_Tenho_whatNext_Info_15_07"); // Und was willst du dagegen tun?
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_08"); // Wir haben nicht viele M<EFBFBD>glichkeiten. Entweder wir harren hier aus, oder wir werden endlich aktiv.
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_09"); // Und f<EFBFBD>r dich habe ich eine Spezialaufgabe!
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_08"); // Wir haben nicht viele Möglichkeiten. Entweder wir harren hier aus, oder wir werden endlich aktiv.
AI_Output(self, other, "KDW_14002_Tenho_whatNext_Info_03_09"); // Und für dich habe ich eine Spezialaufgabe!
};
// **************************************************
@ -706,21 +714,21 @@ func int KDW_14002_Tenho_whatNext2_Condition()
func void KDW_14002_Tenho_whatNext2_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_01"); // Was habe ich zu tun?
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_02"); // Du wirst f<EFBFBD>r uns ins Kloster gehen und Informationen beschaffen.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_02"); // Du wirst für uns ins Kloster gehen und Informationen beschaffen.
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_03"); // Wie bitte? Bist du wahnsinnig? Die machen mich doch sofort kalt!
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_04"); // Und wie soll ich <EFBFBD>berhaupt ins Kloster kommen? Dir ist schon bewusst, dass wir...
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_04"); // Und wie soll ich überhaupt ins Kloster kommen? Dir ist schon bewusst, dass wir...
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_05"); // ... uns nicht sonderlich gut verstehen, ja. Glaub mir, das vergesse ich nicht.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_06"); // Sonst w<EFBFBD>rde ich dich ja gar nicht losschicken!
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_07"); // Deswegen sollst du f<EFBFBD>r uns einen neuen Zauber testen.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_06"); // Sonst würde ich dich ja gar nicht losschicken!
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_07"); // Deswegen sollst du für uns einen neuen Zauber testen.
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_08"); // Neuer Zauber? Was habt ihr denn jetzt gemacht?
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_09"); // Wir haben einen vollkommen neuen Zauber entwickelt.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_10"); // Wirnennen ihn 'Blinzeln'! Das mag vielleicht unspektakul<EFBFBD>r klingen, aber er ist m<>chtig.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_10"); // Wirnennen ihn 'Blinzeln'! Das mag vielleicht unspektakulär klingen, aber er ist mächtig.
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_11"); // Inwiefern?
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_12"); // Innerhalb eines Wimpernschlags bringt er dich an einen anderen Ort.
AI_Output(other, self, "KDW_14002_Tenho_whatNext2_Info_15_13"); // Also wie eine Teleportrune?
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_14"); // Fast. Du wirst zwar teleportiert, aber nur an einen Ort, den du selbst sehen kannst.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_15"); // Das hei<EFBFBD>t, eine Teleportation <20>ber die halbe Insel ist nicht m<>glich.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_16"); // Daf<EFBFBD>r kannst du, wenn alles gut geht, zum Beispiel auf ein Dach gelangen, das vorher au<61>er Reichweite war.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_15"); // Das heißt, eine Teleportation über die halbe Insel ist nicht möglich.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_16"); // Dafür kannst du, wenn alles gut geht, zum Beispiel auf ein Dach gelangen, das vorher außer Reichweite war.
AI_Output(self, other, "KDW_14002_Tenho_whatNext2_Info_03_17"); // Ich gebe dir einige Spruchrollen mit. Wir haben die Essenz des Zaubers darin verarbeitet.
CreateInvItems(self, ItSc_Blink, 3);
B_GiveInvItems(self, other, ItSc_Blink, 3);
@ -742,7 +750,7 @@ instance KDW_14002_Tenho_writeMore (C_INFO)
information = KDW_14002_Tenho_writeMore_Info;
important = FALSE;
permanent = FALSE;
description = "K<EFBFBD>nnt ihr nicht mehr Spruchrollen schreiben?";
description = "Könnt ihr nicht mehr Spruchrollen schreiben?";
};
func int KDW_14002_Tenho_writeMore_Condition()
@ -755,18 +763,18 @@ func int KDW_14002_Tenho_writeMore_Condition()
func void KDW_14002_Tenho_writeMore_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_writeMore_Info_15_01"); // K<EFBFBD>nnt ihr nicht mehr Spruchrollen schreiben?
AI_Output(other, self, "KDW_14002_Tenho_writeMore_Info_15_01"); // Könnt ihr nicht mehr Spruchrollen schreiben?
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_02"); // Das tun wir gerade. Aber bei einem neu entwickelten Zauber ist das nicht so einfach.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_03"); // Der Kern eines jeden Zaubers, egal ob Spruchrolle oder Rune, ist seine Essenz.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_04"); // Erinnerst du dich noch, was du f<EFBFBD>r deine erste Rune verwendet hast, au<61>er einem Runenstein?
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_04"); // Erinnerst du dich noch, was du für deine erste Rune verwendet hast, außer einem Runenstein?
AI_Output(other, self, "KDW_14002_Tenho_writeMore_Info_15_05"); // Schwefel!
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_06"); // Genau. Der Schwefel beinhaltet die Essenz des Zaubers. Zumindest kann unser Runentisch diese Essenz extrahieren.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_07"); // Beim Schreiben von Rollen ist es <EFBFBD>hnlich. Durch eine Essenz wird das Material aufgel<65>st und damit die Essenz des Zaubers in eine Tinte gebannt.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_07"); // Beim Schreiben von Rollen ist es ähnlich. Durch eine Essenz wird das Material aufgelöst und damit die Essenz des Zaubers in eine Tinte gebannt.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_08"); // Das ist auch der Grund, warum Spruchrollen genauso wirken wie eine Rune.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_09"); // Nur ist die Essenz nach der Benutzung verbraucht und zersetzt das Papier der Rolle.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_10"); // Beim Blinzelzauber ist es allerdings etwas komplizierter.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_11"); // Die Essenz besteht nicht aus einem einfachen Gegenstand, sondern muss in einem komplizierten Verfahren von einem Alchemisten hergestellt werden.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_12"); // Im Moment ist Sengor der Einzige, der diese Essenz herstellen kann. Du siehst, es ist schwierig, diese Spr<EFBFBD>che zu produzieren.
AI_Output(self, other, "KDW_14002_Tenho_writeMore_Info_03_12"); // Im Moment ist Sengor der Einzige, der diese Essenz herstellen kann. Du siehst, es ist schwierig, diese Sprüche zu produzieren.
};
// **************************************************
@ -792,7 +800,7 @@ func int KDW_14002_Tenho_canLearnScrolls_Condition()
func void KDW_14002_Tenho_canLearnScrolls_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_canLearnScrolls_Info_15_01"); // Kann ich auch Lernen Spruchrollen zu schreiben?
AI_Output(self, other, "KDW_14002_Tenho_canLearnScrolls_Info_03_02"); // Wenn du das unbedingt m<EFBFBD>chtest.
AI_Output(self, other, "KDW_14002_Tenho_canLearnScrolls_Info_03_02"); // Wenn du das unbedingt möchtest.
AI_Output(self, other, "KDW_14002_Tenho_canLearnScrolls_Info_03_03"); // Geh zu Goran. Er wird dich unterweisen.
};
@ -821,14 +829,14 @@ func void KDW_14002_Tenho_spiedMon_Info()
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_01"); // Ich war beim Kloster!
AI_Output(self, other, "KDW_14002_Tenho_spiedMon_Info_03_02"); // Und? Sag schon, was hast du herausgefunden?
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_03"); // Ehrlich...? Viele Magier rennen da nicht rum. Direkt gesehen habe ich drei.
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_04"); // Dazu noch ein paar Novizen. Von dort scheint keine gro<EFBFBD>e Gefahr zu kommen.
AI_Output(self, other, "KDW_14002_Tenho_spiedMon_Info_03_05"); // Und wie sieht es in den Geb<EFBFBD>uden aus?
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_06"); // Wie h<EFBFBD>tte ich da denn reinkommen sollen?
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_04"); // Dazu noch ein paar Novizen. Von dort scheint keine große Gefahr zu kommen.
AI_Output(self, other, "KDW_14002_Tenho_spiedMon_Info_03_05"); // Und wie sieht es in den Gebäuden aus?
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_06"); // Wie hätte ich da denn reinkommen sollen?
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_07"); // Du hast mir eine Teleportrolle gegeben, nichts was mich unsichtbar macht.
AI_Output(self, other, "KDW_14002_Tenho_spiedMon_Info_03_08"); // Stimmt. Konntest du denn irgendetwas sehen?
AI_Output(other, self, "KDW_14002_Tenho_spiedMon_Info_15_09"); // Nicht wirklich.
AI_Output(self, other, "KDW_14002_Tenho_spiedMon_Info_03_10"); // Das ist sehr schade. Aber wir d<EFBFBD>rfen jetzt nicht zur<75>ckschrecken.
B_LogEntry(TOPIC_spyMonastery, "Tenho war nicht unbedingt begeistert von meinen Informationen. Und jetzt will er auch noch angreifen. Wo soll das hinf<EFBFBD>hren...");
AI_Output(self, other, "KDW_14002_Tenho_spiedMon_Info_03_10"); // Das ist sehr schade. Aber wir dürfen jetzt nicht zurückschrecken.
B_LogEntry(TOPIC_spyMonastery, "Tenho war nicht unbedingt begeistert von meinen Informationen. Und jetzt will er auch noch angreifen. Wo soll das hinführen...");
MIS_spyMonastery = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_spyMonastery, LOG_SUCCESS);
B_GivePlayerXP(500);
@ -860,11 +868,11 @@ func void KDW_14002_Tenho_whatDoYouMean_Info()
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_02"); // Wir gehen jetzt in die Offensive!
AI_Output(other, self, "KDW_14002_Tenho_whatDoYouMean_Info_15_03"); // (erschrocken) In die Offensive? Du willst angreifen?
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_04"); // Ja. Bisher haben wir uns gegenseitig immer nur kleine Stiche versetzt. Das muss ein Ende haben!
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_05"); // Wir werden uns unseren Platz auf dieser Insel erk<EFBFBD>mpfen.
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_05"); // Wir werden uns unseren Platz auf dieser Insel erkämpfen.
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_06"); // Wenn es sein muss, bis zum Tod!
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_07"); // Wie siehts mit dir aus? Bist du dabei?
AI_Output(other, self, "KDW_14002_Tenho_whatDoYouMean_Info_15_08"); // Muss ich ja wohl...
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_09"); // Sehr gut. Ich m<EFBFBD>chte aber, dass ihr alle noch trainiert. In drei Tagen schlagen wir los!
AI_Output(self, other, "KDW_14002_Tenho_whatDoYouMean_Info_03_09"); // Sehr gut. Ich möchte aber, dass ihr alle noch trainiert. In drei Tagen schlagen wir los!
battleDayBM = Wld_GetDay();
MIS_prepBattleBM = LOG_RUNNING;
Log_CreateTopic(TOPIC_prepBattleBM, LOG_MISSION);
@ -927,9 +935,9 @@ func int KDW_14002_Tenho_weGonnaFight_Condition()
func void KDW_14002_Tenho_weGonnaFight_Info()
{
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_01"); // Okay, hier stehen wir also.
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_02"); // Ob wir bereit sind oder nicht, jetzt gibt es keinen Weg zur<EFBFBD>ck.
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_03"); // Einer anderer Novize hat sich schon vorgeschlichen und die T<EFBFBD>r zerst<73>rt.
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_04"); // Nat<EFBFBD>rlich hat das die Eismagier aufgeschreckt. Wir haben keine andere Wahl. Also los...
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_02"); // Ob wir bereit sind oder nicht, jetzt gibt es keinen Weg zurück.
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_03"); // Einer anderer Novize hat sich schon vorgeschlichen und die Tür zerstört.
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_04"); // Natürlich hat das die Eismagier aufgeschreckt. Wir haben keine andere Wahl. Also los...
AI_Output(self, other, "KDW_14002_Tenho_weGonnaFight_Info_03_05"); // ... ZUM ANGRIFF!
startCityAttack(attBM);
FF_ApplyExtData(ffCityAttack, 1000, -1, attBM);
@ -960,10 +968,10 @@ func void KDW_14002_Tenho_fightOver_Info()
AI_Output(self, other, "KDW_14002_Tenho_fightOver_Info_03_01"); // Warte! Der Kampf ist vorbei.
AI_Output(other, self, "KDW_14002_Tenho_fightOver_Info_15_02"); // Was? Wieso das denn?
AI_Output(self, other, "KDW_14002_Tenho_fightOver_Info_03_03"); // Hast du dieses Erdbeben nicht bemerkt? Die ganze Insel hat gewackelt!
AI_Output(self, other, "KDW_14002_Tenho_fightOver_Info_03_04"); // Wie auch immer, wir ziehen uns zur<EFBFBD>ck. Hier, diese Teleportrune wird dich zum Turm zur<75>ckbringen.
AI_Output(self, other, "KDW_14002_Tenho_fightOver_Info_03_04"); // Wie auch immer, wir ziehen uns zurück. Hier, diese Teleportrune wird dich zum Turm zurückbringen.
CreateInvItems(self, ItRu_TeleportXardas, 1);
B_GiveInvItems(self, other, ItRu_TeleportXardas, 1);
AI_Output(self, other, "KDW_14002_Tenho_fightOver_Info_03_05"); // Dort erkl<EFBFBD>re ich dir alles weitere!
AI_Output(self, other, "KDW_14002_Tenho_fightOver_Info_03_05"); // Dort erkläre ich dir alles weitere!
B_Kapitelwechsel(3, MAHLENDUR_ZEN);
startChapter3();
AI_StopProcessInfos(self);
@ -996,12 +1004,12 @@ func void KDW_14002_Tenho_newConditions_Info()
AI_Output(other, self, "KDW_14002_Tenho_newConditions_Info_15_03"); // Was meinst du? Ich habe den Teleportzauber benutzt und bin kurz vor unserem Tal ausgekommen.
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_04"); // Vor dem...
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_05"); // Der Zauber sollte dich direkt VOR DEN TURM bringen. Das ist schlecht, ganz schlecht...
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_06"); // Und zu allem <EFBFBD>berfluss warst du viel zu lange unterwegs. Der Teleport geht in Nullzeit vonstatten.
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_06"); // Und zu allem Überfluss warst du viel zu lange unterwegs. Der Teleport geht in Nullzeit vonstatten.
AI_Output(other, self, "KDW_14002_Tenho_newConditions_Info_15_07"); // Und dann noch die Untoten.
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_08"); // UNTOTE?!
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_09"); // Wovon sprichst du?
AI_Output(other, self, "KDW_14002_Tenho_newConditions_Info_15_10"); // Auf dem Weg hierhin sind mir zwei Zombies <EFBFBD>ber den Weg gelaufen. Habt ihr die nicht bemerkt?
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_11"); // Nein, schlie<EFBFBD>lich sind wir direkt hier ausgekommen. Vielleicht h<>lt die Barriere sie ab.
AI_Output(other, self, "KDW_14002_Tenho_newConditions_Info_15_10"); // Auf dem Weg hierhin sind mir zwei Zombies über den Weg gelaufen. Habt ihr die nicht bemerkt?
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_11"); // Nein, schließlich sind wir direkt hier ausgekommen. Vielleicht hält die Barriere sie ab.
AI_Output(self, other, "KDW_14002_Tenho_newConditions_Info_03_12"); // Das ist interessant.
};
@ -1028,18 +1036,17 @@ func int KDW_14002_Tenho_askInteresting_Condition()
func void KDW_14002_Tenho_askInteresting_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_askInteresting_Info_15_01"); // Inwiefern ist das interessant?
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_02"); // Wir haben es mit drei Ph<50>nomenen zu tun, die offenbar zur selben Zeit aufgetreten sind.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_03"); // Etwas scheint die Magie zu st<73>ren und sorgt auch f<>r Untote.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_04"); // Und das Erdbeben l<>ste dies entweder aus, oder umgekehrt. Und das finde ich gar nicht gut...
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_05"); // Wir m<>ssen herausfinden, womit wir es zu tun haben.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_06"); // Wenn die Magie gest<73>rt ist, wird das fr<66>her oder sp<73>ter s<>mtliche unserer Zauber betreffen.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_07"); // Und das...
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_08"); // Geh bitte zu Sengor. Er misst den magischen Fluss in der Umgebung und kann vielleicht mehr dazu sagen.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_09"); // Berichte mir dann!
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_02"); // Wir haben es mit drei Phänomenen zu tun, die offenbar zur selben Zeit aufgetreten sind.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_03"); // Etwas scheint die Magie zu stören und sorgt auch für Untote.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_04"); // Und das Erdbeben löste dies entweder aus, oder umgekehrt. Und das finde ich gar nicht gut...
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_05"); // Wir müssen herausfinden, womit wir es zu tun haben. Wenn die Magie gestört ist, wird das früher oder später sämtliche unserer Zauber betreffen.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_06"); // Und das...
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_07"); // Geh bitte zu Sengor. Er misst den magischen Fluss in der Umgebung und kann vielleicht mehr dazu sagen.
AI_Output(self, other, "KDW_14002_Tenho_askInteresting_Info_03_08"); // Berichte mir dann!
MIS_magicInvestigation = LOG_RUNNING;
Log_CreateTopic(TOPIC_magicInvestigation, LOG_MISSION);
Log_SetTopicStatus(TOPIC_magicInvestigation, LOG_RUNNING);
B_LogEntry(TOPIC_magicInvestigation, "Wie ich am eigenen Leib bereits festgestellt habe, ist das Gef<EFBFBD>ge der Magie gest<73>rt. Was auch immer es ausl<73>st, aber es ver<65>ndert unsere Zauber und zudem tauchen auch noch Untote auf. Wir m<>ssen herausfinden, was das ausl<73>st. Sengor misst irgendwie das Magiegef<65>ge und wei<65> vielleicht mehr.");
B_LogEntry(TOPIC_magicInvestigation, "Wie ich am eigenen Leib bereits festgestellt habe, ist das Gefüge der Magie gestärt. Was auch immer es auslöst, aber es verändert unsere Zauber und zudem tauchen auch noch Untote auf. Wir müssen herausfinden, was das auslöst. Sengor misst irgendwie das Magiegefüge und weiß vielleicht mehr.");
};
// **************************************************
@ -1066,9 +1073,9 @@ func void KDW_14002_Tenho_gotInfos_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_gotInfos_Info_15_01"); // Ich war bei Sengor.
AI_Output(self, other, "KDW_14002_Tenho_gotInfos_Info_03_02"); // Und? Was sagt er?
AI_Output(other, self, "KDW_14002_Tenho_gotInfos_Info_15_03"); // Er meinte, er h<EFBFBD>tte Schwankungen im magischen Feld gemessen. Sie sind offenbar sehr viel st<73>rker als normal.
AI_Output(self, other, "KDW_14002_Tenho_gotInfos_Info_03_04"); // Sch<EFBFBD>n. Er wird sich weiter darum k<>mmern.
AI_Output(self, other, "KDW_14002_Tenho_gotInfos_Info_03_05"); // F<EFBFBD>r dich habe ich eine andere Aufgabe.
AI_Output(other, self, "KDW_14002_Tenho_gotInfos_Info_15_03"); // Er meinte, er hätte Schwankungen im magischen Feld gemessen. Sie sind offenbar sehr viel stärker als normal.
AI_Output(self, other, "KDW_14002_Tenho_gotInfos_Info_03_04"); // Schön. Er wird sich weiter darum kümmern.
AI_Output(self, other, "KDW_14002_Tenho_gotInfos_Info_03_05"); // Für dich habe ich eine andere Aufgabe.
B_GivePlayerXP(150);
B_LogEntry(TOPIC_magicInvestigation, "Sengor wird weitere Nachforschungen anstellen.");
MIS_magicInvestigation = LOG_SUCCESS;
@ -1084,7 +1091,7 @@ instance KDW_14002_Tenho_meetingCityBM (C_INFO)
information = KDW_14002_Tenho_meetingCityBM_Info;
important = FALSE;
permanent = FALSE;
description = "Was hast du f<EFBFBD>r mich zu tun?";
description = "Was hast du für mich zu tun?";
};
func int KDW_14002_Tenho_meetingCityBM_Condition()
@ -1097,18 +1104,18 @@ func int KDW_14002_Tenho_meetingCityBM_Condition()
func void KDW_14002_Tenho_meetingCityBM_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_meetingCityBM_Info_15_01"); // Was hast du f<EFBFBD>r mich zu tun?
AI_Output(other, self, "KDW_14002_Tenho_meetingCityBM_Info_15_01"); // Was hast du für mich zu tun?
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_02"); // Als du bei Sengor warst, kam ein Bote aus der Stadt.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_03"); // Keine Ahnung, wie er es bis hierher geschafft hat, aber das tut nichts zur Sache.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_04"); // Im Nachhinein bin ich froh, dass ich ihn nicht verjagt habe.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_05"); // Wie auch immer... Die Paladine wollen einen Kriegsrat einberufen. Mit ALLEN Fraktionen auf dieser Insel.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_06"); // Ich habe zugestimmt, unter der Bedingung, dass das keine Falle der Eismagier ist.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_07"); // Schlie<EFBFBD>lich sind das Kloster und die Stadt verb<72>ndet, das wissen wir alle.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_08"); // Thirala, eine unserer Novizinnen ist schon zum Rathaus aufgebrochen. Ich m<EFBFBD>chte, dass du ebenfalls teilnimmst.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_07"); // Schließlich sind das Kloster und die Stadt verbündet, das wissen wir alle.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_08"); // Thirala, eine unserer Novizinnen ist schon zum Rathaus aufgebrochen. Ich möchte, dass du ebenfalls teilnimmst.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_09"); // Du bist noch nicht lange hier, du bist... quasi neutral.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_10"); // Frag mich nicht warum, aber ich sp<EFBFBD>re, dass die Bedrohung gr<67><72>er ist, als wir bisher denken.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_10"); // Frag mich nicht warum, aber ich spüre, dass die Bedrohung größer ist, als wir bisher denken.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_11"); // Und dann ist da immer noch die Gefahr, dass die Eismagier diesmal uns angreifen.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_12"); // Das k<EFBFBD>nnen wir uns nicht erlauben. Die Konferenz findet morgen Abend statt. Sei p<>nktlich!
AI_Output(self, other, "KDW_14002_Tenho_meetingCityBM_Info_03_12"); // Das können wir uns nicht erlauben. Die Konferenz findet morgen Abend statt. Sei pünktlich!
dayConference = Wld_GetDay();
AI_PrintS_Ext (self, "Komm morgen um 19 Uhr zum Rathaus!", RGBA(0, 153, 0, 0));
changeRoutineConference();
@ -1127,7 +1134,7 @@ instance KDW_14002_Tenho_meetingCityMIL (C_INFO)
information = KDW_14002_Tenho_meetingCityMIL_Info;
important = FALSE;
permanent = FALSE;
description = "Ich muss mit dir <EFBFBD>ber eine wichtige Sache sprechen.";
description = "Ich muss mit dir über eine wichtige Sache sprechen.";
};
func int KDW_14002_Tenho_meetingCityMIL_Condition()
@ -1140,17 +1147,17 @@ func int KDW_14002_Tenho_meetingCityMIL_Condition()
func void KDW_14002_Tenho_meetingCityMIL_Info()
{
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_01"); // Ich muss mit dir <EFBFBD>ber eine wichtige Sache sprechen.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_02"); // Dann komm zum Punkt. Wir haben hier einige Probleme und w<EFBFBD>rden uns gerne darum k<>mmern.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_01"); // Ich muss mit dir über eine wichtige Sache sprechen.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_02"); // Dann komm zum Punkt. Wir haben hier einige Probleme und würden uns gerne darum kümmern.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_03"); // Wahrscheinlich decken sich die Probleme. Lass mich raten, Untote?
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_04"); // Ihr wisst davon?
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_05"); // Die ganze Insel wei<EFBFBD> es. Denn offenbar sind sie <20>berall aufgetaucht.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_05"); // Die ganze Insel weiß es. Denn offenbar sind sie überall aufgetaucht.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_06"); // Und da kommen wir auch schon zum besagten Punkt.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_07"); // Die Paladine haben angeregt, einen Kriegsrat zu gr<EFBFBD>nden, um das Problem gemeinsam zu l<>sen.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_07"); // Die Paladine haben angeregt, einen Kriegsrat zu gründen, um das Problem gemeinsam zu lösen.
AI_Output(other, self, "KDW_14002_Tenho_meetingCityMIL_Info_15_08"); // Die ... Eismagier werden auch teilnehmen.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_09"); // Soso, die Eismagier...
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_10"); // (seufzt) Gut. Wenn sie die F<EFBFBD><EFBFBD>e stillhalten, werden wir das auch tun.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_11"); // F<EFBFBD>r das h<>here Wohl.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_10"); // (seufzt) Gut. Wenn sie die Füße stillhalten, werden wir das auch tun.
AI_Output(self, other, "KDW_14002_Tenho_meetingCityMIL_Info_03_11"); // Für das höhere Wohl.
B_LogEntry(TOPIC_Conference, "Die Schwarzmagier werden der Konferenz beiwohnen. Allerdings scheinen sie gewisse Spannungen mit den Eismagiern zu haben. Hoffentlich eskaliert das nicht...");
};

View file

@ -209,3 +209,63 @@ func void KDW_14009_Thirala_gotFocus_Info()
AI_Output(self, other, "KDW_14009_Thirala_gotFocus_Info_16_06"); // Ah, das erklärt einiges. Gut, dann breche ich wohl besser gleich auf.
Npc_ExchangeRoutine(self, "RITUAL");
};
// **************************************************
instance KDW_14009_Thirala_shouldGoBack (C_INFO)
{
npc = KDW_14009_Thirala;
condition = KDW_14009_Thirala_shouldGoBack_Condition;
information = KDW_14009_Thirala_shouldGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Wir sollten zurückkehren!";
};
func int KDW_14009_Thirala_shouldGoBack_Condition()
{
if ((Npc_KnowsInfo(hero, PAL_5000_Marten_gotAPlan)) && (startedLastChange == FALSE))
{
return TRUE;
};
};
func void KDW_14009_Thirala_shouldGoBack_Info()
{
AI_Output(other, self, "KDW_14009_Thirala_shouldGoBack_Info_15_01"); // Wir sollten zurückkehren!
AI_Output(self, other, "KDW_14009_Thirala_shouldGoBack_Info_16_02"); // Bist du sicher? Das wird kein Zuckerschlecken!
AI_Output(self, other, "KDW_14009_Thirala_shouldGoBack_Info_16_03"); // Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
AI_Output(self, other, "KDW_14009_Thirala_shouldGoBack_Info_16_04"); // Wir treffen uns wieder auf dem Berg.
Npc_ExchangeRoutine(self, "RITUAL");
startedLastChange = TRUE;
LastChangeThirala = TRUE;
};
// **************************************************
instance KDW_14009_Thirala_weGoBack (C_INFO)
{
npc = KDW_14009_Thirala;
condition = KDW_14009_Thirala_weGoBack_Condition;
information = KDW_14009_Thirala_weGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Es geht los!";
};
func int KDW_14009_Thirala_weGoBack_Condition()
{
if ((startedLastChange == TRUE && LastChangeThirala == FALSE))
{
return TRUE;
};
};
func void KDW_14009_Thirala_weGoBack_Info()
{
AI_Output(other, self, "KDW_14009_Thirala_weGoBack_Info_15_01"); // Es geht los!
AI_Output(self, other, "KDW_14009_Thirala_weGoBack_Info_16_02"); // Sehr gut! Wir dürfen keine Zeit mehr verlieren.
AI_Output(self, other, "KDW_14009_Thirala_weGoBack_Info_16_03"); // Der Äther wird immer schwächer...
AI_Output(other, self, "KDW_14009_Thirala_weGoBack_Info_15_04"); // Dann sehen wir uns im Turm!
Npc_ExchangeRoutine(self, "RITUAL");
};

View file

@ -61,10 +61,10 @@ func void MIL_2102_Volmar_whoAreYou_Info()
AI_Output(self, other, "MIL_2102_Volmar_whoAreYou_Info_07_02"); // Normalerweise machen wir ja kurzen Prozess mit euch...
AI_Output(other, self, "MIL_2102_Volmar_whoAreYou_Info_15_03"); // Kommandant, bitte haltet ein!
AI_Output(other, self, "MIL_2102_Volmar_whoAreYou_Info_15_04"); // Ich bin kein Pirat!
AI_Output(self, other, "MIL_2102_Volmar_whoAreYou_Info_07_05"); // Du glaubst gar nicht, wie oft ich das schon geh<EFBFBD>rt habe.
AI_Output(other, self, "MIL_2102_Volmar_whoAreYou_Info_15_06"); // Aber ich sage die Wahrheit, Kommandant. Ich bin... oder vielmehr war Soldat auf einem k<EFBFBD>niglichen Kriegsschiff.
AI_Output(self, other, "MIL_2102_Volmar_whoAreYou_Info_07_05"); // Du glaubst gar nicht, wie oft ich das schon gehört habe.
AI_Output(other, self, "MIL_2102_Volmar_whoAreYou_Info_15_06"); // Aber ich sage die Wahrheit, Kommandant. Ich bin... oder vielmehr war Soldat auf einem königlichen Kriegsschiff.
AI_Output(self, other, "MIL_2102_Volmar_whoAreYou_Info_07_07"); // Und das soll ich dir glauben?
AI_Output(other, self, "MIL_2102_Volmar_whoAreYou_Info_15_08"); // <EFBFBD>berzeugt euch dieser Ring?
AI_Output(other, self, "MIL_2102_Volmar_whoAreYou_Info_15_08"); // Überzeugt euch dieser Ring?
AI_PlayAni(hero, "T_GREETLEFT");
AI_Output(self, other, "MIL_2102_Volmar_whoAreYou_Info_07_09"); // Ein Siegelring der Marine. Den kannst du nirgendwo gefunden haben
AI_Output(self, other, "MIL_2102_Volmar_whoAreYou_Info_07_10"); // Gut, ich will dir glauben. Aber sag mir:
@ -95,13 +95,13 @@ func void MIL_2102_Volmar_orcAttack_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_01"); // Wir wurden auf hoher See von Orks angegriffen.
AI_Output(self, other, "MIL_2102_Volmar_orcAttack_Info_07_02"); // Von Orks?
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_03"); // Ja, von Orks. Ich wei<EFBFBD> nicht, wann sie gelernt haben, Schiffe zu bauen, oder zur See zu fahren, aber mit Kanonen k<>nnen sie umgehen.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_04"); // Sie nutzten eine Nebelbank. Wir gerieten hinein und pl<EFBFBD>tzlich er<65>ffneten sie das Feuer.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_03"); // Ja, von Orks. Ich weiß nicht, wann sie gelernt haben, Schiffe zu bauen, oder zur See zu fahren, aber mit Kanonen können sie umgehen.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_04"); // Sie nutzten eine Nebelbank. Wir gerieten hinein und plötzlich eröffneten sie das Feuer.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_05"); // Es dauerte keine zwei Minuten, dann brannte unser Schiff lichterloh.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_06"); // Wir versuchten uns in die Nussschalen zu retten, doch auch diese wurden versenkt.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_07"); // Ich habe mein Gl<EFBFBD>ck au<61>erhalb der Boote gesucht. Mit einer Planke als Hilfsmittel versuchte ich wegzuschwimen, so schnell ich konnte.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_08"); // Scheinbar habe ich Gl<EFBFBD>ck gehabt, auch wenn ich vor Ersch<63>pfung irgendwann eingeschlafen bin.
AI_Output(self, other, "MIL_2102_Volmar_orcAttack_Info_07_09"); // Da hast du wirklich Gl<EFBFBD>ck gehabt. Jetzt bist du hier.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_07"); // Ich habe mein Glück außerhalb der Boote gesucht. Mit einer Planke als Hilfsmittel versuchte ich wegzuschwimen, so schnell ich konnte.
AI_Output(other, self, "MIL_2102_Volmar_orcAttack_Info_15_08"); // Scheinbar habe ich Glück gehabt, auch wenn ich vor Erschöpfung irgendwann eingeschlafen bin.
AI_Output(self, other, "MIL_2102_Volmar_orcAttack_Info_07_09"); // Da hast du wirklich Glück gehabt. Jetzt bist du hier.
};
// **************************************************
@ -130,12 +130,12 @@ func void MIL_2102_Volmar_andNow_Info()
AI_Output(self, other, "MIL_2102_Volmar_andNow_Info_07_02"); // Das ist eine gute Frage.
AI_Output(self, other, "MIL_2102_Volmar_andNow_Info_07_03"); // Ohne Zweifel bist du gut ausgebildet, aber ich kann dich hier nicht einfach in die Stadtwache aufnehmen.
AI_Output(self, other, "MIL_2102_Volmar_andNow_Info_07_04"); // Und es wird noch einige Zeit dauern, bis wieder ein Schiff zum Festland ablegt.
AI_Output(self, other, "MIL_2102_Volmar_andNow_Info_07_05"); // Du wirst wohl erst einmal hier bleiben m<EFBFBD>ssen.
AI_Output(self, other, "MIL_2102_Volmar_andNow_Info_07_05"); // Du wirst wohl erst einmal hier bleiben müssen.
AI_Output(self, other, "MIL_2102_Volmar_andNow_Info_07_06"); // Am Besten ist es, du baust dir ein neues Leben auf.
MIS_newLife = LOG_RUNNING;
Log_CreateTopic(TOPIC_newLife, LOG_MISSION);
Log_SetTopicStatus(TOPIC_newLife, LOG_RUNNING);
B_LogEntry(TOPIC_newLife, "An den Strand gesp<EFBFBD>lt, f<>r einen Piraten gehalten und jetzt ohne Zukunft. Der Kommandant der Stadtwache sagte mir, ich solle mir ein neues Leben aufbauen. Als ob das so einfach w<EFBFBD>re.");
B_LogEntry(TOPIC_newLife, "An den Strand gespült, für einen Piraten gehalten und jetzt ohne Zukunft. Der Kommandant der Stadtwache sagte mir, ich solle mir ein neues Leben aufbauen. Als ob das so einfach wäre.");
};
// **************************************************
@ -147,7 +147,7 @@ instance MIL_2102_Volmar_myOptions (C_INFO)
information = MIL_2102_Volmar_myOptions_Info;
important = FALSE;
permanent = FALSE;
description = "Welche M<EFBFBD>glichkeiten habe ich denn?";
description = "Welche Möglichkeiten habe ich denn?";
};
func int MIL_2102_Volmar_myOptions_Condition()
@ -160,14 +160,14 @@ func int MIL_2102_Volmar_myOptions_Condition()
func void MIL_2102_Volmar_myOptions_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_myOptions_Info_15_01"); // Welche M<EFBFBD>glichkeiten habe ich denn?
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_02"); // Ich empfehle dir, dich einer der Gruppierungen auf der Insel anzuschlie<EFBFBD>en.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_03"); // Leider kommst du zu einer sehr ungem<EFBFBD>tlichen Zeit.
AI_Output(other, self, "MIL_2102_Volmar_myOptions_Info_15_01"); // Welche Möglichkeiten habe ich denn?
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_02"); // Ich empfehle dir, dich einer der Gruppierungen auf der Insel anzuschließen.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_03"); // Leider kommst du zu einer sehr ungemütlichen Zeit.
AI_Output(other, self, "MIL_2102_Volmar_myOptions_Info_15_04"); // Was ist denn los?
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_05"); // Wir haben hier allerhand Probleme. Seit wir auf die Insel gekommen sind, geht es immer weiter bergab.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_06"); // Im Minental probten die Gefangenen den Aufstand. Wir mussten den Pass verriegeln, um unsere eigene Haut zu retten.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_07"); // Leider ist nun der Zugang zu den gro<EFBFBD>en Erzvorkommen abgeschnitten.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_08"); // Seitdem versuchen wir auf der Insel die letzten Adern auszusch<EFBFBD>pfen.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_07"); // Leider ist nun der Zugang zu den großen Erzvorkommen abgeschnitten.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_08"); // Seitdem versuchen wir auf der Insel die letzten Adern auszuschöpfen.
AI_Output(self, other, "MIL_2102_Volmar_myOptions_Info_07_09"); // Allerdings gibt es Menschen, die uns mit aller Macht daran hindern wollen.
};
@ -195,28 +195,28 @@ func int MIL_2102_Volmar_whichGroups_Condition()
func void MIL_2102_Volmar_whichGroups_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_whichGroups_Info_15_01"); // Welche Menschen sind das?
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_02"); // Zuerst einmal unser derzeit gr<EFBFBD><EFBFBD>tes Problem.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_03"); // Wenn du die Stadt verl<EFBFBD>sst und dich n<>rdlich h<>lst, kommst du irgendwann zu einem Leuchtturm.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_02"); // Zuerst einmal unser derzeit größtes Problem.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_03"); // Wenn du die Stadt verlässt und dich nördlich hälst, kommst du irgendwann zu einem Leuchtturm.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_04"); // Dort und in der Bucht darunter haben sich Piraten eingenistet.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_05"); // Sie machen uns das Leben schwer, versenken Fischerboote und tauchen in der Stadt auf und beklauen jeden, der irgendetwas dabei hat.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_06"); // Aber ihre Bucht ist gut gesch<EFBFBD>tzt und ich habe zu wenig M<>nner um sie frontal anzugreifen.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_06"); // Aber ihre Bucht ist gut geschützt und ich habe zu wenig Männer um sie frontal anzugreifen.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_07"); // Dazu kommt noch das Problem mit den Bauern.
AI_Output(other, self, "MIL_2102_Volmar_whichGroups_Info_15_08"); // Mit den Bauern? Was k<EFBFBD>nnen Bauern denn f<>r Probleme bereiten?
AI_Output(other, self, "MIL_2102_Volmar_whichGroups_Info_15_08"); // Mit den Bauern? Was können Bauern denn für Probleme bereiten?
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_09"); // Die Bauern weniger, mehr ihre Aufpasser.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_10"); // Nat<EFBFBD>rlich muss die Stadt versorgt werden und in einer Kriegszeit muss sie st<73>rker versorgt werden als sonst.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_11"); // Der Gro<EFBFBD>bauer, dem zwei kleinere H<>fe angeschlossen sind, will das aber nicht hinnehmen und hat einige S<>ldner um sich geschart.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_12"); // Seitdem zahlt er keine Abgaben mehr. Und schon einige meienr M<>nner haben bei dem Versuch die Abgaben zu erzwingen ihr Leben verloren.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_13"); // Im S<EFBFBD>den der Insel ist es fast noch gef<65>hrlicher. Dort haben sich einige Schwarzmagier h<>uslich eingerichtet.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_14"); // Sie <EFBFBD>berfallen die Bauernh<6E>fe in der N<>he der Stadt und ihr Turm ist f<>r meine Stadtwache nicht einzunehmen.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_10"); // Natürlich muss die Stadt versorgt werden und in einer Kriegszeit muss sie stärker versorgt werden als sonst.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_11"); // Der Großbauer, dem zwei kleinere Höfe angeschlossen sind, will das aber nicht hinnehmen und hat einige Söldner um sich geschart.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_12"); // Seitdem zahlt er keine Abgaben mehr. Und schon einige meiner Männer haben bei dem Versuch die Abgaben zu erzwingen ihr Leben verloren.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_13"); // Im Süden der Insel ist es fast noch gefährlicher. Dort haben sich einige Schwarzmagier häuslich eingerichtet.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_14"); // Sie überfallen die Bauernhöfe in der Nähe der Stadt und ihr Turm ist für meine Stadtwache nicht einzunehmen.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_15"); // Als Einzige sind noch die Eismagier in ihrem Kloster im Norden auf unserer Seite.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_16"); // Aber auch sie haben viel zu tun. Denn sie sehen sich immer wieder Angriffen der Schwarzmagier ausgesetzt.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_17"); // Wie du siehst, ist es hier nicht ruhig und schon gar nicht friedlich.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_18"); // Wie gesagt, ich empfehle dir Folgendes:
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_19"); // Schlie<EFBFBD>e dich einer der Fraktionen an. Aber achte darauf, dass du nicht auf die schiefe Bahn ger<65>tst.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_19"); // Schließe dich einer der Fraktionen an. Aber achte darauf, dass du nicht auf die schiefe Bahn gerätst.
AI_Output(self, other, "MIL_2102_Volmar_whichGroups_Info_07_20"); // Ich gebe dir eine Karte mit, dann findest du dich besser zurecht.
CreateInvItems(self, ItWr_Map_NewWorld, 1);
B_GiveInvItems(self, other, ItWr_Map_NewWorld, 1);
B_LogEntry(TOPIC_newLife, "Volmar erz<EFBFBD>hlte mir von den verschiedenen Gruppen auf der Insel. Laut ihm existiert ein Piratennest, eine S<>ldnertruppe und zwei Magierzirkel. Achja, und seine Stadtwache nicht zu vergessen. Ich glaube, ich sollte allen mal einen Besuch abstatten.");
B_LogEntry(TOPIC_newLife, "Volmar erzählte mir von den verschiedenen Gruppen auf der Insel. Laut ihm existiert ein Piratennest, eine Söldnertruppe und zwei Magierzirkel. Achja, und seine Stadtwache nicht zu vergessen. Ich glaube, ich sollte allen mal einen Besuch abstatten.");
};
// **************************************************
@ -244,8 +244,8 @@ func void MIL_2102_Volmar_canGetWeapon_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_canGetWeapon_Info_15_01"); // Bekomme ich irgendwoher eine Waffe?
AI_Output(self, other, "MIL_2102_Volmar_canGetWeapon_Info_07_02"); // Ich kann dir keine geben. Wenn du etwas Gold hast, kannst du bestimmt am Marktplatz etwas finden.
AI_Output(self, other, "MIL_2102_Volmar_canGetWeapon_Info_07_03"); // Ansonsten... Schau mal in der N<EFBFBD>he der Waffenkammer, vielleicht liegt da noch ein altes Schwert.
AI_Output(self, other, "MIL_2102_Volmar_canGetWeapon_Info_07_04"); // F<EFBFBD>r den Anfang sollte das ja reichen.
AI_Output(self, other, "MIL_2102_Volmar_canGetWeapon_Info_07_03"); // Ansonsten... Schau mal in der Nähe der Waffenkammer, vielleicht liegt da noch ein altes Schwert.
AI_Output(self, other, "MIL_2102_Volmar_canGetWeapon_Info_07_04"); // Für den Anfang sollte das ja reichen.
};
// **************************************************
@ -272,11 +272,11 @@ func int MIL_2102_Volmar_howMiliz_Condition()
func void MIL_2102_Volmar_howMiliz_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_howMiliz_Info_15_01"); // Kann ich Mitglied der Stadtwache werden?
AI_Output(self, other, "MIL_2102_Volmar_howMiliz_Info_07_02"); // Nat<EFBFBD>rlich, gute Soldaten k<>nnen wir immer brauchen! Aber es ist nicht ganz so einfach.
AI_Output(self, other, "MIL_2102_Volmar_howMiliz_Info_07_02"); // Natürlich, gute Soldaten können wir immer brauchen! Aber es ist nicht ganz so einfach.
AI_Output(other, self, "MIL_2102_Volmar_howMiliz_Info_15_03"); // Wieso nicht? Ich war...
AI_Output(self, other, "MIL_2102_Volmar_howMiliz_Info_07_04"); // ... Soldat in der k<EFBFBD>niglichen Flotte, ich wei<65>. Aber hier gelten andere Regeln, an die auch ich mich zu halten habe.
AI_Output(self, other, "MIL_2102_Volmar_howMiliz_Info_07_05"); // Ich kann nur B<EFBFBD>rger der Stadt Mahlendur in der Stadtwache aufnehmen.
B_LogEntry(TOPIC_newLife, "Um bei der Miliz der Stadt aufgenommen zu werden, muss ich B<EFBFBD>rger der Stadt sein. Wer hat sich den Quatsch denn ausgedacht? Immerhin bin ich bereits Soldat! Aber gut, wenn die Regeln es vorschreiben, muss auch ich mich daran halten. Mal sehen, was das alles bringen wird.");
AI_Output(self, other, "MIL_2102_Volmar_howMiliz_Info_07_04"); // ... Soldat in der königlichen Flotte, ich weiß. Aber hier gelten andere Regeln, an die auch ich mich zu halten habe.
AI_Output(self, other, "MIL_2102_Volmar_howMiliz_Info_07_05"); // Ich kann nur Bürger der Stadt Mahlendur in der Stadtwache aufnehmen.
B_LogEntry(TOPIC_newLife, "Um bei der Miliz der Stadt aufgenommen zu werden, muss ich Bürger der Stadt sein. Wer hat sich den Quatsch denn ausgedacht? Immerhin bin ich bereits Soldat! Aber gut, wenn die Regeln es vorschreiben, muss auch ich mich daran halten. Mal sehen, was das alles bringen wird.");
};
// **************************************************
@ -289,7 +289,7 @@ instance MIL_2102_Volmar_howCitizen (C_INFO)
important = FALSE;
permanent = FALSE;
nr = 13;
description = "Und wie werde ich B<EFBFBD>rger der Stadt?";
description = "Und wie werde ich Bürger der Stadt?";
};
func int MIL_2102_Volmar_howCitizen_Condition()
@ -302,15 +302,15 @@ func int MIL_2102_Volmar_howCitizen_Condition()
func void MIL_2102_Volmar_howCitizen_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_howCitizen_Info_15_01"); // Und wie werde ich B<EFBFBD>rger der Stadt?
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_02"); // Mach dich n<EFBFBD>tzlich!
AI_Output(other, self, "MIL_2102_Volmar_howCitizen_Info_15_01"); // Und wie werde ich Bürger der Stadt?
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_02"); // Mach dich nützlich!
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_03"); // Lerne ein Handwerk.
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_04"); // Am Besten schaust du dich im H<EFBFBD>ndler und Handwerksviertel einmal um und sprichst mit den Meistern.
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_05"); // Sie werden dir mehr dazu erz<EFBFBD>hlen k<>nnen.
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_04"); // Am Besten schaust du dich im Händler- und Handwerksviertel einmal um und sprichst mit den Meistern.
AI_Output(self, other, "MIL_2102_Volmar_howCitizen_Info_07_05"); // Sie werden dir mehr dazu erzählen können.
MIS_getCitizen = LOG_RUNNING;
Log_CreateTopic(TOPIC_getCitizen, LOG_MISSION);
Log_SetTopicStatus(TOPIC_getCitizen, LOG_RUNNING);
B_LogEntry(TOPIC_getCitizen, "Um B<EFBFBD>rger der Stadt zu werden, muss ich mich n<>tzlich machen und ein Handwerk erlernen. Volmar sagte, ich solle mit den Handwerkern sprechen. Mal sehen, welche M<EFBFBD>glichkeiten sich mir bieten.");
B_LogEntry(TOPIC_getCitizen, "Um Bürger der Stadt zu werden, muss ich mich nützlich machen und ein Handwerk erlernen. Volmar sagte, ich solle mit den Handwerkern sprechen. Mal sehen, welche Möglichkeiten sich mir bieten.");
};
// **************************************************
@ -323,7 +323,7 @@ instance MIL_2102_Volmar_whatAboutMage (C_INFO)
important = FALSE;
permanent = FALSE;
nr = 14;
description = "Was ist, wenn ich den Weg der Magie beschreiten m<EFBFBD>chte?";
description = "Was ist, wenn ich den Weg der Magie beschreiten möchte?";
};
func int MIL_2102_Volmar_whatAboutMage_Condition()
@ -336,12 +336,12 @@ func int MIL_2102_Volmar_whatAboutMage_Condition()
func void MIL_2102_Volmar_whatAboutMage_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_whatAboutMage_Info_15_01"); // Was ist, wenn ich den Weg der Magie beschreiten m<EFBFBD>chte?
AI_Output(other, self, "MIL_2102_Volmar_whatAboutMage_Info_15_01"); // Was ist, wenn ich den Weg der Magie beschreiten möchte?
AI_Output(self, other, "MIL_2102_Volmar_whatAboutMage_Info_07_02"); // Dann bist du wohl am Besten im Kloster aufgehoben.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutMage_Info_07_03"); // Die Magier werden dich beraten.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutMage_Info_07_04"); // Sieh dich auf dem Marktplatz um, meistens ist dort ein Magier aus dem Kloster auf der Suche nach neuen Novizen.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutMage_Info_07_05"); // Allerdings habe ich zuletzt geh<EFBFBD>rt, dass sie einen Tribut verlangen.
B_LogEntry(TOPIC_newLife, "Ich kann mich also auch den Magiern anschlie<EFBFBD>en. Zumindest ein Eismagier soll sich in der Stadt aufhalten. Ob ich bei den Schwarzmagiern vielleicht auch willkommen bin?");
AI_Output(self, other, "MIL_2102_Volmar_whatAboutMage_Info_07_05"); // Allerdings habe ich zuletzt gehört, dass sie einen Tribut verlangen.
B_LogEntry(TOPIC_newLife, "Ich kann mich also auch den Magiern anschließen. Zumindest ein Eismagier soll sich in der Stadt aufhalten. Ob ich bei den Schwarzmagiern vielleicht auch willkommen bin?");
};
// **************************************************
@ -354,7 +354,7 @@ instance MIL_2102_Volmar_whatAboutOthers (C_INFO)
important = FALSE;
permanent = FALSE;
nr = 15;
description = "Kann ich mich den Piraten oder S<EFBFBD>ldnern anschlie<69>en?";
description = "Kann ich mich den Piraten oder Söldnern anschließen?";
};
func int MIL_2102_Volmar_whatAboutOthers_Condition()
@ -367,13 +367,13 @@ func int MIL_2102_Volmar_whatAboutOthers_Condition()
func void MIL_2102_Volmar_whatAboutOthers_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_whatAboutOthers_Info_15_01"); // Kann ich mich den Piraten oder S<EFBFBD>ldnern anschlie<69>en?
AI_Output(other, self, "MIL_2102_Volmar_whatAboutOthers_Info_15_01"); // Kann ich mich den Piraten oder Söldnern anschließen?
AI_Output(self, other, "MIL_2102_Volmar_whatAboutOthers_Info_07_02"); // Ich als Kommandant kann dir davon nur abraten.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutOthers_Info_07_03"); // Die Piraten locken mit gro<EFBFBD>em Geld und die S<>ldner mit einem starken Kampftraining und Eigenverantwortung.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutOthers_Info_07_03"); // Die Piraten locken mit großem Geld und die Söldner mit einem starken Kampftraining und Eigenverantwortung.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutOthers_Info_07_04"); // Das alles kannst du auch in der Stadt bekommen.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutOthers_Info_07_05"); // Wie dem auch sei, ich kann dich nicht davon abhalten. Du stehst nicht unter meinem Kommando und bist ein freier Mann.
AI_Output(self, other, "MIL_2102_Volmar_whatAboutOthers_Info_07_06"); // Es ist deine Entscheidung!
B_LogEntry(TOPIC_newLife, "Volmar r<EFBFBD>t mir davon ab, mich den Piraten oder den S<>ldnern anzuschlie<69>en. Aber wer wei<65>, vielleicht liegt meine Zukunft etwas abseits des Gesetzes?");
B_LogEntry(TOPIC_newLife, "Volmar rät mir davon ab, mich den Piraten oder den Söldnern anzuschließen. Aber wer weiß, vielleicht liegt meine Zukunft etwas abseits des Gesetzes?");
};
// **************************************************
@ -403,32 +403,32 @@ func void MIL_2102_Volmar_enterMiliz_Info()
if (Npc_GetTrueGuild(other) != GIL_VLK)
{
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_Info_07_02"); // Ich kann dich nicht aufnehmen!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_Info_07_03"); // Lerne ein Handwerk und werde B<EFBFBD>rger, dann sehen wir weiter!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_Info_07_03"); // Lerne ein Handwerk und werde Bürger, dann sehen wir weiter!
}
else
{
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_Info_07_04"); // Bist du dir sicher? Das ist keine einfache Entscheidung!
Info_ClearChoices(MIL_2102_Volmar_enterMiliz);
Info_AddChoice(MIL_2102_Volmar_enterMiliz, "Nein, lass mich noch <EFBFBD>berlegen!", MIL_2102_Volmar_enterMiliz_notSecure);
Info_AddChoice(MIL_2102_Volmar_enterMiliz, "Ja, ich will f<EFBFBD>r die Stadt k<>mpfen!", MIL_2102_Volmar_enterMiliz_yesSecure);
Info_AddChoice(MIL_2102_Volmar_enterMiliz, "Nein, lass mich noch überlegen!", MIL_2102_Volmar_enterMiliz_notSecure);
Info_AddChoice(MIL_2102_Volmar_enterMiliz, "Ja, ich will für die Stadt kämpfen!", MIL_2102_Volmar_enterMiliz_yesSecure);
};
};
func void MIL_2102_Volmar_enterMiliz_notSecure()
{
AI_Output(other, self, "MIL_2102_Volmar_enterMiliz_notSecure_15_01"); // Nein, lass mich noch <EFBFBD>berlegen!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_notSecure_07_02"); // In Orndung, ich bin hier, wenn du es dir <20>berlegt hast.
AI_Output(other, self, "MIL_2102_Volmar_enterMiliz_notSecure_15_01"); // Nein, lass mich noch überlegen!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_notSecure_07_02"); // In Ordnung, ich bin hier, wenn du es dir überlegt hast.
Info_ClearChoices(MIL_2102_Volmar_enterMiliz);
};
func void MIL_2102_Volmar_enterMiliz_yesSecure()
{
AI_Output(other, self, "MIL_2102_Volmar_enterMiliz_yesSecure_15_01"); // Ja, ich will f<EFBFBD>r die Stadt k<>mpfen!
AI_Output(other, self, "MIL_2102_Volmar_enterMiliz_yesSecure_15_01"); // Ja, ich will für die Stadt kämpfen!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_02"); // Gut. Wenn dies dein Wunsch ist.
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_03"); // Dann sei herzlich willkommen in der Stadtwache!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_04"); // Geh zu Marco und hol dir deine Waffe und deine R<EFBFBD>stung ab!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_04"); // Geh zu Marco und hol dir deine Waffe und deine Rüstung ab!
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_05"); // Wenn du trainieren willst, Thalar ist unser Ausbilder an der Waffe.
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_06"); // Und Yonar kann dir bestimtm dabei helfen, stärker zu werden.
AI_Output(self, other, "MIL_2102_Volmar_enterMiliz_yesSecure_07_06"); // Und Yonar kann dir bestimmt dabei helfen, stärker zu werden.
Thalar_Teach1H = TRUE;
Yonar_TeachSTR = TRUE;
Npc_SetTrueGuild(hero, GIL_MIL);
@ -467,8 +467,8 @@ func void MIL_2102_Volmar_wannaTellThief_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_wannaTellThief_Info_15_01"); // Ich will einen Dieb melden!
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_02"); // In Ordnung. Um wen handelt es sich und was hat er gestohlen?
AI_Output(other, self, "MIL_2102_Volmar_wannaTellThief_Info_15_03"); // Der Waffenh<EFBFBD>ndler Albrar vom Marktplatz ist es, der seit Wochen die Stadtwache bestiehlt.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_04"); // Und hast du daf<EFBFBD>r Beweise?
AI_Output(other, self, "MIL_2102_Volmar_wannaTellThief_Info_15_03"); // Der Waffenhändler Albrar vom Marktplatz ist es, der seit Wochen die Stadtwache bestiehlt.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_04"); // Und hast du dafür Beweise?
AI_Output(other, self, "MIL_2102_Volmar_wannaTellThief_Info_15_05"); // Ich habe den Dieb selbst gestellt.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_06"); // In Ordnung, das reicht mir.
if (Wld_GetDay() <= albrarDay + 1)
@ -481,14 +481,14 @@ func void MIL_2102_Volmar_wannaTellThief_Info()
}
else
{
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_09"); // Nur leider hat er sich vor Kurzem aus dem Staub gemacht.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_10"); // Leider k<EFBFBD>nnen wir ihn nun nicht mehr seiner gerechten Strafe zuf<75>hren.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_09"); // Nur hat er sich vor Kurzem aus dem Staub gemacht.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_10"); // Leider können wir ihn nun nicht mehr seiner gerechten Strafe zuführen.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_11"); // Trotzdem sollst du etwas von dem ausgesetzten Gold erhalten.
CreateInvItems(self, ItMi_Gold, 100);
B_GiveInvItems(self, other, ItMi_Gold, 100);
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_12"); // Immerhin hast du ihn <EFBFBD>berf<EFBFBD>hrt.
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_12"); // Immerhin hast du ihn überführt.
};
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_13"); // Ich bin froh, dass du bei uns an Land gesp<EFBFBD>lt wurdest. M<>nner wie dich k<>nnen wir hier gut brauchen!
AI_Output(self, other, "MIL_2102_Volmar_wannaTellThief_Info_07_13"); // Ich bin froh, dass du bei uns an Land gespült wurdest. Männer wie dich können wir hier gut brauchen!
B_GivePlayerXP(200);
};
@ -501,7 +501,7 @@ instance MIL_2102_Volmar_tellRose (C_INFO)
information = MIL_2102_Volmar_tellRose_Info;
important = FALSE;
permanent = FALSE;
description = "Eine Rose f<EFBFBD>r Epona!";
description = "Eine Rose für Epona!";
};
func int MIL_2102_Volmar_tellRose_Condition()
@ -514,7 +514,7 @@ func int MIL_2102_Volmar_tellRose_Condition()
func void MIL_2102_Volmar_tellRose_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_tellRose_Info_15_01"); // Eine Rose f<EFBFBD>r Epona!
AI_Output(other, self, "MIL_2102_Volmar_tellRose_Info_15_01"); // Eine Rose für Epona!
AI_Output(self, other, "MIL_2102_Volmar_tellRose_Info_07_02"); // Alles in Ordnung mit dir?
AI_Output(other, self, "MIL_2102_Volmar_tellRose_Info_15_03"); // Alles Bestens!
roseCounter += 1;
@ -529,7 +529,7 @@ instance MIL_2102_Volmar_newGuards (C_INFO)
information = MIL_2102_Volmar_newGuards_Info;
important = FALSE;
permanent = FALSE;
description = "Du sollst eine Wachabl<EFBFBD>sung an den Pass schicken!";
description = "Du sollst eine Wachablösung an den Pass schicken!";
};
func int MIL_2102_Volmar_newGuards_Condition()
@ -542,13 +542,13 @@ func int MIL_2102_Volmar_newGuards_Condition()
func void MIL_2102_Volmar_newGuards_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_newGuards_Info_15_01"); // Du sollst eine Wachabl<EFBFBD>sung an den Pass schicken!
AI_Output(other, self, "MIL_2102_Volmar_newGuards_Info_15_01"); // Du sollst eine Wachablösung an den Pass schicken!
AI_Output(self, other, "MIL_2102_Volmar_newGuards_Info_07_02"); // Ach, wer sagt das denn?
AI_Output(other, self, "MIL_2102_Volmar_newGuards_Info_15_03"); // Rhaegar sagt das. Er meint, der m<EFBFBD>de Haufen sei zu kaum etwas mehr zu gebrauchen.
AI_Output(self, other, "MIL_2102_Volmar_newGuards_Info_07_04"); // Ist das so? Wovon sind die denn m<EFBFBD>de? Die bewachen einen zugesch<63>tteten Pass.
AI_Output(other, self, "MIL_2102_Volmar_newGuards_Info_15_03"); // Rhaegar sagt das. Er meint, der müde Haufen sei zu kaum etwas mehr zu gebrauchen.
AI_Output(self, other, "MIL_2102_Volmar_newGuards_Info_07_04"); // Ist das so? Wovon sind die denn müde? Die bewachen einen zugeschütteten Pass.
AI_Output(other, self, "MIL_2102_Volmar_newGuards_Info_15_05"); // Frag mich nicht. Ich wurde nur von Rhaegar geschickt. Mehr hat er mir nicht gesagt.
AI_Output(self, other, "MIL_2102_Volmar_newGuards_Info_07_06"); // Hm, na gut. Sag ihm, ich werde ihm in den n<EFBFBD>chsten Tagen neue M<>nner schicken.
B_LogEntry(TOPIC_guardChange, "Volmar hat sich nach etwas '<EFBFBD>berzeugungsarbeit' dazu bereit erkl<6B>rt, neue M<>nner an den Pass zu schicken.");
AI_Output(self, other, "MIL_2102_Volmar_newGuards_Info_07_06"); // Hm, na gut. Sag ihm, ich werde ihm in den nächsten Tagen neue Männer schicken.
B_LogEntry(TOPIC_guardChange, "Volmar hat sich nach etwas 'Überzeugungsarbeit' dazu bereit erklärt, neue Männer an den Pass zu schicken.");
};
// **************************************************
@ -575,8 +575,8 @@ func void MIL_2102_Volmar_whatNow_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_whatNow_Info_15_01"); // Was ist jetzt zu tun?
AI_Output(self, other, "MIL_2102_Volmar_whatNow_Info_07_02"); // Du wirst wie, jeder Andere auch, deinen Dienst tun. Wenn du eine Aufgabe erledigt hast, kommst du zu mir und ich zahle dir deinen Sold aus.
AI_Output(self, other, "MIL_2102_Volmar_whatNow_Info_07_03"); // Ansonsten wird Thalar dich ab sofort trainieren. Bei Marco kannst du dir bessere Waffen und R<EFBFBD>stungen kaufen.
AI_Output(self, other, "MIL_2102_Volmar_whatNow_Info_07_04"); // Ich h<EFBFBD>tte auch schon einen ersten Auftrag f<>r dich.
AI_Output(self, other, "MIL_2102_Volmar_whatNow_Info_07_03"); // Ansonsten wird Thalar dich ab sofort trainieren. Bei Marco kannst du dir bessere Waffen und Rüstungen kaufen.
AI_Output(self, other, "MIL_2102_Volmar_whatNow_Info_07_04"); // Ich hätte auch schon einen ersten Auftrag für dich.
};
// **************************************************
@ -608,7 +608,7 @@ func void MIL_2102_Volmar_whatToDo_Info()
MIS_stansBandits = LOG_RUNNING;
Log_CreateTopic(TOPIC_stansBandits, LOG_MISSION);
Log_SetTopicStatus(TOPIC_stansBandits, LOG_RUNNING);
B_LogEntry(TOPIC_stansBandits, "Stan hat auf seinem Hof Probleme mit Banditen. Volmar sagt, ich solle mir Marril mitnehmen und dort f<EFBFBD>r Ruhe sorgen.");
B_LogEntry(TOPIC_stansBandits, "Stan hat auf seinem Hof Probleme mit Banditen. Volmar sagt, ich solle mir Marril mitnehmen und dort für Ruhe sorgen.");
setMilPhase(1);
};
@ -673,13 +673,13 @@ func void MIL_2102_Volmar_whatNext_Info()
AI_Output(other, self, "MIL_2102_Volmar_whatNext_Info_15_01"); // Was gibt es noch zu tun?
if (Wld_GetDay() < volmarDay + 1)
{
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_02"); // Im Moment nichts. Sieh dich am Besten auf der Insel um, dass alles glattl<EFBFBD>uft!
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_03"); // Aber keine Alleing<EFBFBD>nge gegen Piraten oder S<>ldner!
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_02"); // Im Moment nichts. Sieh dich am Besten auf der Insel um, dass alles glattläuft!
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_03"); // Aber keine Alleingänge gegen Piraten oder Söldner!
volmarDay = Wld_GetDay();
}
else
{
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_04"); // Ich h<EFBFBD>tte da tats<74>chlich eine Aufgabe f<>r dich.
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_04"); // Ich hätte da tatsächlich eine Aufgabe für dich.
AI_Output(self, other, "MIL_2102_Volmar_whatNext_Info_07_05"); // Aber pass auf, sie ist nicht ganz einfach.
toldNewQuest = TRUE;
};
@ -694,7 +694,7 @@ instance MIL_2102_Volmar_nextStep (C_INFO)
information = MIL_2102_Volmar_nextStep_Info;
important = FALSE;
permanent = FALSE;
description = "Du hast einen neuen Auftrag f<EFBFBD>r mich?";
description = "Du hast einen neuen Auftrag für mich?";
};
func int MIL_2102_Volmar_nextStep_Condition()
@ -707,16 +707,16 @@ func int MIL_2102_Volmar_nextStep_Condition()
func void MIL_2102_Volmar_nextStep_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_nextStep_Info_15_01"); // Du hast einen neuen Auftrag f<EFBFBD>r mich?
AI_Output(other, self, "MIL_2102_Volmar_nextStep_Info_15_01"); // Du hast einen neuen Auftrag für mich?
AI_Output(self, other, "MIL_2102_Volmar_nextStep_Info_07_02"); // Richtig. Allerdings ist das etwas heikel.
AI_Output(self, other, "MIL_2102_Volmar_nextStep_Info_07_03"); // Wir m<EFBFBD>ssen wissen, was die S<>ldner und die Piraten planen. Du wirst das f<>r uns herausfinden.
AI_Output(self, other, "MIL_2102_Volmar_nextStep_Info_07_03"); // Wir müssen wissen, was die Söldner und die Piraten planen. Du wirst das für uns herausfinden.
AI_Output(other, self, "MIL_2102_Volmar_nextStep_Info_15_04"); // Und wie soll ich das machen?
AI_Output(self, other, "MIL_2102_Volmar_nextStep_Info_07_05"); // Schleich dich an und beobachte. Aber pass auf, dass dich niemand sieht. Von denen ist keiner gut auf uns zu sprechen.
AI_Output(self, other, "MIL_2102_Volmar_nextStep_Info_07_06"); // Komm in einem St<EFBFBD>ck wieder!
AI_Output(self, other, "MIL_2102_Volmar_nextStep_Info_07_06"); // Komm in einem Stück wieder!
MIS_snitchPirSld = LOG_RUNNING;
Log_CreateTopic(TOPIC_snitchPirSld, LOG_MISSION);
Log_SetTopicStatus(TOPIC_snitchPirSld, LOG_RUNNING);
B_LogEntry(TOPIC_snitchPirSld, "Volmar hat mich losgeschickt, sowohl die Piraten, als auch die S<EFBFBD>ldner zu beobachten und herauszufinden, was beide Gruppen planen. Ich soll in einem St<53>ck zur<75>ckkommen. Der hat leicht Reden...");
B_LogEntry(TOPIC_snitchPirSld, "Volmar hat mich losgeschickt, sowohl die Piraten, als auch die Söldner zu beobachten und herauszufinden, was beide Gruppen planen. Ich soll in einem Stück zurückkommen. Der hat leicht Reden...");
changeSldRtnPreAttack();
FF_ApplyExt(snitchSld, 1000, -1);
FF_ApplyExt(snitchPir, 1000, -1);
@ -732,7 +732,7 @@ instance MIL_2102_Volmar_shallWeGo (C_INFO)
information = MIL_2102_Volmar_shallWeGo_Info;
important = FALSE;
permanent = FALSE;
description = "Sollten wir den Piraten oder S<EFBFBD>ldnern nicht zuvorkommen?";
description = "Sollten wir den Piraten oder Söldnern nicht zuvorkommen?";
};
func int MIL_2102_Volmar_shallWeGo_Condition()
@ -745,12 +745,12 @@ func int MIL_2102_Volmar_shallWeGo_Condition()
func void MIL_2102_Volmar_shallWeGo_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_shallWeGo_Info_15_01"); // Sollten wir den Piraten oder S<EFBFBD>ldnern nicht zuvorkommen?
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_02"); // Du meinst, wir sollten sie angreifen? Und damit die Stadt ungesch<EFBFBD>tzt?
AI_Output(other, self, "MIL_2102_Volmar_shallWeGo_Info_15_01"); // Sollten wir den Piraten oder Söldnern nicht zuvorkommen?
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_02"); // Du meinst, wir sollten sie angreifen? Und damit die Stadt ungeschützt?
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_03"); // Nein, wir bleiben hier. Wenn wir angegriffen werden, dann werden wir uns mit allen Mitteln verteidigen!
AI_Output(other, self, "MIL_2102_Volmar_shallWeGo_Info_15_04"); // Was soll ich tun?
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_05"); // Werde st<EFBFBD>rker! Trainiere flei<65>ig und bereite dich vor.
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_06"); // Ansonsten k<EFBFBD>nnen wir nur abwarten. Mehr bleibt uns nicht <20>brig.
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_05"); // Werde stärker! Trainiere fleißig und bereite dich vor.
AI_Output(self, other, "MIL_2102_Volmar_shallWeGo_Info_07_06"); // Ansonsten können wir nur abwarten. Mehr bleibt uns nicht übrig.
volmarDay = Wld_GetDay();
};
@ -777,12 +777,12 @@ func int MIL_2102_Volmar_howToTrain_Condition()
func void MIL_2102_Volmar_howToTrain_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_howToTrain_Info_15_01"); // Wo kann ich noch trainieren?
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_02"); // Viele hier k<EFBFBD>nnen dir etwas beibringen.
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_02"); // Viele hier können dir etwas beibringen.
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_03"); // Halte dich am Besten an Thalar. Er wird dich im Schertkampf unterrichten.
AI_Output(other, self, "MIL_2102_Volmar_howToTrain_Info_15_04"); // Gibt es hier eine Arena?
AI_Output(other, self, "MIL_2102_Volmar_howToTrain_Info_15_05"); // Auf dem Festland sind sie wie Unkraut aus dem Boden geschossen.
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_06"); // Einige der Soldaten haben tats<EFBFBD>chlich eine Arena eingerichtet.
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_07"); // Du findest sie an der gro<EFBFBD>en Anlegestelle. Kannst sie eigentlich gar nicht verfehlen.
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_06"); // Einige der Soldaten haben tatsächlich eine Arena eingerichtet.
AI_Output(self, other, "MIL_2102_Volmar_howToTrain_Info_07_07"); // Du findest sie an der großen Anlegestelle. Kannst sie eigentlich gar nicht verfehlen.
};
// **************************************************
@ -798,7 +798,7 @@ instance MIL_2102_Volmar_veryImportant (C_INFO)
func int MIL_2102_Volmar_veryImportant_Condition()
{
if ((toldNewQuest2 == FALSE) && (Wld_GetDay() >= volmarDay + 3))
if ((toldNewQuest2 == FALSE) && (Wld_GetDay() >= volmarDay + 3) && (Npc_GetTrueGuild(hero) == GIL_MIL))
{
return TRUE;
};
@ -833,10 +833,10 @@ func int MIL_2102_Volmar_cityAttack_Condition()
func void MIL_2102_Volmar_cityAttack_Info()
{
AI_Output(other, self, "MIL_2102_Volmar_cityAttack_Info_15_01"); // Was ist los?
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_02"); // Die Torwachen berichten, dass die S<EFBFBD>ldner sich vor der Stadt postiert haben.
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_03"); // Ich f<EFBFBD>rchte...
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_04"); // (lauter L<EFBFBD>rm erklingt aus Richtung der Stadttore)
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_05"); // Verdammt, sie greifen an. Wir m<EFBFBD>ssen los!
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_02"); // Die Torwachen berichten, dass die Söldner sich vor der Stadt postiert haben.
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_03"); // Ich fürchte...
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_04"); // (lauter Lärm erklingt aus Richtung der Stadttore)
AI_Output(self, other, "MIL_2102_Volmar_cityAttack_Info_07_05"); // Verdammt, sie greifen an. Wir müssen los!
AI_StopProcessInfos(self);
B_Attack(self, SLD_701_Silvan, AR_Kill, 1);
startCityAttack(attMil);
@ -868,8 +868,8 @@ func void MIL_2102_Volmar_fightOver_Info()
AI_Output(other, self, "MIL_2102_Volmar_fightOver_Info_15_02"); // Wie bitte? Wieso das denn?
AI_Output(self, other, "MIL_2102_Volmar_fightOver_Info_07_03"); // Hast du das Erdbeben gerade nicht bemerkt?
AI_Output(self, other, "MIL_2102_Volmar_fightOver_Info_07_04"); // Die ganze Insel hat gewackelt.
AI_Output(self, other, "MIL_2102_Volmar_fightOver_Info_07_05"); // Sowohl die Piraten, als auch die S<EFBFBD>ldner haben sich zur<75>ckgezogen. Triff mich im Rathaus, oben in der Oberstadt.
AI_Output(self, other, "MIL_2102_Volmar_fightOver_Info_07_06"); // Die Wachen werden dich reinlassen. Dort besprechen wir die n<EFBFBD>chsten Schritte.
AI_Output(self, other, "MIL_2102_Volmar_fightOver_Info_07_05"); // Sowohl die Piraten, als auch die Söldner haben sich zurückgezogen. Triff mich im Rathaus, oben in der Oberstadt.
AI_Output(self, other, "MIL_2102_Volmar_fightOver_Info_07_06"); // Die Wachen werden dich reinlassen. Dort besprechen wir die nächsten Schritte.
startChapter3();
Npc_ExchangeRoutine(MIL_2102_Volmar, "CHAPTER3START");
Npc_ExchangeRoutine(KDF_1409_Kelsava, "CHAPTER3START");

View file

@ -51,8 +51,8 @@ func void MIL_2105_Yonar_youSmith_Info()
AI_Output(other, self, "MIL_2105_Yonar_youSmith_Info_15_01"); // Du bist Schmied?
AI_Output(self, other, "MIL_2105_Yonar_youSmith_Info_03_02"); // Sehr gut erkannt, Fuchs.
AI_Output(other, self, "MIL_2105_Yonar_youSmith_Info_15_03"); // Warum hat die Miliz einen eigenen Schmied, wenn es schon welche in der Stadt gibt?
AI_Output(self, other, "MIL_2105_Yonar_youSmith_Info_03_04"); // Weil wir Waffen brauchen. Viele Waffen. Wenn wir die bei den st<EFBFBD>dtischen Schmieden kaufen, m<>ssen wir bezahlen.
AI_Output(self, other, "MIL_2105_Yonar_youSmith_Info_03_05"); // Und das wird teuer. Also produzieren wir selber, das ist f<EFBFBD>r alle einfacher.
AI_Output(self, other, "MIL_2105_Yonar_youSmith_Info_03_04"); // Weil wir Waffen brauchen. Viele Waffen. Wenn wir die bei den städtischen Schmieden kaufen, müssen wir bezahlen.
AI_Output(self, other, "MIL_2105_Yonar_youSmith_Info_03_05"); // Und das wird teuer. Also produzieren wir selber, das ist für alle einfacher.
};
// **************************************************
@ -80,34 +80,34 @@ func void MIL_2105_Yonar_youTrade_Info()
AI_Output(other, self, "MIL_2105_Yonar_youTrade_Info_15_01"); // Verkaufst du auch Waffen?
AI_Output(self, other, "MIL_2105_Yonar_youTrade_Info_03_02"); // Kommt darauf an... Was bietest du mir im Gegenzug an?
Info_ClearChoices(MIL_2105_Yonar_youTrade);
Info_AddChoice(MIL_2105_Yonar_youTrade, "Wen soll ich t<EFBFBD>ten?", MIL_2105_Yonar_youTrade_shouldIKill);
Info_AddChoice(MIL_2105_Yonar_youTrade, "Was w<EFBFBD>re denn in deinem Interesse?", MIL_2105_Yonar_youTrade_whatYouWant);
Info_AddChoice(MIL_2105_Yonar_youTrade, "W<EFBFBD>re Gold f<>r dich von Interesse?", MIL_2105_Yonar_youTrade_howManyGold);
Info_AddChoice(MIL_2105_Yonar_youTrade, "Wen soll ich töten?", MIL_2105_Yonar_youTrade_shouldIKill);
Info_AddChoice(MIL_2105_Yonar_youTrade, "Was wäre denn in deinem Interesse?", MIL_2105_Yonar_youTrade_whatYouWant);
Info_AddChoice(MIL_2105_Yonar_youTrade, "Wäre Gold für dich von Interesse?", MIL_2105_Yonar_youTrade_howManyGold);
};
func void MIL_2105_Yonar_youTrade_shouldIKill()
{
AI_Output(other, self, "MIL_2105_Yonar_youTrade_shouldIKill_15_01"); // Wen soll ich t<EFBFBD>ten?
AI_Output(other, self, "MIL_2105_Yonar_youTrade_shouldIKill_15_01"); // Wen soll ich töten?
AI_Output(self, other, "MIL_2105_Yonar_youTrade_shouldIKill_03_02"); // Um Himmels Willen! Bist du wahnsinnig?
AI_Output(self, other, "MIL_2105_Yonar_youTrade_shouldIKill_03_03"); // Tut mir leid, aber ich habe kein gutes Gewissen dabei, dir Waffen zu verkaufen.
AI_Output(self, other, "MIL_2105_Yonar_youTrade_shouldIKill_03_04"); // Nat<EFBFBD>rlich werden sie zum T<>ten benutzt, aber ich gehe immer von Verteidigung aus. Nie von mutwilligem Angriff.
AI_Output(self, other, "MIL_2105_Yonar_youTrade_shouldIKill_03_04"); // Natürlich werden sie zum Töten benutzt, aber ich gehe immer von Verteidigung aus. Nie von mutwilligem Angriff.
Info_ClearChoices(MIL_2105_Yonar_youTrade);
};
func void MIL_2105_Yonar_youTrade_whatYouWant()
{
AI_Output(other, self, "MIL_2105_Yonar_youTrade_whatYouWant_15_01"); // Was w<EFBFBD>re denn in deinem Interesse?
AI_Output(other, self, "MIL_2105_Yonar_youTrade_whatYouWant_15_01"); // Was wäre denn in deinem Interesse?
AI_Output(self, other, "MIL_2105_Yonar_youTrade_whatYouWant_03_02"); // Oh, das ist die richtige Frage...
AI_Output(self, other, "MIL_2105_Yonar_youTrade_whatYouWant_03_03"); // Du k<EFBFBD>nntest tats<74>chlich etwas f<>r mich tun.
AI_Output(self, other, "MIL_2105_Yonar_youTrade_whatYouWant_03_03"); // Du könntest tatsächlich etwas für mich tun.
yonarWork = TRUE;
Info_ClearChoices(MIL_2105_Yonar_youTrade);
};
func void MIL_2105_Yonar_youTrade_howManyGold()
{
AI_Output(other, self, "MIL_2105_Yonar_youTrade_howManyGold_15_01"); // W<EFBFBD>re Gold f<>r dich von Interesse?
AI_Output(other, self, "MIL_2105_Yonar_youTrade_howManyGold_15_01"); // Wäre Gold für dich von Interesse?
AI_Output(self, other, "MIL_2105_Yonar_youTrade_howManyGold_03_02"); // Gold klingt immer gut, mein Freund.
AI_Output(self, other, "MIL_2105_Yonar_youTrade_howManyGold_03_03"); // Sagen wir, f<EFBFBD>r... (<28>berlegt) ... 500 Gold kommen wir ins Gesch<63>ft!
AI_Output(self, other, "MIL_2105_Yonar_youTrade_howManyGold_03_03"); // Sagen wir, für... (überlegt) ... 500 Gold kommen wir ins Geschäft!
yonarGold = TRUE;
Info_ClearChoices(MIL_2105_Yonar_youTrade);
};
@ -149,7 +149,7 @@ instance MIL_2105_Yonar_tradeWork (C_INFO)
information = MIL_2105_Yonar_tradeWork_Info;
important = FALSE;
permanent = FALSE;
description = "Was kann ich f<EFBFBD>r dich tun?";
description = "Was kann ich für dich tun?";
};
func int MIL_2105_Yonar_tradeWork_Condition()
@ -162,20 +162,20 @@ func int MIL_2105_Yonar_tradeWork_Condition()
func void MIL_2105_Yonar_tradeWork_Info()
{
AI_Output(other, self, "MIL_2105_Yonar_tradeWork_Info_15_01"); // Was kann ich f<EFBFBD>r dich tun?
AI_Output(other, self, "MIL_2105_Yonar_tradeWork_Info_15_01"); // Was kann ich für dich tun?
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_02"); // Die Aufgabe ist etwas heikel.
AI_Output(other, self, "MIL_2105_Yonar_tradeWork_Info_15_03"); // Heikel ist mein Spezialgebiet.
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_04"); // Sehr gut. H<EFBFBD>r zu: Wir haben hier ein Problem mit Dieben.
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_04"); // Sehr gut. Hör zu: Wir haben hier ein Problem mit Dieben.
AI_Output(other, self, "MIL_2105_Yonar_tradeWork_Info_15_05"); // Diebe? In der Kaserne?
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_06"); // Verspotte uns nicht. Der Dieb ist sehr geschickt, wahrscheinlich hat er Kontakte zur Stadtwache.
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_07"); // Egal, wie wir unsere Wachschichten anpassen, in einem unbemerkten Moment verschafft sich der Dieb Zutritt zur Schmiede und klaut unsere Waffen.
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_08"); // Es ist nicht viel, aber zu viel, um auch noch Waffenhandel unter der Hand zu verschleiern.
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_09"); // Der Dieb muss gefasst werden! Du bist neu, unbekannt. Du bist genau der richtige Mann!
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_10"); // Finde den Dieb und ich werde dir mit Vergn<EFBFBD>gen meine Waffen verkaufen.
AI_Output(self, other, "MIL_2105_Yonar_tradeWork_Info_03_10"); // Finde den Dieb und ich werde dir mit Vergnügen meine Waffen verkaufen.
MIS_weaponThief = LOG_RUNNING;
Log_CreateTopic(TOPIC_weaponThief, LOG_MISSION);
Log_SetTopicStatus(TOPIC_weaponThief, LOG_RUNNING);
B_LogEntry(TOPIC_weaponThief, "Yonar, der Schmied in der Kaserne ist bereit, mir seine Waffen zu verkaufen. Allerdings soll ich daf<EFBFBD>r etwas f<>r ihn erledigen. Seit geraumer Zeit verschwinden Waffen in der Kaserne, Yonar vermutet dahinter einen Dieb. Ich soll den Dieb stellen. Er kommt in der Nacht, zwischen den Wachwechseln. Vielleicht sollte ich mich in der Schmiede auf die Lauer legen.");
B_LogEntry(TOPIC_weaponThief, "Yonar, der Schmied in der Kaserne ist bereit, mir seine Waffen zu verkaufen. Allerdings soll ich dafür etwas für ihn erledigen. Seit geraumer Zeit verschwinden Waffen in der Kaserne, Yonar vermutet dahinter einen Dieb. Ich soll den Dieb stellen. Er kommt in der Nacht, zwischen den Wachwechseln. Vielleicht sollte ich mich in der Schmiede auf die Lauer legen.");
};
// **************************************************
@ -187,7 +187,7 @@ instance MIL_2105_Yonar_eponaRose (C_INFO)
information = MIL_2105_Yonar_eponaRose_Info;
important = FALSE;
permanent = FALSE;
description = "Eine Rose f<EFBFBD>r Epona!";
description = "Eine Rose für Epona!";
};
func int MIL_2105_Yonar_eponaRose_Condition()
@ -200,7 +200,7 @@ func int MIL_2105_Yonar_eponaRose_Condition()
func void MIL_2105_Yonar_eponaRose_Info()
{
AI_Output(other, self, "MIL_2105_Yonar_eponaRose_Info_15_01"); // Eine Rose f<EFBFBD>r Epona!
AI_Output(other, self, "MIL_2105_Yonar_eponaRose_Info_15_01"); // Eine Rose für Epona!
AI_Output(self, other, "MIL_2105_Yonar_eponaRose_Info_03_02"); // Was?
AI_Output(self, other, "MIL_2105_Yonar_eponaRose_Info_03_03"); // Willst du Rosen kaufen? Dann bist du in der Schmiede an der falschen Adresse mein Freund.
rosecounter += 1;
@ -229,22 +229,22 @@ func int MIL_2105_Yonar_foundThief1_Condition()
func void MIL_2105_Yonar_foundThief1_Info()
{
AI_Output(other, self, "MIL_2105_Yonar_foundThief1_Info_15_01"); // Ich habe den Dieb gestellt!
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_02"); // Ach? Und? Welcher Schweinehund bestiehlt mich st<EFBFBD>ndig?
AI_Output(other, self, "MIL_2105_Yonar_foundThief1_Info_15_03"); // Es ist der Waffenh<EFBFBD>ndler Albrar. Er schlich hier durch die Kaserne und machte sich an den Waffenkisten zu schaffen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_02"); // Ach? Und? Welcher Schweinehund bestiehlt mich ständig?
AI_Output(other, self, "MIL_2105_Yonar_foundThief1_Info_15_03"); // Es ist der Waffenhändler Albrar. Er schlich hier durch die Kaserne und machte sich an den Waffenkisten zu schaffen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_04"); // Hat er den Diebstahl gestanden?
AI_Output(other, self, "MIL_2105_Yonar_foundThief1_Info_15_05"); // Hat er.
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_06"); // Gut, ich werde ihn mir vorkn<EFBFBD>pfen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_07"); // Vielen Dank f<EFBFBD>r deine Hilfe!
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_08"); // Hier hast du etwas f<EFBFBD>r deine M<>hen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_06"); // Gut, ich werde ihn mir vorknöpfen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_07"); // Vielen Dank für deine Hilfe!
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_08"); // Hier hast du etwas für deine Mühen.
CreateInvItems(self, ItMi_Gold, 200);
B_GiveInvItems(self, other, ItMi_Gold, 200);
B_GivePlayerXP(250);
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_09"); // Und nat<EFBFBD>rlich steht dir jetzt mein Warenangebot zur Verf<72>gung!
AI_Output(self, other, "MIL_2105_Yonar_foundThief1_Info_03_09"); // Und natürlich steht dir jetzt mein Warenangebot zur Verfügung!
Npc_ExchangeRoutine(VLK_3007_Albrar, "TOT");
yonarTrade = TRUE;
MIS_weaponThief = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_weaponThief, LOG_SUCCESS);
B_LogEntry(TOPIC_weaponThief, "Ich habe Yonar von Albrar berichtet. Er schien erleichtert, dass der Dieb nun endlich <EFBFBD>berf<EFBFBD>hrt ist. Yonar verkauft mir ab sofort seine Waffen.");
B_LogEntry(TOPIC_weaponThief, "Ich habe Yonar von Albrar berichtet. Er schien erleichtert, dass der Dieb nun endlich überführt ist. Yonar verkauft mir ab sofort seine Waffen.");
};
// **************************************************
@ -270,17 +270,17 @@ func int MIL_2105_Yonar_foundThief2_Condition()
func void MIL_2105_Yonar_foundThief2_Info()
{
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_01"); // Ich habe den Dieb gestellt!
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_02"); // Ach? Und? Welcher Schweinehund bestiehlt mich st<EFBFBD>ndig?
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_03"); // Es ist der Waffenh<EFBFBD>ndler Albrar. Er schlich hier durch die Kaserne und machte sich an den Waffenkisten zu schaffen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_02"); // Ach? Und? Welcher Schweinehund bestiehlt mich ständig?
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_03"); // Es ist der Waffenhändler Albrar. Er schlich hier durch die Kaserne und machte sich an den Waffenkisten zu schaffen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_04"); // Hat er den Diebstahl gestanden?
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_05"); // Hat er.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_06"); // Gut, ich werde ihn mir vorkn<EFBFBD>pfen.
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_07"); // Das wird wahrscheinlich nicht m<EFBFBD>glich sein.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_06"); // Gut, ich werde ihn mir vorknöpfen.
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_07"); // Das wird wahrscheinlich nicht möglich sein.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_08"); // Was? Wieso das denn?
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_09"); // Ich habe ihn laufen gelassen und ihm empfohlen aus der Stadt zu verschwinden.
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_10"); // Er wird dir keinen <EFBFBD>rger mehr machen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_11"); // Das hoffe ich f<EFBFBD>r dich.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_12"); // Gut, wie auch immer. Du hast den Dieb <EFBFBD>berf<EFBFBD>hrt, du sollst belohnt werden.
AI_Output(other, self, "MIL_2105_Yonar_foundThief2_Info_15_10"); // Er wird dir keinen Ärger mehr machen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_11"); // Das hoffe ich für dich.
AI_Output(self, other, "MIL_2105_Yonar_foundThief2_Info_03_12"); // Gut, wie auch immer. Du hast den Dieb überführt, du sollst belohnt werden.
CreateInvItems(self, ItMi_Gold, 50);
B_GiveInvItems(self, other, ItMi_Gold, 50);
B_GivePlayerXP(250);
@ -314,22 +314,22 @@ func int MIL_2105_Yonar_foundThief3_Condition()
func void MIL_2105_Yonar_foundThief3_Info()
{
AI_Output(other, self, "MIL_2105_Yonar_foundThief3_Info_15_01"); // Ich habe den Dieb gestellt!
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_02"); // Ach? Und? Welcher Schweinehund bestiehlt mich st<EFBFBD>ndig?
AI_Output(other, self, "MIL_2105_Yonar_foundThief3_Info_15_03"); // Es ist der Waffenh<EFBFBD>ndler Albrar. Er schlich hier durch die Kaserne und machte sich an den Waffenkisten zu schaffen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_02"); // Ach? Und? Welcher Schweinehund bestiehlt mich ständig?
AI_Output(other, self, "MIL_2105_Yonar_foundThief3_Info_15_03"); // Es ist der Waffenhändler Albrar. Er schlich hier durch die Kaserne und machte sich an den Waffenkisten zu schaffen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_04"); // Hat er den Diebstahl gestanden?
AI_Output(other, self, "MIL_2105_Yonar_foundThief3_Info_15_05"); // Hat er.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_06"); // Gut, ich werde ihn mir vorkn<EFBFBD>pfen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_06"); // Gut, ich werde ihn mir vorknöpfen.
AI_Output(other, self, "MIL_2105_Yonar_foundThief3_Info_15_07"); // Brauchst du nicht. Ich habe den Vorfall bereits an Kommandant Volmar gemeldet.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_08"); // Wirklich? Sehr gut. Dann brauche ich mir keine Sorgen zu machen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_09"); // Hier, eine kleine Entsch<EFBFBD>digung f<>r deine M<>hen.
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_09"); // Hier, eine kleine Entschädigung für deine Mühen.
CreateInvItems(self, ItMi_Gold, 100);
B_GiveInvItems(self, other, ItMi_Gold, 100);
B_GivePlayerXP(250);
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_10"); // Und nat<EFBFBD>rlich steht dir jetzt mein Warenangebot zur Verf<72>gung!
AI_Output(self, other, "MIL_2105_Yonar_foundThief3_Info_03_10"); // Und natürlich steht dir jetzt mein Warenangebot zur Verfügung!
yonarTrade = TRUE;
MIS_weaponThief = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_weaponThief, LOG_SUCCESS);
B_LogEntry(TOPIC_weaponThief, "Ich habe Yonar von Albrar berichtet. Er war erfreut, dass Kommandant Volmar bereits Ma<EFBFBD>nahmen ergriffen hat und wird ab sofort mit mit handeln.");
B_LogEntry(TOPIC_weaponThief, "Ich habe Yonar von Albrar berichtet. Er war erfreut, dass Kommandant Volmar bereits Maßnahmen ergriffen hat und wird ab sofort mit mit handeln.");
};
// **************************************************

View file

@ -0,0 +1,103 @@
// Diese Datei wurde automatisch durch den Miranda Dialog Creator erstellt!
// Sie sollte nicht manuell editiert werden, da Änderungen beim erneuten Aufruf
// des Creators überschrieben werden!
// **************************************************
instance MIL_328_Miliz_Exit (C_INFO)
{
npc = MIL_328_Miliz;
condition = MIL_328_Miliz_Exit_Condition;
information = MIL_328_Miliz_Exit_Info;
important = FALSE;
permanent = TRUE;
nr = 999;
description = DIALOG_ENDE;
};
func int MIL_328_Miliz_Exit_Condition()
{
return TRUE;
};
func void MIL_328_Miliz_Exit_Info()
{
AI_StopProcessInfos(self);
};
// **************************************************
instance MIL_328_Miliz_whatYouDoingHere (C_INFO)
{
npc = MIL_328_Miliz;
condition = MIL_328_Miliz_whatYouDoingHere_Condition;
information = MIL_328_Miliz_whatYouDoingHere_Info;
important = TRUE;
permanent = FALSE;
};
func int MIL_328_Miliz_whatYouDoingHere_Condition()
{
return TRUE;
};
func void MIL_328_Miliz_whatYouDoingHere_Info()
{
AI_Output(self, other, "MIL_328_Miliz_whatYouDoingHere_Info_08_01"); // Hey!
AI_Output(self, other, "MIL_328_Miliz_whatYouDoingHere_Info_08_02"); // Du hast hier nichts zu suchen!
AI_Output(self, other, "MIL_328_Miliz_whatYouDoingHere_Info_08_03"); // Verschwinde, aber ganz schnell!
AI_StopProcessInfos(self);
};
// **************************************************
instance MIL_328_Miliz_whatYouDoingHere2 (C_INFO)
{
npc = MIL_328_Miliz;
condition = MIL_328_Miliz_whatYouDoingHere2_Condition;
information = MIL_328_Miliz_whatYouDoingHere2_Info;
important = TRUE;
permanent = FALSE;
};
func int MIL_328_Miliz_whatYouDoingHere2_Condition()
{
if (Npc_GetDistToWP(hero, "NW_CITY_HABOUR_HUT_03_IN_06") <= 200)
{
return TRUE;
};
};
func void MIL_328_Miliz_whatYouDoingHere2_Info()
{
AI_Output(self, other, "MIL_328_Miliz_whatYouDoingHere2_Info_08_01"); // Ich warne dich!
AI_Output(self, other, "MIL_328_Miliz_whatYouDoingHere2_Info_08_02"); // Noch einen Schritt weiter und ich sorge dafür, dass du nicht mehr weißt, wo oben oder unten ist!
AI_StopProcessInfos(self);
};
// **************************************************
instance MIL_328_Miliz_whatYouDoingHere3 (C_INFO)
{
npc = MIL_328_Miliz;
condition = MIL_328_Miliz_whatYouDoingHere3_Condition;
information = MIL_328_Miliz_whatYouDoingHere3_Info;
important = TRUE;
permanent = FALSE;
};
func int MIL_328_Miliz_whatYouDoingHere3_Condition()
{
if (Npc_GetDistToWP(hero, "NW_CITY_HABOUR_GUT_03_IN_06") <= 50)
{
return TRUE;
};
};
func void MIL_328_Miliz_whatYouDoingHere3_Info()
{
AI_Output(self, other, "MIL_328_Miliz_whatYouDoingHere3_Info_08_01"); // Du hast es nicht anders gewollt!
AI_StopProcessInfos(self);
B_Attack(self, hero, AR_GuardStopsIntruder, 1);
};

View file

@ -84,3 +84,31 @@ func void NONE_10001_Eindringling_youAgain_Info()
AI_StopProcessInfos(self);
B_Attack(self, hero, AR_NONE, 0);
};
// **************************************************
instance NONE_10001_Eindringling_youAgain2 (C_INFO)
{
npc = NONE_10001_Eindringling;
condition = NONE_10001_Eindringling_youAgain2_Condition;
information = NONE_10001_Eindringling_youAgain2_Info;
important = TRUE;
permanent = FALSE;
};
func int NONE_10001_Eindringling_youAgain2_Condition()
{
if (startedLastChange == TRUE)
{
return TRUE;
};
};
func void NONE_10001_Eindringling_youAgain2_Info()
{
AI_Output(self, other, "NONE_10001_Eindringling_youAgain2_Info_07_01"); // Ihr gebt nicht auf, oder?
AI_Output(other, self, "NONE_10001_Eindringling_youAgain2_Info_15_02"); // Wie könnten wir?
AI_Output(self, other, "NONE_10001_Eindringling_youAgain2_Info_07_03"); // Dann bleibt mir wohl nichts anderes übrig.
AI_StopProcessInfos(self);
AI_StartState(self, ZS_Bekher_Teleport2, 1, "");
};

View file

@ -46,9 +46,9 @@ func int NONE_9903_Thomas_helloBard_Condition()
func void NONE_9903_Thomas_helloBard_Info()
{
AI_Output(other, self, "NONE_9903_Thomas_helloBard_Info_15_01"); // Hallo Barde!
AI_Output(self, other, "NONE_9903_Thomas_helloBard_Info_06_02"); // Hallo Zuschauer! Na, gefällt dir meine Darbietung?
AI_Output(self, other, "NONE_9903_Thomas_helloBard_Info_06_02"); // Hallo Zuschauer! Na, gefällt dir meine Darbietung?
AI_Output(other, self, "NONE_9903_Thomas_helloBard_Info_15_03"); // Auf jeden Fall!
AI_Output(self, other, "NONE_9903_Thomas_helloBard_Info_06_04"); // Danke, das freut mich zu Hören.
AI_Output(self, other, "NONE_9903_Thomas_helloBard_Info_06_04"); // Danke, das freut mich zu Hören.
};
// **************************************************
@ -75,10 +75,10 @@ func void NONE_9903_Thomas_theWanderer_Info()
{
AI_Output(other, self, "NONE_9903_Thomas_theWanderer_Info_15_01"); // Ist hier in der letzten Zeit ein Wanderer vorbei gekommen?
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_02"); // Wieso fragst du? Hast du noch eine Rechnung mit ihm offen? (lacht)
AI_Output(other, self, "NONE_9903_Thomas_theWanderer_Info_15_03"); // Nein, das nicht. Ich habe nur eine interessante Geschichte von ihm gehört und wüsste gerne noch mehr.
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_04"); // Ach, ich glaube, ich weiß, welchen Wanderer du meinst.
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_05"); // Ja, der war einen Abend hier. Hat ein Fass guten Wein ausgegeben und eine Geschichte erzählt.
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_06"); // Möchtest du sie hören?
AI_Output(other, self, "NONE_9903_Thomas_theWanderer_Info_15_03"); // Nein, das nicht. Ich habe nur eine interessante Geschichte von ihm gehört und wüsste gerne noch mehr.
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_04"); // Ach, ich glaube, ich weiß, welchen Wanderer du meinst.
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_05"); // Ja, der war einen Abend hier. Hat ein Fass guten Wein ausgegeben und eine Geschichte erzählt.
AI_Output(self, other, "NONE_9903_Thomas_theWanderer_Info_06_06"); // Möchtest du sie hören?
};
// **************************************************
@ -90,7 +90,7 @@ instance NONE_9903_Thomas_tellMe (C_INFO)
information = NONE_9903_Thomas_tellMe_Info;
important = FALSE;
permanent = FALSE;
description = "Erzähl sie mir!";
description = "Erzähl sie mir!";
};
func int NONE_9903_Thomas_tellMe_Condition()
@ -103,15 +103,15 @@ func int NONE_9903_Thomas_tellMe_Condition()
func void NONE_9903_Thomas_tellMe_Info()
{
AI_Output(other, self, "NONE_9903_Thomas_tellMe_Info_15_01"); // Erzähl sie mir!
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_02"); // Gut, hör zu. Die Geschichte klingt etwas abenteuerlich und wenn sie wirklich so passiert ist, dann nicht hier.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_03"); // Der alte, bärtige Wandersmann fing mit der Geschichte an. Die Stadt, in der er sich zu der Zeit aufhielt, wurde von einem mächtigen Feind belagert.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_04"); // Sie hatten bereits das Tor zerstört und sie drohten, die Stadt endgültig zu überrennen.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_05"); // Der Wanderer erzählte, wie er sich hinter die Reihen des Feindes schlich und laut losbrüllte.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_06"); // Angeblich klang sein Kampfschrei wie der von tausend Männern. Daraufhin seien sie fortgerannt, wie scheue Tiere.
AI_Output(other, self, "NONE_9903_Thomas_tellMe_Info_15_01"); // Erzähl sie mir!
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_02"); // Gut, hör zu. Die Geschichte klingt etwas abenteuerlich und wenn sie wirklich so passiert ist, dann nicht hier.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_03"); // Der alte, bärtige Wandersmann fing mit der Geschichte an. Die Stadt, in der er sich zu der Zeit aufhielt, wurde von einem mächtigen Feind belagert.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_04"); // Sie hatten bereits das Tor zerstört und sie drohten, die Stadt endgültig zu überrennen.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_05"); // Der Wanderer erzählte, wie er sich hinter die Reihen des Feindes schlich und laut losbrüllte.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_06"); // Angeblich klang sein Kampfschrei wie der von tausend Männern. Daraufhin seien sie fortgerannt, wie scheue Tiere.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_07"); // Er hatte sogar einen Beweis dabei. Einen alten, zerbeulten Helm.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_08"); // Was du jetzt mit dieser Geschichte machst, ist deine Sache. Ich gebe dir nur einen Rat: Nimm sie nicht für allzu wahr.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_09"); // Das Weinfass hat nämlich sehr gut geschmeckt! (lacht)
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_08"); // Was du jetzt mit dieser Geschichte machst, ist deine Sache. Ich gebe dir nur einen Rat: Nimm sie nicht für allzu wahr.
AI_Output(self, other, "NONE_9903_Thomas_tellMe_Info_06_09"); // Das Weinfass hat nämlich sehr gut geschmeckt! (lacht)
toldStory_Fight = TRUE;
B_LogEntry(TOPIC_theWanderer, "Ein Barde auf dem Hof des Großbauern hat mir einen weiteren Teil der Geschichte erzählt. Demnach soll der Wanderer einst eine ganze Armee vertrieben haben, nur dadurch, dass er einen Kampfschrei losgelassen hatte. Zum Beweis hatte er diesmal einen Helm dabei.");
B_LogEntry(TOPIC_theWanderer, "Ein Barde auf dem Hof des Großbauern hat mir einen weiteren Teil der Geschichte erzählt. Demnach soll der Wanderer einst eine ganze Armee vertrieben haben, nur dadurch, dass er einen Kampfschrei losgelassen hatte. Zum Beweis hatte er diesmal einen Helm dabei.");
};

View file

@ -143,6 +143,116 @@ func void PIR_1303_Gilbert_whatsNew_Info()
// **************************************************
instance PIR_1303_Gilbert_doSomething (C_INFO)
{
npc = PIR_1303_Gilbert;
condition = PIR_1303_Gilbert_doSomething_Condition;
information = PIR_1303_Gilbert_doSomething_Info;
important = FALSE;
permanent = FALSE;
description = "Kann ich was für dich tun?";
};
func int PIR_1303_Gilbert_doSomething_Condition()
{
if (Npc_GetTrueGuild(hero) == GIL_PIR)
{
return TRUE;
};
};
func void PIR_1303_Gilbert_doSomething_Info()
{
AI_Output(other, self, "PIR_1303_Gilbert_doSomething_Info_15_01"); // Kann ich was für dich tun?
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_Info_14_02"); // Hm, fleißiges Kerlchen. Noch nicht lange dabei und schon bei allen einschleimen.
AI_Output(other, self, "PIR_1303_Gilbert_doSomething_Info_15_03"); // So würde ich das nicht nennen...
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_Info_14_04"); // Ist ja auch egal. Es gibt da tatsächlich etwas, dass du für mich tun könntest.
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_Info_14_05"); // Ist aber nicht ganz so einfach.
Info_ClearChoices(PIR_1303_Gilbert_doSomething);
Info_AddChoice(PIR_1303_Gilbert_doSomething, "Klingt nicht nach einer Aufgabe für mich...", PIR_1303_Gilbert_doSomething_betterNot);
Info_AddChoice(PIR_1303_Gilbert_doSomething, "Schieß los!", PIR_1303_Gilbert_doSomething_hellYeah);
};
func void PIR_1303_Gilbert_doSomething_betterNot()
{
AI_Output(other, self, "PIR_1303_Gilbert_doSomething_betterNot_15_01"); // Klingt nicht nach einer Aufgabe für mich...
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_betterNot_14_02"); // Schade. Naja, vielleicht der Nächste.
Info_ClearChoices(PIR_1303_Gilbert_doSomething);
};
func void PIR_1303_Gilbert_doSomething_hellYeah()
{
AI_Output(other, self, "PIR_1303_Gilbert_doSomething_hellYeah_15_01"); // Schieß los!
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_hellYeah_14_02"); // Sehr schön.
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_hellYeah_14_03"); // Vor ein paar Tagen hat doch tatsächlich die Stadtwache mich und ein paar andere in die Finger bekommen.
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_hellYeah_14_04"); // Das ist nichts, das wir nicht schon mehrfach erlebt hätten.
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_hellYeah_14_05"); // Aber dieses Mal überraschten sie uns. Mir haben sie meinen Lederbeutel und meinen guten Bogen abgenommen.
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_hellYeah_14_06"); // Gerüchteweise haben sie die Sachen in ein Lagerhaus im Hafen gebracht.
AI_Output(self, other, "PIR_1303_Gilbert_doSomething_hellYeah_14_07"); // Wenn du mir beides bringen könntest...
MIS_gilbertPocket = LOG_RUNNING;
Log_CreateTopic(TOPIC_gilbertPocket, LOG_MISSION);
Log_SetTopicStatus(TOPIC_gilbertPocket, LOG_RUNNING);
B_LogEntry(TOPIC_gilbertPocket, "Gilbert hat vor ein paar Tagen eine Begegnung mit der Stadtwache gemacht. Dabei wurden ihm sein Goldbeutel und sein Bogen abgenommen. Angeblich ist beides in einem Lagerhaus in der Stadt. Ich soll ihm seine Sachen bringen.");
Info_ClearChoices(PIR_1303_Gilbert_doSomething);
};
// **************************************************
instance PIR_1303_Gilbert_gotYourStuff (C_INFO)
{
npc = PIR_1303_Gilbert;
condition = PIR_1303_Gilbert_gotYourStuff_Condition;
information = PIR_1303_Gilbert_gotYourStuff_Info;
important = FALSE;
permanent = FALSE;
description = "Ich hab dein Zeug!";
};
func int PIR_1303_Gilbert_gotYourStuff_Condition()
{
if (((Npc_HasItems(hero, ItMi_Pocket_Gilbert) >= 1 && Npc_HasItems(hero, ItRw_Bow_Gilbert) >= 1) || (Npc_HasItems(hero, ItRw_Bow_Gilbert) >= 1 && usedGilbertPocket == TRUE && Npc_HasItems(hero, ItMi_Gold) >= 500 && Npc_HasItems(hero, ItMi_Silver_Nugget) >= 10)))
{
return TRUE;
};
};
func void PIR_1303_Gilbert_gotYourStuff_Info()
{
AI_Output(other, self, "PIR_1303_Gilbert_gotYourStuff_Info_15_01"); // Ich hab dein Zeug!
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_02"); // Sehr gut. Will ich wissen, wie du da ran gekommen bist?
AI_Output(other, self, "PIR_1303_Gilbert_gotYourStuff_Info_15_03"); // Wahrscheinlich nicht.
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_04"); // (lacht) Stimmt. Ist ja auch egal.
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_05"); // Der Bogen?
AI_Output(other, self, "PIR_1303_Gilbert_gotYourStuff_Info_15_06"); // Hier!
B_GiveInvItems(other, self, ItRw_Bow_Gilbert, 1);
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_07"); // Und der Beutel?
if (usedGilbertPocket == TRUE)
{
AI_Output(other, self, "PIR_1303_Gilbert_gotYourStuff_Info_15_08"); // Naja...
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_09"); // Hast du ihn aufgemacht? Schön, war ja nichts geheimnisvolles drin. Dann gib mir einfach das Zeug!
AI_Output(other, self, "PIR_1303_Gilbert_gotYourStuff_Info_15_10"); // Klar doch.
B_GiveInvItems(other, self, ItMi_Gold, 500);
B_GiveInvItems(other, self, ItMi_Silver_Nugget, 10);
}
else
{
AI_Output(other, self, "PIR_1303_Gilbert_gotYourStuff_Info_15_11"); // Hier!
B_GiveInvItems(other, self, ItMi_Pocket_Gilbert, 1);
};
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_12"); // Ich danke dir!
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_13"); // Du kannst immerhin noch halbwegs unbeschadet einen Fuß in die Stadt setzen.
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_14"); // Mein Kopf würde sehr schnell auf einer Lanze vor der Stadt stecken.
AI_Output(self, other, "PIR_1303_Gilbert_gotYourStuff_Info_14_15"); // Hier, für deine Mühen
CreateInvItems(self, Itmi_Gold, 100);
B_GiveInvItems(self, other, Itmi_Gold, 100);
B_GivePlayerXP(250);
MIS_gilbertPocket = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_gilbertPocket, LOG_SUCCESS);
B_LogEntry(TOPIC_gilbertPocket, "Ich konnte Gilbert sein Zeug wiederbringen.");
};
// **************************************************
instance PIR_1303_Gilbert_trainMe (C_INFO)
{
npc = PIR_1303_Gilbert;

View file

@ -51,8 +51,8 @@ func void SLD_700_Jareck_youMerc_Info()
AI_Output(other, self, "SLD_700_Jareck_youMerc_Info_15_01"); // Bist du Jareck?
AI_Output(self, other, "SLD_700_Jareck_youMerc_Info_04_02"); // Kommt darauf an... Wer will das wissen?
AI_Output(other, self, "SLD_700_Jareck_youMerc_Info_15_03"); // Ich bin...
AI_Output(self, other, "SLD_700_Jareck_youMerc_Info_04_04"); // Ach wei<EFBFBD>t du, ist mir eigentlich auch egal.
AI_Output(self, other, "SLD_700_Jareck_youMerc_Info_04_05"); // Ja, ich bin Jareck, Anf<EFBFBD>hrer der S<>ldner auf diesem g<>tterverdammten Hof.
AI_Output(self, other, "SLD_700_Jareck_youMerc_Info_04_04"); // Ach weißt du, ist mir eigentlich auch egal.
AI_Output(self, other, "SLD_700_Jareck_youMerc_Info_04_05"); // Ja, ich bin Jareck, Anführer der Söldner auf diesem götterverdammten Hof.
AI_Output(self, other, "SLD_700_Jareck_youMerc_Info_04_06"); // Was willst du?
};
@ -81,22 +81,22 @@ func void SLD_700_Jareck_wannaJoin_Info()
AI_Output(other, self, "SLD_700_Jareck_wannaJoin_Info_15_01"); // Ich will bei euch mitmachen!
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_Info_04_02"); // Mitmachen, soso (lacht)
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_Info_04_03"); // Bei uns wird nicht einfach "mitgemacht", Kleiner.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_Info_04_04"); // Das Leben als S<EFBFBD>ldner ist harte Arbeit, gef<65>hrlich und nicht selten k<>rzer als du denkst.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_Info_04_05"); // Wei<EFBFBD>t du <20>berhaupt, worauf du dich einl<6E>sst?
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_Info_04_04"); // Das Leben als Söldner ist harte Arbeit, gefährlich und nicht selten kürzer als du denkst.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_Info_04_05"); // Weißt du überhaupt, worauf du dich einlässt?
Info_ClearChoices(SLD_700_Jareck_wannaJoin);
Info_AddChoice(SLD_700_Jareck_wannaJoin, "Ich dachte, S<EFBFBD>ldner sitzen den ganzen Tag am Lagerfeuer und singen Liedchen.", SLD_700_Jareck_wannaJoin_thoughtCampfire);
Info_AddChoice(SLD_700_Jareck_wannaJoin, "Ich dachte, Söldner sitzen den ganzen Tag am Lagerfeuer und singen Liedchen.", SLD_700_Jareck_wannaJoin_thoughtCampfire);
Info_AddChoice(SLD_700_Jareck_wannaJoin, "Ich dachte, ihr schaukelt den ganzen Tag eure Eier.", SLD_700_Jareck_wannaJoin_thougtDanglingEggs);
Info_AddChoice(SLD_700_Jareck_wannaJoin, "Erst dachte ich an strahlende R<EFBFBD>stungen, aber jetzt sehe ich, dass ihr doch ziemlich cool seid.", SLD_700_Jareck_wannaJoin_thoughtShinyClothes);
Info_AddChoice(SLD_700_Jareck_wannaJoin, "Erst dachte ich an strahlende Rüstungen, aber jetzt sehe ich, dass ihr doch ziemlich cool seid.", SLD_700_Jareck_wannaJoin_thoughtShinyClothes);
};
func void SLD_700_Jareck_wannaJoin_thoughtCampfire()
{
AI_Output(other, self, "SLD_700_Jareck_wannaJoin_thoughtCampfire_15_01"); // Ich dachte, S<EFBFBD>ldner sitzen den ganzen Tag am Lagerfeuer und singen Liedchen.
AI_Output(other, self, "SLD_700_Jareck_wannaJoin_thoughtCampfire_15_01"); // Ich dachte, Söldner sitzen den ganzen Tag am Lagerfeuer und singen Liedchen.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtCampfire_04_02"); // Sag mal, willst du mich verarschen?
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtCampfire_04_03"); // So einen Kuschelkurs kannst du vielleicht bei der Stadtwache erwarten.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtCampfire_04_04"); // Aber nicht hier bei uns! Vergiss es.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtCampfire_04_05"); // So einer wie du wird niemals S<EFBFBD>ldner!
B_LogEntry(TOPIC_newLife, "Die Aufnahme bei den S<EFBFBD>ldnern habe ich wohl verbockt. Na gut, dann werde ich wohl wo anders anheuern m<>ssen.");
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtCampfire_04_05"); // So einer wie du wird niemals Söldner!
B_LogEntry(TOPIC_newLife, "Die Aufnahme bei den Söldnern habe ich wohl verbockt. Na gut, dann werde ich wohl wo anders anheuern müssen.");
jareckStressedOut = TRUE;
Info_ClearChoices(SLD_700_Jareck_wannaJoin);
};
@ -104,23 +104,23 @@ func void SLD_700_Jareck_wannaJoin_thoughtCampfire()
func void SLD_700_Jareck_wannaJoin_thougtDanglingEggs()
{
AI_Output(other, self, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_15_01"); // Ich dachte, ihr schaukelt den ganzen Tag eure Eier.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_02"); // (lacht) Haha, das ist k<EFBFBD>stlich.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_03"); // Normalerweise w<EFBFBD>rde man so etwas beim B<>rgermeister und seinen 'Mitarbeitern' erwarten.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_02"); // (lacht) Haha, das ist köstlich.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_03"); // Normalerweise würde man so etwas beim Bürgermeister und seinen 'Mitarbeitern' erwarten.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_04"); // Aber...
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_05"); // Naja, ein wenig sieht es schon so aus, da hast du recht.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_06"); // Gut, wenn es dir ernst ist, f<EFBFBD>hre einen Auftrag f<>r mich aus und du bist dabei.
B_LogEntry(TOPIC_newLife, "Jareck, der Anf<EFBFBD>hrer der S<>ldner scheint mir nicht abgeneigt zu sein. Ich soll f<>r ihn arbeiten, dann nimmt er mich vielleicht bei den S<>ldnern auf.");
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thougtDanglingEggs_04_06"); // Gut, wenn es dir ernst ist, führe einen Auftrag für mich aus und du bist dabei.
B_LogEntry(TOPIC_newLife, "Jareck, der Anführer der Söldner scheint mir nicht abgeneigt zu sein. Ich soll für ihn arbeiten, dann nimmt er mich vielleicht bei den Söldnern auf.");
Info_ClearChoices(SLD_700_Jareck_wannaJoin);
};
func void SLD_700_Jareck_wannaJoin_thoughtShinyClothes()
{
AI_Output(other, self, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_15_01"); // Erst dachte ich an strahlende R<EFBFBD>stungen, aber jetzt sehe ich, dass ihr doch ziemlich cool seid.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_02"); // Hey, meine R<EFBFBD>stung ist doch...
AI_Output(other, self, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_15_01"); // Erst dachte ich an strahlende Rüstungen, aber jetzt sehe ich, dass ihr doch ziemlich cool seid.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_02"); // Hey, meine Rüstung ist doch...
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_03"); // Ach, schon gut. (grinst)
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_04"); // Du hast Recht. Die R<EFBFBD>stung bleibt nicht lange sauber. Das hei<65>t aber nichts, denn nur eine schmutzige R<>stung ist eine gebraucht R<>stung.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_05"); // Dein Humor gef<EFBFBD>llt mir. Arbeite ein wenig f<>r mich, dann sehen wir weiter.
B_LogEntry(TOPIC_newLife, "Jareck, der Anf<EFBFBD>hrer der S<>ldner scheint mir nicht abgeneigt zu sein. Ich soll f<>r ihn arbeiten, dann nimmt er mich vielleicht bei den S<>ldnern auf.");
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_04"); // Du hast Recht. Die Rüstung bleibt nicht lange sauber. Das heißt aber nichts, denn nur eine schmutzige Rüstung ist eine gebrauchte Rüstung.
AI_Output(self, other, "SLD_700_Jareck_wannaJoin_thoughtShinyClothes_04_05"); // Dein Humor gefällt mir. Arbeite ein wenig für mich, dann sehen wir weiter.
B_LogEntry(TOPIC_newLife, "Jareck, der Anführer der Söldner scheint mir nicht abgeneigt zu sein. Ich soll für ihn arbeiten, dann nimmt er mich vielleicht bei den Söldnern auf.");
Info_ClearChoices(SLD_700_Jareck_wannaJoin);
};
@ -133,7 +133,7 @@ instance SLD_700_Jareck_whatToDo (C_INFO)
information = SLD_700_Jareck_whatToDo_Info;
important = FALSE;
permanent = FALSE;
description = "Was soll ich f<EFBFBD>r dich tun?";
description = "Was soll ich für dich tun?";
};
func int SLD_700_Jareck_whatToDo_Condition()
@ -146,20 +146,20 @@ func int SLD_700_Jareck_whatToDo_Condition()
func void SLD_700_Jareck_whatToDo_Info()
{
AI_Output(other, self, "SLD_700_Jareck_whatToDo_Info_15_01"); // Was soll ich f<EFBFBD>r dich tun?
AI_Output(other, self, "SLD_700_Jareck_whatToDo_Info_15_01"); // Was soll ich für dich tun?
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_02"); // Die Sache ist etwas heikel.
AI_Output(other, self, "SLD_700_Jareck_whatToDo_Info_15_03"); // Heikel klingt spannender als einfach.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_04"); // Das ist die richtige Einstellung!
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_05"); // Gut, h<EFBFBD>r mir zu! Auch wenn das jetzt vielleicht merkw<6B>rdig klingt, als S<>ldner brauchst du nicht nur Muskeln, sondern auch K<>pfchen.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_06"); // Schau dich aber besser nicht zu sehr bei den Jungs um. Es gab eine Zeit, da war ich nicht sehr w<EFBFBD>hlerisch.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_05"); // Gut, hör mir zu! Auch wenn das jetzt vielleicht merkwürdig klingt, als Söldner brauchst du nicht nur Muskeln, sondern auch Köpfchen.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_06"); // Schau dich aber besser nicht zu sehr bei den Jungs um. Es gab eine Zeit, da war ich nicht sehr wählerisch.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_07"); // Wie auch immer. Wir haben in der Stadt einen Informanten.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_08"); // Er gibt uns Hinweise, wenn die Stadtwache <EFBFBD>berf<EFBFBD>lle, oder wie sie es nennen, "Befreiungsaktionen" plant.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_09"); // Er ist etwas <EFBFBD>berf<EFBFBD>llig mit seinem Bericht. Das hat aber nichts zu bedeuten, schlie<69>lich kann er nicht einfach zu uns marschieren.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_10"); // Und da kommst du ins Spiel. Geh in die Stadt und finde ihn. Bring mir den Bericht und dann werde ich mir <EFBFBD>berlegen, was ich mit dir anfange.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_08"); // Er gibt uns Hinweise, wenn die Stadtwache Überfälle, oder wie sie es nennen, "Befreiungsaktionen" plant.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_09"); // Er ist etwas überfällig mit seinem Bericht. Das hat aber nichts zu bedeuten, schließlich kann er nicht einfach zu uns marschieren.
AI_Output(self, other, "SLD_700_Jareck_whatToDo_Info_04_10"); // Und da kommst du ins Spiel. Geh in die Stadt und finde ihn. Bring mir den Bericht und dann werde ich mir überlegen, was ich mit dir anfange.
MIS_newInfos = LOG_RUNNING;
Log_CreateTopic(TOPIC_newInfos, LOG_MISSION);
Log_SetTopicStatus(TOPIC_newInfos, LOG_RUNNING);
B_LogEntry(TOPIC_newInfos, "Jareck hat mir eine Aufgabe gegeben, mit der ich K<EFBFBD>pfchen beweisen soll. Die S<>ldner haben einen Informanten bei der Stadtwache. Scheinbar konnte er noch nicht unbemerkt aus der Stadt verschwinden, da sein Bericht <EFBFBD>berf<EFBFBD>llig ist. Ich soll nun jenen Bericht f<>r Jareck abholen.");
B_LogEntry(TOPIC_newInfos, "Jareck hat mir eine Aufgabe gegeben, mit der ich Köpfchen beweisen soll. Die Söldner haben einen Informanten bei der Stadtwache. Scheinbar konnte er noch nicht unbemerkt aus der Stadt verschwinden, da sein Bericht überfällig ist. Ich soll nun jenen Bericht für Jareck abholen.");
};
// **************************************************
@ -185,13 +185,13 @@ func int SLD_700_Jareck_whyKopf_Condition()
func void SLD_700_Jareck_whyKopf_Info()
{
AI_Output(other, self, "SLD_700_Jareck_whyKopf_Info_15_01"); // Wer ist euer Informant?
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_02"); // Und genau da kommt die Sache mit dem K<EFBFBD>pfchen.
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_03"); // Ich kenne dich nicht. Zwar bist du mir sympathischer als der gr<EFBFBD><EFBFBD>te Teil der Menschen auf dieser Insel, aber trotzdem...
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_04"); // Ich werde dir nicht sagen, wer der Informant ist. Aber ich und die anderen S<EFBFBD>ldner werden dir Hinweise geben.
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_02"); // Und genau da kommt die Sache mit dem Köpfchen.
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_03"); // Ich kenne dich nicht. Zwar bist du mir sympathischer als der größte Teil der Menschen auf dieser Insel, aber trotzdem...
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_04"); // Ich werde dir nicht sagen, wer der Informant ist. Aber ich und die anderen Söldner werden dir Hinweise geben.
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_05"); // Wenn es dir wichtig ist, bei uns aufgenommen zu werden, dann denk nach und kombiniere klug.
AI_Output(self, other, "SLD_700_Jareck_whyKopf_Info_04_06"); // Wenn du gut bist, wirst du herausfinden, wer der Spitzel ist.
FF_Apply(countRoses);
B_LogEntry(TOPIC_newInfos, "Jareck wird mir allerdings nicht sagen, wer der Informant ist. Verst<EFBFBD>ndlich, schlie<69>lich bin ich neu und er wei<65> nicht, ob er mir vertrauen kann. Er und die anderen S<>ldner werden mir Hinweise geben, herausfinden, wer der Spitzel ist, muss ich selber.");
B_LogEntry(TOPIC_newInfos, "Jareck wird mir allerdings nicht sagen, wer der Informant ist. Verständlich, schließlich bin ich neu und er weiß nicht, ob er mir vertrauen kann. Er und die anderen Söldner werden mir Hinweise geben, herausfinden, wer der Spitzel ist, muss ich selber.");
};
// **************************************************
@ -217,7 +217,7 @@ func int SLD_700_Jareck_yourHint_Condition()
func void SLD_700_Jareck_yourHint_Info()
{
AI_Output(other, self, "SLD_700_Jareck_yourHint_Info_15_01"); // Welchen Hinweis kannst du mir geben?
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_02"); // Unser Informant ist bei der Stadtwache t<EFBFBD>tig, aber das war dir vermutlich klar.
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_02"); // Unser Informant ist bei der Stadtwache tätig, aber das war dir vermutlich klar.
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_03"); // Er bekleidet keine sehr hohe Position, bekommt aber doch vieles mit, was geplant ist.
var int s; s = SB_New();
hintcounter += 1;
@ -228,8 +228,8 @@ func void SLD_700_Jareck_yourHint_Info()
SB_Destroy();
B_LogEntry(TOPIC_newInfos, "Jareck hab mir den Hinweis, dass der Informant keine hohe Position bekleidet, aber trotzdem vieles mitbekommt.");
AI_Output(other, self, "SLD_700_Jareck_yourHint_Info_15_04"); // Das ist ja irgendwie... nichtssagend.
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_05"); // Erst in der F<EFBFBD>lle erschlei<65>en sich die Informationen.
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_06"); // Geh und sprich mit den anderen S<EFBFBD>ldnern. Sie werden dir weitere Hinweise geben.
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_05"); // Erst in der Fälle erschließen sich die Informationen.
AI_Output(self, other, "SLD_700_Jareck_yourHint_Info_04_06"); // Geh und sprich mit den anderen Söldnern. Sie werden dir weitere Hinweise geben.
};
// **************************************************
@ -255,7 +255,7 @@ func int SLD_700_Jareck_canIJoin_Condition()
func void SLD_700_Jareck_canIJoin_Info()
{
AI_Output(other, self, "SLD_700_Jareck_canIJoin_Info_15_01"); // Kann ich jetzt bei euch mitmachen?
AI_Output(self, other, "SLD_700_Jareck_canIJoin_Info_04_02"); // Hab ich mich unklar ausgedr<EFBFBD>ckt?
AI_Output(self, other, "SLD_700_Jareck_canIJoin_Info_04_02"); // Hab ich mich unklar ausgedrückt?
AI_Output(self, other, "SLD_700_Jareck_canIJoin_Info_04_03"); // Vergiss es!
AI_Output(self, other, "SLD_700_Jareck_canIJoin_Info_04_04"); // Geh und setz dich zu den anderen Bauern ans Lagerfeuer, da kannst du deine Liedchen singen!
};
@ -286,16 +286,16 @@ func void SLD_700_Jareck_youFailed_Info()
FF_Remove(countRoses);
AI_Output(self, other, "SLD_700_Jareck_youFailed_Info_04_03"); // Genau, Du! DU hast es vermasselt! Unser Informant musste aus der Stadt fliehen.
AI_Output(other, self, "SLD_700_Jareck_youFailed_Info_15_04"); // Aber...
AI_Output(self, other, "SLD_700_Jareck_youFailed_Info_04_05"); // Kein Aber! Du wirst garantiert kein Mitglied der S<EFBFBD>ldner!
AI_Output(self, other, "SLD_700_Jareck_youFailed_Info_04_06"); // Nur <EFBFBD>ber meine Leiche!
AI_Output(self, other, "SLD_700_Jareck_youFailed_Info_04_05"); // Kein Aber! Du wirst garantiert kein Mitglied der Söldner!
AI_Output(self, other, "SLD_700_Jareck_youFailed_Info_04_06"); // Nur über meine Leiche!
Info_ClearChoices(SLD_700_Jareck_youFailed);
Info_AddChoice(SLD_700_Jareck_youFailed, "Das l<EFBFBD>sst sich einrichten...", SLD_700_Jareck_youFailed_gotIt);
Info_AddChoice(SLD_700_Jareck_youFailed, "Das lässt sich einrichten...", SLD_700_Jareck_youFailed_gotIt);
Info_AddChoice(SLD_700_Jareck_youFailed, "(Nichts sagen)", SLD_700_Jareck_youFailed_sayNothing);
};
func void SLD_700_Jareck_youFailed_gotIt()
{
AI_Output(other, self, "SLD_700_Jareck_youFailed_gotIt_15_01"); // Das l<EFBFBD>sst sich einrichten...
AI_Output(other, self, "SLD_700_Jareck_youFailed_gotIt_15_01"); // Das lässt sich einrichten...
AI_Output(self, other, "SLD_700_Jareck_youFailed_gotIt_04_02"); // Ach, auch noch frech werden?
AI_Output(self, other, "SLD_700_Jareck_youFailed_gotIt_04_03"); // Na, warte Freundchen...
B_Attack (self, other, AR_KILL, 0);
@ -333,15 +333,15 @@ func void SLD_700_Jareck_gotInfos_Info()
AI_Output(other, self, "SLD_700_Jareck_gotInfos_Info_15_01"); // Ich bringe Infos von Marco!
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_02"); // Sehr gut. Du hast unseren Informanten also gefunden.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_03"); // Du scheinst was zu taugen... Was sagt er?
AI_Output(other, self, "SLD_700_Jareck_gotInfos_Info_15_04"); // Ihr sollt euch vorbereiten! Die Stadtwache r<EFBFBD>stet auf und zwar gewaltig. Deswegen konnte er auch nicht aus der Stadt weg.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_05"); // Und wof<EFBFBD>r r<>sten sie auf?
AI_Output(other, self, "SLD_700_Jareck_gotInfos_Info_15_04"); // Ihr sollt euch vorbereiten! Die Stadtwache rüstet auf und zwar gewaltig. Deswegen konnte er auch nicht aus der Stadt weg.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_05"); // Und wofür rüsten sie auf?
AI_Output(other, self, "SLD_700_Jareck_gotInfos_Info_15_06"); // Das konnte er mir nicht sagen. Scheinbar ist er nicht in alles eingeweiht.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_07"); // Nat<EFBFBD>rlich nicht... W<>re ja auch zu sch<63>n, einen der hochrangigen Speichellecker als Spitzel zu haben.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_07"); // Natürlich nicht... Wäre ja auch zu schön, einen der hochrangigen Speichellecker als Spitzel zu haben.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_08"); // Aber gut. Was immer die Stadtwache plant. Wir werden vorbereitet sein.
AI_Output(self, other, "SLD_700_Jareck_gotInfos_Info_04_09"); // Ich danke dir! Jetzt kann ich wenigstens etwas ruhiger schlafen.
MIS_newInfos = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_newInfos, LOG_SUCCESS);
B_LogEntry(TOPIC_newInfos, "Ich habe Jareck Marcos Informationen <EFBFBD>berbracht. Er sagt, was immer die Stadtwache plant, die S<>ldner sind vorbereitet. Na, da bin ich ja mal gespannt...");
B_LogEntry(TOPIC_newInfos, "Ich habe Jareck Marcos Informationen überbracht. Er sagt, was immer die Stadtwache plant, die Söldner sind vorbereitet. Na, da bin ich ja mal gespannt...");
B_GivePlayerXP(350);
};
@ -368,21 +368,21 @@ func int SLD_700_Jareck_wannaBecomeSld_Condition()
func void SLD_700_Jareck_wannaBecomeSld_Info()
{
AI_Output(other, self, "SLD_700_Jareck_wannaBecomeSld_Info_15_01"); // Kann ich euch jetzt beitreten?
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_02"); // Lass mich <EFBFBD>berlegen.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_03"); // Du hast f<EFBFBD>r uns die Infos besorgt. Das bringt uns schonmal ein St<53>ck weiter.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_02"); // Lass mich überlegen.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_03"); // Du hast für uns die Infos besorgt. Das bringt uns schonmal ein Stück weiter.
if (MIS_pestControl == LOG_SUCCESS)
{
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_04"); // Und bei Rodar warst du auch schon.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_05"); // Seine Aufgabe war vielleicht einfach, aber du hast daf<EFBFBD>r gesorgt, dass du in seinen Augen wichtig bist.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_05"); // Seine Aufgabe war vielleicht einfach, aber du hast dafür gesorgt, dass du in seinen Augen wichtig bist.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_06"); // Zumindest wichtiger als ein paar der Jungs.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_07"); // Und immerhin hast du alle Viecher get<EFBFBD>tet. Das ist sehr gut.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_07"); // Und immerhin hast du alle Viecher getötet. Das ist sehr gut.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_08"); // Ja, wenn du willst, nehme ich dich bei uns auf!
canBecomeSld = TRUE;
}
else if (MIS_pestControl == LOG_RUNNING)
{
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_09"); // Und bei Rodar warst du auch schon.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_10"); // Aber ich habe noch nichts von ihm geh<EFBFBD>rt.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_10"); // Aber ich habe noch nichts von ihm gehört.
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_11"); // Hast du seine Aufgabe schon erledigt?
AI_Output(other, self, "SLD_700_Jareck_wannaBecomeSld_Info_15_12"); // Naja...
AI_Output(self, other, "SLD_700_Jareck_wannaBecomeSld_Info_04_13"); // Dachte ich mir. Tu, was immer er von dir verlangt, dann werde ich dich aufnehmen!
@ -419,8 +419,8 @@ func void SLD_700_Jareck_becomeSld_Info()
{
AI_Output(other, self, "SLD_700_Jareck_becomeSld_Info_15_01"); // Ich will bei euch mitmachen!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_Info_04_02"); // Bist du dir sicher?
AI_Output(self, other, "SLD_700_Jareck_becomeSld_Info_04_03"); // Hast du einmal die R<EFBFBD>stung eines S<>ldners angelegt, wirst du sie nicht mehr so einfach los.
AI_Output(self, other, "SLD_700_Jareck_becomeSld_Info_04_04"); // Diese Entscheidung will gut <EFBFBD>berlegt sein!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_Info_04_03"); // Hast du einmal die Rüstung eines Söldners angelegt, wirst du sie nicht mehr so einfach los.
AI_Output(self, other, "SLD_700_Jareck_becomeSld_Info_04_04"); // Diese Entscheidung will gut überlegt sein!
Info_ClearChoices(SLD_700_Jareck_becomeSld);
Info_AddChoice(SLD_700_Jareck_becomeSld, "Nein, ich brauche noch Bedenkzeit!", SLD_700_Jareck_becomeSld_notReady);
Info_AddChoice(SLD_700_Jareck_becomeSld, "Ja, ich bin mir sicher!", SLD_700_Jareck_becomeSld_yesSure);
@ -429,23 +429,23 @@ func void SLD_700_Jareck_becomeSld_Info()
func void SLD_700_Jareck_becomeSld_notReady()
{
AI_Output(other, self, "SLD_700_Jareck_becomeSld_notReady_15_01"); // Nein, ich brauche noch Bedenkzeit!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_notReady_04_02"); // Gut. Wenn du es dir <EFBFBD>berlegt hast: Du wei<65>t, wo du mich findest!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_notReady_04_02"); // Gut. Wenn du es dir überlegt hast: Du weißt, wo du mich findest!
Info_ClearChoices(SLD_700_Jareck_becomeSld);
};
func void SLD_700_Jareck_becomeSld_yesSure()
{
AI_Output(other, self, "SLD_700_Jareck_becomeSld_yesSure_15_01"); // Ja, ich bin mir sicher!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_02"); // Dann trage diese R<EFBFBD>stung mit Stolz!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_02"); // Dann trage diese Rüstung mit Stolz!
CreateInvItems(self, ItAr_Sld_L, 1);
B_GiveInvItems(self, other, ItAr_Sld_L, 1);
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_03"); // Lege sie an und vor allem: Mach uns keine Schande!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_04"); // Aber sei vorsichtig: Auch wenn dich niemand offen angreifen w<EFBFBD>rde, wenn du die R<>stung tr<74>gst, wird die Stadtwache dir immer misstrauen.
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_05"); // Genauso die Magier aus dem Kloster. Sag hinterher nicht, ich h<EFBFBD>tte dich nicht gewarnt! (lacht)
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_06"); // Wie auch immer. Willkommen, S<EFBFBD>ldner!
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_04"); // Aber sei vorsichtig: Auch wenn dich niemand offen angreifen würde, wenn du die Rüstung trägst, wird die Stadtwache dir immer misstrauen.
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_05"); // Genauso die Magier aus dem Kloster. Sag hinterher nicht, ich hätte dich nicht gewarnt! (lacht)
AI_Output(self, other, "SLD_700_Jareck_becomeSld_yesSure_04_06"); // Wie auch immer. Willkommen, Söldner!
MIS_newLife = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_newLife, LOG_SUCCESS);
B_LogEntry(TOPIC_newLife, "Ich bin jetzt S<EFBFBD>ldner. Was auch immer mir diese Zukunft bringen wird...");
B_LogEntry(TOPIC_newLife, "Ich bin jetzt Söldner. Was auch immer mir diese Zukunft bringen wird...");
B_GivePlayerXP(XP_becomeMiliz);
kapitel = 2;
B_Kapitelwechsel(2, MAHLENDUR_ZEN);
@ -464,7 +464,7 @@ instance SLD_700_Jareck_findFriends (C_INFO)
information = SLD_700_Jareck_findFriends_Info;
important = FALSE;
permanent = FALSE;
description = "Du als Anf<EFBFBD>hrer der S<>ldner...";
description = "Du als Anführer der Söldner...";
};
func int SLD_700_Jareck_findFriends_Condition()
@ -477,8 +477,8 @@ func int SLD_700_Jareck_findFriends_Condition()
func void SLD_700_Jareck_findFriends_Info()
{
AI_Output(other, self, "SLD_700_Jareck_findFriends_Info_15_01"); // Du als Anf<EFBFBD>hrer der S<>ldner...
AI_Output(self, other, "SLD_700_Jareck_findFriends_Info_04_02"); // (grummelt) Was willst du? Willst du doch lieber f<EFBFBD>r mich arbeiten als f<>r die Fischer bei euch? (lacht)
AI_Output(other, self, "SLD_700_Jareck_findFriends_Info_15_01"); // Du als Anführer der Söldner...
AI_Output(self, other, "SLD_700_Jareck_findFriends_Info_04_02"); // (grummelt) Was willst du? Willst du doch lieber für mich arbeiten als für die Fischer bei euch? (lacht)
AI_Output(other, self, "SLD_700_Jareck_findFriends_Info_15_03"); // Nein, eher ganz im Gegenteil.
AI_Output(self, other, "SLD_700_Jareck_findFriends_Info_04_04"); // (erstaunt) Im Gegenteil?
AI_Output(self, other, "SLD_700_Jareck_findFriends_Info_04_05"); // Jetzt bin ich mal gespannt...
@ -493,7 +493,7 @@ instance SLD_700_Jareck_findFriends2 (C_INFO)
information = SLD_700_Jareck_findFriends2_Info;
important = FALSE;
permanent = FALSE;
description = "Wir brauchen M<EFBFBD>nner!";
description = "Wir brauchen Männer!";
};
func int SLD_700_Jareck_findFriends2_Condition()
@ -506,13 +506,13 @@ func int SLD_700_Jareck_findFriends2_Condition()
func void SLD_700_Jareck_findFriends2_Info()
{
AI_Output(other, self, "SLD_700_Jareck_findFriends2_Info_15_01"); // Wir brauchen M<EFBFBD>nner!
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_02"); // Pah, die brauche ich auch! Die verdammten Stadtwachen r<EFBFBD>cken immer n<>her.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_03"); // Und wof<EFBFBD>r brauchst du M<>nner?
AI_Output(other, self, "SLD_700_Jareck_findFriends2_Info_15_01"); // Wir brauchen Männer!
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_02"); // Pah, die brauche ich auch! Die verdammten Stadtwachen rücken immer näher.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_03"); // Und wofür brauchst du Männer?
AI_Output(other, self, "SLD_700_Jareck_findFriends2_Info_15_04"); // Wir haben das gleiche Problem. Auch uns kommt die Stadtwache langsam zu nahe.
AI_Output(other, self, "SLD_700_Jareck_findFriends2_Info_15_05"); // Wir sind allerdings zu wenige, um uns wirksam zu verteidigen.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_06"); // Scheint als st<EFBFBD>nden wir vor demselben Berg.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_07"); // Ich kann wirklich niemanden einfach so er<EFBFBD>brigen.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_06"); // Scheint als stünden wir vor demselben Berg.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_07"); // Ich kann wirklich niemanden einfach so erübrigen.
AI_Output(self, other, "SLD_700_Jareck_findFriends2_Info_04_08"); // Mach mir einen guten Vorschlag, wie das funktionieren soll und wir sehen weiter!
};
@ -525,7 +525,7 @@ instance SLD_700_Jareck_newFriends (C_INFO)
information = SLD_700_Jareck_newFriends_Info;
important = FALSE;
permanent = FALSE;
description = "Wir k<EFBFBD>nnten gemeinsame Sache machen.";
description = "Wir könnten gemeinsame Sache machen.";
};
func int SLD_700_Jareck_newFriends_Condition()
@ -538,23 +538,23 @@ func int SLD_700_Jareck_newFriends_Condition()
func void SLD_700_Jareck_newFriends_Info()
{
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_01"); // Wir k<EFBFBD>nnten gemeinsame Sache machen.
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_01"); // Wir könnten gemeinsame Sache machen.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_02"); // Was meinst du?
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_03"); // Es reicht langsam. Wir m<EFBFBD>ssen in die Offensive gehen!
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_03"); // Es reicht langsam. Wir müssen in die Offensive gehen!
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_04"); // (erschrocken) In die Offensive? Was meinst du?
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_05"); // Wir werden immer offener bedroht. Von uns Piraten kann keiner mehr einen Fu<EFBFBD> in die Stadt setzen, ohne ein Schwert am Hals zu haben.
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_06"); // Ich sch<EFBFBD>tze mal, bei euch sieht das nicht anders aus.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_07"); // Das stimmt wohl. Unsere R<EFBFBD>stung erkennen die auf hunderte Meter.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_08"); // W<EFBFBD>re nicht das erste Mal, dass ein Bolzen uns nur knapp verfehlt, obwohl wir noch weit von der Stadt weg sind.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_09"); // Was schl<EFBFBD>gst du also vor?
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_10"); // Du verst<EFBFBD>rkst unsere Mannschaft mit einigen von deinen Jungs. Und dann machen wir N<>gel mit K<>pfen!
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_05"); // Wir werden immer offener bedroht. Von uns Piraten kann keiner mehr einen Fuß in die Stadt setzen, ohne ein Schwert am Hals zu haben.
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_06"); // Ich schätze mal, bei euch sieht das nicht anders aus.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_07"); // Das stimmt wohl. Unsere Rüstung erkennen die auf hunderte Meter.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_08"); // Wäre nicht das erste Mal, dass ein Bolzen uns nur knapp verfehlt, obwohl wir noch weit von der Stadt weg sind.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_09"); // Was schlägst du also vor?
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_10"); // Du verstärkst unsere Mannschaft mit einigen von deinen Jungs. Und dann machen wir Nägel mit Köpfen!
AI_Output(other, self, "SLD_700_Jareck_newFriends_Info_15_11"); // Wir greifen die Stadtwache an.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_12"); // Ha, du bist ein Saukerl!
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_13"); // Okay, ich werde meine besten M<EFBFBD>nner vorbereiten.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_14"); // Trotzdem m<EFBFBD>chte ich mir sicher sein.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_15"); // Schick mir deinen Kommandanten vorbei. Irgendwie muss ich mir sicher sein, dass ihr mir nicht in den R<EFBFBD>cken fallt.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_16"); // Au<EFBFBD>erdem wollte ich mit ihm schon immer mal ein Bier trinken.
B_LogEntry(TOPIC_findFriends, "Ich habe zumindest einen kleinen Erfolg erzielt. Jareck, der Anf<EFBFBD>hrer der S<>ldner ist bereit uns zu unterst<73>tzen, daf<61>r musste ich versprechen, dass wir die Stadtwache angreifen werden. Jareck m<>chte sich mit Henry treffen f<>r ein pers<72>nliches Gespr<70>ch. Ich sollte ihn darauf vorbereiten...");
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_13"); // Okay, ich werde meine besten Männer vorbereiten.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_14"); // Trotzdem möchte ich mir sicher sein.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_15"); // Schick mir deinen Kommandanten vorbei. Irgendwie muss ich mir sicher sein, dass ihr mir nicht in den Rücken fallt.
AI_Output(self, other, "SLD_700_Jareck_newFriends_Info_04_16"); // Außerdem wollte ich mit ihm schon immer mal ein Bier trinken.
B_LogEntry(TOPIC_findFriends, "Ich habe zumindest einen kleinen Erfolg erzielt. Jareck, der Anführer der Söldner ist bereit uns zu unterstützen, dafür musste ich versprechen, dass wir die Stadtwache angreifen werden. Jareck möchte sich mit Henry treffen für ein persönliches Gespräch. Ich sollte ihn darauf vorbereiten...");
};
// **************************************************
@ -580,14 +580,14 @@ func int SLD_700_Jareck_whatNow_Condition()
func void SLD_700_Jareck_whatNow_Info()
{
AI_Output(other, self, "SLD_700_Jareck_whatNow_Info_15_01"); // Was machen wir jetzt?
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_02"); // Wir? Ich bleibe hier. DU machst dich n<EFBFBD>tzlich.
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_03"); // Sieh dich mal auf den anderen Bauernh<EFBFBD>fen um.
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_04"); // Vielleicht gibt es da ja was f<EFBFBD>r dich zu tun.
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_02"); // Wir? Ich bleibe hier. DU machst dich nützlich.
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_03"); // Sieh dich mal auf den anderen Bauernhöfen um.
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_04"); // Vielleicht gibt es da ja was für dich zu tun.
AI_Output(self, other, "SLD_700_Jareck_whatNow_Info_04_05"); // Hier ist ja alles ruhig.
MIS_otherFarms = LOG_RUNNING;
Log_CreateTopic(TOPIC_otherFarms, LOG_MISSION);
Log_SetTopicStatus(TOPIC_otherFarms, LOG_RUNNING);
B_LogEntry(TOPIC_otherFarms, "Jareck hat mich losgeschickt, auf den anderen H<EFBFBD>fen nach dem Rechten zu sehen. Mal schauen, was es zu tun gibt.");
B_LogEntry(TOPIC_otherFarms, "Jareck hat mich losgeschickt, auf den anderen Höfen nach dem Rechten zu sehen. Mal schauen, was es zu tun gibt.");
Wld_InsertNpc(MIL_345_Miliz, "NW_FARM2_TO_TAVERN_RANGERBANDITS_01");
Wld_InsertNpc(MIL_346_Miliz, "NW_FARM2_TO_TAVERN_RANGERBANDITS_01");
Wld_InsertNpc(MIL_347_Miliz, "NW_FARM2_TO_TAVERN_RANGERBANDITS_01");
@ -602,7 +602,7 @@ instance SLD_700_Jareck_whichFarms (C_INFO)
information = SLD_700_Jareck_whichFarms_Info;
important = FALSE;
permanent = FALSE;
description = "Welche H<EFBFBD>fe geh<65>ren zum Gro<72>bauern?";
description = "Welche Höfe gehören zum Großbauern?";
};
func int SLD_700_Jareck_whichFarms_Condition()
@ -615,14 +615,13 @@ func int SLD_700_Jareck_whichFarms_Condition()
func void SLD_700_Jareck_whichFarms_Info()
{
AI_Output(other, self, "SLD_700_Jareck_whichFarms_Info_15_01"); // Welche H<EFBFBD>fe geh<65>ren zum Gro<72>bauern?
AI_Output(other, self, "SLD_700_Jareck_whichFarms_Info_15_01"); // Welche Höfe gehören zum Großbauern?
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_02"); // Larias Hof kennst du ja schon.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_03"); // Der Hof in der N<>he des Passes zur alten Minenkolonie hat sich auch angeschlossen.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_04"); // Er wird von Lucz betrieben.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_05"); // Entweder l<>ufst du bis zur Taverne zur<75>ck und nimmst den Weg, oder du nimmst die Treppe in den Bergen hier vor dem Hof.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_06"); // Der dritte Hof liegt kurz vor der Stadt. Er geh<65>rt Simon.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_07"); // Simon hat sich uns zwar noch nicht offiziell uns angeschlossen, aber vielleicht erleichtert es ihm die Entscheidung, wenn du ihm unter die Arme greifst.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_08"); // Sprich mit ihnen. Sie haben bestimmt etwas f<>r dich zu tun.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_03"); // Der Hof in der Nähe des Passes zur alten Minenkolonie hat sich auch angeschlossen.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_04"); // Er wird von Lucz betrieben. Entweder läufst du bis zur Taverne zurück und nimmst den Weg, oder du nimmst die Treppe in den Bergen hier vor dem Hof.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_05"); // Der dritte Hof liegt kurz vor der Stadt. Er gehört Simon.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_06"); // Simon hat sich uns zwar noch nicht offiziell uns angeschlossen, aber vielleicht erleichtert es ihm die Entscheidung, wenn du ihm unter die Arme greifst.
AI_Output(self, other, "SLD_700_Jareck_whichFarms_Info_04_07"); // Sprich mit ihnen. Sie haben bestimmt etwas für dich zu tun.
};
// **************************************************
@ -649,14 +648,14 @@ func void SLD_700_Jareck_passCrawler_Info()
{
AI_Output(other, self, "SLD_700_Jareck_passCrawler_Info_15_01"); // Lucz hat ein Problem mit Crawlern.
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_02"); // Und?
AI_Output(other, self, "SLD_700_Jareck_passCrawler_Info_15_03"); // K<EFBFBD>nntest du nicht ein paar S<>ldner vorbeischicken?
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_04"); // Um Crawler zu t<EFBFBD>ten? Wei<65>t du...
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_05"); // Eigentlich w<EFBFBD>re das genau die richtige Aufgabe, um dich zu beweisen.
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_06"); // K<EFBFBD>mmer du dich doch darum.
AI_Output(other, self, "SLD_700_Jareck_passCrawler_Info_15_03"); // Könntest du nicht ein paar Söldner vorbeischicken?
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_04"); // Um Crawler zu töten? Weißt du...
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_05"); // Eigentlich wäre das genau die richtige Aufgabe, um dich zu beweisen.
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_06"); // Kümmer du dich doch darum.
AI_Output(other, self, "SLD_700_Jareck_passCrawler_Info_15_07"); // Aber...
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_08"); // Kein Aber! Habe ich mich in dir etwa get<EFBFBD>uscht?
AI_Output(self, other, "SLD_700_Jareck_passCrawler_Info_04_08"); // Kein Aber! Habe ich mich in dir etwa getäuscht?
AI_Output(other, self, "SLD_700_Jareck_passCrawler_Info_15_09"); // ...
B_LogEntry(TOPIC_otherFarms, "Jareck wird keine S<EFBFBD>ldner zum Pass schicken. Er sagt, das sei die richtige Aufgabe um mich zu beweisen.");
B_LogEntry(TOPIC_otherFarms, "Jareck wird keine Söldner zum Pass schicken. Er sagt, das sei die richtige Aufgabe um mich zu beweisen.");
};
// **************************************************
@ -682,17 +681,17 @@ func int SLD_700_Jareck_gottaWarnYou_Condition()
func void SLD_700_Jareck_gottaWarnYou_Info()
{
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_01"); // Ich komme von Laria.
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_02"); // Lange nichts mehr von ihr geh<EFBFBD>rt. Was gibt es?
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_03"); // Kennst du ihre Kr<EFBFBD>uterhexe?
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_04"); // Camilla? Ja, sie hat uns schon h<EFBFBD>ufiger mit wertvollen Tr<54>nken versorgt.
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_02"); // Lange nichts mehr von ihr gehört. Was gibt es?
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_03"); // Kennst du ihre Kräuterhexe?
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_04"); // Camilla? Ja, sie hat uns schon häufiger mit wertvollen Tränken versorgt.
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_05"); // Was ist mit ihr?
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_06"); // Sie wurde in einen Zombie verwandelt. Ich habe bei ihr einen Trank gefunden und vermute, er ist daf<EFBFBD>r verantwortlich.
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_06"); // Sie wurde in einen Zombie verwandelt. Ich habe bei ihr einen Trank gefunden und vermute, er ist dafür verantwortlich.
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_07"); // Und was ist jetzt mit dem Camilla-Zombie?
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_08"); // Ich musste sie leider t<EFBFBD>ten.
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_08"); // Ich musste sie leider töten.
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_09"); // Das ist traurig. Aber du stehst noch hier. Wenigstens ein kleiner Trost.
AI_Output(other, self, "SLD_700_Jareck_gottaWarnYou_Info_15_10"); // Laria bittet darum, dass du die anderen warnst.
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_11"); // Nat<EFBFBD>rlich. Ich werde es weitergeben.
B_LogEntry(TOPIC_otherFarms, "Ich habe die Warnung an Jareck weitergegeben. Er wird die S<EFBFBD>ldner und Bauern informieren.");
AI_Output(self, other, "SLD_700_Jareck_gottaWarnYou_Info_04_11"); // Natürlich. Ich werde es weitergeben.
B_LogEntry(TOPIC_otherFarms, "Ich habe die Warnung an Jareck weitergegeben. Er wird die Söldner und Bauern informieren.");
B_GivePlayerXP(150);
};
@ -705,7 +704,7 @@ instance SLD_700_Jareck_newPots (C_INFO)
information = SLD_700_Jareck_newPots_Info;
important = FALSE;
permanent = FALSE;
description = "Brauchen wir jetzt einen neuen Lieferanten f<EFBFBD>r Tr<54>nke?";
description = "Brauchen wir jetzt einen neuen Lieferanten für Tränke?";
};
func int SLD_700_Jareck_newPots_Condition()
@ -718,15 +717,15 @@ func int SLD_700_Jareck_newPots_Condition()
func void SLD_700_Jareck_newPots_Info()
{
AI_Output(other, self, "SLD_700_Jareck_newPots_Info_15_01"); // Brauchen wir jetzt einen neuen Lieferanten f<EFBFBD>r Tr<54>nke?
AI_Output(other, self, "SLD_700_Jareck_newPots_Info_15_01"); // Brauchen wir jetzt einen neuen Lieferanten für Tränke?
AI_Output(self, other, "SLD_700_Jareck_newPots_Info_04_02"); // Wieso? Kennst du einen?
AI_Output(other, self, "SLD_700_Jareck_newPots_Info_15_03"); // Naja...
AI_Output(self, other, "SLD_700_Jareck_newPots_Info_04_04"); // Wenn du jemanden findest, der f<EFBFBD>r uns arbeiten will, gerne!
AI_Output(self, other, "SLD_700_Jareck_newPots_Info_04_05"); // Tr<EFBFBD>nke k<>nnen nie schaden.
AI_Output(self, other, "SLD_700_Jareck_newPots_Info_04_04"); // Wenn du jemanden findest, der für uns arbeiten will, gerne!
AI_Output(self, other, "SLD_700_Jareck_newPots_Info_04_05"); // Tränke können nie schaden.
MIS_newPots = LOG_RUNNING;
Log_CreateTopic(TOPIC_newPots, LOG_MISSION);
Log_SetTopicStatus(TOPIC_newPots, LOG_RUNNING);
B_LogEntry(TOPIC_newPots, "Jareck sagte, wenn ich jemanden finde, der Tr<EFBFBD>nke f<>r die S<>ldner herstellen will, soll ich ihn anheuern. Mal schauen, ob ich jemanden auftreiben kann.");
B_LogEntry(TOPIC_newPots, "Jareck sagte, wenn ich jemanden finde, der Tränke für die Söldner herstellen will, soll ich ihn anheuern. Mal schauen, ob ich jemanden auftreiben kann.");
};
// **************************************************
@ -753,13 +752,13 @@ func void SLD_700_Jareck_foundAlchemist_Info()
{
AI_Output(other, self, "SLD_700_Jareck_foundAlchemist_Info_15_01"); // Ich habe einen neuen Alchemisten.
AI_Output(self, other, "SLD_700_Jareck_foundAlchemist_Info_04_02"); // Sehr gut! Wer ist er?
AI_Output(other, self, "SLD_700_Jareck_foundAlchemist_Info_15_03"); // Sie! Ihr Name ist Fyneia und urspr<EFBFBD>nglich kommt sie aus der Stadt.
AI_Output(other, self, "SLD_700_Jareck_foundAlchemist_Info_15_04"); // Allerdings l<EFBFBD>uft ihr Laden wohl nicht so gut, also konnte ich sie <20>berreden, auf den Hof zu kommen.
AI_Output(self, other, "SLD_700_Jareck_foundAlchemist_Info_04_05"); // Das sind gute Neuigkeiten. Dann wird es demn<EFBFBD>chst etwas einfacher.
AI_Output(other, self, "SLD_700_Jareck_foundAlchemist_Info_15_03"); // Sie! Ihr Name ist Fyneia und ursprünglich kommt sie aus der Stadt.
AI_Output(other, self, "SLD_700_Jareck_foundAlchemist_Info_15_04"); // Allerdings läuft ihr Laden wohl nicht so gut, also konnte ich sie überreden, auf den Hof zu kommen.
AI_Output(self, other, "SLD_700_Jareck_foundAlchemist_Info_04_05"); // Das sind gute Neuigkeiten. Dann wird es demnächst etwas einfacher.
MIS_newPots = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_newPots, LOG_SUCCESS);
B_GivePlayerXP(250);
B_LogEntry(TOPIC_newPots, "Jareck wei<EFBFBD> Bescheid und ist froh, dass wir wieder eine Alchemistin haben.");
B_LogEntry(TOPIC_newPots, "Jareck weiß Bescheid und ist froh, dass wir wieder eine Alchemistin haben.");
};
// **************************************************
@ -771,7 +770,7 @@ instance SLD_700_Jareck_otherFarmsDone (C_INFO)
information = SLD_700_Jareck_otherFarmsDone_Info;
important = FALSE;
permanent = FALSE;
description = "Ich war auf den anderen H<EFBFBD>fen.";
description = "Ich war auf den anderen Höfen.";
};
func int SLD_700_Jareck_otherFarmsDone_Condition()
@ -784,12 +783,12 @@ func int SLD_700_Jareck_otherFarmsDone_Condition()
func void SLD_700_Jareck_otherFarmsDone_Info()
{
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_01"); // Ich war auf den anderen H<EFBFBD>fen.
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_01"); // Ich war auf den anderen Höfen.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_02"); // Richtig, wegen Laria warst du ja schon hier. Gute Arbeit!
if (Npc_KnowsInfo(hero, SLD_700_Jareck_passCrawler))
{
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_03"); // Was ist mit den Minecrawlern auf Lucz Feld?
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_04"); // Ich war am Pass und habe einige erledigt. Hoffentlich h<EFBFBD>lt das die restlichen davon ab, nochmal <20>rger zu machen.
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_04"); // Ich war am Pass und habe einige erledigt. Hoffentlich hält das die restlichen davon ab, nochmal Ärger zu machen.
}
else
{
@ -797,17 +796,17 @@ func void SLD_700_Jareck_otherFarmsDone_Info()
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_06"); // Er hatte Probleme mit Minecrawlern auf seinen Feldern.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_07"); // Hatte?
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_08"); // Ja, ich war am Pass und habe einige erledigt.
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_09"); // Hoffentlich h<EFBFBD>lt das den Rest davon ab, nochmal <20>rger zu machen.
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_09"); // Hoffentlich hält das den Rest davon ab, nochmal Ärger zu machen.
};
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_10"); // Sehr gut! Und wie sieht es bei Simon aus?
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_11"); // Ich konnte ihn <EFBFBD>berzeugen, sich uns anzuschlie<69>en.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_12"); // Wirklich? Das ist ja gro<EFBFBD>artig! Moment...
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_13"); // (misstrauisch) Was musstest du daf<EFBFBD>r tun?
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_14"); // Ich sollte einige Milizsoldaten t<EFBFBD>ten.
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_11"); // Ich konnte ihn überzeugen, sich uns anzuschließen.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_12"); // Wirklich? Das ist ja großartig! Moment...
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_13"); // (misstrauisch) Was musstest du dafür tun?
AI_Output(other, self, "SLD_700_Jareck_otherFarmsDone_Info_15_14"); // Ich sollte einige Milizsoldaten töten.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_15"); // Soso... Hoffentlich wird das kein Nachspiel haben.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_16"); // Wie auch immer. Jetzt unterstehen uns wenigstens die meisten H<EFBFBD>fe hier auf der Insel.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_17"); // Ich werde gleich einige S<EFBFBD>ldner zu ihm schicken. Bevor die Stadtwache Rache <20>bt. (lacht)
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_18"); // Gute Arbeit! Du machst dich wirklich bezahlt. Wie w<EFBFBD>rde man bei der Stadtwache sagen? Hier ist dein Sold!
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_16"); // Wie auch immer. Jetzt unterstehen uns wenigstens die meisten Höfe hier auf der Insel.
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_17"); // Ich werde gleich einige Söldner zu ihm schicken. Bevor die Stadtwache Rache übt. (lacht)
AI_Output(self, other, "SLD_700_Jareck_otherFarmsDone_Info_04_18"); // Gute Arbeit! Du machst dich wirklich bezahlt. Wie würde man bei der Stadtwache sagen? Hier ist dein Sold!
CreateInvItems(self, ItMi_Gold, 250);
B_GiveInvItems(self, other, ItMi_Gold, 250);
B_GivePlayerXP(400);
@ -825,7 +824,7 @@ instance SLD_700_Jareck_milVeng (C_INFO)
information = SLD_700_Jareck_milVeng_Info;
important = FALSE;
permanent = FALSE;
description = "Wo du gerade die Rache der Stadtwache erw<EFBFBD>hntest...";
description = "Wo du gerade die Rache der Stadtwache erwähntest...";
};
func int SLD_700_Jareck_milVeng_Condition()
@ -838,18 +837,18 @@ func int SLD_700_Jareck_milVeng_Condition()
func void SLD_700_Jareck_milVeng_Info()
{
AI_Output(other, self, "SLD_700_Jareck_milVeng_Info_15_01"); // Wo du gerade die Rache der Stadtwache erw<EFBFBD>hntest...
AI_Output(other, self, "SLD_700_Jareck_milVeng_Info_15_01"); // Wo du gerade die Rache der Stadtwache erwähntest...
AI_Output(self, other, "SLD_700_Jareck_milVeng_Info_04_02"); // Ja? Was ist mit denen?
AI_Output(other, self, "SLD_700_Jareck_milVeng_Info_15_03"); // Sollten wir nicht etwas dagegen unternehmen?
AI_Output(self, other, "SLD_700_Jareck_milVeng_Info_04_04"); // Und was denkst du, sollten wir tun? Etwa selbst angreifen?
AI_Output(other, self, "SLD_700_Jareck_milVeng_Info_15_05"); // Das w<EFBFBD>re doch mal eine Idee...
AI_Output(other, self, "SLD_700_Jareck_milVeng_Info_15_05"); // Das wäre doch mal eine Idee...
AI_Output(self, other, "SLD_700_Jareck_milVeng_Info_04_06"); // Und wie sollen wir das anstellen? Hast du etwa die Mauern vergessen?
AI_Output(other, self, "SLD_700_Jareck_milVeng_Info_15_07"); // Ich...
AI_Output(self, other, "SLD_700_Jareck_milVeng_Info_04_08"); // Machen wir es folgenderma<EFBFBD>en: Du <20>berlegst dir eine SINNVOLLE M<>glichkeit, die Stadt anzugreifen und wir sehen weiter.
AI_Output(self, other, "SLD_700_Jareck_milVeng_Info_04_08"); // Machen wir es folgendermaßen: Du überlegst dir eine SINNVOLLE Möglichkeit, die Stadt anzugreifen und wir sehen weiter.
MIS_prepBattleSLD = LOG_RUNNING;
Log_CreateTopic(TOPIC_prepBattleSLD, LOG_MISSION);
Log_SetTopicStatus(TOPIC_prepBattleSLD, LOG_RUNNING);
B_LogEntry(TOPIC_prepBattleSLD, "Ich soll mir eine sinnvolle M<EFBFBD>glichkeit <20>berlegen, die Stadt anzugreifen. Vielleicht werden wir das Problem dann schnell los.");
B_LogEntry(TOPIC_prepBattleSLD, "Ich soll mir eine sinnvolle Möglichkeit überlegen, die Stadt anzugreifen. Vielleicht werden wir das Problem dann schnell los.");
};
// **************************************************
@ -877,25 +876,25 @@ func void SLD_700_Jareck_someIdeas_Info()
AI_Output(other, self, "SLD_700_Jareck_someIdeas_Info_15_01"); // Ich habe mir Gedanken gemacht...
AI_Output(self, other, "SLD_700_Jareck_someIdeas_Info_04_02"); // Und?
Info_ClearChoices(SLD_700_Jareck_someIdeas);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Wir sollten <EFBFBD>ber das Nordtor angreifen.", SLD_700_Jareck_someIdeas_fromNorth);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Wie w<EFBFBD>re es mit dem Osttor?", SLD_700_Jareck_someIdeas_fromEast);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Wir sollten über das Nordtor angreifen.", SLD_700_Jareck_someIdeas_fromNorth);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Wie wäre es mit dem Osttor?", SLD_700_Jareck_someIdeas_fromEast);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Was ist mit dem Seeweg?", SLD_700_Jareck_someIdeas_fromSea);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Was w<EFBFBD>rde passieren, wenn wir <20>ber beide Tore gleichzeitig angreifen?", SLD_700_Jareck_someIdeas_bothSides);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Was würde passieren, wenn wir über beide Tore gleichzeitig angreifen?", SLD_700_Jareck_someIdeas_bothSides);
Info_AddChoice(SLD_700_Jareck_someIdeas, "Ich habe noch keine Idee...", SLD_700_Jareck_someIdeas_noIdea);
};
func void SLD_700_Jareck_someIdeas_fromNorth()
{
AI_Output(other, self, "SLD_700_Jareck_someIdeas_fromNorth_15_01"); // Wir sollten <EFBFBD>ber das Nordtor angreifen.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromNorth_04_02"); // Tja, das w<EFBFBD>re der direkte Weg zur Kaserne. Aber dann k<>men die Paladine aus der Oberstadt uns direkt hinterher.
AI_Output(other, self, "SLD_700_Jareck_someIdeas_fromNorth_15_01"); // Wir sollten über das Nordtor angreifen.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromNorth_04_02"); // Tja, das wäre der direkte Weg zur Kaserne. Aber dann kämen die Paladine aus der Oberstadt uns direkt hinterher.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromNorth_04_03"); // Klingt nicht unbedingt nach einem guten Plan, oder?
};
func void SLD_700_Jareck_someIdeas_fromEast()
{
AI_Output(other, self, "SLD_700_Jareck_someIdeas_fromEast_15_01"); // Wie w<EFBFBD>re es mit dem Osttor?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromEast_04_02"); // Wir k<EFBFBD>nnten so relativ schnell die Paladine ausschalten.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromEast_04_03"); // Aber bis dahin w<EFBFBD>re die ganze Stadtwache auf den Beinen. Der <20>berraschungseffekt w<>re dahin und ihr Anf<6E>hrer k<>nnte sich absetzen.
AI_Output(other, self, "SLD_700_Jareck_someIdeas_fromEast_15_01"); // Wie wäre es mit dem Osttor?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromEast_04_02"); // Wir könnten so relativ schnell die Paladine ausschalten.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromEast_04_03"); // Aber bis dahin wäre die ganze Stadtwache auf den Beinen. Der Überraschungseffekt wäre dahin und ihr Anführer könnte sich absetzen.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromEast_04_04"); // Ich denke, so werden wir es eher nicht machen.
};
@ -903,24 +902,24 @@ func void SLD_700_Jareck_someIdeas_fromSea()
{
AI_Output(other, self, "SLD_700_Jareck_someIdeas_fromSea_15_01"); // Was ist mit dem Seeweg?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_02"); // Du meinst, wir sollten mit Booten im Hafen einfallen?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_03"); // Die Idee w<EFBFBD>re prinzipiell nicht schlecht. Aber hast du die Kanonen gesehen?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_04"); // Wenn unsere Boote auch nur in die N<EFBFBD>he des Hafens kommen, w<>rden die uns abschie<69>en wie <20>bergro<72>e Wale.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_05"); // Au<EFBFBD>erdem m<>ssten wir so erst einmal durch das Hafenviertel. Warst du mal dort?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_06"); // Ich k<EFBFBD>nnte mir vorstellen, die Typen da unten machen uns mehr Probleme als die halbe Stadtwache.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_07"); // Klingt f<EFBFBD>r mich nicht sonderlich <20>berzeugend.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_03"); // Die Idee wäre prinzipiell nicht schlecht. Aber hast du die Kanonen gesehen?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_04"); // Wenn unsere Boote auch nur in die Nähe des Hafens kommen, würden die uns abschießen wie übergroße Wale.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_05"); // Außerdem müssten wir so erst einmal durch das Hafenviertel. Warst du mal dort?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_06"); // Ich könnte mir vorstellen, die Typen da unten machen uns mehr Probleme als die halbe Stadtwache.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_fromSea_04_07"); // Klingt für mich nicht sonderlich überzeugend.
};
func void SLD_700_Jareck_someIdeas_bothSides()
{
AI_Output(other, self, "SLD_700_Jareck_someIdeas_bothSides_15_01"); // Was w<EFBFBD>rde passieren, wenn wir <20>ber beide Tore gleichzeitig angreifen?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_02"); // Wir k<EFBFBD>nnten sowohl die Paladine besch<63>ftigen, als auch die Stadtwache.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_03"); // Das klingt fast nach einem vern<EFBFBD>nftigen Plan.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_04"); // In Ordnung. Und wei<EFBFBD>t du, was die Kr<4B>nung des Planes ist?
AI_Output(other, self, "SLD_700_Jareck_someIdeas_bothSides_15_01"); // Was würde passieren, wenn wir über beide Tore gleichzeitig angreifen?
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_02"); // Wir könnten sowohl die Paladine beschäftigen, als auch die Stadtwache.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_03"); // Das klingt fast nach einem vernünftigen Plan.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_04"); // In Ordnung. Und weißt du, was die Krönung des Planes ist?
AI_Output(other, self, "SLD_700_Jareck_someIdeas_bothSides_15_05"); // Jetzt kommts...
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_06"); // Du wirst den Angriff anf<EFBFBD>hren!
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_06"); // Du wirst den Angriff anführen!
AI_Output(other, self, "SLD_700_Jareck_someIdeas_bothSides_15_07"); // Ich? Aber...
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_08"); // Kein aber! Du warst in der Stadt. Du kennst die Stadtwache.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_09"); // Au<EFBFBD>erdem glaube ich, dass du F<>hrungspotential hast.
AI_Output(self, other, "SLD_700_Jareck_someIdeas_bothSides_04_09"); // Außerdem glaube ich, dass du Führungspotential hast.
convincedJareck = TRUE;
Info_ClearChoices(SLD_700_Jareck_someIdeas);
};
@ -928,7 +927,7 @@ func void SLD_700_Jareck_someIdeas_bothSides()
func void SLD_700_Jareck_someIdeas_noIdea()
{
AI_Output(other, self, "SLD_700_Jareck_someIdeas_noIdea_15_01"); // Ich habe noch keine Idee...
AI_Output(self, other, "SLD_700_Jareck_someIdeas_noIdea_04_02"); // Dann <EFBFBD>berleg weiter!
AI_Output(self, other, "SLD_700_Jareck_someIdeas_noIdea_04_02"); // Dann überleg weiter!
Info_ClearChoices(SLD_700_Jareck_someIdeas);
};
@ -955,22 +954,22 @@ func int SLD_700_Jareck_prepBattle_Condition()
func void SLD_700_Jareck_prepBattle_Info()
{
AI_Output(other, self, "SLD_700_Jareck_prepBattle_Info_15_01"); // Wie gehen wir vor?
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_02"); // Du suchst dir die n<EFBFBD>tigen M<>nner selbst zusammen.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_03"); // Keine Sorge, der letzte gro<EFBFBD>e Kampf liegt schon Wochen zur<75>ck. Die M<>nner sind durstig nach Blut und werden dir bereitwillig folgen.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_02"); // Du suchst dir die nötigen Männer selbst zusammen.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_03"); // Keine Sorge, der letzte große Kampf liegt schon Wochen zurück. Die Männer sind durstig nach Blut und werden dir bereitwillig folgen.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_04"); // Ich werde ihnen Bescheid geben, dass sie sich an den Stadttoren verteilen sollen. Ich gebe dir ein Horn mit.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_05"); // Um den Angriff zu starten, blas einfach kr<EFBFBD>ftig rein. Die M<>nner wissen dann, was zu tun ist.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_06"); // Warte aber nicht zu lange. Sonst kommt die Stadtwache noch auf eine <EFBFBD>hnliche Idee.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_05"); // Um den Angriff zu starten, blas einfach kräftig rein. Die Männer wissen dann, was zu tun ist.
AI_Output(self, other, "SLD_700_Jareck_prepBattle_Info_04_06"); // Warte aber nicht zu lange. Sonst kommt die Stadtwache noch auf eine ähnliche Idee.
CreateInvItems(self, ItMi_Alarmhorn, 1);
B_GiveInvItems(self, other, ItMi_Alarmhorn, 1);
prepCityAttack(attSld);
B_LogEntry(TOPIC_prepBattleSLD, "Ich habe von Jareck das Kommando <EFBFBD>ber die S<>ldner bekommen. Sobald ich mit dem Horn das Signal gebe, geht es los!");
B_LogEntry(TOPIC_prepBattleSLD, "Ich habe von Jareck das Kommando über die Söldner bekommen. Sobald ich mit dem Horn das Signal gebe, geht es los!");
MIS_prepBattleSLD = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_prepBattleSLD, LOG_SUCCESS);
B_GivePlayerXP(450);
MIS_attackCitySld = LOG_RUNNING;
Log_CreateTopic(TOPIC_attackCitySld, LOG_MISSION);
Log_SetTopicStatus(TOPIC_attackCitySld, LOG_RUNNING);
Log_AddEntry(TOPIC_attackCitySld, "So. Noch einmal mit dem Horn das Signal geben und dann geht es los. Hoffen wir, dass wir diesen Kampf <EFBFBD>berleben...");
Log_AddEntry(TOPIC_attackCitySld, "So. Noch einmal mit dem Horn das Signal geben und dann geht es los. Hoffen wir, dass wir diesen Kampf überleben...");
};
// **************************************************
@ -994,12 +993,12 @@ func int SLD_700_Jareck_fightOver_Condition()
func void SLD_700_Jareck_fightOver_Info()
{
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_01"); // Stop! H<EFBFBD>r auf!
AI_Output(other, self, "SLD_700_Jareck_fightOver_Info_15_02"); // Was? Es fing gerade an, Spa<EFBFBD> zu machen!
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_03"); // Sch<EFBFBD>n f<>r dich. Aber wir haben Verletzte und...
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_01"); // Stop! Hör auf!
AI_Output(other, self, "SLD_700_Jareck_fightOver_Info_15_02"); // Was? Es fing gerade an, Spaß zu machen!
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_03"); // Schön für dich. Aber wir haben Verletzte und...
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_04"); // Hast du das Erdbeben nicht gemerkt?
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_05"); // Und was noch viel schlimmer ist: Unsere Sp<EFBFBD>her vor der Stadt berichten von Untoten.
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_06"); // Komm zur<EFBFBD>ck zum Hof. Da besprechen wir alles weitere.
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_05"); // Und was noch viel schlimmer ist: Unsere Späher vor der Stadt berichten von Untoten.
AI_Output(self, other, "SLD_700_Jareck_fightOver_Info_04_06"); // Komm zurück zum Hof. Da besprechen wir alles weitere.
MIS_attackCitySld = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_attackCitySld, LOG_SUCCESS);
B_LogEntry(TOPIC_attackCitySld, "Der Kampf ist vorbei. Nach einem Erdbeben haben alle die Waffen niedergelegt. Ich soll Jareck auf dem Hof treffen.");
@ -1032,12 +1031,12 @@ func void SLD_700_Jareck_whatWasThat_Info()
{
AI_Output(other, self, "SLD_700_Jareck_whatWasThat_Info_15_01"); // Okay, was war da los?
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_02"); // Hast du die Untoten auf dem Weg hierher nicht bemerkt?
AI_Output(other, self, "SLD_700_Jareck_whatWasThat_Info_15_03"); // Waren ja nicht zu <EFBFBD>bersehen...
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_04"); // Das Problem ist gr<EFBFBD><EFBFBD>er als die Stadt. Der Hof ist nicht befestigt, falls eine Zombieherde angreift, k<>nnen wir uns nicht lange halten.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_05"); // Wir m<EFBFBD>ssen die kleineren H<>fe besch<63>tzen. Ich m<>chte, dass du bei Laria und Lucz nach dem Rechten siehst.
AI_Output(other, self, "SLD_700_Jareck_whatWasThat_Info_15_03"); // Waren ja nicht zu übersehen...
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_04"); // Das Problem ist größer als die Stadt. Der Hof ist nicht befestigt, falls eine Zombieherde angreift, können wir uns nicht lange halten.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_05"); // Wir müssen die kleineren Höfe beschützen. Ich möchte, dass du bei Laria und Lucz nach dem Rechten siehst.
AI_Output(other, self, "SLD_700_Jareck_whatWasThat_Info_15_06"); // Was ist mit Simons Hof?
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_07"); // Er ist dabei, sich uns anzuschlie<EFBFBD>en. Offiziell ist da allerdings noch nichts gelaufen.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_08"); // Wir sind nicht f<EFBFBD>r ihn verantwortlich. Noch ist das ein Problem der Stadt.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_07"); // Er ist dabei, sich uns anzuschließen. Offiziell ist da allerdings noch nichts gelaufen.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_08"); // Wir sind nicht für ihn verantwortlich. Noch ist das ein Problem der Stadt.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_09"); // Eins noch: Ich habe hier etwas für dich.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_10"); // Das ist eine Teleportrune. Die bringt dich schnell zum Hof zurück. Ein Magier, der eine Zeit bei uns war, hat sie für uns hergestellt.
AI_Output(self, other, "SLD_700_Jareck_whatWasThat_Info_04_11"); // Ich denke, du kannst sie am Besten brauchen.
@ -1046,7 +1045,7 @@ func void SLD_700_Jareck_whatWasThat_Info()
MIS_otherFarms2 = LOG_RUNNING;
Log_CreateTopic(TOPIC_otherFarms2, LOG_MISSION);
Log_SetTopicStatus(TOPIC_otherFarms2, LOG_RUNNING);
B_LogEntry(TOPIC_otherFarms2, "Jareck ist in Sorge um die anderen H<EFBFBD>fe. Ich soll bei Laria und Lucz nach dem Rechten sehen. Hoffentlich ist da nichts passiert.");
B_LogEntry(TOPIC_otherFarms2, "Jareck ist in Sorge um die anderen Höfe. Ich soll bei Laria und Lucz nach dem Rechten sehen. Hoffentlich ist da nichts passiert.");
};
// **************************************************
@ -1072,16 +1071,16 @@ func void SLD_700_Jareck_wereAtOtherFarms_Info()
{
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_01"); // Da bist du ja wieder. Ich hoffe, du bringst gute Neuigkeiten.
AI_Output(other, self, "SLD_700_Jareck_wereAtOtherFarms_Info_15_02"); // Wie man's nimmt. Auf Larias Hof ist alles in Ordnung.
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_03"); // Und bei Lucz? Ich wei<EFBFBD>, er ist schwierig, aber...
AI_Output(other, self, "SLD_700_Jareck_wereAtOtherFarms_Info_15_04"); // Diesmal war es berechtigt. Einige Zombies hatten es sich auf seinen Feldern gem<EFBFBD>tlich gemacht.
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_05"); // Ich hoffe, du hast dich darum gek<EFBFBD>mmert?
AI_Output(other, self, "SLD_700_Jareck_wereAtOtherFarms_Info_15_06"); // Nat<EFBFBD>rlich.
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_03"); // Und bei Lucz? Ich weiß, er ist schwierig, aber...
AI_Output(other, self, "SLD_700_Jareck_wereAtOtherFarms_Info_15_04"); // Diesmal war es berechtigt. Einige Zombies hatten es sich auf seinen Feldern gemütlich gemacht.
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_05"); // Ich hoffe, du hast dich darum gekümmert?
AI_Output(other, self, "SLD_700_Jareck_wereAtOtherFarms_Info_15_06"); // Natürlich.
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_07"); // Sehr gut.
MIS_otherFarms2 = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_otherFarms2, LOG_SUCCESS);
B_LogEntry(TOPIC_otherFarms2, "Auf allen H<EFBFBD>fen ist die Welt wieder in Ordnung. Soweit man in der aktuellen Lage davon sprechen kann.");
B_LogEntry(TOPIC_otherFarms2, "Auf allen Höfen ist die Welt wieder in Ordnung. Soweit man in der aktuellen Lage davon sprechen kann.");
B_GivePlayerXP(400);
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_08"); // Und ich habe direkt die n<EFBFBD>chste Aufgabe f<>r dich.
AI_Output(self, other, "SLD_700_Jareck_wereAtOtherFarms_Info_04_08"); // Und ich habe direkt die nächste Aufgabe für dich.
};
// **************************************************
@ -1107,13 +1106,13 @@ func int SLD_700_Jareck_whatsNext_Condition()
func void SLD_700_Jareck_whatsNext_Info()
{
AI_Output(other, self, "SLD_700_Jareck_whatsNext_Info_15_01"); // Was liegt an?
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_02"); // W<EFBFBD>hrend du unterwegs warst, kam ein Bote aus der Stadt.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_03"); // Eigentlich wollte ich ihn verjagen, aber zum Gl<EFBFBD>ck habe ich mich dagegen entschieden.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_02"); // Während du unterwegs warst, kam ein Bote aus der Stadt.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_03"); // Eigentlich wollte ich ihn verjagen, aber zum Glück habe ich mich dagegen entschieden.
AI_Output(other, self, "SLD_700_Jareck_whatsNext_Info_15_04"); // Und was wollte er?
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_05"); // Die Paladine wollen einen Kriegsrat einberufen. Ich wei<EFBFBD> nicht, was sie damit erreichen wollen, aber ich kann es mir ja einmal anh<6E>ren.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_06"); // Ich selber werde gehen und m<EFBFBD>chte, dass du mich begleitest.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_05"); // Die Paladine wollen einen Kriegsrat einberufen. Ich weiß nicht, was sie damit erreichen wollen, aber ich kann es mir ja einmal anhören.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_06"); // Ich selber werde gehen und möchte, dass du mich begleitest.
AI_Output(other, self, "SLD_700_Jareck_whatsNext_Info_15_07"); // Wozu denn das?
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_08"); // Du bist neu hier, unverbraucht. Au<EFBFBD>erdem bist du zu mehr in der Lage, als Patrouille <20>ber die H<>fe zu laufen.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_08"); // Du bist neu hier, unverbraucht. Außerdem bist du zu mehr in der Lage, als Patrouille über die Höfe zu laufen.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_09"); // Deswegen. Muss ich dir erst einen Befehl erteilen? (lacht)
AI_Output(other, self, "SLD_700_Jareck_whatsNext_Info_15_10"); // Nein, keine Sorge.
AI_Output(self, other, "SLD_700_Jareck_whatsNext_Info_04_11"); // Sehr gut. Ich mache mich schon einmal auf den Weg in die Stadt.
@ -1124,7 +1123,7 @@ func void SLD_700_Jareck_whatsNext_Info()
MIS_Conference = LOG_RUNNING;
Log_CreateTopic(TOPIC_Conference, LOG_MISSION);
Log_SetTopicStatus(TOPIC_Conference, LOG_RUNNING);
B_LogEntry(TOPIC_Conference, "Die Paladine in der Stadt wollen einen Kriegsrat abhalten. Jareck m<EFBFBD>chte teilnehmen und ich soll ihn begleiten. Mal schauen, was dabei herauskommt.");
B_LogEntry(TOPIC_Conference, "Die Paladine in der Stadt wollen einen Kriegsrat abhalten. Jareck möchte teilnehmen und ich soll ihn begleiten. Mal schauen, was dabei herauskommt.");
};
// **************************************************
@ -1150,20 +1149,20 @@ func int SLD_700_Jareck_meetingCityMIL_Condition()
func void SLD_700_Jareck_meetingCityMIL_Info()
{
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_01"); // Die Paladine wollen dich sprechen!
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_02"); // Wie bitte? Was machst du <EFBFBD>berhaupt hier drin?
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_03"); // Ich glaube, ich sollte meine Wache versch<EFBFBD>rfen.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_04"); // Mit Silvan habe ich schon gesprochen. Darf ich dir erkl<EFBFBD>ren, worum es geht?
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_02"); // Wie bitte? Was machst du überhaupt hier drin?
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_03"); // Ich glaube, ich sollte meine Wache verschärfen.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_04"); // Mit Silvan habe ich schon gesprochen. Darf ich dir erklären, worum es geht?
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_05"); // Versuchs mal...
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_06"); // Folgendes: Ihr habt ebenfalls die Untoten bemerkt, die <EFBFBD>berall auf der Insel auftauchen.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_06"); // Folgendes: Ihr habt ebenfalls die Untoten bemerkt, die überall auf der Insel auftauchen.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_07"); // Genauso wie wir und wahrscheinlich alle anderen hier.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_08"); // Deswegen wollen die Paladine auf Anraten der Eismagier einen Kriegsrat einberufen, damit wir gemeinsam der Bedrohung Herr werden k<EFBFBD>nnen.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_08"); // Deswegen wollen die Paladine auf Anraten der Eismagier einen Kriegsrat einberufen, damit wir gemeinsam der Bedrohung Herr werden können.
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_09"); // Und das soll ich dir glauben? Die Paladine haben noch NIE etwas getan, wobei sie nicht nur an sich gedacht haben.
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_10"); // Zeiten <EFBFBD>ndern sich. Au<41>erdem kann es f<>r euch nur positiv sein. Unsere Mauern sind dick. Und der Hof...
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_10"); // Zeiten ändern sich. Außerdem kann es für euch nur positiv sein. Unsere Mauern sind dick. Und der Hof...
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_11"); // Naja...
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_12"); // Schon gut, ich habs kapiert. Wir werden kommen. Aber ich warne dich!
AI_Output(other, self, "SLD_700_Jareck_meetingCityMIL_Info_15_13"); // Jaja, schon klar. Wenn das eine Falle ist, werdet ihr...
AI_Output(self, other, "SLD_700_Jareck_meetingCityMIL_Info_04_14"); // Ich sehe, wir verstehen uns.
B_LogEntry(TOPIC_Conference, "Jareck als Anf<EFBFBD>hrer der S<>ldner hat zugestimmt, dem Treffen beizuwohnen. Er wies allerdings subtil darauf hin, dass er mich aufkn<EFBFBD>pfen will, sollte sich die Konferenz als Falle herausstellen.");
B_LogEntry(TOPIC_Conference, "Jareck als Anführer der Söldner hat zugestimmt, dem Treffen beizuwohnen. Er wies allerdings subtil darauf hin, dass er mich aufknüpfen will, sollte sich die Konferenz als Falle herausstellen.");
};
// **************************************************

View file

@ -48,7 +48,7 @@ func void SLD_703_Orf_youSmith_Info()
AI_Output(other, self, "SLD_703_Orf_youSmith_Info_15_01"); // Bist du der Schmied?
AI_Output(self, other, "SLD_703_Orf_youSmith_Info_05_02"); // Sieht so aus. Oder meinst du nicht?
AI_Output(other, self, "SLD_703_Orf_youSmith_Info_15_03"); // Doch, irgendwie schon.
AI_Output(self, other, "SLD_703_Orf_youSmith_Info_05_04"); // Na also. Was soll dann die bl<EFBFBD>de Frage?
AI_Output(self, other, "SLD_703_Orf_youSmith_Info_05_04"); // Na also. Was soll dann die blöde Frage?
};
// **************************************************
@ -75,8 +75,8 @@ func void SLD_703_Orf_youTrade_Info()
{
AI_Output(other, self, "SLD_703_Orf_youTrade_Info_15_01"); // Verkaufst du auch Waffen?
AI_Output(self, other, "SLD_703_Orf_youTrade_Info_05_02"); // Die Frage ist schon intelligenter.
AI_Output(self, other, "SLD_703_Orf_youTrade_Info_05_03"); // Ja, tue ich. Aber nur an S<EFBFBD>ldner.
AI_Output(self, other, "SLD_703_Orf_youTrade_Info_05_04"); // Also, werde Mitglied bei uns und dann kommen wir ins Gesch<EFBFBD>ft!
AI_Output(self, other, "SLD_703_Orf_youTrade_Info_05_03"); // Ja, tue ich. Aber nur an Söldner.
AI_Output(self, other, "SLD_703_Orf_youTrade_Info_05_04"); // Also, werde Mitglied bei uns und dann kommen wir ins Geschäft!
};
// **************************************************
@ -104,8 +104,8 @@ func void SLD_703_Orf_yourHint_Info()
AI_Output(other, self, "SLD_703_Orf_yourHint_Info_15_01"); // Hast du einen Hinweis auf euren Informanten?
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_02"); // Jareck schickt dich, hm?
AI_Output(other, self, "SLD_703_Orf_yourHint_Info_15_03"); // Genau. Kannst du mir etwas sagen?
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_04"); // Hmm, wie dr<EFBFBD>cke ich das aus?
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_05"); // Ahja, h<EFBFBD>r zu: Der Informant hat viele Waffen in der Hand, benutzt seine aber nur sehr selten.
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_04"); // Hmm, wie drücke ich das aus?
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_05"); // Ahja, hör zu: Der Informant hat viele Waffen in der Hand, benutzt seine aber nur sehr selten.
var int s; s = SB_New();
hintcounter += 1;
SB("Hinweise: ");
@ -115,7 +115,7 @@ func void SLD_703_Orf_yourHint_Info()
SB_Destroy();
B_LogEntry(TOPIC_newInfos, "Orf gab mir den Hinweis, dass der Informant viele Waffen in der Hand habe, seine eigene aber nur selten benutze.");
AI_Output(other, self, "SLD_703_Orf_yourHint_Info_15_06"); // Was zum...
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_07"); // Tja, niemand hat gesagt, dass deine Pr<EFBFBD>fung einfach wird.
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_07"); // Tja, niemand hat gesagt, dass deine Prüfung einfach wird.
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_08"); // Jareck sagte schon, er wolle mal wieder jemanden mit Grips haben.
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_09"); // Mal schauen, ob du ins Profil passt.
AI_Output(self, other, "SLD_703_Orf_yourHint_Info_05_10"); // Also, mach dich auf den Weg und hol uns die Infos!
@ -143,7 +143,7 @@ func int SLD_703_Orf_goCity_Condition()
func void SLD_703_Orf_goCity_Info()
{
AI_Output(self, other, "SLD_703_Orf_goCity_Info_05_01"); // Hey, ich h<EFBFBD>rte, du f<>hrst den Angriff auf die Stadt an.
AI_Output(self, other, "SLD_703_Orf_goCity_Info_05_01"); // Hey, ich hörte, du führst den Angriff auf die Stadt an.
AI_Output(other, self, "SLD_703_Orf_goCity_Info_15_02"); // Richtig. Du bist auch dabei!
AI_Output(self, other, "SLD_703_Orf_goCity_Info_05_03"); // Sehr gut. Ich gehe zum...?
AI_Output(other, self, "SLD_703_Orf_goCity_Info_15_04"); // Nordtor! Warte da auf das Signal.

View file

@ -340,3 +340,67 @@ func void VLK_4007_Fyneia_gotFocus_Info()
AI_Output(self, other, "VLK_4007_Fyneia_gotFocus_Info_16_08"); // Gut, dann bis später!
Npc_ExchangeRoutine(self, "RITUAL");
};
// **************************************************
instance VLK_4007_Fyneia_shouldGoBack (C_INFO)
{
npc = VLK_4007_Fyneia;
condition = VLK_4007_Fyneia_shouldGoBack_Condition;
information = VLK_4007_Fyneia_shouldGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Wir sollten zurückkehren!";
};
func int VLK_4007_Fyneia_shouldGoBack_Condition()
{
if ((Npc_KnowsInfo(hero, PAL_5000_Marten_gotAPlan)) && (startedLastChange == FALSE))
{
return TRUE;
};
};
func void VLK_4007_Fyneia_shouldGoBack_Info()
{
AI_Output(other, self, "VLK_4007_Fyneia_shouldGoBack_Info_15_01"); // Wir sollten zurückkehren!
AI_Output(self, other, "VLK_4007_Fyneia_shouldGoBack_Info_16_02"); // Bist du sicher? Das wird kein Zuckerschlecken!
AI_Output(self, other, "VLK_4007_Fyneia_shouldGoBack_Info_16_03"); // Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
AI_Output(self, other, "VLK_4007_Fyneia_shouldGoBack_Info_16_04"); // Wir treffen uns wieder auf dem Berg.
Npc_ExchangeRoutine(self, "RITUAL");
startedLastChange = TRUE;
LastChangeFyneia = TRUE;
};
// **************************************************
instance VLK_4007_Fyneia_weGoBack (C_INFO)
{
npc = VLK_4007_Fyneia;
condition = VLK_4007_Fyneia_weGoBack_Condition;
information = VLK_4007_Fyneia_weGoBack_Info;
important = FALSE;
permanent = FALSE;
description = "Es geht los!";
};
func int VLK_4007_Fyneia_weGoBack_Condition()
{
if ((startedLastChange == TRUE && LastChangeFyneia == FALSE))
{
return TRUE;
};
};
func void VLK_4007_Fyneia_weGoBack_Info()
{
AI_Output(other, self, "VLK_4007_Fyneia_weGoBack_Info_15_01"); // Es geht los!
AI_Output(self, other, "VLK_4007_Fyneia_weGoBack_Info_16_02"); // Wirklich? Ich bin mir nicht sicher, ob das eine gute Idee ist...
AI_Output(other, self, "VLK_4007_Fyneia_weGoBack_Info_15_03"); // Die Alternative ist, dass unser Äthergefüge endgültig zerstört wird.
AI_Output(self, other, "VLK_4007_Fyneia_weGoBack_Info_16_04"); // ...
AI_Output(self, other, "VLK_4007_Fyneia_weGoBack_Info_16_05"); // Du hast ja Recht. Das kann es auch nicht sein.
AI_Output(self, other, "VLK_4007_Fyneia_weGoBack_Info_16_06"); // Also schön. Wie immer, im Turm?
AI_Output(other, self, "VLK_4007_Fyneia_weGoBack_Info_15_07"); // Richtig.
AI_Output(self, other, "VLK_4007_Fyneia_weGoBack_Info_16_08"); // Alles klar. Wir sehen uns!
Npc_ExchangeRoutine(self, "RITUAL");
};

View file

@ -0,0 +1,171 @@
// Diese Datei wurde automatisch durch den Miranda Dialog Creator erstellt!
// Sie sollte nicht manuell editiert werden, da Änderungen beim erneuten Aufruf
// des Creators überschrieben werden!
// **************************************************
instance VLK_4009_Malian_exit (C_INFO)
{
npc = VLK_4009_Malian;
condition = VLK_4009_Malian_exit_Condition;
information = VLK_4009_Malian_exit_Info;
important = FALSE;
permanent = TRUE;
nr = 999;
description = DIALOG_ENDE;
};
func int VLK_4009_Malian_exit_Condition()
{
return TRUE;
};
func void VLK_4009_Malian_exit_Info()
{
AI_StopProcessInfos(self);
};
// **************************************************
instance VLK_4009_Malian_newHere (C_INFO)
{
npc = VLK_4009_Malian;
condition = VLK_4009_Malian_newHere_Condition;
information = VLK_4009_Malian_newHere_Info;
important = TRUE;
permanent = FALSE;
};
func int VLK_4009_Malian_newHere_Condition()
{
if (Npc_IsInState(self, ZS_TALK))
{
return TRUE;
};
};
func void VLK_4009_Malian_newHere_Info()
{
AI_Output(self, other, "VLK_4009_Malian_newHere_Info_05_01"); // Hey, du musst neu hier sein.
AI_Output(self, other, "VLK_4009_Malian_newHere_Info_05_02"); // Sieh dich in Ruhe um. Hier findest du nur die frischesten Waren!
};
// **************************************************
instance VLK_4009_Malian_letsTrade (C_INFO)
{
npc = VLK_4009_Malian;
condition = VLK_4009_Malian_letsTrade_Condition;
information = VLK_4009_Malian_letsTrade_Info;
important = FALSE;
permanent = TRUE;
nr = 998;
description = "Zeig mir deine Ware!";
trade = TRUE;
};
func int VLK_4009_Malian_letsTrade_Condition()
{
return TRUE;
};
func void VLK_4009_Malian_letsTrade_Info()
{
B_GiveTradeInv(self);
AI_Output(other, self, "VLK_4009_Malian_letsTrade_Info_15_01"); // Zeig mir deine Ware!
};
// **************************************************
instance VLK_4009_Malian_getMeat (C_INFO)
{
npc = VLK_4009_Malian;
condition = VLK_4009_Malian_getMeat_Condition;
information = VLK_4009_Malian_getMeat_Info;
important = FALSE;
permanent = FALSE;
description = "Kann ich bei dir Fleisch bekommen?";
};
func int VLK_4009_Malian_getMeat_Condition()
{
if (MIS_tavernMeat == LOG_RUNNING)
{
return TRUE;
};
};
func void VLK_4009_Malian_getMeat_Info()
{
AI_Output(other, self, "VLK_4009_Malian_getMeat_Info_15_01"); // Kann ich bei dir Fleisch bekommen?
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_02"); // Nur das, was noch da ist.
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_03"); // Eigentlich wollten mir die Jäger schon vor einigen Tagen etwas verkaufen. Doch sie hatten wohl kein Jagdglück.
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_04"); // Würdest du...
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_05"); // Eigentlich sollte ich dich das gar nicht fragen. Immerhin willst du mir etwas abkaufen, nicht umgekehrt.
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_06"); // Ach, was solls. Ich will dir ein Angebot machen. Ich gebe dir meinen Bogen und du gehst jagen.
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_07"); // Fünfzehn Stück Fleisch sollten erst einmal reichen. Alles andere kannst du natürlich behalten.
AI_Output(self, other, "VLK_4009_Malian_getMeat_Info_05_08"); // Was hälst du davon?
Info_ClearChoices(VLK_4009_Malian_getMeat);
Info_AddChoice(VLK_4009_Malian_getMeat, "Klingt gut.", VLK_4009_Malian_getMeat_whyNot);
Info_AddChoice(VLK_4009_Malian_getMeat, "Lass mal lieber.", VLK_4009_Malian_getMeat_betterNot);
};
func void VLK_4009_Malian_getMeat_whyNot()
{
AI_Output(other, self, "VLK_4009_Malian_getMeat_whyNot_15_01"); // Klingt gut.
AI_Output(self, other, "VLK_4009_Malian_getMeat_whyNot_05_02"); // Sehr schön. Dann hier der Bogen.
CreateInvItems(self, ItRw_Bow_L_01, 1);
B_GiveInvItems(self, other, ItRw_Bow_L_01, 1);
AI_Output(self, other, "VLK_4009_Malian_getMeat_whyNot_05_03"); // Und ein paar Pfeile!
CreateInvItems(self, ItRw_Arrow, 15);
B_GiveInvItems(self, other, ItRw_Arrow, 15);
AI_Output(self, other, "VLK_4009_Malian_getMeat_whyNot_05_04"); // Ich hoffe, dich in einem Stück wiederzusehen!
MIS_cityMeat = LOG_RUNNING;
Log_CreateTopic(TOPIC_cityMeat, LOG_MISSION);
Log_SetTopicStatus(TOPIC_cityMeat, LOG_RUNNING);
B_LogEntry(TOPIC_cityMeat, "Malian, einer der Händler in der Stadt hat mich ebenfalls beauftragt, Fleisch zu holen. 15 Stück. Ist denn hier niemand in der Lage zu jagen?");
Info_ClearChoices(VLK_4009_Malian_getMeat);
};
func void VLK_4009_Malian_getMeat_betterNot()
{
AI_Output(other, self, "VLK_4009_Malian_getMeat_betterNot_15_01"); // Lass mal lieber.
AI_Output(self, other, "VLK_4009_Malian_getMeat_betterNot_05_02"); // Schade, aber da kann man nichts machen.
Info_ClearChoices(VLK_4009_Malian_getMeat);
};
// **************************************************
instance VLK_4009_Malian_gotMeat (C_INFO)
{
npc = VLK_4009_Malian;
condition = VLK_4009_Malian_gotMeat_Condition;
information = VLK_4009_Malian_gotMeat_Info;
important = FALSE;
permanent = FALSE;
description = "Ich habe hier dein Fleisch.";
};
func int VLK_4009_Malian_gotMeat_Condition()
{
if ((Npc_HasItems(other, ItFoMuttonRaw) >= 15) && (MIS_cityMeat == LOG_RUNNING))
{
return TRUE;
};
};
func void VLK_4009_Malian_gotMeat_Info()
{
AI_Output(other, self, "VLK_4009_Malian_gotMeat_Info_15_01"); // Ich habe hier dein Fleisch.
AI_Output(self, other, "VLK_4009_Malian_gotMeat_Info_05_02"); // Sehr gut! Dann wird bei einigen hier mal wieder etwas anderes auf dem Speiseplan stehen.
AI_Output(self, other, "VLK_4009_Malian_gotMeat_Info_05_03"); // Hier, nimm das als Belohnung.
CreateInvItems(self, ItMi_Gold, 100);
B_GiveInvItems(self, other, ItMi_Gold, 100);
AI_Output(other, self, "VLK_4009_Malian_gotMeat_Info_15_04"); // Und der Bogen?
AI_Output(self, other, "VLK_4009_Malian_gotMeat_Info_05_05"); // Weißt du was? Behalt ihn!
AI_Output(self, other, "VLK_4009_Malian_gotMeat_Info_05_06"); // Ich komm sowieso kaum vor die Mauern und ich habe das Gefühl, du könntest ihn besser gebrauchen.
MIS_cityMeat = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_cityMeat, LOG_SUCCESS);
B_LogEntry(TOPIC_cityMeat, "Malian ist zufrieden. Immerhin darf ich den Bogen behalten.");
};

View file

@ -49,7 +49,7 @@ func int VLK_412_Hatof_startDialog_Condition()
func void VLK_412_Hatof_startDialog_Info()
{
AI_Output(self, other, "VLK_412_Hatof_startDialog_Info_12_01"); // Sieh an, ein neues Gesicht!
AI_Output(self, other, "VLK_412_Hatof_startDialog_Info_12_02"); // M<EFBFBD>chtest du etwas kaufen, verkaufen, oder nur meine Schmiede besetzen? (lacht)
AI_Output(self, other, "VLK_412_Hatof_startDialog_Info_12_02"); // Möchtest du etwas kaufen, verkaufen, oder nur meine Schmiede besetzen? (lacht)
talkedToPlayer = TRUE;
};
@ -76,10 +76,10 @@ func int VLK_412_Hatof_lookingForWork_Condition()
func void VLK_412_Hatof_lookingForWork_Info()
{
AI_Output(other, self, "VLK_412_Hatof_lookingForWork_Info_15_01"); // Ich suche Arbeit!
AI_Output(self, other, "VLK_412_Hatof_lookingForWork_Info_12_02"); // Ja, das tun viele. Hmm, bist du dir denn sicher, dass das Schmiedehandwerk etwas f<EFBFBD>r dich ist?
AI_Output(self, other, "VLK_412_Hatof_lookingForWork_Info_12_02"); // Ja, das tun viele. Hmm, bist du dir denn sicher, dass das Schmiedehandwerk etwas für dich ist?
AI_Output(other, self, "VLK_412_Hatof_lookingForWork_Info_15_03"); // Ich glaube schon...
AI_Output(self, other, "VLK_412_Hatof_lookingForWork_Info_12_04"); // Das ist immerhin etwas. Der letzte, der hier war konnte nicht einmal den Hammer halten. Du siehst auf jeden Fall kr<EFBFBD>ftiger aus.
AI_Output(self, other, "VLK_412_Hatof_lookingForWork_Info_12_05"); // Wenn es dir ernst ist, habe ich etwas zu tun f<EFBFBD>r dich.
AI_Output(self, other, "VLK_412_Hatof_lookingForWork_Info_12_04"); // Das ist immerhin etwas. Der letzte, der hier war konnte nicht einmal den Hammer halten. Du siehst auf jeden Fall kräftiger aus.
AI_Output(self, other, "VLK_412_Hatof_lookingForWork_Info_12_05"); // Wenn es dir ernst ist, habe ich etwas zu tun für dich.
};
// **************************************************
@ -122,7 +122,7 @@ instance VLK_412_Hatof_wheresMine (C_INFO)
information = VLK_412_Hatof_wheresMine_Info;
important = FALSE;
permanent = FALSE;
description = "Wo finde ich die Sch<EFBFBD>rfer?";
description = "Wo finde ich die Schürfer?";
};
func int VLK_412_Hatof_wheresMine_Condition()
@ -135,9 +135,9 @@ func int VLK_412_Hatof_wheresMine_Condition()
func void VLK_412_Hatof_wheresMine_Info()
{
AI_Output(other, self, "VLK_412_Hatof_wheresMine_Info_15_01"); // Wo finde ich die Sch<EFBFBD>rfer?
AI_Output(self, other, "VLK_412_Hatof_wheresMine_Info_12_02"); // Die Sch<EFBFBD>rfer, die mir eine Kiste Erz schulden sind direkt vor der Stadt.
AI_Output(self, other, "VLK_412_Hatof_wheresMine_Info_12_03"); // Wenn du durch das Nordtor gehst, dich rechts h<EFBFBD>lst und direkt den H<>gel hinauf, kannst du die Mine nicht verfehlen.
AI_Output(other, self, "VLK_412_Hatof_wheresMine_Info_15_01"); // Wo finde ich die Schürfer?
AI_Output(self, other, "VLK_412_Hatof_wheresMine_Info_12_02"); // Die Schürfer, die mir eine Kiste Erz schulden sind direkt vor der Stadt.
AI_Output(self, other, "VLK_412_Hatof_wheresMine_Info_12_03"); // Wenn du durch das Nordtor gehst, dich rechts hälst und direkt den Hügel hinauf, kannst du die Mine nicht verfehlen.
AI_Output(self, other, "VLK_412_Hatof_wheresMine_Info_12_04"); // Rede mit Mika, er wird dir die Kiste geben.
};
@ -165,13 +165,13 @@ func void VLK_412_Hatof_gotTheOre_Info()
{
AI_Output(other, self, "VLK_412_Hatof_gotTheOre_Info_15_01"); // Ich hab das Erz!
B_GiveInvItems(other, self, ItMi_Erzkiste, 1);
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_02"); // Sehr gut, dann kann ich wenigstens vern<EFBFBD>nftig weiterarbeiten.
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_02"); // Sehr gut, dann kann ich wenigstens vernünftig weiterarbeiten.
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_03"); // Hat er irgendetwas gesagt?
AI_Output(other, self, "VLK_412_Hatof_gotTheOre_Info_15_04"); // Ja, ich soll sch<EFBFBD>ne Gr<47><72>e ausrichten und sagen, dass du nicht so schnell arbeiten sollst.
AI_Output(other, self, "VLK_412_Hatof_gotTheOre_Info_15_05"); // Die Jungs kommen mit dem Sch<EFBFBD>rfen nicht hinterher.
AI_Output(other, self, "VLK_412_Hatof_gotTheOre_Info_15_04"); // Ja, ich soll schöne Grüße ausrichten und sagen, dass du nicht so schnell arbeiten sollst.
AI_Output(other, self, "VLK_412_Hatof_gotTheOre_Info_15_05"); // Die Jungs kommen mit dem Schürfen nicht hinterher.
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_06"); // (lacht) Der hat gut Reden... Ich hab eine ganze Stadtwache mit Waffen zu versorgen.
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_07"); // Aber, wie dem auch sei. Du hast deinen Job gemacht, das ist schonmal mehr als die meisten anderen.
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_08"); // Wenn du immer noch mein Lehrling werden m<EFBFBD>chtest, komm wieder zu mir, dann besprechen wir alles weitere.
AI_Output(self, other, "VLK_412_Hatof_gotTheOre_Info_12_08"); // Wenn du immer noch mein Lehrling werden möchtest, komm wieder zu mir, dann besprechen wir alles weitere.
B_LogEntry(TOPIC_workHatof, "Hatof hat seine Erzkiste erhalten. Jetzt kann ich von ihm das Schmiedehandwerk lernen!");
MIS_workHatof = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_workHatof, LOG_SUCCESS);
@ -202,7 +202,7 @@ func void VLK_412_Hatof_becomeApprentice_Info()
{
AI_Output(other, self, "VLK_412_Hatof_becomeApprentice_Info_15_01"); // Ich will den Bergbau lernen!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_Info_12_02"); // Bist du dir sicher?
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_Info_12_03"); // Denk daran, du kannst nur zwei Berufe gleichzeitig aus<EFBFBD>ben!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_Info_12_03"); // Denk daran, du kannst nur zwei Berufe gleichzeitig ausüben!
Info_ClearChoices(VLK_412_Hatof_becomeApprentice);
Info_AddChoice(VLK_412_Hatof_becomeApprentice, "Nein, ich brauche noch etwas Bedenkzeit.", VLK_412_Hatof_becomeApprentice_noBergbau);
Info_AddChoice(VLK_412_Hatof_becomeApprentice, "Ja, ich will bei dir lernen!", VLK_412_Hatof_becomeApprentice_yesBergbau);
@ -211,7 +211,7 @@ func void VLK_412_Hatof_becomeApprentice_Info()
func void VLK_412_Hatof_becomeApprentice_noBergbau()
{
AI_Output(other, self, "VLK_412_Hatof_becomeApprentice_noBergbau_15_01"); // Nein, ich brauche noch etwas Bedenkzeit.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_noBergbau_12_02"); // Gut, du wei<EFBFBD>t ja, wo du mich findest!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_noBergbau_12_02"); // Gut, du weißt ja, wo du mich findest!
Info_ClearChoices(VLK_412_Hatof_becomeApprentice);
};
@ -220,17 +220,17 @@ func void VLK_412_Hatof_becomeApprentice_yesBergbau()
AI_Output(other, self, "VLK_412_Hatof_becomeApprentice_yesBergbau_15_01"); // Ja, ich will bei dir lernen!
if (other.LP >= 5)
{
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_02"); // Gut, dann h<EFBFBD>r mir genau zu.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_03"); // Nat<EFBFBD>rlich brauchst du eine Spitzhacke. Das sollte klar sein.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_02"); // Gut, dann hör mir genau zu.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_03"); // Natürlich brauchst du eine Spitzhacke. Das sollte klar sein.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_04"); // Am Anfang solltest du dich an einfache Erze wie Eisen halten.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_05"); // Versuch besser nicht Gold, oder gar magisches Erz abzubauen. Das geht nur schief und du bekommst unbrauchbare St<EFBFBD>cke!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_06"); // Nimm dir also die Spitzhacke und such dir eine sch<EFBFBD>ne Eisenader. Dann schaust du genau, wo das Erz an die Oberfl<66>che tritt.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_07"); // Schlag pr<EFBFBD>zise und fest, aber nicht auf das Mineral, sondern daneben!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_08"); // So brichst du gro<EFBFBD>e St<53>cke Eisen aus dem Stein.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_05"); // Versuch besser nicht Gold, oder gar magisches Erz abzubauen. Das geht nur schief und du bekommst unbrauchbare Stücke!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_06"); // Nimm dir also die Spitzhacke und such dir eine schöne Eisenader. Dann schaust du genau, wo das Erz an die Oberfläche tritt.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_07"); // Schlag präzise und fest, aber nicht auf das Mineral, sondern daneben!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_08"); // So brichst du große Stücke Eisen aus dem Stein.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_09"); // Mit dem Erz kannst du dann an eine Schmiede gehen und es zu Stahl einschmelzen.
if ((Npc_GetTrueGuild(hero) != GIL_VLK))
{
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_10"); // Und jetzt: Kannst du dich auch B<EFBFBD>rger der Stadt nennen!
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_10"); // Und jetzt: Kannst du dich auch Bürger der Stadt nennen!
};
jobcounter += 1;
learnedBergbau = TRUE;
@ -238,19 +238,19 @@ func void VLK_412_Hatof_becomeApprentice_yesBergbau()
AI_PrintS(self, "Neuer Beruf: Bergbau!");
other.lp = other.lp - 5;
Log_CreateTopic(TOPIC_Bergbau, LOG_NOTE);
B_LogEntry(TOPIC_Bergbau, "Ich habe den Bergbau gelernt. Jetzt kann ich Eisenerz aus entsprechenden Adern herausl<EFBFBD>sen und einschmelzen.");
B_LogEntry(TOPIC_Bergbau, "Ich habe den Bergbau gelernt. Jetzt kann ich Eisenerz aus entsprechenden Adern herauslösen und einschmelzen.");
if (MIS_getCitizen == LOG_RUNNING)
{
MIS_getCitizen = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_getCitizen, LOG_SUCCESS);
Log_AddEntry(TOPIC_getCitizen, "Hatof hat mich als Lehrling aufgenommen und mir den Bergbau beigebracht. Jetzt kann ich mich B<EFBFBD>rger der Stadt Mahlendur nennen!");
Log_AddEntry(TOPIC_getCitizen, "Hatof hat mich als Lehrling aufgenommen und mir den Bergbau beigebracht. Jetzt kann ich mich Bürger der Stadt Mahlendur nennen!");
Npc_SetTrueGuild(hero, GIL_VLK);
other.guild = GIL_VLK;
};
}
else
{
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_11"); // Das ist l<EFBFBD>blich, aber es sieht aus, als h<>ttest du noch nicht genug Erfahrung.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_11"); // Das ist löblich, aber es sieht aus, als hättest du noch nicht genug Erfahrung.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice_yesBergbau_12_12"); // Komm wieder, wenn du bereit bist!
};
Info_ClearChoices(VLK_412_Hatof_becomeApprentice);
@ -299,19 +299,19 @@ func void VLK_412_Hatof_becomeApprentice2_yesSmith()
if (other.LP >= 5)
{
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_02"); // In Ordnung. Schmieden ist eigentlich kein Hexenwerk.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_03"); // Du darfst nur nicht vergessen, dass es haupts<EFBFBD>chlich auf die Technik ankommt.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_04"); // Lass dich also nicht verunsichern, wenn deine ersten Versuche etwas krumm werden. St<EFBFBD>rke alleine reicht nicht.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_05"); // Wenn du dir ein St<EFBFBD>ck Rohstahl nimmst, erhitze es zuerst am Schmiedefeuer. Achte darauf, dass es rotgl<67>hend ist.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_06"); // Wird das Eisen zu hei<EFBFBD>, verbrennt dir der Stahl und der Rohling ist unbrauchbar.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_03"); // Du darfst nur nicht vergessen, dass es hauptsächlich auf die Technik ankommt.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_04"); // Lass dich also nicht verunsichern, wenn deine ersten Versuche etwas krumm werden. Stärke alleine reicht nicht.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_05"); // Wenn du dir ein Stück Rohstahl nimmst, erhitze es zuerst am Schmiedefeuer. Achte darauf, dass es rotglühend ist.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_06"); // Wird das Eisen zu heiß, verbrennt dir der Stahl und der Rohling ist unbrauchbar.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_07"); // Wenn bis hierhin alles funktioniert hat, musst du nur noch die Waffe am Amboss zurechtschlagen.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_08"); // Hab das Ziel immer vor Augen. Wenn du einen Fehler nicht bemerkst, ist es zu sp<EFBFBD>t.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_09"); // H<EFBFBD>rte die Waffe zum Schluss noch im Wassereimer. Auch hier musst du ein wenig Vorsicht walten lassen.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_10"); // H<EFBFBD>re genau hin. Knistert die Waffe, ist der Stahl zu hei<65> und wird spr<70>de.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_11"); // Auch wenn das alles kompliziert klingt, es ist nur eine Frage der <EFBFBD>bung.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_08"); // Hab das Ziel immer vor Augen. Wenn du einen Fehler nicht bemerkst, ist es zu spät.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_09"); // Härte die Waffe zum Schluss noch im Wassereimer. Auch hier musst du ein wenig Vorsicht walten lassen.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_10"); // Höre genau hin. Knistert die Waffe, ist der Stahl zu heiß und wird spröde.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_11"); // Auch wenn das alles kompliziert klingt, es ist nur eine Frage der Übung.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_12"); // Und jetzt: Ran an den Stahl!
if ((Npc_GetTrueGuild(hero) != GIL_VLK))
{
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_13"); // <EFBFBD>brigens kannst du dich nun B<>rger der Stadt nennen.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_13"); // Übrigens kannst du dich nun Bürger der Stadt nennen.
};
jobcounter += 1;
learnedSmith = TRUE;
@ -324,14 +324,14 @@ func void VLK_412_Hatof_becomeApprentice2_yesSmith()
{
MIS_getCitizen = LOG_SUCCESS;
Log_SetTopicStatus(TOPIC_getCitizen, LOG_SUCCESS);
Log_AddEntry(TOPIC_getCitizen, "Hatof hat mich als Lehrling aufgenommen und mir die Schmiedekunst beigebracht. Jetzt kann ich mich B<EFBFBD>rger der Stadt Mahlendur nennen!");
Log_AddEntry(TOPIC_getCitizen, "Hatof hat mich als Lehrling aufgenommen und mir die Schmiedekunst beigebracht. Jetzt kann ich mich Bürger der Stadt Mahlendur nennen!");
Npc_SetTrueGuild(hero, GIL_VLK);
other.guild = GIL_VLK;
};
}
else
{
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_14"); // Das ist l<EFBFBD>blich, aber es sieht aus, als h<>ttest du noch nicht genug Erfahrung.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_14"); // Das ist löblich, aber es sieht aus, als hättest du noch nicht genug Erfahrung.
AI_Output(self, other, "VLK_412_Hatof_becomeApprentice2_yesSmith_12_15"); // Komm wieder, wenn du bereit bist!
};
Info_ClearChoices(VLK_412_Hatof_becomeApprentice2);
@ -361,7 +361,7 @@ func void VLK_412_Hatof_canTrade_Info()
{
AI_Output(other, self, "VLK_412_Hatof_canTrade_Info_15_01"); // Du verkaufst auch Waffen?
AI_Output(self, other, "VLK_412_Hatof_canTrade_Info_12_02"); // Waffen eher weniger. Die Stadtwache kauft mir die meisten Schwerter direkt ab. Ein paar habe ich noch hier.
AI_Output(self, other, "VLK_412_Hatof_canTrade_Info_12_03"); // Haupts<EFBFBD>chlich kann ich die Materialien f<>rs Schmieden verkaufen. Wenn du daran Interesse hast, sag Bescheid!
AI_Output(self, other, "VLK_412_Hatof_canTrade_Info_12_03"); // Hauptsächlich kann ich dir Materialien fürs Schmieden verkaufen. Wenn du daran Interesse hast, sag Bescheid!
};
// **************************************************
@ -415,11 +415,11 @@ func int VLK_412_Hatof_teachMeSth_Condition()
func void VLK_412_Hatof_teachMeSth_Info()
{
AI_Output(other, self, "VLK_412_Hatof_teachMeSth_Info_15_01"); // Kannst du mir auch was beibringen?
AI_Output(self, other, "VLK_412_Hatof_teachMeSth_Info_12_02"); // Hmm, lass mich <EFBFBD>berlegen.
AI_Output(self, other, "VLK_412_Hatof_teachMeSth_Info_12_03"); // Ja, ich glaube, ich k<EFBFBD>nnte dich etwas st<73>rker machen. Schlie<69>lich bin ich nicht umsonst Schmied geworden (lacht)
AI_Output(self, other, "VLK_412_Hatof_teachMeSth_Info_12_02"); // Hmm, lass mich überlegen.
AI_Output(self, other, "VLK_412_Hatof_teachMeSth_Info_12_03"); // Ja, ich glaube, ich könnte dich etwas stärker machen. Schließlich bin ich nicht umsonst Schmied geworden (lacht)
AI_Output(self, other, "VLK_412_Hatof_teachMeSth_Info_12_04"); // Komm zu mir, dann gebe ich dir ein paar Tipps!
Log_CreateTopic(TOPIC_teacherCity, LOG_NOTE);
B_LogEntry(TOPIC_teacherCity, "Hatof, der Schmied, kann mir beibringen, st<EFBFBD>rker zu werden!");
B_LogEntry(TOPIC_teacherCity, "Hatof, der Schmied, kann mir beibringen, stärker zu werden!");
};
// **************************************************
@ -445,11 +445,11 @@ func int VLK_412_Hatof_teachSwords_Condition()
func void VLK_412_Hatof_teachSwords_Info()
{
AI_Output(other, self, "VLK_412_Hatof_teachSwords_Info_15_01"); // Kannst du mir beibringen, andere Waffen zu schmieden?
AI_Output(self, other, "VLK_412_Hatof_teachSwords_Info_12_02"); // Einige Schwerte kann ich dich lehren. F<EFBFBD>r die meisten brauchst du allerdings einen Baulan.
AI_Output(self, other, "VLK_412_Hatof_teachSwords_Info_12_03"); // Einen kann ich dir noch verkaufen, ansonsten sieh dich bei den H<EFBFBD>ndlern um. Manchmal haben sie einen Plan zu verkaufen.
AI_Output(self, other, "VLK_412_Hatof_teachSwords_Info_12_02"); // Einige Schwerte kann ich dich lehren. Für die meisten brauchst du allerdings einen Bauplan.
AI_Output(self, other, "VLK_412_Hatof_teachSwords_Info_12_03"); // Einen kann ich dir noch verkaufen, ansonsten sieh dich bei den Händlern um. Manchmal haben sie einen Plan zu verkaufen.
AI_Output(self, other, "VLK_412_Hatof_teachSwords_Info_12_04"); // Ansonsten: Sieh dich um! Du glaubst gar nicht, was man alles finden kann.
Log_CreateTopic(TOPIC_TalentSmith, LOG_NOTE);
B_LogEntry(TOPIC_TalentSmith, "Hatof kann mir beibringen, einige andere Schwerter zu schmieden. F<EFBFBD>r die meisten brauche ich aber einen Bauplan.");
B_LogEntry(TOPIC_TalentSmith, "Hatof kann mir beibringen, einige andere Schwerter zu schmieden. Für die meisten brauche ich aber einen Bauplan.");
};
// **************************************************

View file

@ -495,10 +495,10 @@ instance TRIA_GROUP_05 (C_INFO)
func int TRIA_GROUP_05_cond()
{
//if ((Npc_KnowsInfo(hero, KDF_1409_Kelsava_focusReady)) && (Npc_IsInState(self, ZS_TALK)) && (Npc_GetDistToWP(self, "NW_CASTLEMINE_TOWER_08") <= 200) && (Npc_GetDistToWP(VLK_4007_Fyneia, "NW_CASTLEMINE_RITUAL_000") <= 200) && (Npc_GetDistToWP(BAU_241_Zaphina, "NW_CASTLEMINE_RITUAL_002") <= 200) && (Npc_GetDistToWP(KDW_14009_Thirala, "NW_CASTLEMINE_TOWER_06") <= 200))
//{
if ((Npc_KnowsInfo(hero, KDF_1409_Kelsava_focusReady)) && (Npc_IsInState(self, ZS_TALK)) && (Npc_GetDistToWP(self, "NW_CASTLEMINE_TOWER_08") <= 200) && (Npc_GetDistToWP(VLK_4007_Fyneia, "NW_CASTLEMINE_RITUAL_000") <= 200) && (Npc_GetDistToWP(BAU_241_Zaphina, "NW_CASTLEMINE_RITUAL_002") <= 200) && (Npc_GetDistToWP(KDW_14009_Thirala, "NW_CASTLEMINE_TOWER_06") <= 200))
{
return TRUE;
//};
};
};
func void TRIA_GROUP_05_info()
@ -692,3 +692,51 @@ func void TRIA_GROUP_06_info()
AI_StopProcessInfos(self);
};
instance TRIA_GROUP_07 (C_INFO)
{
npc = KDF_1409_Kelsava;
nr = 1;
condition = TRIA_GROUP_07_cond;
information = TRIA_GROUP_07_info;
important = TRUE;
permanent = FALSE;
//description = "Was habt ihr jetzt vor?";
};
func int TRIA_GROUP_07_cond()
{
if ((Npc_GetDistToWP(self, "NW_CASTLEMINE_TOWER_08") <= 200) && (Npc_GetDistToWP(VLK_4007_Fyneia, "NW_CASTLEMINE_RITUAL_000") <= 200) && (Npc_GetDistToWP(BAU_241_Zaphina, "NW_CASTLEMINE_RITUAL_002") <= 200) && (Npc_GetDistToWP(KDW_14009_Thirala, "NW_CASTLEMINE_TOWER_06") <= 200))
{
return TRUE;
};
};
func void TRIA_GROUP_07_info()
{
var C_NPC Thirala; Thirala = Hlp_GetNpc(KDW_14009_Thirala);
var C_NPC Zaphina; Zaphina = Hlp_GetNpc(BAU_241_Zaphina);
var C_NPC Kelsava; Kelsava = Hlp_GetNpc(KDF_1409_Kelsava);
var C_NPC Fyneia; Fyneia = Hlp_GetNpc(VLK_4007_Fyneia);
AI_StandUp(Kelsava);
AI_StandUp(Thirala);
AI_StandUp(Zaphina);
AI_StandUp(Fyneia);
TRIA_Invite(Thirala);
TRIA_Invite(Zaphina);
TRIA_Invite(Kelsava);
TRIA_Invite(Fyneia);
TRIA_Start();
AI_TurnToNpc(self, hero);
AI_TurnToNpc(hero, self);
TRIA_Next(Kelsava);
AI_Output(self, hero, "TRIA_GROUP_07_KELSAVA_01"); //Alle bereit? Jetzt gibt es kein zurück mehr!
AI_Output(self, hero, "TRIA_GROUP_07_KELSAVA_02"); //Auf dass wir Bekher ein für alle mal zur Strecke bringen!
TRIA_Finish();
AI_StopProcessInfos(self);
AI_StartState(self, ZS_RitualLevelchange2, 1, "");
};

View file

@ -201,6 +201,8 @@ const string TOPIC_potTrade = "Der Sumpfkrauthandel";
var int MIS_theWanderer;
const string TOPIC_theWanderer = "Der Wandersmann";
var int MIS_gilbertPocket;
const string TOPIC_gilbertPocket = "Gilberts Zeug";
/*===================================================================
Notizen Mahlendur

View file

@ -30,7 +30,7 @@ instance Mil_328_Miliz (Npc_Default)
// ------ visuals ------
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_N_NormalBart17, BodyTex_N, ITAR_Leather_L);
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_N_NormalBart17, BodyTex_N, ITAR_MIL_L);
Mdl_SetModelFatness (self,0);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");

View file

@ -4,7 +4,7 @@
instance NONE_10000_Hueter (NPC_Default)
{
// ----- NPC -----
name = "Der Hüter";
name = "Der Hüter";
guild = 0;
id = 10000;
voice = 13;

View file

@ -53,3 +53,8 @@ func void Rtn_TOT_10001 () {
TA_Stand_WP(07,00,22,00,"TOT");
TA_Stand_WP(22,00,07,00,"TOT");
};
func void Rtn_Wait_10001 () {
TA_Stand_ArmsCrossed(07,00,22,00,"ZW_WP_004");
TA_Stand_ArmsCrossed(22,00,07,00,"ZW_WP_004");
};

View file

@ -176,3 +176,45 @@ INSTANCE PiratDemon (MST_Default_Demon)
self.aivar[AIV_IsQuestRelevant] = TRUE;
};
INSTANCE Bekher_Demon1 (MST_Default_Demon)
{
B_SetVisuals_Demon();
Npc_SetToFistMode(self);
attribute [ATR_STRENGTH] = B_SetAttributesToDifficulty (90);
attribute [ATR_DEXTERITY] = B_SetAttributesToDifficulty (90);
attribute [ATR_HITPOINTS_MAX] = B_SetAttributesToDifficulty (200);
attribute [ATR_HITPOINTS] = B_SetAttributesToDifficulty (200);
attribute [ATR_MANA_MAX] = B_SetAttributesToDifficulty (100);
attribute [ATR_MANA] = B_SetAttributesToDifficulty (100);
//----- Protections ----
protection [PROT_BLUNT] = B_SetProtectionsToDifficulty (75);
protection [PROT_EDGE] = B_SetProtectionsToDifficulty (75);
protection [PROT_POINT] = B_SetProtectionsToDifficulty (75);
protection [PROT_FIRE] = B_SetProtectionsToDifficulty (75);
protection [PROT_FLY] = B_SetProtectionsToDifficulty (75);
protection [PROT_MAGIC] = B_SetProtectionsToDifficulty (75);
self.aivar[AIV_IsQuestRelevant] = TRUE;
};
INSTANCE Bekher_Demon2 (MST_Default_Demon)
{
B_SetVisuals_Demon();
Npc_SetToFistMode(self);
attribute [ATR_STRENGTH] = B_SetAttributesToDifficulty (90);
attribute [ATR_DEXTERITY] = B_SetAttributesToDifficulty (90);
attribute [ATR_HITPOINTS_MAX] = B_SetAttributesToDifficulty (200);
attribute [ATR_HITPOINTS] = B_SetAttributesToDifficulty (200);
attribute [ATR_MANA_MAX] = B_SetAttributesToDifficulty (100);
attribute [ATR_MANA] = B_SetAttributesToDifficulty (100);
//----- Protections ----
protection [PROT_BLUNT] = B_SetProtectionsToDifficulty (75);
protection [PROT_EDGE] = B_SetProtectionsToDifficulty (75);
protection [PROT_POINT] = B_SetProtectionsToDifficulty (75);
protection [PROT_FIRE] = B_SetProtectionsToDifficulty (75);
protection [PROT_FLY] = B_SetProtectionsToDifficulty (75);
protection [PROT_MAGIC] = B_SetProtectionsToDifficulty (75);
self.aivar[AIV_IsQuestRelevant] = TRUE;
};

View file

@ -306,3 +306,39 @@ INSTANCE Skeleton_Mario4 (Mst_Default_Skeleton)
EquipItem (self, ItMw_2H_Sword_M_01);
};
INSTANCE Bekher_Skeleton1 (Mst_Default_Skeleton)
{
aivar[AIV_EnemyOverride] = TRUE;
B_SetVisuals_Skeleton();
EquipItem (self, ItMw_2H_Sword_M_01);
};
INSTANCE Bekher_Skeleton2 (Mst_Default_Skeleton)
{
aivar[AIV_EnemyOverride] = TRUE;
B_SetVisuals_Skeleton();
EquipItem (self, ItMw_2H_Sword_M_01);
};
INSTANCE Bekher_Skeleton3 (Mst_Default_Skeleton)
{
aivar[AIV_EnemyOverride] = TRUE;
B_SetVisuals_Skeleton();
EquipItem (self, ItMw_2H_Sword_M_01);
};
INSTANCE Bekher_Skeleton4 (Mst_Default_Skeleton)
{
aivar[AIV_EnemyOverride] = TRUE;
B_SetVisuals_Skeleton();
EquipItem (self, ItMw_2H_Sword_M_01);
};

View file

@ -448,6 +448,27 @@ INSTANCE PirZomKap3_04 (Mst_Default_Zombie)
self.aivar[AIV_IsQuestRelevant] = TRUE;
};
INSTANCE Bekher_Zombie1 (Mst_Default_Zombie)
{
B_SetVisuals_Zombie01();
Npc_SetToFistMode(self);
self.aivar[AIV_IsQuestRelevant] = TRUE;
};
INSTANCE Bekher_Zombie2 (Mst_Default_Zombie)
{
B_SetVisuals_Zombie01();
Npc_SetToFistMode(self);
self.aivar[AIV_IsQuestRelevant] = TRUE;
};
INSTANCE Bekher_Zombie3 (Mst_Default_Zombie)
{
B_SetVisuals_Zombie01();
Npc_SetToFistMode(self);
self.aivar[AIV_IsQuestRelevant] = TRUE;
};
//MayaZobies
func void B_SetVisuals_Maya_Zombie01()
{

View file

@ -88,7 +88,7 @@ func void INIT_GLOBAL()
CC_Register(ChangeLevelConsole, "levelchangeConsole", "Changes the level via console");
CC_Register(setGuildPlayer, "setGuildPlayer", "Sets the player-guild");
cityCamTriggered = TRUE;
//cityCamTriggered = TRUE;

View file

@ -1603,6 +1603,12 @@ var oCItem weaponChopping;
var int journalView;
var int startedLastChange;
var int lastChangeThirala;
var int lastChangeZaphina;
var int lastChangeKelsava;
var int lastChangeFyneia;

Binary file not shown.

View file

@ -22,3 +22,12 @@ conddia: KDW_14009_Thirala_ZW, hereWeAre
<Das werde ich verhindern!
$END
!B_Attack(self, hero, AR_NONE, 0);
info: youAgain2
flags: important
condcode: startedLastChange == TRUE
<Ihr gebt nicht auf, oder?
>Wie könnten wir?
<Dann bleibt mir wohl nichts anderes übrig.
$END
!AI_StartState(self, ZS_Bekher_Teleport2, 1, "");

View file

@ -136,3 +136,26 @@ conditem: ItMi_Focus, 1
>Richtig.
<Gut, dann bis später!
!Npc_ExchangeRoutine(self, "RITUAL");
info: shouldGoBack
condcode: startedLastChange == FALSE
conddia: PAL_5000_Marten, gotAPlan
>Wir sollten zurückkehren!
<Bist du sicher? Das wird kein Zuckerschlecken!
<Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
<Wir treffen uns wieder auf dem Berg.
!Npc_ExchangeRoutine(self, "RITUAL");
!startedLastChange = TRUE;
!LastChangeFyneia = TRUE;
info: weGoBack
condcode: startedLastChange == TRUE && LastChangeFyneia == FALSE
>Es geht los!
<Wirklich? Ich bin mir nicht sicher, ob das eine gute Idee ist...
>Die Alternative ist, dass unser Äthergefüge endgültig zerstört wird.
<...
<Du hast ja Recht. Das kann es auch nicht sein.
<Also schön. Wie immer, im Turm?
>Richtig.
<Alles klar. Wir sehen uns!
!Npc_ExchangeRoutine(self, "RITUAL");

View file

@ -50,6 +50,60 @@ flags: permanent
>Was gibt's neues?
<Nichts, was dich interessiert. Hier ist alles ruhig!
info: doSomething
condcode: Npc_GetTrueGuild(hero) == GIL_PIR
>Kann ich was für dich tun?
<Hm, fleißiges Kerlchen. Noch nicht lange dabei und schon bei allen einschleimen.
>So würde ich das nicht nennen...
<Ist ja auch egal. Es gibt da tatsächlich etwas, dass du für mich tun könntest.
<Ist aber nicht ganz so einfach.
%
opt: betterNot
>Klingt nicht nach einer Aufgabe für mich...
<Schade. Naja, vielleicht der Nächste.
%%
opt: hellYeah
>Schieß los!
<Sehr schön.
<Vor ein paar Tagen hat doch tatsächlich die Stadtwache mich und ein paar andere in die Finger bekommen.
<Das ist nichts, das wir nicht schon mehrfach erlebt hätten.
<Aber dieses Mal überraschten sie uns. Mir haben sie meinen Lederbeutel und meinen guten Bogen abgenommen.
<Gerüchteweise haben sie die Sachen in ein Lagerhaus im Hafen gebracht.
<Wenn du mir beides bringen könntest...
$STARTMIS gilbertPocket
$LOGMISS gilbertPocket, Gilbert hat vor ein paar Tagen eine Begegnung mit der Stadtwache gemacht. Dabei wurden ihm sein Goldbeutel und sein Bogen abgenommen. Angeblich ist beides in einem Lagerhaus in der Stadt. Ich soll ihm seine Sachen bringen.
%%
info: gotYourStuff
condcode: (Npc_HasItems(hero, ItMi_Pocket_Gilbert) >= 1 && Npc_HasItems(hero, ItRw_Bow_Gilbert) >= 1) || (Npc_HasItems(hero, ItRw_Bow_Gilbert) >= 1 && usedGilbertPocket == TRUE && Npc_HasItems(hero, ItMi_Gold) >= 500 && Npc_HasItems(hero, ItMi_Silver_Nugget) >= 10)
>Ich hab dein Zeug!
<Sehr gut. Will ich wissen, wie du da ran gekommen bist?
>Wahrscheinlich nicht.
<(lacht) Stimmt. Ist ja auch egal.
<Der Bogen?
>Hier!
>>ItRw_Bow_Gilbert, 1
<Und der Beutel?
$IF usedGilbertPocket == TRUE
>Naja...
<Hast du ihn aufgemacht? Schön, war ja nichts geheimnisvolles drin. Dann gib mir einfach das Zeug!
>Klar doch.
>>ItMi_Gold, 500
>>ItMi_Silver_Nugget, 10
$ELSE
>Hier!
>>ItMi_Pocket_Gilbert, 1
$ENDIF
<Ich danke dir!
<Du kannst immerhin noch halbwegs unbeschadet einen Fuß in die Stadt setzen.
<Mein Kopf würde sehr schnell auf einer Lanze vor der Stadt stecken.
<Hier, für deine Mühen
<<Itmi_Gold, 100
$EXP 250
$MISSUCC gilbertPocket
$LOGMISS gilbertPocket, Ich konnte Gilbert sein Zeug wiederbringen.
info: trainMe
conddia: PIR_1301_Henry, getTraining
>Du kannst mir das Bogenschießen beibringen?

View file

@ -352,3 +352,23 @@ condcode: Wld_GetDay() >= kelsavaFocusDay + 1
<Wir treffen uns wieder in unserem Turm.
$LOGMISS theFocus, Kelsava hat die Foki hergestellt. Ich soll sie den anderen bringen. Wir treffen uns dann wieder in unserem Turm.
!Npc_ExchangeRoutine(self, "RITUAL");
info: shouldGoBack
condcode: startedLastChange == FALSE
conddia: PAL_5000_Marten, gotAPlan
>Wir sollten zurückkehren!
<Bist du sicher? Das wird kein Zuckerschlecken!
<Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
<Wir treffen uns wieder auf dem Berg.
!Npc_ExchangeRoutine(self, "RITUAL");
!startedLastChange = TRUE;
!LastChangeKelsava = TRUE;
info: weGoBack
condcode: startedLastChange == TRUE && LastChangeKelsava == FALSE
>Es geht los!
<Alles klar. Wir sollten keine Zeit mehr verlieren.
<Der Äther wird mit jeder Minute die wir warten, weiter zerstört.
<Noch ist der Schaden reversibel.
>Dann sehen wir uns im Turm!
!Npc_ExchangeRoutine(self, "RITUAL");

26
miranda/Lagerwache.dia Normal file
View file

@ -0,0 +1,26 @@
person: MIL_328_Miliz, 8
info: Exit
info: whatYouDoingHere
flags: important
<Hey!
<Du hast hier nichts zu suchen!
<Verschwinde, aber ganz schnell!
$END
info: whatYouDoingHere2
flags: important
condcode: Npc_GetDistToWP(hero, "NW_CITY_HABOUR_HUT_03_IN_06") <= 200
<Ich warne dich!
<Noch einen Schritt weiter und ich sorge dafür, dass du nicht mehr weißt, wo oben oder unten ist!
$END
info: whatYouDoingHere3
flags: important
condcode: Npc_GetDistToWP(hero, "NW_CITY_HABOUR_GUT_03_IN_06") <= 50
<Du hast es nicht anders gewollt!
$END
!B_Attack(self, hero, AR_GuardStopsIntruder, 1);

View file

@ -80,3 +80,21 @@ conditem: ItMi_Focus, 1
<Ah, das erklärt einiges. Gut, dann breche ich wohl besser gleich auf.
!Npc_ExchangeRoutine(self, "RITUAL");
info: shouldGoBack
condcode: startedLastChange == FALSE
conddia: PAL_5000_Marten, gotAPlan
>Wir sollten zurückkehren!
<Bist du sicher? Das wird kein Zuckerschlecken!
<Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
<Wir treffen uns wieder auf dem Berg.
!Npc_ExchangeRoutine(self, "RITUAL");
!startedLastChange = TRUE;
!LastChangeThirala = TRUE;
info: weGoBack
condcode: startedLastChange == TRUE && LastChangeThirala == FALSE
>Es geht los!
<Sehr gut! Wir dürfen keine Zeit mehr verlieren.
<Der Äther wird immer schwächer...
>Dann sehen wir uns im Turm!
!Npc_ExchangeRoutine(self, "RITUAL");

View file

@ -4,30 +4,30 @@ info: Exit
info: helloBard
>Hallo Barde!
<Hallo Zuschauer! Na, gefällt dir meine Darbietung?
<Hallo Zuschauer! Na, gefällt dir meine Darbietung?
>Auf jeden Fall!
<Danke, das freut mich zu Hören.
<Danke, das freut mich zu Hören.
info: theWanderer
conddia: helloBard
conddia: NONE_9901_Barde, whereYouGetStories
>Ist hier in der letzten Zeit ein Wanderer vorbei gekommen?
<Wieso fragst du? Hast du noch eine Rechnung mit ihm offen? (lacht)
>Nein, das nicht. Ich habe nur eine interessante Geschichte von ihm gehört und wüsste gerne noch mehr.
<Ach, ich glaube, ich weiß, welchen Wanderer du meinst.
<Ja, der war einen Abend hier. Hat ein Fass guten Wein ausgegeben und eine Geschichte erzählt.
<Möchtest du sie hören?
>Nein, das nicht. Ich habe nur eine interessante Geschichte von ihm gehört und wüsste gerne noch mehr.
<Ach, ich glaube, ich weiß, welchen Wanderer du meinst.
<Ja, der war einen Abend hier. Hat ein Fass guten Wein ausgegeben und eine Geschichte erzählt.
<Möchtest du sie hören?
info: tellMe
conddia: theWanderer
>Erzähl sie mir!
<Gut, hör zu. Die Geschichte klingt etwas abenteuerlich und wenn sie wirklich so passiert ist, dann nicht hier.
<Der alte, bärtige Wandersmann fing mit der Geschichte an. Die Stadt, in der er sich zu der Zeit aufhielt, wurde von einem mächtigen Feind belagert.
<Sie hatten bereits das Tor zerstört und sie drohten, die Stadt endgültig zu überrennen.
<Der Wanderer erzählte, wie er sich hinter die Reihen des Feindes schlich und laut losbrüllte.
<Angeblich klang sein Kampfschrei wie der von tausend Männern. Daraufhin seien sie fortgerannt, wie scheue Tiere.
>Erzähl sie mir!
<Gut, hör zu. Die Geschichte klingt etwas abenteuerlich und wenn sie wirklich so passiert ist, dann nicht hier.
<Der alte, bärtige Wandersmann fing mit der Geschichte an. Die Stadt, in der er sich zu der Zeit aufhielt, wurde von einem mächtigen Feind belagert.
<Sie hatten bereits das Tor zerstört und sie drohten, die Stadt endgültig zu überrennen.
<Der Wanderer erzählte, wie er sich hinter die Reihen des Feindes schlich und laut losbrüllte.
<Angeblich klang sein Kampfschrei wie der von tausend Männern. Daraufhin seien sie fortgerannt, wie scheue Tiere.
<Er hatte sogar einen Beweis dabei. Einen alten, zerbeulten Helm.
<Was du jetzt mit dieser Geschichte machst, ist deine Sache. Ich gebe dir nur einen Rat: Nimm sie nicht für allzu wahr.
<Das Weinfass hat nämlich sehr gut geschmeckt! (lacht)
<Was du jetzt mit dieser Geschichte machst, ist deine Sache. Ich gebe dir nur einen Rat: Nimm sie nicht für allzu wahr.
<Das Weinfass hat nämlich sehr gut geschmeckt! (lacht)
!toldStory_Fight = TRUE;
$LOGMISS theWanderer, Ein Barde auf dem Hof des Großbauern hat mir einen weiteren Teil der Geschichte erzählt. Demnach soll der Wanderer einst eine ganze Armee vertrieben haben, nur dadurch, dass er einen Kampfschrei losgelassen hatte. Zum Beweis hatte er diesmal einen Helm dabei.
$LOGMISS theWanderer, Ein Barde auf dem Hof des Großbauern hat mir einen weiteren Teil der Geschichte erzählt. Demnach soll der Wanderer einst eine ganze Armee vertrieben haben, nur dadurch, dass er einen Kampfschrei losgelassen hatte. Zum Beweis hatte er diesmal einen Helm dabei.

View file

@ -110,3 +110,24 @@ conditem: ItMi_Focus, 1
>Genau.
<Wunderbar, bis später!
!Npc_ExchangeRoutine(self, "RITUAL");
info: shouldGoBack
condcode: startedLastChange == FALSE
conddia: PAL_5000_Marten, gotAPlan
>Wir sollten zurückkehren!
<Bist du sicher? Das wird kein Zuckerschlecken!
<Ich gehe schonmal vor. Wenn du wirklich bereit bist, sag den anderen Bescheid.
<Wir treffen uns wieder im Turm.
!Npc_ExchangeRoutine(self, "RITUAL");
!startedLastChange = TRUE;
!LastChangeZaphina = TRUE;
info: weGoBack
condcode: startedLastChange == TRUE && LastChangeZaphina == FALSE
>Es geht los!
<Sicher? Ich glaube, ich habe noch einen wichtigen Termin vergessen...
>Nichts da! Wir haben das gemeinsam angefangen, wir stehen das auch gemeinsam bis zum Ende durch!
>Was sollten wir denn ohne unsere Kampffurie tun?
<Na schön... Wir treffen uns im Turm?
>Machen wir!
!Npc_ExchangeRoutine(self, "RITUAL");