Project1
标题:
文字创意一个,场景技能?状态?★
[打印本页]
作者:
九夜神尊
时间:
2012-7-26 13:35
标题:
文字创意一个,场景技能?状态?★
发在原创技术???
写的脚本呢??
不解释!!!!!!
早就有预谋想写这玩意,一直以为这东西的兼容性那叫1B!!!!
场景技能!
其实是用在战斗中的一种技能!!
这种技能是附加一个状态
(我去!状态?这么老土)
是在场景上附加一个状态。。。
打个比方说:
飓风。
这个飓风可不是一阵,吹过了掉点血就完事,而是一段时间一直在刮风。风停则所有敌人的状态取消,无法单个解除,即使死亡复活,新来的敌人,都会中这个状态。
这么一说大概明白了 吧。
意思就是这个技能使用在战斗场地上,所有在这场地上的人都会受到这个技能(状态 )的影响,解除的话,也只能对场景解除。
当然解除方式可以是回合,解除技能,或者绑定角色等等等等。
总之!估计会增加战斗的趣味性吧!
作者:
紫菜豆腐煲
时间:
2012-7-26 13:58
本帖最后由 紫菜豆腐煲 于 2012-7-28 11:00 编辑
在脚本合集,好像已经有了
#==============================================================================
#
# ▼ Yanfly Engine Ace - Field State Effects v1.00
# -- Last Updated: 2012.01.11
# -- Level: Normal
# -- Requires: n/a
#
#==============================================================================
$imported = {} if $imported.nil?
$imported["YEA-FieldStateEffects"] = true
#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.01.11 - Started Script and Finished.
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Field States are states that are applied to all actors and enemies without
# discrimination. Field states cannot be removed through usual means and can
# only be applied through certain skills and items. Multiple field states can
# be added at once whether side by side or overwriting any previous field
# states. Skills and items can also alter the turns of existing field states.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
# -----------------------------------------------------------------------------
# Skill Notetags - These notetags go in the skill notebox in the database.
# -----------------------------------------------------------------------------
# <add field state: x>
# <add field state: x, x>
# Causes the action to add state x to the field, making it apply to everyone
# and cannot be removed through normal state removal means. Insert multiples of
# this tag to have the action cause multiple field states.
#
# <remove field state: x>
# <remove field state: x, x>
# Causes the action to remove state x from the field. This does not remove
# states that were inflicted normally. Insert multiples of this tag to remove
# multiple field states.
#
# <remove all field states>
# Causes the action to remove all field states. This does not remove states
# that were inflicted normally.
#
# <overwrite field state: x>
# <overwrite field state: x, x>
# Causes the action to remove all field states and then add field states x,
# making it apply to everyone and cannot be removed through normal state
# removal means. Insert multiples of this tag to have the action overwrite and
# add more field states.
#
# <field state x turns: +y>
# <field state x turns: -y>
# Changes the remaining turns on field state x by y amount. If a field state
# is to reach 0 or less turns through this process, the field state is removed.
# This effect does not add turns to field states that weren't inflicted. Insert
# multiples of this tag to adjust multiple field states at once.
#
# <all field state turns: +x>
# <all field state turns: -x>
# Changes the remaining turns on all field states by x amount. If a field state
# is to reach 0 or less turns through this process, the field state is removed.
#
# -----------------------------------------------------------------------------
# Item Notetags - These notetags go in the items notebox in the database.
# -----------------------------------------------------------------------------
# <add field state: x>
# <add field state: x, x>
# Causes the action to add state x to the field, making it apply to everyone
# and cannot be removed through normal state removal means. Insert multiples of
# this tag to have the action cause multiple field states.
#
# <remove field state: x>
# <remove field state: x, x>
# Causes the action to remove state x from the field. This does not remove
# states that were inflicted normally. Insert multiples of this tag to remove
# multiple field states.
#
# <remove all field states>
# Causes the action to remove all field states. This does not remove states
# that were inflicted normally.
#
# <overwrite field state: x>
# <overwrite field state: x, x>
# Causes the action to remove all field states and then add field states x,
# making it apply to everyone and cannot be removed through normal state
# removal means. Insert multiples of this tag to have the action overwrite and
# add more field states.
#
# <field state x turns: +y>
# <field state x turns: -y>
# Changes the remaining turns on field state x by y amount. If a field state
# is to reach 0 or less turns through this process, the field state is removed.
# This effect does not add turns to field states that weren't inflicted. Insert
# multiples of this tag to adjust multiple field states at once.
#
# <all field state turns: +x>
# <all field state turns: -x>
# Changes the remaining turns on all field states by x amount. If a field state
# is to reach 0 or less turns through this process, the field state is removed.
#
# -----------------------------------------------------------------------------
# State Notetags - These notetags go in the states notebox in the database.
# -----------------------------------------------------------------------------
# <field back 1: string>
# <field back 2: string>
# If this state is being used as a field state and this state is the state with
# the highest priority, these notetags will determine the battlebacks used
# while the field state is in effect. If this notetag is not used, there will
# be no changes to the battleback.
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================
module YEA
module FIELD_STATES
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Visual Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# This setting causes a wave effect to play whenever the battlebacks change
# due to field state effects.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WAVE_EFFECT = true # Plays a wave effect when the battleback changes.
end # FIELD_STATES
end # YEA
#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================
module YEA
module REGEXP
module USABLEITEM
ADD_FIELD_STATE =
/<(?:ADD_FIELD_STATE|add field state):[ ](\d+(?:\s*,\s*\d+)*)>/i
REMOVE_FIELD_STATE =
/<(?:REMOVE_FIELD_STATE|remove field state):[ ](\d+(?:\s*,\s*\d+)*)>/i
REMOVE_ALL_FIELD_STATES =
/<(?:REMOVE_ALL_FIELD_STATES|remove all field states)>/i
OVERWRITE_FIELD_STATE =
/<(?:OVERWRITE_FIELD_STATE|OVERWRITE field state):[ ](\d+(?:\s*,\s*\d+)*)>/i
CHANGE_FIELD_STATE_TURN =
/<(?:FIELD state)[ ](\d+)[ ](?:TURN|turns):[ ]([\+\-]\d+)>/i
CHANGE_ALL_FIELD_STATE_TURN =
/<(?:ALL_FIELD_STATE_TURNS|all field state turns):[ ]([\+\-]\d+)>/i
end # USABLEITEM
module STATE
FIELD_BATTLEBACK1 = /<(?:FIELD_BACK1|field back1|field back 1):[ ](.*)>/i
FIELD_BATTLEBACK2 = /<(?:FIELD_BACK2|field back2|field back 2):[ ](.*)>/i
end # STATE
end # REGEXP
end # YEA
#==============================================================================
# ■ DataManager
#==============================================================================
module DataManager
#--------------------------------------------------------------------------
# alias method: load_database
#--------------------------------------------------------------------------
class <<self; alias load_database_fse load_database; end
def self.load_database
load_database_fse
load_notetags_fse
end
#--------------------------------------------------------------------------
# new method: load_notetags_fse
#--------------------------------------------------------------------------
def self.load_notetags_fse
groups = [$data_skills, $data_items, $data_states]
for group in groups
for obj in group
next if obj.nil?
obj.load_notetags_fse
end
end
end
end # DataManager
#==============================================================================
# ■ RPG::UsableItem
#==============================================================================
class RPG::UsableItem < RPG::BaseItem
#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :add_field_state
attr_accessor :remove_field_state
attr_accessor :remove_all_field_states
attr_accessor :change_field_state_turns
#--------------------------------------------------------------------------
# common cache: load_notetags_fse
#--------------------------------------------------------------------------
def load_notetags_fse
@add_field_state = []
@remove_field_state = []
@remove_all_field_states = false
@change_field_state_turns = {}
#---
self.note.split(/[\r\n]+/).each { |line|
case line
#---
when YEA::REGEXP::USABLEITEM::ADD_FIELD_STATE
$1.scan(/\d+/).each { |num|
@add_field_state.push(num.to_i) if num.to_i > 0 }
when YEA::REGEXP::USABLEITEM::REMOVE_FIELD_STATE
$1.scan(/\d+/).each { |num|
@remove_field_state.push(num.to_i) if num.to_i > 0 }
when YEA::REGEXP::USABLEITEM::REMOVE_ALL_FIELD_STATES
@remove_all_field_states = true
when YEA::REGEXP::USABLEITEM::OVERWRITE_FIELD_STATE
@remove_all_field_states = true
$1.scan(/\d+/).each { |num|
@add_field_state.push(num.to_i) if num.to_i > 0 }
when YEA::REGEXP::USABLEITEM::CHANGE_FIELD_STATE_TURN
@change_field_state_turns[$1.to_i] = $2.to_i
when YEA::REGEXP::USABLEITEM::CHANGE_ALL_FIELD_STATE_TURN
for i in 1...$data_states.size
@change_field_state_turns[i] = $1.to_i
end
end
} # self.note.split
#---
end
end # class RPG::UsableItem
#==============================================================================
# ■ RPG::State
#==============================================================================
class RPG::State < RPG::BaseItem
#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :field_battlebacks
#--------------------------------------------------------------------------
# common cache: load_notetags_fse
#--------------------------------------------------------------------------
def load_notetags_fse
@field_battlebacks = ["", ""]
#---
self.note.split(/[\r\n]+/).each { |line|
case line
#---
when YEA::REGEXP::STATE::FIELD_BATTLEBACK1
@field_battlebacks[0] = $1.to_s
when YEA::REGEXP::STATE::FIELD_BATTLEBACK2
@field_battlebacks[1] = $1.to_s
end
} # self.note.split
#---
end
end # RPG::State
#==============================================================================
# ■ BattleManager
#==============================================================================
module BattleManager
#--------------------------------------------------------------------------
# alias method: init_members
#--------------------------------------------------------------------------
class <<self; alias battlemanager_init_members_fse init_members; end
def self.init_members
battlemanager_init_members_fse
clear_field_states
end
#--------------------------------------------------------------------------
# new method: field_states
#--------------------------------------------------------------------------
def self.field_states
return @field_states.collect {|id| $data_states[id] }
end
#--------------------------------------------------------------------------
# new method: field_state_turns
#--------------------------------------------------------------------------
def self.field_state_turns(state_id)
return @field_state_turns[state_id]
end
#--------------------------------------------------------------------------
# new method: field_state?
#--------------------------------------------------------------------------
def self.field_state?(state_id)
return @field_states.include?(state_id)
end
#--------------------------------------------------------------------------
# new method: sort_field_states
#--------------------------------------------------------------------------
def self.sort_field_states
@field_states = @field_states.sort_by { |id|
[-$data_states[id].priority, id] }
set_field_battlebacks
set_field_state_icons
end
#--------------------------------------------------------------------------
# new method: clear_field_states
#--------------------------------------------------------------------------
def self.clear_field_states
@field_states = []
@field_state_turns = {}
@field_state_battleback = ["", ""]
@field_state_icons = []
end
#--------------------------------------------------------------------------
# new method: add_field_state
#--------------------------------------------------------------------------
def self.add_field_state(state_id)
return if $data_states[state_id].nil?
return if @field_states.include?(state_id)
@field_states.push(state_id)
state = $data_states[state_id]
variance = 1 + [state.max_turns - state.min_turns, 0].max
@field_state_turns[state_id] = state.min_turns + rand(variance)
sort_field_states
end
#--------------------------------------------------------------------------
# new method: remove_field_state
#--------------------------------------------------------------------------
def self.remove_field_state(state_id)
return if $data_states[state_id].nil?
return unless @field_states.include?(state_id)
@field_states.delete(state_id)
@field_state_turns.delete(state_id)
sort_field_states
end
#--------------------------------------------------------------------------
# new method: change_field_state_turns
#--------------------------------------------------------------------------
def self.change_field_state_turns(state_id, value)
return unless field_state?(state_id)
state_id = state_id.id if state_id.is_a?(RPG::State)
return if $data_states[state_id].auto_removal_timing <= 0
@field_state_turns[state_id] = 0 if @field_state_turns[state_id].nil?
@field_state_turns[state_id] = [value, 0].max
remove_field_state(state_id) if @field_state_turns[state_id] <= 0
end
#--------------------------------------------------------------------------
# alias method: turn_end
#--------------------------------------------------------------------------
class <<self; alias battlemanager_turn_end_fse turn_end; end
def self.turn_end
battlemanager_turn_end_fse
update_field_states
remove_field_states_auto
end
#--------------------------------------------------------------------------
# new method: update_field_states
#--------------------------------------------------------------------------
def self.update_field_states
for state_id in @field_states
next unless @field_state_turns[state_id] > 0
@field_state_turns[state_id] -= 1
end
end
#--------------------------------------------------------------------------
# new method: remove_field_states_auto
#--------------------------------------------------------------------------
def self.remove_field_states_auto
for state_id in @field_states
next if $data_states[state_id].auto_removal_timing <= 0
remove_field_state(state_id) if @field_state_turns[state_id] <= 0
end
end
#--------------------------------------------------------------------------
# new method: field_battlebacks
#--------------------------------------------------------------------------
def self.field_battlebacks
return @field_state_battleback
end
#--------------------------------------------------------------------------
# new method: set_field_battlebacks
#--------------------------------------------------------------------------
def self.set_field_battlebacks
@field_state_battleback = ["", ""]
for state in field_states
next if state.field_battlebacks == ["", ""]
@field_state_battleback = state.field_battlebacks
return
end
end
#--------------------------------------------------------------------------
# new method: field_state_icons
#--------------------------------------------------------------------------
def self.field_state_icons
return @field_state_icons
end
#--------------------------------------------------------------------------
# new method: set_field_state_icons
#--------------------------------------------------------------------------
def self.set_field_state_icons
icons = field_states.collect {|state| state.icon_index }
icons.delete(0)
@field_state_icons = icons
end
end # BattleManager
#==============================================================================
# ■ Game_BattlerBase
#==============================================================================
class Game_BattlerBase
#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :anti_field_states
#--------------------------------------------------------------------------
# alias method: states
#--------------------------------------------------------------------------
alias game_battlerbase_states_fse states
def states
result = game_battlerbase_states_fse
result |= field_states unless @anti_field_states
return result
end
#--------------------------------------------------------------------------
# new method: field_states
#--------------------------------------------------------------------------
def field_states
return [] unless SceneManager.scene_is?(Scene_Battle)
return BattleManager.field_states
end
#--------------------------------------------------------------------------
# alias method: state?
#--------------------------------------------------------------------------
alias game_battlerbase_state_fse state?
def state?(state_id)
return true if field_states.include?($data_states[state_id])
return game_battlerbase_state_fse(state_id)
end
end # Game_BattlerBase
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# alias method: item_apply
#--------------------------------------------------------------------------
alias game_battler_item_apply_fse item_apply
def item_apply(user, item)
game_battler_item_apply_fse(user, item)
apply_field_state_effect(item)
end
#--------------------------------------------------------------------------
# new method: apply_field_state_effect
#--------------------------------------------------------------------------
def apply_field_state_effect(item)
return if item.nil?
return unless $game_party.in_battle
return unless SceneManager.scene_is?(Scene_Battle)
return @result.success = true if item.add_field_state != []
return @result.success = true if item.remove_field_state != []
return @result.success = true if item.remove_all_field_states
for key in item.change_field_state_turns
return @result.success = true if BattleManager.field_state?(key[0])
end
end
#--------------------------------------------------------------------------
# alias method: on_restrict
#--------------------------------------------------------------------------
alias game_battler_on_restrict_fse on_restrict
def on_restrict
@anti_field_states = true
game_battler_on_restrict_fse
@anti_field_states = nil
end
#--------------------------------------------------------------------------
# alias method: update_state_turns
#--------------------------------------------------------------------------
alias game_battler_update_state_turns_fse update_state_turns
def update_state_turns
@anti_field_states = true
game_battler_update_state_turns_fse
@anti_field_states = nil
end
#--------------------------------------------------------------------------
# alias method: remove_battle_states
#--------------------------------------------------------------------------
alias game_battler_remove_battle_states_fse remove_battle_states
def remove_battle_states
@anti_field_states = true
game_battler_remove_battle_states_fse
@anti_field_states = nil
end
#--------------------------------------------------------------------------
# alias method: remove_states_auto
#--------------------------------------------------------------------------
alias game_battler_remove_states_auto_fse remove_states_auto
def remove_states_auto(timing)
@anti_field_states = true
game_battler_remove_states_auto_fse(timing)
@anti_field_states = nil
end
#--------------------------------------------------------------------------
# alias method: remove_states_by_damage
#--------------------------------------------------------------------------
alias game_battler_remove_states_by_damage_fse remove_states_by_damage
def remove_states_by_damage
@anti_field_states = true
game_battler_remove_states_by_damage_fse
@anti_field_states = nil
end
end # Game_Battler
#==============================================================================
# ■ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# alias method: create_viewports
#--------------------------------------------------------------------------
alias spriteset_battle_create_viewports_fse create_viewports
def create_viewports
spriteset_battle_create_viewports_fse
create_field_state_effect
end
#--------------------------------------------------------------------------
# new method: create_field_state_effect
#--------------------------------------------------------------------------
def create_field_state_effect
@field_state_battleback = ["", ""]
@field_state_effect_sprite1 = Sprite.new(@viewport1)
@field_state_effect_sprite1.bitmap = Bitmap.new(640, 480)
@field_state_effect_sprite1.opacity = 0
@field_state_effect_sprite1.z = 3
@field_state_effect_sprite2 = Sprite.new(@viewport1)
@field_state_effect_sprite2.bitmap = Bitmap.new(640, 480)
@field_state_effect_sprite2.opacity = 0
@field_state_effect_sprite2.z = 4
end
#--------------------------------------------------------------------------
# alias method: dispose
#--------------------------------------------------------------------------
alias spriteset_battle_dispose_fse dispose
def dispose
dispose_field_state_effect
spriteset_battle_dispose_fse
end
#--------------------------------------------------------------------------
# new method: dispose_field_state_effect
#--------------------------------------------------------------------------
def dispose_field_state_effect
@field_state_effect_sprite1.bitmap.dispose
@field_state_effect_sprite1.dispose
@field_state_effect_sprite2.bitmap.dispose
@field_state_effect_sprite2.dispose
end
#--------------------------------------------------------------------------
# alias method: update
#--------------------------------------------------------------------------
alias spriteset_battle_update_fse update
def update
update_field_state_effect
spriteset_battle_update_fse
end
#--------------------------------------------------------------------------
# new method: update_field_state_effect
#--------------------------------------------------------------------------
def update_field_state_effect
update_field_battleback_images
update_field_battleback_opacity
#---
@field_state_effect_sprite1.update
@field_state_effect_sprite2.update
end
#--------------------------------------------------------------------------
# new method: update_field_battleback_images
#--------------------------------------------------------------------------
def update_field_battleback_images
return if @field_state_battleback == BattleManager.field_battlebacks
@field_state_battleback = BattleManager.field_battlebacks.clone
change_field_battleback_images
end
#--------------------------------------------------------------------------
# new method: change_field_battleback_images
#--------------------------------------------------------------------------
def change_field_battleback_images
#---
@field_state_effect_sprite1.bitmap.dispose
@field_state_effect_sprite1.bitmap = @back1_sprite.bitmap.clone
@field_state_effect_sprite1.opacity = 255
@field_state_effect_sprite1.wave_amp = 0
center_sprite(@field_state_effect_sprite1)
#---
@field_state_effect_sprite2.bitmap.dispose
@field_state_effect_sprite2.bitmap = @back2_sprite.bitmap.clone
@field_state_effect_sprite2.opacity = 255
@field_state_effect_sprite2.wave_amp = 0
center_sprite(@field_state_effect_sprite2)
#---
if YEA::FIELD_STATES::WAVE_EFFECT
@field_state_effect_sprite1.wave_amp = 16
@field_state_effect_sprite2.wave_amp = 16
end
#---
@back1_sprite.bitmap.dispose
@back2_sprite.bitmap.dispose
if BattleManager.field_battlebacks == ["", ""]
bb1 = battleback1_bitmap
bb2 = battleback2_bitmap
else
bb1 = Cache.battleback1(BattleManager.field_battlebacks[0])
bb2 = Cache.battleback2(BattleManager.field_battlebacks[1])
end
@back1_sprite.bitmap = bb1
@back2_sprite.bitmap = bb2
center_sprite(@back1_sprite)
center_sprite(@back2_sprite)
end
#--------------------------------------------------------------------------
# new method: update_field_battleback_opacity
#--------------------------------------------------------------------------
def update_field_battleback_opacity
return if @field_state_effect_sprite1.opacity <= 0
@field_state_effect_sprite1.opacity -= 1
@field_state_effect_sprite2.opacity -= 1
end
end # Spriteset_Battle
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# alias method: use_item
#--------------------------------------------------------------------------
alias scene_battle_use_item_fse use_item
def use_item
item = @subject.current_action.item
scene_battle_use_item_fse
apply_field_state_effects(item)
end
#--------------------------------------------------------------------------
# new method: apply_field_state_effects
#--------------------------------------------------------------------------
def apply_field_state_effects(item)
return if item.nil?
remove_all_field_state_effects(item)
remove_field_state_effects(item)
add_field_state_effects(item)
change_field_state_turns(item)
refresh_all_battlers
end
#--------------------------------------------------------------------------
# new method: remove_all_field_state_effects
#--------------------------------------------------------------------------
def remove_all_field_state_effects(item)
return unless item.remove_all_field_states
BattleManager.clear_field_states
end
#--------------------------------------------------------------------------
# new method: remove_field_state_effects
#--------------------------------------------------------------------------
def remove_field_state_effects(item)
return if BattleManager.field_states == []
return if item.remove_field_state == []
for state_id in item.remove_field_state
BattleManager.remove_field_state(state_id)
end
end
#--------------------------------------------------------------------------
# new method: add_field_state_effects
#--------------------------------------------------------------------------
def add_field_state_effects(item)
return if item.add_field_state == []
for state_id in item.add_field_state
BattleManager.add_field_state(state_id)
end
end
#--------------------------------------------------------------------------
# new method: change_field_state_turns
#--------------------------------------------------------------------------
def change_field_state_turns(item)
return if item.change_field_state_turns == {}
for key in item.change_field_state_turns
state_id = key[0]
next unless BattleManager.field_state?(state_id)
next unless $data_states[state_id].auto_removal_timing > 0
turns = BattleManager.field_state_turns(state_id)
BattleManager.change_field_state_turns(state_id, turns + key[1])
end
end
#--------------------------------------------------------------------------
# new method: change_field_state_turns
#--------------------------------------------------------------------------
def refresh_all_battlers
all_battle_members.each { |battler| battler.refresh }
@status_window.refresh
end
end # Scene_Battle
#==============================================================================
#
# ▼ End of File
#
#==============================================================================
复制代码
地球村
http://rpg.blue/thread-225130-1-1.html
作者:
后知后觉
时间:
2012-7-26 14:04
在梦幻西游里分白天和晚上.
在白天的时候所有人的攻击力都是100%
晚上的时候所有人(带夜战技能的除外)的攻击力都是70%.
梦幻西游是2000年还是2001年的游戏.
再说个比较老的.上个世纪90年代的FC平台的《吞食天地2》
免击计.使用后敌方全体无法普通物理攻击.
免策计.敌方全体无法使用谋略.
特殊环境.火.每回合结束时全体被火烧.诸葛亮用六甲天书解除该状况.
作者:
alann
时间:
2012-7-26 15:43
口袋的天气系统么?
不同的天气对不同的pm影响也不一样。
当然也可以下一场暴雷雨,
每回合随机有一个人被雷电伤害,
全体水系攻击力增加,
全体视野降低,命中率减少之类的
作者:
Kimu
时间:
2012-7-27 09:23
本帖最后由 Kimu 于 2012-7-27 09:24 编辑
场景(天气,场地)技能如果只是统一放地图炮也没多少意思,最好还是和PM学不同对象不同效果
在我的坑里面是作为最常用的增加魔法(暂且这么叫)的每回合回复效果的技能
作者:
562305484
时间:
2012-9-1 12:02
好东西,我也一直在想在战斗中能有种持续性的阵法技能类似DNF鬼泣的阵谢谢我回去试试
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1