じ☆ve冰风 发表于 2025-4-10 21:28:49

如何增加变异的种类

问下如何增加变异的种类,例如初级变异增加10%的能力,中级变异增加20%,高级变异增加30%
初级变异出现几率10%,中级5%,高级1%



class Game_Actor < Game_Battler
attr_accessor :tan_pet_id       #宠物ID,为0则代表人物,否则为宠物
attr_accessor :tan_pet_by       #变异标志
attr_accessor :tan_pet_param    #宠物随机成长属性数组

#--------------------------------------------------------------------------
# ● 宠物初始化
#--------------------------------------------------------------------------
def init_pet
    @tan_pet_id = self.actor.note =~ //i ? $1.to_i : 0
    @tan_pet_by = false
    @tan_pet_by = true if rand(100) = r;arr.push v;else;arr.push nil;end}
    unless arr.compact.empty?
      arr.each {|a|
      if a;mii.push a - rand(a) - r
      else;mii.push b;end}
      x = mii.index mii.min
    else
      x = f.index f.max
    end
    return n
end

#以下是方法重写#

#--------------------------------------------------------------------------
# ● 设置(人物、宠物初始化)
#--------------------------------------------------------------------------
alias tan_pet_setup setup
def setup(actor_id)
    tan_pet_setup(actor_id)
    init_pet
    #@name = @name + actor_id.to_s if is_pet?#宠物名字后加ID方便区分
    init_skills
end
#--------------------------------------------------------------------------
# ● 获取装备栏的数组(宠物只能装备饰品,可改)0代表武器1盾牌2头盔3铠甲4饰品
#--------------------------------------------------------------------------
#alias tan_pet_equip_slots equip_slots
#def equip_slots
    #return if is_pet?
    #tan_pet_equip_slots
#end
#--------------------------------------------------------------------------
# ● 获取普通能力的基础值(宠物会有随机成长值的波动)
# 人物的普通能力的基础值方法不变,宠物则=数据库设定+随机成长值
#--------------------------------------------------------------------------
alias tan_pet_param_base param_base
def param_base(param_id)
    v = tan_pet_param_base(param_id)
    v = v + @tan_pet_param * @level if is_pet?
    return v.to_i
end
#--------------------------------------------------------------------------
# ● 重写初始化技能方法
# 人物的技能初始化不变,宠物则为技能栏里随机选择一个作为天赋,其他技能作废
#--------------------------------------------------------------------------
alias tan_pet_init_skills init_skills
def init_skills
    if is_pet?
      @skills = []
      tf_skill = self.class.learnings
      tf_skills = tf_skill.size
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
      learn_skill(tf_skill.skill_id) if tf_skills > 0
else
      tan_pet_init_skills
    end
end
#--------------------------------------------------------------------------
# ● 重写升级方法
# 人物升级不变,宠物升级学会技能则从设定的数组里随机取一个技能
#--------------------------------------------------------------------------
# alias tan_pet_level_up level_up
# def level_up
   # if is_pet?
   # @level += 1
      #if @level % Tan_pet_set::Tan_pet_skill == 0 && @level0
      #end
   # else
   # tan_pet_level_up
    #end
    #self.hp = self.mhp
   # self.mp = self.mmp
#end
end
   



=begin
# 宠物系统,作者:66RPG的tan12345
# 功能:随机生成宠物(也就是数据库里的人物)的成长值、初始技能、升级技能
# 宠物只能装备饰品装备(如果不需要,请删除equip_slots方法,在宠物系统的90-94行)
#
# 使用方法:在数据库-人物-备注栏里填写代表宠物,i为宠物id
# 在下面的Tan_pet_set里设定宠物的成长与升级时学会的技能
# 建议:
# 宠物所对应的职业,建议成长曲线为平线
# (即数据库-职业-宠物职业-8个属性的成长不要在数据库设定,这样取成长值也方便)
# 注意:
# 1.技能随机算法修改了菜鸟飞啊飞的多项比例选一的脚本,
#   原地址:http://bbs.66rpg.com/thread-224387-1-1.html
# 2.如果宠物只能装备饰品装备,
#   那么数据库设定里人物可以有初始化装备,宠物不可以初始化装备,否则报错。
# 3.请保证一个宠物id对应一个角色,如果出现多个角色对应1个宠物id的情况,数据会混乱(主要是图鉴混乱)。
=end
module Tan_pet_set

#变异几率
Tan_pet_by = 10
#变异的宠物比一般宠物成长属性的倍数
Tan_pet_by_num = 1.1
#代表宠物每3级就学会一次技能(领悟技能的成功率在Tan_pet_rand_skills定义)
Tan_pet_skill=3
#宠物升级到30级后就不会再领悟技能
Tan_skillmax = 99

Tan_pet_base_param = []
Tan_pet_rand_param = []
Tan_pet_rand_skills = []

#id号宠物的基础成长值   HP, MP, atk, def, mat, mdf, agi, luk
Tan_pet_base_param =
#id号宠物的成长浮动值   HP, MP, atk, def, mat, mdf, agi, luk
Tan_pet_rand_param =
#id号宠物升级时一定几率学会的技能,格式:[技能id,权重]
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

   Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

Tan_pet_base_param =
Tan_pet_rand_param =
Tan_pet_rand_skills = []

end






            本帖来自P1论坛作者fjm,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=497189若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 如何增加变异的种类