Jump to content

laise

Members
  • Posts

    344
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by laise

  1. 49028 do not proc from autoattacks, I'm wondering where did you get information that it should proc from them?

    some forum related to retail..and this spell, it was described there that the weapon does it attacks when player attacks and also has its own autoattack..btw also saw somewhere that buffs are copied from player to weapon but idk if it is true..

  2. I've tried to implement the part where rune blade repeats any of it's owner's attacks, autoattacks work fine except the part that there is no way to know if DK made an attack with offhand weapon or mainhand..and the spell repeating part has another problem - melee based spells' damage is calculated in EffectWeaponDmg..i can add hacks there only for rune blade but it can cast other spells and I think some of their damage is also calculated in spellEffects..so...here's the code - http://pastebin.com/f63c56cbc everyone is welcome to help

    -- (49028) Dancing Rune Weapon ()
    DELETE FROM `spell_proc_event` WHERE `entry` IN (49028);
    INSERT INTO `spell_proc_event` VALUES
    (49028, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00010004, 0x00000000, 0.000000, 0.000000, 0);

  3. i know... After i've tested it... I love it... My old server was going so well but in the new patch alot of crashes.... So my server is almost dead... Making a new server... Please some one tell me where is the pvp kill handler in the code

    Player::RewardPlayerAndGroupAtKill(Unit* pVictim) ?

  4. I can't understand why you make a same check

    +                
    +                // Improved Blood Presence and Blood Presence
    +                if( (spellInfo_1->Id == 48266 && spellInfo_2->Id == 63611) ||
    +                  ( spellInfo_2->Id == 63611 && spellInfo_1->Id == 48266) )
    +                    return true;

    maybe better

    +                
    +                // Improved Blood Presence and Blood Presence
    +                if( (spellInfo_1->Id == 48266 && spellInfo_2->Id == 63611) ||
    +                  ( spellInfo_1->Id == 63611 && spellInfo_2->Id == 48266) )
    +                    return true;

    ?

    yeah..sorry xD .. idk if this part even needed cause the may replace each other anyway

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

    -fixes these spells

    For which repository revision was the patch created?

    -8713

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

    -haven't found any

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

    -me..

    Link:

    http://pastebin.com/f6ee590cc

    SQL

    -- (50365) Improved Blood Presence (Rank 1)
    DELETE FROM `spell_proc_event` WHERE `entry` IN (50365);
    INSERT INTO `spell_proc_event` VALUES
    (50365, 0x00, 15, 0x00018000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
    
    -- (50384) Improved Frost Presence (Rank 1)
    DELETE FROM `spell_proc_event` WHERE `entry` IN (50384);
    INSERT INTO `spell_proc_event` VALUES
    (50384, 0x00, 15, 0x00810000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
    
    -- (50391) Improved Unholy Presence (Rank 1)
    DELETE FROM `spell_proc_event` WHERE `entry` IN (50391);
    INSERT INTO `spell_proc_event` VALUES
    (50391, 0x00, 15, 0x00808000, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
    
    -- (48266) Blood Presence ()
    DELETE FROM `spell_proc_event` WHERE `entry` IN (48266);
    INSERT INTO `spell_proc_event` VALUES
    (48266, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00050014, 0x00010000, 0.000000, 0.000000, 0);
    
    -- (63611) Improved Blood Presence ()
    DELETE FROM `spell_proc_event` WHERE `entry` IN (63611);
    INSERT INTO `spell_proc_event` VALUES
    (63611, 0x00, 0, 0x00000000, 0x00000000, 0x00000000, 0x00050014, 0x00010000, 0.000000, 0.000000, 0);
    

    1)fixes improved blood,frost,unholy presences retaining part of original presence

    2)fixes blood presence itself (yes SPELL_AURA_MOD_DAMAGE_PERCENT_DONE should proc cause it has charges and/or procFlags in dbc)

    3)Blood Aura no longer exists(after 3.1)

    4)part of unholy presence related to rune cd might not work

    5)idk if honor/experience-only healing of blood presence is still relevant

  6. currently gm-only

    http://pastebin.com/f29c64bc0

    delete from command where name='aw';
    insert into command (name,security,help) values ('aw',2,'Syntax: .aw [$CharacterName] $text');
    
    delete from mangos_string where entry = 11000;
    insert into mangos_string (entry, content_default, content_loc1, content_loc2, content_loc3, content_loc4, content_loc5, content_loc6, content_loc7, content_loc8) values (11000, 'No character found online from this account', null, null, null, null, null, null, null, null);

  7. diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
    index dbe2269..5dfe6dd 100644
    --- a/src/game/SharedDefines.h
    +++ b/src/game/SharedDefines.h
    @@ -897,7 +897,7 @@ enum AuraState
        AURA_STATE_SWIFTMEND                    = 15,           //   T |
        AURA_STATE_DEADLY_POISON                = 16,           //   T |
        AURA_STATE_ENRAGE                       = 17,           // C   |
    -    //AURA_STATE_UNKNOWN18                  = 18,           // C  t|
    +    AURA_STATE_MECHANIC_BLEED               = 18,           // C  t|
        //AURA_STATE_UNKNOWN19                  = 19,           //     | not used
        //AURA_STATE_UNKNOWN20                  = 20,           //  c  | only (45317 Suicide)
        //AURA_STATE_UNKNOWN21                  = 21,           //     | not used
    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index 21e0270..b641c5e 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -1011,6 +1011,10 @@ void Aura::_AddAura()
                // Enrage aura state
                if(m_spellProto->Dispel == DISPEL_ENRAGE)
                    m_target->ModifyAuraState(AURA_STATE_ENRAGE, true);
    +      
    +           // Mechanic bleed aura state
    +           if(GetAllSpellMechanicMask(m_spellProto) & (1 << MECHANIC_BLEED))
    +               m_target->ModifyAuraState(AURA_STATE_MECHANIC_BLEED, true);
            }
        }
    }
    @@ -1125,6 +1129,11 @@ void Aura::_RemoveAura()
                        removeState = AURA_STATE_FAERIE_FIRE;   // Sting (hunter versions)
    
            }
    +    
    +        // Mechanic bleed aura state
    +        if(GetAllSpellMechanicMask(m_spellProto) & (1 << MECHANIC_BLEED))
    +            m_target->ModifyAuraState(AURA_STATE_MECHANIC_BLEED, false);
    +
            // Remove state (but need check other auras for it)
            if (removeState)
            {
    diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
    index 06718ce..c492f34 100644
    --- a/src/game/SpellEffects.cpp
    +++ b/src/game/SpellEffects.cpp
    @@ -1537,6 +1537,11 @@ void Spell::EffectDummy(uint32 i)
                        m_caster->CastSpell(m_caster, 45182, true);
                        return;
                    }
    +                case 51662:                                 // Hunger for Blood
    +                {
    +                    m_caster->CastSpell(m_caster, 63848, true);
    +                    return;
    +                }
                }
                break;
            case SPELLFAMILY_HUNTER:
    

  8. why change summon 67 name? just add new one ,

    check cast is not needed - effect summon already have a check for pet existence, don't add new case with same method, it should be like -

      
      case SUMMON_TYPE_SUMMON:
      case SUMMON_TYPE_SUMMON2:
                EffectSummon(i);
                break;
    

    and maybe a better describing name for a new summon type

  9. add new command... I think

    for(SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
       {
           if(!itr->second || !itr->second->GetPlayer() || !itr->second->GetPlayer()->IsInWorld() )
               continue;
    
        //  itr->second->GetPlayer()->CastSpell(); add spell params first
       }

    should be in it...but idk if that thing won't cause lags..

  10. like this?

    diff --git a/src/game/Language.h b/src/game/Language.h
    index 5b64cf5..c3d1963 100644
    --- a/src/game/Language.h
    +++ b/src/game/Language.h
    @@ -348,7 +348,7 @@ enum MangosStrings
        LANG_BAN_YOUBANNED                  = 408,
        LANG_BAN_YOUPERMBANNED              = 409,
        LANG_BAN_NOTFOUND                   = 410,
    -
    +    
        LANG_UNBAN_UNBANNED                 = 411,
        LANG_UNBAN_ERROR                    = 412,
    
    @@ -766,7 +766,9 @@ enum MangosStrings
        LANG_RESET_PET_TALENTS_ONLINE       = 1127,
        LANG_TAXINODE_ENTRY_LIST_CHAT       = 1128,
        LANG_TAXINODE_ENTRY_LIST_CONSOLE    = 1129,
    -    // Room for more level 3              1130-1199 not used
    +    LANG_BAN_WORLD_ANNOUNCE                = 1130,
    +    LANG_PERMBAN_WORLD_ANNOUNCE            = 1131,
    +    // Room for more level 3              1132-1199 not used
    
        // Debug commands
        LANG_CINEMATIC_NOT_EXIST            = 1200,
    diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp
    index 2da8326..0d6bb37 100644
    --- a/src/game/Level3.cpp
    +++ b/src/game/Level3.cpp
    @@ -5383,9 +5383,15 @@ bool ChatHandler::HandleBanHelper(BanMode mode, const char* args)
        {
            case BAN_SUCCESS:
                if(atoi(duration)>0)
    +            {
                    PSendSysMessage(LANG_BAN_YOUBANNED,nameOrIP.c_str(),secsToTimeString(TimeStringToSecs(duration),true).c_str(),reason);
    +                sWorld.SendWorldText(LANG_BAN_WORLD_ANNOUNCE,nameOrIP.c_str(),m_session ? m_session->GetPlayerName() : "",secsToTimeString(TimeStringToSecs(duration),true).c_str(),reason);
    +            }
                else
    +            {
                    PSendSysMessage(LANG_BAN_YOUPERMBANNED,nameOrIP.c_str(),reason);
    +                sWorld.SendWorldText(LANG_PERMBAN_WORLD_ANNOUNCE,nameOrIP.c_str(),m_session ? m_session->GetPlayerName() : "",reason);
    +            }
                break;
            case BAN_SYNTAX_ERROR:
                return false;
    

    delete from `mangos_string` where `entry`='1130';
    insert into `mangos_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) values('1130','|cffff0000[GM]:|r %s was banned by %s for %s. Reason: %s.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
    delete from `mangos_string` where `entry`='1131';
    insert into `mangos_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) values('1131','|cffff0000[GM]:|r %s was banned by %s for eternity. Reason: %s.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
    

  11. Hello there im also tryng to master c++ is mangos a good way to practice the knoweldge we aquire during the book reading we do or is there a better way to train code developing for starters?

    better start with ScriptDev2 , it's a lot easier to understand...at least for me =)

  12. so it should be something like

    diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
    index 0207f54..dab9096 100644
    --- a/src/game/SpellAuras.cpp
    +++ b/src/game/SpellAuras.cpp
    @@ -3234,6 +3234,22 @@ void Aura::HandleModFear(bool apply, bool Real)
            return;
    
        m_target->SetFeared(apply, GetCasterGUID(), GetId());
    +
    +       if(!apply)
    +       {
    +       // Nightmare
    +                  if(m_spellProto->EffectApplyAuraName[0] == SPELL_AURA_MOD_FEAR && m_spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK)
    +               {
    [color=Red]+               uint32 spell_id = 0;[/color]
    +               if(GetCaster() && GetCaster()->HasAura(53754, 0))
    +                      spell_id = 60946;
    +               if(GetCaster() && GetCaster()->HasAura(53759, 0))
    +                      spell_id = 60947;
    +               if(spell_id > 0)
    +                      m_target->CastSpell(m_target, spell_id, false);
    +               }
    +       }
    +
    } 

    or I missed the point?

×
×
  • 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