Civilization-Beyond-Earth

虹吸能量秘密行動中被盜的能量數量是如何確定的?

  • January 21, 2015

虹吸能量虹吸能量隱蔽操作有以下描述 :

將能源資源從目標城市轉移給玩家。

但是,我在網上找不到任何地方,它甚至大致描述瞭如何計算被盜的能量。我知道我在遊戲後期往往會得到更多,而且我認為在 3 個 wiki 中的一個上,我看到了 x1、x2 和 x3 乘數,但沒有提及觸發它們的條件。也許不同的等級?

我最好的猜測是城市人口、城市能源生產或受害者文明的總體科學對被盜數量有一些影響,儘管這可能是完全錯誤的。

虹吸能量隱秘行動中被盜的能量是如何計算的?

編輯: 找到“getCovertOpsRewardPercent”的值,由於某種原因,它位於 XML 文件之一中。該值取決於遊戲速度,如下所示:

快速:67 標準:100 史詩:150 馬拉松:300

因此,您應該能夠實際填寫最終函式的所有數字,並準確估計什麼是做什麼的。

原創: 所以,一般來說,文明遊戲的特點是它們並沒有做太多的事情來隱藏內部運作。遊戲的大部分方面,包括封面操作,都是由你可以在遊戲目錄中找到的 Lua 腳本執行的。在這種情況下,答案在一個名為 SiphonEnergyCovertOperation.lua 的文件中。

它只有 107 行長,感興趣的部分是一個函式,如下所示:

----------------------------------------------------
-- Operation-specific Functions
----------------------------------------------------
function Operation.GetRewardEnergy(agent)
   local player = Players[agent:GetOwner()];
   local rank = agent:GetRank();

   -- Base reward
   local reward;
   if (rank == CovertAgentRank.RECRUIT) then
       reward = 5;
   elseif (rank == CovertAgentRank.AGENT) then
       reward = 10;
   else
       reward = 15;
   end

   -- Modifiers
   local modifier = 0;
   modifier = modifier + Game.GetGameTurn() * 0.2;

   -- Scalars
   local scaler = 1;
   scaler = scaler * Game:GetCovertOpsRewardPercent() / 100;

   reward = math.ceil((reward + reward * modifier) * scaler);

   return reward;
end

return Operation;

所以,在寫這篇文章的時候,在被問到它可能已經修補了 3 個月後,能量是這樣確定的:

  • 從 5、10 或 15 的基值開始,具體取決於代理等級。
  • 從它的回合中獲取一個修改器,獲取回合數並將其乘以 0.2
  • 獲取其他一些我在 Lua 文件中找不到的基礎的“標量”。“getCovertOpsRewardPercent()”函式似乎是對使用者隱藏的東西之一。如果它是百分比,大概是 0.0 到 1.0 之間的十進制數。然後乘以 1…即 1,然後除以 100。
  • 代入最終方程。(math.ceil 基本上只是將數字四捨五入到下一個最高整數)所以,(獎勵 + 獎勵 * mod)* 標量。Lua 遵循正常的數學運算順序,因此括號內的乘法首先進行,然後是括號內的加法與該乘法的乘積,然後是該和與標量的乘法。
  • 結果是您從成功的操作中獲得的能量。

抱歉,我不能給出確切的例子,但是那個神秘的“getCovertOpsRewardPercent()”讓我無法尋找實際的價值,雖然我有一個有根據的猜測(0.0-1.0),但我不想繼續猜測.

引用自:https://gaming.stackexchange.com/questions/191353