diff options
Diffstat (limited to 'internal/game')
| -rw-r--r-- | internal/game/sys_combat.go | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/internal/game/sys_combat.go b/internal/game/sys_combat.go index e05cfed..b37459e 100644 --- a/internal/game/sys_combat.go +++ b/internal/game/sys_combat.go @@ -104,18 +104,18 @@ func (g *Game) checkAggro(sess *net.Session) { } aggMob := mob - rollAggro := func() (stop bool) { + keepRolling := func() (keep bool) { if g.Combat.Get(p.Name) != nil { - return true + return false } if aggMob.HP <= 0 || aggMob.RoomID != p.RoomID { - return true + return false } if g.Combat.IsMobInCombat(aggMob.InstanceID) { - return true + return false } if rollAggroRand() >= aggroChancePerTick { - return false + return true } attacker := aggMob.Name if !aggMob.Unique { @@ -123,13 +123,13 @@ func (g *Game) checkAggro(sess *net.Session) { } sess.WriteLine(fmt.Sprintf("%s attacks you!", g.colorize(sess, "mob", attacker))) g.startCombat(sess, p, aggMob) - return true + return false } - if rollAggro() { + if !keepRolling() { break } - g.Ticks.Subscribe(1, func() bool { return !rollAggro() }) + g.Ticks.Subscribe(1, keepRolling) break } } |
