Updated StatsSet to match newer branches.
This commit is contained in:
@@ -33,6 +33,7 @@ import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
@@ -46,7 +47,6 @@ import org.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.GameServerPacket;
|
import org.l2jmobius.gameserver.network.serverpackets.GameServerPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -259,12 +259,12 @@ public class Antharas extends Quest
|
|||||||
}
|
}
|
||||||
else if (status == FIGHTING)
|
else if (status == FIGHTING)
|
||||||
{
|
{
|
||||||
final int loc_x = info.getInteger("loc_x");
|
final int loc_x = info.getInt("loc_x");
|
||||||
final int loc_y = info.getInteger("loc_y");
|
final int loc_y = info.getInt("loc_y");
|
||||||
final int loc_z = info.getInteger("loc_z");
|
final int loc_z = info.getInt("loc_z");
|
||||||
final int heading = info.getInteger("heading");
|
final int heading = info.getInt("heading");
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
_antharas = (GrandBossInstance) addSpawn(ANTHARASOLDID, loc_x, loc_y, loc_z, heading, false, 0);
|
_antharas = (GrandBossInstance) addSpawn(ANTHARASOLDID, loc_x, loc_y, loc_z, heading, false, 0);
|
||||||
GrandBossManager.getInstance().addBoss(_antharas);
|
GrandBossManager.getInstance().addBoss(_antharas);
|
||||||
_antharas.setCurrentHpMp(hp, mp);
|
_antharas.setCurrentHpMp(hp, mp);
|
||||||
@@ -312,12 +312,12 @@ public class Antharas extends Quest
|
|||||||
if ((antharasId != 0) && (status == FIGHTING))
|
if ((antharasId != 0) && (status == FIGHTING))
|
||||||
{
|
{
|
||||||
final StatsSet info = GrandBossManager.getInstance().getStatsSet(antharasId);
|
final StatsSet info = GrandBossManager.getInstance().getStatsSet(antharasId);
|
||||||
final int loc_x = info.getInteger("loc_x");
|
final int loc_x = info.getInt("loc_x");
|
||||||
final int loc_y = info.getInteger("loc_y");
|
final int loc_y = info.getInt("loc_y");
|
||||||
final int loc_z = info.getInteger("loc_z");
|
final int loc_z = info.getInt("loc_z");
|
||||||
final int heading = info.getInteger("heading");
|
final int heading = info.getInt("heading");
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
_antharas = (GrandBossInstance) addSpawn(antharasId, loc_x, loc_y, loc_z, heading, false, 0);
|
_antharas = (GrandBossInstance) addSpawn(antharasId, loc_x, loc_y, loc_z, heading, false, 0);
|
||||||
GrandBossManager.getInstance().addBoss(_antharas);
|
GrandBossManager.getInstance().addBoss(_antharas);
|
||||||
_antharas.setCurrentHpMp(hp, mp);
|
_antharas.setCurrentHpMp(hp, mp);
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.Summon;
|
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||||
@@ -48,7 +49,6 @@ import org.l2jmobius.gameserver.network.serverpackets.Earthquake;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.MoveToPawn;
|
import org.l2jmobius.gameserver.network.serverpackets.MoveToPawn;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.util.Util;
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -139,12 +139,12 @@ public class Baium extends Quest
|
|||||||
}
|
}
|
||||||
else if (status == AWAKE)
|
else if (status == AWAKE)
|
||||||
{
|
{
|
||||||
final int loc_x = info.getInteger("loc_x");
|
final int loc_x = info.getInt("loc_x");
|
||||||
final int loc_y = info.getInteger("loc_y");
|
final int loc_y = info.getInt("loc_y");
|
||||||
final int loc_z = info.getInteger("loc_z");
|
final int loc_z = info.getInt("loc_z");
|
||||||
final int heading = info.getInteger("heading");
|
final int heading = info.getInt("heading");
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
final GrandBossInstance baium = (GrandBossInstance) addSpawn(LIVE_BAIUM, loc_x, loc_y, loc_z, heading, false, 0);
|
final GrandBossInstance baium = (GrandBossInstance) addSpawn(LIVE_BAIUM, loc_x, loc_y, loc_z, heading, false, 0);
|
||||||
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.commons.util.Rnd;
|
import org.l2jmobius.commons.util.Rnd;
|
||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||||
@@ -34,7 +35,6 @@ import org.l2jmobius.gameserver.model.entity.Announcements;
|
|||||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.CreatureSay;
|
import org.l2jmobius.gameserver.network.serverpackets.CreatureSay;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Core AI
|
* Core AI
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
|||||||
import org.l2jmobius.gameserver.model.CommandChannel;
|
import org.l2jmobius.gameserver.model.CommandChannel;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
@@ -47,7 +48,6 @@ import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Frintezza AI
|
* Frintezza AI
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ import org.l2jmobius.commons.util.Rnd;
|
|||||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.Announcements;
|
import org.l2jmobius.gameserver.model.entity.Announcements;
|
||||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Shyla
|
* @author Shyla
|
||||||
@@ -94,8 +94,8 @@ public class Orfen extends Quest
|
|||||||
final int loc_y = 17368;
|
final int loc_y = 17368;
|
||||||
final int loc_z = -5412;
|
final int loc_z = -5412;
|
||||||
final int heading = 0;
|
final int heading = 0;
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
_orfen = (GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
|
_orfen = (GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
|
||||||
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import org.l2jmobius.commons.util.Rnd;
|
|||||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance;
|
||||||
@@ -34,7 +35,6 @@ import org.l2jmobius.gameserver.model.quest.Quest;
|
|||||||
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class QueenAnt extends Quest
|
public class QueenAnt extends Quest
|
||||||
{
|
{
|
||||||
@@ -121,8 +121,8 @@ public class QueenAnt extends Quest
|
|||||||
/*
|
/*
|
||||||
* int loc_x = info.getInteger("loc_x"); int loc_y = info.getInteger("loc_y"); int loc_z = info.getInteger("loc_z"); int heading = info.getInteger("heading");
|
* int loc_x = info.getInteger("loc_x"); int loc_y = info.getInteger("loc_y"); int loc_z = info.getInteger("loc_z"); int heading = info.getInteger("heading");
|
||||||
*/
|
*/
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
final GrandBossInstance queen = (GrandBossInstance) addSpawn(QUEEN, -21610, 181594, -5734, 0, false, 0);
|
final GrandBossInstance queen = (GrandBossInstance) addSpawn(QUEEN, -21610, 181594, -5734, 0, false, 0);
|
||||||
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.datatables.SkillTable;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.Summon;
|
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||||
@@ -40,7 +41,6 @@ import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.util.Util;
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -122,8 +122,8 @@ public class Valakas extends Quest
|
|||||||
final int loc_z = -1595;
|
final int loc_z = -1595;
|
||||||
final int heading = 0;
|
final int heading = 0;
|
||||||
|
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
final GrandBossInstance valakas = (GrandBossInstance) addSpawn(VALAKAS, loc_x, loc_y, loc_z, heading, false, 0);
|
final GrandBossInstance valakas = (GrandBossInstance) addSpawn(VALAKAS, loc_x, loc_y, loc_z, heading, false, 0);
|
||||||
GrandBossManager.getInstance().addBoss(valakas);
|
GrandBossManager.getInstance().addBoss(valakas);
|
||||||
final NpcInstance _valakas = valakas;
|
final NpcInstance _valakas = valakas;
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
|||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.DoorInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.DoorInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@@ -49,7 +50,6 @@ import org.l2jmobius.gameserver.model.quest.Quest;
|
|||||||
import org.l2jmobius.gameserver.model.spawn.Spawn;
|
import org.l2jmobius.gameserver.model.spawn.Spawn;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.datatables.csv.DoorTable;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
@@ -36,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Zaken AI
|
* Zaken AI
|
||||||
@@ -185,12 +185,12 @@ public class Zaken extends Quest
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final int loc_x = info.getInteger("loc_x");
|
final int loc_x = info.getInt("loc_x");
|
||||||
final int loc_y = info.getInteger("loc_y");
|
final int loc_y = info.getInt("loc_y");
|
||||||
final int loc_z = info.getInteger("loc_z");
|
final int loc_z = info.getInt("loc_z");
|
||||||
final int heading = info.getInteger("heading");
|
final int heading = info.getInt("heading");
|
||||||
final int hp = info.getInteger("currentHP");
|
final int hp = info.getInt("currentHP");
|
||||||
final int mp = info.getInteger("currentMP");
|
final int mp = info.getInt("currentMP");
|
||||||
final GrandBossInstance zaken = (GrandBossInstance) addSpawn(ZAKEN, loc_x, loc_y, loc_z, heading, false, 0);
|
final GrandBossInstance zaken = (GrandBossInstance) addSpawn(ZAKEN, loc_x, loc_y, loc_z, heading, false, 0);
|
||||||
zaken.setCurrentHpMp(hp, mp);
|
zaken.setCurrentHpMp(hp, mp);
|
||||||
spawnBoss(zaken);
|
spawnBoss(zaken);
|
||||||
|
|||||||
+1
-1
@@ -89,7 +89,7 @@ public class Q211_TrialOfTheChallenger extends Quest
|
|||||||
st.set("cond", "1");
|
st.set("cond", "1");
|
||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange35", false))
|
if (!player.getVariables().getBoolean("secondClassChange35", false))
|
||||||
{
|
{
|
||||||
htmltext = "30644-05a.htm";
|
htmltext = "30644-05a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
||||||
|
|||||||
Vendored
+1
-1
@@ -85,7 +85,7 @@ public class Q212_TrialOfDuty extends Quest
|
|||||||
st.set("cond", "1");
|
st.set("cond", "1");
|
||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange35", false))
|
if (!player.getVariables().getBoolean("secondClassChange35", false))
|
||||||
{
|
{
|
||||||
htmltext = "30109-04a.htm";
|
htmltext = "30109-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -107,7 +107,7 @@ public class Q213_TrialOfTheSeeker extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(DUFNER_LETTER, 1);
|
st.giveItems(DUFNER_LETTER, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange35", false))
|
if (!player.getVariables().getBoolean("secondClassChange35", false))
|
||||||
{
|
{
|
||||||
htmltext = "30106-05a.htm";
|
htmltext = "30106-05a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -135,7 +135,7 @@ public class Q214_TrialOfTheScholar extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(MIRIEN_SIGIL_1, 1);
|
st.giveItems(MIRIEN_SIGIL_1, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange35", false))
|
if (!player.getVariables().getBoolean("secondClassChange35", false))
|
||||||
{
|
{
|
||||||
htmltext = "30461-04a.htm";
|
htmltext = "30461-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -93,7 +93,7 @@ public class Q215_TrialOfThePilgrim extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(VOUCHER_OF_TRIAL, 1);
|
st.giveItems(VOUCHER_OF_TRIAL, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange35", false))
|
if (!player.getVariables().getBoolean("secondClassChange35", false))
|
||||||
{
|
{
|
||||||
htmltext = "30648-04a.htm";
|
htmltext = "30648-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -110,7 +110,7 @@ public class Q216_TrialOfTheGuildsman extends Quest
|
|||||||
st.takeItems(57, 2000);
|
st.takeItems(57, 2000);
|
||||||
st.giveItems(VALKON_RECOMMENDATION, 1);
|
st.giveItems(VALKON_RECOMMENDATION, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange35", false))
|
if (!player.getVariables().getBoolean("secondClassChange35", false))
|
||||||
{
|
{
|
||||||
htmltext = "30103-06d.htm";
|
htmltext = "30103-06d.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_35.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -123,7 +123,7 @@ public class Q217_TestimonyOfTrust extends Quest
|
|||||||
st.giveItems(LETTER_TO_ELF, 1);
|
st.giveItems(LETTER_TO_ELF, 1);
|
||||||
st.giveItems(LETTER_TO_DARK_ELF, 1);
|
st.giveItems(LETTER_TO_DARK_ELF, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange37", false))
|
if (!player.getVariables().getBoolean("secondClassChange37", false))
|
||||||
{
|
{
|
||||||
htmltext = "30191-04a.htm";
|
htmltext = "30191-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
||||||
|
|||||||
L2J_Mobius_C6_Interlude/dist/game/data/scripts/quests/Q218_TestimonyOfLife/Q218_TestimonyOfLife.java
Vendored
+1
-1
@@ -108,7 +108,7 @@ public class Q218_TestimonyOfLife extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(CARDIEN_LETTER, 1);
|
st.giveItems(CARDIEN_LETTER, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange37", false))
|
if (!player.getVariables().getBoolean("secondClassChange37", false))
|
||||||
{
|
{
|
||||||
htmltext = "30460-04a.htm";
|
htmltext = "30460-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
||||||
|
|||||||
L2J_Mobius_C6_Interlude/dist/game/data/scripts/quests/Q219_TestimonyOfFate/Q219_TestimonyOfFate.java
Vendored
+1
-1
@@ -138,7 +138,7 @@ public class Q219_TestimonyOfFate extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(KAIRA_LETTER, 1);
|
st.giveItems(KAIRA_LETTER, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange37", false))
|
if (!player.getVariables().getBoolean("secondClassChange37", false))
|
||||||
{
|
{
|
||||||
htmltext = "30476-05a.htm";
|
htmltext = "30476-05a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
||||||
|
|||||||
+1
-1
@@ -136,7 +136,7 @@ public class Q220_TestimonyOfGlory extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(VOKIAN_ORDER_1, 1);
|
st.giveItems(VOKIAN_ORDER_1, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange37", false))
|
if (!player.getVariables().getBoolean("secondClassChange37", false))
|
||||||
{
|
{
|
||||||
htmltext = "30514-05a.htm";
|
htmltext = "30514-05a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
||||||
|
|||||||
+1
-1
@@ -140,7 +140,7 @@ public class Q221_TestimonyOfProsperity extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(RING_OF_TESTIMONY_1, 1);
|
st.giveItems(RING_OF_TESTIMONY_1, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange37", false))
|
if (!player.getVariables().getBoolean("secondClassChange37", false))
|
||||||
{
|
{
|
||||||
htmltext = "30104-04e.htm";
|
htmltext = "30104-04e.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_37.get(player.getRace().ordinal()));
|
||||||
|
|||||||
+1
-1
@@ -114,7 +114,7 @@ public class Q222_TestOfTheDuelist extends Quest
|
|||||||
st.giveItems(ORDER_OREN, 1);
|
st.giveItems(ORDER_OREN, 1);
|
||||||
st.giveItems(ORDER_ADEN, 1);
|
st.giveItems(ORDER_ADEN, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30623-07a.htm";
|
htmltext = "30623-07a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -103,7 +103,7 @@ public class Q223_TestOfTheChampion extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(ASCALON_LETTER_1, 1);
|
st.giveItems(ASCALON_LETTER_1, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30624-06a.htm";
|
htmltext = "30624-06a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -112,7 +112,7 @@ public class Q224_TestOfSagittarius extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(BERNARD_INTRODUCTION, 1);
|
st.giveItems(BERNARD_INTRODUCTION, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30702-04a.htm";
|
htmltext = "30702-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -108,7 +108,7 @@ public class Q225_TestOfTheSearcher extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(LUTHER_LETTER, 1);
|
st.giveItems(LUTHER_LETTER, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30690-05a.htm";
|
htmltext = "30690-05a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
L2J_Mobius_C6_Interlude/dist/game/data/scripts/quests/Q226_TestOfTheHealer/Q226_TestOfTheHealer.java
Vendored
+1
-1
@@ -99,7 +99,7 @@ public class Q226_TestOfTheHealer extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(REPORT_OF_PERRIN, 1);
|
st.giveItems(REPORT_OF_PERRIN, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30473-04a.htm";
|
htmltext = "30473-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -122,7 +122,7 @@ public class Q227_TestOfTheReformer extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(BOOK_OF_REFORM, 1);
|
st.giveItems(BOOK_OF_REFORM, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30118-04b.htm";
|
htmltext = "30118-04b.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
Vendored
+1
-1
@@ -111,7 +111,7 @@ public class Q228_TestOfMagus extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(RUKAL_LETTER, 1);
|
st.giveItems(RUKAL_LETTER, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30629-04a.htm";
|
htmltext = "30629-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -125,7 +125,7 @@ public class Q229_TestOfWitchcraft extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(ORIM_DIAGRAM, 1);
|
st.giveItems(ORIM_DIAGRAM, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30630-08a.htm";
|
htmltext = "30630-08a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -202,7 +202,7 @@ public class Q230_TestOfTheSummoner extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(GALATEA_LETTER, 1);
|
st.giveItems(GALATEA_LETTER, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30634-08a.htm";
|
htmltext = "30634-08a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -96,7 +96,7 @@ public class Q231_TestOfTheMaestro extends Quest
|
|||||||
st.set("cond", "1");
|
st.set("cond", "1");
|
||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30531-04a.htm";
|
htmltext = "30531-04a.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
Vendored
+1
-1
@@ -105,7 +105,7 @@ public class Q232_TestOfTheLord extends Quest
|
|||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
st.giveItems(ORDEAL_NECKLACE, 1);
|
st.giveItems(ORDEAL_NECKLACE, 1);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30565-05b.htm";
|
htmltext = "30565-05b.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
+1
-1
@@ -120,7 +120,7 @@ public class Q233_TestOfTheWarSpirit extends Quest
|
|||||||
st.set("cond", "1");
|
st.set("cond", "1");
|
||||||
st.playSound(QuestState.SOUND_ACCEPT);
|
st.playSound(QuestState.SOUND_ACCEPT);
|
||||||
|
|
||||||
if (!player.getVariables().getBool("secondClassChange39", false))
|
if (!player.getVariables().getBoolean("secondClassChange39", false))
|
||||||
{
|
{
|
||||||
htmltext = "30510-05e.htm";
|
htmltext = "30510-05e.htm";
|
||||||
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
st.giveItems(DIMENSIONAL_DIAMOND, DF_REWARD_39.get(player.getClassId().getId()));
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.l2jmobius.commons.util;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author UnAfraid
|
||||||
|
*/
|
||||||
|
public class TimeUtil
|
||||||
|
{
|
||||||
|
private static int findIndexOfNonDigit(CharSequence text)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < text.length(); i++)
|
||||||
|
{
|
||||||
|
if (Character.isDigit(text.charAt(i)))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses patterns like:
|
||||||
|
* <ul>
|
||||||
|
* <li>1min or 10mins</li>
|
||||||
|
* <li>1day or 10days</li>
|
||||||
|
* <li>1week or 4weeks</li>
|
||||||
|
* <li>1month or 12months</li>
|
||||||
|
* <li>1year or 5years</li>
|
||||||
|
* </ul>
|
||||||
|
* @param datePattern
|
||||||
|
* @return {@link Duration} object converted by the date pattern specified.
|
||||||
|
* @throws IllegalStateException when malformed pattern specified.
|
||||||
|
*/
|
||||||
|
public static Duration parseDuration(String datePattern)
|
||||||
|
{
|
||||||
|
final int index = findIndexOfNonDigit(datePattern);
|
||||||
|
if (index == -1)
|
||||||
|
{
|
||||||
|
throw new IllegalStateException("Incorrect time format given: " + datePattern);
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final int val = Integer.parseInt(datePattern.substring(0, index));
|
||||||
|
final String type = datePattern.substring(index);
|
||||||
|
final ChronoUnit unit;
|
||||||
|
switch (type.toLowerCase())
|
||||||
|
{
|
||||||
|
case "sec":
|
||||||
|
case "secs":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.SECONDS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "min":
|
||||||
|
case "mins":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.MINUTES;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "hour":
|
||||||
|
case "hours":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.HOURS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "day":
|
||||||
|
case "days":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.DAYS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "week":
|
||||||
|
case "weeks":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.WEEKS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "month":
|
||||||
|
case "months":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.MONTHS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "year":
|
||||||
|
case "years":
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.YEARS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
unit = ChronoUnit.valueOf(type);
|
||||||
|
if (unit == null)
|
||||||
|
{
|
||||||
|
throw new IllegalStateException("Incorrect format: " + type + " !!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Duration.of(val, unit);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalStateException("Incorrect time format given: " + datePattern + " val: " + datePattern.substring(0, index));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -41,7 +41,6 @@ import org.l2jmobius.gameserver.cache.CrestCache;
|
|||||||
import org.l2jmobius.gameserver.cache.HtmCache;
|
import org.l2jmobius.gameserver.cache.HtmCache;
|
||||||
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
|
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
|
||||||
import org.l2jmobius.gameserver.datatables.BufferTable;
|
import org.l2jmobius.gameserver.datatables.BufferTable;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
|
||||||
import org.l2jmobius.gameserver.datatables.HeroSkillTable;
|
import org.l2jmobius.gameserver.datatables.HeroSkillTable;
|
||||||
import org.l2jmobius.gameserver.datatables.NobleSkillTable;
|
import org.l2jmobius.gameserver.datatables.NobleSkillTable;
|
||||||
import org.l2jmobius.gameserver.datatables.OfflineTradeTable;
|
import org.l2jmobius.gameserver.datatables.OfflineTradeTable;
|
||||||
@@ -55,8 +54,6 @@ import org.l2jmobius.gameserver.datatables.csv.NpcWalkerRoutesTable;
|
|||||||
import org.l2jmobius.gameserver.datatables.csv.RecipeTable;
|
import org.l2jmobius.gameserver.datatables.csv.RecipeTable;
|
||||||
import org.l2jmobius.gameserver.datatables.csv.StaticObjects;
|
import org.l2jmobius.gameserver.datatables.csv.StaticObjects;
|
||||||
import org.l2jmobius.gameserver.datatables.csv.SummonItemsData;
|
import org.l2jmobius.gameserver.datatables.csv.SummonItemsData;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AccessLevels;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AdminCommandAccessRights;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.ArmorSetsTable;
|
import org.l2jmobius.gameserver.datatables.sql.ArmorSetsTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.CharNameTable;
|
import org.l2jmobius.gameserver.datatables.sql.CharNameTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.CharTemplateTable;
|
import org.l2jmobius.gameserver.datatables.sql.CharTemplateTable;
|
||||||
@@ -71,6 +68,7 @@ import org.l2jmobius.gameserver.datatables.sql.SkillSpellbookTable;
|
|||||||
import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable;
|
import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.SpawnTable;
|
import org.l2jmobius.gameserver.datatables.sql.SpawnTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.TeleportLocationTable;
|
import org.l2jmobius.gameserver.datatables.sql.TeleportLocationTable;
|
||||||
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.AugmentationData;
|
import org.l2jmobius.gameserver.datatables.xml.AugmentationData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.FenceData;
|
import org.l2jmobius.gameserver.datatables.xml.FenceData;
|
||||||
@@ -387,9 +385,7 @@ public class GameServer
|
|||||||
Hero.getInstance();
|
Hero.getInstance();
|
||||||
|
|
||||||
Util.printSection("Access Levels");
|
Util.printSection("Access Levels");
|
||||||
AccessLevels.getInstance();
|
AdminData.getInstance();
|
||||||
AdminCommandAccessRights.getInstance();
|
|
||||||
GmListTable.getInstance();
|
|
||||||
|
|
||||||
Util.printSection("Handlers");
|
Util.printSection("Handlers");
|
||||||
ItemHandler.getInstance();
|
ItemHandler.getInstance();
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ClanHallManager;
|
import org.l2jmobius.gameserver.instancemanager.ClanHallManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.DoorInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.DoorInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.ClanHall;
|
import org.l2jmobius.gameserver.model.entity.ClanHall;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.CreatureTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.CreatureTemplate;
|
||||||
|
|
||||||
public class DoorTable
|
public class DoorTable
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ import java.util.StringTokenizer;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.templates.item.Henna;
|
import org.l2jmobius.gameserver.templates.item.Henna;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-1
@@ -25,8 +25,8 @@ import java.util.Map;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.base.ClassId;
|
import org.l2jmobius.gameserver.model.base.ClassId;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.PlayerTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.PlayerTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+1
-1
@@ -25,8 +25,8 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.gameserver.datatables.csv.HennaTable;
|
import org.l2jmobius.gameserver.datatables.csv.HennaTable;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.templates.HelperBuff;
|
import org.l2jmobius.gameserver.templates.HelperBuff;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents the Newbie Helper Buff list. Author: Ayor
|
* This class represents the Newbie Helper Buff list. Author: Ayor
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ import org.l2jmobius.gameserver.model.DropCategory;
|
|||||||
import org.l2jmobius.gameserver.model.DropData;
|
import org.l2jmobius.gameserver.model.DropData;
|
||||||
import org.l2jmobius.gameserver.model.MinionData;
|
import org.l2jmobius.gameserver.model.MinionData;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.base.ClassId;
|
import org.l2jmobius.gameserver.model.base.ClassId;
|
||||||
import org.l2jmobius.gameserver.skills.BaseStats;
|
import org.l2jmobius.gameserver.skills.BaseStats;
|
||||||
import org.l2jmobius.gameserver.skills.Stats;
|
import org.l2jmobius.gameserver.skills.Stats;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -623,7 +623,7 @@ public class NpcTable
|
|||||||
String name = "";
|
String name = "";
|
||||||
String values = "";
|
String values = "";
|
||||||
|
|
||||||
final NpcTemplate old = getTemplate(npc.getInteger("npcId"));
|
final NpcTemplate old = getTemplate(npc.getInt("npcId"));
|
||||||
|
|
||||||
for (Object obj : set.keySet())
|
for (Object obj : set.keySet())
|
||||||
{
|
{
|
||||||
@@ -649,7 +649,7 @@ public class NpcTable
|
|||||||
{
|
{
|
||||||
statement = con.prepareStatement("UPDATE npc SET " + values + " WHERE id = ?");
|
statement = con.prepareStatement("UPDATE npc SET " + values + " WHERE id = ?");
|
||||||
}
|
}
|
||||||
statement.setInt(1, npc.getInteger("npcId"));
|
statement.setInt(1, npc.getInt("npcId"));
|
||||||
statement.execute();
|
statement.execute();
|
||||||
statement.close();
|
statement.close();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
||||||
|
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.base.Race;
|
import org.l2jmobius.gameserver.model.base.Race;
|
||||||
import org.l2jmobius.gameserver.skills.Env;
|
import org.l2jmobius.gameserver.skills.Env;
|
||||||
@@ -71,7 +72,6 @@ import org.l2jmobius.gameserver.skills.funcs.Lambda;
|
|||||||
import org.l2jmobius.gameserver.skills.funcs.LambdaCalc;
|
import org.l2jmobius.gameserver.skills.funcs.LambdaCalc;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.LambdaConst;
|
import org.l2jmobius.gameserver.skills.funcs.LambdaConst;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.LambdaStats;
|
import org.l2jmobius.gameserver.skills.funcs.LambdaStats;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.item.ArmorType;
|
import org.l2jmobius.gameserver.templates.item.ArmorType;
|
||||||
import org.l2jmobius.gameserver.templates.item.Item;
|
import org.l2jmobius.gameserver.templates.item.Item;
|
||||||
import org.l2jmobius.gameserver.templates.item.Weapon;
|
import org.l2jmobius.gameserver.templates.item.Weapon;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.util.logging.Level;
|
|||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.templates.item.Armor;
|
import org.l2jmobius.gameserver.templates.item.Armor;
|
||||||
import org.l2jmobius.gameserver.templates.item.ArmorType;
|
import org.l2jmobius.gameserver.templates.item.ArmorType;
|
||||||
import org.l2jmobius.gameserver.templates.item.EtcItem;
|
import org.l2jmobius.gameserver.templates.item.EtcItem;
|
||||||
@@ -408,7 +408,7 @@ final class DocumentItem extends DocumentBase
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new Error("Unknown item type for " + _currentItem.set.getInteger("item_id") + " " + _currentItem.type);
|
throw new Error("Unknown item type for " + _currentItem.set.getInt("item_id") + " " + _currentItem.type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ import org.w3c.dom.Node;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.skills.conditions.Condition;
|
import org.l2jmobius.gameserver.skills.conditions.Condition;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author mkizub
|
* @author mkizub
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.engines;
|
package org.l2jmobius.gameserver.engines;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.templates.item.Item;
|
import org.l2jmobius.gameserver.templates.item.Item;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Mobius
|
* @author Mobius
|
||||||
|
|||||||
+1
-1
@@ -28,8 +28,8 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.CreatureTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.CreatureTemplate;
|
||||||
|
|
||||||
public class BoatManager
|
public class BoatManager
|
||||||
|
|||||||
+2
-6
@@ -16,11 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.instancemanager;
|
package org.l2jmobius.gameserver.instancemanager;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AccessLevels;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AdminCommandAccessRights;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.ClanTable;
|
import org.l2jmobius.gameserver.datatables.sql.ClanTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.HelperBuffTable;
|
import org.l2jmobius.gameserver.datatables.sql.HelperBuffTable;
|
||||||
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.AugmentationData;
|
import org.l2jmobius.gameserver.datatables.xml.AugmentationData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
||||||
|
|
||||||
@@ -28,9 +26,7 @@ public class DatatablesManager
|
|||||||
{
|
{
|
||||||
public static void reloadAll()
|
public static void reloadAll()
|
||||||
{
|
{
|
||||||
AccessLevels.reload();
|
AdminData.getInstance().load();
|
||||||
AdminCommandAccessRights.reload();
|
|
||||||
GmListTable.reload();
|
|
||||||
AugmentationData.reload();
|
AugmentationData.reload();
|
||||||
ClanTable.reload();
|
ClanTable.reload();
|
||||||
HelperBuffTable.reload();
|
HelperBuffTable.reload();
|
||||||
|
|||||||
+19
-3
@@ -61,14 +61,14 @@ public class GlobalVariablesManager extends AbstractVariables
|
|||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
{
|
{
|
||||||
LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't restore global variables");
|
LOGGER.warning(getClass().getSimpleName() + ": Couldn't restore global variables.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
compareAndSetChanges(true, false);
|
compareAndSetChanges(true, false);
|
||||||
}
|
}
|
||||||
LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded " + getSet().size() + " variables.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + getSet().size() + " variables.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +106,23 @@ public class GlobalVariablesManager extends AbstractVariables
|
|||||||
{
|
{
|
||||||
compareAndSetChanges(true, false);
|
compareAndSetChanges(true, false);
|
||||||
}
|
}
|
||||||
LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Stored " + getSet().size() + " variables.");
|
LOGGER.info(getClass().getSimpleName() + ": Stored " + getSet().size() + " variables.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteMe()
|
||||||
|
{
|
||||||
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
|
Statement del = con.createStatement())
|
||||||
|
{
|
||||||
|
del.execute(DELETE_QUERY);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete global variables to database.", e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -29,11 +29,11 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.GrandBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
import org.l2jmobius.gameserver.model.zone.type.BossZone;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import java.util.Map;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@@ -592,7 +592,7 @@ public class PetitionManager
|
|||||||
|
|
||||||
// Notify all GMs that a new petition has been submitted.
|
// Notify all GMs that a new petition has been submitted.
|
||||||
String msgContent = petitioner.getName() + " has submitted a new petition."; // (ID: " + newPetitionId + ").";
|
String msgContent = petitioner.getName() + " has submitted a new petition."; // (ID: " + newPetitionId + ").";
|
||||||
GmListTable.broadcastToGMs(new CreatureSay(petitioner.getObjectId(), 17, "Petition System", msgContent));
|
AdminData.broadcastToGMs(new CreatureSay(petitioner.getObjectId(), 17, "Petition System", msgContent));
|
||||||
|
|
||||||
return newPetitionId;
|
return newPetitionId;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -31,15 +31,15 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.commons.util.Rnd;
|
import org.l2jmobius.commons.util.Rnd;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.SpawnTable;
|
import org.l2jmobius.gameserver.datatables.sql.SpawnTable;
|
||||||
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.enums.RaidBossStatus;
|
import org.l2jmobius.gameserver.enums.RaidBossStatus;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.Announcements;
|
import org.l2jmobius.gameserver.model.entity.Announcements;
|
||||||
import org.l2jmobius.gameserver.model.spawn.Spawn;
|
import org.l2jmobius.gameserver.model.spawn.Spawn;
|
||||||
import org.l2jmobius.gameserver.skills.Stats;
|
import org.l2jmobius.gameserver.skills.Stats;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -150,7 +150,7 @@ public class RaidBossSpawnManager
|
|||||||
|
|
||||||
_storedInfo.put(bossId, info);
|
_storedInfo.put(bossId, info);
|
||||||
|
|
||||||
GmListTable.broadcastMessageToGMs("Spawning Raid Boss " + raidboss.getName() + ".");
|
AdminData.broadcastMessageToGMs("Spawning Raid Boss " + raidboss.getName() + ".");
|
||||||
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
|
||||||
{
|
{
|
||||||
Announcements.getInstance().announceToAll("Raid boss " + raidboss.getName() + " spawned in world.");
|
Announcements.getInstance().announceToAll("Raid boss " + raidboss.getName() + " spawned in world.");
|
||||||
@@ -509,7 +509,7 @@ public class RaidBossSpawnManager
|
|||||||
|
|
||||||
_storedInfo.put(raidboss.getNpcId(), info);
|
_storedInfo.put(raidboss.getNpcId(), info);
|
||||||
|
|
||||||
GmListTable.broadcastMessageToGMs("Spawning Raid Boss " + raidboss.getName());
|
AdminData.broadcastMessageToGMs("Spawning Raid Boss " + raidboss.getName());
|
||||||
|
|
||||||
_bosses.put(raidboss.getNpcId(), raidboss);
|
_bosses.put(raidboss.getNpcId(), raidboss);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
package org.l2jmobius.gameserver.model;
|
package org.l2jmobius.gameserver.model;
|
||||||
|
|
||||||
import org.l2jmobius.commons.util.Rnd;
|
import org.l2jmobius.commons.util.Rnd;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author kombat
|
* @author kombat
|
||||||
@@ -95,7 +94,7 @@ public class ChanceCondition
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
final TriggerType trigger = set.getEnum("chanceType", TriggerType.class);
|
final TriggerType trigger = set.getEnum("chanceType", TriggerType.class);
|
||||||
final int chance = set.getInteger("activationChance", 0);
|
final int chance = set.getInt("activationChance", 0);
|
||||||
if ((trigger != null) && (chance > 0))
|
if ((trigger != null) && (chance > 0))
|
||||||
{
|
{
|
||||||
return new ChanceCondition(trigger, chance);
|
return new ChanceCondition(trigger, chance);
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.model;
|
package org.l2jmobius.gameserver.model;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Rayan RPG
|
* @author Rayan RPG
|
||||||
* @since 927
|
* @since 927
|
||||||
@@ -139,12 +137,12 @@ public class NpcWalkerNode
|
|||||||
*/
|
*/
|
||||||
public NpcWalkerNode(StatsSet set)
|
public NpcWalkerNode(StatsSet set)
|
||||||
{
|
{
|
||||||
_npcId = set.getInteger("npc_id");
|
_npcId = set.getInt("npc_id");
|
||||||
_movePoint = set.getString("move_point");
|
_movePoint = set.getString("move_point");
|
||||||
_chatText = set.getString("chatText");
|
_chatText = set.getString("chatText");
|
||||||
_moveX = set.getInteger("move_x");
|
_moveX = set.getInt("move_x");
|
||||||
_moveX = set.getInteger("move_y");
|
_moveX = set.getInt("move_y");
|
||||||
_moveX = set.getInteger("move_z");
|
_moveX = set.getInt("move_z");
|
||||||
_delay = set.getInteger("delay");
|
_delay = set.getInt("delay");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ import org.l2jmobius.gameserver.skills.handlers.SkillSeed;
|
|||||||
import org.l2jmobius.gameserver.skills.handlers.SkillSignet;
|
import org.l2jmobius.gameserver.skills.handlers.SkillSignet;
|
||||||
import org.l2jmobius.gameserver.skills.handlers.SkillSignetCasttime;
|
import org.l2jmobius.gameserver.skills.handlers.SkillSignetCasttime;
|
||||||
import org.l2jmobius.gameserver.skills.handlers.SkillSummon;
|
import org.l2jmobius.gameserver.skills.handlers.SkillSummon;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.util.Util;
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
public abstract class Skill
|
public abstract class Skill
|
||||||
@@ -515,84 +514,84 @@ public abstract class Skill
|
|||||||
|
|
||||||
protected Skill(StatsSet set)
|
protected Skill(StatsSet set)
|
||||||
{
|
{
|
||||||
_id = set.getInteger("skill_id", 0);
|
_id = set.getInt("skill_id", 0);
|
||||||
_level = set.getInteger("level", 1);
|
_level = set.getInt("level", 1);
|
||||||
|
|
||||||
_advancedFlag = set.getBool("advancedFlag", false);
|
_advancedFlag = set.getBoolean("advancedFlag", false);
|
||||||
_advancedMultiplier = set.getInteger("advancedMultiplier", 1);
|
_advancedMultiplier = set.getInt("advancedMultiplier", 1);
|
||||||
|
|
||||||
_displayId = set.getInteger("displayId", _id);
|
_displayId = set.getInt("displayId", _id);
|
||||||
_name = set.getString("name");
|
_name = set.getString("name");
|
||||||
_operateType = set.getEnum("operateType", SkillOpType.class);
|
_operateType = set.getEnum("operateType", SkillOpType.class);
|
||||||
_magic = set.getBool("isMagic", false);
|
_magic = set.getBoolean("isMagic", false);
|
||||||
_staticReuse = set.getBool("staticReuse", false);
|
_staticReuse = set.getBoolean("staticReuse", false);
|
||||||
_staticHitTime = set.getBool("staticHitTime", false);
|
_staticHitTime = set.getBoolean("staticHitTime", false);
|
||||||
_ispotion = set.getBool("isPotion", false);
|
_ispotion = set.getBoolean("isPotion", false);
|
||||||
_mpConsume = set.getInteger("mpConsume", 0);
|
_mpConsume = set.getInt("mpConsume", 0);
|
||||||
_mpInitialConsume = set.getInteger("mpInitialConsume", 0);
|
_mpInitialConsume = set.getInt("mpInitialConsume", 0);
|
||||||
_hpConsume = set.getInteger("hpConsume", 0);
|
_hpConsume = set.getInt("hpConsume", 0);
|
||||||
_itemConsume = set.getInteger("itemConsumeCount", 0);
|
_itemConsume = set.getInt("itemConsumeCount", 0);
|
||||||
_itemConsumeId = set.getInteger("itemConsumeId", 0);
|
_itemConsumeId = set.getInt("itemConsumeId", 0);
|
||||||
_itemConsumeOT = set.getInteger("itemConsumeCountOT", 0);
|
_itemConsumeOT = set.getInt("itemConsumeCountOT", 0);
|
||||||
_itemConsumeIdOT = set.getInteger("itemConsumeIdOT", 0);
|
_itemConsumeIdOT = set.getInt("itemConsumeIdOT", 0);
|
||||||
_itemConsumeTime = set.getInteger("itemConsumeTime", 0);
|
_itemConsumeTime = set.getInt("itemConsumeTime", 0);
|
||||||
_itemConsumeSteps = set.getInteger("itemConsumeSteps", 0);
|
_itemConsumeSteps = set.getInt("itemConsumeSteps", 0);
|
||||||
_summonTotalLifeTime = set.getInteger("summonTotalLifeTime", 1200000); // 20 minutes default
|
_summonTotalLifeTime = set.getInt("summonTotalLifeTime", 1200000); // 20 minutes default
|
||||||
_summonTimeLostIdle = set.getInteger("summonTimeLostIdle", 0);
|
_summonTimeLostIdle = set.getInt("summonTimeLostIdle", 0);
|
||||||
_summonTimeLostActive = set.getInteger("summonTimeLostActive", 0);
|
_summonTimeLostActive = set.getInt("summonTimeLostActive", 0);
|
||||||
|
|
||||||
_castRange = set.getInteger("castRange", 0);
|
_castRange = set.getInt("castRange", 0);
|
||||||
_effectRange = set.getInteger("effectRange", -1);
|
_effectRange = set.getInt("effectRange", -1);
|
||||||
|
|
||||||
_hitTime = set.getInteger("hitTime", 0);
|
_hitTime = set.getInt("hitTime", 0);
|
||||||
_coolTime = set.getInteger("coolTime", 0);
|
_coolTime = set.getInt("coolTime", 0);
|
||||||
// _skillInterruptTime = set.getInteger("hitTime", _hitTime / 2);
|
// _skillInterruptTime = set.getInteger("hitTime", _hitTime / 2);
|
||||||
_reuseDelay = set.getInteger("reuseDelay", 0);
|
_reuseDelay = set.getInt("reuseDelay", 0);
|
||||||
_buffDuration = set.getInteger("buffDuration", 0);
|
_buffDuration = set.getInt("buffDuration", 0);
|
||||||
|
|
||||||
_skillRadius = set.getInteger("skillRadius", 80);
|
_skillRadius = set.getInt("skillRadius", 80);
|
||||||
|
|
||||||
_targetType = set.getEnum("target", SkillTargetType.class);
|
_targetType = set.getEnum("target", SkillTargetType.class);
|
||||||
_power = set.getFloat("power", 0.f);
|
_power = set.getFloat("power", 0.f);
|
||||||
_effectPoints = set.getInteger("effectPoints", 0);
|
_effectPoints = set.getInt("effectPoints", 0);
|
||||||
_negateSkillTypes = set.getString("negateSkillTypes", "").split(" ");
|
_negateSkillTypes = set.getString("negateSkillTypes", "").split(" ");
|
||||||
_negateEffectTypes = set.getString("negateEffectTypes", "").split(" ");
|
_negateEffectTypes = set.getString("negateEffectTypes", "").split(" ");
|
||||||
_negatePower = set.getFloat("negatePower", 0.f);
|
_negatePower = set.getFloat("negatePower", 0.f);
|
||||||
_negateId = set.getInteger("negateId", 0);
|
_negateId = set.getInt("negateId", 0);
|
||||||
_magicLevel = set.getInteger("magicLvl", SkillTreeTable.getInstance().getMinSkillLevel(_id, _level));
|
_magicLevel = set.getInt("magicLvl", SkillTreeTable.getInstance().getMinSkillLevel(_id, _level));
|
||||||
_levelDepend = set.getInteger("lvlDepend", 0);
|
_levelDepend = set.getInt("lvlDepend", 0);
|
||||||
_stat = set.getEnum("stat", Stats.class, null);
|
_stat = set.getEnum("stat", Stats.class, null);
|
||||||
|
|
||||||
_skillType = set.getEnum("skillType", SkillType.class);
|
_skillType = set.getEnum("skillType", SkillType.class);
|
||||||
_effectType = set.getEnum("effectType", SkillType.class, null);
|
_effectType = set.getEnum("effectType", SkillType.class, null);
|
||||||
_effectPower = set.getInteger("effectPower", 0);
|
_effectPower = set.getInt("effectPower", 0);
|
||||||
_effectId = set.getInteger("effectId", 0);
|
_effectId = set.getInt("effectId", 0);
|
||||||
_effectLvl = set.getInteger("effectLevel", 0);
|
_effectLvl = set.getInt("effectLevel", 0);
|
||||||
|
|
||||||
_element = set.getInteger("element", 0);
|
_element = set.getInt("element", 0);
|
||||||
_saveVs = set.getEnum("saveVs", BaseStats.class, null);
|
_saveVs = set.getEnum("saveVs", BaseStats.class, null);
|
||||||
|
|
||||||
_condition = set.getInteger("condition", 0);
|
_condition = set.getInt("condition", 0);
|
||||||
_conditionValue = set.getInteger("conditionValue", 0);
|
_conditionValue = set.getInt("conditionValue", 0);
|
||||||
_overhit = set.getBool("overHit", false);
|
_overhit = set.getBoolean("overHit", false);
|
||||||
_isSuicideAttack = set.getBool("isSuicideAttack", false);
|
_isSuicideAttack = set.getBoolean("isSuicideAttack", false);
|
||||||
_weaponsAllowed = set.getInteger("weaponsAllowed", 0);
|
_weaponsAllowed = set.getInt("weaponsAllowed", 0);
|
||||||
_armorsAllowed = set.getInteger("armorsAllowed", 0);
|
_armorsAllowed = set.getInt("armorsAllowed", 0);
|
||||||
|
|
||||||
_addCrossLearn = set.getInteger("addCrossLearn", 1000);
|
_addCrossLearn = set.getInt("addCrossLearn", 1000);
|
||||||
_mulCrossLearn = set.getFloat("mulCrossLearn", 2.f);
|
_mulCrossLearn = set.getFloat("mulCrossLearn", 2.f);
|
||||||
_mulCrossLearnRace = set.getFloat("mulCrossLearnRace", 2.f);
|
_mulCrossLearnRace = set.getFloat("mulCrossLearnRace", 2.f);
|
||||||
_mulCrossLearnProf = set.getFloat("mulCrossLearnProf", 3.f);
|
_mulCrossLearnProf = set.getFloat("mulCrossLearnProf", 3.f);
|
||||||
_minPledgeClass = set.getInteger("minPledgeClass", 0);
|
_minPledgeClass = set.getInt("minPledgeClass", 0);
|
||||||
_isOffensive = set.getBool("offensive", isSkillTypeOffensive());
|
_isOffensive = set.getBoolean("offensive", isSkillTypeOffensive());
|
||||||
_numCharges = set.getInteger("num_charges", 0);
|
_numCharges = set.getInt("num_charges", 0);
|
||||||
_triggeredId = set.getInteger("triggeredId", 0);
|
_triggeredId = set.getInt("triggeredId", 0);
|
||||||
_triggeredLevel = set.getInteger("triggeredLevel", 0);
|
_triggeredLevel = set.getInt("triggeredLevel", 0);
|
||||||
|
|
||||||
_bestowed = set.getBool("bestowed", false);
|
_bestowed = set.getBoolean("bestowed", false);
|
||||||
|
|
||||||
_targetConsume = set.getInteger("targetConsumeCount", 0);
|
_targetConsume = set.getInt("targetConsumeCount", 0);
|
||||||
_targetConsumeId = set.getInteger("targetConsumeId", 0);
|
_targetConsumeId = set.getInt("targetConsumeId", 0);
|
||||||
|
|
||||||
if (_operateType == SkillOpType.OP_CHANCE)
|
if (_operateType == SkillOpType.OP_CHANCE)
|
||||||
{
|
{
|
||||||
@@ -601,22 +600,22 @@ public abstract class Skill
|
|||||||
|
|
||||||
_isHeroSkill = HeroSkillTable.isHeroSkill(_id);
|
_isHeroSkill = HeroSkillTable.isHeroSkill(_id);
|
||||||
|
|
||||||
_baseCritRate = set.getInteger("baseCritRate", (_skillType == SkillType.PDAM) || (_skillType == SkillType.BLOW) ? 0 : -1);
|
_baseCritRate = set.getInt("baseCritRate", (_skillType == SkillType.PDAM) || (_skillType == SkillType.BLOW) ? 0 : -1);
|
||||||
_lethalEffect1 = set.getInteger("lethal1", 0);
|
_lethalEffect1 = set.getInt("lethal1", 0);
|
||||||
_lethalEffect2 = set.getInteger("lethal2", 0);
|
_lethalEffect2 = set.getInt("lethal2", 0);
|
||||||
|
|
||||||
_directHpDmg = set.getBool("dmgDirectlyToHp", false);
|
_directHpDmg = set.getBoolean("dmgDirectlyToHp", false);
|
||||||
_isDance = set.getBool("isDance", false);
|
_isDance = set.getBoolean("isDance", false);
|
||||||
_nextDanceCost = set.getInteger("nextDanceCost", 0);
|
_nextDanceCost = set.getInt("nextDanceCost", 0);
|
||||||
_sSBoost = set.getFloat("SSBoost", 0.f);
|
_sSBoost = set.getFloat("SSBoost", 0.f);
|
||||||
_aggroPoints = set.getInteger("aggroPoints", 0);
|
_aggroPoints = set.getInt("aggroPoints", 0);
|
||||||
|
|
||||||
_pvpMulti = set.getFloat("pvpMulti", 1.f);
|
_pvpMulti = set.getFloat("pvpMulti", 1.f);
|
||||||
|
|
||||||
_nextActionIsAttack = set.getBool("nextActionAttack", false);
|
_nextActionIsAttack = set.getBoolean("nextActionAttack", false);
|
||||||
|
|
||||||
_minChance = set.getInteger("minChance", 1);
|
_minChance = set.getInt("minChance", 1);
|
||||||
_maxChance = set.getInteger("maxChance", 99);
|
_maxChance = set.getInt("maxChance", 99);
|
||||||
|
|
||||||
String canLearn = set.getString("canLearn", null);
|
String canLearn = set.getString("canLearn", null);
|
||||||
if (canLearn == null)
|
if (canLearn == null)
|
||||||
@@ -665,9 +664,9 @@ public abstract class Skill
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_singleEffect = set.getBool("singleEffect", false);
|
_singleEffect = set.getBoolean("singleEffect", false);
|
||||||
|
|
||||||
_isDebuff = set.getBool("isDebuff", false);
|
_isDebuff = set.getBoolean("isDebuff", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void useSkill(Creature caster, WorldObject[] targets);
|
public abstract void useSkill(Creature caster, WorldObject[] targets);
|
||||||
|
|||||||
@@ -0,0 +1,978 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.l2jmobius.gameserver.model;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.TimeUtil;
|
||||||
|
import org.l2jmobius.gameserver.model.interfaces.IParserAdvUtils;
|
||||||
|
import org.l2jmobius.gameserver.skills.holders.SkillHolder;
|
||||||
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is meant to hold a set of (key,value) pairs.<br>
|
||||||
|
* They are stored as object but can be retrieved in any type wanted. As long as cast is available.<br>
|
||||||
|
* @author mkizub
|
||||||
|
*/
|
||||||
|
public class StatsSet implements IParserAdvUtils
|
||||||
|
{
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(StatsSet.class.getName());
|
||||||
|
/** Static empty immutable map, used to avoid multiple null checks over the source. */
|
||||||
|
public static final StatsSet EMPTY_STATSET = new StatsSet(Collections.emptyMap());
|
||||||
|
|
||||||
|
private final Map<String, Object> _set;
|
||||||
|
|
||||||
|
public StatsSet()
|
||||||
|
{
|
||||||
|
this(ConcurrentHashMap::new);
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet(Supplier<Map<String, Object>> mapFactory)
|
||||||
|
{
|
||||||
|
this(mapFactory.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet(Map<String, Object> map)
|
||||||
|
{
|
||||||
|
_set = map;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the set of values
|
||||||
|
* @return HashMap
|
||||||
|
*/
|
||||||
|
public Map<String, Object> getSet()
|
||||||
|
{
|
||||||
|
return _set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a set of couple values in the current set
|
||||||
|
* @param newSet : StatsSet pointing out the list of couples to add in the current set
|
||||||
|
*/
|
||||||
|
public void merge(StatsSet newSet)
|
||||||
|
{
|
||||||
|
_set.putAll(newSet.getSet());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verifies if the stat set is empty.
|
||||||
|
* @return {@code true} if the stat set is empty, {@code false} otherwise
|
||||||
|
*/
|
||||||
|
public boolean isEmpty()
|
||||||
|
{
|
||||||
|
return _set.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the boolean value associated with key.
|
||||||
|
* @param key : String designating the key in the set
|
||||||
|
* @return boolean : value associated to the key
|
||||||
|
* @throws IllegalArgumentException : If value is not set or value is not boolean
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean getBoolean(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Boolean value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Boolean)
|
||||||
|
{
|
||||||
|
return ((Boolean) val).booleanValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Boolean.parseBoolean((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Boolean value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the boolean value associated with key.<br>
|
||||||
|
* If no value is associated with key, or type of value is wrong, returns defaultValue.
|
||||||
|
* @param key : String designating the key in the entry set
|
||||||
|
* @return boolean : value associated to the key
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean getBoolean(String key, boolean defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Boolean)
|
||||||
|
{
|
||||||
|
return ((Boolean) val).booleanValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Boolean.parseBoolean((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte getByte(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Byte value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).byteValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Byte.parseByte((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Byte value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public byte getByte(String key, byte defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).byteValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Byte.parseByte((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Byte value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public short increaseByte(String key, byte increaseWith)
|
||||||
|
{
|
||||||
|
final byte newValue = (byte) (getByte(key) + increaseWith);
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public short increaseByte(String key, byte defaultValue, byte increaseWith)
|
||||||
|
{
|
||||||
|
final byte newValue = (byte) (getByte(key, defaultValue) + increaseWith);
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getByteArray(String key, String splitOn)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(splitOn);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Byte value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return new byte[]
|
||||||
|
{
|
||||||
|
((Number) val).byteValue()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
int c = 0;
|
||||||
|
final String[] vals = ((String) val).split(splitOn);
|
||||||
|
final byte[] result = new byte[vals.length];
|
||||||
|
for (String v : vals)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
result[c++] = Byte.parseByte(v);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Byte value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Byte> getByteList(String key, String splitOn)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(splitOn);
|
||||||
|
final List<Byte> result = new ArrayList<>();
|
||||||
|
for (Byte i : getByteArray(key, splitOn))
|
||||||
|
{
|
||||||
|
result.add(i);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public short getShort(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Short value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).shortValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Short.parseShort((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Short value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public short getShort(String key, short defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).shortValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Short.parseShort((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Short value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public short increaseShort(String key, short increaseWith)
|
||||||
|
{
|
||||||
|
final short newValue = (short) (getShort(key) + increaseWith);
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public short increaseShort(String key, short defaultValue, short increaseWith)
|
||||||
|
{
|
||||||
|
final short newValue = (short) (getShort(key, defaultValue) + increaseWith);
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getInt(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Integer value required, but not specified: " + key + "!");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).intValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Integer.parseInt((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Integer value required, but found: " + val + "!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getInt(String key, int defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).intValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Integer.parseInt((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int increaseInt(String key, int increaseWith)
|
||||||
|
{
|
||||||
|
final int newValue = getInt(key) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int increaseInt(String key, int defaultValue, int increaseWith)
|
||||||
|
{
|
||||||
|
final int newValue = getInt(key, defaultValue) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] getIntArray(String key, String splitOn)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(splitOn);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Integer value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return new int[]
|
||||||
|
{
|
||||||
|
((Number) val).intValue()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
int c = 0;
|
||||||
|
final String[] vals = ((String) val).split(splitOn);
|
||||||
|
final int[] result = new int[vals.length];
|
||||||
|
for (String v : vals)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
result[c++] = Integer.parseInt(v);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Integer> getIntegerList(String key, String splitOn)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(splitOn);
|
||||||
|
final List<Integer> result = new ArrayList<>();
|
||||||
|
for (int i : getIntArray(key, splitOn))
|
||||||
|
{
|
||||||
|
result.add(i);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getLong(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Long value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).longValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Long.parseLong((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Long value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getLong(String key, long defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).longValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Long.parseLong((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Long value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public long increaseLong(String key, long increaseWith)
|
||||||
|
{
|
||||||
|
final long newValue = getLong(key) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long increaseLong(String key, long defaultValue, long increaseWith)
|
||||||
|
{
|
||||||
|
final long newValue = getLong(key, defaultValue) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getFloat(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Float value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).floatValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Float.parseFloat((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Float value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getFloat(String key, float defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).floatValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Float.parseFloat((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Float value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public float increaseFloat(String key, float increaseWith)
|
||||||
|
{
|
||||||
|
final float newValue = getFloat(key) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float increaseFloat(String key, float defaultValue, float increaseWith)
|
||||||
|
{
|
||||||
|
final float newValue = getFloat(key, defaultValue) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getDouble(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Double value required, but not specified");
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).doubleValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Double.parseDouble((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Double value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getDouble(String key, double defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (val instanceof Number)
|
||||||
|
{
|
||||||
|
return ((Number) val).doubleValue();
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Double.parseDouble((String) val);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Double value required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public double increaseDouble(String key, double increaseWith)
|
||||||
|
{
|
||||||
|
final double newValue = getDouble(key) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double increaseDouble(String key, double defaultValue, double increaseWith)
|
||||||
|
{
|
||||||
|
final double newValue = getDouble(key, defaultValue) + increaseWith;
|
||||||
|
set(key, newValue);
|
||||||
|
return newValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getString(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("String value required, but not specified");
|
||||||
|
}
|
||||||
|
return String.valueOf(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getString(String key, String defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
return String.valueOf(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Duration getDuration(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("String value required, but not specified");
|
||||||
|
}
|
||||||
|
return TimeUtil.parseDuration(String.valueOf(val));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Duration getDuration(String key, Duration defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
return TimeUtil.parseDuration(String.valueOf(val));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <T extends Enum<T>> T getEnum(String key, Class<T> enumClass)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(enumClass);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Enum value of type " + enumClass.getName() + " required, but not specified");
|
||||||
|
}
|
||||||
|
if (enumClass.isInstance(val))
|
||||||
|
{
|
||||||
|
return (T) val;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Enum.valueOf(enumClass, String.valueOf(val));
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Enum value of type " + enumClass.getName() + " required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <T extends Enum<T>> T getEnum(String key, Class<T> enumClass, T defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(enumClass);
|
||||||
|
final Object val = _set.get(key);
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
if (enumClass.isInstance(val))
|
||||||
|
{
|
||||||
|
return (T) val;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Enum.valueOf(enumClass, String.valueOf(val));
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException("Enum value of type " + enumClass.getName() + " required, but found: " + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <A> A getObject(String name, Class<A> type)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(name);
|
||||||
|
Objects.requireNonNull(type);
|
||||||
|
final Object obj = _set.get(name);
|
||||||
|
if ((obj == null) || !type.isAssignableFrom(obj.getClass()))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (A) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <A> A getObject(String name, Class<A> type, A defaultValue)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(name);
|
||||||
|
Objects.requireNonNull(type);
|
||||||
|
final Object obj = _set.get(name);
|
||||||
|
if ((obj == null) || !type.isAssignableFrom(obj.getClass()))
|
||||||
|
{
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (A) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SkillHolder getSkillHolder(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object obj = _set.get(key);
|
||||||
|
if ((obj == null) || !(obj instanceof SkillHolder))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (SkillHolder) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location getLocation(String key)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
final Object obj = _set.get(key);
|
||||||
|
if ((obj == null) || !(obj instanceof Location))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return (Location) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <T> List<T> getList(String key, Class<T> clazz)
|
||||||
|
{
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
Objects.requireNonNull(clazz);
|
||||||
|
final Object obj = _set.get(key);
|
||||||
|
if ((obj == null) || !(obj instanceof List<?>))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final List<Object> originalList = (List<Object>) obj;
|
||||||
|
if (!originalList.isEmpty() && !originalList.stream().allMatch(clazz::isInstance))
|
||||||
|
{
|
||||||
|
if (clazz.getSuperclass() == Enum.class)
|
||||||
|
{
|
||||||
|
throw new IllegalAccessError("Please use getEnumList if you want to get list of Enums!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to convert the list
|
||||||
|
final List<T> convertedList = convertList(originalList, clazz);
|
||||||
|
if (convertedList == null)
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.WARNING, "getList(\"" + key + "\", " + clazz.getSimpleName() + ") requested with wrong generic type: " + obj.getClass().getGenericInterfaces()[0] + "!", new ClassNotFoundException());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overwrite the existing list with proper generic type
|
||||||
|
_set.put(key, convertedList);
|
||||||
|
return convertedList;
|
||||||
|
}
|
||||||
|
return (List<T>) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> List<T> getList(String key, Class<T> clazz, List<T> defaultValue)
|
||||||
|
{
|
||||||
|
final List<T> list = getList(key, clazz);
|
||||||
|
return list == null ? defaultValue : list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <T extends Enum<T>> List<T> getEnumList(String key, Class<T> clazz)
|
||||||
|
{
|
||||||
|
final Object obj = _set.get(key);
|
||||||
|
if ((obj == null) || !(obj instanceof List<?>))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final List<Object> originalList = (List<Object>) obj;
|
||||||
|
if (!originalList.isEmpty() && (obj.getClass().getGenericInterfaces()[0] != clazz) && originalList.stream().allMatch(name -> Util.isEnum(name.toString(), clazz)))
|
||||||
|
{
|
||||||
|
final List<T> convertedList = originalList.stream().map(Object::toString).map(name -> Enum.valueOf(clazz, name)).map(clazz::cast).collect(Collectors.toList());
|
||||||
|
|
||||||
|
// Overwrite the existing list with proper generic type
|
||||||
|
_set.put(key, convertedList);
|
||||||
|
return convertedList;
|
||||||
|
}
|
||||||
|
return (List<T>) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param <T>
|
||||||
|
* @param originalList
|
||||||
|
* @param clazz
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private <T> List<T> convertList(List<Object> originalList, Class<T> clazz)
|
||||||
|
{
|
||||||
|
if (clazz == Integer.class)
|
||||||
|
{
|
||||||
|
if (originalList.stream().map(Object::toString).allMatch(Util::isInteger))
|
||||||
|
{
|
||||||
|
return originalList.stream().map(Object::toString).map(Integer::valueOf).map(clazz::cast).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (clazz == Float.class)
|
||||||
|
{
|
||||||
|
if (originalList.stream().map(Object::toString).allMatch(Util::isFloat))
|
||||||
|
{
|
||||||
|
return originalList.stream().map(Object::toString).map(Float::valueOf).map(clazz::cast).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (clazz == Double.class)
|
||||||
|
{
|
||||||
|
if (originalList.stream().map(Object::toString).allMatch(Util::isDouble))
|
||||||
|
{
|
||||||
|
return originalList.stream().map(Object::toString).map(Double::valueOf).map(clazz::cast).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public <K, V> Map<K, V> getMap(String key, Class<K> keyClass, Class<V> valueClass)
|
||||||
|
{
|
||||||
|
final Object obj = _set.get(key);
|
||||||
|
if ((obj == null) || !(obj instanceof Map<?, ?>))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Map<?, ?> originalList = (Map<?, ?>) obj;
|
||||||
|
if (!originalList.isEmpty())
|
||||||
|
{
|
||||||
|
if ((!originalList.keySet().stream().allMatch(keyClass::isInstance)) || (!originalList.values().stream().allMatch(valueClass::isInstance)))
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.WARNING, "getMap(\"" + key + "\", " + keyClass.getSimpleName() + ", " + valueClass.getSimpleName() + ") requested with wrong generic type: " + obj.getClass().getGenericInterfaces()[0] + "!", new ClassNotFoundException());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (Map<K, V>) obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String name, Object value)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
_set.put(name, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, boolean value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, byte value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, short value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, int value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, long value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, float value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, double value)
|
||||||
|
{
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, String value)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StatsSet set(String key, Enum<?> value)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
_set.put(key, value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Safe version of "set". Expected values are within [min, max[<br>
|
||||||
|
* Add the int hold in param "value" for the key "name".
|
||||||
|
* @param name : String designating the key in the set
|
||||||
|
* @param value : int corresponding to the value associated with the key
|
||||||
|
* @param min
|
||||||
|
* @param max
|
||||||
|
* @param reference
|
||||||
|
*/
|
||||||
|
public synchronized void safeSet(String name, int value, int min, int max, String reference)
|
||||||
|
{
|
||||||
|
assert ((min > max) || ((value >= min) && (value < max)));
|
||||||
|
|
||||||
|
if ((min <= max) && ((value < min) || (value >= max)))
|
||||||
|
{
|
||||||
|
LOGGER.info("[StatsSet][safeSet] Incorrect value: " + value + "for: " + name + "Ref: " + reference);
|
||||||
|
}
|
||||||
|
|
||||||
|
set(name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static StatsSet valueOf(String key, Object value)
|
||||||
|
{
|
||||||
|
final StatsSet set = new StatsSet();
|
||||||
|
set.set(key, value);
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void remove(String key)
|
||||||
|
{
|
||||||
|
_set.remove(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean contains(String name)
|
||||||
|
{
|
||||||
|
return _set.containsKey(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "StatsSet{_set=" + _set + '}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -60,6 +60,7 @@ import org.l2jmobius.gameserver.model.Party;
|
|||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
import org.l2jmobius.gameserver.model.Skill.SkillTargetType;
|
import org.l2jmobius.gameserver.model.Skill.SkillTargetType;
|
||||||
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.WorldObject;
|
import org.l2jmobius.gameserver.model.WorldObject;
|
||||||
import org.l2jmobius.gameserver.model.WorldRegion;
|
import org.l2jmobius.gameserver.model.WorldRegion;
|
||||||
@@ -131,7 +132,6 @@ import org.l2jmobius.gameserver.skills.Stats;
|
|||||||
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.Func;
|
import org.l2jmobius.gameserver.skills.funcs.Func;
|
||||||
import org.l2jmobius.gameserver.skills.holders.ISkillsHolder;
|
import org.l2jmobius.gameserver.skills.holders.ISkillsHolder;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.CreatureTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.CreatureTemplate;
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
import org.l2jmobius.gameserver.templates.item.Weapon;
|
import org.l2jmobius.gameserver.templates.item.Weapon;
|
||||||
|
|||||||
+4
-4
@@ -21,13 +21,13 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSigns;
|
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSigns;
|
||||||
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSignsFestival;
|
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSignsFestival;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -324,13 +324,13 @@ public class FestivalGuideInstance extends FolkInstance
|
|||||||
final StatsSet dawnData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DAWN, _festivalType);
|
final StatsSet dawnData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DAWN, _festivalType);
|
||||||
final StatsSet duskData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DUSK, _festivalType);
|
final StatsSet duskData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DUSK, _festivalType);
|
||||||
final StatsSet overallData = SevenSignsFestival.getInstance().getOverallHighestScoreData(_festivalType);
|
final StatsSet overallData = SevenSignsFestival.getInstance().getOverallHighestScoreData(_festivalType);
|
||||||
final int dawnScore = dawnData.getInteger("score");
|
final int dawnScore = dawnData.getInt("score");
|
||||||
final int duskScore = duskData.getInteger("score");
|
final int duskScore = duskData.getInt("score");
|
||||||
int overallScore = 0;
|
int overallScore = 0;
|
||||||
// If no data is returned, assume there is no record, or all scores are 0.
|
// If no data is returned, assume there is no record, or all scores are 0.
|
||||||
if (overallData != null)
|
if (overallData != null)
|
||||||
{
|
{
|
||||||
overallScore = overallData.getInteger("score");
|
overallScore = overallData.getInt("score");
|
||||||
}
|
}
|
||||||
strBuffer.append(SevenSignsFestival.getFestivalName(_festivalType) + " festival.<br>");
|
strBuffer.append(SevenSignsFestival.getFestivalName(_festivalType) + " festival.<br>");
|
||||||
if (dawnScore > 0)
|
if (dawnScore > 0)
|
||||||
|
|||||||
+12
-14
@@ -50,7 +50,6 @@ import org.l2jmobius.gameserver.cache.WarehouseCacheManager;
|
|||||||
import org.l2jmobius.gameserver.communitybbs.BB.Forum;
|
import org.l2jmobius.gameserver.communitybbs.BB.Forum;
|
||||||
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
|
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
|
||||||
import org.l2jmobius.gameserver.datatables.AccessLevel;
|
import org.l2jmobius.gameserver.datatables.AccessLevel;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
|
||||||
import org.l2jmobius.gameserver.datatables.HeroSkillTable;
|
import org.l2jmobius.gameserver.datatables.HeroSkillTable;
|
||||||
import org.l2jmobius.gameserver.datatables.NobleSkillTable;
|
import org.l2jmobius.gameserver.datatables.NobleSkillTable;
|
||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
@@ -58,12 +57,11 @@ import org.l2jmobius.gameserver.datatables.csv.FishTable;
|
|||||||
import org.l2jmobius.gameserver.datatables.csv.HennaTable;
|
import org.l2jmobius.gameserver.datatables.csv.HennaTable;
|
||||||
import org.l2jmobius.gameserver.datatables.csv.MapRegionTable;
|
import org.l2jmobius.gameserver.datatables.csv.MapRegionTable;
|
||||||
import org.l2jmobius.gameserver.datatables.csv.RecipeTable;
|
import org.l2jmobius.gameserver.datatables.csv.RecipeTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AccessLevels;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AdminCommandAccessRights;
|
|
||||||
import org.l2jmobius.gameserver.datatables.sql.CharTemplateTable;
|
import org.l2jmobius.gameserver.datatables.sql.CharTemplateTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.ClanTable;
|
import org.l2jmobius.gameserver.datatables.sql.ClanTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable;
|
import org.l2jmobius.gameserver.datatables.sql.SkillTreeTable;
|
||||||
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
||||||
import org.l2jmobius.gameserver.datatables.xml.ItemTable;
|
import org.l2jmobius.gameserver.datatables.xml.ItemTable;
|
||||||
import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||||
@@ -8614,11 +8612,11 @@ public class PlayerInstance extends Playable
|
|||||||
if (level == Config.MASTERACCESS_LEVEL)
|
if (level == Config.MASTERACCESS_LEVEL)
|
||||||
{
|
{
|
||||||
LOGGER.warning("Access level " + level + " set for character " + getName() + "! Just a warning ;)");
|
LOGGER.warning("Access level " + level + " set for character " + getName() + "! Just a warning ;)");
|
||||||
_accessLevel = AccessLevels.getInstance()._masterAccessLevel;
|
_accessLevel = AdminData.getInstance()._masterAccessLevel;
|
||||||
}
|
}
|
||||||
else if (level == Config.USERACCESS_LEVEL)
|
else if (level == Config.USERACCESS_LEVEL)
|
||||||
{
|
{
|
||||||
_accessLevel = AccessLevels.getInstance()._userAccessLevel;
|
_accessLevel = AdminData.getInstance()._userAccessLevel;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -8626,19 +8624,19 @@ public class PlayerInstance extends Playable
|
|||||||
{
|
{
|
||||||
LOGGER.warning("Access level " + level + " set for character " + getName() + "! Just a warning ;)");
|
LOGGER.warning("Access level " + level + " set for character " + getName() + "! Just a warning ;)");
|
||||||
}
|
}
|
||||||
AccessLevel accessLevel = AccessLevels.getInstance().getAccessLevel(level);
|
AccessLevel accessLevel = AdminData.getInstance().getAccessLevel(level);
|
||||||
|
|
||||||
if (accessLevel == null)
|
if (accessLevel == null)
|
||||||
{
|
{
|
||||||
if (level < 0)
|
if (level < 0)
|
||||||
{
|
{
|
||||||
AccessLevels.getInstance().addBanAccessLevel(level);
|
AdminData.getInstance().addBanAccessLevel(level);
|
||||||
_accessLevel = AccessLevels.getInstance().getAccessLevel(level);
|
_accessLevel = AdminData.getInstance().getAccessLevel(level);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOGGER.warning("Tried to set unregistered access level " + level + " to character " + getName() + ". Setting access level without privileges!");
|
LOGGER.warning("Tried to set unregistered access level " + level + " to character " + getName() + ". Setting access level without privileges!");
|
||||||
_accessLevel = AccessLevels.getInstance()._userAccessLevel;
|
_accessLevel = AdminData.getInstance()._userAccessLevel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -8647,7 +8645,7 @@ public class PlayerInstance extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_accessLevel != AccessLevels.getInstance()._userAccessLevel)
|
if (_accessLevel != AdminData.getInstance()._userAccessLevel)
|
||||||
{
|
{
|
||||||
if (getAccessLevel().useNameColor())
|
if (getAccessLevel().useNameColor())
|
||||||
{
|
{
|
||||||
@@ -8679,7 +8677,7 @@ public class PlayerInstance extends Playable
|
|||||||
{
|
{
|
||||||
if (Config.EVERYBODY_HAS_ADMIN_RIGHTS)
|
if (Config.EVERYBODY_HAS_ADMIN_RIGHTS)
|
||||||
{
|
{
|
||||||
return AccessLevels.getInstance()._masterAccessLevel;
|
return AdminData.getInstance()._masterAccessLevel;
|
||||||
}
|
}
|
||||||
else if (_accessLevel == null)
|
else if (_accessLevel == null)
|
||||||
{
|
{
|
||||||
@@ -15050,7 +15048,7 @@ public class PlayerInstance extends Playable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
GmListTable.getInstance().deleteGm(this);
|
AdminData.getInstance().deleteGm(this);
|
||||||
}
|
}
|
||||||
catch (Throwable t)
|
catch (Throwable t)
|
||||||
{
|
{
|
||||||
@@ -17920,11 +17918,11 @@ public class PlayerInstance extends Playable
|
|||||||
setTarget(null);
|
setTarget(null);
|
||||||
sendPacket(new ExOlympiadMode(0, this));
|
sendPacket(new ExOlympiadMode(0, this));
|
||||||
teleToLocation(_obsX, _obsY, _obsZ, true);
|
teleToLocation(_obsX, _obsY, _obsZ, true);
|
||||||
if (!AdminCommandAccessRights.getInstance().hasAccess("admin_invis", getAccessLevel()))
|
if (!AdminData.getInstance().hasAccess("admin_invis", getAccessLevel()))
|
||||||
{
|
{
|
||||||
getAppearance().setVisible();
|
getAppearance().setVisible();
|
||||||
}
|
}
|
||||||
if (!AdminCommandAccessRights.getInstance().hasAccess("admin_invul", getAccessLevel()))
|
if (!AdminData.getInstance().hasAccess("admin_invul", getAccessLevel()))
|
||||||
{
|
{
|
||||||
setIsInvul(false);
|
setIsInvul(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.ClanTable;
|
import org.l2jmobius.gameserver.datatables.sql.ClanTable;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@@ -38,7 +39,6 @@ import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.item.Item;
|
import org.l2jmobius.gameserver.templates.item.Item;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -320,11 +320,11 @@ public class Hero
|
|||||||
final Map<Integer, StatsSet> heroes = new HashMap<>();
|
final Map<Integer, StatsSet> heroes = new HashMap<>();
|
||||||
for (StatsSet hero : newHeroes)
|
for (StatsSet hero : newHeroes)
|
||||||
{
|
{
|
||||||
final int charId = hero.getInteger(Olympiad.CHAR_ID);
|
final int charId = hero.getInt(Olympiad.CHAR_ID);
|
||||||
if ((_completeHeroes != null) && _completeHeroes.containsKey(charId))
|
if ((_completeHeroes != null) && _completeHeroes.containsKey(charId))
|
||||||
{
|
{
|
||||||
final StatsSet oldHero = _completeHeroes.get(charId);
|
final StatsSet oldHero = _completeHeroes.get(charId);
|
||||||
final int count = oldHero.getInteger(COUNT);
|
final int count = oldHero.getInt(COUNT);
|
||||||
oldHero.set(COUNT, count + 1);
|
oldHero.set(COUNT, count + 1);
|
||||||
oldHero.set(PLAYED, 1);
|
oldHero.set(PLAYED, 1);
|
||||||
heroes.put(charId, oldHero);
|
heroes.put(charId, oldHero);
|
||||||
@@ -333,7 +333,7 @@ public class Hero
|
|||||||
{
|
{
|
||||||
final StatsSet newHero = new StatsSet();
|
final StatsSet newHero = new StatsSet();
|
||||||
newHero.set(Olympiad.CHAR_NAME, hero.getString(Olympiad.CHAR_NAME));
|
newHero.set(Olympiad.CHAR_NAME, hero.getString(Olympiad.CHAR_NAME));
|
||||||
newHero.set(Olympiad.CLASS_ID, hero.getInteger(Olympiad.CLASS_ID));
|
newHero.set(Olympiad.CLASS_ID, hero.getInt(Olympiad.CLASS_ID));
|
||||||
newHero.set(COUNT, 1);
|
newHero.set(COUNT, 1);
|
||||||
newHero.set(PLAYED, 1);
|
newHero.set(PLAYED, 1);
|
||||||
heroes.put(charId, newHero);
|
heroes.put(charId, newHero);
|
||||||
@@ -424,9 +424,9 @@ public class Hero
|
|||||||
statement = con.prepareStatement(INSERT_HERO);
|
statement = con.prepareStatement(INSERT_HERO);
|
||||||
statement.setInt(1, heroId);
|
statement.setInt(1, heroId);
|
||||||
statement.setString(2, hero.getString(Olympiad.CHAR_NAME));
|
statement.setString(2, hero.getString(Olympiad.CHAR_NAME));
|
||||||
statement.setInt(3, hero.getInteger(Olympiad.CLASS_ID));
|
statement.setInt(3, hero.getInt(Olympiad.CLASS_ID));
|
||||||
statement.setInt(4, hero.getInteger(COUNT));
|
statement.setInt(4, hero.getInt(COUNT));
|
||||||
statement.setInt(5, hero.getInteger(PLAYED));
|
statement.setInt(5, hero.getInt(PLAYED));
|
||||||
statement.execute();
|
statement.execute();
|
||||||
statement2 = con.prepareStatement(GET_CLAN_ALLY);
|
statement2 = con.prepareStatement(GET_CLAN_ALLY);
|
||||||
statement2.setInt(1, heroId);
|
statement2.setInt(1, heroId);
|
||||||
@@ -463,8 +463,8 @@ public class Hero
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
statement = con.prepareStatement(UPDATE_HERO);
|
statement = con.prepareStatement(UPDATE_HERO);
|
||||||
statement.setInt(1, hero.getInteger(COUNT));
|
statement.setInt(1, hero.getInt(COUNT));
|
||||||
statement.setInt(2, hero.getInteger(PLAYED));
|
statement.setInt(2, hero.getInt(PLAYED));
|
||||||
statement.setInt(3, heroId);
|
statement.setInt(3, heroId);
|
||||||
statement.execute();
|
statement.execute();
|
||||||
}
|
}
|
||||||
|
|||||||
+25
-25
@@ -44,6 +44,7 @@ import org.l2jmobius.Config;
|
|||||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||||
import org.l2jmobius.gameserver.instancemanager.OlympiadStadiaManager;
|
import org.l2jmobius.gameserver.instancemanager.OlympiadStadiaManager;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.Announcements;
|
import org.l2jmobius.gameserver.model.entity.Announcements;
|
||||||
@@ -52,7 +53,6 @@ import org.l2jmobius.gameserver.model.spawn.Spawn;
|
|||||||
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;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class Olympiad
|
public class Olympiad
|
||||||
{
|
{
|
||||||
@@ -1006,7 +1006,7 @@ public class Olympiad
|
|||||||
for (Integer nobleId : _nobles.keySet())
|
for (Integer nobleId : _nobles.keySet())
|
||||||
{
|
{
|
||||||
final StatsSet nobleInfo = _nobles.get(nobleId);
|
final StatsSet nobleInfo = _nobles.get(nobleId);
|
||||||
int currentPoints = nobleInfo.getInteger(POINTS);
|
int currentPoints = nobleInfo.getInt(POINTS);
|
||||||
currentPoints += WEEKLY_POINTS;
|
currentPoints += WEEKLY_POINTS;
|
||||||
nobleInfo.set(POINTS, currentPoints);
|
nobleInfo.set(POINTS, currentPoints);
|
||||||
|
|
||||||
@@ -1138,14 +1138,14 @@ public class Olympiad
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int charId = nobleId;
|
final int charId = nobleId;
|
||||||
final int classId = nobleInfo.getInteger(CLASS_ID);
|
final int classId = nobleInfo.getInt(CLASS_ID);
|
||||||
final String charName = nobleInfo.getString(CHAR_NAME);
|
final String charName = nobleInfo.getString(CHAR_NAME);
|
||||||
final int points = nobleInfo.getInteger(POINTS);
|
final int points = nobleInfo.getInt(POINTS);
|
||||||
final int compDone = nobleInfo.getInteger(COMP_DONE);
|
final int compDone = nobleInfo.getInt(COMP_DONE);
|
||||||
final int compWon = nobleInfo.getInteger(COMP_WON);
|
final int compWon = nobleInfo.getInt(COMP_WON);
|
||||||
final int compLost = nobleInfo.getInteger(COMP_LOST);
|
final int compLost = nobleInfo.getInt(COMP_LOST);
|
||||||
final int compDrawn = nobleInfo.getInteger(COMP_DRAWN);
|
final int compDrawn = nobleInfo.getInt(COMP_DRAWN);
|
||||||
final boolean toSave = nobleInfo.getBool("to_save");
|
final boolean toSave = nobleInfo.getBoolean("to_save");
|
||||||
|
|
||||||
if (toSave)
|
if (toSave)
|
||||||
{
|
{
|
||||||
@@ -1200,11 +1200,11 @@ public class Olympiad
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int charId = nobleId;
|
final int charId = nobleId;
|
||||||
final int points = nobleInfo.getInteger(POINTS);
|
final int points = nobleInfo.getInt(POINTS);
|
||||||
final int compDone = nobleInfo.getInteger(COMP_DONE);
|
final int compDone = nobleInfo.getInt(COMP_DONE);
|
||||||
final int compWon = nobleInfo.getInteger(COMP_WON);
|
final int compWon = nobleInfo.getInt(COMP_WON);
|
||||||
final int compLost = nobleInfo.getInteger(COMP_LOST);
|
final int compLost = nobleInfo.getInt(COMP_LOST);
|
||||||
final int compDrawn = nobleInfo.getInteger(COMP_DRAWN);
|
final int compDrawn = nobleInfo.getInt(COMP_DRAWN);
|
||||||
|
|
||||||
statement = con.prepareStatement(OLYMPIAD_UPDATE_OLD_NOBLES);
|
statement = con.prepareStatement(OLYMPIAD_UPDATE_OLD_NOBLES);
|
||||||
statement.setInt(1, points);
|
statement.setInt(1, points);
|
||||||
@@ -1310,10 +1310,10 @@ public class Olympiad
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int charId = nobleId;
|
final int charId = nobleId;
|
||||||
final int classId = nobleInfo.getInteger(CLASS_ID);
|
final int classId = nobleInfo.getInt(CLASS_ID);
|
||||||
final String charName = nobleInfo.getString(CHAR_NAME);
|
final String charName = nobleInfo.getString(CHAR_NAME);
|
||||||
final int points = nobleInfo.getInteger(POINTS);
|
final int points = nobleInfo.getInt(POINTS);
|
||||||
final int compDone = nobleInfo.getInteger(COMP_DONE);
|
final int compDone = nobleInfo.getInt(COMP_DONE);
|
||||||
|
|
||||||
logResult(charName, "", Double.valueOf(charId), Double.valueOf(classId), compDone, points, "noble-charId-classId-compdone-points", 0, "");
|
logResult(charName, "", Double.valueOf(charId), Double.valueOf(classId), compDone, points, "noble-charId-classId-compdone-points", 0, "");
|
||||||
}
|
}
|
||||||
@@ -1395,10 +1395,10 @@ public class Olympiad
|
|||||||
|
|
||||||
for (StatsSet hero : _heroesToBe)
|
for (StatsSet hero : _heroesToBe)
|
||||||
{
|
{
|
||||||
final int charId = hero.getInteger(CHAR_ID);
|
final int charId = hero.getInt(CHAR_ID);
|
||||||
|
|
||||||
final StatsSet noble = _nobles.get(charId);
|
final StatsSet noble = _nobles.get(charId);
|
||||||
int currentPoints = noble.getInteger(POINTS);
|
int currentPoints = noble.getInt(POINTS);
|
||||||
currentPoints += Config.ALT_OLY_HERO_POINTS;
|
currentPoints += Config.ALT_OLY_HERO_POINTS;
|
||||||
noble.set(POINTS, currentPoints);
|
noble.set(POINTS, currentPoints);
|
||||||
|
|
||||||
@@ -1420,7 +1420,7 @@ public class Olympiad
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int points = noble.getInteger(POINTS);
|
int points = noble.getInt(POINTS);
|
||||||
if (points <= Config.ALT_OLY_MIN_POINT_FOR_EXCH)
|
if (points <= Config.ALT_OLY_MIN_POINT_FOR_EXCH)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1444,7 +1444,7 @@ public class Olympiad
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int points = noble.getInteger(POINTS);
|
int points = noble.getInt(POINTS);
|
||||||
if (points <= Config.ALT_OLY_MIN_POINT_FOR_EXCH)
|
if (points <= Config.ALT_OLY_MIN_POINT_FOR_EXCH)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1489,7 +1489,7 @@ public class Olympiad
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
final int points = noble.getInteger(POINTS);
|
final int points = noble.getInt(POINTS);
|
||||||
|
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
@@ -1506,7 +1506,7 @@ public class Olympiad
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
final int points = noble.getInteger(COMP_DONE);
|
final int points = noble.getInt(COMP_DONE);
|
||||||
|
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
@@ -1523,7 +1523,7 @@ public class Olympiad
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
final int points = noble.getInteger(COMP_WON);
|
final int points = noble.getInt(COMP_WON);
|
||||||
|
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
@@ -1540,7 +1540,7 @@ public class Olympiad
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
final int points = noble.getInteger(COMP_LOST);
|
final int points = noble.getInt(COMP_LOST);
|
||||||
|
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -27,6 +27,7 @@ import org.l2jmobius.gameserver.datatables.HeroSkillTable;
|
|||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.CubicInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.CubicInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
@@ -45,7 +46,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExOlympiadUserInfo;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author GodKratos
|
* @author GodKratos
|
||||||
@@ -652,17 +652,17 @@ class OlympiadGame
|
|||||||
final StatsSet playerOneStat = Olympiad.getNobleStats(_playerOne.getObjectId());
|
final StatsSet playerOneStat = Olympiad.getNobleStats(_playerOne.getObjectId());
|
||||||
final StatsSet playerTwoStat = Olympiad.getNobleStats(_playerTwo.getObjectId());
|
final StatsSet playerTwoStat = Olympiad.getNobleStats(_playerTwo.getObjectId());
|
||||||
|
|
||||||
final int playerOnePlayed = playerOneStat.getInteger(COMP_DONE);
|
final int playerOnePlayed = playerOneStat.getInt(COMP_DONE);
|
||||||
final int playerTwoPlayed = playerTwoStat.getInteger(COMP_DONE);
|
final int playerTwoPlayed = playerTwoStat.getInt(COMP_DONE);
|
||||||
final int playerOneWon = playerOneStat.getInteger(COMP_WON);
|
final int playerOneWon = playerOneStat.getInt(COMP_WON);
|
||||||
final int playerTwoWon = playerTwoStat.getInteger(COMP_WON);
|
final int playerTwoWon = playerTwoStat.getInt(COMP_WON);
|
||||||
final int playerOneLost = playerOneStat.getInteger(COMP_LOST);
|
final int playerOneLost = playerOneStat.getInt(COMP_LOST);
|
||||||
final int playerTwoLost = playerTwoStat.getInteger(COMP_LOST);
|
final int playerTwoLost = playerTwoStat.getInt(COMP_LOST);
|
||||||
final int playerOneDrawn = playerOneStat.getInteger(COMP_DRAWN);
|
final int playerOneDrawn = playerOneStat.getInt(COMP_DRAWN);
|
||||||
final int playerTwoDrawn = playerTwoStat.getInteger(COMP_DRAWN);
|
final int playerTwoDrawn = playerTwoStat.getInt(COMP_DRAWN);
|
||||||
|
|
||||||
final int playerOnePoints = playerOneStat.getInteger(POINTS);
|
final int playerOnePoints = playerOneStat.getInt(POINTS);
|
||||||
final int playerTwoPoints = playerTwoStat.getInteger(POINTS);
|
final int playerTwoPoints = playerTwoStat.getInt(POINTS);
|
||||||
final int pointDiff = Math.min(playerOnePoints, playerTwoPoints) / _div;
|
final int pointDiff = Math.min(playerOnePoints, playerTwoPoints) / _div;
|
||||||
|
|
||||||
// Check for if a player defaulted before battle started
|
// Check for if a player defaulted before battle started
|
||||||
|
|||||||
+20
-20
@@ -31,6 +31,7 @@ import org.l2jmobius.commons.database.DatabaseFactory;
|
|||||||
import org.l2jmobius.gameserver.datatables.csv.MapRegionTable;
|
import org.l2jmobius.gameserver.datatables.csv.MapRegionTable;
|
||||||
import org.l2jmobius.gameserver.handler.AutoChatHandler;
|
import org.l2jmobius.gameserver.handler.AutoChatHandler;
|
||||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.spawn.AutoSpawn;
|
import org.l2jmobius.gameserver.model.spawn.AutoSpawn;
|
||||||
@@ -38,7 +39,6 @@ import org.l2jmobius.gameserver.model.spawn.AutoSpawn.AutoSpawnInstance;
|
|||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SignsSky;
|
import org.l2jmobius.gameserver.network.serverpackets.SignsSky;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Seven Signs Engine TODO: - Implementation of the Seal of Strife for sieges.
|
* Seven Signs Engine TODO: - Implementation of the Seal of Strife for sieges.
|
||||||
@@ -796,9 +796,9 @@ public class SevenSigns
|
|||||||
|
|
||||||
StatsSet currPlayer = getPlayerData(player);
|
StatsSet currPlayer = getPlayerData(player);
|
||||||
|
|
||||||
stoneCount += currPlayer.getInteger("red_stones");
|
stoneCount += currPlayer.getInt("red_stones");
|
||||||
stoneCount += currPlayer.getInteger("green_stones");
|
stoneCount += currPlayer.getInt("green_stones");
|
||||||
stoneCount += currPlayer.getInteger("blue_stones");
|
stoneCount += currPlayer.getInt("blue_stones");
|
||||||
|
|
||||||
return stoneCount;
|
return stoneCount;
|
||||||
}
|
}
|
||||||
@@ -817,7 +817,7 @@ public class SevenSigns
|
|||||||
|
|
||||||
final StatsSet currPlayer = getPlayerData(player);
|
final StatsSet currPlayer = getPlayerData(player);
|
||||||
|
|
||||||
return currPlayer.getInteger("contribution_score");
|
return currPlayer.getInt("contribution_score");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -832,7 +832,7 @@ public class SevenSigns
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return _signsPlayerData.get(player.getObjectId()).getInteger("ancient_adena_amount");
|
return _signsPlayerData.get(player.getObjectId()).getInt("ancient_adena_amount");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -847,7 +847,7 @@ public class SevenSigns
|
|||||||
return SEAL_NULL;
|
return SEAL_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return getPlayerData(player).getInteger("seal");
|
return getPlayerData(player).getInt("seal");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -968,7 +968,7 @@ public class SevenSigns
|
|||||||
{
|
{
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
if (sevenDat.getInteger("char_obj_id") != player.getObjectId())
|
if (sevenDat.getInt("char_obj_id") != player.getObjectId())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -976,13 +976,13 @@ public class SevenSigns
|
|||||||
|
|
||||||
statement = con.prepareStatement("UPDATE seven_signs SET cabal=?, seal=?, red_stones=?, green_stones=?, blue_stones=?, ancient_adena_amount=?, contribution_score=? WHERE char_obj_id=?");
|
statement = con.prepareStatement("UPDATE seven_signs SET cabal=?, seal=?, red_stones=?, green_stones=?, blue_stones=?, ancient_adena_amount=?, contribution_score=? WHERE char_obj_id=?");
|
||||||
statement.setString(1, sevenDat.getString("cabal"));
|
statement.setString(1, sevenDat.getString("cabal"));
|
||||||
statement.setInt(2, sevenDat.getInteger("seal"));
|
statement.setInt(2, sevenDat.getInt("seal"));
|
||||||
statement.setInt(3, sevenDat.getInteger("red_stones"));
|
statement.setInt(3, sevenDat.getInt("red_stones"));
|
||||||
statement.setInt(4, sevenDat.getInteger("green_stones"));
|
statement.setInt(4, sevenDat.getInt("green_stones"));
|
||||||
statement.setInt(5, sevenDat.getInteger("blue_stones"));
|
statement.setInt(5, sevenDat.getInt("blue_stones"));
|
||||||
statement.setDouble(6, sevenDat.getDouble("ancient_adena_amount"));
|
statement.setDouble(6, sevenDat.getDouble("ancient_adena_amount"));
|
||||||
statement.setDouble(7, sevenDat.getDouble("contribution_score"));
|
statement.setDouble(7, sevenDat.getDouble("contribution_score"));
|
||||||
statement.setInt(8, sevenDat.getInteger("char_obj_id"));
|
statement.setInt(8, sevenDat.getInt("char_obj_id"));
|
||||||
statement.execute();
|
statement.execute();
|
||||||
|
|
||||||
statement.close();
|
statement.close();
|
||||||
@@ -1044,7 +1044,7 @@ public class SevenSigns
|
|||||||
// Reset each player's contribution data as well as seal and cabal.
|
// Reset each player's contribution data as well as seal and cabal.
|
||||||
for (StatsSet sevenDat : _signsPlayerData.values())
|
for (StatsSet sevenDat : _signsPlayerData.values())
|
||||||
{
|
{
|
||||||
final int charObjId = sevenDat.getInteger("char_obj_id");
|
final int charObjId = sevenDat.getInt("char_obj_id");
|
||||||
|
|
||||||
// Reset the player's cabal and seal information
|
// Reset the player's cabal and seal information
|
||||||
sevenDat.set("cabal", "");
|
sevenDat.set("cabal", "");
|
||||||
@@ -1142,7 +1142,7 @@ public class SevenSigns
|
|||||||
public int getAncientAdenaReward(PlayerInstance player, boolean removeReward)
|
public int getAncientAdenaReward(PlayerInstance player, boolean removeReward)
|
||||||
{
|
{
|
||||||
StatsSet currPlayer = getPlayerData(player);
|
StatsSet currPlayer = getPlayerData(player);
|
||||||
final int rewardAmount = currPlayer.getInteger("ancient_adena_amount");
|
final int rewardAmount = currPlayer.getInt("ancient_adena_amount");
|
||||||
|
|
||||||
currPlayer.set("red_stones", 0);
|
currPlayer.set("red_stones", 0);
|
||||||
currPlayer.set("green_stones", 0);
|
currPlayer.set("green_stones", 0);
|
||||||
@@ -1171,17 +1171,17 @@ public class SevenSigns
|
|||||||
StatsSet currPlayer = getPlayerData(player);
|
StatsSet currPlayer = getPlayerData(player);
|
||||||
|
|
||||||
final int contribScore = calcContributionScore(blueCount, greenCount, redCount);
|
final int contribScore = calcContributionScore(blueCount, greenCount, redCount);
|
||||||
final int totalAncientAdena = currPlayer.getInteger("ancient_adena_amount") + calcAncientAdenaReward(blueCount, greenCount, redCount);
|
final int totalAncientAdena = currPlayer.getInt("ancient_adena_amount") + calcAncientAdenaReward(blueCount, greenCount, redCount);
|
||||||
final int totalContribScore = currPlayer.getInteger("contribution_score") + contribScore;
|
final int totalContribScore = currPlayer.getInt("contribution_score") + contribScore;
|
||||||
|
|
||||||
if (totalContribScore > Config.ALT_MAXIMUM_PLAYER_CONTRIB)
|
if (totalContribScore > Config.ALT_MAXIMUM_PLAYER_CONTRIB)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
currPlayer.set("red_stones", currPlayer.getInteger("red_stones") + redCount);
|
currPlayer.set("red_stones", currPlayer.getInt("red_stones") + redCount);
|
||||||
currPlayer.set("green_stones", currPlayer.getInteger("green_stones") + greenCount);
|
currPlayer.set("green_stones", currPlayer.getInt("green_stones") + greenCount);
|
||||||
currPlayer.set("blue_stones", currPlayer.getInteger("blue_stones") + blueCount);
|
currPlayer.set("blue_stones", currPlayer.getInt("blue_stones") + blueCount);
|
||||||
currPlayer.set("ancient_adena_amount", totalAncientAdena);
|
currPlayer.set("ancient_adena_amount", totalAncientAdena);
|
||||||
currPlayer.set("contribution_score", totalContribScore);
|
currPlayer.set("contribution_score", totalContribScore);
|
||||||
_signsPlayerData.put(player.getObjectId(), currPlayer);
|
_signsPlayerData.put(player.getObjectId(), currPlayer);
|
||||||
|
|||||||
+9
-9
@@ -39,6 +39,7 @@ import org.l2jmobius.gameserver.datatables.sql.SpawnTable;
|
|||||||
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.FestivalMonsterInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.FestivalMonsterInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
@@ -52,7 +53,6 @@ import org.l2jmobius.gameserver.network.serverpackets.CreatureSay;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
import org.l2jmobius.gameserver.util.Util;
|
import org.l2jmobius.gameserver.util.Util;
|
||||||
|
|
||||||
@@ -3404,14 +3404,14 @@ public class SevenSignsFestival implements SpawnListener
|
|||||||
{
|
{
|
||||||
for (StatsSet festivalDat : currCycleData.values())
|
for (StatsSet festivalDat : currCycleData.values())
|
||||||
{
|
{
|
||||||
final int festivalCycle = festivalDat.getInteger("cycle");
|
final int festivalCycle = festivalDat.getInt("cycle");
|
||||||
final int festivalId = festivalDat.getInteger("festivalId");
|
final int festivalId = festivalDat.getInt("festivalId");
|
||||||
String cabal = festivalDat.getString("cabal");
|
String cabal = festivalDat.getString("cabal");
|
||||||
|
|
||||||
// Try to update an existing record.
|
// Try to update an existing record.
|
||||||
statement = con.prepareStatement("UPDATE seven_signs_festival SET date=?, score=?, members=? WHERE cycle=? AND cabal=? AND festivalId=?");
|
statement = con.prepareStatement("UPDATE seven_signs_festival SET date=?, score=?, members=? WHERE cycle=? AND cabal=? AND festivalId=?");
|
||||||
statement.setLong(1, Long.valueOf(festivalDat.getString("date")));
|
statement.setLong(1, Long.valueOf(festivalDat.getString("date")));
|
||||||
statement.setInt(2, festivalDat.getInteger("score"));
|
statement.setInt(2, festivalDat.getInt("score"));
|
||||||
statement.setString(3, festivalDat.getString("members"));
|
statement.setString(3, festivalDat.getString("members"));
|
||||||
statement.setInt(4, festivalCycle);
|
statement.setInt(4, festivalCycle);
|
||||||
statement.setString(5, cabal);
|
statement.setString(5, cabal);
|
||||||
@@ -3431,7 +3431,7 @@ public class SevenSignsFestival implements SpawnListener
|
|||||||
statement.setString(2, cabal);
|
statement.setString(2, cabal);
|
||||||
statement.setInt(3, festivalCycle);
|
statement.setInt(3, festivalCycle);
|
||||||
statement.setLong(4, Long.valueOf(festivalDat.getString("date")));
|
statement.setLong(4, Long.valueOf(festivalDat.getString("date")));
|
||||||
statement.setInt(5, festivalDat.getInteger("score"));
|
statement.setInt(5, festivalDat.getInt("score"));
|
||||||
statement.setString(6, festivalDat.getString("members"));
|
statement.setString(6, festivalDat.getString("members"));
|
||||||
statement.execute();
|
statement.execute();
|
||||||
statement.close();
|
statement.close();
|
||||||
@@ -3929,7 +3929,7 @@ public class SevenSignsFestival implements SpawnListener
|
|||||||
*/
|
*/
|
||||||
public int getHighestScore(int oracle, int festivalId)
|
public int getHighestScore(int oracle, int festivalId)
|
||||||
{
|
{
|
||||||
return getHighestScoreData(oracle, festivalId).getInteger("score");
|
return getHighestScoreData(oracle, festivalId).getInt("score");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3978,8 +3978,8 @@ public class SevenSignsFestival implements SpawnListener
|
|||||||
{
|
{
|
||||||
for (StatsSet currFestData : currCycleData.values())
|
for (StatsSet currFestData : currCycleData.values())
|
||||||
{
|
{
|
||||||
final int currFestID = currFestData.getInteger("festivalId");
|
final int currFestID = currFestData.getInt("festivalId");
|
||||||
final int festivalScore = currFestData.getInteger("score");
|
final int festivalScore = currFestData.getInt("score");
|
||||||
|
|
||||||
if (currFestID != festivalId)
|
if (currFestID != festivalId)
|
||||||
{
|
{
|
||||||
@@ -4161,7 +4161,7 @@ public class SevenSignsFestival implements SpawnListener
|
|||||||
{
|
{
|
||||||
if (festivalData.getString("members").contains(playerName))
|
if (festivalData.getString("members").contains(playerName))
|
||||||
{
|
{
|
||||||
final int festivalId = festivalData.getInteger("festivalId");
|
final int festivalId = festivalData.getInt("festivalId");
|
||||||
final int numPartyMembers = festivalData.getString("members").split(",").length;
|
final int numPartyMembers = festivalData.getString("members").split(",").length;
|
||||||
final int totalAccumBonus = _accumulatedBonuses.get(festivalId);
|
final int totalAccumBonus = _accumulatedBonuses.get(festivalId);
|
||||||
|
|
||||||
|
|||||||
+25
@@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.l2jmobius.gameserver.model.interfaces;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author UnAfraid
|
||||||
|
*/
|
||||||
|
public interface IDeletable
|
||||||
|
{
|
||||||
|
boolean deleteMe();
|
||||||
|
}
|
||||||
+48
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.l2jmobius.gameserver.model.interfaces;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* More advanced interface for parsers.<br>
|
||||||
|
* Allows usage of get methods without fall back value.<br>
|
||||||
|
* @author xban1x
|
||||||
|
*/
|
||||||
|
public interface IParserAdvUtils extends IParserUtils
|
||||||
|
{
|
||||||
|
|
||||||
|
boolean getBoolean(String key);
|
||||||
|
|
||||||
|
byte getByte(String key);
|
||||||
|
|
||||||
|
short getShort(String key);
|
||||||
|
|
||||||
|
int getInt(String key);
|
||||||
|
|
||||||
|
long getLong(String key);
|
||||||
|
|
||||||
|
float getFloat(String key);
|
||||||
|
|
||||||
|
double getDouble(String key);
|
||||||
|
|
||||||
|
String getString(String key);
|
||||||
|
|
||||||
|
Duration getDuration(String key);
|
||||||
|
|
||||||
|
<T extends Enum<T>> T getEnum(String key, Class<T> clazz);
|
||||||
|
}
|
||||||
+47
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package org.l2jmobius.gameserver.model.interfaces;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple interface for parser, enforces of a fall back value.<br>
|
||||||
|
* More suitable for developers not sure about their data.<br>
|
||||||
|
* @author xban1x
|
||||||
|
*/
|
||||||
|
public interface IParserUtils
|
||||||
|
{
|
||||||
|
boolean getBoolean(String key, boolean defaultValue);
|
||||||
|
|
||||||
|
byte getByte(String key, byte defaultValue);
|
||||||
|
|
||||||
|
short getShort(String key, short defaultValue);
|
||||||
|
|
||||||
|
int getInt(String key, int defaultValue);
|
||||||
|
|
||||||
|
long getLong(String key, long defaultValue);
|
||||||
|
|
||||||
|
float getFloat(String key, float defaultValue);
|
||||||
|
|
||||||
|
double getDouble(String key, double defaultValue);
|
||||||
|
|
||||||
|
String getString(String key, String defaultValue);
|
||||||
|
|
||||||
|
Duration getDuration(String key, Duration defaultValue);
|
||||||
|
|
||||||
|
<T extends Enum<T>> T getEnum(String key, Class<T> clazz, T defaultValue);
|
||||||
|
}
|
||||||
+22
-14
@@ -16,63 +16,70 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.model.variables;
|
package org.l2jmobius.gameserver.model.variables;
|
||||||
|
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
import org.l2jmobius.gameserver.model.interfaces.IDeletable;
|
||||||
import org.l2jmobius.gameserver.model.interfaces.IRestorable;
|
import org.l2jmobius.gameserver.model.interfaces.IRestorable;
|
||||||
import org.l2jmobius.gameserver.model.interfaces.IStorable;
|
import org.l2jmobius.gameserver.model.interfaces.IStorable;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author UnAfraid
|
* @author UnAfraid
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractVariables extends StatsSet implements IRestorable, IStorable
|
public abstract class AbstractVariables extends StatsSet implements IRestorable, IStorable, IDeletable
|
||||||
{
|
{
|
||||||
private final AtomicBoolean _hasChanges = new AtomicBoolean(false);
|
private final AtomicBoolean _hasChanges = new AtomicBoolean(false);
|
||||||
|
|
||||||
|
public AbstractVariables()
|
||||||
|
{
|
||||||
|
super(new ConcurrentHashMap<>());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Overriding following methods to prevent from doing useless database operations if there is no changes since player's login.
|
* Overriding following methods to prevent from doing useless database operations if there is no changes since player's login.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(String name, boolean value)
|
public StatsSet set(String name, boolean value)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
super.set(name, value);
|
return super.set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(String name, double value)
|
public StatsSet set(String name, double value)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
super.set(name, value);
|
return super.set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(String name, Enum<?> value)
|
public StatsSet set(String name, Enum<?> value)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
super.set(name, value);
|
return super.set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(String name, int value)
|
public StatsSet set(String name, int value)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
super.set(name, value);
|
return super.set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(String name, long value)
|
public StatsSet set(String name, long value)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
super.set(name, value);
|
return super.set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(String name, String value)
|
public StatsSet set(String name, String value)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
super.set(name, value);
|
return super.set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -108,6 +115,7 @@ public abstract class AbstractVariables extends StatsSet implements IRestorable,
|
|||||||
* Removes variable
|
* Removes variable
|
||||||
* @param name
|
* @param name
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void remove(String name)
|
public void remove(String name)
|
||||||
{
|
{
|
||||||
_hasChanges.compareAndSet(false, true);
|
_hasChanges.compareAndSet(false, true);
|
||||||
|
|||||||
+23
@@ -116,4 +116,27 @@ public class AccountVariables extends AbstractVariables
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteMe()
|
||||||
|
{
|
||||||
|
try (Connection con = DatabaseFactory.getConnection())
|
||||||
|
{
|
||||||
|
// Clear previous entries.
|
||||||
|
try (PreparedStatement st = con.prepareStatement(DELETE_QUERY))
|
||||||
|
{
|
||||||
|
st.setString(1, _accountName);
|
||||||
|
st.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear all entries
|
||||||
|
getSet().clear();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + _accountName, e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+23
@@ -119,6 +119,29 @@ public class PlayerVariables extends AbstractVariables
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteMe()
|
||||||
|
{
|
||||||
|
try (Connection con = DatabaseFactory.getConnection())
|
||||||
|
{
|
||||||
|
// Clear previous entries.
|
||||||
|
try (PreparedStatement st = con.prepareStatement(DELETE_QUERY))
|
||||||
|
{
|
||||||
|
st.setInt(1, _objectId);
|
||||||
|
st.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear all entries
|
||||||
|
getSet().clear();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't delete variables for: " + getPlayer(), e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public PlayerInstance getPlayer()
|
public PlayerInstance getPlayer()
|
||||||
{
|
{
|
||||||
return World.getInstance().getPlayer(_objectId);
|
return World.getInstance().getPlayer(_objectId);
|
||||||
|
|||||||
+8
-9
@@ -31,10 +31,9 @@ import org.l2jmobius.commons.crypt.nProtect;
|
|||||||
import org.l2jmobius.commons.crypt.nProtect.RestrictionType;
|
import org.l2jmobius.commons.crypt.nProtect.RestrictionType;
|
||||||
import org.l2jmobius.gameserver.GameTimeController;
|
import org.l2jmobius.gameserver.GameTimeController;
|
||||||
import org.l2jmobius.gameserver.communitybbs.Manager.MailBBSManager;
|
import org.l2jmobius.gameserver.communitybbs.Manager.MailBBSManager;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
|
||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
import org.l2jmobius.gameserver.datatables.csv.MapRegionTable;
|
import org.l2jmobius.gameserver.datatables.csv.MapRegionTable;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AdminCommandAccessRights;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.handler.custom.CustomWorldHandler;
|
import org.l2jmobius.gameserver.handler.custom.CustomWorldHandler;
|
||||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ClanHallManager;
|
import org.l2jmobius.gameserver.instancemanager.ClanHallManager;
|
||||||
@@ -588,7 +587,7 @@ public class EnterWorld extends GameClientPacket
|
|||||||
{
|
{
|
||||||
gmStartupProcess:
|
gmStartupProcess:
|
||||||
{
|
{
|
||||||
if (Config.GM_STARTUP_BUILDER_HIDE && AdminCommandAccessRights.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
|
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
player.setInRefusalMode(true);
|
player.setInRefusalMode(true);
|
||||||
player.setIsInvul(true);
|
player.setIsInvul(true);
|
||||||
@@ -602,28 +601,28 @@ public class EnterWorld extends GameClientPacket
|
|||||||
break gmStartupProcess;
|
break gmStartupProcess;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
|
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
player.setIsInvul(true);
|
player.setIsInvul(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.GM_STARTUP_INVISIBLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
|
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
player.getAppearance().setInvisible();
|
player.getAppearance().setInvisible();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.GM_STARTUP_SILENCE && AdminCommandAccessRights.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
|
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
player.setInRefusalMode(true);
|
player.setInRefusalMode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.GM_STARTUP_AUTO_LIST && AdminCommandAccessRights.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
|
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
GmListTable.getInstance().addGm(player, false);
|
AdminData.getInstance().addGm(player, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GmListTable.getInstance().addGm(player, true);
|
AdminData.getInstance().addGm(player, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ import java.util.logging.Logger;
|
|||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||||
import org.l2jmobius.gameserver.communitybbs.CommunityBoard;
|
import org.l2jmobius.gameserver.communitybbs.CommunityBoard;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AdminCommandAccessRights;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.handler.AdminCommandHandler;
|
import org.l2jmobius.gameserver.handler.AdminCommandHandler;
|
||||||
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||||
import org.l2jmobius.gameserver.handler.custom.CustomBypassHandler;
|
import org.l2jmobius.gameserver.handler.custom.CustomBypassHandler;
|
||||||
@@ -97,7 +97,7 @@ public class RequestBypassToServer extends GameClientPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!AdminCommandAccessRights.getInstance().hasAccess(command, player.getAccessLevel()))
|
if (!AdminData.getInstance().hasAccess(command, player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
player.sendMessage("You don't have the access right to use this command!");
|
player.sendMessage("You don't have the access right to use this command!");
|
||||||
return;
|
return;
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
|
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@@ -221,7 +221,7 @@ public class RequestDropItem extends GameClientPacket
|
|||||||
{
|
{
|
||||||
final String msg = "Character (" + player.getName() + ") has dropped (" + dropedItem.getCount() + ")adena at (" + _x + "," + _y + "," + _z + ")";
|
final String msg = "Character (" + player.getName() + ") has dropped (" + dropedItem.getCount() + ")adena at (" + _x + "," + _y + "," + _z + ")";
|
||||||
LOGGER.warning(msg);
|
LOGGER.warning(msg);
|
||||||
GmListTable.broadcastMessageToGMs(msg);
|
AdminData.broadcastMessageToGMs(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.clientpackets;
|
package org.l2jmobius.gameserver.network.clientpackets;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class handles RequestGmLista packet triggered by /gmlist command
|
* This class handles RequestGmLista packet triggered by /gmlist command
|
||||||
@@ -36,6 +36,6 @@ public class RequestGmList extends GameClientPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
GmListTable.getInstance().sendListToPlayer(getClient().getPlayer());
|
AdminData.getInstance().sendListToPlayer(getClient().getPlayer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.network.clientpackets;
|
package org.l2jmobius.gameserver.network.clientpackets;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.instancemanager.PetitionManager;
|
import org.l2jmobius.gameserver.instancemanager.PetitionManager;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@@ -48,7 +48,7 @@ public class RequestPetition extends GameClientPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!GmListTable.getInstance().isGmOnline(false))
|
if (!AdminData.getInstance().isGmOnline(false))
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.NO_GM_PROVIDING_SERVICE_NOW);
|
player.sendPacket(SystemMessageId.NO_GM_PROVIDING_SERVICE_NOW);
|
||||||
return;
|
return;
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.network.clientpackets;
|
package org.l2jmobius.gameserver.network.clientpackets;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.instancemanager.PetitionManager;
|
import org.l2jmobius.gameserver.instancemanager.PetitionManager;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@@ -70,7 +70,7 @@ public class RequestPetitionCancel extends GameClientPacket
|
|||||||
|
|
||||||
// Notify all GMs that the player's pending petition has been cancelled.
|
// Notify all GMs that the player's pending petition has been cancelled.
|
||||||
final String msgContent = player.getName() + " has canceled a pending petition.";
|
final String msgContent = player.getName() + " has canceled a pending petition.";
|
||||||
GmListTable.broadcastToGMs(new CreatureSay(player.getObjectId(), 17, "Petition System", msgContent));
|
AdminData.broadcastToGMs(new CreatureSay(player.getObjectId(), 17, "Petition System", msgContent));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AdminCommandAccessRights;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.handler.AdminCommandHandler;
|
import org.l2jmobius.gameserver.handler.AdminCommandHandler;
|
||||||
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
@@ -52,7 +52,7 @@ public class SendBypassBuildCmd extends GameClientPacket
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Checks The Access and notify requester if requester access it not allowed for that command
|
// Checks The Access and notify requester if requester access it not allowed for that command
|
||||||
if (!AdminCommandAccessRights.getInstance().hasAccess(_command, player.getAccessLevel()))
|
if (!AdminData.getInstance().hasAccess(_command, player.getAccessLevel()))
|
||||||
{
|
{
|
||||||
player.sendMessage("You don't have the access right to use this command!");
|
player.sendMessage("You don't have the access right to use this command!");
|
||||||
LOGGER.warning("Character " + player.getName() + " tried to use admin command " + _command + ", but doesn't have access to it!");
|
LOGGER.warning("Character " + player.getName() + " tried to use admin command " + _command + ", but doesn't have access to it!");
|
||||||
|
|||||||
+2
-2
@@ -17,7 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.datatables.AccessLevel;
|
import org.l2jmobius.gameserver.datatables.AccessLevel;
|
||||||
import org.l2jmobius.gameserver.datatables.sql.AccessLevels;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
import org.l2jmobius.gameserver.instancemanager.CastleManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
import org.l2jmobius.gameserver.instancemanager.FortManager;
|
||||||
import org.l2jmobius.gameserver.model.SiegeClan;
|
import org.l2jmobius.gameserver.model.SiegeClan;
|
||||||
@@ -40,7 +40,7 @@ public class Die extends GameServerPacket
|
|||||||
private final boolean _fake;
|
private final boolean _fake;
|
||||||
private boolean _sweepable;
|
private boolean _sweepable;
|
||||||
private boolean _canTeleport;
|
private boolean _canTeleport;
|
||||||
private AccessLevel _access = AccessLevels.getInstance()._userAccessLevel;
|
private AccessLevel _access = AdminData.getInstance()._userAccessLevel;
|
||||||
private org.l2jmobius.gameserver.model.clan.Clan _clan;
|
private org.l2jmobius.gameserver.model.clan.Clan _clan;
|
||||||
Creature _creature;
|
Creature _creature;
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -18,9 +18,9 @@ package org.l2jmobius.gameserver.network.serverpackets;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.entity.Hero;
|
import org.l2jmobius.gameserver.model.entity.Hero;
|
||||||
import org.l2jmobius.gameserver.model.entity.olympiad.Olympiad;
|
import org.l2jmobius.gameserver.model.entity.olympiad.Olympiad;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format: (ch) d [SdSdSdd] d: size [ S: hero name d: hero class ID S: hero clan name d: hero clan crest id S: hero ally name d: hero Ally id d: count ]
|
* Format: (ch) d [SdSdSdd] d: size [ S: hero name d: hero class ID S: hero clan name d: hero clan crest id S: hero ally name d: hero Ally id d: count ]
|
||||||
@@ -50,12 +50,12 @@ public class ExHeroList extends GameServerPacket
|
|||||||
{
|
{
|
||||||
final StatsSet hero = _heroList.get(heroId);
|
final StatsSet hero = _heroList.get(heroId);
|
||||||
writeS(hero.getString(Olympiad.CHAR_NAME));
|
writeS(hero.getString(Olympiad.CHAR_NAME));
|
||||||
writeD(hero.getInteger(Olympiad.CLASS_ID));
|
writeD(hero.getInt(Olympiad.CLASS_ID));
|
||||||
writeS(hero.getString(Hero.CLAN_NAME, ""));
|
writeS(hero.getString(Hero.CLAN_NAME, ""));
|
||||||
writeD(hero.getInteger(Hero.CLAN_CREST, 0));
|
writeD(hero.getInt(Hero.CLAN_CREST, 0));
|
||||||
writeS(hero.getString(Hero.ALLY_NAME, ""));
|
writeS(hero.getString(Hero.ALLY_NAME, ""));
|
||||||
writeD(hero.getInteger(Hero.ALLY_CREST, 0));
|
writeD(hero.getInt(Hero.ALLY_CREST, 0));
|
||||||
writeD(hero.getInteger(Hero.COUNT));
|
writeD(hero.getInt(Hero.COUNT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -16,11 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSigns;
|
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSigns;
|
||||||
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSignsFestival;
|
import org.l2jmobius.gameserver.model.entity.sevensigns.SevenSignsFestival;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Seven Signs Record Update packet type id 0xf5 format: c cc (Page Num = 1 -> 4, period) 1: [ddd cc dd ddd c ddd c] 2: [hc [cd (dc (S))] 3: [ccc (cccc)] 4: [(cchh)]
|
* Seven Signs Record Update packet type id 0xf5 format: c cc (Page Num = 1 -> 4, period) 1: [ddd cc dd ddd c ddd c] 2: [hc [cd (dc (S))] 3: [ccc (cccc)] 4: [(cchh)]
|
||||||
|
|||||||
+1
-1
@@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.skills.handlers;
|
package org.l2jmobius.gameserver.skills.handlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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;
|
||||||
@@ -24,7 +25,6 @@ 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;
|
||||||
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillCharge extends Skill
|
public class SkillCharge extends Skill
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.skills.handlers;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
@@ -28,7 +29,6 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
|||||||
import org.l2jmobius.gameserver.skills.BaseStats;
|
import org.l2jmobius.gameserver.skills.BaseStats;
|
||||||
import org.l2jmobius.gameserver.skills.Formulas;
|
import org.l2jmobius.gameserver.skills.Formulas;
|
||||||
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.item.WeaponType;
|
import org.l2jmobius.gameserver.templates.item.WeaponType;
|
||||||
|
|
||||||
public class SkillChargeDmg extends Skill
|
public class SkillChargeDmg extends Skill
|
||||||
@@ -39,7 +39,7 @@ public class SkillChargeDmg extends Skill
|
|||||||
public SkillChargeDmg(StatsSet set)
|
public SkillChargeDmg(StatsSet set)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
chargeSkillId = set.getInteger("charge_skill_id");
|
chargeSkillId = set.getInt("charge_skill_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+2
-2
@@ -17,6 +17,7 @@
|
|||||||
package org.l2jmobius.gameserver.skills.handlers;
|
package org.l2jmobius.gameserver.skills.handlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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;
|
||||||
@@ -24,7 +25,6 @@ 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;
|
||||||
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
import org.l2jmobius.gameserver.skills.effects.EffectCharge;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillChargeEffect extends Skill
|
public class SkillChargeEffect extends Skill
|
||||||
{
|
{
|
||||||
@@ -33,7 +33,7 @@ public class SkillChargeEffect extends Skill
|
|||||||
public SkillChargeEffect(StatsSet set)
|
public SkillChargeEffect(StatsSet set)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
chargeSkillId = set.getInteger("charge_skill_id");
|
chargeSkillId = set.getInt("charge_skill_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+9
-7
@@ -16,9 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.skills.handlers;
|
package org.l2jmobius.gameserver.skills.handlers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.l2jmobius.commons.util.Rnd;
|
import org.l2jmobius.commons.util.Rnd;
|
||||||
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
@@ -26,23 +29,22 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ItemList;
|
import org.l2jmobius.gameserver.network.serverpackets.ItemList;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Nemesiss
|
* @author Nemesiss
|
||||||
*/
|
*/
|
||||||
public class SkillCreateItem extends Skill
|
public class SkillCreateItem extends Skill
|
||||||
{
|
{
|
||||||
private final int[] _createItemId;
|
private final List<Integer> _createItemId;
|
||||||
private final int _createItemCount;
|
private final int _createItemCount;
|
||||||
private final int _randomCount;
|
private final int _randomCount;
|
||||||
|
|
||||||
public SkillCreateItem(StatsSet set)
|
public SkillCreateItem(StatsSet set)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
_createItemId = set.getIntegerArray("create_item_id");
|
_createItemId = set.getList("create_item_id", Integer.class);
|
||||||
_createItemCount = set.getInteger("create_item_count", 0);
|
_createItemCount = set.getInt("create_item_count", 0);
|
||||||
_randomCount = set.getInteger("random_count", 1);
|
_randomCount = set.getInt("random_count", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -61,8 +63,8 @@ public class SkillCreateItem extends Skill
|
|||||||
if (creature instanceof PlayerInstance)
|
if (creature instanceof PlayerInstance)
|
||||||
{
|
{
|
||||||
final int count = _createItemCount * (Rnd.get(_randomCount) + 1);
|
final int count = _createItemCount * (Rnd.get(_randomCount) + 1);
|
||||||
final int rndid = Rnd.get(_createItemId.length);
|
final int rndId = Rnd.get(_createItemId.size());
|
||||||
giveItems(player, _createItemId[rndid], count);
|
giveItems(player, _createItemId.get(rndId), count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -17,12 +17,12 @@
|
|||||||
package org.l2jmobius.gameserver.skills.handlers;
|
package org.l2jmobius.gameserver.skills.handlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillDefault extends Skill
|
public class SkillDefault extends Skill
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.skills.handlers;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.CubicInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.CubicInstance;
|
||||||
@@ -27,7 +28,6 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
|
|||||||
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
|
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.skills.Formulas;
|
import org.l2jmobius.gameserver.skills.Formulas;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillDrain extends Skill
|
public class SkillDrain extends Skill
|
||||||
{
|
{
|
||||||
@@ -40,7 +40,7 @@ public class SkillDrain extends Skill
|
|||||||
super(set);
|
super(set);
|
||||||
|
|
||||||
_absorbPart = set.getFloat("absorbPart", 0.f);
|
_absorbPart = set.getFloat("absorbPart", 0.f);
|
||||||
_absorbAbs = set.getInteger("absorbAbs", 0);
|
_absorbAbs = set.getInt("absorbAbs", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+5
-5
@@ -18,12 +18,12 @@ package org.l2jmobius.gameserver.skills.handlers;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.skills.Formulas;
|
import org.l2jmobius.gameserver.skills.Formulas;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillElemental extends Skill
|
public class SkillElemental extends Skill
|
||||||
{
|
{
|
||||||
@@ -35,11 +35,11 @@ public class SkillElemental extends Skill
|
|||||||
super(set);
|
super(set);
|
||||||
|
|
||||||
_seeds = new int[3];
|
_seeds = new int[3];
|
||||||
_seeds[0] = set.getInteger("seed1", 0);
|
_seeds[0] = set.getInt("seed1", 0);
|
||||||
_seeds[1] = set.getInteger("seed2", 0);
|
_seeds[1] = set.getInt("seed2", 0);
|
||||||
_seeds[2] = set.getInteger("seed3", 0);
|
_seeds[2] = set.getInt("seed3", 0);
|
||||||
|
|
||||||
if (set.getInteger("seed_any", 0) == 1)
|
if (set.getInt("seed_any", 0) == 1)
|
||||||
{
|
{
|
||||||
_seedAny = true;
|
_seedAny = true;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -18,10 +18,10 @@ package org.l2jmobius.gameserver.skills.handlers;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.skills.effects.EffectSeed;
|
import org.l2jmobius.gameserver.skills.effects.EffectSeed;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillSeed extends Skill
|
public class SkillSeed extends Skill
|
||||||
{
|
{
|
||||||
|
|||||||
+3
-3
@@ -20,12 +20,12 @@ import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
|||||||
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
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.EffectPointInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.EffectPointInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
public class SkillSignet extends Skill
|
public class SkillSignet extends Skill
|
||||||
@@ -36,8 +36,8 @@ public class SkillSignet extends Skill
|
|||||||
public SkillSignet(StatsSet set)
|
public SkillSignet(StatsSet set)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
_effectNpcId = set.getInteger("effectNpcId", -1);
|
_effectNpcId = set.getInt("effectNpcId", -1);
|
||||||
effectId = set.getInteger("effectId", -1);
|
effectId = set.getInt("effectId", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+3
-3
@@ -17,9 +17,9 @@
|
|||||||
package org.l2jmobius.gameserver.skills.handlers;
|
package org.l2jmobius.gameserver.skills.handlers;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
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.templates.StatsSet;
|
|
||||||
|
|
||||||
public class SkillSignetCasttime extends Skill
|
public class SkillSignetCasttime extends Skill
|
||||||
{
|
{
|
||||||
@@ -29,8 +29,8 @@ public class SkillSignetCasttime extends Skill
|
|||||||
public SkillSignetCasttime(StatsSet set)
|
public SkillSignetCasttime(StatsSet set)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
_effectNpcId = set.getInteger("effectNpcId", -1);
|
_effectNpcId = set.getInt("effectNpcId", -1);
|
||||||
effectId = set.getInteger("effectId", -1);
|
effectId = set.getInt("effectId", -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+12
-12
@@ -21,6 +21,7 @@ import org.l2jmobius.gameserver.datatables.sql.NpcTable;
|
|||||||
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
import org.l2jmobius.gameserver.datatables.xml.ExperienceData;
|
||||||
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
import org.l2jmobius.gameserver.idfactory.IdFactory;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
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;
|
||||||
@@ -32,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.instance.SummonInstance;
|
|||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PetInfo;
|
import org.l2jmobius.gameserver.network.serverpackets.PetInfo;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
|
||||||
|
|
||||||
public class SkillSummon extends Skill
|
public class SkillSummon extends Skill
|
||||||
@@ -56,21 +56,21 @@ public class SkillSummon extends Skill
|
|||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
|
|
||||||
_npcId = set.getInteger("npcId", 0); // default for undescribed skills
|
_npcId = set.getInt("npcId", 0); // default for undescribed skills
|
||||||
_expPenalty = set.getFloat("expPenalty", 0.f);
|
_expPenalty = set.getFloat("expPenalty", 0.f);
|
||||||
_isCubic = set.getBool("isCubic", false);
|
_isCubic = set.getBoolean("isCubic", false);
|
||||||
|
|
||||||
_activationtime = set.getInteger("activationtime", 8);
|
_activationtime = set.getInt("activationtime", 8);
|
||||||
_activationchance = set.getInteger("activationchance", 30);
|
_activationchance = set.getInt("activationchance", 30);
|
||||||
|
|
||||||
_summonTotalLifeTime = set.getInteger("summonTotalLifeTime", 1200000); // 20 minutes default
|
_summonTotalLifeTime = set.getInt("summonTotalLifeTime", 1200000); // 20 minutes default
|
||||||
_summonTimeLostIdle = set.getInteger("summonTimeLostIdle", 0);
|
_summonTimeLostIdle = set.getInt("summonTimeLostIdle", 0);
|
||||||
_summonTimeLostActive = set.getInteger("summonTimeLostActive", 0);
|
_summonTimeLostActive = set.getInt("summonTimeLostActive", 0);
|
||||||
|
|
||||||
_itemConsumeOT = set.getInteger("itemConsumeCountOT", 0);
|
_itemConsumeOT = set.getInt("itemConsumeCountOT", 0);
|
||||||
_itemConsumeIdOT = set.getInteger("itemConsumeIdOT", 0);
|
_itemConsumeIdOT = set.getInt("itemConsumeIdOT", 0);
|
||||||
_itemConsumeTime = set.getInteger("itemConsumeTime", 0);
|
_itemConsumeTime = set.getInt("itemConsumeTime", 0);
|
||||||
_itemConsumeSteps = set.getInteger("itemConsumeSteps", 0);
|
_itemConsumeSteps = set.getInt("itemConsumeSteps", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean checkCondition(Creature creature)
|
public boolean checkCondition(Creature creature)
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.templates;
|
package org.l2jmobius.gameserver.templates;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents a Newbie Helper Buff Author: Ayor
|
* This class represents a Newbie Helper Buff Author: Ayor
|
||||||
*/
|
*/
|
||||||
@@ -46,10 +48,10 @@ public class HelperBuff
|
|||||||
*/
|
*/
|
||||||
public HelperBuff(StatsSet set)
|
public HelperBuff(StatsSet set)
|
||||||
{
|
{
|
||||||
_lowerLevel = set.getInteger("lowerLevel");
|
_lowerLevel = set.getInt("lowerLevel");
|
||||||
_upperLevel = set.getInteger("upperLevel");
|
_upperLevel = set.getInt("upperLevel");
|
||||||
_skillID = set.getInteger("skillID");
|
_skillID = set.getInt("skillID");
|
||||||
_skillLevel = set.getInteger("skillLevel");
|
_skillLevel = set.getInt("skillLevel");
|
||||||
|
|
||||||
if ("false".equals(set.getString("isMagicClass")))
|
if ("false".equals(set.getString("isMagicClass")))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,641 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of the L2J Mobius project.
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package org.l2jmobius.gameserver.templates;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author mkizub <BR>
|
|
||||||
* This class is used in order to have a set of couples (key,value).<BR>
|
|
||||||
* Methods deployed are accessors to the set (add/get value from its key) and addition of a whole set in the current one.
|
|
||||||
*/
|
|
||||||
public class StatsSet
|
|
||||||
{
|
|
||||||
private final Logger LOGGER = Logger.getLogger(StatsSet.class.getName());
|
|
||||||
private final Map<String, Object> _set = new HashMap<>();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the set of values
|
|
||||||
* @return HashMap
|
|
||||||
*/
|
|
||||||
public Map<String, Object> getSet()
|
|
||||||
{
|
|
||||||
return _set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a set of couple values in the current set
|
|
||||||
* @param newSet : StatsSet pointing out the list of couples to add in the current set
|
|
||||||
*/
|
|
||||||
public synchronized void add(StatsSet newSet)
|
|
||||||
{
|
|
||||||
final Map<String, Object> newMap = newSet.getSet();
|
|
||||||
for (String key : newMap.keySet())
|
|
||||||
{
|
|
||||||
final Object value = newMap.get(key);
|
|
||||||
_set.put(key, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the boolean associated to the key put in parameter ("name")
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return boolean : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized boolean getBool(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Boolean value required, but not specified");
|
|
||||||
}
|
|
||||||
if (val instanceof Boolean)
|
|
||||||
{
|
|
||||||
return ((Boolean) val).booleanValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Boolean.parseBoolean((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Boolean value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the boolean associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : boolean designating the default value if value associated with the key is null
|
|
||||||
* @return boolean : value of the key
|
|
||||||
*/
|
|
||||||
public synchronized boolean getBool(String name, boolean deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Boolean)
|
|
||||||
{
|
|
||||||
return ((Boolean) val).booleanValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Boolean.parseBoolean((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Boolean value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the int associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : byte designating the default value if value associated with the key is null
|
|
||||||
* @return byte : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized byte getByte(String name, byte deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).byteValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Byte.parseByte((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Byte value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the byte associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return byte : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized byte getByte(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Byte value required, but not specified");
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).byteValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Byte.parseByte((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Byte value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the short associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : short designating the default value if value associated with the key is null
|
|
||||||
* @return short : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized short getShort(String name, short deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).shortValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Short.parseShort((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Short value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the short associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return short : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized short getShort(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Short value required, but not specified");
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).shortValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Short.parseShort((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Short value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the int associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return int : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized int getInteger(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Integer value required, but not specified");
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).intValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Integer.parseInt((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the int associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : int designating the default value if value associated with the key is null
|
|
||||||
* @return int : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized int getInteger(String name, int deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).intValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Integer.parseInt((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the int[] associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return int[] : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized int[] getIntegerArray(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new RuntimeException();
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
final int[] result =
|
|
||||||
{
|
|
||||||
((Number) val).intValue()
|
|
||||||
};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
int c = 0;
|
|
||||||
final String[] vals = ((String) val).split(";");
|
|
||||||
final int[] result = new int[vals.length];
|
|
||||||
for (String v : vals)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
result[c] = Integer.parseInt(v);
|
|
||||||
c++;
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the long associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return long : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized long getLong(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new RuntimeException();
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).longValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Long.parseLong((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the long associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : long designating the default value if value associated with the key is null
|
|
||||||
* @return long : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized long getLong(String name, int deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).longValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Long.parseLong((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Integer value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the float associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return float : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized float getFloat(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Float value required, but not specified");
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).floatValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return (float) Double.parseDouble((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Float value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the float associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : float designating the default value if value associated with the key is null
|
|
||||||
* @return float : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized float getFloat(String name, float deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).floatValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return (float) Double.parseDouble((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Float value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the double associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return double : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized double getDouble(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Float value required, but not specified");
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).doubleValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Double.parseDouble((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Float value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the double associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : float designating the default value if value associated with the key is null
|
|
||||||
* @return double : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized double getDouble(String name, float deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (val instanceof Number)
|
|
||||||
{
|
|
||||||
return ((Number) val).doubleValue();
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Double.parseDouble((String) val);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Float value required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the String associated to the key put in parameter ("name").
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @return String : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized String getString(String name)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("String value required, but not specified");
|
|
||||||
}
|
|
||||||
return String.valueOf(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the String associated to the key put in parameter ("name"). If the value associated to the key is null, this method returns the value of the parameter deflt.
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param deflt : String designating the default value if value associated with the key is null
|
|
||||||
* @return String : value associated to the key
|
|
||||||
*/
|
|
||||||
public synchronized String getString(String name, String deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
return String.valueOf(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an enumeration of <T> from the set
|
|
||||||
* @param <T> : Class of the enumeration returned
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param enumClass : Class designating the class of the value associated with the key in the set
|
|
||||||
* @return Enum<T>
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public synchronized <T extends Enum<T>> T getEnum(String name, Class<T> enumClass)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Enum value of type " + enumClass.getName() + " required, but not specified");
|
|
||||||
}
|
|
||||||
if (enumClass.isInstance(val))
|
|
||||||
{
|
|
||||||
return (T) val;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Enum.valueOf(enumClass, String.valueOf(val));
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Enum value of type " + enumClass.getName() + "required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an enumeration of <T> from the set. If the enumeration is empty, the method returns the value of the parameter "deflt".
|
|
||||||
* @param <T> : Class of the enumeration returned
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param enumClass : Class designating the class of the value associated with the key in the set
|
|
||||||
* @param deflt : <T> designating the value by default
|
|
||||||
* @return Enum<T>
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public synchronized <T extends Enum<T>> T getEnum(String name, Class<T> enumClass, T deflt)
|
|
||||||
{
|
|
||||||
final Object val = _set.get(name);
|
|
||||||
if (val == null)
|
|
||||||
{
|
|
||||||
return deflt;
|
|
||||||
}
|
|
||||||
if (enumClass.isInstance(val))
|
|
||||||
{
|
|
||||||
return (T) val;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return Enum.valueOf(enumClass, String.valueOf(val));
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException("Enum value of type " + enumClass.getName() + "required, but found: " + val);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the String hold in param "value" for the key "name"
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : String corresponding to the value associated with the key
|
|
||||||
*/
|
|
||||||
public synchronized void set(String name, String value)
|
|
||||||
{
|
|
||||||
_set.put(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the boolean hold in param "value" for the key "name"
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : boolean corresponding to the value associated with the key
|
|
||||||
*/
|
|
||||||
public synchronized void set(String name, boolean value)
|
|
||||||
{
|
|
||||||
_set.put(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the int hold in param "value" for the key "name"
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : int corresponding to the value associated with the key
|
|
||||||
*/
|
|
||||||
public synchronized void set(String name, int value)
|
|
||||||
{
|
|
||||||
_set.put(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the double hold in param "value" for the key "name"
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : double corresponding to the value associated with the key
|
|
||||||
*/
|
|
||||||
public synchronized void set(String name, double value)
|
|
||||||
{
|
|
||||||
_set.put(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the long hold in param "value" for the key "name"
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : double corresponding to the value associated with the key
|
|
||||||
*/
|
|
||||||
public synchronized void set(String name, long value)
|
|
||||||
{
|
|
||||||
_set.put(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add the Enum hold in param "value" for the key "name"
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : Enum corresponding to the value associated with the key
|
|
||||||
*/
|
|
||||||
public synchronized void set(String name, Enum<?> value)
|
|
||||||
{
|
|
||||||
_set.put(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Safe version of "set". Expected values are within [min, max[<br>
|
|
||||||
* Add the int hold in param "value" for the key "name".
|
|
||||||
* @param name : String designating the key in the set
|
|
||||||
* @param value : int corresponding to the value associated with the key
|
|
||||||
* @param min
|
|
||||||
* @param max
|
|
||||||
* @param reference
|
|
||||||
*/
|
|
||||||
public synchronized void safeSet(String name, int value, int min, int max, String reference)
|
|
||||||
{
|
|
||||||
assert ((min > max) || ((value >= min) && (value < max)));
|
|
||||||
|
|
||||||
if ((min <= max) && ((value < min) || (value >= max)))
|
|
||||||
{
|
|
||||||
LOGGER.info("[StatsSet][safeSet] Incorrect value: " + value + "for: " + name + "Ref: " + reference);
|
|
||||||
}
|
|
||||||
|
|
||||||
set(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString()
|
|
||||||
{
|
|
||||||
return "StatsSet [_set=" + _set + "]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+55
-55
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.templates.creatures;
|
package org.l2jmobius.gameserver.templates.creatures;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version $Revision: 1.2.4.6 $ $Date: 2005/04/02 15:57:51 $
|
* @version $Revision: 1.2.4.6 $ $Date: 2005/04/02 15:57:51 $
|
||||||
@@ -99,72 +99,72 @@ public class CreatureTemplate
|
|||||||
public CreatureTemplate(StatsSet set)
|
public CreatureTemplate(StatsSet set)
|
||||||
{
|
{
|
||||||
// Base stats
|
// Base stats
|
||||||
baseSTR = set.getInteger("baseSTR");
|
baseSTR = set.getInt("baseSTR");
|
||||||
baseCON = set.getInteger("baseCON");
|
baseCON = set.getInt("baseCON");
|
||||||
baseDEX = set.getInteger("baseDEX");
|
baseDEX = set.getInt("baseDEX");
|
||||||
baseINT = set.getInteger("baseINT");
|
baseINT = set.getInt("baseINT");
|
||||||
baseWIT = set.getInteger("baseWIT");
|
baseWIT = set.getInt("baseWIT");
|
||||||
baseMEN = set.getInteger("baseMEN");
|
baseMEN = set.getInt("baseMEN");
|
||||||
baseHpMax = set.getFloat("baseHpMax");
|
baseHpMax = set.getFloat("baseHpMax");
|
||||||
baseCpMax = set.getFloat("baseCpMax");
|
baseCpMax = set.getFloat("baseCpMax");
|
||||||
baseMpMax = set.getFloat("baseMpMax");
|
baseMpMax = set.getFloat("baseMpMax");
|
||||||
baseHpReg = set.getFloat("baseHpReg");
|
baseHpReg = set.getFloat("baseHpReg");
|
||||||
baseMpReg = set.getFloat("baseMpReg");
|
baseMpReg = set.getFloat("baseMpReg");
|
||||||
basePAtk = set.getInteger("basePAtk");
|
basePAtk = set.getInt("basePAtk");
|
||||||
baseMAtk = set.getInteger("baseMAtk");
|
baseMAtk = set.getInt("baseMAtk");
|
||||||
basePDef = set.getInteger("basePDef");
|
basePDef = set.getInt("basePDef");
|
||||||
baseMDef = set.getInteger("baseMDef");
|
baseMDef = set.getInt("baseMDef");
|
||||||
basePAtkSpd = set.getInteger("basePAtkSpd");
|
basePAtkSpd = set.getInt("basePAtkSpd");
|
||||||
baseMAtkSpd = set.getInteger("baseMAtkSpd");
|
baseMAtkSpd = set.getInt("baseMAtkSpd");
|
||||||
baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f);
|
baseMReuseRate = set.getFloat("baseMReuseDelay", 1.f);
|
||||||
baseShldDef = set.getInteger("baseShldDef");
|
baseShldDef = set.getInt("baseShldDef");
|
||||||
baseAtkRange = set.getInteger("baseAtkRange");
|
baseAtkRange = set.getInt("baseAtkRange");
|
||||||
baseShldRate = set.getInteger("baseShldRate");
|
baseShldRate = set.getInt("baseShldRate");
|
||||||
baseCritRate = set.getInteger("baseCritRate");
|
baseCritRate = set.getInt("baseCritRate");
|
||||||
baseMCritRate = set.getInteger("baseMCritRate", 5);
|
baseMCritRate = set.getInt("baseMCritRate", 5);
|
||||||
baseWalkSpd = set.getInteger("baseWalkSpd");
|
baseWalkSpd = set.getInt("baseWalkSpd");
|
||||||
baseRunSpd = set.getInteger("baseRunSpd");
|
baseRunSpd = set.getInt("baseRunSpd");
|
||||||
|
|
||||||
// SpecialStats
|
// SpecialStats
|
||||||
baseBreath = set.getInteger("baseBreath", 100);
|
baseBreath = set.getInt("baseBreath", 100);
|
||||||
baseAggression = set.getInteger("baseAggression", 0);
|
baseAggression = set.getInt("baseAggression", 0);
|
||||||
baseBleed = set.getInteger("baseBleed", 0);
|
baseBleed = set.getInt("baseBleed", 0);
|
||||||
basePoison = set.getInteger("basePoison", 0);
|
basePoison = set.getInt("basePoison", 0);
|
||||||
baseStun = set.getInteger("baseStun", 0);
|
baseStun = set.getInt("baseStun", 0);
|
||||||
baseRoot = set.getInteger("baseRoot", 0);
|
baseRoot = set.getInt("baseRoot", 0);
|
||||||
baseMovement = set.getInteger("baseMovement", 0);
|
baseMovement = set.getInt("baseMovement", 0);
|
||||||
baseConfusion = set.getInteger("baseConfusion", 0);
|
baseConfusion = set.getInt("baseConfusion", 0);
|
||||||
baseSleep = set.getInteger("baseSleep", 0);
|
baseSleep = set.getInt("baseSleep", 0);
|
||||||
baseFire = set.getInteger("baseFire", 0);
|
baseFire = set.getInt("baseFire", 0);
|
||||||
baseWind = set.getInteger("baseWind", 0);
|
baseWind = set.getInt("baseWind", 0);
|
||||||
baseWater = set.getInteger("baseWater", 0);
|
baseWater = set.getInt("baseWater", 0);
|
||||||
baseEarth = set.getInteger("baseEarth", 0);
|
baseEarth = set.getInt("baseEarth", 0);
|
||||||
baseHoly = set.getInteger("baseHoly", 0);
|
baseHoly = set.getInt("baseHoly", 0);
|
||||||
baseDark = set.getInteger("baseDark", 0);
|
baseDark = set.getInt("baseDark", 0);
|
||||||
baseAggressionVuln = set.getInteger("baseAaggressionVuln", 1);
|
baseAggressionVuln = set.getInt("baseAaggressionVuln", 1);
|
||||||
baseBleedVuln = set.getInteger("baseBleedVuln", 1);
|
baseBleedVuln = set.getInt("baseBleedVuln", 1);
|
||||||
basePoisonVuln = set.getInteger("basePoisonVuln", 1);
|
basePoisonVuln = set.getInt("basePoisonVuln", 1);
|
||||||
baseStunVuln = set.getInteger("baseStunVuln", 1);
|
baseStunVuln = set.getInt("baseStunVuln", 1);
|
||||||
baseRootVuln = set.getInteger("baseRootVuln", 1);
|
baseRootVuln = set.getInt("baseRootVuln", 1);
|
||||||
baseMovementVuln = set.getInteger("baseMovementVuln", 1);
|
baseMovementVuln = set.getInt("baseMovementVuln", 1);
|
||||||
baseConfusionVuln = set.getInteger("baseConfusionVuln", 1);
|
baseConfusionVuln = set.getInt("baseConfusionVuln", 1);
|
||||||
baseSleepVuln = set.getInteger("baseSleepVuln", 1);
|
baseSleepVuln = set.getInt("baseSleepVuln", 1);
|
||||||
baseFireVuln = set.getInteger("baseFireVuln", 1);
|
baseFireVuln = set.getInt("baseFireVuln", 1);
|
||||||
baseWindVuln = set.getInteger("baseWindVuln", 1);
|
baseWindVuln = set.getInt("baseWindVuln", 1);
|
||||||
baseWaterVuln = set.getInteger("baseWaterVuln", 1);
|
baseWaterVuln = set.getInt("baseWaterVuln", 1);
|
||||||
baseEarthVuln = set.getInteger("baseEarthVuln", 1);
|
baseEarthVuln = set.getInt("baseEarthVuln", 1);
|
||||||
baseHolyVuln = set.getInteger("baseHolyVuln", 1);
|
baseHolyVuln = set.getInt("baseHolyVuln", 1);
|
||||||
baseDarkVuln = set.getInteger("baseDarkVuln", 1);
|
baseDarkVuln = set.getInt("baseDarkVuln", 1);
|
||||||
baseCritVuln = set.getInteger("baseCritVuln", 1);
|
baseCritVuln = set.getInt("baseCritVuln", 1);
|
||||||
|
|
||||||
isUndead = set.getInteger("isUndead", 0) == 1;
|
isUndead = set.getInt("isUndead", 0) == 1;
|
||||||
|
|
||||||
// C4 Stats
|
// C4 Stats
|
||||||
baseMpConsumeRate = set.getInteger("baseMpConsumeRate", 0);
|
baseMpConsumeRate = set.getInt("baseMpConsumeRate", 0);
|
||||||
baseHpConsumeRate = set.getInteger("baseHpConsumeRate", 0);
|
baseHpConsumeRate = set.getInt("baseHpConsumeRate", 0);
|
||||||
|
|
||||||
// Geometry
|
// Geometry
|
||||||
collisionRadius = set.getInteger("collision_radius");
|
collisionRadius = set.getInt("collision_radius");
|
||||||
collisionHeight = set.getInteger("collision_height");
|
collisionHeight = set.getInt("collision_height");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-13
@@ -26,10 +26,10 @@ import org.l2jmobius.gameserver.model.DropCategory;
|
|||||||
import org.l2jmobius.gameserver.model.DropData;
|
import org.l2jmobius.gameserver.model.DropData;
|
||||||
import org.l2jmobius.gameserver.model.MinionData;
|
import org.l2jmobius.gameserver.model.MinionData;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.base.ClassId;
|
import org.l2jmobius.gameserver.model.base.ClassId;
|
||||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||||
import org.l2jmobius.gameserver.skills.Stats;
|
import org.l2jmobius.gameserver.skills.Stats;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This cl contains all generic data of a Spawn object.<BR>
|
* This cl contains all generic data of a Spawn object.<BR>
|
||||||
@@ -134,21 +134,21 @@ public class NpcTemplate extends CreatureTemplate
|
|||||||
public NpcTemplate(StatsSet set, boolean custom)
|
public NpcTemplate(StatsSet set, boolean custom)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
npcId = set.getInteger("npcId");
|
npcId = set.getInt("npcId");
|
||||||
idTemplate = set.getInteger("idTemplate");
|
idTemplate = set.getInt("idTemplate");
|
||||||
type = set.getString("type");
|
type = set.getString("type");
|
||||||
name = set.getString("name");
|
name = set.getString("name");
|
||||||
serverSideName = set.getBool("serverSideName");
|
serverSideName = set.getBoolean("serverSideName");
|
||||||
title = set.getString("title");
|
title = set.getString("title");
|
||||||
serverSideTitle = set.getBool("serverSideTitle");
|
serverSideTitle = set.getBoolean("serverSideTitle");
|
||||||
sex = set.getString("sex");
|
sex = set.getString("sex");
|
||||||
level = set.getByte("level");
|
level = set.getByte("level");
|
||||||
rewardExp = set.getInteger("rewardExp");
|
rewardExp = set.getInt("rewardExp");
|
||||||
rewardSp = set.getInteger("rewardSp");
|
rewardSp = set.getInt("rewardSp");
|
||||||
aggroRange = set.getInteger("aggroRange");
|
aggroRange = set.getInt("aggroRange");
|
||||||
rhand = set.getInteger("rhand");
|
rhand = set.getInt("rhand");
|
||||||
lhand = set.getInteger("lhand");
|
lhand = set.getInt("lhand");
|
||||||
armor = set.getInteger("armor");
|
armor = set.getInt("armor");
|
||||||
final String f = set.getString("factionId", null);
|
final String f = set.getString("factionId", null);
|
||||||
if (f == null)
|
if (f == null)
|
||||||
{
|
{
|
||||||
@@ -158,8 +158,8 @@ public class NpcTemplate extends CreatureTemplate
|
|||||||
{
|
{
|
||||||
factionId = f.intern();
|
factionId = f.intern();
|
||||||
}
|
}
|
||||||
factionRange = set.getInteger("factionRange", 0);
|
factionRange = set.getInt("factionRange", 0);
|
||||||
absorbLevel = set.getInteger("absorb_level", 0);
|
absorbLevel = set.getInt("absorb_level", 0);
|
||||||
absorbType = AbsorbCrystalType.valueOf(set.getString("absorb_type"));
|
absorbType = AbsorbCrystalType.valueOf(set.getString("absorb_type"));
|
||||||
_npcStatsSet = set;
|
_npcStatsSet = set;
|
||||||
_custom = custom;
|
_custom = custom;
|
||||||
|
|||||||
+9
-9
@@ -20,9 +20,9 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.datatables.xml.ItemTable;
|
import org.l2jmobius.gameserver.datatables.xml.ItemTable;
|
||||||
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
import org.l2jmobius.gameserver.model.base.ClassId;
|
import org.l2jmobius.gameserver.model.base.ClassId;
|
||||||
import org.l2jmobius.gameserver.model.base.Race;
|
import org.l2jmobius.gameserver.model.base.Race;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
import org.l2jmobius.gameserver.templates.item.Item;
|
import org.l2jmobius.gameserver.templates.item.Item;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -55,17 +55,17 @@ public class PlayerTemplate extends CreatureTemplate
|
|||||||
public PlayerTemplate(StatsSet set)
|
public PlayerTemplate(StatsSet set)
|
||||||
{
|
{
|
||||||
super(set);
|
super(set);
|
||||||
classId = ClassId.values()[set.getInteger("classId")];
|
classId = ClassId.values()[set.getInt("classId")];
|
||||||
race = Race.values()[set.getInteger("raceId")];
|
race = Race.values()[set.getInt("raceId")];
|
||||||
className = set.getString("className");
|
className = set.getString("className");
|
||||||
_currentCollisionRadius = set.getInteger("collision_radius");
|
_currentCollisionRadius = set.getInt("collision_radius");
|
||||||
_currentCollisionHeight = set.getInteger("collision_height");
|
_currentCollisionHeight = set.getInt("collision_height");
|
||||||
|
|
||||||
spawnX = set.getInteger("spawnX");
|
spawnX = set.getInt("spawnX");
|
||||||
spawnY = set.getInteger("spawnY");
|
spawnY = set.getInt("spawnY");
|
||||||
spawnZ = set.getInteger("spawnZ");
|
spawnZ = set.getInt("spawnZ");
|
||||||
|
|
||||||
classBaseLevel = set.getInteger("classBaseLevel");
|
classBaseLevel = set.getInt("classBaseLevel");
|
||||||
lvlHpAdd = set.getFloat("lvlHpAdd");
|
lvlHpAdd = set.getFloat("lvlHpAdd");
|
||||||
lvlHpMod = set.getFloat("lvlHpMod");
|
lvlHpMod = set.getFloat("lvlHpMod");
|
||||||
lvlCpAdd = set.getFloat("lvlCpAdd");
|
lvlCpAdd = set.getFloat("lvlCpAdd");
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.datatables.SkillTable;
|
import org.l2jmobius.gameserver.datatables.SkillTable;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
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.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.skills.Env;
|
import org.l2jmobius.gameserver.skills.Env;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.Func;
|
import org.l2jmobius.gameserver.skills.funcs.Func;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.FuncTemplate;
|
import org.l2jmobius.gameserver.skills.funcs.FuncTemplate;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is dedicated to the management of armors.
|
* This class is dedicated to the management of armors.
|
||||||
@@ -55,14 +55,14 @@ public class Armor extends Item
|
|||||||
public Armor(ArmorType type, StatsSet set)
|
public Armor(ArmorType type, StatsSet set)
|
||||||
{
|
{
|
||||||
super(type, set);
|
super(type, set);
|
||||||
_avoidModifier = set.getInteger("avoid_modify");
|
_avoidModifier = set.getInt("avoid_modify");
|
||||||
_pDef = set.getInteger("p_def");
|
_pDef = set.getInt("p_def");
|
||||||
_mDef = set.getInteger("m_def");
|
_mDef = set.getInt("m_def");
|
||||||
_mpBonus = set.getInteger("mp_bonus", 0);
|
_mpBonus = set.getInt("mp_bonus", 0);
|
||||||
_hpBonus = set.getInteger("hp_bonus", 0);
|
_hpBonus = set.getInt("hp_bonus", 0);
|
||||||
|
|
||||||
final int sId = set.getInteger("item_skill_id");
|
final int sId = set.getInt("item_skill_id");
|
||||||
final int sLv = set.getInteger("item_skill_lvl");
|
final int sLv = set.getInt("item_skill_lvl");
|
||||||
if ((sId > 0) && (sLv > 0))
|
if ((sId > 0) && (sLv > 0))
|
||||||
{
|
{
|
||||||
_itemSkill = SkillTable.getInstance().getInfo(sId, sLv);
|
_itemSkill = SkillTable.getInstance().getInfo(sId, sLv);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.templates.item;
|
package org.l2jmobius.gameserver.templates.item;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is dedicated to the management of EtcItem.
|
* This class is dedicated to the management of EtcItem.
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.templates.item;
|
package org.l2jmobius.gameserver.templates.item;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
import org.l2jmobius.gameserver.model.StatsSet;
|
||||||
|
|
||||||
public class Henna
|
public class Henna
|
||||||
{
|
{
|
||||||
@@ -34,17 +34,17 @@ public class Henna
|
|||||||
|
|
||||||
public Henna(StatsSet set)
|
public Henna(StatsSet set)
|
||||||
{
|
{
|
||||||
symbolId = set.getInteger("symbol_id");
|
symbolId = set.getInt("symbol_id");
|
||||||
symbolName = ""; // set.getString("symbol_name");
|
symbolName = ""; // set.getString("symbol_name");
|
||||||
dye = set.getInteger("dye");
|
dye = set.getInt("dye");
|
||||||
price = set.getInteger("price");
|
price = set.getInt("price");
|
||||||
amount = set.getInteger("amount");
|
amount = set.getInt("amount");
|
||||||
statINT = set.getInteger("stat_INT");
|
statINT = set.getInt("stat_INT");
|
||||||
statSTR = set.getInteger("stat_STR");
|
statSTR = set.getInt("stat_STR");
|
||||||
statCON = set.getInteger("stat_CON");
|
statCON = set.getInt("stat_CON");
|
||||||
statMEM = set.getInteger("stat_MEM");
|
statMEM = set.getInt("stat_MEM");
|
||||||
statDEX = set.getInteger("stat_DEX");
|
statDEX = set.getInt("stat_DEX");
|
||||||
statWIT = set.getInteger("stat_WIT");
|
statWIT = set.getInt("stat_WIT");
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSymbolId()
|
public int getSymbolId()
|
||||||
|
|||||||
@@ -22,13 +22,13 @@ import java.util.List;
|
|||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
|
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.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.skills.Env;
|
import org.l2jmobius.gameserver.skills.Env;
|
||||||
import org.l2jmobius.gameserver.skills.effects.EffectTemplate;
|
import org.l2jmobius.gameserver.skills.effects.EffectTemplate;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.Func;
|
import org.l2jmobius.gameserver.skills.funcs.Func;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.FuncTemplate;
|
import org.l2jmobius.gameserver.skills.funcs.FuncTemplate;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class contains all informations concerning the item (weapon, armor, etc).<BR>
|
* This class contains all informations concerning the item (weapon, armor, etc).<BR>
|
||||||
@@ -163,13 +163,13 @@ public abstract class Item
|
|||||||
protected Item(Enum<?> type, StatsSet set)
|
protected Item(Enum<?> type, StatsSet set)
|
||||||
{
|
{
|
||||||
_type = type;
|
_type = type;
|
||||||
_itemId = set.getInteger("item_id");
|
_itemId = set.getInt("item_id");
|
||||||
_name = set.getString("name");
|
_name = set.getString("name");
|
||||||
_type1 = set.getInteger("type1"); // needed for item list (inventory)
|
_type1 = set.getInt("type1"); // needed for item list (inventory)
|
||||||
_type2 = set.getInteger("type2"); // different lists for armor, weapon, etc
|
_type2 = set.getInt("type2"); // different lists for armor, weapon, etc
|
||||||
_weight = set.getInteger("weight");
|
_weight = set.getInt("weight");
|
||||||
_crystallizable = set.getBool("crystallizable");
|
_crystallizable = set.getBoolean("crystallizable");
|
||||||
_stackable = set.getBool("stackable", false);
|
_stackable = set.getBoolean("stackable", false);
|
||||||
switch (set.getString("crystal_type", ""))
|
switch (set.getString("crystal_type", ""))
|
||||||
{
|
{
|
||||||
case "d":
|
case "d":
|
||||||
@@ -203,7 +203,7 @@ public abstract class Item
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_duration = set.getInteger("duration");
|
_duration = set.getInt("duration");
|
||||||
switch (set.getString("bodypart", ""))
|
switch (set.getString("bodypart", ""))
|
||||||
{
|
{
|
||||||
case "chest":
|
case "chest":
|
||||||
@@ -330,12 +330,12 @@ public abstract class Item
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_referencePrice = set.getInteger("price");
|
_referencePrice = set.getInt("price");
|
||||||
_crystalCount = set.getInteger("crystal_count", 0);
|
_crystalCount = set.getInt("crystal_count", 0);
|
||||||
_sellable = set.getBool("sellable", true);
|
_sellable = set.getBoolean("sellable", true);
|
||||||
_dropable = set.getBool("dropable", true);
|
_dropable = set.getBoolean("dropable", true);
|
||||||
_destroyable = set.getBool("destroyable", true);
|
_destroyable = set.getBoolean("destroyable", true);
|
||||||
_tradeable = set.getBool("tradeable", true);
|
_tradeable = set.getBoolean("tradeable", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.l2jmobius.gameserver.handler.SkillHandler;
|
|||||||
import org.l2jmobius.gameserver.model.Effect;
|
import org.l2jmobius.gameserver.model.Effect;
|
||||||
import org.l2jmobius.gameserver.model.Skill;
|
import org.l2jmobius.gameserver.model.Skill;
|
||||||
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
import org.l2jmobius.gameserver.model.Skill.SkillType;
|
||||||
|
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.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
|
||||||
@@ -35,7 +36,6 @@ import org.l2jmobius.gameserver.skills.Env;
|
|||||||
import org.l2jmobius.gameserver.skills.conditions.ConditionGameChance;
|
import org.l2jmobius.gameserver.skills.conditions.ConditionGameChance;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.Func;
|
import org.l2jmobius.gameserver.skills.funcs.Func;
|
||||||
import org.l2jmobius.gameserver.skills.funcs.FuncTemplate;
|
import org.l2jmobius.gameserver.skills.funcs.FuncTemplate;
|
||||||
import org.l2jmobius.gameserver.templates.StatsSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is dedicated to the management of weapons.
|
* This class is dedicated to the management of weapons.
|
||||||
@@ -82,37 +82,37 @@ public class Weapon extends Item
|
|||||||
public Weapon(WeaponType type, StatsSet set)
|
public Weapon(WeaponType type, StatsSet set)
|
||||||
{
|
{
|
||||||
super(type, set);
|
super(type, set);
|
||||||
_soulShotCount = set.getInteger("soulshots");
|
_soulShotCount = set.getInt("soulshots");
|
||||||
_spiritShotCount = set.getInteger("spiritshots");
|
_spiritShotCount = set.getInt("spiritshots");
|
||||||
_pDam = set.getInteger("p_dam");
|
_pDam = set.getInt("p_dam");
|
||||||
_rndDam = set.getInteger("rnd_dam");
|
_rndDam = set.getInt("rnd_dam");
|
||||||
_critical = set.getInteger("critical");
|
_critical = set.getInt("critical");
|
||||||
_hitModifier = set.getDouble("hit_modify");
|
_hitModifier = set.getDouble("hit_modify");
|
||||||
_avoidModifier = set.getInteger("avoid_modify");
|
_avoidModifier = set.getInt("avoid_modify");
|
||||||
_shieldDef = set.getInteger("shield_def");
|
_shieldDef = set.getInt("shield_def");
|
||||||
_shieldDefRate = set.getDouble("shield_def_rate");
|
_shieldDefRate = set.getDouble("shield_def_rate");
|
||||||
_atkSpeed = set.getInteger("atk_speed");
|
_atkSpeed = set.getInt("atk_speed");
|
||||||
_atkReuse = set.getInteger("atk_reuse", type == WeaponType.BOW ? 1500 : 0);
|
_atkReuse = set.getInt("atk_reuse", type == WeaponType.BOW ? 1500 : 0);
|
||||||
_mpConsume = set.getInteger("mp_consume");
|
_mpConsume = set.getInt("mp_consume");
|
||||||
_mDam = set.getInteger("m_dam");
|
_mDam = set.getInt("m_dam");
|
||||||
|
|
||||||
int sId = set.getInteger("item_skill_id");
|
int sId = set.getInt("item_skill_id");
|
||||||
int sLv = set.getInteger("item_skill_lvl");
|
int sLv = set.getInt("item_skill_lvl");
|
||||||
if ((sId > 0) && (sLv > 0))
|
if ((sId > 0) && (sLv > 0))
|
||||||
{
|
{
|
||||||
_itemSkill = SkillTable.getInstance().getInfo(sId, sLv);
|
_itemSkill = SkillTable.getInstance().getInfo(sId, sLv);
|
||||||
}
|
}
|
||||||
|
|
||||||
sId = set.getInteger("enchant4_skill_id");
|
sId = set.getInt("enchant4_skill_id");
|
||||||
sLv = set.getInteger("enchant4_skill_lvl");
|
sLv = set.getInt("enchant4_skill_lvl");
|
||||||
if ((sId > 0) && (sLv > 0))
|
if ((sId > 0) && (sLv > 0))
|
||||||
{
|
{
|
||||||
_enchant4Skill = SkillTable.getInstance().getInfo(sId, sLv);
|
_enchant4Skill = SkillTable.getInstance().getInfo(sId, sLv);
|
||||||
}
|
}
|
||||||
|
|
||||||
sId = set.getInteger("onCast_skill_id");
|
sId = set.getInt("onCast_skill_id");
|
||||||
sLv = set.getInteger("onCast_skill_lvl");
|
sLv = set.getInt("onCast_skill_lvl");
|
||||||
int sCh = set.getInteger("onCast_skill_chance");
|
int sCh = set.getInt("onCast_skill_chance");
|
||||||
if ((sId > 0) && (sLv > 0) && (sCh > 0))
|
if ((sId > 0) && (sLv > 0) && (sCh > 0))
|
||||||
{
|
{
|
||||||
final Skill skill = SkillTable.getInstance().getInfo(sId, sLv);
|
final Skill skill = SkillTable.getInstance().getInfo(sId, sLv);
|
||||||
@@ -120,9 +120,9 @@ public class Weapon extends Item
|
|||||||
attachOnCast(skill);
|
attachOnCast(skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
sId = set.getInteger("onCrit_skill_id");
|
sId = set.getInt("onCrit_skill_id");
|
||||||
sLv = set.getInteger("onCrit_skill_lvl");
|
sLv = set.getInt("onCrit_skill_lvl");
|
||||||
sCh = set.getInteger("onCrit_skill_chance");
|
sCh = set.getInt("onCrit_skill_chance");
|
||||||
if ((sId > 0) && (sLv > 0) && (sCh > 0))
|
if ((sId > 0) && (sLv > 0) && (sCh > 0))
|
||||||
{
|
{
|
||||||
final Skill skill = SkillTable.getInstance().getInfo(sId, sLv);
|
final Skill skill = SkillTable.getInstance().getInfo(sId, sLv);
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import java.util.logging.LogRecord;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.gameserver.datatables.GmListTable;
|
import org.l2jmobius.gameserver.datatables.xml.AdminData;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,7 +81,7 @@ public class IllegalPlayerAction implements Runnable
|
|||||||
});
|
});
|
||||||
_logAudit.log(record);
|
_logAudit.log(record);
|
||||||
|
|
||||||
GmListTable.broadcastMessageToGMs(_message);
|
AdminData.broadcastMessageToGMs(_message);
|
||||||
|
|
||||||
switch (_punishment)
|
switch (_punishment)
|
||||||
{
|
{
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user