Advertisement
Guest User

Untitled

a guest
Aug 20th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. import dialogue.InputPrompt;
  2. import npcchat.NPCChat;
  3. import npcchatinterface.NPCDialogue;
  4. import npcchatinterface.NPCOption;
  5. import random.Random;
  6. import random.RandomConstant;
  7. import random.RandomDelay;
  8. import script.nodescript.Node;
  9.  
  10. public abstract class NPCChatNode extends Node {
  11. private NPCChat npcChat;
  12. private RandomConstant dialogueParseTimeLowerBound;
  13. private RandomConstant dialogueParseTimeRange;
  14. private RandomConstant dialogueKBorM;
  15. public NPCChatNode(String name, NPCChat npcChat) {
  16. super(name);
  17. this.npcChat = npcChat;
  18. this.dialogueParseTimeLowerBound = new RandomConstant("dialogueParseTimeLowerBound", 100, 1000, 60*60*1000);
  19. this.dialogueParseTimeRange = new RandomConstant("dialogueParseTimeRange", 500, 2000, 60*60*1000);
  20. this.dialogueKBorM = new RandomConstant("dialogueKBorM", 500, 2000, 12*60*60*1000);
  21. }
  22.  
  23. @Override
  24. public int execute() {
  25. while(NPCChat.isOpen()){
  26. if(canContinue()) {
  27. NPCDialogue.clickContinue(dialogueKBorM.nextDouble() > 0.90);
  28. } else if(NPCOption.isOpen()) {
  29. int option;
  30. if((option = npcChat.getOption()) != -1){
  31. NPCOption.selectOption(option, dialogueKBorM.nextDouble() > 0.89);
  32. }else{
  33. System.out.println("No option found breaking out");
  34. return RandomDelay.NODE_TICK.get();
  35. }
  36. }else if(InputPrompt.isOpen()){
  37. Keyboard.sendText(npcChat.getInputPromptText());
  38. }
  39. Chrono.sleep(Random.nextInt(dialogueParseTimeLowerBound.get(), dialogueParseTimeLowerBound.get()+dialogueParseTimeRange.get()));
  40. }
  41. return RandomDelay.NODE_TICK.get();
  42. }
  43.  
  44. private boolean canContinue(){
  45. return NPCDialogue.isOpen() && NPCDialogue.canContinue();
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement