本文整理汇总了C++中cInventory::GetItem方法的典型用法代码示例。如果您正苦于以下问题:C++ cInventory::GetItem方法的具体用法?C++ cInventory::GetItem怎么用?C++ cInventory::GetItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cInventory
的用法示例。
在下文中一共展示了cInventory::GetItem方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadInventoryXML
bool LoadInventoryXML(TiXmlHandle hInventory, sInventoryItem* items[], int& numItems, unsigned char isEquipped[], int quantities[])
{
numItems = 0;
TiXmlElement* pInventory = hInventory.ToElement();
if (pInventory == 0) return false;
TiXmlElement* pItems = pInventory->FirstChildElement("Items");
if (pItems)
{
for (TiXmlElement* pItem = pItems->FirstChildElement("Item"); pItem != 0; pItem = pItem->NextSiblingElement("Item"))
{
if (pItem->Attribute("Name"))
{
sInventoryItem* tempItem = g_InvManager.GetItem(pItem->Attribute("Name"));
if (tempItem)
{
items[numItems] = tempItem;
if (isEquipped)
{
int tempInt = 0;
if (pItem->Attribute("isEquipped")) pItem->QueryIntAttribute("isEquipped", &tempInt);
isEquipped[numItems] = tempInt;
}
if (quantities)
{
int tempInt = 1;
if (pItem->Attribute("quantity")) pItem->QueryIntAttribute("quantity", &tempInt);
quantities[numItems] = tempInt;
}
++numItems;
}
}
}
}
return true;
}
示例2: WorkGardener
//.........这里部分代码省略.........
switch (g_Dice % 14)
{
case 0: if (flowerpower >= 5) { flowerpower -= 5; additem = "Bouquet of Enchanted Roses"; } break;
case 1: if (flowerpower >= 5) { flowerpower -= 5; additem = "Chatty Flowers"; } break;
case 2: if (flowerpower >= 4) { flowerpower -= 4; additem = "Watermelon of Knowledge"; } break;
case 3: if (flowerpower >= 3) { flowerpower -= 3; additem = "Mango of Knowledge"; } break;
case 4: if (flowerpower >= 3) { flowerpower -= 3; additem = "Red Rose Extravaganza"; } break;
case 5: if (flowerpower >= 3) { flowerpower -= 3; additem = "Vira Blood"; } break;
case 6: if (flowerpower >= 3) { flowerpower -= 3; additem = "Whitewillow Sap"; } break;
case 7: if (flowerpower >= 2) { flowerpower -= 2; additem = "Rose of Enchantment"; } break;
case 8: if (flowerpower >= 2) { flowerpower -= 2; additem = "Sinspice"; } break;
case 9: if (flowerpower >= 2) { flowerpower -= 2; additem = "Nut of Knowledge"; } break;
case 10: if (flowerpower >= 2) { flowerpower -= 2; additem = "Willbreaker Spice"; } break;
case 11: if (flowerpower >= 1) { flowerpower -= 1; additem = "Shroud Mushroom"; } break;
case 12: if (flowerpower >= 1) { flowerpower -= 1; additem = "Wild Flowers"; } break;
default: flowerpower -= 1; break;
}
if (additem != "")
{
additems[additemnum] = additem;
additemnum++;
}
}
if (additemnum > 0)
{
msgtype = EVENT_GOODNEWS;
ss << "\n\n" << girlName << " was able to harvest ";
if (additemnum == 1)
{
ss << "one " << additems[0] << ".";
}
else
{
ss << additemnum << " items: ";
for (int i = 0; i < additemnum; i++)
{
ss << additems[i];
if (i == additemnum - 1) ss << ".";
else ss << ", ";
}
}
for (int i = 0; i < additemnum; i++)
{
sInventoryItem* item = g_InvManager.GetItem(additems[i]);
if (item) g_Brothels.AddItemToInventory(item);
}
}
#pragma endregion
#pragma region // Money //
if (girl->is_slave() && !cfg.initial.slave_pay_outofpocket()) wages = 0; // You own her so you don't have to pay her.
else
{
int roll_max = (g_Girls.GetStat(girl, STAT_INTELLIGENCE)
+ g_Girls.GetStat(girl, SKILL_HERBALISM)
+ g_Girls.GetSkill(girl, SKILL_FARMING));
roll_max /= 6;
wages += 10 + g_Dice%roll_max;
}
#pragma endregion
#pragma region // Finish the shift //
g_Girls.UpdateEnjoyment(girl, actiontype, enjoy);
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, msgtype);
// Money
if (wages < 0) wages = 0; girl->m_Pay = (int)wages;
if (tips < 0) tips = 0; girl->m_Tips = (int)tips;
// Improve stats
int xp = 5, libido = 1, skill = 3;
if (g_Girls.HasTrait(girl, "Quick Learner")) { skill += 1; xp += 3; }
else if (g_Girls.HasTrait(girl, "Slow Learner")) { skill -= 1; xp -= 3; }
if (g_Girls.HasTrait(girl, "Nymphomaniac")) { libido += 2; }
g_Girls.UpdateStat(girl, STAT_EXP, (g_Dice % xp) + 1);
g_Girls.UpdateStatTemp(girl, STAT_LIBIDO, libido);
// primary (+2 for single or +1 for multiple)
g_Girls.UpdateSkill(girl, SKILL_HERBALISM, (g_Dice%skill) + 2);
// secondary (-1 for one then -2 for others)
g_Girls.UpdateSkill(girl, SKILL_FARMING, max(0, (g_Dice % skill) - 1));
g_Girls.UpdateStat(girl, STAT_INTELLIGENCE, max(0, (g_Dice % skill) - 2));
g_Girls.UpdateStat(girl, STAT_CONSTITUTION, max(0, (g_Dice % skill) - 2));
#pragma endregion
return false;
}
示例3: WorkMilker
//.........这里部分代码省略.........
{
enjoy += g_Dice % 3 + 1;
ss << "The animals were pleasant and cooperative today.\n";
drinks *= 1.2;
}
else
{
enjoy += g_Dice % 2;
ss << "She had an uneventful day milking.\n";
}
#pragma endregion
#pragma region // Money //
// slave girls not being paid for a job that normally you would pay directly for do less work
if ((girl->is_slave() && !cfg.initial.slave_pay_outofpocket()))
{
drinks *= 0.9;
wages = 0;
}
else
{
wages += drinks / 100; // `J` Pay her based on how much she brought in
}
#pragma endregion
#pragma region // Create Items //
int milk = int(drinks / 10); // plain milk is made here, breast milk from girls is made in WorkMilk
if (milk > 0)
{
int milkmade[5] = { 0, 0, 0, 0, 0 }; // (total,gallon,quart,pint,shots}
// check if the milk items exist and only do the checks if at least one of them does
sInventoryItem* milkitems[4] = { g_InvManager.GetItem("Milk"), g_InvManager.GetItem("Milk (pt)"), g_InvManager.GetItem("Milk (qt)"), g_InvManager.GetItem("Milk (g)") };
if (milkitems[0] != 0 || milkitems[1] != 0 || milkitems[2] != 0 || milkitems[3] != 0)
{
while (milk > 0) // add milk
{
sInventoryItem* item = NULL;
string itemname = "";
/* */if (milkitems[3] && milk > 3 && g_Dice.percent(30))
{
milk -= 4;
milkmade[0]++;
milkmade[4]++;
g_Brothels.AddItemToInventory(milkitems[3]);
}
else if (milkitems[2] && milk > 2 && g_Dice.percent(50))
{
milk -= 3;
milkmade[0]++;
milkmade[3]++;
g_Brothels.AddItemToInventory(milkitems[2]);
}
else if (milkitems[1] && milk > 1 && g_Dice.percent(70))
{
milk -= 2;
milkmade[0]++;
milkmade[2]++;
g_Brothels.AddItemToInventory(milkitems[1]);
}
else if (milkitems[0])
{
milk -= 1;
milkmade[0]++;
milkmade[1]++;
示例4: WorkFarmer
//.........这里部分代码省略.........
else // unhappy
{
foodproduced *= 0.9;
ss << "She did not like working in the fields today.";
girl->happiness(-(g_Dice % 11));
}
}
else if (roll_a >= 90)
{
tired /= 12;
foodproduced *= 1.1;
enjoy += g_Dice % 3;
/* */if (roll_b < 50) ss << "She kept a steady pace by humming a pleasant tune.";
else /* */ ss << "She had a great time working today.";
}
else
{
tired /= 10;
enjoy += g_Dice % 2;
ss << "The shift passed uneventfully.";
}
ss << "\n\n";
#pragma endregion
#pragma region // Create Items //
if (g_Dice.percent((girl->farming() + girl->magic()) / 10) && g_Dice.percent(jobperformance / 10))
{
string itemname = ""; int itemnumber = 1;
/* */if (roll_c > 30) { itemname = "Nut of Knowledge"; itemnumber = (roll_c > 90 ? g_Dice % 3 + 2 : 1); }
else if (roll_c > 10) { itemname = "Mango of Knowledge"; itemnumber = (roll_c > 28 ? 2 : 1); }
else/* */ { itemname = "Watermelon of Knowledge"; itemnumber = (roll_c == 9 ? 2 : 1); }
sInventoryItem* item = g_InvManager.GetItem(itemname);
if (item)
{
for (int i = 0; i < itemnumber; i++) g_Brothels.AddItemToInventory(item);
ss << "While picking crops, " << girlName << " sensed a magical aura and found ";
if (itemnumber == 1) ss << "a"; else ss << itemnumber;
ss << " " << itemname << ".\n";
foodproduced -= itemnumber;
}
}
if (g_Dice.percent(girl->herbalism() / 2) && g_Dice.percent(jobperformance / 10))
{
alchemyproduced = 1 + g_Dice % (girl->herbalism() / 10);
ss << "While sorting the day's haul, " << girlName << " came across ";
if (alchemyproduced == 1) ss << "a specimen";
else ss << alchemyproduced << " specimens";
ss << " that would work well in potions.\n";
foodproduced -= alchemyproduced;
}
if (g_Dice.percent(girl->crafting() / 2) && g_Dice.percent(jobperformance / 10))
{
goodsproduced = 1 + g_Dice % (girl->crafting() / 10);
ss << girlName << " created ";
if (goodsproduced == 1) ss << "a little toy";
else ss << goodsproduced << " little toys";
ss << " from the unuseable parts of her crops.\n";
}
if (foodproduced <= 0) foodproduced = 0;
#pragma endregion
#pragma region // Money //
// slave girls not being paid for a job that normally you would pay directly for do less work
示例5: WorkFarmResearch
//.........这里部分代码省略.........
}break;
case 12:
{
int manacost = 70;
// Dominatrix, Masochist and Sadistic needs 50, everyone else needs 70 to make this
if (girl->has_trait("Dominatrix") || girl->has_trait("Masochist") || girl->has_trait("Sadistic"))
{
if (girl->bdsm() < 50 || girl->magic() < 50 || girl->mana() < 50) break;
manacost = 50;
}
else if (girl->bdsm() < 70 && girl->magic() < 70 && girl->mana() < 70) break;
// she can make it, now does she?
if (g_Dice.percent((girl->bdsm() + girl->magic()) / 20))
{
girl->mana(-manacost);
itemname = "Codex of Submission"; // (+30 Obed, -30 Spi/Dig, +20 BDSM, +10 Anal/Group/Oral/Hand/Foot)
}
}break;
case 13:
{
if (girl->combat() > 80 && g_Dice.percent(girl->combat() / 10))
itemname = "Codex of Mars"; // (+40 Com, Adds Brawler)
}break;
case 14:
{
if (girl->normalsex() + girl->oralsex() + girl->anal() > 170 && g_Dice.percent((girl->normalsex() + girl->oralsex() + girl->anal()) / 30))
itemname = "Codex of Eros"; // (+30 Norm, +10 Anal/Oral)
}break;
case 15:
{
if (girl->medicine() + girl->intelligence() > 110 && g_Dice.percent((girl->medicine() + girl->intelligence()) / 20))
itemname = "Codex of Asclepius"; // (+20 Med, +10 Int)
}break;
case 16:
{
/*
*/
}break;
case 17:
{
/*
*/
}break;
case 18:
{
/*
*/
}break;
default:
break;
}
}
item = g_InvManager.GetItem(itemname);
if (item)
{
g_Brothels.AddItemToInventory(item);
ss << girlName << " managed to create a " << itemname << " by compiling her notes together.\n";
}
}
#pragma endregion
#pragma region // Money //
if ((girl->is_slave() && !cfg.initial.slave_pay_outofpocket())) { wages = 0; }
else { wages = 25 + (skill * 5); } // `J` Pay her more if she learns more
#pragma endregion
#pragma region // Finish the shift //
g_Girls.UpdateEnjoyment(girl, actiontype, enjoy);
girl->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, Day0Night1);
// Money
if (wages < 0) wages = 0; girl->m_Pay = (int)wages;
if (tips < 0) tips = 0; girl->m_Tips = (int)tips;
// Improve stats
int xp = 5 + skill, libido = int(1 + skill / 2);
if (g_Girls.HasTrait(girl, "Quick Learner")) { xp += 2; }
else if (g_Girls.HasTrait(girl, "Slow Learner")) { xp -= 2; }
if (g_Girls.HasTrait(girl, "Nymphomaniac")) { libido += 2; }
g_Girls.UpdateStat(girl, STAT_EXP, (g_Dice % xp) + 1);
g_Girls.UpdateStatTemp(girl, STAT_LIBIDO, libido);
#pragma endregion
return false;
}
示例6: WorkBrewer
//.........这里部分代码省略.........
}
ss << "\n\n";
#endif
#pragma endregion
#pragma region // Create Items //
// `J` Farm Bookmark - adding in items that can be created in the farm
string itemmade = "";
string itemtext = "";
int numbermade = 0;
sInventoryItem* item = NULL;
if (g_Dice.percent(min(90.0, jobperformance / 2)))
{
int chooseitem = g_Dice % (girl->magic() < 80 ? 80 : 100); // limit some of the more magical items
/* */if (chooseitem < 25) { itemmade = "Alcohol"; numbermade = (g_Dice % 5) + 2; itemtext = " bottles of Alcohol "; }
else if (chooseitem < 50) { itemmade = "Alcohol "; numbermade = (g_Dice % 5) + 2; itemtext = " bottles of Alcohol "; }
else if (chooseitem < 55) { itemmade = "RigJuice"; numbermade = (g_Dice % 5) + 2; itemtext = " bottles of RigJuice "; }
else if (chooseitem < 60) { itemmade = "Radicola"; numbermade = (g_Dice % 5) + 2; itemtext = " bottles of Radicola "; }
else if (chooseitem < 65) { itemmade = "Black Cat Beer"; numbermade = 1; itemtext = " bottle of Black Cat Beer "; }
else if (chooseitem < 70) { itemmade = "Crossgate Egg Nog"; numbermade = 1; itemtext = " bottle of Crossgate Egg Nog "; }
else if (chooseitem < 75) { itemmade = "Nightmare Fuel"; numbermade = 1; itemtext = " bottle of Nightmare Fuel "; }
else if (chooseitem < 80) { itemmade = "Nightmare Fuel X"; numbermade = 1; itemtext = " bottle of Nightmare Fuel "; }
else if (chooseitem < 83) { itemmade = "Nightmare Fuel XY"; numbermade = 1; itemtext = " bottle of Nightmare Fuel "; }
else if (chooseitem < 84) { itemmade = "Nightmare Fuel XYZ"; numbermade = 1; itemtext = " bottle of Nightmare Fuel "; }
else if (chooseitem < 85) { itemmade = "Bimbo Liqueur"; numbermade = 1; itemtext = " bottle of Bimbo Liqueur "; }
else if (chooseitem < 86) { itemmade = "Mississippi Queen (Ch)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 87) { itemmade = "Mississippi Queen (De)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 88) { itemmade = "Mississippi Queen (FF)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 89) { itemmade = "Mississippi Queen (Fg)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 90) { itemmade = "Mississippi Queen (Fl)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 91) { itemmade = "Mississippi Queen (IW)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 92) { itemmade = "Mississippi Queen (MF)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 93) { itemmade = "Mississippi Queen (Mk)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 94) { itemmade = "Mississippi Queen (Ml)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 95) { itemmade = "Mississippi Queen (Op)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 96) { itemmade = "Mississippi Queen (Ps)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 97) { itemmade = "Mississippi Queen (Rt)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 98) { itemmade = "Mississippi Queen (St)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else if (chooseitem < 99) { itemmade = "Mississippi Queen (To)"; numbermade = 1; itemtext = " Mississippi Queen "; }
else /* */ { itemmade = "Mississippi Queen (Tw)"; numbermade = 1; itemtext = " Mississippi Queen "; }
item = g_InvManager.GetItem(itemmade);
}
if (item)
{
msgtype = EVENT_GOODNEWS;
ss << "\n\n" << girlName << " made ";
if (numbermade == 1) ss << "one ";
else ss << numbermade << " ";
ss << itemmade << " for you.";
for (int i = 0; i < numbermade; i++)
g_Brothels.AddItemToInventory(item);
}
#pragma endregion
#pragma region // Money //
#pragma endregion
#pragma region // Finish the shift //
g_Girls.UpdateEnjoyment(girl, actiontype, enjoy);
girl->m_Events.AddMessage(ss.str(), imagetype, msgtype);
// Money
if (wages < 0) wages = 0; girl->m_Pay = (int)wages;
if (tips < 0) tips = 0; girl->m_Tips = (int)tips;
// Improve stats
int xp = 5, libido = 1, skill = 3;
if (g_Girls.HasTrait(girl, "Quick Learner")) { skill += 1; xp += 3; }
else if (g_Girls.HasTrait(girl, "Slow Learner")) { skill -= 1; xp -= 3; }
if (g_Girls.HasTrait(girl, "Nymphomaniac")) { libido += 2; }
g_Girls.UpdateStat(girl, STAT_EXP, (g_Dice % xp) + 1);
g_Girls.UpdateStatTemp(girl, STAT_LIBIDO, libido);
// primary (+2 for single or +1 for multiple)
g_Girls.UpdateSkill(girl, SKILL_BREWING, (g_Dice % skill) + 2);
// secondary (-1 for one then -2 for others)
g_Girls.UpdateSkill(girl, SKILL_HERBALISM, max(0, (g_Dice % skill) - 1));
g_Girls.UpdateStat(girl, STAT_INTELLIGENCE, max(0, (g_Dice % skill) - 2));
g_Girls.UpdateSkill(girl, SKILL_COOKING, max(0, (g_Dice % skill) - 2));
#pragma endregion
return false;
}
示例7: WorkBeastCapture
//.........这里部分代码省略.........
itemfoundtext = "a tough looking stray dog and brought it back with her.";
}
else if (chooseitem < 60)
{
itemfound = "A Bunch of Baby Ducks";
itemfoundtext = "a bunch of baby ducks without a mother, so she gathered them up in her shirt and brought them home.";
}
else if (chooseitem < 65)
{
itemfound = "Death Bear";
itemfoundtext = "a large bear that seems to have had some training, so she brought it home.";
}
else if (chooseitem < 80)
{
itemfound = "Pet Spider";
itemfoundtext = "a strange looking spider so she collected it in a bottle and brought it back with her.";
}
else if (chooseitem < 95)
{
itemfound = (g_Dice % 4 == 1) ? "Fox Stole" : "Fur Stole";
itemfoundtext = "a dead animal that was not too badly damaged. She brought it home, skinned it, cleaned it up and made a lovely stole from it.";
}
else if (chooseitem < 96)
{
itemfound = "Echidna's Snake";
itemfoundtext = "a rather obedient and psychic snake. It wrapped itself around her crotch and let her take it home.";
}
else
{
itemfound = "Tiger Shark Tooth";
itemfoundtext = "a rather large shark tooth and brought it home.";
}
sInventoryItem* item = g_InvManager.GetItem(itemfound);
if (item)
{
ss << girlName << " found " << itemfoundtext;
g_Brothels.AddItemToInventory(item);
}
}
#pragma endregion
#pragma region // Money //
// slave girls not being paid for a job that normally you would pay directly for do less work
if ((girl->is_slave() && !cfg.initial.slave_pay_outofpocket()))
{
wages = 0;
}
else
{
wages += gain * 10; // `J` Pay her based on how much she brings back
}
#pragma endregion
#pragma region // Finish the shift //
g_Brothels.add_to_beasts(gain);
// Money
girl->m_Tips = max(0, tips);
girl->m_Pay = max(0, wages);
// Improve girl
// Base Improvement and trait modifiers
int xp = 10, libido = 1, skill = 3;