大量修改ID和翻译
@ -139,7 +139,7 @@ N连击怪物的special是6,且我们可以为它定义n代表实际连击数
|
||||
领域怪还可以设置`range`选项代表该领域怪的范围,不写则默认为1。
|
||||
<br>**将 `flags.no_zone` 设置为 `true` 可以免疫领域效果。**<br>
|
||||
阻击怪同样需要设置value,代表阻击伤害的数值。如果勇士生命值扣减到0,则直接死亡触发lose事件。
|
||||
<br>**将`flags.no_snipe`设置为true可以免疫阻击效果(包括伤害和移动!)。**<br>
|
||||
<br>**将`flags.no_repluse`设置为true可以免疫阻击效果(包括伤害和移动!)。**<br>
|
||||
!> 阻击怪后退的地点不能有任何事件存在,即使是已经被禁用的红绿事件或重生怪!(会导致此事件意外被重新启用)<br>
|
||||
激光怪同样需要设置value,代表激光伤害的数值。
|
||||
<br>请注意如果吸血、领域、阻击、生命光环中任何两个同时存在,则 `value` 会冲突。**因此请勿将吸血、领域、阻击或激光放置在同一个怪物身上。退化和攻防光环同理!<br>**
|
||||
|
||||
@ -2174,7 +2174,7 @@ if (core.flags.enableAddPoint && point > 0) {
|
||||
``` json
|
||||
"shops": [{
|
||||
"id": "shop1",
|
||||
"text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
|
||||
"text": "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
|
||||
"textInList": "1F金币商店",
|
||||
"mustEnable": false,
|
||||
"disablePreview": false,
|
||||
|
||||
@ -254,7 +254,7 @@ ID必须由数字字母下划线组成,数字在1000以内,且均不能和
|
||||
|
||||
``` js
|
||||
// ratio为楼层的item_ratio值,可以进行翻倍宝石属性
|
||||
core.status.hero.atk += core.values.redJewel * ratio
|
||||
core.status.hero.atk += core.values.redGem * ratio
|
||||
```
|
||||
|
||||
这里我们可以直接写ratio来取用该楼层中定义的`item_ratio`的值。
|
||||
@ -263,7 +263,7 @@ core.status.hero.atk += core.values.redJewel * ratio
|
||||
|
||||
``` js
|
||||
// 一个二倍线性增加的例子
|
||||
core.status.hero.atk += core.values.redJewel + 2*ratio
|
||||
core.status.hero.atk += core.values.redGem + 2*ratio
|
||||
```
|
||||
|
||||
### 消耗类道具(cls: tools);永久类道具(cls: constants)
|
||||
@ -308,11 +308,11 @@ function (enemy, hero_hp, hero_atk, hero_def, hero_mdef, x, y, floorId) {
|
||||
[ // 写在获得道具后事件
|
||||
// 设置不同的flag可以分别无视对应的阻激夹域效果
|
||||
{"type": "setValue", "name": "flag:no_zone", "value": "true"}, // 免疫领域
|
||||
{"type": "setValue", "name": "flag:no_snipe", "value": "true"}, // 免疫阻击
|
||||
{"type": "setValue", "name": "flag:no_repluse", "value": "true"}, // 免疫阻击
|
||||
{"type": "setValue", "name": "flag:no_laser", "value": "true"}, // 免疫激光
|
||||
{"type": "setValue", "name": "flag:no_betweenAttack", "value": "true"}, // 免疫夹击
|
||||
{"type": "setValue", "name": "flag:no_ambush", "value": "true"}, // 免疫捕捉
|
||||
{"type": "setValue", "name": "item:shoes", "value": "1"} // 免疫路障
|
||||
{"type": "setValue", "name": "item:amulet", "value": "1"} // 免疫路障
|
||||
]
|
||||
```
|
||||
4. 如果有更高的需求,例如想让吸血效果变成一半,则还是在上面这些地方进行对应的修改即可。
|
||||
@ -666,7 +666,7 @@ if (core.flags.statusBarItems.indexOf('enableSkill')>=0) {
|
||||
|
||||
- **`flag:hard`**: 当前的难度标志;此flag变量在setInitData中被定义,可以直接取用来判定当前难度分歧。上传成绩时将根据此flag来对不同难度进行排序。
|
||||
- **`flag:posion`**, **`flag:weak`**, **`flag:curse`**: 中毒、衰弱、诅咒状态。
|
||||
- **`flag:no_zone`**, **`flag:no_snipe`**, **`flag:no_laser`**, **`flag:no_betweenAttack`**: 是否分别免疫领域、阻击、激光、夹击效果。
|
||||
- **`flag:no_zone`**, **`flag:no_repluse`**, **`flag:no_laser`**, **`flag:no_betweenAttack`**: 是否分别免疫领域、阻击、激光、夹击效果。
|
||||
- **`flag:hatred`**: 当前的仇恨数值。
|
||||
- **`flag:commonTimes`**: 全局商店共用次数时的访问次数。
|
||||
- **`flag:input`**: 接受用户输入的事件后,存放用户输入的结果。
|
||||
|
||||
@ -109,7 +109,7 @@ shopsub
|
||||
/* shopsub
|
||||
tooltip : 全局商店
|
||||
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=%e5%85%a8%e5%b1%80%e5%95%86%e5%ba%97
|
||||
default : ["shop1","贪婪之神","blueShop","勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:","金币商店",false,false]
|
||||
default : ["shop1","贪婪之神","moneyShop","勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:","金币商店",false,false]
|
||||
var title='';
|
||||
if (EvalString_0==''){
|
||||
if (IdString_1=='') title='';
|
||||
@ -1887,7 +1887,7 @@ choices_s
|
||||
/* choices_s
|
||||
tooltip : choices: 给用户提供选项
|
||||
helpUrl : https://h5mota.com/games/template/_docs/#/event?id=choices%EF%BC%9A%E7%BB%99%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E9%80%89%E9%A1%B9
|
||||
default : ["","流浪者","woman",0]
|
||||
default : ["","流浪者","trader",0]
|
||||
var title='';
|
||||
if (EvalString_1==''){
|
||||
if (IdString_0=='')title='';
|
||||
@ -2813,7 +2813,7 @@ Global_Attribute_List
|
||||
|
||||
Global_Value_List
|
||||
: '血网伤害'|'中毒伤害'|'衰弱效果'|'红宝石效果'|'蓝宝石效果'|'绿宝石效果'|'红血瓶效果'|'蓝血瓶效果'|'黄血瓶效果'|'绿血瓶效果'|'破甲比例'|'反击比例'|'净化比例'|'仇恨增加值'|'动画时间'
|
||||
/*Global_Value_List ['lavaDamage','poisonDamage','weakValue', 'redJewel', 'blueJewel', 'greenJewel', 'redPotion', 'bluePotion', 'yellowPotion', 'greenPotion', 'breakArmor', 'counterAttack', 'purify', 'hatred', 'animateSpeed']*/;
|
||||
/*Global_Value_List ['lavaDamage','poisonDamage','weakValue', 'redGem', 'blueGem', 'greenGem', 'redPotion', 'bluePotion', 'yellowPotion', 'greenPotion', 'breakArmor', 'counterAttack', 'purify', 'hatred', 'animateSpeed']*/;
|
||||
|
||||
|
||||
Global_Flag_List
|
||||
|
||||
@ -1191,10 +1191,10 @@ MotaActionFunctions.pattern.replaceItemList = [
|
||||
["yellowKey", "黄钥匙"],
|
||||
["blueKey", "蓝钥匙"],
|
||||
["redKey", "红钥匙"],
|
||||
["redJewel", "红宝石"],
|
||||
["blueJewel", "蓝宝石"],
|
||||
["greenJewel", "绿宝石"],
|
||||
["yellowJewel", "黄宝石"],
|
||||
["redGem", "红宝石"],
|
||||
["blueGem", "蓝宝石"],
|
||||
["greenGem", "绿宝石"],
|
||||
["yellowGem", "黄宝石"],
|
||||
["redPotion", "红血瓶"],
|
||||
["bluePotion", "蓝血瓶"],
|
||||
["yellowPotion", "黄血瓶"],
|
||||
@ -1210,14 +1210,14 @@ MotaActionFunctions.pattern.replaceItemList = [
|
||||
["shield4", "圣盾"],
|
||||
["shield5", "神圣盾"],
|
||||
["superPotion", "圣水"],
|
||||
["moneyPocket", "金钱袋"],
|
||||
["silverCoin", "银币"],
|
||||
["book", "怪物手册"],
|
||||
["fly", "楼层传送器"],
|
||||
["coin", "幸运金币"],
|
||||
["snow", "冰冻徽章"],
|
||||
["freezeBadge", "冰冻徽章"],
|
||||
["cross", "十字架"],
|
||||
["knife", "屠龙匕首"],
|
||||
["shoes", "绿鞋"],
|
||||
["dagger", "屠龙匕首"],
|
||||
["amulet", "护符"],
|
||||
["bigKey", "大黄门钥匙"],
|
||||
["greenKey", "绿钥匙"],
|
||||
["steelKey", "铁门钥匙"],
|
||||
|
||||
@ -39,7 +39,7 @@ editor_blockly = function () {
|
||||
MotaActionBlocks['changeFloor_m'].xmlText(),
|
||||
MotaActionFunctions.actionParser.parse([{
|
||||
"id": "shop1",
|
||||
"text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我\${20+2*flag:shop1}金币就可以:",
|
||||
"text": "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我\${20+2*flag:shop1}金币就可以:",
|
||||
"textInList": "1F金币商店",
|
||||
"choices": [
|
||||
{"text": "生命+800", "need": "status:money>=20+2*flag:shop1", "action": [
|
||||
|
||||
@ -499,7 +499,7 @@ editor_file = function (editor, callback) {
|
||||
/*actionList:[
|
||||
["change","['items']['name']","红宝石的新名字"],
|
||||
["add","['items']['新的和name同级的属性']",123],
|
||||
["change","['itemEffectTip']","',攻击力+'+editor.core.values.redJewel"],
|
||||
["change","['itemEffectTip']","',攻击力+'+editor.core.values.redGem"],
|
||||
]
|
||||
为[]时只查询不修改
|
||||
*/
|
||||
@ -574,7 +574,7 @@ editor_file = function (editor, callback) {
|
||||
|
||||
editor.file.editMapBlocksInfo = function (idnum, actionList, callback) {
|
||||
/*actionList:[
|
||||
["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]],
|
||||
["change","['events']",["\t[老人,wizard]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]],
|
||||
["change","['afterBattle']",null],
|
||||
]
|
||||
为[]时只查询不修改
|
||||
@ -618,7 +618,7 @@ editor_file = function (editor, callback) {
|
||||
|
||||
editor.file.editLoc = function (x, y, actionList, callback) {
|
||||
/*actionList:[
|
||||
["change","['events']",["\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]],
|
||||
["change","['events']",["\t[老人,wizard]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。"]],
|
||||
["change","['afterBattle']",null],
|
||||
]
|
||||
为[]时只查询不修改
|
||||
|
||||
@ -456,19 +456,19 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_docs": "衰弱效果",
|
||||
"_data": "衰弱状态下攻防减少的数值\n如果此项不小于1,则作为实际下降的数值(比如10就是攻防各下降10)\n如果在0到1之间则为下降的比例(比如0.3就是下降30%的攻防)"
|
||||
},
|
||||
"redJewel": {
|
||||
"redGem": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_docs": "红宝石效果",
|
||||
"_data": "红宝石加攻击的数值"
|
||||
},
|
||||
"blueJewel": {
|
||||
"blueGem": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_docs": "蓝宝石效果",
|
||||
"_data": "蓝宝石加防御的数值"
|
||||
},
|
||||
"greenJewel": {
|
||||
"greenGem": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_docs": "绿宝石效果",
|
||||
|
||||
@ -8,7 +8,7 @@ function dynamicMapEditor() {
|
||||
// 所有显示的ID
|
||||
this.displayIds = [
|
||||
'none', 'yellowWall', 'blueWall', 'whiteWall', 'yellowDoor', 'blueDoor', 'redDoor', 'star', 'lava', 'lavaNet',
|
||||
'yellowKey', 'blueKey', 'redKey', 'redJewel', 'blueJewel', 'greenJewel', 'yellowJewel',
|
||||
'yellowKey', 'blueKey', 'redKey', 'redGem', 'blueGem', 'greenGem', 'yellowGem',
|
||||
'redPotion', 'bluePotion', 'yellowPotion', 'greenPotion', 'pickaxe', 'bomb', 'centerFly',
|
||||
'cls:autotile', 'cls:enemys', 'cls:enemy48'
|
||||
];
|
||||
|
||||
@ -984,7 +984,7 @@ control.prototype.checkBlock = function () {
|
||||
core.updateStatusBar();
|
||||
}
|
||||
}
|
||||
this._checkBlock_snipe(core.status.checkBlock.snipe[loc]);
|
||||
this._checkBlock_repluse(core.status.checkBlock.repluse[loc]);
|
||||
this._checkBlock_ambush(core.status.checkBlock.ambush[loc]);
|
||||
}
|
||||
|
||||
@ -998,10 +998,10 @@ control.prototype._checkBlock_disableQuickShop = function () {
|
||||
}
|
||||
|
||||
////// 阻击 //////
|
||||
control.prototype._checkBlock_snipe = function (snipe) {
|
||||
if (!snipe || snipe.length == 0) return;
|
||||
control.prototype._checkBlock_repluse = function (repluse) {
|
||||
if (!repluse || repluse.length == 0) return;
|
||||
var actions = [];
|
||||
snipe.forEach(function (t) {
|
||||
repluse.forEach(function (t) {
|
||||
actions.push({"type": "move", "loc": [t[0],t[1]], "steps": [t[3]], "time": 250, "keep": true, "async": true});
|
||||
});
|
||||
actions.push({"type": "waitAsync"});
|
||||
|
||||
@ -688,7 +688,7 @@ maps.prototype._automaticRoute_deepAdd = function (x, y) {
|
||||
// 绕过路障
|
||||
if (id.endsWith("Net")) deepAdd += 100;
|
||||
// 绕过血瓶和绿宝石
|
||||
if (core.hasFlag('__potionNoRouting__') && (id.endsWith("Potion") || id == 'greenJewel')) deepAdd += 100;
|
||||
if (core.hasFlag('__potionNoRouting__') && (id.endsWith("Potion") || id == 'greenGem')) deepAdd += 100;
|
||||
// 绕过传送点
|
||||
// if (block.block.event.trigger == 'changeFloor') deepAdd+=10;
|
||||
}
|
||||
|
||||
@ -1149,7 +1149,7 @@ utils.prototype._export = function (floorIds) {
|
||||
})
|
||||
|
||||
// values
|
||||
content += ["redJewel", "blueJewel", "greenJewel", "redPotion", "bluePotion",
|
||||
content += ["redGem", "blueGem", "greenGem", "redPotion", "bluePotion",
|
||||
"yellowPotion", "greenPotion", "sword1", "shield1"].map(function (x) {
|
||||
return core.values[x] || 0;
|
||||
}).join(" ") + "\n\n";
|
||||
|
||||
@ -303,7 +303,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"shops": [
|
||||
{
|
||||
"id": "shop1",
|
||||
"text": "\t[贪婪之神,blueShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
|
||||
"text": "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
|
||||
"textInList": "1F金币商店",
|
||||
"mustEnable": false,
|
||||
"disablePreview": false,
|
||||
@ -368,7 +368,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
},
|
||||
{
|
||||
"id": "shop2",
|
||||
"text": "\t[贪婪之神,pinkShop]勇敢的武士啊, 给我一定经验就可以:",
|
||||
"text": "\t[贪婪之神,expShop]勇敢的武士啊, 给我一定经验就可以:",
|
||||
"textInList": "1F经验商店",
|
||||
"mustEnable": false,
|
||||
"disablePreview": true,
|
||||
@ -465,9 +465,9 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"lavaDamage": 100,
|
||||
"poisonDamage": 10,
|
||||
"weakValue": 20,
|
||||
"redJewel": 3,
|
||||
"blueJewel": 3,
|
||||
"greenJewel": 5,
|
||||
"redGem": 3,
|
||||
"blueGem": 3,
|
||||
"greenGem": 5,
|
||||
"redPotion": 100,
|
||||
"bluePotion": 250,
|
||||
"yellowPotion": 500,
|
||||
|
||||
@ -36,7 +36,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"experience":0,"point":0,"special":6,"n":8},
|
||||
"poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"experience":0,"point":0,"special":12},
|
||||
"octopus": {"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},
|
||||
"princessEnemy": {"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},
|
||||
@ -70,7 +70,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"evilFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"blueRock": {"name":"鬼邪石","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"skeletonLite": {"name":"骷髅精英","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"blueSkeleton": {"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},
|
||||
"bowman": {"name":"弓兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"liteBowman": {"name":"精锐弓兵","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"crismonZombie": {"name":"红兽人","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
@ -80,9 +80,5 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"grayPriest": {"name":"混沌法师","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"greenGT": {"name":"卫兵队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"ghostSoldier": {"name":"冥队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"goldBat": {"name":"金蝙蝠","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"pinkSoldier": {"name":"红战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"pinkGhostSoldier": {"name":"红队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"greenSoldier": {"name":"青战士","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0},
|
||||
"greenGhostSoldier": {"name":"青队长","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}
|
||||
"frostBat": {"name":"寒蝙蝠","hp":0,"atk":0,"def":0,"money":0,"experience":0,"point":0,"special":0}
|
||||
}
|
||||
@ -175,7 +175,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 =
|
||||
"data": [
|
||||
{
|
||||
"type": "choices",
|
||||
"text": "\t[商人,woman]你有多余的钥匙想要出售吗?",
|
||||
"text": "\t[商人,trader]你有多余的钥匙想要出售吗?",
|
||||
"choices": [
|
||||
{
|
||||
"text": "黄钥匙(10金币)",
|
||||
@ -204,7 +204,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 =
|
||||
}
|
||||
],
|
||||
"false": [
|
||||
"\t[商人,woman]你没有黄钥匙!"
|
||||
"\t[商人,trader]你没有黄钥匙!"
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -236,7 +236,7 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 =
|
||||
}
|
||||
],
|
||||
"false": [
|
||||
"\t[商人,woman]你没有蓝钥匙!"
|
||||
"\t[商人,trader]你没有蓝钥匙!"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@ -46,8 +46,8 @@ main.floors.sample0=
|
||||
}
|
||||
],
|
||||
"10,11": [
|
||||
"\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
|
||||
"\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
"\t[老人,trader]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
|
||||
"\t[老人,trader]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
@ -63,24 +63,24 @@ main.floors.sample0=
|
||||
}
|
||||
],
|
||||
"2,8": [
|
||||
"\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。",
|
||||
"\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。",
|
||||
"\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
"\t[老人,wizard]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。",
|
||||
"\t[老人,wizard]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。",
|
||||
"\t[老人,wizard]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
],
|
||||
"2,5": [
|
||||
"\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。",
|
||||
"\t[老人,wizard]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
}
|
||||
],
|
||||
"2,3": [
|
||||
"\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。",
|
||||
"\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。",
|
||||
"\t[老人,wizard]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。",
|
||||
"\t[老人,wizard]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
|
||||
@ -419,23 +419,23 @@ main.floors.sample1=
|
||||
{
|
||||
"case": "0",
|
||||
"action": [
|
||||
"\t[老人,woman]这是个很复杂的例子,它将教会你如何使用if 语句进行条件判断,以及 choices 提供选项来供用户进行选择。",
|
||||
"\t[老人,woman]第一次访问我将显示这段文字;从第二次开始将会向你出售钥匙。\n钥匙价格将随着访问次数递增。\n当合计出售了七把钥匙后,将送你一把大黄门钥匙,并消失不再出现。",
|
||||
"\t[老人,woman]这部分的逻辑比较长,请细心看样板的写法,是很容易看懂并理解的。"
|
||||
"\t[老人,trader]这是个很复杂的例子,它将教会你如何使用if 语句进行条件判断,以及 choices 提供选项来供用户进行选择。",
|
||||
"\t[老人,trader]第一次访问我将显示这段文字;从第二次开始将会向你出售钥匙。\n钥匙价格将随着访问次数递增。\n当合计出售了七把钥匙后,将送你一把大黄门钥匙,并消失不再出现。",
|
||||
"\t[老人,trader]这部分的逻辑比较长,请细心看样板的写法,是很容易看懂并理解的。"
|
||||
]
|
||||
},
|
||||
{
|
||||
"case": "8",
|
||||
"action": [
|
||||
"\t[老人,woman]你购买的钥匙已经够多了,再继续卖给你的话我会有危险的。",
|
||||
"\t[老人,woman]看在你贡献给我这么多钱的份上,送你一把大黄门钥匙吧,希望你能好好用它。",
|
||||
"\t[老人,trader]你购买的钥匙已经够多了,再继续卖给你的话我会有危险的。",
|
||||
"\t[老人,trader]看在你贡献给我这么多钱的份上,送你一把大黄门钥匙吧,希望你能好好用它。",
|
||||
{
|
||||
"type": "setValue",
|
||||
"name": "item:bigKey",
|
||||
"operator": "+=",
|
||||
"value": "1"
|
||||
},
|
||||
"\t[老人,woman]我先走了,拜拜~",
|
||||
"\t[老人,trader]我先走了,拜拜~",
|
||||
{
|
||||
"type": "hide",
|
||||
"time": 500
|
||||
@ -450,7 +450,7 @@ main.floors.sample1=
|
||||
"action": [
|
||||
{
|
||||
"type": "choices",
|
||||
"text": "\t[老人,woman]少年,你需要钥匙吗?\n我这里有大把的!",
|
||||
"text": "\t[老人,trader]少年,你需要钥匙吗?\n我这里有大把的!",
|
||||
"choices": [
|
||||
{
|
||||
"text": "黄钥匙(${9+flag:woman_times}金币)",
|
||||
@ -473,7 +473,7 @@ main.floors.sample1=
|
||||
}
|
||||
],
|
||||
"false": [
|
||||
"\t[老人,woman]你的金钱不足!"
|
||||
"\t[老人,trader]你的金钱不足!"
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -502,7 +502,7 @@ main.floors.sample1=
|
||||
}
|
||||
],
|
||||
"false": [
|
||||
"\t[老人,woman]你的金钱不足!"
|
||||
"\t[老人,trader]你的金钱不足!"
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -528,7 +528,7 @@ main.floors.sample1=
|
||||
}
|
||||
],
|
||||
"false": [
|
||||
"\t[老人,woman]你的金钱不足!",
|
||||
"\t[老人,trader]你的金钱不足!",
|
||||
{
|
||||
"type": "continue"
|
||||
}
|
||||
@ -560,8 +560,8 @@ main.floors.sample1=
|
||||
}
|
||||
],
|
||||
"12,11": [
|
||||
"\t[老人,womanMagician]使用 {\"type\":\"function\"} 可以写自定义的JS脚本。\n本塔支持的所有主要API会在doc文档内给出。",
|
||||
"\t[老人,womanMagician]例如这个例子:即将弹出一个输入窗口,然后会将你的输入结果直接加到你的攻击力上。",
|
||||
"\t[老人,recluse]使用 {\"type\":\"function\"} 可以写自定义的JS脚本。\n本塔支持的所有主要API会在doc文档内给出。",
|
||||
"\t[老人,recluse]例如这个例子:即将弹出一个输入窗口,然后会将你的输入结果直接加到你的攻击力上。",
|
||||
{
|
||||
"type": "input",
|
||||
"text": "请输入你要加攻击力的数值:"
|
||||
@ -584,7 +584,7 @@ main.floors.sample1=
|
||||
],
|
||||
"false": []
|
||||
},
|
||||
"\t[老人,womanMagician]具体可参见样板中本事件的写法。"
|
||||
"\t[老人,recluse]具体可参见样板中本事件的写法。"
|
||||
]
|
||||
},
|
||||
"changeFloor": {
|
||||
|
||||
@ -871,7 +871,7 @@ main.floors.sample3=
|
||||
"\t[hero]好温暖……",
|
||||
{
|
||||
"type": "setValue",
|
||||
"name": "item:yellowJewel",
|
||||
"name": "item:yellowGem",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
|
||||
@ -432,7 +432,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
return [
|
||||
[1, "先攻", "怪物首先攻击"],
|
||||
[2, "魔攻", "怪物无视勇士的防御"],
|
||||
[3, "坚固", "勇士每回合最多只能对怪物造成1点伤害"],
|
||||
[3, "坚固", "怪物防御不小于勇士攻击-1"],
|
||||
[4, "2连击", "怪物每回合攻击2次"],
|
||||
[5, "3连击", "怪物每回合攻击3次"],
|
||||
[6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }],
|
||||
@ -833,7 +833,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
break;
|
||||
case 52: // 快捷键4:破冰/冰冻/地震/上下楼器/... 其他道具依次判断
|
||||
{
|
||||
var list = ["icePickaxe", "snow", "earthquake", "upFly", "downFly", "jumpShoes", "lifeWand", "poisonWine", "weakWine", "curseWine", "superWine"];
|
||||
var list = ["icePickaxe", "freezeBadge", "earthquake", "upFly", "downFly", "jumpShoes", "lifeWand", "poisonWine", "weakWine", "curseWine", "superWine"];
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
var itemId = list[i];
|
||||
if (core.canUseItem(itemId)) {
|
||||
@ -1051,7 +1051,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
|
||||
var damage = {}, // 每个点的伤害值
|
||||
type = {}, // 每个点的伤害类型
|
||||
snipe = {}, // 每个点的阻击怪信息
|
||||
repluse = {}, // 每个点的阻击怪信息
|
||||
ambush = {}; // 每个点的捕捉信息
|
||||
|
||||
// 计算血网和领域、阻击、激光的伤害,计算捕捉信息
|
||||
@ -1065,7 +1065,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
type[loc] = type[loc] || {};
|
||||
|
||||
// 血网
|
||||
if (id == 'lavaNet' && !core.hasItem('shoes')) {
|
||||
if (id == 'lavaNet' && !core.hasItem('amulet')) {
|
||||
damage[loc] = (damage[loc] || 0) + core.values.lavaDamage;
|
||||
type[loc]["血网伤害"] = true;
|
||||
}
|
||||
@ -1096,8 +1096,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
}
|
||||
|
||||
// 阻击
|
||||
// 如果要防止阻击伤害,可以直接简单的将 flag:no_snipe 设为true
|
||||
if (enemy && core.hasSpecial(enemy.special, 18) && !core.hasFlag('no_snipe')) {
|
||||
// 如果要防止阻击伤害,可以直接简单的将 flag:no_repluse 设为true
|
||||
if (enemy && core.hasSpecial(enemy.special, 18) && !core.hasFlag('no_repluse')) {
|
||||
for (var dir in core.utils.scan) {
|
||||
var nx = x + core.utils.scan[dir].x,
|
||||
ny = y + core.utils.scan[dir].y,
|
||||
@ -1112,7 +1112,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
var rnx = x + core.utils.scan[rdir].x,
|
||||
rny = y + core.utils.scan[rdir].y;
|
||||
if (rnx >= 0 && rnx < width && rny >= 0 && rny < height && core.getBlock(rnx, rny, floorId) == null) {
|
||||
snipe[currloc] = (snipe[currloc] || []).concat([
|
||||
repluse[currloc] = (repluse[currloc] || []).concat([
|
||||
[x, y, id, rdir]
|
||||
]);
|
||||
}
|
||||
@ -1207,7 +1207,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
core.status.checkBlock = {
|
||||
damage: damage,
|
||||
type: type,
|
||||
snipe: snipe,
|
||||
repluse: repluse,
|
||||
ambush: ambush,
|
||||
cache: {} // clear cache
|
||||
};
|
||||
@ -1391,9 +1391,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
return [
|
||||
'yellowDoor', 'blueDoor', 'redDoor', 'greenDoor', 'steelDoor',
|
||||
'yellowKey', 'blueKey', 'redKey', 'greenKey', 'steelKey',
|
||||
'redJewel', 'blueJewel', 'greenJewel', 'yellowJewel',
|
||||
'redGem', 'blueGem', 'greenGem', 'yellowGem',
|
||||
'redPotion', 'bluePotion', 'greenPotion', 'yellowPotion', 'superPotion',
|
||||
'pickaxe', 'bomb', 'centerFly', 'icePickaxe', 'snow',
|
||||
'pickaxe', 'bomb', 'centerFly', 'icePickaxe', 'freezeBadge',
|
||||
'earthquake', 'upFly', 'downFly', 'jumpShoes', 'lifeWand',
|
||||
'poisonWine', 'weakWine', 'curseWine', 'superWine',
|
||||
'sword1', 'sword2', 'sword3', 'sword4', 'sword5',
|
||||
|
||||
@ -97,23 +97,26 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"steelDoor2": 27,
|
||||
"steelDoor3": 28,
|
||||
"iceDoor": 29,
|
||||
"iceDoor2": 30
|
||||
"iceDoor2": 30,
|
||||
"magentaWall": 31
|
||||
},
|
||||
"npcs": {
|
||||
"man": 0,
|
||||
"woman": 1,
|
||||
"trader": 1,
|
||||
"thief": 2,
|
||||
"fairy": 3,
|
||||
"magician": 4,
|
||||
"womanMagician": 5,
|
||||
"oldMan": 6,
|
||||
"child": 7,
|
||||
"wood": 8,
|
||||
"pinkShop": 9,
|
||||
"blueShop": 10,
|
||||
"wizard": 4,
|
||||
"recluse": 5,
|
||||
"king": 6,
|
||||
"youngMan": 7,
|
||||
"sign": 8,
|
||||
"expShop": 9,
|
||||
"moneyShop": 10,
|
||||
"princess": 11,
|
||||
"man2": 28,
|
||||
"woman2": 29,
|
||||
"greenMan": 28,
|
||||
"blueTrader": 29,
|
||||
"redMSNpc": 30,
|
||||
"blackTrader": 31,
|
||||
"octopusLeftTop": 12,
|
||||
"octopusTop": 13,
|
||||
"octopusRightTop": 14,
|
||||
@ -173,7 +176,7 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"redSwordsman": 53,
|
||||
"poisonZombie": 55,
|
||||
"octopus": 57,
|
||||
"greenKnight": 59,
|
||||
"princessEnemy": 59,
|
||||
"skeletonWarrior": 9,
|
||||
"frozenSkeleton": 69,
|
||||
"silverSlimelord": 60,
|
||||
@ -202,20 +205,16 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"evilFairy": 51,
|
||||
"blueRock": 63,
|
||||
"skeletonLite": 64,
|
||||
"blueSkeleton": 65,
|
||||
"greenKnight": 65,
|
||||
"bowman": 66,
|
||||
"liteBowman": 67,
|
||||
"crismonZombie": 68,
|
||||
"watcherSlime": 70,
|
||||
"mutantSlimeman": 71,
|
||||
"goldBat": 72,
|
||||
"frostBat": 72,
|
||||
"devilKnight": 73,
|
||||
"grayPriest": 74,
|
||||
"greenGT": 75,
|
||||
"pinkGhostSoldier": 77,
|
||||
"greenSoldier": 78,
|
||||
"greenGhostSoldier": 79,
|
||||
"pinkSoldier": 76,
|
||||
"ghostSoldier": 11,
|
||||
"evilHero": 40
|
||||
},
|
||||
@ -232,10 +231,10 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"greenKey": 3,
|
||||
"steelKey": 4,
|
||||
"bigKey": 6,
|
||||
"redJewel": 16,
|
||||
"blueJewel": 17,
|
||||
"greenJewel": 18,
|
||||
"yellowJewel": 19,
|
||||
"redGem": 16,
|
||||
"blueGem": 17,
|
||||
"greenGem": 18,
|
||||
"yellowGem": 19,
|
||||
"redPotion": 20,
|
||||
"bluePotion": 21,
|
||||
"greenPotion": 22,
|
||||
@ -262,7 +261,7 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"upFly": 15,
|
||||
"downFly": 14,
|
||||
"coin": 11,
|
||||
"snow": 41,
|
||||
"freezeBadge": 41,
|
||||
"cross": 40,
|
||||
"superPotion": 29,
|
||||
"earthquake": 8,
|
||||
@ -270,9 +269,9 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
||||
"weakWine": 25,
|
||||
"curseWine": 27,
|
||||
"superWine": 28,
|
||||
"knife": 42,
|
||||
"moneyPocket": 46,
|
||||
"shoes": 47,
|
||||
"dagger": 42,
|
||||
"silverCoin": 46,
|
||||
"amulet": 47,
|
||||
"hammer": 48,
|
||||
"jumpShoes": 49,
|
||||
"skill1": 30,
|
||||
|
||||
@ -19,22 +19,22 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"text": "可以打开一扇红门",
|
||||
"hideInToolbox": true
|
||||
},
|
||||
"redJewel": {
|
||||
"redGem": {
|
||||
"cls": "items",
|
||||
"name": "红宝石",
|
||||
"text": "',攻击+${core.values.redJewel}'"
|
||||
"text": "',攻击+${core.values.redGem}'"
|
||||
},
|
||||
"blueJewel": {
|
||||
"blueGem": {
|
||||
"cls": "items",
|
||||
"name": "蓝宝石",
|
||||
"text": "',防御+${core.values.blueJewel}'"
|
||||
"text": "',防御+${core.values.blueGem}'"
|
||||
},
|
||||
"greenJewel": {
|
||||
"greenGem": {
|
||||
"cls": "items",
|
||||
"name": "绿宝石",
|
||||
"text": "',护盾+${core.values.greenJewel}'"
|
||||
"text": "',护盾+${core.values.greenGem}'"
|
||||
},
|
||||
"yellowJewel": {
|
||||
"yellowGem": {
|
||||
"cls": "items",
|
||||
"name": "黄宝石",
|
||||
"text": "可以进行加点"
|
||||
@ -178,9 +178,9 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"cls": "items",
|
||||
"name": "圣水"
|
||||
},
|
||||
"moneyPocket": {
|
||||
"silverCoin": {
|
||||
"cls": "items",
|
||||
"name": "金钱袋"
|
||||
"name": "银币"
|
||||
},
|
||||
"book": {
|
||||
"cls": "constants",
|
||||
@ -200,7 +200,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"name": "幸运金币",
|
||||
"text": "持有时打败怪物可得双倍金币"
|
||||
},
|
||||
"snow": {
|
||||
"freezeBadge": {
|
||||
"cls": "constants",
|
||||
"name": "冰冻徽章",
|
||||
"text": "可以将面前的熔岩变成平地"
|
||||
@ -210,14 +210,14 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"name": "十字架",
|
||||
"text": "持有后无视怪物的无敌属性"
|
||||
},
|
||||
"knife": {
|
||||
"dagger": {
|
||||
"cls": "constants",
|
||||
"name": "屠龙匕首",
|
||||
"text": "该道具尚未被定义"
|
||||
},
|
||||
"shoes": {
|
||||
"amulet": {
|
||||
"cls": "constants",
|
||||
"name": "绿鞋",
|
||||
"name": "护符",
|
||||
"text": "持有时无视负面地形"
|
||||
},
|
||||
"bigKey": {
|
||||
@ -317,10 +317,10 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
}
|
||||
},
|
||||
"itemEffect": {
|
||||
"redJewel": "core.status.hero.atk += core.values.redJewel * ratio",
|
||||
"blueJewel": "core.status.hero.def += core.values.blueJewel * ratio",
|
||||
"greenJewel": "core.status.hero.mdef += core.values.greenJewel * ratio",
|
||||
"yellowJewel": "core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;",
|
||||
"redGem": "core.status.hero.atk += core.values.redGem * ratio",
|
||||
"blueGem": "core.status.hero.def += core.values.blueGem * ratio",
|
||||
"greenGem": "core.status.hero.mdef += core.values.greenGem * ratio",
|
||||
"yellowGem": "core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;",
|
||||
"redPotion": "core.status.hero.hp += core.values.redPotion * ratio",
|
||||
"bluePotion": "core.status.hero.hp += core.values.bluePotion * ratio",
|
||||
"yellowPotion": "core.status.hero.hp += core.values.yellowPotion * ratio",
|
||||
@ -339,13 +339,13 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"shield5": "core.status.hero.def += 100;core.status.hero.mdef += 100",
|
||||
"bigKey": "core.status.hero.items.keys.yellowKey++;core.status.hero.items.keys.blueKey++;core.status.hero.items.keys.redKey++;",
|
||||
"superPotion": "core.status.hero.hp *= 2",
|
||||
"moneyPocket": "core.status.hero.money += 500"
|
||||
"silverCoin": "core.status.hero.money += 500"
|
||||
},
|
||||
"itemEffectTip": {
|
||||
"redJewel": "',攻击+'+core.values.redJewel * ratio",
|
||||
"blueJewel": "',防御+'+core.values.blueJewel * ratio",
|
||||
"greenJewel": "',护盾+'+core.values.greenJewel * ratio",
|
||||
"yellowJewel": "',全属性提升'",
|
||||
"redGem": "',攻击+'+core.values.redGem * ratio",
|
||||
"blueGem": "',防御+'+core.values.blueGem * ratio",
|
||||
"greenGem": "',护盾+'+core.values.greenGem * ratio",
|
||||
"yellowGem": "',全属性提升'",
|
||||
"redPotion": "',生命+'+core.values.redPotion * ratio",
|
||||
"bluePotion": "',生命+'+core.values.bluePotion * ratio",
|
||||
"yellowPotion": "',生命+'+core.values.yellowPotion * ratio",
|
||||
@ -364,7 +364,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"shield5": "',防御+100,护盾+100'",
|
||||
"bigKey": "',全钥匙+1'",
|
||||
"superPotion": "',生命值翻倍'",
|
||||
"moneyPocket": "',金币+500'"
|
||||
"silverCoin": "',金币+500'"
|
||||
},
|
||||
"useItemEffect": {
|
||||
"book": "core.ui.drawBook(0);",
|
||||
@ -372,7 +372,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"earthquake": "(function () {\n\tvar indexes = [];\n\tfor (var index in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[index];\n\t\tif (!block.disable && block.event.canBreak) {\n\t\t\tindexes.push(index);\n\t\t}\n\t}\n\tcore.removeBlockByIndexes(indexes);\n\tcore.drawMap(core.status.floorId, function () {\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t});\n})();",
|
||||
"pickaxe": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable) return false;\n\t\treturn block.block.event.canBreak;\n\t};\n\n\tvar success = false;\n\tvar pickaxeFourDirections = false; // 是否四方向破;如果是将其改成true\n\tif (pickaxeFourDirections) {\n\t\t// 四方向破\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBreak(nx, ny)) {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅破当前\n\t\tif (canBreak(core.nextX(), core.nextY())) {\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.playSound('pickaxe.mp3');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\t// 无法使用\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
|
||||
"icePickaxe": "(function () {\n\tcore.removeBlock(core.nextX(), core.nextY());\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
|
||||
"snow": "(function () {\n\tvar success = false;\n\n\tvar snowFourDirections = false; // 是否四方向雪花;如果是将其改成true\n\tif (snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (core.getBlockId(nx, ny) == 'lava') {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (core.getBlockId(core.nextX(), core.nextY()) == 'lava') {\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
|
||||
"freezeBadge": "(function () {\n\tvar success = false;\n\n\tvar snowFourDirections = false; // 是否四方向雪花;如果是将其改成true\n\tif (snowFourDirections) {\n\t\t// 四方向雪花\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (core.getBlockId(nx, ny) == 'lava') {\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t\tsuccess = true;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (core.getBlockId(core.nextX(), core.nextY()) == 'lava') {\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t\tsuccess = true;\n\t\t}\n\t}\n\n\tif (success) {\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
|
||||
"bigKey": "(function () {\n\tvar actions = core.searchBlock(\"yellowDoor\").map(function (block) {\n\t\treturn { \"type\": \"openDoor\", \"loc\": [block.x, block.y], \"async\": true };\n\t});\n\tactions.push({ \"type\": \"waitAsync\" });\n\tactions.push({ \"type\": \"tip\", \"text\": core.material.items[itemId].name + \"使用成功\" });\n\tcore.insertAction(actions);\n})();",
|
||||
"bomb": "(function () {\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.block.disable || block.block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.material.enemys[block.block.event.id];\n\t\treturn enemy && !enemy.notBomb;\n\t};\n\n\tvar bombList = []; // 炸掉的怪物坐标列表\n\tvar bombFourDirections = false; // 是否四方向可炸;如果是将其改成true。\n\tif (bombFourDirections) {\n\t\t// 四方向炸\n\t\tfor (var direction in core.utils.scan) {\n\t\t\tvar delta = core.utils.scan[direction];\n\t\t\tvar nx = core.getHeroLoc('x') + delta.x,\n\t\t\t\tny = core.getHeroLoc('y') + delta.y;\n\t\t\tif (canBomb(nx, ny)) {\n\t\t\t\tbombList.push([nx, ny]);\n\t\t\t\tcore.removeBlock(nx, ny);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tif (canBomb(core.nextX(), core.nextY())) {\n\t\t\tbombList.push([core.nextX(), core.nextY()]);\n\t\t\tcore.removeBlock(core.nextX(), core.nextY());\n\t\t}\n\t}\n\n\tif (bombList.length > 0) {\n\t\tcore.playSound('bomb.mp3');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t} else {\n\t\tcore.drawTip('当前无法使用' + core.material.items[itemId].name);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n\n\t// 炸弹后事件\n\t// 这是一个使用炸弹也能开门的例子\n\t/*\n\tif (core.status.floorId=='xxx' && core.terrainExists(x0,y0,'specialDoor') // 某个楼层,该机关门存在\n\t\t&& !core.enemyExists(x1,y1) && !core.enemyExists(x2,y2)) // 且守门的怪物都不存在\n\t{\n\t\tcore.insertAction([ // 插入事件\n\t\t\t{\"type\": \"openDoor\", \"loc\": [x0,y0]} // 开门\n\t\t])\n\t}\n\t*/\n})();",
|
||||
"centerFly": "core.playSound('centerFly.mp3');\ncore.clearMap('hero');\ncore.setHeroLoc('x', core.bigmap.width - 1 - core.getHeroLoc('x'));\ncore.setHeroLoc('y', core.bigmap.height - 1 - core.getHeroLoc('y'));\ncore.drawHero();\ncore.drawTip(core.material.items[itemId].name + '使用成功');",
|
||||
@ -388,10 +388,10 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"bluePotion": "core.status.hero.hp += core.values.bluePotion",
|
||||
"greenPotion": "core.status.hero.hp += core.values.greenPotion",
|
||||
"yellowPotion": "core.status.hero.hp += core.values.yellowPotion",
|
||||
"redJewel": "core.status.hero.atk += core.values.redJewel",
|
||||
"blueJewel": "core.status.hero.def += core.values.blueJewel",
|
||||
"greenJewel": "core.status.hero.mdef += core.values.greenJewel",
|
||||
"yellowJewel": null,
|
||||
"redGem": "core.status.hero.atk += core.values.redGem",
|
||||
"blueGem": "core.status.hero.def += core.values.blueGem",
|
||||
"greenGem": "core.status.hero.mdef += core.values.greenGem",
|
||||
"yellowGem": null,
|
||||
"skill1": "// 二倍斩的flag:skill为1\nif (core.getFlag('skill', 0)==0) { // 判断当前是否已经开了技能\n\tif (core.getStatus('mana')>=5) { // 这里要写当前能否开技能的条件判断,比如魔力值至少要多少\n\t\tcore.setFlag('skill', 1); // 开技能1\n\t\tcore.setFlag('skillName', '二倍斩'); // 设置技能名\n\t}\n\telse {\n\t\tcore.drawTip(\"魔力不足,无法开启技能\");\n\t}\n}\nelse { // 关闭技能\n\tcore.setFlag('skill', 0); // 关闭技能状态\n\tcore.setFlag('skillName', '无');\n}"
|
||||
},
|
||||
"canUseItemEffect": {
|
||||
@ -404,7 +404,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"centerFly": "(function () {\n\tvar toX = core.bigmap.width - 1 - core.getHeroLoc('x'),\n\t\ttoY = core.bigmap.height - 1 - core.getHeroLoc('y');\n\tvar id = core.getBlockId(toX, toY);\n\treturn id == null;\n})();",
|
||||
"upFly": "(function () {\n\tvar floorId = core.status.floorId,\n\t\tindex = core.floorIds.indexOf(floorId);\n\tif (index < core.floorIds.length - 1) {\n\t\tvar toId = core.floorIds[index + 1],\n\t\t\ttoX = core.getHeroLoc('x'),\n\t\t\ttoY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width,\n\t\t\tmh = core.floors[toId].height;\n\t\tif (toX >= 0 && toX < mw && toY >= 0 && toY < mh && core.getBlock(toX, toY, toId) == null) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();",
|
||||
"downFly": "(function () {\n\tvar floorId = core.status.floorId,\n\t\tindex = core.floorIds.indexOf(floorId);\n\tif (index > 0) {\n\t\tvar toId = core.floorIds[index - 1],\n\t\t\ttoX = core.getHeroLoc('x'),\n\t\t\ttoY = core.getHeroLoc('y');\n\t\tvar mw = core.floors[toId].width,\n\t\t\tmh = core.floors[toId].height;\n\t\tif (toX >= 0 && toX < mw && toY >= 0 && toY < mh && core.getBlock(toX, toY, toId) == null) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();",
|
||||
"snow": "true",
|
||||
"freezeBadge": "true",
|
||||
"bigKey": "(function () {\n\treturn core.searchBlock('yellowDoor').length > 0;\n})();",
|
||||
"poisonWine": "core.hasFlag('poison');",
|
||||
"weakWine": "core.hasFlag('weak');",
|
||||
@ -416,15 +416,15 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
||||
"bluePotion": "true",
|
||||
"greenPotion": "true",
|
||||
"yellowPotion": "true",
|
||||
"redJewel": "true",
|
||||
"blueJewel": "true",
|
||||
"greenJewel": "true",
|
||||
"yellowJewel": "true",
|
||||
"redGem": "true",
|
||||
"blueGem": "true",
|
||||
"greenGem": "true",
|
||||
"yellowGem": "true",
|
||||
"skill1": "true"
|
||||
},
|
||||
"equipCondition": {},
|
||||
"useItemEvent": {
|
||||
"yellowJewel": [
|
||||
"yellowGem": [
|
||||
{
|
||||
"type": "choices",
|
||||
"choices": [
|
||||
|
||||
@ -11,9 +11,9 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"9": {"cls":"terrains","id":"pinkShopLeft"},
|
||||
"10": {"cls":"terrains","id":"pinkShopRight"},
|
||||
"11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();","name":"血网"},
|
||||
"12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行毒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [0] });\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"毒网"},
|
||||
"13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行衰处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [1] });\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"衰网"},
|
||||
"14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行咒处理\n\tif (!core.hasItem('shoes')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [2] });\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"咒网"},
|
||||
"12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行毒处理\n\tif (!core.hasItem('amulet')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [0] });\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"毒网"},
|
||||
"13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行衰处理\n\tif (!core.hasItem('amulet')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [1] });\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"衰网"},
|
||||
"14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 直接插入公共事件进行咒处理\n\tif (!core.hasItem('amulet')) {\n\t\tcore.insertAction({ \"type\": \"insert\", \"name\": \"毒衰咒处理\", \"args\": [2] });\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"咒网"},
|
||||
"15": {"cls":"animates","id":"blueWater"},
|
||||
"16": {"cls":"animates","id":"water"},
|
||||
"20": {"cls":"autotile","id":"autotile"},
|
||||
@ -23,10 +23,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"24": {"cls":"items","id":"greenKey"},
|
||||
"25": {"cls":"items","id":"steelKey"},
|
||||
"26": {"cls":"items","id":"bigKey"},
|
||||
"27": {"cls":"items","id":"redJewel"},
|
||||
"28": {"cls":"items","id":"blueJewel"},
|
||||
"29": {"cls":"items","id":"greenJewel"},
|
||||
"30": {"cls":"items","id":"yellowJewel"},
|
||||
"27": {"cls":"items","id":"redGem"},
|
||||
"28": {"cls":"items","id":"blueGem"},
|
||||
"29": {"cls":"items","id":"greenGem"},
|
||||
"30": {"cls":"items","id":"yellowGem"},
|
||||
"31": {"cls":"items","id":"redPotion"},
|
||||
"32": {"cls":"items","id":"bluePotion"},
|
||||
"33": {"cls":"items","id":"greenPotion"},
|
||||
@ -50,7 +50,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"51": {"cls":"items","id":"upFly"},
|
||||
"52": {"cls":"items","id":"downFly"},
|
||||
"53": {"cls":"items","id":"coin"},
|
||||
"54": {"cls":"items","id":"snow"},
|
||||
"54": {"cls":"items","id":"freezeBadge"},
|
||||
"55": {"cls":"items","id":"cross"},
|
||||
"56": {"cls":"items","id":"superPotion"},
|
||||
"57": {"cls":"items","id":"earthquake"},
|
||||
@ -58,9 +58,9 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"59": {"cls":"items","id":"weakWine"},
|
||||
"60": {"cls":"items","id":"curseWine"},
|
||||
"61": {"cls":"items","id":"superWine"},
|
||||
"62": {"cls":"items","id":"knife"},
|
||||
"63": {"cls":"items","id":"moneyPocket"},
|
||||
"64": {"cls":"items","id":"shoes"},
|
||||
"62": {"cls":"items","id":"dagger"},
|
||||
"63": {"cls":"items","id":"silverCoin"},
|
||||
"64": {"cls":"items","id":"amulet"},
|
||||
"65": {"cls":"items","id":"hammer"},
|
||||
"68": {"cls":"items","id":"lifeWand"},
|
||||
"69": {"cls":"items","id":"jumpShoes"},
|
||||
@ -90,22 +90,27 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"106": {"cls":"animates","id":"steelDoor3","doorInfo":[{},"door.mp3","door.mp3"],"animate":1,"trigger":"openDoor"},
|
||||
"107": {"cls":"animates","id":"iceDoor","doorInfo":[{},"door.mp3","door.mp3"],"animate":1,"trigger":"openDoor"},
|
||||
"108": {"cls":"animates","id":"iceDoor2","doorInfo":[{},"door.mp3","door.mp3"],"animate":1,"trigger":"openDoor"},
|
||||
"109": {"cls":"animates","id":"magentaWall","canBreak":true,"animate":1,"doorInfo":[null,"door.mp3","door.mp3"]},
|
||||
"121": {"cls":"npcs","id":"man"},
|
||||
"122": {"cls":"npcs","id":"woman"},
|
||||
"122": {"cls":"npcs","id":"trader"},
|
||||
"123": {"cls":"npcs","id":"thief"},
|
||||
"124": {"cls":"npcs","id":"fairy"},
|
||||
"125": {"cls":"npcs","id":"magician"},
|
||||
"126": {"cls":"npcs","id":"womanMagician"},
|
||||
"127": {"cls":"npcs","id":"oldMan"},
|
||||
"128": {"cls":"npcs","id":"child"},
|
||||
"129": {"cls":"npcs","id":"wood"},
|
||||
"130": {"cls":"npcs","id":"pinkShop"},
|
||||
"131": {"cls":"npcs","id":"blueShop"},
|
||||
"125": {"cls":"npcs","id":"wizard"},
|
||||
"126": {"cls":"npcs","id":"recluse"},
|
||||
"127": {"cls":"npcs","id":"king"},
|
||||
"128": {"cls":"npcs","id":"youngMan"},
|
||||
"129": {"cls":"npcs","id":"sign"},
|
||||
"130": {"cls":"npcs","id":"expShop"},
|
||||
"131": {"cls":"npcs","id":"moneyShop"},
|
||||
"132": {"cls":"npcs","id":"princess"},
|
||||
"133": {"cls":"npc48","id":"npc0","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}},
|
||||
"134": {"cls":"npc48","id":"npc1","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}},
|
||||
"135": {"cls":"npc48","id":"npc2","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}},
|
||||
"136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"}},
|
||||
"137": {"cls":"npcs","id":"greenMan"},
|
||||
"138": {"cls":"npcs","id":"blueTrader"},
|
||||
"139": {"cls":"npcs","id":"redMSNpc"},
|
||||
"140": {"cls":"npcs","id":"blackTrader"},
|
||||
"151": {"cls":"autotile","id":"autotile1"},
|
||||
"152": {"cls":"autotile","id":"autotile2"},
|
||||
"153": {"cls":"autotile","id":"autotile3"},
|
||||
@ -135,8 +140,6 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"194": {"cls":"npcs","id":"dragonRight"},
|
||||
"195": {"cls":"npcs","id":"dragonLeftBottom"},
|
||||
"196": {"cls":"npcs","id":"dragonRightBottom"},
|
||||
"197": {"cls":"npcs","id":"man2"},
|
||||
"198": {"cls":"npcs","id":"woman2"},
|
||||
"201": {"cls":"enemys","id":"greenSlime"},
|
||||
"202": {"cls":"enemys","id":"redSlime"},
|
||||
"203": {"cls":"enemys","id":"blackSlime"},
|
||||
@ -196,7 +199,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"257": {"cls":"enemys","id":"dragon"},
|
||||
"258": {"cls":"enemys","id":"octopus"},
|
||||
"259": {"cls":"enemys","id":"fairyEnemy"},
|
||||
"260": {"cls":"enemys","id":"greenKnight"},
|
||||
"260": {"cls":"enemys","id":"princessEnemy"},
|
||||
"261": {"cls":"enemy48","id":"angel"},
|
||||
"262": {"cls":"enemy48","id":"elemental"},
|
||||
"263": {"cls":"enemy48","id":"steelGuard"},
|
||||
@ -206,21 +209,17 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||
"267": {"cls":"enemys","id":"grayRock"},
|
||||
"268": {"cls":"enemys","id":"blueRock"},
|
||||
"269": {"cls":"enemys","id":"skeletonLite"},
|
||||
"270": {"cls":"enemys","id":"blueSkeleton"},
|
||||
"270": {"cls":"enemys","id":"greenKnight"},
|
||||
"271": {"cls":"enemys","id":"bowman"},
|
||||
"272": {"cls":"enemys","id":"liteBowman"},
|
||||
"273": {"cls":"enemys","id":"crismonZombie"},
|
||||
"274": {"cls":"enemys","id":"frozenSkeleton"},
|
||||
"275": {"cls":"enemys","id":"watcherSlime"},
|
||||
"276": {"cls":"enemys","id":"mutantSlimeman"},
|
||||
"277": {"cls":"enemys","id":"goldBat"},
|
||||
"277": {"cls":"enemys","id":"frostBat"},
|
||||
"278": {"cls":"enemys","id":"devilKnight"},
|
||||
"279": {"cls":"enemys","id":"grayPriest"},
|
||||
"280": {"cls":"enemys","id":"greenGT"},
|
||||
"281": {"cls":"enemys","id":"pinkSoldier"},
|
||||
"282": {"cls":"enemys","id":"pinkGhostSoldier"},
|
||||
"283": {"cls":"enemys","id":"greenSoldier"},
|
||||
"284": {"cls":"enemys","id":"greenGhostSoldier"},
|
||||
"300": {"cls":"terrains","id":"ground"},
|
||||
"301": {"cls":"terrains","id":"grass"},
|
||||
"302": {"cls":"terrains","id":"grass2"},
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 600 B After Width: | Height: | Size: 817 B |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 20 KiB |
2
runtime.d.ts
vendored
@ -1542,7 +1542,7 @@ declare class utils {
|
||||
|
||||
/**
|
||||
* 读取一个全局存储,适用于global:xxx,支持录像。
|
||||
* @example if (core.getGlobal('一周目已通关', false) === true) core.getItem('knife'); // 二周目游戏进行到此处时会获得一把屠龙匕首
|
||||
* @example if (core.getGlobal('一周目已通关', false) === true) core.getItem('dagger'); // 二周目游戏进行到此处时会获得一把屠龙匕首
|
||||
* @param key 全局变量名称,支持中文
|
||||
* @param defaultValue 可选,当此全局变量不存在或值为null、undefined时,用此值代替
|
||||
* @returns 全局变量的值
|
||||
|
||||
@ -57,10 +57,12 @@
|
||||
(已完成!) 增加fonts目录,全塔属性增加fonts引用
|
||||
(已完成!) 右边框输入完后解析按钮高亮
|
||||
32x48的门
|
||||
难度分歧的图块(颜色,含SL界面)
|
||||
装备同时加属性和比例
|
||||
|
||||
-------------
|
||||
|
||||
(不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe”
|
||||
(不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“repluse”
|
||||
(造塔工具相关都给鹿神) 1. 便捷PS工具希望加入自定义单位宽高功能,希望把“白底转透明”增强为“纯色底转透明”(弹窗由作者输入RGB或RGBA值)。
|
||||
(已修复) 2. 请求修复(如果还没修复)新建单张空白地图无法自定义宽高的bug
|
||||
(文档相关给秋橙) 3. 希望给M键“追加素材”功能写个更详细的说明,在线文档中没有所以离线文档中也没写成
|
||||
|
||||
@ -41,7 +41,7 @@ V2.6.6 -> V2.7 接档说明:
|
||||
5. 使用VSCode分别打开接档后的V2.7和纯净的V2.7的【project/items.js】,并执行以下操作:
|
||||
- 将三色钥匙的cls从"keys"改成"tools",并新增 "hideInToolbox": true
|
||||
- 如下道具的【useItemEffect】和【canUseItemEffect】有所改变,请直接从纯净的V2.7覆盖到你要接档的V2.7:
|
||||
- earthquake, pickaxe, icePickaxe, snow, bigKey, bomb, upFly, downFly
|
||||
- earthquake, pickaxe, icePickaxe, freezeBadge, bigKey, bomb, upFly, downFly
|
||||
- 如果确认你的塔不会使用该道具,可忽略
|
||||
- 黄宝石和生命魔杖增加了【useItemEvent】;如需使用请进行复制
|
||||
|
||||
@ -49,7 +49,7 @@ V2.6.6 -> V2.7 接档说明:
|
||||
- 找到【terrains】中的三色墙和六色门,删除对应的这几行
|
||||
- yellowWall, blueWall, whiteWall, yellowDoor, blueDoor, redDoor, greenDoor, specialDoor, steelDoor
|
||||
- (在V2.7中,terrains不再保留门的引用,门效果仅由animates决定)
|
||||
- 将【terrains】中的 blueShop-left, blueShop-right, pinkShop-left, pinkShop-right 分别重命名为
|
||||
- 将【terrains】中的 moneyShop-left, moneyShop-right, expShop-left, expShop-right 分别重命名为
|
||||
blueShopLeft, blueShopRight, pinkShopLeft, pinkShopRight
|
||||
|
||||
7. 使用VSCode分别打开接档后的V2.7和纯净的V2.7的【project/maps.js】,并执行以下操作:
|
||||
@ -87,5 +87,6 @@ V2.6.6 -> V2.7 接档说明:
|
||||
- 「重启当前事件」已经被删除并且无法在游戏中使用。请替换成等价的循环处理或者插入事件
|
||||
- 在V2.7中,所有的experience全部改名exp;请检查所有对经验值进行操作的地方
|
||||
|
||||
|
||||
其他:
|
||||
Jewel改名Gem
|
||||
|
||||
|
||||