danoniplus 29.0.1 → 29.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/js/danoni_main.js +22 -34
  2. package/package.json +1 -1
package/js/danoni_main.js CHANGED
@@ -4,12 +4,12 @@
4
4
  *
5
5
  * Source by tickle
6
6
  * Created : 2018/10/08
7
- * Revised : 2022/11/05
7
+ * Revised : 2022/11/09
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 29.0.1`;
12
- const g_revisedDate = `2022/11/05`;
11
+ const g_version = `Ver 29.2.0`;
12
+ const g_revisedDate = `2022/11/09`;
13
13
  const g_alphaVersion = ``;
14
14
 
15
15
  // カスタム用バージョン (danoni_custom.js 等で指定可)
@@ -2485,8 +2485,9 @@ const headerConvert = _dosObj => {
2485
2485
  obj.artistNames = [];
2486
2486
  obj.musicNos = [];
2487
2487
 
2488
- if (hasVal(_dosObj.musicTitle)) {
2489
- const musicData = splitLF2(_dosObj.musicTitle);
2488
+ const dosMusicTitle = _dosObj[`musicTitle${g_localeObj.val}`] ?? _dosObj.musicTitle;
2489
+ if (hasVal(dosMusicTitle)) {
2490
+ const musicData = splitLF2(dosMusicTitle);
2490
2491
 
2491
2492
  if (hasVal(_dosObj.musicNo)) {
2492
2493
  obj.musicNos = _dosObj.musicNo.split(`$`);
@@ -2542,12 +2543,13 @@ const headerConvert = _dosObj => {
2542
2543
  obj.frzAttempt = setIntVal(_dosObj.frzAttempt, C_FRM_FRZATTEMPT);
2543
2544
 
2544
2545
  // 製作者表示
2545
- if (hasVal(_dosObj.tuning)) {
2546
- const tunings = _dosObj.tuning.split(`,`);
2546
+ const dosTuning = _dosObj[`tuning${g_localeObj.val}`] ?? _dosObj.tuning;
2547
+ if (hasVal(dosTuning)) {
2548
+ const tunings = dosTuning.split(`,`);
2547
2549
  obj.tuning = escapeHtmlForEnabledTag(tunings[0]);
2548
2550
  obj.creatorUrl = (tunings.length > 1 ? tunings[1] : (g_presetObj.tuningUrl ?? ``));
2549
2551
  } else {
2550
- obj.tuning = escapeHtmlForEnabledTag(g_presetObj.tuning ?? `name`);
2552
+ obj.tuning = escapeHtmlForEnabledTag(g_presetObj[`tuning${g_localeObj.val}`] ?? g_presetObj.tuning ?? `name`);
2551
2553
  obj.creatorUrl = g_presetObj.tuningUrl ?? ``;
2552
2554
  }
2553
2555
  obj.tuningInit = obj.tuning;
@@ -8548,8 +8550,10 @@ const mainInit = _ => {
8548
8550
  g_audio.pause();
8549
8551
  clearTimeout(g_timeoutEvtId);
8550
8552
  if (keyIsDown(g_kCdNameObj.shiftKey)) {
8551
- g_gameOverFlg = true;
8552
- g_finishFlg = false;
8553
+ if (g_currentArrows !== g_fullArrows || g_stateObj.lifeMode === C_LFE_BORDER && g_workObj.lifeVal < g_workObj.lifeBorder) {
8554
+ g_gameOverFlg = true;
8555
+ g_finishFlg = false;
8556
+ }
8553
8557
  resultInit();
8554
8558
  } else {
8555
8559
  titleInit();
@@ -9529,7 +9533,7 @@ const judgeArrow = _j => {
9529
9533
  if (_difCnt <= g_judgObj.arrowJ[g_judgPosObj.uwan]) {
9530
9534
  const [resultFunc, resultJdg] = checkJudgment(_difCnt);
9531
9535
  resultFunc(_difFrame);
9532
- countFastSlow(_difFrame);
9536
+ displayDiff(_difFrame);
9533
9537
 
9534
9538
  const stepDivHit = document.querySelector(`#stepHit${_j}`);
9535
9539
  stepDivHit.style.top = `${g_attrObj[arrowName].prevY - parseFloat($id(`stepRoot${_j}`).top) - 15}px`;
@@ -9553,10 +9557,10 @@ const judgeArrow = _j => {
9553
9557
  if (g_headerObj.frzStartjdgUse) {
9554
9558
  const [resultFunc] = checkJudgment(_difCnt);
9555
9559
  resultFunc(_difFrame);
9560
+ displayDiff(_difFrame);
9556
9561
  } else {
9557
9562
  displayDiff(_difFrame, `F`);
9558
9563
  }
9559
- countFastSlow(_difFrame);
9560
9564
 
9561
9565
  if (_difCnt <= g_judgObj.frzJ[g_judgPosObj.sfsf]) {
9562
9566
  changeHitFrz(_j, fcurrentNo, `frz`);
@@ -9594,23 +9598,12 @@ const displayDiff = (_difFrame, _fjdg = ``, _justFrames = g_headerObj.justFrames
9594
9598
  const difCnt = Math.abs(_difFrame);
9595
9599
  if (_difFrame > _justFrames) {
9596
9600
  diffJDisp = `<span class="common_matari">Fast ${difCnt} Frames</span>`;
9597
- } else if (_difFrame < _justFrames * (-1)) {
9598
- diffJDisp = `<span class="common_shobon">Slow ${difCnt} Frames</span>`;
9599
- }
9600
- document.getElementById(`diff${_fjdg}J`).innerHTML = diffJDisp;
9601
- };
9602
-
9603
- /**
9604
- * Fast/Slowカウンタ
9605
- * @param {number} _difFrame
9606
- * @param {number} _justFrames
9607
- */
9608
- const countFastSlow = (_difFrame, _justFrames = g_headerObj.justFrames) => {
9609
- if (_difFrame > _justFrames) {
9610
9601
  g_resultObj.fast++;
9611
9602
  } else if (_difFrame < _justFrames * (-1)) {
9603
+ diffJDisp = `<span class="common_shobon">Slow ${difCnt} Frames</span>`;
9612
9604
  g_resultObj.slow++;
9613
9605
  }
9606
+ document.getElementById(`diff${_fjdg}J`).innerHTML = diffJDisp;
9614
9607
  };
9615
9608
 
9616
9609
  /**
@@ -9660,13 +9653,13 @@ const lifeDamage = _ => {
9660
9653
  * 判定キャラクタの表示、判定済矢印数・判定数のカウンタ
9661
9654
  * @param {string} _name
9662
9655
  * @param {string} _character
9663
- * @param {string} _freezeFlg
9656
+ * @param {string} _fjdg
9664
9657
  */
9665
- const changeJudgeCharacter = (_name, _character, _freezeFlg = ``) => {
9658
+ const changeJudgeCharacter = (_name, _character, _fjdg = ``) => {
9666
9659
  g_resultObj[_name]++;
9667
9660
  g_currentArrows++;
9668
- document.querySelector(`#chara${_freezeFlg}J`).innerHTML = `<span class="common_${_name}">${_character}</span>`;
9669
- document.querySelector(`#chara${_freezeFlg}J`).setAttribute(`cnt`, C_FRM_JDGMOTION);
9661
+ document.querySelector(`#chara${_fjdg}J`).innerHTML = `<span class="common_${_name}">${_character}</span>`;
9662
+ document.querySelector(`#chara${_fjdg}J`).setAttribute(`cnt`, C_FRM_JDGMOTION);
9670
9663
  document.querySelector(`#lbl${toCapitalize(_name)}`).textContent = g_resultObj[_name];
9671
9664
  };
9672
9665
 
@@ -9688,10 +9681,7 @@ const updateCombo = _ => {
9688
9681
  */
9689
9682
  const judgeRecovery = (_name, _difFrame) => {
9690
9683
  changeJudgeCharacter(_name, g_lblNameObj[`j_${_name}`]);
9691
-
9692
9684
  updateCombo();
9693
- displayDiff(_difFrame);
9694
-
9695
9685
  lifeRecovery();
9696
9686
  finishViewing();
9697
9687
 
@@ -9731,8 +9721,6 @@ const judgeShakin = _difFrame => judgeRecovery(`shakin`, _difFrame);
9731
9721
  const judgeMatari = _difFrame => {
9732
9722
  changeJudgeCharacter(`matari`, g_lblNameObj.j_matari);
9733
9723
  comboJ.textContent = ``;
9734
-
9735
- displayDiff(_difFrame);
9736
9724
  finishViewing();
9737
9725
 
9738
9726
  g_customJsObj.judg_matari.forEach(func => func(_difFrame));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "29.0.1",
3
+ "version": "29.2.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {