2013年6月29日 星期六

沙蟲地板出現修改

(1)資料庫新增沙蟲npc,圖檔代號10071 ,此範例 npcid 為 99011584   
(2)尋找檔案L1MonsterInstance.java
(3)尋找hide函式,紅色部分為修改處
private void hide() {
int npcid = getNpcTemplate().get_npcId();
int GfxId = getNpcTemplate().get_gfxid();//TODO 思克巴瀕死傳送延遲
                if ((npcid == 45061 // カーズドスパルトイ)
|| (npcid == 45161 // スパルトイ) 
                                || (npcid == 45181 // スパルトイ)
                                || (npcid == 45455)
                                || (npcid == 45455)
                               || (npcid == 99011584)//沙蟲血量低於3分之1,有機率縮地板
                               ) { // デッドリースパルトイ
if (getMaxHp() / 3 > getCurrentHp()) 
{
int rnd = Random.nextInt(10);
if (2 > rnd)
{
allTargetClear();
setHiddenStatus(HIDDEN_STATUS_SINK);
broadcastPacket(new S_DoActionGFX(getId(),
ActionCodes.ACTION_Hide));
setStatus(11);
broadcastPacket(new S_CharVisualUpdate(this, getStatus()));
}
}


(4)尋找initHideForMinion函式,紅色部分為修改處
public void initHideForMinion(L1NpcInstance leader) {
// グループに属するモンスターの出現直後の隠れる動作(リーダーと同じ動作にする)
int npcid = getNpcTemplate().get_npcId();
if (leader.getHiddenStatus() == HIDDEN_STATUS_SINK)
{
if ((npcid == 45061 // カーズドスパルトイ)

|| (npcid == 45161 // スパルトイ)

                        || (npcid == 45181 // スパルトイ
)

                        || (npcid == 45455)

                        || (npcid == 99011584)//玩家靠近,沙蟲自動爬起 
                         ) { // デッドリースパルトイsetHiddenStatus(HIDDEN_STATUS_SINK);
setStatus(11);
}
(5)尋找 initHide 函式,紅色部分為修改處
public void initHide() {
// 出現直後の隠れる動作
// 潜るMOBは一定の確率で地中に潜った状態に、
// 飛ぶMOBは飛んだ状態にしておく
int npcid = getNpcTemplate().get_npcId();
if ((npcid == 45061 // カーズドスパルトイ
)
|| (npcid == 45161 // スパルトイ
) || (npcid == 45181 // スパルトイ
) || (npcid == 45455)) { // デッドリースパルトイ
int rnd = Random.nextInt(3);
if (1 > rnd) {
setHiddenStatus(HIDDEN_STATUS_SINK);
setStatus(11);
}
}else if(npcid == 99011584)/*3.53沙蟲初始地板  RR-新增*/
{
setHiddenStatus(HIDDEN_STATUS_SINK);
setStatus(11);
}
else if ((npcid == 45045 // クレイゴーレム
)
|| (npcid == 45126 // ストーンゴーレム
) || (npcid == 45134 // ストーンゴーレム
) || (npcid == 45281)) { // ギランストーンゴーレム
int rnd = Random.nextInt(3);
if (1 > rnd) {
setHiddenStatus(HIDDEN_STATUS_SINK);
setStatus(4);
}
}

沒有留言:

張貼留言