aboutsummaryrefslogtreecommitdiff
path: root/internal/game/act_talk.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/act_talk.go')
-rw-r--r--internal/game/act_talk.go76
1 files changed, 0 insertions, 76 deletions
diff --git a/internal/game/act_talk.go b/internal/game/act_talk.go
index ca6054c..e08fbd2 100644
--- a/internal/game/act_talk.go
+++ b/internal/game/act_talk.go
@@ -2,7 +2,6 @@ package game
import (
"fmt"
- "strconv"
"strings"
"thehouseoficarus/internal/behavior"
@@ -331,78 +330,3 @@ func (g *Game) advanceTalk(sess *net.Session, p *player.Player) {
return
}
}
-
-func (g *Game) applyNodeAction(sess *net.Session, na *behavior.NodeAction) {
- p := sess.Player
- if p == nil {
- return
- }
-
- if na.ReputationCost > 0 {
- rep := getPlayerFlagInt(p, "assassin_reputation")
- if rep < na.ReputationCost {
- sess.WriteLine(fmt.Sprintf("You don't have enough Reputation. (Need %d, have %d)", na.ReputationCost, rep))
- return
- }
- g.setPlayerFlag(p, "assassin_reputation", rep-na.ReputationCost)
- g.AccountStore.SaveCharacter(p)
- }
-
- for k, v := range na.SetGlobalFlags {
- g.GlobalFlags.Set(k, v)
- }
- for k, v := range na.SetPlayerFlags {
- g.setPlayerFlag(p, k, v)
- }
- if na.TakeItem != "" {
- if p.HasItem(na.TakeItem) {
- p.RemoveItem(na.TakeItem, 1)
- }
- }
- if na.GiveItem != "" {
- slot := p.FirstFreeSlot()
- if slot == -1 {
- sess.WriteLine("Your inventory is too full to receive that.")
- } else {
- p.SetInvSlot(slot, &player.InventorySlot{ItemID: na.GiveItem, Quantity: 1})
- g.AccountStore.SaveCharacter(p)
- }
- }
- if na.Teleport > 0 {
- p.RoomID = na.Teleport
- p.Stats.RecordRoomVisit(na.Teleport)
- g.AccountStore.SaveCharacter(p)
- g.World.SeedGroundItems(p.RoomID)
- g.seedRoomMobs(p.RoomID)
- g.seedRoomObjects(p.RoomID)
- if g.Hub != nil {
- g.Hub.EnterRoom(sess, p.RoomID)
- }
- g.doLook(sess)
- g.runEnterSteps(sess, p.RoomID)
- }
- if na.Heal > 0 {
- p.HP += na.Heal
- if maxHP := p.MaxHP(); p.HP > maxHP {
- p.HP = maxHP
- }
- g.AccountStore.SaveCharacter(p)
- sess.WriteLine(fmt.Sprintf("You regain %d hitpoints.", na.Heal))
- }
- if na.Credits != 0 {
- if na.Credits < 0 {
- if p.Credits >= -na.Credits {
- p.Credits += na.Credits
- g.AccountStore.SaveCharacter(p)
- } else {
- sess.WriteLine(fmt.Sprintf("You don't have enough credits. (Need %d, have %d)", -na.Credits, p.Credits))
- }
- } else {
- p.Credits += na.Credits
- g.AccountStore.SaveCharacter(p)
- }
- }
- if na.ApsNode {
- g.setPlayerFlag(p, "aps_node_"+strconv.Itoa(p.RoomID), true)
- }
-}