Пример #1
0
TTileItem *CollideGetFirstItem(
	const TTileItem *item, const Vec2i pos,
	const int mask, const CollisionTeam team, const bool isPVP)
{
	TTileItem *firstItem = NULL;
	CollideTileItems(
		item, pos, mask, team, isPVP, CollideGetFirstItemCallback, &firstItem);
	return firstItem;
}
Пример #2
0
static HitType HitItem(
	TMobileObject *obj, const Vec2i pos, const bool multipleHits)
{
	// Don't hit if no damage dealt
	// This covers non-damaging debris explosions
	if (obj->bulletClass->Power <= 0 &&
		(obj->specialLock > 0 || obj->bulletClass->Special == SPECIAL_NONE))
	{
		return HIT_NONE;
	}

	// Get all items that collide
	HitItemData data;
	data.HitType = HIT_NONE;
	data.MultipleHits = multipleHits;
	data.Obj = obj;
	CollideTileItems(
		&obj->tileItem, Vec2iFull2Real(pos),
		TILEITEM_CAN_BE_SHOT, COLLISIONTEAM_NONE,
		IsPVP(gCampaign.Entry.Mode),
		HitItemFunc, &data);
	return data.HitType;
}