From d5152a0e59b9afc43449c6bffdab051201262c8b Mon Sep 17 00:00:00 2001 From: Uleat Date: Sun, 27 Oct 2013 05:08:53 -0400 Subject: [PATCH] Moved and expanded Deity-related code --- changelog.txt | 1 + common/deity.h | 179 +++++++++++++++++++++++++++++++++--------- common/eq_constants.h | 29 ------- 3 files changed, 141 insertions(+), 68 deletions(-) diff --git a/changelog.txt b/changelog.txt index 6ffd93637..1f1037e95 100644 --- a/changelog.txt +++ b/changelog.txt @@ -9,6 +9,7 @@ Notes: - If you are having compile issues after this patch is committed, look to the changes here first Uleat: Changed riposte enabling check to proper failure criteria (x == 1 && x == 2 never fails) (discovery find, no known reported occurences) Uleat: Enforced naming standard on my recent changes (Sorry for any inconviencies) +Uleat: Moved DeityTypes enumeration from eq_constants.h to deity.h (expanded utility of accessors, but are yet to be implemented) == 10/24/2013 == demonstar55: Fix some memory leaks in Mob::SpellOnTarget diff --git a/common/deity.h b/common/deity.h index f7a44f5a3..e7f4e6c45 100644 --- a/common/deity.h +++ b/common/deity.h @@ -18,48 +18,149 @@ #ifndef DEITY_H #define DEITY_H +#include "..\common\types.h" +#include + +// NOTE: This code is not fully implemented since there are no references in the existing code + /* -** Diety List +** Diety types +** +** (ref: eqstr_us.txt) +** +** (Another orphaned enumeration...) */ -#define DEITY_AGNOSTIC 396 //drop the high bit for 140 -#define DEITY_BRELL 202 -#define DEITY_CAZIC 203 -#define DEITY_EROLLSI 204 -#define DEITY_BRISTLE 205 -#define DEITY_INNY 206 -#define DEITY_KARANA 207 -#define DEITY_MITH 208 -#define DEITY_PREXUS 209 -#define DEITY_QUELLIOUS 210 -#define DEITY_RALLOS 211 -#define DEITY_SOLUSEK 213 -#define DEITY_TRIBUNAL 214 -#define DEITY_TUNARE 215 +enum DeityTypes +{ +/*----*/ DeityUnknown = 0, +/*----*/ DeityAgnostic_LB = 140, +/*3251*/ DeityBertoxxulous = 201, +/*3262*/ DeityBrellSirilis, +/*3253*/ DeityCazicThule, +/*3256*/ DeityErollisiMarr, +/*3252*/ DeityBristlebane, +/*3254*/ DeityInnoruuk, +/*3255*/ DeityKarana, +/*3257*/ DeityMithanielMarr, +/*3259*/ DeityPrexus, +/*3260*/ DeityQuellious, +/*3266*/ DeityRallosZek, +/*3258*/ DeityRodcetNife, +/*3261*/ DeitySolusekRo, +/*3263*/ DeityTheTribunal, +/*3264*/ DeityTunare, +/*3265*/ DeityVeeshan, +/*3250*/ DeityAgnostic = 396 +}; -//Guessed: -#define DEITY_BERTOX 201 -#define DEITY_RODCET 212 -#define DEITY_VEESHAN 216 - -/* on items: - *All 0 -AGNOSTIC 1 -BERTOX 2 -BRELL 4 -CAZIC 8 -EROLLSI 16 -BRISTLE 32 -INNY 64 -KARANA 128 -MITH 256 -PREXUS 512 -QUELLIOUS 1024 -RALLOS 2048 -RODCET 4096 -SOLUSEK 8192 -TRIBUNAL 16384 -TUNARE 32768 -VEESHAN 65536 +/* +** Deity type bits +** +** (New orphan, but make use of it!) */ +enum DeityTypeBits : uint32 +{ + BIT_DeityAll = 0x00000000, + BIT_DeityAgnostic = 0x00000001, + BIT_DeityBertoxxulous = 0x00000002, + BIT_DeityBrellSirilis = 0x00000004, + BIT_DeityCazicThule = 0x00000008, + BIT_DeityErollisiMarr = 0x00000010, + BIT_DeityBristlebane = 0x00000020, + BIT_DeityInnoruuk = 0x00000040, + BIT_DeityKarana = 0x00000080, + BIT_DeityMithanielMarr = 0x00000100, + BIT_DeityPrexus = 0x00000200, + BIT_DeityQuellious = 0x00000400, + BIT_DeityRallosZek = 0x00000800, + BIT_DeityRodcetNife = 0x00001000, + BIT_DeitySolusekRo = 0x00002000, + BIT_DeityTheTribunal = 0x00004000, + BIT_DeityTunare = 0x00008000, + BIT_DeityVeeshan = 0x00010000 +}; + +static DeityTypeBits ConvertDeityToBitDeity(DeityTypes deity) +{ + switch(deity) + { + case DeityBertoxxulous: { return BIT_DeityBertoxxulous; } + case DeityBrellSirilis: { return BIT_DeityBrellSirilis; } + case DeityCazicThule: { return BIT_DeityCazicThule; } + case DeityErollisiMarr: { return BIT_DeityErollisiMarr; } + case DeityBristlebane: { return BIT_DeityBristlebane; } + case DeityInnoruuk: { return BIT_DeityInnoruuk; } + case DeityKarana: { return BIT_DeityKarana; } + case DeityMithanielMarr: { return BIT_DeityMithanielMarr; } + case DeityPrexus: { return BIT_DeityPrexus; } + case DeityQuellious: { return BIT_DeityQuellious; } + case DeityRallosZek: { return BIT_DeityRallosZek; } + case DeityRodcetNife: { return BIT_DeityRodcetNife; } + case DeitySolusekRo: { return BIT_DeitySolusekRo; } + case DeityTheTribunal: { return BIT_DeityTheTribunal; } + case DeityTunare: { return BIT_DeityTunare; } + case DeityVeeshan: { return BIT_DeityVeeshan; } + case DeityAgnostic_LB: + case DeityAgnostic: { return BIT_DeityAgnostic; } + default: { break; } + }; + + return BIT_DeityAll; +}; + +static DeityTypes ConvertBitDeityToDeity(DeityTypeBits deity_bit) +{ + switch(deity_bit) + { + case BIT_DeityAgnostic: { return DeityAgnostic; } + case BIT_DeityBertoxxulous: { return DeityBertoxxulous; } + case BIT_DeityBrellSirilis: { return DeityBrellSirilis; } + case BIT_DeityCazicThule: { return DeityCazicThule; } + case BIT_DeityErollisiMarr: { return DeityErollisiMarr; } + case BIT_DeityBristlebane: { return DeityBristlebane; } + case BIT_DeityInnoruuk: { return DeityInnoruuk; } + case BIT_DeityKarana: { return DeityKarana; } + case BIT_DeityMithanielMarr: { return DeityMithanielMarr; } + case BIT_DeityPrexus: { return DeityPrexus; } + case BIT_DeityQuellious: { return DeityQuellious; } + case BIT_DeityRallosZek: { return DeityRallosZek; } + case BIT_DeityRodcetNife: { return DeityRodcetNife; } + case BIT_DeitySolusekRo: { return DeitySolusekRo; } + case BIT_DeityTheTribunal: { return DeityTheTribunal; } + case BIT_DeityTunare: { return DeityTunare; } + case BIT_DeityVeeshan: { return DeityVeeshan; } + default: { break; } + }; + + return DeityUnknown; +}; + +static std::string GetDeityName(DeityTypes deity) +{ + switch(deity) + { + case DeityBertoxxulous: { return "Bertoxxulous"; } + case DeityBrellSirilis: { return "Brell Serilis"; } + case DeityCazicThule: { return "Cazic-Thule"; } + case DeityErollisiMarr: { return "Erollisi Marr"; } + case DeityBristlebane: { return "Bristlebane"; } + case DeityInnoruuk: { return "Innoruuk"; } + case DeityKarana: { return "Karana"; } + case DeityMithanielMarr: { return "Mithaniel Marr"; } + case DeityPrexus: { return "Prexus"; } + case DeityQuellious: { return "Quellious"; } + case DeityRallosZek: { return "Rallos Zek"; } + case DeityRodcetNife: { return "Rodcet Nife"; } + case DeitySolusekRo: { return "Solusek Ro"; } + case DeityTheTribunal: { return "The Tribunal"; } + case DeityTunare: { return "Tunare"; } + case DeityVeeshan: { return "Veeshan"; } + case DeityAgnostic_LB: + case DeityAgnostic: { return "Agnostic"; } + default: { break; } + }; + + return "Unknown"; +}; #endif diff --git a/common/eq_constants.h b/common/eq_constants.h index aee67c5bb..eed310ca2 100644 --- a/common/eq_constants.h +++ b/common/eq_constants.h @@ -230,35 +230,6 @@ typedef enum { _eaMaxAppearance } EmuAppearance; -/* -** Diety types -** -** (ref: eqstr_us.txt) -** -** (Another orphaned enumeration...) -*/ -enum DeityTypes -{ -/*----*/ Deity_Unknown = 0, -/*3251*/ Deity_Bertoxxulous = 201, -/*3262*/ Deity_BrellSirilis, -/*3253*/ Deity_CazicThule, -/*3256*/ Deity_ErollisiMarr, -/*3252*/ Deity_Bristlebane, -/*3254*/ Deity_Innoruuk, -/*3255*/ Deity_Karana, -/*3257*/ Deity_MithanielMarr, -/*3259*/ Deity_Prexus, -/*3260*/ Deity_Quellious, -/*3266*/ Deity_RallosZek, -/*3258*/ Deity_RodcetNife, -/*3261*/ Deity_SolusekRo, -/*3263*/ Deity_TheTribunal, -/*3264*/ Deity_Tunare, -/*3265*/ Deity_Veeshan, -/*3250*/ Deity_Agnostic = 396 -}; - // msg_type's for custom usercolors #define MT_Say 256 #define MT_Tell 257