0.5.0 • Published 1 year ago

ekimemo-access-simulator v0.5.0

Weekly downloads
-
License
MIT License
Repository
-
Last release
1 year ago

ekimemo-access-simulator

npm version npm license npm types test workflow codecov

🚃スマートフォンゲーム「駅メモ」のアクセスイベントをシミュレーションするJavaScript(TypeScript)ライブラリ

1. Features

✅ スキル発動のシミュレーション
✅ ダメージ計算のシミュレーション
✅ 経験値獲得・レベルアップのシミュレーション
✅ オリジナルでんこ No.1〜No.99 のスキル実装
✅ エクストラでんこ No.2〜No.4 のスキル実装
✅ タイムライン上の表示をコンソール出力で再現

image

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>

利用例:[CodePen] CDN on Web

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 おとめ
0.5.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.4.0

1 year ago

0.3.1

1 year ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago