Some stuff I spotted as I was looking through the files:
1) I think the "Doodle" move function code is still just a copy of "Role Play", I don't see where it's affecting the user's ally in a double battle.
2) The PBS for "Jet Punch" is missing the CanProtect and CanMirrorMove flags. "Aqua Step" and "Axe Kick" are missing the Contact flag.
3) Is Revival Blessing considered a healing move (i.e. for the effects of Triage or Heal Block)? If it is then that function def is missing in the move function code for it, but if it isn't then ignore me. I'm aware this may be hard to determine since Heal Block isn't in Gen XIII or Gen IX and the only thing with Triage is Comfey. Not sure if there are any other interactions that could determine this.
4) I think anything in the PBS with "Accuracy = 101" should be "Accuracy = 0" if the intended effect is that it skips accuracy checks (e.g. looking at existing PBS for Recover, etc).
5) I don't think "Torch Song" needs its own move function, since the interaction with Throat Spray applies to all Sound based moves anyway, and it has the Sound flag applied in PBS to enable this. I think its PBS function just needs to be "RaiseUserSpAtk1". Please correct me if there's an additional reason for this function that I'm missing.
6) Raging Bull appears to be missing the type-altering function. I've written a function that seems to correctly use the move's entire effect if you want to use it:
#===============================================================================
# Type depends on the user's form. (Raging Bull)
#===============================================================================
class Battle::Move::TypeDependsOnUserForm < Battle::Move::RemoveScreens
def pbBaseType(user)
ret = :NORMAL
if user.species == :TAUROS
ret = :FIGHTING if user.form == 1
ret = :FIRE if user.form == 2
ret = :WATER if user.form == 3
end
return ret
end
end
The form numbers / types listed above should align with your existing PBS without needing any edits to it. It appears as a Normal move in the battle screen regardless of what form Tauros is, but this is also how Revelation Dance and Judgment work for Oricorio and Arceus's similar moves.
7) I think Made it Rain might be better if you code it like this:
#===============================================================================
# Scatters coins that the player picks up after winning the battle.
# Lowers the user's Special Attack by 1 stage.
# (Make It Rain)
#===============================================================================
class Battle::Move::AddMoneyGainedFromBattleLowerUserSpAtk1 < Battle::Move::LowerUserSpAtk1
def pbEffectGeneral(user)
if user.pbOwnedByPlayer?
@battle.field.effects[PBEffects::PayDay] += 5 * user.level
end
@battle.pbDisplay(_INTL("Coins were scattered everywhere!"))
end
end
I was mostly just concerned because despite the "super" it won't be inheriting anything from "StatDownMove" since the superclass is the one for Pay Day and not the one for lowering stats or lowering the user's Sp.Atk. In this version I made "LowerUserSpAtk1" the superclass instead and copied the small function from "AddMoneyGainedFromBattle" since it was the less complex move function without a superclass of its own.