Beispiel #1
0
global func FxIntHalfVehicleFadeJumpTimer(object target, proplist effect, int time)
{
	if (DeepEqual(target->GetPosition(), effect.origpos))
		return FX_OK;
	for (var i = GetLength(effect.collideverts); i-->0;) {
		if (target->GetMaterial(target->GetVertex(effect.collideverts[i], VTX_X),
		                        target->GetVertex(effect.collideverts[i], VTX_Y)) == Material("HalfVehicle"))
			return FX_OK;
	}
	return FX_Execute_Kill;
}
Beispiel #2
0
global func FxIntHalfVehicleFadeJumpStart(object target, proplist effect, int temp)
{
	if (temp)
		return FX_OK;
	if (!target) {
		return FX_Start_Deny;
	}
	effect.collideverts = CreateArray();
	for (var i = target->GetVertexNum(); i-->0;)
		if(!(target->GetVertex(i, VTX_CNAT) & CNAT_PhaseHalfVehicle)) {
			PushBack(effect.collideverts, i);
			target->SetVertexCNAT(i, CNAT_PhaseHalfVehicle, true);
		}
	effect.origpos = target->GetPosition();
	return FX_OK;
}