From 7eab582d8a8ee2af1a6baae7baf0696c7005de2e Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Fri, 18 Sep 2026 15:16:44 -0400 Subject: fix: harden triggers, economy, casino, world data, and admin/net paths --- internal/game/cmd_estate_directory.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'internal/game/cmd_estate_directory.go') diff --git a/internal/game/cmd_estate_directory.go b/internal/game/cmd_estate_directory.go index 3da2c18..9966e52 100644 --- a/internal/game/cmd_estate_directory.go +++ b/internal/game/cmd_estate_directory.go @@ -182,7 +182,7 @@ func (g *Game) getOwnedHouseRoom(p *player.Player, flagKey string) int { } houseMap := map[string]int{ - "local_neighborhood": 300, + "local_neighborhood": 99999300, } return houseMap[v] } @@ -196,6 +196,14 @@ func (g *Game) teleportPlayer(sess *net.Session, p *player.Player, roomID int) { } } + // A teleport changes rooms just like a walk, so it must clear any safespot + // cover: isSafespotted/safespotBlocksMelee/safespotBlocksHazard compare no + // room, so leaving the state active grants melee and hazard immunity in the + // destination and keeps the player as a phantom occupant of the old cover. + if ss, ok := g.safespot.Get(p.Name); ok { + g.forceLeaveSafespot(sess, p, &ss, "") + } + p.RoomID = roomID p.Stats.RecordRoomVisit(roomID) if g.Hub != nil { -- cgit v1.2.3