Merge lp:~widelands-dev/widelands/bug1170086 into lp:widelands

Proposed by cghislai
Status: Merged
Merged at revision: 6656
Proposed branch: lp:~widelands-dev/widelands/bug1170086
Merge into: lp:widelands
Diff against target: 3061 lines (+867/-155)
144 files modified
src/logic/building.cc (+20/-11)
src/logic/building.h (+45/-6)
src/logic/constructionsite.cc (+18/-23)
src/logic/constructionsite.h (+0/-3)
src/logic/dismantlesite.cc (+19/-26)
src/logic/dismantlesite.h (+2/-3)
src/logic/editor_game_base.cc (+10/-6)
src/logic/editor_game_base.h (+7/-4)
src/logic/player.cc (+3/-4)
src/map_io/widelands_map_building_data_packet.cc (+10/-6)
src/map_io/widelands_map_buildingdata_data_packet.cc (+93/-32)
src/map_io/widelands_map_buildingdata_data_packet.h (+3/-0)
src/wui/buildingwindow.cc (+3/-2)
tribes/atlanteans/armoursmithy/conf (+5/-0)
tribes/atlanteans/bakery/conf (+4/-0)
tribes/atlanteans/blackroot_farm/conf (+5/-0)
tribes/atlanteans/burners_house/conf (+4/-0)
tribes/atlanteans/castle/conf (+5/-0)
tribes/atlanteans/coalmine/conf (+4/-0)
tribes/atlanteans/crystalmine/conf (+4/-0)
tribes/atlanteans/dungeon/conf (+8/-0)
tribes/atlanteans/farm/conf (+5/-0)
tribes/atlanteans/fish_breeders_house/conf (+3/-0)
tribes/atlanteans/fishers_house/conf (+3/-0)
tribes/atlanteans/foresters_house/conf (+4/-0)
tribes/atlanteans/goldmine/conf (+4/-0)
tribes/atlanteans/goldweaver/conf (+4/-0)
tribes/atlanteans/guardhall/conf (+5/-0)
tribes/atlanteans/guardhouse/conf (+3/-0)
tribes/atlanteans/high_tower/conf (+4/-1)
tribes/atlanteans/horsefarm/conf (+4/-0)
tribes/atlanteans/hunters_house/conf (+3/-0)
tribes/atlanteans/ironmine/conf (+4/-0)
tribes/atlanteans/labyrinth/conf (+8/-0)
tribes/atlanteans/mill/conf (+5/-0)
tribes/atlanteans/port/conf (+7/-0)
tribes/atlanteans/quarry/conf (+3/-0)
tribes/atlanteans/sawmill/conf (+4/-0)
tribes/atlanteans/scouts_house/conf (+3/-0)
tribes/atlanteans/shipyard/conf (+6/-0)
tribes/atlanteans/small_tower/conf (+4/-0)
tribes/atlanteans/smelting_works/conf (+3/-0)
tribes/atlanteans/smokery/conf (+3/-0)
tribes/atlanteans/spiderfarm/conf (+4/-0)
tribes/atlanteans/toolsmithy/conf (+4/-0)
tribes/atlanteans/tower/conf (+5/-0)
tribes/atlanteans/warehouse/conf (+6/-0)
tribes/atlanteans/weaponsmithy/conf (+5/-0)
tribes/atlanteans/weaving-mill/conf (+5/-0)
tribes/atlanteans/well/conf (+4/-0)
tribes/atlanteans/woodcutters_house/conf (+4/-0)
tribes/barbarians/axefactory/conf (+6/-1)
tribes/barbarians/bakery/conf (+5/-0)
tribes/barbarians/barrier/conf (+4/-0)
tribes/barbarians/battlearena/conf (+7/-0)
tribes/barbarians/big_inn/conf (+4/-1)
tribes/barbarians/brewery/conf (+5/-1)
tribes/barbarians/burners_house/conf (+4/-0)
tribes/barbarians/cattlefarm/conf (+4/-0)
tribes/barbarians/citadel/conf (+7/-1)
tribes/barbarians/coalmine/conf (+4/-0)
tribes/barbarians/deep_coalmine/conf (+5/-1)
tribes/barbarians/deep_goldmine/conf (+5/-1)
tribes/barbarians/deep_oremine/conf (+5/-1)
tribes/barbarians/deeper_coalmine/conf (+5/-1)
tribes/barbarians/deeper_goldmine/conf (+5/-1)
tribes/barbarians/deeper_oremine/conf (+5/-1)
tribes/barbarians/donjon/conf (+4/-0)
tribes/barbarians/farm/conf (+5/-0)
tribes/barbarians/fernery/conf (+4/-0)
tribes/barbarians/fishers_hut/conf (+3/-0)
tribes/barbarians/fortress/conf (+6/-0)
tribes/barbarians/gamekeepers_hut/conf (+4/-0)
tribes/barbarians/goldmine/conf (+4/-0)
tribes/barbarians/granitemine/conf (+4/-0)
tribes/barbarians/hardener/conf (+4/-0)
tribes/barbarians/helmsmithy/conf (+6/-0)
tribes/barbarians/hunters_hut/conf (+4/-0)
tribes/barbarians/inn/conf (+5/-1)
tribes/barbarians/lime_kiln/conf (+4/-0)
tribes/barbarians/lumberjacks_hut/conf (+3/-0)
tribes/barbarians/metalworks/conf (+5/-0)
tribes/barbarians/micro-brewery/conf (+5/-0)
tribes/barbarians/oremine/conf (+4/-0)
tribes/barbarians/port/conf (+9/-0)
tribes/barbarians/quarry/conf (+5/-2)
tribes/barbarians/rangers_hut/conf (+3/-0)
tribes/barbarians/scouts_hut/conf (+4/-0)
tribes/barbarians/sentry/conf (+3/-0)
tribes/barbarians/shipyard/conf (+5/-0)
tribes/barbarians/smelting_works/conf (+5/-0)
tribes/barbarians/tavern/conf (+5/-0)
tribes/barbarians/trainingscamp/conf (+6/-0)
tribes/barbarians/warehouse/conf (+6/-0)
tribes/barbarians/warmill/conf (+6/-1)
tribes/barbarians/weaving-mill/conf (+4/-0)
tribes/barbarians/well/conf (+3/-0)
tribes/empire/arena/conf (+15/-7)
tribes/empire/armoursmithy/conf (+5/-0)
tribes/empire/bakery/conf (+4/-0)
tribes/empire/barracks/conf (+3/-0)
tribes/empire/barrier/conf (+15/-0)
tribes/empire/brewery/conf (+4/-0)
tribes/empire/burners_house/conf (+5/-0)
tribes/empire/castle/conf (+7/-1)
tribes/empire/coalmine/conf (+4/-0)
tribes/empire/colosseum/conf (+8/-1)
tribes/empire/deep_coalmine/conf (+5/-1)
tribes/empire/deep_goldmine/conf (+5/-1)
tribes/empire/deep_marblemine/conf (+5/-1)
tribes/empire/deep_oremine/conf (+5/-1)
tribes/empire/donkeyfarm/conf (+4/-0)
tribes/empire/farm/conf (+6/-0)
tribes/empire/fishers_house/conf (+3/-0)
tribes/empire/foresters_house/conf (+4/-0)
tribes/empire/fortress/conf (+7/-0)
tribes/empire/goldmine/conf (+4/-0)
tribes/empire/hunters_house/conf (+3/-0)
tribes/empire/inn/conf (+5/-1)
tribes/empire/lumberjacks_house/conf (+4/-0)
tribes/empire/marblemine/conf (+4/-0)
tribes/empire/mill/conf (+5/-0)
tribes/empire/oremine/conf (+4/-0)
tribes/empire/outpost/conf (+4/-0)
tribes/empire/piggery/conf (+5/-0)
tribes/empire/port/conf (+8/-0)
tribes/empire/quarry/conf (+3/-0)
tribes/empire/sawmill/conf (+4/-0)
tribes/empire/scouts_house/conf (+3/-0)
tribes/empire/sentry/conf (+11/-0)
tribes/empire/sheepfarm/conf (+4/-0)
tribes/empire/shipyard/conf (+5/-0)
tribes/empire/smelting_works/conf (+4/-0)
tribes/empire/stonemasons_house/conf (+4/-0)
tribes/empire/tavern/conf (+5/-0)
tribes/empire/toolsmithy/conf (+4/-0)
tribes/empire/tower/conf (+5/-0)
tribes/empire/trainingscamp/conf (+7/-0)
tribes/empire/vineyard/conf (+4/-0)
tribes/empire/warehouse/conf (+6/-0)
tribes/empire/weaponsmithy/conf (+6/-0)
tribes/empire/weaving-mill/conf (+4/-0)
tribes/empire/well/conf (+4/-0)
tribes/empire/winery/conf (+5/-0)
To merge this branch: bzr merge lp:~widelands-dev/widelands/bug1170086
Reviewer Review Type Date Requested Status
SirVer Approve
Review via email: mp+176406@code.launchpad.net

Description of the change

Introduce new buildcost sections:
[buildcost] [return_on_dismantle] for buildable buildings
[enhancement_cost] [return_on_dismantle_on_enhanced] for enhanced buildings

This is used to calculate buildcosts and returned wares.
A vector of former building descs is kept in the Building class to easily track down the various enhancement performed.
The map loader has been updated so this vector is correctly initialized. The linked bug behaviour will be observed when loading a game saved in the old format, as we can't figure out if building was built as enhancement or directly.

I tested the compatibility save games, all worked fine. I tested saves made with the trunk version and loaded with this branch version, with construction sites, dismantle sites and various enhancements.

To post a comment you must log in.
Revision history for this message
SirVer (sirver) wrote :

I pushed some nits - only personal style really, and I pushed them because I did them to understand the code better. And that I've done something :).

Merged. Thanks.

review: Approve
Revision history for this message
SirVer (sirver) wrote :

