修改步驟: 需要修改兩支程式
第一支: L1TownLocation.java
這是支程式負責劃分各城堡所屬區域, 各區域所屬的NPC商人
修改點:
public static int getTownIdByNpcid(int npcid) { // npcidからtown_idを返す
// アデン城:アデン王国全域
// ケント城:ケント、グルーディン
// ウィンダウッド城:ウッドベック、オアシス、シルバーナイトタウン
// ギラン城:ギラン、話せる島
// ハイネ城:ハイネ
// ドワーフ城:ウェルダン、象牙の塔、象牙の塔の村
// オーク砦:火田村
// ディアド要塞:戦争税の一部
// XXX:まだNPCはL1CastleLocationから持ってきたままの状態(未整理)
int town_id = 0;
switch (npcid) {
case 70528: // タウンマスター(TI)
case 50015: // ルーカス(テレポーター)
case 70010: // バルシム(犬小屋裏道具屋)
case 70011: // 船着場管理人
case 70012: // セレナ(宿屋)
case 70014: // パンドラ(港道具屋)
case 70532: // ジョンソン(ペット屋)
case 70536: // トーマ(鍛冶屋)
town_id = TOWNID_TALKING_ISLAND;
break;
以上是以話島為例
case 70528: // 70528 是 DB 的 NPC 資料表裡面的 npcid
想要把某個商人的稅收加到這個區域, 就加上一行
case NPCID:
再來, 話島的稅收要匯到哪個區域的設定就是這一行
town_id = TOWNID_TALKING_ISLAND;
打他改成
town_id = TOWNID_GIRAN; // GIRAN <<== 奇岩城
這樣, 這一區的稅收就會加到 奇岩城了
以下的各區域, 依此類推, 都改成奇岩城就好了
接下來還有一個總區域的稅收, 要加到哪個城堡的設定
第二支:
C_RequestResult.java
這支程式是負責稅收的計算, 計算完會加到所屬的該區域城堡稅收
而且還把一部份加到某一個城堡, 以 Rev非法網站67 版為例
是加到 狄亞得, 所以, 也把這個部份改成 奇岩城 就可以了
修改點:
L1Castle castle = CastleTable.getInstance().getCastleTable(L1CastleLocation.DIAD_CASTLE_ID);
把它改成
L1Castle castle = CastleTable.getInstance().getCastleTable(L1CastleLocation.GIRAN_CASTLE_ID);
就可以了, 注意看後面有不一樣, 改成奇岩城 GIRAN
還有一個附屬的設定, 在模擬器的
config\altsettings.properties
最下面有一段
#ディアド要塞の稅率(0-10)
#各城の稅率のうちここで指定した稅率はディアド要塞の収入となる
DiadTaxRate = 10
名稱叫 狄亞得 的稅率, 這裡會影響 C_RequestResult.java 裡面的計算結果