Bugfix save/load equipments & boss update

- save/load equip and inventory correctly using character name
- added boss behaviours
- added boss unique abilities
This commit is contained in:
Pedro Gomes 2024-07-18 14:57:20 +01:00
parent 410e28e046
commit 981037c83c
54 changed files with 2273 additions and 117 deletions

View File

@ -60,7 +60,7 @@ namespace Kryz.CharacterStats.Examples
{
equipmentSlots[i].Item = null;
equipmentData.equippedItems[i] = -1;
PlayerDataHandler.Instance.SaveCharacterEquipmentData(PlayerDataHandler.Instance.currentPlayerName.Value, PhotonNetwork.NickName, equipmentData);
PlayerDataHandler.Instance.SaveCharacterEquipmentData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value, equipmentData);
return true;
}
}
@ -74,7 +74,7 @@ namespace Kryz.CharacterStats.Examples
public void LoadEquipment()
{
equipmentData = PlayerDataHandler.Instance.LoadCharacterEquipmentData(PlayerDataHandler.Instance.currentPlayerName.Value, PhotonNetwork.NickName);
equipmentData = PlayerDataHandler.Instance.LoadCharacterEquipmentData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value);
if (equipmentData != null)
{

View File

@ -98,7 +98,7 @@ namespace Kryz.CharacterStats.Examples
if (!PhotonNetwork.InRoom) return;
if (!shouldSave) return;
PlayerDataHandler.Instance.SaveCharacterInventoryData(PlayerDataHandler.Instance.currentPlayerName.Value, PhotonNetwork.NickName, inventoryData);
PlayerDataHandler.Instance.SaveCharacterInventoryData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value, inventoryData);
}
public bool AddItem(Item item)
@ -129,7 +129,7 @@ namespace Kryz.CharacterStats.Examples
public void LoadInventory()
{
inventoryData = PlayerDataHandler.Instance.LoadCharacterInventoryData(PlayerDataHandler.Instance.currentPlayerName.Value, PhotonNetwork.NickName);
inventoryData = PlayerDataHandler.Instance.LoadCharacterInventoryData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value);
if (inventoryData != null)
{

View File

@ -2050,6 +2050,8 @@ MonoBehaviour:
- {fileID: 11400000, guid: b2720497081a6e349a7988604c2376e5, type: 2}
- {fileID: 11400000, guid: f3628bf368b593d488559a00aef758a6, type: 2}
- {fileID: 11400000, guid: 96c81c820f0bfe747af956cccd0f0ba4, type: 2}
- {fileID: 11400000, guid: 01dd8dfc3c72bec45a8a93e9c11d3386, type: 2}
- {fileID: 11400000, guid: c56aab26a7921ba4989033b7803f61b8, type: 2}
--- !u!1 &7475116341184709871
GameObject:
m_ObjectHideFlags: 0

View File

@ -44,7 +44,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 0e1a6a9f47773b7478bea4aee1a1b64e, type: 3}
m_Texture: {fileID: 2800000, guid: 2388147ac92ccdf4daf05618d51fc4b9, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
@ -95,7 +95,7 @@ Material:
- _ZWrite: 0
m_Colors:
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
- _Color: {r: 4.754717, g: 4.754717, b: 4.754717, a: 1}
- _Color: {r: 0, g: 1.2576069, b: 0.028094111, a: 1}
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}

View File

@ -0,0 +1,107 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &2422702599468711293
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4342903309955547929, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.b
value: 0.022339344
objectReference: {fileID: 0}
- target: {fileID: 4342903309955547929, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4342903309955547929, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4932088507883938021, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_Name
value: Freeze circle
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4984980826245493072, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5052240120113588669, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.b
value: 0.022339344
objectReference: {fileID: 0}
- target: {fileID: 5052240120113588669, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5052240120113588669, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7412180122720427599, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.b
value: 0.022339344
objectReference: {fileID: 0}
- target: {fileID: 7412180122720427599, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7412180122720427599, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8977316153704399556, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.b
value: 0.022339344
objectReference: {fileID: 0}
- target: {fileID: 8977316153704399556, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8977316153704399556, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}
propertyPath: InitialModule.startColor.maxColor.r
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 0e5709a7ddb77924090c112cf73bb98a, type: 3}

View File

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

View File

@ -0,0 +1,694 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &782700448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 782700449}
- component: {fileID: 782700452}
- component: {fileID: 782700451}
- component: {fileID: 782700450}
m_Layer: 30
m_Name: bone (3)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &782700449
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 782700448}
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.6000001, y: 0.6000001, z: 0.60000014}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7928483655664829628}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
--- !u!33 &782700452
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 782700448}
m_Mesh: {fileID: -4206389054832083760, guid: 42b201286bf8d294dbc62208389107c1, type: 3}
--- !u!23 &782700451
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 782700448}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, 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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &782700450
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 782700448}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 0.5, y: 1, z: 0.5}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1520231013
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1520231014}
- component: {fileID: 1520231017}
- component: {fileID: 1520231016}
- component: {fileID: 1520231015}
m_Layer: 30
m_Name: bone (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1520231014
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1520231013}
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.5999999, y: 0.5999999, z: 0.6}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7928483655218864659}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
--- !u!33 &1520231017
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1520231013}
m_Mesh: {fileID: -4206389054832083760, guid: 42b201286bf8d294dbc62208389107c1, type: 3}
--- !u!23 &1520231016
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1520231013}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, 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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &1520231015
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1520231013}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 0.5, y: 1, z: 0.5}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1984156816
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1984156817}
- component: {fileID: 1984156820}
- component: {fileID: 1984156819}
- component: {fileID: 1984156818}
m_Layer: 30
m_Name: bone (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1984156817
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1984156816}
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.6000001, y: 0.6000001, z: 0.60000014}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7928483654978948047}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
--- !u!33 &1984156820
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1984156816}
m_Mesh: {fileID: -4206389054832083760, guid: 42b201286bf8d294dbc62208389107c1, type: 3}
--- !u!23 &1984156819
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1984156816}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, 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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &1984156818
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1984156816}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 0.5, y: 1, z: 0.5}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1986876047
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1986876048}
- component: {fileID: 1986876051}
- component: {fileID: 1986876050}
- component: {fileID: 1986876049}
m_Layer: 30
m_Name: bone (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1986876048
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986876047}
m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7928483655194973338}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1986876051
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986876047}
m_Mesh: {fileID: -4206389054832083760, guid: 42b201286bf8d294dbc62208389107c1, type: 3}
--- !u!23 &1986876050
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986876047}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, 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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &1986876049
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1986876047}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 0.5, y: 1, z: 0.5}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &7928483654978948046
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7928483654978948047}
- component: {fileID: 7928483654978948040}
m_Layer: 30
m_Name: RotationFX (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7928483654978948047
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483654978948046}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: -0.8}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1984156817}
m_Father: {fileID: 7928483655169343005}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!114 &7928483654978948040
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483654978948046}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 602c9323b0af6a0408a4106846f2e0db, type: 3}
m_Name:
m_EditorClassIdentifier:
rotationSpeed: 800
--- !u!1 &7928483655169343004
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7928483655169343005}
- component: {fileID: 7928483655169343006}
m_Layer: 30
m_Name: CenterRotationFX
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7928483655169343005
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655169343004}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.4, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7928483655194973338}
- {fileID: 7928483655218864659}
- {fileID: 7928483655664829628}
- {fileID: 7928483654978948047}
m_Father: {fileID: 6884363192641469725}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7928483655169343006
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655169343004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b50effa256ffa1347ab62872ddb7198c, type: 3}
m_Name:
m_EditorClassIdentifier:
rotationSpeed: 400
rotationAxis: 1
--- !u!1 &7928483655194973337
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7928483655194973338}
- component: {fileID: 7928483655194973339}
m_Layer: 30
m_Name: RotationFX (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7928483655194973338
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655194973337}
m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068}
m_LocalPosition: {x: -0.8, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1986876048}
m_Father: {fileID: 7928483655169343005}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
--- !u!114 &7928483655194973339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655194973337}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 602c9323b0af6a0408a4106846f2e0db, type: 3}
m_Name:
m_EditorClassIdentifier:
rotationSpeed: 800
--- !u!1 &7928483655218864658
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7928483655218864659}
- component: {fileID: 7928483655218864748}
m_Layer: 30
m_Name: RotationFX (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7928483655218864659
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655218864658}
m_LocalRotation: {x: 0.7071068, y: 0.7071068, z: -0, w: 0}
m_LocalPosition: {x: 0.8, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1520231014}
m_Father: {fileID: 7928483655169343005}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 90}
--- !u!114 &7928483655218864748
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655218864658}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 602c9323b0af6a0408a4106846f2e0db, type: 3}
m_Name:
m_EditorClassIdentifier:
rotationSpeed: 800
--- !u!1 &7928483655664829603
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7928483655664829628}
- component: {fileID: 7928483655664829629}
m_Layer: 30
m_Name: RotationFX (3)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7928483655664829628
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655664829603}
m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0.8}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 782700449}
m_Father: {fileID: 7928483655169343005}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90}
--- !u!114 &7928483655664829629
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7928483655664829603}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 602c9323b0af6a0408a4106846f2e0db, type: 3}
m_Name:
m_EditorClassIdentifier:
rotationSpeed: 800
--- !u!1001 &68482319325527474
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 753911528859556808, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: sceneViewId
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556811, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_Name
value: BoneStorm_AreaOfEffectOverTimePrefab (1) Variant
objectReference: {fileID: 0}
- target: {fileID: 753911528859556811, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
--- !u!4 &6884363192641469725 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6879643804943630511, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
m_PrefabInstance: {fileID: 68482319325527474}
m_PrefabAsset: {fileID: 0}

View File

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

View File

@ -0,0 +1,209 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &470382661329200690
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 7667542121639985632}
m_Modifications:
- target: {fileID: 900442325190894454, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: looping
value: 0
objectReference: {fileID: 0}
- target: {fileID: 900442325190894454, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: lengthInSec
value: 21
objectReference: {fileID: 0}
- target: {fileID: 900442325190894454, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: EmissionModule.m_Bursts.Array.data[0].cycleCount
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2151098435929620068, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: looping
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2151098435929620068, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: lengthInSec
value: 21
objectReference: {fileID: 0}
- target: {fileID: 2151098435929620068, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: EmissionModule.m_Bursts.Array.data[0].cycleCount
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5134791462605103922, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: looping
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5134791462605103922, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: lengthInSec
value: 21
objectReference: {fileID: 0}
- target: {fileID: 5134791462605103922, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: InitialModule.startSizeY.scalar
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5134791462605103922, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: InitialModule.startLifetime.scalar
value: 21
objectReference: {fileID: 0}
- target: {fileID: 6704450648203739065, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: looping
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6704450648203739065, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: lengthInSec
value: 21
objectReference: {fileID: 0}
- target: {fileID: 6704450648203739065, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: InitialModule.startLifetime.scalar
value: 21
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7255614061277187117, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7344640299195047320, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: m_Name
value: PoisonCircle
objectReference: {fileID: 0}
- target: {fileID: 7458526898871047360, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: looping
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7458526898871047360, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: lengthInSec
value: 21
objectReference: {fileID: 0}
- target: {fileID: 7458526898871047360, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
propertyPath: InitialModule.startLifetime.scalar
value: 21
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 54d911a1a5e1c8b49ab7eed2261abb87, type: 3}
--- !u!1001 &3824105256851308879
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 753911528859556808, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: sceneViewId
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556810, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 753911528859556811, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_Name
value: PoisonousPool_AreaOfEffectOverTimePrefab Variant
objectReference: {fileID: 0}
- target: {fileID: 753911528859556811, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6879643804943630511, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6879643804943630511, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6879643804943630511, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6879643804943630511, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
--- !u!4 &7667542121639985632 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6879643804943630511, guid: bc291c869c1aa9744be1f56806b8c99d, type: 3}
m_PrefabInstance: {fileID: 3824105256851308879}
m_PrefabAsset: {fileID: 0}

View File

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

View File

@ -269,11 +269,11 @@ GameObject:
- component: {fileID: 480484078}
- component: {fileID: 480484077}
- component: {fileID: 480484079}
- component: {fileID: 4251418928517888926}
- component: {fileID: 2777423608586637068}
- component: {fileID: 7237991582445384820}
- component: {fileID: 7401319000758767395}
- component: {fileID: 8653241535134598925}
- component: {fileID: 1971941847637417572}
m_Layer: 0
m_Name: AngrySkellyPrefab_Boss
m_TagString: Untagged
@ -354,22 +354,23 @@ MonoBehaviour:
m_GameObject: {fileID: 1857032755411982495}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4a375e2d5c6d5fc40a1a1bdf9fcfa9b3, type: 3}
m_Script: {fileID: 11500000, guid: 72fe50e593f8b60449d2d649a8524981, type: 3}
m_Name:
m_EditorClassIdentifier:
experienceOnDeath: {fileID: 11400000, guid: 57959f6a9d7e8ab409d77bd400e80224, type: 2}
isBoss: 1
onBossDead: {fileID: 11400000, guid: bac9f6f93a105804ba6fb0597e9d757c, type: 2}
sightRange: 6
sightRange: 600
sightRangeMultiplierForProjectiles: 0.8
distanceToChangePatrolDestination: 1
patrolAgentSpeed: 1.5
chasingAgentSpeed: 3
chasingAgentSpeed: 3.5
timeBetweenAttacks: 1
photonView: {fileID: 0}
myTag: {fileID: 0}
possibleTargets: []
currentTarget: {fileID: 0}
onBossDead: {fileID: 11400000, guid: bac9f6f93a105804ba6fb0597e9d757c, type: 2}
bossRangedAttacksRange: 6
bossMeleeAttacksRange: 2
--- !u!195 &480484074
NavMeshAgent:
m_ObjectHideFlags: 0
@ -384,7 +385,7 @@ NavMeshAgent:
m_Acceleration: 45
avoidancePriority: 50
m_AngularSpeed: 3600
m_StoppingDistance: 0.8
m_StoppingDistance: 1
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
@ -502,20 +503,6 @@ MonoBehaviour:
onUpdateStatValues:
m_PersistentCalls:
m_Calls: []
--- !u!114 &4251418928517888926
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1857032755411982495}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 055c877ff55897e43919819857bdb572, type: 3}
m_Name:
m_EditorClassIdentifier:
primaryAbility: {fileID: 11400000, guid: 7db71a7a9f2ca1842a5dfd371700c6af, type: 2}
coreAbility: {fileID: 11400000, guid: 7242df20561c87c419bb0e80648290f9, type: 2}
--- !u!136 &2777423608586637068
CapsuleCollider:
m_ObjectHideFlags: 0
@ -656,6 +643,22 @@ MonoBehaviour:
m_Calls: []
startingIncomeModifierPercent: 0
currentIncomeModifierPercent: 0
--- !u!114 &1971941847637417572
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1857032755411982495}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e7566eea03fc97e45bb4d33226368e75, type: 3}
m_Name:
m_EditorClassIdentifier:
meleeAbility: {fileID: 11400000, guid: 3b11712f0ae0c3248b755e23ce4a3dd3, type: 2}
coreAbility: {fileID: 11400000, guid: 7db71a7a9f2ca1842a5dfd371700c6af, type: 2}
ultimateAbility: {fileID: 11400000, guid: 01dd8dfc3c72bec45a8a93e9c11d3386, type: 2}
ultimateCooldown: 4
--- !u!1 &2882927273311943532
GameObject:
m_ObjectHideFlags: 0

View File

@ -355,11 +355,11 @@ GameObject:
- component: {fileID: 419546842284062757}
- component: {fileID: 419546842284062758}
- component: {fileID: 419546842284062756}
- component: {fileID: 4526844801487198549}
- component: {fileID: 2547317405899484615}
- component: {fileID: 7642269519336869515}
- component: {fileID: -1086032526584415113}
- component: {fileID: -3727969525832207149}
- component: {fileID: 2986787240237362979}
m_Layer: 0
m_Name: SkellyMagePrefab_Boss
m_TagString: Untagged
@ -440,22 +440,23 @@ MonoBehaviour:
m_GameObject: {fileID: 2024094060611992148}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4a375e2d5c6d5fc40a1a1bdf9fcfa9b3, type: 3}
m_Script: {fileID: 11500000, guid: 7ddb9c8c3b1670f488982d78eac29893, type: 3}
m_Name:
m_EditorClassIdentifier:
experienceOnDeath: {fileID: 11400000, guid: 57959f6a9d7e8ab409d77bd400e80224, type: 2}
isBoss: 1
onBossDead: {fileID: 11400000, guid: bac9f6f93a105804ba6fb0597e9d757c, type: 2}
sightRange: 6
sightRange: 600
sightRangeMultiplierForProjectiles: 0.8
distanceToChangePatrolDestination: 1
patrolAgentSpeed: 1.5
chasingAgentSpeed: 3
timeBetweenAttacks: 2
timeBetweenAttacks: 1.5
photonView: {fileID: 0}
myTag: {fileID: 0}
possibleTargets: []
currentTarget: {fileID: 0}
onBossDead: {fileID: 11400000, guid: bac9f6f93a105804ba6fb0597e9d757c, type: 2}
bossRangedAttacksRange: 6
bossMeleeAttacksRange: 2
--- !u!195 &419546842284062753
NavMeshAgent:
m_ObjectHideFlags: 0
@ -470,7 +471,7 @@ NavMeshAgent:
m_Acceleration: 45
avoidancePriority: 50
m_AngularSpeed: 3600
m_StoppingDistance: 0.8
m_StoppingDistance: 1
m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 1
m_AutoRepath: 1
@ -588,20 +589,6 @@ MonoBehaviour:
onUpdateStatValues:
m_PersistentCalls:
m_Calls: []
--- !u!114 &4526844801487198549
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2024094060611992148}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 055c877ff55897e43919819857bdb572, type: 3}
m_Name:
m_EditorClassIdentifier:
primaryAbility: {fileID: 11400000, guid: 9b34a79c173c62f4baf36af8c1e1ce41, type: 2}
coreAbility: {fileID: 0}
--- !u!136 &2547317405899484615
CapsuleCollider:
m_ObjectHideFlags: 0
@ -742,6 +729,22 @@ MonoBehaviour:
m_Calls: []
startingIncomeModifierPercent: 0
currentIncomeModifierPercent: 0
--- !u!114 &2986787240237362979
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2024094060611992148}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d6f971f6cdf2b3d4db6fd56cb7dd84c4, type: 3}
m_Name:
m_EditorClassIdentifier:
meleeAbility: {fileID: 11400000, guid: 3b11712f0ae0c3248b755e23ce4a3dd3, type: 2}
coreAbility: {fileID: 11400000, guid: 9b34a79c173c62f4baf36af8c1e1ce41, type: 2}
ultimateAbility: {fileID: 11400000, guid: c56aab26a7921ba4989033b7803f61b8, type: 2}
ultimateCooldown: 4
--- !u!1 &2129182132073812335
GameObject:
m_ObjectHideFlags: 0

View File

@ -370,8 +370,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
experienceOnDeath: {fileID: 11400000, guid: 57959f6a9d7e8ab409d77bd400e80224, type: 2}
isBoss: 0
onBossDead: {fileID: 11400000, guid: bac9f6f93a105804ba6fb0597e9d757c, type: 2}
sightRange: 6
sightRangeMultiplierForProjectiles: 0.8
distanceToChangePatrolDestination: 1

View File

@ -367,11 +367,11 @@ GameObject:
- component: {fileID: 419546842284062757}
- component: {fileID: 419546842284062758}
- component: {fileID: 419546842284062756}
- component: {fileID: 4526844801487198549}
- component: {fileID: 2547317405899484615}
- component: {fileID: 7642269519336869515}
- component: {fileID: 1211498017695856276}
- component: {fileID: 5800511955163066825}
- component: {fileID: 7328867762981057710}
m_Layer: 0
m_Name: SkellyMagePrefab
m_TagString: Untagged
@ -456,8 +456,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
experienceOnDeath: {fileID: 11400000, guid: 57959f6a9d7e8ab409d77bd400e80224, type: 2}
isBoss: 0
onBossDead: {fileID: 11400000, guid: bac9f6f93a105804ba6fb0597e9d757c, type: 2}
sightRange: 6
sightRangeMultiplierForProjectiles: 0.8
distanceToChangePatrolDestination: 1
@ -600,20 +598,6 @@ MonoBehaviour:
onUpdateStatValues:
m_PersistentCalls:
m_Calls: []
--- !u!114 &4526844801487198549
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2024094060611992148}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 055c877ff55897e43919819857bdb572, type: 3}
m_Name:
m_EditorClassIdentifier:
primaryAbility: {fileID: 11400000, guid: 9b34a79c173c62f4baf36af8c1e1ce41, type: 2}
coreAbility: {fileID: 0}
--- !u!136 &2547317405899484615
CapsuleCollider:
m_ObjectHideFlags: 0
@ -754,6 +738,20 @@ MonoBehaviour:
m_Calls: []
startingIncomeModifierPercent: 0
currentIncomeModifierPercent: 0
--- !u!114 &7328867762981057710
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2024094060611992148}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 055c877ff55897e43919819857bdb572, type: 3}
m_Name:
m_EditorClassIdentifier:
primaryAbility: {fileID: 11400000, guid: 9b34a79c173c62f4baf36af8c1e1ce41, type: 2}
coreAbility: {fileID: 0}
--- !u!1 &2129182132073812335
GameObject:
m_ObjectHideFlags: 0

View File

@ -2075,6 +2075,71 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: d16d48fd289401c44980d410c522b025, type: 3}
--- !u!1001 &3305348038826615217
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_RootOrder
value: 36
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869816, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869817, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_Name
value: BoneStorm_AreaOfEffectOverTimePrefab (1)
objectReference: {fileID: 0}
- target: {fileID: 758050341675869817, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 758050341675869818, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
propertyPath: sceneViewId
value: 16
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
--- !u!1001 &4146817702332829155
PrefabInstance:
m_ObjectHideFlags: 0
@ -2270,6 +2335,103 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e6bc5808d58f0ba4fbe3d5674f60b526, type: 3}
--- !u!1001 &6660974608414628975
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 790418086816466244, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: lengthInSec
value: 12
objectReference: {fileID: 0}
- target: {fileID: 1971765371882707030, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: lengthInSec
value: 12
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178372, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_Name
value: PoisonousPool_AreaOfEffectOverTimePrefab
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178372, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_RootOrder
value: 37
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178373, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4568794013455178375, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: sceneViewId
value: 18
objectReference: {fileID: 0}
- target: {fileID: 4739285616444736768, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: lengthInSec
value: 12
objectReference: {fileID: 0}
- target: {fileID: 4739285616444736768, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: InitialModule.startLifetime.scalar
value: 12
objectReference: {fileID: 0}
- target: {fileID: 6597171875365099915, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: lengthInSec
value: 12
objectReference: {fileID: 0}
- target: {fileID: 6597171875365099915, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: InitialModule.startLifetime.scalar
value: 12
objectReference: {fileID: 0}
- target: {fileID: 6991029435946250994, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: lengthInSec
value: 12
objectReference: {fileID: 0}
- target: {fileID: 6991029435946250994, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
propertyPath: InitialModule.startLifetime.scalar
value: 12
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
--- !u!1001 &7116996884322360766
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 20b6871df585a8e4b89f3d5da94d879d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 95d989e2f4b02cc43bd9a6d341246012
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,40 @@
%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: cb14923287afab34b9aa3a618fdba03c, type: 3}
m_Name: NPC_BoneStorm_UltimateAreaOfEffectOverTime
m_EditorClassIdentifier:
Icon: {fileID: 0}
targettingTags:
- {fileID: 11400000, guid: 9e6b298c2ce2856418b205442417a433, type: 2}
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
- {fileID: 11400000, guid: 8b74e81cfcd772243b988990f4a8a634, type: 2}
abilityEffects:
- {fileID: 11400000, guid: 842821b87edc6e741b87c4c74b52f8ec, type: 2}
castTime: 0
manaCost: 10
castableWhileMoving: 0
animationType: 0
aoePrefab: {fileID: 758050341675869817, guid: 5245a1dc9755eec42adf1f51b0c52d08, type: 3}
movementMask:
serializedVersion: 2
m_Bits: 8
lifeSpan: 1
radius: 1.5
shouldResizeVisuals: 0
telegraphDelay: 0
canHitSelf: 0
spawnUnderUser: 0
duration: 3
followUser: 0
followTarget: 1
damageFollowingTarget: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 01dd8dfc3c72bec45a8a93e9c11d3386
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,40 @@
%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: cb14923287afab34b9aa3a618fdba03c, type: 3}
m_Name: NPC_PoisonousPool_UltimateAreaOfEffectOverTime
m_EditorClassIdentifier:
Icon: {fileID: 0}
targettingTags:
- {fileID: 11400000, guid: 9e6b298c2ce2856418b205442417a433, type: 2}
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
- {fileID: 11400000, guid: 52f094018088de54ab9507695f2913b7, type: 2}
abilityEffects:
- {fileID: 11400000, guid: 2193103ba9df3c445a983c74b2d100df, type: 2}
castTime: 0
manaCost: 40
castableWhileMoving: 0
animationType: 1
aoePrefab: {fileID: 4568794013455178372, guid: 40d74aa2e3764cf41b7562c2f9b35399, type: 3}
movementMask:
serializedVersion: 2
m_Bits: 8
lifeSpan: 2
radius: 4
shouldResizeVisuals: 0
telegraphDelay: 0
canHitSelf: 0
spawnUnderUser: 1
duration: 20
followUser: 0
followTarget: 0
damageFollowingTarget: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c56aab26a7921ba4989033b7803f61b8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,35 @@
%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: a5d5cf82dd5c07f438f5809f773372e2, type: 3}
m_Name: NPC_MeleeSlashAbility
m_EditorClassIdentifier:
Icon: {fileID: 21300000, guid: 28a02df1369b7fd4eab040459b0cc450, type: 3}
targettingTags:
- {fileID: 11400000, guid: 9e6b298c2ce2856418b205442417a433, type: 2}
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
- {fileID: 11400000, guid: 8b74e81cfcd772243b988990f4a8a634, type: 2}
- {fileID: 11400000, guid: ff27e4f0bff17a145af826f8ade78c8a, type: 2}
abilityEffects:
- {fileID: 11400000, guid: cd35550f6da48d54092d49fd4a9d0a9b, type: 2}
- {fileID: 11400000, guid: dd7ab8c569a6f914eb4e6674d5ce01dd, type: 2}
castTime: 0.5
manaCost: 0
castableWhileMoving: 0
animationType: 2
slashPrefab: {fileID: 8389547513526139286, guid: b92cdb88e09bf1d47bec31bddd62fe50, type: 3}
regenHealthOnHit: 0
regenManaOnHit: 0
healthOnHit: 2
manaOnHit: 4
lifeSpan: 0.2
range: 3

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 44d3aad893d771343950a3b3cfde096b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 37fb57f50126b4448bce9a795f888fef
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b97057a558ef022458e3753ca54037bb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
%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: 081df6f2fd69b7643a4844062a82871f, type: 3}
m_Name: BoneStorm_InstantTickEffect
m_EditorClassIdentifier:
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
influencingStats:
- {fileID: 11400000, guid: 8b74e81cfcd772243b988990f4a8a634, type: 2}
baseValue: 10
percentStatInfluence: 0.4
AlliedTargetMultiplier: 1
EnemyTargetMultiplier: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 842821b87edc6e741b87c4c74b52f8ec
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
%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: 081df6f2fd69b7643a4844062a82871f, type: 3}
m_Name: PoisonousPool_InstantTickEffect
m_EditorClassIdentifier:
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
influencingStats:
- {fileID: 11400000, guid: 52f094018088de54ab9507695f2913b7, type: 2}
baseValue: 10
percentStatInfluence: 0.4
AlliedTargetMultiplier: 1
EnemyTargetMultiplier: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2193103ba9df3c445a983c74b2d100df
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 233f2fb0f1f6ffb40a23270ade892282
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
%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: 081df6f2fd69b7643a4844062a82871f, type: 3}
m_Name: NPC_AGI_SlashInstantEffect
m_EditorClassIdentifier:
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
influencingStats:
- {fileID: 11400000, guid: ff27e4f0bff17a145af826f8ade78c8a, type: 2}
baseValue: 4
percentStatInfluence: 0.4
AlliedTargetMultiplier: 1
EnemyTargetMultiplier: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: dd7ab8c569a6f914eb4e6674d5ce01dd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,22 @@
%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: 081df6f2fd69b7643a4844062a82871f, type: 3}
m_Name: NPC_STR_SlashInstantEffect
m_EditorClassIdentifier:
tags:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
influencingStats:
- {fileID: 11400000, guid: 8b74e81cfcd772243b988990f4a8a634, type: 2}
baseValue: 4
percentStatInfluence: 0.4
AlliedTargetMultiplier: 1
EnemyTargetMultiplier: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cd35550f6da48d54092d49fd4a9d0a9b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -16,5 +16,7 @@ MonoBehaviour:
- {fileID: 11400000, guid: 4e6f036fb4aad9b428694360fcc62f88, type: 2}
influencingStats:
- {fileID: 11400000, guid: 8b74e81cfcd772243b988990f4a8a634, type: 2}
baseValue: 2
percentStatInfluence: 0.3
baseValue: 10
percentStatInfluence: 0.6
AlliedTargetMultiplier: 1
EnemyTargetMultiplier: 1

