Welcome Guest [Log In] [Register]
We hope you enjoy your visit.


You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Username:   Password:
Add Reply
Well... here's something useful
Topic Started: Sep 15 2007, 11:26 AM (302 Views)
DigitalCrash27
AKA Hypnotist
[ *  *  *  *  * ]
Code:
 
new IntrinsicAbility("Boosteon") {
              public void switchIn(Pokemon p) {
                  Pokemon[] teammates = p.getTeammates();
                  double AttackStat = 0;
                  double DefenceStat = 0;
                  double SpAttackStat = 0;
                  double SpDefenceStat = 0;
                  double SpeedStat = 0;
                  int JolteonCheck = 0;
                  int FlareonCheck = 0;
                  int VaporeonCheck = 0;
                  int EspeonCheck = 0;
                  int UmbreonCheck = 0;
                  int LeafeonCheck = 0;
                  int GlaceonCheck = 0;
                  for (int i = 0; i < teammates.length; ++i) {
                       Pokemon teammate = teammates[i];
                       if (teammate.getSpeciesName().equals("Jolteon") && JolteonCheck < 1){
                           SpeedStat = SpeedStat + 0.2;
                           ++JolteonCheck;
                       } else if (teammate.getSpeciesName().equals("Flareon") && FlareonCheck < 1){
                           AttackStat = AttackStat + 0.2;
                           ++FlareonCheck;  
                       } else if (teammate.getSpeciesName().equals("Vaporeon") && VaporeonCheck < 1){
                           SpDefenceStat = SpDefenceStat + 0.2;
                           ++VaporeonCheck;
                       } else if (teammate.getSpeciesName().equals("Espeon") && EspeonCheck < 1){
                           SpAttackStat = SpAttackStat + 0.2;
                           ++EspeonCheck;
                       } else if (teammate.getSpeciesName().equals("Umbreon") && UmbreonCheck < 1){
                           SpDefenceStat = SpDefenceStat + 0.2;
                           ++UmbreonCheck;
                       } else if (teammate.getSpeciesName().equals("Glaceon") && GlaceonCheck < 1){
                           SpAttackStat = SpAttackStat + 0.2;
                           ++GlaceonCheck;
                       } else if (teammate.getSpeciesName().equals("Leafeon") && LeafeonCheck < 1){
                           DefenceStat = DefenceStat + 0.2;
                           ++LeafeonCheck;
                       }
                  }
                  ++SpeedStat;
                  ++AttackStat;
                  ++DefenceStat;
                  ++SpAttackStat;
                  ++SpDefenceStat;
                  p.getMultiplier(Pokemon.S_ATTACK).multiplyBy(AttackStat);
                  p.getMultiplier(Pokemon.S_DEFENCE).multiplyBy(DefenceStat);
                  p.getMultiplier(Pokemon.S_SPATTACK).multiplyBy(SpAttackStat);
                  p.getMultiplier(Pokemon.S_SPDEFENCE).multiplyBy(SpDefenceStat);
                  p.getMultiplier(Pokemon.S_SPEED).multiplyBy(SpeedStat);
                 return;
              }
           };


I think that should work. :x
Offline Profile Quote Post Goto Top
 
+Undergamed
IM GAY
[ *  *  *  *  *  *  *  * ]
*mind explodes*
Offline Profile Quote Post Goto Top
 
+bearzly
Member Avatar
Tangela
[ *  *  *  *  *  *  *  * ]
Code:
 

new IntrinsicAbility("Boosteon") {
     public void switchIn(Pokemon p) {
         Pokemon[] teammates = p.getTeammates();
         double[] multipliers = new double[6];
         Arrays.fill(multipliers, 1.0);
         HashSet used = new HashSet();
         for (int i = 0; i < teammates.length; ++i) {
              String name = teammates[i].getSpeciesName();
              if (used.contains(name)) continue;
             
              if (name.equals("Jolteon")) {
                  multipliers[Pokemon.S_SPEED] += 0.2;
              } else if (name.equals("Flareon")) {
                  multipliers[Pokemon.S_ATTACK] += 0.2;
              } else if (name.equals("Vaporeon")) {
                  multipliers[Pokemon.S_DEFENCE] += 0.2;
              } else if (name.equals("Espeon")) {
                  multipliers[Pokemon.S_SPATTACK] += 0.2;
              } else if (name.equals("Umbreon")) {
                  multipliers[Pokemon.S_SPDEFENCE] += 0.2;
              } else if (name.equals("Glaceon")) {
                  multipliers[Pokemon.S_SPATTACK] += 0.2;
              } else if (name.equals("Leafeon")) {
                  multipliers[Pokemon.S_DEFENCE] += 0.2;
              }
              used.add(name);
         }
        for (int i = 1; i < 6; ++i) {
            p.getMultiplier(i).multiplyBy(multipliers[i]);
        }
     }
  };


