danoniplus 45.3.0 → 45.3.1

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.
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 : 2026/03/01
7
+ * Revised : 2026/03/02
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 45.3.0`;
12
- const g_revisedDate = `2026/03/01`;
11
+ const g_version = `Ver 45.3.1`;
12
+ const g_revisedDate = `2026/03/02`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -2786,7 +2786,10 @@ const initialControl = async () => {
2786
2786
  titleInit(true);
2787
2787
 
2788
2788
  // 未使用のg_keyObjプロパティを削除
2789
- const keyProp = g_keyCopyLists.simple.concat(g_keyCopyLists.multiple, `keyCtrl`, `keyName`, `minWidth`, `ptchara`);
2789
+ const keyProp = g_keyCopyLists.simple.concat(
2790
+ g_keyCopyLists.multiple,
2791
+ `keyCtrl`, `keyName`, `minWidth`, `movLock`, `initManual`, `ptchara`
2792
+ );
2790
2793
  const delKeyPropList = [`ptchara7`, `dfPtnNum`, `minKeyCtrlNum`, `minPatterns`];
2791
2794
  Object.keys(g_keyObj).forEach(key => {
2792
2795
  const type = keyProp.find(prop => key.startsWith(prop)) || ``;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2026/03/01 (v45.3.0)
8
+ * Revised : 2026/03/02 (v45.3.1)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -1781,46 +1781,58 @@ const g_stepAreaFunc = new Map([
1781
1781
  const getShakingDist = () => (Math.abs((g_scoreObj.baseFrame / 2) % 100 - 50) - 25);
1782
1782
  const g_shakingFunc = new Map([
1783
1783
  ['OFF', () => true],
1784
- ['Horizontal', () => addTransform(`mainSprite`, `shakingX`, `translateX(${getShakingDist()}px)`, g_transPriority.shaking)],
1785
- ['Vertical', () => addTransform(`mainSprite`, `shakingY`, `translateY(${getShakingDist() / 2}px)`, g_transPriority.shaking)],
1784
+ ['Horizontal', () => {
1785
+ if (g_scoreObj.baseFrame % 2 === 0)
1786
+ addTransform(`mainSprite`, `shakingX`, `translateX(${getShakingDist()}px)`, g_transPriority.shaking)
1787
+ }],
1788
+ ['Vertical', () => {
1789
+ if (g_scoreObj.baseFrame % 2 === 0)
1790
+ addTransform(`mainSprite`, `shakingY`, `translateY(${getShakingDist() / 2}px)`, g_transPriority.shaking)
1791
+ }],
1786
1792
  ['X-Horizontal', () => {
1787
- for (let j = 0; j < g_stateObj.layerNum; j++) {
1788
- addTransform(`mainSprite${j}`, `shakingX`, `translateX(${getDirFromLayer(j) * (4 / 3) * getShakingDist()}px)`, g_transPriority.shaking);
1789
- }
1793
+ if (g_scoreObj.baseFrame % 2 === 0)
1794
+ for (let j = 0; j < g_stateObj.layerNum; j++) {
1795
+ addTransform(`mainSprite${j}`, `shakingX`, `translateX(${getDirFromLayer(j) * (4 / 3) * getShakingDist()}px)`, g_transPriority.shaking);
1796
+ }
1790
1797
  }],
1791
1798
  ['X-Vertical', () => {
1792
- for (let j = 0; j < g_stateObj.layerNum; j++) {
1793
- addTransform(`mainSprite${j}`, `shakingY`, `translateY(${getDirFromLayer(j) * getShakingDist()}px)`, g_transPriority.shaking);
1794
- }
1799
+ if (g_scoreObj.baseFrame % 2 === 0)
1800
+ for (let j = 0; j < g_stateObj.layerNum; j++) {
1801
+ addTransform(`mainSprite${j}`, `shakingY`, `translateY(${getDirFromLayer(j) * getShakingDist()}px)`, g_transPriority.shaking);
1802
+ }
1795
1803
  }],
1796
1804
  ['Drunk', () => {
1797
- // Drunkは揺れの軸が途中で変わるため、基準位置取得のためにmainSpriteのみaddX, addYを使用
1798
- const shakeX = g_posXs.mainSprite?.get(`shakingX`) ?? 0;
1799
- const shakeY = g_posYs.mainSprite?.get(`shakingY`) ?? 0;
1800
- if (shakeX === 0 && shakeY === 0) {
1801
- g_workObj.drunkXFlg = Math.random() < 0.5;
1802
- g_workObj.drunkYFlg = Math.random() < 0.5;
1803
- }
1804
- if (g_workObj.drunkXFlg) {
1805
- const deltaX = getShakingDist();
1806
- addX(`mainSprite`, `shakingX`, deltaX, { priority: g_transPriority.shaking });
1807
- addTransform(`infoSprite`, `shakingX`, `translateX(${deltaX}px)`, g_transPriority.shaking);
1808
- addTransform(`judgeSprite`, `shakingX`, `translateX(${deltaX}px)`, g_transPriority.shaking);
1809
- }
1810
- if (g_workObj.drunkYFlg) {
1811
- const deltaY = getShakingDist() / 2;
1812
- addY(`mainSprite`, `shakingY`, deltaY, { priority: g_transPriority.shaking });
1813
- addTransform(`infoSprite`, `shakingY`, `translateY(${deltaY}px)`, g_transPriority.shaking);
1814
- addTransform(`judgeSprite`, `shakingY`, `translateY(${deltaY}px)`, g_transPriority.shaking);
1805
+ if (g_scoreObj.baseFrame % 2 === 0) {
1806
+ // Drunkは揺れの軸が途中で変わるため、基準位置取得のためにmainSpriteのみaddX, addYを使用
1807
+ const shakeX = g_posXs.mainSprite?.get(`shakingX`) ?? 0;
1808
+ const shakeY = g_posYs.mainSprite?.get(`shakingY`) ?? 0;
1809
+ if (shakeX === 0 && shakeY === 0) {
1810
+ g_workObj.drunkXFlg = Math.random() < 0.5;
1811
+ g_workObj.drunkYFlg = Math.random() < 0.5;
1812
+ }
1813
+ if (g_workObj.drunkXFlg) {
1814
+ const deltaX = getShakingDist();
1815
+ addX(`mainSprite`, `shakingX`, deltaX, { priority: g_transPriority.shaking });
1816
+ addTransform(`infoSprite`, `shakingX`, `translateX(${deltaX}px)`, g_transPriority.shaking);
1817
+ addTransform(`judgeSprite`, `shakingX`, `translateX(${deltaX}px)`, g_transPriority.shaking);
1818
+ }
1819
+ if (g_workObj.drunkYFlg) {
1820
+ const deltaY = getShakingDist() / 2;
1821
+ addY(`mainSprite`, `shakingY`, deltaY, { priority: g_transPriority.shaking });
1822
+ addTransform(`infoSprite`, `shakingY`, `translateY(${deltaY}px)`, g_transPriority.shaking);
1823
+ addTransform(`judgeSprite`, `shakingY`, `translateY(${deltaY}px)`, g_transPriority.shaking);
1824
+ }
1815
1825
  }
1816
1826
  }],
1817
1827
  ['S-Drunk', () => {
1818
- g_shakingFunc.get(`Drunk`)();
1819
- if (g_workObj.drunkXFlg) {
1820
- g_shakingFunc.get(`X-Vertical`)();
1821
- }
1822
- if (g_workObj.drunkYFlg) {
1823
- g_shakingFunc.get(`X-Horizontal`)();
1828
+ if (g_scoreObj.baseFrame % 2 === 0) {
1829
+ g_shakingFunc.get(`Drunk`)();
1830
+ if (g_workObj.drunkXFlg) {
1831
+ g_shakingFunc.get(`X-Vertical`)();
1832
+ }
1833
+ if (g_workObj.drunkYFlg) {
1834
+ g_shakingFunc.get(`X-Horizontal`)();
1835
+ }
1824
1836
  }
1825
1837
  }],
1826
1838
  ]);
@@ -3799,9 +3811,10 @@ const g_dataMinObj = {
3799
3811
  */
3800
3812
  const g_dataSetObj = {
3801
3813
  2: [`speedData`, `boostData`],
3802
- 4: [`colorData`, `arrowCssMotionData`, `frzCssMotionData`,
3803
- `dummyArrowCssMotionData`, `dummyFrzCssMotionData`],
3814
+ 4: [`colorData`],
3804
3815
  5: [`ncolorData`, `scrollchData`],
3816
+ 6: [`arrowCssMotionData`, `frzCssMotionData`,
3817
+ `dummyArrowCssMotionData`, `dummyFrzCssMotionData`],
3805
3818
  }
3806
3819
 
3807
3820
  const g_dfColorObj = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "45.3.0",
3
+ "version": "45.3.1",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "./js/danoni_main.js",
6
6
  "scripts": {