顯示具有 血魔 標籤的文章。 顯示所有文章
顯示具有 血魔 標籤的文章。 顯示所有文章

2014年7月28日 星期一

【Java教學】更改升級時的血量

首先先從核心路徑到

 l1j.server.server.utils 


CalcStat.java

搜尋到以下段落
粗體數字請對應到最下面的解釋

public static short calcStatHp(int charType, int baseMaxHp, byte baseCon, int originalHpup) {
        short randomhp = 0;
    1    if (baseCon > 15) {
            randomhp = (short) (baseCon - 15);
        }
    2    if (charType == 0) { // プリンス
            randomhp += (short) (11 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.PRINCE_MAX_HP) {
               randomhp = (short) (Config.PRINCE_MAX_HP - baseMaxHp);
            }
        } else if (charType == 1) { // ナイト
            randomhp += (short) (17 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.KNIGHT_MAX_HP) {
            randomhp = (short) (Config.KNIGHT_MAX_HP - baseMaxHp);
            }
        } else if (charType == 2) { // エルフ
            randomhp += (short) (10 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.ELF_MAX_HP) {
            randomhp = (short) (Config.ELF_MAX_HP - baseMaxHp);
            }
        } else if (charType == 3) { // ウィザード
            randomhp += (short) (7 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.WIZARD_MAX_HP) {
            randomhp = (short) (Config.WIZARD_MAX_HP - baseMaxHp);
            }
        } else if (charType == 4) { // ダークエルフ
            randomhp += (short) (10 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.DARKELF_MAX_HP) {
              randomhp = (short) (Config.DARKELF_MAX_HP - baseMaxHp);
            }
        } else if (charType == 5) { // ドラゴンナイト
            randomhp += (short) (13 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.DRAGONKNIGHT_MAX_HP) {
                randomhp = (short) (Config.DRAGONKNIGHT_MAX_HP - baseMaxHp);
            }
        } else if (charType == 6) { // イリュージョニスト
            randomhp += (short) (9 + rnd.nextInt(2)); // 初期値分追加

            if (baseMaxHp + randomhp > Config.ILLUSIONIST_MAX_HP) {
                randomhp = (short) (Config.ILLUSIONIST_MAX_HP - baseMaxHp);
            }
        }

    3    randomhp += originalHpup;

        if (randomhp < 0) {
            randomhp = 0;
        }
        return randomhp;
    }





升級血量主要是1+2+3

1 是指基本體力(baseCon)大於15時..會等於baseCon-15
  小於的話就直接是0

2 是指各職業的加成方面...0~6分別是.王.騎.妖.法.黑.龍.幻
  以王為例..第一段 randomhp += (short) (11 + rnd.nextInt(2)); 
    就是指11+體力影響的隨機機率加到1的部份(所以到這裡是1+2)
    再下面那段..就只是判定有沒有到達伺服器最大血量而已

3 randomhp += originalHpup...
    所謂的 originalHpup 就是指創人物時點的素質影響...創人物時看左邊那表格有寫
  所以到這邊就是1+2+3

要更改時方法很多...
更改1...就是以點體量影響為主
更改2...就是以各職業影響為主
更改3...就是以剛開始點的素質為主..還有無影響的直接加成....這邊也可以全部刪除


如果是要更改...我是建議更改1跟2..


更改1....就用else if去寫..隨便舉例...
            if (baseCon > 15 && baseCon <= 24) {
            randomhp = (short) (baseCon - 15);
        } else if(baseCon>=25) {
            randomhp = (short) (10);
}


這樣就是指基本體質大於15並在24以下的話...就是基本體質-15

如果基本體質在25以上的話...就是以10做計算(點超過25也不影響升級的血量)

更改2....在randomhp += (short) (11 + rnd.nextInt(2)); 
              中間的11可以作為職業的血量的差異
      如果是想跳固定值的話...後面就改成 (short) (11);  中間11可以自己隨便填數字 


以此邏輯魔量也相同作法


2014年6月12日 星期四

【Java教學】增加治癒結界寫法

增加治癒結界寫法

首先開啟

 Gameserver

找不到 你可以按  


<SPAN
style="BACKGROUND-COLOR: #ffcc66">ctrl+f 收尋功能
<SPAN
style="BACKGROUND-COLOR: #ffcc66">


