【ISA】战斗临时天气 - Battle Temp Weather
#==============================================================================# ■ 【ISA】战斗临时天气 - Battle Temp Weather#------------------------------------------------------------------------------# - 2011.2.26# 初始化 忧雪の伤#______________________________________________________________________________# # 追加战斗临时天气以及对于技能的影响。##==============================================================================#==============================================================================# ★ 设定部分 ★#==============================================================================module ISA # 功能开关BTW = true # 生成天气颜色BTW_TONE = []BTW_TONE = Tone.new(-128, -128, -32)BTW_TONE = Tone.new(0, 0, 0)BTW_TONE = Tone.new(0, 0, 0)BTW_TONE = Tone.new(0, 0, 0) # 增效属性BTW_ELE = []BTW_ELE = 17# 不需要提高的设置为nilBTW_ELE = nilBTW_ELE = nilBTW_ELE = nil # 提高值BTW_UP = []# 基准100BTW_UP = 200BTW_UP = 100BTW_UP = 100BTW_UP = 100 # 降效属性BTW_ELE2 = []BTW_ELE2 = 18# 不需要降低的设置为nilBTW_ELE2 = nilBTW_ELE2 = nilBTW_ELE2 = nil # 降低值BTW_DOWN = []# 基准100BTW_DOWN = 50BTW_DOWN = 100BTW_DOWN = 100BTW_DOWN = 100 # 天气图片开关BTW_PIC = true# 天气图片名字BTW_PIC_NAME = "WEATHER"# 天气图片位置BTW_PIC_GRA = "Pictures/"# 天气图片X、Y坐标BTW_PIC_X = 550BTW_PIC_Y = 5 # 改变天气指令# => $game_temp.battle_weather = idend#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★# 注册【ISA】$ISA = {} if $ISA == nil$ISA["BTW"] = true#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#==============================================================================# ★ 开关判定 ★#==============================================================================if ISA::BTW == true then#==============================================================================# ■ Game_Temp#------------------------------------------------------------------------------# 在没有存档的情况下,处理临时数据的类。这个类的实例请参考# $game_temp 。#==============================================================================class Game_Temp#--------------------------------------------------------------------------# ● 定义实例变量#--------------------------------------------------------------------------attr_accessor :battle_weather # 战斗画面天气#--------------------------------------------------------------------------# ● 初始化对像#--------------------------------------------------------------------------alias old_initialize initializedef initialize # 声明别名 @battle_weather = 0 # 调用其他 old_initializeendend#==============================================================================# ■ Game_Battler#------------------------------------------------------------------------------# 处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的# 超级类来使用。#==============================================================================class Game_Battler#--------------------------------------------------------------------------# ● 属性修正计算# element_set : 属性#--------------------------------------------------------------------------alias old_elements_correct elements_correctdef elements_correct(element_set) # 调用旧值 n = old_elements_correct(element_set) for i in element_set # 读取属性 if ISA::BTW_ELE[$game_temp.battle_weather] != nil and i == ISA::BTW_ELE[$game_temp.battle_weather] # 运算增幅 n *= ISA::BTW_UP[$game_temp.battle_weather] / 100 end # 读取属性 if ISA::BTW_ELE2[$game_temp.battle_weather] != nil and i == ISA::BTW_ELE2[$game_temp.battle_weather] # 运算增幅 n *= ISA::BTW_DOWN[$game_temp.battle_weather] n /= 100 end end return nendend #==============================================================================# ■ Scene_Battle#------------------------------------------------------------------------------# 处理战斗画面的类。#==============================================================================class Scene_Battle#--------------------------------------------------------------------------# ● 主处理#--------------------------------------------------------------------------alias old_main_third maindef main # 声明别名 # 调用其他 old_main_third @BTW_weather.dispose if @BTW_weather != nil # 还原色调 $game_screen.start_tone_change(Tone.new(0, 0, 0), 20)end#--------------------------------------------------------------------------# ● 刷新画面#--------------------------------------------------------------------------alias old_update_second updatedef update # 声明别名 case $game_temp.battle_weather # 改变色调 when 0 # 普通 $game_screen.start_tone_change(Tone.new(0, 0, 0), 20) else # 其他 $game_screen.start_tone_change(ISA::BTW_TONE[$game_temp.battle_weather], 20) end if ISA::BTW_PIC # 显示图片 @BTW_weather = Sprite.new if @BTW_weather == nil @BTW_weather.bitmap = Bitmap.new("Graphics/" + ISA::BTW_PIC_GRA + ISA::BTW_PIC_NAME + $game_temp.battle_weather.to_s) @BTW_weather.x = ISA::BTW_PIC_X @BTW_weather.y = ISA::BTW_PIC_Y end # 调用其他 old_update_secondendendend复制代码本帖来自P1论坛作者忧雪の伤,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=168527若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]