@Moogle_X
By the way. If someone is using this plugin, along with Equipment Learning plugin, they need to make sure this plugin is BELOW Equipment Learning.
Otherwise this function:
Moogle_X.TEB.Game_Actor_onBattleStart = Game_Actor.prototype.onBattleStart;
Game_Actor.prototype.onBattleStart = function() {
Moogle_X.TEB.Game_Actor_onBattleStart.call(this);
this.tebApplyInitBattleStateParty();
};
will cause issues with reported AP gains.
I am really still learning JS, but I think its because onBattleStart is normally a Game_Battler function. The Game_Actor version should invoke the derived class function normally, but for some reason it isn't.
This function... (from equipment learning)
Moogle_X.EQL.Game_Battler_onBattleStart = Game_Battler.prototype.onBattleStart;
Game_Battler.prototype.onBattleStart = function() {
Moogle_X.EQL.Game_Battler_onBattleStart.call(this);
this._eqlBattleAp = 0;
this._eqlNewSkill = [];
console.log("Moogle_X.EQL.Game_Battler_onBattleStart: " + this._eqlBattleAp);
};
Is being called as it should be.
But these functions... (from equipment learning)
Game_Actor.prototype.eqlGainAp = function(value) {
var total = value * this.eqlApBoost();
total = Math.round(total);
if ($gameParty.inBattle()) {
this._eqlBattleAp += total;
}
this.equips().forEach(function(eq) {
if (eq) {
eq.eqlSkill.forEach(function(skillId) {
if (!this._eqlAp[skillId]) this._eqlAp[skillId] = 0;
// Danger Zone (START)
if (!this.eqlCantLearnSkill($dataSkills[skillId])) {
this._eqlAp[skillId] += total; // Original code.
this.eqlCheckMastery(skillId); // Original code.
eval($dataSkills[skillId].eqlApGainEval);
}
// Danger Zone (END)
}, this);
}
}, this);
};
Game_Actor.prototype.eqlBattleAp = function() {
return this._eqlBattleAp;
};
Are iterating a the Game_Actor scope. Rather than the Game_Battler one. Which normally isn't an issue... Until Game_Actor gets its own onBattleStart function. For some reason, it breaks the aliasing...
Again... my best guess. :)
Traits Extension Bundle
● ARCHIVED · READ-ONLY
-
-
Any chance of making Piercing Magic usable on skills & items too? Like how in the Final Fantasy series, the Ultima spell ignores reflect (items too for items that produce a spell's effect as well).
-
How could I set one of these traits to be learned and used when a character reach a certain level in a class?
-
@Roguedeus
I keep track of all the "new trait codes" that I used. I actually started from 110 instead of 127. There is no specific reason for it really. As long as nobody else use those numbers, it's fine.
If you are curious, this is the list of "new trait codes" that I used so far.
SpoilerGame_BattlerBase.TRAIT_DIE_ZERO_MP = 110;
Game_BattlerBase.TRAIT_ELEMENT_BOOST = 111;
Game_BattlerBase.TRAIT_EQS_SLOT_PLUS = 112;
Game_BattlerBase.TRAIT_EQS_LIMIT_PLUS = 113;
Game_BattlerBase.TRAIT_EQL_AP_BOOST = 114;
Game_BattlerBase.TRAIT_PSV_COOLDOWN_DURATION = 115;
Game_BattlerBase.TRAIT_PSV_STYPE_COOLDOWN_DURATION = 116;
Game_BattlerBase.TRAIT_PSV_GLOBAL_COOLDOWN_DURATION = 117;
Game_BattlerBase.TRAIT_PSV_COOLDOWN_RATE = 118;
Game_BattlerBase.TRAIT_PSV_STYPE_COOLDOWN_RATE = 119;
Game_BattlerBase.TRAIT_PSV_GLOBAL_COOLDOWN_RATE = 120;
Game_BattlerBase.TRAIT_PSV_COOLDOWN_CHANGE = 121;
Game_BattlerBase.TRAIT_PSV_STYPE_COOLDOWN_CHANGE = 122;
Game_BattlerBase.TRAIT_PSV_GLOBAL_COOLDOWN_CHANGE = 123;
Game_BattlerBase.TRAIT_PSV_WARMUP_CHANGE = 124;
Game_BattlerBase.TRAIT_PSV_STYPE_WARMUP_CHANGE = 125;
Game_BattlerBase.TRAIT_PSV_GLOBAL_WARMUP_CHANGE = 126;
Game_BattlerBase.TRAIT_TEB_VICTORY_CRY = 127;
Game_BattlerBase.TRAIT_TEB_CATNIP = 128;
Game_BattlerBase.TRAIT_TEB_IBS = 129;
Game_BattlerBase.TRAIT_TEB_IBSP = 130;
Game_BattlerBase.TRAIT_TEB_DISCOUNT = 131;
Game_BattlerBase.TRAIT_TEB_OVERCHARGE = 132;
Game_BattlerBase.TRAIT_OBS_AP_BOOST = 133;
Game_BattlerBase.TRAIT_TEB_STATIC_HP_REGEN = 134;
Game_BattlerBase.TRAIT_TEB_STATIC_MP_REGEN = 135;
Game_BattlerBase.TRAIT_TEB_BER_HP_STATIC = 136;
Game_BattlerBase.TRAIT_TEB_BER_HP_PERCENTAGE = 137;
Game_BattlerBase.TRAIT_TEB_BER_MP_STATIC = 138;
Game_BattlerBase.TRAIT_TEB_BER_MP_PERCENTAGE = 139;
Game_BattlerBase.TRAIT_TEB_PIERCING_MAGIC = 140;
Game_BattlerBase.TRAIT_TEB_IGNORE_COUNTER = 141;
Game_BattlerBase.TRAIT_TEB_NATURAL_CURE = 142;
Game_BattlerBase.TRAIT_TEB_SPELLBOUND = 143;
Game_BattlerBase.TRAIT_TEB_STATIC_PARAMETER_BONUS = 144;
Game_BattlerBase.TRAIT_TEB_FHB_RATE = 145;
Game_BattlerBase.TRAIT_TEB_FHB_STATIC = 146;
Game_BattlerBase.TRAIT_TEB_BER_TP_STATIC = 147;
Game_BattlerBase.TRAIT_TEB_BER_TP_PERCENTAGE = 148;
Game_BattlerBase.TRAIT_TEB_CHB_RATE = 149;
Game_BattlerBase.TRAIT_TEB_CHB_STATIC = 150;
Game_BattlerBase.TRAIT_TEB_MANA_SWITCH = 151;
Game_BattlerBase.TRAIT_TEB_POWER_SWAP = 152;
Game_BattlerBase.TRAIT_TEB_GUARD_SWAP = 153;
About actor's onBattleStart function...
I wonder if making new onBattleStart method for Game_Actor is a bad idea or not.
I am still new to JavaScript as well. Currently, my approach in scripting is basically "as long as it works, it's ok".
I don't really take consideration about "code efficiency" and stuff like that. :p -
What about :
-a "Sturdy" (Pokémon) ability : When the HP of the character are 100%, he can't get one-shot, and will survive with 1 hp.
-a "Protect Girls" (Final Fantasy IX) ability : It's actually the same thing than "Substitute" that covers an ally when low, but it's specific to girls. Being able to protect a specific ally would be great : Based on a variable (for a friendship system ?), between members of a race, protects youngers etc.
-a "Auto-Life" (Final Fantasy IX... again !) ability : Once a character reaches 0 HP with "auto-life" on them, they will automatically revive with low hp. Occurs once per battle.
Do you think you would be able to make it :) ? -
Owesome :>
Is there a way to combine Full HP Bonus and Regeneration so if an actor is full HP by the end of each of their turns, the whole party regenerates some HP? This is from Etrian Odyssey. -
-a "Sturdy" (Pokémon) ability : When the HP of the character are 100%, he can't get one-shot, and will survive with 1 hp.
This just reminded me of the Second Chance skill of Kingdom Hearts, which allowed a character to keep 1 HP after recieving a normally fatal attack. I think this one would be also a good trait to add to the plugin. -
This just reminded me of the Second Chance skill of Kingdom Hearts, which allowed a character to keep 1 HP after recieving a normally fatal attack. I think this one would be also a good trait to add to the plugin.
Yes, Kingdom Hearts is pretty awesome, it's actually my favorite along FF9 :)
Reminds me of another ability from FF9 : "Restore HP" - If the user has 1/6 of his max HP or less and takes damage from an enemy attack and survive, he recovers 50% of his max HP. -
ff13 had a few interesting ones.
Pack mentality - This could be a trait that activates if all party members belong to the same race.
Jungle Law - Trait that has different effect depending on if the actor has higher/lower hp than target.
Role resonance - Activates depending on how many party members share the same role.
Ally KO - Trait activates if an ally falls.
Ethereal Mantle/Magic Damper - 100% resistance to a type of attack unable to be healed with magic. -
>Saw RO as the reference, I'm extremely pleased.
Thank you, I was looking for a way to implement discounts exactly as the RO merchant's passive skill. -
I really dig the Discount and Overcharge!! Now I have to squeeze them into my project. :)
Great work!!
-MIA -
Amazing!
-
hi @Moogle_X
I'm looking for a plugin which has flat parameter bonuses. However, I have SKILL parameter which is in the same degree with atk, def, etc while completely removing MP. (Maybe it works if the parameters are named 'parameter 1', 'parameter 2', and so on
Does yours work for my case? I've found another plugin for that, but the author told me that it won't work for my case... -
That Discount and Overcharge was something I needed, but didn't know until I saw it in print ...
Thanks for this GREAT plugin!! -
Hi!
It's been a while since you worked on this plugin, but I just wanted to know if there was a way to add the Discount (and Overcharge) trait to Objects also ?
I saw it "only" works with Actors, Classes, Weapons, Armors, States... which is already awsome, but you never know! I'm asking because I wanted the Discount to be linked directly to an Object, when you succeed in a Bargain, not to an Actor or Class.
Thanks for your amazing plugins!