id summary reporter owner description type status priority milestone component resolution keywords cc phab_field 5042 Complete rmgen object-oriented programming paradigm elexis "The most powerful feature of random map generation is the `createArea` method which consumes a `Placer`, `Painter` and `Constraint` instances. The methods to determine a geometric shape, constraining that area arbitrarily and doing something arbitrary to that area are well split by logic into prototypes. This way one can combine them like lego. Since we now have a significant amount of JS prototypes implementing these interfaces, the files should be split per protoype, gaining the advantages of https://en.wikipedia.org/wiki/Information_hiding. The remaining code would come out nicer too if it would be split into protoypes. This is a continuation of #4804. " enhancement closed Nice to Have Alpha 23 Maps fixed