MCPcopy Create free account
hub / github.com/PCGen/pcgen / calcBonusesWithCost

Method calcBonusesWithCost

code/src/java/pcgen/core/BonusManager.java:1247–1296  ·  view source on GitHub ↗
(Iterable<BonusObj> list)

Source from the content-addressed store, hash-verified

1245 }
1246
1247 double calcBonusesWithCost(Iterable<BonusObj> list)
1248 {
1249 double totalBonus = 0;
1250
1251 for (BonusObj aBonus : list)
1252 {
1253 final CDOMObject anObj = (CDOMObject) getSourceObject(aBonus);
1254
1255 if (anObj == null)
1256 {
1257 continue;
1258 }
1259
1260 double iBonus = 0;
1261
1262 if (aBonus.qualifies(pc, anObj))
1263 {
1264 iBonus = aBonus.resolve(pc, anObj.getQualifiedKey()).doubleValue();
1265 }
1266
1267 int k;
1268 if (ChooseActivation.hasNewChooseToken(anObj))
1269 {
1270 k = 0;
1271
1272 for (String aString : pc.getConsolidatedAssociationList(anObj))
1273 {
1274 if (aString.equalsIgnoreCase(aBonus.getBonusInfo()))
1275 {
1276 ++k;
1277 }
1278 }
1279 }
1280 else
1281 {
1282 k = 1;
1283 }
1284
1285 if ((k == 0) && !CoreUtility.doublesEqual(iBonus, 0))
1286 {
1287 totalBonus += iBonus;
1288 }
1289 else
1290 {
1291 totalBonus += (iBonus * k);
1292 }
1293 }
1294
1295 return totalBonus;
1296 }
1297
1298 public boolean hasTempBonusesApplied(CDOMObject mod)
1299 {

Callers 1

Calls 10

getSourceObjectMethod · 0.95
getQualifiedKeyMethod · 0.95
hasNewChooseTokenMethod · 0.95
doublesEqualMethod · 0.95
doubleValueMethod · 0.80
equalsIgnoreCaseMethod · 0.80
getBonusInfoMethod · 0.80
qualifiesMethod · 0.65
resolveMethod · 0.65

Tested by

no test coverage detected