{Name: "Luxury Tax", Amount: 100},
}
-var PropertyOwners = []int32{} // playerID
+var PropertyOwners = []int32{} // playerID
+var PropertyMortgages = []int32{} // mortgaged ownablePropertyIDs
+
+func IsMortgaged(ownablePropertyID int32) bool {
+ for _, oPID := range PropertyMortgages {
+ if oPID == ownablePropertyID {
+ return true
+ }
+ }
+ return false
+}
var SpaceToRespProperty = make(map[int32]int32)
var SpaceToOwnableProperty = make(map[int32]int32)
}
var (
- GoVisitors []int32
- OwnedColorVisitors []OwnedColorVisitor
UnownedPropertyVisitors []UnownedPropertyVisitor
- ChestVisitors []int32
- TaxVisitors []int32
+ OwnedColorVisitors []OwnedColorVisitor
OwnedRailroadVisitors []OwnedRailroadVisitor
+ OwnedUtilityVisitors []OwnedUtilityVisitor
+ GoVisitors []int32
+ TaxVisitors []int32
ChanceVisitors []int32
+ ChestVisitors []int32
JailVisitors []int32
- OwnedUtilityVisitors []OwnedUtilityVisitor
ParkingVisitors []int32
PoliceVisitors []int32
)
propIndex := SpaceToOwnableProperty[nextPos]
if PropertyOwners[propIndex] != -1 { // property owned?
ownerID := PropertyOwners[propIndex]
- if ownerID != playerID { // not by you
+ if ownerID != playerID && !IsMortgaged(propIndex) { // not by you
OwnedColorVisitors = append(OwnedColorVisitors, OwnedColorVisitor{visitorID: playerID, ownerID: ownerID, colorID: SpaceToRespProperty[nextPos]})
}
} else {
propIndex := SpaceToOwnableProperty[nextPos]
if PropertyOwners[propIndex] != -1 { // property owned?
ownerID := PropertyOwners[propIndex]
- if ownerID != playerID { // not by you
+ if ownerID != playerID && !IsMortgaged(propIndex) { // not by you
OwnedRailroadVisitors = append(OwnedRailroadVisitors, OwnedRailroadVisitor{visitorID: playerID, ownerID: ownerID, railroadID: SpaceToRespProperty[nextPos]})
}
} else {
propIndex := SpaceToOwnableProperty[nextPos]
if PropertyOwners[propIndex] != -1 { // property owned?
ownerID := PropertyOwners[propIndex]
- if ownerID != playerID { // not by you
+ if ownerID != playerID && !IsMortgaged(propIndex) { // not by you
OwnedUtilityVisitors = append(OwnedUtilityVisitors, OwnedUtilityVisitor{visitorID: playerID, ownerID: ownerID, utilityID: SpaceToRespProperty[nextPos], diceRoll: diceRoll})
}
} else {