Date and Time System VisuStella MZ

From Yanfly.moe Wiki
Jump to navigation Jump to search

Welcome to the wiki! This is where you can find resources from Yanfly.moe, Ækashics.moe,
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.



Download

System

This is a plugin created for RPG Maker MZ.

InstallPluginsMz.png

UpdatePlugins.png

Troubleshooting.jpg

Click here for help on how to install plugins and an explanation on the Tier Hierarchy System.

Click here to learn how to update plugins.

Click here for how to troubleshoot plugins if you get an error.


Masterarbeit Writer


DateTimeSystem Preview1.gif

DateTimeSystem HUD.png

Required Plugins

The following plugins are required in order to use this plugin.

Place the following plugins above this plugin located in the Plugin Manager.


VisuStella MZ

This plugin is a part of the VisuStella MZ Plugin Library.

Click here if you want to help support VisuStella on Patreon.

Introduction

VisuMZ.145.jpg

Does your game need a time system? This plugin adds time-related mechanics to RPG Maker MZ, allowing you to control either Game Time, governed by your own custom rules, or Real Time, synchronized to the player's PC or device.

Features include all (but not limited to) the following:

  • Pick between Game Time or Real Time. Game Time uses in-game rules while real time synchronizes the timer with the player's PC or device.
  • In Game Time, create custom months, weekdays, and even change up rulings like how many hours a day there are or minutes in an hour.
  • Game Time allows for Time Dilation, where you can change how fast a minute occurs or even slow it down. This can be adjusted midgame even.
  • Pause and unpause Game Time as you see fit, or even use notetags to halt the passage of Game Time inside certain maps like building interiors.
  • Enables usage of real time data, like dates and time. This data can be utilized in-game for variables, switches, and going as far as tinting the screen on certain maps based on the time of day.
  • Variables and switches will be automatically updated and can be used to save date and time-related information.
  • Recorded data found in variables and switches are highly useful for immediate event usage.
  • Determine the screen tone and/or overlay used depending on what time of the day it is.
  • Certain message-related text codes can be used to make quick mention of what time it is, certain aspects of a date, seasons, and more.
  • Compatibility with other plugins can enable more features to be used, such as date and time-related battle encounters, season items for shops, usage of different tilesets for different dates/times, and more!
  • Date/Time HUD is added for the map scene to quickly display information to the player about the date and time.
  • The HUD is fully customizable and custom images/icons can be used as well as custom JavaScript code to modify how certain aspects appear in-game.
  • Parts of the HUD can be disabled for those who may only want a Time system but not a Date system or vice versa.


Requirements

This plugin is made for RPG Maker MZ. This will not work in other iterations of RPG Maker.

Required Plugin List

This plugin requires the above listed plugins to be installed inside your game's Plugin Manager list in order to work. You cannot start your game with this plugin enabled without the listed plugins.


Tier 2

This plugin is a Tier 2 plugin. Place it under other plugins of lower tier value on your Plugin Manager list (ie: 0, 1, 2, 3, 4, 5).

This is to ensure that your plugins will have the best compatibility with the rest of the VisuStella MZ Plugin library.



Major Changes

This plugin adds some new hard-coded features to RPG Maker MZ's functions. The following is a list of them.

---

Tint Screen / Screen Tone

DateTimeSystem Preview1.gif

Although this plugin has screen tones for different times of the day, these do NOT conflict with the "Tint Screen" command to adjust screen tones like one may predict. Instead, the ones used in this plugin are a separate tint effect and can, in fact, be stacked on top of each other.

Keep in mind that if you are using VisuMZ_2_LightingEffects, the screen tones added by this plugin won't take effect in favor of the overlay system to better work with the Lighting Effects system.

---


Extra Features

There are some extra features found if other VisuStella MZ plugins are found present in the Plugin Manager list.

---

Battle Core VisuStella MZ

VisuMZ.002.jpg

If you have VisuStella MZ's Battle Core installed, you will gain access to a few of the new comment tags available to Troops. These comment tags allow you to setup which troops that appear based on certain Date and/or Time conditions.

For example, if you want some enemies that only appear during the day time, you can use the <Encounter Cycles: Dawn, Day> comment tag. If you want them to appear at night, <Encounter Cycles: Dusk, Night> will work.

For another example, we can make some enemies that appear only during specific seasons like <Encounter Season: Winter>. Other setups can be more numerically involved like during specific months, hours, weekdays, etc.

Keep in mind that if you are using these conditions, all other conditions need to be met for those Troops, such as which regions they're supposed to appear in on the map or any other plugin related conditions like for the VisuStella MZ Conditional Random Encounters plugin.

Battlebacks will need to do the same though the notetag for this will be placed on the map notebox itself and for seasonal changes only.

---

Events and Movement Core VisuStella MZ

VisuMZ.005.jpg

If you have VisuStella MZ's Events & Movement Core installed, you will gain access to allowing certain tilesets to swap to another upon loading the map. Inside the base tileset's notebox, you can insert <Winter Swap To: 7> and it will exchange itself to tileset 7 if the season happens to be winter.

The effect does not end there, it will perform another check, but this time, on the new tileset the map was changed to. There, it can optionally perform another check like <Night Swap To: 8> if desired.

Priority will be given to seasons first, then the day cycles (dawn, day, dusk, night). This way, you can ensure that the tileset you're using matches the conditions of the season or time of day if so desired.

If time changes into a new season or day cycle while on the map, there won't be any changes made immediately. Instead, the player must exit and reenter the map for the changes to be seen. This is to prevent any awkward changes and transitions that may occur otherwise. The same applies to battlebacks.

---

Items and Equips Core VisuStella MZ

VisuMZ.006.jpg

If you have VisuStella MZ's Items & Equips Core installed, you will gain access to new notetags that govern if some items, weapons, or armors can appear in shops during specific times or dates. This can make way for the idea of seasonal items and the like where certain holiday cookies are available during the winter and cool drinks are available during summers.

Additionally, you can have price changes depending on seasons and times. Is it almost time for the bakery to close, make the items cheaper around then. What about the holiday season? Make them cheaper again. Make your players feel the discount frenzy.

---

Message Core VisuStella MZ

VisuMZ.004.jpg

If you have VisuStella MZ's Message Core installed, you can access the new text codes added through this plugin to quickly display times and dates. A few of these text codes are also used to display seasons, weekdays, parts of the day cycle, and more. This can be used with both Game Time and Real Time vocabularies.

---

Skills and States Core VisuStella MZ

VisuMZ.007.jpg

Installing VisuStella MZ's Skills & States Core gives you access to several special notetags that allow you to take advantage of the Date & Time System.

Some of these notetags make it so that some skills can only be used during specific seasons or times of the day. For example, the skill "Moon Beam" can only be used during the Night hours. Other things like "Summer Heat" can only be used during the Summer months.

Other notetags involve changing up how much certain skills cost for MP, HP, TP, and more. A skill like "Icicle Rain" might cost 200% less MP during the Summer months while "Solarbeam" might cost 50% less MP during Day hours.

Damage can also be affected by dates and times. Skills like "Vine Whip" can deal more damage during Spring months and skills like "Nocturnal Healing" might yield less HP recovery during non-Night hours.

State turns can also benefit from these effects. A "Sleep" state might last a couple of more turns during the Night hours while "Burn" wouldn't last as long during Winter months.

---

Save Core VisuStella MZ

VisuMZ.009.jpg

Those using the VisuStella MZ Save Core plugin can gain access to another feature when used together with this plugin. If the player loads a save file then the game will record the time difference upon loading in minutes onto a variable. This means that you can detect how long the player has been away from the game offline and use that as a game mechanic.

In order for this mechanic to work, the Save Core must be implemented, save the game (with this plugin installed), and then load it. If a save was made before this plugin is installed, loading the old save file won't give out a time difference. This is not an error as it is moreso a condition has not been first met.

This uses Real Time and is based off the player's PC date and time settings. For what it's worth, it's possible for the player to "cheat" using time travel shenanigans, but just keep in mind that if a player travels backwards in time, the variable's value will be negative. Use that information however you want.

---


VisuStella MZ Compatibility

While this plugin is compatible with the majority of the VisuStella MZ plugin library, it is not compatible with specific plugins or specific features. This section will highlight the main plugins/features that will not be compatible with this plugin or put focus on how the make certain features compatible.

---

Lighting Effects VisuStella MZ

VisuMZ.099.jpg

If you have using VisuStella MZ's Lighting Effects plugin, tints/tones will not be used, but instead, overlay values will be. This is so that the overlay can utilize the lighting system in play. Do not be surprised if any changes to this plugin's tone-related Plugin Parameters do nothing as long as Lighting Effects is enabled.

---


Notetags

RPG Maker MZ's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin.

Here is a list of Notetag(s) that you may use.


The following are notetags that have been added through this plugin. These notetags will not work with your game if this plugin is OFF or not present.

---

Time-Type-Related Notetags

DateTimeSystem Preview1.gif

---

<Time System: None>
<Time System: Game>
<Time System: Real>

- Used for: Map Notetags
- Insert one of these notetags into your map's notebox and it will change
  the time type to the desired type.
- If this notetag is not used, use the default Time System type declared in
  the Plugin Parameters.

---

<Pause Game Time>

- Used for: Map Notetags
- While the player is on this map, prevent Game Time from progressing
  forward.
- This does NOT apply to Real Time.
- The Plugin Command to pause/unpause Game Time will have no effect on any
  map that has this notetag.

---

Time Tone-Related Notetags

DateTimeSystem Preview1.gif

---

<No Time Tone>
<Time Tone>

- Used for: Map Notetags
- Insert one of these notetags into your map to decide if you want the map
  to use the time-based screen tone (or overlay for those using the
  VisuMZ_2_LightingEffects plugin).
  - Places where you wouldn't want time tones would be indoor areas where
    the screen tone/overlay wouldn't matter.
  - Places where you would want to use time tones would be outdoor areas
    where the screen tone/overlay would matter.
- If this notetag is not used, use the default Time Tone type declared in
  the Plugin Parameters.

---

HUD-Related Notetags

DateTimeSystem HUD.png

---

<Show Date Time HUD>
<Hide Date Time HUD>

- Used for: Map Notetags
- Insert one of these notetags into your map to decide if you want the map
  to show the Date/Time HUD or not.
  - If the player has opted to hide the Date/Time HUD in the options, that
    will take priority over the map notetag deciding to show it.
  - If the game dev opted to hide the Date/Time HUD through Plugin Commands,
    that will take priority over the map notetag deciding to show it.
- If this notetag is not used, use the default setting visuals declared in
  the Plugin Parameters.

---

Battle-Related Notetags

---

<Encounter Hour: x>
<Encounter Hours: x, x, x>

<Encounter Weekday: x>
<Encounter Weekdays: x, x, x>

<Encounter Date: x>
<Encounter Dates: x, x, x>

<Encounter Month: x>
<Encounter Months: x, x, x>

- Used for: Troop Page Comment Tags
- Requires VisuMZ_1_BattleCore!
- Makes this encounter only appear during the specified hours, weekdays,
  dates, and/or months.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- You can use multiple combinations of types together, like in order to make
  a troop encounter that only occurs during the last day of the year by
  using the Month and Date comment tags together.
- This will NOT work with a Base Troop. You will get an alert saying so.
  - Why? Because this can cause all of the troops in the game to just shut
    off and you don't want that.

---

<Encounter Season: type>
<Encounter Seasons: type, type, type>

<Encounter Cycle: type>
<Encounter Cycle: type, type, type>

- Used for: Troop Page Comment Tags
- Requires VisuMZ_1_BattleCore!
- Makes this encounter only appear during the specified seasons or parts of
  the day cycle.
- Replace 'type' with a string representing the season or day cycle type.
  - Seasons are: "spring", "summer", "autumn", "winter" (no quotes).
  - Cycles are: "dawn", "day", "dusk", "night" (no quotes).
  - Insert multiple 'type' values to cover more instances.
- You can use multiple combinations of types together, like in order to make
  a troop encounter that only occurs during winter and at night by using the
  two comment tags together.
- This will NOT work with a Base Troop. You will get an alert saying so.
  - Why? Because this can cause all of the troops in the game to just shut
    off and you don't want that.

---

<season Battleback1: filename>
<season Battleback2: filename>

- Used for: Map Notetags
- Requires VisuMZ_1_BattleCore!
- Changes the primary map battleback(s) to the designated 'filename' when
  the player has entered the map at a specific 'season'.
  - If the player has entered the map at a specific 'season', but time has
    moved forward and the season has changed, the season will be whatever it
    was upon the time the player has entered in order to prevent any weird
    and out of place transitions from happening.
- Replace 'season' with a string representing the season.
  - Seasons are: "spring", "summer", "autumn", "winter" (no quotes).
- Replace 'filename' with the filename of the graphic to use. Do not insert
  any extensions. This means the file 'Castle1.png' will be only inserted
  as 'Castle1' without the '.png' at the end.
- Insert multiples of these notetags to declare different settings for
  different seasons.
- *NOTE: This will override any specified battleback settings.

---

<season Region x Battleback1: filename>
<season Region x Battleback2: filename>

- Used for: Map Notetags
- Requires VisuMZ_1_BattleCore!
- Changes the primary map battleback(s) to the designated 'filename' when
  the player has entered the map at a specific 'season' and while on a
  specific 'region' on the map.
  - If the player has entered the map at a specific 'season', but time has
    moved forward and the season has changed, the season will be whatever it
    was upon the time the player has entered in order to prevent any weird
    and out of place transitions from happening.
- Replace 'season' with a string representing the season.
  - Seasons are: "spring", "summer", "autumn", "winter" (no quotes).
- Replace 'x' with a number representing the region ID you wish to use.
- Replace 'filename' with the filename of the graphic to use. Do not insert
  any extensions. This means the file 'Castle1.png' will be only inserted
  as 'Castle1' without the '.png' at the end.
- Insert multiples of these notetags to declare different settings for
  different season and region combinations.
- *NOTE: This will override any specified battleback settings.

---

Tileset-Related Notetags

---

<type Swap To: x>

- Used for: Tileset Notetags
- If a map loads a tileset with this notetag and it happens to be that
  season, swap to 'x' tileset instead and repeat the check.
  - The repeated check will only last for 5 checks max for each map loading.
- Replace 'type' with a string representing the season or cycle.
  - Seasons are: "spring", "summer", "autumn", "winter" (no quotes).
  - Cycles are: "dawn", "day", "dusk", "night" (no quotes).
  - Priority will be given to seasons first before cycles.
  - Insert multiples of this notetag to cover different cases.
- Each successful check will result in another check on the newer tileset
  for up to 5 times.
- This can be chained in such a way where an "Outdoor" tileset can chain
  into something like "Summer Outdoor", which can then be chained into
  "Summer Outdoor Day" or "Summer Outdoor Night" for more accuracy.
- Priority will be given to seasons first, then  the day cycles (dawn, day,
  dusk, night). This way, you can ensure that the tileset you're using
  matches the conditions of the season or time of day if so desired.
- If time changes into a new season or day cycle while on the map, there
  won't be any changes made immediately. Instead, the player must exit and
  reenter the map for the changes to be seen. This is to prevent any awkward
  changes and transitions that may occur otherwise.

---

<Bypass Tileset Swap>

- Used for: Map Notetags
- If a map with this notetag loads a tileset that would normally swap out,
  this will prevent it from happening.
- This can be used for things like flashbacks where it would make sense for
  a specific tileset to be used as opposed to the current season's variant.

---

Shop-Related Notetags

---

<Shop Buy Hour: x>
<Shop Buy Hours: x, x, x>

<Shop Buy Weekday: x>
<Shop Buy Weekdays: x, x, x>

<Shop Buy Date: x>
<Shop Buy Dates: x, x, x>

<Shop Buy Month: x>
<Shop Buy Months: x, x, x>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_ItemsEquipsCore!
- These shop listings can only be bought at specific hours, weekdays, dates,
  and/or months.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- You can use multiple combinations of types together, like in order to make
  a shop listing that only appears during the last day of the year by using
  the Month and Date notetags together.

---

<Shop Buy Season: type>
<Shop Buy Seasons: type, type, type>

<Shop Buy Cycle: type>
<Shop Buy Cycle: type, type, type>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_ItemsEquipsCore!
- Makes this shop listing only appear during the specified seasons or parts
  of the day cycle.
- Replace 'type' with a string representing the season or day cycle type.
  - Seasons are: "spring", "summer", "autumn", "winter" (no quotes).
  - Cycles are: "dawn", "day", "dusk", "night" (no quotes).
  - Insert multiple 'type' values to cover more instances.
- You can use multiple combinations of types together, like in order to make
  a shop listing that onlappears occurs during winter and at night by using
  the two notetags together.

---

<Shop Price Hour x: y%>
<Shop Price Hours x, x, x: y%>

<Shop Price Weekday x: y%>
<Shop Price Weekdays x, x, x: y%>

<Shop Price Date x: y%>
<Shop Price Dates x, x, x: y%>

<Shop Price Month x: y%>
<Shop Price Months x, x, x: y%>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_ItemsEquipsCore!
- These shop listings will have their (gold only) prices affected by 'y%'
  when it is the specific hour, weekday, date, and/or month.
- This ONLY affects gold prices and does not affect anything else that may
  be added by other plugins such as VisuMZ_2_MoreCurrencies.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- Replace 'y' with a number representing the percent change for the price.
- If multiples of these notetags are used together, the effects will be
  multiplicative.
  - For example, if price drops by 50% at the last hours of the work day,
    and the price also drops by 50% at the last day of the week, then the
    last hours of the last day of the week will have the price drop to 25%.

---

<Shop Price Spring Months: y%>
<Shop Price Summer Months: y%>
<Shop Price Autumn Months: y%>
<Shop Price Winter Months: y%>

<Shop Price Weekdays Only: y%>
<Shop Price Weekends Only: y%>

<Shop Price Dawn Hours: y%>
<Shop Price Day Hours: y%>
<Shop Price Dusk Hours: y%>
<Shop Price Night Hours: y%>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_ItemsEquipsCore!
- These shop listings will have their (gold only) prices affected by 'y%'
  when it is the specific season, weekday type, or day cycle.
- This ONLY affects gold prices and does not affect anything else that may
  be added by other plugins such as VisuMZ_2_MoreCurrencies.
- Replace 'y' with a number representing the percent change for the price.
- If multiples of these notetags are used together, the effects will be
  multiplicative.
  - For example, if price drops by 50% at the dusk hours of the work day,
    and the price also drops by 50% at the weekend, then the dusk hours of a
    weekend will have the price drop to 25%.

---

Skill-Related Notetags

---

<Require Hour x: y%>
<Require Hours x, x, x: y%>

<Require Weekday x: y%>
<Require Weekdays x, x, x: y%>

<Require Date x: y%>
<Require Dates x, x, x: y%>

<Require Month x: y%>
<Require Months x, x, x: y%>

- Used for: Skill Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- These skills can only be used during specific hours, weekdays, dates,
  and/or months.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- You can use multiple combinations of types together, like in order to make
  a skill that can only be used during the first month of the year and the
  first few days of the year by using those specific notetags together.

---

<Require Season: type>
<Require Seasons: type, type, type>

<Require Cycle: type>
<Require Cycle: type, type, type>

- Used for: Skill Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- These skills can only be used during specific seasons or day cycles.
- Replace 'type' with a string representing the season or day cycle type.
  - Seasons are: "spring", "summer", "autumn", "winter" (no quotes).
  - Cycles are: "dawn", "day", "dusk", "night" (no quotes).
  - Insert multiple 'type' values to cover more instances.
- You can use multiple combinations of types together, like in order to make
  a skill that can only be used during winter nights by using those specific
  notetags together.

---

<type Cost If Hour x: y%>
<type Cost If Hours x, x, x: y%>

<type Cost If Weekday x: y%>
<type Cost If Weekdays x, x, x: y%>

<type Cost If Date x: y%>
<type Cost If Dates x, x, x: y%>

<type Cost If Month x: y%>
<type Cost If Months x, x, x: y%>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- This skill's cost 'type' will be affected by 'y%' when it is the specific
  hour, weekday, date, and/or month.
- Replace 'type' with either 'HP', 'MP', or 'TP' to represent the cost type
  that you wish to affect.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- Replace 'y' with a number representing the percent change for the skill
  cost type.
- If multiples of these notetags are used together, the effects will be
  multiplicative.
  - For example, if skill cost drops by 50% at the last hours of the day,
    and the skill cost also drops by 50% at the last day of the week, then
    the last hours of the last day of the week will have the cost drop to
    a multiplicative 25%.

---

<type Cost If Spring Months: y%>
<type Cost If Summer Months: y%>
<type Cost If Autumn Months: y%>
<type Cost If Winter Months: y%>

<type Cost If Weekdays Only: y%>
<type Cost If Weekends Only: y%>

<type Cost If Dawn Hours: y%>
<type Cost If Day Hours: y%>
<type Cost If Dusk Hours: y%>
<type Cost If Night Hours: y%>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- This skill's cost 'type' will be affected by 'y%' when it is the specific
  season, weekday type, or day cycle.
- Replace 'type' with either 'HP', 'MP', or 'TP' to represent the cost type
  that you wish to affect.
- Replace 'y' with a number representing the percent change for the skill
  cost type.
- If multiples of these notetags are used together, the effects will be
  multiplicative.
  - For example, if skill cost drops by 50% at the dusk hours of the day,
    and the skill cost also drops by 50% at the weekend, then the dusk hours
    of a weekend will have the skill cost drop to 25%.

---

<Damage If Hour x: y%>
<Damage If Hours x, x, x: y%>

<Healing If Hour x: y%>
<Healing If Hours x, x, x: y%>

<Damage If Weekday x: y%>
<Damage If Weekdays x, x, x: y%>

<Healing If Weekday x: y%>
<Healing If Weekdays x, x, x: y%>

<Damage If Date x: y%>
<Damage If Dates x, x, x: y%>

<Healing If Date x: y%>
<Healing If Dates x, x, x: y%>

<Damage If Month x: y%>
<Damage If Months x, x, x: y%>

<Healing If Month x: y%>
<Healing If Months x, x, x: y%>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- This skill's damage or healing dealt will be affected by 'y%' when it is
  the specific hour, weekday, date, and/or month.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- Replace 'y' with a number representing the percent change for the skill's
  dealt damage or healing.
- If multiples of these notetags are used together, the effects will be
  multiplicative.
  - For example, if skill damage/healing drops by 50% at the last hours of
    the day, and the skill damage/healing also drops by 50% at the last day
    of the week, then the last hours of the last day of the week will have
    the damage/healing drop to a multiplicative 25%.

