Pequenas cenas
Cada arquivo em pet_interaction/ é uma pequena cena. O mod vem com cinco: agarrar, cumprimento de caranguejo, agrado, café e ouvir. Veja o café como exemplo, em que o Kurimanju entrega um café a um pet que acabou de terminar uma ficha de Capina:
{
"initiators": [
{ "pets": ["chiikawa:kurimanju"], "pose": "hand_over" }
],
"partners": [
{
"pets": ["chiikawa:chiikawa", "chiikawa:hachiware", "chiikawa:usagi"],
"pose": "drink",
"begin": { "reaction": "happy", "voice": "given_coffee" }
},
{
"pets": ["chiikawa:rakko"],
"pose": "drink",
"begin": { "voice": "given_coffee" }
}
],
"partner_finished": { "slip": "chiikawa:weeding", "within_ticks": 2400 },
"partner_eager_ticks": 1200,
"chance": 0.25,
"notice_distance": 12.0,
"approach_distance": 1,
"reservation_ticks": 400,
"duration_ticks": 80,
"cooldown_ticks": 24000
}Quem contracena com quem. initiators é o lado que começa a cena, e partners é o lado que ele procura. Os dois são escritos como grupos: pets lista ids de personagem ou tags de entidade começando com #, e um pet age de acordo com o primeiro grupo em que aparece. A ordem de partners também é a ordem de preferência, então quem começa procura primeiro os que estão no começo da lista. Assim, cada personagem em um mesmo arquivo pode ter a própria reação: quando alguém se agarra, o Chiikawa chora, enquanto o Rakko nem se abala.
Como cada lado age. pose é a pose mantida durante toda a cena; begin, now_and_then e end são o que o pet faz quando os dois se encontram, de tempos em tempos durante a cena e quando ela termina. Cada um deles pode ter uma animation, uma expressão reaction (happy, hurt, confused) e um momento de voice, e todos podem ficar de fora. now_and_then também precisa de every_ticks, a frequência com que acontece. Um momento de fala procura a fala no arquivo de falas do próprio personagem, então cada personagem diz do seu próprio jeito.
As poses e animações só podem usar animações que já existem no mod: cling, clung_to, crab_greeting, hand_over, drink, eat, sit, clap. Um personagem sem essa animação só fica em pé ali.
Quando acontece.
| Campo | Significado |
|---|---|
partner_state | Opcional, o que o parceiro tem que estar fazendo: idle, sem nada para fazer (o padrão), ou playing_music, se apresentando, caso em que o parceiro não para e qualquer um pode vir para a plateia |
partner_finished | Opcional, que tipo de ficha o parceiro tem que ter terminado, e há quanto tempo no máximo |
hands_over | Opcional, o que quem começa tira da mochila para o parceiro comer na hora, como um item ou uma tag; se não tiver nada disso na mochila, a cena não acontece |
partner_eager_ticks | Opcional, por quanto tempo o parceiro trabalha com mais vontade depois, 0 por padrão |
chance | A chance de pensar nesta cena cada vez que olha em volta |
notice_distance | Quão perto o parceiro tem que estar para vir à mente; os pets enxergam no máximo 16 blocos |
approach_distance | Quão perto quem começa chega antes de começar |
reservation_ticks | Quanto tempo quem começa tem para chegar, e quanto tempo o parceiro espera |
duration_ticks | Quanto tempo a cena dura |
cooldown_ticks | Quanto tempo depois de uma dupla fazer esta cena até fazerem a mesma cena de novo |
