23 lines
729 B
GDScript
23 lines
729 B
GDScript
extends StaticBody3D
|
|
## A rowing boat tied up at the pier (moorings.gd): whose it is, and, for
|
|
## its owner, "Set sail".
|
|
|
|
const PostScript = preload("res://scripts/world/mooring_post.gd")
|
|
|
|
var moorings: Node3D
|
|
var owner_id := ""
|
|
var rest := Transform3D() ## where it's tied up (it bobs about this)
|
|
|
|
func mine(player: Node) -> bool:
|
|
return PostScript.id_of(player) == owner_id
|
|
|
|
func interact_prompt(player: Node) -> String:
|
|
if mine(player):
|
|
return "Your rowing boat [E] Set sail"
|
|
var who := String(moorings.moored.get(owner_id, {}).get("name", ""))
|
|
return "%s's rowing boat" % who if not who.is_empty() else "Someone's rowing boat"
|
|
|
|
func interact(player: Node) -> void:
|
|
if mine(player):
|
|
moorings.set_sail(player)
|