Initial commit: SlayMaple 로컬 워크스페이스 + Gitea 연동
- MSW 로컬 워크스페이스 데이터(Global/RootDesk/map/ui) 형상관리 시작 - Slay the Spire 풍 덱빌더 전투 프레임워크 초안 포함 - README.md: 협업(로컬 워크스페이스+git) 방식·구조·프레임워크 현황 문서화 - .gitignore: Authorization 토큰 포함된 .mcp.json/.codex 제외 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
20
.gitignore
vendored
Normal file
20
.gitignore
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# === 민감정보 / 도구 설정 (커밋 금지) ===
|
||||||
|
# MCP 서버 설정 — Authorization Bearer 토큰 포함
|
||||||
|
.mcp.json
|
||||||
|
# Codex CLI 로컬 설정 — Authorization Bearer 토큰 포함
|
||||||
|
.codex/
|
||||||
|
# Claude Code 로컬 설정
|
||||||
|
.claude/
|
||||||
|
|
||||||
|
# === OS / 에디터 잡파일 ===
|
||||||
|
Thumbs.db
|
||||||
|
desktop.ini
|
||||||
|
.DS_Store
|
||||||
|
*~
|
||||||
|
*.tmp
|
||||||
|
*.bak
|
||||||
|
|
||||||
|
# === MSW Maker 캐시 / 임시 ===
|
||||||
|
# (로컬 워크스페이스 데이터 본체 — Global/ RootDesk/ map/ ui/ — 는 형상관리 대상이므로 제외하지 않음)
|
||||||
|
McpScreenshots/
|
||||||
|
*.log
|
||||||
153
Global/ChaseMonster.model
Normal file
153
Global/ChaseMonster.model
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "model://chasemonster",
|
||||||
|
"ContentType": "x-mod/model",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.3.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Version": 1,
|
||||||
|
"Name": "ChaseMonster",
|
||||||
|
"BaseModelId": null,
|
||||||
|
"Id": "chasemonster",
|
||||||
|
"Components": [
|
||||||
|
"MOD.Core.TransformComponent",
|
||||||
|
"MOD.Core.StateAnimationComponent",
|
||||||
|
"MOD.Core.SpriteRendererComponent",
|
||||||
|
"MOD.Core.RigidbodyComponent",
|
||||||
|
"MOD.Core.MovementComponent",
|
||||||
|
"MOD.Core.AIChaseComponent",
|
||||||
|
"MOD.Core.StateComponent",
|
||||||
|
"MOD.Core.HitComponent",
|
||||||
|
"MOD.Core.DamageSkinSpawnerComponent",
|
||||||
|
"script.Monster",
|
||||||
|
"script.MonsterAttack",
|
||||||
|
"MOD.Core.KinematicbodyComponent",
|
||||||
|
"MOD.Core.SideviewbodyComponent"
|
||||||
|
],
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "speed",
|
||||||
|
"DisplayName": "speed",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "InputSpeed"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "jumpForce",
|
||||||
|
"DisplayName": "jumpForce",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "JumpForce"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "actionSheet",
|
||||||
|
"DisplayName": "actionSheet",
|
||||||
|
"ShowInInspector": false,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.StateAnimationComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "ActionSheet"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "renderguid",
|
||||||
|
"DisplayName": "renderguid",
|
||||||
|
"ShowInInspector": false,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "SpriteRUID"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.RenderSettingType, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "renderSetting",
|
||||||
|
"DisplayName": "renderSetting",
|
||||||
|
"ShowInInspector": false,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "RenderSetting"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Values": [
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "OrderInLayer",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "renderguid",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": "null"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "CollisionGroup",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.Physics.CollisionGroup, MOD.Core",
|
||||||
|
"Id": "8992acd1e8cd45838db6f10a7b41df09"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EventLinks": [],
|
||||||
|
"Children": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
82
Global/CollisionGroupSet.collisiongroupset
Normal file
82
Global/CollisionGroupSet.collisiongroupset
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "collisiongroupset://unique",
|
||||||
|
"ContentType": "x-mod/collisiongroupset",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "",
|
||||||
|
"StudioVersion": "",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Groups": [
|
||||||
|
{
|
||||||
|
"Id": "73017cc2ca884dfcb9fb98db7cc44848",
|
||||||
|
"Name": "Default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "MOD@TriggerBox",
|
||||||
|
"Name": "TriggerBox"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "MOD@HitBox",
|
||||||
|
"Name": "HitBox"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "MOD@Interaction",
|
||||||
|
"Name": "Interaction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "MOD@Portal",
|
||||||
|
"Name": "Portal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "MOD@Climbable",
|
||||||
|
"Name": "Climbable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "0639c22a20d34ec88be45b43fee3e333",
|
||||||
|
"Name": "Player"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8992acd1e8cd45838db6f10a7b41df09",
|
||||||
|
"Name": "Monster"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Matrix": {
|
||||||
|
"73017cc2ca884dfcb9fb98db7cc44848": [
|
||||||
|
"73017cc2ca884dfcb9fb98db7cc44848",
|
||||||
|
"0639c22a20d34ec88be45b43fee3e333",
|
||||||
|
"8992acd1e8cd45838db6f10a7b41df09"
|
||||||
|
],
|
||||||
|
"MOD@TriggerBox": [
|
||||||
|
"MOD@TriggerBox"
|
||||||
|
],
|
||||||
|
"MOD@HitBox": [
|
||||||
|
"MOD@HitBox"
|
||||||
|
],
|
||||||
|
"MOD@Interaction": [
|
||||||
|
"MOD@Interaction"
|
||||||
|
],
|
||||||
|
"MOD@Portal": [
|
||||||
|
"MOD@Portal"
|
||||||
|
],
|
||||||
|
"MOD@Climbable": [
|
||||||
|
"MOD@Climbable"
|
||||||
|
],
|
||||||
|
"0639c22a20d34ec88be45b43fee3e333": [
|
||||||
|
"73017cc2ca884dfcb9fb98db7cc44848",
|
||||||
|
"8992acd1e8cd45838db6f10a7b41df09"
|
||||||
|
],
|
||||||
|
"8992acd1e8cd45838db6f10a7b41df09": [
|
||||||
|
"73017cc2ca884dfcb9fb98db7cc44848",
|
||||||
|
"0639c22a20d34ec88be45b43fee3e333"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
19
Global/CustomAvatarAction.avataraction
Normal file
19
Global/CustomAvatarAction.avataraction
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "avataraction://unique",
|
||||||
|
"ContentType": "x-mod/avataraction",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.3.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Data": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
19
Global/CustomBodyAction.bodyaction
Normal file
19
Global/CustomBodyAction.bodyaction
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "bodyaction://unique",
|
||||||
|
"ContentType": "x-mod/bodyaction",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.3.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Data": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
Global/CustomFontGroupSet.config
Normal file
21
Global/CustomFontGroupSet.config
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "config://customfont",
|
||||||
|
"ContentType": "x-mod/config",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.3.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Fonts": [],
|
||||||
|
"Groups": [],
|
||||||
|
"config_id": "config://customfont"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
305
Global/DefaultPlayer.model
Normal file
305
Global/DefaultPlayer.model
Normal file
@@ -0,0 +1,305 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "model://defaultplayer",
|
||||||
|
"ContentType": "x-mod/model",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Version": 1,
|
||||||
|
"Name": "DefaultPlayer",
|
||||||
|
"BaseModelId": "player",
|
||||||
|
"Id": "defaultplayer",
|
||||||
|
"Components": [
|
||||||
|
"script.PlayerHit",
|
||||||
|
"script.PlayerAttack"
|
||||||
|
],
|
||||||
|
"Properties": [],
|
||||||
|
"Values": [
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "speed",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "jumpForce",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "walkAcceleration",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "gravity",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "cameraDeadZone",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.052,
|
||||||
|
"y": 0.08
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "cameraSoftZone",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.268,
|
||||||
|
"y": 0.7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "cameraDamping",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 2.5,
|
||||||
|
"y": 3.9
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "cameraScreen",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.655
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "cameraDutch",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 0.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "cameraOffset",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "nameTag",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "damageSkinId",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODDataRef, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODDataRef, MOD.Core",
|
||||||
|
"DataId": "3271c3e79bf04ecba9a107d55495970d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "damageDelayPerAttack",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 0.05
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "triggerBodyBoxSize",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.66,
|
||||||
|
"y": 0.7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "triggerBodyBoxOffset",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.35
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "triggerBodyColliderOffset",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.35
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": null,
|
||||||
|
"Name": "maxHp",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.CameraComponent",
|
||||||
|
"Name": "ZoomRatioMax",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 500.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.PlayerHit",
|
||||||
|
"Name": "CollisionGroup",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.Physics.CollisionGroup, MOD.Core",
|
||||||
|
"Id": "0639c22a20d34ec88be45b43fee3e333"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.PlayerHit",
|
||||||
|
"Name": "BoxSize",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.45,
|
||||||
|
"y": 0.7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.PlayerHit",
|
||||||
|
"Name": "ColliderOffset",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.35
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MovementComponent",
|
||||||
|
"Name": "JumpForce",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MovementComponent",
|
||||||
|
"Name": "InputSpeed",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.PlayerComponent",
|
||||||
|
"Name": "MaxHp",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.DamageSkinSettingComponent",
|
||||||
|
"Name": "DamageSkinId",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODDataRef, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODDataRef, MOD.Core",
|
||||||
|
"DataId": "3271c3e79bf04ecba9a107d55495970d"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EventLinks": [],
|
||||||
|
"Children": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
144
Global/MoveMonster.model
Normal file
144
Global/MoveMonster.model
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "model://movemonster",
|
||||||
|
"ContentType": "x-mod/model",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.3.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Version": 1,
|
||||||
|
"Name": "MoveMonster",
|
||||||
|
"BaseModelId": null,
|
||||||
|
"Id": "movemonster",
|
||||||
|
"Components": [
|
||||||
|
"MOD.Core.TransformComponent",
|
||||||
|
"MOD.Core.StateAnimationComponent",
|
||||||
|
"MOD.Core.SpriteRendererComponent",
|
||||||
|
"MOD.Core.RigidbodyComponent",
|
||||||
|
"MOD.Core.MovementComponent",
|
||||||
|
"MOD.Core.AIWanderComponent",
|
||||||
|
"MOD.Core.StateComponent",
|
||||||
|
"MOD.Core.HitComponent",
|
||||||
|
"MOD.Core.DamageSkinSpawnerComponent",
|
||||||
|
"script.Monster",
|
||||||
|
"script.MonsterAttack",
|
||||||
|
"MOD.Core.KinematicbodyComponent",
|
||||||
|
"MOD.Core.SideviewbodyComponent"
|
||||||
|
],
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "speed",
|
||||||
|
"DisplayName": "speed",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "InputSpeed"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "jumpForce",
|
||||||
|
"DisplayName": "jumpForce",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MovementComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "JumpForce"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "actionSheet",
|
||||||
|
"DisplayName": "actionSheet",
|
||||||
|
"ShowInInspector": false,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.StateAnimationComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "ActionSheet"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "renderguid",
|
||||||
|
"DisplayName": "renderguid",
|
||||||
|
"ShowInInspector": false,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "SpriteRUID"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.RenderSettingType, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "renderSetting",
|
||||||
|
"DisplayName": "renderSetting",
|
||||||
|
"ShowInInspector": false,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.SpriteRendererComponent, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "RenderSetting"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Values": [
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "OrderInLayer",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "CollisionGroup",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.3.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.Physics.CollisionGroup, MOD.Core",
|
||||||
|
"Id": "8992acd1e8cd45838db6f10a7b41df09"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EventLinks": [],
|
||||||
|
"Children": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
352
Global/Player.model
Normal file
352
Global/Player.model
Normal file
@@ -0,0 +1,352 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "model://player",
|
||||||
|
"ContentType": "x-mod/model",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "",
|
||||||
|
"StudioVersion": "",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Version": 1,
|
||||||
|
"Name": "Player",
|
||||||
|
"BaseModelId": null,
|
||||||
|
"Id": "player",
|
||||||
|
"Components": [
|
||||||
|
"MOD.Core.TransformComponent",
|
||||||
|
"MOD.Core.MovementComponent",
|
||||||
|
"MOD.Core.RigidbodyComponent",
|
||||||
|
"MOD.Core.KinematicbodyComponent",
|
||||||
|
"MOD.Core.StateComponent",
|
||||||
|
"MOD.Core.AvatarRendererComponent",
|
||||||
|
"MOD.Core.CostumeManagerComponent",
|
||||||
|
"MOD.Core.HitEffectSpawnerComponent",
|
||||||
|
"MOD.Core.DamageSkinSpawnerComponent",
|
||||||
|
"MOD.Core.CameraComponent",
|
||||||
|
"MOD.Core.PlayerControllerComponent",
|
||||||
|
"MOD.Core.PlayerComponent",
|
||||||
|
"MOD.Core.ChatBalloonComponent",
|
||||||
|
"MOD.Core.NameTagComponent",
|
||||||
|
"MOD.Core.DamageSkinSettingComponent",
|
||||||
|
"MOD.Core.TriggerComponent",
|
||||||
|
"MOD.Core.InventoryComponent",
|
||||||
|
"MOD.Core.AvatarStateAnimationComponent",
|
||||||
|
"MOD.Core.SideviewbodyComponent"
|
||||||
|
],
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "speed",
|
||||||
|
"DisplayName": "speed",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MovementComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "InputSpeed"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "jumpForce",
|
||||||
|
"DisplayName": "jumpForce",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MovementComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "JumpForce"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "walkAcceleration",
|
||||||
|
"DisplayName": "walkAcceleration",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.RigidbodyComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "WalkAcceleration"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "gravity",
|
||||||
|
"DisplayName": "gravity",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.RigidbodyComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "Gravity"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "cameraDeadZone",
|
||||||
|
"DisplayName": "cameraDeadZone",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "DeadZone"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "cameraSoftZone",
|
||||||
|
"DisplayName": "cameraSoftZone",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "SoftZone"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "cameraDamping",
|
||||||
|
"DisplayName": "cameraDamping",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "Damping"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "cameraScreen",
|
||||||
|
"DisplayName": "cameraScreen",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "ScreenOffset"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "cameraDutch",
|
||||||
|
"DisplayName": "cameraDutch",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "DutchAngle"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "cameraOffset",
|
||||||
|
"DisplayName": "cameraOffset",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.CameraComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "CameraOffset"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "message",
|
||||||
|
"DisplayName": "message",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.ChatBalloonComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "Message"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "chatModeEnabled",
|
||||||
|
"DisplayName": "chatModeEnabled",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.ChatBalloonComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "ChatModeEnabled"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "nameTag",
|
||||||
|
"DisplayName": "nameTag",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.NameTagComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "Name"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODDataRef, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "damageSkinId",
|
||||||
|
"DisplayName": "damageSkinId",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.DamageSkinSettingComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "DamageSkinId"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "damageDelayPerAttack",
|
||||||
|
"DisplayName": "damageDelayPerAttack",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.DamageSkinSettingComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "DelayPerAttack"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "triggerBodyBoxSize",
|
||||||
|
"DisplayName": "triggerBodyBoxSize",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.TriggerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "BoxSize"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "triggerBodyBoxOffset",
|
||||||
|
"DisplayName": "triggerBodyBoxOffset",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.TriggerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "BoxOffset"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Name": "triggerBodyColliderOffset",
|
||||||
|
"DisplayName": "triggerBodyColliderOffset",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.TriggerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "ColliderOffset"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Name": "maxHp",
|
||||||
|
"DisplayName": "maxHp",
|
||||||
|
"ShowInInspector": true,
|
||||||
|
"Link": {
|
||||||
|
"Target": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.PlayerComponent, MOD.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Property": "MaxHp"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Values": [],
|
||||||
|
"EventLinks": [],
|
||||||
|
"Children": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
30
Global/SectorConfig.config
Normal file
30
Global/SectorConfig.config
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "config://sectors",
|
||||||
|
"ContentType": "x-mod/config",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "1.21.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Sectors": [
|
||||||
|
{
|
||||||
|
"id": "sector01",
|
||||||
|
"name": "sector01",
|
||||||
|
"maxUserNo": 16,
|
||||||
|
"entries": [
|
||||||
|
"map://map01"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"AllowOverMaxEntryCountPerSector": false,
|
||||||
|
"config_id": "config://sectors"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
28
Global/WorldConfig.config
Normal file
28
Global/WorldConfig.config
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "config://world",
|
||||||
|
"ContentType": "x-mod/config",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"LegacyAnimationSupport": false,
|
||||||
|
"PlayerEntityAuthorityCheck": false,
|
||||||
|
"ServiceAuthorityCheck": false,
|
||||||
|
"RestrictedPlayerEntitySync": false,
|
||||||
|
"SourceLanguage": "ko",
|
||||||
|
"UseExtendedScriptFormat": false,
|
||||||
|
"UseLitDefaultMaterial": false,
|
||||||
|
"worldCoreVersion": "26.5.0.0",
|
||||||
|
"worldStudioVersion": "0.1.0.0",
|
||||||
|
"useService": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
37
Global/common.gamelogic
Normal file
37
Global/common.gamelogic
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "gamelogic://77c34f19becf4fe8ab62762e5cb95357",
|
||||||
|
"ContentType": "x-mod/gamelogic",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Binary",
|
||||||
|
"Entities": [
|
||||||
|
{
|
||||||
|
"id": "b447311c-6f03-4ba1-aad0-8f0fe58df5c1",
|
||||||
|
"path": "/common",
|
||||||
|
"componentNames": "",
|
||||||
|
"jsonString": {
|
||||||
|
"name": "common",
|
||||||
|
"path": "/common",
|
||||||
|
"nameEditable": false,
|
||||||
|
"enable": true,
|
||||||
|
"visible": true,
|
||||||
|
"localize": false,
|
||||||
|
"displayOrder": 0,
|
||||||
|
"pathConstraints": "/",
|
||||||
|
"revision": 1,
|
||||||
|
"modelId": null,
|
||||||
|
"@components": [],
|
||||||
|
"@version": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
120
README.md
Normal file
120
README.md
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
# SlayMaple
|
||||||
|
|
||||||
|
[MapleStory Worlds(MSW)](https://maplestoryworlds.nexon.com/) 기반으로 제작하는 **Slay the Spire 풍 덱빌더 로그라이크** 월드.
|
||||||
|
턴제 카드 전투, 덱 구성, 보상 선택, 맵 노드 진행을 메이플 월드 위에서 구현하는 것을 목표로 합니다.
|
||||||
|
|
||||||
|
> 이 저장소는 MSW **로컬 워크스페이스(Local Workspace)** 데이터를 git으로 형상관리하기 위한 것입니다.
|
||||||
|
> 공동작업자는 이 저장소를 통해 월드 데이터를 주고받습니다. (클라우드 공동제작 모드 미사용)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 협업 방식 (중요)
|
||||||
|
|
||||||
|
MSW에는 두 가지 공동작업 모드가 있고, 이 프로젝트는 **로컬 워크스페이스 + git** 방식을 사용합니다.
|
||||||
|
|
||||||
|
| | 클라우드 공동제작 | **로컬 워크스페이스 + git (이 프로젝트)** |
|
||||||
|
|---|---|---|
|
||||||
|
| 데이터 위치 | 넥슨 클라우드 단일 월드 | 각자 PC 로컬 + git 원격 |
|
||||||
|
| 공유 단위 | Check In / Check Out | `git commit` / `push` / `pull` |
|
||||||
|
| 충돌 처리 | 엔티티 잠금 | git merge |
|
||||||
|
|
||||||
|
> ⚠️ 로컬 워크스페이스를 켜면 메이커 내 실시간 동기화(클라우드 공동제작)는 비활성화됩니다.
|
||||||
|
> 따라서 **변경 공유는 전적으로 git을 통해** 이루어집니다.
|
||||||
|
|
||||||
|
### 내 작업을 공유하기
|
||||||
|
```bash
|
||||||
|
git add .
|
||||||
|
git commit -m "작업 내용"
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
|
||||||
|
### 공동작업자 작업 받아오기
|
||||||
|
```bash
|
||||||
|
git pull
|
||||||
|
```
|
||||||
|
받아온 뒤, 메이커에서 **로컬 워크스페이스를 다시 로드(reload)** 해야 새 codeblock/모델 파일이 에디터 상태로 반영됩니다.
|
||||||
|
|
||||||
|
> 💡 같은 파일을 동시에 수정하면 git 충돌이 날 수 있으니, **서로 다른 맵/codeblock/UI를 나눠서** 작업하는 것을 권장합니다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 디렉토리 구조
|
||||||
|
|
||||||
|
```
|
||||||
|
slaymaple/
|
||||||
|
├── Global/ # 월드 전역 설정 · 공용 모델 · 게임로직
|
||||||
|
│ ├── common.gamelogic # SlayCardCatalog / SlayRunState / SlayCombatManager 부착 지점
|
||||||
|
│ ├── Player.model # 플레이어 모델
|
||||||
|
│ ├── *.model # 몬스터 등 공용 모델
|
||||||
|
│ ├── WorldConfig.config # 월드 설정
|
||||||
|
│ └── ...
|
||||||
|
├── RootDesk/
|
||||||
|
│ └── MyDesk/ # 작업용 책상 — codeblock(스크립트)·모델·타일셋
|
||||||
|
│ ├── Monster.codeblock
|
||||||
|
│ ├── MonsterAttack.codeblock
|
||||||
|
│ ├── PlayerAttack.codeblock
|
||||||
|
│ ├── PlayerHit.codeblock
|
||||||
|
│ ├── UIPopup.codeblock
|
||||||
|
│ ├── UIToast.codeblock
|
||||||
|
│ └── RectTileData_Henesys.tileset
|
||||||
|
├── map/
|
||||||
|
│ └── map01.map # 메인 맵
|
||||||
|
├── ui/ # UI 그룹 (Default / Popup / Toast)
|
||||||
|
├── docs/
|
||||||
|
│ └── slaymaple_basic_framework.md # 전투 프레임워크 설계 문서
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
> `.mcp.json`, `.codex/` 는 **Authorization 토큰이 포함**되어 있어 git에서 제외됩니다(`.gitignore`). 각자 로컬에서 직접 구성하세요.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 게임 프레임워크 현황
|
||||||
|
|
||||||
|
`Global/common.gamelogic`의 `/common` 엔티티에 부착된 세 컴포넌트가 전투의 핵심입니다.
|
||||||
|
|
||||||
|
| 컴포넌트 | 역할 |
|
||||||
|
|---|---|
|
||||||
|
| `SlayCardCatalog` | 카드 데이터, 시작 덱 구성, 보상 풀, 카드 복제 정의 |
|
||||||
|
| `SlayRunState` | HP·골드·층수·덱·유물·카드 보상 등 런(run) 영속 데이터 관리 |
|
||||||
|
| `SlayCombatManager` | 턴 진행, 드로우/버림/소멸 더미, 에너지, 적 의도, 방어도, 데미지, 승패 처리 |
|
||||||
|
|
||||||
|
### 프로토타입 흐름
|
||||||
|
1. `SlayRunState`가 HP 80 · 10장 시작 덱으로 새 런 시작
|
||||||
|
2. `SlayCombatManager`가 데모 전투 자동 시작
|
||||||
|
3. 매 플레이어 턴: 에너지 3 회복, 방어도 초기화, 적 의도 갱신, 5장 드로우
|
||||||
|
4. 카드 사용 시 에너지 소모 → 데미지/방어/드로우/에너지/상태이상 적용 → 버림 또는 소멸
|
||||||
|
5. 턴 종료 시 손패 버림, 적 의도 실행, 상태이상 처리, 다음 턴 시작
|
||||||
|
6. 전투 승리 시 잔여 HP 저장, 골드 15 지급, 카드 보상 3종 생성
|
||||||
|
|
||||||
|
### 유용한 스크립트 호출
|
||||||
|
`/common` 엔티티에 붙은 스크립트에서:
|
||||||
|
```lua
|
||||||
|
self.Entity.SlayCombatManager:PlayCard(1, 1)
|
||||||
|
self.Entity.SlayCombatManager:EndPlayerTurn()
|
||||||
|
self.Entity.SlayCombatManager:DebugPlayFirstPlayable()
|
||||||
|
self.Entity.SlayRunState:PickReward(1)
|
||||||
|
self.Entity.SlayCombatManager:StartCombat("elite")
|
||||||
|
```
|
||||||
|
|
||||||
|
상세 설계는 [`docs/slaymaple_basic_framework.md`](docs/slaymaple_basic_framework.md) 참조.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 다음 구현 단계
|
||||||
|
- [ ] HP·방어도·에너지·적 의도·손패 5버튼을 렌더링하는 전투 UI
|
||||||
|
- [ ] 전투/엘리트/상점/휴식/이벤트/보스 노드를 가진 맵 노드 UI
|
||||||
|
- [ ] `OnCombatStart` / `OnCardPlayed` / `OnTurnStart` / `OnCombatReward` 훅을 가진 유물 시스템
|
||||||
|
- [ ] 적 행동 패턴을 데이터로 정의 (현재 단순 의도 패턴 → 무브셋)
|
||||||
|
- [ ] 런 루프 완성 후 저장/불러오기
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 신규 참여자 셋업
|
||||||
|
1. 저장소 클론
|
||||||
|
```bash
|
||||||
|
git clone https://gitea.gahusb.synology.me/gahusb/maplecontest.git slaymaple
|
||||||
|
```
|
||||||
|
2. MSW Maker에서 이 폴더를 **로컬 워크스페이스 경로**로 지정해 월드 열기
|
||||||
|
3. `.mcp.json` / `.codex/` 는 git에 없으므로, 본인 토큰으로 직접 생성 (MCP·Codex 사용 시)
|
||||||
|
4. 작업 전 항상 `git pull`, 작업 후 `git add/commit/push`
|
||||||
23
RootDesk/MyDesk.directory
Normal file
23
RootDesk/MyDesk.directory
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "directory://076456cd4f7d4cb195f981e977106e5a",
|
||||||
|
"ContentType": "x-mod/directory",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"entry_id": "directory://076456cd4f7d4cb195f981e977106e5a",
|
||||||
|
"name": "MyDesk",
|
||||||
|
"lock": false,
|
||||||
|
"folding": false,
|
||||||
|
"nameEditable": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
463
RootDesk/MyDesk/Model_monster-43.model
Normal file
463
RootDesk/MyDesk/Model_monster-43.model
Normal file
@@ -0,0 +1,463 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "model://05cf4e2a-3f39-445d-a2ce-58b50e538a40",
|
||||||
|
"ContentType": "x-mod/model",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"Version": 1,
|
||||||
|
"Name": "Model_monster-43",
|
||||||
|
"BaseModelId": null,
|
||||||
|
"Id": "05cf4e2a-3f39-445d-a2ce-58b50e538a40",
|
||||||
|
"Components": [
|
||||||
|
"MOD.Core.TransformComponent",
|
||||||
|
"MOD.Core.StateAnimationComponent",
|
||||||
|
"MOD.Core.SpriteRendererComponent",
|
||||||
|
"MOD.Core.RigidbodyComponent",
|
||||||
|
"MOD.Core.MovementComponent",
|
||||||
|
"MOD.Core.AIWanderComponent",
|
||||||
|
"MOD.Core.StateComponent",
|
||||||
|
"MOD.Core.HitComponent",
|
||||||
|
"MOD.Core.DamageSkinSpawnerComponent",
|
||||||
|
"script.Monster",
|
||||||
|
"script.MonsterAttack",
|
||||||
|
"MOD.Core.KinematicbodyComponent",
|
||||||
|
"MOD.Core.SideviewbodyComponent"
|
||||||
|
],
|
||||||
|
"Properties": [],
|
||||||
|
"Values": [
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.TransformComponent",
|
||||||
|
"Name": "Position",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector3, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector3, MOD.Core",
|
||||||
|
"x": -1.84943926,
|
||||||
|
"y": 1.27528822,
|
||||||
|
"z": 999.999
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.TransformComponent",
|
||||||
|
"Name": "QuaternionRotation",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODQuaternion, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODQuaternion, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"w": 1.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.TransformComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.StateAnimationComponent",
|
||||||
|
"Name": "ActionSheet",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODSyncDictionary`2[[System.String, mscorlib],[System.String, mscorlib]], MOD.Core",
|
||||||
|
"stand": "3eb72eab0a394c78b13e88c8dc4a5ed0",
|
||||||
|
"move": "c96c11f9a3f845a4b6a27d9ca10ab103",
|
||||||
|
"hit": "4b67b539c09d4ce183ae6a73f908511f",
|
||||||
|
"die": "7681817f225a4245a27943da77d5f5b1",
|
||||||
|
"skill": "75c873675b6d45c38f24c8d7b98b4800",
|
||||||
|
"attack": "9db703c9da694490965897db7f2d4d92",
|
||||||
|
"skill2": "beabf049b5e34c25907ae69d2c1f835e",
|
||||||
|
"skill3": "e84c350104ca436b93db6c502faf53b3",
|
||||||
|
"skill4": "a5fb992ff4c04431a171bdd2fbfb372c",
|
||||||
|
"skillAfter4": "53de30457ceb44eca4ef2a81396e6adb",
|
||||||
|
"attack2": "52c1da942bec459b9d46c81c03233c0c"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.StateAnimationComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "ActionSheet",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String, mscorlib]], mscorlib"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "EndFrameIndex",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "OrderInLayer",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "RenderSetting",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.RenderSettingType, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "SortingLayer",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": "MapLayer0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "SpriteRUID",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": "c96c11f9a3f845a4b6a27d9ca10ab103"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "StartFrameIndex",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SpriteRendererComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.RigidbodyComponent",
|
||||||
|
"Name": "MoveVelocity",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.RigidbodyComponent",
|
||||||
|
"Name": "RealMoveVelocity",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.RigidbodyComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MovementComponent",
|
||||||
|
"Name": "InputSpeed",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MovementComponent",
|
||||||
|
"Name": "JumpForce",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": 0.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MovementComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.AIWanderComponent",
|
||||||
|
"Name": "IsLegacy",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.AIWanderComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.StateComponent",
|
||||||
|
"Name": "IsLegacy",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.StateComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "BoxSize",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.87,
|
||||||
|
"y": 1.04
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "ColliderOffset",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0150000155,
|
||||||
|
"y": 0.669999957
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "CollisionGroup",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.Physics.CollisionGroup, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.Physics.CollisionGroup, MOD.Core",
|
||||||
|
"Id": "8992acd1e8cd45838db6f10a7b41df09"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "IsLegacy",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.HitComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.DamageSkinSpawnerComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.Monster",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.Monster",
|
||||||
|
"Name": "IsDead",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.MonsterAttack",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.MonsterAttack",
|
||||||
|
"Name": "SpriteSize",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "script.MonsterAttack",
|
||||||
|
"Name": "PositionOffset",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.KinematicbodyComponent",
|
||||||
|
"Name": "MoveVelocity",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.KinematicbodyComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SideviewbodyComponent",
|
||||||
|
"Name": "MoveVelocity",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "MOD.Core.MODVector2, MOD.Core, Version=26.5.0.0, Culture=neutral, PublicKeyToken=null"
|
||||||
|
},
|
||||||
|
"Value": {
|
||||||
|
"$type": "MOD.Core.MODVector2, MOD.Core",
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.SideviewbodyComponent",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MODEntity",
|
||||||
|
"Name": "Enable",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"TargetType": "MOD.Core.MODEntity",
|
||||||
|
"Name": "Visible",
|
||||||
|
"ValueType": {
|
||||||
|
"$type": "MODNativeType",
|
||||||
|
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||||
|
},
|
||||||
|
"Value": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EventLinks": [],
|
||||||
|
"Children": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
146
RootDesk/MyDesk/Monster.codeblock
Normal file
146
RootDesk/MyDesk/Monster.codeblock
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "codeblock://monster",
|
||||||
|
"ContentType": "x-mod/codeblock",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"CoreVersion": {
|
||||||
|
"Major": 0,
|
||||||
|
"Minor": 2
|
||||||
|
},
|
||||||
|
"ScriptVersion": {
|
||||||
|
"Major": 1,
|
||||||
|
"Minor": 3
|
||||||
|
},
|
||||||
|
"Description": "",
|
||||||
|
"Id": "Monster",
|
||||||
|
"Language": 1,
|
||||||
|
"Name": "Monster",
|
||||||
|
"Type": 1,
|
||||||
|
"Source": 1,
|
||||||
|
"Target": null,
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "100",
|
||||||
|
"SyncDirection": 3,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "MaxHp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0",
|
||||||
|
"SyncDirection": 3,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "Hp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"SyncDirection": 3,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "RespawnOn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"SyncDirection": 3,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "IsDead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "5",
|
||||||
|
"SyncDirection": 3,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "RespawnDelay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0.6",
|
||||||
|
"SyncDirection": 3,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "DestroyDelay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": "\"02c22d93421b4038b3c413b3e40b57ec\"",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "DamageSkinRUID"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Methods": [
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "-- Initialize HP and apply the project-wide attacker damage skin for any\n-- monster that has a DamageSkinSettingComponent. DamageSkinId is a\n-- DataRef, not a string — must wrap with DataRef(...).\nself.Hp = self.MaxHp\n\nlocal skinSetting = self.Entity.DamageSkinSettingComponent\nif isvalid(skinSetting) then\n\tskinSetting.DamageSkinId = DataRef(self.DamageSkinRUID)\nend",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "OnBeginPlay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "self.IsDead = true\nlocal stateComponent = self.Entity.StateComponent\nif stateComponent then\n\tstateComponent:ChangeState(\"DEAD\")\n\tlog(\"monster change state to DEAD\")\nend\n\nlocal delayHide = function()\n\tself.Entity:SetVisible(false)\n\tself.Entity:SetEnable(false)\n\n\tif self.RespawnOn == false then\n\t\tself.Entity:Destroy()\n\tend\nend\n\n_TimerService:SetTimerOnce(delayHide, self.DestroyDelay)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 1,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "Dead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "log(\"Respawn\")\nself.IsDead = false\nself.Entity:SetVisible(true)\nself.Entity:SetEnable(true)\n\nself.Hp = self.MaxHp\nlocal stateComponent = self.Entity.StateComponent\nif stateComponent then\n\tstateComponent:ChangeState(\"IDLE\")\nend",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 1,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "Respawn"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EntityEventHandlers": [
|
||||||
|
{
|
||||||
|
"Name": "HandleHitEvent",
|
||||||
|
"EventName": "HitEvent",
|
||||||
|
"ParameterName": "event",
|
||||||
|
"Target": "self",
|
||||||
|
"Code": "-- Parameters\n-- local AttackCenter = event.AttackCenter\n-- local AttackerEntity = event.AttackerEntity\n-- local Damages = event.Damages\n-- local Extra = event.Extra\n-- local IsCritical = event.IsCritical\nlocal TotalDamage = event.TotalDamage\n--------------------------------------------------------\n\nlocal originalHp = self.Hp\nself.Hp = self.Hp - TotalDamage\n\nif self.Hp > 0 or originalHp <= 0 then\n\treturn\nend\n\nself:Dead()\nlocal timerFunc = function() self:Respawn() end\n\nif self.RespawnOn then\n\t_TimerService:SetTimerOnce(timerFunc, self.RespawnDelay)\nend",
|
||||||
|
"Scope": 1,
|
||||||
|
"ExecSpace": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
143
RootDesk/MyDesk/MonsterAttack.codeblock
Normal file
143
RootDesk/MyDesk/MonsterAttack.codeblock
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "codeblock://monsterattack",
|
||||||
|
"ContentType": "x-mod/codeblock",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"CoreVersion": {
|
||||||
|
"Major": 0,
|
||||||
|
"Minor": 2
|
||||||
|
},
|
||||||
|
"ScriptVersion": {
|
||||||
|
"Major": 1,
|
||||||
|
"Minor": 5
|
||||||
|
},
|
||||||
|
"Description": "",
|
||||||
|
"Id": "MonsterAttack",
|
||||||
|
"Language": 1,
|
||||||
|
"Name": "MonsterAttack",
|
||||||
|
"Type": 4,
|
||||||
|
"Source": 1,
|
||||||
|
"Target": "MOD.Core.AttackComponent",
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0.03",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.MinValueScriptAttribute, MOD.Core",
|
||||||
|
"Value": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "AttackInterval"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": "nil",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "Shape"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Vector2",
|
||||||
|
"DefaultValue": "Vector2(0,0)",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "SpriteSize"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Vector2",
|
||||||
|
"DefaultValue": "Vector2(0,0)",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "PositionOffset"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Methods": [
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "local monster = self.Entity.Monster\nif not monster then\n\treturn\nend\n\nself.Shape = BoxShape(Vector2.zero, Vector2.one, 0)\n\n-- sprite 사이즈를 가져와 공격 영역으로 사용한다\n_ResourceService:PreloadAsync({self.Entity.SpriteRendererComponent.SpriteRUID}, function()\n\tlocal clip = _ResourceService:LoadAnimationClipAndWait(self.Entity.SpriteRendererComponent.SpriteRUID)\n\tlocal firstFrameSprite = clip.Frames[1].FrameSprite\n\tlocal firstSpriteSizeInPixel = Vector2(firstFrameSprite.Width, firstFrameSprite.Height)\n\tlocal ppu = firstFrameSprite.PixelPerUnit\n\n\tself.SpriteSize = firstSpriteSizeInPixel / ppu\n\tself.PositionOffset = (firstSpriteSizeInPixel / 2 - firstFrameSprite.PivotPixel:ToVector2()) / ppu\n\t\n\t_TimerService:SetTimerRepeat(function() \n\t\tif monster.IsDead == false then\n\t\t\tself:AttackNear()\n\t\tend\n\tend, self.AttackInterval)\nend)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 1,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "OnBeginPlay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "local transformComponent = self.Entity.TransformComponent\n\nif isvalid(transformComponent) then\n\tlocal worldPosition = transformComponent.WorldPosition\n\tlocal scaleX = transformComponent.Scale.x\n\tlocal scaleY = transformComponent.Scale.y\n\tlocal radian = math.rad(transformComponent.ZRotation)\n\tlocal offsetX = math.cos(radian) * self.PositionOffset.x * scaleX - math.sin(radian) * self.PositionOffset.y * scaleY\n\tlocal offsetY = math.sin(radian) * self.PositionOffset.x * scaleX + math.cos(radian) * self.PositionOffset.y * scaleY\n\tself.Shape.Size = Vector2(self.SpriteSize.x * math.abs(scaleX), self.SpriteSize.y * math.abs(scaleY))\n\tself.Shape.Position = Vector2(worldPosition.x + offsetX, worldPosition.y + offsetY)\n\tself.Shape.Angle = transformComponent.ZRotation\nend\n\nself:AttackFast(self.Shape, nil, CollisionGroups.Player)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "AttackNear"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "defender"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "attackInfo"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "if isvalid(defender.PlayerComponent) == false then\n\treturn false\nend\n\nreturn __base:IsAttackTarget(defender, attackInfo)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "IsAttackTarget"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EntityEventHandlers": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
178
RootDesk/MyDesk/PlayerAttack.codeblock
Normal file
178
RootDesk/MyDesk/PlayerAttack.codeblock
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "codeblock://playerattack",
|
||||||
|
"ContentType": "x-mod/codeblock",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"CoreVersion": {
|
||||||
|
"Major": 0,
|
||||||
|
"Minor": 2
|
||||||
|
},
|
||||||
|
"ScriptVersion": {
|
||||||
|
"Major": 1,
|
||||||
|
"Minor": 4
|
||||||
|
},
|
||||||
|
"Description": "",
|
||||||
|
"Id": "PlayerAttack",
|
||||||
|
"Language": 1,
|
||||||
|
"Name": "PlayerAttack",
|
||||||
|
"Type": 4,
|
||||||
|
"Source": 1,
|
||||||
|
"Target": "MOD.Core.AttackComponent",
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": "nil",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "Shape"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Methods": [
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "self.Shape = BoxShape(Vector2.zero, Vector2.one, 0)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 1,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "OnBeginPlay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "local playerController = self.Entity.PlayerControllerComponent\nlocal transform = self.Entity.TransformComponent\nif playerController and transform then\n\tlocal worldPosition = transform.WorldPosition\n\tlocal attackOffset = Vector2(worldPosition.x + 0.5 * playerController.LookDirectionX, worldPosition.y + 0.5)\n\tself.Shape.Position = attackOffset\n\n\tself:AttackFast(self.Shape, nil, CollisionGroups.Monster)\nend",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 1,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "AttackNormal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "int",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "attacker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "defender"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "attackInfo"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "return 50",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "CalcDamage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "attacker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "defender"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "attackInfo"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "return _UtilLogic:RandomDouble() < 0.3",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "CalcCritical"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "return 2",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "GetCriticalDamageRate"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EntityEventHandlers": [
|
||||||
|
{
|
||||||
|
"Name": "HandlePlayerActionEvent",
|
||||||
|
"EventName": "PlayerActionEvent",
|
||||||
|
"ParameterName": "event",
|
||||||
|
"Target": "self",
|
||||||
|
"Code": "-- Parameters\nlocal ActionName = event.ActionName\n-- local PlayerEntity = event.PlayerEntity\n--------------------------------------------------------\n\nif ActionName == \"Attack\" then\n\tself:AttackNormal()\nend",
|
||||||
|
"Scope": 1,
|
||||||
|
"ExecSpace": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
84
RootDesk/MyDesk/PlayerHit.codeblock
Normal file
84
RootDesk/MyDesk/PlayerHit.codeblock
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "codeblock://playerhit",
|
||||||
|
"ContentType": "x-mod/codeblock",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"CoreVersion": {
|
||||||
|
"Major": 0,
|
||||||
|
"Minor": 2
|
||||||
|
},
|
||||||
|
"ScriptVersion": {
|
||||||
|
"Major": 1,
|
||||||
|
"Minor": 3
|
||||||
|
},
|
||||||
|
"Description": "",
|
||||||
|
"Id": "PlayerHit",
|
||||||
|
"Language": 1,
|
||||||
|
"Name": "PlayerHit",
|
||||||
|
"Type": 4,
|
||||||
|
"Source": 1,
|
||||||
|
"Target": "MOD.Core.HitComponent",
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "1",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.MinValueScriptAttribute, MOD.Core",
|
||||||
|
"Value": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "ImmuneCooldown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [
|
||||||
|
{
|
||||||
|
"$type": "MOD.Core.Script.HideFromInspectorScriptAttribute, MOD.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Name": "LastHitTime"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Methods": [
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "attackInfo"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "local currentTime = _UtilLogic.ElapsedSeconds\nif self.LastHitTime + self.ImmuneCooldown < currentTime then\n\tself.LastHitTime = _UtilLogic.ElapsedSeconds\n\treturn true\nend\n\nreturn false",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "IsHitTarget"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EntityEventHandlers": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
692
RootDesk/MyDesk/RectTileData_Henesys.tileset
Normal file
692
RootDesk/MyDesk/RectTileData_Henesys.tileset
Normal file
@@ -0,0 +1,692 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "tileset://a5aaa9bc-0684-4c21-b803-73fbcbf0ac74",
|
||||||
|
"ContentType": "x-mod/tileset",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.3.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"name": "RectTileData_Henesys",
|
||||||
|
"id": "tileset://a5aaa9bc-0684-4c21-b803-73fbcbf0ac74",
|
||||||
|
"datas": [
|
||||||
|
{
|
||||||
|
"Id": "d67392ab6cf7437c93b7d1f1a54fdb6a",
|
||||||
|
"Name": "Henesys_soil_1",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "397d85d69c7f4a0cb3c09b9fd39a05bf",
|
||||||
|
"Name": "Henesys_soil_2",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ac158cd67e8140d2a9ca6f2ba1c73da4",
|
||||||
|
"Name": "Henesys_soil_3",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "d8814332224a4155b095e60701dbfda7",
|
||||||
|
"Name": "Henesys_soil_4",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "695a5695ad71431cb6673938ee2ee870",
|
||||||
|
"Name": "Henesys_soil_5",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "1328fa4893434204a2a6cd1f9dab2b0e",
|
||||||
|
"Name": "Henesys_soil_6",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "fd605099419f4da1be3d6dfe8d254b98",
|
||||||
|
"Name": "Henesys_soil_7",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "d9c5d1df785d481e9ced76adff386d32",
|
||||||
|
"Name": "Henesys_soil_8",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "b04751d8569444898746a1977c39076f",
|
||||||
|
"Name": "Henesys_soil_9",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "f90a00eb5c4d456883d61c633fe67c5d",
|
||||||
|
"Name": "Henesys_soil_10",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "825522e2f66749fcad4d0d1a378285d5",
|
||||||
|
"Name": "Henesys_soil_11",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "6d0c903f5b444b57aa7a57e473e14018",
|
||||||
|
"Name": "Henesys_soil_12",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "1a33e1feab384ff99c69476aa1d9219f",
|
||||||
|
"Name": "Henesys_soil_13",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "057d3a5bc3f94e4a939308e22f89f226",
|
||||||
|
"Name": "Henesys_soil_14",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "1fe6d8b179a848a186e47de81fc0b685",
|
||||||
|
"Name": "Henesys_soil_15",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "3ffac5d9ea1242b4a75683df6dbffb23",
|
||||||
|
"Name": "Henesys_soil_16",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "f1fc624c54cc476dbd249405f44004de",
|
||||||
|
"Name": "Henesys_soil_17",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ce4357935e0e4d46ae820fd4fb921d69",
|
||||||
|
"Name": "Henesys_soil_18",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ecaf6b3846f44a9587c0af28a67feede",
|
||||||
|
"Name": "Henesys_soil_19",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "4c4d3fc337df49e6b041736b6bbea9ba",
|
||||||
|
"Name": "Henesys_soil_20",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "2b98be9afe7545ee92018348e0d4d667",
|
||||||
|
"Name": "Henesys_soil_21",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "b521b91e5a0d4a64afd745a3c5514a09",
|
||||||
|
"Name": "Henesys_soil_22",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "9b34b3c09a814b4f93d5616e50187025",
|
||||||
|
"Name": "Henesys_soil_23",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "7d43a504cea746c9aa23b5cc77dd22f1",
|
||||||
|
"Name": "Henesys_soil_24",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ecfcdf8ee5394768bb03ba2fa1f758cb",
|
||||||
|
"Name": "Henesys_soil_25",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "98dbcb84914e4ad7bdc1a34fe311f628",
|
||||||
|
"Name": "Henesys_soil_26",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "26bab6e7bf5d4581b809b8cbe71fc1be",
|
||||||
|
"Name": "Henesys_soil_27",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "240336208f444197aa29d5f567ae7648",
|
||||||
|
"Name": "Henesys_soil_28",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8bd3070b58674837bf68784431eb9042",
|
||||||
|
"Name": "Henesys_soil_29",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "67bd3f2de35a43ae8945e5ed3c74b178",
|
||||||
|
"Name": "Henesys_soil_30",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e154900d858a47428da260e5fb49322b",
|
||||||
|
"Name": "Henesys_soil_31",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "f00c145aa9d64f57a698f3c8e56d3ee1",
|
||||||
|
"Name": "Henesys_soil_32",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "0906a58d447e4c68bb60cf49610c41e3",
|
||||||
|
"Name": "Henesys_soil_33",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e5e2a701b97442bc886555570e78511c",
|
||||||
|
"Name": "Henesys_soil_34",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "145900d0c14a4bd083b214780e966467",
|
||||||
|
"Name": "Henesys_soil_35",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "9b90454f870d47a5978ac3ae67a96cfe",
|
||||||
|
"Name": "Henesys_soil_36",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "328a9c0987b244028eb903bdc99b1e56",
|
||||||
|
"Name": "Henesys_soil_37",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8069ab53ebf24c70b8258f28db47ffcc",
|
||||||
|
"Name": "Henesys_soil_38",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "96b3a2d3662a45cc89feb7f0dc768dd5",
|
||||||
|
"Name": "Henesys_soil_39",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ab598a6bc4454c57ac1ec4ad9123ccc9",
|
||||||
|
"Name": "Henesys_soil_40",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "dd900083da714f3b84c080713f7d158f",
|
||||||
|
"Name": "Henesys_soil_41",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "d04b9a0738e149f391e4be890baa9ea6",
|
||||||
|
"Name": "Henesys_soil_42",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "dbe19318a17d450b9998dc8f44be265c",
|
||||||
|
"Name": "Henesys_soil_43",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8cb7a0d4ce704e349205dd7964c26426",
|
||||||
|
"Name": "Henesys_soil_44",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "13995579e1324f75a3f90a5ab5bd50c0",
|
||||||
|
"Name": "Henesys_soil_45",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "dbef1db98fbb4d97bbfeba49e6fb3c12",
|
||||||
|
"Name": "Henesys_soil_46",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "fc91da376cda4e5c90489eb17a70d9e0",
|
||||||
|
"Name": "Henesys_soil_47",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "f486cccd807a48e4a96bf81d98f06cee",
|
||||||
|
"Name": "Henesys_soil_48",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "34d13631d62b4f058673e923c88920f4",
|
||||||
|
"Name": "Henesys_soil_49",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "70abc60d82c3498b838ebe6c25c02626",
|
||||||
|
"Name": "Henesys_soil_50",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "622bca11b3cd41bc9d34ed37aa625d9f",
|
||||||
|
"Name": "Henesys_soil_51",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "562f8dec863640e2b9641a109bd1b326",
|
||||||
|
"Name": "Henesys_soil_52",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "41e566774c9d4c2db7d990ee1401fe70",
|
||||||
|
"Name": "Henesys_soil_53",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "4802b89cce954ddf95edf22c9f932473",
|
||||||
|
"Name": "Henesys_soil_54",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "745cf55517204dec9ce95464b7ee07a2",
|
||||||
|
"Name": "Henesys_soil_55",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "003c947326224ef28500b961a956be61",
|
||||||
|
"Name": "Henesys_soil_56",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "0912bd41fc934a1fb1368eec9094b3f6",
|
||||||
|
"Name": "Henesys_soil_57",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "c3b5d86d35924ca69b54973c694957c3",
|
||||||
|
"Name": "Henesys_soil_58",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "4a7ae60f63354b4793e26a329cf8efd6",
|
||||||
|
"Name": "Henesys_soil_59",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "13c07fc41c1f4314a6214189cf447f17",
|
||||||
|
"Name": "Henesys_soil_60",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "3140cc961cfd4c81a24ac637ad3067ba",
|
||||||
|
"Name": "Henesys_soil_61",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "abeda4d5248541ffa60495a30be1cc40",
|
||||||
|
"Name": "Henesys_stone_1",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "186b6926a7d149ccba42cbff7498e6d5",
|
||||||
|
"Name": "Henesys_stone_2",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "7c4366b90bce4341b266a6735f65b438",
|
||||||
|
"Name": "Henesys_stone_3",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e002ca850ae34036addd34d8031a9ee0",
|
||||||
|
"Name": "Henesys_stone_4",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "9da93350c25142ba93d0e6549185b599",
|
||||||
|
"Name": "Henesys_stone_5",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ae99ccbe60e3460e8191ac253ca10d5c",
|
||||||
|
"Name": "Henesys_stone_6",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "106caf1ac73d49ad9a8e5003132b1def",
|
||||||
|
"Name": "Henesys_stone_7",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "32d8fa384cbe480cb8f989536c1fe95b",
|
||||||
|
"Name": "Henesys_stone_8",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "c2258ce9ffdd45a99e3c3aa6ce0f785c",
|
||||||
|
"Name": "Henesys_stone_9",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "9cb218fa0cac4298b20a11043c952648",
|
||||||
|
"Name": "Henesys_stone_10",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "48a5fa7e42094f93b81003a3c57d557e",
|
||||||
|
"Name": "Henesys_stone_11",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "0cd53fe7213d422db29a84e3ce0a000e",
|
||||||
|
"Name": "Henesys_stone_12",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "2d23f2163c33446699742515efda5d58",
|
||||||
|
"Name": "Henesys_stone_13",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "78c2ab6aa3bf48c9a4105d4bbf1e021a",
|
||||||
|
"Name": "Henesys_stone_14",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "37284a9ec43540dfa88e3b7bdbe34789",
|
||||||
|
"Name": "Henesys_stone_15",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "029fe3c91bc94f259819922fea4f64b0",
|
||||||
|
"Name": "Henesys_stone_16",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "110344e3e845478e9226690e43abfeae",
|
||||||
|
"Name": "Henesys_stone_17",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ce0ac3e8b0634a6194d0323f8ac7c107",
|
||||||
|
"Name": "Henesys_stone_18",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "64e778f581a844a2a904bdca1337fdd8",
|
||||||
|
"Name": "Henesys_stone_19",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "995b867c3e414a19bb90f48a3764ed7e",
|
||||||
|
"Name": "Henesys_stone_20",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "34bb121fada24db4ab495d1732cdfec1",
|
||||||
|
"Name": "Henesys_stone_21",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "15a970ca3f89441f9204d0b009a4dd36",
|
||||||
|
"Name": "Henesys_stone_22",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8e701d7fff9f45958a354701756ffbb4",
|
||||||
|
"Name": "Henesys_stone_23",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "7dd67a9122f14998bbd4807983b2dd51",
|
||||||
|
"Name": "Henesys_stone_24",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "4476f7a8965d4f7aab928d6a1b505cc7",
|
||||||
|
"Name": "Henesys_stone_25",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "a438906ea9824215919aad9fbe9cdc06",
|
||||||
|
"Name": "Henesys_stone_26",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "3d26e19d1df04d56be52fec18bb5274c",
|
||||||
|
"Name": "Henesys_stone_27",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "6b47435bb909443bbbdc125c6e7664b7",
|
||||||
|
"Name": "Henesys_stone_28",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "32767954b69846ab832df8990eef4b3a",
|
||||||
|
"Name": "Henesys_stone_29",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "bf9e815c943a42d587a2ffe83ceca4d4",
|
||||||
|
"Name": "Henesys_stone_30",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8dd6c7b67fc348ffb89637abe8367e10",
|
||||||
|
"Name": "Henesys_stone_31",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "c2de08d7aab0460a8d9dd83250bf1c5e",
|
||||||
|
"Name": "Henesys_stone_32",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "5376bee70fa246a78e759b3549b9d231",
|
||||||
|
"Name": "Henesys_stone_33",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ec67639c80f54587b5b8dbc57f84dd4c",
|
||||||
|
"Name": "Henesys_stone_34",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "10581cbae36c4c5dbce5c0cbe7141883",
|
||||||
|
"Name": "Henesys_stone_35",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e9ba1a7905af48fd800b0e9fe68be20f",
|
||||||
|
"Name": "Henesys_stone_36",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e3222702a6ba46419441382e7978fa7a",
|
||||||
|
"Name": "Henesys_stone_37",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "1170d60709214d2692e1ef43529b4fd6",
|
||||||
|
"Name": "Henesys_stone_38",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "68e9924224a7468bb84b5b6c6376c01a",
|
||||||
|
"Name": "Henesys_stone_39",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "279fd0d338ee4e8c9060a90b5db23fc0",
|
||||||
|
"Name": "Henesys_stone_40",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "76cf0a821dab49268ebcb60ae09db00f",
|
||||||
|
"Name": "Henesys_stone_41",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e533bc6921d342f4be10fa5f4ca1e41b",
|
||||||
|
"Name": "Henesys_stone_42",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "86b2281ce7dd436e9ecc2d70edc444fc",
|
||||||
|
"Name": "Henesys_stone_43",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "fbcb77c5f2564d7cafc55098ac2fea77",
|
||||||
|
"Name": "Henesys_stone_44",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "b9ad1a1fd7be4606a9a7a19c1b50f223",
|
||||||
|
"Name": "Henesys_stone_45",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "56bf938a5d524ff38c1fec7ec474bac8",
|
||||||
|
"Name": "Henesys_stone_46",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "09a1b7759f67425c8d08f6529199e80b",
|
||||||
|
"Name": "Henesys_stone_47",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "e6c4f76184584b809567d8b85cd4ccdf",
|
||||||
|
"Name": "Henesys_stone_48",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "982ab3b7412d4aed96b14642e6d25f37",
|
||||||
|
"Name": "Henesys_stone_49",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ff81d5234d5b4b76b5d337d8d6e239b7",
|
||||||
|
"Name": "Henesys_stone_50",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "3bd284dc6aed4716bbe7df2ce8ee7fc1",
|
||||||
|
"Name": "Henesys_stone_51",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "eb7b76076d6f46188165c0768891d3ea",
|
||||||
|
"Name": "Henesys_stone_52",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "8db74f47226b4f658b1b0ec19140e51d",
|
||||||
|
"Name": "Henesys_stone_53",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "d4551b3d21d449af91e8cd1ebc7b6032",
|
||||||
|
"Name": "Henesys_stone_54",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "37fb8e86e7a64ca09ae9d4e26ddf7b75",
|
||||||
|
"Name": "Henesys_stone_55",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "fe1153dd997e48f990a3ce64d08866cb",
|
||||||
|
"Name": "Henesys_stone_56",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ab82f0c7b5af48b3b623a637f0c40553",
|
||||||
|
"Name": "Henesys_stone_57",
|
||||||
|
"IsCollidable": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "511721788d864ed19a5f5f8114f35657",
|
||||||
|
"Name": "Henesys_water_1",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "ad3bdf656f56428d943af7b7c3494e3d",
|
||||||
|
"Name": "Henesys_water_2",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "2a17e6dfed48451eb605fa411c2d03ab",
|
||||||
|
"Name": "Henesys_water_3",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "96717c3bf11144e29e746da6f0a1bd82",
|
||||||
|
"Name": "Henesys_water_4",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "41f23d9050b74384a10532af3a8a81e1",
|
||||||
|
"Name": "Henesys_water_5",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "fb639bbb173e4f139d12dd5e8d0cb952",
|
||||||
|
"Name": "Henesys_water_6",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "6d5b76d2937c4fd4a84739900119f50a",
|
||||||
|
"Name": "Henesys_water_7",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "067b9e1f9e2e48b5a4fa8786ad908a7a",
|
||||||
|
"Name": "Henesys_water_8",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "54df880afde94f03a98ab4c467fe1eba",
|
||||||
|
"Name": "Henesys_water_9",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "b03be19bf99445509e96166c4c5d1aa0",
|
||||||
|
"Name": "Henesys_water_10",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "4097ed3fa5cb4200b1ef57f9ce42b897",
|
||||||
|
"Name": "Henesys_water_11",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "c6cd001118fd47018dcab4f0756f5fa5",
|
||||||
|
"Name": "Henesys_water_12",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "39282a9c9dfa40a7bc218451eb555d27",
|
||||||
|
"Name": "Henesys_water_13",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "229a0bbc6e034c2682c5cdc07ee73aa1",
|
||||||
|
"Name": "Henesys_water_14",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "75e57411fa5d49a89c3194b4ba80b0ac",
|
||||||
|
"Name": "Henesys_water_15",
|
||||||
|
"IsCollidable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": "2978323e1e6441898681d09ad5f0c0a6",
|
||||||
|
"Name": "Henesys_water_16",
|
||||||
|
"IsCollidable": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
248
RootDesk/MyDesk/UIPopup.codeblock
Normal file
248
RootDesk/MyDesk/UIPopup.codeblock
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "codeblock://15873444-8d16-4d28-9091-9c623fda5224",
|
||||||
|
"ContentType": "x-mod/codeblock",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"CoreVersion": {
|
||||||
|
"Major": 0,
|
||||||
|
"Minor": 2
|
||||||
|
},
|
||||||
|
"ScriptVersion": {
|
||||||
|
"Major": 1,
|
||||||
|
"Minor": 0
|
||||||
|
},
|
||||||
|
"Description": "",
|
||||||
|
"Id": "15873444-8d16-4d28-9091-9c623fda5224",
|
||||||
|
"Language": 1,
|
||||||
|
"Name": "UIPopup",
|
||||||
|
"Type": 5,
|
||||||
|
"Source": 0,
|
||||||
|
"Target": null,
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": "Component",
|
||||||
|
"DefaultValue": "3606e39d-32de-427e-8d23-b38af810a3b4:TextComponent",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "message"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Component",
|
||||||
|
"DefaultValue": "94a274e4-4111-40f1-924d-c95a3a1f14d5:ButtonComponent",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "btnOk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Component",
|
||||||
|
"DefaultValue": "0f5de49b-2adc-409a-816d-15aa43df8e0d:ButtonComponent",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "btnCancel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": "fb7a3b06-7026-4590-8efe-bb33416dd8f9",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "popupGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": "aa954759-0e39-430f-85fa-80bf2e5fe31d",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "popup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": "nil",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "onOk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": "nil",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "onCancel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0.15",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "duration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0.5",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "from"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "1",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "to"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "isOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "isTweenPlaying"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "tweenEventId"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": "nil",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "okHandler"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": "nil",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "cancelHandler"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Methods": [
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "message"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "onOk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "any",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "onCancel"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "if self.isOpen == true then\n\treturn\nend\nself.isOpen = true\nself.popupGroup.Enable = true\nself.message.Text = message\nself.onOk = onOk\nself.onCancel = onCancel\n\n\nself.okHandler = self.btnOk.Entity:ConnectEvent(ButtonClickEvent,self.OnClickOk)\nself.cancelHandler = self.btnCancel.Entity:ConnectEvent(ButtonClickEvent,self.OnClickCancel)\nself:StartTween(true)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "Open"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "if self.isTweenPlaying == true then\n\treturn\nend\nif self.onOk ~= nil then\n\tself.onOk()\n\tself.onOk = nil\nend\nself:Close()",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "OnClickOk"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "if self.isTweenPlaying == true then\n\treturn\nend\nif self.onCancel ~= nil then\n\tself.onCancel()\n\tself.onCancel = nil\nend\nself:Close()",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "OnClickCancel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "self.btnOk.Entity:DisconnectEvent(ButtonClickEvent,self.okHandler)\nself.btnCancel.Entity:DisconnectEvent(ButtonClickEvent,self.cancelHandler)\nself:StartTween(false)",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "Close"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "open"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "\nlocal transform = self.popup.UITransformComponent\nlocal canvasGroup = self.popupGroup.CanvasGroupComponent \nif open == true then\n\tcanvasGroup.GroupAlpha = 0\n\ttransform.UIScale = Vector3(self.from,self.from,1)\nelse\n\ttransform.UIScale = Vector3(self.to,self.to,1)\nend\nself.isTweenPlaying = true\nlocal time = 0\n\n\nlocal preTime = _UtilLogic.ElapsedSeconds\n\nlocal tween = function()\n\tlocal delta = _UtilLogic.ElapsedSeconds - preTime\n\ttime = time + delta\n\tlocal timeValue = time\t\n\tpreTime = _UtilLogic.ElapsedSeconds\n\n\tif time >= self.duration then\n\t\ttimeValue = self.duration\n\t\tif open == false then\n\t\t\tself.popupGroup.Enable = false\n\t\t\tself.isOpen = false\n\t\tend\n\t\tself.isTweenPlaying = false\n\t\t_TimerService:ClearTimer(self.tweenEventId)\n\n\tend\n\tif open == false then\n\t\ttimeValue = self.duration - timeValue\n\tend\n\tlocal tweenValue = _TweenLogic:Ease(self.from, self.to, \n\t\tself.duration, EaseType.SineEaseIn, timeValue)\n\ttransform.UIScale = Vector3(tweenValue,tweenValue,1)\n\tcanvasGroup.GroupAlpha = timeValue / self.duration\nend\nself.tweenEventId = _TimerService:SetTimerRepeat(tween,1/60)\n",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "StartTween"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EntityEventHandlers": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
132
RootDesk/MyDesk/UIToast.codeblock
Normal file
132
RootDesk/MyDesk/UIToast.codeblock
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "codeblock://63fe07f0-2bcd-462c-8157-d6031e053b5e",
|
||||||
|
"ContentType": "x-mod/codeblock",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Json",
|
||||||
|
"Json": {
|
||||||
|
"CoreVersion": {
|
||||||
|
"Major": 0,
|
||||||
|
"Minor": 2
|
||||||
|
},
|
||||||
|
"ScriptVersion": {
|
||||||
|
"Major": 1,
|
||||||
|
"Minor": 0
|
||||||
|
},
|
||||||
|
"Description": "",
|
||||||
|
"Id": "63fe07f0-2bcd-462c-8157-d6031e053b5e",
|
||||||
|
"Language": 1,
|
||||||
|
"Name": "UIToast",
|
||||||
|
"Type": 5,
|
||||||
|
"Source": 0,
|
||||||
|
"Target": null,
|
||||||
|
"Properties": [
|
||||||
|
{
|
||||||
|
"Type": "Component",
|
||||||
|
"DefaultValue": "7af9e538-1713-49f7-a83e-711c0f4b4a3c:TextComponent",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "message"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Entity",
|
||||||
|
"DefaultValue": "0bc398f9-29cb-4d89-a78d-f24742b117e8",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "toastGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "2",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "duration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0.1",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "tweenDuration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "tweenEventId"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "isTweenPlaying"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "boolean",
|
||||||
|
"DefaultValue": "false",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "inited"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "number",
|
||||||
|
"DefaultValue": "0",
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "offset"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Methods": [
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [
|
||||||
|
{
|
||||||
|
"Type": "string",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "message"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Code": "if self.inited == false then\n\tself.inited = true\n\tself.offset = -self.message.Entity.UITransformComponent.anchoredPosition.y\nend\nself.message.Text = message\nself:StartTween()",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 6,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "ShowMessage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Return": {
|
||||||
|
"Type": "void",
|
||||||
|
"DefaultValue": null,
|
||||||
|
"SyncDirection": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": null
|
||||||
|
},
|
||||||
|
"Arguments": [],
|
||||||
|
"Code": "local canvasGroup = self.message.Entity.CanvasGroupComponent\nlocal transform = self.message.Entity.UITransformComponent\nif self.tweenEventId > 0 then\n\t_TimerService:ClearTimer(self.tweenEventId)\n\tself.tweenEventId = 0\nelse\n\tcanvasGroup.GroupAlpha = 0\nend\nself.toastGroup.Enable = true\nlocal time = 0\n\nlocal preTime = _UtilLogic.ElapsedSeconds\n\nlocal tween = function()\n\tlocal delta = _UtilLogic.ElapsedSeconds - preTime\n\ttime = time + delta\n\tpreTime = _UtilLogic.ElapsedSeconds\n\n\tlocal alpha = canvasGroup.GroupAlpha \n\tif time >= (self.duration + self.tweenDuration) then\t\t\n\t\tself.toastGroup.Enable = false\n\t\t_TimerService:ClearTimer(self.tweenEventId)\n\t\tself.tweenEventId = 0\n\t\talpha = 0\n\telse\n\t\tif time > self.duration then\t\t\t\n\t\t\talpha = alpha - delta / self.tweenDuration\n\t\telse\n\t\t\talpha = alpha + delta / self.tweenDuration\n\t\tend\t\t\t\n\tend\t\n\talpha = math.min(1,math.max(alpha,0))\n\t\n\tcanvasGroup.GroupAlpha = alpha\n\tlocal tweenValue = _TweenLogic:Ease(0,1,1,EaseType.SineEaseIn,alpha)\n\ttransform.anchoredPosition = Vector2(0,-self.offset * tweenValue)\nend\n\nself.tweenEventId = _TimerService:SetTimerRepeat(tween,1/60)\n\n",
|
||||||
|
"Scope": 2,
|
||||||
|
"ExecSpace": 0,
|
||||||
|
"Attributes": [],
|
||||||
|
"Name": "StartTween"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EntityEventHandlers": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
42
docs/slaymaple_basic_framework.md
Normal file
42
docs/slaymaple_basic_framework.md
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# SlayMaple Basic Framework
|
||||||
|
|
||||||
|
This project now has a small deckbuilder roguelike foundation inspired by turn-based card combat games.
|
||||||
|
|
||||||
|
## Components
|
||||||
|
|
||||||
|
- `SlayCardCatalog`: Defines card data, starter deck composition, reward pool, and card cloning.
|
||||||
|
- `SlayRunState`: Owns persistent run data such as HP, gold, floor, deck, relics, and card rewards.
|
||||||
|
- `SlayCombatManager`: Runs combat turns, draw/discard/exhaust piles, energy, enemy intents, block, damage, victory, and defeat.
|
||||||
|
|
||||||
|
All three components are attached to the `/common` entity in `Global/common.gamelogic`.
|
||||||
|
|
||||||
|
If the Maker session was already open before these files were added, reopen or reload the local workspace so the new codeblock files are imported into the editor state.
|
||||||
|
|
||||||
|
## Prototype Flow
|
||||||
|
|
||||||
|
1. `SlayRunState` starts a new run with 80 HP and a 10-card starter deck.
|
||||||
|
2. `SlayCombatManager` starts a demo combat automatically.
|
||||||
|
3. Each player turn refreshes energy to 3, clears block, rolls enemy intent, and draws 5 cards.
|
||||||
|
4. Playing a card spends energy, applies damage/block/draw/energy/status effects, then sends the card to discard or exhaust.
|
||||||
|
5. Ending the turn discards the hand, resolves enemy intent, ticks statuses, and starts the next turn.
|
||||||
|
6. Winning combat stores the remaining HP back into the run, grants 15 gold, and generates 3 card reward options.
|
||||||
|
|
||||||
|
## Useful Script Calls
|
||||||
|
|
||||||
|
From a script attached to the same `/common` entity:
|
||||||
|
|
||||||
|
```lua
|
||||||
|
self.Entity.SlayCombatManager:PlayCard(1, 1)
|
||||||
|
self.Entity.SlayCombatManager:EndPlayerTurn()
|
||||||
|
self.Entity.SlayCombatManager:DebugPlayFirstPlayable()
|
||||||
|
self.Entity.SlayRunState:PickReward(1)
|
||||||
|
self.Entity.SlayCombatManager:StartCombat("elite")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Next Implementation Steps
|
||||||
|
|
||||||
|
- Add a combat UI that renders HP, block, energy, enemy intent, and 5 hand-card buttons.
|
||||||
|
- Add a map node UI with combat, elite, shop, rest, event, and boss node types.
|
||||||
|
- Add relic definitions and hooks such as `OnCombatStart`, `OnCardPlayed`, `OnTurnStart`, and `OnCombatReward`.
|
||||||
|
- Add enemy move sets as data instead of the current simple intent pattern.
|
||||||
|
- Add save/load once the run loop is playable end to end.
|
||||||
6963
map/map01.map
Normal file
6963
map/map01.map
Normal file
File diff suppressed because it is too large
Load Diff
1070
ui/DefaultGroup.ui
Normal file
1070
ui/DefaultGroup.ui
Normal file
File diff suppressed because it is too large
Load Diff
1198
ui/PopupGroup.ui
Normal file
1198
ui/PopupGroup.ui
Normal file
File diff suppressed because it is too large
Load Diff
312
ui/ToastGroup.ui
Normal file
312
ui/ToastGroup.ui
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
{
|
||||||
|
"Id": "",
|
||||||
|
"GameId": "",
|
||||||
|
"EntryKey": "ui://0bc398f9-29cb-4d89-a78d-f24742b117e8",
|
||||||
|
"ContentType": "x-mod/ui",
|
||||||
|
"Content": "",
|
||||||
|
"Usage": 0,
|
||||||
|
"UsePublish": 1,
|
||||||
|
"UseService": 0,
|
||||||
|
"CoreVersion": "26.5.0.0",
|
||||||
|
"StudioVersion": "0.1.0.0",
|
||||||
|
"DynamicLoading": 0,
|
||||||
|
"ContentProto": {
|
||||||
|
"Use": "Binary",
|
||||||
|
"Entities": [
|
||||||
|
{
|
||||||
|
"id": "0bc398f9-29cb-4d89-a78d-f24742b117e8",
|
||||||
|
"path": "/ui/ToastGroup",
|
||||||
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.UIGroupComponent,MOD.Core.CanvasGroupComponent",
|
||||||
|
"jsonString": {
|
||||||
|
"name": "ToastGroup",
|
||||||
|
"path": "/ui/ToastGroup",
|
||||||
|
"nameEditable": true,
|
||||||
|
"enable": true,
|
||||||
|
"visible": true,
|
||||||
|
"localize": true,
|
||||||
|
"displayOrder": 2,
|
||||||
|
"pathConstraints": "//",
|
||||||
|
"revision": 1,
|
||||||
|
"origin": {
|
||||||
|
"type": "Model",
|
||||||
|
"entry_id": "uigroup",
|
||||||
|
"sub_entity_id": null,
|
||||||
|
"root_entity_id": null,
|
||||||
|
"replaced_model_id": null
|
||||||
|
},
|
||||||
|
"modelId": "uigroup",
|
||||||
|
"@components": [
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.UITransformComponent",
|
||||||
|
"ActivePlatform": 255,
|
||||||
|
"AlignmentOption": 15,
|
||||||
|
"AnchorsMax": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 1.0
|
||||||
|
},
|
||||||
|
"AnchorsMin": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
},
|
||||||
|
"MobileOnly": false,
|
||||||
|
"OffsetMax": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
},
|
||||||
|
"OffsetMin": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
},
|
||||||
|
"Pivot": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"RectSize": {
|
||||||
|
"x": 1920.0,
|
||||||
|
"y": 1080.0
|
||||||
|
},
|
||||||
|
"UIMode": 1,
|
||||||
|
"UIScale": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 1.0
|
||||||
|
},
|
||||||
|
"UIVersion": 2,
|
||||||
|
"anchoredPosition": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
},
|
||||||
|
"Position": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"QuaternionRotation": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"w": 1.0
|
||||||
|
},
|
||||||
|
"Scale": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 1.0
|
||||||
|
},
|
||||||
|
"Enable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.UIGroupComponent",
|
||||||
|
"DefaultShow": false,
|
||||||
|
"GroupOrder": 2,
|
||||||
|
"GroupType": 1,
|
||||||
|
"Enable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.CanvasGroupComponent",
|
||||||
|
"BlocksRaycasts": true,
|
||||||
|
"GroupAlpha": 1.0,
|
||||||
|
"Interactable": true,
|
||||||
|
"Enable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@version": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "7af9e538-1713-49f7-a83e-711c0f4b4a3c",
|
||||||
|
"path": "/ui/ToastGroup/Toast_message",
|
||||||
|
"componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent,MOD.Core.CanvasGroupComponent",
|
||||||
|
"jsonString": {
|
||||||
|
"name": "Toast_message",
|
||||||
|
"path": "/ui/ToastGroup/Toast_message",
|
||||||
|
"nameEditable": true,
|
||||||
|
"enable": true,
|
||||||
|
"visible": true,
|
||||||
|
"localize": true,
|
||||||
|
"displayOrder": 0,
|
||||||
|
"pathConstraints": "///",
|
||||||
|
"revision": 1,
|
||||||
|
"origin": {
|
||||||
|
"type": "Model",
|
||||||
|
"entry_id": "UISprite",
|
||||||
|
"sub_entity_id": null,
|
||||||
|
"root_entity_id": null,
|
||||||
|
"replaced_model_id": null
|
||||||
|
},
|
||||||
|
"modelId": "uisprite",
|
||||||
|
"@components": [
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.UITransformComponent",
|
||||||
|
"ActivePlatform": 255,
|
||||||
|
"AlignmentOption": 3,
|
||||||
|
"AnchorsMax": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 1.0
|
||||||
|
},
|
||||||
|
"AnchorsMin": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 1.0
|
||||||
|
},
|
||||||
|
"MobileOnly": false,
|
||||||
|
"OffsetMax": {
|
||||||
|
"x": 106.5,
|
||||||
|
"y": -24.0
|
||||||
|
},
|
||||||
|
"OffsetMin": {
|
||||||
|
"x": -106.5,
|
||||||
|
"y": -104.0
|
||||||
|
},
|
||||||
|
"Pivot": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.5
|
||||||
|
},
|
||||||
|
"RectSize": {
|
||||||
|
"x": 213.0,
|
||||||
|
"y": 80.0
|
||||||
|
},
|
||||||
|
"UIMode": 1,
|
||||||
|
"UIScale": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 1.0
|
||||||
|
},
|
||||||
|
"UIVersion": 2,
|
||||||
|
"anchoredPosition": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": -64.0
|
||||||
|
},
|
||||||
|
"Position": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 476.0,
|
||||||
|
"z": 0.0
|
||||||
|
},
|
||||||
|
"QuaternionRotation": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0,
|
||||||
|
"z": 0.0,
|
||||||
|
"w": 1.0
|
||||||
|
},
|
||||||
|
"Scale": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 1.0,
|
||||||
|
"z": 1.0
|
||||||
|
},
|
||||||
|
"Enable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.SpriteGUIRendererComponent",
|
||||||
|
"AnimClipPlayType": 0,
|
||||||
|
"EndFrameIndex": 2147483647,
|
||||||
|
"ImageRUID": {
|
||||||
|
"DataId": "7d614552ba7843049bb48ebd4509fb8f"
|
||||||
|
},
|
||||||
|
"LocalPosition": {
|
||||||
|
"x": 0.0,
|
||||||
|
"y": 0.0
|
||||||
|
},
|
||||||
|
"LocalScale": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": 1.0
|
||||||
|
},
|
||||||
|
"OverrideSorting": false,
|
||||||
|
"PlayRate": 1.0,
|
||||||
|
"PreserveSprite": 0,
|
||||||
|
"StartFrameIndex": 0,
|
||||||
|
"Color": {
|
||||||
|
"r": 1.0,
|
||||||
|
"g": 1.0,
|
||||||
|
"b": 1.0,
|
||||||
|
"a": 0.6
|
||||||
|
},
|
||||||
|
"DropShadow": false,
|
||||||
|
"DropShadowAngle": 30.0,
|
||||||
|
"DropShadowColor": {
|
||||||
|
"r": 0.0,
|
||||||
|
"g": 0.0,
|
||||||
|
"b": 0.0,
|
||||||
|
"a": 0.72
|
||||||
|
},
|
||||||
|
"DropShadowDistance": 32.0,
|
||||||
|
"FillAmount": 1.0,
|
||||||
|
"FillCenter": true,
|
||||||
|
"FillClockWise": true,
|
||||||
|
"FillMethod": 0,
|
||||||
|
"FillOrigin": 0,
|
||||||
|
"FlipX": false,
|
||||||
|
"FlipY": false,
|
||||||
|
"FrameColumn": 1,
|
||||||
|
"FrameRate": 0,
|
||||||
|
"FrameRow": 1,
|
||||||
|
"Outline": false,
|
||||||
|
"OutlineColor": {
|
||||||
|
"r": 1.0,
|
||||||
|
"g": 1.0,
|
||||||
|
"b": 1.0,
|
||||||
|
"a": 1.0
|
||||||
|
},
|
||||||
|
"OutlineWidth": 3.0,
|
||||||
|
"RaycastTarget": true,
|
||||||
|
"Type": 1,
|
||||||
|
"Enable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.TextComponent",
|
||||||
|
"Alignment": 4,
|
||||||
|
"Bold": false,
|
||||||
|
"DropShadow": false,
|
||||||
|
"DropShadowAngle": 30.0,
|
||||||
|
"DropShadowColor": {
|
||||||
|
"r": 0.0,
|
||||||
|
"g": 0.0,
|
||||||
|
"b": 0.0,
|
||||||
|
"a": 0.72
|
||||||
|
},
|
||||||
|
"DropShadowDistance": 32.0,
|
||||||
|
"Font": 0,
|
||||||
|
"FontColor": {
|
||||||
|
"r": 1.0,
|
||||||
|
"g": 1.0,
|
||||||
|
"b": 1.0,
|
||||||
|
"a": 1.0
|
||||||
|
},
|
||||||
|
"FontSize": 27,
|
||||||
|
"MaxSize": 40,
|
||||||
|
"MinSize": 10,
|
||||||
|
"OutlineColor": {
|
||||||
|
"r": 0.7,
|
||||||
|
"g": 0.7,
|
||||||
|
"b": 0.7,
|
||||||
|
"a": 1.0
|
||||||
|
},
|
||||||
|
"OutlineDistance": {
|
||||||
|
"x": 1.0,
|
||||||
|
"y": -1.0
|
||||||
|
},
|
||||||
|
"OutlineWidth": 1.0,
|
||||||
|
"Overflow": 0,
|
||||||
|
"OverrideSorting": false,
|
||||||
|
"Padding": {
|
||||||
|
"left": 50,
|
||||||
|
"right": 50,
|
||||||
|
"top": 20,
|
||||||
|
"bottom": 20
|
||||||
|
},
|
||||||
|
"SizeFit": true,
|
||||||
|
"Text": "message",
|
||||||
|
"UseOutLine": false,
|
||||||
|
"Enable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "MOD.Core.CanvasGroupComponent",
|
||||||
|
"BlocksRaycasts": true,
|
||||||
|
"GroupAlpha": 1.0,
|
||||||
|
"Interactable": true,
|
||||||
|
"Enable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@version": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user