diff options
Diffstat (limited to 'internal/game/act_use_interaction.go')
| -rw-r--r-- | internal/game/act_use_interaction.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/game/act_use_interaction.go b/internal/game/act_use_interaction.go new file mode 100644 index 0000000..b96aaa3 --- /dev/null +++ b/internal/game/act_use_interaction.go @@ -0,0 +1,23 @@ +package game + +import ( + "thehouseoficarus/internal/behavior" + "thehouseoficarus/internal/net" + "thehouseoficarus/internal/player" +) + +func (g *Game) advanceUseInteraction(sess *net.Session, p *player.Player) { + d, ok := p.Action.Data.(*behavior.UseInteractionData) + if !ok { + g.cancelAction(p) + return + } + if d.Message != "" { + sess.WriteLine(d.Message) + } + if d.Action != nil { + g.applyNodeAction(sess, d.Action) + } + g.broadcastAction(sess, "%s uses the %s.", p.Name, d.ObjName) + g.cancelAction(p) +} |
