Sync with L2JServer Jan 24th 2015.

This commit is contained in:
mobius
2015-01-24 20:02:32 +00:00
parent d349bd3924
commit 1c6301c46d
1012 changed files with 23069 additions and 6307 deletions

View File

@ -31,8 +31,8 @@ import java.util.logging.Logger;
import com.l2jserver.Config;
import com.l2jserver.gameserver.GeoData;
import com.l2jserver.gameserver.data.xml.impl.SkillTreesData;
import com.l2jserver.gameserver.datatables.SkillData;
import com.l2jserver.gameserver.datatables.SkillTreesData;
import com.l2jserver.gameserver.enums.MountType;
import com.l2jserver.gameserver.enums.ShotType;
import com.l2jserver.gameserver.handler.ITargetTypeHandler;
@ -48,6 +48,7 @@ import com.l2jserver.gameserver.model.actor.L2Attackable;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.L2Playable;
import com.l2jserver.gameserver.model.actor.L2Summon;
import com.l2jserver.gameserver.model.actor.instance.L2BlockInstance;
import com.l2jserver.gameserver.model.actor.instance.L2CubicInstance;
import com.l2jserver.gameserver.model.actor.instance.L2GuardInstance;
@ -1209,20 +1210,21 @@ public final class Skill implements IIdentifiable
}
}
if ((Config.GEODATA > 0) && !GeoData.getInstance().canSeeTarget(caster, target))
if (!GeoData.getInstance().canSeeTarget(caster, target))
{
return false;
}
return true;
}
public static final boolean addSummon(L2Character caster, L2PcInstance owner, int radius, boolean isDead)
public static final boolean addPet(L2Character caster, L2PcInstance owner, int radius, boolean isDead)
{
if (!owner.hasSummon())
final L2Summon pet = owner.getPet();
if (pet == null)
{
return false;
}
return addCharacter(caster, owner.getSummon(), radius, isDead);
return addCharacter(caster, pet, radius, isDead);
}
public static final boolean addCharacter(L2Character caster, L2Character target, int radius, boolean isDead)
@ -1394,11 +1396,14 @@ public final class Skill implements IIdentifiable
}
// Support for buff sharing feature including healing herbs.
if (effected.isPlayer() && effected.hasServitor())
if (effected.isPlayer() && effected.hasServitors())
{
if ((addContinuousEffects && isContinuous() && !isDebuff()) || isRecoveryHerb())
{
applyEffects(effector, effected.getSummon(), isRecoveryHerb(), 0);
effected.getServitors().values().forEach(s ->
{
applyEffects(effector, s, isRecoveryHerb(), 0);
});
}
}
}
@ -1423,9 +1428,12 @@ public final class Skill implements IIdentifiable
// Support for buff sharing feature.
// Avoiding Servitor Share since it's implementation already "shares" the effect.
if (addContinuousEffects && info.getEffected().isPlayer() && info.getEffected().hasServitor() && isContinuous() && !isDebuff() && (getId() != CommonSkill.SERVITOR_SHARE.getId()))
if (addContinuousEffects && info.getEffected().isPlayer() && info.getEffected().hasServitors() && isContinuous() && !isDebuff() && (getId() != CommonSkill.SERVITOR_SHARE.getId()))
{
applyEffects(effector, info.getEffected().getSummon(), false, 0);
info.getEffected().getServitors().values().forEach(s ->
{
applyEffects(effector, s, false, 0);
});
}
}

View File

@ -46,6 +46,7 @@ public enum L2TargetType
HOLY,
NONE,
ONE,
ONE_FRIENDLY,
OWNER_PET,
PARTY,
PARTY_CLAN,