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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

    Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
    По желанию, аргументировать свой выбор можете в теме обсуждения голосования.

Готика 1: Четвёртая альфа-версия Готики 1

Хотели бы вы видеть мод на основе этой альфа-версии Готики 1?


  • Всего проголосовало
    111

Ur-tRall

Участник форума
Регистрация
16 Май 2009
Сообщения
4.100
Благодарности
2.124
Баллы
475
  • Первое сообщение
  • #1
Четвёртая альфа-версия Готики 1
5.jpg
Из названия темы, думаю понятно, о чём здесь идёт речь. В этой темы обсуждаем и делимся нюансами по этой альфа - версии Готики. Выкладываем скриншоты, материалы (меши, анимации, возможно даже вырезанные скрипты). Пока думаю более детально по скриншотам составить квесты игры, а также найти другие скриншоты этой альфа-версии Готики 1.
Во вложения я решил вставить все скриншоты с руссобитовской версии Готики 1.

Кто-то в теме по альфа-версии Готики указал на отсутствие хвоста у Безымянного героя, дошедшего до наших дней. И на самом деле, скриншотов Безымянного без хвоста я не могу припомнить на своей памяти. Однако интересный вопрос нарисовывается, почему у Безымянного в ролике нет хвоста, а в оригинале у него есть? Может быть была ещё версия Готики 1, в которой у Безымянного не было хвоста? Но Безымянный герой, как ни странно, к этой теме не имеет никакого отношения. Безымянный герой без хвоста если и был где-то, то именно в пятой альфа-версии Готики 1 (если конечно же, вообще был, поскольку скорее всего Безымянный появился сразу со своим знаменитым хвостиком).

К чему я сделал это отступление о хвосте Безымянного? К тому, что в четвёртой альфа-версии Готики был другой герой, изображённый на скриншотах. Есть конечно видеоролики от игры с Безымянным, но ролики это другая кухня, их могли сделать по быстрому на заказ для последних версий, или для альфа-версии не было никакого видео вообще. О видео к сожалению остаётся только гадать, ведь видеоролики надо видеть воочию. Главным героем этой альфа-версии я называю парня, изображённого практически на каждом скриншоте. В основном он носит либо тяжёлый доспех наёмника. Есть ещё похожий на него парень в тяжёлом доспехе стражника, но по моему контуры его головы отличается от вышеприведённого. Кто знает, возможно изначально в этой версии Готики можно было играть за двух героев в ходе игры, ведь на одном скриншоте они изображены как вдвоём. Хотя вид наёмника спереди нигде нельзя найти, и на скриншоте с охотой парочки главных героев, могли призвать ещё одного ГГ.

Трейлеров к этой версии, к сожалению, не выпускалось, есть только скриншоты. Эту альфа-версию можно отличать по смазанной полоске жизни красно-алого цвета. Альфа-версия или это бета-версия Готики 1, сложно судить, незаконченной игрой это у меня не поворачивается сказать язык, очень похоже на играбельную версию, пусть и с немалым количеством багов ( а толку от исправления багов оказалось не много, всё равно Готика 1 дошла до нас с багами).

Теперь о сюжете. Судя по всем скринщотам, у меня не поворачивается язык сказать, что сюжет у игры такой же, как и в готике 1, просто герой, локации и вещи другие. Как я ранее говорил, сюжет Готики 1 раньше был другим, намного проще. Между Старым и Болотным лагерями идёт война. Выберите один из четырёх классов игры и окунитесь в атмосферу игры. Из ранних четырёх классов игры в этой альфа-версии пожалуй никого не осталось, кроме гуру, которые раньше были псиониками. А вот скриншотов, где Старый лагерь ведёт войну с Болотным лагерем, можно набрать немалое количество. Это и приведение болотниками к кругу камней неких пленников, сражение Шрама с гуру и Кор Ангаром, нападение стражников Старого лагеря на неизвестных, недалеко от Болотного Лагеря.

Но вы конечно же спросите, что же с Новым Лагерем? Да, все виды воров, наёмников на скриншотах имеется, даже есть скрины, где Снаф с Диего одеты в робы магов воды, но не высшие. Но как я говорил ранее, наёмники и воры это хорошо, а где же их место обитания? Так есть скриншот, где воры кучкуются возле Диего, один даже вор стоит в Старом Лагере. Как бы в Готике 1 не враждовали Старый и Новый лагеря, а здесь скриншотов, указывающих на вражду Старого и Нового лагерей практически нельзя найти. Торус с Ли? Неизвестно, что они там изображают, больше похоже на дружбу, чем на вражду. Тяжёлый стражник против двух воров? Могут быть личными конфликтами Старого лагеря, тем более есть ещё и скрин с изображением призраков, держащих оружие против Мага огня. Скорее всего весь Новый Лагерь либо не имел на тот момент своего лагеря, либо жил в Старом Лагере и принадлежал к нему, но эти обитатели, не проявляли особой вражды по отношению к Болотному Лагерю, поскольку кроме Старого и Болотного лагерей мы больше ничего не можем наблюдать.

Теперь вопрос, за кого мы можем играть? Скриншотов с изображением главного героя, присоединившемуся к Болотному Лагерю нет. Вернее есть скриншоты с лысыми гуру и стражем, схватившимся со Шрамом, если считать, что в Болотном Лагере всех новичков обстригали налысо, то возможно можно было и играть за Болотный Лагерь. Но, к сожалению, основные скриншоты показывают игру за Старый Лагерь.

Четвёрка Безымянного героя на тот момент уже была введена. Видимо поначалу хотели сделать как все 4 классы игры из ранних версий в виде этих героев, но потом решили, что из гуру-псионика получится не очень хороший приятель, с которым можно выпить пивка. Но четвёрка Безымянного также имела отличия. Так четвёртый парень из болотного лагеря, очень похожий на Лестера, уже страж, а не послушник. Возможно изначально Лестер планировался стражем, а не послушником, тем более он влиятельное лицо в Болотном лагере. У Мильтена внешность была немного другая, Диего так вообще одет в синий доспех призрака и с двуручником на плече.

Высших магов Воды и Огня на скринах не наблюдаем, но это не значит, что их в игре на тот момент не было. Так ранее в трейлере к третьей альфа-версии Готики был изображён Ксардас, который уже в игре точно должен присутствовать.

И вспомним о женщинах, в Готике их присутствует не так много. Основная часть в Старом Лагере, а в Новом Лагере даже ни одной. И вспомним тот факт, что во время создания Готики 1 были приглашены известные немецкие модели, в количестве точно более пяти. Тогда вопрос, где все женщины в игре? Мод Народ Миненталя добавляет в игру Шарлотту и Агнет, по всей видимости вырезанных женщин. Но даже если за барьер отправляли провинившихся в преступлении женщин, то неужели количество преступников превышает в сто раз количество преступниц? Ещё не стоит оставлять без внимания лысого мужичка лет на вид сорока с седыми волосами, одетым в тяжёлый доспех вора. Этот мужичок появился со второй альфа-версии Готики и сложно себе представить, что он не играл никакой роли в сюжете игры.

Ещё меня настораживает небо. На скриншотах я нигде не могу наблюдать барьерных молний на небосклоне. Небо чистое, как глаза Вино после пьянки. Однако в одной из ранее выпущенных статей говорилось, что герой находится в тюрьме, из которой нельзя выбраться, поэтому в игре обязательно был присутствовать если не барьер, то по крайней мере огромная череда гор, из которых нельзя было выбраться, что и делало игровой зоной лишь Миненталь.

Сам сюжет игры по всей видимости, был не так уж и сложноват. Вас каким-то образом забрасывают в Миненталь, судя по разным бронькам в игре, скорее всего как нового заключённого. По всей видимости, стечение обстоятельств по сюжету, у главного героя не остаётся иного выбора, как принять одну из двух сторон. Присоединиться либо к Старому, либо к Болотному Лагерю. У каждого лагеря есть свои плюсы и недостатки. Герой играет некоторое время за какой-либо лагерь, немного отличающихся по прохождению за каждый. Но потом видимо он узнаёт о каких-то древних тайнах, которые позже отправляют его в заброшенные крепости в горах и другие локации. В игре герой встретится с различными героями и коварными врагами. Игроку доведётся поохотиться за заключёнными, сразиться с предавшими лагерь наставниками и организовать нападение на враждующий лагерь. Лично мне это очень сильно напоминает сюжет о том, что было за барьером до появления Безымянного скажем за 2 года. А ведь герои игры те же, лагеря те же, Миненталь тот же и почему бы не воспринять это как аддон к первой части, рассказывающий тайны Миненталя и жизнь за 2-4 года до разрушения барьера.

Локации. Как всем известно, в Готике 1 вырезано немалое количество локаций. Это Заброшенная Шхата, город орков с ареной, некий тёмный дворец. Что из этого присутствовало в этой версии, сложно предположить. В основном все скриншоты показывают Миненталь, нет даже ни одного скриншгота какой-либо шахты. Но и с Миненталем не всё так просто, по всей видимости ранние землетрясения за барьером сыграли свою роль к появлению Безымянного героя. Миненталь очень сильно отличается от оригинальной игры. Так у входа в так называемый Новый лагерь озеро начинается в другом месте. Есть неизвестная область Миненталя, где ГГ в тяжёлом доспехе стражника целится с арбалета с возвышенности. Разрушенная крепость в гопах, где в Готике встречаем Ур-Шака, имеет немного другой вход, Болотный Лагерь больше имеет схему, изображённую на ранних артах Ральфа, чем оригинала игры. Также присутствет Храм Болотного Лагеря, скорее всего лагерь имел строение, приведённое Ральфом, чем в ригинале игры. Ещё возле ворот так называемого Нового Лагеря стоит вышка, но нет озера, а на другом скриншоте, похожий проход в Новый Лагерь с другой стороны, но там как видно обитают лесные зверьки, а не крестьяне собирают рис. Скриншоты, сделанные в лесу, также показывают неизвестную местность. Скриншоты с так называемым Ли также сделаны в неизвестных местах. Ранее знакомые места имеют другой угол уклона, дополнительные тропинки и многое другое.

Про анимации многие пользователи уже сказали ранеее. Так Безио выложил некоторые анимации. По всей видимости в игре они играли какую-роль, к примеру обследование жаренного падальщика, собирание риса, многие эмоциальные анимации, которые можно наблюдать даже на скриншотах. Видимо окружающую героя люди взаимодействовали с игроком далеко не с каменными лицами.


1.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg 11.jpg 12.jpg 13.jpg 14.jpg 15.jpg 16.jpg 17.jpg 18.jpg 19.jpg 20.jpg 21.jpg 22.jpg 23.jpg 24.jpg 25.jpg 26.jpg 27.jpg 28.jpg 29.jpg 30.jpg 31.jpg 32.jpg 33.jpg 34.jpg 35.jpg 36.jpg 37.jpg 38.jpg 39.jpg 40.jpg 41.jpg 42.jpg 43.jpg 44.jpg 45.jpg

А вот нашёл ещё на WoG.de в русской ветке обсуждения, к слову говоря, обсуждение об альфа-версии готики 1 там намного подробнее, чем у меня.
15935.jpg 15931.jpg bog1.jpg gothic08.jpg gothic09.jpg gothic10.jpg gothic12.jpg gothic13.jpg
Еще вдобавок к ним можно добавить скрины с подписью наверху Atomicgames.
15936.jpg 15939.jpg 15940.jpg 15941.jpg
Ещё Один вперемешку скинул все скрины, которые не имели статус-бара. Там были скриншоты чуть ли не с самой первой альфа версии. Сам я отличал третью версию от четвёртой, по доспехам, похожим на оригинальные на всех персонажах и статус-барам. В третьей версии изображены сердечки и другие дольки, а в четвёртой уже толстая красно-алая полоска жизни и голубоватая у маны. Выложу все скриншоты, кроме скриншотов из чешского журнала, где скрины явно из второй альфа-версии Готики 1, но не буду полностью утверждать, что выложенные ниже скриншоты относятся к этой альфа версии Готики 1. За исключением тех четырёх из журнала Атомик Геймс.
1SJpqm5ia1HQkfQr8vlcsnap_2010_11_14_23h06m16s238.jpg 17322071.jpg 44404233.jpg 57457874.jpg 63185567.jpg aschram19.jpg aschram20.jpg bog2.jpg bog5.jpg bog6.jpg bog7.jpg bog8.jpgbog9.jpg boga.jpg bogb.jpg DGfrZh9vmZo4b6lFM24.jpg f8H8IDKaRtmPaIWSQi15.jpg gothic_3.jpg gothic_4.jpg Gothic_image5__2_.jpg Gothic_image6__2_.jpg Gothic_image8__2_.jpg Gothic_profilelarge__2_.jpg img9.jpg Imga.jpg Imgc.jpg Imge.jpg Imgf.jpg Imgi.jpg imgm.jpg imgo.jpg oxa1CPCWya2dE3UxT5x67.jpg q1VVtEZAGx5C27pb73.jpg tF60.jpg z72.jpg

Информация частично взята с русской ветки сайта worldofplayers.de
 
