private static void flipResolve(final AbilityFactory af, final SpellAbility sa) {
        HashMap<String, String> params = af.getMapParams();
        Card host = af.getHostCard();
        Player player = host.getController();
    	
    	ArrayList<Player> caller = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), params.get("Caller"), sa);
		if(caller.size() == 0) caller.add(player);

    	AbilityFactory AF_Outcomes = new AbilityFactory();
    	boolean victory = GameActionUtil.flipACoin(caller.get(0), sa.getSourceCard());

        //Run triggers
        //HashMap<String,Object> runParams = new HashMap<String,Object>();
        //runParams.put("Player", player);

        if (victory) {
            if (params.containsKey("WinSubAbility")) {
                SpellAbility win = AF_Outcomes.getAbility(host.getSVar(params.get("WinSubAbility")), host);
                win.setActivatingPlayer(player);
                ((Ability_Sub) win).setParent(sa);

    			AbilityFactory.resolve(win, false);
    		}
    		//runParams.put("Won","True");
    	}
    	else {
    		if(params.containsKey("LoseSubAbility")) {
    			SpellAbility lose = AF_Outcomes.getAbility(host.getSVar(params.get("LoseSubAbility")), host);
    			lose.setActivatingPlayer(player);
    			((Ability_Sub)lose).setParent(sa);

    			AbilityFactory.resolve(lose, false);
    		}
    		//runParams.put("Won","False");
    	}

        //AllZone.getTriggerHandler().runTrigger("FlipsACoin",runParams);
    }