Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static Map<Integer,Integer> sizeMap = new HashMap<Integer,Integer>();
- public static RSTile[] getNPCTiles(RSCharacter npc){
- if(npc == null){
- return new RSTile[0];
- }
- int id;
- try{
- id =((RSNPC)npc).getID();
- } catch(Exception e){
- return new RSTile[0];
- }
- int enemySize;
- if(sizeMap.containsKey(id)){
- enemySize = sizeMap.get(id);
- } else {
- enemySize = getNPCSize(id);
- sizeMap.put(id, enemySize);
- }
- if(enemySize == 1){
- return new RSTile[]{npc.getPosition()};
- } else if(enemySize == 2){
- RSTile pos = npc.getPosition();
- int x = pos.getX();
- int y = pos.getY();
- int plane = pos.getPlane();
- return new RSArea(new RSTile(x-1,y-1,plane),new RSTile(x,y,plane)).getAllTiles();
- } else if(enemySize == 3){
- return new RSArea(npc.getPosition(),1).getAllTiles();
- } else if(enemySize == 4){
- RSTile pos = npc.getPosition();
- int x = pos.getX();
- int y = pos.getY();
- int plane = pos.getPlane();
- return new RSArea(new RSTile(x-2,y+1,plane),new RSTile(x+1,y-2,plane)).getAllTiles();
- } else{
- return new RSTile[0];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement