BEHOLD, MY SUPER LASER PISS

This commit is contained in:
reisenlol 2026-01-30 02:26:51 -08:00
parent 084aada510
commit e29208a2e5
No known key found for this signature in database
23 changed files with 760 additions and 20 deletions

View file

@ -81,7 +81,43 @@
"name": "Sprint",
"type": "Button",
"id": "641cd816-40e6-41b4-8c3d-04687c349290",
"expectedControlType": "Button",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "MainAttack",
"type": "Button",
"id": "c84c947a-28a1-419c-857f-510e8096f94a",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "SecondaryAttack",
"type": "Button",
"id": "2478fbe8-6cdf-4fe0-9b5f-17bab72b1c06",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "SpellA",
"type": "Button",
"id": "dd1c4a00-f1a5-488f-bdb5-71e4a8686563",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "SpellB",
"type": "Button",
"id": "77b54140-a53c-4b5f-8744-da33e771bf47",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
@ -472,6 +508,50 @@
"action": "Crouch",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "9a5e1492-fcd2-43e5-9021-8454833a068b",
"path": "<Mouse>/leftButton",
"interactions": "",
"processors": "",
"groups": ";Keyboard&Mouse",
"action": "MainAttack",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "3b70ca57-d376-43f0-87ea-11eeb37754a7",
"path": "<Mouse>/rightButton",
"interactions": "",
"processors": "",
"groups": "",
"action": "SecondaryAttack",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "56972522-50f9-40e3-abbb-34e1a1fb5b62",
"path": "<Keyboard>/q",
"interactions": "",
"processors": "",
"groups": "",
"action": "SpellA",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "9e433065-68e7-4473-9b49-835f094757dc",
"path": "<Keyboard>/e",
"interactions": "",
"processors": "",
"groups": "",
"action": "SpellB",
"isComposite": false,
"isPartOfComposite": false
}
]
},

View file

@ -0,0 +1,182 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4806008101797467748
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8258649627709469250}
- component: {fileID: 6349442989841225491}
- component: {fileID: 4462715779770199878}
- component: {fileID: 4942254205620830605}
- component: {fileID: 41144518337917555}
m_Layer: 7
m_Name: BasicProjectile
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8258649627709469250
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4806008101797467748}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.6, y: 0.2, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &6349442989841225491
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4806008101797467748}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
m_Color: {r: 0.5518868, g: 0.89665896, 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: 0
--- !u!50 &4462715779770199878
Rigidbody2D:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4806008101797467748}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDamping: 0
m_AngularDamping: 0.05
m_GravityScale: 0
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!61 &4942254205620830605
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4806008101797467748}
m_Enabled: 1
serializedVersion: 3
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_CompositeOperation: 0
m_CompositeOrder: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1, y: 1}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!114 &41144518337917555
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4806008101797467748}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e66b3403d93ec8803822e3a85537224b, type: 3}
m_Name:
m_EditorClassIdentifier:
damage: 0
speed: 0
pierceAmount: 0
lifetime: 0
rb: {fileID: 4462715779770199878}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: c8c4bd2326cbed637aa720d1a4d73968
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,89 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6182044071860294324
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4986471857814220672}
- component: {fileID: 4250140839191994890}
m_Layer: 0
m_Name: BeamObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4986471857814220672
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6182044071860294324}
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!212 &4250140839191994890
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6182044071860294324}
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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: 0

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5c95f1061d0b0a13694b57cb8a14866c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -307,8 +307,8 @@ MonoBehaviour:
- {fileID: 5382070844028718038}
- {fileID: 1261620358221650041}
- {fileID: 2490025746165144143}
forwardPercent: 45
strafePercent: 55
forwardPercent: 60
strafePercent: 40
--- !u!1 &7992963443241331386
GameObject:
m_ObjectHideFlags: 0

View file

