Spoiler
func void alchemiamod_s1()
{
MONOLOG=M_alchemia;
var C_Npc him;
var C_Npc rocker;
him = Hlp_GetNpc(PC_Hero);
rocker = Hlp_GetNpc(PC_Rockefeller);
//***ALT** if (Hlp_GetInstanceID (self)== Hlp_GetInstanceID (Hero)) // MH: geändert, damit kontrollierte NSCs nicht schlafen können!
if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(him)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(rocker)))
{
self.aivar[AIV_INVINCIBLE] = TRUE;
AI_ProcessInfos(him);
};
};
INSTANCE PC_Noalchemia (c_Info)
{
npc = PC_Hero;
nr = 999;
condition = PC_Noalchemia_Condition;
information = PC_Noalchemia_Info;
important = 0;
permanent = 1;
description = DIALOG_ENDE;
};
FUNC INT PC_Noalchemia_Condition()
}
if (MONOLOG == M_alchemia)
{
return 1;
};
};
func VOID PC_Noalchemia_Info()
{
AI_StopProcessInfos (self);
MONOLOG=0;
self.aivar[AIV_INVINCIBLE]=FALSE;
};
//========================================
//-----------------> MIKSTURYL
//========================================
INSTANCE MIKSTURYL (C_INFO)
{
npc = PC_HERO;
nr = 1;
condition = MIKSTURYL_Condition;
information = MIKSTURYL_Info;
permanent = TRUE;
description = "Mikstury lecznicze.";
};
FUNC INT MIKSTURYL_Condition()
{
if (MONOLOG == M_alchemia)
{
return TRUE;
};
};
FUNC VOID MIKSTURYL_Info()
{
Info_ClearChoices (MIKSTURYL);
Info_AddChoice (MIKSTURYL, "Esencja lecznicza.", MIKSTURYL_ML01);
Info_AddChoice (MIKSTURYL, "Wyciąg lecznicza.", MIKSTURYL_ML02);
Info_AddChoice (MIKSTURYL, "Eliksir leczniczy.", MIKSTURYL_ML03);
Info_AddChoice (MIKSTURYL, "[WRÓĆ]", MIKSTURYL_BACK);
};
FUNC VOID MIKSTURYL_ML01()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ItFo_Plants_Herb_01) >=2)
{
Npc_RemoveInvItems(hero,ItFo_Plants_Herb_01,2);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Health_01,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYL_ML02()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ItFo_Plants_Herb_01) >=3)
{
Npc_RemoveInvItems(hero,ItFo_Plants_Herb_01,3);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Health_02,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYL_ML03()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ItFo_Plants_Herb_01) >=5)
{
Npc_RemoveInvItems(hero,ItFo_Plants_Herb_01,5);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Health_03,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYL_BACK()
{
Info_ClearChoices (MIKSTURYL);
};
//========================================
//-----------------> MIKSTURYM
//========================================
INSTANCE MIKSTURYM (C_INFO)
{
npc = PC_HERO;
nr = 1;
condition = MIKSTURYM_Condition;
information = MIKSTURYM_Info;
permanent = TRUE;
description = "Mikstury lecznicze.";
};
FUNC INT MIKSTURYM_Condition()
{
if (MONOLOG == M_alchemia)
{
return TRUE;
};
};
FUNC VOID MIKSTURYM_Info()
{
Info_ClearChoices (MIKSTURYM);
Info_AddChoice (MIKSTURYM, "Esencja magicznej energii.", MIKSTURYM_MM01);
Info_AddChoice (MIKSTURYM, "Wyciąg magicznej energii.", MIKSTURYM_MM02);
Info_AddChoice (MIKSTURYM, "Eliksir magicznej energii.", MIKSTURYM_MM03);
Info_AddChoice (MIKSTURYM, "[WRÓĆ]", MIKSTURYM_BACK);
};
FUNC VOID MIKSTURYM_MM01()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ItFo_Plants_Stoneroot_02) >=2)
{
Npc_RemoveInvItems(hero,ItFo_Plants_Stoneroot_02,2);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Mana_01,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYM_MM02()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ItFo_Plants_Stoneroot_02) >=3)
{
Npc_RemoveInvItems(hero,ItFo_Plants_Stoneroot_02,3);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Mana_02,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYM_MM03()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ItFo_Plants_Stoneroot_02) >=5)
{
Npc_RemoveInvItems(hero,ItFo_Plants_Stoneroot_02,5);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Mana_03,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYM_BACK()
{
Info_ClearChoices (MIKSTURYM);
};
//========================================
//-----------------> MIKSTURYS
//========================================
INSTANCE MIKSTURYS (C_INFO)
{
npc = PC_HERO;
nr = 1;
condition = MIKSTURYS_Condition;
information = MIKSTURYS_Info;
permanent = TRUE;
description = "Mikstury szybkości.";
};
FUNC INT MIKSTURYS_Condition()
{
if (MONOLOG == M_alchemia)
{
return TRUE;
};
};
FUNC VOID MIKSTURYS_Info()
{
Info_ClearChoices (MIKSTURYS);
Info_AddChoice (MIKSTURYS, "Napój lekkości.", MIKSTURYS_MS01);
Info_AddChoice (MIKSTURYS, "Napój szybkości.", MIKSTURYS_MS02);
Info_AddChoice (MIKSTURYS, "Napój przyspieszenia.", MIKSTURYS_MS03);
Info_AddChoice (MIKSTURYS, "[WRÓĆ]", MIKSTURYS_BACK);
};
FUNC VOID MIKSTURYS_MS01()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ZIELE_ZEBATE) >=2)
{
Npc_RemoveInvItems(hero,ZIELE_ZEBATE,2);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Haste_01,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYS_MS02()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ZIELE_ZEBATE) >=3)
{
Npc_RemoveInvItems(hero,ZIELE_ZEBATE,3);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Haste_02,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYS_MS03()
{
if (Npc_HasItems (hero, ItMiFlask) >=1) && (Npc_HasItems (hero, ZIELE_ZEBATE) >=5)
{
Npc_RemoveInvItems(hero,ZIELE_ZEBATE,5);
Npc_RemoveInvItems(hero,ItMiFlask,1);
CreateInvItems(hero,ItFo_Potion_Haste_03,1);
PrintScreen("Uwarzyłeś miksturę!.",-1,-1,"font_old_20_white.tga",3);
MONOLOG=0;
AI_StopProcessInfos (self);
}
else
{
PrintScreen("Nie masz potrzebnych składników!.",-1,-1,"font_old_20_white.tga",3);
};
};
FUNC VOID MIKSTURYS_BACK()
{
Info_ClearChoices (MIKSTURYS);
};