1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
| #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ Distribute Parameter - KMS_DistributeParameter ◆ VXAce ◆
#_/ ◇ Last update : 2012/08/05 (TOMY@Kamesoft) ◇
#_/ ◇ Website: http://ytomy.sakura.ne.jp/ ◇
#_/ ◇ Translated by Mr. Bubble ◇
#_/----------------------------------------------------------------------------
#_/ This script allows players to freely upgrade actor stats with points
#_/ gained through leveling up.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# This script gives players the power to determine how actors' stats are
# distributed in a game.
#
# This is one of TOMY's more popular scripts from VX now made for VX Ace.
#
# Please read the comments thoroughly since all customization in this
# script is done within the customization module.
#--------------------------------------------------------------------------
# Script Calls
#--------------------------------------------------------------------------
# The following Script Calls are meant to be used in "Script..." event
# commands found under Tab 3 when creating a new event command.
#
# gain_rp(actor_id, value)
# This script call increases a specified actor's RP. actor_id is an
# Actor ID number from your database and value is how much RP the actor
# will gain. value can be negative.
#
# distribute_param_actor(actor_id, key, n)
# distribute_param_actor(actor_id, key)
# This script call allows you to forcefully upgrade a specified actor's
# parameter. actor_id is an Actor ID number from your database. key is a
# parameter's :key from the settings module. n is the number of times the
# parameter is upgraded. If n is a negative value, it will "downgrade"
# the parameter. If the actor does not have enough RP points for
# n number of upgrades, it will upgrade the parameter as much as possible.
# If the n is omitted from the script call's arguments, it will upgrade the
# parameter only once.
#
# reset_distributed_count(actor_id)
# This script call resets all of an actor's parameter upgrades which frees
# all RP for reallocation. actor_id is an Actor ID number from your
# database.
#
# call_distribute_parameter(actor_index)
# call_distribute_parameter
# This script call opens up the DistributeParameter scene to a specified
# actor in the party. actor_index is the position index of an actor in the
# party (NOT an actor's database ID number). 0 is the leader, 1 is the
# second party member, 2 is the third party member, and so on...
# If actor_index is omitted as as an argument in the script call, it will
# open the DistributeParameter scene to the first possible actor (the
# party leader).
#
#--------------------------------------------------------------------------
# KMS Generic Gauge Compatibility Caution
#--------------------------------------------------------------------------
# This script will only be compatible with KMS Generic Gauge scripts
# dated 2012/08/05 or above. Any older versions before that date will
# not work.
#
#==============================================================================
#==============================================================================
# ★ BEGIN Setting ★
#==============================================================================
module KMS_DistributeParameter
#--------------------------------------------------------------------------
# * Default Parameter Settings
#--------------------------------------------------------------------------
# This section determines the upgradable parameters listed in the
# Distribute Parameter scene.
#
# The format for defining a new distributable parameter block is as follows:
#
# {
# :key => key,
# :name => "Name",
# :limit => Maximum upgrade limit,
# :cost => [Base RP Cost, RP Cost Growth],
# :parameter => [Base Param Gain, Param Gain Growth],
# },
#
# key : A unique symbol that represents the parameter within the
# script. Symbols start with a colon ":" and appear orange in
# the script editor.
#
# "Name" : Parameter name displayed in the Distribute Parameter scene.
#
# Maximum upgrade limit : The maximum number of times the player can
# upgrade the parameter. Decimal values are ok.
# If this value is 0, it means that upgrades are
# allowed infinitely.
#
# Base RP Cost : Base RP cost to upgrade the parameter.
# RP Cost Growth : Amount added to Base RP Cost per parameter upgrade.
# If this value is omitted from the array, the growth
# value will default to zero. Can be a negative value.
# Decimal values are ok.
#
# :parameter : A parameter key. See list below. You can add
# as many different parameters within a block as
# you like.
# Base Param Gain : Base amount of stat points gained per upgrade
# Param Gain Growth : Amount added to Base Gain per parameter upgrade.
# If this value is omitted from the array, the growth
# value will default to zero. Can be a negative value.
# Decimal values are ok.
#
# Always remember the comma after the closing curly bracket.
#
# The order of parameters defined in this section determines the order
# of parameters displayed in the Distribute Parameter scene.
#
# !! IMPORTANT !!
# It is important to note that Actor Ex-Parameters and Sp-Parameters deal
# with "rate" or "percentage chance" values. This should mean their gain
# values should be floating point values that represent rates. What this
# means is:
#
# 0.001 is 0.1%
# 0.01 is 1%
# 0.1 is 10%
# 1.0 is 100%
#
# Be *very* careful with Ex-Parameters and Sp-Parameters when defining
# their gain values.
#--------------------------------------------------------------------------
# List of Usable :parameter Keys
#--------------------------------------------------------------------------
# Actor Base Params (all these are normal values):
#
# :mhp Maximum Hit Points
# :mmp Maximum Magic Points
# :atk ATtacK power
# :def DEFense power
# :mat Magic ATtack power
# :mdf Magic DeFense power
# :agi AGIlity
# :luk LUcK
#
# Actor Ex-Params and Sp-Params (all these are rate values):
#
# :hit HIT rate
# :eva EVAsion rate
# :cri CRItical rate
# :cev Critical EVasion rate (not yet supported)
# :mev Magic EVasion rate (not yet supported)
# :mrf Magic ReFlection rate (not yet supported)
# :cnt CouNTer attack rate (not yet supported)
# :hrg Hp ReGeneration rate (not yet supported)
# :mrg Mp ReGeneration rate (not yet supported)
# :trg Tp ReGeneration rate (not yet supported)
# :tgr TarGet Rate
# :grd GuaRD effect rate (not yet supported)
# :rec RECovery effect rate (not yet supported)
# :pha PHArmacology (not yet supported)
# :mcr Mp Cost Rate (not yet supported)
# :tcr Tp Charge Rate (not yet supported)
# :pdr Physical Damage Rate (not yet supported)
# :mdr Magical Damage Rate (not yet supported)
# :fdr Floor Damage Rate (not yet supported)
# :exr EXperience Rate (not yet supported)
#
# Item/Skill Invocation Speed:
#
# :skill_speed Skill Speed
# :item_speed Item Speed
#
# Any parameters not listed here, such as ones created in other custom
# scripts, *MUST* be manually coded to support that custom parameter
# in this script. Yes, this means supporting custom parameters requires
# scripting knowledge.
GAIN_PARAMETER = [
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Param blocks defined below can be safely removed or modified if desired
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{
:key => :health,
:name => "Health",
:limit => 9999,
:cost => [ 1, 0.4],
:mhp => [30, 2], # MaxHP
:def => [ 1, 0.25], # Defense
}, # <- Always remember the comma after each closing curly bracket!
{
:key => :magic,
:name => "Magic",
:limit => 9999,
:cost => [1, 0.4],
:mmp => [5, 0.5], # MaxMP
:mat => [2, 0.5], # Magic Attack
}, # <- Comma!
{
:key => :pow,
:name => "Power",
:limit => 9999,
:cost => [1, 0.4],
:atk => [2, 0.5], # Attack
:def => [1, 0.25], # Defense
},
{
:key => :dex,
:name => "Dexterity",
:limit => 9999,
:cost => [1, 0.4],
:agi => [2, 0.5], # Agility
:hit => [0.005], # Hit Rate
:eva => [0.005], # Evasion Rate
},
{
:key => :luk,
:name => "Luck",
:limit => 9999,
:cost => [1, 0.5],
:luk => [1] # Luck
},
{
:key => :hit,
:name => "Accuracy",
:limit => 999,
:cost => [1, 0.5],
:hit => [0.01], # Hit Rate
},
{
:key => :eva,
:name => "Evasion",
:limit => 999,
:cost => [1, 0.5],
:eva => [0.01], # Evasion Rate
},
{
:key => :crt,
:name => "Critical",
:limit => 999,
:cost => [1, 0.7],
:cri => [0.01], # Critical Rate
},
{
:key => :chant,
:name => "Skill Speed",
:limit => 99,
:cost => [1, 0.5],
:skill_speed => [1], # Skill Speed
},
{
:key => :item,
:name => "Item Speed",
:limit => 99,
:cost => [1, 0.5],
:item_speed => [1], # Item Speed
},
{
:key => :tgr,
:name => "Target Rate",
:limit => 99,
:cost => [1],
:tgr => [0.2], # Target Rate (likelyhood of being targeted)
}, # <- Again, remember the comma even if it's the last one!
# - - - - You can add more distributable parameters here - - - - - - - -
] # <- Do not delete!
#--------------------------------------------------------------------------
# * Actor Personal Parameter Settings
#--------------------------------------------------------------------------
PERSONAL_GAIN_PARAMETER = [] # <- Do not delete or change!
# This section allows you to define distributable parameters for
# specific actors.
#
# PERSONAL_GAIN_PARAMETER[actor_id] = [ settings ]
#
# actor_id is an Actor ID number from your database.
#
# settings follow same syntax and format rules as explained in the
# Default Parameter Settings section above.
#
# If an Actor's parameter block has the same :key as one from the Default
# Parameter Settings section, the Actor's parameter block will take
# precedence. Otherwise, the actor will use all default parameter blocks
# defined in the section above.
PERSONAL_GAIN_PARAMETER[1] = [
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{
:key => :health,
:name => "Health",
:limit => 0,
:cost => [ 0, 0.0],
:mhp => [00, 0], # MaxHP
:def => [ 0, 0.0], # Defense
}, # <- Always remember the comma.
] # End of Actor ID 1's parameter array
# - - - - - - You can create more actor personal parameters here - - - - -
#--------------------------------------------------------------------------
# * Class Parameter Settings
#--------------------------------------------------------------------------
CLASS_GAIN_PARAMETER = [] # <- Do not delete or change!
# This section allows you to define distributable parameters for
# specific classes.
#
# CLASS_GAIN_PARAMETER[class_id] = [ settings ]
#
# class_id is a Class ID number from your database.
#
# settings follow same syntax and format rules as explained in the
# Default Parameter Settings and the Actor Personal Parameter
# Settings sections above.
#
# Parameter Settings priority order is: Class > Actor > Default
# - - - - - - - - You can create class parameters here - - - - - - - - -
#--------------------------------------------------------------------------
# * RP Vocab
#--------------------------------------------------------------------------
VOCAB_RP = "RP"
#--------------------------------------------------------------------------
# * RP Vocab Abbreviation
#--------------------------------------------------------------------------
VOCAB_RP_A = "R" |