赞 | 0 |
VIP | 10 |
好人卡 | 49 |
积分 | 13 |
经验 | 22958 |
最后登录 | 2020-8-1 |
在线时间 | 2161 小时 |
Lv3.寻梦者 酱油的
- 梦石
- 0
- 星屑
- 1265
- 在线时间
- 2161 小时
- 注册时间
- 2007-12-22
- 帖子
- 3271

|
爛電腦無法測試,理論上可行|||
- #==============================================================================
- # ■ Game_Actor
- #------------------------------------------------------------------------------
- # 处理角色的类。本类在 Game_Actors 类 ($game_actors)
- # 的内部使用、Game_Party 类请参考 ($game_party) 。
- #==============================================================================
- class Game_Actor < Game_Battler
- EQUIP_SKILL = [[],[]]
- #武器設置:
- #EQUIP_SKILL[0][id]=[skill's ids]
- #例子:EQUIP_SKILL[0][1]=[1,2,3,4,5]
- #防具設置:
- #EQUIP_SKILL[1][id]=[skill's ids]
- #例子:EQUIP_SKILL[1][1]=[1,2,3,4,5]
-
- #--------------------------------------------------------------------------
- # ● 設置
- # actor_id : 角色 ID
- #--------------------------------------------------------------------------
- alias sidaf_setup setup
- def setup(actor_id)
- sidaf_setup(actor_id)
- #--------------------------------------------------------------------------#
- # 咸部一齊初始化
- #--------------------------------------------------------------------------#
- @state_skill = []
- equip_skill(nil, @weapon_id ,0,0)
- equip_skill(nil, @armor1_id ,1,1)
- equip_skill(nil, @armor2_id ,1,2)
- equip_skill(nil, @armor3_id ,1,3)
- equip_skill(nil, @armor4_id ,1,4)
- end
- #--------------------------------------------------------------------------#
- # ● 裝備技能
- #--------------------------------------------------------------------------#
- def equip_skill(old_id, new_id, category, equip_type)
- @state_skill[equip_type] = [] #删除舊記錄
- if old_id != nil #如果舊裝備存在
- skills = EQUIP_SKILL[category][old_id] #取得關聯數組
- skills||=[] #防止出錯,再初始化skills
- @state_skill.each{|others| skills -= others} #取得需要删除的技能
- skills.each{|id|forget_skill(id)} #删除技能
- end
-
- if new_id != nil #如果新裝備存在
- skills = EQUIP_SKILL[category][new_id] #取得關聯數組
- skills||=[] #防止出錯,再次初始化skills
- skills.each{|id|learn_skill(id)} #習得技能
- @state_skill[equip_type] = EQUIP_SKILL[category][new_id] #更新記錄
- @state_skill[equip_type]||=[] #修正記錄類型
- end
- end
- #--------------------------------------------------------------------------
- # ● 變更裝備
- # equip_type : 装备类型
- # id : 武器 or 防具 ID (0 为解除装备)
- #--------------------------------------------------------------------------
- def equip(equip_type, id)
- if equip_type == 0
- return unless (id == 0 or $game_party.weapon_number(id) > 0)
- #----------------------------------------------------------------
- # 刷新自動狀態組
- #----------------------------------------------------------------
- equip_skill(@weapon_id, id,0,equip_type)
- #----------------------------------------------------------------
- $game_party.gain_weapon(@weapon_id, 1)
- @weapon_id = id
- $game_party.lose_weapon(id, 1)
- elsif 1..4 === equip_type
- return unless (id == 0 or $game_party.armor_number(id) > 0)
- case equip_type
- when 1
- old_armor_id = @armor1_id
- @armor1_id = id
- when 2
- old_armor_id = @armor2_id
- @armor2_id = id
- when 3
- old_armor_id = @armor3_id
- @armor3_id = id
- when 4
- old_armor_id = @armor4_id
- @armor4_id = id
- end
- #----------------------------------------------------------------
- # 刷新自動狀態組
- #----------------------------------------------------------------
- equip_skill(old_armor_id, id,1,equip_type)
- #----------------------------------------------------------------
- update_auto_state($data_armors[old_armor_id], $data_armors[id])
- $game_party.gain_armor(old_armor_id, 1)
- $game_party.lose_armor(id, 1)
- end
- end
- end
复制代码 |
|