ScoreForApplyModifiers = function (card, targetCard, amount, modifierTypes) {
  let score = 0;
  let modifierScore = 0;
  // var gameSession = SDK.GameSession.getInstance();

  for (let i = 0; i < modifierTypes.length; i++) {
    const modifierType = modifierTypes[i];
    const modifier = ModifierFactory.modifierForType(modifierType, SDK.GameSession.create());
    if (modifier instanceof ModifierAirdrop) {
      modifierScore += BOUNTY.MODIFIER_AIRDROP;
    } else if (modifier instanceof ModifierProvoke) {
      modifierScore += BOUNTY.MODIFIER_PROVOKE;
    } else if (modifier instanceof ModifierFirstBlood) {
      modifierScore += BOUNTY.MODIFIER_RUSH;
    } else if (modifier instanceof ModifierRanged) {
      modifierScore += BOUNTY.MODIFIER_RANGED;
    } else if (modifier instanceof ModifierCelerity) {
      modifierScore += BOUNTY.MODIFIER_CELERITY;
    } else if (modifier instanceof ModifierBlastAttack) {
      modifierScore += BOUNTY.MODIFIER_BLAST;
    } else if (modifier instanceof ModifierDeathWatch) {
      modifierScore += BOUNTY.MODIFIER_DEATHWATCH;
    } else if (modifier instanceof ModifierGrow) {
      modifierScore += BOUNTY.MODIFIER_GROW;
    } else if (modifier instanceof ModifierBackstab) {
      modifierScore += BOUNTY.MODIFIER_BACKSTAB;
    } else if (modifier instanceof ModifierRebirth) {
      modifierScore += BOUNTY.MODIFIER_REBIRTH;
    } else if (modifier instanceof ModifierFlying) {
      modifierScore += BOUNTY.MODIFIER_FLYING;
    } else {
      modifierScore += BOUNTY.MODIFIER_GENERIC;
    }
    // etc
  }

  if (targetCard instanceof Entity) {
    score += (modifierScore * amount);
  }

  return score;
}
Returns the score for removing a unit.
@param {Card} card
@param {Card} targetCard
@param {Number} amount
@param {Boolean} [rebase=false]
@returns {Number}
@static
@public