Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
60 lines
2.1 KiB
C++
60 lines
2.1 KiB
C++
|
|
#pragma once
|
|
#ifndef AI_CONDITION_HPP
|
|
#define AI_CONDITION_HPP
|
|
|
|
#include "AI_Fuzzy.hpp"
|
|
#include "AI_TacticInterface.hpp"
|
|
#include "aiutils.hpp"
|
|
|
|
|
|
|
|
namespace MW4AI
|
|
{
|
|
namespace Conditions
|
|
{
|
|
Fuzzy ProjectileApproaching(TacticInterface& i, Stuff::Scalar min_distance = 0);
|
|
Fuzzy HittingSomethingElse(TacticInterface& i);
|
|
Fuzzy AnyWeaponReady(TacticInterface& i);
|
|
Fuzzy Fired(TacticInterface& i, Stuff::Scalar within_when = 5.0f);
|
|
Fuzzy TargetedByEnemy(TacticInterface& i, Stuff::Scalar duration = 0.8f);
|
|
Fuzzy Rammed(TacticInterface& i, Stuff::Scalar duration = 5.0f);
|
|
|
|
Fuzzy InsideRadiusOfTarget(TacticInterface& i,
|
|
Stuff::Scalar radius);
|
|
Fuzzy InsideRadiusOfTarget(TacticInterface&i,
|
|
Stuff::Scalar radius,
|
|
Stuff::Scalar when);
|
|
Fuzzy InsideRadiusOfRamTarget(TacticInterface& i,
|
|
Stuff::Scalar radius);
|
|
Fuzzy InsideWeaponsRadiusOfTarget(TacticInterface& i,
|
|
TacticInterface::WR_WHO who,
|
|
TacticInterface::WR_QUALIFIER type,
|
|
Stuff::Scalar multiplier = 1.0f);
|
|
Fuzzy InsidePercentileRangeOf(TacticInterface& i,
|
|
Stuff::Scalar percentile_range,
|
|
bool nearest_enemy = false);
|
|
Fuzzy PlayerWillHitMe(TacticInterface& i,
|
|
Stuff::Scalar seconds,
|
|
Stuff::Scalar threshold);
|
|
Fuzzy VehicleCrouching(TacticInterface& i);
|
|
Fuzzy VehicleMoving(TacticInterface& i);
|
|
Fuzzy ClusterFuckingSomeone(TacticInterface& i,
|
|
Stuff::Scalar radius = 10.0f);
|
|
Fuzzy FacingTarget(TacticInterface& i);
|
|
Fuzzy InFrontOfTarget(TacticInterface& i, bool fUseTorso = false);
|
|
Fuzzy JumpedWithin(TacticInterface& i, Stuff::Scalar duration);
|
|
bool Jumping(TacticInterface& i);
|
|
Fuzzy CanBeSeenByTarget(TacticInterface& i, Stuff::Scalar within_distance = 600.0f);
|
|
Fuzzy IsHighOffGround(TacticInterface& i);
|
|
|
|
Fuzzy EliteLevelBetween(TacticInterface& i, UserConstants::ID min, UserConstants::ID max);
|
|
Fuzzy AttackThrottleBetween(TacticInterface& i, Stuff::Scalar min, Stuff::Scalar max);
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // AI_CONDITION_HPP
|