From e65764ec1e4c0faef5a147920fa68c37597d914f Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?= <roland@mxchange.org>
Date: Sun, 13 Sep 2009 13:48:07 +0000
Subject: [PATCH] Minerals template added, some rewritten, comments added: -
 New template base_mineral.xml added which can be used for custom minerals to 
  fit into the Ship-Simu engine. - A lot list tags in many templates
 rewritten. We now use -list as a tag suffix   for any lists. - A lot more
 comments added to make the XMLs more clear. - Research depency removed from
 building because the technology is the physical   representation of the
 research results... :)

---
 .gitattributes                                |  6 +++
 .../ship-simu/templates/de/game/!MISSING      |  1 -
 .../de/game/building/base_building.xml        | 41 ++++++++++++-----
 .../de/game/contract/base_contract.xml        |  9 ++--
 .../de/game/merchant/base_merchant.xml        | 40 +++++++++++++++++
 .../templates/de/game/mineral/.htaccess       |  1 +
 .../de/game/mineral/base_mineral.xml          | 45 +++++++++++++++++++
 .../de/game/research/base_research.xml        | 13 +++---
 .../de/game/resource/base_resource.xml        | 44 ++++++++++++++++++
 .../de/game/types/contract_types.xml          |  2 +-
 .../de/game/types/merchant_types.xml          | 25 +++++++++++
 .../templates/de/game/types/signer_types.xml  |  4 +-
 .../de/game/types/technology_types.xml        | 25 +++++++++++
 13 files changed, 232 insertions(+), 24 deletions(-)
 create mode 100644 application/ship-simu/templates/de/game/merchant/base_merchant.xml
 create mode 100644 application/ship-simu/templates/de/game/mineral/.htaccess
 create mode 100644 application/ship-simu/templates/de/game/mineral/base_mineral.xml
 create mode 100644 application/ship-simu/templates/de/game/resource/base_resource.xml
 create mode 100644 application/ship-simu/templates/de/game/types/merchant_types.xml
 create mode 100644 application/ship-simu/templates/de/game/types/technology_types.xml

diff --git a/.gitattributes b/.gitattributes
index ab6dbf2..1146872 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -281,15 +281,21 @@ application/ship-simu/templates/de/game/company/.htaccess -text
 application/ship-simu/templates/de/game/contract/.htaccess -text
 application/ship-simu/templates/de/game/contract/base_contract.xml -text
 application/ship-simu/templates/de/game/merchant/.htaccess -text
+application/ship-simu/templates/de/game/merchant/base_merchant.xml -text
+application/ship-simu/templates/de/game/mineral/.htaccess -text
+application/ship-simu/templates/de/game/mineral/base_mineral.xml -text
 application/ship-simu/templates/de/game/research/.htaccess -text
 application/ship-simu/templates/de/game/research/base_research.xml -text
 application/ship-simu/templates/de/game/resource/.htaccess -text
+application/ship-simu/templates/de/game/resource/base_resource.xml -text
 application/ship-simu/templates/de/game/technology/.htaccess -text
 application/ship-simu/templates/de/game/technology/base_technology.xml -text
 application/ship-simu/templates/de/game/types/.htaccess -text
 application/ship-simu/templates/de/game/types/contract_types.xml -text
+application/ship-simu/templates/de/game/types/merchant_types.xml -text
 application/ship-simu/templates/de/game/types/owner_occupants.xml -text
 application/ship-simu/templates/de/game/types/signer_types.xml -text
+application/ship-simu/templates/de/game/types/technology_types.xml -text
 application/ship-simu/templates/de/html/.htaccess -text
 application/ship-simu/templates/de/html/nav_advert.tpl -text
 application/ship-simu/templates/de/html/selector_ship-simu.tpl -text
diff --git a/application/ship-simu/templates/de/game/!MISSING b/application/ship-simu/templates/de/game/!MISSING
index b2730b9..6c8b968 100644
--- a/application/ship-simu/templates/de/game/!MISSING
+++ b/application/ship-simu/templates/de/game/!MISSING
@@ -1,4 +1,3 @@
 <construction-company extends="{?construction_template?}">
-<resources extends="{?resources_template?}">
 <resource-merchant extends="{?merchant_template?}">
 <construction-contract extends="{?contract_template?}">
diff --git a/application/ship-simu/templates/de/game/building/base_building.xml b/application/ship-simu/templates/de/game/building/base_building.xml
index c95b581..5abfa67 100644
--- a/application/ship-simu/templates/de/game/building/base_building.xml
+++ b/application/ship-simu/templates/de/game/building/base_building.xml
@@ -24,20 +24,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
 <building>
 	<!-- General building data //-->
 	<building-data>
