Browse Source

Merge branch 'skillParser' of gitee.com:mapaler/PADDashFormation into skillParser

# Conflicts:
#	languages/en.css
#	languages/ko.css
tags/v19.0
枫谷剑仙 5 years ago
parent
commit
9d74f6f7a3
78 changed files with 571 additions and 200 deletions
  1. +15
    -18
      README.md
  2. BIN
      document/tips-arrow-change-henshin.png
  3. BIN
      document/tips-arrow-close-numlock.webp
  4. BIN
      document/tips-search-TagInGame.png
  5. BIN
      document/tips-search-series.png
  6. BIN
      document/tips-search-series.webp
  7. BIN
      document/tips-search-skills.png
  8. +53
    -22
      help.md
  9. BIN
      images/awoken.png
  10. BIN
      images/cards_en/CARDS_072.PNG
  11. BIN
      images/cards_en/CARDS_073.PNG
  12. BIN
      images/cards_en/CARDS_074.PNG
  13. BIN
      images/cards_en/CARDS_075.PNG
  14. BIN
      images/cards_en/CARDS_076.PNG
  15. BIN
      images/cards_ja/CARDS_058.PNG
  16. BIN
      images/cards_ja/CARDS_071.PNG
  17. BIN
      images/cards_ja/CARDS_075.PNG
  18. BIN
      images/cards_ja/CARDS_076.PNG
  19. BIN
      images/cards_ko/CARDS_072.PNG
  20. BIN
      images/cards_ko/CARDS_073.PNG
  21. BIN
      images/cards_ko/CARDS_074.PNG
  22. BIN
      images/cards_ko/CARDS_075.PNG
  23. BIN
      images/cards_ko/CARDS_076.PNG
  24. BIN
      images/project file/awoken.fw.png
  25. +5
    -4
      languages/en.css
  26. +1
    -1
      languages/en.js
  27. +4
    -3
      languages/ja.css
  28. +1
    -1
      languages/ja.js
  29. +5
    -4
      languages/ko.css
  30. +1
    -1
      languages/ko.js
  31. +37
    -15
      languages/zh-CN.js
  32. +4
    -3
      languages/zh-TW.css
  33. +1
    -1
      languages/zh-TW.js
  34. +4
    -3
      languages/zh.css
  35. +1
    -1
      languages/zh.js
  36. +1
    -1
      monsters-info/ckey.json
  37. +1
    -1
      monsters-info/custom/chs.json
  38. +1
    -1
      monsters-info/custom/cht.json
  39. +1
    -1
      monsters-info/mon_en.json
  40. +1
    -1
      monsters-info/mon_ja.json
  41. +1
    -1
      monsters-info/mon_ko.json
  42. +1
    -1
      monsters-info/official-API/en-card.json
  43. +1
    -1
      monsters-info/official-API/en-skill.json
  44. +1
    -1
      monsters-info/official-API/ja-card.json
  45. +1
    -1
      monsters-info/official-API/ja-skill.json
  46. +1
    -1
      monsters-info/official-API/ko-card.json
  47. +1
    -1
      monsters-info/official-API/ko-skill.json
  48. +1
    -1
      monsters-info/skill_en.json
  49. +1
    -1
      monsters-info/skill_ja.json
  50. +1
    -1
      monsters-info/skill_ko.json
  51. +56
    -4
      multi.html
  52. +3
    -1
      script-json_data.js
  53. +11
    -0
      script-universal_function.js
  54. +77
    -13
      script.js
  55. +57
    -23
      solo.html
  56. BIN
      sound/voice/en/padv285.wav
  57. BIN
      sound/voice/en/padv286.wav
  58. BIN
      sound/voice/en/padv287.wav
  59. BIN
      sound/voice/en/padv288.wav
  60. BIN
      sound/voice/en/padv289.wav
  61. BIN
      sound/voice/en/padv290.wav
  62. BIN
      sound/voice/en/padv291.wav
  63. BIN
      sound/voice/en/padv292.wav
  64. BIN
      sound/voice/en/padv293.wav
  65. BIN
      sound/voice/en/padv294.wav
  66. BIN
      sound/voice/ko/padv285.wav
  67. BIN
      sound/voice/ko/padv286.wav
  68. BIN
      sound/voice/ko/padv287.wav
  69. BIN
      sound/voice/ko/padv288.wav
  70. BIN
      sound/voice/ko/padv289.wav
  71. BIN
      sound/voice/ko/padv290.wav
  72. BIN
      sound/voice/ko/padv291.wav
  73. BIN
      sound/voice/ko/padv292.wav
  74. BIN
      sound/voice/ko/padv293.wav
  75. BIN
      sound/voice/ko/padv294.wav
  76. +9
    -0
      style-monsterimages.css
  77. +60
    -2
      style.css
  78. +151
    -65
      triple.html

+ 15
- 18
README.md View File

