fixed checksum and added seed-based chest spawning order
This commit is contained in:
@@ -32,15 +32,9 @@ func weighted_random(choices):
|
||||
sum_of_choices += choices[i]
|
||||
|
||||
var random_number = randf_range(0,sum_of_choices)
|
||||
print("----------------------------------------------------------------")
|
||||
print("CHOICES: ",choices)
|
||||
print("SUM OF CHOICES: ",sum_of_choices)
|
||||
print("RANDOM NUMBER: ",random_number)
|
||||
|
||||
for i in choices:
|
||||
if random_number < choices[i]:
|
||||
print("SELECTION: ", i)
|
||||
print("----------------------------------------------------------------")
|
||||
return i
|
||||
random_number -= choices[i]
|
||||
|
||||
@@ -54,37 +48,21 @@ func only_valid_chars(input_string: String) -> String:
|
||||
return valid_chars
|
||||
|
||||
func checksum(check_data):
|
||||
var mult = 0.0
|
||||
var div : float = 0.0
|
||||
var checksum : float = 0.0
|
||||
var index = 0.0
|
||||
|
||||
var checksum_array = []
|
||||
|
||||
#hash all passed-in data and add to new array
|
||||
for data in check_data:
|
||||
#get value from names
|
||||
if data is String:
|
||||
var stringnumber = 0
|
||||
var letter_index = 0
|
||||
for char in data:
|
||||
if char.is_valid_identifier():
|
||||
if letter_to_number.has(char.to_upper()):
|
||||
stringnumber += letter_to_number[char.to_upper()]
|
||||
|
||||
letter_index += 1
|
||||
|
||||
print("stringnumber : ",stringnumber)
|
||||
data = stringnumber + letter_index
|
||||
|
||||
if data == null or data ==0:
|
||||
data = TAU
|
||||
if data > div:
|
||||
div = data
|
||||
if index == 0:
|
||||
mult = PI * data
|
||||
checksum += mult * data
|
||||
mult = PI * data
|
||||
print("DATA : ",data," | MULT : ",mult)
|
||||
index += 1
|
||||
var hashed_data = hash(data)
|
||||
checksum_array.append(hashed_data)
|
||||
|
||||
checksum = checksum/div
|
||||
print(checksum)
|
||||
return checksum
|
||||
#add together
|
||||
var checksum_final = 0
|
||||
for num in checksum_array:
|
||||
if num is int:
|
||||
checksum_final += num
|
||||
|
||||
#finally, re-hash
|
||||
checksum_final = hash(checksum_final)
|
||||
|
||||
return checksum_final
|
||||
|
||||
Reference in New Issue
Block a user