---

<Damage If Spring Months: y%>
<Damage If Summer Months: y%>
<Damage If Autumn Months: y%>
<Damage If Winter Months: y%>

<Healing If Spring Months: y%>
<Healing If Summer Months: y%>
<Healing If Autumn Months: y%>
<Healing If Winter Months: y%>

<Damage If Weekdays Only: y%>
<Damage If Weekends Only: y%>

<Healing If Weekdays Only: y%>
<Healing If Weekends Only: y%>

<Damage If Dawn Hours: y%>
<Damage If Day Hours: y%>
<Damage If Dusk Hours: y%>
<Damage If Night Hours: y%>

<Healing If Dawn Hours: y%>
<Healing If Day Hours: y%>
<Healing If Dusk Hours: y%>
<Healing If Night Hours: y%>

- Used for: Item, Weapon, Armor Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- This skill's damage or healing dealt will be affected by 'y%' when it is
  the specific season, weekday type, or day cycle.
- Replace 'y' with a number representing the percent change for the skill
  cost type.
- If multiples of these notetags are used together, the effects will be
  multiplicative.
  - For example, if skill damage/healing drops by 50% at the dusk hours of
    the day, and the skill damage/healing also drops by 50% at the weekend,
    then the dusk hours of a weekend will have the damage/heal drop to 25%.

---

State-Related Notetags

---

<Turns If Hour x: +y>
<Turns If Hour x: -y>

<Turns If Hours x, x, x: +y>
<Turns If Hours x, x, x: -y>

<Turns If Weekday x: +y>
<Turns If Weekday x: -y>

<Turns If Weekdays x, x, x: +y>
<Turns If Weekdays x, x, x: -y>

<Turns If Date x: +y>
<Turns If Date x: -y>

<Turns If Dates x, x, x: +y>
<Turns If Dates x, x, x: -y>

<Turns If Month x: +y>
<Turns If Month x: -y>

<Turns If Months x, x, x: +y>
<Turns If Months x, x, x: -y>

- Used for: State Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- These state durations will have their turn counts affected by '+y' or '-y'
  when it is the specific hour, weekday, date, and/or month.
- Replace 'x' with a number representing the hour, weekday, date, or month.
  - Hours start at 0.
  - Weekdays, dates, and months start at 1.
  - Insert multiple 'x' values to cover more instances.
- Replace 'y' with a number representing the turn count change.
- If multiples of these notetags are used together, the effects will be
  additive.
  - For example, if state's turn count drops by -1 at the last hours of the
    day, and state's turn count also drops by -1 at the last day of the
    week, then the last hours of the last day of the week will have the
    state's turn count drop by -2.

---

<Turns If Spring Months: +y>
<Turns If Spring Months: -y>

<Turns If Summer Months: +y>
<Turns If Summer Months: -y>

<Turns If Autumn Months: +y>
<Turns If Autumn Months: -y>

<Turns If Winter Months: +y>
<Turns If Winter Months: -y>

<Turns If Weekdays Only: +y>
<Turns If Weekdays Only: -y>

<Turns If Weekends Only: +y>
<Turns If Weekends Only: -y>

<Turns If Dawn Hours: +y>
<Turns If Dawn Hours: -y>

<Turns If Day Hours: +y>
<Turns If Day Hours: -y>

<Turns If Dusk Hours: +y>
<Turns If Dusk Hours: -y>

<Turns If Night Hours: +y>
<Turns If Night Hours: -y>

- Used for: State Notetags
- Requires VisuMZ_1_SkillsStatesCore!
- These state durations will have their turn counts affected by '+y' or '-y'
  when it is the specific season, weekday type, or day cycle.
- Replace 'y' with a number representing the turn count change.
- If multiples of these notetags are used together, the effects will be
  additive.
  - For example, if state's turn count drops by -1 at the dusk hours of the
    day, and state's turn count also drops by -1 on weekends, then the dusk
    hours of a weekend day will have the state's turn count drop by -2.

---


Text Codes

ShowTextWindowMZ.png

Text Codes are used in the Show Text event command. They are used to display things that text normally can't produce on its own, such as colors, get the name of a specific actor, change icons, and more.

RPG Maker MZ already comes with text codes of its own:

\V[n] Will be replaced with the value of the nth variable.
\N[n] Will be replaced with the name of the nth actor.
\P[n] Will be replaced by the name of the nth (arranged order) party member.
\G Will be replaced by the currency unit.
\C[n] Draw the subsequent text in the nth color. Text color conforms to the contents of the [Window.png] system image.
\I[n] Draws the nth icon.
\FS[n] Changes the text font size to 'n'.
\{ Increases the text by 1 step.
\} Decreases the text by 1 step.
\\ Replaced with the backslash character.
\$ Open the gold window.
\. Wait for 1/4 second.
\| Wait for 1 second.
\! Wait for button input.
\> Display remaining text on same line all at once.
\< Cancel the effect that displays text all at once.
\^ Do not wait for input after displaying the next.


The following are text codes that you may use with this plugin.

Game Time-Related Text Codes

DateTimeSystem Preview1.gif

---

Text Code Effect (Requires VisuMZ_1_MessageCore)
<GameYear> Returns the Game Time year's number.
<GameYearP> Returns the Game Time year's number twice padded.
<GameMonth> Returns the Game Time month's name.
<GameMonthA> Returns the Game Time month's abbreviated name.
<GameMonthN> Returns the Game Time month's number.
<GameMonthP> Returns the Game Time month's number twice padded.
<GameSeason> Returns the Game Time current season's name.
<GameDate> Returns the Game Time date's number.
<GameDateP> Returns the Game Time date's number twice padded.
<GameWeekday> Returns the Game Time weekday's name.
<GameWeekdayA> Returns the Game Time weekday's abbreviated name.
<GameWeekdayT> Returns the Game Time weekday's type.
<GameHour> Returns the Game Time hour's number.
<GameHourP> Returns the Game Time hour's number twice padded.
<GameHourM> Returns the Game Time military hour's number.
<GameHourP> Returns the Game Time military hour's number padded.
<GameMinute> Returns the Game Time minute's number.
<GameMinuteP> Returns the Game Time minute's number twice padded.
<GameMeridiem> Returns the Game Time meridiem (AM/PM).
<GameDayCycle> Returns the Game Time day cycle.

---

Real Time-Related Text Codes

DateTimeSystem Preview1.gif

---

Text Code Effect (Requires VisuMZ_1_MessageCore)
<RealYear> Returns the Real Time year's number.
<RealYearP> Returns the Real Time year's number twice padded.
<RealMonth> Returns the Real Time month's name.
<RealMonthA> Returns the Real Time month's abbreviated name.
<RealMonthN> Returns the Real Time month's number.
<RealMonthP> Returns the Real Time month's number twice padded.
<RealSeason> Returns the Real Time current season's name.
<RealDate> Returns the Real Time date's number.
<RealDateP> Returns the Real Time date's number twice padded.
<RealWeekday> Returns the Real Time weekday's name.
<RealWeekdayA> Returns the Real Time weekday's abbreviated name.
<RealWeekdayT> Returns the Real Time weekday's type.
<RealHour> Returns the Real Time hour's number.
<RealHourP> Returns the Real Time hour's number twice padded.
<RealHourM> Returns the Real Time military hour's number.
<RealHourP> Returns the Real Time military hour's number padded.
<RealMinute> Returns the Real Time minute's number.
<RealMinuteP> Returns the Real Time minute's number twice padded.
<RealSecond> Returns the Real Time second's number.
<RealSecondP> Returns the Real Time second's number twice padded.
<RealMeridiem> Returns the Real Time meridiem (AM/PM).
<RealDayCycle> Returns the Real Time day cycle.

