From ac697bf3fa6bb7ad4bfe48cc610acb673cf8da89 Mon Sep 17 00:00:00 2001 From: cyber-dream Date: Mon, 13 Jun 2022 02:55:52 +0300 Subject: [PATCH] new abilities --- .../Assets/Prefabs/Abilities/Boomerang.prefab | 132 ++++++++++++++++++ .../Prefabs/Abilities/Boomerang.prefab.meta | 7 + .../Assets/Prefabs/Abilities/Pistol.prefab | 71 +++++----- .../Prefabs/Abilities/Ultraviolet.prefab | 126 ++++++++--------- .../Character/Abilities/AbilitiesData.asset | 80 +++++++++++ .../Abilities/AbilitiesData.asset.meta | 8 ++ .../{ => Character/Abilities}/Ability.cs | 2 +- .../{ => Character/Abilities}/Ability.cs.meta | 0 .../Character/Abilities/AbilityData.cs | 45 ++++++ .../Character/Abilities/AbilityData.cs.meta | 11 ++ .../Scripts/Character/Abilities/Boomerang.cs | 28 ++++ .../Character/Abilities/Boomerang.cs.meta | 11 ++ .../Scripts/Character/Abilities/Pistols.cs | 54 ++++++- .../Abilities/Pistols_obsolete.cs} | 2 +- .../Abilities/Pistols_obsolete.cs.meta} | 0 .../{ => Character}/Abilities/Radio.cs | 0 .../{ => Character}/Abilities/Radio.cs.meta | 0 .../Character/Abilities/Ultraviolet.cs | 26 ++++ .../Abilities/Ultraviolet.cs.meta | 0 19 files changed, 494 insertions(+), 109 deletions(-) create mode 100644 ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab create mode 100644 ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab.meta create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset.meta rename ldjam50/Assets/Scripts/{ => Character/Abilities}/Ability.cs (65%) rename ldjam50/Assets/Scripts/{ => Character/Abilities}/Ability.cs.meta (100%) create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs.meta create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs.meta rename ldjam50/Assets/Scripts/{Abilities/Pistol.cs => Character/Abilities/Pistols_obsolete.cs} (96%) rename ldjam50/Assets/Scripts/{Abilities/Pistol.cs.meta => Character/Abilities/Pistols_obsolete.cs.meta} (100%) rename ldjam50/Assets/Scripts/{ => Character}/Abilities/Radio.cs (100%) rename ldjam50/Assets/Scripts/{ => Character}/Abilities/Radio.cs.meta (100%) create mode 100644 ldjam50/Assets/Scripts/Character/Abilities/Ultraviolet.cs rename ldjam50/Assets/Scripts/{ => Character}/Abilities/Ultraviolet.cs.meta (100%) diff --git a/ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab b/ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab new file mode 100644 index 0000000..8cb6e75 --- /dev/null +++ b/ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab @@ -0,0 +1,132 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2523660140771243756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3423613101396630199} + - component: {fileID: 4810735146764604092} + m_Layer: 0 + m_Name: Effect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3423613101396630199 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523660140771243756} + 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: 4281435104574534168} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4810735146764604092 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2523660140771243756} + 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: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -7223500524570698268, guid: d1724c2207cc7934580992ce9d42f6a7, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.5, y: 0.5} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &9166775571681944875 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4281435104574534168} + - component: {fileID: 7145043599925644736} + m_Layer: 0 + m_Name: Boomerang + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4281435104574534168 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9166775571681944875} + 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: + - {fileID: 3423613101396630199} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7145043599925644736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9166775571681944875} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad610f07ccdc27cd5952628b5fee56eb, type: 3} + m_Name: + m_EditorClassIdentifier: + effect: {fileID: 2523660140771243756} diff --git a/ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab.meta b/ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab.meta new file mode 100644 index 0000000..3a463f7 --- /dev/null +++ b/ldjam50/Assets/Prefabs/Abilities/Boomerang.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d5bc25014d7378953bd4154f297a4e01 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Prefabs/Abilities/Pistol.prefab b/ldjam50/Assets/Prefabs/Abilities/Pistol.prefab index 77b243d..4d3b623 100644 --- a/ldjam50/Assets/Prefabs/Abilities/Pistol.prefab +++ b/ldjam50/Assets/Prefabs/Abilities/Pistol.prefab @@ -11,8 +11,7 @@ GameObject: - component: {fileID: 4291895258293432843} - component: {fileID: 4864008898460965936} - component: {fileID: 6102265118150421119} - - component: {fileID: 463036853569761210} - - component: {fileID: 4664501316419986786} + - component: {fileID: 2449486384176756105} m_Layer: 0 m_Name: Bullet m_TagString: Untagged @@ -28,8 +27,9 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6196285449860538992} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.15, y: -0.48, z: 1.3160809} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4220328572880531123} m_RootOrder: 0 @@ -45,6 +45,7 @@ SpriteRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -111,40 +112,27 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 0.3, y: 0.3} m_EdgeRadius: 0 ---- !u!95 &463036853569761210 -Animator: - serializedVersion: 3 +--- !u!50 &2449486384176756105 +Rigidbody2D: + serializedVersion: 4 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6196285449860538992} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: d4a2557aeec98284989b3daa00f15042, type: 2} - m_CullingMode: 0 - m_UpdateMode: 1 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!114 &4664501316419986786 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6196285449860538992} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ffa843d3684e77f44a8bdc2130bf7205, type: 3} - m_Name: - m_EditorClassIdentifier: - attackSpeed: 0 - damage: 0 - speed: 0 + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.0001 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 0 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 --- !u!1 &6863736067666425520 GameObject: m_ObjectHideFlags: 0 @@ -154,6 +142,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4220328572880531123} + - component: {fileID: 1525017837818058799} m_Layer: 0 m_Name: Pistol m_TagString: Untagged @@ -169,10 +158,24 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6863736067666425520} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.8834, y: 0.72714, z: -2.1158} - m_LocalScale: {x: 1.6076, y: 1.6076, z: 1.6076} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4291895258293432843} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1525017837818058799 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863736067666425520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48ea894e952344d99609759531dd0e12, type: 3} + m_Name: + m_EditorClassIdentifier: + bullet: {fileID: 6196285449860538992} diff --git a/ldjam50/Assets/Prefabs/Abilities/Ultraviolet.prefab b/ldjam50/Assets/Prefabs/Abilities/Ultraviolet.prefab index 73dfa52..ecd2952 100644 --- a/ldjam50/Assets/Prefabs/Abilities/Ultraviolet.prefab +++ b/ldjam50/Assets/Prefabs/Abilities/Ultraviolet.prefab @@ -10,11 +10,8 @@ GameObject: m_Component: - component: {fileID: 4291895258293432843} - component: {fileID: 4864008898460965936} - - component: {fileID: 6102265118150421119} - - component: {fileID: 3579090901325787678} - - component: {fileID: 463036853569761210} m_Layer: 0 - m_Name: Square + m_Name: Effect m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -27,9 +24,10 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6196285449860538992} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.15, y: -0.48, z: 1.3160809} - m_LocalScale: {x: 8.2, y: 0.36, z: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 5.3329673, y: 0.36, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4220328572880531123} m_RootOrder: 0 @@ -45,6 +43,7 @@ SpriteRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -85,66 +84,6 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 ---- !u!61 &6102265118150421119 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6196285449860538992} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0.00081826746, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0.5, y: 0.5} - oldSize: {x: 0.5, y: 0.5} - newSize: {x: 1, y: 1} - adaptiveTilingThreshold: 0.5 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 0.5, y: 0.3} - m_EdgeRadius: 0 ---- !u!114 &3579090901325787678 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6196285449860538992} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 49f585561ea104de189705939209031c, type: 3} - m_Name: - m_EditorClassIdentifier: - beam: {fileID: 6196285449860538992} - rotationSpeed: 100 - damage: 35 ---- !u!95 &463036853569761210 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6196285449860538992} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: d4a2557aeec98284989b3daa00f15042, type: 2} - m_CullingMode: 0 - m_UpdateMode: 1 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 --- !u!1 &6863736067666425520 GameObject: m_ObjectHideFlags: 0 @@ -154,6 +93,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4220328572880531123} + - component: {fileID: 7877685981569377011} + - component: {fileID: 3519919980724110274} m_Layer: 0 m_Name: Ultraviolet m_TagString: Untagged @@ -169,10 +110,57 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6863736067666425520} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.8834, y: 0.72714, z: -2.1158} - m_LocalScale: {x: 1.6076, y: 1.6076, z: 1.6076} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4291895258293432843} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7877685981569377011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863736067666425520} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49f585561ea104de189705939209031c, type: 3} + m_Name: + m_EditorClassIdentifier: + abilityData: + baseDamage: 0 + enhancedDamage: 0 + rechargeTime: 0 + damageSpeed: 0 + effectPrefab: {fileID: 0} + effect: {fileID: 6196285449860538992} + rotationSpeed: 3.9 +--- !u!61 &3519919980724110274 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863736067666425520} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 1.3562081, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0.5} + oldSize: {x: 0.5, y: 0.5} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 2.7133794, y: 0.14908779} + m_EdgeRadius: 0 diff --git a/ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset b/ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset new file mode 100644 index 0000000..4082b7a --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset @@ -0,0 +1,80 @@ +%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: 0} + m_Name: AbilitiesData + m_EditorClassIdentifier: Assembly-CSharp::AbilitiesData + ultraviolet: + baseDamage: 75 + enhancedDamage: 150 + rechargeTime: 1 + damageSpeed: 2 + effectPrefab: {fileID: 0} + pistols: + baseDamage: 50 + enhancedDamage: 100 + rechargeTime: 1.5 + damageSpeed: 1.75 + effectPrefab: {fileID: 0} + boomerang: + baseDamage: 25 + enhancedDamage: 50 + rechargeTime: 2 + damageSpeed: 2.5 + effectPrefab: {fileID: 0} + flamethrower: + baseDamage: 100 + enhancedDamage: 200 + rechargeTime: 1 + damageSpeed: 2 + effectPrefab: {fileID: 0} + radio: + baseDamage: 50 + enhancedDamage: 75 + rechargeTime: 1 + damageSpeed: 2.5 + effectPrefab: {fileID: 0} + robot: + baseDamage: 75 + enhancedDamage: 150 + rechargeTime: 3 + damageSpeed: 3 + effectPrefab: {fileID: 0} + shotgun: + baseDamage: 100 + enhancedDamage: 200 + rechargeTime: 2 + damageSpeed: 0 + effectPrefab: {fileID: 0} + artillery: + baseDamage: 0 + enhancedDamage: 0 + rechargeTime: 15 + damageSpeed: 0 + effectPrefab: {fileID: 0} + veryHotSuit: + baseDamage: 0 + enhancedDamage: 0 + rechargeTime: 0 + damageSpeed: 0 + effectPrefab: {fileID: 0} + iceRifle: + baseDamage: 10 + enhancedDamage: 50 + rechargeTime: 2 + damageSpeed: 0 + effectPrefab: {fileID: 0} + miniRockets: + baseDamage: 50 + enhancedDamage: 175 + rechargeTime: 1.5 + damageSpeed: 0.5 + effectPrefab: {fileID: 0} diff --git a/ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset.meta b/ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset.meta new file mode 100644 index 0000000..e655eed --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/AbilitiesData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f9708f6985662f3d9fd93ddec0ad1a0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Ability.cs b/ldjam50/Assets/Scripts/Character/Abilities/Ability.cs similarity index 65% rename from ldjam50/Assets/Scripts/Ability.cs rename to ldjam50/Assets/Scripts/Character/Abilities/Ability.cs index 22de237..187c368 100644 --- a/ldjam50/Assets/Scripts/Ability.cs +++ b/ldjam50/Assets/Scripts/Character/Abilities/Ability.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using UnityEngine; -public class Ability : MonoBehaviour +public abstract class Ability : MonoBehaviour { } diff --git a/ldjam50/Assets/Scripts/Ability.cs.meta b/ldjam50/Assets/Scripts/Character/Abilities/Ability.cs.meta similarity index 100% rename from ldjam50/Assets/Scripts/Ability.cs.meta rename to ldjam50/Assets/Scripts/Character/Abilities/Ability.cs.meta diff --git a/ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs b/ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs new file mode 100644 index 0000000..aebdce8 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[Serializable] +public struct AbilityData +{ + public float baseDamage; + public float enhancedDamage; + public float rechargeTime; + public float damageSpeed; + public GameObject effectPrefab; +} + +[CreateAssetMenu(fileName = "AbilitiesData", menuName = "Game Data/Abilities")] +public class AbilitiesData : ScriptableObject +{ + public AbilityData ultraviolet; + public AbilityData pistols; + public AbilityData boomerang; + public AbilityData flamethrower; + public AbilityData radio; + public AbilityData robot; + public AbilityData shotgun; + public AbilityData artillery; + public AbilityData veryHotSuit; + public AbilityData iceRifle; + public AbilityData miniRockets; +} +/* +enum Abilities +{ + Ultraviolet, + Pistols, + Boomerang, + Flamethrower, + Radio, + Robot, + Shotgun, + Artillery, + VeryHotSuit, + IceRifle, + MiniRockets +} */ \ No newline at end of file diff --git a/ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs.meta b/ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs.meta new file mode 100644 index 0000000..3babacd --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/AbilityData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41acf791a24f6194cb0018b179a37351 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs b/ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs new file mode 100644 index 0000000..93cc122 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Boomerang : Ability +{ + [SerializeField] + private GameObject effect; + + [SerializeField] + private float circleSpeed = 1f; + [SerializeField] + private float forwardSpeed = -1f; + [SerializeField] // Assuming negative Z is towards the camera + private float circleSize = 0.1f; + [SerializeField] + private float circleGrowSpeed = 0.01f; + + private void Update() + { + var xPos = Mathf.Sin(Time.time * circleSpeed) * circleSize; + var yPos = Mathf.Cos(Time.time * circleSpeed) * circleSize; + //var zPos += forwardSpeed * Time.deltaTime; + circleSize += circleGrowSpeed; + effect.transform.position = new Vector3(xPos, yPos, 0); + } + +} diff --git a/ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs.meta b/ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs.meta new file mode 100644 index 0000000..868d5f9 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/Boomerang.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ad610f07ccdc27cd5952628b5fee56eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ldjam50/Assets/Scripts/Character/Abilities/Pistols.cs b/ldjam50/Assets/Scripts/Character/Abilities/Pistols.cs index cdd7177..696013f 100644 --- a/ldjam50/Assets/Scripts/Character/Abilities/Pistols.cs +++ b/ldjam50/Assets/Scripts/Character/Abilities/Pistols.cs @@ -1,7 +1,53 @@ -namespace Character.Abilities +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Pistols : Ability { - public class Pistols + [SerializeField] private readonly AbilityData abilityData; + [SerializeField] private GameObject bullet; + + private void Start() { - + StartCoroutine(ShotBullet()); } -} \ No newline at end of file + + private IEnumerator ShotBullet() + { + var sideNumb = 0; + var shotVector = new Vector2(); + while(true) + { + yield return new WaitForSeconds(.5f); + + var newBullet = Instantiate(bullet); + newBullet.SetActive(true); + newBullet.transform.position = this.transform.position; + + shotVector = sideNumb switch + { + 0 => new Vector2(0, 1), + 1 => new Vector2(1, 1), + 2 => new Vector2(1, 0), + 3 => new Vector2(1, -1), + 4 => new Vector2(0, -1), + 5 => new Vector2(-1, -1), + 6 => new Vector2(-1, 0), + 7 => new Vector2(-1, 1), + _ => shotVector + }; + + shotVector = shotVector / 50; + newBullet.GetComponent().AddForce(shotVector); + if (sideNumb >= 7) + { + sideNumb = 0; + } + else + { + sideNumb++; + } + } + } +} diff --git a/ldjam50/Assets/Scripts/Abilities/Pistol.cs b/ldjam50/Assets/Scripts/Character/Abilities/Pistols_obsolete.cs similarity index 96% rename from ldjam50/Assets/Scripts/Abilities/Pistol.cs rename to ldjam50/Assets/Scripts/Character/Abilities/Pistols_obsolete.cs index 68155d0..c35ac90 100644 --- a/ldjam50/Assets/Scripts/Abilities/Pistol.cs +++ b/ldjam50/Assets/Scripts/Character/Abilities/Pistols_obsolete.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using UnityEngine; -public class Pistol: MonoBehaviour +public class Pistols_obsolete: Ability { [SerializeField] private GameObject bullet; diff --git a/ldjam50/Assets/Scripts/Abilities/Pistol.cs.meta b/ldjam50/Assets/Scripts/Character/Abilities/Pistols_obsolete.cs.meta similarity index 100% rename from ldjam50/Assets/Scripts/Abilities/Pistol.cs.meta rename to ldjam50/Assets/Scripts/Character/Abilities/Pistols_obsolete.cs.meta diff --git a/ldjam50/Assets/Scripts/Abilities/Radio.cs b/ldjam50/Assets/Scripts/Character/Abilities/Radio.cs similarity index 100% rename from ldjam50/Assets/Scripts/Abilities/Radio.cs rename to ldjam50/Assets/Scripts/Character/Abilities/Radio.cs diff --git a/ldjam50/Assets/Scripts/Abilities/Radio.cs.meta b/ldjam50/Assets/Scripts/Character/Abilities/Radio.cs.meta similarity index 100% rename from ldjam50/Assets/Scripts/Abilities/Radio.cs.meta rename to ldjam50/Assets/Scripts/Character/Abilities/Radio.cs.meta diff --git a/ldjam50/Assets/Scripts/Character/Abilities/Ultraviolet.cs b/ldjam50/Assets/Scripts/Character/Abilities/Ultraviolet.cs new file mode 100644 index 0000000..bf1ccc6 --- /dev/null +++ b/ldjam50/Assets/Scripts/Character/Abilities/Ultraviolet.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Ultraviolet : Ability +{ + [SerializeField] private readonly AbilityData abilityData; + [SerializeField] private GameObject effect; + [Range(0,200)] + [SerializeField] private float rotationSpeed; + + + private void Update() + { + effect.transform.Rotate(new Vector3(0,0,1) * Time.deltaTime * rotationSpeed); + } + + void OnTriggerEnter2D(Collider2D col) + { + if (col.gameObject.CompareTag("Mob")) + { + //col.gameObject.GetComponent().SendMessage("ApplyDamage", damage); + } + } +} diff --git a/ldjam50/Assets/Scripts/Abilities/Ultraviolet.cs.meta b/ldjam50/Assets/Scripts/Character/Abilities/Ultraviolet.cs.meta similarity index 100% rename from ldjam50/Assets/Scripts/Abilities/Ultraviolet.cs.meta rename to ldjam50/Assets/Scripts/Character/Abilities/Ultraviolet.cs.meta