faction.cpp & .h header include cleanup and faction.cpp code structure style change

This commit is contained in:
Akkadius 2014-12-15 21:57:07 -06:00
parent 3d8777084c
commit 0c21f56ff3
2 changed files with 113 additions and 87 deletions

View File

@ -15,11 +15,12 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#include "debug.h"
#include "faction.h" #include "faction.h"
#include "races.h" #include "races.h"
const char *FactionValueToString(FACTION_VALUE fv) { const char *FactionValueToString(FACTION_VALUE fv)
{
switch (fv) { switch (fv) {
case FACTION_ALLY: case FACTION_ALLY:
return ("Ally"); return ("Ally");
@ -55,52 +56,74 @@ const char *FactionValueToString(FACTION_VALUE fv) {
FACTION_VALUE CalculateFaction(FactionMods* fm, int32 tmpCharacter_value) FACTION_VALUE CalculateFaction(FactionMods* fm, int32 tmpCharacter_value)
{ {
int32 character_value = tmpCharacter_value; int32 character_value = tmpCharacter_value;
if (fm) if (fm) {
character_value += fm->base + fm->class_mod + fm->race_mod + fm->deity_mod; character_value += fm->base + fm->class_mod + fm->race_mod + fm->deity_mod;
if(character_value >= 1101) return FACTION_ALLY; }
if(character_value >= 701 && character_value <= 1100) return FACTION_WARMLY; if (character_value >= 1101) {
if(character_value >= 401 && character_value <= 700) return FACTION_KINDLY; return FACTION_ALLY;
if(character_value >= 101 && character_value <= 400) return FACTION_AMIABLE; }
if(character_value >= 0 && character_value <= 100) return FACTION_INDIFFERENT; if (character_value >= 701 && character_value <= 1100) {
if(character_value >= -100 && character_value <= -1) return FACTION_APPREHENSIVE; return FACTION_WARMLY;
if(character_value >= -700 && character_value <= -101) return FACTION_DUBIOUS; }
if(character_value >= -999 && character_value <= -701) return FACTION_THREATENLY; if (character_value >= 401 && character_value <= 700) {
if(character_value <= -1000) return FACTION_SCOWLS; return FACTION_KINDLY;
}
if (character_value >= 101 && character_value <= 400) {
return FACTION_AMIABLE;
}
if (character_value >= 0 && character_value <= 100) {
return FACTION_INDIFFERENT;
}
if (character_value >= -100 && character_value <= -1) {
return FACTION_APPREHENSIVE;
}
if (character_value >= -700 && character_value <= -101) {
return FACTION_DUBIOUS;
}
if (character_value >= -999 && character_value <= -701) {
return FACTION_THREATENLY;
}
if (character_value <= -1000) {
return FACTION_SCOWLS;
}
return FACTION_INDIFFERENT; return FACTION_INDIFFERENT;
} }
// this function should check if some races have more than one race define // this function should check if some races have more than one race define
bool IsOfEqualRace(int r1, int r2) bool IsOfEqualRace(int r1, int r2)
{ {
if (r1 == r2) if (r1 == r2) {
return true; return true;
}
// TODO: add more values // TODO: add more values
switch(r1) switch (r1) {
{
case DARK_ELF: case DARK_ELF:
if (r2 == 77) if (r2 == 77) {
return true; return true;
}
break; break;
case BARBARIAN: case BARBARIAN:
if (r2 == 90) if (r2 == 90) {
return true; return true;
} }
}
return false; return false;
} }
// trolls endure ogres, dark elves, ... // trolls endure ogres, dark elves, ...
bool IsOfIndiffRace(int r1, int r2) bool IsOfIndiffRace(int r1, int r2)
{ {
if (r1 == r2) if (r1 == r2) {
return true; return true;
}
// TODO: add more values // TODO: add more values
switch(r1) switch (r1) {
{
case DARK_ELF: case DARK_ELF:
case OGRE: case OGRE:
case TROLL: case TROLL:
if (r2 == OGRE || r2 == TROLL || r2 == DARK_ELF) if (r2 == OGRE || r2 == TROLL || r2 == DARK_ELF) {
return true; return true;
}
break; break;
case HUMAN: case HUMAN:
case BARBARIAN: case BARBARIAN:
@ -116,20 +139,24 @@ bool IsOfIndiffRace(int r1, int r2)
r2 == HALFLING || r2 == HALFLING ||
r2 == DWARF || r2 == DWARF ||
r2 == HIGH_ELF || r2 == HIGH_ELF ||
r2 == WOOD_ELF) r2 == WOOD_ELF) {
return true; return true;
}
break; break;
case ERUDITE: case ERUDITE:
if (r2 == HUMAN || r2 == HALF_ELF) if (r2 == HUMAN || r2 == HALF_ELF) {
return true; return true;
}
break; break;
case DWARF: case DWARF:
if (r2 == HALFLING || r2 == GNOME) if (r2 == HALFLING || r2 == GNOME) {
return true; return true;
}
break; break;
case HIGH_ELF: case HIGH_ELF:
if (r2 == WOOD_ELF) if (r2 == WOOD_ELF) {
return true; return true;
}
break; break;
case VAHSHIR: case VAHSHIR:
return true; return true;

View File

@ -21,7 +21,6 @@
#include "types.h" #include "types.h"
#include "features.h" #include "features.h"
#include <map> #include <map>
#include <string>
enum FACTION_VALUE { enum FACTION_VALUE {
FACTION_ALLY = 1, FACTION_ALLY = 1,