From 61e50d1984443d1d1d8b82923ad24c165233c9f9 Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Sat, 25 Jun 2022 19:43:20 +0100 Subject: [PATCH] nerf magic build --- src/aoe.c | 2 +- src/geometry.c | 12 ++++++++++++ src/geometry.h | 2 ++ src/pathfinding.c | 4 ++-- src/skills.c | 2 +- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/aoe.c b/src/aoe.c index aef76e9..af0b29d 100644 --- a/src/aoe.c +++ b/src/aoe.c @@ -231,7 +231,7 @@ static bool attack_apply(game_t *game, aoe_t *aoe, entity_t *target) } else if(aoe->type == AOE_BULLET) { /* TODO: Sideways knockback */ - damage = aoe->data.bullet.strength * 2; + damage = aoe->data.bullet.strength * 3 / 2; } else if(aoe->type == AOE_FIRE_CHARGE) { dir.x = target_p->x - aoe->data.charge.origin.x; diff --git a/src/geometry.c b/src/geometry.c index 52c5e13..dbdc8df 100644 --- a/src/geometry.c +++ b/src/geometry.c @@ -59,6 +59,18 @@ vec2 vec_rotate_m45(vec2 v) -fmul(fix(0.707), v.x) + fmul(fix(0.707), v.y) }; } +vec2 vec_rotate_60(vec2 v) +{ + return (vec2){ v.x / 2 - fmul(fix(0.866), v.y), + fmul(fix(0.866), v.x) + v.y / 2 }; +} + +vec2 vec_rotate_m60(vec2 v) +{ + return (vec2){ v.x / 2 + fmul(fix(0.866), v.y), + -fmul(fix(0.866), v.x) + v.y / 2 }; +} + //--- // Rect operations //--- diff --git a/src/geometry.h b/src/geometry.h index 8dd1d11..5fd9933 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -63,6 +63,8 @@ vec2 vec_rotate_30(vec2); vec2 vec_rotate_m30(vec2); vec2 vec_rotate_45(vec2); vec2 vec_rotate_m45(vec2); +vec2 vec_rotate_60(vec2); +vec2 vec_rotate_m60(vec2); //--- // Point operations diff --git a/src/pathfinding.c b/src/pathfinding.c index fea04b4..de719ab 100644 --- a/src/pathfinding.c +++ b/src/pathfinding.c @@ -344,9 +344,9 @@ vec2 pathfinding_autoaim(game_t const *game, entity_t *src, map_t const *map) continue; vec2 relpos = { p->x - src_pos.x, p->y - src_pos.y }; - if(vec_dot(relpos, vec_rotate_45(src_facing)) < 0) + if(vec_dot(relpos, vec_rotate_60(src_facing)) < 0) continue; - if(vec_dot(relpos, vec_rotate_m45(src_facing)) < 0) + if(vec_dot(relpos, vec_rotate_m60(src_facing)) < 0) continue; fixed_t dist2 = fmul(relpos.x, relpos.x) + fmul(relpos.y, relpos.y); diff --git a/src/skills.c b/src/skills.c index 8c629b1..474ef65 100644 --- a/src/skills.c +++ b/src/skills.c @@ -15,7 +15,7 @@ fixed_t skill_cooldown(int skill) else if(skill == AOE_PROJECTILE) return fix(2.0); else if(skill == AOE_PROJECTILE_FAST) - return fix(0.18); + return fix(0.2); else if(skill == AOE_SHOCK) return fix(6.0); else if(skill == AOE_JUDGEMENT)