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,
 }