- 2
- Posts
- 7
- Years
- Seen Oct 16, 2021
Have you ever thought that, wow: I have played Pokemon for 20 years, and nothing's changed?
Have you ever thought: types are so boring and their is nothing special about them individually?
Have you ever thought: I need something fresh with my Pokemon game?
Well look no further! The Custom Type Buff is exactly what you need!
Each individual types have been buffed in a (hopefully) balanced way, so you can have a ton of fun!
Just follow the instructions and you too can have a new experience in the world of Pokemon!
(This was inspired by the 7th Gen Prankster Immunity and the Sp.Def Rock buff)
Each Buff:
Warning: Lots of Instructions, but neat in the end.
In: PokeBattle_DamageState under attr_accessor :sturdy # Sturdy ability used put
In PokeBattle_DamageState under @sturdy = false
In PokeBattle_Battler right before if target.hasWorkingAbility(:CUTECHARM) && @battle.pbRandom(10)<3
In PokeBattle_Battler right after p=thismove.priority
In PokeBattle_Battler right after addleffect=thismove.addlEffect
In PokeBattle_Battler right before if target.hasWorkingAbility(:CURSEDBODY,true) && @battle.pbRandom(10)<3
In PokeBattle_Battler replace with if user.pbIsOpposing?(target.index) && target.hasWorkingAbility(:PRESSURE)
In PokeBattle_Battler right before if thismove.basedamage>0 && thismove.function!=0x02 && # Struggle
in PokeBattle_BattlerEffects before if pbOwnSide.effects[PBEffects::Safeguard]>0 &&
In PokeBattle_BattlerEffects after the if hasWorkingAbility(:OWNTEMPO) .... end
In PokeBattle_BattlerEffects after return false if (!attacker || !attacker.hasMoldBreaker) && hasWorkingAbility(:INNERFOCUS)
in PokeBattle_Battle replace:
In PokeBattle_Battle before if i.hasWorkingAbility(:HEALER) && pbRandom(10)<3
In Pokebattle_Battle replace if (i.hasWorkingAbility(:PICKUP)
In PokeBattle_Move after if attacker.hasWorkingAbility(:VICTORYSTAR) ...end
In PokeBattle_Move after c+=1 if attacker.hasWorkingAbility(:SUPERLUCK)
In PokeBattle_Move before if attacker.hasWorkingAbility(:TECHNICIAN) && basedmg<=60 && @id>0
In PokeBattle_move replace
In PokeBattle_Move before if opponent.hasWorkingItem(:ASSAULTVEST) && pbIsSpecial?(type)
In PokeBattle_Move before if attacker.hasWorkingItem(:METRONOME)
In PokeBattle_Move after PBDebug.log("[Item triggered] #{opponent.pbThis}'s Focus Band")
In PokeBattle_Move after @battle.pbDisplay(_INTL("{1} hung on with Sturdy!",opponent.pbThis))
Also I just realized how much stuff I had listed, but everything is pretty self explanatory, and it is pretty simple scripts.
Have you ever thought: types are so boring and their is nothing special about them individually?
Have you ever thought: I need something fresh with my Pokemon game?
Well look no further! The Custom Type Buff is exactly what you need!
Each individual types have been buffed in a (hopefully) balanced way, so you can have a ton of fun!
Just follow the instructions and you too can have a new experience in the world of Pokemon!
(This was inspired by the 7th Gen Prankster Immunity and the Sp.Def Rock buff)
Each Buff:
Spoiler:
Normal - Technican / Pickup?
Fighting - Inner Focus / +10% Boost
Flying - 1.25 Accuracy Boost / +25% Boost if Statused
Poison - Poison Point / Poison Touch
Ground - Sand Force / SE Hits -15%
Rock - -15% damage
Bug - Swarm / Wonder Skin
Ghost - Cursed Body / Aftermath
Steel - Sturdy / -10% Damage
Fire - Flash Fire / Blaze
Water - Water Absorb / Torrent
Grass - Sun-Hydration / Overgrowth
Electric - 1.25 When Electric partner / Static
Psychic - Own Tempo / +10% Boost
Ice - Ice Body 1/8 / Icy Gift x1.25 (SpAtk + Def)
Dragon - +15% Damage
Dark - Pressure / +1 Crit / Prankster Immune
Fairy - Serene Grace x1.25 / Cute Charm
Fighting - Inner Focus / +10% Boost
Flying - 1.25 Accuracy Boost / +25% Boost if Statused
Poison - Poison Point / Poison Touch
Ground - Sand Force / SE Hits -15%
Rock - -15% damage
Bug - Swarm / Wonder Skin
Ghost - Cursed Body / Aftermath
Steel - Sturdy / -10% Damage
Fire - Flash Fire / Blaze
Water - Water Absorb / Torrent
Grass - Sun-Hydration / Overgrowth
Electric - 1.25 When Electric partner / Static
Psychic - Own Tempo / +10% Boost
Ice - Ice Body 1/8 / Icy Gift x1.25 (SpAtk + Def)
Dragon - +15% Damage
Dark - Pressure / +1 Crit / Prankster Immune
Fairy - Serene Grace x1.25 / Cute Charm
Warning: Lots of Instructions, but neat in the end.
Spoiler:
In: PokeBattle_DamageState under attr_accessor :sturdy # Sturdy ability used put
Code:
# Custom Type Buff
attr_accessor :steel # Sturdy Steel ability used
In PokeBattle_DamageState under @sturdy = false
Code:
# Custom Type Buff
@steel = false
In PokeBattle_Battler right before if target.hasWorkingAbility(:CUTECHARM) && @battle.pbRandom(10)<3
Code:
# Custom Type Buff Ghost, Fairy, Poison, Ghost, Electric
if target.pbHasType?(:GHOST) && target.isFainted? &&
!user.isFainted?
if [email protected](:DAMP) &&
!user.hasWorkingAbility(:MAGICGUARD)
PBDebug.log("[Type triggered] #{target.pbThis}'s typing")
@battle.scene.pbDamageAnimation(user,0)
user.pbReduceHP((user.totalhp/8).floor)
@battle.pbDisplay(_INTL("{1} was caught in the Ghost aftermath!",user.pbThis))
end
end
if target.pbHasType?(:FAIRY) && @battle.pbRandom(10)<3
if !user.isFainted? && user.pbCanAttract?(target,false)
PBDebug.log("[Type triggered] #{target.pbThis}'s Fairy typing")
user.pbAttract(target,_INTL("{1}'s Fairy typing made {3} fall in love!",target.pbThis,
PBAbilities.getName(target.ability),user.pbThis(true)))
end
end
if target.pbHasType?(:POISON) && @battle.pbRandom(10)<3 &&
user.pbCanPoison?(user,false,target)
PBDebug.log("[Type triggered] #{target.pbThis}'s Poison Type")
user.pbPoison(target,_INTL("{1}'s type poisoned {3}!",target.pbThis,
PBAbilities.getName(target.ability),user.pbThis(true)))
end
if target.pbHasType?(:ELECTRIC) && @battle.pbRandom(10)<3 &&
user.pbCanParalyze?(nil,false)
PBDebug.log("[Ability triggered] #{target.pbThis}'s Typing")
user.pbParalyze(target,_INTL("{1}'s Electric typing paralyzed {3}! It may be unable to move!",
target.pbThis,PBAbilities.getName(target.ability),user.pbThis(true)))
end
if user.pbHasType?(:POISON) &&
target.pbCanPoison?(target,false,user) && @battle.pbRandom(10)<3
PBDebug.log("[Type triggered] #{user.pbThis}'s Poison Type")
target.pbPoison(user,_INTL("{1}'s Poison type poisoned {3}!",user.pbThis,
PBAbilities.getName(user.ability),target.pbThis(true)))
end
In PokeBattle_Battler right after p=thismove.priority
Code:
if user.hasWorkingAbility(:PRANKSTER) && thismove.pbIsStatus?
if target.pbHasType?(:DARK)
@battle.pbDisplay(_INTL("{1}'s Dark typing made the move ineffective!",target.pbThis))
return false
else
p+=1
end
end
Code:
addleffect*=1.25 if user.pbHasType?(:FAIRY)
Code:
# Custom Type Buff Ghost
if target.pbHasType?(:GHOST) && @battle.pbRandom(10)<3
if user.effects[PBEffects::Disable]<=0 && move.pp>0 && !user.isFainted?
user.effects[PBEffects::Disable]=3
user.effects[PBEffects::DisableMove]=move.id
@battle.pbDisplay(_INTL("{1}'s Ghost Typing disabled {3}!",target.pbThis,
PBAbilities.getName(target.ability),user.pbThis(true)))
PBDebug.log("[Type triggered] #{target.pbThis}'s Ghost type disabled #{user.pbThis(true)}")
end
end
In PokeBattle_Battler replace with if user.pbIsOpposing?(target.index) && target.hasWorkingAbility(:PRESSURE)
Code:
if user.pbIsOpposing?(target.index) && (target.hasWorkingAbility(:PRESSURE) || target.pbHasType?(:DARK))
In PokeBattle_Battler right before if thismove.basedamage>0 && thismove.function!=0x02 && # Struggle
Code:
# Custom Type Buff Fire & Water
if target.pbHasType?(:FIRE) && isConst?(thismove.type,PBTypes,:FIRE)
if !target.effects[PBEffects::FlashFire]
target.effects[PBEffects::FlashFire]=true
@battle.pbDisplay(_INTL("{1}'s Fire typing raised its Fire power!",
target.pbThis,PBAbilities.getName(target.ability)))
else
@battle.pbDisplay(_INTL("{1}'s Fire typing made the move ineffective!",
target.pbThis,PBAbilities.getName(target.ability),user.name))
end
return false
end
if target.pbHasType?(:WATER) && isConst?(thismove.type,PBTypes,:WATER)
if target.effects[PBEffects::HealBlock]==0
if target.pbRecoverHP((target.totalhp/4).floor,true)>0
@battle.pbDisplay(_INTL("{1}'s Water typing restored its HP!",
target.pbThis))
else
@battle.pbDisplay(_INTL("{1}'s Water typing made the move useless!",
target.pbThis))
end
return false
end
end
Code:
if pbHasType?(:PSYCHIC)
@battle.pbDisplay(_INTL("{1}'s Psychic typing prevents confusion!",pbThis)) if showMessages
return false
end
Code:
if pbHasType?(:PSYCHIC)
@battle.pbDisplay(_INTL("{1}'s Psychic typing prevents confusion!",pbThis)) if showMessages
return false
end
Code:
return false if pbHasType?(:FIGHTING) # Custom Type Buff Fighting
in PokeBattle_Battle replace:
Code:
if i.hasWorkingAbility(:ICEBODY)
PBDebug.log("[Ability triggered] #{i.pbThis}'s Ice Body")
hpgain=i.pbRecoverHP((i.totalhp/8).floor,true)
pbDisplay(_INTL("{1}'s {2} restored its HP a little!",i.pbThis,PBAbilities.getName(i.ability))) if hpgain>0
end
with
if i.pbHasType?(:ICE) && pbWeather==PBWeather::HAIL
if i.hasWorkingAbility(:ICEBODY)
PBDebug.log("[Ability triggered] #{i.pbThis}'s Ice Body")
hpgain=i.pbRecoverHP((i.totalhp/6).floor,true)
pbDisplay(_INTL("{1}'s {2} restored its HP a little!",i.pbThis,PBAbilities.getName(i.ability))) if hpgain>0
else
PBDebug.log("[Type triggered] #{i.pbThis}'s Ice Type")
hpgain=i.pbRecoverHP((i.totalhp/16).floor,true)
pbDisplay(_INTL("{1}'s Ice typing restored its HP a little!",i.pbThis,PBAbilities.getName(i.ability))) if hpgain>0
end
end
Code:
if i.pbHasType?(:GRASS) && (pbWeather==PBWeather::SUNNYDAY ||
pbWeather==PBWeather::HARSHSUN)
if i.status>0
PBDebug.log("[Type triggered] #{i.pbThis}'s #{PBAbilities.getName(i.ability)}")
s=i.status
i.pbCureStatus(false)
case s
when PBStatuses::SLEEP
pbDisplay(_INTL("{1}'s Grass typing cured its sleep problem!",i.pbThis,PBAbilities.getName(i.ability)))
when PBStatuses::POISON
pbDisplay(_INTL("{1}'s Grass typing cured its poison problem!",i.pbThis,PBAbilities.getName(i.ability)))
when PBStatuses::BURN
pbDisplay(_INTL("{1}'s Grass typing healed its burn!",i.pbThis,PBAbilities.getName(i.ability)))
when PBStatuses::PARALYSIS
pbDisplay(_INTL("{1}'s Grass typing cured its paralysis!",i.pbThis,PBAbilities.getName(i.ability)))
when PBStatuses::FROZEN
pbDisplay(_INTL("{1}'s Grass typing thawed it out!",i.pbThis,PBAbilities.getName(i.ability)))
end
end
end
Code:
if (i.hasWorkingAbility(:PICKUP) || i.pbHasType?(:NORMAL)) && i.item<=0
In PokeBattle_Move after if attacker.hasWorkingAbility(:VICTORYSTAR) ...end
Code:
if attacker.pbHasType?(:FLYING)
accuracy*=1.25
end
if opponent.pbHasType?(:BUG) && pbIsStatus? &&
attacker.pbIsOpposing?(opponent.index)
accuracy*=75
end
In PokeBattle_Move after c+=1 if attacker.hasWorkingAbility(:SUPERLUCK)
Code:
c+=1 if attacker.pbHasType?(:DARK) # Custom Type Buff DARK
In PokeBattle_Move before if attacker.hasWorkingAbility(:TECHNICIAN) && basedmg<=60 && @id>0
Code:
if attacker.pbHasType?(:NORMAL) && basedmg<=60 && @id>0
damagemult=(damagemult*1.5).round
end
if attacker.pbHasType?(:GROUND) &&
@battle.pbWeather==PBWeather::SANDSTORM &&
(isConst?(type,PBTypes,:ROCK) ||
isConst?(type,PBTypes,:GROUND) ||
isConst?(type,PBTypes,:STEEL))
damagemult=(damagemult*1.3).round
end
if attacker.pbHasType?(:FIGHTING)
damagemult=(damagemult*1.1).round
end
if attacker.pbHasType?(:PSYCHIC)
damagemult=(damagemult*1.1).round
end
if attacker.pbHasType?(:ELECTRIC) && attacker.pbPartner.pbHasType?(:ELECTRIC)
damagemult=(damagemult*1.25).round
end
if attacker.pbHasType?(:DRAGON)
damagemult=(damagemult*1.15).round
end
In PokeBattle_move replace
Code:
if attacker.hp<=(attacker.totalhp/3).floor
if (attacker.hasWorkingAbility(:OVERGROW) && isConst?(type,PBTypes,:GRASS)) ||
(attacker.hasWorkingAbility(:BLAZE) && isConst?(type,PBTypes,:FIRE)) ||
(attacker.hasWorkingAbility(:TORRENT) && isConst?(type,PBTypes,:WATER)) ||
(attacker.hasWorkingAbility(:SWARM) && isConst?(type,PBTypes,:BUG))
atkmult=(atkmult*1.5).round
end
end
with
if attacker.hp<=(attacker.totalhp/3).floor
if (attacker.hasWorkingAbility(:OVERGROW) && isConst?(type,PBTypes,:GRASS)) ||
(attacker.hasWorkingAbility(:BLAZE) && isConst?(type,PBTypes,:FIRE)) ||
(attacker.hasWorkingAbility(:TORRENT) && isConst?(type,PBTypes,:WATER)) ||
(attacker.hasWorkingAbility(:SWARM) && isConst?(type,PBTypes,:BUG))
atkmult=(atkmult*1.5).round
end
# Custom Type Buff Overgrowth/Torrent/Blaze Grass Water Fire
if (attacker.pbHasType?(:GRASS) && isConst?(type,PBTypes,:GRASS)) ||
(attacker.pbHasType?(:FIRE) && isConst?(type,PBTypes,:FIRE)) ||
(attacker.pbHasType?(:WATER) && isConst?(type,PBTypes,:WATER)) ||
(attacker.pbHasType?(:BUG) && isConst?(type,PBTypes,:BUG))
atkmult=(atkmult*1.5).round
end
end
if attacker.pbHasType?(:FLYING) && attacker.status!=0
atkmult=(atkmult*1.25).round
end
if @battle.pbWeather==PBWeather::HAIL && pbIsSpecial?(type)
if attacker.pbHasType?(:ICE) || attacker.pbPartner.pbHasType?(:ICE)
atkmult=(atkmult*1.25).round
end
end
In PokeBattle_Move before if opponent.hasWorkingItem(:ASSAULTVEST) && pbIsSpecial?(type)
Code:
if @battle.pbWeather==PBWeather::HAIL && pbIsPhysical?(type)
if opponent.pbHasType?(:ICE) || opponent.pbPartner.pbHasType?(:ICE)
defmult=(defmult*1.25).round
end
end
In PokeBattle_Move before if attacker.hasWorkingItem(:METRONOME)
Code:
# Custom Type Buff
if opponent.pbHasType?(:ROCK)
finaldamagemult=(finaldamagemult*0.85).round
end
if opponent.pbHasType?(:STEEL)
finaldamagemult=(finaldamagemult*0.90).round
end
if opponent.pbHasType?(:GROUND) && opponent.damagestate.typemod>8
finaldamagemult=(finaldamagemult*0.85).round
end
In PokeBattle_Move after PBDebug.log("[Item triggered] #{opponent.pbThis}'s Focus Band")
Code:
elsif opponent.pbHasType?(:STEEL)&& !attacker.hasMoldBreaker && @battle.pbRandom(3)==0
opponent.damagestate.steel=true
damage=damage-1
PBDebug.log("[Type triggered] #{opponent.pbThis}'s Steel Typing")
In PokeBattle_Move after @battle.pbDisplay(_INTL("{1} hung on with Sturdy!",opponent.pbThis))
Code:
elsif opponent.damagestate.steel
@battle.pbDisplay(_INTL("{1} hung on with a grip of steel!",opponent.pbThis))
Also I just realized how much stuff I had listed, but everything is pretty self explanatory, and it is pretty simple scripts.
Last edited: