use of pcgen.core.Vision in project pcgen by PCGen.
the class PreVisionTest method testVisionZeroTen.
/**
* @throws Exception
*/
public void testVisionZeroTen() throws Exception {
final PlayerCharacter character = getCharacter();
final PCTemplate template = new PCTemplate();
final Prerequisite prereq = new Prerequisite();
prereq.setKind("vision");
prereq.setKey("darkvision");
prereq.setOperator(PrerequisiteOperator.GTEQ);
prereq.setOperand("0");
boolean passes = PrereqHandler.passes(prereq, character, null);
assertTrue(passes);
template.putToList(Vision.VISIONLIST, CDOMDirectSingleRef.getRef(new Vision(VisionType.getVisionType("Darkvision"), FormulaFactory.getFormulaFor(10))), new SimpleAssociatedObject());
character.addTemplate(template);
passes = PrereqHandler.passes(prereq, character, null);
assertTrue(passes);
}
use of pcgen.core.Vision in project pcgen by PCGen.
the class PreVisionTest method testVisionPass.
/**
* @throws Exception
*/
public void testVisionPass() throws Exception {
final PlayerCharacter character = getCharacter();
final PCTemplate template = new PCTemplate();
template.putToList(Vision.VISIONLIST, CDOMDirectSingleRef.getRef(new Vision(VisionType.getVisionType("Darkvision"), FormulaFactory.getFormulaFor(60))), new SimpleAssociatedObject());
character.addTemplate(template);
final Prerequisite prereq = new Prerequisite();
prereq.setKind("vision");
prereq.setKey("darkvision");
prereq.setOperator(PrerequisiteOperator.GTEQ);
prereq.setOperand("30");
final boolean passes = PrereqHandler.passes(prereq, character, null);
assertTrue(passes);
}
use of pcgen.core.Vision in project pcgen by PCGen.
the class PreVisionTest method testVisionPresentTen.
/**
* @throws Exception
*/
public void testVisionPresentTen() throws Exception {
final PlayerCharacter character = getCharacter();
final PCTemplate template = new PCTemplate();
final Prerequisite prereq = new Prerequisite();
prereq.setKind("vision");
prereq.setKey("darkvision");
prereq.setOperator(PrerequisiteOperator.GTEQ);
prereq.setOperand("ANY");
boolean passes = PrereqHandler.passes(prereq, character, null);
assertFalse(passes);
template.putToList(Vision.VISIONLIST, CDOMDirectSingleRef.getRef(new Vision(VisionType.getVisionType("Darkvision"), FormulaFactory.getFormulaFor(10))), new SimpleAssociatedObject());
character.addTemplate(template);
passes = PrereqHandler.passes(prereq, character, null);
assertTrue(passes);
}
use of pcgen.core.Vision in project pcgen by PCGen.
the class PreVisionTest method testVisionPresentZero.
/**
* @throws Exception
*/
public void testVisionPresentZero() throws Exception {
final PlayerCharacter character = getCharacter();
final PCTemplate template = new PCTemplate();
final Prerequisite prereq = new Prerequisite();
prereq.setKind("vision");
prereq.setKey("darkvision");
prereq.setOperator(PrerequisiteOperator.GTEQ);
prereq.setOperand("ANY");
boolean passes = PrereqHandler.passes(prereq, character, null);
assertFalse(passes);
template.putToList(Vision.VISIONLIST, CDOMDirectSingleRef.getRef(new Vision(VisionType.getVisionType("Darkvision"), FormulaFactory.ZERO)), new SimpleAssociatedObject());
character.addTemplate(template);
passes = PrereqHandler.passes(prereq, character, null);
assertTrue(passes);
}
use of pcgen.core.Vision in project pcgen by PCGen.
the class VisionToken method getToken.
/**
* @see pcgen.io.exporttoken.AbstractExportToken#getToken(java.lang.String, pcgen.core.display.CharacterDisplay, pcgen.io.ExportHandler)
*/
@Override
public String getToken(String tokenSource, CharacterDisplay display, ExportHandler eh) {
StringTokenizer aTok = new StringTokenizer(tokenSource, ".");
aTok.nextToken();
List<Vision> visionList = new ArrayList<>(display.getVisionList());
int visionIndex = 0;
int startIndex = 0;
if (aTok.hasMoreTokens()) {
try {
startIndex = Integer.parseInt(aTok.nextToken());
visionIndex = startIndex + 1;
} catch (NumberFormatException e) {
//TODO: Should this really be ignored?
}
} else {
visionIndex = visionList.size();
}
if (visionList.isEmpty() || startIndex >= visionList.size()) {
return "";
}
List<Vision> subList = visionList.subList(Math.max(startIndex, 0), Math.min(visionIndex, visionList.size()));
StringBuilder result = new StringBuilder();
for (Vision vision : subList) {
if (result.length() > 0) {
result.append(", ");
}
result.append(vision.getType());
String distStr = vision.getDistance().toString();
int dist = 0;
if ((distStr != null) && (!distStr.trim().isEmpty())) {
dist = Integer.parseInt(distStr);
}
if (dist > 0) {
result.append(" (");
result.append(Globals.getGameModeUnitSet().displayDistanceInUnitSet(dist));
result.append(Globals.getGameModeUnitSet().getDistanceUnit());
result.append(")");
}
}
return result.toString();
}
Aggregations