Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum DamageType{
- MELEE,
- RANGED,
- MAGICAL
- }
- //Types of attacks in the game
- public void meleeAttack(Character attacker, Character attacked) {
- DamageType dmgType = DamageType.MELEE;
- int chanceToHit = hitChanceCalculate(attacker, attacked, dmgType);
- if (!(chanceToHit == 0)) {
- takeDamage(attacker, attacked, chanceToHit);
- }
- }
- public void rangedAttack(Character attacker, Character attacked) {
- DamageType dmgType = DamageType.RANGED;
- int chanceToHit = hitChanceCalculate(attacker, attacked, dmgType);
- if (!(chanceToHit == 0)) {
- takeDamage(attacker, attacked, chanceToHit);
- }
- }
- public void magicalAttack(Character attacker, Character attacked) {
- DamageType dmgType = DamageType.MAGICAL;
- int chanceToHit = hitChanceCalculate(attacker, attacked, dmgType);
- if (!(chanceToHit == 0)) {
- takeDamage(attacker, attacked, chanceToHit);
- }
- }
- public int hitChanceCalculate(Character attacker, Character attacked, DamageType dmgType) {
- int chanceToHit = 0;
- System.out.println(dmgType);
- switch(dmgType) {
- case MELEE:
- System.out.println("Melee attack commenced!");
- return chanceToHit = dice.generalRollD20() + getModifier(attacker.strength);
- case RANGED:
- System.out.println("Ranged attack commenced!");
- return chanceToHit = dice.generalRollD20() + getModifier(attacker.dexterity);
- case MAGICAL:
- System.out.println("Magical attack commenced!");
- return chanceToHit = dice.generalRollD20() + getModifier(attacker.intelligence);
- }
- return chanceToHit;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement