rendered paste bodyIndex: java/net/sf/l2j/gameserver/clientpackets/ChangeWaitType2.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/ChangeWaitType2.java (revision 1269)
+++ java/net/sf/l2j/gameserver/clientpackets/ChangeWaitType2.java (working copy)
@@ -18,6 +18,12 @@
*/
package net.sf.l2j.gameserver.clientpackets;
+import net.sf.l2j.gameserver.instancemanager.CastleManager;
+import net.sf.l2j.gameserver.model.L2Object;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2StaticObjectInstance;
+import net.sf.l2j.gameserver.serverpackets.ChairSit;
+
/**
* This class ...
*
@@ -38,12 +44,29 @@
@Override
protected void runImpl()
{
- if(getClient() != null && getClient().getActiveChar() != null)
+ L2PcInstance player = getClient().getActiveChar();
+ L2Object target = player.getTarget();
+ if(getClient() != null && player != null)
{
+ if (player.getMountType() != 0) //prevent sit/stand if you riding
+ return;
+ if (target != null
+ && !player.isSitting()
+ && target instanceof L2StaticObjectInstance
+ && ((L2StaticObjectInstance)target).getType() == 1
+ && CastleManager.getInstance().getCastle(target) != null
+ && player.isInsideRadius(target, L2StaticObjectInstance.INTERACTION_DISTANCE, false, false)
+ )
+ {
+ ChairSit cs = new ChairSit(player,((L2StaticObjectInstance)target).getStaticObjectId());
+ player.sendPacket(cs);
+ player.sitDown();
+ player.broadcastPacket(cs);
+ }
if (_typeStand)
- getClient().getActiveChar().standUp();
+ player.standUp();
else
- getClient().getActiveChar().sitDown();
+ player.sitDown();
}
}
Index: java/net/sf/l2j/gameserver/clientpackets/RequestActionUse.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/RequestActionUse.java (revision 1269)
+++ java/net/sf/l2j/gameserver/clientpackets/RequestActionUse.java (working copy)
@@ -105,9 +105,7 @@
&& !activeChar.isSitting()
&& target instanceof L2StaticObjectInstance
&& ((L2StaticObjectInstance)target).getType() == 1
- && activeChar.getClan() != null
&& CastleManager.getInstance().getCastle(target) != null
- && activeChar.isCastleLord(CastleManager.getInstance().getCastle(target).getCastleId())
&& activeChar.isInsideRadius(target, L2StaticObjectInstance.INTERACTION_DISTANCE, false, false)
)
{