Jump to content

amaru

Members
  • Posts

    80
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by amaru

  1. CastPetAuras is called when creating pet by it's owner.

    CastPetAura is called from last function and on applying related dummy aura to owner.

    We are interested in in first only, because minipets, guardian pets, protector pets are 'Pet' too.

    thats the wrong place, maybe we should cancel all spells on mini pet in Spell:CheckTarget-function

    I have never looked at related code - but will this have impact (desired, undesired) onto

    * warlocks?

    * ghools?

    * some exotic "pets" like shaman wolfes?

    warlock's pets are SUMMON_PET's, they currently have no HUNTER_PET's so no effect

    hunter's pets are HUNTER_PET's, they currently have no SUMMON_PET's so no effect

    dk pets are GUARDIAN_PET and SUMMON_PET, but db table spell_pet_auras is not used currently with dks and there is no appropriate dk talents for this.

    shaman pets are GUARDIAN_PET and also shaman doesn't have any talents to be suitable for table spell_pet_auras

    my opinion:

    thats the wrong place, maybe we should cancel all spells on mini pet in Spell:CheckTarget-function

    there auras are casted by pets on oneselves, so the only way is check like in my patch or add collumn to spell_pet_auras with desired pet type
  2. * What bug does the patch fix? What features does the patch add?

    Entries from pet_spell_auras (hunter ferocious inspiration, kindred spirits, etc) are applied to non-combat pets also.

    * For which repository revision was the patch created?

    11959

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

    don't know

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

    me

    http://paste2.org/p/1978245

    Index: C:/wr-core_temp/test-zone/code/src/game/Pet.cpp
    ===================================================================
    --- C:/wr-core_temp/test-zone/code/src/game/Pet.cpp	(revision 6371)
    +++ C:/wr-core_temp/test-zone/code/src/game/Pet.cpp	(revision 6372)
    @@ -2074,6 +2074,9 @@
        if(!owner || owner->GetTypeId()!=TYPEID_PLAYER)
            return;
    
    +    if (getPetType() != HUNTER_PET && getPetType() != SUMMON_PET)
    +        return;
    +
        for(PetAuraSet::const_iterator itr = owner->m_petAuras.begin(); itr != owner->m_petAuras.end()
        {
            PetAura const* pa = *itr;
    @@ -2092,6 +2095,9 @@
        if(!auraId)
            return;
    
    +    if (getPetType() != HUNTER_PET && getPetType() != SUMMON_PET)
    +        return;
    +
        switch(auraId)
        {
            case 35696:         // Demonic Knowledge
    

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

    When a gm, who's ported to a battleground, log out in it, he's added to battleground players.

    As a result:

    - When gm logs in, it may appear one of raid groups.

    - When battleground is arena, and remaining players fight 1x1, gm's logout make random team win arena. If it's 2x1, it _may_ lead to win.

    * For which repository revision was the patch created?

    11959

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

    don't know

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

    me

    http://paste2.org/p/1978844

    Index: C:/wr-core_temp/test-zone/code/src/game/WorldSession.cpp
    ===================================================================
    --- C:/wr-core_temp/test-zone/code/src/game/WorldSession.cpp	(revision 6365)
    +++ C:/wr-core_temp/test-zone/code/src/game/WorldSession.cpp	(revision 6366)
    @@ -418,7 +418,10 @@
    
            //drop a flag if player is carrying it
            if(BattleGround *bg = _player->GetBattleGround())
    -            bg->EventPlayerLoggedOut(_player);
    +            if (bg->IsPlayerInBattleGround(_player->GetObjectGuid()))
    +                bg->EventPlayerLoggedOut(_player);
    +            else
    +            {
    +                _player->TeleportToBGEntryPoint();
    +                _player->SetBattleGroundId(0, BATTLEGROUND_TYPE_NONE);
    +            }
    
            ///- Teleport to home if the player is in an invalid instance
            if(!_player->m_InstanceValid && !_player->isGameMaster())
    

  4. _storage is byte "array" by default. such arrays in memory are located as continuous set of bytes. _storage as value is a pointer to it's first element

    if uint8 storage[n]; then storage == &storage[0] which means that storage val points to the head of that array

    when accessing _storage[pos] you access *(_storage + pos), which means byte number 'pos' since address of _storage.

    by casting *((T const*)&_storage[pos] you say that &_storage[pos] is pointer not to uint8 but to value type T*, and it would 'grab' nearest bytes depending on T size

  5. Hello!

    I modifier LooItem struct in LooItem.h and added ACE_RW_Thread_Mutex in it.

    http://paste2.org/p/1966439

    This makes compile fail with error

    2>c:\\core_temp\\test-zone\\code\\dep\\ACE_wrappers\\ace/RW_Thread_Mutex.h(63) : error C2248: 'ACE_RW_Mutex::operator =' : cannot access private member declared in class 'ACE_RW_Mutex'

    2> c:\\core_temp\\test-zone\\code\\dep\\ACE_wrappers\\ace/RW_Mutex.h(127) : see declaration of 'ACE_RW_Mutex::operator ='

    2> c:\\core_temp\\test-zone\\code\\dep\\ACE_wrappers\\ace/RW_Mutex.h(42) : see declaration of 'ACE_RW_Mutex'

    2> This diagnostic occurred in the compiler generated function 'ACE_RW_Thread_Mutex &ACE_RW_Thread_Mutex::operator =(const ACE_RW_Thread_Mutex &)'

    The reason for this is that it tries to initialize instance of ACE_RW_Mutex, but is has private constructor, so it fails.

    Question - why? There are so many ACE_RW_Thread_Mutex'es in code (HashMapHolder, TerrainMgr, etc) but there are no such errors.

  6. Some time ago (~year) SilverIce introduced a revision where gameobject rotation became handled as quaternions, as a result many objects were found rotated around some axis prior to their previous position.

    What can be done and is there any general solution to this?

  7. Also there is an issue in instanced maps, one can leave from group just after killing a boss and loot a chest, thereby is will not be available to raid.

    But in this case group recipient and recipient guids can be manually set by map script, for example to the guid of party's leader, whose member has done a killing blow.

    On official servers one can't loot a chest, when it is being looted by another player (if he's viewing it's contents). I guess it is simply because chest in that GO state is not clickable.

    Maybe there is a rule that not allows looting a chest to third person, when it has group loot in progress?

  8. typos in GameObject.cpp

    // alliance takes the tower from neutral or contested to alliance

    -- else if ((m_ownerFaction = TEAM_NONE || m_captureState == CAPTURE_STATE_CONTEST) && progressFaction == ALLIANCE && m_captureTicks > CAPTURE_SLIDER_NEUTRAL + neutralPercent * 0.5f)

    ++ else if ((m_ownerFaction == TEAM_NONE || m_captureState == CAPTURE_STATE_CONTEST) && progressFaction == ALLIANCE && m_captureTicks > CAPTURE_SLIDER_NEUTRAL + neutralPercent * 0.5f)

    // horde takes the tower from neutral or contested to horde

    -- else if ((m_ownerFaction = TEAM_NONE || m_captureState == CAPTURE_STATE_CONTEST) && progressFaction == HORDE && m_captureTicks < CAPTURE_SLIDER_NEUTRAL - neutralPercent * 0.5f)

    ++ else if ((m_ownerFaction == TEAM_NONE || m_captureState == CAPTURE_STATE_CONTEST) && progressFaction == HORDE && m_captureTicks < CAPTURE_SLIDER_NEUTRAL - neutralPercent * 0.5f)

  9. Unfortunately, i don't use cmake, only added

            WorldStateMgr.cpp \\
       WorldStateMgr.h \\
       ZoneScript.h \\
           WorldPvP/WorldPvP.cpp \\
       WorldPvP/WorldPvP.h \\
       WorldPvP/WorldPvPEP.cpp \\
       WorldPvP/WorldPvPEP.h \\
       WorldPvP/WorldPvPGH.cpp \\
       WorldPvP/WorldPvPGH.h \\
       WorldPvP/WorldPvPHP.cpp \\
       WorldPvP/WorldPvPHP.h \\
       WorldPvP/WorldPvPMgr.cpp \\
       WorldPvP/WorldPvPMgr.h \\
       WorldPvP/WorldPvPNA.cpp \\
       WorldPvP/WorldPvPNA.h \\
       WorldPvP/WorldPvPSI.cpp \\
       WorldPvP/WorldPvPSI.h \\
       WorldPvP/WorldPvPTF.cpp \\
       WorldPvP/WorldPvPTF.h \\
       WorldPvP/WorldPvPZM.cpp \\
       WorldPvP/WorldPvPZM.h

    in game/Makefile.am

  10. Move BG_TEAMS_COUNT define from BattleGround.h to SharedDefines.h

    Thanks to xFurry

    Maybe i'm a fool or something, I have

    gmake[4]: *** Нет правила для сборки цели `../../../src/game/WorldPvP.cpp', требуемой для `WorldPvP.o'. Останов. 
    gmake[4]: Leaving directory `/usr/home/wow/svn_test/comp/src/game

    In english it's something like 'no rules for target... stopping'

    All makefiles and includes are updated. Screwed up half a day with this xD

    There is no such file nor such path in makefile

  11. he wants to fix trinket

    you need to handle spells http://www.wowhead.com/spell=71519 and http://www.wowhead.com/spell=71562

    which are applied on item equip.

    Proc spells should be cast depending on player class, here they are

    http://www.wowhead.com/spell=71484

    http://www.wowhead.com/spell=71561

    http://www.wowhead.com/spell=71491

    http://www.wowhead.com/spell=71559

    http://www.wowhead.com/spell=71485

    http://www.wowhead.com/spell=71556

    http://www.wowhead.com/spell=71492

    http://www.wowhead.com/spell=71560

    For cooldowns and and class patterns check wowpedia. As a template for your code you can use some darkmoon trinket proc, that is already in the core

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