Coding combat?

well, there are ActorIterators that just give you the references pretty easily like this:


//EngineUtils.h
for (TActorIterator<**AActor**> ActorItr(GetWorld()); ActorItr; ++ActorItr )
{
	ActorItr->TakeDamage();
}

just swap **AActor **with what ever class you are trying to aim at.

just put this code in your PlayerCharacter and go from there. You should stay out of the GameMode for stuff like damage, movement, basic player logic.
The GameMode should handle game rules, like what pawn/controller to spawn, scores, win conditions etc.