0.5.0 • Published 1 year ago
ekimemo-access-simulator v0.5.0
ekimemo-access-simulator
🚃スマートフォンゲーム「駅メモ」のアクセスイベントをシミュレーションするJavaScript(TypeScript)ライブラリ
1. Features
✅ スキル発動のシミュレーション
✅ ダメージ計算のシミュレーション
✅ 経験値獲得・レベルアップのシミュレーション
✅ オリジナルでんこ No.1〜No.99 のスキル実装
✅ エクストラでんこ No.2〜No.4 のスキル実装
✅ タイムライン上の表示をコンソール出力で再現
2. Install
CDNでWebブラウザから利用
head
タグ内に追加
<script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/ekimemo-access-simulator@^0.5.0/umd/simulator.min.js"></script>
node module としてインストール
npm install ekimemo-access-simulator
利用例1:CodeSandbox - Webブラウザで簡単に試せます
利用例2:/example サンプルプロジェクト - 実際にローカルで実行できます
3. Example of Usage
もっとも基本的な使用方法です
/example にあるサンプルプロジェクトで試す
import { AccessConfig, activateSkill, DencoManager, init, initContext, initUser, printEvents, startAccess } from "ekimemo-access-simulator";
init().then(() => {
const context = initContext("this is test", "random seed", true);
let reika = DencoManager.getDenco(context, "5", 80);
let master1 = initUser(context, "master1", [reika]);
master1 = activateSkill(context, master1, 0);
let charlotte = DencoManager.getDenco(context, "6", 50, 3);
let master2 = initUser(context, "master2", [charlotte]);
let config = {
offense: { state: master1, carIndex: 0 },
defense: { state: master2, carIndex: 0 },
station: charlotte.link[0]
};
const result = startAccess(context, config);
printEvents(context, result.offense, true);
printEvents(context, result.defense, true);
});
4. Docs
5. What's New?
v0.5.0
Change List
- スキル時間延長の実装
アサとは異なりactive, cooldown時間を等しく延長するタイプ - スキル発動処理の大幅な修正
- スキル発動の効果内容を分類して形式化
- スキル発動の効果に応じたスキル定義(コールバック)を
SkillLogic
に修正 - 無効化スキルの発動判定を変更
- 無効化の対象をフィルターする関数
isTarget
を返す - 無効化の対象の有無を厳密に確認する
- 無効化の対象をフィルターする関数
- スキル発動の付随的な効果を追加
AccessSkillTriggerBase#sideEffect
- スキルが発動したとき一緒に実行される
- 19 イムラのATK増加と同時にHPを半減させる実装
- 確率発動の判定失敗時の処理を追加
AccessSkillRecipe#fallbackRecipe
- (無効化を除く)確率判定に失敗した場合に代わりに実行されて発動扱いになる
- 78 なるの確率でスキル効果が変化する実装
- スキル発動失敗時のスキル効果を追加
EventSkillRecipe#fallbackEffect
- スキル発動に失敗したときに実行される(発動の記録は残らない)
- 80 ねものリンク成功時にスキル発動失敗した場合の実装(スキル状態がcooldownに遷移する)
- 既存のスキル実装を修正
- スキル発動確率を動的に計算できる対応
94 ゆき の実装対応 - UserPropertyの修正 型定義を簡略化・前日のアクセス数の定義追加
- AccessStateの修正
両編成の型をUserStateのサブタイプに変更 - 不具合の修正
- assertでundefinedがthrowされる
- merge関数の不具合
- 33 エリアの無効化スキルが正しく作用しない
- でんこ追加
- 86 ミナト
- 87 ひめ
- 88 たまき
- 89 ギンカ
- 90 あい
- 91 よしの
- 92 すばる
- 93 あさひ
- 94 ゆき
- 95 ひな
- 96 アヤ
- 97 あまね
- 98 まふゆ
- 99 おとめ