ツクールXPで2000の機能を実現 準備スクリプト 改



ツクールXPで2000の機能を実現 準備スクリプト

改造内容:
・変更点
(製作者の都合などでテストプレイの)途中から仕様変更が入ってもいいように
システム-属性から定義値を自動的に算出している部分を固定値に変更

※このスクリプトの原作者はするめ様です。
 また、本スクリプトの無断転載を禁止します

変更点
まだなし

#----------------------------------------------------------------------------
# ツクールXPで2000の機能を実現 準備スクリプト 改 by 貪藻矢射妥←
#----------------------------------------------------------------------------
# 原作:     ◆ ツクールXPで2000の機能を実現 準備スクリプト ◆
#           ◇ Last update : 2004/08/03 ◇
# 原作者:   するめ様
# HP:       チームするめ
# アドレス: http://surume.s140.xrea.com/
#
# 改造内容:
# ・変更点
#  (製作者の都合などでテストプレイの)途中から仕様変更が入ってもいいように
#  システム-属性から定義値を自動的に算出している部分を固定値に変更
# 
#==============================================================================
# 更新っぽいもの
# まだなし

$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["Tkl_2K_2_XP"] = true

module Tkl2K_2_XP
  # ターンの最初に先制攻撃の属性番号
  FASTEST_MOVE    = 21
  # ターンの一番最後に攻撃の属性番号
  LASTEST_MOVE    = 22
  # 一度に敵全体を攻撃の属性番号
  ALLIZE_ATTACK   = 23
  # 敵の回避率を無視の属性番号
  EVA_IGNORE      = 24
  # 両手武器の属性番号
  TWO_HANDED      = 25
  # 必殺(痛恨の一撃)防止の属性番号
  CRITICAL_CANCEL = 26
  # 敵の物理防御を無視の属性番号
  PDEF_IGNORE     = 53
  # 敵の魔法防御を無視の属性番号
  MDEF_IGNORE     = 54
end

class Game_Battler
  #--------------------------------------------------------------------------
  # ● 属性修正の計算
  #     element_set : 属性
  #--------------------------------------------------------------------------
  def elements_correct(element_set)
    # 無属性の場合
    if element_set == []
      # 100 を返す
      return 100
    end
    # 与えられた属性の中で最も弱いものを返す
    # ※メソッド element_rate は、このクラスから継承される Game_Actor
    #   および Game_Enemy クラスで定義される
    f = false         # 修正はここから
    weakest = -100
    for i in element_set
      # 名称の二文字目までが"無:"なら、属性として計算しない
      if $data_system.elements[i][/^無:/] == nil
        f = true
        weakest = [weakest, self.element_rate(i)].max
      end
    end
    if f == false
      weakest = 100
    end
    return weakest
  end
end

class Game_Actor < Game_Battler
if !$OuterFlgs["Equip_Extend"]
  #--------------------------------------------------------------------------
  # ● 装備品ID一覧取得
  #   多刀流用防具エリアに武器装備フラグリスト やequipで使用するequip_type
  #   と連動するのでIDの配置には注意してください。
  #--------------------------------------------------------------------------
  def get_armors_id_list(actor=nil)
    if actor == nil
      return [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    else
      return [actor.armor1_id, actor.armor2_id, actor.armor3_id, 
              actor.armor4_id]
    end
  end
  
  #--------------------------------------------------------------------------
  # ● 鎧に指定された属性が含まれているか?
  #    アクターの場合
  #--------------------------------------------------------------------------
  def armor_element_include?(element_id)
    list = get_armors_id_list
    for i in 0...list.size
      armor = $data_armors[list[i]]
      if armor != nil && armor.guard_element_set.include?(element_id)
        return true
      end
    end
    
    return false
  end
end #$OuterFlgs["Equip_Extend"]
end

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ● スキルの習得済み判定
  #     skill_id : スキル ID
  #--------------------------------------------------------------------------
  def skill_learn?(skill_id)
    return false
  end
  
if !$OuterFlgs["Equip_Extend"]
  #--------------------------------------------------------------------------
  # ● 鎧に指定された属性が含まれているか?
  #    エネミーの場合は必ずfalse
  #--------------------------------------------------------------------------
  def armor_element_include?(element_id)
    return false
  end
end #$OuterFlgs["Equip_Extend"]
end
〜めも〜 属性として以下を追加してください。 その際『無:』をつけるのを忘れずに そして対応する属性番号をスクリプトで設定してください。
無:ターンの最初に先制攻撃
無:ターンの一番最後に攻撃
無:一度に敵全体を攻撃
無:敵の回避率を無視
無:両手武器
無:必殺防止
無:敵の物理防御を無視
無:敵の魔法防御を無視

戻る