View File

@ -85,4 +85,23 @@ public class AreaOfEffectAbility : BaseAbility
networkedAreaOfEffect.Init();
}
public override void Execute(PhotonView user, Taggable userTag, Transform target)
{
base.Execute(user, userTag, target);
instantiatedArea = PhotonNetwork.Instantiate("Abilities/" + aoePrefab.name, target.position, Quaternion.identity);
networkedAreaOfEffect = instantiatedArea.GetComponent<NetworkedAreaOfEffect>();
networkedAreaOfEffect.owner = user;
networkedAreaOfEffect.ownerTag = userTag;
networkedAreaOfEffect.ability = this;
networkedAreaOfEffect.radius = radius;
networkedAreaOfEffect.telegraphDelay = telegraphDelay;
networkedAreaOfEffect.lifeSpan = lifeSpan;
networkedAreaOfEffect.canHitSelf = canHitSelf;
networkedAreaOfEffect.Init();
}
}

View File

@ -8,6 +8,8 @@ public class AreaOfEffectOverTimeAbility : AreaOfEffectAbility
{
public float duration;
public bool followUser;
public bool followTarget;
public bool damageFollowingTarget;
private NetworkedAreaOfEffectOverTime networkedAreaOfEffectOverTime;
@ -21,15 +23,7 @@ public class AreaOfEffectOverTimeAbility : AreaOfEffectAbility
//instantiatedArea.transform.parent = user.transform;
networkedAreaOfEffectOverTime = instantiatedArea.GetComponent<NetworkedAreaOfEffectOverTime>();
networkedAreaOfEffectOverTime.owner = user;
networkedAreaOfEffectOverTime.ownerTag = userTag;
networkedAreaOfEffectOverTime.ability = this;
networkedAreaOfEffectOverTime.radius = radius;
networkedAreaOfEffectOverTime.telegraphDelay = telegraphDelay;
networkedAreaOfEffectOverTime.lifeSpan = lifeSpan;
networkedAreaOfEffectOverTime.duration = duration;
networkedAreaOfEffectOverTime.followUser = followUser;
networkedAreaOfEffectOverTime.canHitSelf = canHitSelf;
SetupValues(user, userTag);
networkedAreaOfEffectOverTime.Init();
return;
@ -40,15 +34,7 @@ public class AreaOfEffectOverTimeAbility : AreaOfEffectAbility
networkedAreaOfEffectOverTime = instantiatedArea.GetComponent<NetworkedAreaOfEffectOverTime>();
networkedAreaOfEffectOverTime.owner = user;
networkedAreaOfEffectOverTime.ownerTag = userTag;
networkedAreaOfEffectOverTime.ability = this;
networkedAreaOfEffectOverTime.radius = radius;
networkedAreaOfEffectOverTime.telegraphDelay = telegraphDelay;
networkedAreaOfEffectOverTime.lifeSpan = lifeSpan;
networkedAreaOfEffectOverTime.duration = duration;
networkedAreaOfEffectOverTime.followUser = followUser;
networkedAreaOfEffectOverTime.canHitSelf = canHitSelf;
SetupValues(user, userTag);
networkedAreaOfEffectOverTime.Init();
}
@ -61,6 +47,26 @@ public class AreaOfEffectOverTimeAbility : AreaOfEffectAbility
networkedAreaOfEffectOverTime = instantiatedArea.GetComponent<NetworkedAreaOfEffectOverTime>();
SetupValues(user, userTag);
networkedAreaOfEffectOverTime.Init();
}
public override void Execute(PhotonView user, Taggable userTag, Transform target)
{
base.Execute(user, userTag, target);
instantiatedArea = PhotonNetwork.Instantiate("Abilities/" + aoePrefab.name, target.position, Quaternion.identity);
networkedAreaOfEffectOverTime = instantiatedArea.GetComponent<NetworkedAreaOfEffectOverTime>();
SetupValues(user, userTag);
networkedAreaOfEffectOverTime.Init(target);
}
private void SetupValues(PhotonView user, Taggable userTag)
{
networkedAreaOfEffectOverTime.owner = user;
networkedAreaOfEffectOverTime.ownerTag = userTag;
networkedAreaOfEffectOverTime.ability = this;
@ -69,9 +75,8 @@ public class AreaOfEffectOverTimeAbility : AreaOfEffectAbility
networkedAreaOfEffectOverTime.lifeSpan = lifeSpan;
networkedAreaOfEffectOverTime.duration = duration;
networkedAreaOfEffectOverTime.followUser = followUser;
networkedAreaOfEffectOverTime.followTarget = followTarget;
networkedAreaOfEffectOverTime.damageFollowingTarget = damageFollowingTarget;
networkedAreaOfEffectOverTime.canHitSelf = canHitSelf;
networkedAreaOfEffectOverTime.Init();
}
}

View File

