Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///scr_coverPenalty(target)
- /*Checks if target is in cover, then checks if
- the targeting instance is within the target's cover triangles.
- Returns the inCoverBonus. */
- var target = argument[0];
- if (target.inCover == true) {
- //get calling instance (enemy) center point
- centerX = x - sprite_xoffset + sprite_width / 2;
- centerY = y - sprite_yoffset + sprite_height / 2;
- with (target) {
- for (var i = 0; i < coverGridHeight; i++) {
- //Get target (player) triangle values
- coverX1 = x - sprite_xoffset + sprite_width / 2; //target's center point
- coverY1 = y - sprite_yoffset + sprite_height / 2;
- coverX2 = ds_grid_get(coverGrid, 1, i); //triangle point 1
- coverY2 = ds_grid_get(coverGrid, 2, i);
- coverX3 = ds_grid_get(coverGrid, 3, i); //trangle point 3
- coverY3 = ds_grid_get(coverGrid, 4, i);
- //Check if enemy's center point is in the triangle
- var inTriangle = point_in_triangle(other.centerX, other.centerY, coverX1, coverY1, coverX2, coverY2, coverX3, coverX3);
- if (inTriangle == true) { ///THIS DOESN'T TRIGGER RELIABLY
- other.inCoverPenalty = global.coverPenalty; //If so, apply cover penalty
- //break;
- }
- }
- }
- } else {
- inCoverBonus = 0;
- }
- return inCoverBonus;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement