Jump to content

[share]Olympiad Balanced Regen


Recommended Posts

In Olympiad, 1vs1, some classes are disadvantaged due to high regen multiplier :S

 

So, if you want to have a balanced gameplay reguarding regen HP/MP/CP at least in Olympiad... this is for you (:

 

Index: /java/net/sf/l2j/gameserver/skills/Formulas.java

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

--- /UtopiaL2j_gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java (revision 126)

+++ /UtopiaL2j_gameserver/java/net/sf/l2j/gameserver/skills/Formulas.java (revision 144)

@@ -854,20 +854,24 @@

            ClanHall clansHall = ClanHallManager.getInstance().getClanHall(clanHallIndex);

            if(clansHall != null)

            if (clansHall.getFunction(ClanHall.FUNC_RESTORE_HP) != null)

            hpRegenMultiplier *= 1+ clansHall.getFunction(ClanHall.FUNC_RESTORE_HP).getLvl()/100;

            }

            }

 

// Mother Tree effect is calculated at last

if (player.getInMotherTreeZone()) hpRegenBonus += 2;

 

+            // Custom: 1x Olympiad modifier

+            if(player.isInOlympiadMode())

+            hpRegenMultiplier = 1;

+

            // Calculate Movement bonus

            if (player.isSitting()) hpRegenMultiplier *= 1.5;      // Sitting

            else if (!player.isMoving()) hpRegenMultiplier *= 1.1; // Staying

            else if (player.isRunning()) hpRegenMultiplier *= 0.7; // Running

 

            // Add CON bonus

            init *= cha.getLevelMod() * CONbonus[cha.getCON()];

}

 

        if (init < 1) init = 1;

@@ -903,20 +907,24 @@

            int clanHallIndex = player.getClan().getHasHideout();

            if (clanHallIndex > 0)

            {

            ClanHall clansHall = ClanHallManager.getInstance().getClanHall(clanHallIndex);

            if(clansHall != null)

            if (clansHall.getFunction(ClanHall.FUNC_RESTORE_MP) != null)

            mpRegenMultiplier *= 1+ clansHall.getFunction(ClanHall.FUNC_RESTORE_MP).getLvl()/100;

            }

            }

           

+            // Custom: 1x Olympiad modifier

+            if(player.isInOlympiadMode())

+            mpRegenMultiplier = 1;

+           

// Calculate Movement bonus

            if (player.isSitting()) mpRegenMultiplier *= 1.5;      // Sitting

            else if (!player.isMoving()) mpRegenMultiplier *= 1.1; // Staying

            else if (player.isRunning()) mpRegenMultiplier *= 0.7; // Running

 

            // Add MEN bonus

            init *= cha.getLevelMod() * MENbonus[cha.getMEN()];

}

 

if (init < 1) init = 1;

@@ -932,20 +940,24 @@

        double init = cha.getTemplate().baseHpReg;

        double cpRegenMultiplier = Config.CP_REGEN_MULTIPLIER;

        double cpRegenBonus = 0;

 

        if (cha instanceof L2PcInstance)

        {

        L2PcInstance player = (L2PcInstance) cha;

 

        // Calculate correct baseHpReg value for certain level of PC

        init += (player.getLevel() > 10) ? ((player.getLevel()-1)/10) : 0.5;

+        

+         // Custom: 1x Olympiad modifier

+         if(player.isInOlympiadMode())

+         cpRegenMultiplier *= 1;

       

        // Calculate Movement bonus

        if (player.isSitting()) cpRegenMultiplier *= 1.5;      // Sitting

        else if (!player.isMoving()) cpRegenMultiplier *= 1.1; // Staying

        else if (player.isRunning()) cpRegenMultiplier *= 0.7; // Running

        } else

        {

        // Calculate Movement bonus

        if (!cha.isMoving()) cpRegenMultiplier *= 1.1; // Staying

        else if (cha.isRunning()) cpRegenMultiplier *= 0.7; // Running

 

 

enjoy

 

 

Link to comment
Share on other sites

So This is your work?

 

and why not.....

 

+//Olympiad Regeneration Before Match Start.

+          activeChar.getStatus().setCurrentHp(activeChar.getMaxHp());

+         activeChar.getStatus().setCurrentMp(activeChar.getMaxMp());

+         activeChar.getStatus().setCurrentCp(activeChar.getMaxCp());

+    

 

L2JFree User;

+// Olympiad Regeneration Before Match Start.

+ player.getStatus().setCurrentCp(player.getMaxCp());

+ player.getStatus().setCurrentHp(player.getMaxHp());

+ player.getStatus().setCurrentMp(player.getMaxMp());

 

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • New Season coming May 2024! First post updated      Website: L2Kain.net  Discord: https://discord.gg/l2kain  Wiki: https://info.kain.ws/   Important Dates   Server Start: TBD  Open Beta Test: 10th of May 2024!   Basic Information     Briefly about the concept of the server! We decided to move away from the standard Mid-Rate server concept and keep the mechanics of our beloved Lineage 2 that everyone loves! Massive battles for epic bosses, battles for profitable farming locations, resource spoilage and equipment crafting, daily instances, a balanced economy and much more. This server is build as a Craft-PvP concept. The goal is to gather players with a variety of preferences in the game and make a high-quality and interesting server with alternative character development options. We are well aware that "grinding" is an integral part of the game, but we diluted the boring and the same type of farming with interesting solutions and non-standard mechanics!   We have prepared a new High Five x25 on Modern Client for you. This server will be another step in the development of the platform and the project as a whole! Your appeals to those. support was not ignored, which means the new server will be even better than the previous one!      ⭐ Promotions and Bonuses for new players!     ⭐ Events and Giveaways daily!   ⭐ Rewards for Voting!   ℹ️ Server Rates Learn more about server rates! Server rates are configured in such a way that farming is best rewarded. Adena, drops, quests, various rewards and prices in the game store are well balanced among themselves!   Basic Server Rates:  ⭐ Experience & Skill Points - x25  ⭐ Adena Drop - x15 & Fixed Chance 66%  ⭐ Drop Rates - x10  ⭐ Spoil Rates - x10   Crafting keys, recipes drop & spoil with fixed amount from 2 to 3 and increased chances on all locations and quests  related to farm them.  ⭐ Quest Rates - x5  ⭐ Fortresses & Sieges - x5  ⭐ Raid Bosses & Epic Bosses - x1  ⭐ Weight Limit - x10      Connect with Us:  Discord: https://discord.gg/l2kain  Facebook: https://www.facebook.com/KainLineage2  TikTok: https://www.tiktok.com/@l2kain.net  YouTube: https://www.youtube.com/@Lineage2Kain
    • Relevant! I sell forum listings and also post and promote your topics on forums!
  • Topics

×
×
  • Create New...