Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Npc Blessing of Experience

Iniciado por Swarlog, Ago 11, 2022, 01:19 AM

Tema anterior - Siguiente tema

Swarlog



### Eclipse Workspace Patch 1.0

#P aCis_gameserver

Index: java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java

===================================================================

--- java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java (revision 2)

+++ java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java (working copy)

@@ -76,12 +76,15 @@

* <li>If the L2PcInstance increases its level, manage the increase level task (Max MP, Max MP, Recommandation, Expertise and beginner skills...)</li>

* <li>If the L2PcInstance increases its level, send UserInfo to the L2PcInstance</li>

* </ul>

- * @param addToExp The Experience value to add

- * @param addToSp The SP value to add

*/

@Override

public boolean addExpAndSp(long addToExp, int addToSp)

{

+ return addExpAndSp(addToExp, addToSp, false);

+ }

+

+ public boolean addExpAndSp(long addToExp, int addToSp, boolean useBonuses)

+ {

float ratioTakenByPet = 0;

// Player is Gm and acces level is below or equal to GM_DONT_TAKE_EXPSP and is in party, don't give Xp/Sp

L2PcInstance activeChar = getActiveChar();

@@ -88,6 +91,18 @@

if (!activeChar.getAccessLevel().canGainExp())

return false;



+ double bonusExp = Config.EXPERIENCE_BLESSING_BONUS;

+ double bonusSp = Config.EXPERIENCE_BLESSING_BONUS;

+

+ if (useBonuses)

+ {

+ bonusExp = getExpBonusMultiplier();

+ bonusSp = getSpBonusMultiplier();

+ }

+

+ addToExp *= bonusExp;

+ addToSp *= bonusSp;

+

// if this player has a pet that takes from the owner's Exp, give the pet Exp now

if (activeChar.hasPet())

{

@@ -381,4 +396,36 @@



return (getRunSpeed() * 70) / 100;

}

+

+ public double getExpBonusMultiplier()

+ {

+ double bonus = 1.0;

+ double bonusExp = 1.0;

+

+ if (bonusExp > 1)

+ {

+ bonus += (bonusExp - 1);

+ }

+

+ bonus = Math.max(bonus, 1);

+ bonus = Math.min(bonus, 3.5);

+

+ return bonus;

+ }

+

+ public double getSpBonusMultiplier()

+ {

+ double bonus = 1.0;

+ double bonusSp = 1.0;

+

+ if (bonusSp > 1)

+ {

+ bonus += (bonusSp - 1);

+ }

+

+ bonus = Math.max(bonus, 1);

+ bonus = Math.min(bonus, 3.5);

+

+ return bonus;

+ }

}

\ No newline at end of file

Index: config/events.properties

===================================================================

--- config/events.properties (revision 2)

+++ config/events.properties (working copy)

@@ -245,4 +245,14 @@

AltFishChampionshipReward2 = 500000

AltFishChampionshipReward3 = 300000

AltFishChampionshipReward4 = 200000

-AltFishChampionshipReward5 = 100000

\ No newline at end of file

+AltFishChampionshipReward5 = 100000

+

+#=============================================================

+# Blessing of Experience

+#=============================================================

+# If the buff 'Blessing of Experience' is active, you can use this

+# configuration to edit the experience multiplier.

+# When you have the effects of 'Blessing of Experience', the experience

+# will be increased 200%.

+# Default: 2.0

+ExperienceBlessingBonus = 2.0

Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java

===================================================================

--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 2)

+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)

@@ -9136,12 +9136,19 @@

@Override

public void addExpAndSp(long addToExp, int addToSp)

{

- getStat().addExpAndSp(addToExp, addToSp);

+ if (this.getFirstEffect(7065) != null)

+ {

+ getStat().addExpAndSp(addToExp, addToSp, false);

+ }

+ else

+ {

+ getStat().addExpAndSp(addToExp, addToSp, true);

+ }

}



public void removeExpAndSp(long removeExp, int removeSp)

{

- getStat().removeExpAndSp(removeExp, removeSp);

+ getStat().removeExpAndSp(removeExp, removeSp, true);

}



@Override

Index: java/net/sf/l2j/Config.java

===================================================================

--- java/net/sf/l2j/Config.java (revision 2)

+++ java/net/sf/l2j/Config.java (working copy)

@@ -223,6 +223,9 @@

public static int ALT_FISH_CHAMPIONSHIP_REWARD_4;

public static int ALT_FISH_CHAMPIONSHIP_REWARD_5;



+ /** Blessing of Experience Bonus */

+ public static double EXPERIENCE_BLESSING_BONUS;

+

// --------------------------------------------------

// HexID

// --------------------------------------------------

@@ -875,6 +878,8 @@

ALT_FISH_CHAMPIONSHIP_REWARD_4 = events.getProperty("AltFishChampionshipReward4", 200000);

ALT_FISH_CHAMPIONSHIP_REWARD_5 = events.getProperty("AltFishChampionshipReward5", 100000);



+ EXPERIENCE_BLESSING_BONUS = events.getProperty("ExperienceBlessingBonus", 1.0);

+

// FloodProtector

ExProperties security = load(FLOOD_PROTECTOR_FILE);

loadFloodProtectorConfig(security, FLOOD_PROTECTOR_ROLL_DICE, "RollDice", "42");

para los que tiene virus en su PC como Reynald0
Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate