update
This commit is contained in:
@@ -254,7 +254,15 @@ static func _platz_frei(p: Vector3, groesse: Vector2) -> bool:
|
||||
var c := Orte.center(PLACES, key)
|
||||
var dx: float = absf(p.x - c.x) - (groesse.x + bx) * 0.5
|
||||
var dz: float = absf(p.z - c.z) - (groesse.y + bz) * 0.5
|
||||
if dx < HAUS_ABSTAND and dz < HAUS_ABSTAND:
|
||||
# Zwei Terrassen verschiedener Höhe brauchen Platz für eine gehbare Böschung
|
||||
# dazwischen -- sonst steht vor der Tür eine Klippe, und niemand kommt hinauf.
|
||||
# Randstreifen beider plus eine Böschung dazwischen; über 4 m Höhenunterschied
|
||||
# wird die Böschung zu steil (40°), dann muss der Abstand mitwachsen.
|
||||
var dh := absf(hang(p.length()) - terrasse(key))
|
||||
var luft := HAUS_ABSTAND
|
||||
if dh > 0.6:
|
||||
luft += TERRASSE_RAND + BOESCHUNG + maxf(0.0, dh - 4.0) * 1.5
|
||||
if dx < luft and dz < luft:
|
||||
return false
|
||||
for k in NETZ.kanten:
|
||||
if Netz.trifft_rechteck(NETZ.knoten[k[0]], NETZ.knoten[k[1]], p, groesse, WEG_ABSTAND):
|
||||
@@ -511,10 +519,16 @@ static func _bewohner(i: int) -> Dictionary:
|
||||
var ablauf: Array = []
|
||||
for e in ABLAEUFE[i % ABLAEUFE.size()]:
|
||||
ablauf.append([e[0], haus if e[1] == "haus" else e[1], e[2]])
|
||||
var von := str(Game.completed[i]) if i < Game.completed.size() else ""
|
||||
var mensch := HumanDB.by_id(von)
|
||||
var rolle := _rolle(i)
|
||||
if not mensch.is_empty():
|
||||
rolle += " · aus %s Traum" % _besitz(str(mensch["name"]).get_slice(" ", 0))
|
||||
return {
|
||||
"id": "wesen_%d" % i,
|
||||
"name": _name(i),
|
||||
"rolle": _rolle(i),
|
||||
"rolle": rolle,
|
||||
"von": von,
|
||||
"haus": haus,
|
||||
"leuchtet": true,
|
||||
"farbe": Color.from_hsv(fmod(0.72 + float(i) * 0.161, 1.0), 0.55, 0.95),
|
||||
|
||||
Reference in New Issue
Block a user