diff --git a/API列表.txt b/API列表.txt
index 061b3ca9..4a12de10 100644
--- a/API列表.txt
+++ b/API列表.txt
@@ -99,9 +99,9 @@ core.status.hero (勇士信息;此项和全塔属性中的hero大体是
core.status.hero.mana 当前魔力值
core.status.hero.atk 当前攻击力
core.status.hero.def 当前防御力
- core.status.hero.mdef 当前魔防值
+ core.status.hero.mdef 当前护盾值
core.status.hero.money 当前金币值
- core.status.hero.experience 当前经验值
+ core.status.hero.exp 当前经验值
core.status.hero.loc 当前的位置信息
core.status.hero.equipment 当前装上的装备
core.status.hero.items 当前拥有的道具信息
@@ -749,7 +749,7 @@ core.getDamage(enemy, x, y, floorId)
core.getExtraDamage(enemy, x, y, floorId)
-获得某个怪物的额外伤害值(不可被魔防减伤)。
+获得某个怪物的额外伤害值(不可被护盾减伤)。
目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。
@@ -1233,7 +1233,7 @@ core.unloadEquip(equipType, callback)
core.compareEquipment(compareEquipId, beComparedEquipId)
比较两个套装的差异。
-此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。
+此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。
如果存在差异的,将作为一个对象返回其差异内容。
diff --git a/_docs/_api.md b/_docs/_api.md
index 5bd7cb23..31880e51 100644
--- a/_docs/_api.md
+++ b/_docs/_api.md
@@ -52,7 +52,7 @@ core.updateStatusBar()
core.setStatus('atk', 1000)
-将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, experience等等。
+将攻击力设置为1000;这里把atk可以改成hp, def, mdef, money, exp等等。
本句等价于 core.status.hero.atk = 1000
@@ -385,10 +385,6 @@ core.enemys.getDamage(enemyId, x, y, floorId)
后面三个参数是怪物坐标和楼层。
-core.enemys.getExtraDamage(enemyId)
-返回某个怪物会对勇士造成的额外伤害(不可被魔防抵消),例如仇恨、固伤等等。
-
-
core.enemys.nextCriticals(enemyId, number, x, y, floorId)
返回一个列表,为接下来number(可忽略,默认为1)个该怪物的临界值和临界减伤。
列表每一项类似 [x,y] 表示临界值为x,且临界减伤为y。
diff --git a/_docs/api.md b/_docs/api.md
index 0d73e350..0519a600 100644
--- a/_docs/api.md
+++ b/_docs/api.md
@@ -99,9 +99,9 @@ core.status.hero (勇士信息;此项和全塔属性中的hero大体是
core.status.hero.mana 当前魔力值
core.status.hero.atk 当前攻击力
core.status.hero.def 当前防御力
- core.status.hero.mdef 当前魔防值
+ core.status.hero.mdef 当前护盾值
core.status.hero.money 当前金币值
- core.status.hero.experience 当前经验值
+ core.status.hero.exp 当前经验值
core.status.hero.loc 当前的位置信息
core.status.hero.equipment 当前装上的装备
core.status.hero.items 当前拥有的道具信息
@@ -747,11 +747,6 @@ core.getDamage(enemy, x, y, floorId)
如果没有破防或无法战斗则返回null,否则返回具体的伤害值。
-core.getExtraDamage(enemy, x, y, floorId)
-获得某个怪物的额外伤害值(不可被魔防减伤)。
-目前暂时只包含了仇恨和固伤两者,如有需要可复写该函数。
-
-
core.getDamageString(enemy, x, y, floorId)
获得某个怪物伤害字符串和颜色信息,以便于在地图上绘制显伤。
@@ -1232,7 +1227,7 @@ core.unloadEquip(equipType, callback)
core.compareEquipment(compareEquipId, beComparedEquipId)
比较两个套装的差异。
-此函数将对所有的勇士属性包括生命魔力攻防魔防金币等进行比较。
+此函数将对所有的勇士属性包括生命魔力攻防护盾金币等进行比较。
如果存在差异的,将作为一个对象返回其差异内容。
diff --git a/_docs/element.md b/_docs/element.md
index b2576eb4..30ddded8 100644
--- a/_docs/element.md
+++ b/_docs/element.md
@@ -54,9 +54,9 @@
type为该装备的类型,必填,和上面装备栏一一对应。例如,0就是武器,2就是首饰等等。
-atk/def/mdef为该装备分别增加的攻防魔防数值(支持负数);如果不加也可省略不写。
+atk/def/mdef为该装备分别增加的攻防护盾数值(支持负数);如果不加也可省略不写。
-从V2.6开始,可以拓展到任何勇士的属性,如hpmax, atk, def, mdef, experience等等;自行添加的属性包括攻速speed也能使用。
+从V2.6开始,可以拓展到任何勇士的属性,如hpmax, atk, def, mdef, exp等等;自行添加的属性包括攻速speed也能使用。
animate为该装备的攻击动画,仅对type为0时有效。具体可参见[动画和天气系统](#动画和天气系统)。
@@ -68,9 +68,9 @@ percentage为该装备是否按比例增加属性。
{"type": 0, "atk": 10} // 装备类型是武器,效果是攻击+10,使用默认的攻击动画
{"type": 0, "atk": 40, "animate": "sword"} // 装备类型为武器,效果是攻击+10,攻击动画是sword
{"type": 1, "def": 40, "percentage": true} // 装备类型是防具,效果是防御提升40%
-{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和魔防各+100
-{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20,防御和魔防各+50
-{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖,效果是攻击下降20%,防御和魔防各提升50%
+{"type": 1, "def": 100, "mdef": 100} // 装备类型是防具,效果是防御和护盾各+100
+{"type": 3, "atk": -20, "def": 50, "mdef": 50} // 装备类型是魔杖,效果是攻击-20,防御和护盾各+50
+{"type": 2, "atk": -20, "def": 50, "mdef": 50, "percentage": true} // 装备类型是魔杖,效果是攻击下降20%,防御和护盾各提升50%
```
所有取值全部向下取整。
@@ -153,13 +153,13 @@ yellowWall, blueWall, whiteWall
怪物的特殊属性所对应的数字(special)在脚本编辑中的`getSpecials`中定义,请勿对已有的属性进行修改。
-多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、魔防、诅咒、阻击四个属性。
+多属性可采用数组的写法,比如`'special': [1,3]`视为同时拥有先攻和坚固属性;`'special': [5,10,14,18]`视为拥有3连击、模仿、诅咒、阻击四个属性。
怪物可以负伤,在全塔属性的全局变量`enableNegativeDamage`中指定。
打败怪物后可以进行加点操作。有关加点塔的制作可参见[加点事件](event#加点事件)。
-如果全塔属性中的enableExperience为false,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。
+如果全塔属性中的enableexp为false,即不启用经验的话,怪物手册里将不显示怪物的经验值,打败怪物也不获得任何经验。
拿到幸运金币后,打怪获得的金币将翻倍。
diff --git a/_docs/event.md b/_docs/event.md
index fd39afb1..4fd92d4e 100644
--- a/_docs/event.md
+++ b/_docs/event.md
@@ -332,7 +332,7 @@

-- `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(魔防值),money(金币),experience(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。
+- `status:xxx` 获取勇士属性时只能使用如下几个:hp(生命值),atk(攻击力),def(防御力),mdef(护盾值),money(金币),exp(经验),x(勇士的横坐标),y(勇士的纵坐标),direction(勇士的方向)。
- `item:xxx` 中的xxx为道具ID。所有道具的ID定义在items.js中,请自行查看。例如,`item:centerFly` 代表中心对称飞行器的个数。
- `flag:xxx` 中的xxx为一个自定义的变量/Flag(支持中文);如果没有对其进行赋值则默认值为0。
- `global:xxx` 中的xxx为一个全局存储的名称(支持中文);如果没有对其进行赋值则默认值为0。
@@ -507,7 +507,7 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam
id为必填项,代表要修改的怪物ID。
-name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `experience`, `point`, `special`, `name`。
+name为必填项,代表要修改的项,例如`hp`, `atk`, `def`, `money`, `exp`, `point`, `special`, `name`。
value为必填项,代表要修改到的内容。对于修改名称的,必须加单引号。
@@ -575,7 +575,7 @@ value为必填项,代表要修改到的结果。该项必须是个数值。
``` js
[
- {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示魔防值
+ {"type": "setGlobalFlag", "name": "enableMDef", "value": false}, // 不在状态栏显示护盾值
]
```
@@ -2523,7 +2523,7 @@ if (core.flags.enableAddPoint && point > 0) {
"name": "贪婪之神", // 商店名称(标题)
"icon": "blueShop", // 商店图标,blueShop为蓝色商店,pinkShop为粉色商店
"textInList": "1F金币商店", // 在快捷商店栏中显示的名称
- "use": "money", // 商店所要使用的。只能是"money"或"experience"。
+ "use": "money", // 商店所要使用的。只能是"money"或"exp"。
"commonTimes": true, // 是否使用全局次数
"mustEnable": false, // 如果未开启则不显示在状态栏中
"need": "20+10*times*(times+1)", // 商店需要的金币/经验数值;可以是一个表达式,以times(访问次数)作为参数计算。
@@ -2532,7 +2532,7 @@ if (core.flags.enableAddPoint && point > 0) {
// effect可以对status,item和flag进行操作;必须是X+=Y的形式,其中Y可以是一个表达式
{"text": "生命+800", "effect": "status:hp+=800"}, // 生命+800
{"text": "攻击+4", "need": 30, "effect": "status:atk+=4"}, // 规定具体的数值
- {"text": "防御+2,魔防+4", "effect": "status:def+=2;status:mdef+=4"}, // 多个效果用分号分开
+ {"text": "防御+2,护盾+4", "effect": "status:def+=2;status:mdef+=4"}, // 多个效果用分号分开
]
}
],
@@ -2544,7 +2544,7 @@ if (core.flags.enableAddPoint && point > 0) {
- name 为商店的名称(打开商店后的标题)
- icon 为商店的图标,在icons.js的npcs中定义。如woman可代表一个商人。
- textInList 为其在快捷商店栏中显示的名称,如"3楼金币商店"等
-- use 为消耗的类型,是金币(money)还是经验(experience)。
+- use 为消耗的类型,是金币(money)还是经验(exp)。
- commonTimes 是否使用全局次数;如果为true则可以多个快捷商店共享相同的次数
- mustEnable 是否必须是只在开启状态才在列表显示;如果此项为true则未开启的快捷商店不予显示
- need 是一个表达式,计算商店所需要用到的数值。
@@ -2710,7 +2710,7 @@ if (core.flags.enableAddPoint && point > 0) {
本塔也支持经验升级,即用户杀怪获得经验后,可以到达某些数值自动进阶,全面提升属性。
-要经验升级,你需要先在`data.js`中的全局变量中启用。你需要将`enableExperience`启用经验,且`enableLevelUp`启用进阶。同时你也可以将`enableLv`置为true以在状态栏中显示当前等级(境界)。
+要经验升级,你需要先在`data.js`中的全局变量中启用。你需要将`enableExp`启用经验,且`enableLevelUp`启用进阶。同时你也可以将`enableLv`置为true以在状态栏中显示当前等级(境界)。
同时,你还需要在`data.js`中的`levelUp`来定义每一个进阶所需要的经验值,以及进阶时的效果。
diff --git a/_docs/personalization.md b/_docs/personalization.md
index 6a37b175..ec6f5863 100644
--- a/_docs/personalization.md
+++ b/_docs/personalization.md
@@ -695,7 +695,7 @@ if (core.flags.statusBarItems.indexOf('enableSkill')>=0) {
- **`flag:heroIcon`**: 当前的勇士行走图名称。
- **`flag:saveEquips`**: 快速换装时保存的套装。
- **`flag:__visited__`**: 当前访问过的楼层。
-- **`flag:__atk_buff__`**, **`flag:__def_buff__`**, **`flag:__mdef_buff__`**: 当前攻防魔防的实际计算比例加成。
+- **`flag:__atk_buff__`**, **`flag:__def_buff__`**, **`flag:__mdef_buff__`**: 当前攻防护盾的实际计算比例加成。
- **`flag:__color__`**, **`flag:__weather__`**, **`flag:__volume__`**: 当前的画面色调、天气和音量。
- **`flag:__events__`**: 当前保存的事件列表,读档时会恢复(适用于在事件中存档)
- **`flag:textAttribute`**, **`flag:globalAttribute`**, **`flag:globalFlags`**: 当前的剧情文本属性,当前的全局属性,当前的全局开关。
diff --git a/_server/MotaAction.g4 b/_server/MotaAction.g4
index fdc3758a..ff7e86d7 100644
--- a/_server/MotaAction.g4
+++ b/_server/MotaAction.g4
@@ -2697,7 +2697,7 @@ TextBaseline_List
ShopUse_List
: '金币' | '经验'
- /*ShopUse_List ['money','experience']*/;
+ /*ShopUse_List ['money','exp']*/;
Arithmetic_List
: '+'|'-'|'*'|'/'|'^'|'=='|'!='|'>'|'<'|'>='|'<='|'和'|'或'
@@ -2745,8 +2745,8 @@ Global_Value_List
Global_Flag_List
- : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示魔防值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台'
- /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExperience', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/;
+ : '显示当前楼层'|'显示勇士图标'|'显示当前等级'|'启用生命上限'|'显示生命值'|'显示魔力值'|'显示攻击力'|'显示防御力'|'显示护盾值'|'显示金币值'|'显示经验值'|'允许等级提升'|'升级扣除模式'|'显示钥匙数量'|'显示绿钥匙'|'显示破炸飞'|'显示毒衰咒'|'显示当前技能'|'楼梯边才能楼传'|'楼传平面塔模式'|'破墙镐四方向'|'炸弹四方向'|'冰冻徽章四方向'|'铁门不需要钥匙'|'开启加点'|'开启负伤'|'夹击不超伤害值'|'循环计算临界'|'允许轻按'|'允许走到将死领域'|'允许瞬间移动'|'允许查看禁用商店'|'阻激夹域后禁用快捷商店'|'虚化前景层'|'检查控制台'
+ /*Global_Flag_List ['s:enableFloor','s:enableName','s:enableLv', 's:enableHPMax', 's:enableHP', 's:enableMana', 's:enableAtk', 's:enableDef', 's:enableMDef', 's:enableMoney', 's:enableExp', 's:enableLevelUp', 's:levelUpLeftMode', 's:enableKeys', 's:enableGreenKey', 's:enablePZF', 's:enableDebuff', 's:enableSkill', 'flyNearStair', 'flyRecordPosition', 'pickaxeFourDirections', 'bombFourDirections', 'snowFourDirections', 'steelDoorWithoutKey', 'enableAddPoint', 'enableNegativeDamage', 'betweenAttackMax', 'useLoop', 'enableGentleClick', 'canGoDeadZone', 'enableMoveDirectly', 'enableDisabledShop', 'disableShopOnDamage', 'blurFg']*/;
Colour
: 'sdeirughvuiyasdeb'+ //为了被识别为复杂词法规则
@@ -2791,8 +2791,8 @@ IdString
;
FixedId_List
- : '生命'|'攻击'|'防御'|'魔防'|'黄钥匙'|'蓝钥匙'|'红钥匙'|'金币'|'经验'
- /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:experience']*/;
+ : '生命'|'攻击'|'防御'|'护盾'|'黄钥匙'|'蓝钥匙'|'红钥匙'|'金币'|'经验'
+ /*FixedId_List ['status:hp','status:atk','status:def','status:mdef','item:yellowKey','item:blueKey','item:redKey','status:money','status:exp']*/;
Id_List
: '变量' | '状态' | '物品' | '独立开关' | '全局存储'
@@ -2800,7 +2800,7 @@ Id_List
EnemyId_List
: '生命'|'攻击'|'防御'|'金币'|'经验'|'加点'|'属性'|'名称'|'映射名'|'value'|'atkValue'|'defValue'|'notBomb'|'zoneSquare'|'range'|'n'|'add'|'damage'
- /*EnemyId_List ['hp','atk','def','money','experience','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/;
+ /*EnemyId_List ['hp','atk','def','money','exp','point','special','name','displayInBook','value','atkValue','defValue','notBomb','zoneSquare','range','n','add','damage']*/;
//转blockly后不保留需要加"
EvalString
@@ -3900,11 +3900,11 @@ MotaActionFunctions.pattern.replaceStatusList = [
["lv", "等级"],
["atk", "攻击"],
["def", "防御"],
- ["mdef", "魔防"],
+ ["mdef", "护盾"],
["manamax", "魔力上限"],
["mana", "魔力"],
["money", "金币"],
- ["experience", "经验"],
+ ["exp", "经验"],
["steps", "步数"],
];
@@ -3965,7 +3965,7 @@ MotaActionFunctions.pattern.replaceEnemyList = [
["atk", "攻击"],
["def", "防御"],
["money", "金币"],
- ["experience", "经验"],
+ ["exp", "经验"],
["point", "加点"],
["special", "属性"],
];
diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css
index a9ee3bcf..16c46f6e 100644
--- a/_server/css/editor_mode.css
+++ b/_server/css/editor_mode.css
@@ -150,11 +150,11 @@
}
.etable tr > :nth-child(1) {
- width: 17%
+ width: 20%
}
.etable tr > :nth-child(2) {
- width: 23%
+ width: 20%
}
.etable tr > :nth-child(3) {
diff --git a/_server/editor_blockly.js b/_server/editor_blockly.js
index 12c70b63..3bd99924 100644
--- a/_server/editor_blockly.js
+++ b/_server/editor_blockly.js
@@ -928,7 +928,7 @@ function omitedcheckUpdateFunction(event) {
if (index2 >= 0) {
before = content.substring(0, index2);
if (before.endsWith("怪物") || (ch == ':' && ch2 == ':' && before.endsWith("enemy"))) {
- var list = ["name", "hp", "atk", "def", "money", "experience", "point", "special"];
+ var list = ["name", "hp", "atk", "def", "money", "exp", "point", "special"];
if (before.endsWith("怪物") && MotaActionFunctions) {
list = MotaActionFunctions.pattern.replaceEnemyList.map(function (v) {
return v[1];
diff --git a/_server/table/comment.js b/_server/table/comment.js
index 57b321bc..3129e109 100644
--- a/_server/table/comment.js
+++ b/_server/table/comment.js
@@ -51,7 +51,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true,
"_type": "textarea",
"_docs": "道具的装备属性",
- "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防魔防和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。"
+ "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防护盾和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。"
},
"hideInReplay": {
"_leaf": true,
@@ -150,7 +150,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "textarea",
"_data": "金币"
},
- "experience": {
+ "exp": {
"_leaf": true,
"_type": "textarea",
"_data": "经验"
@@ -228,7 +228,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
}
}
},
- "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'experience': 0, 'point': 0, 'special': 0 },
+ "enemys_template": { 'name': '新敌人', 'hp': 0, 'atk': 0, 'def': 0, 'money': 0, 'exp': 0, 'point': 0, 'special': 0 },
// --------------------------- 【图块属性】相关的表格配置 --------------------------- //
diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js
index d2779ce5..f2e96178 100644
--- a/_server/table/data.comment.js
+++ b/_server/table/data.comment.js
@@ -249,14 +249,14 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"mdef": {
"_leaf": true,
"_type": "textarea",
- "_data": "初始魔防"
+ "_data": "初始护盾"
},
"money": {
"_leaf": true,
"_type": "textarea",
"_data": "初始金币"
},
- "experience": {
+ "exp": {
"_leaf": true,
"_type": "textarea",
"_data": "初始经验"
@@ -409,7 +409,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true,
"_type": "textarea",
"_docs": "绿宝石效果",
- "_data": "绿宝石加魔防的数值"
+ "_data": "绿宝石加护盾的数值"
},
"redPotion": {
"_leaf": true,
@@ -451,7 +451,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_leaf": true,
"_type": "textarea",
"_docs": "净化比例",
- "_data": "净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害)"
+ "_data": "净化的比例(战斗前,怪物附加勇士护盾的x倍作为伤害)"
},
"hatred": {
"_leaf": true,
@@ -505,7 +505,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"enableDef",
"enableMDef",
"enableMoney",
- "enableExperience",
+ "enableExp",
"enableLevelUp",
"levelUpLeftMode",
"enableKeys",
diff --git a/editor-mobile.html b/editor-mobile.html
index c97cf6b2..784302b5 100644
--- a/editor-mobile.html
+++ b/editor-mobile.html
@@ -471,9 +471,9 @@
-
-
![]()
-
+
+
![]()
+
![]()
diff --git a/editor.html b/editor.html
index b1cbd95f..d82f8236 100644
--- a/editor.html
+++ b/editor.html
@@ -453,9 +453,9 @@
-
-
![]()
-
+
+
![]()
+
![]()
diff --git a/extensions/dynamicMapEditor.js b/extensions/dynamicMapEditor.js
index a06e7f70..83690a51 100644
--- a/extensions/dynamicMapEditor.js
+++ b/extensions/dynamicMapEditor.js
@@ -359,7 +359,7 @@ dynamicMapEditor.prototype.refreshToolBox = function() {
core.formatBigNumber(core.getRealStatus("mdef"), true);
core.fillText(this.canvas, text1, this.offsetX + 60, 380, '#FF7F00', 120);
var text2 = core.formatBigNumber(core.getRealStatus('money', true)) + "/" +
- core.formatBigNumber(core.getRealStatus('experience'), true) + "/" +
+ core.formatBigNumber(core.getRealStatus('exp'), true) + "/" +
core.itemCount('yellowKey') + '/' + core.itemCount('blueKey') + '/' +
core.itemCount('redKey');
core.fillText(this.canvas, text2, this.offsetX + 60, 395, '#FF7F00', 120);
@@ -396,7 +396,7 @@ dynamicMapEditor.prototype.showHelp = function (fromButton) {
text += " - [ 键将开关此模式;\n - ] 键将会把改动保存到文件;\n - \\ 键将撤销上步操作。\n";
text += " - Alt+0~9 保存当前图块 \n - 0~9 读取当前图块\n";
text += "最下面三行数据分别是:\n"
- text += "血攻防魔防;金经黄蓝红;破炸飞和debuff。";
+ text += "血攻防护盾;金经黄蓝红;破炸飞和debuff。";
if (!fromButton) text += "\n\n点取消将不再提示本页面。";
core.myconfirm(text, null, function () {
if (!fromButton) core.setLocalStorage("_dynamicMapEditor_help", true);
diff --git a/index.html b/index.html
index 3e6f7c43..a8128fc7 100644
--- a/index.html
+++ b/index.html
@@ -111,9 +111,9 @@
-
-
![]()
-
+
+
![]()
+
![]()
diff --git a/libs/control.js b/libs/control.js
index 391a9f9c..a0a3d27a 100644
--- a/libs/control.js
+++ b/libs/control.js
@@ -389,7 +389,7 @@ control.prototype._initStatistics = function (totalTime) {
'hp': 0,
"battle": 0,
'money': 0,
- 'experience': 0,
+ 'exp': 0,
'battleDamage': 0,
'poisonDamage': 0,
'extraDamage': 0,
@@ -1995,7 +1995,6 @@ control.prototype._updateFavoriteSaves = function () {
////// 设置勇士属性 //////
control.prototype.setStatus = function (name, value) {
if (!core.status.hero) return;
- if (name == 'exp') name = 'experience';
if (name == 'x' || name == 'y' || name == 'direction')
this.setHeroLoc(name, value);
else
@@ -2012,7 +2011,6 @@ control.prototype.getStatus = function (name) {
if (!core.status.hero) return null;
if (name == 'x' || name == 'y' || name == 'direction')
return this.getHeroLoc(name);
- if (name == 'exp') name = 'experience';
return core.status.hero[name];
}
@@ -2625,7 +2623,7 @@ control.prototype._shouldDisplayStatus = function(id) {
case 'def': return obj.enableDef;
case 'mdef': return obj.enableMDef;
case 'money': return obj.enableMoney;
- case 'experience': return obj.enableExperience && !obj.levelUpLeftMode;
+ case 'exp': return obj.enableExp && !obj.levelUpLeftMode;
case 'up': return obj.enableLevelUp;
case 'skill': return obj.enableSkill;
case 'key': return obj.enableKeys;
diff --git a/libs/events.js b/libs/events.js
index fea5a77e..7462c7da 100644
--- a/libs/events.js
+++ b/libs/events.js
@@ -183,7 +183,7 @@ events.prototype._gameOver_doUpload = function (username, ending, norank) {
formData.append('def', core.status.hero.def);
formData.append('mdef', core.status.hero.mdef);
formData.append('money', core.status.hero.money);
- formData.append('experience', core.status.hero.experience);
+ formData.append('experience', core.status.hero.exp);
formData.append('steps', core.status.hero.steps);
formData.append('norank', norank ? 1 : 0);
formData.append('seed', core.getFlag('__seed__'));
@@ -2976,10 +2976,10 @@ events.prototype._checkLvUp_check = function () {
var next = (core.firstData.levelUp[core.status.hero.lv] || {});
var need = core.calValue(next.need);
if (need == null) return null;
- if (core.status.hero.experience >= need) {
+ if (core.status.hero.exp >= need) {
// 升级
core.status.hero.lv++;
- if (next.clear) core.status.hero.experience -= need;
+ if (next.clear) core.status.hero.exp -= need;
return next.action || [];
}
return null;
@@ -2996,30 +2996,3 @@ events.prototype.tryUseItem = function (itemId) {
if (core.canUseItem(itemId)) core.useItem(itemId);
else core.drawTip("当前无法使用" + core.material.items[itemId].name);
}
-
-////// 上传当前数据 //////
-events.prototype._uploadCurrent = function (username) {
- var formData = new FormData();
-
- formData.append('type', 'score');
- formData.append('name', core.firstData.name);
- formData.append('version', core.firstData.version);
- formData.append('platform', core.platform.string);
- formData.append('hard', core.encodeBase64(core.status.hard));
- formData.append('username', core.encodeBase64(username || "current"));
- formData.append('lv', core.status.hero.lv);
- formData.append('hp', Math.min(core.status.hero.hp, Math.pow(2, 63)));
- formData.append('atk', core.status.hero.atk);
- formData.append('def', core.status.hero.def);
- formData.append('mdef', core.status.hero.mdef);
- formData.append('money', core.status.hero.money);
- formData.append('experience', core.status.hero.experience);
- formData.append('steps', core.status.hero.steps);
- formData.append('seed', core.getFlag('__seed__'));
- formData.append('totalTime', Math.floor(core.status.hero.statistics.totalTime / 1000));
- formData.append('route', core.encodeRoute(core.status.route));
- formData.append('deler', 'current');
- formData.append('base64', 1);
-
- core.http("POST", "/games/upload.php", formData);
-}
diff --git a/libs/ui.js b/libs/ui.js
index b102dd03..965d4b80 100644
--- a/libs/ui.js
+++ b/libs/ui.js
@@ -1764,7 +1764,7 @@ ui.prototype._drawBook_drawRow2 = function (index, enemy, top, left, width, posi
var second_line = [];
if (core.flags.statusBarItems.indexOf('enableMoney')>=0) second_line.push(["金币", core.formatBigNumber(enemy.money || 0)]);
if (core.flags.enableAddPoint) second_line.push(["加点", core.formatBigNumber(enemy.point || 0)]);
- if (core.flags.statusBarItems.indexOf('enableExperience')>=0) second_line.push(["经验", core.formatBigNumber(enemy.experience || 0)]);
+ if (core.flags.statusBarItems.indexOf('enableExp')>=0) second_line.push(["经验", core.formatBigNumber(enemy.exp || 0)]);
var damage_offset = col1 + (this.PIXEL - col1) / 2 - 12;
// 第一列
@@ -2046,7 +2046,7 @@ ui.prototype.drawShop = function (shopId) {
var times = shop.times, need=core.calValue(shop.need, null, null, times);
var content = "\t["+shop.name+","+shop.icon+"]" + core.replaceText(shop.text, null, need, times);
- var use = shop.use=='experience'?'经验':'金币';
+ var use = shop.use=='exp'?'经验':'金币';
var choices = [];
for (var i=0;i
=0?(",中毒伤害"+core.formatBigNumber(statistics.poisonDamage)+"点"):"")
@@ -2686,7 +2686,7 @@ ui.prototype._drawStatistics_buildObj = function () {
});
var obj = {
'monster': {
- 'count': 0, 'money': 0, 'experience': 0, 'point': 0,
+ 'count': 0, 'money': 0, 'exp': 0, 'point': 0,
},
'count': cnt,
'add': {
@@ -2723,7 +2723,7 @@ ui.prototype._drawStatistics_floorId = function (floorId, obj) {
ui.prototype._drawStatistics_enemy = function (floorId, id, obj) {
var enemy = core.material.enemys[id];
this._drawStatistics_add(floorId, obj, 'monster', 'money', enemy.money);
- this._drawStatistics_add(floorId, obj, 'monster', 'experience', enemy.experience);
+ this._drawStatistics_add(floorId, obj, 'monster', 'exp', enemy.exp);
this._drawStatistics_add(floorId, obj, 'monster', 'point', enemy.point);
this._drawStatistics_add(floorId, obj, 'monster', 'count', 1);
}
@@ -2752,7 +2752,7 @@ ui.prototype._drawStatistics_items = function (floorId, floor, id, obj) {
var t = "";
if (atk > 0) t += atk + "攻";
if (def > 0) t += def + "防";
- if (mdef > 0) t += mdef + "魔防";
+ if (mdef > 0) t += mdef + "护盾";
if (t != "") obj.ext[id] = t;
}
this._drawStatistics_add(floorId, obj, 'count', id, 1);
@@ -2766,7 +2766,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) {
var text = type+"地图中:\n";
text += "共有怪物"+data.monster.count+"个";
if (core.flags.statusBarItems.indexOf('enableMoney')>=0) text+=",总金币数"+data.monster.money;
- if (core.flags.statusBarItems.indexOf('enableExperience')>=0) text+=",总经验数"+data.monster.experience;
+ if (core.flags.statusBarItems.indexOf('enableExp')>=0) text+=",总经验数"+data.monster.exp;
if (core.flags.enableAddPoint) text+=",总加点数"+data.monster.point;
text+="。\n";
@@ -2789,7 +2789,7 @@ ui.prototype._drawStatistics_generateText = function (obj, type, data) {
text+="\n\n";
text+="共加生命值"+core.formatBigNumber(data.add.hp)+"点,攻击"
+core.formatBigNumber(data.add.atk)+"点,防御"
- +core.formatBigNumber(data.add.def)+"点,魔防"
+ +core.formatBigNumber(data.add.def)+"点,护盾"
+core.formatBigNumber(data.add.mdef)+"点。";
return text;
}
diff --git a/main.js b/main.js
index a7da4598..74da7a29 100644
--- a/main.js
+++ b/main.js
@@ -61,7 +61,7 @@ function main() {
'defCol': document.getElementById('defCol'),
'mdefCol': document.getElementById('mdefCol'),
'moneyCol': document.getElementById('moneyCol'),
- 'experienceCol': document.getElementById('experienceCol'),
+ 'expCol': document.getElementById('expCol'),
'upCol': document.getElementById('upCol'),
'keyCol': document.getElementById('keyCol'),
'pzfCol': document.getElementById('pzfCol'),
@@ -100,7 +100,7 @@ function main() {
'def': document.getElementById("img-def"),
'mdef': document.getElementById("img-mdef"),
'money': document.getElementById("img-money"),
- 'experience': document.getElementById("img-experience"),
+ 'exp': document.getElementById("img-exp"),
'up': document.getElementById("img-up"),
'skill': document.getElementById('img-skill'),
'book': document.getElementById("img-book"),
@@ -130,7 +130,7 @@ function main() {
'def': 5,
'mdef': 6,
'money': 7,
- 'experience': 8,
+ 'exp': 8,
'up': 9,
'book': 10,
'fly': 11,
@@ -168,7 +168,7 @@ function main() {
'def': document.getElementById("def"),
'mdef': document.getElementById('mdef'),
'money': document.getElementById("money"),
- 'experience': document.getElementById("experience"),
+ 'exp': document.getElementById("exp"),
'up': document.getElementById('up'),
'skill': document.getElementById('skill'),
'yellowKey': document.getElementById("yellowKey"),
diff --git a/project/data.js b/project/data.js
index 7d1a669c..d048aad3 100644
--- a/project/data.js
+++ b/project/data.js
@@ -91,7 +91,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"def": 100,
"mdef": 0,
"money": 0,
- "experience": 0,
+ "exp": 0,
"equipment": [],
"items": {
"constants": {},
@@ -322,7 +322,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"textInList": "1F经验商店",
"commonTimes": false,
"mustEnable": false,
- "use": "experience",
+ "use": "exp",
"need": "-1",
"text": "勇敢的武士啊,给我若干经验就可以:",
"choices": [
diff --git a/project/enemys.js b/project/enemys.js
index 680dc953..9a203006 100644
--- a/project/enemys.js
+++ b/project/enemys.js
@@ -1,67 +1,67 @@
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
{
- "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"experience":1,"point":0,"special":[1,5,7,8]},
- "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":[16,18],"value":10},
- "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"experience":0,"point":0,"special":[1,9]},
- "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"experience":0,"point":0,"special":1},
- "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"experience":0,"point":0,"special":4},
- "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"experience":0,"point":0,"special":7},
- "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"experience":0,"point":0,"special":3},
- "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"experience":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3},
- "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"experience":0,"point":1,"special":2},
- "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"experience":0,"point":0,"special":15,"value":100,"range":2},
- "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"experience":0,"point":0,"special":15,"value":200,"zoneSquare":true},
- "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"experience":0,"point":0,"special":0},
- "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"experience":0,"point":0,"special":[5,23]},
- "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"experience":1000,"point":0,"special":0,"notBomb":true},
- "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"experience":0,"point":0,"special":8},
- "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"experience":0,"point":0,"special":13},
- "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"experience":0,"point":0,"special":18,"value":20},
- "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"experience":0,"point":0,"special":16},
- "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"experience":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true},
- "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"experience":0,"point":0,"special":14},
- "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"experience":0,"point":0,"special":6,"n":8},
- "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"experience":0,"point":0,"special":12},
- "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
- "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":18,"value":20},
- "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"experience":0,"point":0,"special":[2,3]}
+ "greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"exp":1,"point":0,"special":[1,5,7,8]},
+ "redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[16,18],"value":10},
+ "blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[1,9]},
+ "bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":1},
+ "bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "redBat": {"name":"红蝙蝠","hp":100,"atk":120,"def":0,"money":5,"exp":0,"point":0,"special":4},
+ "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "skeletonSoilder": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "ghostSkeleton": {"name":"冥队长","hp":100,"atk":120,"def":0,"money":8,"exp":0,"point":0,"special":7},
+ "zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "rock": {"name":"石头人","hp":100,"atk":120,"def":0,"money":4,"exp":0,"point":0,"special":3},
+ "slimeMan": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3},
+ "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":2},
+ "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":15,"value":100,"range":2},
+ "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":15,"value":200,"zoneSquare":true},
+ "yellowGuard": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0},
+ "blueGuard": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "redGuard": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":[5,23]},
+ "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "yellowKnight": {"name":"金骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":0,"notBomb":true},
+ "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":8},
+ "goldSlime": {"name":"黄头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13},
+ "steelRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20},
+ "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "skeletonWizard": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "redSkeletonCaption": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "badHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "demon": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "goldHornSlime": {"name":"金角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "whiteKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16},
+ "blackMagician": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true},
+ "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14},
+ "swordEmperor": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "badPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "badFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "grayPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":6,"n":8},
+ "whiteGhost": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":12},
+ "magicDragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "darkFairy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
+ "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20},
+ "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":1,"def":0,"money":0,"exp":0,"point":0,"special":[2,3]}
}
\ No newline at end of file
diff --git a/project/floors/sample1.js b/project/floors/sample1.js
index 69621071..5149304d 100644
--- a/project/floors/sample1.js
+++ b/project/floors/sample1.js
@@ -380,7 +380,7 @@ main.floors.sample1=
},
{
"type": "setValue",
- "name": "status:experience",
+ "name": "status:exp",
"operator": "+=",
"value": "1000"
},
@@ -402,7 +402,7 @@ main.floors.sample1=
"operator": "+=",
"value": "3"
},
- "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,experience这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。",
+ "\t[老人,man]status:xxx 代表勇士的某个属性。\n其中xxx可取hp, atk, def, mdef, money,exp这几项。\n\nitem:xxx 代表勇士的某个道具的个数。\nxxx为道具ID,具体可参见items.js中的定义。\n\nflag:xxx 代表某个自定义Flag或变量。\nxxx为Flag/变量名,可以自行定义,由字母、数字和下划线组成。\n未定义过而直接取用的Flag默认值为false。",
"\t[老人,man]你现在可以重新和我进行对话,进一步看到属性值的改变。"
],
"10,11": [
diff --git a/project/functions.js b/project/functions.js
index 8942245f..195e0a0b 100644
--- a/project/functions.js
+++ b/project/functions.js
@@ -287,16 +287,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
core.status.hero.money += money;
core.status.hero.statistics.money += money;
- var experience = guards.reduce(function (curr, g) {
- return curr + core.material.enemys[g[2]].experience;
- }, enemy.experience);
- if (core.hasFlag('curse')) experience = 0;
- core.status.hero.experience += experience;
- core.status.hero.statistics.experience += experience;
+ var exp = guards.reduce(function (curr, g) {
+ return curr + core.material.enemys[g[2]].exp;
+ }, enemy.exp);
+ if (core.hasFlag('curse')) exp = 0;
+ core.status.hero.exp += exp;
+ core.status.hero.statistics.exp += exp;
var hint = "打败 " + enemy.name;
if (core.flags.statusBarItems.indexOf('enableMoney')>=0) hint += ",金币+" + money;
- if (core.flags.statusBarItems.indexOf('enableExperience')>=0) hint += ",经验+" + experience;
+ if (core.flags.statusBarItems.indexOf('enableExp')>=0) hint += ",经验+" + exp;
core.drawTip(hint, enemy.id);
// 事件的处理
@@ -456,7 +456,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
[6, function (enemy) { return (enemy.n || 4) + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }],
[7, "破甲", "战斗前,怪物附加角色防御的" + Math.floor(100 * core.values.breakArmor || 0) + "%作为伤害"],
[8, "反击", "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * core.values.counterAttack || 0) + "%作为伤害,无视角色防御"],
- [9, "净化", "战斗前,怪物附加勇士魔防的" + core.values.purify + "倍作为伤害"],
+ [9, "净化", "战斗前,怪物附加勇士护盾的" + core.values.purify + "倍作为伤害"],
[10, "模仿", "怪物的攻防和勇士攻防相等"],
[11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }],
[12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点"],
@@ -469,7 +469,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
[19, "自爆", "战斗后勇士的生命值变成1"],
[20, "无敌", "勇士无法打败怪物,除非拥有十字架"],
[21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }],
- [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,无视勇士魔防。"; }],
+ [22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,无视勇士护盾。"; }],
[23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现"],
[24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }],
[25, "光环", function (enemy) { return "同楼层所有怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%," + (enemy.add ? "可叠加" : "不可叠加"); }],
@@ -483,7 +483,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
//
// 参数说明:
// enemy:该怪物信息
- // hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防魔防数据
+ // hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防护盾数据
// x,y:该怪物的坐标(查看手册和强制战斗时为undefined)
// floorId:该怪物所在的楼层
// 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果)
@@ -498,7 +498,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
mon_def = enemy.def,
mon_special = enemy.special;
var mon_money = enemy.money,
- mon_experience = enemy.experience,
+ mon_exp = enemy.exp,
mon_point = enemy.point;
// 模仿
if (core.hasSpecial(mon_special, 10)) {
@@ -589,7 +589,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
"atk": Math.floor(mon_atk),
"def": Math.floor(mon_def),
"money": Math.floor(mon_money),
- "experience": Math.floor(mon_experience),
+ "exp": Math.floor(mon_exp),
"point": Math.floor(mon_point),
"special": mon_special,
"guards": guards, // 返回支援情况
@@ -637,7 +637,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (core.hasSpecial(mon_special, 20) && !core.hasItem("cross"))
return null; // 不可战斗
- // 战前造成的额外伤害(可被魔防抵消)
+ // 战前造成的额外伤害(可被护盾抵消)
var init_damage = 0;
// 吸血
@@ -725,14 +725,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 最终伤害:初始伤害 + 怪物对勇士造成的伤害 + 反击伤害
var damage = init_damage + (turn - 1) * per_damage + turn * counterDamage;
- // 再扣去魔防
+ // 再扣去护盾
damage -= hero_mdef;
// 检查是否允许负伤
if (!core.flags.enableNegativeDamage)
damage = Math.max(0, damage);
- // 最后处理仇恨和固伤(因为这两个不能被魔防减伤)
+ // 最后处理仇恨和固伤(因为这两个不能被护盾减伤)
if (core.hasSpecial(mon_special, 17)) { // 仇恨
damage += core.getFlag('hatred', 0);
}
@@ -1022,8 +1022,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 设置等级名称
core.setStatusBarInnerHTML('lv', core.getLvName());
- // 设置生命上限、生命值、攻防魔防金币和经验值
- var statusList = ['hpmax', 'hp', 'mana', 'atk', 'def', 'mdef', 'money', 'experience'];
+ // 设置生命上限、生命值、攻防护盾金币和经验值
+ var statusList = ['hpmax', 'hp', 'mana', 'atk', 'def', 'mdef', 'money', 'exp'];
statusList.forEach(function (item) {
// 向下取整
core.status.hero[item] = Math.floor(core.status.hero[item]);
@@ -1052,7 +1052,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (core.flags.statusBarItems.indexOf('enableLevelUp')>=0 && core.status.hero.lv < core.firstData.levelUp.length) {
var need = core.calValue(core.firstData.levelUp[core.status.hero.lv].need);
if (core.flags.statusBarItems.indexOf('levelUpLeftMode')>=0)
- core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('experience')) || "");
+ core.setStatusBarInnerHTML('up', core.formatBigNumber(need - core.getStatus('exp')) || "");
else
core.setStatusBarInnerHTML('up', core.formatBigNumber(need) || "");
} else core.setStatusBarInnerHTML('up', "");
@@ -1331,7 +1331,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 如果是隐藏状态栏模式,直接返回
if (!core.domStyle.showStatusBar) return;
- // 作为样板,只绘制楼层、生命、攻击、防御、魔防、金币、钥匙这七个内容
+ // 作为样板,只绘制楼层、生命、攻击、防御、护盾、金币、钥匙这七个内容
// 需要其他的请自行进行修改;横竖屏都需要进行适配绘制。
// (可以使用Chrome浏览器开控制台来模拟手机上的竖屏模式的显示效果,具体方式自行百度)
// 横屏模式下的画布大小是 129*416
diff --git a/project/items.js b/project/items.js
index 645815c5..1244844e 100644
--- a/project/items.js
+++ b/project/items.js
@@ -32,7 +32,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"greenJewel": {
"cls": "items",
"name": "绿宝石",
- "text": "',魔防+${core.values.greenJewel}'"
+ "text": "',护盾+${core.values.greenJewel}'"
},
"yellowJewel": {
"cls": "items",
@@ -344,7 +344,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"itemEffectTip": {
"redJewel": "',攻击+'+core.values.redJewel * ratio",
"blueJewel": "',防御+'+core.values.blueJewel * ratio",
- "greenJewel": "',魔防+'+core.values.greenJewel * ratio",
+ "greenJewel": "',护盾+'+core.values.greenJewel * ratio",
"yellowJewel": "',全属性提升'",
"redPotion": "',生命+'+core.values.redPotion * ratio",
"bluePotion": "',生命+'+core.values.bluePotion * ratio",
@@ -361,7 +361,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"shield2": "',防御+20'",
"shield3": "',防御+40'",
"shield4": "',防御+80'",
- "shield5": "',防御+100,魔防+100'",
+ "shield5": "',防御+100,护盾+100'",
"bigKey": "',全钥匙+1'",
"superPotion": "',生命值翻倍'",
"moneyPocket": "',金币+500'"
diff --git a/runtime.d.ts b/runtime.d.ts
index e633c7f8..d07c908b 100644
--- a/runtime.d.ts
+++ b/runtime.d.ts
@@ -58,7 +58,7 @@ type Enemy = {
atk: number
def: number
money: number
- experience: number
+ exp: number
point: number
[key: string]: any
}
@@ -103,7 +103,7 @@ type HeroStatus = {
def: number
mdef: number
money: number
- experience: number
+ exp: number
loc: {
direction: direction
x: number
@@ -121,7 +121,7 @@ type HeroStatus = {
battle: number
battleDamage: number
currTime: number
- experience: number
+ exp: number
extraDamage: number
hp: number
ignoreSteps: number
@@ -405,7 +405,7 @@ declare class control {
/**
* 设置主角的某个属性
* @example core.setStatus('loc', {x : 0, y : 0, direction : 'up'}); // 设置主角位置为地图左上角,脸朝上
- * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.setHeroLoc(name, value),其他的('exp'被视为'experience')会直接对 core.status.hero[name] 赋值
+ * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.setHeroLoc(name, value),其他的('exp'被视为'exp')会直接对 core.status.hero[name] 赋值
* @param value 属性的新值
*/
setStatus(name: K, value: HeroStatus[K]): void
@@ -421,7 +421,7 @@ declare class control {
/**
* 读取主角的某个属性,不包括百分比修正
* @example core.getStatus('loc'); // 读取主角的坐标和朝向
- * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.getHeroLoc(name),其他的('exp'被视为'experience')会直接读取 core.status.hero[name]
+ * @param name 属性的英文名,其中'x'、'y'和'direction'会被特殊处理为 core.getHeroLoc(name),其他的('exp'被视为'exp')会直接读取 core.status.hero[name]
* @returns 属性值
*/
getStatus(name: K): HeroStatus[K]
@@ -831,17 +831,6 @@ declare class enemys {
*/
getDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number
- /**
- * 获得某只敌人的固伤加仇恨伤害
- * @example core.getExtraDamage('greenSlime',0,0,'MT0') // 绿头怪的固伤加仇恨伤害
- * @param enemy 敌人id或敌人对象
- * @param x 敌人的横坐标,可选
- * @param y 敌人的纵坐标,可选
- * @param floorId 敌人所在的地图,可选
- * @returns 伤害值,【关闭负伤】时不可被魔防抵挡
- */
- getExtraDamage(enemy: string | Enemy, x?: number, y?: number, floorId?: string): number
-
/**
* 获得某只敌人的地图显伤,包括颜色
* @example core.getDamageString('greenSlime', 0, 0, 'MT0') // 绿头怪的地图显伤