本文整理汇总了C++中cGangManager::GangBrawl方法的典型用法代码示例。如果您正苦于以下问题:C++ cGangManager::GangBrawl方法的具体用法?C++ cGangManager::GangBrawl怎么用?C++ cGangManager::GangBrawl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cGangManager
的用法示例。
在下文中一共展示了cGangManager::GangBrawl方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update
//.........这里部分代码省略.........
switch (missionid)
{
case MISS_EXTORTION: // gain territory
{
int numB = GetNumBusinesses() + NumPlayerBussiness;
if (numB < TOWN_NUMBUSINESSES) // if there are uncontrolled businesses
{
int n = g_Dice % 5 - 2;
if (n > 0) // try to take some
{
if (numB + n > TOWN_NUMBUSINESSES)
n = TOWN_NUMBUSINESSES - numB;
curr->m_BusinessesExtort += n;
income += n * 20;
}
}
else // if there are no uncontrolled businesses
{
stringstream ss;
int who = (g_Dice % (m_NumRivals + 1)); // who to attack
if (who == m_NumRivals) // try to attack you
{
if (!player_safe() && NumPlayerBussiness > 0) // but only if you are a valid target
{
sGang* miss1 = g_Gangs.GetGangOnMission(MISS_GUARDING);
if (miss1) // if you have a gang guarding
{
ss << gettext("Your guards encounter ") << curr->m_Name << gettext(" going after some of your territory.");
sGang* rGang = g_Gangs.GetTempGang(curr->m_Power);
if (g_Gangs.GangBrawl(miss1, rGang)) // if you win
{
if (rGang->m_Num == 0) curr->m_NumGangs--;
ss << gettext("\nBut you maintain control of the territory.");
miss1->m_Events.AddMessage(ss.str(), IMGTYPE_PROFILE, EVENT_GANG);
}
else // if you lose
{
if (miss1->m_Num == 0) g_Gangs.RemoveGang(miss1);
ss << gettext("\nYou lose the territory.");
NumPlayerBussiness--;
curr->m_BusinessesExtort++;
g_MessageQue.AddToQue(ss.str(), COLOR_RED);
}
delete rGang; rGang = 0; // cleanup
}
else // if you do not have a gang guarding
{
ss << gettext("Your rival ") << curr->m_Name << gettext(" has taken one of the undefended territories you control.");
g_MessageQue.AddToQue(ss.str(), COLOR_RED);
NumPlayerBussiness--;
curr->m_BusinessesExtort++;
}
}
}
else // attack another rival
{
ss << gettext("The ") << curr->m_Name << gettext(" attacked the territories of ");
cRival* rival = GetRival(who);
if (rival != curr && rival->m_BusinessesExtort > 0)
{
ss << rival->m_Name;
if (rival->m_NumGangs > 0)