• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ GetAISpellInfo函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中GetAISpellInfo函数的典型用法代码示例。如果您正苦于以下问题:C++ GetAISpellInfo函数的具体用法?C++ GetAISpellInfo怎么用?C++ GetAISpellInfo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: GetAISpellInfo

void CasterAI::InitializeAI()
{
    CombatAI::InitializeAI();

    m_attackDist = 30.0f;
    for (SpellVct::iterator itr = spells.begin(); itr != spells.end(); ++itr)
        if (AISpellInfo[*itr].condition == AICOND_COMBAT && m_attackDist > GetAISpellInfo(*itr)->maxRange)
            m_attackDist = GetAISpellInfo(*itr)->maxRange;
    if (m_attackDist == 30.0f)
        m_attackDist = MELEE_RANGE;
}
开发者ID:Rastrian,项目名称:CataCore,代码行数:11,代码来源:CombatAI.cpp


示例2: DoCast

void CasterAI::UpdateAI(const uint32 diff)
{
    if (!UpdateVictim())
        return;

    events.Update(diff);

    if (me->GetVictim()->HasBreakableByDamageCrowdControlAura(me))
    {
        me->InterruptNonMeleeSpells(false);
        return;
    }

    if (me->HasUnitState(UNIT_STATE_CASTING))
        return;

    if (uint32 spellId = events.ExecuteEvent())
    {
        if (me->HasSpellCooldown(spellId))
            return;

        DoCast(spellId);
        uint32 casttime = me->GetCurrentSpellCastTime(spellId);
        events.ScheduleEvent(spellId, (casttime ? casttime : 500) + GetAISpellInfo(spellId)->realCooldown);
    }
}
开发者ID:beyourself,项目名称:Wow-4.3.4,代码行数:26,代码来源:CombatAI.cpp


示例3: DoCast

void CasterAI::UpdateAI(const uint32 diff)
{
    if (!UpdateVictim())
        return;

    events.Update(diff);

    if (me->hasUnitState(UNIT_STAT_CASTING))
        return;

    if (uint32 spellId = events.ExecuteEvent())
    {
        DoCast(spellId);
        uint32 casttime = me->GetCurrentSpellCastTime(spellId);
        events.ScheduleEvent(spellId, (casttime ? casttime : 500) + GetAISpellInfo(spellId)->realCooldown);
    }
}
开发者ID:LolJK,项目名称:PhantomCore,代码行数:17,代码来源:CombatAI.cpp


示例4: rand

void CasterAI::EnterCombat(Unit *who) {
	if (spells.empty())
		return;

	uint32 spell = rand() % spells.size();
	uint32 count = 0;
	for (SpellVct::iterator itr = spells.begin(); itr != spells.end();
			++itr, ++count) {
		if (AISpellInfo[*itr].condition == AICOND_AGGRO)
			me->CastSpell(who, *itr, false);
		else if (AISpellInfo[*itr].condition == AICOND_COMBAT) {
			uint32 cooldown = GetAISpellInfo(*itr)->realCooldown;
			if (count == spell) {
				DoCast(spells[spell]);
				cooldown += me->GetCurrentSpellCastTime(*itr);
			}
			events.ScheduleEvent(*itr, cooldown);
		}
	}
}
开发者ID:rexy,项目名称:ArkCORE,代码行数:20,代码来源:CombatAI.cpp


示例5: DoCast

void CasterAI::UpdateAI(const uint32 diff)
{
    if (!UpdateVictim())
        return;

    events.Update(diff);

    if (me->getVictim() && me->getVictim()->hasNegativeAuraWithInterruptFlag(AURA_INTERRUPT_FLAG_DAMAGE))
    {
        me->InterruptNonMeleeSpells(false);
        return;
    }

    if (me->hasUnitState(UNIT_STAT_CASTING))
        return;

    if (uint32 spellId = events.ExecuteEvent())
    {
        DoCast(spellId);
        uint32 casttime = me->GetCurrentSpellCastTime(spellId);
        events.ScheduleEvent(spellId, (casttime ? casttime : 500) + GetAISpellInfo(spellId)->realCooldown);
    }
}
开发者ID:FirestormWoW,项目名称:TBC,代码行数:23,代码来源:CombatAI.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ GetAItem函数代码示例发布时间:2022-05-30
下一篇:
C++ GetAI函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap