7 int DispenseItem(int User, int Item)
14 if(Item < 0 || Item >= giNumItems)
17 item = &gaItems[Item];
18 handler = &gaHandlers[ item->Type ];
20 username = GetUserName(User);
22 ret = handler->CanDispense( User, item->ID );
25 ret = AlterBalance( User, -item->Price );
26 // What value should I use for this error?
27 // AlterBalance should return the final user balance
28 if(ret == 0) return 1;
30 ret = handler->DoDispense( User, item->ID );
32 Log_Error("Dispense failed after deducting cost (%s dispensing %s - %ic)",
33 username, item->Name, item->Price);
34 AlterBalance( User, item->Price );
39 Log_Info("Dispensed %s (%i:%i) for %s [cost %i, balance %i cents]",
40 item->Name, item->Type, item->ID,
41 username, item->Price, GetBalance(User)