Jump to content

[Patch/dev] Pet improvements


Recommended Posts

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 =)

Link to comment
Share on other sites

  • 39 years later...
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).

Link to comment
Share on other sites

  • 2 weeks later...

     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

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

  • 3 weeks later...
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