diff options
author | Cameron Katri <me@cameronkatri.com> | 2021-06-13 00:40:11 -0400 |
---|---|---|
committer | Cameron Katri <me@cameronkatri.com> | 2021-06-13 00:40:11 -0400 |
commit | 13b102b0055d1780255d083f01ae5672ccc7ade7 (patch) | |
tree | 62384af69389ca7cabe7b4cfa534ef401bcdae6f | |
parent | af13ca7f36f617c95e3932bb3282e7a5ffa8d2fe (diff) | |
download | gmtk-gamejam-13b102b0055d1780255d083f01ae5672ccc7ade7.tar.gz gmtk-gamejam-13b102b0055d1780255d083f01ae5672ccc7ade7.tar.zst gmtk-gamejam-13b102b0055d1780255d083f01ae5672ccc7ade7.zip |
Airhorn at game end, better dribble, ball hit sound
-rw-r--r-- | Assets/Prefabs/Ball.prefab | 99 | ||||
-rw-r--r-- | Assets/Scenes/Main.unity | 387 | ||||
-rw-r--r-- | Assets/Scripts/Controllers/Ball.cs | 3 | ||||
-rw-r--r-- | Assets/Scripts/Controllers/GameController.cs | 6 | ||||
-rw-r--r-- | Assets/Sounds/Airhorn.ogg | bin | 0 -> 19941 bytes | |||
-rw-r--r-- | Assets/Sounds/Airhorn.ogg.meta (renamed from Assets/Sounds/Dribble.mp3.meta) | 2 | ||||
-rw-r--r-- | Assets/Sounds/BallHit.ogg | bin | 0 -> 10896 bytes | |||
-rw-r--r-- | Assets/Sounds/BallHit.ogg.meta | 22 | ||||
-rw-r--r-- | Assets/Sounds/Dribble.mp3 | bin | 77739 -> 0 bytes | |||
-rw-r--r-- | Assets/Sounds/Dribble.ogg | bin | 0 -> 26936 bytes | |||
-rw-r--r-- | Assets/Sounds/Dribble.ogg.meta | 22 |
11 files changed, 441 insertions, 100 deletions
diff --git a/Assets/Prefabs/Ball.prefab b/Assets/Prefabs/Ball.prefab index 4ee0609..6d81ba9 100644 --- a/Assets/Prefabs/Ball.prefab +++ b/Assets/Prefabs/Ball.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 7502293481755037355} - component: {fileID: 2510945038599774573} - component: {fileID: 6267610020350316690} + - component: {fileID: 3046393513413338930} m_Layer: 7 m_Name: Ball m_TagString: Untagged @@ -84,6 +85,104 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: shotForce: 500 + ballHitSound: {fileID: 3046393513413338930} + ballHitClip: {fileID: 8300000, guid: ef7a0f68df4ae25479fad48f37cd248a, type: 3} +--- !u!82 &3046393513413338930 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4042332068071005264} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: ef7a0f68df4ae25479fad48f37cd248a, type: 3} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!1 &5614667194888028005 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index a4e2893..d4c258a 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -123,6 +123,133 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &3154012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3154014} + - component: {fileID: 3154013} + m_Layer: 0 + m_Name: Airhorn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!82 &3154013 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3154012} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: ddc049cf70916074c9cbda0ad139b4b1, type: 3} + m_PlayOnAwake: 0 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!4 &3154014 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3154012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1272917580} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &108876581 GameObject: m_ObjectHideFlags: 0 @@ -1551,7 +1678,6 @@ GameObject: m_Component: - component: {fileID: 1174357919} - component: {fileID: 1174357920} - - component: {fileID: 1174357921} m_Layer: 0 m_Name: Game m_TagString: Untagged @@ -1571,6 +1697,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1096236286} + - {fileID: 1272917580} m_Father: {fileID: 244382786} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1603,108 +1730,13 @@ MonoBehaviour: secondCharacter: {fileID: 0} PlayerHoop: {fileID: 614591307} EnemyHoop: {fileID: 1354192742} - dribbleSound: {fileID: 1174357921} + dribbleSound: {fileID: 1991468014} + airhornSound: {fileID: 3154013} playerScoreText: {fileID: 140689492} enemyScoreText: {fileID: 447684163} timerText: {fileID: 1402491148} resultOverlay: {fileID: 453079590} resultText: {fileID: 1890797814} ---- !u!82 &1174357921 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1174357918} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: d55eaa693468a45f78a1e85f5c0e6788, type: 3} - m_PlayOnAwake: 0 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 --- !u!4 &1189511746 stripped Transform: m_CorrespondingSourceObject: {fileID: 6095859834264611321, guid: c64ad9b908cb44602b3d13a74aef751f, type: 3} @@ -1789,6 +1821,38 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1267083483} m_CullTransparentMesh: 1 +--- !u!1 &1272917579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1272917580} + m_Layer: 0 + m_Name: SFX + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1272917580 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1272917579} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3154014} + - {fileID: 1991468013} + m_Father: {fileID: 1174357919} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1302386144 GameObject: m_ObjectHideFlags: 0 @@ -2410,6 +2474,133 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1894938100} m_CullTransparentMesh: 1 +--- !u!1 &1991468012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1991468013} + - component: {fileID: 1991468014} + m_Layer: 0 + m_Name: Dribble + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1991468013 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1991468012} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1272917580} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!82 &1991468014 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1991468012} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: 95a91c5ce0bf7c54d8dbf8875ef488fa, type: 3} + m_PlayOnAwake: 0 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!1 &2055631263 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Controllers/Ball.cs b/Assets/Scripts/Controllers/Ball.cs index ae0656f..01d9bf4 100644 --- a/Assets/Scripts/Controllers/Ball.cs +++ b/Assets/Scripts/Controllers/Ball.cs @@ -9,12 +9,15 @@ namespace Controllers internal GameController controller; [SerializeField] private float shotForce; + [SerializeField] private AudioSource ballHitSound; + [SerializeField] private AudioClip ballHitClip; public Rigidbody2D Rigidbody => _rigidbody != null ? _rigidbody : _rigidbody = GetComponent<Rigidbody2D>(); private Rigidbody2D _rigidbody; private void OnCollisionEnter2D(Collision2D other) { + ballHitSound.PlayOneShot(ballHitClip); controller.BallDropped(); } diff --git a/Assets/Scripts/Controllers/GameController.cs b/Assets/Scripts/Controllers/GameController.cs index 4bdae38..62bb849 100644 --- a/Assets/Scripts/Controllers/GameController.cs +++ b/Assets/Scripts/Controllers/GameController.cs @@ -37,6 +37,7 @@ namespace Controllers [Header("SFX")] [SerializeField] public AudioSource dribbleSound; + [SerializeField] public AudioSource airhornSound; [Header("UI")] [SerializeField] private Text playerScoreText; @@ -66,6 +67,7 @@ namespace Controllers UpdateUI(); } + private bool gameover; private void UpdateUI() { playerScoreText.text = $"{player.score}"; @@ -75,8 +77,10 @@ namespace Controllers var remaining = TimeSpan.FromSeconds(Mathf.Clamp(remainingRaw, 0, float.MaxValue)); timerText.text = $"{remaining.Minutes:00}:{remaining.Seconds:00}"; - if (remainingRaw <= 0) + if (remainingRaw <= 0 && !gameover) { + gameover = true; + airhornSound.Play(); var outcome = player.score == enemy.score ? "TIE GAME" : player.score < enemy.score ? "AWAY TEAM WINS" : "HOME TEAM WINS"; ShowModal($"{outcome}\n{player.score}-{enemy.score}"); diff --git a/Assets/Sounds/Airhorn.ogg b/Assets/Sounds/Airhorn.ogg Binary files differnew file mode 100644 index 0000000..8db0109 --- /dev/null +++ b/Assets/Sounds/Airhorn.ogg diff --git a/Assets/Sounds/Dribble.mp3.meta b/Assets/Sounds/Airhorn.ogg.meta index e3922e9..add6779 100644 --- a/Assets/Sounds/Dribble.mp3.meta +++ b/Assets/Sounds/Airhorn.ogg.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d55eaa693468a45f78a1e85f5c0e6788 +guid: ddc049cf70916074c9cbda0ad139b4b1 AudioImporter: externalObjects: {} serializedVersion: 6 diff --git a/Assets/Sounds/BallHit.ogg b/Assets/Sounds/BallHit.ogg Binary files differnew file mode 100644 index 0000000..6bbba3d --- /dev/null +++ b/Assets/Sounds/BallHit.ogg diff --git a/Assets/Sounds/BallHit.ogg.meta b/Assets/Sounds/BallHit.ogg.meta new file mode 100644 index 0000000..3370925 --- /dev/null +++ b/Assets/Sounds/BallHit.ogg.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: ef7a0f68df4ae25479fad48f37cd248a +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Sounds/Dribble.mp3 b/Assets/Sounds/Dribble.mp3 Binary files differdeleted file mode 100644 index 39f436e..0000000 --- a/Assets/Sounds/Dribble.mp3 +++ /dev/null diff --git a/Assets/Sounds/Dribble.ogg b/Assets/Sounds/Dribble.ogg Binary files differnew file mode 100644 index 0000000..8af58de --- /dev/null +++ b/Assets/Sounds/Dribble.ogg diff --git a/Assets/Sounds/Dribble.ogg.meta b/Assets/Sounds/Dribble.ogg.meta new file mode 100644 index 0000000..705d0a3 --- /dev/null +++ b/Assets/Sounds/Dribble.ogg.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 95a91c5ce0bf7c54d8dbf8875ef488fa +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: |