diff --git a/player.go b/player.go index 1780a5c..7dca9a8 100644 --- a/player.go +++ b/player.go @@ -78,7 +78,7 @@ func (p *player) checkCollisions(g *game, move_vector v.Vector2d) (bool, v.Point player_rect := v.RectFromPoint(player.Robot.Position, 3) collision, _, pos := v.RectIntersection(player_rect, p.Robot.Position, move_vector) if collision { - log.Printf("Player Collision %v hit %v, rect:%v", p.Robot.Position, move_vector, player_rect) + // log.Printf("Player Collision %v hit %v, rect:%v", p.Robot.Position, move_vector, player_rect) return collision, pos, player } } @@ -87,7 +87,7 @@ func (p *player) checkCollisions(g *game, move_vector v.Vector2d) (bool, v.Point for _, obj := range g.obstacles { collision, _, pos := v.RectIntersection(obj.Bounds, p.Robot.Position, move_vector) if collision { - log.Printf("Object Collision %v hit %v, rect:%v", p.Robot.Position, move_vector, obj.Bounds) + // log.Printf("Object Collision %v hit %v, rect:%v", p.Robot.Position, move_vector, obj.Bounds) return collision, pos, nil } } diff --git a/projectile.go b/projectile.go index 9df160a..0235333 100644 --- a/projectile.go +++ b/projectile.go @@ -2,6 +2,7 @@ package main import ( v "bitbucket.org/hackerbots/vector" + "log" ) type Projectile struct { @@ -25,9 +26,18 @@ func (p *Projectile) Tick(g *game) { if player == p.Owner { continue } - dist := v.Distance(player.Robot.Position, p.Position) - if dist < 5.0 { + + player_rect := v.RectFromPoint(player.Robot.Position, 3) + collision, _, _ := v.RectIntersection(player_rect, p.Position, v_scaled) + if collision { hit_player = true + + if player.Robot.Health > 0 { + // Direct hit causes more damage + log.Printf("Direct Hit %v, Dmg:%v", player.Robot.Id, p.Damage) + + player.Robot.Health -= p.Damage + } } } @@ -54,12 +64,10 @@ func (p *Projectile) Tick(g *game) { // Spawn a splosion splo := &Splosion{ - Id: p.Id, - Position: p.Position, - Radius: p.Radius, - MaxDamage: 10, - MinDamage: 5, - Lifespan: 8, + Id: p.Id, + Position: p.Position, + Radius: p.Radius, + Lifespan: 8, } g.splosions[splo] = true diff --git a/splosion.go b/splosion.go index 823824e..746c921 100644 --- a/splosion.go +++ b/splosion.go @@ -8,8 +8,6 @@ type Splosion struct { Id string `json:"id"` Position v.Point2d `json:"position"` Radius int `json:"radius"` - MaxDamage int `json:"-"` - MinDamage int `json:"-"` Lifespan int `json:"-"` }