@@ -0,0 +1,101 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneAlley,
|
||||
Title: "ALLEY — BEHIND NOODLE'S HOUSE",
|
||||
Background: inc.BgAlley,
|
||||
Exits: []inkwell.Exit{
|
||||
{
|
||||
To: inc.SceneNoodleHouse,
|
||||
Label: "back out to the street",
|
||||
Side: inkwell.ExitLeft,
|
||||
},
|
||||
},
|
||||
Actors: []inkwell.SceneActor{
|
||||
{
|
||||
CharacterName: inc.Paul,
|
||||
At: inkwell.Point{
|
||||
X: 120,
|
||||
Y: 232,
|
||||
},
|
||||
},
|
||||
},
|
||||
OnEnter: setVarIfEmpty(inc.VarArmillaStrip, "SRP: 1 tape"),
|
||||
Hotspots: []inkwell.Hotspot{hidingPlace(), backDoor(), bin(), fireEscape()},
|
||||
})
|
||||
}
|
||||
|
||||
func hidingPlace() inkwell.Hotspot {
|
||||
return inkwell.Hotspot{
|
||||
Name: "hiding_place",
|
||||
Label: "gap at the foot of the wall",
|
||||
Area: inkwell.Rect(416, 150, 68, 52),
|
||||
OnLook: inkwell.If(inkwell.Flag(inc.FlagHasTape),
|
||||
inkwell.Say(inc.Paul, "Empty. Whatever was in there is on me now."),
|
||||
inkwell.Say(inc.Paul, "Loose brick. There's a gap behind it."),
|
||||
),
|
||||
OnUse: inkwell.If(inkwell.Flag(inc.FlagPoliceTip),
|
||||
inkwell.If(inkwell.Flag(inc.FlagHasTape),
|
||||
inkwell.Say(inc.Paul, "There's nothing else in there."),
|
||||
inkwell.Seq(
|
||||
inkwell.Say(inc.Paul, "“Behind the brick.” All right then."),
|
||||
inkwell.Give(inc.ItemMysteryTape),
|
||||
inkwell.SetFlag(inc.FlagHasTape),
|
||||
inkwell.Say(inc.Paul, "A Personal Tape. No label, no seal."),
|
||||
inkwell.Say(inc.Dex, "Password-locked. And somebody very much did not want it found."),
|
||||
),
|
||||
),
|
||||
inkwell.Say(inc.Paul, "One loose brick. I'm not taking the alley apart over it."),
|
||||
),
|
||||
OnTake: inkwell.Say(inc.Paul, "I'm not carrying a wall."),
|
||||
}
|
||||
}
|
||||
|
||||
func backDoor() inkwell.Hotspot {
|
||||
return inkwell.Hotspot{
|
||||
Name: "back_door",
|
||||
Label: "locked back door",
|
||||
Area: inkwell.Rect(72, 106, 80, 124),
|
||||
OnLook: inkwell.Say(inc.Paul, "Keypad. Four digits, worn keys."),
|
||||
OnUse: inkwell.Seq(
|
||||
inkwell.Say(inc.Paul, "Locked. And I'm not guessing four digits."),
|
||||
inkwell.Say(inc.Dex, "The wear is heaviest on the two and the seven. That isn't a code. It's fewer options."),
|
||||
),
|
||||
OnTalk: inkwell.Say(inc.Paul, "To the door? I'm not there yet."),
|
||||
OnUseWith: map[string]inkwell.Action{
|
||||
inc.ItemBlackArmilla: inkwell.Seq(
|
||||
inkwell.Say(inc.Paul, "A black-market bracelet doesn't open a keypad."),
|
||||
inkwell.Say(inc.Dex, "But you do get an advert out of it."),
|
||||
),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func bin() inkwell.Hotspot {
|
||||
return inkwell.Hotspot{
|
||||
Name: "bin",
|
||||
Label: "toppled bin",
|
||||
Area: inkwell.Rect(240, 170, 88, 60),
|
||||
OnLook: inkwell.Say(inc.Paul, "Somebody's been through it. Thoroughly."),
|
||||
OnUse: inkwell.Seq(
|
||||
inkwell.Say(inc.Paul, "Already turned out. I'm not going to be the second one."),
|
||||
inkwell.Say(inc.Dex, "The police don't go through bins. So who did?"),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
func fireEscape() inkwell.Hotspot {
|
||||
return inkwell.Hotspot{
|
||||
Name: "fire_escape",
|
||||
Label: "fire escape",
|
||||
Area: inkwell.Rect(528, 44, 88, 160),
|
||||
OnLook: inkwell.Say(inc.Paul, "Runs all the way to the roof. Bottom rung is two metres over my head."),
|
||||
OnUse: inkwell.Say(inc.Paul, "Can't reach it. I'd need something to stand on."),
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneBBSTerminal,
|
||||
Title: "TERMINAL — BBS ACCESS POINT",
|
||||
Background: inc.BgBBSTerminal,
|
||||
Exits: []inkwell.Exit{
|
||||
{
|
||||
Label: "step back from the terminal",
|
||||
Side: inkwell.ExitNear,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneBVKBranch,
|
||||
Title: "BVK — SAN FRANCISCO BRANCH",
|
||||
Background: inc.BgBVKBranch,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneColumbarium,
|
||||
Title: "COLUMBARIUM — DEX'S MEMORIAL",
|
||||
Background: inc.BgColumbarium,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneCuratorShop,
|
||||
Title: "CURATOR SERVICE — THE MASTER'S WORKSHOP",
|
||||
Background: inc.BgCuratorShop,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneHackerspace,
|
||||
Title: "HACKERSPACE",
|
||||
Background: inc.BgHackerspace,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneHospital,
|
||||
Title: "HOSPITAL — PSYCHIATRIC WING",
|
||||
Background: inc.BgHospital,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneIceCreamShop,
|
||||
Title: "ICE CREAM SHOP — WHERE THE BAR WAS",
|
||||
Background: inc.BgIceCreamShop,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc/world"
|
||||
)
|
||||
|
||||
type Scene = inkwell.Scene
|
||||
|
||||
var Manager = inkwell.NewManager[Scene]()
|
||||
|
||||
var Floor = []inkwell.Polygon{
|
||||
inkwell.Poly(
|
||||
inkwell.Point{
|
||||
X: 16,
|
||||
Y: 196,
|
||||
}, inkwell.Point{
|
||||
X: 624,
|
||||
Y: 196,
|
||||
},
|
||||
inkwell.Point{
|
||||
X: 624,
|
||||
Y: 258,
|
||||
}, inkwell.Point{
|
||||
X: 16,
|
||||
Y: 258,
|
||||
},
|
||||
),
|
||||
}
|
||||
|
||||
func setVarIfEmpty(name string, v any) inkwell.Action {
|
||||
return world.Fn(func(ctx *inkwell.Ctx) {
|
||||
if ctx.Game.State.Var(name) == nil {
|
||||
ctx.Game.State.SetVar(name, v)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneNoodleHouse,
|
||||
Title: "NOODLE'S HOUSE — SEALED",
|
||||
Background: inc.BgNoodleHouse,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
{
|
||||
To: inc.SceneAlley,
|
||||
Label: "the alley behind the house",
|
||||
Side: inkwell.ExitRight,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneNormanApartment,
|
||||
Title: "NORMAN'S APARTMENT",
|
||||
Background: inc.BgNormanApartment,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
{
|
||||
To: inc.SceneRooftopHideout,
|
||||
Label: "the stairs up to the roof",
|
||||
Side: inkwell.ExitBack,
|
||||
},
|
||||
{
|
||||
To: inc.SceneBBSTerminal,
|
||||
Label: "Norman's terminal",
|
||||
Side: inkwell.ExitRight,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.ScenePaulShop,
|
||||
Title: "PAUL'S SHOP — JUNK AND GARAGE",
|
||||
Background: inc.BgPaulShop,
|
||||
Exits: []inkwell.Exit{
|
||||
{
|
||||
To: inc.SceneNoodleHouse,
|
||||
Label: "the bus to San Francisco",
|
||||
Side: inkwell.ExitNear,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.ScenePoliceStation,
|
||||
Title: "SFPD — STATION AND HOLDING",
|
||||
Background: inc.BgPoliceStation,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.ScenePublicBBS,
|
||||
Title: "PUBLIC BBS TERMINAL",
|
||||
Background: inc.BgPublicBBS,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneRooftopHideout,
|
||||
Title: "NORMAN'S ROOFTOP HIDEOUT",
|
||||
Background: inc.BgRooftopHideout,
|
||||
Exits: []inkwell.Exit{
|
||||
{
|
||||
To: inc.SceneNormanApartment,
|
||||
Label: "back down into the flat",
|
||||
Side: inkwell.ExitNear,
|
||||
},
|
||||
{
|
||||
To: inc.SceneBBSTerminal,
|
||||
Label: "the old terminal",
|
||||
Side: inkwell.ExitRight,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneSamizdatPress,
|
||||
Title: "SAMIZDAT PRINTING HOUSE",
|
||||
Background: inc.BgSamizdatPress,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneScrapMarket,
|
||||
Title: "SCRAP MARKET",
|
||||
Background: inc.BgScrapMarket,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneSecretClub,
|
||||
Title: "SECRET CLUB — THE UNDERWATER SUN",
|
||||
Background: inc.BgSecretClub,
|
||||
Exits: []inkwell.Exit{
|
||||
{
|
||||
To: inc.SceneBBSTerminal,
|
||||
Label: "the terminal in the corner",
|
||||
Side: inkwell.ExitBack,
|
||||
},
|
||||
{
|
||||
To: inc.SceneTrinketShop,
|
||||
Label: "back out through the shop",
|
||||
Side: inkwell.ExitNear,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneSecretLab,
|
||||
Title: "SECRET RESEARCH LABORATORY",
|
||||
Background: inc.BgSecretLab,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
var exitToSelector = inkwell.Exit{
|
||||
To: inc.SceneSelector,
|
||||
Label: "the rest of the city",
|
||||
Side: inkwell.ExitNear,
|
||||
}
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneSelector,
|
||||
Title: "SAN FRANCISCO",
|
||||
Background: inc.BgSelector,
|
||||
Actors: []inkwell.SceneActor{},
|
||||
Walkboxes: []inkwell.Polygon{},
|
||||
})
|
||||
}
|
||||
|
||||
func FillSelectorPins() {
|
||||
selector, ok := Manager.Get(inc.SceneSelector)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
var exits []inkwell.Exit
|
||||
for _, entity := range Manager.All() {
|
||||
if !leadsToSelector(entity) {
|
||||
continue
|
||||
}
|
||||
exits = append(exits, inkwell.Exit{
|
||||
To: entity.Name,
|
||||
Label: pinLabel(entity.Title),
|
||||
Area: pin(len(exits)),
|
||||
})
|
||||
}
|
||||
selector.Exits = exits
|
||||
Manager.Set(selector)
|
||||
}
|
||||
|
||||
func leadsToSelector(s Scene) bool {
|
||||
for _, e := range s.Exits {
|
||||
if e.To == inc.SceneSelector {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
const (
|
||||
pinCols = 3
|
||||
pinW = 192.0
|
||||
pinH = 32.0
|
||||
pinX = 16.0
|
||||
pinY = 28.0
|
||||
pinGapX = 204.0
|
||||
pinGapY = 38.0
|
||||
)
|
||||
|
||||
func pin(i int) inkwell.Shape {
|
||||
col, row := i%pinCols, i/pinCols
|
||||
return inkwell.Rect(pinX+float64(col)*pinGapX, pinY+float64(row)*pinGapY, pinW, pinH)
|
||||
}
|
||||
|
||||
func pinLabel(title string) string {
|
||||
name, _, _ := strings.Cut(title, " — ")
|
||||
return name
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneServerFarm,
|
||||
Title: "SERVER FARM",
|
||||
Background: inc.BgServerFarm,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneShowroom,
|
||||
Title: "NEUMATRONIC SHOWROOM",
|
||||
Background: inc.BgShowroom,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneSmallRestaurant,
|
||||
Title: "SMALL RESTAURANT — NEXT DOOR",
|
||||
Background: inc.BgSmallRestaurant,
|
||||
Exits: []inkwell.Exit{
|
||||
{
|
||||
To: inc.SceneTrinketShop,
|
||||
Label: "back to the trinket shop",
|
||||
Side: inkwell.ExitLeft,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneStreet,
|
||||
Title: "STREET",
|
||||
Background: inc.BgStreet,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package scene
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
"git.teletypegames.org/games/realworld/inc"
|
||||
)
|
||||
|
||||
func init() {
|
||||
Manager.Register(Scene{
|
||||
Name: inc.SceneTrinketShop,
|
||||
Title: "CHINATOWN — TRINKET SHOP",
|
||||
Background: inc.BgTrinketShop,
|
||||
Exits: []inkwell.Exit{
|
||||
exitToSelector,
|
||||
{
|
||||
To: inc.SceneSmallRestaurant,
|
||||
Label: "the eating place next door",
|
||||
Side: inkwell.ExitRight,
|
||||
},
|
||||
{
|
||||
To: inc.SceneSecretClub,
|
||||
Label: "the way in at the back",
|
||||
Side: inkwell.ExitBack,
|
||||
Needs: inc.FlagClubEntry,
|
||||
Blocked: inkwell.Say(inc.Paul, "Just a shop, as far as the man behind the counter is concerned."),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user