Jump to content

Recommended Posts

Posted

Hello to all MxC users.

 

this forum really helped me so much about l2j and learn to code in java :)

 

thanks  everyone for share and is why I want to give

a CHRISTMAS gift  ;D :

 

a small patch but is useful for many new and old l2j developers

 

I took from l2joneo interlude version and I create a patch to L2J last Interlude Revision

 

so? leech me:

Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties	(revision 4430)
+++ java/config/l2jmods.properties	(working copy)
@@ -132,3 +132,16 @@
# ex.: 1;2;3;4;5;6
# no ";" at the start or end
TvTEventDoorsCloseOpenOnStartEnd =
+
+#---------------------------------------------------------------
+# Skill Customizations                                         -
+#---------------------------------------------------------------
+# Enable to modify skill duration data
+EnableModifySkillDuration = false
+# Skill duration list 
+# Format : skillid,newtime;skillid,newtime....
+# Example : this enable 1h(3600) duration for songs
+# SkillDurationList = 264,3600;265,3600;266,3600;267,3600;268,3600;\
+# 269,3600;270,3600;304,3600;305,1200;306,3600;308,3600;349,3600;\
+# 363,3600;364,3600
+SkillDurationList = 
\ No newline at end of file
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 4430)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -25,10 +25,12 @@
import java.io.OutputStream;
import java.math.BigInteger;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import java.util.logging.Logger;

import javolution.util.FastList;
+import javolution.util.FastMap;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

/**
@@ -882,7 +884,12 @@
    public static boolean L2JMOD_WEDDING_FORMALWEAR;
    public static int L2JMOD_WEDDING_DIVORCE_COSTS;

-    // Packet information
+    /** Enable skill duration mod */
+	public static boolean ENABLE_MODIFY_SKILL_DURATION;
+	public static Map<Integer, Integer> SKILL_DURATION_LIST;
+	public static int MODIFIED_SKILL_COUNT;
+	
+	// Packet information
    /** Count the amount of packets per minute ? */
    public static boolean  COUNT_PACKETS           = false;
    /** Dump packet count ? */
@@ -1858,7 +1865,37 @@
                L2JMOD_WEDDING_SAMESEX                  = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingAllowSameSex", "False"));
                L2JMOD_WEDDING_FORMALWEAR               = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True"));
                L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20"));
-
+                ENABLE_MODIFY_SKILL_DURATION = Boolean.valueOf(L2JModSettings.getProperty("EnableModifySkillDuration", "false"));
+				
+                if (ENABLE_MODIFY_SKILL_DURATION)
+				{
+					SKILL_DURATION_LIST = new FastMap<Integer, Integer>();
+					String[] propertySplit;
+					propertySplit = L2JModSettings.getProperty("SkillDurationList", "").split(";");
+					for (String skill : propertySplit)
+					{
+						String[] skillSplit = skill.split(",");
+						if (skillSplit.length != 2)
+						{
+							System.out.println("[skillDurationList]: invalid config property -> SkillDurationList \"" + skill + "\"");
+						}
+						else
+						{
+							try
+							{
+								SKILL_DURATION_LIST.put(Integer.valueOf(skillSplit[0]), Integer.valueOf(skillSplit[1]));
+							}
+							catch (NumberFormatException nfe)
+							{
+								if (!skill.equals(""))
+								{
+									System.out.println("[skillDurationList]: invalid config property -> SkillList \"" + skillSplit[0] + "\"" + skillSplit[1]);
+								}
+							}
+						}
+					}
+				}
+				
                if (TVT_EVENT_PARTICIPATION_NPC_ID == 0)
                {
                    TVT_EVENT_ENABLED = false;
Index: java/net/sf/l2j/gameserver/skills/DocumentBase.java
===================================================================
--- java/net/sf/l2j/gameserver/skills/DocumentBase.java	(revision 4430)
+++ java/net/sf/l2j/gameserver/skills/DocumentBase.java	(working copy)
@@ -30,6 +30,7 @@
import javolution.text.TextBuilder;
import javolution.util.FastList;
import javolution.util.FastMap;
+import net.sf.l2j.Config;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.L2Skill;
@@ -206,6 +207,29 @@
        if (attrs.getNamedItem("time") != null)
        {
        	time = Integer.decode(getValue(attrs.getNamedItem("time").getNodeValue(),template));
+        	if (Config.ENABLE_MODIFY_SKILL_DURATION)
+			{
+				if (Config.SKILL_DURATION_LIST.containsKey(((L2Skill) template).getId()))
+				{
+					if (((L2Skill) template).getLevel() < 100)
+					{
+						time = Config.SKILL_DURATION_LIST.get(((L2Skill) template).getId());
+					}
+					else if ((((L2Skill) template).getLevel() >= 100) && (((L2Skill) template).getLevel() < 140))
+					{
+						time += Config.SKILL_DURATION_LIST.get(((L2Skill) template).getId());
+					}
+					else if (((L2Skill) template).getLevel() > 140)
+					{
+						time = Config.SKILL_DURATION_LIST.get(((L2Skill) template).getId());
+					}
+					if (Config.DEBUG)
+					{
+						_log.info("*** Skill " + ((L2Skill) template).getName() + " (" + ((L2Skill) template).getLevel() + ") changed duration to " + time + " seconds.");
+					}
+					Config.MODIFIED_SKILL_COUNT += 1;
+				}
+			}
        }
        else time = ((L2Skill) template).getBuffDuration() / 1000 / count;
        boolean self = false;

 

Credits: L2JOneo and Me (DarknightMarE) for stolen or borrow and test the code  8)

 

Is working 100% I tested myself.

 

MERRY CHRISTMAS and HAPPY NEW YEAR

 

Posted

So your Christmas gift to the community is a leeched code that exists in every L2JPack?

sorry coyote, I only want help the new interlude developers with that share.

maybe to other clean l2joff interlude pack need it ;)

 

merry christmas brother!

Posted

Credits: L2JOneo and Me (DarknightMarE) for stolen or borrow and test the code  8)

Lol, credits for you  ? :D Are you kidding me ? :D You can't steal java code, because of GNU license :D
Posted

Lol, credits for you  ? :D Are you kidding me ? :D You can't steal java code, because of GNU license :D

sorry I mean leech that java code ;) I know is GNU lol!

 

merry christmas :)

Posted

stop saying merry xmas, we've read it. ok.

 

man, this is not a gift, made by you. you just c/p a java code from 1 project to 1 other. if you want to make a real christmas gift, it's gotta be something yours, not leaching from projects. or just create sth, like cobra did, make a patch with lot of shares or fixes in it... i hope you get me ;)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock