本文整理汇总了C++中Condition::getEndTime方法的典型用法代码示例。如果您正苦于以下问题:C++ Condition::getEndTime方法的具体用法?C++ Condition::getEndTime怎么用?C++ Condition::getEndTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Condition
的用法示例。
在下文中一共展示了Condition::getEndTime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onWalk
void Creature::onWalk(Direction& dir)
{
int32_t drunk = -1;
if(!isSuppress(CONDITION_DRUNK))
{
Condition* condition = NULL;
for(ConditionList::const_iterator it = conditions.begin(); it != conditions.end(); ++it)
{
if(!(condition = *it) || condition->getType() != CONDITION_DRUNK)
continue;
int32_t subId = condition->getSubId();
if((!condition->getEndTime() || condition->getEndTime() >= OTSYS_TIME()) && subId > drunk)
drunk = subId;
}
}
if(drunk < 0)
return;
drunk += 25;
int32_t r = random_range(1, 100);
if(r > drunk)
return;
int32_t tmp = (drunk / 5);
if(r <= tmp)
dir = NORTH;
else if(r <= (tmp * 2))
dir = WEST;
else if(r <= (tmp * 3))
dir = SOUTH;
else if(r <= (tmp * 4))
dir = EAST;
g_game.internalCreatureSay(this, MSG_SPEAK_MONSTER_SAY, "Hicks!", isGhost());
}