---


Plugin Commands

PluginCommandsMZ.png

Plugin Commands are event commands that are used to call upon functions added by a plugin that aren't inherently a part of RPG Maker MZ.

Here is a list of Plugin Command(s) that you may use:

---


The following are Plugin Commands that come with this plugin. They can be accessed through the Plugin Command event command.

---

Game Time Plugin Commands

DateTimeSystem Preview1.gif

---

DateTimeSystem Command1.png

Game Time: Change Date To
- Changes the Game Time's date to a specific date.
- Does not affect time. Does NOT affect time.

  Year:
  - Changes Game Time's year to this.
  - You may use JavaScript code.

  Month:
  - Changes Game Time's month to this.
  - You may use JavaScript code.

    Allow Overflow?:
    - If allow overflow, excess months increase year count.
    - If not, excess months are clamped to what's allowed.

  Date:
  - Changes Game Time's date to this.
  - You may use JavaScript code. Overflow is calculated.

    Allow Overflow?:
    - If allow overflow, excess days increase month count.
    - If not, excess days are clamped to what's allowed.

---

DateTimeSystem Command2.png

Game Time: Change Time To
- Changes the Game Time's time to a specific time.
- Does not affect time. CAN affect date and weekday.

  Hour:
  - Changes Game Time's hour to this.
  - You may use JavaScript code. Excess hours changes date.

    Allow Overflow?:
    - If allow overflow, excess hours increase date count.
    - If not, excess hours are clamped to what's allowed.

  Minute:
  - Changes Game Time's minute to this.
  - You may use JavaScript code. Overflow is calculated.

    Allow Overflow?:
    - If allow overflow, excess minutes increase hour count.
    - If not, excess minutes are clamped to what's allowed.

---

DateTimeSystem Command3.png

Game Time: Pause Time Start
- Pauses time from going forward while in Game Time.
- This only pauses Game Time. Events and Timers can still move.

---

DateTimeSystem Command4.png

Game Time: Pause Time End
- Allows Game Time to resume moving.

---

DateTimeSystem Command5.png

Game Time: Record to Variable(s)
- Records game Time data to select variable(s).
- This only records the data for this moment.

  Calendar:

    Year Variable:
    - Select a variable to record the year.
    - Leave at 0 to not use.

    Month Variable:
    - Select a variable to record the month.
    - Leave at 0 to not use.

    Date Variable:
    - Select a variable to record the date.
    - Leave at 0 to not use.

    Full Date Variable:
    - Select a variable to record the full date.
    - Leave at 0 to not use.
    - Result is year + month (2 digits) + date (2 digits)
      - For example, Year 2, Month 4, Date 12 will yield 20412

  Weekday:

    Weekday Variable:
    - Select a variable to record the weekday.
    - Leave at 0 to not use.

  Time:

    Hour Variable:
    - Select a variable to record the hour.
    - Leave at 0 to not use.

    Minute Variable:
    - Select a variable to record the minute.
    - Leave at 0 to not use.

    Full Time Variable:
    - Select a variable to record the full time.
    - Leave at 0 to not use.
    - Result is hour + minutes (2 digits) + seconds (2 digits)
      - For example, Hour 16, Minute 8, Seconds 0 will yield 160800

---

DateTimeSystem Command6.png

Game Time: Time Dilation Change
- Changes how fast it takes for a minute to pass in Game Time.

  MS Per Game Minute:
  - How many milliseconds will count as a game minute?
  - 1000 milliseconds = 1 real life second.

---

DateTimeSystem Command7.png

Game Time: Time Dilation Clear
- Clears the time dilation and changes it back to default settings based on
  Plugin Parameters.

---

Real Time Plugin Commands

DateTimeSystem Preview1.gif

---

DateTimeSystem Command8.png

Real Time: Record to Variable(s)
- Records Real Time data to select variable(s).
- This only records the data for this moment.

  Calendar:

    Year Variable:
    - Select a variable to record the year.
    - Leave at 0 to not use.

    Month Variable:
    - Select a variable to record the month.
    - Leave at 0 to not use.

    Date Variable:
    - Select a variable to record the date.
    - Leave at 0 to not use.

    Full Date Variable:
    - Select a variable to record the full date.
    - Leave at 0 to not use.
    - Result is year + month (2 digits) + date (2 digits)
      - For example, Year 2, Month 4, Date 12 will yield 20412

  Weekday:

    Weekday Variable:
    - Select a variable to record the weekday.
    - Leave at 0 to not use.

  Time:

    Hour Variable:
    - Select a variable to record the hour.
    - Leave at 0 to not use.

    Minute Variable:
    - Select a variable to record the minute.
    - Leave at 0 to not use.

    Second Variable:
    - Select a variable to record the second.
    - Leave at 0 to not use.

    Full Time Variable:
    - Select a variable to record the full time.
    - Leave at 0 to not use.
    - Result is hour + minutes (2 digits) + seconds (2 digits)
      - For example, Hour 16, Minute 8, Seconds 0 will yield 160800

---

HUD Plugin Commands

DateTimeSystem HUD.png

---

DateTimeSystem Command9.png

HUD: Show/Hide
- Makes the Date & Time HUD visible or hidden.
- Does not affect maps with forced hidden notetags.

  Show/Hide?:
  - Shows/hides Date & Time HUD on the map scene.

---


Script Calls

The following are Script Calls that can be used with this plugin. These are made for JavaScript proficient users. We are not responsible if you use them incorrectly or for unintended usage.

---

Date and Time-Related Script Calls

---

TimeManager.getYear()

- Gets the current year.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.

---

TimeManager.getMonth()

- Gets the current month.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - The first month starts at 1.

---

TimeManager.getDate()

- Gets the current date.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - The first date starts at 1.

---

TimeManager.getWeekday()

- Gets the current weekday.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - The first weekday starts at 1.

---

TimeManager.getHour()

- Gets the current hour.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - The first hour starts at 0.

---

TimeManager.getMinute()

TimeManager.getMinuteRaw()

- Gets the current minute.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
  - If you are using Game Time, you may be using the Plugin Parameter called
    "Round Minutes to 10s" where it only shows the minute count for every 10
    minutes. The Raw version will return the actual minute value while the
    non-raw version will show the selected version if enabled.
- Returns a numeric value.
  - The first minute starts at 0.

---

TimeManager.getSecond()

- Gets the current minute.
- Only works for Real Time.
- Game Time does not use seconds and if you use this, you will always get 0.
- Returns a numeric value.
  - The first second starts at 0.

---

TimeManager.checkSeason()

- Checks the current season based on what month it currently is.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - 1 means Spring.
  - 2 means Summer.
  - 3 means Autumn.
  - 4 means Winter.

---

TimeManager.checkWeekdayType()

- Checks the current weekday type based on what weekday it currently is.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - 1 means Weekday.
  - 2 means Weekend.

---

TimeManager.checkDayCycle()

- Checks the current day cycle based on what hour it currently is.
- Works for both Game Time and Real Time.
  - The value received will depend on which mode you're using at the moment.
- Returns a numeric value.
  - 1 means Dawn.
  - 2 means Day.
  - 3 means Dusk.
  - 4 means Night.

---

TimeManager.forceRefreshHUD()

- For the moment you need force the HUD to refresh.
- Does not happen if you're not on the map and/or not using the HUD.

---


Plugin Parameters

Default Settings

DateTimeSystem Preview1.gif

These are the default settings for the plugin that determines time type and time-based screen tones/overlays.

---

Default Settings

DateTimeSystem Param1.png

 Default Map Time Type:
 - What do you want to be the default time system?
 - Change per map with 

DateTimeSystem Param2.png

 Default Map Time Tone:
 - Do maps have time-based screen tones/tints?
 - Can change with <No Time Tone> or 

---


Game Time General Settings

DateTimeSystem HUD.png

DateTimeSystem Param3.png

Here are the general settings regarding Game Time.

---

Starting Data:

 Start Year:
 - What is the number of the starting year?
 Start Month:
 - What is the number of the starting month?
 Start Date:
 - What is the number of the starting date?
 Start Weekday:
 - What is the number of the starting weekday?
 Start Hour:
 - What is the number of the starting hour?
 Start Minute:
 - What is the number of the starting minute?

---

Game Time Mechanics:

 MS Per Game Minute:
 - How many milliseconds will count as a game minute?
 - 1000 milliseconds = 1 real life second.
 Minutes in an Hour:
 - How many minutes are there in an hour?
 - This is for Game Time only.
 Round Minutes to 10s:
 - Rounds the displayed minutes to 10's so they only visually update every
   10 Game Time minutes.
 Hours in a Day:
 - How many hours are there in a day? This is for Game Time only.
 JS: Check Leap Year:
 - Code used to determine how a year is considered a leap year.

---

Pause Conditions:

 If Event Running:
 - Pauses Game Time update if an event is running?
 - Doesn't apply to Parallels. Applies to Autorun.
 If Forced Player Move:
 - Pauses Game Time update if player movement is forced?
 - Doesn't apply to Parallels. Applies to Autorun.
 If Gather Followers:
 - Pauses Game Time update if followers are gathering?
 - Doesn't apply to Parallels. Applies to Autorun.
 If Vehicle Entry/Exit:
 - Pauses Game Time update if followers are gathering?
 - Doesn't apply to Parallels. Applies to Autorun.

---

Month Structure:

 List of Months:
 - Here, adjust the in-game months for Game Time.
 - Months will occur in the order they're in.
   Name:
   - What is the name of the month?
   Abbreviation:
   - What is the abbreviation of this month?
   Total Days:
   - How many days are there in this month?
     Leap Month?:
     - Is this month a leap month?
     - It'll get an extra day each leap year.
   Season:
   - What season is this month a part of?
     - Spring
     - Summer
     - Autumn
     - Winter


---

Weekday Structure:

 List of Weekdays:
 - Here, adjust the in-game weekdays for Game Time.
 - Weekdays will occur in the order they're in.
   Name:
   - What is the name of this weekday?
   Abbreviation:
   - What is the abbreviation of this weekday?
   Weekday Type:
   - Is this day part of the weekdays or weekend?
     - Weekday
     - Weekend

---

Day Structure:

 Dawn Hours:
 - What hours are considered "Dawn" hours?
 - This is for Game Time only.
 Day Hours:
 - What hours are considered "Day" hours?
 - This is for Game Time only.
 Dusk Hours:
 - What hours are considered "Dusk" hours?
 - This is for Game Time only.
 Night Hours:
 - What hours are considered "Night" hours?
 - This is for Game Time only.

---


Game Time Tone Settings

DateTimeSystem Preview1.gif

DateTimeSystem Param4.png

These settings determine the screen tones used for Game Time and will occur the order the hours appear.

---

Tone Settings

 Tone:
 - What tone/tint is used for various Game Time hours?
 - Format: [Red, Green, Blue, Gray]. Starts at 0:00.

---


Game Time Overlay Settings

DateTimeSystem Preview1.gif

DateTimeSystem Param5.png

These settings determine the screen tones used for Game Time and will occur the order the hours appear.

Requires VisuMZ_2_LightingEffects!

---

Overlay Settings

 Overlay:
 - What overlay is used for this hour? Starts at 0:00.
 - Format: #rrggbb.
 - Requires VisuMZ_2_LightingEffects!

---


Game Time Variables & Switches

DateTimeSystem HUD.png

DateTimeSystem Param6.png

Adjust the variables and switches that record data here. These will be automatically updated upon time changes.

---

Calendar:

 Year Variable:
 - Select a variable to record the year.
 - Leave at 0 to not use.
 Month Variable:
 - Select a variable to record the month.
 - Leave at 0 to not use.
 Date Variable:
 - Select a variable to record the date.
 - Leave at 0 to not use.
 Full Date Variable:
 - Select a variable to record the full date.
 - Leave at 0 to not use.
 - Result is year + month (2 digits) + date (2 digits)
   - For example, Year 2, Month 4, Date 12 will yield 20412

---

Weekday:

 Weekday Variable:
 - Select a variable to record the weekday.
 - Leave at 0 to not use.

---

Time:

 Hour Variable:
 - Select a variable to record the hour.
 - Leave at 0 to not use.
 Minute Variable:
 - Select a variable to record the minute.
 - Leave at 0 to not use.
 Second Variable:
 - Select a variable to record the second.
 - Leave at 0 to not use.
 - Not available for Game Time.
 Full Time Variable:
 - Select a variable to record the full time.
 - Leave at 0 to not use.
 - Result is hour + minutes (2 digits) + seconds (2 digits)
   - For example, Hour 16, Minute 8, Seconds 0 will yield 160800

---

Seasons:

 Spring Switch:
 - Turns on when season is a "Spring" month.
 - Leave at 0 to not use.
 Summer Switch:
 - Turns on when season is a "Summer" month.
 - Leave at 0 to not use.
 Autumn Switch:
 - Turns on when season is a "Autumn" month.
 - Leave at 0 to not use.
 Winter Switch:
 - Turns on when season is a "Winter" month.
 - Leave at 0 to not use.

---

Days:

 Weekday Switch:
 - Turns on when day is "Weekday". Leave at 0 to not use.
 Weekend Switch:
 - Turns on when day is "Weekend". Leave at 0 to not use.

---

Hours:

 Dawn Switch:
 - Turns on when time is "Dawn" hours. Leave at 0 to not use.
 Day Switch:
 - Turns on when time is "Day" hours. Leave at 0 to not use.
 Dusk Switch:
 - Turns on when time is "Dusk" hours. Leave at 0 to not use.
 Night Switch:
 - Turns on when time is "Night" hours. Leave at 0 to not use.

---


Game Time Vocabulary Settings

DateTimeSystem HUD.png

DateTimeSystem Param7.png

Here are the vocabulary-related terms involving Game Time.

---

Seasons:

 Spring:
 - How "Spring" is displayed.
 Summer:
 - How "Summer" is displayed.
 Autumn:
 - How "Autumn" is displayed.
 Winter:
 - How "Winter" is displayed.

---

Weekday Type:

 Weekday:
 - How "Weekday" is displayed.
 Weekend:
 - how "Weekend" is displayed.

---

Time-Related:

 Meridiem:
   Ante Meridiem:
   - How "Ante Meridiem" is displayed.
   Post Meridiem:
   - How "Post Meridiem" is displayed.

---

Day Cycle:

 Dawn:
 - How "Dawn" is displayed.
 Day:
 - How "Day" is displayed.
 Dusk:
 - How "Dusk" is displayed.
 Night:
 - How "Night" is displayed.

---


Real Time General Settings

DateTimeSystem Preview1.gif

DateTimeSystem Param8.png

Here are the general settings regarding Real Time.

---

Seasonal Months:

 Spring Months:
 - Which Real Time months are Spring months for this game?
 Summer Months:
 - Which Real Time months are Summer months for this game?
 Autumn Months:
 - Which Real Time months are Autumn months for this game?
 Winter Months:
 - Which Real Time months are Winter months for this game?

---

Week Structure:

 Weekdays:
 - Which Real Time weekdays are considered "Weekdays"?
 Weekends:
 - Which Real Time weekdays are considered "Weekends"?

