diff --git a/Assets/Resources/Data/Entity/CompanionData/AttackingCompanionData.asset b/Assets/Resources/Data/Entity/CompanionData/AttackingCompanionData.asset new file mode 100644 index 0000000000000000000000000000000000000000..ed53f46281ecbd2d5ad34db01980e96dd80a530b --- /dev/null +++ b/Assets/Resources/Data/Entity/CompanionData/AttackingCompanionData.asset @@ -0,0 +1,16 @@ +%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: 216226ea5552cac49bdf2645569267bf, type: 3} + m_Name: AttackingCompanionData + m_EditorClassIdentifier: + prefabPath: Prefabs/Pets/AttackingCompanion/AttackingCompanion + model: {fileID: 0} diff --git a/Assets/Resources/Data/Entity/CompanionData/AttackingCompanionData.asset.meta b/Assets/Resources/Data/Entity/CompanionData/AttackingCompanionData.asset.meta new file mode 100644 index 0000000000000000000000000000000000000000..ead085eebaccc7295dd0ffa5ad31968b8745a912 --- /dev/null +++ b/Assets/Resources/Data/Entity/CompanionData/AttackingCompanionData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3fb5272211aa5940945695bdd8153ac +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Data/Entity/CompanionData/BuffCompanionData.asset b/Assets/Resources/Data/Entity/CompanionData/BuffCompanionData.asset new file mode 100644 index 0000000000000000000000000000000000000000..78771cb8e3120a3264712d6391a7a9358dffdf1b --- /dev/null +++ b/Assets/Resources/Data/Entity/CompanionData/BuffCompanionData.asset @@ -0,0 +1,16 @@ +%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: 216226ea5552cac49bdf2645569267bf, type: 3} + m_Name: BuffCompanionData + m_EditorClassIdentifier: + prefabPath: Prefabs/Pets/BuffCompanion/BuffCompanion + model: {fileID: 0} diff --git a/Assets/Resources/Data/Entity/CompanionData/BuffCompanionData.asset.meta b/Assets/Resources/Data/Entity/CompanionData/BuffCompanionData.asset.meta new file mode 100644 index 0000000000000000000000000000000000000000..92e85261872f126e29b79f7002a6876857f146ae --- /dev/null +++ b/Assets/Resources/Data/Entity/CompanionData/BuffCompanionData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ebad7d493571e33498d5d3e2e43a1749 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Pets/AttackingCompanion.meta b/Assets/Resources/Prefabs/Pets/AttackingCompanion.meta new file mode 100644 index 0000000000000000000000000000000000000000..1270b49ad4cfd244507045bfe8a48b7eaab19744 --- /dev/null +++ b/Assets/Resources/Prefabs/Pets/AttackingCompanion.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8796f953830a5f04cb59b9db62433b99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Pets/AttackingCompanion/AttackingCompanion.prefab b/Assets/Resources/Prefabs/Pets/AttackingCompanion/AttackingCompanion.prefab new file mode 100644 index 0000000000000000000000000000000000000000..7ef64734d9a8b108b46671c96781f200e283fc6d --- /dev/null +++ b/Assets/Resources/Prefabs/Pets/AttackingCompanion/AttackingCompanion.prefab @@ -0,0 +1,256 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2355923405921133889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7950878578672798786} + - component: {fileID: 4129478026809786151} + - component: {fileID: 2760121846418729623} + - component: {fileID: -7945226845773130425} + m_Layer: 0 + m_Name: AttackingCompanion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7950878578672798786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8872828837526113612} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &4129478026809786151 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 80 + m_CollisionDetection: 0 +--- !u!114 &2760121846418729623 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ea1323393f7663044b0f1129c330a380, type: 3} + m_Name: + m_EditorClassIdentifier: + id: + model: {fileID: 0} + baseSpeed: 3 + knockbackResistance: 0 + jumpForce: 5 + groundLayers: + serializedVersion: 2 + m_Bits: 0 + maxHealth: 100 + health: 100 + damagedDelay: 1 + data: {fileID: 11400000, guid: f3fb5272211aa5940945695bdd8153ac, type: 2} + aiController: + pet: {fileID: 0} + nav: {fileID: 0} + defaultStoppingDistance: 2 + stateController: + pet: {fileID: 0} + followDistance: 15 + attackDistance: 7 + attackEnemies: [] + followEnemies: [] + weaponSlot: {fileID: 5029868015402955001, guid: 1a7698227caac3d429dceb8aa5056502, type: 3} +--- !u!195 &-7945226845773130425 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + m_Acceleration: 8 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 1.5 + m_BaseOffset: 0 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!1001 &2900684116326179416 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8872828837526113612} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalPosition.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + propertyPath: m_Name + value: FireSlime + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} +--- !u!4 &3444116444801926579 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 1d83925c675157842a4ca5e5770f2a39, type: 3} + m_PrefabInstance: {fileID: 2900684116326179416} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &9051182554075240683 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7950878578672798786} + m_Modifications: + - target: {fileID: 230920367868259381, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1523314302102385116, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Size.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3802837052780452132, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Name + value: Basic3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + insertIndex: -1 + addedObject: {fileID: 3444116444801926579} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} +--- !u!4 &8872828837526113612 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + m_PrefabInstance: {fileID: 9051182554075240683} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Resources/Prefabs/Pets/AttackingCompanion/AttackingCompanion.prefab.meta b/Assets/Resources/Prefabs/Pets/AttackingCompanion/AttackingCompanion.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..ef7ebf75828b24ae501ced753b5a9000c8e2ba36 --- /dev/null +++ b/Assets/Resources/Prefabs/Pets/AttackingCompanion/AttackingCompanion.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0051d84aed3eb5d409ad5ed1ac965d3b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Pets/BuffCompanion.meta b/Assets/Resources/Prefabs/Pets/BuffCompanion.meta new file mode 100644 index 0000000000000000000000000000000000000000..5f6b8a38ce9b4d37ded3c5de2f75404654a55193 --- /dev/null +++ b/Assets/Resources/Prefabs/Pets/BuffCompanion.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47f1decdee13cb64c99c8d5eef26f34d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Pets/BuffCompanion/BuffCompanion.prefab b/Assets/Resources/Prefabs/Pets/BuffCompanion/BuffCompanion.prefab new file mode 100644 index 0000000000000000000000000000000000000000..9dcf402a5d4866a3b4a3ddbb43fdcaae049322fb --- /dev/null +++ b/Assets/Resources/Prefabs/Pets/BuffCompanion/BuffCompanion.prefab @@ -0,0 +1,253 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2355923405921133889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7950878578672798786} + - component: {fileID: 4129478026809786151} + - component: {fileID: 2896411945988801557} + - component: {fileID: -7945226845773130425} + m_Layer: 0 + m_Name: BuffCompanion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7950878578672798786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.76, y: 2.94, z: -2.43} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8872828837526113612} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &4129478026809786151 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 80 + m_CollisionDetection: 0 +--- !u!114 &2896411945988801557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7325216c3f0271843925f80188dd24ac, type: 3} + m_Name: + m_EditorClassIdentifier: + id: + model: {fileID: 0} + baseSpeed: 3 + knockbackResistance: 0 + jumpForce: 5 + groundLayers: + serializedVersion: 2 + m_Bits: 0 + maxHealth: 100 + health: 100 + damagedDelay: 0 + data: {fileID: 11400000, guid: ebad7d493571e33498d5d3e2e43a1749, type: 2} + aiController: + pet: {fileID: 0} + nav: {fileID: 0} + defaultStoppingDistance: 2 + stateController: + pet: {fileID: 0} + avoidDistance: 15 + maxDistFromOwner: 20 +--- !u!195 &-7945226845773130425 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + m_Acceleration: 8 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 1.5 + m_BaseOffset: 0 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!1001 &5612172396807189833 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8872828837526113612} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalPosition.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + propertyPath: m_Name + value: electro + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} +--- !u!4 &5361755748593078946 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 7ea54c56c4eb9444296b591f462f2758, type: 3} + m_PrefabInstance: {fileID: 5612172396807189833} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &9051182554075240683 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7950878578672798786} + m_Modifications: + - target: {fileID: 230920367868259381, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalPosition.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1523314302102385116, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Size.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3802837052780452132, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Name + value: Basic3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + insertIndex: -1 + addedObject: {fileID: 5361755748593078946} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} +--- !u!4 &8872828837526113612 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + m_PrefabInstance: {fileID: 9051182554075240683} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Resources/Prefabs/Pets/BuffCompanion/BuffCompanion.prefab.meta b/Assets/Resources/Prefabs/Pets/BuffCompanion/BuffCompanion.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..a5026efd5d0a02d57895f5aa28e2c50742f6fc96 --- /dev/null +++ b/Assets/Resources/Prefabs/Pets/BuffCompanion/BuffCompanion.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 24e982cccf33d1c4daaf7c41a4c2e74e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/Pets/HealingCompanion/HealingCompanion.prefab b/Assets/Resources/Prefabs/Pets/HealingCompanion/HealingCompanion.prefab index d06f2215d90a95a9aa7d160bea61d43fb36e6b19..09689768ba2215ad31fd34777bee73e5a4f9ab93 100644 --- a/Assets/Resources/Prefabs/Pets/HealingCompanion/HealingCompanion.prefab +++ b/Assets/Resources/Prefabs/Pets/HealingCompanion/HealingCompanion.prefab @@ -11,6 +11,7 @@ GameObject: - component: {fileID: 7950878578672798786} - component: {fileID: 4129478026809786151} - component: {fileID: 4091594578875004112} + - component: {fileID: -7945226845773130425} m_Layer: 0 m_Name: HealingCompanion m_TagString: Untagged @@ -26,14 +27,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2355923405921133889} serializedVersion: 2 - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 1.76, y: 0.75, z: -2.43} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.76, y: 2.94, z: -2.43} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 8872828837526113612} m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!54 &4129478026809786151 Rigidbody: m_ObjectHideFlags: 0 @@ -74,8 +75,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: id: + model: {fileID: 0} + baseSpeed: 3 knockbackResistance: 0 - baseSpeed: 10 jumpForce: 5 groundLayers: serializedVersion: 2 @@ -86,6 +88,94 @@ MonoBehaviour: data: {fileID: 11400000, guid: 9829963a12dd0fa4e89086db46fea950, type: 2} healInterval: 10 healAmount: 20 + aiController: + pet: {fileID: 0} + nav: {fileID: 0} + defaultStoppingDistance: 2 +--- !u!195 &-7945226845773130425 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2355923405921133889} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + m_Acceleration: 8 + avoidancePriority: 50 + m_AngularSpeed: 120 + m_StoppingDistance: 0 + m_AutoTraverseOffMeshLink: 1 + m_AutoBraking: 1 + m_AutoRepath: 1 + m_Height: 1.5 + m_BaseOffset: 0 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!1001 &513563792809377730 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8872828837526113612} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalPosition.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + propertyPath: m_Name + value: water + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} +--- !u!4 &47906757000484905 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b1fed6d880ca49a4fad05b7b2ee43c02, type: 3} + m_PrefabInstance: {fileID: 513563792809377730} + m_PrefabAsset: {fileID: 0} --- !u!1001 &9051182554075240683 PrefabInstance: m_ObjectHideFlags: 0 @@ -94,13 +184,21 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 7950878578672798786} m_Modifications: + - target: {fileID: 230920367868259381, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 230920367868259381, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Materials.Array.size + value: 0 + objectReference: {fileID: 0} - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} propertyPath: m_LocalPosition.z @@ -134,13 +232,20 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 1523314302102385116, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + propertyPath: m_Size.y + value: 1 + objectReference: {fileID: 0} - target: {fileID: 3802837052780452132, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} propertyPath: m_Name value: Basic3 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] - m_AddedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 486067988534400423, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} + insertIndex: -1 + addedObject: {fileID: 47906757000484905} m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 0295b1918ca90dd4a95f39a33464f989, type: 3} --- !u!4 &8872828837526113612 stripped diff --git a/Assets/_Resources/Models/Collectibles/Orb/CrystalBlue/CrystalBlue.controller b/Assets/_Resources/Models/Collectibles/Orb/CrystalBlue/CrystalBlue.controller index e423cf3b8999c77068ace4b49e5ec1aec982d7b3..289bad4f80c1bbdacddb598ed2567b7f92d716d5 100644 --- a/Assets/_Resources/Models/Collectibles/Orb/CrystalBlue/CrystalBlue.controller +++ b/Assets/_Resources/Models/Collectibles/Orb/CrystalBlue/CrystalBlue.controller @@ -9,4 +9,64 @@ AnimatorController: m_Name: CrystalBlue serializedVersion: 5 m_AnimatorParameters: [] - m_AnimatorLayers: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 8848305252438671312} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &1480054941379271377 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Armature|Armature|Scene + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: -5005298213620940126, guid: 898a2b12c1532b640b11fadc6a1a37b2, type: 3} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &8848305252438671312 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1480054941379271377} + m_Position: {x: 649.7486, y: 219.7522, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1480054941379271377} diff --git a/Assets/_Resources/Models/Pet.meta b/Assets/_Resources/Models/Pet.meta new file mode 100644 index 0000000000000000000000000000000000000000..1a7d2a4e0f692256ff8b93d33f0deb0a74ef634c --- /dev/null +++ b/Assets/_Resources/Models/Pet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cf97e2168dead9428efb45e311a4965 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime.meta b/Assets/_Resources/Models/Pet/fire-slime.meta new file mode 100644 index 0000000000000000000000000000000000000000..3f9c5b202ad3f82d509e21c2f0fdf210ab47ca55 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b97a6ade6a65294fbbe0dded26447ca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/source.meta b/Assets/_Resources/Models/Pet/fire-slime/source.meta new file mode 100644 index 0000000000000000000000000000000000000000..dc78349a0d0d47845243fc0e6af0d3268ff595bb --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/source.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e30f217e58f2d840b310ff61fa35bab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/source/FireSlime.fbx b/Assets/_Resources/Models/Pet/fire-slime/source/FireSlime.fbx new file mode 100644 index 0000000000000000000000000000000000000000..97fb4a6f38059ea0de8fd32725e98dc17894aa87 Binary files /dev/null and b/Assets/_Resources/Models/Pet/fire-slime/source/FireSlime.fbx differ diff --git a/Assets/_Resources/Models/Pet/fire-slime/source/FireSlime.fbx.meta b/Assets/_Resources/Models/Pet/fire-slime/source/FireSlime.fbx.meta new file mode 100644 index 0000000000000000000000000000000000000000..f688435555284f3a91bdc82fbb3fd2bf085978e3 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/source/FireSlime.fbx.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: 1d83925c675157842a4ca5e5770f2a39 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: fire body + second: {fileID: 2100000, guid: 4956586a6d7fac142b6f63f78d3a7e6a, type: 2} + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: fire corn + second: {fileID: 2100000, guid: f6e62c60db31e6e43bd9b21e39b2977e, type: 2} + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: outline + second: {fileID: 2100000, guid: 077e72d49f89e6c44962f7b92ff11eca, type: 2} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures.meta b/Assets/_Resources/Models/Pet/fire-slime/textures.meta new file mode 100644 index 0000000000000000000000000000000000000000..612bbed53d4f252509bdabf719c35a1e77c4f593 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 008cc5dc12aad414882f9287100cc3f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeBody.mat b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeBody.mat new file mode 100644 index 0000000000000000000000000000000000000000..056b76db1417d694495b4f1e66e2f9ded0e802d9 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeBody.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5743753015761018358 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FireSlimeBody + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: d1464a09fe86ffb4b934063c353565dd, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: d1464a09fe86ffb4b934063c353565dd, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeBody.mat.meta b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeBody.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..42acc871e77b7277acd9abe78f16252e66cf3c7a --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeBody.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4956586a6d7fac142b6f63f78d3a7e6a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeCorn.mat b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeCorn.mat new file mode 100644 index 0000000000000000000000000000000000000000..26d09ed6ef3327a3f428965ff4e8c5cc339ffb0e --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeCorn.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1934723479988844396 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FireSlimeCorn + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: aaaf3876669ea814e83aae5157dbf9e9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: aaaf3876669ea814e83aae5157dbf9e9, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeCorn.mat.meta b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeCorn.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..5ab5ed86de9510647c5ad79f225886af07d160b9 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeCorn.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f6e62c60db31e6e43bd9b21e39b2977e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeOutline.mat b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeOutline.mat new file mode 100644 index 0000000000000000000000000000000000000000..46fc5a5d4f99f7f3e9407916f427759e28b3a4f6 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeOutline.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FireSlimeOutline + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.3056603, g: 0.17474541, b: 0.17474541, a: 1} + - _Color: {r: 0.3056603, g: 0.17474541, b: 0.17474541, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &3568245351289431675 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeOutline.mat.meta b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeOutline.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..9228e6c7d49faffb8af0b07470843c996b00760e --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/FireSlimeOutline.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 077e72d49f89e6c44962f7b92ff11eca +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/body.png b/Assets/_Resources/Models/Pet/fire-slime/textures/body.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d55aa1637fd7d642a41e1a76442b678dbb74a5 Binary files /dev/null and b/Assets/_Resources/Models/Pet/fire-slime/textures/body.png differ diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/body.png.meta b/Assets/_Resources/Models/Pet/fire-slime/textures/body.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..8d59ca2f876bc897226c4b78764a462851fa28a7 --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/body.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: d1464a09fe86ffb4b934063c353565dd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/corn.png b/Assets/_Resources/Models/Pet/fire-slime/textures/corn.png new file mode 100644 index 0000000000000000000000000000000000000000..94d3ea6d25a595b72ad98ead6c7e3cf2f8c517f0 Binary files /dev/null and b/Assets/_Resources/Models/Pet/fire-slime/textures/corn.png differ diff --git a/Assets/_Resources/Models/Pet/fire-slime/textures/corn.png.meta b/Assets/_Resources/Models/Pet/fire-slime/textures/corn.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..4f0d0e567ed6b21448d2e1fab8e8728d1c4bc7bf --- /dev/null +++ b/Assets/_Resources/Models/Pet/fire-slime/textures/corn.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: aaaf3876669ea814e83aae5157dbf9e9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime.meta new file mode 100644 index 0000000000000000000000000000000000000000..09a2bb37a229fde5b5a221deaf55943bbea7af8a --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e827d69b0e42314bb7fb223f15d4c9e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/source.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/source.meta new file mode 100644 index 0000000000000000000000000000000000000000..9365cf38da90496600ae5a9cb7f0fdcfbde1cdb6 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/source.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 23aa8bb0ed03f064785b63e8a3c6a8eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/source/electro.fbx b/Assets/_Resources/Models/Pet/mutated-electro-slime/source/electro.fbx new file mode 100644 index 0000000000000000000000000000000000000000..4c0254a0b50425c56071c7cefeab372d000a9e97 Binary files /dev/null and b/Assets/_Resources/Models/Pet/mutated-electro-slime/source/electro.fbx differ diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/source/electro.fbx.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/source/electro.fbx.meta new file mode 100644 index 0000000000000000000000000000000000000000..bac61ffb4cba7887c1da6538ea496cf0e6f983a0 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/source/electro.fbx.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 7ea54c56c4eb9444296b591f462f2758 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: lightning + second: {fileID: 2100000, guid: 9d979c05ac94f5a4a9438ac24530a647, type: 2} + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: outline + second: {fileID: 2100000, guid: 077e72d49f89e6c44962f7b92ff11eca, type: 2} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures.meta new file mode 100644 index 0000000000000000000000000000000000000000..e01508ca56336b691d2a7f914600188a3eaa7a1e --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6db322c87ca962408310d2da98cf95f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeFinalBake.mat b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeFinalBake.mat new file mode 100644 index 0000000000000000000000000000000000000000..bcffa1bfddd739e8ced713245205a56dc7b78f3a --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeFinalBake.mat @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2923752606370351495 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ElectroSlimeFinalBake + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 2 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: ed1a91e325f0d424594f56543680c5b1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 2800000, guid: 81e53a12036727a43b89dffc590aebf6, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: ed1a91e325f0d424594f56543680c5b1, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0.4037736, g: 0.34054112, b: 0.34054112, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeFinalBake.mat.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeFinalBake.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..d2226c2e4cfac5f4cab4a06a996342002bdf979c --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeFinalBake.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d979c05ac94f5a4a9438ac24530a647 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeInternal.mat b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeInternal.mat new file mode 100644 index 0000000000000000000000000000000000000000..7da199bd4b33373ef38b049cc428c37740f778d9 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeInternal.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ElectroSlimeInternal + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 88594869500432f489fc0c2c2265680c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 88594869500432f489fc0c2c2265680c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &7763034531241315870 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeInternal.mat.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeInternal.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..4e64be40cfea7e97625e42006fcbcfd46d4c7e21 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/ElectroSlimeInternal.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 73586c4fcd5aa5141bfb5216362e859d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/emission.png b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/emission.png new file mode 100644 index 0000000000000000000000000000000000000000..64d920ef9f0b0bb808bfda7ac34a3197dd7fa632 Binary files /dev/null and b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/emission.png differ diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/emission.png.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/emission.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..494ae51f2fed5bdfa5ac9865a8ca51f41cfe9802 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/emission.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 81e53a12036727a43b89dffc590aebf6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/final_bake.png b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/final_bake.png new file mode 100644 index 0000000000000000000000000000000000000000..58001768cf49741bfdda4e5208ca06ed449f854c Binary files /dev/null and b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/final_bake.png differ diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/final_bake.png.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/final_bake.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..d95572c5474d84a39ca7aca7ed610eb0921a81c0 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/final_bake.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: ed1a91e325f0d424594f56543680c5b1 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/internal_ground_ao_texture.jpeg b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/internal_ground_ao_texture.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2a279fe028a3c2da29e3055cc42423e1913fba10 Binary files /dev/null and b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/internal_ground_ao_texture.jpeg differ diff --git a/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/internal_ground_ao_texture.jpeg.meta b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/internal_ground_ao_texture.jpeg.meta new file mode 100644 index 0000000000000000000000000000000000000000..e7437e1d52083f6f76bfec57a2897bde35b1fb54 --- /dev/null +++ b/Assets/_Resources/Models/Pet/mutated-electro-slime/textures/internal_ground_ao_texture.jpeg.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 88594869500432f489fc0c2c2265680c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime.meta b/Assets/_Resources/Models/Pet/water-slime.meta new file mode 100644 index 0000000000000000000000000000000000000000..2fc73115a31f70c301257375457890b56fd7a94d --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c8e30c98d6f29e4782fbb7461c8fd5f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/source.meta b/Assets/_Resources/Models/Pet/water-slime/source.meta new file mode 100644 index 0000000000000000000000000000000000000000..7d8ffefa2b2800e86eb8528c6fd11c5839fff8b5 --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/source.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bba3332bd5d3c7c4e8af582c87175f84 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/source/water.fbx b/Assets/_Resources/Models/Pet/water-slime/source/water.fbx new file mode 100644 index 0000000000000000000000000000000000000000..68471417b734a6ae0ba3d4fbfdf135c284683ada Binary files /dev/null and b/Assets/_Resources/Models/Pet/water-slime/source/water.fbx differ diff --git a/Assets/_Resources/Models/Pet/water-slime/source/water.fbx.meta b/Assets/_Resources/Models/Pet/water-slime/source/water.fbx.meta new file mode 100644 index 0000000000000000000000000000000000000000..32bb5d73daba2c1fff5e7fc670ebd96071371056 --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/source/water.fbx.meta @@ -0,0 +1,122 @@ +fileFormatVersion: 2 +guid: b1fed6d880ca49a4fad05b7b2ee43c02 +ModelImporter: + serializedVersion: 22200 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: fire body + second: {fileID: 2100000, guid: 01dced49fd2a93f47af53e49e87710bf, type: 2} + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: outline + second: {fileID: 2100000, guid: 077e72d49f89e6c44962f7b92ff11eca, type: 2} + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: water corn + second: {fileID: 2100000, guid: b5cf2ec698b2b5d43a4978046a7d2877, type: 2} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/textures.meta b/Assets/_Resources/Models/Pet/water-slime/textures.meta new file mode 100644 index 0000000000000000000000000000000000000000..e34dc14a6975cc9e96dc04e9d8466e7cd53b1ed7 --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef2bc4cc41646b944901e3128906879a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeCorn.mat b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeCorn.mat new file mode 100644 index 0000000000000000000000000000000000000000..04b282dfa41203b9e7f438aa3ebb95a08336737b --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeCorn.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6346104762626423525 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WaterSlimeCorn + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 557f258f8028f6b4aad3bb20ff163303, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 557f258f8028f6b4aad3bb20ff163303, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeCorn.mat.meta b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeCorn.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..de86694e8a101bc3ed87ec8a2f34998a20756ee3 --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeCorn.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5cf2ec698b2b5d43a4978046a7d2877 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeFinalBake.mat b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeFinalBake.mat new file mode 100644 index 0000000000000000000000000000000000000000..7ea93652924c8fc0c4c344bbf76ec15b3999e132 --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeFinalBake.mat @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1257312996337697633 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WaterSlimeFinalBake + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: d338d2ce519852749ac9a4f8baa9fd37, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: d338d2ce519852749ac9a4f8baa9fd37, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeFinalBake.mat.meta b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeFinalBake.mat.meta new file mode 100644 index 0000000000000000000000000000000000000000..f08d20aada4c91055da2accb595e08fe196e24ae --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures/WaterSlimeFinalBake.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01dced49fd2a93f47af53e49e87710bf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/corn_bake.png b/Assets/_Resources/Models/Pet/water-slime/textures/corn_bake.png new file mode 100644 index 0000000000000000000000000000000000000000..517562e33a2d259a6ce8151df2c7116219123cfd Binary files /dev/null and b/Assets/_Resources/Models/Pet/water-slime/textures/corn_bake.png differ diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/corn_bake.png.meta b/Assets/_Resources/Models/Pet/water-slime/textures/corn_bake.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..af56a5df090a97f8400a5798554ae90862cb8bfc --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures/corn_bake.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 557f258f8028f6b4aad3bb20ff163303 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/final_bake.001.png b/Assets/_Resources/Models/Pet/water-slime/textures/final_bake.001.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad209a1ae21da49632a3966d060d42d2e5e1e94 Binary files /dev/null and b/Assets/_Resources/Models/Pet/water-slime/textures/final_bake.001.png differ diff --git a/Assets/_Resources/Models/Pet/water-slime/textures/final_bake.001.png.meta b/Assets/_Resources/Models/Pet/water-slime/textures/final_bake.001.png.meta new file mode 100644 index 0000000000000000000000000000000000000000..67cbd120df0004e6375eac2c98be9e4e5eaecf25 --- /dev/null +++ b/Assets/_Resources/Models/Pet/water-slime/textures/final_bake.001.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: d338d2ce519852749ac9a4f8baa9fd37 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Scripts/Core/Entities/Mobs/BossEntity.cs b/Assets/_Scripts/Core/Entities/Mobs/BossEntity.cs index cb33094dfc7b7b125bc4b1b51c7bb306ffc74046..a214d19345ff2a8b63613693c67cf98e1eaaa405 100644 --- a/Assets/_Scripts/Core/Entities/Mobs/BossEntity.cs +++ b/Assets/_Scripts/Core/Entities/Mobs/BossEntity.cs @@ -4,10 +4,10 @@ using UnityEngine; public abstract class BossEntity : EnemyEntity, IAccompaniable { // Attributes - public List<Companion> companionList = new(); - public List<bool> companionActive = new(); + public List<Companion> companionList = new(); + public List<bool> companionActive = new(); private int companionSelectorIndex; - + // Set-Getters public List<Companion> CompanionList => companionList; public List<bool> CompanionActive => companionActive; @@ -15,55 +15,80 @@ public abstract class BossEntity : EnemyEntity, IAccompaniable public int CompanionSelectorIndex { get => companionSelectorIndex; - set + set { // Switch requires a constant, so can't use that here - if(value == companionList.Count) companionSelectorIndex = 0; - else if(value == -1) companionSelectorIndex = companionList.Count - 1; - else if(-1 < value && value < companionList.Count) companionSelectorIndex = value; + if (value == companionList.Count) companionSelectorIndex = 0; + else if (value == -1) companionSelectorIndex = companionList.Count - 1; + else if (-1 < value && value < companionList.Count) companionSelectorIndex = value; else companionSelectorIndex = 0; - } + } } - + // Functions + + protected new void Start() + { + base.Start(); + int initialIndex = CompanionList.Count; + + for (int i = 0; i < initialIndex; i++) + { + CompanionActive.Add(false); + } + + CompanionList.AddRange(EntityManager.Instance.GetComponentsInChildren<Companion>()); + for (int i = initialIndex; i < CompanionList.Count; i++) + { + CompanionActive.Add(CompanionList[i].gameObject.activeSelf); + } + } + public void ActivateCompanion(int index) { - if(companionList.Count == 0) + if (companionList.Count == 0) { return; } CompanionSelectorIndex = index; Companion selectedCompanion = CompanionList[CompanionSelectorIndex]; - - if(CompanionActive[CompanionSelectorIndex]) + + if (CompanionActive[CompanionSelectorIndex]) { return; } Debug.Log($"Activating Companion {selectedCompanion.name}"); - + // To handle prefabs - if(!selectedCompanion.gameObject.scene.IsValid()) + if (!selectedCompanion.gameObject.scene.IsValid()) { selectedCompanion = ObjectFactory.CreateObject<Companion>( prefabPath: selectedCompanion.data.prefabPath, - parent: EntityManager.Instance.transform, + parent: EntityManager.Instance.transform, objectName: selectedCompanion.name ); CompanionList[CompanionSelectorIndex] = selectedCompanion; } selectedCompanion.gameObject.SetActive(true); - - // TODO: Set possible spawn locations for companions, for now it will spawn on the left - selectedCompanion.transform.position = transform.position - new Vector3(-0.5f, 0, 0); + + selectedCompanion.transform.position = transform.position - new Vector3((index + 1) * 1.2f, 0, 0); companionActive[CompanionSelectorIndex] = true; selectedCompanion.Assign(this); } + public void ActivateAllCompanions() + { + for (int i = 0; i < companionList.Count; i++) + { + ActivateCompanion(i); + } + } + public void DeactivateCompanion(int index) { - if(companionList.Count == 0) + if (companionList.Count == 0) { return; } diff --git a/Assets/_Scripts/Core/Entities/Mobs/General/General.cs b/Assets/_Scripts/Core/Entities/Mobs/General/General.cs index 6a6ddd20c51cb89f3483f8d794153ea2a8130ac7..ed2fce4599263311054a64e18bbc77b587fb4f64 100644 --- a/Assets/_Scripts/Core/Entities/Mobs/General/General.cs +++ b/Assets/_Scripts/Core/Entities/Mobs/General/General.cs @@ -30,6 +30,7 @@ public class General : BossEntity animationController.Init(this); EquipWeapon(0); + ActivateAllCompanions(); OnDeathEvent += OnDeath; StartCoroutine(DrainPlayerHealth()); @@ -74,6 +75,13 @@ public class General : BossEntity private IEnumerator DeleteBody() { yield return new WaitForSeconds(2); + + // Destroy all companions, because it's not the child of this entity + foreach (Companion companion in CompanionList) + { + Destroy(companion.gameObject); + } + GameController.Instance.InvokeEvent(GameConfig.EVENT_ENEMY_KILLED, this); Destroy(gameObject); } diff --git a/Assets/_Scripts/Core/Entities/Mobs/King/King.cs b/Assets/_Scripts/Core/Entities/Mobs/King/King.cs index 27b56045511ce07dac011f680ca83e2dd97f47c6..a8f2ddaebd98b139737c689de66bcf459e635f79 100644 --- a/Assets/_Scripts/Core/Entities/Mobs/King/King.cs +++ b/Assets/_Scripts/Core/Entities/Mobs/King/King.cs @@ -36,6 +36,7 @@ public class King : BossEntity animationController.Init(this); EquipWeapon(0); + ActivateAllCompanions(); OnDeathEvent += OnDeath; StartCoroutine(SpawnGoons()); @@ -49,7 +50,7 @@ public class King : BossEntity // Functions protected void RegisterPlayerDebuff() { - if(GameController.Instance.player.Dead) + if (GameController.Instance.player.Dead) { return; } @@ -59,7 +60,7 @@ public class King : BossEntity protected void UnregisterPlayerDebuff() { - if(GameController.Instance.player.Dead) + if (GameController.Instance.player.Dead) { return; } @@ -144,6 +145,13 @@ public class King : BossEntity private IEnumerator DeleteBody() { yield return new WaitForSeconds(2); + + // Destroy all companions because it's not the child of this entity + foreach (Companion companion in CompanionList) + { + Destroy(companion.gameObject); + } + GameController.Instance.InvokeEvent(GameConfig.EVENT_ENEMY_KILLED, this); Destroy(gameObject); } diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPet.cs b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPet.cs new file mode 100644 index 0000000000000000000000000000000000000000..8ba7ccbde446bcc0368561f60f44548f9fb5f6ce --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPet.cs @@ -0,0 +1,95 @@ +using UnityEngine; + +public class AttackingPet : Companion, IArmed +{ + // Static Attributes + public const string OBJECT_ID_PREFIX = "AttackingPet"; + + // Attribute + public AttackingPetAIController aiController; + public AttackingPetStateController stateController; + + protected float baseDamage = 5; + + public WeaponObject weaponSlot; + private WeaponObject weapon; + private float attackMultiplier = 1; + private string attackLayerCode = EnvironmentConfig.LAYER_PLAYER_ATTACK; + + public WeaponObject WeaponSlot => weaponSlot; + public WeaponObject Weapon => weapon; + public Transform Orientation => transform; + public Vector3 WeaponLocation => transform.position; + + public float AttackMultiplier + { + get => attackMultiplier; + set => attackMultiplier = value; + } + + public string AttackLayerCode + { + get => attackLayerCode; + set => attackLayerCode = value; + } + public float Damage + { + get => baseDamage; + set => baseDamage = value; + } + + protected new void Start() + { + base.Start(); + + SetIdPrefix(OBJECT_ID_PREFIX); + SetLayer(EnvironmentConfig.LAYER_PLAYER); // Attacking pet is from player's side + EquipWeapon(); + + aiController.Init(this); + stateController.Init(this); + + type = Type.DAMAGE; + } + + private void EquipWeapon() + { +#if STRICT + if (WeaponSlot == null) + { + Debug.LogError($"{id}: AttackingPet {name} does not have any weapon."); + } +#endif + + WeaponObject selectedWeapon = WeaponSlot; + selectedWeapon = ObjectFactory.CreateObject<WeaponObject>( + prefabPath: selectedWeapon.data.prefabPath, + parent: gameObject.transform, + objectName: selectedWeapon.name + ); + weaponSlot = selectedWeapon; + selectedWeapon.gameObject.SetActive(true); + selectedWeapon.gameObject.layer = LayerMask.NameToLayer(AttackLayerCode); + weapon = selectedWeapon; + } + + // Controller functions + protected override void FixedUpdateAction() + { + aiController?.Action(); + Vector3 dampVelocity = new(); + Rigidbody.velocity = Vector3.SmoothDamp(Rigidbody.velocity, Vector3.zero, ref dampVelocity, GameConfig.MOVEMENT_SMOOTHING); + } + + protected override void UpdateAction() + { + stateController?.UpdateState(); + } + + // Debugging functions + protected new void OnDrawGizmosSelected() + { + base.OnDrawGizmosSelected(); + stateController.VisualizeDetection(this); + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPet.cs.meta b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPet.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..467105121aa80b528295cdb7ecf4ff3d642429fd --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPet.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ea1323393f7663044b0f1129c330a380 \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetAIController.cs b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetAIController.cs new file mode 100644 index 0000000000000000000000000000000000000000..b160061fa7c27aa23ce463c132289bd3a5bb63b7 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetAIController.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections; +using UnityEngine; + +[Serializable] +public class AttackingPetAIController : PetAIController<AttackingPet> +{ + public override void Action() + { + int currState = pet.stateController.State; + + if (currState == AttackingPetState.AI_ATTACK_STATE) + { + pet.aiController.nav.stoppingDistance = 5; + // EnemyEntity target = pet.stateController.GetNearestEnemy(false); + EnemyEntity target = pet.stateController.nearest; + Quaternion targetAngle = LookToward(target.transform); + if (Quaternion.Angle(targetAngle, pet.transform.rotation) < 10) + { + Attack(); + } + } + else if (currState == AttackingPetState.AI_FOLLOW_STATE) + { + // EnemyEntity target = pet.stateController.GetNearestEnemy(true); + pet.aiController.nav.stoppingDistance = 5; + EnemyEntity target = pet.stateController.nearest; + GoToward(target.transform); + } + else // AI_IDLE_STATE + { + pet.aiController.nav.stoppingDistance = 2; + LookToward(GameController.Instance.player.transform); + GoToward(GameController.Instance.player.transform); + } + } + + public IEnumerator HandleAttack() + { + yield return new WaitForSeconds(1f); + pet.Weapon.Attack(); + } + + public void Attack() + { + pet.StartCoroutine(HandleAttack()); + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetAIController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetAIController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..484ca8e30279047be2193f647a559ae55a986418 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetAIController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d26ee3049daa02e4eb7cd11043ff8146 \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetState.cs b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetState.cs new file mode 100644 index 0000000000000000000000000000000000000000..51c9b151ab80ac27e788db5dec5eb95c3e60f656 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetState.cs @@ -0,0 +1,6 @@ +public class AttackingPetState +{ + public const int AI_IDLE_STATE = 0; + public const int AI_FOLLOW_STATE = 1; + public const int AI_ATTACK_STATE = 2; +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetState.cs.meta b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetState.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..b2b16ddcd45b0ec21e1ce4068dd41bd5d284ac13 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetState.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9b961dd1477a1bc4f829ccebfd6193ea \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetStateController.cs b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetStateController.cs new file mode 100644 index 0000000000000000000000000000000000000000..9a80f5b67823ffd3b1b6b557d8d22cbdab023922 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetStateController.cs @@ -0,0 +1,104 @@ +using System; +using UnityEngine; + +using System.Collections.Generic; + +[Serializable] +public class AttackingPetStateController : PetStateController<AttackingPet> +{ + // Attributes + public float followDistance = 15f; + public float attackDistance = 7f; + [HideInInspector] public List<EnemyEntity> attackEnemies = new(); + [HideInInspector] public List<EnemyEntity> followEnemies = new(); + public EnemyEntity nearest; + protected LayerMask enemyLayer; + + // Constructor + public new void Init(AttackingPet pet) + { + base.Init(pet); + enemyLayer = LayerMask.GetMask(EnvironmentConfig.LAYER_ENEMY); + } + + // Functions + protected override int DetectState() + { + Collider[] attackCollider = Physics.OverlapSphere(pet.transform.position, attackDistance, enemyLayer); + Collider[] followCollider = Physics.OverlapSphere(pet.transform.position, followDistance, enemyLayer); + + + if (attackCollider.Length > 0) + { + nearest = GetNearestEnemyFromCollider(attackCollider); + state = AttackingPetState.AI_ATTACK_STATE; + } + else if (followCollider.Length > 0) + { + nearest = GetNearestEnemyFromCollider(followCollider); + state = AttackingPetState.AI_FOLLOW_STATE; + } + else + { + state = AttackingPetState.AI_IDLE_STATE; + } + + return state; + } + + public EnemyEntity GetNearestEnemy(bool follow) + { + List<EnemyEntity> enemies = follow ? followEnemies : attackEnemies; + if (enemies.Count == 0) return null; + + EnemyEntity nearestEnemy = enemies[0]; + float nearestDistance = Vector3.Distance(pet.transform.position, nearestEnemy.transform.position); + foreach (EnemyEntity enemy in enemies) + { + float distance = Vector3.Distance(pet.transform.position, enemy.transform.position); + if (distance < nearestDistance) + { + nearestDistance = distance; + nearestEnemy = enemy; + } + } + + return nearestEnemy; + } + + public EnemyEntity GetNearestEnemyFromCollider(Collider[] colliders) + { + if (colliders.Length == 0) return null; + + EnemyEntity nearestEnemy = colliders[0].transform.parent.GetComponent<EnemyEntity>(); + float nearestDistance = Vector3.Distance(pet.transform.position, nearestEnemy.transform.position); + foreach (Collider collider in colliders) + { + EnemyEntity enemy = collider.transform.parent.GetComponent<EnemyEntity>(); + float distance = Vector3.Distance(pet.transform.position, enemy.transform.position); + if (distance < nearestDistance) + { + nearestDistance = distance; + nearestEnemy = enemy; + } + } + + return nearestEnemy; + } + + public void RemoveAllNullEnemies() + { + attackEnemies.RemoveAll(enemy => enemy == null); + followEnemies.RemoveAll(enemy => enemy == null); + } + + + // Debugging functions + public void VisualizeDetection(MonoBehaviour monoBehaviour) + { + Gizmos.color = Color.yellow; + Gizmos.DrawWireSphere(monoBehaviour.transform.position, followDistance); + Gizmos.color = Color.red; + Gizmos.DrawWireSphere(monoBehaviour.transform.position, attackDistance); + } +} diff --git a/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetStateController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetStateController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..be7f6564eb5df635d79e5536b02efbbd734e1f54 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/AttackingPet/AttackingPetStateController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e3f32fb0a86212e41813d45180fa632c \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPet.cs b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPet.cs new file mode 100644 index 0000000000000000000000000000000000000000..a0f8c70976844b1da3272c9224149636c5cda665 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPet.cs @@ -0,0 +1,92 @@ +using UnityEngine; + +public class BuffPet : Companion +{ + // Static attributes + public const string OBJECT_ID_PREFIX = "BuffPet"; + + // Attributes + protected CombatantEntity ownerDamagingComponent; + public BuffPetAIController aiController; + public BuffPetStateController stateController; + + // Constructor + protected new void Start() + { + base.Start(); + + SetIdPrefix(OBJECT_ID_PREFIX); + SetLayer(EnvironmentConfig.LAYER_ENEMY); // Buff pet is from enemy's side + + aiController.Init(this); + stateController.Init(this); + + IncreaseDamage(); + type = Type.INCREASE; + } + + // Function + + public override void Assign(IAccompaniable owner) + { + base.Assign(owner); + ownerDamagingComponent = Owner.CompanionController.gameObject.GetComponent<BossEntity>(); // BuffPet is a companion of the enemy + +#if STRICT + if (ownerDamagingComponent == null) + { + Debug.LogError($"{id}: BuffPet is assigned to a non-BossEntity object"); + } +#endif + } + + private void IncreaseDamage() + { + float prevDamage = ownerDamagingComponent.Damage; + ownerDamagingComponent?.effects.Add(new StatEffect("Pet buff", StatEffectType.DAMAGE, StatEffectType.MULTIPLICATION, 0.2f, StatEffectFlag.INC_DAMAGE_PET)); + Debug.Log($"{id}: Damage increased from {prevDamage} to {ownerDamagingComponent.Damage}"); + } + + private void DecreaseDamage() + { + float prevDamage = ownerDamagingComponent.Damage; + var index = ownerDamagingComponent.effects.FindIndex(effect => effect.statFlag == StatEffectFlag.INC_DAMAGE_PET); + if (index >= 0) ownerDamagingComponent.effects.RemoveAt(index); + Debug.Log($"{id}: Damage decreased from {prevDamage} to {ownerDamagingComponent.Damage}"); + } + + protected new void OnEnable() + { + base.OnEnable(); + if (ownerDamagingComponent != null) + { + IncreaseDamage(); + } + } + + protected new void OnDisable() + { + base.OnDisable(); + DecreaseDamage(); + } + + // Controller functions + protected override void FixedUpdateAction() + { + aiController?.Action(); + Vector3 dampVelocity = new(); + Rigidbody.velocity = Vector3.SmoothDamp(Rigidbody.velocity, Vector3.zero, ref dampVelocity, GameConfig.MOVEMENT_SMOOTHING); + } + + protected override void UpdateAction() + { + stateController?.UpdateState(); + } + + // Debugging functions + protected new void OnDrawGizmosSelected() + { + base.OnDrawGizmosSelected(); + stateController.VisualizeDetection(); + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPet.cs.meta b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPet.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..608afb45be1b29418c2b963f595d8ca65a5b820f --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPet.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7325216c3f0271843925f80188dd24ac \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetAIController.cs b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetAIController.cs new file mode 100644 index 0000000000000000000000000000000000000000..933714a1aa841d0f6fd4dd80b0e08c4c1eec8749 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetAIController.cs @@ -0,0 +1,27 @@ +using System; +using Unity.VisualScripting; +using UnityEngine; + +[Serializable] +public class BuffPetAIController : PetAIController<BuffPet> +{ + public override void Action() + { + int currState = pet.stateController.State; + + if (currState == BuffPetState.AI_AVOID_STATE) + { + // Get allowed farthest point from owner + Vector3 direction = MathUtils.GetDirectionVectorFlat(GameController.Instance.player.transform.position, pet.Owner.CompanionController.transform.position); + Vector3 to = pet.Owner.CompanionController.transform.position - Vector3.Normalize(direction) * pet.stateController.maxDistFromOwner; + + Transform target = new GameObject().transform; + target.position = to; + GoToward(target); + } + else // AI_IDLE_STATE + { + GoToward(pet.Owner.CompanionController.transform); + } + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetAIController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetAIController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..10dee2bf92ffa3959df51516ee9286bacb2813ef --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetAIController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cd6211ce5e4d681409675e96866c1b9f \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetState.cs b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetState.cs new file mode 100644 index 0000000000000000000000000000000000000000..fd765b6cbeee23291d172f5d9c71c8fca2273070 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetState.cs @@ -0,0 +1,5 @@ +public class BuffPetState +{ + public const int AI_IDLE_STATE = 0; + public const int AI_AVOID_STATE = 1; +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetState.cs.meta b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetState.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..ac3e69d020d3295c3a30e2df00a24fb5bb007029 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetState.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2dff4f9d7e8598c43b218c920c5104d9 \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetStateController.cs b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetStateController.cs new file mode 100644 index 0000000000000000000000000000000000000000..59a6969b38098b15b663d350dead2a2b00d9fae5 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetStateController.cs @@ -0,0 +1,34 @@ +using System; +using UnityEngine; + +[Serializable] +public class BuffPetStateController : PetStateController<BuffPet> +{ + // Attributes + public float avoidDistance = 7f; + public float maxDistFromOwner = 5; + + // Functions + protected override int DetectState() + { + if (Vector3.Distance(pet.transform.position, GameController.Instance.player.transform.position) <= avoidDistance) + { + state = BuffPetState.AI_AVOID_STATE; + } + else + { + state = BuffPetState.AI_IDLE_STATE; + } + + return state; + } + + // Debugging functions + public void VisualizeDetection() + { + Gizmos.color = Color.cyan; + Gizmos.DrawWireSphere(pet.transform.position, avoidDistance); + Gizmos.color = Color.red; + Gizmos.DrawWireSphere(pet.Owner.CompanionController.transform.position, maxDistFromOwner); + } +} diff --git a/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetStateController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetStateController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..c0bd32f708ff25cef756cd97d444f212234d46bc --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/BuffPet/BuffPetStateController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8999799cb24d03b41b79806525510dfa \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/Companion.cs b/Assets/_Scripts/Core/Entities/Pets/Companion.cs index 0e3f648edb4a6966fa207e3b8d69052fb6db8fcc..92a5917592a5793642e7cdbbe5e45b8ae5ffe63b 100644 --- a/Assets/_Scripts/Core/Entities/Pets/Companion.cs +++ b/Assets/_Scripts/Core/Entities/Pets/Companion.cs @@ -1,7 +1,5 @@ -using System; -using Unity.VisualScripting; +using System.Collections; using UnityEngine; -using UnityEngine.Rendering.HighDefinition; public abstract class Companion : DamageableEntity { @@ -33,10 +31,10 @@ public abstract class Companion : DamageableEntity { return type switch { - Type.HEALING => new HealingCompanion(), - Type.DAMAGE => new HealingCompanion(), - Type.INCREASE => new HealingCompanion(), - _ => new(), + Type.HEALING => new HealingPet(), + Type.DAMAGE => new AttackingPet(), + Type.INCREASE => new BuffPet(), + _ => null, }; } @@ -54,4 +52,43 @@ public abstract class Companion : DamageableEntity { Owner = owner; } + + private IEnumerator DeleteBody() + { + yield return new WaitForSeconds(2); + + // Remove from companion list + int index = GameController.Instance.player.companionList.IndexOf(this); + if (index == GameController.Instance.player.CompanionSelectorIndex) + { + GameController.Instance.player.CompanionSelectorIndex = 0; + } + + GameController.Instance.player.companionList.RemoveAt(index); + GameController.Instance.player.companionActive.RemoveAt(index); + + Destroy(gameObject); + } + + private void OnDeath() + { + Debug.Log($"{id}: Die"); + StartCoroutine(DeleteBody()); + } + + new protected void Start() + { + base.Start(); + OnDeathEvent += OnDeath; + } + + protected void OnEnable() + { + Debug.Log($"{id}: Enabled"); + } + + protected void OnDisable() + { + Debug.Log($"{id}: Disabled"); + } } diff --git a/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingCompanion.cs b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingCompanion.cs deleted file mode 100644 index 7a42abc31f8dad0af27a9aa78c3df4d70f724038..0000000000000000000000000000000000000000 --- a/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingCompanion.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.Collections; -using UnityEngine; - -public class HealingCompanion : Companion -{ - // Attributes - protected IDamageable ownerDamageableComponent; - [SerializeField] protected float healInterval; - [SerializeField] protected float healAmount; - - // Events - public event Action OnHealOwnerEvent; - - // Constructor - protected new void Start() - { - base.Start(); - type = Type.HEALING; - } - - // Function - protected void Heal() - { - Debug.Log($"Healing {Owner.CompanionController.name}"); - ownerDamageableComponent?.InflictHeal(healAmount); - } - - private IEnumerator HealDelay() - { - yield return new WaitForSeconds(healInterval); - OnHealOwnerEvent?.Invoke(); - StartCoroutine(HealDelay()); - } - - public override void Assign(IAccompaniable owner) - { - base.Assign(owner); - ownerDamageableComponent = Owner.CompanionController.gameObject.GetComponent<IDamageable>(); - -#if STRICT - if (ownerDamageableComponent == null) - { - Debug.LogError("HealingCompanion is assigned to a non-IDamageable object"); - } -#endif - } -} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPet.cs b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPet.cs new file mode 100644 index 0000000000000000000000000000000000000000..48b69446e5b4b6a660d726dadbd144cce1e198ee --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPet.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections; +using UnityEngine; + +public class HealingPet : Companion +{ + // Static Attributes + public const string OBJECT_ID_PREFIX = "HealingPet"; + + // Attributes + protected IDamageable ownerDamageableComponent; + [SerializeField] protected float healInterval; + [SerializeField] protected float healAmount; + public HealingPetAIController aiController; + + // Events + public event Action OnHealOwnerEvent; + + // Constructor + protected new void Start() + { + base.Start(); + + SetIdPrefix(OBJECT_ID_PREFIX); + SetLayer(EnvironmentConfig.LAYER_PLAYER); // Healing pet is from player's side + + type = Type.HEALING; + OnHealOwnerEvent += Heal; + + aiController.Init(this); + } + + // Function + protected void Heal() + { + Debug.Log($"{id}: Healing {Owner.CompanionController.name}"); + ownerDamageableComponent?.InflictHeal(healAmount); + } + + private IEnumerator HealDelay() + { + yield return new WaitForSeconds(healInterval); + OnHealOwnerEvent?.Invoke(); + StartCoroutine(HealDelay()); + } + + public override void Assign(IAccompaniable owner) + { + base.Assign(owner); + + // Only the player can own a HealingPet + ownerDamageableComponent = Owner.CompanionController.gameObject.GetComponent<Player>(); + +#if STRICT + if (ownerDamageableComponent == null) + { + Debug.LogError($"{id}: HealingPet is assigned to a non-Player object"); + } +#endif + } + + protected new void OnEnable() + { + base.OnEnable(); + StartCoroutine(HealDelay()); + } + + protected new void OnDisable() + { + base.OnDisable(); + StopAllCoroutines(); + } + + // Controller functions + protected override void FixedUpdateAction() + { + aiController?.Action(); + Vector3 dampVelocity = new(); + Rigidbody.velocity = Vector3.SmoothDamp(Rigidbody.velocity, Vector3.zero, ref dampVelocity, GameConfig.MOVEMENT_SMOOTHING); + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingCompanion.cs.meta b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPet.cs.meta similarity index 100% rename from Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingCompanion.cs.meta rename to Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPet.cs.meta diff --git a/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPetAIController.cs b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPetAIController.cs new file mode 100644 index 0000000000000000000000000000000000000000..2cd2ec2291058c53d08c12e3ee663fb3b8e20c52 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPetAIController.cs @@ -0,0 +1,10 @@ +using System; + +[Serializable] +public class HealingPetAIController : PetAIController<HealingPet> +{ + public override void Action() + { + GoToward(pet.Owner.CompanionController.transform); + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPetAIController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPetAIController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..8740a39864015ce8f546bd8ab39126760d2a1ca5 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/HealingPet/HealingPetAIController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c2d0e361fc78ad54d9752c7b46f6e721 \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/PetAIController.cs b/Assets/_Scripts/Core/Entities/Pets/PetAIController.cs new file mode 100644 index 0000000000000000000000000000000000000000..5a18008b74934348045636a6fdfe5435f1a65f69 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/PetAIController.cs @@ -0,0 +1,51 @@ +using System; +using UnityEngine; +using UnityEngine.AI; + +[Serializable] +public abstract class PetAIController<T> where T : Companion +{ + // Attributes + public T pet; + [HideInInspector] public NavMeshAgent nav; + public float defaultStoppingDistance = 2; + + // Constructor + public void Init(T pet) + { + this.pet = pet; + + nav = pet.GetComponent<NavMeshAgent>(); + nav.stoppingDistance = defaultStoppingDistance; + + pet.OnDamagedEvent += OnDamaged; + pet.OnDeathEvent += OnDeath; + } + + // Functions + public abstract void Action(); + + public Quaternion LookToward(Transform target) + { + Vector3 direction = MathUtils.GetDirectionVectorFlat(target.position, pet.Position); + Quaternion look = Quaternion.LookRotation(direction); + pet.transform.rotation = Quaternion.Slerp(look, pet.transform.rotation, Time.deltaTime); + return look; + } + + public void GoToward(Transform target) + { + nav.destination = target.position; + } + + private void OnDamaged() + { + nav.velocity = Vector3.zero; + } + + private void OnDeath() + { + GoToward(pet.transform); + nav.velocity = Vector3.zero; + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/PetAIController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/PetAIController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..2fdb3fd92132e074162d0b7a3db5433f41c6e69a --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/PetAIController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 145b52b551a3af649ba492a299f97934 \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/PetStateController.cs b/Assets/_Scripts/Core/Entities/Pets/PetStateController.cs new file mode 100644 index 0000000000000000000000000000000000000000..8ca47f4f094383d5d13091a325433c8295c18a6d --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/PetStateController.cs @@ -0,0 +1,15 @@ +using System; +using UnityEngine; + +[Serializable] +public abstract class PetStateController<T> : EntityStateController where T : Companion +{ + // Attributes + public T pet; + + // Constructor + public void Init(T pet) + { + this.pet = pet; + } +} \ No newline at end of file diff --git a/Assets/_Scripts/Core/Entities/Pets/PetStateController.cs.meta b/Assets/_Scripts/Core/Entities/Pets/PetStateController.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..e2e228e17c5dc6995263e3c4d77cd640a2340f26 --- /dev/null +++ b/Assets/_Scripts/Core/Entities/Pets/PetStateController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 220603cd9b21b424baa823e7c169ea52 \ No newline at end of file diff --git a/Assets/_Scripts/Core/Objects/Weapons/Rifle/Rifle.cs b/Assets/_Scripts/Core/Objects/Weapons/Rifle/Rifle.cs index df1d9447e912b0a4e08cda15e8c23ae2f9b5b0e4..1cc652faab46d00c80364e06fb9903c588c1565e 100644 --- a/Assets/_Scripts/Core/Objects/Weapons/Rifle/Rifle.cs +++ b/Assets/_Scripts/Core/Objects/Weapons/Rifle/Rifle.cs @@ -45,7 +45,8 @@ public class Rifle : WeaponObject IRigid bearerBody = bearer.Orientation.gameObject.GetComponent<IRigid>(); bearerBody?.Rigidbody.AddForce(-(bearer.Orientation.forward * data.knockbackPower / 16) + bearer.Orientation.up, ForceMode.Impulse); - if (bearer.AttackLayerCode == EnvironmentConfig.LAYER_PLAYER_ATTACK) + // Won't count shots fired by pets + if (bearer is Player && bearer.AttackLayerCode == EnvironmentConfig.LAYER_PLAYER_ATTACK) { GameStatisticsManager.Instance.AddShotsFired(); attackProjectile.OnDamageEvent += GameStatisticsManager.Instance.AddShotsHit; diff --git a/Assets/_Scripts/Core/Objects/Weapons/Shotgun/Shotgun.cs b/Assets/_Scripts/Core/Objects/Weapons/Shotgun/Shotgun.cs index ff131cd102ec6561b7003372ff311cb2dd71232d..6ca3a59ad4281ae1860524dfb8eb93428b8b30a9 100644 --- a/Assets/_Scripts/Core/Objects/Weapons/Shotgun/Shotgun.cs +++ b/Assets/_Scripts/Core/Objects/Weapons/Shotgun/Shotgun.cs @@ -78,7 +78,8 @@ public class Shotgun : WeaponObject IRigid bearerBody = bearer.Orientation.gameObject.GetComponent<IRigid>(); bearerBody?.Rigidbody.AddForce(-(bearer.Orientation.forward * data.knockbackPower / 8) + bearer.Orientation.up, ForceMode.Impulse); - if (bearer.AttackLayerCode == EnvironmentConfig.LAYER_PLAYER_ATTACK) + // Won't count shots fired by pets + if (bearer is Player && bearer.AttackLayerCode == EnvironmentConfig.LAYER_PLAYER_ATTACK) { GameStatisticsManager.Instance.AddShotsFired(); attackProjectile.OnDamageEvent += GameStatisticsManager.Instance.AddShotsHit; diff --git a/Assets/_Scripts/Core/Player/Player.cs b/Assets/_Scripts/Core/Player/Player.cs index c119552f98ed016795b94658dd14fc8b789b59d9..457dcece6d74c4b798ec331b87f4b2eb8449b72f 100644 --- a/Assets/_Scripts/Core/Player/Player.cs +++ b/Assets/_Scripts/Core/Player/Player.cs @@ -57,6 +57,7 @@ public class Player : PlayerEntity CompanionActive.Add(CompanionList[i].gameObject.activeSelf); } + ActivateAllCompanions(); } // Functions diff --git a/Assets/_Scripts/Library/BaseClasses/EntityObject/PlayerEntity.cs b/Assets/_Scripts/Library/BaseClasses/EntityObject/PlayerEntity.cs index 5f2deb7ffc80337c8b5714ec0833ebba6ee22739..20731527350b8d160785745a2682d3619440caea 100644 --- a/Assets/_Scripts/Library/BaseClasses/EntityObject/PlayerEntity.cs +++ b/Assets/_Scripts/Library/BaseClasses/EntityObject/PlayerEntity.cs @@ -72,8 +72,7 @@ public class PlayerEntity : CombatantEntity, IAccompaniable selectedCompanion.gameObject.SetActive(true); - // TODO: Set possible spawn locations for companions, for now it will spawn on the left - selectedCompanion.transform.position = transform.position - new Vector3(-0.5f, 0, 0); + selectedCompanion.transform.position = transform.position - new Vector3((index + 1) * 1.2f, 0, 0); companionActive[CompanionSelectorIndex] = true; selectedCompanion.Assign(this); } @@ -136,4 +135,12 @@ public class PlayerEntity : CombatantEntity, IAccompaniable OnCompanionAggregationChange?.Invoke(); } + + public void ActivateAllCompanions() + { + for (int i = 0; i < companionList.Count; i++) + { + ActivateCompanion(i); + } + } } diff --git a/Assets/_Scripts/Library/Enum/StatEffectFlag.cs b/Assets/_Scripts/Library/Enum/StatEffectFlag.cs index 29ee85f99a527247849d8b00b411f0cc376b930f..a75e6bc1d4cd5b34c3ad2b8befe16cec0ec4487c 100644 --- a/Assets/_Scripts/Library/Enum/StatEffectFlag.cs +++ b/Assets/_Scripts/Library/Enum/StatEffectFlag.cs @@ -3,4 +3,5 @@ public enum StatEffectFlag // Stat Effect Flags because some effects need to be applied only once NONE, INC_SPEED_ORB, + INC_DAMAGE_PET, }