本文整理汇总了C++中InventoryItemRef::speed方法的典型用法代码示例。如果您正苦于以下问题:C++ InventoryItemRef::speed方法的具体用法?C++ InventoryItemRef::speed怎么用?C++ InventoryItemRef::speed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InventoryItemRef
的用法示例。
在下文中一共展示了InventoryItemRef::speed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CheckAttacks
void NPCAIMgr::CheckAttacks(SystemEntity *target) {
if(m_mainAttackTimer.Check(false)) {
_log(NPC__AI_TRACE, "[%u] Attack timer expired. Attacking %u.", m_npc->GetID(), target->GetID());
InventoryItemRef self = m_npc->Item();
//reset the attack timer.
//NOTE: there is probably a more intelligent way to make this descision.
//if(self->entityAttackDelayMax() <= 0) {
//use speed field...
m_mainAttackTimer.Start(self->speed());
//} else {
//I think this field is actually meant as a reaction time to the player showing up in range.
// m_mainAttackTimer.Start(MakeRandomInt(
// self->entityAttackDelayMin(),
// self->entityAttackDelayMax() ));
//}
//Do main attack...
//check our attack range...
if(m_npc->DistanceTo2(target) > m_entityAttackRange2) {
_log(NPC__AI_TRACE, "[%u] Target (%u) is too far away (%.2f > %.2f)", m_npc->GetID(), target->GetID(), m_npc->DistanceTo2(target), m_entityAttackRange2);
_EnterFollowing(target);
return;
}
//TODO: check to-hit...
//TODO: Need to consult dgmTypeEffects to determine what kind
// of effects to throw for this attack.
_SendWeaponEffect("effects.Laser", target);
Damage d(
m_npc, (InventoryItemRef)self,
effectTargetAttack); //should get this from somewhere.
m_npc->ApplyDamageModifiers(d, m_npc);
target->ApplyDamage(d);
}
}