Compare commits
4 Commits
488b1632ef
...
44ce6cd30c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44ce6cd30c | ||
|
|
3ea1a4d44c | ||
|
|
82adaf4069 | ||
|
|
7aa8a47a65 |
File diff suppressed because it is too large
Load Diff
125
assets/resources/game/skill/anm/buff/stun.anim
Normal file
125
assets/resources/game/skill/anm/buff/stun.anim
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.AnimationClip",
|
||||||
|
"_name": "stun",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {
|
||||||
|
"embeddedPlayerGroups": []
|
||||||
|
},
|
||||||
|
"_native": "",
|
||||||
|
"sample": 20,
|
||||||
|
"speed": 1,
|
||||||
|
"wrapMode": 2,
|
||||||
|
"enableTrsBlending": false,
|
||||||
|
"_duration": 0.45,
|
||||||
|
"_hash": 500763545,
|
||||||
|
"_tracks": [
|
||||||
|
{
|
||||||
|
"__id__": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_exoticAnimation": null,
|
||||||
|
"_events": [],
|
||||||
|
"_embeddedPlayers": [],
|
||||||
|
"_additiveSettings": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_auxiliaryCurveEntries": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.ObjectTrack",
|
||||||
|
"_binding": {
|
||||||
|
"__type__": "cc.animation.TrackBinding",
|
||||||
|
"path": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"proxy": null
|
||||||
|
},
|
||||||
|
"_channel": {
|
||||||
|
"__id__": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.TrackPath",
|
||||||
|
"_paths": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"spriteFrame"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.HierarchyPath",
|
||||||
|
"path": "skill"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.ComponentPath",
|
||||||
|
"component": "cc.Sprite"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.animation.Channel",
|
||||||
|
"_curve": {
|
||||||
|
"__id__": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.ObjectCurve",
|
||||||
|
"_times": [
|
||||||
|
0,
|
||||||
|
0.05,
|
||||||
|
0.1,
|
||||||
|
0.15,
|
||||||
|
0.2,
|
||||||
|
0.25,
|
||||||
|
0.3,
|
||||||
|
0.35,
|
||||||
|
0.4
|
||||||
|
],
|
||||||
|
"_values": [
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@1069b",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@5e490",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@33f1e",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@71255",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@4a25e",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@9eaf3",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@3f6a9",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@bf2fe",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@eab68",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.AnimationClipAdditiveSettings",
|
||||||
|
"enabled": false,
|
||||||
|
"refClip": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/resources/game/skill/anm/buff/stun.anim.meta
Normal file
13
assets/resources/game/skill/anm/buff/stun.anim.meta
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "2.0.3",
|
||||||
|
"importer": "animation-clip",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "f069198d-2c19-4ebc-bd5f-66a3138b914f",
|
||||||
|
"files": [
|
||||||
|
".cconb"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"name": "stun"
|
||||||
|
}
|
||||||
|
}
|
||||||
274
assets/resources/game/skill/buff/stun.prefab
Normal file
274
assets/resources/game/skill/buff/stun.prefab
Normal file
@@ -0,0 +1,274 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"__type__": "cc.Prefab",
|
||||||
|
"_name": "stun",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_native": "",
|
||||||
|
"data": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"optimizationPolicy": 0,
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "stun",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": null,
|
||||||
|
"_children": [
|
||||||
|
{
|
||||||
|
"__id__": 2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 10
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 12
|
||||||
|
},
|
||||||
|
"_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": 1,
|
||||||
|
"_euler": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Node",
|
||||||
|
"_name": "skill",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"_parent": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_children": [],
|
||||||
|
"_active": true,
|
||||||
|
"_components": [
|
||||||
|
{
|
||||||
|
"__id__": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__id__": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_prefab": {
|
||||||
|
"__id__": 7
|
||||||
|
},
|
||||||
|
"_lpos": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 85,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_lrot": {
|
||||||
|
"__type__": "cc.Quat",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"w": 1
|
||||||
|
},
|
||||||
|
"_lscale": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 1,
|
||||||
|
"y": 0.8,
|
||||||
|
"z": 1
|
||||||
|
},
|
||||||
|
"_mobility": 0,
|
||||||
|
"_layer": 1,
|
||||||
|
"_euler": {
|
||||||
|
"__type__": "cc.Vec3",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 4
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 113,
|
||||||
|
"height": 50
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "b4sNQPJWFKha7x75SWXmRj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Sprite",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 2
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 6
|
||||||
|
},
|
||||||
|
"_customMaterial": null,
|
||||||
|
"_srcBlendFactor": 2,
|
||||||
|
"_dstBlendFactor": 4,
|
||||||
|
"_color": {
|
||||||
|
"__type__": "cc.Color",
|
||||||
|
"r": 255,
|
||||||
|
"g": 255,
|
||||||
|
"b": 255,
|
||||||
|
"a": 206
|
||||||
|
},
|
||||||
|
"_spriteFrame": {
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6@1069b",
|
||||||
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
|
},
|
||||||
|
"_type": 1,
|
||||||
|
"_fillType": 1,
|
||||||
|
"_sizeMode": 1,
|
||||||
|
"_fillCenter": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_fillStart": 0.2,
|
||||||
|
"_fillRange": 1,
|
||||||
|
"_isTrimmedMode": true,
|
||||||
|
"_useGrayscale": false,
|
||||||
|
"_atlas": {
|
||||||
|
"__uuid__": "3d46f945-3f07-477e-a95a-b49557d552c6",
|
||||||
|
"__expectedType__": "cc.SpriteAtlas"
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "9a+65VIghBm4HQxuHPQ/mg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "7a5LvbdlxEc6FKa7cun2oB",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null,
|
||||||
|
"nestedPrefabInstanceRoots": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.UITransform",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 9
|
||||||
|
},
|
||||||
|
"_contentSize": {
|
||||||
|
"__type__": "cc.Size",
|
||||||
|
"width": 80,
|
||||||
|
"height": 110
|
||||||
|
},
|
||||||
|
"_anchorPoint": {
|
||||||
|
"__type__": "cc.Vec2",
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "63NP9yq3hEUKD/OZZZ5t7x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.Animation",
|
||||||
|
"_name": "",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"__editorExtras__": {},
|
||||||
|
"node": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"_enabled": true,
|
||||||
|
"__prefab": {
|
||||||
|
"__id__": 11
|
||||||
|
},
|
||||||
|
"playOnLoad": true,
|
||||||
|
"_clips": [
|
||||||
|
{
|
||||||
|
"__uuid__": "f069198d-2c19-4ebc-bd5f-66a3138b914f",
|
||||||
|
"__expectedType__": "cc.AnimationClip"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_defaultClip": {
|
||||||
|
"__uuid__": "f069198d-2c19-4ebc-bd5f-66a3138b914f",
|
||||||
|
"__expectedType__": "cc.AnimationClip"
|
||||||
|
},
|
||||||
|
"_id": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.CompPrefabInfo",
|
||||||
|
"fileId": "c6LOemuvJKyYCqlF/yUJcr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__type__": "cc.PrefabInfo",
|
||||||
|
"root": {
|
||||||
|
"__id__": 1
|
||||||
|
},
|
||||||
|
"asset": {
|
||||||
|
"__id__": 0
|
||||||
|
},
|
||||||
|
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||||
|
"instance": null,
|
||||||
|
"targetOverrides": null
|
||||||
|
}
|
||||||
|
]
|
||||||
13
assets/resources/game/skill/buff/stun.prefab.meta
Normal file
13
assets/resources/game/skill/buff/stun.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.1.50",
|
||||||
|
"importer": "prefab",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c0e8071a-4bba-45fe-b712-751274ce67d8",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {
|
||||||
|
"syncNodeName": "stun"
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 783 KiB After Width: | Height: | Size: 121 KiB |
@@ -1386,7 +1386,7 @@
|
|||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
"x": -180,
|
"x": -240,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
@@ -1785,7 +1785,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 180,
|
"width": 240,
|
||||||
"height": 110
|
"height": 110
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -2387,7 +2387,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 180,
|
"width": 240,
|
||||||
"height": 110
|
"height": 110
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -2910,7 +2910,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 180,
|
"width": 240,
|
||||||
"height": 110
|
"height": 110
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -3509,7 +3509,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 180,
|
"width": 240,
|
||||||
"height": 110
|
"height": 110
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -4764,7 +4764,7 @@
|
|||||||
},
|
},
|
||||||
"_lpos": {
|
"_lpos": {
|
||||||
"__type__": "cc.Vec3",
|
"__type__": "cc.Vec3",
|
||||||
"x": 180,
|
"x": 240,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
@@ -5163,7 +5163,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 180,
|
"width": 240,
|
||||||
"height": 110
|
"height": 110
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -5765,7 +5765,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 180,
|
"width": 240,
|
||||||
"height": 110
|
"height": 110
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -9317,7 +9317,7 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 540,
|
"width": 720,
|
||||||
"height": 200
|
"height": 200
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
@@ -9345,8 +9345,8 @@
|
|||||||
},
|
},
|
||||||
"_alignFlags": 44,
|
"_alignFlags": 44,
|
||||||
"_target": null,
|
"_target": null,
|
||||||
"_left": 90,
|
"_left": 0,
|
||||||
"_right": 90,
|
"_right": 0,
|
||||||
"_top": 0,
|
"_top": 0,
|
||||||
"_bottom": -2,
|
"_bottom": -2,
|
||||||
"_horizontalCenter": 0,
|
"_horizontalCenter": 0,
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ export enum FightSet {
|
|||||||
FiIGHT_TIME = 30,//战斗时间
|
FiIGHT_TIME = 30,//战斗时间
|
||||||
// BACK_CHANCE=40,//击退概率
|
// BACK_CHANCE=40,//击退概率
|
||||||
FROST_TIME = 3,//冰冻时间
|
FROST_TIME = 3,//冰冻时间
|
||||||
|
STUN_TIME = 2,//击晕时间
|
||||||
SKILL_CAST_DELAY = 0.15,
|
SKILL_CAST_DELAY = 0.15,
|
||||||
CSKILL_START_X = -340,
|
CSKILL_START_X = -340,
|
||||||
CSKILL_START_Y = 30,
|
CSKILL_START_Y = 30,
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ export enum Attrs {
|
|||||||
// ==================== 特殊效果属性 ====================
|
// ==================== 特殊效果属性 ====================
|
||||||
freeze_chance = "freeze_chance", // 冰冻概率
|
freeze_chance = "freeze_chance", // 冰冻概率
|
||||||
freeze_res = "freeze_res", // 冰冻抗性
|
freeze_res = "freeze_res", // 冰冻抗性
|
||||||
|
stun_chance = "stun_chance", // 击晕概率
|
||||||
|
stun_res = "stun_res", // 击晕抗性
|
||||||
knockback_chance = "knockback_chance", // 击退概率
|
knockback_chance = "knockback_chance", // 击退概率
|
||||||
knockback_distance = "knockback_distance", // 击退距离强化
|
knockback_distance = "knockback_distance", // 击退距离强化
|
||||||
knockback_res = "knockback_res", // 击退抗性
|
knockback_res = "knockback_res", // 击退抗性
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ export const SkillUpList = {
|
|||||||
/******
|
/******
|
||||||
*
|
*
|
||||||
* 射箭类技能 带暴击属性
|
* 射箭类技能 带暴击属性
|
||||||
* 火法技能 带击退属性
|
* 火法技能
|
||||||
* 冰法技能 带冰冻属性
|
* 冰法技能 带冰冻属性
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -213,18 +213,18 @@ export const SkillSet: Record<number, SkillConfig> = {
|
|||||||
6004: {
|
6004: {
|
||||||
uuid: 6004, name: "光箭绿", sp_name: "atk_c3", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
uuid: 6004, name: "光箭绿", sp_name: "atk_c3", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
||||||
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||||
RType: RType.bezier, EType: EType.collision, info: "一定几率击退目标",
|
RType: RType.bezier, EType: EType.collision, info: "普通远程攻击",
|
||||||
},
|
},
|
||||||
//怪物战士类型统一使用 6005
|
//怪物战士类型统一使用 6005
|
||||||
6005: {
|
6005: {
|
||||||
uuid: 6005, name: "光箭深红", sp_name: "atk_c4", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
uuid: 6005, name: "光箭深红", sp_name: "atk_c4", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
||||||
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||||
RType: RType.bezier, EType: EType.collision, info: "一定几率击退目标",
|
RType: RType.bezier, EType: EType.collision, info: "普通远程攻击",
|
||||||
},
|
},
|
||||||
6006: {
|
6006: {
|
||||||
uuid: 6006, name: "光箭灰白", sp_name: "atk_c5", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
uuid: 6006, name: "光箭灰白", sp_name: "atk_c5", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
||||||
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||||
RType: RType.bezier, EType: EType.collision, info: "一定几率击退目标",
|
RType: RType.bezier, EType: EType.collision, info: "普通远程攻击",
|
||||||
},
|
},
|
||||||
6007: {
|
6007: {
|
||||||
uuid: 6007, name: "水球", sp_name: "ball_water", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
uuid: 6007, name: "水球", sp_name: "ball_water", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
||||||
@@ -255,7 +255,7 @@ export const SkillSet: Record<number, SkillConfig> = {
|
|||||||
6102: {
|
6102: {
|
||||||
uuid: 6102, name: "龙卷风", sp_name: "ball_winds", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
uuid: 6102, name: "龙卷风", sp_name: "ball_winds", icon: "1126", TGroup: TGroup.Enemy, readyAnm: "", endAnm: "", act: "atk",
|
||||||
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
DTType: DTType.single, ap: 100, hit_count: 1, hitcd: 0.3, speed: 720, with: 90, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||||
RType: RType.linear, EType: EType.collision, info: "造成攻击力100%的伤害,一定几率击退目标,高阶技能",
|
RType: RType.linear, EType: EType.collision, info: "造成攻击力100%的伤害,高阶技能",
|
||||||
},
|
},
|
||||||
//怪物法师统一使用 暗影球
|
//怪物法师统一使用 暗影球
|
||||||
6103: {
|
6103: {
|
||||||
@@ -276,7 +276,7 @@ export const SkillSet: Record<number, SkillConfig> = {
|
|||||||
6106: {
|
6106: {
|
||||||
uuid: 6106, name: "冰推", sp_name: "ice_t", icon: "1173", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max",
|
uuid: 6106, name: "冰推", sp_name: "ice_t", icon: "1173", TGroup: TGroup.Enemy, readyAnm: "blues", endAnm: "", act: "max",
|
||||||
DTType: DTType.range, frz: 0, ap: 150, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
DTType: DTType.range, frz: 0, ap: 150, hit_count: 6, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.remote,
|
||||||
RType: RType.fixed, EType: EType.animationEnd, info: "召唤冰墙阻挡敌人,有概率冰冻,100%击退",
|
RType: RType.fixed, EType: EType.animationEnd, info: "召唤冰墙阻挡敌人,有概率冰冻",
|
||||||
},
|
},
|
||||||
6107: {
|
6107: {
|
||||||
uuid: 6107, name: "陨石", sp_name: "fire_yuns", icon: "1173", TGroup: TGroup.Enemy, readyAnm: "reds", endAnm: "", act: "max",
|
uuid: 6107, name: "陨石", sp_name: "fire_yuns", icon: "1173", TGroup: TGroup.Enemy, readyAnm: "reds", endAnm: "", act: "max",
|
||||||
@@ -329,12 +329,12 @@ export const SkillSet: Record<number, SkillConfig> = {
|
|||||||
6406: {
|
6406: {
|
||||||
uuid: 6406, name: "击退强化", sp_name: "buff_wind", icon: "1255", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
uuid: 6406, name: "击退强化", sp_name: "buff_wind", icon: "1255", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
||||||
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||||
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_chance, info: "全体友方击退概率提升10%,持续1次",
|
RType: RType.fixed, EType: EType.animationEnd, info: "暂未使用",
|
||||||
},
|
},
|
||||||
6407: {
|
6407: {
|
||||||
uuid: 6407, name: "距推强化", sp_name: "buff_wind", icon: "1255", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
uuid: 6407, name: "距推强化", sp_name: "buff_wind", icon: "1255", TGroup: TGroup.Team, readyAnm: "up_blue", endAnm: "", act: "atk",
|
||||||
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
DTType: DTType.single, kind: SkillKind.Support, ap: 1, hit_count: 1, hitcd: 0.2, speed: 720, with: 0, ready: 0.2, EAnm: 0, DAnm: "", IType: IType.support,
|
||||||
RType: RType.fixed, EType: EType.animationEnd, buff_type: Attrs.knockback_distance, info: "全体友方击退距离提升20点,持续1次",
|
RType: RType.fixed, EType: EType.animationEnd, info: "暂未使用",
|
||||||
},
|
},
|
||||||
6408: {
|
6408: {
|
||||||
uuid: 6408, name: "穿刺强化", sp_name: "buff_wind", icon: "1255", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
|
uuid: 6408, name: "穿刺强化", sp_name: "buff_wind", icon: "1255", TGroup: TGroup.Team, readyAnm: "up_ap", endAnm: "", act: "atk",
|
||||||
|
|||||||
@@ -335,28 +335,28 @@ export const HeroInfo: Record<number, heroInfo> = {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ========== 击退推拉流 ==========
|
// ========== 穿刺风怒流 ==========
|
||||||
5209:{uuid:5209,name:"风弓手",path:"ha2", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,
|
5209:{uuid:5209,name:"风弓手",path:"ha2", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,
|
||||||
hp:140,ap:45,
|
hp:140,ap:45,
|
||||||
skills:{6005:{uuid:6005,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Fast3].cd,ccd:0}},
|
skills:{6005:{uuid:6005,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Fast3].cd,ccd:0}},
|
||||||
atking:[{s_uuid:6406,t_num:2}],
|
atking:[{s_uuid:6408,t_num:2}],
|
||||||
info:"快速射击,每2次攻击为全队叠加击退概率"},
|
info:"快速射击,每2次攻击为全队叠加穿透概率"},
|
||||||
|
|
||||||
5210:{uuid:5210,name:"龙卷猎手",path:"ha3", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,
|
5210:{uuid:5210,name:"龙卷猎手",path:"ha3", fac:FacSet.HERO,pool_lv:2,lv:1,type:HType.Long,
|
||||||
hp:170,ap:70,
|
hp:170,ap:70,
|
||||||
skills:{6005:{uuid:6005,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Normal2].cd,ccd:0}},
|
skills:{6005:{uuid:6005,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Normal2].cd,ccd:0}},
|
||||||
atking:[{s_uuid:6102,t_num:2,overrides:{bck:30,hit_count:3}}],
|
atking:[{s_uuid:6102,t_num:2,overrides:{hit_count:3}}],
|
||||||
info:"每2次攻击释放龙卷风,30%击退概率推开一排敌人"},
|
info:"每2次攻击释放龙卷风,攻击一排敌人"},
|
||||||
|
|
||||||
5404:{uuid:5404,name:"风暴刺客",path:"hc2", fac:FacSet.HERO,pool_lv:4,lv:1,type:HType.Melee,
|
5404:{uuid:5404,name:"风暴刺客",path:"hc2", fac:FacSet.HERO,pool_lv:4,lv:1,type:HType.Melee,
|
||||||
hp:250,ap:100,
|
hp:250,ap:100,
|
||||||
skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Fast2].cd,ccd:0}},
|
skills:{6001:{uuid:6001,lv:1,cd:AtkSpeedSet[AtkSpeedLv.Fast2].cd,ccd:0}},
|
||||||
atking:[
|
atking:[
|
||||||
{s_uuid:6407,t_num:1},
|
{s_uuid:6409,t_num:1},
|
||||||
{s_uuid:6102,t_num:3,overrides:{bck:50,hit_count:5,ap:120}}
|
{s_uuid:6102,t_num:3,overrides:{hit_count:5,ap:120}}
|
||||||
],
|
],
|
||||||
dead:[{s_uuid:6406,t_num:1}],
|
dead:[{s_uuid:6408,t_num:1}],
|
||||||
info:"极速近战,每次攻击给全队加击退距离,每3次攻击释放龙卷风,死后全队永久击退率加成"},
|
info:"极速近战,每次攻击给全队加风怒次数,每3次攻击释放龙卷风,死后全队永久穿透率加成"},
|
||||||
|
|
||||||
// ========== 暴击爆发流 ==========
|
// ========== 暴击爆发流 ==========
|
||||||
5211:{uuid:5211,name:"猎鹰射手",path:"ha4", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,
|
5211:{uuid:5211,name:"猎鹰射手",path:"ha4", fac:FacSet.HERO,pool_lv:1,lv:1,type:HType.Long,
|
||||||
@@ -496,7 +496,7 @@ export const HeroList: number[] = [
|
|||||||
5101, 5106, 5107, 5108,
|
5101, 5106, 5107, 5108,
|
||||||
// 治疗续航流
|
// 治疗续航流
|
||||||
5301, 5302, 5303, 5304, 5305,
|
5301, 5302, 5303, 5304, 5305,
|
||||||
// 击退推拉流
|
// 穿刺风怒流
|
||||||
5209, 5210, 5404,
|
5209, 5210, 5404,
|
||||||
// 暴击爆发流
|
// 暴击爆发流
|
||||||
5211, 5212, 5405,
|
5211, 5212, 5405,
|
||||||
|
|||||||
@@ -184,17 +184,31 @@ export class HeroAtkSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
|||||||
const freezeChance = (damageEvent.Attrs[Attrs.freeze_chance] || 0) - (TAttrsComp.freeze_res || 0);
|
const freezeChance = (damageEvent.Attrs[Attrs.freeze_chance] || 0) - (TAttrsComp.freeze_res || 0);
|
||||||
const isFrost = !TAttrsComp.isFrost() && this.checkChance(freezeChance);
|
const isFrost = !TAttrsComp.isFrost() && this.checkChance(freezeChance);
|
||||||
|
|
||||||
|
// 击晕判定
|
||||||
|
const stunChance = (damageEvent.Attrs[Attrs.stun_chance] || 0) - (TAttrsComp.stun_res || 0);
|
||||||
|
const isStun = !TAttrsComp.isStun() && this.checkChance(stunChance);
|
||||||
|
|
||||||
// 击退判定
|
// 击退判定
|
||||||
const knockbackChance = (damageEvent.Attrs[Attrs.knockback_chance] || 0) - (TAttrsComp.knockback_res || 0);
|
const knockbackChance = (damageEvent.Attrs[Attrs.knockback_chance] || 0) - (TAttrsComp.knockback_res || 0);
|
||||||
const isKnockback = this.checkChance(knockbackChance);
|
const isKnockback = this.checkChance(knockbackChance);
|
||||||
|
|
||||||
// ✅ 触发视图层表现(伤害数字、受击动画、冰冻、击退)
|
// ✅ 触发视图层表现(伤害数字、受击动画、冰冻、击晕、击退)
|
||||||
if (targetView) {
|
if (targetView) {
|
||||||
targetView.do_atked(damage, isCrit, damageEvent.s_uuid, false);
|
targetView.do_atked(damage, isCrit, damageEvent.s_uuid, false);
|
||||||
targetView.playEnd(skillConf.endAnm);
|
targetView.playEnd(skillConf.endAnm);
|
||||||
if (isFrost) {
|
if (isFrost) {
|
||||||
TAttrsComp.toFrost();
|
TAttrsComp.toFrost();
|
||||||
targetView.in_iced(TAttrsComp.frost_end_time);
|
targetView.in_iced(TAttrsComp.frost_end_time);
|
||||||
|
if (damageEvent.Attrs.fac === FacSet.HERO) {
|
||||||
|
smc.vmdata.scores.freeze_count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isStun) {
|
||||||
|
TAttrsComp.toStun();
|
||||||
|
targetView.in_stun(TAttrsComp.stun_end_time);
|
||||||
|
if (damageEvent.Attrs.fac === FacSet.HERO) {
|
||||||
|
smc.vmdata.scores.stun_count++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (isKnockback) {
|
if (isKnockback) {
|
||||||
targetView.back(damageEvent.Attrs[Attrs.knockback_distance] || 0);
|
targetView.back(damageEvent.Attrs[Attrs.knockback_distance] || 0);
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
critical_res: number = 0; // 暴击抗性
|
critical_res: number = 0; // 暴击抗性
|
||||||
freeze_chance: number = 0; // 冰冻概率
|
freeze_chance: number = 0; // 冰冻概率
|
||||||
freeze_res: number = 0; // 冰冻抗性
|
freeze_res: number = 0; // 冰冻抗性
|
||||||
|
stun_chance: number = 0; // 击晕概率
|
||||||
|
stun_res: number = 0; // 击晕抗性
|
||||||
knockback_chance: number = 0; // 击退概率
|
knockback_chance: number = 0; // 击退概率
|
||||||
knockback_distance: number = 0; // 击退距离强化
|
knockback_distance: number = 0; // 击退距离强化
|
||||||
knockback_res: number = 0; // 击退抗性
|
knockback_res: number = 0; // 击退抗性
|
||||||
@@ -61,6 +63,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
|
|
||||||
|
|
||||||
frost_end_time: number = 0;
|
frost_end_time: number = 0;
|
||||||
|
stun_end_time: number = 0;
|
||||||
|
|
||||||
boom: boolean = false; // 自爆怪
|
boom: boolean = false; // 自爆怪
|
||||||
|
|
||||||
@@ -100,6 +103,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
*/
|
*/
|
||||||
initAttrs() {
|
initAttrs() {
|
||||||
this.frost_end_time = 0;
|
this.frost_end_time = 0;
|
||||||
|
this.stun_end_time = 0;
|
||||||
}
|
}
|
||||||
/*******************基础属性管理********************/
|
/*******************基础属性管理********************/
|
||||||
|
|
||||||
@@ -163,10 +167,34 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
this.frost_end_time = Math.max(this.frost_end_time, frostTime);
|
this.frost_end_time = Math.max(this.frost_end_time, frostTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
toStun(time: number=1) {
|
||||||
|
const stunTime = FightSet.STUN_TIME * time;
|
||||||
|
this.stun_end_time = Math.max(this.stun_end_time, stunTime);
|
||||||
|
|
||||||
|
// 击晕时 CD 清零
|
||||||
|
for (const key in this.skills) {
|
||||||
|
const skill = this.skills[key];
|
||||||
|
if (skill) {
|
||||||
|
skill.ccd = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateCD(dt: number){
|
updateCD(dt: number){
|
||||||
// 如果处于冰冻状态,则技能 CD 暂停刷新
|
// 如果处于冰冻状态,则技能 CD 暂停刷新
|
||||||
if (this.isFrost()) return;
|
if (this.isFrost()) return;
|
||||||
|
|
||||||
|
// 如果处于击晕状态,则技能 CD 暂停刷新(且保持清零状态)
|
||||||
|
if (this.isStun()) {
|
||||||
|
for (const key in this.skills) {
|
||||||
|
const skill = this.skills[key];
|
||||||
|
if (skill) {
|
||||||
|
skill.ccd = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (const key in this.skills) {
|
for (const key in this.skills) {
|
||||||
const skill = this.skills[key];
|
const skill = this.skills[key];
|
||||||
if (!skill) continue;
|
if (!skill) continue;
|
||||||
@@ -185,6 +213,9 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
isFrost(): boolean {
|
isFrost(): boolean {
|
||||||
return this.frost_end_time > 0
|
return this.frost_end_time > 0
|
||||||
}
|
}
|
||||||
|
isStun(): boolean {
|
||||||
|
return this.stun_end_time > 0
|
||||||
|
}
|
||||||
getSkillLevel(skillId: number): number {
|
getSkillLevel(skillId: number): number {
|
||||||
if (!skillId) return 0;
|
if (!skillId) return 0;
|
||||||
return this.skills[skillId]?.lv ?? 0;
|
return this.skills[skillId]?.lv ?? 0;
|
||||||
@@ -352,6 +383,8 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
this.critical_res = 0;
|
this.critical_res = 0;
|
||||||
this.freeze_chance = 0;
|
this.freeze_chance = 0;
|
||||||
this.freeze_res = 0;
|
this.freeze_res = 0;
|
||||||
|
this.stun_chance = 0;
|
||||||
|
this.stun_res = 0;
|
||||||
this.knockback_chance = 0;
|
this.knockback_chance = 0;
|
||||||
this.knockback_distance = 0;
|
this.knockback_distance = 0;
|
||||||
this.knockback_res = 0;
|
this.knockback_res = 0;
|
||||||
@@ -363,6 +396,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
this.boom = false;
|
this.boom = false;
|
||||||
|
|
||||||
this.frost_end_time = 0;
|
this.frost_end_time = 0;
|
||||||
|
this.stun_end_time = 0;
|
||||||
|
|
||||||
// 重置技能距离缓存
|
// 重置技能距离缓存
|
||||||
this.maxSkillDistance = 0;
|
this.maxSkillDistance = 0;
|
||||||
@@ -406,7 +440,12 @@ export class HeroBuffSystem extends ecs.ComblockSystem implements ecs.ISystemUpd
|
|||||||
attrsComp.frost_end_time = 0;
|
attrsComp.frost_end_time = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(attrsComp.stun_end_time > 0){
|
||||||
|
attrsComp.stun_end_time -= 0.1;
|
||||||
|
if(attrsComp.stun_end_time <= 0){
|
||||||
|
attrsComp.stun_end_time = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void e;
|
void e;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ export class HeroSpine extends Component {
|
|||||||
@property(HeroAnmComp)
|
@property(HeroAnmComp)
|
||||||
anm: HeroAnmComp = null;
|
anm: HeroAnmComp = null;
|
||||||
|
|
||||||
status:string="idle";
|
status:string="";
|
||||||
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
// 角色控制组件
|
// 角色控制组件
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
|
|
||||||
// ==================== View 层属性(表现相关)====================
|
// ==================== View 层属性(表现相关)====================
|
||||||
as: HeroSpine = null!
|
as: HeroSpine = null!
|
||||||
status:String = "idle"
|
status:String = ""
|
||||||
scale: number = 1; // 显示方向
|
scale: number = 1; // 显示方向
|
||||||
box_group:number = BoxSet.HERO; // 碰撞组
|
box_group:number = BoxSet.HERO; // 碰撞组
|
||||||
realDeadTime:number=0.1
|
realDeadTime:number=0.1
|
||||||
@@ -104,10 +104,10 @@ export class HeroViewComp extends CCComp {
|
|||||||
|
|
||||||
/** 初始化/重置视图状态 */
|
/** 初始化/重置视图状态 */
|
||||||
init() {
|
init() {
|
||||||
this.status = "idle";
|
this.status = "";
|
||||||
this.deadCD = 0;
|
this.deadCD = 0;
|
||||||
this.lastBarUpdateTime = 0;
|
this.lastBarUpdateTime = 0;
|
||||||
this.as.idle()
|
this.status_change("idle");
|
||||||
|
|
||||||
// 初始化 UI 节点
|
// 初始化 UI 节点
|
||||||
this.initUINodes();
|
this.initUINodes();
|
||||||
@@ -308,6 +308,11 @@ export class HeroViewComp extends CCComp {
|
|||||||
this.spawnTimedFx("game/skill/buff/iced", this.node, t);
|
this.spawnTimedFx("game/skill/buff/iced", this.node, t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 击晕特效 */
|
||||||
|
in_stun(t: number = 1) {
|
||||||
|
this.spawnTimedFx("game/skill/buff/stun", this.node, t);
|
||||||
|
}
|
||||||
|
|
||||||
/** 技能提示 */
|
/** 技能提示 */
|
||||||
private tooltip(type: number = 1, value: string = "", s_uuid: number = 1001, y: number = 50) {
|
private tooltip(type: number = 1, value: string = "", s_uuid: number = 1001, y: number = 50) {
|
||||||
let pos = v3(0, 60);
|
let pos = v3(0, 60);
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ export class SCastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
|||||||
mockAttrs.ap = highestAp;
|
mockAttrs.ap = highestAp;
|
||||||
mockAttrs.critical = 0;
|
mockAttrs.critical = 0;
|
||||||
mockAttrs.freeze_chance = 0;
|
mockAttrs.freeze_chance = 0;
|
||||||
|
mockAttrs.stun_chance = 0;
|
||||||
mockAttrs.puncture_chance = 0;
|
mockAttrs.puncture_chance = 0;
|
||||||
mockAttrs.fac = FacSet.HERO;
|
mockAttrs.fac = FacSet.HERO;
|
||||||
mockAttrs.type = HType.Long; // 假定为远程,拥有较长索敌范围
|
mockAttrs.type = HType.Long; // 假定为远程,拥有较长索敌范围
|
||||||
|
|||||||
@@ -212,6 +212,7 @@ export class Skill extends ecs.Entity {
|
|||||||
sDataCom.Attrs[Attrs.critical] = cAttrsComp.getRuntimeCritical() + sCrt;
|
sDataCom.Attrs[Attrs.critical] = cAttrsComp.getRuntimeCritical() + sCrt;
|
||||||
sDataCom.Attrs[Attrs.critical_damage] = cAttrsComp.getRuntimeCritDamageBonus();
|
sDataCom.Attrs[Attrs.critical_damage] = cAttrsComp.getRuntimeCritDamageBonus();
|
||||||
sDataCom.Attrs[Attrs.freeze_chance] = cAttrsComp.getRuntimeFreezeChance() + sFrz;
|
sDataCom.Attrs[Attrs.freeze_chance] = cAttrsComp.getRuntimeFreezeChance() + sFrz;
|
||||||
|
sDataCom.Attrs[Attrs.stun_chance] = cAttrsComp.stun_chance || 0;
|
||||||
sDataCom.Attrs[Attrs.knockback_chance] = cAttrsComp.knockback_chance || 0;
|
sDataCom.Attrs[Attrs.knockback_chance] = cAttrsComp.knockback_chance || 0;
|
||||||
sDataCom.Attrs[Attrs.knockback_distance] = cAttrsComp.knockback_distance || 0;
|
sDataCom.Attrs[Attrs.knockback_distance] = cAttrsComp.knockback_distance || 0;
|
||||||
sDataCom.Attrs[Attrs.puncture_chance] = cAttrsComp.getRuntimePunctureChance(); // 初始化携带施法者的穿透概率
|
sDataCom.Attrs[Attrs.puncture_chance] = cAttrsComp.getRuntimePunctureChance(); // 初始化携带施法者的穿透概率
|
||||||
|
|||||||
Reference in New Issue
Block a user