-
-
{{ record.title }}
-
-
{{ record.artist }}
+
+
-
-
{{ difficultyName[record.raw[4]] }}
+
+
+
{{ record.raw.score }}
+ {{ record.raw.atn_pnt / 100 }}%
+ {{ difficultyName[record.raw.difficulty] }}
+
+
+
+
+ COOL |
+ {{ record.raw.cool }} |
+
+
+ FINE |
+ {{ record.raw.fine }} |
+
+
+ SAFE |
+ {{ record.raw.safe }} |
+
+
+ SAD |
+ {{ record.raw.sad }} |
+
+
+ WORST |
+ {{ record.raw.worst }} |
+
+
+
+
+
{{ record.raw.max_combo }}
+ {% if record.raw.clr_kind == -1 %}
+ {{ clearState[0] }}
+ {% elif record.raw.clr_kind == 2 %}
+ {{ clearState[1] }}
+ {% elif record.raw.clr_kind == 3 %}
+ {{ clearState[2] }}
+ {% elif record.raw.clr_kind == 4 %}
+ {{ clearState[3] }}
+ {% elif record.raw.clr_kind == 5 %}
+ {{ clearState[4] }}
+ {% endif %}
+ {% if record.raw.clr_kind == -1 %}
+ NOT CLEAR
+ {% else %}
+ CLEAR
+ {% endif %}
+
+
{% endfor %}
--
2.39.2
From a6ca1b33928aaffa051668385fd0fd9679a2fdf9 Mon Sep 17 00:00:00 2001
From: = <=>
Date: Mon, 17 Jun 2024 22:23:53 +0200
Subject: [PATCH 6/8] Changed return from full result to just True or False
---
titles/diva/schema/profile.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/titles/diva/schema/profile.py b/titles/diva/schema/profile.py
index 06e20be..10d3b51 100644
--- a/titles/diva/schema/profile.py
+++ b/titles/diva/schema/profile.py
@@ -90,7 +90,7 @@ class DivaProfileData(BaseData):
return None
return result.lastrowid
- async def update_profile(self, aime_id: int, **profile_args) -> None:
+ async def update_profile(self, aime_id: int, **profile_args) -> bool:
"""
Given an aime_id update the profile corresponding to the arguments
which are the diva_profile Columns
@@ -102,7 +102,9 @@ class DivaProfileData(BaseData):
self.logger.error(
f"update_profile: failed to update profile! profile: {aime_id}"
)
- return result
+ return False
+
+ return True
async def get_profile(self, aime_id: int, version: int) -> Optional[List[Dict]]:
"""
--
2.39.2
From e0e63a9a13070d271e0f01dfdf5d033ac5a3d978 Mon Sep 17 00:00:00 2001
From: = <=>
Date: Sun, 30 Jun 2024 00:23:10 +0200
Subject: [PATCH 7/8] configurable festa options
---
changelog.md | 4 ++++
docs/game_specific_info.md | 12 ++++++++----
example_config/diva.yaml | 4 ++++
titles/diva/base.py | 11 ++++++++---
titles/diva/config.py | 23 +++++++++++++++++++++++
5 files changed, 47 insertions(+), 7 deletions(-)
diff --git a/changelog.md b/changelog.md
index 8148a9d..08b5b6d 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,10 @@
# Changelog
Documenting updates to ARTEMiS, to be updated every time the master branch is pushed to.
+## 20240630
+### DIVA
++ Added configurable festa options
+
## 20240620
### CHUNITHM
+ CHUNITHM LUMINOUS support
diff --git a/docs/game_specific_info.md b/docs/game_specific_info.md
index 53c076c..158930e 100644
--- a/docs/game_specific_info.md
+++ b/docs/game_specific_info.md
@@ -255,10 +255,14 @@ the Shop, Modules and Customizations.
Config file is located in `config/diva.yaml`.
-| Option | Info |
-| -------------------- | ----------------------------------------------------------------------------------------------- |
-| `unlock_all_modules` | Unlocks all modules (costumes) by default, if set to `False` all modules need to be purchased |
-| `unlock_all_items` | Unlocks all items (customizations) by default, if set to `False` all items need to be purchased |
+| Option | Info |
+| -------------------- | ------------------------------------------------------------------------------------------------ |
+| `festaEnable` | Enable or disable the ingame festa |
+| `festaAddVP` | Set the extra VP you get when clearing a song, if festa is not enabled no extra VP will be given |
+| `festaMultiplyVP` | Multiplier for festa add VP |
+| `festaEndTime` | Set the date time for when festa will end and not show up in game anymore |
+| `unlock_all_modules` | Unlocks all modules (costumes) by default, if set to `False` all modules need to be purchased |
+| `unlock_all_items` | Unlocks all items (customizations) by default, if set to `False` all items need to be purchased |
### Custom PV Lists (databanks)
diff --git a/example_config/diva.yaml b/example_config/diva.yaml
index ad1842a..465ab93 100644
--- a/example_config/diva.yaml
+++ b/example_config/diva.yaml
@@ -1,6 +1,10 @@
server:
enable: True
loglevel: "info"
+ festaEnable: True
+ festaAddVP: "20,5"
+ festaMultiplyVP: "1,2"
+ festaEndTime: "2029-01-01 00:00:00.0"
mods:
unlock_all_modules: True
diff --git a/titles/diva/base.py b/titles/diva/base.py
index 3b96848..e07c81d 100644
--- a/titles/diva/base.py
+++ b/titles/diva/base.py
@@ -264,6 +264,11 @@ class DivaBase:
return response
async def handle_festa_info_request(self, data: Dict) -> Dict:
+ if self.game_config.server.festaEnable:
+ festa_end_time = self.game_config.server.festaEndTime
+ else:
+ festa_end_time = (datetime.datetime.now() + datetime.timedelta(days=365*2)).strftime("%Y-%m-%d %H:%M:%S") + ".0"
+
encoded = "&"
params = {
"fi_id": "1,2",
@@ -273,10 +278,10 @@ class DivaBase:
"fi_difficulty": "-1,-1",
"fi_pv_id_lst": "ALL,ALL",
"fi_attr": "7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
- "fi_add_vp": "20,5",
- "fi_mul_vp": "1,2",
+ "fi_add_vp": f"{self.game_config.server.festaAddVP}",
+ "fi_mul_vp": f"{self.game_config.server.festaMultiplyVP}",
"fi_st": "2019-01-01 00:00:00.0,2019-01-01 00:00:00.0",
- "fi_et": "2029-01-01 00:00:00.0,2029-01-01 00:00:00.0",
+ "fi_et": f"{festa_end_time},{festa_end_time}",
"fi_lut": "{self.time_lut}",
}
diff --git a/titles/diva/config.py b/titles/diva/config.py
index efa327e..269041a 100644
--- a/titles/diva/config.py
+++ b/titles/diva/config.py
@@ -19,6 +19,29 @@ class DivaServerConfig:
)
)
+ @property
+ def festaEnable(self) -> bool:
+ return CoreConfig.get_config_field(
+ self.__config, "diva", "server", "festaEnable", default=True
+ )
+
+ @property
+ def festaAddVP(self) -> str:
+ return CoreConfig.get_config_field(
+ self.__config, "diva", "server", "festaAddVP", default="20,5"
+ )
+
+ @property
+ def festaMultiplyVP(self) -> str:
+ return CoreConfig.get_config_field(
+ self.__config, "diva", "server", "festaMultiplyVP", default="1,2"
+ )
+
+ @property
+ def festaEndTime(self) -> str:
+ return CoreConfig.get_config_field(
+ self.__config, "diva", "server", "festaEndTime", default="2029-01-01 00:00:00.0"
+ )
class DivaModsConfig:
def __init__(self, parent_config: "DivaConfig") -> None:
--
2.39.2
From 97e1d5da058953491cc71cd54359e4cfdbbb2bda Mon Sep 17 00:00:00 2001
From: = <=>
Date: Sun, 30 Jun 2024 12:54:44 +0200
Subject: [PATCH 8/8] fix disable. Fix casing in options
---
docs/game_specific_info.md | 8 ++++----
example_config/diva.yaml | 8 ++++----
titles/diva/base.py | 10 +++++-----
titles/diva/config.py | 16 ++++++++--------
4 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/docs/game_specific_info.md b/docs/game_specific_info.md
index ecd92e2..33d5710 100644
--- a/docs/game_specific_info.md
+++ b/docs/game_specific_info.md
@@ -271,10 +271,10 @@ Config file is located in `config/diva.yaml`.
| Option | Info |
| -------------------- | ------------------------------------------------------------------------------------------------ |
-| `festaEnable` | Enable or disable the ingame festa |
-| `festaAddVP` | Set the extra VP you get when clearing a song, if festa is not enabled no extra VP will be given |
-| `festaMultiplyVP` | Multiplier for festa add VP |
-| `festaEndTime` | Set the date time for when festa will end and not show up in game anymore |
+| `festa_enable` | Enable or disable the ingame festa |
+| `festa_add_VP` | Set the extra VP you get when clearing a song, if festa is not enabled no extra VP will be given |
+| `festa_multiply_VP` | Multiplier for festa add VP |
+| `festa_end_time` | Set the date time for when festa will end and not show up in game anymore |
| `unlock_all_modules` | Unlocks all modules (costumes) by default, if set to `False` all modules need to be purchased |
| `unlock_all_items` | Unlocks all items (customizations) by default, if set to `False` all items need to be purchased |
diff --git a/example_config/diva.yaml b/example_config/diva.yaml
index 465ab93..7b8bdcb 100644
--- a/example_config/diva.yaml
+++ b/example_config/diva.yaml
@@ -1,10 +1,10 @@
server:
enable: True
loglevel: "info"
- festaEnable: True
- festaAddVP: "20,5"
- festaMultiplyVP: "1,2"
- festaEndTime: "2029-01-01 00:00:00.0"
+ festa_enable: True
+ festa_add_VP: "20,5"
+ festa_multiply_VP: "1,2"
+ festa_end_time: "2029-01-01 00:00:00.0"
mods:
unlock_all_modules: True
diff --git a/titles/diva/base.py b/titles/diva/base.py
index e07c81d..be7a241 100644
--- a/titles/diva/base.py
+++ b/titles/diva/base.py
@@ -264,10 +264,10 @@ class DivaBase:
return response
async def handle_festa_info_request(self, data: Dict) -> Dict:
- if self.game_config.server.festaEnable:
- festa_end_time = self.game_config.server.festaEndTime
+ if self.game_config.server.festa_enable:
+ festa_end_time = self.game_config.server.festa_end_time
else:
- festa_end_time = (datetime.datetime.now() + datetime.timedelta(days=365*2)).strftime("%Y-%m-%d %H:%M:%S") + ".0"
+ festa_end_time = (datetime.datetime.now() - datetime.timedelta(days=365)).strftime("%Y-%m-%d %H:%M:%S") + ".0"
encoded = "&"
params = {
@@ -278,8 +278,8 @@ class DivaBase:
"fi_difficulty": "-1,-1",
"fi_pv_id_lst": "ALL,ALL",
"fi_attr": "7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
- "fi_add_vp": f"{self.game_config.server.festaAddVP}",
- "fi_mul_vp": f"{self.game_config.server.festaMultiplyVP}",
+ "fi_add_vp": f"{self.game_config.server.festa_add_VP}",
+ "fi_mul_vp": f"{self.game_config.server.festa_multiply_VP}",
"fi_st": "2019-01-01 00:00:00.0,2019-01-01 00:00:00.0",
"fi_et": f"{festa_end_time},{festa_end_time}",
"fi_lut": "{self.time_lut}",
diff --git a/titles/diva/config.py b/titles/diva/config.py
index 269041a..48b5c0f 100644
--- a/titles/diva/config.py
+++ b/titles/diva/config.py
@@ -20,27 +20,27 @@ class DivaServerConfig:
)
@property
- def festaEnable(self) -> bool:
+ def festa_enable(self) -> bool:
return CoreConfig.get_config_field(
- self.__config, "diva", "server", "festaEnable", default=True
+ self.__config, "diva", "server", "festa_enable", default=True
)
@property
- def festaAddVP(self) -> str:
+ def festa_add_VP(self) -> str:
return CoreConfig.get_config_field(
- self.__config, "diva", "server", "festaAddVP", default="20,5"
+ self.__config, "diva", "server", "festa_add_VP", default="20,5"
)
@property
- def festaMultiplyVP(self) -> str:
+ def festa_multiply_VP(self) -> str:
return CoreConfig.get_config_field(
- self.__config, "diva", "server", "festaMultiplyVP", default="1,2"
+ self.__config, "diva", "server", "festa_multiply_VP", default="1,2"
)
@property
- def festaEndTime(self) -> str:
+ def festa_end_time(self) -> str:
return CoreConfig.get_config_field(
- self.__config, "diva", "server", "festaEndTime", default="2029-01-01 00:00:00.0"
+ self.__config, "diva", "server", "festa_end_time", default="2029-01-01 00:00:00.0"
)
class DivaModsConfig:
--
2.39.2