From 6b4789d07c430f0bfa6abde1f19e4fbb22559e59 Mon Sep 17 00:00:00 2001 From: walkpan Date: Thu, 29 Aug 2024 23:59:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E5=93=81=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resources/game/heros/hero.prefab | 684 +++++++++--------- assets/resources/game/heros/skill.plist | 595 +++++++++++---- assets/resources/game/heros/skill.png | Bin 52083 -> 52917 bytes assets/script/game/Role/RoleBuffComp.ts | 138 ++++ ...eAnimator.ts.meta => RoleBuffComp.ts.meta} | 2 +- assets/script/game/Role/RoleViewComp.ts | 5 + assets/script/game/Role/role2.meta | 9 - assets/script/game/Role/role2/Role2Spine.ts | 74 -- .../script/game/Role/role2/Role2Spine.ts.meta | 1 - .../game/Role/role2/Role2SpineAnimator.ts | 71 -- .../script/game/Role/role2/Role2ViewComp.ts | 126 ---- .../game/Role/role2/Role2ViewComp.ts.meta | 1 - .../script/game/common/SingletonModuleComp.ts | 5 +- assets/script/game/common/config/BoxSet.ts | 5 + assets/script/game/common/config/CardSet.ts | 12 +- assets/script/game/common/config/SkillSet.ts | 55 +- assets/script/game/common/config/heroSet.ts | 114 +-- assets/script/game/map/view/MapViewComp.ts | 2 +- assets/script/game/monster/CSkillComp.ts | 26 +- assets/script/game/monster/MonsterBuffComp.ts | 45 +- assets/script/game/monster/MonsterViewComp.ts | 21 +- assets/script/game/skills/TooltipCom.ts | 1 + 22 files changed, 1089 insertions(+), 903 deletions(-) create mode 100644 assets/script/game/Role/RoleBuffComp.ts rename assets/script/game/Role/{role2/Role2SpineAnimator.ts.meta => RoleBuffComp.ts.meta} (70%) delete mode 100644 assets/script/game/Role/role2.meta delete mode 100644 assets/script/game/Role/role2/Role2Spine.ts delete mode 100644 assets/script/game/Role/role2/Role2Spine.ts.meta delete mode 100644 assets/script/game/Role/role2/Role2SpineAnimator.ts delete mode 100644 assets/script/game/Role/role2/Role2ViewComp.ts delete mode 100644 assets/script/game/Role/role2/Role2ViewComp.ts.meta diff --git a/assets/resources/game/heros/hero.prefab b/assets/resources/game/heros/hero.prefab index dd282471..d041996c 100644 --- a/assets/resources/game/heros/hero.prefab +++ b/assets/resources/game/heros/hero.prefab @@ -37,13 +37,13 @@ "__id__": 64 }, { - "__id__": 70 - }, - { - "__id__": 74 + "__id__": 78 }, { "__id__": 84 + }, + { + "__id__": 88 } ], "_active": true, @@ -799,7 +799,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 105.175, + "y": 120, "z": 0 }, "_lrot": { @@ -889,8 +889,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 40, - "height": 5 + "width": 60, + "height": 10 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -975,8 +975,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 40, - "height": 5 + "width": 60, + "height": 10 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1050,7 +1050,7 @@ "__id__": 40 }, "_mode": 0, - "_totalLength": 40, + "_totalLength": 60, "_progress": 1, "_reverse": false, "_id": "" @@ -1103,7 +1103,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 100.175, + "y": 110, "z": 0 }, "_lrot": { @@ -1193,8 +1193,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 40, - "height": 5 + "width": 60, + "height": 10 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1279,8 +1279,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 40, - "height": 5 + "width": 60, + "height": 10 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1354,7 +1354,7 @@ "__id__": 54 }, "_mode": 0, - "_totalLength": 40, + "_totalLength": 60, "_progress": 1, "_reverse": false, "_id": "" @@ -1376,6 +1376,307 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, + { + "__type__": "cc.Node", + "_name": "shield", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 65 + } + ], + "_active": true, + "_components": [ + { + "__id__": 71 + }, + { + "__id__": 73 + }, + { + "__id__": 75 + } + ], + "_prefab": { + "__id__": 77 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 130, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Bar", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 64 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 66 + }, + { + "__id__": 68 + } + ], + "_prefab": { + "__id__": 70 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 65 + }, + "_enabled": true, + "__prefab": { + "__id__": 67 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 10 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fd3dH6jldPsa66Ci7KUVI3" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 65 + }, + "_enabled": true, + "__prefab": { + "__id__": 69 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "f87f53f9-2fba-4a5b-968a-79a593311ab2@5c4a5", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "42nR/FpVZByb+otJaujBAU" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "82t+mKrT1NDK/FLaizJqmu", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 72 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 60, + "height": 10 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d0Vsb23mxLQp4brp5KrYoI" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 74 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": null, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "817EmqwtZOoo1jCiT331/h" + }, + { + "__type__": "cc.ProgressBar", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 76 + }, + "_barSprite": { + "__id__": 68 + }, + "_mode": 0, + "_totalLength": 60, + "_progress": 1, + "_reverse": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "03p2B8lt5IL6sqNzysZUD4" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f5X0rdMcFOMZ0GRx4uHEc0", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, { "__type__": "cc.Node", "_name": "level", @@ -1388,14 +1689,14 @@ "_active": false, "_components": [ { - "__id__": 65 + "__id__": 79 }, { - "__id__": 67 + "__id__": 81 } ], "_prefab": { - "__id__": 69 + "__id__": 83 }, "_lpos": { "__type__": "cc.Vec3", @@ -1432,11 +1733,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 64 + "__id__": 78 }, "_enabled": true, "__prefab": { - "__id__": 66 + "__id__": 80 }, "_contentSize": { "__type__": "cc.Size", @@ -1460,11 +1761,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 64 + "__id__": 78 }, "_enabled": true, "__prefab": { - "__id__": 68 + "__id__": 82 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1524,11 +1825,11 @@ "_active": true, "_components": [ { - "__id__": 71 + "__id__": 85 } ], "_prefab": { - "__id__": 73 + "__id__": 87 }, "_lpos": { "__type__": "cc.Vec3", @@ -1565,11 +1866,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 70 + "__id__": 84 }, "_enabled": true, "__prefab": { - "__id__": 72 + "__id__": 86 }, "_contentSize": { "__type__": "cc.Size", @@ -1612,20 +1913,20 @@ "_active": true, "_components": [ { - "__id__": 75 + "__id__": 89 }, { - "__id__": 77 + "__id__": 91 }, { - "__id__": 79 + "__id__": 93 }, { - "__id__": 81 + "__id__": 95 } ], "_prefab": { - "__id__": 83 + "__id__": 97 }, "_lpos": { "__type__": "cc.Vec3", @@ -1662,11 +1963,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 88 }, "_enabled": true, "__prefab": { - "__id__": 76 + "__id__": 90 }, "_contentSize": { "__type__": "cc.Size", @@ -1690,11 +1991,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 88 }, "_enabled": true, "__prefab": { - "__id__": 78 + "__id__": 92 }, "enabledContactListener": true, "bullet": true, @@ -1724,11 +2025,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 88 }, "_enabled": true, "__prefab": { - "__id__": 80 + "__id__": 94 }, "tag": 4, "_group": 2, @@ -1758,11 +2059,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 88 }, "_enabled": true, "__prefab": { - "__id__": 82 + "__id__": 96 }, "_id": "" }, @@ -1783,307 +2084,6 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, - { - "__type__": "cc.Node", - "_name": "shield", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 85 - } - ], - "_active": false, - "_components": [ - { - "__id__": 91 - }, - { - "__id__": 93 - }, - { - "__id__": 95 - } - ], - "_prefab": { - "__id__": 97 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 105.727, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "Bar", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 84 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 86 - }, - { - "__id__": 88 - } - ], - "_prefab": { - "__id__": 90 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -20, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 33554432, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 85 - }, - "_enabled": true, - "__prefab": { - "__id__": 87 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 40, - "height": 5 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "fd3dH6jldPsa66Ci7KUVI3" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 85 - }, - "_enabled": true, - "__prefab": { - "__id__": 89 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "20835ba4-6145-4fbc-a58a-051ce700aa3e@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "42nR/FpVZByb+otJaujBAU" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "82t+mKrT1NDK/FLaizJqmu", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 84 - }, - "_enabled": true, - "__prefab": { - "__id__": 92 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 40, - "height": 5 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "d0Vsb23mxLQp4brp5KrYoI" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 84 - }, - "_enabled": true, - "__prefab": { - "__id__": 94 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": null, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "817EmqwtZOoo1jCiT331/h" - }, - { - "__type__": "cc.ProgressBar", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 84 - }, - "_enabled": true, - "__prefab": { - "__id__": 96 - }, - "_barSprite": { - "__id__": 88 - }, - "_mode": 0, - "_totalLength": 40, - "_progress": 1, - "_reverse": false, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "03p2B8lt5IL6sqNzysZUD4" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "f5X0rdMcFOMZ0GRx4uHEc0", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, { "__type__": "cc.UITransform", "_name": "", @@ -2150,7 +2150,7 @@ "__expectedType__": "cc.Material" }, "BoxRang": { - "__id__": 74 + "__id__": 88 }, "_id": "" }, diff --git a/assets/resources/game/heros/skill.plist b/assets/resources/game/heros/skill.plist index bec7e344..f46c0deb 100644 --- a/assets/resources/game/heros/skill.plist +++ b/assets/resources/game/heros/skill.plist @@ -30,127 +30,7 @@ spriteSourceSize {102,106} textureRect - {{105,1},{102,106}} - textureRotated - - - 1003.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{209,1},{102,106}} - textureRotated - - - 1004.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{313,1},{102,106}} - textureRotated - - - 1005.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{417,1},{102,106}} - textureRotated - - - 1006.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{521,1},{102,106}} - textureRotated - - - 1007.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{625,1},{102,106}} - textureRotated - - - 1008.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{729,1},{102,106}} - textureRotated - - - 1009.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{833,1},{102,106}} - textureRotated - - - 1010.png - - aliases - - spriteOffset - {0,0} - spriteSize - {102,106} - spriteSourceSize - {102,106} - textureRect - {{937,1},{102,106}} + {{1,109},{102,106}} textureRotated @@ -165,7 +45,7 @@ spriteSourceSize {102,106} textureRect - {{1041,1},{102,106}} + {{105,1},{102,106}} textureRotated @@ -180,7 +60,472 @@ spriteSourceSize {102,106} textureRect - {{1145,1},{102,106}} + {{105,109},{102,106}} + textureRotated + + + 6001.png + + aliases + + spriteOffset + {0,0} + spriteSize + {61,63} + spriteSourceSize + {61,63} + textureRect + {{475,68},{61,63}} + textureRotated + + + 6002.png + + aliases + + spriteOffset + {0,0} + spriteSize + {70,63} + spriteSourceSize + {70,63} + textureRect + {{341,151},{70,63}} + textureRotated + + + 6003.png + + aliases + + spriteOffset + {0,0} + spriteSize + {63,68} + spriteSourceSize + {63,68} + textureRect + {{343,1},{63,68}} + textureRotated + + + 6004.png + + aliases + + spriteOffset + {0,0} + spriteSize + {62,66} + spriteSourceSize + {62,66} + textureRect + {{408,1},{62,66}} + textureRotated + + + 6006.png + + aliases + + spriteOffset + {0,0} + spriteSize + {60,66} + spriteSourceSize + {60,66} + textureRect + {{406,146},{60,66}} + textureRotated + + + 6007.png + + aliases + + spriteOffset + {0,0} + spriteSize + {62,73} + spriteSourceSize + {62,73} + textureRect + {{278,76},{62,73}} + textureRotated + + + 6101.png + + aliases + + spriteOffset + {0,0} + spriteSize + {64,73} + spriteSourceSize + {64,73} + textureRect + {{277,1},{64,73}} + textureRotated + + + 6102.png + + aliases + + spriteOffset + {0,0} + spriteSize + {64,73} + spriteSourceSize + {64,73} + textureRect + {{209,155},{64,73}} + textureRotated + + + 6103.png + + aliases + + spriteOffset + {0,0} + spriteSize + {64,73} + spriteSourceSize + {64,73} + textureRect + {{275,155},{64,73}} + textureRotated + + + 6201 .png + + aliases + + spriteOffset + {0,0} + spriteSize + {54,62} + spriteSourceSize + {54,62} + textureRect + {{531,133},{54,62}} + textureRotated + + + 6201.png + + aliases + + spriteOffset + {0,0} + spriteSize + {54,62} + spriteSourceSize + {54,62} + textureRect + {{531,133},{54,62}} + textureRotated + + + 6202 .png + + aliases + + spriteOffset + {0,0} + spriteSize + {54,62} + spriteSourceSize + {54,62} + textureRect + {{538,65},{54,62}} + textureRotated + + + 6202.png + + aliases + + spriteOffset + {0,0} + spriteSize + {54,62} + spriteSourceSize + {54,62} + textureRect + {{538,65},{54,62}} + textureRotated + + + 6203 .png + + aliases + + spriteOffset + {0,0} + spriteSize + {54,62} + spriteSourceSize + {54,62} + textureRect + {{587,129},{54,62}} + textureRotated + + + 6203.png + + aliases + + spriteOffset + {0,0} + spriteSize + {54,62} + spriteSourceSize + {54,62} + textureRect + {{587,129},{54,62}} + textureRotated + + + 6204.png + + aliases + + spriteOffset + {0,0} + spriteSize + {53,61} + spriteSourceSize + {53,61} + textureRect + {{468,202},{53,61}} + textureRotated + + + 6205.png + + aliases + + spriteOffset + {0,0} + spriteSize + {53,61} + spriteSourceSize + {53,61} + textureRect + {{594,65},{53,61}} + textureRotated + + + 6206.png + + aliases + + spriteOffset + {0,0} + spriteSize + {53,61} + spriteSourceSize + {53,61} + textureRect + {{596,1},{53,61}} + textureRotated + + + 6207.png + + aliases + + spriteOffset + {0,0} + spriteSize + {55,59} + spriteSourceSize + {55,59} + textureRect + {{643,128},{55,59}} + textureRotated + + + 6208.png + + aliases + + spriteOffset + {0,0} + spriteSize + {55,59} + spriteSourceSize + {55,59} + textureRect + {{649,64},{55,59}} + textureRotated + + + 6209.png + + aliases + + spriteOffset + {0,0} + spriteSize + {56,59} + spriteSourceSize + {56,59} + textureRect + {{531,197},{56,59}} + textureRotated + + + 6210.png + + aliases + + spriteOffset + {0,0} + spriteSize + {55,59} + spriteSourceSize + {55,59} + textureRect + {{651,1},{55,59}} + textureRotated + + + 6301.png + + aliases + + spriteOffset + {0,0} + spriteSize + {66,68} + spriteSourceSize + {66,68} + textureRect + {{342,76},{66,68}} + textureRotated + + + 6302.png + + aliases + + spriteOffset + {0,0} + spriteSize + {67,74} + spriteSourceSize + {67,74} + textureRect + {{209,79},{67,74}} + textureRotated + + + 6303.png + + aliases + + spriteOffset + {0,0} + spriteSize + {47,61} + spriteSourceSize + {47,61} + textureRect + {{592,193},{47,61}} + textureRotated + + + 7001.png + + aliases + + spriteOffset + {0,0} + spriteSize + {63,65} + spriteSourceSize + {63,65} + textureRect + {{410,69},{63,65}} + textureRotated + + + 7002.png + + aliases + + spriteOffset + {0,0} + spriteSize + {60,62} + spriteSourceSize + {60,62} + textureRect + {{534,1},{60,62}} + textureRotated + + + 7003.png + + aliases + + spriteOffset + {0,0} + spriteSize + {65,60} + spriteSourceSize + {65,60} + textureRect + {{472,1},{65,60}} + textureRotated + + + userinfo_icon_boss.png + + aliases + + spriteOffset + {0,0} + spriteSize + {66,76} + spriteSourceSize + {66,76} + textureRect + {{209,1},{66,76}} + textureRotated + + + userinfo_icon_crown.png + + aliases + + spriteOffset + {0,0} + spriteSize + {59,60} + spriteSourceSize + {59,60} + textureRect + {{641,193},{59,60}} + textureRotated + + + userinfo_icon_skull.png + + aliases + + spriteOffset + {0,0} + spriteSize + {61,64} + spriteSourceSize + {61,64} + textureRect + {{468,136},{61,64}} textureRotated @@ -196,9 +541,9 @@ realTextureFileName skill.png size - {1248,108} + {707,256} smartupdate - $TexturePacker:SmartUpdate:b9bbea2cc13f7dbba1426a027abcd870:9675b05d8759001d89d377d942d7bede:de628d2eabb1e43115cf8c86336e45f6$ + $TexturePacker:SmartUpdate:7fc39e8ff0df36dd133477fda5417f2c:98b26f7b38d263c48bc0ce915f0606de:de628d2eabb1e43115cf8c86336e45f6$ textureFileName skill.png diff --git a/assets/resources/game/heros/skill.png b/assets/resources/game/heros/skill.png index 7b3c66f7805fffd6e7af3c98be9b1438ed8472f2..7e7c2d3b9e5888c379c781bac1f8ebca22a27b7e 100644 GIT binary patch literal 52917 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

cYQ4 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

8}NQAK02fF$sIz@lio}D$K%E2~Sg;ml; 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⋘z)n**Vs<^R2CDu|3U7)GDq)B^x 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 + this.buffs.forEach((b:any,index:number)=>{ + if(b.skill_uuid==buff.skill_uuid){ + b.time=buff.time; + if(buff.atk>0){ + this.node.getChildByName("avatar").setScale(1.2,1.2) + // this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F"); + this.mv.atk+=(buff.atk+buff.args.atk-b.atk); + } + if(buff.hp>0){ + this.mv.hp+=(buff.hp+buff.args.hp); + this.mv.add_hp(buff.hp+buff.args.hp); + // this.mv.hp_max+=(buff.hp-b.hp); + } + if(buff.shield>0){ + this.mv.shield=(buff.shield+buff.args.shield); + // this.mv.shield_max=(buff.shield+buff.args.shield); + } + + i=index + } + }) + } + if (i==0||this.buffs.length==0) { + this.buffs.push(buff); + if(buff.atk>0){ + this.mv.atk+=(buff.atk+buff.args.atk); + this.node.getChildByName("avatar").setScale(1.2,1.2) + // this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F"); + } + if(buff.hp>0){ + this.mv.hp+=(buff.hp+buff.args.hp); + this.mv.add_hp(buff.hp+buff.args.hp); + // this.mv.hp_max+=buff.hp; + } + if(buff.shield>0){ + this.mv.shield=(buff.shield+buff.args.shield); + // this.mv.shield_max=(buff.shield+buff.args.shield); + } + + } + console.log("buff add:",this.mv); + } + buff_remove(index:number){ + if(this.buffs[index].atk>0){ + this.mv.atk-=(this.buffs[index].atk+this.buffs[index].args.atk); + this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#FFFFFF"); + this.node.getChildByName("avatar").setScale(1,1) + } + if(this.buffs[index].shield>0){ + this.mv.shield=0 + // this.mv.shield_max-=(this.buffs[index].shield+this.buffs[index].args.shield); + } + // if(this.buffs[index].hp>0){ + // this.mv.hp_max-=this.buffs[index].hp; + // } + console.log("buff remove:",this.mv,this.buffs[index]); + } + buff_update(){ + this.buffs.forEach((buff:any,index:number)=>{ + buff.time -= 0.1; + if(buff.time <= 0){ + this.buff_remove(index); + } + }) + this.buffs = this.buffs.filter((buff:any) => buff.time > 0); + // console.log(this.buffs,this.buffs); + } +} \ No newline at end of file diff --git a/assets/script/game/Role/role2/Role2SpineAnimator.ts.meta b/assets/script/game/Role/RoleBuffComp.ts.meta similarity index 70% rename from assets/script/game/Role/role2/Role2SpineAnimator.ts.meta rename to assets/script/game/Role/RoleBuffComp.ts.meta index ac9627e6..2d30661b 100644 --- a/assets/script/game/Role/role2/Role2SpineAnimator.ts.meta +++ b/assets/script/game/Role/RoleBuffComp.ts.meta @@ -2,7 +2,7 @@ "ver": "4.0.23", "importer": "typescript", "imported": true, - "uuid": "93179a96-4683-4d2d-853c-a0f721f19f02", + "uuid": "e5f012c8-982e-4eef-8f95-edc5d4bcef52", "files": [], "subMetas": {}, "userData": {} diff --git a/assets/script/game/Role/RoleViewComp.ts b/assets/script/game/Role/RoleViewComp.ts index 74e5d0cb..1c1ee7e0 100644 --- a/assets/script/game/Role/RoleViewComp.ts +++ b/assets/script/game/Role/RoleViewComp.ts @@ -38,6 +38,8 @@ export class RoleViewComp extends CCComp { atk:number = 10; skill_uuid:number = 9003; max_skill_uuid:number = 1001; + shield:number = 0; + shield_max:number = 200; skin="Character01"; private atk_time:Timer = new Timer(1); @@ -79,6 +81,9 @@ export class RoleViewComp extends CCComp { } + } + add_hp(hp:number){ + console.log("role add hp",hp); } setSkin(){ this.as.setSkin(this.skin); diff --git a/assets/script/game/Role/role2.meta b/assets/script/game/Role/role2.meta deleted file mode 100644 index a06fa03d..00000000 --- a/assets/script/game/Role/role2.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "826ec938-411f-429e-9693-747a063877b4", - "files": [], - "subMetas": {}, - "userData": {} -} diff --git a/assets/script/game/Role/role2/Role2Spine.ts b/assets/script/game/Role/role2/Role2Spine.ts deleted file mode 100644 index d2590f42..00000000 --- a/assets/script/game/Role/role2/Role2Spine.ts +++ /dev/null @@ -1,74 +0,0 @@ -/* - * @Author: dgflash - * @Date: 2022-08-04 15:08:35 - * @LastEditors: dgflash - * @LastEditTime: 2022-08-04 15:26:26 - */ -import { Color, Component, EventTouch, sp, Vec3, _decorator ,Node} from "cc"; -import { LayerUtil } from "../../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil"; -import { smc } from "../../common/SingletonModuleComp"; -import Role2SpineAnimator from "./Role2SpineAnimator"; - -const { ccclass, property } = _decorator; - -/** - * RPG SPINE角色模型 - */ -@ccclass('Role2Spine') -export class Role2Spine extends Component { - @property({ type: Role2SpineAnimator, tooltip: '动画控制器' }) - animator: Role2SpineAnimator = null!; - - private spine!: sp.Skeleton; - - onLoad() { - // 角色控制组件 - - this.initAnimator(); - LayerUtil.setNodeLayer(LayerUtil.MAP, this.node); - } - atk() { - this.spine.setAnimation(1, "atk", false); - } - - magic() { - this.spine.setAnimation(1, "magic", false); - } - /** 初始化动画 */ - protected initAnimator() { - this.spine = this.animator.getComponent(sp.Skeleton)!; - } - - setSkin(value: string): void { - console.log("RoleSpine setSkin", value); - this.spine.setSkin(value); - } - play(animName: string, loop: boolean): void { - this.spine.setAnimation(1, animName, loop); - } - setAlpha(value: number): void { - var color: Color = this.spine.color; - color.a = 255 * (value / 1); - this.spine.color = color; - } - - setPos(value: Vec3): void { - this.node.position = value; - } - - checkTouch(event: EventTouch): boolean { - return false; - } - - onDestroy() { - this.node.destroy(); - } - - walk() { - - } - - idle() { - - } -} diff --git a/assets/script/game/Role/role2/Role2Spine.ts.meta b/assets/script/game/Role/role2/Role2Spine.ts.meta deleted file mode 100644 index 747bb08c..00000000 --- a/assets/script/game/Role/role2/Role2Spine.ts.meta +++ /dev/null @@ -1 +0,0 @@ -{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"a12321b5-d9b0-4eb8-aa4c-9db175d0f9a8","files":[],"subMetas":{},"userData":{}} diff --git a/assets/script/game/Role/role2/Role2SpineAnimator.ts b/assets/script/game/Role/role2/Role2SpineAnimator.ts deleted file mode 100644 index fa8ee8ce..00000000 --- a/assets/script/game/Role/role2/Role2SpineAnimator.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * @Author: dgflash - * @Date: 2022-08-04 15:08:35 - * @LastEditors: dgflash - * @LastEditTime: 2022-08-04 15:26:38 - */ -import { sp, _decorator ,Component} from "cc"; - -const { ccclass, property, requireComponent } = _decorator; - -/** - * Spine状态机组件(主状态机),trackIndex为0 - */ -@ccclass -@requireComponent(sp.Skeleton) -export default class Role2SpineAnimator extends Component { - private animName: string = "Idle"; - private loop: boolean = true; - private spine!: sp.Skeleton; - start() { - this.spine = this.getComponent(sp.Skeleton)!; - // console.log("MonsterSpineAnimator start"); - this.playAnimation(this.animName, this.loop); - } - mixTime:number= 0.2; - - protected onLoad(): void { - this.spine = this.getComponent(sp.Skeleton)!; - // this.spine?.setMix('atk', 'Idle', this.mixTime); - // this.spine?.setMix('Idle','atk', this.mixTime); - this.spine.setEndListener(trackEntry => { - var animationName = trackEntry.animation ? trackEntry.animation.name : ""; - // console.log("[track %s][animation %s] end.", trackEntry.trackIndex, animationName); - if (animationName == "atk"||animationName == "magic") { - this.spine.setAnimation(1, "Idle", true); - } - }); - - } - lateUpdate(dt: number) { - // - } - - play(animName: string, loop: boolean) { - if (animName) { - this.animName = animName; - this.loop = loop; - this.spine.setAnimation(1 ,this.animName, this.loop); - } - else { - } - } - /** - * 播放动画 - * @override - * @param animName 动画名 - * @param loop 是否循环播放 - */ - protected playAnimation(animName: string, loop: boolean) { - // console.log("MonsterSpineAnimator playAnimation"); - if (animName) { - // console.log("MonsterSpineAnimator playAnimation animName", animName); - this.animName = animName; - this.loop = loop; - this.spine.setAnimation(1, this.animName, this.loop); - } - else { - } - } - -} \ No newline at end of file diff --git a/assets/script/game/Role/role2/Role2ViewComp.ts b/assets/script/game/Role/role2/Role2ViewComp.ts deleted file mode 100644 index c138e346..00000000 --- a/assets/script/game/Role/role2/Role2ViewComp.ts +++ /dev/null @@ -1,126 +0,0 @@ -/* - * @Author: dgflash - * @Date: 2021-11-18 17:42:59 - * @LastEditors: dgflash - * @LastEditTime: 2022-08-17 12:36:18 - */ - -import { Vec3, v3,_decorator ,Collider2D,Contact2DType,IPhysics2DContact,Material,Sprite,ProgressBar} from "cc"; -import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; -import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; -import { Role2Spine } from "./Role2Spine"; -import {BoxSet} from "../../common/config/BoxSet" -import { smc } from "../../common/SingletonModuleComp"; -import { SkillCom } from "../../skills/SkillCom"; -import { Skill } from "../../skills/Skill"; -import { SkillSet } from "../../common/config/SkillSet"; -import { Timer } from "../../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer"; -import { RandomManager } from "../../../../../extensions/oops-plugin-framework/assets/core/common/random/RandomManager"; -const { ccclass, property } = _decorator; - -/** 角色显示组件 */ -@ccclass('Role2ViewComp') // 定义为 Cocos Creator 组件 -@ecs.register('RoleView2', false) // 定义为 ECS 组件 -export class Role2ViewComp extends CCComp { - @property(Material) - hitFlashMaterial: Material; - orginalFlashMaterial: Material; - sprite: Sprite; - /** 角色动画 */ - as: Role2Spine = null!; - /** 角色属性 */ - hp: number = 1000; - hp_max:number = 1000; - power: number = 0; - stop_cd:number = 0; - atk_cd:number = 2; - atk:number = 10; - skill_uuid:number = 9003; - max_skill_uuid:number = 1001; - skin:string ="Character01"; - private atk_time:Timer = new Timer(1); - - onLoad() { - this.as = this.getComponent(Role2Spine); - - } - start () { - // this.as.setSkin(this.skin); - this.atk_time = new Timer(this.atk_cd); - // this.sprite = this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite); - // this.orginalFlashMaterial = this.sprite.getRenderMaterial(0); - console.log("Role view start") - let collider = this.getComponent(Collider2D); - if (collider) { - collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this); - } - } - onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) { - if(otherCollider.tag==BoxSet.SKILL_TAG){ - if(selfCollider.group != otherCollider.group){ - let skill = otherCollider.node.getComponent(SkillCom)!; - // console.log('onPostSolve',skill); - // this.in_atked(); - if(this.hp <= 0 ){ - return - } - this.hp_change(skill.atk); - } - } - } - // onEndContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {} - // onPreSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {} - // onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {} - - update(dt: number){ - if (this.atk_time.update(dt)) { - this.toAtk(this.skill_uuid); - } - - - } - - reset() { - this.node.destroy(); - } - toAtk(uuid) { - this.as.atk(); - this.scheduleOnce(()=>{ - this.shoot(this.skill_uuid); - },0.4) - } - - shoot(skill_uuid:number){ - console.log("monster shoot"); - let skill = ecs.getEntity(Skill); - let pos = v3(60,50) - let scale = 1 - let speed =smc.skills[skill_uuid].speed; - let dis = smc.skills[skill_uuid].dis; - let atk = smc.skills[skill_uuid].atk+this.atk; - let uuid = skill_uuid; - skill.load(pos,speed,dis,scale,this.node,uuid,atk,2); - } - setSkin(skin:string="Character01"){ - this.as.setSkin(skin); - } - - in_atked() { - this.sprite.setSharedMaterial(this.hitFlashMaterial, 0); - this.scheduleOnce(() => { - this.sprite.setSharedMaterial(this.orginalFlashMaterial, 0); - }, 0.1); - } - hp_change(hp: number){ - this.hp -= hp; - if(this.hp > this.hp_max){ - this.hp = this.hp_max; - } - let hp_progress= this.hp/this.hp_max; - this.node.getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress; - if(this.hp <= 0){ - console.log("dead"); - } - } - -} \ No newline at end of file diff --git a/assets/script/game/Role/role2/Role2ViewComp.ts.meta b/assets/script/game/Role/role2/Role2ViewComp.ts.meta deleted file mode 100644 index dce966ac..00000000 --- a/assets/script/game/Role/role2/Role2ViewComp.ts.meta +++ /dev/null @@ -1 +0,0 @@ -{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"4810c3ad-8287-4fcd-bdb3-dd44247d61ed","files":[],"subMetas":{},"userData":{}} diff --git a/assets/script/game/common/SingletonModuleComp.ts b/assets/script/game/common/SingletonModuleComp.ts index a82817d5..8be223bc 100644 --- a/assets/script/game/common/SingletonModuleComp.ts +++ b/assets/script/game/common/SingletonModuleComp.ts @@ -42,7 +42,10 @@ export class SingletonModuleComp extends ecs.Comp { skills:any = [] monsters_dead:any = [] heros_dead:any = [] - + least_hp_monster_eid:number=0; + least_hp_monster_hp:number=1000; + least_hp_hero_eid:number=0; + least_hp_hero_hp:number=1000; vm_data: any = { name : "纸片精灵大乱斗", /**宝石数量 */ diff --git a/assets/script/game/common/config/BoxSet.ts b/assets/script/game/common/config/BoxSet.ts index f6307dba..80a9c6c8 100644 --- a/assets/script/game/common/config/BoxSet.ts +++ b/assets/script/game/common/config/BoxSet.ts @@ -35,4 +35,9 @@ export enum BoxSet { MOVE_RANGE_X = 20, MAX_SKILL_SY = 50, MAX_SKILL_BY = 80, +} +export enum GameSet { + ATK_TO_ATK_RATIO=0.1, + ATK_TO_HP_RATIO=0.2, + ATK_TO_SHIELD_RATIO=2 } \ No newline at end of file diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index fabd6383..e4377de7 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -11,23 +11,19 @@ export const CardType = { export const CardList={ 1:[ {uuid:1101,type:1},{uuid:1102,type:1},{uuid:1201,type:1},{uuid:1202,type:1},{uuid:1301,type:1},{uuid:1302,type:1}, - {uuid:1001,type:2},{uuid:1002,type:2},{uuid:1003,type:2},{uuid:1004,type:2},{uuid:1005,type:2},{uuid:1006,type:2}, - {uuid:1008,type:2},{uuid:1009,type:2},{uuid:1010,type:2}, + {uuid:1001,type:2},{uuid:1002,type:2}, ], 2:[ {uuid:2101,type:1},{uuid:2102,type:1},{uuid:2201,type:1},{uuid:2202,type:1},{uuid:2301,type:1},{uuid:2302,type:1}, - {uuid:2001,type:2},{uuid:2002,type:2},{uuid:2003,type:2},{uuid:2004,type:2},{uuid:2005,type:2},{uuid:2006,type:2}, - {uuid:2008,type:2},{uuid:2009,type:2},{uuid:2010,type:2}, + {uuid:1001,type:2},{uuid:1002,type:2}, ], 3:[ {uuid:3101,type:1},{uuid:3102,type:1},{uuid:3201,type:1},{uuid:3202,type:1},{uuid:3301,type:1},{uuid:3302,type:1}, - {uuid:3001,type:2},{uuid:3002,type:2},{uuid:3003,type:2},{uuid:3004,type:2},{uuid:3005,type:2},{uuid:3006,type:2}, - {uuid:3008,type:2},{uuid:3009,type:2},{uuid:3010,type:2},{uuid:1011,type:2},{uuid:1012,type:2}, + {uuid:1001,type:2},{uuid:1002,type:2}, ], 4:[ {uuid:4101,type:1},{uuid:4102,type:1},{uuid:4201,type:1},{uuid:4202,type:1},{uuid:4301,type:1},{uuid:4302,type:1}, - {uuid:4001,type:2},{uuid:4002,type:2},{uuid:4003,type:2},{uuid:4004,type:2},{uuid:4005,type:2},{uuid:4006,type:2}, - {uuid:4008,type:2},{uuid:4009,type:2},{uuid:4010,type:2},{uuid:2011,type:2},{uuid:2012,type:2}, + {uuid:1001,type:2},{uuid:1002,type:2}, ], 5:[{uuid:5001,type:1},{uuid:5002,type:1},{uuid:5003,type:1},{uuid:5004,type:1}], // 1:[1101,1102,1103,1104,1105,1106,1201,1202,1203,1204,1205,1301,1302,1303,1304,], diff --git a/assets/script/game/common/config/SkillSet.ts b/assets/script/game/common/config/SkillSet.ts index 31ffec7b..e3f350b7 100644 --- a/assets/script/game/common/config/SkillSet.ts +++ b/assets/script/game/common/config/SkillSet.ts @@ -6,6 +6,9 @@ type : 4: 双技能技能,1技能结束后,触发2技能 5: 特殊技能,触发特殊弹窗选项 9: buff 技能, + 91: 单体buff,加最少血 + 92:单体buff,随机 + 99: 群体buff sd: 卡片技能图标持续时间 cd: 卡片技能释放本技能cd count:卡片1次释放本技能数 @@ -18,54 +21,10 @@ path: 图片地址 */ export const SkillSet={ - 1001:{uuid: 1001,path: "1001",type: 1,level: 1,name: "火球术-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1002:{uuid: 1002,path: "1002",type: 1,level: 1,name: "寒冰箭-初级",sp_name:"ice",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1003:{uuid: 1003,path: "1003",type: 9,level: 1,name: "狂暴-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1004:{uuid: 1004,path: "1004",type: 9,level: 1,name: "守护-初级",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:100,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1005:{uuid: 1005,path: "1005",type: 9,level: 1,name: "雷霆-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1006:{uuid: 1006,path: "1006",type: 9,level: 1,name: "再生-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1007:{uuid: 1007,path: "1007",type: 5,level: 1,name: "复生-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1008:{uuid: 1008,path: "1008",type: 9,level: 1,name: "灵巧-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1009:{uuid: 1009,path: "1009",type: 9,level: 1,name: "坚硬-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1010:{uuid: 1010,path: "1010",type: 9,level: 1,name: "治愈-初级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1011:{uuid: 1011,path: "1011",type: 1,level: 3,name: "火焰风暴-初级",sp_name:"fire",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 1012:{uuid: 1012,path: "1012",type: 1,level: 3,name: "冰晶风暴-初级",sp_name:"ice",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2001:{uuid: 2001,path: "1001",type: 1,level: 2,name: "火球术-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2002:{uuid: 2002,path: "1002",type: 1,level: 2,name: "寒冰箭-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2003:{uuid: 2003,path: "1003",type: 9,level: 2,name: "狂暴-中级",sp_name:"fire",dis:720,count:1,atk:20,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2004:{uuid: 2004,path: "1004",type: 9,level: 2,name: "守护-中级",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:200,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2005:{uuid: 2005,path: "1005",type: 9,level: 2,name: "雷霆-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2006:{uuid: 2006,path: "1006",type: 9,level: 2,name: "再生-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2007:{uuid: 2007,path: "1007",type: 5,level: 2,name: "复生-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2008:{uuid: 2008,path: "1008",type: 9,level: 2,name: "灵巧-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2009:{uuid: 2009,path: "1009",type: 9,level: 2,name: "坚硬-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2010:{uuid: 2010,path: "1010",type: 9,level: 2,name: "治愈-中级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2011:{uuid: 2011,path: "1011",type: 1,level: 4,name: "火焰风暴-中级",sp_name:"fire",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 2012:{uuid: 2012,path: "1012",type: 1,level: 4,name: "冰晶风暴-中级",sp_name:"ice",dis:720,count:3,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3001:{uuid: 3001,path: "1001",type: 1,level: 3,name: "火球术-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3002:{uuid: 3002,path: "1002",type: 1,level: 3,name: "寒冰箭-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3003:{uuid: 3003,path: "1003",type: 9,level: 3,name: "狂暴-高级",sp_name:"fire",dis:720,count:1,atk:40,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3004:{uuid: 3004,path: "1004",type: 9,level: 3,name: "守护-高级",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:400,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3005:{uuid: 3005,path: "1005",type: 9,level: 3,name: "雷霆-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3006:{uuid: 3006,path: "1006",type: 9,level: 3,name: "再生-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3007:{uuid: 3007,path: "1007",type: 5,level: 3,name: "复生-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3008:{uuid: 3008,path: "1008",type: 9,level: 3,name: "灵巧-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3009:{uuid: 3009,path: "1009",type: 9,level: 3,name: "坚硬-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3010:{uuid: 3010,path: "1010",type: 9,level: 3,name: "治愈-高级",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3011:{uuid: 3011,path: "1011",type: 1,level: 5,name: "火焰风暴-高级",sp_name:"fire",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 3012:{uuid: 3012,path: "1012",type: 1,level: 5,name: "冰晶风暴-高级",sp_name:"ice",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4001:{uuid: 4001,path: "1001",type: 1,level: 4,name: "火球术-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4002:{uuid: 4002,path: "1002",type: 1,level: 4,name: "寒冰箭-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4003:{uuid: 4003,path: "1003",type: 9,level: 4,name: "狂暴-终极",sp_name:"fire",dis:720,count:1,atk:80,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4004:{uuid: 4004,path: "1004",type: 9,level: 4,name: "守护-终极",sp_name:"fire",dis:720,count:1,atk:0,hp:0,shield:800,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4005:{uuid: 4005,path: "1005",type: 9,level: 4,name: "雷霆-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4006:{uuid: 4006,path: "1006",type: 9,level: 4,name: "再生-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4007:{uuid: 4007,path: "1007",type: 5,level: 4,name: "复生-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4008:{uuid: 4008,path: "1008",type: 9,level: 4,name: "灵巧-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4009:{uuid: 4009,path: "1009",type: 9,level: 4,name: "坚硬-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4010:{uuid: 4010,path: "1010",type: 9,level: 4,name: "治愈-终极",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4011:{uuid: 4011,path: "1011",type: 1,level: 6,name: "火焰风暴-终极",sp_name:"fire",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, - 4012:{uuid: 4012,path: "1012",type: 1,level: 6,name: "冰晶风暴-终极",sp_name:"ice",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, + 1001:{uuid: 1001,path: "1001",type: 1,level: 1,name: "火球术",sp_name:"fire",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, + 1002:{uuid: 1002,path: "1002",type: 1,level: 1,name: "寒冰箭",sp_name:"ice",dis:720,count:1,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, + 4011:{uuid: 4011,path: "1011",type: 1,level: 3,name: "火焰风暴",sp_name:"fire",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, + 4012:{uuid: 4012,path: "1012",type: 1,level: 3,name: "冰晶风暴",sp_name:"ice",dis:720,count:5,atk:10,hp:0,shield:0,sd:10,cd:1,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:350,}, 9001:{uuid: 9001,path: "1001",type: 1,level: 1,name: "基础攻击1",sp_name:"base",dis:70,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,}, 9002:{uuid: 9002,path: "1001",type: 1,level: 1,name: "基础攻击2",sp_name:"base2",dis:70,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,}, 9003:{uuid: 9003,path: "1001",type: 2,level: 1,name: "基础攻击3",sp_name:"base3",dis:720,count:1,atk:0,hp:0,shield:0,sd:10,cd:3,bsd:10,bcd:1,sk_uuid:1001,sk_count:0,speed:450,}, diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index 462e604a..56e8edd5 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -1,174 +1,174 @@ export const HeroSet={ - 1101:{uuid: 1101,path: 1101,type: 1,level: 1,name: "守护犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, + 1101:{uuid: 1101,path: 1101,type: 1,level: 1,name: "守护犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "攻击型",mon: "狗"}, - 1102:{uuid: 1102,path: 1102,type: 1,level: 1,name: "狂暴犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, + 1102:{uuid: 1102,path: 1102,type: 1,level: 1,name: "狂暴犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻击型",mon: "狗"}, - 1103:{uuid: 1103,path: 1103,type: 1,level: 1,name: "火焰犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, + 1103:{uuid: 1103,path: 1103,type: 1,level: 1,name: "火焰犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "火焰",info: "大火球", atktype: "攻击型",mon: "狗"}, - 1104:{uuid: 1104,path: 1104,type: 1,level: 1,name: "机甲犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, + 1104:{uuid: 1104,path: 1104,type: 1,level: 1,name: "机甲犬",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "狗"}, - 1105:{uuid: 1105,path: 1105,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, + 1105:{uuid: 1105,path: 1105,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "蚂蚁"}, - 1106:{uuid: 1106,path: 1106,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 80, + 1106:{uuid: 1106,path: 1106,type: 1,level: 1,name: "战斗蚁",atk: 4,hp: 24,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "蚂蚁"}, - 2101:{uuid: 2101,path: 2101,type: 1,level: 2,name: "金刚鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, + 2101:{uuid: 2101,path: 2101,type: 1,level: 2,name: "金刚鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "金刚",info: "全体招架", atktype: "攻击型",mon: "鹦鹉"}, - 2102:{uuid: 2102,path: 2102,type: 1,level: 2,name: "狂暴鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, + 2102:{uuid: 2102,path: 2102,type: 1,level: 2,name: "狂暴鹦鹉",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻击型",mon: "鹦鹉"}, - 2103:{uuid: 2103,path: 2103,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, + 2103:{uuid: 2103,path: 2103,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"}, - 2104:{uuid: 2104,path: 2104,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, + 2104:{uuid: 2104,path: 2104,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"}, - 2105:{uuid: 2105,path: 2105,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 80, + 2105:{uuid: 2105,path: 2105,type: 1,level: 2,name: "鹰",atk: 6,hp: 36,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹰"}, - 3101:{uuid: 3101,path: 3101,type: 1,level: 3,name: "火焰山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, + 3101:{uuid: 3101,path: 3101,type: 1,level: 3,name: "火焰山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "火焰",info: "大火球", atktype: "攻击型",mon: "山羊"}, - 3102:{uuid: 3102,path: 3102,type: 1,level: 3,name: "坚韧山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, + 3102:{uuid: 3102,path: 3102,type: 1,level: 3,name: "坚韧山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "全体护盾", atktype: "攻击型",mon: "山羊"}, - 3103:{uuid: 3103,path: 3103,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, + 3103:{uuid: 3103,path: 3103,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "山羊"}, - 3104:{uuid: 3104,path: 3104,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 80, + 3104:{uuid: 3104,path: 3104,type: 1,level: 3,name: "山羊",atk: 9,hp: 54,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "山羊"}, - 4101:{uuid: 4101,path: 4101,type: 1,level: 4,name: "炎爆麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, + 4101:{uuid: 4101,path: 4101,type: 1,level: 4,name: "炎爆麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "炎爆",info: "炎爆", atktype: "攻击型",mon: "鹿"}, - 4102:{uuid: 4102,path: 4102,type: 1,level: 4,name: "金刚麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, + 4102:{uuid: 4102,path: 4102,type: 1,level: 4,name: "金刚麋鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "金刚",info: "全体招架", atktype: "攻击型",mon: "鹿"}, - 4103:{uuid: 4103,path: 4103,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, + 4103:{uuid: 4103,path: 4103,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹿"}, - 4104:{uuid: 4104,path: 4104,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 80, + 4104:{uuid: 4104,path: 4104,type: 1,level: 4,name: "鹿",atk: 13,hp: 81,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻击型",mon: "鹿"}, - 1201:{uuid: 1201,path: 1201,type: 2,level: 1,name: "守护绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, + 1201:{uuid: 1201,path: 1201,type: 2,level: 1,name: "守护绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "血量型",mon: "绵羊"}, - 1202:{uuid: 1202,path: 1202,type: 2,level: 1,name: "再生绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, + 1202:{uuid: 1202,path: 1202,type: 2,level: 1,name: "再生绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "再生",info: "全体回血", atktype: "血量型",mon: "绵羊"}, - 1203:{uuid: 1203,path: 1203,type: 2,level: 1,name: "坚韧绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, + 1203:{uuid: 1203,path: 1203,type: 2,level: 1,name: "坚韧绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,info: "全体护盾", atktype: "血量型",mon: "绵羊"}, - 1204:{uuid: 1204,path: 1204,type: 2,level: 1,name: "绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 80, + 1204:{uuid: 1204,path: 1204,type: 2,level: 1,name: "绵羊",atk: 2,hp: 48,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "绵羊"}, - 2201:{uuid: 2201,path: 2201,type: 2,level: 2,name: "坚韧龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, + 2201:{uuid: 2201,path: 2201,type: 2,level: 2,name: "坚韧龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "血量型",mon: "龟"}, - 2202:{uuid: 2202,path: 2202,type: 2,level: 2,name: "狂暴龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, + 2202:{uuid: 2202,path: 2202,type: 2,level: 2,name: "狂暴龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "血量型",mon: "龟"}, - 2203:{uuid: 2203,path: 2203,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, + 2203:{uuid: 2203,path: 2203,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "龟"}, - 2204:{uuid: 2204,path: 2204,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 80, + 2204:{uuid: 2204,path: 2204,type: 2,level: 2,name: "龟",atk: 3,hp: 72,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "龟"}, - 3201:{uuid: 3201,path: 3201,type: 2,level: 3,name: "风刃野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, + 3201:{uuid: 3201,path: 3201,type: 2,level: 3,name: "风刃野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "风刃",info: "风刃", atktype: "血量型",mon: "野猪"}, - 3202:{uuid: 3202,path: 3202,type: 2,level: 3,name: "急速野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, + 3202:{uuid: 3202,path: 3202,type: 2,level: 3,name: "急速野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "血量型",mon: "野猪"}, - 3203:{uuid: 3203,path: 3203,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, + 3203:{uuid: 3203,path: 3203,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"}, - 3204:{uuid: 3204,path: 3204,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, + 3204:{uuid: 3204,path: 3204,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"}, - 3205:{uuid: 3205,path: 3205,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 80, + 3205:{uuid: 3205,path: 3205,type: 2,level: 3,name: "野猪",atk: 5,hp: 108,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "野猪"}, - 4201:{uuid: 4201,path: 4201,type: 2,level: 4,name: "坚韧犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, + 4201:{uuid: 4201,path: 4201,type: 2,level: 4,name: "坚韧犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "血量型",mon: "犀牛"}, - 4202:{uuid: 4202,path: 4202,type: 2,level: 4,name: "雷暴犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, + 4202:{uuid: 4202,path: 4202,type: 2,level: 4,name: "雷暴犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "雷暴",info: "雷暴", atktype: "血量型",mon: "犀牛"}, - 4203:{uuid: 4203,path: 4203,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, + 4203:{uuid: 4203,path: 4203,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "犀牛"}, - 4204:{uuid: 4204,path: 4204,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 80, + 4204:{uuid: 4204,path: 4204,type: 2,level: 4,name: "犀牛",atk: 7,hp: 162,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "血量型",mon: "犀牛"}, - 1301:{uuid: 1301,path: 1301,type: 3,level: 1,name: "守护喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 80, + 1301:{uuid: 1301,path: 1301,type: 3,level: 1,name: "守护喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "守护",info: "自身护盾", atktype: "攻速型",mon: "猫"}, - 1302:{uuid: 1302,path: 1302,type: 3,level: 1,name: "急速喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 80, + 1302:{uuid: 1302,path: 1302,type: 3,level: 1,name: "急速喵",atk: 3,hp: 18,atk_cd: 2,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "猫"}, - 1303:{uuid: 1303,path: 1303,type: 3,level: 1,name: "狂暴喵",atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 80, + 1303:{uuid: 1303,path: 1303,type: 3,level: 1,name: "狂暴喵",atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂暴",info: "全体攻击", atktype: "攻速型",mon: "松鼠"}, - 1304:{uuid: 1304,path: 1304,type: 3,level: 1,atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 80, + 1304:{uuid: 1304,path: 1304,type: 3,level: 1,atk: 3,hp: 18,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "鼠"}, - 2301:{uuid: 2301,path: 2301,type: 3,level: 2,name: "狂爆山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, + 2301:{uuid: 2301,path: 2301,type: 3,level: 2,name: "狂爆山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "狂爆",info: "全体攻击", atktype: "攻速型",mon: "山猫"}, - 2302:{uuid: 2302,path: 2302,type: 3,level: 2,name: "急速山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, + 2302:{uuid: 2302,path: 2302,type: 3,level: 2,name: "急速山猫",atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "山猫"}, - 2303:{uuid: 2303,path: 2303,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, + 2303:{uuid: 2303,path: 2303,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "山猫"}, - 2304:{uuid: 2304,path: 2304,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, + 2304:{uuid: 2304,path: 2304,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "机械蜜蜂"}, - 2305:{uuid: 2305,path: 2305,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 80, + 2305:{uuid: 2305,path: 2305,type: 3,level: 2,atk: 4,hp: 27,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "机械山猫"}, - 3301:{uuid: 3301,path: 3301,type: 3,level: 3,name: "坚韧狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, + 3301:{uuid: 3301,path: 3301,type: 3,level: 3,name: "坚韧狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "坚韧",info: "全体护盾", atktype: "攻速型",mon: "狮子"}, - 3302:{uuid: 3302,path: 3302,type: 3,level: 3,name: "冰封狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, + 3302:{uuid: 3302,path: 3302,type: 3,level: 3,name: "冰封狮",atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "冰封",info: "冰封", atktype: "攻速型",mon: "狮子"}, - 3303:{uuid: 3303,path: 3303,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, + 3303:{uuid: 3303,path: 3303,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "狮子"}, - 3304:{uuid: 3304,path: 3304,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 80, + 3304:{uuid: 3304,path: 3304,type: 3,level: 3,atk: 6,hp: 45,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "狮子"}, - 4301:{uuid: 4301,path: 4301,type: 3,level: 4,name: "急速独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, + 4301:{uuid: 4301,path: 4301,type: 3,level: 4,name: "急速独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "急速",info: "全体闪避", atktype: "攻速型",mon: "独角兽"}, - 4302:{uuid: 4302,path: 4302,type: 3,level: 4,name: "潮汐独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, + 4302:{uuid: 4302,path: 4302,type: 3,level: 4,name: "潮汐独角兽",atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001,word: "潮汐",info: "潮汐", atktype: "攻速型",mon: "独角兽"}, - 4303:{uuid: 4303,path: 4303,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, + 4303:{uuid: 4303,path: 4303,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "独角兽"}, - 4304:{uuid: 4304,path: 4304,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 80, + 4304:{uuid: 4304,path: 4304,type: 3,level: 4,atk: 10,hp: 66,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "攻速型",mon: "独角兽"}, - 5001:{uuid: 5001,path: 5001,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, + 5001:{uuid: 5001,path: 5001,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "雷电犀牛"}, - 5002:{uuid: 5002,path: 5002,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, + 5002:{uuid: 5002,path: 5002,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "闪电鼠"}, - 5003:{uuid: 5003,path: 5003,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, + 5003:{uuid: 5003,path: 5003,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "龙"}, - 5004:{uuid: 5004,path: 5004,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 80, + 5004:{uuid: 5004,path: 5004,type: 6,level: 5,atk: 15,hp: 180,atk_cd: 1,power: 50,speed: 50, skill: "base",max_skill: "base",skill_uuid: 9001,max_skill_uuid: 1001, atktype: "精英型",mon: "龙" } } \ No newline at end of file diff --git a/assets/script/game/map/view/MapViewComp.ts b/assets/script/game/map/view/MapViewComp.ts index 4b9da0e6..a43bf11c 100644 --- a/assets/script/game/map/view/MapViewComp.ts +++ b/assets/script/game/map/view/MapViewComp.ts @@ -44,7 +44,7 @@ export class MapViewComp extends CCComp { let role = ecs.getEntity(Role); let pos = v3(BoxSet.HERO_START-50,BoxSet.GAME_LINE) role.load(pos,108,"Character07") - + smc.Role=role } load_data(){ // let heros = oops.res.get("config/game/heros") diff --git a/assets/script/game/monster/CSkillComp.ts b/assets/script/game/monster/CSkillComp.ts index 2271a503..ac35cb94 100644 --- a/assets/script/game/monster/CSkillComp.ts +++ b/assets/script/game/monster/CSkillComp.ts @@ -7,7 +7,7 @@ import { SkillSet } from "../common/config/SkillSet"; import { Monster } from "./Monster"; import { MonsterModelComp } from "./MonsterModelComp"; import { MonsterViewComp } from "./MonsterViewComp"; -import { BoxSet } from "../common/config/BoxSet"; +import { BoxSet, GameSet } from "../common/config/BoxSet"; import { smc } from "../common/SingletonModuleComp"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { HeroModelComp } from "./HeroModelComp"; @@ -87,14 +87,28 @@ export class CSkillComp extends CCComp { } add_buff(){ let uuid= this.skill_uuid; - let eid = 0 - let group = BoxSet.HERO; + let atk:number=smc.Role.RoleView.atk + let args:any = { + atk:atk*GameSet.ATK_TO_ATK_RATIO, + hp:atk*GameSet.ATK_TO_HP_RATIO, + shield:atk*GameSet.ATK_TO_SHIELD_RATIO, + } let heros:any = ecs.query(ecs.allOf(HeroModelComp)); + let heros_hp:any=[] if (heros.length > 0) { - for (let i = 0; i < heros.length; i++) { - let hero = heros[i]; - hero.MonsterBuff.add_buff(uuid,eid,group); + if(SkillSet[uuid].type==92){ + heros[0].MonsterBuff.add_buff(uuid,args); + + }else{ + for (let i = 0; i < heros.length; i++) { + let hero = heros[i]; + if(SkillSet[uuid].type==99){ + hero.MonsterBuff.add_buff(uuid,args); + } + + } } + } // oops.message.dispatchEvent("add_buff",{uuid:this.skill_uuid,eid:0,group:BoxSet.HERO}) } diff --git a/assets/script/game/monster/MonsterBuffComp.ts b/assets/script/game/monster/MonsterBuffComp.ts index 9818e739..2232503d 100644 --- a/assets/script/game/monster/MonsterBuffComp.ts +++ b/assets/script/game/monster/MonsterBuffComp.ts @@ -51,7 +51,7 @@ export class MonsterBuffComp extends CCComp { } - add_buff(uuid:number=0,eid:number=0,group:number=0){ + add_buff(uuid:number=0,args:any[]){ // console.log("add_buff",smc.skills[uuid]); let new_buff={ @@ -63,15 +63,9 @@ export class MonsterBuffComp extends CCComp { time:smc.skills[uuid].bsd, bcd:smc.skills[uuid].bcd, sk_uuid:smc.skills[uuid].uuid, + args:args } - if(eid !=0 && group ==0 ){ - if(this.mv.ent.eid == eid){ - this.buff_add(new_buff); - } - } - if(eid ==0 && group == this.group){ - this.buff_add(new_buff); - } + this.buff_add(new_buff); } @@ -96,15 +90,16 @@ export class MonsterBuffComp extends CCComp { if(buff.atk>0){ this.node.getChildByName("avatar").setScale(1.2,1.2) this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F"); - this.mv.atk+=(buff.atk-b.atk); + this.mv.atk+=(buff.atk+buff.args.atk-b.atk); } if(buff.hp>0){ - this.mv.hp+=(buff.hp-b.hp); - this.mv.hp_max+=(buff.hp-b.hp); + this.mv.hp+=(buff.hp+buff.args.hp); + this.mv.add_hp(buff.hp+buff.args.hp); + // this.mv.hp_max+=(buff.hp-b.hp); } if(buff.shield>0){ - this.mv.shield=buff.shield; - this.mv.shield_max=buff.shield; + this.mv.shield=(buff.shield+buff.args.shield); + // this.mv.shield_max=(buff.shield+buff.args.shield); } i=index @@ -114,17 +109,18 @@ export class MonsterBuffComp extends CCComp { if (i==0||this.buffs.length==0) { this.buffs.push(buff); if(buff.atk>0){ - this.mv.atk+=buff.atk; + this.mv.atk+=(buff.atk+buff.args.atk); this.node.getChildByName("avatar").setScale(1.2,1.2) this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#F16F6F"); } if(buff.hp>0){ - this.mv.hp+=buff.hp; - this.mv.hp_max+=buff.hp; + this.mv.hp+=(buff.hp+buff.args.hp); + this.mv.add_hp(buff.hp+buff.args.hp); + // this.mv.hp_max+=buff.hp; } if(buff.shield>0){ - this.mv.shield=buff.shield; - this.mv.shield_max=buff.shield; + this.mv.shield=(buff.shield+buff.args.shield); + // this.mv.shield_max=(buff.shield+buff.args.shield); } } @@ -132,16 +128,17 @@ export class MonsterBuffComp extends CCComp { } buff_remove(index:number){ if(this.buffs[index].atk>0){ - this.mv.atk-=this.buffs[index].atk; + this.mv.atk-=(this.buffs[index].atk+this.buffs[index].args.atk); this.node.getChildByName("avatar").getChildByName("TNode").getChildByName("bb").getComponent(Sprite).color= new Color().fromHEX("#FFFFFF"); this.node.getChildByName("avatar").setScale(1,1) } if(this.buffs[index].shield>0){ - this.mv.shield_max-=this.buffs[index].shield; + this.mv.shield=0 + // this.mv.shield_max-=(this.buffs[index].shield+this.buffs[index].args.shield); } - if(this.buffs[index].hp>0){ - this.mv.hp_max-=this.buffs[index].hp; - } + // if(this.buffs[index].hp>0){ + // this.mv.hp_max-=this.buffs[index].hp; + // } console.log("buff remove:",this.mv,this.buffs[index]); } buff_update(){ diff --git a/assets/script/game/monster/MonsterViewComp.ts b/assets/script/game/monster/MonsterViewComp.ts index c4717547..6a580727 100644 --- a/assets/script/game/monster/MonsterViewComp.ts +++ b/assets/script/game/monster/MonsterViewComp.ts @@ -70,7 +70,7 @@ export class MonsterViewComp extends CCComp { stop_cd: number = 0.5; /*停止倒计时*/ shield:number = 0; //护盾量 - shield_max:number = 0; + shield_max:number = 200; shield_time:number = 0; //护盾持续时间 box_group:number = 2; @@ -222,13 +222,14 @@ export class MonsterViewComp extends CCComp { } } in_shield(){ - if(this.shield <= 0){ - this.node.getChildByName("shield").active=false - }else{ - this.node.getChildByName("shield").active=true - let shield_progress= this.shield/this.shield_max; - this.node.getChildByName("shield").getComponent(ProgressBar)!.progress = shield_progress; - } + let shield_progress= this.shield/this.shield_max; + this.node.getChildByName("shield").getComponent(ProgressBar)!.progress = shield_progress; + // if(this.shield <= 0){ + // this.node.getChildByName("shield").active=false + // }else{ + // this.node.getChildByName("shield").active=true + + // } } hp_change(hp: number){ if(this.is_dead){ @@ -253,6 +254,10 @@ export class MonsterViewComp extends CCComp { }, 15); } } + add_hp(hp: number=0){ + console.log("hero 加血动画"); + this.tooltip(2,"+"+hp.toString()); + } shield_change(hp: number){ let ls=this.shield - hp; if(ls <= 0){ diff --git a/assets/script/game/skills/TooltipCom.ts b/assets/script/game/skills/TooltipCom.ts index b63d91cb..12d95472 100644 --- a/assets/script/game/skills/TooltipCom.ts +++ b/assets/script/game/skills/TooltipCom.ts @@ -35,6 +35,7 @@ export class TooltipCom extends CCComp { case 2: this.node.getChildByName("add_life").getChildByName("hp").getComponent(Label).string = this.value; this.node.getChildByName("add_life").active=true; + this.node.setPosition(v3(this.node.position.x,this.node.position.y+50)) break case 3: // resources.load("game/heros/skill/"+smc.skills[this.s_uuid].path, SpriteFrame, (err, spriteFrame) => {