Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat(LuaEngine/SpellInfo): Add SpellInfo class and methods #231

Merged
merged 7 commits into from
Jan 25, 2025

Conversation

iThorgrim
Copy link

@iThorgrim iThorgrim commented Jan 24, 2025

This pull request introduces SpellInfo API in mod-Eluna. With the addition of numerous new methods, this update provides developers with enhanced flexibility and control over spell-related interactions.

Key Highlights

  1. Localization Support:

    • GetName: Retrieve spell names in different locales, making localization more accessible.
  2. Attributes and Mechanics:

    • HasAttribute: Check if a spell has a specific attribute.
    • GetAttributes: Retrieve all attributes of a spell.
    • IsAffectingArea: Determine if a spell affects an area (AoE).
    • GetCategory: Retrieve the spell’s category.
    • IsPositive / IsPositiveEffect: Identify whether a spell or its effects are beneficial.
  3. Targeting Enhancements:

    • CheckTarget and CheckExplicitTarget: Validate if a target meets the requirements for a spell.
    • NeedsExplicitUnitTarget: Check if a spell requires a specific target.
    • IsTargetingArea: Verify if a spell targets an area.
  4. Aura and Effect Insights:

    • HasAura / HasEffect: Check for specific auras or effects.
    • HasAreaAuraEffect: Validate if a spell has an area-based aura.
    • IsAuraExclusiveBySpecificWith: Ensure exclusivity of an aura.
  5. Profession and Skill Integration:

    • Methods such as IsProfession, IsPrimaryProfession, and IsAbilityLearnedWithProfession enhance interactions with professions and skills.
  6. Miscellaneous Features:

    • IsPassive: Determine if a spell is passive.
    • IsChanneled: Identify channeled spells.
    • NeedsComboPoints: Check if a spell requires combo points.
    • IsSelfCast: Validate self-casting spells.
  7. Advanced Mechanics:

    • CanPierceImmuneAura and CanDispelAura: Manage interactions with immune or dispellable auras.
    • CheckLocation: Verify if a spell can be used in a specific map, zone, or area.
    • GetSchoolMask: Retrieve the school of magic associated with a spell.

@55Honey 55Honey merged commit 0d35a87 into azerothcore:master Jan 25, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants