MCPcopy Create free account
hub / github.com/Card-Forge/forge / addSetCard

Method addSetCard

forge-core/src/main/java/forge/card/CardDb.java:385–419  ·  view source on GitHub ↗
(CardEdition e, EditionEntry cis, CardRules cr)

Source from the content-addressed store, hash-verified

383 }
384
385 private void addSetCard(CardEdition e, EditionEntry cis, CardRules cr) {
386 int artIdx = IPaperCard.DEFAULT_ART_INDEX;
387 String key = e.getCode() + "/" + cis.name();
388 if (artIds.containsKey(key)) {
389 artIdx = artIds.get(key) + 1;
390 }
391 artIds.put(key, artIdx);
392
393 String variantName = cis.getFunctionalVariantName();
394 String flavorName = cis.getFlavorName();
395 assert(variantName == null || flavorName == null); //Can't currently assign both this way.
396
397 if (variantName == null && !cr.getName().equals(cis.name())) {
398 //If an edition entry uses a known flavor name without specifying the variant, swap to that variant.
399 variantName = flavorNameMappings.get(cis.name());
400 //System.out.printf("Auto-mapping flavor name \"%s\" -> \"%s\" $%s\n", cis.name(), cr.getName(), variantName);
401 }
402 if (flavorName != null) {
403 String suggestedFlavorName = e.getCode().startsWith("OM") ? "Alchemy"
404 : e.getCode().equals("SLX") ? "UniversesWithin"
405 : null;
406 variantName = cr.findOrCreateVariantForFlavorName(flavorName, suggestedFlavorName);
407 String normalizedFlavorName = cr.getDisplayNameForVariant(variantName);
408 if(!flavorNameMappings.containsKey(normalizedFlavorName)) {
409 flavorNameMappings.put(normalizedFlavorName, variantName);
410 flavorNameMappings.put(cr.getName(), IPaperCard.NO_FUNCTIONAL_VARIANT);
411 rulesByAltName.put(normalizedFlavorName, cr);
412 cacheFaceFlavorName(cr.getMainPart().getFunctionalVariant(variantName));
413 if(cr.getOtherPart() != null)
414 cacheFaceFlavorName(cr.getOtherPart().getFunctionalVariant(variantName));
415 }
416 }
417
418 addCard(new PaperCard(cr, e.getCode(), cis.rarity(), artIdx, false, cis.collectorNumber(), cis.artistName(), variantName));
419 }
420
421 private boolean addFromSetByName(String cardName, CardEdition ed, CardRules cr) {
422 List<EditionEntry> cardsInSet = ed.getCardInSet(cardName);

Callers 2

addFromSetByNameMethod · 0.95
initializeMethod · 0.95

Calls 15

cacheFaceFlavorNameMethod · 0.95
addCardMethod · 0.95
containsKeyMethod · 0.80
startsWithMethod · 0.80
getMainPartMethod · 0.80
getOtherPartMethod · 0.80
getMethod · 0.65
getFlavorNameMethod · 0.65
getNameMethod · 0.65
getFunctionalVariantMethod · 0.65

Tested by

no test coverage detected