I optimized it a bit. It should work unless I messed up the stat indexes somewhere.
Posted Image Posted Image
Posted Image
Offline Profile Quote Post Goto Top
 
DigitalCrash27
AKA Hypnotist
[ *  *  *  *  * ]
Code:
 

new IntrinsicAbility("Boosteon") {
     public void switchIn(Pokemon p) {
         Pokemon[] teammates = p.getTeammates();
         double[] multipliers = new double[6];
         Arrays.fill(multipliers, 1.0);
         HashSet used = new HashSet();
         for (int i = 0; i < teammates.length; ++i) {
              Pokemon teammate = teammate[i];
              String name = teammates[i].getSpeciesName();
              if (used.contains(name)) continue;
             
              if (name.equals("Jolteon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_SPEED] += 0.2;
              } else if (name.equals("Flareon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_ATTACK] += 0.2;
              } else if (name.equals("Vaporeon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_DEFENCE] += 0.2;
              } else if (name.equals("Espeon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_SPATTACK] += 0.2;
              } else if (name.equals("Umbreon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_SPDEFENCE] += 0.2;
              } else if (name.equals("Glaceon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_SPATTACK] += 0.2;
              } else if (name.equals("Leafeon") && !teammate.isFainted()) {
                  multipliers[Pokemon.S_DEFENCE] += 0.2;
              }
              used.add(name);
         }
        for (int i = 1; i < 6; ++i) {
            p.getMultiplier(i).multiplyBy(multipliers[i]);
        }
     }
  };


Checks to see whether the pokemon is fainted or not. Just like you asked. :)
Offline Profile Quote Post Goto Top
 
+bearzly
Member Avatar
Tangela
[ *  *  *  *  *  *  *  * ]
Code:
 
new IntrinsicAbility("Boosteon") {
    public void switchIn(Pokemon p) {
        Pokemon[] teammates = p.getTeammates();
        double[] multipliers = new double[6];
        Arrays.fill(multipliers, 1.0);
        HashSet used = new HashSet();
        for (int i = 0; i < teammates.length; ++i) {
             Pokemon teammate = teammate[i];
             String name = teammate.getSpeciesName();
             if (used.contains(name) || teammate.isFainted()) continue;
           
             if (name.equals("Jolteon")) {
                 multipliers[Pokemon.S_SPEED] += 0.2;
             } else if (name.equals("Flareon")) {
                 multipliers[Pokemon.S_ATTACK] += 0.2;
             } else if (name.equals("Vaporeon")) {
                 multipliers[Pokemon.S_DEFENCE] += 0.2;
             } else if (name.equals("Espeon")) {
                 multipliers[Pokemon.S_SPATTACK] += 0.2;
             } else if (name.equals("Umbreon")) {
                 multipliers[Pokemon.S_SPDEFENCE] += 0.2;
             } else if (name.equals("Glaceon")) {
                 multipliers[Pokemon.S_SPATTACK] += 0.2;
             } else if (name.equals("Leafeon")) {
                 multipliers[Pokemon.S_DEFENCE] += 0.2;
             }
             used.add(name);
        }
       for (int i = 1; i < 6; ++i) {
           p.getMultiplier(i).multiplyBy(multipliers[i]);
       }
    }
 };


tidies that up.
Posted Image Posted Image
Posted Image
Offline Profile Quote Post Goto Top
 
Colin
Feebas
[ * ]
Note that the StatMultipliers are not reset when switching.

I presume Boosteon is meant to go away when you switch out the pokemon.
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Server Suggestions and Announcements · Next Topic »
Add Reply