Последнее редактирование модератором:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Вот об этом не знал. По мне лук вполне был нормальным. А в свободном доступе эту анимацию можно где-то посмотреть?
Она есть в 1.4 демо, в этом плане анима стрейфа и морфов там работает корректно, в отличие от всех последующих версий игры, там уже везде будут баги..

Что даёшьв противовес?
Ничего, я отписал что думаю об этом, а вы думайте что хотите.. *sorry*


Мультиплеер из движка весной выпилили, а ты его видишь в летних скринах. :confused:
Их могли сделать и позднее на версии которая была с МП, его же не удаляли с жестких дисков, могли запустить и наделать скринов.. На манер тех групповых., вполне вероятный сценарий.. ::)
 
Последнее редактирование:

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.911
Баллы
370
Сегодня полностью просмотрел скрипты из модкита и в них оказалось очень много заккоментированного контента.
Диалоги и вырезанные строчки реплик у НПС:
1. Гомез -
//Info_AddChoice (DIA_Gomez_Hello,"Zu Lee." ,DIA_Gomez_Hello_Kontakte_Lee);
/*
func void DIA_Gomez_Hello_Kontakte_Lee()
{
AI_Output (other, self,"DIA_Gomez_Hello_Kontakte_Lee_15_00"); //Zu Lee.
AI_Output (self, other,"DIA_Gomez_Hello_Kontakte_Lee_11_01"); //Lee ist also ein guter Freund von dir, ja?
AI_Output (self, other,"DIA_Gomez_Hello_Kontakte_Lee_11_02"); //Dann sieht die Sache natьrlich ANDERS AUS (zornig am ENDE)

AI_StopProcessInfos (self);
Npc_SetPermAttitude (self, ATT_HOSTILE);
Npc_SetTarget (self,other);
AI_StartState (self,ZS_ATTACK,1,"");
};
*/
2. Юберион -
//############################### KAPITEL 3 ###############################
//SPIELER HAT DIE HEILKRДUTER ZU COR ANGAR GEBRACHT
//YBERION WACHT AUF UND STIRBT
/*
instance GUR_1200_Yberion_LASTWORDS (C_INFO)
{
npc = GUR_1200_Yberion;
condition = GUR_1200_Yberion_LASTWORDS_Condition;
information = GUR_1200_Yberion_LASTWORDS_Info;
important = 1;
permanent = 0;

};

FUNC int GUR_1200_Yberion_LASTWORDS_Condition()
{
if ( Npc_KnowsInfo (hero,Info_CorAngar_FindHerb_Success))
{
return 1;
};

};
FUNC void GUR_1200_Yberion_LASTWORDS_Info()
{
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_01"); //Das Ende...der Schlдfer...ich sah...IHN!
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_02"); //Wer...?...du bist es, gut. Hцr mir zu....
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_03"); //Du darfst den Schlдfer nicht wecken,... die Wassermagier, ...
AI_Output (other, self,"GUR_1200_Yberion_LASTWORDS_Info_15_04"); //Was ist mit den Wassermagiern?
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_05"); //Du musst zu den Wassermagiern gehen. Sie werden es schaffen, hier rauszukommen.
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_06"); //Der Schlдfer...Ich sah ihn. Er ist ein ...ein ....Dдmon!
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_07"); //Wenn du die Barriere noch immer vernichten willst,... geh zum Neuen Lager. Berichte ihnen vom Fokus. Sag ihnen...
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_08"); //...sag ihnen das wir herausgefunden haben, wie sich die Foki aufladen lassen, sie sollen...sollen die Barriere vernichten......ihr mьsst ....
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_09"); //...das Bцse....darf nicht erwachen ....



};
// ------------------------------ ----------------------------------
*/

Перевод:
//ИГРОК ПРИНЕС ЦЕЛИТЕЛЬНЫЕ ТРАВЫ КОР АНГАРУ
//ЮБЕРИОН ПРОСЫПАЕТСЯ И УМИРАЕТ

AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_01"); //конец...спящий...я увидел...ЕГО!
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_02"); //...Кто?...ты это, хорошо. Hцr меня....
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_03"); //Ты не можешь разбудить спящего,... маг Воды, ...
AI_Output (other, self,"GUR_1200_Yberion_LASTWORDS_Info_15_04"); //Что с магами Воды?
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_05"); //Ты должен идти к магам Воды. Вам удастся выбраться отсюда.
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_06"); //Спящий...Я увидел его. Он .......Демон!
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_07"); //Если хочешь уничтожить барьер по-прежнему,... иди в Новый лагерь. Доложи про фокусы. Скажи им...
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_08"); //...скажи им, что мы выяснили, как фокусируется зарядка, вы должны...должны уничтожить преграду......ваш mьsst ....
AI_Output (self, other,"GUR_1200_Yberion_LASTWORDS_Info_12_09"); //...Bсё....не могу проснуться ....
3. Идол Тондрал -
//AI_Output (dusty,other,"DIA_BaalTondral_DustySuccess_03_05"); //HeiЯt das, ich bin dabei - einfach so?
//AI_TurnToNpc (other,dusty);
//AI_Output (other,NULL,"DIA_BaalTondral_DustySuccess_15_06"); //Sieht so aus. Tu einfach, was der Meister dir sagt.
4. Кадар -
/*


AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_01"); //Du solltest deinen Weg mit Bedacht wдhlen und nach reiflicher Ьberlegung.
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_02"); //Bedenke wie du entscheidest. In den anderen Lagern bekommst zwar Schutz und Nahrung, aber ist es das, was du willst?
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_15_03"); //Was erwartet mich, was es wert wдre, zu euch zu kommen?
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_04"); //Ich kцnnte dir jetzt erzдhlen, das die Templer einen unbezwinglichen Willen haben,das die magische Macht der Gurus, die Vorstellungskraft von Feuer- und Wassermagiern bei weitem ьbersteigt.
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_05"); //Das unsere Nahrung auch satt macht. Aber das ist es nicht, was diese Gemeinschaft ausmacht.
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_06"); //Was dich hier erwartet, ist die Gabe. Du wirst einen Weg beschreiten, der dir sehr viel abverlangt.
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_07"); //Aber das was du erreichen wirst ist eine GrцЯe, eine Macht die dir Erleuchtung schenkt. Eine Macht, die dich zur Freiheit fьhrt.
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_08"); //Ist es nicht das, was du willst?... Freiheit?
AI_Output (self, other,"Sit_1_PSI_BaalCadar_HypnoticTeacher_2FuncNo_02_09"); //Also solltest du nicht die Frage stellen, warum du her kommen solltest, die Frage ist viel mehr, warum solltest du nicht?
Log_CreateTopic (GE_TeacherPSI,LOG_NOTE);
B_LogEntry (GE_TeacherPSI,"Baal Cadar kann mir zeigen, wie ich meine geistige Kraft verbessern kann.");
*/
5. Корристо -
//AI_Output (other, self,"KDF_402_Corristo_HEAVYARMOR_Info_15_02"); //Es ist noch nicht deine Zeit, die hohe Robe zu tragen. //***FALSCHE STIMME***
6. Сатурас -
//AI_Output (other, self,"KDW_600_Saturas_TIMESUP_Info_15_03"); //Дh ... noch nicht ... ich bin aber schon unterwegs ...
//AI_Output (self, other,"KDW_600_Saturas_TIMESUP_Info_14_04"); //Beeile dich, wir dьrfen keine Zeit mehr verlieren!
//B_Story_CancelFindXardas();
//AI_StopProcessInfos(self);
7. Кайн -
/*
// **************************************************
// Zu Kalom
// **************************************************

instance DIA_Caine_WaysToKalom (C_INFO)
{
npc = Nov_1301_Caine;
nr = 2;
condition = DIA_Caine_WaysToKalom_Condition;
information = DIA_Caine_WaysToKalom_Info;
permanent = 0;
description = "Ich wьrde gerne mit Cor Kalom reden - kannst du mir dabei helfen?";
};

FUNC int DIA_Caine_WaysToKalom_Condition()
{
if (Npc_KnowsInfo (hero, DIA_Caine_Hallo))
{
return 1;
};
};

FUNC VOID DIA_Caine_WaysToKalom_Info()
{
AI_Output (other, self,"DIA_Caine_WaysToKalom_15_00"); //Ich wьrde gerne mit Cor Kalom reden - kannst du mir dabei helfen?
AI_Output (self, other,"DIA_Caine_WaysToKalom_13_01"); //Wenn du zu Cor Kalom willst, muЯt du einen guten Grund haben.
AI_Output (self, other,"DIA_Caine_WaysToKalom_13_02"); //Die Wache hat Anweisung, nur die vorzulassen, die Alchimistische Substanzen bringen oder von einen der Gurus geschickt wurden.
};

// **************************************************
// Alchimistische Subsatanzen
// **************************************************

instance DIA_Caine_Alchemies (C_INFO)
{
npc = Nov_1301_Caine;
nr = 2;
condition = DIA_Caine_Alchemies_Condition;
information = DIA_Caine_Alchemies_Info;
permanent = 0;
description = "Was fьr alchimistische Substanzen kann ich Kalom bringen?";
};

FUNC int DIA_Caine_Alchemies_Condition()
{
if (Npc_KnowsInfo (hero, DIA_Caine_WaysToKalom))
{
return 1;
};
};

FUNC VOID DIA_Caine_Alchemies_Info()
{
AI_Output (other, self,"DIA_Caine_Alchemies_15_00"); //Was fьr alchimistische Substanzen kann ich Kalom bringen?
AI_Output (self, other,"DIA_Caine_Alchemies_13_01"); //Kalom benцtigt vor allem das Sekret der Minecrawler. Wenn du ihm genug davon beschaffst, wird dich die Wache sicher vorlassen.
AI_Output (self, other,"DIA_Caine_Alchemies_13_02"); //Er braucht zwar auch Pflanzen und Beeren, die man zwischen den Lagern findet, aber die nimmt Fortuno unten an.
};

*/
/*
// **************************************************
//
// **************************************************

instance DIA_Caine_WieGuruSend (C_INFO)
{
npc = Nov_1301_Caine;
nr = 2;
condition = DIA_Caine_WieGuruSend_Condition;
information = DIA_Caine_WieGuruSend_Info;
permanent = 0;
description = "Wie bringe ich einen Guru dazu, dass er mich zu Kalom schickt.";
};

FUNC int DIA_Caine_WieGuruSend_Condition()
{
if (Npc_KnowsInfo (hero, DIA_Caine_WaysToKalom))
{
return 1;
};
};

FUNC VOID DIA_Caine_WieGuruSend_Info()
{
AI_Output (other, self,"DIA_Caine_WieGuruSend_15_00"); //Wie bringe ich einen Guru dazu, dass er mich zu Kalom schickt.
AI_Output (self, other,"DIA_Caine_WieGuruSend_13_01"); //Darьber kann die Lester mehr erzдhlen.
AI_Output (self, other,"DIA_Caine_WieGuruSend_13_02"); //Bis vor kurzen hat er noch fьr Cor Kalom gearbeitet, jetzt kьmmert er sich zusammen mit den Gurus um die Neuen.
};
*/
8. Йору -
/*
Sit_1_PSI_Joru_SmokingTeacher

Joru: Du bist neu hier. Hast Du schon unser Kraut genossen?
Das solltest du unbedingt tun. WeiЯt du, es ist ziemlich gut. Es цffnet deinen Geist fьr die Worte des Schlдfers.
Komm, komm zu uns und lasse deinen Geist frei. Mach dich bereit fьr eine Reise.
Eine spirituelle Reise. Lerne die Macht des Geistes zu nutzen. Lerne sie zu kontrollieren.
Komm zu uns in die Gemeinschaft der Erwachten und gleichzeitig Erwecker. Teile mit uns deine Kraft, wie wir unsere Kraft mit dir teilen.
Mach dich frei von Suche und beginne zu finden. Entdecke die Wahrheit. Das alles kannst du erreichen, wenn du zu uns kommst.

*/
9. Ур-Шак -
//SN: fliegt raus, da der Hinweis jetzt sofort nach dem Hinweis mit der Scroll gegeben wird.
//AI_Output (hero, self,"Info_OrcShaman_IDOL_15_01"); //Ich habe den Teleportzauber verbraucht und das Gitter zur Tempelvorhalle lдsst sich nicht цffnen!
//AI_Output (hero, self,"Info_OrcShaman_IDOL_15_02"); //Wie komme ich jetzt wieder in den Tempel?
10. Ларс -
//AI_Output (self, other,"ORG_801_Lares_BringList_11_06"); //Das haben wir gleich ... So! Hier ist die Liste. Du weiЯt, was du zu tun hast.
11. Мордраг -
/*
//SN: Werde nicht gebraucht, da sie nicht zur Kapitel 2-6-Story passen!!!
AI_Output (other, self,"Org_826_Mordrag_RUNNING_15_08"); //Ich hab' die Eier bei mir.

AI_Output (self, other,"Org_826_Mordrag_RUNNING_11_05"); //(sarkastisch) Hab' ich auch gemerkt. Diese verdammten Sektenspinner haben Gomez die alte Mine gekostet. Wird nicht mehr lange dauern, dann stehen seine Gardisten bei UNS vor der Tьr, um sich ihr Erz abzuholen...
*/
12. Ведж -
//AI_Output (self, other,"DIA_Wedge_WarnsOfButch_05_02"); //Also, geh ihm am besten aus dem Weg.//***Doppelt***
13. Ренью -
/*

//*******************************************************
// DEAL
//*******************************************************

instance ORG_860_Renyu_DEAL (C_INFO)
{
npc = ORG_860_Renyu;
condition = ORG_860_Renyu_DEAL_Condition;
information = ORG_860_Renyu_DEAL_Info;
important = 0;
permanent = 0;
description = "Ich bin hier, um euch ein Angebot zu unterbreiten.";
};

FUNC int ORG_860_Renyu_DEAL_Condition()
{
if (Npc_KnowsInfo (hero,ORG_862_Jacko_ANGEBOT))
&& ( Kalom_DrugMonopol == LOG_RUNNING)
{
return TRUE;
};

};
FUNC void ORG_860_Renyu_DEAL_Info()
{
AI_Output (other, self,"ORG_860_Renyu_DEAL_Info_15_01"); //Ich bin hier, um euch ein Angebot zu unterbreiten.
AI_Output (self, other,"ORG_860_Renyu_DEAL_Info_06_02"); //Da bin ich ja mal gespannt, um was gehts?
AI_Output (other, self,"ORG_860_Renyu_DEAL_Info_15_03"); //Die Bruderschaft weiЯ, was ihr hier veranstaltet.Sie schicken mich um dafьr zu sorgen das ihr aufhцrt!
AI_Output (self, other,"ORG_860_Renyu_DEAL_Info_06_04"); //Komm zur Sache!

Info_ClearChoices (ORG_860_Renyu_DEAL);
Info_AddChoice (ORG_860_Renyu_DEAL,"Gebt mir 500 Erz",ORG_860_Renyu_DEAL_500);
Info_AddChoice (ORG_860_Renyu_DEAL,"Gebt mir 250 Erz",ORG_860_Renyu_DEAL_250);
};
func void ORG_860_Renyu_DEAL_500()
{
AI_Output (other, self,"ORG_860_Renyu_DEAL_500_Info_15_01"); //Gebt mir 500 Erz dann sorge ich dafьr, das die Bruderschaft euch in Ruhe lдsst.!
AI_Output (self, other,"ORG_860_Renyu_DEAL_500_Info_06_02"); //Und wenn wir nicht zahlen? Was machst du dann?
AI_Output (other, self,"ORG_860_Renyu_DEAL_500_Info_15_03"); //Dann schicke ich euch ein paar Templer vorbei, die bekommen alle einen dicken Sack Kraut von mir, wenn sich euch fertigmachen!
AI_Output (self, other,"ORG_860_Renyu_DEAL_500_Info_06_04"); //WeiЯt du, ich denke wir sollten der Bruderschaft zeigen,das wir es ernst meinen. Wir schicken ihnen deine Ьberreste, als Warnung!
AI_StopProcessInfos (self);
Npc_SetTarget (self, hero);
AI_StartState (self, ZS_Attack, 1, "");
Npc_SetPermAttitude (self,ATT_HOSTILE);
var C_NPC Killian;
Killian = Hlp_GetNpc(ORG_861_Killian);
Npc_SetTarget (Killian, hero);
AI_StartState (Killian, ZS_Attack, 1, "");
Npc_SetPermAttitude (Killian,ATT_HOSTILE);
var C_NPC jacko;
jacko = Hlp_GetNpc(ORG_862_jacko);
Npc_SetTarget (jacko, hero);
AI_StartState (jacko, ZS_Attack, 1, "");
Npc_SetPermAttitude (jacko,ATT_HOSTILE);
};
func void ORG_860_Renyu_DEAL_250()
{
AI_Output (other, self,"ORG_860_Renyu_DEAL_250_Info_15_01"); //Gebt mir 250 erz, dann sorge ich dafьr, das die Bruderschaft euch in ruhe lдsst.
AI_Output (self, other,"ORG_860_Renyu_DEAL_250_Info_06_02"); //Hmmm.... nun gut. Einverstanden.Aber wenn du versuchst, mich reinzulegen, dann wirst du dri wьnschen mich nie getroffen zu haben.Habn wir eine Abmachung?
AI_Output (other, self,"ORG_860_Renyu_DEAL_250_Info_15_03"); //Klar, her mit dem Erz!
CreateInvItems (self,ItMinugget,250);
B_GiveInvItems (self, other, itminugget, 250);
idiots_deal = TRUE;
};

//*******************************************************
// Maul
//*******************************************************

instance ORG_860_Renyu_LOST (C_INFO)
{
npc = ORG_860_Renyu;
condition = ORG_860_Renyu_LOST_Condition;
information = ORG_860_Renyu_LOST_Info;
important = 0;
permanent = 0;
description = "Was sagst du jetzt? Du mieser Schwдchling! ";
};

FUNC int ORG_860_Renyu_LOST_Condition()
{
var C_NPC Renyu;
Renyu = Hlp_GetNpc(ORG_860_Renyu);
Renyu.aivar[AIV_WASDEFEATEDBYSC] ;

if (Renyu.aivar[AIV_WASDEFEATEDBYSC] == TRUE)
&& (Npc_KnowsInfo (hero,ORG_860_Renyu_DEAL))
&& ( Kalom_DrugMonopol == LOG_RUNNING)
{
return TRUE;
};

};
FUNC void ORG_860_Renyu_LOST_Info()
{
AI_Output (other, self,"ORG_860_Renyu_LOST_Info_15_01"); //Was sagst du jetzt? Du mieser Schwдchling!
AI_Output (self, other,"ORG_860_Renyu_LOST_Info_06_02"); //In Ordnung, mann du hast gewonnen! Wir werden aufhцren! Das Kraut gehцrt dir!
Kalom_DrugMonopol = LOG_SUCCESS;
Npc_ExchangeRoutine (self,"ARBEITSLOS");

var C_NPC jacko;
jacko = Hlp_GetNpc(ORG_862_jacko);
Npc_ExchangeRoutine (jacko,"ARBEITSLOS");
};


*/
14. Киллиан -
/*

//*****************************************************************
// NORMAL
//*****************************************************************

instance ORG_861_Killian_WORK (C_INFO)
{
npc = ORG_861_Killian;
condition = ORG_861_Killian_WORK_Condition;
information = ORG_861_Killian_WORK_Info;
important = 0;
permanent = 0;
description = " Wie lдufts?";
};

FUNC int ORG_861_Killian_WORK_Condition()
{
return TRUE;
};


FUNC void ORG_861_Killian_WORK_Info()
{
AI_Output (other, self,"Org_861_Killian_WORK_Info_15_01"); //Wie lдufts?
AI_Output (self, other,"Org_861_Killian_WORK_Info_13_02"); //Lass mich in Ruhe! Ich bin beschдftigt!
};

//*****************************************************************
// NORMAL
//*****************************************************************

instance ORG_861_Killian_DEAL (C_INFO)
{
npc = ORG_861_Killian;
condition = ORG_861_Killian_DEAL_Condition;
information = ORG_861_Killian_DEAL_Info;
important = 0;
permanent = 0;
description = "Wie lдufts Kumpel?";
};

FUNC int ORG_861_Killian_DEAL_Condition()
{
if ( Kalom_DrugMonopol == LOG_RUNNING)
&& (idiots_deal == TRUE)
{
return TRUE;
};

};
FUNC void ORG_861_Killian_DEAL_Info()
{
AI_Output (other, self,"Org_861_Killian_DEAL_Info_15_01"); //Wie lдufts Kumpel?
AI_Output (self, other,"Org_861_Killian_DEAL_Info_13_02"); //Wir haben zwar eine Abmachung, aber ich bin nicht dein Kumpel, Penner!
};

//*****************************************************************
// NORMAL
//*****************************************************************

instance ORG_861_Killian_LOST (C_INFO)
{
npc = ORG_861_Killian;
condition = ORG_861_Killian_LOST_Condition;
information = ORG_861_Killian_LOST_Info;
important = 0;
permanent = 0;
description = "Und du penner? Hдltst du jetzt die FьЯe still?";
};

FUNC int ORG_861_Killian_LOST_Condition()
{
var C_NPC Killian;
Killian = Hlp_GetNpc(ORG_861_Killian);
Killian.aivar[AIV_WASDEFEATEDBYSC] ;

if (Killian.aivar[AIV_WASDEFEATEDBYSC] == TRUE)
&& ( Kalom_DrugMonopol == LOG_RUNNING)
&& (Npc_KnowsInfo (hero,ORG_860_Renyu_DEAL))
{
return TRUE;
};

};
FUNC void ORG_861_Killian_LOST_Info()
{
AI_Output (other, self,"Org_861_Killian_LOST_Info_15_01"); //Und du penner? Hдltst du jetzt die FьЯe still?
AI_Output (self, other,"Org_861_Killian_LOST_Info_13_02"); //Hey KUMPEL, ich wusste ja nicht, das die Brudeschaft da soviel Wert darauf legt!
AI_Output (other, self,"Org_861_Killian_LOST_Info_15_03"); //Ich bin nicht dein Kumpel, Penner!
Kalom_DrugMonopol = LOG_SUCCESS;
Npc_ExchangeRoutine (self,"ARBEITSLOS");
};

*/
16. Джако -
/*
//******************************************************************
// SPELER SOLL ABHAUEN
//******************************************************************

instance ORG_862_Jacko_DRUGGUARD (C_INFO)
{
npc = ORG_862_Jacko;
condition = ORG_862_Jacko_DRUGGUARD_Condition;
information = ORG_862_Jacko_DRUGGUARD_Info;
important = 0;
permanent = 0;
description = "Was machst du hier?";
};

FUNC int ORG_862_Jacko_DRUGGUARD_Condition()
{
return TRUE;
};
FUNC void ORG_862_Jacko_DRUGGUARD_Info()
{
AI_Output (other, self,"ORG_862_Jacko_DRUGGUARD_Info_15_01"); //Was machst du hier?
AI_Output (self, other,"ORG_862_Jacko_DRUGGUARD_Info_06_02"); //Gar nichts. Geh weg!
AI_StopProcessInfos (self);
};


//******************************************************************
// NORMAL
//******************************************************************

instance ORG_862_Jacko_KALOM (C_INFO)
{
npc = ORG_862_Jacko;
condition = ORG_862_Jacko_KALOM_Condition;
information = ORG_862_Jacko_KALOM_Info;
important = 0;
permanent = 0;
description = "Ich bin im Auftrag der Bruderschaft hier.";
};

FUNC int ORG_862_Jacko_KALOM_Condition()
{
if (Npc_KnowsInfo (hero,ORG_862_Jacko_DRUGGUARD))
&& ( Kalom_DrugMonopol == LOG_RUNNING)
{
return TRUE;
};

};
FUNC void ORG_862_Jacko_KALOM_Info()
{
AI_Output (other, self,"ORG_862_Jacko_KALOM_Info_15_01"); //Ich bin im Auftrag der Bruderschaft hier.
AI_Output (self, other,"ORG_862_Jacko_KALOM_Info_06_02"); //Oh scheisse! Und da schicken die so einen wie dich?
};

//******************************************************************
// NORMAL
//******************************************************************

instance ORG_862_Jacko_ANGEBOT (C_INFO)
{
npc = ORG_862_Jacko;
condition = ORG_862_Jacko_ANGEBOT_Condition;
information = ORG_862_Jacko_ANGEBOT_Info;
important = 0;
permanent = 0;
description = "Ich will euch ein Angebot machen!";
};

FUNC int ORG_862_Jacko_ANGEBOT_Condition()
{
if (Npc_KnowsInfo (hero,ORG_862_Jacko_KALOM))
{
return TRUE;
};

};
FUNC void ORG_862_Jacko_ANGEBOT_Info()
{
AI_Output (other, self,"ORG_862_Jacko_ANGEBOT_Info_15_01"); //Ich will euch ein Angebot machen!
AI_Output (self, other,"ORG_862_Jacko_ANGEBOT_Info_06_02"); //Was fьr ein Angebot?
AI_Output (other, self,"ORG_862_Jacko_ANGEBOT_Info_15_03"); //Das werde ich mit demjenigen bereden,der hier das Sagen hat.
AI_Output (self, other,"ORG_862_Jacko_ANGEBOT_Info_06_04"); //Na schцn,dann rede mit Renyu. Aber keine faulen Tricks, sonst zerschlage ich jeden deiner Knochen einzeln!
AI_StopProcessInfos (self);
};

*/
17. Диего -
/*

// *******************************************************************

AI_Output(self,hero,"Info_Diego_Gamestart_11_01"); //Warum haben sie dich hier reingeworfen?

Info_ClearChoices(Info_Diego_Gamestart );
Info_AddChoice (Info_Diego_Gamestart, "Gewitzter Ьberfall (+3 Geschicklichkeit)" ,Info_Diego_Gamestart_Choice_Dex);
Info_AddChoice (Info_Diego_Gamestart, "Schlдgerei mit Folgen (+3 Stдrke)" ,Info_Diego_Gamestart_Choice_Str);
Info_AddChoice (Info_Diego_Gamestart, "Wahre Worte zum falschen Mann (+3 Mana)" ,Info_Diego_Gamestart_Choice_Man);
Info_AddChoice (Info_Diego_Gamestart, "Unschuldig (+1 auf alle Attribute)" ,Info_Diego_Gamestart_Choice_All);
};
// -------------------------------------------- CHOICES ----------------------------------------------------
FUNC VOID Info_Diego_Gamestart_Choice_Dex()
{
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_Dex_15_00"); //Ich habe ne Ladung Erz verschwinden lassen.
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_Dex_15_01"); //Dummerweise hat der Typ bei dem ich sie versteckt habe, lieber die Belohnung fьr mich kassiert, anstatt mit mir das Erz zu teilen.
PrintScreen ("Geschicklichkeit +3", -1,-1,"FONT_OLD_20_WHITE.TGA",3);
hero.attribute[ATR_DEXTERITY] = hero.attribute[ATR_DEXTERITY]+3;
Info_ClearChoices(Info_Diego_Gamestart );
};

FUNC VOID Info_Diego_Gamestart_Choice_Str()
{
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_Str_15_00"); //Eine Herausforderung konnte ich noch nie abschlagen. Auch nicht von des Kцnigs Gardisten. dummerweise hat der Kцnig viele Gardisten.
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_Str_15_01"); //Zu viele.
PrintScreen ("Stдrke +3", -1,-1,"FONT_OLD_20_WHITE.TGA",3);
hero.attribute[ATR_STRENGTH] = hero.attribute[ATR_STRENGTH]+3;
Info_ClearChoices(Info_Diego_Gamestart );
};

FUNC VOID Info_Diego_Gamestart_Choice_Man()
{
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_Man_15_00"); //Ich saЯ in der Kneipe und habe meine Meinung ьber Kцnig, Krieg und Steuern gesagt.
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_Man_15_01"); //Ich hab' mich nur zu spдt daran erinnert, dass der, der die Wahrheit spricht, ein schnelles Pferd braucht.
PrintScreen ("Mana +3", -1,-1,"FONT_OLD_20_WHITE.TGA",3);
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA]+3;
hero.attribute[ATR_MANA_MAX] = hero.attribute[ATR_MANA_MAX]+3;
Info_ClearChoices(Info_Diego_Gamestart );
};

FUNC VOID Info_Diego_Gamestart_Choice_All()
{
AI_Output(hero,self,"Info_Diego_Gamestart_Choice_All_15_00"); //Ich bin unschuldig!
AI_Output(self,hero,"Info_Diego_Gamestart_Choice_All_11_01"); //Du solltest eins wissen: Hier drin ist niemand unschuldig.
AI_Output(self,hero,"Info_Diego_Gamestart_Choice_All_11_02"); //Hier findest du Mдnner die so ziemlich jedes mцgliche Verbrechen begangen haben. Und einen unschuldigen nehmen die nur zu gerne auseinander.
AI_Output(self,hero,"Info_Diego_Gamestart_Choice_All_11_03"); //Ich gebe dir nen Tipp, und der ist ganz umsonst.
AI_Output(self,hero,"Info_Diego_Gamestart_Choice_All_11_04"); //Wenn dich jemand fragt, warum du hier bist, sag ihm, du hast einen Typen gekillt, der dich gefragt hat, warum du hier bist.
PrintScreen ("Stдrke, Geschick und Mana +1", -1,-1,"FONT_OLD_20_WHITE.TGA",3);
hero.attribute[ATR_DEXTERITY] = hero.attribute[ATR_DEXTERITY]+1;
hero.attribute[ATR_STRENGTH] = hero.attribute[ATR_STRENGTH] +1;
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA] +1;
hero.attribute[ATR_MANA_MAX] = hero.attribute[ATR_MANA_MAX] +1;
Info_ClearChoices(Info_Diego_Gamestart );


*/
18. Торлоф -
/*

// ********************************
// PERM
// ********************************

instance DIA_Torlof_PERM (C_INFO)
{
npc = Sld_737_Torlof;
nr = 3;
condition = DIA_Torlof_PERM_Condition;
information = DIA_Torlof_PERM_Info;
permanent = 1;
description = "Was kannst du mir ьber dieses Lager sagen?";
};

FUNC int DIA_Torlof_PERM_Condition()
{
return 1;
};

FUNC VOID DIA_Torlof_PERM_Info()
{
AI_Output (other, self,"DIA_Torlof_PERM_15_00"); //Was kannst du mir ьber dieses Lager sagen?
AI_Output (self, other,"DIA_Torlof_PERM_04_01"); //Ist wie auf'm Piratenschiff, Junge. Solange ab und zu ein fetter Fischzug gegen Gomez drin ist, sind die Banditen zufrieden.
AI_Output (self, other,"DIA_Torlof_PERM_04_02"); //Wenn sie kein Erz mehr haben, um sich in der Kneipe vollaufen zu lassen, gibt's ne Menge Schlдgereien.
};

*/
19. Гор Ханис -
/*

// infos
instance Info_TPL_1422_GorHanis (C_INFO)
{
npc = TPL_1422_GorHanis;
condition = Info_TPL_1422_GorHanis_Condition;
information = Info_TPL_1422_GorHanis_Info;
important = 1;
permanent = 0;
};

FUNC int Info_TPL_1422_GorHanis_Condition()
{
if ( Npc_KnowsInfo ( hero, Info_PC_Mage_LoadSword3 )) {
return 1;
};
};

func void Info_TPL_1422_GorHanis_Info()
{
AI_Output (self, other,"Info_TPL_1422_GorHanis_08_01"); //Was machst du hier?
};


instance Info_TPL_1422_GorHanis1 (C_INFO)
{
npc = TPL_1422_GorHanis;
condition = Info_TPL_1422_GorHanis1_Condition;
information = Info_TPL_1422_GorHanis1_Info;
important = 0;
permanent = 0;
description = "Ich will helfen den Schlдfer zu erwecken.";
};

FUNC int Info_TPL_1422_GorHanis1_Condition()
{
if ( Npc_KnowsInfo ( hero, Info_TPL_1422_GorHanis )) {
return 1;
};
};

func void Info_TPL_1422_GorHanis1_Info()
{
AI_Output (other, self,"Info_TPL_1422_GorHanis1_15_01"); //Ich will helfen den Schlдfer zu erwecken.
AI_Output (self, other,"Info_TPL_1422_GorHanis1_08_02"); //Hmm, siehst gar nicht so aus, als wolltest Du wirklich helfen wollen. Geh aber ruhig weiter, ich halte dich nicht auf, falls du lьgst, wird der Hohenpriester dir schon eine Lektion erteilen.
};



instance Info_TPL_1422_GorHanis2 (C_INFO)
{
npc = TPL_1422_GorHanis;
condition = Info_TPL_1422_GorHanis2_Condition;
information = Info_TPL_1422_GorHanis2_Info;
important = 0;
permanent = 0;
description = "Das geht dich nichts an!";
};

FUNC int Info_TPL_1422_GorHanis2_Condition()
{
if ( Npc_KnowsInfo ( hero, Info_TPL_1422_GorHanis )) {
return 1;
};
};

func void Info_TPL_1422_GorHanis2_Info()
{
AI_Output (other, self,"Info_TPL_1422_GorHanis2_15_01"); //Das geht dich nichts an!
AI_Output (self, other,"Info_TPL_1422_GorHanis2_08_02"); //Soso, dann lasse ich dich lieber passieren, bevor du mir weh tust (lacht). Am Hohenpriester kommst Du eh nicht vorbei und ich muss mein Schwert nicht mit deinem Blut beschmutzen.
};


instance Info_TPL_1422_GorHanis3 (C_INFO)
{
npc = TPL_1422_GorHanis;
condition = Info_TPL_1422_GorHanis3_Condition;
information = Info_TPL_1422_GorHanis3_Info;
important = 0;
permanent = 0;
description = "Wie seit ihr an dem Priester vorbei gekommen?";
};

FUNC int Info_TPL_1422_GorHanis3_Condition()
{
if ( Npc_KnowsInfo ( hero, Info_TPL_1422_GorHanis2 )) || ( Npc_KnowsInfo ( hero, Info_TPL_1422_GorHanis1 )) {
return 1;
};
};

func void Info_TPL_1422_GorHanis3_Info()
{
AI_Output (other, self,"Info_TPL_1422_GorHanis3_15_01"); //Wie seit ihr an dem Priester vorbei gekommen?
AI_Output (self, other,"Info_TPL_1422_GorHanis3_08_02"); //Ich sage es dir, es wird dir eh nicht nutzen. Der Priester hat uns nur passieren lassen, weil Meister Kalom mit im gesprochen hat, dass Glьck wirst du nicht haben. Geh nur (lacht).
};

*/
Вырезанные/незадействованные предметы:
1. Амулет Просвещения -
/******************************************************************************************/
/*
// FIXME: was soll das machen? Dдmon beschwцren???
INSTANCE Beschwцrungsamulett(C_Item)
{
name = "Amulett der Erleuchtung";

mainflag = ITEM_KAT_MAGIC;
flags = ITEM_AMULET;

value = 300;

visual = "ItMi_Amulet_03.3ds";

visual_skin = 0;
material = MAT_METAL;
on_equip = Equip_Beschwцrungsamulett;
on_unequip = UnEquip_Beschwцrungsamulett;
description = "Dдmonenbeschwцrung";
TEXT[0] = "Schwarz wie die Seele";
TEXT[1] = "Schwarz wie die Nacht";
////COUNT[1] = ;
TEXT[2] = "Schwarz wie das Bцse";
////COUNT[2] = ;
TEXT[3] = "Schwarz verheisst Macht";
////COUNT[3] = ;
//TEXT[4] = "";
////COUNT[4] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

FUNC VOID Equip_Beschwцrungsamulett()
{


};


FUNC VOID UnEquip_Beschwцrungsamulett ()
{


};

*/
2. Старый меч в заброшенной шахте -
/************************************************
** Missionsitems fьr Introparcours in der VM **
************************************************/

