赞 | 671 |
VIP | 62 |
好人卡 | 144 |
积分 | 335 |
经验 | 110435 |
最后登录 | 2024-11-1 |
在线时间 | 5108 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 33471
- 在线时间
- 5108 小时
- 注册时间
- 2012-11-19
- 帖子
- 4878
|
没测试:- #==============================================================================
- # 给每个敌人定义一个等级,在敌人名字后面加符号( , ), 再写上该敌人的等级。
- #未写等级的敌人默认为 1级。根据角色队伍的平均等级与敌人的等级差计算爆率。
- #==============================================================================
- class Game_Enemy < Game_Battler
- #--------------------------------------------------------------------------
- # ● 设置
- #--------------------------------------------------------------------------
- # 等级差大于多少,爆率开始递减。
- LEVEL_LX = 10
- #--------------------------------------------------------------------------
- # 达到等级差限制后,每大一级,经验减少的百分比。
- EXP_REDUCE = 10
- #--------------------------------------------------------------------------
- # 达到等级差限制后,每大一级,金钱减少的百分比。
- GOLD_REDUCE = 10
- #--------------------------------------------------------------------------
- # 达到等级差限制后,每大一级,物品爆率减少的百分比。
- PROB_REDUCE = 5
- #==========================================================================
- #--------------------------------------------------------------------------
- def name
- sl_name = $data_enemies[@enemy_id].name.split(/,/)[0]
- return sl_name != nil ? name.split(/,/)[0] : ""
- end
- #--------------------------------------------------------------------------
- def level
- sl_name = $data_enemies[@enemy_id].name.split(/,/)[1]
- return sl_name != nil ? name.split(/,/)[1].to_i : 1
- end
- #--------------------------------------------------------------------------
- def average_level
- return 0 if $game_party.actors.empty?
- actors_level = 0
- for actor in $game_party.actors
- actors_level += actor.level
- end
- return actors_level / $game_party.actors.size
- end
- #--------------------------------------------------------------------------
- # ● 获取 EXP
- #--------------------------------------------------------------------------
- def exp
- get_exp = $data_enemies[@enemy_id].exp
- lx = average_level - level - LEVEL_LX
- if lx > 0
- get_exp -= get_exp * lx * EXP_REDUCE / 100
- get_exp = [[$data_enemies[@enemy_id].exp, 1].min, get_exp].max
- end
- return get_exp
- end
- #--------------------------------------------------------------------------
- # ● 获取金钱
- #--------------------------------------------------------------------------
- def gold
- get_gold = $data_enemies[@enemy_id].gold
- lx = average_level - level - LEVEL_LX
- if lx > 0
- get_gold -= get_gold * lx * GOLD_REDUCE / 100
- get_gold = [[$data_enemies[@enemy_id].gold, 1].min, get_gold].max
- end
- return get_gold
- end
- #--------------------------------------------------------------------------
- # ● 获取宝物出现率
- #--------------------------------------------------------------------------
- def treasure_prob
- rate = $data_enemies[@enemy_id].treasure_prob
- lx = average_level - level - LEVEL_LX
- if lx > 0
- rate -= rate * lx * PROB_REDUCE / 100
- rate = [rate, 0].max
- end
- return rate
- end
- end
- #==============================================================================
复制代码 |
评分
-
查看全部评分
|