@ -30,6 +30,10 @@ public class BaseAbility : ScriptableObject
user.GetComponent<Mana>().ChangeValue(-manaCost);
}
public virtual void Execute(PhotonView user, Taggable userTag, Transform target)
{
user.GetComponent<Mana>().ChangeValue(-manaCost);
}
private void OnValidate()
{

View File

@ -37,4 +37,46 @@ public class ProjectileAbility : BaseAbility
networkedProjectile.Init();
}
public override void Execute(PhotonView user, Taggable userTag, Vector3 point)
{
base.Execute(user, userTag, point);
Debug.Log($"Player {user.name} casted {this.name} and spent {manaCost} mana.");
instantiatedProjectile = PhotonNetwork.Instantiate("Abilities/" + projectilePrefab.name, user.GetComponentInChildren<ProjectileSpawnLocationController>().transform.position, user.GetComponentInChildren<ProjectileSpawnLocationController>().transform.rotation);
networkedProjectile = instantiatedProjectile.GetComponent<NetworkedProjectile>();
networkedProjectile.speed = projectileSpeed;
networkedProjectile.owner = user;
networkedProjectile.ownerTag = userTag;
networkedProjectile.ability = this;
networkedProjectile.lifeSpan = lifeSpan;
networkedProjectile.canPierce = canPierce;
networkedProjectile.canHitSelf = canHitSelf;
networkedProjectile.Init();
}
public override void Execute(PhotonView user, Taggable userTag, Transform target)
{
base.Execute(user, userTag, target);
Debug.Log($"Player {user.name} casted {this.name} and spent {manaCost} mana.");
instantiatedProjectile = PhotonNetwork.Instantiate("Abilities/" + projectilePrefab.name, user.GetComponentInChildren<ProjectileSpawnLocationController>().transform.position, user.GetComponentInChildren<ProjectileSpawnLocationController>().transform.rotation);
networkedProjectile = instantiatedProjectile.GetComponent<NetworkedProjectile>();
networkedProjectile.speed = projectileSpeed;
networkedProjectile.owner = user;
networkedProjectile.ownerTag = userTag;
networkedProjectile.ability = this;
networkedProjectile.lifeSpan = lifeSpan;
networkedProjectile.canPierce = canPierce;
networkedProjectile.canHitSelf = canHitSelf;
networkedProjectile.Init();
}
}

View File

@ -44,7 +44,14 @@ public static class GameConstants
{
public static int HealthIntoExperienceMultiplier = 1;
public static int MinimumNumberOfWavesPerRift = 1;
public static int MaximumNumberOfWavesPerRift = 2;
public static float RiftDelayBetweenSpawns = 1f;
public static float BossTargetLockInPhaseDuration = 6f;
public static float BossSearchForNewTargetLockInDuration = 6f;
}

View File

