Index: binaries/data/mods/public/gui/text/tips/celtic_war_barge.txt
===================================================================
--- binaries/data/mods/public/gui/text/tips/celtic_war_barge.txt	(revision 17874)
+++ binaries/data/mods/public/gui/text/tips/celtic_war_barge.txt	(working copy)
@@ -1,8 +1,11 @@
 CELTIC WAR BARGE
 - A medium "trireme"-class warship.
 
-- The only ship of its kind.
+- Available to the Celtic Factions (Birtons, Gauls), Mauryans and Iberians.
 
+- Can transport up to 40 units across the waters.
+
+- Increases firepower with garrissoned infantry.
+
 - Cannot ram, like other triremes, but has greater health and armour.
 
-- Can transport up to 40 units across the waters.
\ No newline at end of file
Index: binaries/data/mods/public/gui/text/tips/fishing.txt
===================================================================
--- binaries/data/mods/public/gui/text/tips/fishing.txt	(revision 17874)
+++ binaries/data/mods/public/gui/text/tips/fishing.txt	(working copy)
@@ -1,8 +1,10 @@
 FISHING
 - Fish the seas for a bountiful harvest.
 
-- Fishing boats carry a large amount of Food per trip.
+- Fishing boats carry a large amount of food per trip.
 
-- Garrison a Support Unit aboard to double the Fishing Boat's gathering rate.
+- Fishing is faster than gathering food on fields.
 
-- Careful! Fish are not an infinite resource!
\ No newline at end of file
+- Garrison a support unit aboard to double the fishing boat's gathering rate.
+
+- Careful! Fish are not an infinite resource!
Index: binaries/data/mods/public/gui/text/tips/quinquereme.txt
===================================================================
--- binaries/data/mods/public/gui/text/tips/quinquereme.txt	(revision 17874)
+++ binaries/data/mods/public/gui/text/tips/quinquereme.txt	(working copy)
@@ -1,6 +1,8 @@
 HEAVY WARSHIP
 - The heaviest standard warship. Available to: Rome, Carthage, Ptolemies, and Seleucids.
 
-- Garrison ballistas to increase fire power.
+- Transports up to 50 units.
 
+- Increases firepower with garrissoned catapults.
+
 - Has a ramming attack that sinks enemy ships (NOT IMPLEMENTED YET).
Index: binaries/data/mods/public/simulation/components/BuildingAI.js
===================================================================
--- binaries/data/mods/public/simulation/components/BuildingAI.js	(revision 17874)
+++ binaries/data/mods/public/simulation/components/BuildingAI.js	(working copy)
@@ -8,10 +8,15 @@
 	"<element name='DefaultArrowCount'>" +
 		"<data type='nonNegativeInteger'/>" +
 	"</element>" +
+	"<optional>" +
+		"<element name='MaxArrowCount' a:help='Limit the number of arrows to a certain amount'>" +
+			"<data type='nonNegativeInteger'/>" +
+		"</element>" +
+	"</optional>" +
 	"<element name='GarrisonArrowMultiplier'>" +
 		"<ref name='nonNegativeDecimal'/>" +
 	"</element>" +
-	"<element name='GarrisonArrowClasses'>" +
+	"<element name='GarrisonArrowClasses' a:help='Add extra arrows for this class list'>" +
 		"<text/>" +
 	"</element>";
 
@@ -20,10 +25,33 @@
 BuildingAI.prototype.Init = function()
 {
 	this.currentRound = 0;
+	this.archersGarrisoned = 0;
 	this.arrowsLeft = 0;
 	this.targetUnits = [];
 };
 
