Interface IFormMastery
-
public interface IFormMastery
This interface is heavily based on how DBC calculates its form masteries. Please check any race's form_mastery.cfg config to get a better understanding on how this interface functionsExample: Strength attribute is 100,000,
A flat level of 1.5x causes this to be 150,000 out of the gate even at form level 0.
A PerLevel of 0.01x causes the attribute to increase 1.01x per form level. At level 1, strength is 101,000. At level 100, strength is 200,000. A -0.01x causes strength to be 50,000 at level 50. Negative values are useful for stuff like Ki Drain.
A MaxLevel caps the effective multiplier of all the above. A max level of 1.5x makes sure that the flat level and perlevel multis will not go above 1.5x, even at max form level. A max level of 0.1x (min in this case, thus the minormax) and a negative perlevel value of -0.01x makes sure that Ki Drain at player's max form level will only be 10x lower than at level 0, and not any lower.
-
-
Method Summary
-
-
-
Method Detail
-
getHealthRequirement
float getHealthRequirement()
- Returns:
- percentage of max body player needs to be under to access form
-
setHealthRequirement
void setHealthRequirement(float healthRequirementInPercent)
-
getMulti
float getMulti(String type, String type1)
- Parameters:
type
- Legal: "attribute","kidrain","heat","pain","healthrequirement,"damageNegation","dodge","tailcutchance"type1
- 3 Legal: "flat", "perlevel", "minormax"- Returns:
- value of specified type
-
setMulti
void setMulti(String type, String type1, float value)
- Parameters:
type
- Legal: "attribute","kidrain","heat","pain","healthrequirement,"damageNegation","dodge","tailcutchance"type1
- 3 Legal: "flat", "perlevel", "minormax"value
- amount to change type1 of type by
-
getGain
float getGain(String eventType, String type)
- Parameters:
eventType
- 4 Legal: "update", "attack", "damaged", "fireki"type
- 4 Legal: "gain", "flat", "permind", "max"- Returns:
- the value of specified type within eventType
-
setGain
void setGain(String eventType, String type, float value)
- Parameters:
eventType
- 4 Legal: "update", "attack", "damaged", "fireki"type
- 4 Legal: "gain", "flat", "permind", "max"value
- amount to change type by within eventType
-
getMaxLevel
float getMaxLevel()
- Returns:
- the max level this form can reach
-
setMaxLevel
void setMaxLevel(float value)
-
getInstantTransformationUnlockLevel
float getInstantTransformationUnlockLevel()
- Returns:
- form level at which instant transformation unlocks
-
setInstantTransformationUnlockLevel
void setInstantTransformationUnlockLevel(float value)
-
hasInstantTransformationUnlockLevel
boolean hasInstantTransformationUnlockLevel()
-
getPainTime
int getPainTime()
-
setPainTime
void setPainTime(int painTime)
- Parameters:
painTime
- Time player will be in pain for after reaching 100% form heat in minutes at form level 0.If player descends when they are at 25% of their full heat bar, they will receive the same % of pain as their heatbar. Descending at 25% heat while having a painTime of 100 minutes will cause 25 minutes of pain
This time decreases with pain mastery. Setting this to 10 and minormax of pain to 0.0 completely disables pain at max form level
-
hasPainTime
boolean hasPainTime()
-
getMaxHeat
int getMaxHeat()
-
setMaxHeat
void setMaxHeat(int maxHeat)
- Parameters:
maxHeat
- Seconds it takes to reach 100% heat. Setting this to 120 means player will reach full form heat in 120 seconds. Player gains 1 heat per second at form level 0 by default. When player reaches maxHeat value of heat, they receive Pain status effect for painTime minutes and they can't transform back to the same form as long as they are in pain.The time the player takes to reach this maxHeat value increases with heat mastery. Setting this to 100 and minormax of pain to 0.1 means player gains 0.1 heat per second at max form level. Setting minormax to 0 completely disables heat at max form level
-
hasHeat
boolean hasHeat()
- Returns:
- True if maxHeat is greater than 1
-
getDamageNegation
float getDamageNegation()
-
setDamageNegation
void setDamageNegation(float damageNegation)
- Parameters:
damageNegation
- Percentage value of damage to negate at form level 0. Setting this to 10 means that 10% of all incoming damage is negated, which is the equivalent to receiving 90% of incoming damage. Setting this to 100% means all incoming damage is negated, taking 0 damage.This damage increases with damageNegation mastery. Setting this to 50% and max to 1.5 means player receives 1.5x the 50%, an effective 75% damage negation at max form level
-
hasDamageNegation
boolean hasDamageNegation()
- Returns:
- True if damageNegation is bigger than 0
-
getDodgeChance
float getDodgeChance()
-
setDodgeChance
void setDodgeChance(float dodgeChance)
- Parameters:
dodgeChance
- From 0-100, the chance to dodge any incoming attack at form level 0This chances increases with dodge mastery. Setting this to 50% and max to 1.5 means player has a 75% chance to dodge any attack at max form level
-
hasDodge
boolean hasDodge()
- Returns:
- True if dodgeChance is bigger than 0
-
getKiDrain
float getKiDrain()
-
setKiDrain
void setKiDrain(float kiDrain)
- Parameters:
kiDrain
- percentage of Ki to drain every KiDrainTimer ticks at form level 0This drain decreases with kiDrain mastery. Setting this to 10% and min to 0.1x means player has a 1% of their ki drained per tick at max form level
-
hasKiDrain
boolean hasKiDrain()
- Returns:
- True if kiDrain is greater than 0
-
getKiDrainTimer
int getKiDrainTimer()
-
setKiDrainTimer
void setKiDrainTimer(int timeInTicks)
- Parameters:
timeInTicks
- time to reduce ki by KiDrain value in ticks
-
save
IFormMastery save()
Saves CustomForm with the New Form Mastery Modifications- Returns:
- IFormMastery self object
-
isAbsorptionBoostEnabled
boolean isAbsorptionBoostEnabled()
-
isPowerPointBoostEnabled
boolean isPowerPointBoostEnabled()
-
setPowerPointCost
void setPowerPointCost(int cost)
-
setPowerPointGrowth
void setPowerPointGrowth(int growth)
-
getPowerPointCost
int getPowerPointCost()
-
getPowerPointGrowth
int getPowerPointGrowth()
-
setPowerPointMultiNormal
void setPowerPointMultiNormal(float multi)
-
setPowerPointMultiBasedOnPoints
void setPowerPointMultiBasedOnPoints(float multi)
-
getPowerPointMultiNormal
float getPowerPointMultiNormal()
-
getPowerPointMultiBasedOnPoints
float getPowerPointMultiBasedOnPoints()
-
setAbsorptionMulti
void setAbsorptionMulti(float multi)
-
getAbsorptionMulti
float getAbsorptionMulti()
-
setDestroyerOn
void setDestroyerOn(boolean isOn)
-
isDestroyerOn
boolean isDestroyerOn()
-
setDestroyerEnergyDamage
void setDestroyerEnergyDamage(float energyDamage)
-
getDestroyerEnergyDamage
float getDestroyerEnergyDamage()
-
getMasteryLinks
IFormMasteryLinkData getMasteryLinks()
-
-