倉庫絆

アニメやゲームを中心に、身の周りで起こったことをだらだらと綴る自己満日記です。
記事を読んで不愉快にさせてしまった場合は、当方では責任を負いかねますのでご了承お願い致します。

 

続・能力追加シミュ改造手順


Edit ゲーム    登録タグ  PSO2   能力追加   javascript 
前回に引き続きプログラムのお話です。

私自身、人のプログラムを見ることが多い職業なため、改造とか大好きです。
ゼロから作る労力に比べれば、ある程度完成した物は非常に楽ってのもありますが…。
そして、某掲示板の強化スレのテンプレにもなっている初音早猫様の能力追加シミュを
ご存知の方も多いかと思われます。
私もこちらを利用しており、ツイッター発言などもこっそり拝見しておりました。

そんな中で最近目にしたツイッターの要望を一つ取り上げてみることにします。

「ドラッグした能力を削除する」
簡単に説明しますと、現在はスロット内のドラッグ&ドロップで能力のコピーを可能にしましたが、
欄外につまみ出すことで、能力をサクっと削除する機能のことです。
確かに右クリックして削除を選ぶより、UIとしては非常に単純で私も欲しいと思いました。

以下、改修するコードとなります。

修正ファイルは『synthesis.js』の、『initializeSlotDropZone』メソッド(1520行目辺り)なります。
initializeSlotDropZone: function(v) {
    var gridView = v,
        grid = gridView.up('gridpanel');

    /* ドラッグゾーンの追加 */
    v.dragZone = Ext.create('Ext.dd.DragZone', v.getEl(), {
        getDragData: function(e) {
            var sourceEl = e.getTarget(v.itemSelector, 10), d;
            if (sourceEl) {
                if (!v.getRecord(sourceEl).data.slot) return null;
                d = sourceEl.cloneNode(true);
                d.id = Ext.id();
                return v.dragData = {
                    sourceEl: sourceEl,
                    repairXY: Ext.fly(sourceEl).getXY(),
                    ddel: d,
                    patientData: v.getRecord(sourceEl).data.slot
                };
            }
        },
        beforeInvalidDrop: function(target, e, id) {
            var el = this.dragData.sourceEl,
                rec = v.getRecord(el);
            if (rec) {
                rec.store.removeAbility(rec, el.viewIndex);
                v.refresh();
                this.proxy.hide();
            }
        },
        getRepairXY: function() {
            return this.dragData.repairXY;
        }
    });
},

コード内『beforeInvalidDrop』メソッドは、ドロップゾーンが無いところへ
ドロップされた場合に呼び出される関数です。
この時に、削除処理と全く同じ処理を行うだけで、対応が完了します。

この他にも、ソールや状態異常など排他処理が出来ていなかった部分を対応しましたが、
こちらは大幅な修正になっていたので、ソースを見て頂けると幸いです。

ソースはこちら

jQueryを中心にjavascriptは私の得意言語の一つですが、
ExtJSはjavadocのようなドキュメントが揃っているので、大変理解し易くて良いですね。

今は亡き助右衛門のウェブアプリが、少しでも長く利用できるよう
継続してみたいと思います。
スポンサーサイト
Community テーマ - PHANTASY STAR ONLINE 2  ジャンル - ゲーム

新規能力のシミュ改修手順


Edit ゲーム    登録タグ  PSO2   能力追加   javascript 
ちょっとプログラム的な話になりますが、助右衛門氏が作成した
能力追加シミュレーターの改修方法を紹介します。
あくまでもプログラムの部分がメインで、合成確率や継承率などの
各種パラメータが間違っていた場合は、ごめんなさい。

先日のバージョンアップで追加された以下の強力な特殊能力2種類がメインとなります。
素材生成できる特殊能力
アプレンティス・ソール
エルダー・ソール
ルーサー・ソール
ダブル・ソール
ペルソナ・ソール
ソール・カタリスト(HP+10,PP+1)
ソール・カタリスト x 4個
ダークネス・ソール
アストラル・ソール(ALL+35,HP+35,PP+5)
アストラル・ソール、アビ3、モデュの3スロだけで
「打射法+80、技量+50、HP+35、PP+5」が作成できる為、
汎用としてはアンガやアプレンティスの多スロより強くなる可能性があり、大変魅力です。
コスパ的にはナイトギア、アンガの方が安上がりではありそうですが…。

修正ファイルは『ability.js』の、『getAbilityRefferer』メソッド(379行目辺り)なります。
/* 元オブジェクトを壊さないようにローカル変数にhashStackをコピー */
var stack = Ext.apply({}, me.hashStack);

    /* コード指定でヒットした場合にデクリメントするように修正! */
    if (!stack[base[i]]) {
        /* no hit */
        return null;
    } else {
        /* 数を減らす */
        stack[base[i]]--;
    }

あとは『params.json』の定数『extendAbility』に新規パターンを追加します。
※新規能力は既に追加済みとします。
/* ソールレセプター、ソールの組み合わせを100%とする場合 */
{base: ['XA01', 'R*']          , ref: '$$'  , success: 100},
/* アプレンティス,エルダー,ルーサー,x4,ダークネスソールの組み合わせ */
{base: ['RP55', 'RC23', 'ROC2', 'RQ01','RI22'], ref: 'VJ01', success:  10},
/* ソール・カタリストx4,ダークネス・ソールの組み合わせ */
{base: ['VJ01', 'VJ01', 'VJ01', 'VJ01','RZ01'], ref: 'SA01', success:  60}

『能力追加成功率+40%』も、params.jsonに追加するだけで完了です。
何かの参考になれば幸いです。

対応版はこちら
2015.10.30 追記
アストラル・ソールの継承について情報が出ていたようなので追記致します。
素材生成できる特殊能力
アストラル・ソール
ソール・レセプター
アストラル・ソール継承率10%
これまでの通常ソールのコード値は、頭が'R'で統一されていましたが、
今回の特殊ソールは'S'に変更しています。
そのため、以下のコード追加が必要となります。

params.jsonextendAbility
/* ソールレセプター、ソールの組み合わせを100%とする場合 */
{base: ['XA01', 'R*']          , ref: '$$'  , success: 100},
/* ソールレセプター、特殊ソールの組み合わせを10%とする場合 */
{base: ['XA01', 'S*'],           ref: '$$',   success:  10},

params.jsonabilityList
{code:'SA01',gid:'D',name:'アストラル・ソール',                  effect: 'ALL(+35),<br>HP(+35),<br>PP(+5)'},
{code:'VJ01',gid:'E',name:'ソール・カタリスト',extend: [0,10,30],effect: 'HP(+10),<br>PP(+1)'},
このソール、相当なキューブとメセタが消失するらしく、緩和がくるまでは暫く様子見でしょうね。。。
Community テーマ - PHANTASY STAR ONLINE 2  ジャンル - ゲーム
 
10 2017
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

09 11


 
プロフィール

Pulsar

Author:Pulsar
アニメ、東方、フィギュア、萌える物ならなんでも手を出してしまう深刻な患者。

プレイ中のゲーム
PSO2 - 8鯖のヒュマ子
FF14 - とんべりの猫娘
777Town - 重症レベル

 
 
ユーザータグ
 


ARCHIVE RSS