瀏覽代碼

变身刺客主动冲刺

LAPTOP-OM1V99U2\永远de小亡灵 1 年之前
父節點
當前提交
f40ed46962

+ 306 - 93
ActionTowerDefense/Assets/Resources/Prefab/Transfiguration/Trans_Assassin.prefab

@@ -173,6 +173,7 @@ Transform:
   m_Children:
   - {fileID: 2730232521377132808}
   - {fileID: 5061628209490452354}
+  - {fileID: 2736598004543142215}
   - {fileID: 8507731236713456294}
   m_Father: {fileID: 0}
   m_RootOrder: 0
@@ -192,6 +193,15 @@ MonoBehaviour:
   player: {fileID: 0}
   criticalChance: 0.2
   criticalMultiplier: 2
+  isUltimate: 0
+  isNextUltimate: 0
+  distance: 0
+  rushSpeed: 30
+  rushTime: 0.8
+  aimEffect: {fileID: 3811492645662986714}
+  dashEffect: {fileID: 4435902830102402973}
+  targetDir: {x: 0, y: 0, z: 0}
+  time: 0
 --- !u!114 &2437299196472462353
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -228,11 +238,11 @@ MonoBehaviour:
   totalHp: 1000
   hp: 0
   attack1Infos:
-  - damage: 200
-    attackDir: {x: 2, y: 1, z: 0}
+  - damage: 600
+    attackDir: {x: 0, y: 1, z: 0}
     force: 100
     changeHurt: 1
-    repelValue: 100
+    repelValue: 10
   attack2Infos:
   - damage: 50
     attackDir: {x: -2, y: 1, z: 0}
@@ -322,6 +332,8 @@ MonoBehaviour:
   canNotChangeHurt: 0
   soulPrefab: {fileID: 0}
   soulStartSpeed: 1
+  easyToGetHit: 0.2
+  player: {fileID: 0}
   id: 0
   costMp: 1
   totalSummonTime: 0.5
@@ -397,6 +409,39 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   trigGroundList: []
+--- !u!1 &3811492645662986714
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2736598004543142215}
+  m_Layer: 8
+  m_Name: AimEffect
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &2736598004543142215
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3811492645662986714}
+  m_LocalRotation: {x: 0, y: 0, z: 1, w: 0}
+  m_LocalPosition: {x: 0, y: 0.5, z: 0}
+  m_LocalScale: {x: 1, y: 3, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 210492870461920642}
+  - {fileID: 703830862921612864}
+  m_Father: {fileID: 2437299196472462364}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
 --- !u!1 &5216717017252562314
 GameObject:
   m_ObjectHideFlags: 0
@@ -427,10 +472,94 @@ Transform:
   m_Children:
   - {fileID: 1971427318739414964}
   - {fileID: 7794457276998281569}
-  - {fileID: 1658938184312316380}
+  - {fileID: 4705723435026192113}
   m_Father: {fileID: 2437299196472462364}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &5724427844924032099
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 210492870461920642}
+  - component: {fileID: 5084821423994405064}
+  m_Layer: 8
+  m_Name: Square
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &210492870461920642
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5724427844924032099}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 1.114, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 0.2, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2736598004543142215}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5084821423994405064
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5724427844924032099}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 774d3eac0093d1049a171c7ea1aca258, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: -1730265859
+  m_SortingLayer: 4
+  m_SortingOrder: 120
+  m_Sprite: {fileID: 21300000, guid: c6938425d6b5363428e7d1151a6e0000, type: 3}
+  m_Color: {r: 1, g: 0, b: 0, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0
 --- !u!1 &5854255137085934375
 GameObject:
   m_ObjectHideFlags: 0
@@ -667,6 +796,178 @@ MonoBehaviour:
   Miss: {fileID: 0}
   criticalRandom: 0
   isRandom: 0
+--- !u!1 &6718313986988356132
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4705723435026192113}
+  - component: {fileID: 504592824178922966}
+  - component: {fileID: 4048445949627445710}
+  - component: {fileID: 4435902830102402973}
+  m_Layer: 0
+  m_Name: DashAttackTrigger
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4705723435026192113
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6718313986988356132}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 2, y: 2, z: 2}
+  m_ConstrainProportionsScale: 1
+  m_Children: []
+  m_Father: {fileID: 2730232521377132808}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &504592824178922966
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6718313986988356132}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 1
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 3.86, y: 2.37, z: 20}
+  m_Center: {x: 0, y: 1.04, z: 0}
+--- !u!54 &4048445949627445710
+Rigidbody:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6718313986988356132}
+  serializedVersion: 2
+  m_Mass: 1
+  m_Drag: 0
+  m_AngularDrag: 0.05
+  m_UseGravity: 0
+  m_IsKinematic: 0
+  m_Interpolate: 0
+  m_Constraints: 126
+  m_CollisionDetection: 0
+--- !u!114 &4435902830102402973
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6718313986988356132}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 028d37216b47ca446ba0037910919e25, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  canHit: 0
+  isEnemy: 0
+  attackInfo:
+    damage: 500
+    attackDir: {x: 0, y: 2, z: 0}
+    force: 0
+    changeHurt: 1
+    repelValue: 50
+  beHitTriggers: []
+  offset: 2
+  rushEffect: {fileID: 7473170563405908938, guid: 8ad3c225050205945b10657aa300afd6, type: 3}
+  targetY: 1
+  aim: {fileID: 3811492645662986714}
+--- !u!1 &6907704218149488799
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 703830862921612864}
+  - component: {fileID: 7011887945378649641}
+  m_Layer: 8
+  m_Name: line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &703830862921612864
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6907704218149488799}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.2, y: 0.1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2736598004543142215}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7011887945378649641
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6907704218149488799}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 774d3eac0093d1049a171c7ea1aca258, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: -1730265859
+  m_SortingLayer: 4
+  m_SortingOrder: 121
+  m_Sprite: {fileID: 21300000, guid: 7e12cb56c4b7e7e4eab0b616099a42bc, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 1, y: 1}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 1
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 1
 --- !u!1 &7669620205589286043
 GameObject:
   m_ObjectHideFlags: 0
