rollconflictdice.php

<? include 'xmlheader.php'?>
<?
echo "<?xml version=\"1.0\" ?>";?>
<root>
<?php
     
include 'include.php';

     
openDatabase();

     
$gameid getGameId();
     
$gameusermapid getAndCheckParameter("gameusermapid"PATTERN_NUMERIC"There has been a database error");

     
$sGetDiceQuery "SELECT conflictdicetoaward, singlerollsuccesses, singlerollfailures, invocationstatus FROM game INNER JOIN gameusermap ON game.gameid = gameusermap.gameid WHERE gameusermap.gameusermapid = ".$gameusermapid;

     
$row queryDatabaseForSingleRow($sGetDiceQuery);

     if (
$row["invocationstatus"] == 'proposed')
     {
     
$conflictdicetoaward $row["conflictdicetoaward"];
     
$singlerollsuccesses $row["singlerollsuccesses"];
     
$singlerollfailures $row["singlerollfailures"];

     while (
$conflictdicetoaward 0)
     {
         if (
rand(16) > 4)
         {
             
$singlerollsuccesses ++;
         }
         else
         {
             
$singlerollfailures ++;
         }

          
$conflictdicetoaward --;
     }

    
$sUpdateGameQuery "UPDATE game SET singlerollsuccesses = ".$singlerollsuccesses.", singlerollfailures = ".$singlerollfailures." WHERE gameid = ".$gameid;

    echo 
$sUpdateGameQuery ;

    
updateDatabase($sUpdateGameQuery);

    
$sUpdateGameUserMapQuery "UPDATE gameusermap SET invocationstatus = 'available', conflictdicetoaward = 0 WHERE gameusermapid = ".$gameusermapid;

    echo 
$sUpdateGameUserMapQuery;

    
updateDatabase($sUpdateGameUserMapQuery);

    
outputConflicts();

    
$sReturnQuery "SELECT singlerollsuccesses, singlerollfailures FROM game WHERE gameid = ".$gameid;

    
$rowReturn queryDatabaseForSingleRow($sReturnQuery);

    
outputRowAsXml($rowReturn);
    }

    
closeDatabase();
?>
</root>