@ -0,0 +1,29 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AngrySkellyBossAbilityBinder : BossAbilityBinder
{
public override void UseMeleeAbility()
{
base.UseMeleeAbility();
}
public override void UseCoreAbility(Vector3 point)
{
if (coreAbility == null) return;
if (mana.EnoughMana(coreAbility.manaCost))
coreAbility.Execute(user, userTag); //projectile
}
public override void UseUltimateAbility(Vector3 point)
{
base.UseUltimateAbility(point);
}
public override void UseUltimateAbility(Transform target)
{
base.UseUltimateAbility(target);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e7566eea03fc97e45bb4d33226368e75
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,57 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AngrySkellyBossController : BossController
{
protected override bool PrimaryMovementBehaviourCheck()
{
return Vector3.Distance(agent.transform.position, currentTarget.transform.position) > bossMeleeAttacksRange;
}
protected override bool SecondHighestPriorityCheck()
{
return base.ThirdHighestPriorityCheck();
}
protected override bool ThirdHighestPriorityCheck()
{
return base.SecondHighestPriorityCheck();
}
protected override void PerformPrimaryMovementBehaviour()
{
base.PerformPrimaryMovementBehaviour();
}
protected override void PerformHighestPriorityAction()
{
base.PerformHighestPriorityAction();
}
protected override void PerformSecondHighestPriorityAction()
{
PerformMeleeAbility();
}
protected override void PerformThirdHighestPriorityAction()
{
PerformCoreAbility();
}
protected override void PerformUltimate()
{
Debug.Log("INSIDE CAN CAST ULTIMATE: " + bossAbilityBinder.CanCastUltimate());
ResetValuesOnAbilityPerformed();
bossAbilityBinder.UseUltimateAbility(currentTarget.transform);
}
protected override void PerformCoreAbility()
{
base.PerformCoreAbility();
}
protected override void PerformMeleeAbility()
{
base.PerformMeleeAbility();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 72fe50e593f8b60449d2d649a8524981
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,105 @@
using Photon.Pun;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BossAbilityBinder : MonoBehaviour
{
[SerializeField] protected BaseAbility meleeAbility;
[SerializeField] protected BaseAbility coreAbility;
[SerializeField] protected BaseAbility ultimateAbility;
[SerializeField] protected float ultimateCooldown;
protected PhotonView user;
protected Taggable userTag;
protected Mana mana;
protected Coroutine ultimateCooldownCoroutine;
protected bool ultimateOnCooldown = true;
protected virtual void Awake()
{
user = GetComponentInParent<PhotonView>();
userTag = GetComponentInParent<Taggable>();
mana = GetComponentInParent<Mana>();
}
private void Start()
{
if (!user.IsMine)
{
this.enabled = false;
return;
}
ultimateCooldownCoroutine = StartCoroutine(UltimateCooldownTimerCoroutine());
}
public virtual void UseMeleeAbility()
{
if (meleeAbility == null) return;
if (mana.EnoughMana(meleeAbility.manaCost))
meleeAbility.Execute(user, userTag);
}
public virtual void UseCoreAbility(Vector3 point)
{
if (coreAbility == null) return;
if (mana.EnoughMana(coreAbility.manaCost))
coreAbility.Execute(user, userTag, point);
}
public virtual void UseUltimateAbility(Vector3 point)
{
if (ultimateAbility == null) return;
if (mana.EnoughMana(ultimateAbility.manaCost))
{
ultimateAbility.Execute(user, userTag, point);
ultimateCooldownCoroutine = StartCoroutine(UltimateCooldownTimerCoroutine());
}
}
public virtual void UseUltimateAbility(Transform target)
{
if (ultimateAbility == null) return;
if (mana.EnoughMana(ultimateAbility.manaCost))
{
ultimateAbility.Execute(user, userTag, target);
ultimateCooldownCoroutine = StartCoroutine(UltimateCooldownTimerCoroutine());
}
}
public bool ValidCoreAbility()
{
return coreAbility != null;
}
public virtual bool CanCastUltimate()
{
return (ultimateCooldownCoroutine == null && mana.EnoughMana(ultimateAbility.manaCost) && !ultimateOnCooldown);
}
public virtual bool CanCastCoreAbility()
{
return mana.EnoughMana(coreAbility.manaCost);
}
protected virtual IEnumerator UltimateCooldownTimerCoroutine()
{
ultimateOnCooldown = true;
yield return new WaitForSeconds(ultimateCooldown);
OnUltimateCooldownReset();
}
protected virtual void OnUltimateCooldownReset()
{
ultimateCooldownCoroutine = null;
ultimateOnCooldown = false;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d6f971f6cdf2b3d4db6fd56cb7dd84c4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +1,268 @@
using Photon.Pun;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BossController : NPCController
{
[SerializeField] private GameEvent onBossDead;
[Header("Boss Related:")]
[SerializeField] protected GameEvent onBossDead;
[SerializeField] protected float bossRangedAttacksRange;
[SerializeField] protected float bossMeleeAttacksRange;
protected BossAbilityBinder bossAbilityBinder;
protected bool lockedInPhase = false;
protected float targetDistance = float.MaxValue;
protected float distance;
protected Taggable resultTarget;
protected float endSearchTime;
protected Collider[] hits;
protected override void Awake()
{
base.Awake();
bossAbilityBinder = GetComponent<BossAbilityBinder>();
}
[PunRPC]
protected override void RPC_OnDeath(bool lootDropped)
{
if (isDead) return;
onBossDead.Raise();
base.RPC_OnDeath(lootDropped);
}
protected override void Start()
{
base.Start();
if (!photonView.IsMine) return;
CheckSurroundings();
LockInTarget(CheckClosestTarget());
}
protected override void Update()
{
if (!photonView.IsMine) return;
if (isDead) return;
if (PrimaryMovementBehaviourCheck())
{
PerformPrimaryMovementBehaviour();
}
else if (agent.remainingDistance <= agent.stoppingDistance)
agent.isStopped = true;
counter += Time.deltaTime;
if (counter >= timeBetweenAttacks)
{
if (HighestPriorityCheck())
{
PerformHighestPriorityAction();
}
else if (SecondHighestPriorityCheck())
{
PerformSecondHighestPriorityAction();
}
else if (ThirdHighestPriorityCheck())
{
PerformThirdHighestPriorityAction();
}
else
{
agent.isStopped = false;
}
}
else
{
agent.isStopped = false;
}
}
protected virtual bool PrimaryMovementBehaviourCheck()
{
return Vector3.Distance(agent.transform.position, currentTarget.transform.position) > (bossRangedAttacksRange * 0.8f);
}
protected virtual bool HighestPriorityCheck()
{
return bossAbilityBinder.CanCastUltimate();
}
protected virtual bool SecondHighestPriorityCheck()
{
return (bossAbilityBinder.CanCastCoreAbility() && agent.remainingDistance <= bossRangedAttacksRange);
}
protected virtual bool ThirdHighestPriorityCheck()
{
return agent.remainingDistance <= bossMeleeAttacksRange;
}
protected virtual void PerformPrimaryMovementBehaviour()
{
patrolDestination = currentTarget.transform.position;
patrolDestination.y = 0f;
agent.SetDestination(patrolDestination);
agent.isStopped = false;
}
protected virtual void PerformHighestPriorityAction()
{
PerformUltimate();
}
protected virtual void PerformSecondHighestPriorityAction()
{
PerformCoreAbility();
}
protected virtual void PerformThirdHighestPriorityAction()
{
PerformMeleeAbility();
}
protected virtual void PerformUltimate()
{
Debug.Log("INSIDE CAN CAST ULTIMATE: " + bossAbilityBinder.CanCastUltimate());
ResetValuesOnAbilityPerformed();
bossAbilityBinder.UseUltimateAbility(currentTarget.transform);
}
protected virtual void PerformCoreAbility()
{
ResetValuesOnAbilityPerformed();
bossAbilityBinder.UseCoreAbility(currentTarget.transform.position);
}
protected virtual void PerformMeleeAbility()
{
ResetValuesOnAbilityPerformed();
bossAbilityBinder.UseMeleeAbility();
}
protected virtual void ResetValuesOnAbilityPerformed()
{
agent.isStopped = true;
counter = 0f;
}
protected virtual Taggable CheckClosestTarget()
{
targetDistance = float.MaxValue;
Debug.Log("CLOSEST COUNT: " + possibleTargets.Count);
for (int i = 0; i < possibleTargets.Count; i++)
{
distance = Vector3.Distance(possibleTargets[i].transform.position, agent.transform.position);
if (distance < targetDistance)
{
targetDistance = distance;
resultTarget = possibleTargets[i];
}
}
return resultTarget;
}
protected virtual Taggable CheckFurthestAwayTarget()
{
targetDistance = 0f;
for (int i = 0; i < possibleTargets.Count; i++)
{
distance = Vector3.Distance(possibleTargets[i].transform.position, agent.transform.position);
if (distance > targetDistance)
{
targetDistance = distance;
resultTarget = possibleTargets[i];
}
}
return resultTarget;
}
protected virtual IEnumerator TargetLockedInPhaseDurationCoroutine()
{
yield return new WaitForSeconds(GameConstants.GameBalancing.BossTargetLockInPhaseDuration);
SearchForNewTargetToLockIn();
}
protected virtual IEnumerator SearchForNewTargetToLockInCoroutine()
{
endSearchTime = Time.time + GameConstants.GameBalancing.BossSearchForNewTargetLockInDuration;
while (Time.time < endSearchTime)
{
UpdateCurrentTarget(possibleTargets[Random.Range(0, possibleTargets.Count)]);
yield return new WaitForSeconds(GameConstants.GameBalancing.BossSearchForNewTargetLockInDuration / 3);
}
LockInTarget(CheckClosestTarget());
}
protected virtual void LockInTarget(Taggable target)
{
lockedInPhase = true;
UpdateCurrentTarget(target);
Debug.Log("Target Locked In: " + target.name);
StartCoroutine(TargetLockedInPhaseDurationCoroutine());
}
protected virtual void SearchForNewTargetToLockIn()
{
lockedInPhase = false;
Debug.Log("Searching for new lockin: ");
StartCoroutine(SearchForNewTargetToLockInCoroutine());
}
protected virtual void UpdateCurrentTarget(Taggable target)
{
currentTarget = target;
SetupAgentStats();
}
protected virtual void SetupAgentStats()
{
agent.speed = chasingAgentSpeed;
patrolDestination = currentTarget.transform.position;
patrolDestination.y = 0f;
agent.SetDestination(patrolDestination);
}
protected virtual void CheckSurroundings()
{
if (!photonView.IsMine) return;
hits = Physics.OverlapSphere(this.transform.position, sightRange);
Debug.Log("CHECK SURROUNDINGS COUNT: " + hits.Length);
foreach (Collider collider in hits)
{
Debug.Log("CHECKING COLLIDER: " + collider.name);
otherView = collider.GetComponentInParent<PhotonView>();
if (otherView != null)
{
if (otherView == photonView) continue;
}
possibleTarget = collider.GetComponentInParent<Taggable>();
if (possibleTarget == null) continue;
if (possibleTarget.targetTag == myTag.targetTag || myTag.targetTag.AlliedTags.Contains(possibleTarget.targetTag)) continue;
if (possibleTargets.Contains(possibleTarget)) continue;
Debug.Log("ADDING TARGET " + possibleTarget.name);
possibleTargets.Add(possibleTarget);
}
}
}

View File

@ -8,9 +8,6 @@ public class NPCController : MonoBehaviour
{
[Header("Events:")]
[SerializeField] protected GameEvent_Float experienceOnDeath;
[Header("Boss-Related:")]
[SerializeField] private bool isBoss;
[SerializeField] private GameEvent onBossDead;
[Header("Settings:")]
[SerializeField] protected float sightRange;
[SerializeField] protected float sightRangeMultiplierForProjectiles;
@ -51,7 +48,7 @@ public class NPCController : MonoBehaviour
protected Vector3 endPosition;
#endregion
protected void Awake()
protected virtual void Awake()
{
myTag = GetComponentInParent<Taggable>();
agent = GetComponentInParent<NavMeshAgent>();
@ -64,7 +61,7 @@ public class NPCController : MonoBehaviour
}
// Start is called before the first frame update
protected void Start()
protected virtual void Start()
{
if (!photonView.IsMine) return;
@ -78,13 +75,13 @@ public class NPCController : MonoBehaviour
health.onDeath.AddListener(OnDeath);
}
protected void OnDeath()
protected virtual void OnDeath()
{
photonView.RPC(nameof(RPC_OnDeath), RpcTarget.All, dropTable.CalculateLootDrop());
}
[PunRPC]
protected void RPC_OnDeath(bool lootDropped)
protected virtual void RPC_OnDeath(bool lootDropped)
{
if (isDead) return;
@ -98,15 +95,12 @@ public class NPCController : MonoBehaviour
dropTable.DropLoot(lootDropped);
if (isBoss)
onBossDead.Raise();
if (!photonView.IsMine) return;
StartCoroutine(AnimateOnDeath());
}
protected IEnumerator AnimateOnDeath()
protected virtual IEnumerator AnimateOnDeath()
{
startPosition = transform.position;
endPosition = transform.position - Vector3.up * moveDistance;
@ -128,14 +122,14 @@ public class NPCController : MonoBehaviour
DestroyAfterEffect();
}
protected void DestroyAfterEffect()
protected virtual void DestroyAfterEffect()
{
if (!photonView.IsMine) return;
PhotonNetwork.Destroy(this.gameObject);
}
protected void Update()
protected virtual void Update()
{
if (!photonView.IsMine) return;
if (isDead) return;
@ -196,7 +190,7 @@ public class NPCController : MonoBehaviour
}
}
protected void PatrolNewPosition()
protected virtual void PatrolNewPosition()
{
agent.speed = patrolAgentSpeed;
patrolDestination.x = Random.Range(-5, 5);
@ -206,7 +200,7 @@ public class NPCController : MonoBehaviour
agent.isStopped = false;
}
protected void OnTriggerEnter(Collider other)
protected virtual void OnTriggerEnter(Collider other)
{
if (!photonView.IsMine) return;
@ -227,7 +221,7 @@ public class NPCController : MonoBehaviour
possibleTargets.Add(possibleTarget);
}
protected void OnTriggerExit(Collider other)
protected virtual void OnTriggerExit(Collider other)
{
if (!photonView.IsMine) return;
@ -249,7 +243,7 @@ public class NPCController : MonoBehaviour
}
protected void OnDrawGizmosSelected()
protected virtual void OnDrawGizmosSelected()
{
Gizmos.DrawWireSphere(this.transform.position, sightRange);
}

View File

@ -0,0 +1,38 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SkellyMageBossController : BossController
{
protected override void PerformHighestPriorityAction()
{
base.PerformHighestPriorityAction();
}
protected override void PerformSecondHighestPriorityAction()
{
base.PerformSecondHighestPriorityAction();
}
protected override void PerformThirdHighestPriorityAction()
{
base.PerformThirdHighestPriorityAction();
}
protected override void PerformUltimate()
{
Debug.Log("INSIDE CAN CAST ULTIMATE: " + bossAbilityBinder.CanCastUltimate());
ResetValuesOnAbilityPerformed();
bossAbilityBinder.UseUltimateAbility(this.transform.position);
}
protected override void PerformCoreAbility()
{
base.PerformCoreAbility();
}
protected override void PerformMeleeAbility()
{
base.PerformMeleeAbility();
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7ddb9c8c3b1670f488982d78eac29893
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -142,7 +142,7 @@ public class NetworkManager : MonoBehaviourPunCallbacks, IOnEventCallback
onSpawnRiftRequest.Raise(new RiftSettings()
{
zoneData = zoneData,
numberOfWaves = Random.Range(3,6),
numberOfWaves = Random.Range(GameConstants.GameBalancing.MinimumNumberOfWavesPerRift, GameConstants.GameBalancing.MaximumNumberOfWavesPerRift),
riftIndex = Random.Range(0, 5),
enemyIndexes_Quantity = new Dictionary<int, int>()
{

View File

@ -7,10 +7,13 @@ public class NetworkedAreaOfEffectOverTime : NetworkedAreaOfEffect
{
public float duration;
public bool followUser;
public bool followTarget;
public bool damageFollowingTarget;
private float endTime;
private Taggable followingTargetTaggable;
public override void Init()
{
if (photonView.IsMine)
@ -27,15 +30,31 @@ public class NetworkedAreaOfEffectOverTime : NetworkedAreaOfEffect
ApplyArea();
if (followUser)
StartCoroutine(FollowUser());
StartCoroutine(FollowTransform(owner.transform));
}
}
IEnumerator FollowUser()
public void Init(Transform target)
{
if (photonView.IsMine)
{
photonView.RPC(nameof(RPC_RemoteInit), RpcTarget.Others, AbilityIndexer.Instance.Abilities.IndexOf(ability));
ApplyArea();
if (followTarget)
{
followingTargetTaggable = target.GetComponentInParent<Taggable>();
StartCoroutine(FollowTransform(target));
}
}
}
IEnumerator FollowTransform(Transform target)
{
while (Time.time < endTime)
{
this.transform.position = owner.transform.position;
this.transform.position = target.position;
yield return new WaitForEndOfFrame();
}
@ -74,6 +93,41 @@ public class NetworkedAreaOfEffectOverTime : NetworkedAreaOfEffect
protected override void CheckSurroundings()
{
base.CheckSurroundings(); //TODO: spread the total value over ticks, for now just apply the instant effect every tick, manage tick values on effect applied
//TODO: spread the total value over ticks, for now just apply the instant effect every tick, manage tick values on effect applied
hits = Physics.OverlapSphere(this.transform.position, radius, abilityHitLayer);
targets.Clear();
foreach (Collider collider in hits)
{
// Debug.Log("hit collider " + collider.name);
possibleTarget = collider.GetComponentInParent<PhotonView>();
if (possibleTarget != null)
if (possibleTarget == owner && !canHitSelf) continue;
target = collider.GetComponentInParent<Taggable>();
//Debug.Log("hit collider, Got taggable: " + target.name);
if (target == null) continue;
if (followTarget && !damageFollowingTarget && target == followingTargetTaggable) return;
//Debug.Log("hit collider, targetTag: " + target.targetTag.name);
/*foreach (TargetTag tag in ability.targettingTags)
{
Debug.Log("hit collider, ability.Tags: " + tag);
}*/
if (!target.IsValidTarget(ability.targettingTags)) continue;
Debug.Log("hit collider, added target: " + target.name);
targets.Add(target);
}
foreach (BaseEffect effect in ability.abilityEffects)
{
effect.ApplyEffect(ownerTag, targets);
}
}
}

View File

@ -82,13 +82,13 @@ public class CoinBag : MonoBehaviour
{
coinData.totalCoin = currentCoin;
PlayerDataHandler.Instance.SavePlayerCoinData(PhotonNetwork.NickName, coinData);
PlayerDataHandler.Instance.SavePlayerCoinData(PlayerDataHandler.Instance.currentPlayerName.Value, coinData);
}
private void LoadCoins()
{
coinData = PlayerDataHandler.Instance.LoadPlayerCoinData(PhotonNetwork.NickName);
coinData = PlayerDataHandler.Instance.LoadPlayerCoinData(PlayerDataHandler.Instance.currentPlayerName.Value);
if (coinData != null)
{
Debug.Log("Success Loading CoinData");

View File

@ -94,7 +94,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Rotation: 45.073933
- _Rotation: 8.493695
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1