Jump to content

breakwater

Members
  • Posts

    166
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by breakwater

  1. Spells this will need a check

    Spells with are effected by this patch:

    SELECT * FROM `dbc-spell` WHERE

    (`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA2 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB2 and `dbc-spell`.EffectImplicitTargetA1 != 0) or

    (`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB3 and `dbc-spell`.EffectImplicitTargetA3 != 0) or

    (`dbc-spell`.EffectImplicitTargetA2 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB2 = `dbc-spell`.EffectImplicitTargetB3 and `dbc-spell`.EffectImplicitTargetA2 != 0)

    Spells affected in Wotlk: 11728

    Spells with are effected by this patch and with an different radius value:

    Spells that can make problems because spell target mask is same, but radius value has an other value

    SELECT * FROM `dbc-spell` WHERE

    (`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA2 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB2 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect2 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex2) or

    (`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex3) or

    (`dbc-spell`.EffectImplicitTargetA2 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB2 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect2 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex2 != `dbc-spell`.EffectRadiusIndex3)SELECT * FROM `dbc-spell` WHERE

    (`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA2 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB2 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect2 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex2) or

    (`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex3) or

    (`dbc-spell`.EffectImplicitTargetA2 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB2 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect2 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex2 != `dbc-spell`.EffectRadiusIndex3)

    Spells affected in Wotlk: 216

    EDIT:

    A lot of Wotlk spells are fixed with this patch, because some effects has no radius (Example 72015, 72836)

    Spells with makes problems:

    often classic spells like:

    6266,

    3143,

    8150,

    10253

  2. MANGOS_DLL_SPEC uint32 urand(uint32 min, uint32 max); ???

    i think the urand(...) funcion should use direct in sd2

    like this one

    m_uiEyebeam_Timer = 10000 + urand(1000, 5000);

    This works realy good, you doesn't need MANGOS_DLL_SPEC

  3. What bug does the patch fix? What features does the patch add?

    For preventing an double calculation for effects with same targets

    For which repository revision was the patch created?

    actual, but i think for all

    Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

    not know

    Who has been writing this patch? Please include either forum user names or email addresses.

    me

    Patch:

    http://paste2.org/p/1961898

    new System with pointer

    http://paste2.org/p/1975602

    Most target calculation of area spells are unnecessary.

    Spells with more then one spell effect with the same target mask and maybe an limitation works now right (limitation in function SetTargetMap(...))

    Example Spells:

    64218

    63342

    69674

    Sry my english is bad, i hope you understand my idea.

  4. Take a deep and long look into mangos core code. Use the search functions in your favorite IDE(for OS windows ->visual c++). Good words for search are spellscript, achievement...)

    Maybe someone other ask the same question, use google for a good search in this forum. The original forum is stupid (30 seconds between searches; stupid solutions).

    Maybe you should fix some easier thinks, achievements are complex

  5. IsReachable is already in mmaps.

    at the moment i have found this call in bool Unit::SelectHostileTarget()

    // check if currently selected target is reachable

    // NOTE: path alrteady generated from AttackStart()

    if(!GetMotionMaster()->operator->()->IsReachable())

    {

  6. why the check target == PLAYER?

    I think that's unnecessary.

    I think the remove is wrong, because the player with 0 mana should die in explosion. If one player with 0 mana have 15k life, this player is alive after explosion (Basepoints from Explosion BasePoints = 10213 to 11288). But without remove the player dies in next tick :).

    + switch (GetId())

    + {

    + case 31447: // Mark of Kaz'rogal

    + {

    + if (target->getPowerType() == POWER_MANA && target->GetPower(POWER_MANA) == 0)

    + {

    + target->CastSpell(target, 31463, true, NULL, this);

    + }

    + break;

    + }

    + }

    NOT TESTET

  7. * What bug does the patch fix? What features does the patch add?

    add a new TemporarySummon Type

    * For which repository revision was the patch created?

    for a lot of :)

    * Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

    no

    * Who has been writing this patch? Please include either forum user names or email addresses.

    me

    https://github.com/mangosR2/mangos/commit/90b054874e4fcc00beae426d93b76cc7879a0d0c

    In my eyes good for manuell summon in scripts.

    Example: Boss summon add, this add despawn when corpse vanish or add is a specific time outfight(if bossfight fails)

    Best time in my eyes 2-5 minutes

  8. I have make a big mistake, it was late and i have change combatreach, but the meaning of combatreach is clear.

    I have change me core to thisone. Boundingradius has a max value of 2. I hope that helps against wrong movement

    
    void Unit::UpdateModelData() {
        if (CreatureModelInfo const* modelInfo = sObjectMgr.GetCreatureModelInfo(GetDisplayId()))
        {
            // we expect values in database to be relative to scale = 1.0
            SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, GetObjectScale() * modelInfo->bounding_radius < 2.0f ? GetObjectScale() * modelInfo->bounding_radius : 2.0f);
             // never actually update combat_reach for player, it's always the same. Below player case is for initialization
            if (GetTypeId() == TYPEID_PLAYER)
                SetFloatValue(UNIT_FIELD_COMBATREACH, 1.5f);
            else             SetFloatValue(UNIT_FIELD_COMBATREACH, GetObjectScale() * modelInfo->combat_reach);
        }
    }
    

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use