# PredictionInput
# Description
A structure used to configure and set skill prediction parameters, including various properties of the skill, used to calculate the optimal casting position.
# How to Use
// Create prediction input parameters
PredictionInput input;
input.Unit = target; // Target hero
input.Delay = 0.25f; // Skill cast delay
input.Speed = 1600.f; // Skill projectile speed
input.Radius = 60.f; // Skill width/radius
input.Range = 1000.f; // Skill maximum range
input.Type = eSkillshotType::SkillshotLine; // Line skill
// Set the starting position (default is player position)
input.From_Set(ObjectManager::Player()->Position());
// Set whether to consider collisions
input.Collision = true;
input.CollisionObjects = { eCollisionableObjects::Minions, eCollisionableObjects::YasuoWall };
// Set whether it's an AOE skill
input.Aoe = false;
// Set whether to consider target hitbox
input.AddHitBox = true;
// Use Prediction class to perform prediction
PredictionOutput output = Prediction::GetPrediction(input);
// Check prediction result hit chance
if (output.Hitchance >= eHitChance::High)
{
// Cast skill at the predicted position
ObjectManager::Player()->CastSpell(eSpellSlot::Q, output.CastPosition());
}
# Properties
| Property | Type | Description |
|---|---|---|
| Aoe | bool | Whether it's an AOE skill |
| Collision | bool | Whether to consider collisions |
| CollisionObjects | std::vector<eCollisionableObjects> | Types of objects for collision detection |
| Delay | float | Skill cast delay (seconds) |
| Radius | float | Skill effect radius |
| Range | float | Skill maximum range |
| Speed | float | Skill projectile speed |
| Type | eSkillshotType | Skill type (line, circular, cone) |
| Unit | AIBaseClient* | Target unit for prediction |
| AddHitBox | bool | Whether to consider the target's hitbox |
# Methods
| Method | Return Type | Description |
|---|---|---|
| From() | Vector | Get the skill cast starting position |
| From_Set(Vector const& value) | void | Set the skill cast starting position |
| RangeCheckFrom() | Vector | Get the range check starting position |
| RangeCheckFrom_Set(Vector const& value) | void | Set the range check starting position |
| RealRadius() | float | Get the actual radius considering target hitbox |