钢铁雄心3吧 关注:108,291贴子:2,328,588
  • 3回复贴,共1

生产许可里能不能添加大型主力舰?

只看楼主收藏回复

如题,发现最多只能购买轻巡,主力舰都不能买许可


IP属地:四川1楼2022-02-19 21:34回复
    同问


    IP属地:河南来自Android客户端3楼2025-01-25 21:05
    回复
      script/ai_diplomacy.lua
      function DiploScore_LicenceTechnology(voAI, voActorTag, voRecipientTag, voObserverTag, action)
      代码中涉及的 单位生产许可 逻辑主要围绕以下部分:
      if not action:GetSubunit() then return 0end
      这个判断语句检查 action 对象中是否包含了一个子单位(Subunit)。如果不存在,立即返回 0,表明无法进行许可评分。结合上下文,单位生产许可 的核心就是检查是否对特定子单位的技术许可进行评分。
      从代码整体看,它处理了以下几种情况来计算许可评分:
      关系判断:
      如果双方关系值 (rel:GetValue():GetTruncated()) 小于 0 或者处于战争状态,则返回 0,表明不允许许可。
      友好国家(联盟、同一派系、共同敌人)加分。
      战争状态:
      如果被许可方和行动方有共同敌人,则增加评分。
      如果被许可方与行动方的敌人是朋友,评分直接归零。
      对齐因子:
      使用 CalculateAlignmentFactor 函数评估两国在三角关系中的距离,距离越远(即不对齐),分值下降。
      威胁值:
      关系的威胁程度(rel:GetThreat():Get())会影响评分,与对齐因子结合减少得分。
      经济因素:
      如果许可方支付的钱(action:GetMoney():Get())占被许可方金库的比例越高,评分越高;反之,支付过低时会扣分。
      核心单位生产许可的关键点:
      action:GetSubunit() 确定是否涉及子单位(单位生产)。
      结合战争、联盟和经济等多重因素计算许可分数。
      返回的分数(score)决定是否授予生产许可。
      ---
      没有


      IP属地:江西4楼2025-01-26 13:48
      回复