From d638a4e1d0c15ce749430e546d695827c04979f1 Mon Sep 17 00:00:00 2001 From: arun Date: Sat, 2 Jun 2007 15:40:16 +0000 Subject: new feature: added checks for re/contra/90 etc. ; fixed: some measages were outdated --- functions.php | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'functions.php') diff --git a/functions.php b/functions.php index f33dd1c..418591d 100644 --- a/functions.php +++ b/functions.php @@ -649,7 +649,48 @@ function sort_comp($a,$b) function can_call($what,$hash) { - return 1; + global $RULES; + + /*TODO: check if this already has been call by teammate */ + + $gameid = DB_get_gameid_by_hash($hash); + $gametype = DB_get_gametype_by_gameid($gameid); + + $NRcards = count(DB_get_hand($me)); + + $NRallcards = 0; + for ($i=1;$i<5;$i++) + { + $user = DB_get_hash_from_game_and_pos($gameid,$i); + $NRallcards += count(DB_get_hand($user)); + }; + + /* in case of a wedding, everything will be delayed by an offset */ + $offset = 0; + if($gametype=="wedding") + { + $offset = DB_get_sickness_by_gameid($gameid); + if ($offset <0) /* not resolved */ + return 0; + }; + + switch ($RULES["call"]) + { + case "1st-own-card": + if( 4-($what/30) >= 12 - $NRcards + $offset) + return 1; + break; + case "5th-card": + if( 27+4*($what/30)) <= $NRallcards + $offset*4) + return 1; + break; + case "9-cards": + if( ($what/10) <= $NRcards + $offset) + return 1; + break; + } + + return 0; } -?> \ No newline at end of file +?> -- cgit v1.2.3-18-g5258