Search in sources :

Example 1 with RACE

use of main.content.enums.entity.HeroEnums.RACE in project Eidolons by IDemiurge.

the class ContentGenerator method initHeight.

// public static void generateBfObjParams(ObjType t) {
// BF_OBJECT_TYPE type = new EnumMaster<BF_OBJECT_TYPE>().retrieveEnumConst(
// BF_OBJECT_TYPE.class, t.getProperty(G_PROPS.BF_OBJECT_TYPE));
// BF_OBJECT_GROUP group = new
// EnumMaster<BF_OBJECT_GROUP>().retrieveEnumConst(
// BF_OBJECT_GROUP.class, t.getProperty(G_PROPS.BF_OBJECT_GROUP));
// BF_OBJECT_SIZE size = new EnumMaster<BF_OBJECT_SIZE>().retrieveEnumConst(
// BF_OBJECT_SIZE.class, t.getProperty(PROPS.BF_OBJECT_SIZE));
// BF_OBJ_MATERIAL material = new
// EnumMaster<BF_OBJ_MATERIAL>().retrieveEnumConst(
// BF_OBJ_MATERIAL.class, t.getProperty(PROPS.BF_OBJ_MATERIAL));
// OBJECT_ARMOR_TYPE armorType = new
// EnumMaster<OBJECT_ARMOR_TYPE>().retrieveEnumConst(
// OBJECT_ARMOR_TYPE.class, t.getProperty(PROPS.OBJECT_ARMOR_TYPE));
// 
// if (armorType == null) {
// switch (type) {
// 
// }
// }
// 
// // TODO
// 
// // stone/wood/metal/ ...
// int i = 0;
// List<String> list = getParamsFor(armorType);
// for (PARAMS portrait : params) {
// t.setParam(portrait, list.getOrCreate(i));
// i++;
// }
// list = getResistancesForArmorType(armorType);
// for (PARAMETER portrait : ValuePages.RESISTANCES) {
// t.setParam(portrait, list.getOrCreate(i));
// i++;
// }
// 
// }
// TODO use mods from size? or multiply later...
// private static String getParams(OBJECT_ARMOR_TYPE armorType, PARAMS portrait) {
// switch (armorType) {
// case AETHER:
// return getAETHERParam(portrait);
// case BONE:
// return getBONEParam(portrait);
// case CRYSTAL:
// return getCRYSTALParam(portrait);
// case ETHEREAL:
// return getETHEREALParam(portrait);
// case FLESH:
// return getFLESHParam(portrait);
// case METAL:
// return getMETALParam(portrait);
// case STONE:
// return getSTONEParam(portrait);
// case WOOD:
// return getWOODParam(portrait);
// 
// }
// 
// return null;
// }
// 
// private static List<String> getResistancesForArmorType(OBJECT_ARMOR_TYPE
// armorType) {
// List<String> list = new ArrayList<>();
// for (PARAMETER portrait : ValuePages.RESISTANCES) {
// switch ((PARAMS) portrait) {
// case PIERCING_RESISTANCE:
// list.add(getPIERCING_RESISTANCE(armorType));
// list.add(getOrCreate(armorType));
// break;
// case BLUDGEONING_RESISTANCE:
// list.add(getBLUDGEONING_RESISTANCE(armorType));
// break;
// case SLASHING_RESISTANCE:
// list.add(getSLASHING_RESISTANCE(armorType));
// break;
// case POISON_RESISTANCE:
// list.add(getPOISON_RESISTANCE(armorType));
// break;
// case FIRE_RESISTANCE:
// list.add(getFIRE_RESISTANCE(armorType));
// break;
// case COLD_RESISTANCE:
// list.add(getCOLD_RESISTANCE(armorType));
// break;
// case ACID_RESISTANCE:
// list.add(getACID_RESISTANCE(armorType));
// break;
// case LIGHTNING_RESISTANCE:
// list.add(getLIGHTNING_RESISTANCE(armorType));
// break;
// case SONIC_RESISTANCE:
// list.add(getSONIC_RESISTANCE(armorType));
// break;
// case LIGHT_RESISTANCE:
// list.add(getLIGHT_RESISTANCE(armorType));
// break;
// case CHAOS_RESISTANCE:
// list.add(getCHAOS_RESISTANCE(armorType));
// break;
// case ARCANE_RESISTANCE:
// list.add(getARCANE_RESISTANCE(armorType));
// break;
// case HOLY_RESISTANCE:
// list.add(getHOLY_RESISTANCE(armorType));
// break;
// case SHADOW_RESISTANCE:
// list.add(getSHADOW_RESISTANCE(armorType));
// break;
// case PSIONIC_RESISTANCE:
// list.add(getPSIONIC_RESISTANCE(armorType));
// break;
// case DEATH_RESISTANCE:
// list.add(getDEATH_RESISTANCE(armorType));
// break;
// }
// }
// 
// return list;
// }
// 
// private static List<String> getParamsFor(OBJECT_ARMOR_TYPE armorType) {
// List<String> list = new ArrayList<>();
// for (PARAMS portrait : params) {
// list.add(getParams(armorType, portrait));
// }
// 
// return list;
// }
public static void initHeight(ObjType t) {
    DC_TYPE TYPE = (DC_TYPE) t.getOBJ_TYPE_ENUM();
    if (t.getIntParam(PARAMS.HEIGHT) != 0) {
        return;
    }
    int height = 0;
    switch(TYPE) {
        case BF_OBJ:
            BF_OBJECT_TYPE type = new EnumMaster<BF_OBJECT_TYPE>().retrieveEnumConst(BF_OBJECT_TYPE.class, t.getProperty(G_PROPS.BF_OBJECT_TYPE));
            BF_OBJECT_GROUP group = new EnumMaster<BF_OBJECT_GROUP>().retrieveEnumConst(BF_OBJECT_GROUP.class, t.getProperty(G_PROPS.BF_OBJECT_GROUP));
            if (type != null) {
                switch(type) {
                }
            }
            if (group != null) {
                switch(group) {
                    case ROCKS:
                        height = 100;
                        break;
                    case TREES:
                        height = 1000;
                        break;
                    default:
                        break;
                }
            }
            break;
        case UNITS:
            List<CLASSIFICATIONS> c = new EnumMaster<CLASSIFICATIONS>().getEnumList(CLASSIFICATIONS.class, t.getProperty(G_PROPS.CLASSIFICATIONS));
            if (c.contains(UnitEnums.CLASSIFICATIONS.GIANT)) {
                height = 600;
            } else if (c.contains(UnitEnums.CLASSIFICATIONS.HUMANOID)) {
                height = 180;
            } else if (c.contains(UnitEnums.CLASSIFICATIONS.TALL)) {
                height = 225;
            } else if (c.contains(UnitEnums.CLASSIFICATIONS.SHORT)) {
                height = 125;
            }
        case CHARS:
            RACE race = new EnumMaster<RACE>().retrieveEnumConst(RACE.class, t.getProperty(G_PROPS.RACE));
            BACKGROUND bg = new EnumMaster<BACKGROUND>().retrieveEnumConst(BACKGROUND.class, t.getProperty(G_PROPS.BACKGROUND));
            GENDER g = new EnumMaster<GENDER>().retrieveEnumConst(GENDER.class, t.getProperty(G_PROPS.GENDER));
            if (race != null) {
                switch(race) {
                    case DEMON:
                        height = 200;
                        break;
                    case DWARF:
                        height = 130;
                        break;
                    case ELF:
                        height = 190;
                        break;
                    case GOBLINOID:
                        height = 160;
                        break;
                    case HUMAN:
                        height = 180;
                        if (bg == HeroEnums.BACKGROUND.MAN_OF_WOLF_REALM) {
                            height += 10;
                        }
                        if (bg == HeroEnums.BACKGROUND.MAN_OF_EAGLE_REALM) {
                            height += 15;
                        }
                        break;
                    case VAMPIRE:
                        height = 180;
                        break;
                    default:
                        break;
                }
            }
            if (g == HeroEnums.GENDER.FEMALE) {
                height -= height / 5;
            }
            break;
    }
    t.setParam(PARAMS.HEIGHT, height);
// per race?
// per obj type
}
Also used : DC_TYPE(main.content.DC_TYPE) BF_OBJECT_GROUP(main.content.enums.entity.BfObjEnums.BF_OBJECT_GROUP) BACKGROUND(main.content.enums.entity.HeroEnums.BACKGROUND) RACE(main.content.enums.entity.HeroEnums.RACE) GENDER(main.content.enums.entity.HeroEnums.GENDER) BF_OBJECT_TYPE(main.content.enums.entity.BfObjEnums.BF_OBJECT_TYPE) CLASSIFICATIONS(main.content.enums.entity.UnitEnums.CLASSIFICATIONS)

Example 2 with RACE

use of main.content.enums.entity.HeroEnums.RACE in project Eidolons by IDemiurge.

the class ModelManager method checkTypeModifications.

private static void checkTypeModifications(OBJ_TYPE obj_type) {
    if (obj_type == DC_TYPE.CHARS || obj_type == DC_TYPE.BF_OBJ || obj_type == DC_TYPE.UNITS) {
        if (obj_type == DC_TYPE.CHARS || obj_type == DC_TYPE.UNITS) {
            for (ObjType type : DataManager.getTypes(obj_type)) {
                DC_ContentManager.addDefaultValues(type, false);
            }
        }
        if (obj_type == DC_TYPE.CHARS) {
            for (ObjType type : DataManager.getTypes(obj_type)) {
                // ContentGenerator.generateArmorPerDamageType(type, null);
                if (type.getGroup().equals("Background")) {
                    PrincipleMaster.initPrincipleIdentification(type);
                }
            }
        }
    }
    checkPrincipleProcessing(obj_type);
    if (obj_type == DC_TYPE.PARTY) {
        ContentGenerator.adjustParties();
    }
    if (obj_type == DC_TYPE.SPELLS) {
        updateSpells();
    }
    if (obj_type == DC_TYPE.ARMOR) {
        generateNewArmorParams();
    } else if (obj_type == DC_TYPE.WEAPONS) {
        generateNewWeaponParams();
    } else if (obj_type == DC_TYPE.DEITIES) {
        for (ObjType type : DataManager.getTypes(obj_type)) // if (type.getGroup().equals("Background"))
        {
            PrincipleMaster.initPrincipleIdentification(type);
        }
    } else if (obj_type == DC_TYPE.ENCOUNTERS) {
        for (ObjType type : DataManager.getTypes(obj_type)) {
            type.setParam(PARAMS.POWER_MINIMUM, EncounterMaster.getMinimumPower(type));
            type.setParam(PARAMS.POWER_BASE, EncounterMaster.getPower(type, null));
            type.setParam(PARAMS.POWER_MAXIMUM, EncounterMaster.getPower(type, false));
        }
    } else if (obj_type == DC_TYPE.ACTIONS) {
        for (ObjType type : DataManager.getTypes(obj_type)) {
            ActionGenerator.addDefaultSneakModsToAction(type);
        }
    } else if (obj_type == DC_TYPE.SKILLS) {
        if (isSkillSdAutoAdjusting()) {
            autoAdjustSkills();
        }
    } else if (obj_type == DC_TYPE.CLASSES) // if (isClassAutoAdjustingOn())
    {
        autoAdjustClasses();
    }
    if (obj_type == DC_TYPE.ACTIONS) {
        for (ObjType type : DataManager.getTypes(obj_type)) {
            if (type.checkProperty(G_PROPS.ACTION_TYPE, ActionEnums.ACTION_TYPE.STANDARD_ATTACK.toString())) {
                DC_ContentManager.addDefaultValues(type, false);
            }
        }
    }
    if (obj_type == DC_TYPE.SPELLS) {
        for (ObjType type : DataManager.getTypes(obj_type)) // if (type.getIntParam(PARAMS.XP_COST) == 0)
        {
            if (!type.getGroup().equals(StringMaster.STANDARD)) {
                type.setParam(PARAMS.XP_COST, type.getIntParam(PARAMS.SPELL_DIFFICULTY) * DC_Formulas.XP_COST_PER_SPELL_DIFFICULTY);
            } else {
                type.setParam(PARAMS.XP_COST, type.getIntParam(PARAMS.SPELL_DIFFICULTY) * DC_Formulas.XP_COST_PER_SPELL_DIFFICULTY);
            }
        }
    }
    if (obj_type == DC_TYPE.WEAPONS || obj_type == DC_TYPE.ARMOR) {
        for (ObjType type : DataManager.getTypes(obj_type)) {
            DC_ContentManager.addDefaultValues(type, false);
        }
    }
    if (obj_type == DC_TYPE.BF_OBJ) {
        generateBfObjProps();
    }
    if (obj_type.isTreeEditType() || obj_type == DC_TYPE.CHARS || obj_type == DC_TYPE.UNITS) {
        if (obj_type == DC_TYPE.CHARS) {
        // XML_Reader.checkHeroesAdded();
        }
        for (ObjType type : DataManager.getTypes(obj_type)) {
            // }
            if (obj_type == DC_TYPE.CHARS) {
                if (!type.isInitialized()) {
                    Game.game.initType(type);
                }
                type.setParam(PARAMS.POWER, DC_MathManager.getUnitPower(type));
                if (StringMaster.isEmpty(type.getProperty(PROPS.OFFHAND_NATURAL_WEAPON))) {
                    type.setProperty((PROPS.OFFHAND_NATURAL_WEAPON), PROPS.NATURAL_WEAPON.getDefaultValue());
                }
                if (ArcaneVault.isSimulationOn()) {
                    int girth = 0;
                    Unit unit = SimulationManager.getUnit(type);
                    RACE race = unit.getRace();
                    if (race != null) {
                        switch(race) {
                            case DEMON:
                                girth = 200;
                                if (unit.getBackground() == HeroEnums.BACKGROUND.INFERI_WARPBORN) {
                                    girth = 80;
                                }
                                break;
                            case ELF:
                                girth = 50;
                                break;
                            case GOBLINOID:
                                girth = 135;
                                break;
                            case VAMPIRE:
                            case HUMAN:
                                girth = 100;
                                break;
                            case DWARF:
                                girth = 175;
                                break;
                        }
                    }
                    if (type.getGroup().equals(StringMaster.BACKGROUND)) {
                        LogMaster.setOff(true);
                        try {
                            unit.resetDefaultAttrs();
                        } catch (Exception e) {
                        } finally {
                            LogMaster.setOff(false);
                        }
                    } else {
                        girth += DataManager.getType(HeroCreator.BASE_HERO, DC_TYPE.CHARS).getIntParam(PARAMS.GIRTH);
                    }
                    if (!type.getName().equals(HeroCreator.BASE_HERO)) {
                        type.setParam(PARAMS.GIRTH, girth);
                    }
                }
            } else {
                type.setParam(PARAMS.TOTAL_XP, DC_MathManager.getUnitXP(type));
            // XML_Transformer.adjustProgressionToWeightForm(type,
            // true);
            // XML_Transformer.adjustProgressionToWeightForm(type,
            // false);
            }
        }
    }
}
Also used : ObjType(main.entity.type.ObjType) RACE(main.content.enums.entity.HeroEnums.RACE) Unit(eidolons.entity.obj.unit.Unit)

