@@ -2,6 +2,7 @@ use itertools::Itertools;
2
2
use macroquad:: math:: vec2;
3
3
use macroquad:: prelude:: * ;
4
4
use macroquad:: ui:: Ui ;
5
+ use std:: ops:: { Add , Mul , Sub } ;
5
6
6
7
use server:: action:: Action ;
7
8
use server:: combat:: Combat ;
@@ -94,11 +95,15 @@ fn alpha(game: &Game, state: &State, pos: Position) -> f32 {
94
95
fn draw_combat_arrow ( c : & Combat ) {
95
96
let from = hex_ui:: center ( c. attacker_position ) ;
96
97
let to = hex_ui:: center ( c. defender_position ) ;
97
- draw_line ( from. x , from. y , to. x , to. y , 10. , BLACK ) ;
98
+ let t = vec2 ( to. x , to. y ) ;
99
+ let f = vec2 ( from. x , from. y ) ;
100
+ let e = f. add ( t. sub ( f) . mul ( 0.7 ) ) ;
101
+ draw_line ( from. x , from. y , e. x , e. y , 10. , BLACK ) ;
102
+ let d = f. sub ( t) . normalize ( ) ;
98
103
draw_triangle (
99
- vec2 ( to . x , to . y ) ,
100
- vec2 ( to . x + 30. , to . y + 30. ) ,
101
- vec2 ( to . x - 30. , to . y + 30. ) ,
104
+ t . add ( d . rotate ( vec2 ( 10. , 0. ) ) ) ,
105
+ t . add ( d . rotate ( vec2 ( 30. , 30. ) ) ) ,
106
+ t . add ( d . rotate ( vec2 ( 30. , - 30. ) ) ) ,
102
107
BLACK ,
103
108
) ;
104
109
}
0 commit comments