Returns true when the player stands on the opposite side of memPointEndName relative to memPointStartName (angle exceeds toleranceAngle) Intentionally returns true (no restriction) when the check cannot be performed (missing player/entity or memory points) Callers where a failed check must deny access have to verify the preconditions (e.g. MemoryPointExists) themselves
943 {
944 if (player && targetEnt && memPointEndName != "" && targetEnt.MemoryPointExists(memPointEndName) && memPointStartName != "" && targetEnt.MemoryPointExists(memPointStartName))
945 {
946 vector memPointEndPos = targetEnt.ModelToWorld(targetEnt.GetMemoryPointPos(memPointEndName));
947 vector memPointStartPos = targetEnt.ModelToWorld(targetEnt.GetMemoryPointPos(memPointStartName));
948 vector playerPosition = player.GetPosition();
949 vector playerHeadPos = MiscGameplayFunctions.GetPlayerHeadPosition(player);
954
955
956
957
958
959
960
961
962
963
965 }
966
967 return true;
968 }
static bool GenericDirectionalCheck(vector dir1, vector dir2, float toleranceAngle)
just compares the angle
proto float Normalize()
Normalizes vector. Returns length.
static vector Direction(vector p1, vector p2)
Returns direction vector from point p1 to point p2.