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

@ -1,4 +1,4 @@
/* EQEMu: Everquest Server Emulator /* EQEMu: Everquest Server Emulator
Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org) Copyright (C) 2001-2002 EQEMu Development Team (http://eqemu.org)
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -15,34 +15,35 @@
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) { {
case FACTION_ALLY: switch (fv) {
return("Ally"); case FACTION_ALLY:
case FACTION_WARMLY: return ("Ally");
return("Warmly"); case FACTION_WARMLY:
case FACTION_KINDLY: return ("Warmly");
return("Kindly"); case FACTION_KINDLY:
case FACTION_AMIABLE: return ("Kindly");
return("Amiable"); case FACTION_AMIABLE:
case FACTION_INDIFFERENT: return ("Amiable");
return("Indifferent"); case FACTION_INDIFFERENT:
case FACTION_APPREHENSIVE: return ("Indifferent");
return("Apprehensive"); case FACTION_APPREHENSIVE:
case FACTION_DUBIOUS: return ("Apprehensive");
return("Dubious"); case FACTION_DUBIOUS:
case FACTION_THREATENLY: return ("Dubious");
return("Threatenly"); case FACTION_THREATENLY:
case FACTION_SCOWLS: return ("Threatenly");
return("Scowls, ready to attack."); case FACTION_SCOWLS:
default: return ("Scowls, ready to attack.");
break; default:
break;
} }
return("Unknown Faction Con"); return ("Unknown Faction Con");
} }
@ -55,35 +56,56 @@ 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;
} }
@ -91,50 +113,55 @@ bool IsOfEqualRace(int r1, int r2)
// 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;
}
break;
case HUMAN:
case BARBARIAN:
case HALF_ELF:
case GNOME:
case HALFLING:
case WOOD_ELF:
if (r2 == HUMAN ||
r2 == BARBARIAN ||
r2 == ERUDITE ||
r2 == HALF_ELF ||
r2 == GNOME ||
r2 == HALFLING ||
r2 == DWARF ||
r2 == HIGH_ELF ||
r2 == WOOD_ELF) {
return true;
}
break;
case ERUDITE:
if (r2 == HUMAN || r2 == HALF_ELF) {
return true;
}
break;
case DWARF:
if (r2 == HALFLING || r2 == GNOME) {
return true;
}
break;
case HIGH_ELF:
if (r2 == WOOD_ELF) {
return true;
}
break;
case VAHSHIR:
return true; return true;
break; case IKSAR:
case HUMAN: return false;
case BARBARIAN:
case HALF_ELF:
case GNOME:
case HALFLING:
case WOOD_ELF:
if (r2 == HUMAN ||
r2 == BARBARIAN ||
r2 == ERUDITE ||
r2 == HALF_ELF ||
r2 == GNOME ||
r2 == HALFLING ||
r2 == DWARF ||
r2 == HIGH_ELF ||
r2 == WOOD_ELF)
return true;
break;
case ERUDITE:
if (r2 == HUMAN || r2 == HALF_ELF)
return true;
break;
case DWARF:
if (r2 == HALFLING || r2 == GNOME)
return true;
break;
case HIGH_ELF:
if (r2 == WOOD_ELF)
return true;
break;
case VAHSHIR:
return true;
case IKSAR:
return false;
} }
return false; return false;
} }

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,