summaryrefslogtreecommitdiffstats
path: root/pokemod/ItemEffect.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2007-06-01 02:54:29 +0000
committerBen Boeckel <MathStuf@gmail.com>2007-06-01 02:54:29 +0000
commitf71140fae5218ee9839ffcd4ec83abfded5124f4 (patch)
tree9af8f2174728cedb93580411223bc59fd9a86d0a /pokemod/ItemEffect.cpp
parent9e28e6ecd358a9801ad25914d3e8cca7b6d7f4f7 (diff)
downloadsigen-f71140fae5218ee9839ffcd4ec83abfded5124f4.tar.gz
sigen-f71140fae5218ee9839ffcd4ec83abfded5124f4.tar.xz
sigen-f71140fae5218ee9839ffcd4ec83abfded5124f4.zip
Added Map and Tile, added Hat class, and fixed up some other minor things
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@17 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/ItemEffect.cpp')
-rw-r--r--pokemod/ItemEffect.cpp274
1 files changed, 149 insertions, 125 deletions
diff --git a/pokemod/ItemEffect.cpp b/pokemod/ItemEffect.cpp
index ee0b6432..2dc3b716 100644
--- a/pokemod/ItemEffect.cpp
+++ b/pokemod/ItemEffect.cpp
@@ -31,12 +31,12 @@ PokeGen::PokeMod::ItemEffect::ItemEffect(const unsigned _id)
overworld = false;
battle = false;
held = false;
- effect = -1;
- val1 = -1;
- val2 = -1;
+ effect = UINT_MAX;
+ val1 = INT_MAX;
+ val2 = INT_MAX;
val3.Set(1, 1);
- val4 = -1;
- val5 = -1;
+ val4 = UINT_MAX;
+ val5 = UINT_MAX;
id = _id;
}
@@ -59,7 +59,6 @@ void PokeGen::PokeMod::ItemEffect::Validate(const wxListBox &output)
void PokeGen::PokeMod::ItemEffect::Validate()
#endif
{
- isValid = true;
LogValidateStart("ItemEffect", id);
// TODO (Validation#1#): ItemEffect Validation
LogValidateOver("ItemEffect", id, isValid);
@@ -82,14 +81,14 @@ void PokeGen::PokeMod::ItemEffect::ImportIni(Ini &ini, const unsigned _id)
ini.GetValue("overworld", overworld, false);
ini.GetValue("battle", battle, false);
ini.GetValue("held", held, false);
- ini.GetValue("effect", effect, -1);
- ini.GetValue("val1", val1, -1);
- ini.GetValue("val2", val2, -1);
+ ini.GetValue("effect", effect);
+ ini.GetValue("val1", val1);
+ ini.GetValue("val2", val2);
ini.GetValue("val3-n", i, 1);
ini.GetValue("val3-n", j, 1);
val3.Set(i, j);
- ini.GetValue("val4", val4, -1);
- ini.GetValue("val5", val5, -1);
+ ini.GetValue("val4", val4);
+ ini.GetValue("val5", val5);
LogImportOver("ItemEffect", id);
}
@@ -131,37 +130,30 @@ void PokeGen::PokeMod::ItemEffect::SetHeld(const bool h)
held = h;
}
-void PokeGen::PokeMod::ItemEffect::SetEffect(const int e)
+void PokeGen::PokeMod::ItemEffect::SetEffect(const unsigned e)
{
LogSetVar("ItemEffect", id, "effect", e);
- if ((IE_NONE < e) && (e < IE_END))
+ if (e < IE_END)
{
effect = e;
- val1 = -1;
- val2 = -1;
+ val1 = INT_MAX;
+ val2 = INT_MAX;
val3.Set(1, 1, (e == IE_BALL) || (e == IE_TYPE_BOOST) || (e == IE_PP_BOOST));
- val4 = -1;
- val5 = -1;
+ val4 = UINT_MAX;
+ val5 = UINT_MAX;
}
+ else
+ LogOutOfRange("ItemEffect", id, "effect", e, "");
}
void PokeGen::PokeMod::ItemEffect::SetEffect(const String &e)
{
- LogSetVar("ItemEffect", id, "effect string", e);
- effect = FindIn(IE_END, e, ItemEffectStr);
- if (effect != IE_END)
- {
- val1 = -1;
- val2 = -1;
- val3.Set(1, 1, (e == ItemEffectStr[IE_BALL]) || (e == ItemEffectStr[IE_TYPE_BOOST]) || (e == ItemEffectStr[IE_PP_BOOST]));
- val4 = -1;
- val5 = -1;
- }
+ SetEffect(FindIn(IE_END, e, ItemEffectStr));
}
-// TODO (Ben#1#): Values code
void PokeGen::PokeMod::ItemEffect::SetVal1(const int v1)
{
+ LogSetVar("ItemEffect", id, "val1", v1);
switch (effect)
{
case IE_HP_CURE:
@@ -169,16 +161,11 @@ void PokeGen::PokeMod::ItemEffect::SetVal1(const int v1)
if (val4 == REL_ABSOLUTE)
{
if (v1)
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v1, ItemEffectStr[effect]), PM_DEBUG_ERROR);
val1 = v1;
- }
else
- PMLog(PMString("ItemEffect: Attempting to set val1 to 0 (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val1", v1, "effect", ItemEffectStr[effect]);
+ break;
}
- else
- PMLog(PMString("ItemEffect: Attempting to set val1 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
- break;
case IE_CURE_STATUS:
case IE_FLINCH:
case IE_FIRST:
@@ -193,7 +180,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal1(const int v1)
case IE_MAP:
case IE_ITEMFINDER:
case IE_BIKE:
- PMLog(PMString("ItemEffect: Attempting to set val1 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val1", v1, "effect", ItemEffectStr[effect]);
break;
case IE_LEVEL_BOOST:
case IE_SHIELD_BAT:
@@ -202,32 +189,25 @@ void PokeGen::PokeMod::ItemEffect::SetVal1(const int v1)
if (v1)
val1 = v1;
else
- PMLog(PMString("ItemEffect: Attempting to set val1 to 0 (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val1", v1, "effect", ItemEffectStr[effect]);
break;
case IE_STAT_BOOST:
case IE_ACORN:
- if ((v1 <= 0) || (65536 <= v1))
- PMLog(PMString("ItemEffect: Attempting to set val1 out of range (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
- else
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v1, ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ if ((0 <= v1) && (v1 < 65536))
val1 = v1;
- }
+ else
+ LogOutOfRange("ItemEffect", id, "val1", v1, "effect", ItemEffectStr[effect]);
break;
case IE_MODIFY_STAT_BAT:
- if ((v1 <= -7) || (7 <= v1))
- PMLog("ItemEffect: Attempting to set val1 out of range (Modify Stat (Battle))", PM_DEBUG_ERROR);
- else
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (Modify Stat (Battle))", v1), PM_DEBUG_ERROR);
+ if ((-6 <= v1) && (v1 <= 6))
val1 = v1;
- }
+ else
+ LogOutOfRange("ItemEffect", id, "val1", v1, "effect", "Modify Stat (Battle)");
break;
case IE_FISH:
case IE_SCOPE:
case IE_COIN:
case IE_COIN_CASE:
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v1, ItemEffectStr[effect]), PM_DEBUG_ERROR);
val1 = v1;
break;
case IE_BALL:
@@ -239,12 +219,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal1(const int v1)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val1 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val1", v1, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal2(const int v2)
{
+ LogSetVar("ItemEffect", id, "val2", v2);
switch (effect)
{
case IE_HP_CURE:
@@ -272,16 +253,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal2(const int v2)
case IE_SCOPE:
case IE_BERRY:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val2 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val2", v2, "effect", ItemEffectStr[effect]);
break;
case IE_STAT_BOOST:
- if ((v2 <= 0) || (65536 <= v2))
- PMLog("ItemEffect: Attempting to set val2 out of range (Stat Boost)", PM_DEBUG_ERROR);
- else
- {
- PMLog(PMString("ItemEffect: Set val2 to %d (%s)", v2), PM_DEBUG_ERROR);
+ if ((0 < v2) && (v2 < 65536))
val2 = v2;
- }
+ else
+ LogOutOfRange("ItemEffect", id, "val2", v2, "effect", "Stat Boost");
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val2
@@ -289,18 +267,19 @@ void PokeGen::PokeMod::ItemEffect::SetVal2(const int v2)
break;
case IE_COIN:
case IE_COIN_CASE:
- if (v2)
+ if (0 < v2)
val2 = v2;
else
- PMLog(PMString("ItemEffect: Attempting to set val2 to 0 (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val2", v2, "effect", ItemEffectStr[effect]);
break;
default:
- PMLog("ItemEffect: Attempting to set val2 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val2", v2, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal3(const Frac &v3)
{
+ LogSetVar("ItemEffect", id, "val3", v3.GetNum(), v3.GetDenom());
switch (effect)
{
case IE_HP_CURE:
@@ -315,7 +294,6 @@ void PokeGen::PokeMod::ItemEffect::SetVal3(const Frac &v3)
case IE_PP_RESTORE:
case IE_EXP_SHARE:
case IE_REPEL:
- PMLog(PMString("ItemEffect: Setting val3 (%s)", ItemEffectStr[effect]), PM_DEBUG_DEBUG);
val3 = v3;
break;
case IE_CURE_STATUS:
@@ -333,7 +311,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal3(const Frac &v3)
case IE_COIN:
case IE_COIN_CASE:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val3 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val3", 0, "effect", ItemEffectStr[effect]);
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val3
@@ -344,12 +322,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal3(const Frac &v3)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val3 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val3", 0, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal3(const unsigned n, const unsigned d)
{
+ LogSetVar("ItemEffect", id, "val3", n, d);
switch (effect)
{
case IE_HP_CURE:
@@ -364,7 +343,6 @@ void PokeGen::PokeMod::ItemEffect::SetVal3(const unsigned n, const unsigned d)
case IE_PP_RESTORE:
case IE_EXP_SHARE:
case IE_REPEL:
- PMLog(PMString("ItemEffect: Setting val3 (%s)", ItemEffectStr[effect]), PM_DEBUG_DEBUG);
val3.Set(n, d);
break;
case IE_CURE_STATUS:
@@ -382,7 +360,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal3(const unsigned n, const unsigned d)
case IE_COIN:
case IE_COIN_CASE:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val3 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val3", 0, "effect", ItemEffectStr[effect]);
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val3
@@ -393,12 +371,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal3(const unsigned n, const unsigned d)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val3 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val3", 0, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal3Num(const unsigned n)
{
+ LogSetVar("ItemEffect", id, "val3 numerator", n);
switch (effect)
{
case IE_HP_CURE:
@@ -413,7 +392,6 @@ void PokeGen::PokeMod::ItemEffect::SetVal3Num(const unsigned n)
case IE_PP_RESTORE:
case IE_EXP_SHARE:
case IE_REPEL:
- PMLog(PMString("ItemEffect: Setting val3 (%s)", ItemEffectStr[effect]), PM_DEBUG_DEBUG);
val3.SetNum(n);
break;
case IE_CURE_STATUS:
@@ -431,7 +409,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal3Num(const unsigned n)
case IE_COIN:
case IE_COIN_CASE:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val3 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val3", n, "effect", ItemEffectStr[effect]);
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val3
@@ -442,12 +420,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal3Num(const unsigned n)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val3 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val3 numerator", n, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal3Denom(const unsigned d)
{
+ LogSetVar("ItemEffect", id, "val3 denominator", d);
switch (effect)
{
case IE_HP_CURE:
@@ -462,7 +441,6 @@ void PokeGen::PokeMod::ItemEffect::SetVal3Denom(const unsigned d)
case IE_PP_RESTORE:
case IE_EXP_SHARE:
case IE_REPEL:
- PMLog(PMString("ItemEffect: Setting val3 (%s)", ItemEffectStr[effect]), PM_DEBUG_DEBUG);
val3.SetDenom(d);
break;
case IE_CURE_STATUS:
@@ -480,7 +458,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal3Denom(const unsigned d)
case IE_COIN:
case IE_COIN_CASE:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val3 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val3", d, "effect", ItemEffectStr[effect]);
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val3
@@ -491,32 +469,27 @@ void PokeGen::PokeMod::ItemEffect::SetVal3Denom(const unsigned d)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val3 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val3 denominator", d, "effect");
}
}
-void PokeGen::PokeMod::ItemEffect::SetVal4(const int v4)
+void PokeGen::PokeMod::ItemEffect::SetVal4(const unsigned v4)
{
+ LogSetVar("ItemEffect", id, "val4", v4);
switch (effect)
{
case IE_HP_CURE:
case IE_REVIVE:
- if ((v4 <= REL_NONE) || (REL_END <= v4))
- PMLog(PMString("ItemEffect: Attempting to set val4 out of range (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
- else
- {
- PMLog(PMString("ItemEffect: Set val4 to %d (%s)", v4, ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ if (v4 < REL_END)
val4 = v4;
- }
+ else
+ LogOutOfRange("ItemEffect", id, "val4", v4, "effect", ItemEffectStr[effect]);
break;
case IE_CURE_STATUS:
if (curPokeMod.GetStatus(v4))
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v4, curPokeMod.GetStatus(v4)->GetName().c_str()), PM_DEBUG_DEBUG);
val4 = v4;
- }
else
- PMLog(PMString("ItemEffect: Attempting to set val4 out of range (Cure Status, %s)", v4), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val4", v4, "effect", "Cure Status");
break;
case IE_LEVEL_BOOST:
case IE_FLINCH:
@@ -532,7 +505,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal4(const int v4)
case IE_SCOPE:
case IE_COIN:
case IE_COIN_CASE:
- PMLog(PMString("ItemEffect: Attempting to set val3 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val4", v4, "effect", ItemEffectStr[effect]);
break;
case IE_STAT_BOOST:
case IE_MODIFY_STAT_BAT:
@@ -543,12 +516,9 @@ void PokeGen::PokeMod::ItemEffect::SetVal4(const int v4)
break;
case IE_TYPE_BOOST:
if (curPokeMod.GetType(v4))
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v4, curPokeMod.GetType(v4)->GetName().c_str()), PM_DEBUG_DEBUG);
val4 = v4;
- }
else
- PMLog(PMString("ItemEffect: Attempting to set val4 out of range (Type Boost, %s)", v4), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val4", v4, "effect", "Type Boost");
break;
case IE_PP_RESTORE:
// All/One
@@ -562,12 +532,9 @@ void PokeGen::PokeMod::ItemEffect::SetVal4(const int v4)
case IE_TM:
case IE_HM:
if (curPokeMod.GetMove(v4))
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v4, curPokeMod.GetMove(v4)->GetName().c_str()), PM_DEBUG_DEBUG);
val4 = v4;
- }
else
- PMLog(PMString("ItemEffect: Attempting to set val4 out of range (TM/HM, %s)", v4), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val4", v4, "effect", "TM/HM");
break;
case IE_BALL:
// BallType
@@ -577,20 +544,18 @@ void PokeGen::PokeMod::ItemEffect::SetVal4(const int v4)
break;
case IE_ACORN:
if (curPokeMod.GetItem(v4))
- {
- PMLog(PMString("ItemEffect: Set val1 to %d (%s)", v4, curPokeMod.GetItem(v4)->GetName().c_str()), PM_DEBUG_DEBUG);
val4 = v4;
- }
else
- PMLog(PMString("ItemEffect: Attempting to set val4 out of range (Acorn, %s)", v4), PM_DEBUG_ERROR);
+ LogOutOfRange("ItemEffect", id, "val4", v4, "effect", "Acorn");
break;
default:
- PMLog("ItemEffect: Attempting to set val4 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val4", v4, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal4(const String &v4)
{
+ LogSetVar("ItemEffect", id, "val4 string", v4);
switch (effect)
{
case IE_HP_CURE:
@@ -614,7 +579,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal4(const String &v4)
case IE_SCOPE:
case IE_COIN:
case IE_COIN_CASE:
- PMLog(PMString("ItemEffect: Attempting to set val4 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val4", v4, "effect", ItemEffectStr[effect]);
break;
case IE_STAT_BOOST:
case IE_MODIFY_STAT_BAT:
@@ -649,12 +614,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal4(const String &v4)
// Item
break;
default:
- PMLog("ItemEffect: Attempting to set val4 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val4", v4, "effect");
}
}
-void PokeGen::PokeMod::ItemEffect::SetVal5(const int v5)
+void PokeGen::PokeMod::ItemEffect::SetVal5(const unsigned v5)
{
+ LogSetVar("ItemEffect", id, "val5", v5);
switch (effect)
{
case IE_HP_CURE:
@@ -684,7 +650,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal5(const int v5)
case IE_COIN:
case IE_COIN_CASE:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val5 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val5", v5, "effect", ItemEffectStr[effect]);
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val5
@@ -695,12 +661,13 @@ void PokeGen::PokeMod::ItemEffect::SetVal5(const int v5)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val5 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val5", v5, "effect");
}
}
void PokeGen::PokeMod::ItemEffect::SetVal5(const String &v5)
{
+ LogSetVar("ItemEffect", id, "val5", v5);
switch (effect)
{
case IE_HP_CURE:
@@ -730,7 +697,7 @@ void PokeGen::PokeMod::ItemEffect::SetVal5(const String &v5)
case IE_COIN:
case IE_COIN_CASE:
case IE_ACORN:
- PMLog(PMString("ItemEffect: Attempting to set val5 of effect that doesn\'t use it (%s)", ItemEffectStr[effect]), PM_DEBUG_ERROR);
+ LogNoUse("ItemEffect", id, "val5", v5, "effect", ItemEffectStr[effect]);
break;
case IE_BALL:
// TODO (Ben#1#): Ball Effect val5
@@ -741,84 +708,141 @@ void PokeGen::PokeMod::ItemEffect::SetVal5(const String &v5)
// Depends on val4
break;
default:
- PMLog("ItemEffect: Attempting to set val5 of effect that isn\'t set", PM_DEBUG_ERROR);
+ LogNotSet("ItemEffect", id, "val5", v5, "effect");
}
}
bool PokeGen::PokeMod::ItemEffect::GetOverworld() const
{
- PMLog("ItemEffect: Fetching overworld", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "overworld", overworld);
return overworld;
}
bool PokeGen::PokeMod::ItemEffect::GetBattle() const
{
- PMLog("ItemEffect: Fetching battle", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "battle", battle);
return battle;
}
bool PokeGen::PokeMod::ItemEffect::GetHeld() const
{
- PMLog("ItemEffect: Fetching held", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "held", held);
return held;
}
-int PokeGen::PokeMod::ItemEffect::GetEffect() const
+unsigned PokeGen::PokeMod::ItemEffect::GetEffect() const
{
- PMLog("ItemEffect: Fetching effect", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "effect", effect);
return effect;
}
+// TODO (Ben#1#): Values fetching
int PokeGen::PokeMod::ItemEffect::GetVal1() const
{
- PMLog("ItemEffect: Fetching val1", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "val1", val1);
return val1;
}
int PokeGen::PokeMod::ItemEffect::GetVal2() const
{
- PMLog("ItemEffect: Fetching val2", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "val2", val2);
return val2;
}
PokeGen::PokeMod::Frac PokeGen::PokeMod::ItemEffect::GetVal3() const
{
- PMLog("ItemEffect: Fetching val3", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "val3", val3.GetNum(), val3.GetDenom());
return val3;
}
unsigned PokeGen::PokeMod::ItemEffect::GetVal3Num() const
{
- PMLog("ItemEffect: Fetching val3", PM_DEBUG_DEBUG);
- return val3;
+ LogFetchVar("ItemEffect", id, "val3 numerator", val3.GetNum());
+ return val3.GetNum();
}
unsigned PokeGen::PokeMod::ItemEffect::GetVal3Denom() const
{
- PMLog("ItemEffect: Fetching val3", PM_DEBUG_DEBUG);
- return val3;
+ LogFetchVar("ItemEffect", id, "val3 denominator", val3.GetDenom());
+ return val3.GetDenom();
}
-int PokeGen::PokeMod::ItemEffect::GetVal4() const
+unsigned PokeGen::PokeMod::ItemEffect::GetVal4() const
{
- PMLog("ItemEffect: Fetching val4", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "val4", val4);
return val4;
}
PokeGen::PokeMod::String PokeGen::PokeMod::ItemEffect::GetVal4String() const
{
- PMLog("ItemEffect: Fetching val4", PM_DEBUG_DEBUG);
- return "";
+ LogFetchVar("ItemEffect", id, "val4 string", val4);
+ String ret = "";
+ switch (effect)
+ {
+ case IE_HP_CURE:
+ case IE_REVIVE:
+ // Percent/Abs
+ break;
+ case IE_CURE_STATUS:
+ // Status
+ break;
+ case IE_STAT_BOOST:
+ case IE_MODIFY_STAT_BAT:
+ // Stat
+ break;
+ case IE_SHIELD_BAT:
+ // Special/Physical
+ break;
+ case IE_TYPE_BOOST:
+ // Type
+ break;
+ case IE_PP_RESTORE:
+ // All/One
+ break;
+ case IE_REPEL:
+ // First/Max/All
+ break;
+ case IE_ESCAPE:
+ // Anywhere/Dungeon
+ break;
+ case IE_TM:
+ case IE_HM:
+ // Move
+ break;
+ case IE_BALL:
+ // BallType
+ break;
+ case IE_BERRY:
+ // BerryType
+ break;
+ case IE_ACORN:
+ // Item
+ break;
+ }
+ return ret;
}
-int PokeGen::PokeMod::ItemEffect::GetVal5() const
+unsigned PokeGen::PokeMod::ItemEffect::GetVal5() const
{
- PMLog("ItemEffect: Fetching val5", PM_DEBUG_DEBUG);
+ LogFetchVar("ItemEffect", id, "val5", val5);
return val5;
}
PokeGen::PokeMod::String PokeGen::PokeMod::ItemEffect::GetVal5String() const
{
- PMLog("ItemEffect: Fetching val5", PM_DEBUG_DEBUG);
- return "";
+ LogFetchVar("ItemEffect", id, "val5 string", val5);
+ String ret = "";
+ switch (effect)
+ {
+ case IE_BALL:
+ // TODO (Ben#1#): Dependant
+ if ((val4 == 0) && (val5 < 0))
+ ret = BallEffectStr[val5];
+ break;
+ case IE_BERRY:
+ if ((val4 == 0) && (val5 < 0))
+ ret = BallEffectStr[val5];
+ break;
+ }
+ return ret;
}