KennySH

Untitled

May 18th, 2014
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 16.62 KB | None | 0 0
  1. package twcore.bots.rustbot.rustrpg;
  2.  
  3. import java.util.Random;
  4.  
  5. import twcore.bots.rustbot.RPGPlayer.RPGPlayer;
  6. import twcore.bots.rustbot.rpgArmor.rpgArmor;
  7. import twcore.bots.rustbot.rpgArmor.rpgArmorOps;
  8. import twcore.bots.rustbot.rpgMap.rpgMapOps;
  9. import twcore.bots.rustbot.rpgMob.rpgMob;
  10. import twcore.bots.rustbot.rpgMob.rpgMobOps;
  11. import twcore.bots.rustbot.rpgWeapon.rpgWeapon;
  12. import twcore.bots.rustbot.rpgWeapon.rpgWeaponOps;
  13. import twcore.core.SubspaceBot;
  14.  
  15. public class rpgEventOps {
  16.    
  17.     /*+------------------------------------------------------------------+
  18.      *
  19.      *                          Needed VARS and CLASSES
  20.      *
  21.      *+------------------------------------------------------------------+  */
  22.  
  23.    
  24.     SubspaceBot bot;
  25.     rpgMapOps rpgm;
  26.     rpgWeaponOps rpgw;
  27.     rpgMobOps rpgmb;
  28.     rpgArmorOps rpga;
  29.    
  30.     public rpgEventOps(SubspaceBot Bot)
  31.     {
  32.         this.bot = Bot;
  33.         rpgw = new rpgWeaponOps(bot);
  34.         rpgm = new rpgMapOps(bot);
  35.         rpgmb = new rpgMobOps(bot);
  36.         rpga = new rpgArmorOps(bot);
  37.     }
  38.    
  39.     Random ran = new Random();
  40.    
  41.     /*+------------------------------------------------------------------+
  42.      *
  43.      *                          Event Methods
  44.      *
  45.      *+------------------------------------------------------------------+  */
  46.    
  47.     //Rolls dice, Creates a bag of 30 ints that are all randomed by min and max value selected and chooses one from the bag
  48.     public int rpg_DiceRoll(int minValue, int maxValue)
  49.     {
  50.         int[] intbag = new int[30];
  51.        
  52.         for (int i = 0; i < 30; i++)
  53.         {
  54.             intbag[i] = ran.nextInt(maxValue - minValue + 1) + minValue;
  55.         }
  56.         return intbag[ran.nextInt(30)];
  57.     }
  58.    
  59.     public void createItemsAndMap()
  60.     {
  61.         //Creates Weapon
  62.         rpgw.AutoWepCreate();
  63.         //Creates Maps
  64.         rpgm.MapCreate();
  65.         //Creates Mobs
  66.         rpgmb.AutoMobCreate();
  67.         //Creates Armor
  68.         rpga.AutoArmCreate();
  69.     }
  70.    
  71.     public void expCheck(RPGPlayer Player)
  72.     {
  73.         if (Player.getExperience() > 100 * Player.getLevel())
  74.         {
  75.             Player.setLevel(Player.getLevel() + 1);
  76.             Player.setHealth(100 + 15 * Player.getLevel());
  77.             Player.setExperience(0);
  78.             bot.ba.sendChatMessage(1,"|LEVEL| - "+Player.getPlayerName()+" has leveled up to level "+Player.getLevel()+"!");
  79.         }
  80.     }
  81.    
  82.     public void hpCheck(RPGPlayer Player)
  83.     {
  84.         if (Player.getHealth() <= 0)
  85.         {
  86.             Player.setWeapon("Fists");
  87.             Player.setWeaponAttack(1);
  88.             Player.setMapIndex(4);
  89.             Player.setLevel(1);
  90.             Player.setDeaths(Player.getDeaths() + 1);
  91.             Player.setHealth(100);
  92.             String PMap = rpgm.grabRPGMap(Player.getMapIndex());
  93.             bot.ba.sendChatMessage(1,"|DEATH| - "+Player.getPlayerName()+" has died and spawned at "+PMap+"!" );
  94.         }
  95.     }
  96.    
  97.     public void hpRegen(RPGPlayer Player)
  98.     {
  99.         if (Player.getHealth() > 0 && Player.getHealth() < 100 + 15 * Player.getLevel() - 15)
  100.         {
  101.             Player.setHealth(Player.getHealth() + 5 + 1 * Player.getLevel());
  102.         }
  103.     }
  104.    
  105.     /*+------------------------------------------------------------------+
  106.      *
  107.      *                          Command Methods
  108.      *
  109.      *+------------------------------------------------------------------+  */
  110.  
  111.  
  112.     public String fill(int length, String with) {
  113.         StringBuilder sb = new StringBuilder(length);
  114.         while (sb.length() < length) {
  115.             sb.append(with);
  116.         }
  117.         return sb.toString();
  118.     }
  119.  
  120.     public String pad(String value, int length) {
  121.         return pad(value, length, " ");
  122.     }
  123.  
  124.     public String pad(String value, int length, String with) {
  125.         StringBuilder result = new StringBuilder(length);
  126.         // Pre-fill a String value
  127.         result.append(fill(Math.max(0, length - value.length()), with));
  128.         result.append(value);
  129.  
  130.         return result.toString();
  131.     }
  132.    
  133.     public String fill(String value, int length, String with) {
  134.  
  135.         StringBuilder result = new StringBuilder(length);
  136.         result.append(value);
  137.         result.append(fill(Math.max(0, length - value.length()), with));
  138.  
  139.         return result.toString();
  140.  
  141.     }
  142.    
  143.     public void meCommand(RPGPlayer sender)
  144.     {                                                       //9         //36                            //72
  145.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<-----------------------------<[ -[STATS]- ]>----------------------------->");
  146.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<] Player : "+fill(sender.getPlayerName(),25," ")+" | Level: "+fill(Integer.toString(sender.getLevel()),27," ")+"[>");
  147.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<] Weapon : "+fill(sender.getWeapon(),25," ")+" | Attack : "+fill(Integer.toString(sender.getWeaponAttack()),25," ")+"[>");
  148.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<] Armor : "+fill(sender.getArmor(),26," ")+" | Defense : "+fill(Integer.toString(sender.getArmorDefense()),24," ")+"[>");
  149.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<] Kills : "+fill(Integer.toString(sender.getKills()),11," ")+" | Deaths : "+fill(Integer.toString(sender.getDeaths()),11," ")+" | Experience : "+fill(Integer.toString(sender.getExperience())+"/"+Integer.toString(100 * sender.getLevel()),13," ")+"[>");
  150.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<] Health : "+fill(Integer.toString(sender.getHealth())+"/"+Integer.toString(100+15*sender.getLevel()-15),16," ")+" | Location : "+fill(rpgm.grabRPGMap(sender.getMapIndex()),32," ")+"[>");
  151.         bot.ba.sendPrivateMessage(sender.getPlayerName(),"<------------------------------<[ -[RPG]- ]>------------------------------>");
  152.     }
  153.    
  154.     public void mapCommand(String sender)
  155.     {
  156.         bot.ba.sendPrivateMessage(sender, "<------------------------------<[ -[MAP]- ]>---+");
  157.         bot.ba.sendPrivateMessage(sender, "<] "+rpgm.grabRPGMap(0)+"<>"+rpgm.grabRPGMap(1)+"<>"+rpgm.grabRPGMap(2)+"<>"
  158.                 +rpgm.grabRPGMap(3)+"<>[Safe]"+rpgm.grabRPGMap(4)+"[Safe]<>"+rpgm.grabRPGMap(5)+"<>"+rpgm.grabRPGMap(6)
  159.                 +"<>"+rpgm.grabRPGMap(7)+"<>"+rpgm.grabRPGMap(8));
  160.         bot.ba.sendPrivateMessage(sender, "<------------------------------<[ -[MAP]- ]>---+");
  161.     }
  162.    
  163.     public void helpCommand(String sender)
  164.     {
  165.         String[] help = {
  166.                 "+-- RPG Commands ---------------------------------------------------------------------------.",
  167.                 "| !rpg register            - Registers to play the rpg game                                 |",
  168.                 "| !rpg me                  - Shows rpg character info                                       |",
  169.                 "| !rpg map                 - Shows map list in order                                        |",
  170.                 "| !rpg help                - Shows this helo menu                                           |",
  171.                 "| !rpg list                - Shows a list of players on rpg (online players)                |",
  172.         };
  173.         String[] op = {
  174.                 "+-- RPG OP Commands ------------------------------------------------------------------------+",
  175.                 "| !rpg on                  - Turns off RPG                                                  |",
  176.                 "| !rpg off                 - Turns on RPG                                                   |",
  177.         };
  178.         String end = "`-------------------------------------------------------------------------------------------'";
  179.        
  180.         bot.ba.smartPrivateMessageSpam(sender, help);
  181.         if (bot.ba.getOperatorList().isSysop(sender))
  182.         {
  183.             bot.ba.smartPrivateMessageSpam(sender, op);
  184.         }
  185.         bot.ba.sendPrivateMessage(sender, end);
  186.     }
  187.    
  188.     /*+------------------------------------------------------------------+
  189.      *
  190.      *                          Events
  191.      *
  192.      *+------------------------------------------------------------------+  */
  193.  
  194.     //Selects Move event from MapOps Class
  195.     public void rpg_MovePlayer(RPGPlayer Player)
  196.     {  
  197.         rpgm.MovePlayer(Player);        //Moves player
  198.         String PMap = rpgm.grabRPGMap(Player.getMapIndex());        //Grabs map from list
  199.         bot.ba.sendChatMessage(1, "|MOVE| - "+Player.getPlayerName()+" has moved to "+PMap+"!");
  200.     }
  201.    
  202.     public void rpg_ItemDrop(RPGPlayer Player)
  203.     {
  204.         //Grabs random Weapon
  205.         rpgWeapon rw = rpgw.RandomWeapon();
  206.         //Grabs random Armor
  207.         rpgArmor ra = rpga.RandomArmor();
  208.         //Grabs Player Map
  209.         String PMap = rpgm.grabRPGMap(Player.getMapIndex());
  210.         //Armor or Weapon Dice
  211.         int itemdice = rpg_DiceRoll(0,100);
  212.         int itemchance = rpg_DiceRoll(0,100);
  213.        
  214.         //If Player is not in town and item dice is for Weapon Drop and Player weapon attack is less than random weapon attack
  215.         if (Player.getMapIndex() != 4 && itemdice > 50 && itemchance > 50 && Player.getWeaponAttack() < rw.getWeaponAttack())
  216.         {
  217.             bot.ba.sendChatMessage(1,"|ITEM| - "+Player.getPlayerName()+" found a chest with "+rw.getWeaponName()+" [ "+rw.getWeaponAttack()+" Attack ] inside of it at "+PMap+"!");
  218.        
  219.             Player.setWeapon(rw.getWeaponName());
  220.             Player.setWeaponAttack(rw.getWeaponAttack());
  221.         }
  222.         //Item dice is for Armor Drop and Player ARmor is less than random armor defense
  223.         if (Player.getMapIndex() != 4 && itemdice < 50  && itemchance > 50 && Player.getArmorDefense() < ra.getArmorDefense())
  224.         {
  225.             bot.ba.sendChatMessage(1, "|ITEM| - "+Player.getPlayerName()+" found a chest with "+ra.getArmor()+" [ "+ra.getArmorDefense()+" Defense ] inside of it at "+PMap+"!");
  226.             Player.setArmor(ra.getArmor());
  227.             Player.setArmorDefense(ra.getArmorDefense());
  228.         }
  229.         //If Player Armor Defense is less than Random Armor Defense and Player Weapon attack is less than Random Weapon Attack
  230.         //and if Item dice is = 50
  231.         if (Player.getMapIndex() != 4 && itemdice == 50 && Player.getArmorDefense() < ra.getArmorDefense() && Player.getWeaponAttack() < rw.getWeaponAttack())
  232.         {
  233.             bot.ba.sendChatMessage(1,"|ITEM| - "+Player.getPlayerName()+" found a chest with "+rw.getWeaponName()+" [ "+rw.getWeaponAttack()+" Attack ] and "
  234.                     +ra.getArmor()+" [ "+ra.getArmorDefense()+" Defense ] inside of it at "+PMap+"!");
  235.            
  236.             Player.setWeapon(rw.getWeaponName());
  237.             Player.setWeaponAttack(rw.getWeaponAttack());
  238.             Player.setArmor(ra.getArmor());
  239.             Player.setArmorDefense(ra.getArmorDefense());
  240.         }
  241.        
  242.         if (Player.getMapIndex() != 4  && itemchance < 50  && Player.getArmorDefense() >= ra.getArmorDefense() && Player.getWeaponAttack() >= rw.getWeaponAttack())
  243.         bot.ba.sendChatMessage(1,"|ITEM| - "+Player.getPlayerName()+" found a chest with nothing inside at "+PMap+"!");
  244.         hpRegen(Player);
  245.  
  246.     }
  247.    
  248.     public void rpg_PlayerDuel(RPGPlayer Player,RPGPlayer EPlayer)
  249.     {
  250.         String PMap = rpgm.grabRPGMap(Player.getMapIndex());
  251.         int crit = rpg_DiceRoll(0,5);
  252.         int ecrit = rpg_DiceRoll(0,5);
  253.         int duelmath = (Player.getWeaponAttack() - EPlayer.getArmorDefense()) + Player.getLevel() + crit - (EPlayer.getWeaponAttack() - Player.getArmorDefense()) + EPlayer.getLevel() + ecrit;
  254.         int stealdice = rpg_DiceRoll(0,100);
  255.         int stealtype = rpg_DiceRoll(0,100);
  256.         int duelchance = rpg_DiceRoll(0,100);
  257.        
  258.         if (Player.getMapIndex() != 4 && EPlayer.getMapIndex() != 4 && duelchance > 50)
  259.         {
  260.             if (duelmath > 0)
  261.             {
  262.                 bot.ba.sendChatMessage(1, "|DUEL| - "+Player.getPlayerName()+" injured "+EPlayer.getPlayerName()+" with his "+Player.getWeapon()+" [ "+Player.getWeaponAttack()+" Attack ] at "+PMap+"!");
  263.            
  264.                 if (Player.getWeaponAttack() < EPlayer.getWeaponAttack() && stealdice > 50 && stealtype >= 50)
  265.                 {
  266.                     bot.ba.sendChatMessage(1,"|DUEL| - "+Player.getPlayerName()+" stole "+EPlayer.getPlayerName()+"s "+EPlayer.getWeapon()+" [ "+EPlayer.getWeaponAttack()+" Attack ] !");
  267.                     Player.setWeapon(EPlayer.getWeapon());
  268.                     Player.setWeaponAttack(EPlayer.getWeaponAttack());
  269.                     EPlayer.setWeapon("Fists");
  270.                     EPlayer.setWeaponAttack(1);
  271.                 }
  272.                 if (Player.getArmorDefense() < EPlayer.getArmorDefense() && stealdice > 50 && stealtype < 50)
  273.                 {
  274.                     bot.ba.sendChatMessage(1,"|DUEL| - "+Player.getPlayerName()+" stole "+EPlayer.getPlayerName()+"s "+EPlayer.getArmor()+" [ "+EPlayer.getArmorDefense()+" Defense ] !");
  275.                     Player.setArmor(EPlayer.getArmor());
  276.                     Player.setArmorDefense(EPlayer.getArmorDefense());
  277.                     EPlayer.setArmor("Naked");
  278.                     EPlayer.setArmorDefense(1);
  279.                 }
  280.                 bot.ba.sendChatMessage(1,"|DUEL STAT| - ["+duelmath+"]");
  281.                 EPlayer.setHealth(EPlayer.getHealth() - duelmath);
  282.                 if (EPlayer.getHealth() <= 0)
  283.                     Player.setKills(Player.getKills() + 1);
  284.                 hpCheck(EPlayer);
  285.                 Player.setExperience(Player.getExperience() + 10);
  286.                 expCheck(Player);
  287.                 hpRegen(Player);
  288.             }
  289.             if (duelmath < 0)
  290.             {
  291.                 bot.ba.sendChatMessage(1, "|DUEL| - "+Player.getPlayerName()+" tried to kill "+EPlayer.getPlayerName()+" and got injured by "+EPlayer.getPlayerName()+"s "+EPlayer.getWeapon()+" [ "+EPlayer.getWeaponAttack()+" Attack ] at "+PMap+"!");
  292.            
  293.                 if (EPlayer.getWeaponAttack() < Player.getWeaponAttack() && stealdice > 50 && stealtype >= 50)
  294.                 {
  295.                     bot.ba.sendChatMessage(1,"|DUEL| - "+EPlayer.getPlayerName()+" stole "+Player.getPlayerName()+"s "+Player.getWeapon()+" [ "+Player.getWeaponAttack()+" Attack ] !");
  296.                     EPlayer.setWeapon(Player.getWeapon());
  297.                     EPlayer.setWeaponAttack(Player.getWeaponAttack());
  298.                     Player.setWeapon("Fists");
  299.                     Player.setWeaponAttack(1);
  300.                 }
  301.                 if (EPlayer.getArmorDefense() < Player.getArmorDefense() && stealdice > 50 && stealtype < 50)
  302.                 {
  303.                     bot.ba.sendChatMessage(1,"|DUEL| - "+EPlayer.getPlayerName()+" stole "+Player.getPlayerName()+"s "+Player.getArmor()+" [ "+Player.getArmorDefense()+" Defense ] !");
  304.                     EPlayer.setArmor(Player.getArmor());
  305.                     EPlayer.setArmorDefense(Player.getArmorDefense());
  306.                     Player.setArmor("Naked");
  307.                     Player.setArmorDefense(1);
  308.                 }
  309.                 bot.ba.sendChatMessage(1,"|DUEL STAT| - ["+duelmath+"]");
  310.                 Player.setHealth(Player.getHealth() - duelmath + duelmath *2);
  311.                 if (Player.getHealth() <= 0)
  312.                     EPlayer.setKills(EPlayer.getKills() + 1);
  313.                 hpCheck(Player);
  314.                 EPlayer.setExperience(EPlayer.getExperience() + 10);
  315.                 expCheck(EPlayer);
  316.                 hpRegen(EPlayer);
  317.             }
  318.             if (duelmath == 0)
  319.             {
  320.                 bot.ba.sendChatMessage(1,"|DUEL| - "+Player.getPlayerName()+" attacked "+EPlayer.getPlayerName()+" but unfortunately they both got injured and fled at "+PMap+"!");
  321.                 EPlayer.setExperience(EPlayer.getExperience() - 10);
  322.                 Player.setExperience(Player.getExperience() - 10);
  323.             }
  324.         }
  325.         else
  326.         {
  327.             return;
  328.         }
  329.     }
  330.    
  331.     public void rpg_MobEncounter(RPGPlayer Player)
  332.     {
  333.         rpgMob mob = rpgmb.grabRandomMob();
  334.        
  335.         String PMap = rpgm.grabRPGMap(Player.getMapIndex());
  336.         int crit = rpg_DiceRoll(0,5);
  337.         int mcrit = rpg_DiceRoll(0,5);
  338.         int duelmath = (Player.getWeaponAttack() - mob.getMobDefense()) + Player.getLevel() + crit - (mob.getMobAttack() + Player.getLevel() - Player.getArmorDefense()) + mcrit;
  339.        
  340.         if (duelmath > 0 && Player.getMapIndex() != 4)
  341.         {
  342.             bot.ba.sendChatMessage(1, "|MOB| - "+Player.getPlayerName()+" has defeated "+mob.getMobName()+" with his "+Player.getWeapon()+" [ "+Player.getWeaponAttack()+" Attack ] at "+PMap+"!");
  343.             bot.ba.sendChatMessage(1,"|BATTLE STATS| - ["+duelmath+"]");
  344.             Player.setExperience(Player.getExperience() + 5);
  345.             expCheck(Player);
  346.             hpRegen(Player);
  347.         }
  348.         if (duelmath < 0 && Player.getMapIndex() != 4)
  349.         {
  350.             bot.ba.sendChatMessage(1, "|MOB| - "+Player.getPlayerName()+" was injured by "+mob.getMobName()+" at "+PMap+"!");
  351.             bot.ba.sendChatMessage(1,"|BATTLE STATS| - ["+duelmath+"]");
  352.             Player.setHealth(Player.getHealth() - duelmath + duelmath *2);
  353.             hpCheck(Player);
  354.            
  355.         }
  356.         if (duelmath == 0 && Player.getMapIndex() != 4)
  357.         {
  358.             bot.ba.sendChatMessage(1, "|MOB| - "+Player.getPlayerName()+" encountered "+mob.getMobName()+" and has fled for his life!");
  359.             Player.setExperience(Player.getExperience() - 5);
  360.             hpRegen(Player);
  361.         }
  362.     }
  363.    
  364.     public void rpg_Luck(RPGPlayer Player)
  365.     {
  366.         int luckdice = rpg_DiceRoll(0,100);
  367.         int rexp = rpg_DiceRoll(0,50);
  368.         int diedice = rpg_DiceRoll(0,100);
  369.         String PMap = rpgm.grabRPGMap(Player.getMapIndex());
  370.        
  371.         if (luckdice > 50)
  372.         {
  373.             bot.ba.sendChatMessage(1, "|LUCK| - The seven Gods have blessed "+Player.getPlayerName()+" with "+rexp+" experience points!");
  374.             Player.setExperience(Player.getExperience() + rexp);
  375.             hpRegen(Player);
  376.         }
  377.         if (luckdice < 50)
  378.         {
  379.             bot.ba.sendChatMessage(1, "|LUCK| - The seven Gods have cursed "+Player.getPlayerName()+" and lost "+rexp+" experience points!");
  380.             Player.setExperience(Player.getExperience() - rexp);
  381.             expCheck(Player);
  382.         }
  383.         if (luckdice == 50)
  384.         {
  385.             bot.ba.sendChatMessage(1, "|LUCK| - "+Player.getPlayerName()+" has been struck by lightning!");
  386.             if (diedice > 90)
  387.             {
  388.                 Player.setWeapon("Fists");
  389.                 Player.setWeaponAttack(1);
  390.                 Player.setMapIndex(4);
  391.                 Player.setLevel(1);
  392.                 Player.setDeaths(Player.getDeaths() + 1);
  393.                 Player.setHealth(100);
  394.                 bot.ba.sendChatMessage(1,"|DEATH| - "+Player.getPlayerName()+" has died and spawned at "+PMap+"!" );
  395.             }
  396.             if (diedice <= 90)
  397.             {
  398.                 bot.ba.sendChatMessage(1,"|LUCK| - "+Player.getPlayerName()+" was badly injured and lost "+rexp+" experience points!");
  399.                 Player.setExperience(Player.getExperience() - rexp);
  400.             }
  401.         }
  402.     }
  403.  
  404. }
Advertisement
Add Comment
Please, Sign In to add comment