✓ ESS20-21 【趣味教程】添加具体的特性、道具、招式

本帖用于记录如何添加一些具体的特性、道具、招式,并不是通用模板。
每一个都单独开帖有些没必要,所以就集合在一个帖子里发。

这些特性、道具、招式的创意不一定是我原创,但代码基本都是我自己写的。
不是一次性发完,而是想到什么就写什么。
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
236
14
288
2,116
23
江苏
www.esplus.club

特性

1.磐涅:每场战斗首次倒下时以最大HP的50%复活,并提高特攻和速度。
2.节省:使用招式时有30%的概率不消耗PP值。
3.能量吸收:受到特殊招式攻击时不会受到伤害,而是大幅提高特攻。
4.生命再生:每回合结束时回复自身最大HP的16%。
5.感恩的决心:出场时,与训练家的亲密度越高,越容易提高能力。
6.掠食:打倒对手时,回复自身最大HP的20%。
以上6个特性请看https://bbs.pokefans.cn/threads/244/

7.正义变身:友方被打倒时,变身为正义侠。
请看https://bbs.pokefans.cn/threads/242/
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
236
14
288
2,116
23
江苏
www.esplus.club

道具

1.无限之笛(重要道具):无论身在何处,都能召唤拉帝亚斯或拉帝欧斯飞翔的笛子。
请看https://bbs.pokefans.cn/threads/51/

2.无限喷雾(重要道具):开启后弱小的野生宝可梦将完全不会出现。效果会持续存在。

(1)首先在PBS/items.txt中添加以下数据,并在Graphics/Items文件夹下添加INFINITEREPEL.png图片(拿其他喷雾改改色)
代码:
[INFINITEREPEL]
Name = 无限喷雾
NamePlural = 无限喷雾
Pocket = 8
Price = 0
FieldUse = Direct
Flags = Repel,KeyItem
Description = 开启后弱小的野生宝可梦 将完全不会出现。效果会持续存在。
(2)在Overworld_Metadata的37行附近添加:
Ruby:
attr_accessor :infiniteRepel  #无限喷雾
1694193595260.png
往下翻到92行附近添加:
Ruby:
@infiniteRepel        = false #无限喷雾
1694193688123.png
(3)在Overworld的183行附近,将图中注释掉的这一行改成下面的样子,下面还有一段也是一样改
Ruby:
repel_active = ($PokemonGlobal.infiniteRepel || $PokemonGlobal.repel > 0)
其实就是在(右边加上$PokemonGlobal.infiniteRepel ||
1694193901565.png
(4)在Item_Effects的最下方添加:
Ruby:
#无限喷雾
ItemHandlers::UseInField.add(:INFINITEREPEL, proc { |item|
  $PokemonGlobal.repel = 0
  infinite = $PokemonGlobal.infiniteRepel
  if infinite
    pbMessage(_INTL("已关闭无限喷雾。"))
  else
    pbMessage(_INTL("已开启无限喷雾。"))
  end
  $PokemonGlobal.infiniteRepel = !infinite
  next true
})
1694194539378.png
最后为了不浪费普通的喷雾,在114行附近的def pbRepel里的开头加上
Ruby:
  if $PokemonGlobal.repel > 0
    pbMessage(_INTL("但是之前使用的喷雾效果仍然存在。"))
    return false
  end
1694194255000.png
 
最后编辑:

ES泽洛

世末鸽者
管理员
元老
2022-08-04
236
14
288
2,116
23
江苏
www.esplus.club

道具

3.海王钓竿(重要道具):传说中的钓竿。在有水的地方使用的话,容易钓到异色宝可梦或稀有道具。
(1)在PBS/items.txt中添加数据,并在Graphics/Items文件夹下添加AQUAROD.png图片
代码:
[AQUAROD]
Name = 海王钓竿
NamePlural = 海王钓竿
Pocket = 8
Price = 0
FieldUse = Direct
Flags = KeyItem
Description = 传说中的钓竿。在有水的地方使用的话, 容易钓到异色宝可梦或稀有道具。
(2)在脚本编辑器的Game_Stats的第19行附近添加
Ruby:
attr_accessor :fishing_shiny        # 海王钓竿
1694261190802.png
往下翻在89行附近添加
Ruby:
@fishing_shiny                 = 0   # 海王钓竿
1694261264401.png
(3)在Overworld_WildEncounters的第412行附近添加
Ruby:
shiny_retries += $stats.fishing_shiny      #海王钓竿
1694261366064.png
(4)在Item_Effects的最下方添加

Ruby:
#海王钓竿
ItemHandlers::UseInField.add(:AQUAROD, proc { |item|
  notCliff = $game_map.passable?($game_player.x, $game_player.y, $game_player.direction, $game_player)
  if !$game_player.pbFacingTerrainTag.can_fish || (!$PokemonGlobal.surfing && !notCliff)
    pbMessage(_INTL("不能在这里使用"))
    next false
  end
  encounter = $PokemonEncounters.has_encounter_type?(:SuperRod)
  if pbFishing(encounter, 3)
    if rand(100) < 50
      $stats.fishing_battles += 1
      $stats.fishing_shiny = 2   #异色额外判定次数,2和闪耀护符一样,最好不要超过65536,公式是 1-(4095/4096)^次数
      pbEncounter(:SuperRod)
      $stats.fishing_shiny = 0   #遭遇完就置0,避免影响其他野怪
    else
      items = [
          #在此处编辑你想要的道具,自行增减条目
          :RARECANDY,:BIGPEARL,:PEARLSTRING,
          :COMETSHARD,:HELIXFOSSIL,:DOMEFOSSIL
      ]
      pbReceiveItem(items[rand(items.length)])
      pbMessage(_INTL("原来只是个道具。"))
    end
  end
  next true
})
1694261444706.png
 

附件

  • AQUAROD.png
    AQUAROD.png
    4.8 KB · 查看: 4
最后编辑:

wuxianpai

宝可梦训练家
成员
2023-10-03
4
2
175
24
泽佬 这个帖子不妨让一些像我这样 有想法但是没有脚本能力的创作者来发挥自己的想象 然后发到这里 然后由大佬们编写出效果来
要不我们自己单开一个贴子收集想法,给大佬们提供灵感
 
  • 支持
反馈: Lrh666

在线成员

现在没有会员在线。

论坛统计

主题
351
消息
1,616
会员
2,359
最新会员
世界悳尽头

关于我们

  • 宝可梦以及其他相关名称是任天堂的商标,版权归宝可梦公司所有。宝可饭堂是一个同人游戏中文社区,不隶属于宝可梦公司。在宝可饭堂上的粉丝游戏亦未获得其授权,请支持正版游戏。
© 2022- pokefans.cn
点此延长宝可饭堂生命