赞 | 0 |
VIP | 3 |
好人卡 | 2 |
积分 | 1 |
经验 | 3397 |
最后登录 | 2020-10-28 |
在线时间 | 95 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 70
- 在线时间
- 95 小时
- 注册时间
- 2008-2-18
- 帖子
- 20
|
本帖最后由 Yuee 于 2011-5-27 18:36 编辑
- #==============================================================================
- # ■ 重生十字章功能
- #==============================================================================
- #--------------------------------------------------------------------------
- # ● 设定
- #--------------------------------------------------------------------------
- module Rebirth_Setting
- #模式
- # 1 :持有复活道具,任意角色死亡即会自动复活一次
- # 2 : 装备有复活用防具的角色死亡时,会自动复活一次
- REBIRTH_MODE = 1
- #重生道具ID/防具ID
- REBIRTH_ITEM_ID = 21
- #重生文本
- REBIRTH_TEXT1 = "发出了耀眼的光芒!" # 例:重生十字章发出了耀眼的光芒!
- REBIRTH_TEXT2 = "信春哥满血原地复活了!" # 例:拉尔夫信春哥满血原地复活了!
- end
- #==============================================================================
- class Scene_Battle < Scene_Base
- #--------------------------------------------------------------------------
- # ● 显示附加状态
- # ★ 追加定义
- # target : 目标
- # obj : 技能或物品
- #--------------------------------------------------------------------------
- alias display_added_states_rebirth display_added_states
-
- def display_added_states(target, obj = nil)
- display_added_states_rebirth(target, obj)
-
- #如果目标玩家角色已经死亡,则尝试重生
- if target.actor? and target.dead?
- if target.try_to_rebirth
- @message_window.clear
-
- wait(20)
-
- case Rebirth_Setting::REBIRTH_MODE
- when 1
- item_name = $data_items[Rebirth_Setting::REBIRTH_ITEM_ID].name
- when 2
- item_name = $data_armors[Rebirth_Setting::REBIRTH_ITEM_ID].name
- end
-
- text = item_name + Rebirth_Setting::REBIRTH_TEXT1
- saint_se = RPG::SE.new("Saint7",80)
- saint_se.play
- @message_window.add_instant_text(text)
- wait(50)
-
- text = target.name + Rebirth_Setting::REBIRTH_TEXT2
- Sound.play_recovery
- @message_window.add_instant_text(text)
- wait(50)
- end
- end
-
- end #def display_added_states(target, obj = nil)
- end # class Scene_Battle < Scene_Base
- #==============================================================================
- class Game_Actor < Game_Battler
- #--------------------------------------------------------------------------
- # ● 尝试重生
- # ★ 新定义
- #--------------------------------------------------------------------------
- def try_to_rebirth
- # 道具重生
- if Rebirth_Setting::REBIRTH_MODE == 1 and $game_party.has_item?($data_items[Rebirth_Setting::REBIRTH_ITEM_ID])
- $game_party.lose_item($data_items[Rebirth_Setting::REBIRTH_ITEM_ID],1)
- remove_state(1)
- @hp = maxhp
- @mp = maxmp
- return true
- # 装备防具重生
- elsif Rebirth_Setting::REBIRTH_MODE == 2
- for armor in armors
- if armor.id == Rebirth_Setting::REBIRTH_ITEM_ID
- discard_equip($data_armors[Rebirth_Setting::REBIRTH_ITEM_ID])
- remove_state(1)
- @hp = maxhp
- @mp = maxmp
- return true
- end
- end # for armor
- end # if
-
- return false
- end # try_to_rebirth(target)
-
- end # class Game_Actor < Game_Battler
复制代码 支持两种模式,一种是道具模式,一种是防具模式
在最前面的设定配置
道具模式只要身上持有复活用道具,任意角色被击败都会自动复活一次。
防具模式需要把复活用防具装备着,装备着复活防具的角色被打死后,会复活一次,之后防具消失。
以上只对战斗中受到伤害死亡有效,用事件改成死亡是无效的。
简单测了一下,应该没问题 |
|