Search in sources :

Example 11 with PCStat

use of pcgen.core.PCStat in project pcgen by PCGen.

the class NPCGenerator method getStatWeights.

private List<PCStat> getStatWeights(PlayerCharacter pc, final PCClass aClass) {
    final WeightedCollection<PCStat> stats = new WeightedCollection<>(theConfiguration.getStatWeights(aClass.getKeyName()));
    final List<PCStat> ret = new ArrayList<>();
    for (int i = 0; i < pc.getDisplay().getStatCount(); i++) {
        final PCStat stat = stats.getRandomValue();
        ret.add(stat);
        stats.remove(stat);
    }
    return ret;
}
Also used : WeightedCollection(pcgen.base.util.WeightedCollection) ArrayList(java.util.ArrayList) PCStat(pcgen.core.PCStat)

Example 12 with PCStat

use of pcgen.core.PCStat in project pcgen by PCGen.

the class PCSPellBaseStatScoreEvaluatorTermEvaluator method resolve.

@Override
public Float resolve(PlayerCharacter pc) {
    final PCClass aClass = pc.getClassKeyed(classKey);
    if (aClass == null) {
        return 0.0f;
    }
    CDOMSingleRef<PCStat> ss = aClass.get(ObjectKey.SPELL_STAT);
    if (ss == null) {
        return 10.0f;
    }
    return (float) pc.getDisplay().getStatModFor(ss.get());
}
Also used : PCClass(pcgen.core.PCClass) PCStat(pcgen.core.PCStat)

Example 13 with PCStat

use of pcgen.core.PCStat in project pcgen by PCGen.

the class AbstractGrantedListTokenTest method testFromStat.

//Language not *supposed* to do things like this
//TODO SizeFacet is not a very good model for doing this by hand :(
//Need to separate the setting of size from the facet that holds it
//Skill not *supposed* to do things like this
@Test
public void testFromStat() throws PersistenceLayerException {
    PCStat source = create(PCStat.class, "Source");
    T granted = createGrantedObject();
    processToken(source);
    /*
		 * We never get a chance to test zero since the Stats are added at
		 * Player Character Construction :)
		 */
    assertTrue(containsExpected(granted));
    assertEquals(1, getCount());
    statFacet.remove(id, source);
    assertEquals(0, getCount());
    assertTrue(cleanedSideEffects());
}
Also used : PCStat(pcgen.core.PCStat) Test(org.junit.Test)

Example 14 with PCStat

use of pcgen.core.PCStat in project pcgen by PCGen.

the class Gui2InfoFactory method getStatAdjustments.

/**
	 * @see pcgen.core.facade.InfoFactory#getStatAdjustments(pcgen.core.facade.RaceFacade)
	 */
@Override
public String getStatAdjustments(RaceFacade raceFacade) {
    if (!(raceFacade instanceof Race)) {
        return EMPTY_STRING;
    }
    Race race = (Race) raceFacade;
    final StringBuilder retString = new StringBuilder(100);
    for (PCStat stat : charDisplay.getStatSet()) {
        if (charDisplay.isNonAbility(stat)) {
            if (retString.length() > 0) {
                retString.append(' ');
            }
            retString.append(stat.getKeyName() + ":Nonability");
        } else {
            if (BonusCalc.getStatMod(race, stat, pc) != 0) {
                if (retString.length() > 0) {
                    retString.append(' ');
                }
                retString.append(stat.getKeyName() + ":" + BonusCalc.getStatMod(race, stat, pc));
            }
        }
    }
    return retString.toString();
}
Also used : Race(pcgen.core.Race) PCStat(pcgen.core.PCStat)

Example 15 with PCStat

use of pcgen.core.PCStat in project pcgen by PCGen.

the class SystemHP method isD20ModernMassive.

/**
	 * Returns true if the damage done is Massive damage under the 
	 * d20 Modern system
	 * 
	 * @param cbt
	 * @param damage
	 * @return true if the damage done is Massive damage under the 
	 * d20 Modern system
	 */
public static boolean isD20ModernMassive(Combatant cbt, int damage) {
    if (cbt instanceof PcgCombatant) {
        PcgCombatant pcgcbt = (PcgCombatant) cbt;
        PlayerCharacter pc = pcgcbt.getPC();
        PCStat stat = Globals.getContext().getReferenceContext().silentlyGetConstructedCDOMObject(PCStat.class, "CON");
        if (damage > pc.getTotalStatFor(stat)) {
            return true;
        }
    } else {
        if (damage > cbt.getHP().getAttribute().getValue()) {
            return true;
        }
    }
    return false;
}
Also used : PlayerCharacter(pcgen.core.PlayerCharacter) PCStat(pcgen.core.PCStat)

Aggregations

PCStat (pcgen.core.PCStat)78 CDOMObject (pcgen.cdom.base.CDOMObject)10 GameMode (pcgen.core.GameMode)10 Before (org.junit.Before)9 Race (pcgen.core.Race)9 PCClass (pcgen.core.PCClass)7 PlayerCharacter (pcgen.core.PlayerCharacter)7 AbstractReferenceContext (pcgen.rules.context.AbstractReferenceContext)7 CDOMSingleRef (pcgen.cdom.reference.CDOMSingleRef)6 PCTemplate (pcgen.core.PCTemplate)6 Skill (pcgen.core.Skill)6 ArrayList (java.util.ArrayList)5 StatLock (pcgen.cdom.helper.StatLock)5 BonusObj (pcgen.core.bonus.BonusObj)5 Test (org.junit.Test)4 Formula (pcgen.base.formula.Formula)4 CharID (pcgen.cdom.enumeration.CharID)4 LoadContext (pcgen.rules.context.LoadContext)4 StringTokenizer (java.util.StringTokenizer)3 Type (pcgen.cdom.enumeration.Type)3