Player player = game.getPlayer(damageEvent.getPlayerId());
Permanent damageSource = game.getPermanent(damageEvent.getSourceId());
player.addCounters(CounterType.POISON.createInstance(actualDamage), game);
if (damageSource != null && damageSource.getAbilities().containsKey(LifelinkAbility.getInstance().getId())) {
Player controlPlayer = game.getPlayer(damageSource.getControllerId());
controlPlayer.gainLife(actualDamage, game);
}
game.fireEvent(new DamagedPlayerEvent(damageEvent.getPlayerId(), damageEvent.getSourceId(), damageEvent.getPlayerId(), actualDamage, damageEvent.isCombatDamage()));
}
return true;
}