设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1734|回复: 0
打印 上一主题 下一主题

游戏常数设置

[复制链接]

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

跳转到指定楼层
1
发表于 2014-9-14 14:40:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 taroxd 于 2015-2-4 15:17 编辑

脚本兼容性很差,因此建议放在仅次于基础设置的位置上

RUBY 代码复制
  1. #----------------------------------------------------------------------------
  2. # ● require Taroxd基础设置
  3. #    游戏常数设置
  4. #----------------------------------------------------------------------------
  5.  
  6. module Taroxd::Const
  7.  
  8.   # 游戏常数设置区域(如果要用默认值,可以设置为 false 或直接删除)
  9.  
  10.   SAVEFILE_MAX = 16               # 存档文件的最大个数
  11.   ESCAPE_RATIO_UP = 0.1           # 撤退失败后,撤退成功率提升值
  12.   MAX_TP = 100                    # TP 的最大值
  13.   ATTACK_SKILL_ID = 1             # 默认攻击技能 ID
  14.   GUARD_SKILL_ID = 2              # 默认防御技能 ID
  15.   DEATH_STATE_ID = 1              # 默认死亡状态 ID
  16.   PARAM_LIMIT = 999999            # 能力值的最大值
  17.   PRESERVE_TP = false             # 是否永远特技专注
  18.   LUK_EFFECT_RATE = 0.001         # 幸运值影响程度
  19.   CRITICAL_RATE = 3               # 关键一击伤害倍率
  20.   STEPS_FOR_RUN = 20              # 地图上多少步等于一回合
  21.   BASIC_FLOOR_DAMAGE = 10         # 地形伤害的基础值
  22.   MAX_BATTLE_MEMBERS = 4          # 参战角色的最大数
  23.   MAX_GOLD = 99999999             # 持有金钱的最大值
  24.   MAX_ITEM_NUMBER = 99            # 物品的最大持有数
  25.   BUSH_DEPTH = 8                  # 流体地形的深度
  26.   BUSH_OPACITY = 128              # 流体地形的不透明度
  27.   PLAYER_INITIAL_DIRECTION = 2    # 角色初始朝向
  28.   SUBSTITUTE_HP_RATE = 0.25       # HP 比率达到多少以下会触发保护弱者
  29.   Font.default_name = 'nsimsun'   # 默认字体名称
  30.   Font.default_size = 24          # 默认字体大小
  31.  
  32.   def self.[](sym)
  33.     const_defined?(sym, false) && const_get(sym)
  34.   end
  35. end
  36.  
  37. def DataManager.savefile_max
  38.   Taroxd::Const::SAVEFILE_MAX
  39. end if Taroxd::Const[:SAVEFILE_MAX]
  40.  
  41. def BattleManager.process_escape
  42.   $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
  43.   success = @preemptive ? true : (rand < @escape_ratio)
  44.   Sound.play_escape
  45.   if success
  46.     process_abort
  47.   else
  48.     @escape_ratio += Taroxd::Const::ESCAPE_RATIO_UP
  49.     $game_message.add('\.' + Vocab::EscapeFailure)
  50.     $game_party.clear_actions
  51.   end
  52.   wait_for_message
  53.   success
  54. end if Taroxd::Const[:ESCAPE_RATIO_UP]
  55.  
  56. class Game_BattlerBase
  57.  
  58.   def max_tp
  59.     Taroxd::Const::MAX_TP
  60.   end if Taroxd::Const[:MAX_TP]
  61.  
  62.   def attack_skill_id
  63.     Taroxd::Const::ATTACK_SKILL_ID
  64.   end if Taroxd::Const[:ATTACK_SKILL_ID]
  65.  
  66.   def guard_skill_id
  67.     Taroxd::Const::GUARD_SKILL_ID
  68.   end if Taroxd::Const[:GUARD_SKILL_ID]
  69.  
  70.   def death_state_id
  71.     Taroxd::Const::DEATH_STATE_ID
  72.   end if Taroxd::Const[:DEATH_STATE_ID]
  73.  
  74.   def param_min(_)
  75.     0
  76.   end if Taroxd::Const[:PARAM_LIMIT]
  77.  
  78.   def param_max(_)
  79.     Taroxd::Const::PARAM_LIMIT
  80.   end if Taroxd::Const[:PARAM_LIMIT]
  81.  
  82.   def preserve_tp?
  83.     true
  84.   end if Taroxd::Const[:PRESERVE_TP]
  85. end
  86.  
  87. class Game_Battler < Game_BattlerBase
  88.  
  89.   def luk_effect_rate(user)
  90.     [1.0 + (user.luk - luk) * Taroxd::Const::LUK_EFFECT_RATE, 0.0].max
  91.   end if Taroxd::Const[:LUK_EFFECT_RATE]
  92.  
  93.   def apply_critical(damage)
  94.     damage * Taroxd::Const::CRITICAL_RATE
  95.   end if Taroxd::Const[:CRITICAL_RATE]
  96. end
  97.  
  98. class Game_Actor < Game_Battler
  99.  
  100.   remove_method :param_max if Taroxd::Const[:PARAM_LIMIT]
  101.  
  102.   def steps_for_turn
  103.     Taroxd::Const::STEPS_FOR_RUN
  104.   end if Taroxd::Const[:STEPS_FOR_RUN]
  105.  
  106.   def basic_floor_damage
  107.     Taroxd::Const::BASIC_FLOOR_DAMAGE
  108.   end if Taroxd::Const[:BASIC_FLOOR_DAMAGE]
  109. end
  110.  
  111. class Game_Party < Game_Unit
  112.  
  113.   def max_battle_members
  114.     Taroxd::Const::MAX_BATTLE_MEMBERS
  115.   end if Taroxd::Const[:MAX_BATTLE_MEMBERS]
  116.  
  117.   def max_gold
  118.     Taroxd::Const::MAX_GOLD
  119.   end if Taroxd::Const[:MAX_GOLD]
  120.  
  121.   def max_item_number(_)
  122.     Taroxd::Const::MAX_ITEM_NUMBER
  123.   end if Taroxd::Const[:MAX_ITEM_NUMBER]
  124. end
  125.  
  126. class Game_CharacterBase
  127.  
  128.   def update_bush_depth
  129.     if normal_priority? && !object_character? && bush? && !jumping?
  130.       @bush_depth = Taroxd::Const::BUSH_DEPTH unless moving?
  131.     else
  132.       @bush_depth = 0
  133.     end
  134.   end if Taroxd::Const[:BUSH_DEPTH]
  135. end
  136.  
  137. class Sprite_Character < Sprite_Base
  138.  
  139.   def_after :initialize do |_, _ = nil|
  140.     self.bush_opacity = Taroxd::Const::BUSH_OPACITY
  141.   end if Taroxd::Const[:BUSH_OPACITY]
  142. end
  143.  
  144. class Game_Player < Game_Character
  145.  
  146.   def_after :initialize do
  147.     @direction = Taroxd::Const::PLAYER_INITIAL_DIRECTION
  148.   end if Taroxd::Const[:PLAYER_INITIAL_DIRECTION]
  149. end
  150.  
  151. class Scene_Battle < Scene_Base
  152.  
  153.   def check_substitute(target, item)
  154.     target.hp_rate < Taroxd::Const::SUBSTITUTE_HP_RATE &&
  155.       (!item || !item.certain?)
  156.   end if Taroxd::Const[:SUBSTITUTE_HP_RATE]
  157. end
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 05:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表