打開來了之後  //  那檔案不大 可以直接往下拉!!


你會看到


(new
l1j.william.CureArea(32629,32772,32607,32794,4,3,3,10,0,2231)).start(); 
              (new
l1j.william.CureArea(32610,32776,32625,32792,4,3,3,10,0,2231)).start();

                (new
l1j.william.CureArea(32747,32787,32711,32828,52,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(32711,32787,32748,32828,52,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(32779,32825,32753,32851,5115,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(32753,32825,32779,32851,5115,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(32782,32759,32754,32787,5001,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(32754,32759,32782,32787,5001,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(33404,32650,33392,32657,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(33392,32650,33404,32656,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(33384,32692,33372,32699,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(33372,32692,33384,32698,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(33486,32788,33479,32791,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(33479,32788,33486,32791,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(32785,32829,32746,32848,5100,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(32746,32829,32785,32847,5100,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(33610,33213,33602,33218,4,6,6,10,0,2231)).start();

                (new
l1j.william.CureArea(33602,33213,33610,33217,4,6,6,10,0,2231)).start();

           
    (new
l1j.william.CureArea(32715,32880,32684,32911,98,10,10,10,0,2231)).start();

                (new
l1j.william.CureArea(32684,32879,32716,32911,98,10,10,10,0,2231)).start();



這些東西  這些就是  治癒結界的位置

我先取一段下來 說明一下  !!
  ( 取後面紅色部分的 )

(new
l1j.william.CureArea(132715,32880,<SPAN
style="COLOR: #ff0000">232684,32911,98,10,10,10,0,2231)).start();

             
(new
l1j.william.CureArea(332684,32879,<SPAN
style="COLOR: #ff0000">432716,32911,98,10,10,10,0,2231)).start();



<SPAN
style="COLOR: #ff0000">在這段中,其實這是4個點  的位置  (1個範圍)

<SPAN
style="COLOR: #ff0000">

要如何取這範圍呢?
  教學如下!!


<SPAN
style="COLOR: #ff0000">             1 = 32715,32880

       
  3 = <SPAN
style="COLOR: #ff00cc">32684,32879       
                   
          4 = <SPAN
style="COLOR: #66cc00">32716,32911

<SPAN
style="COLOR: #ff0000">             
                   
  2 =32684,32879
<SPAN
style="COLOR: #00ffff">
對照 號碼
//  座標的順序可別打錯        簡單來說 範圍的設定 =   <SPAN
style="COLOR: #ff0000">+
<SPAN
style="COLOR: #00ffff">
<SPAN
style="COLOR: #00ffff">


接著  座標後面那是什麼意思呢 ??

第1個

  98= 地圖編號

第2 3 個 

10,10 =  hp/mp的回覆量

第4個

10  =  10秒回1次

第5個      

0  = 回覆無線次

如果你設  1  代表 隻回1次 就不回了  此部分 大部分都設0的 = ="

最後1個  2231的部分  ))  =  技能的 治癒結界  !!


另外 
要學寫  治癒結界這部分 !!

一定要會


java轉 class      //

2014年6月11日 星期三

【Java教學】轉生次數增加血魔設定

Config.java裡面找到

public static int ILLUSIONIST_MAX_MP;

在底下加入

public static boolean METEMPSYCHOSIS_SWITCH;//轉生增加血量開關

public static short METEMPSYCHOSIS_1_ADD_HP;//1轉生增加血量

public static short METEMPSYCHOSIS_1_ADD_MP;//1轉生增加魔力

public static short METEMPSYCHOSIS_2_ADD_HP;//2轉生增加血量

public static short METEMPSYCHOSIS_2_ADD_MP;//2轉生增加魔力

public static short METEMPSYCHOSIS_3_ADD_HP;//3轉生增加血量

public static short METEMPSYCHOSIS_3_ADD_MP;//3轉生增加魔力

public static short METEMPSYCHOSIS_4_ADD_HP;//4轉生增加血量

public static short METEMPSYCHOSIS_4_ADD_MP;//4轉生增加魔力

public static short METEMPSYCHOSIS_5_ADD_HP;//5轉生增加血量

public static short METEMPSYCHOSIS_5_ADD_MP;//5轉生增加魔力

public static short METEMPSYCHOSIS_6_ADD_HP;//6轉生增加血量

public static short METEMPSYCHOSIS_6_ADD_MP;//6轉生增加魔力

public static short METEMPSYCHOSIS_7_ADD_HP;//7轉生增加血量

public static short METEMPSYCHOSIS_7_ADD_MP;//7轉生增加魔力

public static short METEMPSYCHOSIS_8_ADD_HP;//8轉生增加血量

public static short METEMPSYCHOSIS_8_ADD_MP;//8轉生增加魔力

public static short METEMPSYCHOSIS_9_ADD_HP;//9轉生增加血量

public static short METEMPSYCHOSIS_9_ADD_MP;//9轉生增加魔力

public static short METEMPSYCHOSIS_10_ADD_HP;//10轉生增加血量

public static short METEMPSYCHOSIS_10_ADD_MP;//10轉生增加魔力

找到

   ILLUSIONIST_MAX_MP = Integer.parseInt(charSettings.getProperty(
     "IllusionistMaxMP", "1100"));

在底下加入

   //轉生次數增加血魔開關
   METEMPSYCHOSIS_SWITCH = Boolean.parseBoolean(charSettings.getProperty(
     "METEMPSYCHOSIS_SWITCH", "false"));
   //轉生次數增加血魔
   METEMPSYCHOSIS_1_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_1_ADD_HP", "500"));
   METEMPSYCHOSIS_1_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_1_ADD_MP", "500"));
   METEMPSYCHOSIS_2_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_2_ADD_HP", "500"));
   METEMPSYCHOSIS_2_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_2_ADD_MP", "500"));
   METEMPSYCHOSIS_3_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_3_ADD_HP", "500"));
   METEMPSYCHOSIS_3_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_3_ADD_MP", "500"));
   METEMPSYCHOSIS_4_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_4_ADD_HP", "500"));
   METEMPSYCHOSIS_4_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_4_ADD_MP", "500"));
   METEMPSYCHOSIS_5_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_5_ADD_HP", "500"));
   METEMPSYCHOSIS_5_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_5_ADD_MP", "500"));
   METEMPSYCHOSIS_6_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_6_ADD_HP", "500"));
   METEMPSYCHOSIS_6_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_6_ADD_MP", "500"));
   METEMPSYCHOSIS_7_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_7_ADD_HP", "500"));
   METEMPSYCHOSIS_7_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_7_ADD_MP", "500"));
   METEMPSYCHOSIS_8_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_8_ADD_HP", "500"));
   METEMPSYCHOSIS_8_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_8_ADD_MP", "500"));
   METEMPSYCHOSIS_9_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_9_ADD_HP", "500"));
   METEMPSYCHOSIS_9_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_9_ADD_MP", "500"));
   METEMPSYCHOSIS_10_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_10_ADD_HP", "500"));
   METEMPSYCHOSIS_10_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_10_ADD_MP", "500"));
   //轉生次數增加血魔


找到

  } else if (pName.equalsIgnoreCase("IllusionistMaxMP")) {
   ILLUSIONIST_MAX_MP = Integer.parseInt(pValue);


在底下加入

  //轉生次數增加血魔開關
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_SWITCH")) {
   METEMPSYCHOSIS_SWITCH = Boolean.valueOf(pValue);
  //轉生次數增加血魔
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_1_ADD_HP")) {
   METEMPSYCHOSIS_1_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_1_ADD_MP")) {
   METEMPSYCHOSIS_1_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_2_ADD_HP")) {
   METEMPSYCHOSIS_2_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_2_ADD_MP")) {
   METEMPSYCHOSIS_2_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_3_ADD_HP")) {
   METEMPSYCHOSIS_3_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_3_ADD_MP")) {
   METEMPSYCHOSIS_3_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_4_ADD_HP")) {
   METEMPSYCHOSIS_4_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_4_ADD_MP")) {
   METEMPSYCHOSIS_4_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_5_ADD_HP")) {
   METEMPSYCHOSIS_5_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_5_ADD_MP")) {
   METEMPSYCHOSIS_5_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_6_ADD_HP")) {
   METEMPSYCHOSIS_6_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_6_ADD_MP")) {
   METEMPSYCHOSIS_6_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_7_ADD_HP")) {
   METEMPSYCHOSIS_7_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_7_ADD_MP")) {
   METEMPSYCHOSIS_7_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_8_ADD_HP")) {
   METEMPSYCHOSIS_8_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_8_ADD_MP")) {
   METEMPSYCHOSIS_8_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_9_ADD_HP")) {
   METEMPSYCHOSIS_9_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_9_ADD_MP")) {
   METEMPSYCHOSIS_9_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_10_ADD_HP")) {
   METEMPSYCHOSIS_10_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_10_ADD_MP")) {
   METEMPSYCHOSIS_10_ADD_MP = Short.parseShort(pValue); 
   //轉生次數增加血魔


C_ItemUSE.java 裡面找到

      pc.getInventory().removeItem(l1iteminstance, 1);
      pc.set_metempsychosis(pc.get_metempsychosis() + 1);//TODO 轉生次數+1


在底下加入

      if(Config.METEMPSYCHOSIS_SWITCH){
       switch (pc.get_metempsychosis()) {
       case 1:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_1_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_1_ADD_MP);
        break;
       case 2:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_2_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_2_ADD_MP);
        break;
       case 3:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_3_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_3_ADD_MP);
        break;
       case 4:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_4_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_4_ADD_MP);
        break;
       case 5:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_5_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_5_ADD_MP);
        break;
       case 6:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_6_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_6_ADD_MP);
        break;
       case 7:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_7_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_7_ADD_MP);
        break;
       case 8:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_8_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_8_ADD_MP);
        break;
       case 9:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_9_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_9_ADD_MP);
        break;
       case 10:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_10_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_10_ADD_MP);
        break;
       }
      }


找到

      BroadCastToAll("[url=file://\\fV]\\fV[/url]" + "恭喜玩家【" + pc.getName()+ "】被打入輪迴獲得新生!");
      pc.save(); // DBにキャラクター情報を書き迂む


在底下加入

      pc.sendPackets(new S_OwnCharStatus(pc)); 

java部份大功告成

接著在config裡面的charsettings.properties

找個位置加入

轉生次數增加的血魔設定,必需轉生完整保留血魔設定
METEMPSYCHOSIS_SWITCH = True
METEMPSYCHOSIS_1_ADD_HP = 500
METEMPSYCHOSIS_1_ADD_MP = 500
METEMPSYCHOSIS_2_ADD_HP = 700
METEMPSYCHOSIS_2_ADD_MP = 700
METEMPSYCHOSIS_3_ADD_HP = 900
METEMPSYCHOSIS_3_ADD_MP = 900
METEMPSYCHOSIS_4_ADD_HP = 1000
METEMPSYCHOSIS_4_ADD_MP = 1000
METEMPSYCHOSIS_5_ADD_HP = 1100
METEMPSYCHOSIS_5_ADD_MP = 1100
METEMPSYCHOSIS_6_ADD_HP = 1200
METEMPSYCHOSIS_6_ADD_MP = 1200
METEMPSYCHOSIS_7_ADD_HP = 1300
METEMPSYCHOSIS_7_ADD_MP = 1300
METEMPSYCHOSIS_8_ADD_HP = 1400
METEMPSYCHOSIS_8_ADD_MP = 1400
METEMPSYCHOSIS_9_ADD_HP = 1500
METEMPSYCHOSIS_9_ADD_MP = 1500
METEMPSYCHOSIS_10_ADD_HP = 1600
METEMPSYCHOSIS_10_ADD_mP = 1600


原文:浪漫物語網路社區               作者:jason017050   










2013年6月6日 星期四

【Java教學】轉生次數增加血魔設定


Config.java裡面找到


public static int ILLUSIONIST_MAX_MP;


在底下加入

public static boolean METEMPSYCHOSIS_SWITCH;//轉生增加血量開關

public static short METEMPSYCHOSIS_1_ADD_HP;//1轉生增加血量

public static short METEMPSYCHOSIS_1_ADD_MP;//1轉生增加魔力

public static short METEMPSYCHOSIS_2_ADD_HP;//2轉生增加血量

public static short METEMPSYCHOSIS_2_ADD_MP;//2轉生增加魔力

public static short METEMPSYCHOSIS_3_ADD_HP;//3轉生增加血量

public static short METEMPSYCHOSIS_3_ADD_MP;//3轉生增加魔力

public static short METEMPSYCHOSIS_4_ADD_HP;//4轉生增加血量

public static short METEMPSYCHOSIS_4_ADD_MP;//4轉生增加魔力

public static short METEMPSYCHOSIS_5_ADD_HP;//5轉生增加血量

public static short METEMPSYCHOSIS_5_ADD_MP;//5轉生增加魔力

public static short METEMPSYCHOSIS_6_ADD_HP;//6轉生增加血量

public static short METEMPSYCHOSIS_6_ADD_MP;//6轉生增加魔力

public static short METEMPSYCHOSIS_7_ADD_HP;//7轉生增加血量

public static short METEMPSYCHOSIS_7_ADD_MP;//7轉生增加魔力

public static short METEMPSYCHOSIS_8_ADD_HP;//8轉生增加血量

public static short METEMPSYCHOSIS_8_ADD_MP;//8轉生增加魔力

public static short METEMPSYCHOSIS_9_ADD_HP;//9轉生增加血量

public static short METEMPSYCHOSIS_9_ADD_MP;//9轉生增加魔力

public static short METEMPSYCHOSIS_10_ADD_HP;//10轉生增加血量

public static short METEMPSYCHOSIS_10_ADD_MP;//10轉生增加魔力


找到


   ILLUSIONIST_MAX_MP = Integer.parseInt(charSettings.getProperty(
     "IllusionistMaxMP", "1100"));

在底下加入


   //轉生次數增加血魔開關
   METEMPSYCHOSIS_SWITCH = Boolean.parseBoolean(charSettings.getProperty(
     "METEMPSYCHOSIS_SWITCH", "false"));
   //轉生次數增加血魔
   METEMPSYCHOSIS_1_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_1_ADD_HP", "500"));
   METEMPSYCHOSIS_1_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_1_ADD_MP", "500"));
   METEMPSYCHOSIS_2_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_2_ADD_HP", "500"));
   METEMPSYCHOSIS_2_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_2_ADD_MP", "500"));
   METEMPSYCHOSIS_3_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_3_ADD_HP", "500"));
   METEMPSYCHOSIS_3_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_3_ADD_MP", "500"));
   METEMPSYCHOSIS_4_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_4_ADD_HP", "500"));
   METEMPSYCHOSIS_4_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_4_ADD_MP", "500"));
   METEMPSYCHOSIS_5_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_5_ADD_HP", "500"));
   METEMPSYCHOSIS_5_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_5_ADD_MP", "500"));
   METEMPSYCHOSIS_6_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_6_ADD_HP", "500"));
   METEMPSYCHOSIS_6_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_6_ADD_MP", "500"));
   METEMPSYCHOSIS_7_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_7_ADD_HP", "500"));
   METEMPSYCHOSIS_7_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_7_ADD_MP", "500"));
   METEMPSYCHOSIS_8_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_8_ADD_HP", "500"));
   METEMPSYCHOSIS_8_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_8_ADD_MP", "500"));
   METEMPSYCHOSIS_9_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_9_ADD_HP", "500"));
   METEMPSYCHOSIS_9_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_9_ADD_MP", "500"));
   METEMPSYCHOSIS_10_ADD_HP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_10_ADD_HP", "500"));
   METEMPSYCHOSIS_10_ADD_MP =Short.parseShort(charSettings.getProperty(
     "METEMPSYCHOSIS_10_ADD_MP", "500"));
   //轉生次數增加血魔


找到


  } else if (pName.equalsIgnoreCase("IllusionistMaxMP")) {
   ILLUSIONIST_MAX_MP = Integer.parseInt(pValue);


在底下加入


  //轉生次數增加血魔開關
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_SWITCH")) {
   METEMPSYCHOSIS_SWITCH = Boolean.valueOf(pValue);
  //轉生次數增加血魔
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_1_ADD_HP")) {
   METEMPSYCHOSIS_1_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_1_ADD_MP")) {
   METEMPSYCHOSIS_1_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_2_ADD_HP")) {
   METEMPSYCHOSIS_2_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_2_ADD_MP")) {
   METEMPSYCHOSIS_2_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_3_ADD_HP")) {
   METEMPSYCHOSIS_3_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_3_ADD_MP")) {
   METEMPSYCHOSIS_3_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_4_ADD_HP")) {
   METEMPSYCHOSIS_4_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_4_ADD_MP")) {
   METEMPSYCHOSIS_4_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_5_ADD_HP")) {
   METEMPSYCHOSIS_5_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_5_ADD_MP")) {
   METEMPSYCHOSIS_5_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_6_ADD_HP")) {
   METEMPSYCHOSIS_6_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_6_ADD_MP")) {
   METEMPSYCHOSIS_6_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_7_ADD_HP")) {
   METEMPSYCHOSIS_7_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_7_ADD_MP")) {
   METEMPSYCHOSIS_7_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_8_ADD_HP")) {
   METEMPSYCHOSIS_8_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_8_ADD_MP")) {
   METEMPSYCHOSIS_8_ADD_MP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_9_ADD_HP")) {
   METEMPSYCHOSIS_9_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_9_ADD_MP")) {
   METEMPSYCHOSIS_9_ADD_MP = Short.parseShort(pValue); 
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_10_ADD_HP")) {
   METEMPSYCHOSIS_10_ADD_HP = Short.parseShort(pValue);
  } else if (pName.equalsIgnoreCase("METEMPSYCHOSIS_10_ADD_MP")) {
   METEMPSYCHOSIS_10_ADD_MP = Short.parseShort(pValue); 
   //轉生次數增加血魔


C_ItemUSE.java裡面找到


      pc.getInventory().removeItem(l1iteminstance, 1);
      pc.set_metempsychosis(pc.get_metempsychosis() + 1);//TODO 轉生次數+1

在底下加入

      if(Config.METEMPSYCHOSIS_SWITCH){
       switch (pc.get_metempsychosis()) {
       case 1:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_1_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_1_ADD_MP);
        break;
       case 2:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_2_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_2_ADD_MP);
        break;
       case 3:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_3_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_3_ADD_MP);
        break;
       case 4:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_4_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_4_ADD_MP);
        break;
       case 5:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_5_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_5_ADD_MP);
        break;
       case 6:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_6_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_6_ADD_MP);
        break;
       case 7:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_7_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_7_ADD_MP);
        break;
       case 8:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_8_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_8_ADD_MP);
        break;
       case 9:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_9_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_9_ADD_MP);
        break;
       case 10:
        pc.addBaseMaxHp(Config.METEMPSYCHOSIS_10_ADD_HP);
        pc.addBaseMaxMp(Config.METEMPSYCHOSIS_10_ADD_MP);
        break;
       }
      }


