Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// @param lootTable
- var _lootTable = argument0;
- var _result;
- var _objectData;
- var _maxWeight = 0;
- var _arrayLength = array_length_1d(_lootTable);
- var _lootWeight = SetLootWeight(_lootTable);
- var _diceRoll = irandom_range(1, _lootWeight);
- for (var i = 0; i < _arrayLength; i++)
- {
- _objectData = _lootTable[i];
- var _object = _objectData [? "object"];
- var _weight = _objectData [? "weight"];
- _maxWeight += _weight;
- if (_diceRoll <= _maxWeight)
- {
- if (is_array(_object))
- {
- return _object;
- }
- else
- {
- break;
- }
- }
- }
- _result = ds_map_create();
- ds_map_copy(_result, _objectData);
- return _result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement