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

Project1

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

[已经解决] 请教:关于ACE的一些术语什么的注解

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2013-10-24
帖子
30
跳转到指定楼层
1
发表于 2013-11-2 15:50:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
接触一个性格脚本
里面一些东西看不懂,希望大神能指教

比如下面代码中
        :preserve_tp
        :init_tp   
        :regen_tp   
        :take_hp_dmg
        :deal_hp_dmg
        :heal_hp_dmg
        :ally_hp_dmg
        :take_mp_dmg
        :deal_mp_dmg
        :heal_mp_dmg
        :ally_mp_dmg
        :deal_state
        :gain_state
        :kill_ally  
        :kill_enemy
        :win_battle
        :flee_battle
        :lose_battle
        :low_hp_turn
        :low_mp_turn
        :only_alive  
        :evasion   
这些单词的含义

可以的话 请注释下面的代码。谢谢
  1.     # -------------------------------------------------------------------------
  2.       1 => { # New TP mode!
  3.       # :setting     => Adjust settings as you see fit.
  4.         :name        => "难友",
  5.         :icon        => 122,
  6.         :description => "每当同伴受伤都增加TP.",
  7.         :preserve_tp => true,
  8.         :init_tp     => "0",
  9.         :regen_tp    => "0",
  10.         :take_hp_dmg => "0",
  11.         :deal_hp_dmg => "0",
  12.         :heal_hp_dmg => "0",
  13.         :ally_hp_dmg => "20 * tcr",
  14.         :take_mp_dmg => "0",
  15.         :deal_mp_dmg => "0",
  16.         :heal_mp_dmg => "0",
  17.         :ally_mp_dmg => "0",
  18.         :deal_state  => "0",
  19.         :gain_state  => "0",
  20.         :kill_ally   => "0",
  21.         :kill_enemy  => "0",
  22.         :win_battle  => "0",
  23.         :flee_battle => "0",
  24.         :lose_battle => "0",
  25.         :low_hp_turn => "0",
  26.         :low_mp_turn => "0",
  27.         :only_alive  => "0",
  28.         :evasion     => "0",
  29.       }, # Do not remove this.
  30.     # -------------------------------------------------------------------------
复制代码

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

2
发表于 2013-11-2 16:08:02 | 只看该作者
目测是脚本内用的,如果不给全的话很难了解什么意思
【目测是yanfly的TP Manager
  1.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  2.     # - TP Modes -
  3.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  4.     # TP modes have a number of things that can change the way actors gain TP.
  5.     # Adjust the settings below to change how much gain and loss incurs per
  6.     # each of the different actions.
  7.     #
  8.     # Setting        Description
  9.     # -------------------------------------------------------------------------
  10.     # - :name        - Name that appears in the TP Mode menu.
  11.     # - :icon        - Icon used for the TP Mode menu.
  12.     # - :description - Help window description. Use \n for line breaks.
  13.     # - :preserve_tp - Carry over TP from last battle to next battle?
  14.     # - :init_tp     - TP at the start of each battle if no TP preservation.
  15.     # - :regen_tp    - TP regenerated each turn. Uses a formula.
  16.     # - :take_hp_dmg - TP charged by receiving HP damage. Uses a formula.
  17.     # - :deal_hp_dmg - TP gained by dealing HP damage. Uses a formula.
  18.     # - :heal_hp_dmg - TP gained through healing HP damage. Uses a formula.
  19.     # - :ally_hp_dmg - TP gained when allies take HP damage. Uses a formula.
  20.     # - :take_mp_dmg - TP charged by receiving MP damage. Uses a formula.
  21.     # - :deal_mp_dmg - TP gained by dealing MP damage. Uses a formula.
  22.     # - :heal_mp_dmg - TP gained through healing MP damage. Uses a formula.
  23.     # - :ally_mp_dmg - TP gained when allies take MP damage. Uses a formula.
  24.     # - :deal_state  - TP gained when user inflicts a state to a foe. Formula.
  25.     # - :gain_state  - TP gained when user gains a state from a foe. Formula.
  26.     # - :kill_ally   - TP gained when an ally is killed. Uses a formula.
  27.     # - :kill_enemy  - TP gained when killing an enemy. Uses a formula.
  28.     # - :win_battle  - TP gained whenever a battle is won. Uses a formula.
  29.     # - :flee_battle - TP gained whenever party escapes. Uses a formula.
  30.     # - :lose_battle - TP gained whenever a battle is lost. Uses a formula.
  31.     # - :low_hp_turn - TP gained at the end of a turn with user at low HP.
  32.     # - :low_mp_turn - TP gained at the end of a turn with user at low MP.
  33.     # - :only_ally   - TP gained when user is only ally alive.
  34.     # - :evasion     - TP gained when user evades an attack.
  35.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
复制代码
这里都有内置介绍的,英文不懂就用翻译】
最后想和楼主说一句,插件脚本的问题最好附上整个脚本,不然世界这么大你叫我上哪找去?这是你用的脚本比较有影响力,换别的脚本谁也没辙
而且只节选部分发表很容易让你看上去很自私,没礼貌,所以我不怎么想给你翻译
萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21609
在线时间
9412 小时
注册时间
2012-6-19
帖子
7117

开拓者短篇九导演组冠军

3
发表于 2013-11-2 16:54:25 | 只看该作者
你给的这些不是术语,是脚本作者自己给自己的变量常量定义的名字,你直接给出来谁看的懂啊……
这些东西的解释在脚本的注释中肯定有给
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2013-10-24
帖子
30
4
 楼主| 发表于 2013-11-2 20:14:36 | 只看该作者
本帖最后由 76213585 于 2013-11-2 11:27 编辑

完整脚本如下  用英文翻译确实蛋疼得紧
RUBY 代码复制
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - TP Manager v1.02
  4. # -- Last Updated: 2011.12.10
  5. # -- Level: Hard
  6. # -- Requires: n/a
  7. #
  8. #==============================================================================
  9.  
  10. $imported = {} if $imported.nil?
  11. $imported["YEA-TPManager"] = true
  12.  
  13. #==============================================================================
  14. # ▼ Updates
  15. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  16. # 2011.12.10 - Added <tp cost: x> notetag.
  17. # 2011.12.06 - Fixed an error in one of the formulas.
  18. # 2011.12.05 - Started Script and Finished.
  19. #
  20. #==============================================================================
  21. # ▼ Introduction
  22. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  23. # The TP system in RPG Maker VX Ace is actually rather limiting. A lot of the
  24. # system is hardcoded in giving Ace users very little control over how much TP
  25. # gain a battler can receive from particular actions and situations. This
  26. # script gives you the ability to adjust how much TP actors will acquire from
  27. # various actions, different TP modes, and letting players select and pick what
  28. # TP mode they want for each actor (akin to Final Fantasy X).
  29. #
  30. #==============================================================================
  31. # ▼ Instructions
  32. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  33. # To install this script, open up your script editor and copy/paste this script
  34. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  35. #
  36. # -----------------------------------------------------------------------------
  37. # Actor Notetags - These notetags go in the actors notebox in the database.
  38. # -----------------------------------------------------------------------------
  39. # <tp mode: x>
  40. # This sets the actor's default TP mode to x. If this tag isn't used, the
  41. # default TP mode will be set to whatever the module uses as default.
  42. #
  43. # <unlock tp: x>
  44. # <unlock tp: x, x>
  45. # This unlocks what TP modes the actor can use by default. If this tag isn't
  46. # used, the default unlocked TP modes will be whatever the module uses.
  47. #
  48. # -----------------------------------------------------------------------------
  49. # Item Notetags - These notetags go in the item notebox in the database.
  50. # -----------------------------------------------------------------------------
  51. # <unlock tp: x>
  52. # <unlock tp: x, x>
  53. # When this item is used upon an actor, that actor will learn TP Mode(s) x,
  54. # making it available to change in the TP Menu.
  55. #
  56. # -----------------------------------------------------------------------------
  57. # Skill Notetags - These notetags go in the skill notebox in the database.
  58. # -----------------------------------------------------------------------------
  59. # <unlock tp: x>
  60. # <unlock tp: x, x>
  61. # When this skill targets an actor, that actor will learn TP Mode(s) x thus,
  62. # making it available to change in the TP Menu.
  63. #
  64. # <learn unlock tp: x>
  65. # <learn unlock tp: x, x>
  66. # When an actor learns a skill with this notetag, that actor will learn
  67. # TP Mode(s) x making it available to change in the TP Menu.
  68. #
  69. # <tp cost: x>
  70. # When this notetag appears in a skill's notebox, the TP cost for that skill
  71. # becomes x. This notetag allows TP costs to surpass 100 TP, which is the max
  72. # TP cost in the RPG Maker VX Ace database editor.
  73. #
  74. # -----------------------------------------------------------------------------
  75. # Enemy Notetags - These notetags go in the enemy notebox in the database.
  76. # -----------------------------------------------------------------------------
  77. # <tp mode: x>
  78. # This sets the enemy's default TP mode to x. If this tag isn't used, the
  79. # default TP mode will be set to whatever the module uses as default.
  80. #
  81. # -----------------------------------------------------------------------------
  82. # Script Calls - These commands are used with script calls.
  83. # -----------------------------------------------------------------------------
  84. # change_tp_mode(x, y)
  85. # Replace x with the ID of the actor you want to change to the TP Mode y. This
  86. # will also unlock the TP mode for the actor, and make it available under the
  87. # skill menu for changing.
  88. #
  89. # unlock_tp_mode(x, y)
  90. # Replace x with the ID of the actor you want to learn for the TP Mode y. This
  91. # will cause the actor to learn the TP mode and have it accessible in the skill
  92. # menu for changing.
  93. #
  94. # remove_tp_mode(x, y)
  95. # Replace x with the ID of the actor you want to remove the TP Mode y. This
  96. # will cause the actor to forget the TP mode and no longer have it accessible
  97. # through the skill menu for changing.
  98. #
  99. # unlock_all_tp_modes(x)
  100. # Replace x with the ID of the actor you want to unlock all TP modes for. This
  101. # will make all the TP modes available to the actor from the skill menu.
  102. #
  103. # remove_all_tp_modes(x)
  104. # Removes all TP modes for actor x except for the actor's default TP mode.
  105. # This removes all TP modes from being available in the actor's skill menu.
  106. #
  107. #==============================================================================
  108. # ▼ Compatibility
  109. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  110. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  111. # it will run with RPG Maker VX without adjusting.
  112. #
  113. #==============================================================================
  114.  
  115. module YEA
  116.   module TP_MANAGER
  117.  
  118.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  119.     # - General TP Settings -
  120.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  121.     # Here, you can adjust global settings for TP including the maximum TP,
  122.     # whether or not you want the player to change TP modes, and more.
  123.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  124.     TP_LIMIT  = 100         # Sets the maximum TP. Default: 100
  125.     DEFAULT_TP_MODE = 0            # This is the TP mode everybody starts with
  126.                                    # unless changed through notetags.
  127.     DEFAULT_UNLOCKS = [0, 1, 2, 3,4,5,6,7,8,9,10,11,12,13,14,15,]
  128.     # These modes are unlocked for all actors
  129.                                    # unless changed through notetags.
  130.     LOW_HP = 0.25           # Percent for what is considered low HP.
  131.     LOW_MP = 0.25           # Percent for what is considered low MP.
  132.  
  133.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  134.     # - TP Mode Change Settings -
  135.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  136.     # Adjust the settings here for TP Mode Menu related items. Also, be sure
  137.     # to bind the TP_MODE_SWITCH to a switch ID. If that switch is on, the
  138.     # TP Mode item will appear in the skill menu. If off, it won't appear.
  139.     # If you set it to 0, then TP mode will always be enabled.
  140.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  141.     MENU_NAME = "性格"   # The displayed name for the TP Menu.
  142.     TP_MODE_SWITCH  = 0     # Switch ID used for enabling TP Mode menu.
  143.     DEFAULT_ENABLE  = true  # Enable switch by default?
  144.     CHANGE_TP_RESET = true  # Reset TP to 0 whenever a mode is changed?
  145.     EQUIPPED_COLOUR = 17    # Window text colour used for equipped TP mode.
  146.  
  147.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  148.     # - TP Modes -
  149.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  150.     # TP modes have a number of things that can change the way actors gain TP.
  151.     # Adjust the settings below to change how much gain and loss incurs per
  152.     # each of the different actions.
  153.     #
  154.     # Setting        Description
  155.     # -------------------------------------------------------------------------
  156.     # - :name        - Name that appears in the TP Mode menu.
  157.     # - :icon        - Icon used for the TP Mode menu.
  158.     # - :description - Help window description. Use \n for line breaks.
  159.     # - :preserve_tp - Carry over TP from last battle to next battle?
  160.     # - :init_tp     - TP at the start of each battle if no TP preservation.
  161.     # - :regen_tp    - TP regenerated each turn. Uses a formula.
  162.     # - :take_hp_dmg - TP charged by receiving HP damage. Uses a formula.
  163.     # - :deal_hp_dmg - TP gained by dealing HP damage. Uses a formula.
  164.     # - :heal_hp_dmg - TP gained through healing HP damage. Uses a formula.
  165.     # - :ally_hp_dmg - TP gained when allies take HP damage. Uses a formula.
  166.     # - :take_mp_dmg - TP charged by receiving MP damage. Uses a formula.
  167.     # - :deal_mp_dmg - TP gained by dealing MP damage. Uses a formula.
  168.     # - :heal_mp_dmg - TP gained through healing MP damage. Uses a formula.
  169.     # - :ally_mp_dmg - TP gained when allies take MP damage. Uses a formula.
  170.     # - :deal_state  - TP gained when user inflicts a state to a foe. Formula.
  171.     # - :gain_state  - TP gained when user gains a state from a foe. Formula.
  172.     # - :kill_ally   - TP gained when an ally is killed. Uses a formula.
  173.     # - :kill_enemy  - TP gained when killing an enemy. Uses a formula.
  174.     # - :win_battle  - TP gained whenever a battle is won. Uses a formula.
  175.     # - :flee_battle - TP gained whenever party escapes. Uses a formula.
  176.     # - :lose_battle - TP gained whenever a battle is lost. Uses a formula.
  177.     # - :low_hp_turn - TP gained at the end of a turn with user at low HP.
  178.     # - :low_mp_turn - TP gained at the end of a turn with user at low MP.
  179.     # - :only_ally   - TP gained when user is only ally alive.
  180.     # - :evasion     - TP gained when user evades an attack.
  181.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  182.     TP_MODES ={
  183.     # TP Mode => { Settings }
  184.     # -------------------------------------------------------------------------
  185.       0 => { # This is the default mode.
  186.       # :setting     => Adjust settings as you see fit.
  187.         :name        => "苦行僧",
  188.         :icon        => 121,
  189.         :description => "在等待或者受到攻击时增加TP.",
  190.         :preserve_tp => false,
  191.         :init_tp     => "rand * 25",
  192.         :regen_tp    => "100 * trg",
  193.         :take_hp_dmg => "50 * damage_rate * tcr",
  194.         :deal_hp_dmg => "0",
  195.         :heal_hp_dmg => "0",
  196.         :ally_hp_dmg => "0",
  197.         :take_mp_dmg => "0",
  198.         :deal_mp_dmg => "0",
  199.         :heal_mp_dmg => "0",
  200.         :ally_mp_dmg => "0",
  201.         :deal_state  => "0",
  202.         :gain_state  => "0",
  203.         :kill_ally   => "0",
  204.         :kill_enemy  => "0",
  205.         :win_battle  => "0",
  206.         :flee_battle => "0",
  207.         :lose_battle => "0",
  208.         :low_hp_turn => "0",
  209.         :low_mp_turn => "0",
  210.         :only_alive  => "0",
  211.         :evasion     => "0",
  212.       }, # Do not remove this.
  213.     # -------------------------------------------------------------------------
  214.       1 => { # New TP mode!
  215.       # :setting     => Adjust settings as you see fit.
  216.         :name        => "难友",
  217.         :icon        => 122,
  218.         :description => "每当同伴受伤都增加TP.",
  219.         :preserve_tp => true,
  220.         :init_tp     => "0",
  221.         :regen_tp    => "0",
  222.         :take_hp_dmg => "0",
  223.         :deal_hp_dmg => "0",
  224.         :heal_hp_dmg => "0",
  225.         :ally_hp_dmg => "20 * tcr",
  226.         :take_mp_dmg => "0",
  227.         :deal_mp_dmg => "0",
  228.         :heal_mp_dmg => "0",
  229.         :ally_mp_dmg => "0",
  230.         :deal_state  => "0",
  231.         :gain_state  => "0",
  232.         :kill_ally   => "0",
  233.         :kill_enemy  => "0",
  234.         :win_battle  => "0",
  235.         :flee_battle => "0",
  236.         :lose_battle => "0",
  237.         :low_hp_turn => "0",
  238.         :low_mp_turn => "0",
  239.         :only_alive  => "0",
  240.         :evasion     => "0",
  241.       }, # Do not remove this.
  242.     # -------------------------------------------------------------------------
  243.       2 => { # New TP mode!
  244.       # :setting     => Adjust settings as you see fit.
  245.         :name        => "勇者",
  246.         :icon        => 116,
  247.         :description => "进攻和治疗时增加TP.",
  248.         :preserve_tp => true,
  249.         :init_tp     => "0",
  250.         :regen_tp    => "0",
  251.         :take_hp_dmg => "0",
  252.         :deal_hp_dmg => "[@result.hp_damage * 100 / mhp, 16].min * tcr",
  253.         :heal_hp_dmg => "0",
  254.         :ally_hp_dmg => "0",
  255.         :take_mp_dmg => "0",
  256.         :deal_mp_dmg => "0",
  257.         :heal_mp_dmg => "0",
  258.         :ally_mp_dmg => "0",
  259.         :deal_state  => "0",
  260.         :gain_state  => "0",
  261.         :kill_ally   => "0",
  262.         :kill_enemy  => "0",
  263.         :win_battle  => "0",
  264.         :flee_battle => "0",
  265.         :lose_battle => "0",
  266.         :low_hp_turn => "0",
  267.         :low_mp_turn => "0",
  268.         :only_alive  => "0",
  269.         :evasion     => "0",
  270.       }, # Do not remove this.
  271.     # -------------------------------------------------------------------------
  272.       3 => { # New TP mode!
  273.       # :setting     => Adjust settings as you see fit.
  274.         :name        => "守护者",
  275.         :icon        => 112,
  276.         :description => "治疗时增加TP.",
  277.         :preserve_tp => true,
  278.         :init_tp     => "0",
  279.         :regen_tp    => "0",
  280.         :take_hp_dmg => "0",
  281.         :deal_hp_dmg => "0",
  282.         :heal_hp_dmg => "[@result.hp_damage * -100 / mhp, 16].min * tcr",
  283.         :ally_hp_dmg => "0",
  284.         :take_mp_dmg => "0",
  285.         :deal_mp_dmg => "0",
  286.         :heal_mp_dmg => "0",
  287.         :ally_mp_dmg => "0",
  288.         :deal_state  => "0",
  289.         :gain_state  => "0",
  290.         :kill_ally   => "0",
  291.         :kill_enemy  => "0",
  292.         :win_battle  => "0",
  293.         :flee_battle => "0",
  294.         :lose_battle => "0",
  295.         :low_hp_turn => "0",
  296.         :low_mp_turn => "0",
  297.         :only_alive  => "0",
  298.         :evasion     => "0",
  299.       }, # Do not remove this.
  300.     # -------------------------------------------------------------------------
  301.       4 => { # New TP mode!
  302.       # :setting     => Adjust settings as you see fit.
  303.         :name        => "中断者",
  304.         :icon        => 215,
  305.         :description => "恢复MP损害受到MP损伤或者同伴受到损伤时提高TP.",
  306.         :preserve_tp => true,
  307.         :init_tp     => "0",
  308.         :regen_tp    => "0",
  309.         :take_hp_dmg => "0",
  310.         :deal_hp_dmg => "0",
  311.         :heal_hp_dmg => "0",
  312.         :ally_hp_dmg => "0",
  313.         :take_mp_dmg => "50 * damage_rate * tcr",
  314.         :deal_mp_dmg => "[@result.mp_damage / 4, 16].min * tcr",
  315.         :heal_mp_dmg => "0",
  316.         :ally_mp_dmg => "20 * tcr",
  317.         :deal_state  => "0",
  318.         :gain_state  => "0",
  319.         :kill_ally   => "0",
  320.         :kill_enemy  => "0",
  321.         :win_battle  => "0",
  322.         :flee_battle => "0",
  323.         :lose_battle => "0",
  324.         :low_hp_turn => "0",
  325.         :low_mp_turn => "0",
  326.         :only_alive  => "0",
  327.         :evasion     => "0",
  328.       }, # Do not remove this.
  329.     # -------------------------------------------------------------------------
  330.       5 => { # New TP mode!
  331.       # :setting     => Adjust settings as you see fit.
  332.         :name        => "炼金术士",
  333.         :icon        => 193,
  334.         :description => "恢复同伴MP时增加TP.",
  335.         :preserve_tp => true,
  336.         :init_tp     => "0",
  337.         :regen_tp    => "0",
  338.         :take_hp_dmg => "0",
  339.         :deal_hp_dmg => "0",
  340.         :heal_hp_dmg => "0",
  341.         :ally_hp_dmg => "0",
  342.         :take_mp_dmg => "0",
  343.         :deal_mp_dmg => "0",
  344.         :heal_mp_dmg => "[@result.mp_damage / -4, 16].min * tcr",
  345.         :ally_mp_dmg => "0",
  346.         :deal_state  => "0",
  347.         :gain_state  => "0",
  348.         :kill_ally   => "0",
  349.         :kill_enemy  => "0",
  350.         :win_battle  => "0",
  351.         :flee_battle => "0",
  352.         :lose_battle => "0",
  353.         :low_hp_turn => "0",
  354.         :low_mp_turn => "0",
  355.         :only_alive  => "0",
  356.         :evasion     => "0",
  357.       }, # Do not remove this.
  358.     # -------------------------------------------------------------------------
  359.       6 => { # New TP mode!
  360.       # :setting     => Adjust settings as you see fit.
  361.         :name        => "杀手",
  362.         :icon        => 115,
  363.         :description => "当同伴死亡时增加TP.",
  364.         :preserve_tp => true,
  365.         :init_tp     => "0",
  366.         :regen_tp    => "0",
  367.         :take_hp_dmg => "0",
  368.         :deal_hp_dmg => "0",
  369.         :heal_hp_dmg => "0",
  370.         :ally_hp_dmg => "0",
  371.         :take_mp_dmg => "0",
  372.         :deal_mp_dmg => "0",
  373.         :heal_mp_dmg => "0",
  374.         :ally_mp_dmg => "0",
  375.         :deal_state  => "0",
  376.         :gain_state  => "0",
  377.         :kill_ally   => "0",
  378.         :kill_enemy  => "25 * tcr",
  379.         :win_battle  => "0",
  380.         :flee_battle => "0",
  381.         :lose_battle => "0",
  382.         :low_hp_turn => "0",
  383.         :low_mp_turn => "0",
  384.         :only_alive  => "0",
  385.         :evasion     => "0",
  386.       }, # Do not remove this.
  387.     # -------------------------------------------------------------------------
  388.       7 => { # New TP mode!
  389.       # :setting     => Adjust settings as you see fit.
  390.         :name        => "复仇者",
  391.         :icon        => 1,
  392.         :description => "当同伴死亡时增加TP.",
  393.         :preserve_tp => true,
  394.         :init_tp     => "0",
  395.         :regen_tp    => "0",
  396.         :take_hp_dmg => "0",
  397.         :deal_hp_dmg => "0",
  398.         :heal_hp_dmg => "0",
  399.         :ally_hp_dmg => "0",
  400.         :take_mp_dmg => "0",
  401.         :deal_mp_dmg => "0",
  402.         :heal_mp_dmg => "0",
  403.         :ally_mp_dmg => "0",
  404.         :deal_state  => "0",
  405.         :gain_state  => "0",
  406.         :kill_ally   => "50 * tcr",
  407.         :kill_enemy  => "0",
  408.         :win_battle  => "0",
  409.         :flee_battle => "0",
  410.         :lose_battle => "0",
  411.         :low_hp_turn => "0",
  412.         :low_mp_turn => "0",
  413.         :only_alive  => "0",
  414.         :evasion     => "0",
  415.       }, # Do not remove this.
  416.     # -------------------------------------------------------------------------
  417.       8 => { # New TP mode!
  418.       # :setting     => Adjust settings as you see fit.
  419.         :name        => "胜利者",
  420.         :icon        => 113,
  421.         :description => "不管是否战斗都增加TP.",
  422.         :preserve_tp => true,
  423.         :init_tp     => "0",
  424.         :regen_tp    => "0",
  425.         :take_hp_dmg => "0",
  426.         :deal_hp_dmg => "0",
  427.         :heal_hp_dmg => "0",
  428.         :ally_hp_dmg => "0",
  429.         :take_mp_dmg => "0",
  430.         :deal_mp_dmg => "0",
  431.         :heal_mp_dmg => "0",
  432.         :ally_mp_dmg => "0",
  433.         :deal_state  => "0",
  434.         :gain_state  => "0",
  435.         :kill_ally   => "0",
  436.         :kill_enemy  => "0",
  437.         :win_battle  => "20 * tcr",
  438.         :flee_battle => "0",
  439.         :lose_battle => "0",
  440.         :low_hp_turn => "0",
  441.         :low_mp_turn => "0",
  442.         :only_alive  => "0",
  443.         :evasion     => "0",
  444.       }, # Do not remove this.
  445.     # -------------------------------------------------------------------------
  446.       9 => { # New TP mode!
  447.       # :setting     => Adjust settings as you see fit.
  448.         :name        => "胆小鬼",
  449.         :icon        => 114,
  450.         :description => "不管是否逃跑都增加TP.",
  451.         :preserve_tp => true,
  452.         :init_tp     => "0",
  453.         :regen_tp    => "0",
  454.         :take_hp_dmg => "0",
  455.         :deal_hp_dmg => "0",
  456.         :heal_hp_dmg => "0",
  457.         :ally_hp_dmg => "0",
  458.         :take_mp_dmg => "0",
  459.         :deal_mp_dmg => "0",
  460.         :heal_mp_dmg => "0",
  461.         :ally_mp_dmg => "0",
  462.         :deal_state  => "0",
  463.         :gain_state  => "0",
  464.         :kill_ally   => "0",
  465.         :kill_enemy  => "0",
  466.         :win_battle  => "0",
  467.         :flee_battle => "0",
  468.         :lose_battle => "20 * tcr",
  469.         :low_hp_turn => "0",
  470.         :low_mp_turn => "0",
  471.         :only_alive  => "0",
  472.         :evasion     => "0",
  473.       }, # Do not remove this.
  474.     # -------------------------------------------------------------------------
  475.       10 => { # New TP mode!
  476.       # :setting     => Adjust settings as you see fit.
  477.         :name        => "狂人",
  478.         :icon        => 48,
  479.         :description => "不管战斗结束后多少TP都增加.",
  480.         :preserve_tp => true,
  481.         :init_tp     => "0",
  482.         :regen_tp    => "0",
  483.         :take_hp_dmg => "0",
  484.         :deal_hp_dmg => "0",
  485.         :heal_hp_dmg => "0",
  486.         :ally_hp_dmg => "0",
  487.         :take_mp_dmg => "0",
  488.         :deal_mp_dmg => "0",
  489.         :heal_mp_dmg => "0",
  490.         :ally_mp_dmg => "0",
  491.         :deal_state  => "0",
  492.         :gain_state  => "0",
  493.         :kill_ally   => "0",
  494.         :kill_enemy  => "0",
  495.         :win_battle  => "0",
  496.         :flee_battle => "0",
  497.         :lose_battle => "0",
  498.         :low_hp_turn => "16 * tcr",
  499.         :low_mp_turn => "0",
  500.         :only_alive  => "0",
  501.         :evasion     => "0",
  502.       }, # Do not remove this.
  503.     # -------------------------------------------------------------------------
  504.       11 => { # New TP mode!
  505.       # :setting     => Adjust settings as you see fit.
  506.         :name        => "调剂师",
  507.         :icon        => 49,
  508.         :description => "不管战斗结束后多少MP都增加TP.",
  509.         :preserve_tp => true,
  510.         :init_tp     => "0",
  511.         :regen_tp    => "0",
  512.         :take_hp_dmg => "0",
  513.         :deal_hp_dmg => "0",
  514.         :heal_hp_dmg => "0",
  515.         :ally_hp_dmg => "0",
  516.         :take_mp_dmg => "0",
  517.         :deal_mp_dmg => "0",
  518.         :heal_mp_dmg => "0",
  519.         :ally_mp_dmg => "0",
  520.         :deal_state  => "0",
  521.         :gain_state  => "0",
  522.         :kill_ally   => "0",
  523.         :kill_enemy  => "0",
  524.         :win_battle  => "0",
  525.         :flee_battle => "0",
  526.         :lose_battle => "0",
  527.         :low_hp_turn => "0",
  528.         :low_mp_turn => "16 * tcr",
  529.         :only_alive  => "0",
  530.         :evasion     => "0",
  531.       }, # Do not remove this.
  532.     # -------------------------------------------------------------------------
  533.       12 => { # New TP mode!
  534.       # :setting     => Adjust settings as you see fit.
  535.         :name        => "战略家",
  536.         :icon        => 10,
  537.         :description => "每当使敌人状态受到攻击提高TP.",
  538.         :preserve_tp => true,
  539.         :init_tp     => "0",
  540.         :regen_tp    => "0",
  541.         :take_hp_dmg => "0",
  542.         :deal_hp_dmg => "0",
  543.         :heal_hp_dmg => "0",
  544.         :ally_hp_dmg => "0",
  545.         :take_mp_dmg => "0",
  546.         :deal_mp_dmg => "0",
  547.         :heal_mp_dmg => "0",
  548.         :ally_mp_dmg => "0",
  549.         :deal_state  => "16 * tcr",
  550.         :gain_state  => "0",
  551.         :kill_ally   => "0",
  552.         :kill_enemy  => "0",
  553.         :win_battle  => "0",
  554.         :flee_battle => "0",
  555.         :lose_battle => "0",
  556.         :low_hp_turn => "0",
  557.         :low_mp_turn => "0",
  558.         :only_alive  => "0",
  559.         :evasion     => "0",
  560.       }, # Do not remove this.
  561.     # -------------------------------------------------------------------------
  562.       13 => { # New TP mode!
  563.       # :setting     => Adjust settings as you see fit.
  564.         :name        => "病人",
  565.         :icon        => 3,
  566.         :description => "每当状态受到攻击提高TP.",
  567.         :preserve_tp => true,
  568.         :init_tp     => "0",
  569.         :regen_tp    => "0",
  570.         :take_hp_dmg => "0",
  571.         :deal_hp_dmg => "0",
  572.         :heal_hp_dmg => "0",
  573.         :ally_hp_dmg => "0",
  574.         :take_mp_dmg => "0",
  575.         :deal_mp_dmg => "0",
  576.         :heal_mp_dmg => "0",
  577.         :ally_mp_dmg => "0",
  578.         :deal_state  => "0",
  579.         :gain_state  => "16 * tcr",
  580.         :kill_ally   => "0",
  581.         :kill_enemy  => "0",
  582.         :win_battle  => "0",
  583.         :flee_battle => "0",
  584.         :lose_battle => "0",
  585.         :low_hp_turn => "0",
  586.         :low_mp_turn => "0",
  587.         :only_alive  => "0",
  588.         :evasion     => "0",
  589.       }, # Do not remove this.
  590.     # -------------------------------------------------------------------------
  591.       14 => { # New TP mode!
  592.       # :setting     => Adjust settings as you see fit.
  593.         :name        => "舞者",
  594.         :icon        => 12,
  595.         :description => "每当成功地逃避攻击提高TP.",
  596.         :preserve_tp => true,
  597.         :init_tp     => "0",
  598.         :regen_tp    => "0",
  599.         :take_hp_dmg => "0",
  600.         :deal_hp_dmg => "0",
  601.         :heal_hp_dmg => "0",
  602.         :ally_hp_dmg => "0",
  603.         :take_mp_dmg => "0",
  604.         :deal_mp_dmg => "0",
  605.         :heal_mp_dmg => "0",
  606.         :ally_mp_dmg => "0",
  607.         :deal_state  => "0",
  608.         :gain_state  => "0",
  609.         :kill_ally   => "0",
  610.         :kill_enemy  => "0",
  611.         :win_battle  => "0",
  612.         :flee_battle => "0",
  613.         :lose_battle => "0",
  614.         :low_hp_turn => "0",
  615.         :low_mp_turn => "0",
  616.         :only_alive  => "0",
  617.         :evasion     => "16 * tcr",
  618.       }, # Do not remove this.
  619.     # -------------------------------------------------------------------------
  620.       15 => { # New TP mode!
  621.       # :setting     => Adjust settings as you see fit.
  622.         :name        => "独行侠",
  623.         :icon        => 14,
  624.         :description => "当只剩最后一人时增加TP.",
  625.         :preserve_tp => true,
  626.         :init_tp     => "0",
  627.         :regen_tp    => "0",
  628.         :take_hp_dmg => "0",
  629.         :deal_hp_dmg => "0",
  630.         :heal_hp_dmg => "0",
  631.         :ally_hp_dmg => "0",
  632.         :take_mp_dmg => "0",
  633.         :deal_mp_dmg => "0",
  634.         :heal_mp_dmg => "0",
  635.         :ally_mp_dmg => "0",
  636.         :deal_state  => "0",
  637.         :gain_state  => "0",
  638.         :kill_ally   => "0",
  639.         :kill_enemy  => "0",
  640.         :win_battle  => "0",
  641.         :flee_battle => "0",
  642.         :lose_battle => "0",
  643.         :low_hp_turn => "0",
  644.         :low_mp_turn => "0",
  645.         :only_alive  => "16 * tcr",
  646.         :evasion     => "0",
  647.       }, # Do not remove this.
  648.     # -------------------------------------------------------------------------
  649.     } # Do not remove this.
  650.  
  651.   end # TP_MANAGER
  652. end # YEA
  653.  
  654. #==============================================================================
  655. # ▼ Editting anything past this point may potentially result in causing
  656. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  657. # halitosis so edit at your own risk.
  658. #==============================================================================
  659.  
  660. module YEA
  661.   module REGEXP
  662.   module ACTOR
  663.  
  664.     TP_MODE   = /<(?:TP_MODE|tp mode):[ ](\d+)>/i
  665.     UNLOCK_TP = /<(?:UNLOCK_TP|unlock tp):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  666.  
  667.   end # ACTOR
  668.   module ENEMY
  669.  
  670.     TP_MODE   = /<(?:TP_MODE|tp mode):[ ](\d+)>/i
  671.  
  672.   end # ENEMY
  673.   module BASEITEM
  674.  
  675.     UNLOCK_TP = /<(?:UNLOCK_TP|unlock tp):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  676.     LEARN_TP = /<(?:LEARN_UNLOCK_TP|learn unlock tp):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  677.     TP_COST  = /<(?:TP_COST|tp cost):[ ](\d+)>/i
  678.  
  679.   end # BASEITEM
  680.   end # REGEXP
  681. end # YEA
  682.  
  683. #==============================================================================
  684. # ■ Switch
  685. #==============================================================================
  686.  
  687. module Switch
  688.  
  689.   #--------------------------------------------------------------------------
  690.   # self.tp_mode
  691.   #--------------------------------------------------------------------------
  692.   def self.tp_mode
  693.     return true if YEA::TP_MANAGER::TP_MODE_SWITCH <= 0
  694.     return $game_switches[YEA::TP_MANAGER::TP_MODE_SWITCH]
  695.   end
  696.  
  697.   #--------------------------------------------------------------------------
  698.   # self.tp_mode_set
  699.   #--------------------------------------------------------------------------
  700.   def self.tp_mode_set(item)
  701.     return if YEA::TP_MANAGER::TP_MODE_SWITCH <= 0
  702.     $game_switches[YEA::TP_MANAGER::TP_MODE_SWITCH] = item
  703.   end
  704.  
  705. end # Switch
  706.  
  707. #==============================================================================
  708. # ■ Numeric
  709. #==============================================================================
  710.  
  711. class Numeric
  712.  
  713.   #--------------------------------------------------------------------------
  714.   # new method: group_digits
  715.   #--------------------------------------------------------------------------
  716.   unless $imported["YEA-CoreEngine"]
  717.   def group; return self.to_s; end
  718.   end # $imported["YEA-CoreEngine"]
  719.  
  720. end # Numeric
  721.  
  722. #==============================================================================
  723. # ■ DataManager
  724. #==============================================================================
  725.  
  726. module DataManager
  727.  
  728.   #--------------------------------------------------------------------------
  729.   # alias method: load_database
  730.   #--------------------------------------------------------------------------
  731.   class <<self; alias load_database_tpm load_database; end
  732.   def self.load_database
  733.     load_database_tpm
  734.     load_notetags_tpm
  735.   end
  736.  
  737.   #--------------------------------------------------------------------------
  738.   # new method: load_notetags_tpm
  739.   #--------------------------------------------------------------------------
  740.   def self.load_notetags_tpm
  741.     groups = [$data_actors, $data_enemies, $data_items, $data_skills]
  742.     for group in groups
  743.       for obj in group
  744.         next if obj.nil?
  745.         obj.load_notetags_tpm
  746.       end
  747.     end
  748.   end
  749.  
  750.   #--------------------------------------------------------------------------
  751.   # alias method: setup_new_game
  752.   #--------------------------------------------------------------------------
  753.   class <<self; alias setup_new_game_tpm setup_new_game; end
  754.   def self.setup_new_game
  755.     setup_new_game_tpm
  756.     Switch.tp_mode_set(YEA::TP_MANAGER::DEFAULT_ENABLE)
  757.   end
  758.  
  759. end # DataManager
  760.  
  761. #==============================================================================
  762. # ■ RPG::Actor
  763. #==============================================================================
  764.  
  765. class RPG::Actor < RPG::BaseItem
  766.  
  767.   #--------------------------------------------------------------------------
  768.   # public instance variables
  769.   #--------------------------------------------------------------------------
  770.   attr_accessor :tp_mode
  771.   attr_accessor :unlocked_tp_modes
  772.  
  773.   #--------------------------------------------------------------------------
  774.   # common cache: load_notetags_tpm
  775.   #--------------------------------------------------------------------------
  776.   def load_notetags_tpm
  777.     @tp_mode = nil
  778.     @unlocked_tp_modes = []
  779.     #---
  780.     self.note.split(/[\r\n]+/).each { |line|
  781.       case line
  782.       #---
  783.       when YEA::REGEXP::ACTOR::TP_MODE
  784.         @tp_mode = $1.to_i
  785.       when YEA::REGEXP::ACTOR::UNLOCK_TP
  786.         $1.scan(/\d+/).each { |num|
  787.         @unlocked_tp_modes.push(num.to_i) if num.to_i > 0 }
  788.       #---
  789.       end
  790.     } # self.note.split
  791.     #---
  792.     @tp_mode = YEA::TP_MANAGER::DEFAULT_TP_MODE if @tp_mode.nil?
  793.     if @unlocked_tp_modes.empty?
  794.       @unlocked_tp_modes = YEA::TP_MANAGER::DEFAULT_UNLOCKS.clone
  795.     end
  796.     @unlocked_tp_modes.push(@tp_mode) if !@unlocked_tp_modes.include?(@tp_mode)
  797.     @unlocked_tp_modes.uniq!
  798.     @unlocked_tp_modes.sort!
  799.   end
  800.  
  801. end # RPG::Actor
  802.  
  803. #==============================================================================
  804. # ■ RPG::Enemy
  805. #==============================================================================
  806.  
  807. class RPG::Enemy < RPG::BaseItem
  808.  
  809.   #--------------------------------------------------------------------------
  810.   # public instance variables
  811.   #--------------------------------------------------------------------------
  812.   attr_accessor :tp_mode
  813.  
  814.   #--------------------------------------------------------------------------
  815.   # common cache: load_notetags_tpm
  816.   #--------------------------------------------------------------------------
  817.   def load_notetags_tpm
  818.     @tp_mode = YEA::TP_MANAGER::DEFAULT_TP_MODE
  819.     #---
  820.     self.note.split(/[\r\n]+/).each { |line|
  821.       case line
  822.       #---
  823.       when YEA::REGEXP::ENEMY::TP_MODE
  824.         @tp_mode = $1.to_i
  825.       #---
  826.       end
  827.     } # self.note.split
  828.     #---
  829.   end
  830.  
  831. end # RPG::Enemy
  832.  
  833. #==============================================================================
  834. # ■ RPG::BaseItem
  835. #==============================================================================
  836.  
  837. class RPG::BaseItem
  838.  
  839.   #--------------------------------------------------------------------------
  840.   # public instance variables
  841.   #--------------------------------------------------------------------------
  842.   attr_accessor :unlocked_tp_modes
  843.   attr_accessor :learn_tp_modes
  844.   attr_accessor :tp_cost
  845.  
  846.   #--------------------------------------------------------------------------
  847.   # common cache: load_notetags_tpm
  848.   #--------------------------------------------------------------------------
  849.   def load_notetags_tpm
  850.     @unlocked_tp_modes = []
  851.     @learn_tp_modes = []
  852.     #---
  853.     self.note.split(/[\r\n]+/).each { |line|
  854.       case line
  855.       #---
  856.       when YEA::REGEXP::BASEITEM::UNLOCK_TP
  857.         $1.scan(/\d+/).each { |num|
  858.         @unlocked_tp_modes.push(num.to_i) if num.to_i > 0 }
  859.       when YEA::REGEXP::BASEITEM::LEARN_TP
  860.         $1.scan(/\d+/).each { |num|
  861.         @learn_tp_modes.push(num.to_i) if num.to_i > 0 }
  862.       when YEA::REGEXP::BASEITEM::TP_COST
  863.         next unless self.is_a?(RPG::Skill)
  864.         @tp_cost = $1.to_i
  865.       #---
  866.       end
  867.     } # self.note.split
  868.     #---
  869.   end
  870.  
  871. end # RPG::BaseItem
  872.  
  873. #==============================================================================
  874. # ■ BattleManager
  875. #==============================================================================
  876.  
  877. module BattleManager
  878.   #--------------------------------------------------------------------------
  879.   # alias method: load_database
  880.   #--------------------------------------------------------------------------
  881.   class <<self; alias battle_end_tpm battle_end;end
  882.   def self.battle_end(result)
  883.     battle_end_tpm(result)
  884.     case result
  885.     when 0
  886.       for member in $game_party.alive_members
  887.         member.tp += eval(member.tp_setting(:win_battle))
  888.       end
  889.     when 1
  890.       for member in $game_party.alive_members
  891.         member.tp += eval(member.tp_setting(:flee_battle))
  892.       end
  893.     end
  894.   end
  895.  
  896.  
  897.  
  898. end # BattleManager
  899.  
  900. #==============================================================================
  901. # ■ Game_BattlerBase
  902. #==============================================================================
  903.  
  904. class Game_BattlerBase
  905.   #--------------------------------------------------------------------------
  906.   # public instance variables
  907.   #--------------------------------------------------------------------------
  908.   attr_accessor :tp_mode
  909.   attr_accessor :unlocked_tp_modes
  910.  
  911.   #--------------------------------------------------------------------------
  912.   # overwrite method: max_tp
  913.   #--------------------------------------------------------------------------
  914.   def max_tp; return YEA::TP_MANAGER::TP_LIMIT; end
  915.  
  916.   #--------------------------------------------------------------------------
  917.   # anti-crash methods: max_tp, unlocked_tp_modes
  918.   #--------------------------------------------------------------------------
  919.   def tp_mode; return 0; end
  920.   def unlocked_tp_modes; return [0]; end
  921.  
  922.   #--------------------------------------------------------------------------
  923.   # new method: tp_setting
  924.   #--------------------------------------------------------------------------
  925.   def tp_setting(setting)
  926.     return YEA::TP_MANAGER::TP_MODES[tp_mode][setting]
  927.   end
  928.  
  929.   #--------------------------------------------------------------------------
  930.   # alias method: preserve_tp?
  931.   #--------------------------------------------------------------------------
  932.   alias game_battlerbase_preserve_tp_tpm preserve_tp?
  933.   def preserve_tp?
  934.     return true if tp_setting(:preserve_tp)
  935.     return game_battlerbase_preserve_tp_tpm
  936.   end
  937.  
  938. end # Game_BattlerBase
  939.  
  940. #==============================================================================
  941. # ■ Game_Battler
  942. #==============================================================================
  943.  
  944. class Game_Battler < Game_BattlerBase
  945.  
  946.   #--------------------------------------------------------------------------
  947.   # overwrite method: init_tp
  948.   #--------------------------------------------------------------------------
  949.   def init_tp
  950.     self.tp = eval(tp_setting(:init_tp))
  951.   end
  952.  
  953.   #--------------------------------------------------------------------------
  954.   # overwrite method: charge_tp_by_damage
  955.   #--------------------------------------------------------------------------
  956.   def charge_tp_by_damage(damage_rate)
  957.     self.tp += eval(tp_setting(:take_hp_dmg))
  958.   end
  959.  
  960.   #--------------------------------------------------------------------------
  961.   # new method: charge_tp_by_mp_damage
  962.   #--------------------------------------------------------------------------
  963.   def charge_tp_by_mp_damage(damage_rate)
  964.     self.tp += eval(tp_setting(:take_mp_dmg))
  965.   end
  966.  
  967.   #--------------------------------------------------------------------------
  968.   # overwrite method:
  969.   #--------------------------------------------------------------------------
  970.   def regenerate_tp
  971.     self.tp += eval(tp_setting(:regen_tp))
  972.     self.tp += eval(tp_setting(:low_hp_turn)) if self.hp < tp_low_hp
  973.     self.tp += eval(tp_setting(:low_mp_turn)) if self.mp < tp_low_mp
  974.     if friends_unit.alive_members.size == 1
  975.       self.tp += eval(tp_setting(:only_alive))
  976.     end
  977.   end
  978.  
  979.   #--------------------------------------------------------------------------
  980.   # new method: tp_low_hp
  981.   #--------------------------------------------------------------------------
  982.   def tp_low_hp
  983.     return self.mhp * YEA::TP_MANAGER::LOW_HP
  984.   end
  985.  
  986.   #--------------------------------------------------------------------------
  987.   # new method: tp_low_mp
  988.   #--------------------------------------------------------------------------
  989.   def tp_low_mp
  990.     return self.mmp * YEA::TP_MANAGER::LOW_MP
  991.   end
  992.  
  993.   #--------------------------------------------------------------------------
  994.   # alias method: execute_damage
  995.   #--------------------------------------------------------------------------
  996.   alias game_battler_execute_damage_tpm execute_damage
  997.   def execute_damage(user)
  998.     game_battler_execute_damage_tpm(user)
  999.     return unless $game_party.in_battle
  1000.     if @result.hp_damage > 0
  1001.       user.tp += eval(user.tp_setting(:deal_hp_dmg))
  1002.       gain_tp_ally_hp_damage
  1003.     elsif @result.hp_damage < 0
  1004.       user.tp += eval(user.tp_setting(:heal_hp_dmg))
  1005.     end
  1006.     if @result.mp_damage > 0
  1007.       user.tp += eval(user.tp_setting(:deal_mp_dmg))
  1008.       gain_tp_ally_mp_damage
  1009.       charge_tp_by_mp_damage(@result.mp_damage)
  1010.     elsif @result.mp_damage < 0
  1011.       user.tp += eval(user.tp_setting(:heal_mp_dmg))
  1012.     end
  1013.     user.tp += eval(user.tp_setting(:kill_enemy)) if self.hp == 0
  1014.     gain_tp_kill_ally if self.hp == 0
  1015.   end
  1016.  
  1017.   #--------------------------------------------------------------------------
  1018.   # new method: gain_tp_ally_hp_damage
  1019.   #--------------------------------------------------------------------------
  1020.   def gain_tp_ally_hp_damage
  1021.     for member in friends_unit.alive_members
  1022.       next if member == self
  1023.       member.tp += eval(member.tp_setting(:ally_hp_dmg))
  1024.     end
  1025.   end
  1026.  
  1027.   #--------------------------------------------------------------------------
  1028.   # new method: gain_tp_ally_mp_damage
  1029.   #--------------------------------------------------------------------------
  1030.   def gain_tp_ally_mp_damage
  1031.     for member in friends_unit.alive_members
  1032.       next if member == self
  1033.       member.tp += eval(member.tp_setting(:ally_mp_dmg))
  1034.     end
  1035.   end
  1036.  
  1037.   #--------------------------------------------------------------------------
  1038.   # new method: gain_tp_kill_ally
  1039.   #--------------------------------------------------------------------------
  1040.   def gain_tp_kill_ally
  1041.     for member in friends_unit.alive_members
  1042.       next if member == self
  1043.       member.tp += eval(member.tp_setting(:kill_ally))
  1044.     end
  1045.   end
  1046.  
  1047.   #--------------------------------------------------------------------------
  1048.   # alias method: item_effect_add_state
  1049.   #--------------------------------------------------------------------------
  1050.   alias game_battler_item_effect_add_state_tpm item_effect_add_state
  1051.   def item_effect_add_state(user, item, effect)
  1052.     original_states = states.clone
  1053.     game_battler_item_effect_add_state_tpm(user, item, effect)
  1054.     return unless $game_party.in_battle
  1055.     if original_states != states && opponents_unit.members.include?(user)
  1056.       user.tp += eval(user.tp_setting(:deal_state))
  1057.       self.tp += eval(tp_setting(:gain_state))
  1058.     end
  1059.   end
  1060.  
  1061.   #--------------------------------------------------------------------------
  1062.   # alias method: item_apply
  1063.   #--------------------------------------------------------------------------
  1064.   alias game_battler_item_apply_tpm item_apply
  1065.   def item_apply(user, item)
  1066.     game_battler_item_apply_tpm(user, item)
  1067.     return unless $game_party.in_battle
  1068.     return if @result.hit?
  1069.     self.tp += eval(tp_setting(:evasion))
  1070.   end
  1071.  
  1072.   #--------------------------------------------------------------------------
  1073.   # alias method: item_test
  1074.   #--------------------------------------------------------------------------
  1075.   alias game_battler_item_test_tpm item_test
  1076.   def item_test(user, item)
  1077.     return false if item.for_dead_friend? != dead?
  1078.     return true if item.unlocked_tp_modes.size > 0
  1079.     return game_battler_item_test_tpm(user, item)
  1080.   end
  1081.  
  1082.   #--------------------------------------------------------------------------
  1083.   # alias method: item_user_effect
  1084.   #--------------------------------------------------------------------------
  1085.   alias game_battler_item_user_effect_tpm item_user_effect
  1086.   def item_user_effect(user, item)
  1087.     game_battler_item_user_effect_tpm(user, item)
  1088.     return unless actor?
  1089.     for mode in item.unlocked_tp_modes
  1090.       unlock_tp_mode(mode)
  1091.     end
  1092.   end
  1093.  
  1094. end # Game_Battler
  1095.  
  1096. #==============================================================================
  1097. # ■ Game_Actor
  1098. #==============================================================================
  1099.  
  1100. class Game_Actor < Game_Battler
  1101.  
  1102.   #--------------------------------------------------------------------------
  1103.   # alias method: setup
  1104.   #--------------------------------------------------------------------------
  1105.   alias game_actor_setup_tpm setup
  1106.   def setup(actor_id)
  1107.     game_actor_setup_tpm(actor_id)
  1108.     @tp_mode = actor.tp_mode
  1109.     @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1110.   end
  1111.  
  1112.   #--------------------------------------------------------------------------
  1113.   # new method: tp_mode
  1114.   #--------------------------------------------------------------------------
  1115.   def tp_mode
  1116.     @tp_mode = actor.tp_mode if @tp_mode.nil?
  1117.     return @tp_mode
  1118.   end
  1119.  
  1120.   #--------------------------------------------------------------------------
  1121.   # new method: unlocked_tp_modes
  1122.   #--------------------------------------------------------------------------
  1123.   def unlocked_tp_modes
  1124.     if @unlocked_tp_modes.empty?
  1125.       @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1126.     end
  1127.     return @unlocked_tp_modes.uniq
  1128.   end
  1129.  
  1130.   #--------------------------------------------------------------------------
  1131.   # new method: change_tp_mode
  1132.   #--------------------------------------------------------------------------
  1133.   def change_tp_mode(mode)
  1134.     @tp_mode = mode
  1135.     unlock_tp_mode(mode)
  1136.     self.tp = 0 if YEA::TP_MANAGER::CHANGE_TP_RESET
  1137.   end
  1138.  
  1139.   #--------------------------------------------------------------------------
  1140.   # new method: unlock_tp_mode
  1141.   #--------------------------------------------------------------------------
  1142.   def unlock_tp_mode(mode)
  1143.     if @unlocked_tp_modes.empty?
  1144.       @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1145.     end
  1146.     @unlocked_tp_modes.push(mode)
  1147.     @unlocked_tp_modes.uniq!
  1148.     @unlocked_tp_modes.sort!
  1149.   end
  1150.  
  1151.   #--------------------------------------------------------------------------
  1152.   # new method: remove_tp_mode
  1153.   #--------------------------------------------------------------------------
  1154.   def remove_tp_mode(mode)
  1155.     if @unlocked_tp_modes.empty?
  1156.       @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1157.     end
  1158.     @unlocked_tp_modes.delete(mode)
  1159.     @tp_mode = @unlocked_tp_modes[0] if @tp_mode == mode
  1160.   end
  1161.  
  1162.   #--------------------------------------------------------------------------
  1163.   # alias method: learn_skill
  1164.   #--------------------------------------------------------------------------
  1165.   alias game_actor_learn_skill_tpm learn_skill
  1166.   def learn_skill(skill_id)
  1167.     game_actor_learn_skill_tpm(skill_id)
  1168.     for mode in $data_skills[skill_id].learn_tp_modes
  1169.       unlock_tp_mode(mode)
  1170.     end
  1171.   end
  1172.  
  1173. end # Game_Actor
  1174.  
  1175. #==============================================================================
  1176. # ■ Game_Enemy
  1177. #==============================================================================
  1178.  
  1179. class Game_Enemy < Game_Battler
  1180.  
  1181.   #--------------------------------------------------------------------------
  1182.   # new method: tp_mode
  1183.   #--------------------------------------------------------------------------
  1184.   def tp_mode; return enemy.tp_mode; end
  1185.  
  1186. end # Game_Enemy
  1187.  
  1188. #==============================================================================
  1189. # ■ Game_Interpreter
  1190. #==============================================================================
  1191.  
  1192. class Game_Interpreter
  1193.  
  1194.   #--------------------------------------------------------------------------
  1195.   # new method: change_tp_mode
  1196.   #--------------------------------------------------------------------------
  1197.   def change_tp_mode(actor_id, mode)
  1198.     $game_actors[actor_id].change_tp_mode(mode)
  1199.   end
  1200.  
  1201.   #--------------------------------------------------------------------------
  1202.   # new method: unlock_tp_mode
  1203.   #--------------------------------------------------------------------------
  1204.   def unlock_tp_mode(actor_id, mode)
  1205.     $game_actors[actor_id].unlock_tp_mode(mode)
  1206.   end
  1207.  
  1208.   #--------------------------------------------------------------------------
  1209.   # new method: remove_tp_mode
  1210.   #--------------------------------------------------------------------------
  1211.   def remove_tp_mode(actor_id, mode)
  1212.     $game_actors[actor_id].remove_tp_mode(mode)
  1213.   end
  1214.  
  1215.   #--------------------------------------------------------------------------
  1216.   # new method: unlock_all_tp_modes
  1217.   #--------------------------------------------------------------------------
  1218.   def unlock_all_tp_modes(actor_id)
  1219.     for key in YEA::TP_MANAGER::TP_MODES
  1220.       $game_actors[actor_id].unlock_tp_mode(key[0])
  1221.     end
  1222.   end
  1223.  
  1224.   #--------------------------------------------------------------------------
  1225.   # new method: remove_all_tp_modes
  1226.   #--------------------------------------------------------------------------
  1227.   def remove_all_tp_modes(actor_id)
  1228.     for key in YEA::TP_MANAGER::TP_MODES
  1229.       next if key[0] == $data_actors[actor_id].tp_mode
  1230.       $game_actors[actor_id].remove_tp_mode(key[0])
  1231.     end
  1232.   end
  1233.  
  1234. end # Game_Interpreter
  1235.  
  1236. #==============================================================================
  1237. # ■ Window_SkillCommand
  1238. #==============================================================================
  1239.  
  1240. class Window_SkillCommand < Window_Command
  1241.  
  1242.   #--------------------------------------------------------------------------
  1243.   # alias method: make_command_list
  1244.   #--------------------------------------------------------------------------
  1245.   alias window_skillcommand_make_command_list_tpm make_command_list
  1246.   def make_command_list
  1247.     return unless @actor
  1248.     window_skillcommand_make_command_list_tpm
  1249.  
  1250.   end
  1251.  
  1252.   #--------------------------------------------------------------------------
  1253.   # new method: add_tp_modes
  1254.   #--------------------------------------------------------------------------
  1255.   def add_tp_modes
  1256.     return unless Switch.tp_mode
  1257.     add_command(YEA::TP_MANAGER::MENU_NAME, :tp_mode, true, :tp_mode)
  1258.   end
  1259.  
  1260. end # Window_SkillCommand
  1261.  
  1262. #==============================================================================
  1263. # ■ Window_SkillList
  1264. #==============================================================================
  1265.  
  1266. class Window_SkillList < Window_Selectable
  1267.  
  1268.   #--------------------------------------------------------------------------
  1269.   # new method: tp_mode?
  1270.   #--------------------------------------------------------------------------
  1271.   def tp_mode?; return @stype_id == :tp_mode; end
  1272.  
  1273.   #--------------------------------------------------------------------------
  1274.   # new method: tp_mode
  1275.   #--------------------------------------------------------------------------
  1276.   def tp_mode
  1277.     return nil unless tp_mode?
  1278.     return @data[index]
  1279.   end
  1280.  
  1281.   #--------------------------------------------------------------------------
  1282.   # alias method: make_item_list
  1283.   #--------------------------------------------------------------------------
  1284.   alias window_skilllist_make_item_list_tpm make_item_list
  1285.   def make_item_list
  1286.     if tp_mode?
  1287.       @data = @actor.unlocked_tp_modes
  1288.       @data.sort!
  1289.     else
  1290.       window_skilllist_make_item_list_tpm
  1291.     end
  1292.   end
  1293.  
  1294.   #--------------------------------------------------------------------------
  1295.   # alias method: draw_item
  1296.   #--------------------------------------------------------------------------
  1297.   alias window_skilllist_draw_item_tpm draw_item
  1298.   def draw_item(index)
  1299.     if tp_mode?
  1300.       draw_tp_mode_item(index)
  1301.     else
  1302.       window_skilllist_draw_item_tpm(index)
  1303.     end
  1304.   end
  1305.  
  1306.   #--------------------------------------------------------------------------
  1307.   # new method: draw_tp_mode_item
  1308.   #--------------------------------------------------------------------------
  1309.   def draw_tp_mode_item(index)
  1310.     tp_mode = @data[index]
  1311.     return unless YEA::TP_MANAGER::TP_MODES.include?(tp_mode)
  1312.     rect = item_rect(index)
  1313.     rect.width -= 4
  1314.     icon = YEA::TP_MANAGER::TP_MODES[tp_mode][:icon]
  1315.     draw_icon(icon, rect.x, rect.y)
  1316.     change_color(tp_mode_colour(tp_mode))
  1317.     name = YEA::TP_MANAGER::TP_MODES[tp_mode][:name]
  1318.     draw_text(rect.x+24, rect.y, rect.width-24, line_height, name)
  1319.   end
  1320.  
  1321.   #--------------------------------------------------------------------------
  1322.   # new method: tp_mode_colour
  1323.   #--------------------------------------------------------------------------
  1324.   def tp_mode_colour(mode)
  1325.     if @actor.tp_mode == mode
  1326.       return text_color(YEA::TP_MANAGER::EQUIPPED_COLOUR)
  1327.     else
  1328.       return normal_color
  1329.     end
  1330.   end
  1331.  
  1332.   #--------------------------------------------------------------------------
  1333.   # alias method: current_item_enabled?
  1334.   #--------------------------------------------------------------------------
  1335.   alias window_skilllist_current_item_enabled current_item_enabled?
  1336.   def current_item_enabled?
  1337.     if tp_mode?
  1338.       return @actor.tp_mode != @data[index]
  1339.     else
  1340.       return window_skilllist_current_item_enabled
  1341.     end
  1342.   end
  1343.  
  1344.   #--------------------------------------------------------------------------
  1345.   # alias method: update_help
  1346.   #--------------------------------------------------------------------------
  1347.   alias window_skilllist_update_help_tpm update_help
  1348.   def update_help
  1349.     if tp_mode?
  1350.       tp_mode = @data[index]
  1351.       if YEA::TP_MANAGER::TP_MODES.include?(tp_mode)
  1352.         text = YEA::TP_MANAGER::TP_MODES[tp_mode][:description]
  1353.       else
  1354.         text = ""
  1355.       end
  1356.       @help_window.set_text(text)
  1357.     else
  1358.       window_skilllist_update_help_tpm
  1359.     end
  1360.   end
  1361.  
  1362. end # Window_SkillList
  1363.  
  1364. #==============================================================================
  1365. # ■ Scene_Skill
  1366. #==============================================================================
  1367.  
  1368. class Scene_Skill < Scene_ItemBase
  1369.  
  1370.   #--------------------------------------------------------------------------
  1371.   # alias method: create_command_window
  1372.   #--------------------------------------------------------------------------
  1373.   alias scene_skill_create_command_window_tpm create_command_window
  1374.   def create_command_window
  1375.     scene_skill_create_command_window_tpm
  1376.     @command_window.set_handler(:tp_mode,    method(:command_skill))
  1377.   end
  1378.  
  1379.   #--------------------------------------------------------------------------
  1380.   # alias method: on_item_ok
  1381.   #--------------------------------------------------------------------------
  1382.   alias scene_skill_on_item_ok_tpm on_item_ok
  1383.   def on_item_ok
  1384.     if @item_window.tp_mode?
  1385.       Sound.play_equip
  1386.       user.change_tp_mode(@item_window.tp_mode)
  1387.       @status_window.refresh
  1388.       @item_window.refresh
  1389.       @item_window.activate
  1390.     else
  1391.       scene_skill_on_item_ok_tpm
  1392.     end
  1393.   end
  1394.  
  1395. end # Scene_Skill
  1396.  
  1397. #==============================================================================
  1398. #
  1399. # ▼ End of File
  1400. #
  1401. #==============================================================================
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2013-10-24
帖子
30
5
 楼主| 发表于 2013-11-2 20:16:08 | 只看该作者
余烬之中 发表于 2013-11-2 16:08
目测是脚本内用的,如果不给全的话很难了解什么意思
【目测是yanfly的TP Manager这里都有内置介绍的,英文 ...

英语蛋疼啊。用翻译软件效果很不好。根本不能理解。
诺诺的问句  TP 干嘛使的
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

6
发表于 2013-11-2 20:58:12 | 只看该作者
lc19801203 发表于 2013-11-2 20:16
英语蛋疼啊。用翻译软件效果很不好。根本不能理解。
诺诺的问句  TP 干嘛使的 ...

TP,可以理解为士气、怒气值,VA自带的东西,和HP、MP相近
一般来说,TP在每场战斗中都会重置,随着战斗进行增加,到一定程度可以释放出TP技能
TP技能可以在数据库设置
翻译:
RUBY 代码复制
  1. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  2.     # - TP 模式 -
  3.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  4.     # TP 模式 改变和调控玩家获得 TP 的方法.
  5.     # 调整下面的设定来改变每个行为会获得/失去多少TP.
  6.     #
  7.     # 设定             描述
  8.     # -------------------------------------------------------------------------
  9.     # - :name        - 在TP 模式菜单中显示的名字.
  10.     # - :icon        - 在TP 模式菜单中显示的图标.
  11.     # - :description - 帮助窗口显示的描述. 使用 \n 换行.
  12.     # - :preserve_tp - 保留上一场战斗留下来的TP
  13.     # - :init_tp     - 如果没有TP保留下来,在每场战斗开始时拥有的TP
  14.     # - :regen_tp    - 每回合获得的TP. 使用公式填写.
  15.     # - :take_hp_dmg - 受伤时获得的TP. 使用公式.
  16.     # - :deal_hp_dmg - 对敌人造成伤害时……. 使用公式.
  17.     # - :heal_hp_dmg - 治愈时……. 使用公式.
  18.     # - :ally_hp_dmg - 队友受伤……. 使用公式.
  19.     # - :take_mp_dmg - MP损失……. 使用公式.
  20.     # - :deal_mp_dmg - 对敌人造成MP损失……. 公式.
  21.     # - :heal_mp_dmg - MP回复……. 公式.
  22.     # - :ally_mp_dmg - 队友消耗MP……. 公式.
  23.     # - :deal_state  - 对敌人施加状态……. 公式.
  24.     # - :gain_state  - 被敌人施加状态……. 公式.
  25.     # - :kill_ally   - 同伴死亡……. 公式.
  26.     # - :kill_enemy  - 敌人死亡……. 公式.
  27.     # - :win_battle  - 战胜……. 公式.
  28.     # - :flee_battle - 逃跑……. 公式.
  29.     # - :lose_battle - 战败……. 公式.
  30.     # - :low_hp_turn - 回合结束时玩家HP低时…….
  31.     # - :low_mp_turn - 回合结束时玩家MP低时…….
  32.     # - :only_ally   - 战后只有伙伴存活时…….
  33.     # - :evasion     - 玩家闪避了攻击时…….
  34.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2013-10-24
帖子
30
7
 楼主| 发表于 2013-11-3 10:22:06 | 只看该作者
余烬之中 发表于 2013-11-2 20:58
TP,可以理解为士气、怒气值,VA自带的东西,和HP、MP相近
一般来说,TP在每场战斗中都会重置,随着战斗 ...

非常感谢。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-12 22:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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