冰封龐克生病機制詳解及獵物漏洞
人口屬性
遊戲中所有的小人有以下屬性(不包括姓名和血緣關係之類的無用屬性):是否饑餓,是否生病,不滿。
饑餓是一天不吃飯就會餓,然後就會概率餓死,這個屬性是一定的,通過時間來計算,應該是有計時器系統,畢竟不是每一個人都同時生病。
是否生病(和生病概率),就是是否生病,生病機制我們下面說。
不滿,這個應該是以值的方式存在,當有不滿的人死掉,你的不滿值就會下降,但是希望應該是一個整體值,並且通過累加,而和市民本身沒有直接關係(間接關係),所以才會出現你希望滿了的同時,不滿其實也可以滿
生病機制:
生病的系統基本上可以確定是按照人口比例隨機生病。
每個小人都有生病的概率,將同等級生病概率的人放在一起計算,然後計算下一個等級,正常情況下,其實生病的值已經確定了,只是在之後才發給每個小人而已
生病概率和當前狀態有關(在家,在工作地點,在路上),並且會改變(假如家裡比工作點暖和,那麽生病概率逐漸降低,在家裡比工作地點冷,生病概率逐漸下降)
上面這點可能看上去比較玄學,但是我們有驗證方法。
隨便開一局遊戲不修房子,第一天晚上病兩三個人,但是這三個人基本上不重複,但是每個人都會有生病概率。
同時也可以發現,就算工作地點很冷,只要沒到嚴寒,就不會立刻生病,生病都是晚上的事情,那麽假設,我們白天開低等級能量塔,晚上在調高+過載,就能夠有效減少患病率。
那麽可以大膽猜測,其實生病是從晚上某時刻結算,並在系統後台逐一隨機發放給市民(這樣能做出緩慢生病的效果,並節約運算量)
所以我們只要在它的結算前,將溫度提升,就可以避免相當數量的市民生病。
推測時間第二天0點之前,具體應該是八點到11點之間,但不可能是八點整(畢竟那個時候小人才剛剛回家)
反證:如果我們在零點出現任何病人之前,將溫度提升,但是生病人數並無明顯變化。
其他猜想:或許是因為生病概率的改變需要時間。
總結:無論具體算法如何,結算機制肯定存在,否則無法解釋為什麽是隨機和按比例生病,第二提前開爐子提升溫度肯定可以減少生病概率,推薦六點以前開,因為預熱也要時間
生病機制2:
這條機制我沒測試過,不過有注意到,那就是生病之後的人,進入醫療站的時間和治療時間成反比,比如生病立刻去醫療站,只需要兩天,而到了第二天早上就會變成三天。
長期不治療的人會變成重病。
值得一提的是,療養院是神器,在療養院的人,相當於獲得了一個24小時的工作(並且住在裡面),可以延長其生命,有人提到過,在療養院的重病患者可以活十多天,不過你也因此減少了一個勞動力。
截肢只有30%,所以不是每一個重病的人都會被截肢,如果選擇了姑息療法,那麽被姑息的人不會在醫療站得到治療,也就是說,你第一個重病患者出現之後,你有十多天的時間出醫務室(也不算趕)
工作機制:
一般來說,在工作的人,不會第一時間去吃飯和看病,我見過生病的人在有醫療空位的情況下,依然選擇先忙完手頭的事情,再去做別的事情。
但是有一點值得一提,工作並不是一直乾到底,它應該會有結算時間,結算時間一到,就會判斷此人的狀態,是否符合其他動作,比如工作兩小時後,結算,生病,且醫療站有空位,這人就會選擇去治病。
重病沒有試過,但是重度饑餓則會讓市民立刻去吃飯。
此外還有原力吃飯現象,就是我本來有三十多個重度饑餓的人,然後突然獲得了一批食物(探索隊),然後一瞬間他們的饑餓就不見了……這讓我目瞪口呆。
工作本身並不會影響小人的生病概率(無法測試,理論如此,由狩獵小屋bug得出)。