-Reworked Raid Points system (ranking system deleted in Valiance update).
-Raidpoints moved to characters.sql -Fixed calls to unexistent skill levels. Contributed by NviX.
This commit is contained in:
@ -19,7 +19,6 @@
|
||||
package com.l2jserver.gameserver.model.actor.instance;
|
||||
|
||||
import com.l2jserver.gameserver.enums.InstanceType;
|
||||
import com.l2jserver.gameserver.instancemanager.RaidBossPointsManager;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
@ -87,7 +86,7 @@ public final class L2GrandBossInstance extends L2MonsterInstance
|
||||
{
|
||||
for (L2PcInstance member : player.getParty().getMembers())
|
||||
{
|
||||
RaidBossPointsManager.getInstance().addPoints(member, getId(), (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
member.setRaidPoints(member.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
if (member.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(member.getObjectId(), getId());
|
||||
@ -96,7 +95,7 @@ public final class L2GrandBossInstance extends L2MonsterInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
RaidBossPointsManager.getInstance().addPoints(player, getId(), (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
player.setRaidPoints(player.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
if (player.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(player.getObjectId(), getId());
|
||||
|
@ -209,6 +209,7 @@ import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPKCha
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerProfessionChange;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPvPChanged;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPvPKill;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerRaidPointsChanged;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerSubChange;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerTransform;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.mentoring.OnPlayerMenteeStatus;
|
||||
@ -366,8 +367,8 @@ public final class L2PcInstance extends L2Playable
|
||||
private static final String DELETE_ITEM_REUSE_SAVE = "DELETE FROM character_item_reuse_save WHERE charId=?";
|
||||
|
||||
// Character Character SQL String Definitions:
|
||||
private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma,reputation,fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,title_color,accesslevel,online,clan_privs,wantspeace,base_class,nobless,power_grade,createDate) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||
private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,reputation=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,pccafe_points=?,language=?,faction=? WHERE charId=?";
|
||||
private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma,reputation,fame,raidpoints,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,title_color,accesslevel,online,clan_privs,wantspeace,base_class,nobless,power_grade,createDate) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||
private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,reputation=?,fame=?,raidpoints=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,pccafe_points=?,language=?,faction=? WHERE charId=?";
|
||||
private static final String RESTORE_CHARACTER = "SELECT * FROM characters WHERE charId=?";
|
||||
|
||||
// Character Premium System String Definitions:
|
||||
@ -467,6 +468,9 @@ public final class L2PcInstance extends L2Playable
|
||||
private int _fame;
|
||||
private ScheduledFuture<?> _fameTask;
|
||||
|
||||
/** The Raid Points of this L2PcInstance */
|
||||
private int _raidPoints;
|
||||
|
||||
private volatile ScheduledFuture<?> _teleportWatchdog;
|
||||
|
||||
/** The Siege state of the L2PcInstance */
|
||||
@ -2302,7 +2306,7 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the Fame of this L2PcInstane
|
||||
* Set the Fame of this L2PcInstance
|
||||
* @param fame
|
||||
*/
|
||||
public void setFame(int fame)
|
||||
@ -2311,6 +2315,24 @@ public final class L2PcInstance extends L2Playable
|
||||
_fame = (fame > Config.MAX_PERSONAL_FAME_POINTS) ? Config.MAX_PERSONAL_FAME_POINTS : fame;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the Raid Points of this L2PcInstance
|
||||
*/
|
||||
public int getRaidPoints()
|
||||
{
|
||||
return _raidPoints;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the Raid Points of this L2PcInstance
|
||||
* @param raidPoints
|
||||
*/
|
||||
public void setRaidPoints(int raidPoints)
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerRaidPointsChanged(this, _raidPoints, raidPoints), this);
|
||||
_raidPoints = raidPoints;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the ClassId object of the L2PcInstance contained in L2PcTemplate.
|
||||
*/
|
||||
@ -6947,23 +6969,24 @@ public final class L2PcInstance extends L2Playable
|
||||
statement.setInt(17, getKarma());
|
||||
statement.setInt(18, getReputation());
|
||||
statement.setInt(19, getFame());
|
||||
statement.setInt(20, getPvpKills());
|
||||
statement.setInt(21, getPkKills());
|
||||
statement.setInt(22, getClanId());
|
||||
statement.setInt(23, getRace().ordinal());
|
||||
statement.setInt(24, getClassId().getId());
|
||||
statement.setLong(25, getDeleteTimer());
|
||||
statement.setInt(26, hasDwarvenCraft() ? 1 : 0);
|
||||
statement.setString(27, getTitle());
|
||||
statement.setInt(28, getAppearance().getTitleColor());
|
||||
statement.setInt(29, getAccessLevel().getLevel());
|
||||
statement.setInt(30, isOnlineInt());
|
||||
statement.setInt(31, getClanPrivileges().getBitmask());
|
||||
statement.setInt(32, getWantsPeace());
|
||||
statement.setInt(33, getBaseClass());
|
||||
statement.setInt(34, isNoble() ? 1 : 0);
|
||||
statement.setLong(35, 0);
|
||||
statement.setDate(36, new Date(getCreateDate().getTimeInMillis()));
|
||||
statement.setInt(20, getRaidPoints());
|
||||
statement.setInt(21, getPvpKills());
|
||||
statement.setInt(22, getPkKills());
|
||||
statement.setInt(23, getClanId());
|
||||
statement.setInt(24, getRace().ordinal());
|
||||
statement.setInt(25, getClassId().getId());
|
||||
statement.setLong(26, getDeleteTimer());
|
||||
statement.setInt(27, hasDwarvenCraft() ? 1 : 0);
|
||||
statement.setString(28, getTitle());
|
||||
statement.setInt(29, getAppearance().getTitleColor());
|
||||
statement.setInt(30, getAccessLevel().getLevel());
|
||||
statement.setInt(31, isOnlineInt());
|
||||
statement.setInt(32, getClanPrivileges().getBitmask());
|
||||
statement.setInt(33, getWantsPeace());
|
||||
statement.setInt(34, getBaseClass());
|
||||
statement.setInt(35, isNoble() ? 1 : 0);
|
||||
statement.setLong(36, 0);
|
||||
statement.setDate(37, new Date(getCreateDate().getTimeInMillis()));
|
||||
statement.executeUpdate();
|
||||
}
|
||||
catch (Exception e)
|
||||
@ -7017,6 +7040,7 @@ public final class L2PcInstance extends L2Playable
|
||||
player.setKarma(rset.getInt("karma"));
|
||||
player.setReputation(rset.getInt("reputation"));
|
||||
player.setFame(rset.getInt("fame"));
|
||||
player.setRaidPoints(rset.getInt("raidpoints"));
|
||||
player.setPvpKills(rset.getInt("pvpkills"));
|
||||
player.setPkKills(rset.getInt("pkkills"));
|
||||
player.setOnlineTime(rset.getLong("onlinetime"));
|
||||
@ -7579,19 +7603,20 @@ public final class L2PcInstance extends L2Playable
|
||||
statement.setInt(19, getKarma());
|
||||
statement.setInt(20, getReputation());
|
||||
statement.setInt(21, getFame());
|
||||
statement.setInt(22, getPvpKills());
|
||||
statement.setInt(23, getPkKills());
|
||||
statement.setInt(24, getClanId());
|
||||
statement.setInt(25, getRace().ordinal());
|
||||
statement.setInt(26, getClassId().getId());
|
||||
statement.setLong(27, getDeleteTimer());
|
||||
statement.setString(28, getTitle());
|
||||
statement.setInt(29, getAppearance().getTitleColor());
|
||||
statement.setInt(30, getAccessLevel().getLevel());
|
||||
statement.setInt(31, isOnlineInt());
|
||||
statement.setInt(32, getClanPrivileges().getBitmask());
|
||||
statement.setInt(33, getWantsPeace());
|
||||
statement.setInt(34, getBaseClass());
|
||||
statement.setInt(22, getRaidPoints());
|
||||
statement.setInt(23, getPvpKills());
|
||||
statement.setInt(24, getPkKills());
|
||||
statement.setInt(25, getClanId());
|
||||
statement.setInt(26, getRace().ordinal());
|
||||
statement.setInt(27, getClassId().getId());
|
||||
statement.setLong(28, getDeleteTimer());
|
||||
statement.setString(29, getTitle());
|
||||
statement.setInt(30, getAppearance().getTitleColor());
|
||||
statement.setInt(31, getAccessLevel().getLevel());
|
||||
statement.setInt(32, isOnlineInt());
|
||||
statement.setInt(33, getClanPrivileges().getBitmask());
|
||||
statement.setInt(34, getWantsPeace());
|
||||
statement.setInt(35, getBaseClass());
|
||||
|
||||
long totalOnlineTime = _onlineTime;
|
||||
if (_onlineBeginTime > 0)
|
||||
@ -7599,21 +7624,21 @@ public final class L2PcInstance extends L2Playable
|
||||
totalOnlineTime += (System.currentTimeMillis() - _onlineBeginTime) / 1000;
|
||||
}
|
||||
|
||||
statement.setLong(35, totalOnlineTime);
|
||||
statement.setInt(36, isNoble() ? 1 : 0);
|
||||
statement.setInt(37, getPowerGrade());
|
||||
statement.setInt(38, getPledgeType());
|
||||
statement.setInt(39, getLvlJoinedAcademy());
|
||||
statement.setLong(40, getApprentice());
|
||||
statement.setLong(41, getSponsor());
|
||||
statement.setLong(42, getClanJoinExpiryTime());
|
||||
statement.setLong(43, getClanCreateExpiryTime());
|
||||
statement.setString(44, getName());
|
||||
statement.setLong(45, 0); // unset
|
||||
statement.setInt(46, getBookMarkSlot());
|
||||
statement.setInt(47, _vitalityPoints); // unset
|
||||
statement.setInt(48, getPcBangPoints());
|
||||
statement.setString(49, getLang());
|
||||
statement.setLong(36, totalOnlineTime);
|
||||
statement.setInt(37, isNoble() ? 1 : 0);
|
||||
statement.setInt(38, getPowerGrade());
|
||||
statement.setInt(39, getPledgeType());
|
||||
statement.setInt(40, getLvlJoinedAcademy());
|
||||
statement.setLong(41, getApprentice());
|
||||
statement.setLong(42, getSponsor());
|
||||
statement.setLong(43, getClanJoinExpiryTime());
|
||||
statement.setLong(44, getClanCreateExpiryTime());
|
||||
statement.setString(45, getName());
|
||||
statement.setLong(46, 0); // unset
|
||||
statement.setInt(47, getBookMarkSlot());
|
||||
statement.setInt(48, _vitalityPoints); // unset
|
||||
statement.setInt(49, getPcBangPoints());
|
||||
statement.setString(50, getLang());
|
||||
|
||||
int factionId = 0;
|
||||
if (isGood())
|
||||
@ -7624,9 +7649,9 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
factionId = 2;
|
||||
}
|
||||
statement.setInt(50, factionId);
|
||||
statement.setInt(51, factionId);
|
||||
|
||||
statement.setInt(51, getObjectId());
|
||||
statement.setInt(52, getObjectId());
|
||||
statement.execute();
|
||||
}
|
||||
catch (Exception e)
|
||||
@ -11709,7 +11734,7 @@ public final class L2PcInstance extends L2Playable
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.SEVERE, "deleteMe()", e);
|
||||
}// returns pet to control item
|
||||
} // returns pet to control item
|
||||
}
|
||||
|
||||
if (getClan() != null)
|
||||
|
@ -21,7 +21,6 @@ package com.l2jserver.gameserver.model.actor.instance;
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.enums.InstanceType;
|
||||
import com.l2jserver.gameserver.instancemanager.RaidBossPointsManager;
|
||||
import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager;
|
||||
import com.l2jserver.gameserver.model.L2Spawn;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
@ -83,7 +82,7 @@ public class L2RaidBossInstance extends L2MonsterInstance
|
||||
{
|
||||
for (L2PcInstance member : player.getParty().getMembers())
|
||||
{
|
||||
RaidBossPointsManager.getInstance().addPoints(member, getId(), (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
member.setRaidPoints(member.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
if (member.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(member.getObjectId(), getId());
|
||||
@ -92,7 +91,7 @@ public class L2RaidBossInstance extends L2MonsterInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
RaidBossPointsManager.getInstance().addPoints(player, getId(), (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
player.setRaidPoints(player.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
if (player.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(player.getObjectId(), getId());
|
||||
|
@ -302,17 +302,13 @@ public final class L2TeleporterInstance extends L2Npc
|
||||
switch (itemId)
|
||||
{
|
||||
case MultisellData.PC_BANG_POINTS:
|
||||
{
|
||||
return "Player Commendation Points";
|
||||
}
|
||||
case MultisellData.CLAN_REPUTATION:
|
||||
{
|
||||
return "Clan Reputation Points";
|
||||
}
|
||||
case MultisellData.FAME:
|
||||
{
|
||||
return "Fame";
|
||||
}
|
||||
case MultisellData.RAID_POINTS:
|
||||
return "Raid Points";
|
||||
}
|
||||
return "Unknown item: " + itemId;
|
||||
}
|
||||
|
@ -67,6 +67,7 @@ import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPKCha
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerProfessionChange;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPvPChanged;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerPvPKill;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerRaidPointsChanged;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerRestore;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerSelect;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerSkillLearn;
|
||||
@ -198,6 +199,7 @@ public enum EventType
|
||||
ON_PLAYER_DLG_ANSWER(OnPlayerDlgAnswer.class, void.class, TerminateReturn.class),
|
||||
ON_PLAYER_EQUIP_ITEM(OnPlayerEquipItem.class, void.class),
|
||||
ON_PLAYER_FAME_CHANGED(OnPlayerFameChanged.class, void.class),
|
||||
ON_PLAYER_RAID_POINTS_CHANGED(OnPlayerRaidPointsChanged.class, void.class),
|
||||
// Henna events
|
||||
ON_PLAYER_HENNA_ADD(OnPlayerHennaAdd.class, void.class),
|
||||
ON_PLAYER_HENNA_REMOVE(OnPlayerHennaRemove.class, void.class),
|
||||
|
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J Server
|
||||
*
|
||||
* This file is part of L2J Server.
|
||||
*
|
||||
* L2J Server 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.
|
||||
*
|
||||
* L2J Server 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 com.l2jserver.gameserver.model.events.impl.character.player;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.impl.IBaseEvent;
|
||||
|
||||
/**
|
||||
* @author NviX
|
||||
*/
|
||||
public class OnPlayerRaidPointsChanged implements IBaseEvent
|
||||
{
|
||||
private final L2PcInstance _activeChar;
|
||||
private final int _oldRaidPoints;
|
||||
private final int _newRaidPoints;
|
||||
|
||||
public OnPlayerRaidPointsChanged(L2PcInstance activeChar, int oldRaidPoints, int newRaidPoints)
|
||||
{
|
||||
_activeChar = activeChar;
|
||||
_oldRaidPoints = oldRaidPoints;
|
||||
_newRaidPoints = newRaidPoints;
|
||||
}
|
||||
|
||||
public L2PcInstance getActiveChar()
|
||||
{
|
||||
return _activeChar;
|
||||
}
|
||||
|
||||
public int getOldRaidPoints()
|
||||
{
|
||||
return _oldRaidPoints;
|
||||
}
|
||||
|
||||
public int getNewRaidPoints()
|
||||
{
|
||||
return _newRaidPoints;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EventType getType()
|
||||
{
|
||||
return EventType.ON_PLAYER_RAID_POINTS_CHANGED;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user