void addStaticEffects(Card source, CardList affectedCards, String Keyword_Details, int xValue, int yValue) {

            int powerbonus = 0;
            int toughnessbonus = 0;
            String[] Keyword = Keyword_Details.split("/", 3);

            Keyword[0] = Keyword[0].replace("+", "");
            Keyword[1] = Keyword[1].replace("+", "");

            if (!Keyword[0].contains("X")) powerbonus = Integer.valueOf(Keyword[0]);
            else powerbonus = xValue;         // the xCount takes places before

            if (Keyword[1].contains("X")) toughnessbonus = xValue;
            else if (Keyword[1].contains("Y")) toughnessbonus = yValue;
            else toughnessbonus = Integer.valueOf(Keyword[1]);

            for (int i = 0; i < affectedCards.size(); i++) {
                Card affectedCard = affectedCards.get(i);
                affectedCard.addSemiPermanentAttackBoost(powerbonus);
                affectedCard.addSemiPermanentDefenseBoost(toughnessbonus);
                if (Keyword.length > 2) {
                    String Keywords[] = Keyword[2].split(" & ");
                    for (int j = 0; j < Keywords.length; j++) {
                        String keyword = Keywords[j];
                        if (keyword.startsWith("SVar=")) {
                            String sVar = source.getSVar(keyword.split("SVar=")[1]);
                            if (sVar.startsWith("AB")) { // grant the ability
                                AbilityFactory AF = new AbilityFactory();
                                SpellAbility sa = AF.getAbility(sVar, affectedCard);
                                sa.setType("Temporary");

                                affectedCard.addSpellAbility(sa);
                            }
							else if (sVar.startsWith("Mode")){ // grant a Trigger
								StringBuilder triggerName = new StringBuilder("From ");
                                triggerName.append(source.getName()).append(" (").append(source.getUniqueNumber()).append("): ").append(keyword.split("SVar=")[1]);

                                Trigger actualTrigger = forge.card.trigger.TriggerHandler.parseTrigger(triggerName.toString(),sVar,affectedCard);
                                affectedCard.addTrigger(actualTrigger);
                                AllZone.getTriggerHandler().registerTrigger(actualTrigger);
							} else { // Copy this SVar
                                affectedCard.setSVar(keyword.split("SVar=")[1], sVar);
                            }
                        } else if (keyword.startsWith("Types=")) {
                            String[] tmptypes = keyword.split("=");
                            String[] types = tmptypes[1].split(",");
                            if (types[0].equals("ChosenType")) {
                                types[0] = source.getChosenType();
                            }
                            for (String type : types) affectedCard.addType(type);
                        } else if (keyword.startsWith("Keyword=")) {
                            String sVar = source.getSVar(keyword.split("Keyword=")[1]);
                            affectedCard.addExtrinsicKeyword(sVar);
                        } else if (keyword.startsWith("ForceSVar=")) {
                            String sVar = source.getSVar(keyword.split("SVar=")[1]);
                            affectedCard.setSVar(keyword.split("SVar=")[1],sVar);
                        } else affectedCard.addExtrinsicKeyword(keyword);
                    }
                }
            }
        }