+BuildingAI.prototype.OnGarrisonedUnitsChanged = function(msg)
+{
+	let classes = this.GetGarrisonArrowClasses();
+	for (let ent of msg.added)
+	{
+		let cmpIdentity = Engine.QueryInterface(ent, IID_Identity);
+		if (!cmpIdentity)
+			continue;
+		if (MatchesClassList(cmpIdentity.GetClassesList(), classes))
+			++this.archersGarrisoned;
+	}
+
+	for (let ent of msg.removed)
+	{
+		let cmpIdentity = Engine.QueryInterface(ent, IID_Identity);
+		if (!cmpIdentity)
+			continue;
+		if (MatchesClassList(cmpIdentity.GetClassesList(), classes))
+			--this.archersGarrisoned;
+	}
+};
+
 BuildingAI.prototype.OnOwnershipChanged = function(msg)
 {
 	this.targetUnits = [];
@@ -198,6 +226,15 @@
 	return ApplyValueModificationsToEntity("BuildingAI/DefaultArrowCount", arrowCount, this.entity);
 };
 
+BuildingAI.prototype.GetMaxArrowCount = function()
+{
+	if (!this.template.MaxArrowCount)
+		return undefined;
+
+	let maxArrowCount = +this.template.MaxArrowCount;
+	return Math.round(ApplyValueModificationsToEntity("BuildingAI/MaxArrowCount", maxArrowCount, this.entity));
+};
+
 BuildingAI.prototype.GetGarrisonArrowMultiplier = function()
 {
 	var arrowMult = +this.template.GarrisonArrowMultiplier;
@@ -206,10 +243,7 @@
 
 BuildingAI.prototype.GetGarrisonArrowClasses = function()
 {
-	var string = this.template.GarrisonArrowClasses;
-	if (string)
-		return string.split(/\s+/);
-	return [];
+	return this.template.GarrisonArrowClasses;
 };
 
 /**
@@ -223,8 +257,10 @@
 
 	let cmpGarrisonHolder = Engine.QueryInterface(this.entity, IID_GarrisonHolder);
 	if (cmpGarrisonHolder)
-		count += Math.round(cmpGarrisonHolder.GetGarrisonedArcherCount(this.GetGarrisonArrowClasses()) * this.GetGarrisonArrowMultiplier());
+		count += Math.round(this.archersGarrisoned * this.GetGarrisonArrowMultiplier());
 
+	if (this.GetMaxArrowCount() < count)
+		return this.GetMaxArrowCount();
 	return count;
 };
 
Index: binaries/data/mods/public/simulation/components/GarrisonHolder.js
===================================================================
--- binaries/data/mods/public/simulation/components/GarrisonHolder.js	(revision 17874)
+++ binaries/data/mods/public/simulation/components/GarrisonHolder.js	(working copy)
@@ -188,23 +188,6 @@
 };
 
 /**
- * Get number of garrisoned units capable of shooting arrows
- * Not necessarily archers
- */
-GarrisonHolder.prototype.GetGarrisonedArcherCount = function(garrisonArrowClasses)
-{
-	var count = 0;
-	for each (var entity in this.entities)
-	{
-		var cmpIdentity = Engine.QueryInterface(entity, IID_Identity);
-		var classes = cmpIdentity.GetClassesList();
-		if (classes.some(c => garrisonArrowClasses.indexOf(c) > -1))
-			count++;
-	}
-	return count;
-};
-
-/**
  * Checks if an entity can be allowed to garrison in the building
  * based on its class
  */
Index: binaries/data/mods/public/simulation/templates/structures/ptol_military_colony.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/ptol_military_colony.xml	(revision 17874)
+++ binaries/data/mods/public/simulation/templates/structures/ptol_military_colony.xml	(working copy)
@@ -15,6 +15,7 @@
   </Attack>
   <BuildingAI>
     <DefaultArrowCount>1</DefaultArrowCount>
+    <MaxArrowCount>11</MaxArrowCount>
     <GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
   </BuildingAI>
   <BuildRestrictions>
Index: binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml	(revision 17874)
+++ binaries/data/mods/public/simulation/templates/structures/rome_army_camp.xml	(working copy)
@@ -24,8 +24,9 @@
     </Ranged>
   </Attack>
   <BuildingAI>
-    <DefaultArrowCount>3</DefaultArrowCount>
-    <GarrisonArrowMultiplier>0.5</GarrisonArrowMultiplier>
+    <DefaultArrowCount>1</DefaultArrowCount>
+    <MaxArrowCount>11</MaxArrowCount>
+    <GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
   </BuildingAI>
   <BuildRestrictions>
     <Territory>own neutral enemy</Territory>
Index: binaries/data/mods/public/simulation/templates/structures/sele_military_colony.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/sele_military_colony.xml	(revision 17874)
+++ binaries/data/mods/public/simulation/templates/structures/sele_military_colony.xml	(working copy)
@@ -15,6 +15,7 @@
   </Attack>
   <BuildingAI>
     <DefaultArrowCount>1</DefaultArrowCount>
+    <MaxArrowCount>11</MaxArrowCount>
     <GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
   </BuildingAI>
   <BuildRestrictions>
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml	(revision 17874)
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_bireme.xml	(working copy)
@@ -15,7 +15,8 @@
   </Attack>
   <BuildingAI>
     <DefaultArrowCount>2</DefaultArrowCount>
-    <GarrisonArrowMultiplier>0.5</GarrisonArrowMultiplier>
+    <MaxArrowCount>7</MaxArrowCount>
+    <GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
 	<GarrisonArrowClasses>Infantry Ranged</GarrisonArrowClasses>
   </BuildingAI>
   <Cost>
@@ -45,7 +46,8 @@
   <Identity>
     <GenericName>Light Warship</GenericName>
     <Classes datatype="tokens">Warship Light Bow Ranged</Classes>
-	<RequiredTechnology>phase_town</RequiredTechnology>
+    <RequiredTechnology>phase_town</RequiredTechnology>
+    <Tooltip>Garrison up to 20 units for transport. Garrison increases the firepower up to 7 arrows.</Tooltip>
   </Identity>
   <ResourceGatherer disable=""/>
   <Sound>
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml	(revision 17874)
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_quinquereme.xml	(working copy)
@@ -23,6 +23,7 @@
   </Attack>
   <BuildingAI>
     <DefaultArrowCount>1</DefaultArrowCount>
+    <MaxArrowCount>10</MaxArrowCount>
     <GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
     <GarrisonArrowClasses>Catapult</GarrisonArrowClasses>
   </BuildingAI>
@@ -52,7 +53,7 @@
   </Health>
   <Identity>
     <GenericName>Heavy Warship</GenericName>
-    <Tooltip>Garrison with catapults to increase ranged fire power.</Tooltip>
+    <Tooltip>Garrison up to 10 catapults to increase fire power.</Tooltip>
     <Classes datatype="tokens">Warship Heavy Ranged</Classes>
 	<RequiredTechnology>phase_city</RequiredTechnology>
   </Identity>
Index: binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml	(revision 17874)
+++ binaries/data/mods/public/simulation/templates/template_unit_mechanical_ship_trireme.xml	(working copy)
@@ -15,7 +15,8 @@
   </Attack>
   <BuildingAI>
     <DefaultArrowCount>3</DefaultArrowCount>
-    <GarrisonArrowMultiplier>0.5</GarrisonArrowMultiplier>
+    <MaxArrowCount>13</MaxArrowCount>
+    <GarrisonArrowMultiplier>1</GarrisonArrowMultiplier>
 	<GarrisonArrowClasses>Infantry Ranged</GarrisonArrowClasses>
   </BuildingAI>
   <Cost>
@@ -46,6 +47,7 @@
     <GenericName>Medium Warship</GenericName>
     <VisibleClasses datatype="tokens">Warship Medium Ranged</VisibleClasses>
     <RequiredTechnology>phase_town</RequiredTechnology>
+    <Tooltip>Garrison up to 30 units for transport. Garrison increases the firepower up to 13 arrows.</Tooltip>
   </Identity>
   <ResourceGatherer disable=""/>
   <Sound>
