The Cove's shore life: crabs up the beach from dusk till dawn (keep to the sand, pinch if you get close, crab meat to cook), gulls after food on the sand and fish on a smoking rack; online too
This commit is contained in:
@@ -22,6 +22,8 @@ static func build(kind: String) -> Dictionary:
|
||||
"bear": d = _bear()
|
||||
"fox": d = _scaled(_wolf_parts(Color(0.78, 0.4, 0.15), Color(0.92, 0.88, 0.8), 281), 0.6)
|
||||
"crow": d = _crow()
|
||||
"gull": d = _gull()
|
||||
"crab": d = _crab()
|
||||
"guard": d = _guard()
|
||||
"drowned": d = _drowned()
|
||||
"old_stag": d = _scaled(_stag(), 2.1)
|
||||
@@ -208,6 +210,61 @@ static func _crow() -> Dictionary:
|
||||
"hips": [Vector3(-0.06, 0.19, -0.01), Vector3(0.06, 0.19, -0.01)],
|
||||
"radius": 0.12, "height": 0.3}
|
||||
|
||||
## Gull: a crow's build, bigger, white with grey wings and a yellow beak.
|
||||
static func _gull() -> Dictionary:
|
||||
var white := Color(0.93, 0.93, 0.9)
|
||||
var grey := Color(0.6, 0.63, 0.67)
|
||||
var tip := Color(0.12, 0.12, 0.13)
|
||||
var beak := Color(0.95, 0.75, 0.2)
|
||||
var st := P._begin()
|
||||
var r := _rng(295)
|
||||
var n := _noise(295, 2.0)
|
||||
P._blob(st, Vector3(0, 0.2, 0), Vector3(0.09, 0.085, 0.18), n, 0.08, white, r, 1)
|
||||
P._blob(st, Vector3(0, 0.25, 0.04), Vector3(0.075, 0.05, 0.14), n, 0.06, grey, r, 1)
|
||||
P._blob(st, Vector3(0, 0.28, -0.16), Vector3(0.06, 0.06, 0.065), n, 0.08, white, r, 1)
|
||||
P._cylinder(st, Vector3(0, 0.275, -0.21), Vector3(0, 0.255, -0.3), 0.017, 0.004, 4, beak, r)
|
||||
P._cylinder(st, Vector3(0, 0.22, 0.15), Vector3(0, 0.2, 0.3), 0.035, 0.05, 4, tip, r)
|
||||
for s in [-1.0, 1.0]:
|
||||
P._cylinder(st, Vector3(s * 0.03, 0.13, 0.0), Vector3(s * 0.035, 0.0, 0.02), 0.008, 0.007, 3, beak, r)
|
||||
P._blob(st, Vector3(s * 0.04, 0.295, -0.19), Vector3.ONE * 0.009, n, 0.0, Color(0.1, 0.1, 0.1), r, 0)
|
||||
var wst := P._begin()
|
||||
P._blob(wst, Vector3(0, -0.2, 0.03), Vector3(0.014, 0.21, 0.09), n, 0.04, grey, r, 0)
|
||||
P._blob(wst, Vector3(0, -0.38, 0.05), Vector3(0.012, 0.05, 0.06), n, 0.0, tip, r, 0)
|
||||
return {"body": P._commit(st), "leg": P._commit(wst),
|
||||
"hips": [Vector3(-0.08, 0.25, -0.01), Vector3(0.08, 0.25, -0.01)],
|
||||
"radius": 0.15, "height": 0.38}
|
||||
|
||||
## Crab: a wide, flat red-brown shell facing -Z, two big claws in front and
|
||||
## eyes on stalks; six thin legs splayed out to the sides (crab.gd turns the
|
||||
## whole crab side-on to walk, and flickers the legs).
|
||||
static func _crab() -> Dictionary:
|
||||
var shell := Color(0.66, 0.22, 0.12)
|
||||
var dark := Color(0.42, 0.13, 0.08)
|
||||
var pale := Color(0.9, 0.72, 0.55)
|
||||
var st := P._begin()
|
||||
var r := _rng(297)
|
||||
var n := _noise(297, 2.4)
|
||||
P._blob(st, Vector3(0, 0.11, 0), Vector3(0.2, 0.06, 0.14), n, 0.1, shell, r, 1)
|
||||
P._blob(st, Vector3(0, 0.08, 0.01), Vector3(0.17, 0.035, 0.12), n, 0.05, pale, r, 1)
|
||||
for s in [-1.0, 1.0]:
|
||||
# Arm, then the claw: a fat pincer and a thin finger.
|
||||
P._cylinder(st, Vector3(s * 0.12, 0.1, -0.09), Vector3(s * 0.17, 0.13, -0.2), 0.025, 0.02, 4, shell, r)
|
||||
P._blob(st, Vector3(s * 0.17, 0.14, -0.26), Vector3(0.05, 0.04, 0.07), n, 0.1, shell, r, 1)
|
||||
P._cylinder(st, Vector3(s * 0.17, 0.15, -0.31), Vector3(s * 0.15, 0.16, -0.37), 0.02, 0.006, 4, dark, r)
|
||||
P._cylinder(st, Vector3(s * 0.19, 0.12, -0.31), Vector3(s * 0.18, 0.12, -0.36), 0.014, 0.004, 4, dark, r)
|
||||
# Eyes on stalks.
|
||||
P._cylinder(st, Vector3(s * 0.04, 0.15, -0.11), Vector3(s * 0.05, 0.21, -0.13), 0.008, 0.006, 3, shell, r)
|
||||
P._blob(st, Vector3(s * 0.05, 0.22, -0.13), Vector3.ONE * 0.014, n, 0.0, Color(0.05, 0.05, 0.05), r, 0)
|
||||
var lst := P._begin()
|
||||
P._cylinder(lst, Vector3(0, 0, 0), Vector3(0, -0.11, 0.0), 0.014, 0.01, 3, shell, r)
|
||||
P._cylinder(lst, Vector3(0, -0.11, 0.0), Vector3(0, -0.2, 0.0), 0.01, 0.003, 3, dark, r)
|
||||
var hips: Array = []
|
||||
for s in [-1.0, 1.0]:
|
||||
for z in [-0.05, 0.03, 0.1]:
|
||||
hips.append(Vector3(s * 0.17, 0.1, z))
|
||||
return {"body": P._commit(st), "leg": P._commit(lst), "hips": hips,
|
||||
"radius": 0.2, "height": 0.25}
|
||||
|
||||
## Barrow guard: an upright skeleton facing -Z, in a rusted helm, an old
|
||||
## sword in its right hand and a round shield on its left arm. Two legs
|
||||
## (creature.gd walks them like a pair of a quadruped's).
|
||||
|
||||
Reference in New Issue
Block a user