Création de fonctions pour l'attaque et le knockback
This commit is contained in:
parent
944b39e071
commit
297c89f6bd
1 changed files with 35 additions and 0 deletions
|
@ -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
|
||||
|
|
Reference in a new issue