use of main.content.values.parameters.Param in project Eidolons by IDemiurge.
the class ContentManager method init.
public static void init(ArrayList<PROPERTY> propz, ArrayList<PARAMETER> paramz) {
props = propz;
params = paramz;
sparams = new ArrayList<>(params.size());
sprops = new ArrayList<>(props.size());
propCache = new HashMap<>(props.size() * 3 / 2);
for (PROPERTY p : props) {
String name = p.getName();
sprops.add(name);
if (LOWER_CASE_CACHED)
name = name.toLowerCase();
propCache.put(name, p);
}
paramCache = new HashMap<>(params.size() * 3 / 2);
for (PARAMETER p : params) {
String name = p.getName();
sparams.add(name);
if (LOWER_CASE_CACHED)
name = name.toLowerCase();
paramCache.put(name, p);
if (p.isAttribute()) {
getAttributes().add(p);
}
if (p.isMastery()) {
if (p instanceof Param) {
getMasteryScores().add(p);
} else {
getMasteries().add(p);
}
}
if (checkParamPerLevel(p)) {
getPerLevelParams().add(p);
}
}
// Collections.sort(props, new DefaultComparator<PROPERTY>());
// Collections.sort(params, new DefaultComparator<PARAMETER>());
}
use of main.content.values.parameters.Param in project Eidolons by IDemiurge.
the class PriorityManagerImpl method getModePriority.
@Override
public int getModePriority(Unit unit, STD_MODES mode) {
PARAMETER p = ContentManager.getPARAM(mode.getParameter());
if (p == null) {
return 0;
}
Integer percentage = unit.getIntParam(ContentManager.getPercentageParam(new Param(ContentManager.getBaseParameterFromCurrent(p)))) / MathMaster.MULTIPLIER;
// how important/good it is for
int base = 100 - percentage;
// this unit
// how important/good is it now
int paramModifier = getParamAnalyzer().getParamPriority(p, unit);
int dangerModifier = 100;
switch(mode) {
case MEDITATION:
if (ParamAnalyzer.isEssenceIgnore(unit))
return 0;
base = getSituationAnalyzer().getCastingPriority(unit);
case CONCENTRATION:
case RESTING:
dangerModifier = getSituationAnalyzer().getMeleeDangerFactor(unit, false, true);
dangerModifier -= getSituationAnalyzer().getRangedDangerFactor(unit);
addMultiplier(base, "param percentage missing");
base = base * getRestorationPriorityMod(unit) / 100;
break;
default:
return 0;
}
// addMultiplier(base, "param percentage missing");
// ++ Life factor?
int timeModifier = 100 + getSituationAnalyzer().getTimeModifier() - getUnit().getParamPercentage(PARAMS.N_OF_ACTIONS);
addMultiplier(timeModifier, "time");
applyMultiplier(paramModifier, "param Modifier");
applyMultiplier(dangerModifier, "danger factor");
return base;
// modifier * (DEFAULT_PRIORITY - percentage) / factor;
}