Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Nature.h"
- #include <vector>
- #include <iostream>
- void Nature::resetBuffDebuff(Nature n) {
- n.buff = 0.0;
- n.debuff = 0.0;
- }
- void Nature::setBuffDebuff(Nature n) {
- n.buff = 1.1;
- n.debuff = 0.9;
- }
- void Nature::initNatures () {
- Nature n;
- for (int i = 0; i < 25; i++) {
- switch (i) {
- case 0:
- n.name = "Hardy";
- resetBuffDebuff(n);
- break;
- case 1:
- n.name = "Lonely";
- setBuffDebuff(n);
- break;
- case 2:
- n.name = "Brave";
- break;
- case 3:
- n.name = "Adamant";
- break;
- case 4:
- n.name = "Naughty";
- break;
- case 5:
- n.name = "Bold";
- break;
- case 6:
- n.name = "Docile";
- resetBuffDebuff(n);
- break;
- case 7:
- n.name = "Relaxed";
- setBuffDebuff(n);
- break;
- case 8:
- n.name = "Impish";
- break;
- case 9:
- n.name = "Lax";
- break;
- case 10:
- n.name = "Timid";
- break;
- case 11:
- n.name = "Hasty";
- break;
- case 12:
- n.name = "Serious";
- resetBuffDebuff(n);
- break;
- case 13:
- n.name = "Jolly";
- setBuffDebuff(n);
- break;
- case 14:
- n.name = "Naive";
- break;
- case 15:
- n.name = "Modest";
- break;
- case 16:
- n.name = "Mild";
- break;
- case 17:
- n.name = "Quiet";
- break;
- case 18:
- n.name = "Bashful";
- resetBuffDebuff(n);
- break;
- case 19:
- n.name = "Rash";
- setBuffDebuff(n);
- break;
- case 20:
- n.name = "Calm";
- break;
- case 21:
- n.name = "Gentle";
- break;
- case 22:
- n.name = "Sassy";
- break;
- case 23:
- n.name = "Careful";
- break;
- case 24:
- n.name = "Quirky";
- resetBuffDebuff(n);
- break;
- }
- if (i == 0) {
- std::cout << "\n";
- }
- natureList[i] = n;
- }
- }
- std::string Nature::natureDescription(Nature n) {
- int i = 0;
- for(i; i < natureList.size(); i++) {
- if (natureList[i].name == n.name)
- break;
- }
- switch (i) {
- case 0:
- return "No stat modifiers.";
- case 1:
- return "Raises Attack, lowers Defense.";
- case 2:
- return "Raises Attack, lowers Evasiveness.";
- case 3:
- return "Raises Attack, lowers Special Attack.";
- case 4:
- return "Raises Attack, lowers Special Defense.";
- case 5:
- return "Raises Defense, lowers Attack.";
- case 6:
- return "No stat modifiers.";
- case 7:
- return "Raises Defense, lowers Evasiveness.";
- case 8:
- return "Raises Defense, lowers Special Attack.";
- case 9:
- return "Raises Defense, lowers Special Defense.";
- case 10:
- return "Raises Evasiveness, lowers Attack.";
- case 11:
- return "Raises Evasiveness, lowers Defense.";
- case 12:
- return "No stat modifiers.";
- case 13:
- return "Raises Evasiveness, lowers Special Attack.";
- case 14:
- return "Raises Evasiveness, lowers Special Defense.";
- case 15:
- return "Raises Special Attack, lowers Attack.";
- case 16:
- return "Raises Special Attack, lowers Defense.";
- case 17:
- return "Raises Special Attack, lowers Evasiveness.";
- case 18:
- return "No stat modifiers.";
- case 19:
- return "Raises Special Attack, lowers Special Defense.";
- case 20:
- return "Raises Special Defense, lowers Attack.";
- case 21:
- return "Raises Special Defense, lowers Defense.";
- case 22:
- return "Raises Special Defense, lowers Evasiveness.";
- case 23:
- return "Raises Special Defense, lowers Special Attack";
- case 24:
- return "No stat modifiers.";
- default:
- //** In case I did something wrong **//
- return "IF YOU ARE SEEING THIS THIS MEANS THAT THE CODE HAS FAILED SOMEWHERE. REPORT IT IMMEDIATELY.";
- }
- }
- void Nature::applyNatureStatChanges (Pokemon::Pokemon p) {
- int n = p.nature;
- switch (n) {
- case 1:
- p.attack *= natureList[n].buff;
- p.defense *= natureList[n].debuff;
- break;
- case 2:
- p.attack *= natureList[n].buff;
- p.evasiveness *= natureList[n].debuff;
- break;
- case 3:
- p.attack *= natureList[n].buff;
- p.spAttack *= natureList[n].debuff;
- break;
- case 4:
- p.attack *= natureList[n].buff;
- p.spDefense *= natureList[n].debuff;
- break;
- case 5:
- p.defense *= natureList[n].buff;
- p.attack *= natureList[n].debuff;
- break;
- case 7:
- p.defense *= natureList[n].buff;
- p.evasiveness *= natureList[n].debuff;
- break;
- case 8:
- p.defense *= natureList[n].buff;
- p.spAttack *= natureList[n].debuff;
- break;
- case 9:
- p.defense *= natureList[n].buff;
- p.spDefense *= natureList[n].debuff;
- break;
- case 10:
- p.evasiveness *= natureList[n].buff;
- p.attack *= natureList[n].debuff;
- break;
- case 11:
- p.evasiveness *= natureList[n].buff;
- p.defense *= natureList[n].debuff;
- break;
- case 13:
- p.evasiveness *= natureList[n].buff;
- p.spAttack *= natureList[n].debuff;
- break;
- case 14:
- p.evasiveness *= natureList[n].buff;
- p.spDefense *= natureList[n].debuff;
- break;
- case 15:
- p.spAttack *= natureList[n].buff;
- p.attack *= natureList[n].debuff;
- break;
- case 16:
- p.spAttack *= natureList[n].buff;
- p.defense *= natureList[n].debuff;
- break;
- case 17:
- p.spAttack *= natureList[n].buff;
- p.evasiveness *= natureList[n].debuff;
- break;
- case 19:
- p.spAttack *= natureList[n].buff;
- p.spDefense *= natureList[n].debuff;
- break;
- case 20:
- p.spDefense *= natureList[n].buff;
- p.attack *= natureList[n].debuff;
- break;
- case 21:
- p.spDefense *= natureList[n].buff;
- p.defense *= natureList[n].debuff;
- break;
- case 22:
- p.spDefense *= natureList[n].buff;
- p.evasiveness *= natureList[n].debuff;
- break;
- case 23:
- p.spDefense *= natureList[n].buff;
- p.spAttack *= natureList[n].debuff;
- break;
- default:
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement