mirror of
https://github.com/VickScarlet/lifeRestart.git
synced 2026-04-16 12:52:41 +08:00
Compare commits
36 Commits
v2.0.0-bet
...
a0f66d5043
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a0f66d5043 | ||
|
|
6e442c14c1 | ||
|
|
2eadb6fb23 | ||
|
|
d19afd7b1a | ||
|
|
98eda94f66 | ||
|
|
e0f5cb71c5 | ||
|
|
58140fd4d2 | ||
|
|
b44e0e65a5 | ||
|
|
cc460d6108 | ||
|
|
1dd1927612 | ||
|
|
21d4c9d568 | ||
|
|
35eac7d19d | ||
|
|
c1ed14385a | ||
|
|
50ad3d35e7 | ||
|
|
4df53d9f58 | ||
|
|
8a6f50dda6 | ||
|
|
49488505e2 | ||
|
|
dd64e8f44e | ||
|
|
b39772fd94 | ||
|
|
fc1135a621 | ||
|
|
d7ea91a1b8 | ||
|
|
53a8729968 | ||
|
|
ad93703a45 | ||
|
|
329c2f09c4 | ||
|
|
1f7434a133 | ||
|
|
145211ba9a | ||
|
|
1d58fd6bfd | ||
|
|
26d4e09bc8 | ||
|
|
49619fbaa2 | ||
|
|
751a0dec0f | ||
|
|
bc560c393b | ||
|
|
8eb0e44845 | ||
|
|
14f9340d0a | ||
|
|
6f63d63cff | ||
|
|
7c002c1896 | ||
|
|
a57889e848 |
74
.github/workflows/fe.cdDaily.yaml
vendored
Normal file
74
.github/workflows/fe.cdDaily.yaml
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
name: FE Project CI
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'version'
|
||||
required: false
|
||||
default: '1.0.0'
|
||||
oss_region:
|
||||
description: 'oss region'
|
||||
required: true
|
||||
default: 'oss-cn-shanghai'
|
||||
oss_bucket:
|
||||
description: 'oss bucket'
|
||||
required: true
|
||||
default: ''
|
||||
oss_path:
|
||||
description: 'oss path'
|
||||
required: false
|
||||
default: ''
|
||||
upload_path:
|
||||
description: 'upload path'
|
||||
required: true
|
||||
default: './build'
|
||||
pure_static_project:
|
||||
description: 'project is a static project'
|
||||
required: true
|
||||
default: 'false'
|
||||
compile_command:
|
||||
description: 'code compile command'
|
||||
required: true
|
||||
default: 'true'
|
||||
|
||||
jobs:
|
||||
pre-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: check package.json
|
||||
run: ${{github.event.inputs.pure_static_project}} || ( test -f ./package.json && exit 0 || (echo 'package.json is not exist!' && exit 1))
|
||||
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: install deps and build
|
||||
run: ${{github.event.inputs.pure_static_project}} || ${{github.event.inputs.compile_command}}
|
||||
|
||||
- name: deploy to oss
|
||||
id: upload_to_oss
|
||||
uses: AliyunWorkbench/workbench-oss@1.0.0
|
||||
with:
|
||||
ACCESS_KEY: ${{ secrets.AK }}
|
||||
ACCESS_SECRET: ${{ secrets.SK }}
|
||||
OSS_REGION: ${{github.event.inputs.oss_region}}
|
||||
OSS_BUCKET: ${{github.event.inputs.oss_bucket}}
|
||||
OSS_PATH: ${{github.event.inputs.oss_path}}
|
||||
UPLOAD_PATH: ${{github.event.inputs.upload_path}}
|
||||
|
||||
|
||||
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"cSpell.words": [
|
||||
"Laya"
|
||||
]
|
||||
}
|
||||
4
build.sh
Normal file
4
build.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
# 前端应用存在NPM依赖时的默认编译脚本
|
||||
npm install
|
||||
npm run build
|
||||
Binary file not shown.
Binary file not shown.
BIN
data/en-us/character.xlsx
Normal file
BIN
data/en-us/character.xlsx
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.
BIN
data/zh-cn/character.xlsx
Normal file
BIN
data/zh-cn/character.xlsx
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"source": [
|
||||
"../../data/specialthanks-afd.xlsx",
|
||||
"../../data/specialthanks-dun.xlsx"
|
||||
],
|
||||
"target": "../../public/data"
|
||||
},
|
||||
{
|
||||
"source": "../../data/zh-cn",
|
||||
"target": "../../public/data/zh-cn"
|
||||
},
|
||||
{
|
||||
"source": "../../data/en-us",
|
||||
"target": "../../public/data/en-us"
|
||||
}
|
||||
]
|
||||
}
|
||||
1204
laya/pages/view/CyberTheme/Celebrity.ui
Normal file
1204
laya/pages/view/CyberTheme/Celebrity.ui
Normal file
File diff suppressed because it is too large
Load Diff
128
laya/pages/view/CyberTheme/Mode.ui
Normal file
128
laya/pages/view/CyberTheme/Mode.ui
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":8,
|
||||
"props":{"width":1125,"sceneColor":"#000000","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":10,"width":600,"var":"btnCustom","runtime":"Laya.runtime.ScaleButton","name":"btn","height":400,"centerY":-400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCustom)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Image",
|
||||
"props":{"top":-15,"skin":"images/border/achievement_complete@3x.png","right":-15,"left":-15,"bottom":-15},
|
||||
"nodeParent":2,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":10,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CustomMode","fontSize":80,"font":"方正像素12","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":2,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":4,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CustomModeDescription","right":0,"left":0,"leading":20,"fontSize":40,"font":"方正像素12","color":"#bcbcbc","bottom":0,"align":"center"},
|
||||
"nodeParent":2,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":5,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":20,"width":600,"var":"btnCelebrity","runtime":"Laya.runtime.ScaleButton","name":"btn","height":400,"centerY":400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCelebrity)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":3,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Image",
|
||||
"props":{"y":-15,"x":-15,"top":-15,"skin":"images/border/achievement_complete@3x.png","right":-15,"left":-15,"bottom":-15},
|
||||
"nodeParent":3,
|
||||
"label":"Image",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":11,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CelebrityMode","fontSize":80,"font":"方正像素12","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":3,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":7,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CelebrityModeDescription","right":0,"left":0,"leading":20,"fontSize":40,"font":"方正像素12","color":"#bcbcbc","bottom":0,"align":"center"},
|
||||
"nodeParent":3,
|
||||
"label":"Label",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":8,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
306
laya/pages/view/DefaultTheme/Celebrity.ui
Normal file
306
laya/pages/view/DefaultTheme/Celebrity.ui
Normal file
@@ -0,0 +1,306 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":28,
|
||||
"props":{"width":1125,"sceneColor":"#000000","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Label",
|
||||
"props":{"y":80,"text":"UI_Title_Celebrity","name":"title","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Label(title)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":19,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Panel",
|
||||
"props":{"var":"panelCharacter","vScrollBarSkin":" ","top":200,"right":0,"name":"panelCharacter","left":0,"bottom":700},
|
||||
"nodeParent":1,
|
||||
"label":"Panel(panelCharacter)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"VBox",
|
||||
"props":{"y":10,"width":1000,"var":"vboxCharacter","space":20,"name":"vboxCharacter","centerX":0},
|
||||
"nodeParent":2,
|
||||
"label":"VBox(vboxCharacter)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":8,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"right":0,"name":"boxCharacter","left":0},
|
||||
"nodeParent":8,
|
||||
"label":"Box(boxCharacter)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":10,
|
||||
"child":[
|
||||
{
|
||||
"type":"Box",
|
||||
"props":{"y":0,"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxName","left":0,"height":100},
|
||||
"nodeParent":10,
|
||||
"label":"Box(boxName)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":12,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"颜值10 智力10 体质10 家境Π","name":"label","fontSize":55,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"align":"center"},
|
||||
"nodeParent":12,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":18,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"type":"VBox",
|
||||
"props":{"top":100,"space":20,"runtime":"Laya.runtime.ColorfulBox","right":25,"name":"vboxStates","left":25},
|
||||
"nodeParent":10,
|
||||
"label":"VBox(vboxStates)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":11,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"颜值10 智力10 体质10 家境Π","name":"label","height":100,"fontSize":55,"font":"SimHei","color":"#ffffff","centerX":0,"align":"center"},
|
||||
"nodeParent":11,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":14,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":25,"name":"boxTalent","left":25,"height":100},
|
||||
"nodeParent":8,
|
||||
"label":"Box(boxTalent)",
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":15,
|
||||
"child":[
|
||||
{
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"颜值10 智力10 体质10 家境Π","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"align":"center"},
|
||||
"nodeParent":15,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":17,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":45,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":10,"right":0,"name":"boxUniqueUnGenerate","left":0},
|
||||
"nodeParent":8,
|
||||
"label":"Box(boxUniqueUnGenerate)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":20,
|
||||
"child":[
|
||||
{
|
||||
"x":60,
|
||||
"type":"Box",
|
||||
"props":{"y":0,"runtime":"Laya.runtime.ColorfulBox","right":0,"name":"boxName","left":0,"height":100},
|
||||
"nodeParent":20,
|
||||
"label":"Box(boxName)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":21,
|
||||
"child":[
|
||||
{
|
||||
"x":75,
|
||||
"type":"Label",
|
||||
"props":{"valign":"middle","text":"UI_UniqueWaTaShi","name":"label","fontSize":55,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"align":"center"},
|
||||
"nodeParent":21,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":22,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":60,
|
||||
"type":"VBox",
|
||||
"props":{"top":100,"space":20,"runtime":"Laya.runtime.ColorfulBox","right":25,"name":"vboxStates","left":25},
|
||||
"nodeParent":20,
|
||||
"label":"VBox(vboxStates)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":23,
|
||||
"child":[
|
||||
{
|
||||
"x":75,
|
||||
"type":"Label",
|
||||
"props":{"y":1,"valign":"middle","text":"UI_UniqueWaTaShiContent","right":0,"name":"label","left":0,"leading":30,"fontSize":55,"font":"SimHei","color":"#ffffff","align":"center"},
|
||||
"nodeParent":23,
|
||||
"label":"Label(label)",
|
||||
"isOpen":true,
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":24,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":75,
|
||||
"type":"Box",
|
||||
"props":{"y":2,"right":0,"name":"boxBtn","left":0,"height":150},
|
||||
"nodeParent":23,
|
||||
"label":"Box(boxBtn)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":25,
|
||||
"child":[
|
||||
{
|
||||
"x":90,
|
||||
"type":"Box",
|
||||
"props":{"runtime":"Laya.runtime.ColorfulBox","right":50,"name":"btn","left":50,"height":120,"centerY":0},
|
||||
"nodeParent":25,
|
||||
"label":"Box(btn)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":26,
|
||||
"child":[
|
||||
{
|
||||
"x":105,
|
||||
"type":"Label",
|
||||
"props":{"y":30,"x":290,"text":"UI_GenerateNow","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":26,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":27,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":480,"var":"btnRetry","runtime":"Laya.runtime.ColorfulBox","name":"btnRetry","height":150,"centerX":0,"bottom":400},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnRetry)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":4,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_AllNot","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":4,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":5,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":480,"var":"btnNext","runtime":"Laya.runtime.ColorfulBox","name":"btnNext","height":150,"centerX":0,"bottom":150},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnNext)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":6,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_Make_New_Life","name":"label","fontSize":60,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0},
|
||||
"nodeParent":6,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":7,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
128
laya/pages/view/DefaultTheme/Mode.ui
Normal file
128
laya/pages/view/DefaultTheme/Mode.ui
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":11,
|
||||
"props":{"width":1125,"sceneColor":"#000000","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":1,
|
||||
"child":[
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":600,"var":"btnCustom","runtime":"Laya.runtime.ColorfulBox","name":"btn","height":400,"centerY":-400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCustom)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":2,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CustomMode","name":"font_default","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":2,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":4,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CustomModeDescription","right":0,"name":"font_default","left":0,"leading":20,"fontSize":40,"font":"SimHei","color":"#ffffff","bottom":0,"align":"center"},
|
||||
"nodeParent":2,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":5,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"runtime":"Laya.runtime.ColorAgentLabel","name":"label"},
|
||||
"nodeParent":2,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":10,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"x":10,"width":600,"var":"btnCelebrity","runtime":"Laya.runtime.ColorfulBox","name":"btn","height":400,"centerY":400,"centerX":0},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnCelebrity)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":3,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":50,"text":"UI_CelebrityMode","name":"font_default","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0,"bold":true},
|
||||
"nodeParent":3,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":8,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"top":200,"text":"UI_CelebrityModeDescription","right":0,"name":"font_default","left":0,"leading":20,"fontSize":40,"font":"SimHei","color":"#ffffff","bottom":0,"align":"center"},
|
||||
"nodeParent":3,
|
||||
"label":"Label(font_default)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":9,
|
||||
"child":[
|
||||
]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"y":10,"x":10,"runtime":"Laya.runtime.ColorAgentLabel","name":"label"},
|
||||
"nodeParent":3,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":11,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
"nodes":[
|
||||
],
|
||||
"name":"ani1",
|
||||
"id":1,
|
||||
"frameRate":24,
|
||||
"action":0
|
||||
}]
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"x":0,
|
||||
"type":"View",
|
||||
"selectedBox":1,
|
||||
"selecteID":153,
|
||||
"selecteID":95,
|
||||
"props":{"width":1125,"sceneColor":"#000000","runtime":"Laya.runtime.ViewBase","height":2436},
|
||||
"nodeParent":-1,
|
||||
"label":"View",
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"x":0,
|
||||
"type":"Dialog",
|
||||
"selectedBox":1,
|
||||
"selecteID":15,
|
||||
"props":{"width":645,"sceneColor":"#000000","height":250},
|
||||
"selecteID":25,
|
||||
"props":{"width":645,"sceneColor":"#000000","height":400},
|
||||
"nodeParent":-1,
|
||||
"label":"Dialog",
|
||||
"isOpen":true,
|
||||
@@ -15,17 +15,16 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"top":0,"right":0,"left":0,"bottom":150},
|
||||
"props":{"top":0,"right":0,"left":0,"bottom":300},
|
||||
"nodeParent":1,
|
||||
"label":"Box",
|
||||
"isOpen":true,
|
||||
"isOpen":false,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":15,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"y":0,"x":0,"width":645,"height":2},
|
||||
"nodeParent":15,
|
||||
@@ -50,7 +49,6 @@
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"width":645,"height":2,"centerX":0,"bottom":0},
|
||||
"nodeParent":15,
|
||||
@@ -75,7 +73,6 @@
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":30,
|
||||
"type":"Box",
|
||||
"props":{"width":645,"height":100,"centerY":0,"centerX":0,"alpha":0.2},
|
||||
"nodeParent":15,
|
||||
@@ -87,7 +84,6 @@
|
||||
"compId":22,
|
||||
"child":[
|
||||
{
|
||||
"x":45,
|
||||
"type":"Rect",
|
||||
"props":{"width":645,"lineWidth":1,"height":100,"fillColor":"#000000"},
|
||||
"nodeParent":22,
|
||||
@@ -104,7 +100,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"TextInput",
|
||||
"props":{"wordWrap":false,"var":"input","valign":"middle","top":0,"text":"content","right":0,"overflow":"scroll","left":0,"fontSize":35,"font":"SimHei","color":"#ffffff","bottom":150},
|
||||
"props":{"wordWrap":false,"var":"input","valign":"middle","top":0,"text":"content","right":0,"overflow":"scroll","left":0,"fontSize":35,"font":"SimHei","color":"#ffffff","bottom":300},
|
||||
"nodeParent":1,
|
||||
"label":"TextInput(input)",
|
||||
"isDirectory":false,
|
||||
@@ -117,7 +113,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":120,"var":"btnSave","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":5,"height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":120,"var":"btnSave","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":5,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnSave)",
|
||||
"isOpen":false,
|
||||
@@ -142,7 +138,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"width":120,"var":"btnLoad","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":130,"height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":120,"var":"btnLoad","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":130,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnLoad)",
|
||||
"isOpen":false,
|
||||
@@ -167,7 +163,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":335,"width":120,"var":"btnRead","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":260,"height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":120,"var":"btnRead","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":260,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnRead)",
|
||||
"isOpen":false,
|
||||
@@ -192,7 +188,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":335,"width":120,"var":"btnWrite","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":390,"height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"width":120,"var":"btnWrite","runtime":"Laya.runtime.ColorfulBox","name":"btnSmall","left":390,"height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnWrite)",
|
||||
"isOpen":false,
|
||||
@@ -217,7 +213,7 @@
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":10,"x":10,"width":120,"var":"btnClose","runtime":"Laya.runtime.ColorfulBox","right":5,"name":"btnSmall","height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"props":{"x":10,"width":120,"var":"btnClose","runtime":"Laya.runtime.ColorfulBox","right":5,"name":"btnSmall","height":120,"bottom":155,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnClose)",
|
||||
"isOpen":false,
|
||||
@@ -238,6 +234,32 @@
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
},
|
||||
{
|
||||
"x":15,
|
||||
"type":"Box",
|
||||
"props":{"y":20,"var":"btnBackup","runtime":"Laya.runtime.ColorfulBox","right":5,"name":"btnBackup","left":5,"height":120,"bottom":5,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":1,
|
||||
"label":"Box(btnBackup)",
|
||||
"isOpen":true,
|
||||
"isDirectory":true,
|
||||
"isAniNode":true,
|
||||
"hasChild":true,
|
||||
"compId":25,
|
||||
"child":[
|
||||
{
|
||||
"x":30,
|
||||
"type":"Label",
|
||||
"props":{"text":"UI_BackupBtn","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5},
|
||||
"nodeParent":25,
|
||||
"label":"Label(label)",
|
||||
"isDirectory":false,
|
||||
"isAniNode":true,
|
||||
"hasChild":false,
|
||||
"compId":26,
|
||||
"child":[
|
||||
]
|
||||
}]
|
||||
}],
|
||||
"animations":[
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"scripts": {
|
||||
"test": "node test",
|
||||
"xlsxTransform": "vt transform data",
|
||||
"xlsx2json": "vt transform jobs/xlsx2json/config.json",
|
||||
"xlsx2json": "vt transform -s 4 -d public data/**/*.xlsx",
|
||||
"dev": "webpack serve --open /view/index.html",
|
||||
"build": "webpack --mode production"
|
||||
},
|
||||
@@ -16,7 +16,7 @@
|
||||
"babel-loader": "^8.2.2",
|
||||
"core-js": "^3.17.2",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"v-transform": "^1.0.2",
|
||||
"v-transform": "^2.0.1",
|
||||
"webpack": "^5.64.4",
|
||||
"webpack-cli": "^4.8.0",
|
||||
"webpack-dev-server": "^4.1.0"
|
||||
|
||||
1
public/chunk/184.19048.js
Normal file
1
public/chunk/184.19048.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/187.161fe.js
Normal file
1
public/chunk/187.161fe.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/211.94cf4.js
Normal file
1
public/chunk/211.94cf4.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/297.e5ef5.js
Normal file
1
public/chunk/297.e5ef5.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/33.007ad.js
Normal file
1
public/chunk/33.007ad.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/357.a04e4.js
Normal file
1
public/chunk/357.a04e4.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/544.f7fa0.js
Normal file
1
public/chunk/544.f7fa0.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/556.d0edc.js
Normal file
1
public/chunk/556.d0edc.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/614.41545.js
Normal file
1
public/chunk/614.41545.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/764.d1b62.js
Normal file
1
public/chunk/764.d1b62.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/801.8274d.js
Normal file
1
public/chunk/801.8274d.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/803.36088.js
Normal file
1
public/chunk/803.36088.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/806.29c5a.js
Normal file
1
public/chunk/806.29c5a.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/844.86370.js
Normal file
1
public/chunk/844.86370.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/85.5dbe1.js
Normal file
1
public/chunk/85.5dbe1.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/891.e8caa.js
Normal file
1
public/chunk/891.e8caa.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/908.dc616.js
Normal file
1
public/chunk/908.dc616.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/971.f3ffa.js
Normal file
1
public/chunk/971.f3ffa.js
Normal file
File diff suppressed because one or more lines are too long
1
public/chunk/main.76985.js
Normal file
1
public/chunk/main.76985.js
Normal file
File diff suppressed because one or more lines are too long
@@ -802,8 +802,8 @@
|
||||
},
|
||||
"190": {
|
||||
"id": 190,
|
||||
"name": "绝绝子",
|
||||
"description": "看到绝绝子消息",
|
||||
"name": "摆烂",
|
||||
"description": "看到某条摆烂消息",
|
||||
"grade": 1,
|
||||
"condition": "EVT?[10778]",
|
||||
"hide": 1,
|
||||
@@ -1066,7 +1066,7 @@
|
||||
"name": "刷刷刷",
|
||||
"description": "集齐橙色天赋",
|
||||
"grade": 3,
|
||||
"condition": "(ATLT?[1023])&(ATLT?[1048])&(ATLT?[1064])&(ATLT?[1114])&(ATLT?[1135])&(ATLT?[1141])",
|
||||
"condition": "(ATLT?[1023])&(ATLT?[1048])&(ATLT?[1064])&(ATLT?[1114])&(ATLT?[1135])&(ATLT?[1141])&(ATLT?[1147])",
|
||||
"hide": 0,
|
||||
"opportunity": "START"
|
||||
},
|
||||
@@ -1456,5 +1456,32 @@
|
||||
"condition": "TLT?[1136]",
|
||||
"hide": 1,
|
||||
"opportunity": "START"
|
||||
},
|
||||
"263": {
|
||||
"id": 263,
|
||||
"name": "经 典 老 歌",
|
||||
"description": "自 投 罗 网",
|
||||
"grade": 2,
|
||||
"condition": "TLT?[2036]",
|
||||
"hide": 1,
|
||||
"opportunity": "START"
|
||||
},
|
||||
"264": {
|
||||
"id": 264,
|
||||
"name": "莎比",
|
||||
"description": "集齐四大悲剧",
|
||||
"grade": 2,
|
||||
"condition": "(ATLT?[2028])&(ATLT?[2029])&(ATLT?[2030])&(ATLT?[2031])",
|
||||
"hide": 0,
|
||||
"opportunity": "START"
|
||||
},
|
||||
"265": {
|
||||
"id": 265,
|
||||
"name": "死了但没完全死",
|
||||
"description": "死而复生",
|
||||
"grade": 2,
|
||||
"condition": "EVT?[20000,20001,11504]",
|
||||
"hide": 0,
|
||||
"opportunity": "TRAJECTORY"
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,8 @@
|
||||
"10002*100",
|
||||
10110,
|
||||
10111,
|
||||
"10494*999999"
|
||||
"10494*999999",
|
||||
"11503*999999999"
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
@@ -20268,6 +20269,7 @@
|
||||
"11347*0.01",
|
||||
"11348*0.01",
|
||||
"11349",
|
||||
"20002*999999",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -20324,6 +20326,7 @@
|
||||
"11346*0.1",
|
||||
"11347*0.01",
|
||||
"11348*0.01",
|
||||
"20002*999999",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -20369,6 +20372,7 @@
|
||||
"20383*0.01",
|
||||
"20384*0.01",
|
||||
"40001*999999999",
|
||||
"20002*999999",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
|
||||
1594
public/data/en-us/character.json
Normal file
1594
public/data/en-us/character.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,12 @@
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"NoRandom": 1
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"(AGE![500])&(TLT?[1148])&(EVT![20001]):20001",
|
||||
"(AGE![500])&(TLT?[1147])&(EVT![20000]):20000",
|
||||
"(AGE![500])&(TLT?[2024])&(EVT?[10679,10680,10681])&(EVT![11504]):11504"
|
||||
]
|
||||
},
|
||||
"10001": {
|
||||
"id": 10001,
|
||||
@@ -2998,9 +3003,6 @@
|
||||
"10346": {
|
||||
"id": 10346,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"include": "TLT?[1048]",
|
||||
"exclude": "EVT?[10333,40001,40003,40061]",
|
||||
"branch": [
|
||||
@@ -3010,9 +3012,6 @@
|
||||
"10347": {
|
||||
"id": 10347,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"include": "TLT?[1048]",
|
||||
"exclude": "EVT?[10345,10361,40001,40003,40061]",
|
||||
"branch": [
|
||||
@@ -3215,13 +3214,15 @@
|
||||
},
|
||||
"10366": {
|
||||
"id": 10366,
|
||||
"event": "你斩杀了大量筑基修士,获得不少资源。",
|
||||
"event": "你参加了一场拍卖会。",
|
||||
"grade": 1,
|
||||
"effect": {
|
||||
"INT": 10,
|
||||
"STR": 100
|
||||
},
|
||||
"include": "(EVT?[10345,10361])&(STR>450)&(INT>10)&(TLT?[1048])"
|
||||
"include": "(STR>100)&(TLT?[1048])",
|
||||
"exclude": "EVT?[10366]",
|
||||
"branch": [
|
||||
"INT>50:20366",
|
||||
"MNY>4:20365",
|
||||
"TLT?[1048]:20364"
|
||||
]
|
||||
},
|
||||
"10367": {
|
||||
"id": 10367,
|
||||
@@ -3235,9 +3236,6 @@
|
||||
"10368": {
|
||||
"id": 10368,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"exclude": "EVT?[10365,10361,40001,40061]",
|
||||
"branch": [
|
||||
"STR>0:10000"
|
||||
@@ -3348,9 +3346,6 @@
|
||||
"10379": {
|
||||
"id": 10379,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"exclude": "EVT?[10377]",
|
||||
"branch": [
|
||||
"STR>0:10000"
|
||||
@@ -3685,7 +3680,7 @@
|
||||
"include": "EVT?[10189]",
|
||||
"exclude": "(EVT?[10410,10002])|(TLT?[1014])",
|
||||
"branch": [
|
||||
"STR>5:20410",
|
||||
"MNY>6:20410",
|
||||
"INT<6:20411"
|
||||
]
|
||||
},
|
||||
@@ -3716,7 +3711,7 @@
|
||||
},
|
||||
"10414": {
|
||||
"id": 10414,
|
||||
"event": "附近开始流行肺炎,你在家中不敢出门。",
|
||||
"event": "你连刷了20条短视频,发现所有人用的都是同款音乐。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10414]"
|
||||
},
|
||||
@@ -3724,14 +3719,11 @@
|
||||
"id": 10415,
|
||||
"event": "高考改革,英语被取消了。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10415]",
|
||||
"branch": [
|
||||
"(EVT?[10237,10238,10239])&(INT<8):20415"
|
||||
]
|
||||
"exclude": "EVT?[10415]"
|
||||
},
|
||||
"10416": {
|
||||
"id": 10416,
|
||||
"event": "高考改革,新增了中特社作为必考科目。",
|
||||
"event": "政治成为幼儿园必修课。",
|
||||
"include": "EVT?[10009,10010]",
|
||||
"exclude": "EVT?[10416]"
|
||||
},
|
||||
@@ -3746,25 +3738,19 @@
|
||||
},
|
||||
"10418": {
|
||||
"id": 10418,
|
||||
"event": "塔利班组织占领华盛顿。",
|
||||
"event": "地狱笑话吧被百度官方永久关闭。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10418]",
|
||||
"branch": [
|
||||
"INT<2:20418"
|
||||
]
|
||||
"exclude": "EVT?[10418]"
|
||||
},
|
||||
"10419": {
|
||||
"id": 10419,
|
||||
"event": "本·拉登复出,发视频称当年是假死。",
|
||||
"event": "我国人口增长从高速发展转变为高质量发展,稳中有进。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10419]",
|
||||
"branch": [
|
||||
"INT<2:20419"
|
||||
]
|
||||
"exclude": "EVT?[10419]"
|
||||
},
|
||||
"10420": {
|
||||
"id": 10420,
|
||||
"event": "希特勒的遗骨被发现。",
|
||||
"event": "国家出台相关规定,电子游戏的打斗场景不能出现任何颜色的液体。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10420]"
|
||||
},
|
||||
@@ -3799,29 +3785,20 @@
|
||||
"id": 10424,
|
||||
"event": "日本发生8.0级地震。",
|
||||
"include": "EVT?[10009,11470,10010]",
|
||||
"exclude": "EVT?[10424,11476,10425]",
|
||||
"branch": [
|
||||
"SPR>9:20425"
|
||||
]
|
||||
"exclude": "EVT?[10424,11476,10425]"
|
||||
},
|
||||
"10425": {
|
||||
"id": 10425,
|
||||
"event": "日本发生9.0级地震。",
|
||||
"include": "EVT?[10009,11470]",
|
||||
"exclude": "EVT?[10425,11476,10424]",
|
||||
"branch": [
|
||||
"SPR>7:20425"
|
||||
]
|
||||
"exclude": "EVT?[10425,11476,10424]"
|
||||
},
|
||||
"10426": {
|
||||
"id": 10426,
|
||||
"event": "中国大陆收复台湾。",
|
||||
"grade": 1,
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10426]",
|
||||
"branch": [
|
||||
"(CHR>8)&(MNY>8):20426"
|
||||
]
|
||||
"exclude": "EVT?[10426]"
|
||||
},
|
||||
"10427": {
|
||||
"id": 10427,
|
||||
@@ -3852,21 +3829,15 @@
|
||||
},
|
||||
"10431": {
|
||||
"id": 10431,
|
||||
"event": "游哈米发布次时代手游大作《神原》。",
|
||||
"event": "有史以来最大股灾出现。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10431]",
|
||||
"branch": [
|
||||
"MNY>6:20432"
|
||||
]
|
||||
"exclude": "EVT?[10431]"
|
||||
},
|
||||
"10432": {
|
||||
"id": 10432,
|
||||
"event": "腾讯收购网易。",
|
||||
"event": "小红书宣布将业务转换为海外旅游、留学与移民。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10432]",
|
||||
"branch": [
|
||||
"SPR>7:20433"
|
||||
]
|
||||
"exclude": "EVT?[10432]"
|
||||
},
|
||||
"10433": {
|
||||
"id": 10433,
|
||||
@@ -3897,16 +3868,16 @@
|
||||
},
|
||||
"10437": {
|
||||
"id": 10437,
|
||||
"event": "全球新冠确诊病例首次清零。",
|
||||
"event": "据调查,80%的女性认为政府的政策重男轻女,而85%的男性则认为政府偏向女性。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10437]",
|
||||
"branch": [
|
||||
"STR>2:20437"
|
||||
"SPR<5:20437"
|
||||
]
|
||||
},
|
||||
"10438": {
|
||||
"id": 10438,
|
||||
"event": "曹县成功申办2066年奥运会。",
|
||||
"event": "一架载满神户和牛的直升机在美国坠毁。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10438]"
|
||||
},
|
||||
@@ -3914,24 +3885,24 @@
|
||||
"id": 10439,
|
||||
"event": "日本武力攻占珍珠港。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10439,11476]"
|
||||
"exclude": "EVT?[10439]"
|
||||
},
|
||||
"10440": {
|
||||
"id": 10440,
|
||||
"event": "朝鲜计划向美国和韩国投下两颗原子弹。",
|
||||
"postEvent": "计划败露。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10440]"
|
||||
"exclude": "EVT?[10440,11434]"
|
||||
},
|
||||
"10441": {
|
||||
"id": 10441,
|
||||
"event": "芜湖机场世界排名升至第一。",
|
||||
"event": "新闻学专业被取消。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10441]"
|
||||
},
|
||||
"10442": {
|
||||
"id": 10442,
|
||||
"event": "蚌埠房价一年内翻倍,国家出手调控。",
|
||||
"event": "由于外国游客数量过多,中国取消了144小时过境免签政策。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10442]"
|
||||
},
|
||||
@@ -3975,10 +3946,7 @@
|
||||
"id": 10448,
|
||||
"event": "国家公布中产阶级标准:家庭年收入100万。",
|
||||
"include": "EVT?[10009,10010]",
|
||||
"exclude": "EVT?[10448,11297]",
|
||||
"branch": [
|
||||
"MNY<4:20448"
|
||||
]
|
||||
"exclude": "EVT?[10448,11297]"
|
||||
},
|
||||
"10449": {
|
||||
"id": 10449,
|
||||
@@ -3996,10 +3964,7 @@
|
||||
"id": 10451,
|
||||
"event": "北京一本录取率首次超过99%。",
|
||||
"include": "EVT?[10009,10010]",
|
||||
"exclude": "EVT?[10451]",
|
||||
"branch": [
|
||||
"(MNY<4)&(TLT![1010]):20452"
|
||||
]
|
||||
"exclude": "EVT?[10451]"
|
||||
},
|
||||
"10452": {
|
||||
"id": 10452,
|
||||
@@ -4012,7 +3977,7 @@
|
||||
},
|
||||
"10453": {
|
||||
"id": 10453,
|
||||
"event": "拜登遭到暗杀。",
|
||||
"event": "特朗普遭到暗杀。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10453]"
|
||||
},
|
||||
@@ -5825,7 +5790,7 @@
|
||||
},
|
||||
"10706": {
|
||||
"id": 10706,
|
||||
"event": "金正恩在朝鲜称帝,改为帝制。",
|
||||
"event": "为减少招聘时的性别歧视,某地出台新规定:员工休产假时的工资将延迟到产假结束后的相同长度时间内随工资发放。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[10706]"
|
||||
},
|
||||
@@ -6275,7 +6240,7 @@
|
||||
},
|
||||
"10770": {
|
||||
"id": 10770,
|
||||
"event": "【绝密消息】你捡到一张纸条,上面写着“快20个群都加满了,不加了不加了,关注策划的贴吧号神户小德,或者B站神户艾兰德吧,不要私信了求求了“",
|
||||
"event": "【绝密消息】关注策划B站账号神户小德,谢谢",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10770]"
|
||||
@@ -6289,14 +6254,14 @@
|
||||
},
|
||||
"10772": {
|
||||
"id": 10772,
|
||||
"event": "【绝密消息】据说按下特别感谢按钮,再按下打赏按钮,可以在让自己的名字出现在感谢名单上(雾",
|
||||
"event": "【绝密消息】现在BUG很多,希望大家遇到了BUG可以通知我们。策划QQ号:846945492",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10772,10771]"
|
||||
},
|
||||
"10773": {
|
||||
"id": 10773,
|
||||
"event": "【绝密消息】据说,修仙者是真实存在的……",
|
||||
"event": "【绝密消息】策划和程序的打赏平台都炸了……所以不用再打赏了,谢谢大家",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10773,10774]"
|
||||
@@ -6310,7 +6275,7 @@
|
||||
},
|
||||
"10775": {
|
||||
"id": 10775,
|
||||
"event": "【绝密消息】考古学家发现一粒古代的药丸,看上去金灿灿的,不像凡物。",
|
||||
"event": "【绝密消息】2024.7.31,策划时隔两年再次更新了部分游戏文案",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10775]"
|
||||
@@ -6324,21 +6289,21 @@
|
||||
},
|
||||
"10777": {
|
||||
"id": 10777,
|
||||
"event": "【绝密消息】有人说“如果你很有钱,就出生不到农村;很穷,就出生不到城市。一个猜测,不知道对不对。”",
|
||||
"event": "【绝密消息】现实世界其实比游戏更魔幻。",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10777]"
|
||||
},
|
||||
"10778": {
|
||||
"id": 10778,
|
||||
"event": "【绝绝子消息】今日份甜甜碎片已加载完毕 ,不是8⃣️,宝!我今天重开人生了 ,我真的哭死,呢呢呢,这家的人生好重开到跺jiojio~~~这杯小布丁也有被惊艳到⁉️⁉️⁉️无语子,路上还看见一个Java男,大无语事件,哒哒哒,岁月漫长 那就一起拯救地球与乐趣吧 ",
|
||||
"event": "【绝密消息】现在已经没多少活跃玩家了,过阵子人更少的话,文案是不是可以更加放飞自我了(误",
|
||||
"grade": 2,
|
||||
"include": "EVT?[10770,10771,10772,10773,10774,10775,10776,10777,10779,10780]",
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10778]"
|
||||
},
|
||||
"10779": {
|
||||
"id": 10779,
|
||||
"event": "【绝密消息】遗传学家说,最好的天赋只有0.1%的几率出现,其次的天赋是1%,比较好的天赋是10%。",
|
||||
"event": "【绝密消息】不会吧,2024年了居然还有人在人生重开?",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10779]"
|
||||
@@ -9185,13 +9150,13 @@
|
||||
},
|
||||
"11197": {
|
||||
"id": 11197,
|
||||
"event": "我国首次夺得奥运奖牌榜奖牌总数第一。",
|
||||
"event": "微积分正式进入小学数学教材。",
|
||||
"include": "EVT?[11127,11123,11126,11122,11124]",
|
||||
"exclude": "EVT?[11197]"
|
||||
},
|
||||
"11198": {
|
||||
"id": 11198,
|
||||
"event": "为减轻生育负担,国家出台多项政策。",
|
||||
"event": "专家建议将个税起征点降到0。",
|
||||
"include": "EVT?[11127,11123,11126,11122,11124]",
|
||||
"exclude": "EVT?[11198]"
|
||||
},
|
||||
@@ -9204,7 +9169,7 @@
|
||||
},
|
||||
"11200": {
|
||||
"id": 11200,
|
||||
"event": "我国人均GDP超过韩国。",
|
||||
"event": "印度大量大龄男子找不到对象,犯罪率暴增。",
|
||||
"include": "EVT?[11127,11123,11126,11122,11124]",
|
||||
"exclude": "EVT?[11200]"
|
||||
},
|
||||
@@ -9904,7 +9869,7 @@
|
||||
"id": 11296,
|
||||
"event": "高超的洞察力使你发现:现实世界是虚拟的。",
|
||||
"grade": 3,
|
||||
"include": "(INT>10)&(EVT?[11288])",
|
||||
"include": "((INT>10)&(EVT?[11288]))|(TLT?[2022])",
|
||||
"exclude": "EVT?[11296]",
|
||||
"branch": [
|
||||
"INT>10:21296"
|
||||
@@ -10261,7 +10226,7 @@
|
||||
},
|
||||
"11341": {
|
||||
"id": 11341,
|
||||
"event": "▓》《▓▓▓▓▓▓▓▓▓》》▓",
|
||||
"event": "▓@∞▓▓╱╲▓↖▓▓▓▓▓▓@@▓▓▓▓",
|
||||
"grade": 2,
|
||||
"effect": {
|
||||
"INT": -1,
|
||||
@@ -10764,7 +10729,7 @@
|
||||
},
|
||||
"11414": {
|
||||
"id": 11414,
|
||||
"event": "生物学家突破性完成了猫狗杂交实验。",
|
||||
"event": "今年考研人数突破1千万。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11414]"
|
||||
},
|
||||
@@ -10788,13 +10753,14 @@
|
||||
},
|
||||
"11418": {
|
||||
"id": 11418,
|
||||
"event": "国家统一全国户口。",
|
||||
"event": "一年中有100多名明星因偷税被罚。",
|
||||
"postEvent": "国家开始大力整治,娱乐圈逐渐走向衰亡。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11418]"
|
||||
},
|
||||
"11419": {
|
||||
"id": 11419,
|
||||
"event": "国家进一步推出限制未成年人消费的法案。",
|
||||
"event": "印度突发严重传染病,火葬场爆满。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11419]"
|
||||
},
|
||||
@@ -10825,22 +10791,21 @@
|
||||
},
|
||||
"11424": {
|
||||
"id": 11424,
|
||||
"event": "调查显示,84%的人认为自己的颜值是“中上”。",
|
||||
"event": "某高校多名同学在宿舍高唱国际歌,校领导迅速锁定这些同学所在寝室并上门对他们进行了表彰和鼓励。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11424,11425,11426,11263,11288]"
|
||||
"exclude": "EVT?[11424]"
|
||||
},
|
||||
"11425": {
|
||||
"id": 11425,
|
||||
"event": "调查显示,50%的人认为自己比大多数人多点儿小聪明,另外30%的人认为自己的智商显著优于身边的人。",
|
||||
"event": "研究发现,网络视频平均时长在过去10年间降低了50%。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11424,11425,11426,11263,11288]"
|
||||
"exclude": "EVT?[11425]"
|
||||
},
|
||||
"11426": {
|
||||
"id": 11426,
|
||||
"event": "调查显示,75%的人认为自己的人品好过绝大多数人。",
|
||||
"postEvent": "专家表示可能与报道犯罪的新闻过多有关。",
|
||||
"event": "据报道,美国富豪在瑞士银行存款达数千亿美元,引发美国平民不满。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11424,11425,11426,11263,11288]"
|
||||
"exclude": "EVT?[11426]"
|
||||
},
|
||||
"11427": {
|
||||
"id": 11427,
|
||||
@@ -10864,13 +10829,13 @@
|
||||
},
|
||||
"11430": {
|
||||
"id": 11430,
|
||||
"event": "诺贝尔奖暂停举办。",
|
||||
"event": "调查显示,84%的人认为自己的颜值是“中上”。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11430]"
|
||||
},
|
||||
"11431": {
|
||||
"id": 11431,
|
||||
"event": "欧盟合并成了一个国家。",
|
||||
"event": "中考分流被取消。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11431]"
|
||||
},
|
||||
@@ -10878,11 +10843,11 @@
|
||||
"id": 11432,
|
||||
"event": "印度成为了联合国第六常。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11432,11433]"
|
||||
"exclude": "EVT?[11432]"
|
||||
},
|
||||
"11433": {
|
||||
"id": 11433,
|
||||
"event": "联合国解散了。",
|
||||
"event": "某专家在进行《保护环境、不要吃肉》的演讲后,被人意外拍到进入了一家烤肉店。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11433]"
|
||||
},
|
||||
@@ -10894,7 +10859,7 @@
|
||||
},
|
||||
"11435": {
|
||||
"id": 11435,
|
||||
"event": "教师行业越来越受到重视,教师工资显著提高。",
|
||||
"event": "某地政府推出市民成就系统,结婚被设为传说级成就,引发大批年轻人前去领证。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11435]"
|
||||
},
|
||||
@@ -10918,14 +10883,13 @@
|
||||
},
|
||||
"11439": {
|
||||
"id": 11439,
|
||||
"event": "世界第一个八星级酒店在空间站建成。",
|
||||
"postEvent": "在上面能看到八大行星。",
|
||||
"event": "世界第一个九星级酒店在空间站建成。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11439,11263,11288]"
|
||||
},
|
||||
"11440": {
|
||||
"id": 11440,
|
||||
"event": "广州出现十几平方公里大的巨型蟑螂。",
|
||||
"event": "专家建议,政府应当为专家提供保镖,避免专家被暴民打死。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11440]"
|
||||
},
|
||||
@@ -10949,7 +10913,7 @@
|
||||
},
|
||||
"11444": {
|
||||
"id": 11444,
|
||||
"event": "美国将小学入学年龄推迟到10-12岁。",
|
||||
"event": "专家建议提高房价。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11444]"
|
||||
},
|
||||
@@ -10980,7 +10944,8 @@
|
||||
},
|
||||
"11449": {
|
||||
"id": 11449,
|
||||
"event": "前领导人打破最长寿的人吉尼斯纪录。",
|
||||
"event": "纽约时报公布美国年度十大网络流行语。",
|
||||
"postEvent": "美国网民并不接受,认为官方的流行语太脱离群众。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11449]"
|
||||
},
|
||||
@@ -11161,169 +11126,170 @@
|
||||
},
|
||||
"11471": {
|
||||
"id": 11471,
|
||||
"event": "超级管理员(Admin)已被击败。",
|
||||
"event": "专家建议,如果人生不如意可以尝试重开,为减轻养老金压力做出贡献。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11471]"
|
||||
},
|
||||
"11472": {
|
||||
"id": 11472,
|
||||
"event": "4月10号,一些兄弟们失去了家园,只留下了那段话,暗号不变,江湖再见,滴,滴滴。天王盖地虎……",
|
||||
"event": "某互联网大厂开发的自动编程AI,在上线三天后过劳猝死。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11472]"
|
||||
},
|
||||
"11473": {
|
||||
"id": 11473,
|
||||
"event": "据一位资深游戏制作者透露:某游戏的第六代作品正在紧密制作当中,他们已经建好了文件夹,确定消息可靠。",
|
||||
"event": "秦始皇陵被打开,墓穴里面是空的。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11473]"
|
||||
},
|
||||
"11474": {
|
||||
"id": 11474,
|
||||
"event": "湾区程序员建国,禁止变更需求被列入宪法。",
|
||||
"event": "政府将游戏中的抽卡认定为赌博行为。",
|
||||
"exclude": "EVT?[11474]"
|
||||
},
|
||||
"11475": {
|
||||
"id": 11475,
|
||||
"event": "你去听了一场电子管风琴音乐会,感觉自己的洪荒之力正在觉醒",
|
||||
"effect": {
|
||||
"STR": 1
|
||||
},
|
||||
"event": "一图书馆发生火灾,除博人传之外的其他书籍全部焚毁。",
|
||||
"include": "(MNY>7)&(EVT?[10010])",
|
||||
"exclude": "EVT?[11475]"
|
||||
},
|
||||
"11476": {
|
||||
"id": 11476,
|
||||
"event": "小日子过得不错的国家认祖归宗,归化为恒桑省。",
|
||||
"event": "影视和游戏的画面、音效内容已经完全可以由AI完成制作。",
|
||||
"exclude": "EVT?[11476,11497,11498]"
|
||||
},
|
||||
"11477": {
|
||||
"id": 11477,
|
||||
"event": "某孙姓漫画家沉迷摸鱼,最终放弃漫画。意外中奖一亿后,醒来发现是做梦。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "一名元宇宙主播逃税138亿,打破历史记录。",
|
||||
"include": "EVT?[10432]",
|
||||
"exclude": "EVT?[11477]"
|
||||
},
|
||||
"11478": {
|
||||
"id": 11478,
|
||||
"event": "某网红天天忙于相亲,导致粉丝不满,最终不得不公开宣布自己转投独身主义。",
|
||||
"event": "专家建议,农民可以在省会买房,每天坐高铁回老家种田。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11478]"
|
||||
},
|
||||
"11479": {
|
||||
"id": 11479,
|
||||
"event": "可以自主发明的发明机被发明,奇怪的发明充斥世界,引发了灾难。",
|
||||
"event": "印度人口超越中国。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11479]"
|
||||
},
|
||||
"11480": {
|
||||
"id": 11480,
|
||||
"event": "国足夺得世界杯。",
|
||||
"event": "学术界普遍开始使用AI来写论文,论文产量爆发式增长。",
|
||||
"exclude": "EVT?[11480]"
|
||||
},
|
||||
"11481": {
|
||||
"id": 11481,
|
||||
"event": "虚拟偶像王加然在一次直播中宣布与同事杜向碗成为恋人。",
|
||||
"event": "某高校被曝光可以走后门进入后,开始明码标价售卖名额。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11481]"
|
||||
},
|
||||
"11482": {
|
||||
"id": 11482,
|
||||
"event": "民间一款名为“人生重开模拟器”的游戏正在兴起,引起热议。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "两位著名人工智能偶像的不正当男女关系被曝光,其中一位删库自杀了。",
|
||||
"include": "EVT?[11481]",
|
||||
"exclude": "EVT?[11482]"
|
||||
},
|
||||
"11483": {
|
||||
"id": 11483,
|
||||
"event": "一位打气球摊老板被发现竟是地下军火大亨。",
|
||||
"event": "由于中国企业的大力资助,世界杯将入围名额数量提高到了108。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[11483]"
|
||||
},
|
||||
"11484": {
|
||||
"id": 11484,
|
||||
"event": "人类发现宜居类地行星,被命名为不吃香菜星27号。",
|
||||
"event": "国内互联网企业大幅扩招,业界一片繁荣。",
|
||||
"exclude": "EVT?[11484]"
|
||||
},
|
||||
"11485": {
|
||||
"id": 11485,
|
||||
"event": "有科研组织宣称,人类有能力重塑大自然食物网,创造一个没有食肉动物的新生态平衡。大概需要一万年到一千万年。",
|
||||
"event": "全球人口跌破80亿。",
|
||||
"exclude": "EVT?[11485]"
|
||||
},
|
||||
"11486": {
|
||||
"id": 11486,
|
||||
"event": "股市大涨,P股直冲一万点。",
|
||||
"event": "年度十大流行歌公布,你发现一首也没听过。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11486]"
|
||||
},
|
||||
"11487": {
|
||||
"id": 11487,
|
||||
"event": "人类首次3D打印月球。从此天上有了两个月亮。",
|
||||
"event": "据报道,美国一彩民中彩票800亿美元,后被曝光是因美国彩票滞销而编造出的假新闻。",
|
||||
"exclude": "EVT?[11487]"
|
||||
},
|
||||
"11488": {
|
||||
"id": 11488,
|
||||
"event": "受气候影响,一只野猪撞死了一只帝王蟹。",
|
||||
"event": "美国黄石公园火山爆发。全球平均气温下降1摄氏度。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11488]"
|
||||
},
|
||||
"11489": {
|
||||
"id": 11489,
|
||||
"event": "世界上首个没有婚姻的国家出现了。",
|
||||
"event": "你感觉自己越来越难从娱乐活动中获得乐趣了。",
|
||||
"effect": {
|
||||
"SPR": -1
|
||||
},
|
||||
"exclude": "EVT?[11489]"
|
||||
},
|
||||
"11490": {
|
||||
"id": 11490,
|
||||
"event": "国内独立游戏工作室联盟制作的3A游戏大作斩获TAG年度游戏。",
|
||||
"include": "EVT?[10010]",
|
||||
"event": "你喜欢读道德经和庄子。",
|
||||
"effect": {
|
||||
"INT": 1
|
||||
},
|
||||
"include": "TLT?[1048]",
|
||||
"exclude": "EVT?[11490]"
|
||||
},
|
||||
"11491": {
|
||||
"id": 11491,
|
||||
"event": "国乒在对外星人的比赛中完胜对手,为星系外交做出巨大贡献。",
|
||||
"include": "EVT?[10090,10700]",
|
||||
"event": "日本公布年度汉字:寄。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11491]"
|
||||
},
|
||||
"11492": {
|
||||
"id": 11492,
|
||||
"event": "你被无人驾驶车撞伤了,获得大量赔偿。",
|
||||
"effect": {
|
||||
"MNY": 2
|
||||
},
|
||||
"event": "据调查,我国政府公信力达到历史最高点。",
|
||||
"postEvent": "据约翰霍普金斯大学研究表明,美国政府公信力仍在持续下降。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11492]"
|
||||
},
|
||||
"11493": {
|
||||
"id": 11493,
|
||||
"event": "马斯克宣布特斯拉进军颜色领域,用户授权后可以直接通过车内摄像头进行录制和发布。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "美国某州立法,要求所有心理测试在开始前都需要标注巴纳姆效应警告。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[11493]"
|
||||
},
|
||||
"11494": {
|
||||
"id": 11494,
|
||||
"event": "火星宣称即将登陆朝鲜。",
|
||||
"event": "韩国人口直线下滑,韩国政府宣布即将启动“火种”计划。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11494]"
|
||||
},
|
||||
"11495": {
|
||||
"id": 11495,
|
||||
"event": "首个禁止迫害程序员法案生效。",
|
||||
"include": "EVT?[10010]",
|
||||
"event": "为培养阳刚之气,有关专家建议禁止男性坐着小便。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11495]"
|
||||
},
|
||||
"11496": {
|
||||
"id": 11496,
|
||||
"event": "越南宣布毒品合法化,因为可以给国家创造大量税收,提供大量工作岗位。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "全年所有影视作品的主角均是少数人群。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[11496]"
|
||||
},
|
||||
"11497": {
|
||||
"id": 11497,
|
||||
"event": "外星舰队造访,观看东京奥运会开幕式后连夜逃离地球。",
|
||||
"exclude": "EVT?[11497,11476,11491]"
|
||||
"event": "电商平台设立2.29购物节。至此终于全年366天全部都是购物节。",
|
||||
"exclude": "EVT?[11497]"
|
||||
},
|
||||
"11498": {
|
||||
"id": 11498,
|
||||
"event": "日本大量居民因核废水变异,为防止病毒传播美国向日本抛下两颗原子弹。",
|
||||
"event": "英国将汉语设为必修课程。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11476,11498]"
|
||||
"exclude": "EVT?[11498]"
|
||||
},
|
||||
"11499": {
|
||||
"id": 11499,
|
||||
@@ -11333,25 +11299,72 @@
|
||||
},
|
||||
"11500": {
|
||||
"id": 11500,
|
||||
"event": "路过空地,被打羽毛球的大妈一记旋风扣杀打晕了过去。",
|
||||
"event": "你感觉世界日新月异,各种大事不断发生,但好像又都与你的生活无关。",
|
||||
"effect": {
|
||||
"STR": -1
|
||||
"SPR": -1
|
||||
},
|
||||
"include": "(EVT?[10010])&(STR<4)",
|
||||
"exclude": "EVT?[11500]"
|
||||
"include": "MNY<4",
|
||||
"exclude": "EVT?[11500,11501]"
|
||||
},
|
||||
"11501": {
|
||||
"id": 11501,
|
||||
"event": "国家降低游戏版号限制,太爷爷生前在等的游戏终于发售了。",
|
||||
"include": "(EVT?[10010])&(MNY>4)",
|
||||
"exclude": "EVT?[11501]"
|
||||
"event": "你感觉世界日新月异,对未来无限可能的那份好奇支持着你继续活下去。",
|
||||
"effect": {
|
||||
"SPR": 1
|
||||
},
|
||||
"include": "SPR<4",
|
||||
"exclude": "EVT?[11500,11501]"
|
||||
},
|
||||
"11502": {
|
||||
"id": 11502,
|
||||
"event": "为防范星际入侵和核事故带来的变异生物,几大国牵头成立地球和平联合组织。",
|
||||
"event": "山东省宣布本省男性平均身高达到1米8。\r\n各大社交平台上所在地标注为山东省的男性账户数量激增。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11502]"
|
||||
},
|
||||
"11503": {
|
||||
"id": 11503,
|
||||
"event": "We were no strangers to love\r\nYou know the rules and so do I\r\nA full commitments what I'm thinking of\r\nYou wouldn't get this from any other guy\r\nI just wanna tell you how I'm feeling\r\nGotta make you understand\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nWe've know each other for so long\r\nYour hearts been aching\r\nBut you're too shy to say it\r\nInside we both know what's been going on\r\nWe know the game and were gonna play it\r\nAnd if you ask me how I'm feeling\r\nDon't tell me youre too blind to see\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\n(Give you up. give you up)\r\n(Give you up, give you up)\r\nNever gonna give\r\nNever gonna give (give you up)\r\nNever gonna give\r\nNever gonna give (give you up)\r\nWe've know each other for so long\r\nYour hearts been aching\r\nBut you're too shy to say it\r\nInside we both know what's been going on\r\nWe know the game and were gonna play it\r\nI just wanna tell you how I'm feeling\r\nGotta make you understand\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"include": "TLT?[2036]"
|
||||
},
|
||||
"11504": {
|
||||
"id": 11504,
|
||||
"event": "因为得过诺贝尔奖,你被复活了。",
|
||||
"grade": 3,
|
||||
"effect": {
|
||||
"LIF": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20000": {
|
||||
"id": 20000,
|
||||
"event": "天赋卡【死者苏生】发动,你被复活了。",
|
||||
"grade": 3,
|
||||
"effect": {
|
||||
"LIF": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20001": {
|
||||
"id": 20001,
|
||||
"event": "因为和恶魔进行过交易,你复活了。",
|
||||
"grade": 3,
|
||||
"effect": {
|
||||
"LIF": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20002": {
|
||||
"id": 20002,
|
||||
"event": "你在睡梦中安然离世。",
|
||||
"include": "EVT?[10000]",
|
||||
"exclude": "TLT?[1048]",
|
||||
"branch": [
|
||||
"EVT?[10000]:10000"
|
||||
]
|
||||
},
|
||||
"20007": {
|
||||
"id": 20007,
|
||||
"event": "你喜欢看画面人设好看的动漫。",
|
||||
@@ -11702,6 +11715,69 @@
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20361": {
|
||||
"id": 20361,
|
||||
"event": "截杀者发现你比他还穷,直呼晦气,放了你一马。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20362": {
|
||||
"id": 20362,
|
||||
"event": "截杀者被你反杀。得到大量宝物,体质提升。",
|
||||
"grade": 1,
|
||||
"effect": {
|
||||
"STR": 50
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20363": {
|
||||
"id": 20363,
|
||||
"event": "你在拍卖行外遭到了截杀。",
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"STR>500:20362",
|
||||
"EVT?[20364]:20361",
|
||||
"TLT?[1048]:10000"
|
||||
]
|
||||
},
|
||||
"20364": {
|
||||
"id": 20364,
|
||||
"event": "你太穷了,什么也没拍到。",
|
||||
"effect": {
|
||||
"SPR": -1
|
||||
},
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"CHR<3:20363"
|
||||
]
|
||||
},
|
||||
"20365": {
|
||||
"id": 20365,
|
||||
"event": "你拍到了一篇功法。体质和智力提升。",
|
||||
"grade": 1,
|
||||
"effect": {
|
||||
"INT": 10,
|
||||
"STR": 10,
|
||||
"MNY": -5
|
||||
},
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"CHR<3:20363"
|
||||
]
|
||||
},
|
||||
"20366": {
|
||||
"id": 20366,
|
||||
"event": "其他人不认识上古奇物,被你低价拍到。\r\n体质和快乐大幅提升。",
|
||||
"grade": 2,
|
||||
"effect": {
|
||||
"STR": 100,
|
||||
"MNY": -1,
|
||||
"SPR": 5
|
||||
},
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"CHR<3:20363"
|
||||
]
|
||||
},
|
||||
"20367": {
|
||||
"id": 20367,
|
||||
"event": "你悟出了一条天道!",
|
||||
@@ -11808,9 +11884,9 @@
|
||||
},
|
||||
"20410": {
|
||||
"id": 20410,
|
||||
"event": "你还喜欢在萌战吧、S1和bangumi茶话会发钓鱼帖。",
|
||||
"event": "你还喜欢在网上高价购买谷子。",
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
"SPR": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
@@ -11840,26 +11916,11 @@
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20415": {
|
||||
"id": 20415,
|
||||
"event": "你无语,你当年怎么没这么好的事儿。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20417": {
|
||||
"id": 20417,
|
||||
"event": "你寻思这也不是很难啊。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20418": {
|
||||
"id": 20418,
|
||||
"event": "你压根儿不知道塔利班和华盛顿是啥东西。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20419": {
|
||||
"id": 20419,
|
||||
"event": "你压根儿不知道本·拉登是啥东西。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20421": {
|
||||
"id": 20421,
|
||||
"event": "然后被你斥巨资购买了。",
|
||||
@@ -11875,17 +11936,7 @@
|
||||
},
|
||||
"20423": {
|
||||
"id": 20423,
|
||||
"event": "有知情人告诉你不是交通事故,好像是一个在天上飞的人……",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20425": {
|
||||
"id": 20425,
|
||||
"event": "你意识到这场地震并不寻常……",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20426": {
|
||||
"id": 20426,
|
||||
"event": "但据你所知,并没有出动军队和武器,好像只派了少量的“人”?",
|
||||
"event": "有知情人告诉你不是交通事故,好像是一个在天上飞的人造成的……",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20431": {
|
||||
@@ -11893,16 +11944,6 @@
|
||||
"event": "你认为这是虚假消息。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20432": {
|
||||
"id": 20432,
|
||||
"event": "你试着玩了玩并且充了点钱,啥好角色都抽不到。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20433": {
|
||||
"id": 20433,
|
||||
"event": "还好你不玩网易游戏。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20436": {
|
||||
"id": 20436,
|
||||
"event": "笑死,一个都不生。",
|
||||
@@ -11910,17 +11951,9 @@
|
||||
},
|
||||
"20437": {
|
||||
"id": 20437,
|
||||
"event": "你终于可以呼吸到新鲜空气了。",
|
||||
"event": "你感觉社会上的男女对立越来越严重了。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20439": {
|
||||
"id": 20439,
|
||||
"event": "据说他们没有使用飞机、舰船和炮弹。",
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"(CHR>8)&(STR>8):20439"
|
||||
]
|
||||
},
|
||||
"20443": {
|
||||
"id": 20443,
|
||||
"event": "但你家还是很穷,而且也不算幸福。",
|
||||
@@ -11931,16 +11964,6 @@
|
||||
"event": "但你家还是很穷。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20448": {
|
||||
"id": 20448,
|
||||
"event": "你感觉太离谱了。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20452": {
|
||||
"id": 20452,
|
||||
"event": "可恶的天龙人。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20453": {
|
||||
"id": 20453,
|
||||
"event": "你感觉又有乐子了。",
|
||||
@@ -12118,7 +12141,7 @@
|
||||
},
|
||||
"20770": {
|
||||
"id": 20770,
|
||||
"event": "【绝密消息】更新皮肤后,很卡,尤其是ios,我自己都经常打不开这网页……",
|
||||
"event": "【绝密消息】更新后第一次可能加载会比较慢。",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[20770]"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"name": "生而为男",
|
||||
"description": "性别一定为男",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1004",
|
||||
"1025",
|
||||
"1024"
|
||||
@@ -27,7 +27,7 @@
|
||||
"name": "生而为女",
|
||||
"description": "性别一定为女",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1024",
|
||||
"1025"
|
||||
@@ -81,7 +81,7 @@
|
||||
"effect": {
|
||||
"MNY": 1
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014"
|
||||
@@ -98,7 +98,7 @@
|
||||
"name": "乡间微风",
|
||||
"description": "你出生在农村",
|
||||
"grade": 0,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1010",
|
||||
"1013",
|
||||
"1014"
|
||||
@@ -109,7 +109,7 @@
|
||||
"name": "城中高楼",
|
||||
"description": "你出生在城市",
|
||||
"grade": 0,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1010",
|
||||
"1012",
|
||||
"1014"
|
||||
@@ -123,7 +123,7 @@
|
||||
"effect": {
|
||||
"MNY": 1
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1010",
|
||||
"1012",
|
||||
"1013"
|
||||
@@ -210,7 +210,7 @@
|
||||
"name": "人中龙凤",
|
||||
"description": "天生双重性别",
|
||||
"grade": 2,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1004",
|
||||
"1025"
|
||||
@@ -221,7 +221,7 @@
|
||||
"name": "阴阳之外",
|
||||
"description": "天生无性别",
|
||||
"grade": 2,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1024",
|
||||
"1004",
|
||||
@@ -233,7 +233,7 @@
|
||||
"name": "彩虹之下",
|
||||
"description": "可能和同性交往",
|
||||
"grade": 0,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -242,7 +242,7 @@
|
||||
"name": "斩情证道",
|
||||
"description": "终生不恋爱结婚",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -351,7 +351,7 @@
|
||||
"name": "丁克",
|
||||
"description": "不生孩子",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -384,7 +384,7 @@
|
||||
"name": "不孕不育",
|
||||
"description": "你生不出孩子",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -747,7 +747,7 @@
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1122"
|
||||
]
|
||||
},
|
||||
@@ -760,7 +760,7 @@
|
||||
"effect": {
|
||||
"SPR": 5
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1122"
|
||||
]
|
||||
},
|
||||
@@ -770,7 +770,7 @@
|
||||
"description": "初始可用点-10",
|
||||
"grade": 0,
|
||||
"status": -10,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1122"
|
||||
]
|
||||
},
|
||||
@@ -979,8 +979,8 @@
|
||||
"1105": {
|
||||
"id": "1105",
|
||||
"name": "蓝色胶囊",
|
||||
"description": "你20、30岁时无事发生",
|
||||
"condition": "AGE?[20]",
|
||||
"description": "你20岁和30岁时无事发生",
|
||||
"condition": "AGE?[20,30]",
|
||||
"grade": 1
|
||||
},
|
||||
"1106": {
|
||||
@@ -1030,7 +1030,7 @@
|
||||
"name": "三胎人生",
|
||||
"description": "你尽可能生三胎",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1025",
|
||||
"1026",
|
||||
@@ -1094,7 +1094,7 @@
|
||||
"description": "赶着投胎,不要初始属性了",
|
||||
"grade": 1,
|
||||
"status": -20,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1084",
|
||||
"1085",
|
||||
"1086"
|
||||
@@ -1120,7 +1120,7 @@
|
||||
},
|
||||
"1126": {
|
||||
"id": "1126",
|
||||
"name": "黄帝",
|
||||
"name": "偏见",
|
||||
"description": "种族主义者",
|
||||
"grade": 0
|
||||
},
|
||||
@@ -1247,7 +1247,7 @@
|
||||
1
|
||||
]
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
@@ -1268,7 +1268,7 @@
|
||||
2
|
||||
]
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
@@ -1328,8 +1328,490 @@
|
||||
"1114*0.2",
|
||||
"1023*0.2",
|
||||
"1048*0.2",
|
||||
"1033*5"
|
||||
"1033*5",
|
||||
"1147*0.2"
|
||||
]
|
||||
}
|
||||
},
|
||||
"1147": {
|
||||
"id": 1147,
|
||||
"name": "死者苏生",
|
||||
"description": "加一条命",
|
||||
"grade": 3
|
||||
},
|
||||
"1148": {
|
||||
"id": 1148,
|
||||
"name": "恶魔的交易",
|
||||
"description": "所有属性-2,加一条命",
|
||||
"grade": 2,
|
||||
"effect": {
|
||||
"SPR": -2,
|
||||
"MNY": -2,
|
||||
"CHR": -2,
|
||||
"STR": -2,
|
||||
"INT": -2
|
||||
}
|
||||
},
|
||||
"2001": {
|
||||
"id": 2001,
|
||||
"name": "霸王",
|
||||
"description": "体质+4",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"STR": 4
|
||||
}
|
||||
},
|
||||
"2002": {
|
||||
"id": 2002,
|
||||
"name": "国色",
|
||||
"description": "颜值+4",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"CHR": 4
|
||||
}
|
||||
},
|
||||
"2003": {
|
||||
"id": 2003,
|
||||
"name": "兼爱",
|
||||
"description": "你很受",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2004": {
|
||||
"id": 2004,
|
||||
"name": "树人",
|
||||
"description": "你还有别的名字",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2005": {
|
||||
"id": 2005,
|
||||
"name": "圆周率",
|
||||
"description": 3.1415926,
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2006": {
|
||||
"id": 2006,
|
||||
"name": "?",
|
||||
"description": "???",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2007": {
|
||||
"id": 2007,
|
||||
"name": "?",
|
||||
"description": "???",
|
||||
"condition": "STR<0",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 1,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"INT": 1
|
||||
}
|
||||
},
|
||||
"2008": {
|
||||
"id": 2008,
|
||||
"name": "?",
|
||||
"description": "???",
|
||||
"condition": "(SPR>5)&(MNY>5)&(CHR>5)&(STR>5)&(INT>5)",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 1,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"STR": 1,
|
||||
"INT": 1
|
||||
}
|
||||
},
|
||||
"2009": {
|
||||
"id": 2009,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2010": {
|
||||
"id": 2010,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2011": {
|
||||
"id": 2011,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2012": {
|
||||
"id": 2012,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2013": {
|
||||
"id": 2013,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2014": {
|
||||
"id": 2014,
|
||||
"name": "连续可导",
|
||||
"description": "你没有其他人格",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2015": {
|
||||
"id": 2015,
|
||||
"name": "绝妙的天赋",
|
||||
"description": "可惜这里写不下",
|
||||
"grade": 3,
|
||||
"exclusive": 1,
|
||||
"status": 1,
|
||||
"effect": {
|
||||
"SPR": 5,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"STR": 2,
|
||||
"INT": 1,
|
||||
"RDM": 1
|
||||
}
|
||||
},
|
||||
"2016": {
|
||||
"id": 2016,
|
||||
"name": "叠加态",
|
||||
"description": "变成橙色天赋或死",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"talent": [
|
||||
1141,
|
||||
1135,
|
||||
1114,
|
||||
1023,
|
||||
1048,
|
||||
"1033*6",
|
||||
1147
|
||||
]
|
||||
}
|
||||
},
|
||||
"2017": {
|
||||
"id": 2017,
|
||||
"name": "木大",
|
||||
"description": "遗言很有名",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2018": {
|
||||
"id": 2018,
|
||||
"name": "高产",
|
||||
"description": "60岁时体质-2",
|
||||
"condition": "AGE?[60]",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"STR": -2
|
||||
}
|
||||
},
|
||||
"2019": {
|
||||
"id": 2019,
|
||||
"name": "杠杆",
|
||||
"description": "理财天赋较高",
|
||||
"condition": "AGE?[20]",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"MNY": 3
|
||||
}
|
||||
},
|
||||
"2020": {
|
||||
"id": 2020,
|
||||
"name": "物理",
|
||||
"description": "30岁时颜值-2",
|
||||
"condition": "AGE?[30]",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"CHR": -2
|
||||
}
|
||||
},
|
||||
"2021": {
|
||||
"id": 2021,
|
||||
"name": "阳间福袋",
|
||||
"description": "更可能开出好天赋",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"talent": [
|
||||
"1142",
|
||||
"1139",
|
||||
"1140",
|
||||
"1141",
|
||||
"1128",
|
||||
"1131",
|
||||
"1104",
|
||||
"1048",
|
||||
"1134",
|
||||
"1135",
|
||||
"1107",
|
||||
"1080",
|
||||
"1065",
|
||||
"1148"
|
||||
]
|
||||
}
|
||||
},
|
||||
"2022": {
|
||||
"id": 2022,
|
||||
"name": "洞穴寓言",
|
||||
"description": "可能发现世界的真相",
|
||||
"grade": 1,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2023": {
|
||||
"id": 2023,
|
||||
"name": "天赋综合判断",
|
||||
"description": "天赋不能多于5个",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2024": {
|
||||
"id": 2024,
|
||||
"name": "诺贝尔奖",
|
||||
"description": "得过诺贝尔奖可复活一次",
|
||||
"grade": 2,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2025": {
|
||||
"id": 2025,
|
||||
"name": "二号橙色转盘",
|
||||
"description": "变成随机橙色天赋",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
3
|
||||
]
|
||||
}
|
||||
},
|
||||
"2026": {
|
||||
"id": 2026,
|
||||
"name": "流芳",
|
||||
"description": "有悲剧时,所有属性+1",
|
||||
"condition": "TLT?[2028,2029,2030,2031]",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 1,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"STR": 1,
|
||||
"INT": 1
|
||||
}
|
||||
},
|
||||
"2027": {
|
||||
"id": 2027,
|
||||
"name": "百世",
|
||||
"description": "随机抽一部剧",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"talent": [
|
||||
2028,
|
||||
2029,
|
||||
2030,
|
||||
2031,
|
||||
2032,
|
||||
2033,
|
||||
2034,
|
||||
2035
|
||||
]
|
||||
}
|
||||
},
|
||||
"2028": {
|
||||
"id": 2028,
|
||||
"name": "哈姆雷特",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2029": {
|
||||
"id": 2029,
|
||||
"name": "李尔王",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2030": {
|
||||
"id": 2030,
|
||||
"name": "麦克白",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2031": {
|
||||
"id": 2031,
|
||||
"name": "奥赛罗",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2032": {
|
||||
"id": 2032,
|
||||
"name": "仲夏夜之梦",
|
||||
"description": "快乐+114509",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 114509
|
||||
}
|
||||
},
|
||||
"2033": {
|
||||
"id": 2033,
|
||||
"name": "威尼斯商人",
|
||||
"description": "快乐+2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
}
|
||||
},
|
||||
"2034": {
|
||||
"id": 2034,
|
||||
"name": "第十二夜",
|
||||
"description": "快乐+2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
}
|
||||
},
|
||||
"2035": {
|
||||
"id": 2035,
|
||||
"name": "皆大欢喜",
|
||||
"description": "快乐+2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
}
|
||||
},
|
||||
"2036": {
|
||||
"id": 2036,
|
||||
"name": "永不言弃",
|
||||
"description": "你永远不会放弃",
|
||||
"grade": 2,
|
||||
"exclusive": 1
|
||||
}
|
||||
}
|
||||
@@ -2468,6 +2468,291 @@
|
||||
"group": 2,
|
||||
"name": "绝对不是楠桐的仓妖"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "无川手页的说"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": ""
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "靈間"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "黑牙牙"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "烧兔"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "晨曦"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "厕所"
|
||||
},
|
||||
{
|
||||
"group": 1,
|
||||
"name": "0_fds",
|
||||
"comment": "2.71 8281 8284 5904",
|
||||
"color": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "石柱"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "MXS"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "迈阿密牛逼"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "JerryJiao"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "龙无芒"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "陳伯壹仠肆佰伍拾叁世"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "凯"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "恶龙苏生"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "魏勇"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "Mescaline茗零"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "希希希土"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "食光者"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "稻谷之骨"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "七茗"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "Harmony_Matrix."
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "两仪喵喵喵"
|
||||
},
|
||||
{
|
||||
"group": 1,
|
||||
"name": "其途",
|
||||
"comment": "加油呀小德,期待你的游戏大放异彩的那一天"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "改改"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "i∈△"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "可乐味的鸽子"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "子夜微雪"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "The_WhiteDragon"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "zy"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "友月"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "空"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "暗紫Dark Violet",
|
||||
"color": "#9400D3"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "不散"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "小砂糖"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "丿墨竹凉夜影"
|
||||
},
|
||||
{
|
||||
"group": 1,
|
||||
"name": "天失败",
|
||||
"comment": "带带弟弟传播学"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "瑞虎2"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "庸常"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "银河修理员小特"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "栖梧"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "Canophia"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "PoplarBai"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "薛定谔的小猫,QQ名人"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "杨不觉"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "我太帅了"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "北极渡渡"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "冷异枫"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "阿白"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "san_liang"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "qqwzczhrll"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "D.A"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "GAQ"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "Chestunt"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "沐澪"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "R"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "春暖鱼跃"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "迷路啊啊"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "冯子骞"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "高浩渊"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "番茄牛腩"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "优雨"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "对方正在输入…"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "PWMJ"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "Argentum·VG"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "代理天祭之主"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "为溪"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "含砾月"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "HHYYYY"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "超级无敌暴龙战士"
|
||||
@@ -4343,5 +4628,88 @@
|
||||
"group": 2,
|
||||
"name": "INKS",
|
||||
"color": "#7FFFFD4"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "东京八百万萝莉总教头"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "门后有只猫"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "LeoLoki"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "皆因堂"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "青山"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "闲鱼"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "没有名字"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "希希希土"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "泊彧"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "好真实这个人"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "马丁"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "什么时候修成正果"
|
||||
},
|
||||
{
|
||||
"group": 1,
|
||||
"name": "ethan.lang@wisdomhashrate.com",
|
||||
"comment": "北京团队诚聘java、区块链相关工程师,加入我们吧!你的人生何须重开?"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "艳阳兄",
|
||||
"color": "#ffff00"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "七茗"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "元者",
|
||||
"color": "#FFB6C1"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "磕学家"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "一根薯条"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "xcpzhhh"
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"name": "lkaiser"
|
||||
}
|
||||
]
|
||||
@@ -802,8 +802,8 @@
|
||||
},
|
||||
"190": {
|
||||
"id": 190,
|
||||
"name": "绝绝子",
|
||||
"description": "看到绝绝子消息",
|
||||
"name": "摆烂",
|
||||
"description": "看到某条摆烂消息",
|
||||
"grade": 1,
|
||||
"condition": "EVT?[10778]",
|
||||
"hide": 1,
|
||||
@@ -1066,7 +1066,7 @@
|
||||
"name": "刷刷刷",
|
||||
"description": "集齐橙色天赋",
|
||||
"grade": 3,
|
||||
"condition": "(ATLT?[1023])&(ATLT?[1048])&(ATLT?[1064])&(ATLT?[1114])&(ATLT?[1135])&(ATLT?[1141])",
|
||||
"condition": "(ATLT?[1023])&(ATLT?[1048])&(ATLT?[1064])&(ATLT?[1114])&(ATLT?[1135])&(ATLT?[1141])&(ATLT?[1147])",
|
||||
"hide": 0,
|
||||
"opportunity": "START"
|
||||
},
|
||||
@@ -1456,5 +1456,32 @@
|
||||
"condition": "TLT?[1136]",
|
||||
"hide": 1,
|
||||
"opportunity": "START"
|
||||
},
|
||||
"263": {
|
||||
"id": 263,
|
||||
"name": "经 典 老 歌",
|
||||
"description": "自 投 罗 网",
|
||||
"grade": 2,
|
||||
"condition": "TLT?[2036]",
|
||||
"hide": 1,
|
||||
"opportunity": "START"
|
||||
},
|
||||
"264": {
|
||||
"id": 264,
|
||||
"name": "莎比",
|
||||
"description": "集齐四大悲剧",
|
||||
"grade": 2,
|
||||
"condition": "(ATLT?[2028])&(ATLT?[2029])&(ATLT?[2030])&(ATLT?[2031])",
|
||||
"hide": 0,
|
||||
"opportunity": "START"
|
||||
},
|
||||
"265": {
|
||||
"id": 265,
|
||||
"name": "死了但没完全死",
|
||||
"description": "死而复生",
|
||||
"grade": 2,
|
||||
"condition": "EVT?[20000,20001,11504]",
|
||||
"hide": 0,
|
||||
"opportunity": "TRAJECTORY"
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,8 @@
|
||||
"10002*100",
|
||||
10110,
|
||||
10111,
|
||||
"10494*999999"
|
||||
"10494*999999",
|
||||
"11503*999999999"
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
@@ -11825,6 +11826,8 @@
|
||||
"20567*0.01",
|
||||
"11497*0.05",
|
||||
"11498*0.05",
|
||||
"21326",
|
||||
"21327",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -12046,6 +12049,8 @@
|
||||
"11497*0.05",
|
||||
"11498*0.05",
|
||||
"11499*0.1",
|
||||
"21326",
|
||||
"21327",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -12267,6 +12272,8 @@
|
||||
"11498*0.05",
|
||||
"11499*0.1",
|
||||
"10426*0.1",
|
||||
"21326",
|
||||
"21327",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -12479,6 +12486,8 @@
|
||||
"11498*0.05",
|
||||
"11499*0.1",
|
||||
"10426*0.1",
|
||||
"21326",
|
||||
"21327",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -20260,6 +20269,7 @@
|
||||
"11347*0.01",
|
||||
"11348*0.01",
|
||||
"11349",
|
||||
"20002*999999",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -20316,6 +20326,7 @@
|
||||
"11346*0.1",
|
||||
"11347*0.01",
|
||||
"11348*0.01",
|
||||
"20002*999999",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
@@ -20361,6 +20372,7 @@
|
||||
"20383*0.01",
|
||||
"20384*0.01",
|
||||
"40001*999999999",
|
||||
"20002*999999",
|
||||
"40065*1000000000000000000",
|
||||
"40066*100000000000000000",
|
||||
"40067*100000000000000000",
|
||||
|
||||
1594
public/data/zh-cn/character.json
Normal file
1594
public/data/zh-cn/character.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,12 @@
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"NoRandom": 1
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"(AGE![500])&(TLT?[1148])&(EVT![20001]):20001",
|
||||
"(AGE![500])&(TLT?[1147])&(EVT![20000]):20000",
|
||||
"(AGE![500])&(TLT?[2024])&(EVT?[10679,10680,10681])&(EVT![11504]):11504"
|
||||
]
|
||||
},
|
||||
"10001": {
|
||||
"id": 10001,
|
||||
@@ -2998,9 +3003,6 @@
|
||||
"10346": {
|
||||
"id": 10346,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"include": "TLT?[1048]",
|
||||
"exclude": "EVT?[10333,40001,40003,40061]",
|
||||
"branch": [
|
||||
@@ -3010,9 +3012,6 @@
|
||||
"10347": {
|
||||
"id": 10347,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"include": "TLT?[1048]",
|
||||
"exclude": "EVT?[10345,10361,40001,40003,40061]",
|
||||
"branch": [
|
||||
@@ -3215,13 +3214,15 @@
|
||||
},
|
||||
"10366": {
|
||||
"id": 10366,
|
||||
"event": "你斩杀了大量筑基修士,获得不少资源。",
|
||||
"event": "你参加了一场拍卖会。",
|
||||
"grade": 1,
|
||||
"effect": {
|
||||
"INT": 10,
|
||||
"STR": 100
|
||||
},
|
||||
"include": "(EVT?[10345,10361])&(STR>450)&(INT>10)&(TLT?[1048])"
|
||||
"include": "(STR>100)&(TLT?[1048])",
|
||||
"exclude": "EVT?[10366]",
|
||||
"branch": [
|
||||
"INT>50:20366",
|
||||
"MNY>4:20365",
|
||||
"TLT?[1048]:20364"
|
||||
]
|
||||
},
|
||||
"10367": {
|
||||
"id": 10367,
|
||||
@@ -3235,9 +3236,6 @@
|
||||
"10368": {
|
||||
"id": 10368,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"exclude": "EVT?[10365,10361,40001,40061]",
|
||||
"branch": [
|
||||
"STR>0:10000"
|
||||
@@ -3348,9 +3346,6 @@
|
||||
"10379": {
|
||||
"id": 10379,
|
||||
"event": "寿元终。",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"exclude": "EVT?[10377]",
|
||||
"branch": [
|
||||
"STR>0:10000"
|
||||
@@ -3685,7 +3680,7 @@
|
||||
"include": "EVT?[10189]",
|
||||
"exclude": "(EVT?[10410,10002])|(TLT?[1014])",
|
||||
"branch": [
|
||||
"STR>5:20410",
|
||||
"MNY>6:20410",
|
||||
"INT<6:20411"
|
||||
]
|
||||
},
|
||||
@@ -3716,7 +3711,7 @@
|
||||
},
|
||||
"10414": {
|
||||
"id": 10414,
|
||||
"event": "附近开始流行肺炎,你在家中不敢出门。",
|
||||
"event": "你连刷了20条短视频,发现所有人用的都是同款音乐。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10414]"
|
||||
},
|
||||
@@ -3724,14 +3719,11 @@
|
||||
"id": 10415,
|
||||
"event": "高考改革,英语被取消了。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10415]",
|
||||
"branch": [
|
||||
"(EVT?[10237,10238,10239])&(INT<8):20415"
|
||||
]
|
||||
"exclude": "EVT?[10415]"
|
||||
},
|
||||
"10416": {
|
||||
"id": 10416,
|
||||
"event": "高考改革,新增了中特社作为必考科目。",
|
||||
"event": "政治成为幼儿园必修课。",
|
||||
"include": "EVT?[10009,10010]",
|
||||
"exclude": "EVT?[10416]"
|
||||
},
|
||||
@@ -3746,25 +3738,19 @@
|
||||
},
|
||||
"10418": {
|
||||
"id": 10418,
|
||||
"event": "塔利班组织占领华盛顿。",
|
||||
"event": "地狱笑话吧被百度官方永久关闭。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10418]",
|
||||
"branch": [
|
||||
"INT<2:20418"
|
||||
]
|
||||
"exclude": "EVT?[10418]"
|
||||
},
|
||||
"10419": {
|
||||
"id": 10419,
|
||||
"event": "本·拉登复出,发视频称当年是假死。",
|
||||
"event": "我国人口增长从高速发展转变为高质量发展,稳中有进。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10419]",
|
||||
"branch": [
|
||||
"INT<2:20419"
|
||||
]
|
||||
"exclude": "EVT?[10419]"
|
||||
},
|
||||
"10420": {
|
||||
"id": 10420,
|
||||
"event": "希特勒的遗骨被发现。",
|
||||
"event": "国家出台相关规定,电子游戏的打斗场景不能出现任何颜色的液体。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10420]"
|
||||
},
|
||||
@@ -3799,29 +3785,20 @@
|
||||
"id": 10424,
|
||||
"event": "日本发生8.0级地震。",
|
||||
"include": "EVT?[10009,11470,10010]",
|
||||
"exclude": "EVT?[10424,11476,10425]",
|
||||
"branch": [
|
||||
"SPR>9:20425"
|
||||
]
|
||||
"exclude": "EVT?[10424,11476,10425]"
|
||||
},
|
||||
"10425": {
|
||||
"id": 10425,
|
||||
"event": "日本发生9.0级地震。",
|
||||
"include": "EVT?[10009,11470]",
|
||||
"exclude": "EVT?[10425,11476,10424]",
|
||||
"branch": [
|
||||
"SPR>7:20425"
|
||||
]
|
||||
"exclude": "EVT?[10425,11476,10424]"
|
||||
},
|
||||
"10426": {
|
||||
"id": 10426,
|
||||
"event": "中国大陆收复台湾。",
|
||||
"grade": 1,
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10426]",
|
||||
"branch": [
|
||||
"(CHR>8)&(MNY>8):20426"
|
||||
]
|
||||
"exclude": "EVT?[10426]"
|
||||
},
|
||||
"10427": {
|
||||
"id": 10427,
|
||||
@@ -3852,21 +3829,15 @@
|
||||
},
|
||||
"10431": {
|
||||
"id": 10431,
|
||||
"event": "游哈米发布次时代手游大作《神原》。",
|
||||
"event": "有史以来最大股灾出现。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10431]",
|
||||
"branch": [
|
||||
"MNY>6:20432"
|
||||
]
|
||||
"exclude": "EVT?[10431]"
|
||||
},
|
||||
"10432": {
|
||||
"id": 10432,
|
||||
"event": "腾讯收购网易。",
|
||||
"event": "小红书宣布将业务转换为海外旅游、留学与移民。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10432]",
|
||||
"branch": [
|
||||
"SPR>7:20433"
|
||||
]
|
||||
"exclude": "EVT?[10432]"
|
||||
},
|
||||
"10433": {
|
||||
"id": 10433,
|
||||
@@ -3897,16 +3868,16 @@
|
||||
},
|
||||
"10437": {
|
||||
"id": 10437,
|
||||
"event": "全球新冠确诊病例首次清零。",
|
||||
"event": "据调查,80%的女性认为政府的政策重男轻女,而85%的男性则认为政府偏向女性。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10437]",
|
||||
"branch": [
|
||||
"STR>2:20437"
|
||||
"SPR<5:20437"
|
||||
]
|
||||
},
|
||||
"10438": {
|
||||
"id": 10438,
|
||||
"event": "曹县成功申办2066年奥运会。",
|
||||
"event": "一架载满神户和牛的直升机在美国坠毁。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10438]"
|
||||
},
|
||||
@@ -3914,24 +3885,24 @@
|
||||
"id": 10439,
|
||||
"event": "日本武力攻占珍珠港。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10439,11476]"
|
||||
"exclude": "EVT?[10439]"
|
||||
},
|
||||
"10440": {
|
||||
"id": 10440,
|
||||
"event": "朝鲜计划向美国和韩国投下两颗原子弹。",
|
||||
"postEvent": "计划败露。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10440]"
|
||||
"exclude": "EVT?[10440,11434]"
|
||||
},
|
||||
"10441": {
|
||||
"id": 10441,
|
||||
"event": "芜湖机场世界排名升至第一。",
|
||||
"event": "新闻学专业被取消。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10441]"
|
||||
},
|
||||
"10442": {
|
||||
"id": 10442,
|
||||
"event": "蚌埠房价一年内翻倍,国家出手调控。",
|
||||
"event": "由于外国游客数量过多,中国取消了144小时过境免签政策。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10442]"
|
||||
},
|
||||
@@ -3975,10 +3946,7 @@
|
||||
"id": 10448,
|
||||
"event": "国家公布中产阶级标准:家庭年收入100万。",
|
||||
"include": "EVT?[10009,10010]",
|
||||
"exclude": "EVT?[10448,11297]",
|
||||
"branch": [
|
||||
"MNY<4:20448"
|
||||
]
|
||||
"exclude": "EVT?[10448,11297]"
|
||||
},
|
||||
"10449": {
|
||||
"id": 10449,
|
||||
@@ -3996,10 +3964,7 @@
|
||||
"id": 10451,
|
||||
"event": "北京一本录取率首次超过99%。",
|
||||
"include": "EVT?[10009,10010]",
|
||||
"exclude": "EVT?[10451]",
|
||||
"branch": [
|
||||
"(MNY<4)&(TLT![1010]):20452"
|
||||
]
|
||||
"exclude": "EVT?[10451]"
|
||||
},
|
||||
"10452": {
|
||||
"id": 10452,
|
||||
@@ -4012,7 +3977,7 @@
|
||||
},
|
||||
"10453": {
|
||||
"id": 10453,
|
||||
"event": "拜登遭到暗杀。",
|
||||
"event": "特朗普遭到暗杀。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[10453]"
|
||||
},
|
||||
@@ -5825,7 +5790,7 @@
|
||||
},
|
||||
"10706": {
|
||||
"id": 10706,
|
||||
"event": "金正恩在朝鲜称帝,改为帝制。",
|
||||
"event": "为减少招聘时的性别歧视,某地出台新规定:员工休产假时的工资将延迟到产假结束后的相同长度时间内随工资发放。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[10706]"
|
||||
},
|
||||
@@ -6275,7 +6240,7 @@
|
||||
},
|
||||
"10770": {
|
||||
"id": 10770,
|
||||
"event": "【绝密消息】你捡到一张纸条,上面写着“快20个群都加满了,不加了不加了,关注策划的贴吧号神户小德,或者B站神户艾兰德吧,不要私信了求求了“",
|
||||
"event": "【绝密消息】关注策划B站账号神户小德,谢谢",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10770]"
|
||||
@@ -6289,14 +6254,14 @@
|
||||
},
|
||||
"10772": {
|
||||
"id": 10772,
|
||||
"event": "【绝密消息】据说按下特别感谢按钮,再按下打赏按钮,可以在让自己的名字出现在感谢名单上(雾",
|
||||
"event": "【绝密消息】现在BUG很多,希望大家遇到了BUG可以通知我们。策划QQ号:846945492",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10772,10771]"
|
||||
},
|
||||
"10773": {
|
||||
"id": 10773,
|
||||
"event": "【绝密消息】据说,修仙者是真实存在的……",
|
||||
"event": "【绝密消息】策划和程序的打赏平台都炸了……所以不用再打赏了,谢谢大家",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10773,10774]"
|
||||
@@ -6310,7 +6275,7 @@
|
||||
},
|
||||
"10775": {
|
||||
"id": 10775,
|
||||
"event": "【绝密消息】考古学家发现一粒古代的药丸,看上去金灿灿的,不像凡物。",
|
||||
"event": "【绝密消息】2024.7.31,策划时隔两年再次更新了部分游戏文案",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10775]"
|
||||
@@ -6324,21 +6289,21 @@
|
||||
},
|
||||
"10777": {
|
||||
"id": 10777,
|
||||
"event": "【绝密消息】有人说“如果你很有钱,就出生不到农村;很穷,就出生不到城市。一个猜测,不知道对不对。”",
|
||||
"event": "【绝密消息】现实世界其实比游戏更魔幻。",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10777]"
|
||||
},
|
||||
"10778": {
|
||||
"id": 10778,
|
||||
"event": "【绝绝子消息】今日份甜甜碎片已加载完毕 ,不是8⃣️,宝!我今天重开人生了 ,我真的哭死,呢呢呢,这家的人生好重开到跺jiojio~~~这杯小布丁也有被惊艳到⁉️⁉️⁉️无语子,路上还看见一个Java男,大无语事件,哒哒哒,岁月漫长 那就一起拯救地球与乐趣吧 ",
|
||||
"event": "【绝密消息】现在已经没多少活跃玩家了,过阵子人更少的话,文案是不是可以更加放飞自我了(误",
|
||||
"grade": 2,
|
||||
"include": "EVT?[10770,10771,10772,10773,10774,10775,10776,10777,10779,10780]",
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10778]"
|
||||
},
|
||||
"10779": {
|
||||
"id": 10779,
|
||||
"event": "【绝密消息】遗传学家说,最好的天赋只有0.1%的几率出现,其次的天赋是1%,比较好的天赋是10%。",
|
||||
"event": "【绝密消息】不会吧,2024年了居然还有人在人生重开?",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[10779]"
|
||||
@@ -9185,13 +9150,13 @@
|
||||
},
|
||||
"11197": {
|
||||
"id": 11197,
|
||||
"event": "我国首次夺得奥运奖牌榜奖牌总数第一。",
|
||||
"event": "微积分正式进入小学数学教材。",
|
||||
"include": "EVT?[11127,11123,11126,11122,11124]",
|
||||
"exclude": "EVT?[11197]"
|
||||
},
|
||||
"11198": {
|
||||
"id": 11198,
|
||||
"event": "为减轻生育负担,国家出台多项政策。",
|
||||
"event": "专家建议将个税起征点降到0。",
|
||||
"include": "EVT?[11127,11123,11126,11122,11124]",
|
||||
"exclude": "EVT?[11198]"
|
||||
},
|
||||
@@ -9204,7 +9169,7 @@
|
||||
},
|
||||
"11200": {
|
||||
"id": 11200,
|
||||
"event": "我国人均GDP超过韩国。",
|
||||
"event": "印度大量大龄男子找不到对象,犯罪率暴增。",
|
||||
"include": "EVT?[11127,11123,11126,11122,11124]",
|
||||
"exclude": "EVT?[11200]"
|
||||
},
|
||||
@@ -9904,7 +9869,7 @@
|
||||
"id": 11296,
|
||||
"event": "高超的洞察力使你发现:现实世界是虚拟的。",
|
||||
"grade": 3,
|
||||
"include": "(INT>10)&(EVT?[11288])",
|
||||
"include": "((INT>10)&(EVT?[11288]))|(TLT?[2022])",
|
||||
"exclude": "EVT?[11296]",
|
||||
"branch": [
|
||||
"INT>10:21296"
|
||||
@@ -10261,7 +10226,7 @@
|
||||
},
|
||||
"11341": {
|
||||
"id": 11341,
|
||||
"event": "▓》《▓▓▓▓▓▓▓▓▓》》▓",
|
||||
"event": "▓@∞▓▓╱╲▓↖▓▓▓▓▓▓@@▓▓▓▓",
|
||||
"grade": 2,
|
||||
"effect": {
|
||||
"INT": -1,
|
||||
@@ -10764,7 +10729,7 @@
|
||||
},
|
||||
"11414": {
|
||||
"id": 11414,
|
||||
"event": "生物学家突破性完成了猫狗杂交实验。",
|
||||
"event": "今年考研人数突破1千万。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11414]"
|
||||
},
|
||||
@@ -10788,13 +10753,14 @@
|
||||
},
|
||||
"11418": {
|
||||
"id": 11418,
|
||||
"event": "国家统一全国户口。",
|
||||
"event": "一年中有100多名明星因偷税被罚。",
|
||||
"postEvent": "国家开始大力整治,娱乐圈逐渐走向衰亡。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11418]"
|
||||
},
|
||||
"11419": {
|
||||
"id": 11419,
|
||||
"event": "国家进一步推出限制未成年人消费的法案。",
|
||||
"event": "印度突发严重传染病,火葬场爆满。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11419]"
|
||||
},
|
||||
@@ -10825,22 +10791,21 @@
|
||||
},
|
||||
"11424": {
|
||||
"id": 11424,
|
||||
"event": "调查显示,84%的人认为自己的颜值是“中上”。",
|
||||
"event": "某高校多名同学在宿舍高唱国际歌,校领导迅速锁定这些同学所在寝室并上门对他们进行了表彰和鼓励。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11424,11425,11426,11263,11288]"
|
||||
"exclude": "EVT?[11424]"
|
||||
},
|
||||
"11425": {
|
||||
"id": 11425,
|
||||
"event": "调查显示,50%的人认为自己比大多数人多点儿小聪明,另外30%的人认为自己的智商显著优于身边的人。",
|
||||
"event": "研究发现,网络视频平均时长在过去10年间降低了50%。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11424,11425,11426,11263,11288]"
|
||||
"exclude": "EVT?[11425]"
|
||||
},
|
||||
"11426": {
|
||||
"id": 11426,
|
||||
"event": "调查显示,75%的人认为自己的人品好过绝大多数人。",
|
||||
"postEvent": "专家表示可能与报道犯罪的新闻过多有关。",
|
||||
"event": "据报道,美国富豪在瑞士银行存款达数千亿美元,引发美国平民不满。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11424,11425,11426,11263,11288]"
|
||||
"exclude": "EVT?[11426]"
|
||||
},
|
||||
"11427": {
|
||||
"id": 11427,
|
||||
@@ -10864,13 +10829,13 @@
|
||||
},
|
||||
"11430": {
|
||||
"id": 11430,
|
||||
"event": "诺贝尔奖暂停举办。",
|
||||
"event": "调查显示,84%的人认为自己的颜值是“中上”。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11430]"
|
||||
},
|
||||
"11431": {
|
||||
"id": 11431,
|
||||
"event": "欧盟合并成了一个国家。",
|
||||
"event": "中考分流被取消。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11431]"
|
||||
},
|
||||
@@ -10878,11 +10843,11 @@
|
||||
"id": 11432,
|
||||
"event": "印度成为了联合国第六常。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11432,11433]"
|
||||
"exclude": "EVT?[11432]"
|
||||
},
|
||||
"11433": {
|
||||
"id": 11433,
|
||||
"event": "联合国解散了。",
|
||||
"event": "某专家在进行《保护环境、不要吃肉》的演讲后,被人意外拍到进入了一家烤肉店。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11433]"
|
||||
},
|
||||
@@ -10894,7 +10859,7 @@
|
||||
},
|
||||
"11435": {
|
||||
"id": 11435,
|
||||
"event": "教师行业越来越受到重视,教师工资显著提高。",
|
||||
"event": "某地政府推出市民成就系统,结婚被设为传说级成就,引发大批年轻人前去领证。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11435]"
|
||||
},
|
||||
@@ -10918,14 +10883,13 @@
|
||||
},
|
||||
"11439": {
|
||||
"id": 11439,
|
||||
"event": "世界第一个八星级酒店在空间站建成。",
|
||||
"postEvent": "在上面能看到八大行星。",
|
||||
"event": "世界第一个九星级酒店在空间站建成。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11439,11263,11288]"
|
||||
},
|
||||
"11440": {
|
||||
"id": 11440,
|
||||
"event": "广州出现十几平方公里大的巨型蟑螂。",
|
||||
"event": "专家建议,政府应当为专家提供保镖,避免专家被暴民打死。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11440]"
|
||||
},
|
||||
@@ -10949,7 +10913,7 @@
|
||||
},
|
||||
"11444": {
|
||||
"id": 11444,
|
||||
"event": "美国将小学入学年龄推迟到10-12岁。",
|
||||
"event": "专家建议提高房价。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11444]"
|
||||
},
|
||||
@@ -10980,7 +10944,8 @@
|
||||
},
|
||||
"11449": {
|
||||
"id": 11449,
|
||||
"event": "前领导人打破最长寿的人吉尼斯纪录。",
|
||||
"event": "纽约时报公布美国年度十大网络流行语。",
|
||||
"postEvent": "美国网民并不接受,认为官方的流行语太脱离群众。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11449]"
|
||||
},
|
||||
@@ -11161,169 +11126,170 @@
|
||||
},
|
||||
"11471": {
|
||||
"id": 11471,
|
||||
"event": "超级管理员(Admin)已被击败。",
|
||||
"event": "专家建议,如果人生不如意可以尝试重开,为减轻养老金压力做出贡献。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11471]"
|
||||
},
|
||||
"11472": {
|
||||
"id": 11472,
|
||||
"event": "4月10号,一些兄弟们失去了家园,只留下了那段话,暗号不变,江湖再见,滴,滴滴。天王盖地虎……",
|
||||
"event": "某互联网大厂开发的自动编程AI,在上线三天后过劳猝死。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11472]"
|
||||
},
|
||||
"11473": {
|
||||
"id": 11473,
|
||||
"event": "据一位资深游戏制作者透露:某游戏的第六代作品正在紧密制作当中,他们已经建好了文件夹,确定消息可靠。",
|
||||
"event": "秦始皇陵被打开,墓穴里面是空的。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11473]"
|
||||
},
|
||||
"11474": {
|
||||
"id": 11474,
|
||||
"event": "湾区程序员建国,禁止变更需求被列入宪法。",
|
||||
"event": "政府将游戏中的抽卡认定为赌博行为。",
|
||||
"exclude": "EVT?[11474]"
|
||||
},
|
||||
"11475": {
|
||||
"id": 11475,
|
||||
"event": "你去听了一场电子管风琴音乐会,感觉自己的洪荒之力正在觉醒",
|
||||
"effect": {
|
||||
"STR": 1
|
||||
},
|
||||
"event": "一图书馆发生火灾,除博人传之外的其他书籍全部焚毁。",
|
||||
"include": "(MNY>7)&(EVT?[10010])",
|
||||
"exclude": "EVT?[11475]"
|
||||
},
|
||||
"11476": {
|
||||
"id": 11476,
|
||||
"event": "小日子过得不错的国家认祖归宗,归化为恒桑省。",
|
||||
"event": "影视和游戏的画面、音效内容已经完全可以由AI完成制作。",
|
||||
"exclude": "EVT?[11476,11497,11498]"
|
||||
},
|
||||
"11477": {
|
||||
"id": 11477,
|
||||
"event": "某孙姓漫画家沉迷摸鱼,最终放弃漫画。意外中奖一亿后,醒来发现是做梦。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "一名元宇宙主播逃税138亿,打破历史记录。",
|
||||
"include": "EVT?[10432]",
|
||||
"exclude": "EVT?[11477]"
|
||||
},
|
||||
"11478": {
|
||||
"id": 11478,
|
||||
"event": "某网红天天忙于相亲,导致粉丝不满,最终不得不公开宣布自己转投独身主义。",
|
||||
"event": "专家建议,农民可以在省会买房,每天坐高铁回老家种田。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11478]"
|
||||
},
|
||||
"11479": {
|
||||
"id": 11479,
|
||||
"event": "可以自主发明的发明机被发明,奇怪的发明充斥世界,引发了灾难。",
|
||||
"event": "印度人口超越中国。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11479]"
|
||||
},
|
||||
"11480": {
|
||||
"id": 11480,
|
||||
"event": "国足夺得世界杯。",
|
||||
"event": "学术界普遍开始使用AI来写论文,论文产量爆发式增长。",
|
||||
"exclude": "EVT?[11480]"
|
||||
},
|
||||
"11481": {
|
||||
"id": 11481,
|
||||
"event": "虚拟偶像王加然在一次直播中宣布与同事杜向碗成为恋人。",
|
||||
"event": "某高校被曝光可以走后门进入后,开始明码标价售卖名额。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11481]"
|
||||
},
|
||||
"11482": {
|
||||
"id": 11482,
|
||||
"event": "民间一款名为“人生重开模拟器”的游戏正在兴起,引起热议。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "两位著名人工智能偶像的不正当男女关系被曝光,其中一位删库自杀了。",
|
||||
"include": "EVT?[11481]",
|
||||
"exclude": "EVT?[11482]"
|
||||
},
|
||||
"11483": {
|
||||
"id": 11483,
|
||||
"event": "一位打气球摊老板被发现竟是地下军火大亨。",
|
||||
"event": "由于中国企业的大力资助,世界杯将入围名额数量提高到了108。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[11483]"
|
||||
},
|
||||
"11484": {
|
||||
"id": 11484,
|
||||
"event": "人类发现宜居类地行星,被命名为不吃香菜星27号。",
|
||||
"event": "国内互联网企业大幅扩招,业界一片繁荣。",
|
||||
"exclude": "EVT?[11484]"
|
||||
},
|
||||
"11485": {
|
||||
"id": 11485,
|
||||
"event": "有科研组织宣称,人类有能力重塑大自然食物网,创造一个没有食肉动物的新生态平衡。大概需要一万年到一千万年。",
|
||||
"event": "全球人口跌破80亿。",
|
||||
"exclude": "EVT?[11485]"
|
||||
},
|
||||
"11486": {
|
||||
"id": 11486,
|
||||
"event": "股市大涨,P股直冲一万点。",
|
||||
"event": "年度十大流行歌公布,你发现一首也没听过。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11486]"
|
||||
},
|
||||
"11487": {
|
||||
"id": 11487,
|
||||
"event": "人类首次3D打印月球。从此天上有了两个月亮。",
|
||||
"event": "据报道,美国一彩民中彩票800亿美元,后被曝光是因美国彩票滞销而编造出的假新闻。",
|
||||
"exclude": "EVT?[11487]"
|
||||
},
|
||||
"11488": {
|
||||
"id": 11488,
|
||||
"event": "受气候影响,一只野猪撞死了一只帝王蟹。",
|
||||
"event": "美国黄石公园火山爆发。全球平均气温下降1摄氏度。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11488]"
|
||||
},
|
||||
"11489": {
|
||||
"id": 11489,
|
||||
"event": "世界上首个没有婚姻的国家出现了。",
|
||||
"event": "你感觉自己越来越难从娱乐活动中获得乐趣了。",
|
||||
"effect": {
|
||||
"SPR": -1
|
||||
},
|
||||
"exclude": "EVT?[11489]"
|
||||
},
|
||||
"11490": {
|
||||
"id": 11490,
|
||||
"event": "国内独立游戏工作室联盟制作的3A游戏大作斩获TAG年度游戏。",
|
||||
"include": "EVT?[10010]",
|
||||
"event": "你喜欢读道德经和庄子。",
|
||||
"effect": {
|
||||
"INT": 1
|
||||
},
|
||||
"include": "TLT?[1048]",
|
||||
"exclude": "EVT?[11490]"
|
||||
},
|
||||
"11491": {
|
||||
"id": 11491,
|
||||
"event": "国乒在对外星人的比赛中完胜对手,为星系外交做出巨大贡献。",
|
||||
"include": "EVT?[10090,10700]",
|
||||
"event": "日本公布年度汉字:寄。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11491]"
|
||||
},
|
||||
"11492": {
|
||||
"id": 11492,
|
||||
"event": "你被无人驾驶车撞伤了,获得大量赔偿。",
|
||||
"effect": {
|
||||
"MNY": 2
|
||||
},
|
||||
"event": "据调查,我国政府公信力达到历史最高点。",
|
||||
"postEvent": "据约翰霍普金斯大学研究表明,美国政府公信力仍在持续下降。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11492]"
|
||||
},
|
||||
"11493": {
|
||||
"id": 11493,
|
||||
"event": "马斯克宣布特斯拉进军颜色领域,用户授权后可以直接通过车内摄像头进行录制和发布。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "美国某州立法,要求所有心理测试在开始前都需要标注巴纳姆效应警告。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[11493]"
|
||||
},
|
||||
"11494": {
|
||||
"id": 11494,
|
||||
"event": "火星宣称即将登陆朝鲜。",
|
||||
"event": "韩国人口直线下滑,韩国政府宣布即将启动“火种”计划。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11494]"
|
||||
},
|
||||
"11495": {
|
||||
"id": 11495,
|
||||
"event": "首个禁止迫害程序员法案生效。",
|
||||
"include": "EVT?[10010]",
|
||||
"event": "为培养阳刚之气,有关专家建议禁止男性坐着小便。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11495]"
|
||||
},
|
||||
"11496": {
|
||||
"id": 11496,
|
||||
"event": "越南宣布毒品合法化,因为可以给国家创造大量税收,提供大量工作岗位。",
|
||||
"include": "EVT?[10009]",
|
||||
"event": "全年所有影视作品的主角均是少数人群。",
|
||||
"include": "EVT?[10011]",
|
||||
"exclude": "EVT?[11496]"
|
||||
},
|
||||
"11497": {
|
||||
"id": 11497,
|
||||
"event": "外星舰队造访,观看东京奥运会开幕式后连夜逃离地球。",
|
||||
"exclude": "EVT?[11497,11476,11491]"
|
||||
"event": "电商平台设立2.29购物节。至此终于全年366天全部都是购物节。",
|
||||
"exclude": "EVT?[11497]"
|
||||
},
|
||||
"11498": {
|
||||
"id": 11498,
|
||||
"event": "日本大量居民因核废水变异,为防止病毒传播美国向日本抛下两颗原子弹。",
|
||||
"event": "英国将汉语设为必修课程。",
|
||||
"include": "EVT?[10009]",
|
||||
"exclude": "EVT?[11476,11498]"
|
||||
"exclude": "EVT?[11498]"
|
||||
},
|
||||
"11499": {
|
||||
"id": 11499,
|
||||
@@ -11333,25 +11299,72 @@
|
||||
},
|
||||
"11500": {
|
||||
"id": 11500,
|
||||
"event": "路过空地,被打羽毛球的大妈一记旋风扣杀打晕了过去。",
|
||||
"event": "你感觉世界日新月异,各种大事不断发生,但好像又都与你的生活无关。",
|
||||
"effect": {
|
||||
"STR": -1
|
||||
"SPR": -1
|
||||
},
|
||||
"include": "(EVT?[10010])&(STR<4)",
|
||||
"exclude": "EVT?[11500]"
|
||||
"include": "MNY<4",
|
||||
"exclude": "EVT?[11500,11501]"
|
||||
},
|
||||
"11501": {
|
||||
"id": 11501,
|
||||
"event": "国家降低游戏版号限制,太爷爷生前在等的游戏终于发售了。",
|
||||
"include": "(EVT?[10010])&(MNY>4)",
|
||||
"exclude": "EVT?[11501]"
|
||||
"event": "你感觉世界日新月异,对未来无限可能的那份好奇支持着你继续活下去。",
|
||||
"effect": {
|
||||
"SPR": 1
|
||||
},
|
||||
"include": "SPR<4",
|
||||
"exclude": "EVT?[11500,11501]"
|
||||
},
|
||||
"11502": {
|
||||
"id": 11502,
|
||||
"event": "为防范星际入侵和核事故带来的变异生物,几大国牵头成立地球和平联合组织。",
|
||||
"event": "山东省宣布本省男性平均身高达到1米8。\r\n各大社交平台上所在地标注为山东省的男性账户数量激增。",
|
||||
"include": "EVT?[10010]",
|
||||
"exclude": "EVT?[11502]"
|
||||
},
|
||||
"11503": {
|
||||
"id": 11503,
|
||||
"event": "We were no strangers to love\r\nYou know the rules and so do I\r\nA full commitments what I'm thinking of\r\nYou wouldn't get this from any other guy\r\nI just wanna tell you how I'm feeling\r\nGotta make you understand\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nWe've know each other for so long\r\nYour hearts been aching\r\nBut you're too shy to say it\r\nInside we both know what's been going on\r\nWe know the game and were gonna play it\r\nAnd if you ask me how I'm feeling\r\nDon't tell me youre too blind to see\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\n(Give you up. give you up)\r\n(Give you up, give you up)\r\nNever gonna give\r\nNever gonna give (give you up)\r\nNever gonna give\r\nNever gonna give (give you up)\r\nWe've know each other for so long\r\nYour hearts been aching\r\nBut you're too shy to say it\r\nInside we both know what's been going on\r\nWe know the game and were gonna play it\r\nI just wanna tell you how I'm feeling\r\nGotta make you understand\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you\r\nNever gonna give you up\r\nNever gonna let you down\r\nNever gonna run around and desert you\r\nNever gonna make you cry\r\nNever gonna say goodbye\r\nNever gonna tell a lie and hurt you",
|
||||
"effect": {
|
||||
"LIF": -1
|
||||
},
|
||||
"include": "TLT?[2036]"
|
||||
},
|
||||
"11504": {
|
||||
"id": 11504,
|
||||
"event": "因为得过诺贝尔奖,你被复活了。",
|
||||
"grade": 3,
|
||||
"effect": {
|
||||
"LIF": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20000": {
|
||||
"id": 20000,
|
||||
"event": "天赋卡【死者苏生】发动,你被复活了。",
|
||||
"grade": 3,
|
||||
"effect": {
|
||||
"LIF": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20001": {
|
||||
"id": 20001,
|
||||
"event": "因为和恶魔进行过交易,你复活了。",
|
||||
"grade": 3,
|
||||
"effect": {
|
||||
"LIF": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20002": {
|
||||
"id": 20002,
|
||||
"event": "你在睡梦中安然离世。",
|
||||
"include": "EVT?[10000]",
|
||||
"exclude": "TLT?[1048]",
|
||||
"branch": [
|
||||
"EVT?[10000]:10000"
|
||||
]
|
||||
},
|
||||
"20007": {
|
||||
"id": 20007,
|
||||
"event": "你喜欢看画面人设好看的动漫。",
|
||||
@@ -11702,6 +11715,69 @@
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20361": {
|
||||
"id": 20361,
|
||||
"event": "截杀者发现你比他还穷,直呼晦气,放了你一马。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20362": {
|
||||
"id": 20362,
|
||||
"event": "截杀者被你反杀。得到大量宝物,体质提升。",
|
||||
"grade": 1,
|
||||
"effect": {
|
||||
"STR": 50
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20363": {
|
||||
"id": 20363,
|
||||
"event": "你在拍卖行外遭到了截杀。",
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"STR>500:20362",
|
||||
"EVT?[20364]:20361",
|
||||
"TLT?[1048]:10000"
|
||||
]
|
||||
},
|
||||
"20364": {
|
||||
"id": 20364,
|
||||
"event": "你太穷了,什么也没拍到。",
|
||||
"effect": {
|
||||
"SPR": -1
|
||||
},
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"CHR<3:20363"
|
||||
]
|
||||
},
|
||||
"20365": {
|
||||
"id": 20365,
|
||||
"event": "你拍到了一篇功法。体质和智力提升。",
|
||||
"grade": 1,
|
||||
"effect": {
|
||||
"INT": 10,
|
||||
"STR": 10,
|
||||
"MNY": -5
|
||||
},
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"CHR<3:20363"
|
||||
]
|
||||
},
|
||||
"20366": {
|
||||
"id": 20366,
|
||||
"event": "其他人不认识上古奇物,被你低价拍到。\r\n体质和快乐大幅提升。",
|
||||
"grade": 2,
|
||||
"effect": {
|
||||
"STR": 100,
|
||||
"MNY": -1,
|
||||
"SPR": 5
|
||||
},
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"CHR<3:20363"
|
||||
]
|
||||
},
|
||||
"20367": {
|
||||
"id": 20367,
|
||||
"event": "你悟出了一条天道!",
|
||||
@@ -11808,9 +11884,9 @@
|
||||
},
|
||||
"20410": {
|
||||
"id": 20410,
|
||||
"event": "你还喜欢在萌战吧、S1和bangumi茶话会发钓鱼帖。",
|
||||
"event": "你还喜欢在网上高价购买谷子。",
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
"SPR": 1
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
@@ -11840,26 +11916,11 @@
|
||||
},
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20415": {
|
||||
"id": 20415,
|
||||
"event": "你无语,你当年怎么没这么好的事儿。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20417": {
|
||||
"id": 20417,
|
||||
"event": "你寻思这也不是很难啊。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20418": {
|
||||
"id": 20418,
|
||||
"event": "你压根儿不知道塔利班和华盛顿是啥东西。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20419": {
|
||||
"id": 20419,
|
||||
"event": "你压根儿不知道本·拉登是啥东西。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20421": {
|
||||
"id": 20421,
|
||||
"event": "然后被你斥巨资购买了。",
|
||||
@@ -11875,17 +11936,7 @@
|
||||
},
|
||||
"20423": {
|
||||
"id": 20423,
|
||||
"event": "有知情人告诉你不是交通事故,好像是一个在天上飞的人……",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20425": {
|
||||
"id": 20425,
|
||||
"event": "你意识到这场地震并不寻常……",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20426": {
|
||||
"id": 20426,
|
||||
"event": "但据你所知,并没有出动军队和武器,好像只派了少量的“人”?",
|
||||
"event": "有知情人告诉你不是交通事故,好像是一个在天上飞的人造成的……",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20431": {
|
||||
@@ -11893,16 +11944,6 @@
|
||||
"event": "你认为这是虚假消息。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20432": {
|
||||
"id": 20432,
|
||||
"event": "你试着玩了玩并且充了点钱,啥好角色都抽不到。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20433": {
|
||||
"id": 20433,
|
||||
"event": "还好你不玩网易游戏。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20436": {
|
||||
"id": 20436,
|
||||
"event": "笑死,一个都不生。",
|
||||
@@ -11910,17 +11951,9 @@
|
||||
},
|
||||
"20437": {
|
||||
"id": 20437,
|
||||
"event": "你终于可以呼吸到新鲜空气了。",
|
||||
"event": "你感觉社会上的男女对立越来越严重了。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20439": {
|
||||
"id": 20439,
|
||||
"event": "据说他们没有使用飞机、舰船和炮弹。",
|
||||
"NoRandom": 1,
|
||||
"branch": [
|
||||
"(CHR>8)&(STR>8):20439"
|
||||
]
|
||||
},
|
||||
"20443": {
|
||||
"id": 20443,
|
||||
"event": "但你家还是很穷,而且也不算幸福。",
|
||||
@@ -11931,16 +11964,6 @@
|
||||
"event": "但你家还是很穷。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20448": {
|
||||
"id": 20448,
|
||||
"event": "你感觉太离谱了。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20452": {
|
||||
"id": 20452,
|
||||
"event": "可恶的天龙人。",
|
||||
"NoRandom": 1
|
||||
},
|
||||
"20453": {
|
||||
"id": 20453,
|
||||
"event": "你感觉又有乐子了。",
|
||||
@@ -12118,7 +12141,7 @@
|
||||
},
|
||||
"20770": {
|
||||
"id": 20770,
|
||||
"event": "【绝密消息】更新皮肤后,很卡,尤其是ios,我自己都经常打不开这网页……",
|
||||
"event": "【绝密消息】更新后第一次可能加载会比较慢。",
|
||||
"grade": 2,
|
||||
"include": "TLT?[1112]",
|
||||
"exclude": "EVT?[20770]"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"name": "生而为男",
|
||||
"description": "性别一定为男",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1004",
|
||||
"1025",
|
||||
"1024"
|
||||
@@ -27,7 +27,7 @@
|
||||
"name": "生而为女",
|
||||
"description": "性别一定为女",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1024",
|
||||
"1025"
|
||||
@@ -81,7 +81,7 @@
|
||||
"effect": {
|
||||
"MNY": 1
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014"
|
||||
@@ -98,7 +98,7 @@
|
||||
"name": "乡间微风",
|
||||
"description": "你出生在农村",
|
||||
"grade": 0,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1010",
|
||||
"1013",
|
||||
"1014"
|
||||
@@ -109,7 +109,7 @@
|
||||
"name": "城中高楼",
|
||||
"description": "你出生在城市",
|
||||
"grade": 0,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1010",
|
||||
"1012",
|
||||
"1014"
|
||||
@@ -123,7 +123,7 @@
|
||||
"effect": {
|
||||
"MNY": 1
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1010",
|
||||
"1012",
|
||||
"1013"
|
||||
@@ -210,7 +210,7 @@
|
||||
"name": "人中龙凤",
|
||||
"description": "天生双重性别",
|
||||
"grade": 2,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1004",
|
||||
"1025"
|
||||
@@ -221,7 +221,7 @@
|
||||
"name": "阴阳之外",
|
||||
"description": "天生无性别",
|
||||
"grade": 2,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1024",
|
||||
"1004",
|
||||
@@ -233,7 +233,7 @@
|
||||
"name": "彩虹之下",
|
||||
"description": "可能和同性交往",
|
||||
"grade": 0,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -242,7 +242,7 @@
|
||||
"name": "斩情证道",
|
||||
"description": "终生不恋爱结婚",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -351,7 +351,7 @@
|
||||
"name": "丁克",
|
||||
"description": "不生孩子",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -384,7 +384,7 @@
|
||||
"name": "不孕不育",
|
||||
"description": "你生不出孩子",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1113"
|
||||
]
|
||||
},
|
||||
@@ -747,7 +747,7 @@
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1122"
|
||||
]
|
||||
},
|
||||
@@ -760,7 +760,7 @@
|
||||
"effect": {
|
||||
"SPR": 5
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1122"
|
||||
]
|
||||
},
|
||||
@@ -770,7 +770,7 @@
|
||||
"description": "初始可用点-10",
|
||||
"grade": 0,
|
||||
"status": -10,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1122"
|
||||
]
|
||||
},
|
||||
@@ -979,8 +979,8 @@
|
||||
"1105": {
|
||||
"id": "1105",
|
||||
"name": "蓝色胶囊",
|
||||
"description": "你20、30岁时无事发生",
|
||||
"condition": "AGE?[20]",
|
||||
"description": "你20岁和30岁时无事发生",
|
||||
"condition": "AGE?[20,30]",
|
||||
"grade": 1
|
||||
},
|
||||
"1106": {
|
||||
@@ -1030,7 +1030,7 @@
|
||||
"name": "三胎人生",
|
||||
"description": "你尽可能生三胎",
|
||||
"grade": 1,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1003",
|
||||
"1025",
|
||||
"1026",
|
||||
@@ -1094,7 +1094,7 @@
|
||||
"description": "赶着投胎,不要初始属性了",
|
||||
"grade": 1,
|
||||
"status": -20,
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1084",
|
||||
"1085",
|
||||
"1086"
|
||||
@@ -1120,7 +1120,7 @@
|
||||
},
|
||||
"1126": {
|
||||
"id": "1126",
|
||||
"name": "黄帝",
|
||||
"name": "偏见",
|
||||
"description": "种族主义者",
|
||||
"grade": 0
|
||||
},
|
||||
@@ -1247,7 +1247,7 @@
|
||||
1
|
||||
]
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
@@ -1268,7 +1268,7 @@
|
||||
2
|
||||
]
|
||||
},
|
||||
"exclusive": [
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
@@ -1328,8 +1328,490 @@
|
||||
"1114*0.2",
|
||||
"1023*0.2",
|
||||
"1048*0.2",
|
||||
"1033*5"
|
||||
"1033*5",
|
||||
"1147*0.2"
|
||||
]
|
||||
}
|
||||
},
|
||||
"1147": {
|
||||
"id": 1147,
|
||||
"name": "死者苏生",
|
||||
"description": "加一条命",
|
||||
"grade": 3
|
||||
},
|
||||
"1148": {
|
||||
"id": 1148,
|
||||
"name": "恶魔的交易",
|
||||
"description": "所有属性-2,加一条命",
|
||||
"grade": 2,
|
||||
"effect": {
|
||||
"SPR": -2,
|
||||
"MNY": -2,
|
||||
"CHR": -2,
|
||||
"STR": -2,
|
||||
"INT": -2
|
||||
}
|
||||
},
|
||||
"2001": {
|
||||
"id": 2001,
|
||||
"name": "霸王",
|
||||
"description": "体质+4",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"STR": 4
|
||||
}
|
||||
},
|
||||
"2002": {
|
||||
"id": 2002,
|
||||
"name": "国色",
|
||||
"description": "颜值+4",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"CHR": 4
|
||||
}
|
||||
},
|
||||
"2003": {
|
||||
"id": 2003,
|
||||
"name": "兼爱",
|
||||
"description": "你很受",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2004": {
|
||||
"id": 2004,
|
||||
"name": "树人",
|
||||
"description": "你还有别的名字",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2005": {
|
||||
"id": 2005,
|
||||
"name": "圆周率",
|
||||
"description": 3.1415926,
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2006": {
|
||||
"id": 2006,
|
||||
"name": "?",
|
||||
"description": "???",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2007": {
|
||||
"id": 2007,
|
||||
"name": "?",
|
||||
"description": "???",
|
||||
"condition": "STR<0",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 1,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"INT": 1
|
||||
}
|
||||
},
|
||||
"2008": {
|
||||
"id": 2008,
|
||||
"name": "?",
|
||||
"description": "???",
|
||||
"condition": "(SPR>5)&(MNY>5)&(CHR>5)&(STR>5)&(INT>5)",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 1,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"STR": 1,
|
||||
"INT": 1
|
||||
}
|
||||
},
|
||||
"2009": {
|
||||
"id": 2009,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2010": {
|
||||
"id": 2010,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2011": {
|
||||
"id": 2011,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2012": {
|
||||
"id": 2012,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2013": {
|
||||
"id": 2013,
|
||||
"name": "白色转盘",
|
||||
"description": "变成随机白色天赋",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"exclude": [
|
||||
"1012",
|
||||
"1013",
|
||||
"1014",
|
||||
1110,
|
||||
1003,
|
||||
1004,
|
||||
1124,
|
||||
1125
|
||||
]
|
||||
},
|
||||
"2014": {
|
||||
"id": 2014,
|
||||
"name": "连续可导",
|
||||
"description": "你没有其他人格",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2015": {
|
||||
"id": 2015,
|
||||
"name": "绝妙的天赋",
|
||||
"description": "可惜这里写不下",
|
||||
"grade": 3,
|
||||
"exclusive": 1,
|
||||
"status": 1,
|
||||
"effect": {
|
||||
"SPR": 5,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"STR": 2,
|
||||
"INT": 1,
|
||||
"RDM": 1
|
||||
}
|
||||
},
|
||||
"2016": {
|
||||
"id": 2016,
|
||||
"name": "叠加态",
|
||||
"description": "变成橙色天赋或死",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"talent": [
|
||||
1141,
|
||||
1135,
|
||||
1114,
|
||||
1023,
|
||||
1048,
|
||||
"1033*6",
|
||||
1147
|
||||
]
|
||||
}
|
||||
},
|
||||
"2017": {
|
||||
"id": 2017,
|
||||
"name": "木大",
|
||||
"description": "遗言很有名",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2018": {
|
||||
"id": 2018,
|
||||
"name": "高产",
|
||||
"description": "60岁时体质-2",
|
||||
"condition": "AGE?[60]",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"STR": -2
|
||||
}
|
||||
},
|
||||
"2019": {
|
||||
"id": 2019,
|
||||
"name": "杠杆",
|
||||
"description": "理财天赋较高",
|
||||
"condition": "AGE?[20]",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"MNY": 3
|
||||
}
|
||||
},
|
||||
"2020": {
|
||||
"id": 2020,
|
||||
"name": "物理",
|
||||
"description": "30岁时颜值-2",
|
||||
"condition": "AGE?[30]",
|
||||
"grade": 0,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"CHR": -2
|
||||
}
|
||||
},
|
||||
"2021": {
|
||||
"id": 2021,
|
||||
"name": "阳间福袋",
|
||||
"description": "更可能开出好天赋",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"talent": [
|
||||
"1142",
|
||||
"1139",
|
||||
"1140",
|
||||
"1141",
|
||||
"1128",
|
||||
"1131",
|
||||
"1104",
|
||||
"1048",
|
||||
"1134",
|
||||
"1135",
|
||||
"1107",
|
||||
"1080",
|
||||
"1065",
|
||||
"1148"
|
||||
]
|
||||
}
|
||||
},
|
||||
"2022": {
|
||||
"id": 2022,
|
||||
"name": "洞穴寓言",
|
||||
"description": "可能发现世界的真相",
|
||||
"grade": 1,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2023": {
|
||||
"id": 2023,
|
||||
"name": "天赋综合判断",
|
||||
"description": "天赋不能多于5个",
|
||||
"grade": 0,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2024": {
|
||||
"id": 2024,
|
||||
"name": "诺贝尔奖",
|
||||
"description": "得过诺贝尔奖可复活一次",
|
||||
"grade": 2,
|
||||
"exclusive": 1
|
||||
},
|
||||
"2025": {
|
||||
"id": 2025,
|
||||
"name": "二号橙色转盘",
|
||||
"description": "变成随机橙色天赋",
|
||||
"grade": 2,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"grade": [
|
||||
3
|
||||
]
|
||||
}
|
||||
},
|
||||
"2026": {
|
||||
"id": 2026,
|
||||
"name": "流芳",
|
||||
"description": "有悲剧时,所有属性+1",
|
||||
"condition": "TLT?[2028,2029,2030,2031]",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 1,
|
||||
"MNY": 1,
|
||||
"CHR": 1,
|
||||
"STR": 1,
|
||||
"INT": 1
|
||||
}
|
||||
},
|
||||
"2027": {
|
||||
"id": 2027,
|
||||
"name": "百世",
|
||||
"description": "随机抽一部剧",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"replacement": {
|
||||
"talent": [
|
||||
2028,
|
||||
2029,
|
||||
2030,
|
||||
2031,
|
||||
2032,
|
||||
2033,
|
||||
2034,
|
||||
2035
|
||||
]
|
||||
}
|
||||
},
|
||||
"2028": {
|
||||
"id": 2028,
|
||||
"name": "哈姆雷特",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2029": {
|
||||
"id": 2029,
|
||||
"name": "李尔王",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2030": {
|
||||
"id": 2030,
|
||||
"name": "麦克白",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2031": {
|
||||
"id": 2031,
|
||||
"name": "奥赛罗",
|
||||
"description": "快乐-2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": -2
|
||||
}
|
||||
},
|
||||
"2032": {
|
||||
"id": 2032,
|
||||
"name": "仲夏夜之梦",
|
||||
"description": "快乐+114509",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 114509
|
||||
}
|
||||
},
|
||||
"2033": {
|
||||
"id": 2033,
|
||||
"name": "威尼斯商人",
|
||||
"description": "快乐+2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
}
|
||||
},
|
||||
"2034": {
|
||||
"id": 2034,
|
||||
"name": "第十二夜",
|
||||
"description": "快乐+2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
}
|
||||
},
|
||||
"2035": {
|
||||
"id": 2035,
|
||||
"name": "皆大欢喜",
|
||||
"description": "快乐+2",
|
||||
"grade": 1,
|
||||
"exclusive": 1,
|
||||
"effect": {
|
||||
"SPR": 2
|
||||
}
|
||||
},
|
||||
"2036": {
|
||||
"id": 2036,
|
||||
"name": "永不言弃",
|
||||
"description": "你永远不会放弃",
|
||||
"grade": 2,
|
||||
"exclusive": 1
|
||||
}
|
||||
}
|
||||
@@ -54,7 +54,7 @@
|
||||
<!--包含更多webgl滤镜,比如外发光,阴影,模糊以及更多-->
|
||||
<script type="text/javascript" src="libs/laya/laya.filter.js"></script>
|
||||
<!--封装了html动态排版功能-->
|
||||
<!-- <script type="text/javascript" src="libs/laya/laya.html.js"></script> -->
|
||||
<script type="text/javascript" src="libs/laya/laya.html.js"></script>
|
||||
<!--粒子类库-->
|
||||
<script type="text/javascript" src="libs/laya/laya.particle.js"></script>
|
||||
<!--提供tileMap解析支持-->
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><meta name="description" content="やり直すんだ。そして、次はうまくやる。"/><meta name="keywords" content="人生重开模拟器 liferestart life restart remake 人生重来"/><meta name="renderer" content="webkit"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="full-screen" content="true"/><meta name="x5-fullscreen" content="true"/><meta name="360-fullscreen" content="true"/><meta name="theme-color" content="#157878"/><meta name="laya" screenorientation="landscape"/><meta http-equiv="expires" content="0"/><meta http-equiv="Cache-Control" content="no-siteapp"/><title>Life Restart</title><script src="libs/laya/min/laya.core.min.js"></script><script src="libs/laya/min/laya.webgl.min.js"></script><script src="libs/laya/min/laya.filter.min.js"></script><script src="libs/laya/min/laya.particle.min.js"></script><script src="libs/laya/min/laya.ui.min.js"></script><script defer="defer" src="chunk/main.a3242.js"></script></head><body style="background:black"></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><meta name="description" content="やり直すんだ。そして、次はうまくやる。"/><meta name="keywords" content="人生重开模拟器 liferestart life restart remake 人生重来"/><meta name="renderer" content="webkit"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="full-screen" content="true"/><meta name="x5-fullscreen" content="true"/><meta name="360-fullscreen" content="true"/><meta name="theme-color" content="#157878"/><meta name="laya" screenorientation="landscape"/><meta http-equiv="expires" content="0"/><meta http-equiv="Cache-Control" content="no-siteapp"/><title>Life Restart</title><script src="libs/laya/min/laya.core.min.js"></script><script src="libs/laya/min/laya.webgl.min.js"></script><script src="libs/laya/min/laya.filter.min.js"></script><script src="libs/laya/min/laya.particle.min.js"></script><script src="libs/laya/min/laya.ui.min.js"></script><script defer="defer" src="chunk/main.76985.js"></script></head><body style="background:black"></body></html>
|
||||
|
||||
@@ -365,7 +365,7 @@ class App {
|
||||
if(this.#talentSelected.size == 3)
|
||||
return warn('你只能选3个天赋。请使用 \x1B[4m/unselect\x1B[24m 取消选择你不想要的天赋');
|
||||
|
||||
const exclusive = this.#life.exclusive(
|
||||
const exclusive = this.#life.exclude(
|
||||
Array.from(this.#talentSelected).map(({id})=>id),
|
||||
s.id
|
||||
);
|
||||
|
||||
59
src/app.js
59
src/app.js
@@ -1,3 +1,4 @@
|
||||
import './ui/laya.patch.js';
|
||||
import './ui/runtime.js';
|
||||
import './ui/pluginFunction.js'
|
||||
import './ui/promisesLaya.js'
|
||||
@@ -6,21 +7,21 @@ import UIManager from './ui/uiManager.js';
|
||||
import * as utils from './functions/util.js';
|
||||
|
||||
globalThis.UIManager =
|
||||
globalThis.UI =
|
||||
UIManager;
|
||||
globalThis.UI =
|
||||
UIManager;
|
||||
|
||||
globalThis.$_ = utils;
|
||||
|
||||
globalThis.goto = async tag => {
|
||||
let url;
|
||||
switch(tag) {
|
||||
switch (tag) {
|
||||
case 'github': url = 'https://github.com/VickScarlet/lifeRestart'; break;
|
||||
case 'discord': url = 'https://discord.gg/U3qrf49NMQ'; break;
|
||||
case 'sponsor_afd': url = 'https://afdian.net/@LifeRestart'; break;
|
||||
case 'sponsor_afd': url = 'https://afdian.com/a/LifeRestart'; break;
|
||||
case 'sponsor_ddf': url = 'https://dun.mianbaoduo.com/@vickscarlet'; break;
|
||||
}
|
||||
try {
|
||||
if(Laya.Browser.onIOS) {
|
||||
if (Laya.Browser.onIOS) {
|
||||
window.location.href = url;
|
||||
} else {
|
||||
window.open(url, '_blank');
|
||||
@@ -29,8 +30,8 @@ globalThis.goto = async tag => {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
class App{
|
||||
constructor(){
|
||||
class App {
|
||||
constructor() {
|
||||
this.name = 'lifeRestart';
|
||||
this.version = '2.0.0';
|
||||
console.log(`${this.name} ${this.version}`);
|
||||
@@ -49,10 +50,10 @@ class App{
|
||||
//class laya.webgl.text.CharSegment
|
||||
class CharSegment {
|
||||
constructor() {
|
||||
this._sourceStr=null;
|
||||
this._sourceStr = null;
|
||||
}
|
||||
textToSpit(str) {
|
||||
this._sourceStr=str;
|
||||
this._sourceStr = str;
|
||||
var texLen = str.length;
|
||||
var idx = -1;
|
||||
this._words = [];
|
||||
@@ -66,18 +67,18 @@ class App{
|
||||
}
|
||||
}
|
||||
}
|
||||
getChar(i){
|
||||
getChar(i) {
|
||||
return this._words;
|
||||
}
|
||||
getCharCode(i){
|
||||
getCharCode(i) {
|
||||
return this._words[i].codePointAt(0);
|
||||
}
|
||||
length(){
|
||||
length() {
|
||||
return this._words.length;
|
||||
}
|
||||
}
|
||||
Laya.class(CharSegment,'laya.webgl.text.CharSegment');
|
||||
Laya.imps(CharSegment.prototype,{"laya.webgl.text.ICharSegment":true})
|
||||
Laya.class(CharSegment, 'laya.webgl.text.CharSegment');
|
||||
Laya.imps(CharSegment.prototype, { "laya.webgl.text.ICharSegment": true })
|
||||
|
||||
|
||||
// Laya.init(1125, 2436, Laya.WebGL);
|
||||
@@ -102,15 +103,15 @@ class App{
|
||||
const screenWidth = window.innerWidth;
|
||||
const screenHeight = window.innerHeight;
|
||||
const screenRatio = screenWidth / screenHeight;
|
||||
if(screenRatio > designRatio) {
|
||||
if (screenRatio > designRatio) {
|
||||
return [
|
||||
Math.min(screenWidth*designHeight/screenHeight, maxWidth),
|
||||
Math.min(screenWidth * designHeight / screenHeight, maxWidth),
|
||||
designHeight
|
||||
]
|
||||
} else {
|
||||
return [
|
||||
designWidth,
|
||||
Math.min(screenHeight*designWidth/screenWidth, maxHeight)
|
||||
Math.min(screenHeight * designWidth / screenWidth, maxHeight)
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -120,7 +121,7 @@ class App{
|
||||
}
|
||||
|
||||
async #setLanguage(language) {
|
||||
switch(language) {
|
||||
switch (language) {
|
||||
case App.languages['en-us']:
|
||||
case App.languages['zh-cn']:
|
||||
this.#language = language;
|
||||
@@ -130,23 +131,23 @@ class App{
|
||||
break;
|
||||
}
|
||||
globalThis.$lang =
|
||||
Laya.Text.langPacks =
|
||||
Laya.Text.langPacks =
|
||||
(await import(`./i18n/${this.#language}.js`)).default;
|
||||
}
|
||||
|
||||
resigterEvent() {
|
||||
$$on('achievement', achievement => {
|
||||
$ui.popup(UI.popups.ACHIEVEMENT, {achievement});
|
||||
$ui.popup(UI.popups.ACHIEVEMENT, { achievement });
|
||||
})
|
||||
$$on('message', ([message, ...args]) => {
|
||||
if(Array.isArray(message)) {
|
||||
message = message.map(([m, ...a]) => $_.format($lang[m], ...a)) .join('\n');
|
||||
if (Array.isArray(message)) {
|
||||
message = message.map(([m, ...a]) => $_.format($lang[m], ...a)).join('\n');
|
||||
} else {
|
||||
message = $_.format(
|
||||
$lang[message], ...args
|
||||
);
|
||||
}
|
||||
$ui.popup(UI.popups.MESSAGE, {message});
|
||||
$ui.popup(UI.popups.MESSAGE, { message });
|
||||
})
|
||||
}
|
||||
|
||||
@@ -158,12 +159,8 @@ class App{
|
||||
this.#initLaya();
|
||||
globalThis.$ui = UIManager.getInstance();
|
||||
|
||||
if(theme=='default') {
|
||||
if(!localStorage.getItem('__')) {
|
||||
localStorage.setItem('__', 1);
|
||||
localStorage.setItem('theme', 'cyber');
|
||||
}
|
||||
theme = localStorage.getItem('theme');
|
||||
if (theme == 'default') {
|
||||
theme = localStorage.getItem('theme') || 'default';
|
||||
}
|
||||
|
||||
$ui.theme = theme;
|
||||
@@ -171,8 +168,8 @@ class App{
|
||||
await $ui.setLoading(UI.pages.LOADING);
|
||||
await $ui.switchView(UI.pages.LOADING);
|
||||
await core.initial(
|
||||
dataSet=>Laya.promises.loader.load(`data/${this.#language}/${dataSet}.json`, null, Laya.Loader.JSON),
|
||||
dataSet=>Laya.promises.loader.load(`data/${dataSet}.json`, null, Laya.Loader.JSON),
|
||||
dataSet => Laya.promises.loader.load(`data/${this.#language}/${dataSet}.json`, null, Laya.Loader.JSON),
|
||||
dataSet => Laya.promises.loader.load(`data/${dataSet}.json`, null, Laya.Loader.JSON),
|
||||
);
|
||||
await $ui.switchView(UI.pages.MAIN);
|
||||
|
||||
|
||||
0
src/functions/unique.js
Normal file
0
src/functions/unique.js
Normal file
@@ -1,6 +1,7 @@
|
||||
function clone(value) {
|
||||
switch(typeof value) {
|
||||
case 'object':
|
||||
if(value === null) return null;
|
||||
if(Array.isArray(value)) return value.map(v=>clone(v));
|
||||
const newObj = {};
|
||||
for(const key in value) newObj[key] = clone(value[key]);
|
||||
|
||||
@@ -27,7 +27,7 @@ export default ({
|
||||
|
||||
UI_Title_Remake: 'Remake Simulate',
|
||||
UI_Title_Subsequent: 'The rubbish life doesn\'t want to stay for a second',
|
||||
UI_Remake: 'Remake Now',
|
||||
UI_Remake: '↻Remake Now',
|
||||
UI_Thanks: 'Thx',
|
||||
UI_Achievement: 'Achv',
|
||||
UI_Cyber_Theme_Art_Design: 'UI Design by 晰晰',
|
||||
@@ -125,17 +125,31 @@ export default ({
|
||||
UI_Write: 'Paste',
|
||||
|
||||
UI_CopySuccess: 'Copy to clipboard success',
|
||||
UI_CopyFaild: 'Copy to clipboard faild',
|
||||
UI_CopyFailed: 'Copy to clipboard Failed',
|
||||
|
||||
UI_PasteSuccessDecodeSuccess: 'Load Success!',
|
||||
UI_PasteSuccessDecodeFaild: 'Paste success, but load faild!',
|
||||
UI_PasteFaildDecodeSuccess: 'Paste faild, use input load success!',
|
||||
UI_PasteFaildDecodeFaild: 'Paste faild, use input load faild!',
|
||||
UI_PasteSuccessDecodeFailed: 'Paste success, but load Failed!',
|
||||
UI_PasteFailedDecodeSuccess: 'Paste Failed, use input load success!',
|
||||
UI_PasteFailedDecodeFailed: 'Paste Failed, use input load Failed!',
|
||||
|
||||
UI_LoadSuccess: 'Load Success!',
|
||||
UI_LoadFaild: 'Load Faild!',
|
||||
UI_LoadFailed: 'Load Failed!',
|
||||
|
||||
UI_Title_Celebrity: 'Past life was...',
|
||||
UI_CustomMode: 'Custom',
|
||||
UI_CustomModeDescription: '10 Talent\nCustom property',
|
||||
UI_CelebrityMode: 'Celebrity',
|
||||
UI_CelebrityModeDescription: 'Past life is celebrity\nRebirth to modern',
|
||||
UI_AllNot: '↻All Not',
|
||||
UI_UniqueWaTaShi: 'Unique of mine',
|
||||
UI_UniqueWaTaShiContent: '\nUnique character card different from other 60 million player\nAll property, All talent, All random\nAll has only one chance',
|
||||
UI_GenerateNow: 'Generate Now',
|
||||
|
||||
|
||||
M_NoRank: 'There is no rank',
|
||||
M_PleaseSelectOne: 'Please Select One',
|
||||
M_UnGenerate: 'Unique Character no generate',
|
||||
M_DisableExtendTalent: 'Celebrity mode can\'t extends talent',
|
||||
|
||||
F_RemakeTimes: 'Remake {0} Times',
|
||||
F_AchievementCount: 'Achievement {0}',
|
||||
@@ -145,4 +159,5 @@ export default ({
|
||||
F_TalentSelectNotComplect: 'Please select {0} talent',
|
||||
F_PropertyPointLeft: 'You have left {0} property point',
|
||||
F_TalentReplace: 'Talent replace [{source.name}] -> [{target.name}]',
|
||||
F_PropertyStr: 'CHR{CHR} INT{INT} STR{STR} MNY{MNY}'
|
||||
});
|
||||
@@ -15,6 +15,8 @@ export default ({
|
||||
UI_Loading: '加载中...',
|
||||
UI_Error: '错误',
|
||||
|
||||
UI_BackupBtn: '上面没有效果就试试这个吧',
|
||||
|
||||
UI_Colon: ':',
|
||||
UI_Times: '次',
|
||||
UI_Count: '个',
|
||||
@@ -27,7 +29,7 @@ export default ({
|
||||
|
||||
UI_Title_Remake: '人生重开模拟器',
|
||||
UI_Title_Subsequent: '这垃圾人生一秒也不想待了',
|
||||
UI_Remake: '立即重开',
|
||||
UI_Remake: '↻立即重开',
|
||||
UI_Thanks: '感谢',
|
||||
UI_Achievement: '成就',
|
||||
UI_Cyber_Theme_Art_Design: 'UI 设计 by 晰晰',
|
||||
@@ -125,17 +127,30 @@ export default ({
|
||||
UI_Write: '粘贴',
|
||||
|
||||
UI_LoadSuccess: '读档成功!',
|
||||
UI_LoadFaild: '读档失败!',
|
||||
UI_LoadFailed: '读档失败!',
|
||||
|
||||
UI_CopySuccess: '成功复制存档到剪贴板',
|
||||
UI_CopyFaild: '复制存档到剪贴板失败,请手动复制存档内容',
|
||||
UI_CopyFailed: '复制存档到剪贴板失败,请手动复制存档内容',
|
||||
|
||||
UI_PasteSuccessDecodeSuccess: '读档成功!',
|
||||
UI_PasteSuccessDecodeFaild: '粘贴剪贴板存档内容成功,但剪贴板内容读档失败',
|
||||
UI_PasteFaildDecodeSuccess: '粘贴剪贴板存档内容失败,使用输入的内容读档成功',
|
||||
UI_PasteFaildDecodeFaild: '粘贴剪贴板存档内容失败,使用输入的内容读档失败',
|
||||
UI_PasteSuccessDecodeFailed: '粘贴剪贴板存档内容成功,但剪贴板内容读档失败',
|
||||
UI_PasteFailedDecodeSuccess: '粘贴剪贴板存档内容失败,使用输入的内容读档成功',
|
||||
UI_PasteFailedDecodeFailed: '粘贴剪贴板存档内容失败,使用输入的内容读档失败',
|
||||
|
||||
UI_Title_Celebrity: '你的前世是...',
|
||||
UI_CustomMode: '经典模式',
|
||||
UI_CustomModeDescription: '10连抽天赋\n自由分配属性',
|
||||
UI_CelebrityMode: '名人模式',
|
||||
UI_CelebrityModeDescription: '前世是古代名人\n重开到了现代',
|
||||
UI_AllNot: '↻都不是',
|
||||
UI_UniqueWaTaShi: '独一无二的我',
|
||||
UI_UniqueWaTaShiContent: '\n6000万玩家中独一无二的角色卡\n所有属性 所有天赋 随机生成\n 每人只能生成一次',
|
||||
UI_GenerateNow: '立即生成',
|
||||
|
||||
M_NoRank: '别卷了,没有排行榜',
|
||||
M_PleaseSelectOne: '请选择一个名人',
|
||||
M_UnGenerate: '独一无二的我还没有生成',
|
||||
M_DisableExtendTalent: '名人模式不能继承天赋',
|
||||
|
||||
F_RemakeTimes: '已重开{0}次',
|
||||
F_AchievementCount: '成就达成{0}个',
|
||||
@@ -145,4 +160,5 @@ export default ({
|
||||
F_TalentSelectNotComplect: '要选满{0}个天赋',
|
||||
F_PropertyPointLeft: '你还有 {0} 属性点没有分配完',
|
||||
F_TalentReplace: '天赋替换【{source.name}】->【{target.name}】',
|
||||
F_PropertyStr: '颜值{CHR} 智力{INT} 体质{STR} 家境{MNY}'
|
||||
});
|
||||
24
src/index.js
24
src/index.js
@@ -196,5 +196,29 @@ core.config({
|
||||
],
|
||||
},
|
||||
},
|
||||
characterConfig: { // config for character
|
||||
characterPullCount: 3,
|
||||
rateableKnife: 10,
|
||||
propertyWeight: [
|
||||
[ 0, 1],
|
||||
[ 1, 2],
|
||||
[ 2, 3],
|
||||
[ 3, 4],
|
||||
[ 4, 5],
|
||||
[ 5, 6],
|
||||
[ 6, 5],
|
||||
[ 7, 4],
|
||||
[ 8, 3],
|
||||
[ 9, 2],
|
||||
[10, 1],
|
||||
],
|
||||
talentWeight: [
|
||||
[ 1, 1],
|
||||
[ 2, 2],
|
||||
[ 3, 3],
|
||||
[ 4, 2],
|
||||
[ 5, 1],
|
||||
],
|
||||
},
|
||||
});
|
||||
game.start(query);
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { clone } from '../functions/util.js';
|
||||
import { checkCondition } from '../functions/condition.js';
|
||||
|
||||
class Achievement {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
// 时机
|
||||
Opportunity = {
|
||||
@@ -12,6 +11,7 @@ class Achievement {
|
||||
END: "END", // 游戏完成,点击重开 重开次数在这之后才会+1
|
||||
};
|
||||
|
||||
#system;
|
||||
#achievements;
|
||||
|
||||
initial({achievements}) {
|
||||
@@ -23,7 +23,11 @@ class Achievement {
|
||||
return Object.keys(this.#achievements).length;
|
||||
}
|
||||
|
||||
list(property) {
|
||||
get #prop() {
|
||||
return this.#system.request(this.#system.Module.PROPERTY);
|
||||
}
|
||||
|
||||
list() {
|
||||
return Object
|
||||
.values(this.#achievements)
|
||||
.map(({
|
||||
@@ -32,34 +36,34 @@ class Achievement {
|
||||
})=>({
|
||||
id, name, opportunity,
|
||||
description, hide, grade,
|
||||
isAchieved: this.isAchieved(id, property),
|
||||
isAchieved: this.isAchieved(id, this.#prop),
|
||||
}));
|
||||
}
|
||||
|
||||
get(achievementId) {
|
||||
const achievement = this.#achievements[achievementId];
|
||||
if(!achievement) throw new Error(`[ERROR] No Achievement[${achievementId}]`);
|
||||
return clone(achievement);
|
||||
return this.#system.clone(achievement);
|
||||
}
|
||||
|
||||
check(achievementId, property) {
|
||||
check(achievementId) {
|
||||
const { condition } = this.get(achievementId);
|
||||
return checkCondition(property, condition);
|
||||
return this.#system.check(condition);
|
||||
}
|
||||
|
||||
isAchieved(achievementId, property) {
|
||||
for(const [achieved] of (property.get(property.TYPES.ACHV)||[]))
|
||||
isAchieved(achievementId) {
|
||||
for(const [achieved] of (this.#prop.get(this.#prop.TYPES.ACHV)||[]))
|
||||
if(achieved == achievementId) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
achieve(opportunity, property) {
|
||||
this.list(property)
|
||||
achieve(opportunity) {
|
||||
this.list()
|
||||
.filter(({isAchieved})=>!isAchieved)
|
||||
.filter(({opportunity: o})=>o==opportunity)
|
||||
.filter(({id})=>this.check(id, property))
|
||||
.filter(({id})=>this.check(id, this.#prop))
|
||||
.forEach(({id})=>{
|
||||
property.achieve(property.TYPES.ACHV, id)
|
||||
this.#prop.achieve(this.#prop.TYPES.ACHV, id)
|
||||
$$event('achievement', this.get(id))
|
||||
});
|
||||
}
|
||||
|
||||
134
src/modules/character.js
Normal file
134
src/modules/character.js
Normal file
@@ -0,0 +1,134 @@
|
||||
class Character {
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
#system;
|
||||
#characters;
|
||||
#characterPullCount;
|
||||
#rateableKnife;
|
||||
#rate;
|
||||
#pipe = [];
|
||||
#uniqueWaTaShi;
|
||||
#propertyWeight;
|
||||
#talentWeight
|
||||
|
||||
initial({characters}) {
|
||||
this.#characters = characters;
|
||||
const uniqueWaTaShi = localStorage.getItem('uniqueWaTaShi');
|
||||
if(uniqueWaTaShi != null || uniqueWaTaShi != 'undefined')
|
||||
this.#uniqueWaTaShi = JSON.parse(uniqueWaTaShi);
|
||||
return this.count;
|
||||
}
|
||||
|
||||
get count() {
|
||||
return Object.keys(this.#characters).length;
|
||||
}
|
||||
|
||||
config({
|
||||
characterPullCount = 3,
|
||||
rateableKnife = 10,
|
||||
propertyWeight,
|
||||
talentWeight,
|
||||
} = {}) {
|
||||
this.#characterPullCount = characterPullCount;
|
||||
this.#rateableKnife = rateableKnife;
|
||||
this.#propertyWeight = propertyWeight;
|
||||
this.#talentWeight = talentWeight;
|
||||
}
|
||||
|
||||
get #unique() {
|
||||
if(this.#uniqueWaTaShi) {
|
||||
return this.#system.clone(this.#uniqueWaTaShi);
|
||||
}
|
||||
|
||||
const now = Date.now();
|
||||
this.#pipe.push(now);
|
||||
if(this.#pipe.length < 10) return null;
|
||||
const time = this.#pipe.shift();
|
||||
if(now - time > 10000) return null;
|
||||
return {unique: true, generate: false};
|
||||
}
|
||||
|
||||
set #unique(data) {
|
||||
this.#uniqueWaTaShi = this.#system.clone(data);
|
||||
this.#uniqueWaTaShi.unique = true;
|
||||
this.#uniqueWaTaShi.generate = true;
|
||||
localStorage.setItem(
|
||||
'uniqueWaTaShi',
|
||||
JSON.stringify(this.#uniqueWaTaShi)
|
||||
);
|
||||
}
|
||||
|
||||
get #weightRandom() {
|
||||
return this.#system.function(this.#system.Function.UTIL).weightRandom;
|
||||
}
|
||||
|
||||
generateUnique() {
|
||||
if(this.#uniqueWaTaShi) return this.#unique;
|
||||
const weightRandom = this.#weightRandom;
|
||||
const {CHR, INT, STR, MNY} = this.#system.PropertyTypes;
|
||||
|
||||
this.#unique = {
|
||||
property: {
|
||||
[CHR]: weightRandom(this.#propertyWeight),
|
||||
[INT]: weightRandom(this.#propertyWeight),
|
||||
[STR]: weightRandom(this.#propertyWeight),
|
||||
[MNY]: weightRandom(this.#propertyWeight),
|
||||
},
|
||||
talent: this.#system
|
||||
.request(this.#system.Module.TALENT)
|
||||
.random(weightRandom(this.#talentWeight)),
|
||||
}
|
||||
|
||||
return this.#unique;
|
||||
}
|
||||
|
||||
random() {
|
||||
return {
|
||||
unique: this.#unique,
|
||||
normal: this.#rateable(),
|
||||
}
|
||||
}
|
||||
|
||||
#rateable() {
|
||||
if(!this.#rate) {
|
||||
this.#rate = {};
|
||||
for(const id in this.#characters) {
|
||||
this.#rate[id] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
const r = [];
|
||||
const weightRandom = this.#weightRandom;
|
||||
new Array(this.#characterPullCount)
|
||||
.fill(0)
|
||||
.forEach(()=>{
|
||||
r.push(
|
||||
weightRandom(Object
|
||||
.keys(this.#rate)
|
||||
.filter(id=>!r.includes(id))
|
||||
.map(id=>([id,this.#rate[id]]))
|
||||
)
|
||||
)
|
||||
});
|
||||
|
||||
let min = Infinity;
|
||||
for(const id in this.#rate) {
|
||||
if(r.includes(id)) {
|
||||
min = Math.min(min, this.#rate[id]);
|
||||
continue;
|
||||
}
|
||||
min = Math.min(min, ++ this.#rate[id]);
|
||||
}
|
||||
if(min > this.#rateableKnife) {
|
||||
for(const id in this.#rate) {
|
||||
this.#rate[id] -= this.#rateableKnife;
|
||||
}
|
||||
}
|
||||
return r.map(id=>this.#system.clone(this.#characters[id]));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default Character;
|
||||
@@ -1,9 +1,9 @@
|
||||
import { clone } from '../functions/util.js';
|
||||
import { checkCondition } from '../functions/condition.js';
|
||||
|
||||
class Event {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
#system;
|
||||
#events;
|
||||
|
||||
initial({events}) {
|
||||
@@ -24,18 +24,18 @@ class Event {
|
||||
return Object.keys(this.#events).length;
|
||||
}
|
||||
|
||||
check(eventId, property) {
|
||||
check(eventId) {
|
||||
const { include, exclude, NoRandom } = this.get(eventId);
|
||||
if(NoRandom) return false;
|
||||
if(exclude && checkCondition(property, exclude)) return false;
|
||||
if(include) return checkCondition(property, include);
|
||||
if(exclude && this.#system.check(exclude)) return false;
|
||||
if(include) return this.#system.check(include);
|
||||
return true;
|
||||
}
|
||||
|
||||
get(eventId) {
|
||||
const event = this.#events[eventId];
|
||||
if(!event) throw new Error(`[ERROR] No Event[${eventId}]`);
|
||||
return clone(event);
|
||||
return this.#system.clone(event);
|
||||
}
|
||||
|
||||
information(eventId) {
|
||||
@@ -43,11 +43,11 @@ class Event {
|
||||
return { description };
|
||||
}
|
||||
|
||||
do(eventId, property) {
|
||||
do(eventId) {
|
||||
const { effect, branch, event: description, postEvent, grade } = this.get(eventId);
|
||||
if(branch)
|
||||
for(const [cond, next] of branch)
|
||||
if(checkCondition(property, cond))
|
||||
if(this.#system.check(cond))
|
||||
return { effect, next, description, grade };
|
||||
return { effect, postEvent, description, grade };
|
||||
}
|
||||
|
||||
@@ -1,21 +1,39 @@
|
||||
import { clone, weightRandom, getListValuesMap, getConvertedMap } from '../functions/util.js'
|
||||
import * as util from '../functions/util.js';
|
||||
import * as fCondition from '../functions/condition.js';
|
||||
|
||||
import Property from './property.js';
|
||||
import Event from './event.js';
|
||||
import Talent from './talent.js';
|
||||
import Achievement from './achievement.js';
|
||||
import Character from './character.js';
|
||||
|
||||
class Life {
|
||||
constructor() {
|
||||
this.#property = new Property();
|
||||
this.#event = new Event();
|
||||
this.#talent = new Talent();
|
||||
this.#achievement = new Achievement();
|
||||
this.#property = new Property(this);
|
||||
this.#event = new Event(this);
|
||||
this.#talent = new Talent(this);
|
||||
this.#achievement = new Achievement(this);
|
||||
this.#character = new Character(this);
|
||||
}
|
||||
|
||||
Module = {
|
||||
PROPERTY: 'PROPERTY',
|
||||
TALENT: 'TALENT',
|
||||
EVENT: 'EVENT',
|
||||
ACHIEVEMENT: 'ACHIEVEMENT',
|
||||
CHARACTER: 'CHARACTER',
|
||||
}
|
||||
|
||||
Function = {
|
||||
CONDITION: 'CONDITION',
|
||||
UTIL: 'UTIL',
|
||||
}
|
||||
|
||||
#property;
|
||||
#event;
|
||||
#talent;
|
||||
#achievement;
|
||||
#character;
|
||||
#triggerTalents;
|
||||
#defaultPropertyPoints;
|
||||
#talentSelectLimit;
|
||||
@@ -25,11 +43,12 @@ class Life {
|
||||
#initialData;
|
||||
|
||||
async initial(i18nLoad, commonLoad) {
|
||||
const [age, talents, events, achievements, specialThanks] = await Promise.all([
|
||||
const [age, talents, events, achievements, characters, specialThanks] = await Promise.all([
|
||||
i18nLoad('age'),
|
||||
i18nLoad('talents'),
|
||||
i18nLoad('events'),
|
||||
i18nLoad('achievement'),
|
||||
i18nLoad('character'),
|
||||
commonLoad('specialthanks'),
|
||||
]);
|
||||
this.#specialThanks = specialThanks;
|
||||
@@ -39,8 +58,8 @@ class Life {
|
||||
[this.PropertyTypes.TEVT]: this.#event.initial({events}),
|
||||
[this.PropertyTypes.TTLT]: this.#talent.initial({talents}),
|
||||
};
|
||||
|
||||
this.#property.initial({age, total});
|
||||
this.#character.initial({characters});
|
||||
}
|
||||
|
||||
config({
|
||||
@@ -50,6 +69,7 @@ class Life {
|
||||
defaultPropertys = {}, // default propertys
|
||||
talentConfig, // config for talent
|
||||
propertyConfig, // config for property
|
||||
characterConfig, // config for character
|
||||
} = {}) {
|
||||
this.#defaultPropertyPoints = defaultPropertyPoints;
|
||||
this.#talentSelectLimit = talentSelectLimit;
|
||||
@@ -57,26 +77,50 @@ class Life {
|
||||
this.#defaultPropertys = defaultPropertys;
|
||||
this.#talent.config(talentConfig);
|
||||
this.#property.config(propertyConfig);
|
||||
this.#character.config(characterConfig);
|
||||
}
|
||||
|
||||
request(module) {
|
||||
switch (module) {
|
||||
case this.Module.ACHIEVEMENT: return this.#achievement;
|
||||
case this.Module.CHARACTER: return this.#character;
|
||||
case this.Module.EVENT: return this.#event;
|
||||
case this.Module.PROPERTY: return this.#property;
|
||||
case this.Module.TALENT: return this.#talent;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
function(type) {
|
||||
switch (type) {
|
||||
case this.Function.CONDITION: return fCondition;
|
||||
case this.Function.UTIL: return util;
|
||||
}
|
||||
}
|
||||
|
||||
check(condition) {
|
||||
return fCondition.checkCondition(this.#property,condition);
|
||||
}
|
||||
|
||||
clone(...args) {
|
||||
return util.clone(...args);
|
||||
}
|
||||
|
||||
remake(talents) {
|
||||
this.#initialData = clone(this.#defaultPropertys);
|
||||
this.#initialData.TLT = clone(talents);
|
||||
this.#initialData = util.clone(this.#defaultPropertys);
|
||||
this.#initialData.TLT = util.clone(talents);
|
||||
this.#triggerTalents = {};
|
||||
return this.talentReplace(this.#initialData.TLT);
|
||||
}
|
||||
|
||||
start(allocation) {
|
||||
for(const key in allocation) {
|
||||
this.#initialData[key] = clone(allocation[key]);
|
||||
this.#initialData[key] = util.clone(allocation[key]);
|
||||
}
|
||||
this.#property.restart(this.#initialData);
|
||||
this.doTalent()
|
||||
this.#property.restartLastStep();
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.START,
|
||||
this.#property
|
||||
);
|
||||
this.#achievement.achieve(this.AchievementOpportunity.START);
|
||||
}
|
||||
|
||||
getPropertyPoints() {
|
||||
@@ -96,10 +140,7 @@ class Life {
|
||||
const isEnd = this.#property.isEnd();
|
||||
|
||||
const content = [talentContent, eventContent].flat();
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.TRAJECTORY,
|
||||
this.#property
|
||||
)
|
||||
this.#achievement.achieve(this.AchievementOpportunity.TRAJECTORY);
|
||||
return { age, content, isEnd };
|
||||
}
|
||||
|
||||
@@ -125,7 +166,7 @@ class Life {
|
||||
|
||||
const contents = [];
|
||||
for(const talentId of talents) {
|
||||
const result = this.#talent.do(talentId, this.#property);
|
||||
const result = this.#talent.do(talentId);
|
||||
if(!result) continue;
|
||||
this.#triggerTalents[talentId] = this.getTalentCurrentTriggerCount(talentId) + 1;
|
||||
const { effect, name, description, grade } = result;
|
||||
@@ -142,7 +183,7 @@ class Life {
|
||||
}
|
||||
|
||||
doEvent(eventId) {
|
||||
const { effect, next, description, postEvent, grade } = this.#event.do(eventId, this.#property);
|
||||
const { effect, next, description, postEvent, grade } = this.#event.do(eventId);
|
||||
this.#property.change(this.PropertyTypes.EVT, eventId);
|
||||
this.#property.effect(effect);
|
||||
const content = {
|
||||
@@ -156,7 +197,7 @@ class Life {
|
||||
}
|
||||
|
||||
random(events) {
|
||||
return weightRandom(
|
||||
return util.weightRandom(
|
||||
events.filter(
|
||||
([eventId])=>this.#event.check(eventId, this.#property)
|
||||
)
|
||||
@@ -173,20 +214,35 @@ class Life {
|
||||
);
|
||||
}
|
||||
|
||||
characterRandom() {
|
||||
const characters = this.#character.random();
|
||||
const replaceTalent = v=>v.talent=v.talent.map(
|
||||
id=>this.#talent.get(id)
|
||||
);
|
||||
characters.normal.forEach(replaceTalent);
|
||||
if(characters.unique && characters.unique.talent)
|
||||
replaceTalent(characters.unique);
|
||||
return characters;
|
||||
}
|
||||
|
||||
talentExtend(talentId) {
|
||||
this.#property.set(this.PropertyTypes.EXT, talentId);
|
||||
}
|
||||
|
||||
exclusive(talents, exclusive) {
|
||||
return this.#talent.exclusive(talents, exclusive);
|
||||
exclude(talents, exclusive) {
|
||||
return this.#talent.exclude(talents, exclusive);
|
||||
}
|
||||
|
||||
generateUnique() {
|
||||
this.#character.generateUnique();
|
||||
}
|
||||
|
||||
#getJudges(...types) {
|
||||
return getListValuesMap(types.flat(), key => this.#property.judge(key));
|
||||
return util.getListValuesMap(types.flat(), key => this.#property.judge(key));
|
||||
}
|
||||
|
||||
#getPropertys(...types) {
|
||||
return getListValuesMap(types.flat(), key => this.#property.get(key));
|
||||
return util.getListValuesMap(types.flat(), key => this.#property.get(key));
|
||||
}
|
||||
|
||||
get lastExtendTalent() {
|
||||
@@ -194,10 +250,7 @@ class Life {
|
||||
}
|
||||
|
||||
get summary() {
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.SUMMARY,
|
||||
this.#property
|
||||
)
|
||||
this.#achievement.achieve(this.AchievementOpportunity.SUMMARY);
|
||||
|
||||
const pt = this.PropertyTypes;
|
||||
|
||||
@@ -243,16 +296,13 @@ class Life {
|
||||
get PropertyTypes() { return this.#property.TYPES; }
|
||||
get AchievementOpportunity() { return this.#achievement.Opportunity; }
|
||||
get talentSelectLimit() { return this.#talentSelectLimit; }
|
||||
get propertyAllocateLimit() { return clone(this.#propertyAllocateLimit); }
|
||||
get propertyAllocateLimit() { return util.clone(this.#propertyAllocateLimit); }
|
||||
|
||||
get propertys() { return this.#property.getPropertys(); }
|
||||
get times() { return this.#property.get(this.PropertyTypes.TMS) || 0; }
|
||||
set times(v) {
|
||||
this.#property.set(this.PropertyTypes.TMS, v);
|
||||
this.#achievement.achieve(
|
||||
this.AchievementOpportunity.END,
|
||||
this.#property
|
||||
)
|
||||
this.#achievement.achieve(this.AchievementOpportunity.END);
|
||||
}
|
||||
get specialThanks() { return this.#specialThanks; }
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { max, min, sum, clone, listRandom } from '../functions/util.js';
|
||||
|
||||
class Property {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
TYPES = {
|
||||
// 本局
|
||||
@@ -70,11 +70,16 @@ class Property {
|
||||
]
|
||||
}
|
||||
|
||||
#system;
|
||||
#ageData;
|
||||
#data = {};
|
||||
#total;
|
||||
#judge;
|
||||
|
||||
get #util() {
|
||||
return this.#system.function(this.#system.Function.UTIL);
|
||||
}
|
||||
|
||||
initial({age, total}) {
|
||||
this.#ageData = age;
|
||||
for(const a in age) {
|
||||
@@ -151,6 +156,7 @@ class Property {
|
||||
}
|
||||
|
||||
get(prop) {
|
||||
const util = this.#util;
|
||||
switch(prop) {
|
||||
case this.TYPES.AGE:
|
||||
case this.TYPES.CHR:
|
||||
@@ -161,14 +167,14 @@ class Property {
|
||||
case this.TYPES.LIF:
|
||||
case this.TYPES.TLT:
|
||||
case this.TYPES.EVT:
|
||||
return clone(this.#data[prop]);
|
||||
return util.clone(this.#data[prop]);
|
||||
case this.TYPES.LAGE:
|
||||
case this.TYPES.LCHR:
|
||||
case this.TYPES.LINT:
|
||||
case this.TYPES.LSTR:
|
||||
case this.TYPES.LMNY:
|
||||
case this.TYPES.LSPR:
|
||||
return min(
|
||||
return util.min(
|
||||
this.#data[prop],
|
||||
this.get(this.fallback(prop))
|
||||
);
|
||||
@@ -178,7 +184,7 @@ class Property {
|
||||
case this.TYPES.HSTR:
|
||||
case this.TYPES.HMNY:
|
||||
case this.TYPES.HSPR:
|
||||
return max(
|
||||
return util.max(
|
||||
this.#data[prop],
|
||||
this.get(this.fallback(prop))
|
||||
);
|
||||
@@ -189,7 +195,7 @@ class Property {
|
||||
const HSTR = this.get(this.TYPES.HSTR);
|
||||
const HMNY = this.get(this.TYPES.HMNY);
|
||||
const HSPR = this.get(this.TYPES.HSPR);
|
||||
return Math.floor(sum(HCHR, HINT, HSTR, HMNY, HSPR)*2 + HAGE/2);
|
||||
return Math.floor(util.sum(HCHR, HINT, HSTR, HMNY, HSPR)*2 + HAGE/2);
|
||||
case this.TYPES.TMS:
|
||||
return this.lsget('times') || 0;
|
||||
case this.TYPES.EXT:
|
||||
@@ -253,7 +259,7 @@ class Property {
|
||||
case this.TYPES.LIF:
|
||||
case this.TYPES.TLT:
|
||||
case this.TYPES.EVT:
|
||||
this.hl(prop, this.#data[prop] = clone(value));
|
||||
this.hl(prop, this.#data[prop] = this.#system.clone(value));
|
||||
this.achieve(prop, value);
|
||||
return;
|
||||
case this.TYPES.TMS:
|
||||
@@ -267,7 +273,7 @@ class Property {
|
||||
}
|
||||
|
||||
getPropertys() {
|
||||
return clone({
|
||||
return this.#system.clone({
|
||||
[this.TYPES.AGE]: this.get(this.TYPES.AGE),
|
||||
[this.TYPES.CHR]: this.get(this.TYPES.CHR),
|
||||
[this.TYPES.INT]: this.get(this.TYPES.INT),
|
||||
@@ -315,7 +321,8 @@ class Property {
|
||||
|
||||
hookSpecial(prop) {
|
||||
switch(prop) {
|
||||
case this.TYPES.RDM: return listRandom(this.SPECIAL.RDM);
|
||||
case this.TYPES.RDM:
|
||||
return this.#util.listRandom(this.SPECIAL.RDM);
|
||||
default: return prop;
|
||||
}
|
||||
}
|
||||
@@ -334,15 +341,6 @@ class Property {
|
||||
const d = this.#judge[prop];
|
||||
let length = d.length;
|
||||
|
||||
// progress judge
|
||||
// const p = 1/length;
|
||||
// const progress = () => {
|
||||
// const min = d[length][0] || 0;
|
||||
// const max = d[length+1]?.[0] || value;
|
||||
// if(max == min) return 1;
|
||||
// return p * (length + (value - min) / (max - min));
|
||||
// }
|
||||
|
||||
const progress = () => Math.max(Math.min(value, 10), 0) / 10;
|
||||
|
||||
while(length--) {
|
||||
@@ -363,7 +361,7 @@ class Property {
|
||||
}
|
||||
|
||||
getAgeData(age) {
|
||||
return clone(this.#ageData[age]);
|
||||
return this.#system.clone(this.#ageData[age]);
|
||||
}
|
||||
|
||||
hl(prop, value) {
|
||||
@@ -378,8 +376,8 @@ class Property {
|
||||
default: return;
|
||||
}
|
||||
const [l, h] = keys;
|
||||
this.#data[l] = min(this.#data[l], value);
|
||||
this.#data[h] = max(this.#data[h], value);
|
||||
this.#data[l] = this.#util.min(this.#data[l], value);
|
||||
this.#data[h] = this.#util.max(this.#data[h], value);
|
||||
}
|
||||
|
||||
achieve(prop, newData) {
|
||||
@@ -411,7 +409,7 @@ class Property {
|
||||
|
||||
lsget(key) {
|
||||
const data = localStorage.getItem(key);
|
||||
if(data === null) return;
|
||||
if(data === null || data === 'undefined') return;
|
||||
return JSON.parse(data);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { clone, weightRandom } from '../functions/util.js';
|
||||
import { checkCondition, extractMaxTriggers } from '../functions/condition.js';
|
||||
|
||||
class Talent {
|
||||
constructor() {}
|
||||
constructor(system) {
|
||||
this.#system = system;
|
||||
}
|
||||
|
||||
#system;
|
||||
#talents;
|
||||
#talentPullCount;
|
||||
#talentRate;
|
||||
@@ -11,11 +11,12 @@ class Talent {
|
||||
|
||||
initial({talents}) {
|
||||
this.#talents = talents;
|
||||
const emt = this.#system.function(this.#system.Function.CONDITION).extractMaxTriggers;
|
||||
for(const id in talents) {
|
||||
const talent = talents[id];
|
||||
talent.id= Number(id);
|
||||
talent.grade = Number(talent.grade);
|
||||
talent.max_triggers = extractMaxTriggers(talent.condition);
|
||||
talent.max_triggers = emt(talent.condition);
|
||||
if(talent.replacement) {
|
||||
for(let key in talent.replacement) {
|
||||
const obj = {};
|
||||
@@ -34,6 +35,10 @@ class Talent {
|
||||
return Object.keys(this.#talents).length;
|
||||
}
|
||||
|
||||
get #prop() {
|
||||
return this.#system.request(this.#system.Module.PROPERTY);
|
||||
}
|
||||
|
||||
config({
|
||||
talentPullCount = 10, // number of talents to pull from the talent pool
|
||||
talentRate = { 1:100, 2:10, 3:1, total: 1000 }, // rate of talent pull
|
||||
@@ -45,15 +50,15 @@ class Talent {
|
||||
}
|
||||
|
||||
|
||||
check(talentId, property) {
|
||||
check(talentId) {
|
||||
const { condition } = this.get(talentId);
|
||||
return checkCondition(property, condition);
|
||||
return this.#system.check(this.#prop, condition);
|
||||
}
|
||||
|
||||
get(talentId) {
|
||||
const talent = this.#talents[talentId];
|
||||
if(!talent) throw new Error(`[ERROR] No Talent[${talentId}]`);
|
||||
return clone(talent);
|
||||
return this.#system.clone(talent);
|
||||
}
|
||||
|
||||
information(talentId) {
|
||||
@@ -61,11 +66,11 @@ class Talent {
|
||||
return { grade, name, description };
|
||||
}
|
||||
|
||||
exclusive(talends, exclusiveId) {
|
||||
const { exclusive } = this.get(exclusiveId);
|
||||
if(!exclusive) return null;
|
||||
for(const talent of talends) {
|
||||
for(const e of exclusive) {
|
||||
exclude(talents, excludeId) {
|
||||
const { exclude } = this.get(excludeId);
|
||||
if(!exclude) return null;
|
||||
for(const talent of talents) {
|
||||
for(const e of exclude) {
|
||||
if(talent == e) return talent;
|
||||
}
|
||||
}
|
||||
@@ -81,7 +86,7 @@ class Talent {
|
||||
}
|
||||
|
||||
getRate(additionValues = {}) {
|
||||
const rate = clone(this.#talentRate);
|
||||
const rate = this.#system.clone(this.#talentRate);
|
||||
const addition = { 1:1, 2:1, 3:1, };
|
||||
|
||||
Object.keys(additionValues).forEach(key => {
|
||||
@@ -103,13 +108,14 @@ class Talent {
|
||||
let randomNumber = Math.floor(Math.random() * rate.total);
|
||||
if((randomNumber -= rate[3]) < 0) return 3;
|
||||
if((randomNumber -= rate[2]) < 0) return 2;
|
||||
if((randomNumber -= rate[1]) < 0) return 1;
|
||||
if((randomNumber - rate[1]) < 0) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
const talentList = {};
|
||||
for(const talentId in this.#talents) {
|
||||
const { id, grade, name, description } = this.#talents[talentId];
|
||||
const { id, grade, name, description, exclusive } = this.#talents[talentId];
|
||||
if(!!exclusive) continue;
|
||||
if(id == include) {
|
||||
include = { grade, name, description, id };
|
||||
continue;
|
||||
@@ -130,6 +136,19 @@ class Talent {
|
||||
});
|
||||
}
|
||||
|
||||
random(count) {
|
||||
const talents = Object
|
||||
.keys(this.#talents)
|
||||
.filter(id=>!this.#talents[id].exclusive);
|
||||
return new Array(count)
|
||||
.fill(1)
|
||||
.map(()=>talents.splice(
|
||||
Math.floor(Math.random()*talents.length)%talents.length,
|
||||
1
|
||||
)[0]
|
||||
);
|
||||
}
|
||||
|
||||
allocationAddition(talents) {
|
||||
if(Array.isArray(talents)) {
|
||||
let addition = 0;
|
||||
@@ -140,9 +159,9 @@ class Talent {
|
||||
return Number(this.get(talents).status) || 0;
|
||||
}
|
||||
|
||||
do(talentId, property) {
|
||||
do(talentId) {
|
||||
const { effect, condition, grade, name, description } = this.get(talentId);
|
||||
if(condition && !checkCondition(property, condition))
|
||||
if(condition && !this.#system.check(condition))
|
||||
return null;
|
||||
return { effect, grade, name, description };
|
||||
}
|
||||
@@ -153,32 +172,34 @@ class Talent {
|
||||
if(!replacement) return null;
|
||||
const list = [];
|
||||
if(replacement.grade) {
|
||||
this.forEach(({id, grade})=>{
|
||||
this.forEach(({id, grade, exclusive})=>{
|
||||
if(exclusive) return;
|
||||
if(!replacement.grade[grade]) return;
|
||||
if(this.exclusive(talents, id)) return;
|
||||
if(this.exclude(talents, id)) return;
|
||||
list.push([id, replacement.grade[grade]]);
|
||||
})
|
||||
}
|
||||
if(replacement.talent) {
|
||||
for(let id in replacement.talent) {
|
||||
id = Number(id);
|
||||
if(this.exclusive(talents, id)) continue;
|
||||
if(this.exclude(talents, id)) continue;
|
||||
list.push([id, replacement.talent[id]]);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
const wr = this.#system.function(this.#system.Function.UTIL).weightRandom;
|
||||
const replace = (talent, talents) => {
|
||||
const replaceList = getReplaceList(talent, talents);
|
||||
if(!replaceList) return talent;
|
||||
const rand = weightRandom(replaceList);
|
||||
const rand = wr(replaceList);
|
||||
return replace(
|
||||
rand, talents.concat(rand)
|
||||
);
|
||||
}
|
||||
|
||||
const newTalents = clone(talents);
|
||||
const newTalents = this.#system.clone(talents);
|
||||
const result = {};
|
||||
for(const talent of talents) {
|
||||
const replaceId = replace(talent, newTalents);
|
||||
@@ -193,7 +214,7 @@ class Talent {
|
||||
forEach(callback) {
|
||||
if(typeof callback != 'function') return;
|
||||
for(const id in this.#talents)
|
||||
callback(clone(this.#talents[id]), id);
|
||||
callback(this.#system.clone(this.#talents[id]), id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
47
src/ui/laya.patch.js
Normal file
47
src/ui/laya.patch.js
Normal file
@@ -0,0 +1,47 @@
|
||||
// 滚动条太灵敏
|
||||
const SCROLL_START_DISTANCE = 30;
|
||||
Laya.ScrollBar.prototype.loop=function(){
|
||||
var mouseY=Laya.stage.mouseY;
|
||||
var mouseX=Laya.stage.mouseX;
|
||||
this._lastOffset=this.isVertical ? (mouseY-this._lastPoint.y):(mouseX-this._lastPoint.x);
|
||||
if (this._clickOnly){
|
||||
if (Math.abs(this._lastOffset *(this.isVertical ? Laya.stage._canvasTransform.getScaleY():Laya.stage._canvasTransform.getScaleX()))> SCROLL_START_DISTANCE){
|
||||
this._clickOnly=false;
|
||||
this._offsets || (this._offsets=[]);
|
||||
this._offsets.length=0;
|
||||
this._target.mouseEnabled=false;
|
||||
if (!this.hide && this.autoHide){
|
||||
this.alpha=1;
|
||||
this.visible=true;
|
||||
}
|
||||
this.event(/*laya.events.Event.START*/"start");
|
||||
}else return;
|
||||
}
|
||||
this._offsets.push(this._lastOffset);
|
||||
this._lastPoint.x=mouseX;
|
||||
this._lastPoint.y=mouseY;
|
||||
if (this._lastOffset===0)return;
|
||||
if (!this._checkElastic){
|
||||
if (this.elasticDistance > 0){
|
||||
if (!this._checkElastic && this._lastOffset !=0){
|
||||
if ((this._lastOffset > 0 && this._value <=this.min)|| (this._lastOffset < 0 && this._value >=this.max)){
|
||||
this._isElastic=true;
|
||||
this._checkElastic=true;
|
||||
}else {
|
||||
this._isElastic=false;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
this._checkElastic=true;
|
||||
}
|
||||
}
|
||||
if (this._isElastic){
|
||||
if (this._value <=this.min){
|
||||
this.value-=this._lastOffset *Math.max(0,(1-((this.min-this._value)/ this.elasticDistance)));
|
||||
}else if (this._value >=this.max){
|
||||
this.value-=this._lastOffset *Math.max(0,(1-((this._value-this.max)/ this.elasticDistance)));
|
||||
}
|
||||
}else {
|
||||
this.value-=this._lastOffset;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -475,6 +475,12 @@ class ColorfulBox extends Laya.Box {
|
||||
label.text = value;
|
||||
}
|
||||
|
||||
get cacheAs() {return super.cacheAs;}
|
||||
set cacheAs(value) {
|
||||
if(value=='bitmap') debugger;
|
||||
super.cacheAs = value;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
runtime.BlankBox =
|
||||
@@ -535,3 +541,31 @@ class BlankBox extends Laya.Box {
|
||||
this.#draw();
|
||||
}
|
||||
}
|
||||
|
||||
runtime.ColorAgentLabel =
|
||||
class ColorAgentLabel extends Laya.Label {
|
||||
constructor(...args) {
|
||||
super(...args);
|
||||
}
|
||||
|
||||
get #brothers() {
|
||||
const brothers = [];
|
||||
if(!this.parent) return brothers;
|
||||
const deepFind = p => {
|
||||
if(!p._childs) return;
|
||||
for(const c of p._childs) {
|
||||
if(c == this) continue;
|
||||
if(c instanceof Laya.Label) brothers.push(c);
|
||||
deepFind(c);
|
||||
}
|
||||
}
|
||||
deepFind(this.parent);
|
||||
return brothers;
|
||||
}
|
||||
|
||||
get color() {return this.super.color;}
|
||||
set color(c) {
|
||||
super.color = c;
|
||||
this.#brothers.forEach(b=>b.color=c);
|
||||
}
|
||||
}
|
||||
136
src/ui/themes/cyber/celebrity.js
Normal file
136
src/ui/themes/cyber/celebrity.js
Normal file
@@ -0,0 +1,136 @@
|
||||
export default class CyberCelebrity extends ui.view.CyberTheme.CelebrityUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnRetry.on(Laya.Event.CLICK, this, ()=>this.random());
|
||||
this.btnNext.on(Laya.Event.CLICK, this, this.next);
|
||||
this.panelCharacter.vScrollBar.elasticDistance = 150;
|
||||
}
|
||||
|
||||
#selected;
|
||||
static #createComponent = Laya.plugin.extractComponents(CyberCelebrity.uiView, ['boxCharacter','boxTalent','boxUniqueUnGenerate']);
|
||||
#createCharacterItem(dataSource, click) {
|
||||
const {name, property, talent} = dataSource;
|
||||
const item = CyberCelebrity.#createComponent('boxCharacter');
|
||||
const vboxStates = item.getChildByName('vboxStates');
|
||||
const boxName = item.getChildByName('boxName');
|
||||
boxName.getChildByName('label').text = name;
|
||||
|
||||
const p = $_.clone(property);
|
||||
for(const k in p)
|
||||
if(Math.abs(p[k] - Math.PI) < 0.0000001)
|
||||
p[k] = 'π';
|
||||
|
||||
vboxStates.getChildByName('label').text = $_.format($lang.F_PropertyStr, p);
|
||||
for(const t of talent) {
|
||||
const i = CyberCelebrity.#createComponent('boxTalent');
|
||||
i.getChildByName('label').text = $_.format($lang.F_TalentSelection, t);
|
||||
i.y = vboxStates.height+vboxStates.space;
|
||||
let g = i.getChildByName(`grade${t.grade}`);
|
||||
if(g) g.visible = true;
|
||||
vboxStates.addChild(i);
|
||||
}
|
||||
const box = new Laya.Box();
|
||||
box.height = vboxStates.space;
|
||||
box.y = vboxStates.height;
|
||||
vboxStates.addChild(box);
|
||||
vboxStates.scaleY = 0;
|
||||
|
||||
item.dataSource = dataSource;
|
||||
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
||||
item.click = (cb, caller) => {
|
||||
boxName.offAll(Laya.Event.CLICK);
|
||||
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
if(click) item.click(click);
|
||||
return item;
|
||||
}
|
||||
#createUniqueUnGenerateItem(generate) {
|
||||
const item = CyberCelebrity.#createComponent('boxUniqueUnGenerate');
|
||||
const boxName = item.getChildByName('boxName');
|
||||
const vboxStates = item.getChildByName('vboxStates');
|
||||
const label = vboxStates.getChildByName('label');
|
||||
const boxBtn = vboxStates.getChildByName('boxBtn');
|
||||
const btn = boxBtn.getChildByName('btn');
|
||||
|
||||
label.event(Laya.Event.RESIZE);
|
||||
vboxStates.scaleY = 0;
|
||||
item.dataSource = false;
|
||||
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
||||
item.click = (cb, caller) => {
|
||||
boxName.offAll(Laya.Event.CLICK);
|
||||
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
item.generate = (cb, caller) => {
|
||||
btn.offAll(Laya.Event.CLICK);
|
||||
btn.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
if(generate) item.generate(generate);
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
init() {
|
||||
this.random();
|
||||
}
|
||||
|
||||
close() {
|
||||
this.#selected = null;
|
||||
this.vboxCharacter.destroyChildren(true);
|
||||
}
|
||||
|
||||
random(g) {
|
||||
this.#selected = null;
|
||||
this.vboxCharacter.destroyChildren(true);
|
||||
const {unique, normal} = core.characterRandom();
|
||||
const items = [];
|
||||
const uniqueItem = this.generateUnique(unique, ()=>{
|
||||
core.generateUnique();
|
||||
this.random(normal);
|
||||
|
||||
});
|
||||
if(uniqueItem) items.push(uniqueItem);
|
||||
(g||normal).forEach(character => items.push(this.#createCharacterItem(character)));
|
||||
|
||||
items.forEach((item, i) => {
|
||||
item.y = i;
|
||||
this.vboxCharacter.addChild(item);
|
||||
item.click(()=>{
|
||||
if(this.#selected) this.#selected.switch(false);
|
||||
this.#selected = item;
|
||||
item.switch(true);
|
||||
item.event(Laya.Event.RESIZE);
|
||||
})
|
||||
});
|
||||
if(g&&uniqueItem) {
|
||||
this.#selected = uniqueItem;
|
||||
uniqueItem.switch(true);
|
||||
uniqueItem.event(Laya.Event.RESIZE);
|
||||
}
|
||||
}
|
||||
|
||||
generateUnique(data, generate) {
|
||||
if(!data) return null;
|
||||
if(!data.generate) return this.#createUniqueUnGenerateItem(generate);
|
||||
data.name = $lang.UI_UniqueWaTaShi;
|
||||
return this.#createCharacterItem(data);
|
||||
}
|
||||
|
||||
next() {
|
||||
if(!this.#selected) return $$event('message', ['M_PleaseSelectOne']);
|
||||
if(!this.#selected.dataSource) return $$event('message', ['M_UnGenerate']);
|
||||
|
||||
const {property: propertyAllocate, talent: talents} = this.#selected.dataSource;
|
||||
const replace = core.remake(talents.map(talent => talent.id));
|
||||
if(replace.length > 0) {
|
||||
$$event('message', [replace.map(v => ['F_TalentReplace', v])]);
|
||||
}
|
||||
$ui.switchView(
|
||||
UI.pages.TRAJECTORY,
|
||||
{
|
||||
propertyAllocate, talents,
|
||||
enableExtend: false,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
export default class CyberMain extends ui.view.CyberTheme.CyberMainUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnRemake.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.TALENT));
|
||||
this.btnRemake.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.MODE));
|
||||
this.btnAchievement.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.ACHIEVEMENT));
|
||||
this.btnThanks.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.THANKS));
|
||||
this.btnGithub.on(Laya.Event.CLICK, this, goto, ['github']);
|
||||
|
||||
7
src/ui/themes/cyber/mode.js
Normal file
7
src/ui/themes/cyber/mode.js
Normal file
@@ -0,0 +1,7 @@
|
||||
export default class CyberMode extends ui.view.CyberTheme.ModeUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnCustom.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.TALENT));
|
||||
this.btnCelebrity.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.CELEBRITY));
|
||||
}
|
||||
}
|
||||
@@ -67,6 +67,7 @@ export default class CyberProperty extends ui.view.CyberTheme.CyberPropertyUI {
|
||||
{
|
||||
propertyAllocate: this.#propertyAllocate,
|
||||
talents: this.listSelectedTalents.array,
|
||||
enableExtend: true,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ export default class CyberSummary extends ui.view.CyberTheme.CyberSummaryUI {
|
||||
}
|
||||
|
||||
#selectedTalent;
|
||||
#enableExtend;
|
||||
|
||||
onAgain() {
|
||||
core.talentExtend(this.#selectedTalent);
|
||||
@@ -13,8 +14,10 @@ export default class CyberSummary extends ui.view.CyberTheme.CyberSummaryUI {
|
||||
$ui.switchView(UI.pages.MAIN);
|
||||
}
|
||||
|
||||
init({talents}) {
|
||||
init({talents, enableExtend}) {
|
||||
const {summary, lastExtendTalent} = core;
|
||||
this.#enableExtend = enableExtend;
|
||||
|
||||
const gradeFilters = $ui.common.filter;
|
||||
const gradeColors = $ui.common.grade;
|
||||
|
||||
@@ -68,7 +71,11 @@ export default class CyberSummary extends ui.view.CyberTheme.CyberSummaryUI {
|
||||
if(b == lastExtendTalent) return 1;
|
||||
return bg - ag;
|
||||
});
|
||||
this.#selectedTalent = talents[0].id;
|
||||
if(this.#enableExtend) {
|
||||
this.#selectedTalent = talents[0].id;
|
||||
} else {
|
||||
this.#selectedTalent = lastExtendTalent;
|
||||
}
|
||||
this.listSelectedTalents.array = talents;
|
||||
}
|
||||
|
||||
@@ -115,6 +122,9 @@ export default class CyberSummary extends ui.view.CyberTheme.CyberSummaryUI {
|
||||
}
|
||||
|
||||
onSelectTalent(talentId) {
|
||||
if(!this.#enableExtend) {
|
||||
return $$event('message', ['M_DisableExtendTalent']);
|
||||
}
|
||||
if(talentId == this.#selectedTalent) {
|
||||
this.#selectedTalent = null;
|
||||
} else {
|
||||
|
||||
@@ -40,7 +40,7 @@ export default class CyberTalent extends ui.view.CyberTheme.CyberTalentUI {
|
||||
}
|
||||
|
||||
const talents = [...this.#selected].map(index => this.listTalents.array[index]);
|
||||
$ui.switchView(UI.pages.PROPERTY, { talents });
|
||||
$ui.switchView(UI.pages.PROPERTY, { talents, enableExtend: true});
|
||||
}
|
||||
|
||||
renderTalent(box, index) {
|
||||
@@ -99,7 +99,7 @@ export default class CyberTalent extends ui.view.CyberTheme.CyberTalentUI {
|
||||
if(this.#selected.size >= core.talentSelectLimit) {
|
||||
return $$event('message', ['F_TalentSelectLimit', core.talentSelectLimit]);
|
||||
}
|
||||
const exclusive = core.exclusive(
|
||||
const exclusive = core.exclude(
|
||||
[...this.#selected].map(index => this.listTalents.array[index].id),
|
||||
this.listTalents.array[index].id
|
||||
);
|
||||
|
||||
@@ -66,8 +66,10 @@ export default class CyberTrajectory extends ui.view.CyberTheme.CyberTrajectoryU
|
||||
#isEnd;
|
||||
#trajectoryItems;
|
||||
#talents;
|
||||
#enableExtend;
|
||||
|
||||
init({propertyAllocate, talents}) {
|
||||
init({propertyAllocate, talents, enableExtend}) {
|
||||
this.#enableExtend = enableExtend;
|
||||
this.boxParticle.visible = false;
|
||||
this.boxSpeed.visible = true;
|
||||
this.btnSummary.visible = false;
|
||||
@@ -109,16 +111,16 @@ export default class CyberTrajectory extends ui.view.CyberTheme.CyberTrajectoryU
|
||||
if(isEnd) {
|
||||
this.boxSpeed.visible = false;
|
||||
this.btnSummary.visible = true;
|
||||
Laya.timer.frameOnce(1,this,()=>{
|
||||
this.panelTrajectory.scrollTo(0, this.panelTrajectory.contentHeight);
|
||||
});
|
||||
}
|
||||
|
||||
this.panelTrajectory.scrollTo(0, this.panelTrajectory.contentHeight);
|
||||
this.renderTrajectory(age, content);
|
||||
|
||||
if(age >= 100) {
|
||||
this.boxParticle.visible = true;
|
||||
}
|
||||
Laya.timer.frameOnce(1, this, () => {
|
||||
this.panelTrajectory.scrollTo(0, this.panelTrajectory.contentHeight);
|
||||
});
|
||||
this.updateProperty();
|
||||
}
|
||||
|
||||
@@ -141,12 +143,12 @@ export default class CyberTrajectory extends ui.view.CyberTheme.CyberTrajectoryU
|
||||
);
|
||||
this.vboxTrajectory.addChild(item);
|
||||
this.#trajectoryItems.push(item);
|
||||
this.#trajectoryItems.forEach((item, index) => item.y = index);
|
||||
item.y = this.vboxTrajectory.height;
|
||||
}
|
||||
|
||||
onSummary() {
|
||||
const talents = this.#talents;
|
||||
$ui.switchView(UI.pages.SUMMARY, {talents});
|
||||
$ui.switchView(UI.pages.SUMMARY, { talents, enableExtend: this.#enableExtend });
|
||||
}
|
||||
|
||||
get speed() {
|
||||
|
||||
143
src/ui/themes/default/celebrity.js
Normal file
143
src/ui/themes/default/celebrity.js
Normal file
@@ -0,0 +1,143 @@
|
||||
export default class Celebrity extends ui.view.DefaultTheme.CelebrityUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnRetry.on(Laya.Event.CLICK, this, ()=>this.random());
|
||||
this.btnNext.on(Laya.Event.CLICK, this, this.next);
|
||||
this.panelCharacter.vScrollBar.elasticDistance = 150;
|
||||
}
|
||||
|
||||
#selected;
|
||||
static #createComponent = Laya.plugin.extractComponents(Celebrity.uiView, ['boxCharacter','boxTalent','boxUniqueUnGenerate']);
|
||||
#createCharacterItem(dataSource, click) {
|
||||
const {name, property, talent} = dataSource;
|
||||
const style = $ui.common.characterItem;
|
||||
const item = Celebrity.#createComponent('boxCharacter');
|
||||
const vboxStates = item.getChildByName('vboxStates');
|
||||
const boxName = item.getChildByName('boxName');
|
||||
boxName.label = name;
|
||||
|
||||
const p = $_.clone(property);
|
||||
for(const k in p)
|
||||
if(Math.abs(p[k] - Math.PI) < 0.0000001)
|
||||
p[k] = 'π';
|
||||
|
||||
vboxStates.label = $_.format($lang.F_PropertyStr, p);
|
||||
$_.deepMapSet(boxName, style.name);
|
||||
$_.deepMapSet(vboxStates, style.state);
|
||||
for(const t of talent) {
|
||||
const i = Celebrity.#createComponent('boxTalent');
|
||||
i.label = $_.format($lang.F_TalentSelection, t);
|
||||
i.y = vboxStates.height+vboxStates.space;
|
||||
$_.deepMapSet(i, $ui.common.card[t.grade].normal);
|
||||
vboxStates.addChild(i);
|
||||
}
|
||||
const box = new Laya.Box();
|
||||
box.height = vboxStates.space;
|
||||
box.y = vboxStates.height;
|
||||
vboxStates.addChild(box);
|
||||
vboxStates.scaleY = 0;
|
||||
|
||||
item.dataSource = dataSource;
|
||||
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
||||
item.click = (cb, caller) => {
|
||||
boxName.offAll(Laya.Event.CLICK);
|
||||
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
if(click) item.click(click);
|
||||
return item;
|
||||
}
|
||||
#createUniqueUnGenerateItem(generate) {
|
||||
const style = $ui.common.characterItem;
|
||||
const item = Celebrity.#createComponent('boxUniqueUnGenerate');
|
||||
const boxName = item.getChildByName('boxName');
|
||||
const vboxStates = item.getChildByName('vboxStates');
|
||||
const label = vboxStates.getChildByName('label');
|
||||
const boxBtn = vboxStates.getChildByName('boxBtn');
|
||||
const btn = boxBtn.getChildByName('btn');
|
||||
|
||||
$_.deepMapSet(boxName, style.name);
|
||||
$_.deepMapSet(vboxStates, style.state);
|
||||
$_.deepMapSet(btn, style.name);
|
||||
|
||||
boxBtn.y = label.height + vboxStates.space;
|
||||
label.event(Laya.Event.RESIZE);
|
||||
vboxStates.scaleY = 0;
|
||||
item.dataSource = false;
|
||||
item.switch = showDetails => vboxStates.scaleY = !!showDetails?1:0;
|
||||
item.click = (cb, caller) => {
|
||||
boxName.offAll(Laya.Event.CLICK);
|
||||
boxName.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
item.generate = (cb, caller) => {
|
||||
btn.offAll(Laya.Event.CLICK);
|
||||
btn.on(Laya.Event.CLICK, caller || this, cb);
|
||||
}
|
||||
if(generate) item.generate(generate);
|
||||
return item;
|
||||
}
|
||||
|
||||
init() {
|
||||
this.random();
|
||||
}
|
||||
|
||||
close() {
|
||||
this.#selected = null;
|
||||
this.vboxCharacter.destroyChildren(true);
|
||||
}
|
||||
|
||||
random(g) {
|
||||
this.#selected = null;
|
||||
this.vboxCharacter.destroyChildren(true);
|
||||
const {unique, normal} = core.characterRandom();
|
||||
const items = [];
|
||||
const uniqueItem = this.generateUnique(unique, ()=>{
|
||||
core.generateUnique();
|
||||
this.random(normal);
|
||||
|
||||
});
|
||||
if(uniqueItem) items.push(uniqueItem);
|
||||
(g||normal).forEach(character => items.push(this.#createCharacterItem(character)));
|
||||
|
||||
items.forEach((item, i) => {
|
||||
item.y = i;
|
||||
this.vboxCharacter.addChild(item);
|
||||
item.click(()=>{
|
||||
if(this.#selected) this.#selected.switch(false);
|
||||
this.#selected = item;
|
||||
item.switch(true);
|
||||
item.event(Laya.Event.RESIZE);
|
||||
})
|
||||
});
|
||||
if(g&&uniqueItem) {
|
||||
this.#selected = uniqueItem;
|
||||
uniqueItem.switch(true);
|
||||
uniqueItem.event(Laya.Event.RESIZE);
|
||||
}
|
||||
}
|
||||
|
||||
generateUnique(data, generate) {
|
||||
if(!data) return null;
|
||||
if(!data.generate) return this.#createUniqueUnGenerateItem(generate);
|
||||
data.name = $lang.UI_UniqueWaTaShi;
|
||||
return this.#createCharacterItem(data);
|
||||
}
|
||||
|
||||
next() {
|
||||
if(!this.#selected) return $$event('message', ['M_PleaseSelectOne']);
|
||||
if(!this.#selected.dataSource) return $$event('message', ['M_UnGenerate']);
|
||||
|
||||
const {property: propertyAllocate, talent: talents} = this.#selected.dataSource;
|
||||
const replace = core.remake(talents.map(talent => talent.id));
|
||||
if(replace.length > 0) {
|
||||
$$event('message', [replace.map(v => ['F_TalentReplace', v])]);
|
||||
}
|
||||
$ui.switchView(
|
||||
UI.pages.TRAJECTORY,
|
||||
{
|
||||
propertyAllocate, talents,
|
||||
enableExtend: false,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
export default class Main extends ui.view.DefaultTheme.MainUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnRemake.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.TALENT));
|
||||
this.btnRemake.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.MODE));
|
||||
this.btnAchievement.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.ACHIEVEMENT));
|
||||
this.btnThanks.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.THANKS));
|
||||
this.btnGithub.on(Laya.Event.CLICK, this, goto, ['github']);
|
||||
|
||||
7
src/ui/themes/default/mode.js
Normal file
7
src/ui/themes/default/mode.js
Normal file
@@ -0,0 +1,7 @@
|
||||
export default class Mode extends ui.view.DefaultTheme.ModeUI {
|
||||
constructor() {
|
||||
super();
|
||||
this.btnCustom.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.TALENT));
|
||||
this.btnCelebrity.on(Laya.Event.CLICK, this, ()=>$ui.switchView(UI.pages.CELEBRITY));
|
||||
}
|
||||
}
|
||||
@@ -67,6 +67,7 @@ export default class Property extends ui.view.DefaultTheme.PropertyUI {
|
||||
{
|
||||
propertyAllocate: this.#propertyAllocate,
|
||||
talents: this.listSelectedTalents.array,
|
||||
enableExtend: true,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ export default class Summary extends ui.view.DefaultTheme.SummaryUI {
|
||||
}
|
||||
|
||||
#selectedTalent;
|
||||
#enableExtend;
|
||||
|
||||
onAgain() {
|
||||
core.talentExtend(this.#selectedTalent);
|
||||
@@ -14,8 +15,9 @@ export default class Summary extends ui.view.DefaultTheme.SummaryUI {
|
||||
$ui.switchView(UI.pages.MAIN);
|
||||
}
|
||||
|
||||
init({talents}) {
|
||||
init({talents, enableExtend}) {
|
||||
const {summary, lastExtendTalent} = core;
|
||||
this.#enableExtend = enableExtend;
|
||||
|
||||
this.listSummary.array = [
|
||||
[core.PropertyTypes.HCHR, $lang.UI_Property_Charm],
|
||||
@@ -38,7 +40,11 @@ export default class Summary extends ui.view.DefaultTheme.SummaryUI {
|
||||
if(b == lastExtendTalent) return 1;
|
||||
return bg - ag;
|
||||
});
|
||||
this.#selectedTalent = talents[0].id;
|
||||
if(this.#enableExtend) {
|
||||
this.#selectedTalent = talents[0].id;
|
||||
} else {
|
||||
this.#selectedTalent = lastExtendTalent;
|
||||
}
|
||||
this.listSelectedTalents.array = talents;
|
||||
}
|
||||
renderSummary(box) {
|
||||
@@ -57,6 +63,9 @@ export default class Summary extends ui.view.DefaultTheme.SummaryUI {
|
||||
}
|
||||
|
||||
onSelectTalent(talentId) {
|
||||
if(!this.#enableExtend) {
|
||||
return $$event('message', ['M_DisableExtendTalent']);
|
||||
}
|
||||
if(talentId == this.#selectedTalent) {
|
||||
this.#selectedTalent = null;
|
||||
} else {
|
||||
|
||||
@@ -8,7 +8,6 @@ export default class Talent extends ui.view.DefaultTheme.TalentUI {
|
||||
}
|
||||
|
||||
#selected = new Set();
|
||||
|
||||
init() {
|
||||
this.pageDrawCard.visible = true;
|
||||
this.pageResult.visible = false;
|
||||
@@ -30,7 +29,7 @@ export default class Talent extends ui.view.DefaultTheme.TalentUI {
|
||||
}
|
||||
|
||||
const talents = [...this.#selected].map(index => this.listTalents.array[index]);
|
||||
$ui.switchView(UI.pages.PROPERTY, { talents });
|
||||
$ui.switchView(UI.pages.PROPERTY, { talents, enableExtend: true });
|
||||
}
|
||||
|
||||
renderTalent(box, index) {
|
||||
@@ -55,7 +54,7 @@ export default class Talent extends ui.view.DefaultTheme.TalentUI {
|
||||
if(this.#selected.size >= core.talentSelectLimit) {
|
||||
return $$event('message', ['F_TalentSelectLimit', core.talentSelectLimit]);
|
||||
}
|
||||
const exclusive = core.exclusive(
|
||||
const exclusive = core.exclude(
|
||||
[...this.#selected].map(index => this.listTalents.array[index].id),
|
||||
this.listTalents.array[index].id
|
||||
);
|
||||
|
||||
@@ -45,8 +45,10 @@ export default class Trajectory extends ui.view.DefaultTheme.TrajectoryUI {
|
||||
#isEnd;
|
||||
#trajectoryItems;
|
||||
#talents;
|
||||
#enableExtend;
|
||||
|
||||
init({propertyAllocate, talents}) {
|
||||
init({propertyAllocate, talents, enableExtend}) {
|
||||
this.#enableExtend = enableExtend;
|
||||
this.boxParticle.visible = false;
|
||||
this.boxSpeed.visible = true;
|
||||
this.btnSummary.visible = false;
|
||||
@@ -88,16 +90,16 @@ export default class Trajectory extends ui.view.DefaultTheme.TrajectoryUI {
|
||||
if(isEnd) {
|
||||
this.boxSpeed.visible = false;
|
||||
this.btnSummary.visible = true;
|
||||
Laya.timer.frameOnce(1,this,()=>{
|
||||
this.panelTrajectory.scrollTo(0, this.panelTrajectory.contentHeight);
|
||||
});
|
||||
}
|
||||
|
||||
this.panelTrajectory.scrollTo(0, this.panelTrajectory.contentHeight);
|
||||
this.renderTrajectory(age, content);
|
||||
|
||||
if(age >= 100) {
|
||||
this.boxParticle.visible = true;
|
||||
}
|
||||
Laya.timer.frameOnce(1, this, () => {
|
||||
this.panelTrajectory.scrollTo(0, this.panelTrajectory.contentHeight);
|
||||
});
|
||||
this.updateProperty();
|
||||
}
|
||||
|
||||
@@ -117,12 +119,12 @@ export default class Trajectory extends ui.view.DefaultTheme.TrajectoryUI {
|
||||
item.grade(content[content.length - 1].grade);
|
||||
this.vboxTrajectory.addChild(item);
|
||||
this.#trajectoryItems.push(item);
|
||||
this.#trajectoryItems.forEach((item, index) => item.y = index);
|
||||
item.y = this.vboxTrajectory.height;
|
||||
}
|
||||
|
||||
onSummary() {
|
||||
const talents = this.#talents;
|
||||
$ui.switchView(UI.pages.SUMMARY, {talents});
|
||||
$ui.switchView(UI.pages.SUMMARY, {talents, enableExtend: this.#enableExtend});
|
||||
}
|
||||
|
||||
get speed() {
|
||||
|
||||
@@ -14,7 +14,7 @@ export default class MessagePopup extends ui.view.MessagePopupUI {
|
||||
Laya.Tween.clearAll(this);
|
||||
this.alpha = 0;
|
||||
this.y = - 2 * this.height;
|
||||
await Laya.promises.Tween.to(this, { y: 0, alpha: 1 }, 300, Laya.Ease.backOut),
|
||||
await Laya.promises.Tween.to(this, { y: 0, alpha: 1 }, 300, Laya.Ease.backOut);
|
||||
await Laya.promises.Tween.to(this, { alpha: 0}, 300, Laya.Ease.strongIn, 3000);
|
||||
}
|
||||
}
|
||||
@@ -7,22 +7,22 @@ export default class SaveLoad extends ui.view.SaveLoadUI {
|
||||
});
|
||||
this.btnRead.on(Laya.Event.CLICK, this, async ()=>{
|
||||
const result = await $$copy(this.input.text = this.data);
|
||||
$$event('message', [result? 'UI_CopySuccess': 'UI_CopyFaild']);
|
||||
$$event('message', [result? 'UI_CopySuccess': 'UI_CopyFailed']);
|
||||
});
|
||||
this.btnWrite.on(Laya.Event.CLICK, this, async ()=>{
|
||||
const text = await $$read();
|
||||
if(text == false) {
|
||||
this.data = [
|
||||
this.input.text,
|
||||
'UI_PasteFaildDecodeSuccess',
|
||||
'UI_PasteFaildDecodeFaild'
|
||||
'UI_PasteFailedDecodeSuccess',
|
||||
'UI_PasteFailedDecodeFailed'
|
||||
];
|
||||
} else {
|
||||
this.input.text = text;
|
||||
this.data = [
|
||||
text,
|
||||
'UI_PasteSuccessDecodeSuccess',
|
||||
'UI_PasteSuccessDecodeFaild'
|
||||
'UI_PasteSuccessDecodeFailed'
|
||||
];
|
||||
}
|
||||
});
|
||||
@@ -60,6 +60,71 @@ export default class SaveLoad extends ui.view.SaveLoadUI {
|
||||
this.input.on(Laya.Event.MOUSE_DOWN, this, ()=>{
|
||||
this.input.setSelection(0, this.input.text.length);
|
||||
})
|
||||
|
||||
this.btnBackup.on(Laya.Event.CLICK, this, ()=>{
|
||||
const board = document.createElement("div");
|
||||
document.body.appendChild(board);
|
||||
board.style = `
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
opacity: 0.95`;
|
||||
|
||||
const bg = document.createElement("div");
|
||||
bg.style = `
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: #fff;
|
||||
opacity: 0.95`;
|
||||
document.body.appendChild(board);
|
||||
board.appendChild(bg);
|
||||
const textarea = document.createElement("textarea");
|
||||
textarea.style = `position: absolute; width: ${window.innerWidth}px; height: ${window.innerHeight}px;`
|
||||
textarea.value = JSON.stringify(
|
||||
JSON.parse(this.data),
|
||||
null,
|
||||
4
|
||||
);
|
||||
board.appendChild(textarea);
|
||||
const close = document.createElement("div");
|
||||
close.style = `
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: red;
|
||||
font-size:100px;
|
||||
padding: 0;
|
||||
line-height: 100px;
|
||||
color: white;
|
||||
opacity: 0.7`;
|
||||
close.innerHTML = '×';
|
||||
board.appendChild(close);
|
||||
close.onclick = ()=>board.remove();
|
||||
|
||||
const load = document.createElement("div");
|
||||
load.style = `
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: limegreen;
|
||||
font-size: 35px;
|
||||
padding: 0;
|
||||
line-height: 50px;
|
||||
color: white;
|
||||
opacity: 0.7`;
|
||||
load.innerHTML = 'LOAD<br>读取';
|
||||
board.appendChild(load);
|
||||
load.onclick = ()=>this.data = [textarea.value, '成功/success', '失败/failed', true];
|
||||
});
|
||||
}
|
||||
|
||||
static load() {
|
||||
@@ -79,17 +144,19 @@ export default class SaveLoad extends ui.view.SaveLoadUI {
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
set data([v, success = 'UI_LoadSuccess', faild = 'UI_LoadFaild']) {
|
||||
set data([v, success = 'UI_LoadSuccess', failed = 'UI_LoadFailed', altMsg]) {
|
||||
try {
|
||||
const data = JSON.parse(v);
|
||||
for(const key in data)
|
||||
localStorage.setItem(key, data[key]);
|
||||
$$event('message', [success]);
|
||||
if(altMsg) alert(success);
|
||||
else $$event('message', [success]);
|
||||
$ui.theme = $ui.theme;
|
||||
this.btnClose.event(Laya.Event.CLICK);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
$$event('message', [faild]);
|
||||
if(altMsg) alert(`${failed}\n${e}`);
|
||||
else $$event('message', [failed]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,8 @@ const pages = {
|
||||
THANKS: 'THANKS',
|
||||
THEMES: 'THEMES',
|
||||
SAVELOAD: 'SAVELOAD',
|
||||
MODE: 'MODE',
|
||||
CELEBRITY: 'CELEBRITY'
|
||||
};
|
||||
|
||||
const popups = {
|
||||
@@ -28,6 +30,8 @@ const cyber = {
|
||||
[pages.THANKS]: "default/thanks",
|
||||
[pages.THEMES]: 'themes',
|
||||
[pages.SAVELOAD]: 'saveload',
|
||||
[pages.MODE]: 'cyber/mode',
|
||||
[pages.CELEBRITY]: 'cyber/celebrity',
|
||||
},
|
||||
popups: {
|
||||
[popups.ACHIEVEMENT]: "cyber/popup/achievementPopup",
|
||||
@@ -57,20 +61,22 @@ const cyber = {
|
||||
],
|
||||
gradeBlk: [
|
||||
{
|
||||
defaultColor: '#cccccc',
|
||||
hoverColor: '#cccccc',
|
||||
visible: false,
|
||||
},
|
||||
{
|
||||
defaultColor: '#55fffe',
|
||||
hoverColor: '#55fffe',
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
defaultColor: '#b17cff',
|
||||
hoverColor: '#b17cff',
|
||||
visible: true,
|
||||
},
|
||||
{
|
||||
defaultColor: '#ffce45',
|
||||
hoverColor: '#ffce45',
|
||||
visible: true,
|
||||
},
|
||||
]
|
||||
},
|
||||
@@ -165,6 +171,13 @@ const cyber = {
|
||||
defaultColor: '#fc5531',
|
||||
hoverColor: '#f28b54',
|
||||
},
|
||||
btnBackup: {
|
||||
defaultColor: '#9c30cd',
|
||||
hoverColor: '#bf50fd',
|
||||
radius: 8,
|
||||
defaultLabel: '#ffffff',
|
||||
hoverLabel: '#ffffff',
|
||||
},
|
||||
},
|
||||
names: {
|
||||
btnSmall: {
|
||||
@@ -190,6 +203,8 @@ const dark = {
|
||||
[pages.THANKS]: "default/thanks",
|
||||
[pages.THEMES]: 'themes',
|
||||
[pages.SAVELOAD]: 'saveload',
|
||||
[pages.MODE]: 'default/mode',
|
||||
[pages.CELEBRITY]: 'default/celebrity',
|
||||
},
|
||||
popups: {
|
||||
[popups.ACHIEVEMENT]: "default/popup/achievementPopup",
|
||||
@@ -201,24 +216,27 @@ const dark = {
|
||||
defaultFontColor: '#eeeeee',
|
||||
trajectoryItem: {
|
||||
box: {
|
||||
filters: ()=>[new Laya.GlowFilter("#eeeeee", 8, 0, 0)],
|
||||
// filters: ()=>[new Laya.GlowFilter("#eeeeee", 8, 0, 0)],
|
||||
defaultStroke: '#eeeeee',
|
||||
hoverStroke: '#eeeeee',
|
||||
lineWidth: 2,
|
||||
},
|
||||
grade: [
|
||||
{
|
||||
defaultColor: '#4a5361',
|
||||
defaultColor: '#464646',
|
||||
hoverColor: '#4a5361',
|
||||
},
|
||||
{
|
||||
defaultColor: '#1160b0',
|
||||
hoverColor: '#1160b0',
|
||||
defaultColor: '#6495ed',
|
||||
hoverColor: '#87cefa',
|
||||
},
|
||||
{
|
||||
defaultColor: '#9379ca',
|
||||
hoverColor: '#9379ca',
|
||||
defaultColor: '#e2a7ff',
|
||||
hoverColor: '#e7beff',
|
||||
},
|
||||
{
|
||||
defaultColor: '#ab6157',
|
||||
hoverColor: '#ab6157',
|
||||
defaultColor: '#ffa07a',
|
||||
hoverColor: '#f7a989',
|
||||
},
|
||||
],
|
||||
ageColor: '#ffffee',
|
||||
@@ -411,7 +429,28 @@ const dark = {
|
||||
lineWidth: 4,
|
||||
radius: 0,
|
||||
}
|
||||
]
|
||||
],
|
||||
characterItem: {
|
||||
name: {
|
||||
defaultColor: '#393e46',
|
||||
defaultStroke: '#eeeeee',
|
||||
defaultLabel: '#eeeeee',
|
||||
hoverColor: '#ff7878',
|
||||
hoverStroke: '#eeeeee',
|
||||
hoverLabel: '#eeeeee',
|
||||
lineWidth: 2,
|
||||
},
|
||||
state: {
|
||||
defaultColor: '#393e46',
|
||||
defaultStroke: '#eeeeee',
|
||||
defaultLabel: '#eeeeee',
|
||||
hoverColor: '#393e46',
|
||||
hoverStroke: '#eeeeee',
|
||||
hoverLabel: '#eeeeee',
|
||||
lineWidth: 2,
|
||||
},
|
||||
propertyColor: '#000000',
|
||||
},
|
||||
},
|
||||
class: {
|
||||
btn_main: {
|
||||
@@ -424,6 +463,16 @@ const dark = {
|
||||
lineWidth: 2,
|
||||
radius: 4,
|
||||
},
|
||||
btn_main2: {
|
||||
defaultColor: '#ffa07a',
|
||||
defaultStroke: '#f8f8f8',
|
||||
defaultLabel: '#3b3b3b',
|
||||
hoverColor: '#ff7878',
|
||||
hoverStroke: '#f8f8f8',
|
||||
hoverLabel: '#eeeeee',
|
||||
lineWidth: 2,
|
||||
radius: 4,
|
||||
},
|
||||
btn_small: {
|
||||
defaultColor: '#5865f2',
|
||||
defaultStroke: '#eeeeee',
|
||||
@@ -475,7 +524,7 @@ const dark = {
|
||||
[pages.PROPERTY]: {
|
||||
vars: {
|
||||
btnRandomAllocate: 'btn_main',
|
||||
btnNext: 'btn_main',
|
||||
btnNext: 'btn_main2',
|
||||
title: 'title',
|
||||
},
|
||||
names: {
|
||||
@@ -607,6 +656,13 @@ const dark = {
|
||||
defaultColor: '#fc5531',
|
||||
hoverColor: '#f28b54',
|
||||
},
|
||||
btnBackup: {
|
||||
defaultColor: '#9c30cd',
|
||||
hoverColor: '#bf50fd',
|
||||
radius: 8,
|
||||
defaultLabel: '#ffffff',
|
||||
hoverLabel: '#ffffff',
|
||||
},
|
||||
},
|
||||
names: {
|
||||
btnSmall: {
|
||||
@@ -616,6 +672,18 @@ const dark = {
|
||||
}
|
||||
}
|
||||
},
|
||||
[pages.MODE]: {
|
||||
names: {
|
||||
font_default: 'font_default',
|
||||
btn: 'btn_main',
|
||||
}
|
||||
},
|
||||
[pages.CELEBRITY]: {
|
||||
vars: {
|
||||
btnRetry: 'btn_main',
|
||||
btnNext: 'btn_main2',
|
||||
}
|
||||
},
|
||||
},
|
||||
popups: {
|
||||
[popups.ACHIEVEMENT]: {
|
||||
@@ -644,6 +712,8 @@ const light = {
|
||||
[pages.THANKS]: "default/thanks",
|
||||
[pages.THEMES]: 'themes',
|
||||
[pages.SAVELOAD]: 'saveload',
|
||||
[pages.MODE]: 'default/mode',
|
||||
[pages.CELEBRITY]: 'default/celebrity',
|
||||
},
|
||||
popups: {
|
||||
[popups.ACHIEVEMENT]: "default/popup/achievementPopup",
|
||||
@@ -655,21 +725,27 @@ const light = {
|
||||
defaultFontColor: '#000000',
|
||||
trajectoryItem: {
|
||||
box: {
|
||||
filters: ()=>[new Laya.GlowFilter("#b1b1b1", 8, 0, 0)],
|
||||
// filters: ()=>[new Laya.GlowFilter("#b1b1b1", 8, 0, 0)],
|
||||
defaultStroke: '#b1b1b1',
|
||||
hoverStroke: '#b1b1b1',
|
||||
lineWidth: 2,
|
||||
},
|
||||
grade: [
|
||||
{},
|
||||
{
|
||||
defaultColor: '#55fffe',
|
||||
hoverColor: '#55fffe',
|
||||
defaultColor: '#ffffff',
|
||||
hoverColor: '#ededed',
|
||||
},
|
||||
{
|
||||
defaultColor: '#b17cff',
|
||||
hoverColor: '#b17cff',
|
||||
defaultColor: '#87cefa',
|
||||
hoverColor: '#6495ed',
|
||||
},
|
||||
{
|
||||
defaultColor: '#ffce45',
|
||||
hoverColor: '#ffce45',
|
||||
defaultColor: '#e7beff',
|
||||
hoverColor: '#e2a7ff',
|
||||
},
|
||||
{
|
||||
defaultColor: '#f7a989',
|
||||
hoverColor: '#ffa07a',
|
||||
},
|
||||
],
|
||||
ageColor: '#000000',
|
||||
@@ -860,7 +936,28 @@ const light = {
|
||||
lineWidth: 4,
|
||||
radius: 0,
|
||||
}
|
||||
]
|
||||
],
|
||||
characterItem: {
|
||||
name: {
|
||||
defaultColor: '#ffffff',
|
||||
defaultStroke: '#cccccc',
|
||||
defaultLabel: '#000000',
|
||||
hoverColor: '#ff7878',
|
||||
hoverStroke: '#cccccc',
|
||||
hoverLabel: '#ffffff',
|
||||
lineWidth: 2,
|
||||
},
|
||||
state: {
|
||||
defaultColor: '#ffffff',
|
||||
defaultStroke: '#cccccc',
|
||||
defaultLabel: '#000000',
|
||||
hoverColor: '#ffffff',
|
||||
hoverStroke: '#cccccc',
|
||||
hoverLabel: '#000000',
|
||||
lineWidth: 2,
|
||||
},
|
||||
propertyColor: '#000000',
|
||||
},
|
||||
},
|
||||
class: {
|
||||
btn_main: {
|
||||
@@ -873,6 +970,16 @@ const light = {
|
||||
lineWidth: 2,
|
||||
radius: 4,
|
||||
},
|
||||
btn_main2: {
|
||||
defaultColor: '#f7a989',
|
||||
defaultStroke: '#f8f8f8',
|
||||
defaultLabel: '#ffffff',
|
||||
hoverColor: '#ff7878',
|
||||
hoverStroke: '#f8f8f8',
|
||||
hoverLabel: '#ffffff',
|
||||
lineWidth: 2,
|
||||
radius: 4,
|
||||
},
|
||||
btn_small: {
|
||||
defaultColor: '#5865f2',
|
||||
defaultStroke: '#eeeeee',
|
||||
@@ -924,7 +1031,7 @@ const light = {
|
||||
[pages.PROPERTY]: {
|
||||
vars: {
|
||||
btnRandomAllocate: 'btn_main',
|
||||
btnNext: 'btn_main',
|
||||
btnNext: 'btn_main2',
|
||||
title: 'title',
|
||||
},
|
||||
names: {
|
||||
@@ -1056,6 +1163,13 @@ const light = {
|
||||
defaultColor: '#fc5531',
|
||||
hoverColor: '#f28b54',
|
||||
},
|
||||
btnBackup: {
|
||||
defaultColor: '#9c30cd',
|
||||
hoverColor: '#bf50fd',
|
||||
radius: 8,
|
||||
defaultLabel: '#ffffff',
|
||||
hoverLabel: '#ffffff',
|
||||
},
|
||||
},
|
||||
names: {
|
||||
btnSmall: {
|
||||
@@ -1065,6 +1179,18 @@ const light = {
|
||||
}
|
||||
}
|
||||
},
|
||||
[pages.MODE]: {
|
||||
names: {
|
||||
font_default: 'font_default',
|
||||
btn: 'btn_main',
|
||||
}
|
||||
},
|
||||
[pages.CELEBRITY]: {
|
||||
vars: {
|
||||
btnRetry: 'btn_main',
|
||||
btnNext: 'btn_main2',
|
||||
}
|
||||
},
|
||||
},
|
||||
popups: {
|
||||
[popups.ACHIEVEMENT]: {
|
||||
|
||||
215
test/index.js
215
test/index.js
@@ -1,8 +1,5 @@
|
||||
import { readFile } from 'fs/promises';
|
||||
import Life from '../src/life.js'
|
||||
|
||||
globalThis.json = async fileName => JSON.parse(await readFile(`data/${fileName}.json`));
|
||||
|
||||
import Life from '../src/modules/life.js'
|
||||
globalThis.localStorage = {};
|
||||
localStorage.getItem = key => localStorage[key]===void 0? null: localStorage[key];
|
||||
localStorage.setItem = (key, value) => (localStorage[key] = value);
|
||||
@@ -26,25 +23,48 @@ globalThis.$$off = (tag, fn) => {
|
||||
if(listener) listener.delete(fn);
|
||||
}
|
||||
|
||||
async function debug() {
|
||||
async function debug(config) {
|
||||
|
||||
const life = new Life();
|
||||
await life.initial();
|
||||
const core = new Life();
|
||||
core.config(config);
|
||||
await core.initial(
|
||||
async fileName => JSON.parse(await readFile(`public/data/zh-cn/${fileName}.json`)),
|
||||
async fileName => JSON.parse(await readFile(`public/data/${fileName}.json`)),
|
||||
);
|
||||
|
||||
life.restart({
|
||||
CHR: 5, // 颜值 charm CHR
|
||||
INT: 5, // 智力 intelligence INT
|
||||
STR: 5, // 体质 strength STR
|
||||
MNY: 5, // 家境 money MNY
|
||||
SPR: 5, // 快乐 spirit SPR
|
||||
// AGE: 100,
|
||||
TLT: [1134, 1048, 1114], // 天赋 talent TLT
|
||||
core.remake(
|
||||
core.talentRandom()
|
||||
.splice(0,3)
|
||||
.map(({id})=>id)
|
||||
);
|
||||
|
||||
let pts = core.getPropertyPoints();
|
||||
const limit = core.propertyAllocateLimit;
|
||||
const arr = new Array(4).fill(limit[1]);
|
||||
|
||||
while (pts > 0) {
|
||||
const sub = Math.round(Math.random() * (Math.min(pts, limit[1]) - 1)) + 1;
|
||||
while(true) {
|
||||
const select = Math.floor(Math.random() * 4) % 4;
|
||||
if(arr[select] - sub <0) continue;
|
||||
arr[select] -= sub;
|
||||
pts -= sub;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
core.start({
|
||||
CHR: limit[1] - arr[0], // 颜值 charm CHR
|
||||
INT: limit[1] - arr[1], // 智力 intelligence INT
|
||||
STR: limit[1] - arr[2], // 体质 strength STR
|
||||
MNY: limit[1] - arr[3], // 家境 money MNY
|
||||
});
|
||||
|
||||
const lifeTrajectory = [];
|
||||
let trajectory;
|
||||
do{
|
||||
try{
|
||||
trajectory = life.next();
|
||||
trajectory = core.next();
|
||||
} catch(e) {
|
||||
console.error(e);
|
||||
// debugger
|
||||
@@ -66,9 +86,168 @@ async function debug() {
|
||||
}
|
||||
).join('\n ')
|
||||
);
|
||||
if(age == 60) debugger
|
||||
// if(age == 60) debugger
|
||||
} while(!trajectory.isEnd)
|
||||
// debugger;
|
||||
}
|
||||
|
||||
debug();
|
||||
debug({
|
||||
defaultPropertyPoints: 20, // default number of points for a property
|
||||
talentSelectLimit: 3, // max number of talents that can be selected
|
||||
propertyAllocateLimit: [0, 10], // scoop of properties that can be allocated,
|
||||
defaultPropertys: { SPR: 5 }, // default properties
|
||||
talentConfig: { // config for talent
|
||||
talentPullCount: 10, // number of talents to pull from the talent pool
|
||||
talentRate: { 1:100, 2:10, 3:1, total: 1000 }, // rate of talent pull
|
||||
additions: {
|
||||
TMS: [
|
||||
[ 10, { 2: 1 }],
|
||||
[ 30, { 2: 2 }],
|
||||
[ 50, { 2: 3 }],
|
||||
[ 70, { 2: 4 }],
|
||||
[100, { 2: 5 }],
|
||||
],
|
||||
CACHV: [
|
||||
[ 10, { 2: 1 }],
|
||||
[ 30, { 2: 2 }],
|
||||
[ 50, { 2: 3 }],
|
||||
[ 70, { 2: 4 }],
|
||||
[100, { 2: 5 }],
|
||||
]
|
||||
},
|
||||
},
|
||||
propertyConfig: { // config for property
|
||||
judge: {
|
||||
// type: [min, grade, judge]
|
||||
RTLT: [
|
||||
[ 0, 0],
|
||||
[ 0.3, 1],
|
||||
[ 0.6, 2],
|
||||
[ 0.9, 3],
|
||||
],
|
||||
REVT: [
|
||||
[ 0, 0],
|
||||
[ 0.2, 1],
|
||||
[ 0.4, 2],
|
||||
[ 0.6, 3],
|
||||
],
|
||||
TMS: [
|
||||
[ 0, 0, 'UI_Remake_Times_Judge_Level_0'],
|
||||
[ 10, 1, 'UI_Remake_Times_Judge_Level_1'],
|
||||
[ 30, 1, 'UI_Remake_Times_Judge_Level_2'],
|
||||
[ 50, 2, 'UI_Remake_Times_Judge_Level_3'],
|
||||
[ 70, 2, 'UI_Remake_Times_Judge_Level_4'],
|
||||
[ 100, 3, 'UI_Remake_Times_Judge_Level_5'],
|
||||
],
|
||||
CACHV: [
|
||||
[ 0, 0, 'UI_Achievement_Count_Judge_Level_0'],
|
||||
[ 10, 1, 'UI_Achievement_Count_Judge_Level_1'],
|
||||
[ 30, 1, 'UI_Achievement_Count_Judge_Level_2'],
|
||||
[ 50, 2, 'UI_Achievement_Count_Judge_Level_3'],
|
||||
[ 70, 2, 'UI_Achievement_Count_Judge_Level_4'],
|
||||
[ 100, 3, 'UI_Achievement_Count_Judge_Level_5'],
|
||||
],
|
||||
HCHR: [
|
||||
[ 0, 0, 'UI_Judge_Level_0'],
|
||||
[ 1, 0, 'UI_Judge_Level_1'],
|
||||
[ 2, 0, 'UI_Judge_Level_2'],
|
||||
[ 4, 0, 'UI_Judge_Level_3'],
|
||||
[ 7, 1, 'UI_Judge_Level_4'],
|
||||
[ 9, 2, 'UI_Judge_Level_5'],
|
||||
[ 11, 3, 'UI_Judge_Level_6'],
|
||||
],
|
||||
HMNY: [
|
||||
[ 0, 0, 'UI_Judge_Level_0'],
|
||||
[ 1, 0, 'UI_Judge_Level_1'],
|
||||
[ 2, 0, 'UI_Judge_Level_2'],
|
||||
[ 4, 0, 'UI_Judge_Level_3'],
|
||||
[ 7, 1, 'UI_Judge_Level_4'],
|
||||
[ 9, 2, 'UI_Judge_Level_5'],
|
||||
[ 11, 3, 'UI_Judge_Level_6'],
|
||||
],
|
||||
HSPR: [
|
||||
[ 0, 0, 'UI_Spirit_Judge_Level_0'],
|
||||
[ 1, 0, 'UI_Spirit_Judge_Level_1'],
|
||||
[ 2, 0, 'UI_Spirit_Judge_Level_2'],
|
||||
[ 4, 0, 'UI_Spirit_Judge_Level_3'],
|
||||
[ 7, 1, 'UI_Spirit_Judge_Level_4'],
|
||||
[ 9, 2, 'UI_Spirit_Judge_Level_5'],
|
||||
[ 11, 3, 'UI_Spirit_Judge_Level_6'],
|
||||
],
|
||||
HINT: [
|
||||
[ 0, 0, 'UI_Judge_Level_0'],
|
||||
[ 1, 0, 'UI_Judge_Level_1'],
|
||||
[ 2, 0, 'UI_Judge_Level_2'],
|
||||
[ 4, 0, 'UI_Judge_Level_3'],
|
||||
[ 7, 1, 'UI_Judge_Level_4'],
|
||||
[ 9, 2, 'UI_Judge_Level_5'],
|
||||
[ 11, 3, 'UI_Judge_Level_6'],
|
||||
[ 21, 3, 'UI_Intelligence_Judge_Level_7'],
|
||||
[ 131, 3, 'UI_Intelligence_Judge_Level_8'],
|
||||
[ 501, 3, 'UI_Intelligence_Judge_Level_9'],
|
||||
],
|
||||
HSTR: [
|
||||
[ 0, 0, 'UI_Judge_Level_0'],
|
||||
[ 1, 0, 'UI_Judge_Level_1'],
|
||||
[ 2, 0, 'UI_Judge_Level_2'],
|
||||
[ 4, 0, 'UI_Judge_Level_3'],
|
||||
[ 7, 1, 'UI_Judge_Level_4'],
|
||||
[ 9, 2, 'UI_Judge_Level_5'],
|
||||
[ 11, 3, 'UI_Judge_Level_6'],
|
||||
[ 21, 3, 'UI_Strength_Judge_Level_7'],
|
||||
[ 101, 3, 'UI_Strength_Judge_Level_8'],
|
||||
[ 401, 3, 'UI_Strength_Judge_Level_9'],
|
||||
[1001, 3, 'UI_Strength_Judge_Level_10'],
|
||||
[2001, 3, 'UI_Strength_Judge_Level_11'],
|
||||
],
|
||||
HAGE: [
|
||||
[ 0, 0, 'UI_AGE_Judge_Level_0'],
|
||||
[ 1, 0, 'UI_AGE_Judge_Level_1'],
|
||||
[ 10, 0, 'UI_AGE_Judge_Level_2'],
|
||||
[ 18, 0, 'UI_AGE_Judge_Level_3'],
|
||||
[ 40, 0, 'UI_AGE_Judge_Level_4'],
|
||||
[ 60, 1, 'UI_AGE_Judge_Level_5'],
|
||||
[ 70, 1, 'UI_AGE_Judge_Level_6'],
|
||||
[ 80, 2, 'UI_AGE_Judge_Level_7'],
|
||||
[ 90, 2, 'UI_AGE_Judge_Level_8'],
|
||||
[ 95, 3, 'UI_AGE_Judge_Level_9'],
|
||||
[ 100, 3, 'UI_AGE_Judge_Level_10'],
|
||||
[ 500, 3, 'UI_AGE_Judge_Level_11'],
|
||||
],
|
||||
SUM: [
|
||||
[ 0, 0, 'UI_Judge_Level_0'],
|
||||
[ 41, 0, 'UI_Judge_Level_1'],
|
||||
[ 50, 0, 'UI_Judge_Level_2'],
|
||||
[ 60, 0, 'UI_Judge_Level_3'],
|
||||
[ 80, 1, 'UI_Judge_Level_4'],
|
||||
[ 100, 2, 'UI_Judge_Level_5'],
|
||||
[ 110, 3, 'UI_Judge_Level_6'],
|
||||
[ 120, 3, 'UI_Judge_Level_7'],
|
||||
],
|
||||
},
|
||||
},
|
||||
characterConfig: { // config for character
|
||||
characterPullCount: 3,
|
||||
rateableKnife: 10,
|
||||
propertyWeight: [
|
||||
[ 0, 1],
|
||||
[ 1, 2],
|
||||
[ 2, 3],
|
||||
[ 3, 4],
|
||||
[ 4, 5],
|
||||
[ 5, 6],
|
||||
[ 6, 5],
|
||||
[ 7, 4],
|
||||
[ 8, 3],
|
||||
[ 9, 2],
|
||||
[10, 1],
|
||||
],
|
||||
talentWeight: [
|
||||
[ 1, 1],
|
||||
[ 2, 2],
|
||||
[ 3, 3],
|
||||
[ 4, 2],
|
||||
[ 5, 1],
|
||||
],
|
||||
},
|
||||
});
|
||||
@@ -1,906 +0,0 @@
|
||||
@media (min-width:640px){html{font-size:24px;}}
|
||||
@media (min-width:631px) and (max-width:639px){html{font-size:23.66px;}}
|
||||
@media (min-width:622px) and (max-width:630px){html{font-size:23.33px;}}
|
||||
@media (min-width:613px) and (max-width:621px){html{font-size:23px;}}
|
||||
@media (min-width:604px) and (max-width:612px){html{font-size:22.66px;}}
|
||||
@media (min-width:595px) and (max-width:603px){html{font-size:22.33px;}}
|
||||
@media (min-width:586px) and (max-width:594px){html{font-size:22px;}}
|
||||
@media (min-width:577px) and (max-width:585px){html{font-size:21.66px;}}
|
||||
@media (min-width:568px) and (max-width:576px){html{font-size:21.33px;}}
|
||||
@media (min-width:559px) and (max-width:567px){html{font-size:21px;}}
|
||||
@media (min-width:550px) and (max-width:558px){html{font-size:20.66px;}}
|
||||
@media (min-width:541px) and (max-width:549px){html{font-size:20.33px;}}
|
||||
@media (min-width:533px) and (max-width:540px){html{font-size:20px;}}
|
||||
@media (min-width:524px) and (max-width:532px){html{font-size:19.66px;}}
|
||||
@media (min-width:515px) and (max-width:523px){html{font-size:19.33px;}}
|
||||
@media (min-width:506px) and (max-width:514px){html{font-size:19px;}}
|
||||
@media (min-width:497px) and (max-width:505px){html{font-size:18.66px;}}
|
||||
@media (min-width:488px) and (max-width:496px){html{font-size:18.33px;}}
|
||||
@media (min-width:480px) and (max-width:487px){html{font-size:18px;}}
|
||||
@media (min-width:471px) and (max-width:479px){html{font-size:17.66px;}}
|
||||
@media (min-width:462px) and (max-width:470px){html{font-size:17.33px;}}
|
||||
@media (min-width:453px) and (max-width:461px){html{font-size:17px;}}
|
||||
@media (min-width:444px) and (max-width:452px){html{font-size:17.12px;}}
|
||||
@media (min-width:435px) and (max-width:443px){html{font-size:16.33px;}}
|
||||
@media (min-width:426px) and (max-width:434px){html{font-size:16px;}}
|
||||
@media (min-width:417px) and (max-width:425px){html{font-size:15.66px;}}
|
||||
@media (min-width:408px) and (max-width:416px){html{font-size:15.33px;}}
|
||||
@media (min-width:400px) and (max-width:407px){html{font-size:15px;}}
|
||||
@media (min-width:391px) and (max-width:399px){html{font-size:14.66px;}}
|
||||
@media (min-width:382px) and (max-width:390px){html{font-size:14.33px;}}
|
||||
@media (min-width:374px) and (max-width:381px){html{font-size:14px;}}
|
||||
@media (min-width:365px) and (max-width:373px){html{font-size:13.66px;}}
|
||||
@media (min-width:356px) and (max-width:364px){html{font-size:13.33px;}}
|
||||
@media (min-width:347px) and (max-width:355px){html{font-size:13px;}}
|
||||
@media (min-width:338px) and (max-width:346px){html{font-size:12.66px;}}
|
||||
@media (min-width:329px) and (max-width:337px){html{font-size:12.44px;}}
|
||||
@media (max-width:328px){html{font-size:12px;}}
|
||||
|
||||
@font-face {
|
||||
font-family: 'iconfont';
|
||||
src: url('iconfont.woff2?t=1628944689555') format('woff2'),
|
||||
url('iconfont.woff?t=1628944689555') format('woff'),
|
||||
url('iconfont.ttf?t=1628944689555') format('truetype');
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
input[type="number"]{
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: #241619;
|
||||
font-family: PingFangSC, 'Noto Sans CJK SC', 'MS Yahei';
|
||||
}
|
||||
|
||||
body {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
max-width: 30rem;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#title {
|
||||
position: fixed;
|
||||
font-size: 3rem;
|
||||
font-weight: 700;
|
||||
top: 35%;
|
||||
left: 50%;
|
||||
white-space: nowrap;
|
||||
transform: translate(-50%, -50%);
|
||||
color: #ff9f27;
|
||||
}
|
||||
|
||||
#restart {
|
||||
position: fixed;
|
||||
top: 65%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
#restart .iconfont {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
#next {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#talentSelectedView {
|
||||
flex: 0 1 auto;
|
||||
}
|
||||
|
||||
.mainbtn {
|
||||
margin: 0.5rem 1rem 1rem;
|
||||
padding: 0.5rem 1.5rem;
|
||||
background-color: #4a0388;
|
||||
border: 1px #4a0388 solid;
|
||||
border-radius: 0.2rem;
|
||||
color: #ff197b;
|
||||
font-size: 1.6rem;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mainbtn:hover {
|
||||
background: #fd373c;
|
||||
color: #4a0388;
|
||||
transition: all .4s ease 0s;
|
||||
}
|
||||
|
||||
.btn-area {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.btn-area>.mainbtn {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
font-family: "iconfont" !important;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.sponsor,
|
||||
#rank,
|
||||
#specialthanks,
|
||||
#achievement {
|
||||
position: fixed;
|
||||
top: 4rem;
|
||||
right: 1rem;
|
||||
padding: 0.1rem;
|
||||
width: 6rem;
|
||||
border: none;
|
||||
border-radius: 0.2rem;
|
||||
background-color: #1a0c18;
|
||||
font-size: 1.4rem;
|
||||
color: #ff9f27;
|
||||
cursor: pointer;
|
||||
z-index:2;
|
||||
word-wrap: none;
|
||||
}
|
||||
|
||||
#specialthanks {
|
||||
background-color: #1a0c18;
|
||||
top: 1rem;
|
||||
}
|
||||
|
||||
.sponsor {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
width: auto;
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
#rank {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 1.5rem;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
#spthx {
|
||||
position: fixed;
|
||||
display: grid;
|
||||
top: 4rem;
|
||||
bottom: 5rem;
|
||||
left: 50%;
|
||||
width: 30rem;
|
||||
max-width: calc(100% - 2rem);
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
#spthx ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#spthx ul li {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#spthx ul.g1 {
|
||||
display: grid;
|
||||
max-block-size: 9rem;
|
||||
max-height: 9rem;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
#spthx ul.g1 li {
|
||||
display: inline-grid;
|
||||
background-color: orange;
|
||||
margin-bottom: 0.5rem;
|
||||
padding: 0.2rem 0;
|
||||
grid-template-columns: 7rem auto;
|
||||
}
|
||||
|
||||
#spthx ul.g1 li .name {
|
||||
padding: 0 0.5rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
#spthx ul.g1 li .comment {
|
||||
padding: 0 0.5rem;
|
||||
}
|
||||
|
||||
#spthx ul.g2 {
|
||||
color: white;
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
#spthx ul.g2 li {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
color: #ff9f27;
|
||||
position: relative;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 700;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
ul#total,
|
||||
#achievements {
|
||||
list-style-type: none;
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
grid-template-columns: 50% 50%;
|
||||
grid-auto-columns: max-content;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
ul#total li,
|
||||
#achievements li {
|
||||
position: relative;
|
||||
color: #ff9f27;
|
||||
display: inline-grid;
|
||||
margin: 0.5rem;
|
||||
width: 12rem;
|
||||
height: 6rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
ul#total li .achievementtitle,
|
||||
#achievements li .achievementtitle{
|
||||
font-weight: 700;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
#achievements {
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
#save,
|
||||
#load,
|
||||
#themeToggleBtn {
|
||||
padding: 0 0.7rem;
|
||||
width: 6.5rem;
|
||||
background-color: #1a0c18;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
font-size: 1.4rem;
|
||||
color: #ff9f27;
|
||||
line-height: 2.5rem;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
z-index:2;
|
||||
right: 0.5rem;
|
||||
bottom: 0.5rem;
|
||||
}
|
||||
|
||||
#themeToggleBtn {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#save {
|
||||
bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.head {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
height: 5.2rem;
|
||||
font-size: 1.4rem;
|
||||
white-space: nowrap;
|
||||
color: #ff9f27;
|
||||
}
|
||||
|
||||
.propinitial,
|
||||
.selectlist {
|
||||
list-style: none;
|
||||
flex: 1;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.lifeProperty {
|
||||
list-style: none;
|
||||
padding: 2rem 1rem 0.5rem 1rem;
|
||||
display: flex;
|
||||
color: #fd373c;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.lifeProperty>li {
|
||||
flex: 1;
|
||||
margin: 0.1rem 2px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px #fd373c solid;
|
||||
border-radius: 0.2rem;
|
||||
font-size: 1rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.lifeProperty>li>span:last-child {
|
||||
background: #fd373c;
|
||||
color: #4a0388;
|
||||
}
|
||||
|
||||
.selectlist>li {
|
||||
margin-bottom: 0.6rem;
|
||||
display: block;
|
||||
border: 1px #ff9f27 solid;
|
||||
border-radius: 0.2rem;
|
||||
color: #ff9f27;
|
||||
font-size: 1.2rem;
|
||||
line-height: 1.6;
|
||||
user-select: none;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.selectlist>li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.achvg0,
|
||||
.grade0b {
|
||||
background-color: #231815;
|
||||
border: #ff9f27 2px solid !important;
|
||||
color: #ff9f27 !important;
|
||||
}
|
||||
.achvg1,
|
||||
.grade1b {
|
||||
background-color: #3b3894;
|
||||
border: #ff9f27 2px solid !important;
|
||||
}
|
||||
|
||||
.achvg2,
|
||||
.grade2b {
|
||||
background-color: #470063;
|
||||
border: #ff9f27 2px solid !important;
|
||||
}
|
||||
|
||||
.achvg3,
|
||||
.grade3b {
|
||||
background-color: #f73c47;
|
||||
border: #ff9f27 2px solid !important;
|
||||
color: #f8ea8b !important;
|
||||
}
|
||||
|
||||
.mask::before {
|
||||
display: block;
|
||||
content: " ";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #241619;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
@media (min-width:1080px) {
|
||||
.grade0b:hover {
|
||||
background-color: #452915;
|
||||
transition: all .3s ease 0s;
|
||||
}
|
||||
|
||||
.grade1b:hover {
|
||||
background-color: #5553b3;
|
||||
transition: all .3s ease 0s;
|
||||
}
|
||||
|
||||
.grade2b:hover {
|
||||
background-color: #672183;
|
||||
transition: all .3s ease 0s;
|
||||
}
|
||||
|
||||
.grade3b:hover {
|
||||
background-color: #ff8561;
|
||||
transition: all .3s ease 0s;
|
||||
}
|
||||
}
|
||||
|
||||
.grade0b.selected,
|
||||
.grade1b.selected,
|
||||
.grade2b.selected,
|
||||
.grade3b.selected {
|
||||
box-shadow: #f74745 8px 4px 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.grade0b.selected::after,
|
||||
.grade1b.selected::after,
|
||||
.grade2b.selected::after,
|
||||
.grade3b.selected::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
background-color: #fe028b;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
box-shadow: 0 0 10px #fe028b;
|
||||
opacity: 0;
|
||||
animation: blink 3s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(-150%);
|
||||
}
|
||||
50% {
|
||||
opacity: .2;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateX(150%);
|
||||
}
|
||||
}
|
||||
|
||||
.grade0b.selected {
|
||||
background-color: #452915 !important;
|
||||
}
|
||||
|
||||
.grade1b.selected {
|
||||
background-color: #5553b3!important;
|
||||
}
|
||||
|
||||
.grade2b.selected {
|
||||
background-color: #672183 !important;
|
||||
}
|
||||
|
||||
.grade3b.selected {
|
||||
background-color: #ff8561 !important;
|
||||
}
|
||||
|
||||
.propinitial {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.propbtn:hover {
|
||||
color: #5c5c5c;
|
||||
transition: all .2s ease 0s;
|
||||
}
|
||||
|
||||
.propinitial>li {
|
||||
position: relative;
|
||||
margin: 0.1rem auto;
|
||||
padding: 0.2rem;
|
||||
display: inline-block;
|
||||
border-radius: 0.2rem;
|
||||
color: #ff9f27;
|
||||
font-size: 1.6rem;
|
||||
line-height: 2;
|
||||
}
|
||||
|
||||
.propinitial>li>input {
|
||||
height: 2.2rem;
|
||||
width: 2.2rem;
|
||||
margin: 0 0.5rem;
|
||||
padding: 0;
|
||||
font-size: 2rem;
|
||||
border: 0.1rem #ff9f27 solid;
|
||||
background-color: #393E46;
|
||||
color: #ff9f27;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.propbtn {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
font-size: 2rem;
|
||||
color: #ff9f27;
|
||||
}
|
||||
|
||||
.judge>li>span:nth-child(1),
|
||||
.lifeTrajectory>li>span:nth-child(1) {
|
||||
width: 5rem;
|
||||
text-align: right;
|
||||
}
|
||||
.judge>li>span:nth-child(2),
|
||||
.lifeTrajectory>li>span:nth-child(2) {
|
||||
flex: 1;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.lifeTrajectory {
|
||||
flex: 1;
|
||||
margin: 0.5rem 1rem;
|
||||
padding: 0;
|
||||
border: 1px #ff9f27 solid;
|
||||
background-color: #241619;
|
||||
border-radius: 4px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.lifeTrajectory>li {
|
||||
margin: 10px 0;
|
||||
padding: 5px 10px;
|
||||
display: flex;
|
||||
background-color: #231815;
|
||||
box-shadow: #ff9f27 0 0 0.4rem;
|
||||
color: #ff9f27;
|
||||
font-size: 1rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
.judge {
|
||||
list-style: none;
|
||||
flex: 1;
|
||||
margin: 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: 1px solid #ff9f27;
|
||||
border-radius: 4px;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
.judge>li {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: #231815;
|
||||
border-bottom: 1px solid #ff9f27;
|
||||
box-shadow: none;
|
||||
color: #ff9f27;
|
||||
}
|
||||
|
||||
.judge>li:last-child {
|
||||
border-bottom: 0
|
||||
}
|
||||
|
||||
.judge>li.grade1 span,
|
||||
.judge>li.grade1 {
|
||||
background-color: #3b3894;
|
||||
}
|
||||
|
||||
.judge>li.grade2 span,
|
||||
.judge>li.grade2 {
|
||||
background-color: #470063;
|
||||
}
|
||||
|
||||
.judge>li.grade3 span,
|
||||
.judge>li.grade3 {
|
||||
background-color: #f73c47;
|
||||
color: #f8ea8b !important;
|
||||
}
|
||||
|
||||
|
||||
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,400i,700");
|
||||
|
||||
:root {
|
||||
font-family: "Montserrat";
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
i {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.banners-container {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.banner {
|
||||
color: white;
|
||||
font-weight: 700;
|
||||
padding: 2rem;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.banner .banner-message {
|
||||
flex: 1;
|
||||
padding: 0 2rem;
|
||||
word-break: break-word;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.banner .banner-close {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0.1rem;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.banner .iconfont {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.banner .banner-close:hover {
|
||||
background: rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.banner.success {
|
||||
background: #c101f9;
|
||||
}
|
||||
|
||||
.banner.success::after {
|
||||
background: #c101f9;
|
||||
}
|
||||
|
||||
.banner.error {
|
||||
background: #ff3a3f;
|
||||
}
|
||||
|
||||
.banner.error::after {
|
||||
background: #ff3a3f;
|
||||
}
|
||||
|
||||
.banner.info {
|
||||
background: #282366;
|
||||
}
|
||||
|
||||
.banner.info::after {
|
||||
background: #282366;
|
||||
}
|
||||
|
||||
.banner::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 10%;
|
||||
width: 100%;
|
||||
bottom: 100%;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.banner:not(.visible) {
|
||||
display: none;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.banner.visible {
|
||||
box-shadow: 0 2px 2px 2px rgba(0, 0, 0, 0.12);
|
||||
animation-name: banner-in;
|
||||
animation-direction: forwards;
|
||||
animation-duration: 0.6s;
|
||||
animation-timing-function: ease-in-out;
|
||||
animation-fill-mode: forwards;
|
||||
animation-iteration-count: 1;
|
||||
}
|
||||
|
||||
@keyframes banner-in {
|
||||
0% {
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: translateY(10%);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.show-banner {
|
||||
appearance: none;
|
||||
background: #ededed;
|
||||
border: 0;
|
||||
padding: 1rem 2rem;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
text-transform: uppercase;
|
||||
margin: 0.25rem;
|
||||
}
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Copyright Akveo. All Rights Reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*/
|
||||
.eva-animation {
|
||||
animation-duration: 1s;
|
||||
animation-fill-mode: both;
|
||||
}
|
||||
|
||||
.eva-infinite {
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
|
||||
.eva-icon-shake {
|
||||
animation-name: eva-shake;
|
||||
}
|
||||
|
||||
.eva-icon-zoom {
|
||||
animation-name: eva-zoomIn;
|
||||
}
|
||||
|
||||
.eva-icon-pulse {
|
||||
animation-name: eva-pulse;
|
||||
}
|
||||
|
||||
.eva-icon-flip {
|
||||
animation-name: eva-flipInY;
|
||||
}
|
||||
|
||||
.eva-hover {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.eva-hover:hover .eva-icon-hover-shake,
|
||||
.eva-parent-hover:hover .eva-icon-hover-shake {
|
||||
animation-name: eva-shake;
|
||||
}
|
||||
|
||||
.eva-hover:hover .eva-icon-hover-zoom,
|
||||
.eva-parent-hover:hover .eva-icon-hover-zoom {
|
||||
animation-name: eva-zoomIn;
|
||||
}
|
||||
|
||||
.eva-hover:hover .eva-icon-hover-pulse,
|
||||
.eva-parent-hover:hover .eva-icon-hover-pulse {
|
||||
animation-name: eva-pulse;
|
||||
}
|
||||
|
||||
.eva-hover:hover .eva-icon-hover-flip,
|
||||
.eva-parent-hover:hover .eva-icon-hover-flip {
|
||||
animation-name: eva-flipInY;
|
||||
}
|
||||
|
||||
@keyframes eva-flipInY {
|
||||
from {
|
||||
transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
|
||||
animation-timing-function: ease-in;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
40% {
|
||||
transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
|
||||
animation-timing-function: ease-in;
|
||||
}
|
||||
|
||||
60% {
|
||||
transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: perspective(400px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes eva-shake {
|
||||
|
||||
from,
|
||||
to {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
10%,
|
||||
30%,
|
||||
50%,
|
||||
70%,
|
||||
90% {
|
||||
transform: translate3d(-3px, 0, 0);
|
||||
}
|
||||
|
||||
20%,
|
||||
40%,
|
||||
60%,
|
||||
80% {
|
||||
transform: translate3d(3px, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes eva-pulse {
|
||||
from {
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale3d(1.2, 1.2, 1.2);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes eva-zoomIn {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: scale3d(0.5, 0.5, 0.5);
|
||||
}
|
||||
|
||||
50% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0 !important
|
||||
}
|
||||
|
||||
.deleteFixed {
|
||||
margin: 0;
|
||||
padding: 0.5rem 1rem;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.operateBtn {
|
||||
padding: 0.5rem 1.5rem;
|
||||
border: 1px #EEEEEE solid;
|
||||
border-radius: 0.2rem;
|
||||
background-color:#393E46;
|
||||
font-size: 1.6rem;
|
||||
white-space: nowrap;
|
||||
transform: translate(-50%,-50%);
|
||||
cursor: pointer;
|
||||
z-index:2;
|
||||
color: #EEEEEE;
|
||||
}
|
||||
|
||||
.operateBtn:hover {
|
||||
background: #ff7878;
|
||||
color: #fff;
|
||||
transition: all .4s ease 0s;
|
||||
}
|
||||
|
||||
.domToImage2wx {
|
||||
position: fixed;
|
||||
z-index: 1111;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.domToImage2wx img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.github-corner,
|
||||
.discord-btn {
|
||||
background-color: #1a0c18 !important;
|
||||
color: #ff9f27 !important;
|
||||
}
|
||||
.github-corner > svg path.octo-arm,
|
||||
.github-corner > svg path.octo-body,
|
||||
.discord-btn > svg > g > path {
|
||||
fill: #ff9f27 !important;
|
||||
}
|
||||
@@ -20,6 +20,7 @@ module.exports = {
|
||||
publicPath: '/src',
|
||||
},
|
||||
],
|
||||
allowedHosts: "all",
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'public/chunk'),
|
||||
|
||||
47
yarn.lock
47
yarn.lock
@@ -1169,6 +1169,11 @@ anymatch@~3.1.2:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
argparse@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
|
||||
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
|
||||
|
||||
array-flatten@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
||||
@@ -1293,6 +1298,13 @@ brace-expansion@^1.1.7:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
braces@^3.0.1, braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
||||
@@ -2050,6 +2062,17 @@ glob@^7.1.3:
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^8.0.3:
|
||||
version "8.0.3"
|
||||
resolved "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
|
||||
integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^5.0.1"
|
||||
once "^1.3.0"
|
||||
|
||||
globals@^11.1.0:
|
||||
version "11.12.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
|
||||
@@ -2434,6 +2457,13 @@ js-tokens@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
js-yaml@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
|
||||
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
||||
dependencies:
|
||||
argparse "^2.0.1"
|
||||
|
||||
jsesc@^2.5.1:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
|
||||
@@ -2612,6 +2642,13 @@ minimatch@^3.0.4:
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
|
||||
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimist@^1.2.0, minimist@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
@@ -3537,12 +3574,14 @@ uuid@^3.4.0:
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
|
||||
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
|
||||
|
||||
v-transform@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/v-transform/-/v-transform-1.0.2.tgz#93f5be5e7ea6f070d544ab3d96569bace91c754d"
|
||||
integrity sha512-oBl76Q/JWVvglT3yHujWj6uNS4QygAERhdcdPKHpd47+K9+gotBUvCrdiVnizLscLzsz8GGi/KlOwZHnm9STxA==
|
||||
v-transform@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/v-transform/-/v-transform-2.0.1.tgz#7e3a0280e5044aa1fb8be0450a633f9c02ab28a4"
|
||||
integrity sha512-BgySbF1Ax44IclYppRdrznLRqx437ICF+OSc8afzjdA4UAV1sufeROdT+Uj02k0J0g4AtEbOTisFAXdBEiKlng==
|
||||
dependencies:
|
||||
commander "^8.2.0"
|
||||
glob "^8.0.3"
|
||||
js-yaml "^4.1.0"
|
||||
xlsx "^0.17.1"
|
||||
|
||||
v8-compile-cache@^2.2.0:
|
||||
|
||||
Reference in New Issue
Block a user