• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Scripting Question] Photon Geyser Script

26
Posts
6
Years
    • Seen Dec 19, 2018
    Hi. So I've been looking for a working Photon Geyser move script to no avail. I found one script floating around on the Gen VII project but it doesn't seem to work as intended:

    Code:
    class PokeBattle_Move_165 < PokeBattle_Move
    	def pbBaseDamage(basedmg,attacker,opponent)
    		if attacker.attack > attacker.spatk
    			attacker.spatk=attacker.attack
          opponent.spdef=opponent.defense
        elsif attacker.spatk >= attacker.attack
    			attacker.spatk=attacker.spatk
          opponent.spdef=opponent.spdef
    		end
    	end
    end

    After testing, this script seems to calculate off the opponents special defense, regardless of whether or not your Attack or SpA is higher. It seems to be coded correctly by the looks of it which is why I'm confused. Anyone got an idea?
     
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Hi. So I've been looking for a working Photon Geyser move script to no avail. I found one script floating around on the Gen VII project but it doesn't seem to work as intended:

    Code:
    class PokeBattle_Move_165 < PokeBattle_Move
    	def pbBaseDamage(basedmg,attacker,opponent)
    		if attacker.attack > attacker.spatk
    			attacker.spatk=attacker.attack
          opponent.spdef=opponent.defense
        elsif attacker.spatk >= attacker.attack
    			attacker.spatk=attacker.spatk
          opponent.spdef=opponent.spdef
    		end
    	end
    end

    After testing, this script seems to calculate off the opponents special defense, regardless of whether or not your Attack or SpA is higher. It seems to be coded correctly by the looks of it which is why I'm confused. Anyone got an idea?

    I made that. You need to put Gastro Acid effect and a exception to Pressure, Shadow Shield and Prism Armor too for this move. In my game works lol and in your tests... Dont?

    Its a simple script. Look:
    Code:
    Photon Geyser compares the user's Attack and Special Attack stats, dealing damage to the target using the higher stat. If the user's Attack is greater than its Special Attack, this move's damage will be calculated with the user's Attack and the target's Defense; if its Special Attack is equal to or greater than its Attack, the damage will factor in the user's Special Attack and the target's Special Defense. This does not take Pure Power or Huge Power into account. This move also ignores the target's Ability if the Ability changes the effect of the attack on the target. Abilities that affect the user of the attack, like Pressure, are not ignored. Photon Geyser does not ignore the effects of Shadow Shield and Prism Armor.
     
    Last edited:
    26
    Posts
    6
    Years
    • Seen Dec 19, 2018
    I made that. You need to put Gastro Acid effect and a exception to Pressure, Shadow Shield and Prism Armor too for this move. In my game works lol and in your tests... Dont?

    Its a simple script. Look:
    Code:
    Photon Geyser compares the user's Attack and Special Attack stats, dealing damage to the target using the higher stat. If the user's Attack is greater than its Special Attack, this move's damage will be calculated with the user's Attack and the target's Defense; if its Special Attack is equal to or greater than its Attack, the damage will factor in the user's Special Attack and the target's Special Defense. This does not take Pure Power or Huge Power into account. This move also ignores the target's Ability if the Ability changes the effect of the attack on the target. Abilities that affect the user of the attack, like Pressure, are not ignored. Photon Geyser does not ignore the effects of Shadow Shield and Prism Armor.

    Oh hi! Yeah I recognize your name I appreciate you making this script.

    But yeah it's bizarre. It does seem to do something but just not the right calculations. For example, no matter how high the Attack stat is of Necrozma, it always seems to roll off of Avalugg's Special Defense, instead of its Defense. Meanwhile against Chansey, it always rolls off its Defense never its special defense, regardless of whether or not your Attack or SpA is higher. It's doing some backwards shit that I don't understand, and I copied your script word for word.

    Oh yeah also have you tried using a boosting move as well? Boosting the Attack stat never seems to work but boosting Special Attack will always do more damage, so that's why I'm confident it's always rolling off your Special Attack.
     
    Last edited:

    WolfPP

    Spriter/ Pixel Artist
    1,309
    Posts
    5
    Years
  • Oh hi! Yeah I recognize your name I appreciate you making this script.

    But yeah it's bizarre. It does seem to do something but just not the right calculations. For example, no matter how high the Attack stat is of Necrozma, it always seems to roll off of Avalugg's Special Defense, instead of its Defense. Meanwhile against Chansey, it always rolls off its Defense never its special defense, regardless of whether or not your Attack or SpA is higher. It's doing some backwards muk that I don't understand, and I copied your script word for word.

    Oh yeah also have you tried using a boosting move as well? Boosting the Attack stat never seems to work but boosting Special Attack will always do more damage, so that's why I'm confident it's always rolling off your Special Attack.

    I didnt. But try use this:
    Code:
    ################################################################################
    # Inflicts Attack or Sp. Atk damage—whichever stat is higher for the user.
    # (Photon Geyser)
    ################################################################################
    class PokeBattle_Move_170 < PokeBattle_Move               
      def pbBaseDamage(basedmg,attacker,opponent)
        if attacker.attack>attacker.spatk
          return attacker.spatk=attacker.attack && opponent.spdef=opponent.defense
        else
          return opponent.spdef=opponent.spdef && attacker.spatk=attacker.spatk
        end
      end
    end
    Photon Geyser Script

    To create that script, i saw how works Beast Boost, Spectral Thief and other move (i forgot which move).
     
    Last edited:
    26
    Posts
    6
    Years
    • Seen Dec 19, 2018
    I didnt. But try use this:
    Code:
    ################################################################################
    # Inflicts Attack or Sp. Atk damage—whichever stat is higher for the user.
    # (Photon Geyser)
    ################################################################################
    class PokeBattle_Move_170 < PokeBattle_Move               
      def pbBaseDamage(basedmg,attacker,opponent)
        if attacker.attack>attacker.spatk
          return attacker.spatk=attacker.attack && opponent.spdef=opponent.defense
        else
          return opponent.spdef=opponent.spdef && attacker.spatk=attacker.spatk
        end
      end
    end
    Photon Geyser Script

    To create that script, i saw how works Beast Boost, Spectral Thief and other move (i forgot which move).

    What version of Essentials are you using? I legitimately don't know why this isn't working. I tried your new code, and with higher Attack or Special Attack I'm always doing like super chip damage to Chansey (this is my main tester because it has garbage Defense). I even made Psychic have the same BP as Photon to test and Psychic does a considerably more amount. I think that something in the Pokemon_Move scripts might be conflicting with this. The part of the Move scripts that calculate a Pokemon's defense stats. Moves like Secret Sword, which modify defensive stats, are defined in Pokemon_Move. It makes me wonder if you're running a different version of essentials than mine and because of that I have to do something different to make this work. I'm using 17.0 iirc.
     
    Back
    Top