Search in sources :

Example 1 with Param

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>());
}
Also used : PROPERTY(main.content.values.properties.PROPERTY) Param(main.content.values.parameters.Param) PARAMETER(main.content.values.parameters.PARAMETER)

Example 2 with Param

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;
}
Also used : Param(main.content.values.parameters.Param) PARAMETER(main.content.values.parameters.PARAMETER)

Aggregations

PARAMETER (main.content.values.parameters.PARAMETER)2 Param (main.content.values.parameters.Param)2 PROPERTY (main.content.values.properties.PROPERTY)1