• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Готика 1: Сиквел Контент скриптов, не вошедший в техно билд 2 этапа

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.226
Благодарности
1.907
Баллы
370
Контент исходных скриптов сиквела, не вошедший в техно билд 2 этапа.


  • OC_Minecrawler // Pablo Mission
  • HurtSnapper // angeschlagener Snapper, wird von Thora direkt umgehauen,wenn der Spieler kommt
  • OreWolf // ???
  • Meatbug, "FP_MEATBUG_SPAWN_05"
  • Meatbug, "FP_MEATBUG_SPAWN_06"
  • Meatbug, "FP_MEATBUG_SPAWN_07"
  • Lurker, "FP_SPAWN_LURKER_BEAVERLODGE_2"
  • Lurker, "FP_SPAWN_LURKER_BEAVERLODGE_3"
  • Molerat, "SPAWN_OW_MOLERAT_06_CAVE_GUARD3"
  • Molerat, "SPAWN_OW_MOLERAT_06_CAVE_GUARD3"
  • Scavenger, "SPAWN_OW_SCAVENGER_GOBBOCAVE_03_01" // werden beide DemonScavanger
  • Scavenger, "SPAWN_OW_SCAVENGER_GOBBOCAVE_03_01"

    //----------------------- GOBBOHЦHLE ---------------------------------

    // vor der Brьcke
  • Bloodfly, "SPAWN_BLOODFLY_LOCATION_29_01"
  • Bloodfly, "SPAWN_BLOODFLY_LOCATION_29_01"
  • Bloodfly, "SPAWN_BLOODFLY_LOCATION_29_01"
  • Bloodfly, "SPAWN_BLOODFLY_LOCATION_29_01"
  • Waran, "SPAWN_OW_WARAN_OC_PSI_GOBBOCAVE_01"
  • Waran, "SPAWN_OW_WARAN_OC_PSI_GOBBOCAVE_01"
  • Waran, "SPAWN_OW_WARAN_OC_PSI_GOBBOCAVE_01"

    // hinter der Brьcke
  • GobboDemon,"SPAWN_GOBBO_LOCATION_29_03"
  • GobboDemon,"SPAWN_GOBBO_LOCATION_29_03"
  • GobboDemon,"SPAWN_GOBBO_LOCATION_29_03"
  • GobboDemon,"SPAWN_GOBBO_LOCATION_29_03"
  • GobboDemon,"SPAWN_GOBBO_LOCATION_29_03"
  • GobboDemon,"SPAWN_GOBBO_LOCATION_29_03"

    //GroЯe Hцhle nach Stollensystem
  • SkeletonMage_fogtower,"OW_FOGDUNGEON_37"

  • DMC_801_Demonic
  • DMH_1303_Rangar
  • KDW_1400_Saturas
  • MIN_301_Miner
  • MIN_302_Miner
  • MIN_303_Miner
  • MIN_304_Miner
  • MIN_305_Miner
  • PC_Fighter
  • WRK_204_Khoriner // ersatzlos rausgeflogen
  • WRK_211_Worker // rausgeflogen fьr Dyrian
  • WRK_213_Worker // rausgeflogen fьr BOTHOLO
  • WRK_215_Worker // durch WRK_228_Horatio ersetzt
  • WRK_218_Sandro // ???

  • Beschwцrungsamulett
  • DHT2S_ARMOR
  • DHT2M_ARMOR
  • DMC_ARMOR
  • HELMET
  • ItArScrollTeleport4
  • ITWR_BOOK_THIEF_01
  • ITWR_RECIPE_01
  • ITWR_SMITH_ART_01
  • ITWR_BOOK_THIEF_02
  • ITAR_SCROLLHEAL_COPY
  • ITAR_SCROLLLIGHT_COPY
  • ITWR_PHOENIXCHEAT
  • ITPO_ELEXIROFMIND


//AI_Output (self, hero, "AMZ_900_GLADIATOR_16_05"); //Ich kann dir beweisen, daЯ das nicht stimmt!
///////////////////////////////////////////////////////////////////////
// Info HI
///////////////////////////////////////////////////////////////////////
/* TEMPORДR OBSOLETE
instance KDF_1102_Morogh_HI (C_INFO)
{
npc = KDF_1102_Morogh;
nr = 2;
condition = KDF_1102_Morogh_HI_Condition;
information = KDF_1102_Morogh_HI_Info;
important = FALSE;
permanent = FALSE;

description = "(Konzentration der magischen Trдnke) ";
};

func int KDF_1102_Morogh_HI_Condition ()
{
if Npc_KnowsInfo (hero,PC_Mage_TODO)

{
return TRUE;
};
};
func void KDF_1102_Morogh_HI_Info ()
{
AI_Output (hero, self, "KDF_1102_HI_15_01"); //Ich hцrte, du suchst nach einer Mцglichkeit die Konzentration der magischen Trдnke zu erhцhen?
AI_Output (self, hero, "KDF_1102_HI_14_02"); //Tatsдchlich. Und was willst du von mir?

Info_ClearChoices (KDF_1102_Morogh_HI);

if (Npc_GetTalentSkill (hero, NPC_TALENT_ALCHEMY) >= 1 )
{
Info_AddChoice (KDF_1102_Morogh_HI,"Wir sind Kollegen",KDF_1102_Morogh_HI_PARTNER);
Info_AddChoice (KDF_1102_Morogh_HI,"Ich hab schon mal ein paar Trдnke gebraut",KDF_1102_Morogh_HI_COOL);
};

Info_AddChoice (KDF_1102_Morogh_HI,"Vielleicht kann ich dir helfen? ",KDF_1102_Morogh_HI_SUGGEST);

};
FUNC VOID KDF_1102_Morogh_HI_PARTNER()
{
AI_Output (hero, self, "KDF_1102_HI_PARTNER_15_01"); //Wir sind Kollegen.
AI_Output (self, hero, "KDF_1102_HI_PARTNER_14_02"); //

Info_ClearChoices (KDF_1102_Morogh_HI);
};
FUNC VOID KDF_1102_Morogh_HI_COOL()
{
AI_Output (hero, self, "KDF_1102_HI_COOL_15_01"); //Ich hab schon mal ein paar Trдnke gebraut.
AI_Output (self, hero, "KDF_1102_HI_COOL_14_02"); //So, dann verstehst du ja wie wichtig die Dosierung verschiedener Zutaten ist.
AI_Output (self, hero, "KDF_1102_HI_COOL_14_03"); //Ich benцtige einige Zutaten und mein Lieferant ist lдngst ьberfдllig.

Info_ClearChoices (KDF_1102_Morogh_HI);
};
FUNC VOID KDF_1102_Morogh_HI_SUGGEST()
{
AI_Output (hero, self, "KDF_1102_HI_PARTNER_15_01"); //Vielleicht kann ich dir helfen?
AI_Output (self, hero, "KDF_1102_HI_PARTNER_14_02"); //Du? Nein, ich....ja, ja warum nicht. Das ist eine gute Idee.
AI_Output (self, hero, "KDF_1102_HI_PARTNER_14_03"); //So hцre, ich bin gerade mit einem hцchst wichtigen Experiment beschдftigt.
AI_Output (self, hero, "KDF_1102_HI_PARTNER_14_04"); //Jedoch fehlen mir dazu noch einige Zutaten und mein Lieferant ist lдngst ьberfдllig.

Info_ClearChoices (KDF_1102_Morogh_HI);
};
*/
///////////////////////////////////////////////////////////////////////
// Info STOLERECIPE
///////////////////////////////////////////////////////////////////////
/*
instance MIL_100_Halvor_STOLERECIPE (C_INFO)
{
npc = MIL_100_Halvor;
nr = 1;
condition = MIL_100_Halvor_STOLERECIPE_Condition;
information = MIL_100_Halvor_STOLERECIPE_Info;
important = TRUE;
permanent = TRUE;
};

func int MIL_100_Halvor_STOLERECIPE_Condition ()
{
if Npc_HasItems(hero, ItWr_HalvorRecipe)
&& C_NpcIsInvincible(hero)
{
return TRUE;
};
};

func void MIL_100_Halvor_STOLERECIPE_Info ()
{
AI_Output (self, hero, "MIL_100_STOLERECIPE_00_01"); //Hey, was ist das?
AI_Output (self, hero, "MIL_100_STOLERECIPE_00_02"); //Das ist doch MEIN Rezeptbuch!!!
AI_Output (self, hero, "MIL_100_STOLERECIPE_00_03"); //Na warte, das gibt Prьgel!
AI_StopProcessInfos (self);
B_AttackProper (self, hero);
};
*/
//AI_Output (self, hero, "MIL_104_HI_08_05"); //Draussen im Tal erhebt sich eine riesige Lichtsдule in den Himmel. Und wer pfuscht da wieder dran rum? Die Magier des Kцnigs!
/*
instance MIL_105_Militia_Exit (C_INFO)
{
npc = MIL_105_Militia;
nr = 999;
condition = MIL_105_Militia_Exit_Condition;
information = MIL_105_Militia_Exit_Info;
important = 0;
permanent = 1;
description = DIALOG_ENDE;
};

FUNC int MIL_105_Militia_Exit_Condition()
{
return 1;
};

FUNC VOID MIL_105_Militia_Exit_Info()
{
AI_StopProcessInfos ( self );
};


instance MIL_105_Militia_CRAWLERINSIDE (C_INFO)
{
npc =MIL_105_Militia;
condition =MIL_105_Militia_CRAWLERINSIDE_Condition;
information =MIL_105_Militia_CRAWLERINSIDE_Info;
important = 1;
permanent = 0;
};

FUNC int MIL_105_Militia_CRAWLERINSIDE_Condition()
{
if (LearnBow_2 == LOG_RUNNING)
{
return TRUE;
};
};
func void MIL_105_Militia_CRAWLERINSIDE_Info()
{
AI_Output (self, other,"MIL_105_Wache_CRAWLERINSIDE_Info_00_01"); //Warte! Willst du runter in den Keller gehen?
AI_Output (other, self,"MIL_105_Wache_CRAWLERINSIDE_Info_15_02"); //Hatte ich eigentlich vor.
AI_Output (self, other,"MIL_105_Wache_CRAWLERINSIDE_Info_00_03"); //Das ist keine gute Idee. Da unten hat sich ein Crawler eingenistet. Der hat schon einen von uns zerstьckelt.
AI_Output (other, self,"MIL_105_Wache_CRAWLERINSIDE_Info_15_04"); //Deshalb gehe ich da runter. Ich tцte das Biest.
AI_Output (self, other,"MIL_105_Wache_CRAWLERINSIDE_Info_00_05"); //Du? WeiЯt du ьberhaupt wie so ein Crawler aussieht?
AI_Output (other, self,"MIL_105_Wache_CRAWLERINSIDE_Info_15_06"); //Ja, ich habe schon mal ein paar gesehen.
AI_Output (self, other,"MIL_105_Wache_CRAWLERINSIDE_Info_00_07"); //Na dann hoffe ich, das die Gцtter dir einen schnellen Tod schenken. Klingen verletzen das Vieh nдmlich nicht.
AI_Output (other, self,"MIL_105_Wache_CRAWLERINSIDE_Info_15_08"); //Fang schon mal an zu beten. Ich tцte inzwischen den Crawler.
};

instance MIL_105_Militia_CRAWLERDEAD (C_INFO)
{
npc =MIL_105_Militia;
condition =MIL_105_Militia_CRAWLERDEAD_Condition;
information =MIL_105_Militia_CRAWLERDEAD_Info;
important = 0;
permanent = 0;
description = "Der Crawler wird niemanden mehr angreifen";
};

FUNC int MIL_105_Militia_CRAWLERDEAD_Condition()
{
var C_NPC Crawler;
Crawler = Hlp_GetNpc (OC_Minecrawler);

if Npc_IsDead (Crawler)
{
return 1;
};

};
FUNC void MIL_105_Militia_CRAWLERDEAD_Info()
{
AI_Output (other, self,"MIL_105_Wache_CRAWLERDEAD_Info_15_01"); //Der Crawler wird niemanden mehr angreifen.
AI_Output (self, other,"MIL_105_Wache_CRAWLERDEAD_Info_00_02"); //Du hast in besiegt ?! Wegen dem schnellen Tod, das war nicht so gemeint. Freut mich das du noch lebst.

Info_ClearChoices (MIL_105_MiLitia_CRAWLERDEAD);
Info_AddChoice (MIL_105_MiLitia_CRAWLERDEAD,"Geht mir auch so",MIL_105_MiLitia_CRAWLERDEAD_friendly);
Info_AddChoice (MIL_105_MiLitia_CRAWLERDEAD,"Geh mir aus den Augen, Feigling!",MIL_105_MiLitia_CRAWLERDEAD_bastard);

};

FUNC VOID MIL_105_Militia_CRAWLERDEAD_friendly()
{
AI_Output (other, self,"MIL_105_Wache_CRAWLERDEAD_friendly_Info_15_01"); //Geht mir auch so.
AI_Output (self, other,"MIL_105_Wache_CRAWLERDEAD_friendly_Info_00_02"); //Trink einen auf das Wohl des Gefallenen. Wenn du mal Hilfe brauchst, ich kenne die Jungs von der Miliz.

CreateInvItems (self,ItFo_Beer,1);
B_GiveInvItems (self, other, ItFo_Beer,1);

AI_Output (other, self,"MIL_105_Wache_CRAWLERDEAD_friendly_Info_15_03"); //Ich werde darauf zurьckkommen. Hast du auch einen Namen?
AI_Output (self, other,"MIL_105_Wache_CRAWLERDEAD_friendly_Info_00_04"); //Nenn mich Pablo.

self.name = "PABLO";
};

FUNC VOID MIL_105_Militia_CRAWLERDEAD_bastard()
{
AI_Output (other, self,"MIL_105_Wache_CRAWLERDEAD_bastard_Info_15_01"); //Geh mir aus den Augen, Feigling!
AI_Output (self, other,"MIL_105_Wache_CRAWLERDEAD_bastard_Info_00_02"); //Du nennst mich einen Feigling? Du schaffst dir keine Freunde hier. Aber die braucht jemand wie du auch nicht.

};

*/
/*


instance Mil_119_Cassian_JOIN (C_INFO)
{
npc = Mil_119_Cassian;
condition = Mil_119_Cassian_JOIN_Condition;
information = Mil_119_Cassian_JOIN_Info;
description = "Ich will der Miliz beitreten";
permanent = TRUE;
};

FUNC int Mil_119_Cassian_JOIN_Condition()
{
if (Npc_KnowsInfo (hero,Infos_Mil_4_JOIN))
|| (Npc_KnowsInfo (hero,Infos_Mil_6_JOIN))
|| (Npc_KnowsInfo (hero,Infos_Mil_7_JOIN))
|| (Npc_KnowsInfo (hero,Infos_Mil_9_JOIN))

{
return TRUE;
};

};
FUNC void Mil_119_Cassian_JOIN_Info()
{
AI_Output (other, self,"Mil_119_Cassian_JOIN_Info_15_01"); //Ich will der Miliz beitreten.

if (other.attribute [ATR_STRENGTH] >= 35)// Spieler erfьllt die Bedingung
&& (Npc_GetTalentSkill (other, NPC_TALENT_1H)>= 1)
{
AI_Output (self, other,"Mil_119_Cassian_JOIN_Info_00_02"); //Gut, deine Fдhigkeiten sind ausreichend fьr den Eintritt in die Miliz. Aber du musst noch eine Prьfung ablegen. Sag mir Bescheid, wenn du bereit bist.
Info_ClearChoices (Mil_119_Cassian_JOIN);
// 1 und nicht True, weil die Variable noch weiter hochgezдhlt wird
Mil_119_Cassian_JOIN.permanent = FALSE;
}
else if (other.attribute [ATR_STRENGTH] < 35)// Spieler hat weder die erforderliche Stдrke, noch das Talent
&& (Npc_GetTalentSkill (other, NPC_TALENT_1H)== 0)
{
AI_Output (self, other,"Mil_119_Cassian_JOIN_Info_00_03"); //Komm wieder, wenn du stдrker geworden bist und ein Kampftalent beherrscht.
}
else if (other.attribute [ATR_STRENGTH] < 35)// Spieler hat das Talent, aber nicht die Stдrke
&& (Npc_GetTalentSkill (other, NPC_TALENT_1H)>= 1)
{
AI_Output (self, other,"Mil_119_Cassian_JOIN_Info_00_04"); //Du beherrscht den Umgang mit Waffen, aber du bist noch nicht stark genug.
}
else if (other.attribute [ATR_STRENGTH] >= 35)// Spieler hat die Stдrke, aber nicht das Talent
&& (Npc_GetTalentSkill (other, NPC_TALENT_1H) < 1)
{
AI_Output (self, other,"Mil_119_Cassian_JOIN_Info_00_05"); //Du bist stark genug, aber du beherrscht noch kein Kampftalent.
};

};

instance Mil_119_Cassian_GUARDTEST (C_INFO)
{
npc = Mil_119_Cassian;
condition = Mil_119_Cassian_GUARDTEST_Condition;
information = Mil_119_Cassian_GUARDTEST_Info;
description = "Ich bin bereit fьr die Prьfung";
};

FUNC int Mil_119_Cassian_GUARDTEST_Condition()
{
if( Militia_FIRST == TRUE)
{
return TRUE;
};
};
FUNC void Mil_119_Cassian_GUARDTEST_Info()
{
AI_Output (other, self,"Mil_119_Cassian_GUARDTEST_Info_15_01"); //Ich bin bereit fьr die Prьfung.
AI_Output (self, other,"Mil_119_Cassian_GUARDTEST_Info_00_02"); //Gut. Die Hauptaufgabe der Miliz besteht darin das Lager zu bewachen.
AI_Output (self, other,"Mil_119_Cassian_GUARDTEST_Info_00_03"); //Du wirst mit Soldat Osbert eine Nacht Wache am hinteren Tor schieben.
AI_Output (self, other,"Mil_119_Cassian_GUARDTEST_Info_00_04"); //Melde dich bei ihm. Er wird dich ьber alles weitere informieren.

};

instance Mil_119_Cassian_LASTTEST (C_INFO)
{
npc = Mil_119_Cassian;
condition = Mil_119_Cassian_LASTTEST_Condition;
information = Mil_119_Cassian_LASTTEST_Info;
description = "Ich habe Wache gehalten";
};

FUNC int Mil_119_Cassian_LASTTEST_Condition()
{
return TRUE;
};
FUNC void Mil_119_Cassian_LASTTEST_Info()
{
AI_Output (other, self,"Mil_119_Cassian_LASTTEST_Info_15_01"); //Ich habe Wache gehalten.
AI_Output (self, other,"Mil_119_Cassian_LASTTEST_Info_00_02"); //Gut. Osbert hat mir ausrichten lassen, das du deine Sache ganz gut gemacht hast.
AI_Output (self, other,"Mil_119_Cassian_LASTTEST_Info_00_03"); //Damit kommen wir dann zu der zweiten Prьfung.(Nachdrьcklich) Ein Kampf.
AI_Output (self, other,"Mil_119_Cassian_LASTTEST_Info_00_04"); //Gegen wen?
AI_Output (self, other,"Mil_119_Cassian_LASTTEST_Info_00_05"); //Du wirst in der Arena gegen Wylfern antreten. Sprich mit ihm, wenn du soweit bist.

};

*/
///////////////////////////////////////////////////////////////////////
// Info FINISHFIGHT
///////////////////////////////////////////////////////////////////////
/*
instance MIL_122_Arenamaster_FINISHFIGHT (C_INFO)
{
npc = MIL_122_Arenamaster;
nr = 2;
condition = MIL_122_Arenamaster_FINISHFIGHT_Condition;
information = MIL_122_Arenamaster_FINISHFIGHT_Info;
important = TRUE;
permanent = TRUE;
};

func int MIL_122_Arenamaster_FINISHFIGHT_Condition ()
{
if Arenamaster_FinishFight
{
return TRUE;
};
};

func void MIL_122_Arenamaster_FINISHFIGHT_Info ()
{
AI_Wait (self, 1);
B_Arena_ProclaimFinish (self);
AI_Wait (self, 1);

Arena_LastPCRanking = Arena_PCRanking;
Arena_PCRanking = B_Arena_GetGladiatorRanking(PC_Hero);

Arenamaster_FinishFight = FALSE;

AI_StopProcessInfos (self);
};
*/
// AI_Output (self, hero, "PC_Thief_WELCOME_11_05"); //Falls du vorhast abzuhauen, das solltest du schnell wieder vergessen. Aus diesem Tal kommt niemand mehr raus. Die Orks haben uns umzingelt.
// AI_Output (self, hero, "WRK_223_TRADEARMOR_09_04"); //Welche willst du?
// AI_Output (self, hero, "WRK_223_TRADEARMOR_09_04"); //Welche willst du?

