Ticket #3623: 3623.diff
File 3623.diff, 7.0 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/gui/session/diplomacy_window.xml
46 46 <object name="diplomacyPlayerCiv[n]" size="150 0 250 100%" type="text" style="chatPanel" ghost="true"/> 47 47 <object name="diplomacyPlayerTeam[n]" size="250 0 300 100%" type="text" style="chatPanel" ghost="true"/> 48 48 <object name="diplomacyPlayerTheirs[n]" size="300 0 360 100%" type="text" style="chatPanel" ghost="true"/> 49 49 50 50 <!-- Diplomatic stance - selection --> 51 <object name="diplomacyPlayerAlly[n]" size="100%- 180 0 100%-160 100%" type="button" style="StoneButton" hidden="true"/>52 <object name="diplomacyPlayerNeutral[n]" size="100%-1 60 0 100%-140 100%" type="button" style="StoneButton" hidden="true"/>53 <object name="diplomacyPlayerEnemy[n]" size="100%-1 40 0 100%-120 100%" type="button" style="StoneButton" hidden="true"/>51 <object name="diplomacyPlayerAlly[n]" size="100%-200 0 100%-180 100%" type="button" style="StoneButton" hidden="true"/> 52 <object name="diplomacyPlayerNeutral[n]" size="100%-180 0 100%-160 100%" type="button" style="StoneButton" hidden="true"/> 53 <object name="diplomacyPlayerEnemy[n]" size="100%-160 0 100%-140 100%" type="button" style="StoneButton" hidden="true"/> 54 54 55 55 <!-- Tribute --> 56 <object name="diplomacyPlayerTributeFood[n]" size="100%-1 10 0 100%-90 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true">56 <object name="diplomacyPlayerTributeFood[n]" size="100%-130 0 100%-110 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true"> 57 57 <object name="diplomacyPlayerTributeFoodImage[n]" type="image" size="0 0 100% 100%" sprite="stretched:session/icons/resources/food.png" ghost="true"/> 58 58 </object> 59 <object name="diplomacyPlayerTributeWood[n]" size="100%- 90 0 100%-70 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true">59 <object name="diplomacyPlayerTributeWood[n]" size="100%-110 0 100%-90 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true"> 60 60 <object name="diplomacyPlayerTributeWoodImage[n]" type="image" size="0 0 100% 100%" sprite="stretched:session/icons/resources/wood.png" ghost="true"/> 61 61 </object> 62 <object name="diplomacyPlayerTributeStone[n]" size="100%- 70 0 100%-50 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true">62 <object name="diplomacyPlayerTributeStone[n]" size="100%-90 0 100%-70 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true"> 63 63 <object name="diplomacyPlayerTributeStoneImage[n]" type="image" size="0 0 100% 100%" sprite="stretched:session/icons/resources/stone.png" ghost="true"/> 64 64 </object> 65 <object name="diplomacyPlayerTributeMetal[n]" size="100%- 50 0 100%-30 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true">65 <object name="diplomacyPlayerTributeMetal[n]" size="100%-70 0 100%-50 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true"> 66 66 <object name="diplomacyPlayerTributeMetalImage[n]" type="image" size="0 0 100% 100%" sprite="stretched:session/icons/resources/metal.png" ghost="true"/> 67 67 </object> 68 68 <object name="diplomacyPlayerTributeEntities[n]" size="100%-50 0 100%-30 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true"> 69 <object name="diplomacyPlayerTributeEntitiesImage[n]" type="image" size="0 0 100% 100%" sprite="stretched:session/icons/resources/population.png" ghost="true"/> 70 </object> 69 71 <object name="diplomacyAttackRequest[n]" size="100%-20 0 100% 100%" type="button" style="iconButton" tooltip_style="sessionToolTipBold" hidden="true"> 70 72 <object name="diplomacyAttackRequestImage[n]" type="image" size="0 0 100% 100%" sprite="stretched:session/icons/attack-request.png" ghost="true"/> 71 73 </object> 74 72 75 </object> 73 76 </repeat> 74 77 </object> 75 78 76 79 <object name="diplomacyCeasefireCounter" size="32 100%-90 100%-32 100%-62" type="text" style="chatPanel" ghost="true"></object> -
binaries/data/mods/public/gui/session/menu.js
function openDiplomacy() 348 348 button.enabled = controlsPlayer(g_ViewedPlayer); 349 349 button.hidden = false; 350 350 button.tooltip = formatTributeTooltip(g_Players[i], resource, 100); 351 351 } 352 352 353 //Give Entities 354 { 355 let button = Engine.GetGUIObjectByName("diplomacyPlayerTributeEntities["+(i-1)+"]"); 356 button.hidden = false; 357 button.enabled = controlsPlayer(g_ViewedPlayer); 358 button.tooltip = translate("Give selected structures"); 359 button.onpress = (function(i){ return function() { 360 Engine.PostNetworkCommand({ "type": "give", "to": i, "entities": g_Selection.toList() }); 361 }; } )(i); 362 } 363 353 364 // Attack Request 365 { 354 366 let button = Engine.GetGUIObjectByName("diplomacyAttackRequest["+(i-1)+"]"); 355 367 button.hidden = isCeasefireActive || !g_Players[i].isEnemy[g_ViewedPlayer]; 356 368 button.enabled = controlsPlayer(g_ViewedPlayer); 357 369 button.tooltip = translate("Request your allies to attack this enemy"); 358 370 button.onpress = (function(i) { return function() { 359 371 Engine.PostNetworkCommand({ "type": "attack-request", "source": g_ViewedPlayer, "target": i }); 360 372 }; })(i); 361 373 } 362 374 // Skip our own teams on teams locked 363 375 if (g_Players[g_ViewedPlayer].teamsLocked && g_Players[g_ViewedPlayer].team != -1 && g_Players[g_ViewedPlayer].team == g_Players[i].team) 364 376 continue; 365 377 366 378 // Diplomacy settings -
binaries/data/mods/public/simulation/helpers/Commands.js
var g_Commands = { 101 101 "tribute": function(player, cmd, data) 102 102 { 103 103 data.cmpPlayer.TributeResource(cmd.player, cmd.amounts); 104 104 }, 105 105 106 "give" : function(player, cmd, data) 107 { 108 let cmpPlayer = QueryPlayerIDInterface(player); 109 let cmpPlayerTo = QueryPlayerIDInterface(cmd.to); 110 if (!cmpPlayer || !cmpPlayerTo) 111 return; 112 if (cmpPlayerTo.state != "active" || cmpPlayer.state != "active") 113 return; 114 for (let ent of cmd.entities) 115 { 116 let cmpCapturable = Engine.QueryInterface(ent, IID_Capturable); 117 if (!cmpCapturable) 118 return 119 let cmpOwnership = Engine.QueryInterface(ent, IID_Ownership); 120 if (!cmpOwnership || cmpOwnership.GetOwner() != player) 121 return; 122 cmpOwnership.SetOwner(cmd.to); 123 } 124 }, 125 106 126 "control-all": function(player, cmd, data) 107 127 { 108 128 var cmpGuiInterface = Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface); 109 129 cmpGuiInterface.PushNotification({ 110 130 "type": "aichat",