# eEvadeData

# Description

A structure used to represent information about skills that need to be evaded, including various properties and states of the skill.

# How to Use

// Check for skills about to hit
std::vector<Evade::eEvadeData> dangerousSkills;
Evade::IsAboutToHit(dangerousSkills, ObjectManager::Player()->Position(), 250);

// Iterate through all skills that might hit
for (const auto& skill : dangerousSkills)
{
    // Get skill information
    const char* skillName = skill.MenuName;
    AIBaseClient* caster = skill.Caster;
    Vector skillStart = skill.Start;
    Vector skillEnd = skill.End;
    
    // Check skill type
    if (skill.Type == Evade::eEvadeSkillShotType::SkillshotCircle)
    {
        // Handle circular skills
    }
    
    // Check if it's a dangerous skill
    if (skill.IsDangerous && skill.IsDangerous->GetBool())
    {
        // This is a dangerous skill, prioritize evading
    }
}

// Use path safety check
std::vector<Vector> path = { ObjectManager::Player()->Position(), targetPosition };
bool isSafe = Evade::IsPathSafe(path, 500);
if (isSafe)
{
    // Safe to move
}

# Properties

Property Type Description
MenuName const char* Skill name displayed in the menu
ChampionName std::uint32_t Hash value of the champion name casting the skill
Slot eSpellSlot Skill slot
ControlType int Control type (0=None, 1=Hard CC, 2=Slow)
Type eEvadeSkillShotType Skill type (line, circle, cone, etc.)
IsDangerous MenuOption* Menu option for whether the skill is dangerous
Enabled MenuOption* Menu option for whether evading is enabled
DangerLevel MenuOption* Menu option for danger level
Evade bool Whether evading is needed
Damage float Skill damage
Caster AIBaseClient* Skill caster
Start Vector Skill start position
End Vector Skill end position
Direction Vector Skill direction