合并V2.8素材

This commit is contained in:
ckcz123 2021-08-14 23:15:39 +08:00
parent 45c918f180
commit 39f01cd620
37 changed files with 271 additions and 237 deletions

View File

@ -2797,7 +2797,7 @@ return code;
*/; */;
choices_s choices_s
: '选项' ':' EvalString_Multi? BGNL? '标题' EvalString? '图像' IdString? '默认选中项' Int '超时毫秒数' Int '宽度' IntString? BGNL? Newline choicesContext+ BEND Newline : '选项' ':' EvalString_Multi? BGNL? '标题' EvalString? '图像' IdString? '超时毫秒数' Int '宽度' IntString? BGNL? Newline choicesContext+ BEND Newline
/* choices_s /* choices_s
@ -2816,10 +2816,9 @@ if (EvalString_0==''){
} }
EvalString_Multi_0 = title+EvalString_Multi_0; EvalString_Multi_0 = title+EvalString_Multi_0;
EvalString_Multi_0 = EvalString_Multi_0 ?(', "text": "'+EvalString_Multi_0+'"'):''; EvalString_Multi_0 = EvalString_Multi_0 ?(', "text": "'+EvalString_Multi_0+'"'):'';
Int_0 = Int_0 ? (', "selected": '+Int_0) : ''; Int_0 = Int_0 ? (', "timeout": '+Int_0) : '';
Int_1 = Int_1 ? (', "timeout": '+Int_1) : '';
IntString_0 = IntString_0 ? (', "width": ' + IntString_0) : ''; IntString_0 = IntString_0 ? (', "width": ' + IntString_0) : '';
var code = ['{"type": "choices"',EvalString_Multi_0,Int_0,Int_1,IntString_0, var code = ['{"type": "choices"',EvalString_Multi_0,Int_0,IntString_0,
block.isCollapsed()?', "_collapsed": true':'', block.isCollapsed()?', "_collapsed": true':'',
block.isEnabled()?'':', "_disabled": true', block.isEnabled()?'':', "_disabled": true',
', "choices": [\n', ', "choices": [\n',
@ -4115,8 +4114,8 @@ MoveMode_List
/*MoveMode_List ['', 'easeIn', 'easeOut', 'easeInOut']*/; /*MoveMode_List ['', 'easeIn', 'easeOut', 'easeInOut']*/;
NameMap_List NameMap_List
: '确定'|'取消'|'操作失败'|'光标移动'|'打开界面'|'读档'|'存档'|'获得道具'|'回血'|'炸弹'|'飞行器'|'开关门'|'上下楼'|'跳跃'|'破墙镐'|'阻激夹域'|'穿脱装备' : '确定'|'取消'|'操作失败'|'光标移动'|'打开界面'|'读档'|'存档'|'获得道具'|'回血'|'宝石'|'炸弹'|'飞行器'|'开关门'|'上下楼'|'跳跃'|'破墙镐'|'破冰镐'|'阻激夹域'|'穿脱装备'|'商店'
/*NameMap_List ['确定','取消','操作失败','光标移动','打开界面','读档','存档','获得道具','回血','炸弹','飞行器','开关门','上下楼','跳跃','破墙镐','阻激夹域','穿脱装备']*/; /*NameMap_List ['确定','取消','操作失败','光标移动','打开界面','读档','存档','获得道具','回血','宝石','炸弹','飞行器','开关门','上下楼','跳跃','破墙镐','破冰稿','阻激夹域','穿脱装备','商店']*/;
//转blockly后不保留需要加" //转blockly后不保留需要加"
EvalString EvalString

View File