///////////////////////////////////////////////////////////////////////
// Info WHY
///////////////////////////////////////////////////////////////////////
/*
instance WRK_225_Agon_WHY (C_INFO)
{
npc = WRK_225_Agon;
nr = 12;
condition = WRK_225_Agon_WHY_Condition;
information = WRK_225_Agon_WHY_Info;
important = FALSE;
permanent = FALSE;

description = "Warum stehen alle Hдndler mit dir unter Vertrag?";
};

func int WRK_225_Agon_WHY_Condition ()
{
return TRUE;
};

func void WRK_225_Agon_WHY_Info ()
{
AI_Output (hero, self, "WRK_225_WHY_15_01"); //Warum stehen alle Hдndler mit dir unter Vertrag?
AI_Output (self, hero, "WRK_225_WHY_09_02"); //Nun jeder Hдndler braucht Rohstoffe. Und die besorge ich ihnen.
AI_Output (self, hero, "WRK_225_WHY_09_03"); //Wie ich schon sagte, ich kann alles besorgen. Und von jedem Geschдft, das hier im Lager abgewickelt wird, bekomme ich meinen Teil!
AI_Output (hero, self, "WRK_225_WHY_15_04"); //Und wie kommst du an die Rohstoffe?
AI_Output (self, hero, "WRK_225_WHY_09_05"); //HAHAHA, das will jeder wissen. Wenn ich das preisgebe, dann verdiene ich ja nichts mehr, weil sich jeder selbst die Rohstoffe besorgen wьrde.
};
*/
///////////////////////////////////////////////////////////////////////
// Info WHO
///////////////////////////////////////////////////////////////////////
/*
instance WRK_225_Agon_WHO (C_INFO)
{
npc = WRK_225_Agon;
nr = 23;
condition = WRK_225_Agon_WHO_Condition;
information = WRK_225_Agon_WHO_Info;
important = FALSE;
permanent = FALSE;

description = "Mit welchen Hдndlern machst du Geschдfte?";
};

func int WRK_225_Agon_WHO_Condition ()
{
return TRUE;
};

func void WRK_225_Agon_WHO_Info ()
{
AI_Output (hero, self, "WRK_225_WHO_15_01"); //Mit welchen Hдndlern machst du Geschдfte?
AI_Output (self, hero, "WRK_225_WHO_09_02"); //Die beiden Bogner, Helvegor und Osric.
AI_Output (self, hero, "WRK_225_WHO_09_03"); //Ruga der Rьstungsmacher und Gordian der Schreiber.
AI_Output (self, hero, "WRK_225_WHO_09_04"); //Ich beliefere auch Gotmar den Schmied, Bromor den Baumeister und die Kцche Snaf und Halvor.
AI_Output (self, hero, "WRK_225_WHO_09_05"); //Du siehst, ich bin einer der wichtigsten Mдnner im Lager. MUAHAHAHA
};
*/
/*


INSTANCE PC_Fighter_TRAIN2 (C_INFO)
{
npc = PC_Fighter;
nr = 10;
condition = PC_Fighter_TRAIN2_Condition;
information = PC_Fighter_TRAIN2_Info;
permanent = 1;
description = B_BuildLearnString(NAME_Learn1h_2, LPCOST_TALENT_1H_2,0);
};

FUNC INT PC_Fighter_TRAIN2_Condition()
{
if (Npc_KnowsInfo(hero,PC_Fighter_FIRSTMISSION))
{
return 1;
};
};

FUNC VOID PC_Fighter_TRAIN2_Info()
{
AI_Output (other,self,"PC_Fighter_TRAIN2_Info_15_00"); //Ich will den Kampf mit einhдndigen Waffen perfekt beherrschen.

if (B_GiveSkill(other, NPC_TALENT_1H, 2, LPCOST_TALENT_1H_2))
{
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_01"); //Ein gute Absicht. Egal was du lernst, lerne es richtig.
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_02"); //Kampfhaltung und Schlag- Kombinationen wirst du mit der Zeit schon beherrschen.
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_03"); //Es gibt verschiedene Kampftechniken. Du kannst den Gegener stдndig umkreisen und gezielt zuschlagen. Aber davon bin ich kein Freund.
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_04"); //Ich schlage zu und falls es notwendig ist, schlage ich nochmal. Bis er am Boden liegt. Dann den nдchsten.
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_05"); //So kдmpfe ich. Schnell und hart. Alles andere ist Frauentanz.
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_06"); //Zeig mir mal wie du die Keule schwingst. Es gibt zwei Jungs vonner Miliz, die schlagen sich zu gerne mit den Arbeitern. Verpasse ihnen eine Lektion!
AI_Output (self,other,"PC_Fighter_TRAIN2_Info_22_07"); //Die beiden Typen heissen 106 und 107. Mach sie fertig, aber bring sie nicht um.
CreateInvItem (self, ItFo_Beer);
AI_UseItem (self, ItFo_Beer);

PC_Fighter_TRAIN2.permanent = 0;

};


};

// Kampf mit Zweihдndigen Waffen

instance PC_Fighter_ZWEIHAND1 (C_INFO)
{
npc = PC_Fighter;
condition = PC_Fighter_ZWEIHAND1_Condition;
information = PC_Fighter_ZWEIHAND1_Info;
important = 0;
permanent = 1;
description = B_BuildLearnString(NAME_Learn2h_1, LPCOST_TALENT_2H_1,0);
};

FUNC int PC_Fighter_ZWEIHAND1_Condition()
{
if (Npc_GetTalentSkill (hero,NPC_TALENT_1H) == 2)
&& (Npc_GetTalentSkill (hero,NPC_TALENT_2H) < 1)

{
return 1;
};

};
FUNC void PC_Fighter_ZWEIHAND1_Info()
{

AI_Output (other, self,"PC_Fighter_ZWEIHAND1_Info_15_01"); //Ich mцchte den Umgang mit dem Zweihдnder lernen.


if (B_GiveSkill(other,NPC_TALENT_2H , 1, LPCOST_TALENT_2H_1))
{
AI_Output (self, other,"PC_Fighter_ZWEIHAND1_Info_09_02"); //Nun, dann will ich dir mal ein paar Takte erzдhlen.

CreateInvItem (self, ItFo_Beer);
AI_UseItem (self, ItFo_Beer);

AI_Output (self, other,"PC_Fighter_ZWEIHAND1_Info_22_03"); //Zweihдnder das sind die richtigen Waffen. Ich selber bevorzuge meine Axt, aber auch die Schwerter schneiden gute Wunden.
AI_Output (self, other,"PC_Fighter_ZWEIHAND1_Info_22_04"); //Fьr so einen Zweihдnder brauchst du ordentlich Stдrke. Erst dann kannst du die tцdlichen Schlдge durchziehen.
AI_Output (self, other,"PC_Fighter_ZWEIHAND1_Info_22_05"); //Ich habe schon viele Kerle gesehen die stolz einen Zweihдnder trugen, aber nicht mal eine Kombination schlagen konnten.
AI_Output (self, other,"PC_Fighter_ZWEIHAND1_Info_22_06"); //Klar, es geht auch ohne Kombinationen. Wenn du die Waffe nur seitlich schwingst, bremst du die Bewegungen deines Opfers.
AI_Output (self, other,"PC_Fighter_ZWEIHAND1_Info_22_07"); //Drei, vier krдftige Schlдge und jeder Mann geht zu Boden. Deshalb liebe ich diese Waffen.

PC_Fighter_ZWEIHAND1.permanent = 0;
};
};
//-------------------------------------------------------------------------
// ZWEIHANDKAMPF LERNEN STUFE 2
//-------------------------------------------------------------------------
instance PC_Fighter_ZWEIHAND2 (C_INFO)
{
npc = PC_Fighter;
condition = PC_Fighter_ZWEIHAND2_Condition;
information = PC_Fighter_ZWEIHAND2_Info;
important = 0;
permanent = 1;
description = B_BuildLearnString(NAME_Learn2h_2, LPCOST_TALENT_2H_2,0);
};

FUNC int PC_Fighter_ZWEIHAND2_Condition()
{
if (Npc_GetTalentSkill (hero,NPC_TALENT_2H) == 1)

{
return TRUE;
};

};
FUNC void PC_Fighter_ZWEIHAND2_Info()
{
AI_Output (other, self,"PC_Fighter_ZWEIHAND2_Info_15_01"); //Ich mцchte mehr ьber den zweihдndigen Kampf lernen.

if (B_GiveSkill(other,NPC_TALENT_2H , 2, LPCOST_TALENT_2H_2))
{
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_02"); //Das groЯe Waffen groЯen Schaden machen weiЯt du ja bereits.
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_03"); //Ich kannte mal einen Typen der konnte stundenlang von Kombinationen und Blockhaltungen sprechen.
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_04"); //Eines Tages, als er wieder am Feuer saЯ und erzдhlte, stand einer auf und erschlug ihn.
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_05"); //Sei immer vorbereitet und auf der Hut. Erwarte nichts und rechne mit allem.
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_06"); //Lerne deine Waffe kennen und benutze sie dafьr, wofьr sie da ist.
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_07"); //Und wenn du schon den Lцffel abgibst, dann nimm soviele Bastarde mit, wie du kriegen kannst.
AI_Output (self, other,"PC_Fighter_ZWEIHAND2_Info_22_08"); //Soviel dazu.

CreateInvItem (self, ItFo_Beer);
AI_UseItem (self, ItFo_Beer);

PC_Fighter_ZWEIHAND2.permanent = 0 ;
};
};
*/
/*------------------------------------------------------------------------
ARMBRUST TALK
------------------------------------------------------------------------*/
/*
instance PC_Fighter_CROSSBOW (C_INFO)
{
npc = PC_Fighter;
condition = PC_Fighter_CROSSBOW_Condition;
information = PC_Fighter_CROSSBOW_Info;
important = 0;
permanent = 1;
description = B_BuildLearnString(NAME_LearnCrossbow_1,LPCOST_TALENT_CROSSBOW_1,0);
};

FUNC int PC_Fighter_CROSSBOW_Condition()
{
if (Npc_GetTalentSkill (other, NPC_TALENT_BOW) == 2)
&& (Npc_KnowsInfo(other,PC_Fighter_NEEDTRAINING))
{
return TRUE;
};
};
FUNC void PC_Fighter_CROSSBOW_Info()
{
AI_Output (other, self,"PC_Fighter_CROSSBOW_OK_15_01"); //Zeig mir den Umgang mit der Armbrust.

if (B_GiveSkill(other,NPC_TALENT_CROSSBOW , 1, LPCOST_TALENT_CROSSBOW_1))
{
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_02"); //Gut, fangen wir direkt an. Die Armbrust ist eine Waffe mit Zukunft.
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_03"); //Die Mechanik macht es sogar einer Frau mцglich, dir einen Bolzen durch den Schдdel zu jagen.
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_04"); //Allerdings haben die Frauen nicht die Kraft die Armbrust wieder zu spannen. HAHAHA
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_05"); //Wie auch immer,es ist immer wieder der gleiche Vorgang: Spannen, Bolzen einlegen, zielen und durchziehen.
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_06"); //Denk daran, die Armbrust ist eine Fernkampfwaffe. Setze sie nur ein, wenn deine Opfer in entsprechender Entfernung sind.
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_07"); //Du kannst auch direkt mal was fьr mich tun.
AI_Output (self, other,"PC_Fighter_CROSSBOW_OK_09_08"); //Mehrere Blutfliegen haben am hinteren Lagertor einen Arbeiter angegriffen. Erledige sie mit deinen Bolzen!

PC_Fighter_CROSSBOW.permanent = 0;
};

};

/*------------------------------------------------------------------------
ARMBRUST TALENT2
------------------------------------------------------------------------*/
/*
instance PC_Fighter_CROSSBOW2 (C_INFO)
{
npc = PC_Fighter;
condition = PC_Fighter_CROSSBOW2_Condition;
information = PC_Fighter_CROSSBOW2_Info;
important = 0;
permanent = 1;
description = B_BuildLearnString(NAME_LearnCrossbow_2,LPCOST_TALENT_CROSSBOW_2,0);
};

FUNC int PC_Fighter_CROSSBOW2_Condition()
{
if (Npc_GetTalentSkill ( hero, NPC_TALENT_CROSSBOW ) == 1)
{
return TRUE;
};

};
FUNC void PC_Fighter_CROSSBOW2_Info()
{
AI_Output (other, self,"PC_Fighter_CROSSBOW2_OK_15_01"); //Ich will die Meisterschaft mit der Armbrust lernen.

if (B_GiveSkill(other,NPC_TALENT_CROSSBOW , 2, LPCOST_TALENT_CROSSBOW_2))
{
AI_Output (self, other,"PC_Fighter_CROSSBOW2_OK_09_02"); //So, du willst ein Meister werden?
AI_Output (self, other,"PC_Fighter_CROSSBOW2_OK_09_03"); //Sieh zu das du nicht mit einer leichten Armbrust rumlдufst, sondern besorge dir die Teile, die ordentlich Lцcher reissen.
AI_Output (self, other,"PC_Fighter_CROSSBOW2_OK_09_04"); //Wenn du gegen mehrere Gegner kдmpfst, dann arbeite mit schnellen Zielwechseln. So kannst du sie aufhalten.
AI_Output (self, other,"PC_Fighter_CROSSBOW2_OK_09_05"); //Und sorge dafьr das du immer genug Bolzen hast. Wenn die ersten Schьsse nicht ausreichen, um dein Opfer zu tцten, jage soviele hinterher, wie du brauchst.
AI_Output (self, other,"PC_Fighter_CROSSBOW2_OK_09_06"); //Bolzen sind billig und deine Haut ist teuer. Denk daran wenn du im Wald stehst und keine Bolzen mehr hast. HAHAHA
AI_Output (self, other,"PC_Fighter_CROSSBOW2_OK_09_07"); //Die Blutfliegen mьssen irgendwo ein Nest haben. Finde es und lцsche die gesamte Brut aus!
CreateInvItem (self, ItFo_Beer);
AI_UseItem (self, ItFo_Beer);
PC_Fighter_CROSSBOW2.permanent = 0;
};

};
*/
/*
instance POS_600_Jurgi_KEY (C_INFO)
{
npc = POS_600_Jurgi;
condition = POS_600_Jurgi_NORMAL_Condition;
information = POS_600_Jurgi_NORMAL_Info;
description = "Sag mir wo Lesters Schlьssel ist";
};

FUNC int POS_600_Jurgi_NORMAL_Condition()
{
if (Circle_1 == LOG_RUNNING)
&& (Npc_GetTempAttitude (self,other)== ATT_FRIENDLY)
{
return 1;
};

};
FUNC void POS_600_Jurgi_NORMAL_Info()
{
AI_Output (other, self,"POS_600_Jurgi_NORMAL_Info_15_01"); //Sag mir wo Lesters Schlьssel ist!
AI_Output (self, other,"POS_600_Jurgi_NORMAL_Info_00_02"); //Wer....wer bist du?
AI_Output (other, self,"POS_600_Jurgi_NORMAL_Info_15_03"); //Ich bin hier um dir zu helfen. Wir haben nicht viel Zeit, also bitte ich dich. Denk nach. Wo ist der Schlьssel von Lester?
AI_Output (self, other,"POS_600_Jurgi_NORMAL_Info_00_04"); //Der Schlьssel....Lester....
AI_Output (other, self,"POS_600_Jurgi_NORMAL_Info_15_05"); //Bei allen Gцttern, wo ist der Schlьssel?
AI_Output (self, other,"POS_600_Jurgi_NORMAL_Info_00_06"); //Der Schlьssel...er liegt im Magierhaus... daundda.
AI_Output (other, self,"POS_600_Jurgi_NORMAL_Info_15_07"); //Danke. Du hast mir geholfen.
AI_Output (self, other,"POS_600_Jurgi_NORMAL_Info_00_08"); //Jetzt hilf du mir! Tцte mich, bitte ich kann die Schmerzen nicht lдnger ertragen.
};

instance POS_600_Jurgi_IMPORTANT (C_INFO)
{
npc = POS_600_Jurgi;
condition = POS_600_Jurgi_IMPORTANT_Condition;
information = POS_600_Jurgi_IMPORTANT_Info;
important = 1;

};

FUNC int POS_600_Jurgi_IMPORTANT_Condition()
{
if (Circle_1 == LOG_RUNNING)
&& (Npc_KnowsInfo (hero,POS_600_Jurgi_KEY))
{
return 1;
};
};
func void POS_600_Jurgi_IMPORTANT_Info()
{
AI_Output (self, other,"POS_600_Jurgi_IMPORTANT_Info_15_01"); //!!!!TЦTE MICH !!!!
AI_StopProcessInfos (self);
B_SetAttitude (self, ATT_HOSTILE);
Npc_SetTarget (self,other);
AI_StartState (self,ZS_ATTACK,1,"");
};
*/
/***************************Permanent*************************************************/
/*
instance POS_601_Paskara_HALLO2 (C_INFO)
{
npc = POS_601_Paskara;
nr = 1;
condition = POS_601_Paskara_HALLO2_Condition;
information = POS_601_Paskara_HALLO2_Info;
important = 0;
permanent = 1;
description = "Ahh, der Kцnigskrieger";
};

FUNC int POS_601_Paskara_HALLO2_Condition()
{
if (Npc_KnowsInfo (hero,POS_601_Paskara_HALLO))
{
return TRUE;
}
else
{
return FALSE;
};
};

func void POS_601_Paskara_HALLO2_Info()
{
AI_Output (other, self,"POS_601_Paskara_HALLO2_Info_15_01"); //Ahh, der Kцnigkrieger. Noch nicht gerettet worden?
AI_Output (self, other,"POS_601_Paskara_HALLO2_Info_00_02"); //Ich weiЯ er wird mich retten.

};
/***************************Hallo*************************************************/
/*

instance POS_601_Paskara_HALLO (C_INFO)
{
npc = POS_601_Paskara;
nr = 1;
condition = POS_601_Paskara_HALLO_Condition;
information = POS_601_Paskara_HALLO_Info;
important = 0;
permanent = 0;
description = "Hallo";
};

FUNC int POS_601_Paskara_HALLO_Condition()
{
return TRUE;
};

func void POS_601_Paskara_HALLO_Info()
{
AI_Output (other, self,"POS_601_Paskara_HALLO_Info_15_01"); //Hallo...
AI_Output (self, other,"POS_601_Paskara_HALLO_Info_00_02"); //(Дngstlich)Haben sie Dich geschickt?

Info_ClearChoices ( POS_601_Paskara_HALLO );
Info_AddChoice ( POS_601_Paskara_HALLO, "Bis bald" , POS_601_Paskara_Exit_Info );

Info_AddChoice ( POS_601_Paskara_HALLO, "Wie, wer hat mich geschickt?" , POS_601_Paskara_Geschickt );
Info_AddChoice ( POS_601_Paskara_HALLO, "Nein, ich wollte nur ein wenig mit Dir reden." , POS_601_Paskara_Reden );
};

//*******************************************************************************
func void POS_601_Paskara_Geschickt()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Geschickt_15_01"); //Wie, wer hat mich geschickt?
AI_Output ( self, other, "POS_601_Paskara_Geschickt_00_02"); //Die Dдmonen. LaЯ mich in Ruhe, denn die Armee des Kцnigs sucht mich bereits.

Info_AddChoice ( POS_601_Paskara_HALLO, "Welche Dдmone?" , POS_601_Paskara_Daemonen );
Info_AddChoice ( POS_601_Paskara_HALLO, "Was hast du mit der Armee des Kцnigs zu tun,..." , POS_601_Paskara_Koenig1 );
};

func void POS_601_Paskara_Daemonen()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Daemonen_15_01"); //Welche Dдmonen?
AI_Output ( self, other, "POS_601_Paskara_Daemonen_00_02"); //Nein aus mir wirst Du nichts rausbekommen.

AI_StopProcessInfos ( self );
};

func void POS_601_Paskara_Koenig1()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_PaskaraKoenig1_15_01"); //Was hast du mit der Armee des Kцnigs zu tun, dass Du denkst Sie wьrden Dich retten?
AI_Output ( self,other, "POS_601_PaskaraKoenig1_00_02"); //Ich bin einer von Ihnen. (Stolz) Ja ich bin in den Diensten des Kцnigs.
AI_Output ( other,self, "POS_601_PaskaraKoenig1_15_03"); //Eigentlich wollte ich wissen, wie Du ein Besessener geworden bist.
AI_Output ( self,other, "POS_601_PaskaraKoenig1_00_04"); //Sie haben Dich also doch geschickt. Vergiss es, ich werde nicht mehr mit Dir reden.

AI_StopProcessInfos ( self );
};
//*****************************Reden****************************************

func void POS_601_Paskara_Reden()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Reden_15_01"); //Nein, ich wollte nur ein wenig mit Dir reden.
AI_Output ( self,other, "POS_601_Paskara_Reden_00_02"); //Gut Du muЯt nдmlich wissen, dass ich fьr den Kцnig gekдmpft habe. Der wird mich retten lassen.
AI_Output ( other,self, "POS_601_Paskara_Reden_15_03"); //Wovor wird er Dich retten?
AI_Output ( self,other, "POS_601_Paskara_Reden_00_04"); //Ich habe mir im Kampf fьr den Kцnig eine todbringende Wunde zugezogen. Hier kann mir niemand helfen. Aber der Kцnig wird kommen.
AI_Output ( other,self, "POS_601_Paskara_Reden_15_05"); //Wie bist du an diese Wunde gekommen?
AI_Output ( self,other, "POS_601_Paskara_Reden_00_06"); //Ich habe den Kцnig mit meinem Leben verteidigt und bin einem Dдmon zu nahe gekommen.

Info_AddChoice ( POS_601_Paskara_HALLO, "Du bist ihm nur zu nahe gekommen und das hat gereicht?" , POS_601_Paskara_Nahe );
Info_AddChoice ( POS_601_Paskara_HALLO, "Wow vielleicht kann ich noch etwas von Dir lernen." , POS_601_Paskara_Lernen );
};


func void POS_601_Paskara_Nahe()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Nahe_15_01"); //Du bist ihm nur zu nahe gekommen und das hat gereicht?
AI_Output ( self, other, "POS_601_Paskara_Nahe_00_02"); //Du bist gekommen um mich auszuspionieren, oder?
AI_Output ( other,self, "POS_601_Paskara_Nahe_15_03"); //Nein.
AI_Output ( self, other, "POS_601_Paskara_Nahe_00_04"); //VergiЯ es ich werde nicht mit einem Spion sprechen.

AI_StopProcessInfos (self);
};

func void POS_601_Paskara_Lernen()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Lernen_15_01"); //Wow vielleicht kann ich noch etwas von Dir lernen.
AI_Output ( self, other, "POS_601_Paskara_Lernen_00_02"); //Gerne. Was willst du wissen

Info_AddChoice ( POS_601_Paskara_HALLO, Dialog_Back , POS_601_Paskara_Back );
Info_AddChoice ( POS_601_Paskara_HALLO, "Wie kдmpfen die Dдmonen?" , POS_601_Paskara_Kampf );
Info_AddChoice ( POS_601_Paskara_HALLO, "Mit welchen Waffen kannst Du umgehen?" , POS_601_Paskara_Waffen );
Info_AddChoice ( POS_601_Paskara_HALLO, "Wie versucht man Dir hier zu helfen?" , POS_601_Paskara_Helfen );
};

func void POS_601_Paskara_Back()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );
};


func void POS_601_Paskara_Kampf()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Kampf_15_01"); //Wie kдmpfen die Dдmonen.
AI_Output ( self, other, "POS_601_Paskara_Kampf_00_02"); //Es sind immer viele und sie versuchen Dich zu beiЯen.
};

//**********************Helfen****************
func void POS_601_Paskara_Helfen()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Helfen_15_01"); //Wie versucht man Dir hier zu helfen?
AI_Output ( self, other, "POS_601_Paskara_Helfen_00_02"); //Gar nicht. Hier warten alle nur darauf zu sterben.

Info_AddChoice ( POS_601_Paskara_HALLO, "Und was machst Du?" , POS_601_Paskara_Du );
Info_AddChoice ( POS_601_Paskara_HALLO, "Na da ist es ja gut, dass Du bald gerettet wirst" , POS_601_Paskara_Bald );

};

func void POS_601_Paskara_Du()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Du_15_01"); //Und was machst Du?
AI_Output ( self, other, "POS_601_Paskara_Du_00_02"); //Was willst Du damit sagen? Nein sprich nicht weiter, ich habe Dir schon viel zu viel erzдhlt.

AI_StopProcessInfos ( self );
};

func void POS_601_Paskara_Bald()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Bald_15_01"); //Na da ist es ja gut, dass Du bald gerettet wirst
AI_Output ( self, other, "POS_601_Paskara_Bald_00_02"); //Ja ich warte jeden Tag. Aber jetzt laЯ ich in Ruhe.

AI_StopProcessInfos ( self );
};


//*****************Waffen****************
func void POS_601_Paskara_Waffen()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Waffen_15_01"); //Mit welchen Waffen kannst Du umgehen.
AI_Output ( self, other, "POS_601_Paskara_Waffen_00_02"); //Mit allen ein wenig. Das reichte mir immer. Ich bin eigentlich...hmmm... ein Spion des Kцnigs. Ich kann mich besonders gut tarnen.

Info_AddChoice ( POS_601_Paskara_HALLO, "Das scheint ja nicht geklappt zu haben bei den Dдmonen." , POS_601_Paskara_Geklappt );
Info_AddChoice ( POS_601_Paskara_HALLO, "Bei Kampf gegen die Dдmonen bist Du aber doch im direkten Zweikampf gewesen." , POS_601_Paskara_Zweikampf );

};

func void POS_601_Paskara_Geklappt()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Geklappt_15_01"); //Das scheint ja nicht geklappt zu haben bei den Dдmonen.
AI_Output ( self, other, "POS_601_Paskara_Geklappt_00_02"); //Nein. Die nehmen einen nicht mit Augen oder Ohren wahr. Eigentlich hдtte ich gar nicht gesehen werden kцnnen.
};

func void POS_601_Paskara_Zweikampf()
{
Info_ClearChoices ( POS_601_Paskara_HALLO );

AI_Output ( other,self, "POS_601_Paskara_Zweikampf_15_01"); //Bei Kampf gegen die Dдmonen bist Du aber doch im direkten Zweikampf gewesen?
AI_Output ( self, other, "POS_601_Paskara_Zweikampf_00_02"); //Nein die hatte mich umzingelt. es waren viele.
};


//*****************************************************************************
*/
/*
//********************************** Permanent *************************************************

instance POS_602_Halbert_HALLO2 (C_INFO)
{
npc = POS_602_Halbert;
nr = 1;
condition = POS_602_Halbert_HALLO2_Condition;
information = POS_602_Halbert_HALLO2_Info;
important = 0;
permanent = 1;
description = "Du erinnerst Dich noch an mich";
};

FUNC int POS_602_Halbert_HALLO2_Condition()
{
if (Npc_KnowsInfo (hero,POS_602_Halbert_HALLO))
{
return TRUE;
}
else
{
return FALSE;
};
};

func void POS_602_Halbert_HALLO2_Info()
{
AI_Output (other, self,"POS_602_Halbert_HALLO2_Info_15_01"); //Du erinnerst Dich noch an mich?
AI_Output (self, other,"POS_602_Halbert_HALLO2_Info_00_02"); //Ja,ja.

};
//************************************** Hallo *************************************************


instance POS_602_Halbert_HALLO (C_INFO)
{
npc = POS_602_Halbert;
nr = 1;
condition = POS_602_Halbert_HALLO_Condition;
information = POS_602_Halbert_HALLO_Info;
important = 0;
permanent = 0;
description = "Hallo";
};

FUNC int POS_602_Halbert_HALLO_Condition()
{
return TRUE;
};

func void POS_602_Halbert_HALLO_Info()
{
AI_Output (other, self,"POS_602_Halbert_HALLO_Info_15_01"); //Hallo...
AI_Output (self, other,"POS_602_Halbert_HALLO_Info_00_02"); //Was, wer,...?
AI_Output (other, self,"POS_602_Halbert_HALLO_Info_15_03"); //Ich bin der Auserwдhlte.
AI_Output (self, other,"POS_602_Halbert_HALLO_Info_00_04"); //Ahh, aus dem neuen Lager.

Info_ClearChoices ( POS_602_Halbert_HALLO );

Info_AddChoice ( POS_602_Halbert_HALLO, "Nein ich gehцrte ursprьnglich zum Alten Lager" , POS_602_Halbert_AL );
Info_AddChoice ( POS_602_Halbert_HALLO, "Nein ich gehцrte ursprьnglich zum Sektenlager" , POS_602_Halbert_SL );
Info_AddChoice ( POS_602_Halbert_HALLO, "Ja ich war Mitglied von Lares." , POS_602_Halbert_NL );
Info_AddChoice ( POS_602_Halbert_HALLO, "Nein ich bin neu hier." , POS_602_Halbert_Neu );
};

//*************************************Hallo - AL******************************************
func void POS_602_Halbert_AL()
{
AI_Output ( other, self, "POS_602_Halbert_AL_15_01"); //Nein ich gehцrte ursprьnglich zum Alten Lager.
AI_Output ( self, other, "POS_602_Halbert_AL_00_02"); //(Schreit) Hilfe....

AI_StopProcessInfos ( self );
};

//*************************************Hallo - SL****************************************

func void POS_602_Halbert_SL()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_SL_15_01"); //Nein ich gehцrte ursprьnglich zum Sektenlager.
AI_Output ( self, other, "POS_602_Halbert_SL_00_02"); //Noch einer der mich vergiften will mit seinen Krдutern. Von wegen liberal.

Info_AddChoice ( POS_602_Halbert_HALLO, Dialog_Back , POS_602_Halbert_Back );
Info_AddChoice ( POS_602_Halbert_HALLO, "Was ist aus dem Sektenlager geworden?" , POS_602_Halbert_SLNow );
Info_AddChoice ( POS_602_Halbert_HALLO, "Wieso will dich jemand mit den Krдutern vergiften" , POS_602_Halbert_SLtot );
Info_AddChoice ( POS_602_Halbert_HALLO, "Das Sektenlager war nie parteiisch" , POS_602_Halbert_Partei );
};

//*** Back ***
func void POS_602_Halbert_Back()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );
};

//*** Kraeuter ***
func void POS_602_Halbert_SLtot()
{
AI_Output ( other, self, "POS_602_Halbert_SLtot_15_01"); //Wieso will dich jemand mit den Krдutern vergiften?
AI_Output ( self, other, "POS_602_Halbert_SLtot_00_02"); //Ich will das Gift nicht. (Schreit) Hilfe...

AI_StopProcessInfos ( self );
};

//*** Partei ***
func void POS_602_Halbert_Partei()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_Partei_15_01"); //Das Sektenlager war nie parteiisch.
AI_Output ( self, other, "POS_602_Halbert_Partei_00_02"); //Damit sie Ihr gift an alle verteilen konnten.

Info_AddChoice ( POS_602_Halbert_HALLO, "Konnten? Das heiЯt es gibt das Sektenlager nicht mehr?" , POS_602_Halbert_SLhin );
Info_AddChoice ( POS_602_Halbert_HALLO, "Wir haben kein Gift hergestellt." , POS_602_Halbert_NoGift );
};

func void POS_602_Halbert_SLhin()
{
AI_Output ( other, self, "POS_602_Halbert_SLhin_15_01"); //Konnten? das heiЯt es gibt das Sektenlager nicht mehr?
AI_Output ( self, other, "POS_602_Halbert_SLhin_00_02"); //Nein. Und jetzt laЯ mich in Ruhe oder ich schreie um Hilfe.

AI_StopProcessInfos ( self );
};

func void POS_602_Halbert_NoGift()
{
AI_Output ( other, self, "POS_602_Halbert_NoGift_15_01"); //Wir haben kein Gift hergestellt.
AI_Output ( self, other, "POS_602_Halbert_NoGift_00_02"); //Das sagen sie hier auch (Schreit) Hilfe...

AI_StopProcessInfos ( self );
};


//*** SLNow ***
func void POS_602_Halbert_SLNow()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_SLNow_15_01"); //Was ist aus dem Sektenlager geworden?
AI_Output ( self, other, "POS_602_Halbert_SLNow_00_02"); //Nein ich will keine Krдuter, das ist sowieso alles Gift und ich habe so schon genug Halluzinationen.

Info_AddChoice ( POS_602_Halbert_HALLO, Dialog_Back , POS_602_Halbert_Back );
Info_AddChoice ( POS_602_Halbert_HALLO, "Ich wollte doch nur wissen, was aus dem Sektenlager geworden ist?" , POS_602_Halbert_SLFinal );
Info_AddChoice ( POS_602_Halbert_HALLO, "Du hast Halluzinationen?" , POS_602_Halbert_Hallus );
Info_AddChoice ( POS_602_Halbert_HALLO, "Wir haben kein Gift hergestellt!" , POS_602_Halbert_NoGift );
};

func void POS_602_Halbert_SLFinal()
{
AI_Output ( other, self, "POS_602_Halbert_SLFinal_15_01");//Ich wollte doch nur wissen..
AI_Output ( self, other, "POS_602_Halbert_SLFinal_00_02");//Ich will das Gift nicht. (Schreit) Hilfe...

AI_StopProcessInfos ( self );
};

func void POS_602_Halbert_Hallus()
{
AI_Output ( other, self, "POS_602_Halbert_Hallus_15_01"); //Du hast Halluzinationen.
AI_Output ( self, other, "POS_602_Halbert_Hallus_00_02"); //Ja aber das kennst du ja. Jetzt lass mich in Ruhe.

AI_StopProcessInfos ( self );
};

//**********************Hallo - NL****************
func void POS_602_Halbert_NL()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_NL_15_01"); //Ja ich war Mitglied von Lares.
AI_Output ( self, other, "POS_602_Halbert_NL_00_02"); //Gut. Ich warne Dich. Hier versuchen Sie alle ehemaligen Mitglieder des neuen Lagers zu vergiften. Sieh Dir die armen Gestallten hier an.
AI_Output ( self, other, "POS_602_Halbert_NL_00_03"); //Die meisten haben sogar schon vergessen, dass wie sie hergekommen sind. Sie phantasieren und glauben an Dдmonen.Pah.

Info_AddChoice ( POS_602_Halbert_HALLO, "Ja das haben sie mir auch alle erzдhlt" , POS_602_Halbert_Erzaehlt );
Info_AddChoice ( POS_602_Halbert_HALLO, "Du bist ja verrьckt" , POS_602_Halbert_Wirr );
Info_AddChoice ( POS_602_Halbert_HALLO, "Kannst du mir helfen?" , POS_602_Halbert_Helfen );

};

func void POS_602_Halbert_Wirr()
{
AI_Output ( other, self, "POS_602_Halbert_Wirr_15_01"); //Du bist ja verrьckt.
AI_Output ( self, other, "POS_602_Halbert_Wirr_00_02"); //Nein. Ich habe die Sache durchschaut. Bitte nimm nichts mehr von der Medizin, die verwirrt Dich nur.
AI_Output ( self, other, "POS_602_Halbert_Wirr_00_03"); //Ich habe wichtiges zu tun. Bis bald.

AI_StopProcessInfos ( self );
};

//*** Erzдhlt ***
func void POS_602_Halbert_Erzaehlt()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_Erzaehlt_15_01"); //Ja das haben sie mir auch alle erzдhlt.
AI_Output ( self, other, "POS_602_Halbert_Erzaehlt_00_02"); //Die armen Seelen. Ich glaube, das neue Lager steht kurz vor einem Angriff auf das Alte Lager und dann werden wir befreit.

Info_AddChoice ( POS_602_Halbert_HALLO, "Hoffentlich" , POS_602_Halbert_Hoffentlich );
Info_AddChoice ( POS_602_Halbert_HALLO, "Das neue Lager existiert gar nicht mehr.", POS_602_Halbert_NLtot );
};

func void POS_602_Halbert_Hoffentlich()
{
AI_Output ( other, self, "POS_602_Halbert_Hoffentlich_15_01"); //Hoffentlich. Aber nun werde ich weitergehen. Danke fьr die Warnung.
AI_Output ( self, other, "POS_602_Halbert_Hoffentlich_00_02"); //PaЯ auf dich auf

AI_StopProcessInfos ( self );
};

func void POS_602_Halbert_NLtot()
{
AI_Output ( other, self, "POS_602_Halbert_NLtot_15_01"); //Das neue Lager existiert gar nicht mehr.
AI_Output ( self, other, "POS_602_Halbert_NLtot_00_02"); //Oh mist. Dann werden wir von innen aktiv werden mьssen. Danke fьr die Information.
AI_Output ( self, other, "POS_602_Halbert_NLtot_00_03"); //Ich muЯ die anderen .... hmmm... bis spдter. (Versingt in Gedanken)

AI_StopProcessInfos ( self );
};


//*** Helfen ***
func void POS_602_Halbert_Helfen()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_Helfen_15_01"); //Kannst du mir helfen.
AI_Output ( self, other, "POS_602_Halbert_Helfen_00_02"); //Hier kommt niemand raus. Das haben schon viele versucht. Aber sie sind alle gestorben und glaube mir ich bin scho nlange hier.

Info_AddChoice ( POS_602_Halbert_HALLO, "Nein ich meine wegen der Besessenen" , POS_602_Halbert_Besessenen );
Info_AddChoice ( POS_602_Halbert_HALLO, "Das neue Lager wird es schaffen" , POS_602_Halbert_Schaffen );
};

func void POS_602_Halbert_Besessenen()
{
AI_Output ( other, self, "POS_602_Halbert_Besessenen_15_01"); //Nein ich meine...
AI_Output ( self, other, "POS_602_Halbert_Besessenen_00_02"); //VergiЯ es. Du bist ja ien Spinner. LaЯ mich in Ruhe. Bis dann.

AI_StopProcessInfos ( self );
};

func void POS_602_Halbert_Schaffen()
{
AI_Output ( other, self, "POS_602_Halbert_Schaffen_15_01"); //Das neue Lager wird es schaffen.
AI_Output ( self, other, "POS_602_Halbert_Schaffen_00_02"); //Ja auf jeden Fall. Wir mьssen nur warten und dьrfen diese Medizin nicht zu uns nehmen.
AI_Output ( self, other, "POS_602_Halbert_Schaffen_15_03"); //Ja bis dann.
AI_Output ( self, other, "POS_602_Halbert_Schaffen_00_04"); //Bleib wachsam.

AI_StopProcessInfos ( self );
};


//*******************************************Neu******************************************************
func void POS_602_Halbert_Neu()
{
Info_ClearChoices ( POS_602_Halbert_HALLO );

AI_Output ( other, self, "POS_602_Halbert_Neu_15_01"); //Nein ich bin neu hier.
AI_Output ( self, other, "POS_602_Halbert_Neu_00_02"); //Ah gerade erst durch die Barriere hier reingekommen.
AI_Output ( self, other, "POS_602_Halbert_Neu_00_03"); //Dann laЯ Dir sagen, dass die Erzbarone mit Ihrem alten Lager eingemeiner Haufen sind.LaЯ die Finger davon.
AI_Output ( self, other, "POS_602_Halbert_Neu_00_04"); //Wir im Neuen Lager sind Kumpel. Wenn wir hier raus sind solltest Du Lares besuchen.
AI_Output ( other, self, "POS_602_Halbert_Neu_15_05"); //Ich glaube das ist eine alte Geschichte. Danke, aber ich werde lieber weitergehen.
};


*/
/*
//********************************** Permanent *************************************************

instance Pos_603_Gonker_HALLO2 (C_INFO)
{
npc = Pos_603_Gonker;
nr = 1;
condition = Pos_603_Gonker_HALLO2_Condition;
information = Pos_603_Gonker_HALLO2_Info;
important = 0;
permanent = 1;
description = "Du erinnerst Dich noch an mich";
};

FUNC int Pos_603_Gonker_HALLO2_Condition()
{
if (Npc_KnowsInfo (hero,Pos_603_Gonker_HALLO))
{
return TRUE;
}
else
{
return FALSE;
};
};

func void Pos_603_Gonker_HALLO2_Info()
{
AI_Output (other, self,"Pos_603_Gonker_HALLO2_Info_15_01"); //LaЯ Dich beim Feuer machen nicht stцren.
AI_Output (self, other,"Pos_603_Gonker_HALLO2_Info_00_02"); //Ja, ich sollte weiter machen, damit die anderen es warm haben.

};
//************************************** Hallo *************************************************


instance Pos_603_Gonker_HALLO (C_INFO)
{
npc = Pos_603_Gonker;
nr = 1;
condition = Pos_603_Gonker_HALLO_Condition;
information = Pos_603_Gonker_HALLO_Info;
important = 0;
permanent = 0;
description = "Hallo";
};

FUNC int Pos_603_Gonker_HALLO_Condition()
{
return TRUE;
};

func void Pos_603_Gonker_HALLO_Info()
{
AI_Output (other, self,"Pos_603_Gonker_HALLO_Info_15_01"); //Hallo...
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_02"); //Hallo. Darf ich Dir helfen.
AI_Output (other, self,"Pos_603_Gonker_HALLO_Info_15_03"); //Ja. Wie erklдr mir wie Du zu einem Besessenen geworden bist.
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_04"); //Gern. Ich war mit ein paar Freunden unterwegs, als wir von Dдmonen ьberfallen wurden.
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_05"); //Die anderen haben sich mit den groЯen Biestern rumgeschlagen und ich bin noch nicht einmal mit dem kleinen fertig geworden.
AI_Output (other, self,"Pos_603_Gonker_HALLO_Info_15_06"); //Was ist passiert?
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_07"); //Er hat mich gebissen und dann bin ich zu dem geworden was ich jetzt bin.
AI_Output (other, self,"Pos_603_Gonker_HALLO_Info_15_09"); //Wo sind Deine Freunde jetzt?
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_10"); //Ich weiЯ nicht.
AI_Output (other, self,"Pos_603_Gonker_HALLO_Info_15_11"); //Wird Dir geholfen?
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_12"); //Ja ich bekomme jeden Tag Medizin, aber die hilft nicht wirklich.
AI_Output (other, self,"Pos_603_Gonker_HALLO_Info_15_13"); //Was denkst du wьrde helfen?
AI_Output (self, other,"Pos_603_Gonker_HALLO_Info_00_14"); //Nichts. Mein Sinn besteht nur noch darin den anderen das Ende so angenehm wie mцglich zu machen.

Info_ClearChoices ( Pos_603_Gonker_HALLO );

Info_AddChoice ( Pos_603_Gonker_HALLO, "Ich glaube die anderen brauchen noch was.", Pos_603_Gonker_Brauchen );
Info_AddChoice ( Pos_603_Gonker_HALLO, "Das machst Du gut" , Pos_603_Gonker_Gut );
};

//*************************************Hallo - Brauchen******************************************
func void Pos_603_Gonker_Brauchen()
{
AI_Output ( other, self, "Pos_603_Gonker_Brauchen_15_01"); //Ich glaube die anderen brauchen noch was.
AI_Output ( self, other, "Pos_603_Gonker_Brauchen_00_02"); //Ahh. dann werde ich mal nachsehen.

AI_StopProcessInfos ( self );
};

//*************************************Hallo - Gut****************************************

func void Pos_603_Gonker_Gut()
{
Info_ClearChoices ( Pos_603_Gonker_HALLO );

AI_Output ( other, self, "Pos_603_Gonker_Gut_15_01"); //Das machst Du gut. Die anderen haben mir schon von Deiner Hilfe erzдhlt.
AI_Output ( self, other, "Pos_603_Gonker_Gut_00_02"); //Das ist kein Wunder. Ich stehe jeden Morgen frьher auf und bereite schon alles vor. Dann, wenn alle......
AI_Output ( self, other, "Pos_603_Gonker_Gut_00_03"); //... und spдt abends gehe ich als letzter zu Bett.
AI_Output ( other, self, "Pos_603_Gonker_Gut_15_04"); //Prima ich gehe mal weiter.
AI_Output ( self, other, "Pos_603_Gonker_Gut_00_05"); //Kann ich Dir noch irgendwie helfen.
AI_Output ( other, self, "Pos_603_Gonker_Gut_15_06"); //Nein geht schon, die anderen brauchen Dich dringender.
AI_Output ( self, other, "Pos_603_Gonker_Gut_00_07"); //(Traurig)Wahrscheinlich. Ja, ich werde gebraucht. Bis dann

AI_StopProcessInfos ( self );
};

*/
/*
instance Wrk_224_Igaraz_HI (C_INFO)
{
npc = Wrk_224_Igaraz;
condition = Wrk_224_Igaraz_HI_Condition;
information = Wrk_224_Igaraz_HI_Info;
//IMPORTANT = TRUE;
permanent = FALSE;
description = "(Startsatz)";
};

FUNC int Wrk_224_Igaraz_HI_Condition()
{
if (Npc_GetDistToNpc (self, other) <= 600)
{
return TRUE;
};
};
func void Wrk_224_Igaraz_HI_Info()
{
AI_GotoNpc (self, other);
AI_Output (self, other,"Wrk_224_Igaraz_HI_Info_02_01"); //(halblaut) Hey, ich habe dich noch nie gesehen. Bist du gerade angekommen? Bist du vor den Orks geflohen?

Info_ClearChoices (Wrk_224_Igaraz_HI);
Info_AddChoice (Wrk_224_Igaraz_HI,"Was willst du von mir?",Wrk_224_Igaraz_WHAT);
Info_AddChoice (Wrk_224_Igaraz_HI,"Das ist eine lange Geschichte",Wrk_224_Igaraz_LONG);

};
FUNC VOID Wrk_224_Igaraz_WHAT()
{
AI_Output (other, self,"Wrk_224_Igaraz_HI_WHAT_Info_15_01"); //Was willst du von mir?
AI_Output (self, other,"Wrk_224_Igaraz_HI_WHAT_Info_02_02"); //(schmeichelnd) Du siehst hungrig aus. Ich schenke dir einen Schinken. Was sagst du dazu? Einen fetten saftigen Schinken.
AI_Output (self, other,"Wrk_224_Igaraz_HI_WHAT_Info_02_03"); //Mit freundlichen GrьЯen vom Krдmer Agon. Und ich kann dir noch ein mehr gute Sachen zeigen, wenn du willst.

B_GiveInvItems (self,other,Itfo_Ham,1);
Info_ClearChoices (Wrk_224_Igaraz_HI);
};
FUNC VOID Wrk_224_Igaraz_LONG()
{
AI_Output (other, self,"Wrk_224_Igaraz_HI_LONG_Info_15_01"); //Das ist eine lange Geschichte.
AI_Output (self, other,"Wrk_224_Igaraz_HI_LONG_Info_02_02"); //(verstдndnisvoll) Oh- nun gut, ich verstehe. Du willst nicht darьber reden. Vielen die her kommen, fдllt es schwer ьber all ihre schrecklichen Erlebnisse zu sprechen.
AI_Output (self, other,"Wrk_224_Igaraz_HI_LONG_Info_02_03"); //Manche mussten mit ansehen wie ihre Freunde und Familien von den Orks niedergemetzelt wurden.
AI_Output (self, other,"Wrk_224_Igaraz_HI_LONG_Info_02_04"); //Ich kenne einen der mit angesehen hat, wie seine Frau...
AI_Output (other, self,"Wrk_224_Igaraz_HI_LONG_Info_15_05"); //Das reicht jetzt!
AI_Output (self, other,"Wrk_224_Igaraz_HI_LONG_Info_02_06"); //Oh - tut mir leid. Hier nimm dieses Bier. Ein Geschenk vom Krдmer Agon. Ich kann dir noch mehr Sachen zeigen, wenn du willst.

B_GiveInvItems (self,other,ItFo_Beer,1);
Info_ClearChoices (Wrk_224_Igaraz_HI);
};

instance Wrk_224_Igaraz_NAME (C_INFO)
{
npc = Wrk_224_Igaraz;
condition = Wrk_224_Igaraz_NAME_Condition;
information = Wrk_224_Igaraz_NAME_Info;
description = "Wie heisst du eigentlich?";
};

FUNC int Wrk_224_Igaraz_NAME_Condition()
{
if (Igaraz_Name == TRUE)
{
return TRUE;
};
};
FUNC void Wrk_224_Igaraz_NAME_Info()
{
AI_Output (other, self,"Wrk_224_Igaraz_NAME_Info_15_01"); //Wie heisst du eigentlich?
AI_Output (self, other,"Wrk_224_Igaraz_NAME_Info_00_02"); //(galant)Wie unhцflich von mir. Ich mich noch gar nicht vorgestellt. Mein Name ist Igaraz.
AI_Output (self, other,"Wrk_224_Igaraz_NAME_Info_00_03"); //Ich bin der Gehilfe vom Krдmer Agon. Wir bieten alles was das Herz begehrt. Zu gьnstigen Preisen.
self.name = "Igaraz";

};

instance Wrk_224_Igaraz_TRADER (C_INFO)
{
npc = Wrk_224_Igaraz;
condition = Wrk_224_Igaraz_TRADER_Condition;
information = Wrk_224_Igaraz_TRADER_Info;
description = "Zeig mir die guten Sachen";
permanent = TRUE;
trade = TRUE;
};

FUNC int Wrk_224_Igaraz_TRADER_Condition()
{
if Npc_KnowsInfo (hero,Wrk_224_Igaraz_HI)
{
return TRUE;
};
};
FUNC void Wrk_224_Igaraz_TRADER_Info()
{
AI_Output (other, self,"Wrk_224_Igaraz_NORMAL_Info_15_01"); //Zeig mir die guten Sachen.
AI_Output (self, other,"Wrk_224_Igaraz_NORMAL_Info_00_02"); //Ich habe Fleisch, Schinken, Bier und Wein.

Igaraz_Name = TRUE;
};

*/