Example 3 with RACE

use of main.content.enums.entity.HeroEnums.RACE in project Eidolons by IDemiurge.

the class NameMaster method generateName.

public static String generateName(Entity hero) {
    RACE race = EntityCheckMaster.getRace(hero);
    BACKGROUND bg = EntityCheckMaster.getBackground(hero);
    switch(race) {
        case HUMAN:
            if (bg.toString().contains("Raven")) {
                return generateName(hero, ravenNameGroups);
            }
            if (bg.toString().contains("Griff")) {
                return generateName(hero, griffNameGroups);
            }
            if (bg.toString().contains("Eagle")) {
                return generateName(hero, eagleNameGroups);
            }
            // return generateName(hero, easterlingNameGroups);
            if (bg.toString().contains("King")) {
                return generateName(hero, kingNameGroups);
            }
            if (bg.toString().contains("Wolf")) {
                return generateName(hero, wolfNameGroups);
            }
            if (bg.toString().contains("Ulduin")) {
                return generateName(hero, ravenNameGroups);
            }
            return generateName(hero, DEFAULT_NAME_GROUP);
        // TODO
        case DEMON:
            return generateName(hero, "Demon");
        case DWARF:
            return generateName(hero, "Dwarven");
        case ELF:
            return generateName(hero, "Elven");
        case GOBLINOID:
            return generateName(hero, "Dwarven");
        case VAMPIRE:
            return generateName(hero, ravenNameGroups);
    }
    return null;
}
Also used : RACE(main.content.enums.entity.HeroEnums.RACE) BACKGROUND(main.content.enums.entity.HeroEnums.BACKGROUND)

Aggregations

RACE (main.content.enums.entity.HeroEnums.RACE)3 BACKGROUND (main.content.enums.entity.HeroEnums.BACKGROUND)2 Unit (eidolons.entity.obj.unit.Unit)1 DC_TYPE (main.content.DC_TYPE)1 BF_OBJECT_GROUP (main.content.enums.entity.BfObjEnums.BF_OBJECT_GROUP)1 BF_OBJECT_TYPE (main.content.enums.entity.BfObjEnums.BF_OBJECT_TYPE)1 GENDER (main.content.enums.entity.HeroEnums.GENDER)1 CLASSIFICATIONS (main.content.enums.entity.UnitEnums.CLASSIFICATIONS)1 ObjType (main.entity.type.ObjType)1