Jump to content

Recommended Posts

Posted

I dont know if this mod is shared,i think is NOT :D

This was implement by me and mvaios since 3580 Revision.

With a a few changes is ready for the last revisions:)

 

How it works. It checks if an armor set has a spesific enchant value. If so the an abnormal effect take place . In this case Vitality Effect. The armors set are included to this mod are Dynasty Sets only.If you need other sets feel free to add them . Good mod for High rate servers. You can change the enchant level at your needs. :D

 

 

 

### Eclipse Workspace Patch 1.0
#P Gameserver
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(revision 4519)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -59,6 +64,7 @@
import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager;
import com.l2jserver.gameserver.datatables.AccessLevels;
import com.l2jserver.gameserver.datatables.AdminCommandAccessRights;
+import com.l2jserver.gameserver.datatables.ArmorSetsTable; //added Armor effect by Annu and mvaios
import com.l2jserver.gameserver.datatables.CharNameTable;
import com.l2jserver.gameserver.datatables.CharTemplateTable;
import com.l2jserver.gameserver.datatables.ClanTable;
@@ -379,6 +393,7 @@
		}
	}

+	private int abnormal = AbnormalEffect.VITALITY.getMask(); //added Armor effect by Annu and mvaios
	private L2GameClient _client;

	private String _accountName;
@@ -7458,7 +7482,169 @@
		checkPetInvItems();
	}
+	
+	// //added Armor effect by Annu and mvaios
+	public void checkForVitalityEffect()
+	{
+		
+		boolean getVitalityEffect = false;
+		try
+		{
+			if (
+					ArmorSetsTable.getInstance().getSet(9417).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9418).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9419).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9420).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9426).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9427).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(10126).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(10127).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9433).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9434).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9435).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9436).isEnchanted(6, this)
+				)
+			{
+				getVitalityEffect = true;
+			}
+		}
+		catch (Exception e)
+		{
+			_log.log(Level.WARNING,"Armor exception message: " + e.getMessage(),e);
+		
+		}
+		
+		if (getVitalityEffect)
+		{
+			startAbnormalEffect(abnormal);
+		}
+		else
+		{
+			stopAbnormalEffect(abnormal);
+		}
+	}
+		
+		// end added
+		
+	
+	/**
	 * Restore recipe book data for this L2PcInstance.
	 */
	private void restoreRecipeBook(boolean loadCommon)
Index: java/com/l2jserver/gameserver/model/L2ArmorSet.java
===================================================================
--- java/com/l2jserver/gameserver/model/L2ArmorSet.java	(revision 4519)
+++ java/com/l2jserver/gameserver/model/L2ArmorSet.java	(working copy)
@@ -195,4 +195,35 @@

		return true;
	}
+	
+		
+	//added Armor effect by Annu and mvaios
+	public boolean isEnchanted(int enchantLevel, L2PcInstance player)
+	{
+		// Player don't have full set
+		if (!containAll(player))
+			return false;
+		
+		Inventory inv = player.getInventory();
+		
+		L2ItemInstance chestItem = inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST);
+		L2ItemInstance legsItem = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
+		L2ItemInstance headItem = inv.getPaperdollItem(Inventory.PAPERDOLL_HEAD);
+		L2ItemInstance glovesItem = inv.getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
+		L2ItemInstance feetItem = inv.getPaperdollItem(Inventory.PAPERDOLL_FEET);
+	
+		if (chestItem == null || chestItem.getEnchantLevel() < enchantLevel)
+			return false;
+				if (_legs != 0 && (legsItem == null || legsItem.getEnchantLevel() < enchantLevel))
+					return false;
+				if (_gloves != 0 && (glovesItem == null || glovesItem.getEnchantLevel() < enchantLevel))
+					return false;
+				if (_head != 0 && (headItem == null || headItem.getEnchantLevel() < enchantLevel))
+					return false;
+				if (_feet != 0 && (feetItem == null || feetItem.getEnchantLevel() < enchantLevel))
+					return false;
+	
+			return true;
+		}
+		//end added
}
Index: java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java
===================================================================
--- java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java	(revision 4519)
+++ java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java	(working copy)
@@ -537,6 +538,7 @@
								_log.warning("Inventory.ArmorSetListener: Incorrect skill: "+armorSet.getEnchant6skillId()+".");
						}
					}
+					player.checkForVitalityEffect();//added Armor effect by Annu and mvaios
				}
			}
			else if (armorSet.containShield(item.getItemId()))
