Sync with L2jServer HighFive Nov 28th 2015.
This commit is contained in:
@ -30,6 +30,7 @@ import com.l2jserver.gameserver.data.xml.impl.DoorData;
|
||||
import com.l2jserver.gameserver.model.L2Object;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
|
||||
import com.l2jserver.gameserver.model.interfaces.ILocational;
|
||||
import com.l2jserver.gameserver.util.GeoUtils;
|
||||
import com.l2jserver.gameserver.util.LinePointIterator;
|
||||
@ -222,7 +223,7 @@ public class GeoData
|
||||
*/
|
||||
public boolean canSeeTarget(L2Object cha, L2Object target)
|
||||
{
|
||||
if (target.isDoor())
|
||||
if (target instanceof L2DoorInstance)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -1358,6 +1358,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
*/
|
||||
private boolean doAttackHitByPole(Attack attack, L2Character target, int sAtk)
|
||||
{
|
||||
boolean hitted = doAttackHitSimple(attack, target, 100, sAtk);
|
||||
|
||||
if (isAffected(EffectFlag.SINGLE_TARGET))
|
||||
{
|
||||
return hitted;
|
||||
}
|
||||
|
||||
// double angleChar;
|
||||
int maxRadius = getStat().getPhysicalAttackRange();
|
||||
int maxAngleDiff = getStat().getPhysicalAttackAngle();
|
||||
@ -1391,8 +1398,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
int attackcount = 0;
|
||||
|
||||
// if (angleChar <= 0) angleChar += 360;
|
||||
|
||||
boolean hitted = doAttackHitSimple(attack, target, 100, sAtk);
|
||||
double attackpercent = 85;
|
||||
L2Character temp;
|
||||
Collection<L2Object> objs = getKnownList().getKnownObjects().values();
|
||||
|
@ -44,6 +44,7 @@ public enum EffectFlag
|
||||
STUNNED,
|
||||
BETRAYED,
|
||||
PARALYZED,
|
||||
SINGLE_TARGET,
|
||||
BLOCK_RESURRECTION,
|
||||
SERVITOR_SHARE;
|
||||
|
||||
|
@ -65,6 +65,7 @@ public enum L2EffectType
|
||||
SLEEP,
|
||||
STEAL_ABNORMAL,
|
||||
STUN,
|
||||
SINGLE_TARGET,
|
||||
SUMMON,
|
||||
SUMMON_PET,
|
||||
SUMMON_NPC,
|
||||
|
@ -1773,6 +1773,11 @@ public final class Formulas
|
||||
|
||||
int defence_attribute = target.getDefenseElementValue(attacker.getAttackElement());
|
||||
|
||||
if (attack_attribute <= defence_attribute)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
double attack_attribute_mod = 0;
|
||||
double defence_attribute_mod = 0;
|
||||
|
||||
|
@ -56,6 +56,19 @@ public final class RequestMagicSkillUse extends L2GameClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (activeChar.isDead())
|
||||
{
|
||||
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (activeChar.isFakeDeath())
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.YOU_CANNOT_MOVE_WHILE_SITTING);
|
||||
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the level of the used skill
|
||||
Skill skill = activeChar.getKnownSkill(_magicId);
|
||||
if (skill == null)
|
||||
|
Reference in New Issue
Block a user