《了不起的修仙模擬器》靈氣系統解析分享
《了不起的修仙模擬器》中的靈氣系統一直是玩家們津津樂道的,很多玩家都在研究聚靈、靈脈、靈氣等等東西,那麽遊戲中的靈氣系統怎麽樣呢?今天小編就給大家帶來靈氣系統解析,希望能對大家有所幫助。
靈氣系統解析分享
首先,遊戲地圖每一個格,都存在靈氣,靈氣會根據地圖上的相關具有ling屬性的物品或植物來生成。靈氣並不會移動,只會隨著各個物品的相關參數對每個格的影響來決定是否生成還是消散,被吸收。下面根據相關屬性,對靈氣的生成消耗機制進行說明。
1、靈脈
通過對遊戲檔案夾setting中的數據分析,我們發現有一種物體叫靈脈
\Settings\ThingDef\Rock\Special
其屬性LingSource是獨一無二的,而LingSource決定了靈氣是否消散,凡是沒有靈脈的地方,其靈氣會每次刷新消耗1%,直到最小值0,而存在靈脈的地方,其靈氣最小值為197。
2、聚靈
很多物品都有AddionLing屬性,下面我們取靈木的ling屬性進行分析
先說AddionRadius和AddionFailRadius。
聚靈範圍由AddionRadius決定,如上圖所示,靈木聚靈範圍為4。
而AddionFailing和AddionFailRadius,則決定了周圍格子的聚靈數值大小
設靈木所在格子的的坐標為(0,0)
其中綠色的格子,因為其距離處在AddionFailRadius=2以內,其聚靈數值不變仍為AddionLing,
而藍色格子,其距離因為大於AddionFailRadius=2,其聚靈數值將變為
value=AddionLing*AddionFailing^(到靈木的距離-AddionFailRadius);
周圍白色格子,由於距離超出了AddionRadius,其聚靈值為0
3、靈氣生成機制
前面我提到了靈氣的正常損耗是根據是否存在lingsource來決定的,而靈氣的生成,則和周邊地塊的靈氣有關,即靈氣越多,產出的靈氣也就越多。
就源碼來看,靈氣的設定是促進周圍地塊靈氣生成,即某一地塊的靈氣含量很高,而周邊的八塊含量比他低,周邊地塊就會產生靈氣,具體產生的量和靈氣含量的差值有關,差值越大,產出越多。周圍物品的聚靈值,稱為鎖靈更為合適,因為計算靈氣差值時,會先刨除聚靈值。
假設我們取(2,2)點,則周圍的八個點(1,1);(1,2);(1,3);(2,1);(2,3);(3,1);(3,2);(3,3)的物品和人員以及地形都會對靈氣生成有影響
我們隻計算(2,2)和(2,3)點,假設(2,2)和(2,3)的靈氣均為50,則其靈氣差=0,不會產生靈氣,但假如(2,3)點存在一個物體,其聚靈範圍為1(他本身),聚靈值為10,,則靈氣差為(2,2)點-(2,3)點:(50-(50-10))=10,則(2,3)點會生成靈氣。
生成靈氣的大小和靈氣差值有關,其恢復數量是一個階梯函數。
設靈氣差值為n1,回靈速度為n2
n1>15.6,n2=n1/1.3
n>2.4,n2=n1/1.6
n>1.8,n2=2^(n1*5-10)/5
n>0.4 n2=0.2
else n2=0
實際回靈,還和該地塊物體的attenuation,耗散有關,該地塊所有物品,以及地塊本身的耗散系數相加,為 n3,
回靈=n2*max(1-n3,0)故當總耗散系數n3大於1時,取0,無法回靈。
至於absorption,吸收系數,accommodate容納系數,這兩個系數是和物品吸收靈氣有關。
當本格的靈氣不為零時,其吸收量為:(本格靈氣-(物品所含靈氣/容納系數))與物品品階這兩個值中的最大值,乘以吸收系數再乘以0.004。
而當本格靈氣=0時,其吸收量為本格生成量×absorption吸收系數×attenuation耗散系數×0.01;
本格靈氣不為0的物品吸收靈氣方式會在最後計算靈氣是扣除,而本格靈氣=0的吸收靈氣方式對本格靈氣無影響。
人物吸收靈氣的模式代碼比較複雜,就不寫了,不過人物在靈氣為0的地方是不能回靈的。
回靈機制總結
1、遊戲裡沒有任何物品可以直接回復地塊的靈氣,靈脈也不行。地塊的靈氣回復只和是否存在與周圍地塊靈氣差決定。
2、聚靈的作用是扣除部分靈氣,使得計算周圍地塊靈氣差時,差值增加,從而變相增加回靈速度。
總結,建造聚靈陣的原理,是把人物所在的地方和周邊八格的聚靈值堆高,當人物吸收靈氣後本格靈氣降低,周邊八格聚靈高會導致本格回靈也很高,這樣可以維持本格的靈氣值。