Telemetius
Tele*
- 256
- Posts
- 10
- Years
- Italy
- Seen Jan 9, 2022
Hello forum, I recently saw a series of questions asking for help to make (or to make public) new custom moves and I was thinking, does it deserve its own thread?
Anyways, what I'm trying to script is:
1) IRON WILL
-for 5 turns the user defense and sp def will be raised by +1 each turn
-the atk and sp atk will be lowered by -0,5 each turn
-works only if the pokemon is slower than the adversary
-works only if the pokemon has more than 50% of its health left
-works only on iron types
-after 5 turns def and sp def will be lowered by -5 while atk and sp atk will be raised by +2,5
##########################################
2) ROCKFALL
-it will cure the user with 60% of its total health
-it has +1 priority
-it will distract the adversary
-cannot be used twice in a row
-it will lower the user speed by -5
-works only on rock types
##########################################
3) FREEZE STING
- with a 100% accuracy it will freeze the target
- cannot be used on ice types
- cannot be used on fire types
- cannot be used twice in a row
##########################################
I understand that No 2 and 3 are broken but they are supposed to be annoying and they'll be used just once.
This is my attempt for Freezesting, it's working:
This is rockfall:
Anyways, what I'm trying to script is:
1) IRON WILL
-for 5 turns the user defense and sp def will be raised by +1 each turn
-the atk and sp atk will be lowered by -0,5 each turn
-works only if the pokemon is slower than the adversary
-works only if the pokemon has more than 50% of its health left
-works only on iron types
-after 5 turns def and sp def will be lowered by -5 while atk and sp atk will be raised by +2,5
##########################################
2) ROCKFALL
-it will cure the user with 60% of its total health
-it has +1 priority
-it will distract the adversary
-cannot be used twice in a row
-it will lower the user speed by -5
-works only on rock types
##########################################
3) FREEZE STING
- with a 100% accuracy it will freeze the target
- cannot be used on ice types
- cannot be used on fire types
- cannot be used twice in a row
##########################################
I understand that No 2 and 3 are broken but they are supposed to be annoying and they'll be used just once.
This is my attempt for Freezesting, it's working:
Code:
################################################################################
# Custom Move BRINAMENTO
################################################################################
class PokeBattle_Move_15A < PokeBattle_Move
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if @congelato==true
@battle.pbDisplay(_INTL("Too tired to use Brinamento!"))
return -1
end
return super(attacker,opponent,hitnum,alltargets,showanimation) if pbIsDamaging?
return -1 if !opponent.pbCanFreeze?(attacker,true,self)
pbShowAnimation(@id,attacker,opponent,hitnum,alltargets,showanimation)
opponent.pbFreeze if opponent.pbCanFreeze?(attacker,false,self)
return 0
end
def pbAdditionalEffect(attacker,opponent)
if opponent.pbCanFreeze?(attacker,false,self) && opponent.pbHasType?(:ICE)
@battle.pbDisplay(_INTL("Brinamento has no effect on Ice Pokémons!"))
return false
elsif opponent.pbCanFreeze?(attacker,false,self) && opponent.pbHasType?(:FIRE)
@battle.pbDisplay(_INTL("Brinamento has no effect on Fire Pokémons!"))
return false
else
opponent.pbFreeze if opponent.pbCanFreeze?(attacker,false,self)
@congelato=true
return true
end
return false
end
end
This is rockfall:
Code:
################################################################################
# CUSTOM MOVE SEDIMENTAZIONE
################################################################################
class PokeBattle_Move_15B < PokeBattle_Move
def isHealingMove?
return true
end
def pbEffect(attacker,opponent,hitnum=0,alltargets=nil,showanimation=true)
if @tentenna==true
@battle.pbDisplay(_INTL("Too tired to use Sedimentazione again!"))
return -1
end
#if !attacker.pbHasType?(:ROCK)
# return -1
#end
if attacker.hp==attacker.totalhp
@battle.pbDisplay(_INTL("{1}'s HPs are already at max!",attacker.pbThis))
return -1
end
hpgain=(attacker.totalhp).floor
pbShowAnimation(@id,attacker,nil,hitnum,alltargets,showanimation)
attacker.pbRecoverHP(hpgain,true)
@battle.pbDisplay(_INTL("{1}'s HPs have been restored.",attacker.pbThis))
if attacker.pbCanReduceStatStage?(PBStats::SPEED,attacker,false,self)
attacker.pbReduceStat(PBStats::SPEED,5,attacker,false,self)
end
return 0
end
end
def pbAdditionalEffect(attacker,opponent)
if opponent.effects[PBEffects::Substitute]==0 || ignoresSubstitute?(attacker)
return opponent.pbFlinch(attacker)
@tentenna=true
end
@tentenna=true
return false
end
Last edited: