@ -1827,20 +1827,18 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -1827,20 +1827,18 @@ public class PlayerCharacter extends AbstractCharacter {
//see if we shold grant xp to attacker
boolean doPVPEXP = false ;
long lastKill = att . getLastKillOfTarget ( this . getObjectUUID ( ) ) ;
if ( ( System . currentTimeMillis ( ) - lastKill ) > MBServerStatics . PLAYER_KILL_XP_TIMER )
if ( attacker . getLevel ( ) > 39 & & this . getLevel ( ) > 39 ) {
Guild aN = null ;
Guild tN = null ;
if ( attacker . getGuild ( ) ! = null )
aN = attacker . getGuild ( ) . getNation ( ) ;
if ( this . getGuild ( ) ! = null )
tN = this . getGuild ( ) . getNation ( ) ;
if ( aN = = null | | tN = = null | | aN . isEmptyGuild ( ) | | Guild . sameGuild ( aN , tN ) | | this . isDeathShroud ( ) ) {
//skip giving xp if same guild or attacker is errant, or target is in death shroud.
} else {
doPVPEXP = true ;
}
}
Guild aN = null ;
Guild tN = null ;
if ( attacker . getGuild ( ) ! = null )
aN = attacker . getGuild ( ) . getNation ( ) ;
if ( this . getGuild ( ) ! = null )
tN = this . getGuild ( ) . getNation ( ) ;
if ( aN ! = null | | tN ! = null | | ! aN . equals ( tN ) | | ! this . isDeathShroud ( ) ) {
doPVPEXP = true ;
}
//apply death shroud to non safeholds.
Zone zone = ZoneManager . findSmallestZone ( this . getLoc ( ) ) ;
@ -2926,8 +2924,9 @@ public class PlayerCharacter extends AbstractCharacter {
@@ -2926,8 +2924,9 @@ public class PlayerCharacter extends AbstractCharacter {
xp * = 2 ;
// Stop players from getting experience past the cap
if ( this . exp + xp > = Experience . getBaseExperience ( MBServerStatics . LEVELCAP ) )
xp = Experience . getBaseExperience ( MBServerStatics . LEVELCAP ) - this . exp + 1 ;
int levelCap = MBServerStatics . LEVELCAP ;
if ( this . exp + xp > = Experience . getBaseExperience ( levelCap ) )
xp = Experience . getBaseExperience ( levelCap ) - this . exp + 1 ;
if ( xp = = 0 )
xp = 1 ;