@ -0,0 +1,54 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3204262992054338593
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6210518781829362723}
- component: {fileID: 8579369158027197764}
m_Layer: 0
m_Name: MagicMissile
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6210518781829362723
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3204262992054338593}
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 &8579369158027197764
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3204262992054338593}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62c2c7dce05d07c06b237843ff48ab2e, type: 3}
m_Name:
m_EditorClassIdentifier:
abilityName: Magic Missile
thisPlayer: {fileID: 0}
cooldown: 0.2
accuracy: 1
bulletLifetime: 3
damage: 5
projectileSpeed: 16
projectile: {fileID: 41144518337917555, guid: c8c4bd2326cbed637aa720d1a4d73968, type: 3}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d695e39a8ed83e67aa09d75b33cf7bb3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -526,6 +526,91 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &3916617359490499219
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150015966705364997}
- component: {fileID: 7002501187268097541}
- component: {fileID: 4421559795750709312}
m_Layer: 0
m_Name: AbilityHandler
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5150015966705364997
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3916617359490499219}
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: 5661264056639479186}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7002501187268097541
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3916617359490499219}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e4cb2f99b870cbec6b3f8e40a997b596, type: 3}
m_Name:
m_EditorClassIdentifier:
inputHandler: {fileID: 4421559795750709312}
thisPlayer: {fileID: 5275979051295637757}
mainAttack: {fileID: 8579369158027197764, guid: d695e39a8ed83e67aa09d75b33cf7bb3, type: 3}
secondaryAttack: {fileID: 8579369158027197764, guid: d695e39a8ed83e67aa09d75b33cf7bb3, type: 3}
spellA: {fileID: 2212103048918046095, guid: 2d849b52879286a90a56fa3955e0adb6, type: 3}
spellB: {fileID: 8579369158027197764, guid: d695e39a8ed83e67aa09d75b33cf7bb3, type: 3}
mainAttackInstance: {fileID: 0}
secondaryAttackInstance: {fileID: 0}
spellAInstance: {fileID: 0}
spellBInstance: {fileID: 0}
--- !u!114 &4421559795750709312
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3916617359490499219}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actions: {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
m_NotificationBehavior: 0
m_UIInputModule: {fileID: 0}
m_DeviceLostEvent:
m_PersistentCalls:
m_Calls: []
m_DeviceRegainedEvent:
m_PersistentCalls:
m_Calls: []
m_ControlsChangedEvent:
m_PersistentCalls:
m_Calls: []
m_ActionEvents: []
m_NeverAutoSwitchControlSchemes: 0
m_DefaultControlScheme:
m_DefaultActionMap: Player
m_SplitScreenIndex: -1
m_Camera: {fileID: 0}
--- !u!1 &5080576259360811646
GameObject:
m_ObjectHideFlags: 0
@ -541,7 +626,7 @@ GameObject:
- component: {fileID: 5275979051295637757}
m_Layer: 6
m_Name: Marisa
m_TagString: Untagged
m_TagString: Friendly
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
@ -563,6 +648,7 @@ Transform:
- {fileID: 7862409553682532041}
- {fileID: 3445211528256210067}
- {fileID: 9200583498738940138}
- {fileID: 5150015966705364997}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &8885222195297553295
@ -706,12 +792,16 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
entityName: Marisa
sprite: {fileID: 8885222195297553295}
stalled: 0
invincible: 0
health: 0
maxHealth: 0
health: 100
maxHealth: 100
isFacingRight: 0
rb: {fileID: -8972317287717925794}
speed: 8
cam: {fileID: 0}
mouseWorldPos: {x: 0, y: 0}
--- !u!1 &6396436912902618782
GameObject:
m_ObjectHideFlags: 0

View file

@ -0,0 +1,56 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3204262992054338593
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6210518781829362723}
- component: {fileID: 2212103048918046095}
m_Layer: 0
m_Name: MasterSpark
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6210518781829362723
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3204262992054338593}
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 &2212103048918046095
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3204262992054338593}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0cf7f93f057ff904b45c1d01f3de323, type: 3}
m_Name:
m_EditorClassIdentifier:
abilityName: Master Spark
thisPlayer: {fileID: 0}
canCooldown: 1
cooldown: 1
length: 100
width: 2
duration: 4
beamObject: {fileID: 6182044071860294324, guid: 5c95f1061d0b0a13694b57cb8a14866c, type: 3}
turnSpeed: 10
offset: 0.5

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2d849b52879286a90a56fa3955e0adb6
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -132,17 +132,13 @@ PrefabInstance:
value: Marisa
objectReference: {fileID: 0}
- target: {fileID: 5080576259360811646, guid: 8764555a5fdde3428903d7ac06f8ff7f, type: 3}
propertyPath: m_TagString
value: Friendly
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5275979051295637757, guid: 8764555a5fdde3428903d7ac06f8ff7f, type: 3}
propertyPath: health
value: 100
objectReference: {fileID: 0}
- target: {fileID: 5275979051295637757, guid: 8764555a5fdde3428903d7ac06f8ff7f, type: 3}
propertyPath: maxHealth
value: 100
objectReference: {fileID: 0}
propertyPath: cam
value:
objectReference: {fileID: 519420031}
- target: {fileID: 5661264056639479186, guid: 8764555a5fdde3428903d7ac06f8ff7f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
@ -952,6 +948,10 @@ PrefabInstance:
propertyPath: m_Name
value: Enemy
objectReference: {fileID: 0}
- target: {fileID: 7987017199152692169, guid: 063e01ce3891d882e88d10b67e7f9f7b, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8365993665657711315, guid: 063e01ce3891d882e88d10b67e7f9f7b, type: 3}
propertyPath: m_LocalPosition.x
value: -4.103

View file

@ -51,4 +51,8 @@ public class Enemy : Entity
FlipSprite(directionToMove);
}
}
protected override void OnKillEffects()
{
Destroy(gameObject);
}
}

View file

