# 可读属性
class Spriteset_Map
attr_reader :weather
end
class Spriteset_Battle
attr_reader :weather
end
class Scene_Map
attr_reader :spriteset
end
class Scene_Battle
attr_reader :spriteset
end
# 增加几个变量
class We
attr_accessor :type
end
class Sw
attr_accessor :weather
def initialize
@weather = We.new
end
end
class Game_Temp
attr_accessor :sw
end
# 更改场景前 记录天气
class Scene_Map
alias call_menu_old call_menu
def call_menu
$game_temp.sw = $scene.spriteset.weather.type
call_menu_old
end
end
# 技能场景
class Scene_Skill
attr_reader :spriteset
alias initialize_old initialize
def initialize(*args)
@spriteset = Sw.new
@spriteset.weather.type = $game_temp.sw
initialize_old(*args)
end
end
# 内部模块
module RPG
# 天气
class Weather
# 当前 天气类型 可读
def type
return @type
end
end
# 特技
class Skill
# 默认天气类型
# 0:无
# 1:雨
# 2:风
# 3:雪
# 威力
def power
# 如果 具有4号属性(水属性)的技能 并且 天气类型为1(雨) 时
if @element_set.include? 4 and $scene.spriteset.weather.type == 1
return @power * 2 # 威力 加强
end
# 如果 具有1号属性(炎属性)的技能 并且 天气类型为1(雨) 时
if @element_set.include? 1 and $scene.spriteset.weather.type == 1
return @power / 2 # 威力 削弱
end