All pastes #800797 Raw Edit

Stuff

public cpp v1 · immutable
#800797 ·published 2007-11-28 19:31 UTC
rendered paste body
	void CastSpellOnRandomTarget(uint32 i)	{		if(_unit->GetCurrentSpell() == NULL && _unit->GetAIInterface()->GetNextTarget())        {			Unit* TargetTable[25];			int LastTarget = -1;			for (int i = 0; i < 25; i++)			{				TargetTable[i] = NULL;			}			for(set<Object*>::iterator itr = _unit->GetInRangeSetBegin(); itr != _unit->GetInRangeSetEnd(); ++itr) 			{ 				if (isHostile(_unit, (*itr)) && (*itr)->GetTypeId() == TYPEID_PLAYER && (*itr)->GetInstanceID() == _unit->GetInstanceID() && isAttackable(_unit, (*itr)) && (*itr) != _unit)	//  ((*itr)->GetTypeId()== TYPEID_UNIT || 				{					Unit* RandomTarget = NULL;					RandomTarget = (Unit*)(*itr);					if (RandomTarget->isAlive() && _unit->GetAIInterface()->getThreatByPtr(RandomTarget) > 0 && _unit->GetDistance2dSq(RandomTarget) <= 900.0f)	// 30*30					{						LastTarget++;						TargetTable[LastTarget] = NULL;						TargetTable[LastTarget] = RandomTarget;					} 				} 			}			uint32 CastTarget = RandomUInt(LastTarget+1);			switch (spells[i].targettype)			{			case TARGET_RANDOM_SINGLE:				_unit->CastSpell(TargetTable[CastTarget], spells[i].info, spells[i].instant); break;			case TARGET_RANDOM_DESTINATION:				_unit->CastSpellAoF(TargetTable[CastTarget]->GetPositionX(), TargetTable[CastTarget]->GetPositionY(), TargetTable[CastTarget]->GetPositionZ(), spells[i].info, spells[i].instant); break;			}		}	}