---

Day Structure:

 Dawn Hours:
 - What hours are considered "Dawn" hours?
 - Use military time.
 Day Hours:
 - What hours are considered "Day" hours?
 - Use military time.
 Dusk Hours:
 - What hours are considered "Dusk" hours?
 - Use military time.
 Night Hours:
 - What hours are considered "Night" hours?
 - Use military time.

---

VisuMZ_1_SaveCore:

 Difference Variable:
 - Select a variable that records the time difference from the last save
   game and the current load game in minutes.

---


Real Time Tones & Overlay Settings

DateTimeSystem Preview1.gif

DateTimeSystem Param9.png

Adjust the tones and overlay settings to change what color the screen will appear based on the time of day.

---

Screen Tones/Tints

 00:00 / 12 AM to 23:00 / 11 PM:
 - What tone/tint is used for this hour?
 - Format: [Red, Green, Blue, Gray]

---

Screen Overlay

 00:00 / 12 AM to 23:00 / 11 PM:
 - What overlay is used for this hour?
 - Format: #rrggbb.
 - Requires VisuMZ_2_LightingEffects!

---


Real Time Variables & Switches

DateTimeSystem HUD.png

DateTimeSystem Param10.png

Adjust the variables and switches that record data here. These will be automatically updated upon time changes.

---

Calendar:

 Year Variable:
 - Select a variable to record the year.
 - Leave at 0 to not use.
 Month Variable:
 - Select a variable to record the month.
 - Leave at 0 to not use.
 Date Variable:
 - Select a variable to record the date.
 - Leave at 0 to not use.
 Full Date Variable:
 - Select a variable to record the full date.
 - Leave at 0 to not use.
 - Result is year + month (2 digits) + date (2 digits)
   - For example, Year 2, Month 4, Date 12 will yield 20412

---

Weekday:

 Weekday Variable:
 - Select a variable to record the weekday.
 - Leave at 0 to not use.

---

Time:

 Hour Variable:
 - Select a variable to record the hour.
 - Leave at 0 to not use.
 Minute Variable:
 - Select a variable to record the minute.
 - Leave at 0 to not use.
 Second Variable:
 - Select a variable to record the second.
 - Leave at 0 to not use.
 - Not available for Game Time.
 Full Time Variable:
 - Select a variable to record the full time.
 - Leave at 0 to not use.
 - Result is hour + minutes (2 digits) + seconds (2 digits)
   - For example, Hour 16, Minute 8, Seconds 0 will yield 160800

---

Seasons:

 Spring Switch:
 - Turns on when season is a "Spring" month.
 - Leave at 0 to not use.
 Summer Switch:
 - Turns on when season is a "Summer" month.
 - Leave at 0 to not use.
 Autumn Switch:
 - Turns on when season is a "Autumn" month.
 - Leave at 0 to not use.
 Winter Switch:
 - Turns on when season is a "Winter" month.
 - Leave at 0 to not use.

---

Days:

 Weekday Switch:
 - Turns on when day is "Weekday". Leave at 0 to not use.
 Weekend Switch:
 - Turns on when day is "Weekend". Leave at 0 to not use.

---

Hours:

 Dawn Switch:
 - Turns on when time is "Dawn" hours. Leave at 0 to not use.
 Day Switch:
 - Turns on when time is "Day" hours. Leave at 0 to not use.
 Dusk Switch:
 - Turns on when time is "Dusk" hours. Leave at 0 to not use.
 Night Switch:
 - Turns on when time is "Night" hours. Leave at 0 to not use.

---


Real Time Vocabulary Settings

DateTimeSystem HUD.png

DateTimeSystem Param11.png

Here are the vocabulary-related terms involving Real Time.

---

Month Names:

 Full Names:
   Month 1 to 12:
   - Name of this month.
 Abbreviations:
   Month 1 to 12:
   - Abbreviation of this month.

---

Seasons:

 Spring:
 Summer:
 Autumn:
 Winter:
 - How this season is displayed.

---

Weekday Names:

 Full Names:
   Weekday 1 to Weekday 7:
   - Name of this weekday.
 Abbreviation:
   Weekday 1 to Weekday 7:
   - Abbreviation of this weekday.
 Weekday Type:
   Weekday:
   Weekend:
   - How "Weekday/end" is displayed.

---

Time-Related:

 Meridiem:
   Ante Meridiem:
   Post Meridiem:
   - How "Ante/Post Meridiem" is displayed.
 Day Cycle:
   Dawn:
   Day:
   Dusk:
   Night:
   - How "Dawn", "Day", "Dusk", "Night" is displayed.

---


Date/Time HUD Sprites

DateTimeSystem HUD.png

DateTimeSystem Param12.png

These settings let you adjust the HUD sprites displayed for this plugin.

---

General:

 Enabled?:
 - Enables usage of the Date/Time HUD.
 Show by Default:
 - Sets up default visibility of the Date/Time HUD.
 - Individual maps can be adjusted by notetags.
 Opacity Speed:
 - How fast does fade in/out work?
 - Lower is slower. Higher is faster.

---

Position:

 Position X:
 - How much to position the HUD's X by.
 - Negative: left. Positive: right.
 Position Y:
 - How much to position the HUD's Y by.
 - Negative: up. Positive: down.

---

Season Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Opacity:
 - What is the default opacity for this sprite?
 - Use a value between 0 and 255.
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 Scale:
   Scale X:
   - What is the scale used for this sprite icon's X?
   - 0.0 - 0%; 0.5 - 50%; 1.0 - 100%; 1.5 - 150%; 2.0 - 200%
   Scale Y:
   - What is the scale used for this sprite icon's Y?
   - 0.0 - 0%; 0.5 - 50%; 1.0 - 100%; 1.5 - 150%; 2.0 - 200%
 Icons:
   Spring Icon:
   Summer Icon:
   Autumn Icon:
   Winter Icon:
   - What icon is used for this months?
   - Ignore if there is an image equivalent.
 Images:
   Spring Image:
   Summer Image:
   Autumn Image:
   Winter Image:
   - What image is used for spring months?
   - Ignores any icon equivalents.

---

DayCycle Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Opacity:
 - What is the default opacity for this sprite?
 - Use a value between 0 and 255.
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 Scale:
   Scale X:
   - What is the scale used for this sprite icon's X?
   - 0.0 - 0%; 0.5 - 50%; 1.0 - 100%; 1.5 - 150%; 2.0 - 200%
   Scale Y:
   - What is the scale used for this sprite icon's Y?
   - 0.0 - 0%; 0.5 - 50%; 1.0 - 100%; 1.5 - 150%; 2.0 - 200%
 Icons:
   Dawn Icon:
   Day Icon:
   Dusk Icon:
   Night Icon:
   - What icon is used for these day cycle hours?
   - Ignore if there is an image equivalent.
 Images:
   Dawn Image:
   Day Image:
   Dusk Image:
   Night Image:
   - What image is used for these day cycle hours?
   - Ignores any icon equivalents.

---

Weekday Type Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Opacity:
 - What is the default opacity for this sprite?
 - Use a value between 0 and 255.
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 Scale:
   Scale X:
   - What is the scale used for this sprite icon's X?
   - 0.0 - 0%; 0.5 - 50%; 1.0 - 100%; 1.5 - 150%; 2.0 - 200%
   Scale Y:
   - What is the scale used for this sprite icon's Y?
   - 0.0 - 0%; 0.5 - 50%; 1.0 - 100%; 1.5 - 150%; 2.0 - 200%
 Icons:
   Weekday Icon:
   Weekend Icon:
   - What icon is used for weekdays?
   - Ignore if there is an image equivalent.
 Images:
   Weekday Image:
   Weekend Image:
   - What image is used for weekdays?
   - Ignores any icon equivalents.

