Jump to content

Recommended Posts

Posted

first i would like to say this is not my work,Credits go to OURO for working this out for me.

 

this is for a custom transformation every time you pic up "Dragon Slayer Evil Spirit-Health"

you will "transform into the Demonic Prince" just like when you pick up Zarich and Akmhana.

 

i could not work it out untill i asked then OURO posted it.

so i want to share it with you guys also.

 

 

this is for L2J...might work on other's im not sure.

 

This is the core patch(use eclipse):

 

Index: C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/CursedWeapon.java
===================================================================
--- C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/CursedWeapon.java (revision 3222)
+++ C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/CursedWeapon.java (working copy)
@@ -341,6 +341,10 @@
        {
            transformationId = 301;
        }
+        else if(_itemId == 11097)
+        {
+           transformationId = 311;
+        }
        
        if (_player.isTransformed())
        {
Index: C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java  (revision 3222)
+++ C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java  (working copy)
@@ -4672,7 +4672,8 @@
       _transformationId = getTransformationId();
       
       if (_transformationId == L2Transformation.TRANSFORM_AKAMANAH
-               || _transformationId == L2Transformation.TRANSFORM_ZARICHE)
+               || _transformationId == L2Transformation.TRANSFORM_ZARICHE
+               || _transformationId == L2Transformation.TRANSFORM_CUSTOM)
           return;
       
       Connection con = null;
Index: C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/L2Transformation.java
===================================================================
--- C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/L2Transformation.java (revision 3222)
+++ C:/Documents and Settings/Ouro/Mis documentos/workspace/L2_GameServerPruebas/java/net/sf/l2j/gameserver/model/L2Transformation.java (working copy)
@@ -33,6 +33,7 @@
    
    public static final int TRANSFORM_ZARICHE = 301;
    public static final int TRANSFORM_AKAMANAH = 302;
+    public static final int TRANSFORM_CUSTOM = 311;
    
    private L2PcInstance _player;
    private long _startTime;

 

 

and the next 3 files are for datapack:

 

add to gameserver\data\cursedWeapons.xml , remenber change dropRate for test it easy.

   <item id="11097" skillId="24000" name="Dragon Slayer Evil Spirit-Heatlh">
       <dropRate val="1" /> <!-- 100000 for 100% -->
       <duration val="300" /> <!-- in minutes -->
       <durationLost val="3" /> <!-- in minutes -->
       <disapearChance val="50" /> <!-- in % -->
       <stageKills val="10" /> <!-- Integer -->
   </item>

 

change all on gameserver\data\scripts\transformations\DemonPrince.java for:

 

package transformations;

import net.sf.l2j.gameserver.model.L2Transformation;
import net.sf.l2j.gameserver.instancemanager.TransformationManager;

/**
* This is currently only a test of the java script engine
*
* @author durgus
*
*/
public class DemonPrince extends L2Transformation
{
   public DemonPrince()
   {
       // id, duration (secs), colRadius, colHeight
       super(311, 1800, 33.0, 49.0);
  
   }
  
   public void onTransform()
   {
       // Set charachter name to transformed name
       getPlayer().getAppearance().setVisibleName("Demon Prince");
       getPlayer().getAppearance().setVisibleTitle("");
   }
  
   public void onUntransform()
   {
       // set character back to true name.
       getPlayer().getAppearance().setVisibleName(null);
       getPlayer().getAppearance().setVisibleTitle(null); 
   }
  
   public static void main(String[] args)
   {
       TransformationManager.getInstance().registerTransformation(new DemonPrince());
   }
}

 

 

and add new xml on gameserver\data\stats\skills, called 24000.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<list>
<skill id="24000" levels="10" name="Dragon Slayer Evil Spirit-Health">
 <!-- Below is a copy of 3603 Demon Sword Zariche -->
 <table name="#maxCp"> 12 13 14 15 17 19 21 23 25 27 </table>
 <table name="#pAtk"> 3 4.5 6 7.5 9 10.5 11 11.5 12 12.5 </table>
 <table name="#mAtk"> 3 3.25 3.5 3.75 4 4.25 4.5 5 5.5 5.75 </table>
 <table name="#pDef"> 2.5 2.6 2.7 2.8 2.9 3 3.25 3.5 3.75 4 </table>
 <table name="#mDef"> 3 3.1 3.2 3.3 3.4 3.5 3.75 4 4.25 4.5 </table>
 <table name="#runSpd"> 4 6 8 10 12 14 16 18 19 20 </table>
 <table name="#accCombat"> 15 20 25 30 35 40 45 50 55 60 </table>
 <set name="target" val="TARGET_SELF"/>
 <set name="skillType" val="BUFF"/>
 <set name="operateType" val="OP_PASSIVE"/>
 <set name="isMagic" val="true"/>
 <set name="minPledgeClass" val="2"/>
 <for>
   <mul order="0x30" stat="maxCp" val="#maxCp"/>
   <mul order="0x30" stat="pAtk" val="#pAtk"/>
   <mul order="0x30" stat="mAtk" val="#mAtk"/>
   <mul order="0x30" stat="pDef" val="#pDef"/>
   <mul order="0x30" stat="mDef" val="#mDef"/>
   <add order="0x40" stat="accCombat" val="#accCombat"/>
   <add order="0x40" stat="runSpd" val="#runSpd"/>
   <add order="0x40" stat="absorbDam" val="100"/> <!-- absorb 100% HP from damage inflicted on enemies -->
   <mul order="0x30" stat="regCp" val="20"/>
 </for>
</skill>
</list>

 

i would add some pics but i still have to patch my core(im learning how to patch it.lol).

 

 

hope this works for all who want it.

enjoy and give credits to OURO.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • 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..

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