var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = 
{
	"yellowKey": {
		"cls": "tools",
		"name": "黄钥匙",
		"text": "可以打开一扇黄门",
		"hideInToolbox": true
	},
	"blueKey": {
		"cls": "tools",
		"name": "蓝钥匙",
		"text": "可以打开一扇蓝门",
		"hideInToolbox": true
	},
	"redKey": {
		"cls": "tools",
		"name": "红钥匙",
		"text": "可以打开一扇红门",
		"hideInToolbox": true
	},
	"redGem": {
		"cls": "items",
		"name": "红宝石",
		"text": "，攻击+${core.values.redGem}",
		"itemEffect": null,
		"itemEffectTip": "，攻击+${core.values.redGem * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.atk += core.values.redGem",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"atk:o": "core.values.redGem"
			}
		}
	},
	"blueGem": {
		"cls": "items",
		"name": "蓝宝石",
		"text": "，防御+${core.values.blueGem}",
		"itemEffect": null,
		"itemEffectTip": "，防御+${core.values.blueGem * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.def += core.values.blueGem",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"def:o": "core.values.blueGem"
			}
		}
	},
	"greenGem": {
		"cls": "items",
		"name": "绿宝石",
		"text": "，护盾+${core.values.greenGem}",
		"itemEffect": null,
		"itemEffectTip": "，护盾+${core.values.greenGem * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.mdef += core.values.greenGem",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"mdef:o": "core.values.greenGem"
			}
		}
	},
	"yellowGem": {
		"cls": "tools",
		"name": "黄宝石",
		"text": "可以进行加点",
		"itemEffect": null,
		"itemEffectTip": "",
		"useItemEvent": [
			{
				"type": "choices",
				"choices": [
					{
						"text": "攻击+1",
						"action": [
							{
								"type": "setValue",
								"name": "status:atk",
								"operator": "+=",
								"value": "1"
							}
						]
					},
					{
						"text": "防御+1",
						"action": [
							{
								"type": "setValue",
								"name": "status:def",
								"operator": "+=",
								"value": "1"
							}
						]
					},
					{
						"text": "护盾+10",
						"action": [
							{
								"type": "setValue",
								"name": "status:mdef",
								"operator": "+=",
								"value": "10"
							}
						]
					},
					{
						"text": "生命+450",
						"action": [
							{
								"type": "setValue",
								"name": "status:hp",
								"operator": "+=",
								"value": "450"
							}
						]
					}
				]
			}
		],
		"canUseItemEffect": "true",
		"itemEffectEvent": null
	},
	"redPotion": {
		"cls": "items",
		"name": "红血瓶",
		"text": "，生命+${core.values.redPotion}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.redPotion * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.hp += core.values.redPotion",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.redPotion"
			}
		}
	},
	"bluePotion": {
		"cls": "items",
		"name": "蓝血瓶",
		"text": "，生命+${core.values.bluePotion}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.bluePotion * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.hp += core.values.bluePotion",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.bluePotion"
			}
		}
	},
	"yellowPotion": {
		"cls": "items",
		"name": "黄血瓶",
		"text": "，生命+${core.values.yellowPotion}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.yellowPotion * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.hp += core.values.yellowPotion",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.yellowPotion"
			}
		}
	},
	"greenPotion": {
		"cls": "items",
		"name": "绿血瓶",
		"text": "，生命+${core.values.greenPotion}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.greenPotion * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.hp += core.values.greenPotion",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.greenPotion"
			}
		}
	},
	"sword0": {
		"cls": "items",
		"name": "破旧的剑",
		"text": "一把已经生锈的剑",
		"equip": {
			"type": 0,
			"animate": "sword",
			"value": {
				"atk": 0
			}
		},
		"itemEffect": "core.status.hero.atk += 0",
		"itemEffectTip": "，攻击+0"
	},
	"sword1": {
		"cls": "items",
		"name": "铁剑",
		"text": "一把很普通的铁剑",
		"equip": {
			"type": 0,
			"animate": "sword",
			"value": {
				"atk": 5
			},
			"percentage": {}
		},
		"itemEffect": "core.status.hero.atk += 5",
		"itemEffectTip": "，攻击+5"
	},
	"sword2": {
		"cls": "items",
		"name": "银剑",
		"text": "一把很普通的银剑",
		"equip": {
			"type": 0,
			"animate": "sword",
			"value": {
				"atk": 15
			},
			"percentage": {}
		},
		"itemEffect": "core.status.hero.atk += 15",
		"itemEffectTip": "，攻击+15"
	},
	"sword3": {
		"cls": "items",
		"name": "骑士剑",
		"text": "一把很普通的骑士剑",
		"equip": {
			"type": 0,
			"animate": "sword",
			"value": {
				"atk": 40
			}
		},
		"itemEffect": "core.status.hero.atk += 40",
		"itemEffectTip": "，攻击+40"
	},
	"sword4": {
		"cls": "items",
		"name": "圣剑",
		"text": "一把很普通的圣剑",
		"equip": {
			"type": 0,
			"animate": "sword",
			"value": {
				"atk": 80
			}
		},
		"itemEffect": "core.status.hero.atk += 80",
		"itemEffectTip": "，攻击+80"
	},
	"sword5": {
		"cls": "items",
		"name": "神圣剑",
		"text": "一把很普通的神圣剑",
		"equip": {
			"type": 0,
			"animate": "sword",
			"value": {
				"atk": 160
			}
		},
		"itemEffect": "core.status.hero.atk += 100",
		"itemEffectTip": "，攻击+100"
	},
	"shield0": {
		"cls": "items",
		"name": "破旧的盾",
		"text": "一个很破旧的铁盾",
		"equip": {
			"type": 1,
			"value": {
				"def": 0
			}
		},
		"itemEffect": "core.status.hero.def += 0",
		"itemEffectTip": "，防御+0"
	},
	"shield1": {
		"cls": "items",
		"name": "铁盾",
		"text": "一个很普通的铁盾",
		"equip": {
			"type": 1,
			"value": {
				"def": 5
			},
			"percentage": {}
		},
		"itemEffect": "core.status.hero.def += 5",
		"itemEffectTip": "，防御+5"
	},
	"shield2": {
		"cls": "items",
		"name": "银盾",
		"text": "一个很普通的银盾",
		"equip": {
			"type": 1,
			"value": {
				"def": 15
			},
			"percentage": {}
		},
		"itemEffect": "core.status.hero.def += 15",
		"itemEffectTip": "，防御+15"
	},
	"shield3": {
		"cls": "items",
		"name": "骑士盾",
		"text": "一个很普通的骑士盾",
		"equip": {
			"type": 1,
			"value": {
				"def": 40
			}
		},
		"itemEffect": "core.status.hero.def += 40",
		"itemEffectTip": "，防御+40"
	},
	"shield4": {
		"cls": "items",
		"name": "圣盾",
		"text": "一个很普通的圣盾",
		"equip": {
			"type": 1,
			"value": {
				"def": 80
			}
		},
		"itemEffect": "core.status.hero.def += 80",
		"itemEffectTip": "，防御+80"
	},
	"shield5": {
		"cls": "items",
		"name": "神圣盾",
		"text": "一个很普通的神圣盾",
		"equip": {
			"type": 1,
			"value": {
				"def": 100,
				"mdef": 100
			}
		},
		"itemEffect": "core.status.hero.def += 100;core.status.hero.mdef += 100",
		"itemEffectTip": "，防御+100，护盾+100"
	},
	"superPotion": {
		"cls": "items",
		"name": "圣水",
		"itemEffect": "core.status.hero.hp *= 2",
		"itemEffectTip": "，生命值翻倍",
		"useItemEffect": "core.status.hero.hp *= 2;core.playSound('回血');",
		"canUseItemEffect": "true",
		"text": "生命值翻倍"
	},
	"book": {
		"cls": "constants",
		"name": "怪物手册",
		"text": "可以查看当前楼层各怪物属性",
		"hideInToolbox": true,
		"useItemEffect": "core.ui.drawBook(0);",
		"canUseItemEffect": "true"
	},
	"fly": {
		"cls": "constants",
		"name": "楼层传送器",
		"text": "可以自由往来去过的楼层",
		"hideInReplay": true,
		"hideInToolbox": true,
		"useItemEffect": "core.ui.drawFly(core.floorIds.indexOf(core.status.floorId));",
		"canUseItemEffect": "(function () {\n\tif (core.flags.flyNearStair && !core.nearStair()) return false;\n\treturn core.status.maps[core.status.floorId].canFlyFrom;\n})();"
	},
	"coin": {
		"cls": "constants",
		"name": "幸运金币",
		"text": "持有时打败怪物可得双倍金币"
	},
	"freezeBadge": {
		"cls": "constants",
		"name": "冰冻徽章",
		"text": "可以将面前的熔岩变成平地",
		"useItemEffect": "(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) { // 多方向雪花默认四方向，如需改为八方向请将这两个scan改为scan2\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.playSound('打开界面');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\t} else {\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
		"canUseItemEffect": "true"
	},
	"cross": {
		"cls": "constants",
		"name": "十字架",
		"text": "持有后无视怪物的无敌属性"
	},
	"dagger": {
		"cls": "constants",
		"name": "屠龙匕首",
		"text": "该道具尚未被定义"
	},
	"amulet": {
		"cls": "constants",
		"name": "护符",
		"text": "持有时无视负面地形"
	},
	"bigKey": {
		"cls": "items",
		"name": "大黄门钥匙",
		"text": "可以开启当前层所有黄门",
		"itemEffect": "core.addItem('yellowKey', 1);\ncore.addItem('blueKey', 1);\ncore.addItem('redKey', 1);",
		"itemEffectTip": "，全钥匙+1",
		"useItemEffect": "(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})();",
		"canUseItemEffect": "(function () {\n\treturn core.searchBlock('yellowDoor').length > 0;\n})();"
	},
	"greenKey": {
		"cls": "tools",
		"name": "绿钥匙",
		"text": "可以打开一扇绿门"
	},
	"steelKey": {
		"cls": "tools",
		"name": "铁门钥匙",
		"text": "可以打开一扇铁门"
	},
	"pickaxe": {
		"cls": "tools",
		"name": "破墙镐",
		"text": "可以破坏勇士面前的墙",
		"useItemEffect": "(function () {\n\tvar canBreak = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.disable) return false;\n\t\treturn 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) { // 多方向破默认四方向，如需改成八方向请将这两个scan改为scan2\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('破墙镐');\n\t\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\t} else {\n\t\t// 无法使用\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip(\"当前无法使用\" + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n})();",
		"canUseItemEffect": "true"
	},
	"icePickaxe": {
		"cls": "tools",
		"name": "破冰镐",
		"text": "可以破坏勇士面前的一堵冰墙",
		"useItemEffect": "(function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\tcore.insertAction({ \"type\": \"openDoor\", \"loc\": [\"core.nextX()\", \"core.nextY()\"] });\n})();",
		"canUseItemEffect": "(function () {\n\treturn core.getBlockId(core.nextX(), core.nextY()) == 'ice';\n})();"
	},
	"bomb": {
		"cls": "tools",
		"name": "炸弹",
		"text": "可以炸掉勇士面前的怪物",
		"useItemEffect": "(function () {\n\tvar bombList = []; // 炸掉的怪物坐标列表\n\tvar todo = []; // 炸弹后事件\n\tvar money = 0,\n\t\texp = 0; // 炸弹获得的金币和经验\n\n\tvar canBomb = function (x, y) {\n\t\tvar block = core.getBlock(x, y);\n\t\tif (block == null || block.disable || block.event.cls.indexOf('enemy') != 0) return false;\n\t\tvar enemy = core.getEnemyValue(block.event.id, null, x, y);\n\t\treturn { enemy, notBomb: enemy.notBomb };\n\t};\n\n\tvar bomb = function (x, y) {\n\t\tconst { enemy, notBomb } = canBomb(x, y);\n\t\tif (!enemy) {\n\t\t\tcore.drawFailTip('该点不是敌人！');\n\t\t\treturn;\n\t\t}\n\t\tif (notBomb) {\n\t\t\tcore.drawFailTip('该点敌人不可炸！');\n\t\t\treturn;\n\t\t}\n\t\tbombList.push([x, y]);\n\t\tmoney += enemy.money || 0;\n\t\texp += enemy.exp || 0;\n\t\tcore.push(todo, core.floors[core.status.floorId].afterBattle[x + \",\" + y]);\n\t\tcore.push(todo, enemy.afterBattle);\n\t\tcore.removeBlock(x, y);\n\t}\n\n\t// 如果要多方向可炸，把这里的false改成true\n\tif (false) {\n\t\tvar scan = core.utils.scan; // 多方向炸时默认四方向，如果要改成八方向炸可以改成 core.utils.scan2\n\t\tfor (var direction in scan) {\n\t\t\tvar delta = scan[direction];\n\t\t\tbomb(core.getHeroLoc('x') + delta.x, core.getHeroLoc('y') + delta.y);\n\t\t}\n\t} else {\n\t\t// 仅炸当前\n\t\tbomb(core.nextX(), core.nextY());\n\t}\n\n\tif (bombList.length == 0) {\n\t\tcore.playSound('操作失败');\n\t\tcore.drawTip('当前无法使用' + core.material.items[itemId].name, itemId);\n\t\tcore.addItem(itemId, 1);\n\t\treturn;\n\t}\n\n\tcore.playSound('炸弹');\n\tcore.drawTip(core.material.items[itemId].name + '使用成功', itemId);\n\n\t// 取消这里的注释可以炸弹后获得金币和经验\n\t//core.status.hero.money += money;\n\t//core.status.hero.exp += exp;\n\n\t// 取消这里的注释可以炸弹引发战后事件\n\t// if (todo.length > 0) core.insertAction(todo);\n\n})();",
		"canUseItemEffect": "true"
	},
	"centerFly": {
		"cls": "tools",
		"name": "中心对称飞行器",
		"text": "可以飞向当前楼层中心对称的位置",
		"useItemEffect": "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 + '使用成功');",
		"canUseItemEffect": "(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": {
		"cls": "tools",
		"name": "上楼器",
		"text": "可以飞往楼上的相同位置",
		"useItemEffect": "(function () {\n\tvar floorId = core.floorIds[core.floorIds.indexOf(core.status.floorId) + 1];\n\tif (core.status.event.id == 'action') {\n\t\tcore.insertAction([\n\t\t\t{ \"type\": \"changeFloor\", \"loc\": [core.getHeroLoc('x'), core.getHeroLoc('y')], \"floorId\": floorId },\n\t\t\t{ \"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功' }\n\t\t]);\n\t} else {\n\t\tcore.changeFloor(floorId, null, core.status.hero.loc, null, function () {\n\t\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\t\tcore.replay();\n\t\t});\n\t}\n})();",
		"canUseItemEffect": "(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": {
		"cls": "tools",
		"name": "下楼器",
		"text": "可以飞往楼下的相同位置",
		"useItemEffect": "(function () {\n\tvar floorId = core.floorIds[core.floorIds.indexOf(core.status.floorId) - 1];\n\tif (core.status.event.id == 'action') {\n\t\tcore.insertAction([\n\t\t\t{ \"type\": \"changeFloor\", \"loc\": [core.getHeroLoc('x'), core.getHeroLoc('y')], \"floorId\": floorId },\n\t\t\t{ \"type\": \"tip\", \"text\": core.material.items[itemId].name + '使用成功' }\n\t\t]);\n\t} else {\n\t\tcore.changeFloor(floorId, null, core.status.hero.loc, null, function () {\n\t\t\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n\t\t\tcore.replay();\n\t\t});\n\t}\n})();",
		"canUseItemEffect": "(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})();"
	},
	"earthquake": {
		"cls": "tools",
		"name": "地震卷轴",
		"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.redrawMap();\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})();"
	},
	"poisonWine": {
		"cls": "tools",
		"name": "解毒药水",
		"text": "可以解除中毒状态",
		"useItemEffect": "core.triggerDebuff('remove', 'poison');",
		"canUseItemEffect": "core.hasFlag('poison');"
	},
	"weakWine": {
		"cls": "tools",
		"name": "解衰药水",
		"text": "可以解除衰弱状态",
		"useItemEffect": "core.triggerDebuff('remove', 'weak');",
		"canUseItemEffect": "core.hasFlag('weak');"
	},
	"curseWine": {
		"cls": "tools",
		"name": "解咒药水",
		"text": "可以解除诅咒状态",
		"useItemEffect": "core.triggerDebuff('remove', 'curse');",
		"canUseItemEffect": "core.hasFlag('curse');"
	},
	"superWine": {
		"cls": "tools",
		"name": "万能药水",
		"text": "可以解除所有不良状态",
		"useItemEffect": "core.triggerDebuff('remove', ['poison', 'weak', 'curse']);",
		"canUseItemEffect": "(function() {\n\treturn core.hasFlag('poison') || core.hasFlag('weak') || core.hasFlag('curse');\n})();"
	},
	"hammer": {
		"cls": "tools",
		"name": "圣锤",
		"text": "该道具尚未被定义"
	},
	"jumpShoes": {
		"cls": "tools",
		"name": "跳跃靴",
		"text": "能跳跃到前方两格处",
		"useItemEffect": "core.playSound(\"跳跃\");\ncore.insertAction({ \"type\": \"jumpHero\", \"loc\": [core.nextX(2), core.nextY(2)] });",
		"canUseItemEffect": "(function () {\n\tvar nx = core.nextX(2),\n\t\tny = core.nextY(2);\n\treturn nx >= 0 && nx < core.bigmap.width && ny >= 0 && ny < core.bigmap.height && core.getBlockId(nx, ny) == null;\n})();"
	},
	"wand": {
		"cls": "tools",
		"name": "生命魔杖",
		"canBatchUse": "true",
		"text": "使用后回复100体力。",
		"canUseItemEffect": "true",
		"useItemEffect": "core.addStatus('hp', 100);",
		"hideInReplay": true
	},
	"pack": {
		"cls": "items",
		"name": "钱袋",
		"itemEffect": "core.status.hero.money += 50",
		"itemEffectTip": "，金币+50"
	},
	"blueWine": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"silverCoin": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": null,
		"useItemEffect": null,
		"useItemEvent": null,
		"canBatchUse": null
	},
	"orb": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"bentWand": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"setting": {
		"cls": "constants",
		"name": "设置",
		"canUseItemEffect": "true",
		"text": "可以调节设置开关。",
		"useItemEffect": "core.plugin.openSetting();"
	},
	"redWand": {
		"cls": "items",
		"name": "新物品",
		"text": "null",
		"hideInReplay": false,
		"useItemEffect": null,
		"canUseItemEffect": "true"
	},
	"cyanWand": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"yellowWand": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"greenWand": {
		"cls": "tools",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"blueWand": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"whiteWand": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"purpleKey": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"scroll": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"crossChest": {
		"cls": "items",
		"name": "新物品",
		"canUseItemEffect": "true"
	},
	"postman": {
		"cls": "constants",
		"name": "言灵",
		"canUseItemEffect": "true",
		"useItemEvent": [
			{
				"type": "while",
				"condition": "true",
				"data": [
					{
						"type": "choices",
						"text": "本功能需要您在h5mota.com在线游玩并处于登录状态时使用，可以发送和接受留言。\n发言后需要选择\"获取最新留言\"才能看到自己新发的留言。",
						"choices": [
							{
								"text": "地图上显示在线留言:${flag:comment?'开':'关'}",
								"icon": "postman",
								"action": [
									{
										"type": "function",
										"function": "function(){\nif (core.hasFlag('comment')) {\n\tcore.setFlag('comment', false);\n\tcore.plugin.clearCommentSign();\n} else {\n\tcore.setFlag('comment', true);\n\tcore.plugin.drawCommentSign();\n}\n}"
									}
								]
							},
							{
								"text": "写留言",
								"action": [
									{
										"type": "input2",
										"text": "请输入要发送的评论，文明友善发言，拒绝放假、剧透。"
									},
									{
										"type": "function",
										"function": "function(){\nconst input = core.getFlag('input', '');\nconst tags = [core.status.floorId,\n\tcore.getHeroLoc().x.toString(), core.getHeroLoc().y.toString()\n]\nif (!core.isReplaying()) {\n\tcore.plugin.postComment(input, tags);\n}\n}"
									}
								]
							},
							{
								"text": "获取最新留言",
								"action": [
									{
										"type": "function",
										"function": "function(){\nif (!core.isReplaying()) {\n\tcore.plugin.getComment();\n\tsetTimeout(core.plugin.drawCommentSign, 1000);\n}\n}"
									}
								]
							},
							{
								"text": "退出",
								"action": [
									{
										"type": "exit"
									}
								]
							}
						]
					}
				]
			}
		],
		"text": "可以发送和接收在线留言。",
		"hideInReplay": true
	},
	"I344": {
		"cls": "items",
		"name": "大蓝宝石",
		"text": "，防御+${core.values.blueGem*2}",
		"itemEffect": null,
		"itemEffectTip": "，防御+${core.values.blueGem * core.status.thisMap.ratio * 2}",
		"useItemEffect": "core.status.hero.def += core.values.blueGem * 2",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"def:o": "core.values.blueGem*2"
			}
		}
	},
	"I345": {
		"cls": "tools",
		"name": "大黄宝石",
		"text": "可以进行两次加点",
		"itemEffect": null,
		"itemEffectTip": "",
		"useItemEvent": [
			{
				"type": "choices",
				"text": "\t[第一次加点]",
				"choices": [
					{
						"text": "攻击+1",
						"action": [
							{
								"type": "setValue",
								"name": "status:atk",
								"operator": "+=",
								"value": "1"
							}
						]
					},
					{
						"text": "防御+1",
						"action": [
							{
								"type": "setValue",
								"name": "status:def",
								"operator": "+=",
								"value": "1"
							}
						]
					},
					{
						"text": "护盾+10",
						"action": [
							{
								"type": "setValue",
								"name": "status:mdef",
								"operator": "+=",
								"value": "10"
							}
						]
					},
					{
						"text": "生命+450",
						"action": [
							{
								"type": "setValue",
								"name": "status:hp",
								"operator": "+=",
								"value": "450"
							}
						]
					}
				]
			},
			{
				"type": "choices",
				"text": "\t[第二次加点]",
				"choices": [
					{
						"text": "攻击+1",
						"action": [
							{
								"type": "setValue",
								"name": "status:atk",
								"operator": "+=",
								"value": "1"
							}
						]
					},
					{
						"text": "防御+1",
						"action": [
							{
								"type": "setValue",
								"name": "status:def",
								"operator": "+=",
								"value": "1"
							}
						]
					},
					{
						"text": "护盾+10",
						"action": [
							{
								"type": "setValue",
								"name": "status:mdef",
								"operator": "+=",
								"value": "10"
							}
						]
					},
					{
						"text": "生命+450",
						"action": [
							{
								"type": "setValue",
								"name": "status:hp",
								"operator": "+=",
								"value": "450"
							}
						]
					}
				]
			}
		],
		"canUseItemEffect": "true",
		"itemEffectEvent": null
	},
	"I346": {
		"cls": "items",
		"name": "大红宝石",
		"text": "，攻击+${core.values.redGem*2}",
		"itemEffect": null,
		"itemEffectTip": "，攻击+${core.values.redGem * core.status.thisMap.ratio * 2}",
		"useItemEffect": "core.status.hero.atk += core.values.redGem * 2",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"atk:o": "core.values.redGem*2"
			}
		}
	},
	"I347": {
		"cls": "items",
		"name": "大绿宝石",
		"text": "，护盾+${core.values.greenGem*2}",
		"itemEffect": null,
		"itemEffectTip": "，护盾+${core.values.greenGem * core.status.thisMap.ratio * 2}",
		"useItemEffect": "core.status.hero.mdef += core.values.greenGem * 2",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"mdef:o": "core.values.greenGem*2"
			}
		}
	},
	"I348": {
		"cls": "items",
		"name": "紫宝石",
		"text": "，攻击+${core.values.redGem*3}\n，防御-${core.values.blueGem}",
		"itemEffect": null,
		"itemEffectTip": "，攻击+${core.values.redGem * core.status.thisMap.ratio * 3}\n，防御-${core.values.blueGem * core.status.thisMap.ratio}",
		"useItemEffect": "core.status.hero.atk += core.values.redGem * 3\ncore.status.hero.def -= core.values.blueGem",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "gem.mp3",
			"value": {
				"def:o": "core.values.blueGem*-1",
				"atk:o": "core.values.redGem*3"
			}
		}
	},
	"I349": {
		"cls": "tools",
		"name": "磁吸石",
		"canUseItemEffect": "(function () {\n\t//if (core.flags.flyNearStair && !core.nearStair()) return false;\n\treturn !core.hasEnemyLeft('E357');\n})();",
		"text": "远程拾取面对方向的所有物品。",
		"useItemEvent": [
			{
				"type": "animate",
				"name": "light1",
				"loc": "hero"
			}
		],
		"useItemEffect": "\t\tfor (var i = 1; i <= 13; i++) {\n\t\t\tvar x1 = core.clamp(core.nextX(i), 0, 12),\n\t\t\t\ty1 = core.clamp(core.nextY(i), 0, 12);\n\t\t\t// 判断格子内的事件是否为道具\n\t\t\tif (core.getBlockCls(x1, y1) == \"items\") {\n\t\t\t\tvar id = core.getBlockId(x1, y1);\n\n\t\t\t\tcore.getItem(id, 1, x1, y1);\n\t\t\t}\n\n\t\t}"
	},
	"I350": {
		"cls": "tools",
		"name": "换位标靶",
		"canUseItemEffect": "(function () {\n\t//if (core.flags.flyNearStair && !core.nearStair()) return false;\n\treturn !core.hasEnemyLeft('E357');\n})();",
		"text": "同时交换角色面向两格、背向两格事件的位置（距楼梯1-2格十字范围无效）。",
		"useItemEvent": [
			{
				"type": "if",
				"condition": "Object.values(core.utils.scan).some(v => {\n    const x = core.status.hero.loc.x + v.x * 1;\n    const y = core.status.hero.loc.y + v.y * 1;\n    return !!core.floors[core.status.floorId].changeFloor[`${x},${y}`];\n})",
				"true": [
					{
						"type": "animate",
						"name": "wuyu",
						"loc": "hero"
					},
					{
						"type": "setValue",
						"name": "item:I350",
						"operator": "+=",
						"value": "1"
					}
				],
				"false": [
					{
						"type": "if",
						"condition": "Object.values(core.utils.scan).some(v => {\n    const x = core.status.hero.loc.x + v.x * 2;\n    const y = core.status.hero.loc.y + v.y * 2;\n    return !!core.floors[core.status.floorId].changeFloor[`${x},${y}`];\n})\n",
						"true": [
							{
								"type": "animate",
								"name": "wuyu",
								"loc": "hero"
							},
							{
								"type": "setValue",
								"name": "item:I350",
								"operator": "+=",
								"value": "1"
							}
						],
						"false": [
							{
								"type": "animate",
								"name": "buff",
								"loc": "hero"
							},
							{
								"type": "if",
								"condition": "((core.nextX(1)===core.getHeroLoc().x)&&(core.nextY(1)===core.getHeroLoc().y -1))",
								"true": [
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y -1"
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"up:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y -2"
										],
										"time": 150,
										"keep": true,
										"steps": [
											"down:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y +1"
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"down:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y +2"
										],
										"time": 150,
										"keep": true,
										"steps": [
											"up:1"
										]
									},
									{
										"type": "waitAsync"
									}
								]
							},
							{
								"type": "if",
								"condition": "((core.nextX(1)===core.getHeroLoc().x+1)&&(core.nextY(1)===core.getHeroLoc().y ))",
								"true": [
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x-1",
											"core.getHeroLoc().y"
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"left:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x-2",
											"core.getHeroLoc().y"
										],
										"time": 150,
										"keep": true,
										"steps": [
											"right:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x+1",
											"core.getHeroLoc().y "
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"right:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x+2",
											"core.getHeroLoc().y "
										],
										"time": 150,
										"keep": true,
										"steps": [
											"left:1"
										]
									},
									{
										"type": "waitAsync"
									}
								]
							},
							{
								"type": "if",
								"condition": "((core.nextX(1)===core.getHeroLoc().x)&&(core.nextY(1)===core.getHeroLoc().y +1))",
								"true": [
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y -1"
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"up:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y -2"
										],
										"time": 150,
										"keep": true,
										"steps": [
											"down:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y +1"
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"down:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x",
											"core.getHeroLoc().y +2"
										],
										"time": 150,
										"keep": true,
										"steps": [
											"up:1"
										]
									},
									{
										"type": "waitAsync"
									}
								]
							},
							{
								"type": "if",
								"condition": "((core.nextX(1)===core.getHeroLoc().x-1)&&(core.nextY(1)===core.getHeroLoc().y))",
								"true": [
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x-1",
											"core.getHeroLoc().y"
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"left:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x-2",
											"core.getHeroLoc().y"
										],
										"time": 150,
										"keep": true,
										"steps": [
											"right:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x+1",
											"core.getHeroLoc().y "
										],
										"time": 150,
										"keep": true,
										"async": true,
										"steps": [
											"right:1"
										]
									},
									{
										"type": "move",
										"loc": [
											"core.getHeroLoc().x+2",
											"core.getHeroLoc().y "
										],
										"time": 150,
										"keep": true,
										"steps": [
											"left:1"
										]
									},
									{
										"type": "waitAsync"
									}
								]
							}
						]
					}
				]
			}
		]
	},
	"I351": {
		"cls": "items",
		"name": "大蓝血瓶",
		"text": "，生命+${core.values.bluePotion*8}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.bluePotion * core.status.thisMap.ratio * 8}",
		"useItemEffect": "core.status.hero.hp += core.values.bluePotion * 8",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.bluePotion*8"
			}
		}
	},
	"I352": {
		"cls": "items",
		"name": "大绿血瓶",
		"text": "，生命+${core.values.greenPotion*3.75}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.greenPotion * core.status.thisMap.ratio * 3.75}",
		"useItemEffect": "core.status.hero.hp += core.values.greenPotion * 3.75",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.greenPotion*3.75"
			}
		}
	},
	"I353": {
		"cls": "items",
		"name": "大红血瓶",
		"text": "，生命+${core.values.redPotion*10}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.redPotion * core.status.thisMap.ratio * 10}",
		"useItemEffect": "core.status.hero.hp += core.values.redPotion * 10",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.redPotion*10"
			}
		}
	},
	"I354": {
		"cls": "items",
		"name": "大黄血瓶",
		"text": "，生命+${core.values.yellowPotion*5}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.yellowPotion * core.status.thisMap.ratio * 5}",
		"useItemEffect": "core.status.hero.hp += core.values.yellowPotion * 5",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.yellowPotion*5"
			}
		}
	},
	"I359": {
		"cls": "items",
		"name": "活泼之源水",
		"text": "，生命+${core.values.greenPotion*7.5}",
		"itemEffect": null,
		"itemEffectTip": "，生命+${core.values.greenPotion * core.status.thisMap.ratio * 7.5}",
		"useItemEffect": "core.status.hero.hp += core.values.greenPotion * 7.5",
		"canUseItemEffect": "true",
		"itemEffectEvent": {
			"sound": "recovery.mp3",
			"value": {
				"hp:o": "core.values.greenPotion*7.5"
			}
		}
	}
}