Player Commendation System (PC Bang).

This commit is contained in:
mobius
2015-01-29 16:36:11 +00:00
parent 007760a8cb
commit d4edb0e701
15 changed files with 283 additions and 11 deletions

View File

@ -38,6 +38,7 @@ import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.datatables.ItemTable;
import com.l2jserver.gameserver.enums.PartyDistributionType;
import com.l2jserver.gameserver.instancemanager.DuelManager;
import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
import com.l2jserver.gameserver.model.actor.L2Attackable;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Summon;
@ -857,6 +858,7 @@ public class L2Party extends AbstractPlayerGroup
if (addexp > 0)
{
member.updateVitalityPoints(vitalityPoints, true, false);
PcCafePointsManager.getInstance().givePcCafePoint((member), addexp);
}
}
else

View File

@ -41,6 +41,7 @@ import com.l2jserver.gameserver.datatables.EventDroplist.DateDrop;
import com.l2jserver.gameserver.datatables.ItemTable;
import com.l2jserver.gameserver.enums.InstanceType;
import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
import com.l2jserver.gameserver.instancemanager.WalkingManager;
import com.l2jserver.gameserver.model.AbsorberInfo;
import com.l2jserver.gameserver.model.AggroInfo;
@ -527,6 +528,7 @@ public class L2Attackable extends L2Npc
if (addexp > 0)
{
attacker.updateVitalityPoints(getVitalityPoints(damage), true, false);
PcCafePointsManager.getInstance().givePcCafePoint((attacker), addexp);
}
}
}

View File

@ -365,7 +365,7 @@ public final class L2PcInstance extends L2Playable
// 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,fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,title_color,accesslevel,online,isin7sdungeon,clan_privs,wantspeace,base_class,newbie,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=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,newbie=?,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=?,language=?,faction=? WHERE charId=?";
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=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,newbie=?,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:
@ -405,6 +405,8 @@ public final class L2PcInstance extends L2Playable
public static final int REQUEST_TIMEOUT = 15;
private int _pcBangPoints = 0;
public static final String WORLD_CHAT_VARIABLE_NAME = "WORLD_CHAT_POINTS";
private final List<IEventListener> _eventListeners = new FastList<IEventListener>().shared();
@ -7223,6 +7225,8 @@ public final class L2PcInstance extends L2Playable
player._vitalityPoints = rset.getInt("vitality_points");
player.setPcBangPoints(rset.getInt("pccafe_points"));
// character creation Time
player.getCreateDate().setTime(rset.getDate("createDate"));
@ -7685,7 +7689,8 @@ public final class L2PcInstance extends L2Playable
statement.setLong(46, 0); // unset
statement.setInt(47, getBookMarkSlot());
statement.setInt(48, _vitalityPoints); // unset
statement.setString(49, getLang());
statement.setInt(49, getPcBangPoints());
statement.setString(50, getLang());
int factionId = 0;
if (isGood())
@ -7696,10 +7701,9 @@ public final class L2PcInstance extends L2Playable
{
factionId = 2;
}
statement.setInt(50, factionId);
statement.setInt(51, getObjectId());
statement.setInt(51, factionId);
statement.setInt(52, getObjectId());
statement.execute();
}
catch (Exception e)
@ -14163,6 +14167,24 @@ public final class L2PcInstance extends L2Playable
_offlineShopStart = time;
}
public int getPcBangPoints()
{
return _pcBangPoints;
}
public void setPcBangPoints(final int i)
{
if (i < 200000)
{
_pcBangPoints = i;
}
else
{
_pcBangPoints = 200000;
}
}
/**
* Remove player from BossZones (used on char logout/exit)
*/

View File

@ -27,9 +27,11 @@ import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.l2jserver.Config;
import com.l2jserver.L2DatabaseFactory;
import com.l2jserver.gameserver.enums.QuestSound;
import com.l2jserver.gameserver.enums.QuestType;
import com.l2jserver.gameserver.instancemanager.PcCafePointsManager;
import com.l2jserver.gameserver.instancemanager.QuestManager;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc;
@ -827,6 +829,7 @@ public final class QuestState
public void addExpAndSp(int exp, int sp)
{
AbstractScript.addExpAndSp(_player, exp, sp);
PcCafePointsManager.getInstance().givePcCafePoint(getPlayer(), (long) (exp * Config.RATE_QUEST_REWARD_XP));
}
/**