-		<dimension width="{?width?}" length="{?length?}" height="{?height?}" />
+		<!-- Estimated dimensions of the building. //-->
+		<dimension>
+			<!-- Width of the building. //-->
+			<width>{?width?}</width>
+			<!-- Height of the building. //-->
+			<height>{?height?}</height>
+			<!-- Length of the building. //-->
+			<length>{?length?}</length>
+		</dimension>
+		<!-- A full description of this building. //-->
 		<description>
 			<![CDATA[{?description?}]]>
 		</description>
-		<general-data id="{?id?}" name="{?name?}">
+		<!-- General data, like short name, type, level and many more. //-->
+		<general-data id="{?id?}" name="{?name?}" type="{?type?}" level="{?level?}">
+			<!-- The owner of this building. //-->
 			<owner id="{?owner_id?}" type="{?owner_type?}" owned-start="{?owner_start_timestamp?}" owned-end="{?owner_end_timestamp?}" />
+			<!-- The occupant of this building. //-->
 			<occupant id="{?occupant_id?}" type="{?occupant_type?}" owned-start="{?occupant_start_timestamp?}" owned-end="{?occupant_end_timestamp?}" />
+			<!-- When this building was constructed. //-->
 			<constructed>
+				<!-- When construction has started. //-->
 				<construction-started timestamp="{?construction_start_timestamp?}" />
+				<!-- And when it was finished. //-->
 				<construction-finished timestamp="{?construction_end_timestamp?}" />
 			</constructed>
+			<!-- When this building was destructed. //-->
 			<destructed>
+				<!-- When destruction has started. //-->
 				<destruction-started timestamp="{?destruction_start_timestamp?}" />
+				<!-- And when it was finished. //-->
 				<destruction-finished timestamp="{?destruction_end_timestamp?}" />
+				<!-- A short reason why this building must be destructed or
+				     demolished. //-->
 				<destruction-reason>
 					<![CDATA[{?destruction_reason?}]]>
 				</destruction-reason>
@@ -89,15 +109,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
 			<agreement id="{?mortage_id?}">
 		</mortgage>
 	</costs>
-	<!-- We also have technology and research denpencies for a building. These
-	     must be understand by construction companies who made contracts with
-	     the shipping company to construct this building. //-->
+	<!-- We also have technology denpencies for a building. These must be
+	     understand by construction companies who made contracts with the
+	     shipping company to construct this building. //-->
 	<depencies>
-		<technology-list>
-			<technology id="{?technology_id?}" level="{?technology_level?}" />
-		</technology-list>
-		<research-list>
-			<research id="{?research_id?}" level="{?research_level?}" />
-		</research-list>
+		<!-- A list of required technology to construct this building. //-->
+		<technology-depency-list>
+			<!-- A single required technology to construct this building. //-->
+			<technology-depency id="{?technology_id?}" level="{?technology_level?}" />
+		</technology-depency-list>
 	</depencies>
 </building>
diff --git a/application/ship-simu/templates/de/game/contract/base_contract.xml b/application/ship-simu/templates/de/game/contract/base_contract.xml
index d8e73d1..06a9d7c 100644
--- a/application/ship-simu/templates/de/game/contract/base_contract.xml
+++ b/application/ship-simu/templates/de/game/contract/base_contract.xml
@@ -23,21 +23,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
 //-->
 <contract>
 	<!-- Parties of a contract are listed here. At least two, of course. //-->
-	<contract-parties total="{?total_parties?}">
+	<contract-party-list total="{?total_parties?}">
 		<!-- All contract parties are enlisted with this tag. //-->
 		<contract-party>
 			<!-- The signer's data, for signer_type please refer to signer_types.xml //-->
 			<signer id="{?signer_id?}" type="{?signer_type?}" />
 		</contract-party>
-	</contract-parties>
+	</contract-party-list>
 	<!-- General contract data like data of signature or cancelation //-->
 	<contract-data id="{?id?}" type="{?type?}">
+		<!-- When this contract was signed. //-->
 		<signed timestamp="{?signed_timestamp?}" />
+		<!-- And when it was canceled. //-->
 		<canceled timestamp="{?canceled_timestamp?}" />
+		<!-- A short reason for cancelation. //-->
 		<cancelation-reason>
 			<![CDATA[{?cancelation_reason?}]]>
 		</cancelation-reason>
