当前位置: 首页>>代码示例>>C++>>正文


C++ Slayer::getGoalExp方法代码示例

本文整理汇总了C++中Slayer::getGoalExp方法的典型用法代码示例。如果您正苦于以下问题:C++ Slayer::getGoalExp方法的具体用法?C++ Slayer::getGoalExp怎么用?C++ Slayer::getGoalExp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Slayer的用法示例。


在下文中一共展示了Slayer::getGoalExp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: checkCondition

GQuestElement::ResultType GQuestAdvanceClassElement::checkCondition(PlayerCreature* pPC ) const
{
	if (pPC->getLevel() != 150 ) return FAIL;
	Exp_t advExp = 0;
	if (pPC->isSlayer() )
	{
		Slayer* pSlayer = dynamic_cast<Slayer*>(pPC);
		SkillDomainType_t domain = pSlayer->getHighestSkillDomain();
		DomainInfo* pDomainInfo = g_pSkillDomainInfoManager->getDomainInfo((SkillDomain)domain, pPC->getLevel());
		if (pDomainInfo == NULL ) return FAIL;
		Exp_t goalExp = pDomainInfo->getGoalExp();
		Exp_t currentExp = goalExp - pSlayer->getGoalExp(domain);

		advExp = (Exp_t)(currentExp * 0.0688933574);
	}
	else if (pPC->isVampire() )
	{
		Vampire* pVampire = dynamic_cast<Vampire*>(pPC);
		VampEXPInfo* pExpInfo = g_pVampEXPInfoManager->getVampEXPInfo(pVampire->getLevel());
		if (pExpInfo == NULL ) return FAIL;
		Exp_t goalExp = pExpInfo->getGoalExp();
		Exp_t currentExp = goalExp - pVampire->getGoalExp();

		advExp = currentExp / 100;
	}
	else if (pPC->isOusters() )
	{
		Ousters* pOusters = dynamic_cast<Ousters*>(pPC);
		OustersEXPInfo* pExpInfo = g_pOustersEXPInfoManager->getOustersEXPInfo(pOusters->getLevel());
		if (pExpInfo == NULL ) return FAIL;
		Exp_t goalExp = pExpInfo->getGoalExp();
		Exp_t currentExp = goalExp - pOusters->getGoalExp();

		advExp = currentExp / 100;
	}

	advExp = min((int)advExp, 18496191);
	// ÇϵåÄÚµù -_-
	pPC->increaseAdvancementClassExp(advExp, false);

	return OK;
}
开发者ID:hillwah,项目名称:darkeden,代码行数:42,代码来源:GQuestAdvanceClassElement.cpp


注:本文中的Slayer::getGoalExp方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。