aboutsummaryrefslogtreecommitdiff
path: root/internal/game/act_effects.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/act_effects.go')
-rw-r--r--internal/game/act_effects.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/internal/game/act_effects.go b/internal/game/act_effects.go
index a49bd84..4438eb6 100644
--- a/internal/game/act_effects.go
+++ b/internal/game/act_effects.go
@@ -113,14 +113,14 @@ func (g *Game) applyStep(sess *net.Session, p *player.Player, step *behavior.Ste
// 5. set_player_flags (and globals, folded in so the SetAll happens once).
if len(step.SetGlobalFlags) > 0 || len(step.SetPlayerFlags) > 0 {
g.applyFlagMutations(p, step.SetGlobalFlags, step.SetPlayerFlags)
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
}
// 6. take_item
if step.TakeItem != "" {
if p.HasItem(step.TakeItem) {
p.RemoveItem(step.TakeItem, 1)
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
}
}
@@ -133,7 +133,7 @@ func (g *Game) applyStep(sess *net.Session, p *player.Player, step *behavior.Ste
}
} else {
p.SetInvSlot(slot, &player.InventorySlot{ItemID: step.GiveItem, Quantity: 1})
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
}
}
@@ -153,7 +153,7 @@ func (g *Game) applyStep(sess *net.Session, p *player.Player, step *behavior.Ste
if maxHP := p.MaxHP(); p.HP > maxHP {
p.HP = maxHP
}
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
if sess != nil {
sess.WriteLine(fmt.Sprintf("You regain %d hitpoints.", step.Heal))
}
@@ -164,13 +164,13 @@ func (g *Game) applyStep(sess *net.Session, p *player.Player, step *behavior.Ste
if step.Credits < 0 {
if p.Credits >= -step.Credits {
p.Credits += step.Credits
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
} else if sess != nil {
sess.WriteLine(fmt.Sprintf("You don't have enough credits. (Need %d, have %d)", -step.Credits, p.Credits))
}
} else {
p.Credits += step.Credits
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
}
}
@@ -195,7 +195,7 @@ func (g *Game) applyStep(sess *net.Session, p *player.Player, step *behavior.Ste
// 14. aps_node — dynamic room-id flag, kept as a dedicated effect.
if step.ApsNode {
g.setPlayerFlag(p, "aps_node_"+strconv.Itoa(p.RoomID), true)
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
}
}
@@ -230,7 +230,7 @@ func (g *Game) giveTriggerDrop(sess *net.Session, p *player.Player, drop *behavi
if sess != nil {
sess.WriteLine(fmt.Sprintf("You receive %d credits.", qty))
}
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
return
}
@@ -249,7 +249,7 @@ func (g *Game) giveTriggerDrop(sess *net.Session, p *player.Player, drop *behavi
p.SetInvSlot(freeSlot, &player.InventorySlot{ItemID: drop.ItemID, Quantity: qty})
sess.WriteLine(fmt.Sprintf("You receive %s.", g.itemColorize(sess, lootDef, name)))
- g.AccountStore.SaveCharacter(p)
+ g.saveCharacter(p)
}
// applyTalkStep fires a talk node/option's Action (a single Step)