iexamine::fertilize_plant의 기능을 보고 설명
농작물은 파종된 뒤에 4가지 단계를 거침
1. 파종함
2. 싹이 남
3. 성숙함
4. 수확가능
수확 가능 이외 3가지 단계에서 비료를 뿌릴 수 있고, 매 단계마다 해당 지형에 있는 비료를 없애서 총 3번 뿌릴 수 있는 걸로 추정됨.
그럼 비료 뿌리면 뭐가 좋냐???
식물을 심을 때는 씨앗을 "소비"하고, 심는 곳에 씨앗을 "숨김" 플래그를 붙여서 "생성" 함 (activity_handlers::plant_seed_finish)
굳이 이렇게 구현된 이유는, 식물이 자란 시간을 측정하기 위해 아이템(씨앗)의 birthday와 age 를 계산하기 때문임
따라서 새롭게 생성된 씨앗은 심은 순간의 birthday를 가지고 있다.
비료는 이 birthday를 (JSON에 기록된)"식물이 자라는 시간"의 20% 이전으로 밀어낸다.
즉, 봄 15일에 10일에 다 자라는 작물을 심고, 여기에 비료를 뿌리면
씨앗의 birthday는 봄 15일이 아니라 봄 13일로 계산된다.
10일이 아니라 8일만에 수확할 수 있게 된다 이 소리여~
또한 3번까지 뿌릴 수 있으므로 심었을때 / 싹났을때 / 성숙했을때 한번씩 뿌리면 도합 60%를 가속시킬 수 있다.
정착해서 농사를 짓고 싶은 사람은 참조하도록 하자.
코드 분석을 통한 원리해명은 신선하군
참고로 수확량 변동은 없다
난 이런 게 재밌더라 잘 보고있슴
ㄱㅅㄱㅅ
농작물 심을때 주변 공기 온도만 체크해서 용암이든 난방이든 살짝 한다음 심은다음 냉동창고로 만들든 지하 어두운곳에 냅두든 작물이 잘 자란다
심는 그 순간에만 주변 온도를 체크하고 끝나니 말이지 ㅋㅋ
실시간 체크 하자면 연산량 넘모 만자너
시간마법이네