@@ -813,94 +1114,6 @@ MonoBehaviour:
     layerMixModes: 01000000
     layerBlendModes: 01000000
   updateTiming: 1
---- !u!1 &8175746555017464802
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1658938184312316380}
-  - component: {fileID: 4979172509264116742}
-  - component: {fileID: 5670168015807601097}
-  - component: {fileID: 8257178686841521685}
-  m_Layer: 0
-  m_Name: DashAttackTrigger
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!4 &1658938184312316380
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  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: 1
-  m_Children: []
-  m_Father: {fileID: 2730232521377132808}
-  m_RootOrder: 2
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!65 &4979172509264116742
-BoxCollider:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  m_Material: {fileID: 0}
-  m_IsTrigger: 1
-  m_Enabled: 1
-  serializedVersion: 2
-  m_Size: {x: 4.02, y: 3.52, z: 20}
-  m_Center: {x: -1.08, y: 0.83, z: 0}
---- !u!114 &5670168015807601097
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 028d37216b47ca446ba0037910919e25, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  canHit: 1
-  isEnemy: 0
-  attackInfo:
-    damage: 0
-    attackDir: {x: 0, y: 0, z: 0}
-    force: 0
-    changeHurt: 0
-    repelValue: 0
-  beHitTriggers: []
-  offset: 2
-  rushEffect: {fileID: 7473170563405908938, guid: 8ad3c225050205945b10657aa300afd6, type: 3}
-  targetY: 1
-  aim: {fileID: 8203964573996106666}
---- !u!54 &8257178686841521685
-Rigidbody:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8175746555017464802}
-  serializedVersion: 2
-  m_Mass: 1
-  m_Drag: 0
-  m_AngularDrag: 0.05
-  m_UseGravity: 0
-  m_IsKinematic: 0
-  m_Interpolate: 0
-  m_Constraints: 126
-  m_CollisionDetection: 0
 --- !u!1 &8203964573996106666
 GameObject:
   m_ObjectHideFlags: 0
@@ -934,7 +1147,7 @@ RectTransform:
   m_Children:
   - {fileID: 6098794361404217704}
   m_Father: {fileID: 2437299196472462364}
-  m_RootOrder: 2
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}

+ 1 - 1
ActionTowerDefense/Assets/Resources/Spine/Spirits_Assassin/Spirits_Assassin_Controller.controller

@@ -1391,7 +1391,7 @@ AnimatorStateMachine:
     m_Position: {x: 320, y: 660, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 7977021450772176765}
-    m_Position: {x: 0, y: 0, z: 0}
+    m_Position: {x: 320, y: 30, z: 0}
   - serializedVersion: 1
     m_State: {fileID: 9220789475148955431}
     m_Position: {x: 590, y: 150, z: 0}

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Spirits/DashEffect.cs

@@ -88,8 +88,8 @@ public class DashEffect : MonoBehaviour
         character.BeHit(attackInfo.damage,attackInfo.force * attackInfo.attackDir * offset, 
             attackInfo.changeHurt,attackInfo.repelValue);
         GameObject effect = Instantiate(rushEffect);
-        effect.transform.position = new Vector3(character.transform.position.x,
-            transform.position.y + targetY, 0);
+        //effect.transform.position = new Vector3(character.transform.position.x,
+        //    transform.position.y + targetY, 0);
         effect.transform.position =
             Vector3.Lerp(character.transform.position + Vector3.up *targetY,
             aim.transform.position, 0.5f);

+ 104 - 13
ActionTowerDefense/Assets/Scripts/Spirits/Trans_Assassin.cs

@@ -14,10 +14,17 @@ public class Trans_Assassin : MonoBehaviour
     public float criticalChance;            //±©»÷ÂÊ
     public float criticalMultiplier;        //±©»÷±¶Êý
     public bool isUltimate;
+    public bool isNextUltimate;
+    [HideInInspector]
     public float distance;
     public float rushSpeed;
     public float rushTime;
     public GameObject aimEffect;
+    public DashEffect dashEffect;
+    [HideInInspector]
+    public Vector3 targetDir;
+    [HideInInspector]
+    public float time;
 
     // Start is called before the first frame update
     void Start()
@@ -26,30 +33,71 @@ public class Trans_Assassin : MonoBehaviour
         player.jumpNumber = 3;
         player.criticalChance = criticalChance;
         player.criticalMultiplier = criticalMultiplier;
-        distance = rushSpeed * rushTime * Time.deltaTime;
+        distance = rushSpeed * rushTime/2;
     }
 
     // Update is called once per frame
     void Update()
     {
-
-        if (isUltimate)
+        if (isNextUltimate)
         {
-            ReadyToDash(player.moveVec);
+
         }
         else
         {
-            if (player.isUltimate)
+            if (isUltimate)
+            {
+
+                if (player.isUltimate)
+                {
+                    ReadyToDash(player.moveVec);
+                }
+                else
+                {
+                    dashEffect.canHit = true;
+                    aimEffect.SetActive(false);
+                    player.ani.Play("attack_summon", 0, 0);
+                    Rush();
+                    time += Time.deltaTime;
+                    if (time >= rushTime)
+                    {
+                        //isNextUltimate = true;
+                        isUltimate = false;
+                        player.canMove = true;
+                        player.canfly = false;
+                        dashEffect.canHit = false;
+                        player.bodyTrans.rotation = Quaternion.Euler(Vector3.zero);
+                        player.ChangeState(CharacterState.Fall);
+                        time = 0;
+                    }
+                }
+            }
+            else
             {
-                isUltimate = true;
-                player.canMove = false;
+                if (player.isUltimate)
+                {
+                    player.moveVec = player.leftDir;
+                    player.canMove = false;
+                    player.ChangeState(CharacterState.None);
+                    player.ani.Play("charge", 0, 0);
+                    player.canfly = true;
+                    if (!player.foot.TrigGround)
+                    {
+                        
+                        player.rb.velocity = Vector3.zero;
+                        player.rb.useGravity = false;
+                    }
+                    aimEffect.SetActive(true);
+                    aimEffect.transform.localScale =
+                        new Vector3(distance, 3, 1);
+                    isUltimate = true;
+                    
+                }
             }
         }
-    }
-    void Skill()
-    {
 
     }
+
     private void OnDisable()
     {
         player.criticalChance = 0;
@@ -57,13 +105,21 @@ public class Trans_Assassin : MonoBehaviour
     }
     public void ReadyToDash(Vector2 leftDir)
     {
-        Vector3 targetDir = leftDir.normalized;
-        aimEffect.transform.localScale =
-            new Vector3(distance, 1, 1);
+        if(leftDir != Vector2.zero)
+        {
+            targetDir = leftDir.normalized;
+            
+        }
+
+
         float k = Mathf.Atan2(targetDir.y, targetDir.x) * Mathf.Rad2Deg;
         if (targetDir.x < 0)
         {
             aimEffect.transform.rotation = Quaternion.Euler(new Vector3(0, 0, k));
+            //if (!player.foot.TrigGround)
+            //{
+            //    transform.rotation = Quaternion.Euler(new Vector3(0, 0, k));
+            //}
             if (player.bodyTrans.localScale.x < 0)
             {
                 player.bodyTrans.localScale =
@@ -75,6 +131,10 @@ public class Trans_Assassin : MonoBehaviour
         else
         {
             aimEffect.transform.rotation = Quaternion.Euler(new Vector3(0, 0, k));
+            //if (!player.foot.TrigGround)
+            //{
+            //    transform.rotation = Quaternion.Euler(new Vector3(0, 0, k));
+            //}
             if (player.bodyTrans.localScale.x > 0)
             {
                 player.bodyTrans.localScale =
@@ -83,4 +143,35 @@ public class Trans_Assassin : MonoBehaviour
             }
         }
     }
+    private void Rush()
+    {
+        float k = Mathf.Atan2(targetDir.y, targetDir.x) * Mathf.Rad2Deg;
+        if (targetDir.x < 0)
+        {
+            dashEffect.offset = 1;
+            if (player.bodyTrans.localScale.x < 0)
+            {
+                player.bodyTrans.localScale =
+                    new Vector3(-player.bodyTrans.localScale.x, player.bodyTrans.localScale.y,
+                    player.bodyTrans.localScale.z);
+            }
+
+            player.bodyTrans.rotation = Quaternion.Euler(new Vector3(0, 0, k - 180));
+        }
+        else
+        {
+            if (player.bodyTrans.localScale.x > 0)
+            {
+                player.bodyTrans.localScale =
+                    new Vector3(-player.bodyTrans.localScale.x, player.bodyTrans.localScale.y,
+                    player.bodyTrans.localScale.z);
+            }
+
+            dashEffect.offset = -1;
+            player.bodyTrans.rotation = Quaternion.Euler(new Vector3(0, 0, k));
+        }
+
+
+        player.rb.velocity = targetDir * rushSpeed;
+    }
 }