//Mob_CreateItems ("OCC_STABLE_BACKROOM", ItWr_Smith_Art_01, 1);
//Mob_CreateItems ("OCR_MEDICUS_HUT_2",ItWr_Palgur , 1);
 

GaroK

Участник форума
Регистрация
19 Авг 2015
Сообщения
157
Благодарности
99
Баллы
185
Я не знаю, подходит ли это здесь, но ребята из польши работают над Сиквелем, чтобы завершать ето.
Будет в первой половине 2019..
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.226
Благодарности
1.907
Баллы
370
Я не знаю, подходит ли это здесь, но ребята из польши работают над Сиквелем, чтобы завершать ето.
Будет в первой половине 2019..
Да, я знаю... Такой вопрос к тебе, ты ведь сам тоже оттуда?! Ты можешь написать полный список изменений, который вносит польский патч ? Весь Change log от начала и до конца...
Последний год отсутствовал и поэтому много чего пропустил, много за чем не уследил..
 

odin68

Почетный форумчанин
Регистрация
19 Июн 2007
Сообщения
192
Благодарности
186
Баллы
200
Описания правок от поляков:

Patch v2.21 (22.05.18)
Lista zmian:
-dodany model pancerza dht2m
-naprawiony błąd z nauką wykuwania miecza bastardowego u Gotmara
-naprawiony błąd z wyprawą do Górskiej Fortecy, teraz paladyni bez problemu przepuszczą gracza, gdy ten idzie z Thorą
-Jose nie powtarza już swojego początkowego dialogu w nieskończoność co blokowało dalszą rozmowę
-naprawiony dialog po pobiciu Huldrycha, był on odtwarzany przy każdej rozmowie przez co gracz mógł otrzymywać doświadczenie w nieskończoność
-Thora i Księżniczka nie mówią już męskimi głosami
-drobna korekta dialogów, tekstu i komunikatów
Patch v2.2 (13.05.18)
Lista zmian:
-nowy build instalatora
-cały tekst został przepisany na nowsze skrypty
-połączone pliki vdf
-zmniejszona waga plików
-domyślnie zainstalowany system pack w wersji 1.7
-dodane dialogi dla wielu postaci (były one wyłączone)
-dialog z Naborem dostępny od początku gry
-Lekkie spodnie kopacza kosztują teraz 100 sztuk srebra (wcześniej cena wynosiła 250)
-naprawione dialogi z Moroghiem i Księżniczką (przy niektórych kwestiach dialog wypowiadała zła postać)
-podczas teleportacji do obozu odtwarzany jest dźwięk MFX_Heal_Cast (funkcja była wcześniej wyłączona)
-po zakończeniu zadania z kradzieżą bagiennego ziela Bezimienny oddaje wino Gerionowi (wcześniej wino zostawało w ekwipunku gracza)
-Mistrz Areny daje nagrodę po walce tylko wtedy, gdy znajduje się obok areny (funkcja ta była wcześniej wyłączona)
-spora ilość dialogów została poprawiona (ostateczna korekta)
-spolszczone pozostałości niemieckich dialogów (w poprzedniej kompilacji na potrzeby patcha 2.1 z jakiegoś powodu nie zostały one nadpisane)
-poprawione wszystkie ucięte opcje dialogowe (wcześniej nie wyłapaliśmy wszystkich)
-intro uruchomione z menu głównego jest teraz z dźwiękiem
-dźwięk levelup.wav znowu jest odtwarzany
Patch v2.1 (06.02.18)
Lista zmian:
-zmieniona tekstura na bramie zamku na tą właściwą (OCIDWASTONEFOREXIT-C)
-zmienione nazwy paru przedmiotów
-przywrócone polskie znaki przy pierwszych kwestiach dialogowych rozmowy z Miltenem
-korekta paru innych dialogów
Pełna lista zmian w wersji 2.0 (30.12.17):
-naprawione polskie intro, teraz jest z dźwiękiem
-nowa czcionka w ekranach wczytywania i zapisywania
-wprowadzone polskie znaki
-zmienione nazwy niektórych zadań
-naprawiony błąd z niemieckimi dialogami
-spolszczone smalltalki
-spolszczone postacie pomocnicze
-zmniejszona waga speech.vdf
-od teraz trzeba dać 3 hojne łapówki żebrakom żeby porozmawiać także z Josem i Naborem (rusyfikacja)
-dodana muzyka w nocy w obozie
-lepsze dialogi i opisy zadań (większość z nich została napisana zupełnie od nowa)
-poprawione błędy gramatyczne i ortograficzne w dialogach
-opcja ENDE. zmieniona na KONIEC w rozmowie z Ryanem (rusyfikacja)
-naprawione zadanie z kradzieżą pierścienia dla Geriona (rusyfikacja)
-po rozmowie z Miltenem udaje się on do fortecy (rusyfikacja)
-naprawiony bug związany z blokowaniem się NPC podczas próby rozmowy z nim gdy odtwarzana jest animacja jedzenia itd. (rusyfikacja)
-udoskonalone wyświetlanie nazw artykułów kowalskich (rodzaj rudy wyświetla się tylko w opisie) (rusyfikacja)
-dodane nowe zadanie z magiem ognia Moroghiem w drugim rozdziale (rusyfikacja)
-spolszczony splash screen