---

Year Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Angle:
 - What is the angle used for this sprite?
 - Value is written in degrees.
 Year Format:
 - How is the year written when it's less than 4 digits?
 - %1 - Current Year
 Size:
   Width:
   - What is the width of this sprite in pixels?
   Height:
   - What is the height of this sprite in pixels?
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 JS: Draw Text:
 - Code used to draw the text for this sprite.

---

Month Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Angle:
 - What is the angle used for this sprite?
 - Value is written in degrees.
 Size:
   Width:
   - What is the width of this sprite in pixels?
   Height:
   - What is the height of this sprite in pixels?
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 JS: Draw Text:
 - Code used to draw the text for this sprite.

---

Date Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Angle:
 - What is the angle used for this sprite?
 - Value is written in degrees.
 Size:
   Width:
   - What is the width of this sprite in pixels?
   Height:
   - What is the height of this sprite in pixels?
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 JS: Draw Text:
 - Code used to draw the text for this sprite.

---

Weekday Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Angle:
 - What is the angle used for this sprite?
 - Value is written in degrees.
 Size:
   Width:
   - What is the width of this sprite in pixels?
   Height:
   - What is the height of this sprite in pixels?
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 JS: Draw Text:
 - Code used to draw the text for this sprite.

---

Time Sprite:

 Enabled?:
 - Enables usage of this sprite.
 Angle:
 - What is the angle used for this sprite?
 - Value is written in degrees.
 Size:
   Width:
   - What is the width of this sprite in pixels?
   Height:
   - What is the height of this sprite in pixels?
 Anchor:
   Anchor X:
   - Anchor X value for this sprite.
   - 0.0 - left; 0.5 - center; 1.0 - right
   Anchor Y:
   - Anchor Y value for this sprite.
   - 0.0 - top; 0.5 - middle; 1.0 - bottom
 Offset:
   Offset X:
   - How much to offset this sprite's X by.
   - Negative: left. Positive: right.
   Offset Y:
   - How much to offset this sprite's Y by.
   - Negative: up. Positive: down.
 JS: Draw Text:
 - Code used to draw the text for this sprite.

---


Date/Time HUD Options Settings

DateTimeSystem HUD.png

DateTimeSystem Param13.png

Options settings for the Date & Time System.

---

Options:

 Add Option?:
 - Add the 'Date Time HUD' option to the Options menu?
 Adjust Window Height:
 - Automatically adjust the options window height?
 Option Name:
 - Command name of the option.

---



Terms of Use

1. These plugins may be used in free or commercial games provided that they have been acquired through legitimate means at VisuStella.com and/or any other official approved VisuStella sources. Exceptions and special circumstances that may prohibit usage will be listed on VisuStella.com.

2. All of the listed coders found in the Credits section of this plugin must be given credit in your games or credited as a collective under the name: "VisuStella".

3. You may edit the source code to suit your needs, so long as you do not claim the source code belongs to you. VisuStella also does not take responsibility for the plugin if any changes have been made to the plugin's code, nor does VisuStella take responsibility for user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow custom JavaScript code.

4. You may NOT redistribute these plugins nor take code from this plugin to use as your own. These plugins and their code are only to be downloaded from VisuStella.com and other official/approved VisuStella sources. A list of official/approved sources can also be found on VisuStella.com.

5. VisuStella is not responsible for problems found in your game due to unintended usage, incompatibility problems with plugins outside of the VisuStella MZ library, plugin versions that aren't up to date, nor responsible for the proper working of compatibility patches made by any third parties. VisuStella is not responsible for errors caused by any user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow JavaScript code.

6. If a compatibility patch needs to be made through a third party that is unaffiliated with VisuStella that involves using code from the VisuStella MZ library, contact must be made with a member from VisuStella and have it approved. The patch would be placed on VisuStella.com as a free download to the public. Such patches cannot be sold for monetary gain, including commissions, crowdfunding, and/or donations.

7. If this VisuStella MZ plugin is a paid product, all project team members must purchase their own individual copies of the paid product if they are to use it. Usage includes working on related game mechanics, managing related code, and/or using related Plugin Commands and features. Redistribution of the plugin and/or its code to other members of the team is NOT allowed unless they own the plugin itself as that conflicts with Article 4.

8. Any extensions and/or addendums made to this plugin's Terms of Use can be found on VisuStella.com and must be followed.

Terms of Use: Japanese


『VisuStella MZ』利用規約

1. これらのプラグインは、VisuStella.comおよび/または公式に承認されたVisuStellaのソースから合法的な手段で入手したものである限り、フリーゲームや商用ゲームに使用することができます。例外的に使用が禁止される場合については、VisuStella.comの記載をご確認ください。

2. 本プラグインの「クレジット」部分に記載されているすべてのコーダーの名前は、ゲーム内にクレジット表記を行うか、もしくは「VisuStella」という名前の下にまとめて表記する必要があります。

3. ソースコードを自分のものだと主張しない限りは、必要に応じて編集することが可能です。ただしプラグインのコードに変更が加えられた場合、VisuStellaはそのプラグインに対して一切の責任を負いません。高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードについても、VisuStellaは一切の責任を負いません。

4. これらのプラグインやプラグイン内のコードを、「自分のもの」として再配布したり使用したりすることはできません。これらのプラグインとそのコードは、VisuStella.comおよび、その他の公式/承認済みVisuStellaソースからのみダウンロードすることができます。公式/承認済みのソースのリストは、VisuStella.comでご確認いただけます。

5. VisuStellaは、意図しない使用方法による問題、VisuStella MZライブラリ以外のプラグインとの非互換性の問題、プラグインのバージョンが最新でないことによる問題、第三者による互換性パッチが適切に動作していないことなどが原因でゲーム内で発生した問題については、一切の責任を負いません。VisuStellaは、高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードに起因するエラーについても、一切の責任を負いません。

6. VisuStella MZライブラリのコードを使用した互換性パッチをVisuStellaとは関係のない第三者を通じて作成する必要がある場合は、まずVisuStellaのメンバーと連絡を取り、承認を得る必要があります。パッチはVisuStella.comに公開され、誰でも無料でダウンロードすることができるようになります。このようなパッチを、制作発注やクラウドファンディングの対象にしたり、寄付などの金銭的な利益を得るために販売することはできません。

7. このVisuStella MZプラグインが商用製品である場合、プロジェクトチームのすべてのメンバーは、それを使用するため、それぞれ製品を購入しなければなりません。使用方法には、関連するゲームメカニクスの作業、関連するコードの管理、および/または関連するプラグインコマンドや機能の使用、が含まれます。プラグインそのものやそのコードをチームの他のメンバーに再配布することは第4項に抵触するため、そのメンバーがプラグインそのものを所有していない限りは許可されません。

8. このプラグインの利用規約の追加項目や補足については、VisuStella.comに掲載されていますので、それを参照し従ってください。


Credits

If you are using this plugin, credit the following people in your game:

Team VisuStella


Changelog

Version 1.02: April 18, 2024

  • Bug Fixes!
    • Fixed a bug where "Show by Default" plugin parameter did not register. Fix made by Olivia.
  • Feature Update!
    • Default option state for the Date & Time HUD will be true for those not using the Options Core. Update by Olivia.


Version 1.01: February 15, 2024

  • Bug Fixes!
    • Fixed a bug that would cause a crash when using Real Time and skip title. Fix made by Irina.
    • Fixed a bug where seasonal tilesets could cause a crash. Fix by Irina.


Version 1.00 Official Release Date: February 19, 2024

  • Finished Plugin!

See Also


End of Helpfile