Beispiel #1
0
int player_roll_item_cmd(Player* p, uint8_t* body, uint32_t bodylen)
{
	CHECK_VAL_EQ(bodylen, (uint32_t)sizeof(player_roll_item_t));
	player_roll_item_t* pRoll = reinterpret_cast<player_roll_item_t*>(body);	
	int32_t roll_point = 0;	
	bool ret = set_player_roll_point(p, pRoll->battle_id, pRoll->roll_id, pRoll->roll_flag, roll_point);
	if( !ret){
		return send_header_to_player(p, p->waitcmd, cli_err_roll_item_fail, 1); 
	}
	Battle *btl = p->btl;
	//notify the other team player execpt myself and not clear waitcmd
	btl->notify_team_roll_point(pRoll->roll_id, p->id, roll_point, p->id);
	//notify myself and clear waitcmd
	return send_roll_point(p, pRoll->roll_id, roll_point);
}