- diff --git a/nml/actions/action0properties.py b/nml/actions/action0properties.py
- index eebfd95..53da8c3 100644
- --- a/nml/actions/action0properties.py
- +++ b/nml/actions/action0properties.py
- @@ -751,7 +751,7 @@ def industry_prod_multiplier(value):
- props.append(Action0Property(0x12 + i, val, 1))
- return props
- else:
- - return [ByteListProp(0x27, [value.values])]
- + return [ByteListProp(0x27, [[i.reduce_constant().value for i in value.values]])]
- class RandomSoundsProp(BaseAction0Property):
- def __init__(self, sound_list):
- @@ -821,15 +821,15 @@ def industry_input_multiplier_ext(value):
- raise generic.ScriptError("Input multiplier must be an array with a multiple of 3 values", value.pos)
- multipliers = []
- max_in, max_out = 0, 0
- - for i in range(len(value.values) / 3):
- + for i in range(len(value.values) // 3):
- in_slot, out_slot, mul = value.values[i*3:i*3+3]
- if not (isinstance(in_slot, ConstantNumeric) and isinstance(out_slot, ConstantNumeric) and isinstance(mul, (ConstantNumeric, ConstantFloat))):
- raise generic.ScriptError("Expected a compile-time constant (triplets of int/int/float)", value.pos)
- - check_range(in_slot.value, 0, 16, "input_multiplier slot", in_slot.pos)
- - check_range(out_slot.value, 0, 16, "input_multiplier slot", out_slot.pos)
- - check_range(mul.value, 0, 256, "input_multiplier value", mul.pos)
- + generic.check_range(in_slot.value, 0, 16, "input_multiplier slot", in_slot.pos)
- + generic.check_range(out_slot.value, 0, 16, "input_multiplier slot", out_slot.pos)
- + generic.check_range(mul.value, 0, 256, "input_multiplier value", mul.pos)
- max_in, max_out = max(max_in, in_slot.value), max(max_out, out_slot.value)
- - multipliers = multipliers + [(in_slot.value, out_slot.value, int(mul.value * 256)]
- + multipliers = multipliers + [(in_slot.value, out_slot.value, int(mul.value * 256))]
- if max_in < 3 and max_out < 2:
- # old properties
- tbl = [[0, 0], [0, 0], [0, 0]]