Bei mir kommt derselbe Fehler. Die Header werden mit dem ersten html character gesendet.
Mit ein bisschen umschachteln funktionierts:

battle.php
Code:
<?php
	require_once('battle.inc.php');
	require_once('monster.inc.php');
	require_once('player.inc.php');
	
	session_start();
	
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

<html>
...
Und im player.inc.php muss das whitespace nach dem ?> in der letzten Zeile entfernt werden.