65 lines
1.5 KiB
GDScript
65 lines
1.5 KiB
GDScript
extends Node
|
|
|
|
var naampje = "je moeder"
|
|
var dna = []
|
|
# const DNA_SIZE = 173;
|
|
const TRAITS = {
|
|
"Arm": [1, 4, 5],
|
|
"Leg": [2, 1, 2],
|
|
"Head": [1, 2, 2, 2, 1],
|
|
"Skin": [3, 3, 3, 3],
|
|
"Penis": [2]
|
|
}
|
|
const TIERS_STRING = "12 3 1 23 12 3 4 51 2 3 4 1 "
|
|
const TRAIT_STRING = "Arm Leg Head Skin Penis"
|
|
|
|
func initialize():
|
|
# Make one boolean per thing we need
|
|
for i in range(TRAITS.size()):
|
|
for j in range(TRAITS.values()[i].size()):
|
|
for x in range(TRAITS.values()[i][j]):
|
|
if randf() > 0.1:
|
|
dna.append(false)
|
|
else:
|
|
dna.append(true)
|
|
|
|
func sum(a):
|
|
var sum = 0
|
|
for i in range(a.size()):
|
|
sum += a[i]
|
|
return sum
|
|
|
|
func describe():
|
|
var TRAIT_DESC = "Has a %s trait of tier %d."
|
|
var LATENT_DESC = " latent tier %d trait."
|
|
|
|
var d = 0
|
|
var found_trait = false
|
|
for i in range(TRAITS.size()):
|
|
found_trait = false
|
|
for j in range(TRAITS.values()[i].size()):
|
|
for x in range(TRAITS.values()[i][j]):
|
|
if !found_trait && dna[d]:
|
|
print(TRAIT_DESC % [TRAITS.keys()[i], j+1])
|
|
found_trait = true
|
|
elif found_trait && dna[d]:
|
|
print(LATENT_DESC % [j+1])
|
|
d += 1
|
|
var strand = ""
|
|
for i in range(dna.size()):
|
|
if dna[i]:
|
|
strand += "1"
|
|
else:
|
|
strand += "0"
|
|
print(strand)
|
|
print(TIERS_STRING)
|
|
print(TRAIT_STRING)
|
|
get_node("InfoScreen/Viewport/Control/Description").text = (strand)
|
|
|
|
func _ready():
|
|
initialize()
|
|
# print(dna.size())
|
|
describe()
|
|
#Register the selection event
|
|
get_node("Area").connect('input_event', get_parent(), 'select_a_bitch', [get_index()])
|
|
pass |