Files
firestorm/Gameleap/code/mw4/Code/MW4/AI_Condition.hpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

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