CronはUnix から借用された用語で、時限式の、繰り返すイベントを表します。HabiticaでのCronは、新しい1日の開始後、プレイヤーのアカウントが最初にゲームと相互作用する時の処理を指します。
Cronのサイクル[]
Cronのサイクルは1日(24時間)で構成されており、全てのHabiticaプレイヤーの新しい一日は、デフォルトでは彼らの選択したタイムゾーンにおける深夜0時に始まります。Cronの処理は真夜中(あるいはプレイヤーが設定した日付の更新時間)直後に起こるのではなく、設定された時間の後にプレイヤーのアカウントが最初にサイトと交信をするときに発生します。
同期[]
したがって、もしあなたが1日の開始時間(デフォルトでは深夜0時)にログインしたとしたら、あなたは同期ボタンを押してタスクを更新する必要があるでしょう。これは特にボスクエスト中に起こりますが、プレイヤーがCron後、一番最初にサイトと交信を行った際にボスへダメージを与え、日課をやり逃した場合ボスがパーティーにダメージを与えてきます。
重要な注意点として、2015年の6月16日より、Habiticaはブラウザを開いてから6時間毎に自動的に同期を行うようになりました。これはつまり、Habiticaにログインしてから一晩中ブラウザを開けっ放しにしておくと、たとえあなた本人がその時寝ていたとしても、アカウントが更新され(Cronが処理され)るということです。
Cronの引き金[]
それがその日一番最初に行ったものであるなら、あらゆる動作は日付の更新処理(Cron)の引き金となります。
例として(他にもありますが)
- サイトにログインする
- タスクを完了する
- 同期ボタンを押す
- ページを再読み込みする
- ごほうびを買う
- 装備を変更する
- スキルを使用する
Cronの発動[]
ロッジで休む[]
一番最初にHabiticaが行うのは、あなたがロッジで休んでいるのかどうかの確認です。もしそうであれば、以下の例外を除いた日付の更新処理をすべてスキップします。
- 日課をリセットする
- 落とし物のカウントをゼロにリセットする(昨日のうちに落とし物の数が上限に達していたとしても、今日はさらなる落とし物を見つけることができます)
- アバターの変身を含む、すべての勢いボーナスを取り除く
通常のCron処理(概要)[]
- 日課のリセットおよび完了できなかった全ての日課からダメージが発生
- +と―が両方そろっていない習慣が持つタスクの値がゼロに向かって減少する(より黄色くなる)
- 完了させた日課数に応じた量のマナが回復する
- アバターの変身を含む勢いボーナスが切れる
- クエストボスへのダメージと、ボスからのダメージが計算され、分配される
- コレクション・クエスト用アイテムのドロップが計算される
通常のCron処理 (詳細)[]
- 完了させていない日課に対して(灰色になっている日課には以下は適用されません)
- 完了させた日課に対して
- チェックボックスがすべてオフになります。
- 日課そのものが未チェック状態になります
- +と―が両方そろっていない習慣が持つタスクの値がゼロに向かって減少する(より黄色くなる)
- 全てのTo Doの値が、若干赤寄りに近づきます。
- 体力がゼロ以下になっていないかチェックし、そうであれば死亡の処理を行います。
- 落とし物のカウントをゼロにリセットする(昨日のうちにドロップ数が上限に達していたとしても、今日はさらなる落とし物を見つけることができます)。
- あなたが得ていたすべての勢いボーナスがなくなります(これは上記の処理の後に発生するので、Cron処理中も勢いボーナスは効果を発揮しています)
- パーフェクトな日の勢いボーナスが得られているかを計算し、そうであればそれを適用します。
- マナが回復します。
- パーフェクトな日であれば、10ポイントもしくはマナ最大値の10%のいずれか高い値が得られます。
- 日課のやり残しがある場合は、得られるマナは完了した日課の割合に比例します。たとえば、日課の70%を完了していたとするなら、得られるマナはパーフェクトな日に得られる量の70%になります(つまり7MPもしくは最大MPの7%のどちらか大きい方)
- 未完了の日課におけるチェック済みのチェックリストはマナの獲得時にカウントされます。たとえば、10個の日課を持つプレイヤーが9個の日課を完了させていた場合、得られるマナはパーフェクトな日の90%になりますが、最後のやり残した日課にあるチェックリストが半分チェックされていたなら95%になります。仮にすべてのチェックリストがチェック済みであれば、日課そのものにチェックが入っていなくても、得られるマナは100%になります。
- 獲得したマナの現在量が最大値を超えていたならば、最大値まで減少します。
- (ボスまたはコレクション)クエスト中の場合
- 前回のCronから蓄積してきた個人ごとのクエスト進捗度が採点され(ダメージや見つけたクエストアイテム)、クエストに反映されます。
- 個人ごとのクエスト進捗度がゼロに戻ります。
- クエストが終了したかを確認し、そうであればクエスト終了処理を完了させます(勝利のメッセージと、報酬の配布)
数日間休止した後のCron発動[]
もしもプレイヤーがある特定の日にHabiticaを操作していないのであれば、その日はCronが発生しません。
プレイヤーが数日間活動を休止し、その後サイトとの交信によりCronが発生した場合、休止中の数日間でやり逃した全ての日課から発生する最終的なダメージは、それぞれの日課毎に1回分だけカウントされます。活動休止の前日に完了していた日課は、次のCronが実行されるまで(つまりプレイヤーが復帰するまで)完了済みとしてチェックされています。したがって、もしもすべての日課を完了させ、その後に休止していたなら、プレイヤーが復帰した時点では彼ら(とそのパーティー)は一切ダメージを受けません。しかし、休止に入る前日もしくは休止中に完了できなかった全ての日課はダメージを発生させるでしょう(逃した日課1つにつき、1日分のダメージ)。
その他全てのCronの効果はユーザーが最後にログインした時間に関係なく同一です。たとえば、Cronを元にしたマナの回復量は、複数日休止した後のほうがより高くなるといったことはありません。
サマータイム[]
サマータイムの開始と終了時、Cronが予期せぬ時間に起きたり、2回発生することがあるかしれません。ダメージを避けるため、時間変更の前後の日には、日課を予定されていない日課に設定するか、ロッジで休むことをお勧めします。
もしサマータイム中に死亡したりダメージを受けたなら、現在の能力値と連続実行回数を確認するユーザーデータ閲覧ツール とデータを変更するキャラクター設定値を直す機能を組み合わせて使用してください。
複数デバイスでの運用[]
2つ以上のデバイスでHabitica を使っている場合は、タイムゾーンと時計の時刻が同じであるか確認してください。ほんのわずかな時間の違いさえ、複数の日付更新からの複数Cronが引き起こす問題の原因になり得ます。
日付更新の設定[]
- 主要記事: 日付更新の設定
プレイヤーはHabitica 内で新しく1日を始める時刻を変更することができます。変更の設定は、設定画面にある「日付更新の設定」のドロップダウンリストで選択して行います。
パーティーへの影響[]
クエストボスからのダメージ[]
その日最初にHabiticaへアクセスした後のCronの処理は、メンバーが違うタイムゾーンにいるパーティーにとっては特に複雑なものになります。1日の開始から最初にゲームと交信を行うまでの間に起きたパーティーメンバーの行動はあなたのキャラクターに影響します。パーティーメンバーのタイムゾーンを知っていれば、ボスクエストからのダメージを避ける助けになるでしょう。
たとえば、JohnはJaneより8時間前のタイムゾーンにいます。Johnが朝起きてログインすると彼のCron処理が始まります。Johnは5つの日課を完了できなかったので、ボスから彼とJaneに10点のダメージが与えられます。8時間後、Janeが起床してログインし、彼女のCron処理が開始されます。彼女は自動的にJohnが発生させたダメージ10点を受けます。そして彼女は2つの日課をやり逃したので、ボスから彼女とJohnに4点のダメージが与えられます。彼女はその日、合計で14点のHPを失うでしょう。
勢いボーナスの戦略[]
関連する話題として、あなたがパーティーにかけたあらゆる勢いボーナスはパーティーメンバーの次のCronの後に失われます。あなたがメンバーの中でその日一番最初にログインしたのだとしたら、全員がログインした「後」まで勢いボーナスをかけるのを待ちたいと思うでしょう。そうしないと、 あなたは他のメンバーにとっての「昨日」のうちに勢いボーナスをかけたことになり、彼らがログインしCronが処理された時点で即座に勢いボーナスが失われます。
加えて、メンバーたちがログインした後、あなたが勢いボーナススキルを使用する前にタスクをチェックした場合も、同じく勢いボーナスの恩恵を得られません。その日の勢いボーナスは遡っては適用されないからです。ですので、全ての人が確実にその日の勢いボーナスを得られる最も効果的な方法は、全員がログインした後「かつ」その日の勢いボーナススキルを使用した後に日課をチェックすることです。
Cronセーフモード[]
.Cronセーフモードは管理者がサイト上のすべてのプレイヤーに対し設定可能な機能です。特定のプレイヤーだけに適用することはできません。この機能は未完了の日課から発生するダメージを除いて、Cronを通常通り実行します。
セーフモードはCronを以下のように変化させます。
- 未完了の日課がダメージを発生させない
- 未完了の日課がクエストボスからのパーティーへのダメージを発生させない
- 未完了の日課が連続実行回数をリセットしない
- 未完了の日課がタスクの値を変化させない(タスクの色がより赤くならない)
- 未完了の日課が、1晩のマナの獲得量を減少させない
- 日課が未完了でも、パーフェクトな日ボーナスを得られる
セーフモードは2016年の5月21日に初めて使用され、予定されたメンテナンスによるサーバ停止の間ユーザーをダメージから守り、連続実行回数を維持してくれました。しかし将来、長期のサーバ停止や、管理者のコントロール外の不具合からくる予期せぬサーバダウンに対して、再び使用されるかもしれません(たとえば、ウェブサイトのホスティングやデータベース上で不具合が起きた場合)。
開発者向けの情報
Cronを動かしているプログラムコード:
ファイルの最新版: website/server/libs/api-v3/cron.js
旧版(最初の行へのリンク): June 7, 2016
関連するプログラムが同じファイルの中にあります(大文字小文字関係なく"cron"で検索してください)
注意:Cronは Habitica Wiki の翻訳版の一部です。
英語版のCronの情報を正確に反映していることを保証しません。 |