主页
论坛
新帖
最新消息
新帖
最新动态
制作互助群
登录
注册
Toggle sidebar
Toggle sidebar
菜单
安装应用
安装
回复主题
【进站必读】宝可饭堂社区全局规定v1.10
关于坚决维护同人创作社群秩序与共识的公告
论坛
独立开发
开发用品
【练手】[20.1]朱紫新增特性编写【已弃坑】
禁用JavaScript。为了获得更好的体验,请在运行之前启用浏览器中的JavaScript。
您正在使用一款已经过时的浏览器!部分功能不能正常使用。
请尝试升级或使用
其他浏览器
。
信息
<blockquote data-quote="ES泽洛" data-source="post: 371" data-attributes="member: 2"><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 22px">没写完,不想写了,已经写了的也有不完善的地方,仅供参考。</span></span></p><p><span style="font-size: 15px">其实应该也算不上开发用品,需要注意的是,当时朱紫还没正式发售,很多效果只有描述,而没有实际参考,所以我写的代码和官方的必然会有一定出入。</span></p><p><span style="font-size: 15px"><em>把内部名改成正式英文名大写了。</em></span></p><p><span style="font-size: 15px">有需要的自取,记得给Credits,可以用,但<span style="color: rgb(235, 107, 86)">禁止转载</span>。</span></p><p><span style="font-size: 15px">我自己的零维E界是用不上的,因为是18.1。</span></p><p></p><p>[SPOILER="1.甩不掉的气味"]</p><p>[CODE][LINGERINGAROMA]</p><p>Name = 甩不掉的气味</p><p>Description = 被对手接触到后,甩不掉的 气味会沾上对手。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::OnBeingHit.copy(:MUMMY, :LINGERINGAROMA)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="2.掉出种子"]</p><p>[CODE][SEEDSOWER]</p><p>Name = 掉出种子</p><p>Description = 受到攻击时,会将脚下变成 青草场地。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::OnBeingHit.add(:SEEDSOWER,</p><p> proc { |ability, user, target, move, battle|</p><p> next if battle.field.terrain == :Grassy</p><p> battle.pbShowAbilitySplash(target)</p><p> battle.pbStartTerrain(target, :Grassy)</p><p> battle.pbHideAbilitySplash(target)</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="3.热交换"]</p><p>[CODE][THERMALEXCHANGE]</p><p>Name = 热交换</p><p>Description = 受到火属性的招式攻击时, 攻击会提高,且不会陷入 灼伤状态。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::OnBeingHit.add(:THERMALEXCHANGE,</p><p> proc { |ability, user, target, move, battle|</p><p> next if move.calcType != :FIRE</p><p> target.pbRaiseStatStageByAbility(:ATTACK, 1, target)</p><p> }</p><p>)</p><p>Battle::AbilityEffects::StatusImmunity.add(:THERMALEXCHANGE,</p><p> proc { |ability, battler, status|</p><p> next true if status == :BURN</p><p> }</p><p>)</p><p>Battle::AbilityEffects::StatusCure.add(:THERMALEXCHANGE,</p><p> proc { |ability, battler|</p><p> next if battler.status != :BURN</p><p> battler.battle.pbShowAbilitySplash(battler)</p><p> battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH)</p><p> if !Battle::Scene::USE_ABILITY_SPLASH</p><p> battler.battle.pbDisplay(_INTL("{1}的{2}治愈了\n它的灼伤状态!", battler.pbThis, battler.abilityName))</p><p> end</p><p> battler.battle.pbHideAbilitySplash(battler)</p><p> }</p><p>)</p><p>Battle::AbilityEffects::OnSwitchOut.add(:THERMALEXCHANGE,</p><p> proc { |ability, battler, endOfBattle|</p><p> next if battler.status != :BURN</p><p> battler.status = :NONE</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="4.愤怒甲壳"]</p><p>[CODE][ANGERSHELL]</p><p>Name = 愤怒甲壳</p><p>Description = 因被对手的攻击而HP变为一半时, 会因愤怒降低防御和特防。 但攻击、特攻、速度会提高。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::AfterMoveUseFromTarget.add(:ANGERSHELL,</p><p> proc { |ability, target, user, move, switched_battlers, battle|</p><p> next if !move.damagingMove?</p><p> next if !target.droppedBelowHalfHP</p><p> next if !target.pbCanLowerStatStage?(:DEFENSE, target) &&</p><p> !target.pbCanLowerStatStage?(:SPECIAL_DEFENSE, target) &&</p><p> !target.pbCanRaiseStatStage?(:ATTACK, target) &&</p><p> !target.pbCanRaiseStatStage?(:SPECIAL_ATTACK, target) &&</p><p> !target.pbCanRaiseStatStage?(:SPEED, target) &&</p><p> battle.pbShowAbilitySplash(target)</p><p> target.pbLowerStatStageByAbility(:DEFENSE, 1, target, false)</p><p> target.pbLowerStatStageByAbility(:SPECIAL_DEFENSE, 1, target, false)</p><p> target.pbRaiseStatStageByAbility(:ATTACK, 1, target, false)</p><p> target.pbRaiseStatStageByAbility(:SPECIAL_ATTACK, 1, target, false)</p><p> target.pbRaiseStatStageByAbility(:SPEED, 1, target, false)</p><p> battle.pbHideAbilitySplash(target)</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="5.洁净之盐"]</p><p>[CODE][PURIFYINGSALT]</p><p>Name = 洁净之盐</p><p>Description = 因洁净的盐而不会陷入异常状态。 会让幽灵属性的招式伤害减半。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::StatusImmunity.add(:PURIFYINGSALT,</p><p> proc { |ability, battler, status|</p><p> next true</p><p> }</p><p>)</p><p>Battle::AbilityEffects::DamageCalcFromTarget.add(:PURIFYINGSALT,</p><p> proc { |ability, user, target, move, mults, baseDmg, type|</p><p> mults[:base_damage_multiplier] /= 2 if type == :GHOST</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="6.焦香之躯"]</p><p>[CODE][WELLBAKEDBODY]</p><p>Name = 焦香之躯</p><p>Description = 受到火属性的招式攻击时, 不会受到伤害,而是会大幅 提高防御。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::MoveImmunity.add(:WELLBAKEDBODY,</p><p> proc { |ability, user, target, move, type, battle, show_message|</p><p> next target.pbMoveImmunityStatRaisingAbility(user, move, type,</p><p> :FIRE, :DEFENSE, 2, show_message)</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="7.乘风"]</p><p>[CODE][WINDRIDER]</p><p>Name = 乘风</p><p>Description = 受到了顺风或受到风的招式 攻击时,不会受到伤害,而 是会提高攻击。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::MoveImmunity.add(:WINDRIDER,</p><p> proc { |ability, user, target, move, type, battle, show_message|</p><p> next false if !move.windMove?</p><p> next target.pbRaiseStatStageByAbility(:ATTACK, 1, target)</p><p> }</p><p>)[/CODE]</p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px"><strong>注意:此特性需要额外添加一些内容。</strong></span></span></p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px"><strong>注意2:暂时还不能检测顺风。</strong></span></span></p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px">1.在PBS文件夹的moves.txt中,给以下招式的Flags后面加上 </span></span><span style="font-size: 15px"><em>,Wind</em></span><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px"> ,如果没有Flags就加一个。</span></span></p><p>[CODE]</p><p>SILVERWIND 银色旋风</p><p>TWISTER 龙卷风</p><p>FAIRYWIND 妖精之风</p><p>HURRICANE 暴风</p><p>GUST 起风</p><p>TAILWIND 顺风</p><p>OMINOUSWIND 奇异之风</p><p>ICYWIND 冰冻之风</p><p>RAZORWIND 旋风刀</p><p>[/CODE]</p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px">2.在Battle_Move页中,大概在134行下面,粘贴如下代码:</span></span></p><p>[CODE=ruby]def windMove?; return @flags.any? { |f| f[/^Wind$/i] }; end[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="8.看门犬"]</p><p>[CODE][GUARDDOG]</p><p>Name = 看门犬</p><p>Description = 受到威吓时,攻击会提高。 让替换宝可梦的招式和道具无效。[/CODE]</p><p><span style="font-size: 15px"><span style="color: rgb(226, 80, 65)"><strong>注意:暂时还不能检测携带道具。</strong></span></span></p><p><span style="font-size: 15px"><span style="color: rgb(226, 80, 65)">此特性需要在</span><em>Battle::Move::SwitchOutUserDamagingMove < Battle::Move</em><span style="color: rgb(226, 80, 65)">中添加以下注释之间的代码</span></span></p><p>[CODE=ruby]</p><p>class Battle::Move::SwitchOutUserDamagingMove < Battle::Move</p><p> def pbEndOfMoveUsageEffect(user, targets, numHits, switchedBattlers)</p><p> return if user.fainted? || numHits == 0 || @battle.pbAllFainted?(user.idxOpposingSide)</p><p> #=========================================</p><p> targets.each do |b|</p><p> if b.hasActiveAbility?(:GUARDDOG)</p><p> @battle.pbShowAbilitySplash(b)</p><p> @battle.pbDisplay(_INTL("{1}因为{2}的{3}\n而无法替换!",</p><p> user.pbThis, b.pbThis, b.abilityName))</p><p> @battle.pbHideAbilitySplash(b)</p><p> return</p><p> end</p><p> end</p><p> #=========================================</p><p> targetSwitched = true</p><p> targets.each do |b|</p><p> targetSwitched = false if !switchedBattlers.include?(b.index)</p><p> end</p><p> return if targetSwitched</p><p> return if !@battle.pbCanChooseNonActive?(user.index)</p><p> @battle.pbDisplay(_INTL("{1} went back to {2}!", user.pbThis,</p><p> @battle.pbGetOwnerName(user.index)))</p><p> @battle.pbPursuit(user.index)</p><p> return if user.fainted?</p><p> newPkmn = @battle.pbGetReplacementPokemonIndex(user.index) # Owner chooses</p><p> return if newPkmn < 0</p><p> @battle.pbRecallAndReplace(user.index, newPkmn)</p><p> @battle.pbClearChoice(user.index) # Replacement Pokémon does nothing this round</p><p> @battle.moldBreaker = false</p><p> @battle.pbOnBattlerEnteringBattle(user.index)</p><p> switchedBattlers.push(user.index)</p><p> end</p><p>end</p><p>[/CODE]</p><p><span style="font-size: 15px"><span style="color: rgb(226, 80, 65)">此特性还需要修改威吓特性,全局搜索</span>INTIMIDATE<span style="color: rgb(226, 80, 65)">,整段替换成以下代码:</span></span></p><p>[CODE=ruby]Battle::AbilityEffects::OnSwitchIn.add(:INTIMIDATE,</p><p> proc { |ability, battler, battle, switch_in|</p><p> battle.pbShowAbilitySplash(battler)</p><p> battle.allOtherSideBattlers(battler.index).each do |b|</p><p> next if !b.near?(battler)</p><p> if b.hasActiveAbility?(:GUARDDOG)</p><p> b.pbRaiseStatStageByAbility(:ATTACK, 1, b)</p><p> else</p><p> check_item = true</p><p> if b.hasActiveAbility?(:CONTRARY)</p><p> check_item = false if b.statStageAtMax?(:ATTACK)</p><p> elsif b.statStageAtMin?(:ATTACK)</p><p> check_item = false</p><p> end</p><p> check_ability = b.pbLowerAttackStatStageIntimidate(battler)</p><p> b.pbAbilitiesOnIntimidated if check_ability</p><p> b.pbItemOnIntimidatedCheck if check_item</p><p> end</p><p> end</p><p> battle.pbHideAbilitySplash(battler)</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="9.搬岩"]</p><p>[CODE][ROCKYPAYLOAD]</p><p>Name = 搬岩</p><p>Description = 岩石属性的招式威力会提高。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::DamageCalcFromUser.add(:ROCKYPAYLOAD,</p><p> proc { |ability, user, target, move, mults, baseDmg, type|</p><p> mults[:base_damage_multiplier] *= 1.5 if move.calcType == :ROCK</p><p> }</p><p>)[/CODE]</p><p>[/SPOILER]</p><p>[SPOILER="10.风力发电"]</p><p>[CODE][WINDPOWER]</p><p>Name = 风力发电</p><p>Description = 受到风的招式攻击时, 会变为充电状态。[/CODE]</p><p>[CODE=ruby]Battle::AbilityEffects::MoveImmunity.add(:WINDPOWER,</p><p> proc { |ability, user, target, move, type, battle, show_message|</p><p> next false if !move.windMove?</p><p> battle.pbShowAbilitySplash(target)</p><p> target.effects[PBEffects::Charge] = 2</p><p> battle.pbDisplay(_INTL("{1}正在充电!", target.pbThis))</p><p> battle.pbHideAbilitySplash(target)</p><p> next true</p><p> }</p><p>)[/CODE]</p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px"><strong>注意:此特性需要额外添加一些内容。(若在乘风特性那里添加过了可跳过)</strong></span></span></p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px">1.在PBS文件夹的moves.txt中,给以下招式的Flags后面加上 </span></span><span style="font-size: 15px"><em>,Wind</em></span><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px"> ,如果没有Flags就加一个。</span></span></p><p>[CODE]</p><p>SILVERWIND 银色旋风</p><p>TWISTER 龙卷风</p><p>FAIRYWIND 妖精之风</p><p>HURRICANE 暴风</p><p>GUST 起风</p><p>TAILWIND 顺风</p><p>OMINOUSWIND 奇异之风</p><p>ICYWIND 冰冻之风</p><p>RAZORWIND 旋风刀</p><p>[/CODE]</p><p><span style="color: rgb(226, 80, 65)"><span style="font-size: 15px">2.在Battle_Move页中,大概在134行下面,粘贴如下代码:</span></span></p><p>[CODE=ruby]def windMove?; return @flags.any? { |f| f[/^Wind$/i] }; end[/CODE]</p><p>[/SPOILER]</p></blockquote><p></p>
[QUOTE="ES泽洛, post: 371, member: 2"] [COLOR=rgb(226, 80, 65)][SIZE=6]没写完,不想写了,已经写了的也有不完善的地方,仅供参考。[/SIZE][/COLOR] [SIZE=4]其实应该也算不上开发用品,需要注意的是,当时朱紫还没正式发售,很多效果只有描述,而没有实际参考,所以我写的代码和官方的必然会有一定出入。 [I]把内部名改成正式英文名大写了。[/I] 有需要的自取,记得给Credits,可以用,但[COLOR=rgb(235, 107, 86)]禁止转载[/COLOR]。 我自己的零维E界是用不上的,因为是18.1。[/SIZE] [SPOILER="1.甩不掉的气味"] [CODE][LINGERINGAROMA] Name = 甩不掉的气味 Description = 被对手接触到后,甩不掉的 气味会沾上对手。[/CODE] [CODE=ruby]Battle::AbilityEffects::OnBeingHit.copy(:MUMMY, :LINGERINGAROMA)[/CODE] [/SPOILER] [SPOILER="2.掉出种子"] [CODE][SEEDSOWER] Name = 掉出种子 Description = 受到攻击时,会将脚下变成 青草场地。[/CODE] [CODE=ruby]Battle::AbilityEffects::OnBeingHit.add(:SEEDSOWER, proc { |ability, user, target, move, battle| next if battle.field.terrain == :Grassy battle.pbShowAbilitySplash(target) battle.pbStartTerrain(target, :Grassy) battle.pbHideAbilitySplash(target) } )[/CODE] [/SPOILER] [SPOILER="3.热交换"] [CODE][THERMALEXCHANGE] Name = 热交换 Description = 受到火属性的招式攻击时, 攻击会提高,且不会陷入 灼伤状态。[/CODE] [CODE=ruby]Battle::AbilityEffects::OnBeingHit.add(:THERMALEXCHANGE, proc { |ability, user, target, move, battle| next if move.calcType != :FIRE target.pbRaiseStatStageByAbility(:ATTACK, 1, target) } ) Battle::AbilityEffects::StatusImmunity.add(:THERMALEXCHANGE, proc { |ability, battler, status| next true if status == :BURN } ) Battle::AbilityEffects::StatusCure.add(:THERMALEXCHANGE, proc { |ability, battler| next if battler.status != :BURN battler.battle.pbShowAbilitySplash(battler) battler.pbCureStatus(Battle::Scene::USE_ABILITY_SPLASH) if !Battle::Scene::USE_ABILITY_SPLASH battler.battle.pbDisplay(_INTL("{1}的{2}治愈了\n它的灼伤状态!", battler.pbThis, battler.abilityName)) end battler.battle.pbHideAbilitySplash(battler) } ) Battle::AbilityEffects::OnSwitchOut.add(:THERMALEXCHANGE, proc { |ability, battler, endOfBattle| next if battler.status != :BURN battler.status = :NONE } )[/CODE] [/SPOILER] [SPOILER="4.愤怒甲壳"] [CODE][ANGERSHELL] Name = 愤怒甲壳 Description = 因被对手的攻击而HP变为一半时, 会因愤怒降低防御和特防。 但攻击、特攻、速度会提高。[/CODE] [CODE=ruby]Battle::AbilityEffects::AfterMoveUseFromTarget.add(:ANGERSHELL, proc { |ability, target, user, move, switched_battlers, battle| next if !move.damagingMove? next if !target.droppedBelowHalfHP next if !target.pbCanLowerStatStage?(:DEFENSE, target) && !target.pbCanLowerStatStage?(:SPECIAL_DEFENSE, target) && !target.pbCanRaiseStatStage?(:ATTACK, target) && !target.pbCanRaiseStatStage?(:SPECIAL_ATTACK, target) && !target.pbCanRaiseStatStage?(:SPEED, target) && battle.pbShowAbilitySplash(target) target.pbLowerStatStageByAbility(:DEFENSE, 1, target, false) target.pbLowerStatStageByAbility(:SPECIAL_DEFENSE, 1, target, false) target.pbRaiseStatStageByAbility(:ATTACK, 1, target, false) target.pbRaiseStatStageByAbility(:SPECIAL_ATTACK, 1, target, false) target.pbRaiseStatStageByAbility(:SPEED, 1, target, false) battle.pbHideAbilitySplash(target) } )[/CODE] [/SPOILER] [SPOILER="5.洁净之盐"] [CODE][PURIFYINGSALT] Name = 洁净之盐 Description = 因洁净的盐而不会陷入异常状态。 会让幽灵属性的招式伤害减半。[/CODE] [CODE=ruby]Battle::AbilityEffects::StatusImmunity.add(:PURIFYINGSALT, proc { |ability, battler, status| next true } ) Battle::AbilityEffects::DamageCalcFromTarget.add(:PURIFYINGSALT, proc { |ability, user, target, move, mults, baseDmg, type| mults[:base_damage_multiplier] /= 2 if type == :GHOST } )[/CODE] [/SPOILER] [SPOILER="6.焦香之躯"] [CODE][WELLBAKEDBODY] Name = 焦香之躯 Description = 受到火属性的招式攻击时, 不会受到伤害,而是会大幅 提高防御。[/CODE] [CODE=ruby]Battle::AbilityEffects::MoveImmunity.add(:WELLBAKEDBODY, proc { |ability, user, target, move, type, battle, show_message| next target.pbMoveImmunityStatRaisingAbility(user, move, type, :FIRE, :DEFENSE, 2, show_message) } )[/CODE] [/SPOILER] [SPOILER="7.乘风"] [CODE][WINDRIDER] Name = 乘风 Description = 受到了顺风或受到风的招式 攻击时,不会受到伤害,而 是会提高攻击。[/CODE] [CODE=ruby]Battle::AbilityEffects::MoveImmunity.add(:WINDRIDER, proc { |ability, user, target, move, type, battle, show_message| next false if !move.windMove? next target.pbRaiseStatStageByAbility(:ATTACK, 1, target) } )[/CODE] [COLOR=rgb(226, 80, 65)][SIZE=4][B]注意:此特性需要额外添加一些内容。 注意2:暂时还不能检测顺风。[/B] 1.在PBS文件夹的moves.txt中,给以下招式的Flags后面加上 [/SIZE][/COLOR][SIZE=4][I],Wind[/I][/SIZE][COLOR=rgb(226, 80, 65)][SIZE=4] ,如果没有Flags就加一个。[/SIZE][/COLOR] [CODE] SILVERWIND 银色旋风 TWISTER 龙卷风 FAIRYWIND 妖精之风 HURRICANE 暴风 GUST 起风 TAILWIND 顺风 OMINOUSWIND 奇异之风 ICYWIND 冰冻之风 RAZORWIND 旋风刀 [/CODE] [COLOR=rgb(226, 80, 65)][SIZE=4]2.在Battle_Move页中,大概在134行下面,粘贴如下代码:[/SIZE][/COLOR] [CODE=ruby]def windMove?; return @flags.any? { |f| f[/^Wind$/i] }; end[/CODE] [/SPOILER] [SPOILER="8.看门犬"] [CODE][GUARDDOG] Name = 看门犬 Description = 受到威吓时,攻击会提高。 让替换宝可梦的招式和道具无效。[/CODE] [SIZE=4][COLOR=rgb(226, 80, 65)][B]注意:暂时还不能检测携带道具。[/B] 此特性需要在[/COLOR][I]Battle::Move::SwitchOutUserDamagingMove < Battle::Move[/I][COLOR=rgb(226, 80, 65)]中添加以下注释之间的代码[/COLOR][/SIZE] [CODE=ruby] class Battle::Move::SwitchOutUserDamagingMove < Battle::Move def pbEndOfMoveUsageEffect(user, targets, numHits, switchedBattlers) return if user.fainted? || numHits == 0 || @battle.pbAllFainted?(user.idxOpposingSide) #========================================= targets.each do |b| if b.hasActiveAbility?(:GUARDDOG) @battle.pbShowAbilitySplash(b) @battle.pbDisplay(_INTL("{1}因为{2}的{3}\n而无法替换!", user.pbThis, b.pbThis, b.abilityName)) @battle.pbHideAbilitySplash(b) return end end #========================================= targetSwitched = true targets.each do |b| targetSwitched = false if !switchedBattlers.include?(b.index) end return if targetSwitched return if !@battle.pbCanChooseNonActive?(user.index) @battle.pbDisplay(_INTL("{1} went back to {2}!", user.pbThis, @battle.pbGetOwnerName(user.index))) @battle.pbPursuit(user.index) return if user.fainted? newPkmn = @battle.pbGetReplacementPokemonIndex(user.index) # Owner chooses return if newPkmn < 0 @battle.pbRecallAndReplace(user.index, newPkmn) @battle.pbClearChoice(user.index) # Replacement Pokémon does nothing this round @battle.moldBreaker = false @battle.pbOnBattlerEnteringBattle(user.index) switchedBattlers.push(user.index) end end [/CODE] [SIZE=4][COLOR=rgb(226, 80, 65)]此特性还需要修改威吓特性,全局搜索[/COLOR]INTIMIDATE[COLOR=rgb(226, 80, 65)],整段替换成以下代码:[/COLOR][/SIZE] [CODE=ruby]Battle::AbilityEffects::OnSwitchIn.add(:INTIMIDATE, proc { |ability, battler, battle, switch_in| battle.pbShowAbilitySplash(battler) battle.allOtherSideBattlers(battler.index).each do |b| next if !b.near?(battler) if b.hasActiveAbility?(:GUARDDOG) b.pbRaiseStatStageByAbility(:ATTACK, 1, b) else check_item = true if b.hasActiveAbility?(:CONTRARY) check_item = false if b.statStageAtMax?(:ATTACK) elsif b.statStageAtMin?(:ATTACK) check_item = false end check_ability = b.pbLowerAttackStatStageIntimidate(battler) b.pbAbilitiesOnIntimidated if check_ability b.pbItemOnIntimidatedCheck if check_item end end battle.pbHideAbilitySplash(battler) } )[/CODE] [/SPOILER] [SPOILER="9.搬岩"] [CODE][ROCKYPAYLOAD] Name = 搬岩 Description = 岩石属性的招式威力会提高。[/CODE] [CODE=ruby]Battle::AbilityEffects::DamageCalcFromUser.add(:ROCKYPAYLOAD, proc { |ability, user, target, move, mults, baseDmg, type| mults[:base_damage_multiplier] *= 1.5 if move.calcType == :ROCK } )[/CODE] [/SPOILER] [SPOILER="10.风力发电"] [CODE][WINDPOWER] Name = 风力发电 Description = 受到风的招式攻击时, 会变为充电状态。[/CODE] [CODE=ruby]Battle::AbilityEffects::MoveImmunity.add(:WINDPOWER, proc { |ability, user, target, move, type, battle, show_message| next false if !move.windMove? battle.pbShowAbilitySplash(target) target.effects[PBEffects::Charge] = 2 battle.pbDisplay(_INTL("{1}正在充电!", target.pbThis)) battle.pbHideAbilitySplash(target) next true } )[/CODE] [COLOR=rgb(226, 80, 65)][SIZE=4][B]注意:此特性需要额外添加一些内容。(若在乘风特性那里添加过了可跳过)[/B] 1.在PBS文件夹的moves.txt中,给以下招式的Flags后面加上 [/SIZE][/COLOR][SIZE=4][I],Wind[/I][/SIZE][COLOR=rgb(226, 80, 65)][SIZE=4] ,如果没有Flags就加一个。[/SIZE][/COLOR] [CODE] SILVERWIND 银色旋风 TWISTER 龙卷风 FAIRYWIND 妖精之风 HURRICANE 暴风 GUST 起风 TAILWIND 顺风 OMINOUSWIND 奇异之风 ICYWIND 冰冻之风 RAZORWIND 旋风刀 [/CODE] [COLOR=rgb(226, 80, 65)][SIZE=4]2.在Battle_Move页中,大概在134行下面,粘贴如下代码:[/SIZE][/COLOR] [CODE=ruby]def windMove?; return @flags.any? { |f| f[/^Wind$/i] }; end[/CODE] [/SPOILER] [/QUOTE]
验证
目前宝可梦官方数据已经包含多少个图鉴?(纯数字)
回复帖子
最新帖子
全
我想切换视角讲述故事
最新更新:全民制作人
星期三,21:43
开发问题
Z
将GBA打包成APK
最新更新:zheyeyeye
星期三,21:27
GBA教程
Z
【进站必读】宝可饭堂社区全局规定v1.10
最新更新:z1652646304
星期三,20:25
公告规定
雨
pokeemerald怎么改箱子数
最新更新:雨落天晴
星期二,10:16
开发问题
[讨论]什么契机导致你想做游戏的
最新更新:A原翼
星期一,00:12
其他相关讨论
论坛统计
主题
559
消息
2,422
成员
3,879
最新成员
stonezz
联系我们
QQ
2201858342
邮箱
pokefans@qq.com
论坛
独立开发
开发用品
【练手】[20.1]朱紫新增特性编写【已弃坑】
顶部