PLACE IN COMMON FOLDER!
## 🚀 Features
### Core Prediction System
- **Advanced Movement Analysis**: Analyzes enemy movement patterns for more accurate predictions
- **Smart Dash Prediction**: Predicts enemy positions during dashes and mobility spells
- **Path Smoothing**: Smooths movement paths for better prediction accuracy
- **2D Optimized**: Fully optimized for 2D calculations for better performance
### Special Detection Systems
- **Zhonya's Hourglass Detection**: Automatically detects invulnerability states
- **Yasuo Wall Detection**: Smart detection and collision checking for Yasuo's Wind Wall
- **Reaction Time Calculation**: Accounts for enemy reaction times in predictions
### Collision System
- **Multi-type Collision**: Supports minions, heroes, and special objects
- **Yasuo Wall Collision**: Advanced geometry calculations for Wind Wall interactions
- **Optimized Performance**: Fast collision detection with minimal performance impact
PLACE IN COMMON FOLDER!
FOR DEVS
### Basic Setup
```lua
-- Load the prediction library
require("DepressivePrediction")
-- Access the global API
local Prediction = _G.DepressivePrediction
```
### Simple Prediction
```lua
-- Get basic prediction for a target
local target = GetTarget()
local source = myHero.pos
local speed = 1200 -- Projectile speed
local delay = 0.25 -- Cast delay
local radius = 80 -- Spell radius
local unitPos, castPos, timeToHit = Prediction.GetPrediction(target, source, speed, delay, radius)
if castPos then
-- Cast your spell at castPos
Control.CastSpell(HK_Q, castPos)
end
```
### Advanced Spell Prediction
```lua
-- Create a spell configuration
local spell = Prediction.SpellPrediction({
Type = Prediction.SPELLTYPE_LINE, -- Line skillshot
Speed = 1200, -- Projectile speed
Range = 1000, -- Max range
Delay = 0.25, -- Cast delay
Radius = 80, -- Spell width/radius
Collision = true, -- Enable collision detection
CollisionTypes = { -- What to check collision with
Prediction.COLLISION_MINION,
Prediction.COLLISION_ENEMYHERO
}
})
-- Use the spell prediction
local result = spell:GetPrediction(target, myHero.pos)
if result.HitChance >= Prediction.HITCHANCE_HIGH then
Control.CastSpell(HK_Q, result.CastPosition)
end
```
## 🎯 Hit Chance Values
The prediction system uses these hit chance values to indicate prediction accuracy:
```lua
HITCHANCE_IMPOSSIBLE = 0 -- Cannot hit (out of range, behind wall, etc.)
HITCHANCE_COLLISION = 1 -- Will collide with something
HITCHANCE_LOW = 2 -- Low chance to hit
HITCHANCE_NORMAL = 3 -- Normal chance to hit
HITCHANCE_HIGH = 4 -- High chance to hit
HITCHANCE_VERYHIGH = 5 -- Very high chance to hit
HITCHANCE_IMMOBILE = 6 -- Target is immobile (stunned, etc.)
```
## 🔧 Configuration Options
The library includes an in-game menu with these options:
- **Pred Max Range %**: Adjust maximum prediction range (70-100%)
- **Ping/Latency**: Your ping compensation (0-200ms)
- **Extra Delay**: Additional delay compensation (0-100ms)
- **Advanced Movement Analysis**: Enable advanced movement pattern analysis
- **Path Smoothing**: Enable path smoothing for better accuracy
- **Enemy Reaction Time**: Expected enemy reaction time (50-300ms)
- **Show Prediction Visuals**: Display prediction indicators
- **Smart Dash Prediction**: Predict dash movements
- **Zhonya's/Invuln Detection**: Detect invulnerability states
- **Auto Yasuo Wall Detection**: Automatically detect Yasuo walls