internal bool checkDestCircleRange(Moveable mob, int range) { return InGame.areCircleswithRange(getDestMid(), getInnerRadius(), mob.getMid(), mob.getInnerRadius(), range); }
internal bool checkCircleRangeAndMove(Moveable mob, int range, double gameTime) { bool aBool; if (aBool = (!InGame.areCircleswithRange(getMid(),getInnerRadius(), mob.getMid(),mob.getInnerRadius(), range))) { sendPlayerInCircleRangeOf( mob.getMid(), mob.getInnerRadius(), range, gameTime); } return aBool; }
//returns true if you can go there, returns false if you just go close enough internal bool tryImoveHere(Moveable guy, Vector2f dest, double gameTime) { //check to see if anythings in there, foreach all the moveables bool b = true ; foreach (Moveable m in moveables) { if(m == guy) continue; if (areCirclesIntersecting(dest, guy.getInnerRadius(), m.getMid(), m.getInnerRadius()) && !guy.isDead()) { b = false; } } if (b && guy is PlayerClassI) { guy.sendPlayerTo(dest, gameTime); } // return b; }
//TODO keep active list of this internal List<PlayerClassI> getLowestHPplayers(int amt, Moveable caster, int range) { if(amt != 2) throw new Exception(); List<PlayerClassI> l = new List<PlayerClassI>(); l.Add(null); l.Add(null); foreach (PlayerClassI mob in getAlivePlayerMoveables()) { if(areCircleswithRange(mob.getMid(),mob.getInnerRadius(),caster.getMid(),caster.getInnerRadius(),range)){ if ((l[0] == null || l[0].getHPpercent() > mob.getHPpercent())) { l[1] = l[0]; l[0] = mob; } else if ((l[1] == null || l[1].getHPpercent() > mob.getHPpercent())) { l[1] = mob; } } } return l; }
//gets in circle range? internal List<Moveable> getAliveEnemyMoveables(Moveable me, int range) { List<Moveable> l = new List<Moveable>(); foreach (Moveable m in moveables) { if (m is Enemy && !m.isDead() && areCircleswithRange(me.getMid(), me.getInnerRadius(),m.getMid(), m.getInnerRadius(), range)) l.Add(m); } return l; }
internal static bool areCircleswithRange(Moveable m1, Moveable m2, int range) { return areCircleswithRange(m1.getMid(), m1.getInnerRadius(), m2.getMid(), m2.getInnerRadius(), range); }