@@ -1,16 +1,12 @@
智龙迷城队伍图制作工具 | Puzzle & Dragons Formation Maker
智龙急速阵型 | P&D Dash Formation
======
个工具可以帮助你方便的制作和分享车队阵型或单人队形。易用的编辑界面,电脑、手机上都可以轻松使用。
This tool can help you easily create and share Swipe Formation or Solo Formation. Easy to use editing interface and use on your PC and Phone.
是一个智龙迷城队伍图制作工具。
This is a Puzzle & Dragons Formation Maker.
### 目前支持的语言 | Supported Languages
1. 中文(简体)
1. 中文(繁體)
1. English
1. 日本語 (by Bing Microsoft Translator)
1. 한국어 (by Bing Microsoft Translator)
这个工具可以帮助你方便的制作和分享车队阵型或单人队形。电脑、智能手机上都可以轻松使用。
This tool can help you easily create and share Swipe Formation or Solo Formation. Easy to use on your PC and Smart Phone.
### 预览 \| Preview
### 预览 | Preview
| **单人 \| Solo** | **2人协力 \| 2P** |
| :---: | :---: |
@@ -18,19 +14,13 @@ This tool can help you easily create and share Swipe Formation or Solo Formation
| **3人协力 \| 3P** | **手机 \| Mobile** |
| ![3人协力界面预览](document/preview-capture-3p.png) | ![手机端预览](document/preview-mobile.jpg) |
# 如何使用 | HOW TO USE
## 快速使用在线版 | Online Quick Start
* <https://mapaler.github.io/PADDashFormation/> (Github Pages)
[![](https://www.mozilla.org/media/img/firefox/favicon.ico)Firefox](https://www.mozilla.org/firefox/new/) is recommended on your phone for better performance. Chrome is very slow when searching for a large number of cards
* http://mapaler.gitee.io/paddashformation/ (码云的镜象,国内用这个更快 | Chinese mirror)
* <https://mapaler.gitee.io/paddashformation/> (码云的镜象,国内用这个更快 | Chinese mirror)
手机上使用 [![](https://www.mozilla.org/media/img/firefox/favicon.ico)火狐浏览器](https://www.mozilla.org/firefox/new/) 具有更好的性能,Chrome 卡死了。
### 示例链接 | Sample Link
* [单人示例](http://mapaler.gitee.io/paddashformation/solo.html?d={"t"%3A"千鸟^ff3600^【7×6版面】^p换队长打里·异形"%2C"d"%3A"%25{m5537}可以换%25{m3524}"%2C"f"%3A[[[[5537%2C110%2C9%2C99%2C[18%2C11%2C11%2C10%2C11]%2C1]%2C[5141%2C110%2C9%2C99%2C[11%2C11%2C11%2C11%2C11%2C10]%2C2]%2C[5004%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C0]%2C[5658%2C110%2C9%2C99%2C[19%2C11%2C11%2C11%2C11]%2C0]%2C[3898%2C110%2C9%2C99%2C[25%2C11%2C11%2C11%2C11]%2C0]%2C[5658%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C2]]%2C[[5573%2C1%2C7%2C99]%2C[5591%2C1%2C6%2C99]%2C[5582%2C1%2C6]%2C[5656%2C1%2C6]%2C[4897%2C99%2C5%2C99]%2C[5420%2C99%2C5%2Cnull%2Cnull%2Cnull%2C1]]]]%2C"b"%3A13}) | [Solo Sample](//mapaler.github.io/PADDashFormation/solo.html?d={"t"%3A"千鸟^ff3600^【7×6版面】^p换队长打里·异形"%2C"d"%3A"%25{m5537}可以换%25{m3524}"%2C"f"%3A[[[[5537%2C110%2C9%2C99%2C[18%2C11%2C11%2C10%2C11]%2C1]%2C[5141%2C110%2C9%2C99%2C[11%2C11%2C11%2C11%2C11%2C10]%2C2]%2C[5004%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C0]%2C[5658%2C110%2C9%2C99%2C[19%2C11%2C11%2C11%2C11]%2C0]%2C[3898%2C110%2C9%2C99%2C[25%2C11%2C11%2C11%2C11]%2C0]%2C[5658%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C2]]%2C[[5573%2C1%2C7%2C99]%2C[5591%2C1%2C6%2C99]%2C[5582%2C1%2C6]%2C[5656%2C1%2C6]%2C[4897%2C99%2C5%2C99]%2C[5420%2C99%2C5%2Cnull%2Cnull%2Cnull%2C1]]]]%2C"b"%3A13})
* [2P车队示例](http://mapaler.gitee.io/paddashformation/multi.html?d={"t"%3A"我的^2288FF^水^p车队%20|%20My%20^2288FF^Water^p%20Swip%20Formation"%2C"d"%3A"%25{m2186}最好换%25{m4877}\n%25{m4877}%20is%20better%20than%20%25{m2186}"%2C"f"%3A[[[[4691%2C104%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[2186%2C101%2C8%2C99%2C[20%2C20%2C20]%2C0]%2C[4877%2C101%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4793%2C99%2C7%2C99]%2C[4877%2C101%2C9%2C99%2C[23%2C23%2C11%2C11]]]%2C[[4252%2C38%2C9]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]]]%2C[[[4691%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[4877%2C102%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4877%2C101%2C9%2C99%2C[23%2C23%2C11%2C11]]%2C[4793%2C99%2C7%2C99%2C[21%2C21%2C21]]%2C[2186%2C101%2C8%2C99%2Cnull%2C0]]%2C[[4394%2C12%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2C99%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]]]]}) | [2P Multi Formation Sample](//mapaler.github.io/PADDashFormation/multi.html?d={"t"%3A"我的^2288FF^水^p车队%20|%20My%20^2288FF^Water^p%20Swip%20Formation"%2C"d"%3A"%25{m2186}最好换%25{m4877}\n%25{m4877}%20is%20better%20than%20%25{m2186}"%2C"f"%3A[[[[4691%2C104%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[2186%2C101%2C8%2C99%2C[20%2C20%2C20]%2C0]%2C[4877%2C101%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4793%2C99%2C7%2C99]%2C[4877%2C101%2C9%2C99%2C[23%2C23%2C11%2C11]]]%2C[[4252%2C38%2C9]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]]]%2C[[[4691%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[4877%2C102%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4877%2C101%2C9%2C99%2C[23%2C23%2C11%2C11]]%2C[4793%2C99%2C7%2C99%2C[21%2C21%2C21]]%2C[2186%2C101%2C8%2C99%2Cnull%2C0]]%2C[[4394%2C12%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2C99%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]]]]})
* [3P协力示例](http://mapaler.gitee.io/paddashformation/triple.html?d={"t"%3A"3P%20Sample"%2C"d"%3A"3P没啥好的例子"%2C"f"%3A[[[[4691%2C104%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[2186%2C101%2C8%2C99%2C[20%2C20%2C20]%2C0]%2C[4877%2C101%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4793%2C99%2C7%2C99]%2C[5322%2C101%2C9%2C99%2C[20%2C20%2C20]]%2C[4691%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]]%2C[[4252%2C38%2C9]%2C[5632%2C1%2C6%2C99]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4828%2C5%2C3]%2C[4394%2C12%2C3%2Cnull%2Cnull%2Cnull%2C1]]]%2C[[[4691%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[2186%2C101%2C8%2C99%2Cnull%2C0]%2C[4877%2C102%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4793%2C99%2C7%2C99%2C[21%2C21%2C21]]%2C[4877%2C101%2C9%2C99%2C[23%2C23%2C11%2C11]]%2C[4691%2C104%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]]%2C[[4394%2C12%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4252%2C38%2C9]]]%2C[[[5888%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4877%2C99%2C9%2C99]%2C[4877%2C99%2C9%2C99]%2C[4877%2C99%2C9%2C99]%2C[2540%2C110%2C8%2C99%2C[11%2C11%2C11%2C11%2C11%2C11]%2C0]%2C[5887%2C99%2C9%2Cnull%2C[11%2C11%2C11%2C11%2C11%2C11]]]%2C[[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]]]]}) | [3P Multi Formation Sample](//mapaler.github.io/PADDashFormation/triple.html?d={"t"%3A"3P%20Sample"%2C"d"%3A"3P没啥好的例子"%2C"f"%3A[[[[4691%2C104%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[2186%2C101%2C8%2C99%2C[20%2C20%2C20]%2C0]%2C[4877%2C101%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4793%2C99%2C7%2C99]%2C[5322%2C101%2C9%2C99%2C[20%2C20%2C20]]%2C[4691%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]]%2C[[4252%2C38%2C9]%2C[5632%2C1%2C6%2C99]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4828%2C5%2C3]%2C[4394%2C12%2C3%2Cnull%2Cnull%2Cnull%2C1]]]%2C[[[4691%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]%2C[2186%2C101%2C8%2C99%2Cnull%2C0]%2C[4877%2C102%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4793%2C99%2C7%2C99%2C[21%2C21%2C21]]%2C[4877%2C101%2C9%2C99%2C[23%2C23%2C11%2C11]]%2C[4691%2C104%2C9%2C99%2C[19%2C19%2C11%2C11]%2C1]]%2C[[4394%2C12%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4155%2C1%2C7%2Cnull%2Cnull%2Cnull%2C1]%2C[4394%2C1%2C3%2Cnull%2Cnull%2Cnull%2C1]%2C[4252%2C38%2C9]]]%2C[[[5888%2C110%2C9%2C99%2C[19%2C19%2C11%2C11]]%2C[4877%2C99%2C9%2C99]%2C[4877%2C99%2C9%2C99]%2C[4877%2C99%2C9%2C99]%2C[2540%2C110%2C8%2C99%2C[11%2C11%2C11%2C11%2C11%2C11]%2C0]%2C[5887%2C99%2C9%2Cnull%2C[11%2C11%2C11%2C11%2C11%2C11]]]%2C[[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]%2C[0%2C0%2C0]]]]})
## 下载后使用本地版 | Use the local version after downloaded
[下载压缩包](//gitee.com/mapaler/PADDashFormation/repository/archive/master)或`git clone`后使用浏览器打开`index.html`。
[Download ZIP](//codeload.github.com/Mapaler/PADDashFormation/zip/master) or `git clone`, and open the `index.html` with Browser.
@@ -41,7 +31,14 @@ Chrome browser need start with the additional argument `--allow-file-access-from
## [帮助和提示 | Help and Tips](help.md)
# 翻译我 | TRANSLATE ME
# 翻译我 | Translate me
## 目前支持的语言 | Languages currently supported
1. 中文(简体)
1. 中文(繁體)
1. English
1. 日本語 (by Bing Microsoft Translator)
1. 한국어 (by Bing Microsoft Translator)
## How to **Pull requests**
1. Click **Fork** In the page top right corner. Fork your own copy of this repository to your account.
1. Use Git to clone/pull repository locally for modification (How to modify please see below).


BIN
document/tips-arrow-change-henshin.png View File

Before After
Width: 494  |  Height: 99  |  Size: 16 kB

BIN
document/tips-arrow-close-numlock.webp View File

Before After

BIN
document/tips-search-TagInGame.png View File

Before After
Width: 664  |  Height: 398  |  Size: 102 kB

BIN
document/tips-search-series.png View File

Before After
Width: 502  |  Height: 498  |  Size: 100 kB

BIN
document/tips-search-series.webp View File

Before After

BIN
document/tips-search-skills.png View File

Before After
Width: 554  |  Height: 806  |  Size: 50 kB

+ 53
- 22
help.md View File

@@ -1,19 +1,30 @@
智龙迷城队伍图制作工具帮助<br>Help of *Puzzle & Dragons Formation Maker*
智龙迷城队伍图制作工具使用技巧<br>Tips of *Puzzle & Dragons Formation Maker*
======
* 直接复制网址即可分享组队或自己添加收藏夹保存。你可以使用*短网址服务*进一步缩短网址。
Copy the URL directly to share the Formation, or add a Bookmark to archives. You can use any *Short URL Service* to further shorten the URL.
## 目录 | Index
* [分享队伍 | Share your team](#分享--share)
* [队伍编辑技巧 | Convenient tips for edit](#编辑技巧--editing-tips)
* [搜索图鉴 | Search cards](#搜索图鉴--search-cards)
* [文字说明的高级功能 | Advanced of the description](#文字的高级功能--advanced-of-text-detail)
* [其他 | Others](#其他--others)
* [报告BUG | Report BUG](#报告bug--report-bug)
## 分享 | Share
### 通过网址分享和收藏队伍 | Share and collect teams by URL
直接复制网址即可分享组队或自己添加收藏夹保存。
Copy the URL directly to share the Formation, or add a Bookmark to collect.
![分享组队](document/tips-share.png)
你也可以使用浏览器扩展生成二维码来分享网址。
You can also share the URL in QR code by browser extensions.
* 可以使用摄像头读取队伍二维码
为了更方便的分享,你可以使用任意第三方*短网址服务*进一步缩短网址。
For easier sharing, you can further shorten your URL using any third-party *Short URL Service*. Like, [bitly](https://bitly.com/).
### 二维码分享 | Share by QR Code
可以使用摄像头读取队伍二维码
You can use the camera to read the Formation QR code
![使用摄像头读取二维码](document/tips-qr-read.webp)
读取到的队伍会显示为链接
The read Formation appears as a link
![成功读取到二维码](document/tips-qr-read-found.png)
目前可以读取 | Currently can read:
1. 本程序格式的二维码
This program format QR code
1. 本程序自有格式的二维码
This program's own format QR code
![PDF二维码](document/tips-qr-pdf.png)
1. 使用浏览器扩展生成本程序组队网址链接的二维码
QR code of this program Formation URL which generated by browser extension.
@@ -21,33 +32,53 @@ The read Formation appears as a link
1. PDC 的二维码
PDC format QR code
![PDC二维码](document/tips-qr-pdc.webp)
* 使用后退即可撤销上一次修改。
Use back to undo the last edit.
## 编辑技巧 | Editing tips
* 使用**后退**即可撤销上一次修改,需要重做则使用前进。
Use **Back** to undo the last edit, redo with Forward.
![撤銷修改](document/tips-undo.png)
* 拖拽怪物头像即可快速交换位置或复制怪物,也支持手机触屏。
Drag monster avatars to quickly swap positions or copy monster, also supports mobile touch screen.
![切换位置](document/tips-interchangeCard.png)
* **拖拽**卡片头像即可快速交换位置,也支持手机触屏。
**Drag** card avatars to quickly swap member's positions, also supports mobile touch screen.
![切换位置](document/tips-interchangeCard.png)
使用顶部的开关可以切换到复制模式
Use the switch at the top can switch to copy mode.
* 如果你希望使用技能切换队长,使用切换按钮。这样可以保留原始队长强调边框,和76版面图标。
If you want switch leader by skill, use the switch button. This preserves the original leader accent border, and the 76 board icon.
![切换位置](document/tips-switch-leader.png)
* 可以在编辑界面的怪物ID输入**怪物名称**或**标签**来搜索怪物。(键入回车以执行)
You can search for monsters by entering the **Monster Name** or **Tags** in the monster ID of the editing interface.(Type Enter to execute)
* 使用`Ctrl + ←/→`,或小键盘上的`←/→`(需关闭`NumLock`)可以快速切换变身。
You can using `Ctrl + ←/→` or `←/→` on keypad (turn `NumLock` off) to quickly change Henshin.
![按键切换变身](document/tips-arrow-change-henshin.png)
![关闭小键盘](document/tips-arrow-close-numlock.webp)
## 搜索图鉴 | Search cards
* 可以在编辑界面的怪物ID输入**怪物名称**或**标签**来搜索卡片。
You can search for card by entering the **Monster Name** or **Tags** in the monster ID of the editing interface.
![搜索怪物名称](document/tips-search-name.png)
点击**系列ID**或**标签**,可搜索该系列
Clisk the **Series ID** or **Tags** to search for series.
![搜索怪物系列](document/tips-search-series.png)
* 点击编辑界面的怪物头像可以跳转到攻略网站。
Click on the monster avatar in the editing interface to jump to the Guide.
* 点击**技能名称**,可搜索相同主动技能宠物
Click on **Skill Name** to search for the same active skills Cards.
![搜索怪物主动技能](document/tips-search-skills.png)
* 点击**系列ID**或**标签**,可搜索该系列
Click the **Series ID** or **Tags** to search for series.
![搜索怪物系列](document/tips-search-series.webp)
* 复制本版本游戏数据的**标签**,可在游戏中搜索系列名称
Copy the **Tag** of this version of the game data can search for the series in the game.
![在游戏中搜索怪物系列](document/tips-search-TagInGame.png)
* 点击编辑界面的卡片头像可以跳转到攻略网站。
Click on the card avatar in the editing interface to jump to the Guide.
![攻略网站](document/tips-guide.png)
在队伍界面和搜索结果的怪物头像上,点击鼠标中键也可以跳转到攻略网站。在手机上则是长按怪物头像然后选择在新标签页打开。
Or click the middle mouse button on the monster avatar of the formation interface and search results to jump to the Guide. On your phone, you're long-pressing the monster avatar and then selecting to open it in a new tab.
![攻略网站2](document/tips-guide2.png)
## 文字的高级功能 | Advanced of text detail
* 队伍标题与队伍说明可以使用`^16进制颜色代码^内容^p`来改变内容颜色;
Formation Title and Detail can use the `^[Hex Color Code]^Content^p` to change the color of the Content.
![文字颜色](document/tips-advanced-color.png)
`%{m怪物ID}`可以显示怪物头像。
`%{m[Monster ID]}` can display the monster avatar.
![怪物头像](document/tips-advanced-card.png)
## 其他 | Others
* 2人只显示部分共用的觉醒的统计(不包括超觉醒),单人和三人则全部显示。
The 2P Multi Games Mode shows only several common awoken statistics (excluding super-awakening), but the Solo and 3P Mode shows all.
* 内建的截图按钮依靠 [html2canvas](https://github.com/niklasvh/html2canvas/),会有一些绘制错误,浏览器的截图扩展能够更加还原显示的真实样子。
@@ -56,5 +87,5 @@ Built-in screenshot button relies on [html2canvas](https://github.com/niklasvh/h
If you just want to use this program as a simple guide, you can add `guide=1` to the parameters, such as `https://mapaler.github.io/PADDashFormation/solo.html?guide=1`. When you enter the page in guide mode, the monster modification interface opens directly and the background is opaque.
## 报告BUG | Report BUG
如果发现 BUG,请先按 Ctrl+F5 强制刷新后测试,如仍有问题可以在 [Issues](//github.com/Mapaler/PADDashFormation/issues) 报告。
If a BUG is found, first test again after force refresh by Ctrl-F5, if there is still a problem, you can report it at the [Issues](//github.com/Mapaler/PADDashFormation/issues).
如果发现 BUG,请先按 Ctrl+F5 强制刷新,并点击数据更新时间按钮强制更新数据。如仍存在问题可以在 [Issues](//github.com/Mapaler/PADDashFormation/issues) 报告。
If a BUG is found, first test again after force refresh by Ctrl-F5, then click the Data Update Time button to force update the data. If there is still a problem, you can report it at the [Issues](//github.com/Mapaler/PADDashFormation/issues).

BIN
images/awoken.png View File

Before After
Width: 96  |  Height: 2528  |  Size: 160 kB Width: 96  |  Height: 2624  |  Size: 164 kB

BIN
images/cards_en/CARDS_072.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 327 kB Width: 1024  |  Height: 1024  |  Size: 614 kB

BIN
images/cards_en/CARDS_073.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 818 kB

BIN
images/cards_en/CARDS_074.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 212 kB

BIN
images/cards_en/CARDS_075.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 69 kB

BIN
images/cards_en/CARDS_076.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 99 kB

BIN
images/cards_ja/CARDS_058.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 898 kB Width: 1024  |  Height: 1024  |  Size: 896 kB

BIN
images/cards_ja/CARDS_071.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 810 kB Width: 1024  |  Height: 1024  |  Size: 854 kB

BIN
images/cards_ja/CARDS_075.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 330 kB Width: 1024  |  Height: 1024  |  Size: 839 kB

BIN
images/cards_ja/CARDS_076.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 338 kB

BIN
images/cards_ko/CARDS_072.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 327 kB Width: 1024  |  Height: 1024  |  Size: 614 kB

BIN
images/cards_ko/CARDS_073.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 818 kB

BIN
images/cards_ko/CARDS_074.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 212 kB

BIN
images/cards_ko/CARDS_075.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 69 kB

BIN
images/cards_ko/CARDS_076.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 99 kB

BIN
images/project file/awoken.fw.png View File

Before After
Width: 96  |  Height: 2528  |  Size: 385 kB Width: 96  |  Height: 2624  |  Size: 396 kB

+ 5
- 4
languages/en.css View File

@@ -308,9 +308,6 @@
content: "Dark Attribute Enemy";
}

.setting-box .row-mon-id .open-search::before{
content: "Simple Search";
}
.search-box::before{
content: "Search Cards";
}
@@ -415,6 +412,10 @@
{
content: "⛓️Evo Search";
}
.search-evolution-by-this::after
{
content: "Cards that need this card as evolutionary material";
}
.real-time-change-card-label::after
{
content: "Real-Time change card";
@@ -553,4 +554,4 @@ label[for="qr-data-type-pdf"]::before
label[for="qr-data-type-pdc"]::before
{
content: "P&D Damage Caculater (PDC)";
}
}

+ 1
- 1
languages/en.js View File

@@ -1,4 +1,4 @@
const localTranslating = {
localTranslating = {
webpage_title: `P&D ${teamsCount}P Formation Maker`,
title_blank: `Input Formation Title`,
detail_blank: `Input Detail`,


+ 4
- 3
languages/ja.css View File

@@ -300,9 +300,6 @@
content: "暗属性の敵";
}
.setting-box .row-mon-id .open-search::before{
content: "簡単な検索";
}
.search-box::before{
content: "モンスターの検索";
}
@@ -407,6 +404,10 @@
{
content: "⛓️進化サーチ";
}
.search-evolution-by-this::after
{
content: "このカードを進化的な素材として必要とするカード";
}
.real-time-change-card-label::after
{
content: "カードを即座に更新します";


+ 1
- 1
languages/ja.js View File

@@ -1,4 +1,4 @@
const localTranslating = {
localTranslating = {
webpage_title: `パズル&ドラゴンズ${teamsCount}人のチーム図作成ツール`,
title_blank: "入力タイトル",
detail_blank: "入力詳細",


+ 5
- 4
languages/ko.css View File

@@ -297,9 +297,6 @@
content: "숨겨진 속성의 적";
}
.setting-box .row-mon-id .open-search::before{
content: "간단한 검색";
}
.search-box::before{
content: "몬스터 검색";
}
@@ -404,6 +401,10 @@
{
content: "⛓️진화 계통";
}
.search-evolution-by-this::after
{
content: "진화 자료로이 카드를 필요로하는 카드";
}
.real-time-change-card-label::after
{
content: "카드를 즉시 업데이트합니다";
@@ -511,4 +512,4 @@ label[for="qr-data-type-pdf"]::before
label[for="qr-data-type-pdc"]::before
{
content: "퍼즐앤드래곤 데미지 카큐라터 (PDC)";
}
}

+ 1
- 1
languages/ko.js View File

@@ -1,4 +1,4 @@
const localTranslating = {
localTranslating = {
webpage_title: `퍼즐앤드래곤 ${teamsCount} 명의 팀 다이어그램 작성 도구`,
title_blank: "입력 제목",
detail_blank: "입력 내용",


+ 37
- 15
languages/zh-CN.js View File

@@ -1,5 +1,5 @@
document.title = `智龙迷城${teamsCount}人队伍图制作工具`;
const localTranslating = {
document.title = localTranslating.webpage_title;
localTranslating = {
skill_parse: {
skill: {
unknown: tp`未知的技能类型:${'type'}`, //type
@@ -249,7 +249,7 @@ function parseSkillDescription(skill) {
}
const mulName = ["HP", "攻击力", "回复力"];
//获取固定的三维成长的名称
function getFixedHpAtkRcvString(values) {
function getFixedHpAtkRcvString(values, scale = true) {
let mulArr = null;
if (Array.isArray(values)) {
mulArr = [
@@ -269,7 +269,7 @@ function parseSkillDescription(skill) {
if (hasMul.length > 0) {
const hasDiff = hasMul.filter(m => m != hasMul[0]).length > 0; //存在不一样的值
if (hasDiff) {
str += mulArr.map((m, i) => (m > 0 && m != 1) ? (mulName[i] + (m >= 1 ? `×${m}倍` : `变为${m*100}%`)) : null).filter(s => s != null).join(",");
str += mulArr.map((m, i) => (m > 0 && m != 1) ? (mulName[i] + (scale ? (m >= 1 ? `×${m}倍` : `变为${m*100}%`) : `增加${m*100}%`)) : null).filter(s => s != null).join(",");
} else {
let hasMulName = mulName.filter((n, i) => mulArr[i] != 1);
if (hasMulName.length >= 3) {
@@ -277,7 +277,7 @@ function parseSkillDescription(skill) {
} else {
str += hasMulName.join("和");
}
str += hasMul[0] >= 1 ? `×${hasMul[0]}倍` : `变为${hasMul[0]*100}%`;
str += scale ? (hasMul[0] >= 1 ? `×${hasMul[0]}倍` : `变为${hasMul[0]*100}%`) : `增加${hasMul[0]*100}%`;
}
} else {
str += "能力值没有变化";
@@ -1210,8 +1210,9 @@ function parseSkillDescription(skill) {
break;
case 169: //5COMBO或以上時受到的傷害減少25%、攻擊力6倍;
str = `${sk[0]}连击或以上时`;
if (sk[1] && sk[1] !== 100) str += `,所有宠物的${getFixedHpAtkRcvString({atk:sk[1]})}`;
if (sk[1] && sk[1] !== 100) str += `,所有宠物的攻击力×${sk[1]/100}倍`;
if (sk[2]) str += `,受到的伤害减少${sk[2]}%`;
if (sk[4]) str += `;此后每多1连击攻击力+${sk[3]/100}倍,最大${sk[4]}连击时×${(sk[4] - sk[0]) * sk[3]/100 + sk[1]/100}倍`;
break;
case 170:
fullColor = nb(sk[0], attrsName);
@@ -1231,9 +1232,9 @@ function parseSkillDescription(skill) {
if (!atSameTime) str+=`${sk[1]}种属性以上`;
else if(sk[0] == 31) str += `5色`;
str += `同时攻击时`;
if (sk[2] && sk[2] !== 100 || sk[4]) str += `,所有宠物的攻击力×${sk[2]/100}倍`;
if (sk[4]) str += `,每多1种属性+${sk[4]/100}倍,最大${sk[1] + (sk[5] - 1)}种属性时${(sk[5] - 1) * sk[4]/100 + sk[2]/100}倍`;
if (sk[2] && sk[2] !== 100) str += `,所有宠物的攻击力×${sk[2]/100}倍`;
if (sk[3]) str += `,受到的伤害减少${sk[3]}%`;
if (sk[4]) str += `;此后每多1种属性攻击力+${sk[4]/100}倍,最大${sk[1] + (sk[5] - 1)}种属性时×${(sk[5] - 1) * sk[4]/100 + sk[2]/100}倍`;
break;
case 171:
fullColor = sk.slice(0,4).filter(c=>c>0); //最多4串珠
@@ -1547,6 +1548,12 @@ function parseSkillDescription(skill) {
case 224:
str = `${sk[0]}回合内,敌人全体变为${attrN(sk[1])}属性。(不受防护盾的影响)`;
break;
case 228:
str = `${sk[0]}回合内,队伍中每存在1个${getAttrTypeString(flags(sk[1]), flags(sk[2]))}时,${getFixedHpAtkRcvString({atk:sk[3],rcv:sk[4]}, false)}`;
break;
case 229:
str = `队伍中每存在1个${getAttrTypeString(flags(sk[0]), flags(sk[1]))}时,${getFixedHpAtkRcvString({hp:sk[2],atk:sk[3],rcv:sk[4]}, false)}`;
break;
default:
str = `未知的技能类型${type}(No.${id})`;
//开发部分
@@ -3117,7 +3124,7 @@ function parseSkillDescription(skill) {
}
})},
{name:"以觉醒数量为倍率类技能(宝石姬)",function:cards=>cards.filter(card=>{
const searchTypeArray = [156,168];
const searchTypeArray = [156,168,228];
const skill = Skills[card.activeSkillId];
if (searchTypeArray.includes(skill.type))
return true;
@@ -3129,11 +3136,17 @@ function parseSkillDescription(skill) {
{
name:"回复力 buff(顶降回复)",
function:cards=>{
const searchTypeArray = [50,90];
const searchTypeArray = [50,90,228];
function getRecScale(as)
{
const sk = as.params;
return sk.slice(1,sk.length>2?-1:undefined).includes(5) && sk.length > 2 ? sk[sk.length-1] : 0;
if (as.type == 228)
{
return sk[4] || 0;
}else
{
return sk.slice(1,sk.length>2?-1:undefined).includes(5) && sk.length > 2 ? sk[sk.length-1] : 0;
}
}
return cards.filter(card=>{
const skills = getCardActiveSkills(card, searchTypeArray);
@@ -3148,11 +3161,17 @@ function parseSkillDescription(skill) {
});
},
addition:card=>{
const searchTypeArray = [50,90];
const searchTypeArray = [50,90,228];
function getRecScale(as)
{
const sk = as.params;
return sk.slice(1,sk.length>2?-1:undefined).includes(5) && sk.length > 2 ? sk[sk.length-1] : 0;
if (as.type == 228)
{
return sk[4] || 0;
}else
{
return sk.slice(1,sk.length>2?-1:undefined).includes(5) && sk.length > 2 ? sk[sk.length-1] : 0;
}
}
const skills = getCardActiveSkills(card, searchTypeArray);
const skill = skills.find(as=>getRecScale(as) > 0);
@@ -3164,11 +3183,13 @@ function parseSkillDescription(skill) {
88,92, //类型的
50,90, //属性的,要排除回复力
156,168, //宝石姬
228, //属性、类型数量
];
const skill = Skills[card.activeSkillId];
if ((skill.type==88 || skill.type==92) || //类型的
(skill.type==50 || skill.type==90) && skill.params.slice(1,skill.params.length>2?-1:undefined).some(sk=>sk!=5) || //属性的,要排除回复力
skill.type==156 && skill.params[4] == 2 || skill.type==168 //宝石姬的
skill.type==156 && skill.params[4] == 2 || skill.type==168 || //宝石姬的
skill.type==228 && skill.params[3] > 0 //属性、类型数量
)
return true;
else if (skill.type == 116 || skill.type == 118){
@@ -3176,7 +3197,8 @@ function parseSkillDescription(skill) {
return subskills.some(subskill=>
(subskill.type==88 || subskill.type==92) || //类型的
(subskill.type==50 || subskill.type==90) && subskill.params.slice(1,subskill.params.length>2?-1:undefined).some(sk=>sk!=5) || //属性的,要排除回复力
subskill.type==156 && subskill.params[4] == 2 || subskill.type==168 //宝石姬的
subskill.type==156 && subskill.params[4] == 2 || subskill.type==168 ||//宝石姬的
subskill.type==228 && subskill.params[3] > 0 //属性、类型数量
);
}
})},


+ 4
- 3
languages/zh-TW.css View File

@@ -303,9 +303,6 @@
content: "暗屬性敵人";
}
.setting-box .row-mon-id .open-search::before{
content: "簡易搜索";
}
.search-box::before{
content: "搜索怪物";
}
@@ -410,6 +407,10 @@
{
content: "⛓️進化鏈";
}
.search-evolution-by-this::after
{
content: "需要此寵物作為進化素材的寵物";
}
.real-time-change-card-label::after
{
content: "即時更新卡片";


+ 1
- 1
languages/zh-TW.js View File

@@ -1,4 +1,4 @@
const localTranslating = {
localTranslating = {
webpage_title: `龍族拼圖${teamsCount}人隊伍圖製作工具`,
title_blank: "輸入隊伍標題",
detail_blank: "輸入說明",


+ 4
- 3
languages/zh.css View File

@@ -303,9 +303,6 @@
content: "暗属性敵人";
}

.setting-box .row-mon-id .open-search::before{
content: "简易搜索";
}
.search-box::before{
content: "搜索怪物";
}
@@ -410,6 +407,10 @@
{
content: "⛓️进化链";
}
.search-evolution-by-this::after
{
content: "需要此宠物作为进化素材的宠物";
}
.real-time-change-card-label::after
{
content: "即时更新卡片";


+ 1
- 1
languages/zh.js View File

@@ -1 +1 @@
document.title = `智龙迷城${teamsCount}人队伍图制作工具`;
document.title = localTranslating.webpage_title;

+ 1
- 1
monsters-info/ckey.json View File

@@ -1 +1 @@
[{"code":"ja","ckey":{"card":"349663b3b9ea313f4e0d22f417e100cf","skill":"24ecdf1bc637b4f50b024d90aa215d20"},"updateTime":1624018972296},{"code":"en","ckey":{"card":"d319d706397dc21a08788aa61d733692","skill":"c0a598c2008ec8de8ea94b32c4c02046"},"updateTime":1624018972296},{"code":"ko","ckey":{"card":"918aa14ff6595d5e83f1d8349615d483","skill":"d38ac2d5ce2ad97612cedc6792833b22"},"updateTime":1624018972296}]
[{"code":"ja","ckey":{"card":"1662af91b3c6c65dcacd7c5f59e3779c","skill":"fbbceb29e8fa54610addce49e5a4c627"},"updateTime":1626437692992},{"code":"en","ckey":{"card":"f968e7c08d9a708a236e956d7050e05a","skill":"fa1024dd36232eb43c030a2499814960"},"updateTime":1626352490457},{"code":"ko","ckey":{"card":"6b1f4e5b5f428ad3303257ac0b118bf2","skill":"17c7e55b774b6fed3eaea6bc5a0c027d"},"updateTime":1626352490457}]

+ 1
- 1
monsters-info/custom/chs.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/custom/cht.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_en.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_ja.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_ko.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/en-card.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/en-skill.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/ja-card.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/ja-skill.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/ko-card.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/official-API/ko-skill.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/skill_en.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/skill_ja.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/skill_ko.json
File diff suppressed because it is too large
View File


+ 56
- 4
multi.html View File

@@ -29,9 +29,7 @@ var formation = new Formation(teamsCount,5);
</script>
<style type="text/css">
.show-team-name-right .team-total-info .team-awoken,
.show-team-name-right .team-total-info>div,
.show-team-name-left .team-total-info .team-awoken,
.show-team-name-left .team-total-info>div
.formation-total-info .tIf-effect,
.formation-total-info .tIf-total-hp
{
@@ -65,7 +63,6 @@ var formation = new Formation(teamsCount,5);
<button class="btn-solo-link" onclick="turnPage(1,arguments[0]);"></button>
<button class="btn-triple-link" onclick="turnPage(3,arguments[0]);"></button>
<button class="btn-swap-AB-team" onclick="swapABCteam();"></button>
<span class="lbl-henshin-change"><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button></span>
<a class="help-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/blob/master/help.md"></a>
</div>
<div>
@@ -75,6 +72,9 @@ var formation = new Formation(teamsCount,5);
<input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label>
</div>
<div class="status"><span class="icon"></span><span class="text"></span></div>
<div>
<span class="lbl-henshin-change"><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button></span>
</div>
</div>
<div class="formation-box">
<div class="title-box edit"><input type="text" class="title" placeholder="输入队伍标题" /><h1 class="title-display"></h1></div>
@@ -100,6 +100,29 @@ var formation = new Formation(teamsCount,5);
<ul class="teams">
<li class="team-bigbox team-1 show-team-name-right">
<div class="team-total-info">
<div class="tIf-addition-info">
<ul class="tIf-attrs">
<li><icon class="attr" data-attr-icon="0"><!--火--></icon></li>
<li><icon class="attr" data-attr-icon="1"><!--水--></icon></li>
<li><icon class="attr" data-attr-icon="2"><!--木--></icon></li>
<li><icon class="attr" data-attr-icon="3"><!--光--></icon></li>
<li><icon class="attr" data-attr-icon="4"><!--暗--></icon></li>
</ul>
<ul class="tIf-types">
<li><icon class="type-icon" data-type-icon="4"><!--龍--></icon></li>
<li><icon class="type-icon" data-type-icon="5"><!--神--></icon></li>
<li><icon class="type-icon" data-type-icon="7"><!--惡魔--></icon></li>
<li><icon class="type-icon" data-type-icon="8"><!--机械--></icon></li>
<li><icon class="type-icon" data-type-icon="1"><!--平衡--></icon></li>
<li><icon class="type-icon" data-type-icon="6"><!--攻撃--></icon></li>
<li><icon class="type-icon" data-type-icon="2"><!--体力--></icon></li>
<li><icon class="type-icon" data-type-icon="3"><!--回復--></icon></li>
<li><icon class="type-icon" data-type-icon="0"><!--進化用--></icon></li>
<li><icon class="type-icon" data-type-icon="12"><!--能力覺醒用--></icon></li>
<li><icon class="type-icon" data-type-icon="14"><!--強化合成用--></icon></li>
<li><icon class="type-icon" data-type-icon="15"><!--販賣用--></icon></li>
</ul>
</div>
<div class="tIf-total-move">
<span class="general"></span>
<span class="awoken-bind"></span>
@@ -604,6 +627,29 @@ var formation = new Formation(teamsCount,5);
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="50"></span><span class="count"></span></li><!--方块心追-->
</ul>
</div>
<div class="tIf-addition-info">
<ul class="tIf-attrs">
<li><icon class="attr" data-attr-icon="0"><!--火--></icon></li>
<li><icon class="attr" data-attr-icon="1"><!--水--></icon></li>
<li><icon class="attr" data-attr-icon="2"><!--木--></icon></li>
<li><icon class="attr" data-attr-icon="3"><!--光--></icon></li>
<li><icon class="attr" data-attr-icon="4"><!--暗--></icon></li>
</ul>
<ul class="tIf-types">
<li><icon class="type-icon" data-type-icon="4"><!--龍--></icon></li>
<li><icon class="type-icon" data-type-icon="5"><!--神--></icon></li>
<li><icon class="type-icon" data-type-icon="7"><!--惡魔--></icon></li>
<li><icon class="type-icon" data-type-icon="8"><!--机械--></icon></li>
<li><icon class="type-icon" data-type-icon="1"><!--平衡--></icon></li>
<li><icon class="type-icon" data-type-icon="6"><!--攻撃--></icon></li>
<li><icon class="type-icon" data-type-icon="2"><!--体力--></icon></li>
<li><icon class="type-icon" data-type-icon="3"><!--回復--></icon></li>
<li><icon class="type-icon" data-type-icon="0"><!--進化用--></icon></li>
<li><icon class="type-icon" data-type-icon="12"><!--能力覺醒用--></icon></li>
<li><icon class="type-icon" data-type-icon="14"><!--強化合成用--></icon></li>
<li><icon class="type-icon" data-type-icon="15"><!--販賣用--></icon></li>
</ul>
</div>
</div>
</li>
</ul>
@@ -781,6 +827,9 @@ var formation = new Formation(teamsCount,5);
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="76"></button><!--2串光--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="77"></button><!--2串暗--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="78"></button><!--十字--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="79"></button><!--3色--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="80"></button><!--4色--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="81"></button><!--5色--></li>
</ul>
</div>
<div class="sawoken-div"><!--超觉醒-->
@@ -864,6 +913,9 @@ var formation = new Formation(teamsCount,5);
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="76" id="search-awoken-76" /><label class="awoken-icon" data-awoken-icon="76" for="search-awoken-76"></label><!--2串光--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="77" id="search-awoken-77" /><label class="awoken-icon" data-awoken-icon="77" for="search-awoken-77"></label><!--2串暗--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="78" id="search-awoken-78" /><label class="awoken-icon" data-awoken-icon="78" for="search-awoken-78"></label><!--十字--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="79" id="search-awoken-79" /><label class="awoken-icon" data-awoken-icon="79" for="search-awoken-79"></label><!--3色--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="80" id="search-awoken-80" /><label class="awoken-icon" data-awoken-icon="80" for="search-awoken-80"></label><!--4色--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="81" id="search-awoken-81" /><label class="awoken-icon" data-awoken-icon="81" for="search-awoken-81"></label><!--5色--></li>
</ul>
</div>
<div class="control-div"><!--控制栏-->
@@ -917,7 +969,7 @@ var formation = new Formation(teamsCount,5);
<div class="setting-row row-mon-id">
<input type="checkbox" class="config-checkbox-ipt" name="real-time-change-card" id="real-time-change-card"><label class="config-checkbox-lbl real-time-change-card-label" for="real-time-change-card"><div class="config-checkbox-lbl-cicle"></div></label>
<button class="open-evolutionary-tree"></button>
<button class="open-search"></button><!--搜索怪物按钮-->
<button class="search-evolution-by-this"><icon class="type-icon" data-type-icon="0"></icon></button>
<input type="search" class="m-id" list="monsters-name-list"/><button class="search-by-string"></button>
<datalist id="monsters-name-list"></datalist>
<ul class="evo-card-list"></ul>


+ 3
- 1
script-json_data.js View File

@@ -68,7 +68,8 @@ const official_awoken_sorting = [
4, 5, 6, 7, 8, 35, 36, 37, 38,
1, 2, 3, 46, 47, 39, 40, 41, 42,
65, 66, 67, 9, 71, 72, 30, 64, 63,
73, 74, 75, 76, 77, 78];
73, 74, 75, 76, 77, 78, 79, 80, 81
];
//pdc的徽章对应数字
const pdcBadgeMap = [
@@ -158,6 +159,7 @@ const sort_function_list = [
}},
{tag:"sort_rarity",name:"稀有度",function:(a,b)=>a.rarity-b.rarity},
{tag:"sort_cost",name:"消耗",function:(a,b)=>a.cost-b.cost},
{tag:"sort_mp",name:"MP",function:(a,b)=>a.mp-b.mp},
{tag:"sort_skillLv1",name:"技能最大冷却时间",function:(a,b)=>Skills[a.activeSkillId].initialCooldown-Skills[b.activeSkillId].initialCooldown},
{tag:"sort_skillLvMax",name:"技能最小冷却时间",function:(a,b)=>{
const skill_a = Skills[a.activeSkillId],skill_b = Skills[b.activeSkillId];


+ 11
- 0
script-universal_function.js View File

@@ -715,6 +715,17 @@ function countTeamHp(memberArr, leader1id, leader2id, solo, noAwoken = false) {
break;
}
break;
case 229:{ //队员中存在每个属性或Type都算一次
let cardsArr = memberArr.filter(m => m.id > 0).map(m => Cards[m.id]); //所有的卡片
let attrsArr = cardsArr.flatMap(card => card.attr); //所有卡片的属性
let typesArr = cardsArr.flatMap(card => card.types); //所有卡片的类型
let correspondingAttrs = flags(sk[0]); //符合的属性
let correspondingTypes = flags(sk[1]); //符合的类型
let correspondingTimes = attrsArr.filter(a=>correspondingAttrs.includes(a)).length + typesArr.filter(t=>correspondingTypes.includes(t)).length; //符合的次数
scale = sk[2] * correspondingTimes / 100 + 1;
//console.log('属性、类型个数动态倍率,当前队长HP倍率为 %s',scale);
break;
}
case 138: //调用其他队长技
scale = sk.reduce((pmul, skid) => pmul * memberHpMul(card, Skills[skid], memberArr, solo), 1)
break;


+ 77
- 13
script.js View File

@@ -25,6 +25,9 @@ const isGuideMod = Boolean(Number(getQueryString("guide"))); //是否以图鉴
if (location.search.includes('&amp;')) {
location.search = location.search.replace(/&amp;/ig, '&');
}
let localTranslating = {
webpage_title: `智龙迷城${teamsCount}人队伍图制作工具`,
}

//一开始就加载当前语言
if (currentLanguage == undefined)
@@ -1530,6 +1533,8 @@ function initialize() {
txtTitle.onchange = function() {
formation.title = this.value;
txtTitleDisplay.innerHTML = descriptionToHTML(this.value);
let titleStr = txtTitleDisplay.textContent.trim();
document.title = titleStr.length > 0 ? `${titleStr.trim()} - ${localTranslating.webpage_title}` : localTranslating.webpage_title;
creatNewUrl();
};
txtTitle.onblur = function() {
@@ -2127,13 +2132,8 @@ function initialize() {
evolutionaryTreeMask_Close.onclick = function(){evolutionaryTreeMask.hide();};
const openEvolutionaryTree = settingBox.querySelector(".row-mon-id .open-evolutionary-tree");
openEvolutionaryTree.onclick = function() {evolutionaryTreeMask.show(editBox.mid)};

const searchOpen = settingBox.querySelector(".row-mon-id .open-search");
searchOpen.onclick = function() {
s_includeSuperAwoken.onchange();
s_canAssist.onchange();
searchBox.classList.toggle(className_displayNone);
};
const searchEvolutionByThis = settingBox.querySelector(".row-mon-id .search-evolution-by-this");
searchEvolutionByThis.onclick = function() {showSearch(Cards.filter(card=>card.evoMaterials.includes(editBox.mid)))};

const s_attr1s = Array.from(searchBox.querySelectorAll(".attrs-div .attr-list-1 .attr-radio"));
const s_attr2s = Array.from(searchBox.querySelectorAll(".attrs-div .attr-list-2 .attr-radio"));
@@ -2551,6 +2551,8 @@ function initialize() {
//如果键入回车,字符串长度大于0,且不是数字,则执行字符串搜索
if (e.key == "Enter" && this.value.length > 0 && !/^\d+$/.test(this.value))
{
s_includeSuperAwoken.onchange();
s_canAssist.onchange();
showSearch(searchByString(this.value));
}
}
@@ -2566,6 +2568,8 @@ function initialize() {

//字符串搜索
btnSearchByString.onclick = function() {
s_includeSuperAwoken.onchange();
s_canAssist.onchange();
showSearch(searchByString(monstersID.value));
};
//觉醒
@@ -2871,11 +2875,26 @@ function initialize() {
editBox.hide();
};
window.addEventListener("keydown",function(event) {
if (!editBox.classList.contains(className_displayNone)) {
if (!editBox.classList.contains(className_displayNone))
{ //编辑窗打开
if (event.key === "Escape") { //按下ESC时,自动关闭编辑窗
btnCancel.onclick();
}
}
else
{
//如果按Ctrl+左右方向键,或者是小键盘上的左右方向键(关闭Num),快速切换变身
if (event.key === "ArrowLeft"
&& (event.code == "Numpad4" || event.ctrlKey))
{
henshinStep(-1);
}
else if (event.key === "ArrowRight"
&& (event.code == "Numpad6" || event.ctrlKey))
{
henshinStep(+1);
}
}
});
btnNull.onclick = function() { //空位置
const mon = new Member();
@@ -3049,7 +3068,7 @@ function changeid(mon, monDom, latentDom) {
awokenIcon.setAttribute(dataAttrName, mon.awoken || 0);
if (mon.awoken != null) //如果提供了觉醒
{
if (mon.awoken > 0 && mon.awoken == card.awakenings.length) {
if (card.awakenings.length > 0 && mon.awoken >= card.awakenings.length) {
awokenIcon.classList.add("full-awoken");
} else {
awokenIcon.classList.remove("full-awoken");
@@ -3349,6 +3368,14 @@ function editBoxChangeMonId(id) {
{
openEvolutionaryTree.classList.add(className_displayNone); //隐藏进化树按钮
}
const searchEvolutionByThis = settingBox.querySelector(".row-mon-id .search-evolution-by-this");
if (card.types.includes(0))
{
searchEvolutionByThis.classList.remove(className_displayNone);
}else
{
searchEvolutionByThis.classList.add(className_displayNone);
}

const mType = monInfoBox.querySelectorAll(".monster-type li");
for (let ti = 0; ti < mType.length; ti++) {
@@ -3536,6 +3563,8 @@ function refreshAll(formationData) {
const txtTitleDisplay = titleBox.querySelector(".title-display");
const txtDetailDisplay = detailBox.querySelector(".detail-display");
txtTitleDisplay.innerHTML = descriptionToHTML(txtTitle.value);
let titleStr = txtTitleDisplay.textContent.trim();
document.title = titleStr.length > 0 ? `${titleStr.trim()} - ${localTranslating.webpage_title}` : localTranslating.webpage_title;
txtDetailDisplay.innerHTML = descriptionToHTML(txtDetail.value);
if (txtTitle.value.length == 0)
titleBox.classList.add("edit");
@@ -3579,13 +3608,13 @@ function refreshAll(formationData) {
{
return;
}
if (leaderIdx > 0 && ti == 0)
if (leaderIdx > 0 && ti == 0) //队长
{
dom.style.transform = `translateX(${leaderIdx*108}px)`;
dom.style.transform = formation.teams.length == 2 && teamNum == 1 ? `translateX(${(5-leaderIdx)*-108}px)` : `translateX(${leaderIdx*108}px)`;
}
else if (leaderIdx > 0 && ti == leaderIdx)
else if (leaderIdx > 0 && ti == leaderIdx) //队长员
{
dom.style.transform = `translateX(${ti*-108}px)`;
dom.style.transform = formation.teams.length == 2 && teamNum == 1 ? `translateX(${(5-ti)*108}px)` : `translateX(${ti*-108}px)`;
}else
{
dom.style.transform = null;
@@ -3855,6 +3884,8 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
const leader1id = team[0][team[3] || 0].id;
const leader2id = teamsCount===2 ? (teamIdx === 1 ? teams[0][0][teams[0][3] || 0].id : teams[1][0][teams[1][3] || 0].id) : team[0][5].id;

const team_2p = teamsCount===2 ? team[0].concat((teamIdx === 1 ? teams[0][0] : teams[1][0])) : team[0];

if (tHpDom) {
const reduceScales1 = getReduceScales(leader1id);
const reduceScales2 = getReduceScales(leader2id);
@@ -3935,6 +3966,39 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
}
}

const tAttrsDom = totalDom.querySelector(".tIf-attrs");
const tTypesDom = totalDom.querySelector(".tIf-types");
//统计队伍颜色个数
if (tAttrsDom)
{
const attrDoms = Array.from(tAttrsDom.querySelectorAll(".attr"));
attrDoms.forEach(attrDom=>{
const attrId = parseInt(attrDom.getAttribute("data-attr-icon"));
const attrCount = team_2p.reduce((pre,member)=>{
if (member.id <= 0) return pre;
const card = Cards[member.id] || Cards[0];
const attrNum = card.attrs.filter(a=>a==attrId).length;
return pre + attrNum;
},0);
attrDom.setAttribute(dataAttrName, attrCount);
});
}
//统计队伍类型个数
if (tTypesDom)
{
const typeDoms = Array.from(tTypesDom.querySelectorAll(".type-icon"));
typeDoms.forEach(typeDom=>{
const typeId = parseInt(typeDom.getAttribute("data-type-icon"));
const typeCount = team_2p.reduce((pre,member)=>{
if (member.id <= 0) return pre;
const card = Cards[member.id] || Cards[0];
const typeNum = card.types.filter(a=>a==typeId).length;
return pre + typeNum;
},0);
typeDom.setAttribute(dataAttrName, typeCount);
});
}

if (tEffectDom) {
const _76board = tEffectDom.querySelector("._76board");
//76版队长技能不被欢队长所影响


+ 57
- 23
solo.html View File

@@ -43,7 +43,6 @@ var formation = new Formation(teamsCount,6);
<a class="down-capture display-none" target="_blank"></a>
<button class="btn-multi-link" onclick="turnPage(2,arguments[0]);"></button>
<button class="btn-triple-link" onclick="turnPage(3,arguments[0]);"></button>
<span class="lbl-henshin-change"><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button></span>
<a class="help-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/blob/master/help.md"></a>
</div>
<div>
@@ -53,6 +52,9 @@ var formation = new Formation(teamsCount,6);
<input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label>
</div>
<div class="status"><span class="icon"></span><span class="text"></span></div>
<div>
<span class="lbl-henshin-change"><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button></span>
</div>
</div>
<div class="formation-box">
<div class="title-box edit"><input type="text" class="title" placeholder="输入队伍标题" /><h1 class="title-display"></h1></div>
@@ -78,30 +80,53 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="17" id="team-1-badge-17"><label class="badge" data-badge-icon="17" for="team-1-badge-17"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="18" id="team-1-badge-18"><label class="badge" data-badge-icon="18" for="team-1-badge-18"></label></li>
<div class="team-total-info">
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
<div class="tIf-total-move">
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">
<ul class="tIf-attrs">
<li><icon class="attr" data-attr-icon="0"><!--火--></icon></li>
<li><icon class="attr" data-attr-icon="1"><!--水--></icon></li>
<li><icon class="attr" data-attr-icon="2"><!--木--></icon></li>
<li><icon class="attr" data-attr-icon="3"><!--光--></icon></li>
<li><icon class="attr" data-attr-icon="4"><!--暗--></icon></li>
</ul>
<ul class="tIf-types">
<li><icon class="type-icon" data-type-icon="4"><!--龍--></icon></li>
<li><icon class="type-icon" data-type-icon="5"><!--神--></icon></li>
<li><icon class="type-icon" data-type-icon="7"><!--惡魔--></icon></li>
<li><icon class="type-icon" data-type-icon="8"><!--机械--></icon></li>
<li><icon class="type-icon" data-type-icon="1"><!--平衡--></icon></li>
<li><icon class="type-icon" data-type-icon="6"><!--攻撃--></icon></li>
<li><icon class="type-icon" data-type-icon="2"><!--体力--></icon></li>
<li><icon class="type-icon" data-type-icon="3"><!--回復--></icon></li>
<li><icon class="type-icon" data-type-icon="0"><!--進化用--></icon></li>
<li><icon class="type-icon" data-type-icon="12"><!--能力覺醒用--></icon></li>
<li><icon class="type-icon" data-type-icon="14"><!--強化合成用--></icon></li>
<li><icon class="type-icon" data-type-icon="15"><!--販賣用--></icon></li>
</ul>
</div>
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
</ul>
<div class="tIf-total-move">
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
</div>
<div class="team-box-name">
<div class="team-box">
<ul class="team-assist">
@@ -487,6 +512,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="76"></span><span class="count"></span></li><!--2串光-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="77"></span><span class="count"></span></li><!--2串暗-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="78"></span><span class="count"></span></li><!--十字-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="79"></span><span class="count"></span></li><!--3色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="80"></span><span class="count"></span></li><!--4色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="81"></span><span class="count"></span></li><!--5色-->
</ul>
</div>
</li>
@@ -653,6 +681,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="76"></button><!--2串光--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="77"></button><!--2串暗--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="78"></button><!--十字--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="79"></button><!--3色--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="80"></button><!--4色--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="81"></button><!--5色--></li>
</ul>
</div>
<div class="sawoken-div"><!--超觉醒-->
@@ -736,6 +767,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="76" id="search-awoken-76" /><label class="awoken-icon" data-awoken-icon="76" for="search-awoken-76"></label><!--2串光--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="77" id="search-awoken-77" /><label class="awoken-icon" data-awoken-icon="77" for="search-awoken-77"></label><!--2串暗--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="78" id="search-awoken-78" /><label class="awoken-icon" data-awoken-icon="78" for="search-awoken-78"></label><!--十字--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="79" id="search-awoken-79" /><label class="awoken-icon" data-awoken-icon="79" for="search-awoken-79"></label><!--3色--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="80" id="search-awoken-80" /><label class="awoken-icon" data-awoken-icon="80" for="search-awoken-80"></label><!--4色--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="81" id="search-awoken-81" /><label class="awoken-icon" data-awoken-icon="81" for="search-awoken-81"></label><!--5色--></li>
</ul>
</div>
<div class="control-div"><!--控制栏-->
@@ -789,7 +823,7 @@ var formation = new Formation(teamsCount,6);
<div class="setting-row row-mon-id">
<input type="checkbox" class="config-checkbox-ipt" name="real-time-change-card" id="real-time-change-card"><label class="config-checkbox-lbl real-time-change-card-label" for="real-time-change-card"><div class="config-checkbox-lbl-cicle"></div></label>
<button class="open-evolutionary-tree"></button>
<button class="open-search"></button><!--搜索怪物按钮-->
<button class="search-evolution-by-this"><icon class="type-icon" data-type-icon="0"></icon></button>
<input type="search" class="m-id" list="monsters-name-list"/><button class="search-by-string"></button>
<datalist id="monsters-name-list"></datalist>
<ul class="evo-card-list"></ul>


BIN
sound/voice/en/padv285.wav View File


BIN
sound/voice/en/padv286.wav View File


BIN
sound/voice/en/padv287.wav View File


BIN
sound/voice/en/padv288.wav View File


BIN
sound/voice/en/padv289.wav View File


BIN
sound/voice/en/padv290.wav View File


BIN
sound/voice/en/padv291.wav View File


BIN
sound/voice/en/padv292.wav View File


BIN
sound/voice/en/padv293.wav View File


BIN
sound/voice/en/padv294.wav View File


BIN
sound/voice/ko/padv285.wav View File


BIN
sound/voice/ko/padv286.wav View File


BIN
sound/voice/ko/padv287.wav View File


BIN
sound/voice/ko/padv288.wav View File


BIN
sound/voice/ko/padv289.wav View File


BIN
sound/voice/ko/padv290.wav View File


BIN
sound/voice/ko/padv291.wav View File


BIN
sound/voice/ko/padv292.wav View File


BIN
sound/voice/ko/padv293.wav View File


BIN
sound/voice/ko/padv294.wav View File


+ 9
- 0
style-monsterimages.css View File

@@ -613,6 +613,15 @@
.awoken-icon[data-awoken-icon='78']{/*十字*/
background-position-y:calc(-32px * 78);
}
.awoken-icon[data-awoken-icon='79']{/*3色*/
background-position-y:calc(-32px * 79);
}
.awoken-icon[data-awoken-icon='80']{/*4色*/
background-position-y:calc(-32px * 80);
}
.awoken-icon[data-awoken-icon='81']{/*5色*/
background-position-y:calc(-32px * 81);
}
/*类型*/
.type-icon{
background-image: url(images/type.png);


+ 60
- 2
style.css View File

@@ -727,7 +727,7 @@ ul{
font-size: 15px;
vertical-align: bottom;
}
.formation-box .team-badge .team-total-info
.formation-box .team-total-info
{
display: inline-block;
}
@@ -949,6 +949,48 @@ icon.inflicts::after
content: attr(data-inflicts);
}

/*队伍内属性、type的个数统计*/
.tIf-attrs,
.tIf-types
{
display: inline-block;
vertical-align: top;
}
.tIf-attrs>li,
.tIf-types>li
{
display: inline-block;
}
.tIf-attrs icon.attr,
.tIf-types icon.type-icon
{
position: relative;
font-family: var(--game-font-family);
color: white;
line-height: 32px;
font-size: 16px;
}
.tIf-attrs icon.attr:not([data-value]),
.tIf-types icon.type-icon:not([data-value]),
.tIf-attrs icon.attr[data-value="0"],
.tIf-types icon.type-icon[data-value="0"]
{
display: none;
}
.tIf-attrs icon.attr::before,
.tIf-types icon.type-icon::before
{
content: "x"attr(data-value);
position: absolute;
right: 0;
bottom: 0;
font-size: 16px;
line-height: 17px;
-webkit-text-stroke: 1px black;
text-stroke: 1px black;
text-shadow: black 1px 1px 1px;
}

/*队伍的潜觉*/
.team-latents .latents{
width: var(--head-block-width);
@@ -1153,6 +1195,13 @@ icon.inflicts::after
transform: scale(0.80);
margin: calc(-32px * (1 - 0.80) / 2);
}
.tIf-addition-info,
.team-assist-awoken,
.team-menber-awoken
{
display : none;
}
.show-mon-awoken .tIf-addition-info,
.show-mon-awoken .team-assist-awoken,
.show-mon-awoken .team-menber-awoken
{
@@ -1807,6 +1856,7 @@ icon.inflicts::after
border: 1px solid white;
border-radius: 5px;
background: grey;
width: 100%;
}
.search-box .search-list-length
{
@@ -2534,7 +2584,10 @@ icon.inflicts::after
content: "🕴️变身";
}
*/

.control-box .lbl-henshin-change button
{
font-size: 2em;
}
.control-box .btn-henshin-back::before{
content: "◀️";
}
@@ -2686,6 +2739,11 @@ table .orb-icon
{
content: "⛓️进化链";
}*/
.search-evolution-by-this icon
{
transform: scale(50%);
margin: -8px;
}

.mask
{


+ 151
- 65
triple.html View File

@@ -57,7 +57,6 @@ var formation = new Formation(teamsCount,6);
<button class="btn-solo-link" onclick="turnPage(1,arguments[0]);"></button>
<button class="btn-multi-link" onclick="turnPage(2,arguments[0]);"></button>
<button class="btn-swap-ABC-team" onclick="swapABCteam();"></button>
<span class="lbl-henshin-change"><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button></span>
<a class="help-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/blob/master/help.md"></a>
</div>
<div>
@@ -68,6 +67,9 @@ var formation = new Formation(teamsCount,6);
<input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label>
</div>
<div class="status"><span class="icon"></span><span class="text"></span></div>
<div>
<span class="lbl-henshin-change"><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button></span>
</div>
</div>
<div class="formation-box">
<div class="title-box edit"><input type="text" class="title" placeholder="输入队伍标题" /><h1 class="title-display"></h1></div>
@@ -93,30 +95,53 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="17" id="team-1-badge-17"><label class="badge" data-badge-icon="17" for="team-1-badge-17"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="18" id="team-1-badge-18"><label class="badge" data-badge-icon="18" for="team-1-badge-18"></label></li>
<div class="team-total-info">
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
<div class="tIf-total-move">
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">
<ul class="tIf-attrs">
<li><icon class="attr" data-attr-icon="0"><!--火--></icon></li>
<li><icon class="attr" data-attr-icon="1"><!--水--></icon></li>
<li><icon class="attr" data-attr-icon="2"><!--木--></icon></li>
<li><icon class="attr" data-attr-icon="3"><!--光--></icon></li>
<li><icon class="attr" data-attr-icon="4"><!--暗--></icon></li>
</ul>
<ul class="tIf-types">
<li><icon class="type-icon" data-type-icon="4"><!--龍--></icon></li>
<li><icon class="type-icon" data-type-icon="5"><!--神--></icon></li>
<li><icon class="type-icon" data-type-icon="7"><!--惡魔--></icon></li>
<li><icon class="type-icon" data-type-icon="8"><!--机械--></icon></li>
<li><icon class="type-icon" data-type-icon="1"><!--平衡--></icon></li>
<li><icon class="type-icon" data-type-icon="6"><!--攻撃--></icon></li>
<li><icon class="type-icon" data-type-icon="2"><!--体力--></icon></li>
<li><icon class="type-icon" data-type-icon="3"><!--回復--></icon></li>
<li><icon class="type-icon" data-type-icon="0"><!--進化用--></icon></li>
<li><icon class="type-icon" data-type-icon="12"><!--能力覺醒用--></icon></li>
<li><icon class="type-icon" data-type-icon="14"><!--強化合成用--></icon></li>
<li><icon class="type-icon" data-type-icon="15"><!--販賣用--></icon></li>
</ul>
</div>
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
</ul>
<div class="tIf-total-move">
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
</div>
<div class="team-box-name">
<div class="team-box">
<ul class="team-assist">
@@ -502,6 +527,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="76"></span><span class="count"></span></li><!--2串光-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="77"></span><span class="count"></span></li><!--2串暗-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="78"></span><span class="count"></span></li><!--十字-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="79"></span><span class="count"></span></li><!--3色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="80"></span><span class="count"></span></li><!--4色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="81"></span><span class="count"></span></li><!--5色-->
</ul>
</div>
</li>
@@ -526,30 +554,53 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-2-badge" class="badge-radio" value="16" id="team-2-badge-16"><label class="badge" data-badge-icon="16" for="team-2-badge-16"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="17" id="team-2-badge-17"><label class="badge" data-badge-icon="17" for="team-2-badge-17"></label></li>
<li><input type="radio" name="team-2-badge" class="badge-radio" value="18" id="team-2-badge-18"><label class="badge" data-badge-icon="18" for="team-2-badge-18"></label></li>
<div class="team-total-info">
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
<div class="tIf-total-move">
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">
<ul class="tIf-attrs">
<li><icon class="attr" data-attr-icon="0"><!--火--></icon></li>
<li><icon class="attr" data-attr-icon="1"><!--水--></icon></li>
<li><icon class="attr" data-attr-icon="2"><!--木--></icon></li>
<li><icon class="attr" data-attr-icon="3"><!--光--></icon></li>
<li><icon class="attr" data-attr-icon="4"><!--暗--></icon></li>
</ul>
<ul class="tIf-types">
<li><icon class="type-icon" data-type-icon="4"><!--龍--></icon></li>
<li><icon class="type-icon" data-type-icon="5"><!--神--></icon></li>
<li><icon class="type-icon" data-type-icon="7"><!--惡魔--></icon></li>
<li><icon class="type-icon" data-type-icon="8"><!--机械--></icon></li>
<li><icon class="type-icon" data-type-icon="1"><!--平衡--></icon></li>
<li><icon class="type-icon" data-type-icon="6"><!--攻撃--></icon></li>
<li><icon class="type-icon" data-type-icon="2"><!--体力--></icon></li>
<li><icon class="type-icon" data-type-icon="3"><!--回復--></icon></li>
<li><icon class="type-icon" data-type-icon="0"><!--進化用--></icon></li>
<li><icon class="type-icon" data-type-icon="12"><!--能力覺醒用--></icon></li>
<li><icon class="type-icon" data-type-icon="14"><!--強化合成用--></icon></li>
<li><icon class="type-icon" data-type-icon="15"><!--販賣用--></icon></li>
</ul>
</div>
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
</ul>
<div class="tIf-total-move">
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
</div>
<div class="team-box-name">
<div class="team-box">
<ul class="team-assist">
@@ -935,6 +986,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="76"></span><span class="count"></span></li><!--2串光-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="77"></span><span class="count"></span></li><!--2串暗-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="78"></span><span class="count"></span></li><!--十字-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="79"></span><span class="count"></span></li><!--3色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="80"></span><span class="count"></span></li><!--4色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="81"></span><span class="count"></span></li><!--5色-->
</ul>
</div>
</li>
@@ -959,30 +1013,53 @@ var formation = new Formation(teamsCount,6);
<li><input type="radio" name="team-3-badge" class="badge-radio" value="16" id="team-3-badge-16"><label class="badge" data-badge-icon="16" for="team-3-badge-16"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="17" id="team-3-badge-17"><label class="badge" data-badge-icon="17" for="team-3-badge-17"></label></li>
<li><input type="radio" name="team-3-badge" class="badge-radio" value="18" id="team-3-badge-18"><label class="badge" data-badge-icon="18" for="team-3-badge-18"></label></li>
<div class="team-total-info">
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
<div class="tIf-total-move">
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">
<ul class="tIf-attrs">
<li><icon class="attr" data-attr-icon="0"><!--火--></icon></li>
<li><icon class="attr" data-attr-icon="1"><!--水--></icon></li>
<li><icon class="attr" data-attr-icon="2"><!--木--></icon></li>
<li><icon class="attr" data-attr-icon="3"><!--光--></icon></li>
<li><icon class="attr" data-attr-icon="4"><!--暗--></icon></li>
</ul>
<ul class="tIf-types">
<li><icon class="type-icon" data-type-icon="4"><!--龍--></icon></li>
<li><icon class="type-icon" data-type-icon="5"><!--神--></icon></li>
<li><icon class="type-icon" data-type-icon="7"><!--惡魔--></icon></li>
<li><icon class="type-icon" data-type-icon="8"><!--机械--></icon></li>
<li><icon class="type-icon" data-type-icon="1"><!--平衡--></icon></li>
<li><icon class="type-icon" data-type-icon="6"><!--攻撃--></icon></li>
<li><icon class="type-icon" data-type-icon="2"><!--体力--></icon></li>
<li><icon class="type-icon" data-type-icon="3"><!--回復--></icon></li>
<li><icon class="type-icon" data-type-icon="0"><!--進化用--></icon></li>
<li><icon class="type-icon" data-type-icon="12"><!--能力覺醒用--></icon></li>
<li><icon class="type-icon" data-type-icon="14"><!--強化合成用--></icon></li>
<li><icon class="type-icon" data-type-icon="15"><!--販賣用--></icon></li>
</ul>
</div>
<div class="tIf-total-hp">
<span class="general"></span>
<span class="awoken-bind"></span>
<span class="reduce">
<span class="reduce-scale"></span>
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
<canvas height="20" width="100" class="reduce-details display-none"></canvas>
</span>
</div>
</ul>
<div class="tIf-total-move">
<span class="general"></span>
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
</div>
</div>
<div class="team-box-name">
<div class="team-box">
<ul class="team-assist">
@@ -1368,6 +1445,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="76"></span><span class="count"></span></li><!--2串光-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="77"></span><span class="count"></span></li><!--2串暗-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="78"></span><span class="count"></span></li><!--十字-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="79"></span><span class="count"></span></li><!--3色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="80"></span><span class="count"></span></li><!--4色-->
<li class="awoken-count display-none"><span class="awoken-icon" data-awoken-icon="81"></span><span class="count"></span></li><!--5色-->
</ul>
</div>
</li>
@@ -1534,6 +1614,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="76"></button><!--2串光--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="77"></button><!--2串暗--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="78"></button><!--十字--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="79"></button><!--3色--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="80"></button><!--4色--></li>
<li class="awoken-count"><button class="awoken-icon" data-awoken-icon="81"></button><!--5色--></li>
</ul>
</div>
<div class="sawoken-div"><!--超觉醒-->
@@ -1617,6 +1700,9 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="76" id="search-awoken-76" /><label class="awoken-icon" data-awoken-icon="76" for="search-awoken-76"></label><!--2串光--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="77" id="search-awoken-77" /><label class="awoken-icon" data-awoken-icon="77" for="search-awoken-77"></label><!--2串暗--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="78" id="search-awoken-78" /><label class="awoken-icon" data-awoken-icon="78" for="search-awoken-78"></label><!--十字--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="79" id="search-awoken-79" /><label class="awoken-icon" data-awoken-icon="79" for="search-awoken-79"></label><!--3色--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="80" id="search-awoken-80" /><label class="awoken-icon" data-awoken-icon="80" for="search-awoken-80"></label><!--4色--></li>
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="81" id="search-awoken-81" /><label class="awoken-icon" data-awoken-icon="81" for="search-awoken-81"></label><!--5色--></li>
</ul>
</div>
<div class="control-div"><!--控制栏-->
@@ -1670,7 +1756,7 @@ var formation = new Formation(teamsCount,6);
<div class="setting-row row-mon-id">
<input type="checkbox" class="config-checkbox-ipt" name="real-time-change-card" id="real-time-change-card"><label class="config-checkbox-lbl real-time-change-card-label" for="real-time-change-card"><div class="config-checkbox-lbl-cicle"></div></label>
<button class="open-evolutionary-tree"></button>
<button class="open-search"></button><!--搜索怪物按钮-->
<button class="search-evolution-by-this"><icon class="type-icon" data-type-icon="0"></icon></button>
<input type="search" class="m-id" list="monsters-name-list"/><button class="search-by-string"></button>
<datalist id="monsters-name-list"></datalist>
<ul class="evo-card-list"></ul>


Loading…
Cancel
Save