Equipment Docs

This commit is contained in:
oc 2018-05-10 00:08:42 +08:00
parent 647dda4836
commit b0dc4d8286
10 changed files with 89 additions and 22 deletions

View File

@ -1,6 +1,6 @@
# V2.0版本介绍 # V2.0版本介绍
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
目前样板已经更新到V2.0版本以上本章将对V2.0的一些内容进行介绍。 目前样板已经更新到V2.0版本以上本章将对V2.0的一些内容进行介绍。

View File

@ -1,6 +1,6 @@
# 附录:API列表 # 附录:API列表
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
所有系统支持的API都列在了这里。所有可能被用到的API都在前面用\*标记。 所有系统支持的API都列在了这里。所有可能被用到的API都在前面用\*标记。

View File

@ -1,6 +1,6 @@
# 元件说明 # 元件说明
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。 在本章中,将对样板里的各个元件进行说明。各个元件主要包括道具、门、怪物、楼梯等等。
@ -24,15 +24,7 @@
如果需要让剑盾等变成装备,可以直接在`data.js`中设置`'equipment': true`即可。 如果需要让剑盾等变成装备,可以直接在`data.js`中设置`'equipment': true`即可。
值得注意的是,有时候会有一个装备加多种属性的需求,此时需要把剑盾的效果从数值改成一个对象: 有关装备更为详细的资料可参见[自定义装备](personalization#自定义装备)的说明。
``` js
"sword1": {"atk": 10, "def": 0, "mdef": 5}, // 铁剑加10攻和5魔防
"shield1": {"atk": 0, "def": 10, "mdef": 10}, // 铁盾加10防和10魔防
```
将需要的项目按照如上方式修改即可。
## 门 ## 门

View File

@ -1,6 +1,6 @@
# 事件 # 事件
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
本章内将对样板所支持的事件进行介绍。 本章内将对样板所支持的事件进行介绍。

View File

@ -1,6 +1,6 @@
# HTML5 魔塔样板说明文档 # HTML5 魔塔样板说明文档
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
众所周知魔塔的趋势是向移动端发展贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中NekoRPG有着比较大的局限性游戏感较差更是完全没法在iOS上运行。而一些APP的魔塔虽然可用但是必须要下载安装对于Android和iOS还必须开发不同的版本非常麻烦。 众所周知魔塔的趋势是向移动端发展贴吧中也常常能见到“求手机魔塔”的帖子。然而现有的工具中NekoRPG有着比较大的局限性游戏感较差更是完全没法在iOS上运行。而一些APP的魔塔虽然可用但是必须要下载安装对于Android和iOS还必须开发不同的版本非常麻烦。

View File

@ -1,6 +1,6 @@
# 个性化 # 个性化
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。 有时候只靠样板本身可能是不够的。我们需要一些个性化、自定义的素材,道具效果,怪物属性,等等。
@ -280,6 +280,79 @@ control.prototype.checkBlock = function () {
``` ```
4. 如果有更高的需求,例如想让吸血效果变成一半(如异空间),则还是在上面这些地方进行对应的修改即可。 4. 如果有更高的需求,例如想让吸血效果变成一半(如异空间),则还是在上面这些地方进行对应的修改即可。
## 自定义装备
由于HTML5魔塔并不像RM那样存在一个装备界面可供我们对装备进行调整但是我们也可以使用一个替代的方式实现这个目标。
### 装备的实现原理
在HTML5中装备将全部看成是永久道具constants同时对于每个装备位置勇士都定义一个flag域表示正在装备的内容。
例如:当勇士获得银剑时,将获得一个永久道具“银剑”;当使用这个银剑,首先检查勇士当前是否装备了武器(比如铁剑),如果
装备了则先脱掉装备(减去已装备的铁剑所加的属性,并获得永久道具铁剑),然后再穿上新的银剑。
同时由于脱剑术和脱盾术的存在我们还需要一个“脱掉装备”的永久道具比如sword0使用它可以脱掉对应位置的装备。
### 装备加值的修改
要启用装备首先需要在data.js全塔属性中设置`'equipment': true`。此时,游戏内将自动将剑盾变成装备的存在,其
所加的数值就是全塔属性中对应的数值比如铁剑sword1就加的全塔属性中sword1的值
有时候,我们还会有一个装备加多种属性的需求,此时需要将对应的项从数值改变成一个对象。
``` js
"sword1": {"atk": 10, "def": 0, "mdef": 5}, // 铁剑加10攻和5魔防
"shield1": {"atk": 0, "def": 10, "mdef": 10}, // 铁盾加10防和10魔防
```
通过这种方式,当穿上装备时,将会给你的三围分别加上对应项的数值。
### 新增剑盾
样板默认提供了铁剑(盾),银剑(盾),骑士剑(盾),圣剑(盾)和神圣剑(盾)这五类装备。但有时候,五类是不够的,
我们可能还需要更多的剑盾。
要增加更多的剑盾,我们需要进行如下步骤:(以新增剑为例)
1. 新注册一个素材到游戏;**其ID必须是sword+数字的形式比如sword6等。**同理如果是盾就必须是shield+数字的形式比如shield6。
2. 将其cls设置为`constants``useItemEffect`和`canUseItem`直接复制其他几个剑盾的内容。
(即:`useItemEffect`必须为`"core.plugin.useEquipment(itemId)"``canUseItemEffect`必须为`"true"`)。
3. 使用VSCode或其他文本编辑器直接打开`data.js`文件,并在`"values"`中仿照已有的内容添加剑盾的属性。
(例如:`"sword6": 100`,或者`"sword6": `{"atk": 100, "def": 0, "mdef": 50}`
!> 请注意新的剑的ID必须是sword+数字新的盾的ID必须是shield+数字的形式,不然装备将无效!
### 新增其他部位的装备
如果我们还需要新增更多部位的装备,比如戒指、首饰等等,也是可以的,只需要依次进行如下步骤:(以新建戒指为例)
1. 选择一个装备的部位的ID比如假设我们的装备部位为戒指那么我们可以选择"ring"作为装备的部位。
2. 定义一个空戒指,相当于脱掉戒指。注册一个素材到游戏,**其ID必须是ring0**即部位ID+数字0
3. 同上述新建剑盾的方式来设置ring0这个空戒指的属性。请注意打开data.js后设置的其值必须为0。
(即:必须是`"ring0": 0`)
3. 创建更多的戒指每加一个新的戒指到游戏其ID必须是**ring+数字**的形式,比如`ring1`, `ring2`,等等。
4. 对于每一个创建的戒指按照上述新建剑盾的方式设置属性图块属性打开data.js直接编辑
(例如:`"ring2": {"atk": 3, "def": 5, "mdef": 8}`
5. **切换到脚本编辑 - 自定义插件编写,在`this.useEquipment`中仿照着新增一行代表戒指的使用。**
``` js
this.useEquipment = function (itemId) { // 使用装备
_useEquipment(itemId, "sword", "atk"); // 剑
_useEquipment(itemId, "shield", "def"); // 盾
_useEquipment(itemId, "ring", "mdef"); // 新增的戒指
}
```
我们仿照着新增一行`_useEquipment(itemId, "ring", "mdef")`。
其中第二项为装备部位的ID比如我们上述定义的是ring第三项表示“如果values中该值为数字则加到什么属性上”。
比如如果我们这里写mdef那么我们假设在data.js的values中设置`"ring1": 20`则使用该戒指会增加20点魔防。
如果你定义的是对象`{"atk": xxx, "def": xxx, "mdef": xxx}`的形式,则不会受到第三项的影响。
!> 必须对于每一个装备部位定义唯一一个不同的ID脱掉装备空装备必须是该ID加数字0的形式其他有效装备必须是
该ID+正整数的形式,不然会出错!
## 自定义怪物属性 ## 自定义怪物属性
如果你对现有的怪物不满意,想自行添加怪物属性(例如让怪物拥有双属性乃至更多属性),也是可以的。具体参见`enemys.js`文件。 如果你对现有的怪物不满意,想自行添加怪物属性(例如让怪物拥有双属性乃至更多属性),也是可以的。具体参见`enemys.js`文件。

View File

@ -1,6 +1,6 @@
# 快速上手 # 快速上手
?> 目前版本**v2.2**,上次更新时间:* {docsify-updated} * ?> 目前版本**v2.2.1**,上次更新时间:* {docsify-updated} *
在这一节中,将详细介绍做一部塔的流程。现在,让我们来做一部单层塔! 在这一节中,将详细介绍做一部塔的流程。现在,让我们来做一部单层塔!

View File

@ -105,13 +105,13 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
}, },
"sword0": { "sword0": {
"cls": "constants", "cls": "constants",
"name": "折断的剑", "name": "剑",
"text": "没有任何作用的剑,相当于脱掉装备。" "text": "使用可脱掉当前装备的剑。"
}, },
"shield0": { "shield0": {
"cls": "constants", "cls": "constants",
"name": "残破的盾", "name": "盾",
"text": "没有任何作用的盾,相当于脱掉装备。" "text": "使用可脱掉当前装备的盾。"
}, },
"book": { "book": {
"cls": "constants", "cls": "constants",

View File

@ -76,7 +76,9 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
'63':{'cls': 'items', 'id': 'moneyPocket'}, // 金钱袋 '63':{'cls': 'items', 'id': 'moneyPocket'}, // 金钱袋
'64':{'cls': 'items', 'id': 'shoes'}, // 绿鞋 '64':{'cls': 'items', 'id': 'shoes'}, // 绿鞋
'65':{'cls': 'items', 'id': 'hammer'}, // 圣锤 '65':{'cls': 'items', 'id': 'hammer'}, // 圣锤
'66':{'cls': 'items', 'id': 'lifeWand'}, // 生命魔杖 '66':{'cls': 'items', 'id': 'sword0'}, // 空剑
'67':{'cls': 'items', 'id': 'shield0'}, // 空盾
'68':{'cls': 'items', 'id': 'lifeWand'}, // 生命魔杖
////////////////////////// 门、楼梯、传送点部分 ////////////////////////// ////////////////////////// 门、楼梯、传送点部分 //////////////////////////

View File

@ -5,7 +5,7 @@ while循环事件 √
地图数据统计 地图数据统计
最大存档个数提到main处理 √ 最大存档个数提到main处理 √
新建地图可以保留楼层属性 √ 新建地图可以保留楼层属性 √
装备的教程 自定义装备的教程(个性化 - 自定义装备) √
部分Bug修复 √ 部分Bug修复 √
----------------------------------------------------------------------- -----------------------------------------------------------------------