Jump to content

New TemporarySummon Type


Guest breakwater

Recommended Posts

* 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

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

  • 1 month later...

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;
       }

Link to comment
Share on other sites

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