Zero Sum Meta

I don't see how this is any more broken that regular endeavor (it just basically performs the same function). Nothing can really happen until it's coded which I'm still waiting on but I don't see any reason that shell bell needs an up front ban
I ask because if shell bell's recovery activates before zero-sum's, and subsequently damages the opponent, Aron OHKOs everything without need for chip damage or priority unless has full health to start with.
 

MZ

And now for something completely different
is a Site Content Manager Alumnusis a Top Team Rater Alumnusis a Social Media Contributor Alumnusis a Community Leader Alumnusis a Community Contributor Alumnusis a Top Tiering Contributor Alumnusis a Top Contributor Alumnusis a Top Smogon Media Contributor Alumnusis a Battle Simulator Moderator Alumnus
I ask because if shell bell's recovery activates before zero-sum's, and subsequently damages the opponent, Aron OHKOs everything without need for chip damage or priority unless has full health to start with.
it can still do this with simple tspikes or somth
edit: plus ur getting sturdy back already
 
it can still do this with simple tspikes or somth
edit: plus ur getting sturdy back already
I think you misunderstand me. Let me explain: if Aron is not at full health when it uses Endeavor on any Pokemon with more health than Aron has, the Endeavor would bring that Pokemon down to 11 or lower, and the shell bell would heal at least 1 hp because it always heals at least 1, even if less than 8 damage was dealt. That healing would then damage the other Pokemon by 1/12 of their max health. If they have more than 132 max hp, then it's a guaranteed OHKO. No exceptions. However, if the zero-sum rule healed Aron before the healing from shell bell, then there would be no problem. So the question is: which comes first?
 

MZ

And now for something completely different
is a Site Content Manager Alumnusis a Top Team Rater Alumnusis a Social Media Contributor Alumnusis a Community Leader Alumnusis a Community Contributor Alumnusis a Top Tiering Contributor Alumnusis a Top Contributor Alumnusis a Top Smogon Media Contributor Alumnusis a Battle Simulator Moderator Alumnus
I think you misunderstand me. Let me explain: if Aron is not at full health when it uses Endeavor on any Pokemon with more health than Aron has, the Endeavor would bring that Pokemon down to 11 or lower, and the shell bell would heal at least 1 hp because it always heals at least 1, even if less than 8 damage was dealt. That healing would then damage the other Pokemon by 1/12 of their max health. If they have more than 132 max hp, then it's a guaranteed OHKO. No exceptions. However, if the zero-sum rule healed Aron before the healing from shell bell, then there would be no problem. So the question is: which comes first?
well the damage from endeavor comes before the healing from shell bell, so I believe zero sum would come before shell bell healing
edit @ below: yes, but only because zero sum goes before shell bell which is what I needed to clarify
 
Last edited:

bp scrub

rub a dub dub one scrub in a tub
I think you misunderstand me. Let me explain: if Aron is not at full health when it uses Endeavor on any Pokemon with more health than Aron has, the Endeavor would bring that Pokemon down to 11 or lower, and the shell bell would heal at least 1 hp because it always heals at least 1, even if less than 8 damage was dealt. That healing would then damage the other Pokemon by 1/12 of their max health. If they have more than 132 max hp, then it's a guaranteed OHKO. No exceptions. However, if the zero-sum rule healed Aron before the healing from shell bell, then there would be no problem. So the question is: which comes first?
If you use Endeavor, the Zero Sum would heal you back to full, and then shell bell wouldnt do anything since you're at full hp already.
 

AWailOfATail

viva la darmz
config/formats.js
Code:
  {
     name: "Zero Sum Meta",
     section: "Other Metagames",
     mod: 'zerosum',

     ruleset: ['OU']
   },
//get rid of comma if necessary

mods/zerosum/scripts.js
Code:
'use strict';

exports.BattleScripts = {
   damage: function (damage, target, source, effect, instafaint) {
     if (this.event) {
       if (!target) target = this.event.target;
       if (!source) source = this.event.source;
       if (!effect) effect = this.effect;
     }
     if (!target || !target.hp) return 0;
     if (!target.isActive) return false;
     effect = this.getEffect(effect);
     if (!(damage || damage === 0)) return damage;
     if (damage !== 0) damage = this.clampIntRange(damage, 1);

     if (effect.id !== 'struggle-recoil') { // Struggle recoil is not affected by effects
       if (effect.effectType === 'Weather' && !target.runImmunity(effect.id)) {
         this.debug('weather immunity');
         return 0;
       }
       damage = this.runEvent('Damage', target, source, effect, damage);
       if (!(damage || damage === 0)) {
         this.debug('damage event failed');
         return damage;
       }
       if (target.illusion && effect && effect.effectType === 'Move' && effect.id !== 'confused') {
         this.debug('illusion cleared');
         target.illusion = null;
         this.add('replace', target, target.getDetails);
         this.add('-end', target, 'Illusion');
       }
     }
     if (damage !== 0) damage = this.clampIntRange(damage, 1);
     damage = target.damage(damage, source, effect);
     if (source) source.lastDamage = damage;
     let name = effect.fullname;
     if (name === 'tox') name = 'psn';
     switch (effect.id) {
     case 'partiallytrapped':
       this.add('-damage', target, target.getHealth, '[from] ' + this.effectData.sourceEffect.fullname, '[partiallytrapped]');
       break;
     case 'powder':
       this.add('-damage', target, target.getHealth, '[silent]');
       break;
     case 'confused':
       this.add('-damage', target, target.getHealth, '[from] confusion');
       break;
     default:
       if (effect.effectType === 'Move' || !name) {
         this.add('-damage', target, target.getHealth);
       } else if (source && (source !== target || effect.effectType === 'Ability')) {
         this.add('-damage', target, target.getHealth, '[from] ' + name, '[of] ' + source);
       } else {
         this.add('-damage', target, target.getHealth, '[from] ' + name);
       }
       break;
     }

     if (effect.drain && source) {
       this.heal(Math.ceil(damage * effect.drain[0] / effect.drain[1]), source, target, 'drain');
     }

     if (!effect.flags) effect.flags = {};

     if (instafaint && !target.hp) {
       this.debug('instafaint: ' + this.faintQueue.map('target').map('name'));
       this.faintMessages(true);
     } else {
       damage = this.runEvent('AfterDamage', target, source, effect, damage);
     }

     //healing function
     if (effect.name !== 'metagame rules') {
       this.heal(Math.ceil(damage * target.side.foe.active[0].maxhp / target.maxhp), target.side.foe.active[0], target, 'metagame rules');
     }

     return damage;
   },
   directDamage: function (damage, target, source, effect) {
     if (this.event) {
       if (!target) target = this.event.target;
       if (!source) source = this.event.source;
       if (!effect) effect = this.effect;
     }
     if (!target || !target.hp) return 0;
     if (!damage) return 0;
     damage = this.clampIntRange(damage, 1);

     damage = target.damage(damage, source, effect);
     switch (effect.id) {
     case 'strugglerecoil':
       this.add('-damage', target, target.getHealth, '[from] recoil');
       break;
     case 'confusion':
       this.add('-damage', target, target.getHealth, '[from] confusion');
       break;
     default:
       this.add('-damage', target, target.getHealth);
       break;
     }
     if (target.fainted) this.faint(target);

     //healing function
     if (effect.name !== 'metagame rules') {
       this.heal(Math.ceil(damage * target.side.foe.active[0].maxhp / target.maxhp), target.side.foe.active[0], target, 'metagame rules');
     }  

     return damage;
   },
   heal: function (damage, target, source, effect) {
     if (this.event) {
       if (!target) target = this.event.target;
       if (!source) source = this.event.source;
       if (!effect) effect = this.effect;
     }
     effect = this.getEffect(effect);
     if (damage && damage <= 1) damage = 1;
     damage = Math.floor(damage);
     // for things like Liquid Ooze, the Heal event still happens when nothing is healed.
     damage = this.runEvent('TryHeal', target, source, effect, damage);
     if (!damage) return 0;
     if (!target || !target.hp) return 0;
     if (!target.isActive) return false;
     if (target.hp >= target.maxhp) return 0;
     damage = target.heal(damage, source, effect);
     switch (effect.id) {
     case 'leechseed':
     case 'rest':
       this.add('-heal', target, target.getHealth, '[silent]');
       break;
     case 'drain':
       this.add('-heal', target, target.getHealth, '[from] drain', '[of] ' + source);
       break;
     case 'wish':
       break;
     default:
       if (effect.effectType === 'Move') {
         this.add('-heal', target, target.getHealth);
       } else if (source && source !== target) {
         this.add('-heal', target, target.getHealth, '[from] ' + effect.fullname, '[of] ' + source);
       } else {
         this.add('-heal', target, target.getHealth, '[from] ' + effect.fullname);
       }
       break;
     }
     this.runEvent('Heal', target, source, effect, damage);

     //damage function
     if (effect.name !== 'metagame rules') {
       source = target;
       target = source.side.foe.active[0];
       this.damage(damage * (target.maxhp / source.maxhp), target, source, 'metagame rules');
     }
  
     return damage;
   },
   pokemon: {
     faint: function (source, effect) {
       // This function only puts the pokemon in the faint queue;
       // actually setting of this.fainted comes later when the
       // faint queue is resolved.
       if (this.fainted || this.faintQueued) return 0;
       let d = this.hp;
       this.hp = 0;
       this.switchFlag = false;
       this.faintQueued = true;
      
       //explosion clause
       if (source === this) {
         this.battle.heal(Math.ceil(d * this.side.foe.active[0].maxhp / this.maxhp), this.side.foe.active[0], this, 'metagame rules');
       }
  
       this.battle.faintQueue.push({
         target: this,
         source: source,
         effect: effect,
       });
       return d;
     }
   }
}

data/scripts.js
add after 'didSomething = true;' in 'if (moveData.heal && !target.fainted)'
should be inserted on line 480, pushing the closing brace for the previous if statement down
Code:
        //added for Zero Sum Meta
         if (this.getFormat().name === "Zero Sum Meta") {
           this.damage(d * (target.side.foe.active[0].maxhp / target.maxhp), target.side.foe.active[0], target, 'metagame rules');
         }


Let me know if a certain mechanic doesn't work or should be changed (like if double Leech Seed is too stronk). Sorry for the wait, real life got in the way but here ya go
 
Prankster+ rest+sleeptalk+priority move+focus sash=broken af

Knocked down to focus sash?
Rest to heal
Dealing 99% enemy's max hp dmg (mostlikely kills it)
If not procede to use prankster sleeptalk which cud kill the opponant
Example
Riolu
Sash
Rest
Sleeptalk
Quick attack
Drain punch:v4:
 
Huh... a revival of this concept, I see.

Riolu... is not going to really work. It has terrible HP, so it's not really going to damage too much with Rest.
Mega Sableye is going to be more hilarious than usual, though. Night Shade is going to heal a bunch of that health, merely by virtue of having base 50 HP.
Edit: I understand now... Still, Snorlax is probably going to be a big threat, regardless of that.
Snorlax is going to be terrifying, too. Base 160 HP and Rest being AMAZING is just going to propel him into stardom. Even more than Chansey, because the Curse set can OHKO it with enough boosts.

...Man, is Haze going to actually be common in this meta?
 
Last edited:

thesecondbest

Just Kidding I'm First
Huh... a revival of this concept, I see.

Riolu... is not going to really work. It has terrible HP, so it's not really going to damage too much with Rest. Mega Sableye is going to be more hilarious than usual, though. Night Shade is going to heal a bunch of that health, merely by virtue of having base 50 HP.
Snorlax is going to be terrifying, too. Base 160 HP and Rest being AMAZING is just going to propel him into stardom. Even more than Chansey, because the Curse set can OHKO it with enough boosts.

...Man, is Haze going to actually be common in this meta?
Moves do a percentage of damage not a raw value so the users hp stat is irrelevant
 
All people wonder how broken Sturdy Fear strategy could be...
While simple Leftovers break a Sturdy if pokemon is not on full HP.
Also... have in mind that FEAR after loosing all HP will also HEAL oponent first, if they decide to actually do damage. That means that Magnemite will never kill oponent (if there is no status condition on oponent or Sandstorm) just by spaming Recycle.

1. Magnemite took damage, lose 99% of HP
2. Oponent heal to full HP because of damage dealt on Magnemite
3. Magnemite use Berry Juice - heal to full HP
4. Oponent lose 99% of HP because of healing on Magnemite side
5. Magnemite use Recycle
6. No damage or healing takes place here
7. Magnemite have full HP, oponent have 1% of HP
8. If there is no status condition or Sandstorm, thats everything what happen in this turn.
9. Next turn starts, read points 1-8 again, and again... untill pp's on Recycle for Magnemite ends...

If Magnemite use Toxic instead of Recycle and Toxic lands, that knock out one pokemon for sure (if, of corse, it's not a Steel or Poison type, or oponent doesn't hold Lum Berry, or in any other way isn't immune to status).
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top