Advertisement
infantGrandpa

scr_coverPenalty

Mar 17th, 2019
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ///scr_coverPenalty(target)
  2. /*Checks if target is in cover, then checks if
  3. the targeting instance is within the target's cover triangles.
  4. Returns the inCoverBonus. */
  5.  
  6. var target = argument[0];
  7.  
  8. if (target.inCover == true) {
  9.     //get calling instance (enemy) center point
  10.     centerX = x - sprite_xoffset + sprite_width / 2;
  11.     centerY = y - sprite_yoffset + sprite_height / 2;
  12.     with (target) {
  13.         for (var i = 0; i < coverGridHeight; i++) {
  14.             //Get target (player) triangle values
  15.             coverX1 = x - sprite_xoffset + sprite_width / 2;        //target's center point
  16.             coverY1 = y - sprite_yoffset + sprite_height / 2;
  17.             coverX2 = ds_grid_get(coverGrid, 1, i);                 //triangle point 1
  18.             coverY2 = ds_grid_get(coverGrid, 2, i);
  19.             coverX3 = ds_grid_get(coverGrid, 3, i);                 //trangle point 3
  20.             coverY3 = ds_grid_get(coverGrid, 4, i);
  21.             //Check if enemy's center point is in the triangle
  22.             var inTriangle = point_in_triangle(other.centerX, other.centerY, coverX1, coverY1, coverX2, coverY2, coverX3, coverX3);
  23.             if (inTriangle == true) {                       ///THIS DOESN'T TRIGGER RELIABLY
  24.                 other.inCoverPenalty = global.coverPenalty;         //If so, apply cover penalty
  25.                 //break;
  26.             }
  27.         }
  28.     }
  29. } else {
  30.     inCoverBonus = 0;
  31. }
  32.  
  33. return inCoverBonus;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement