Sync with L2jServer HighFive Aug 29th 2015.

This commit is contained in:
MobiusDev
2015-08-29 20:31:27 +00:00
parent ac04922328
commit 2bfc469d74
185 changed files with 1555 additions and 62 deletions

View File

@ -104,10 +104,5 @@ public final class MagicalAttack extends AbstractEffect
activeChar.sendDamageMessage(target, damage, mcrit, false, false);
}
}
if (info.getSkill().isSuicideAttack())
{
activeChar.doDie(activeChar);
}
}
}

View File

@ -20,6 +20,7 @@ package handlers.effecthandlers;
import com.l2jserver.gameserver.enums.EffectCalculationType;
import com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.stat.CharStat;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
@ -27,6 +28,8 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
import com.l2jserver.gameserver.model.stats.Stats;
import com.l2jserver.gameserver.model.stats.functions.FuncAdd;
import com.l2jserver.gameserver.model.stats.functions.FuncMul;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
/**
* @author Zealar
@ -65,11 +68,13 @@ public final class MaxCp extends AbstractEffect
@Override
public void onStart(BuffInfo info)
{
final CharStat charStat = info.getEffected().getStat();
final L2Character effected = info.getEffected();
final CharStat charStat = effected.getStat();
final double currentCp = effected.getCurrentCp();
double amount = _power;
synchronized (charStat)
{
final double currentCp = info.getEffected().getCurrentCp();
switch (_type)
{
case DIFF:
@ -77,21 +82,29 @@ public final class MaxCp extends AbstractEffect
charStat.getActiveChar().addStatFunc(new FuncAdd(Stats.MAX_CP, 1, this, _power, null));
if (_heal)
{
info.getEffected().setCurrentCp((currentCp + _power));
effected.setCurrentCp((currentCp + _power));
}
break;
}
case PER:
{
final double maxCp = effected.getMaxCp();
charStat.getActiveChar().addStatFunc(new FuncMul(Stats.MAX_CP, 1, this, _power, null));
if (_heal)
{
info.getEffected().setCurrentCp((currentCp * _power));
amount = (_power - 1) * maxCp;
effected.setCurrentCp(currentCp + amount);
}
break;
}
}
}
if (_heal)
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
sm.addInt((int) amount);
effected.sendPacket(sm);
}
}
@Override

View File

@ -20,6 +20,7 @@ package handlers.effecthandlers;
import com.l2jserver.gameserver.enums.EffectCalculationType;
import com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.stat.CharStat;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
@ -27,6 +28,8 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
import com.l2jserver.gameserver.model.stats.Stats;
import com.l2jserver.gameserver.model.stats.functions.FuncAdd;
import com.l2jserver.gameserver.model.stats.functions.FuncMul;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
/**
* @author Zealar
@ -65,33 +68,43 @@ public final class MaxHp extends AbstractEffect
@Override
public void onStart(BuffInfo info)
{
final CharStat charStat = info.getEffected().getStat();
final L2Character effected = info.getEffected();
final CharStat charStat = effected.getStat();
final double currentHp = effected.getCurrentHp();
double amount = _power;
synchronized (charStat)
{
final double currentHp = info.getEffected().getCurrentHp();
switch (_type)
{
case DIFF:
{
charStat.getActiveChar().addStatFunc(new FuncAdd(Stats.MAX_HP, 1, this, _power, null));
if (_heal)
{
info.getEffected().setCurrentHp((currentHp + _power));
effected.setCurrentHp((currentHp + _power));
}
break;
}
case PER:
{
final double maxHp = effected.getMaxHp();
charStat.getActiveChar().addStatFunc(new FuncMul(Stats.MAX_HP, 1, this, _power, null));
if (_heal)
{
info.getEffected().setCurrentHp((currentHp * _power));
amount = (_power - 1) * maxHp;
effected.setCurrentHp(currentHp + amount);
}
break;
}
}
}
if (_heal)
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED);
sm.addInt((int) amount);
effected.sendPacket(sm);
}
}

View File

@ -63,5 +63,6 @@ public final class SetSkill extends AbstractEffect
}
info.getEffected().getActingPlayer().addSkill(skill, true);
info.getEffected().getActingPlayer().sendSkillList();
}
}