L2JMobius

Public Development => Solved/Invalid Bug Reports => Topic started by: uchihasv on January 07, 2022, 02:34:15 AM

Title: Doomcryer can't teleport party
Post by: uchihasv on January 07, 2022, 02:34:15 AM
Hello, I'm test Doomcryer class and i try use mass teleport party skill and i see message "party members can't be teleported from their location", party members just stay in Hunter Village location. Why this bug/problem happens?
Title: Re: Doomcryer can't teleport party
Post by: kinghanker on January 07, 2022, 05:55:40 AM
This happens for two reasons.
It's not the ultimate solution, of course. But it will help Mobius create a better way, I hope!


org.l2jmobius.gameserver.model.conditions.ConditionPlayerCallPc.java
Code: [Select]
else if (player.inObserverMode())
{
canCallPlayer = false;
}
- else if (player.isOnEvent())
- {
- player.sendPacket(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING);
- canCallPlayer = false;
- }
else if (player.isInsideZone(ZoneId.NO_SUMMON_FRIEND) || player.isInsideZone(ZoneId.JAIL) || player.isFlyingMounted())
{
player.sendPacket(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING);
canCallPlayer = false;
}

data.scripts.handlers.effecthandlers.CallPc.java
Code: [Select]
activeChar.sendPacket(SystemMessageId.YOU_CANNOT_SUMMON_PLAYERS_WHO_ARE_CURRENTLY_PARTICIPATING_IN_THE_GRAND_OLYMPIAD);
return false;
}

- if (target.isFestivalParticipant() || target.isFlyingMounted() || target.isCombatFlagEquipped() || !target.isOnEvent())
+ if (target.isFestivalParticipant() || target.isFlyingMounted() || target.isCombatFlagEquipped())
{
activeChar.sendPacket(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING);
return false;
}

if (target.inObserverMode())
{
final SystemMessage sm = new
Title: Re: Doomcryer can't teleport party
Post by: Mobius on January 07, 2022, 06:43:08 AM
Why remove event check?
You want people that are on events to be summoned?
Title: Re: Doomcryer can't teleport party
Post by: uchihasv on January 07, 2022, 07:17:00 AM
Why remove event check?
You want people that are on events to be summoned?
Event "Save Santa" can block teleport condition in any place? Or it's not affect this?
Title: Re: Doomcryer can't teleport party
Post by: kinghanker on January 08, 2022, 01:09:16 AM
Why remove event check?
You want people that are on events to be summoned?

It seems that all characters are constantly at an event.
Title: Re: Doomcryer can't teleport party
Post by: Mobius on January 08, 2022, 01:51:08 AM
It seems that all characters are constantly at an event.

They cannot be.
Default value is false and never set to true.

!target.isOnEvent()
should be
target.isOnEvent()

Code: (diff) [Select]
Index: dist/game/data/scripts/handlers/effecthandlers/CallPc.java
===================================================================
--- dist/game/data/scripts/handlers/effecthandlers/CallPc.java (revision 9684)
+++ dist/game/data/scripts/handlers/effecthandlers/CallPc.java (working copy)
@@ -139,7 +139,7 @@
  return false;
  }
 
- if (target.isFestivalParticipant() || target.isFlyingMounted() || target.isCombatFlagEquipped() || !target.isOnEvent())
+ if (target.isFestivalParticipant() || target.isFlyingMounted() || target.isCombatFlagEquipped() || target.isOnEvent())
  {
  activeChar.sendPacket(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING);
  return false;
Title: Re: Doomcryer can't teleport party
Post by: kinghanker on January 08, 2022, 03:15:33 AM
I swear I didn't see the "!" before the target.isOnEvent()

 :-[

problem solved
Title: Re: Doomcryer can't teleport party
Post by: Mobius on January 09, 2022, 05:06:04 AM
Fixed with https://bitbucket.org/MobiusDev/l2j_mobius/commits/31b09de7ee30b31d2f84a3bf1de17ee423a24183