找到

      BroadCastToAll("\\fV" + "恭喜玩家【" + pc.getName()+ "】被打入輪迴獲得新生!");
      pc.save(); // DBにキャラクター情報を書き迂む


在底下加入

      pc.sendPackets(new S_OwnCharStatus(pc)); 


java部份大功告成


接著在config裡面的

charsettings.properties

找個位置加入

轉生次數增加的血魔設定,必需轉生完整保留血魔設定
METEMPSYCHOSIS_SWITCH = True
METEMPSYCHOSIS_1_ADD_HP = 500
METEMPSYCHOSIS_1_ADD_MP = 500
METEMPSYCHOSIS_2_ADD_HP = 700
METEMPSYCHOSIS_2_ADD_MP = 700
METEMPSYCHOSIS_3_ADD_HP = 900
METEMPSYCHOSIS_3_ADD_MP = 900
METEMPSYCHOSIS_4_ADD_HP = 1000
METEMPSYCHOSIS_4_ADD_MP = 1000
METEMPSYCHOSIS_5_ADD_HP = 1100
METEMPSYCHOSIS_5_ADD_MP = 1100
METEMPSYCHOSIS_6_ADD_HP = 1200
METEMPSYCHOSIS_6_ADD_MP = 1200
METEMPSYCHOSIS_7_ADD_HP = 1300
METEMPSYCHOSIS_7_ADD_MP = 1300
METEMPSYCHOSIS_8_ADD_HP = 1400
METEMPSYCHOSIS_8_ADD_MP = 1400
METEMPSYCHOSIS_9_ADD_HP = 1500
METEMPSYCHOSIS_9_ADD_MP = 1500
METEMPSYCHOSIS_10_ADD_HP = 1600
METEMPSYCHOSIS_10_ADD_mP = 1600
# ======================================================