Guest User

Untitled

a guest
Mar 26th, 2012
27
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package org.apollo.game.event.handler.impl;
  2.  
  3. import org.apollo.game.action.DistancedAction;
  4. import org.apollo.game.event.handler.EventHandler;
  5. import org.apollo.game.event.handler.EventHandlerContext;
  6. import org.apollo.game.event.impl.ObjectActionEvent;
  7. import org.apollo.game.model.Player;
  8. import org.apollo.game.model.def.GameObjectDefinition;
  9. import org.apollo.game.model.map.Position;
  10.  
  11. public class LadderObjectActionEventHandler extends EventHandler<ObjectActionEvent> {
  12.  
  13.     private class LadderClimbingAction extends DistancedAction<Player> {
  14.  
  15.         private final Player player;
  16.  
  17.         private final GameObjectDefinition definition;
  18.  
  19.         private final int option;
  20.  
  21.         private LadderClimbingAction(Player player, Position ladderPosition, GameObjectDefinition definition, int option) {
  22.             super(0, true, player, ladderPosition, 1);
  23.             this.player = player;
  24.             this.definition = definition;
  25.             this.option = option;
  26.         }
  27.  
  28.         @Override
  29.         public void executeAction() {
  30.             String actionName = definition.getActionNames()[option - 1];
  31.             Position playerPosition = player.getPosition();
  32.             if (actionName.contains("down") || actionName.contains("Down")) {
  33.                 if (playerPosition.getHeight() == 0) {
  34.                     climb(new Position(playerPosition.getX(), playerPosition.getY() + 6400, playerPosition.getHeight()));
  35.                 } else {
  36.                     climb(new Position(playerPosition.getX(), playerPosition.getY(), playerPosition.getHeight() - 1));
  37.                 }
  38.             } else if (actionName.contains("up") || actionName.contains("Up")) {
  39.                 if (playerPosition.getY() > 6400) {
  40.                     climb(new Position(playerPosition.getX(), playerPosition.getY() - 6400, playerPosition.getHeight()));
  41.                 } else {
  42.                     climb(new Position(playerPosition.getX(), playerPosition.getY(), playerPosition.getHeight() + 1));
  43.                 }
  44.             }          
  45.         }
  46.  
  47.         private void climb(Position position) {
  48.             player.turnTo(position);
  49.             player.teleport(position);
  50.         }
  51.  
  52.     }
  53.  
  54.     @Override
  55.     public void handle(EventHandlerContext ctx, Player player, ObjectActionEvent event) {
  56.         GameObjectDefinition definition = GameObjectDefinition.forId(event.getId());
  57.         if (definition.getName().contains("Ladder")) {
  58.             player.startAction(new LadderClimbingAction(player, event.getPosition(), definition, event.getOption()));
  59.         }
  60.     }
  61.  
  62. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×