赞 | 170 |
VIP | 6 |
好人卡 | 208 |
积分 | 229 |
经验 | 137153 |
最后登录 | 2024-11-12 |
在线时间 | 8637 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 22933
- 在线时间
- 8637 小时
- 注册时间
- 2011-12-31
- 帖子
- 3367
|
本帖最后由 tseyik 于 2014-8-14 17:18 编辑
在武器/防具的備注欄依規則填下以下記号- =begin #-----------------------------------------------------------------------
- ●アクター成長装備【RGSS3 by Declare War】
- 装備した状態でレベルアップすると特定のパラメータが上昇する装備を作成
- 武器/防具のメモ欄に下記のどれかを書く
- <成長:xxx,n> # LVUP時に xxx が n 上昇する
- <固定成長:xxx,n> # LVUP時に xxx が n 上昇する( <成長:xxx,n> と同じ)
- <成長:xxx,n,m> # LVUP時に xxx が n + (0 ~ m) 上昇する
- <ランダム成長:n> # LVUP時に全ステが 0 ~ n 上昇する
- xxx は パラメータの略称で mhp,mmp,atk,def,mat,mdf,agi,luk のどれか
- 【仕様】
- 成長装備で上昇したステは職業を変更してもそのまま
- 【イベントコマンド】
- $game_actors[n].force_grow_equip_param_ini # 成長装備の成長分を初期化
- 【利用規約】
- 著作権明記と利用報告は不要、加工自由、転載と配布は禁止
- 【バージョン情報】
- v1.2 - 個別パラメータのランダム成長に対応
- v1.1 - ランダム成長に対応
- v1.0 - 公開
- =end #-------------------------------------------------------------------------
- class RPG::EquipItem < RPG::BaseItem
- #--------------------------------------------------------------------------
- # ● 定数 / 設定 / ランダム成長で成長するパラメータ
- # HPMPを除くなら ["atk","def","mat","mdf","agi","luk"]
- #--------------------------------------------------------------------------
- GROW_RANDOM_EFF = ["mhp","mmp","atk","def","mat","mdf","agi","luk"]
- #--------------------------------------------------------------------------
- # ● 定数
- #--------------------------------------------------------------------------
- GROW_PARAM_REG = /<(?:固定)?成長:([a-z]{3}),(\d+)(?:,(\d+))?>/
- GROW_RANDOM_REG = /<ランダム成長:(\d+)>/
- GROW_PARAM = { "mhp" => 0, "mmp" => 1, "atk" => 2, "def" => 3,
- "mat" => 4, "mdf" => 5, "agi" => 6, "luk" => 7 }
- #--------------------------------------------------------------------------
- # ● 成長パラメータの取得
- #--------------------------------------------------------------------------
- def grow_param
- make_grow_param if @grow_param == nil || !@grow_random
- @grow_param
- end
- #--------------------------------------------------------------------------
- # ● ランダム成長パラメータを取得
- #--------------------------------------------------------------------------
- def calc_grow_param
- array = []
- 8.times{|i| array[i] = @grow_param[i] + rand(@grow_random[i] + 1)}
- array
- end
- #--------------------------------------------------------------------------
- # ● 成長パラメータの作成
- #--------------------------------------------------------------------------
- def make_grow_param
- @grow_param = Array.new(8,0)
- @grow_per_rand = Array.new(8,0)
- note.each_line{|line| set_grow_param($~) if GROW_PARAM_REG =~ line}
- make_grow_random
- if @grow_param.count(0) == @grow_param.count &&
- @grow_random.count(0) == @grow_random.count
- @grow_param = false
- end
- end
- #--------------------------------------------------------------------------
- # ● ランダム成長パラメータの作成
- #--------------------------------------------------------------------------
- def make_grow_random
- @grow_random = Array.new(8,0)
- num = GROW_RANDOM_REG =~ note ? $1.to_i : 0
- GROW_RANDOM_EFF.each{|i| @grow_random[GROW_PARAM[i]] = num}
- 8.times{|i| @grow_random[i] += @grow_per_rand[i]}
- end
- #--------------------------------------------------------------------------
- # ● 成長パラメータのセット
- #--------------------------------------------------------------------------
- def set_grow_param(data)
- return if !GROW_PARAM[data[1]]
- @grow_param[GROW_PARAM[data[1]]] += data[2].to_i
- @grow_per_rand[GROW_PARAM[data[1]]] += data[3].to_i
- end
- end
- class Game_BattlerBase
- #--------------------------------------------------------------------------
- # ● 成長装備による能力の加算値を初期化
- #--------------------------------------------------------------------------
- def grow_equip_param_ini
- @grow_param_plus = Array.new(8, 0) if !@grow_param_plus
- end
- #--------------------------------------------------------------------------
- # ● 通常能力値の加算値取得(エイリアス)
- #--------------------------------------------------------------------------
- alias grow_equip_param_plus param_plus
- def param_plus(param_id)
- grow_equip_param_plus(param_id) + grow_equip_param(param_id)
- end
- #--------------------------------------------------------------------------
- # ● 成長装備による能力の加算値を取得
- #--------------------------------------------------------------------------
- def grow_equip_param(param_id)
- grow_equip_param_ini
- @grow_param_plus[param_id]
- end
- end
- class Game_Actor < Game_Battler
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化(エイリアス)
- #--------------------------------------------------------------------------
- alias grow_equip_initialize initialize
- def initialize(actor_id)
- grow_equip_initialize(actor_id)
- force_grow_equip_param_ini
- end
- #--------------------------------------------------------------------------
- # ● 成長装備による能力の加算値を強制的に初期化
- #--------------------------------------------------------------------------
- def force_grow_equip_param_ini
- @grow_param_plus = Array.new(8, 0)
- end
- #--------------------------------------------------------------------------
- # ● レベルアップ(エイリアス)
- #--------------------------------------------------------------------------
- alias grow_equip_level_up level_up
- def level_up
- grow_equip_level_up
- get_grow_equip_bonus
- end
- #--------------------------------------------------------------------------
- # ● 成長装備のボーナスを入手
- #--------------------------------------------------------------------------
- def get_grow_equip_bonus
- grow_equip_param_ini
- grow_equips.each{|item| add_grow_equip_bonus(item.calc_grow_param)}
- refresh
- end
- #--------------------------------------------------------------------------
- # ● 成長装備を取得
- #--------------------------------------------------------------------------
- def grow_equips
- equips.compact.select{|item| item.grow_param}
- end
- #--------------------------------------------------------------------------
- # ● 成長装備のボーナスを付加
- #--------------------------------------------------------------------------
- def add_grow_equip_bonus(grow_param)
- grow_param.each_with_index{|value,index| grow_equip_add_param(index, value)}
- end
- #--------------------------------------------------------------------------
- # ● 能力値の加算
- #--------------------------------------------------------------------------
- def grow_equip_add_param(param_id, value)
- @grow_param_plus[param_id] += value
- end
- end
复制代码 |
评分
-
查看全部评分
|