Jump to content

New TemporarySummon Type


Recommended Posts

Posted

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

add a new TemporarySummon Type

* For which repository revision was the patch created?

for a lot of :)

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

no

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

me

https://github.com/mangosR2/mangos/commit/90b054874e4fcc00beae426d93b76cc7879a0d0c

In my eyes good for manuell summon in scripts.

Example: Boss summon add, this add despawn when corpse vanish or add is a specific time outfight(if bossfight fails)

Best time in my eyes 2-5 minutes

Posted

yes, difficult questions how to handle this best.

I personally know of no case where respawn-delay should be short and the npc should respawn, so maybe it was a good choice to set the respawndelay for most temp-summon types to some reasonable value (other the 25s)

For summoned mobs respawning I know of one case: the adds of majordomo in case of a fail (might ofc also be possible that this should be resummoning)

In scripts usually we want to use OOCTIMED_OR_DEAD to have despawning in fail case, and despawning after being dead as most natural choice.

Possible this should be replaced with DEAD_DESPAWN and the linking now (despawn on fail)

  • 1 month later...
Posted

I really can not see the reason to add a new type to do something that only unsummons slightly faster (because the ooc-timer is also ticked while corpse case)

If I misread something, please tell, otherwise rejected.

Thank you anyways ;)

       case TEMPSUMMON_TIMED_OR_DEAD_DESPAWN:
       {
           // if m_deathState is DEAD, CORPSE was skipped
           if (IsDespawned())
           {
               UnSummon();
               return;
           }

           if (!isInCombat() && isAlive() )
           {
               if (m_timer <= update_diff)
               {
                   UnSummon();
                   return;
               }
               else
                   m_timer -= update_diff;
           }
           else if (m_timer != m_lifetime)
               m_timer = m_lifetime;
           break;
       }

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