def forceUnclaim(x, z): position = (x, z) plot = plots[position] if plot.status == PlotStatus.CLAIMED and plot.owner in players: players[plot.owner].numPlots += 1 plot.status = PlotStatus.FREE PhysicalMap.unclaim(x, z)
def reserve(x, z): position = (x, z) plot = plots[position] if plot.status != PlotStatus.FREE: return False plot.reserve() PhysicalMap.claim(x, z) return True
def unclaim(name, x, z): position = (x, z) plot = plots[position] if (plot.status != PlotStatus.CLAIMED and plot.status != PlotStatus.TEMP) or plot.owner != name: return False players[name].numPlots += 1 plot.status = PlotStatus.FREE PhysicalMap.unclaim(x, z)
def special(x, z, description): position = (x, z) plot = plots[position] if plot.status != PlotStatus.FREE: return False plot.special(description) PhysicalMap.claim(x, z) return True
def claim(name, x, z): position = (x, z) plot = plots[position] if plot.status != PlotStatus.FREE: return False if players[name].numPlots == 0: return False players[name].numPlots -= 1 plot.claim(name) PhysicalMap.claim(x, z) return True
def forceClaim(name, x, z): position = (x, z) plots[position].claim(name) PhysicalMap.claim(x, z)