SCRIPT REQUEST FOR VX.
Posts
Pages:
1
There may or may not be something like this already. I need a script that separates Spirit into two different stats- magic attack and magic defense. I don't want magic defense and attack to be directly correlated.
Thinking about this, and I just noticed that you can't give Actor's notes which is what I've been using as my pseudo-data storage for flags and values.

I might get to this when I'm done with other scripts I'm working on, but unless I get a better idea of giving actors new attributes Agility will probably become MagicDefense and Agility becomes level independent or something. Not sure how else to do it for now
(Hint: See if anybody else has done this)

I might get to this when I'm done with other scripts I'm working on, but unless I get a better idea of giving actors new attributes Agility will probably become MagicDefense and Agility becomes level independent or something. Not sure how else to do it for now
(Hint: See if anybody else has done this)
If you search rpgmakervx.net you can find a script that does this.
GRS: To add a new stat, first you need to add the base definition in both Game_Actor and Game_Actor--base it off of level, base_(stat), whatever. Then add the 'current' (state-modified) version to Game_Battler; the definition in Game_Battler is the abbreviation (self.spi, attacker.def, etc.) used to call the stat elsewhere.
If you want equipment to add to it, I usually hack KGC_ReproduceFunctions by c+p'ing the <critical n> tag stuff and changing it to let equipment add the new stat and also to allow enemies to have <stat n> tags.
If you want more clarification, GRS, I'd be happy to upload an old project into which I hacked KGC scripts to have some additional attack/magic stats that both enemies and equipment had. It would include the Game_Battler/Actor/Enemy additions, the modified tags in KGC_ReproduceFunctions, and a modded equip screen in KGC_ExtendedEquip.
GRS: To add a new stat, first you need to add the base definition in both Game_Actor and Game_Actor--base it off of level, base_(stat), whatever. Then add the 'current' (state-modified) version to Game_Battler; the definition in Game_Battler is the abbreviation (self.spi, attacker.def, etc.) used to call the stat elsewhere.
If you want equipment to add to it, I usually hack KGC_ReproduceFunctions by c+p'ing the <critical n> tag stuff and changing it to let equipment add the new stat and also to allow enemies to have <stat n> tags.
If you want more clarification, GRS, I'd be happy to upload an old project into which I hacked KGC scripts to have some additional attack/magic stats that both enemies and equipment had. It would include the Game_Battler/Actor/Enemy additions, the modified tags in KGC_ReproduceFunctions, and a modded equip screen in KGC_ExtendedEquip.
Adding all that stuff isn't hard by any means. I'm thinking about the editor. There'd have to be some easy way of actually setting the actor's extra attributes that doesn't involve some convoluted means of setting the extra attribute's value.
How'd you handle that? Was the extra parameter static, follow an equation (unique to each character?), or what?
How'd you handle that? Was the extra parameter static, follow an equation (unique to each character?), or what?
Ah. Well, what I did (for the example above) was have it be static and 100... it was a weird style of defense that used multipliers (a weak enemy's specialstat would be 80 or something so that against a normal weapon it would take 1.2x damage).
You can have it be based on level, though!
Make a test map with an event that increases level and test these modifications of base_maxhp and base_maxmp:
You can have it be based on level, though!
Make a test map with an event that increases level and test these modifications of base_maxhp and base_maxmp:
#--------------------------------------------------------------------------
# * Get Basic Maximum HP
#--------------------------------------------------------------------------
def base_maxhp
#return actor.parameters[0, @level]
n = (10 + level * 2) * level ^ 1.2
return n.ceil
end
#--------------------------------------------------------------------------
# * Get basic Maximum MP
#--------------------------------------------------------------------------
def base_maxmp
#return actor.parameters[1, @level]
case actor.id
when 1; n = (30 + level) * 80 / 100
else; n = (40 + level) * 120 / 100
end
return n.ceil
end
That's pretty much what I'm trying to avoid save for a last ditch effort. Segregating data like that is bad form and it doesn't offer the same versatility or ease of editing that one of the premade attributes of VX offers. Ideally I'd throw Agility into the Notes segments and whip up a first order equation regex to keep actor data in one logical spot and since the default VX agility is used for turn order it isn't as important as the other stats so it loses its spot on the actor attribute graphs.
Well, that's a lie. What I'd ideally do is just add a new attribute+graph in the actor window, but that's getting out of the realm of reason.
Too bad that's impossible since Enterbrain in their infinite wisdom doesn't have any place to inject data into actors like with items/enemies except in names and that's even worse than data segregation.
Since this is done anyways I don't have to deal with it because I would hate it and anything I produced for it. Screw you Enterbrain.
Well, that's a lie. What I'd ideally do is just add a new attribute+graph in the actor window, but that's getting out of the realm of reason.
Too bad that's impossible since Enterbrain in their infinite wisdom doesn't have any place to inject data into actors like with items/enemies except in names and that's even worse than data segregation.
Since this is done anyways I don't have to deal with it because I would hate it and anything I produced for it. Screw you Enterbrain.
Pages:
1
















