Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.51 KB | None | 0 0
  1. enum DamageType{
  2.         MELEE,
  3.         RANGED,
  4.         MAGICAL
  5.     }
  6. //Types of attacks in the game
  7.     public void meleeAttack(Character attacker, Character attacked) {
  8.         DamageType dmgType = DamageType.MELEE;
  9.         int chanceToHit = hitChanceCalculate(attacker, attacked, dmgType);
  10.         if (!(chanceToHit == 0)) {
  11.             takeDamage(attacker, attacked, chanceToHit);
  12.         }
  13.     }
  14.     public void rangedAttack(Character attacker, Character attacked) {
  15.         DamageType dmgType = DamageType.RANGED;
  16.         int chanceToHit = hitChanceCalculate(attacker, attacked, dmgType);
  17.         if (!(chanceToHit == 0)) {
  18.             takeDamage(attacker, attacked, chanceToHit);
  19.         }
  20.     }
  21.     public void magicalAttack(Character attacker, Character attacked) {
  22.         DamageType dmgType = DamageType.MAGICAL;
  23.         int chanceToHit = hitChanceCalculate(attacker, attacked, dmgType);
  24.         if (!(chanceToHit == 0)) {
  25.             takeDamage(attacker, attacked, chanceToHit);
  26.         }
  27.     }  
  28.  
  29. public int hitChanceCalculate(Character attacker, Character attacked, DamageType dmgType) {
  30.         int chanceToHit = 0;
  31.         System.out.println(dmgType);
  32.         switch(dmgType) {
  33.         case MELEE:
  34.             System.out.println("Melee attack commenced!");
  35.             return chanceToHit = dice.generalRollD20() + getModifier(attacker.strength);
  36.         case RANGED:
  37.             System.out.println("Ranged attack commenced!");
  38.             return chanceToHit = dice.generalRollD20() + getModifier(attacker.dexterity);
  39.         case MAGICAL:
  40.             System.out.println("Magical attack commenced!");
  41.             return chanceToHit = dice.generalRollD20() + getModifier(attacker.intelligence);
  42.         }
  43.         return chanceToHit;
  44.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement