All pastes #45059 Raw Edit

Anonymous

public java v1 · immutable
#45059 ·published 2006-03-09 20:40 UTC
rendered paste body
Index: D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Summon.java===================================================================--- D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Summon.java	(revision 1585)+++ D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Summon.java	(working copy)@@ -373,4 +373,13 @@ 	{ 		super.useMagic(skill); 	}+	+	public void setExpPenalty(float expPenalty)+	{+		+	}+    public float getExpPenalty()+    {+        return 0;+    }	 }Index: D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/actor/instance/L2PetInstance.java===================================================================--- D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/actor/instance/L2PetInstance.java	(revision 1585)+++ D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/actor/instance/L2PetInstance.java	(working copy)@@ -692,9 +692,20 @@         // Set the new Experience value of the L2PcInstance         getStat().addExp(-lostExp);      }+    +    private float _expPenalty = 0;+    +	public void setExpPenalty(float expPenalty)+	{+		_expPenalty = expPenalty;+	}+    public float getExpPenalty()+    {+        return _expPenalty;+    }      -    +    public void addExpAndSp(int addToExp, int addToSp, float _expPenalty) { getStat().addExpAndSp(addToExp, addToSp, _expPenalty); }     public void addExpAndSp(int addToExp, int addToSp) { getStat().addExpAndSp(addToExp, addToSp); }     public int getExpForThisLevel() { return getStat().getExpForLevel(getLevel()); }     public int getExpForNextLevel() { return getStat().getExpForLevel(getLevel() + 1); }Index: D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/actor/stat/PetStat.java===================================================================--- D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/actor/stat/PetStat.java	(revision 1585)+++ D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/actor/stat/PetStat.java	(working copy)@@ -34,7 +34,20 @@          return true;     }+    +    public boolean addExpAndSp(int addToExp, int addToSp, float _expPenalty)+    {+    	addToExp = (int)(addToExp*_expPenalty);+    	addToSp = (int)(addToSp*_expPenalty);+    	if (!super.addExpAndSp(addToExp, addToSp)) return false; +        SystemMessage sm = new SystemMessage(SystemMessage.PET_EARNED_S1_EXP);+        sm.addNumber(addToExp);+        getActiveChar().getOwner().sendPacket(sm);++        return true;+    }    +     public boolean addExpAndSp(int addToExp, int addToSp)     {     	if (!super.addExpAndSp(addToExp, addToSp)) return false;Index: D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Attackable.java===================================================================--- D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Attackable.java	(revision 1585)+++ D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Attackable.java	(working copy)@@ -548,7 +548,10 @@                 	attackerParty = ((L2PcInstance)attacker).getParty();                 else                     return;-                +                if (attacker instanceof L2PcInstance && ((L2PcInstance)attacker).getPet() instanceof L2PetInstance)+                {+                	penalty = ((L2PetInstance)((L2PcInstance)attacker).getPet()).getExpPenalty();+                }                 // If this attacker is a L2PcInstance with a summoned L2SummonInstance, get Exp Penalty applied for the current summoned L2SummonInstance                 if (attacker instanceof L2PcInstance && ((L2PcInstance)attacker).getPet() instanceof L2SummonInstance)                 {@@ -578,6 +581,10 @@                         // Distribute the Exp and SP between the L2PcInstance and its L2Summon                         attacker.addExpAndSp((int)attacker.calcStat(Stats.EXPSP_RATE, exp, null, null),                                               (int)attacker.calcStat(Stats.EXPSP_RATE, sp, null, null));+                        if (attacker instanceof L2PcInstance && ((L2PcInstance)attacker).getPet() instanceof L2PetInstance)+                        {+                        	((L2PetInstance)((L2PcInstance)attacker).getPet()).addExpAndSp(exp, sp, penalty);+                        }                                             }                 }                 elseIndex: D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Party.java===================================================================--- D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Party.java	(revision 1585)+++ D:/Program Files/eclipse/workspace/l2j/java/net/sf/l2j/gameserver/model/L2Party.java	(working copy)@@ -27,6 +27,7 @@ import net.sf.l2j.gameserver.SevenSignsFestival; import net.sf.l2j.gameserver.lib.Rnd; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;+import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance; import net.sf.l2j.gameserver.model.actor.instance.L2SummonInstance; import net.sf.l2j.gameserver.serverpackets.PartySmallWindowAdd;@@ -579,6 +580,11 @@                         // Add the XP/SP points to the requested party member                         member.addExpAndSp((int)member.calcStat(Stats.EXPSP_RATE, xpReward * preCalculation, null, null),                                             (int)member.calcStat(Stats.EXPSP_RATE, spReward * preCalculation, null, null));+                        +                        if (member instanceof L2PetInstance)+                        {+                        	((L2PetInstance)member).getStat().addExpAndSp((int)(xpReward * preCalculation),(int)(spReward * preCalculation), ((L2PetInstance)member).getExpPenalty());+                        }                     }     			}     		}