diff options
Diffstat (limited to 'internal/game/act_talk.go')
| -rw-r--r-- | internal/game/act_talk.go | 76 |
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) - } -} |