Oh, I did not review the conf file changes, only the code.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/logic/building.cc'
2--- src/logic/building.cc 2013-07-21 08:25:22 +0000
3+++ src/logic/building.cc 2013-07-23 17:35:41 +0000
4@@ -145,8 +145,19 @@
5 }
6
7 // Get costs
8- Section & buildcost_s = prof.get_safe_section("buildcost");
9- m_buildcost.parse(m_tribe, buildcost_s);
10+ if (m_buildable) {
11+ Section & buildcost_s = prof.get_safe_section("buildcost");
12+ m_buildcost.parse(m_tribe, buildcost_s);
13+ Section & returnsect_s = prof.get_safe_section("return_on_dismantle");
14+ m_return_dismantle.parse(m_tribe, returnsect_s);
15+ }
16+
17+ if (m_enhanced_building) {
18+ Section & en_buildcost_s = prof.get_safe_section("enhancement_cost");
19+ m_enhance_cost.parse(m_tribe, en_buildcost_s);
20+ Section & en_returnsect_s = prof.get_safe_section("return_on_dismantle_on_enhanced");
21+ m_return_enhanced.parse(m_tribe, en_returnsect_s);
22+ }
23 } else if (m_global) {
24 // get build icon for global buildings (for statistics window)
25 m_buildicon_fname = directory;
26@@ -174,13 +185,16 @@
27 Player & owner,
28 Coords const pos,
29 bool const construct,
30- Building_Descr const * const old,
31- bool loading)
32+ bool loading,
33+ Building::FormerBuildings const former_buildings)
34 const
35 {
36- Building & b = construct ? create_constructionsite(old) : create_object();
37+ Building & b = construct ? create_constructionsite() : create_object();
38 b.m_position = pos;
39 b.set_owner(&owner);
40+ BOOST_FOREACH(const Building_Descr * descr, former_buildings) {
41+ b.m_old_buildings.push_back(descr);
42+ }
43 if (loading) {
44 b.Building::init(egbase);
45 return b;
46@@ -229,12 +243,9 @@
47 /*
48 ===============
49 Create a construction site for this type of building
50-
51-if old != 0 this is an enhancement from an older building
52 ===============
53 */
54-Building & Building_Descr::create_constructionsite
55- (Building_Descr const * const old) const
56+Building & Building_Descr::create_constructionsite() const
57 {
58 Building_Descr const * const descr =
59 m_tribe.get_building_descr
60@@ -242,8 +253,6 @@
61 ConstructionSite & csite =
62 ref_cast<ConstructionSite, Map_Object>(descr->create_object());
63 csite.set_building(*this);
64- if (old)
65- csite.set_previous_building(old);
66
67 return csite;
68 }
69
70=== modified file 'src/logic/building.h'
71--- src/logic/building.h 2013-07-19 16:13:42 +0000
72+++ src/logic/building.h 2013-07-23 17:35:41 +0000
73@@ -59,6 +59,9 @@
74 * Common to all buildings!
75 */
76 struct Building_Descr : public Map_Object_Descr {
77+ typedef std::set<Building_Index> Enhancements;
78+ typedef std::vector<const Building_Descr*> FormerBuildings;
79+
80 Building_Descr
81 (char const * _name, char const * _descname,
82 const std::string & directory, Profile &, Section & global_s,
83@@ -68,14 +71,32 @@
84 bool is_destructible() const {return m_destructible;}
85 bool is_enhanced () const {return m_enhanced_building;}
86 bool global() const {return m_global;}
87+
88+ /**
89+ * The build cost for direct construction
90+ */
91 const Buildcost & buildcost() const throw () {return m_buildcost;}
92+
93+ /**
94+ * Returned wares for dismantling
95+ */
96+ const Buildcost & returned_wares() const throw () {return m_return_dismantle;}
97+
98+ /**
99+ * The build cost for enhancing a previous building
100+ */
101+ const Buildcost & enhancement_cost() const throw () {return m_enhance_cost;}
102+
103+ /**
104+ * The returned wares for a enhaced building
105+ */
106+ const Buildcost & returned_wares_enhanced() const throw () {return m_return_enhanced;}
107 const Image* get_buildicon() const {return m_buildicon;}
108 int32_t get_size() const throw () {return m_size;}
109 bool get_ismine() const {return m_mine;}
110 bool get_isport() const {return m_port;}
111 virtual uint32_t get_ui_anim() const {return get_animation("idle");}
112
113- typedef std::set<Building_Index> Enhancements;
114 const Enhancements & enhancements() const throw () {return m_enhancements;}
115 void add_enhancement(const Building_Index & i) {
116 assert(not m_enhancements.count(i));
117@@ -88,14 +109,14 @@
118 /// a building during savegame loading. (It would cause many bugs.)
119 ///
120 /// Does not perform any sanity checks.
121- /// If old != 0 this is an enhancing.
122+ /// If former_buildings is not empty this is an enhancing.
123 Building & create
124 (Editor_Game_Base &,
125 Player &,
126 Coords,
127 bool construct,
128- Building_Descr const * old = 0,
129- bool loading = false)
130+ bool loading = false,
131+ FormerBuildings former_buildings = FormerBuildings())
132 const;
133 #ifdef WRITE_GAME_DATA_AS_HTML
134 void writeHTML(::FileWrite &) const;
135@@ -115,13 +136,16 @@
136
137 protected:
138 virtual Building & create_object() const = 0;
139- Building & create_constructionsite(Building_Descr const * old) const;
140+ Building & create_constructionsite() const;
141
142 private:
143 const Tribe_Descr & m_tribe;
144 bool m_buildable; // the player can build this himself
145 bool m_destructible; // the player can destruct this himself
146 Buildcost m_buildcost;
147+ Buildcost m_return_dismantle; // Returned wares on dismantle
148+ Buildcost m_enhance_cost; // cost for enhancing
149+ Buildcost m_return_enhanced; // Returned ware for dismantling an enhanced building
150 const Image* m_buildicon; // if buildable: picture in the build dialog
151 std::string m_buildicon_fname; // filename for this icon
152 int32_t m_size; // size of the building
153@@ -152,6 +176,8 @@
154 PCap_Enhancable = 1 << 2, // can be enhanced to something
155 };
156
157+ typedef std::vector<const Building_Descr*> FormerBuildings;
158+
159 public:
160 Building(const Building_Descr &);
161 virtual ~Building();
162@@ -211,6 +237,17 @@
163 return descr().enhancements();
164 }
165
166+ /**
167+ * The former buildings vector keeps track of all former buildings
168+ * that have been enhanced up to the current one. The current building
169+ * descr will be in the last position. For construction sites, it is
170+ * empty except if a former building is being enhanced. For a dismantle
171+ * site, the last item will be the one being dismantled.
172+ */
173+ const FormerBuildings get_former_buildings() {
174+ return m_old_buildings;
175+ }
176+
177 virtual void log_general_info(const Editor_Game_Base &);
178
179 // Use on training sites only.
180@@ -233,7 +270,6 @@
181 const std::string & description,
182 uint32_t throttle_time = 0,
183 uint32_t throttle_radius = 0);
184-
185 protected:
186 void start_animation(Editor_Game_Base &, uint32_t anim);
187
188@@ -273,6 +309,9 @@
189
190 // Signals connected for the option window
191 std::vector<boost::signals::connection> options_window_connections;
192+
193+ // The former buildings descrs, with the current one in last position.
194+ FormerBuildings m_old_buildings;
195 };
196
197 }
198
199=== modified file 'src/logic/constructionsite.cc'
200--- src/logic/constructionsite.cc 2013-07-21 14:36:52 +0000
201+++ src/logic/constructionsite.cc 2013-07-23 17:35:41 +0000
202@@ -74,7 +74,6 @@
203
204 ConstructionSite::ConstructionSite(const ConstructionSite_Descr & cs_descr) :
205 Partially_Finished_Building (cs_descr),
206-m_prev_building (0),
207 m_fetchfromflag (0),
208 m_builder_idle (false)
209 {}
210@@ -122,20 +121,6 @@
211 }
212
213 /*
214- * Set previous building
215- * That is the building that was here before, we're
216- * an enhancement
217- */
218-void ConstructionSite::set_previous_building
219- (Building_Descr const * const previous_building_descr)
220-{
221- assert(!m_prev_building);
222-
223- m_prev_building = previous_building_descr;
224- m_info.was = previous_building_descr;
225-}
226-
227-/*
228 ===============
229 Initialize the construction site by starting orders
230 ===============
231@@ -144,13 +129,21 @@
232 {
233 Partially_Finished_Building::init(egbase);
234
235+ const std::map<Ware_Index, uint8_t> * buildcost;
236+ if (!m_old_buildings.empty()) {
237+ // Enhancement
238+ m_info.was = m_old_buildings.back();
239+ buildcost = &m_building->enhancement_cost();
240+ } else {
241+ buildcost = &m_building->buildcost();
242+ }
243+
244 // TODO figure out whether planing is necessary
245
246 // initialize the wares queues
247- const std::map<Ware_Index, uint8_t> & buildcost = m_building->buildcost();
248- size_t const buildcost_size = buildcost.size();
249+ size_t const buildcost_size = buildcost->size();
250 m_wares.resize(buildcost_size);
251- std::map<Ware_Index, uint8_t>::const_iterator it = buildcost.begin();
252+ std::map<Ware_Index, uint8_t>::const_iterator it = buildcost->begin();
253
254 for (size_t i = 0; i < buildcost_size; ++i, ++it) {
255 WaresQueue & wq =
256@@ -176,8 +169,9 @@
257
258 if (m_work_steps <= m_work_completed) {
259 // Put the real building in place
260+ m_old_buildings.push_back(m_building);
261 Building & b =
262- m_building->create(egbase, owner(), m_position, false);
263+ m_building->create(egbase, owner(), m_position, false, false, m_old_buildings);
264 if (Worker * const builder = m_builder.get(egbase)) {
265 builder->reset_tasks(ref_cast<Game, Editor_Game_Base>(egbase));
266 builder->set_location(&b);
267@@ -204,7 +198,7 @@
268 if (m_work_completed >= m_work_steps)
269 return false; // completed, so don't burn
270
271- return m_work_completed or m_prev_building;
272+ return m_work_completed or !m_old_buildings.empty();
273 }
274
275 /*
276@@ -392,14 +386,15 @@
277 if (cur_frame) // not the first pic
278 // draw the prev pic from top to where next image will be drawing
279 dst.drawanimrect(pos, anim, tanim - FRAME_LENGTH, get_owner(), Rect(Point(0, 0), w, h - lines));
280- else if (m_prev_building) {
281+ else if (!m_old_buildings.empty()) {
282+ const Building_Descr* prev_building = m_old_buildings.back();
283 // Is the first picture but there was another building here before,
284 // get its most fitting picture and draw it instead.
285 uint32_t a;
286 try {
287- a = m_prev_building->get_animation("unoccupied");
288+ a = prev_building->get_animation("unoccupied");
289 } catch (Map_Object_Descr::Animation_Nonexistent &) {
290- a = m_prev_building->get_animation("idle");
291+ a = prev_building->get_animation("idle");
292 }
293 uint32_t wa, ha;
294 g_gr->get_animation_size(a, tanim, wa, ha);
295
296=== modified file 'src/logic/constructionsite.h'
297--- src/logic/constructionsite.h 2013-07-14 10:38:26 +0000
298+++ src/logic/constructionsite.h 2013-07-23 17:35:41 +0000
299@@ -77,7 +77,6 @@
300 virtual WaresQueue & waresqueue(Ware_Index);
301
302 virtual void set_building(const Building_Descr &);
303- void set_previous_building(const Building_Descr * const);
304 const Building_Descr & building() const throw () {return *m_building;}
305
306 virtual void init (Editor_Game_Base &);
307@@ -99,8 +98,6 @@
308 virtual void draw(const Editor_Game_Base &, RenderTarget &, const FCoords&, const Point&);
309
310 private:
311- const Building_Descr * m_prev_building; // Building standing here earlier
312-
313 int32_t m_fetchfromflag; // # of items to fetch from flag
314
315 bool m_builder_idle; // used to determine whether the builder is idle
316
317=== modified file 'src/logic/dismantlesite.cc'
318--- src/logic/dismantlesite.cc 2013-07-18 06:31:11 +0000
319+++ src/logic/dismantlesite.cc 2013-07-23 17:35:41 +0000
320@@ -18,6 +18,7 @@
321 */
322
323 #include <cstdio>
324+#include <boost/foreach.hpp>
325
326 #include "upcast.h"
327 #include "wexception.h"
328@@ -65,11 +66,15 @@
329
330 DismantleSite::DismantleSite
331 (const DismantleSite_Descr & gdescr, Editor_Game_Base & egbase, Coords const c,
332- Player & plr, const Building_Descr & bdscr, bool loading)
333+ Player & plr, bool loading, Building::FormerBuildings & former_buildings)
334 :
335 Partially_Finished_Building(gdescr)
336 {
337- set_building(bdscr);
338+ assert(!former_buildings.empty());
339+ BOOST_FOREACH(const Building_Descr* old_descr, former_buildings) {
340+ m_old_buildings.push_back(old_descr);
341+ }
342+ set_building(*m_old_buildings.back());
343
344 m_position = c;
345 set_owner(&plr);
346@@ -105,7 +110,7 @@
347 Partially_Finished_Building::init(egbase);
348
349 std::map<Ware_Index, uint8_t> wares;
350- count_returned_wares(*m_building, wares);
351+ count_returned_wares(this, wares);
352
353 std::map<Ware_Index, uint8_t>::const_iterator it = wares.begin();
354 m_wares.resize(wares.size());
355@@ -125,35 +130,23 @@
356 ===============
357 */
358 void DismantleSite::count_returned_wares
359- (const Widelands::Building_Descr & building,
360+ (Building* building,
361 std::map<Ware_Index, uint8_t> & res)
362 {
363- const Tribe_Descr & t = building.tribe();
364- Building_Descr const * bd = &building;
365- Building_Index bd_idx = t.building_index(bd->name());
366+ BOOST_FOREACH(const Building_Descr* former_descr, building->get_former_buildings()) {
367+ const std::map<Ware_Index, uint8_t> * return_wares;
368+ if (former_descr != building->get_former_buildings().front()) {
369+ return_wares = & former_descr->returned_wares_enhanced();
370+ } else {
371+ return_wares = & former_descr->returned_wares();
372+ }
373+ assert(return_wares != nullptr);
374
375- bool done = false;
376- while (not done) {
377- const std::map<Ware_Index, uint8_t> & buildcost = bd->buildcost();
378- for (std::map<Ware_Index, uint8_t>::const_iterator i = buildcost.begin(); i != buildcost.end(); ++i)
379+ std::map<Ware_Index, uint8_t>::const_iterator i;
380+ for (i = return_wares->begin(); i != return_wares->end(); ++i) {
381 res[i->first] += i->second;
382-
383- // Find the (first) predecessor of this building
384- for (Building_Index i = Building_Index::First(); i < t.get_nrbuildings(); ++i) {
385- Building_Descr const * ob = t.get_building_descr(i);
386- if (ob->enhancements().count(bd_idx)) {
387- done = false;
388- bd = ob;
389- bd_idx = i;
390- break;
391- } else
392- done = true;
393 }
394 }
395-
396- for (std::map<Ware_Index, uint8_t>::iterator it = res.begin(); it != res.end(); ++it) {
397- it->second = (it->second + RATIO_RETURNED_WARES - 1) / RATIO_RETURNED_WARES;
398- }
399 }
400
401
402
403=== modified file 'src/logic/dismantlesite.h'
404--- src/logic/dismantlesite.h 2013-07-14 10:38:26 +0000
405+++ src/logic/dismantlesite.h 2013-07-23 17:35:41 +0000
406@@ -55,7 +55,6 @@
407 friend struct Map_Buildingdata_Data_Packet;
408
409 static const uint32_t DISMANTLESITE_STEP_TIME = 45000;
410- static const uint8_t RATIO_RETURNED_WARES = 2; // you get half the wares back
411
412 MO_DESCR(DismantleSite_Descr);
413
414@@ -63,7 +62,7 @@
415 DismantleSite(const DismantleSite_Descr & descr);
416 DismantleSite
417 (const DismantleSite_Descr & descr, Editor_Game_Base &,
418- Coords const, Player &, const Building_Descr &, bool);
419+ Coords const, Player &, bool, Building::FormerBuildings & former_buildings);
420
421 char const * type_name() const throw () {return "dismantlesite";}
422 virtual std::string get_statistics_string();
423@@ -73,7 +72,7 @@
424
425 virtual bool get_building_work(Game &, Worker &, bool success);
426
427- static void count_returned_wares(const Building_Descr & building, std::map<Ware_Index, uint8_t> & res);
428+ static void count_returned_wares(Building* building, std::map<Ware_Index, uint8_t> & res);
429
430 protected:
431 virtual uint32_t build_step_time() const {return DISMANTLESITE_STEP_TIME;}
432
433=== modified file 'src/logic/editor_game_base.cc'
434--- src/logic/editor_game_base.cc 2013-02-10 19:36:24 +0000
435+++ src/logic/editor_game_base.cc 2013-07-23 17:35:41 +0000
436@@ -297,11 +297,14 @@
437 * \li idx is the building type index.
438 */
439 Building & Editor_Game_Base::warp_building
440- (Coords const c, Player_Number const owner, Building_Index const idx)
441+ (Coords const c, Player_Number const owner, Building_Index const idx,
442+ Building::FormerBuildings former_buildings)
443 {
444 Player & plr = player(owner);
445 const Tribe_Descr & tribe = plr.tribe();
446- return tribe.get_building_descr(idx)->create(*this, plr, c, false, 0, true);
447+ return
448+ tribe.get_building_descr(idx)->create
449+ (*this, plr, c, false, true, former_buildings);
450 }
451
452
453@@ -312,13 +315,14 @@
454 */
455 Building & Editor_Game_Base::warp_constructionsite
456 (Coords const c, Player_Number const owner,
457- Building_Index idx, Building_Index old_id, bool loading)
458+ Building_Index idx, bool loading,
459+ Building::FormerBuildings former_buildings)
460 {
461 Player & plr = player(owner);
462 const Tribe_Descr & tribe = plr.tribe();
463 return
464 tribe.get_building_descr(idx)->create
465- (*this, plr, c, true, old_id ? tribe.get_building_descr(old_id) : 0, loading);
466+ (*this, plr, c, true, loading, former_buildings);
467 }
468
469 /**
470@@ -326,7 +330,7 @@
471 */
472 Building & Editor_Game_Base::warp_dismantlesite
473 (Coords const c, Player_Number const owner,
474- Building_Index idx, bool loading)
475+ bool loading, Building::FormerBuildings former_buildings)
476 {
477 Player & plr = player(owner);
478 const Tribe_Descr & tribe = plr.tribe();
479@@ -339,7 +343,7 @@
480
481 return
482 *new DismantleSite
483- (*ds_descr, *this, c, *get_player(owner), *tribe.get_building_descr(idx), loading);
484+ (*ds_descr, *this, c, *get_player(owner), loading, former_buildings);
485 }
486
487
488
489=== modified file 'src/logic/editor_game_base.h'
490--- src/logic/editor_game_base.h 2013-07-08 03:59:31 +0000
491+++ src/logic/editor_game_base.h 2013-07-23 17:35:41 +0000
492@@ -106,12 +106,15 @@
493 void set_road(FCoords, uint8_t direction, uint8_t roadtype);
494
495 // warping stuff. instantly creating map_objects
496- Building & warp_building(Coords, Player_Number, Building_Index);
497+ Building & warp_building
498+ (Coords, Player_Number, Building_Index,
499+ Building::FormerBuildings former_buildings = Building::FormerBuildings());
500 Building & warp_constructionsite
501- (Coords, Player_Number, Building_Index,
502- Building_Index oldid = Building_Index::Null(), bool loading = false);
503+ (Coords, Player_Number, Building_Index, bool loading = false,
504+ Building::FormerBuildings former_buildings = Building::FormerBuildings());
505 Building & warp_dismantlesite
506- (Coords, Player_Number, Building_Index, bool loading = false);
507+ (Coords, Player_Number, bool loading = false,
508+ Building::FormerBuildings former_buildings = Building::FormerBuildings());
509 Bob & create_bob(Coords, const Bob::Descr &, Player * owner = 0);
510 Bob & create_bob
511 (Coords, Bob::Descr::Index, Tribe_Descr const * const = 0, Player * owner = 0);
512
513=== modified file 'src/logic/player.cc'
514--- src/logic/player.cc 2013-07-15 05:18:12 +0000
515+++ src/logic/player.cc 2013-07-23 17:35:41 +0000
516@@ -638,8 +638,7 @@
517 and
518 (!index_of_new_building or building->descr().enhancements().count(index_of_new_building)))
519 {
520- Building_Index const index_of_old_building =
521- tribe().building_index(building->name().c_str());
522+ Building::FormerBuildings former_buildings = building->get_former_buildings();
523 const Coords position = building->get_position();
524
525 // Get workers and soldiers
526@@ -653,11 +652,11 @@
527 if (index_of_new_building)
528 building =
529 &egbase().warp_constructionsite
530- (position, m_plnum, index_of_new_building, index_of_old_building);
531+ (position, m_plnum, index_of_new_building, false, former_buildings);
532 else
533 building =
534 &egbase().warp_dismantlesite
535- (position, m_plnum, index_of_old_building);
536+ (position, m_plnum, false, former_buildings);
537 // Hereafter building points to the new building.
538
539 // Reassign the workers and soldiers.
540
541=== modified file 'src/map_io/widelands_map_building_data_packet.cc'
542--- src/map_io/widelands_map_building_data_packet.cc 2013-02-10 19:36:24 +0000
543+++ src/map_io/widelands_map_building_data_packet.cc 2013-07-23 17:35:41 +0000
544@@ -75,7 +75,7 @@
545 // Get the tribe and the building index.
546 if (Player * const player = egbase.get_safe_player(p)) {
547 const Tribe_Descr & tribe = player->tribe();
548- Building_Index const index = tribe.building_index(name);
549+ const Building_Index index = tribe.building_index(name);
550 if (not index)
551 throw game_data_error
552 ("tribe %s does not define building type \"%s\"",
553@@ -84,13 +84,17 @@
554 // Now, create this Building, take extra special care for
555 // constructionsites. All data is read later.
556 Building * building;
557- if (special_type == 1) // Constructionsite
558+ if (special_type == 1) { // Constructionsite
559 building = &egbase.warp_constructionsite
560- (c, p, index, Building_Index::Null(), true);
561- else if (special_type == 2) // DismantleSite
562- building = &egbase.warp_dismantlesite (c, p, index, true);
563- else
564+ (c, p, index, true);
565+ } else if (special_type == 2) {// DismantleSite
566+ Building::FormerBuildings formers;
567+ const Building_Descr* former_desc = tribe.get_building_descr(index);
568+ formers.push_back(former_desc);
569+ building = &egbase.warp_dismantlesite (c, p, true, formers);
570+ } else {
571 building = &egbase.warp_building(c, p, index);
572+ }
573
574 mol.register_object<Building> (serial, *building);
575
576
577=== modified file 'src/map_io/widelands_map_buildingdata_data_packet.cc'
578--- src/map_io/widelands_map_buildingdata_data_packet.cc 2013-07-21 08:07:18 +0000
579+++ src/map_io/widelands_map_buildingdata_data_packet.cc 2013-07-23 17:35:41 +0000
580@@ -46,15 +46,18 @@
581 #include "upcast.h"
582
583 #include <map>
584+#include <boost/foreach.hpp>
585
586 namespace Widelands {
587
588 // Versions
589-#define CURRENT_PACKET_VERSION 2
590+// Since V3: m_old_buildings vector
591+#define CURRENT_PACKET_VERSION 3
592
593 // Subversions
594 #define CURRENT_DISMANTLESITE_PACKET_VERSION 1
595-#define CURRENT_CONSTRUCTIONSITE_PACKET_VERSION 2
596+// Since V3: m_prev_building not written
597+#define CURRENT_CONSTRUCTIONSITE_PACKET_VERSION 3
598 #define CURRENT_PARTIALLYFB_PACKET_VERSION 1
599 #define CURRENT_WAREHOUSE_PACKET_VERSION 6
600 #define CURRENT_MILITARYSITE_PACKET_VERSION 4
601@@ -142,12 +145,23 @@
602 throw game_data_error
603 ("leave allow item (%u): %s", leaver_serial, e.what());
604 }
605- else
606+ else {
607 building.m_leave_allow = 0;
608-
609+ }
610+ if (packet_version >= 3) {
611+ // For former versions, the former buildings vector
612+ // will be built after other data are loaded, see below.
613+ // read_formerbuildings_v2()
614+ while (fr.Unsigned8()) {
615+ const Building_Descr* former_descr =
616+ building.descr().tribe().get_building_descr
617+ (building.descr().tribe().safe_building_index(fr.CString()));
618+ building.m_old_buildings.push_back(former_descr);
619+ }
620+ }
621 if (fr.Unsigned8()) {
622 if (upcast(ProductionSite, productionsite, &building))
623- if (dynamic_cast<MilitarySite const *>(productionsite))
624+ if (dynamic_cast<MilitarySite const *>(productionsite)) {
625 log
626 ("WARNING: Found a stopped %s at (%i, %i) in the "
627 "savegame. Militarysites are not stoppable. "
628@@ -155,8 +169,9 @@
629 building.descname().c_str(),
630 building.get_position().x,
631 building.get_position().y);
632- else
633+ } else {
634 productionsite->set_stopped(true);
635+ }
636 else
637 log
638 ("WARNING: Found a stopped %s at (%i, %i) in the "
639@@ -170,48 +185,53 @@
640 // Set economy now, some stuff below will count on this.
641 building.set_economy(building.m_flag->get_economy());
642
643- if (upcast(ConstructionSite, constructionsite, &building))
644+ if (upcast(ConstructionSite, constructionsite, &building)) {
645 read_constructionsite
646 (*constructionsite,
647 fr,
648 ref_cast<Game, Editor_Game_Base>(egbase),
649 mol);
650- else if (upcast(DismantleSite, dms, &building))
651+ } else if (upcast(DismantleSite, dms, &building)) {
652 read_dismantlesite
653 (*dms,
654 fr,
655 ref_cast<Game, Editor_Game_Base>(egbase),
656 mol);
657- else if (upcast(Warehouse, warehouse, &building))
658+ } else if (upcast(Warehouse, warehouse, &building)) {
659 read_warehouse
660 (*warehouse,
661 fr,
662 ref_cast<Game, Editor_Game_Base>(egbase),
663 mol);
664- else if (upcast(ProductionSite, productionsite, &building)) {
665- if (upcast(MilitarySite, militarysite, productionsite))
666+ } else if (upcast(ProductionSite, productionsite, &building)) {
667+ if (upcast(MilitarySite, militarysite, productionsite)) {
668 read_militarysite
669 (*militarysite,
670 fr,
671 ref_cast<Game, Editor_Game_Base>(egbase),
672 mol);
673- else if (upcast(TrainingSite, trainingsite, productionsite))
674+ } else if (upcast(TrainingSite, trainingsite, productionsite)) {
675 read_trainingsite
676 (*trainingsite,
677 fr,
678 ref_cast<Game, Editor_Game_Base>(egbase),
679 mol);
680- else
681+ } else {
682 read_productionsite
683 (*productionsite,
684 fr,
685 ref_cast<Game, Editor_Game_Base>(egbase),
686 mol);
687- } else
688+ }
689+ } else {
690 // type of building is not one of (or derived from)
691 // {ConstructionSite, Warehouse, ProductionSite}
692 assert(false);
693-
694+ }
695+ if (packet_version < 3) {
696+ read_formerbuildings_v2
697+ (building, fr, ref_cast<Game, Editor_Game_Base>(egbase), mol);
698+ }
699
700 mol.mark_object_as_loaded(building);
701 } catch (const _wexception & e) {
702@@ -226,6 +246,43 @@
703 }
704 }
705
706+void Map_Buildingdata_Data_Packet::read_formerbuildings_v2
707+ (Building& b, FileRead&, Game&, Map_Map_Object_Loader&)
708+{
709+ // add the current building - not for csite or dismantle
710+ if (is_a(ProductionSite, &b)) {
711+ assert(b.m_old_buildings.empty());
712+ b.m_old_buildings.push_back(&b.descr());
713+ } else if (is_a(Warehouse, &b)) {
714+ assert(b.m_old_buildings.empty());
715+ b.m_old_buildings.push_back(&b.descr());
716+ } else if (upcast(DismantleSite, dsite, &b)) {
717+ b.m_old_buildings.push_back(dsite->m_building);
718+ } else if (is_a(ConstructionSite, &b)) {
719+ return;
720+ }
721+
722+ // iterate through all buildings to find first predecessor
723+ bool done = false;
724+ const Tribe_Descr & t = b.descr().tribe();
725+ while (not done) {
726+ const Building_Descr * oldest = b.m_old_buildings.front();
727+ if (!oldest->is_enhanced()) {
728+ done = true;
729+ break;
730+ }
731+ const Building_Index & oldest_idx = t.building_index(oldest->name());
732+ for (Building_Index i = Building_Index::First(); i < t.get_nrbuildings(); ++i) {
733+ Building_Descr const * ob = t.get_building_descr(i);
734+ if (ob->enhancements().count(oldest_idx)) {
735+ b.m_old_buildings.insert(b.m_old_buildings.begin(), ob);
736+ break;
737+ }
738+ }
739+ }
740+}
741+
742+
743 void Map_Buildingdata_Data_Packet::read_partially_finished_building
744 (Partially_Finished_Building & pfb,
745 FileRead & fr,
746@@ -298,7 +355,7 @@
747 if (packet_version == 1)
748 return read_constructionsite_v1(constructionsite, fr, game, mol);
749
750- if (packet_version == CURRENT_CONSTRUCTIONSITE_PACKET_VERSION) {
751+ if (packet_version >= 2) {
752 read_partially_finished_building(constructionsite, fr, game, mol);
753
754 const Tribe_Descr & tribe = constructionsite.tribe();
755@@ -308,12 +365,14 @@
756 (*cur)->set_callback
757 (ConstructionSite::wares_queue_callback, &constructionsite);
758
759- if (fr.Unsigned8()) {
760- constructionsite.m_prev_building =
761- tribe.get_building_descr
762- (tribe.safe_building_index(fr.CString()));
763- } else
764- constructionsite.m_prev_building = 0;
765+ if (packet_version <= 2) {
766+ if (fr.Unsigned8()) {
767+ const Building_Descr* former_descr =
768+ tribe.get_building_descr
769+ (tribe.safe_building_index(fr.CString()));
770+ constructionsite.m_old_buildings.push_back(former_descr);
771+ }
772+ }
773
774 constructionsite.m_fetchfromflag = fr. Signed32();
775 } else
776@@ -334,11 +393,11 @@
777 constructionsite.m_building =
778 tribe.get_building_descr(tribe.safe_building_index(fr.CString()));
779 if (fr.Unsigned8()) {
780- constructionsite.m_prev_building =
781+ const Building_Descr * former_descr =
782 tribe.get_building_descr
783 (tribe.safe_building_index(fr.CString()));
784- } else
785- constructionsite.m_prev_building = 0;
786+ constructionsite.m_old_buildings.push_back(former_descr);
787+ }
788
789 delete constructionsite.m_builder_request;
790 if (fr.Unsigned8()) {
791@@ -1251,8 +1310,16 @@
792 {
793 assert(mos.is_object_known(*o));
794 fw.Unsigned32(mos.get_object_file_index(*o));
795- } else
796+ } else {
797 fw.Unsigned32(0);
798+ }
799+ {
800+ BOOST_FOREACH(const Building_Descr* former_descr, building->m_old_buildings) {
801+ fw.Unsigned8(1);
802+ fw.String(former_descr->name());
803+ }
804+ fw.Unsigned8(0);
805+ }
806 {
807 bool is_stopped = false;
808 if (upcast(ProductionSite const, productionsite, building))
809@@ -1356,12 +1423,6 @@
810
811 write_partially_finished_building(constructionsite, fw, game, mos);
812
813- if (constructionsite.m_prev_building) {
814- fw.Unsigned8(1);
815- fw.String(constructionsite.m_prev_building->name());
816- } else
817- fw.Unsigned8(0);
818-
819 fw.Signed32(constructionsite.m_fetchfromflag);
820 }
821
822
823=== modified file 'src/map_io/widelands_map_buildingdata_data_packet.h'
824--- src/map_io/widelands_map_buildingdata_data_packet.h 2013-02-10 19:36:24 +0000
825+++ src/map_io/widelands_map_buildingdata_data_packet.h 2013-07-23 17:35:41 +0000
826@@ -34,6 +34,7 @@
827 class TrainingSite;
828 class ProductionSite;
829 class Warehouse;
830+class Building;
831
832 /*
833 * This cares for the data of buildings
834@@ -62,6 +63,8 @@
835 (TrainingSite &, FileRead &, Game &, Map_Map_Object_Loader &);
836 virtual void read_productionsite
837 (ProductionSite &, FileRead &, Game &, Map_Map_Object_Loader &);
838+ virtual void read_formerbuildings_v2
839+ (Building &, FileRead &, Game &, Map_Map_Object_Loader &);
840
841 virtual void write_constructionsite
842 (const ConstructionSite &, FileWrite &, Game &, Map_Map_Object_Saver &);
843
844=== modified file 'src/wui/buildingwindow.cc'
845--- src/wui/buildingwindow.cc 2013-07-21 14:39:24 +0000
846+++ src/wui/buildingwindow.cc 2013-07-23 17:35:41 +0000
847@@ -266,7 +266,8 @@
848 g_gr->images().get("pics/but4.png"),
849 building_descr.get_buildicon(),
850 std::string(buffer) + "<br><font size=11>" + _("Construction costs:") + "</font><br>" +
851- waremap_to_richtext(tribe, building_descr.buildcost())); // button id = building id
852+ waremap_to_richtext(tribe, building_descr.enhancement_cost()));
853+ // button id = building id
854 enhancebtn->sigclicked.connect
855 (boost::bind
856 (&Building_Window::act_enhance,
857@@ -297,7 +298,7 @@
858
859 if (m_capscache & Widelands::Building::PCap_Dismantle) {
860 std::map<Widelands::Ware_Index, uint8_t> wares;
861- Widelands::DismantleSite::count_returned_wares(m_building.descr(), wares);
862+ Widelands::DismantleSite::count_returned_wares(&m_building, wares);
863 UI::Button * dismantlebtn =
864 new UI::Button
865 (capsbuttons, "dismantle", 0, 0, 34, 34,
866
867=== modified file 'tribes/atlanteans/armoursmithy/conf'
868--- tribes/atlanteans/armoursmithy/conf 2011-09-12 17:29:32 +0000
869+++ tribes/atlanteans/armoursmithy/conf 2013-07-23 17:35:41 +0000
870@@ -11,6 +11,11 @@
871 planks=2
872 quartz=1
873
874+[return_on_dismantle]
875+stone=1
876+planks=1
877+quartz=1
878+
879 [working positions]
880 armoursmith=1
881
882
883=== modified file 'tribes/atlanteans/bakery/conf'
884--- tribes/atlanteans/bakery/conf 2011-10-02 20:13:30 +0000
885+++ tribes/atlanteans/bakery/conf 2013-07-23 17:35:41 +0000
886@@ -9,6 +9,10 @@
887 planks=2
888 stone=3
889
890+[return_on_dismantle]
891+planks=1
892+stone=2
893+
894 [working positions]
895 baker=1
896
897
898=== modified file 'tribes/atlanteans/blackroot_farm/conf'
899--- tribes/atlanteans/blackroot_farm/conf 2011-02-06 18:28:59 +0000
900+++ tribes/atlanteans/blackroot_farm/conf 2013-07-23 17:35:41 +0000
901@@ -6,6 +6,11 @@
902 stone=2
903 trunk=4
904
905+[return_on_dismantle]
906+planks=1
907+stone=2
908+trunk=1
909+
910 [aihints]
911 space_consumer=true
912 build_material=false
913
914=== modified file 'tribes/atlanteans/burners_house/conf'
915--- tribes/atlanteans/burners_house/conf 2013-07-13 17:51:09 +0000
916+++ tribes/atlanteans/burners_house/conf 2013-07-23 17:35:41 +0000
917@@ -9,6 +9,10 @@
918 stone=3
919 planks=1
920
921+[return_on_dismantle]
922+trunk=2
923+stone=2
924+
925 [working positions]
926 burner=1
927
928
929=== modified file 'tribes/atlanteans/castle/conf'
930--- tribes/atlanteans/castle/conf 2013-06-11 16:37:44 +0000
931+++ tribes/atlanteans/castle/conf 2013-07-23 17:35:41 +0000
932@@ -12,6 +12,11 @@
933 diamond=1
934 quartz=1
935
936+[return_on_dismantle]
937+planks=2
938+stone=5
939+trunk=2
940+
941 [idle]
942 pics=castle_i_??.png
943 hotspot=91 91
944
945=== modified file 'tribes/atlanteans/coalmine/conf'
946--- tribes/atlanteans/coalmine/conf 2013-07-13 17:51:09 +0000
947+++ tribes/atlanteans/coalmine/conf 2013-07-23 17:35:41 +0000
948@@ -6,6 +6,10 @@
949 planks=4
950 spidercloth=1
951
952+[return_on_dismantle]
953+trunk=3
954+planks=2
955+
956 [working positions]
957 miner=3
958
959
960=== modified file 'tribes/atlanteans/crystalmine/conf'
961--- tribes/atlanteans/crystalmine/conf 2013-07-13 17:51:09 +0000
962+++ tribes/atlanteans/crystalmine/conf 2013-07-23 17:35:41 +0000
963@@ -8,6 +8,10 @@
964 planks=4
965 spidercloth=1
966
967+[return_on_dismantle]
968+trunk=3
969+planks=2
970+
971 [working positions]
972 miner=3
973
974
975=== modified file 'tribes/atlanteans/dungeon/conf'
976--- tribes/atlanteans/dungeon/conf 2013-04-25 07:11:20 +0000
977+++ tribes/atlanteans/dungeon/conf 2013-07-23 17:35:41 +0000
978@@ -11,6 +11,14 @@
979 gold=2
980 trunk=4
981
982+[return_on_dismantle]
983+planks=1
984+stone=3
985+diamond=1
986+quartz=1
987+gold=1
988+trunk=1
989+
990 [working positions]
991 trainer=1
992
993
994=== modified file 'tribes/atlanteans/farm/conf'
995--- tribes/atlanteans/farm/conf 2013-03-02 20:35:18 +0000
996+++ tribes/atlanteans/farm/conf 2013-07-23 17:35:41 +0000
997@@ -7,6 +7,11 @@
998 planks=2
999 spidercloth=1
1000
1001+[return_on_dismantle]
1002+trunk=1
1003+stone=1
1004+planks=1
1005+
1006 [working positions]
1007 farmer=1
1008
1009
1010=== modified file 'tribes/atlanteans/fish_breeders_house/conf'
1011--- tribes/atlanteans/fish_breeders_house/conf 2010-01-01 12:32:23 +0000
1012+++ tribes/atlanteans/fish_breeders_house/conf 2013-07-23 17:35:41 +0000
1013@@ -5,6 +5,9 @@
1014 planks=1
1015 stone=1
1016
1017+[return_on_dismantle]
1018+stone=1
1019+
1020 [working positions]
1021 fish_breeder=1
1022
1023
1024=== modified file 'tribes/atlanteans/fishers_house/conf'
1025--- tribes/atlanteans/fishers_house/conf 2011-09-12 17:29:32 +0000
1026+++ tribes/atlanteans/fishers_house/conf 2013-07-23 17:35:41 +0000
1027@@ -5,6 +5,9 @@
1028 trunk=1
1029 planks=2
1030
1031+[return_on_dismantle]
1032+planks=1
1033+
1034 [working positions]
1035 fisher=1
1036
1037
1038=== modified file 'tribes/atlanteans/foresters_house/conf'
1039--- tribes/atlanteans/foresters_house/conf 2010-06-23 20:06:13 +0000
1040+++ tribes/atlanteans/foresters_house/conf 2013-07-23 17:35:41 +0000
1041@@ -5,6 +5,10 @@
1042 planks=1
1043 stone=1
1044
1045+[return_on_dismantle]
1046+stone=1
1047+trunk=1
1048+
1049 [working positions]
1050 forester=1
1051
1052
1053=== modified file 'tribes/atlanteans/goldmine/conf'
1054--- tribes/atlanteans/goldmine/conf 2013-07-13 17:51:09 +0000
1055+++ tribes/atlanteans/goldmine/conf 2013-07-23 17:35:41 +0000
1056@@ -6,6 +6,10 @@
1057 planks=4
1058 spidercloth=1
1059
1060+[return_on_dismantle]
1061+trunk=3
1062+planks=2
1063+
1064 [working positions]
1065 miner=3
1066
1067
1068=== modified file 'tribes/atlanteans/goldweaver/conf'
1069--- tribes/atlanteans/goldweaver/conf 2011-09-12 17:29:32 +0000
1070+++ tribes/atlanteans/goldweaver/conf 2013-07-23 17:35:41 +0000
1071@@ -9,6 +9,10 @@
1072 stone=1
1073 planks=1
1074
1075+[return_on_dismantle]
1076+trunk=1
1077+stone=1
1078+
1079 [working positions]
1080 carrier=1
1081
1082
1083=== modified file 'tribes/atlanteans/guardhall/conf'
1084--- tribes/atlanteans/guardhall/conf 2013-06-11 16:37:44 +0000
1085+++ tribes/atlanteans/guardhall/conf 2013-07-23 17:35:41 +0000
1086@@ -10,6 +10,11 @@
1087 stone=4
1088 diamond=1
1089
1090+[return_on_dismantle]
1091+trunk=1
1092+planks=1
1093+stone=3
1094+
1095 [idle]
1096 pics=guardhall_i_??.png
1097 hotspot=58 72
1098
1099=== modified file 'tribes/atlanteans/guardhouse/conf'
1100--- tribes/atlanteans/guardhouse/conf 2013-06-11 16:37:44 +0000
1101+++ tribes/atlanteans/guardhouse/conf 2013-07-23 17:35:41 +0000
1102@@ -9,6 +9,9 @@
1103 planks=1
1104 stone=1
1105
1106+[return_on_dismantle]
1107+stone=1
1108+
1109 [idle]
1110 pics=guardhouse_i_??.png
1111 hotspot=33 41
1112
1113=== modified file 'tribes/atlanteans/high_tower/conf'
1114--- tribes/atlanteans/high_tower/conf 2013-06-11 16:37:44 +0000
1115+++ tribes/atlanteans/high_tower/conf 2013-07-23 17:35:41 +0000
1116@@ -7,11 +7,14 @@
1117 enhanced_building=yes
1118 prefer_heroes=true
1119
1120-[buildcost]
1121+[enhancement_cost]
1122 trunk=1
1123 planks=1
1124 stone=2
1125
1126+[return_on_dismantle_on_enhanced]
1127+stone=1
1128+
1129 [idle]
1130 pics=high_tower_i_??.png
1131 hotspot=50 73
1132
1133=== modified file 'tribes/atlanteans/horsefarm/conf'
1134--- tribes/atlanteans/horsefarm/conf 2013-07-13 17:51:09 +0000
1135+++ tribes/atlanteans/horsefarm/conf 2013-07-23 17:35:41 +0000
1136@@ -10,6 +10,10 @@
1137 stone=2
1138 planks=1
1139
1140+[return_on_dismantle]
1141+trunk=1
1142+stone=2
1143+
1144 [working positions]
1145 horsebreeder=1
1146
1147
1148=== modified file 'tribes/atlanteans/hunters_house/conf'
1149--- tribes/atlanteans/hunters_house/conf 2010-01-01 12:32:23 +0000
1150+++ tribes/atlanteans/hunters_house/conf 2013-07-23 17:35:41 +0000
1151@@ -6,6 +6,9 @@
1152 planks=1
1153 stone=1
1154
1155+[return_on_dismantle]
1156+stone=1
1157+
1158 [aihints]
1159 build_material=false
1160
1161
1162=== modified file 'tribes/atlanteans/ironmine/conf'
1163--- tribes/atlanteans/ironmine/conf 2013-07-13 17:51:09 +0000
1164+++ tribes/atlanteans/ironmine/conf 2013-07-23 17:35:41 +0000
1165@@ -6,6 +6,10 @@
1166 planks=4
1167 spidercloth=1
1168
1169+[return_on_dismantle]
1170+trunk=2
1171+planks=2
1172+
1173 [working positions]
1174 miner=3
1175
1176
1177=== modified file 'tribes/atlanteans/labyrinth/conf'
1178--- tribes/atlanteans/labyrinth/conf 2013-04-25 07:11:20 +0000
1179+++ tribes/atlanteans/labyrinth/conf 2013-07-23 17:35:41 +0000
1180@@ -10,6 +10,14 @@
1181 diamond=2
1182 quartz=2
1183
1184+[return_on_dismantle]
1185+trunk=1
1186+stone=3
1187+planks=2
1188+spidercloth=2
1189+diamond=1
1190+quartz=1
1191+
1192 [working positions]
1193 carrier=1
1194
1195
1196=== modified file 'tribes/atlanteans/mill/conf'
1197--- tribes/atlanteans/mill/conf 2013-07-13 17:51:09 +0000
1198+++ tribes/atlanteans/mill/conf 2013-07-23 17:35:41 +0000
1199@@ -7,6 +7,11 @@
1200 stone=3
1201 planks=2
1202
1203+[return_on_dismantle]
1204+trunk=1
1205+stone=2
1206+planks=1
1207+
1208 [aihints]
1209 build_material=false
1210
1211
1212=== modified file 'tribes/atlanteans/port/conf'
1213--- tribes/atlanteans/port/conf 2012-03-14 21:36:03 +0000
1214+++ tribes/atlanteans/port/conf 2013-07-23 17:35:41 +0000
1215@@ -11,6 +11,13 @@
1216 spidercloth=3
1217 gold=2
1218
1219+[return_on_dismantle]
1220+trunk=1
1221+planks=1
1222+stone=2
1223+spidercloth=1
1224+gold=1
1225+
1226 [build]
1227 pics=port_b_??.png # 4 frames
1228 hotspot=74 70
1229
1230=== modified file 'tribes/atlanteans/quarry/conf'
1231--- tribes/atlanteans/quarry/conf 2009-12-31 18:15:29 +0000
1232+++ tribes/atlanteans/quarry/conf 2013-07-23 17:35:41 +0000
1233@@ -5,6 +5,9 @@
1234 trunk=2
1235 planks=1
1236
1237+[return_on_dismantle]
1238+trunk=1
1239+
1240 [working positions]
1241 stonecutter=1
1242
1243
1244=== modified file 'tribes/atlanteans/sawmill/conf'
1245--- tribes/atlanteans/sawmill/conf 2013-03-02 20:35:18 +0000
1246+++ tribes/atlanteans/sawmill/conf 2013-07-23 17:35:41 +0000
1247@@ -8,6 +8,10 @@
1248 trunk=2
1249 stone=3
1250
1251+[return_on_dismantle]
1252+trunk=1
1253+stone=2
1254+
1255 [working positions]
1256 sawyer=1
1257
1258
1259=== modified file 'tribes/atlanteans/scouts_house/conf'
1260--- tribes/atlanteans/scouts_house/conf 2011-09-12 17:29:32 +0000
1261+++ tribes/atlanteans/scouts_house/conf 2013-07-23 17:35:41 +0000
1262@@ -4,6 +4,9 @@
1263 trunk=2
1264 stone=1
1265
1266+[return_on_dismantle]
1267+trunk=1
1268+
1269 [working positions]
1270 scout=1
1271
1272
1273=== modified file 'tribes/atlanteans/shipyard/conf'
1274--- tribes/atlanteans/shipyard/conf 2012-02-20 15:54:26 +0000
1275+++ tribes/atlanteans/shipyard/conf 2013-07-23 17:35:41 +0000
1276@@ -9,6 +9,12 @@
1277 stone=3
1278 spidercloth=2
1279
1280+[return_on_dismantle]
1281+trunk=1
1282+planks=1
1283+stone=2
1284+spidercloth=1
1285+
1286 [working positions]
1287 shipwright=1
1288
1289
1290=== modified file 'tribes/atlanteans/small_tower/conf'
1291--- tribes/atlanteans/small_tower/conf 2013-06-11 16:37:44 +0000
1292+++ tribes/atlanteans/small_tower/conf 2013-07-23 17:35:41 +0000
1293@@ -10,6 +10,10 @@
1294 planks=2
1295 stone=2
1296
1297+[return_on_dismantle]
1298+planks=1
1299+stone=1
1300+
1301 [idle]
1302 pics=small_tower_i_??.png
1303 hotspot=42 65
1304
1305=== modified file 'tribes/atlanteans/smelting_works/conf'
1306--- tribes/atlanteans/smelting_works/conf 2011-09-12 17:29:32 +0000
1307+++ tribes/atlanteans/smelting_works/conf 2013-07-23 17:35:41 +0000
1308@@ -8,6 +8,9 @@
1309 planks=1
1310 spidercloth=1
1311
1312+[return_on_dismantle]
1313+stone=3
1314+
1315 [aihints]
1316 build_material=false
1317
1318
1319=== modified file 'tribes/atlanteans/smokery/conf'
1320--- tribes/atlanteans/smokery/conf 2013-07-13 17:51:09 +0000
1321+++ tribes/atlanteans/smokery/conf 2013-07-23 17:35:41 +0000
1322@@ -10,6 +10,9 @@
1323 planks=1
1324 spidercloth=1
1325
1326+[return_on_dismantle]
1327+stone=3
1328+
1329 [aihints]
1330 build_material=false
1331
1332
1333=== modified file 'tribes/atlanteans/spiderfarm/conf'
1334--- tribes/atlanteans/spiderfarm/conf 2013-07-13 17:51:09 +0000
1335+++ tribes/atlanteans/spiderfarm/conf 2013-07-23 17:35:41 +0000
1336@@ -6,6 +6,10 @@
1337 stone=2
1338 planks=2
1339
1340+[return_on_dismantle]
1341+stone=1
1342+planks=1
1343+
1344 [working positions]
1345 spiderbreeder=1
1346
1347
1348=== modified file 'tribes/atlanteans/toolsmithy/conf'
1349--- tribes/atlanteans/toolsmithy/conf 2012-02-15 21:25:34 +0000
1350+++ tribes/atlanteans/toolsmithy/conf 2013-07-23 17:35:41 +0000
1351@@ -18,6 +18,10 @@
1352 planks=2
1353 spidercloth=1
1354
1355+[return_on_dismantle]
1356+stone=1
1357+planks=1
1358+
1359 [aihints]
1360 build_material=false
1361
1362
1363=== modified file 'tribes/atlanteans/tower/conf'
1364--- tribes/atlanteans/tower/conf 2013-06-11 16:37:44 +0000
1365+++ tribes/atlanteans/tower/conf 2013-07-23 17:35:41 +0000
1366@@ -12,6 +12,11 @@
1367 stone=4
1368 spidercloth=1
1369
1370+[return_on_dismantle]
1371+trunk=1
1372+planks=1
1373+stone=3
1374+
1375 [idle]
1376 pics=tower_i_??.png
1377 hotspot=55 60
1378
1379=== modified file 'tribes/atlanteans/warehouse/conf'
1380--- tribes/atlanteans/warehouse/conf 2012-03-14 21:36:03 +0000
1381+++ tribes/atlanteans/warehouse/conf 2013-07-23 17:35:41 +0000
1382@@ -8,6 +8,12 @@
1383 quartz=1
1384 spidercloth=1
1385
1386+[return_on_dismantle]
1387+trunk=1
1388+planks=1
1389+stone=1
1390+quartz=1
1391+
1392 [idle]
1393 pics=warehouse_i_??.png # ???
1394 hotspot=58 62
1395
1396=== modified file 'tribes/atlanteans/weaponsmithy/conf'
1397--- tribes/atlanteans/weaponsmithy/conf 2013-03-02 20:35:18 +0000
1398+++ tribes/atlanteans/weaponsmithy/conf 2013-07-23 17:35:41 +0000
1399@@ -15,6 +15,11 @@
1400 spidercloth=1
1401 quartz=1
1402
1403+[return_on_dismantle]
1404+trunk=1
1405+stone=1
1406+planks=1
1407+
1408 [working positions]
1409 weaponsmith=1
1410
1411
1412=== modified file 'tribes/atlanteans/weaving-mill/conf'
1413--- tribes/atlanteans/weaving-mill/conf 2010-03-29 18:52:07 +0000
1414+++ tribes/atlanteans/weaving-mill/conf 2013-07-23 17:35:41 +0000
1415@@ -8,6 +8,11 @@
1416 stone=4
1417 planks=2
1418
1419+[return_on_dismantle]
1420+trunk=1
1421+stone=3
1422+planks=1
1423+
1424 [working positions]
1425 weaver=1
1426
1427
1428=== modified file 'tribes/atlanteans/well/conf'
1429--- tribes/atlanteans/well/conf 2011-09-12 17:29:32 +0000
1430+++ tribes/atlanteans/well/conf 2013-07-23 17:35:41 +0000
1431@@ -6,6 +6,10 @@
1432 stone=1
1433 planks=1
1434
1435+[return_on_dismantle]
1436+trunk=1
1437+stone=1
1438+
1439 [working positions]
1440 carrier=1
1441
1442
1443=== modified file 'tribes/atlanteans/woodcutters_house/conf'
1444--- tribes/atlanteans/woodcutters_house/conf 2009-12-31 18:15:29 +0000
1445+++ tribes/atlanteans/woodcutters_house/conf 2013-07-23 17:35:41 +0000
1446@@ -5,6 +5,10 @@
1447 trunk=2
1448 planks=1
1449
1450+[return_on_dismantle]
1451+trunk=1
1452+planks=1
1453+
1454 [working positions]
1455 woodcutter=1
1456
1457
1458=== modified file 'tribes/barbarians/axefactory/conf'
1459--- tribes/barbarians/axefactory/conf 2013-03-02 20:35:18 +0000
1460+++ tribes/barbarians/axefactory/conf 2013-07-23 17:35:41 +0000
1461@@ -9,13 +9,18 @@
1462 [aihints]
1463 build_material=false
1464
1465-[buildcost]
1466+[enhancement_cost]
1467 trunk=1
1468 blackwood=1
1469 raw_stone=2
1470 grout=1
1471 thatchreed=1
1472
1473+[return_on_dismantle_on_enhanced]
1474+blackwood=1
1475+raw_stone=1
1476+grout=1
1477+
1478 [working positions]
1479 blacksmith=1
1480
1481
1482=== modified file 'tribes/barbarians/bakery/conf'
1483--- tribes/barbarians/bakery/conf 2013-07-13 17:51:09 +0000
1484+++ tribes/barbarians/bakery/conf 2013-07-23 17:35:41 +0000
1485@@ -10,6 +10,11 @@
1486 raw_stone=2
1487 thatchreed=2
1488
1489+[return_on_dismantle]
1490+trunk=1
1491+blackwood=1
1492+raw_stone=2
1493+
1494 [working positions]
1495 baker=1
1496
1497
1498=== modified file 'tribes/barbarians/barrier/conf'
1499--- tribes/barbarians/barrier/conf 2013-06-11 16:37:44 +0000
1500+++ tribes/barbarians/barrier/conf 2013-07-23 17:35:41 +0000
1501@@ -8,6 +8,10 @@
1502 blackwood=5
1503 grout=2
1504
1505+[return_on_dismantle]
1506+blackwood=2
1507+grout=1
1508+
1509 [idle]
1510 pics=barrier_i_??.png
1511 hotspot=44 62
1512
1513=== modified file 'tribes/barbarians/battlearena/conf'
1514--- tribes/barbarians/battlearena/conf 2013-04-28 04:37:49 +0000
1515+++ tribes/barbarians/battlearena/conf 2013-07-23 17:35:41 +0000
1516@@ -9,6 +9,13 @@
1517 gold=4
1518 thatchreed=3
1519
1520+[return_on_dismantle]
1521+trunk=3
1522+raw_stone=3
1523+grout=3
1524+gold=2
1525+thatchreed=1
1526+
1527 [working positions]
1528 trainer=1
1529
1530
1531=== modified file 'tribes/barbarians/big_inn/conf'
1532--- tribes/barbarians/big_inn/conf 2010-04-09 03:31:34 +0000
1533+++ tribes/barbarians/big_inn/conf 2013-07-23 17:35:41 +0000
1534@@ -5,11 +5,14 @@
1535 output=snack
1536 output=meal
1537
1538-[buildcost]
1539+[enhancement_cost]
1540 trunk=1
1541 grout=3
1542 thatchreed=2
1543
1544+[return_on_dismantle_on_enhanced]
1545+grout=2
1546+
1547 [working positions]
1548 innkeeper=2
1549
1550
1551=== modified file 'tribes/barbarians/brewery/conf'
1552--- tribes/barbarians/brewery/conf 2013-07-13 17:51:09 +0000
1553+++ tribes/barbarians/brewery/conf 2013-07-23 17:35:41 +0000
1554@@ -3,11 +3,15 @@
1555 enhanced_building=yes
1556 output=strongbeer
1557
1558-[buildcost]
1559+[enhancement_cost]
1560 trunk=3
1561 raw_stone=1
1562 thatchreed=1
1563
1564+[return_on_dismantle_on_enhanced]
1565+trunk=1
1566+raw_stone=1
1567+
1568 [working positions]
1569 master-brewer=1
1570 brewer=1
1571
1572=== modified file 'tribes/barbarians/burners_house/conf'
1573--- tribes/barbarians/burners_house/conf 2013-07-13 17:51:09 +0000
1574+++ tribes/barbarians/burners_house/conf 2013-07-23 17:35:41 +0000
1575@@ -9,6 +9,10 @@
1576 grout=2
1577 thatchreed=2
1578
1579+[return_on_dismantle]
1580+trunk=2
1581+grout=1
1582+
1583 [working positions]
1584 burner=1
1585
1586
1587=== modified file 'tribes/barbarians/cattlefarm/conf'
1588--- tribes/barbarians/cattlefarm/conf 2013-07-13 17:51:09 +0000
1589+++ tribes/barbarians/cattlefarm/conf 2013-07-23 17:35:41 +0000
1590@@ -10,6 +10,10 @@
1591 raw_stone=2
1592 blackwood=1
1593
1594+[return_on_dismantle]
1595+raw_stone=1
1596+blackwood=1
1597+
1598 [working positions]
1599 cattlebreeder=1
1600
1601
1602=== modified file 'tribes/barbarians/citadel/conf'
1603--- tribes/barbarians/citadel/conf 2013-06-11 16:37:44 +0000
1604+++ tribes/barbarians/citadel/conf 2013-07-23 17:35:41 +0000
1605@@ -6,12 +6,18 @@
1606 enhanced_building=yes
1607 prefer_heroes=true
1608
1609-[buildcost]
1610+[enhancement_cost]
1611 blackwood=9
1612 trunk=5
1613 raw_stone=4
1614 grout=2
1615
1616+[return_on_dismantle_on_enhanced]
1617+blackwood=4
1618+trunk=2
1619+raw_stone=3
1620+grout=1
1621+
1622 [build]
1623 pics=citadel_b_??.png
1624 hotspot=102 102
1625
1626=== modified file 'tribes/barbarians/coalmine/conf'
1627--- tribes/barbarians/coalmine/conf 2011-09-02 12:36:04 +0000
1628+++ tribes/barbarians/coalmine/conf 2013-07-23 17:35:41 +0000
1629@@ -6,6 +6,10 @@
1630 trunk=4
1631 raw_stone=2
1632
1633+[return_on_dismantle]
1634+trunk=2
1635+raw_stone=1
1636+
1637 [working positions]
1638 miner=1
1639
1640
1641=== modified file 'tribes/barbarians/deep_coalmine/conf'
1642--- tribes/barbarians/deep_coalmine/conf 2011-09-02 12:36:04 +0000
1643+++ tribes/barbarians/deep_coalmine/conf 2013-07-23 17:35:41 +0000
1644@@ -4,10 +4,14 @@
1645 output=coal
1646 enhancement=deeper_coalmine
1647
1648-[buildcost]
1649+[enhancement_cost]
1650 trunk=4
1651 raw_stone=2
1652
1653+[return_on_dismantle_on_enhanced]
1654+trunk=2
1655+raw_stone=1
1656+
1657 [working positions]
1658 chief-miner=1
1659 miner=1
1660
1661=== modified file 'tribes/barbarians/deep_goldmine/conf'
1662--- tribes/barbarians/deep_goldmine/conf 2011-09-02 12:36:04 +0000
1663+++ tribes/barbarians/deep_goldmine/conf 2013-07-23 17:35:41 +0000
1664@@ -4,10 +4,14 @@
1665 output=goldstone
1666 enhancement=deeper_goldmine
1667
1668-[buildcost]
1669+[enhancement_cost]
1670 trunk=4
1671 raw_stone=2
1672
1673+[return_on_dismantle_on_enhanced]
1674+trunk=2
1675+raw_stone=1
1676+
1677 [working positions]
1678 chief-miner=1
1679 miner=1
1680
1681=== modified file 'tribes/barbarians/deep_oremine/conf'
1682--- tribes/barbarians/deep_oremine/conf 2011-09-02 12:36:04 +0000
1683+++ tribes/barbarians/deep_oremine/conf 2013-07-23 17:35:41 +0000
1684@@ -4,10 +4,14 @@
1685 output=ironore
1686 enhancement=deeper_oremine
1687
1688-[buildcost]
1689+[enhancement_cost]
1690 trunk=4
1691 raw_stone=2
1692
1693+[return_on_dismantle_on_enhanced]
1694+trunk=2
1695+raw_stone=1
1696+
1697 [working positions]
1698 chief-miner=1
1699 miner=1
1700
1701=== modified file 'tribes/barbarians/deeper_coalmine/conf'
1702--- tribes/barbarians/deeper_coalmine/conf 2012-02-15 21:25:34 +0000
1703+++ tribes/barbarians/deeper_coalmine/conf 2013-07-23 17:35:41 +0000
1704@@ -3,10 +3,14 @@
1705 enhanced_building=yes
1706 output=coal
1707
1708-[buildcost]
1709+[enhancement_cost]
1710 trunk=4
1711 raw_stone=2
1712
1713+[return_on_dismantle_on_enhanced]
1714+trunk=2
1715+raw_stone=1
1716+
1717 [working positions]
1718 master-miner=1
1719 chief-miner=1
1720
1721=== modified file 'tribes/barbarians/deeper_goldmine/conf'
1722--- tribes/barbarians/deeper_goldmine/conf 2012-02-15 21:25:34 +0000
1723+++ tribes/barbarians/deeper_goldmine/conf 2013-07-23 17:35:41 +0000
1724@@ -3,10 +3,14 @@
1725 enhanced_building=yes
1726 output=goldstone
1727
1728-[buildcost]
1729+[enhancement_cost]
1730 trunk=4
1731 raw_stone=2
1732
1733+[return_on_dismantle_on_enhanced]
1734+trunk=2
1735+raw_stone=1
1736+
1737 [working positions]
1738 master-miner=1
1739 chief-miner=1
1740
1741=== modified file 'tribes/barbarians/deeper_oremine/conf'
1742--- tribes/barbarians/deeper_oremine/conf 2011-09-02 12:36:04 +0000
1743+++ tribes/barbarians/deeper_oremine/conf 2013-07-23 17:35:41 +0000
1744@@ -3,10 +3,14 @@
1745 enhanced_building=yes
1746 output=ironore
1747
1748-[buildcost]
1749+[enhancement_cost]
1750 trunk=4
1751 raw_stone=2
1752
1753+[return_on_dismantle_on_enhanced]
1754+trunk=2
1755+raw_stone=1
1756+
1757 [working positions]
1758 master-miner=1
1759 chief-miner=1
1760
1761=== modified file 'tribes/barbarians/donjon/conf'
1762--- tribes/barbarians/donjon/conf 2013-06-11 16:37:44 +0000
1763+++ tribes/barbarians/donjon/conf 2013-07-23 17:35:41 +0000
1764@@ -10,6 +10,10 @@
1765 trunk=1
1766 raw_stone=4
1767
1768+[return_on_dismantle]
1769+blackwood=3
1770+raw_stone=3
1771+
1772 [build]
1773 pics=donjon_b_??.png
1774 hotspot=48 84
1775
1776=== modified file 'tribes/barbarians/farm/conf'
1777--- tribes/barbarians/farm/conf 2013-03-02 20:35:18 +0000
1778+++ tribes/barbarians/farm/conf 2013-07-23 17:35:41 +0000
1779@@ -9,6 +9,11 @@
1780 blackwood=1
1781 raw_stone=3
1782
1783+[return_on_dismantle]
1784+trunk=1
1785+blackwood=1
1786+raw_stone=2
1787+
1788 [working positions]
1789 farmer=1
1790
1791
1792=== modified file 'tribes/barbarians/fernery/conf'
1793--- tribes/barbarians/fernery/conf 2011-09-12 17:29:32 +0000
1794+++ tribes/barbarians/fernery/conf 2013-07-23 17:35:41 +0000
1795@@ -8,6 +8,10 @@
1796 trunk=5
1797 raw_stone=2
1798
1799+[return_on_dismantle]
1800+trunk=2
1801+raw_stone=1
1802+
1803 [working positions]
1804 ferner=1
1805
1806
1807=== modified file 'tribes/barbarians/fishers_hut/conf'
1808--- tribes/barbarians/fishers_hut/conf 2011-09-12 17:29:32 +0000
1809+++ tribes/barbarians/fishers_hut/conf 2013-07-23 17:35:41 +0000
1810@@ -4,6 +4,9 @@
1811 [buildcost]
1812 trunk=4
1813
1814+[return_on_dismantle]
1815+trunk=2
1816+
1817 [working positions]
1818 fisher=1
1819
1820
1821=== modified file 'tribes/barbarians/fortress/conf'
1822--- tribes/barbarians/fortress/conf 2013-06-11 16:37:44 +0000
1823+++ tribes/barbarians/fortress/conf 2013-07-23 17:35:41 +0000
1824@@ -11,6 +11,12 @@
1825 raw_stone=4
1826 grout=2
1827
1828+[return_on_dismantle]
1829+blackwood=4
1830+trunk=2
1831+raw_stone=2
1832+grout=1
1833+
1834 [build]
1835 pics=fortress_b_??.png
1836 hotspot=103 80
1837
1838=== modified file 'tribes/barbarians/gamekeepers_hut/conf'
1839--- tribes/barbarians/gamekeepers_hut/conf 2011-09-12 17:29:32 +0000
1840+++ tribes/barbarians/gamekeepers_hut/conf 2013-07-23 17:35:41 +0000
1841@@ -4,6 +4,10 @@
1842 trunk=4
1843 raw_stone=1
1844
1845+[return_on_dismantle]
1846+trunk=1
1847+raw_stone=1
1848+
1849 [working positions]
1850 gamekeeper=1
1851
1852
1853=== modified file 'tribes/barbarians/goldmine/conf'
1854--- tribes/barbarians/goldmine/conf 2011-09-02 12:36:04 +0000
1855+++ tribes/barbarians/goldmine/conf 2013-07-23 17:35:41 +0000
1856@@ -6,6 +6,10 @@
1857 trunk=4
1858 raw_stone=2
1859
1860+[return_on_dismantle]
1861+trunk=2
1862+raw_stone=1
1863+
1864 [working positions]
1865 miner=1
1866
1867
1868=== modified file 'tribes/barbarians/granitemine/conf'
1869--- tribes/barbarians/granitemine/conf 2011-10-03 15:51:56 +0000
1870+++ tribes/barbarians/granitemine/conf 2013-07-23 17:35:41 +0000
1871@@ -5,6 +5,10 @@
1872 trunk=4
1873 raw_stone=2
1874
1875+[return_on_dismantle]
1876+trunk=2
1877+raw_stone=1
1878+
1879 [working positions]
1880 miner=1
1881
1882
1883=== modified file 'tribes/barbarians/hardener/conf'
1884--- tribes/barbarians/hardener/conf 2010-04-09 03:31:34 +0000
1885+++ tribes/barbarians/hardener/conf 2013-07-23 17:35:41 +0000
1886@@ -8,6 +8,10 @@
1887 trunk=3
1888 raw_stone=1
1889
1890+[return_on_dismantle]
1891+trunk=1
1892+raw_stone=1
1893+
1894 [working positions] # like lumberjack
1895 lumberjack=1
1896
1897
1898=== modified file 'tribes/barbarians/helmsmithy/conf'
1899--- tribes/barbarians/helmsmithy/conf 2011-10-03 15:51:56 +0000
1900+++ tribes/barbarians/helmsmithy/conf 2013-07-23 17:35:41 +0000
1901@@ -13,6 +13,12 @@
1902 grout=2
1903 thatchreed=3
1904
1905+[return_on_dismantle]
1906+trunk=1
1907+raw_stone=2
1908+grout=1
1909+thatchreed=1
1910+
1911 [working positions]
1912 helmsmith=1
1913
1914
1915=== modified file 'tribes/barbarians/hunters_hut/conf'
1916--- tribes/barbarians/hunters_hut/conf 2011-09-12 17:29:32 +0000
1917+++ tribes/barbarians/hunters_hut/conf 2013-07-23 17:35:41 +0000
1918@@ -5,6 +5,10 @@
1919 trunk=4
1920 raw_stone=1
1921
1922+[return_on_dismantle]
1923+trunk=1
1924+raw_stone=1
1925+
1926 [aihints]
1927 build_material=false
1928
1929
1930=== modified file 'tribes/barbarians/inn/conf'
1931--- tribes/barbarians/inn/conf 2009-04-11 17:14:21 +0000
1932+++ tribes/barbarians/inn/conf 2013-07-23 17:35:41 +0000
1933@@ -5,11 +5,15 @@
1934 output=ration
1935 output=snack
1936
1937-[buildcost]
1938+[enhancement_cost]
1939 trunk=2
1940 grout=2
1941 thatchreed=1
1942
1943+[return_on_dismantle_on_enhanced]
1944+trunk=1
1945+grout=1
1946+
1947 [working positions]
1948 innkeeper=1
1949
1950
1951=== modified file 'tribes/barbarians/lime_kiln/conf'
1952--- tribes/barbarians/lime_kiln/conf 2011-09-12 17:29:32 +0000
1953+++ tribes/barbarians/lime_kiln/conf 2013-07-23 17:35:41 +0000
1954@@ -6,6 +6,10 @@
1955 raw_stone=2
1956 blackwood=1
1957
1958+[return_on_dismantle]
1959+trunk=2
1960+raw_stone=1
1961+
1962 [working positions]
1963 lime-burner=1
1964
1965
1966=== modified file 'tribes/barbarians/lumberjacks_hut/conf'
1967--- tribes/barbarians/lumberjacks_hut/conf 2012-02-15 21:25:34 +0000
1968+++ tribes/barbarians/lumberjacks_hut/conf 2013-07-23 17:35:41 +0000
1969@@ -4,6 +4,9 @@
1970 [buildcost]
1971 trunk=3
1972
1973+[return_on_dismantle]
1974+trunk=2
1975+
1976 [working positions]
1977 lumberjack=1
1978
1979
1980=== modified file 'tribes/barbarians/metalworks/conf'
1981--- tribes/barbarians/metalworks/conf 2013-03-02 20:35:18 +0000
1982+++ tribes/barbarians/metalworks/conf 2013-07-23 17:35:41 +0000
1983@@ -18,6 +18,11 @@
1984 grout=1
1985 thatchreed=1
1986
1987+[return_on_dismantle]
1988+blackwood=1
1989+raw_stone=1
1990+grout=1
1991+
1992 [working positions]
1993 blacksmith=1
1994
1995
1996=== modified file 'tribes/barbarians/micro-brewery/conf'
1997--- tribes/barbarians/micro-brewery/conf 2010-08-01 14:35:38 +0000
1998+++ tribes/barbarians/micro-brewery/conf 2013-07-23 17:35:41 +0000
1999@@ -11,6 +11,11 @@
2000 raw_stone=3
2001 thatchreed=2
2002
2003+[return_on_dismantle]
2004+trunk=1
2005+blackwood=1
2006+raw_stone=2
2007+
2008 [working positions]
2009 brewer=1
2010
2011
2012=== modified file 'tribes/barbarians/oremine/conf'
2013--- tribes/barbarians/oremine/conf 2011-09-02 12:36:04 +0000
2014+++ tribes/barbarians/oremine/conf 2013-07-23 17:35:41 +0000
2015@@ -6,6 +6,10 @@
2016 trunk=4
2017 raw_stone=2
2018
2019+[return_on_dismantle]
2020+trunk=2
2021+raw_stone=1
2022+
2023 [working positions]
2024 miner=1
2025
2026
2027=== modified file 'tribes/barbarians/port/conf'
2028--- tribes/barbarians/port/conf 2012-03-14 21:36:03 +0000
2029+++ tribes/barbarians/port/conf 2013-07-23 17:35:41 +0000
2030@@ -11,6 +11,15 @@
2031 thatchreed=4
2032 gold=2
2033
2034+[return_on_dismantle]
2035+trunk=1
2036+blackwood=2
2037+raw_stone=3
2038+grout=1
2039+iron=1
2040+thatchreed=1
2041+gold=1
2042+
2043 [build]
2044 pics=port_b_??.png # 4 frames
2045 hotspot=67 80
2046
2047=== modified file 'tribes/barbarians/quarry/conf'
2048--- tribes/barbarians/quarry/conf 2010-08-01 14:35:38 +0000
2049+++ tribes/barbarians/quarry/conf 2013-07-23 17:35:41 +0000
2050@@ -4,6 +4,9 @@
2051 [buildcost]
2052 trunk=4
2053
2054+[return_on_dismantle]
2055+trunk=2
2056+
2057 [working positions]
2058 stonemason=1
2059
2060@@ -20,8 +23,8 @@
2061
2062 [idle]
2063 pics=b_quarry_i_??.png # ???
2064-hotspot=45 40
2065+hotspot=45 40
2066
2067 [build]
2068 pics=b_quarry_b_??.png # ???
2069-hotspot=44 36
2070+hotspot=44 36
2071
2072=== modified file 'tribes/barbarians/rangers_hut/conf'
2073--- tribes/barbarians/rangers_hut/conf 2010-08-01 14:35:38 +0000
2074+++ tribes/barbarians/rangers_hut/conf 2013-07-23 17:35:41 +0000
2075@@ -3,6 +3,9 @@
2076 [buildcost]
2077 trunk=4
2078
2079+[return_on_dismantle]
2080+trunk=3
2081+
2082 [working positions]
2083 ranger=1
2084
2085
2086=== modified file 'tribes/barbarians/scouts_hut/conf'
2087--- tribes/barbarians/scouts_hut/conf 2010-08-01 14:35:38 +0000
2088+++ tribes/barbarians/scouts_hut/conf 2013-07-23 17:35:41 +0000
2089@@ -4,6 +4,10 @@
2090 trunk=2
2091 raw_stone=1
2092
2093+[return_on_dismantle]
2094+trunk=1
2095+raw_stone=1
2096+
2097 [inputs]
2098 ration=2
2099
2100
2101=== modified file 'tribes/barbarians/sentry/conf'
2102--- tribes/barbarians/sentry/conf 2013-06-11 16:37:44 +0000
2103+++ tribes/barbarians/sentry/conf 2013-07-23 17:35:41 +0000
2104@@ -7,6 +7,9 @@
2105 [buildcost]
2106 blackwood=2
2107
2108+[return_on_dismantle]
2109+blackwood=1
2110+
2111 [idle]
2112 pics=sentry_i_??.png
2113 hotspot=39 40
2114
2115=== modified file 'tribes/barbarians/shipyard/conf'
2116--- tribes/barbarians/shipyard/conf 2012-03-01 16:15:56 +0000
2117+++ tribes/barbarians/shipyard/conf 2013-07-23 17:35:41 +0000
2118@@ -9,6 +9,11 @@
2119 raw_stone=3
2120 cloth=2
2121
2122+[return_on_dismantle]
2123+trunk=1
2124+blackwood=1
2125+raw_stone=2
2126+
2127 [working positions]
2128 shipwright=1
2129
2130
2131=== modified file 'tribes/barbarians/smelting_works/conf'
2132--- tribes/barbarians/smelting_works/conf 2010-11-21 11:44:22 +0000
2133+++ tribes/barbarians/smelting_works/conf 2013-07-23 17:35:41 +0000
2134@@ -12,6 +12,11 @@
2135 grout=1
2136 thatchreed=2
2137
2138+[return_on_dismantle]
2139+trunk=1
2140+blackwood=1
2141+raw_stone=1
2142+
2143 [working positions]
2144 smelter=1
2145
2146
2147=== modified file 'tribes/barbarians/tavern/conf'
2148--- tribes/barbarians/tavern/conf 2010-01-01 12:32:23 +0000
2149+++ tribes/barbarians/tavern/conf 2013-07-23 17:35:41 +0000
2150@@ -8,6 +8,11 @@
2151 raw_stone=1
2152 thatchreed=1
2153
2154+[return_on_dismantle]
2155+trunk=1
2156+blackwood=1
2157+raw_stone=1
2158+
2159 [aihints]
2160 build_material=false
2161
2162
2163=== modified file 'tribes/barbarians/trainingscamp/conf'
2164--- tribes/barbarians/trainingscamp/conf 2013-04-25 07:11:20 +0000
2165+++ tribes/barbarians/trainingscamp/conf 2013-07-23 17:35:41 +0000
2166@@ -9,6 +9,12 @@
2167 gold=4
2168 thatchreed=3
2169
2170+[return_on_dismantle]
2171+trunk=3
2172+raw_stone=2
2173+grout=2
2174+gold=2
2175+
2176 [working positions]
2177 trainer=1
2178
2179
2180=== modified file 'tribes/barbarians/warehouse/conf'
2181--- tribes/barbarians/warehouse/conf 2012-03-14 21:36:03 +0000
2182+++ tribes/barbarians/warehouse/conf 2013-07-23 17:35:41 +0000
2183@@ -8,6 +8,12 @@
2184 grout=3
2185 thatchreed=1
2186
2187+[return_on_dismantle]
2188+trunk=1
2189+blackwood=1
2190+raw_stone=1
2191+grout=1
2192+
2193 [idle]
2194 pics=warehouse_i_??.png # ???
2195 hotspot=58 75
2196
2197=== modified file 'tribes/barbarians/warmill/conf'
2198--- tribes/barbarians/warmill/conf 2013-03-02 20:35:18 +0000
2199+++ tribes/barbarians/warmill/conf 2013-07-23 17:35:41 +0000
2200@@ -11,13 +11,18 @@
2201 [aihints]
2202 build_material=false
2203
2204-[buildcost]
2205+[enhancement_cost]
2206 trunk=1
2207 blackwood=1
2208 raw_stone=2
2209 grout=1
2210 thatchreed=1
2211
2212+[return_on_dismantle_on_enhanced]
2213+blackwood=1
2214+raw_stone=1
2215+grout=1
2216+
2217 [working positions]
2218 master-blacksmith=1
2219 blacksmith=1
2220
2221=== modified file 'tribes/barbarians/weaving-mill/conf'
2222--- tribes/barbarians/weaving-mill/conf 2013-07-13 17:51:09 +0000
2223+++ tribes/barbarians/weaving-mill/conf 2013-07-23 17:35:41 +0000
2224@@ -9,6 +9,10 @@
2225 raw_stone=2
2226 thatchreed=2
2227
2228+[return_on_dismantle]
2229+trunk=2
2230+raw_stone=2
2231+
2232 [working positions]
2233 weaver=1
2234
2235
2236=== modified file 'tribes/barbarians/well/conf'
2237--- tribes/barbarians/well/conf 2011-02-20 15:10:35 +0000
2238+++ tribes/barbarians/well/conf 2013-07-23 17:35:41 +0000
2239@@ -4,6 +4,9 @@
2240 [buildcost]
2241 trunk=4
2242
2243+[return_on_dismantle]
2244+trunk=2
2245+
2246 [aihints]
2247 build_material=false
2248
2249
2250=== modified file 'tribes/empire/arena/conf'
2251--- tribes/empire/arena/conf 2013-04-25 07:11:20 +0000
2252+++ tribes/empire/arena/conf 2013-07-23 17:35:41 +0000
2253@@ -3,6 +3,21 @@
2254 soldier_capacity=8
2255 trainer_patience=8
2256
2257+[buildcost]
2258+trunk=2
2259+stone=4
2260+marble=5
2261+wood=5
2262+marblecolumn=2
2263+
2264+[return_on_dismantle]
2265+trunk=1
2266+stone=3
2267+marble=3
2268+wood=2
2269+marblecolumn=1
2270+
2271+
2272 [working positions]
2273 carrier=1
2274
2275@@ -37,13 +52,6 @@
2276 fish=6
2277 meat=6
2278
2279-[buildcost]
2280-trunk=2
2281-stone=4
2282-marble=5
2283-wood=5
2284-marblecolumn=2
2285-
2286 [idle]
2287 pics=arena_i_??.png # ???
2288 hotspot=81 82
2289
2290=== modified file 'tribes/empire/armoursmithy/conf'
2291--- tribes/empire/armoursmithy/conf 2011-10-03 15:51:56 +0000
2292+++ tribes/empire/armoursmithy/conf 2013-07-23 17:35:41 +0000
2293@@ -13,6 +13,11 @@
2294 marble=2
2295 marblecolumn=3
2296
2297+[return_on_dismantle]
2298+stone=1
2299+marble=1
2300+marblecolumn=2
2301+
2302 [working positions]
2303 armoursmith=1
2304
2305
2306=== modified file 'tribes/empire/bakery/conf'
2307--- tribes/empire/bakery/conf 2011-10-03 15:51:56 +0000
2308+++ tribes/empire/bakery/conf 2013-07-23 17:35:41 +0000
2309@@ -9,6 +9,10 @@
2310 wood=2
2311 stone=3
2312
2313+[return_on_dismantle]
2314+wood=1
2315+stone=2
2316+
2317 [working positions]
2318 baker=1
2319
2320
2321=== modified file 'tribes/empire/barracks/conf'
2322--- tribes/empire/barracks/conf 2013-06-11 16:37:44 +0000
2323+++ tribes/empire/barracks/conf 2013-07-23 17:35:41 +0000
2324@@ -9,6 +9,9 @@
2325 trunk=1
2326 wood=2
2327
2328+[return_on_dismantle]
2329+wood=1
2330+
2331 [idle]
2332 pics=barracks_i_??.png
2333 hotspot=37 58
2334
2335=== modified file 'tribes/empire/barrier/conf'
2336--- tribes/empire/barrier/conf 2013-06-11 16:37:44 +0000
2337+++ tribes/empire/barrier/conf 2013-07-23 17:35:41 +0000
2338@@ -11,6 +11,21 @@
2339 stone=2
2340 marble=1
2341
2342+[return_on_dismantle]
2343+trunk=1
2344+wood=1
2345+stone=1
2346+
2347+[enhancement_cost]
2348+trunk=1
2349+wood=2
2350+stone=1
2351+marble=1
2352+
2353+[return_on_dismantle_on_enhanced]
2354+wood=1
2355+stone=1
2356+
2357 [idle]
2358 pics=barrier_i_??.png
2359 hotspot=49 77
2360
2361=== modified file 'tribes/empire/brewery/conf'
2362--- tribes/empire/brewery/conf 2013-07-13 17:51:09 +0000
2363+++ tribes/empire/brewery/conf 2013-07-23 17:35:41 +0000
2364@@ -9,6 +9,10 @@
2365 wood=2
2366 stone=2
2367
2368+[return_on_dismantle]
2369+wood=1
2370+stone=1
2371+
2372 [working positions]
2373 brewer=1
2374
2375
2376=== modified file 'tribes/empire/burners_house/conf'
2377--- tribes/empire/burners_house/conf 2013-07-13 17:51:09 +0000
2378+++ tribes/empire/burners_house/conf 2013-07-23 17:35:41 +0000
2379@@ -9,6 +9,11 @@
2380 stone=2
2381 marble=2
2382
2383+[return_on_dismantle]
2384+trunk=1
2385+stone=1
2386+marble=1
2387+
2388 [working positions]
2389 burner=1
2390
2391
2392=== modified file 'tribes/empire/castle/conf'
2393--- tribes/empire/castle/conf 2013-06-11 16:37:44 +0000
2394+++ tribes/empire/castle/conf 2013-07-23 17:35:41 +0000
2395@@ -6,12 +6,18 @@
2396 enhanced_building=yes
2397 prefer_heroes=true
2398
2399-[buildcost]
2400+[enhancement_cost]
2401 wood=5
2402 marblecolumn=4
2403 marble=4
2404 stone=2
2405
2406+[return_on_dismantle_on_enhanced]
2407+wood=2
2408+marblecolumn=2
2409+marble=3
2410+stone=1
2411+
2412 [idle]
2413 pics=castle_i_??.png
2414 hotspot=94 106
2415
2416=== modified file 'tribes/empire/coalmine/conf'
2417--- tribes/empire/coalmine/conf 2013-07-13 17:51:09 +0000
2418+++ tribes/empire/coalmine/conf 2013-07-23 17:35:41 +0000
2419@@ -6,6 +6,10 @@
2420 trunk=4
2421 wood=2
2422
2423+[return_on_dismantle]
2424+trunk=2
2425+wood=1
2426+
2427 [working positions]
2428 miner=1
2429
2430
2431=== modified file 'tribes/empire/colosseum/conf'
2432--- tribes/empire/colosseum/conf 2013-04-25 07:11:20 +0000
2433+++ tribes/empire/colosseum/conf 2013-07-23 17:35:41 +0000
2434@@ -4,7 +4,7 @@
2435 soldier_capacity=8
2436 trainer_patience=9
2437
2438-[buildcost]
2439+[enhancement_cost]
2440 wood=2
2441 stone=4
2442 marble=4
2443@@ -12,6 +12,13 @@
2444 gold=4
2445 marblecolumn=4
2446
2447+[return_on_dismantle_on_enhanced]
2448+wood=1
2449+stone=2
2450+marble=2
2451+gold=2
2452+marblecolumn=2
2453+
2454 [working positions]
2455 carrier=1
2456
2457
2458=== modified file 'tribes/empire/deep_coalmine/conf'
2459--- tribes/empire/deep_coalmine/conf 2013-07-13 17:51:09 +0000
2460+++ tribes/empire/deep_coalmine/conf 2013-07-23 17:35:41 +0000
2461@@ -3,10 +3,14 @@
2462 enhanced_building=yes
2463 output=coal
2464
2465-[buildcost]
2466+[enhancement_cost]
2467 trunk=4
2468 wood=2
2469
2470+[return_on_dismantle_on_enhanced]
2471+trunk=2
2472+wood=1
2473+
2474 [working positions]
2475 master-miner=1
2476 miner=1
2477
2478=== modified file 'tribes/empire/deep_goldmine/conf'
2479--- tribes/empire/deep_goldmine/conf 2013-07-13 17:51:09 +0000
2480+++ tribes/empire/deep_goldmine/conf 2013-07-23 17:35:41 +0000
2481@@ -3,10 +3,14 @@
2482 enhanced_building=yes
2483 output=goldstone
2484
2485-[buildcost]
2486+[enhancement_cost]
2487 trunk=4
2488 wood=2
2489
2490+[return_on_dismantle_on_enhanced]
2491+trunk=2
2492+wood=1
2493+
2494 [working positions]
2495 master-miner=1
2496 miner=1
2497
2498=== modified file 'tribes/empire/deep_marblemine/conf'
2499--- tribes/empire/deep_marblemine/conf 2011-09-02 12:36:04 +0000
2500+++ tribes/empire/deep_marblemine/conf 2013-07-23 17:35:41 +0000
2501@@ -4,10 +4,14 @@
2502 output=marble
2503 output=stone
2504
2505-[buildcost]
2506+[enhancement_cost]
2507 trunk=4
2508 wood=2
2509
2510+[return_on_dismantle_on_enhanced]
2511+trunk=2
2512+wood=1
2513+
2514 [working positions]
2515 master-miner=1
2516 miner=1
2517
2518=== modified file 'tribes/empire/deep_oremine/conf'
2519--- tribes/empire/deep_oremine/conf 2013-07-13 17:51:09 +0000
2520+++ tribes/empire/deep_oremine/conf 2013-07-23 17:35:41 +0000
2521@@ -3,10 +3,14 @@
2522 enhanced_building=yes
2523 output=ironore
2524
2525-[buildcost]
2526+[enhancement_cost]
2527 trunk=4
2528 wood=2
2529
2530+[return_on_dismantle_on_enhanced]
2531+trunk=2
2532+wood=1
2533+
2534 [working positions]
2535 master-miner=1
2536 miner=1
2537
2538=== modified file 'tribes/empire/donkeyfarm/conf'
2539--- tribes/empire/donkeyfarm/conf 2013-07-13 17:51:09 +0000
2540+++ tribes/empire/donkeyfarm/conf 2013-07-23 17:35:41 +0000
2541@@ -10,6 +10,10 @@
2542 stone=2
2543 wood=1
2544
2545+[return_on_dismantle]
2546+trunk=1
2547+stone=2
2548+
2549 [working positions]
2550 donkeybreeder=1
2551
2552
2553=== modified file 'tribes/empire/farm/conf'
2554--- tribes/empire/farm/conf 2013-03-02 20:35:18 +0000
2555+++ tribes/empire/farm/conf 2013-07-23 17:35:41 +0000
2556@@ -10,6 +10,12 @@
2557 marble=2
2558 marblecolumn=2
2559
2560+[return_on_dismantle]
2561+wood=1
2562+stone=1
2563+marble=1
2564+marblecolumn=1
2565+
2566 [working positions]
2567 farmer=1
2568
2569
2570=== modified file 'tribes/empire/fishers_house/conf'
2571--- tribes/empire/fishers_house/conf 2011-09-12 17:29:32 +0000
2572+++ tribes/empire/fishers_house/conf 2013-07-23 17:35:41 +0000
2573@@ -6,6 +6,9 @@
2574 wood=1
2575 stone=1
2576
2577+[return_on_dismantle]
2578+stone=1
2579+
2580 [working positions]
2581 fisher=1
2582
2583
2584=== modified file 'tribes/empire/foresters_house/conf'
2585--- tribes/empire/foresters_house/conf 2011-09-12 17:29:32 +0000
2586+++ tribes/empire/foresters_house/conf 2013-07-23 17:35:41 +0000
2587@@ -5,6 +5,10 @@
2588 wood=1
2589 stone=1
2590
2591+[return_on_dismantle]
2592+wood=1
2593+stone=1
2594+
2595 [working positions]
2596 forester=1
2597
2598
2599=== modified file 'tribes/empire/fortress/conf'
2600--- tribes/empire/fortress/conf 2013-06-11 16:37:44 +0000
2601+++ tribes/empire/fortress/conf 2013-07-23 17:35:41 +0000
2602@@ -12,6 +12,13 @@
2603 marble=2
2604 marblecolumn=2
2605
2606+[return_on_dismantle]
2607+wood=2
2608+trunk=1
2609+stone=5
2610+marble=1
2611+marblecolumn=1
2612+
2613 [idle]
2614 pics=fortress_i_??.png
2615 hotspot=90 105
2616
2617=== modified file 'tribes/empire/goldmine/conf'
2618--- tribes/empire/goldmine/conf 2013-07-13 17:51:09 +0000
2619+++ tribes/empire/goldmine/conf 2013-07-23 17:35:41 +0000
2620@@ -6,6 +6,10 @@
2621 trunk=4
2622 wood=2
2623
2624+[return_on_dismantle]
2625+trunk=2
2626+wood=1
2627+
2628 [working positions]
2629 miner=1
2630
2631
2632=== modified file 'tribes/empire/hunters_house/conf'
2633--- tribes/empire/hunters_house/conf 2010-08-01 14:35:38 +0000
2634+++ tribes/empire/hunters_house/conf 2013-07-23 17:35:41 +0000
2635@@ -6,6 +6,9 @@
2636 wood=1
2637 stone=1
2638
2639+[return_on_dismantle]
2640+stone=1
2641+
2642 [aihints]
2643 build_material=false
2644
2645
2646=== modified file 'tribes/empire/inn/conf'
2647--- tribes/empire/inn/conf 2012-06-02 09:01:54 +0000
2648+++ tribes/empire/inn/conf 2013-07-23 17:35:41 +0000
2649@@ -4,11 +4,15 @@
2650 output=ration
2651 output=meal
2652
2653-[buildcost]
2654+[enhancement_cost]
2655 wood=2
2656 marble=2
2657 marblecolumn=1
2658
2659+[return_on_dismantle_on_enhanced]
2660+wood=1
2661+marble=2
2662+
2663 [working positions]
2664 innkeeper=1
2665
2666
2667=== modified file 'tribes/empire/lumberjacks_house/conf'
2668--- tribes/empire/lumberjacks_house/conf 2010-08-01 14:35:38 +0000
2669+++ tribes/empire/lumberjacks_house/conf 2013-07-23 17:35:41 +0000
2670@@ -5,6 +5,10 @@
2671 trunk=2
2672 wood=1
2673
2674+[return_on_dismantle]
2675+trunk=1
2676+wood=1
2677+
2678 [working positions]
2679 lumberjack=1
2680
2681
2682=== modified file 'tribes/empire/marblemine/conf'
2683--- tribes/empire/marblemine/conf 2011-09-02 12:36:04 +0000
2684+++ tribes/empire/marblemine/conf 2013-07-23 17:35:41 +0000
2685@@ -7,6 +7,10 @@
2686 trunk=4
2687 wood=2
2688
2689+[return_on_dismantle]
2690+trunk=2
2691+wood=1
2692+
2693 [working positions]
2694 miner=1
2695
2696
2697=== modified file 'tribes/empire/mill/conf'
2698--- tribes/empire/mill/conf 2013-07-13 17:51:09 +0000
2699+++ tribes/empire/mill/conf 2013-07-23 17:35:41 +0000
2700@@ -6,6 +6,11 @@
2701 stone=3
2702 marble=1
2703
2704+[return_on_dismantle]
2705+trunk=1
2706+stone=2
2707+marble=1
2708+
2709 [aihints]
2710 build_material=false
2711
2712
2713=== modified file 'tribes/empire/oremine/conf'
2714--- tribes/empire/oremine/conf 2013-07-13 17:51:09 +0000
2715+++ tribes/empire/oremine/conf 2013-07-23 17:35:41 +0000
2716@@ -6,6 +6,10 @@
2717 trunk=4
2718 wood=2
2719
2720+[return_on_dismantle]
2721+trunk=2
2722+wood=1
2723+
2724 [working positions]
2725 miner=1
2726
2727
2728=== modified file 'tribes/empire/outpost/conf'
2729--- tribes/empire/outpost/conf 2013-06-11 16:37:44 +0000
2730+++ tribes/empire/outpost/conf 2013-07-23 17:35:41 +0000
2731@@ -11,6 +11,10 @@
2732 stone=1
2733 marble=1
2734
2735+[return_on_dismantle]
2736+stone=1
2737+marble=1
2738+
2739 [idle]
2740 pics=outpost_i_??.png
2741 hotspot=57 77
2742
2743=== modified file 'tribes/empire/piggery/conf'
2744--- tribes/empire/piggery/conf 2013-07-13 17:51:09 +0000
2745+++ tribes/empire/piggery/conf 2013-07-23 17:35:41 +0000
2746@@ -6,6 +6,11 @@
2747 stone=2
2748 marblecolumn=2
2749
2750+[return_on_dismantle]
2751+trunk=1
2752+stone=1
2753+marble=1
2754+
2755 [aihints]
2756 build_material=false
2757
2758
2759=== modified file 'tribes/empire/port/conf'
2760--- tribes/empire/port/conf 2012-03-14 21:36:03 +0000
2761+++ tribes/empire/port/conf 2013-07-23 17:35:41 +0000
2762@@ -11,6 +11,14 @@
2763 cloth=3
2764 gold=2
2765
2766+[return_on_dismantle]
2767+trunk=1
2768+wood=1
2769+stone=2
2770+marble=2
2771+cloth=1
2772+gold=1
2773+
2774 [build]
2775 pics=port_b_??.png # 4 frames
2776 hotspot=74 96
2777
2778=== modified file 'tribes/empire/quarry/conf'
2779--- tribes/empire/quarry/conf 2011-09-12 17:29:32 +0000
2780+++ tribes/empire/quarry/conf 2013-07-23 17:35:41 +0000
2781@@ -6,6 +6,9 @@
2782 trunk=2
2783 wood=1
2784
2785+[return_on_dismantle]
2786+trunk=1
2787+
2788 [working positions]
2789 stonemason=1
2790
2791
2792=== modified file 'tribes/empire/sawmill/conf'
2793--- tribes/empire/sawmill/conf 2013-03-02 20:35:18 +0000
2794+++ tribes/empire/sawmill/conf 2013-07-23 17:35:41 +0000
2795@@ -9,6 +9,10 @@
2796 stone=1
2797 wood=1
2798
2799+[return_on_dismantle]
2800+trunk=1
2801+stone=1
2802+
2803 [working positions]
2804 carpenter=1
2805
2806
2807=== modified file 'tribes/empire/scouts_house/conf'
2808--- tribes/empire/scouts_house/conf 2011-09-12 17:29:32 +0000
2809+++ tribes/empire/scouts_house/conf 2013-07-23 17:35:41 +0000
2810@@ -4,6 +4,9 @@
2811 trunk=2
2812 stone=1
2813
2814+[return_on_dismantle]
2815+trunk=1
2816+
2817 [aihints]
2818 build_material=false
2819
2820
2821=== modified file 'tribes/empire/sentry/conf'
2822--- tribes/empire/sentry/conf 2013-06-11 16:37:44 +0000
2823+++ tribes/empire/sentry/conf 2013-07-23 17:35:41 +0000
2824@@ -10,6 +10,17 @@
2825 trunk=1
2826 stone=1
2827
2828+[return_on_dismantle]
2829+stone=1
2830+wood=1
2831+
2832+[enhancement_cost]
2833+wood=1
2834+stone=1
2835+
2836+[return_on_dismantle_on_enhanced]
2837+stone=1
2838+
2839 [idle]
2840 pics=sentry_i_??.png
2841 hotspot=37 60
2842
2843=== modified file 'tribes/empire/sheepfarm/conf'
2844--- tribes/empire/sheepfarm/conf 2013-03-02 20:35:18 +0000
2845+++ tribes/empire/sheepfarm/conf 2013-07-23 17:35:41 +0000
2846@@ -9,6 +9,10 @@
2847 stone=2
2848 wood=2
2849
2850+[return_on_dismantle]
2851+trunk=1
2852+stone=2
2853+
2854 [working positions]
2855 shepherd=1
2856
2857
2858=== modified file 'tribes/empire/shipyard/conf'
2859--- tribes/empire/shipyard/conf 2012-03-01 22:35:05 +0000
2860+++ tribes/empire/shipyard/conf 2013-07-23 17:35:41 +0000
2861@@ -9,6 +9,11 @@
2862 stone=3
2863 cloth=2
2864
2865+[return_on_dismantle]
2866+trunk=1
2867+stone=2
2868+cloth=1
2869+
2870 [working positions]
2871 shipwright=1
2872
2873
2874=== modified file 'tribes/empire/smelting_works/conf'
2875--- tribes/empire/smelting_works/conf 2011-10-03 15:51:56 +0000
2876+++ tribes/empire/smelting_works/conf 2013-07-23 17:35:41 +0000
2877@@ -10,6 +10,10 @@
2878 stone=4
2879 marble=2
2880
2881+[return_on_dismantle]
2882+stone=3
2883+marble=1
2884+
2885 [working positions]
2886 smelter=1
2887
2888
2889=== modified file 'tribes/empire/stonemasons_house/conf'
2890--- tribes/empire/stonemasons_house/conf 2013-03-02 20:35:18 +0000
2891+++ tribes/empire/stonemasons_house/conf 2013-07-23 17:35:41 +0000
2892@@ -10,6 +10,10 @@
2893 stone=1
2894 marble=3 # someone who works on marble should like marble
2895
2896+[return_on_dismantle]
2897+stone=1
2898+marble=2
2899+
2900 [working positions] # like quarry
2901 stonemason=1
2902
2903
2904=== modified file 'tribes/empire/tavern/conf'
2905--- tribes/empire/tavern/conf 2012-03-15 16:04:17 +0000
2906+++ tribes/empire/tavern/conf 2013-07-23 17:35:41 +0000
2907@@ -7,6 +7,11 @@
2908 stone=2
2909 marble=1
2910
2911+[return_on_dismantle]
2912+wood=1
2913+stone=1
2914+marble=1
2915+
2916 [aihints]
2917 build_material=false
2918
2919
2920=== modified file 'tribes/empire/toolsmithy/conf'
2921--- tribes/empire/toolsmithy/conf 2013-03-02 20:35:18 +0000
2922+++ tribes/empire/toolsmithy/conf 2013-07-23 17:35:41 +0000
2923@@ -18,6 +18,10 @@
2924 marble=2
2925 marblecolumn=1
2926
2927+[return_on_dismantle]
2928+stone=1
2929+marble=2
2930+
2931 [aihints]
2932 build_material=false
2933
2934
2935=== modified file 'tribes/empire/tower/conf'
2936--- tribes/empire/tower/conf 2013-06-11 16:37:44 +0000
2937+++ tribes/empire/tower/conf 2013-07-23 17:35:41 +0000
2938@@ -11,6 +11,11 @@
2939 stone=4
2940 marblecolumn=2
2941
2942+[return_on_dismantle]
2943+wood=1
2944+stone=2
2945+marblecolumn=1
2946+
2947 [idle]
2948 pics=tower_i_??.png
2949 hotspot=53 81
2950
2951=== modified file 'tribes/empire/trainingscamp/conf'
2952--- tribes/empire/trainingscamp/conf 2013-04-25 07:11:20 +0000
2953+++ tribes/empire/trainingscamp/conf 2013-07-23 17:35:41 +0000
2954@@ -11,6 +11,13 @@
2955 marblecolumn=3
2956 cloth=2
2957
2958+[return_on_dismantle]
2959+stone=3
2960+wood=2
2961+marble=3
2962+gold=2
2963+marblecolumn=1
2964+
2965 [working positions]
2966 trainer=1
2967
2968
2969=== modified file 'tribes/empire/vineyard/conf'
2970--- tribes/empire/vineyard/conf 2011-09-12 17:29:32 +0000
2971+++ tribes/empire/vineyard/conf 2013-07-23 17:35:41 +0000
2972@@ -12,6 +12,10 @@
2973 marble=2
2974 marblecolumn=2
2975
2976+[return_on_dismantle]
2977+wood=1
2978+marble=2
2979+
2980 [working positions]
2981 vinefarmer=1
2982
2983
2984=== modified file 'tribes/empire/warehouse/conf'
2985--- tribes/empire/warehouse/conf 2012-03-14 21:36:03 +0000
2986+++ tribes/empire/warehouse/conf 2013-07-23 17:35:41 +0000
2987@@ -8,6 +8,12 @@
2988 marble=3
2989 marblecolumn=2
2990
2991+[return_on_dismantle]
2992+wood=1
2993+stone=2
2994+marble=2
2995+marblecolumn=1
2996+
2997 [idle]
2998 pics=warehouse_i_??.png # ???
2999 hotspot=58 55
3000
3001=== modified file 'tribes/empire/weaponsmithy/conf'
3002--- tribes/empire/weaponsmithy/conf 2013-03-02 20:35:18 +0000
3003+++ tribes/empire/weaponsmithy/conf 2013-07-23 17:35:41 +0000
3004@@ -14,6 +14,12 @@
3005 marble=2
3006 marblecolumn=3
3007
3008+[return_on_dismantle]
3009+trunk=1
3010+stone=1
3011+marble=2
3012+marblecolumn=1
3013+
3014 [working positions]
3015 weaponsmith=1
3016
3017
3018=== modified file 'tribes/empire/weaving-mill/conf'
3019--- tribes/empire/weaving-mill/conf 2011-10-03 15:51:56 +0000
3020+++ tribes/empire/weaving-mill/conf 2013-07-23 17:35:41 +0000
3021@@ -6,6 +6,10 @@
3022 stone=4
3023 marble=1
3024
3025+[return_on_dismantle]
3026+trunk=1
3027+stone=3
3028+
3029 [working positions]
3030 weaver=1
3031
3032
3033=== modified file 'tribes/empire/well/conf'
3034--- tribes/empire/well/conf 2011-09-12 17:29:32 +0000
3035+++ tribes/empire/well/conf 2013-07-23 17:35:41 +0000
3036@@ -6,6 +6,10 @@
3037 stone=1
3038 marble=1
3039
3040+[return_on_dismantle]
3041+trunk=1
3042+marble=1
3043+
3044 [aihints]
3045 build_material=false
3046
3047
3048=== modified file 'tribes/empire/winery/conf'
3049--- tribes/empire/winery/conf 2010-08-01 14:35:38 +0000
3050+++ tribes/empire/winery/conf 2013-07-23 17:35:41 +0000
3051@@ -10,6 +10,11 @@
3052 marble=2
3053 marblecolumn=1
3054
3055+[return_on_dismantle]
3056+stone=1
3057+marble=1
3058+marblecolumn=1
3059+
3060 [working positions] # like brewery
3061 brewer=1
3062

Subscribers

People subscribed via source and target branches

to status/vote changes: