Proper syntax for several methods and values.
This commit is contained in:
parent
8e7ecd2ac0
commit
9d155febb7
@ -117,7 +117,7 @@ public class DenOfEvil extends AbstractNpcAI
|
|||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
final EffectZone zone = ZoneManager.getInstance().getZone(npc, EffectZone.class);
|
final EffectZone zone = ZoneManager.getInstance().getZone(npc, EffectZone.class);
|
||||||
if (zone == null)
|
if (zone == null)
|
||||||
{
|
{
|
||||||
|
@ -47,11 +47,11 @@ public class GustSpiral extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.MY_WIND_BARRIER_HOW_ONLY_THE_ERTHEIA_CAN_WAIT_UNLESS_YOU_ARE);
|
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.MY_WIND_BARRIER_HOW_ONLY_THE_ERTHEIA_CAN_WAIT_UNLESS_YOU_ARE);
|
||||||
}
|
}
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
}
|
}
|
||||||
return super.onAttack(npc, attacker, damage, isSummon);
|
return super.onAttack(npc, attacker, damage, isSummon);
|
||||||
}
|
}
|
||||||
|
@ -59,11 +59,11 @@ public class ApherusLookout extends AbstractNpcAI
|
|||||||
public String onKill(Npc npc, PlayerInstance killer, boolean isPet)
|
public String onKill(Npc npc, PlayerInstance killer, boolean isPet)
|
||||||
{
|
{
|
||||||
final Npc aPackage = addSpawn(APHERUS_PACKAGE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
|
final Npc aPackage = addSpawn(APHERUS_PACKAGE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
|
||||||
aPackage.setIsImmobilized(true);
|
aPackage.setImmobilized(true);
|
||||||
final Npc bPackage = addSpawn(APHERUS_PACKAGE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
|
final Npc bPackage = addSpawn(APHERUS_PACKAGE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
|
||||||
bPackage.setIsImmobilized(true);
|
bPackage.setImmobilized(true);
|
||||||
final Npc cPackage = addSpawn(APHERUS_PACKAGE2, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
|
final Npc cPackage = addSpawn(APHERUS_PACKAGE2, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
|
||||||
cPackage.setIsImmobilized(true);
|
cPackage.setImmobilized(true);
|
||||||
return super.onKill(npc, killer, isPet);
|
return super.onKill(npc, killer, isPet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ public class Statues extends AbstractNpcAI
|
|||||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||||
{
|
{
|
||||||
final Npc buffNpc = addSpawn(BUFF_NPC, npc, false, 5000);
|
final Npc buffNpc = addSpawn(BUFF_NPC, npc, false, 5000);
|
||||||
buffNpc.setIsInvul(true);
|
buffNpc.setInvul(true);
|
||||||
addSkillCastDesire(buffNpc, buffNpc, REWARD_BUFF, 23);
|
addSkillCastDesire(buffNpc, buffNpc, REWARD_BUFF, 23);
|
||||||
return super.onKill(npc, killer, isSummon);
|
return super.onKill(npc, killer, isSummon);
|
||||||
}
|
}
|
||||||
|
@ -308,7 +308,7 @@ public class FourSepulchers extends AbstractNpcAI implements IXmlReader
|
|||||||
{
|
{
|
||||||
npc.stopSkillEffects(PETRIFY.getSkill());
|
npc.stopSkillEffects(PETRIFY.getSkill());
|
||||||
npc.setTargetable(true);
|
npc.setTargetable(true);
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
case "WAVE_DEFEATED_CHECK":
|
case "WAVE_DEFEATED_CHECK":
|
||||||
@ -399,7 +399,7 @@ public class FourSepulchers extends AbstractNpcAI implements IXmlReader
|
|||||||
npc.doCast(PETRIFY.getSkill());
|
npc.doCast(PETRIFY.getSkill());
|
||||||
((Attackable) npc).setCanReturnToSpawnPoint(false);
|
((Attackable) npc).setCanReturnToSpawnPoint(false);
|
||||||
npc.setTargetable(false);
|
npc.setTargetable(false);
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
cancelQuestTimer("REMOVE_PETRIFY", npc, null);
|
cancelQuestTimer("REMOVE_PETRIFY", npc, null);
|
||||||
startQuestTimer("REMOVE_PETRIFY", 5 * 60 * 1000, npc, null, false); // 5 minutes
|
startQuestTimer("REMOVE_PETRIFY", 5 * 60 * 1000, npc, null, false); // 5 minutes
|
||||||
}
|
}
|
||||||
|
@ -280,7 +280,7 @@ public class MonasteryOfSilence extends AbstractNpcAI
|
|||||||
@Override
|
@Override
|
||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
cancelQuestTimer("TRAINING", npc, null);
|
cancelQuestTimer("TRAINING", npc, null);
|
||||||
startQuestTimer("TRAINING", 30000, npc, null, true);
|
startQuestTimer("TRAINING", 30000, npc, null, true);
|
||||||
|
@ -65,7 +65,7 @@ public class OrbisTempleStatues extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.isImmobilized())
|
if (npc.isImmobilized())
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(false);
|
npc.setImmobilized(false);
|
||||||
npc.setRHandId(SWORD);
|
npc.setRHandId(SWORD);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -76,7 +76,7 @@ public class OrbisTempleStatues extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.isImmobilized())
|
if (npc.isImmobilized())
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(false);
|
npc.setImmobilized(false);
|
||||||
npc.setRHandId(SPEAR);
|
npc.setRHandId(SPEAR);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -91,7 +91,7 @@ public class OrbisTempleStatues extends AbstractNpcAI
|
|||||||
npc.setRandomWalking(false);
|
npc.setRandomWalking(false);
|
||||||
if (npc.getId() < ANCIENT_HERO)
|
if (npc.getId() < ANCIENT_HERO)
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
}
|
}
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ public class PlainsOfLizardman extends AbstractNpcAI
|
|||||||
if (npc.isScriptValue(0))
|
if (npc.isScriptValue(0))
|
||||||
{
|
{
|
||||||
npc.setScriptValue(1);
|
npc.setScriptValue(1);
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
World.getInstance().forEachVisibleObjectInRange(npc, Attackable.class, 1000, monster ->
|
World.getInstance().forEachVisibleObjectInRange(npc, Attackable.class, 1000, monster ->
|
||||||
{
|
{
|
||||||
if ((monster.getId() == TANTA_MAGICIAN) || (monster.getId() == TANTA_SCOUT))
|
if ((monster.getId() == TANTA_MAGICIAN) || (monster.getId() == TANTA_SCOUT))
|
||||||
|
@ -101,7 +101,7 @@ public class SelMahumSquad extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.isMonster())
|
if (npc.isMonster())
|
||||||
{
|
{
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
npc.getVariables().remove("INVUL_REMOVE_TIMER_STARTED");
|
npc.getVariables().remove("INVUL_REMOVE_TIMER_STARTED");
|
||||||
if ((player != null) && !player.isDead() && npc.isInSurroundingRegion(player))
|
if ((player != null) && !player.isDead() && npc.isInSurroundingRegion(player))
|
||||||
{
|
{
|
||||||
@ -114,7 +114,7 @@ public class SelMahumSquad extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (!npc.isDead())
|
if (!npc.isDead())
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -349,7 +349,7 @@ public class SelMahumSquad extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.getId() == CHEF)
|
if (npc.getId() == CHEF)
|
||||||
{
|
{
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
}
|
}
|
||||||
else if (npc.getId() == FIRE)
|
else if (npc.getId() == FIRE)
|
||||||
{
|
{
|
||||||
|
@ -178,7 +178,7 @@ public class SilentValley extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.getId() == CHEST)
|
if (npc.getId() == CHEST)
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
startQuestTimer("CLEAR_EVENT", 300000, npc, null);
|
startQuestTimer("CLEAR_EVENT", 300000, npc, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -451,7 +451,7 @@ public class Raina extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.getSubClasses().get(player.getClassIndex()).setIsDualClass(true);
|
player.getSubClasses().get(player.getClassIndex()).setDualClassActive(true);
|
||||||
|
|
||||||
final SystemMessage msg = new SystemMessage(SystemMessageId.SUBCLASS_S1_HAS_BEEN_UPGRADED_TO_DUEL_CLASS_S2_CONGRATULATIONS);
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SUBCLASS_S1_HAS_BEEN_UPGRADED_TO_DUEL_CLASS_S2_CONGRATULATIONS);
|
||||||
msg.addClassId(player.getClassId().getId());
|
msg.addClassId(player.getClassId().getId());
|
||||||
|
@ -65,7 +65,7 @@ public class Toyron extends AbstractNpcAI
|
|||||||
@Override
|
@Override
|
||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ public class TrainingGolem extends AbstractNpcAI
|
|||||||
@Override
|
@Override
|
||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ public class YeSagiraGuards extends AbstractNpcAI
|
|||||||
@Override
|
@Override
|
||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
startQuestTimer("GUARD_AGGRO", 5000, npc, null);
|
startQuestTimer("GUARD_AGGRO", 5000, npc, null);
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
@ -158,7 +158,7 @@ public class Wastelands extends AbstractNpcAI
|
|||||||
|
|
||||||
if ((guard.getId() != COMMANDO) && (guard.getId() != COMMANDO_CAPTAIN))
|
if ((guard.getId() != COMMANDO) && (guard.getId() != COMMANDO_CAPTAIN))
|
||||||
{
|
{
|
||||||
guard.setIsInvul(true);
|
guard.setInvul(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (guard.getId() == SCHUAZEN)
|
if (guard.getId() == SCHUAZEN)
|
||||||
@ -173,7 +173,7 @@ public class Wastelands extends AbstractNpcAI
|
|||||||
|
|
||||||
if (decoGuard != null)
|
if (decoGuard != null)
|
||||||
{
|
{
|
||||||
decoGuard.setIsInvul(true);
|
decoGuard.setInvul(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ public class ZealotOfShilen extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
((Attackable) npc).setCanReturnToSpawnPoint(false);
|
((Attackable) npc).setCanReturnToSpawnPoint(false);
|
||||||
cancelQuestTimer("WATCHING", npc, null);
|
cancelQuestTimer("WATCHING", npc, null);
|
||||||
startQuestTimer("WATCHING", 10000, npc, null, true);
|
startQuestTimer("WATCHING", 10000, npc, null, true);
|
||||||
|
@ -63,7 +63,7 @@ public class Anais extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
_current = npc;
|
_current = npc;
|
||||||
final QuestTimer checkAround = getQuestTimer("CHECK", anais, null);
|
final QuestTimer checkAround = getQuestTimer("CHECK", anais, null);
|
||||||
if (checkAround == null) // || !checkAround.getIsActive()
|
if (checkAround == null) // || !checkAround.isActive()
|
||||||
{
|
{
|
||||||
startQuestTimer("CHECK", 3000, anais, null);
|
startQuestTimer("CHECK", 3000, anais, null);
|
||||||
}
|
}
|
||||||
|
@ -150,8 +150,8 @@ public class Beleth extends AbstractNpcAI
|
|||||||
ZONE.getCharactersInside().forEach(c ->
|
ZONE.getCharactersInside().forEach(c ->
|
||||||
{
|
{
|
||||||
c.disableAllSkills();
|
c.disableAllSkills();
|
||||||
c.setIsInvul(true);
|
c.setInvul(true);
|
||||||
c.setIsImmobilized(true);
|
c.setImmobilized(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
_camera1 = addSpawn(29120, new Location(16323, 213142, -9357));
|
_camera1 = addSpawn(29120, new Location(16323, 213142, -9357));
|
||||||
@ -233,8 +233,8 @@ public class Beleth extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
_beleth = addSpawn(REAL_BELETH, new Location(16321, 214211, -9352, 49369));
|
_beleth = addSpawn(REAL_BELETH, new Location(16321, 214211, -9352, 49369));
|
||||||
_beleth.disableAllSkills();
|
_beleth.disableAllSkills();
|
||||||
_beleth.setIsInvul(true);
|
_beleth.setInvul(true);
|
||||||
_beleth.setIsImmobilized(true);
|
_beleth.setImmobilized(true);
|
||||||
|
|
||||||
startQuestTimer("SPAWN11", 200, null, null);
|
startQuestTimer("SPAWN11", 200, null, null);
|
||||||
break;
|
break;
|
||||||
@ -315,8 +315,8 @@ public class Beleth extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
fakeBeleth.spawnMe();
|
fakeBeleth.spawnMe();
|
||||||
fakeBeleth.disableAllSkills();
|
fakeBeleth.disableAllSkills();
|
||||||
fakeBeleth.setIsInvul(true);
|
fakeBeleth.setInvul(true);
|
||||||
fakeBeleth.setIsImmobilized(true);
|
fakeBeleth.setImmobilized(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
startQuestTimer("SPAWN20", 3000, null, null);
|
startQuestTimer("SPAWN20", 3000, null, null);
|
||||||
@ -369,8 +369,8 @@ public class Beleth extends AbstractNpcAI
|
|||||||
for (Creature c : ZONE.getCharactersInside())
|
for (Creature c : ZONE.getCharactersInside())
|
||||||
{
|
{
|
||||||
c.enableAllSkills();
|
c.enableAllSkills();
|
||||||
c.setIsInvul(false);
|
c.setInvul(false);
|
||||||
c.setIsImmobilized(false);
|
c.setImmobilized(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastAttack = System.currentTimeMillis();
|
_lastAttack = System.currentTimeMillis();
|
||||||
@ -397,7 +397,7 @@ public class Beleth extends AbstractNpcAI
|
|||||||
|
|
||||||
if (a >= 2)
|
if (a >= 2)
|
||||||
{
|
{
|
||||||
npc.setIsOverloaded(true);
|
npc.setOverloaded(true);
|
||||||
a = 0;
|
a = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -410,7 +410,7 @@ public class Beleth extends AbstractNpcAI
|
|||||||
ym[i] = (int) ((1700 * Math.sin((i * 1.57) + 0.78)) + 213170);
|
ym[i] = (int) ((1700 * Math.sin((i * 1.57) + 0.78)) + 213170);
|
||||||
|
|
||||||
npc = addSpawn(FAKE_BELETH, new Location(xm[i], ym[i], -9357, 49152));
|
npc = addSpawn(FAKE_BELETH, new Location(xm[i], ym[i], -9357, 49152));
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
|
|
||||||
_minions.add(npc);
|
_minions.add(npc);
|
||||||
}
|
}
|
||||||
@ -418,22 +418,22 @@ public class Beleth extends AbstractNpcAI
|
|||||||
xm[4] = (xm[0] + xm[1]) / 2;
|
xm[4] = (xm[0] + xm[1]) / 2;
|
||||||
ym[4] = (ym[0] + ym[1]) / 2;
|
ym[4] = (ym[0] + ym[1]) / 2;
|
||||||
npc = addSpawn(FAKE_BELETH, new Location(xm[4], ym[4], -9357, 49152));
|
npc = addSpawn(FAKE_BELETH, new Location(xm[4], ym[4], -9357, 49152));
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
_minions.add(npc);
|
_minions.add(npc);
|
||||||
xm[5] = (xm[1] + xm[2]) / 2;
|
xm[5] = (xm[1] + xm[2]) / 2;
|
||||||
ym[5] = (ym[1] + ym[2]) / 2;
|
ym[5] = (ym[1] + ym[2]) / 2;
|
||||||
npc = addSpawn(FAKE_BELETH, new Location(xm[5], ym[5], -9357, 49152));
|
npc = addSpawn(FAKE_BELETH, new Location(xm[5], ym[5], -9357, 49152));
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
_minions.add(npc);
|
_minions.add(npc);
|
||||||
xm[6] = (xm[2] + xm[3]) / 2;
|
xm[6] = (xm[2] + xm[3]) / 2;
|
||||||
ym[6] = (ym[2] + ym[3]) / 2;
|
ym[6] = (ym[2] + ym[3]) / 2;
|
||||||
npc = addSpawn(FAKE_BELETH, new Location(xm[6], ym[6], -9357, 49152));
|
npc = addSpawn(FAKE_BELETH, new Location(xm[6], ym[6], -9357, 49152));
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
_minions.add(npc);
|
_minions.add(npc);
|
||||||
xm[7] = (xm[3] + xm[0]) / 2;
|
xm[7] = (xm[3] + xm[0]) / 2;
|
||||||
ym[7] = (ym[3] + ym[0]) / 2;
|
ym[7] = (ym[3] + ym[0]) / 2;
|
||||||
npc = addSpawn(FAKE_BELETH, new Location(xm[7], ym[7], -9357, 49152));
|
npc = addSpawn(FAKE_BELETH, new Location(xm[7], ym[7], -9357, 49152));
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
_minions.add(npc);
|
_minions.add(npc);
|
||||||
|
|
||||||
xm[8] = (xm[0] + xm[4]) / 2;
|
xm[8] = (xm[0] + xm[4]) / 2;
|
||||||
@ -537,8 +537,8 @@ public class Beleth extends AbstractNpcAI
|
|||||||
for (Creature c : ZONE.getCharactersInside())
|
for (Creature c : ZONE.getCharactersInside())
|
||||||
{
|
{
|
||||||
c.enableAllSkills();
|
c.enableAllSkills();
|
||||||
c.setIsInvul(false);
|
c.setInvul(false);
|
||||||
c.setIsImmobilized(false);
|
c.setImmobilized(false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -761,14 +761,14 @@ public class Beleth extends AbstractNpcAI
|
|||||||
for (Creature c : ZONE.getCharactersInside())
|
for (Creature c : ZONE.getCharactersInside())
|
||||||
{
|
{
|
||||||
c.disableAllSkills();
|
c.disableAllSkills();
|
||||||
c.setIsInvul(true);
|
c.setInvul(true);
|
||||||
c.setIsImmobilized(true);
|
c.setImmobilized(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
_beleth = addSpawn(REAL_BELETH, new Location(16323, 213170, -9357, 49152));
|
_beleth = addSpawn(REAL_BELETH, new Location(16323, 213170, -9357, 49152));
|
||||||
_beleth.disableAllSkills();
|
_beleth.disableAllSkills();
|
||||||
_beleth.setIsInvul(true);
|
_beleth.setInvul(true);
|
||||||
_beleth.setIsImmobilized(true);
|
_beleth.setImmobilized(true);
|
||||||
|
|
||||||
_priest = addSpawn(ELF, new Location(_beleth));
|
_priest = addSpawn(ELF, new Location(_beleth));
|
||||||
_priest.setShowSummonAnimation(true);
|
_priest.setShowSummonAnimation(true);
|
||||||
|
@ -224,7 +224,7 @@ public class Core extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.getId() == CORE)
|
if (npc.getId() == CORE)
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
}
|
}
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
@ -276,7 +276,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
case "STAGE_1_PAUSE":
|
case "STAGE_1_PAUSE":
|
||||||
{
|
{
|
||||||
final GrandBossInstance frey = (GrandBossInstance) addSpawn(FREYA_SPELLING, FREYA_SPELLING_SPAWN, false, 0, true, world.getId());
|
final GrandBossInstance frey = (GrandBossInstance) addSpawn(FREYA_SPELLING, FREYA_SPELLING_SPAWN, false, 0, true, world.getId());
|
||||||
frey.setIsInvul(true);
|
frey.setInvul(true);
|
||||||
frey.setRandomWalking(false);
|
frey.setRandomWalking(false);
|
||||||
frey.disableCoreAI(true);
|
frey.disableCoreAI(true);
|
||||||
manageTimer(world, 60, NpcStringId.TIME_REMAINING_UNTIL_NEXT_BATTLE);
|
manageTimer(world, 60, NpcStringId.TIME_REMAINING_UNTIL_NEXT_BATTLE);
|
||||||
@ -428,22 +428,22 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
{
|
{
|
||||||
for (PlayerInstance players : world.getPlayers())
|
for (PlayerInstance players : world.getPlayers())
|
||||||
{
|
{
|
||||||
players.setIsInvul(false);
|
players.setInvul(false);
|
||||||
}
|
}
|
||||||
freya.setIsInvul(false);
|
freya.setInvul(false);
|
||||||
freya.disableCoreAI(false);
|
freya.disableCoreAI(false);
|
||||||
manageScreenMsg(world, NpcStringId.BEGIN_STAGE_4);
|
manageScreenMsg(world, NpcStringId.BEGIN_STAGE_4);
|
||||||
|
|
||||||
final FriendlyNpcInstance jinia = (FriendlyNpcInstance) addSpawn(SUPP_JINIA, SUPP_JINIA_SPAWN, false, 0, true, world.getId());
|
final FriendlyNpcInstance jinia = (FriendlyNpcInstance) addSpawn(SUPP_JINIA, SUPP_JINIA_SPAWN, false, 0, true, world.getId());
|
||||||
jinia.setRunning();
|
jinia.setRunning();
|
||||||
jinia.setIsInvul(true);
|
jinia.setInvul(true);
|
||||||
jinia.setCanReturnToSpawnPoint(false);
|
jinia.setCanReturnToSpawnPoint(false);
|
||||||
jinia.reduceCurrentHp(1, freya, null); // TODO: Find better way for attack
|
jinia.reduceCurrentHp(1, freya, null); // TODO: Find better way for attack
|
||||||
freya.reduceCurrentHp(1, jinia, null);
|
freya.reduceCurrentHp(1, jinia, null);
|
||||||
|
|
||||||
final FriendlyNpcInstance kegor = (FriendlyNpcInstance) addSpawn(SUPP_KEGOR, SUPP_KEGOR_SPAWN, false, 0, true, world.getId());
|
final FriendlyNpcInstance kegor = (FriendlyNpcInstance) addSpawn(SUPP_KEGOR, SUPP_KEGOR_SPAWN, false, 0, true, world.getId());
|
||||||
kegor.setRunning();
|
kegor.setRunning();
|
||||||
kegor.setIsInvul(true);
|
kegor.setInvul(true);
|
||||||
kegor.setCanReturnToSpawnPoint(false);
|
kegor.setCanReturnToSpawnPoint(false);
|
||||||
kegor.reduceCurrentHp(1, freya, null); // TODO: Find better way for attack
|
kegor.reduceCurrentHp(1, freya, null); // TODO: Find better way for attack
|
||||||
freya.reduceCurrentHp(1, kegor, null);
|
freya.reduceCurrentHp(1, kegor, null);
|
||||||
@ -492,7 +492,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
final Attackable knight = (Attackable) addSpawn(isHardMode ? KNIGHT_HARD : KNIGHT_EASY, npc.getLocation(), false, 0, false, world.getId());
|
final Attackable knight = (Attackable) addSpawn(isHardMode ? KNIGHT_HARD : KNIGHT_EASY, npc.getLocation(), false, 0, false, world.getId());
|
||||||
knight.getVariables().set("SPAWNED_NPC", npc);
|
knight.getVariables().set("SPAWNED_NPC", npc);
|
||||||
knight.disableCoreAI(true);
|
knight.disableCoreAI(true);
|
||||||
knight.setIsImmobilized(true);
|
knight.setImmobilized(true);
|
||||||
knight.setDisplayEffect(1);
|
knight.setDisplayEffect(1);
|
||||||
knight.getSpawn().setLocation(loc);
|
knight.getSpawn().setLocation(loc);
|
||||||
|
|
||||||
@ -509,7 +509,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
final Attackable glacier = (Attackable) addSpawn(GLACIER, loc, false, 0, false, world.getId());
|
final Attackable glacier = (Attackable) addSpawn(GLACIER, loc, false, 0, false, world.getId());
|
||||||
glacier.setDisplayEffect(1);
|
glacier.setDisplayEffect(1);
|
||||||
glacier.disableCoreAI(true);
|
glacier.disableCoreAI(true);
|
||||||
glacier.setIsImmobilized(true);
|
glacier.setImmobilized(true);
|
||||||
startQuestTimer("CHANGE_STATE", 1400, glacier, null);
|
startQuestTimer("CHANGE_STATE", 1400, glacier, null);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -519,7 +519,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
if (npc.isCoreAIDisabled())
|
if (npc.isCoreAIDisabled())
|
||||||
{
|
{
|
||||||
npc.disableCoreAI(false);
|
npc.disableCoreAI(false);
|
||||||
npc.setIsImmobilized(false);
|
npc.setImmobilized(false);
|
||||||
npc.setDisplayEffect(2);
|
npc.setDisplayEffect(2);
|
||||||
manageRandomAttack(world, npc);
|
manageRandomAttack(world, npc);
|
||||||
}
|
}
|
||||||
@ -829,11 +829,11 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
if ((npc.getCurrentHp() < (npc.getMaxHp() * 0.2)) && !params.getBoolean("isSupportActive", false))
|
if ((npc.getCurrentHp() < (npc.getMaxHp() * 0.2)) && !params.getBoolean("isSupportActive", false))
|
||||||
{
|
{
|
||||||
world.setParameter("isSupportActive", true);
|
world.setParameter("isSupportActive", true);
|
||||||
freya.setIsInvul(true);
|
freya.setInvul(true);
|
||||||
freya.disableCoreAI(true);
|
freya.disableCoreAI(true);
|
||||||
for (PlayerInstance players : world.getPlayers())
|
for (PlayerInstance players : world.getPlayers())
|
||||||
{
|
{
|
||||||
players.setIsInvul(true);
|
players.setInvul(true);
|
||||||
players.abortAttack();
|
players.abortAttack();
|
||||||
}
|
}
|
||||||
manageMovie(world, Movie.SC_BOSS_KEGOR_INTRUSION);
|
manageMovie(world, Movie.SC_BOSS_KEGOR_INTRUSION);
|
||||||
@ -925,7 +925,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
|||||||
{
|
{
|
||||||
manageRandomAttack(world, npc);
|
manageRandomAttack(world, npc);
|
||||||
npc.disableCoreAI(false);
|
npc.disableCoreAI(false);
|
||||||
npc.setIsImmobilized(false);
|
npc.setImmobilized(false);
|
||||||
npc.setDisplayEffect(2);
|
npc.setDisplayEffect(2);
|
||||||
cancelQuestTimer("ICE_RUPTURE", npc, null);
|
cancelQuestTimer("ICE_RUPTURE", npc, null);
|
||||||
}
|
}
|
||||||
|
@ -228,8 +228,8 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
|
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
|
||||||
|
|
||||||
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
|
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
|
||||||
frintezza.setIsImmobilized(true);
|
frintezza.setImmobilized(true);
|
||||||
frintezza.setIsInvul(true);
|
frintezza.setInvul(true);
|
||||||
frintezza.disableAllSkills();
|
frintezza.disableAllSkills();
|
||||||
world.setParameter("frintezza", frintezza);
|
world.setParameter("frintezza", frintezza);
|
||||||
|
|
||||||
@ -237,7 +237,7 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
for (int[] element : PORTRAIT_SPAWNS)
|
for (int[] element : PORTRAIT_SPAWNS)
|
||||||
{
|
{
|
||||||
final MonsterInstance demon = (MonsterInstance) addSpawn(element[0] + 2, element[5], element[6], element[7], element[8], false, 0, false, world.getId());
|
final MonsterInstance demon = (MonsterInstance) addSpawn(element[0] + 2, element[5], element[6], element[7], element[8], false, 0, false, world.getId());
|
||||||
demon.setIsImmobilized(true);
|
demon.setImmobilized(true);
|
||||||
demon.disableAllSkills();
|
demon.disableAllSkills();
|
||||||
demons.add(demon);
|
demons.add(demon);
|
||||||
}
|
}
|
||||||
@ -377,8 +377,8 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
final Npc activeScarlet = addSpawn(SCARLET1, -87789, -153295, -9176, 16384, false, 0, false, world.getId());
|
final Npc activeScarlet = addSpawn(SCARLET1, -87789, -153295, -9176, 16384, false, 0, false, world.getId());
|
||||||
world.setParameter("activeScarlet", activeScarlet);
|
world.setParameter("activeScarlet", activeScarlet);
|
||||||
activeScarlet.setRHandId(FIRST_SCARLET_WEAPON);
|
activeScarlet.setRHandId(FIRST_SCARLET_WEAPON);
|
||||||
activeScarlet.setIsInvul(true);
|
activeScarlet.setInvul(true);
|
||||||
activeScarlet.setIsImmobilized(true);
|
activeScarlet.setImmobilized(true);
|
||||||
activeScarlet.disableAllSkills();
|
activeScarlet.disableAllSkills();
|
||||||
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
|
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
|
||||||
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
|
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
|
||||||
@ -428,17 +428,17 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
|
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
|
||||||
for (Npc demon : demons)
|
for (Npc demon : demons)
|
||||||
{
|
{
|
||||||
demon.setIsImmobilized(false);
|
demon.setImmobilized(false);
|
||||||
demon.enableAllSkills();
|
demon.enableAllSkills();
|
||||||
}
|
}
|
||||||
activeScarlet.setIsInvul(false);
|
activeScarlet.setInvul(false);
|
||||||
activeScarlet.setIsImmobilized(false);
|
activeScarlet.setImmobilized(false);
|
||||||
activeScarlet.enableAllSkills();
|
activeScarlet.enableAllSkills();
|
||||||
activeScarlet.setRunning();
|
activeScarlet.setRunning();
|
||||||
activeScarlet.doCast(INTRO_SKILL.getSkill());
|
activeScarlet.doCast(INTRO_SKILL.getSkill());
|
||||||
frintezza.enableAllSkills();
|
frintezza.enableAllSkills();
|
||||||
frintezza.disableCoreAI(true);
|
frintezza.disableCoreAI(true);
|
||||||
frintezza.setIsInvul(true);
|
frintezza.setInvul(true);
|
||||||
enablePlayers(world);
|
enablePlayers(world);
|
||||||
startQuestTimer("PLAY_RANDOM_SONG", RANDOM_SONG_INTERVAL * 1000, frintezza, null, false);
|
startQuestTimer("PLAY_RANDOM_SONG", RANDOM_SONG_INTERVAL * 1000, frintezza, null, false);
|
||||||
startQuestTimer("SPAWN_DEMONS", TIME_BETWEEN_DEMON_SPAWNS * 1000, null, player, false);
|
startQuestTimer("SPAWN_DEMONS", TIME_BETWEEN_DEMON_SPAWNS * 1000, null, player, false);
|
||||||
@ -489,8 +489,8 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
|
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
|
||||||
activeScarlet.abortAttack();
|
activeScarlet.abortAttack();
|
||||||
activeScarlet.abortCast();
|
activeScarlet.abortCast();
|
||||||
activeScarlet.setIsInvul(true);
|
activeScarlet.setInvul(true);
|
||||||
activeScarlet.setIsImmobilized(true);
|
activeScarlet.setImmobilized(true);
|
||||||
activeScarlet.disableAllSkills();
|
activeScarlet.disableAllSkills();
|
||||||
playRandomSong(world);
|
playRandomSong(world);
|
||||||
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_1", 2000, npc, null, false);
|
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_1", 2000, npc, null, false);
|
||||||
@ -571,8 +571,8 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
final Npc activeScarlet = addSpawn(SCARLET2, scarletLocation, false, 0, false, world.getId());
|
final Npc activeScarlet = addSpawn(SCARLET2, scarletLocation, false, 0, false, world.getId());
|
||||||
world.setParameter("activeScarlet", activeScarlet);
|
world.setParameter("activeScarlet", activeScarlet);
|
||||||
activeScarlet.setRHandId(SECOND_SCARLET_WEAPON);
|
activeScarlet.setRHandId(SECOND_SCARLET_WEAPON);
|
||||||
activeScarlet.setIsInvul(true);
|
activeScarlet.setInvul(true);
|
||||||
activeScarlet.setIsImmobilized(true);
|
activeScarlet.setImmobilized(true);
|
||||||
activeScarlet.disableAllSkills();
|
activeScarlet.disableAllSkills();
|
||||||
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
|
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
|
||||||
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
|
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
|
||||||
@ -590,8 +590,8 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
{
|
{
|
||||||
final Instance world = npc.getInstanceWorld();
|
final Instance world = npc.getInstanceWorld();
|
||||||
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
|
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
|
||||||
activeScarlet.setIsInvul(false);
|
activeScarlet.setInvul(false);
|
||||||
activeScarlet.setIsImmobilized(false);
|
activeScarlet.setImmobilized(false);
|
||||||
activeScarlet.enableAllSkills();
|
activeScarlet.enableAllSkills();
|
||||||
enablePlayers(world);
|
enablePlayers(world);
|
||||||
break;
|
break;
|
||||||
@ -679,14 +679,14 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.setRandomWalking(false);
|
npc.setRandomWalking(false);
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
if (npc.getId() == HALL_ALARM)
|
if (npc.getId() == HALL_ALARM)
|
||||||
{
|
{
|
||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
}
|
}
|
||||||
else // dummy
|
else // dummy
|
||||||
{
|
{
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
}
|
}
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
@ -852,7 +852,7 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
player.disableAllSkills();
|
player.disableAllSkills();
|
||||||
player.setTarget(null);
|
player.setTarget(null);
|
||||||
player.stopMove(null);
|
player.stopMove(null);
|
||||||
player.setIsImmobilized(true);
|
player.setImmobilized(true);
|
||||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -865,7 +865,7 @@ public class LastImperialTomb extends AbstractInstance
|
|||||||
if ((player != null) && player.isOnline())
|
if ((player != null) && player.isOnline())
|
||||||
{
|
{
|
||||||
player.enableAllSkills();
|
player.enableAllSkills();
|
||||||
player.setIsImmobilized(false);
|
player.setImmobilized(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -189,7 +189,7 @@ public class ScarletVanHalisha extends AbstractNpcAI
|
|||||||
|
|
||||||
if ((target == null) || target.isDead())
|
if ((target == null) || target.isDead())
|
||||||
{
|
{
|
||||||
// npc.setIsCastingNow(false);
|
// npc.setCastingNow(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ public class ScarletVanHalisha extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
npc.getAI().setIntention(AI_INTENTION_IDLE);
|
npc.getAI().setIntention(AI_INTENTION_IDLE);
|
||||||
npc.setTarget(target);
|
npc.setTarget(target);
|
||||||
// npc.setIsCastingNow(true);
|
// npc.setCastingNow(true);
|
||||||
_target = null;
|
_target = null;
|
||||||
npc.doCast(skill);
|
npc.doCast(skill);
|
||||||
}
|
}
|
||||||
@ -205,7 +205,7 @@ public class ScarletVanHalisha extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
npc.getAI().setIntention(AI_INTENTION_FOLLOW, target, null);
|
npc.getAI().setIntention(AI_INTENTION_FOLLOW, target, null);
|
||||||
npc.getAI().setIntention(AI_INTENTION_ATTACK, target, null);
|
npc.getAI().setIntention(AI_INTENTION_ATTACK, target, null);
|
||||||
// npc.setIsCastingNow(false);
|
// npc.setCastingNow(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ public class IstinaCavern extends AbstractInstance
|
|||||||
{
|
{
|
||||||
getTimers().addTimer("BALLISTA_CHECK_TIMER", 1000, npc, null);
|
getTimers().addTimer("BALLISTA_CHECK_TIMER", 1000, npc, null);
|
||||||
npc.setTargetable(true);
|
npc.setTargetable(true);
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
npcVars.set("COUNTING_ENABLED", true);
|
npcVars.set("COUNTING_ENABLED", true);
|
||||||
showOnScreenMsg(instance, NpcStringId.START_CHARGING_MANA_BALLISTA, ExShowScreenMessage.MIDDLE_CENTER, 4000);
|
showOnScreenMsg(instance, NpcStringId.START_CHARGING_MANA_BALLISTA, ExShowScreenMessage.MIDDLE_CENTER, 4000);
|
||||||
}
|
}
|
||||||
@ -271,7 +271,7 @@ public class IstinaCavern extends AbstractInstance
|
|||||||
{
|
{
|
||||||
npcVars.set("COUNTING_ENABLED", false);
|
npcVars.set("COUNTING_ENABLED", false);
|
||||||
npc.setTargetable(false);
|
npc.setTargetable(false);
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
getTimers().addTimer("BALLISTA_END_TIMER", 1000, npc, null);
|
getTimers().addTimer("BALLISTA_END_TIMER", 1000, npc, null);
|
||||||
instance.getPlayers().forEach(temp -> temp.sendPacket(new ExSendUIEvent(temp, 2, countDown, charged, 0, 2042, 0, NpcStringId.REPLENISH_BALLISTA_MAGIC_POWER.getId())));
|
instance.getPlayers().forEach(temp -> temp.sendPacket(new ExSendUIEvent(temp, 2, countDown, charged, 0, 2042, 0, NpcStringId.REPLENISH_BALLISTA_MAGIC_POWER.getId())));
|
||||||
}
|
}
|
||||||
@ -587,7 +587,7 @@ public class IstinaCavern extends AbstractInstance
|
|||||||
{
|
{
|
||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
npc.setUndying(true);
|
npc.setUndying(true);
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
npc.setTargetable(false);
|
npc.setTargetable(false);
|
||||||
getTimers().cancelTimer("BALLISTA_START_TIMER", npc, null);
|
getTimers().cancelTimer("BALLISTA_START_TIMER", npc, null);
|
||||||
getTimers().addTimer("BALLISTA_START_TIMER", 10000, npc, null);
|
getTimers().addTimer("BALLISTA_START_TIMER", 10000, npc, null);
|
||||||
|
@ -289,7 +289,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
p.broadcastPacket(new ExShowScreenMessage(NpcStringId.A_FEARSOME_POWER_EMANATES_FROM_LINDVIOR, ExShowScreenMessage.TOP_CENTER, 2000, true));
|
p.broadcastPacket(new ExShowScreenMessage(NpcStringId.A_FEARSOME_POWER_EMANATES_FROM_LINDVIOR, ExShowScreenMessage.TOP_CENTER, 2000, true));
|
||||||
});
|
});
|
||||||
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
||||||
_lindvior.setIsDead(true);
|
_lindvior.setDead(true);
|
||||||
_lindvior.deleteMe();
|
_lindvior.deleteMe();
|
||||||
|
|
||||||
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_FLY, _lindvior.getLocation(), false, 0, false);
|
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_FLY, _lindvior.getLocation(), false, 0, false);
|
||||||
@ -314,7 +314,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
else if ((percent <= 60) && (_status == 2))
|
else if ((percent <= 60) && (_status == 2))
|
||||||
{
|
{
|
||||||
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
||||||
_lindvior.setIsDead(true);
|
_lindvior.setDead(true);
|
||||||
_lindvior.deleteMe();
|
_lindvior.deleteMe();
|
||||||
|
|
||||||
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_GROUND, _lindvior.getLocation(), false, 0, false);
|
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_GROUND, _lindvior.getLocation(), false, 0, false);
|
||||||
@ -330,7 +330,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
else if ((percent <= 40) && (_status == 3))
|
else if ((percent <= 40) && (_status == 3))
|
||||||
{
|
{
|
||||||
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
||||||
_lindvior.setIsDead(true);
|
_lindvior.setDead(true);
|
||||||
_lindvior.deleteMe();
|
_lindvior.deleteMe();
|
||||||
|
|
||||||
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_FLY, _lindvior.getLocation(), false, 0, false);
|
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_FLY, _lindvior.getLocation(), false, 0, false);
|
||||||
@ -365,7 +365,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
_zoneLair.broadcastPacket(new ExShowScreenMessage(NpcStringId.LINDVIOR_HAS_LANDED, 2, 5000, true));
|
_zoneLair.broadcastPacket(new ExShowScreenMessage(NpcStringId.LINDVIOR_HAS_LANDED, 2, 5000, true));
|
||||||
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
_lindvior.broadcastPacket(new SocialAction(_lindvior.getObjectId(), 1));
|
||||||
_lindvior.setIsDead(true);
|
_lindvior.setDead(true);
|
||||||
_lindvior.deleteMe();
|
_lindvior.deleteMe();
|
||||||
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_RAID, _lindvior.getLocation(), false, 0, false);
|
_lindvior = (GrandBossInstance) addSpawn(LINDVIOR_RAID, _lindvior.getLocation(), false, 0, false);
|
||||||
_lindvior.setCurrentHp(_lindvior.getMaxHp() * 0.2);
|
_lindvior.setCurrentHp(_lindvior.getMaxHp() * 0.2);
|
||||||
@ -439,7 +439,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
if (mob.isNpc())
|
if (mob.isNpc())
|
||||||
{
|
{
|
||||||
mob.deleteMe();
|
mob.deleteMe();
|
||||||
mob.setIsDead(true);
|
mob.setDead(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -525,7 +525,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
case GENERATOR_GUARD:
|
case GENERATOR_GUARD:
|
||||||
{
|
{
|
||||||
getTimers().addTimer("NPC_SHOUT", (10 + getRandom(5)) * 1000, npc, null);
|
getTimers().addTimer("NPC_SHOUT", (10 + getRandom(5)) * 1000, npc, null);
|
||||||
((FriendlyNpcInstance) npc).setIsInvul(true);
|
((FriendlyNpcInstance) npc).setInvul(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NPC_GENERATOR:
|
case NPC_GENERATOR:
|
||||||
@ -533,7 +533,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
npc.setDisplayEffect(1);
|
npc.setDisplayEffect(1);
|
||||||
npc.setRandomWalking(false);
|
npc.setRandomWalking(false);
|
||||||
npc.setIsInvul(true); // Can't get damage now
|
npc.setInvul(true); // Can't get damage now
|
||||||
_activeMask = 0;
|
_activeMask = 0;
|
||||||
_chargedMask = 0;
|
_chargedMask = 0;
|
||||||
break;
|
break;
|
||||||
@ -605,7 +605,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
_generatorSpawn.forEach(npc ->
|
_generatorSpawn.forEach(npc ->
|
||||||
{
|
{
|
||||||
npc.setDisplayEffect(1);
|
npc.setDisplayEffect(1);
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
npc.broadcastInfo();
|
npc.broadcastInfo();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -680,7 +680,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
cancelQuestTimers("attack_generator");
|
cancelQuestTimers("attack_generator");
|
||||||
_lindvior2.setIsDead(true);
|
_lindvior2.setDead(true);
|
||||||
_lindvior2.deleteMe();
|
_lindvior2.deleteMe();
|
||||||
GrandBossManager.getInstance().setBossStatus(LINDVIOR_RAID, FIGHTING);
|
GrandBossManager.getInstance().setBossStatus(LINDVIOR_RAID, FIGHTING);
|
||||||
_lionel = addSpawn(LIONEL_HUNTER, 42630, -48231, -792, 855, false, 0, false);
|
_lionel = addSpawn(LIONEL_HUNTER, 42630, -48231, -792, 855, false, 0, false);
|
||||||
@ -756,7 +756,7 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
guard.setTarget(generators);
|
guard.setTarget(generators);
|
||||||
guard.doCast(RECHARGE.getSkill());
|
guard.doCast(RECHARGE.getSkill());
|
||||||
guard.setIsInvul(false);
|
guard.setInvul(false);
|
||||||
if (!guard.isDead())
|
if (!guard.isDead())
|
||||||
{
|
{
|
||||||
guard.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(GUARD_MSG_1));
|
guard.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(GUARD_MSG_1));
|
||||||
@ -905,9 +905,9 @@ public class Lindvior extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean hasFlag(int val, int flag)
|
private static boolean hasFlag(int value, int flag)
|
||||||
{
|
{
|
||||||
return (val & flag) == flag;
|
return (value & flag) == flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLindviorSpawnTask()
|
public void setLindviorSpawnTask()
|
||||||
|
@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowUsm;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowUsm;
|
||||||
@ -212,12 +212,12 @@ public class OctavisWarzone extends AbstractInstance
|
|||||||
|
|
||||||
if ((hpPer < 50) && npc.isScriptValue(0))
|
if ((hpPer < 50) && npc.isScriptValue(0))
|
||||||
{
|
{
|
||||||
npc.getStat().addFixedValue(Stats.REGENERATE_HP_RATE, 100d); // On original script 95000d was added, making Octavis targetable for two seconds.
|
npc.getStat().addFixedValue(Stat.REGENERATE_HP_RATE, 100d); // On original script 95000d was added, making Octavis targetable for two seconds.
|
||||||
npc.setScriptValue(1);
|
npc.setScriptValue(1);
|
||||||
}
|
}
|
||||||
else if ((hpPer > 90) && npc.isScriptValue(1))
|
else if ((hpPer > 90) && npc.isScriptValue(1))
|
||||||
{
|
{
|
||||||
npc.getStat().addFixedValue(Stats.REGENERATE_HP_RATE, 0d);
|
npc.getStat().addFixedValue(Stat.REGENERATE_HP_RATE, 0d);
|
||||||
npc.setScriptValue(0);
|
npc.setScriptValue(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +250,7 @@ public class QueenAnt extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
case LARVA:
|
case LARVA:
|
||||||
{
|
{
|
||||||
mob.setIsImmobilized(true);
|
mob.setImmobilized(true);
|
||||||
mob.setUndying(true);
|
mob.setUndying(true);
|
||||||
mob.setIsRaidMinion(true);
|
mob.setIsRaidMinion(true);
|
||||||
break;
|
break;
|
||||||
|
@ -149,8 +149,8 @@ public class Sailren extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
final RaidBossInstance sailren = (RaidBossInstance) addSpawn(SAILREN, 27549, -6638, -2008, 0, false, 0);
|
final RaidBossInstance sailren = (RaidBossInstance) addSpawn(SAILREN, 27549, -6638, -2008, 0, false, 0);
|
||||||
final Npc movieNpc = addSpawn(MOVIE_NPC, sailren.getX(), sailren.getY(), sailren.getZ() + 30, 0, false, 26000);
|
final Npc movieNpc = addSpawn(MOVIE_NPC, sailren.getX(), sailren.getY(), sailren.getZ() + 30, 0, false, 26000);
|
||||||
sailren.setIsInvul(true);
|
sailren.setInvul(true);
|
||||||
sailren.setIsImmobilized(true);
|
sailren.setImmobilized(true);
|
||||||
zone.broadcastPacket(new SpecialCamera(movieNpc, 60, 110, 30, 4000, 1500, 20000, 0, 65, 1, 0, 0));
|
zone.broadcastPacket(new SpecialCamera(movieNpc, 60, 110, 30, 4000, 1500, 20000, 0, 65, 1, 0, 0));
|
||||||
|
|
||||||
startQuestTimer("ATTACK", 24600, sailren, null);
|
startQuestTimer("ATTACK", 24600, sailren, null);
|
||||||
@ -205,8 +205,8 @@ public class Sailren extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
case "ATTACK":
|
case "ATTACK":
|
||||||
{
|
{
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
npc.setIsImmobilized(false);
|
npc.setImmobilized(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "CLEAR_STATUS":
|
case "CLEAR_STATUS":
|
||||||
|
@ -125,7 +125,7 @@ public class TautiWarzone extends AbstractInstance
|
|||||||
{
|
{
|
||||||
final Npc axe = addSpawn(npc.getId() == TAUTI_EXTREME ? TAUTI_EXTREME_AXE : TAUTI_COMMON_AXE, npc, false, 0, false, npc.getInstanceId());
|
final Npc axe = addSpawn(npc.getId() == TAUTI_EXTREME ? TAUTI_EXTREME_AXE : TAUTI_COMMON_AXE, npc, false, 0, false, npc.getInstanceId());
|
||||||
axe.setRandomWalking(false);
|
axe.setRandomWalking(false);
|
||||||
axe.setIsImmobilized(true);
|
axe.setImmobilized(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "WORLD_STATUS_CHECK":
|
case "WORLD_STATUS_CHECK":
|
||||||
|
@ -376,7 +376,7 @@ public class Trasken extends AbstractNpcAI
|
|||||||
if (mob.isNpc())
|
if (mob.isNpc())
|
||||||
{
|
{
|
||||||
mob.deleteMe();
|
mob.deleteMe();
|
||||||
mob.setIsDead(true);
|
mob.setDead(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
_zoneLair2.getCharactersInside().forEach(mob ->
|
_zoneLair2.getCharactersInside().forEach(mob ->
|
||||||
@ -384,7 +384,7 @@ public class Trasken extends AbstractNpcAI
|
|||||||
if (mob.isNpc())
|
if (mob.isNpc())
|
||||||
{
|
{
|
||||||
mob.deleteMe();
|
mob.deleteMe();
|
||||||
mob.setIsDead(true);
|
mob.setDead(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -475,23 +475,23 @@ public class Trasken extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
case TAIL_TRASKEN:
|
case TAIL_TRASKEN:
|
||||||
{
|
{
|
||||||
npc.setIsOverloaded(true);
|
npc.setOverloaded(true);
|
||||||
npc.setRandomWalking(true);
|
npc.setRandomWalking(true);
|
||||||
npc.doCast(SKILL_TAIL.getSkill());
|
npc.doCast(SKILL_TAIL.getSkill());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TRASKEN:
|
case TRASKEN:
|
||||||
{
|
{
|
||||||
npc.setIsOverloaded(true);
|
npc.setOverloaded(true);
|
||||||
npc.setRandomWalking(true);
|
npc.setRandomWalking(true);
|
||||||
npc.setIsDead(false);
|
npc.setDead(false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TIE:
|
case TIE:
|
||||||
case BIG_TIE:
|
case BIG_TIE:
|
||||||
{
|
{
|
||||||
World.getInstance().forEachVisibleObjectInRange(npc, PlayerInstance.class, 600, npc::setTarget);
|
World.getInstance().forEachVisibleObjectInRange(npc, PlayerInstance.class, 600, npc::setTarget);
|
||||||
npc.setIsOverloaded(true);
|
npc.setOverloaded(true);
|
||||||
npc.setRandomWalking(true);
|
npc.setRandomWalking(true);
|
||||||
npc.getSpawn().setRespawnDelay(60);
|
npc.getSpawn().setRespawnDelay(60);
|
||||||
break;
|
break;
|
||||||
@ -520,7 +520,7 @@ public class Trasken extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
case DIGISTIVE:
|
case DIGISTIVE:
|
||||||
{
|
{
|
||||||
npc.setIsOverloaded(true);
|
npc.setOverloaded(true);
|
||||||
npc.setRandomWalking(true);
|
npc.setRandomWalking(true);
|
||||||
npc.getSpawn().setRespawnDelay(60);
|
npc.getSpawn().setRespawnDelay(60);
|
||||||
World.getInstance().forEachVisibleObjectInRange(npc, PlayerInstance.class, 1000, npc::setTarget);
|
World.getInstance().forEachVisibleObjectInRange(npc, PlayerInstance.class, 1000, npc::setTarget);
|
||||||
@ -528,7 +528,7 @@ public class Trasken extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
case HEART_ERTHWYRM:
|
case HEART_ERTHWYRM:
|
||||||
{
|
{
|
||||||
npc.setIsOverloaded(true);
|
npc.setOverloaded(true);
|
||||||
npc.setRandomWalking(true);
|
npc.setRandomWalking(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -586,7 +586,7 @@ public class Trasken extends AbstractNpcAI
|
|||||||
case "finish":
|
case "finish":
|
||||||
{
|
{
|
||||||
_trasken.doDie(player);
|
_trasken.doDie(player);
|
||||||
_trasken.setIsDead(true);
|
_trasken.setDead(true);
|
||||||
_zoneLair2.getPlayersInside().forEach(players -> players.teleToLocation(CENTER_LOCATION));
|
_zoneLair2.getPlayersInside().forEach(players -> players.teleToLocation(CENTER_LOCATION));
|
||||||
_zoneLair2.getPlayersInside().forEach(p -> playMovie(p, Movie.SC_EARTHWORM_ENDING));
|
_zoneLair2.getPlayersInside().forEach(p -> playMovie(p, Movie.SC_EARTHWORM_ENDING));
|
||||||
if (_collapseTask != null)
|
if (_collapseTask != null)
|
||||||
|
@ -143,7 +143,7 @@ public class Valakas extends AbstractNpcAI
|
|||||||
GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT);
|
GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT);
|
||||||
GrandBossManager.getInstance().addBoss((GrandBossInstance) valakas);
|
GrandBossManager.getInstance().addBoss((GrandBossInstance) valakas);
|
||||||
|
|
||||||
valakas.setIsInvul(true);
|
valakas.setInvul(true);
|
||||||
valakas.setRunning();
|
valakas.setRunning();
|
||||||
|
|
||||||
valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||||
@ -176,7 +176,7 @@ public class Valakas extends AbstractNpcAI
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
valakas.teleToLocation(VALAKAS_HIDDEN_LOC);
|
valakas.teleToLocation(VALAKAS_HIDDEN_LOC);
|
||||||
valakas.setIsInvul(true);
|
valakas.setInvul(true);
|
||||||
valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||||
|
|
||||||
// Start timer to lock entry after 30 minutes
|
// Start timer to lock entry after 30 minutes
|
||||||
@ -314,7 +314,7 @@ public class Valakas extends AbstractNpcAI
|
|||||||
else if (event.equalsIgnoreCase("spawn_10"))
|
else if (event.equalsIgnoreCase("spawn_10"))
|
||||||
{
|
{
|
||||||
GrandBossManager.getInstance().setBossStatus(VALAKAS, FIGHTING);
|
GrandBossManager.getInstance().setBossStatus(VALAKAS, FIGHTING);
|
||||||
npc.setIsInvul(false);
|
npc.setInvul(false);
|
||||||
|
|
||||||
startQuestTimer("regen_task", 60000, npc, null, true);
|
startQuestTimer("regen_task", 60000, npc, null, true);
|
||||||
startQuestTimer("skill_task", 2000, npc, null, true);
|
startQuestTimer("skill_task", 2000, npc, null, true);
|
||||||
@ -368,7 +368,7 @@ public class Valakas extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
final Npc valakas = addSpawn(VALAKAS, VALAKAS_REGENERATION_LOC, false, 0);
|
final Npc valakas = addSpawn(VALAKAS, VALAKAS_REGENERATION_LOC, false, 0);
|
||||||
valakas.teleToLocation(VALAKAS_HIDDEN_LOC);
|
valakas.teleToLocation(VALAKAS_HIDDEN_LOC);
|
||||||
valakas.setIsInvul(true);
|
valakas.setInvul(true);
|
||||||
valakas.setRunning();
|
valakas.setRunning();
|
||||||
valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
valakas.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||||
GrandBossManager.getInstance().addBoss((GrandBossInstance) valakas);
|
GrandBossManager.getInstance().addBoss((GrandBossInstance) valakas);
|
||||||
|
@ -76,7 +76,7 @@ public class FairyTrees extends AbstractNpcAI
|
|||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.setRandomWalking(false);
|
npc.setRandomWalking(false);
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,8 +133,8 @@ public class PrisonGuards extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
if (npc.getId() == GUARD_HEAD)
|
if (npc.getId() == GUARD_HEAD)
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
npc.setIsInvul(true);
|
npc.setInvul(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -41,7 +41,7 @@ public class Scarecrow extends AbstractNpcAI
|
|||||||
public String onSpawn(Npc npc)
|
public String onSpawn(Npc npc)
|
||||||
{
|
{
|
||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
return super.onSpawn(npc);
|
return super.onSpawn(npc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ public class SiegeGuards extends AbstractNpcAI
|
|||||||
npc.setRandomWalking(false);
|
npc.setRandomWalking(false);
|
||||||
if ((npc.getTemplate().getBaseAttackType() != WeaponType.SWORD) && (npc.getTemplate().getBaseAttackType() != WeaponType.POLE))
|
if ((npc.getTemplate().getBaseAttackType() != WeaponType.SWORD) && (npc.getTemplate().getBaseAttackType() != WeaponType.POLE))
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
}
|
}
|
||||||
final Castle castle = npc.getCastle();
|
final Castle castle = npc.getCastle();
|
||||||
final Fort fortress = npc.getFort();
|
final Fort fortress = npc.getFort();
|
||||||
|
@ -107,10 +107,10 @@ public class TrainingCamp extends AbstractNpcAI
|
|||||||
player.disableAutoShotsAll();
|
player.disableAutoShotsAll();
|
||||||
player.setLastLocation();
|
player.setLastLocation();
|
||||||
player.disableAllSkills();
|
player.disableAllSkills();
|
||||||
player.setIsInvul(true);
|
player.setInvul(true);
|
||||||
player.setInvisible(true);
|
player.setInvisible(true);
|
||||||
player.teleToLocation(TRAINING_LOCATION);
|
player.teleToLocation(TRAINING_LOCATION);
|
||||||
player.setIsImmobilized(true);
|
player.setImmobilized(true);
|
||||||
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
// @Sdw: Here we are supposed to send ExUserInfoEquipSlot with a fake equip of a SLS, feels ugly to me, not doing it.
|
||||||
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
player.setTraingCampInfo(new TrainingHolder(player.getObjectId(), player.getClassIndex(), player.getLevel(), System.currentTimeMillis(), -1));
|
||||||
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
final long timeRemaining = Config.TRAINING_CAMP_MAX_DURATION - trainingCampDuration;
|
||||||
@ -207,9 +207,9 @@ public class TrainingCamp extends AbstractNpcAI
|
|||||||
holder.setEndTime(System.currentTimeMillis());
|
holder.setEndTime(System.currentTimeMillis());
|
||||||
player.setTraingCampInfo(holder);
|
player.setTraingCampInfo(holder);
|
||||||
player.enableAllSkills();
|
player.enableAllSkills();
|
||||||
player.setIsInvul(false);
|
player.setInvul(false);
|
||||||
player.setInvisible(false);
|
player.setInvisible(false);
|
||||||
player.setIsImmobilized(false);
|
player.setImmobilized(false);
|
||||||
player.teleToLocation(player.getLastLocation());
|
player.teleToLocation(player.getLastLocation());
|
||||||
player.unsetLastLocation();
|
player.unsetLastLocation();
|
||||||
player.sendPacket(ExTrainingZone_Leaving.STATIC_PACKET);
|
player.sendPacket(ExTrainingZone_Leaving.STATIC_PACKET);
|
||||||
@ -318,10 +318,10 @@ public class TrainingCamp extends AbstractNpcAI
|
|||||||
{
|
{
|
||||||
player.setLastLocation();
|
player.setLastLocation();
|
||||||
player.disableAllSkills();
|
player.disableAllSkills();
|
||||||
player.setIsInvul(true);
|
player.setInvul(true);
|
||||||
player.setInvisible(true);
|
player.setInvisible(true);
|
||||||
player.teleToLocation(TRAINING_LOCATION);
|
player.teleToLocation(TRAINING_LOCATION);
|
||||||
player.setIsImmobilized(true);
|
player.setImmobilized(true);
|
||||||
final long remainingDuration = remainingPlayerTime - elapsedTime;
|
final long remainingDuration = remainingPlayerTime - elapsedTime;
|
||||||
player.sendPacket(new ExTrainingZone_Admission(holder.getLevel(), TimeUnit.SECONDS.toMinutes(elapsedTime), remainingDuration));
|
player.sendPacket(new ExTrainingZone_Admission(holder.getLevel(), TimeUnit.SECONDS.toMinutes(elapsedTime), remainingDuration));
|
||||||
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(remainingDuration), null, player);
|
startQuestTimer("finish", TimeUnit.SECONDS.toMillis(remainingDuration), null, player);
|
||||||
|
@ -256,7 +256,7 @@ public class Rabbits extends Event
|
|||||||
final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay);
|
final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay);
|
||||||
if (npc.getId() == CHEST)
|
if (npc.getId() == CHEST)
|
||||||
{
|
{
|
||||||
npc.setIsImmobilized(true);
|
npc.setImmobilized(true);
|
||||||
npc.disableCoreAI(true);
|
npc.disableCoreAI(true);
|
||||||
npc.setInvisible(true);
|
npc.setInvisible(true);
|
||||||
}
|
}
|
||||||
|
@ -361,13 +361,13 @@ public class TvT extends Event
|
|||||||
// Disable players.
|
// Disable players.
|
||||||
for (PlayerInstance participant : PLAYER_LIST)
|
for (PlayerInstance participant : PLAYER_LIST)
|
||||||
{
|
{
|
||||||
participant.setIsInvul(true);
|
participant.setInvul(true);
|
||||||
participant.setIsImmobilized(true);
|
participant.setImmobilized(true);
|
||||||
participant.disableAllSkills();
|
participant.disableAllSkills();
|
||||||
for (Summon summon : participant.getServitors().values())
|
for (Summon summon : participant.getServitors().values())
|
||||||
{
|
{
|
||||||
summon.setIsInvul(true);
|
summon.setInvul(true);
|
||||||
summon.setIsImmobilized(true);
|
summon.setImmobilized(true);
|
||||||
summon.disableAllSkills();
|
summon.disableAllSkills();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -446,13 +446,13 @@ public class TvT extends Event
|
|||||||
// Enable players.
|
// Enable players.
|
||||||
for (PlayerInstance participant : PLAYER_LIST)
|
for (PlayerInstance participant : PLAYER_LIST)
|
||||||
{
|
{
|
||||||
participant.setIsInvul(false);
|
participant.setInvul(false);
|
||||||
participant.setIsImmobilized(false);
|
participant.setImmobilized(false);
|
||||||
participant.enableAllSkills();
|
participant.enableAllSkills();
|
||||||
for (Summon summon : participant.getServitors().values())
|
for (Summon summon : participant.getServitors().values())
|
||||||
{
|
{
|
||||||
summon.setIsInvul(true);
|
summon.setInvul(true);
|
||||||
summon.setIsImmobilized(true);
|
summon.setImmobilized(true);
|
||||||
summon.disableAllSkills();
|
summon.disableAllSkills();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.model.base.ClassId;
|
import org.l2jmobius.gameserver.model.base.ClassId;
|
||||||
import org.l2jmobius.gameserver.model.html.PageBuilder;
|
import org.l2jmobius.gameserver.model.html.PageBuilder;
|
||||||
import org.l2jmobius.gameserver.model.html.PageResult;
|
import org.l2jmobius.gameserver.model.html.PageResult;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||||
@ -976,8 +976,8 @@ public class AdminEditChar implements IAdminCommandHandler
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Stats stat = null;
|
Stat stat = null;
|
||||||
for (Stats stats : Stats.values())
|
for (Stat stats : Stat.values())
|
||||||
{
|
{
|
||||||
if (statName.equalsIgnoreCase(stats.name()) || statName.equalsIgnoreCase(stats.getValue()))
|
if (statName.equalsIgnoreCase(stats.name()) || statName.equalsIgnoreCase(stats.getValue()))
|
||||||
{
|
{
|
||||||
@ -1027,8 +1027,8 @@ public class AdminEditChar implements IAdminCommandHandler
|
|||||||
}
|
}
|
||||||
final String statName = st.nextToken();
|
final String statName = st.nextToken();
|
||||||
|
|
||||||
Stats stat = null;
|
Stat stat = null;
|
||||||
for (Stats stats : Stats.values())
|
for (Stat stats : Stat.values())
|
||||||
{
|
{
|
||||||
if (statName.equalsIgnoreCase(stats.name()) || statName.equalsIgnoreCase(stats.getValue()))
|
if (statName.equalsIgnoreCase(stats.name()) || statName.equalsIgnoreCase(stats.getValue()))
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,7 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
|||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||||
|
|
||||||
@ -294,10 +294,10 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
|||||||
final int tdmg2 = (int) (sAtk2 * dmg2);
|
final int tdmg2 = (int) (sAtk2 * dmg2);
|
||||||
// HP restored per 100 seconds
|
// HP restored per 100 seconds
|
||||||
final double maxHp1 = npc1.getMaxHp();
|
final double maxHp1 = npc1.getMaxHp();
|
||||||
final int hp1 = (int) ((npc1.getStat().getValue(Stats.REGENERATE_HP_RATE) * 100000) / Formulas.getRegeneratePeriod(npc1));
|
final int hp1 = (int) ((npc1.getStat().getValue(Stat.REGENERATE_HP_RATE) * 100000) / Formulas.getRegeneratePeriod(npc1));
|
||||||
|
|
||||||
final double maxHp2 = npc2.getMaxHp();
|
final double maxHp2 = npc2.getMaxHp();
|
||||||
final int hp2 = (int) ((npc2.getStat().getValue(Stats.REGENERATE_HP_RATE) * 100000) / Formulas.getRegeneratePeriod(npc2));
|
final int hp2 = (int) ((npc2.getStat().getValue(Stat.REGENERATE_HP_RATE) * 100000) / Formulas.getRegeneratePeriod(npc2));
|
||||||
|
|
||||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1);
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
|||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.util.BuilderUtil;
|
import org.l2jmobius.gameserver.util.BuilderUtil;
|
||||||
import org.l2jmobius.gameserver.util.Util;
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ public class AdminGmSpeed implements IAdminCommandHandler
|
|||||||
"admin_gmspeed",
|
"admin_gmspeed",
|
||||||
};
|
};
|
||||||
|
|
||||||
private static final Set<Stats> SPEED_STATS = EnumSet.of(Stats.RUN_SPEED, Stats.WALK_SPEED, Stats.SWIM_RUN_SPEED, Stats.SWIM_WALK_SPEED, Stats.FLY_RUN_SPEED, Stats.FLY_WALK_SPEED);
|
private static final Set<Stat> SPEED_STATS = EnumSet.of(Stat.RUN_SPEED, Stat.WALK_SPEED, Stat.SWIM_RUN_SPEED, Stat.SWIM_WALK_SPEED, Stat.FLY_RUN_SPEED, Stat.FLY_WALK_SPEED);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean useAdminCommand(String command, PlayerInstance player)
|
public boolean useAdminCommand(String command, PlayerInstance player)
|
||||||
|
@ -81,12 +81,12 @@ public class AdminInvul implements IAdminCommandHandler
|
|||||||
String text;
|
String text;
|
||||||
if (activeChar.isInvul())
|
if (activeChar.isInvul())
|
||||||
{
|
{
|
||||||
activeChar.setIsInvul(false);
|
activeChar.setInvul(false);
|
||||||
text = activeChar.getName() + " is now mortal.";
|
text = activeChar.getName() + " is now mortal.";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
activeChar.setIsInvul(true);
|
activeChar.setInvul(true);
|
||||||
text = activeChar.getName() + " is now invulnerable.";
|
text = activeChar.getName() + " is now invulnerable.";
|
||||||
}
|
}
|
||||||
BuilderUtil.sendSysMessage(activeChar, text);
|
BuilderUtil.sendSysMessage(activeChar, text);
|
||||||
|
@ -143,14 +143,14 @@ public class AdminKill implements IAdminCommandHandler
|
|||||||
if (target.isInvul())
|
if (target.isInvul())
|
||||||
{
|
{
|
||||||
targetIsInvul = true;
|
targetIsInvul = true;
|
||||||
target.setIsInvul(false);
|
target.setInvul(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
target.reduceCurrentHp(target.getMaxHp() + 1, activeChar, null);
|
target.reduceCurrentHp(target.getMaxHp() + 1, activeChar, null);
|
||||||
|
|
||||||
if (targetIsInvul)
|
if (targetIsInvul)
|
||||||
{
|
{
|
||||||
target.setIsInvul(true);
|
target.setInvul(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -261,7 +261,7 @@ public class AdminQuest implements IAdminCommandHandler
|
|||||||
{
|
{
|
||||||
for (QuestTimer timer : list)
|
for (QuestTimer timer : list)
|
||||||
{
|
{
|
||||||
timers += "<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">" + timer.getName() + ":</font> <font color=00FF00>Active: " + timer.getIsActive() + " Repeatable: " + timer.getIsRepeating() + " Player: " + timer.getPlayer() + " Npc: " + timer.getNpc() + "</font></td></tr></table></td></tr>";
|
timers += "<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">" + timer.getName() + ":</font> <font color=00FF00>Active: " + timer.isActive() + " Repeatable: " + timer.isRepeating() + " Player: " + timer.getPlayer() + " Npc: " + timer.getNpc() + "</font></td></tr></table></td></tr>";
|
||||||
counter++;
|
counter++;
|
||||||
if (counter > 10)
|
if (counter > 10)
|
||||||
{
|
{
|
||||||
|
@ -499,9 +499,9 @@ public class AdminSkill implements IAdminCommandHandler
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param activeChar the active Game Master.
|
* @param activeChar the active Game Master.
|
||||||
* @param val
|
* @param value
|
||||||
*/
|
*/
|
||||||
private void adminAddSkill(PlayerInstance activeChar, String val)
|
private void adminAddSkill(PlayerInstance activeChar, String value)
|
||||||
{
|
{
|
||||||
final WorldObject target = activeChar.getTarget();
|
final WorldObject target = activeChar.getTarget();
|
||||||
if ((target == null) || !target.isPlayer())
|
if ((target == null) || !target.isPlayer())
|
||||||
@ -511,7 +511,7 @@ public class AdminSkill implements IAdminCommandHandler
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final PlayerInstance player = target.getActingPlayer();
|
final PlayerInstance player = target.getActingPlayer();
|
||||||
final StringTokenizer st = new StringTokenizer(val);
|
final StringTokenizer st = new StringTokenizer(value);
|
||||||
if ((st.countTokens() != 1) && (st.countTokens() != 2))
|
if ((st.countTokens() != 1) && (st.countTokens() != 2))
|
||||||
{
|
{
|
||||||
showMainPage(activeChar);
|
showMainPage(activeChar);
|
||||||
|
@ -37,7 +37,7 @@ import org.l2jmobius.gameserver.model.actor.Npc;
|
|||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.holders.DropHolder;
|
import org.l2jmobius.gameserver.model.holders.DropHolder;
|
||||||
import org.l2jmobius.gameserver.model.items.Item;
|
import org.l2jmobius.gameserver.model.items.Item;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||||
import org.l2jmobius.gameserver.util.HtmlUtil;
|
import org.l2jmobius.gameserver.util.HtmlUtil;
|
||||||
import org.l2jmobius.gameserver.util.Util;
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
@ -398,9 +398,9 @@ public class NpcViewMod implements IBypassHandler
|
|||||||
|
|
||||||
int leftHeight = 0;
|
int leftHeight = 0;
|
||||||
int rightHeight = 0;
|
int rightHeight = 0;
|
||||||
final double dropAmountEffectBonus = player.getStat().getValue(Stats.BONUS_DROP_AMOUNT, 1);
|
final double dropAmountEffectBonus = player.getStat().getValue(Stat.BONUS_DROP_AMOUNT, 1);
|
||||||
final double dropRateEffectBonus = player.getStat().getValue(Stats.BONUS_DROP_RATE, 1);
|
final double dropRateEffectBonus = player.getStat().getValue(Stat.BONUS_DROP_RATE, 1);
|
||||||
final double spoilRateEffectBonus = player.getStat().getValue(Stats.BONUS_SPOIL_RATE, 1);
|
final double spoilRateEffectBonus = player.getStat().getValue(Stat.BONUS_SPOIL_RATE, 1);
|
||||||
final StringBuilder leftSb = new StringBuilder();
|
final StringBuilder leftSb = new StringBuilder();
|
||||||
final StringBuilder rightSb = new StringBuilder();
|
final StringBuilder rightSb = new StringBuilder();
|
||||||
String limitReachedMsg = "";
|
String limitReachedMsg = "";
|
||||||
|
@ -68,12 +68,12 @@ public class Wear implements IBypassHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showWearWindow(PlayerInstance player, int val)
|
private void showWearWindow(PlayerInstance player, int value)
|
||||||
{
|
{
|
||||||
final ProductList buyList = BuyListData.getInstance().getBuyList(val);
|
final ProductList buyList = BuyListData.getInstance().getBuyList(value);
|
||||||
if (buyList == null)
|
if (buyList == null)
|
||||||
{
|
{
|
||||||
LOGGER.warning("BuyList not found! BuyListId:" + val);
|
LOGGER.warning("BuyList not found! BuyListId:" + value);
|
||||||
player.sendPacket(ActionFailed.STATIC_PACKET);
|
player.sendPacket(ActionFailed.STATIC_PACKET);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ import org.l2jmobius.gameserver.model.holders.DropHolder;
|
|||||||
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||||
import org.l2jmobius.gameserver.model.items.Item;
|
import org.l2jmobius.gameserver.model.items.Item;
|
||||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author yksdtc
|
* @author yksdtc
|
||||||
@ -169,9 +169,9 @@ public class DropSearchBoard implements IParseBoardHandler
|
|||||||
final int start = (page - 1) * 14;
|
final int start = (page - 1) * 14;
|
||||||
final int end = Math.min(list.size() - 1, start + 14);
|
final int end = Math.min(list.size() - 1, start + 14);
|
||||||
final StringBuilder builder = new StringBuilder();
|
final StringBuilder builder = new StringBuilder();
|
||||||
final double dropAmountEffectBonus = player.getStat().getValue(Stats.BONUS_DROP_AMOUNT, 1);
|
final double dropAmountEffectBonus = player.getStat().getValue(Stat.BONUS_DROP_AMOUNT, 1);
|
||||||
final double dropRateEffectBonus = player.getStat().getValue(Stats.BONUS_DROP_RATE, 1);
|
final double dropRateEffectBonus = player.getStat().getValue(Stat.BONUS_DROP_RATE, 1);
|
||||||
final double spoilRateEffectBonus = player.getStat().getValue(Stats.BONUS_SPOIL_RATE, 1);
|
final double spoilRateEffectBonus = player.getStat().getValue(Stat.BONUS_SPOIL_RATE, 1);
|
||||||
for (int index = start; index <= end; index++)
|
for (int index = start; index <= end; index++)
|
||||||
{
|
{
|
||||||
final CBDropHolder cbDropHolder = list.get(index);
|
final CBDropHolder cbDropHolder = list.get(index);
|
||||||
|
@ -28,7 +28,7 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureHpChange;
|
|||||||
import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
import org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -38,7 +38,7 @@ abstract class AbstractConditionalHpEffect extends AbstractStatEffect
|
|||||||
private final int _hpPercent;
|
private final int _hpPercent;
|
||||||
private final Map<Creature, AtomicBoolean> _updates = new ConcurrentHashMap<>();
|
private final Map<Creature, AtomicBoolean> _updates = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
protected AbstractConditionalHpEffect(StatsSet params, Stats stat)
|
protected AbstractConditionalHpEffect(StatsSet params, Stat stat)
|
||||||
{
|
{
|
||||||
super(params, stat);
|
super(params, stat);
|
||||||
_hpPercent = params.getInt("hpPercent", 0);
|
_hpPercent = params.getInt("hpPercent", 0);
|
||||||
|
@ -21,17 +21,17 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
*/
|
*/
|
||||||
public class AbstractStatAddEffect extends AbstractEffect
|
public class AbstractStatAddEffect extends AbstractEffect
|
||||||
{
|
{
|
||||||
private final Stats _stat;
|
private final Stat _stat;
|
||||||
protected final double _amount;
|
protected final double _amount;
|
||||||
|
|
||||||
public AbstractStatAddEffect(StatsSet params, Stats stat)
|
public AbstractStatAddEffect(StatsSet params, Stat stat)
|
||||||
{
|
{
|
||||||
_stat = stat;
|
_stat = stat;
|
||||||
_amount = params.getDouble("amount", 0);
|
_amount = params.getDouble("amount", 0);
|
||||||
|
@ -29,25 +29,25 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.ArmorType;
|
import org.l2jmobius.gameserver.model.items.type.ArmorType;
|
||||||
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
import org.l2jmobius.gameserver.model.items.type.WeaponType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractStatEffect extends AbstractEffect
|
public abstract class AbstractStatEffect extends AbstractEffect
|
||||||
{
|
{
|
||||||
protected final Stats _addStat;
|
protected final Stat _addStat;
|
||||||
protected final Stats _mulStat;
|
protected final Stat _mulStat;
|
||||||
protected final double _amount;
|
protected final double _amount;
|
||||||
protected final StatModifierType _mode;
|
protected final StatModifierType _mode;
|
||||||
protected final List<Condition> _conditions = new ArrayList<>();
|
protected final List<Condition> _conditions = new ArrayList<>();
|
||||||
|
|
||||||
public AbstractStatEffect(StatsSet params, Stats stat)
|
public AbstractStatEffect(StatsSet params, Stat stat)
|
||||||
{
|
{
|
||||||
this(params, stat, stat);
|
this(params, stat, stat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbstractStatEffect(StatsSet params, Stats mulStat, Stats addStat)
|
public AbstractStatEffect(StatsSet params, Stat mulStat, Stat addStat)
|
||||||
{
|
{
|
||||||
_addStat = addStat;
|
_addStat = addStat;
|
||||||
_mulStat = mulStat;
|
_mulStat = mulStat;
|
||||||
|
@ -21,17 +21,17 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public class AbstractStatPercentEffect extends AbstractEffect
|
public class AbstractStatPercentEffect extends AbstractEffect
|
||||||
{
|
{
|
||||||
private final Stats _stat;
|
private final Stat _stat;
|
||||||
protected final double _amount;
|
protected final double _amount;
|
||||||
|
|
||||||
public AbstractStatPercentEffect(StatsSet params, Stats stat)
|
public AbstractStatPercentEffect(StatsSet params, Stat stat)
|
||||||
{
|
{
|
||||||
_stat = stat;
|
_stat = stat;
|
||||||
_amount = params.getDouble("amount", 1);
|
_amount = params.getDouble("amount", 1);
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class Accuracy extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public Accuracy(StatsSet params)
|
public Accuracy(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.ACCURACY_COMBAT);
|
super(params, Stat.ACCURACY_COMBAT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class AdditionalPotionCp extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public AdditionalPotionCp(StatsSet params)
|
public AdditionalPotionCp(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.ADDITIONAL_POTION_CP);
|
super(params, Stat.ADDITIONAL_POTION_CP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class AdditionalPotionHp extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public AdditionalPotionHp(StatsSet params)
|
public AdditionalPotionHp(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.ADDITIONAL_POTION_HP);
|
super(params, Stat.ADDITIONAL_POTION_HP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class AdditionalPotionMp extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public AdditionalPotionMp(StatsSet params)
|
public AdditionalPotionMp(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.ADDITIONAL_POTION_MP);
|
super(params, Stat.ADDITIONAL_POTION_MP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class AreaDamage extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public AreaDamage(StatsSet params)
|
public AreaDamage(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.DAMAGE_ZONE_VULN);
|
super(params, Stat.DAMAGE_ZONE_VULN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -40,33 +40,33 @@ public class AttackAttribute extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void pump(Creature effected, Skill skill)
|
public void pump(Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
Stats stat = Stats.FIRE_POWER;
|
Stat stat = Stat.FIRE_POWER;
|
||||||
|
|
||||||
switch (_attribute)
|
switch (_attribute)
|
||||||
{
|
{
|
||||||
case WATER:
|
case WATER:
|
||||||
{
|
{
|
||||||
stat = Stats.WATER_POWER;
|
stat = Stat.WATER_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WIND:
|
case WIND:
|
||||||
{
|
{
|
||||||
stat = Stats.WIND_POWER;
|
stat = Stat.WIND_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EARTH:
|
case EARTH:
|
||||||
{
|
{
|
||||||
stat = Stats.EARTH_POWER;
|
stat = Stat.EARTH_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case HOLY:
|
case HOLY:
|
||||||
{
|
{
|
||||||
stat = Stats.HOLY_POWER;
|
stat = Stat.HOLY_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DARK:
|
case DARK:
|
||||||
{
|
{
|
||||||
stat = Stats.DARK_POWER;
|
stat = Stat.DARK_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -38,7 +38,7 @@ public class AttackAttributeAdd extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void pump(Creature effected, Skill skill)
|
public void pump(Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
Stats stat = Stats.FIRE_POWER;
|
Stat stat = Stat.FIRE_POWER;
|
||||||
AttributeType maxAttribute = AttributeType.FIRE;
|
AttributeType maxAttribute = AttributeType.FIRE;
|
||||||
int maxValue = 0;
|
int maxValue = 0;
|
||||||
|
|
||||||
@ -56,27 +56,27 @@ public class AttackAttributeAdd extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case WATER:
|
case WATER:
|
||||||
{
|
{
|
||||||
stat = Stats.WATER_POWER;
|
stat = Stat.WATER_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WIND:
|
case WIND:
|
||||||
{
|
{
|
||||||
stat = Stats.WIND_POWER;
|
stat = Stat.WIND_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EARTH:
|
case EARTH:
|
||||||
{
|
{
|
||||||
stat = Stats.EARTH_POWER;
|
stat = Stat.EARTH_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case HOLY:
|
case HOLY:
|
||||||
{
|
{
|
||||||
stat = Stats.HOLY_POWER;
|
stat = Stat.HOLY_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DARK:
|
case DARK:
|
||||||
{
|
{
|
||||||
stat = Stats.DARK_POWER;
|
stat = Stat.DARK_POWER;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,12 +35,12 @@ public class BlockMove extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
effected.setIsImmobilized(true);
|
effected.setImmobilized(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
effected.setIsImmobilized(false);
|
effected.setImmobilized(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class BonusDropAmount extends AbstractStatPercentEffect
|
|||||||
{
|
{
|
||||||
public BonusDropAmount(StatsSet params)
|
public BonusDropAmount(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.BONUS_DROP_AMOUNT);
|
super(params, Stat.BONUS_DROP_AMOUNT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class BonusDropRate extends AbstractStatPercentEffect
|
|||||||
{
|
{
|
||||||
public BonusDropRate(StatsSet params)
|
public BonusDropRate(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.BONUS_DROP_RATE);
|
super(params, Stat.BONUS_DROP_RATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class BonusSpoilRate extends AbstractStatPercentEffect
|
|||||||
{
|
{
|
||||||
public BonusSpoilRate(StatsSet params)
|
public BonusSpoilRate(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.BONUS_SPOIL_RATE);
|
super(params, Stat.BONUS_SPOIL_RATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class Breath extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public Breath(StatsSet params)
|
public Breath(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.BREATH);
|
super(params, Stat.BREATH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class CounterPhysicalSkill extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public CounterPhysicalSkill(StatsSet params)
|
public CounterPhysicalSkill(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.VENGEANCE_SKILL_PHYSICAL_DAMAGE);
|
super(params, Stat.VENGEANCE_SKILL_PHYSICAL_DAMAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ public class Cp extends AbstractEffect
|
|||||||
int basicAmount = _amount;
|
int basicAmount = _amount;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
basicAmount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_CP, 0);
|
basicAmount += effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
double amount = 0;
|
double amount = 0;
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
|||||||
import org.l2jmobius.gameserver.model.effects.EffectType;
|
import org.l2jmobius.gameserver.model.effects.EffectType;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ public class CpHeal extends AbstractEffect
|
|||||||
double amount = _power;
|
double amount = _power;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
amount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_CP, 0);
|
amount += effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal and negative amount
|
// Prevents overheal and negative amount
|
||||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cp Heal Over Time effect implementation.
|
* Cp Heal Over Time effect implementation.
|
||||||
@ -56,7 +56,7 @@ public class CpHealOverTime extends AbstractEffect
|
|||||||
double power = _power;
|
double power = _power;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
power += effected.getStat().getValue(Stats.ADDITIONAL_POTION_CP, 0) / getTicks();
|
power += effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0) / getTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
cp += power * getTicksMultiplier();
|
cp += power * getTicksMultiplier();
|
||||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ public class CpHealPercent extends AbstractEffect
|
|||||||
amount = full ? effected.getMaxCp() : (effected.getMaxCp() * power) / 100.0;
|
amount = full ? effected.getMaxCp() : (effected.getMaxCp() * power) / 100.0;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
amount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_CP, 0);
|
amount += effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal and negative amount
|
// Prevents overheal and negative amount
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class CpRegen extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public CpRegen(StatsSet params)
|
public CpRegen(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.REGENERATE_CP_RATE);
|
super(params, Stat.REGENERATE_CP_RATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class CriticalDamage extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public CriticalDamage(StatsSet params)
|
public CriticalDamage(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.CRITICAL_DAMAGE, Stats.CRITICAL_DAMAGE_ADD);
|
super(params, Stat.CRITICAL_DAMAGE, Stat.CRITICAL_DAMAGE_ADD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.util.MathUtil;
|
import org.l2jmobius.gameserver.util.MathUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,12 +42,12 @@ public class CriticalDamagePosition extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
effected.getStat().mergePositionTypeValue(Stats.CRITICAL_DAMAGE, _position, (_amount / 100) + 1, MathUtil::mul);
|
effected.getStat().mergePositionTypeValue(Stat.CRITICAL_DAMAGE, _position, (_amount / 100) + 1, MathUtil::mul);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
effected.getStat().mergePositionTypeValue(Stats.CRITICAL_DAMAGE, _position, (_amount / 100) + 1, MathUtil::div);
|
effected.getStat().mergePositionTypeValue(Stat.CRITICAL_DAMAGE, _position, (_amount / 100) + 1, MathUtil::div);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ package handlers.effecthandlers;
|
|||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -29,7 +29,7 @@ public class CriticalRate extends AbstractConditionalHpEffect
|
|||||||
|
|
||||||
public CriticalRate(StatsSet params)
|
public CriticalRate(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.CRITICAL_RATE);
|
super(params, Stat.CRITICAL_RATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.util.MathUtil;
|
import org.l2jmobius.gameserver.util.MathUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,12 +42,12 @@ public class CriticalRatePositionBonus extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
effected.getStat().mergePositionTypeValue(Stats.CRITICAL_RATE, _position, (_amount / 100) + 1, MathUtil::mul);
|
effected.getStat().mergePositionTypeValue(Stat.CRITICAL_RATE, _position, (_amount / 100) + 1, MathUtil::mul);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onExit(Creature effector, Creature effected, Skill skill)
|
public void onExit(Creature effector, Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
effected.getStat().mergePositionTypeValue(Stats.CRITICAL_RATE, _position, (_amount / 100) + 1, MathUtil::div);
|
effected.getStat().mergePositionTypeValue(Stat.CRITICAL_RATE, _position, (_amount / 100) + 1, MathUtil::div);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class CubicMastery extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public CubicMastery(StatsSet params)
|
public CubicMastery(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.MAX_CUBIC);
|
super(params, Stat.MAX_CUBIC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An effect that changes damage taken from an attack.<br>
|
* An effect that changes damage taken from an attack.<br>
|
||||||
@ -55,12 +55,12 @@ public class DamageByAttack extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case PK:
|
case PK:
|
||||||
{
|
{
|
||||||
target.getStat().mergeAdd(Stats.PVP_DAMAGE_TAKEN, _value);
|
target.getStat().mergeAdd(Stat.PVP_DAMAGE_TAKEN, _value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ENEMY_ALL:
|
case ENEMY_ALL:
|
||||||
{
|
{
|
||||||
target.getStat().mergeAdd(Stats.PVE_DAMAGE_TAKEN, _value);
|
target.getStat().mergeAdd(Stat.PVE_DAMAGE_TAKEN, _value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class DamageShield extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public DamageShield(StatsSet params)
|
public DamageShield(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.REFLECT_DAMAGE_PERCENT);
|
super(params, Stat.REFLECT_DAMAGE_PERCENT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class DamageShieldResist extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public DamageShieldResist(StatsSet params)
|
public DamageShieldResist(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.REFLECT_DAMAGE_PERCENT_DEFENSE);
|
super(params, Stat.REFLECT_DAMAGE_PERCENT_DEFENSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -40,33 +40,33 @@ public class DefenceAttribute extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void pump(Creature effected, Skill skill)
|
public void pump(Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
Stats stat = Stats.FIRE_RES;
|
Stat stat = Stat.FIRE_RES;
|
||||||
|
|
||||||
switch (_attribute)
|
switch (_attribute)
|
||||||
{
|
{
|
||||||
case WATER:
|
case WATER:
|
||||||
{
|
{
|
||||||
stat = Stats.WATER_RES;
|
stat = Stat.WATER_RES;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WIND:
|
case WIND:
|
||||||
{
|
{
|
||||||
stat = Stats.WIND_RES;
|
stat = Stat.WIND_RES;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EARTH:
|
case EARTH:
|
||||||
{
|
{
|
||||||
stat = Stats.EARTH_RES;
|
stat = Stat.EARTH_RES;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case HOLY:
|
case HOLY:
|
||||||
{
|
{
|
||||||
stat = Stats.HOLY_RES;
|
stat = Stat.HOLY_RES;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DARK:
|
case DARK:
|
||||||
{
|
{
|
||||||
stat = Stats.DARK_RES;
|
stat = Stat.DARK_RES;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class DefenceCriticalDamage extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public DefenceCriticalDamage(StatsSet params)
|
public DefenceCriticalDamage(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.DEFENCE_CRITICAL_DAMAGE, Stats.DEFENCE_CRITICAL_DAMAGE_ADD);
|
super(params, Stat.DEFENCE_CRITICAL_DAMAGE, Stat.DEFENCE_CRITICAL_DAMAGE_ADD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class DefenceCriticalRate extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public DefenceCriticalRate(StatsSet params)
|
public DefenceCriticalRate(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.DEFENCE_CRITICAL_RATE, Stats.DEFENCE_CRITICAL_RATE_ADD);
|
super(params, Stat.DEFENCE_CRITICAL_RATE, Stat.DEFENCE_CRITICAL_RATE_ADD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class DefenceMagicCriticalDamage extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public DefenceMagicCriticalDamage(StatsSet params)
|
public DefenceMagicCriticalDamage(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.DEFENCE_MAGIC_CRITICAL_DAMAGE, Stats.DEFENCE_MAGIC_CRITICAL_DAMAGE_ADD);
|
super(params, Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE, Stat.DEFENCE_MAGIC_CRITICAL_DAMAGE_ADD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class DefenceMagicCriticalRate extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public DefenceMagicCriticalRate(StatsSet params)
|
public DefenceMagicCriticalRate(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.DEFENCE_MAGIC_CRITICAL_RATE, Stats.DEFENCE_MAGIC_CRITICAL_RATE_ADD);
|
super(params, Stat.DEFENCE_MAGIC_CRITICAL_RATE, Stat.DEFENCE_MAGIC_CRITICAL_RATE_ADD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ import org.l2jmobius.gameserver.model.effects.EffectType;
|
|||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
@ -137,22 +137,22 @@ public class EnergyAttack extends AbstractEffect
|
|||||||
{
|
{
|
||||||
if (attacker.isChargedShot(ShotType.SOULSHOTS))
|
if (attacker.isChargedShot(ShotType.SOULSHOTS))
|
||||||
{
|
{
|
||||||
ssmod = 2 * attacker.getStat().getValue(Stats.SHOTS_BONUS); // 2.04 for dual weapon?
|
ssmod = 2 * attacker.getStat().getValue(Stat.SHOTS_BONUS); // 2.04 for dual weapon?
|
||||||
}
|
}
|
||||||
else if (attacker.isChargedShot(ShotType.BLESSED_SOULSHOTS))
|
else if (attacker.isChargedShot(ShotType.BLESSED_SOULSHOTS))
|
||||||
{
|
{
|
||||||
ssmod = 4 * attacker.getStat().getValue(Stats.SHOTS_BONUS);
|
ssmod = 4 * attacker.getStat().getValue(Stat.SHOTS_BONUS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ...................________Initial Damage_________...__Charges Additional Damage__...____________________________________
|
// ...................________Initial Damage_________...__Charges Additional Damage__...____________________________________
|
||||||
// ATTACK CALCULATION ((77 * ((pAtk * lvlMod) + power) * (1 + (0.1 * chargesConsumed)) / pdef) * skillPower) + skillPowerAdd
|
// ATTACK CALCULATION ((77 * ((pAtk * lvlMod) + power) * (1 + (0.1 * chargesConsumed)) / pdef) * skillPower) + skillPowerAdd
|
||||||
// ```````````````````^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^```^^^^^^^^^^^^^^^^^^^^^^^^^^^^^```^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
// ```````````````````^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^```^^^^^^^^^^^^^^^^^^^^^^^^^^^^^```^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
final double baseMod = (77 * ((attacker.getPAtk() * attacker.getLevelMod()) + _power + effector.getStat().getValue(Stats.SKILL_POWER_ADD, 0))) / defence;
|
final double baseMod = (77 * ((attacker.getPAtk() * attacker.getLevelMod()) + _power + effector.getStat().getValue(Stat.SKILL_POWER_ADD, 0))) / defence;
|
||||||
damage = baseMod * ssmod * critMod * weaponTraitMod * generalTraitMod * weaknessMod * attributeMod * energyChargesBoost * pvpPveMod;
|
damage = baseMod * ssmod * critMod * weaponTraitMod * generalTraitMod * weaknessMod * attributeMod * energyChargesBoost * pvpPveMod;
|
||||||
}
|
}
|
||||||
|
|
||||||
damage = Math.max(0, damage * effector.getStat().getValue(Stats.PHYSICAL_SKILL_POWER, 1));
|
damage = Math.max(0, damage * effector.getStat().getValue(Stat.PHYSICAL_SKILL_POWER, 1));
|
||||||
|
|
||||||
effector.doAttack(damage, effected, skill, false, false, critical, false);
|
effector.doAttack(damage, effected, skill, false, false, critical, false);
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExStorageMaxCount;
|
import org.l2jmobius.gameserver.network.serverpackets.ExStorageMaxCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,33 +42,33 @@ public class EnlargeSlot extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void pump(Creature effected, Skill skill)
|
public void pump(Creature effected, Skill skill)
|
||||||
{
|
{
|
||||||
Stats stat = Stats.INVENTORY_NORMAL;
|
Stat stat = Stat.INVENTORY_NORMAL;
|
||||||
|
|
||||||
switch (_type)
|
switch (_type)
|
||||||
{
|
{
|
||||||
case TRADE_BUY:
|
case TRADE_BUY:
|
||||||
{
|
{
|
||||||
stat = Stats.TRADE_BUY;
|
stat = Stat.TRADE_BUY;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TRADE_SELL:
|
case TRADE_SELL:
|
||||||
{
|
{
|
||||||
stat = Stats.TRADE_SELL;
|
stat = Stat.TRADE_SELL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RECIPE_DWARVEN:
|
case RECIPE_DWARVEN:
|
||||||
{
|
{
|
||||||
stat = Stats.RECIPE_DWARVEN;
|
stat = Stat.RECIPE_DWARVEN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RECIPE_COMMON:
|
case RECIPE_COMMON:
|
||||||
{
|
{
|
||||||
stat = Stats.RECIPE_COMMON;
|
stat = Stat.RECIPE_COMMON;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case STORAGE_PRIVATE:
|
case STORAGE_PRIVATE:
|
||||||
{
|
{
|
||||||
stat = Stats.STORAGE_PRIVATE;
|
stat = Stat.STORAGE_PRIVATE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class ExpModify extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public ExpModify(StatsSet params)
|
public ExpModify(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.BONUS_EXP);
|
super(params, Stat.BONUS_EXP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -45,12 +45,12 @@ public class FatalBlowRate extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
effector.getStat().mergeAdd(Stats.BLOW_RATE, _amount);
|
effector.getStat().mergeAdd(Stat.BLOW_RATE, _amount);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
case PER:
|
||||||
{
|
{
|
||||||
effector.getStat().mergeMul(Stats.BLOW_RATE, (_amount / 100) + 1);
|
effector.getStat().mergeMul(Stat.BLOW_RATE, (_amount / 100) + 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,12 +63,12 @@ public class FatalBlowRate extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
effector.getStat().mergeAdd(Stats.BLOW_RATE, _amount * -1);
|
effector.getStat().mergeAdd(Stat.BLOW_RATE, _amount * -1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
case PER:
|
||||||
{
|
{
|
||||||
effector.getStat().mergeMul(Stats.BLOW_RATE, ((_amount / 100) + 1) * -1);
|
effector.getStat().mergeMul(Stat.BLOW_RATE, ((_amount / 100) + 1) * -1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -26,6 +26,6 @@ public class FishingExpSpBonus extends AbstractStatPercentEffect
|
|||||||
{
|
{
|
||||||
public FishingExpSpBonus(StatsSet params)
|
public FishingExpSpBonus(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.FISHING_EXP_SP_BONUS);
|
super(params, Stat.FISHING_EXP_SP_BONUS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class FocusEnergy extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public FocusEnergy(StatsSet params)
|
public FocusEnergy(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.MAX_MOMENTUM);
|
super(params, Stat.MAX_MOMENTUM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
@ -50,7 +50,7 @@ public class FocusMaxMomentum extends AbstractEffect
|
|||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
|
|
||||||
final int count = (int) effected.getStat().getValue(Stats.MAX_MOMENTUM, 0);
|
final int count = (int) effected.getStat().getValue(Stat.MAX_MOMENTUM, 0);
|
||||||
|
|
||||||
player.setCharges(count);
|
player.setCharges(count);
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
@ -58,7 +58,7 @@ public class FocusMomentum extends AbstractEffect
|
|||||||
|
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
final int currentCharges = player.getCharges();
|
final int currentCharges = player.getCharges();
|
||||||
final int maxCharges = Math.min(_maxCharges, (int) effected.getStat().getValue(Stats.MAX_MOMENTUM, 0));
|
final int maxCharges = Math.min(_maxCharges, (int) effected.getStat().getValue(Stat.MAX_MOMENTUM, 0));
|
||||||
|
|
||||||
if (currentCharges >= maxCharges)
|
if (currentCharges >= maxCharges)
|
||||||
{
|
{
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,7 +53,7 @@ public class FocusSouls extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
final PlayerInstance target = effected.getActingPlayer();
|
final PlayerInstance target = effected.getActingPlayer();
|
||||||
final int maxSouls = (int) target.getStat().getValue(Stats.MAX_SOULS, 0);
|
final int maxSouls = (int) target.getStat().getValue(Stat.MAX_SOULS, 0);
|
||||||
if (maxSouls > 0)
|
if (maxSouls > 0)
|
||||||
{
|
{
|
||||||
final int amount = _charge;
|
final int amount = _charge;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class GetDamageLimit extends AbstractStatAddEffect
|
|||||||
{
|
{
|
||||||
public GetDamageLimit(StatsSet params)
|
public GetDamageLimit(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.DAMAGE_LIMIT);
|
super(params, Stat.DAMAGE_LIMIT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
@ -51,7 +51,7 @@ public class GetMomentum extends AbstractEffect
|
|||||||
if (effected.isPlayer())
|
if (effected.isPlayer())
|
||||||
{
|
{
|
||||||
final PlayerInstance player = effected.getActingPlayer();
|
final PlayerInstance player = effected.getActingPlayer();
|
||||||
final int maxCharge = (int) player.getStat().getValue(Stats.MAX_MOMENTUM, 0);
|
final int maxCharge = (int) player.getStat().getValue(Stat.MAX_MOMENTUM, 0);
|
||||||
final int newCharge = Math.min(player.getCharges() + 1, maxCharge);
|
final int newCharge = Math.min(player.getCharges() + 1, maxCharge);
|
||||||
|
|
||||||
player.setCharges(newCharge);
|
player.setCharges(newCharge);
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class HateAttack extends AbstractStatPercentEffect
|
|||||||
{
|
{
|
||||||
public HateAttack(StatsSet params)
|
public HateAttack(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.HATE_ATTACK);
|
super(params, Stat.HATE_ATTACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
|||||||
import org.l2jmobius.gameserver.model.items.type.CrystalType;
|
import org.l2jmobius.gameserver.model.items.type.CrystalType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Formulas;
|
import org.l2jmobius.gameserver.model.stats.Formulas;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExMagicAttackInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.ExMagicAttackInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
@ -73,14 +73,14 @@ public class Heal extends AbstractEffect
|
|||||||
double amount = _power;
|
double amount = _power;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
amount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0);
|
amount += effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
double staticShotBonus = 0;
|
double staticShotBonus = 0;
|
||||||
double mAtkMul = 1;
|
double mAtkMul = 1;
|
||||||
final boolean sps = skill.isMagic() && effector.isChargedShot(ShotType.SPIRITSHOTS);
|
final boolean sps = skill.isMagic() && effector.isChargedShot(ShotType.SPIRITSHOTS);
|
||||||
final boolean bss = skill.isMagic() && effector.isChargedShot(ShotType.BLESSED_SPIRITSHOTS);
|
final boolean bss = skill.isMagic() && effector.isChargedShot(ShotType.BLESSED_SPIRITSHOTS);
|
||||||
final double shotsBonus = effector.getStat().getValue(Stats.SHOTS_BONUS);
|
final double shotsBonus = effector.getStat().getValue(Stat.SHOTS_BONUS);
|
||||||
if (((sps || bss) && (effector.isPlayer() && effector.getActingPlayer().isMageClass())) || effector.isSummon())
|
if (((sps || bss) && (effector.isPlayer() && effector.getActingPlayer().isMageClass())) || effector.isSummon())
|
||||||
{
|
{
|
||||||
staticShotBonus = skill.getMpConsume(); // static bonus for spiritshots
|
staticShotBonus = skill.getMpConsume(); // static bonus for spiritshots
|
||||||
@ -108,8 +108,8 @@ public class Heal extends AbstractEffect
|
|||||||
if (!skill.isStatic())
|
if (!skill.isStatic())
|
||||||
{
|
{
|
||||||
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
|
amount += staticShotBonus + Math.sqrt(mAtkMul * effector.getMAtk());
|
||||||
amount *= effected.getStat().getValue(Stats.HEAL_EFFECT, 1);
|
amount *= effected.getStat().getValue(Stat.HEAL_EFFECT, 1);
|
||||||
amount += effected.getStat().getValue(Stats.HEAL_EFFECT_ADD, 0);
|
amount += effected.getStat().getValue(Stat.HEAL_EFFECT_ADD, 0);
|
||||||
amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1;
|
amount *= (item == null) && effector.isPlayable() ? Config.PLAYER_HEALING_SKILL_MULTIPLIERS.getOrDefault(effector.getActingPlayer().getClassId(), 1f) : 1;
|
||||||
// Heal critic, since CT2.3 Gracia Final
|
// Heal critic, since CT2.3 Gracia Final
|
||||||
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
|
if (skill.isMagic() && Formulas.calcCrit(skill.getMagicCriticalRate(), effector, effected, skill))
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw, Mobius
|
* @author Sdw, Mobius
|
||||||
@ -26,6 +26,6 @@ public class HealEffect extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public HealEffect(StatsSet params)
|
public HealEffect(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.HEAL_EFFECT, Stats.HEAL_EFFECT_ADD);
|
super(params, Stat.HEAL_EFFECT, Stat.HEAL_EFFECT_ADD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
|||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.AbnormalType;
|
import org.l2jmobius.gameserver.model.skills.AbnormalType;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExRegenMax;
|
import org.l2jmobius.gameserver.network.serverpackets.ExRegenMax;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -58,7 +58,7 @@ public class HealOverTime extends AbstractEffect
|
|||||||
double power = _power;
|
double power = _power;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
power += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0) / getTicks();
|
power += effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0) / getTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
hp += power * getTicksMultiplier();
|
hp += power * getTicksMultiplier();
|
||||||
@ -76,7 +76,7 @@ public class HealOverTime extends AbstractEffect
|
|||||||
double power = _power;
|
double power = _power;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
final double bonus = effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0);
|
final double bonus = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||||
if (bonus > 0)
|
if (bonus > 0)
|
||||||
{
|
{
|
||||||
power += bonus / getTicks();
|
power += bonus / getTicks();
|
||||||
|
@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
|||||||
import org.l2jmobius.gameserver.model.effects.EffectType;
|
import org.l2jmobius.gameserver.model.effects.EffectType;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
amount = full ? effected.getMaxHp() : (effected.getMaxHp() * power) / 100.0;
|
amount = full ? effected.getMaxHp() : (effected.getMaxHp() * power) / 100.0;
|
||||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||||
{
|
{
|
||||||
amount += effected.getStat().getValue(Stats.ADDITIONAL_POTION_HP, 0);
|
amount += effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.model.StatsSet;
|
|||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
@ -30,7 +30,7 @@ public class HitAtNight extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public HitAtNight(StatsSet params)
|
public HitAtNight(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.HIT_AT_NIGHT);
|
super(params, Stat.HIT_AT_NIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
package handlers.effecthandlers;
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.stats.Stats;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw
|
||||||
@ -26,6 +26,6 @@ public class HitNumber extends AbstractStatEffect
|
|||||||
{
|
{
|
||||||
public HitNumber(StatsSet params)
|
public HitNumber(StatsSet params)
|
||||||
{
|
{
|
||||||
super(params, Stats.ATTACK_COUNT_MAX);
|
super(params, Stat.ATTACK_COUNT_MAX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user