Еще есть какой-то
Carnage Graphics Patch:
G1S Carnage Graphics Patch.rar
Внутри архива на 15 мб лежит вдф-ка от 02.10.17.
 
Последнее редактирование:

GaroK

Участник форума
Регистрация
19 Авг 2015
Сообщения
157
Благодарности
99
Баллы
185
I will translate it into english for now, someone else do it for russian.

Patch v2.21 (22.05.18)
Patch notes:
-Added armor model dht2m
-Fixed the bug with learning to forge bastard sword from Gotmar
-Fixed the bug in the Mountain Fort, now the paladins will let the player pass when he's with Thora
-Jose will no more repeat his starting dialogue infinitely, which prevented the player from making progress
-Fixed the dialogue after beating up Huldruch, it was played every time you start talking to him, which granted you infinite xp souce.
-Thora and the Princess will no longer speak with male voices
-Minor corrections with dialogues, text and notifications
Patch v2.2 (13.05.18)
Patch notes:
-New instalator build
-All the text was rewritten for new scripts
-Connected VDF files (?)
-Reduced file size
-Systempack 1,7 is now installed by default
-Added dialogues for many of the NPCs (They were disabled before))
-Nabor dialogue is now avaible from the start of the game
-Light Digger Trousers now cost 100 silver(it costed 250 silver before)
-Fixed dialogues with Morogh and Princess(sometimes durning a dialogue certain lines were spoken by wrong character)
-When teleporting to the camp, MFX_Heal_Cast sound will play (that function was disabled before)
-After finishing quest where you have to steal swamp weed, The Hero gives wine back to Gerion(Wine stayed in player's inventory before
-Arena Master gives the award only when the player was standing next to the arena(this function was disabled before)
-A lot of dialogue is now fixed (final correct)
-Remaining german dialogues are now properly translated to polish(in the previous compilation of 2.1 patch they weren't overwritten for some reason)
-Fixed all the cut dialogue options(we didn't catch all of them before)
-Intro played from main menu now has sounds
-levelup.wav is now played
Patch v2.1 (06.02.18)
Patch notes:
-Changed the texture on the castle gate to a proper one (OCIDWASTONEFOREXIT-C)
-Changed few item names
-Milten's first dialogues have polish characters again
-Corrected few other dialogues
Pełna lista zmian w wersji 2.0 (30.12.17):
-fixed polish intro, it now has sounds.
-New font on load and save screen
-Introduced polish characters
-Few quest names were changed
-Dixed the error with german dialogue
-Polonized smalltalks
-Polonized "helping characters"
-Reduced speech.vdf size
-From now on you need to give 3 bribes to beggars in order to talk to Jose and Nabor (russification)
-Added night music in the camp
-Better dialogues and quest descriptions(most of them were rewritten from ground up)
-Corrected grammar in dialogues
-Option ENDE. is changed to KONIEC in Ryan's dialogue (russification)
-Fixed quest where you have to steal ring for Gerion (russification)
-After talking to Milten, he will be heading to Mountain Fort
-Fixed bug where NPCs would block when trying to talk to them durning eating animations
-Improved displaying names of Smith items(ore type is displayed only in the description) (russification)
-added nee quest with Fire Mage Morogh in the second chapter (russification)
-polonized splash screen

As for the graphics patch, I dunno.

The guys who are trying to finish sequel have a burning hate for graphic mods in gothic, and will make Dx11 impossible to run on Sequel. They want it to be played as it was supposed back in 2002.
Well I'm glad, I hate shiny graphics in gothic too.
 
Последнее редактирование:

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.226
Благодарности
1.907
Баллы
370
The guys who are trying to finish sequel have a burning hate for graphic mods in gothic, and will make Dx11 impossible to run on Sequel. They want it to be played as it was supposed back in 2002.
Well I'm glad, I hate shiny graphics in gothic too.
Правильное решение с их стороны... Пусть лучше он будет доделан на той графике, на которой и начинался без всяких глючных уг рендеров, порождающих еще большее количество вылетов..
ЗЫ: вот еще нашел сюжет, по которому суэцки делает свой мод:
CAŁA FABUŁA PO KOLEI DLA SUESKIEGO Rozdział pierwszy Powrót 1. rozmowa ze Xardasem o nowym niebezpieczeństwu zagrażającemu temu światu 2. Teleportacja Bezimiennego bohatera do starego obozu którym żąndzi Diego 3. Wpadnięcie na Thore wojowniczkę Króla Robhara 2 (Thora włada kosturem XD) 4. Rozmowa z Diegiem i dowiedzenie się o niebezpieczeństwie oraz dowiedzenie się że król Robhar 2 się ukrywa w Górskie Fortecy 5. Bezimienny bohater wręcza list od Xardasa Diegowi 6. Bezimienny bohater czyta list od Xardasa 7. Bezimienny bohater musi dojść do dawnej formy (wymagany poziom 5) 8. Bezimienny bohater informuje Diega o odzyskanej formie 9. Diego wysyła bezimiennego bohatera do wojowniczki Thory żeby zaprowadziła go do Górski Fortecy żeby przyprowadzić dawnego przyjaciela Milltena bo jego pomoc będzie potrzebna Rozdział drugi Wymarsz 1. Bezimienny bohater rozmawia z Thorą 2. Thora prowadzi Bezimiennego bohatera do Górskie Fortecy 3. Rozmowa z Milltenem że Bezimienny bohater chcę poznać plany króla 4. Milltem mówi ze jest to tylko możliwe jeśli udowodnimy że jesteśmy tego godni 5. Po przekonaniu 2 magów i 2 paladynów o swojej godności może się spotkać z królem 6. Po krótkie rozmowie z magami mówią oni że wiedzą jak ustabilizować magiczną strukturę koloni i wygnać Siniącego na zawszę z naszego świata mają im do tego posłużyć 5 kamieni ogniskujących Rozdział trzeci Podróż 1. Bohater prosi Saturasa o 5 kamieni ogniskujących nie zdradzając nikomu do czego mu są potrzebne (Saturas jest w Nowym Obozie będziesz musiał go Wstawić na odpowiednie miejsce) 2. Bezimienny bohater wraca do Miltena do Górskie Fortecy 3. Magowie informują Bezimiennego bohatera że potrzebują 1000 bryłek czerwonej rudy (KRWAWEJ RUDY/MROCZNEJ RUDY) (MA JA ROCKEFELER W EKWIPUNKU XD) 4. Bezimienny bohater idzie od Diega prosić go o te bryłki ale Diego mówi że po dawnym bogactwie nic nie zostało 5. Bezimienny bohater dowiaduje się że istnieje 1 kopalnia z tą rudą znajduje się ona pod wieżą mgieł 6. Bezimienny bohater musi w pierwszej kolejności się pozbyć z okolicy wieży mgieł a następnie znaleźć doświadczonych w swoim fachu kopaczy żeby wydobyli tę rudę 7. Bezimienny bohater szuka doświadczonych kopaczy do pomocy jednak musi im wyświadczać różne przysługi 8. Bohater musi dbać o zapasy,bezpieczeństwo swoich pracowników 9. Bezimienny bohater po czasie musi odnaleźć Gorna żeby go wynająć do nadzorowania koloni przed pojawieniem się demonicznego portalu (GORN JEDEN Z WAŻNYCH ŁOWCÓW DEMONÓW) 10. Po zebraniu odpowiedniej ilości bryłek każą mu iść po nekromante Xardasa żeby im pomógł w ocaleniu koloni (RYTUALE) 11. Tak naprawdę to magowie oszukali Bezimiennego bohatera żeby samemu rozpocząć rytuał z jego plecami (MIAŁA BYĆ TO SCENKA KTÓRĄ BEZIMIENNY BOHATER I XARDAS OGLĄDAJĄ W KRYSZTAŁOWEJ KULI) 12. Magowie zbyt pewni siebie wybrali złe miejsce otwierając mały portal do demonicznego świata (MAGOWIE ZOSTAJĄ POCHŁONIĘCI) Rozdział czwarty Decyzja 1. Bezimienny bohater musi znowu udać się do Górniczej Fortecy i odzyskać kamienie ogniskujące żeby odprawić rytuał w odpowiednim miejscu z Xardasem 2. Bezimienny bohater znowu mis uzbierać 1000 bryłek 3. Bezimiennego bohatera oświeciło czemu orkowie nie najechali na całą dolinę bo orkowie znają starą przepowiedznie że Siniący chce zniszczyć całą dolinę 4. Bezimienny bohater wyciąga z tego wnioski że orkowe tak jak magowie również chcą zapobiec pojawieniu się portalu 5. Niestety magia potwora wszystkim stronom przeszkadza w wykonaniu zadania uratowania koloni 6. Ostateczna odpowiedz zostaje w Obozie Na Bagnach więc Bezimienny bohater idzie go tam szukać (Będziesz musiał go tam na odpowiednie miejsce wkleić) 7. Bagna są pełne wrogów szkielety,węże,zombie balów,krwiopice 8. Gdy Bezimienny bohater dotrze do centrum obozu teleportuje się do niego Xardas i zaczyna się rytuał 9. Bezimienny bohater musi odpowiednio rozmieścić 5 kamieni ogniskujących 10. Rozprawiając się przy tym z Demonicznymi magami ognia 11. Bezimienny bohater staje przed wyborem aby wygnać lub przywołać Siniącego 12. Po wybraniu danego wyboru ma się uruchomić dana skwęncja 13. Sekwencja nr.1 wygnanie Siniącego Siniący walczy mocami duchowymi z Xardasem i Bezimiennym udaje się go wygnać ale Xardas przypłaca to życiem. Sekwencja nr.2 przyznanie Siniącego bezmyślny bohater przywołuje Siniacego Xardas przywołuje Bezimiennego bohatera do porządku i po tym wygnali Siniącego ale Xardas również przypłaca to życiem (DO DANEGO WYBORU JEST PRZYPISANA DANA SCENKA) KONIEC.
 
Последнее редактирование:

GaroK

Участник форума
Регистрация
19 Авг 2015
Сообщения
157
Благодарности
99
Баллы
185
Куда ты нашел ето?
 

GaroK

Участник форума
Регистрация
19 Авг 2015
Сообщения
157
Благодарности
99
Баллы
185
@Phantom95,
oh right lol
Translated:

Chapter 1 Returning 1. Talking to xardas about the new threat. 2. The hero teleports to Old Camp where Diego is now in charge 3. Meeting Thora, female warrior of Rhobar 2 (Thora is using a stick XD) 4. Talking with Diego about the threat and finding out Rhobar 2 is in the Mountain Fort 5. The hero delivers Xardas's list to Diego 6. The hero reads the letter from Xardas 7. The hero has to regain his strenght (5 level required) 8. The hero informs Diego about returning to former strenghts 9. Diego sends the hero to Thora, in order to bring back Milten who is stationed in Mountain Fort, his help will be neccessary. Chapter 2 March 1. The hero talks with Thora 2. Thora takes the Hero to Mountain Fort 3. Talking with Milten and trying to find out king's plans 4. Milten says that this will only be possible when he proves himself worthy 5. After convincing 2 Mages and 2 Paladins we can talk to the king 6. After short talk with mages they say they know how to stabilize magic structure of the colony and how to banish Sleeper for good, 5 focus stones will be needed. Chapter 3 The Journey 1. The hero asks saturas to give him the focus stones while not giving away the intended purpose (Saturas in in the new camp, you will have to put him in the right place) 2. The hero goes back to Milten in Mountain Fort 3. Mages inform hero that they need 1000 of ref ore(BLOOD ORE/DARK ORE) (ROCKEFELLER HAS IT IN HIS INVENTORY XD) 4. The hero ask Diego about the ore, but there was nothing left from the old Baron's treasure 5. The hero finds out that there is a mine this this ore, it's under the old Fog Tower 6. The hero must get out of the Fog Tower's area and find expierienced diggers to mine it 7. The hero is looking for expierienced diggers, but you need to do thm a favors firtst 8. The hero must take care of supplies and safety of the diggers 9. The hero needs to find Gorn and hire him to look over the colony before we open the portal(GORN IS ONE OF THE MOST IMPORTANT DEMON HUNTERS) 10. After ammassing enough ore the hero must go to Xardas and tell him to help with saving the colony(RITUAL) 11. In reality the fire mages deceived the hero in order to start the ritual on their own behind his back (THERE WAS SUPPOSED TO BE A CUTSCENE WHERE HERO AND XARDAS ARE WATCHING THIS IN A CRYSTAL BALL) 12. Mages being very confident in themselves, did the rital in wrong place and opened small portal to demon world. (MAGES ARE SUCKED INTO THE PORTAL) Chapter 4 The Decision 1. The hero goes back to Mountain fort to retrieve the focus stones, so he and Xardas can perform a ritual in the proper place. 2. The hero needs to collect 1000 ore again 3. The hero finds out why orcs haven't attacked the valley yet, they know the prophecy that sleeper wants to destroy the valley 4. The hero comes to a conclusion that orcs, just like mages, want to prevent the portal from emerging 5. Sadly the Monster Magic is preventing everyone from saving the valley 6. The final answer remains in the swamp camp so the hero goes there (You will have to paste him in the right place (the cut camp??) 7. Swamp is full of skeletons, sharks, zombie baals, bloodflies 8. When the hero finds himself in the centre of the camp, Xardas teleports to him and they start the ritual 9. The hero must put the focus stones in proper spots 10. Fight with demonic fire mages 11. The hero now needs to choose wheter to summon sleeper or banish him for good 12. After choosing the oprion, a sequence starts 13. Sequence nr.1 Banishing SLeeper. The sleeper is tryng to fight the spritual powers of Hero and Xardas, they manage to banish him for good but Xardas pays with his life. Sequence nr.2 Summoning Sleeper. Reckless hero summons the Sleeper, Xardas tells the Hero to stop, then they proceed to banish sleeper, Xardas dies here too. (T.
 

IdeaGen

Участник форума
Регистрация
28 Апр 2017
Сообщения
2.207
Благодарности
580
Баллы
295
По идее, весь костяк Сиквела держится на том, чего не сделали в г1. А повторная беготня за юниторами, и неправильным их использованием это стёб относительно того, как их в итоге использовали в релизе г1, в супротив тому, как это задумывалось в оригинале. а то, что в сиквеле прибегали к стёбу - это факт )
 

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
По идее, весь костяк Сиквела держится на том, чего не сделали в г1. А повторная беготня за юниторами, и неправильным их использованием это стёб относительно того, как их в итоге использовали в релизе г1, в супротив тому, как это задумывалось в оригинале. а то, что в сиквеле прибегали к стёбу - это факт )

К сожалению разрабы не смогли реализовать все свои задумки. Хотя очевидно, что мир и сюжет игры куда более обширны по замыслу.
 

Aztec2012

Участник форума
Регистрация
22 Янв 2012
Сообщения
278
Благодарности
60
Баллы
185
Sequence nr.1 Banishing SLeeper. The sleeper is tryng to fight the spritual powers of Hero and Xardas, they manage to banish him for good but Xardas pays with his life. Sequence nr.2 Summoning Sleeper. Reckless hero summons the Sleeper, Xardas tells the Hero to stop, then they proceed to banish sleeper, Xardas dies here too. (T.

Две концовки это хорошо! Со Спящим теперь будет нормальная битва и он сможет передвигаться? И что это ерунда со смертью Ксардаса? Откуда он тогда в Г2 и Г3.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.557
Благодарности
4.138
Баллы
915
Не-а, концовка всё-таки одна: Крушак изгоняется, а Ксардас дохнет в процессе его изгнания. Вариант с вызовом рудного архидемона героем всего лишь немного затягивает эту концовку.
 
Сверху Снизу