This commit is contained in:
Mark Hoekveen
2019-10-27 21:38:56 +01:00
parent a73b23575d
commit a05c72fc4a
6 changed files with 169 additions and 99 deletions
+47 -9
View File
@@ -12,6 +12,20 @@ const TRAITS = {
}
const TIERS_STRING = "12 3 1 23 12 3 4 51 2 3 4 1 "
const TRAIT_STRING = "Arm Leg Head Skin Penis"
const SKIN_COLORS = [
Color("#000000"),
Color("#ff0000"),
Color("#0000ff"),
Color("#ffff00"),
Color("#ffffff"),
Color("#888888"),
Color("#ff0088"),
Color("#ff8800"),
Color("#8800ff"),
Color("#0088ff"),
Color("#880088"),
Color("#333333")
]
func initialize():
# Make one boolean per thing we need
@@ -29,10 +43,22 @@ func sum(a):
sum += a[i]
return sum
func range_trait(name):
var start = 0
var end = 0
for i in TRAITS:
if i != name:
start += sum(TRAITS[i])
else:
print(TRAITS[i])
end = start+sum(TRAITS[i])
break
return range(start, end)
func describe():
var TRAIT_DESC = "Has a %s trait of tier %d."
var LATENT_DESC = " latent tier %d trait."
var out = ""
var d = 0
var found_trait = false
for i in range(TRAITS.size()):
@@ -40,10 +66,10 @@ func describe():
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])
out += TRAIT_DESC % [TRAITS.keys()[i], j+1] + '\n'
found_trait = true
elif found_trait && dna[d]:
print(LATENT_DESC % [j+1])
out += LATENT_DESC % [j+1] + '\n'
d += 1
var strand = ""
for i in range(dna.size()):
@@ -51,15 +77,27 @@ func describe():
strand += "1"
else:
strand += "0"
print(strand)
print(TIERS_STRING)
print(TRAIT_STRING)
get_node("InfoScreen/Viewport/Control/Description").text = (strand)
out += strand + '\n'
out += TIERS_STRING + '\n'
out += TRAIT_STRING + '\n'
return out
func set_color():
var j = 0
var x = 0
for i in range_trait("Skin"):
if dna[i]:
x = j
break
j += 1
var mesh = get_node("Node/Node 2/Armature/Mesh")
var mat = mesh.get_surface_material(0).duplicate()
mat.albedo_color = SKIN_COLORS[x]
mesh.set_surface_material(0, mat)
print(SKIN_COLORS[x])
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