-		<!-- A free-text description: //-->
+		<!-- A free-text description. //-->
 		<description>
 			<![CDATA[{?description?}]]>
 		</description>
diff --git a/application/ship-simu/templates/de/game/merchant/base_merchant.xml b/application/ship-simu/templates/de/game/merchant/base_merchant.xml
new file mode 100644
index 0000000..741afa9
--- /dev/null
+++ b/application/ship-simu/templates/de/game/merchant/base_merchant.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+A general merchant template.
+
+@author		Roland Haeder <webmaster@ship-simu.org>
+@version	0.0.0
+@copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team
+@license	GNU GPL 3.0 or any newer version
+@link		http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<merchant>
+	<general-data id="{?id?}" type="{?type?}">
+		<merchant-summary>
+			<![CDATA[{?summary?}]]>
+		</merchant-summary>
+		<merchant-description>
+			<![CDATA[{?description?}]]>
+		</merchant-description>
+	</general-data>
+	<resource-list>
+		<resource id="{?resource_id?}">
+			<amount>{?resource_amount?}</amount>
+			<first-added>{?resource_added?}</first-added>
+			<last-removed>{?resource_remoed?}</last-removed>
+		</resource>
+	</resource-list>
+</merchant>
diff --git a/application/ship-simu/templates/de/game/mineral/.htaccess b/application/ship-simu/templates/de/game/mineral/.htaccess
new file mode 100644
index 0000000..3a42882
--- /dev/null
+++ b/application/ship-simu/templates/de/game/mineral/.htaccess
@@ -0,0 +1 @@
+Deny from all
diff --git a/application/ship-simu/templates/de/game/mineral/base_mineral.xml b/application/ship-simu/templates/de/game/mineral/base_mineral.xml
new file mode 100644
index 0000000..0d61e0a
--- /dev/null
+++ b/application/ship-simu/templates/de/game/mineral/base_mineral.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+A general mineral template. Some mineral requires technology in a specific
+level to get mined by the user. For example crystals needs drilling machines
+and undergroup drilling vehicles. These are all represented as 'technologies' so
+a mineral may have depencies on technologies. :-)
+
+@author		Roland Haeder <webmaster@ship-simu.org>
+@version	0.0.0
+@copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team
+@license	GNU GPL 3.0 or any newer version
+@link		http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<mineral>
+	<!-- General data for this mineral like id, type, summary or description. //-->
+	<general-data id="{?id?}" type="{?type?}">
+		<!-- A summary for this mineral. //-->
+		<mineral-summary>
+			<![CDATA[{?summary?}]]>
+		</mineral-summary>
+		<!-- A full description for this mineral. //-->
+		<mineral-description>
+			<![CDATA[{?description?}]]>
+		</mineral-description>
+	</general-data>
+	<!-- To mine some minerals some knowledge in one or two technologies is
+	     required. Here you can list each technology with its required level. //-->
+	<technology-depency-list>
+		<!-- A single technology required to mine this mineral. //-->
+		<technology-depency id="{?technology_id?}" level="{?technology_level?}" />
+	</technology-depency-list>
+</mineral>
diff --git a/application/ship-simu/templates/de/game/research/base_research.xml b/application/ship-simu/templates/de/game/research/base_research.xml
index 33fe084..43e1154 100644
--- a/application/ship-simu/templates/de/game/research/base_research.xml
+++ b/application/ship-simu/templates/de/game/research/base_research.xml
@@ -31,12 +31,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
 		     to existing technology or how research is conducted. Some research
 		     may have multiple results and they all might not be good. //-->
 		<research-result-list>
-			<!-- A single research result. If you want to modify research and 
-			     technology with this research you have to provide two
-			     <research-result> blocks, one for each. //-->
+			<!-- A single research result. //-->
 			<research-result>
-				<modify-research id="{?modify_research-id?}" type="{?modify_research_type?}" amount="{?modify_-research_amount?}" />
-				<modify-technology id="{?modify_technology-id?}" type="{?modify_technology_type?}" amount="{?modify_-technology_amount?}" />
+				<!-- A list of modified technology when this research is completed. //-->
+				<modify-technology-list>
+					<!-- A single technology modification. //-->
+					<modify-technology id="{?modify_technology_id?}" amount="{?modify_technology_amount?}" />
+				</modify-technology-list>
 			</research-result>
 		</research-result-list>
 		<!-- A summary for this research proposal. //-->
