赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 8559 |
最后登录 | 2015-8-26 |
在线时间 | 439 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 439 小时
- 注册时间
- 2013-3-2
- 帖子
- 710
|
- #==============================================================================
- # 简易偷盗系统 By 绿发的Eclair
- #------------------------------------------------------------------------------
- # 在数据库中设定一个叫“偷盗”的属性,让想要做偷盗效果的技能附带这个属性
- # 就可以了*^_^*
- #
- # $偷盗属性名 : 数据库中偷盗属性的名字
- # $偷盗几率修正: 偷盗成功率修正
- # $不可偷盗敌人: 在这个数组中的敌人不能被偷盗,用于一些掉落唯一物品的敌人。
- # 数组中两个元素间要用英文半角逗号隔开~~~
- # $偷盗失败孙数HP比例:偷盗失败时角色HP的减少量和最大HP的比例,为0就是不减少。
- #==============================================================================
- $偷盗属性名 = "偷盗"
- $偷盗几率修正 = 2.0
- $不可偷盗敌人 = [3]
- $偷盗失败损失HP比例 = 0.05
- class Game_Party
- attr_accessor :items
- attr_accessor :weapons
- attr_accessor :armors
- end
- class Scene_Battle
- attr_accessor :help_window
- #改名法重定义特技效果
- alias update_phase4_step5_Eclairsteal :update_phase4_step5
- def update_phase4_step5
- if @active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].element_set.include?($data_system.elements.index($偷盗属性名)) and @active_battler.is_a?(Game_Actor)
- for target in @target_battlers
- next if target.is_a?(Game_Actor)
- target.damage = "" if target.damage == "Miss"
- if (target.item_id == 0 and target.weapon_id == 0 and target.armor_id == 0) or ($不可偷盗敌人.include?(target.id))
- #帮助窗口显示"没有可偷盗的物品",对齐方式为中间对齐
- @help_window.set_text("没有可偷盗的物品",1)
- for i in 0...20
- Graphics.update
- @help_window.update
- @spriteset.update
- end
- #直接结束
- next
- end
- final = (@active_battler.dex.to_f + @active_battler.agi.to_f) / (target.dex.to_f + target.agi.to_f)
- final *= target.treasure_prob
- final *= $偷盗几率修正
- final = final.round
- if rand(100) < final
- if target.item_id != 0
- $game_party.gain_item(target.item_id,1)
- text = "偷得:" + $data_items[target.item_id].name
- end
- if target.weapon_id != 0
- $game_party.gain_weapon(target.weapon_id,1)
- text = "偷得:" + $data_weapons[target.weapon_id].name
- end
- if target.armor_id != 0
- $game_party.gain_armor(target.armor_id,1)
- text = "偷得:" + $data_armors[target.armor_id].name
- end
- @help_window.set_text(text,1)
- for i in 0...20
- Graphics.update
- @help_window.update
- @spriteset.update
- end
- else
- @help_window.set_text("偷盗失败",1)
- @active_battler.hp -= (@active_battler.maxhp * $偷盗失败损失HP比例).round
- for i in 0...20
- Graphics.update
- @help_window.update
- @spriteset.update
- end
- end
- end
- end
- update_phase4_step5_Eclairsteal
- end
- end
- #==============================================================================
- # 简易偷盗系统 By 绿发的Eclair
- #==============================================================================
复制代码 |
评分
-
查看全部评分
|