@ -40,7 +40,6 @@ public class Entity : MonoBehaviour
public void TakeDamage(float damage)
{
health -= damage;
health = Mathf.Clamp(health, 0, maxHealth);
if (health < 0)
{
OnKillEffects();

View file

@ -0,0 +1,20 @@
using UnityEngine;
public class FireBullet : PlayerAbility
{
public float accuracy;
public float bulletLifetime;
public float damage;
public float projectileSpeed;
[SerializeField] private Projectile projectile;
protected override void AbilityEffects()
{
Projectile newProjectile = Instantiate(projectile, transform.position, transform.rotation);
newProjectile.damage = damage;
newProjectile.speed = projectileSpeed;
newProjectile.lifetime = bulletLifetime;
newProjectile.RotateToTarget(thisPlayer.mouseWorldPos);
newProjectile.transform.Rotate(0, 0, Random.Range(-accuracy, accuracy));
newProjectile.tag = thisPlayer.tag;
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 62c2c7dce05d07c06b237843ff48ab2e

60
Assets/Scripts/Laser.cs Normal file
View file

@ -0,0 +1,60 @@
using System;
using Core.Extensions;
using UnityEngine;
public class Laser : PlayerAbility
{
[Header("Laser Properties")]
public float length;
public float width;
public float duration;
private float currentDuration;
[Header("Beam")]
[SerializeField] private GameObject beamObject;
private GameObject beamObjectInstance;
public float turnSpeed;
public float offset;
private void Start()
{
CreateBeam();
}
protected override void AbilityEffects()
{
canCooldown = false;
currentDuration = duration;
beamObjectInstance.SetActive(true);
transform.Lookat2D(thisPlayer.mouseWorldPos);
}
protected override void Update()
{
if (currentDuration > 0)
{
Vector3 direction = (thisPlayer.mouseWorldPos - (Vector2)transform.position).normalized;
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.RotateTowards(beamObjectInstance.transform.rotation, Quaternion.Euler(0,0,angle), turnSpeed * Time.deltaTime);
currentDuration -= Time.deltaTime;
if (currentDuration <= 0)
{
canCooldown = true;
beamObjectInstance.SetActive(false);
}
}
}
private void CreateBeam()
{
beamObjectInstance = Instantiate(beamObject, transform.position, Quaternion.identity);
beamObjectInstance.transform.SetParent(transform);
beamObjectInstance.transform.localScale = new Vector3(length, width, 1);
beamObjectInstance.transform.Translate(Vector3.right * (beamObjectInstance.transform.localScale.x * 0.5f) + new Vector3(offset, 0, 0));
beamObjectInstance.SetActive(false);
}
private void DetectEnemies()
{
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d0cf7f93f057ff904b45c1d01f3de323

View file

@ -3,6 +3,14 @@ using UnityEngine;
public class Marisa : Entity
{
[Header("Mouse")]
[SerializeField] private Camera cam;
public Vector2 mouseWorldPos;
private void Update()
{
mouseWorldPos = cam.ScreenToWorldPoint(Input.mousePosition);
}
protected override void FixedUpdate()
{
moveDirection = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));

View file

@ -1,6 +1,52 @@
using System;
using UnityEngine;
using UnityEngine.InputSystem;
public class MarisaAbilityHandler : MonoBehaviour
{
[SerializeField] private PlayerInput inputHandler;
[SerializeField] private Marisa thisPlayer;
[Header("Abilities")] //maybe have to make them public for when you're changing out abilities
[SerializeField] private PlayerAbility mainAttack;
[SerializeField] private PlayerAbility secondaryAttack;
[SerializeField] private PlayerAbility spellA;
[SerializeField] private PlayerAbility spellB;
[Header("Ability Instances")]
public PlayerAbility mainAttackInstance;
public PlayerAbility secondaryAttackInstance;
public PlayerAbility spellAInstance;
public PlayerAbility spellBInstance;
private void Start()
{
mainAttackInstance = Instantiate(mainAttack, transform);
mainAttackInstance.thisPlayer = thisPlayer;
secondaryAttackInstance = Instantiate(secondaryAttack, transform);
secondaryAttackInstance.thisPlayer = thisPlayer;
spellAInstance = Instantiate(spellA, transform);
spellAInstance.thisPlayer = thisPlayer;
spellBInstance = Instantiate(spellB, transform);
spellBInstance.thisPlayer = thisPlayer;
}
private void Update()
{
if (inputHandler.actions["MainAttack"].inProgress)
{
mainAttackInstance.TryAbility();
}
else if (inputHandler.actions["SecondaryAttack"].inProgress)
{
secondaryAttackInstance.TryAbility();
}
else if (inputHandler.actions["SpellA"].inProgress)
{
spellAInstance.TryAbility();
}
else if (inputHandler.actions["SpellB"].inProgress)
{
spellBInstance.TryAbility();
}
}
}

View file

@ -0,0 +1,16 @@
using UnityEngine;
public class MasterSpark : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}

View file

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e3b3742e855c4c7b499ab482efa2143e

View file

@ -5,20 +5,22 @@ public class PlayerAbility : MonoBehaviour
{
[Header("Identification")]
public string abilityName;
[Header("Cooldown")]
public Marisa thisPlayer;
[Header("Cooldown")]
public bool canCooldown = true;
public float cooldown;
private float currentCooldown;
public void TryAbility()
{
if (currentCooldown <= 0)
if (currentCooldown <= 0 && canCooldown)
{
currentCooldown = cooldown;
AbilityEffects();
}
}
protected void AbilityEffects()
protected virtual void AbilityEffects()
{
}