Jump to content

Recommended Posts

Posted

Hello all,

I started a few weeks ago with some pet fixies. I know, it is too hacky :(

Comments and ideas are welcome ;)

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

Problems what I tried fix:

  • * Warlock pet doesn't has a corpse.
    * Pets, summons, guardians and totems doesn't have properly FFA flag in FFA areas.
    * Pets are temporary unsummoned while is owner mounted in arena.
    * Warlock pet health, mana calculation is outdated. (I took coef from tc2 :-/ thx to nesocip)
    * Dead pets are revived after mount and dismount.
    * Warlock pet doesn't stay on login screen and it credit soulshard after logout.
    * Out of range dismiss doesn't work.
    * Some problem with summon, unsummon pets while enter/leave arena.
    * Reset Pet spell cooldown if pet die

Revision: 8518

Branch: http://github.com/corfen/mangos/tree/pets

Patch: http://pastebin.com/f72706fed

Some TODO:

+ Warlock pet should have a saved health and mana while warlock mouted

(after dismount warlock pet has full hp & mana instead hp, mana before warlock mounted).

+ After hunter's pet dies call pet should not work, hunter has to use Revive Pet.

- Correct pet spell damage calculation. ( thx pasdVn and ApoC http://getmangos.eu/community/viewtopic.php?id=7233 )

Corfen =)

  • 39 years later...
Posted

Is it my fault or git is downloading patch and stopping at line 235 (using command: git clone git://gist.github.com/172777.git).

Any idea beside typing the rest manually?

OS: Linux PLD

Posted
Is it my fault or git is downloading patch and stopping at line 235 (using command: git clone git://gist.github.com/172777.git).

Any idea beside typing the rest manually?

OS: Linux PLD

you're trying to download a gist and not a repo... ;)

for git clone you've to use the repository (see his branch-link).

  • 2 weeks later...
Posted

     if ( stat == STAT_STAMINA )
    {
- if(owner)
+ if(owner && owner->GetTypeId() == TYPEID_PLAYER && owner->getClass() == CLASS_WARLOCK)
+ value += float(owner->GetStat(stat)) * 0.75f;
+ else if (owner)
            value += float(owner->GetStat(stat)) * 0.3f;
    }

Is that correct? wiki states that warlock pets get 0.3 stamina per 1 owner's stamina :o

Posted

Scaling has been changed in 3.0.8 so wiki might be still outdated.:unsure: Corfen, are you also planning to fix the problem that pets don't gain any HP from stamina in pet_levelstats? As it is also related to that pet issue.

Posted

Does this fix a bug with unattackable totems on arena for same fraction? For example you fight horde vs alliance on arena - it works good - you can attack their totems, but horde vs horde - you can't :(

Same bug with pets/summons on clean mangos, as i see - that patch fixed that for them

Posted

Thanks for that AWESOME patch, but i found some bugs: for example if you warlock and go to arena, summon any pet, setup aggressive mode for pet and use any mount - when you run near the opponent - pet begin to attack the opponent - pet shouldn't attack when you are mounted, but it happens :/

Sorry for bad English :wacko:

Posted

Another bug, that cause a server crash:

1) you warlock

2) your pet dies

3) you went away from your pet

4) server crash on dismissing

Out of range dismiss doesn't work. - can you point a part of code that fixing it?

And strange behavior... crashes only on linux server, on windows server i can't reproduce

This a crash source. And i think that happens because you set a deathtimer.

@@ -458,9 +458,22 @@ void Pet::setDeathState(DeathState s)                       // overwrite virtual
    Creature::setDeathState(s);
    if(getDeathState()==CORPSE)
    {
-        //remove summoned pet (no corpse)
-        if(getPetType()==SUMMON_PET)
-            Remove(PET_SAVE_NOT_IN_SLOT);
+        //remove summoned pet
+        if(getPetType()==SUMMON_PET || getPetType()==GUARDIAN_PET)
+        {
+            //Warlock summoned pet has corpse
+            Unit* owner = GetOwner();
+            if(owner && owner->GetTypeId()==TYPEID_PLAYER && owner->getClass()==CLASS_WARLOCK)
+            {
+                SetUInt32Value( UNIT_DYNAMIC_FLAGS, 0x00 );
+                RemoveFlag (UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE);
+                // 10 sec until corpse disappear
+                m_deathTimer = 10000;
+            }
+            //remove summoned pet (no corpse)
+            else
+                Remove(PET_SAVE_NOT_IN_SLOT);
+        }
        // other will despawn at corpse desppawning (Pet::Update code)
        else
        {

You also can crash server if your pet dies and you abandon him

  • 2 weeks later...
Posted

Thank you for the patch!

I'm currently working on the pet stats, too. Did you made any more detailed researches on the mana/intellect ratio? I have just some datas from lower level warlocks, but seems to be a non-linear connection - at least at those low levels.

  • 3 weeks later...
Posted

Thank you Corfen I did a pull from your repo and merged with 8715 yesterday with no problems and today I have my core online with my Hunter freind testing parts of this patch as well as I'll be on testing the Warlock parts, so I hope to have a full report of the great job you did!

Guest
This topic is now closed to further replies.
×
×
  • 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