@ -863,7 +863,7 @@ ActionParser.prototype.parseAction = function() {
if (!this.isset(data.text)) data.text = ''; if (!this.isset(data.text)) data.text = '';
var info = this.getTitleAndPosition(data.text); var info = this.getTitleAndPosition(data.text);
this.next = MotaActionFunctions.xmlText('choices_s', [ this.next = MotaActionFunctions.xmlText('choices_s', [
info[3],info[0],info[1],data.selected||0,data.timeout||0,data.width,text_choices,this.next], /* isShadow */false, /*comment*/ null, /*collapsed*/ data._collapsed, /*disabled*/ data._disabled); info[3],info[0],info[1],data.timeout||0,data.width,text_choices,this.next], /* isShadow */false, /*comment*/ null, /*collapsed*/ data._collapsed, /*disabled*/ data._disabled);
break; break;
case "for": // 循环遍历 case "for": // 循环遍历
this.next = MotaActionFunctions.xmlText('for_s',[ this.next = MotaActionFunctions.xmlText('for_s',[

View File

@ -383,7 +383,7 @@
<select id="selectFloor" style="clear:left"></select> <select id="selectFloor" style="clear:left"></select>
<input type="button" value="保存地图" id='saveFloor'/> <input type="button" value="保存地图" id='saveFloor'/>
<input type="button" value="后退" id="undoFloor" /> <input type="button" value="后退" id="undoFloor" />
<input type="button" value="查看帮助文档" id="openDoc" /> <input type="button" value="帮助文档" id="openDoc" />
<span id='mobileeditdata' style="display:none"> <span id='mobileeditdata' style="display:none">
<input type="button" value="编辑"/> <input type="button" value="编辑"/>
<input type="button" value="显示完整名称" style="display: none;"/> <input type="button" value="显示完整名称" style="display: none;"/>

View File

@ -306,18 +306,18 @@
<div class="tools"> <div class="tools">
<div id="tip"></div> <div id="tip"></div>
<select id="editModeSelect"> <select id="editModeSelect">
<option value="map">地图编辑</option> <option value="map">地图编辑Z</option>
<option value="loc">地图选点</option> <option value="loc">地图选点X</option>
<option value="enemyitem">图块属性</option> <option value="enemyitem">图块属性C</option>
<option value="floor">楼层属性</option> <option value="floor">楼层属性V</option>
<option value="tower">全塔属性</option> <option value="tower">全塔属性B</option>
<option value="functions">脚本编辑</option> <option value="functions">脚本编辑N</option>
<option value="appendpic">追加素材</option> <option value="appendpic">追加素材M</option>
<option value="commonevent">公共事件</option> <option value="commonevent">公共事件 ,</option>
<option value="plugins">插件编写</option> <option value="plugins">插件编写 .</option>
</select> </select>
<span style="font-size: 12px"><input type="checkbox" id="showMovable"/>通行度</span> <span style="font-size: 12px"><input type="checkbox" id="showMovable" style="margin-left:0;margin-right: 2px"/>通行度</span>
<select id="editorTheme" style="margin-left: 3px; font-size: 11px;"> <select id="editorTheme" style="margin-left: 0; font-size: 11px;">
<option value="editor_color">默认白</option> <option value="editor_color">默认白</option>
<option value="editor_color_dark">夜间黑</option> <option value="editor_color_dark">夜间黑</option>
</select> </select>
@ -347,7 +347,7 @@
<select id="selectFloor" style="margin-bottom: 5px;"></select> <select id="selectFloor" style="margin-bottom: 5px;"></select>
<input type="button" value="保存地图" id='saveFloor'/> <input type="button" value="保存地图" id='saveFloor'/>
<input type="button" value="后退" id="undoFloor" /> <input type="button" value="后退" id="undoFloor" />
<input type="button" value="查看帮助文档" id="openDoc" /> <input type="button" value="帮助文档" id="openDoc" />
<input type="button" value="前往游戏" onclick="window.open('./index.html', '_blank')"/> <input type="button" value="前往游戏" onclick="window.open('./index.html', '_blank')"/>
</div> </div>
</div> </div>

View File

@ -2033,7 +2033,6 @@ events.prototype._action_choices = function (data, x, y, prefix) {
try { return core.calValue(x.condition, prefix); } catch (e) { return true; } try { return core.calValue(x.condition, prefix); } catch (e) { return true; }
}) })
if (data.choices.length == 0) return this.doAction(); if (data.choices.length == 0) return this.doAction();
var selected = data.selected || 0;
if (core.isReplaying()) { if (core.isReplaying()) {
var action = core.status.replay.toReplay.shift(); var action = core.status.replay.toReplay.shift();
if (action.indexOf('choices:') == 0 && !(action == 'choices:none' && !data.timeout)) { if (action.indexOf('choices:') == 0 && !(action == 'choices:none' && !data.timeout)) {
@ -2049,7 +2048,7 @@ events.prototype._action_choices = function (data, x, y, prefix) {
if (main.replayChecking) { if (main.replayChecking) {
// 录像验证系统中选择第一项 // 录像验证系统中选择第一项
if (action != 'choices:none') core.status.replay.toReplay.unshift(action); // 首先归还刚才读出的下一步操作 if (action != 'choices:none') core.status.replay.toReplay.unshift(action); // 首先归还刚才读出的下一步操作
core.events.__action_choices_replaying(data, selected) core.events.__action_choices_replaying(data, 0)
} else { } else {
// 正常游戏中弹窗选择 // 正常游戏中弹窗选择
core.myprompt('录像回放出错!当前需要执行选择项但录像中未记录。\n如需修复请输入您要选的项从0起点击取消将不会修复。', 0, function (value) { core.myprompt('录像回放出错!当前需要执行选择项但录像中未记录。\n如需修复请输入您要选的项从0起点击取消将不会修复。', 0, function (value) {
@ -2077,7 +2076,6 @@ events.prototype._action_choices = function (data, x, y, prefix) {
data.choices[i] = {"text": data.choices[i]}; data.choices[i] = {"text": data.choices[i]};
data.choices[i].text = core.replaceText(data.choices[i].text, prefix); data.choices[i].text = core.replaceText(data.choices[i].text, prefix);
} }
core.status.event.selection = selected;
core.ui.drawChoices(core.replaceText(data.text, prefix), data.choices, data.width); core.ui.drawChoices(core.replaceText(data.text, prefix), data.choices, data.width);
} }

View File

@ -25,24 +25,27 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"bgm.mp3" "bgm.mp3"
], ],
"sounds": [ "sounds": [
"floor.mp3",
"attack.mp3", "attack.mp3",
"door.mp3",
"item.mp3",
"equip.mp3",
"zone.mp3",
"jump.mp3",
"pickaxe.mp3",
"bomb.mp3", "bomb.mp3",
"centerFly.mp3",
"error.mp3",
"cancel.mp3", "cancel.mp3",
"cursor.mp3", "centerFly.mp3",
"confirm.mp3", "confirm.mp3",
"open_ui.mp3", "cursor.mp3",
"door.mp3",
"equip.mp3",
"error.mp3",
"floor.mp3",
"gem.mp3",
"icePickaxe.mp3",
"item.mp3",
"jump.mp3",
"load.mp3", "load.mp3",
"open_ui.mp3",
"pickaxe.mp3",
"recovery.mp3", "recovery.mp3",
"save.mp3" "save.mp3",
"shop.mp3",
"zone.mp3"
], ],
"fonts": [], "fonts": [],
"nameMap": { "nameMap": {
@ -61,11 +64,14 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"上下楼": "floor.mp3", "上下楼": "floor.mp3",
"跳跃": "jump.mp3", "跳跃": "jump.mp3",
"破墙镐": "pickaxe.mp3", "破墙镐": "pickaxe.mp3",
"破冰镐": "icePickaxe.mp3",
"宝石": "gem.mp3",
"阻激夹域": "zone.mp3", "阻激夹域": "zone.mp3",
"穿脱装备": "equip.mp3", "穿脱装备": "equip.mp3",
"背景音乐": "bgm.mp3", "背景音乐": "bgm.mp3",
"攻击": "attack.mp3", "攻击": "attack.mp3",
"背景图": "bg.jpg", "背景图": "bg.jpg",
"商店": "shop.mp3",
"领域": "zone" "领域": "zone"
}, },
"levelChoose": [ "levelChoose": [
@ -73,6 +79,12 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"title": "简单", "title": "简单",
"name": "Easy", "name": "Easy",
"hard": 1, "hard": 1,
"color": [
64,
255,
85,
1
],
"action": [ "action": [
{ {
"type": "comment", "type": "comment",
@ -85,9 +97,21 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"name": "Normal", "name": "Normal",
"hard": 2, "hard": 2,
"color": [ "color": [
0,
255, 255,
0, 221,
32,
1
],
"action": []
},
{
"title": "困难",
"name": "Hard",
"hard": 3,
"color": [
255,
68,
64,
1 1
], ],
"action": [] "action": []
@ -101,7 +125,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"styles": { "styles": {
"startBackground": "project/images/bg.jpg", "startBackground": "project/images/bg.jpg",
"startVerticalBackground": "project/images/bg.jpg", "startVerticalBackground": "project/images/bg.jpg",
"startLogoStyle": "color: white", "startLogoStyle": "color: black",
"startButtonsStyle": "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;", "startButtonsStyle": "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;",
"statusLeftBackground": "url(project/materials/ground.png) repeat", "statusLeftBackground": "url(project/materials/ground.png) repeat",
"statusTopBackground": "url(project/materials/ground.png) repeat", "statusTopBackground": "url(project/materials/ground.png) repeat",
@ -131,7 +155,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"firstData": { "firstData": {
"title": "魔塔样板", "title": "魔塔样板",
"name": "template", "name": "template",
"version": "Ver 2.8", "version": "Ver 2.8.1",
"floorId": "sample0", "floorId": "sample0",
"hero": { "hero": {
"image": "hero.png", "image": "hero.png",

View File

@ -1,30 +1,30 @@
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
{ {
"greenSlime": {"name":"绿头怪","hp":100,"atk":120,"def":0,"money":1,"exp":1,"point":0,"special":[1,5,7,8]}, "greenSlime": {"name":"绿头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[16,18],"value":10}, "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}, "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]}, "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}, "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}, "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}, "redBat": {"name":"红蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "vampire": {"name":"冥灵魔王","hp":888,"atk":888,"def":888,"money":888,"exp":888,"point":0,"special":[6],"n":8},
"skeleton": {"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},
"skeletonCaptain": {"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},
"zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "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}, "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}, "rock": {"name":"石头人","hp":50,"atk":50,"def":0,"money":3,"exp":0,"point":0,"special":3},
"bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":2}, "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":[9]},
"redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "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}, "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}, "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":15,"value":200,"zoneSquare":true},
"swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":[5,23]}, "swordsman": {"name":"双手剑士","hp":100,"atk":120,"def":0,"money":6,"exp":0,"point":0,"special":4},
"soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "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}, "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}, "redKnight": {"name":"红骑士","hp":500,"atk":200,"def":50,"money":0,"exp":0,"point":0,"special":[7]},
"darkKnight": {"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},
"blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":8}, "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}, "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}, "poisonSkeleton": {"name":"紫骷髅","hp":50,"atk":60,"def":70,"money":80,"exp":0,"point":0,"special":13},
"poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13}, "poisonBat": {"name":"紫蝙蝠","hp":100,"atk":120,"def":0,"money":14,"exp":0,"point":0,"special":13},
"skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":18,"value":20}, "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}, "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
@ -33,20 +33,19 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"goldHornSlime": {"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},
"silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14}, "silverSlime": {"name":"银头怪","hp":100,"atk":120,"def":0,"money":15,"exp":0,"point":0,"special":14},
"whiteHornSlime": {"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},
"redSwordsman": {"name":"剑王","hp":100,"atk":120,"def":0,"money":7,"exp":0,"point":0,"special":6,"n":8}, "redSwordsman": {"name":"剑王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":12}, "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]},
"octopus": {"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},
"princessEnemy": {"name":"假公主","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "princessEnemy": {"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}, "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}, "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}, "steelGuard": {"name":"铁守卫","hp":50,"atk":50,"def":50,"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]}, "evilBat": {"name":"邪恶蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"frozenSkeleton": {"name":"冻死骨","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"silverSlimelord": {"name":"银怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "silverSlimelord": {"name":"银怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"goldSlimelord": {"name":"金怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "goldSlimelord": {"name":"金怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"skeletonWarrior": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "skeletonWarrior": {"name":"骷髅士兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"whiteSlimeman": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "whiteSlimeman": {"name":"水银战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"slimeman": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[10,21],"atkValue":2,"defValue":3}, "slimeman": {"name":"影子战士","hp":100,"atk":0,"def":0,"money":11,"exp":0,"point":0,"special":[9],"atkValue":2,"defValue":3},
"yellowGateKeeper": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0}, "yellowGateKeeper": {"name":"初级卫兵","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":0},
"blueGateKeeper": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "blueGateKeeper": {"name":"中级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"redGateKeeper": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "redGateKeeper": {"name":"高级卫兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
@ -59,25 +58,23 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"ironRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "ironRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"grayRock": {"name":"灰色石头人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "grayRock": {"name":"灰色石头人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"yellowPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "yellowPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"evilPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "evilPrincess": {"name":"痛苦魔女","hp":1000,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[10]},
"blademaster": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "blademaster": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"evilFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "evilFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"blueRock": {"name":"鬼邪石","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"skeletonLite": {"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}, "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"bowman": {"name":"弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "bowman": {"name":"初级弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"liteBowman": {"name":"精锐弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"crimsonZombie": {"name":"红兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"watcherSlime": {"name":"邪眼怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "watcherSlime": {"name":"邪眼怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"mutantSlimeman": {"name":"变异战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "devilKnight": {"name":"恶灵骑士","hp":150,"atk":100,"def":50,"money":0,"exp":0,"point":0,"special":[1,5,7,8]},
"devilKnight": {"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}, "grayPriest": {"name":"混沌法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"greenGateKeeper": {"name":"卫兵队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "greenGateKeeper": {"name":"卫兵队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"ghostSoldier": {"name":"冥队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "ghostSoldier": {"name":"冥队长","hp":200,"atk":100,"def":50,"money":0,"exp":0,"point":0,"special":8},
"frostBat": {"name":"寒蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}, "frostBat": {"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}, "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}, "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}, "greenKing": {"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}, "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"blueKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16} "blueKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":16},
"keiskeiFairy": {"name":"铃兰花妖","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"tulipFairy": {"name":"郁金香花妖","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"purpleBowman": {"name":"高级弓兵","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0}
} }

View File

@ -11,18 +11,18 @@ main.floors.sample0=
"bgm": "bgm.mp3", "bgm": "bgm.mp3",
"ratio": 1, "ratio": 1,
"map": [ "map": [
[ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], [ 0, 0,220, 0, 0, 20, 87, 3, 58, 59, 60, 61, 64],
[ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], [ 0,246, 0,246, 0, 20, 0, 3, 57, 62, 63, 43, 44],
[219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], [219, 0, 0, 0,219, 20, 0, 3, 53, 54, 55, 56, 69],
[ 20, 20,125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], [ 20, 20,125, 20, 20, 20, 0, 3, 49, 50, 51, 52, 68],
[216,247,263,235,248, 6, 0, 3, 49, 50, 51, 52, 38], [251,247,256,234,248, 6, 0, 3, 35, 36, 46, 47, 48],
[ 6, 6,125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], [ 6, 6,125, 6, 6, 6, 0, 3, 0, 0, 0, 0, 0],
[224,254,212,262,204, 5, 0, 1, 31, 32, 34, 33, 36], [208,227,212,216,278, 5, 0, 1, 1, 1,319, 1, 1],
[201,261,217,264,207, 5, 0, 1, 27, 28, 29, 30, 35], [201,205,217,215,224, 5, 0, 1, 27, 28, 29, 30, 31],
[ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], [ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 26],
[ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,121, 1, 1], [ 0, 0,263, 0, 0, 0, 45, 1, 1, 1,121, 1, 1],
[ 4, 4,133, 4, 4, 4, 0, 0, 0, 0, 0, 85,124], [ 4, 4,133, 4, 4, 4, 0, 0, 0, 0, 0, 85,124],
[ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2], [ 87, 11, 12, 13, 14, 4, 4, 2, 2,122, 2, 2, 2],
[ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86]
], ],
"firstArrive": [ "firstArrive": [
@ -37,23 +37,6 @@ main.floors.sample0=
"本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。" "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。"
], ],
"events": { "events": {
"10,9": [
"\t[老人,man]\b[down,null]这些是本样板支持的所有的道具。\n\n道具分为四类items, constants, toolsequips。\nitems 为即捡即用类道具,例如宝石、血瓶等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\nequips 为装备,例如剑盾等。",
"\t[老人,man]\b[up]有关道具效果定义在project文件夹的items.js中。\n目前大多数道具已有默认行为如有自定义的需求请修改道具的图块属性。",
"\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
{
"type": "hide",
"time": 500
}
],
"10,11": [
"\t[老人,trader]\b[this]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
"\t[老人,trader]\b[this]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
{
"type": "hide",
"time": 500
}
],
"2,10": [ "2,10": [
"\t[少女,npc0]\b[this]这些是路障、楼梯、传送门。", "\t[少女,npc0]\b[this]这些是路障、楼梯、传送门。",
"\t[少女,npc1]\b[this]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值都在全塔属性快捷键B的全局数值values内定义。\n\n路障同样会尽量被自动寻路绕过。", "\t[少女,npc1]\b[this]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值都在全塔属性快捷键B的全局数值values内定义。\n\n路障同样会尽量被自动寻路绕过。",
@ -72,7 +55,7 @@ main.floors.sample0=
], ],
"2,3": [ "2,3": [
"\t[老人,wizard]\b[this]领域、夹击。\n请注意领域怪需要设置value为伤害数值可参见样板中初级巫师的写法。", "\t[老人,wizard]\b[this]领域、夹击。\n请注意领域怪需要设置value为伤害数值可参见样板中初级巫师的写法。",
"\t[老人,wizard]\b[this]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", "\t[老人,wizard]\b[this]当领域、阻击、激光和夹击同时发生时,先计算领域、阻击、激光(同时计算),再计算夹击。\n自动寻路同样会尽量绕过这些区域。",
{ {
"type": "hide", "type": "hide",
"time": 500 "time": 500
@ -92,13 +75,30 @@ main.floors.sample0=
] ]
}, },
"2,8": [ "2,8": [
"\t[老人,wizard]\b[this]这些都是各种各样的怪物,所有怪物的数据都在project文件夹的enemys.js中设置。", "\t[老人,wizard]\b[this]这些都是各种各样的怪物,所有怪物的数据都在 project 文件夹的 enemys.js 中设置。\n注意是 enemys而非 enemies",
"\t[老人,wizard]\b[this]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", "\t[老人,wizard]\b[this]这批怪物分别为:\n\\i[greenSlime]普通、\\i[bat]先攻、\\i[bluePriest]魔攻、\\i[rock]坚固、\\i[swordsman]2连击、\\i[vampire]多连击、\\i[redKnight]破甲、\\i[ghostSoldier]反击、\\i[slimeman]净化。",
"\t[老人,wizard]\b[this]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", "\t[老人,wizard]\b[this]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
{ {
"type": "hide", "type": "hide",
"time": 500 "time": 500
} }
],
"9,11": [
"\t[老人,trader]\b[this]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
"\t[老人,trader]\b[this]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
{
"type": "hide",
"time": 500
}
],
"10,9": [
"\t[老人,man]\b[down,null]这些是部分本样板支持的道具。\n\n道具分为 items、constants、tools、equips 四类。\nitems 为即捡即用类道具,例如宝石、血瓶等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\nequips 为装备,例如剑盾等。",
"\t[老人,man]\b[up]有关道具效果定义在project文件夹的items.js中。\n目前大多数道具已有默认行为如有自定义的需求请修改道具的图块属性。",
"\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
{
"type": "hide",
"time": 500
}
] ]
}, },
"changeFloor": { "changeFloor": {
@ -170,50 +170,70 @@ main.floors.sample0=
"afterBattle": { "afterBattle": {
"2,6": [ "2,6": [
"\t[ghostSoldier]\b[this]不可能,你怎么可能打败我!\n一个打败怪物触发的事件" "\t[ghostSoldier]\b[this]不可能,你怎么可能打败我!\n一个打败怪物触发的事件"
],
"0,9": [
"这是一个高度为 48 个像素而非 32 个像素的敌人。\n高敌人的素材存放在 materials 文件夹中 enemy48.png 的部分。"
] ]
}, },
"afterGetItem": { "afterGetItem": {
"11,8": [ "9,1": [
"由于状态栏放不下,铁门钥匙(根据全塔属性的系统开关勾选与否,可能还有绿钥匙)会被放入道具栏中。\n碰到绿门和铁门仍然会自动使用钥匙根据全塔属性的系统开关勾选与否铁门可能不需要钥匙开门。" "样板给出的道具素材中有很多道具都是未定义甚至未注册的,需要自行实现功能。\n比如屠龙匕首就是一个没有功能的道具\n如果你想为未定的道具添加自定义功能请参照样板中其他道具的写法如果有更多疑问请查阅帮助文档。"
], ],
"8,6": [ "12,2": [
"由于吸血、夹击和净化等的存在,玩家可能希望自动寻路能尽量绕开血瓶和绿宝石,\n他们可以自行在游戏设置中开关这一功能。" "跳跃本身没有音效,使用跳跃鞋时播放的音效是通过跳跃鞋的道具效果实现的。\n如果想为跳跃设置音效请在 events.js 的 jumpHero 函数执行前插入一行代码,用 core.playSound 的方式来播放音效即可。\n如果想了解更多关于这方面的内容请参与帮助文档中的“脚本——复写函数”章节。\n\n类似的是敌人的“支援”技能也是通过在支援技能中播放音效实现的。"
], ],
"8,7": [ "8,3": [
"如需修改消耗品的效果请前往全塔属性快捷键B找到并修改values全局数值内对应的具体数值即可。\n如果有高级的需求如每个区域宝石数值变化请修改楼层属性快捷键V最下方的“宝石血瓶效果”。\n如果有更高级的需求请阅读帮助文档。" "炸弹是只能炸面前的怪物还是四个方向的怪物由其图块属性快捷键C中的“使用效果”决定。\n不能被炸的怪物请直接在该怪物的图块属性中勾选“不可炸”可参见样板里黑衣魔王和黑暗大法师的写法。"
], ],
"9,5": [ "10,3": [
"“上楼”和“下楼”的目标层由全塔属性快捷键B的“楼层列表”顺序所决定。"
],
"12,3": [
"如果想制作类似于生命魔杖等可以被批量使用的道具请参照生命魔杖图块属性快捷键B中\n useItemEvent 的写法。\n其基本原理就是使用【接受用户输入】让玩家在弹窗中输入想要使用的物品数量再判断玩家的输入是否合法如果输入合法就扣减相应数量的物品并结算物品效果。\n要注意的是在使用物品时会先消耗一个物品所以记得在编辑 useItemEvent 时先用 core.addItem 恢复一个物品。"
],
"8,4": [
"剑盾的道具类别设为equips才可以装备\n如果设为items则会直接增加属性。",
"在全塔属性快捷键B的系统开关中设置是否启用装备栏按钮。\n如果启用则装备栏按钮会替代楼传按钮。\n无论是否启用玩家都可以双击道具栏按钮呼出装备栏。"
],
"9,4": [
"装备的种类由全塔属性快捷键B中的“装备孔”决定。\n每件装备的“类型”就是在“装备孔”中的索引例如默认情况下 0 代表武器。\n同时只有第一个装备孔中的装备其“普攻动画”属性才会生效。"
],
"10,4": [
"每层楼的“可楼传”勾选框决定了该楼层能否被飞到。\n\n勇士在不能被飞到的楼层也无法使用楼层传送器。", "每层楼的“可楼传”勾选框决定了该楼层能否被飞到。\n\n勇士在不能被飞到的楼层也无法使用楼层传送器。",
"飞行的楼层顺序由全塔属性快捷键B中的“楼层列表”所决定。\n\n是否必须在楼梯边使用楼传器由全塔属性中的系统开关所决定。" "飞行的楼层顺序由全塔属性快捷键B中的“楼层列表”所决定。\n\n是否必须在楼梯边使用楼传器由全塔属性中的系统开关所决定。"
], ],
"10,5": [ "11,4": [
"破墙镐是破面前的墙壁还是四个方向的墙壁由其图块属性快捷键C的“使用效果”决定。\n哪些图块怪物和道具除外可以被破震由该图块的图块属性中的“可破震”决定。" "破墙镐是破面前的墙壁还是四个方向的墙壁由其图块属性快捷键C的“使用效果”决定。\n哪些图块怪物和道具除外可以被破震由该图块的图块属性中的“可破震”决定。"
], ],
"8,4": [ "12,4": [
"炸弹是只能炸面前的怪物还是四个方向的怪物由其图块属性快捷键C中的“使用效果”决定。\n不能被炸的怪物请直接在该怪物的图块属性中勾选“不可炸”可参见样板里黑衣魔王和黑暗大法师的写法。" "在 2.8.1 版更新后,能够被破冰镐摧毁的冰块被移动到了 animates 下。\n如果想制作一个可以以特定触发器的方式移除特定图块的道具可以参照破冰镐物品图块属性中\n useItemEffect 和 canUseItemEffect 的写法。"
], ],
"10,4": [ "11,8": [
"“上楼”和“下楼”的目标层由全塔属性快捷键B的“楼层列表”顺序所决定。" "由于状态栏放不下,铁门钥匙(根据全塔属性的系统开关勾选与否,可能还有绿钥匙)会被放入道具栏中。\n碰到绿门和铁门时仍然会自动使用钥匙开门。",
{
"type": "comment",
"text": "由于状态栏放不下,铁门钥匙(根据全塔属性的系统开关勾选与否,可能还有绿钥匙)会被放入道具栏中。\n碰到绿门和铁门仍然会自动使用钥匙根据全塔属性的系统开关勾选与否铁门可能不需要钥匙开门。"
}
], ],
"9,2": [ "12,8": [
"该道具默认是大黄门钥匙如需改为钥匙盒直接修改其图块属性快捷键C的“道具类别”为items即可。" "该道具默认是大黄门钥匙如需改为钥匙盒直接修改其图块属性快捷键C的“道具类别”为items即可。"
], ],
"10,2": [ "8,7": [
"屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见帮助文档。" "如需修改消耗品的效果请前往全塔属性快捷键B找到并修改values全局数值内对应的具体数值即可。\n如果有高级的需求如每个区域宝石数值变化请修改楼层属性快捷键V最下方的“宝石血瓶效果”。\n如果有更高级的需求请查阅帮助文档。"
],
"11,7": [
"与大黄门钥匙类似的是,如果将黄宝石的图块属性设为 items ,那么黄宝石将在被拾取触发 itemEffect 效果。\n\n注意触碰或使用事件useItemEvent对 items、tools、constants 都有效。\n这意味着如果黄宝石的图块属性为 items ,那么在拾取黄宝石时,黄宝石不会进入背包,并且其“即捡即用”和“触碰或使用事件”都会被触发。"
], ],
"12,7": [ "12,7": [
"剑盾的道具类别设为equips才可以装备\n如果设为items则会直接增加属性。" "由于吸血、夹击、净化等属性值的存在,玩家可能希望自动寻路时能尽量绕开血瓶和绿宝石。\n他们可以自行在游戏设置中开关这一功能。"
],
"12,6": [
"在全塔属性快捷键B的系统开关中设置是否启用装备栏按钮。\n如果启用则装备栏按钮会替代楼传按钮。\n无论是否启用玩家都可以双击道具栏按钮呼出装备栏。"
],
"12,5": [
"装备的种类由全塔属性快捷键B中的“装备孔”决定每件装备的“类型”就是在“装备孔”中的索引\n例如默认情况下0代表武器。同时只有第一个装备孔中的装备其“普攻动画”属性才会生效。"
] ]
}, },
"afterOpenDoor": { "afterOpenDoor": {
"11,12": [ "11,12": [
"你开了一个绿门触发了一个afterOpenDoor事件" "你打开了一扇绿门,触发了一个 afterOpenDoor 事件。"
],
"10,6": [
"这是一扇高度为 48 个像素而非 32 个像素的门。\n高门和高NPC的素材存放在 materials 文件夹中 npc48.png 的部分。"
] ]
}, },
"cannotMove": {}, "cannotMove": {},
@ -237,5 +257,7 @@ main.floors.sample0=
], ],
"width": 13, "width": 13,
"height": 13, "height": 13,
"autoEvent": {} "autoEvent": {},
"beforeBattle": {},
"cannotMoveIn": {}
} }

View File

@ -30,17 +30,6 @@ main.floors.sample1=
], ],
"firstArrive": [], "firstArrive": [],
"events": { "events": {
"4,10": [
"\t[样板提示]本层楼将会对各类事件进行介绍。",
"左边是一个仿51层的陷阱做法上方是商店、快捷商店的使用方法右上是一个典型的杀怪开门的例子右下是各类可能的NPC事件。",
"本样板目前支持的事件列表大致有:\ntext: 显示一段文字(比如你现在正在看到的)\ntip: 左上角显示提示\nshow: 使一个事件有效(可见、可被交互)\nhide: 使一个事件失效(不可见、不可被交互)\ntrigger: 触发另一个地点的事件\nanimate: 显示动画\nbattle: 强制和某怪物战斗\nopenDoor: 无需钥匙开门(例如机关门、暗墙)",
"openShop: 打开一个全局商店\ndisableShop: 禁用一个全局商店\nchangeFloor: 传送勇士到某层某位置\nchangePos: 传送勇士到当层某位置;转向\nshowImage: 显示图片\nsetCurtain: 更改画面色调\nsetWeather: 更改天气\nmove: 移动事件效果\nmoveHero: 移动勇士效果\nplayBgm: 播放某个背景音乐\npauseBgm: 暂停背景音乐\nresumeBgm: 恢复背景音乐的播放\nplaySound: 播放某个音频",
"if: 条件判断\nchoices: 提供选项\nsetValue: 设置勇士属性道具,或某个变量/flag\nupdate: 更新状态栏和地图显伤\nwin: 获得胜利(游戏通关)\nlose: 游戏失败\nsleep: 等待多少毫秒\nexit: 立刻结束当前事件\nfunction: 自定义JS脚本\n\n更多支持的事件还在编写中欢迎您宝贵的意见。",
"有关各事件的样例可参见本层一些NPC的写法。\n所有事件样例本层都有介绍。\n\n一个自定义事件处理完后需要调用{\"type\": \"hide\"}该事件才不会再次出现。",
{
"type": "hide"
}
],
"1,7": [ "1,7": [
{ {
"type": "setBlock", "type": "setBlock",
@ -180,6 +169,10 @@ main.floors.sample1=
11 11
] ]
}, },
{
"type": "comment",
"text": "{type: openDoor} 不止可以开“门”,也可以用来开墙等等"
},
{ {
"type": "sleep", "type": "sleep",
"time": 300 "time": 300
@ -189,9 +182,8 @@ main.floors.sample1=
"type": "move", "type": "move",
"time": 750, "time": 750,
"steps": [ "steps": [
"right", "right:2",
"right", "down:1"
"down"
] ]
}, },
"上面是个move事件可以对NPC等进行移动。\n详见样板中小偷事件的写法。", "上面是个move事件可以对NPC等进行移动。\n详见样板中小偷事件的写法。",
@ -623,5 +615,6 @@ main.floors.sample1=
} }
}, },
"width": 13, "width": 13,
"height": 13 "height": 13,
"beforeBattle": {}
} }

View File

@ -70,5 +70,6 @@ main.floors.sample2=
"fgmap": [ "fgmap": [
], ],
"autoEvent": {} "autoEvent": {},
"beforeBattle": {}
} }

View File

@ -458,6 +458,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// isGentleClick是否是轻按触发的 // isGentleClick是否是轻按触发的
if (itemId.endsWith('Potion') && core.material.items[itemId].cls == 'items') if (itemId.endsWith('Potion') && core.material.items[itemId].cls == 'items')
core.playSound('回血'); core.playSound('回血');
else if (itemId.endsWith('Gem') && core.material.items[itemId].cls == 'items')
core.playSound('宝石')
else else
core.playSound('获得道具'); core.playSound('获得道具');
@ -494,30 +496,30 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
// 名字和描述可以直接写字符串也可以写个function将怪物传进去 // 名字和描述可以直接写字符串也可以写个function将怪物传进去
return [ return [
[1, "先攻", "怪物首先攻击", "#ffcc33"], [1, "先攻", "怪物首先攻击", "#ffcc33"],
[2, "魔攻", "怪物无视勇士的防御", "#bbb0ff"], [2, "魔攻", "怪物无视角色的防御", "#bbb0ff"],
[3, "坚固", "怪物防御不小于勇士攻击-1", "#c0b088"], [3, "坚固", "怪物防御不小于角色攻击-1", "#c0b088"],
[4, "2连击", "怪物每回合攻击2次", "#ffee77"], [4, "2连击", "怪物每回合攻击2次", "#ffee77"],
[5, "3连击", "怪物每回合攻击3次", "#ffee77"], [5, "3连击", "怪物每回合攻击3次", "#ffee77"],
[6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }, "#ffee77"], [6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }, "#ffee77"],
[7, "破甲", function (enemy) { return "战斗前,怪物附加角色防御的" + Math.floor(100 * (enemy.defValue || core.values.breakArmor || 0)) + "%作为伤害"; }, "#b30000"], [7, "破甲", function (enemy) { return "战斗前,怪物附加角色防御的" + Math.floor(100 * (enemy.defValue || core.values.breakArmor || 0)) + "%作为伤害"; }, "#88c0ff"],
[8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.atkValue || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#ffaa44"], [8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.atkValue || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#ffaa44"],
[9, "净化", function (enemy) { return "战斗前,怪物附加勇士护盾的" + (enemy.n || core.values.purify) + "倍作为伤害"; }, "#80eed6"], [9, "净化", function (enemy) { return "战斗前,怪物附加角色护盾的" + (enemy.n || core.values.purify) + "倍作为伤害"; }, "#80eed6"],
[10, "模仿", "怪物的攻防和勇士攻防相等", "#b0c0dd"], [10, "模仿", "怪物的攻防和角色攻防相等", "#b0c0dd"],
[11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }, "#ff00d2"], [11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.value || 0) + "%生命(约" + Math.floor((enemy.value || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }, "#dd4448"],
[12, "中毒", "战斗后,勇士陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#99ee88"], [12, "中毒", "战斗后,角色陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#99ee88"],
[13, "衰弱", "战斗后,勇士陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#f0bbcc"], [13, "衰弱", "战斗后,角色陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#f0bbcc"],
[14, "诅咒", "战斗后,勇士陷入诅咒状态,战斗无法获得金币和经验", "#bbeef0"], [14, "诅咒", "战斗后,角色陷入诅咒状态,战斗无法获得金币和经验", "#bbeef0"],
[15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }, "#c677dd"], [15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.value || 0) + "点"; }, "#c677dd"],
[16, "夹击", "经过两只相同的怪物中间,勇士生命值变成一半", "#bb99ee"], [16, "夹击", "经过两只相同的怪物中间,角色生命值变成一半", "#bb99ee"],
[17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)", "#b0b666"], [17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)", "#b0b666"],
[18, "阻击", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }, "#8888e6"], [18, "阻击", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时自动减生命" + (enemy.value || 0) + "点,同时怪物后退一格"; }, "#8888e6"],
[19, "自爆", "战斗后勇士的生命值变成1", "#ff6666"], [19, "自爆", "战斗后角色的生命值变成1", "#ff6666"],
[20, "无敌", "勇士无法打败怪物,除非拥有十字架", "#aaaaaa"], [20, "无敌", "角色无法打败怪物,除非拥有十字架", "#aaaaaa"],
[21, "退化", function (enemy) { return "战斗后勇士永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }], [21, "退化", function (enemy) { return "战斗后角色永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }],
[22, "固伤", function (enemy) { return "战斗前,怪物对勇士造成" + (enemy.damage || 0) + "点固定伤害,未开启负伤时无视勇士护盾。"; }, "#ff9977"], [22, "固伤", function (enemy) { return "战斗前,怪物对角色造成" + (enemy.damage || 0) + "点固定伤害,未开启负伤时无视角色护盾。"; }, "#ff9977"],
[23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"], [23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"],
[24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }, "#dda0dd"], [24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.value || 0) + "点"; }, "#dda0dd"],
[25, "光环", function (enemy) { return (enemy.range != null ? ((enemy.zoneSquare ? "该怪物九宫格" : "该怪物十字") + enemy.range + "格范围内") : "同楼层所有" ) + "怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%" + (enemy.add ? "可叠加" : "不可叠加"); }, "#e6e099", 1], [25, "光环", function (enemy) { return (enemy.range != null ? ((enemy.zoneSquare ? "该怪物九宫格" : "该怪物十字") + enemy.range + "格范围内") : "同楼层所有") + "怪物生命提升" + (enemy.value || 0) + "%,攻击提升" + (enemy.atkValue || 0) + "%,防御提升" + (enemy.defValue || 0) + "%" + (enemy.add ? "可叠加" : "不可叠加"); }, "#e6e099", 1],
[26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#77c0b6", 1], [26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#77c0b6", 1],
[27, "捕捉", function (enemy) { return "当走到怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时会强制进行战斗。"; }, "#c0ddbb"] [27, "捕捉", function (enemy) { return "当走到怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时会强制进行战斗。"; }, "#c0ddbb"]
]; ];

View File

@ -34,42 +34,41 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"grass2": 2, "grass2": 2,
"ground2": 3, "ground2": 3,
"ground3": 4, "ground3": 4,
"ice": 5, "downFloor": 5,
"downFloor": 6, "upFloor": 6,
"upFloor": 7, "blueShopLeft": 7,
"blueShopLeft": 8, "pinkShopLeft": 8,
"pinkShopLeft": 9, "blueShopRight": 9,
"blueShopRight": 10, "pinkShopRight": 10,
"pinkShopRight": 11, "arrowUp": 11,
"arrowUp": 12, "arrowDown": 12,
"arrowDown": 13, "arrowLeft": 13,
"arrowLeft": 14, "arrowRight": 14,
"arrowRight": 15, "light": 15,
"light": 16, "darkLight": 16,
"darkLight": 17, "ski": 17,
"ski": 18, "flower": 18,
"flower": 19, "box": 19,
"box": 20, "boxed": 20,
"boxed": 21, "sWallT": 21,
"sWallT": 22, "sWallL": 22,
"sWallL": 23, "sWallR": 23,
"sWallR": 24, "sWallB": 24,
"sWallB": 25, "sWallTL": 25,
"sWallTL": 26, "sWallBR": 26,
"sWallBR": 27, "sWallTR": 27,
"sWallTR": 28, "sWallBL": 28,
"sWallBL": 29, "sWallTB": 29,
"sWallTB": 30, "sWallLR": 30,
"sWallLR": 31, "sWallBLR": 31,
"sWallBLR": 32, "sWallTLR": 32,
"sWallTLR": 33, "sWallTBR": 33,
"sWallTBR": 34, "sWallTBL": 34
"sWallTBL": 35
}, },
"animates": { "animates": {
"star": 0, "star": 0,
"lava": 1, "lava": 1,
"blueWater": 2, "blueLava": 2,
"water": 3, "water": 3,
"yellowDoor": 4, "yellowDoor": 4,
"blueDoor": 5, "blueDoor": 5,
@ -94,11 +93,8 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"leftPortal": 24, "leftPortal": 24,
"rightPortal": 25, "rightPortal": 25,
"upPortal": 26, "upPortal": 26,
"steelDoor2": 27, "ice": 27,
"steelDoor3": 28, "magentaWall": 28
"iceDoor": 29,
"iceDoor2": 30,
"magentaWall": 31
}, },
"npcs": { "npcs": {
"man": 0, "man": 0,
@ -115,8 +111,6 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"princess": 11, "princess": 11,
"greenMan": 28, "greenMan": 28,
"blueTrader": 29, "blueTrader": 29,
"redMSNpc": 30,
"blackTrader": 31,
"octopusLeftTop": 12, "octopusLeftTop": 12,
"octopusTop": 13, "octopusTop": 13,
"octopusRightTop": 14, "octopusRightTop": 14,
@ -138,7 +132,13 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"npc0": 0, "npc0": 0,
"npc1": 1, "npc1": 1,
"npc2": 2, "npc2": 2,
"npc3": 3 "npc3": 3,
"tallYellowDoor": 4,
"tallBlueDoor": 5,
"tallRedDoor": 6,
"tallGreenDoor": 7,
"tallSpecialDoor": 8,
"tallSteelDoor": 9
}, },
"enemys": { "enemys": {
"greenSlime": 0, "greenSlime": 0,
@ -178,7 +178,6 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"octopus": 57, "octopus": 57,
"princessEnemy": 59, "princessEnemy": 59,
"skeletonWarrior": 9, "skeletonWarrior": 9,
"frozenSkeleton": 69,
"silverSlimelord": 60, "silverSlimelord": 60,
"goldSlimelord": 61, "goldSlimelord": 61,
"whiteSlimeman": 54, "whiteSlimeman": 54,
@ -198,25 +197,23 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"evilPrincess": 50, "evilPrincess": 50,
"blademaster": 48, "blademaster": 48,
"evilFairy": 51, "evilFairy": 51,
"blueRock": 63, "greenKnight": 63,
"skeletonLite": 64, "bowman": 64,
"greenKnight": 65, "watcherSlime": 66,
"bowman": 66, "frostBat": 67,
"liteBowman": 67, "devilKnight": 68,
"crimsonZombie": 68, "grayPriest": 69,
"watcherSlime": 70, "greenGateKeeper": 70,
"mutantSlimeman": 71,
"frostBat": 72,
"devilKnight": 73,
"grayPriest": 74,
"greenGateKeeper": 75,
"ghostSoldier": 11, "ghostSoldier": 11,
"evilHero": 40, "evilHero": 40,
"blackKing": 28, "blackKing": 28,
"yellowKing": 29, "yellowKing": 29,
"greenKing": 30, "greenKing": 30,
"redKing": 44, "redKing": 44,
"blueKing": 45 "blueKing": 45,
"keiskeiFairy": 71,
"tulipFairy": 72,
"purpleBowman": 65
}, },
"enemy48": { "enemy48": {
"angel": 0, "angel": 0,
@ -270,12 +267,12 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"curseWine": 27, "curseWine": 27,
"superWine": 28, "superWine": 28,
"dagger": 42, "dagger": 42,
"silverCoin": 46,
"amulet": 47, "amulet": 47,
"hammer": 48, "hammer": 48,
"jumpShoes": 49, "jumpShoes": 49,
"skill1": 30, "skill1": 30,
"wand": 10 "wand": 10,
"pack": 46
}, },
"autotile": { "autotile": {
"autotile": 0, "autotile": 0,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -297,16 +297,10 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"name": "圣水", "name": "圣水",
"itemEffect": "core.status.hero.hp *= 2", "itemEffect": "core.status.hero.hp *= 2",
"itemEffectTip": ",生命值翻倍", "itemEffectTip": ",生命值翻倍",
"useItemEffect": "core.status.hero.hp *= 2; core.playSound('回血');", "useItemEffect": "core.status.hero.hp *= 2;\ncore.playSound('回血');",
"canUseItemEffect": "true", "canUseItemEffect": "true",
"text": "生命值翻倍" "text": "生命值翻倍"
}, },
"silverCoin": {
"cls": "items",
"name": "银币",
"itemEffect": "core.status.hero.money += 500",
"itemEffectTip": ",金币+500"
},
"book": { "book": {
"cls": "constants", "cls": "constants",
"name": "怪物手册", "name": "怪物手册",
@ -381,8 +375,8 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "tools", "cls": "tools",
"name": "破冰镐", "name": "破冰镐",
"text": "可以破坏勇士面前的一堵冰墙", "text": "可以破坏勇士面前的一堵冰墙",
"useItemEffect": "(function () {\n\tcore.removeBlock(core.nextX(), core.nextY());\n\tcore.playSound('打开界面');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", "useItemEffect": "(function () {\n\tcore.openDoor(core.nextX(), core.nextY(), false);\n\tcore.playSound('破冰镐');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
"canUseItemEffect": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice' || core.getBlockId(core.nextX(), core.nextY()) == 'iceDoor';\n})();" "canUseItemEffect": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice';\n})();"
}, },
"bomb": { "bomb": {
"cls": "tools", "cls": "tools",
@ -416,35 +410,35 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"cls": "tools", "cls": "tools",
"name": "地震卷轴", "name": "地震卷轴",
"text": "可以破坏当前层的所有墙", "text": "可以破坏当前层的所有墙",
"useItemEffect": "(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();\n\tcore.playSound('打开界面');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();", "useItemEffect": "(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();\n\tcore.playSound('炸弹');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n})();",
"canUseItemEffect": "(function () {\n\treturn core.status.thisMap.blocks.filter(function (block) {\n\t\treturn !block.disable && block.event.canBreak;\n\t}).length > 0;\n})();" "canUseItemEffect": "(function () {\n\treturn core.status.thisMap.blocks.filter(function (block) {\n\t\treturn !block.disable && block.event.canBreak;\n\t}).length > 0;\n})();"
}, },
"poisonWine": { "poisonWine": {
"cls": "tools", "cls": "tools",
"name": "解毒药水", "name": "解毒药水",
"text": "可以解除中毒状态", "text": "可以解除中毒状态",
"useItemEffect": "core.triggerDebuff('remove', 'poison');", "useItemEffect": "core.triggerDebuff('remove', 'poison');\ncore.playSound('回血');",
"canUseItemEffect": "core.hasFlag('poison');" "canUseItemEffect": "core.hasFlag('poison');"
}, },
"weakWine": { "weakWine": {
"cls": "tools", "cls": "tools",
"name": "解衰药水", "name": "解衰药水",
"text": "可以解除衰弱状态", "text": "可以解除衰弱状态",
"useItemEffect": "core.triggerDebuff('remove', 'weak');", "useItemEffect": "core.triggerDebuff('remove', 'weak');\ncore.playSound('回血');",
"canUseItemEffect": "core.hasFlag('weak');" "canUseItemEffect": "core.hasFlag('weak');"
}, },
"curseWine": { "curseWine": {
"cls": "tools", "cls": "tools",
"name": "解咒药水", "name": "解咒药水",
"text": "可以解除诅咒状态", "text": "可以解除诅咒状态",
"useItemEffect": "core.triggerDebuff('remove', 'curse');", "useItemEffect": "core.triggerDebuff('remove', 'curse');\ncore.playSound('回血');",
"canUseItemEffect": "core.hasFlag('curse');" "canUseItemEffect": "core.hasFlag('curse');"
}, },
"superWine": { "superWine": {
"cls": "tools", "cls": "tools",
"name": "万能药水", "name": "万能药水",
"text": "可以解除所有不良状态", "text": "可以解除所有不良状态",
"useItemEffect": "core.triggerDebuff('remove', ['poison', 'weak', 'curse']);", "useItemEffect": "core.triggerDebuff('remove', ['poison', 'weak', 'curse']);\ncore.playSound('回血');",
"canUseItemEffect": "(function() {\n\treturn core.hasFlag('poison') || core.hasFlag('weak') || core.hasFlag('curse');\n})();" "canUseItemEffect": "(function() {\n\treturn core.hasFlag('poison') || core.hasFlag('weak') || core.hasFlag('curse');\n})();"
}, },
"hammer": { "hammer": {
@ -473,6 +467,10 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"type": "input", "type": "input",
"text": "请输入生命魔杖使用次数:(0-${item:lifeWand})" "text": "请输入生命魔杖使用次数:(0-${item:lifeWand})"
}, },
{
"type": "comment",
"text": "【接受用户输入】弹窗输入的结果将会保存在“flag:input”中\n如果需要更多帮助请查阅帮助文档"
},
{ {
"type": "if", "type": "if",
"condition": "flag:input<=item:lifeWand", "condition": "flag:input<=item:lifeWand",
@ -524,5 +522,11 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"wand": { "wand": {
"cls": "items", "cls": "items",
"name": "新物品" "name": "新物品"
},
"pack": {
"cls": "items",
"name": "钱袋",
"itemEffect": "core.status.hero.money += 500",
"itemEffectTip": ",金币+500"
} }
} }

View File

@ -5,7 +5,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}}}, "3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}}},
"4": {"cls":"animates","id":"star","name":"星空"}, "4": {"cls":"animates","id":"star","name":"星空"},
"5": {"cls":"animates","id":"lava","name":"岩浆"}, "5": {"cls":"animates","id":"lava","name":"岩浆"},
"6": {"cls":"terrains","id":"ice"}, "6": {"cls":"animates","id":"ice","doorInfo":{"time":160,"openSound":"icepickaxe.mp3","closeSound":"door.mp3","keys":{"specialKey":1}},"animate":1},
"7": {"cls":"terrains","id":"blueShopLeft"}, "7": {"cls":"terrains","id":"blueShopLeft"},
"8": {"cls":"terrains","id":"blueShopRight"}, "8": {"cls":"terrains","id":"blueShopRight"},
"9": {"cls":"terrains","id":"pinkShopLeft"}, "9": {"cls":"terrains","id":"pinkShopLeft"},
@ -14,7 +14,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'poison');\n\t\tcore.updateStatusBar();\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\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'poison');\n\t\tcore.updateStatusBar();\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\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'weak');\n\t\tcore.updateStatusBar();\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\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'weak');\n\t\tcore.updateStatusBar();\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\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'curse');\n\t\tcore.updateStatusBar();\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\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'curse');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"咒网"},
"15": {"cls":"animates","id":"blueWater"}, "15": {"cls":"animates","id":"blueLava"},
"16": {"cls":"animates","id":"water"}, "16": {"cls":"animates","id":"water"},
"20": {"cls":"autotile","id":"autotile"}, "20": {"cls":"autotile","id":"autotile"},
"21": {"cls":"items","id":"yellowKey"}, "21": {"cls":"items","id":"yellowKey"},
@ -59,7 +59,7 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"60": {"cls":"items","id":"curseWine"}, "60": {"cls":"items","id":"curseWine"},
"61": {"cls":"items","id":"superWine"}, "61": {"cls":"items","id":"superWine"},
"62": {"cls":"items","id":"dagger"}, "62": {"cls":"items","id":"dagger"},
"63": {"cls":"items","id":"silverCoin"}, "63": {"cls":"items","id":"pack"},
"64": {"cls":"items","id":"amulet"}, "64": {"cls":"items","id":"amulet"},
"65": {"cls":"items","id":"hammer"}, "65": {"cls":"items","id":"hammer"},
"68": {"cls":"items","id":"lifeWand"}, "68": {"cls":"items","id":"lifeWand"},
@ -86,10 +86,6 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"102": {"cls":"animates","id":"crystalBottom"}, "102": {"cls":"animates","id":"crystalBottom"},
"103": {"cls":"animates","id":"fire"}, "103": {"cls":"animates","id":"fire"},
"104": {"cls":"animates","id":"switch"}, "104": {"cls":"animates","id":"switch"},
"105": {"cls":"animates","id":"steelDoor2","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
"106": {"cls":"animates","id":"steelDoor3","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
"107": {"cls":"animates","id":"iceDoor","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
"108": {"cls":"animates","id":"iceDoor2","doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}},"animate":1,"trigger":"openDoor"},
"109": {"cls":"animates","id":"magentaWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}}}, "109": {"cls":"animates","id":"magentaWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{}}},
"121": {"cls":"npcs","id":"man"}, "121": {"cls":"npcs","id":"man"},
"122": {"cls":"npcs","id":"trader"}, "122": {"cls":"npcs","id":"trader"},
@ -109,8 +105,6 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1}, "136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
"137": {"cls":"npcs","id":"greenMan"}, "137": {"cls":"npcs","id":"greenMan"},
"138": {"cls":"npcs","id":"blueTrader"}, "138": {"cls":"npcs","id":"blueTrader"},
"139": {"cls":"npcs","id":"redMSNpc"},
"140": {"cls":"npcs","id":"blackTrader"},
"151": {"cls":"autotile","id":"autotile1"}, "151": {"cls":"autotile","id":"autotile1"},
"152": {"cls":"autotile","id":"autotile2"}, "152": {"cls":"autotile","id":"autotile2"},
"153": {"cls":"autotile","id":"autotile3"}, "153": {"cls":"autotile","id":"autotile3"},
@ -207,15 +201,10 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"265": {"cls":"enemys","id":"silverSlimelord"}, "265": {"cls":"enemys","id":"silverSlimelord"},
"266": {"cls":"enemys","id":"goldSlimelord"}, "266": {"cls":"enemys","id":"goldSlimelord"},
"267": {"cls":"enemys","id":"grayRock"}, "267": {"cls":"enemys","id":"grayRock"},
"268": {"cls":"enemys","id":"blueRock"},
"269": {"cls":"enemys","id":"skeletonLite"},
"270": {"cls":"enemys","id":"greenKnight"}, "270": {"cls":"enemys","id":"greenKnight"},
"271": {"cls":"enemys","id":"bowman"}, "271": {"cls":"enemys","id":"bowman"},
"272": {"cls":"enemys","id":"liteBowman"}, "272": {"cls":"enemys","id":"purpleBowman"},
"273": {"cls":"enemys","id":"crimsonZombie"},
"274": {"cls":"enemys","id":"frozenSkeleton"},
"275": {"cls":"enemys","id":"watcherSlime"}, "275": {"cls":"enemys","id":"watcherSlime"},
"276": {"cls":"enemys","id":"mutantSlimeman"},
"277": {"cls":"enemys","id":"frostBat"}, "277": {"cls":"enemys","id":"frostBat"},
"278": {"cls":"enemys","id":"devilKnight"}, "278": {"cls":"enemys","id":"devilKnight"},
"279": {"cls":"enemys","id":"grayPriest"}, "279": {"cls":"enemys","id":"grayPriest"},
@ -238,5 +227,13 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
"315": {"cls":"terrains","id":"sWallBLR","name":"薄墙-下左右","cannotOut":["down","left","right"],"cannotIn":["down","left","right"]}, "315": {"cls":"terrains","id":"sWallBLR","name":"薄墙-下左右","cannotOut":["down","left","right"],"cannotIn":["down","left","right"]},
"316": {"cls":"terrains","id":"sWallTLR","name":"薄墙-上左右","cannotOut":["up","left","right"],"cannotIn":["up","left","right"]}, "316": {"cls":"terrains","id":"sWallTLR","name":"薄墙-上左右","cannotOut":["up","left","right"],"cannotIn":["up","left","right"]},
"317": {"cls":"terrains","id":"sWallTBR","name":"薄墙-上下右","cannotOut":["up","down","right"],"cannotIn":["up","down","right"]}, "317": {"cls":"terrains","id":"sWallTBR","name":"薄墙-上下右","cannotOut":["up","down","right"],"cannotIn":["up","down","right"]},
"318": {"cls":"terrains","id":"sWallTBL","name":"薄墙-上下左","cannotOut":["up","down","left"],"cannotIn":["up","down","left"]} "318": {"cls":"terrains","id":"sWallTBL","name":"薄墙-上下左","cannotOut":["up","down","left"],"cannotIn":["up","down","left"]},
"319": {"cls":"npc48","id":"tallYellowDoor","trigger":"openDoor","name":"高黄门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"yellowKey":1}}},
"320": {"cls":"npc48","id":"tallBlueDoor","trigger":"openDoor","name":"高蓝门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"blueKey":1}}},
"321": {"cls":"npc48","id":"tallRedDoor","trigger":"openDoor","name":"高红门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"redKey":1}}},
"322": {"cls":"npc48","id":"tallGreenDoor","trigger":"openDoor","name":"高绿门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"greenKey":1}}},
"323": {"cls":"npc48","id":"tallSpecialDoor","trigger":"openDoor","name":"高机关门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"specialKey":1}}},
"324": {"cls":"npc48","id":"tallSteelDoor","trigger":"openDoor","name":"高铁门","animate":1,"doorInfo":{"time":160,"openSound":"door.mp3","closeSound":"door.mp3","keys":{"steelKey":1}}},
"325": {"cls":"enemys","id":"keiskeiFairy"},
"326": {"cls":"enemys","id":"tulipFairy"}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -169,7 +169,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
"text": choice.text, "text": choice.text,
"icon": choice.icon, "icon": choice.icon,
"color": ableToBuy && !previewMode ? choice.color : [153, 153, 153, 1], "color": ableToBuy && !previewMode ? choice.color : [153, 153, 153, 1],
"action": ableToBuy && !previewMode ? [{ "type": "playSound", "name": "确定" }].concat(choice.action) : [ "action": ableToBuy && !previewMode ? [{ "type": "playSound", "name": "商店" }].concat(choice.action) : [
{ "type": "playSound", "name": "操作失败" }, { "type": "playSound", "name": "操作失败" },
{ "type": "tip", "text": previewMode ? "预览模式下不可购买" : "购买条件不足" } { "type": "tip", "text": previewMode ? "预览模式下不可购买" : "购买条件不足" }
] ]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
project/sounds/gem.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 194 KiB