From 297c89f6bd224d6adab8e2c97c8ce6118be9f7ba Mon Sep 17 00:00:00 2001
From: rick <rick@gnous.eu>
Date: Sun, 6 Dec 2020 00:00:34 +0100
Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20de=20fonctions=20pour=20l'attaq?=
 =?UTF-8?q?ue=20et=20le=20knockback?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 scripts/Script1/Script1.gml | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/scripts/Script1/Script1.gml b/scripts/Script1/Script1.gml
index 043fdb7..8471916 100644
--- a/scripts/Script1/Script1.gml
+++ b/scripts/Script1/Script1.gml
@@ -1,6 +1,41 @@
 // Script assets have changed for v2.3.0 see
 // https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information
 
+/*
+@description Repousse objRepousse d'après la position de obj de 10px
+@param {obj} Objet définissant vers où sera repoussé l'objRepousse
+@param {objRepousse} objet qui sera repoussé
+*/
+function knockBack(obj, objRepousse) {
+	knockback = 10;
+	oY = objRepousse.y;
+	oX = objRepousse.x;
+	if (obj.x > oX && !place_meeting(oX-knockback-1, oY, oWall)) {
+		objRepousse.x -= knockback;
+	} else if (obj.x < oX && !place_meeting(oX+knockback+1, oY, oWall)) {
+		objRepousse.x += knockback;
+	} else if (obj.y > oY && !place_meeting(oX, oY-knockback-1, oWall)) {
+		objRepousse.y -= knockback;
+	} else if (obj.y < oY && !place_meeting(oX, oY+knockback+1, oWall)) {
+		objRepousse.y += knockback;
+	}
+}
+
+/*
+@description Inflige des dégâts à objAttaque. Exécute le knockback lors de son appel.
+@param {objAttaquant} Objet qui inflige les dégâts
+@param {objAttaque} objet qui perd des pv
+@param {degats} dégâts infligés (permet de gérer les attaques cac ou distance pour le joueur
+*/
+function hit(objAttaquant, objAttaque, degats) {
+	if (objAttaque.pv <= 0) {
+		instance_destroy(objAttaque);
+    } else {
+		objAttaque.pv -= degats;
+		knockBack(objAttaquant, objAttaque);
+	}
+}
+
 /*
 @description Récupère tous les instances d'obj se trouvant dans un rectangle
 @param {x1} coordonnée x gauche du rectangle