diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2007-10-26 20:01:48 +0000 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2007-10-26 20:01:48 +0000 |
commit | 1f08afc80c73087bf9bde639754670548b89fc9f (patch) | |
tree | 70a80d7998d9279a75509fed14238b3ba493e9eb /pokemod/AbilityEffect.cpp | |
parent | 5b55d13ead7e352ee1feaae72009e8abf5bd071a (diff) | |
download | sigen-1f08afc80c73087bf9bde639754670548b89fc9f.tar.gz sigen-1f08afc80c73087bf9bde639754670548b89fc9f.tar.xz sigen-1f08afc80c73087bf9bde639754670548b89fc9f.zip |
[ADD] DISCLAIMER
[FIX] PokemonEvolution styles
[ADD] Relative enumeration
[DEL] pokemod/Status.{h, cpp}
[DEL] pokemod/StatusEffect.{h, cpp}
[FIX] Status effects will be added as needed instead of customized
[FIX] Completed ItemEffects
[FIX] Factored out Natures to be global
[DEL] pokemod/PokemonNature.{h, cpp}
[DEL] ai/Net.{h, cpp}
[DEL] ai/Layer/{h, cpp}
[ADD] battle/Arena.{h, cpp}
[ADD] battle/Team.{h, cpp}
[ADD] battle/Human.{h, cpp}
[ADD] battle/Bot.{h, cpp}
[ADD] battle/GhostBot.{h, cpp}
[ADD] battle/Pokemon.{h, cpp}
[ADD] battle/Ghost.{h, cpp}
[FIX] Fixed some scope errors in pokemod
[ADD] audio/audio.pro
[ADD] audio/Audio.{h, cpp}
[ADD] audio/AudioLibrary.{h, cpp}
[ADD] audio/AudioSystem.{h, cpp}
[ADD] audio/Music.{h, cpp}
[ADD] audio/SoundEffect.{h, cpp}
[DEL] old audio system (was in C)
[FIX] Optimized some routines in pokemod
[FIX] Moved global classes (Ini, Frac, Matrix, FracMatrix, Point, Flag) to general
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@25 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/AbilityEffect.cpp')
-rw-r--r-- | pokemod/AbilityEffect.cpp | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/pokemod/AbilityEffect.cpp b/pokemod/AbilityEffect.cpp index 695778ba..fa32ce1b 100644 --- a/pokemod/AbilityEffect.cpp +++ b/pokemod/AbilityEffect.cpp @@ -22,6 +22,16 @@ #include "AbilityEffect.h" +const char* PokeGen::PokeMod::AbilityEffect::EffectStr[PokeGen::PokeMod::AbilityEffect::E_End] = {"Damage to HP", "Prevent Damage", "Auto Heal", "Deal Damage", "Wilds", "Stat", "Status", "Ability", "Accuracy/Power Trade", "Bullseye", "Item Effect", "Type", "Fast Hatch", "Weather"}; +const char* PokeGen::PokeMod::AbilityEffect::TriggerStr[PokeGen::PokeMod::AbilityEffect::T_End] = {"Anything", "Contact", "Weather", "Damage", "Type", "HP Boundary", "Stat Change", "Status"}; +const char* PokeGen::PokeMod::AbilityEffect::InteractStr[PokeGen::PokeMod::AbilityEffect::I_End] = {"Trade", "Shadow", "Block"}; +const char* PokeGen::PokeMod::AbilityEffect::PowerAccStr[PokeGen::PokeMod::AbilityEffect::PA_End] = {"Boost Power", "Boost Accuracy"}; +const char* PokeGen::PokeMod::AbilityEffect::ItemStr[PokeGen::PokeMod::AbilityEffect::IT_End] = {"Stat Modifier", "Type Booster", "Flinch", "Go First"}; +const char* PokeGen::PokeMod::AbilityEffect::CauseStr[PokeGen::PokeMod::AbilityEffect::C_End] = {"Prevent", "Inflict"}; +const char* PokeGen::PokeMod::AbilityEffect::BoostStr[PokeGen::PokeMod::AbilityEffect::B_End] = {"Boost", "Hinder"}; +const char* PokeGen::PokeMod::AbilityEffect::SideStr[PokeGen::PokeMod::AbilityEffect::S_End] = {"Above", "Below"}; + + PokeGen::PokeMod::AbilityEffect::AbilityEffect(const Pokemod* par, const unsigned _id) : Object(_id, par), chance(1, 1), @@ -45,12 +55,7 @@ bool PokeGen::PokeMod::AbilityEffect::Validate() { pokemod->ValidationMsg(QString("------Effect with id %1---").arg(id), Pokemod::V_Msg); chance.Reduce(); - if (E_End <= effect) - { - pokemod->ValidationMsg(QString("AbilityEffect with id %1 has invalid effect").arg(id)); - isValid = false; - } - else + if (effect < E_End) { bool ok = true; switch (effect) @@ -60,7 +65,7 @@ bool PokeGen::PokeMod::AbilityEffect::Validate() ok = false; break; case E_Status: - if (pokemod->GetStatusByID(val1) == UINT_MAX) + if (STS_End <= val1) ok = false; break; case E_Ability: @@ -85,7 +90,7 @@ bool PokeGen::PokeMod::AbilityEffect::Validate() } if (!ok) { - pokemod->ValidationMsg(QString("AbilityEffect with id %1 has an invalid value1").arg(id)); + pokemod->ValidationMsg("Invalid value1"); isValid = false; ok = true; } @@ -110,7 +115,7 @@ bool PokeGen::PokeMod::AbilityEffect::Validate() } if (!ok) { - pokemod->ValidationMsg(QString("AbilityEffect with id %1 has an invalid value2").arg(id)); + pokemod->ValidationMsg("Invalid value2"); isValid = false; ok = true; } @@ -133,17 +138,17 @@ bool PokeGen::PokeMod::AbilityEffect::Validate() } if (!ok) { - pokemod->ValidationMsg(QString("AbilityEffect with id %1 has an invalid value3").arg(id)); + pokemod->ValidationMsg("Invalid value3"); isValid = false; ok = true; } } - if (T_End <= trigger) + else { - pokemod->ValidationMsg(QString("AbilityEffect with id %1 has an invalid trigger").arg(id)); + pokemod->ValidationMsg("Invalid effect"); isValid = false; } - else + if (trigger < T_End) { bool ok = true; switch (trigger) @@ -165,16 +170,21 @@ bool PokeGen::PokeMod::AbilityEffect::Validate() ok = false; break; case T_Status: - if (pokemod->GetStatusByID(tval1) == UINT_MAX) + if (STS_End <= tval1) ok = false; } if (!ok) { - pokemod->ValidationMsg(QString("AbilityEffect with id %1 has an invalid trigger value1").arg(id)); + pokemod->ValidationMsg("Invalid trigger value1"); isValid = false; } tval2.Reduce(); } + else + { + pokemod->ValidationMsg("Invalid trigger"); + isValid = false; + } return isValid; } @@ -253,7 +263,7 @@ bool PokeGen::PokeMod::AbilityEffect::SetVal1(const unsigned v1) val1 = v1; break; case E_Status: - if (pokemod->GetStatusByID(v1) != UINT_MAX) + if (v1 < STS_End) val1 = v1; break; case E_Ability: @@ -360,7 +370,7 @@ bool PokeGen::PokeMod::AbilityEffect::SetTval1(const unsigned tv1) tval1 = tv1; break; case T_Status: - if (pokemod->GetStatusByID(tv1) != UINT_MAX) + if (tv1 < STS_End) tval1 = tv1; break; } @@ -397,7 +407,7 @@ bool PokeGen::PokeMod::AbilityEffect::SetTval2Denom(const unsigned d) return false; } -PokeGen::PokeMod::Frac PokeGen::PokeMod::AbilityEffect::GetChance() const +PokeGen::Frac PokeGen::PokeMod::AbilityEffect::GetChance() const { return chance; } @@ -442,7 +452,7 @@ unsigned PokeGen::PokeMod::AbilityEffect::GetTval1() const return tval1; } -PokeGen::PokeMod::Frac PokeGen::PokeMod::AbilityEffect::GetTval2() const +PokeGen::Frac PokeGen::PokeMod::AbilityEffect::GetTval2() const { return tval2; } |