赞 | 5 |
VIP | 0 |
好人卡 | 0 |
积分 | 13 |
经验 | 0 |
最后登录 | 2024-7-28 |
在线时间 | 70 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1254
- 在线时间
- 70 小时
- 注册时间
- 2019-2-12
- 帖子
- 98
|
- #==============================================================================
- # TheoAllen - 状态伤害使用技能公式
- # Version : 1.0
- # Language : Informal Indonesian
- #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- # Contact :
- #------------------------------------------------------------------------------
- # *> http://www.rpgmakerid.com
- # *> http://www.rpgmakervxace.net
- # *> http://theolized.blogspot.com
- #==============================================================================
- ($imported ||= {})[:Theo_StateSkillDamage] = true
- #==============================================================================
- # Change Logs:
- # -----------------------------------------------------------------------------
- # 2013.09.24 - Finished
- #==============================================================================
- %Q{
- =================
- || 介绍 ||
- -----------------
- 想要设置状态伤害不只是数据库设定那样百分比掉血吗?而是通过技能来设定
- 状态伤害?想设置状态的伤害公式像攻击技能那样吗?
- 该脚本可以设定状态伤害使用指定的技能公式。
-
- ======================
- || 使用方法 ||
- ----------------------
- 插入到插件脚本之下,Main之上。
-
- 在状态的备注栏里备注 <skill damage: id>
- id为指定技能的伤害的功能
-
- 例如:
- <skill damage: 10>
-
- ===================
- 使用条款 :
- 署名脚本作者, TheoAllen. 你可以自由编辑此脚本,只要你不声明你是脚本的原作者
- 如果你想用此脚本于商业游戏,请和我共享收益.别忘了给我一份免费的游戏拷贝.
- }
- #==============================================================================
- # 无设定部分
- #==============================================================================
- class RPG::State
-
- # Store skill ID for formula damage
- def skill_damage
- if !@skill_damage
- @skill_damage = 0
- if note =~ /<skill[\s_]+damage\s*:\s*(\d+)>/i
- @skill_damage = $1.to_i
- end
- end
- return @skill_damage
- end
-
- end
- class Game_Battler
-
- alias theo_slipformula_clear_states clear_states
- def clear_states
- theo_slipformula_clear_states
- @state_battler = {}
- end
-
- alias theo_slipformula_eff_add_state_attack item_effect_add_state_attack
- def item_effect_add_state_attack(user, item, effect)
- theo_slipformula_eff_add_state_attack(user, item, effect)
- return unless @result.success
- user.atk_states.each do |state_id|
- if @states.include?(state_id)
- @state_battler[state_id] = user
- end
- end
- end
-
- alias theo_slipformula_eff_add_state_normal item_effect_add_state_normal
- def item_effect_add_state_normal(user, item, effect)
- theo_slipformula_eff_add_state_normal(user, item, effect)
- return unless @result.success
- if @states.include?(effect.data_id)
- @state_battler[effect.data_id] = user
- end
- end
-
- alias theo_slipformula_erase_state erase_state
- def erase_state(state_id)
- theo_slipformula_erase_state(state_id)
- @state_battler.delete(state_id)
- end
-
- alias theo_slipformula_turn_end on_turn_end
- def on_turn_end
- if alive?
- perform_slip_damage_formula
- end
- theo_slipformula_turn_end
- end
-
- def perform_slip_damage_formula
- @states.each do |state_id|
- if $data_states[state_id].skill_damage > 0 && @state_battler[state_id]
- skill = $data_skills[$data_states[state_id].skill_damage]
- item_apply(@state_battler[state_id], skill)
- self.animation_id = skill.animation_id
- SceneManager.scene.log_window.display_action_results(self, skill)
- if $imported["YEA-BattleEngine"] && !YEA::BATTLE::MSG_ADDED_STATES
- SceneManager.scene.perform_collapse_check(self)
- end
- 15.times {SceneManager.scene.update_basic}
- end
- end
- end
-
- end
- class Scene_Battle
- attr_reader :log_window
- end
复制代码 |
评分
-
查看全部评分
|