INSTANCE AltesSchwertVM (C_Item)
{
name = "Altes Schwert";

mainflag = ITEM_KAT_NF;
flags = ITEM_SWD|ITEM_MISSION;
material = MAT_METAL;

value = 12;
cond_atr[2] = ATR_STRENGTH;
cond_value[2] = 10 ;
damageTotal = 12;
damagetype = DAM_EDGE;
visual = "ItMw_1H_Sword_Old_01.3DS";

description = name;
//TEXT[0] = "";
////COUNT[0] = ;
//TEXT[1] = "";
////COUNT[1] = ;
TEXT[2] = NAME_Damage;
COUNT[2] = damageTotal;
TEXT[3] = NAME_Str_needed;
COUNT[3] = cond_value[2];
TEXT[4] = NAME_OneHanded;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
3. Меч Шакала (по задумке ПБ Декстер хотел продать его гг)
/************************************************
** Sit_1_OC_Dexter_SellSword **
************************************************/

INSTANCE JackalsSword (C_Item)
{
name = "Jackals Schwert";

mainflag = ITEM_KAT_NF;
flags = ITEM_SWD;
material = MAT_METAL;
owner = GRD_201_Jackal;

value = 27;
cond_atr[2] = ATR_STRENGTH;
cond_value[2] = 20;
damageTotal = 3;
damagetype = DAM_EDGE;
visual = "ItMw_1H_Sword_Short_05.3DS";

description = name;
//TEXT[0] = "";
////COUNT[0] = ;
//TEXT[1] = "";
////COUNT[1] = ;
TEXT[2] = NAME_Damage;
COUNT[2] = damageTotal;
TEXT[3] = NAME_Str_needed;
COUNT[3] = cond_value[2];
TEXT[4] = NAME_OneHanded;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
4. Болотник для Рудокопов (исходя из описания наиболее вероятно, что это относится к квесту - Новые Рекруты для Братства, нужно было дать косяк рудокопу Дасти, чтобы он согласился пойти)
/*************************************************
** Missionsitems fьr Mis_1_Psi_RecruitBuddler **
*************************************************/
INSTANCE RecruitJoint(C_Item)
{
name = "Sumpfkraut fьr Buddler";

mainflag = ITEM_KAT_NONE;
flags = ITEM_MULTI;

hp = 10;
hp_max = 10;
weight = 1;
value = 1;

visual = "ItMiJoint.3ds";
material = MAT_WOOD;

scemeName = "JOINT";
description = name;
//TEXT[0] = "";
////COUNT[0] = ;
//TEXT[1] = "";
////COUNT[1] = ;
//TEXT[2] = "";
//COUNT[2] = ;
//TEXT[3] = "";
//COUNT[3] = ;
//TEXT[4] = "";
////COUNT[4] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
5. Элексир для Юбериона (Восстановлено в ЗМ)
/**************************************************
** Missionsitems fьr Mis_3_Psi_BringMedicine **
**************************************************/

INSTANCE HealthWater(C_Item)
{
name = "Heiltrank fьr YBerion";

mainflag = ITEM_KAT_NONE;
flags = ITEM_MISSION;

//hp = 1;
//hp_max = 1;
//weight = 1;
value = 10;

//change_atr[0] = ATR_HITPOINTS;
//change_value[0] = 5;

visual = "ItFo_Potion_Health_01.3ds";
material = MAT_GLAS;
//on_state[0] = UseAlcohol;
//scemeName = "POTION";
description = name;
//TEXT[0] = "";
////COUNT[0] = ;
//TEXT[1] = "";
////COUNT[1] = ;
//TEXT[2] = "";
//COUNT[2] = ;
//TEXT[3] = "";
//COUNT[3] = ;
//TEXT[4] = "";
////COUNT[4] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
6. Кольцо Ларса (миссия на поиск утерянного кольца для Ларса, о чем и свидетельствует описание, которому я доверяю, никакая не ересь, чистые факты ;), несмотря на то что относятся к старому сюжету)
/*********************************************
** Missionsitems fьr Lares Find Ring **
*********************************************/

INSTANCE Lares_Ring(C_Item)
{
name = NAME_Ring;

mainflag = ITEM_KAT_MAGIC;
flags = ITEM_RING || ITEM_MISSION ;

value = 50;

visual = "ItMi_Ring_01.3ds";

visual_skin = 0;
material = MAT_METAL;
on_equip = Equip_Lares_Ring;
on_unequip = UnEquip_Lares_Ring;
description = "Ring von Lares";
//TEXT[0] = "";
//TEXT[1] = "";
////COUNT[1] = ;
TEXT[2] = NAME_Bonus_Str;
COUNT[2] = 3;
//TEXT[3] = "";
////COUNT[3] = ;
//TEXT[4] = "";
////COUNT[4] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

FUNC VOID Equip_Lares_Ring()
{

Npc_ChangeAttribute(self,ATR_STRENGTH,3 );
};


FUNC VOID UnEquip_Lares_Ring()
{

Npc_ChangeAttribute(self,ATR_STRENGTH,-3 );
};
7. Элексир исцеления для Ларса
/*********************************************
** Missionsitems fьr Lares Get Potion **
*********************************************/
INSTANCE Heiltrank(C_Item)
{
name = NAME_Trank;

mainflag = ITEM_KAT_POTIONS;
flags = ITEM_MULTI||ITEM_MISSION;

value = 100;

visual = "ItFo_Potion_Health_01.3ds";
material = MAT_GLAS;
on_state[0] = UseHeiltrank;
scemeName = "POTION";
description = "Trank der schnellen Heilung";
//TEXT[0] = "";
TEXT[2] = NAME_Bonus_HP;
COUNT[2] = 30;
//TEXT[3] = "";
////COUNT[3] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};

FUNC VOID UseHeiltrank()
{
PrintDebugNpc (PD_ITEM_MOBSI, "UseHealthPotion");
Npc_ChangeAttribute (self,ATR_HITPOINTS,30);
PrintDebugNpc (PD_ITEM_MOBSI, "Ich trinke meinen Heiltrank");

};
8. Магическая вода, которую должен был выдавать Мордраг, если придти с ним в НЛ (Даже в интервью об этом сказано;))
/*********************************************
** Missionsitems fьr Mordrag **
*********************************************/

INSTANCE SpecialWater(C_Item)
{
name = "Zauberwasser";

mainflag = ITEM_KAT_FOOD;
flags = ITEM_MISSION;

value = 10;

//change_atr[0] = ATR_HITPOINTS;
//change_value[0] = 5;

visual = "ItFoFlaskHealth.3ds";
material = MAT_GLAS;
//on_state[0] = UseSpecialWater;
scemeName = "POTION";

description = name;
//TEXT[0] = "";
////COUNT[0] = ;
//TEXT[1] = "";
////COUNT[1] = ;
//TEXT[2] = "";
//COUNT[2] = ;
//TEXT[3] = "";
//COUNT[3] = ;
//TEXT[4] = "";
////COUNT[4] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
9. Какой то амулет, толком не разобрался, инстанция присутствует исключительно в скриптах мдк... Связано с квестом - монополия на болотник
/*********************************************
** Missionsitems fьr Mis_1_PSI_DrugMonopol **
*********************************************/
/*
INSTANCE SalmAmulett (C_Item)
{
name = "Salms Amulett";

mainflag = ITEM_KAT_NONE;
flags = ITEM_MISSION;

hp = 1;
hp_max = 1;
weight = 1;
value = 1;

visual = "ItKeKey1.3ds"; //Dummie Objekt
material = MAT_METAL;

//scemeName = "HORN";
};
*/
10. Книга Заключенные - нет информации
/********************************************************************************/
INSTANCE ItWrDieVerurteilten (C_Item)
{
name = "Die Verurteilten";

mainflag = ITEM_KAT_NONE;
flags = ITEM_MISSION;

value = 100;

visual = "ItWrBook.3ds";
material = MAT_LEATHER;

scemeName = "MAP";
description = name;
//TEXT[0] = "";
////COUNT[0] = ;
//TEXT[1] = "";
////COUNT[1] = ;
//TEXT[2] = "";
//COUNT[2] = ;
//TEXT[3] = "";
//COUNT[3] = ;
//TEXT[4] = "";
////COUNT[4] = ;
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
Заккоментированные PFX инстанции:
/*INSTANCE MAGICGLOW (C_PARTICLEFX)
{
ppsvalue = 80.;
ppsscalekeys_s = "1";
ppsislooping = 1;
shptype_s = "MESH";
shpfor_s = "object";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "RAND";
shpdim_s = "100";
shpmesh_s = "MIN_MOB_STONE_V2_20";
shpmeshrender_b = 1;
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 2.;
dirmode_s = "NONE";
dirfor_s = "object";
dirangleheadvar = 180.;
dirangleelevvar = 180.;
velavg = 9.99999975e-005;
lsppartavg = 3000.;
lsppartvar = 500.;
flygravity_s = "0 0 0";
visname_s = "BLUEGLOW.TGA";
visorientation_s = "NONE";
vistexanifps = 5.;
vistexaniislooping = 1;
vistexcolorstart_s = "0 255 255";
vistexcolorend_s = "0 255 255";
vissizestart_s = "100 100";
vissizeendscale = 0.100000001;
visalphafunc_s = "ADD";
visalphaend = 50.;
};
*/
/* OLD

INSTANCE CS_MILTENFOG (C_PARTICLEFX)
{
ppsvalue = 200.000000000;
ppsscalekeys_s = "1";
ppsislooping = 1;
ppsissmooth = 1;
shptype_s = "BOX";
shpfor_s = "object";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "RAND";
shpisvolume = 1;
shpdim_s = "1000 1000 1000";
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 2.000000000;
dirmode_s = "DIR";
dirfor_s = "object";
dirangleheadvar = 50.000000000;
dirangleelev = 90.000000000;
dirangleelevvar = 20.000000000;
velavg = 0.020000000;
lsppartavg = 3000.000000000;
lsppartvar = 400.000000000;
flygravity_s = "0 0 0";
visname_s = "MAGICFOG.TGA";
visorientation_s = "NONE";
vistexanifps = 5.000000000;
vistexaniislooping = 1;
vistexcolorstart_s = "255 0 0";
vistexcolorend_s = "0 100 200";
vissizestart_s = "40 40";
vissizeendscale = 25.000000000;
visalphafunc_s = "ADD";
visalphastart = 255.000000000;
}; */
/* INSTANCE FIRE_MAGIC (C_PARTICLEFX)
{
ppsvalue = 20.;
ppsscalekeys_s = "1.0";
ppsislooping = 1;
ppsissmooth = 1;
shptype_s = "MESH";
shpfor_s = "MESH";
shpmesh_s = "special_sword.3ds";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "RAND";
shpisvolume = 1;
shpdim_s = "100";
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 2.;
dirmode_s = "NONE";
dirfor_s = "object";
dirangleheadvar = 180.;
dirangleelevvar = 180.;
velavg = 9.99999975e-005;
lsppartavg = 1500.;
lsppartvar = 500.;
flygravity_s = "0 0 0";
visname_s = "GREENSMOKE.TGA";
visorientation_s = "NONE";
vistexisquadpoly = 1;
vistexanifps = 5.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 50 0";
vistexcolorend_s = "255 0 0";
vissizestart_s = "5 5";
vissizeendscale = 10.;
visalphafunc_s = "ADD";
visalphastart = 200.;
}; */

/*INSTANCE PFX_WATERSPLASH (C_PARTICLEFX)
{
ppsvalue = 20.;
shptype_s = "CIRCLE";
shpfor_s = "world";
shpoffsetvec_s = "1000 1000 1000";
shpdistribtype_s = "WALK";
shpdistribwalkspeed = 1.;
shpdim_s = "0";
dirmode_s = "DIR";
dirfor_s = "object";
lsppartavg = 100.;
visname_s = "CFLAREBLUE.TGA";
vistexisquadpoly = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 0 0";
vissizestart_s = "10 10";
vissizeendscale = 4.;
visalphafunc_s = "ADD";
visalphastart = 100.;
};

*/
///////////////////////////////
// destruction PFX
///////////////////////////////

/*
// Wood
INSTANCE DS_WO (C_PARTICLEFX)
{
ppsvalue = 100.;
shptype_s = "MESH";
shpmesh_s = "STOOL.3DS";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 0.100000001;
velvar = 5.00000007e-002;
lsppartavg = 1000.;
lsppartvar = 550.;
flygravity_s = "0 -0.0006 0";
visname_s = "ZDEBRIS3_A0.TGA";
vistexisquadpoly = 1;
vistexanifps = 12.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "20 20";
vissizeendscale = 1.;
visalphafunc_s = "BLEND";
visalphastart = 255.;
visalphaend = 255.;
};

// Stone
INSTANCE DS_ST (C_PARTICLEFX)
{
ppsvalue = 100.;
shptype_s = "MESH";
shpmesh_s = "STOOL.3DS";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 0.100000001;
velvar = 5.00000007e-002;
lsppartavg = 1000.;
lsppartvar = 550.;
flygravity_s = "0 -0.0006 0";
visname_s = "ZDEBRIS3_A0.TGA";
vistexisquadpoly = 1;
vistexanifps = 12.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "20 20";
vissizeendscale = 1.;
visalphafunc_s = "BLEND";
visalphastart = 255.;
visalphaend = 255.;
};

// Metal
INSTANCE DS_ME (C_PARTICLEFX)
{
ppsvalue = 100.;
shptype_s = "MESH";
shpmesh_s = "STOOL.3DS";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 0.100000001;
velvar = 5.00000007e-002;
lsppartavg = 1000.;
lsppartvar = 550.;
flygravity_s = "0 -0.0006 0";
visname_s = "ZDEBRIS3_A0.TGA";
vistexisquadpoly = 1;
vistexanifps = 12.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "20 20";
vissizeendscale = 1.;
visalphafunc_s = "BLEND";
visalphastart = 255.;
visalphaend = 255.;
};

// Leather BEISPIEL ????????
INSTANCE DS_LE (C_PARTICLEFX)
{
ppsvalue = 100.;
shptype_s = "MESH";
shpmesh_s = "STOOL.3DS";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 0.100000001;
velvar = 5.00000007e-002;
lsppartavg = 1000.;
lsppartvar = 550.;
flygravity_s = "0 -0.0006 0";
visname_s = "ZDEBRIS3_A0.TGA";
vistexisquadpoly = 1;
vistexanifps = 12.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "20 20";
vissizeendscale = 1.;
visalphafunc_s = "BLEND";
visalphastart = 255.;
visalphaend = 255.;
};

// Clay BEISPIEL ??????????
INSTANCE DS_CL (C_PARTICLEFX)
{
ppsvalue = 100.;
shptype_s = "MESH";
shpmesh_s = "STOOL.3DS";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 0.100000001;
velvar = 5.00000007e-002;
lsppartavg = 1000.;
lsppartvar = 550.;
flygravity_s = "0 -0.0006 0";
visname_s = "ZDEBRIS3_A0.TGA";
vistexisquadpoly = 1;
vistexanifps = 12.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "20 20";
vissizeendscale = 1.;
visalphafunc_s = "BLEND";
visalphastart = 255.;
visalphaend = 255.;
};

// Glass BEISPIEL ??????????
INSTANCE DS_GL (C_PARTICLEFX)
{
ppsvalue = 100.;
shptype_s = "MESH";
shpmesh_s = "STOOL.3DS";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 0.100000001;
velvar = 5.00000007e-002;
lsppartavg = 1000.;
lsppartvar = 550.;
flygravity_s = "0 -0.0006 0";
visname_s = "ZDEBRIS3_A0.TGA";
vistexisquadpoly = 1;
vistexanifps = 12.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "20 20";
vissizeendscale = 1.;
visalphafunc_s = "BLEND";
visalphastart = 255.;
visalphaend = 255.;
};


///////////////////////////////
// Slide PFX
///////////////////////////////

// Undefined
INSTANCE SS_UD (C_PARTICLEFX)
{
ppsvalue = 8.;
shptype_s = "BOX";
shpdim_s = "20 5 20";
dirmode_s = "DIR";
dirangleelev = 90.;
dirangleelevvar = 30.;
velavg = 2.99999993e-002;
velvar = 9.99999978e-003;
lsppartavg = 550.;
lsppartvar = 350.;
visname_s = "PUFF.TGA";
vistexisquadpoly = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "35 35";
vissizeendscale = 1.;
visalphafunc_s = "ADD";
visalphastart = 80.;
};


///////////////////////////////
// Collision PFX
///////////////////////////////

// Model Attacks Model (Angriff ohne Waffen)


INSTANCE GESCHOSS (C_PARTICLEFX)
{
ppsvalue = 1.;
shptype_s = "POINT";
shpdistribtype_s = "WALK";
shpdistribwalkspeed = 1.00000005e-003;
shpdim_s = "800";
dirmode_s = "TARGET";
dirfor_s = "world";
dirmodetargetfor_s = "world";
dirmodetargetpos_s = "0 0 0";
diranglehead = 180.;
dirangleelev = 90.;
velavg = 1.;
velvar = 5.00000007e-002;
lsppartavg = 5000.;
lsppartvar = 350.;
flygravity_s = "0 0.00002 0";
visname_s = "ZSPARKJ1.TGA";
visorientation_s = "VELO";
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "80 80";
vissizeendscale = 1.;
visalphafunc_s = "ADD";
visalphastart = 255.;
};
INSTANCE Effect01 (C_PARTICLEFX) //Kugel mit Sternen
{
ppsvalue = 1.;
ppsislooping = 1;
shptype_s = "SPHERE";
shpdistribtype_s = "RAN";
shpdistribwalkspeed = 1.00000005e-003;
shpdim_s = "300";
dirangleelev = 100.;
velavg = 0.150000006;
velvar = 5.00000007e-002;
lsppartavg = 2000.;
lsppartvar = 350.;
flygravity_s = "0 -0.0001 0";
visname_s = "CFLARESTARJ1_A1.TGA";
visorientation_s = "VELO";
vistexisquadpoly = 1;
vistexanifps = 15.;
vistexaniislooping = 1;
vistexcolorstart_s = "255 0 0";
vistexcolorend_s = "0 0 255";
vissizestart_s = "18 30";
vissizeendscale = 4.;
visalphafunc_s = "ADD";
visalphastart = 255.;
visalphaend = 255.;
};
INSTANCE Effect02 (C_PARTICLEFX) // KugelZauber
{
ppsvalue = 1.;
shptype_s = "POINT";
shpdistribtype_s = "WALK";
shpdistribwalkspeed = 1.00000005e-003;
shpdim_s = "800";
dirmode_s = "TARGET";
dirfor_s = "world";
dirmodetargetfor_s = "world";
dirmodetargetpos_s = "0 0 0";
diranglehead = 180.;
dirangleelev = 90.;
velavg = 1.;
velvar = 5.00000007e-002;
lsppartavg = 5000.;
lsppartvar = 350.;
flygravity_s = "0 0.00002 0";
visname_s = "ZSPARKJ1.TGA";
visorientation_s = "VELO";
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "80 80";
vissizeendscale = 1.;
visalphafunc_s = "ADD";
visalphastart = 255.;
};
INSTANCE Effect03 (C_PARTICLEFX)
{
ppsvalue = 100.;
ppsislooping = 1;
shptype_s = "CIRCLE";
shpfor_s = "object";
shpdistribtype_s = "WALK";
shpdistribwalkspeed = 1.00000005e-003;
shpisvolume = 100;
shpdim_s = "300";
dirmode_s = "DIR";
dirfor_s = "object";
lsppartavg = 1000.;
visname_s = "CFLAREBLUE.TGA";
visorientation_s = "VELO";
vistexisquadpoly = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "0 0 0";
vissizestart_s = "8 8";
vissizeendscale = 1.;
visalphafunc_s = "ADD";
visalphastart = 255.;
visalphaend = 255.;
};
INSTANCE EinleitungTeleport (C_PARTICLEFX)
{
ppsvalue = 30.;
ppsislooping = 1;
shptype_s = "CIRCLE";
shpfor_s = "world";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "WALK";
shpdistribwalkspeed = 3.00000014e-004;
shpdim_s = "100";
dirmode_s = "DIR";
dirfor_s = "world";
lsppartavg = 100.;
visname_s = "CFLAREBLUE.TGA";
vistexisquadpoly = 1;
vistexcolorstart_s = "0 0 255";
vistexcolorend_s = "0 0 255";
vissizestart_s = "10 10";
vissizeendscale = 4.;
visalphafunc_s = "ADD";
visalphastart = 200.;
visalphaend = 100.;
};
INSTANCE Teleporter/teleport (C_PARTICLEFX)
{
ppsvalue = 1.;
shptype_s = "POINT";
shpfor_s = "object";
shpdistribtype_s = "RAND";
shpdistribwalkspeed = 1.00000005e-003;
shpdim_s = "0";
dirmode_s = "DIR";
dirfor_s = "0";
dirmodetargetfor_s = "object";
dirmodetargetpos_s = "0 0 0";
velvar = 5.00000007e-002;
lsppartavg = 5000.;
lsppartvar = 350.;
flygravity_s = "0 0 0";
visname_s = "CFLAREBLUE.TGA";
visorientation_s = "VELO";
vistexisquadpoly = 1;
vistexcolorstart_s = "0 0 255";
vistexcolorend_s = "255 0 0";
vissizestart_s = "300 300";
vissizeendscale = 10.;
visalphafunc_s = "ADD";
visalphastart = 255.;
visalphaend = 255.;
};
INSTANCE PORTAL (C_PARTICLEFX)
{
ppsvalue = 5.;
shptype_s = "POINT";
shpfor_s = "object";
dirmode_s = "DIR";
lsppartavg = 20000.;
visname_s = "CURSOR.TGA";
vistexisquadpoly = 1;
vistexaniislooping = 1;
vistexcolorstart_s = "0 0 0";
vistexcolorend_s = "255 255 255";
vissizestart_s = "100 100";
vissizeendscale = 20.;
visalphafunc_s = "ADD";
visalphaend = 100.;
};
INSTANCE WindfistProgress (C_PARTICLEFX)
{
ppsvalue = 500.;
ppsislooping = 1;
shptype_s = "LINE";
shpdistribtype_s = "WALK";
shpdistribwalkspeed = 1.00000005e-003;
shpdim_s = "200";
velavg = 0.150000006;
velvar = 5.00000007e-002;
lsppartavg = 500.;
lsppartvar = 350.;
flygravity_s = "0 -0.0001 0";
visname_s = "TWISTERJ.TGA";
visorientation_s = "VELO";
vistexcolorstart_s = "100 100 255";
vistexcolorend_s = "0 0 255";
vissizestart_s = "12 20";
vissizeendscale = 2.50000004e-002;
visalphafunc_s = "ADD";
visalphastart = 255.;
visalphaend = 100.;
};*/
Звуковые инстанции
/* Final Pr.
INSTANCE CS_Prayer_FokusAmbient (C_SFX_DEF) {file= "CS_Prayer_FokusAmbient.wav"; vol = 127; };
INSTANCE CS_Prayer_FokusPrepare (C_SFX_DEF) {file= "CS_Prayer_FokusPrepare.wav"; vol = 127; };
INSTANCE CS_Prayer_FokusFinal (C_SFX_DEF) {file= "CS_Prayer_FokusFinal.wav"; vol = 127; };
INSTANCE CS_Prayer_WaveOfInsanity (C_SFX_DEF) {file= "CS_Prayer_WaveInsanity.wav"; vol = 127; };
INSTANCE CS_Prayer_EarthQuake (C_SFX_DEF) {file= "CS_Prayer_EarthQuake.wav"; vol = 127; };
INSTANCE CS_Prayer_BodyFall (C_SFX_DEF) {file= "CS_Prayer_BodyFall.wav"; vol = 90; };
INSTANCE CS_Prayer_BodyKnee (C_SFX_DEF) {file= "CS_Prayer_BodyKnee.wav"; vol = 90; };
INSTANCE CS_Prayer_OrcVision (C_SFX_DEF) {file= "CS_Prayer_OrcVision.wav"; vol = 127; };
INSTANCE CS_Prayer_MineCollide1 (C_SFX_DEF) {file= "Prayer_MineCollide01.wav"; vol = 127; };
INSTANCE CS_Prayer_MineCollide2 (C_SFX_DEF) {file= "Prayer_MineCollide02.wav"; vol = 127; }; */

// Weapons
// INSTANCE ReadyMag (C_SFX_DEF) {file= "kampfschrei.wav"; };
// INSTANCE ReadyPsi (C_SFX_DEF) {file= "kampfschrei.wav"; };
// INSTANCE ReadyFist (C_SFX_DEF) {file= "kampfschrei.wav"; };

// INSTANCE Ready1hS (C_SFX_DEF) {file= "Sword_Activate_03.wav"; vol = 80; }; // Replaced by KaiRo
// INSTANCE Ready1hS_A1 (C_SFX_DEF) {file= "Sword_Activate_05.wav"; vol = 80; }; // Replaced by KaiRo

// INSTANCE Ready1hA (C_SFX_DEF) {file= "Ready1hs.wav"; };

// INSTANCE Ready2hS (C_SFX_DEF) {file= "Sword_Activate_03.wav"; vol = 80; }; // Replaced by KaiRo
// INSTANCE Ready2hS_A1 (C_SFX_DEF) {file= "Sword_Activate_05.wav"; vol = 80; }; // Replaced by KaiRo

// INSTANCE Ready2hA (C_SFX_DEF) {file= "Ready1hs.wav"; };

// INSTANCE ReadyCrossbow (C_SFX_DEF) {file= "ReadyCrossbow.wav"; };

// Idea by KaiRo:
// INSTANCE ActivateWeaponname ... (e.g. Schwert aus Scheide ziehen)
// INSTANCE DeactivateWeaponname ... (e.g. Schwert in Scheide schieben)

/*

// Replaced by KaiRo
INSTANCE 1hAttack (C_SFX_DEF) {file= "Woosh_01.wav"; vol = 60; };
INSTANCE 1hAttack_A1 (C_SFX_DEF) {file= "Woosh_02.wav"; vol = 60; };
INSTANCE 1hAttackT (C_SFX_DEF) {file= "woosh_02.wav"; vol = 70; };
INSTANCE 1hAttackT_A1 (C_SFX_DEF) {file= "woosh_03.wav"; vol = 70; };
INSTANCE 1hAttackTurn (C_SFX_DEF) {file= "woosh_04.wav"; vol = 85; };
INSTANCE 1hParade (C_SFX_DEF) {file= "woosh_02.wav"; vol = 85; };

// Replaced by KaiRo
INSTANCE 2hAttack (C_SFX_DEF) {file= "Woosh_04.wav"; vol = 70; pitchOff=0; pitchVar=2; loop=0; };
INSTANCE 2hAttackT (C_SFX_DEF) {file= "Woosh_01.wav"; vol = 80; pitchOff=4; pitchVar=0; loop=0; };
INSTANCE 2hAttackTurn (C_SFX_DEF) {file= "Woosh_02.wav"; vol = 85; };
INSTANCE 2hParade (C_SFX_DEF) {file= "Woosh_03.wav"; vol = 90; };

*/

/*

// Magie-SFX_Human
// INSTANCE LIGHT_LOGO (C_SFX_DEF) {};
INSTANCE LIGHT_SELECTED (C_SFX_DEF) {file= "Magic_2.wav"; };
INSTANCE LIGHT_CASTED (C_SFX_DEF) {file= "Magic_10.wav"; };
// INSTANCE LIGHT_SPHERE (C_SFX_DEF) {};
INSTANCE LIGHT_FADES (C_SFX_DEF) {file= "Magic_5.wav"; };
INSTANCE LIGHT_CANCELED (C_SFX_DEF) {file= "Magic_3.wav"; };
// INSTANCE FIREBALL_LOGO (C_SFX_DEF) {};
// INSTANCE FIREBALL_SELECTED (C_SFX_DEF) {};
// INSTANCE FIREBALL_GROWS (C_SFX_DEF) {};
INSTANCE FIREBALL_SHOT (C_SFX_DEF) {file= "Magic_15.wav"; };
INSTANCE FIREBALL_FLIES (C_SFX_DEF) {file= "Magic_13.wav"; };
INSTANCE FIREBALL_EXPLODES (C_SFX_DEF) {file= "Magic_11.wav"; };
INSTANCE FIREBALL_CANCELED (C_SFX_DEF) {file= "Magic_12.wav"; };
// INSTANCE CONTROL_LOGO (C_SFX_DEF) {};
INSTANCE CONTROL_SELECTED (C_SFX_DEF) {file= "Magic_8.wav" ; };
// INSTANCE CONTROL_STRUGGLE (C_SFX_DEF) {};
INSTANCE CONTROL_FAILED (C_SFX_DEF) {file= "Magic_9.wav" ; };
INSTANCE CONTROL_SUCCESS (C_SFX_DEF) {file= "Magic_5.wav" ; };
// INSTANCE CONTROL_CONTROL (C_SFX_DEF) {};
INSTANCE CONTROL_RETURN (C_SFX_DEF) {file= "Magic_6.wav" ; };
// INSTANCE SHAPESHIFT_LOGO (C_SFX_DEF) {};
// INSTANCE SHAPESHIFT_SELECTED (C_SFX_DEF) {};
// INSTANCE SHAPESHIFT_TOGGLE (C_SFX_DEF) {};
// INSTANCE SHAPESHIFT_SHIFT (C_SFX_DEF) {};
// INSTANCE SHAPESHIFT_RETURN (C_SFX_DEF) {};

*/

// Untergrund-SFX_Gobbo
// !NOTE by KaiRo
// In der GOBBO.MDS habe ich fьr den Gobbo die gleichen Untergrund-Sounds genommen, wie fьr den Human.

// INSTANCE Slide (C_SFX_DEF) {file= "slide.wav"; loop=1; };
// INSTANCE Push (C_SFX_DEF) {file= "Pushst.wav"; };
// INSTANCE Pull (C_SFX_DEF) {file= "Pullst.wav"; };
// INSTANCE TorchToggle (C_SFX_DEF) {file= "Wouf.wav"; };
// INSTANCE TorchThrow (C_SFX_DEF) {file= "TorchThrow.wav"; };

/*
INSTANCE CS_IHL_LE_ME (C_SFX_DEF) {file= "CS_IHL_ST_ME.wav"; vol = 80; };
INSTANCE CS_IHL_LE_WO (C_SFX_DEF) {file= "CS_IHL_ST_WO.wav"; vol = 80; };
INSTANCE CS_IHL_LE_ST (C_SFX_DEF) {file= "CS_IHL_ST_ST.wav"; vol = 80; };
INSTANCE CS_IHL_LE_WA (C_SFX_DEF) {file= "CS_IHL_ST_WA.wav"; vol = 80; };
INSTANCE CS_IHL_LE_EA (C_SFX_DEF) {file= "CS_IHL_ST_EA.wav"; vol = 80; };
INSTANCE CS_IHL_LE_SA (C_SFX_DEF) {file= "CS_IHL_ST_SA.wav"; vol = 80; };
*/

// wenn die folgenden 3 blцcke einkommentiert werden, stьrzt der parser ab.
// lцsung: bei programmieren im debug-mode durchlaufen lassen und im parser
// direkt ьberprьfen, was er fьr mucken macht.
// hinweis: die materialkьrzel CL und GL tauchen oben in dem string auf, FL hingegen nicht

/*
INSTANCE CS_IHL_GL_ME (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_GL_WO (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_GL_ST (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_GL_WA (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_GL_EA (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_GL_SA (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
*/

/*INSTANCE CS_IHL_CL_ME (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_CL_WO (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_CL_ST (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_CL_WA (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_CL_EA (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
INSTANCE CS_IHL_CL_SA (C_SFX_DEF) {file= "CS_IHL_GL_WO.wav"; vol = 80; };
*/

/*
INSTANCE CS_IHL_FL_ME (C_SFX_DEF) {file= "CS_IHL_FL_UD.wav"; vol = 80; };
INSTANCE CS_IHL_FL_WO (C_SFX_DEF) {file= "CS_IHL_FL_UD.wav"; vol = 80; };
INSTANCE CS_IHL_FL_ST (C_SFX_DEF) {file= "CS_IHL_FL_UD.wav"; vol = 80; };
INSTANCE CS_IHL_FL_WA (C_SFX_DEF) {file= "CS_IHL_FL_UD.wav"; vol = 80; };
INSTANCE CS_IHL_FL_EA (C_SFX_DEF) {file= "CS_IHL_FL_UD.wav"; vol = 80; };
INSTANCE CS_IHL_FL_SA (C_SFX_DEF) {file= "CS_IHL_FL_UD.wav"; vol = 80; };
*/
////////////////////
// Ambient-SFX
////////////////////

// INSTANCE AMBIENT_WINDYCAVE (C_SFX_DEF) {file= "AMBIENT;WINDYCAVE.wav"; loop=1; };
// INSTANCE AMBIENT_UNDERWATER (C_SFX_DEF) {file= "AMBIENT;UNDERWATER.wav"; loop=1; };
// INSTANCE AMBIENT_NIGHTMEADOW (C_SFX_DEF) {};
// INSTANCE AMBIENT_DARKNIGHT (C_SFX_DEF) {};
// INSTANCE AMBIENT_SUNRISE (C_SFX_DEF) {file= "AMBIENT;SUNRISE.wav"; loop=1; };
// INSTANCE AMBIENT_RAIN (C_SFX_DEF) {file= "AMBIENT;RAIN.wav"; loop=1; };
// INSTANCE AMBIENT_MINE (C_SFX_DEF) {file= "AMB;MINE.wav"; loop=1; };



////////////////////
// Skript-SFX
////////////////////

// INSTANCE CHEST_OPEN (C_SFX_DEF) {file= "CHEST;OPEN.wav"; };
// INSTANCE CHEST_CLOSE (C_SFX_DEF) {file= "CHEST;CLOSE.wav"; };
// INSTANCE BIGCHEST_OPEN (C_SFX_DEF) {file= "BIGCHEST;OPEN.wav"; };
// INSTANCE BIGCHEST_CLOSE (C_SFX_DEF) {file= "BIGCHEST;CLOSE.wav"; };
// INSTANCE LEVEL_USE (C_SFX_DEF) {};
// INSTANCE PORTCULLI_UP (C_SFX_DEF) {file= "PORTCULLI;UP.wav"; };
// INSTANCE PORTCULLI_DOWN (C_SFX_DEF) {file= "PORTCULLI:DOWN.wav"; };
// INSTANCE PORTCULLI_FALL (C_SFX_DEF) {file= "PORTCULLI;FALL.wav"; };
// INSTANCE STONEHEAP_USE (C_SFX_DEF) {file= "STONEHEAP;USE.wav"; };
// INSTANCE KEY_OPEN (C_SFX_DEF) {file= "KEY;OPEN.wav"; };
// INSTANCE KEY_CLOSE (C_SFX_DEF) {file= "KEY;CLOSE.wav"; };
Таблица с отношениемя между гильдиями из МДК (!)
Подтверждено, что события орочьего нашествия и возмездия планировалось по старому сюжету еще в г1, 9 января 2001 было принято решение отказаться от этих задумок, кстати, в этот же день появилась пресс демо 1.01...
///////////////////////////////////////////////////////////////////////////////////////////
// Gilden
// Aufnahmebedingungen
// Lernprogramme
///////////////////////////////////////////////////////////////////////////////////////////

// ********************************************************************************************************************
// Gruppenattitьden
// ********************************************************************************************************************

CONST INT TAB_ANZAHL = 16 * 16;

CONST INT GIL_ATTITUDES [TAB_ANZAHL] = // AL und NL verдrgert (Magier zueinander freundlich) ST neutral zu AL und NL (Magier verдrgert zu ST)
{
// None EBr Grd Stt KdF Vlk KdW Sld Org Bau SfB Gur Nov Tpl Dдm Bab
/*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Ebr*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Ebr*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Ebr*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Ebr*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Grd*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Grd*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Grd*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Grd*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Stt*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Stt*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Stt*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Stt*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Kdf*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Kdf*/ ATT_FRIENDLY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdf*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdf*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Vlk*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Vlk*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Kdw*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, /*Kdw*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdw*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdw*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Sld*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Sld*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, /*Sld*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Sld*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Org*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Bau*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Bau*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Sfb*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Sfb*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Gur*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, /*Gur*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Gur*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Gur*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Nov*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, /*Nov*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Nov*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Nov*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Tpl*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, /*Tpl*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Tpl*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Tpl*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, /*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Bab*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_FRIENDLY

};

CONST INT GIL_ATTITUDES_FMTAKEN [TAB_ANZAHL] = // AL und NL feindlich
{
// None EBr Grd Stt KdF Vlk KdW Sld Org Bau SfB Gur Nov Tpl Dдm Bab
/*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Ebr*/ ATT_HOSTILE, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_HOSTILE, ATT_FRIENDLY, /*Ebr*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Ebr*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Ebr*/ ATT_HOSTILE, ATT_NEUTRAL,
/*Grd*/ ATT_HOSTILE, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_HOSTILE, ATT_FRIENDLY, /*Grd*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Grd*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Grd*/ ATT_HOSTILE, ATT_NEUTRAL,
/*Stt*/ ATT_HOSTILE, ATT_FRIENDLY, ATT_NEUTRAL, ATT_FRIENDLY, ATT_HOSTILE, ATT_NEUTRAL, /*Stt*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Stt*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Stt*/ ATT_HOSTILE, ATT_NEUTRAL,
/*Kdf*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_NEUTRAL, /*Kdf*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Kdf*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Kdf*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Vlk*/ ATT_HOSTILE, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Vlk*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Vlk*/ ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Vlk*/ ATT_HOSTILE, ATT_NEUTRAL,

/*Kdw*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_HOSTILE, /*Kdw*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdw*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Kdw*/ ATT_FRIENDLY, ATT_FRIENDLY,
/*Sld*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_HOSTILE, /*Sld*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, /*Sld*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Sld*/ ATT_FRIENDLY, ATT_FRIENDLY,
/*Org*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_HOSTILE, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Org*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Org*/ ATT_FRIENDLY, ATT_FRIENDLY,
/*Bau*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_HOSTILE, /*Bau*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Sfb*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_HOSTILE, /*Sfb*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Gur*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_NEUTRAL, /*Gur*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Gur*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Gur*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Nov*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_NEUTRAL, /*Nov*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Nov*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Nov*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Tpl*/ ATT_FRIENDLY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_FRIENDLY, ATT_NEUTRAL, /*Tpl*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Tpl*/ ATT_FRIENDLY, ATT_FRIENDLY, ATT_FRIENDLY, /*Tpl*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, /*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Bab*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_FRIENDLY

};

















//#################################
//
// SN 09.01.01: Alter Kram
//
//#################################

CONST INT GIL_ATTITUDES_ORCASSAULT [TAB_ANZAHL] = // von Steffen (so gelassen)
{
// None EBr Grd Stt KdF Vlk KdW Sld Org Bau SfB Gur Nov Tpl Dдm Mst
/*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Ebr*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Ebr*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Ebr*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Ebr*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Grd*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Grd*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Grd*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Grd*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Stt*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, /*Stt*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Stt*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Stt*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Kdf*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, /*Kdf*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdf*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdf*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, /*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Kdw*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdw*/ ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdw*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Kdw*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Sld*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, /*Sld*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Sld*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Sld*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Org*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Bau*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Sfb*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Gur*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Gur*/ ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, /*Gur*/ ATT_FRIENDLY, ATT_NEUTRAL, ATT_NEUTRAL, /*Gur*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Nov*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Nov*/ ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, /*Nov*/ ATT_NEUTRAL, ATT_FRIENDLY, ATT_NEUTRAL, /*Nov*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Tpl*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Tpl*/ ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, /*Tpl*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_FRIENDLY, /*Tpl*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Dmb*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_NEUTRAL, ATT_FRIENDLY
};

CONST INT GIL_ATTITUDES_NEMESIS [TAB_ANZAHL] = // von Steffen (so gelassen)
{
// None EBr Grd Stt KdF Vlk KdW Sld Org Bau SfB Gur Nov Tpl Dдm Mst
/*Non*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Non*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Non*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Non*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Ebr*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, /*Ebr*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Ebr*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Ebr*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Grd*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, /*Grd*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Grd*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Grd*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Stt*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, /*Stt*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Stt*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Stt*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Kdf*/ ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, /*Kdf*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdf*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdf*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Vlk*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, /*Vlk*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Vlk*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Vlk*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Kdw*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdw*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdw*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Kdw*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Sld*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Sld*/ ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Sld*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Sld*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Org*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Org*/ ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, /*Org*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Org*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Bau*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Bau*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, /*Bau*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Bau*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Sfb*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, /*Sfb*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, /*Sfb*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Sfb*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Gur*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_ANGRY, ATT_HOSTILE, /*Gur*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Gur*/ ATT_NEUTRAL, ATT_ANGRY, ATT_ANGRY, /*Gur*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Nov*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_ANGRY, ATT_HOSTILE, /*Nov*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Nov*/ ATT_ANGRY, ATT_NEUTRAL, ATT_ANGRY, /*Nov*/ ATT_NEUTRAL, ATT_NEUTRAL,
/*Tpl*/ ATT_ANGRY, ATT_HOSTILE, ATT_HOSTILE, ATT_HOSTILE, ATT_ANGRY, ATT_HOSTILE, /*Tpl*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Tpl*/ ATT_ANGRY, ATT_ANGRY, ATT_NEUTRAL, /*Tpl*/ ATT_NEUTRAL, ATT_NEUTRAL,

/*Dmb*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Dmb*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Dmb*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Dmb*/ ATT_FRIENDLY, ATT_NEUTRAL,
/*Mst*/ ATT_ANGRY, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, ATT_NEUTRAL, /*Mst*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Mst*/ ATT_ANGRY, ATT_ANGRY, ATT_ANGRY, /*Mst*/ ATT_NEUTRAL, ATT_FRIENDLY
};
Кроме того в скриптах мдк есть старые расписания, среди них есть скрипт для конвоя (Рекомендую восстановить их в фиксах), которые переносили Backpack
/******************************************
* NSC hebt Tragekorb auf, geht *
* zum angegebenen WP und legt ihn dort ab *
* Achtung! UrsprungsWP muss Tragekorb *
* in der Nдhe haben! *
******************************************/

FUNC VOID ZS_Convoy ()
{
PrintDebugNpc(PD_TA_FRAME,"ZS_Convoy");

B_SetPerception (self);

AI_SetWalkmode (self,NPC_WALK); // Walkmode fьr den Zustand
AI_TakeMob(self,"BACKPACK");

AI_GotoWP(self, self.wp); // Gehe zum Tagesablaufstart
};

FUNC VOID ZS_Convoy_Loop ()
{
PrintDebugNpc(PD_TA_LOOP,"ZS_Convoy_Loop");

if (Hlp_StrCmp(self.wp,Npc_GetNearestWP(self)))
{
AI_DropMob(self);
};

AI_Wait(self,1);
};

FUNC VOID ZS_Convoy_End()
{
PrintDebugNpc(PD_TA_FRAME,"ZS_Convoy_End");
};
и скрипт для пьяных нпс
/*******************************************
* NSC wird besoffen *
*******************************************/

func void ZS_Drunk ()
// Hier noch RemoveOverlayMds
{
PrintDebugNpc (PD_ZS_FRAME, "ZS_Drunk");
NPC_PercEnable (self, PERC_ASSESSTALK,B_RefuseTalk );
MDL_APPLYOVERLAYMDS (self, "HUMANS_DRUNKEN.MDS" );
AI_GotoWP (self,self.wp);
};

func int ZS_Drunk_Loop ()
{
PrintDebugNpc (PD_ZS_LOOP, "ZS_Drunk_Loop");
if (Npc_GetStateTime (self) > 20)
{
return 1;
};
AI_Wait(self,1);
};

func void ZS_Drunk_End ()
{
PrintDebugNpc (PD_ZS_FRAME, "ZS_Drunk_End");
MDL_REMOVEOVERLAYMDS (self, "HUMANS_DRUNKEN.MDS");
};
вообщем там много и других... кому надо глянут ;)
Также в версии которая была до E3 2000 была совершенно иная система талантов, как пример скрипт тестового нпс Романа
//########################################################################
//##
//## MODEL: PC_Roman
//##
//########################################################################

instance PC_Roman (NPC_DEFAULT)
{
//----------------------------------------------------------------
//------------------------------------------------- IDENTIFIACTION
//----------------------------------------------------------------

NAME = "Roman der Romulaner";
ID = 9995;
GUILD = GIL_NONE;
VOICE = 11;

//----------------------------------------------------------------
//----------------------------------------------------- ATTRIBUTES
//----------------------------------------------------------------

//------------------------------------- MAXIMA
ATTRIBUTE[ ATR_HITPOINTS_MAX] = 50;
ATTRIBUTE[ ATR_MANA_MAX ] = 50;
// ATTRIBUTE[ ATR_WILL_MAX ] = 50;

//-------------------------------------- ACTUA
ATTRIBUTE[ ATR_HITPOINTS ] = 25;
ATTRIBUTE[ ATR_MANA ] = 50;
// ATTRIBUTE[ ATR_WILL ] = 50;

ATTRIBUTE[ ATR_STRENGTH ] = 50;
ATTRIBUTE[ ATR_DEXTERITY ] = 50;

LEVEL = 50;

//----------------------------------------------------------------
//----------------------------------------------------- APPEARANCE
//----------------------------------------------------------------

Mdl_SetVisual ( self, "HUMANS.MDS" );
Mdl_SetVisualBody ( self, "HUM_BODY_NAKED0",
0,
0,
"Hum_Head_Fighter",
1,
2,
ItArRobeMithril );

//----------------------------------------------------------------
//------------------------------------------------------ ABITILIES
//----------------------------------------------------------------

/* Npc_LearnFightTalent ( self, TAL_1H_AXE3 );
Npc_LearnFightTalent ( self, TAL_2H_AXE3 );
Npc_LearnFightTalent ( self, TAL_1H_SWORD3 );
Npc_LearnFightTalent ( self, TAL_2H_SWORD3 );
Npc_LearnFightTalent ( self, TAL_BOW3 );
Npc_LearnFightTalent ( self, TAL_CROSSBOW3 );

*/
// FLAGS = NPC_FLAG_IMMORTAL;
// FIGHT_TACTIC = FAI_Strong;
Советую еще присмотреться к Startup.d , там также указано, что экс Фоксы, Марусы и Райаны были переименованы в обычных нпс...
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Сегодня полностью просмотрел скрипты из модкита и в них оказалось очень много заккоментированного контента.
Это все известно давно любому кто хоть мало-мальски занимался скриптами..

Что до Ассаульта и прочего, то фактов подтверждения того что оно использовалось в Г1 или должно было там использоваться нет. Сами скрипты можно написать и тестить в любой момент времени для игры это было не критично, благо двиг уже не один десяток релизов отбил к тому времени...
Т.е. тут правильнее понять причину, почему они это убрали и как нашествие связано с аддоном.. Тогда все станет на свои места..
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.911
Баллы
370
Это все известно давно любому кто хоть мало-мальски занимался скриптами..
Сомневаюсь... Немногие лезли изучать скрипты модкита, причем можно просто по быстрому посмотреть, а можно чисто все до каждой строчки как я и сделал. Почему то до меня никто этой инфой не поделился, следовательно никто почти и не знал или единоличники *trollface*
Это зелье быстрого лечения, хп +30. В релизной версии игры несколько бутылочек можно найти в Свободной шахте.
В курсе, но изначально планировалось как спец зелье для Ларса
то фактов подтверждения того что оно использовалось в Г1 или должно было там использоваться нет.
По старому сюжету планировалось (он вполне мог включать в себя события г1+аддон)... Он был намного более обширным. Остается только надеяться, что когда-нибудь мы сможем увидеть документации по раннему сюжету.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Сомневаюсь... Немногие лезли изучать скрипты модкита, причем можно просто по быстрому посмотреть, а можно чисто все до каждой строчки как я и сделал. Почему то до меня никто этой инфой не поделился, следовательно никто почти и не знал или единоличники *trollface*
Тот кто планировал серьезно заниматься скриптами, обязан был их прошерстить все, ибо они с комментами шли, однодневок я тут в расчет не беру разумеется.. *sorry*
 

Ur-tRall

Участник форума
Регистрация
16 Май 2009
Сообщения
4.100
Благодарности
2.124
Баллы
475
Это видео уже где-то было, но всё равно интересное. похоже все эти модели и анимации были в версиях до мая-тюня месяца. А вот анимки возможно дошли до 4 альфы, потому что нереально за промежуток с мая по июнь изменить все анимации. Тем более было сказано, что даже в версии 1.04 была уже другая анимация лука.
 

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
Видел практически все но как то нен обратил внимание на фишку с королевой ползунов - прямой отсыл к Чужим 2. Интересно почему такую крутую фишку убрали из игры.

Волк в старой версии мог бы стать новым монстром в релизе. Типа потрошителя в Г3.
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.911
Баллы
370
Конкретно данного видео не было на форуме, выложил не случайно.... Присмотрись на то как выглядел каменный голем и шныг, еще анимация волка и глорха...
 

Стражник

Участник форума
Регистрация
14 Фев 2009
Сообщения
675
Благодарности
101
Баллы
220
Конкретно данного видео не было на форуме, выложил не случайно.... Присмотрись на то как выглядел каменный голем и шныг, еще анимация волка и глорха...

Видел вроде всех, но возможно по отрывкам. Фишку с королевой только пропустил.

Возможно ли как то перенести фишку анимации с королевой и отделением от основного тела.
 

Gor

Участник форума
Регистрация
26 Дек 2009
Сообщения
978
Благодарности
547
Баллы
245
Конкретно данного видео не было на форуме, выложил не случайно...
Ну вы блин даете... (С)
Это все в свободном доступе на сайте разработчика. Помечены 1999 годом.
Держите
 

Вложения

  • ani.zip
    3,1 MB · Просмотры: 73
  • Bewegungsstudien.zip
    4,1 MB · Просмотры: 75

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Кстати в этих нарезках видео есть одно с неизвестным доселе монстром...похож на сквига.
 

Стражник

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

Привет. Кто такой сквиг? Или ты про зубастика - старую версию орочьего кусача. Старого волка можно чуток подкрасить и вставить под новым названием. Такой клыкач отличается от обычного волка. Я когда давно его на видео посмотрел за кабана принял.

Кстати реально ли реализовать фишку отделение королевы от ее брюха. Типа вначале бой с королевой а уже потом бой с мощным мега ползуном оторвавшимся от бремени и груза "забот".
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Привет. Кто такой сквиг? Или ты про зубастика - старую версию орочьего кусача. Старого волка можно чуток подкрасить и вставить под новым названием. Такой клыкач отличается от обычного волка. Я когда давно его на видео посмотрел за кабана принял.

да, про зубастика...но он очень похож на монстра, в некоторых играх именуемым сквигом :) Вот бы выцепить его анимки - готическая фауна бы пополнилась новым монстром.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
[QUOTE="Кстати реально ли реализовать фишку отделение королевы от ее брюха. Типа вначале бой с королевой а уже потом бой с мощным мега ползуном оторвавшимся от бремени и груза "забот".[/QUOTE]

Нереально, ибо все движения анимаций прописываются конкретно под каждый меш монстра. Можно сделать королеву и через слот прицепить ей брюхо чисто теоретичски. Но атаковать она будет все также как и старая королева. Либо придется ей делать новую анимацию под полузна, а на момент сидения с брюхом реализовать ее аи атаки скриптово, без задействия новой анимации атаки. В любом случае за это никто не возьмется. Если бы я кого нибудь и переделал сперва, так это точно драконы.
 

Ur-tRall

Участник форума
Регистрация
16 Май 2009
Сообщения
4.100
Благодарности
2.124
Баллы
475
Нереально, ибо все движения анимаций прописываются конкретно под каждый меш монстра.
А как же реализованы медсестрички из Сайлент Хилла? Там после убийства оных возникали призраки, которых нужно было убивать. Так теоретически, после смерти королевы ползунов, также можно начать создавать монстра. Сначала будет проигрываться анимация смерти королевы, а потом скажем когда анимация смерти закончилась, появляется новый монстр. В Страннике неплохо реализовали ту медсестричку. Больше подобных перерождений ни в каких модах не встречал.
да, про зубастика...но он очень похож на монстра, в некоторых играх именуемым сквигом :) Вот бы выцепить его анимки - готическая фауна бы пополнилась новым монстром.
Главное наглядное пособие по анимациям есть, даже если создавать с нуля, хотя бы образец есть. Но что-то не играл я в игры со сквигами. Может быть этот самый кусач имеет анимации с тех игр?
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
А как же реализованы медсестрички из Сайлент Хилла? Там после убийства оных возникали призраки, которых нужно было убивать. Так теоретически, после смерти королевы ползунов, также можно начать создавать монстра. Сначала будет проигрываться анимация смерти королевы, а потом скажем когда анимация смерти закончилась, появляется новый монстр. В Страннике неплохо реализовали ту медсестричку. Больше подобных перерождений ни в каких модах не встречал.

Главное наглядное пособие по анимациям есть, даже если создавать с нуля, хотя бы образец есть. Но что-то не играл я в игры со сквигами. Может быть этот самый кусач имеет анимации с тех игр?

Если вызывать нового моба то да....но тут вроде вопрос стоял о динамическом превращении 1 моба. Да фокус с 2 мобами можно провернуть, но тогда не понятно, что мы били до этого. Да и чисто с технической точки зрения это было бы интересней. Интересно что будет, если королеву волзунов переветси на анимацию обычного ползуна *trollface*
 

Larso

Участник форума
Регистрация
12 Дек 2016
Сообщения
2
Благодарности
1
Баллы
150
1.01е у кого-то она была еще с 2005(?) года. http://goo.gl/wPlmCr
Больше никто не пробовал связыватся с немцем? Возможно на самом деле все несколько иначе и получить эту демку реально?

17 лет прошло все-таки!
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Это ж немцы...*sorry* у них все стабильно и ровно ... хоть 17 лет прошло, хоть полвека. Вот ежели обанкротятся пираны... тогда мб что то в свет и вылезет из новенького. И то не факт...
 
Сверху Снизу