Sync with L2JServer Feb 3rd 2015.

This commit is contained in:
mobius
2015-02-03 21:11:57 +00:00
parent 9cf1a6d6e5
commit fe25f74122
169 changed files with 3379 additions and 5414 deletions

View File

@@ -783,6 +783,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), randomOffset);
}
public void teleToLocation(ILocational loc, int instanceId, int randomOffset)
{
teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), instanceId, randomOffset);
}
public void teleToLocation(ILocational loc, boolean randomOffset)
{
teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);

View File

@@ -142,7 +142,7 @@ public class L2Npc extends L2Character
private int _soulshotamount = 0;
private int _spiritshotamount = 0;
private int _displayEffect = 0;
private int _state = 0;
private int _shotsMask = 0;
private int _killingBlowWeaponId;
@@ -1531,18 +1531,23 @@ public class L2Npc extends L2Character
return getTemplate().getAIType();
}
public void setDisplayEffect(int val)
public void setState(int state)
{
if (val != _displayEffect)
if (state != _state)
{
_displayEffect = val;
broadcastPacket(new ExChangeNpcState(getObjectId(), val));
_state = state;
broadcastPacket(new ExChangeNpcState(getObjectId(), state));
}
}
public int getDisplayEffect()
public boolean isState(int state)
{
return _displayEffect;
return _state == state;
}
public int getState()
{
return _state;
}
public int getColorEffect()

View File

@@ -208,6 +208,7 @@ import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPKCha
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerProfessionChange;
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPvPChanged;
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPvPKill;
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerSubChange;
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerTransform;
import com.l2jserver.gameserver.model.events.impl.character.player.mentoring.OnPlayerMenteeStatus;
import com.l2jserver.gameserver.model.events.impl.character.player.mentoring.OnPlayerMentorStatus;
@@ -2725,14 +2726,6 @@ public final class L2PcInstance extends L2Playable
Skill skill;
for (L2SkillLearn s : autoGetSkills)
{
final int maxLvl = SkillData.getInstance().getMaxLevel(s.getSkillId());
final int hashCode = SkillData.getSkillHashCode(s.getSkillId(), maxLvl);
if (SkillTreesData.getInstance().isCurrentClassSkillNoParent(getClassId(), hashCode) || SkillTreesData.getInstance().isRemoveSkill(getClassId(), s.getSkillId()))
{
continue;
}
skill = st.getSkill(s.getSkillId(), s.getSkillLevel());
if (skill != null)
{
@@ -3149,6 +3142,8 @@ public final class L2PcInstance extends L2Playable
sendPacket(new ItemList(this, false));
}
sendPacket(new ExAdenaInvenCount(this));
if (sendMessage)
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ADENA_DISAPPEARED);
@@ -3367,7 +3362,6 @@ public final class L2PcInstance extends L2Playable
// Update current load as well
sendPacket(new ExUserInfoInvenWeight(this));
sendPacket(new ExAdenaInvenCount(this));
// If over capacity, drop the item
if (!canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !_inventory.validateCapacity(0, item.isQuestItem()) && newitem.isDropable() && (!newitem.isStackable() || (newitem.getLastChange() != L2ItemInstance.MODIFIED)))
@@ -10335,6 +10329,11 @@ public final class L2PcInstance extends L2Playable
}
public void sendSkillList()
{
sendSkillList(0);
}
public void sendSkillList(int lastLearnedSkillId)
{
boolean isDisabled = false;
SkillList sl = new SkillList();
@@ -10754,6 +10753,8 @@ public final class L2PcInstance extends L2Playable
sendPacket(new SkillCoolTime(this));
sendPacket(new ExStorageMaxCount(this));
sendPacket(new ExSubjobInfo(this));
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerSubChange(this), this);
return true;
}
finally