@@ -615,6 +617,9 @@

			if (remove)
			{
+				////added Armor effect by Annu and mvaios
+				player.checkForVitalityEffect();
+				//added
				if (skills != null)
				{
					for (String skillInfo : skills)

 

 

Credits to me and mvaios.

Posted

Really Good Share but need to be tested...!

 

Very smart from u...! Thank you...! seems like Metin ^^

 

 

anyway Thanks again and keep sharing shares like this ^^

 

 

Also edit where u had test thit and it works(l2j =? chronicle =? ) + gredits ^^

Posted

Really Good Share but need to be tested...!

 

Very smart from u...! Thank you...! seems like Metin ^^

 

 

anyway Thanks again and keep sharing shares like this ^^

 

ps: 1 question : it will need al parts to be on a exact value enhance or it will work and with 1 parts of armor?

 

Also edit where u had test thit and it works(l2j =? chronicle =? ) + gredits ^^

 

No you do not need to add all parts. Only the chest id which can be found in database table armorsets.!!

This mod works in Freya Chronicle for l2j .It was added since we where using Final Gracia Chronicle. I just changed it to Freya.

Many of you seen thsi mod in some private server. The only problem is that those servers do not share. They only take things.SO do not try to post here anything that has to do with those servers.

 

 

 

It works 100%

Posted

No you do not need to add all parts. Only the chest id which can be found in database table armorsets.!!

This mod works in Freya Chronicle for l2j .

Many of you seen thsi mod in some private server. The only problem is that those servers do not share. They only take things.SO do not try to post here anything that has to do with those servers.

 

Credits to me and mvaios.

 

 

 

It works 100%

 

 

Ok thank you so much i will give it a try ...!

 

""Better Edit credits on main Topic ^^ ""

 

Keep Sharing....

  • 3 weeks later...
Posted

I changed the id's of items to Elegia did not work.

How to work in Set Elegia and not set Dynasty?????

 

Thanks!

change those:

+					ArmorSetsTable.getInstance().getSet(9417).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9418).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9419).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9420).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9426).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9427).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(10126).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(10127).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9433).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9434).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9435).isEnchanted(6, this)
+					|| ArmorSetsTable.getInstance().getSet(9436).isEnchanted(6, this)

Posted

There should be a small config for this, for changing the enchant value easily. Its great but need some work to make it 100% usable...

  • 2 months later...
  • 1 month later...
Guest
This topic is now closed to further replies.


  • Posts

    • Lineage 2 Interlude Developer – Cliente + Datapack Hola, soy developer especializado en Lineage 2 Interlude con experiencia tanto en cliente como datapack/core. ✔ Desarrollo datapack (Java, scripts, quests, balance PvP/PvE) ✔ Fixes core / geodata / exploits ✔ Sistemas custom (events, Olympiad, instancias, mods PvP) ✔ Cliente: interface mods, system patches, .dat edits, UI personalizada ✔ Optimización y estabilidad de servidor ✔ Trabajo freelance o colaboración fija Si necesitáis soporte dev o mejoras para vuestro servidor Interlude, podéis contactarme por DM. Portfolio y ejemplos disponibles bajo petición.
    • THEY DON’T COME BACK FOR NO REASON. HERE’S WHY Our clients come from different countries and with very different tasks. But the strongest indicator of quality is simple — when a client comes back **for a second time**. This case is exactly that. The client returned with a request for a **German ID**. The requirement was clear: a document **in a male hand**, with a natural live scene and correct geographic context. What we did: ▪ accepted source files and data without unnecessary bureaucracy ▪ selected a **real street**, not a generic background ▪ built a print-ready mockup with correct scene logic ▪ sent it for approval ▪ after confirmation, delivered the **final file for printing** No templates. No “good enough”. Only solutions tailored to a specific task. Result: ▪ mockup approved on the first try ▪ client fully satisfied ▪ stays in touch We work **worldwide** — and that’s exactly why clients return. Contact us › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +6RAKokIn5ItmYjEx ) *All data is published with the client’s consent.* #redraw #verification #documents #case #ID
    • Lineage 2 Interlude Developer – Cliente + Datapack Hola, soy developer especializado en Lineage 2 Interlude con experiencia tanto en cliente como datapack/core. ✔ Desarrollo datapack (Java, scripts, quests, balance PvP/PvE) ✔ Fixes core / geodata / exploits ✔ Sistemas custom (events, Olympiad, instancias, mods PvP) ✔ Cliente: interface mods, system patches, .dat edits, UI personalizada ✔ Optimización y estabilidad de servidor ✔ Trabajo freelance o colaboración fija Si necesitáis soporte dev o mejoras para vuestro servidor Interlude, podéis contactarme por DM. Portfolio y ejemplos disponibles bajo petición.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..