Spoiler
///////////////////////////////////////////////////////////////////////
// Info EXIT
///////////////////////////////////////////////////////////////////////
INSTANCE DIA_PC_Hero_Cooking_EXIT (C_INFO)
{
npc = PC_Hero;
nr = 999;
condition = DIA_PC_Hero_Cooking_Condition;
information = DIA_PC_Hero_Cooking_Info;
permanent = TRUE;
description = "Zakończ gotowanie";
};
FUNC INT DIA_PC_Hero_Cooking_Condition()
{
if (Kucharzyna == 1)
{
return TRUE;
};
};
FUNC VOID DIA_PC_Hero_Cooking_Info()
{
AI_StopProcessInfos (self);
Kucharzyna = 0;
};
///////////////////////////////////////////////////////////////////////
// Smażenie sztuki mięsa
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_OneMeat (C_INFO)
{
npc = PC_Hero;
nr = 1;
condition = DIA_PC_Hero_Cooking_OneMeat_Condition;
information = DIA_PC_Hero_Cooking_OneMeat_Info;
permanent = TRUE;
Important = 0;
description = "Usmaż sztukę mięsa";
};
func int DIA_PC_Hero_Cooking_OneMeat_Condition ()
{
if (Kucharzyna == 1)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_OneMeat_Info ()
{
if (Npc_HasItems (self, ItFoMuttonRaw) >= 1)
{
Npc_RemoveInvItems (self, ItFoMuttonRaw,1);
PrintScreen ("Usmażyłeś sztukę mięsa!", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFoMutton,1);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Smażenie 10 sztuk mięsa
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_TenMeat (C_INFO)
{
npc = PC_Hero;
nr = 2;
condition = DIA_PC_Hero_Cooking_TenMeat_Condition;
information = DIA_PC_Hero_Cooking_TenMeat_Info;
permanent = TRUE;
Important = 0;
description = "Usmaż 10 sztuk mięsa";
};
func int DIA_PC_Hero_Cooking_TenMeat_Condition ()
{
if (Kucharzyna == 1)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_TenMeat_Info ()
{
if (Npc_HasItems (self, ItFoMuttonRaw) >= 10)
{
Npc_RemoveInvItems (self, ItFoMuttonRaw,10);
PrintScreen ("Usmażyłeś 10 sztuk mięsa!", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFoMutton,10);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Smażenie całego mięsa
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_AllMeat (C_INFO)
{
npc = PC_Hero;
nr = 3;
condition = DIA_PC_Hero_Cooking_AllMeat_Condition;
information = DIA_PC_Hero_Cooking_AllMeat_Info;
permanent = TRUE;
Important = 0;
description = "Usmaż całe mięso";
};
func int DIA_PC_Hero_Cooking_AllMeat_Condition ()
{
if (Kucharzyna == 1)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_AllMeat_Info ()
{
Qucharz = Npc_HasItems(other, ItFoMuttonRaw);
if (Qucharz)
{
Npc_RemoveInvItems (other, ItFoMuttonRaw,Npc_HasItems (other, ItFoMuttonRaw));
PrintScreen ("Usmażyłeś cały zapas mięsa!", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (other, ItFoMutton, Qucharz);
AI_StopProcessInfos (self);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Rosół
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_Rosolek (C_INFO)
{
npc = PC_Hero;
nr = 4;
condition = DIA_PC_Hero_Cooking_Rosolek_Condition;
information = DIA_PC_Hero_Cooking_Rosolek_Info;
permanent = TRUE;
Important = 0;
description = "Ugotuj rosół";
};
func int DIA_PC_Hero_Cooking_Rosolek_Condition ()
{
if (Kucharzyna == 1)
&& (Npc_GetTalentSkill (other,NPC_TALENT_COOKING) == 1)
&& (RosolDrobiowy == TRUE)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_Rosolek_Info ()
{
if (Npc_HasItems (self, ItFoMuttonRaw) >= 2)
&& (Npc_HasItems (self, ItPl_Health_Herb_01) >= 2)
&& (Npc_HasItems (self, ItFo_Water) >= 1)
{
Npc_RemoveInvItems (self, ItFoMuttonRaw,2);
Npc_RemoveInvItems (self, ItPl_Health_Herb_01,2);
Npc_RemoveInvItems (self, ItFo_Water,1);
PrintScreen ("Dobry rosół nie jest zły", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFo_Rosol,1);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Zupa z roślin
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_ZupaRoslinna (C_INFO)
{
npc = PC_Hero;
nr = 5;
condition = DIA_PC_Hero_Cooking_ZupaRoslinna_Condition;
information = DIA_PC_Hero_Cooking_ZupaRoslinna_Info;
permanent = TRUE;
Important = 0;
description = "Zupa z roślin";
};
func int DIA_PC_Hero_Cooking_ZupaRoslinna_Condition ()
{
if (Kucharzyna == 1)
&& (Npc_GetTalentSkill (other,NPC_TALENT_COOKING) == 1)
&& (Zielenina == TRUE)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_ZupaRoslinna_Info ()
{
if (Npc_HasItems (self, ItPl_Health_Herb_01) >= 1)
&& (Npc_HasItems (self, ItPl_Health_Herb_02) >= 1)
&& (Npc_HasItems (self, ItPl_Mana_Herb_01) >= 1)
&& (Npc_HasItems (self, ItPl_Mana_Herb_02) >= 1)
&& (Npc_HasItems (self, ItFo_Water) >= 1)
{
Npc_RemoveInvItems (self, ItPl_Health_Herb_01,1);
Npc_RemoveInvItems (self, ItPl_Health_Herb_02,1);
Npc_RemoveInvItems (self, ItFo_Water,1);
Npc_RemoveInvItems (self, ItPl_Mana_Herb_01,1);
Npc_RemoveInvItems (self, ItPl_Mana_Herb_02,1);
PrintScreen ("Coś dla wegetarian", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFo_ZupaRoslinna,1);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Gigantyczny tost
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_Tost (C_INFO)
{
npc = PC_Hero;
nr = 6;
condition = DIA_PC_Hero_Cooking_Tost_Condition;
information = DIA_PC_Hero_Cooking_Tost_Info;
permanent = TRUE;
Important = 0;
description = "Chleb tostowy";
};
func int DIA_PC_Hero_Cooking_Tost_Condition ()
{
if (Kucharzyna == 1)
&& (Npc_GetTalentSkill (other,NPC_TALENT_COOKING) == 1)
&& (Toscik == TRUE)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_Tost_Info ()
{
if (Npc_HasItems (self, ItFo_Cheese) >= 1)
&& (Npc_HasItems (self, ItFo_Bread) >= 1)
{
Npc_RemoveInvItems (self, ItFo_Cheese,1);
Npc_RemoveInvItems (self, ItFo_Bread,1);
PrintScreen ("Chleb z serem, czyli popularny tost", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFo_BreadAndCheese,1);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Zupa z roślin
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_ZupaRybna (C_INFO)
{
npc = PC_Hero;
nr = 7;
condition = DIA_PC_Hero_Cooking_ZupaRybna_Condition;
information = DIA_PC_Hero_Cooking_ZupaRybna_Info;
permanent = TRUE;
Important = 0;
description = "Zupa rybna";
};
func int DIA_PC_Hero_Cooking_ZupaRybna_Condition ()
{
if (Kucharzyna == 1)
&& (Npc_GetTalentSkill (other,NPC_TALENT_COOKING) == 1)
&& (ZupkaRybna == TRUE)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_ZupaRybna_Info ()
{
if (Npc_HasItems (self, ItFo_Fish) >= 1)
&& (Npc_HasItems (self, ItFo_Water) >= 1)
{
Npc_RemoveInvItems (self, ItFo_Fish,1);
Npc_RemoveInvItems (self, ItFo_Water,1);
PrintScreen ("Smacznego życzy rybka 'Udław się'", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFo_FishSoup,1);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
///////////////////////////////////////////////////////////////////////
// Zupa z roślin
///////////////////////////////////////////////////////////////////////
instance DIA_PC_Hero_Cooking_PrzepisSnafa (C_INFO)
{
npc = PC_Hero;
nr = 8;
condition = DIA_PC_Hero_Cooking_PrzepisSnafa_Condition;
information = DIA_PC_Hero_Cooking_PrzepisSnafa_Info;
permanent = TRUE;
Important = 0;
description = "Potrawka z chrząszcza a'la Snaf";
};
func int DIA_PC_Hero_Cooking_PrzepisSnafa_Condition ()
{
if (Kucharzyna == 1)
&& (Npc_GetTalentSkill (other,NPC_TALENT_COOKING) == 1)
&& (PrzepisSnafa == TRUE)
{
return TRUE;
};
};
func void DIA_PC_Hero_Cooking_PrzepisSnafa_Info ()
{
if (Npc_HasItems (self, ItAt_Meatbugflesh) >= 3)
&& (Npc_HasItems (self, ItPl_Mushroom_02) >= 3)
{
Npc_RemoveInvItems (self, ItAt_Meatbugflesh,3);
Npc_RemoveInvItems (self, ItPl_Mushroom_02,3);
PrintScreen ("Popisowe danie Snafa", -1, -1, FONT_ScreenSmall, 2);
CreateInvItems (self, ItFo_MeatbugSoup,1);
}
else
{
PrintScreen ("Brak składników!", -1, -1, FONT_ScreenSmall, 2);
B_ENDPRODUCTIONDIALOG ();
};
};
Skrypt runy teleportacyjnej(odpowiadający za wybór miejsca, do którego chcemy się teleportować):
Spoiler
var int placteleportacyjny;
func void MultiTeleport()
{
if(PLACTELEPORTACYJNY == 1)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_CASTLEMINE_PATH_03");
PLACTELEPORTACYJNY = 0;
PrintScreen("Wieża Dextera!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 2)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_FARM3_PATH_01");
PLACTELEPORTACYJNY = 0;
PrintScreen("Właścicielem farmy jest Bengar!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 3)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_BIGFARM_HUT_02");
PLACTELEPORTACYJNY = 0;
PrintScreen("Nie zapomnij porozmawiać z Busterem!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 4)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_BIGFARM_PATH_03");
PLACTELEPORTACYJNY = 0;
PrintScreen("Witamy na farmie Onara!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 5)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_TO_PASS_01");
PLACTELEPORTACYJNY = 0;
PrintScreen("Uważaj, ten teren jest niebezpieczny!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 6)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_CITY_BEER_05");
PLACTELEPORTACYJNY = 0;
PrintScreen("Nie zapomnij odebrać darmowego piwa!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 7)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_TAVERNE_05");
PLACTELEPORTACYJNY = 0;
PrintScreen("Orlan zaprasza do swej tawerny!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 8)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_XARDAS_TOWER_PATH_01_B");
PLACTELEPORTACYJNY = 0;
PrintScreen("Widać, że interesuje cię czarna magia!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 9)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_MONASTERY_ENTRY_01");
PLACTELEPORTACYJNY = 0;
PrintScreen("Innosie obdarz mnie swą łaską!",-1,-1,"font_old_20_white.tga",3);
}
else if(PLACTELEPORTACYJNY == 10)
{
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_Teleport(hero,"NW_TROLLAREA_PORTALTEMPEL_40");
PLACTELEPORTACYJNY = 0;
PrintScreen("Te piramidy kryją wiele tajemnic!",-1,-1,"font_old_20_white.tga",3);
};
};
func void teleportacja()
{
if (Npc_IsPlayer(hero))
{
PLAYER_MOBSI_PRODUCTION = MOBSI_TELEPORT;
self.aivar[AIV_INVINCIBLE] = FALSE;
AI_ProcessInfos(hero);
};
};
instance NOTELEPORT(C_Info)
{
npc = PC_Hero;
nr = 1;
condition = noteleport_condition;
information = noteleport_info;
important = 0;
permanent = 1;
description = DIALOG_ENDE;
};
func int noteleport_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
{
return 1;
};
};
func void noteleport_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 0;
};
instance TOBANDIT(C_Info)
{
npc = PC_Hero;
condition = tobandit_condition;
information = tobandit_info;
important = 0;
permanent = 1;
description = "Bandyci Dextera";
};
func int tobandit_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (DexterTeleport == TRUE)
{
return 1;
};
};
func void tobandit_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 1;
MultiTeleport();
};
instance TOBENGAR(C_Info)
{
npc = PC_Hero;
condition = tobengar_condition;
information = tobengar_info;
important = 0;
permanent = 1;
description = "Do Bengara";
};
func int tobengar_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (BengarTeleport == TRUE)
{
return 1;
};
};
func void tobengar_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 2;
MultiTeleport();
};
instance TOBUSTER(C_Info)
{
npc = PC_Hero;
condition = tobuster_condition;
information = tobuster_info;
important = 0;
permanent = 1;
description = "Do Bustera";
};
func int tobuster_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (ErolTeleport == TRUE)
{
return 1;
};
};
func void tobuster_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 3;
MultiTeleport();
};
instance TOONARFARM(C_Info)
{
npc = PC_Hero;
condition = toonarfarm_condition;
information = toonarfarm_info;
important = 0;
permanent = 1;
description = "Farma Onara";
};
func int toonarfarm_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (NajemnikTeleport == TRUE)
{
return 1;
};
};
func void toonarfarm_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 4;
MultiTeleport();
};
instance TOWAYOLDWORLD(C_Info)
{
npc = PC_Hero;
condition = towayoldworld_condition;
information = towayoldworld_info;
important = 0;
permanent = 1;
description = "Przełęcz Khorinis";
};
func int towayoldworld_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (PrzeleczTeleport == TRUE)
{
return 1;
};
};
func void towayoldworld_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 5;
MultiTeleport();
};
instance TOMARKETPLACE(C_Info)
{
npc = PC_Hero;
condition = tomarketplace_condition;
information = tomarketplace_info;
important = 0;
permanent = 1;
description = "Browar";
};
func int tomarketplace_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (PiwoTeleport == TRUE)
{
return 1;
};
};
func void tomarketplace_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 6;
MultiTeleport();
};
instance TOTAVERNE(C_Info)
{
npc = PC_Hero;
condition = totaverne_condition;
information = totaverne_info;
important = 0;
permanent = 1;
description = "Tawerna";
};
func int totaverne_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (OrlanTeleport == TRUE)
{
return 1;
};
};
func void totaverne_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 7;
MultiTeleport();
};
instance TOXARDAS(C_Info)
{
npc = PC_Hero;
condition = toxardas_condition;
information = toxardas_info;
important = 0;
permanent = 1;
description = "Nekromanta";
};
func int toxardas_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (XardasNekromanta == TRUE)
{
return 1;
};
};
func void toxardas_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 8;
MultiTeleport();
};
instance TOMONASTERY(C_Info)
{
npc = PC_Hero;
condition = tomonastery_condition;
information = tomonastery_info;
important = 0;
permanent = 1;
description = "Do klasztoru Innosa";
};
func int tomonastery_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (KlasztorTeleport == TRUE)
{
return 1;
};
};
func void tomonastery_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 9;
MultiTeleport();
};
instance TOWATERMAGE(C_Info)
{
npc = PC_Hero;
condition = towatermage_condition;
information = towatermage_info;
important = 0;
permanent = 1;
description = "Do piramid";
};
func int towatermage_condition()
{
if (PLAYER_MOBSI_PRODUCTION == MOBSI_TELEPORT)
&& (PiramidyTeleport == TRUE)
{
return 1;
};
};
func void towatermage_info()
{
AI_StopProcessInfos(hero);
PLACTELEPORTACYJNY = 10;
MultiTeleport();
};