Civilization-Beyond-Earth
虹吸能量秘密行動中被盜的能量數量是如何確定的?
虹吸能量隱蔽操作有以下描述 :
將能源資源從目標城市轉移給玩家。
但是,我在網上找不到任何地方,它甚至大致描述瞭如何計算被盜的能量。我知道我在遊戲後期往往會得到更多,而且我認為在 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),但我不想繼續猜測.