mahlendur/_work/Data/Scripts/Content/Items/IT_Plants.d.bak
Daniel Heße 892a40ff0f Initial commit with Subversion-codebase from 13/05/2022.
Cleaned up the mess, at this time, only viable data get synced (_work directory for Gothic-data, miranda for mdc-scripts.
Need to symlink files to a working directory.
2022-05-13 17:38:52 +02:00

832 lines
20 KiB
D
Raw Blame History

// ************************************************************************************************
// Heilwirkung und Kosten von Nahrung
// ************************************************************************************************
// Mana_: Gibt an wieviel Manapunkte das Kraut beim Essen wiedergibt
// HP_: Gibt an wieviel Lebenspunkte das Kraut beim Essen wiedergibt
// ************************************************************************************************
const int Value_Weed = 0;
const int Value_Beet = 3; const int HP_Beet = 2;
const int Value_SwampHerb = 10;
const int Value_Mana_Herb_01 = 10; const int Mana_Mana_Herb_01 = 10;
const int Value_Mana_Herb_02 = 20; const int Mana_Mana_Herb_02 = 15;
const int Value_Mana_Herb_03 = 40; const int Mana_Mana_Herb_03 = 20;
const int Value_Health_Herb_01 = 20; const int HP_Health_Herb_01 = 10;
const int Value_Health_Herb_02 = 40; const int HP_Health_Herb_02 = 20;
const int Value_Health_Herb_03 = 60; const int HP_Health_Herb_03 = 30;
const int Value_Dex_Herb_01 = 250;
const int Value_Strength_Herb_01 = 500;
const int Value_Speed_Herb_01 = 100; const int Speed_Boost = 15000; //15 Sekunden
const int Value_Mushroom_01 = 10; const int HP_Mushroom_01 = 5;
const int Value_Mushroom_02 = 30; const int HP_Mushroom_02 = 15;
const int Value_Forestberry = 10; const int HP_Forestberry = 5;
const int Value_Blueplant = 10; const int HP_Blueplant = 5;
const int Mana_Blueplant = 5;
const int Value_Planeberry = 10; const int HP_Planeberry = 5;
const int Value_Temp_Herb = 100; const int HP_Temp_Herb = 5;
const int Value_Perm_Herb = 500; const int HP_Perm_Herb = 5;
/******************************************************************************************/
INSTANCE ItPl_Weed(C_Item)
{
name = "Unkraut";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Weed;
visual = "ItPl_Weed.3ds";
material = MAT_LEATHER;
scemeName = "FOOD";
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Weed;
};
/******************************************************************************************/
INSTANCE ItPl_Beet (C_Item)
{
name = "Feldr<64>be";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Beet;
visual = "ItPl_Beet.3ds";
material = MAT_LEATHER;
on_state[0] = Use_Beet;
scemeName = "FOOD";
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Beet;
};
func void Use_Beet ()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Beet);
};
/******************************************************************************************/
INSTANCE ItPl_SwampHerb(C_Item)
{
name = "Sumpfkraut";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_SwampHerb;
visual = "ItPl_SwampHerb.3ds";
material = MAT_LEATHER;
on_state[0] = Use_SwampHerb;
scemeName = "FOOD";
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = Value_SwampHerb;
};
func void Use_SwampHerb ()
{
if (Npc_IsPlayer (self))
{
Wld_PlayEffect ("SLOW_TIME", self, self, 0, 0, 0, FALSE);
};
};
/******************************************************************************************/
INSTANCE ItPl_Mana_Herb_01(C_Item)
{
name = "Feuernessel";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Mana_Herb_01;
visual = "ItPl_Mana_Herb_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Mana_Herb_01;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_Mana;
COUNT[1] = Mana_Mana_Herb_01;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Mana_Herb_01;
};
func void Use_Mana_Herb_01 ()
{
Npc_ChangeAttribute (self, ATR_MANA, Mana_Mana_Herb_01);
};
/******************************************************************************************/
INSTANCE ItPl_Mana_Herb_02(C_Item)
{
name = "Feuerkraut";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Mana_Herb_02;
visual = "ItPl_Mana_Herb_02.3ds";
material = MAT_LEATHER;
on_state[0] = Use_Mana_Herb_02;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_Mana;
COUNT[1] = Mana_Mana_Herb_02;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Mana_Herb_02;
};
func void Use_Mana_Herb_02 ()
{
Npc_ChangeAttribute (self, ATR_MANA, Mana_Mana_Herb_02);
};
/******************************************************************************************/
INSTANCE ItPl_Mana_Herb_03(C_Item)
{
name = "Feuerwurzel";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Mana_Herb_03;
visual = "ItPl_Mana_Herb_03.3ds";
material = MAT_LEATHER;
on_state[0] = Use_Mana_Herb_03;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_Mana;
COUNT[1] = Mana_Mana_Herb_03;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Mana_Herb_03;
};
func void Use_Mana_Herb_03 ()
{
Npc_ChangeAttribute (self, ATR_MANA, Mana_Mana_Herb_03);
};
/******************************************************************************************/
INSTANCE ItPl_Health_Herb_01(C_Item)
{
name = "Heilpflanze";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Health_Herb_01;
visual = "ItPl_Health_Herb_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Health_Herb_01;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Health_Herb_01;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Health_Herb_01;
};
func void Use_Health_Herb_01 ()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Health_Herb_01);
};
/******************************************************************************************/
INSTANCE ItPl_Health_Herb_02(C_Item)
{
name = "Heilkraut";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Health_Herb_02;
visual = "ItPl_Health_Herb_02.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Health_Herb_02;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Health_Herb_02;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Health_Herb_02;
};
func void Use_Health_Herb_02 ()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Health_Herb_02);
};
/******************************************************************************************/
INSTANCE ItPl_Health_Herb_03(C_Item)
{
name = "Heilwurzel";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Health_Herb_03;
visual = "ItPl_Health_Herb_03.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Health_Herb_03;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_HP; COUNT[1] = HP_Health_Herb_03;
TEXT[5] = NAME_Value; COUNT[5] = Value_Health_Herb_03;
};
func void Use_Health_Herb_03 ()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Health_Herb_03);
};
/******************************************************************************************/
INSTANCE ItPl_Dex_Herb_01(C_Item)
{
name = "Goblin Beeren";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Dex_Herb_01;
visual = "ItPl_Dex_Herb_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Dex_Herb_01;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_Dex;
COUNT[1] = 1;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Dex_Herb_01;
};
FUNC VOID USE_Dex_Herb_01 ()
{
B_RaiseAttribute (self, ATR_DEXTERITY ,1);
};
/******************************************************************************************/
INSTANCE ItPl_Strength_Herb_01(C_Item)
{
name = "Drachenwurzel";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Strength_Herb_01;
visual = "ItPl_Strength_Herb_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Strength_Herb_01;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_Str;
COUNT[1] = 1;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Strength_Herb_01;
};
FUNC VOID USE_Strength_Herb_01 ()
{
B_RaiseAttribute (self, ATR_STRENGTH,1);
};
/******************************************************************************************/
INSTANCE ItPl_Speed_Herb_01(C_Item)
{
name = "Snapperkraut";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Speed_Herb_01;
visual = "ItPl_Speed_Herb_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Speed_Herb_01;
scemeName = "FOOD";
TEXT[3] = NAME_Sec_Duration;
COUNT[3] = Speed_Boost /1000;
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Speed_Herb_01;
};
func void Use_Speed_Herb_01 ()
{
Mdl_ApplyOverlayMDSTimed (self, "HUMANS_SPRINT.MDS", Speed_Boost);
};
/******************************************************************************************/
INSTANCE ItPl_Mushroom_01(C_Item)
{
name = "Dunkelpilz";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Mushroom_01;
visual = "ItPl_Mushroom_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Mushroom_01;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Mushroom_01;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Mushroom_01;
};
func void Use_Mushroom_01 ()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Mushroom_01);
if (Npc_IsPlayer (self))
{
Dunkelpilz_Bonus = Dunkelpilz_Bonus + 1;
if (Dunkelpilz_Bonus == 50)
{
B_RaiseAttribute (self, ATR_MANA_MAX, 5);
Npc_ChangeAttribute (self, ATR_MANA, 5);
Snd_Play ("LevelUp");
Dunkelpilz_Bonus = 0;
};
};
};
/******************************************************************************************/
INSTANCE ItPl_Mushroom_02(C_Item)
{
name = "Buddlerfleisch";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Mushroom_02;
visual = "ItPl_Mushroom_02.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Mushroom_02;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Mushroom_02;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Mushroom_02;
};
func void Use_Mushroom_02 ()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Mushroom_02);
};
/******************************************************************************************/
INSTANCE ItPl_Blueplant(C_Item)
{
name = "Blauflieder";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Blueplant;
visual = "ItPl_Blueplant.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Blueplant;
scemeName = "FOOD";
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Blueplant;
TEXT[2] = NAME_Bonus_Mana;
COUNT[2] = Mana_Blueplant;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Blueplant;
};
func void Use_Blueplant ()
{
Npc_ChangeAttribute (self, ATR_MANA, Mana_Blueplant);
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Blueplant);
};
/******************************************************************************************/
INSTANCE ItPl_Forestberry (C_Item)
{
name = "Waldbeere";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Forestberry;
visual = "ItPl_Forestberry.3DS";
material = MAT_LEATHER;
scemeName = "FOOD";
on_state[0] = Use_Forestberry;
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Forestberry;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Forestberry;
};
FUNC VOID Use_Forestberry()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Forestberry);
};
/******************************************************************************************/
INSTANCE ItPl_Planeberry (C_Item)
{
name = "Weidenbeere";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_Planeberry;
visual = "ItPl_Planeberry.3DS";
material = MAT_LEATHER;
scemeName = "FOOD";
on_state[0] = Use_Planeberry;
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Planeberry;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Planeberry;
};
FUNC VOID Use_Planeberry()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Planeberry);
};
/******************************************************************************************/
//******************************************************************************************
// Pflanze zum brauen von tempor<6F>ren und permanten Tr<54>nken
//******************************************************************************************
INSTANCE ItPl_Temp_Herb(C_Item)
{
name = "Feldkn<6B>terich";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI|ITEM_MISSION;
value = Value_Temp_Herb;
visual = "ItPl_Temp_Herb.3ds";
material = MAT_LEATHER;
scemeName = "FOOD";
on_state[0] = Use_Temp_Herb;
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Temp_Herb;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Temp_Herb;
};
FUNC VOID Use_Temp_Herb()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Temp_Herb);
};
INSTANCE ItPl_Perm_Herb(C_Item)
{
name = "Kronst<73>ckel";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI|ITEM_MISSION;
value = Value_Perm_Herb;
visual = "ItPl_Perm_Herb.3ds";
material = MAT_LEATHER;
scemeName = "FOOD";
on_state[0] = Use_Perm_Herb;
description = name;
TEXT[1] = NAME_Bonus_HP;
COUNT[1] = HP_Perm_Herb;
TEXT[5] = NAME_Value;
COUNT[5] = Value_Perm_Herb;
};
FUNC VOID Use_Perm_Herb()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Perm_Herb);
};
/******************************************************************************************/
INSTANCE ItPl_MSwampHerb(C_Item)
{
name = "Sumpfkraut";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
value = Value_SwampHerb;
visual = "ItPl_SwampHerb.3ds";
material = MAT_LEATHER;
on_state[0] = Use_MSwampHerb;
scemeName = "FOOD";
description = name;
TEXT[5] = NAME_Value;
COUNT[5] = Value_SwampHerb;
};
func void Use_MSwampHerb ()
{
if (Npc_IsPlayer (self))
{
Wld_PlayEffect ("SLOW_TIME", self, self, 0, 0, 0, FALSE);
};
};
// getHerbBonus: Zufallsverteilung von SKillup-Punkten.
func void getHerbBonus (var int lvl)
{
var int rnd;
if (lvl == 1) {
rnd = Hlp_Random(2);
if (rnd == 0) { herbSkill += 1; PrintS("Kra<72>uterkunde +1"); };
}
else if (lvl == 2) {
rnd = Hlp_Random(3);
if (rnd == 0) { herbSkill += 1; PrintS("Kra<72>uterkunde +1"); };
}
else if (lvl == 3) {
rnd = Hlp_Random(4);
if (rnd == 0) { herbSkill += 1; PrintS("Kra<72>uterkunde +1"); };
}
else if (lvl == 4) {
rnd = Hlp_Random(5);
if (rnd == 0) { herbSkill += 1; PrintS("Kra<72>uterkunde +1"); };
}
else if (lvl == 5) {
rnd = Hlp_Random(6);
if (rnd == 0) { herbSkill += 1; PrintS("Kra<72>uterkunde +1"); };
};
};
/**************************************************************/
INSTANCE ItPl_Unknown(C_Item)
{
name = "Unbekannte Pflanze";
mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;
nutrition = 1; //F<>r den Pflanzen-Respawn!
value = 5;
var int randVis;
randVis = Hlp_Random(5);
if (randVis == 0) {
visual = "ItPl_Health_Herb_01.3DS"; };
if (randVis == 1) {
visual = "ItPl_Health_Herb_02.3DS"; };
if (randVis == 2) {
visual = "ItPl_Health_Herb_03.3DS"; };
if (randVis == 3) {
visual = "ItPl_Forestberry.3DS"; };
if (randVis == 4) {
visual = "ItPl_Planeberry.3DS"; };
if (randVis == 5) {
visual = "ItPl_Blueplant.3DS"; };
//visual = "ItPl_Health_Herb_01.3DS";
material = MAT_LEATHER;
on_state[0] = Use_Unknown_Herb;
scemeName = "MAP";
description = name;
TEXT[1] = "Eine Pflanze! Nur was f<>r eine?";
};
func void Use_Unknown_Herb ()
{
if (learnedHerb == FALSE)
{
PrintS(PRINT_NoPicklockTalent);
}
else
{
Npc_RemoveInvItem(self, ItPl_Unknown);
var int rnd;
if (herbSkill >= 0) && (herbSkill <= 20) {
rnd = Hlp_Random(160);
if (rnd <= 20)
{
CreateInvItem(hero, ItPl_Health_Herb_01);
PrintS("Heilpflanze gefunden!");
};
if (rnd >= 21) && (rnd <= 40)
{
CreateInvItem(hero, ItPl_Health_Herb_02);
PrintS("Heilkraut gefunden!");
};
if (rnd >= 41) && (rnd <= 60)
{
CreateInvItem(hero, ItPl_Mana_Herb_01);
PrintS("Feuernessel gefunden!");
};
if (rnd >= 61) && (rnd <= 80)
{
CreateInvItem(hero, ItPl_Mana_Herb_02);
PrintS("Feuerkraut gefunden!");
};
if (rnd >= 81) && (rnd <= 100)
{
CreateInvItem(hero, ItPl_Weed);
PrintS("Das war nur Unkraut!");
};
if (rnd >= 101) && (rnd <= 120)
{
CreateInvItem(hero, ItPl_Forestberry);
PrintS("Waldbeere gefunden");
};
if (rnd >= 121) && (rnd <= 140)
{
CreateInvItem(hero, ItPl_Planeberry);
PrintS("Weidenbeere gefunden!");
};
if (rnd >= 141) && (rnd <= 160)
{
CreateInvItem(hero, ItPl_Blueplant);
PrintS("Blauflieder gefunden!");
};
getHerbBonus(1);
}
else if (herbSkill >= 21) && (herbSkill <= 40) {
rnd = Hlp_Random(105);
if (rnd <= 15)
{
CreateInvItem(hero, ItPl_Health_Herb_01);
PrintS("Heilpflanze gefunden!");
};
if (rnd >= 16) && (rnd <= 30)
{
CreateInvItem(hero, ItPl_Health_Herb_02);
PrintS("Heilkraut gefunden!");
};
if (rnd >= 31) && (rnd <= 45)
{
CreateInvItem(hero, ItPl_Mana_Herb_01);
PrintS("Feuernessel gefunden!");
};
if (rnd >= 46) && (rnd <= 60)
{
CreateInvItem(hero, ItPl_Mana_Herb_02);
PrintS("Feuerkraut gefunden!");
};
if (rnd >= 61) && (rnd <= 90)
{
CreateInvItem(hero, ItPl_Health_Herb_03);
PrintS("Heilwurzel gefunden!");
};
if (rnd >= 91) && (rnd <= 105)
{
CreateInvItem(hero, ItPl_Mana_Herb_03);
PrintS("Feuerwurzel gefunden!");
};
getHerbBonus(2);
}
else if (herbSkill >= 41) && (herbSkill <= 60) {
rnd = Hlp_Random(105);
if (rnd <= 10)
{
CreateInvItem(hero, ItPl_Health_Herb_01);
PrintS("Heilpflanze gefunden!");
};
if (rnd >= 11) && (rnd <= 20)
{
CreateInvItem(hero, ItPl_Health_Herb_02);
PrintS("Heilkraut gefunden!");
};
if (rnd >= 21) && (rnd <= 30)
{
CreateInvItem(hero, ItPl_Mana_Herb_01);
PrintS("Feuernessel gefunden!");
};
if (rnd >= 31) && (rnd <= 40)
{
CreateInvItem(hero, ItPl_Mana_Herb_02);
PrintS("Feuerkraut gefunden!");
};
if (rnd >= 41) && (rnd <= 50)
{
CreateInvItem(hero, ItPl_Health_Herb_03);
PrintS("Heilwurzel gefunden!");
};
if (rnd >= 51) && (rnd <= 60)
{
CreateInvItem(hero, ItPl_Mana_Herb_03);
PrintS("Feuerwurzel gefunden!");
};
if (rnd >= 61) && (rnd <= 70)
{
CreateInvItem(hero, ItPl_Dex_Herb_01);
PrintS("Goblinbeere gefunden!");
};
if (rnd >= 71) && (rnd <= 80)
{
CreateInvItem(hero, ItPl_Strength_Herb_01);
PrintS("Drachenwurzel gefunden!");
};
if (rnd >= 81) && (rnd <= 90)
{
CreateInvItem(hero, ItPl_Speed_Herb_01);
PrintS("Snapperkraut gefunden!");
};
if (rnd >= 91) && (rnd <= 100)
{
CreateInvItem(hero, ItPl_Temp_Herb);
PrintS("Feldkn<6B>terich gefunden!");
};
if (rnd >= 101) && (rnd <= 110)
{
CreateInvItem(hero, ItPl_Perm_Herb);
PrintS("Kronst<73>ckel gefunden!");
};
getHerbBonus(2);
};
};
};