赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 7 |
经验 | 4591 |
最后登录 | 2024-8-26 |
在线时间 | 127 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 726
- 在线时间
- 127 小时
- 注册时间
- 2013-2-16
- 帖子
- 428
|
- #================================================= =============================
- #■此脚本来自[URL] www.66rpg.com [/ URL]
- #------------------------------------------------- -----------------------------
- #名称:横版战斗模板
- 作者:后知后觉([电子邮件] hzhj.tnt @ 163.com [/电子邮件])
- #版本:V1.7 2012-02-09
- #使用协议:在保留此脚本相关信息的情况下
- #可任意使用,修改及修改后发布。
- #如是修改后发布。请在作者标注那里加上某某某改等信息
- #感谢你来这里谈谈你对这个工程的看法或报告的BUG。
- #[URL] http://rpg.blue/thread-216673-1-1.html [/ URL]
- 使用说明:
- #请来发布帖查看:
- #[URL] http://rpg.blue/thread-216673-1-1.html [/ URL]
- #================================================= =============================
-
- 模块 Hzhj中
- 模块 HorizontalBattleSystem中
- #
- MaxBattleMembers = 4
-
- ActorsBattlePosition = { }
- #设置角色战斗图形的坐标
- #等号左边的[]号里面的1 2 3 4查看角色在队伍里的位置
- #等号右边的[]号里面的两个数字分别表示所述坐标Ÿ坐标
- #每次进入战斗的时候都会以这里设置的信息作为初始化位置。
- #如果你把上面的MaxBattleMembers改大了,比如改成了5。
- 那么你需要在下面新增一行代码设置队伍中第5位置的坐标。
- #就像这样ActorsBattlePosition [5] = [X坐标,Y坐标]
- ActorsBattlePosition [ 1 ] = [ 378,228 ]。
- ActorsBattlePosition [ 2 ] = [ 422,272 ]。
- ActorsBattlePosition [ 3 ] = [ 466,228 ]。
- ActorsBattlePosition [ 4 ] = [ 510 272 ]
-
- #设置伤害值的图形的色相取值范围0〜360
- DamageBitmapHue = 0
- #伤害值的分段显示的标志SE文件名
- DamageSectionDisplaySEName =的“DamageSection”
-
- #动画Ž坐标值默认变化量
- DefaultAniAddZ = 768
-
- #状态动画Ž坐标值默认变化量
- DefaultLoopAniAddZ = 20
-
- #战斗中角色的面向
- ActorDirection = 4
-
- #真位移的帧数
- RealMoveDuration = 20
- #真位移移动前会计算目标点。会获取攻防双方战斗图大小来进行计算。
- 下面2个是对战斗图宽度高度进行修正。
- #为正则扩大为负则缩小。单位像素。
- #
- RealMoveBmpAddW = 0
- RealMoveBmpAddH = 0
-
- #使用技能,物品的过程默认使用RMVA模式
- #在该模式下。本脚本提供的很多功能受限无法使用。
- DefaultUseRmvaMode = FALSE
-
- #默认显示敌人的HP条,MP条,TP条
- DefaultDisplayEnemyBar = 真
-
- #一张战斗图中有几个样式(帧格)
- DynamicPatternMax = 4
- #一张战斗图中的一个样式持续多少帧
- OnePatternDuration = 15
-
- #角色使用战斗死亡图形
- UseActorDeadGraphic = 真
- #敌人使用战斗死亡图形
- UseEnemyDeadGraphic = FALSE
-
- #使用挨打图形
- UseBeatenGraphic = 真
- #挨打图形维持帧数
- BeatenGraphicDuration = 30
-
- #是否使用角色防御图只有同时使用了挨打图。此项才有效。
- UseActorGuardGraphic = 真
- #是否使用敌人防御图只有同时使用了挨打图。此项才有效。
- UseEnemyGuardGraphic = FALSE
-
- #角色是否使用挨打SE
- UseActorWBSE = 真
- #敌人是否使用挨打SE
- UseEnemyWBSE = 真
- #角色是否使用防御SE
- UseActorGDSE = 真
- #敌人是否使用防御SE
- UseEnemyGDSE = FALSE
- 结束
- 结束
-
- 角色扮演类::演员RPG :: BaseItem
- DEF battler_name
- 返回 @ battler_name 除非 battler_name。零?
- 如果 / @ btname [ ( + ) \ / \ =〜@注解
- 返回 ( @ battler_name = 1美元。克隆)
- 其他
- 回报 ( @ battler_name = “#{@名} _#{@昵称}” )
- 结束
- 结束
- DEF battler_hue
- 返回 @ battler_hue ,除非 @ battler_hue的。零?
- 如果 / @ bthue \ [ ([ 0 -9 ] + ) \ ] / =〜@注解
- 返回 ( @ battler_hue = 1美元。to_i 绝对)
- 其他
- 返回 ( @ battler_hue = 0 )
- 结束
- 结束
- attr_writer :battler_name
- attr_writer :battler_hue
- 结束
- #================================================= =============================
- #■Game_Actor
- #================================================= =============================
- 类 Game_Actor <Game_Battler
- #------------------------------------------------- -------------------------
- ●属性(新增定义)
- #------------------------------------------------- -------------------------
- attr_writer :battler_name #战斗图形文件名
- attr_writer :battler_hue #战斗图形色相
- #------------------------------------------------- -------------------------
- ●设置(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_setup_for_add_actor_battle_graphic设置
- 清晰度设置( actor_id )
- hzhj_old_setup_for_add_actor_battle_graphic ( actor_id )
- @ battler_name = battler_name演员。
- @ battler_hue = battler_hue演员。
- 结束
- #------------------------------------------------- -------------------------
- ●是否使用活动块(重定义)
- #------------------------------------------------- -------------------------
- 高清 use_sprite?
- 返回 真
- 结束
- #------------------------------------------------- -------------------------
- #●取得战斗画面所述坐标(新增定义)
- #------------------------------------------------- -------------------------
- DEF screen_x
- 返回 ActorsBattlePosition [指数+ 1 ] [ 0 ]
- 结束
- #------------------------------------------------- -------------------------
- ●取得战斗系Ÿ坐标(新增定义)
- #------------------------------------------------- -------------------------
- DEF screen_y
- 返回 ActorsBattlePosition [指数+ 1 ] [ 1 ]
- 结束
- #------------------------------------------------- -------------------------
- #●取得战斗画面Ž坐标(新增定义)
- #------------------------------------------------- -------------------------
- DEF screen_z
- 返回 real_screen_y + 100
- 结束
- 结束
- #================================================= =============================
- #■Game_Enemy
- #================================================= =============================
- 类 Game_Enemy <Game_Battler
- #------------------------------------------------- -------------------------
- ●属性(新增定义)
- #------------------------------------------------- -------------------------
- attr_writer :battler_name #战斗图形文件名
- attr_writer :battler_hue #战斗图形色相
- #------------------------------------------------- -------------------------
- #●取得战斗画面Ž坐标(重定义)
- #------------------------------------------------- -------------------------
- DEF screen_z
- 返回 real_screen_y + 100
- 结束
- 结束
- #================================================= =============================
- #■Game_Party
- #================================================= =============================
- 类 Game_Party <Game_Unit
- 流包括 Hzhj :: HorizontalBattleSystem
- #------------------------------------------------- -------------------------
- ●取得参战角色的最大数(重定义)
- #------------------------------------------------- -------------------------
- DEF max_battle_members
- 返回 MaxBattleMembers的
- 结束
- 结束
-
- 类
- DEF wait_subject_duration
- 返回 _AT_ wait_subject_duration的 ,除非 _AT_ wait_subject_duration的。为零?
- 如果 / @瓦特\ [ ( \ - ?\ D + ) \ ] / =〜@名
- @ wait_subject_duration = 1美元。to_i
- 其他
- @ wait_subject_duration 0
- 结束
- 返回 _AT_ wait_subject_duration的
- 结束
- attr_writer :wait_subject_duration
- 结束
- 角色扮演类:: UsableItem RPG :: BaseItem
- 流包括 Hzhj :: HorizontalBattleSystem
- DEF animation1_id
- 返回 @ animation1_id的 除非 @ animation1_id。为零?
- 如果 / @ a1id \ [ ( \ D + ) \ / I =〜@注解
- 返回 ( @ to_i animation1_id = 1美元。)
- 其他
- 返回 ( @ animation1_id = 0 )
- 结束
- 结束
- DEF wljn
- 返回 @ wljn 除非 @ wljn。为零?
- 如果 / @ wljn / I =〜@注解
- 回报 ( @ wljn = TRUE )
- 其他
- 返回 ( @ wljn = FALSE )
- 结束
- 结束
- DEF rmva_mode
- 返回 _AT_ rmva_mode的 除非 @ rmva_mode。零?
- 如果 / @ rmva / I =〜@注解
- 返回 ( @ rmva_mode =!DefaultUseRmvaMode )
- 其他
- 返回 ( @ rmva_mode DefaultUseRmvaMode )
- 结束
- 结束
- attr_writer :animation1_id
- attr_writer :wljn
- attr_writer :rmva_mode
- 结束
- 角色扮演类::武器RPG :: EquipItem
- DEF animation1_id
- 返回 @ animation1_id的 除非 @ animation1_id。为零?
- 如果 / @ a1id \ [ ( \ D + ) \ ] / =〜@注解
- 返回 ( @ to_i animation1_id = 1美元。)
- 其他
- 返回 ( @ animation1_id = 0 )
- 结束
- 结束
- attr_writer :animation1_id
- 结束
- 类 RPG ::敌人 < RPG :: BaseItem
- DEF animation1_id
- 返回 @ animation1_id的 除非 @ animation1_id。为零?
- 如果 / @ a1id \ [ ( \ D + ) \ ] / =〜@注解
- 返回 ( @ to_i animation1_id = 1美元。)
- 其他
- 返回 ( @ animation1_id = 0 )
- 结束
- 结束
- DEF animation2_id
- 返回 @ animation2_id的 除非 @ animation2_id。为零?
- 如果 / @ a2id \ [ ( \ D + ) \ ] / =〜@注解
- 返回 ( @ to_i animation2_id = 1美元。)
- 其他
- 返回 ( @ animation2_id = 0 )
- 结束
- 结束
- DEF animation3_id
- 返回 @ animation3_id的 除非 @ animation3_id。为零?
- 如果 / @ a3id \ [ ( \ D + ) \ ] / =〜@注解
- 返回 ( @ to_i animation3_id = 1美元。)
- 其他
- 返回 ( @ animation3_id = 0 )
- 结束
- 结束
- attr_writer :animation1_id
- attr_writer :animation2_id
- attr_writer :animation3_id
- 结束
- #================================================= =============================
- #■Game_Actor
- #================================================= =============================
- 类 Game_Actor <Game_Battler
- #------------------------------------------------- -------------------------
- #●取得普通攻击的行动方动画ID(新增定义)
- #------------------------------------------------- -------------------------
- DEF animation1_id
- 如果 dual_wield?
- 返回武器[ 0 ]。animation1_id 如果武器[ 0 ]
- 返回武器[ 1 ]?武器[ 1 ]。animation1_id:0
- 其他
- 返回武器[ 0 ]?的武器[ 0 ]。animation1_id:0
- 结束
- 结束
- 结束
- #================================================= =============================
- #■Game_Enemy
- #================================================= =============================
- 类 Game_Enemy <Game_Battler
- #------------------------------------------------- -------------------------
- #●取得普通攻击的行动方动画ID(新增定义)
- #------------------------------------------------- -------------------------
- DEF animation1_id
- 返回敌人。animation1_id的
- 结束
- #------------------------------------------------- -------------------------
- #●取得普通攻击的动画ID(新增定义)
- #------------------------------------------------- -------------------------
- DEF atk_animation_id1
- 返回敌人。animation2_id的
- 结束
- #------------------------------------------------- -------------------------
- #●取得普通攻击的动画ID(二刀流武器2)(新增定义)
- #------------------------------------------------- -------------------------
- DEF atk_animation_id2
- 返回敌人。animation3_id的
- 结束
- 结束
- #================================================= =============================
- #■Scene_Battle
- #================================================= =============================
- 类 Scene_Battle <Scene_Base
- 流包括 Hzhj :: HorizontalBattleSystem
- #------------------------------------------------- -------------------------
- #●使用技能/物品(重定义)
- #------------------------------------------------- -------------------------
- DEF use_item
- 项目= @科目。current_action。项目
- @ log_window display_use_item ( @课题,项目)
- @主题use_item (项)
- refresh_status
- 目标= @主题current_action的make_targets 紧凑
- show_animation (目标,项目animation_id )
- 结束
- #------------------------------------------------- -------------------------
- ●显示动画(重定义)
- #------------------------------------------------- -------------------------
- DEF show_animation (目标,animation_id )
- 项目= @科目。current_action。项目
- 如果项目rmva_mode的
- show_rmva_animation (目标,animation_id项)
- 其他
- show_hzhj_animation (目标,animation_id项)
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●RMVA模式显示动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF show_rmva_animation (目标animation_id项目)
- @主题。damage_section_displayed = 假
- @主题not_damage_section = 真
- 目标,每个 目标
- = 假damage_section_displayed 的目标。
- 目标。not_damage_section = TRUE
- 结束
- ,如果 animation_id < 0
- show_attack_animation (目标)
- 其他
- show_rmva_usable_animation (目标,animation_id项)
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●HZHJ模式显示动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF show_hzhj_animation (目标animation_id项目)
- ,如果 animation_id < 0
- show_hzhj_attack_animation (目标项目)
- 其他
- 如果项目wljn的
- show_wljn_skill_animation (目标,animation_id项)
- 其他
- show_magic_skill_animation (目标,animation_id项)
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●HZHJ模式显示攻击动画(重定义)
- #------------------------------------------------- -------------------------
- :DEF show_hzhj_attack_animation (目标项目)
- 进制= [ ]
- need_move = FALSE
- 动画1 = $ data_animations,[ @主题。animation1_id ]
- 如果 need_move =动画1。need_move 动画1
- come_back = TRUE
- 目标。的each_with_index 做目标,我|
- 进制[ 0 ] =目标
- 项目重复做
- 接下来 ,如果目标死了吗?&&项损坏。类型 == 1
- 接下来 ,如果 @主题。死了吗?
- 未来, 如果 @主题。current_action
- 如果 need_move && come_back
- come_back = FALSE
- @主题目标,RealMoveDuration动画1 move_se setup_move_info ()
- wait_for_move
- 结束
- damage_target = hzhj_apply_item_effects (目标项)
- show_subject_animation ( @科目。animation1_id )
- show_normal_animation (进制,@主题。atk_animation_id1,假)
- show_normal_animation (进制,@主题。atk_animation_id2的,真实)
- 等待@ log_window。
- wait_for_animation
- hzhj_invoke_item (目标,项目damage_target; )
- 结束
- 如果 need_move
- 如果目标!=目标[ í +1 ] 或目标。死了吗?
- come_back = TRUE
- @主体come_back_self_position ( RealMoveDuration )
- wait_for_move
- 其他
- come_back = FALSE
- 结束
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●HZHJ模式显示物理技能类动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF show_wljn_skill_animation (目标animation_id项目)
- 进制= [ ]
- need_move = FALSE
- 动画1 = $ data_animations,[项目。animation1_id ]
- 如果 need_move =动画1。need_move 动画1
- come_back = TRUE
- 目标。的each_with_index 做目标,我|
- 进制[ 0 ] =目标
- 项目重复做
- 接下来 ,如果目标死了吗?&&项损坏。类型 == 1
- 接下来 ,如果 @主题。死了吗?
- 未来, 如果 @主题。current_action
- 如果 need_move && come_back
- come_back = FALSE
- @主题目标,RealMoveDuration动画1 move_se setup_move_info ()
- wait_for_move
- 结束
- damage_target = hzhj_apply_item_effects (目标项)
- show_subject_animation (animation1_id项目。)
- show_normal_animation (进制,animation_id,假)
- 等待@ log_window。
- wait_for_animation
- hzhj_invoke_item (目标,项目damage_target; )
- 结束
- 如果 need_move
- 如果目标!=目标[ í +1 ] 或目标。死了吗?
- come_back = TRUE
- @主体come_back_self_position ( RealMoveDuration )
- wait_for_move
- 其他
- come_back = FALSE
- 结束
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●HZHJ模式显示魔法技能类动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF show_magic_skill_animation (目标animation_id项目)
- 进制= [ ]
- damage_targets = { }
- 项目重复做
- 接下来 ,如果 @主题。死了吗?
- 未来, 如果 @主题。current_action
- 明确 进制。
- damage_targets 清晰
- 目标,每个 目标
- 接下来 ,如果目标死了吗?&&项损坏。类型 == 1
- 进制<<目标
- damage_targets [目标] = hzhj_apply_item_effects (目标,项目)
- 结束
- 如果进制。空?
- show_subject_animation (animation1_id项目。)
- show_normal_animation (叉,animation_id )
- 等待@ log_window。
- wait_for_animation
- 进制。|目标|
- hzhj_invoke_item (目标,项目,damage_targets [目标] )
- 结束
- 如果 [ 9,10 ]。包括(项目范围)?
- 进制。|目标|
- 如果目标还活着吗?
- 目标。come_back_self_position ( RealMoveDuration )
- 结束
- 结束
- wait_for_move
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●RMVA模式显示攻击动画(重定义)
- #------------------------------------------------- -------------------------
- :DEF show_attack_animation (的目标)
- 项目= @科目。current_action。项目
- show_subject_animation ( @科目。animation1_id )
- show_normal_animation (目标,@主题。atk_animation_id1,假)
- show_normal_animation (目标,@主题。atk_animation_id2,真实)
- 等待@ log_window。
- wait_for_animation
- 目标。{ |目标|项目重复。次{ invoke_item: (目标,项目)} }
- 结束
- #------------------------------------------------- -------------------------
- ●RMVA模式显示技能,物品动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF show_rmva_usable_animation (目标animation_id项目)
- show_subject_animation (animation1_id项目。)
- show_normal_animation (目标,animation_id的)
- 等待@ log_window。
- wait_for_animation
- 目标。{ |目标|项目重复。次{ invoke_item: (目标,项目)} }
- 如果 [ 9,10 ]。包括(项目范围)?
- 目标,每个 目标
- 如果目标还活着吗?
- 目标。come_back_self_position ( RealMoveDuration )
- 结束
- 结束
- wait_for_move
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●显示行动方动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF show_subject_animation (主题= @主题,animation_id 镜= FALSE )
- 动画= $ data_animations [ animation_id ]
- 如果动画
- 主题。animation_id = animation_id
- 主题animation_mirror =镜子
- 如果动画wait_subject_duration 0
- wait_for_animation
- ELSIF动画。wait_subject_duration > 0
- 动画wait_subject_duration,次{ update_for_wait }
- 结束
- 结束
- 结束
- 结束
-
- 类
- 流包括 Hzhj :: HorizontalBattleSystem
- def ani_z_correction中
- 返回 _AT_ ani_z_correction的 ,除非 _AT_ ani_z_correction的。为零?
- 如果 / @ AZ \ [ ( \ - ?\ D + ) \ ] / =〜@名
- 返回 ( @ ani_z_correction = $ 1 to_i。)
- 其他
- 返回 ( @ ani_z_correction = DefaultAniAddZ )
- 结束
- 结束
- def loop_z_correction中
- 返回 _AT_ loop_z_correction的 ,除非 _AT_ loop_z_correction的。为零?
- 如果 / @ LZ \ [ ( \ - ?\ d + ) \ ] / =〜@名字
- 返回 ( @ loop_z_correction = $ 1 to_i。)
- 其他
- 返回 ( @ loop_z_correction = DefaultLoopAniAddZ )
- 结束
- 结束
- attr_writer :ani_z_correction
- attr_writer :loop_z_correction
- 结束
- 角色扮演类::国家RPG :: BaseItem
- DEF animation_id
- 返回 @ animation_id的 除非 @ animation_id。为零?
- 如果 / @援助\ [ ( \ d + ) \ ] / =〜@注解
- 返回 ( @ to_i animation_id = 1美元。)
- 其他
- 返回 ( @ animation_id = 0 )
- 结束
- 结束
- attr_writer :animation_id
- 结束
- #================================================= =============================
- #■Game_BattlerBase
- #================================================= =============================
- 类 Game_BattlerBase
- #------------------------------------------------- -------------------------
- ●实例变量(新增定义)
- #------------------------------------------------- -------------------------
- attr_reader :hzhj_add_state_id
- attr_reader :hzhj_remove_state_id
- attr_accessor中:need_update_state_animation
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_state_ani_game_battler_base初始化
- DEF初始化
- @ hzhj_add_state_id = [ ]
- @ hzhj_remove_state_id = [ ]
- _AT_ need_update_state_animation = 虚假
- @ = [ ]
- @ state_turns = { }
- @ state_steps = { }
- hzhj_old_init_for_state_ani_game_battler_base
- 结束
- #------------------------------------------------- -------------------------
- #●清除状态信息(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_clear_states_for_state_ani_game_battler_base clear_states
- DEF clear_states
- old_states = @ 克隆。
- hzhj_old_clear_states_for_state_ani_game_battler_base
- 丙吉old_states | @状态
- 如果丙吉返回空?
- set_add_state_id (丙吉&@ )
- set_remove_state_id (丙吉old_states的)
- 结束
- #------------------------------------------------- -------------------------
- ●消除状态(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_erase_state_for_state_ani_game_battler_base erase_state
- 高清 erase_state ( STATE_ID )
- old_states = @ 克隆。
- hzhj_old_erase_state_for_state_ani_game_battler_base ( STATE_ID )
- 丙吉old_states | @状态
- 如果丙吉返回空?
- set_add_state_id (丙吉&@ )
- set_remove_state_id (丙吉old_states的)
- 结束
- #--------------------------------------------------------------------------
- ●设置增加的状态(新增定义)
- #------------------------------------------------- -------------------------
- 高清 set_add_state_id ( zjdzt )
- 为我在 zjdzt的
- 如果 $ data_states [我]。animation_id > 0
- 如果 不 hzhj_add_state_id 包括(我)
- hzhj_add_state_id 推(我)
- 结束
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●设置解除的状态(新增定义)
- #------------------------------------------------- -------------------------
- 高清 set_remove_state_id ( jsdzt )
- 为我在 jsdzt的
- 如果 $ data_states [我]。animation_id > 0
- 如果 不 hzhj_remove_state_id 包括(我)
- ani_id = $ data_states [我]。animation_id
- not_end_loop_animation = FALSE
- 自我状态。
- 状态。animation_id的 == ani_id
- not_end_loop_animation = TRUE
- 打破
- 结束
- 结束
- 除非 not_end_loop_animation
- hzhj_remove_state_id 推(我)
- 结束
- 结束
- 结束
- 结束
- 结束
- 结束
- #================================================= =============================
- #■Game_Battler
- #================================================= =============================
- 类 Game_Battler <Game_BattlerBase
- #------------------------------------------------- -------------------------
- ●附加新的状态(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_add_new_state_for_state_ani_game_battler add_new_state
- 高清 add_new_state ( STATE_ID )
- old_states = @ 克隆。
- hzhj_old_add_new_state_for_state_ani_game_battler ( STATE_ID )
- 丙吉old_states | @状态
- 如果丙吉返回空?
- set_add_state_id (丙吉&@ )
- set_remove_state_id (丙吉old_states的)
- 结束
- 结束
- #================================================= =============================
- #■Sprite_Base
- #================================================= =============================
- 类 Sprite_Base <雪碧
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_state_ani_spr_base初始化
- DEF初始化( *参数)
- hzhj_old_init_for_state_ani_spr_base ( *参数)
- @ hzhj_loop_animations = [ ]
- @ hzhj_loop_durations = { }
- @ hzhj_loop_sprites = { }
- @ hzhj_loop_bitmap1s = { }
- @ hzhj_loop_bitmap2s = { }
- @ hzhj_loop_ani_oxs = { }
- @ hzhj_loop_ani_oys = { }
- @ flash_nil_duration 0
- 结束
- #------------------------------------------------- -------------------------
- ●释放(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_dispose_for_state_ani_spr_base处置
- DEF处置
- dispose_loop_animation
- hzhj_old_dispose_for_state_ani_spr_base
- 结束
- #------------------------------------------------- -------------------------
- #●设置动画的活动块(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_ani_set_spr_for_state_ani_spr_base animation_set_sprites
- :DEF animation_set_sprites ( *参数)
- hzhj_old_ani_set_spr_for_state_ani_spr_base ( *参数)
- “@”ani_sprites“ 。每个{ |精灵|精灵。Ž + = @的动画。ani_z_correction }
- 结束
- #------------------------------------------------- -------------------------
- #●判断是否有循环动画(新增定义)
- #------------------------------------------------- -------------------------
- 高清 loop_animation?
- 回报 (不“ @“hzhj_loop_animations” 。空吗?)
- 结束
- #------------------------------------------------- -------------------------
- ●开始播放循环动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF start_loop_animation (动画)
- 返回 如果 @ hzhj_loop_animations。包括(动画)
- 如果动画为零?
- dispose_loop_animation
- 返回
- 结束
- set_animation_rate
- @ hzhj_loop_animations 推(动画)
- init_loop_animation_duration (动画)
- load_loop_animation_bitmap (动画)
- make_loop_animation_sprites (动画)
- set_loop_animation_origin (动画)
- 结束
- #------------------------------------------------- -------------------------
- #●初始化循环动画播放位置(新增定义)
- #------------------------------------------------- -------------------------
- :DEF init_loop_animation_duration (动画)
- @ hzhj_loop_durations [动画] =动画。frame_max * @ ani_rate + 1
- 结束
- #------------------------------------------------- -------------------------
- ●读取循环动画图像(新增定义)
- #------------------------------------------------- -------------------------
- :DEF load_loop_animation_bitmap (动画)
- animation1_name = animation1_name动画。
- animation1_hue = animation1_hue动画。
- animation2_name = animation2_name动画。
- animation2_hue = animation2_hue动画。
- bitmap1 =缓存的动画( animation1_name animation1_hue )
- bitmap2 =缓存的动画( animation2_name,animation2_hue )
- 如果 @ @ _reference_count 包括?( bitmap1 )
- @ @ _reference_count [ bitmap1 ] + = 1
- 其他
- @ @ _reference_count [ bitmap1 ] = 1
- 结束
- 如果 @ @ _reference_count 包括?( bitmap2 )
- @ @ _reference_count [ bitmap2 ] + = 1
- 其他
- @ @ _reference_count [ bitmap2 ] = 1
- 结束
- @ hzhj_loop_bitmap1s [动画] = bitmap1
- @ hzhj_loop_bitmap2s [动画] = bitmap2
- 图形。frame_reset
- 结束
- #------------------------------------------------- -------------------------
- #●生成循环动画活动块(新增定义)
- #------------------------------------------------- -------------------------
- :DEF make_loop_animation_sprites (动画)
- 精灵= [ ]
- 如果 @ use_sprite的
- 16 倍
- 雪碧= ::雪碧新(视口)。
- 雪碧。可见 = 假
- 精灵推(精灵)
- 结束
- 结束
- @ hzhj_loop_sprites [动画] =精灵
- 结束
- #------------------------------------------------- -------------------------
- ●设定循环动画的原点(新增定义)
- #------------------------------------------------- -------------------------
- :DEF set_loop_animation_origin (动画)
- 如果动画位置 == 3
- 如果视口== 零
- ani_ox =图形宽度 / 2。
- ani_oy =图形高度 / 2
- 其他
- ani_ox =视口矩形的宽度 / 2
- ani_oy =口。正确的高度 / 2
- 结束
- 其他
- ani_ox = X -牛+宽/ 2
- ani_oy = Y - OY +高/ 2
- 如果动画位置 == 0
- ani_oy - =身高/ 2
- 的ELSIF动画。位置 ==
- ani_oy + =身高/ 2
- 结束
- 结束
- @ hzhj_loop_ani_oxs [动画] = ani_ox
- @ hzhj_loop_ani_oys [动画] = ani_oy
- 结束
- #------------------------------------------------- -------------------------
- ●释放所有循环动画(新增定义)
- #------------------------------------------------- -------------------------
- DEF dispose_loop_animation
- 返回, 除非 loop_animation?
- 为动画@ hzhj_loop_animations。克隆
- end_loop_animation (动画)
- 结束
- @ hzhj_loop_durations 清晰
- @ 明确hzhj_loop_sprites。
- @ hzhj_loop_bitmap1s 清晰
- @ hzhj_loop_bitmap2s 清晰
- @ hzhj_loop_ani_oxs 清晰
- @ hzhj_loop_ani_oys 清晰
- @ hzhj_loop_animations 清晰
- 结束
- #------------------------------------------------- -------------------------
- ●结束某个循环动画(新增定义)
- #------------------------------------------------- -------------------------
- :DEF end_loop_animation (动画)
- 返回, 如果 不能的 @ hzhj_loop_animations。包括?(动画)
- bitmap1 = @ hzhj_loop_bitmap1s [动画]
- @ @ _reference_count [ bitmap1 ] - = 1
- 如果 @ @ _reference_count [ bitmap1 ] == 0
- @ _reference_count 删除( bitmap1 )
- bitmap1 处置。
- 结束
- bitmap2 = @ hzhj_loop_bitmap2s [动画]
- @ @ _reference_count [ bitmap2 ] - = 1
- @ _reference_count [ bitmap2 ] == 0
- @ _reference_count 删除( bitmap2 )
- bitmap2 处置。
- 结束
- 精灵= @ hzhj_loop_sprites [动画]
- 精灵精灵
- 雪碧。处置
- 结束
- “@”hzhj_loop_durations“ 。删除(动画)
- “@”hzhj_loop_sprites“ 。删除(动画)
- “@”hzhj_loop_bitmap1s“ 。删除(动画)
- “@”hzhj_loop_bitmap2s“ 。删除(动画)
- “@”hzhj_loop_ani_oxs“ 。删除(动画)
- “@”hzhj_loop_ani_oys“ 。删除(动画)
- @ hzhj_loop_animations 删除(动画)
- 结束
- #------------------------------------------------- -------------------------
- #●刷新(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_update_for_state_ani_spr_base更新
- DEF更新
- hzhj_old_update_for_state_ani_spr_base
- update_loop_animation
- 结束
- #------------------------------------------------- -------------------------
- #●刷新循环动画(新增定义)
- #------------------------------------------------- -------------------------
- DEF update_loop_animation
- @ flash_nil_duration - = 1, 如果 @ flash_nil_duration 0
- 返回, 除非 loop_animation?
- 在@ hzhj_loop_animations动画
- @ hzhj_loop_durations [动画] - = 1
- 持续时间= @ hzhj_loop_durations [动画]
- 如果持续时间%@ ani_rate == 0
- 如果持续时间> 0
- set_loop_animation_origin (动画)
- frame_index = frame_max动画。
- frame_index - = (持续时间+ @ ani_rate的 - 1 ) / @ ani_rate
- 参数= [ ]
- 参数[ 0 ] = @ hzhj_loop_sprites [动画]
- 参数[ 1 ] = _AT_ hzhj_loop_bitmap1s [动画]
- 参数[ 2 ] = _AT_ hzhj_loop_bitmap2s [动画]
- 参数[ 3 ] = _AT_ hzhj_loop_ani_oxs [动画]
- 参数[ 4 ] = _AT_ hzhj_loop_ani_oys [动画]
- 参数[ 5 ] =动画loop_z_correction
- ARGS [ 6 ] = ((不 flash_nil?或动画。to_screen?) 和可见光)
- loop_animation_set_sprites (动画帧[ frame_index ]里,args )
- 动画。计时。|定时|
- loop_animation_process_timing (定时), 如果帧 == frame_index 时机。
- 结束
- 其他
- init_loop_animation_duration (动画)
- 重做
- 结束
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●设定循环动画的活动块(新增定义)
- #------------------------------------------------- -------------------------
- DEF loop_animation_set_sprites (帧,参数)
- 精灵=参数[ 0 ]
- bitmap1 0 = [ 1 ]
- bitmap2 0 = [ 2 ]
- ani_ox 0 = [ 3 ]
- ani_oy 0 = [ 4 ]
- loop_z_correction 0 = [ 5 ]
- state_visible 0 = [ 6 ]
- cell_data = cell_data框架。
- 精灵each_with_index |精灵,我|
- 未来 除非精灵
- 模式= cell_data [ I,0 ]
- 如果图案| |模式< 0
- 雪碧。可见 = 假
- 下
- 结束
- 精灵位图模式< 100?bitmap1:bitmap2
- 精灵可见 state_visible中
- 雪碧。src_rect 集(模式5%* 192,
- 样式%100 / 5 * 192,192,192 )
- 雪碧。所述 = ani_ox + cell_data [ I,1 ]
- 雪碧。Ÿ = ani_oy + cell_data [ I,2 ]
- 雪碧。角 = cell_data [ I,4 ]
- 雪碧。镜 = ( cell_data [ I,5 ] == 1 )
- 如果 loop_z_correction> 9999
- 雪碧。Ž = loop_z_correction%10000 +
- ELSIF loop_z_correction < -9999
- 雪碧。Ž = loop_z_correction%-10000 + I
- 其他
- 精灵Ž = 自我。Ž + loop_z_correction +我
- 结束
- 雪碧。牛 = 96
- 雪碧。OY = 96
- 雪碧。zoom_x cell_data [ I,3 ] / 100.0
- 雪碧。zoom_y cell_data [ I,3 ] / 100.0
- 雪碧。不透明度 = cell_data [ I,6 ] * 自混浊 / 255.0
- 雪碧。blend_type cell_data [ I,7 ]
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●循环动画SE和闪烁时机的处理(新增定义)
- #------------------------------------------------- -------------------------
- DEF loop_animation_process_timing (定时)
- 时序。本身玩
- flash_scope 情况的时机。
- 当 1
- 自我闪光灯(时机。flash_color时机。flash_duration * @ ani_rate )
- 2
- 如果视口
- 口中。闪光灯(时机。flash_color时机。flash_duration * @ ani_rate )
- 结束
- 时
- 自我闪光灯(无定时。flash_duration * @ ani_rate )
- 结束
- 结束
- #------------------------------------------------- -------------------------
- ●设置闪烁(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_flash_for_state_ani_spr_base闪光
- 高清闪存( *参数)
- 如果 ARGS [ 0 ] 为零?
- _AT_ flash_nil_duration的 0 = [ 1 ]
- 其他
- @ flash_nil_duration 0
- 结束
- hzhj_old_flash_for_state_ani_spr_base ( *参数)
- 结束
- #------------------------------------------------- -------------------------
- ●判断是否正处于【隐藏目标】(新增定义)
- #------------------------------------------------- -------------------------
- 高清 flash_nil?
- 返回 ( @ flash_nil_duration 0 )
- 结束
- 结束
- #================================================= =============================
- #■Sprite_Battler
- #================================================= =============================
- 类 Sprite_Battler <Sprite_Base
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_state_ani_spr_battler初始化
- DEF初始化( *参数)
- hzhj_old_init_for_state_ani_spr_battler ( *参数)
- init_battler_add_state_id
- 结束
- #------------------------------------------------- -------------------------
- ●初始化战斗者要播放状态动画的状态(新增定义)
- #------------------------------------------------- -------------------------
- DEF init_battler_add_state_id
- 如果 @战斗者。为零?
- dispose_loop_animation
- 其他
- @战斗者。hzhj_add_state_id 清晰
- @战斗者。hzhj_remove_state_id 清晰
- @战斗者。need_update_state_animation = 真
- 为@战斗者状态状态
- 接下来 ,如果状态。为零?
- 未来 如果 $ data_animations [。animation_id状态零?
- @战斗者。hzhj_add_state_id 推(状态ID )
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●设置战斗者(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_battlerdy_for_state_ani_spr_battler的战斗者=
- DEF战斗者= (值)
- old_battler = @战斗者
- hzhj_old_battlerdy_for_state_ani_spr_battler (值)
- 如果 old_battler!= @战斗者
- init_battler_add_state_id
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●刷新(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_update_for_state_ani_spr_battler更新
- DEF更新
- hzhj_old_update_for_state_ani_spr_battler
- 如果 @战斗者
- 如果 @战斗者。need_update_state_animation的
- @战斗者。need_update_state_animation = FALSE
- 如果 战斗者。hzhj_add_state_id 空?
- 我@战斗者hzhj_add_state_id的
- 如果 @战斗者状态(我)吗?
- ani_id = $ data_states [我]。animation_id
- 动画= $ data_animations [ ani_id ]
- start_loop_animation (动画) ,如果 不是动画为零?
- 结束
- 结束
- @战斗者。hzhj_add_state_id 清晰
- 结束
- 如果 战斗者。hzhj_remove_state_id 空?
- 我@战斗者hzhj_remove_state_id的
- 如果 不能 战斗者状态?(我)
- ani_id = $ data_states [我]。animation_id
- 动画= $ data_animations [ ani_id ]
- end_loop_animation (动画) ,如果 不是动画为零?
- 结束
- 结束
- @战斗者。hzhj_remove_state_id 清晰
- 结束
- 结束
- 结束
- 结束
- 结束
- #================================================= =============================
- #■Window_BattleLog
- #================================================= =============================
- 类 Window_BattleLog <Window_Selectable
- #------------------------------------------------- -------------------------
- ●显示状态附加/解除(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_display_status_for_state_ani_wnd_btlog display_changed_states
- DEF display_changed_states (目标)
- 目标。need_update_state_animation = TRUE
- hzhj_old_display_status_for_state_ani_wnd_btlog (目标)
- 结束
- 结束
-
- #================================================= =============================
- ID:■Sprite_Damage $(新增类)
- #================================================= =============================
- 类 Sprite_Damage <雪碧
- 流包括 Hzhj :: HorizontalBattleSystem
- #------------------------------------------------- -------------------------
- #●获取/生成伤害值源图
- #------------------------------------------------- -------------------------
- @ obmp = 零
- DEF 自obmp
- @ obmp 为零?@ obmp。处置?
- @ obmp = 新的位图。(180,256 )
- @ obmp 字体加粗 = 真
- @ obmp 字体阴影 = 假
- @ obmp 字体轮廓 = 真
- @ obmp 字体。out_color =颜色。新(255,255,255,255 )
- @ obmp。字体大小 = 32。
- 种= [ ]
- 颜色。推(颜色新的(255, 0, 0,255 ))。
- 颜色。推(新颜色。(255,128,128,255 ))
- 颜色。推(新 颜色(0, 0,255,255 ))
- 颜色。推(新颜色。(128,128,255,255 ))
- 颜色。推(新 颜色(0,255, 0,255 ))
- 颜色。推(新颜色(128,255,128,255 ))
- 颜色。each_with_index |色,喜|
- @ obmp 字体颜色 =颜色
- 无线在 0 .. 9
- @ obmp draw_text,喜( WI * 18 * 32,18,32,“#{威斯康星}” ,1 )
- 结束
- 结束
- @ obmp 字体大小 = 20。
- @ obmp 字体斜体 = TRUE
- @ @ 字体。obmp out_color =颜色。新的(0,0,0,255 )
- @ obmp 字体颜色 =颜色新(255,255,255,255 )
- @ obmp draw_text ( 0,192,90,32,“重要”,1 )
- @ obmp draw_text (90,192,90,32,“小姐”,1 )
- @ @ obmp draw_text ( 0,224,90,32,“规避”,1 )
- @ obmp hue_change ( DamageBitmapHue )
- 结束
- 返回 @ obmp
- 结束
- #------------------------------------------------- -------------------------
- #●初始化
- #------------------------------------------------- -------------------------
- DEF初始化(视口,参数)
- 超(视口)
- @类型 =参数[ 0 ]
- @值 0 = [ 1 ]
- @临界 0 = [ 2 ]
- 自我。所述 0 = [ 4 ]
- 自我。0 = [ 5 ]
- 自我Ž =参数[ 6 ] +图形。高度 * 5
- make_move ( args的[ 3 ] )
- 刷新
- 结束
- #------------------------------------------------- -------------------------
- #●生成移动数据
- #------------------------------------------------- -------------------------
- 高清 make_move ( battler_obj_class )
- @移动 = [ ]
- 案例 battler_obj_class
- 当 演员
- make_move_actor
- 当 敌人
- make_move_enemy
- 其他
- make_move_default
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●生成移动数据默认
- #------------------------------------------------- -------------------------
- DEF make_move_default
- 45 倍 | N |
- 如果%3 == 0
- ADY = -6:-1 < 21?
- OPA = N < 21?255:255 - ( Ñ -21 ) * 6
- @移动推([ 0,安以轩,OPA )
- 其他
- @移动推(0,0,-1 ] )
- 结束
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●生成移动数据角色
- #------------------------------------------------- -------------------------
- DEF make_move_actor
- make_move_default
- 结束
- #------------------------------------------------- -------------------------
- #●生成移动数据敌人
- #------------------------------------------------- -------------------------
- DEF make_move_enemy
- make_move_default
- 结束
- #------------------------------------------------- -------------------------
- #●描绘
- #------------------------------------------------- -------------------------
- DEF刷新
- 如果 没有 自我的位图。为零?
- 自我处置位图。
- 自位图 = 零
- 结束
- 开始
- @ obmp =缓存动画(“损害”,DamageBitmapHue )
- 抢救 ERRNO :: ENOENT
- @ obmp = Sprite_Damage。obmp
- 结束
- @ numw = @ obmp 宽度 / 10
- @ numh = @ obmp。高度 / 8
- @ STRW = @ obmp。宽 / 2
- 案例 @值
- 当 数字
- blt_obmp_numeric
- 当 符号
- blt_obmp_text
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●通过源图描绘数字
- #------------------------------------------------- -------------------------
- DEF blt_obmp_numeric
- 次数= @值。to_i。ABS 的to_s 分割(“” )。
- nbmpw次数大小 * @ numw
- bmph = @ numh
- cbmpw = 0
- CRECT = 零
- DY = 0
- 如果 关键
- cbmpw = @ STRW
- bmph * 2 =
- CRECT =矩形。新(0,numh * 6,@ STRW numh )
- DY = numh的
- 结束
- 自位图新([ nbmpw,cbmpw 32 ]。最大 bmph 32 ]。最大的位图。)
- 自牛 =位图。宽度 / 2
- 自OY = bmph / 2
- 位图。的BLT ((位图宽度 - cbmpw ) / 2,0,@ obmp,CRECT ) 如果 CRECT
- DX = (位图宽度 - nbmpw ) / 2
- RY = 0
- 情况 @型
- 时 :马力
- RY = @值 > = 0?0:@ numh
- 当 :熔点
- RY = @值 > = 0?@ numh * 2:@ numh * 3
- 时 :TP
- RY = @值 > = 0?@ numh * 4:@ numh * 5
- 其他
- 返回
- 结束
- RECT =矩形新的(0,RY,@ numw,numh )
- 数组nums each_with_index |海峡,我|
- 正确。所述 = str的to_i * @ numw
- 位图。BLT ( DX,DY,@ obmp,正确)
- DX + = @ numw
- 结束
- 结束
- #------------------------------------------------- -------------------------
- #●通过源图描绘文字
- #------------------------------------------------- -------------------------
- DEF blt_obmp_text
- 自我位图 = 新的位图。([ @ STRW 32 ]。最大,[: @ numh 32 ]。最大)
- 自牛 = @ STRW / 2
- 自OY = @ numh / 2
- RX = RY = 0
- 情况 @型
- 时 :想念
- RX = STRW的
- RY = @ numh * 6
- 时 :EVA
- RY = @ numh * 7
- 其他
- 返回
- 结束
- RECT =矩形的新( RX,RY @ STRW的@ numh的)
- 位图。BLT (0,0,@ obmp,正确)
- 结束
- #------------------------------------------------- -------------------------
- #●释放
- #------------------------------------------------- -------------------------
- DEF处置
- 位图。出售 ,如果位图
- 非常
- 结束
- #------------------------------------------------- -------------------------
- #●移动中判定
- #------------------------------------------------- -------------------------
- 高清移动?
- 返回 ( @举动。空的吗?)
- 结束
- #------------------------------------------------- -------------------------
- #●刷新
- #------------------------------------------------- -------------------------
- DEF更新
- 非常
- 如果移动?
- 进制= @举措。转变
- 自所述 + =进制[ 0 ]
- 自ÿ + =进制[ 1 ]
- 自我不透明度 =进制[ 2 ] 如果进制[ 2 ] > = 0
- 结束
- 结束
- 结束
- #================================================= =============================
- #■Game_BattlerBase
- #================================================= =============================
- 类 Game_BattlerBase
- #------------------------------------------------- -------------------------
- ●实例变量(新增定义)
- #------------------------------------------------- -------------------------
- attr_accessor中hzhj_damage的
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_display_damage_game_battler_base初始化
- DEF初始化
- _AT_ hzhj_damage ]
- hzhj_old_init_for_display_damage_game_battler_base
- 结束
- 结束
- #================================================= =============================
- #■Sprite_Base
- #================================================= =============================
- 类 Sprite_Base <雪碧
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_display_damage_spr_base初始化
- DEF初始化( *参数)
- hzhj_old_init_for_display_damage_spr_base ( *参数)
- @ hzhj_damage_sprites = [ ]
- 结束
- #------------------------------------------------- -------------------------
- ●释放(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_dispose_for_display_damage_spr_base处置
- DEF处置
- hzhj_old_dispose_for_display_damage_spr_base
- dispose_damage
- 结束
- #------------------------------------------------- -------------------------
- ●判断是否有伤害在显示(新增定义)
- #------------------------------------------------- -------------------------
- DEF损伤?
- 返回 (不“ @“hzhj_damage_sprites” 。空的吗?)
- 结束
- #------------------------------------------------- -------------------------
- #●开始显示伤害(新增定义)
- #------------------------------------------------- -------------------------
- DEF start_damage (参数)
- 参数[ 4 ] = X -牛+宽/ 2
- 参数[ 5 ] = Y - OY +高/ 2
- 参数[ 6 ] = Z
- @ hzhj_damage_sprites 推( Sprite_Damage。新(视口,参数))
- 结束
- #------------------------------------------------- -------------------------
- ●释放所有伤害显示(新增定义)
- #------------------------------------------------- -------------------------
- DEF dispose_damage
- 返回, 除非损坏?
- “@”hzhj_damage_sprites“ 。每个{ |雪碧雪碧。处置}
- @ 明确hzhj_damage_sprites。
- 结束
- #------------------------------------------------- -------------------------
- #●刷新(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_update_for_display_damage_spr_base更新
- DEF更新
- hzhj_old_update_for_display_damage_spr_base
- update_damage
- 结束
- #------------------------------------------------- -------------------------
- #●刷新显示伤害(新增定义)
- #------------------------------------------------- -------------------------
- DEF update_damage
- 返回, 除非损坏?
- “@”hzhj_damage_sprites“ 。each_with_index |精灵,我|
- 如果精灵动人?
- 更新 雪碧。
- 其他
- 雪碧。处置
- @ hzhj_damage_sprites [我] = 零
- 结束
- 结束
- “@”hzhj_damage_sprites“ 。删除(零)
- 结束
- 结束
- #================================================= =============================
- #■Sprite_Battler
- #================================================= =============================
- 类 Sprite_Battler <Sprite_Base
- #------------------------------------------------- -------------------------
- #●刷新(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_update_for_display_damage_spr_battler更新
- DEF更新
- hzhj_old_update_for_display_damage_spr_battler
- 如果 @战斗者
- 如果 不是 @战斗者hzhj_damage 空?
- 除非 @战斗者。damage_section_displayed,
- 参数= @战斗者hzhj_damage 克隆
- ARGS [ 3 ] = @战斗者的演员吗??演员:( @战斗者。敌人?:敌人:无)
- start_damage (参数)
- 结束
- @战斗者。hzhj_damage 清晰
- 结束
- 结束
- 结束
- 结束
- #================================================= =============================
- #■Window_BattleLog
- #================================================= =============================
- 类 Window_BattleLog <Window_Selectable
- #------------------------------------------------- -------------------------
- ●显示MISS(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_display_miss_for_display_damage_wnd_btlog display_miss
- :DEF display_miss (目标项)
- 的目标。hzhj_damage = [ :小姐,小姐,假]
- hzhj_old_display_miss_for_display_damage_wnd_btlog (目标项)
- 结束
- #------------------------------------------------- -------------------------
- #●显示回避(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_display_evasion_for_display_damage_wnd_btlog display_evasion
- :DEF display_evasion (目标项)
- 目标。hzhj_damage = [ :EVA :逃避,虚假]
- hzhj_old_display_evasion_for_display_damage_wnd_btlog (目标项)
- 结束
- #------------------------------------------------- -------------------------
- ●显示HP伤害(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_display_hp_damage_for_display_damage_wnd_btlog display_hp_damage
- :DEF display_hp_damage (目标项)
- 如果目标的结果。hp_damage == 0 &&项目&&!项目。损坏。to_hp 返回?
- 值= hp_damage目标的结果。
- 关键目标的关键结果。
- 目标。hzhj_damage = [ :马力,价值,关键]
- hzhj_old_display_hp_damage_for_display_damage_wnd_btlog (目标项)
- 结束
- #------------------------------------------------- -------------------------
- ●显示MP伤害(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_display_mp_damage_for_display_damage_wnd_btlog display_mp_damage
- :DEF display_mp_damage (目标项)
- 如果目标返回。死了吗?| |的目标。结果mp_damage == 0
- 值= mp_damage目标的结果。
- 关键目标的关键结果。
- 目标。hzhj_damage = [ :熔点,价值,关键]
- hzhj_old_display_mp_damage_for_display_damage_wnd_btlog (目标项)
- 结束
- #------------------------------------------------- -------------------------
- ●显示TP伤害(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_display_tp_damage_for_display_damage_wnd_btlog display_tp_damage
- :DEF display_tp_damage (目标项)
- 如果目标返回。死了吗?| |的目标。结果tp_damage == 0
- 值= tp_damage目标的结果。
- 关键目标的关键结果。
- 目标。hzhj_damage = [ :TP,价值,关键]
- hzhj_old_display_tp_damage_for_display_damage_wnd_btlog (目标项)
- 结束
- 结束
-
- 类
- DEF need_move
- 返回 _AT_ need_move的 除非 @ need_move。零?
- 如果 / @ [ RR ] [ MM ] / =〜@名
- 回报 ( @ need_move = TRUE )
- 其他
- 回报 ( @ need_move = FALSE )
- 结束
- 结束
- DEF move_se
- 返回 _AT_ move_se的 除非 @ move_se。零?
- @ move_se = RPG :: SE 新
- 如果 / @ [ SS ] [ EE ] \ [ ( + ) \ ] / =〜@名字
- @ move_se 名称 = $ 1。克隆
- 结束
- 返回 @ move_se
- 结束
- attr_writer :need_move
- attr_writer :move_se
- 结束
- #================================================= =============================
- #■Game_Battler
- #================================================= =============================
- 类 Game_Battler <Game_BattlerBase
- 流包括 Hzhj :: HorizontalBattleSystem
- #------------------------------------------------- -------------------------
- #●属性
- #------------------------------------------------- -------------------------
- attr_accessor中:ADD_X #X坐标变化量
- attr_accessor中:add_y #Y坐标变化量
- attr_accessor中:move_speed_x #战斗图所述移动速度
- attr_accessor中:move_speed_y #战斗图Ÿ移动速度
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_real_move_game_battler初始化
- DEF初始化
- @ ADD_X = 0
- @ add_y 0
- @ move_speed_x 0
- @ move_speed_y 0
- hzhj_old_init_for_real_move_game_battler
- 结束
- #------------------------------------------------- -------------------------
- ●真实所述坐标(新增定义)
- #------------------------------------------------- -------------------------
- DEF real_screen_x
- 返回 screen_x + ADD_X
- 结束
- #------------------------------------------------- -------------------------
- ●真实Ÿ坐标(新增定义)
- #------------------------------------------------- -------------------------
- DEF real_screen_y
- 返回 screen_y + add_y
- 结束
- #------------------------------------------------- -------------------------
- #●返回自己的战斗位置(新增定义)
- #------------------------------------------------- -------------------------
- DEF come_back_self_position (持续时间)
- 返回 ,如果死了吗?
- TX = screen_x
- TY = screen_y的
- ADDX = TX - real_screen_x
- 阿迪= TY - real_screen_y
- 如果返回 ADDX 阿迪== 0 == 0 &&
- @ ADD_X = 0
- @ add_y 0
- 最大@ move_speed_x = [ ( ADDX ABS /持续时间to_f ),光大,1 ]。
- 最大@ move_speed_y = [ (阿迪ABS /持续时间to_f ),光大,1 ]。
- 结束
- #------------------------------------------------- -------------------------
- #●设置移动信息(新增定义)
- #------------------------------------------------- -------------------------
- 高清 setup_move_info ( target_battler,持续时间,move_se )
- 返回 ,如果死了吗?
- TBMP =缓存战斗者( target_battler。battler_name target_battler battler_hue )
- sbmp =缓存。战斗者( @ battler_name,battler_hue )
- TBW = TBMP 宽度 / DynamicPatternMax的RealMoveBmpAddW
- 沉鼓= sbmp。宽度 / DynamicPatternMax的RealMoveBmpAddW
- TBH = TBMP。高度 + RealMoveBmpAddH
- SBH = sbmp。高度 + RealMoveBmpAddH
- D =演员??:10 - ActorDirection的ActorDirection
- TX = target_battler用。real_screen_x
- TY = real_screen_y target_battler。
- ð 情况
- 当 1
- TX = TX + TBW / 2 + SBW / 2
- TY = TY - SBH / 2
- 2
- TY = TY - SBH / 2
- 时
- TX = TX - TBW / 2 - SBW / 2
- TY = TY - SBH / 2
- 时
- TX = TX + TBW / 2 + SBW / 2
- 时
- TX = TX - TBW / 2 - SBW / 2
- 时
- TX = TX + TBW / 2 + SBW / 2
- TY = TY + SBH / 2
- 时
- TY = TY + SBH / 2
- 时
- TX = TX - TBW / 2 - SBW / 2
- TY = TY + SBH / 2
- 结束
- ADDX = TX - real_screen_x
- 阿迪= TY - real_screen_y
- 如果返回 ADDX 阿迪== 0 == 0 &&
- @ ADD_X = TX - screen_x 如果 ADDX!= 0
- @ add_y = TY - screen_y 如果阿迪= 0,
- 最大@ move_speed_x = [ ( ADDX ABS /持续时间to_f ),光大,1 ]。
- 最大@ move_speed_y = [ (阿迪ABS /持续时间to_f ),光大,1 ]。
- move_se 发挥。
- 结束
- 结束
- #================================================= =============================
- #■Sprite_Battler
- #================================================= =============================
- 类 Sprite_Battler <Sprite_Base
- #------------------------------------------------- -------------------------
- ●初始化(追加定义)
- #------------------------------------------------- -------------------------
- 的别名 hzhj_old_init_for_real_move_spr_battler初始化
- DEF初始化(视口,战斗者= 零)
- hzhj_old_init_for_real_move_spr_battler (视口,战斗者)
- init_position ( @战斗者) @战斗者
- 结束
- #------------------------------------------------- -------------------------
- #●设置战斗者(追加定义)
- #------------------------------------------------- -------------------------
- 别名 hzhj_old_set_battler_for_real_move_spr_battler的战斗者=
- DEF战斗者= (值)
- 如果 @战斗者 = value &&的价值!
- init_position (值)
- 结束
- hzhj_old_set_battler_for_real_move_spr_battler (值)
- 结束
- #------------------------------------------------- -------------------------
- ●初始化位置(新增定义)
- #------------------------------------------------- -------------------------
- :DEF init_position (战斗者)
- 战斗者ADD_X = 0
- 战斗者add_y = 0
- 自所述战斗者real_screen_x
- 自我Ÿ =战斗者。real_screen_y
- 自Ž =战斗者screen_z
- 结束
- #------------------------------------------------- -------------------------
- #●移动中判定(新增定义)
- #------------------------------------------------- -------------------------
- 高清移动?
- 返回 假, 除非 @战斗者
- (到X!= @战斗者real_screen_x 或 Ÿ!= @战斗者。real_screen_y ) && @战斗者
- 结束
- #------------------------------------------------- -------------------------
- #●位置的更新(重定义)
- #------------------------------------------------- -------------------------
- def update_position
- if [email protected]?
- if x < @battler.real_screen_x
- self.x = [x + @battler.move_speed_x, @battler.real_screen_x].min
- elsif x > @battler.real_screen_x
- self.x = [x - @battler.move_speed_x, @battler.real_screen_x].max
- end
- if y < @battler.real_screen_y
- self.y = [y + @battler.move_speed_y, @battler.real_screen_y].min
- elsif y > @battler.real_screen_y
- self.y = [y - @battler.move_speed_y, @battler.real_screen_y].max
- end
- self.z = y + 100
- end
- end
- end
- #==============================================================================
- # ■ Spriteset_Battle
- #==============================================================================
- class Spriteset_Battle
- #--------------------------------------------------------------------------
- # ● 判定是否移动中(新增定义)
- #--------------------------------------------------------------------------
- def moving?
- battler_sprites.any? {|sprite| sprite.moving? }
- end
- end
- #==============================================================================
- # ■ Scene_Battle
- #==============================================================================
- class Scene_Battle < Scene_Base
- #--------------------------------------------------------------------------
- # ● 等待战斗图移动的结束(新增定义)
- #--------------------------------------------------------------------------
- def wait_for_move
- update_for_wait
- update_for_wait while @spriteset.moving?
- end
- end
-
- class RPG::Troop
- include Hzhj::HorizontalBattleSystem
- def display_enemy_bar
- return @display_enemy_bar unless @display_enemy_bar.nil?
- if /@ebar/i =~ @name
- return (@display_enemy_bar = !DefaultDisplayEnemyBar)
- else
- return (@display_enemy_bar = DefaultDisplayEnemyBar)
- end
- end
- attr_writer :display_enemy_bar
- end
- #==============================================================================
- # ■ Game_Troop
- #==============================================================================
- class Game_Troop < Game_Unit
- attr_accessor :display_enemy_bar # 是否显示敌人HP条、MP条、TP条
- #--------------------------------------------------------------------------
- # ● 设置
- #--------------------------------------------------------------------------
- alias hzhj_old_setup_for_display_enemy_bar_game_troop setup
- def setup(troop_id)
- hzhj_old_setup_for_display_enemy_bar_game_troop(troop_id)
- @display_enemy_bar = troop.display_enemy_bar
- end
- end
- #==============================================================================
- # ■ Window_BattleEnemy
- #==============================================================================
- class Window_BattleEnemy < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 取得列数
- #--------------------------------------------------------------------------
- def col_max
- if $game_troop.display_enemy_bar
- return 1
- else
- return 2
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- create_contents
- super
- end
- #--------------------------------------------------------------------------
- # ● 描画项目
- #--------------------------------------------------------------------------
- def draw_item(index)
- if $game_troop.display_enemy_bar
- enemy = $game_troop.alive_members[index]
- draw_basic_area(basic_area_rect(index), enemy)
- draw_gauge_area(gauge_area_rect(index), enemy)
- else
- change_color(normal_color)
- name = $game_troop.alive_members[index].name
- draw_text(item_rect_for_text(index), name)
- end
- end
- #--------------------------------------------------------------------------
- # ● 取得基本区域的矩形
- #--------------------------------------------------------------------------
- def basic_area_rect(index)
- rect = item_rect_for_text(index)
- rect.width -= gauge_area_width + 10
- rect
- end
- #--------------------------------------------------------------------------
- # ● 取得值槽区域的矩形
- #--------------------------------------------------------------------------
- def gauge_area_rect(index)
- rect = item_rect_for_text(index)
- rect.x += rect.width - gauge_area_width
- rect.width = gauge_area_width
- rect
- end
- #--------------------------------------------------------------------------
- # ● 取得值槽区域的宽度
- #--------------------------------------------------------------------------
- def gauge_area_width
- return 220
- end
- #--------------------------------------------------------------------------
- # ● 描画基本区域
- #--------------------------------------------------------------------------
- def draw_basic_area(rect, actor)
- draw_actor_name(actor, rect.x + 0, rect.y, 100)
- draw_actor_icons(actor, rect.x + 104, rect.y, rect.width - 104)
- end
- #--------------------------------------------------------------------------
- # ● 描画值槽区域
- #--------------------------------------------------------------------------
- def draw_gauge_area(rect, actor)
- if $data_system.opt_display_tp
- draw_gauge_area_with_tp(rect, actor)
- else
- draw_gauge_area_without_tp(rect, actor)
- end
- end
- #--------------------------------------------------------------------------
- # ● 描画值槽区域(包括 TP 值)
- #--------------------------------------------------------------------------
- def draw_gauge_area_with_tp(rect, actor)
- draw_actor_hp(actor, rect.x + 0, rect.y, 72)
- draw_actor_mp(actor, rect.x + 82, rect.y, 64)
- draw_actor_tp(actor, rect.x + 156, rect.y, 64)
- end
- #--------------------------------------------------------------------------
- # ● 描画值槽区域(不包括 TP 值)
- #--------------------------------------------------------------------------
- def draw_gauge_area_without_tp(rect, actor)
- draw_actor_hp(actor, rect.x + 0, rect.y, 134)
- draw_actor_mp(actor, rect.x + 144, rect.y, 76)
- end
- end
-
- #==============================================================================
- # ■ Sprite_Battler
- #==============================================================================
- class Sprite_Battler < Sprite_Base
- include Hzhj::HorizontalBattleSystem
- #--------------------------------------------------------------------------
- # ● 初始化(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_init_for_dynamic_spr_battler initialize
- def initialize(viewport, battler = nil)
- hzhj_old_init_for_dynamic_spr_battler(viewport, battler)
- @dynamic_duration = 0
- @dynamic_duration_max = DynamicPatternMax * OnePatternDuration
- end
- #--------------------------------------------------------------------------
- # ● 源位图(Source Bitmap)的更新(重定义)
- #--------------------------------------------------------------------------
- def update_bitmap
- new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
- if bitmap != new_bitmap
- self.bitmap = new_bitmap
- init_visibility
- @dynamic_duration = 0
- @sx = 0
- @sw = bitmap.width / DynamicPatternMax
- @sh = bitmap.height
- self.ox = @sw / 2
- self.oy = @sh
- src_rect.set(@sx, 0, @sw, @sh)
- end
- end
- #--------------------------------------------------------------------------
- # ● 原点的更新(重定义)
- #--------------------------------------------------------------------------
- def update_origin
- if bitmap
- @dynamic_duration += 1
- @dynamic_duration %= @dynamic_duration_max
- @sx = @dynamic_duration / OnePatternDuration * @sw
- src_rect.set(@sx, 0, @sw, @sh)
- end
- end
- #--------------------------------------------------------------------------
- # ● 返回普通设定(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_revert_to_normal_for_dynamic_spr_battler revert_to_normal
- def revert_to_normal
- hzhj_old_revert_to_normal_for_dynamic_spr_battler
- self.ox = @sw / 2 if bitmap
- end
- #--------------------------------------------------------------------------
- # ● BOSS 战败(崩坏)效果的更新(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_update_boss_col_for_dynamic_spr_battler update_boss_collapse
- def update_boss_collapse
- hzhj_old_update_boss_col_for_dynamic_spr_battler
- self.ox = @sw / 2 + @effect_duration % 2 * 4 - 2
- end
- end
-
- #==============================================================================
- # ■ Game_Battler
- #==============================================================================
- class Game_Battler < Game_BattlerBase
- def set_normal_battler_name
- @battler_name = @battler_name.split(/★/)[0]
- end
- def set_beaten_battler_name
- if guard?
- if (UseActorGuardGraphic && actor?) or
- (UseEnemyGuardGraphic && enemy?)
- set_guard_battler_name
- return
- end
- end
- @battler_name = @battler_name.split(/★/)[0] + "★1"
- if UseActorWBSE && actor?
- Audio.se_play("Audio/SE/AWBSE_#{id}", 100, 100)
- elsif UseEnemyWBSE && enemy?
- Audio.se_play("Audio/SE/EWBSE_#{enemy_id}", 100, 100)
- end
- end
- def set_dead_battler_name
- @battler_name = @battler_name.split(/★/)[0] + "★2"
- end
- def set_guard_battler_name
- @battler_name = @battler_name.split(/★/)[0] + "★3"
- if UseActorGDSE && actor?
- Audio.se_play("Audio/SE/AGDSE_#{id}", 100, 100)
- elsif UseEnemyGDSE && enemy?
- Audio.se_play("Audio/SE/EGDSE_#{enemy_id}", 100, 100)
- end
- end
- end
- #==============================================================================
- # ■ Sprite_Battler
- #==============================================================================
- class Sprite_Battler < Sprite_Base
- #--------------------------------------------------------------------------
- # ● 初始化(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_init_for_dead_spr_battler initialize
- def initialize(viewport, battler = nil)
- hzhj_old_init_for_dead_spr_battler(viewport, battler)
- @dead_graphic_used = false
- if @battler
- @battler.set_normal_battler_name
- if @battler.dead?
- if (UseActorDeadGraphic && @battler.actor?) or
- (UseEnemyDeadGraphic && @battler.enemy?)
- @battler.set_dead_battler_name
- @dead_graphic_used = true
- end
- end
- end
- @beaten_duration = -1
- end
- #--------------------------------------------------------------------------
- # ● 设置战斗者(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_set_battler_for_dead_spr_battler battler=
- def battler=(value)
- if [url=home.php?mod=space&uid=133701]@battler[/url] != value
- @dead_graphic_used = false
- if value
- value.set_normal_battler_name
- if value.dead?
- if (UseActorDeadGraphic && value.actor?) or
- (UseEnemyDeadGraphic && value.enemy?)
- value.set_dead_battler_name
- @dead_graphic_used = true
- end
- end
- end
- @beaten_duration = -1
- end
- hzhj_old_set_battler_for_dead_spr_battler(value)
- end
- #--------------------------------------------------------------------------
- # ● 源位图(Source Bitmap)的更新(重定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_update_bitmap_for_was_beaten_spr_battler update_bitmap
- def update_bitmap
- if @beaten_duration > 0
- @beaten_duration -= 1
- elsif @beaten_duration == 0
- @beaten_duration = -1
- set_bitmap(:normal)
- end
- hzhj_old_update_bitmap_for_was_beaten_spr_battler
- end
- #--------------------------------------------------------------------------
- # ● 初始化可视状态(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_visibility_for_dead_spr_battler init_visibility
- def init_visibility
- hzhj_old_visibility_for_dead_spr_battler
- if @battler.dead?
- if (UseActorDeadGraphic && @battler.actor?) or
- (UseEnemyDeadGraphic && @battler.enemy?)
- self.opacity = 255
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 效果开始(追加定义)
- #--------------------------------------------------------------------------
- alias hzhj_old_start_effect_for_dead_spr_battler start_effect
- def start_effect(effect_type)
- if effect_type == :appear
- if @dead_graphic_used
- set_bitmap(:normal)
- @effect_type = nil
- @effect_duration = 0
- @dead_graphic_used = false
- @battler_visible = true
- return
- end
- elsif effect_type == :collapse or
- effect_type == :boss_collapse or
- effect_type == :instant_collapse
- if @beaten_duration >= 0
- @beaten_duration = -1
- set_bitmap(:normal)
- end
- if (UseActorDeadGraphic && @battler.actor?) or
- (UseEnemyDeadGraphic && @battler.enemy?)
- set_bitmap(:dead)
- @effect_type = nil
- @effect_duration = 0
- @dead_graphic_used = true
- @battler_visible = false
- return
- end
- end
- hzhj_old_start_effect_for_dead_spr_battler(effect_type)
- end
- #--------------------------------------------------------------------------
- # ● 设置新的位图(新增定义)
- #--------------------------------------------------------------------------
- def set_bitmap(sym)
- case sym
- when :normal
- @battler.set_normal_battler_name
- when :was_beaten
- @battler.set_beaten_battler_name
- when :dead
- @battler.set_dead_battler_name
- else
- return
- end
- new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
- if bitmap != new_bitmap
- self.bitmap = new_bitmap
- @dynamic_duration = 0
- @sx = 0
- @sw = bitmap.width / DynamicPatternMax
- @sh = bitmap.height
- self.ox = @sw / 2
- self.oy = @sh
- src_rect.set(@sx, 0, @sw, @sh)
- end
- update_origin
- update_position
- end
- end
-
- #==============================================================================
- # ■ Scene_Battle
- #==============================================================================
- class Scene_Battle < Scene_Base
- #--------------------------------------------------------------------------
- # ● 发动技能/物品(新增定义)
- #--------------------------------------------------------------------------
- def hzhj_invoke_item(target, item, damage_target)
- refresh_status
- @log_window.display_action_results(damage_target, item)
- @subject.damage_section_displayed = false
- @subject.last_target_index = target.index
- return if target.dead?
- if rand < target.item_cnt(@subject, item)
- hzhj_invoke_counter_attack(target, item)
- elsif rand < target.item_mrf(@subject, item)
- hzhj_invoke_magic_reflection(target, item)
- end
- end
- #--------------------------------------------------------------------------
- # ● 发动物理反击(新增定义)
- #--------------------------------------------------------------------------
- def hzhj_invoke_counter_attack(target, item)
- @log_window.display_counter(target, item)
- attack_skill = $data_skills[target.attack_skill_id]
- @subject.item_apply(target, attack_skill)
- need_move = false
- animation1 = $data_animations[target.animation1_id]
- need_move = animation1.need_move if animation1
- ary = [@subject]
- if need_move
- target.setup_move_info(@subject, RealMoveDuration, animation1.move_se)
- wait_for_move
- end
- @subject.damage_section_displayed = false
- @subject.not_damage_section = false
- show_subject_animation(target.animation1_id, target)
- show_normal_animation(ary, target.atk_animation_id1, false)
- show_normal_animation(ary, target.atk_animation_id2, true)
- @log_window.wait
- wait_for_animation
- if need_move && target.alive?
- target.come_back_self_position(RealMoveDuration)
- wait_for_move
- end
- refresh_status
- @log_window.display_action_results(@subject, attack_skill)
- end
- #--------------------------------------------------------------------------
- # ● 发动魔法反射(新增定义)
- #--------------------------------------------------------------------------
- def hzhj_invoke_magic_reflection(target, item)
- @subject.damage_section_displayed = false
- @subject.not_damage_section = false
- @log_window.display_reflection(target, item)
- @subject.item_apply(@subject, item)
- refresh_status
- @log_window.display_action_results(@subject, item)
- end
- end
-
- #==============================================================================
- # ■ Game_Battler
- #==============================================================================
- class Game_Battler < Game_BattlerBase
- attr_accessor :damage_section_displayed
- attr_accessor :not_damage_section
- end
- #==============================================================================
- # ■ Game_Actor
- #==============================================================================
- class Game_Actor < Game_Battler
- #--------------------------------------------------------------------------
- # ● 执行伤害效果
- #--------------------------------------------------------------------------
- alias hzhj_old_per_damage_for_damage_section_game_actor perform_damage_effect
- def perform_damage_effect
- unless damage_section_displayed
- hzhj_old_per_damage_for_damage_section_game_actor
- end
- end
- end
- #==============================================================================
- # ■ Game_Enemy
- #==============================================================================
- class Game_Enemy < Game_Battler
- #--------------------------------------------------------------------------
- # ● 执行伤害效果
- #--------------------------------------------------------------------------
- alias hzhj_old_per_damage_for_damage_section_game_enemy perform_damage_effect
- def perform_damage_effect
- unless damage_section_displayed
- hzhj_old_per_damage_for_damage_section_game_enemy
- end
- end
- end
- #==============================================================================
- # ■ Sprite_Battler
- #==============================================================================
- class Sprite_Battler < Sprite_Base
- #--------------------------------------------------------------------------
- # ● SE 和闪烁时机的处理
- #--------------------------------------------------------------------------
- def animation_process_timing(timing)
- if timing.se.name == DamageSectionDisplaySEName
- hp_value = @battler.result.hp_damage
- mp_value = @battler.result.mp_damage
- tp_value = @battler.result.tp_damage
- value = args = nil
- was_beaten = false
- if hp_value != 0 && [email protected]_damage_section
- was_beaten = true if hp_value > 0
- value = hp_value * timing.flash_color.red.to_i / 100
- critical = @battler.result.critical
- args = [:hp, value, critical]
- elsif mp_value != 0 && [email protected]_damage_section
- was_beaten = true if mp_value > 0
- value = mp_value * timing.flash_color.red.to_i / 100
- critical = @battler.result.critical
- args = [:mp, value, critical]
- elsif tp_value != 0 && [email protected]_damage_section
- was_beaten = true if tp_value > 0
- value = tp_value * timing.flash_color.red.to_i / 100
- critical = @battler.result.critical
- args = [:tp, value, critical]
- end
- if value && args
- args[3] = @battler.actor? ? :actor : (@battler.enemy? ? :enemy : nil)
- @battler.damage_section_displayed = true
- start_damage(args)
- if UseBeatenGraphic && was_beaten
- set_bitmap(:was_beaten)
- @beaten_duration = BeatenGraphicDuration
- end
- end
- return
- end
- super(timing)
- end
- end
- #==============================================================================
- # ■ Scene_Battle
- #==============================================================================
- class Scene_Battle < Scene_Base
- #--------------------------------------------------------------------------
- # ● 应用技能/物品效果(新增定义)
- #--------------------------------------------------------------------------
- def hzhj_apply_item_effects(target, item)
- target.damage_section_displayed = false
- target.not_damage_section = false
- target = apply_substitute(target, item)
- target.damage_section_displayed = false
- target.not_damage_section = false
- target.item_apply(@subject, item)
- return target
- end
- end
- #==============================================================================
- # ■ 此脚本来自 [url]www.66rpg.com[/url]
- #==============================================================================
复制代码这个是后知后觉的作品,你可以用一下。
是va横版战斗脚本 |
|