Project1

标题: 怎样使精英的怪物改变颜色? [打印本页]

作者: shengfeng    时间: 2018-6-13 14:30
标题: 怎样使精英的怪物改变颜色?
  1. =begin
  2. # 精英敌人,作者:66RPG的tan12345
  3. # 功能:遇敌时,敌人有一定几率(可设定)变成精英,精英怪比普通怪属性有加成(可修改),
  4. #       当然了,精英怪的经验、金钱、掉落率也同样有加成。
  5. #       也可以设定指定的敌人不会变成精英(比如BOSS)
  6. #
  7. # 使用方法:将脚本插入到main上
  8. #
  9. =end

  10. module Tan_by_enemy_set
  11.   #精英怪出现几率,30代表30%
  12.   Tan_enemy_by = 30
  13.   #精英怪属性加成比例(同时也是经验、金钱、掉落率加成比例),1.3代表属性是普通怪的1.3倍
  14.   Tan_enemy_by_num = 1.3
  15.   #不会成为精英的敌人
  16.   NO_BY_ENEMY = [100,111]#表示2号和3号敌人不会变成精英,适合设定BOSS
  17. end
  18. class Game_Enemy < Game_Battler
  19.   
  20.   attr_reader   :is_by  # 是否精英
  21.   
  22.   #--------------------------------------------------------------------------
  23.   # ● 精英初始化
  24.   #--------------------------------------------------------------------------
  25.   def init_by_enemy
  26.     @is_by = false
  27.     @is_by = true if rand(100) <= Tan_by_enemy_set::Tan_enemy_by && !Tan_by_enemy_set::NO_BY_ENEMY.include?(enemy_id)
  28.     @original_name = @original_name + "(精英)" if @is_by == true
  29.     @hp = mhp
  30.     @mp = mmp
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 是否精英
  34.   #--------------------------------------------------------------------------
  35.   def is_by?
  36.     return true if @is_by
  37.     return false
  38.   end
  39.   
  40.   #--------------------------------------------------------------------------
  41.   # ● 初始化对象
  42.   #--------------------------------------------------------------------------
  43.   alias tan_by_enemy_initialize initialize
  44.   def initialize(index, enemy_id)
  45.     tan_by_enemy_initialize(index, enemy_id)
  46.     init_by_enemy
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● 获取普通能力的基础值
  50.   #--------------------------------------------------------------------------
  51.   alias tan_by_enemy_param_base param_base
  52.   def param_base(param_id)
  53.     v = tan_by_enemy_param_base(param_id)
  54.     v *= Tan_by_enemy_set::Tan_enemy_by_num if is_by?
  55.     return v.to_i
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 获取经验值
  59.   #--------------------------------------------------------------------------
  60.   alias tan_by_enemy_exp exp
  61.   def exp
  62.     v = tan_by_enemy_exp
  63.     v *= Tan_by_enemy_set::Tan_enemy_by_num if is_by?
  64.     return v.to_i
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 获取金钱
  68.   #--------------------------------------------------------------------------
  69.   alias tan_by_enemy_gold gold
  70.   def gold
  71.     v = tan_by_enemy_gold
  72.     v *= Tan_by_enemy_set::Tan_enemy_by_num if is_by?
  73.     return v.to_i
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 获取物品掉率的倍率
  77.   #--------------------------------------------------------------------------
  78.   alias tan_by_enemy_drop_item_rate drop_item_rate
  79.   def drop_item_rate
  80.     v = tan_by_enemy_drop_item_rate
  81.     v *= Tan_by_enemy_set::Tan_enemy_by_num if is_by?
  82.     return v
  83.   end
  84. end
复制代码

作者: shengfeng    时间: 2018-6-13 19:46
没人帮助就算数了!还有怎样把HP独立开来,这脚本是全部属性统一增加1.3倍
作者: shengfeng    时间: 2018-6-13 21:27
有人吗





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1