@@ -77,7 +78,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
 				<research-depency id="{?research_id?}" level="{?research_level?}" />
 			</research-depency-list>
 			<building-depency-list>
-				<building-depency type="{?building_type?}" />
+				<building-depency id="{?building_id?}" level="{?building_level?}" />
 			</building-depency-list>
 		</research-level>
 	</research-level-list>
diff --git a/application/ship-simu/templates/de/game/resource/base_resource.xml b/application/ship-simu/templates/de/game/resource/base_resource.xml
new file mode 100644
index 0000000..386a4c4
--- /dev/null
+++ b/application/ship-simu/templates/de/game/resource/base_resource.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+A general resource template. Resources need to be harvested and them
+transportaed to facilities which can process them. To harvest some resources
+the player may need knowledge in some technology.
+
+@author		Roland Haeder <webmaster@ship-simu.org>
+@version	0.0.0
+@copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team
+@license	GNU GPL 3.0 or any newer version
+@link		http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<resource>
+	<!-- General data for this resource like id, type, summary or description. //-->
+	<general-data id="{?id?}" type="{?type?}">
+		<!-- A summary for this resource. //-->
+		<resource-summary>
+			<![CDATA[{?summary?}]]>
+		</resource-summary>
+		<!-- A full description for this resource. //-->
+		<resource-description>
+			<![CDATA[{?description?}]]>
+		</resource-description>
+	</general-data>
+	<!-- To harvest some resource some knowledge in one or two technologies is
+	     required. Here you can list each technology with its required level. //-->
+	<technology-depency-list>
+		<!-- A single technology depency to harvest this resource. //-->
+		<technology-depency id="{?technology_id?}" level="{?technology_level?}" />
+	</technology-depency-list>
+</resource>
diff --git a/application/ship-simu/templates/de/game/types/contract_types.xml b/application/ship-simu/templates/de/game/types/contract_types.xml
index 50a23be..5d383ac 100644
--- a/application/ship-simu/templates/de/game/types/contract_types.xml
+++ b/application/ship-simu/templates/de/game/types/contract_types.xml
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
 	<contract-type type="construction_contract" max-signers="3">
 		<!-- All valid signer types for this contract //-->
 		<signer-types extends="signer_types">
-			<signer-type type="gamer" slot="all" max="3" />
+			<signer-type type="player" slot="all" max="3" />
 			<signer-type type="moneybank" slot="creditor" max="1" />
 			<signer-type type="construction_company" slot="construction_company" max="1" />
 		</signer-types>
diff --git a/application/ship-simu/templates/de/game/types/merchant_types.xml b/application/ship-simu/templates/de/game/types/merchant_types.xml
new file mode 100644
index 0000000..d4ec91b
--- /dev/null
+++ b/application/ship-simu/templates/de/game/types/merchant_types.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+All valid merchant types
+
+@author		Roland Haeder <webmaster@ship-simu.org>
+@version	0.0.0
+@copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team
+@license	GNU GPL 3.0 or any newer version
+@link		http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<merchant-type-list>
+</merchant-type-list>
diff --git a/application/ship-simu/templates/de/game/types/signer_types.xml b/application/ship-simu/templates/de/game/types/signer_types.xml
index 8b9ff18..7a5df3b 100644
--- a/application/ship-simu/templates/de/game/types/signer_types.xml
+++ b/application/ship-simu/templates/de/game/types/signer_types.xml
@@ -23,7 +23,7 @@ You should have received a copy of the GNU General Public License
 along with this program. If not, see <http://www.gnu.org/licenses/>
 //-->
 <signer-type-list>
-	<!-- The type 'gamer' which is in facts the user. //-->
-	<signer-type type="gamer" table="user" column="userid" />
+	<!-- The type 'player' which is in facts the user. //-->
+	<signer-type type="player" table="user" column="userid" />
 	<!-- @TODO Add more types, e.g. company //-->
 </signer-types-list>
diff --git a/application/ship-simu/templates/de/game/types/technology_types.xml b/application/ship-simu/templates/de/game/types/technology_types.xml
new file mode 100644
index 0000000..f80f8f6
--- /dev/null
+++ b/application/ship-simu/templates/de/game/types/technology_types.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+All valid technology types
+
+@author		Roland Haeder <webmaster@ship-simu.org>
+@version	0.0.0
+@copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team
+@license	GNU GPL 3.0 or any newer version
+@link		http://www.ship-simu.org
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>
+//-->
+<technology-type-list>
+</technology-type-list>
-- 
2.39.5