There should be a follow up check in CreateBaseItem to handle a negative charge value resulting from item->MaxCharges before creating the item, otherwise the -1 will get passed all the way down the chain.
as everything from this point on is a SINT16 for item charges, one can only assume the intent was to let items potentially have negative charges.
The information that comes from SetStartingItems would have restricted it to 0-255 as the DB is an UNSIGNED TINYINT
|