Page 5 of 7 FirstFirst 1234567 LastLast
Results 61 to 75 of 91

Thread: Bugs Fixing

http://idgs.in/581078
  1. #61
    secreal's Avatar
    Join Date
    Oct 2006
    Location
    bogor
    Posts
    1,533
    Points
    36,503.74
    Thanks: 322 / 346 / 156

    Default

    overridenya udah bisa, tapi spell soul swapnya tetep ga jalan..

  2. Hot Ad
  3. #62
    secreal's Avatar
    Join Date
    Oct 2006
    Location
    bogor
    Posts
    1,533
    Points
    36,503.74
    Thanks: 322 / 346 / 156

    Default

    resillience masih error?
    ini uda diapply dari 2 bulan lalu ternyata...

    Quote Originally Posted by Achernar_Altair View Post
    Description : good bye bug abuser, no more Bloodthirsty user rusuh2 berasa dewa di hit damage masuk tinggal 1/4 apa cobak, with this fix, combat rating formula udah difix jadi formula Cata, bukan formula Wotlk sperti skarang

    Reference : here

    Code : spertinya this code goes to /src/server/game/Entities/Unit/Unit.cpp, not really sure karena g dikasih penjelasan

    Spoiler untuk C++ :

    Code:
    From 732d4af506bdddf0bad638b2737517bf5dc9502c Mon Sep 17 00:00:00 2001
    From: Northstrider <[email protected]>
    Date: Wed, 6 Feb 2013 19:13:31 +0100
    Subject: [PATCH] Core/Units: updated combat damage reduction to cataclysm.
     this will fix the relisience damage bug.
    
    ---
     src/server/game/Entities/Unit/Unit.cpp |   21 +++++++++++++--------
     1 file changed, 13 insertions(+), 8 deletions(-)
    
    diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
    index 37fbf93..17516d7 100644
    --- a/src/server/game/Entities/Unit/Unit.cpp
    +++ b/src/server/game/Entities/Unit/Unit.cpp
    @@ -15741,20 +15741,25 @@ void Unit::KnockbackFrom(float x, float y, float speedXY, float speedZ)
     
     float Unit::GetCombatRatingReduction(CombatRating cr) const
     {
    -    if (Player const* player = ToPlayer())
    -        return player->GetRatingBonusValue(cr);
    -    // Player's pet get resilience from owner
    -    else if (isPet() && GetOwner())
    -        if (Player* owner = GetOwner()->ToPlayer())
    -            return owner->GetRatingBonusValue(cr);
    +    if (GetTypeId() == TYPEID_PLAYER)
    +        return ((Player const*)this)->GetRatingBonusValue(cr);
    +    else if (((Creature const*)this)->isPet())
    +    {
    +        // Player's pet get resilience from owner
    +        if (Unit* owner = GetOwner())
    +            if (owner->GetTypeId() == TYPEID_PLAYER)
    +                return ((Player*)owner)->GetRatingBonusValue(cr);
    +    }
     
         return 0.0f;
     }
     
     uint32 Unit::GetCombatRatingDamageReduction(CombatRating cr, float rate, float cap, uint32 damage) const
     {
    -    float percent = std::min(GetCombatRatingReduction(cr) * rate, cap);
    -    return CalculatePct(damage, percent);
    +    float percent = GetCombatRatingReduction(cr) * rate;
    +    if (percent > cap)
    +        percent = cap;
    +    return uint32 (percent * damage / 100.0f);
     }
     
     uint32 Unit::GetModelForForm(ShapeshiftForm form) const
    -- 
    1.7.10.msysgit.1



    Status : jelas blom saya test sendiri

  4. #63

    Join Date
    Feb 2012
    Posts
    86
    Points
    146.21
    Thanks: 3 / 7 / 4

    Default

    Quote Originally Posted by secreal View Post
    overridenya udah bisa, tapi spell soul swapnya tetep ga jalan..
    gk jalan ny pas dmn??

    pas ngambil dot?? apa pas exhale ny?

  5. #64
    secreal's Avatar
    Join Date
    Oct 2006
    Location
    bogor
    Posts
    1,533
    Points
    36,503.74
    Thanks: 322 / 346 / 156

    Default

    Quote Originally Posted by bloodyx View Post
    gk jalan ny pas dmn??

    pas ngambil dot?? apa pas exhale ny?
    nah itu dia gw ga ngerti itu spell bwt apa
    klo dicast gitu aja kgk ada efek apa2
    lalu exhale itu apa...

  6. #65
    rize_death's Avatar
    Join Date
    Aug 2009
    Posts
    477
    Points
    244.42
    Thanks: 33 / 75 / 26

    Default

    Asli ga ngerti sedikitpun, cm coba2 nyari doang.
    Nemuny bginian
    http://www.ac-web.org/forums/showthr...m-Repack-V15-0
    http://www.ownedcore.com/forums/arch...php/f-131.html
    Bsa membantu ga ya?

  7. #66

    Join Date
    Feb 2012
    Posts
    86
    Points
    146.21
    Thanks: 3 / 7 / 4

    Default

    Quote Originally Posted by secreal View Post
    nah itu dia gw ga ngerti itu spell bwt apa
    klo dicast gitu aja kgk ada efek apa2
    lalu exhale itu apa...
    ohh...

    jd coba ny gini,,
    unstable affliction + corruption + bane of agony uda nempel dulu di target1,,
    trus pencet skill soul swap ke target1 nnti ada buff yg proc,,

    // yg ini soul swap exhale
    trus pencet lg skill soul swap ke target2 (yg gk ada debuff sama sx),,
    klo bener2 jalan, target2 bakal ada unstable affliction + corruption + bane of agony,,


    note : nyobanya pake glyph soul swap,,,

  8. #67
    secreal's Avatar
    Join Date
    Oct 2006
    Location
    bogor
    Posts
    1,533
    Points
    36,503.74
    Thanks: 322 / 346 / 156

    Default

    Quote Originally Posted by rize_death View Post
    Asli ga ngerti sedikitpun, cm coba2 nyari doang.
    Nemuny bginian
    http://www.ac-web.org/forums/showthr...m-Repack-V15-0
    http://www.ownedcore.com/forums/arch...php/f-131.html
    Bsa membantu ga ya?
    itu mah repack bro
    repack itu sourcenya ga bisa kita liat karena udah dikasih dlm bentuk compile

    Quote Originally Posted by bloodyx View Post
    ohh...

    jd coba ny gini,,
    unstable affliction + corruption + bane of agony uda nempel dulu di target1,,
    trus pencet skill soul swap ke target1 nnti ada buff yg proc,,

    // yg ini soul swap exhale
    trus pencet lg skill soul swap ke target2 (yg gk ada debuff sama sx),,
    klo bener2 jalan, target2 bakal ada unstable affliction + corruption + bane of agony,,


    note : nyobanya pake glyph soul swap,,,
    barusan dicoba, dan ternyata gagal
    wkwk, besok lagi kali coba intip2 scriptnya

  9. #68
    nyonglapanuntu's Avatar
    Join Date
    Aug 2013
    Posts
    90
    Points
    -2.06
    Thanks: 43 / 1 / 1

    Default

    tetap semangat om GM kita dukung dalam doa



    mau donasi blum bisa gaji sebulan masi pas2an..


  10. #69

    Join Date
    Feb 2012
    Posts
    86
    Points
    146.21
    Thanks: 3 / 7 / 4

    Default

    Quote Originally Posted by secreal View Post
    itu mah repack bro
    repack itu sourcenya ga bisa kita liat karena udah dikasih dlm bentuk compile



    barusan dicoba, dan ternyata gagal
    wkwk, besok lagi kali coba intip2 scriptnya
    gagalny knp??

  11. #70
    secreal's Avatar
    Join Date
    Oct 2006
    Location
    bogor
    Posts
    1,533
    Points
    36,503.74
    Thanks: 322 / 346 / 156

    Default

    soul swapnya cuma cast2 doang, ga keluar efek apa2
    makanya situ nicknya apa biar didaftarin di test server biar bisa bantu nyoba

  12. #71
    Bobbie's Avatar
    Join Date
    Mar 2007
    Location
    ???
    Posts
    885
    Points
    768.59
    Thanks: 31 / 20 / 17

    Default

    Quote Originally Posted by secreal View Post
    resillience masih error?
    ini uda diapply dari 2 bulan lalu ternyata...
    resilience kayaknya masih error,,gebuk yg full resi reduce damagenya parah bgt, berasa reduce damage 75%...
    oo iya skalian request :
    tolong dibenerin attack power dong...semua yg berhubungan ama attack power ga jalan, kayak buff2 n talent yg increase attack power, enchant2 yg proc attack power jg (landslide, shadowguard embroider) dll
    Last edited by Bobbie; 14-08-13 at 22:06.

  13. #72

    Join Date
    Feb 2012
    Posts
    86
    Points
    146.21
    Thanks: 3 / 7 / 4

    Default

    Quote Originally Posted by Bobbie View Post
    resilience kayaknya masih error,,gebuk yg full resi reduce damagenya parah bgt, berasa reduce damage 75%...
    oo iya skalian request :
    tolong dibenerin attack power dong...semua yg berhubungan ama attack power ga jalan, kayak buff2 n talent yg increase attack power, enchant2 yg proc attack power jg (lanslide, shadowguard embroider) dll
    resi kyk ny uda bener d,,, yg error itu beberapa scale healing ama damage ny kekecilan aj,, makany berasa alot bener

  14. #73
    Zorc-'s Avatar
    Join Date
    Feb 2013
    Posts
    758
    Points
    17,986.95
    Thanks: 69 / 3 / 2

    Default

    Bro gw gk bisa edit post nih kapan ya di fixnya ???

  15. #74
    secreal's Avatar
    Join Date
    Oct 2006
    Location
    bogor
    Posts
    1,533
    Points
    36,503.74
    Thanks: 322 / 346 / 156

    Default

    Quote Originally Posted by bloodyx View Post
    --- SOUL SWAP ---

    di database
    Spoiler untuk database :
    Code:
    DELETE FROM spell_script_names WHERE spell_id IN (86121, 86211, 92795, 86213);
    INSERT INTO spell_script_names (spell_id, ScriptName) VALUES
    (86121, "spell_warlock_soul_swap"),
    (86211, "spell_warlock_soul_swap_override"),
    (92795, "spell_warlock_soul_swap_dot_marker"),
    (86213, "spell_warlock_soul_swap_exhale");


    kemudian di spell_warlock.cpp
    Spoiler untuk spell_warlock.cpp :
    di bagian enum WarlockSpells tambahin
    Spoiler untuk enumWarlockSpells :
    Code:
    SPELL_WARLOCK_GLYPH_OF_SOUL_SWAP                = 56226,
    SPELL_WARLOCK_SOUL_SWAP_CD_MARKER               = 94229,
    SPELL_WARLOCK_SOUL_SWAP_OVERRIDE                = 86211,
    SPELL_WARLOCK_SOUL_SWAP_MOD_COST                = 92794,
    SPELL_WARLOCK_SOUL_SWAP_DOT_MARKER              = 92795


    terus tambahin ini
    Code:
    // 86121 - Soul Swap
    class spell_warl_soul_swap : public SpellScriptLoader
    {
    public:
        spell_warl_soul_swap() : SpellScriptLoader("spell_warl_soul_swap") { }
    
        class spell_warl_soul_swap_SpellScript : public SpellScript
        {
            PrepareSpellScript(spell_warl_soul_swap_SpellScript);
    
            bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
            {
                if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_GLYPH_OF_SOUL_SWAP)
                    || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_CD_MARKER)
                    || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE))
                    return false;
                return true;
            }
    
            void HandleHit(SpellEffIndex /*effIndex*/)
            {
                GetCaster()->CastSpell(GetCaster(), SPELL_WARLOCK_SOUL_SWAP_OVERRIDE, true);
                GetHitUnit()->CastSpell(GetCaster(), SPELL_WARLOCK_SOUL_SWAP_DOT_MARKER, true);
            }
    
            void Register() OVERRIDE
            {
                OnEffectHitTarget += SpellEffectFn(spell_warl_soul_swap_SpellScript::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
            }
        };
    
        SpellScript* GetSpellScript() const OVERRIDE
        {
            return new spell_warl_soul_swap_SpellScript();
        }
    };
    
    // 86211 - Soul Swap Override
    class spell_warl_soul_swap_override : public SpellScriptLoader
    {
    public:
        spell_warl_soul_swap_override() : SpellScriptLoader("spell_warl_soul_swap_override") { }
    
        class spell_warl_soul_swap_override_AuraScript : public AuraScript
        {
            PrepareAuraScript(spell_warl_soul_swap_override_AuraScript);
    
            bool Load() OVERRIDE
            {
                swapCaster = NULL;
                return true;
            }
    
            //! Forced to, pure virtual functions must have a body when linking
            void Register() OVERRIDE { }
    
        public:
            void AddDot(uint32 id)                          { dotList.push_back(id); }
            std::list<uint32> const GetDotList() const      { return dotList; }
            Unit* GetOriginalSwapSource() const             { return swapCaster; }
            void SetOriginalSwapSource(Unit* victim)        { swapCaster = victim; }
    
        private:
            std::list<uint32> dotList;
            Unit* swapCaster;
        };
    
        AuraScript* GetAuraScript() const OVERRIDE
        {
            return new spell_warl_soul_swap_override_AuraScript();
        }
    };
    
    typedef spell_warl_soul_swap_override::spell_warl_soul_swap_override_AuraScript SoulSwapOverrideAuraScript;
    
    //Soul Swap Copy Spells - 92795
    class spell_warl_soul_swap_dot_marker : public SpellScriptLoader
    {
    public:
        spell_warl_soul_swap_dot_marker() : SpellScriptLoader("spell_warl_soul_swap_dot_marker") { }
    
        class spell_warl_soul_swap_dot_marker_SpellScript : public SpellScript
        {
            PrepareSpellScript(spell_warl_soul_swap_dot_marker_SpellScript);
    
            void HandleHit(SpellEffIndex effIndex)
            {
                Unit* swapVictim = GetCaster();
                Unit* warlock    = GetHitUnit();
                if (!warlock || !swapVictim)
                    return;
    
                flag96 classMask = GetSpellInfo()->Effects[effIndex].SpellClassMask;
    
                Unit::AuraApplicationMap const& appliedAuras = swapVictim->GetAppliedAuras();
                SoulSwapOverrideAuraScript* swapSpellScript = NULL;
                if (Aura* swapOverrideAura = warlock->GetAura(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE))
                    swapSpellScript = dynamic_cast<SoulSwapOverrideAuraScript*>(swapOverrideAura->GetScriptByName("spell_warlock_soul_swap_override"));
    
                if (swapSpellScript == NULL)
                    return;
    
                for (Unit::AuraApplicationMap::const_iterator itr = appliedAuras.begin(); itr != appliedAuras.end(); ++itr)
                {
                    SpellInfo const* spellProto = itr->second->GetBase()->GetSpellInfo();
                    if (itr->second->GetBase()->GetCaster() == warlock)
                        if (spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK && (spellProto->SpellFamilyFlags & classMask))
                            swapSpellScript->AddDot(itr->first);
                }
    
                swapSpellScript->SetOriginalSwapSource(swapVictim);
            }
    
            void Register() OVERRIDE
            {
                OnEffectHitTarget += SpellEffectFn(spell_warl_soul_swap_dot_marker_SpellScript::HandleHit, EFFECT_0, SPELL_EFFECT_DUMMY);
            }
        };
    
        SpellScript* GetSpellScript() const OVERRIDE
        {
            return new spell_warl_soul_swap_dot_marker_SpellScript();
        }
    };
    
    // 86213 - Soul Swap Exhale
    class spell_warl_soul_swap_exhale : public SpellScriptLoader
    {
    public:
        spell_warl_soul_swap_exhale() : SpellScriptLoader("spell_warl_soul_swap_exhale") { }
    
        class spell_warl_soul_swap_exhale_SpellScript : public SpellScript
        {
            PrepareSpellScript(spell_warl_soul_swap_exhale_SpellScript);
    
            bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE
            {
                if (!sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_MOD_COST) || !sSpellMgr->GetSpellInfo(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE))
                    return false;
                return true;
            }
    
            SpellCastResult CheckCast()
            {
                Unit* currentTarget = GetExplTargetUnit();
                Unit* swapTarget = NULL;
                if (Aura const* swapOverride = GetCaster()->GetAura(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE))
                    if (SoulSwapOverrideAuraScript* swapScript = dynamic_cast<SoulSwapOverrideAuraScript*>(swapOverride->GetScriptByName("spell_warlock_soul_swap_override")))
                        swapTarget = swapScript->GetOriginalSwapSource();
    
                // Soul Swap Exhale can't be cast on the same target than Soul Swap
                if (swapTarget && currentTarget && swapTarget == currentTarget)
                    return SPELL_FAILED_BAD_TARGETS;
    
                return SPELL_CAST_OK;
            }
    
            void OnEffectHit(SpellEffIndex /*effIndex*/)
            {
                GetCaster()->CastSpell(GetCaster(), SPELL_WARLOCK_SOUL_SWAP_MOD_COST, true);
                bool hasGlyph = GetCaster()->HasAura(SPELL_WARLOCK_GLYPH_OF_SOUL_SWAP);
    
                std::list<uint32> dotList;
                Unit* swapSource = NULL;
                if (Aura const* swapOverride = GetCaster()->GetAura(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE))
                {
                    SoulSwapOverrideAuraScript* swapScript = dynamic_cast<SoulSwapOverrideAuraScript*>(swapOverride->GetScriptByName("spell_warlock_soul_swap_override"));
                    if (!swapScript)
                        return;
                    dotList = swapScript->GetDotList();
                    swapSource = swapScript->GetOriginalSwapSource();
                }
    
                if (dotList.empty())
                    return;
    
                for (std::list<uint32>::const_iterator itr = dotList.begin(); itr != dotList.end(); ++itr)
                {
                    GetCaster()->AddAura(*itr, GetHitUnit());
                    if (!hasGlyph && swapSource)
                        swapSource->RemoveAurasDueToSpell(*itr);
                }
    
                // Remove Soul Swap Exhale buff
                GetCaster()->RemoveAurasDueToSpell(SPELL_WARLOCK_SOUL_SWAP_OVERRIDE);
    
                if (hasGlyph) // Add a cooldown on Soul Swap if caster has the glyph
                    GetCaster()->CastSpell(GetCaster(), SPELL_WARLOCK_SOUL_SWAP_CD_MARKER, false);
            }
    
            void Register() OVERRIDE
            {
                OnCheckCast += SpellCheckCastFn(spell_warl_soul_swap_exhale_SpellScript::CheckCast);
                OnEffectHitTarget += SpellEffectFn(spell_warl_soul_swap_exhale_SpellScript::OnEffectHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
            }
        };
    
        SpellScript* GetSpellScript() const OVERRIDE
        {
            return new spell_warl_soul_swap_exhale_SpellScript();
        }
    };

    terus di bagian AddSC_warlock_spell_scripts tambahin
    Spoiler untuk AddSC_warlock_spell_scripts :
    Code:
    new spell_warl_soul_swap();
    new spell_warl_soul_swap_dot_marker();
    new spell_warl_soul_swap_exhale();
    new spell_warl_soul_swap_override();
    ini gw **** amat ya maen pake2 ga dibaca
    akwkawkawkaw
    itu...
    spell_warl_soul_swap() : SpellScriptLoader("spell_warl_soul_swap") { }
    tapi di DBnya (86121, "spell_warlock_soul_swap"),
    @_@ pantesan kgk keproc2

    soul swapnya uda jalan, exhalenya uda bisa
    tapi dotnya ga pindah ke momon yg 1 lg

  16. #75

    Join Date
    Feb 2012
    Posts
    86
    Points
    146.21
    Thanks: 3 / 7 / 4

    Default

    Quote Originally Posted by secreal View Post
    ini gw **** amat ya maen pake2 ga dibaca
    akwkawkawkaw
    itu...
    spell_warl_soul_swap() : SpellScriptLoader("spell_warl_soul_swap") { }
    tapi di DBnya (86121, "spell_warlock_soul_swap"),
    @_@ pantesan kgk keproc2

    soul swapnya uda jalan, exhalenya uda bisa
    tapi dotnya ga pindah ke momon yg 1 lg
    cek pm dong

Page 5 of 7 FirstFirst 1234567 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •