@@ -0,0 +1,1466 @@
+package massim.scenario.city.data.facilities;%0A%0Aimport massim.scenario.city.data.Location;%0A%0A/**%0A * A well in the City scenario. Generates points in each step.%0A */%0Apublic class Well extends Facility %7B%0A%0A    private int integrity;%0A    private int maxIntegrity;%0A    private int efficiency;%0A    private boolean completed = false;%0A%0A    public Well(String name, Location location, WellType type) %7B%0A        super(name, location);%0A        this.efficiency = type.efficiency;%0A        this.integrity = type.initialIntegrity;%0A        this.maxIntegrity = type.maxIntegrity;%0A    %7D%0A%0A    public void build(int skill) %7B%0A        integrity = Math.min(integrity + skill, maxIntegrity);%0A        if(!completed && integrity == maxIntegrity) completed = true;%0A    %7D%0A%0A    public boolean dismantle(int skill) %7B%0A        integrity = Math.max(integrity - skill, 0);%0A        return integrity == 0;%0A    %7D%0A%0A    public boolean generatesPoints() %7B%0A        return completed && integrity %3E 0;%0A    %7D%0A%0A    public int getIntegrity() %7B%0A        return integrity;%0A    %7D%0A%0A    public void setIntegrity(int integrity) %7B%0A        this.integrity = integrity;%0A    %7D%0A%0A    public int getEfficiency() %7B%0A        return efficiency;%0A    %7D%0A%0A    public void setEfficiency(int efficiency) %7B%0A        this.efficiency = efficiency;%0A    %7D%0A%0A    public class WellType %7B%0A        public String name;%0A        public int initialIntegrity;%0A        public int maxIntegrity;%0A        public int cost;%0A        public int efficiency;%0A    %7D%0A%7D%0A

add basic well facility