<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://modiki.civfanatics.com/index.php?action=history&amp;feed=atom&amp;title=GameEvents.CanDeclareWar_%28Civ5_API%29</id>
	<title>GameEvents.CanDeclareWar (Civ5 API) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://modiki.civfanatics.com/index.php?action=history&amp;feed=atom&amp;title=GameEvents.CanDeclareWar_%28Civ5_API%29"/>
	<link rel="alternate" type="text/html" href="https://modiki.civfanatics.com/index.php?title=GameEvents.CanDeclareWar_(Civ5_API)&amp;action=history"/>
	<updated>2026-04-12T07:29:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://modiki.civfanatics.com/index.php?title=GameEvents.CanDeclareWar_(Civ5_API)&amp;diff=11340&amp;oldid=prev</id>
		<title>DonQuich: Bot update</title>
		<link rel="alternate" type="text/html" href="https://modiki.civfanatics.com/index.php?title=GameEvents.CanDeclareWar_(Civ5_API)&amp;diff=11340&amp;oldid=prev"/>
		<updated>2012-09-19T20:26:40Z</updated>

		<summary type="html">&lt;p&gt;Bot update&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Civ5 API Beta Banner}}&lt;br /&gt;
&amp;#039;&amp;#039;This page is a part of the [[Lua and UI Reference (Civ5)]].&amp;#039;&amp;#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TypeInfos5|Function.png|This function is a member of {{Type5|GameEvents}}.&amp;lt;br/&amp;gt;&lt;br /&gt;
This is a static method, invoke it with a dot.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allows provision of criteria for the ability to declare war. As this is a TestAll event, all listeners must return &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; for the action to be permitted. As wars are between teams, it is based entirely on teams rather than players (as far as can be inferred from scenario files).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;bool&amp;#039;&amp;#039;&amp;#039; GameEvents.CanDeclareWar&amp;lt;b&amp;gt;(&amp;lt;/b&amp;gt;{{Type5|TeamID}} myTeam, {{Type5|TeamID}} theirTeam&amp;lt;b&amp;gt;)&amp;lt;/b&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Event Type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Unknown&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Returned Value&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Return &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039; if war declaration is to be permitted; &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; if it is not.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Parameters&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{|&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; style=&amp;quot;padding-right:6px;&amp;quot;|myTeam:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;| &amp;#039;&amp;#039;The team of the player who is hypothetically trying to declare war.&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; style=&amp;quot;padding-right:6px;&amp;quot;|theirTeam:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;| &amp;#039;&amp;#039;The team of them player they are hypothetically trying to declare war on.&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Source code samples=&lt;br /&gt;
{{PseudoH4|TurnsRemaining.lua - DLC_02 DLC}}&lt;br /&gt;
:&amp;lt;code&amp;gt;DLC/DLC_02/Scenarios/NewWorldScenario/TurnsRemaining.lua&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{CodeBegin5}}&lt;br /&gt;
{{CodeLine5|0254}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;GameEvents.CanDeclareWar.Add(function(myTeam, theirTeam)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0256}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;local myPlayer = -1;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0257}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;local theirPlayer = -1;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0259}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;for iLoopPlayer = 0, GameDefines.MAX_CIV_PLAYERS-1, 1 do&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0260}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   local pLoopPlayer = Players[iLoopPlayer];&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0261}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if (pLoopPlayer:GetTeam() == myTeam) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0262}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   myPlayer = iLoopPlayer;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0263}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0264}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if (pLoopPlayer:GetTeam() == theirTeam) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0265}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   theirPlayer = iLoopPlayer;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0266}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0267}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if (myPlayer ~= -1 and theirPlayer ~= -1) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0268}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   break;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0269}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0270}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0272}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   print(myPlayer);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0273}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   print(Players[myPlayer]);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0275}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   local myStartingPlot = (Players[myPlayer]) and Players[myPlayer]:GetStartingPlot() or nil;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0276}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   local theirStartingPlot = (Players[theirPlayer]) and Players[theirPlayer]:GetStartingPlot() or nil;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0278}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if(myStartingPlot == nil or theirStartingPlot == nil) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0279}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   -- no war.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0280}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   return false;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0281}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0283}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   -- No restrictions on native civs as either declarers or declarees&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0284}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if (myStartingPlot:GetX() &amp;lt; 50) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0285}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   return true;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0286}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0287}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if (theirStartingPlot:GetX() &amp;lt; 50) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0288}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   return true;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0289}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0291}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   -- This is European on European, so check if power declaring war has piracy&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0292}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   pTeam = Teams[myTeam];&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0293}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   iTech = GameInfoTypes[&amp;quot;TECH_PIRACY&amp;quot;];&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0294}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   if (pTeam:GetTeamTechs():HasTech(iTech)) then&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0295}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   return true;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0296}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeBreak5}}&lt;br /&gt;
{{CodeLine5|0298}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   return false;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeLine5|0299}}&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;   end);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{CodeEnd5}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Civ5 API Footer}}&lt;br /&gt;
[[Category:Civ5 Methods and Functions|CanDeclareWar]]&lt;br /&gt;
[[Category:Civ5 Diplomacy API|CanDeclareWar]]&lt;/div&gt;</summary>
		<author><name>DonQuich</name></author>
	</entry>
</feed>