Eustia/project/data.js
2025-01-05 00:14:24 +08:00

968 lines
24 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = {
main: {
floorIds: [
"Caimhome",
"jiuguan",
"KTV",
"KTVF2",
"goldkey",
"bihusuo",
"jiaotang",
"shengnvhome",
"shinvhome",
"jiedao",
"street01",
"street02",
"guangchang",
"guangchang2",
"xiaoxiang01",
"xiaoxiang02",
"xiaoxiang3",
"yiqu1",
"yiqu2",
"yiqu3",
"yiqu4",
"yiqu5",
"yiqu6",
"yiqu7",
"yiqu8",
"yiqu9",
"yiqu10",
],
floorPartitions: [],
images: [
"HPGaugeEnemy_A.webp",
"HPGaugeEnemy_B.webp",
"background.webp",
"backgroundvertical.webp",
"bg_1511.webp",
"bg_1521.webp",
"bg_2010.webp",
"bg_2011.webp",
"bg_2521.webp",
"bg_3042.webp",
"bg_3531.webp",
"bg_3551.webp",
"bg_3563.webp",
"bg_3571.webp",
"bg_3601.webp",
"bg_3721.webp",
"bg_5033.webp",
"bg_5043.webp",
"bg_5044.webp",
"bg_6004.webp",
"cao.webp",
"d.webp",
"dl.webp",
"dlr.webp",
"dr.webp",
"dragon.webp",
"eve_010102.webp",
"eve_010203.webp",
"eve_010304.webp",
"eve_010501.webp",
"eve_010601.webp",
"eve_010701.webp",
"eve_010801.webp",
"eve_010902.webp",
"eve_011001.webp",
"eve_011101.webp",
"eve_011202.webp",
"eve_011302.webp",
"eve_011402.webp",
"eve_020102.webp",
"eve_020201.webp",
"eve_020301.webp",
"eve_020401.webp",
"eve_020501.webp",
"eve_020605.webp",
"eve_020701.webp",
"eve_020801.webp",
"eve_030101.webp",
"eve_030206.webp",
"eve_030302.webp",
"eve_030508.webp",
"eve_030601.webp",
"eve_030801.webp",
"eve_030901.webp",
"eve_031002.webp",
"eve_031101.webp",
"eve_040201.webp",
"eve_040401.webp",
"eve_040501.webp",
"eve_040601.webp",
"eve_040702.webp",
"eve_040801.webp",
"eve_050101.webp",
"eve_050201.webp",
"eve_050401.webp",
"eve_050501.webp",
"eve_050601.webp",
"eve_050704.webp",
"eve_050801.webp",
"eve_070101.webp",
"face_020101.webp",
"face_020102.webp",
"face_020103.webp",
"face_020104.webp",
"face_020105.webp",
"face_020106.webp",
"face_020107.webp",
"face_020108.webp",
"face_020109.webp",
"face_020110.webp",
"face_020111.webp",
"face_020112.webp",
"face_020113.webp",
"face_020114.webp",
"face_020115.webp",
"face_020116.webp",
"face_020117.webp",
"face_020118.webp",
"face_020121.webp",
"face_020122.webp",
"face_020123.webp",
"face_020124.webp",
"face_020125.webp",
"face_020126.webp",
"face_020127.webp",
"face_020128.webp",
"face_020129.webp",
"face_020130.webp",
"face_020131.webp",
"face_020132.webp",
"face_020133.webp",
"face_020134.webp",
"face_020135.webp",
"face_020136.webp",
"face_020137.webp",
"face_020141.webp",
"face_020142.webp",
"face_020143.webp",
"face_020144.webp",
"face_020145.webp",
"face_020146.webp",
"face_020147.webp",
"face_020148.webp",
"face_020149.webp",
"face_020150.webp",
"face_020151.webp",
"face_020152.webp",
"face_020153.webp",
"face_020154.webp",
"face_020155.webp",
"face_020156.webp",
"face_020157.webp",
"face_020158.webp",
"face_020159.webp",
"face_050445.webp",
"face_120107.webp",
"green.webp",
"hero.webp",
"l.webp",
"lane1.webp",
"light.webp",
"lock.webp",
"lr.webp",
"maba.webp",
"null.webp",
"other_0001.webp",
"other_0002.webp",
"other_0003.webp",
"other_0004.webp",
"r.webp",
"status.webp",
"tati_020101.webp",
"tati_020101a.webp",
"tati_020101y.webp",
"tati_020102.webp",
"tati_020102a.webp",
"tati_020103.webp",
"tati_020103y.webp",
"tati_020104.webp",
"tati_020104a.webp",
"tati_020104y.webp",
"tati_020105.webp",
"tati_020105a.webp",
"tati_020105y.webp",
"tati_020106.webp",
"tati_020107.webp",
"tati_020107a.webp",
"tati_020107y.webp",
"tati_020109.webp",
"tati_020110.webp",
"tati_020111.webp",
"tati_020111a.webp",
"tati_020113.webp",
"tati_020113a.webp",
"tati_020114.webp",
"tati_020115.webp",
"tati_020115y.webp",
"tati_020116.webp",
"tati_020116a.webp",
"tati_020117.webp",
"tati_020117a.webp",
"tati_020118.webp",
"tati_020121a.webp",
"tati_020122.webp",
"tati_020123.webp",
"tati_020123y.webp",
"tati_020124.webp",
"tati_020124a.webp",
"tati_020125.webp",
"tati_020125a.webp",
"tati_020125y.webp",
"tati_020126.webp",
"tati_020126y.webp",
"tati_020127.webp",
"tati_020129.webp",
"tati_020130.webp",
"tati_020131.webp",
"tati_020131a.webp",
"tati_020131y.webp",
"tati_020132.webp",
"tati_020133.webp",
"tati_020134.webp",
"tati_020135.webp",
"tati_020135a.webp",
"tati_020136.webp",
"tati_020137.webp",
"tati_020141.webp",
"tati_020141a.webp",
"tati_020142.webp",
"tati_020142a.webp",
"tati_020142y.webp",
"tati_020143.webp",
"tati_020143y.webp",
"tati_020144.webp",
"tati_020144a.webp",
"tati_020145.webp",
"tati_020145a.webp",
"tati_020145y.webp",
"tati_020146.webp",
"tati_020147.webp",
"tati_020149.webp",
"tati_020150.webp",
"tati_020151.webp",
"tati_020151a.webp",
"tati_020152.webp",
"tati_020153.webp",
"tati_020154.webp",
"tati_020157.webp",
"tati_020157a.webp",
"tati_020158.webp",
"tati_050145a.webp",
"tati_120124.webp",
"u.webp",
"ud.webp",
"udl.webp",
"udlr.webp",
"udr.webp",
"ul.webp",
"ulr.webp",
"unknow.webp",
"ur.webp",
"winskin.webp",
"winskin1.webp",
],
tilesets: [
"magictower.webp",
"5.webp",
"4.webp",
"3.webp",
"2.webp",
"1.webp",
"11.webp",
"6.webp",
"12.webp",
"Outside_B.webp",
"C4.webp",
"C3.webp",
"C2.webp",
"C1.webp",
"IconSet.webp",
"9.webp",
"8.webp",
"7.webp",
"10.webp",
"C5.webp",
],
animates: ["hand", "jianji", "sword", "thunder", "yongchang", "zone"],
bgms: [
"Asphodelus_Ceui.mp3",
"Blind_Alley.mp3",
"Crawler.mp3",
"theme.mp3",
],
sounds: [
"aiy010000010.mp3",
"aiy010000020.mp3",
"aiy010000030.mp3",
"aiy310000010.mp3",
"aiy310000020.mp3",
"aiy710000010.mp3",
"aiy710000020.mp3",
"aiy710000030.mp3",
"aiy710000040.mp3",
"aiy710000050.mp3",
"aiy710000060.mp3",
"attack.mp3",
"bomb.mp3",
"cancel.mp3",
"centerFly.mp3",
"confirm.mp3",
"cursor.mp3",
"door.mp3",
"equip.mp3",
"error.mp3",
"floor.mp3",
"gem.mp3",
"icePickaxe.mp3",
"item.mp3",
"jingbao.mp3",
"jump.mp3",
"load.mp3",
"open_ui.mp3",
"pickaxe.mp3",
"recovery.mp3",
"save.mp3",
"shop.mp3",
"zone.mp3",
],
fonts: ["HATTEN", "number", "pala", "simhei"],
nameMap: {
确定: "confirm.mp3",
取消: "cancel.mp3",
操作失败: "error.mp3",
光标移动: "cursor.mp3",
打开界面: "open_ui.mp3",
读档: "load.mp3",
存档: "save.mp3",
获得道具: "item.mp3",
回血: "recovery.mp3",
炸弹: "bomb.mp3",
飞行器: "centerFly.mp3",
开关门: "door.mp3",
上下楼: "floor.mp3",
跳跃: "jump.mp3",
破墙镐: "pickaxe.mp3",
破冰镐: "icePickaxe.mp3",
宝石: "gem.mp3",
阻激夹域: "zone.mp3",
穿脱装备: "equip.mp3",
背景音乐: "bgm.mp3",
攻击: "attack.mp3",
背景图: "bg.webp",
商店: "shop.mp3",
领域: "zone",
},
levelChoose: null,
equipName: ["武器", "武器", "防具", "饰品"],
startBgm: "theme.mp3",
styles: {
startBackground: "project/images/background.webp",
startVerticalBackground: "project/images/backgroundvertical.webp",
startLogoStyle: "color: black",
startButtonsStyle:
"background-color: #000000; opacity: 0.45; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;",
statusLeftBackground: "url(project/materials/ground.webp) repeat",
statusTopBackground: "url(project/materials/ground.webp) repeat",
toolsBackground: "url(project/materials/ground.webp) repeat",
floorChangingStyle: "background-color: black; color: white",
statusBarColor: [255, 255, 255, 1],
borderColor: [204, 204, 204, 1],
selectColor: [255, 215, 0, 1],
font: "pala",
},
splitImages: [
{
name: "dragon.webp",
width: 384,
height: 96,
prefix: "dragon_",
},
],
},
firstData: {
title: "秽翼的尤斯蒂娅",
name: "Eustia",
version: "鸽子窝造塔小队",
floorId: "street01",
hero: {
image: "hero.webp",
animate: false,
name: "Caim",
lv: 1,
hpmax: 9999,
hp: 1000,
manamax: -1,
mana: 0,
atk: 100,
def: 100,
mdef: 0,
money: 0,
exp: 0,
equipment: [],
items: {
constants: {},
tools: {},
equips: {},
},
loc: {
direction: "up",
x: 5,
y: 11,
},
flags: {
itemDetail: true,
useBetweenLight: true,
},
followers: [],
steps: 0,
matk: 0,
speed: 0,
str: 10,
agi: 10,
int: 10,
con: 10,
magic: false,
},
startCanvas: [
{
type: "comment",
text: "在这里可以用事件来自定义绘制标题界面的背景图等",
},
{
type: "comment",
text: "也可以直接切换到其他楼层(比如某个开始剧情楼层)进行操作。",
},
{
type: "previewUI",
action: [
{
type: "fillRect",
x: 0,
y: 0,
width: "core._PX_ || core.__PIXELS__",
height: "core._PY_ || core.__PIXELS__",
style: [82, 82, 82, 1],
},
{
type: "setAttribute",
align: "center",
},
{
type: "fillBoldText",
x: "(core._PX_ || core.__PIXELS__) / 2",
y: 80,
style: [255, 255, 255, 1],
strokeStyle: [0, 0, 0, 1],
font: "bold 40px Verdana",
text: "${core.firstData.title}",
},
],
},
{
type: "setValue",
name: "flag:selection",
value: "0",
},
{
type: "comment",
text: "在右下方自绘一个对话框进行显示选择项",
},
{
type: "previewUI",
action: [
{
type: "fillRect",
x: 230,
y: 250,
width: 150,
height: 142,
radius: 10,
style: [50, 54, 159, 0.85],
},
{
type: "strokeRect",
x: 230,
y: 250,
width: 150,
height: 142,
radius: 10,
style: [255, 255, 255, 1],
lineWidth: 2,
},
{
type: "fillBoldText",
x: 305,
y: 290,
style: [255, 255, 255, 1],
font: "bold 25px Verdana",
text: "开始游戏",
},
{
type: "fillBoldText",
x: 305,
y: 330,
font: "bold 25px Verdana",
text: "读取存档",
},
{
type: "fillBoldText",
x: 305,
y: 370,
font: "bold 25px Verdana",
text: "回放录像",
},
],
},
{
type: "while",
condition: "1",
data: [
{
type: "drawSelector",
image: "winskin.webp",
code: 1,
x: 245,
y: "261 + 40*flag:selection",
width: 120,
height: 40,
},
{
type: "wait",
data: [
{
case: "keyboard",
keycode: "13,32",
break: true,
action: [
{
type: "switch",
condition: "flag:selection",
caseList: [
{
case: "0",
action: [
{
type: "comment",
text: "在“开始游戏”确定",
},
{
type: "break",
n: 1,
},
],
},
{
case: "1",
action: [
{
type: "comment",
text: "在“读取存档”确定",
},
{
type: "callLoad",
},
],
},
{
case: "2",
action: [
{
type: "comment",
text: "在“回放录像”确定",
},
{
type: "if",
condition: "(!core.isReplaying())",
true: [
{
type: "function",
function:
"function(){\ncore.chooseReplayFile()\n}",
},
],
},
],
},
],
},
],
},
{
case: "keyboard",
keycode: "38",
break: true,
action: [
{
type: "comment",
text: "光标上键",
},
{
type: "setValue",
name: "flag:selection",
value: "(flag:selection + 2) % 3",
},
],
},
{
case: "keyboard",
keycode: "40",
break: true,
action: [
{
type: "comment",
text: "光标下键",
},
{
type: "setValue",
name: "flag:selection",
value: "(flag:selection + 1) % 3",
},
],
},
{
case: "mouse",
px: [245, 365],
py: [261, 300],
break: true,
action: [
{
type: "comment",
text: "点击“开始游戏”",
},
{
type: "break",
n: 1,
},
],
},
{
case: "mouse",
px: [245, 365],
py: [301, 340],
break: true,
action: [
{
type: "comment",
text: "点击“读取存档”",
},
{
type: "callLoad",
},
],
},
{
case: "mouse",
px: [245, 365],
py: [341, 380],
break: true,
action: [
{
type: "comment",
text: "点击“播放录像”",
},
{
type: "if",
condition: "(!core.isReplaying())",
true: [
{
type: "function",
function: "function(){\ncore.chooseReplayFile()\n}",
},
],
},
],
},
],
},
],
},
{
type: "setValue",
name: "flag:selection",
value: "null",
},
{
type: "drawSelector",
code: 1,
},
{
type: "clearMap",
},
{
type: "function",
function: "function(){\ncore.control.checkBgm()\n}",
},
{
type: "if",
condition: "(main.levelChoose.length == 0)",
true: [
{
type: "comment",
text: "没有难度选择:直接开始游戏",
},
],
false: [
{
type: "comment",
text: "难度选择:作为样例,这里只提供了一个显示选择项。",
},
{
type: "function",
function:
'function(){\nvar choices = [];\nmain.levelChoose.forEach(function (one) {\n\tchoices.push({\n\t\t"text": one.title || \'\',\n\t\t"action": [\n\t\t\t{ "type": "function", "function": "function() { core.status.hard = \'" + (one.name || \'\') + "\'; }" }\n\t\t]\n\t});\n})\ncore.insertAction({ "type": "choices", "choices": choices });\n}',
},
{
type: "comment",
text: "你也可以仿照上面的样例进行自己创建等待用户操作来处理不同的难度分歧。\n如需自己处理请设置 core.status.hard \n例如自定义js脚本core.status.hard = 'Easy' ",
},
],
},
{
type: "clearMap",
},
{
type: "comment",
text: "接下来会执行startText中的事件",
},
{
type: "comment",
text: "状态栏默认处于隐藏状态;可以使用“显示状态栏”事件进行显示。",
},
],
startText: [
{
type: "setValue",
name: "item:book",
value: "1",
},
{
type: "setValue",
name: "item:fly",
value: "1",
},
],
shops: [
{
id: "shop1",
text: "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
textInList: "1F金币商店",
mustEnable: false,
disablePreview: false,
choices: [
{
text: "生命+800",
need: "status:money>=20+2*flag:shop1",
action: [
{
type: "comment",
text: "新版商店中需要手动扣减金币和增加访问次数",
},
{
type: "setValue",
name: "status:money",
operator: "-=",
value: "20+2*flag:shop1",
},
{
type: "setValue",
name: "flag:shop1",
operator: "+=",
value: "1",
},
{
type: "setValue",
name: "status:hp",
operator: "+=",
value: "800",
},
],
},
{
text: "攻击+4",
need: "status:money>=20+2*flag:shop1",
action: [
{
type: "comment",
text: "新版商店中需要手动扣减金币和增加访问次数",
},
{
type: "setValue",
name: "status:money",
operator: "-=",
value: "20+2*flag:shop1",
},
{
type: "setValue",
name: "flag:shop1",
operator: "+=",
value: "1",
},
{
type: "setValue",
name: "status:atk",
operator: "+=",
value: "4",
},
],
},
],
},
{
id: "shop2",
text: "\t[贪婪之神,expShop]勇敢的武士啊, 给我一定经验就可以:",
textInList: "1F经验商店",
mustEnable: false,
disablePreview: true,
choices: [
{
text: "等级+1100经验",
need: "status:exp>=100",
action: [
{
type: "setValue",
name: "status:exp",
operator: "-=",
value: "100",
},
{
type: "setValue",
name: "status:lv",
operator: "+=",
value: "1",
},
{
type: "setValue",
name: "status:hp",
operator: "+=",
value: "1000",
},
],
},
],
},
{
id: "itemShop",
item: true,
textInList: "道具商店",
use: "money",
mustEnable: false,
choices: [
{
id: "yellowKey",
number: 10,
money: "10",
sell: "5",
},
],
},
{
id: "keyShop",
textInList: "回收钥匙商店",
mustEnable: false,
commonEvent: "回收钥匙商店",
},
],
levelUp: [
{
need: "0",
title: "",
action: [
{
type: "comment",
text: "此处是初始等级,只需填写称号",
},
],
},
{
need: "20",
title: "",
action: [
{
type: "setValue",
name: "status:atk",
operator: "+=",
value: "10",
},
{
type: "setValue",
name: "status:def",
operator: "+=",
value: "10",
},
],
},
{
need: "40",
title: "",
action: [
{
type: "tip",
text: "恭喜升级",
},
],
},
],
},
values: {
lavaDamage: 100,
poisonDamage: 10,
weakValue: 20,
redGem: 3,
blueGem: 3,
greenGem: 5,
redPotion: 100,
bluePotion: 250,
yellowPotion: 500,
greenPotion: 800,
breakArmor: 0.9,
counterAttack: 0.1,
purify: 3,
hatred: 2,
animateSpeed: 300,
moveSpeed: 100,
statusCanvasRowsOnMobile: 3,
floorChangeTime: 500,
},
flags: {
statusBarItems: [
"enableFloor",
"enableLv",
"enableHP",
"enableMana",
"enableAtk",
"enableDef",
"enableMDef",
"enableMoney",
"enableExp",
"enableKeys",
"enablePZF",
"enableSkill",
],
autoScale: true,
extendToolbar: false,
flyNearStair: false,
flyRecordPosition: true,
itemFirstText: false,
equipboxButton: false,
enableAddPoint: false,
enableNegativeDamage: false,
betweenAttackMax: false,
useLoop: true,
startUsingCanvas: false,
statusCanvas: false,
enableEnemyPoint: true,
enableGentleClick: true,
ignoreChangeFloor: true,
canGoDeadZone: false,
enableMoveDirectly: true,
enableRouteFolding: true,
disableShopOnDamage: false,
blurFg: true,
hideLeftStatusBar: false,
},
};