引雷标记extender
This commit is contained in:
@@ -186,3 +186,5 @@ PhotonPolarizer_Name,光子偏振器,Photon Polarizer
|
||||
PhotonPolarizer_Desc0,Polychrome的扩展器,可以使完美格挡弹开敌人,阻止敌人的连招。,An extender for Polychrome. Allows a perfect block to knock back enemies and interrupt their combos.
|
||||
PhotonWarper_Name,光子折跃器,Photon Warper
|
||||
PhotonWarper_Desc0,Polychrome的扩展器,若敌人在2米之外,重攻击在起手结束时折跃至其身前。,"An extender for Polychrome. If an enemy is more than 2 meters away, the heavy attack will warp you to the front of the enemy at the end of its startup phase."
|
||||
LightningConcentrator_Name,引雷标记,Lightning Concentrator
|
||||
LightningConcentrator_Desc0,FutureWand的扩展器。使Lightning集中攻击一个敌人并造成双倍伤害,优先选择正在进行可打断动作的目标,并可打断敌人的黄光或白光动作。,"An extender for FutureWand. Concentrates Lightning on one enemy for double damage, prioritizes targets performing disruptable actions, and can disrupt yellow- or white-glowing actions."
|
||||
|
||||
|
@@ -10,23 +10,23 @@ AnimatorOverrideController:
|
||||
m_Controller: {fileID: 9100000, guid: fda18c69e5ccb554d8ae8867ca37c7cd, type: 2}
|
||||
m_Clips:
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 99d9faf139ff6064c8e7d4d9d63f58e0, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: d95d162166de6ef43b1b02fd81bfac5f, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: db4e03a90cfcbca4a80335177ce4377e, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: ed2676607db0d6a4c99fa5df36dd09b7, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 5c1c87a6d19434d4fa8401a700723ca0, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: a6530c5433035d040974f3cf8572fe7c, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: b24a11ee47f88ff4eb978d5aca0ae93a, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 006c64cfe8d1ff74a95609b30c08226f, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 2ca224e0bb91d7f4bb55fbb05ba6acf2, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 25258b12f158def43a56416b73f94d80, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 55fc8ba7f6ff77c43b6fa2a248dc76ef, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 2f2de8fb421af5d479106b8ef9505348, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: e6caba10fc3a02649821183412ab5d27, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 6fe92b2195a121740a2634989e0f716c, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 2ac88efeeb1f1134bad19886bfd66dd5, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: a67e0dc7ee6cae741899189ffa2ddc92, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: d70ab478c40d9624280e39279a520606, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: e9235e894ec47e84fb276beef822777e, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 7fde74c9e60900e4ca19db67cf173155, type: 2}
|
||||
m_OverrideClip: {fileID: -7353071353133039039, guid: 66d7c97acde74ce4e899ad9b96187c0e, type: 2}
|
||||
m_OverrideClip: {fileID: -4996637841620507632, guid: 5ae4e6fb437c04a49b116a062daf9892, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 608dfee9855dc694aa1ea89a29de4d21, type: 2}
|
||||
m_OverrideClip: {fileID: 711754592020139737, guid: 22059bdfc675ed4449c937fd23f06fa9, type: 2}
|
||||
m_OverrideClip: {fileID: 6608794370682065959, guid: f1927d06b481d974aa61cf56710dce94, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 3943c8602c6198544a485240dc3e4dc5, type: 2}
|
||||
m_OverrideClip: {fileID: 7814122754322888409, guid: f5d72584f2746ae488124c0f03cf3bee, type: 2}
|
||||
m_OverrideClip: {fileID: -266041012799328612, guid: 03ddb2652d7010b47bb65f6eaa27091c, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 44a4a4e66482cdf4a90dfe1a2b8dcf9f, type: 2}
|
||||
m_OverrideClip: {fileID: -1037278177794748566, guid: 2ecf7267f05b6a74fa3a7b5831e7a7c7, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 03b1b65aa412abb40a823ccb29db5e68, type: 2}
|
||||
@@ -34,17 +34,17 @@ AnimatorOverrideController:
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 60e1d16bb1bf0d34ca9779213d1de121, type: 2}
|
||||
m_OverrideClip: {fileID: -5197396910865140100, guid: e04988b618f662a44934fb8b31dee442, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 16e418b0431434e45aceb776e47e4049, type: 2}
|
||||
m_OverrideClip: {fileID: -4186487134355181447, guid: f198c27c52a158942ab682ae4fcc4764, type: 2}
|
||||
m_OverrideClip: {fileID: -6679882188084308422, guid: ca9edd43f681c7046a02489b15017517, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 16fe7b5baf0b4484d82bdf6e65f7f764, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: fcbbe6ec48ef21241a5f6aa22b14239c, type: 2}
|
||||
m_OverrideClip: {fileID: -962660157572785255, guid: 9ea02f821f2f66243bfc198d8367f8d5, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: c4be64c0aa99e8d46b18bb9bbfe50b51, type: 2}
|
||||
m_OverrideClip: {fileID: 8895735517814013975, guid: cc7be8e826d20cc41a72c20f55350257, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: d6cd30a547339cf4ab437b1cf287b3b6, type: 2}
|
||||
m_OverrideClip: {fileID: -1840021845681425404, guid: 5dae8552f60f2c04b8ec6bd5c070772e, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: a22305c6448bd0944b3abdd9642af5af, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 036020491cb55094b8eeb1a6d3f54574, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: f11b21589c8864d4688a80bdcba683de, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: a1ddc6114281ae5478f4aa3b07f8e8db, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: a80f126322d89ed48bf5f647347bcdd2, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 0ebe99e0b48b2844eb5e4e4405172a81, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 1b1eee0d3d253354ca6863fcb54df53d, type: 2}
|
||||
m_OverrideClip: {fileID: 7036735654395455674, guid: d5062293a334bc940aaf36a1f77e5276, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: ed83dc6fe102a5d408821f0bc4eee48d, type: 2}
|
||||
@@ -62,19 +62,19 @@ AnimatorOverrideController:
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 26617ca51425c224c8301ca9732957d1, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: b5df97ca91ab8af4baa3e122e64b3498, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 809bedf47813ead41a782f2fb907e92a, type: 2}
|
||||
m_OverrideClip: {fileID: 526448870181282028, guid: dca0cb386a2cd714ea62c697c5b228bb, type: 2}
|
||||
m_OverrideClip: {fileID: 6855822782620295428, guid: 36518a264992be14e99e7c3fd48a7f65, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 56bfc371e2f641742a4e265413247bb7, type: 2}
|
||||
m_OverrideClip: {fileID: -3379015116143753677, guid: 70dff40dddf098c46b0397cf85a1c4bb, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 77f0087f588da334a9390bac754e0661, type: 2}
|
||||
m_OverrideClip: {fileID: 38608564573035343, guid: 276c16384832a0841b7f23386709893c, type: 2}
|
||||
m_OverrideClip: {fileID: 708219783587015279, guid: 2ade289f2956acc4aa42ef79025ef2b4, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 4bf2c010f7d09074d90bdf5ba4a963b4, type: 2}
|
||||
m_OverrideClip: {fileID: -7663133397540677395, guid: 86667fcf08e3e15408e18c6efd36ddf1, type: 2}
|
||||
m_OverrideClip: {fileID: -947574008279609053, guid: a31727863ab7d8b46964840f10d6688e, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 3b5b951727ba18f44bfd49eb783b5962, type: 2}
|
||||
m_OverrideClip: {fileID: 7310127618108163040, guid: 355eb38f3725e6e48bc4d7fcf2608313, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 6a1df70940a591645b87b639bd2e4db2, type: 2}
|
||||
m_OverrideClip: {fileID: 5622727906928794325, guid: c8e44d541a7617e47b0599da2cb5d7af, type: 2}
|
||||
m_OverrideClip: {fileID: 6704612531316691056, guid: 0b3667eb58bb1344182d36d9c6aca3d9, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: c1a20f998e23155458548b50a2e4ef78, type: 2}
|
||||
m_OverrideClip: {fileID: -7890072066398965591, guid: 27b0b2d99a406b84085629f58ec4ee96, type: 2}
|
||||
m_OverrideClip: {fileID: 3802710096632156124, guid: 881da7fc50f4662469213ca12cf29d31, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 81cb8ecb343e3cd439e11f575d9f8787, type: 2}
|
||||
m_OverrideClip: {fileID: 397512681564518357, guid: 9a12fdfdfeb51ce429fea01de3bc14ed, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 468d58630242eb54b8c247544e709556, type: 2}
|
||||
@@ -86,11 +86,11 @@ AnimatorOverrideController:
|
||||
- m_OriginalClip: {fileID: 7400000, guid: be2660eb64d0a60498242c08fc4143f6, type: 2}
|
||||
m_OverrideClip: {fileID: 7400000, guid: 9ff66b6c70876334d9af5cf6bac92d28, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 12d6fdaf1287de34b8242fef8bfdfffb, type: 2}
|
||||
m_OverrideClip: {fileID: -7202508781374027911, guid: 351c21c94ad728249ad533d8d2f511ae, type: 2}
|
||||
m_OverrideClip: {fileID: -6941054893137821415, guid: 6e63b794b00654e4bbaf0c55c92d614e, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 1069018dcbf6b264683585b238b48d7f, type: 2}
|
||||
m_OverrideClip: {fileID: -683015962456246945, guid: 15695eb7a90849a4782af65d2c9c8a4c, type: 2}
|
||||
m_OverrideClip: {fileID: 2128303080740529859, guid: c794a6da378e5554393d97a6bc810f3a, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: ace81af5b21651a4ba800accd47fbe34, type: 2}
|
||||
m_OverrideClip: {fileID: 3336616053425093602, guid: 2a98f848897e27d45b24f8db62deb7ad, type: 2}
|
||||
m_OverrideClip: {fileID: 7405628368492001861, guid: 268153881ab15eb4fbb92b9100833a79, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 3859e6d68f2917c44a01ffac957738c8, type: 2}
|
||||
m_OverrideClip: {fileID: 3089349482916515268, guid: 237f2a6462e01a0429907987527c64ca, type: 2}
|
||||
- m_OriginalClip: {fileID: 7400000, guid: 7dd899b6eaf0a09498a5e41112cf2b8c, type: 2}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a8864afd25443dea340ad347d196e30
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,82 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fd6893a98c17a0e47af8bd555a67190b, type: 3}
|
||||
m_Name: LightningConcentrator_ContentData
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Inventory.ContentData
|
||||
serializationData:
|
||||
SerializedFormat: 2
|
||||
SerializedBytes:
|
||||
ReferencedUnityObjects: []
|
||||
SerializedBytesString:
|
||||
Prefab: {fileID: 0}
|
||||
PrefabModificationsReferencedUnityObjects: []
|
||||
PrefabModifications: []
|
||||
SerializationNodes:
|
||||
- Name: itemClass
|
||||
Entry: 7
|
||||
Data: 0|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: Cielonos.MainGame.Inventory.Collections.LightningConcentrator, Assembly-CSharp
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: descriptions
|
||||
Entry: 7
|
||||
Data: 1|System.Collections.Generic.List`1[[Cielonos.MainGame.Inventory.ItemDescription,
|
||||
Assembly-CSharp]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 2|Cielonos.MainGame.Inventory.ItemDescription, Assembly-CSharp
|
||||
- Name: descriptionKey
|
||||
Entry: 1
|
||||
Data: LightningConcentrator_Desc0
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: dropSettings
|
||||
Entry: 7
|
||||
Data: 3|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Single,
|
||||
mscorlib]], mscorlib
|
||||
- Name: comparer
|
||||
Entry: 7
|
||||
Data: 4|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||
mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
itemType: 2
|
||||
itemRarity: 3
|
||||
tags: []
|
||||
institutions:
|
||||
- WardenclyffeResonanceHub
|
||||
displayNameKey: LightningConcentrator_Name
|
||||
itemIcon: {fileID: 21300000, guid: a685aa7ba5f7a074f8a84237bbab1032, type: 3}
|
||||
dropWeight: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 62000f3abf8b47ab9e3069360f1c42b4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,118 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &8246481056240113942
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5252010459508781963}
|
||||
- component: {fileID: 2207735315041899684}
|
||||
m_Layer: 0
|
||||
m_Name: LightningConcentrator
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5252010459508781963
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8246481056240113942}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2207735315041899684
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8246481056240113942}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0572525d1cf145cd84962c632a304e45, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Inventory.Collections.LightningConcentrator
|
||||
serializationData:
|
||||
SerializedFormat: 2
|
||||
SerializedBytes:
|
||||
ReferencedUnityObjects: []
|
||||
SerializedBytesString:
|
||||
Prefab: {fileID: 0}
|
||||
PrefabModificationsReferencedUnityObjects: []
|
||||
PrefabModifications: []
|
||||
SerializationNodes:
|
||||
- Name: passiveAttributeSm
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name: comboSm
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name: functionSm
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name: ammoSm
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name: overloadSm
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name: auraSm
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name: viewObjects
|
||||
Entry: 7
|
||||
Data: 0|System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Cielonos.MainGame.Inventory.ItemViewObject,
|
||||
Assembly-CSharp]], mscorlib
|
||||
- Name: comparer
|
||||
Entry: 7
|
||||
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.String,
|
||||
mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: hostType
|
||||
Entry: 7
|
||||
Data: 2|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: Cielonos.MainGame.Inventory.Collections.FutureWand, Assembly-CSharp
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
fullBodyFuncAnims: {fileID: 0}
|
||||
upperBodyFuncAnims: {fileID: 0}
|
||||
contentData: {fileID: 11400000, guid: 62000f3abf8b47ab9e3069360f1c42b4, type: 2}
|
||||
viewObjectData: {fileID: 0}
|
||||
vfxData: {fileID: 0}
|
||||
passiveAttributeData: {fileID: 0}
|
||||
upgradeData: {fileID: 0}
|
||||
comboData: {fileID: 0}
|
||||
attackData: {fileID: 0}
|
||||
functionData: {fileID: 0}
|
||||
ammoData: {fileID: 0}
|
||||
blockData: {fileID: 0}
|
||||
overloadData: {fileID: 0}
|
||||
inputData: {fileID: 0}
|
||||
feedbackSc: {fileID: 0}
|
||||
extenders: []
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2dd4ef00812f4a868336960429d76c03
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1133,45 +1133,6 @@ MonoBehaviour:
|
||||
- Func_02
|
||||
- Func_03
|
||||
--- !u!21 &458856279
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: DefaultBlurredImage
|
||||
m_Shader: {fileID: 4800000, guid: 0bc497fc7237fb94a98a758638ed8902, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _ColorMask: 15
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UseUIAlphaClip: 0
|
||||
m_Colors: []
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!21 &523069877
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1686,6 +1647,45 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Cielonos.MainGame.Effects.Feedback.RGBSplitGlitchShaker
|
||||
minIntensity: 0
|
||||
maxIntensity: 1
|
||||
--- !u!21 &988489540
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: DefaultBlurredImage
|
||||
m_Shader: {fileID: 4800000, guid: 0bc497fc7237fb94a98a758638ed8902, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _ColorMask: 15
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UseUIAlphaClip: 0
|
||||
m_Colors: []
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!1 &998525393
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -36,6 +36,7 @@ namespace Cielonos.MainGame
|
||||
public bool canTriggerHitEvent = true;
|
||||
public List<string> tags = new List<string>();
|
||||
public Action updateAction;
|
||||
private Predicate<CharacterBase> _targetFilter;
|
||||
[NonSerialized, HideInEditorMode] public CreatorTimePolicy timePolicy;
|
||||
|
||||
/// <summary>
|
||||
@@ -93,6 +94,7 @@ namespace Cielonos.MainGame
|
||||
this.targetFractions = targetFractions.ToList();
|
||||
this.canTriggerHitEvent = true;
|
||||
this.tags = new List<string>();
|
||||
this._targetFilter = null;
|
||||
this.timePolicy = DefaultTimePolicy;
|
||||
this.reactedTargets.Clear();
|
||||
|
||||
@@ -411,14 +413,25 @@ namespace Cielonos.MainGame
|
||||
public partial class AttackAreaBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查目标角色是否为有效攻击目标:非创建者自身,且属于目标阵营。
|
||||
/// 设置只对当前池化实例有效的额外目标条件。
|
||||
/// </summary>
|
||||
public T SetTargetFilter<T>(Predicate<CharacterBase> targetFilter) where T : AttackAreaBase
|
||||
{
|
||||
// 对池化 AttackArea 施加本次运行时目标约束;Initialize 会负责清空。
|
||||
_targetFilter = targetFilter;
|
||||
return this as T;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检查目标角色是否为有效攻击目标:非创建者自身,且属于目标阵营并满足额外目标条件。
|
||||
/// </summary>
|
||||
public bool IsValidTarget(CharacterBase target)
|
||||
{
|
||||
if (target == null || target == creator) return false;
|
||||
if (!target.gameObject.activeInHierarchy) return false;
|
||||
if (target.statusSm == null || target.statusSm.isDead) return false;
|
||||
return targetFractions.Contains(target.fraction);
|
||||
if (!targetFractions.Contains(target.fraction)) return false;
|
||||
return _targetFilter?.Invoke(target) ?? true;
|
||||
}
|
||||
|
||||
public virtual void HitCharacter(Collider characterCollider, Vector3 hitPosition)
|
||||
|
||||
@@ -44,7 +44,9 @@ namespace Cielonos.MainGame.Characters
|
||||
backpackSm.ObtainItem<Frostfield>();
|
||||
backpackSm.ObtainItem<HummingbirdSwarmMissile>();
|
||||
backpackSm.ObtainItem<ThermalDetonator>();
|
||||
backpackSm.ObtainItem<SpacetimeTurbulence>();
|
||||
//backpackSm.ObtainItem<SpacetimeTurbulence>();
|
||||
|
||||
backpackSm.ObtainItem<LightningConcentrator>();
|
||||
/*backpackSm.ObtainItem<PhotonWarper>();
|
||||
backpackSm.ObtainItem<PhotonDissociator>();
|
||||
backpackSm.ObtainItem<PhotonAccelerator>();
|
||||
|
||||
@@ -48,6 +48,8 @@ namespace Cielonos.MainGame.Inventory
|
||||
|
||||
public class FunctionUnit
|
||||
{
|
||||
public const string DisruptionTag = "Disruption";
|
||||
|
||||
[ReadOnly]
|
||||
public FunctionData parentData;
|
||||
|
||||
@@ -81,8 +83,8 @@ namespace Cielonos.MainGame.Inventory
|
||||
|
||||
public static List<string> Tags = new()
|
||||
{
|
||||
"Disruption"
|
||||
DisruptionTag
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Cielonos.MainGame.Inventory.Collections
|
||||
{
|
||||
/// <summary>
|
||||
/// 引雷标记 / Lightning Concentrator
|
||||
/// 将 FutureWand 的 Lightning 集中到单个目标,并将其转化为 Disruption 攻击。
|
||||
/// </summary>
|
||||
public class LightningConcentrator : ExtenderBase
|
||||
{
|
||||
public override void OnObtained()
|
||||
{
|
||||
hostType = typeof(FutureWand);
|
||||
base.OnObtained();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0572525d1cf145cd84962c632a304e45
|
||||
@@ -15,6 +15,20 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
private void FAPF_GenerateLightning(RuntimeFuncAnim rtFuncAnim)
|
||||
{
|
||||
CustomFunction.PC_StringString p = rtFuncAnim.GetParams<CustomFunction.PC_StringString>();
|
||||
|
||||
if (_hasLightningConcentrator)
|
||||
{
|
||||
Enemy target = PrimaryTarget;
|
||||
if (target == null || !target.gameObject.activeInHierarchy || target.statusSm.isDead)
|
||||
{
|
||||
target = RefreshLightningConcentratorTarget(out _);
|
||||
}
|
||||
|
||||
AttackUnit modifiedAttack = ApplyLightningConcentrator(attackData[p.str1]);
|
||||
Vector3 fallbackPosition = player.transform.position + player.transform.forward * 10f;
|
||||
GenerateLightning(p.str0, modifiedAttack, target, fallbackPosition);
|
||||
return;
|
||||
}
|
||||
|
||||
List<Enemy> targets = CombatManager.EnemySm.Query(25f).From(player.transform).Candidates();
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
|
||||
NormalArea lightning = vfxData.SpawnVFX(vfxName, player).GetComponentInChildren<NormalArea>();
|
||||
lightning.Initialize<NormalArea>(player, this, Fraction.Enemy)
|
||||
.SetTargetFilter<NormalArea>(candidate => candidate == target)
|
||||
.SetAttackSubmodule<NormalArea>(attackUnit)
|
||||
.SetTimeSubmodule<NormalArea>(2f, 0.1f, 0.04f)
|
||||
.SetHitSubmodule<NormalArea>();
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
using Cielonos.MainGame.Characters;
|
||||
using Cielonos.MainGame.Effects.Feedback;
|
||||
using SLSUtilities.Feedback;
|
||||
using SLSUtilities.FunctionalAnimation;
|
||||
|
||||
namespace Cielonos.MainGame.Inventory.Collections
|
||||
{
|
||||
@@ -62,11 +65,25 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
return played;
|
||||
}
|
||||
|
||||
private bool PlayLightning(CharacterBase target)
|
||||
private bool PlayLightning(CharacterBase target, bool playStartupFeedback = false)
|
||||
{
|
||||
bool played = PlayTargetedAnimation("GenerateLightning", target);
|
||||
if (played)
|
||||
{
|
||||
if (_hasLightningConcentrator && playStartupFeedback)
|
||||
{
|
||||
float duration = fullBodyFuncAnimSm.collection["GenerateLightning"]
|
||||
.Interval(IntervalType.Startup).Duration * 2f;
|
||||
player.feedbackSc.PlayFeedback("DisruptionStartup", runtimeFeedback =>
|
||||
{
|
||||
FeedbackClip timeScaleModifierClip = runtimeFeedback.Clip<TimeScaleModifierAction>("Time");
|
||||
if (timeScaleModifierClip != null)
|
||||
{
|
||||
timeScaleModifierClip.duration = duration;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
functionSm["Lightning"].Execute();
|
||||
}
|
||||
return played;
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
private bool _hasCubicScatterIndexer;
|
||||
private bool _hasFusionChargeCore;
|
||||
private bool _hasSigilBreakWedge;
|
||||
private bool _hasLightningConcentrator;
|
||||
|
||||
private const int StellarRingQuickcasterSpinAreaUpgradeLevel = 1;
|
||||
private const int FusionChargeCoreExtraFusionStack = 1;
|
||||
@@ -32,6 +33,23 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
_hasCubicScatterIndexer = HasExtender<CubicScatterIndexer>();
|
||||
_hasFusionChargeCore = HasExtender<FusionChargeCore>();
|
||||
_hasSigilBreakWedge = HasExtender<SigilBreakWedge>();
|
||||
_hasLightningConcentrator = HasExtender<LightningConcentrator>();
|
||||
functionSm?["Lightning"]?.SetRuntimeTag(
|
||||
nameof(LightningConcentrator),
|
||||
FunctionData.FunctionUnit.DisruptionTag,
|
||||
_hasLightningConcentrator);
|
||||
}
|
||||
|
||||
private AttackUnit ApplyLightningConcentrator(AttackUnit source)
|
||||
{
|
||||
if (!_hasLightningConcentrator) return source;
|
||||
|
||||
// AttackData 已把基础倍率结算进 startDamage;clone 后只修改本次 Lightning。
|
||||
AttackUnit modified = source.Clone();
|
||||
modified.startDamage *= 2f;
|
||||
modified.damageDeviation *= 2f;
|
||||
modified.breakthroughType = Breakthrough.Type.Disruption;
|
||||
return modified;
|
||||
}
|
||||
|
||||
private bool PlayStellarRingQuickcasterSpinArea()
|
||||
|
||||
@@ -95,7 +95,11 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
{
|
||||
if (functionSm["Lightning"].IsAvailable() && fullBodyFuncAnimSm.CheckPlayability())
|
||||
{
|
||||
PlayLightning(RefreshPrimaryTarget());
|
||||
bool playStartupFeedback = false;
|
||||
CharacterBase target = _hasLightningConcentrator
|
||||
? RefreshLightningConcentratorTarget(out playStartupFeedback)
|
||||
: RefreshPrimaryTarget();
|
||||
PlayLightning(target, playStartupFeedback);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,25 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
return RefreshPrimaryTarget(TargetingScorePreset.MeleeAttack, radius);
|
||||
}
|
||||
|
||||
private Enemy RefreshLightningConcentratorTarget(out bool hasDisruptableTarget,
|
||||
float radius = DefaultTargetingRadius)
|
||||
{
|
||||
_currentTargets.Clear();
|
||||
|
||||
Enemy target = CombatManager.EnemySm.Query(radius, TargetingScorePreset.RangedAttack)
|
||||
.OnlyDisruptable(Breakthrough.Type.Disruption)
|
||||
.Best();
|
||||
hasDisruptableTarget = target != null;
|
||||
target ??= CombatManager.EnemySm.Query(radius, TargetingScorePreset.RangedAttack).LockonFirst();
|
||||
|
||||
if (target != null)
|
||||
{
|
||||
_currentTargets.Add(target);
|
||||
}
|
||||
|
||||
return target;
|
||||
}
|
||||
|
||||
private Enemy RefreshPrimaryTarget(TargetingScorePreset preset, float radius = DefaultTargetingRadius)
|
||||
{
|
||||
RefreshCurrentTargets(1, radius, preset);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Cielonos.MainGame.Characters;
|
||||
@@ -44,6 +45,9 @@ namespace Cielonos.MainGame.Inventory
|
||||
public FunctionData.FunctionUnit data;
|
||||
public float currentCooldown;
|
||||
public float maxCooldown;
|
||||
|
||||
private Dictionary<string, HashSet<string>> _runtimeTagsBySource;
|
||||
public event Action OnPresentationChanged;
|
||||
|
||||
public RuntimeFunctionUnit(FunctionSubmodule owner, FunctionData.FunctionUnit data) : base(owner)
|
||||
{
|
||||
@@ -51,6 +55,59 @@ namespace Cielonos.MainGame.Inventory
|
||||
maxCooldown = data.cooldown;
|
||||
currentCooldown = 0f;
|
||||
}
|
||||
|
||||
public bool HasTag(string tag)
|
||||
{
|
||||
// Runtime tag 只影响当前 FunctionUnit 实例,不修改共享的 FunctionData。
|
||||
if (data.tags != null && data.tags.Contains(tag)) return true;
|
||||
if (_runtimeTagsBySource == null) return false;
|
||||
|
||||
foreach (HashSet<string> tags in _runtimeTagsBySource.Values)
|
||||
{
|
||||
if (tags.Contains(tag)) return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void SetRuntimeTag(string sourceKey, string tag, bool enabled)
|
||||
{
|
||||
// sourceKey 让多个装备可以独立添加或撤销同名表现标签。
|
||||
bool changed = false;
|
||||
if (enabled)
|
||||
{
|
||||
_runtimeTagsBySource ??= new Dictionary<string, HashSet<string>>();
|
||||
if (!_runtimeTagsBySource.TryGetValue(sourceKey, out HashSet<string> tags))
|
||||
{
|
||||
tags = new HashSet<string>();
|
||||
_runtimeTagsBySource.Add(sourceKey, tags);
|
||||
}
|
||||
|
||||
changed = tags.Add(tag);
|
||||
}
|
||||
else if (_runtimeTagsBySource != null &&
|
||||
_runtimeTagsBySource.TryGetValue(sourceKey, out HashSet<string> tags))
|
||||
{
|
||||
changed = tags.Remove(tag);
|
||||
if (tags.Count == 0)
|
||||
{
|
||||
_runtimeTagsBySource.Remove(sourceKey);
|
||||
}
|
||||
}
|
||||
|
||||
if (changed)
|
||||
{
|
||||
OnPresentationChanged?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveRuntimeTags(string sourceKey)
|
||||
{
|
||||
if (_runtimeTagsBySource != null && _runtimeTagsBySource.Remove(sourceKey))
|
||||
{
|
||||
OnPresentationChanged?.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
public void Update(float deltaTime)
|
||||
{
|
||||
|
||||
@@ -19,9 +19,24 @@ namespace Cielonos.MainGame.UI
|
||||
|
||||
private Sequence _frameOutlineSequence;
|
||||
private ItemBase.RuntimeFunctionUnit _functionUnit;
|
||||
private Color _defaultIconColor;
|
||||
private Color _defaultFrameColor;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_defaultIconColor = iconImage.color;
|
||||
_defaultFrameColor = frame.color;
|
||||
}
|
||||
|
||||
public void Initialize(ItemBase.RuntimeFunctionUnit functionUnit)
|
||||
{
|
||||
if (_functionUnit != null)
|
||||
{
|
||||
_functionUnit.OnPresentationChanged -= RefreshPresentation;
|
||||
}
|
||||
|
||||
this._functionUnit = functionUnit;
|
||||
_functionUnit.OnPresentationChanged += RefreshPresentation;
|
||||
iconImage.sprite = functionUnit.data.icon != null ? functionUnit.data.icon : null;
|
||||
|
||||
if (_functionUnit.maxCooldown <= 0)
|
||||
@@ -39,7 +54,15 @@ namespace Cielonos.MainGame.UI
|
||||
costText.text = Mathf.CeilToInt(_functionUnit.data.energyCost).ToString("D");
|
||||
}
|
||||
|
||||
if (_functionUnit.data.tags.Contains("Disruption"))
|
||||
RefreshPresentation();
|
||||
}
|
||||
|
||||
private void RefreshPresentation()
|
||||
{
|
||||
iconImage.color = _defaultIconColor;
|
||||
frame.color = _defaultFrameColor;
|
||||
|
||||
if (_functionUnit.HasTag(FunctionData.FunctionUnit.DisruptionTag))
|
||||
{
|
||||
Color newColor = Color.yellow;
|
||||
iconImage.color = newColor;
|
||||
@@ -48,6 +71,14 @@ namespace Cielonos.MainGame.UI
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_functionUnit != null)
|
||||
{
|
||||
_functionUnit.OnPresentationChanged -= RefreshPresentation;
|
||||
}
|
||||
}
|
||||
|
||||
public override void UpdateUI()
|
||||
{
|
||||
if (_functionUnit.maxCooldown <= 0f)
|
||||
|
||||
@@ -20,9 +20,23 @@ namespace Cielonos.MainGame.UI
|
||||
|
||||
private ItemBase.RuntimeFunctionUnit _functionUnit;
|
||||
private Sequence _frameOutlineSequence;
|
||||
private Color _defaultIconColor;
|
||||
private Color _defaultFrameColor;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_defaultIconColor = iconImage.color;
|
||||
_defaultFrameColor = frame.color;
|
||||
}
|
||||
|
||||
public void Initialize(SupportEquipmentBase supportEquipment)
|
||||
{
|
||||
if (_functionUnit != null)
|
||||
{
|
||||
_functionUnit.OnPresentationChanged -= RefreshPresentation;
|
||||
_functionUnit = null;
|
||||
}
|
||||
|
||||
if (supportEquipment == null)
|
||||
{
|
||||
DisableAllParts();
|
||||
@@ -49,11 +63,13 @@ namespace Cielonos.MainGame.UI
|
||||
//如果有多个功能单元,优先显示主功能单元
|
||||
_functionUnit = supportEquipment.functionSm.mainFunction;
|
||||
}
|
||||
|
||||
_functionUnit.OnPresentationChanged += RefreshPresentation;
|
||||
|
||||
timerImage.gameObject.SetActive(true);
|
||||
timerText.gameObject.SetActive(true);
|
||||
costText.gameObject.SetActive(true);
|
||||
iconImage.color = Color.white;
|
||||
iconImage.color = _defaultIconColor;
|
||||
|
||||
if (_functionUnit.maxCooldown <= 0)
|
||||
{
|
||||
@@ -70,13 +86,7 @@ namespace Cielonos.MainGame.UI
|
||||
costText.text = Mathf.CeilToInt(_functionUnit.data.energyCost).ToString("D");
|
||||
}
|
||||
|
||||
if (_functionUnit.data.tags.Contains("Disruption"))
|
||||
{
|
||||
Color newColor = Color.yellow;
|
||||
iconImage.color = newColor;
|
||||
newColor.a = 0.5f;
|
||||
frame.color = newColor;
|
||||
}
|
||||
RefreshPresentation();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -85,10 +95,34 @@ namespace Cielonos.MainGame.UI
|
||||
}
|
||||
}
|
||||
|
||||
private void RefreshPresentation()
|
||||
{
|
||||
if (_functionUnit == null) return;
|
||||
|
||||
iconImage.color = _defaultIconColor;
|
||||
frame.color = _defaultFrameColor;
|
||||
if (_functionUnit.HasTag(FunctionData.FunctionUnit.DisruptionTag))
|
||||
{
|
||||
Color newColor = Color.yellow;
|
||||
iconImage.color = newColor;
|
||||
newColor.a = 0.5f;
|
||||
frame.color = newColor;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_functionUnit != null)
|
||||
{
|
||||
_functionUnit.OnPresentationChanged -= RefreshPresentation;
|
||||
}
|
||||
}
|
||||
|
||||
public void DisableAllParts()
|
||||
{
|
||||
iconImage.sprite = null;
|
||||
iconImage.color = Color.clear;
|
||||
frame.color = _defaultFrameColor;
|
||||
timerImage.gameObject.SetActive(false);
|
||||
timerText.gameObject.SetActive(false);
|
||||
costText.gameObject.SetActive(false);
|
||||
|
||||
Reference in New Issue
Block a user