mirror of
https://gitea.tendokyu.moe/Hay1tsme/artemis.git
synced 2026-02-04 14:47:29 +08:00
Merge branch 'develop' into develop
This commit is contained in:
@@ -952,6 +952,31 @@ class ChuniBase:
|
||||
rating_type,
|
||||
upsert[rating_type],
|
||||
)
|
||||
|
||||
# added in LUMINOUS
|
||||
if "userCMissionList" in upsert:
|
||||
for cmission in upsert["userCMissionList"]:
|
||||
mission_id = cmission["missionId"]
|
||||
|
||||
await self.data.item.put_cmission(
|
||||
user_id,
|
||||
{
|
||||
"missionId": mission_id,
|
||||
"point": cmission["point"],
|
||||
},
|
||||
)
|
||||
|
||||
for progress in cmission["userCMissionProgressList"]:
|
||||
await self.data.item.put_cmission_progress(user_id, mission_id, progress)
|
||||
|
||||
if "userNetBattleData" in upsert:
|
||||
net_battle = upsert["userNetBattleData"][0]
|
||||
|
||||
# fix the boolean
|
||||
net_battle["isRankUpChallengeFailed"] = (
|
||||
False if net_battle["isRankUpChallengeFailed"] == "false" else True
|
||||
)
|
||||
await self.data.profile.put_net_battle(user_id, net_battle)
|
||||
|
||||
return {"returnCode": "1"}
|
||||
|
||||
@@ -980,4 +1005,4 @@ class ChuniBase:
|
||||
return {
|
||||
"userId": data["userId"],
|
||||
"userNetBattleData": {"recentNBSelectMusicList": []},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class ChuniConstants:
|
||||
GAME_CODE = "SDBT"
|
||||
GAME_CODE_NEW = "SDHD"
|
||||
@@ -20,6 +23,7 @@ class ChuniConstants:
|
||||
VER_CHUNITHM_NEW_PLUS = 12
|
||||
VER_CHUNITHM_SUN = 13
|
||||
VER_CHUNITHM_SUN_PLUS = 14
|
||||
VER_CHUNITHM_LUMINOUS = 15
|
||||
VERSION_NAMES = [
|
||||
"CHUNITHM",
|
||||
"CHUNITHM PLUS",
|
||||
@@ -35,9 +39,22 @@ class ChuniConstants:
|
||||
"CHUNITHM NEW!!",
|
||||
"CHUNITHM NEW PLUS!!",
|
||||
"CHUNITHM SUN",
|
||||
"CHUNITHM SUN PLUS"
|
||||
"CHUNITHM SUN PLUS",
|
||||
"CHUNITHM LUMINOUS",
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def game_ver_to_string(cls, ver: int):
|
||||
return cls.VERSION_NAMES[ver]
|
||||
return cls.VERSION_NAMES[ver]
|
||||
|
||||
|
||||
class MapAreaConditionType(Enum):
|
||||
UNLOCKED = 0
|
||||
MAP_CLEARED = 1
|
||||
MAP_AREA_CLEARED = 2
|
||||
TROPHY_OBTAINED = 3
|
||||
|
||||
|
||||
class MapAreaConditionLogicalOperator(Enum):
|
||||
AND = 1
|
||||
OR = 2
|
||||
|
||||
@@ -68,7 +68,7 @@ class ChuniFrontend(FE_Base):
|
||||
|
||||
if usr_sesh.chunithm_version >= 0:
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
resp.set_cookie("DIANA_SESH", encoded_sesh)
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
return resp
|
||||
|
||||
else:
|
||||
@@ -240,7 +240,7 @@ class ChuniFrontend(FE_Base):
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
self.logger.info(f"Created session with JWT {encoded_sesh}")
|
||||
resp = RedirectResponse("/game/chuni/", 303)
|
||||
resp.set_cookie("DIANA_SESH", encoded_sesh)
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
return resp
|
||||
else:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
@@ -1,7 +1,8 @@
|
||||
from starlette.requests import Request
|
||||
from starlette.routing import Route
|
||||
from starlette.responses import Response
|
||||
import logging, coloredlogs
|
||||
import logging
|
||||
import coloredlogs
|
||||
from logging.handlers import TimedRotatingFileHandler
|
||||
import zlib
|
||||
import yaml
|
||||
@@ -34,12 +35,13 @@ from .new import ChuniNew
|
||||
from .newplus import ChuniNewPlus
|
||||
from .sun import ChuniSun
|
||||
from .sunplus import ChuniSunPlus
|
||||
from .luminous import ChuniLuminous
|
||||
|
||||
class ChuniServlet(BaseServlet):
|
||||
def __init__(self, core_cfg: CoreConfig, cfg_dir: str) -> None:
|
||||
super().__init__(core_cfg, cfg_dir)
|
||||
self.game_cfg = ChuniConfig()
|
||||
self.hash_table: Dict[Dict[str, str]] = {}
|
||||
self.hash_table: Dict[str, Dict[str, str]] = {}
|
||||
if path.exists(f"{cfg_dir}/{ChuniConstants.CONFIG_NAME}"):
|
||||
self.game_cfg.update(
|
||||
yaml.safe_load(open(f"{cfg_dir}/{ChuniConstants.CONFIG_NAME}"))
|
||||
@@ -61,6 +63,7 @@ class ChuniServlet(BaseServlet):
|
||||
ChuniNewPlus,
|
||||
ChuniSun,
|
||||
ChuniSunPlus,
|
||||
ChuniLuminous,
|
||||
]
|
||||
|
||||
self.logger = logging.getLogger("chuni")
|
||||
@@ -89,30 +92,60 @@ class ChuniServlet(BaseServlet):
|
||||
)
|
||||
self.logger.inited = True
|
||||
|
||||
known_iter_counts = {
|
||||
ChuniConstants.VER_CHUNITHM_CRYSTAL_PLUS: 67,
|
||||
ChuniConstants.VER_CHUNITHM_PARADISE: 44,
|
||||
f"{ChuniConstants.VER_CHUNITHM_PARADISE}_int": 25,
|
||||
ChuniConstants.VER_CHUNITHM_NEW: 54,
|
||||
f"{ChuniConstants.VER_CHUNITHM_NEW}_int": 49,
|
||||
ChuniConstants.VER_CHUNITHM_NEW_PLUS: 25,
|
||||
ChuniConstants.VER_CHUNITHM_SUN: 70,
|
||||
ChuniConstants.VER_CHUNITHM_SUN_PLUS: 36,
|
||||
ChuniConstants.VER_CHUNITHM_LUMINOUS: 8,
|
||||
}
|
||||
|
||||
for version, keys in self.game_cfg.crypto.keys.items():
|
||||
if len(keys) < 3:
|
||||
continue
|
||||
|
||||
self.hash_table[version] = {}
|
||||
if isinstance(version, int):
|
||||
version_idx = version
|
||||
else:
|
||||
version_idx = int(version.split("_")[0])
|
||||
|
||||
salt = bytes.fromhex(keys[2])
|
||||
|
||||
if len(keys) >= 4:
|
||||
iter_count = keys[3]
|
||||
elif (iter_count := known_iter_counts.get(version)) is None:
|
||||
self.logger.error(
|
||||
"Number of iteration rounds for version %s is not known, but it is not specified in the config",
|
||||
version,
|
||||
)
|
||||
continue
|
||||
|
||||
self.hash_table[version] = {}
|
||||
method_list = [
|
||||
method
|
||||
for method in dir(self.versions[version])
|
||||
for method in dir(self.versions[version_idx])
|
||||
if not method.startswith("__")
|
||||
]
|
||||
|
||||
for method in method_list:
|
||||
method_fixed = inflection.camelize(method)[6:-7]
|
||||
# number of iterations was changed to 70 in SUN and then to 36
|
||||
if version == ChuniConstants.VER_CHUNITHM_SUN_PLUS:
|
||||
iter_count = 36
|
||||
elif version == ChuniConstants.VER_CHUNITHM_SUN:
|
||||
iter_count = 70
|
||||
else:
|
||||
iter_count = 44
|
||||
|
||||
# This only applies for CHUNITHM NEW International and later for some reason.
|
||||
# CHUNITHM SUPERSTAR (PLUS) did not add "Exp" to the endpoint when hashing.
|
||||
if (
|
||||
isinstance(version, str)
|
||||
and version.endswith("_int")
|
||||
and version_idx >= ChuniConstants.VER_CHUNITHM_NEW
|
||||
):
|
||||
method_fixed += "C3Exp"
|
||||
|
||||
hash = PBKDF2(
|
||||
method_fixed,
|
||||
bytes.fromhex(keys[2]),
|
||||
salt,
|
||||
128,
|
||||
count=iter_count,
|
||||
hmac_hash_module=SHA1,
|
||||
@@ -122,7 +155,7 @@ class ChuniServlet(BaseServlet):
|
||||
self.hash_table[version][hashed_name] = method_fixed
|
||||
|
||||
self.logger.debug(
|
||||
f"Hashed v{version} method {method_fixed} with {bytes.fromhex(keys[2])} to get {hash.hex()}"
|
||||
f"Hashed v{version} method {method_fixed} with {salt} to get {hashed_name}"
|
||||
)
|
||||
|
||||
@classmethod
|
||||
@@ -195,47 +228,59 @@ class ChuniServlet(BaseServlet):
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_NEW_PLUS
|
||||
elif version >= 210 and version < 215: # SUN
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_SUN
|
||||
elif version >= 215: # SUN
|
||||
elif version >= 215 and version < 220: # SUN PLUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_SUN_PLUS
|
||||
elif version >= 220: # LUMINOUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS
|
||||
elif game_code == "SDGS": # Int
|
||||
if version < 110: # SUPERSTAR
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_PARADISE # FIXME: Not sure what was intended to go here? was just "PARADISE"
|
||||
if version < 110: # SUPERSTAR / SUPERSTAR PLUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_PARADISE # SUPERSTAR / SUPERSTAR PLUS worked fine with it
|
||||
elif version >= 110 and version < 115: # NEW
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_NEW
|
||||
elif version >= 115 and version < 120: # NEW PLUS!!
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_NEW_PLUS
|
||||
elif version >= 120 and version < 125: # SUN
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_SUN
|
||||
elif version >= 125: # SUN PLUS
|
||||
elif version >= 125 and version < 130: # SUN PLUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_SUN_PLUS
|
||||
elif version >= 130: # LUMINOUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS
|
||||
|
||||
if all(c in string.hexdigits for c in endpoint) and len(endpoint) == 32:
|
||||
# If we get a 32 character long hex string, it's a hash and we're
|
||||
# doing encrypted. The likelyhood of false positives is low but
|
||||
# doing encrypted. The likelihood of false positives is low but
|
||||
# technically not 0
|
||||
|
||||
if game_code == "SDGS":
|
||||
crypto_cfg_key = f"{internal_ver}_int"
|
||||
hash_table_key = f"{internal_ver}_int"
|
||||
else:
|
||||
crypto_cfg_key = internal_ver
|
||||
hash_table_key = internal_ver
|
||||
|
||||
if internal_ver < ChuniConstants.VER_CHUNITHM_NEW:
|
||||
endpoint = request.headers.get("User-Agent").split("#")[0]
|
||||
|
||||
else:
|
||||
if internal_ver not in self.hash_table:
|
||||
if hash_table_key not in self.hash_table:
|
||||
self.logger.error(
|
||||
f"v{version} does not support encryption or no keys entered"
|
||||
)
|
||||
return Response(zlib.compress(b'{"stat": "0"}'))
|
||||
|
||||
elif endpoint.lower() not in self.hash_table[internal_ver]:
|
||||
elif endpoint.lower() not in self.hash_table[hash_table_key]:
|
||||
self.logger.error(
|
||||
f"No hash found for v{version} endpoint {endpoint}"
|
||||
)
|
||||
return Response(zlib.compress(b'{"stat": "0"}'))
|
||||
|
||||
endpoint = self.hash_table[internal_ver][endpoint.lower()]
|
||||
endpoint = self.hash_table[hash_table_key][endpoint.lower()]
|
||||
|
||||
try:
|
||||
crypt = AES.new(
|
||||
bytes.fromhex(self.game_cfg.crypto.keys[internal_ver][0]),
|
||||
bytes.fromhex(self.game_cfg.crypto.keys[crypto_cfg_key][0]),
|
||||
AES.MODE_CBC,
|
||||
bytes.fromhex(self.game_cfg.crypto.keys[internal_ver][1]),
|
||||
bytes.fromhex(self.game_cfg.crypto.keys[crypto_cfg_key][1]),
|
||||
)
|
||||
|
||||
req_raw = crypt.decrypt(req_raw)
|
||||
@@ -272,11 +317,13 @@ class ChuniServlet(BaseServlet):
|
||||
self.logger.info(f"v{version} {endpoint} request from {client_ip}")
|
||||
self.logger.debug(req_data)
|
||||
|
||||
endpoint = (
|
||||
endpoint.replace("C3Exp", "")
|
||||
if game_code == "SDGS"
|
||||
else endpoint
|
||||
)
|
||||
if game_code == "SDGS" and version >= 110:
|
||||
endpoint = endpoint.replace("C3Exp", "")
|
||||
elif game_code == "SDGS" and version < 110:
|
||||
endpoint = endpoint.replace("Exp", "")
|
||||
else:
|
||||
endpoint = endpoint
|
||||
|
||||
func_to_find = "handle_" + inflection.underscore(endpoint) + "_request"
|
||||
handler_cls = self.versions[internal_ver](self.core_cfg, self.game_cfg)
|
||||
|
||||
@@ -293,7 +340,7 @@ class ChuniServlet(BaseServlet):
|
||||
self.logger.error(f"Error handling v{version} method {endpoint} - {e}")
|
||||
return Response(zlib.compress(b'{"stat": "0"}'))
|
||||
|
||||
if resp == None:
|
||||
if resp is None:
|
||||
resp = {"returnCode": 1}
|
||||
|
||||
self.logger.debug(f"Response {resp}")
|
||||
@@ -311,4 +358,4 @@ class ChuniServlet(BaseServlet):
|
||||
bytes.fromhex(self.game_cfg.crypto.keys[internal_ver][1]),
|
||||
)
|
||||
|
||||
return Response(crypt.encrypt(padded))
|
||||
return Response(crypt.encrypt(padded))
|
||||
|
||||
298
titles/chuni/luminous.py
Normal file
298
titles/chuni/luminous.py
Normal file
@@ -0,0 +1,298 @@
|
||||
from datetime import timedelta
|
||||
from typing import Dict
|
||||
|
||||
from core.config import CoreConfig
|
||||
from titles.chuni.sunplus import ChuniSunPlus
|
||||
from titles.chuni.const import ChuniConstants, MapAreaConditionLogicalOperator, MapAreaConditionType
|
||||
from titles.chuni.config import ChuniConfig
|
||||
|
||||
|
||||
class ChuniLuminous(ChuniSunPlus):
|
||||
def __init__(self, core_cfg: CoreConfig, game_cfg: ChuniConfig) -> None:
|
||||
super().__init__(core_cfg, game_cfg)
|
||||
self.version = ChuniConstants.VER_CHUNITHM_LUMINOUS
|
||||
|
||||
async def handle_cm_get_user_preview_api_request(self, data: Dict) -> Dict:
|
||||
user_data = await super().handle_cm_get_user_preview_api_request(data)
|
||||
|
||||
# Does CARD MAKER 1.35 work this far up?
|
||||
user_data["lastDataVersion"] = "2.20.00"
|
||||
return user_data
|
||||
|
||||
async def handle_get_user_c_mission_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data["userId"]
|
||||
mission_id = data["missionId"]
|
||||
|
||||
progress_list = []
|
||||
point = 0
|
||||
|
||||
mission_data = await self.data.item.get_cmission(user_id, mission_id)
|
||||
progress_data = await self.data.item.get_cmission_progress(user_id, mission_id)
|
||||
|
||||
if mission_data and progress_data:
|
||||
point = mission_data["point"]
|
||||
|
||||
for progress in progress_data:
|
||||
progress_list.append(
|
||||
{
|
||||
"order": progress["order"],
|
||||
"stage": progress["stage"],
|
||||
"progress": progress["progress"],
|
||||
}
|
||||
)
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"missionId": mission_id,
|
||||
"point": point,
|
||||
"userCMissionProgressList": progress_list,
|
||||
}
|
||||
|
||||
async def handle_get_user_net_battle_ranking_info_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data["userId"]
|
||||
|
||||
net_battle = {}
|
||||
net_battle_data = await self.data.profile.get_net_battle(user_id)
|
||||
|
||||
if net_battle_data:
|
||||
net_battle = {
|
||||
"isRankUpChallengeFailed": net_battle_data["isRankUpChallengeFailed"],
|
||||
"highestBattleRankId": net_battle_data["highestBattleRankId"],
|
||||
"battleIconId": net_battle_data["battleIconId"],
|
||||
"battleIconNum": net_battle_data["battleIconNum"],
|
||||
"avatarEffectPoint": net_battle_data["avatarEffectPoint"],
|
||||
}
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"userNetBattleData": net_battle,
|
||||
}
|
||||
|
||||
async def handle_get_game_map_area_condition_api_request(self, data: Dict) -> Dict:
|
||||
# There is no game data for this, everything is server side.
|
||||
# However, we can selectively show/hide events as data is imported into the server.
|
||||
events = await self.data.static.get_enabled_events(self.version)
|
||||
event_by_id = {evt["eventId"]: evt for evt in events}
|
||||
conditions = []
|
||||
|
||||
# The Mystic Rainbow of LUMINOUS map unlocks when any mainline LUMINOUS area
|
||||
# (ep. I, ep. II, ep. III) are completed.
|
||||
mystic_area_1_conditions = {
|
||||
"mapAreaId": 3229301, # Mystic Rainbow of LUMINOUS Area 1
|
||||
"length": 0,
|
||||
"mapAreaConditionList": [],
|
||||
}
|
||||
mystic_area_1_added = False
|
||||
|
||||
# Secret AREA: MUSIC GAME
|
||||
if 14029 in event_by_id:
|
||||
start_date = event_by_id[14029]["startDate"].strftime(self.date_time_format)
|
||||
mission_in_progress_end_date = "2099-12-31 00:00:00.0"
|
||||
|
||||
# The "MISSION in progress" trophy required to trigger the secret area
|
||||
# is only available in the first CHUNITHM mission. If the second mission
|
||||
# (event ID 14214) was imported into ARTEMiS, we disable the requirement
|
||||
# for this trophy.
|
||||
if 14214 in event_by_id:
|
||||
mission_in_progress_end_date = (event_by_id[14214]["startDate"] - timedelta(hours=2)).strftime(self.date_time_format)
|
||||
|
||||
conditions.extend([
|
||||
{
|
||||
"mapAreaId": 2206201, # BlythE ULTIMA
|
||||
"length": 1,
|
||||
# Obtain the trophy "MISSION in progress".
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6832,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": mission_in_progress_end_date,
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
"mapAreaId": 2206202, # PRIVATE SERVICE ULTIMA
|
||||
"length": 1,
|
||||
# Obtain the trophy "MISSION in progress".
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6832,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": mission_in_progress_end_date,
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
"mapAreaId": 2206203, # New York Back Raise
|
||||
"length": 1,
|
||||
# SS NightTheater's EXPERT chart and get the title
|
||||
# "今宵、劇場に映し出される景色とは――――。"
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6833,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"mapAreaId": 2206204, # Spasmodic
|
||||
"length": 2,
|
||||
# - Get 1 miss on Random (any difficulty) and get the title "当たり待ち"
|
||||
# - Get 1 miss on 花たちに希望を (any difficulty) and get the title "花たちに希望を"
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6834,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6835,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"mapAreaId": 2206205, # ΩΩPARTS
|
||||
"length": 2,
|
||||
# - S Sage EXPERT to get the title "マターリ進行キボンヌ"
|
||||
# - Equip this title and play cab-to-cab with another person with this title
|
||||
# to get "マターリしようよ". Disabled because it is difficult to play cab2cab
|
||||
# on data setups. A network operator may consider re-enabling it by uncommenting
|
||||
# the second condition.
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6836,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
# {
|
||||
# "type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
# "conditionId": 6837,
|
||||
# "logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
# "startDate": start_date,
|
||||
# "endDate": "2099-12-31 00:00:00.0",
|
||||
# },
|
||||
],
|
||||
},
|
||||
{
|
||||
"mapAreaId": 2206206, # Blow My Mind
|
||||
"length": 1,
|
||||
# SS on CHAOS EXPERT, Hydra EXPERT, Surive EXPERT and Jakarta PROGRESSION EXPERT
|
||||
# to get the title "Can you hear me?"
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.TROPHY_OBTAINED.value,
|
||||
"conditionId": 6838,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"mapAreaId": 2206207, # VALLIS-NERIA
|
||||
"length": 6,
|
||||
# Finish the 6 other areas
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.MAP_AREA_CLEARED.value,
|
||||
"conditionId": x,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
}
|
||||
for x in range(2206201, 2206207)
|
||||
],
|
||||
},
|
||||
])
|
||||
|
||||
# LUMINOUS ep. I
|
||||
if 14005 in event_by_id:
|
||||
start_date = event_by_id[14005]["startDate"].strftime(self.date_time_format)
|
||||
|
||||
if not mystic_area_1_added:
|
||||
conditions.append(mystic_area_1_conditions)
|
||||
mystic_area_1_added = True
|
||||
|
||||
mystic_area_1_conditions["length"] += 1
|
||||
mystic_area_1_conditions["mapAreaConditionList"].append(
|
||||
{
|
||||
"type": MapAreaConditionType.MAP_CLEARED.value,
|
||||
"conditionId": 3020701,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.OR.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
}
|
||||
)
|
||||
|
||||
conditions.append(
|
||||
{
|
||||
"mapAreaId": 3229302, # Mystic Rainbow of LUMINOUS Area 2,
|
||||
"length": 1,
|
||||
# Unlocks when LUMINOUS ep. I is completed.
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.MAP_CLEARED.value,
|
||||
"conditionId": 3020701,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
# LUMINOUS ep. II
|
||||
if 14251 in event_by_id:
|
||||
start_date = event_by_id[14251]["startDate"].strftime(self.date_time_format)
|
||||
|
||||
if not mystic_area_1_added:
|
||||
conditions.append(mystic_area_1_conditions)
|
||||
mystic_area_1_added = True
|
||||
|
||||
mystic_area_1_conditions["length"] += 1
|
||||
mystic_area_1_conditions["mapAreaConditionList"].append(
|
||||
{
|
||||
"type": MapAreaConditionType.MAP_CLEARED.value,
|
||||
"conditionId": 3020702,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.OR.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
}
|
||||
)
|
||||
|
||||
conditions.append(
|
||||
{
|
||||
"mapAreaId": 3229303, # Mystic Rainbow of LUMINOUS Area 3,
|
||||
"length": 1,
|
||||
# Unlocks when LUMINOUS ep. II is completed.
|
||||
"mapAreaConditionList": [
|
||||
{
|
||||
"type": MapAreaConditionType.MAP_CLEARED.value,
|
||||
"conditionId": 3020702,
|
||||
"logicalOpe": MapAreaConditionLogicalOperator.AND.value,
|
||||
"startDate": start_date,
|
||||
"endDate": "2099-12-31 00:00:00.0",
|
||||
},
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return {
|
||||
"length": len(conditions),
|
||||
"gameMapAreaConditionList": conditions,
|
||||
}
|
||||
@@ -32,6 +32,8 @@ class ChuniNew(ChuniBase):
|
||||
return "210"
|
||||
if self.version == ChuniConstants.VER_CHUNITHM_SUN_PLUS:
|
||||
return "215"
|
||||
if self.version == ChuniConstants.VER_CHUNITHM_LUMINOUS:
|
||||
return "220"
|
||||
|
||||
async def handle_get_game_setting_api_request(self, data: Dict) -> Dict:
|
||||
# use UTC time and convert it to JST time by adding +9
|
||||
|
||||
@@ -48,9 +48,8 @@ class ChuniReader(BaseReader):
|
||||
for root, dirs, files in walk(f"{root_dir}loginBonusPreset"):
|
||||
for dir in dirs:
|
||||
if path.exists(f"{root}/{dir}/LoginBonusPreset.xml"):
|
||||
with open(f"{root}/{dir}/LoginBonusPreset.xml", "rb") as fp:
|
||||
bytedata = fp.read()
|
||||
strdata = bytedata.decode("UTF-8")
|
||||
with open(f"{root}/{dir}/LoginBonusPreset.xml", "r", encoding="utf-8") as fp:
|
||||
strdata = fp.read()
|
||||
|
||||
xml_root = ET.fromstring(strdata)
|
||||
for name in xml_root.findall("name"):
|
||||
@@ -121,9 +120,8 @@ class ChuniReader(BaseReader):
|
||||
for root, dirs, files in walk(evt_dir):
|
||||
for dir in dirs:
|
||||
if path.exists(f"{root}/{dir}/Event.xml"):
|
||||
with open(f"{root}/{dir}/Event.xml", "rb") as fp:
|
||||
bytedata = fp.read()
|
||||
strdata = bytedata.decode("UTF-8")
|
||||
with open(f"{root}/{dir}/Event.xml", "r", encoding="utf-8") as fp:
|
||||
strdata = fp.read()
|
||||
|
||||
xml_root = ET.fromstring(strdata)
|
||||
for name in xml_root.findall("name"):
|
||||
@@ -144,9 +142,8 @@ class ChuniReader(BaseReader):
|
||||
for root, dirs, files in walk(music_dir):
|
||||
for dir in dirs:
|
||||
if path.exists(f"{root}/{dir}/Music.xml"):
|
||||
with open(f"{root}/{dir}/Music.xml", "rb") as fp:
|
||||
bytedata = fp.read()
|
||||
strdata = bytedata.decode("UTF-8")
|
||||
with open(f"{root}/{dir}/Music.xml", "r", encoding='utf-8') as fp:
|
||||
strdata = fp.read()
|
||||
|
||||
xml_root = ET.fromstring(strdata)
|
||||
for name in xml_root.findall("name"):
|
||||
@@ -210,9 +207,8 @@ class ChuniReader(BaseReader):
|
||||
for root, dirs, files in walk(charge_dir):
|
||||
for dir in dirs:
|
||||
if path.exists(f"{root}/{dir}/ChargeItem.xml"):
|
||||
with open(f"{root}/{dir}/ChargeItem.xml", "rb") as fp:
|
||||
bytedata = fp.read()
|
||||
strdata = bytedata.decode("UTF-8")
|
||||
with open(f"{root}/{dir}/ChargeItem.xml", "r", encoding='utf-8') as fp:
|
||||
strdata = fp.read()
|
||||
|
||||
xml_root = ET.fromstring(strdata)
|
||||
for name in xml_root.findall("name"):
|
||||
@@ -240,9 +236,8 @@ class ChuniReader(BaseReader):
|
||||
for root, dirs, files in walk(avatar_dir):
|
||||
for dir in dirs:
|
||||
if path.exists(f"{root}/{dir}/AvatarAccessory.xml"):
|
||||
with open(f"{root}/{dir}/AvatarAccessory.xml", "rb") as fp:
|
||||
bytedata = fp.read()
|
||||
strdata = bytedata.decode("UTF-8")
|
||||
with open(f"{root}/{dir}/AvatarAccessory.xml", "r", encoding='utf-8') as fp:
|
||||
strdata = fp.read()
|
||||
|
||||
xml_root = ET.fromstring(strdata)
|
||||
for name in xml_root.findall("name"):
|
||||
|
||||
@@ -243,6 +243,36 @@ matching = Table(
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
cmission = Table(
|
||||
"chuni_item_cmission",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column(
|
||||
"user",
|
||||
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
|
||||
nullable=False,
|
||||
),
|
||||
Column("missionId", Integer, nullable=False),
|
||||
Column("point", Integer),
|
||||
UniqueConstraint("user", "missionId", name="chuni_item_cmission_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
cmission_progress = Table(
|
||||
"chuni_item_cmission_progress",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column("user", ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
Column("missionId", Integer, nullable=False),
|
||||
Column("order", Integer),
|
||||
Column("stage", Integer),
|
||||
Column("progress", Integer),
|
||||
UniqueConstraint(
|
||||
"user", "missionId", "order", name="chuni_item_cmission_progress_uk"
|
||||
),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
|
||||
class ChuniItemData(BaseData):
|
||||
async def get_oldest_free_matching(self, version: int) -> Optional[Row]:
|
||||
@@ -594,3 +624,66 @@ class ChuniItemData(BaseData):
|
||||
)
|
||||
return None
|
||||
return result.lastrowid
|
||||
|
||||
async def put_cmission_progress(
|
||||
self, user_id: int, mission_id: int, progress_data: Dict
|
||||
) -> Optional[int]:
|
||||
progress_data["user"] = user_id
|
||||
progress_data["missionId"] = mission_id
|
||||
|
||||
sql = insert(cmission_progress).values(**progress_data)
|
||||
conflict = sql.on_duplicate_key_update(**progress_data)
|
||||
result = await self.execute(conflict)
|
||||
|
||||
if result is None:
|
||||
return None
|
||||
|
||||
return result.lastrowid
|
||||
|
||||
async def get_cmission_progress(
|
||||
self, user_id: int, mission_id: int
|
||||
) -> Optional[List[Row]]:
|
||||
sql = cmission_progress.select(
|
||||
and_(
|
||||
cmission_progress.c.user == user_id,
|
||||
cmission_progress.c.missionId == mission_id,
|
||||
)
|
||||
).order_by(cmission_progress.c.order.asc())
|
||||
result = await self.execute(sql)
|
||||
|
||||
if result is None:
|
||||
return None
|
||||
|
||||
return result.fetchall()
|
||||
|
||||
async def get_cmission(self, user_id: int, mission_id: int) -> Optional[Row]:
|
||||
sql = cmission.select(
|
||||
and_(cmission.c.user == user_id, cmission.c.missionId == mission_id)
|
||||
)
|
||||
result = await self.execute(sql)
|
||||
|
||||
if result is None:
|
||||
return None
|
||||
|
||||
return result.fetchone()
|
||||
|
||||
async def put_cmission(self, user_id: int, mission_data: Dict) -> Optional[int]:
|
||||
mission_data["user"] = user_id
|
||||
|
||||
sql = insert(cmission).values(**mission_data)
|
||||
conflict = sql.on_duplicate_key_update(**mission_data)
|
||||
result = await self.execute(conflict)
|
||||
|
||||
if result is None:
|
||||
return None
|
||||
|
||||
return result.lastrowid
|
||||
|
||||
async def get_cmissions(self, user_id: int) -> Optional[List[Row]]:
|
||||
sql = cmission.select(cmission.c.user == user_id)
|
||||
result = await self.execute(sql)
|
||||
|
||||
if result is None:
|
||||
return None
|
||||
|
||||
return result.fetchall()
|
||||
|
||||
@@ -414,6 +414,18 @@ rating = Table(
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
net_battle = Table(
|
||||
"chuni_profile_net_battle",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column("user", Integer, ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False, unique=True),
|
||||
Column("isRankUpChallengeFailed", Boolean),
|
||||
Column("highestBattleRankId", Integer),
|
||||
Column("battleIconId", Integer),
|
||||
Column("battleIconNum", Integer),
|
||||
Column("avatarEffectPoint", Integer),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
class ChuniProfileData(BaseData):
|
||||
async def update_name(self, user_id: int, new_name: str) -> bool:
|
||||
@@ -806,4 +818,32 @@ class ChuniProfileData(BaseData):
|
||||
else:
|
||||
versions_raw = result.fetchall()
|
||||
versions = [row[0] for row in versions_raw]
|
||||
return sorted(versions, reverse=True)
|
||||
return sorted(versions, reverse=True)
|
||||
|
||||
async def put_net_battle(self, aime_id: int, net_battle_data: Dict) -> Optional[int]:
|
||||
sql = insert(net_battle).values(
|
||||
user=aime_id,
|
||||
isRankUpChallengeFailed=net_battle_data['isRankUpChallengeFailed'],
|
||||
highestBattleRankId=net_battle_data['highestBattleRankId'],
|
||||
battleIconId=net_battle_data['battleIconId'],
|
||||
battleIconNum=net_battle_data['battleIconNum'],
|
||||
avatarEffectPoint=net_battle_data['avatarEffectPoint'],
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_update(
|
||||
isRankUpChallengeFailed=net_battle_data['isRankUpChallengeFailed'],
|
||||
highestBattleRankId=net_battle_data['highestBattleRankId'],
|
||||
battleIconId=net_battle_data['battleIconId'],
|
||||
battleIconNum=net_battle_data['battleIconNum'],
|
||||
avatarEffectPoint=net_battle_data['avatarEffectPoint'],
|
||||
)
|
||||
|
||||
result = await self.execute(conflict)
|
||||
if result:
|
||||
return result.inserted_primary_key['id']
|
||||
self.logger.error(f"Failed to put net battle data for user {aime_id}")
|
||||
|
||||
async def get_net_battle(self, aime_id: int) -> Optional[Row]:
|
||||
result = await self.execute(net_battle.select(net_battle.c.user == aime_id))
|
||||
if result:
|
||||
return result.fetchone()
|
||||
|
||||
@@ -242,6 +242,8 @@ class ChuniScoreData(BaseData):
|
||||
# Calculates the ROM version that should be fetched for rankings, based on the game version being retrieved
|
||||
# This prevents tracks that are not accessible in your version from counting towards the 10 results
|
||||
romVer = {
|
||||
15: "2.20%",
|
||||
14: "2.15%",
|
||||
13: "2.10%",
|
||||
12: "2.05%",
|
||||
11: "2.00%",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
</style>
|
||||
<div class="container">
|
||||
{% include 'titles/chuni/templates/chuni_header.jinja' %}
|
||||
{% if profile is defined and profile is not none and profile.id > 0 %}
|
||||
{% if profile is defined and profile is not none and profile|length > 0 %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8 m-auto mt-3">
|
||||
<div class="card bg-card rounded">
|
||||
|
||||
@@ -40,6 +40,7 @@ class CxbRev(CxbBase):
|
||||
score_data["slow2"],
|
||||
score_data["fail"],
|
||||
score_data["combo"],
|
||||
score_data["grade"],
|
||||
)
|
||||
return {"data": True}
|
||||
return {"data": True}
|
||||
|
||||
@@ -39,6 +39,7 @@ playlog = Table(
|
||||
Column("slow2", Integer),
|
||||
Column("fail", Integer),
|
||||
Column("combo", Integer),
|
||||
Column("grade", Integer),
|
||||
Column("date_scored", TIMESTAMP, server_default=func.now()),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
@@ -104,6 +105,7 @@ class CxbScoreData(BaseData):
|
||||
this_slow2: int,
|
||||
fail: int,
|
||||
combo: int,
|
||||
grade: int,
|
||||
) -> Optional[int]:
|
||||
"""
|
||||
Add an entry to the user's play log
|
||||
@@ -123,6 +125,7 @@ class CxbScoreData(BaseData):
|
||||
slow2=this_slow2,
|
||||
fail=fail,
|
||||
combo=combo,
|
||||
grade=grade,
|
||||
)
|
||||
|
||||
result = await self.execute(sql)
|
||||
|
||||
@@ -2,8 +2,10 @@ from titles.diva.index import DivaServlet
|
||||
from titles.diva.const import DivaConstants
|
||||
from titles.diva.database import DivaData
|
||||
from titles.diva.read import DivaReader
|
||||
from .frontend import DivaFrontend
|
||||
|
||||
index = DivaServlet
|
||||
database = DivaData
|
||||
reader = DivaReader
|
||||
frontend = DivaFrontend
|
||||
game_codes = [DivaConstants.GAME_CODE]
|
||||
|
||||
@@ -431,7 +431,7 @@ class DivaBase:
|
||||
profile = await self.data.profile.get_profile(data["pd_id"], self.version)
|
||||
profile_shop = await self.data.item.get_shop(data["pd_id"], self.version)
|
||||
if profile is None:
|
||||
return
|
||||
return {}
|
||||
|
||||
mdl_have = "F" * 250
|
||||
# generate the mdl_have string if "unlock_all_modules" is disabled
|
||||
|
||||
182
titles/diva/frontend.py
Normal file
182
titles/diva/frontend.py
Normal file
@@ -0,0 +1,182 @@
|
||||
from typing import List
|
||||
from starlette.routing import Route, Mount
|
||||
from starlette.requests import Request
|
||||
from starlette.responses import Response, RedirectResponse
|
||||
from os import path
|
||||
import yaml
|
||||
import jinja2
|
||||
|
||||
from core.frontend import FE_Base, UserSession
|
||||
from core.config import CoreConfig
|
||||
from .database import DivaData
|
||||
from .config import DivaConfig
|
||||
from .const import DivaConstants
|
||||
|
||||
class DivaFrontend(FE_Base):
|
||||
def __init__(
|
||||
self, cfg: CoreConfig, environment: jinja2.Environment, cfg_dir: str
|
||||
) -> None:
|
||||
super().__init__(cfg, environment)
|
||||
self.data = DivaData(cfg)
|
||||
self.game_cfg = DivaConfig()
|
||||
if path.exists(f"{cfg_dir}/{DivaConstants.CONFIG_NAME}"):
|
||||
self.game_cfg.update(
|
||||
yaml.safe_load(open(f"{cfg_dir}/{DivaConstants.CONFIG_NAME}"))
|
||||
)
|
||||
self.nav_name = "diva"
|
||||
|
||||
def get_routes(self) -> List[Route]:
|
||||
return [
|
||||
Route("/", self.render_GET, methods=['GET']),
|
||||
Mount("/playlog", routes=[
|
||||
Route("/", self.render_GET_playlog, methods=['GET']),
|
||||
Route("/{index}", self.render_GET_playlog, methods=['GET']),
|
||||
]),
|
||||
Route("/update.name", self.update_name, methods=['POST']),
|
||||
Route("/update.lv", self.update_lv, methods=['POST']),
|
||||
]
|
||||
|
||||
async def render_GET(self, request: Request) -> bytes:
|
||||
template = self.environment.get_template(
|
||||
"titles/diva/templates/diva_index.jinja"
|
||||
)
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
profile = await self.data.profile.get_profile(usr_sesh.user_id, 1)
|
||||
|
||||
resp = Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
user_id=usr_sesh.user_id,
|
||||
profile=profile
|
||||
), media_type="text/html; charset=utf-8")
|
||||
return resp
|
||||
else:
|
||||
return RedirectResponse("/gate")
|
||||
|
||||
async def render_GET_playlog(self, request: Request) -> bytes:
|
||||
template = self.environment.get_template(
|
||||
"titles/diva/templates/diva_playlog.jinja"
|
||||
)
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
path_index = request.path_params.get("index")
|
||||
if not path_index or int(path_index) < 1:
|
||||
index = 0
|
||||
else:
|
||||
index = int(path_index) - 1 # 0 and 1 are 1st page
|
||||
user_id = usr_sesh.user_id
|
||||
playlog_count = await self.data.score.get_user_playlogs_count(user_id)
|
||||
if playlog_count < index * 20 :
|
||||
return Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
score_count=0
|
||||
), media_type="text/html; charset=utf-8")
|
||||
playlog = await self.data.score.get_playlogs(user_id, index, 20) #Maybe change to the playlog instead of direct scores
|
||||
playlog_with_title = []
|
||||
for record in playlog:
|
||||
song = await self.data.static.get_music_chart(record[2], record[3], record[4])
|
||||
if song:
|
||||
title = song.title
|
||||
vocaloid_arranger = song.vocaloid_arranger
|
||||
else:
|
||||
title = "Unknown"
|
||||
vocaloid_arranger = "Unknown"
|
||||
playlog_with_title.append({
|
||||
"raw": record,
|
||||
"title": title,
|
||||
"vocaloid_arranger": vocaloid_arranger
|
||||
})
|
||||
return Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
user_id=usr_sesh.user_id,
|
||||
playlog=playlog_with_title,
|
||||
playlog_count=playlog_count
|
||||
), media_type="text/html; charset=utf-8")
|
||||
else:
|
||||
return RedirectResponse("/gate/", 300)
|
||||
|
||||
async def update_name(self, request: Request) -> Response:
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
return RedirectResponse("/gate")
|
||||
|
||||
form_data = await request.form()
|
||||
new_name: str = form_data.get("new_name")
|
||||
new_name_full = ""
|
||||
|
||||
if not new_name:
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
|
||||
if len(new_name) > 8:
|
||||
return RedirectResponse("/gate/?e=8", 303)
|
||||
|
||||
for x in new_name: # FIXME: This will let some invalid characters through atm
|
||||
o = ord(x)
|
||||
try:
|
||||
if o == 0x20:
|
||||
new_name_full += chr(0x3000)
|
||||
elif o < 0x7F and o > 0x20:
|
||||
new_name_full += chr(o + 0xFEE0)
|
||||
elif o <= 0x7F:
|
||||
self.logger.warn(f"Invalid ascii character {o:02X}")
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
else:
|
||||
new_name_full += x
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"Something went wrong parsing character {o:04X} - {e}")
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
|
||||
if not await self.data.profile.update_profile(usr_sesh.user_id, player_name=new_name_full):
|
||||
return RedirectResponse("/gate/?e=999", 303)
|
||||
|
||||
return RedirectResponse("/game/diva", 303)
|
||||
|
||||
async def update_lv(self, request: Request) -> Response:
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
return RedirectResponse("/gate")
|
||||
|
||||
form_data = await request.form()
|
||||
new_lv: str = form_data.get("new_lv")
|
||||
new_lv_full = ""
|
||||
|
||||
if not new_lv:
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
|
||||
if len(new_lv) > 8:
|
||||
return RedirectResponse("/gate/?e=8", 303)
|
||||
|
||||
for x in new_lv: # FIXME: This will let some invalid characters through atm
|
||||
o = ord(x)
|
||||
try:
|
||||
if o == 0x20:
|
||||
new_lv_full += chr(0x3000)
|
||||
elif o < 0x7F and o > 0x20:
|
||||
new_lv_full += chr(o + 0xFEE0)
|
||||
elif o <= 0x7F:
|
||||
self.logger.warn(f"Invalid ascii character {o:02X}")
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
else:
|
||||
new_lv_full += x
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"Something went wrong parsing character {o:04X} - {e}")
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
|
||||
if not await self.data.profile.update_profile(usr_sesh.user_id, lv_str=new_lv_full):
|
||||
return RedirectResponse("/gate/?e=999", 303)
|
||||
|
||||
return RedirectResponse("/game/diva", 303)
|
||||
@@ -79,7 +79,7 @@ class DivaServlet(BaseServlet):
|
||||
|
||||
return True
|
||||
|
||||
async def render_POST(self, request: Request, game_code: str, matchers: Dict) -> bytes:
|
||||
async def render_POST(self, request: Request) -> bytes:
|
||||
req_raw = await request.body()
|
||||
url_header = request.headers
|
||||
|
||||
@@ -98,8 +98,17 @@ class DivaServlet(BaseServlet):
|
||||
self.logger.info(f"Binary {bin_req_data['cmd']} Request")
|
||||
self.logger.debug(bin_req_data)
|
||||
|
||||
handler = getattr(self.base, f"handle_{bin_req_data['cmd']}_request")
|
||||
resp = handler(bin_req_data)
|
||||
try:
|
||||
handler = getattr(self.base, f"handle_{bin_req_data['cmd']}_request")
|
||||
resp = handler(bin_req_data)
|
||||
|
||||
except AttributeError as e:
|
||||
self.logger.warning(f"Unhandled {bin_req_data['cmd']} request {e}")
|
||||
return PlainTextResponse(f"cmd={bin_req_data['cmd']}&req_id={bin_req_data['req_id']}&stat=ok")
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"Error handling method {e}")
|
||||
return PlainTextResponse(f"cmd={bin_req_data['cmd']}&req_id={bin_req_data['req_id']}&stat=ok")
|
||||
|
||||
self.logger.debug(
|
||||
f"Response cmd={bin_req_data['cmd']}&req_id={bin_req_data['req_id']}&stat=ok{resp}"
|
||||
|
||||
@@ -183,7 +183,11 @@ class DivaReader(BaseReader):
|
||||
pv_list[pv_id] = self.add_branch(pv_list[pv_id], key_args, val)
|
||||
|
||||
for pv_id, pv_data in pv_list.items():
|
||||
song_id = int(pv_id.split("_")[1])
|
||||
try:
|
||||
song_id = int(pv_id.split("_")[1])
|
||||
except ValueError:
|
||||
self.logger.error(f"Invalid song ID format: {pv_id}")
|
||||
continue
|
||||
if "songinfo" not in pv_data:
|
||||
continue
|
||||
if "illustrator" not in pv_data["songinfo"]:
|
||||
|
||||
@@ -54,7 +54,7 @@ class DivaCustomizeItemData(BaseData):
|
||||
Given a game version and an aime id, return the cstmz_itm_have hex string
|
||||
required for diva directly
|
||||
"""
|
||||
items_list = self.get_customize_items(aime_id, version)
|
||||
items_list = await self.get_customize_items(aime_id, version)
|
||||
if items_list is None:
|
||||
items_list = []
|
||||
item_have = 0
|
||||
|
||||
@@ -50,7 +50,7 @@ class DivaModuleData(BaseData):
|
||||
Given a game version and an aime id, return the mdl_have hex string
|
||||
required for diva directly
|
||||
"""
|
||||
module_list = self.get_modules(aime_id, version)
|
||||
module_list = await self.get_modules(aime_id, version)
|
||||
if module_list is None:
|
||||
module_list = []
|
||||
module_have = 0
|
||||
|
||||
@@ -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 None
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
async def get_profile(self, aime_id: int, version: int) -> Optional[List[Dict]]:
|
||||
"""
|
||||
|
||||
@@ -239,3 +239,23 @@ class DivaScoreData(BaseData):
|
||||
if result is None:
|
||||
return None
|
||||
return result.fetchall()
|
||||
|
||||
async def get_playlogs(self, aime_id: int, idx: int = 0, limit: int = 0) -> Optional[Row]:
|
||||
sql = select(playlog).where(playlog.c.user == aime_id).order_by(playlog.c.date_scored.desc())
|
||||
|
||||
if limit:
|
||||
sql = sql.limit(limit)
|
||||
if idx:
|
||||
sql = sql.offset(idx)
|
||||
|
||||
result = await self.execute(sql)
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def get_user_playlogs_count(self, aime_id: int) -> Optional[int]:
|
||||
sql = select(func.count()).where(playlog.c.user == aime_id)
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
self.logger.warning(f"aimu_id {aime_id} has no scores ")
|
||||
return None
|
||||
return result.scalar()
|
||||
|
||||
195
titles/diva/templates/css/diva_style.css
Normal file
195
titles/diva/templates/css/diva_style.css
Normal file
@@ -0,0 +1,195 @@
|
||||
.diva-header {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul.diva-navi {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
background-color: #333;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
ul.diva-navi li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
ul.diva-navi li a {
|
||||
display: block;
|
||||
color: white;
|
||||
text-align: center;
|
||||
padding: 14px 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.diva-navi li a:hover:not(.active) {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
ul.diva-navi li a.active {
|
||||
background-color: #4CAF50;
|
||||
}
|
||||
|
||||
ul.diva-navi li.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
|
||||
ul.diva-navi li.right,
|
||||
ul.diva-navi li {
|
||||
float: none;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
border-collapse: separate;
|
||||
overflow: hidden;
|
||||
background-color: #555555;
|
||||
|
||||
}
|
||||
|
||||
th, td {
|
||||
text-align: left;
|
||||
border: none;
|
||||
|
||||
}
|
||||
|
||||
th {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.table-rowdistinct tr:nth-child(even) {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
.table-rowdistinct tr:nth-child(odd) {
|
||||
background-color: #555555;
|
||||
}
|
||||
|
||||
caption {
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.table-large {
|
||||
margin: 16px;
|
||||
}
|
||||
|
||||
.table-large th,
|
||||
.table-large td {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.table-small {
|
||||
width: 100%;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.table-small th,
|
||||
.table-small td {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.bg-card {
|
||||
background-color: #555555;
|
||||
}
|
||||
|
||||
.card-hover {
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.card-hover:hover {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
|
||||
.basic {
|
||||
color: #28a745;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hard {
|
||||
color: #ffc107;
|
||||
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.expert {
|
||||
color: #dc3545;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.master {
|
||||
color: #dd09e8;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ultimate {
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.score {
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.rainbow {
|
||||
background: linear-gradient(to right, red, yellow, lime, aqua, blue, fuchsia) 0 / 5em;
|
||||
background-clip: text;
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.platinum {
|
||||
color: #FFFF00;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.gold {
|
||||
color: #FFFF00;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.scrolling-text {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.scrolling-text p {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.scrolling-text h6 {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.scrolling-text h5 {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.scrolling {
|
||||
animation: scroll 10s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes scroll {
|
||||
0% {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
}
|
||||
17
titles/diva/templates/diva_header.jinja
Normal file
17
titles/diva/templates/diva_header.jinja
Normal file
@@ -0,0 +1,17 @@
|
||||
<div class="diva-header">
|
||||
<h1>diva</h1>
|
||||
<ul class="diva-navi">
|
||||
<li><a class="nav-link" href="/game/diva/">PROFILE</a></li>
|
||||
<li><a class="nav-link" href="/game/diva/playlog/">RECORD</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
var currentPath = window.location.pathname;
|
||||
if (currentPath === '/game/diva/') {
|
||||
$('.nav-link[href="/game/diva/"]').addClass('active');
|
||||
} else if (currentPath.startsWith('/game/diva/playlog/')) {
|
||||
$('.nav-link[href="/game/diva/playlog/"]').addClass('active');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
111
titles/diva/templates/diva_index.jinja
Normal file
111
titles/diva/templates/diva_index.jinja
Normal file
@@ -0,0 +1,111 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<style>
|
||||
{% include 'titles/diva/templates/css/diva_style.css' %}
|
||||
</style>
|
||||
<div class="container">
|
||||
{% include 'titles/diva/templates/diva_header.jinja' %}
|
||||
{% if profile is defined and profile is not none and profile|length > 0 %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8 m-auto mt-3">
|
||||
<div class="card bg-card rounded">
|
||||
<table class="table-large table-rowdistinct">
|
||||
<caption align="top" class="text-center">OVERVIEW</caption>
|
||||
<tr>
|
||||
<th>Player name:</th>
|
||||
<th>{{ profile[3] }}</th>
|
||||
<th>
|
||||
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="modal"
|
||||
data-bs-target="#name_change">Edit</button>
|
||||
</th>
|
||||
<th>Level string:</th>
|
||||
<th>{{ profile[4] }}</th>
|
||||
<th>
|
||||
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="modal"
|
||||
data-bs-target="#lv_change">Edit</button>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Lvl:</td>
|
||||
<td>{{ profile[5] }}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Lvl points:</td>
|
||||
<td>{{ profile[6] }}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vocaloid points:</td>
|
||||
<td>{{ profile[7] }}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if error is defined %}
|
||||
{% include "core/templates/widgets/err_banner.jinja" %}
|
||||
{% endif %}
|
||||
{% elif sesh is defined and sesh is not none and sesh.user_id > 0 %}
|
||||
No profile information found for this account.
|
||||
{% else %}
|
||||
Login to view profile information.
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="modal fade" id="name_change" tabindex="-1" aria-labelledby="name_change_label" data-bs-theme="dark"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Name change</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="new_name_form" action="/game/diva/update.name" method="post" style="outline: 0;">
|
||||
<label class="form-label" for="new_name">new name:</label>
|
||||
<input class="form-control" aria-describedby="newNameHelp" form="new_name_form" id="new_name"
|
||||
name="new_name" maxlength="14" type="text" required>
|
||||
<div id="newNameHelp" class="form-text">name must be full-width character string.
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type=submit class="btn btn-primary" type="button" form="new_name_form">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="lv_change" tabindex="-1" aria-labelledby="lv_change_label" data-bs-theme="dark"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Level string change</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="new_lv_form" action="/game/diva/update.lv" method="post" style="outline: 0;">
|
||||
<label class="form-label" for="new_lv">new level string:</label>
|
||||
<input class="form-control" aria-describedby="newLvHelp" form="new_lv_form" id="new_lv" name="new_lv"
|
||||
maxlength="14" type="text" required>
|
||||
<div id="newLvHelp" class="form-text">level string must be full-width character string.
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal-footer">
|
||||
<input type=submit class="btn btn-primary" type="button" form="new_lv_form">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
169
titles/diva/templates/diva_playlog.jinja
Normal file
169
titles/diva/templates/diva_playlog.jinja
Normal file
@@ -0,0 +1,169 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<style>
|
||||
{% include 'titles/diva/templates/css/diva_style.css' %}
|
||||
</style>
|
||||
<div class="container">
|
||||
{% include 'titles/diva/templates/diva_header.jinja' %}
|
||||
{% if playlog is defined and playlog is not none %}
|
||||
<div class="row">
|
||||
<h4 style="text-align: center;">Score counts: {{ playlog_count }}</h4>
|
||||
{% set difficultyName = ['easy', 'normal', 'hard', 'extreme', 'extra extreme'] %}
|
||||
{% set clearState = ['MISSxTAKE', 'STANDARD', 'GREAT', 'EXELLENT', 'PERFECT'] %}
|
||||
{% for record in playlog %}
|
||||
<div class="col-lg-6 mt-3">
|
||||
<div class="card bg-card rounded card-hover">
|
||||
<div class="card bg-card rounded card-hover">
|
||||
<div class="card-header row">
|
||||
<div class="col-8 scrolling-text">
|
||||
<h5 class="card-text">{{ record.title }}</h5>
|
||||
<br>
|
||||
<h6 class="card-text">{{ record.vocaloid_arranger }}</h6>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<h6 class="card-text">{{record.raw.date_scored}}</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body row">
|
||||
<div class="col-3" style="text-align: center;">
|
||||
<h4 class="card-text">{{ record.raw.score }}</h4>
|
||||
<h2>{{ record.raw.atn_pnt / 100 }}%</h2>
|
||||
<h6>{{ difficultyName[record.raw.difficulty] }}</h6>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: center;">
|
||||
<table class="table-small table-rowdistinc">
|
||||
<tr>
|
||||
<td>COOL</td>
|
||||
<td>{{ record.raw.cool }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FINE</td>
|
||||
<td>{{ record.raw.fine }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SAFE</td>
|
||||
<td>{{ record.raw.safe }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SAD</td>
|
||||
<td>{{ record.raw.sad }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>WORST</td>
|
||||
<td>{{ record.raw.worst }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-3" style="text-align: center;">
|
||||
<h6>{{ record.raw.max_combo }}</h6>
|
||||
{% if record.raw.clr_kind == -1 %}
|
||||
<h6>{{ clearState[0] }}</h6>
|
||||
{% elif record.raw.clr_kind == 2 %}
|
||||
<h6>{{ clearState[1] }}</h6>
|
||||
{% elif record.raw.clr_kind == 3 %}
|
||||
<h6>{{ clearState[2] }}</h6>
|
||||
{% elif record.raw.clr_kind == 4 %}
|
||||
<h6>{{ clearState[3] }}</h6>
|
||||
{% elif record.raw.clr_kind == 5 %}
|
||||
<h6>{{ clearState[4] }}</h6>
|
||||
{% endif %}
|
||||
{% if record.raw.clr_kind == -1 %}
|
||||
<h6>NOT CLEAR</h6>
|
||||
{% else %}
|
||||
<h6>CLEAR</h6>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% set playlog_pages = playlog_count // 20 + 1 %}
|
||||
{% elif sesh is defined and sesh is not none and sesh.user_id > 0 %}
|
||||
No Score information found for this account.
|
||||
{% else %}
|
||||
Login to view profile information.
|
||||
{% endif %}
|
||||
</div>
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<nav aria-label="Score page navication">
|
||||
<ul class="pagination justify-content-center mt-3">
|
||||
<li class="page-item"><a id="prev_page" class="page-link" href="#">Previous</a></li>
|
||||
<li class="page-item"><a id="first_page" class="page-link" href="/game/diva/playlog/">1</a></li>
|
||||
<li class="page-item"><a id="prev_3_page" class="page-link" href="">...</a></li>
|
||||
<li class="page-item"><a id="front_page" class="page-link" href="">2</a></li>
|
||||
<li class="page-item"><a id="cur_page" class="page-link active" href="">3</a></li>
|
||||
<li class="page-item"><a id="back_page" class="page-link" href="">4</a></li>
|
||||
<li class="page-item"><a id="next_3_page" class="page-link" href="">...</a></li>
|
||||
<li class="page-item"><a id="last_page" class="page-link" href="/game/diva/playlog/{{ playlog_pages }}">{{
|
||||
playlog_pages }}</a></li>
|
||||
<li class="page-item"><a id="next_page" class="page-link" href="#">Next</a></li>
|
||||
 
|
||||
</ul>
|
||||
</nav>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.scrolling-text p, .scrolling-text h1, .scrolling-text h2, .scrolling-text h3, .scrolling-text h4, .scrolling-text h5, .scrolling-text h6').each(function () {
|
||||
var parentWidth = $(this).parent().width();
|
||||
var elementWidth = $(this).outerWidth();
|
||||
var elementWidthWithPadding = $(this).outerWidth(true);
|
||||
|
||||
if (elementWidthWithPadding > parentWidth) {
|
||||
$(this).addClass('scrolling');
|
||||
}
|
||||
});
|
||||
|
||||
var currentUrl = window.location.pathname;
|
||||
var currentPage = parseInt(currentUrl.split('/').pop());
|
||||
var rootUrl = '/game/diva/playlog/';
|
||||
var scorePages = {{ playlog_pages }};
|
||||
if (Number.isNaN(currentPage)) {
|
||||
currentPage = 1;
|
||||
}
|
||||
$('#cur_page').text(currentPage);
|
||||
$('#prev_page').attr('href', rootUrl + (currentPage - 1))
|
||||
$('#next_page').attr('href', rootUrl + (currentPage + 1))
|
||||
$('#front_page').attr('href', rootUrl + (currentPage - 1))
|
||||
$('#front_page').text(currentPage - 1);
|
||||
$('#back_page').attr('href', rootUrl + (currentPage + 1))
|
||||
$('#back_page').text(currentPage + 1);
|
||||
$('#prev_3_page').attr('href', rootUrl + (currentPage - 3))
|
||||
$('#next_3_page').attr('href', rootUrl + (currentPage + 3))
|
||||
if ((currentPage - 1) < 3) {
|
||||
$('#prev_3_page').hide();
|
||||
if ((currentPage - 1) < 2) {
|
||||
$('#front_page').hide();
|
||||
if (currentPage === 1) {
|
||||
$('#first_page').hide();
|
||||
$('#prev_page').addClass('disabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((scorePages - currentPage) < 3) {
|
||||
$('#next_3_page').hide();
|
||||
if ((scorePages - currentPage) < 2) {
|
||||
$('#back_page').hide();
|
||||
if (currentPage === scorePages) {
|
||||
$('#last_page').hide();
|
||||
$('#next_page').addClass('disabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#go_button').click(function () {
|
||||
var pageNumber = parseInt($('#page_input').val());
|
||||
|
||||
if (!Number.isNaN(pageNumber) && pageNumber <= scorePages && pageNumber >= 0) {
|
||||
var url = '/game/diva/playlog/' + pageNumber;
|
||||
window.location.href = url;
|
||||
} else {
|
||||
$('#page_input').val('');
|
||||
$('#page_input').attr('placeholder', 'invalid input!');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock content %}
|
||||
@@ -2,10 +2,12 @@ from titles.mai2.index import Mai2Servlet
|
||||
from titles.mai2.const import Mai2Constants
|
||||
from titles.mai2.database import Mai2Data
|
||||
from titles.mai2.read import Mai2Reader
|
||||
from .frontend import Mai2Frontend
|
||||
|
||||
index = Mai2Servlet
|
||||
database = Mai2Data
|
||||
reader = Mai2Reader
|
||||
frontend = Mai2Frontend
|
||||
game_codes = [
|
||||
Mai2Constants.GAME_CODE_DX,
|
||||
Mai2Constants.GAME_CODE_FINALE,
|
||||
|
||||
@@ -4,6 +4,7 @@ import logging
|
||||
from base64 import b64decode
|
||||
from os import path, stat, remove
|
||||
from PIL import ImageFile
|
||||
from random import randint
|
||||
|
||||
import pytz
|
||||
from core.config import CoreConfig
|
||||
@@ -470,7 +471,27 @@ class Mai2Base:
|
||||
}
|
||||
|
||||
async def handle_get_user_present_api_request(self, data: Dict) -> Dict:
|
||||
return { "userId": data.get("userId", 0), "length": 0, "userPresentList": []}
|
||||
items: List[Dict[str, Any]] = []
|
||||
user_pres_list = await self.data.item.get_presents_by_version_user(self.version, data["userId"])
|
||||
if user_pres_list:
|
||||
self.logger.debug(f"Found {len(user_pres_list)} possible presents")
|
||||
for present in user_pres_list:
|
||||
if (present['startDate'] and present['startDate'].timestamp() > datetime.now().timestamp()):
|
||||
self.logger.debug(f"Present {present['id']} distribution hasn't started yet (begins {present['startDate']})")
|
||||
continue # present period hasn't started yet, move onto the next one
|
||||
|
||||
if (present['endDate'] and present['endDate'].timestamp() < datetime.now().timestamp()):
|
||||
self.logger.warn(f"Present {present['id']} ended on {present['endDate']} and should be removed")
|
||||
continue # present period ended, move onto the next one
|
||||
|
||||
test = await self.data.item.get_item(data["userId"], present['itemKind'], present['itemId'])
|
||||
if not test: # Don't send presents for items the user already has
|
||||
pres_id = present['itemKind'] * 1000000
|
||||
pres_id += present['itemId']
|
||||
items.append({"itemId": pres_id, "itemKind": 4, "stock": present['stock'], "isValid": True})
|
||||
self.logger.info(f"Give user {data['userId']} {present['stock']}x item {present['itemId']} (kind {present['itemKind']}) as present")
|
||||
|
||||
return { "userId": data.get("userId", 0), "length": len(items), "userPresentList": items}
|
||||
|
||||
async def handle_get_transfer_friend_api_request(self, data: Dict) -> Dict:
|
||||
return {}
|
||||
@@ -886,3 +907,45 @@ class Mai2Base:
|
||||
self.logger.error(f"Failed to delete {out_name}.bin, please remove it manually")
|
||||
|
||||
return {'returnCode': ret_code, 'apiName': 'UploadUserPhotoApi'}
|
||||
|
||||
async def handle_get_user_favorite_item_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data.get("userId", 0)
|
||||
kind = data.get("kind", 0) # 1 is fav music, 2 is rival user IDs
|
||||
next_index = data.get("nextIndex", 0)
|
||||
max_ct = data.get("maxCount", 100) # always 100
|
||||
is_all = data.get("isAllFavoriteItem", False) # always false
|
||||
id_list: List[Dict] = []
|
||||
|
||||
if user_id:
|
||||
if kind == 1:
|
||||
fav_music = await self.data.item.get_fav_music(user_id)
|
||||
if fav_music:
|
||||
for fav in fav_music:
|
||||
id_list.append({"orderId": 0, "id": fav["musicId"]})
|
||||
if len(id_list) >= 100: # Lazy but whatever
|
||||
break
|
||||
|
||||
elif kind == 2:
|
||||
rivals = await self.data.profile.get_rivals_game(user_id)
|
||||
if rivals:
|
||||
for rival in rivals:
|
||||
id_list.append({"orderId": 0, "id": rival["rival"]})
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"kind": kind,
|
||||
"nextIndex": 0,
|
||||
"userFavoriteItemList": id_list,
|
||||
}
|
||||
|
||||
async def handle_get_user_recommend_rate_music_api_request(self, data: Dict) -> Dict:
|
||||
"""
|
||||
userRecommendRateMusicIdList: list[int]
|
||||
"""
|
||||
return {"userId": data["userId"], "userRecommendRateMusicIdList": []}
|
||||
|
||||
async def handle_get_user_recommend_select_music_api_request(self, data: Dict) -> Dict:
|
||||
"""
|
||||
userRecommendSelectionMusicIdList: list[int]
|
||||
"""
|
||||
return {"userId": data["userId"], "userRecommendSelectionMusicIdList": []}
|
||||
|
||||
@@ -17,16 +17,3 @@ class Mai2Buddies(Mai2FestivalPlus):
|
||||
# hardcode lastDataVersion for CardMaker
|
||||
user_data["lastDataVersion"] = "1.40.00"
|
||||
return user_data
|
||||
|
||||
async def handle_get_user_new_item_api_request(self, data: Dict) -> Dict:
|
||||
# TODO: Added in 1.41, implement this?
|
||||
user_id = data["userId"]
|
||||
version = data.get("version", 1041000)
|
||||
user_playlog_list = data.get("userPlaylogList", [])
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"itemKind": -1,
|
||||
"itemId": -1,
|
||||
}
|
||||
|
||||
|
||||
@@ -196,10 +196,17 @@ class Mai2DX(Mai2Base):
|
||||
|
||||
if "userItemList" in upsert and len(upsert["userItemList"]) > 0:
|
||||
for item in upsert["userItemList"]:
|
||||
if item["itemKind"] == 4:
|
||||
item_id = item["itemId"] % 1000000
|
||||
item_kind = item["itemId"] // 1000000
|
||||
else:
|
||||
item_id = item["itemId"]
|
||||
item_kind = item["itemKind"]
|
||||
|
||||
await self.data.item.put_item(
|
||||
user_id,
|
||||
int(item["itemKind"]),
|
||||
item["itemId"],
|
||||
item_kind,
|
||||
item_id,
|
||||
item["stock"],
|
||||
item["isValid"],
|
||||
)
|
||||
@@ -325,18 +332,39 @@ class Mai2DX(Mai2Base):
|
||||
}
|
||||
|
||||
async def handle_get_user_item_api_request(self, data: Dict) -> Dict:
|
||||
kind = int(data["nextIndex"] / 10000000000)
|
||||
next_idx = int(data["nextIndex"] % 10000000000)
|
||||
user_item_list = await self.data.item.get_items(data["userId"], kind)
|
||||
|
||||
kind = data["nextIndex"] // 10000000000
|
||||
next_idx = data["nextIndex"] % 10000000000
|
||||
items: List[Dict[str, Any]] = []
|
||||
for i in range(next_idx, len(user_item_list)):
|
||||
tmp = user_item_list[i]._asdict()
|
||||
tmp.pop("user")
|
||||
tmp.pop("id")
|
||||
items.append(tmp)
|
||||
if len(items) >= int(data["maxCount"]):
|
||||
break
|
||||
|
||||
if kind == 4: # presents
|
||||
user_pres_list = await self.data.item.get_presents_by_version_user(self.version, data["userId"])
|
||||
if user_pres_list:
|
||||
self.logger.debug(f"Found {len(user_pres_list)} possible presents")
|
||||
for present in user_pres_list:
|
||||
if (present['startDate'] and present['startDate'].timestamp() > datetime.now().timestamp()):
|
||||
self.logger.debug(f"Present {present['id']} distribution hasn't started yet (begins {present['startDate']})")
|
||||
continue # present period hasn't started yet, move onto the next one
|
||||
|
||||
if (present['endDate'] and present['endDate'].timestamp() < datetime.now().timestamp()):
|
||||
self.logger.warn(f"Present {present['id']} ended on {present['endDate']} and should be removed")
|
||||
continue # present period ended, move onto the next one
|
||||
|
||||
test = await self.data.item.get_item(data["userId"], present['itemKind'], present['itemId'])
|
||||
if not test: # Don't send presents for items the user already has
|
||||
pres_id = present['itemKind'] * 1000000
|
||||
pres_id += present['itemId']
|
||||
items.append({"itemId": pres_id, "itemKind": 4, "stock": present['stock'], "isValid": True})
|
||||
self.logger.info(f"Give user {data['userId']} {present['stock']}x item {present['itemId']} (kind {present['itemKind']}) as present")
|
||||
|
||||
else:
|
||||
user_item_list = await self.data.item.get_items(data["userId"], kind)
|
||||
for i in range(next_idx, len(user_item_list)):
|
||||
tmp = user_item_list[i]._asdict()
|
||||
tmp.pop("user")
|
||||
tmp.pop("id")
|
||||
items.append(tmp)
|
||||
if len(items) >= int(data["maxCount"]):
|
||||
break
|
||||
|
||||
xout = kind * 10000000000 + next_idx + len(items)
|
||||
|
||||
@@ -563,33 +591,76 @@ class Mai2DX(Mai2Base):
|
||||
return {"userId": data["userId"], "length": 0, "userRegionList": []}
|
||||
|
||||
async def handle_get_user_rival_data_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data["userId"]
|
||||
rival_id = data["rivalId"]
|
||||
user_id = data.get("userId", 0)
|
||||
rival_id = data.get("rivalId", 0)
|
||||
|
||||
"""
|
||||
class UserRivalData:
|
||||
rivalId: int
|
||||
rivalName: str
|
||||
"""
|
||||
return {"userId": user_id, "userRivalData": {}}
|
||||
if not user_id or not rival_id: return {}
|
||||
|
||||
rival_pf = await self.data.profile.get_profile_detail(rival_id, self.version)
|
||||
if not rival_pf: return {}
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"userRivalData": {
|
||||
"rivalId": rival_id,
|
||||
"rivalName": rival_pf['userName']
|
||||
}
|
||||
}
|
||||
|
||||
async def handle_get_user_rival_music_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data.get("userId", 0)
|
||||
rival_id = data.get("rivalId", 0)
|
||||
next_index = data.get("nextIndex", 0)
|
||||
max_ct = 100
|
||||
upper_lim = next_index + max_ct
|
||||
rival_music_list: Dict[int, List] = {}
|
||||
|
||||
songs = await self.data.score.get_best_scores(rival_id)
|
||||
if songs is None:
|
||||
self.logger.debug("handle_get_user_rival_music_api_request: get_best_scores returned None!")
|
||||
return {
|
||||
"userId": user_id,
|
||||
"rivalId": rival_id,
|
||||
"nextIndex": 0,
|
||||
"userRivalMusicList": [] # musicId userRivalMusicDetailList -> level achievement deluxscoreMax
|
||||
}
|
||||
|
||||
num_user_songs = len(songs)
|
||||
|
||||
for x in range(next_index, upper_lim):
|
||||
if x >= num_user_songs:
|
||||
break
|
||||
|
||||
tmp = songs[x]._asdict()
|
||||
if tmp['musicId'] in rival_music_list:
|
||||
rival_music_list[tmp['musicId']].append([{"level": tmp['level'], 'achievement': tmp['achievement'], 'deluxscoreMax': tmp['deluxscoreMax']}])
|
||||
|
||||
else:
|
||||
if len(rival_music_list) >= max_ct:
|
||||
break
|
||||
rival_music_list[tmp['musicId']] = [{"level": tmp['level'], 'achievement': tmp['achievement'], 'deluxscoreMax': tmp['deluxscoreMax']}]
|
||||
|
||||
next_index = 0 if len(rival_music_list) < max_ct or num_user_songs == upper_lim else upper_lim
|
||||
self.logger.info(f"Send rival {rival_id} songs {next_index}-{upper_lim} ({len(rival_music_list)}) out of {num_user_songs} for user {user_id} (next idx {next_index})")
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"rivalId": rival_id,
|
||||
"nextIndex": next_index,
|
||||
"userRivalMusicList": [{"musicId": x, "userRivalMusicDetailList": y} for x, y in rival_music_list.items()]
|
||||
}
|
||||
|
||||
async def handle_get_user_new_item_api_request(self, data: Dict) -> Dict:
|
||||
# TODO: Added in 1.41, implement this?
|
||||
user_id = data["userId"]
|
||||
rival_id = data["rivalId"]
|
||||
next_idx = data["nextIndex"]
|
||||
rival_music_levels = data["userRivalMusicLevelList"]
|
||||
|
||||
"""
|
||||
class UserRivalMusicList:
|
||||
class UserRivalMusicDetailList:
|
||||
level: int
|
||||
achievement: int
|
||||
deluxscoreMax: int
|
||||
|
||||
musicId: int
|
||||
userRivalMusicDetailList: list[UserRivalMusicDetailList]
|
||||
"""
|
||||
return {"userId": user_id, "nextIndex": 0, "userRivalMusicList": []}
|
||||
version = data.get("version", 1041000)
|
||||
user_playlog_list = data.get("userPlaylogList", [])
|
||||
|
||||
return {
|
||||
"userId": user_id,
|
||||
"itemKind": -1,
|
||||
"itemId": -1,
|
||||
}
|
||||
|
||||
async def handle_get_user_music_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data.get("userId", 0)
|
||||
@@ -636,3 +707,208 @@ class Mai2DX(Mai2Base):
|
||||
return ret
|
||||
ret['loginId'] = ret.get('loginCount', 0)
|
||||
return ret
|
||||
|
||||
# CardMaker support added in Universe
|
||||
async def handle_cm_get_user_preview_api_request(self, data: Dict) -> Dict:
|
||||
p = await self.data.profile.get_profile_detail(data["userId"], self.version)
|
||||
if p is None:
|
||||
return {}
|
||||
|
||||
return {
|
||||
"userName": p["userName"],
|
||||
"rating": p["playerRating"],
|
||||
# hardcode lastDataVersion for CardMaker
|
||||
"lastDataVersion": "1.20.00", # Future versiohs should replace this with the correct version
|
||||
# checks if the user is still logged in
|
||||
"isLogin": False,
|
||||
"isExistSellingCard": True,
|
||||
}
|
||||
|
||||
async def handle_cm_get_user_data_api_request(self, data: Dict) -> Dict:
|
||||
# user already exists, because the preview checks that already
|
||||
p = await self.data.profile.get_profile_detail(data["userId"], self.version)
|
||||
|
||||
cards = await self.data.card.get_user_cards(data["userId"])
|
||||
if cards is None or len(cards) == 0:
|
||||
# This should never happen
|
||||
self.logger.error(
|
||||
f"handle_get_user_data_api_request: Internal error - No cards found for user id {data['userId']}"
|
||||
)
|
||||
return {}
|
||||
|
||||
# get the dict representation of the row so we can modify values
|
||||
user_data = p._asdict()
|
||||
|
||||
# remove the values the game doesn't want
|
||||
user_data.pop("id")
|
||||
user_data.pop("user")
|
||||
user_data.pop("version")
|
||||
|
||||
return {"userId": data["userId"], "userData": user_data}
|
||||
|
||||
async def handle_cm_login_api_request(self, data: Dict) -> Dict:
|
||||
return {"returnCode": 1}
|
||||
|
||||
async def handle_cm_logout_api_request(self, data: Dict) -> Dict:
|
||||
return {"returnCode": 1}
|
||||
|
||||
async def handle_cm_get_selling_card_api_request(self, data: Dict) -> Dict:
|
||||
selling_cards = await self.data.static.get_enabled_cards(self.version)
|
||||
if selling_cards is None:
|
||||
return {"length": 0, "sellingCardList": []}
|
||||
|
||||
selling_card_list = []
|
||||
for card in selling_cards:
|
||||
tmp = card._asdict()
|
||||
tmp.pop("id")
|
||||
tmp.pop("version")
|
||||
tmp.pop("cardName")
|
||||
tmp.pop("enabled")
|
||||
|
||||
tmp["startDate"] = datetime.strftime(
|
||||
tmp["startDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["endDate"] = datetime.strftime(
|
||||
tmp["endDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["noticeStartDate"] = datetime.strftime(
|
||||
tmp["noticeStartDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["noticeEndDate"] = datetime.strftime(
|
||||
tmp["noticeEndDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
|
||||
selling_card_list.append(tmp)
|
||||
|
||||
return {"length": len(selling_card_list), "sellingCardList": selling_card_list}
|
||||
|
||||
async def handle_cm_get_user_card_api_request(self, data: Dict) -> Dict:
|
||||
user_cards = await self.data.item.get_cards(data["userId"])
|
||||
if user_cards is None:
|
||||
return {"returnCode": 1, "length": 0, "nextIndex": 0, "userCardList": []}
|
||||
|
||||
max_ct = data["maxCount"]
|
||||
next_idx = data["nextIndex"]
|
||||
start_idx = next_idx
|
||||
end_idx = max_ct + start_idx
|
||||
|
||||
if len(user_cards[start_idx:]) > max_ct:
|
||||
next_idx += max_ct
|
||||
else:
|
||||
next_idx = 0
|
||||
|
||||
card_list = []
|
||||
for card in user_cards:
|
||||
tmp = card._asdict()
|
||||
tmp.pop("id")
|
||||
tmp.pop("user")
|
||||
|
||||
tmp["startDate"] = datetime.strftime(
|
||||
tmp["startDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["endDate"] = datetime.strftime(
|
||||
tmp["endDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
card_list.append(tmp)
|
||||
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"length": len(card_list[start_idx:end_idx]),
|
||||
"nextIndex": next_idx,
|
||||
"userCardList": card_list[start_idx:end_idx],
|
||||
}
|
||||
|
||||
async def handle_cm_get_user_item_api_request(self, data: Dict) -> Dict:
|
||||
await self.handle_get_user_item_api_request(data)
|
||||
|
||||
async def handle_cm_get_user_character_api_request(self, data: Dict) -> Dict:
|
||||
characters = await self.data.item.get_characters(data["userId"])
|
||||
|
||||
chara_list = []
|
||||
for chara in characters:
|
||||
chara_list.append(
|
||||
{
|
||||
"characterId": chara["characterId"],
|
||||
# no clue why those values are even needed
|
||||
"point": 0,
|
||||
"count": 0,
|
||||
"level": chara["level"],
|
||||
"nextAwake": 0,
|
||||
"nextAwakePercent": 0,
|
||||
"favorite": False,
|
||||
"awakening": chara["awakening"],
|
||||
"useCount": chara["useCount"],
|
||||
}
|
||||
)
|
||||
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"length": len(chara_list),
|
||||
"userCharacterList": chara_list,
|
||||
}
|
||||
|
||||
async def handle_cm_get_user_card_print_error_api_request(self, data: Dict) -> Dict:
|
||||
return {"length": 0, "userPrintDetailList": []}
|
||||
|
||||
async def handle_cm_upsert_user_print_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data["userId"]
|
||||
upsert = data["userPrintDetail"]
|
||||
|
||||
# set a random card serial number
|
||||
serial_id = "".join([str(randint(0, 9)) for _ in range(20)])
|
||||
|
||||
# calculate start and end date of the card
|
||||
start_date = datetime.utcnow()
|
||||
end_date = datetime.utcnow() + timedelta(days=15)
|
||||
|
||||
user_card = upsert["userCard"]
|
||||
await self.data.item.put_card(
|
||||
user_id,
|
||||
user_card["cardId"],
|
||||
user_card["cardTypeId"],
|
||||
user_card["charaId"],
|
||||
user_card["mapId"],
|
||||
# add the correct start date and also the end date in 15 days
|
||||
start_date,
|
||||
end_date,
|
||||
)
|
||||
|
||||
# get the profile extend to save the new bought card
|
||||
extend = await self.data.profile.get_profile_extend(user_id, self.version)
|
||||
if extend:
|
||||
extend = extend._asdict()
|
||||
# parse the selectedCardList
|
||||
# 6 = Freedom Pass, 4 = Gold Pass (cardTypeId)
|
||||
selected_cards: List = extend["selectedCardList"]
|
||||
|
||||
# if no pass is already added, add the corresponding pass
|
||||
if not user_card["cardTypeId"] in selected_cards:
|
||||
selected_cards.insert(0, user_card["cardTypeId"])
|
||||
|
||||
extend["selectedCardList"] = selected_cards
|
||||
await self.data.profile.put_profile_extend(user_id, self.version, extend)
|
||||
|
||||
# properly format userPrintDetail for the database
|
||||
upsert.pop("userCard")
|
||||
upsert.pop("serialId")
|
||||
upsert["printDate"] = datetime.strptime(upsert["printDate"], "%Y-%m-%d")
|
||||
|
||||
await self.data.item.put_user_print_detail(user_id, serial_id, upsert)
|
||||
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"orderId": 0,
|
||||
"serialId": serial_id,
|
||||
"startDate": datetime.strftime(start_date, Mai2Constants.DATE_TIME_FORMAT),
|
||||
"endDate": datetime.strftime(end_date, Mai2Constants.DATE_TIME_FORMAT),
|
||||
}
|
||||
|
||||
async def handle_cm_upsert_user_printlog_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"orderId": 0,
|
||||
"serialId": data["userPrintlog"]["serialId"],
|
||||
}
|
||||
|
||||
async def handle_cm_upsert_buy_card_api_request(self, data: Dict) -> Dict:
|
||||
return {"returnCode": 1}
|
||||
|
||||
@@ -20,18 +20,6 @@ class Mai2Festival(Mai2UniversePlus):
|
||||
|
||||
async def handle_user_login_api_request(self, data: Dict) -> Dict:
|
||||
user_login = await super().handle_user_login_api_request(data)
|
||||
# useless?
|
||||
# TODO: Make use of this
|
||||
user_login["Bearer"] = "ARTEMiSTOKEN"
|
||||
return user_login
|
||||
|
||||
async def handle_get_user_recommend_rate_music_api_request(self, data: Dict) -> Dict:
|
||||
"""
|
||||
userRecommendRateMusicIdList: list[int]
|
||||
"""
|
||||
return {"userId": data["userId"], "userRecommendRateMusicIdList": []}
|
||||
|
||||
async def handle_get_user_recommend_select_music_api_request(self, data: Dict) -> Dict:
|
||||
"""
|
||||
userRecommendSelectionMusicIdList: list[int]
|
||||
"""
|
||||
return {"userId": data["userId"], "userRecommendSelectionMusicIdList": []}
|
||||
|
||||
@@ -17,22 +17,3 @@ class Mai2FestivalPlus(Mai2Festival):
|
||||
# hardcode lastDataVersion for CardMaker
|
||||
user_data["lastDataVersion"] = "1.35.00"
|
||||
return user_data
|
||||
|
||||
async def handle_get_user_favorite_item_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data.get("userId", 0)
|
||||
kind = data.get("kind", 2)
|
||||
next_index = data.get("nextIndex", 0)
|
||||
max_ct = data.get("maxCount", 100)
|
||||
is_all = data.get("isAllFavoriteItem", False)
|
||||
|
||||
"""
|
||||
class userFavoriteItemList:
|
||||
orderId: int
|
||||
id: int
|
||||
"""
|
||||
return {
|
||||
"userId": user_id,
|
||||
"kind": kind,
|
||||
"nextIndex": 0,
|
||||
"userFavoriteItemList": [],
|
||||
}
|
||||
|
||||
190
titles/mai2/frontend.py
Normal file
190
titles/mai2/frontend.py
Normal file
@@ -0,0 +1,190 @@
|
||||
from typing import List
|
||||
from starlette.routing import Route, Mount
|
||||
from starlette.requests import Request
|
||||
from starlette.responses import Response, RedirectResponse
|
||||
from os import path
|
||||
import yaml
|
||||
import jinja2
|
||||
|
||||
from core.frontend import FE_Base, UserSession
|
||||
from core.config import CoreConfig
|
||||
from .database import Mai2Data
|
||||
from .config import Mai2Config
|
||||
from .const import Mai2Constants
|
||||
|
||||
class Mai2Frontend(FE_Base):
|
||||
def __init__(
|
||||
self, cfg: CoreConfig, environment: jinja2.Environment, cfg_dir: str
|
||||
) -> None:
|
||||
super().__init__(cfg, environment)
|
||||
self.data = Mai2Data(cfg)
|
||||
self.game_cfg = Mai2Config()
|
||||
if path.exists(f"{cfg_dir}/{Mai2Constants.CONFIG_NAME}"):
|
||||
self.game_cfg.update(
|
||||
yaml.safe_load(open(f"{cfg_dir}/{Mai2Constants.CONFIG_NAME}"))
|
||||
)
|
||||
self.nav_name = "maimai"
|
||||
|
||||
def get_routes(self) -> List[Route]:
|
||||
return [
|
||||
Route("/", self.render_GET, methods=['GET']),
|
||||
Mount("/playlog", routes=[
|
||||
Route("/", self.render_GET_playlog, methods=['GET']),
|
||||
Route("/{index}", self.render_GET_playlog, methods=['GET']),
|
||||
]),
|
||||
Route("/update.name", self.update_name, methods=['POST']),
|
||||
Route("/version.change", self.version_change, methods=['POST']),
|
||||
]
|
||||
|
||||
async def render_GET(self, request: Request) -> bytes:
|
||||
template = self.environment.get_template(
|
||||
"titles/mai2/templates/mai2_index.jinja"
|
||||
)
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
versions = await self.data.profile.get_all_profile_versions(usr_sesh.user_id)
|
||||
profile = []
|
||||
if versions:
|
||||
# maimai_version is -1 means it is not initialized yet, select a default version from existing.
|
||||
if usr_sesh.maimai_version < 0:
|
||||
usr_sesh.maimai_version = versions[0]['version']
|
||||
profile = await self.data.profile.get_profile_detail(usr_sesh.user_id, usr_sesh.maimai_version)
|
||||
versions = [x['version'] for x in versions]
|
||||
|
||||
resp = Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
user_id=usr_sesh.user_id,
|
||||
profile=profile,
|
||||
version_list=Mai2Constants.VERSION_STRING,
|
||||
versions=versions,
|
||||
cur_version=usr_sesh.maimai_version
|
||||
), media_type="text/html; charset=utf-8")
|
||||
|
||||
if usr_sesh.maimai_version >= 0:
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
resp.delete_cookie("ARTEMIS_SESH")
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
return resp
|
||||
|
||||
else:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
async def render_GET_playlog(self, request: Request) -> bytes:
|
||||
template = self.environment.get_template(
|
||||
"titles/mai2/templates/mai2_playlog.jinja"
|
||||
)
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
print("wtf")
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
if usr_sesh.maimai_version < 0:
|
||||
print(usr_sesh.maimai_version)
|
||||
return RedirectResponse("/game/mai2/", 303)
|
||||
path_index = request.path_params.get('index')
|
||||
if not path_index or int(path_index) < 1:
|
||||
index = 0
|
||||
else:
|
||||
index = int(path_index) - 1 # 0 and 1 are 1st page
|
||||
user_id = usr_sesh.user_id
|
||||
playlog_count = await self.data.score.get_user_playlogs_count(user_id)
|
||||
if playlog_count < index * 20 :
|
||||
return Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
playlog_count=0
|
||||
), media_type="text/html; charset=utf-8")
|
||||
playlog = await self.data.score.get_playlogs(user_id, index, 20)
|
||||
playlog_with_title = []
|
||||
for record in playlog:
|
||||
music_chart = await self.data.static.get_music_chart(usr_sesh.maimai_version, record.musicId, record.level)
|
||||
if music_chart:
|
||||
difficultyNum=music_chart.chartId
|
||||
difficulty=music_chart.difficulty
|
||||
artist=music_chart.artist
|
||||
title=music_chart.title
|
||||
else:
|
||||
difficultyNum=0
|
||||
difficulty=0
|
||||
artist="unknown"
|
||||
title="musicid: " + str(record.musicId)
|
||||
playlog_with_title.append({
|
||||
"raw": record,
|
||||
"title": title,
|
||||
"difficultyNum": difficultyNum,
|
||||
"difficulty": difficulty,
|
||||
"artist": artist,
|
||||
})
|
||||
return Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
user_id=usr_sesh.user_id,
|
||||
playlog=playlog_with_title,
|
||||
playlog_count=playlog_count
|
||||
), media_type="text/html; charset=utf-8")
|
||||
else:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
async def update_name(self, request: Request) -> bytes:
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
form_data = await request.form()
|
||||
new_name: str = form_data.get("new_name")
|
||||
new_name_full = ""
|
||||
|
||||
if not new_name:
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
|
||||
if len(new_name) > 8:
|
||||
return RedirectResponse("/gate/?e=8", 303)
|
||||
|
||||
for x in new_name: # FIXME: This will let some invalid characters through atm
|
||||
o = ord(x)
|
||||
try:
|
||||
if o == 0x20:
|
||||
new_name_full += chr(0x3000)
|
||||
elif o < 0x7F and o > 0x20:
|
||||
new_name_full += chr(o + 0xFEE0)
|
||||
elif o <= 0x7F:
|
||||
self.logger.warn(f"Invalid ascii character {o:02X}")
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
else:
|
||||
new_name_full += x
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"Something went wrong parsing character {o:04X} - {e}")
|
||||
return RedirectResponse("/gate/?e=4", 303)
|
||||
|
||||
if not await self.data.profile.update_name(usr_sesh.user_id, new_name_full):
|
||||
return RedirectResponse("/gate/?e=999", 303)
|
||||
|
||||
return RedirectResponse("/game/mai2/?s=1", 303)
|
||||
|
||||
async def version_change(self, request: Request):
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
form_data = await request.form()
|
||||
maimai_version = form_data.get("version")
|
||||
self.logger.info(f"version change to: {maimai_version}")
|
||||
if(maimai_version.isdigit()):
|
||||
usr_sesh.maimai_version=int(maimai_version)
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
self.logger.info(f"Created session with JWT {encoded_sesh}")
|
||||
resp = RedirectResponse("/game/mai2/", 303)
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
return resp
|
||||
else:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
@@ -2,8 +2,8 @@ from core.data.schema import BaseData, metadata
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Optional, Dict, List
|
||||
from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_
|
||||
from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON
|
||||
from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_, or_
|
||||
from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON, BIGINT, INTEGER
|
||||
from sqlalchemy.schema import ForeignKey
|
||||
from sqlalchemy.sql import func, select
|
||||
from sqlalchemy.dialects.mysql import insert
|
||||
@@ -134,6 +134,20 @@ favorite = Table(
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
fav_music = Table(
|
||||
"mai2_item_favorite_music",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column(
|
||||
"user",
|
||||
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
|
||||
nullable=False,
|
||||
),
|
||||
Column("musicId", Integer, nullable=False),
|
||||
UniqueConstraint("user", "musicId", name="mai2_item_favorite_music_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
charge = Table(
|
||||
"mai2_item_charge",
|
||||
metadata,
|
||||
@@ -184,6 +198,20 @@ print_detail = Table(
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
present = Table(
|
||||
"mai2_item_present",
|
||||
metadata,
|
||||
Column('id', BIGINT, primary_key=True, nullable=False),
|
||||
Column('version', INTEGER),
|
||||
Column("user", Integer, ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade")),
|
||||
Column("itemKind", INTEGER, nullable=False),
|
||||
Column("itemId", INTEGER, nullable=False),
|
||||
Column("stock", INTEGER, nullable=False, server_default="1"),
|
||||
Column("startDate", TIMESTAMP),
|
||||
Column("endDate", TIMESTAMP),
|
||||
UniqueConstraint("version", "user", "itemKind", "itemId", name="mai2_item_present_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
class Mai2ItemData(BaseData):
|
||||
async def put_item(
|
||||
@@ -451,6 +479,30 @@ class Mai2ItemData(BaseData):
|
||||
return None
|
||||
return result.fetchall()
|
||||
|
||||
async def get_fav_music(self, user_id: int) -> Optional[List[Row]]:
|
||||
result = await self.execute(fav_music.select(fav_music.c.user == user_id))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def add_fav_music(self, user_id: int, music_id: int) -> Optional[int]:
|
||||
sql = insert(fav_music).values(
|
||||
user = user_id,
|
||||
musicId = music_id
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_update(musicId = music_id)
|
||||
|
||||
result = await self.execute(conflict)
|
||||
if result:
|
||||
return result.lastrowid
|
||||
|
||||
self.logger.error(f"Failed to add music {music_id} as favorite for user {user_id}!")
|
||||
|
||||
async def remove_fav_music(self, user_id: int, music_id: int) -> None:
|
||||
result = await self.execute(fav_music.delete(and_(fav_music.c.user == user_id, fav_music.c.musicId == music_id)))
|
||||
if not result:
|
||||
self.logger.error(f"Failed to remove music {music_id} as favorite for user {user_id}!")
|
||||
|
||||
async def put_card(
|
||||
self,
|
||||
user_id: int,
|
||||
@@ -548,3 +600,49 @@ class Mai2ItemData(BaseData):
|
||||
)
|
||||
return None
|
||||
return result.lastrowid
|
||||
|
||||
async def put_present(self, item_kind: int, item_id: int, version: int = None, user_id: int = None, start_date: datetime = None, end_date: datetime = None) -> Optional[int]:
|
||||
sql = insert(present).values(
|
||||
version = version,
|
||||
user = user_id,
|
||||
itemKind = item_kind,
|
||||
itemId = item_id,
|
||||
startDate = start_date,
|
||||
endDate = end_date
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_update(
|
||||
startDate = start_date,
|
||||
endDate = end_date
|
||||
)
|
||||
|
||||
result = await self.execute(conflict)
|
||||
if result:
|
||||
return result.lastrowid
|
||||
|
||||
self.logger.error(f"Failed to add present item {item_id}!")
|
||||
|
||||
async def get_presents_by_user(self, user_id: int = None) -> Optional[List[Row]]:
|
||||
result = await self.execute(present.select(or_(present.c.user == user_id, present.c.user is None)))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def get_presents_by_version(self, ver: int = None) -> Optional[List[Row]]:
|
||||
result = await self.execute(present.select(or_(present.c.version == ver, present.c.version is None)))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def get_presents_by_version_user(self, ver: int = None, user_id: int = None) -> Optional[List[Row]]:
|
||||
result = await self.execute(present.select(
|
||||
and_(
|
||||
or_(present.c.user == user_id, present.c.user == None),
|
||||
or_(present.c.version == ver, present.c.version == None)
|
||||
)
|
||||
))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def get_present_by_id(self, present_id: int) -> Optional[Row]:
|
||||
result = await self.execute(present.select(present.c.id == present_id))
|
||||
if result:
|
||||
return result.fetchone()
|
||||
|
||||
@@ -491,8 +491,31 @@ consec_logins = Table(
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
rival = Table(
|
||||
"mai2_user_rival",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column(
|
||||
"user",
|
||||
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
|
||||
nullable=False,
|
||||
),
|
||||
Column(
|
||||
"rival",
|
||||
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
|
||||
nullable=False,
|
||||
),
|
||||
Column("show", Boolean, nullable=False, server_default="0"),
|
||||
UniqueConstraint("user", "rival", name="mai2_user_rival_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
class Mai2ProfileData(BaseData):
|
||||
async def get_all_profile_versions(self, user_id: int) -> Optional[List[Row]]:
|
||||
result = await self.execute(detail.select(detail.c.user == user_id))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def put_profile_detail(
|
||||
self, user_id: int, version: int, detail_data: Dict, is_dx: bool = True
|
||||
) -> Optional[Row]:
|
||||
@@ -843,3 +866,52 @@ class Mai2ProfileData(BaseData):
|
||||
if result is None:
|
||||
return None
|
||||
return result.fetchone()
|
||||
|
||||
async def get_rivals(self, user_id: int) -> Optional[List[Row]]:
|
||||
result = await self.execute(rival.select(rival.c.user == user_id))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def get_rivals_game(self, user_id: int) -> Optional[List[Row]]:
|
||||
result = await self.execute(rival.select(and_(rival.c.user == user_id, rival.c.show == True)).limit(3))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def set_rival_shown(self, user_id: int, rival_id: int, is_shown: bool) -> None:
|
||||
sql = rival.update(and_(rival.c.user == user_id, rival.c.rival == rival_id)).values(
|
||||
show = is_shown
|
||||
)
|
||||
|
||||
result = await self.execute(sql)
|
||||
if not result:
|
||||
self.logger.error(f"Failed to set rival {rival_id} shown status to {is_shown} for user {user_id}")
|
||||
|
||||
async def add_rival(self, user_id: int, rival_id: int) -> Optional[int]:
|
||||
sql = insert(rival).values(
|
||||
user = user_id,
|
||||
rival = rival_id
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_update(rival = rival_id)
|
||||
|
||||
result = await self.execute(conflict)
|
||||
if result:
|
||||
return result.lastrowid
|
||||
|
||||
self.logger.error(f"Failed to add music {rival_id} as favorite for user {user_id}!")
|
||||
|
||||
async def remove_rival(self, user_id: int, rival_id: int) -> None:
|
||||
result = await self.execute(rival.delete(and_(rival.c.user == user_id, rival.c.rival == rival_id)))
|
||||
if not result:
|
||||
self.logger.error(f"Failed to remove rival {rival_id} for user {user_id}!")
|
||||
|
||||
async def update_name(self, user_id: int, new_name: str) -> bool:
|
||||
sql = detail.update(detail.c.user == user_id).values(
|
||||
userName=new_name
|
||||
)
|
||||
result = await self.execute(sql)
|
||||
|
||||
if result is None:
|
||||
self.logger.warning(f"Failed to set user {user_id} name to {new_name}")
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -319,16 +319,16 @@ class Mai2ScoreData(BaseData):
|
||||
sql = best_score.select(
|
||||
and_(
|
||||
best_score.c.user == user_id,
|
||||
(best_score.c.song_id == song_id) if song_id is not None else True,
|
||||
(best_score.c.musicId == song_id) if song_id is not None else True,
|
||||
)
|
||||
)
|
||||
).order_by(best_score.c.musicId).order_by(best_score.c.level)
|
||||
else:
|
||||
sql = best_score_old.select(
|
||||
and_(
|
||||
best_score_old.c.user == user_id,
|
||||
(best_score_old.c.song_id == song_id) if song_id is not None else True,
|
||||
(best_score_old.c.musicId == song_id) if song_id is not None else True,
|
||||
)
|
||||
)
|
||||
).order_by(best_score.c.musicId).order_by(best_score.c.level)
|
||||
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
@@ -398,3 +398,23 @@ class Mai2ScoreData(BaseData):
|
||||
if result is None:
|
||||
return None
|
||||
return result.fetchall()
|
||||
|
||||
async def get_playlogs(self, user_id: int, idx: int = 0, limit: int = 0) -> Optional[List[Row]]:
|
||||
sql = playlog.select(playlog.c.user == user_id)
|
||||
|
||||
if limit:
|
||||
sql = sql.limit(limit)
|
||||
if idx:
|
||||
sql = sql.offset(idx * limit)
|
||||
|
||||
result = await self.execute(sql)
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def get_user_playlogs_count(self, aime_id: int) -> Optional[Row]:
|
||||
sql = select(func.count()).where(playlog.c.user == aime_id)
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
self.logger.warning(f"aime_id {aime_id} has no playlog ")
|
||||
return None
|
||||
return result.scalar()
|
||||
|
||||
195
titles/mai2/templates/css/mai2_style.css
Normal file
195
titles/mai2/templates/css/mai2_style.css
Normal file
@@ -0,0 +1,195 @@
|
||||
.mai2-header {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul.mai2-navi {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
background-color: #333;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
ul.mai2-navi li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
ul.mai2-navi li a {
|
||||
display: block;
|
||||
color: white;
|
||||
text-align: center;
|
||||
padding: 14px 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.mai2-navi li a:hover:not(.active) {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
ul.mai2-navi li a.active {
|
||||
background-color: #4CAF50;
|
||||
}
|
||||
|
||||
ul.mai2-navi li.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
|
||||
ul.mai2-navi li.right,
|
||||
ul.mai2-navi li {
|
||||
float: none;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
border-collapse: separate;
|
||||
overflow: hidden;
|
||||
background-color: #555555;
|
||||
|
||||
}
|
||||
|
||||
th, td {
|
||||
text-align: left;
|
||||
border: none;
|
||||
|
||||
}
|
||||
|
||||
th {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.table-rowdistinct tr:nth-child(even) {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
.table-rowdistinct tr:nth-child(odd) {
|
||||
background-color: #555555;
|
||||
}
|
||||
|
||||
caption {
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.table-large {
|
||||
margin: 16px;
|
||||
}
|
||||
|
||||
.table-large th,
|
||||
.table-large td {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.table-small {
|
||||
width: 100%;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.table-small th,
|
||||
.table-small td {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.bg-card {
|
||||
background-color: #555555;
|
||||
}
|
||||
|
||||
.card-hover {
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
.card-hover:hover {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
|
||||
.basic {
|
||||
color: #28a745;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hard {
|
||||
color: #ffc107;
|
||||
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.expert {
|
||||
color: #dc3545;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.master {
|
||||
color: #dd09e8;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ultimate {
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.score {
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.rainbow {
|
||||
background: linear-gradient(to right, red, yellow, lime, aqua, blue, fuchsia) 0 / 5em;
|
||||
background-clip: text;
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.platinum {
|
||||
color: #FFFF00;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.gold {
|
||||
color: #FFFF00;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.scrolling-text {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.scrolling-text p {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.scrolling-text h6 {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.scrolling-text h5 {
|
||||
white-space: nowrap;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.scrolling {
|
||||
animation: scroll 10s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes scroll {
|
||||
0% {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
}
|
||||
17
titles/mai2/templates/mai2_header.jinja
Normal file
17
titles/mai2/templates/mai2_header.jinja
Normal file
@@ -0,0 +1,17 @@
|
||||
<div class="mai2-header">
|
||||
<h1>maimai</h1>
|
||||
<ul class="mai2-navi">
|
||||
<li><a class="nav-link" href="/game/mai2/">PROFILE</a></li>
|
||||
<li><a class="nav-link" href="/game/mai2/playlog/">RECORD</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
var currentPath = window.location.pathname;
|
||||
if (currentPath === '/game/mai2/') {
|
||||
$('.nav-link[href="/game/mai2/"]').addClass('active');
|
||||
} else if (currentPath.startsWith('/game/mai2/playlog/')) {
|
||||
$('.nav-link[href="/game/mai2/playlog/"]').addClass('active');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
134
titles/mai2/templates/mai2_index.jinja
Normal file
134
titles/mai2/templates/mai2_index.jinja
Normal file
@@ -0,0 +1,134 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<style>
|
||||
{% include 'titles/mai2/templates/css/mai2_style.css' %}
|
||||
</style>
|
||||
<div class="container">
|
||||
{% include 'titles/mai2/templates/mai2_header.jinja' %}
|
||||
{% if profile is defined and profile is not none and profile|length > 0 %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8 m-auto mt-3">
|
||||
<div class="card bg-card rounded">
|
||||
<table class="table-large table-rowdistinct">
|
||||
<caption align="top">OVERVIEW</caption>
|
||||
<tr>
|
||||
<th>{{ profile.userName }}</th>
|
||||
<th>
|
||||
<button type="button" class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#name_change">Edit</button>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>version:</td>
|
||||
<td>
|
||||
<select name="version" id="version" onChange="changeVersion(this)">
|
||||
{% for ver in versions %}
|
||||
{% if ver == cur_version %}
|
||||
<option value="{{ ver }}" selected>{{ version_list[ver] }}</option>
|
||||
{% else %}
|
||||
<option value="{{ ver }}">{{ version_list[ver] }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% if versions | length > 1 %}
|
||||
<p style="margin-block-end: 0;">You have {{ versions | length }} versions.</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rating:</td>
|
||||
<td>
|
||||
<span class="{% if profile.playerRating >= 15000 %}rainbow{% elif profile.playerRating < 15000 and profile.playerRating >= 14500 %}platinum{% elif profile.playerRating < 14500 and profile.playerRating >=14000 %}platinum{% endif %}">
|
||||
{{ profile.playerRating }}
|
||||
</span>
|
||||
<span>
|
||||
(highest: {{ profile.highestRating }})
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Play Counts:</td>
|
||||
<td>{{ profile.playCount }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Play Date:</td>
|
||||
<td>{{ profile.lastPlayDate }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-8 m-auto mt-3">
|
||||
<div class="card bg-card rounded">
|
||||
<table class="table-large table-rowdistinct">
|
||||
<caption align="top">SCORE</caption>
|
||||
<tr>
|
||||
<td>Total Delux Score:</td>
|
||||
<td>{{ profile.totalDeluxscore }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Total Basic Delux Score:</td>
|
||||
<td>{{ profile.totalBasicDeluxscore }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Total Advanced Delux Score:</td>
|
||||
<td>{{ profile.totalAdvancedDeluxscore }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Total Expert Delux Score:</td>
|
||||
<td>{{ profile.totalExpertDeluxscore }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Total Master Delux Score:</td>
|
||||
<td>{{ profile.totalMasterDeluxscore }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Total ReMaster Delux Score:</td>
|
||||
<td>{{ profile.totalReMasterDeluxscore }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if error is defined %}
|
||||
{% include "core/templates/widgets/err_banner.jinja" %}
|
||||
{% endif %}
|
||||
{% elif sesh is defined and sesh is not none and sesh.user_id > 0 %}
|
||||
No profile information found for this account.
|
||||
{% else %}
|
||||
Login to view profile information.
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="modal fade" id="name_change" tabindex="-1" aria-labelledby="name_change_label" data-bs-theme="dark"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Name change</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="new_name_form" action="/game/mai2/update.name" method="post" style="outline: 0;">
|
||||
<label class="form-label" for="new_name">new name:</label>
|
||||
<input class="form-control" aria-describedby="newNameHelp" form="new_name_form" id="new_name"
|
||||
name="new_name" maxlength="14" type="text" required>
|
||||
<div id="newNameHelp" class="form-text">name must be full-width character string.
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<input type=submit class="btn btn-primary" type="button" form="new_name_form">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function changeVersion(sel) {
|
||||
$.post("/game/mai2/version.change", { version: sel.value })
|
||||
.done(function (data) {
|
||||
location.reload();
|
||||
})
|
||||
.fail(function () {
|
||||
alert("Failed to update version.");
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock content %}
|
||||
225
titles/mai2/templates/mai2_playlog.jinja
Normal file
225
titles/mai2/templates/mai2_playlog.jinja
Normal file
@@ -0,0 +1,225 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<style>
|
||||
{% include 'titles/mai2/templates/css/mai2_style.css' %}
|
||||
</style>
|
||||
<div class="container">
|
||||
{% include 'titles/mai2/templates/mai2_header.jinja' %}
|
||||
{% if playlog is defined and playlog is not none %}
|
||||
<div class="row">
|
||||
<h4 style="text-align: center;">Playlog counts: {{ playlog_count }}</h4>
|
||||
{% set rankName = ['D', 'C', 'B', 'BB', 'BBB', 'A', 'AA', 'AAA', 'S', 'S+', 'SS', 'SS+', 'SSS', 'SSS+'] %}
|
||||
{% set difficultyName = ['basic', 'hard', 'expert', 'master', 'ultimate'] %}
|
||||
{% for record in playlog %}
|
||||
<div class="col-lg-6 mt-3">
|
||||
<div class="card bg-card rounded card-hover">
|
||||
<div class="card-header row">
|
||||
<div class="col-8 scrolling-text">
|
||||
<h5 class="card-text"> {{ record.title }} </h5>
|
||||
<br>
|
||||
<h6 class="card-text"> {{ record.artist }} </h6>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<h6 class="card-text">{{ record.raw.userPlayDate }}</h6>
|
||||
<h6 class="card-text">TRACK {{ record.raw.trackNo }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body row">
|
||||
<div class="col-3" style="text-align: center;">
|
||||
<h4 class="card-text">{{ record.raw.deluxscore }}</h4>
|
||||
<h2>{{ rankName[record.raw.rank] }}</h2>
|
||||
<h6
|
||||
class="{% if record.raw.level == 0 %}basic{% elif record.raw.level == 1 %}advanced{% elif record.raw.level == 2 %}expert{% elif record.raw.level == 3 %}master{% elif record.raw.level == 4 %}remaster{% endif %}">
|
||||
{{ difficultyName[record.raw.level] }}  {{ record.difficulty }}
|
||||
</h6>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: center;">
|
||||
<table class="table-small table-rowdistinc">
|
||||
<tr>
|
||||
<td>CRITICAL PERFECT</td>
|
||||
<td>
|
||||
Tap: {{ record.raw.tapCriticalPerfect }}<br>
|
||||
Hold: {{ record.raw.holdCriticalPerfect }}<br>
|
||||
Slide: {{ record.raw.slideCriticalPerfect }}<br>
|
||||
Touch: {{ record.raw.touchCriticalPerfect }}<br>
|
||||
Break: {{ record.raw.breakCriticalPerfect }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PERFECT</td>
|
||||
<td>
|
||||
Tap: {{ record.raw.tapPerfect }}<br>
|
||||
Hold: {{ record.raw.holdPerfect }}<br>
|
||||
Slide: {{ record.raw.slidePerfect }}<br>
|
||||
Touch: {{ record.raw.touchPerfect }}<br>
|
||||
Break: {{ record.raw.breakPerfect }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>GREAT</td>
|
||||
<td>
|
||||
Tap: {{ record.raw.tapGreat }}<br>
|
||||
Hold: {{ record.raw.holdGreat }}<br>
|
||||
Slide: {{ record.raw.slideGreat }}<br>
|
||||
Touch: {{ record.raw.touchGreat }}<br>
|
||||
Break: {{ record.raw.breakGreat }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>GOOD</td>
|
||||
<td>
|
||||
Tap: {{ record.raw.tapGood }}<br>
|
||||
Hold: {{ record.raw.holdGood }}<br>
|
||||
Slide: {{ record.raw.slideGood }}<br>
|
||||
Touch: {{ record.raw.touchGood }}<br>
|
||||
Break: {{ record.raw.breakGood }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MISS</td>
|
||||
<td>
|
||||
Tap: {{ record.raw.tapMiss }}<br>
|
||||
Hold: {{ record.raw.holdMiss }}<br>
|
||||
Slide: {{ record.raw.slideMiss }}<br>
|
||||
Touch: {{ record.raw.touchMiss }}<br>
|
||||
Break: {{ record.raw.breakMiss }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-3" style="text-align: center;">
|
||||
{%if record.raw.comboStatus == 1 %}
|
||||
<h6>FULL COMBO</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.comboStatus == 2 %}
|
||||
<h6>FULL COMBO +</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.comboStatus == 3 %}
|
||||
<h6>ALL PERFECT</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.comboStatus == 4 %}
|
||||
<h6>ALL PERFECT +</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.syncStatus == 1 %}
|
||||
<h6>FULL SYNC</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.syncStatus == 2 %}
|
||||
<h6>FULL SYNC +</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.syncStatus == 3 %}
|
||||
<h6>FULL SYNC DX</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.syncStatus == 4 %}
|
||||
<h6>FULL SYNC DX +</h6>
|
||||
{% endif %}
|
||||
{%if record.raw.isAchieveNewRecord == 1 or record.raw.isDeluxscoreNewRecord == 1 %}
|
||||
<h6>NEW RECORD</h6>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% set playlog_pages = playlog_count // 20 + 1 %}
|
||||
{% elif sesh is defined and sesh is not none and sesh.user_id > 0 %}
|
||||
No Playlog information found for this account.
|
||||
{% else %}
|
||||
Login to view profile information.
|
||||
{% endif %}
|
||||
</div>
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<nav aria-label="Playlog page navigation">
|
||||
<ul class="pagination justify-content-center mt-3">
|
||||
<li class="page-item"><a id="prev_page" class="page-link" href="#">Previous</a></li>
|
||||
<li class="page-item"><a id="first_page" class="page-link" href="/game/mai2/playlog/">1</a></li>
|
||||
<li class="page-item"><a id="prev_3_page" class="page-link" href="">...</a></li>
|
||||
<li class="page-item"><a id="front_page" class="page-link" href="">2</a></li>
|
||||
<li class="page-item"><a id="cur_page" class="page-link active" href="">3</a></li>
|
||||
<li class="page-item"><a id="back_page" class="page-link" href="">4</a></li>
|
||||
<li class="page-item"><a id="next_3_page" class="page-link" href="">...</a></li>
|
||||
<li class="page-item"><a id="last_page" class="page-link" href="/game/mai2/playlog/{{ playlog_pages }}">{{
|
||||
playlog_pages }}</a></li>
|
||||
<li class="page-item"><a id="next_page" class="page-link" href="#">Next</a></li>
|
||||
 
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="row">
|
||||
<div class="col-5"></div>
|
||||
<div class="col-2">
|
||||
<div class="input-group rounded">
|
||||
<input id="page_input" type="text" class="form-control" placeholder="go to page">
|
||||
<span class="input-group-btn">
|
||||
<button id="go_button" class="btn btn-light" type="button">
|
||||
Go!
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-5"></div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.scrolling-text p, .scrolling-text h1, .scrolling-text h2, .scrolling-text h3, .scrolling-text h4, .scrolling-text h5, .scrolling-text h6').each(function () {
|
||||
var parentWidth = $(this).parent().width();
|
||||
var elementWidth = $(this).outerWidth();
|
||||
var elementWidthWithPadding = $(this).outerWidth(true);
|
||||
|
||||
if (elementWidthWithPadding > parentWidth) {
|
||||
$(this).addClass('scrolling');
|
||||
}
|
||||
});
|
||||
|
||||
var currentUrl = window.location.pathname;
|
||||
var currentPage = parseInt(currentUrl.split('/').pop());
|
||||
var rootUrl = '/game/mai2/playlog/';
|
||||
var playlogPages = {{ playlog_pages }};
|
||||
if (Number.isNaN(currentPage)) {
|
||||
currentPage = 1;
|
||||
}
|
||||
$('#cur_page').text(currentPage);
|
||||
$('#prev_page').attr('href', rootUrl + (currentPage - 1))
|
||||
$('#next_page').attr('href', rootUrl + (currentPage + 1))
|
||||
$('#front_page').attr('href', rootUrl + (currentPage - 1))
|
||||
$('#front_page').text(currentPage - 1);
|
||||
$('#back_page').attr('href', rootUrl + (currentPage + 1))
|
||||
$('#back_page').text(currentPage + 1);
|
||||
$('#prev_3_page').attr('href', rootUrl + (currentPage - 3))
|
||||
$('#next_3_page').attr('href', rootUrl + (currentPage + 3))
|
||||
if ((currentPage - 1) < 3) {
|
||||
$('#prev_3_page').hide();
|
||||
if ((currentPage - 1) < 2) {
|
||||
$('#front_page').hide();
|
||||
if (currentPage === 1) {
|
||||
$('#first_page').hide();
|
||||
$('#prev_page').addClass('disabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((playlogPages - currentPage) < 3) {
|
||||
$('#next_3_page').hide();
|
||||
if ((playlogPages - currentPage) < 2) {
|
||||
$('#back_page').hide();
|
||||
if (currentPage === playlogPages) {
|
||||
$('#last_page').hide();
|
||||
$('#next_page').addClass('disabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#go_button').click(function () {
|
||||
var pageNumber = parseInt($('#page_input').val());
|
||||
|
||||
if (!Number.isNaN(pageNumber) && pageNumber <= playlogPages && pageNumber >= 0) {
|
||||
var url = '/game/mai2/playlog/' + pageNumber;
|
||||
window.location.href = url;
|
||||
} else {
|
||||
$('#page_input').val('');
|
||||
$('#page_input').attr('placeholder', 'invalid input!');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock content %}
|
||||
@@ -1,8 +1,6 @@
|
||||
from typing import Any, List, Dict
|
||||
from random import randint
|
||||
from datetime import datetime, timedelta
|
||||
import pytz
|
||||
import json
|
||||
|
||||
from core.config import CoreConfig
|
||||
from titles.mai2.splashplus import Mai2SplashPlus
|
||||
@@ -14,207 +12,3 @@ class Mai2Universe(Mai2SplashPlus):
|
||||
def __init__(self, cfg: CoreConfig, game_cfg: Mai2Config) -> None:
|
||||
super().__init__(cfg, game_cfg)
|
||||
self.version = Mai2Constants.VER_MAIMAI_DX_UNIVERSE
|
||||
|
||||
async def handle_cm_get_user_preview_api_request(self, data: Dict) -> Dict:
|
||||
p = await self.data.profile.get_profile_detail(data["userId"], self.version)
|
||||
if p is None:
|
||||
return {}
|
||||
|
||||
return {
|
||||
"userName": p["userName"],
|
||||
"rating": p["playerRating"],
|
||||
# hardcode lastDataVersion for CardMaker
|
||||
"lastDataVersion": "1.20.00",
|
||||
# checks if the user is still logged in
|
||||
"isLogin": False,
|
||||
"isExistSellingCard": True,
|
||||
}
|
||||
|
||||
async def handle_cm_get_user_data_api_request(self, data: Dict) -> Dict:
|
||||
# user already exists, because the preview checks that already
|
||||
p = await self.data.profile.get_profile_detail(data["userId"], self.version)
|
||||
|
||||
cards = await self.data.card.get_user_cards(data["userId"])
|
||||
if cards is None or len(cards) == 0:
|
||||
# This should never happen
|
||||
self.logger.error(
|
||||
f"handle_get_user_data_api_request: Internal error - No cards found for user id {data['userId']}"
|
||||
)
|
||||
return {}
|
||||
|
||||
# get the dict representation of the row so we can modify values
|
||||
user_data = p._asdict()
|
||||
|
||||
# remove the values the game doesn't want
|
||||
user_data.pop("id")
|
||||
user_data.pop("user")
|
||||
user_data.pop("version")
|
||||
|
||||
return {"userId": data["userId"], "userData": user_data}
|
||||
|
||||
async def handle_cm_login_api_request(self, data: Dict) -> Dict:
|
||||
return {"returnCode": 1}
|
||||
|
||||
async def handle_cm_logout_api_request(self, data: Dict) -> Dict:
|
||||
return {"returnCode": 1}
|
||||
|
||||
async def handle_cm_get_selling_card_api_request(self, data: Dict) -> Dict:
|
||||
selling_cards = await self.data.static.get_enabled_cards(self.version)
|
||||
if selling_cards is None:
|
||||
return {"length": 0, "sellingCardList": []}
|
||||
|
||||
selling_card_list = []
|
||||
for card in selling_cards:
|
||||
tmp = card._asdict()
|
||||
tmp.pop("id")
|
||||
tmp.pop("version")
|
||||
tmp.pop("cardName")
|
||||
tmp.pop("enabled")
|
||||
|
||||
tmp["startDate"] = datetime.strftime(
|
||||
tmp["startDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["endDate"] = datetime.strftime(
|
||||
tmp["endDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["noticeStartDate"] = datetime.strftime(
|
||||
tmp["noticeStartDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["noticeEndDate"] = datetime.strftime(
|
||||
tmp["noticeEndDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
|
||||
selling_card_list.append(tmp)
|
||||
|
||||
return {"length": len(selling_card_list), "sellingCardList": selling_card_list}
|
||||
|
||||
async def handle_cm_get_user_card_api_request(self, data: Dict) -> Dict:
|
||||
user_cards = await self.data.item.get_cards(data["userId"])
|
||||
if user_cards is None:
|
||||
return {"returnCode": 1, "length": 0, "nextIndex": 0, "userCardList": []}
|
||||
|
||||
max_ct = data["maxCount"]
|
||||
next_idx = data["nextIndex"]
|
||||
start_idx = next_idx
|
||||
end_idx = max_ct + start_idx
|
||||
|
||||
if len(user_cards[start_idx:]) > max_ct:
|
||||
next_idx += max_ct
|
||||
else:
|
||||
next_idx = 0
|
||||
|
||||
card_list = []
|
||||
for card in user_cards:
|
||||
tmp = card._asdict()
|
||||
tmp.pop("id")
|
||||
tmp.pop("user")
|
||||
|
||||
tmp["startDate"] = datetime.strftime(
|
||||
tmp["startDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
tmp["endDate"] = datetime.strftime(
|
||||
tmp["endDate"], Mai2Constants.DATE_TIME_FORMAT
|
||||
)
|
||||
card_list.append(tmp)
|
||||
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"length": len(card_list[start_idx:end_idx]),
|
||||
"nextIndex": next_idx,
|
||||
"userCardList": card_list[start_idx:end_idx],
|
||||
}
|
||||
|
||||
async def handle_cm_get_user_item_api_request(self, data: Dict) -> Dict:
|
||||
await super().handle_get_user_item_api_request(data)
|
||||
|
||||
async def handle_cm_get_user_character_api_request(self, data: Dict) -> Dict:
|
||||
characters = await self.data.item.get_characters(data["userId"])
|
||||
|
||||
chara_list = []
|
||||
for chara in characters:
|
||||
chara_list.append(
|
||||
{
|
||||
"characterId": chara["characterId"],
|
||||
# no clue why those values are even needed
|
||||
"point": 0,
|
||||
"count": 0,
|
||||
"level": chara["level"],
|
||||
"nextAwake": 0,
|
||||
"nextAwakePercent": 0,
|
||||
"favorite": False,
|
||||
"awakening": chara["awakening"],
|
||||
"useCount": chara["useCount"],
|
||||
}
|
||||
)
|
||||
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"length": len(chara_list),
|
||||
"userCharacterList": chara_list,
|
||||
}
|
||||
|
||||
async def handle_cm_get_user_card_print_error_api_request(self, data: Dict) -> Dict:
|
||||
return {"length": 0, "userPrintDetailList": []}
|
||||
|
||||
async def handle_cm_upsert_user_print_api_request(self, data: Dict) -> Dict:
|
||||
user_id = data["userId"]
|
||||
upsert = data["userPrintDetail"]
|
||||
|
||||
# set a random card serial number
|
||||
serial_id = "".join([str(randint(0, 9)) for _ in range(20)])
|
||||
|
||||
# calculate start and end date of the card
|
||||
start_date = datetime.utcnow()
|
||||
end_date = datetime.utcnow() + timedelta(days=15)
|
||||
|
||||
user_card = upsert["userCard"]
|
||||
await self.data.item.put_card(
|
||||
user_id,
|
||||
user_card["cardId"],
|
||||
user_card["cardTypeId"],
|
||||
user_card["charaId"],
|
||||
user_card["mapId"],
|
||||
# add the correct start date and also the end date in 15 days
|
||||
start_date,
|
||||
end_date,
|
||||
)
|
||||
|
||||
# get the profile extend to save the new bought card
|
||||
extend = await self.data.profile.get_profile_extend(user_id, self.version)
|
||||
if extend:
|
||||
extend = extend._asdict()
|
||||
# parse the selectedCardList
|
||||
# 6 = Freedom Pass, 4 = Gold Pass (cardTypeId)
|
||||
selected_cards: List = extend["selectedCardList"]
|
||||
|
||||
# if no pass is already added, add the corresponding pass
|
||||
if not user_card["cardTypeId"] in selected_cards:
|
||||
selected_cards.insert(0, user_card["cardTypeId"])
|
||||
|
||||
extend["selectedCardList"] = selected_cards
|
||||
await self.data.profile.put_profile_extend(user_id, self.version, extend)
|
||||
|
||||
# properly format userPrintDetail for the database
|
||||
upsert.pop("userCard")
|
||||
upsert.pop("serialId")
|
||||
upsert["printDate"] = datetime.strptime(upsert["printDate"], "%Y-%m-%d")
|
||||
|
||||
await self.data.item.put_user_print_detail(user_id, serial_id, upsert)
|
||||
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"orderId": 0,
|
||||
"serialId": serial_id,
|
||||
"startDate": datetime.strftime(start_date, Mai2Constants.DATE_TIME_FORMAT),
|
||||
"endDate": datetime.strftime(end_date, Mai2Constants.DATE_TIME_FORMAT),
|
||||
}
|
||||
|
||||
async def handle_cm_upsert_user_printlog_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"returnCode": 1,
|
||||
"orderId": 0,
|
||||
"serialId": data["userPrintlog"]["serialId"],
|
||||
}
|
||||
|
||||
async def handle_cm_upsert_buy_card_api_request(self, data: Dict) -> Dict:
|
||||
return {"returnCode": 1}
|
||||
|
||||
@@ -31,7 +31,8 @@ class OngekiFrontend(FE_Base):
|
||||
|
||||
def get_routes(self) -> List[Route]:
|
||||
return [
|
||||
Route("/", self.render_GET)
|
||||
Route("/", self.render_GET),
|
||||
Route("/version.change", self.render_POST, methods=['POST'])
|
||||
]
|
||||
|
||||
async def render_GET(self, request: Request) -> bytes:
|
||||
@@ -69,29 +70,34 @@ class OngekiFrontend(FE_Base):
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
async def render_POST(self, request: Request):
|
||||
uri = request.uri.decode()
|
||||
uri = request.url.path
|
||||
frm = await request.form()
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
if uri == "/game/ongeki/rival.add":
|
||||
rival_id = request.args[b"rivalUserId"][0].decode()
|
||||
rival_id = frm.get("rivalUserId")
|
||||
await self.data.profile.put_rival(usr_sesh.user_id, rival_id)
|
||||
# self.logger.info(f"{usr_sesh.user_id} added a rival")
|
||||
return RedirectResponse(b"/game/ongeki/", 303)
|
||||
|
||||
elif uri == "/game/ongeki/rival.delete":
|
||||
rival_id = request.args[b"rivalUserId"][0].decode()
|
||||
rival_id = frm.get("rivalUserId")
|
||||
await self.data.profile.delete_rival(usr_sesh.user_id, rival_id)
|
||||
# self.logger.info(f"{response}")
|
||||
return RedirectResponse(b"/game/ongeki/", 303)
|
||||
|
||||
elif uri == "/game/ongeki/version.change":
|
||||
ongeki_version=request.args[b"version"][0].decode()
|
||||
ongeki_version=frm.get("version")
|
||||
if(ongeki_version.isdigit()):
|
||||
usr_sesh.ongeki_version=int(ongeki_version)
|
||||
return RedirectResponse("/game/ongeki/", 303)
|
||||
enc = self.encode_session(usr_sesh)
|
||||
resp = RedirectResponse("/game/ongeki/", 303)
|
||||
resp.delete_cookie('ARTEMIS_SESH')
|
||||
resp.set_cookie('ARTEMIS_SESH', enc)
|
||||
return resp
|
||||
|
||||
else:
|
||||
Response("Something went wrong", status_code=500)
|
||||
|
||||
@@ -216,16 +216,20 @@ class OngekiServlet(BaseServlet):
|
||||
)
|
||||
return Response(zlib.compress(b'{"stat": "0"}'))
|
||||
|
||||
try:
|
||||
unzip = zlib.decompress(req_raw)
|
||||
if version < 105:
|
||||
# O.N.G.E.K.I base don't use zlib
|
||||
req_data = json.loads(req_raw)
|
||||
else:
|
||||
try:
|
||||
unzip = zlib.decompress(req_raw)
|
||||
|
||||
except zlib.error as e:
|
||||
self.logger.error(
|
||||
f"Failed to decompress v{version} {endpoint} request -> {e}"
|
||||
)
|
||||
return Response(zlib.compress(b'{"stat": "0"}'))
|
||||
|
||||
except zlib.error as e:
|
||||
self.logger.error(
|
||||
f"Failed to decompress v{version} {endpoint} request -> {e}"
|
||||
)
|
||||
return Response(zlib.compress(b'{"stat": "0"}'))
|
||||
|
||||
req_data = json.loads(unzip)
|
||||
req_data = json.loads(unzip)
|
||||
|
||||
self.logger.info(
|
||||
f"v{version} {endpoint} request from {client_ip}"
|
||||
@@ -251,9 +255,12 @@ class OngekiServlet(BaseServlet):
|
||||
|
||||
self.logger.debug(f"Response {resp}")
|
||||
|
||||
zipped = zlib.compress(json.dumps(resp, ensure_ascii=False).encode("utf-8"))
|
||||
resp_raw = json.dumps(resp, ensure_ascii=False).encode("utf-8")
|
||||
zipped = zlib.compress(resp_raw)
|
||||
|
||||
if not encrtped or version < 120:
|
||||
if version < 105:
|
||||
return Response(resp_raw)
|
||||
return Response(zipped)
|
||||
|
||||
padded = pad(zipped, 16)
|
||||
|
||||
@@ -30,7 +30,7 @@ score_best = Table(
|
||||
Column("isFullCombo", Boolean, nullable=False),
|
||||
Column("isAllBreake", Boolean, nullable=False),
|
||||
Column("isLock", Boolean, nullable=False),
|
||||
Column("clearStatus", Boolean, nullable=False),
|
||||
Column("clearStatus", Integer, nullable=False),
|
||||
Column("isStoryWatched", Boolean, nullable=False),
|
||||
Column("platinumScoreMax", Integer),
|
||||
UniqueConstraint("user", "musicId", "level", name="ongeki_best_score_uk"),
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime
|
||||
import json, logging
|
||||
from typing import Any, Dict, List
|
||||
import random
|
||||
|
||||
from core.data import Data
|
||||
from core import CoreConfig
|
||||
from .config import PokkenConfig
|
||||
from .proto import jackal_pb2
|
||||
@@ -18,7 +16,6 @@ class PokkenBase:
|
||||
self.version = 0
|
||||
self.logger = logging.getLogger("pokken")
|
||||
self.data = PokkenData(core_cfg)
|
||||
self.SUPPORT_SET_NONE = 4294967295
|
||||
|
||||
async def handle_noop(self, request: Any) -> bytes:
|
||||
res = jackal_pb2.Response()
|
||||
@@ -38,7 +35,30 @@ class PokkenBase:
|
||||
res = jackal_pb2.Response()
|
||||
res.result = 1
|
||||
res.type = jackal_pb2.MessageType.REGISTER_PCB
|
||||
self.logger.info(f"Register PCB {request.register_pcb.pcb_id}")
|
||||
pcbid = request.register_pcb.pcb_id
|
||||
if not pcbid.isdigit() or len(pcbid) != 12 or \
|
||||
not pcbid.startswith(f"{PokkenConstants.SERIAL_IDENT[0]}{PokkenConstants.SERIAL_REGIONS[0]}{PokkenConstants.SERIAL_ROLES[0]}{PokkenConstants.SERIAL_CAB_IDENTS[0]}"):
|
||||
self.logger.warn(f"Bad PCBID {pcbid}")
|
||||
res.result = 0
|
||||
return res
|
||||
|
||||
netid = PokkenConstants.NETID_PREFIX[0] + pcbid[5:]
|
||||
|
||||
self.logger.info(f"Register PCB {pcbid} (netID {netid})")
|
||||
|
||||
minfo = await self.data.arcade.get_machine(netid)
|
||||
|
||||
if not minfo and not self.core_cfg.server.allow_unregistered_serials:
|
||||
self.logger.warn(f"netID {netid} does not belong to any shop!")
|
||||
res.result = 0
|
||||
return res
|
||||
|
||||
elif not minfo:
|
||||
self.logger.warn(f"Orphaned netID {netid} allowed to connect")
|
||||
locid = 0
|
||||
|
||||
else:
|
||||
locid = minfo['arcade']
|
||||
|
||||
regist_pcb = jackal_pb2.RegisterPcbResponseData()
|
||||
regist_pcb.server_time = int(datetime.now().timestamp())
|
||||
@@ -46,7 +66,7 @@ class PokkenBase:
|
||||
"MatchingServer": {
|
||||
"host": f"https://{self.game_cfg.server.hostname}",
|
||||
"port": self.game_cfg.ports.game,
|
||||
"url": "/SDAK/100/matching",
|
||||
"url": "/pokken/matching",
|
||||
},
|
||||
"StunServer": {
|
||||
"addr": self.game_cfg.server.stun_server_host,
|
||||
@@ -56,10 +76,10 @@ class PokkenBase:
|
||||
"addr": self.game_cfg.server.stun_server_host,
|
||||
"port": self.game_cfg.server.stun_server_port,
|
||||
},
|
||||
"AdmissionUrl": f"ws://{self.game_cfg.server.hostname}:{self.game_cfg.ports.admission}",
|
||||
"locationId": 123, # FIXME: Get arcade's ID from the database
|
||||
"logfilename": "JackalMatchingLibrary.log",
|
||||
"biwalogfilename": "./biwa.log",
|
||||
"AdmissionUrl": f"ws://{self.game_cfg.server.hostname}:{self.game_cfg.ports.admission}/pokken/admission",
|
||||
"locationId": locid,
|
||||
"logfilename": "J:\\JackalMatchingLibrary.log",
|
||||
"biwalogfilename": "J:\\biwa_log.log",
|
||||
}
|
||||
regist_pcb.bnp_baseuri = f"{self.core_cfg.server.hostname}/bna"
|
||||
regist_pcb.biwa_setting = json.dumps(biwa_setting)
|
||||
@@ -95,12 +115,11 @@ class PokkenBase:
|
||||
res.type = jackal_pb2.MessageType.LOAD_CLIENT_SETTINGS
|
||||
settings = jackal_pb2.LoadClientSettingsResponseData()
|
||||
|
||||
# TODO: Make configurable
|
||||
settings.money_magnification = 1
|
||||
settings.continue_bonus_exp = 100
|
||||
settings.continue_fight_money = 100
|
||||
settings.event_bonus_exp = 100
|
||||
settings.level_cap = 999
|
||||
settings.level_cap = 100
|
||||
settings.op_movie_flag = 0xFFFFFFFF
|
||||
settings.lucky_bonus_rate = 1
|
||||
settings.fail_support_num = 10
|
||||
@@ -132,9 +151,13 @@ class PokkenBase:
|
||||
res.type = jackal_pb2.MessageType.LOAD_USER
|
||||
access_code = request.load_user.access_code
|
||||
load_usr = jackal_pb2.LoadUserResponseData()
|
||||
user_id = await self.data.card.get_user_id_from_card(access_code)
|
||||
load_usr.load_hash = 1
|
||||
load_usr.access_code = access_code
|
||||
load_usr.precedent_release_flag = 0xFFFFFFFF
|
||||
load_usr.cardlock_status = False
|
||||
card = await self.data.card.get_card_by_access_code(access_code)
|
||||
|
||||
if user_id is None and self.game_cfg.server.auto_register:
|
||||
if card is None and self.game_cfg.server.auto_register:
|
||||
user_id = await self.data.user.create_user()
|
||||
card_id = await self.data.card.create_card(user_id, access_code)
|
||||
|
||||
@@ -142,54 +165,39 @@ class PokkenBase:
|
||||
f"Register new card {access_code} (UserId {user_id}, CardId {card_id})"
|
||||
)
|
||||
|
||||
elif user_id is None:
|
||||
if int(request.load_user.chip_id[:8], 16) != 0x04030201:
|
||||
await self.data.card.set_chip_id_by_access_code(access_code, int(request.load_user.chip_id[:8], 16))
|
||||
|
||||
elif card is None:
|
||||
self.logger.info(f"Registration of card {access_code} blocked!")
|
||||
res.load_user.CopyFrom(load_usr)
|
||||
return res.SerializeToString()
|
||||
|
||||
else:
|
||||
user_id = card['user']
|
||||
card_id = card['id']
|
||||
if not card['chip_id'] and int(request.load_user.chip_id[:8], 16) != 0x04030201: # Default segatools sn:
|
||||
await self.data.card.set_chip_id_by_access_code(access_code, int(request.load_user.chip_id[:8], 16))
|
||||
|
||||
"""
|
||||
TODO: Add repeated values
|
||||
tutorial_progress_flag
|
||||
rankmatch_progress
|
||||
TODO: Unlock all supports? Probably
|
||||
support_pokemon_list
|
||||
support_set_1
|
||||
support_set_2
|
||||
support_set_3
|
||||
aid_skill_list
|
||||
achievement_flag
|
||||
event_achievement_flag
|
||||
event_achievement_param
|
||||
"""
|
||||
profile = await self.data.profile.get_profile(user_id)
|
||||
load_usr.commidserv_result = 1
|
||||
load_usr.load_hash = 1
|
||||
load_usr.cardlock_status = False
|
||||
load_usr.banapass_id = user_id
|
||||
load_usr.access_code = access_code
|
||||
load_usr.precedent_release_flag = 0xFFFFFFFF
|
||||
|
||||
if profile is None:
|
||||
if profile is None or profile['trainer_name'] is None:
|
||||
profile_id = await self.data.profile.create_profile(user_id)
|
||||
self.logger.info(f"Create new profile {profile_id} for user {user_id}")
|
||||
profile_dict = {"id": profile_id, "user": user_id}
|
||||
pokemon_data = []
|
||||
tutorial_progress = []
|
||||
rankmatch_progress = []
|
||||
achievement_flag = []
|
||||
event_achievement_flag = []
|
||||
event_achievement_param = []
|
||||
load_usr.new_card_flag = True
|
||||
|
||||
else:
|
||||
profile_dict = {k: v for k, v in profile._asdict().items() if v is not None}
|
||||
self.logger.info(
|
||||
f"Card-in user {user_id} (Trainer name {profile_dict.get('trainer_name', '')})"
|
||||
)
|
||||
self.logger.info(f"Card-in user {user_id} (Trainer name {profile_dict.get('trainer_name', '')})")
|
||||
pokemon_data = await self.data.profile.get_all_pokemon_data(user_id)
|
||||
tutorial_progress = []
|
||||
rankmatch_progress = []
|
||||
achievement_flag = []
|
||||
event_achievement_flag = []
|
||||
event_achievement_param = []
|
||||
load_usr.new_card_flag = False
|
||||
|
||||
load_usr.navi_newbie_flag = profile_dict.get("navi_newbie_flag", True)
|
||||
@@ -201,9 +209,9 @@ class PokkenBase:
|
||||
load_usr.trainer_name = profile_dict.get(
|
||||
"trainer_name", f"Newb{str(user_id).zfill(4)}"
|
||||
)
|
||||
load_usr.trainer_rank_point = profile_dict.get("trainer_rank_point", 0)
|
||||
load_usr.wallet = profile_dict.get("wallet", 0)
|
||||
load_usr.fight_money = profile_dict.get("fight_money", 0)
|
||||
load_usr.trainer_rank_point = profile_dict.get("trainer_rank_point", 0) # determines rank
|
||||
load_usr.wallet = profile_dict.get("wallet", 0) # pg count
|
||||
load_usr.fight_money = profile_dict.get("fight_money", 0) # ?
|
||||
load_usr.score_point = profile_dict.get("score_point", 0)
|
||||
load_usr.grade_max_num = profile_dict.get("grade_max_num", 0)
|
||||
load_usr.extra_counter = profile_dict.get("extra_counter", 0)
|
||||
@@ -218,18 +226,18 @@ class PokkenBase:
|
||||
load_usr.rank_event = profile_dict.get("rank_event", 0)
|
||||
load_usr.awake_num = profile_dict.get("awake_num", 0)
|
||||
load_usr.use_support_num = profile_dict.get("use_support_num", 0)
|
||||
load_usr.rankmatch_flag = profile_dict.get("rankmatch_flag", 0)
|
||||
load_usr.rankmatch_flag = profile_dict.get("rankmatch_flag", 0) # flags that next rank match will be rank up
|
||||
load_usr.rankmatch_max = profile_dict.get("rankmatch_max", 0)
|
||||
load_usr.rankmatch_success = profile_dict.get("rankmatch_success", 0)
|
||||
load_usr.beat_num = profile_dict.get("beat_num", 0)
|
||||
load_usr.title_text_id = profile_dict.get("title_text_id", 0)
|
||||
load_usr.title_plate_id = profile_dict.get("title_plate_id", 0)
|
||||
load_usr.title_decoration_id = profile_dict.get("title_decoration_id", 0)
|
||||
load_usr.title_text_id = profile_dict.get("title_text_id", 2)
|
||||
load_usr.title_plate_id = profile_dict.get("title_plate_id", 31)
|
||||
load_usr.title_decoration_id = profile_dict.get("title_decoration_id", 1)
|
||||
load_usr.navi_trainer = profile_dict.get("navi_trainer", 0)
|
||||
load_usr.navi_version_id = profile_dict.get("navi_version_id", 0)
|
||||
load_usr.aid_skill = profile_dict.get("aid_skill", 0)
|
||||
load_usr.comment_text_id = profile_dict.get("comment_text_id", 0)
|
||||
load_usr.comment_word_id = profile_dict.get("comment_word_id", 0)
|
||||
load_usr.comment_text_id = profile_dict.get("comment_text_id", 1)
|
||||
load_usr.comment_word_id = profile_dict.get("comment_word_id", 1)
|
||||
load_usr.latest_use_pokemon = profile_dict.get("latest_use_pokemon", 0)
|
||||
load_usr.ex_ko_num = profile_dict.get("ex_ko_num", 0)
|
||||
load_usr.wko_num = profile_dict.get("wko_num", 0)
|
||||
@@ -237,11 +245,11 @@ class PokkenBase:
|
||||
load_usr.cool_ko_num = profile_dict.get("cool_ko_num", 0)
|
||||
load_usr.perfect_ko_num = profile_dict.get("perfect_ko_num", 0)
|
||||
load_usr.record_flag = profile_dict.get("record_flag", 0)
|
||||
load_usr.site_register_status = profile_dict.get("site_register_status", 0)
|
||||
load_usr.site_register_status = profile_dict.get("site_register_status", 1)
|
||||
load_usr.continue_num = profile_dict.get("continue_num", 0)
|
||||
|
||||
load_usr.avatar_body = profile_dict.get("avatar_body", 0)
|
||||
load_usr.avatar_gender = profile_dict.get("avatar_gender", 0)
|
||||
load_usr.avatar_gender = profile_dict.get("avatar_gender", 1)
|
||||
load_usr.avatar_background = profile_dict.get("avatar_background", 0)
|
||||
load_usr.avatar_head = profile_dict.get("avatar_head", 0)
|
||||
load_usr.avatar_battleglass = profile_dict.get("avatar_battleglass", 0)
|
||||
@@ -283,6 +291,31 @@ class PokkenBase:
|
||||
pkm.bp_point_sp = pkmn_d.get('bp_point_sp', 0)
|
||||
|
||||
load_usr.pokemon_data.append(pkm)
|
||||
|
||||
for x in profile_dict.get("tutorial_progress_flag", []):
|
||||
load_usr.tutorial_progress_flag.append(x)
|
||||
|
||||
for x in profile_dict.get("achievement_flag", []):
|
||||
load_usr.achievement_flag.append(x)
|
||||
|
||||
for x in profile_dict.get("aid_skill_list", []):
|
||||
load_usr.aid_skill_list.append(x)
|
||||
|
||||
for x in profile_dict.get("rankmatch_progress", []):
|
||||
load_usr.rankmatch_progress.append(x)
|
||||
|
||||
for x in profile_dict.get("event_achievement_flag", []):
|
||||
load_usr.event_achievement_flag.append(x)
|
||||
|
||||
for x in profile_dict.get("event_achievement_param", []):
|
||||
load_usr.event_achievement_param.append(x)
|
||||
|
||||
load_usr.support_set_1.append(profile_dict.get("support_set_1_1", 587))
|
||||
load_usr.support_set_1.append(profile_dict.get("support_set_1_2", 653))
|
||||
load_usr.support_set_2.append(profile_dict.get("support_set_2_1", 495))
|
||||
load_usr.support_set_2.append(profile_dict.get("support_set_2_2", 131))
|
||||
load_usr.support_set_3.append(profile_dict.get("support_set_3_1", 657))
|
||||
load_usr.support_set_3.append(profile_dict.get("support_set_3_2", 133))
|
||||
|
||||
res.load_user.CopyFrom(load_usr)
|
||||
return res.SerializeToString()
|
||||
@@ -300,6 +333,8 @@ class PokkenBase:
|
||||
|
||||
req = request.save_user
|
||||
user_id = req.banapass_id
|
||||
|
||||
self.logger.info(f"Save user data for {user_id}")
|
||||
|
||||
tut_flgs: List[int] = []
|
||||
ach_flgs: List[int] = []
|
||||
@@ -339,7 +374,7 @@ class PokkenBase:
|
||||
for ach_flg in req.achievement_flag:
|
||||
ach_flgs.append(ach_flg)
|
||||
|
||||
await self.data.profile.update_profile_tutorial_flags(user_id, ach_flg)
|
||||
await self.data.profile.update_profile_achievement_flags(user_id, ach_flgs)
|
||||
|
||||
for evt_flg in req.event_achievement_flag:
|
||||
evt_flgs.append(evt_flg)
|
||||
@@ -353,18 +388,23 @@ class PokkenBase:
|
||||
await self.data.item.add_reward(user_id, reward.get_category_id, reward.get_content_id, reward.get_type_id)
|
||||
|
||||
await self.data.profile.add_profile_points(user_id, get_rank_pts, get_money, get_score_pts, grade_max)
|
||||
|
||||
# Inconsistant underscore use AND a typo??
|
||||
#await self.data.profile.update_rankmatch_data(user_id, req.rankmatch_flag, req.rank_match_max, req.rank_match_success, req.rank_match_process)
|
||||
|
||||
await self.data.profile.update_support_team(user_id, 1, req.support_set_1[0], req.support_set_1[1])
|
||||
await self.data.profile.update_support_team(user_id, 2, req.support_set_2[0], req.support_set_2[1])
|
||||
await self.data.profile.update_support_team(user_id, 3, req.support_set_3[0], req.support_set_3[1])
|
||||
|
||||
await self.data.profile.put_pokemon(user_id, mon.char_id, mon.illustration_book_no, mon.bp_point_atk, mon.bp_point_res, mon.bp_point_def, mon.bp_point_sp)
|
||||
await self.data.profile.add_pokemon_xp(user_id, mon.char_id, mon.get_pokemon_exp)
|
||||
await self.data.profile.add_pokemon_xp(user_id, mon.illustration_book_no, mon.get_pokemon_exp)
|
||||
await self.data.profile.set_latest_mon(user_id, mon.illustration_book_no)
|
||||
|
||||
for x in range(len(battle.play_mode)):
|
||||
self.logger.info(f"Save {PokkenConstants.BATTLE_TYPE(battle.play_mode[x]).name} battle {PokkenConstants.BATTLE_RESULT(battle.result[x]).name} for {user_id} with mon {mon.illustration_book_no}")
|
||||
await self.data.profile.put_pokemon_battle_result(
|
||||
user_id,
|
||||
mon.char_id,
|
||||
mon.illustration_book_no,
|
||||
PokkenConstants.BATTLE_TYPE(battle.play_mode[x]),
|
||||
PokkenConstants.BATTLE_RESULT(battle.result[x])
|
||||
)
|
||||
@@ -391,7 +431,6 @@ class PokkenBase:
|
||||
last_evt
|
||||
)
|
||||
|
||||
|
||||
return res.SerializeToString()
|
||||
|
||||
async def handle_save_ingame_log(self, data: jackal_pb2.Request) -> bytes:
|
||||
@@ -419,6 +458,13 @@ class PokkenBase:
|
||||
async def handle_matching_is_matching(
|
||||
self, data: Dict = {}, client_ip: str = "127.0.0.1"
|
||||
) -> Dict:
|
||||
"""
|
||||
"sessionId":"12345678",
|
||||
"A":{
|
||||
"pcb_id": data["data"]["must"]["pcb_id"],
|
||||
"gip": client_ip
|
||||
},
|
||||
"""
|
||||
return {
|
||||
"data": {
|
||||
"sessionId":"12345678",
|
||||
@@ -435,6 +481,11 @@ class PokkenBase:
|
||||
) -> Dict:
|
||||
return {}
|
||||
|
||||
async def handle_matching_obtain_matching(
|
||||
self, data: Dict = {}, client_ip: str = "127.0.0.1"
|
||||
) -> Dict:
|
||||
return {}
|
||||
|
||||
async def handle_admission_noop(self, data: Dict, req_ip: str = "127.0.0.1") -> Dict:
|
||||
return {}
|
||||
|
||||
|
||||
140
titles/pokken/data/fighters.json
Normal file
140
titles/pokken/data/fighters.json
Normal file
@@ -0,0 +1,140 @@
|
||||
{
|
||||
"448": {
|
||||
"name_en": "Lucario",
|
||||
"name_jp": "ルカリオ",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/448.png"
|
||||
},
|
||||
"25": {
|
||||
"name_en": "Pikachu",
|
||||
"name_jp": "ピカチュウ",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/25.png"
|
||||
},
|
||||
"68": {
|
||||
"name_en": "Machamp",
|
||||
"name_jp": "カイリキー",
|
||||
"type": 1,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/68.png"
|
||||
},
|
||||
"282": {
|
||||
"name_en": "Gardevoir",
|
||||
"name_jp": "サーナイト",
|
||||
"type": 2,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/282.png"
|
||||
},
|
||||
"461": {
|
||||
"name_en": "Weavile",
|
||||
"name_jp": "マニューラ",
|
||||
"type": 3,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/461.png"
|
||||
},
|
||||
"245": {
|
||||
"name_en": "Suicune",
|
||||
"name_jp": "スイクン",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/245.png"
|
||||
},
|
||||
"6": {
|
||||
"name_en": "Charizard",
|
||||
"name_jp": "リザードン",
|
||||
"type": 1,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/6.png"
|
||||
},
|
||||
"94": {
|
||||
"name_en": "Gengar",
|
||||
"name_jp": "ゲンガー",
|
||||
"type": 2,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/94.png"
|
||||
},
|
||||
"257": {
|
||||
"name_en": "Blaziken",
|
||||
"name_jp": "バシャーモ",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/257.png"
|
||||
},
|
||||
"10025": {
|
||||
"name_en": "Pikachu Libre",
|
||||
"name_jp": "マスクド・ピカチュウ",
|
||||
"type": 3,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/10084.png"
|
||||
},
|
||||
"254": {
|
||||
"name_en": "Sceptile",
|
||||
"name_jp": "ジュカイン",
|
||||
"type": 3,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/254.png"
|
||||
},
|
||||
"609": {
|
||||
"name_en": "Chandelure",
|
||||
"name_jp": "シャンデラ",
|
||||
"type": 1,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/609.png"
|
||||
},
|
||||
"150": {
|
||||
"name_en": "Mewtwo",
|
||||
"name_jp": "ミュウツー",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/150.png"
|
||||
},
|
||||
"10150": {
|
||||
"name_en": "Shadow Mewtwo",
|
||||
"name_jp": "ダークミュウツー",
|
||||
"type": 2,
|
||||
"artwork": "https://archives.bulbagarden.net/media/upload/7/7a/Pokk%C3%A9n_Shadow_Mewtwo.png"
|
||||
},
|
||||
"445": {
|
||||
"name_en": "Garchomp",
|
||||
"name_jp": "ガブリアス",
|
||||
"type": 1,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/445.png"
|
||||
},
|
||||
"654": {
|
||||
"name_en": "Braixen",
|
||||
"name_jp": "テールナー",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/654.png"
|
||||
},
|
||||
"491": {
|
||||
"name_en": "Darkrai",
|
||||
"name_jp": "ダークライ",
|
||||
"type": 2,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/491.png"
|
||||
},
|
||||
"212": {
|
||||
"name_en": "Scizor",
|
||||
"name_jp": "ハッサム",
|
||||
"type": 1,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/212.png"
|
||||
},
|
||||
"453": {
|
||||
"name_en": "Croagunk",
|
||||
"name_jp": "グレッグル",
|
||||
"type": 3,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/453.png"
|
||||
},
|
||||
"395": {
|
||||
"name_en": "Empoleon",
|
||||
"name_jp": "エンペルト",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/395.png"
|
||||
},
|
||||
"724": {
|
||||
"name_en": "Decidueye",
|
||||
"name_jp": "ジュナイパー",
|
||||
"type": 0,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/724.png"
|
||||
},
|
||||
"681": {
|
||||
"name_en": "Aegislash",
|
||||
"name_jp": "ギルガルド",
|
||||
"type": 2,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/681.png"
|
||||
},
|
||||
"9": {
|
||||
"name_en": "Blastoise",
|
||||
"name_jp": "カメックス",
|
||||
"type": 1,
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/9.png"
|
||||
}
|
||||
}
|
||||
218
titles/pokken/data/support.json
Normal file
218
titles/pokken/data/support.json
Normal file
@@ -0,0 +1,218 @@
|
||||
{
|
||||
"587": {
|
||||
"name_en": "Emolga",
|
||||
"name_jp": "エモンガ",
|
||||
"desc": "Uses Shock Wave to shock the opponent and temporarily decrease its speed.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/587.png"
|
||||
},
|
||||
"653": {
|
||||
"name_en": "Fennekin",
|
||||
"name_jp": "フォッコ",
|
||||
"desc": "Uses Ember to surround itself with fire, creating a trap.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/653.png"
|
||||
},
|
||||
"495": {
|
||||
"name_en": "Snivy",
|
||||
"name_jp": "ツタージャ",
|
||||
"desc": "Uses Leaf Tornado to perform an anti-air attack and send the opponent flying.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/495.png"
|
||||
},
|
||||
"131": {
|
||||
"name_en": "Lapras",
|
||||
"name_jp": "ラプラス",
|
||||
"desc": "Uses Surf as it enters the stage, damaging the enemy with a wave of water.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/131.png"
|
||||
},
|
||||
"657": {
|
||||
"name_en": "Frogadier",
|
||||
"name_jp": "ゲコガシラ",
|
||||
"desc": "Uses Water Pulse to attack from a distance by firing water bullets. Effective when striking from long distance.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/657.png"
|
||||
},
|
||||
"133": {
|
||||
"name_en": "Eevee",
|
||||
"name_jp": "イーブイ",
|
||||
"desc": "Uses Helping Hand to heal the user and temporarily increase their attack power.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/133.png"
|
||||
},
|
||||
"385": {
|
||||
"name_en": "Jirachi",
|
||||
"name_jp": "ジラーチ",
|
||||
"desc": "Uses Wish to restore the Synergy Gauge and temporarily strengthen the user's attack power during Synergy Burst.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/385.png"
|
||||
},
|
||||
"547": {
|
||||
"name_en": "Whimsicott",
|
||||
"name_jp": "エルフーン",
|
||||
"desc": "Uses Substitute to render attacks from opponents useless and heal the user.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/547.png"
|
||||
},
|
||||
"38": {
|
||||
"name_en": "Ninetales",
|
||||
"name_jp": "キュウコン",
|
||||
"desc": "Uses Will-O-Wisp to send small flames in front of the user. Enemy's attack power decreased temporarily when contacted.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/38.png"
|
||||
},
|
||||
"429": {
|
||||
"name_en": "Mismagius",
|
||||
"name_jp": "ムウマージ",
|
||||
"desc": "Uses Ominous Wind to attack the opponent and temporarily increase the user's attack power.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/429.png"
|
||||
},
|
||||
"83": {
|
||||
"name_en": "Farfetch'd",
|
||||
"name_jp": "カモネギ",
|
||||
"desc": "Uses Fury Cutter to perform a flurry of attacks toward the opponent.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/83.png"
|
||||
},
|
||||
"101": {
|
||||
"name_en": "Electrode",
|
||||
"name_jp": "マルマイン",
|
||||
"desc": "Uses Explosion to counter an opponent's attack upon defending.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/101.png"
|
||||
},
|
||||
"479": {
|
||||
"name_en": "Rotom",
|
||||
"name_jp": "ロトム",
|
||||
"desc": "Uses Thunder Shock to target enemies in the air and temporarily decrease their speed.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/479.png"
|
||||
},
|
||||
"468": {
|
||||
"name_en": "Togekiss",
|
||||
"name_jp": "トゲキッス",
|
||||
"desc": "Uses Tailwind to temporarily increase the user's speed and recover some health.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/468.png"
|
||||
},
|
||||
"149": {
|
||||
"name_en": "Dragonite",
|
||||
"name_jp": "カイリュー",
|
||||
"desc": "Uses Draco Meteor to attack multiple times over a wide area.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/149.png"
|
||||
},
|
||||
"494": {
|
||||
"name_en": "Victini",
|
||||
"name_jp": "ビクティニ",
|
||||
"desc": "Uses V-create to temporarily make the user's attacks critical hits, restores some of the user's health, and increases the user's Synergy Gauge. Unlike other Enhance Pokémon, Victini can actually damage the foe if they're above it when flying off the screen.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/494.png"
|
||||
},
|
||||
"453": {
|
||||
"name_en": "Croagunk",
|
||||
"name_jp": "グレッグル",
|
||||
"desc": "Uses Toxic to attack opponent and temporarily decrease its defense.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/453.png"
|
||||
},
|
||||
"700": {
|
||||
"name_en": "Sylveon",
|
||||
"name_jp": "ニンフィア",
|
||||
"desc": "Uses Reflect to heal user and temporarily increase their defense.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/700.png"
|
||||
},
|
||||
"417": {
|
||||
"name_en": "Pachirisu",
|
||||
"name_jp": "パチリス",
|
||||
"desc": "Uses Follow Me to eliminate long distance attacks. Effective when get in close.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/417.png"
|
||||
},
|
||||
"129": {
|
||||
"name_en": "Magikarp",
|
||||
"name_jp": "コイキング",
|
||||
"desc": "Uses Bounce to disrupt the enemy's attack when hit by an opponent. Effective for interrupting combos.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/129.png"
|
||||
},
|
||||
"104": {
|
||||
"name_en": "Cubone",
|
||||
"name_jp": "カラカラ",
|
||||
"desc": "Uses Bonemerang to attack from a distance and can pull an enemy in.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/104.png"
|
||||
},
|
||||
"50": {
|
||||
"name_en": "Diglett",
|
||||
"name_jp": "ディグダ",
|
||||
"desc": "Uses Dig to attack from below, making easy to aim for a combo.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/50.png"
|
||||
},
|
||||
"82": {
|
||||
"name_en": "Magneton",
|
||||
"name_jp": "レアコイル",
|
||||
"desc": "Uses Tri Attack to attack from a distance diagonally upward and inflict two random negative statuses.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/82.png"
|
||||
},
|
||||
"195": {
|
||||
"name_en": "Quagsire",
|
||||
"name_jp": "ヌオー",
|
||||
"desc": "Uses Mud Bomb to attack opponent on the ground, even when blocked.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/195.png"
|
||||
},
|
||||
"196": {
|
||||
"name_en": "Espeon",
|
||||
"name_jp": "エーフィ",
|
||||
"desc": "Uses Morning Sun to remove any statuses and recover health, with more health recovered with less time remaining in the round.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/196.png"
|
||||
},
|
||||
"197": {
|
||||
"name_en": "Umbreon",
|
||||
"name_jp": "ブラッキー",
|
||||
"desc": "Uses Snarl to absorb an opponent's Synergy Gauge and prevent them from performing any critical hits.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/197.png"
|
||||
},
|
||||
"643": {
|
||||
"name_en": "Reshiram",
|
||||
"name_jp": "レシラム",
|
||||
"desc": "Uses Blue Flare to attack straight forward with a powerful flame. In the DX version, it can only be called once per round.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/643.png"
|
||||
},
|
||||
"488": {
|
||||
"name_en": "Cresselia",
|
||||
"name_jp": "クレセリア",
|
||||
"desc": "Uses Lunar Dance to heal the user of any negative status, recovers health and Synergy Gauge, but can only be used once per round.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/488.png"
|
||||
},
|
||||
"717": {
|
||||
"name_en": "Yveltal",
|
||||
"name_jp": "イベルタル",
|
||||
"desc": "Uses Oblivion Wing to attack from the sky and seal off the opponent's Synergy Burst. In the DX version, it can only be called once per round.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/717.png"
|
||||
},
|
||||
"381": {
|
||||
"name_en": "Latios",
|
||||
"name_jp": "ラティオス",
|
||||
"desc": "Uses Luster Purge to place attacks around the enemy in order to restrict their movements. In the DX version, it can only be called once per round.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/381.png"
|
||||
},
|
||||
"725": {
|
||||
"name_en": "Litten",
|
||||
"name_jp": "ニャビー",
|
||||
"desc": "Uses Fire Fang to attack toward the enemy. Damage increases when the player's at lower HP.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/725.png"
|
||||
},
|
||||
"728": {
|
||||
"name_en": "Popplio",
|
||||
"name_jp": "アシマリ",
|
||||
"desc": "Uses Bubble Beam to temporarily increase attack and grant a double jump while in midair.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/728.png"
|
||||
},
|
||||
"10079": {
|
||||
"name_en": "Mega Rayquaza",
|
||||
"name_jp": "レックウザ",
|
||||
"desc": "Uses Dragon Ascent to attack from a distance at tremendous speed. It also consumes the user's Synergy Gauge. It can only be called once per round.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/10079.png"
|
||||
},
|
||||
"778": {
|
||||
"name_en": "Mimikyu",
|
||||
"name_jp": "ミミッキュ",
|
||||
"desc": "Uses Play Rough to attack continuously from behind and inflict double negative status.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/778.png"
|
||||
},
|
||||
"151": {
|
||||
"name_en": "Mew",
|
||||
"name_jp": "ミュウ",
|
||||
"desc": "Uses Miraculous Power to randomly increase the user's Synergy Gauge, temporarily makes the user's attacks critical hits, and/or gives the user additional random positive status.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/151.png"
|
||||
},
|
||||
"251": {
|
||||
"name_en": "Celebi",
|
||||
"name_jp": "セレビィ",
|
||||
"desc": "Uses Time Travel (Japanese: ときわたり Time Travel) to switch between Phases at almost any given moment, even when enemy guards an attack.",
|
||||
"artwork": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/251.png"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import Optional, Dict, List, Union
|
||||
from sqlalchemy import Table, Column, UniqueConstraint, PrimaryKeyConstraint, and_, case
|
||||
from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON
|
||||
from sqlalchemy.types import Integer, String, TIMESTAMP, Boolean, JSON, INTEGER
|
||||
from sqlalchemy.schema import ForeignKey
|
||||
from sqlalchemy.sql import func, select, update, delete
|
||||
from sqlalchemy.sql.functions import coalesce
|
||||
@@ -16,13 +16,8 @@ profile = Table(
|
||||
"pokken_profile",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column(
|
||||
"user",
|
||||
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
|
||||
nullable=False,
|
||||
unique=True,
|
||||
),
|
||||
Column("trainer_name", String(16)), # optional
|
||||
Column("user", Integer, ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False, unique=True),
|
||||
Column("trainer_name", String(14)), # optional
|
||||
Column("home_region_code", Integer),
|
||||
Column("home_loc_name", String(255)),
|
||||
Column("pref_code", Integer),
|
||||
@@ -66,7 +61,7 @@ profile = Table(
|
||||
Column("navi_trainer", Integer),
|
||||
Column("navi_version_id", Integer),
|
||||
Column("aid_skill_list", JSON), # Repeated, Integer
|
||||
Column("aid_skill", Integer),
|
||||
Column("aid_skill", Integer), # Cheer skill, 6 of them, unlocked by lucky bonus
|
||||
Column("comment_text_id", Integer),
|
||||
Column("comment_word_id", Integer),
|
||||
Column("latest_use_pokemon", Integer),
|
||||
@@ -105,20 +100,16 @@ profile = Table(
|
||||
Column("battle_num_vs_cpu", Integer), # 2
|
||||
Column("win_cpu", Integer),
|
||||
Column("battle_num_tutorial", Integer), # 1?
|
||||
mysql_charset="utf8mb4",
|
||||
mysql_charset="utf8mb4"
|
||||
)
|
||||
|
||||
pokemon_data = Table(
|
||||
"pokken_pokemon_data",
|
||||
metadata,
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column(
|
||||
"user",
|
||||
ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"),
|
||||
nullable=False,
|
||||
),
|
||||
Column("char_id", Integer, nullable=False),
|
||||
Column("illustration_book_no", Integer),
|
||||
Column("user", Integer, ForeignKey("aime_user.id", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
Column("char_id", Integer),
|
||||
Column("illustration_book_no", Integer, nullable=False), # This is the fucking pokedex number????
|
||||
Column("pokemon_exp", Integer),
|
||||
Column("battle_num_vs_wan", Integer), # 4?
|
||||
Column("win_vs_wan", Integer),
|
||||
@@ -132,8 +123,8 @@ pokemon_data = Table(
|
||||
Column("bp_point_res", Integer),
|
||||
Column("bp_point_def", Integer),
|
||||
Column("bp_point_sp", Integer),
|
||||
UniqueConstraint("user", "char_id", name="pokken_pokemon_data_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
UniqueConstraint("user", "illustration_book_no", name="pokken_pokemon_uk"),
|
||||
mysql_charset="utf8mb4"
|
||||
)
|
||||
|
||||
|
||||
@@ -157,8 +148,8 @@ class PokkenProfileData(BaseData):
|
||||
return result.lastrowid
|
||||
|
||||
async def set_profile_name(self, user_id: int, new_name: str, gender: Union[int, None] = None) -> None:
|
||||
sql = update(profile).where(profile.c.user == user_id).values(
|
||||
trainer_name=new_name,
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
trainer_name=new_name if new_name else profile.c.trainer_name,
|
||||
avatar_gender=gender if gender is not None else profile.c.avatar_gender
|
||||
)
|
||||
result = await self.execute(sql)
|
||||
@@ -179,12 +170,12 @@ class PokkenProfileData(BaseData):
|
||||
aid_skill: int,
|
||||
last_evt: int
|
||||
) -> None:
|
||||
sql = update(profile).where(profile.c.user == user_id).values(
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
extra_counter=extra_counter,
|
||||
event_reward_get_flag=evt_reward_get_flg,
|
||||
total_play_days=total_play_days,
|
||||
awake_num=awake_num,
|
||||
use_support_num=use_support_ct,
|
||||
total_play_days=coalesce(profile.c.total_play_days, 0) + total_play_days,
|
||||
awake_num=coalesce(profile.c.awake_num, 0) + awake_num,
|
||||
use_support_num=coalesce(profile.c.use_support_num, 0) + use_support_ct,
|
||||
beat_num=beat_num,
|
||||
aid_skill=aid_skill,
|
||||
last_play_event_id=last_evt
|
||||
@@ -195,7 +186,7 @@ class PokkenProfileData(BaseData):
|
||||
self.logger.error(f"Failed to put extra data for user {user_id}")
|
||||
|
||||
async def update_profile_tutorial_flags(self, user_id: int, tutorial_flags: List) -> None:
|
||||
sql = update(profile).where(profile.c.user == user_id).values(
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
tutorial_progress_flag=tutorial_flags,
|
||||
)
|
||||
result = await self.execute(sql)
|
||||
@@ -205,7 +196,7 @@ class PokkenProfileData(BaseData):
|
||||
)
|
||||
|
||||
async def update_profile_achievement_flags(self, user_id: int, achievement_flags: List) -> None:
|
||||
sql = update(profile).where(profile.c.user == user_id).values(
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
achievement_flag=achievement_flags,
|
||||
)
|
||||
result = await self.execute(sql)
|
||||
@@ -215,7 +206,7 @@ class PokkenProfileData(BaseData):
|
||||
)
|
||||
|
||||
async def update_profile_event(self, user_id: int, event_state: List, event_flags: List[int], event_param: List[int], last_evt: int = None) -> None:
|
||||
sql = update(profile).where(profile.c.user == user_id).values(
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
event_state=event_state,
|
||||
event_achievement_flag=event_flags,
|
||||
event_achievement_param=event_param,
|
||||
@@ -230,12 +221,16 @@ class PokkenProfileData(BaseData):
|
||||
async def add_profile_points(
|
||||
self, user_id: int, rank_pts: int, money: int, score_pts: int, grade_max: int
|
||||
) -> None:
|
||||
sql = update(profile).where(profile.c.user == user_id).values(
|
||||
trainer_rank_point = profile.c.trainer_rank_point + rank_pts,
|
||||
fight_money = profile.c.fight_money + money,
|
||||
score_point = profile.c.score_point + score_pts,
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
trainer_rank_point = coalesce(profile.c.trainer_rank_point, 0) + rank_pts,
|
||||
wallet = coalesce(profile.c.wallet, 0) + money,
|
||||
score_point = coalesce(profile.c.score_point, 0) + score_pts,
|
||||
grade_max_num = grade_max
|
||||
)
|
||||
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
return None
|
||||
|
||||
async def get_profile(self, user_id: int) -> Optional[Row]:
|
||||
sql = profile.select(profile.c.user == user_id)
|
||||
@@ -248,7 +243,7 @@ class PokkenProfileData(BaseData):
|
||||
self,
|
||||
user_id: int,
|
||||
pokemon_id: int,
|
||||
illust_no: int,
|
||||
pokedex_number: int,
|
||||
atk: int,
|
||||
res: int,
|
||||
defe: int,
|
||||
@@ -257,7 +252,7 @@ class PokkenProfileData(BaseData):
|
||||
sql = insert(pokemon_data).values(
|
||||
user=user_id,
|
||||
char_id=pokemon_id,
|
||||
illustration_book_no=illust_no,
|
||||
illustration_book_no=pokedex_number,
|
||||
pokemon_exp=0,
|
||||
battle_num_vs_wan=0,
|
||||
win_vs_wan=0,
|
||||
@@ -274,7 +269,7 @@ class PokkenProfileData(BaseData):
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_update(
|
||||
illustration_book_no=illust_no,
|
||||
illustration_book_no=pokedex_number,
|
||||
bp_point_atk=pokemon_data.c.bp_point_atk + atk,
|
||||
bp_point_res=pokemon_data.c.bp_point_res + res,
|
||||
bp_point_def=pokemon_data.c.bp_point_def + defe,
|
||||
@@ -293,7 +288,7 @@ class PokkenProfileData(BaseData):
|
||||
pokemon_id: int,
|
||||
xp: int
|
||||
) -> None:
|
||||
sql = update(pokemon_data).where(and_(pokemon_data.c.user==user_id, pokemon_data.c.char_id==pokemon_id)).values(
|
||||
sql = pokemon_data.update(and_(pokemon_data.c.user==user_id, pokemon_data.c.illustration_book_no==pokemon_id)).values(
|
||||
pokemon_exp=coalesce(pokemon_data.c.pokemon_exp, 0) + xp
|
||||
)
|
||||
|
||||
@@ -302,7 +297,7 @@ class PokkenProfileData(BaseData):
|
||||
self.logger.warning(f"Failed to add {xp} XP to pokemon ID {pokemon_id} for user {user_id}")
|
||||
|
||||
async def get_pokemon_data(self, user_id: int, pokemon_id: int) -> Optional[Row]:
|
||||
sql = pokemon_data.select(and_(pokemon_data.c.user == user_id, pokemon_data.c.char_id == pokemon_id))
|
||||
sql = pokemon_data.select(and_(pokemon_data.c.user == user_id, pokemon_data.c.illustration_book_no == pokemon_id))
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
return None
|
||||
@@ -315,6 +310,14 @@ class PokkenProfileData(BaseData):
|
||||
return None
|
||||
return result.fetchall()
|
||||
|
||||
async def set_latest_mon(self, user_id: int, pokedex_no: int) -> None:
|
||||
sql = profile.update(profile.c.user == user_id).values(
|
||||
latest_use_pokemon=pokedex_no
|
||||
)
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
self.logger.warning(f"Failed to update user {user_id}'s last used pokemon {pokedex_no}")
|
||||
|
||||
async def put_pokemon_battle_result(
|
||||
self, user_id: int, pokemon_id: int, match_type: PokkenConstants.BATTLE_TYPE, match_result: PokkenConstants.BATTLE_RESULT
|
||||
) -> None:
|
||||
@@ -322,7 +325,7 @@ class PokkenProfileData(BaseData):
|
||||
Records the match stats (type and win/loss) for the pokemon and profile
|
||||
coalesce(pokemon_data.c.win_vs_wan, 0)
|
||||
"""
|
||||
sql = update(pokemon_data).where(and_(pokemon_data.c.user==user_id, pokemon_data.c.char_id==pokemon_id)).values(
|
||||
sql = pokemon_data.update(and_(pokemon_data.c.user==user_id, pokemon_data.c.illustration_book_no==pokemon_id)).values(
|
||||
battle_num_tutorial=coalesce(pokemon_data.c.battle_num_tutorial, 0) + 1 if match_type==PokkenConstants.BATTLE_TYPE.TUTORIAL else coalesce(pokemon_data.c.battle_num_tutorial, 0),
|
||||
battle_all_num_tutorial=coalesce(pokemon_data.c.battle_all_num_tutorial, 0) + 1 if match_type==PokkenConstants.BATTLE_TYPE.TUTORIAL else coalesce(pokemon_data.c.battle_all_num_tutorial, 0),
|
||||
|
||||
@@ -353,7 +356,7 @@ class PokkenProfileData(BaseData):
|
||||
"""
|
||||
Records profile stats
|
||||
"""
|
||||
sql = update(profile).where(profile.c.user==user_id).values(
|
||||
sql = profile.update(profile.c.user==user_id).values(
|
||||
ex_ko_num=coalesce(profile.c.ex_ko_num, 0) + exkos,
|
||||
wko_num=coalesce(profile.c.wko_num, 0) + wkos,
|
||||
timeup_win_num=coalesce(profile.c.timeup_win_num, 0) + timeout_wins,
|
||||
@@ -367,7 +370,12 @@ class PokkenProfileData(BaseData):
|
||||
self.logger.warning(f"Failed to update stats for user {user_id}")
|
||||
|
||||
async def update_support_team(self, user_id: int, support_id: int, support1: int = None, support2: int = None) -> None:
|
||||
sql = update(profile).where(profile.c.user==user_id).values(
|
||||
if support1 == 4294967295:
|
||||
support1 = None
|
||||
|
||||
if support2 == 4294967295:
|
||||
support2 = None
|
||||
sql = profile.update(profile.c.user==user_id).values(
|
||||
support_set_1_1=support1 if support_id == 1 else profile.c.support_set_1_1,
|
||||
support_set_1_2=support2 if support_id == 1 else profile.c.support_set_1_2,
|
||||
support_set_2_1=support1 if support_id == 2 else profile.c.support_set_2_1,
|
||||
@@ -379,3 +387,15 @@ class PokkenProfileData(BaseData):
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
self.logger.warning(f"Failed to update support team {support_id} for user {user_id}")
|
||||
|
||||
async def update_rankmatch_data(self, user_id: int, flag: int, rm_max: Optional[int], success: Optional[int], progress: List[int]) -> None:
|
||||
sql = profile.update(profile.c.user==user_id).values(
|
||||
rankmatch_flag=flag,
|
||||
rankmatch_max=rm_max,
|
||||
rankmatch_progress=progress,
|
||||
rankmatch_success=success,
|
||||
)
|
||||
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
self.logger.warning(f"Failed to update rankmatch data for user {user_id}")
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
from .index import SaoServlet
|
||||
from .const import SaoConstants
|
||||
from .database import SaoData
|
||||
from .frontend import SaoFrontend
|
||||
from .read import SaoReader
|
||||
|
||||
index = SaoServlet
|
||||
database = SaoData
|
||||
frontend = SaoFrontend
|
||||
reader = SaoReader
|
||||
game_codes = [SaoConstants.GAME_CODE]
|
||||
|
||||
3149
titles/sao/base.py
3149
titles/sao/base.py
File diff suppressed because it is too large
Load Diff
@@ -30,9 +30,21 @@ class SaoServerConfig:
|
||||
)
|
||||
|
||||
@property
|
||||
def use_https(self) -> bool:
|
||||
def photon_app_id(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "server", "use_https", default=False
|
||||
self.__config, "sao", "server", "photon_app_id", default="7df3a2f6-d69d-4073-aafe-810ee61e1cea"
|
||||
)
|
||||
|
||||
@property
|
||||
def data_version(self) -> int:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "server", "data_version", default=1
|
||||
)
|
||||
|
||||
@property
|
||||
def game_version(self) -> int:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "server", "game_version", default=33
|
||||
)
|
||||
|
||||
class SaoCryptConfig:
|
||||
@@ -50,12 +62,6 @@ class SaoCryptConfig:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "crypt", "key", default=""
|
||||
)
|
||||
|
||||
@property
|
||||
def iv(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "crypt", "iv", default=""
|
||||
)
|
||||
|
||||
class SaoHashConfig:
|
||||
def __init__(self, parent_config: "SaoConfig"):
|
||||
@@ -73,9 +79,31 @@ class SaoHashConfig:
|
||||
self.__config, "sao", "hash", "hash_base", default=""
|
||||
)
|
||||
|
||||
class SaoCardConfig:
|
||||
def __init__(self, parent_config: "SaoConfig"):
|
||||
self.__config = parent_config
|
||||
|
||||
@property
|
||||
def enable(self) -> bool:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "card", "enable", default=True
|
||||
)
|
||||
|
||||
@property
|
||||
def crypt_password(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "card", "crypt_password", default=""
|
||||
)
|
||||
|
||||
@property
|
||||
def crypt_salt(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "sao", "card", "crypt_salt", default=""
|
||||
)
|
||||
|
||||
class SaoConfig(dict):
|
||||
def __init__(self) -> None:
|
||||
self.server = SaoServerConfig(self)
|
||||
self.crypt = SaoCryptConfig(self)
|
||||
self.hash = SaoHashConfig(self)
|
||||
self.card = SaoCardConfig(self)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
from enum import Enum
|
||||
|
||||
from enum import IntEnum
|
||||
|
||||
class SaoConstants:
|
||||
GAME_CODE = "SDEW"
|
||||
@@ -9,8 +8,8 @@ class SaoConstants:
|
||||
|
||||
VER_SAO = 0
|
||||
|
||||
VERSION_NAMES = ("Sword Art Online Arcade")
|
||||
|
||||
VERSION_NAMES = ("Sword Art Online Arcade",)
|
||||
|
||||
SERIAL_IDENT_SATALITE = 4
|
||||
SERIAL_IDENT_TERMINAL = 5
|
||||
|
||||
@@ -23,3 +22,653 @@ class SaoConstants:
|
||||
@classmethod
|
||||
def game_ver_to_string(cls, ver: int):
|
||||
return cls.VERSION_NAMES[ver]
|
||||
|
||||
class RewardType(IntEnum):
|
||||
None_ = 0
|
||||
HeroLog = 1
|
||||
Equipment = 2
|
||||
Item = 3
|
||||
Col = 4
|
||||
VP = 5
|
||||
YuiMadal = 6
|
||||
VPGashaTicket = 7
|
||||
SupportLog = 8
|
||||
EpisodeAppend = 9
|
||||
EventItem = 10
|
||||
Ticket = 11
|
||||
|
||||
class ItemType(IntEnum):
|
||||
ADD_HERO_PROPERTY = 1
|
||||
ADD_WEAPON_PROPERTY = 2
|
||||
ADD_ARMOR_PROPERTY = 3
|
||||
UNLOCK_PROPERTY = 4
|
||||
REMOVE_PROPERTY = 5
|
||||
ADD_SKILL_SLOT = 6
|
||||
ADD_XP = 7
|
||||
REDEMPTION = 8
|
||||
HERO_LEVEL_LIMIT_BREAK = 9
|
||||
WEAPON_LEVEL_LIMIT_BREAK = 10
|
||||
ARMOR_LEVEL_LIMIT_BREAK = 11
|
||||
ADD_AWAKENING_XP = 12
|
||||
|
||||
class ExBonusCondition(IntEnum):
|
||||
CLEAR_UNDER_X_SECS = 1
|
||||
DEFEAT_X_MONSTER_Y_TIMES = 2
|
||||
DEFEAT_X_MONSTERS = 3
|
||||
CLEAR_X_MISSIONS = 4
|
||||
CLEAR_MISSION_DIFFICULTY_X = 5
|
||||
COLLECT_X_LOGS = 6
|
||||
CLEAR_SKILL_LEVEL_X = 7
|
||||
NO_LOSSES = 8
|
||||
ACCEL_X_TIMES = 9
|
||||
MAX_COMBO_X = 10
|
||||
MULTIPLAYER_CLEAR_X = 11
|
||||
|
||||
class UnanalyzedLogGrade(IntEnum):
|
||||
WHITE = 1
|
||||
COPPER = 2
|
||||
SILVER = 3
|
||||
GOLD = 4
|
||||
RAINBOW = 5
|
||||
|
||||
class QuestType(IntEnum):
|
||||
EPISODE = 1
|
||||
TRIAL_TOWER = 2
|
||||
SIDE = 3
|
||||
VERSUS = 4
|
||||
EX_TOWER = 5
|
||||
EPISODE_CHAPTER = 6 # Unused
|
||||
|
||||
class GameconnectCmd(IntEnum):
|
||||
TICKET_REQUEST = 0xC000
|
||||
TICKET_RESPONSE = 0xC001
|
||||
GET_APP_VERSIONS_REQUEST = 0xC100
|
||||
GET_APP_VERSIONS_RESPONSE = 0xC101
|
||||
MASTER_DATA_VERSION_CHECK_REQUEST = 0xC102
|
||||
MASTER_DATA_VERSION_CHECK_RESPONSE = 0xC103
|
||||
LOGIN_REQUEST = 0xC104
|
||||
LOGIN_RESPONSE = 0xC105
|
||||
LOGOUT_REQUEST = 0xC106
|
||||
LOGOUT_RESPONSE = 0xC107
|
||||
LOGOUT_TICKET_UNPURCHASED_REQUEST = 0xC108
|
||||
LOGOUT_TICKET_UNPURCHASED_RESPONSE = 0xC109
|
||||
PAYING_PLAY_START_REQUEST = 0xC10A
|
||||
PAYING_PLAY_START_RESPONSE = 0xC10B
|
||||
PAYING_PLAY_END_REQUEST = 0xC10C
|
||||
PAYING_PLAY_END_RESPONSE = 0xC10D
|
||||
PURCHASE_TICKET_REQUEST = 0xC10E
|
||||
PURCHASE_TICKET_RESPONSE = 0xC10F
|
||||
CONSUME_TICKET_REQUEST = 0xC110
|
||||
CONSUME_TICKET_RESPONSE = 0xC111
|
||||
ADD_CREDIT_REQUEST = 0xC112
|
||||
ADD_CREDIT_RESPONSE = 0xC113
|
||||
CONSUME_CREDIT_REQUEST = 0xC114
|
||||
CONSUME_CREDIT_RESPONSE = 0xC115
|
||||
PURCHASE_TICKET_GUEST_REQUEST = 0xC116
|
||||
PURCHASE_TICKET_GUEST_RESPONSE = 0xC117
|
||||
CONSUME_TICKET_GUEST_REQUEST = 0xC118
|
||||
CONSUME_TICKET_GUEST_RESPONSE = 0xC119
|
||||
ADD_CREDIT_GUEST_REQUEST = 0xC11A
|
||||
ADD_CREDIT_GUEST_RESPONSE = 0xC11B
|
||||
CONSUME_CREDIT_GUEST_REQUEST = 0xC11C
|
||||
CONSUME_CREDIT_GUEST_RESPONSE = 0xC11D
|
||||
GET_AUTH_CARD_DATA_REQUEST = 0xC11E
|
||||
GET_AUTH_CARD_DATA_RESPONSE = 0xC11F
|
||||
GET_ACCESS_CODE_BY_KEITAI_REQUEST = 0xC120
|
||||
GET_ACCESS_CODE_BY_KEITAI_RESPONSE = 0xC121
|
||||
GET_MAINTENANCE_INFO_REQUEST = 0xC122
|
||||
GET_MAINTENANCE_INFO_RESPONSE = 0xC123
|
||||
GET_RESOURCE_PATH_INFO_REQUEST = 0xC124
|
||||
GET_RESOURCE_PATH_INFO_RESPONSE = 0xC125
|
||||
VALIDATION_ERROR_NOTIFICATION_REQUEST = 0xC126
|
||||
VALIDATION_ERROR_NOTIFICATION_RESPONSE = 0xC127
|
||||
POWER_CUTTING_RETURN_NOTIFICATION_REQUEST = 0xC128
|
||||
POWER_CUTTING_RETURN_NOTIFICATION_RESPONSE = 0xC129
|
||||
GIVE_FREE_TICKET_REQUEST = 0xC12A
|
||||
GIVE_FREE_TICKET_RESPONSE = 0xC12B
|
||||
MATCHING_ERROR_NOTIFICATION_REQUEST = 0xC12C
|
||||
MATCHING_ERROR_NOTIFICATION_RESPONSE = 0xC12D
|
||||
AC_CABINET_BOOT_NOTIFICATION_REQUEST = 0xC12E
|
||||
AC_CABINET_BOOT_NOTIFICATION_RESPONSE = 0xC12F
|
||||
FIRST_TUTORIAL_END_REQUEST = 0xC200
|
||||
FIRST_TUTORIAL_END_RESPONSE = 0xC201
|
||||
VARIOUS_TUTORIAL_END_REQUEST = 0xC202
|
||||
VARIOUS_TUTORIAL_END_RESPONSE = 0xC203
|
||||
GET_VARIOUS_TUTORIAL_DATA_LIST_REQUEST = 0xC204
|
||||
GET_VARIOUS_TUTORIAL_DATA_LIST_RESPONSE = 0xC205
|
||||
DISCHARGE_PROFILE_CARD_REQUEST = 0xC300
|
||||
DISCHARGE_PROFILE_CARD_RESPONSE = 0xC301
|
||||
DISCHARGE_RESOURCE_CARD_REQUEST = 0xC302
|
||||
DISCHARGE_RESOURCE_CARD_RESPONSE = 0xC303
|
||||
DISCHARGE_RESOURCE_CARD_COMPLETE_REQUEST = 0xC304
|
||||
DISCHARGE_RESOURCE_CARD_COMPLETE_RESPONSE = 0xC305
|
||||
SCAN_QR_QUEST_PROFILE_CARD_REQUEST = 0xC306
|
||||
SCAN_QR_QUEST_PROFILE_CARD_RESPONSE = 0xC307
|
||||
SCAN_QR_SHOP_RESOURCE_CARD_REQUEST = 0xC308
|
||||
SCAN_QR_SHOP_RESOURCE_CARD_RESPONSE = 0xC309
|
||||
SCAN_QR_QUEST_RESOURCE_CARD_REQUEST = 0xC30A
|
||||
SCAN_QR_QUEST_RESOURCE_CARD_RESPONSE = 0xC30B
|
||||
CHECK_YUI_MEDAL_GET_CONDITION_REQUEST = 0xC400
|
||||
CHECK_YUI_MEDAL_GET_CONDITION_RESPONSE = 0xC401
|
||||
GET_YUI_MEDAL_BONUS_USER_DATA_REQUEST = 0xC402
|
||||
GET_YUI_MEDAL_BONUS_USER_DATA_RESPONSE = 0xC403
|
||||
CHECK_COMEBACK_EVENT_REQUEST = 0xC404
|
||||
CHECK_COMEBACK_EVENT_RESPONSE = 0xC405
|
||||
CHANGE_MY_STORE_REQUEST = 0xC406
|
||||
CHANGE_MY_STORE_RESPONSE = 0xC407
|
||||
CHECK_TITLE_GET_DECISION_REQUEST = 0xC408
|
||||
CHECK_TITLE_GET_DECISION_RESPONSE = 0xC409
|
||||
CHECK_PROFILE_CARD_USED_REWARD_REQUEST = 0xC40A
|
||||
CHECK_PROFILE_CARD_USED_REWARD_RESPONSE = 0xC40B
|
||||
CHECK_AC_LOGIN_BONUS_REQUEST = 0xC40C
|
||||
CHECK_AC_LOGIN_BONUS_RESPONSE = 0xC40D
|
||||
GET_USER_BASIC_DATA_REQUEST = 0xC500
|
||||
GET_USER_BASIC_DATA_RESPONSE = 0xC501
|
||||
GET_VP_GASHA_TICKET_DATA_LIST_REQUEST = 0xC502
|
||||
GET_VP_GASHA_TICKET_DATA_LIST_RESPONSE = 0xC503
|
||||
GET_PRESENT_BOX_NUM_REQUEST = 0xC504
|
||||
GET_PRESENT_BOX_NUM_RESPONSE = 0xC505
|
||||
GET_HERO_LOG_USER_DATA_LIST_REQUEST = 0xC600
|
||||
GET_HERO_LOG_USER_DATA_LIST_RESPONSE = 0xC601
|
||||
GET_EQUIPMENT_USER_DATA_LIST_REQUEST = 0xC602
|
||||
GET_EQUIPMENT_USER_DATA_LIST_RESPONSE = 0xC603
|
||||
GET_ITEM_USER_DATA_LIST_REQUEST = 0xC604
|
||||
GET_ITEM_USER_DATA_LIST_RESPONSE = 0xC605
|
||||
GET_SUPPORT_LOG_USER_DATA_LIST_REQUEST = 0xC606
|
||||
GET_SUPPORT_LOG_USER_DATA_LIST_RESPONSE = 0xC607
|
||||
GET_EPISODE_APPEND_DATA_LIST_REQUEST = 0xC608
|
||||
GET_EPISODE_APPEND_DATA_LIST_RESPONSE = 0xC609
|
||||
GET_EVENT_ITEM_DATA_LIST_REQUEST = 0xC60A
|
||||
GET_EVENT_ITEM_DATA_LIST_RESPONSE = 0xC60B
|
||||
GET_GASHA_MEDAL_USER_DATA_LIST_REQUEST = 0xC60C
|
||||
GET_GASHA_MEDAL_USER_DATA_LIST_RESPONSE = 0xC60D
|
||||
GET_SHOP_RESOURCE_SALES_DATA_LIST_REQUEST = 0xC700
|
||||
GET_SHOP_RESOURCE_SALES_DATA_LIST_RESPONSE = 0xC701
|
||||
PURCHASE_SHOP_RESOURCE_REQUEST = 0xC702
|
||||
PURCHASE_SHOP_RESOURCE_RESPONSE = 0xC703
|
||||
DISCARD_SHOP_RESOURCE_REQUEST = 0xC704
|
||||
DISCARD_SHOP_RESOURCE_RESPONSE = 0xC705
|
||||
GET_TITLE_USER_DATA_LIST_REQUEST = 0xC800
|
||||
GET_TITLE_USER_DATA_LIST_RESPONSE = 0xC801
|
||||
CHANGE_TITLE_REQUEST = 0xC802
|
||||
CHANGE_TITLE_RESPONSE = 0xC803
|
||||
GET_PARTY_DATA_LIST_REQUEST = 0xC804
|
||||
GET_PARTY_DATA_LIST_RESPONSE = 0xC805
|
||||
CHANGE_PARTY_REQUEST = 0xC806
|
||||
CHANGE_PARTY_RESPONSE = 0xC807
|
||||
GET_SUPPORT_LOG_PARTY_DATA_LIST_REQUEST = 0xC808
|
||||
GET_SUPPORT_LOG_PARTY_DATA_LIST_RESPONSE = 0xC809
|
||||
CHANGE_SUPPORT_LOG_PARTY_REQUEST = 0xC80A
|
||||
CHANGE_SUPPORT_LOG_PARTY_RESPONSE = 0xC80B
|
||||
CHANGE_HERO_LOG_LAST_SETTING_SKILL_REQUEST = 0xC80C
|
||||
CHANGE_HERO_LOG_LAST_SETTING_SKILL_RESPONSE = 0xC80D
|
||||
LOCK_RESOURCE_REQUEST = 0xC80E
|
||||
LOCK_RESOURCE_RESPONSE = 0xC80F
|
||||
UNLOCK_RESOURCE_REQUEST = 0xC810
|
||||
UNLOCK_RESOURCE_RESPONSE = 0xC811
|
||||
DISPOSAL_RESOURCE_REQUEST = 0xC812
|
||||
DISPOSAL_RESOURCE_RESPONSE = 0xC813
|
||||
SYNTHESIZE_ENHANCEMENT_HERO_LOG_REQUEST = 0xC814
|
||||
SYNTHESIZE_ENHANCEMENT_HERO_LOG_RESPONSE = 0xC815
|
||||
SYNTHESIZE_ENHANCEMENT_EQUIPMENT_REQUEST = 0xC816
|
||||
SYNTHESIZE_ENHANCEMENT_EQUIPMENT_RESPONSE = 0xC817
|
||||
SYNTHESIZE_ENHANCEMENT_SUPPORT_LOG_REQUEST = 0xC818
|
||||
SYNTHESIZE_ENHANCEMENT_SUPPORT_LOG_RESPONSE = 0xC819
|
||||
SYNTHESIZE_ABILITY_HERO_LOG_REQUEST = 0xC81A
|
||||
SYNTHESIZE_ABILITY_HERO_LOG_RESPONSE = 0xC81B
|
||||
SYNTHESIZE_ABILITY_EQUIPMENT_REQUEST = 0xC81C
|
||||
SYNTHESIZE_ABILITY_EQUIPMENT_RESPONSE = 0xC81D
|
||||
SYNTHESIZE_ABILITY_SUPPORT_LOG_REQUEST = 0xC81E
|
||||
SYNTHESIZE_ABILITY_SUPPORT_LOG_RESPONSE = 0xC820
|
||||
GET_QUEST_SCENE_USER_DATA_LIST_REQUEST = 0xC900
|
||||
GET_QUEST_SCENE_USER_DATA_LIST_RESPONSE = 0xC901
|
||||
GET_QUEST_SCENE_PREV_SCAN_PROFILE_CARD_REQUEST = 0xC902
|
||||
GET_QUEST_SCENE_PREV_SCAN_PROFILE_CARD_RESPONSE = 0xC903
|
||||
EPISODE_PLAY_START_REQUEST = 0xC904
|
||||
EPISODE_PLAY_START_RESPONSE = 0xC905
|
||||
EPISODE_PLAY_CONTINUE_REQUEST = 0xC906
|
||||
EPISODE_PLAY_CONTINUE_RESPONSE = 0xC907
|
||||
EPISODE_PLAY_END_REQUEST = 0xC908
|
||||
EPISODE_PLAY_END_RESPONSE = 0xC909
|
||||
EPISODE_PLAY_END_UNANALYZED_LOG_FIXED_REQUEST = 0xC90A
|
||||
EPISODE_PLAY_END_UNANALYZED_LOG_FIXED_RESPONSE = 0xC90B
|
||||
SIDE_QUEST_PLAY_START_REQUEST = 0xC90C
|
||||
SIDE_QUEST_PLAY_START_RESPONSE = 0xC90D
|
||||
SIDE_QUEST_PLAY_CONTINUE_REQUEST = 0xC90E
|
||||
SIDE_QUEST_PLAY_CONTINUE_RESPONSE = 0xC90F
|
||||
SIDE_QUEST_PLAY_END_REQUEST = 0xC910
|
||||
SIDE_QUEST_PLAY_END_RESPONSE = 0xC911
|
||||
SIDE_QUEST_PLAY_END_UNANALYZED_LOG_FIXED_REQUEST = 0xC912
|
||||
SIDE_QUEST_PLAY_END_UNANALYZED_LOG_FIXED_RESPONSE = 0xC913
|
||||
TRIAL_TOWER_PLAY_START_REQUEST = 0xC914
|
||||
TRIAL_TOWER_PLAY_START_RESPONSE = 0xC915
|
||||
TRIAL_TOWER_PLAY_CONTINUE_REQUEST = 0xC916
|
||||
TRIAL_TOWER_PLAY_CONTINUE_RESPONSE = 0xC917
|
||||
TRIAL_TOWER_PLAY_END_REQUEST = 0xC918
|
||||
TRIAL_TOWER_PLAY_END_RESPONSE = 0xC919
|
||||
TRIAL_TOWER_PLAY_END_UNANALYZED_LOG_FIXED_REQUEST = 0xC91A
|
||||
TRIAL_TOWER_PLAY_END_UNANALYZED_LOG_FIXED_RESPONSE = 0xC91B
|
||||
DEFRAG_MATCH_QUEST_PLAY_START_REQUEST = 0xC91C
|
||||
DEFRAG_MATCH_QUEST_PLAY_START_RESPONSE = 0xC91D
|
||||
DEFRAG_MATCH_QUEST_PLAY_END_REQUEST = 0xC91E
|
||||
DEFRAG_MATCH_QUEST_PLAY_END_RESPONSE = 0xC91F
|
||||
DEFRAG_MATCH_QUEST_PLAY_END_UNANALYZED_LOG_FIXED_REQUEST = 0xC920
|
||||
DEFRAG_MATCH_QUEST_PLAY_END_UNANALYZED_LOG_FIXED_RESPONSE = 0xC921
|
||||
EX_TOWER_QUEST_PLAY_START_REQUEST = 0xC922
|
||||
EX_TOWER_QUEST_PLAY_START_RESPONSE = 0xC923
|
||||
EX_TOWER_QUEST_PLAY_CONTINUE_REQUEST = 0xC924
|
||||
EX_TOWER_QUEST_PLAY_CONTINUE_RESPONSE = 0xC925
|
||||
EX_TOWER_QUEST_PLAY_END_REQUEST = 0xC926
|
||||
EX_TOWER_QUEST_PLAY_END_RESPONSE = 0xC927
|
||||
EX_TOWER_QUEST_PLAY_END_UNANALYZED_LOG_FIXED_REQUEST = 0xC928
|
||||
EX_TOWER_QUEST_PLAY_END_UNANALYZED_LOG_FIXED_RESPONSE = 0xC929
|
||||
GET_EX_TOWER_USER_DATA_REQUEST = 0xC92A
|
||||
GET_EX_TOWER_USER_DATA_RESPONSE = 0xC92B
|
||||
REG_EX_TOWER_HALL_OF_FAME_CONFIRM_FLAG_REQUEST = 0xC92C
|
||||
REG_EX_TOWER_HALL_OF_FAME_CONFIRM_FLAG_RESPONSE = 0xC92D
|
||||
REG_EX_TOWER_CONFIRM_FLAG_REQUEST = 0xC92E
|
||||
REG_EX_TOWER_CONFIRM_FLAG_RESPONSE = 0xC92F
|
||||
GET_CHAT_SIDE_STORY_USER_DATA_LIST_REQUEST = 0xC930
|
||||
GET_CHAT_SIDE_STORY_USER_DATA_LIST_RESPONSE = 0xC931
|
||||
GET_USER_QUEST_EPISODE_STATUS_DATA_LIST_REQUEST = 0xC932
|
||||
GET_USER_QUEST_EPISODE_STATUS_DATA_LIST_RESPONSE = 0xC933
|
||||
APPLY_QUEST_DROP_BOOST_REQUEST = 0xC934
|
||||
APPLY_QUEST_DROP_BOOST_RESPONSE = 0xC935
|
||||
CREATE_QUEST_SCENE_MULTI_PLAY_ROOM_ID_REQUEST = 0xCA00
|
||||
CREATE_QUEST_SCENE_MULTI_PLAY_ROOM_ID_RESPONSE = 0xCA01
|
||||
GET_QUEST_SCENE_MULTI_PLAY_PHOTON_SERVER_REQUEST = 0xCA02
|
||||
GET_QUEST_SCENE_MULTI_PLAY_PHOTON_SERVER_RESPONSE = 0xCA03
|
||||
GET_QUEST_SCENE_MULTI_PLAY_PHOTON_SERVER_BY_ROOM_REQUEST = 0xCA04
|
||||
GET_QUEST_SCENE_MULTI_PLAY_PHOTON_SERVER_BY_ROOM_RESPONSE = 0xCA05
|
||||
GET_QUEST_BEST_SOCRE_RANKING_LIST_REQUEST = 0xCB00
|
||||
GET_QUEST_BEST_SOCRE_RANKING_LIST_RESPONSE = 0xCB01
|
||||
GET_QUEST_HIERARCHY_PROGRESS_DEGREES_RANKING_LIST_REQUEST = 0xCB02
|
||||
GET_QUEST_HIERARCHY_PROGRESS_DEGREES_RANKING_LIST_RESPONSE = 0xCB03
|
||||
GET_QUEST_POPULAR_HERO_LOG_RANKING_LIST_REQUEST = 0xCB04
|
||||
GET_QUEST_POPULAR_HERO_LOG_RANKING_LIST_RESPONSE = 0xCB05
|
||||
GET_QUEST_EX_TOWER_HIERARCHY_PROGRESS_DEGREES_STORE_RANKING_LIST_REQUEST = 0xCB06
|
||||
GET_QUEST_EX_TOWER_HIERARCHY_PROGRESS_DEGREES_STORE_RANKING_LIST_RESPONSE = 0xCB07
|
||||
GET_QUEST_EX_TOWER_HIERARCHY_PROGRESS_DEGREES_NATIONAL_RANKING_LIST_REQUEST = 0xCB08
|
||||
GET_QUEST_EX_TOWER_HIERARCHY_PROGRESS_DEGREES_NATIONAL_RANKING_LIST_RESPONSE = 0xCB09
|
||||
GET_TREASURE_HUNT_BASIC_DATA_REQUEST = 0xCC00
|
||||
GET_TREASURE_HUNT_BASIC_DATA_RESPONSE = 0xCC01
|
||||
GET_TREASURE_HUNT_WHOLE_TASK_DATA_LIST_REQUEST = 0xCC02
|
||||
GET_TREASURE_HUNT_WHOLE_TASK_DATA_LIST_RESPONSE = 0xCC03
|
||||
GET_TREASURE_HUNT_INDIVIDUAL_TASK_DATA_LIST_REQUEST = 0xCC04
|
||||
GET_TREASURE_HUNT_INDIVIDUAL_TASK_DATA_LIST_RESPONSE = 0xCC05
|
||||
TREASURE_HUNT_AD_CONFIRM_NOTIFICATION_REQUEST = 0xCC06
|
||||
TREASURE_HUNT_AD_CONFIRM_NOTIFICATION_RESPONSE = 0xCC07
|
||||
GET_TREASURE_HUNT_EVENT_POINT_RANKING_USER_DATA_REQUEST = 0xCC08
|
||||
GET_TREASURE_HUNT_EVENT_POINT_RANKING_USER_DATA_RESPONSE = 0xCC09
|
||||
GET_TREASURE_HUNT_EVENT_POINT_STORE_RANKING_LIST_REQUEST = 0xCC0A
|
||||
GET_TREASURE_HUNT_EVENT_POINT_STORE_RANKING_LIST_RESPONSE = 0xCC0B
|
||||
GET_TREASURE_HUNT_EVENT_POINT_NATIONAL_RANKING_LIST_REQUEST = 0xCC0C
|
||||
GET_TREASURE_HUNT_EVENT_POINT_NATIONAL_RANKING_LIST_RESPONSE = 0xCC0D
|
||||
GET_DEFRAG_MATCH_BASIC_DATA_REQUEST = 0xCD00
|
||||
GET_DEFRAG_MATCH_BASIC_DATA_RESPONSE = 0xCD01
|
||||
GET_DEFRAG_MATCH_RANKING_USER_DATA_REQUEST = 0xCD02
|
||||
GET_DEFRAG_MATCH_RANKING_USER_DATA_RESPONSE = 0xCD03
|
||||
GET_DEFRAG_MATCH_LEAGUE_POINT_RANKING_LIST_REQUEST = 0xCD04
|
||||
GET_DEFRAG_MATCH_LEAGUE_POINT_RANKING_LIST_RESPONSE = 0xCD05
|
||||
GET_DEFRAG_MATCH_LEAGUE_SCORE_RANKING_LIST_REQUEST = 0xCD06
|
||||
GET_DEFRAG_MATCH_LEAGUE_SCORE_RANKING_LIST_RESPONSE = 0xCD07
|
||||
DEFRAG_MATCH_AD_CONFIRM_NOTIFICATION_REQUEST = 0xCD08
|
||||
DEFRAG_MATCH_AD_CONFIRM_NOTIFICATION_RESPONSE = 0xCD09
|
||||
CHECK_GET_SEED_DEFRAG_MATCH_REQUEST = 0xCD0A
|
||||
CHECK_GET_SEED_DEFRAG_MATCH_RESPONSE = 0xCD0B
|
||||
REG_DEFRAG_MATCH_HALL_OF_FAME_CONFIRM_FLAG_REQUEST = 0xCD0C
|
||||
REG_DEFRAG_MATCH_HALL_OF_FAME_CONFIRM_FLAG_RESPONSE = 0xCD0D
|
||||
GET_EVENT_SCENE_USER_DATA_LIST_REQUEST = 0xCE00
|
||||
GET_EVENT_SCENE_USER_DATA_LIST_RESPONSE = 0xCE01
|
||||
REG_PLAYED_EVENT_SCENE_USER_DATA_LIST_REQUEST = 0xCE02
|
||||
REG_PLAYED_EVENT_SCENE_USER_DATA_LIST_RESPONSE = 0xCE03
|
||||
GET_GASHA_LIST_REQUEST = 0xCF00
|
||||
GET_GASHA_LIST_RESPONSE = 0xCF01
|
||||
EXEC_GASHA_REQUEST = 0xCF02
|
||||
EXEC_GASHA_RESPONSE = 0xCF03
|
||||
EXEC_CREDIT_GASHA_START_REQUEST = 0xCF04
|
||||
EXEC_CREDIT_GASHA_START_RESPONSE = 0xCF05
|
||||
EXEC_CREDIT_GASHA_EXTRA_PAYING_REQUEST = 0xCF06
|
||||
EXEC_CREDIT_GASHA_EXTRA_PAYING_RESPONSE = 0xCF07
|
||||
EXEC_CREDIT_GASHA_END_REQUEST = 0xCF08
|
||||
EXEC_CREDIT_GASHA_END_RESPONSE = 0xCF09
|
||||
EXEC_CREDIT_GASHA_CARD_DISCHARGE_STATE_MIGRATION_REQUEST = 0xCF0A
|
||||
EXEC_CREDIT_GASHA_CARD_DISCHARGE_STATE_MIGRATION_RESPONSE = 0xCF0B
|
||||
EXEC_CREDIT_GASHA_CARD_DISCHARGE_END_REQUEST = 0xCF0C
|
||||
EXEC_CREDIT_GASHA_CARD_DISCHARGE_END_RESPONSE = 0xCF0D
|
||||
GET_GASHA_MEDAL_SHOP_USER_DATA_LIST_REQUEST = 0xCF0E
|
||||
GET_GASHA_MEDAL_SHOP_USER_DATA_LIST_RESPONSE = 0xCF0F
|
||||
PURCHASE_GASHA_MEDAL_SHOP_ITEM_REQUEST = 0xCF10
|
||||
PURCHASE_GASHA_MEDAL_SHOP_ITEM_RESPONSE = 0xCF11
|
||||
GET_GASHA_FREE_CAMPAIGN_USER_DATA_REQUEST = 0xCF12
|
||||
GET_GASHA_FREE_CAMPAIGN_USER_DATA_RESPONSE = 0xCF13
|
||||
GET_ADVENTURE_EXEC_USER_DATA_REQUEST = 0xD000
|
||||
GET_ADVENTURE_EXEC_USER_DATA_RESPONSE = 0xD001
|
||||
GET_ADVENTURE_PARTY_DATA_LIST_REQUEST = 0xD002
|
||||
GET_ADVENTURE_PARTY_DATA_LIST_RESPONSE = 0xD003
|
||||
GET_YUI_MEDAL_SHOP_USER_DATA_LIST_REQUEST = 0xD100
|
||||
GET_YUI_MEDAL_SHOP_USER_DATA_LIST_RESPONSE = 0xD101
|
||||
PURCHASE_YUI_MEDAL_SHOP_ITEM_REQUEST = 0xD102
|
||||
PURCHASE_YUI_MEDAL_SHOP_ITEM_RESPONSE = 0xD103
|
||||
PURCHASE_EVENT_SHOP_ITEM_REQUEST = 0xD104
|
||||
PURCHASE_EVENT_SHOP_ITEM_RESPONSE = 0xD105
|
||||
GET_BEGINNER_MISSION_USER_DATA_REQUEST = 0xD200
|
||||
GET_BEGINNER_MISSION_USER_DATA_RESPONSE = 0xD201
|
||||
GET_BEGINNER_MISSION_PROGRESSES_USER_DATA_LIST_REQUEST = 0xD202
|
||||
GET_BEGINNER_MISSION_PROGRESSES_USER_DATA_LIST_RESPONSE = 0xD203
|
||||
GET_BEGINNER_MISSION_SEAT_PROGRESSES_USER_DATA_LIST_REQUEST = 0xD204
|
||||
GET_BEGINNER_MISSION_SEAT_PROGRESSES_USER_DATA_LIST_RESPONSE = 0xD205
|
||||
BEGINNER_MISSION_AD_CONFIRM_NOTIFICATION_REQUEST = 0xD206
|
||||
BEGINNER_MISSION_AD_CONFIRM_NOTIFICATION_RESPONSE = 0xD207
|
||||
RECEIVE_BEGINNER_MISSION_REWARD_REQUEST = 0xD208
|
||||
RECEIVE_BEGINNER_MISSION_REWARD_RESPONSE = 0xD209
|
||||
GET_RES_EARN_CAMPAIGN_SHOP_USER_DATA_LIST_REQUEST = 0xD300
|
||||
GET_RES_EARN_CAMPAIGN_SHOP_USER_DATA_LIST_RESPONSE = 0xD301
|
||||
PURCHASE_RES_EARN_CAMPAIGN_SHOP_ITEM_REQUEST = 0xD302
|
||||
PURCHASE_RES_EARN_CAMPAIGN_SHOP_ITEM_RESPONSE = 0xD303
|
||||
PAYING_YUI_MEDAL_BONUS_GET_CHECK_REQUEST = 0xD304
|
||||
PAYING_YUI_MEDAL_BONUS_GET_CHECK_RESPONSE = 0xD305
|
||||
PAYING_YUI_MEDAL_BONUS_AD_CONFIRM_NOTIFICATION_REQUEST = 0xD306
|
||||
PAYING_YUI_MEDAL_BONUS_AD_CONFIRM_NOTIFICATION_RESPONSE = 0xD307
|
||||
GET_PLAY_CAMPAIGN_USER_DATA_LIST_REQUEST = 0xD308
|
||||
GET_PLAY_CAMPAIGN_USER_DATA_LIST_RESPONSE = 0xD309
|
||||
GET_PLAY_CAMPAIGN_STORE_USER_DATA_LIST_REQUEST = 0xD30A
|
||||
GET_PLAY_CAMPAIGN_STORE_USER_DATA_LIST_RESPONSE = 0xD30B
|
||||
GET_PLAY_CAMPAIGN_REWARD_USER_DATA_LIST_REQUEST = 0xD30C
|
||||
GET_PLAY_CAMPAIGN_REWARD_USER_DATA_LIST_RESPONSE = 0xD30D
|
||||
APPLY_FIRST_TICKET_PURCHASE_CAMPAIGN_REQUEST = 0xD30E
|
||||
APPLY_FIRST_TICKET_PURCHASE_CAMPAIGN_RESPONSE = 0xD30F
|
||||
GET_FIRST_TICKET_PURCHASE_CAMPAIGN_USER_DATA_REQUEST = 0xD310
|
||||
GET_FIRST_TICKET_PURCHASE_CAMPAIGN_USER_DATA_RESPONSE = 0xD311
|
||||
GET_LINKED_SITE_REG_CAMPAIGN_USER_DATA_REQUEST = 0xD312
|
||||
GET_LINKED_SITE_REG_CAMPAIGN_USER_DATA_RESPONSE = 0xD313
|
||||
GET_HERO_LOG_UNIT_USER_DATA_LIST_REQUEST = 0xD400
|
||||
GET_HERO_LOG_UNIT_USER_DATA_LIST_RESPONSE = 0xD401
|
||||
GET_CHARA_UNIT_USER_DATA_LIST_REQUEST = 0xD402
|
||||
GET_CHARA_UNIT_USER_DATA_LIST_RESPONSE = 0xD403
|
||||
BNID_SERIAL_CODE_CHECK_REQUEST = 0xD404
|
||||
BNID_SERIAL_CODE_CHECK_RESPONSE = 0xD405
|
||||
BNID_SERIAL_CODE_ENTRY_BY_APPENDIX_CARD_REQUEST = 0xD406
|
||||
BNID_SERIAL_CODE_ENTRY_BY_APPENDIX_CARD_RESPONSE = 0xD407
|
||||
GET_M_PLAYER_RANKS_REQUEST = 0xD500
|
||||
GET_M_PLAYER_RANKS_RESPONSE = 0xD501
|
||||
GET_M_TITLES_REQUEST = 0xD502
|
||||
GET_M_TITLES_RESPONSE = 0xD503
|
||||
GET_M_FRAGMENTS_REQUEST = 0xD504
|
||||
GET_M_FRAGMENTS_RESPONSE = 0xD505
|
||||
GET_M_REWARD_TABLES_REQUEST = 0xD506
|
||||
GET_M_REWARD_TABLES_RESPONSE = 0xD507
|
||||
GET_M_REWARD_SETS_REQUEST = 0xD508
|
||||
GET_M_REWARD_SETS_RESPONSE = 0xD509
|
||||
GET_M_UNANALYZED_LOG_GRADES_REQUEST = 0xD50A
|
||||
GET_M_UNANALYZED_LOG_GRADES_RESPONSE = 0xD50B
|
||||
GET_M_APPOINT_LEADER_PARAMS_REQUEST = 0xD50C
|
||||
GET_M_APPOINT_LEADER_PARAMS_RESPONSE = 0xD50D
|
||||
GET_M_APPOINT_LEADER_EFFECTS_REQUEST = 0xD50E
|
||||
GET_M_APPOINT_LEADER_EFFECTS_RESPONSE = 0xD50F
|
||||
GET_M_APPOINT_LEADER_EFFECT_TYPES_REQUEST = 0xD510
|
||||
GET_M_APPOINT_LEADER_EFFECT_TYPES_RESPONSE = 0xD511
|
||||
GET_M_RARITIES_REQUEST = 0xD512
|
||||
GET_M_RARITIES_RESPONSE = 0xD513
|
||||
GET_M_COMPOSITION_EVENTS_REQUEST = 0xD514
|
||||
GET_M_COMPOSITION_EVENTS_RESPONSE = 0xD515
|
||||
GET_M_COMPOSITION_PARAMS_REQUEST = 0xD516
|
||||
GET_M_COMPOSITION_PARAMS_RESPONSE = 0xD517
|
||||
GET_M_GAME_PLAY_PRICES_REQUEST = 0xD518
|
||||
GET_M_GAME_PLAY_PRICES_RESPONSE = 0xD519
|
||||
GET_M_BUY_TICKETS_REQUEST = 0xD51A
|
||||
GET_M_BUY_TICKETS_RESPONSE = 0xD51B
|
||||
GET_M_TIPS_REQUEST = 0xD51C
|
||||
GET_M_TIPS_RESPONSE = 0xD51D
|
||||
GET_M_CAPS_REQUEST = 0xD51E
|
||||
GET_M_CAPS_RESPONSE = 0xD51F
|
||||
GET_M_HERO_LOG_REQUEST = 0xD520
|
||||
GET_M_HERO_LOG_RESPONSE = 0xD521
|
||||
GET_M_HERO_LOG_LEVELS_REQUEST = 0xD522
|
||||
GET_M_HERO_LOG_LEVELS_RESPONSE = 0xD523
|
||||
GET_M_HERO_LOG_ROLES_REQUEST = 0xD524
|
||||
GET_M_HERO_LOG_ROLES_RESPONSE = 0xD525
|
||||
GET_M_HERO_LOG_TRUST_RANKS_REQUEST = 0xD526
|
||||
GET_M_HERO_LOG_TRUST_RANKS_RESPONSE = 0xD527
|
||||
GET_M_CHARAS_REQUEST = 0xD528
|
||||
GET_M_CHARAS_RESPONSE = 0xD529
|
||||
GET_M_CHARA_FRIENDLY_RANKS_REQUEST = 0xD52A
|
||||
GET_M_CHARA_FRIENDLY_RANKS_RESPONSE = 0xD52B
|
||||
GET_M_EQUIPMENTS_REQUEST = 0xD52C
|
||||
GET_M_EQUIPMENTS_RESPONSE = 0xD52D
|
||||
GET_M_EQUIPMENT_LEVELS_REQUEST = 0xD52E
|
||||
GET_M_EQUIPMENT_LEVELS_RESPONSE = 0xD52F
|
||||
GET_M_WEAPON_TYPES_REQUEST = 0xD530
|
||||
GET_M_WEAPON_TYPES_RESPONSE = 0xD531
|
||||
GET_M_ITEMS_REQUEST = 0xD532
|
||||
GET_M_ITEMS_RESPONSE = 0xD533
|
||||
GET_M_ITEM_TYPES_REQUEST = 0xD534
|
||||
GET_M_ITEM_TYPES_RESPONSE = 0xD535
|
||||
GET_M_BUFF_ITEMS_REQUEST = 0xD536
|
||||
GET_M_BUFF_ITEMS_RESPONSE = 0xD537
|
||||
GET_M_ENEMIES_REQUEST = 0xD538
|
||||
GET_M_ENEMIES_RESPONSE = 0xD539
|
||||
GET_M_ENEMY_SETS_REQUEST = 0xD53A
|
||||
GET_M_ENEMY_SETS_RESPONSE = 0xD53B
|
||||
GET_M_ENEMY_KINDS_REQUEST = 0xD53C
|
||||
GET_M_ENEMY_KINDS_RESPONSE = 0xD53D
|
||||
GET_M_ENEMY_CATEGORIES_REQUEST = 0xD53E
|
||||
GET_M_ENEMY_CATEGORIES_RESPONSE = 0xD53F
|
||||
GET_M_UNITS_REQUEST = 0xD540
|
||||
GET_M_UNITS_RESPONSE = 0xD541
|
||||
GET_M_UNIT_GIMMICKS_REQUEST = 0xD542
|
||||
GET_M_UNIT_GIMMICKS_RESPONSE = 0xD543
|
||||
GET_M_UNIT_COLLISIONS_REQUEST = 0xD544
|
||||
GET_M_UNIT_COLLISIONS_RESPONSE = 0xD545
|
||||
GET_M_UNIT_POWERS_REQUEST = 0xD546
|
||||
GET_M_UNIT_POWERS_RESPONSE = 0xD547
|
||||
GET_M_GIMMICK_ATTACKS_REQUEST = 0xD548
|
||||
GET_M_GIMMICK_ATTACKS_RESPONSE = 0xD549
|
||||
GET_M_CHARA_ATTACKS_REQUEST = 0xD54A
|
||||
GET_M_CHARA_ATTACKS_RESPONSE = 0xD54B
|
||||
GET_M_BOSS_ATTACKS_REQUEST = 0xD54C
|
||||
GET_M_BOSS_ATTACKS_RESPONSE = 0xD54D
|
||||
GET_M_MONSTER_ATTACKS_REQUEST = 0xD54E
|
||||
GET_M_MONSTER_ATTACKS_RESPONSE = 0xD54F
|
||||
GET_M_MONSTER_ACTIONS_REQUEST = 0xD550
|
||||
GET_M_MONSTER_ACTIONS_RESPONSE = 0xD551
|
||||
GET_M_PROPERTIES_REQUEST = 0xD552
|
||||
GET_M_PROPERTIES_RESPONSE = 0xD553
|
||||
GET_M_PROPERTY_TABLES_REQUEST = 0xD554
|
||||
GET_M_PROPERTY_TABLES_RESPONSE = 0xD555
|
||||
GET_M_PROPERTY_TYPES_REQUEST = 0xD556
|
||||
GET_M_PROPERTY_TYPES_RESPONSE = 0xD557
|
||||
GET_M_SKILLS_REQUEST = 0xD558
|
||||
GET_M_SKILLS_RESPONSE = 0xD559
|
||||
GET_M_SKILL_TABLES_REQUEST = 0xD55A
|
||||
GET_M_SKILL_TABLES_RESPONSE = 0xD55B
|
||||
GET_M_SKILL_LEVELS_REQUEST = 0xD55C
|
||||
GET_M_SKILL_LEVELS_RESPONSE = 0xD55D
|
||||
GET_M_AWAKENINGS_REQUEST = 0xD55E
|
||||
GET_M_AWAKENINGS_RESPONSE = 0xD55F
|
||||
GET_M_SYNCHRO_SKILLS_REQUEST = 0xD560
|
||||
GET_M_SYNCHRO_SKILLS_RESPONSE = 0xD561
|
||||
GET_M_SOUND_SKILL_CUT_IN_VOICES_REQUEST = 0xD562
|
||||
GET_M_SOUND_SKILL_CUT_IN_VOICES_RESPONSE = 0xD563
|
||||
GET_M_QUEST_SCENES_REQUEST = 0xD564
|
||||
GET_M_QUEST_SCENES_RESPONSE = 0xD565
|
||||
GET_M_QUEST_EXIST_UNITS_REQUEST = 0xD566
|
||||
GET_M_QUEST_EXIST_UNITS_RESPONSE = 0xD567
|
||||
GET_M_QUEST_EPISODE_APPEND_REWARDS_REQUEST = 0xD568
|
||||
GET_M_QUEST_EPISODE_APPEND_REWARDS_RESPONSE = 0xD569
|
||||
GET_M_SIDE_QUESTS_REQUEST = 0xD56A
|
||||
GET_M_SIDE_QUESTS_RESPONSE = 0xD56B
|
||||
GET_M_EPISODES_REQUEST = 0xD56C
|
||||
GET_M_EPISODES_RESPONSE = 0xD56D
|
||||
GET_M_EPISODE_CHAPTERS_REQUEST = 0xD56E
|
||||
GET_M_EPISODE_CHAPTERS_RESPONSE = 0xD56F
|
||||
GET_M_EPISODE_PARTS_REQUEST = 0xD570
|
||||
GET_M_EPISODE_PARTS_RESPONSE = 0xD571
|
||||
GET_M_TRIAL_TOWERS_REQUEST = 0xD572
|
||||
GET_M_TRIAL_TOWERS_RESPONSE = 0xD573
|
||||
GET_M_EX_TOWERS_REQUEST = 0xD574
|
||||
GET_M_EX_TOWERS_RESPONSE = 0xD575
|
||||
GET_M_EX_TOWER_QUESTS_REQUEST = 0xD576
|
||||
GET_M_EX_TOWER_QUESTS_RESPONSE = 0xD577
|
||||
GET_M_MENU_DISPLAY_ENEMIES_REQUEST = 0xD578
|
||||
GET_M_MENU_DISPLAY_ENEMIES_RESPONSE = 0xD579
|
||||
GET_M_MISSIONS_REQUEST = 0xD57A
|
||||
GET_M_MISSIONS_RESPONSE = 0xD57B
|
||||
GET_M_MISSION_TABLES_REQUEST = 0xD57C
|
||||
GET_M_MISSION_TABLES_RESPONSE = 0xD57D
|
||||
GET_M_MISSION_DIFFICULTIES_REQUEST = 0xD57E
|
||||
GET_M_MISSION_DIFFICULTIES_RESPONSE = 0xD57F
|
||||
GET_M_BATTLE_CAMERAS_REQUEST = 0xD580
|
||||
GET_M_BATTLE_CAMERAS_RESPONSE = 0xD581
|
||||
GET_M_CHAT_MAIN_STORIES_REQUEST = 0xD582
|
||||
GET_M_CHAT_MAIN_STORIES_RESPONSE = 0xD583
|
||||
GET_M_CHAT_SIDE_STORIES_REQUEST = 0xD584
|
||||
GET_M_CHAT_SIDE_STORIES_RESPONSE = 0xD585
|
||||
GET_M_CHAT_EVENT_STORIES_REQUEST = 0xD586
|
||||
GET_M_CHAT_EVENT_STORIES_RESPONSE = 0xD587
|
||||
GET_M_NAVIGATOR_CHARAS_REQUEST = 0xD588
|
||||
GET_M_NAVIGATOR_CHARAS_RESPONSE = 0xD589
|
||||
GET_M_NAVIGATOR_COMMENTS_REQUEST = 0xD58A
|
||||
GET_M_NAVIGATOR_COMMENTS_RESPONSE = 0xD58B
|
||||
GET_M_EX_BONUS_TABLES_REQUEST = 0xD58C
|
||||
GET_M_EX_BONUS_TABLES_RESPONSE = 0xD58D
|
||||
GET_M_EX_BONUS_CONDITIONS_REQUEST = 0xD58E
|
||||
GET_M_EX_BONUS_CONDITIONS_RESPONSE = 0xD58F
|
||||
GET_M_QUEST_RARE_DROPS_REQUEST = 0xD590
|
||||
GET_M_QUEST_RARE_DROPS_RESPONSE = 0xD591
|
||||
GET_M_QUEST_SPECIAL_RARE_DROP_SETTINGS_REQUEST = 0xD592
|
||||
GET_M_QUEST_SPECIAL_RARE_DROP_SETTINGS_RESPONSE = 0xD593
|
||||
GET_M_QUEST_SPECIAL_RARE_DROPS_REQUEST = 0xD594
|
||||
GET_M_QUEST_SPECIAL_RARE_DROPS_RESPONSE = 0xD595
|
||||
GET_M_QUEST_TUTORIALS_REQUEST = 0xD596
|
||||
GET_M_QUEST_TUTORIALS_RESPONSE = 0xD597
|
||||
GET_M_QUEST_PLAYER_TRACE_TABLES_REQUEST = 0xD598
|
||||
GET_M_QUEST_PLAYER_TRACE_TABLES_RESPONSE = 0xD599
|
||||
GET_M_QUEST_STILLS_REQUEST = 0xD59A
|
||||
GET_M_QUEST_STILLS_RESPONSE = 0xD59B
|
||||
GET_M_GASHAS_REQUEST = 0xD59C
|
||||
GET_M_GASHAS_RESPONSE = 0xD59D
|
||||
GET_M_GASHA_HEADERS_REQUEST = 0xD59E
|
||||
GET_M_GASHA_HEADERS_RESPONSE = 0xD59F
|
||||
GET_M_GASHA_LOTTERY_RARITIES_REQUEST = 0xD5A0
|
||||
GET_M_GASHA_LOTTERY_RARITIES_RESPONSE = 0xD5A1
|
||||
GET_M_GASHA_PRIZES_REQUEST = 0xD5A2
|
||||
GET_M_GASHA_PRIZES_RESPONSE = 0xD5A3
|
||||
GET_M_COMEBACK_EVENTS_REQUEST = 0xD5A4
|
||||
GET_M_COMEBACK_EVENTS_RESPONSE = 0xD5A5
|
||||
GET_M_AD_BANNERS_REQUEST = 0xD5A6
|
||||
GET_M_AD_BANNERS_RESPONSE = 0xD5A7
|
||||
GET_M_EVENTS_REQUEST = 0xD5A8
|
||||
GET_M_EVENTS_RESPONSE = 0xD5A9
|
||||
GET_M_TREASURE_HUNTS_REQUEST = 0xD5AA
|
||||
GET_M_TREASURE_HUNTS_RESPONSE = 0xD5AB
|
||||
GET_M_TREASURE_HUNT_WHOLE_TASKS_REQUEST = 0xD5AC
|
||||
GET_M_TREASURE_HUNT_WHOLE_TASKS_RESPONSE = 0xD5AD
|
||||
GET_M_TREASURE_HUNT_INDIVIDUAL_TASKS_REQUEST = 0xD5AE
|
||||
GET_M_TREASURE_HUNT_INDIVIDUAL_TASKS_RESPONSE = 0xD5AF
|
||||
GET_M_TREASURE_HUNT_SPECIAL_EFFECTS_REQUEST = 0xD5B0
|
||||
GET_M_TREASURE_HUNT_SPECIAL_EFFECTS_RESPONSE = 0xD5B1
|
||||
GET_M_TREASURE_HUNT_EVENT_POINT_REWARD_COMMON_REWARDS_REQUEST = 0xD5B2
|
||||
GET_M_TREASURE_HUNT_EVENT_POINT_REWARD_COMMON_REWARDS_RESPONSE = 0xD5B3
|
||||
GET_M_TREASURE_HUNT_EVENT_POINT_REWARD_TITLES_REQUEST = 0xD5B4
|
||||
GET_M_TREASURE_HUNT_EVENT_POINT_REWARD_TITLES_RESPONSE = 0xD5B5
|
||||
GET_M_TREASURE_HUNT_TASK_TEXTS_REQUEST = 0xD5B6
|
||||
GET_M_TREASURE_HUNT_TASK_TEXTS_RESPONSE = 0xD5B7
|
||||
GET_M_BNID_SERIAL_CODES_REQUEST = 0xD5B8
|
||||
GET_M_BNID_SERIAL_CODES_RESPONSE = 0xD5B9
|
||||
GET_M_BNID_SERIAL_CODE_REWARDS_REQUEST = 0xD5BA
|
||||
GET_M_BNID_SERIAL_CODE_REWARDS_RESPONSE = 0xD5BB
|
||||
GET_M_SUPPORT_LOG_REQUEST = 0xD5BC
|
||||
GET_M_SUPPORT_LOG_RESPONSE = 0xD5BD
|
||||
GET_M_SUPPORT_LOG_TYPES_REQUEST = 0xD5BE
|
||||
GET_M_SUPPORT_LOG_TYPES_RESPONSE = 0xD5BF
|
||||
GET_M_EPISODE_APPENDS_REQUEST = 0xD5C0
|
||||
GET_M_EPISODE_APPENDS_RESPONSE = 0xD5C1
|
||||
GET_M_QUEST_DEFRAG_MATCH_QUESTS_REQUEST = 0xD5C2
|
||||
GET_M_QUEST_DEFRAG_MATCH_QUESTS_RESPONSE = 0xD5C3
|
||||
GET_M_QUEST_DEFRAG_MATCH_QUEST_BOSS_TABLES_REQUEST = 0xD5C4
|
||||
GET_M_QUEST_DEFRAG_MATCH_QUEST_BOSS_TABLES_RESPONSE = 0xD5C5
|
||||
GET_M_DEFRAG_MATCHES_REQUEST = 0xD5C6
|
||||
GET_M_DEFRAG_MATCHES_RESPONSE = 0xD5C7
|
||||
GET_M_DEFRAG_MATCH_SEED_REQUEST = 0xD5C8
|
||||
GET_M_DEFRAG_MATCH_SEED_RESPONSE = 0xD5C9
|
||||
GET_M_DEFRAG_MATCH_SPECIAL_EFFECTS_REQUEST = 0xD5CA
|
||||
GET_M_DEFRAG_MATCH_SPECIAL_EFFECTS_RESPONSE = 0xD5CB
|
||||
GET_M_DEFRAG_MATCH_GRADES_REQUEST = 0xD5CC
|
||||
GET_M_DEFRAG_MATCH_GRADES_RESPONSE = 0xD5CD
|
||||
GET_M_DEFRAG_MATCH_CPU_UNITS_REQUEST = 0xD5CE
|
||||
GET_M_DEFRAG_MATCH_CPU_UNITS_RESPONSE = 0xD5CF
|
||||
GET_M_DEFRAG_MATCH_CPU_SUPPORT_LOGS_REQUEST = 0xD5D0
|
||||
GET_M_DEFRAG_MATCH_CPU_SUPPORT_LOGS_RESPONSE = 0xD5D1
|
||||
GET_M_DEFRAG_MATCH_PERIOD_BONUSES_REQUEST = 0xD5D2
|
||||
GET_M_DEFRAG_MATCH_PERIOD_BONUSES_RESPONSE = 0xD5D3
|
||||
GET_M_DEFRAG_MATCH_RANDOM_BONUS_TABLES_REQUEST = 0xD5D4
|
||||
GET_M_DEFRAG_MATCH_RANDOM_BONUS_TABLES_RESPONSE = 0xD5D5
|
||||
GET_M_DEFRAG_MATCH_RANDOM_BONUS_CONDITIONS_REQUEST = 0xD5D6
|
||||
GET_M_DEFRAG_MATCH_RANDOM_BONUS_CONDITIONS_RESPONSE = 0xD5D7
|
||||
GET_M_DEFRAG_MATCH_RARE_DROPS_REQUEST = 0xD5D8
|
||||
GET_M_DEFRAG_MATCH_RARE_DROPS_RESPONSE = 0xD5D9
|
||||
GET_M_YUI_MEDAL_SHOPS_REQUEST = 0xD5DA
|
||||
GET_M_YUI_MEDAL_SHOPS_RESPONSE = 0xD5DB
|
||||
GET_M_YUI_MEDAL_SHOP_ITEMS_REQUEST = 0xD5DC
|
||||
GET_M_YUI_MEDAL_SHOP_ITEMS_RESPONSE = 0xD5DD
|
||||
GET_M_EVENT_SCENES_REQUEST = 0xD5DE
|
||||
GET_M_EVENT_SCENES_RESPONSE = 0xD5DF
|
||||
GET_M_GENERIC_CAMPAIGN_PERIODS_REQUEST = 0xD5E0
|
||||
GET_M_GENERIC_CAMPAIGN_PERIODS_RESPONSE = 0xD5E1
|
||||
GET_M_BEGINNER_MISSIONS_REQUEST = 0xD5E2
|
||||
GET_M_BEGINNER_MISSIONS_RESPONSE = 0xD5E3
|
||||
GET_M_BEGINNER_MISSION_CONDITIONS_REQUEST = 0xD5E4
|
||||
GET_M_BEGINNER_MISSION_CONDITIONS_RESPONSE = 0xD5E5
|
||||
GET_M_BEGINNER_MISSION_REWARDS_REQUEST = 0xD5E6
|
||||
GET_M_BEGINNER_MISSION_REWARDS_RESPONSE = 0xD5E7
|
||||
GET_M_BEGINNER_MISSION_SEAT_CONDITIONS_REQUEST = 0xD5E8
|
||||
GET_M_BEGINNER_MISSION_SEAT_CONDITIONS_RESPONSE = 0xD5E9
|
||||
GET_M_BEGINNER_MISSION_SEAT_REWARDS_REQUEST = 0xD5EA
|
||||
GET_M_BEGINNER_MISSION_SEAT_REWARDS_RESPONSE = 0xD5EB
|
||||
GET_M_EVENT_ITEMS_REQUEST = 0xD5EC
|
||||
GET_M_EVENT_ITEMS_RESPONSE = 0xD5ED
|
||||
GET_M_EVENT_MONSTERS_REQUEST = 0xD5EE
|
||||
GET_M_EVENT_MONSTERS_RESPONSE = 0xD5EF
|
||||
GET_M_YUI_MEDAL_BONUSES_REQUEST = 0xD5F0
|
||||
GET_M_YUI_MEDAL_BONUSES_RESPONSE = 0xD5F1
|
||||
GET_M_YUI_MEDAL_BONUS_CONDITIONS_REQUEST = 0xD5F2
|
||||
GET_M_YUI_MEDAL_BONUS_CONDITIONS_RESPONSE = 0xD5F3
|
||||
GET_M_GASHA_MEDALS_REQUEST = 0xD5F4
|
||||
GET_M_GASHA_MEDALS_RESPONSE = 0xD5F5
|
||||
GET_M_GASHA_MEDAL_TYPES_REQUEST = 0xD5F6
|
||||
GET_M_GASHA_MEDAL_TYPES_RESPONSE = 0xD5F7
|
||||
GET_M_GASHA_MEDAL_SETTINGS_REQUEST = 0xD5F8
|
||||
GET_M_GASHA_MEDAL_SETTINGS_RESPONSE = 0xD5F9
|
||||
GET_M_GASHA_MEDAL_BONUSES_REQUEST = 0xD5FA
|
||||
GET_M_GASHA_MEDAL_BONUSES_RESPONSE = 0xD5FB
|
||||
GET_M_GASHA_MEDAL_SHOPS_REQUEST = 0xD5FC
|
||||
GET_M_GASHA_MEDAL_SHOPS_RESPONSE = 0xD5FD
|
||||
GET_M_GASHA_MEDAL_SHOP_ITEMS_REQUEST = 0xD5FE
|
||||
GET_M_GASHA_MEDAL_SHOP_ITEMS_RESPONSE = 0xD5FF
|
||||
GET_M_RES_EARN_CAMPAIGN_APPLICATIONS_REQUEST = 0xD600
|
||||
GET_M_RES_EARN_CAMPAIGN_APPLICATIONS_RESPONSE = 0xD601
|
||||
GET_M_RES_EARN_CAMPAIGN_APPLICATION_PRODUCTS_REQUEST = 0xD602
|
||||
GET_M_RES_EARN_CAMPAIGN_APPLICATION_PRODUCTS_RESPONSE = 0xD603
|
||||
GET_M_RES_EARN_CAMPAIGN_SHOPS_REQUEST = 0xD604
|
||||
GET_M_RES_EARN_CAMPAIGN_SHOPS_RESPONSE = 0xD605
|
||||
GET_M_RES_EARN_CAMPAIGN_SHOP_ITEMS_REQUEST = 0xD606
|
||||
GET_M_RES_EARN_CAMPAIGN_SHOP_ITEMS_RESPONSE = 0xD607
|
||||
GET_M_PAYING_YUI_MEDAL_BONUSES_REQUEST = 0xD608
|
||||
GET_M_PAYING_YUI_MEDAL_BONUSES_RESPONSE = 0xD609
|
||||
GET_M_AC_LOGIN_BONUSES_REQUEST = 0xD60A
|
||||
GET_M_AC_LOGIN_BONUSES_RESPONSE = 0xD60B
|
||||
GET_M_PLAY_CAMPAIGNS_REQUEST = 0xD60C
|
||||
GET_M_PLAY_CAMPAIGNS_RESPONSE = 0xD60D
|
||||
GET_M_PLAY_CAMPAIGN_REWARDS_REQUEST = 0xD60E
|
||||
GET_M_PLAY_CAMPAIGN_REWARDS_RESPONSE = 0xD60F
|
||||
GET_M_GASHA_FREE_CAMPAIGNS_REQUEST = 0xD610
|
||||
GET_M_GASHA_FREE_CAMPAIGNS_RESPONSE = 0xD611
|
||||
GET_M_QUEST_DROP_BOOST_CAMPAIGNS_REQUEST = 0xD612
|
||||
GET_M_QUEST_DROP_BOOST_CAMPAIGNS_RESPONSE = 0xD613
|
||||
GET_M_FIRST_TICKET_PURCHASE_CAMPAIGNS_REQUEST = 0xD614
|
||||
GET_M_FIRST_TICKET_PURCHASE_CAMPAIGNS_RESPONSE = 0xD615
|
||||
GET_M_LINKED_SITE_REG_CAMPAIGNS_REQUEST = 0xD616
|
||||
GET_M_LINKED_SITE_REG_CAMPAIGNS_RESPONSE = 0xD617
|
||||
GET_M_LINKED_SITE_REG_CAMPAIGN_REWARDS_REQUEST = 0xD618
|
||||
GET_M_LINKED_SITE_REG_CAMPAIGN_REWARDS_RESPONSE = 0xD619
|
||||
|
||||
3
titles/sao/data/1/AcLoginBonuses.csv
Normal file
3
titles/sao/data/1/AcLoginBonuses.csv
Normal file
@@ -0,0 +1,3 @@
|
||||
// AcLoginBonusId,Title,RewardSetSubId,OpenStartDate,OpenEndDate
|
||||
1,"2020年7月9日~(アニメ&リコリス記念)",4,"2020/07/09 7:00:00","2020/10/01 2:00:00"
|
||||
2,"2020年10月6日~(秋のデビュー&カムバックCP)",5,"2020/10/06 7:00:00","2020/12/01 2:00:00"
|
||||
|
1
titles/sao/data/1/AdBanners.csv
Normal file
1
titles/sao/data/1/AdBanners.csv
Normal file
@@ -0,0 +1 @@
|
||||
// AdBannerId,Category,SortNum,StartDate,EndDate,ActiveFlag
|
||||
|
14
titles/sao/data/1/AppointLeaderEffect.csv
Normal file
14
titles/sao/data/1/AppointLeaderEffect.csv
Normal file
@@ -0,0 +1,14 @@
|
||||
// AppointLeaderEffectId,CharaId,InfoTextFormat,AppointLeaderEffectTypeId,LowEffectValue,MiddleEffectValue,HighEffectValue,MaxEffectValue
|
||||
1,1,"攻撃スキル威力{0}倍",1,1,1.3,1.4,1.5
|
||||
2,2,"全ステータス上昇{0}倍",2,1,1.1,1.2,1.3
|
||||
3,3,"Mob撃破時のスキルEXP上昇{0}倍",3,1,1.1,1.2,1.3
|
||||
4,4,"後衛時のHP回復速度上昇{0}倍",4,1,1.2,1.3,1.4
|
||||
5,5,"獲得EXPアップ{0}倍",5,1,1.1,1.2,1.3
|
||||
6,6,"ピナのスキルのクールタイム短縮{0}倍",6,1,0.9,0.8,0.7
|
||||
7,7,"攻撃スキルクールタイム短縮{0}倍",7,1,0.9,0.8,0.7
|
||||
8,8,"獲得Colアップ{0}倍",8,1,1.5,1.6,1.7
|
||||
9,9,"通常攻撃威力{0}倍",9,1,1.5,1.7,2
|
||||
10,10,"補助スキルクールタイム短縮{0}倍",10,1,0.9,0.8,0.7
|
||||
11,11,"シンクロスキル効果時間{0}倍",11,1,1.2,1.5,2
|
||||
12,12,"青薔薇による継続ダメージ{0}倍",12,1,2,3,4
|
||||
18,18,"全スキルクールタイム短縮{0}倍",18,1,0.95,0.9,0.85
|
||||
|
14
titles/sao/data/1/AppointLeaderEffectType.csv
Normal file
14
titles/sao/data/1/AppointLeaderEffectType.csv
Normal file
@@ -0,0 +1,14 @@
|
||||
// AppointLeaderEffectTypeId,Name
|
||||
1,"攻撃スキル威力上昇"
|
||||
2,"全ステータス上昇"
|
||||
3,"雑魚撃破時のスキルEXP上昇"
|
||||
4,"後衛時のHP回復速度上昇"
|
||||
5,"獲得EXPアップ"
|
||||
6,"ピナのスキルのクールタイム短縮"
|
||||
7,"超攻撃スキルクールタイム短縮"
|
||||
8,"獲得colアップ"
|
||||
9,"通常攻撃威力上昇"
|
||||
10,"補助スキルクールタイム短縮"
|
||||
11,"シンクロスキル延長"
|
||||
12,"青薔薇強化"
|
||||
18,"全スキルクールタイム短縮"
|
||||
|
2
titles/sao/data/1/AppointLeaderParam.csv
Normal file
2
titles/sao/data/1/AppointLeaderParam.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// AppointLeaderParamId,InitialSynchroRate,AppointLeaderIncrementSynchroRate,AwakeningIncrementSynchroRate,FoilAddSynchroRate,AppointLeaderTrustBonus
|
||||
1,30,1,5,10,1
|
||||
|
6
titles/sao/data/1/Awakening.csv
Normal file
6
titles/sao/data/1/Awakening.csv
Normal file
@@ -0,0 +1,6 @@
|
||||
// AwakeningId,TotalExp,BonusHeroLog,BonusWeapon,BonusArmor
|
||||
1,100,0.05,0.1,0.1
|
||||
2,200,0.1,0.2,0.2
|
||||
3,300,0.15,0.3,0.3
|
||||
4,400,0.2,0.4,0.4
|
||||
5,500,0.25,0.5,0.5
|
||||
|
4
titles/sao/data/1/BattleCamera.csv
Normal file
4
titles/sao/data/1/BattleCamera.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
// BattleCameraId,OffsetX,OffsetY,OffsetZ,RotH,RotV,Distance,Near,Far,Fov
|
||||
1,0,1.5,0,50,35,60,1,250,10
|
||||
2,0,1.5,0,50,35,80,1,250,10
|
||||
3,0,1.5,0,50,35,90,1,250,10
|
||||
|
10
titles/sao/data/1/BeginnerMissionConditions.csv
Normal file
10
titles/sao/data/1/BeginnerMissionConditions.csv
Normal file
@@ -0,0 +1,10 @@
|
||||
// BeginnerMissionConditionId,BeginnerMissionId,SeatNum,MissionNum,DisplayContent,DisplayTips,ConditionType,ConditionParam1,ConditionParam2,ConditionParam3,RequiredAchievementNum
|
||||
10001,10000,1,1,"武器を装備しよう","《ViSTerステーション》のカスタムの<br>パーティ編成で、キャラクターに<br>武器を装備させよう",1,"0","0","0",1
|
||||
10002,10000,1,2,"副装備を装備しよう","《ViSTerステーション》のカスタムの<br>パーティ編成で、キャラクターに<br>副装備を装備させよう",2,"0","0","0",1
|
||||
10003,10000,1,3,"強化合成をしよう","《ViSTerステーション》のカスタムの<br>合成の強化合成で、アイテム等を<br>消費してキャラクターを強化しよう",3,"0","0","0",1
|
||||
10004,10000,1,4,"リソースカードを印刷しよう","《ViSTerターミナル》のガシャ後、<br>もしくはカード印刷で、リソースを<br>印刷し、覚醒を解放しよう",4,"0","0","0",1
|
||||
10005,10000,1,5,"換金アイテムを<br>売却しよう","《ViSTerステーション》のカスタムの<br>ストレージ整理やショップのリソース<br>売却で換金アイテムを売却しよう",5,"0","0","0",1
|
||||
10006,10000,1,6,"ショップのリソース複製で
<br>リソースを購入しよう","《ViSTerステーション》のショップの<br>リソース複製でリソースカードを<br>読み込み、リソースを購入しよう",6,"0","0","0",1
|
||||
10007,10000,1,7,"覚醒させよう","《ViSTerステーション》の合成で<br>覚醒を解放したリソースに、<br>同種リソースを合成しよう",7,"0","0","0",1
|
||||
10008,10000,1,8,"能力合成をしよう","《ViSTerステーション》のカスタムの<br>合成の能力合成で、アイテムを消費してリソースにプロパティを付与しよう",8,"0","0","0",1
|
||||
10009,10000,1,9,"トライアルタワーを<br>
1回クリアしよう","《ViSTerステーション》の<br>トライアルタワーのクエストを<br>1回クリアしよう",9,"0","0","0",1
|
||||
|
10
titles/sao/data/1/BeginnerMissionRewards.csv
Normal file
10
titles/sao/data/1/BeginnerMissionRewards.csv
Normal file
@@ -0,0 +1,10 @@
|
||||
// BeginnerMissionRewardId,BeginnerMissionId,BeginnerMissionConditionId,CommonRewardType,CommonRewardId,CommonRewardNum,Strength,Property1PropertyId,Property1Value1,Property1Value2,Property2PropertyId,Property2Value1,Property2Value2,Property3PropertyId,Property3Value1,Property3Value2,Property4PropertyId,Property4Value1,Property4Value2
|
||||
1,10000,10001,3,180004,1,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
2,10000,10002,3,180004,2,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
3,10000,10003,1,101000230,1,0,1,0,0,1,0,0,2,0,0,2,0,0
|
||||
4,10000,10004,3,180004,1,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
5,10000,10005,3,180004,2,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
6,10000,10006,3,170004,1,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
7,10000,10007,3,110240,1,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
8,10000,10008,3,170004,1,0,1,0,0,1,0,0,1,0,0,1,0,0
|
||||
9,10000,10009,1,101000230,1,0,1,0,0,1,0,0,2,0,0,2,0,0
|
||||
|
2
titles/sao/data/1/BeginnerMissionSeatConditions.csv
Normal file
2
titles/sao/data/1/BeginnerMissionSeatConditions.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// BeginnerMissionSeatConditionId,BeginnerMissionId,SeatNum,MissionSeatNum,DisplayContent,DisplayTips,ConditionType,ConditionParam1,ConditionParam2,ConditionParam3,RequiredAchievementNum
|
||||
11001,10000,1,10,"9つの初心者ミッションを<br>全てクリアしよう","それぞれのミッションに<br>表示されているTipsを参考に<br>初心者ミッションをクリアしていこう",1,"0","0","0",1
|
||||
|
2
titles/sao/data/1/BeginnerMissionSeatRewards.csv
Normal file
2
titles/sao/data/1/BeginnerMissionSeatRewards.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// BeginnerMissionSeatRewardId,BeginnerMissionId,BeginnerMissionSeatConditionId,CommonRewardType,CommonRewardId,CommonRewardNum,Strength,Property1PropertyId,Property1Value1,Property1Value2,Property2PropertyId,Property2Value1,Property2Value2,Property3PropertyId,Property3Value1,Property3Value2,Property4PropertyId,Property4Value1,Property4Value2
|
||||
1,10000,11001,1,101000230,1,0,1,0,0,1,0,0,2,0,0,2,0,0
|
||||
|
2
titles/sao/data/1/BeginnerMissions.csv
Normal file
2
titles/sao/data/1/BeginnerMissions.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// BeginnerMissionId,Name,StartDate,EndDate
|
||||
10000,"初心者ミッション","2019/10/01 7:00:00","2030/01/01 2:00:00"
|
||||
|
1
titles/sao/data/1/BnidSerialCodeRewards.csv
Normal file
1
titles/sao/data/1/BnidSerialCodeRewards.csv
Normal file
@@ -0,0 +1 @@
|
||||
// BnidSerialCodeRewardId,BnidItemId,CommonRewardType,CommonRewardId,CommonRewardNum,Strength,Property1PropertyId,Property1Value1,Property1Value2,Property2PropertyId,Property2Value1,Property2Value2,Property3PropertyId,Property3Value1,Property3Value2,Property4PropertyId,Property4Value1,Property4Value2
|
||||
|
1
titles/sao/data/1/BnidSerialCodes.csv
Normal file
1
titles/sao/data/1/BnidSerialCodes.csv
Normal file
@@ -0,0 +1 @@
|
||||
// BnidSerialCodeId,BnidItemId,SerialCodeType,Category,Description,OpenStartDate,OpenEndDate
|
||||
|
2165
titles/sao/data/1/BossAttack.csv
Normal file
2165
titles/sao/data/1/BossAttack.csv
Normal file
File diff suppressed because it is too large
Load Diff
11
titles/sao/data/1/BuffItem.csv
Normal file
11
titles/sao/data/1/BuffItem.csv
Normal file
@@ -0,0 +1,11 @@
|
||||
// BuffItemId,Name,FlavorText
|
||||
1,"EXPブースト","クエスト中に得られる経験値がアップする"
|
||||
2,"フラグメント獲得量アップ","クエスト中に得られるフラグメント量がアップする"
|
||||
3,"初期スキルレベルアップ","クエスト開始からスキルレベルが3になる"
|
||||
4,"なし",
|
||||
5,"なし",
|
||||
6,"なし",
|
||||
7,"なし",
|
||||
8,"なし",
|
||||
9,"なし",
|
||||
10,"なし",
|
||||
|
19
titles/sao/data/1/BuyTicket.csv
Normal file
19
titles/sao/data/1/BuyTicket.csv
Normal file
@@ -0,0 +1,19 @@
|
||||
// BuyTicketId,BuyTicketPattern,CreditCnt,GetTicketCnt,GetBonusVp
|
||||
1,0,1,1,0
|
||||
2,0,2,2,0
|
||||
3,0,5,6,100
|
||||
4,1,1,1,0
|
||||
5,1,2,2,0
|
||||
6,1,5,7,100
|
||||
7,10,1,1,0
|
||||
8,10,2,3,0
|
||||
9,10,5,8,100
|
||||
10,11,1,1,0
|
||||
11,11,2,2,0
|
||||
12,11,5,6,100
|
||||
13,20,1,1,0
|
||||
14,20,2,3,0
|
||||
15,20,1,8,3000
|
||||
16,21,1,1,0
|
||||
17,21,2,2,0
|
||||
18,21,1,8,3000
|
||||
|
2
titles/sao/data/1/Cap.csv
Normal file
2
titles/sao/data/1/Cap.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// CapId,Trust1Cap
|
||||
1,100
|
||||
|
19
titles/sao/data/1/Chara.csv
Normal file
19
titles/sao/data/1/Chara.csv
Normal file
@@ -0,0 +1,19 @@
|
||||
// CharaId,Name,Roma,Gender,RealName,Comment
|
||||
1,"キリト","Kirito",0,"桐ヶ谷和人","CH_KIR"
|
||||
2,"アスナ","Asuna",1,"結城明日奈","CH_ASU"
|
||||
3,"リーファ","Leafa",1,"桐ヶ谷直葉","CH_LEA"
|
||||
4,"シノン","Sinon",1,"朝田詩乃","CH_SIN"
|
||||
5,"リズベット","Lisbeth",1,"篠崎里香","CH_LIS"
|
||||
6,"シリカ","Silica",1,"綾野珪子","CH_SIL"
|
||||
7,"クライン","Klein",0,"壺井遼太郎","CH_KLE"
|
||||
8,"エギル","Agil",0,"アンドリュー","CH_AGI"
|
||||
9,"ユウキ","Yuuki",1,"紺野木綿季","CH_YUU"
|
||||
10,"アルゴ","Argo",1,"帆坂朋","CH_ARG"
|
||||
11,"アリス","Alice",1,"アリス","CH_ALI"
|
||||
12,"ユージオ","Eugeo",0,"ユージオ","CH_EUG"
|
||||
18,"レイン","Rain",1,"枳殻虹架","CH_RAI"
|
||||
90,"ユイ","Yui",1,"ユイ","CH_YUI"
|
||||
91,"リコ","Re:co",1,"リコ","CH_REC"
|
||||
92,"菊岡","Kikuoka",0,"菊岡誠二郎","CH_KIK"
|
||||
95,"スズネ","Suzune",1,"須々木寧々","CH_SUZ"
|
||||
999,"一般","Common",0,"なし","NONE"
|
||||
|
907
titles/sao/data/1/CharaAttack.csv
Normal file
907
titles/sao/data/1/CharaAttack.csv
Normal file
@@ -0,0 +1,907 @@
|
||||
// CharaAttackId,Name,AttackCoef,FlipDamage,DownDamage,PoisonIncidence,ParalysisIncidence,SealedIncidence,QuestionIncidence,BlueRoseIncidence,CharmIncidence,KnockBack,ForwardKnockBack,BreakInterval,WeaponSlot,AttackType,PhysicsAttr,MagicAttr,SpellBlast,HitSe,WeakSe,ResistSe
|
||||
14,"二刀流一段目",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
15,"二刀流二段目",1,100,0,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
16,"二刀流三段目",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
17,"二刀流四段目",1,100,0,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
18,"二刀流五段目",1.5,100,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
19,"二刀流五段目左",1.5,100,1000,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
20,"【二刀流2】エンド・リボルバー(LV1:範囲)",1.5,1000,1000,0,0,0,0,0,0,3,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
21,"【二刀流2】エンド・リボルバー(LV1:範囲)左",1.5,1000,1000,0,0,0,0,0,0,3,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
22,"二刀流ガード",1,1000,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
23,"二刀流ステップ1",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
24,"二刀流ステップ2",1,100,500,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
25,"二刀流ステップ2左",1,100,500,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
26,"二刀流チャージアタック1",1,1000,0,0,0,0,0,0,0,2.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
27,"二刀流チャージアタック2",1,1000,0,0,0,0,0,0,0,2.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
28,"二刀流チャージアタック3",2,1000,1000,0,0,0,0,0,0,2.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
29,"二刀流チャージアタック3左",2,1000,1000,0,0,0,0,0,0,2.5,True,0,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
30,"細剣一段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
31,"細剣二段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
32,"細剣三段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
33,"細剣四段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
34,"細剣五段目",1.5,2,0,0,0,0,0,0,0,0.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
35,"細剣ステップアタック1",0.8,1000,0,0,0,0,0,0,0,2,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
36,"細剣ステップアタック2",1,100,300,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
37,"細剣ガードアタック",1,1000,0,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
38,"細剣チャージアタック1",1,1000,0,0,0,0,0,0,0,2.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
39,"細剣チャージアタック2",1,1000,0,0,0,0,0,0,0,2.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
40,"細剣チャージアタック3",1,1000,1000,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
41,"メイス一段目",1,1000,0,0,0,0,0,0,0,1.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
42,"メイス二段目",1,1000,0,0,0,0,0,0,0,1.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
43,"メイス三段目",1,1000,0,0,0,0,0,0,0,1.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
44,"メイス四段目",1.5,1000,3000,0,0,0,0,0,0,1,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
45,"メイスステップ攻撃1",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
46,"メイスステップ攻撃2",1,100,1000,0,0,0,0,0,0,3,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
47,"メイスガードアタック",1,1000,500,0,0,0,0,0,0,3,False,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
48,"メイスチャージアタック",1.5,1000,500,0,0,0,0,0,0,5,False,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
49,"短剣一段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
50,"短剣二段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
51,"短剣三段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
52,"短剣四段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
53,"短剣五段目",1,2,0,0,0,0,0,0,0,0.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
54,"短剣六段目",1.5,2,100,0,0,0,0,0,0,0.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
55,"短剣ステップ攻撃1",1,500,0,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
56,"短剣ステップ攻撃2",1,1000,300,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
57,"短剣ガードアタック",1,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
58,"短剣チャージアタック",2,1000,0,0,0,0,0,0,0,0,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
59,"【二刀流3】スターバースト・ストリーム(LV4:連撃)1",1.2,1000,1000,0,0,0,0,0,0,0,True,0.4,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
60,"【二刀流3】スターバースト・ストリーム(LV4:連撃)2",1.2,1000,1000,0,0,0,0,0,0,0,True,0.4,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
61,"【二刀流3】スターバースト・ストリーム(LV4:連撃)3",1.2,1000,1000,0,0,0,0,0,0,0,True,0.4,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
62,"【二刀流3】スターバースト・ストリーム(LV4:連撃)4",1.2,1000,1000,0,0,0,0,0,0,0,True,0.4,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
63,"【二刀流3】スターバースト・ストリーム(LV4:連撃)5",1.4,1000,1000,0,0,0,0,0,0,0,True,0.4,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
64,"【二刀流3】スターバースト・ストリーム(LV4:連撃)5左",1.4,1000,1000,0,0,0,0,0,0,0,True,0.4,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
65,"【二刀流3】スターバースト・ストリーム(LV4:連撃)6",1.4,1000,1000,0,0,0,0,0,0,0,True,0.4,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
66,"【二刀流3】スターバースト・ストリーム(LV4:連撃)6左",1.4,1000,1000,0,0,0,0,0,0,0,True,0.4,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
67,"【二刀流3】スターバースト・ストリーム(LV4:連撃)7",1.4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
68,"【二刀流3】スターバースト・ストリーム(LV4:連撃)7左",1.4,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
69,"【二刀流3】スターバースト・ストリーム(LV4:連撃)8",1.6,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
70,"【二刀流3】スターバースト・ストリーム(LV4:連撃)8左",1.6,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
71,"【二刀流3】スターバースト・ストリーム(LV4:連撃)9",1.6,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
72,"【二刀流3】スターバースト・ストリーム(LV4:連撃)9左",1.6,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
73,"【二刀流3】スターバースト・ストリーム(LV4:連撃)10",1.8,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
74,"【二刀流3】スターバースト・ストリーム(LV4:連撃)11",1.8,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
75,"【二刀流3】スターバースト・ストリーム(LV4:連撃)12",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
76,"【二刀流3】スターバースト・ストリーム(LV4:連撃)13",2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
77,"【二刀流3】スターバースト・ストリーム(LV4:連撃)14",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
78,"【二刀流3】スターバースト・ストリーム(LV4:連撃)15",2.2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
79,"【二刀流3】スターバースト・ストリーム(LV4:連撃)16",2.4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
80,"【二刀流3】スターバースト・ストリーム(LV4:連撃)17",2.4,1000,1000,0,0,0,0,0,0,3,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
81,"【二刀流5】ジ・イクリプス(LV5:連撃)1",1.1,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
82,"【二刀流5】ジ・イクリプス(LV5:連撃)2",1.1,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
83,"【二刀流5】ジ・イクリプス(LV5:連撃)3",1.1,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
84,"【二刀流5】ジ・イクリプス(LV5:連撃)4",1.2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
85,"【二刀流5】ジ・イクリプス(LV5:連撃)5",1.2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
86,"【二刀流5】ジ・イクリプス(LV5:連撃)6",1.2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
87,"【二刀流5】ジ・イクリプス(LV5:連撃)7",1.3,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
88,"【二刀流5】ジ・イクリプス(LV5:連撃)8",1.3,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
89,"【二刀流5】ジ・イクリプス(LV5:連撃)9",1.3,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
90,"【二刀流5】ジ・イクリプス(LV5:連撃)10",1.4,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
91,"【二刀流5】ジ・イクリプス(LV5:連撃)11",1.4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
92,"【二刀流5】ジ・イクリプス(LV5:連撃)12",1.4,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
93,"【二刀流5】ジ・イクリプス(LV5:連撃)13",1.5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
94,"【二刀流5】ジ・イクリプス(LV5:連撃)14",1.5,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
95,"【二刀流5】ジ・イクリプス(LV5:連撃)15",1.5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
96,"【二刀流5】ジ・イクリプス(LV5:連撃)16",1.8,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
97,"【二刀流5】ジ・イクリプス(LV5:連撃)17",1.8,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
98,"【二刀流5】ジ・イクリプス(LV5:連撃)18",1.8,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
99,"【二刀流5】ジ・イクリプス(LV5:連撃)19",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
100,"【二刀流5】ジ・イクリプス(LV5:連撃)20",2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
101,"【二刀流5】ジ・イクリプス(LV5:連撃)21",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
102,"【二刀流5】ジ・イクリプス(LV5:連撃)22",2.2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
103,"【二刀流5】ジ・イクリプス(LV5:連撃)23",2.5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
104,"【二刀流5】ジ・イクリプス(LV5:連撃)24",2.5,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
105,"【二刀流5】ジ・イクリプス(LV5:連撃)25",2.5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
106,"【二刀流5】ジ・イクリプス(LV5:連撃)26",2.5,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
107,"【二刀流5】ジ・イクリプス(LV5:連撃)27",2.5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
108,"【二刀流5】ジ・イクリプス(LV5:連撃)28",4,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
109,"【二刀流1】ゲイル・スライサー(LV2:突進)",1.3,1000,1000,0,0,0,0,0,0,3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
110,"【二刀流1】ゲイル・スライサー(LV2:突進)左",1.3,1000,1000,0,0,0,0,0,0,3,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
111,"【細剣2】カドラプル・ペイン(LV2:連撃)1",2,1000,0,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
112,"【細剣2】カドラプル・ペイン(LV2:連撃)2",2,1000,0,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
113,"【細剣2】カドラプル・ペイン(LV2:連撃)3",4,1000,0,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
114,"【細剣2】カドラプル・ペイン(LV2:連撃)4",4,1000,1000,0,0,0,0,0,0,0,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
115,"【片手棍1】レイジ・ブロウ(LV1:連撃)1",1.5,500,1000,0,0,0,0,0,0,1,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
116,"【片手棍1】レイジ・ブロウ(LV1:連撃)2",1.7,500,1000,0,0,0,0,0,0,1.5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
117,"【片手棍1】レイジ・ブロウ(LV1:連撃)3",2.5,1000,3000,0,0,0,0,0,0,5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
118,"【片手棍2】パワー・ストライク(LV2:範囲)1",4,1000,30000,0,0,0,0,0,0,1,True,0.2,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
119,"【片手棍2】パワー・ストライク(LV2:範囲)2",4,1000,1000,0,0,0,0,0,0,1,True,0.2,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
120,"水魔法1",2,1000,1000,0,0,0,0,0,0,1,False,0,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
121,"片手剣一段目",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
122,"片手剣二段目",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
123,"片手剣三段目",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
124,"片手剣四段目",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
125,"片手剣五段目",1.5,100,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
126,"片手剣ステップ攻撃1",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
127,"片手剣ステップ攻撃2",1,300,1000,0,0,0,0,0,0,1.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
128,"片手剣ガードアタック",1,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
129,"片手剣チャージアタック",2,1000,0,0,0,0,0,0,0,0,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
130,"両手斧一段目",1,1500,0,0,0,0,0,0,0,1.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
131,"両手斧二段目",1,1700,0,0,0,0,0,0,0,1.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
132,"両手斧三段目",1.5,2000,3000,0,0,0,0,0,0,1.5,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
133,"両手斧ステップ攻撃1",0.6,1000,0,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
134,"両手斧ステップ攻撃2",0.6,300,1000,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
135,"両手斧ガード攻撃",0.9,1000,1000,0,0,0,0,0,0,1,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
136,"両手斧チャージアタック",2,1000,0,0,0,0,0,0,0,0,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
137,"刀一段目",1,500,0,0,0,0,0,0,0,1.1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
138,"刀二段目",1,500,0,0,0,0,0,0,0,1.1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
139,"刀三段目",1,500,1000,0,0,0,0,0,0,1.1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
140,"刀四段目",1.5,500,1000,0,0,0,0,0,0,1.1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
141,"刀ガードアタック",0.9,1000,1000,0,0,0,0,0,0,1,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
142,"刀ステップアタック1",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
143,"刀ステップアタック2",1,500,500,0,0,0,0,0,0,1.5,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
144,"刀チャージアタック",2,1000,0,0,0,0,0,0,0,0,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
145,"弓一段目",1,500,100,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
146,"弓二段目",1,500,100,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
147,"弓三段目",1.5,1000,100,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
148,"弓ガードアタック",1.7,1000,100,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
149,"弓ステップアタック1",1,500,100,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
150,"弓ステップアタック2",1,500,100,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
151,"弓チャージアタック",2,1000,100,0,0,0,0,0,0,3,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
152,"【二刀流4】ダブルサーキュラー(LV1:単発)",2,10000,5000,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
153,"【二刀流4】ダブルサーキュラー(LV1:単発)左",2,10000,5000,0,0,0,0,0,0,2,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
154,"【細剣1】スティンガー(LV1:突進)1",1,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
155,"【細剣1】スティンガー(LV1:突進)2",1.5,3000,3000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
156,"【細剣3】ピアース・テリトリー(LV2:範囲)",2.5,600,100,0,0,0,0,0,0,1.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
157,"【細剣4】ペネトレイト(LV3:単発)",12,10000,5000,0,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
158,"【細剣5】スター・スプラッシュ(LV4:連撃)1",3,100,500,0,0,0,0,0,0,0.2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
159,"【細剣5】スター・スプラッシュ(LV4:連撃)2",3.5,150,520,0,0,0,0,0,0,0.2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
160,"【細剣5】スター・スプラッシュ(LV4:連撃)3",3.5,200,540,0,0,0,0,0,0,0.2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
161,"【細剣5】スター・スプラッシュ(LV4:連撃)4",4,250,560,0,0,0,0,0,0,0.2,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
162,"【細剣5】スター・スプラッシュ(LV4:連撃)5",4,300,580,0,0,0,0,0,0,0.2,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
163,"【細剣5】スター・スプラッシュ(LV4:連撃)6",4.5,350,600,0,0,0,0,0,0,0.2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
164,"【細剣5】スター・スプラッシュ(LV4:連撃)7",4.5,400,620,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
165,"【細剣5】スター・スプラッシュ(LV4:連撃)8",5,450,640,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
166,"【刀1】辻風(LV1:単発)",4,10000,5000,0,0,0,0,0,0,1.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
167,"【刀2】緋扇(LV1:連撃)1",1.3,500,500,0,0,0,0,0,0,0.2,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
168,"【刀2】緋扇(LV1:連撃)2",1.7,500,700,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
169,"【刀2】緋扇(LV1:連撃)3",2,500,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
170,"【刀3】朧月夜(LV3:連撃)1",2,500,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
171,"【刀3】朧月夜(LV3:連撃)2",3,500,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
172,"【刀3】朧月夜(LV3:連撃)3",4,500,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
173,"【刀3】朧月夜(LV3:連撃)4",4,500,500,0,0,0,0,0,0,0.7,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
174,"【刀3】朧月夜(LV3:連撃)5",5,1000,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
175,"【刀4】残月(LV2:遠距離)",6,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
176,"【刀5】羅生門(LV4:連撃)1",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
177,"【刀5】羅生門(LV4:連撃)2",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
178,"【刀5】羅生門(LV4:連撃)3",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
179,"【刀5】羅生門(LV4:連撃)4",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
180,"【刀5】羅生門(LV4:連撃)5",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
181,"【刀5】羅生門(LV4:連撃)6",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
182,"【刀5】羅生門(LV4:連撃)7",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
183,"【刀5】羅生門(LV4:連撃)8",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
184,"【刀5】羅生門(LV4:連撃)9",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
185,"【刀5】羅生門(LV4:連撃)10",4,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
186,"【刀5】羅生門(LV4:連撃)11",5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
187,"【刀5】羅生門(LV4:連撃)12",5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
188,"【刀5】羅生門(LV4:連撃)13",12,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
189,"【刀7】窮奇(LV2:連撃)1",1,500,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
190,"【刀7】窮奇(LV2:連撃)2",1.5,500,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
191,"【刀7】窮奇(LV2:連撃)3",1.5,500,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
192,"【刀7】窮奇(LV2:連撃)4",2,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
193,"【刀7】窮奇(LV2:連撃)5",3,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
194,"【刀7】窮奇(LV2:連撃)6",4,1000,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
195,"【刀9】禊椿(LV2:単発)",9,10000,15000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
196,"【刀10】紅結(LV1:突進)",1.5,1000,3000,0,0,0,0,0,0,1.3,True,0.3,0,0,1,1,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
197,"【両手斧1】ワールウィンド(LV1:範囲)",2,1000,1000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
198,"【両手斧3】ラウンドトリプル・スラッシュ(LV2:連撃)1",3,500,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
199,"【両手斧3】ラウンドトリプル・スラッシュ(LV2:連撃)2",4,1000,3000,0,0,0,0,0,0,0.7,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
200,"【両手斧3】ラウンドトリプル・スラッシュ(LV2:連撃)3",5,1500,5000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
201,"【両手斧4】カタパルト・トマホーク(LV3:遠距離)",10,5000,2000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
202,"【両手斧5】グラビティ・インパクト(LV4:単発)",9,10000,10000,0,0,0,0,0,0,3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
203,"【両手斧6】ヴァイオレント・スパイク(LV1:連撃)1",2.5,1000,3000,0,0,0,0,0,0,0.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
204,"【両手斧6】ヴァイオレント・スパイク(LV1:連撃)2",3,2000,4000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
205,"【両手斧7】フラット(LV1:単発)",4,10000,5000,0,0,0,0,0,0,0.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
206,"【両手斧9】シャマル・ブルータル(LV3:連撃)1",2,5000,1000,0,0,0,0,0,0,0.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
207,"【両手斧9】シャマル・ブルータル(LV3:連撃)1",4,5000,1000,0,0,0,0,0,0,0.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
208,"【両手斧9】シャマル・ブルータル(LV3:連撃)1",5,5000,1000,0,0,0,0,0,0,0.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
209,"【両手斧9】シャマル・ブルータル(LV3:連撃)1",6,2000,15000,0,0,0,0,0,0,0.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
210,"【片手棍3】アサルト・ダイブ(LV2:突進)1",2,500,1000,0,0,0,0,0,0,0.5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
211,"【片手棍3】アサルト・ダイブ(LV2:突進)2",6,1000,3000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
212,"【片手棍4】ライオット・スマッシュ(LV2:連撃)1",1,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
213,"【片手棍4】ライオット・スマッシュ(LV2:連撃)2",1.5,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
214,"【片手棍4】ライオット・スマッシュ(LV2:連撃)3",1.5,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
215,"【片手棍4】ライオット・スマッシュ(LV2:連撃)4",2,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
216,"【片手棍4】ライオット・スマッシュ(LV2:連撃)5",3,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
217,"【片手棍4】ライオット・スマッシュ(LV2:連撃)6",4,1000,5000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
218,"【片手棍5】殴り(LV1:単発)",4,1000,5000,0,0,0,0,0,0,5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
219,"【片手棍6】スピリット・ボンバー(LV3:範囲+バフ)",5.5,1000,5000,0,0,0,0,0,0,3,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
220,"【細剣7】ソニック・インパルス(LV2:遠距離)",6,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
221,"【弓1】ホーネット(LV1:毒矢)",2,500,1000,100,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
222,"【弓2】エレクトリック・レイ(LV2:麻痺矢)",4,500,1000,0,100,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
223,"【弓3】ヘイル・バレット(LV1:貫通矢)",3,5000,500,0,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
224,"【弓4】ワイドショット(LV1:5WAYショット)",1.2,1000,2500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
225,"【弓4】ワイドショット(LV1:5WAYショット)",1.4,1200,3000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
226,"【弓4】ワイドショット(LV1:5WAYショット)",1.6,1500,4000,0,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
227,"【弓4】ワイドショット(LV1:5WAYショット)",1.4,1200,3000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
228,"【弓4】ワイドショット(LV1:5WAYショット)",1.2,1000,2500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
229,"【弓5】エイムシュート(LV2:貫通矢)",6,5000,500,0,0,0,0,0,0,3,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
230,"【弓6】7way複数矢(LV2:7way)1",1.2,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
231,"【弓6】7way複数矢(LV2:7way)2",1.4,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
232,"【弓6】7way複数矢(LV2:7way)3",1.6,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
233,"【弓6】7way複数矢(LV2:7way)4",1.8,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
234,"【弓6】7way複数矢(LV2:7way)5",1.6,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
235,"【弓6】7way複数矢(LV2:7way)6",1.4,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
236,"【弓6】7way複数矢(LV2:7way)7",1.2,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
237,"【弓7】ダイヤモンド・ダスト(LV3:連撃氷)1",3,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
238,"【弓7】ダイヤモンド・ダスト(LV3:連撃氷)2",3,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
239,"【弓7】ダイヤモンド・ダスト(LV3:連撃氷)3",3.5,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
240,"【弓7】ダイヤモンド・ダスト(LV3:連撃氷)4",3.5,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
241,"【弓7】ダイヤモンド・ダスト(LV3:連撃氷)5",5,2500,1000,0,0,0,0,0,0,2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
242,"【弓8】エクスプロード・アロー(LV3:連撃火)1",3,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
243,"【弓8】エクスプロード・アロー(LV3:連撃火)2",3,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
244,"【弓8】エクスプロード・アロー(LV3:連撃火)3",3.5,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
245,"【弓8】エクスプロード・アロー(LV3:連撃火)4",3.5,2500,500,0,0,0,0,0,0,2,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
246,"【弓8】エクスプロード・アロー(LV3:連撃火)5",5,2500,1000,0,0,0,0,0,0,2,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
247,"【弓9】マルチプル・チェイサー(LV3:連撃貫通)1",3,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
248,"【弓9】マルチプル・チェイサー(LV3:連撃貫通)2",3,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
249,"【弓9】マルチプル・チェイサー(LV3:連撃貫通)3",3.5,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
250,"【弓9】マルチプル・チェイサー(LV3:連撃貫通)4",3.5,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
251,"【弓9】マルチプル・チェイサー(LV3:連撃貫通)5",5,3000,500,0,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
252,"【弓10】ストライク・ノヴァ(LV4:一撃貫通)",22,5000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
253,"【弓10】ストライク・ノヴァ(LV4:一撃貫通)衝撃波",1,5000,1000,0,0,0,0,0,0,5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
254,"【片手剣1】シャープネイル(LV1:連撃)1",1.5,1000,2000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
255,"【片手剣1】シャープネイル(LV1:連撃)2",2,1000,2000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
256,"【片手剣1】シャープネイル(LV1:連撃)3",3.5,1000,2000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
257,"【片手剣2】レイジスパイク(LV1:突進)1",1.5,1500,1000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
258,"【片手剣2】レイジスパイク(LV1:突進)2",2.5,2000,3000,0,0,0,0,0,0,1.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
259,"【片手剣3】ホリゾンタル・スクエア(LV2:範囲)1",2,2000,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
260,"【片手剣3】ホリゾンタル・スクエア(LV2:範囲)2",2,3000,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
261,"【片手剣3】ホリゾンタル・スクエア(LV2:範囲)3",3,3500,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
262,"【片手剣3】ホリゾンタル・スクエア(LV2:範囲)4",4,4000,2000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
263,"【片手剣3】ホリゾンタル・スクエア(LV2:範囲)5",2,4000,2000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
264,"【片手剣4】「ALO式」ヴォーパル・ストライク(LV3:突進)1",4,2000,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
265,"【片手剣4】「ALO式」ヴォーパル・ストライク(LV3:突進)2",8,1500,4000,0,0,0,0,0,0,3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
266,"【片手剣5】ノヴァ・アセンション(LV5:連撃)1",5,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
267,"【片手剣5】ノヴァ・アセンション(LV5:連撃)2",5,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
268,"【片手剣5】ノヴァ・アセンション(LV5:連撃)3",5,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
269,"【片手剣5】ノヴァ・アセンション(LV5:連撃)4",6,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
270,"【片手剣5】ノヴァ・アセンション(LV5:連撃)5",6,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
271,"【片手剣5】ノヴァ・アセンション(LV5:連撃)6",6,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
272,"【片手剣5】ノヴァ・アセンション(LV5:連撃)7",7,1000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
273,"【片手剣5】ノヴァ・アセンション(LV5:連撃)8",7,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
274,"【片手剣5】ノヴァ・アセンション(LV5:連撃)9",7,1000,500,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
275,"【片手剣5】ノヴァ・アセンション(LV5:連撃)10",12,1000,3000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
276,"【片手剣9】スラント(LV1:一撃)",4,2000,2000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
277,"【短剣1】ファッドエッジ(LV2:連撃)1",2.5,100,50,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
278,"【短剣1】ファッドエッジ(LV2:連撃)2",2.5,500,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
279,"【短剣1】ファッドエッジ(LV2:連撃)3",3,500,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
280,"【短剣1】ファッドエッジ(LV2:連撃)4",4,1000,1000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
281,"【短剣2】シングルシュート(LV1:遠距離)",3,100,100,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
282,"【短剣3】ラピッドバイト(LV2:突進)1",3,500,50,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
283,"【短剣3】ラピッドバイト(LV2:突進)2",5,100,500,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
284,"【短剣4】アクセル・レイド(LV4:連撃)1",2,100,50,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
285,"【短剣4】アクセル・レイド(LV4:連撃)2",3,100,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
286,"【短剣4】アクセル・レイド(LV4:連撃)3",3,100,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
287,"【短剣4】アクセル・レイド(LV4:連撃)4",4,100,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
288,"【短剣4】アクセル・レイド(LV4:連撃)5",4,100,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
289,"【短剣4】アクセル・レイド(LV4:連撃)6",5,100,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
290,"【短剣4】アクセル・レイド(LV4:連撃)7",5,100,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
291,"【短剣4】アクセル・レイド(LV4:連撃)8",6,100,2000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
292,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)1",3,500,500,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
293,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)2",3,500,500,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
294,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)3",3,500,500,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
295,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)4",4,500,500,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
296,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)5",4.5,500,500,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
297,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)6",5,500,500,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
298,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)7",5.5,1000,1000,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
299,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)8",6,1000,1000,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
300,"【短剣5】ライトニング・リッパー(LV5:連撃麻痺)9",7,1000,1000,0,100,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
301,"短剣スキル6",1,2,0,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
302,"【短剣11】ヴェノム・バイト(LV1:単発毒)",2,100,100,100,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
303,"【短剣8】パライズ・バイト(LV2:単発麻痺)",2,100,100,0,100,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
304,"短剣スキル9",1,2,0,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
305,"短剣スキル10",1,2,0,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
306,"ピナ_バブルブレス",0.6,5000,0,0,0,0,10,0,0,0,True,0.3,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
307,"ファイア・ボール 魔法LV1",3.5,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
308,"ボルカニック・キャノン 魔法LV2",12,1000,1000,0,0,0,0,0,0,0,True,0.3,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
309,"アイス・バレット 魔法LV1",3.5,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
310,"アイス・バレット 設置時",3.5,1000,1000,0,0,0,0,0,0,3,True,0.3,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
311,"アブソリュート・ゼロ 魔法LV2",2.2,1000,1000,0,0,0,0,0,0,1,True,0.3,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
312,"ウィンド・カッター 魔法LV1",15,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01"
|
||||
313,"タイラント・ハリケーン 魔法LV2",4.5,1000,1000,0,0,0,0,0,0,10,True,0.3,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_02","SE_BTL_MAGIC_WIND_HIT_02","SE_BTL_MAGIC_WIND_HIT_02"
|
||||
314,"スリング・ストーン 魔法LV1",3.5,1000,1000,0,0,0,0,0,0,3,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
315,"スリング・ストーン 設置時",3.5,1000,1000,0,0,0,0,0,0,3,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
316,"タイタン・スパイク 魔法LV2",4.5,1000,1000,0,0,0,0,0,0,5,True,0.3,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02"
|
||||
317,"ライトニング・アロー 魔法LV1",3.5,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
318,"ディバイン・レイ 魔法LV2",2.2,1000,1000,0,0,0,0,0,0,0,True,0.3,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_02","SE_BTL_MAGIC_SHINE_HIT_02","SE_BTL_MAGIC_SHINE_HIT_02"
|
||||
319,"ダーク・キャノン 魔法LV1",7.5,1000,1000,0,0,0,0,0,0,1,True,0.3,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
320,"アビス・ディメンジョン 魔法LV2",4.5,1000,1000,0,0,0,0,0,0,0,True,0.3,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_02","SE_BTL_MAGIC_DARK_HIT_02","SE_BTL_MAGIC_DARK_HIT_02"
|
||||
321,"【二刀流12】スピニング・シールド(LV2:単発",1,100,100,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
322,"【二刀流13】サベージ・フルグラム(LV2:連撃 1",2.5,500,100,0,0,0,0,0,0,0.2,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
323,"【二刀流13】サベージ・フルグラム(LV2:連撃 2",3,500,100,0,0,0,0,0,0,0.5,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
324,"【二刀流13】サベージ・フルグラム(LV2:連撃 3",4.5,1000,2000,0,0,0,0,0,0,0.1,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
325,"【二刀流14】ナイトメア・レイン(LV3:連撃 1",1.5,1000,2000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
326,"【二刀流14】ナイトメア・レイン(LV3:連撃 2",2,1000,2000,0,0,0,0,0,0,0.1,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
327,"【二刀流14】ナイトメア・レイン(LV3:連撃 3",2,1000,2000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
328,"【二刀流14】ナイトメア・レイン(LV3:連撃 4",2.5,1000,2000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
329,"【二刀流14】ナイトメア・レイン(LV3:連撃 5",3,1000,2000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
330,"【二刀流14】ナイトメア・レイン(LV3:連撃 6",4,1000,2000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
331,"【二刀流14】ナイトメア・レイン(LV3:連撃 7",4,1000,2000,0,0,0,0,0,0,0.5,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
332,"【二刀流15】ヴォーパル・ストライク(LV3:単発",12,5000,10000,0,0,0,0,0,0,3,True,0.3,0,0,3,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
333,"【二刀流16】ライトニング・フォール(LV3:範囲",3,3000,5000,0,100,0,0,0,0,2,True,0.3,0,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
334,"【二刀流16】ライトニング・フォール(LV3:範囲)左",3,3000,5000,0,0,0,0,0,0,2,True,0.3,1,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
335,"【片手棍12】サイレント・ブロウ(LV2:単発)",2,500,2500,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
336,"【片手棍12】サイレント・ブロウ(LV2:単発)",6,1000,1000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
337,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)1",2,10000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
338,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)2",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
339,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)3",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
340,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)4",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
341,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)5",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
342,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)6",5,1000,1000,0,0,0,0,0,0,0.3,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
343,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)7",5,1000,1000,0,0,0,0,0,0,0.3,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
344,"【片手棍14】ヴァリアヴル・ブロウ(LV4:連撃)8",6,3000,5000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
345,"【片手剣14】ヴォーパル・ストライク(LV3:単発)",12,5000,10000,0,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
346,"【片手剣15】デッドリー・シンズ(LV3:連撃)1",1,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
347,"【片手剣15】デッドリー・シンズ(LV3:連撃)2",1,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
348,"【片手剣15】デッドリー・シンズ(LV3:連撃)3",1.5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
349,"【片手剣15】デッドリー・シンズ(LV3:連撃)4",1.5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
350,"【片手剣15】デッドリー・シンズ(LV3:連撃)5",1.5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
351,"【片手剣15】デッドリー・シンズ(LV3:連撃)6",1.5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
352,"【片手剣15】デッドリー・シンズ(LV3:連撃)7",2,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
353,"【片手剣16】ハウリング・オクターブ(LV4:連撃)1",2,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
354,"【片手剣16】ハウリング・オクターブ(LV4:連撃)2",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
355,"【片手剣16】ハウリング・オクターブ(LV4:連撃)3",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
356,"【片手剣16】ハウリング・オクターブ(LV4:連撃)4",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
357,"【片手剣16】ハウリング・オクターブ(LV4:連撃)5",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
358,"【片手剣16】ハウリング・オクターブ(LV4:連撃)6",5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
359,"【片手剣16】ハウリング・オクターブ(LV4:連撃)7",5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
360,"【片手剣16】ハウリング・オクターブ(LV4:連撃)8",6,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
361,"【短剣12】アーマーピアース(LV1:単発",3,500,1000,0,0,0,0,0,0,1,True,0.3,0,1,0,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
362,"【刀11】旋車(LV3:範囲)",6,1000,3000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
363,"【刀13】散華(LV4:連撃)1",6,1000,3000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
364,"【刀13】散華(LV4:連撃)2",6,1000,3000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
365,"【刀13】散華(LV4:連撃)3",6,1000,3000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
366,"【刀13】散華(LV4:連撃)4",7,1000,3000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
367,"【刀13】散華(LV4:連撃)5",7,1000,3000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
368,"【両手斧11】ランバー・ジャック(LV2:範囲)1",1,1000,1000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
369,"【両手斧11】ランバー・ジャック(LV2:範囲)2",2,1000,1000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
370,"【両手斧11】ランバー・ジャック(LV2:範囲)3",3,1000,5000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
371,"【両手斧12】スマッシュ(LV2:単発)",8,1000,1000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
372,"【両手斧13】アース・クラッシャー(LV3:範囲)",6,1000,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,4,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
373,"【両手斧14】ダイナミック・ヴァイオレンス(LV5:連撃)1",13,1000,1000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
374,"【両手斧14】ダイナミック・ヴァイオレンス(LV5:連撃)2",13,1000,2000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
375,"【両手斧14】ダイナミック・ヴァイオレンス(LV5:連撃)3",14,1000,3000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
376,"【両手斧14】ダイナミック・ヴァイオレンス(LV5:連撃)4",20,1000,4000,0,0,0,0,0,0,1.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
377,"【細剣11】リニアー(LV1:単発)",4,1000,1000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
378,"【細剣13】シューティングスター(LV3:突進)突進",2,3000,300,0,0,0,0,0,0,0.3,True,0.3,0,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
379,"【細剣13】シューティングスター(LV3:突進)刺突",4,5000,10000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
380,"【細剣14】ニュートロン(LV3:連撃)1",3,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
381,"【細剣14】ニュートロン(LV3:連撃)2",3,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
382,"【細剣14】ニュートロン(LV3:連撃)3",3.5,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
383,"【細剣14】ニュートロン(LV3:連撃)4",4,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
384,"【細剣14】ニュートロン(LV3:連撃)5",4.5,1000,2000,0,0,0,0,0,0,1.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
385,"【細剣15】フラッシング・ペネトレイター(LV5:突進)突進",8,1000,5000,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
386,"【細剣15】フラッシング・ペネトレイター(LV5:突進)本体",12,1000,10000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
387,"【二刀流17】サベージ・フルグラム水(LV2:連撃 1",2.5,500,100,0,0,0,0,0,0,0.2,True,0.3,1,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
388,"【二刀流17】サベージ・フルグラム水(LV2:連撃 2",3,500,100,0,0,0,0,0,0,0.5,True,0.3,1,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
389,"【二刀流17】サベージ・フルグラム水(LV2:連撃 3",4.5,1000,2000,0,0,0,0,0,0,0.1,True,0.3,1,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
390,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)1",2,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
391,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)2",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
392,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)3",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
393,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)4",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
394,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)5",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,1,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
395,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)6",5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,1,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
396,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)7",5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,1,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
397,"【片手剣19】ハウリング・オクターブ火(LV4:連撃)8",6,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,1,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
398,"【細剣16】ニュートロン聖(LV3:連撃)1",3,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,5,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
399,"【細剣16】ニュートロン聖(LV3:連撃)2",3,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,5,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
400,"【細剣16】ニュートロン聖(LV3:連撃)3",3.5,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,5,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
401,"【細剣16】ニュートロン聖(LV3:連撃)4",4,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,5,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
402,"【細剣16】ニュートロン聖(LV3:連撃)5",4.5,1000,2000,0,0,0,0,0,0,1.5,True,0.3,0,0,3,5,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
403,"【二刀流11】スネークバイト(LV1:連撃 1",2,1000,500,0,0,0,0,0,0,0.2,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
404,"【二刀流11】スネークバイト(LV1:連撃 2",3,1500,1000,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
405,"【刀12】絶空(LV3:単発)1",2,1000,500,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
406,"【刀12】絶空(LV3:単発)2",10,10000,5000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
407,"【刀14】絶空火(LV3:単発)1",2,1000,500,0,0,0,0,0,0,0.1,True,0.3,0,0,1,1,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
408,"【刀14】絶空火(LV3:単発)2",10,10000,5000,0,0,0,0,0,0,1,True,0.3,0,0,1,1,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
409,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)1",3,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
410,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)2",3,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
411,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)3",3,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
412,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)4",4,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
413,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)5",4,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
414,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)6",5,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
415,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)7",6,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
416,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)8",6,3000,500,0,0,0,0,0,0,0.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
417,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)9",7,3000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
418,"【弓11】ミリオン・ハウリング(LV5:連撃貫通)衝撃波",1,3000,1500,0,0,0,0,0,0,5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
419,"【片手剣11】バーチカル・スクエア(LV2:連撃)1",2,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
420,"【片手剣11】バーチカル・スクエア(LV2:連撃)2",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
421,"【片手剣11】バーチカル・スクエア(LV2:連撃)3",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
422,"【片手剣11】バーチカル・スクエア(LV2:連撃)4",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
423,"【片手剣11】バーチカル・スクエア(LV2:連撃)5",1,4000,2000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
424,"【片手剣12】スピニング・シールド(LV2:単発)",1,100,100,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
425,"【片手剣13】ライトニング・フォール(LV3:範囲)",5,3000,5000,0,100,0,0,0,0,2,True,0.3,0,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
426,"【片手剣17】グリント・ショット(Lv1射撃",3,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
427,"【片手剣18】ダブルサーキュラー(LV2 銃",3,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
428,"【片手剣18】ダブルサーキュラー(LV2 剣",3,1000,3000,0,0,0,0,0,0,2,True,0.3,0,0,1,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
429,"【細剣12】パラレル・スティング(LV1:連撃)1",2,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
430,"【細剣12】パラレル・スティング(LV1:連撃)2",3,1000,100,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
431,"【短剣13】パライズ・バイト(LV2:単発麻痺)",4,100,100,0,100,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
432,"【短剣14】シャドウ・ステッチ(LV3連撃)1",5.5,100,50,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
433,"【短剣14】シャドウ・ステッチ(LV3連撃)2",4.5,10000,5000,0,0,0,0,0,0,0.5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
434,"【短剣14】シャドウ・ステッチ(LV3連撃)3",4.5,10000,5000,0,0,0,0,0,0,1,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
435,"【短剣15】トリック・アクセル(LV3:突進)1",1,100,50,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
436,"【短剣15】トリック・アクセル(LV3:突進)2",4,500,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
437,"【短剣15】トリック・アクセル(LV3:突進)3",1,500,100,0,0,0,0,0,0,0.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
438,"【短剣15】トリック・アクセル(LV3:突進)4",4,500,100,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
439,"【短剣16】レベル2投擲(LV2:遠距離)",6,100,100,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
440,"【短剣17】貫通投剣(LV3:遠距離)",10,1000,1000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
441,"【片手棍13】ミョルニル・ハンマー(LV3:範囲)",5,1000,5000,0,100,0,0,0,0,3,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
442,"【片手棍15】アダマン・ブレイカー(LV5:単発)",32,10000,30000,0,0,0,50,0,0,5,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
443,"【片手棍8】ナミング・インパクト(LV1:範囲)",3.5,1000,5000,0,25,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
444,"ピナ_ファイアブレス",1.2,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,1,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
445,"ピナ_アイスブレス",1.2,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
446,"ピナ_ウィンドブレス",1.2,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,3,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
447,"ピナ_サンドブレス",1.2,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,4,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
448,"ピナ_ライトニングブレス",1.2,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,5,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
449,"ピナ_シャドウブレス",1.2,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,6,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
450,"ピナ_ドラゴニック・チャージ",1.7,5000,1000,0,0,0,0,0,0,0.2,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
451,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)1",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
452,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)2",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
453,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)3",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
454,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)4",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
455,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)5",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
456,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)6",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
457,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)7",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
458,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)8",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
459,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)9",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
460,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)10",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
461,"【片手剣6】マザーズ・ロザリオ(LV5:連撃)11",12,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
462,"【細剣6】マザーズ・ロザリオ(LV5:連撃)1",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
463,"【細剣6】マザーズ・ロザリオ(LV5:連撃)2",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
464,"【細剣6】マザーズ・ロザリオ(LV5:連撃)3",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
465,"【細剣6】マザーズ・ロザリオ(LV5:連撃)4",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
466,"【細剣6】マザーズ・ロザリオ(LV5:連撃)5",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
467,"【細剣6】マザーズ・ロザリオ(LV5:連撃)6",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
468,"【細剣6】マザーズ・ロザリオ(LV5:連撃)7",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
469,"【細剣6】マザーズ・ロザリオ(LV5:連撃)8",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
470,"【細剣6】マザーズ・ロザリオ(LV5:連撃)9",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
471,"【細剣6】マザーズ・ロザリオ(LV5:連撃)10",6,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
472,"【細剣6】マザーズ・ロザリオ(LV5:連撃)11",12,5000,1000,0,0,0,0,0,0,0.2,True,0.6,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
473,"クロー一段目",1,1000,0,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
474,"クロー二段目",1,1000,0,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
475,"クロー三段目",1,1000,0,0,0,0,0,0,0,1.5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
476,"クロー四段目",1,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
477,"クロー五段目",1,1000,0,0,0,0,0,0,0,1.5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
478,"クロー六段目",1.5,1000,3000,0,0,0,0,0,0,5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
479,"クローステップ攻撃",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
480,"クローガードアタック",1,1000,500,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
481,"クローチャージアタック",2,1000,500,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
482,"【クロー1】ビート・アッパー(LV1単発)",4,10000,5000,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
483,"【クロー2】スマッシュ・ナックル(LV1突進)1",1,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
484,"【クロー2】スマッシュ・ナックル(LV1突進)2",3,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
485,"【クロー3】サージテラフィスト(LV2遠距離)",6,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
486,"【クロー4】タービュランス・ラッシュ(LV4連撃)1",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
487,"【クロー4】タービュランス・ラッシュ(LV4連撃)2",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
488,"【クロー4】タービュランス・ラッシュ(LV4連撃)3",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
489,"【クロー4】タービュランス・ラッシュ(LV4連撃)4",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
490,"【クロー4】タービュランス・ラッシュ(LV4連撃)5",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
491,"【クロー4】タービュランス・ラッシュ(LV4連撃)6",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
492,"【クロー4】タービュランス・ラッシュ(LV4連撃)7",3,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
493,"【クロー4】タービュランス・ラッシュ(LV4連撃)8",4,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
494,"【クロー4】タービュランス・ラッシュ(LV4連撃)9",4,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
495,"【クロー4】タービュランス・ラッシュ(LV4連撃)10",4,10000,0,0,0,0,0,0,0,0.1,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
496,"【クロー4】タービュランス・ラッシュ(LV4連撃)11",4,10000,5000,0,0,0,0,0,0,0.1,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
497,"【クロー5】デッドリー・ブロウ(LV5単発)",32,1000,30000,0,0,0,0,0,0,5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
498,"【クロー5】デッドリー・ブロウ(LV5単発)斬撃",32,1000,10000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
499,"【クロー8】ガゼル・ラッシュ(LV2連撃)",3.5,10000,0,0,0,0,0,0,0,0,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
500,"【クロー8】ガゼル・ラッシュ(LV2連撃)",3.5,10000,0,0,0,0,0,0,0,0,True,1,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
501,"【クロー8】ガゼル・ラッシュ(LV2連撃)",4.5,1000,3000,0,0,0,0,0,0,5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
502,"【クロー9】ブレイジング・ブロウ(LV3範囲)1",6,100,0,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
503,"【クロー9】ブレイジング・ブロウ(LV3範囲)2",6,100,0,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
504,"【クロー11】(LV1範囲)",2,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
505,"【クロー12】(LV2範囲)",4,2000,2000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
506,"【クロー13】(LV3遠距離)",10,5000,2000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
507,"【クロー14】(LV3突進)",2.4,1000,1000,0,0,0,0,0,0,3.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
508,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)1",2,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
509,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)2",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
510,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)3",3,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
511,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)4",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
512,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)5",4,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
513,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)6",5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
514,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)7",5,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
515,"【片手剣20】ビッグウェーブ・オクターブ(LV4:連撃)8",6,1000,1000,0,0,0,0,0,0,0.1,True,0.3,0,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
516,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)1",3,100,500,0,0,0,0,0,0,0.2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
517,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)2",3.5,150,520,0,0,0,0,0,0,0.2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
518,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)3",3.5,200,540,0,0,0,0,0,0,0.2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
519,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)4",4,250,560,0,0,0,0,0,0,0.2,True,0.3,0,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
520,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)5",4,300,580,0,0,0,0,0,0,0.2,True,0.3,0,0,1,2,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
521,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)6",4.5,350,600,0,0,0,0,0,0,0.2,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
522,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)7",4.5,400,620,0,0,0,0,0,0,0.5,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
523,"【細剣17】サマーバカンス・スプラッシュ(LV4:連撃)8",5,450,640,0,0,0,0,0,0,1,True,0.3,0,0,3,2,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
524,"狙撃銃一段目",1,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_NOMAL","SE_HIT_CHR_GUN_WEAK","SE_HIT_CHR_GUN_RESIST"
|
||||
525,"狙撃銃ステップ攻撃",1,500,0,0,0,0,0,0,0,0.1,True,0,2,0,3,0,False,"SE_HIT_CHR_GUN_NOMAL","SE_HIT_CHR_GUN_WEAK","SE_HIT_CHR_GUN_RESIST"
|
||||
526,"狙撃銃ガードアタック",1.5,3000,1000,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_NOMAL","SE_HIT_CHR_GUN_WEAK","SE_HIT_CHR_GUN_RESIST"
|
||||
527,"狙撃銃チャージアタック1",1.8,1000,1000,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_NOMAL","SE_HIT_CHR_GUN_WEAK","SE_HIT_CHR_GUN_RESIST"
|
||||
528,"狙撃銃チャージアタック2",2.2,1000,1000,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
529,"狙撃銃チャージアタック3",4.5,1000,2000,0,0,0,0,0,0,1,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
530,"【狙撃銃1】ハンド・ラピッド",1,1000,100,0,0,0,0,0,0,0.2,True,0,2,0,3,0,False,"SE_HIT_CHR_GUN_NOMAL","SE_HIT_CHR_GUN_WEAK","SE_HIT_CHR_GUN_RESIST"
|
||||
531,"【狙撃銃2】ローショット",3,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_NOMAL","SE_HIT_CHR_GUN_WEAK","SE_HIT_CHR_GUN_RESIST"
|
||||
532,"【狙撃銃3】スタンド・ファイアリング",6,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
533,"【狙撃銃4】グレネード_投擲",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
534,"【狙撃銃4】グレネード_爆発",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
535,"【狙撃銃5】ピアース・ファイブショット",3.5,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
536,"【狙撃銃6】ファントム・バレット",0,30000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,0,False,"SE_HIT_CHR_GUN_SKILL_PHANTOM","SE_HIT_CHR_GUN_SKILL_PHANTOM","SE_HIT_CHR_GUN_SKILL_PHANTOM"
|
||||
537,"【狙撃銃7】ウルトラウォーターブラスト",2.5,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,0,2,False,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
538,"【狙撃銃8】クイック・ファイヤー",20,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
539,"【狙撃銃9】プローン・ペネトレイト",30,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
540,"【狙撃銃10】ビーチ・スマッシュ",5,1000,0,0,0,0,0,0,0,5,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
541,"【狙撃銃10】ビーチ・スマッシュ(上昇中)",1,1000,0,0,0,0,0,0,0,1,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
542,"【片手剣21】ビーチ・スマッシュ",5,1000,0,0,0,0,0,0,0,5,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
543,"【片手剣21】ビーチ・スマッシュ(上昇中)",1,1000,0,0,0,0,0,0,0,1,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
544,"【細剣18】ビーチ・スマッシュ",5,1000,0,0,0,0,0,0,0,5,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
545,"【細剣18】ビーチ・スマッシュ(上昇中)",1,1000,0,0,0,0,0,0,0,1,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
546,"【狙撃銃12】スモーク・グレネード_投擲",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
547,"【狙撃銃12】スモーク・グレネード_爆発",0,1000,0,0,0,0,500,0,0,0,True,0,2,0,0,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
548,"【狙撃銃13】",10,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
549,"【狙撃銃13】",11,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
550,"【狙撃銃13】",12,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
551,"【狙撃銃13】",13,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
552,"【片手棍16】ナミング・デトネーション(LV2:範囲)",3.5,1000,5000,0,50,0,0,0,0,2,False,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
553,"【片手棍17】(LV3:単発)",12,5000,20000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
554,"【片手剣23】青薔薇LV4",6,20000,0,0,0,0,0,50,0,0,True,0.3,0,0,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
555,"【片手剣24】青薔薇LV5",20,20000,0,0,0,0,0,200,0,0,True,0.3,0,0,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
556,"【片手剣25】ソニック・リープ_突進中",1.5,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
557,"【片手剣25】ソニック・リープ_斬撃",5,3000,3000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
558,"【片手剣26】バーチカル・アーク_1",3,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
559,"【片手剣26】バーチカル・アーク_2",3,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
560,"【片手剣27】嵐花裂天",5,5000,4000,0,0,0,0,0,0,0,True,0.5,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
561,"【片手剣28】金木犀LV5_1(未使用)",5,5000,4000,0,0,0,0,0,0,0,True,0.5,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
562,"【片手剣28】金木犀LV5_2",8,20000,4000,0,0,0,0,0,0,0,True,0.5,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
563,"【片手剣29】輪渦",2,1000,1000,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
564,"【片手剣30】天山烈波",12,5000,20000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
565,"【片手剣32】雷閃斬",8,5000,5000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
566,"【片手剣33】逆浪",4,1000,2000,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
567,"【片手剣34】穿花通貫",5,1000,4000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
568,"【片手剣35】旋花砕厳",10,1000,4000,0,0,0,0,0,0,5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
569,"【片手剣36】金木犀バリア",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
570,"【片手剣37】夜空LV4",5,5000,4000,0,0,0,0,0,0,0,True,0.3,0,0,0,6,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
571,"金木犀シンクロ_片手剣1撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
572,"金木犀シンクロ_片手剣2撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
573,"金木犀シンクロ_片手剣3撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
574,"金木犀シンクロ_片手剣4撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
575,"金木犀シンクロ_片手剣5撃目",2,1000,3000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
576,"金木犀シンクロ_片手剣ステップ攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
577,"金木犀シンクロ_片手剣ガード攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
578,"金木犀シンクロ_片手剣チャージ攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
579,"アローシェイプ火",6,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
580,"アローシェイプ水",6,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
581,"アローシェイプ風",6,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01"
|
||||
582,"アローシェイプ土",6,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
583,"アローシェイプ聖",6,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
584,"アローシェイプ闇",6,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
585,"バードシェイプ火",9,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
586,"バードシェイプ水",9,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
587,"バードシェイプ風",9,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01"
|
||||
588,"バードシェイプ土",9,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
589,"バードシェイプ聖",9,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
590,"バードシェイプ闇",9,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
591,"【片手剣38】ホリゾンタル",3,1000,1000,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
592,"【両手斧15】レックレス・ドライブ_1",3,5000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
593,"【両手斧15】レックレス・ドライブ_2",3,5000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
594,"【両手斧15】レックレス・ドライブ_3",3,5000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
595,"【両手斧15】レックレス・ドライブ_4",3,5000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
596,"【両手斧15】レックレス・ドライブ_5",3,5000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
597,"【両手斧15】レックレス・ドライブ_6",3,5000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
598,"【両手斧15】レックレス・ドライブ_7",4,5000,10000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
599,"【両手斧16】ヘヴィ・スレイ",12,5000,30000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
600,"【温泉】ベイシン・バッシュ!(上昇中)",1,1000,0,0,0,0,0,0,0,1,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
601,"【温泉】ベイシン・バッシュ!",5,1000,0,0,0,0,0,0,0,5,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
602,"【温泉】コンフューズ・スチーム",0,0,0,0,0,0,100,0,0,0,True,0.3,2,0,0,0,False,,,
|
||||
603,"【温泉】インテンス・ガイザー(火)",6,1000,1000,0,0,0,0,0,0,0,True,0.3,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
604,"【温泉】インテンス・ガイザー(水)",6,1000,1000,0,0,0,0,0,0,0,True,0.3,2,0,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
605,"【温泉】オラクルオブイグレット(火)",24,30000,20000,0,0,0,0,0,0,0,True,0.3,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
606,"【温泉】オラクルオブイグレット(水)",24,30000,20000,0,0,0,0,0,0,0,True,0.3,2,0,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
607,"ピナ_バブルブレス(強化中)",1.2,5000,0,0,0,0,50,0,0,0,True,0.3,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
608,"ピナ_ファイアブレス(強化中)",2.4,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,1,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
609,"ピナ_アイスブレス(強化中)",2.4,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
610,"ピナ_ウィンドブレス(強化中)",2.4,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,3,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
611,"ピナ_サンドブレス(強化中)",2.4,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,4,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
612,"ピナ_ライトニングブレス(強化中)",2.4,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,5,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
613,"ピナ_シャドウブレス(強化中)",2.4,5000,0,0,0,0,0,0,0,0,True,0.3,2,1,0,6,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
614,"ピナ_ドラゴニック・チャージ(強化中)",3.4,5000,1000,0,0,0,0,0,0,0.2,True,0,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
615,"【サンタ】プレゼント投擲",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
616,"【サンタ】プレゼント聖",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
617,"【サンタ】プレゼント闇",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
618,"【サンタ】メリー・メリー・クリスマス!(落下する箱)",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
619,"【サンタ】メリー・メリー・クリスマス!(炸裂)",12,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
620,"【サンタ】メリー・メリー・クリスマス!(中身)",2,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
621,"メイス一段目(ジングル・ヘッド)",1,1000,0,0,0,0,0,0,0,1.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
622,"メイス二段目(ジングル・ヘッド)",1,1000,0,0,0,0,0,0,0,1.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
623,"メイス三段目(ジングル・ヘッド)",1,1000,0,0,0,0,0,0,0,1.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
624,"メイス四段目(ジングル・ヘッド)",1.5,1000,3000,0,0,0,0,0,0,1,True,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
625,"メイスステップ攻撃1(ジングル・ヘッド)",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
626,"メイスステップ攻撃2(ジングル・ヘッド)",1,100,1000,0,0,0,0,0,0,3,True,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
627,"メイスガードアタック(ジングル・ヘッド)",1,1000,500,0,0,0,0,0,0,3,False,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
628,"メイスチャージアタック(ジングル・ヘッド)",1.5,1000,500,0,0,0,0,0,0,5,False,0,0,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
629,"【刀15】薄雲(LV1:範囲)",2,10000,5000,0,0,0,0,0,0,1.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
630,"【刀16】霞結(LV1:突進)",1.5,1000,3000,0,0,0,0,0,0,1.3,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
631,"【刀17】月裂(LV3:遠距離)",9,5000,2000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
632,"【刀18】蓮華通(LV3:突進)1",0.5,1000,500,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
633,"【刀18】蓮華通(LV3:突進)2",9,10000,5000,0,0,0,0,0,0,1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
634,"【弓13】(LV3:貫通矢)",9,5000,5000,0,0,0,0,0,0,3,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
635,"【弓14】(LV2:範囲)",1,1000,500,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
636,"金木犀シンクロ_二刀流1撃目",2,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
637,"金木犀シンクロ_二刀流2撃目",2,1000,1000,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
638,"金木犀シンクロ_二刀流3撃目",2,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
639,"金木犀シンクロ_二刀流4撃目",2,1000,1000,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
640,"金木犀シンクロ_二刀流5撃目右",2,1000,3000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
641,"金木犀シンクロ_二刀流5撃目左",2,1000,3000,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
642,"金木犀シンクロ_二刀流ステップ攻撃右",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
643,"金木犀シンクロ_二刀流ステップ攻撃左",2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
644,"金木犀シンクロ_二刀流ガード攻撃右",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
645,"金木犀シンクロ_二刀流ガード攻撃左",2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
646,"金木犀シンクロ_二刀流チャージ攻撃1",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
647,"金木犀シンクロ_二刀流チャージ攻撃2",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
648,"金木犀シンクロ_二刀流チャージ攻撃3右",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
649,"金木犀シンクロ_二刀流チャージ攻撃3左",2,1000,1000,0,0,0,0,0,0,0,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
650,"【二刀流18】護廻",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
651,"【二刀流19】フラッシング・ペネトレイター(LV5:突進)突進",8,1000,5000,0,0,0,0,0,0,0.5,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
652,"【二刀流19】フラッシング・ペネトレイター(LV5:突進)本体",12,1000,10000,0,0,0,0,0,0,1,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
653,"【二刀流20】ペネトレイト(LV3:単発)",12,10000,5000,0,0,0,0,0,0,2,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
654,"【二刀流21】スティンガー(LV1:突進)1",1,3000,500,0,0,0,0,0,0,0.5,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
655,"【二刀流21】スティンガー(LV1:突進)2",1.5,3000,3000,0,0,0,0,0,0,1,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
656,"【二刀流22】ピアース・テリトリー(LV2:範囲)",2.5,600,100,0,0,0,0,0,0,1.5,True,0.3,1,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
657,"【クロー15】連続パンチ遠距離",2.5,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
658,"【クロー16】連続パンチ近距離",3,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
659,"【クロー17】投げキッス1",0,1000,0,0,0,0,0,0,100,0,True,0,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
660,"【クロー18】投げキッス2_ハート",0,0,0,0,0,0,0,0,0,0,True,0,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
661,"【クロー19】投げキッス2_爆発",10,1000,0,0,0,0,0,0,1,0.2,True,0,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
662,"【クロー19】グリント・ショット(Lv1射撃",3,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
663,"【クロー20】ダブルサーキュラー(LV2 銃",3,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
664,"【クロー20】ダブルサーキュラー(LV2 武器",3,1000,3000,0,0,0,0,0,0,2,True,0.3,0,0,1,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
665,"【弓15】魅了矢",0,1000,0,0,0,0,0,0,100,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
666,"【バレンタイン1】通常チョコ",0,1000,0,0,0,0,0,0,100,0,True,0.3,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
667,"【バレンタイン2】爆発チョコ_包装",0,0,0,0,0,0,0,0,0,0,True,0.3,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
668,"【バレンタイン2】爆発チョコ_爆発",0,10000,0,0,0,0,0,0,100,0,True,0.3,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
669,"【バレンタイン3】男チョコ_混乱",10,1000,0,0,0,0,100,0,0,0,True,0.3,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
670,"【バレンタイン3】男チョコ_魅了",10,1000,0,0,0,0,0,0,100,0,True,0.3,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
671,"反射凝集光線Lv1",3,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
672,"反射凝集光線Lv2",5,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
673,"反射凝集光線Lv3",7,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
674,"反射凝集光線Lv4",15,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
675,"反射凝集光線Lv5",20,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
676,"反射凝集光線Lv6",25,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
677,"反射凝集光線Lv7",40,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
678,"反射凝集光線Lv8",70,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
679,"反射凝集光線Lv9",100,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
680,"反射凝集光線Lv10",200,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
681,"【細剣21】(LV3:突進)1",0.5,1000,500,0,0,0,0,0,0,0.1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
682,"【細剣21】(LV3:突進)2",9,10000,1000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
683,"【細剣25】(LV3:遠距離複数)",4,1000,1000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
684,"【二刀流24】アサルト・スライス_一撃目(LV3:突進)",5,5000,0,0,0,0,0,0,0,0.1,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
685,"【二刀流24】アサルト・スライス_ニ撃目(LV3:突進)",5,5000,3000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
686,"【二刀流24】アサルト・スライス_突進中_左",0.5,1000,500,0,0,0,0,0,0,0.1,True,0.3,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
687,"【二刀流24】アサルト・スライス_突進中_右",0.5,1000,500,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
688,"【二刀流25】ペルト・ライト(LV3:遠距離)",9,5000,2000,0,0,0,0,0,0,0.8,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
689,"【片手剣42】飛逐通花",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
690,"【二刀流23】サウザンド・レイン エクスキャリバー",9,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
691,"【二刀流23】サウザンド・レイン エリュシデータ",5.5,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
692,"【二刀流23】サウザンド・レイン ダークリパルサー",5.2,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
693,"【二刀流23】サウザンド・レイン ブラックプレート",3.3,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
694,"【二刀流23】サウザンド・レイン マクアフィテル",4.5,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
695,"【二刀流23】サウザンド・レイン シャルルマーニュ",4.2,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
696,"【二刀流23】サウザンド・レイン カゲミツG4",3,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,0,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
697,"【二刀流23】サウザンド・レイン スケイルブレード",2.5,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
698,"【二刀流23】サウザンド・レイン 青薔薇の剣",6,5000,0,0,0,0,0,300,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
699,"【二刀流23】サウザンド・レイン ランベントライト",5,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
700,"【二刀流23】サウザンド・レイン スティングダガー",2,5000,0,200,50,50,50,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
701,"【二刀流23】サウザンド・レイン ムラマサ",6.5,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
702,"【二刀流23】サウザンド・レイン ケラヴノス",9,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
703,"【二刀流23】サウザンド・レイン ミョルニル",5,5000,0,0,300,0,0,0,0,0.1,True,0.3,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
704,"【二刀流23】サウザンド・レイン 世界樹の枝",1,5000,0,0,0,0,0,0,0,0.1,True,0.3,2,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
705,"【細剣22】無制限地形操作",18,5000,5000,0,0,0,0,0,0,0.1,True,0.3,2,0,0,4,False,"SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02"
|
||||
706,"【細剣23】無制限地形操作",18,5000,5000,0,0,0,0,0,0,0.1,True,0.3,2,0,0,4,False,"SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02"
|
||||
707,"【細剣24】無制限地形操作",18,5000,5000,0,0,0,0,0,0,0.1,True,0.3,2,0,0,4,False,"SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02"
|
||||
708,"ピナ_エアーパフ・シュート",2.5,1000,1000,0,0,0,0,0,0,0.2,True,0,2,1,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
709,"ピナ_エアーパフ・シュート(強化中)",5,1000,1000,0,0,0,0,0,0,0.2,True,0,2,1,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
710,"スタグネイト・タイフーン 魔法LV3",3,1000,1000,0,0,0,0,0,0,10,True,0.3,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_02","SE_BTL_MAGIC_WIND_HIT_02","SE_BTL_MAGIC_WIND_HIT_02"
|
||||
711,"コール・メテオライト 魔法LV3(発生前)",0,0,0,0,0,0,0,0,0,0,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
712,"コール・メテオライト 魔法LV3(隕石)",3,1000,1000,0,0,0,0,0,0,0.1,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
713,"コール・メテオライト 魔法LV3(ヒット)",2.5,1000,1000,0,0,0,0,0,0,0.1,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
714,"【刀19】待宵(LV1:カウンター)",8,5000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
715,"【弓17】無制限飛行",0,1000,1000,0,0,0,0,0,0,5,False,0.3,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
716,"【弓16】広範囲殲滅攻撃_分裂前_見せ球",6,1000,1000,0,0,0,0,0,0,0,False,0,0,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
717,"【弓16】広範囲殲滅攻撃_分裂前_隠し玉",0,0,0,0,0,0,0,0,0,0,False,0,2,0,0,0,False,,,
|
||||
718,"【弓16】広範囲殲滅攻撃_分裂後の矢",1,1000,1000,0,0,0,0,0,0,0.1,False,0,0,0,3,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
719,"【弓16】広範囲殲滅攻撃_爆発",3,1000,1000,0,0,0,0,0,0,0.5,False,0,0,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
720,"【弓18】マインド・バレット",20,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
721,"【弓19】マインド・ペネトレイト",30,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
722,"【片手剣43】グリーム・グングニル",32,10000,20000,0,0,0,0,0,0,2,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
723,"【細剣26】ラース・オブ・ゴッド",55,5000,5000,0,0,0,0,0,0,0.1,False,0.3,2,0,0,4,False,"SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02","SE_BTL_MAGIC_STONE_HIT_02"
|
||||
724,"【二刀流26】ヴォーパル・ストライク(左手)",12,5000,10000,0,0,0,0,0,0,3,True,0.3,1,0,3,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
725,"【二刀流27】夜空LV4",5,5000,4000,0,0,0,0,0,0,0,True,0.3,0,0,0,6,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
726,"クリーピング・シャドウ 魔法LV3",5,1000,1000,0,0,0,0,0,0,1,True,0.3,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
727,"水魔法LV3",1.2,1000,100,0,0,0,0,0,0,-0.3,False,0,2,1,0,2,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
728,"【水着01】ビーチ・スマッシュ",5,1000,0,0,0,0,0,0,0,5,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
729,"【水着01】ビーチ・スマッシュ(上昇中)",1,1000,0,0,0,0,0,0,0,1,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
730,"【水着01】ビーチ・スマッシュ(強化時)",20,1000,2000,0,0,0,0,0,0,5,False,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
731,"【水着02】波",6,1000,1000,0,0,0,0,0,0,2,False,0,2,0,0,2,False,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
732,"【水着02】波(浅瀬)",8,1000,1000,0,0,0,0,0,0,5,False,0,2,0,0,2,True,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
733,"【水着03】大波",6,1000,1000,0,0,0,0,0,0,2,False,0,2,0,0,2,False,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
734,"【水着03】大波(浅瀬)",8,1000,1000,0,0,0,0,0,0,5,False,0,2,0,0,2,True,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
735,"【細剣27】護廻",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
736,"【細剣28】飛逐通花",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
737,"【細剣29】カウンター・アサルト",8,5000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,3,0,True,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
738,"【刀21】甚三紅",5,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
739,"【弓20】ライトニング・チェイサー",3,500,1000,0,100,0,0,0,0,0,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
740,"【狙撃銃14】グレネード複数_投擲",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
741,"【狙撃銃14】グレネード複数_爆発",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
742,"金木犀シンクロ_細剣1撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
743,"金木犀シンクロ_細剣2撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
744,"金木犀シンクロ_細剣3撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
745,"金木犀シンクロ_細剣4撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
746,"金木犀シンクロ_細剣5撃目",2,1000,3000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
747,"金木犀シンクロ_細剣ステップ攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
748,"金木犀シンクロ_細剣ガード攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
749,"金木犀シンクロ_細剣チャージ攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
750,"片手剣一段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
751,"片手剣二段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
752,"片手剣三段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
753,"片手剣四段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
754,"片手剣五段目(フォトンソード)",1.5,100,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
755,"片手剣ステップ攻撃1(フォトンソード)",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
756,"片手剣ステップ攻撃2(フォトンソード)",1,300,1000,0,0,0,0,0,0,1.5,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
757,"片手剣ガードアタック(フォトンソード)",1,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
758,"片手剣チャージアタック(フォトンソード)",2,1000,0,0,0,0,0,0,0,0,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
759,"【片手剣45】突進_1撃目",3,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
760,"【片手剣45】突進_2撃目",3,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
761,"【片手剣45】突進_3撃目",3,1000,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
762,"【片手剣45】突進_4撃目",4,1000,5000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
763,"【片手剣46】ヴァーデュラス・アニマ!",5,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
764,"【クロー21】猛毒爪",2,5000,1000,4000,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
765,"【短剣21】麻痺連撃1撃目",2,500,500,0,100,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
766,"【短剣21】麻痺連撃2撃目",2,500,500,0,100,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
767,"【短剣21】麻痺連撃3撃目",2.5,500,500,0,100,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
768,"【短剣21】麻痺連撃4撃目",3,500,500,0,100,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
769,"【片手棍20】突進_途中",3,1000,5000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
770,"【片手棍20】突進_フィニッシュ",4,1000,5000,0,0,0,0,0,0,2,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
771,"【片手棍21】遠距離",3.5,1000,2000,0,0,0,0,0,0,7,True,0.3,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
772,"【片手剣47】連射突進_剣",1,100,100,0,0,0,0,0,0,0.1,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
773,"【片手剣47】連射突進_銃",3,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
774,"【片手剣48】遠距離",9,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
775,"FN57強化中",4,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
776,"二刀流一段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
777,"二刀流二段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
778,"二刀流三段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
779,"二刀流四段目(フォトンソード)",1,100,0,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
780,"二刀流五段目(フォトンソード)",1.5,100,1000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
781,"二刀流五段目左(フォトンソード)",1.5,100,1000,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
782,"二刀流ガード(フォトンソード)",1,1000,0,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
783,"二刀流ステップ1(フォトンソード)",0.8,500,0,0,0,0,0,0,0,2,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
784,"二刀流ステップ2(フォトンソード)",1,100,500,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
785,"二刀流ステップ2左(フォトンソード)",1,100,500,0,0,0,0,0,0,1,True,0,1,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
786,"二刀流チャージアタック1(フォトンソード)",1,1000,0,0,0,0,0,0,0,2.5,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
787,"二刀流チャージアタック2(フォトンソード)",1,1000,0,0,0,0,0,0,0,2.5,True,0,0,0,1,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
788,"二刀流チャージアタック3(フォトンソード)",2,1000,1000,0,0,0,0,0,0,2.5,True,0,0,0,3,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
789,"二刀流チャージアタック3左(フォトンソード)",2,1000,1000,0,0,0,0,0,0,2.5,True,0,1,0,3,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
790,"【細剣31】グレネード_投擲",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
791,"【細剣31】グレネード_爆発",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
792,"【細剣32】スモーク・グレネード_投擲",0.1,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,2,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
793,"【細剣32】スモーク・グレネード_爆発",0,1000,0,0,0,0,500,0,0,0,True,0,2,0,0,0,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
794,"【短剣22】護廻",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
795,"【短剣23】飛逐通花",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
796,"【サンタ4】金木犀プレゼント",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
797,"【サンタ5】グレネード_爆発",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
798,"【サンタ6】グレネード_爆発",10,1000,0,0,0,0,0,0,0,0.2,True,0,2,0,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02","SE_BTL_MAGIC_FIRE_HIT_02"
|
||||
799,"バースト水",50,5000,5000,0,0,0,0,0,0,5,False,0,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
800,"バースト風",50,5000,5000,0,0,0,0,0,0,5,False,0,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01"
|
||||
801,"聖魔法LV3",5,1000,1000,0,0,0,0,0,0,1,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
802,"金木犀シンクロ_短剣1撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
803,"金木犀シンクロ_短剣2撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
804,"金木犀シンクロ_短剣3撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
805,"金木犀シンクロ_短剣4撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
806,"金木犀シンクロ_短剣5撃目",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
807,"金木犀シンクロ_短剣5撃目",2,1000,3000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
808,"金木犀シンクロ_短剣ステップ攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
809,"金木犀シンクロ_短剣ガード攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
810,"金木犀シンクロ_短剣チャージ攻撃",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
811,"オールエレメント火",12,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
812,"オールエレメント水",12,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
813,"オールエレメント風",12,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01"
|
||||
814,"オールエレメント土",12,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
815,"オールエレメント聖",12,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
816,"オールエレメント闇",12,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
817,"【温泉】インテンス・ガイザー(火)_強化中",6,1000,1000,0,0,0,0,0,0,1,True,0.3,2,0,0,1,True,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
818,"【温泉】インテンス・ガイザー(水)_強化中",6,1000,1000,0,0,0,0,0,0,1,True,0.3,2,0,0,2,True,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
819,"【温泉】オラクルオブイグレット(火)_強化中",24,30000,20000,0,0,0,0,0,0,1,True,0.3,2,0,0,1,True,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
820,"【温泉】オラクルオブイグレット(水)_強化中",24,30000,20000,0,0,0,0,0,0,1,True,0.3,2,0,0,2,True,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
821,"【温泉】オラクルオブイグレット(火)_強化中_湯気",4,0,0,0,0,0,0,0,0,0,True,0.3,2,0,0,1,True,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
822,"【温泉】オラクルオブイグレット(水)_強化中_湯気",4,0,0,0,0,0,0,0,0,0,True,0.3,2,0,0,2,True,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
823,"【細剣35】LV3カウンター:突",25,10000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,3,0,True,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
824,"【細剣35】LV3カウンター:斬",25,10000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
825,"【刀22】LV3カウンター:斬",25,10000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
826,"【刀22】LV3カウンター:突",25,10000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,3,0,True,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
827,"無属性魔法",50,5000,5000,0,0,0,0,0,0,1,False,0,2,1,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
828,"デバフ弾",0,5000,0,0,0,0,0,0,0,1,False,0,2,1,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
829,"サンダーバリア",2,5000,0,0,50,0,0,0,0,10,False,0,2,1,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
830,"【狙撃銃】チャージ狙撃_チャージ0",11,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
831,"【狙撃銃】チャージ狙撃_チャージ1",16,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
832,"【狙撃銃】チャージ狙撃_チャージ2",22,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
833,"【狙撃銃】チャージ狙撃_チャージ3",27,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
834,"【細剣】チャージ刺突_チャージ0",11,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
835,"【細剣】チャージ刺突_チャージ1",16,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
836,"【細剣】チャージ刺突_チャージ2",22,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
837,"【細剣】チャージ刺突_チャージ3",27,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,3,0,False,"SE_HIT_CHR_GUN_SKILL_NOMAL","SE_HIT_CHR_GUN_SKILL_WEAK","SE_HIT_CHR_GUN_SKILL_RESIST"
|
||||
838,"【刀】チャージ居合_チャージ0",11,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
839,"【刀】チャージ居合_チャージ1",16,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
840,"【刀】チャージ居合_チャージ2",22,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
841,"【刀】チャージ居合_チャージ3",27,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
842,"【刀23】絶三門_1",4,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
843,"【刀23】絶三門_2",4,1000,0,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
844,"【刀23】絶三門_3",4,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
845,"【刀24】流連剣",7,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
846,"【二刀流】ジャイロ・シューター_チャージ0_右",3,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
847,"【二刀流】ジャイロ・シューター_チャージ0_左",3,1000,1000,0,0,0,0,0,0,0.2,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
848,"【二刀流】ジャイロ・シューター_チャージ1_右",3.2,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
849,"【二刀流】ジャイロ・シューター_チャージ1_左",3.2,1000,1000,0,0,0,0,0,0,0.2,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
850,"【二刀流】ジャイロ・シューター_チャージ2_右",3.5,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
851,"【二刀流】ジャイロ・シューター_チャージ2_左",3.5,1000,1000,0,0,0,0,0,0,0.2,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
852,"【二刀流】ジャイロ・シューター_チャージ3_右",4,1000,1000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
853,"【二刀流】ジャイロ・シューター_チャージ3_左",4,1000,1000,0,0,0,0,0,0,0.2,True,0,1,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
854,"【二刀流】LV3カウンター:斬_右",13,10000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
855,"【二刀流】LV3カウンター:斬_左",13,10000,10000,0,0,0,0,0,0,0.8,True,0.3,1,0,1,0,True,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
856,"【二刀流】LV3カウンター:突_右",13,10000,10000,0,0,0,0,0,0,0.8,True,0.3,0,0,3,0,True,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
857,"【二刀流】LV3カウンター:突_左",13,10000,10000,0,0,0,0,0,0,0.8,True,0.3,1,0,3,0,True,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
858,"【クロー22】L3カウンター:打",25,10000,10000,0,0,0,0,0,0,5,True,0,0,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
859,"【クロー22】L3カウンター:斬",25,10000,10000,0,0,0,0,0,0,1,True,0,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
860,"【クロー25】チャーム・オーラ",0,0,0,0,0,0,0,0,200,0,True,0,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
861,"【クロー26】ヴァイオレット・ホイール",2.8,1000,1000,0,0,0,0,0,0,3.5,True,0.3,0,0,1,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
862,"【短剣24】遠距離毒",2,5000,1000,4000,0,0,0,0,0,0.8,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
863,"【水着03】ハイドロ・カノンボール",18,1000,1000,0,0,0,0,0,0,1,True,0,2,0,0,2,False,"SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02","SE_BTL_MAGIC_WATER_HIT_02"
|
||||
864,"【クロー27】ちゃーむ・おーら?",4,0,0,0,0,0,0,0,2000,0,True,0,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
865,"フレンドのディフェンス・ポスチャー",0,0,0,0,0,0,0,0,0,0.1,True,0,2,0,0,0,True,,,
|
||||
866,"オーシャン・バブルブレス",2.5,1000,1000,0,0,0,25,0,0,0.2,True,0,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
867,"オーシャン・バブルブレス(強化中)",5,1000,1000,0,0,0,25,0,0,0.2,True,0,2,1,0,2,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
868,"冥界王の盾_火",3,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
869,"冥界王の盾_水",3,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,2,False,"SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01","SE_BTL_MAGIC_WATER_HIT_01"
|
||||
870,"冥界王の盾_風",3,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,3,False,"SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01","SE_BTL_MAGIC_WIND_HIT_01"
|
||||
871,"冥界王の盾_土",3,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,4,False,"SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01","SE_BTL_MAGIC_STONE_HIT_01"
|
||||
872,"冥界王の盾_聖",3,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,5,False,"SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01","SE_BTL_MAGIC_SHINE_HIT_01"
|
||||
873,"冥界王の盾_闇",3,1000,1000,0,0,0,0,0,0,2,True,0,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
874,"短剣投擲",1,1000,0,0,0,0,0,0,0,0,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
875,"短剣投擲6段目",1.5,1000,0,0,0,0,0,0,0,0,True,0,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
876,"金木犀シンクロ_狙撃銃共通",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
877,"トランプ1",3,1000,1000,0,0,0,0,0,0,0,True,0.3,2,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
878,"トランプ_ハート",1,1000,1000,0,0,0,0,0,2000,0,True,0,2,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
879,"ダイス1",2,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
880,"ダイス2",4,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
881,"ダイス3",6,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
882,"ダイス4",8,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
883,"ダイス5",10,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
884,"ダイス6",12,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
885,"カジノチップ",5,1000,1000,0,0,0,0,0,0,0,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
886,"トランプ_ピナ",1.2,1000,1000,0,0,0,0,0,0,0,True,0,2,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
887,"【細剣38】LV2突進_01",1.5,1500,1000,0,0,0,0,0,0,1,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
888,"【細剣38】LV2突進_02",6.5,2000,3000,0,0,0,0,0,0,1.5,True,0.3,0,0,3,0,False,"SE_HIT_CHR_THRUST_NOMAL","SE_HIT_CHR_THRUST_WEAK","SE_HIT_CHR_THRUST_RESIST"
|
||||
889,"【二刀流36】連射_横",4.5,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
890,"【二刀流36】連射_縦",6,5000,1000,0,0,0,0,0,0,0.8,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
891,"バースト闇",50,5000,5000,0,0,0,0,0,0,5,False,0,2,1,0,6,False,"SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01","SE_BTL_MAGIC_DARK_HIT_01"
|
||||
892,"ベル本体",8,1000,1000,0,0,0,0,0,0,1,True,0,2,0,2,0,False,"SE_HIT_CHR_BELL_NOMAL","SE_HIT_CHR_BELL_WEAK","SE_HIT_CHR_BELL_RESIST"
|
||||
893,"ベル爆発",8,1000,1000,0,0,0,0,0,0,3,True,0,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
894,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)1",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
895,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)2",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
896,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)3",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
897,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)4",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
898,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)5",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
899,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)6",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
900,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)7",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
901,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)8",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
902,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)9",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
903,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)10",6.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
904,"【狙撃銃19】マザーズ・ロザリオ(LV5:連撃)11",12.5,5000,1000,0,0,0,0,0,0,0.2,True,0.6,2,0,0,0,False,"SE_HIT_CHR_LS_NOMAL","SE_HIT_CHR_LS_WEAK","SE_HIT_CHR_LS_RESIST"
|
||||
905,"メイド_掃除",5,1000,1000,0,0,0,0,0,0,7,True,0.8,2,0,0,0,True,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
906,"メイド_オムライス魅了",0,10000,0,0,0,0,0,0,2000,0,True,0,2,0,0,0,False,"SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART","SE_HIT_CHR_VALENTINE_HEART"
|
||||
907,"メイド_ティーセット",8,1000,1000,0,0,0,0,0,0,1,True,0,2,0,2,0,True,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
908,"【クロー29】護廻",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
909,"【クロー30】飛逐通花",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
910,"【クロー31】連飛通花",2,1000,500,0,0,0,0,0,0,0.01,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
911,"金木犀シンクロ_クロー共通",2,1000,1000,0,0,0,0,0,0,0,True,0.3,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
912,"FN57強化中(クロー)",4,1000,500,0,0,0,0,0,0,0.5,True,0.3,2,0,3,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
913,"イースターエッグ攻撃爆発",15,1000,1000,0,0,0,0,0,0,3,True,0,2,0,2,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
914,"イースターエッグ魅了",0,0,0,0,0,0,0,0,2000,0,True,0,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
915,"イースターエッグデバフ",0,10000,0,0,0,0,0,0,0,0,True,0,2,0,0,0,False,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
916,"メイド_掃除(ブレイク・スウィーパー)",1,1000,1000,0,0,0,0,0,0,7,True,0.8,2,0,0,0,True,"SE_HIT_CHR_BLOW_NOMAL","SE_HIT_CHR_BLOW_WEAK","SE_HIT_CHR_BLOW_RESIST"
|
||||
917,"フレイム・スネーク 魔法LV3",5,1000,1000,0,0,0,0,0,0,0,True,0,2,1,0,1,False,"SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01","SE_BTL_MAGIC_FIRE_HIT_01"
|
||||
918,"【刀29】月華",25,10000,10000,0,0,0,0,0,0,0.2,True,0,0,0,1,0,False,"SE_HIT_CHR_SLASH_NOMAL","SE_HIT_CHR_SLASH_WEAK","SE_HIT_CHR_SLASH_RESIST"
|
||||
919,"ダミー",0,0,0,0,0,0,0,0,0,0,True,0,2,0,0,0,False,,,
|
||||
|
312
titles/sao/data/1/CharaComment.csv
Normal file
312
titles/sao/data/1/CharaComment.csv
Normal file
@@ -0,0 +1,312 @@
|
||||
// CharaCommentId,Name,Hud,Multiplay,IsToPlayer,Priority,TextId,VoiceId,Forward,Backward,Once,CoolTime,WaitTime
|
||||
14,"クエスト開始デモ",False,False,False,10,,"{0}_QUE_001",True,True,False,5,0
|
||||
15,"クエスト開始デモ(サイト連動)",False,False,False,10,,"{0}_QUE_058",True,True,False,5,0
|
||||
16,"クエスト開始デモ(水着)",False,False,False,10,,"{0}_SEA_001",True,True,False,5,0
|
||||
17,"クエスト開始デモ(サンタ)",False,False,False,10,,"{0}_SEA_002",True,True,False,5,0
|
||||
18,"クエスト開始デモ(制服)",False,False,False,10,,"{0}_SEA_003",True,True,False,5,0
|
||||
19,"クエスト開始デモ(温泉)",False,False,False,10,,"{0}_SEA_004",True,True,False,5,0
|
||||
20,"クエスト開始デモ(巫女)",False,False,False,10,,"{0}_SEA_005",True,True,False,5,0
|
||||
21,"クエスト開始デモ(メイド・執事)",False,False,False,10,,"{0}_SEA_006",True,True,False,5,0
|
||||
22,"クエスト開始デモ ハイタッチ誘導",False,False,False,10,,"{0}_QUE_039",True,True,False,5,0
|
||||
23,"クエスト開始デモ ハイタッチ誘導(サイト連動)",False,False,False,10,,"{0}_QUE_059",True,True,False,5,0
|
||||
24,"クエスト開始デモ ハイタッチ反応",False,False,False,10,,"{0}_QUE_040",True,True,False,5,0
|
||||
25,"クエスト開始デモ ハイタッチ反応(信頼度MAX)",False,False,False,10,,"{0}_QUE_057",True,True,False,5,0
|
||||
26,"クエスト開始デモ ハイタッチ反応(サイト連動)",False,False,False,10,,"{0}_QUE_040",True,True,False,5,0
|
||||
27,"クエストスタート",True,False,True,10,"TXT_CH_COM_QUE_002_{0}","{0}_QUE_002",True,True,False,5,3
|
||||
28,"活動限界警告",True,False,True,12,"TXT_CH_COM_QUE_003_{0}","{0}_QUE_003",True,True,False,5,3
|
||||
29,"クエストクリア",True,False,True,10,"TXT_CH_COM_QUE_004_{0}","{0}_QUE_004",True,True,False,5,3
|
||||
30,"クエスト終了デモ",False,False,False,10,,"{0}_QUE_006",True,True,False,5,0
|
||||
31,"活動限界到達",True,False,True,11,"TXT_CH_COM_QUE_007_{0}","{0}_QUE_007",True,True,False,5,4
|
||||
32,"ミッション失敗",True,False,True,30,"TXT_CH_COM_QUE_009_{0}","{0}_QUE_009",True,True,False,10,4
|
||||
33,"ミッション発生",True,False,True,30,"TXT_CH_COM_QUE_042_{0}","{0}_QUE_042",True,True,False,10,4
|
||||
35,"ミッションクリア(ボイスなし)",True,False,True,30,"TXT_CH_COM_QUE_045_{0}","{0}_QUE_045",True,True,False,10,4
|
||||
36,"指揮官発見",True,False,True,93,"TXT_CH_COM_QUE_012_{0}","{0}_QUE_012",True,False,False,20,4
|
||||
37,"ボスを発見",True,False,True,13,"TXT_CH_COM_QUE_014_{0}","{0}_QUE_014",True,False,False,20,4
|
||||
38,"宝箱発見",True,False,True,81,"TXT_CH_COM_QUE_024_{0}","{0}_QUE_024",True,False,False,15,4
|
||||
41,"宝箱獲得(ボイスなし)",True,False,True,50,"TXT_CH_COM_QUE_051_{0}","{0}_QUE_051",True,True,False,15,4
|
||||
42,"宝箱経験値達成(ボイスなし)",True,False,True,50,"TXT_CH_COM_QUE_053_{0}","{0}_QUE_053",True,True,False,15,4
|
||||
43,"キャラスキル取得",True,False,True,40,"TXT_CH_COM_QUE_019_{0}","{0}_QUE_019",True,True,False,15,4
|
||||
44,"討伐提案",True,False,True,14,"TXT_CH_COM_QUE_020_{0}","{0}_QUE_020",True,True,True,5,4
|
||||
45,"ミッションキャンセル",True,False,True,30,"TXT_CH_COM_QUE_021_{0}","{0}_QUE_021",True,True,False,15,4
|
||||
46,"指揮官を遠方に発見",True,False,True,82,"TXT_CH_COM_QUE_022_{0}","{0}_QUE_022",True,False,False,50,3
|
||||
47,"ボスを遠方に発見",True,False,True,80,"TXT_CH_COM_QUE_023_{0}","{0}_QUE_023",True,False,False,20,3
|
||||
48,"フラグメントLLを遠方に発見",True,False,True,51,"TXT_CH_COM_QUE_024_{0}","{0}_QUE_024",True,False,False,20,3
|
||||
49,"グリード出現",True,False,True,41,"TXT_CH_COM_QUE_025_{0}","{0}_QUE_025",True,False,False,20,3
|
||||
50,"ハニースライム出現",True,False,True,41,"TXT_CH_COM_QUE_026_{0}","{0}_QUE_026",True,False,False,20,3
|
||||
51,"グリード逃走",True,False,True,41,"TXT_CH_COM_QUE_027_{0}","{0}_QUE_027",True,True,False,30,3
|
||||
52,"ハニースライム逃走",True,False,True,41,"TXT_CH_COM_QUE_028_{0}","{0}_QUE_028",True,True,False,30,3
|
||||
53,"グリード撃破",True,False,True,41,"TXT_CH_COM_QUE_029_{0}","{0}_QUE_029",True,True,False,30,3
|
||||
54,"ハニースライム撃破",True,False,True,35,"TXT_CH_COM_QUE_030_{0}","{0}_QUE_030",True,True,False,30,3
|
||||
55,"ヒールスポットを発見(重症:HP40%以下)",True,False,True,56,"TXT_CH_COM_QUE_031_{0}","{0}_QUE_031",True,False,False,60,4
|
||||
56,"ヒールスポットを発見(中傷:HP41%~HP70%)",True,False,True,85,"TXT_CH_COM_QUE_032_{0}","{0}_QUE_032",True,False,False,60,4
|
||||
57,"ヒールスポットを発見(軽傷:HP71%以上)",True,False,True,94,"TXT_CH_COM_QUE_033_{0}","{0}_QUE_033",True,False,False,60,4
|
||||
58,"ヒールスポットを発見(無傷)",True,False,True,98,"TXT_CH_COM_QUE_034_{0}","{0}_QUE_034",True,False,False,60,3
|
||||
59,"ヒールスポットで全快",True,True,True,27,"TXT_CH_COM_QUE_035_{0}","{0}_QUE_035",True,True,False,30,3
|
||||
60,"エスケープスポットを発見",True,False,True,92,"TXT_CH_COM_QUE_036_{0}","{0}_QUE_036",True,False,False,20,4
|
||||
61,"移動補助ギミックを発見",True,False,True,95,"TXT_CH_COM_QUE_037_{0}","{0}_QUE_037",True,False,False,20,3
|
||||
62,"通路の開放",True,False,True,15,"TXT_CH_COM_QUE_038_{0}","{0}_QUE_038",True,True,False,10,4
|
||||
63,"ミッションポイント発見",True,False,True,30,"TXT_CH_COM_QUE_041_{0}","{0}_QUE_041",True,False,False,10,3
|
||||
64,"★1★2ミッション発生",True,False,True,30,"TXT_CH_COM_QUE_042_{0}","{0}_QUE_042",True,True,False,10,2
|
||||
65,"★3ミッション発生",True,False,True,30,"TXT_CH_COM_QUE_043_{0}","{0}_QUE_043",True,True,False,10,2
|
||||
66,"★4ミッション発生",True,False,True,30,"TXT_CH_COM_QUE_044_{0}","{0}_QUE_044",True,True,False,10,2
|
||||
67,"★1★2ミッションクリア",True,False,True,30,"TXT_CH_COM_QUE_045_{0}","{0}_QUE_045",True,True,False,10,3
|
||||
68,"★3ミッションクリア",True,False,True,30,"TXT_CH_COM_QUE_046_{0}","{0}_QUE_046",True,True,False,10,3
|
||||
69,"★4ミッションクリア",True,False,True,30,"TXT_CH_COM_QUE_047_{0}","{0}_QUE_047",True,True,False,10,3
|
||||
70,"モンスター発見",True,False,True,96,"TXT_CH_COM_QUE_048_{0}","{0}_QUE_048",True,False,False,15,4
|
||||
71,"レジェンドボスを発見",True,False,True,19,"TXT_CH_COM_QUE_049_{0}","{0}_QUE_049",True,False,False,20,4
|
||||
72,"フラグメント(S、M)獲得",True,False,True,54,"TXT_CH_COM_QUE_051_{0}","{0}_QUE_051",True,True,False,15,3
|
||||
73,"フラグメント(L、LL)獲得",True,False,True,54,"TXT_CH_COM_QUE_052_{0}","{0}_QUE_052",True,True,False,15,3
|
||||
74,"未解析ログ経験値達成",True,False,True,52,"TXT_CH_COM_QUE_053_{0}","{0}_QUE_053",True,True,False,15,3
|
||||
75,"未解析ログ経験値達成(レア)",True,False,True,52,"TXT_CH_COM_QUE_054_{0}","{0}_QUE_054",True,True,False,15,3
|
||||
76,"未解析ログ経験値達成(超レア)",True,False,True,52,"TXT_CH_COM_QUE_055_{0}","{0}_QUE_055",True,True,False,15,3
|
||||
77,"エリア制圧",True,False,True,15,"TXT_CH_COM_QUE_056_{0}","{0}_QUE_056",True,True,False,10,3
|
||||
78,"ステップ1",False,False,False,97,,"{0}_BTL_001",True,True,False,5,0
|
||||
79,"ステップ2",False,False,False,97,,"{0}_BTL_002",True,True,False,5,0
|
||||
80,"ガード1",False,False,False,97,,"{0}_BTL_004",True,True,False,5,0
|
||||
81,"ガード2",False,False,False,97,,"{0}_BTL_005",True,True,False,5,0
|
||||
82,"ガード3",False,False,False,97,,"{0}_BTL_006",True,True,False,5,0
|
||||
83,"連撃途中1",False,False,False,97,,"{0}_BTL_007",True,False,False,0.1,0
|
||||
84,"連撃途中2",False,False,False,97,,"{0}_BTL_008",True,False,False,0.1,0
|
||||
85,"連撃途中3",False,False,False,97,,"{0}_BTL_009",True,False,False,0.1,0
|
||||
86,"連撃最終1",False,False,False,97,,"{0}_BTL_010",True,False,False,0.1,0
|
||||
87,"連撃最終2",False,False,False,97,,"{0}_BTL_011",True,False,False,0.1,0
|
||||
88,"連撃最終3",False,False,False,97,,"{0}_BTL_012",True,False,False,0.1,0
|
||||
89,"ヨロケ1",False,False,False,97,,"{0}_BTL_022",True,True,False,5,0
|
||||
90,"ヨロケ2",False,False,False,97,,"{0}_BTL_023",True,True,False,5,0
|
||||
91,"ヨロケ3",False,False,False,97,,"{0}_BTL_024",True,True,False,5,0
|
||||
92,"ダウン1",False,False,False,97,,"{0}_BTL_025",True,True,False,5,0
|
||||
93,"ダウン2",False,False,False,97,,"{0}_BTL_026",True,True,False,5,0
|
||||
94,"ダウン3",False,False,False,97,,"{0}_BTL_027",True,True,False,5,0
|
||||
95,"耐久値減少 中",True,False,False,26,"TXT_CH_COM_BTL_028_{0}","{0}_BTL_028",True,True,False,30,3
|
||||
96,"耐久値減少 大",True,False,False,25,"TXT_CH_COM_BTL_029_{0}","{0}_BTL_029",True,True,False,30,3
|
||||
97,"耐久値切れ",True,False,False,21,"TXT_CH_COM_BTL_030_{0}","{0}_BTL_030",True,True,False,30,2
|
||||
98,"耐久値復活",True,False,False,20,"TXT_CH_COM_BTL_031_{0}","{0}_BTL_031",True,True,False,30,4
|
||||
99,"仲間耐久値減少 中",True,False,False,26,"TXT_CH_COM_BTL_032_{0}","{0}_BTL_032",True,True,False,30,2
|
||||
100,"仲間耐久値減少 大",True,False,False,25,"TXT_CH_COM_BTL_033_{0}","{0}_BTL_033",True,True,False,30,3
|
||||
101,"仲間耐久値切れ",True,False,False,21,"TXT_CH_COM_BTL_034_{0}","{0}_BTL_034",True,True,False,30,3
|
||||
102,"ザコ倒す",True,False,False,91,"TXT_CH_COM_QUE_056_{0}","{0}_QUE_056",True,True,False,30,4
|
||||
103,"仲間がザコ倒す",True,False,False,90,"TXT_CH_COM_QUE_056_{0}","{0}_QUE_056",True,True,False,30,4
|
||||
104,"ボスダウン",True,False,False,90,"TXT_CH_COM_BTL_037_{0}","{0}_BTL_037",True,True,False,30,3
|
||||
105,"ボス倒す",True,False,False,90,"TXT_CH_COM_BTL_038_{0}","{0}_BTL_038",True,True,False,30,3
|
||||
109,"回復受け",True,False,False,70,"TXT_CH_COM_BTL_042_{0}","{0}_BTL_042",True,True,False,30,4
|
||||
110,"バフ受け",True,False,False,70,"TXT_CH_COM_BTL_043_{0}","{0}_BTL_043",True,True,False,30,4
|
||||
111,"超攻撃スキル単発",True,True,False,32,"TXT_CH_COM_BTL_057_{0}","{0}_BTL_057",True,False,False,0.1,0.3
|
||||
112,"超攻撃スキル乱舞",True,True,False,32,"TXT_CH_COM_BTL_058_{0}","{0}_BTL_058",True,False,False,0.1,0.3
|
||||
113,"超攻撃スキル突進",True,True,False,32,"TXT_CH_COM_BTL_059_{0}","{0}_BTL_059",True,False,False,0.1,0.3
|
||||
114,"超攻撃スキル範囲",True,True,False,32,"TXT_CH_COM_BTL_060_{0}","{0}_BTL_060",True,False,False,0.1,0.3
|
||||
115,"超攻撃スキル飛び道具",True,True,False,32,"TXT_CH_COM_BTL_061_{0}","{0}_BTL_061",True,False,False,0.1,0.3
|
||||
116,"超攻撃スキル単発 LV3カットイン用HUD抜き",False,False,False,32,"TXT_CH_COM_BTL_057_{0}","{0}_BTL_057",True,False,False,0.1,0.3
|
||||
117,"超攻撃スキル乱舞 LV3カットイン用HUD抜き",False,False,False,32,"TXT_CH_COM_BTL_058_{0}","{0}_BTL_058",True,False,False,0.1,0.3
|
||||
118,"超攻撃スキル突進 LV3カットイン用HUD抜き",False,False,False,32,"TXT_CH_COM_BTL_059_{0}","{0}_BTL_059",True,False,False,0.1,0.3
|
||||
119,"超攻撃スキル範囲 LV3カットイン用HUD抜き",False,False,False,32,"TXT_CH_COM_BTL_060_{0}","{0}_BTL_060",True,False,False,0.1,0.3
|
||||
120,"超攻撃スキル飛び道具 LV3カットイン用HUD抜き",False,False,False,32,"TXT_CH_COM_BTL_061_{0}","{0}_BTL_061",True,False,False,0.1,0.3
|
||||
121,"超攻撃スキル汎用1",False,False,False,32,"TXT_CH_COM_BTL_062_{0}","{0}_BTL_062",True,False,False,0.1,0
|
||||
122,"超攻撃スキル汎用2",False,False,False,32,"TXT_CH_COM_BTL_063_{0}","{0}_BTL_063",True,False,False,0.1,0
|
||||
123,"超攻撃スキル汎用3",False,False,False,32,"TXT_CH_COM_BTL_064_{0}","{0}_BTL_064",True,False,False,0.1,0
|
||||
124,"超攻撃スキル決め台詞1",True,True,False,32,"TXT_CH_COM_BTL_065_{0}","{0}_BTL_065",True,False,False,0.1,0.3
|
||||
125,"超攻撃スキル決め台詞2",True,True,False,32,"TXT_CH_COM_BTL_066_{0}","{0}_BTL_066",True,False,False,0.1,0.3
|
||||
126,"超攻撃スキル決め台詞3",True,True,False,32,"TXT_CH_COM_BTL_067_{0}","{0}_BTL_067",True,False,False,0.1,0.3
|
||||
127,"回復自分",True,True,False,70,"TXT_CH_COM_BTL_068_{0}","{0}_BTL_068",True,True,False,30,2
|
||||
128,"回復全員",True,True,False,70,"TXT_CH_COM_BTL_069_{0}","{0}_BTL_069",True,True,False,30,2
|
||||
129,"バフ自分",True,True,False,70,"TXT_CH_COM_BTL_070_{0}","{0}_BTL_070",True,True,False,30,2
|
||||
130,"バフ全員",True,True,False,70,"TXT_CH_COM_BTL_071_{0}","{0}_BTL_071",True,True,False,30,2
|
||||
131,"攻撃力バフ",True,True,False,70,"TXT_CH_COM_BTL_072_{0}","{0}_BTL_072",True,True,False,30,2
|
||||
132,"防御力バフ",True,True,False,70,"TXT_CH_COM_BTL_073_{0}","{0}_BTL_073",True,True,False,30,2
|
||||
133,"移動速度アップ",True,True,False,70,"TXT_CH_COM_BTL_074_{0}","{0}_BTL_074",True,True,False,30,2
|
||||
134,"デバフ発動",True,True,False,70,"TXT_CH_COM_BTL_075_{0}","{0}_BTL_075",True,True,False,30,2
|
||||
135,"ハイド",True,True,False,70,"TXT_CH_COM_BTL_076_{0}","{0}_BTL_076",True,True,False,30,2
|
||||
136,"アンロック",True,True,False,70,"TXT_CH_COM_BTL_077_{0}","{0}_BTL_077",True,True,False,30,2
|
||||
137,"補助スキル汎用1",True,True,False,70,"TXT_CH_COM_BTL_078_{0}","{0}_BTL_078",True,True,False,30,2
|
||||
138,"補助スキル汎用2",True,True,False,70,"TXT_CH_COM_BTL_079_{0}","{0}_BTL_079",True,True,False,30,2
|
||||
139,"パッシブスキル発動",True,False,False,70,"TXT_CH_COM_BTL_080_{0}","{0}_BTL_080",True,True,False,30,2
|
||||
140,"サーチスキル発動",True,True,False,70,"TXT_CH_COM_BTL_081_{0}","{0}_BTL_081",True,True,False,30,2
|
||||
141,"毒受け",True,False,False,70,"TXT_CH_COM_BTL_082_{0}","{0}_BTL_082",True,True,False,30,2
|
||||
142,"封印受け",True,False,False,70,"TXT_CH_COM_BTL_083_{0}","{0}_BTL_083",True,True,False,30,3
|
||||
143,"混乱受け",True,False,False,70,"TXT_CH_COM_BTL_084_{0}","{0}_BTL_084",True,True,False,30,2
|
||||
144,"地震受け",True,False,False,70,"TXT_CH_COM_BTL_085_{0}","{0}_BTL_085",True,True,False,30,2
|
||||
145,"状態異常請け汎用",True,False,False,70,"TXT_CH_COM_BTL_086_{0}","{0}_BTL_086",True,True,False,30,2
|
||||
146,"ジャストガード成功",True,False,False,70,"TXT_CH_COM_BTL_087_{0}","{0}_BTL_087",True,True,False,30,2
|
||||
147,"パリィ成功",True,False,False,70,"TXT_CH_COM_BTL_088_{0}","{0}_BTL_088",True,True,False,30,2
|
||||
148,"戦闘所感(劣勢)",True,False,True,100,"TXT_CH_COM_JOI_001_{0}","{0}_JOI_001",True,True,False,20,2
|
||||
149,"戦闘所感(優勢)",True,False,True,100,"TXT_CH_COM_JOI_002_{0}","{0}_JOI_002",True,True,False,20,2
|
||||
150,"スキル推奨",True,False,True,100,"TXT_CH_COM_JOI_003_{0}","{0}_JOI_003",True,True,False,20,2
|
||||
151,"キャラ切り替え推奨",True,False,True,100,"TXT_CH_COM_JOI_004_{0}","{0}_JOI_004",True,True,False,20,2
|
||||
152,"ボス戦推奨",True,False,True,100,"TXT_CH_COM_JOI_005_{0}","{0}_JOI_005",True,True,False,20,4
|
||||
153,"プレイヤースキル要請",True,False,True,100,"TXT_CH_COM_JOI_016_{0}","{0}_JOI_016",True,True,False,20,3
|
||||
154,"プレイヤースキル感謝",True,False,True,10,"TXT_CH_COM_JOI_017_{0}","{0}_JOI_017",True,True,False,20,3
|
||||
155,"部屋離脱推奨",True,False,True,28,"TXT_CH_COM_JOI_018_{0}","{0}_JOI_018",True,True,False,20,3
|
||||
156,"守護騎士系が多い",True,False,True,83,"TXT_CH_COM_JOI_042_{0}","{0}_JOI_042",True,False,False,20,4
|
||||
157,"イビルグランサー系が多い",True,False,True,83,"TXT_CH_COM_JOI_043_{0}","{0}_JOI_043",True,False,False,20,4
|
||||
158,"シルキー系が多い",True,False,True,83,"TXT_CH_COM_JOI_044_{0}","{0}_JOI_044",True,False,False,20,4
|
||||
159,"ウズ系が多い",True,False,True,83,"TXT_CH_COM_JOI_045_{0}","{0}_JOI_045",True,False,False,20,4
|
||||
160,"リザードマン系が多い",True,False,True,83,"TXT_CH_COM_JOI_046_{0}","{0}_JOI_046",True,False,False,20,4
|
||||
161,"スケルトン系が多い",True,False,True,83,"TXT_CH_COM_JOI_047_{0}","{0}_JOI_047",True,False,False,20,4
|
||||
162,"コボルド系が多い",True,False,True,83,"TXT_CH_COM_JOI_048_{0}","{0}_JOI_048",True,False,False,20,4
|
||||
163,"オーク系が多い",True,False,True,83,"TXT_CH_COM_JOI_049_{0}","{0}_JOI_049",True,False,False,20,4
|
||||
164,"ゴーレム系が多い",True,False,True,83,"TXT_CH_COM_JOI_050_{0}","{0}_JOI_050",True,False,False,20,4
|
||||
165,"セルケト系が多い",True,False,True,83,"TXT_CH_COM_JOI_051_{0}","{0}_JOI_051",True,False,False,20,4
|
||||
166,"ガーゴイル系が多い",True,False,True,83,"TXT_CH_COM_JOI_052_{0}","{0}_JOI_052",True,False,False,20,4
|
||||
167,"グリフォン系が多い",True,False,True,83,"TXT_CH_COM_JOI_053_{0}","{0}_JOI_053",True,False,False,20,4
|
||||
168,"ハーピー系が多い",True,False,True,83,"TXT_CH_COM_JOI_054_{0}","{0}_JOI_054",True,False,False,20,4
|
||||
169,"ワイバーン系が多い",True,False,True,83,"TXT_CH_COM_JOI_055_{0}","{0}_JOI_055",True,False,False,20,4
|
||||
170,"バジリスク系が多い",True,False,True,83,"TXT_CH_COM_JOI_056_{0}","{0}_JOI_056",True,False,False,20,4
|
||||
171,"スライム系が多い",True,False,True,83,"TXT_CH_COM_JOI_057_{0}","{0}_JOI_057",True,False,False,20,4
|
||||
172,"ルーンナイト系が多い",True,False,True,83,"TXT_CH_COM_JOI_058_{0}","{0}_JOI_058",True,False,False,20,4
|
||||
173,"スカイクリーパー系が多い",True,False,True,83,"TXT_CH_COM_JOI_059_{0}","{0}_JOI_059",True,False,False,20,4
|
||||
174,"ファントム系が多い",True,False,True,83,"TXT_CH_COM_JOI_060_{0}","{0}_JOI_060",True,False,False,20,4
|
||||
175,"フラウロス系が多い",True,False,True,83,"TXT_CH_COM_JOI_061_{0}","{0}_JOI_061",True,False,False,20,4
|
||||
176,"フーア系が多い",True,False,True,83,"TXT_CH_COM_JOI_062_{0}","{0}_JOI_062",True,False,False,20,4
|
||||
177,"ブッカブー系が多い",True,False,True,83,"TXT_CH_COM_JOI_063_{0}","{0}_JOI_063",True,False,False,20,4
|
||||
178,"クアジット系が多い",True,False,True,83,"TXT_CH_COM_JOI_064_{0}","{0}_JOI_064",True,False,False,20,4
|
||||
179,"ボア系が多い",True,False,True,83,"TXT_CH_COM_JOI_065_{0}","{0}_JOI_065",True,False,False,20,4
|
||||
180,"プラント系が多い",True,False,True,83,"TXT_CH_COM_JOI_066_{0}","{0}_JOI_066",True,False,False,20,4
|
||||
181,"マッシュ系が多い",True,False,True,83,"TXT_CH_COM_JOI_067_{0}","{0}_JOI_067",True,False,False,20,4
|
||||
182,"クラブ系が多い",True,False,True,83,"TXT_CH_COM_JOI_068_{0}","{0}_JOI_068",True,False,False,20,4
|
||||
183,"アント系が多い",True,False,True,83,"TXT_CH_COM_JOI_069_{0}","{0}_JOI_069",True,False,False,20,4
|
||||
184,"メカ系が多い",True,False,True,83,"TXT_CH_COM_JOI_070_{0}","{0}_JOI_070",True,False,False,20,4
|
||||
185,"砲台系が多い",True,False,True,83,"TXT_CH_COM_JOI_071_{0}","{0}_JOI_071",True,False,False,20,4
|
||||
186,"自爆するMobがいる",True,False,True,83,"TXT_CH_COM_JOI_072_{0}","{0}_JOI_072",True,False,False,20,4
|
||||
187,"リザルト:レベルアップ",False,False,False,35,,"{0}_RES_001",True,True,False,5,0
|
||||
188,"リザルト:プレイヤーランクアップ",False,False,False,35,,"{0}_RES_002",True,True,False,5,0
|
||||
189,"リザルト:未解析ログ 開封",False,False,False,35,,"{0}_RES_003",True,True,False,5,0
|
||||
190,"リザルト:画面遷移",False,False,False,35,,"{0}_RES_004",True,True,False,5,0
|
||||
191,"前衛に出る1",True,False,False,97,"TXT_CH_COM_BTL_013_{0}","{0}_BTL_013",True,True,False,15,1
|
||||
192,"前衛に出る2",True,False,False,97,"TXT_CH_COM_BTL_014_{0}","{0}_BTL_014",True,True,False,15,1
|
||||
193,"前衛に出る3",True,False,False,97,"TXT_CH_COM_BTL_015_{0}","{0}_BTL_015",True,True,False,15,1
|
||||
194,"スイッチ要請1",True,False,False,31,"TXT_CH_COM_BTL_016_{0}","{0}_BTL_016",True,True,False,0,0.1
|
||||
195,"スイッチ要請2",True,False,False,31,"TXT_CH_COM_BTL_017_{0}","{0}_BTL_017",True,True,False,0,0.1
|
||||
196,"スイッチ要請3",True,False,False,31,"TXT_CH_COM_BTL_018_{0}","{0}_BTL_018",True,True,False,0,0.1
|
||||
197,"スイッチ要請承諾1",True,False,False,31,"TXT_CH_COM_BTL_019_{0}","{0}_BTL_019",True,True,False,0,1
|
||||
198,"スイッチ要請承諾2",True,False,False,31,"TXT_CH_COM_BTL_020_{0}","{0}_BTL_020",True,True,False,0,1
|
||||
199,"スイッチ要請承諾3",True,False,False,31,"TXT_CH_COM_BTL_021_{0}","{0}_BTL_021",True,True,False,0,1
|
||||
200,"スイッチ要請4",False,False,False,97,"TXT_CH_COM_BTL_016_{0}","{0}_BTL_016",True,True,False,0,0
|
||||
201,"スイッチ要請5",False,False,False,97,"TXT_CH_COM_BTL_017_{0}","{0}_BTL_017",True,True,False,0,0
|
||||
202,"スイッチ要請6",False,False,False,97,"TXT_CH_COM_BTL_018_{0}","{0}_BTL_018",True,True,False,0,0
|
||||
203,"スイッチ要請承諾4",False,False,False,97,"TXT_CH_COM_BTL_019_{0}","{0}_BTL_019",True,True,False,0,1
|
||||
204,"スイッチ要請承諾5",False,False,False,97,"TXT_CH_COM_BTL_020_{0}","{0}_BTL_020",True,True,False,0,1
|
||||
205,"スイッチ要請承諾6",False,False,False,97,"TXT_CH_COM_BTL_021_{0}","{0}_BTL_021",True,True,False,0,1
|
||||
10000,"フィールド雑談(汎用1)",True,False,True,98,"TXT_CH_COM_JOI_014_{0}","{0}_JOI_014",True,True,True,30,4
|
||||
10001,"フィールド雑談(汎用2)",True,False,True,98,"TXT_CH_COM_JOI_014_{0}","{0}_JOI_014",False,False,True,30,4
|
||||
10002,"フィールド雑談(リコ所感・初期)",True,False,True,98,"TXT_CH_COM_JOI_015_{0}","{0}_JOI_015",True,True,True,30,4
|
||||
10003,"フィールド雑談(リコ所感・慣れてきた)",True,False,True,98,"TXT_CH_COM_JOI_073_{0}","{0}_JOI_073",True,True,True,30,4
|
||||
10004,"フィールド雑談(SAO1・1層西フィールド)",True,False,True,98,"TXT_CH_COM_JOI_008_{0}","{0}_JOI_008",True,True,True,30,4
|
||||
10005,"フィールド雑談(SAO2・74層迷宮区)",True,False,True,98,"TXT_CH_COM_JOI_009_{0}","{0}_JOI_009",True,True,True,30,4
|
||||
10006,"フィールド雑談(ALO1・世界樹の上)",True,False,True,98,"TXT_CH_COM_JOI_010_{0}","{0}_JOI_010",True,True,True,30,4
|
||||
10007,"フィールド雑談(ALO2・スリュムヘイム)",True,False,True,98,"TXT_CH_COM_JOI_011_{0}","{0}_JOI_011",True,True,True,30,4
|
||||
10008,"フィールド雑談(GGO1・廃墟都市)",True,False,True,98,"TXT_CH_COM_JOI_012_{0}","{0}_JOI_012",True,True,True,30,4
|
||||
10009,"フィールド雑談(SAO3・ダナク)",True,False,True,98,"TXT_CH_COM_JOI_013_{0}","{0}_JOI_013",True,True,True,30,4
|
||||
10010,"フィールド雑談(フローリア)",True,False,True,98,"TXT_CH_COM_JOI_019_{0}","{0}_JOI_019",True,True,True,30,4
|
||||
10011,"フィールド雑談(迷宮区アジト)",True,False,True,98,"TXT_CH_COM_JOI_020_{0}","{0}_JOI_020",True,True,True,30,4
|
||||
10012,"フィールド雑談(GGO砂漠+洞窟)",True,False,True,98,"TXT_CH_COM_JOI_021_{0}","{0}_JOI_021",True,True,True,30,4
|
||||
10013,"フィールド雑談(55層西の山)",True,False,True,98,"TXT_CH_COM_JOI_022_{0}","{0}_JOI_022",True,True,True,30,4
|
||||
10014,"フィールド雑談(35層迷いの森・雪)",True,False,True,98,"TXT_CH_COM_JOI_023_{0}","{0}_JOI_023",True,True,True,30,4
|
||||
10015,"フィールド雑談(中立区・古森)",True,False,True,98,"TXT_CH_COM_JOI_024_{0}","{0}_JOI_024",True,True,True,30,4
|
||||
10016,"フィールド雑談(蝶の谷)",True,False,True,98,"TXT_CH_COM_JOI_025_{0}","{0}_JOI_025",True,True,True,30,4
|
||||
10017,"フィールド雑談(SBCグロッケン)",True,False,True,98,"TXT_CH_COM_JOI_026_{0}","{0}_JOI_026",True,True,True,30,4
|
||||
10018,"フィールド雑談(22層ログハウス周辺)",True,False,True,98,"TXT_CH_COM_JOI_027_{0}","{0}_JOI_027",True,True,True,30,4
|
||||
10019,"フィールド雑談(パナレーゼ)",True,False,True,98,"TXT_CH_COM_JOI_028_{0}","{0}_JOI_028",True,True,True,30,4
|
||||
10020,"フィールド雑談(メインメモリルーム)",True,False,True,98,"TXT_CH_COM_JOI_029_{0}","{0}_JOI_029",True,True,True,30,4
|
||||
10021,"フィールド雑談(昼)",True,False,True,98,"TXT_CH_COM_JOI_030_{0}","{0}_JOI_030",True,True,True,30,4
|
||||
10022,"フィールド雑談(夕方)",True,False,True,98,"TXT_CH_COM_JOI_031_{0}","{0}_JOI_031",True,True,True,30,4
|
||||
10023,"フィールド雑談(夜)",True,False,True,98,"TXT_CH_COM_JOI_032_{0}","{0}_JOI_032",True,True,True,30,4
|
||||
10024,"フィールド雑談(室内)",True,False,True,98,"TXT_CH_COM_JOI_033_{0}","{0}_JOI_033",True,True,True,30,4
|
||||
10025,"フィールド雑談(水場)",True,False,True,98,"TXT_CH_COM_JOI_034_{0}","{0}_JOI_034",True,True,True,30,4
|
||||
10026,"フィールド雑談(高い場所)",True,False,True,98,"TXT_CH_COM_JOI_035_{0}","{0}_JOI_035",True,True,True,30,4
|
||||
10027,"フィールド雑談(風の強い場所)",True,False,True,98,"TXT_CH_COM_JOI_036_{0}","{0}_JOI_036",True,True,True,30,4
|
||||
10028,"フィールド雑談(暑い場所)",True,False,True,98,"TXT_CH_COM_JOI_037_{0}","{0}_JOI_037",True,True,True,30,4
|
||||
10029,"フィールド雑談(寒い場所)",True,False,True,98,"TXT_CH_COM_JOI_038_{0}","{0}_JOI_038",True,True,True,30,5
|
||||
10030,"フィールド雑談(蒸し暑い場所)",True,False,True,98,"TXT_CH_COM_JOI_039_{0}","{0}_JOI_039",True,True,True,30,4
|
||||
10031,"フィールド雑談(埃っぽい場所)",True,False,True,98,"TXT_CH_COM_JOI_040_{0}","{0}_JOI_040",True,True,True,30,4
|
||||
10032,"フィールド雑談(起伏が激しい場所)",True,False,True,98,"TXT_CH_COM_JOI_041_{0}","{0}_JOI_041",True,True,True,30,4
|
||||
10033,"MOBに回復用MOBが居るボス戦",True,False,True,14,"TXT_CH_COM_BTL_089_{0}","{0}_BTL_089",True,False,True,20,4
|
||||
10034,"バフ使いMOBがいるボス戦",True,False,True,14,"TXT_CH_COM_BTL_090_{0}","{0}_BTL_090",True,False,True,20,4
|
||||
10035,"強めの雑魚がいるボス戦",True,False,True,14,"TXT_CH_COM_BTL_091_{0}","{0}_BTL_091",True,False,True,20,4
|
||||
10036,"ポップ間隔の激しいボス戦",True,False,True,14,"TXT_CH_COM_BTL_092_{0}","{0}_BTL_092",True,False,True,20,4
|
||||
10037,"普通のMOBしかいないボス戦",True,False,True,14,"TXT_CH_COM_BTL_093_{0}","{0}_BTL_093",True,False,True,20,4
|
||||
10038,"ボスの怒りモードに言及",True,False,True,14,"TXT_CH_COM_BTL_094_{0}","{0}_BTL_094",True,False,True,20,4
|
||||
10039,"怒りモードで行動が大きく変わるボス用",True,False,True,14,"TXT_CH_COM_BTL_095_{0}","{0}_BTL_095",True,False,True,20,4
|
||||
10040,"怒りモードで行動が大きく変わるボス用(例、怒りモードで火属性を多用する場合など)",True,False,True,14,"TXT_CH_COM_BTL_096_{0}","{0}_BTL_096",True,False,True,20,4
|
||||
10041,"仲間を呼ぶボス用",True,False,True,14,"TXT_CH_COM_BTL_097_{0}","{0}_BTL_097",True,False,True,20,4
|
||||
10042,"回復やドレインするボス用",True,False,True,14,"TXT_CH_COM_BTL_098_{0}","{0}_BTL_098",True,False,True,20,4
|
||||
10043,"動きが速いボス用",True,False,True,14,"TXT_CH_COM_BTL_099_{0}","{0}_BTL_099",True,False,True,20,4
|
||||
10044,"テレポートするボス用",True,False,True,14,"TXT_CH_COM_BTL_100_{0}","{0}_BTL_100",True,False,True,20,4
|
||||
10045,"残りHPを見て使用",True,False,True,14,"TXT_CH_COM_BTL_101_{0}","{0}_BTL_101",True,False,True,20,4
|
||||
10046,"弱点が無いボス用",True,False,True,13,"TXT_CH_COM_BTL_102_{0}","{0}_BTL_102",True,False,True,20,4
|
||||
10047,"頭が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_103_{0}","{0}_BTL_103",True,False,True,20,4
|
||||
10048,"体が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_104_{0}","{0}_BTL_104",True,False,True,20,4
|
||||
10049,"足が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_105_{0}","{0}_BTL_105",True,False,True,20,4
|
||||
10050,"尻尾が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_106_{0}","{0}_BTL_106",True,False,True,20,4
|
||||
10051,"火属性が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_107_{0}","{0}_BTL_107",True,False,True,20,4
|
||||
10052,"水属性が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_108_{0}","{0}_BTL_108",True,False,True,20,4
|
||||
10053,"土属性が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_109_{0}","{0}_BTL_109",True,False,True,20,4
|
||||
10054,"風属性が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_110_{0}","{0}_BTL_110",True,False,True,20,4
|
||||
10055,"聖属性が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_111_{0}","{0}_BTL_111",True,False,True,20,4
|
||||
10056,"闇属性が弱点のボス",True,False,True,13,"TXT_CH_COM_BTL_112_{0}","{0}_BTL_112",True,False,True,20,4
|
||||
10057,"防御が高いボス",True,False,True,14,"TXT_CH_COM_BTL_113_{0}","{0}_BTL_113",True,False,True,20,4
|
||||
10058,"飛行タイプのボス用",True,False,True,14,"TXT_CH_COM_BTL_114_{0}","{0}_BTL_114",True,False,True,20,4
|
||||
10059,"接近距離が得意なボス用",True,False,True,14,"TXT_CH_COM_BTL_115_{0}","{0}_BTL_115",True,False,True,20,4
|
||||
10060,"遠距離攻撃が得意なボス用",True,False,True,14,"TXT_CH_COM_BTL_116_{0}","{0}_BTL_116",True,False,True,20,4
|
||||
10061,"隙のある攻撃を持っているボス用",True,False,True,14,"TXT_CH_COM_BTL_117_{0}","{0}_BTL_117",True,False,True,20,4
|
||||
10062,"範囲の多い攻撃をしてくる場合に使用",True,False,True,14,"TXT_CH_COM_BTL_118_{0}","{0}_BTL_118",True,False,True,20,4
|
||||
10063,"正面に立つとヤバい",True,False,True,14,"TXT_CH_COM_BTL_119_{0}","{0}_BTL_119",True,False,True,20,4
|
||||
10064,"突進がウリのボス",True,False,True,14,"TXT_CH_COM_BTL_120_{0}","{0}_BTL_120",True,False,True,20,4
|
||||
10065,"ボス部屋に複数のボスが設置されたマップ用",True,False,True,14,"TXT_CH_COM_BTL_121_{0}","{0}_BTL_121",True,False,True,20,4
|
||||
10066,"マップに複数のボスが設置されたマップ用",True,False,True,14,"TXT_CH_COM_BTL_122_{0}","{0}_BTL_122",True,False,True,20,4
|
||||
10067,"ボスが強力な場合",True,False,True,14,"TXT_CH_COM_BTL_123_{0}","{0}_BTL_123",True,False,True,20,4
|
||||
10068,"イルファング・ザ・コボルドロード登場",True,False,True,12,"TXT_CH_COM_BTL_124_{0}","{0}_BTL_124",True,False,True,20,4
|
||||
10069,"グリームアイズ登場",True,False,True,12,"TXT_CH_COM_BTL_125_{0}","{0}_BTL_125",True,False,True,20,4
|
||||
10070,"スカルリーパー登場",True,False,True,12,"TXT_CH_COM_BTL_126_{0}","{0}_BTL_126",True,False,True,20,4
|
||||
10071,"スリュム登場",True,False,True,12,"TXT_CH_COM_BTL_127_{0}","{0}_BTL_127",True,False,True,20,4
|
||||
10072,"カガチ・ザ・サムライロード登場",True,False,True,12,"TXT_CH_COM_BTL_128_{0}","{0}_BTL_128",True,False,True,20,4
|
||||
10073,"名称不明のGGOボス登場",True,False,True,12,"TXT_CH_COM_BTL_129_{0}","{0}_BTL_129",True,False,True,20,4
|
||||
10074,"背教者ニコラス登場",True,False,True,12,"TXT_CH_COM_BTL_130_{0}","{0}_BTL_130",True,False,True,20,4
|
||||
20000,"戦術提案1",True,False,True,98,"TXT_CH_COM_JOI_006_{0}","{0}_JOI_006",True,True,False,100,4
|
||||
20001,"戦術提案2",True,False,True,98,"TXT_CH_COM_JOI_007_{0}","{0}_JOI_007",True,True,False,100,4
|
||||
20002,"MVP獲得",False,False,False,10,,"{0}_RES_007",True,True,False,5,0
|
||||
20003,"MVPを逃した",False,False,False,10,,"{0}_RES_008",True,True,False,5,0
|
||||
20004,"フィールド雑談(ALO・海)",True,False,True,98,"TXT_CH_COM_JOI_074_{0}","{0}_JOI_074",True,True,True,30,4
|
||||
20005,"フィールド雑談(GGO・グロッケン地下)",True,False,True,98,"TXT_CH_COM_JOI_075_{0}","{0}_JOI_075",True,True,True,30,4
|
||||
20006,"フィールド雑談(メインメモリルーム)",True,False,True,98,"TXT_CH_COM_JOI_076_{0}","{0}_JOI_076",True,True,True,30,4
|
||||
20007,"Unknown所感(3章)",True,False,True,98,"TXT_CH_COM_JOI_077_{0}","{0}_JOI_077",True,True,True,30,4
|
||||
20008,"リコ所感(4章)",True,False,True,98,"TXT_CH_COM_JOI_078_{0}","{0}_JOI_078",True,True,True,30,4
|
||||
20009,"リコ所感(失踪時)",True,False,True,98,"TXT_CH_COM_JOI_079_{0}","{0}_JOI_079",True,True,True,30,4
|
||||
20010,"リコ所感(1部クリア後)",True,False,True,98,"TXT_CH_COM_JOI_080_{0}","{0}_JOI_080",True,True,True,30,4
|
||||
20011,"ラフコフと遭遇",True,False,True,83,"TXT_CH_COM_JOI_081_{0}","{0}_JOI_081",True,False,False,20,4
|
||||
20012,"触手研究員と遭遇",True,False,True,83,"TXT_CH_COM_JOI_082_{0}","{0}_JOI_082",True,False,False,20,4
|
||||
20013,"死銃と対峙",True,False,True,83,"TXT_CH_COM_JOI_083_{0}","{0}_JOI_083",True,False,False,20,4
|
||||
20014,"バレットラインが見える",True,False,True,83,"TXT_CH_COM_JOI_084_{0}","{0}_JOI_084",True,False,False,20,4
|
||||
20015,"Mob発見時汎用",True,False,True,83,"TXT_CH_COM_JOI_085_{0}","{0}_JOI_085",True,False,False,20,4
|
||||
20016,"攻撃をすり抜けるボス",True,False,True,14,"TXT_CH_COM_JOI_086_{0}","{0}_JOI_086",True,False,True,20,4
|
||||
20017,"地震攻撃をするボス",True,False,True,14,"TXT_CH_COM_JOI_087_{0}","{0}_JOI_087",True,False,True,20,4
|
||||
20018,"状態異常攻撃をするボス",True,False,True,14,"TXT_CH_COM_JOI_088_{0}","{0}_JOI_088",True,False,True,20,4
|
||||
20019,"地底に隠れるボス",True,False,True,14,"TXT_CH_COM_JOI_089_{0}","{0}_JOI_089",True,False,True,20,4
|
||||
20020,"ダメージを反射するボス",True,False,True,14,"TXT_CH_COM_JOI_090_{0}","{0}_JOI_090",True,False,True,20,4
|
||||
20021,"デフラグマッチ用 アダプタブル発見",True,True,True,13,"TXT_CH_COM_JOI_091_{0}","{0}_JOI_091",True,False,True,20,4
|
||||
20022,"デフラグマッチ用 パニッシャー発見",True,True,True,13,"TXT_CH_COM_JOI_092_{0}","{0}_JOI_092",True,False,True,20,4
|
||||
20023,"デフラグマッチ提案1",True,True,True,98,"TXT_CH_COM_JOI_093_{0}","{0}_JOI_093",True,True,False,100,4
|
||||
20025,"デフラグマッチ優勢",True,True,True,100,"TXT_CH_COM_JOI_095_{0}","{0}_JOI_095",True,True,False,20,2
|
||||
20026,"デフラグマッチ劣勢",True,True,True,100,"TXT_CH_COM_JOI_096_{0}","{0}_JOI_096",True,True,False,20,2
|
||||
20027,"デフラグマッチ開始デモ",False,False,False,10,,"{0}_QUE_064",True,True,False,5,0
|
||||
20028,"デフラグマッチ ハイタッチ誘導",False,False,False,10,,"{0}_QUE_065",True,True,False,5,0
|
||||
20029,"デフラグマッチスタート",True,True,True,10,"TXT_CH_COM_QUE_066_{0}","{0}_QUE_066",True,True,False,5,3
|
||||
20030,"戦績アイテム発見",True,True,True,41,"TXT_CH_COM_QUE_067_{0}","{0}_QUE_067",True,True,False,30,3
|
||||
20031,"戦績アイテム獲得",True,True,True,41,"TXT_CH_COM_QUE_068_{0}","{0}_QUE_068",True,True,False,60,3
|
||||
20032,"特大戦績アイテム獲得",True,True,True,41,"TXT_CH_COM_QUE_069_{0}","{0}_QUE_069",True,True,False,40,3
|
||||
20033,"スキルEXP発見",True,True,True,41,"TXT_CH_COM_QUE_070_{0}","{0}_QUE_070",True,True,False,30,3
|
||||
20034,"スキルEXP獲得",True,True,True,41,"TXT_CH_COM_QUE_071_{0}","{0}_QUE_071",True,True,False,60,3
|
||||
20035,"特大スキルEXP獲得",True,True,True,41,"TXT_CH_COM_QUE_072_{0}","{0}_QUE_072",True,True,False,40,3
|
||||
20046,"自分が全損した(デフラグマッチ)",True,True,False,21,"TXT_CH_COM_BTL_140_{0}","{0}_BTL_140",True,True,False,30,2
|
||||
20047,"仲間が全損した(デフラグマッチ)",True,True,False,21,"TXT_CH_COM_BTL_141_{0}","{0}_BTL_141",True,True,False,30,3
|
||||
20048,"全キャラが全損した(デフラグマッチ)",True,True,False,21,"TXT_CH_COM_BTL_142_{0}","{0}_BTL_142",True,True,False,30,2
|
||||
20049,"全損待機中",True,True,False,21,"TXT_CH_COM_BTL_143_{0}","{0}_BTL_143",True,True,False,30,4
|
||||
20050,"全損後再スタート",True,True,False,20,"TXT_CH_COM_BTL_144_{0}","{0}_BTL_144",True,True,False,30,4
|
||||
20051,"ボスを倒した",True,True,False,90,"TXT_CH_COM_BTL_149_{0}","{0}_BTL_149",True,True,False,30,3
|
||||
20052,"感染個体・パニッシャーを倒した",True,True,False,50,"TXT_CH_COM_BTL_150_{0}","{0}_BTL_150",True,True,False,30,3
|
||||
20053,"ラストアタック獲得",True,True,True,20,"TXT_CH_COM_BTL_151_{0}","{0}_BTL_151",True,True,False,30,3
|
||||
20054,"ユージオLV5青薔薇スキル用アクションボイス",False,False,False,32,,"{0}_BTL_134",True,False,False,0.1,0
|
||||
20055,"お弁当スキル使用",True,True,False,70,"TXT_CH_COM_BTL_068_{0}","{0}_BTL_068",True,True,False,0.1,0.3
|
||||
20056,"宙づりシリカ プラント召喚ボイス",True,True,False,32,"TXT_CH_COM_BTL_018_{0}","{0}_BTL_018",True,False,False,0.1,0.3
|
||||
20057,"クエスト開始デモ(ネコミミ)",False,False,False,10,,"{0}_SEA_007",True,True,False,5,0
|
||||
20058,"アリス 反射凝集光線術 カットイン用HUD抜き",False,False,False,32,,"{0}_BTL_138",True,False,False,0.1,0.3
|
||||
20059,"アリス 反射凝集光線術 発射",True,True,False,32,"TXT_CH_COM_BTL_133_{0}","{0}_BTL_133",True,False,False,0.1,0.3
|
||||
20060,"クエスト開始デモ(制服)",False,False,False,10,,"{0}_SEA_003",True,True,False,5,0
|
||||
|
101
titles/sao/data/1/CharaFriendlyRank.csv
Normal file
101
titles/sao/data/1/CharaFriendlyRank.csv
Normal file
@@ -0,0 +1,101 @@
|
||||
// CharaFriendlyRankId,TotalExp
|
||||
1,0
|
||||
2,100
|
||||
3,200
|
||||
4,300
|
||||
5,400
|
||||
6,500
|
||||
7,600
|
||||
8,700
|
||||
9,800
|
||||
10,900
|
||||
11,1000
|
||||
12,1100
|
||||
13,1200
|
||||
14,1300
|
||||
15,1400
|
||||
16,1500
|
||||
17,1600
|
||||
18,1700
|
||||
19,1800
|
||||
20,1900
|
||||
21,2000
|
||||
22,2100
|
||||
23,2200
|
||||
24,2300
|
||||
25,2400
|
||||
26,2500
|
||||
27,2600
|
||||
28,2700
|
||||
29,2800
|
||||
30,2900
|
||||
31,3000
|
||||
32,3100
|
||||
33,3200
|
||||
34,3300
|
||||
35,3400
|
||||
36,3500
|
||||
37,3600
|
||||
38,3700
|
||||
39,3800
|
||||
40,3900
|
||||
41,4000
|
||||
42,4100
|
||||
43,4200
|
||||
44,4300
|
||||
45,4400
|
||||
46,4500
|
||||
47,4600
|
||||
48,4700
|
||||
49,4800
|
||||
50,4900
|
||||
51,5000
|
||||
52,5100
|
||||
53,5200
|
||||
54,5300
|
||||
55,5400
|
||||
56,5500
|
||||
57,5600
|
||||
58,5700
|
||||
59,5800
|
||||
60,5900
|
||||
61,6000
|
||||
62,6100
|
||||
63,6200
|
||||
64,6300
|
||||
65,6400
|
||||
66,6500
|
||||
67,6600
|
||||
68,6700
|
||||
69,6800
|
||||
70,6900
|
||||
71,7000
|
||||
72,7100
|
||||
73,7200
|
||||
74,7300
|
||||
75,7400
|
||||
76,7500
|
||||
77,7600
|
||||
78,7700
|
||||
79,7800
|
||||
80,7900
|
||||
81,8000
|
||||
82,8100
|
||||
83,8200
|
||||
84,8300
|
||||
85,8400
|
||||
86,8500
|
||||
87,8600
|
||||
88,8700
|
||||
89,8800
|
||||
90,8900
|
||||
91,9000
|
||||
92,9100
|
||||
93,9200
|
||||
94,9300
|
||||
95,9400
|
||||
96,9500
|
||||
97,9600
|
||||
98,9700
|
||||
99,9800
|
||||
100,9900
|
||||
|
104
titles/sao/data/1/ChatEventStory.csv
Normal file
104
titles/sao/data/1/ChatEventStory.csv
Normal file
@@ -0,0 +1,104 @@
|
||||
// ChatEventStoryId,EventId,ReleaseConditionType,ReleaseConditionValue,DisplayName,FirstRewardVp
|
||||
10101,2010,1,0,"謎の観測(13)",50
|
||||
10102,2013,1,0,"今回のお礼(3)",50
|
||||
10201,2011,2,1600,"アリス君(14)",50
|
||||
10202,2011,2,10300,"何者なのかしら(8)",50
|
||||
10203,2011,2,19300,"必要なことは…(3)",50
|
||||
10204,2011,2,36800,"剣が樹になるの!?(5)",50
|
||||
10205,2011,2,82000,"雨縁の様子は?(9)",50
|
||||
10301,2012,2,1600,"ユージオ君(14)",50
|
||||
10302,2012,2,10300,"アインクラッド流(4)",50
|
||||
10303,2012,2,19300,"尊敬しちゃうな(5)",50
|
||||
10304,2012,2,36800,"ずりぃぞ!(8)",50
|
||||
10305,2012,2,82000,"事実確認(6)",50
|
||||
20101,2017,1,0,"相談させてくれ(2)",50
|
||||
20102,2017,2,550,"紹介するわね!(9)",50
|
||||
20103,2017,2,10740,"リズとスズネって?(4)",50
|
||||
20104,2017,2,19780,"久しぶりだな!(5)",50
|
||||
20105,2017,2,30950,"何をしてるの(5)",50
|
||||
20106,2017,2,83600,"すっごく可愛い!(7)",50
|
||||
20201,2019,1,0,"奇妙な反応(16)",50
|
||||
20202,2019,2,401,"イベント開幕です!(10)",50
|
||||
20203,2019,2,3701,"偵察おつかれ!(12)",50
|
||||
20204,2019,2,14401,"難しいです~(10)",50
|
||||
20205,2019,2,29701,"当日が待ち遠しいぜ(5)",50
|
||||
20206,2019,2,79001,"楽しかったぁ~!(16)",50
|
||||
20701,2021,1,0,"1周年!(17)",50
|
||||
20702,2021,2,401,"一体何が?(15)",50
|
||||
20703,2021,2,3701,"歩いてみたよ(10)",50
|
||||
20704,2021,2,14501,"不思議な空間(11)",50
|
||||
20705,2021,2,30001,"帰れるよ!(14)",50
|
||||
20706,2021,2,79601,"一連の事件について(14)",50
|
||||
20801,2023,1,0,"集中調査依頼1(3)",50
|
||||
20802,2024,1,0,"調査を終えて(3)",50
|
||||
20901,2025,1,0,"来たァ~~!!(11)",50
|
||||
20902,2025,2,441,"色々ありますね(14)",50
|
||||
20903,2025,2,3801,"仲間は決まった?(15)",50
|
||||
20904,2025,2,15061,"なんだよォ!(15)",50
|
||||
20905,2025,2,30201,"反則だろ!?(13)",50
|
||||
20906,2025,2,80201,"優勝です!(10)",50
|
||||
21001,2026,1,0,"調査を頼みたい(8)",50
|
||||
21002,2026,2,441,"シリカのこと(2)",50
|
||||
21003,2026,2,3801,"どうして…(8)",50
|
||||
21004,2026,2,15061,"このアバターって(7)",50
|
||||
21005,2026,2,30201,"OSとは(4)",50
|
||||
21006,2026,2,80201,"無事でした!(9)",50
|
||||
21101,2027,1,0,"集中調査依頼2(3)",50
|
||||
21102,2028,1,0,"調査を終えて(3)",50
|
||||
21201,2029,1,0,"今年のクリスマス(12)",50
|
||||
21202,2029,2,441,"プレゼントの中身(12)",50
|
||||
21203,2029,2,3801,"リコにとっても(9)",50
|
||||
21204,2029,2,15061,"さっきはありがと!(3)",50
|
||||
21205,2029,2,30201,"作戦共有(5)",50
|
||||
21206,2029,2,80201,"作戦完了だ(9)",50
|
||||
21301,2030,1,0,"集中調査依頼3(3)",50
|
||||
21302,2031,1,0,"調査を終えて(3)",50
|
||||
21401,2032,1,0,"祝!2周年!!(19)",50
|
||||
21402,2032,2,441,"話があるんだ(12)",50
|
||||
21403,2032,2,3801,"どうですか?(11)",50
|
||||
21404,2032,2,15061,"おーい(3)",50
|
||||
21405,2032,2,30201,"場所、決まったぞ(10)",50
|
||||
21406,2032,2,80201,"楽しかったね!(18)",50
|
||||
21501,2033,1,0,"集中調査依頼4(3)",50
|
||||
21502,2034,1,0,"調査を終えて(3)",50
|
||||
21601,2035,1,0,"出演おめでとう!(8)",50
|
||||
21602,2035,2,441,"ご教示願えますか(5)",50
|
||||
21603,2035,2,3801,"アイドルよ永遠なれ(4)",50
|
||||
21604,2035,2,15061,"難しそうです…(4)",50
|
||||
21605,2035,2,30201,"忠告だヨ(5)",50
|
||||
21606,2035,2,80201,"みんなありがとう!(7)",50
|
||||
21701,2036,1,0,"すっかり夏になりました(12)",50
|
||||
21702,2036,2,441,"一歩遅れたみたいだ(6)",50
|
||||
21703,2036,2,3801,"手強い相手だわ(9)",50
|
||||
21704,2036,2,15061,"今年こそ二人で(5)",50
|
||||
21705,2036,2,30201,"気になったんだけど(4)",50
|
||||
21706,2036,2,80201,"やっぱり海に行きてェ!(10)",50
|
||||
21801,2037,1,0,"肌寒い季節だね(4)",50
|
||||
21802,2037,2,441,"原因は分かったかい?(5)",50
|
||||
21803,2037,2,3801,"カジノってどんな所?(4)",50
|
||||
21804,2037,2,15061,"再現ってことは…(9)",50
|
||||
21805,2037,2,30201,"遊び足りないわ(9)",50
|
||||
21806,2037,2,80201,"解決して何より!(9)",50
|
||||
21901,2038,1,0,"集中調査依頼5(3)",50
|
||||
21902,2039,1,0,"調査を終えて(3)",50
|
||||
22001,2040,1,0,"お願いがあるの(3)",50
|
||||
22002,2040,2,441,"クリスマスは残酷(4)",50
|
||||
22003,2040,2,3801,"サンタ殿の神聖術(7)",50
|
||||
22004,2040,2,15061,"お願いがあるの(7)",50
|
||||
22005,2040,2,30201,"パーティーにご招待!(12)",50
|
||||
22006,2040,2,80201,"プレゼントありがとう(11)",50
|
||||
22101,2041,1,0,"知ってる?あの噂(5)",50
|
||||
22102,2041,2,441,"連絡は届いてるかな?(5)",50
|
||||
22103,2041,2,3801,"今気付いた!(3)",50
|
||||
22104,2041,2,15061,"当日もそろそろだな(5)",50
|
||||
22105,2041,2,30201,"肝試しチャンスかな!(4)",50
|
||||
22106,2041,2,80201,"肝試しチャンスかも?(9)",50
|
||||
22201,2042,1,0,"緊急事態だ!(3)",50
|
||||
22202,2042,2,441,"信じられないよ(10)",50
|
||||
22203,2042,2,3801,"情報を共有しよう(4)",50
|
||||
22204,2042,2,15061,"夏の風物詩だわ(12)",50
|
||||
22205,2042,2,30201,"サプライズは成功ね(14)",50
|
||||
22206,2042,2,80201,"様子はどうだ?(12)",50
|
||||
22207,2043,1,0,"調査、お疲れさま!(15)",50
|
||||
22301,2044,1,0,"集中調査依頼6(3)",50
|
||||
22302,2045,1,0,"調査を終えて(3)",50
|
||||
|
49
titles/sao/data/1/ChatMainStory.csv
Normal file
49
titles/sao/data/1/ChatMainStory.csv
Normal file
@@ -0,0 +1,49 @@
|
||||
// ChatMainStoryId,ReleaseConditionType,ReleaseConditionValue,DisplayName,FirstRewardVp
|
||||
10101,1,10001,"Unknown調査概要(11)",50
|
||||
10102,1,10001,"相談事項(3)",50
|
||||
10103,1,10001,"お疲れ様でした!(4)",50
|
||||
10201,1,10002,"懐かしいよなぁ(4)",50
|
||||
10301,1,10003,"リコちゃんについて(12)",50
|
||||
10302,1,10003,"相談事項2(3)",50
|
||||
10501,1,10005,"助かるわね!(5)",50
|
||||
10601,1,10006,"当時のALOと言えばさ(3)",50
|
||||
10801,1,10008,"視界不良はつらいな(5)",50
|
||||
10901,1,10009,"聞きたいことが…(7)",50
|
||||
11101,1,10011,"メモリが一杯だって?(9)",50
|
||||
11201,1,10012,"年末のクエスト(10)",50
|
||||
11301,1,10013,"二刀流といえば(5)",50
|
||||
11401,1,10014,"どういうことかしら(7)",50
|
||||
11501,1,10015,"ザ・シードについて(3)",50
|
||||
11601,1,10016,"まーたあの二人は(9)",50
|
||||
11701,1,10017,"ついにボス戦ね(6)",50
|
||||
11801,1,10018,"おさらいしましょうか(5)",50
|
||||
19901,2,5,"あれは何だ?(5)",50
|
||||
20101,1,20001,"第二チャンク到達(12)",50
|
||||
20102,1,20001,"シリカちゃんとピナ(7)",50
|
||||
20201,1,20002,"紹介させてもらうよ(7)",50
|
||||
20301,1,20003,"最近よく見る気が(10)",50
|
||||
20501,1,20005,"捨てたもんじゃないな(5)",50
|
||||
20601,1,20006,"もう一人の協力者だ(9)",50
|
||||
20701,1,20007,"ついに開催です!(7)",50
|
||||
20801,1,20008,"質問していいかしら(3)",50
|
||||
20901,1,20009,"話ってなんだい(11)",50
|
||||
21001,1,20010,"ALO事件について(6)",50
|
||||
21101,1,20011,"ちょっといいカ(6)",50
|
||||
21201,1,20012,"死銃とは(4)",50
|
||||
21301,1,20013,"いよいよですね(5)",50
|
||||
21401,1,20014,"整理しておこう(11)",50
|
||||
19902,2,51,"相談事項3(4)",50
|
||||
10502,1,10005,"頼みがあるんだ (12)",50
|
||||
30401,3,30004,"ご教授願えますか(5)",50
|
||||
30701,3,30007,"話題になってるな(6)",50
|
||||
30801,3,30008,"圏内事件について(5)",50
|
||||
31401,3,30014,"迷いの森(2)",50
|
||||
31701,3,30017,"第三C攻略完了(13)",50
|
||||
31702,3,30017,"大丈夫かな…(5)",50
|
||||
40101,3,40001,"第四チャンクだな(5)",50
|
||||
41001,3,40010,"DDosって…?(4)",50
|
||||
41301,3,40013,"確認したいわ(8)",50
|
||||
41401,3,40014,"茅場の遺したもの(3)",50
|
||||
41601,3,40016,"改めて紹介するよ(4)",50
|
||||
42301,3,40023,"第四C攻略お疲れ様(12)",50
|
||||
42302,3,40023,"申し訳ございません(5)",50
|
||||
|
1392
titles/sao/data/1/ChatSideStory.csv
Normal file
1392
titles/sao/data/1/ChatSideStory.csv
Normal file
File diff suppressed because it is too large
Load Diff
5
titles/sao/data/1/ComebackEvent.csv
Normal file
5
titles/sao/data/1/ComebackEvent.csv
Normal file
@@ -0,0 +1,5 @@
|
||||
// ComebackEventId,ComebackEventSubId,DisplayName,RewardSetSubId,RequireDays,StartDatetime,EndDatetime
|
||||
1,1,"カムバックボーナス",1,60,"2019/01/01","2019/01/01 23:59:59"
|
||||
2,1,"カムバックボーナス",2,180,"2019/01/01","2019/01/01 23:59:59"
|
||||
3,2,"カムバックキャンペーン",3,30,"2019/01/01","2019/01/01 23:59:59"
|
||||
4,2,"カムバックキャンペーン",4,60,"2019/01/01","2019/01/01 23:59:59"
|
||||
|
2
titles/sao/data/1/CompositionEvent.csv
Normal file
2
titles/sao/data/1/CompositionEvent.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// CompositionEventId,CompositionExpRate,AwakeningExpRate,StartDatetime,EndDatetime
|
||||
1,1.5,1,"2019/01/01","2019/01/01 23:59:59"
|
||||
|
2
titles/sao/data/1/CompositionParam.csv
Normal file
2
titles/sao/data/1/CompositionParam.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
// CompositionParamId,UseValue,MaxExtendedUseCoef,AwakeningCoef,UseValueSupportLog
|
||||
1,100,10,0.1,10000
|
||||
|
8
titles/sao/data/1/CostumeType.csv
Normal file
8
titles/sao/data/1/CostumeType.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
// CostumeTypeId,QuestStartDemo
|
||||
0,"QUE_START_DEMO"
|
||||
1,"QUE_START_DEMO_SWIMWEAR"
|
||||
2,"QUE_START_DEMO_SPA"
|
||||
3,"QUE_START_DEMO_SANTA"
|
||||
4,"QUE_START_DEMO_CAT"
|
||||
5,"QUE_START_DEMO_STUDENT"
|
||||
6,"QUE_START_DEMO_MAID"
|
||||
|
14
titles/sao/data/1/DebugValidator.csv
Normal file
14
titles/sao/data/1/DebugValidator.csv
Normal file
@@ -0,0 +1,14 @@
|
||||
// DebugValidatorId,ClassName,DataName,Condition,Param
|
||||
14,"StaticPropertyData",,0,
|
||||
15,,"value1_min",3,"0"
|
||||
16,,,7,
|
||||
17,,"value2_min",3,"0"
|
||||
18,,,7,
|
||||
19,"StaticPropertyTableData",,0,
|
||||
20,,"property_id",1,"100200"
|
||||
21,,"value1_min",4,"1"
|
||||
22,,,7,
|
||||
23,,"property_table_sub_id",1,"20074"
|
||||
24,,"property_id",6,"200000"
|
||||
25,,"property_id",4,"204000"
|
||||
26,,,7,
|
||||
|
4
titles/sao/data/1/DefragMatchAIPattern.csv
Normal file
4
titles/sao/data/1/DefragMatchAIPattern.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
// DefragMatchAiPatternId,AppearanceStartDefragMatchId,AppearanceEndDefragMatchId,LimitTime,SkillLevel,CaptureBaseLength,CaptureOtherLength,PriorityItemLength,PriorityGreedLength,PrioritySupport
|
||||
1,1,999,150,4,20,2,9,9,3
|
||||
2,1,999,200,3,20,2,6,6,2
|
||||
3,1,999,300,2,20,2,3,3,1
|
||||
|
372
titles/sao/data/1/DefragMatchBossTable.csv
Normal file
372
titles/sao/data/1/DefragMatchBossTable.csv
Normal file
@@ -0,0 +1,372 @@
|
||||
// DefragMatchBossTableId,DefragMatchBossTableSubId,Wave,Type,UnitId,Rate
|
||||
1,1,1,0,15100101,3
|
||||
2,1,1,0,15300001,2
|
||||
3,1,1,0,15040701,2
|
||||
4,1,1,0,15090101,2
|
||||
5,1,1,0,15110101,2
|
||||
6,1,1,0,15100001,2
|
||||
7,1,1,0,15080201,2
|
||||
8,1,2,0,15020201,3
|
||||
9,1,2,0,15420001,2
|
||||
10,1,2,0,15050001,2
|
||||
11,1,2,0,15180001,2
|
||||
12,1,2,0,15041101,2
|
||||
13,1,2,0,15020101,2
|
||||
14,1,2,0,15301001,2
|
||||
15,1,2,0,15170101,2
|
||||
16,1,2,1,15220101,3
|
||||
17,1,2,1,15501001,2
|
||||
18,1,2,1,15521001,1
|
||||
19,1,2,1,15570001,1
|
||||
20,1,3,2,15010201,2
|
||||
21,1,3,2,15040001,1
|
||||
22,1,3,2,15040202,1
|
||||
23,1,3,2,15200101,1
|
||||
24,1,3,2,15450003,1
|
||||
25,1,0,3,15590000,1
|
||||
26,2,1,0,15100001,4
|
||||
27,2,1,0,15110001,4
|
||||
28,2,1,0,15040101,2
|
||||
29,2,1,0,15041101,2
|
||||
30,2,1,0,15050001,2
|
||||
31,2,1,0,15050201,2
|
||||
32,2,1,0,15080201,3
|
||||
33,2,1,0,15090101,3
|
||||
34,2,1,0,15140101,3
|
||||
35,2,1,0,15180001,2
|
||||
36,2,1,0,15300001,3
|
||||
37,2,1,0,15420001,3
|
||||
38,2,1,1,15220101,1
|
||||
39,2,1,2,15010201,1
|
||||
40,2,1,2,15040001,2
|
||||
41,2,1,2,15040202,2
|
||||
42,2,1,2,15200101,1
|
||||
43,2,1,2,15450003,1
|
||||
44,3,1,0,15110101,3
|
||||
45,3,1,0,15140101,3
|
||||
46,3,1,0,15040701,2
|
||||
47,3,1,0,15090101,2
|
||||
48,3,1,0,15300001,2
|
||||
49,3,1,0,15100001,2
|
||||
50,3,1,0,15080201,2
|
||||
51,3,2,0,15100201,3
|
||||
52,3,2,0,15420001,2
|
||||
53,3,2,0,15041101,2
|
||||
54,3,2,0,15050201,2
|
||||
55,3,2,0,15050001,2
|
||||
56,3,2,0,15020101,2
|
||||
57,3,2,0,15301001,2
|
||||
58,3,2,0,15170101,2
|
||||
59,3,2,1,15220101,3
|
||||
60,3,2,1,15501001,2
|
||||
61,3,2,1,15521001,1
|
||||
62,3,2,1,15570001,1
|
||||
63,3,3,2,15010201,1
|
||||
64,3,3,2,15040001,1
|
||||
65,3,3,2,15040202,1
|
||||
66,3,3,2,15200101,2
|
||||
67,3,3,2,15450003,2
|
||||
68,4,1,0,15560001,3
|
||||
69,4,1,0,15300001,2
|
||||
70,4,1,0,15100101,2
|
||||
71,4,1,0,15080201,2
|
||||
72,4,1,0,15110101,2
|
||||
73,4,1,0,15100001,2
|
||||
74,4,1,0,15040701,2
|
||||
75,4,2,0,15180001,3
|
||||
76,4,2,0,15040101,2
|
||||
77,4,2,0,15020201,2
|
||||
78,4,2,0,15050001,2
|
||||
79,4,2,0,15041101,2
|
||||
80,4,2,0,15020101,2
|
||||
81,4,2,0,15301001,2
|
||||
82,4,2,0,15170101,2
|
||||
83,4,2,1,15220101,3
|
||||
84,4,2,1,15501001,2
|
||||
85,4,2,1,15521001,1
|
||||
86,4,2,1,15570001,1
|
||||
87,4,3,2,15010201,2
|
||||
88,4,3,2,15040001,1
|
||||
89,4,3,2,15040202,1
|
||||
90,4,3,2,15200101,1
|
||||
91,4,3,2,15450003,1
|
||||
92,4,0,3,15590000,1
|
||||
93,5,1,0,15100101,3
|
||||
94,5,1,0,15300001,2
|
||||
95,5,1,0,15040701,2
|
||||
96,5,1,0,15090101,2
|
||||
97,5,1,0,15110101,2
|
||||
98,5,1,0,15080201,2
|
||||
99,5,2,0,15020201,3
|
||||
100,5,2,0,15420001,2
|
||||
101,5,2,0,15050001,2
|
||||
102,5,2,0,15041101,2
|
||||
103,5,2,0,15020101,2
|
||||
104,5,2,0,15301001,2
|
||||
105,5,2,0,15170101,2
|
||||
106,5,2,1,15220101,3
|
||||
107,5,2,1,15501001,2
|
||||
108,5,2,1,15521001,1
|
||||
109,5,2,1,15220101,1
|
||||
110,5,3,2,15010201,2
|
||||
111,5,3,2,15040001,1
|
||||
112,5,3,2,15040202,1
|
||||
113,5,3,2,15200101,1
|
||||
114,5,3,2,15450003,1
|
||||
115,5,0,3,15590000,1
|
||||
116,6,1,0,15100001,4
|
||||
117,6,1,0,15110001,4
|
||||
118,6,1,0,15040101,3
|
||||
119,6,1,0,15041101,3
|
||||
120,6,1,0,15050001,2
|
||||
121,6,1,0,15050201,3
|
||||
122,6,2,0,15080201,3
|
||||
123,6,2,0,15090101,4
|
||||
124,6,2,0,15140101,4
|
||||
125,6,2,0,15180001,2
|
||||
126,6,2,0,15300001,3
|
||||
127,6,2,0,15420001,3
|
||||
128,6,2,1,15220101,3
|
||||
129,6,2,1,15501001,2
|
||||
130,6,2,1,15521001,1
|
||||
131,6,2,1,15570001,1
|
||||
132,6,3,2,15010201,2
|
||||
133,6,3,2,15040001,1
|
||||
134,6,3,2,15040202,1
|
||||
135,6,3,2,15200101,1
|
||||
136,6,3,2,15450003,1
|
||||
137,6,0,3,15590000,1
|
||||
138,7,1,0,15100001,4
|
||||
139,7,1,0,15110001,4
|
||||
140,7,1,0,15040101,3
|
||||
141,7,1,0,15041101,3
|
||||
142,7,1,0,15050001,2
|
||||
143,7,1,0,15050201,3
|
||||
144,7,2,0,15080201,3
|
||||
145,7,2,0,15090101,4
|
||||
146,7,2,0,15140101,4
|
||||
147,7,2,0,15180001,2
|
||||
148,7,2,0,15300001,3
|
||||
149,7,2,0,15420001,3
|
||||
150,7,2,1,15220101,3
|
||||
151,7,2,1,15501001,2
|
||||
152,7,2,1,15521001,1
|
||||
153,7,2,1,15570001,1
|
||||
154,7,3,2,15010201,2
|
||||
155,7,3,2,15040001,1
|
||||
156,7,3,2,15040202,1
|
||||
157,7,3,2,15200101,1
|
||||
158,7,3,2,15450003,1
|
||||
159,7,0,3,15590000,1
|
||||
160,8,1,0,15100001,4
|
||||
161,8,1,0,15110001,4
|
||||
162,8,1,0,15040101,3
|
||||
163,8,1,0,15041101,3
|
||||
164,8,1,0,15050001,2
|
||||
165,8,1,0,15050201,3
|
||||
166,8,2,0,15080201,3
|
||||
167,8,2,0,15090101,4
|
||||
168,8,2,0,15140101,4
|
||||
169,8,2,0,15180001,2
|
||||
170,8,2,0,15300001,3
|
||||
171,8,2,0,15420001,3
|
||||
172,8,2,1,15220101,3
|
||||
173,8,2,1,15501001,2
|
||||
174,8,2,1,15521001,1
|
||||
175,8,2,1,15570001,1
|
||||
176,8,3,2,15010201,2
|
||||
177,8,3,2,15040001,1
|
||||
178,8,3,2,15040202,1
|
||||
179,8,3,2,15200101,1
|
||||
180,8,3,2,15450003,1
|
||||
181,8,0,3,15590000,1
|
||||
10301,103,1,0,15100101,3
|
||||
10302,103,1,0,15300001,2
|
||||
10303,103,1,0,15040701,2
|
||||
10304,103,1,0,15090101,2
|
||||
10305,103,1,0,15110101,2
|
||||
10306,103,1,0,15100001,2
|
||||
10307,103,1,0,15080201,2
|
||||
10308,103,2,0,15020201,3
|
||||
10309,103,2,0,15420001,2
|
||||
10310,103,2,0,15050001,2
|
||||
10311,103,2,0,15180001,2
|
||||
10312,103,2,0,15041101,2
|
||||
10313,103,2,0,15020101,2
|
||||
10314,103,2,0,15301001,2
|
||||
10315,103,2,0,15170101,2
|
||||
10316,103,2,1,15220101,3
|
||||
10317,103,2,1,15501001,2
|
||||
10318,103,2,1,15521001,1
|
||||
10319,103,2,1,15570001,1
|
||||
10320,103,3,2,15010201,2
|
||||
10321,103,3,2,15040001,1
|
||||
10322,103,3,2,15040202,1
|
||||
10323,103,3,2,15200101,1
|
||||
10324,103,3,2,15450003,1
|
||||
10325,103,0,3,15590002,1
|
||||
10601,106,1,0,15560001,3
|
||||
10602,106,1,0,15300001,2
|
||||
10603,106,1,0,15100101,2
|
||||
10604,106,1,0,15080201,2
|
||||
10605,106,1,0,15110101,2
|
||||
10606,106,1,0,15100001,2
|
||||
10607,106,1,0,15040701,2
|
||||
10608,106,2,0,15180001,3
|
||||
10609,106,2,0,15040101,2
|
||||
10610,106,2,0,15020201,2
|
||||
10611,106,2,0,15050001,2
|
||||
10612,106,2,0,15041101,2
|
||||
10613,106,2,0,15020101,2
|
||||
10614,106,2,0,15301001,2
|
||||
10615,106,2,0,15170101,2
|
||||
10616,106,2,1,15220101,3
|
||||
10617,106,2,1,15501001,2
|
||||
10618,106,2,1,15521001,1
|
||||
10619,106,2,1,15570001,1
|
||||
10620,106,3,2,15010201,2
|
||||
10621,106,3,2,15040001,1
|
||||
10622,106,3,2,15040202,1
|
||||
10623,106,3,2,15200101,1
|
||||
10624,106,3,2,15450003,1
|
||||
10625,106,0,3,15590002,1
|
||||
10701,107,1,0,15100101,3
|
||||
10702,107,1,0,15300001,2
|
||||
10703,107,1,0,15040701,2
|
||||
10704,107,1,0,15090101,2
|
||||
10705,107,1,0,15110101,2
|
||||
10706,107,1,0,15080201,2
|
||||
10707,107,2,0,15020201,3
|
||||
10708,107,2,0,15420001,2
|
||||
10709,107,2,0,15050001,2
|
||||
10710,107,2,0,15041101,2
|
||||
10711,107,2,0,15020101,2
|
||||
10712,107,2,0,15301001,2
|
||||
10713,107,2,0,15170101,2
|
||||
10714,107,2,1,15220101,3
|
||||
10715,107,2,1,15501001,2
|
||||
10716,107,2,1,15521001,1
|
||||
10717,107,2,1,15220101,1
|
||||
10718,107,3,2,15010201,2
|
||||
10719,107,3,2,15040001,1
|
||||
10720,107,3,2,15040202,1
|
||||
10721,107,3,2,15200101,1
|
||||
10722,107,3,2,15450003,1
|
||||
10723,107,0,3,15590002,1
|
||||
10801,108,1,0,15100001,4
|
||||
10802,108,1,0,15110001,4
|
||||
10803,108,1,0,15040101,3
|
||||
10804,108,1,0,15041101,3
|
||||
10805,108,1,0,15050001,2
|
||||
10806,108,1,0,15050201,3
|
||||
10807,108,2,0,15080201,3
|
||||
10808,108,2,0,15090101,4
|
||||
10809,108,2,0,15140101,4
|
||||
10810,108,2,0,15180001,2
|
||||
10811,108,2,0,15300001,3
|
||||
10812,108,2,0,15420001,3
|
||||
10813,108,2,1,15220101,3
|
||||
10814,108,2,1,15501001,2
|
||||
10815,108,2,1,15521001,1
|
||||
10816,108,2,1,15570001,1
|
||||
10817,108,3,2,15010201,2
|
||||
10818,108,3,2,15040001,1
|
||||
10819,108,3,2,15040202,1
|
||||
10820,108,3,2,15200101,1
|
||||
10821,108,3,2,15450003,1
|
||||
10822,108,0,3,15590002,1
|
||||
11301,113,1,0,15100101,3
|
||||
11302,113,1,0,15300001,2
|
||||
11303,113,1,0,15040701,2
|
||||
11304,113,1,0,15090101,2
|
||||
11305,113,1,0,15110101,2
|
||||
11306,113,1,0,15100001,2
|
||||
11307,113,1,0,15080201,2
|
||||
11308,113,2,0,15020201,3
|
||||
11309,113,2,0,15420001,2
|
||||
11310,113,2,0,15050001,2
|
||||
11311,113,2,0,15180001,2
|
||||
11312,113,2,0,15041101,2
|
||||
11313,113,2,0,15020101,2
|
||||
11314,113,2,0,15301001,2
|
||||
11315,113,2,0,15170101,2
|
||||
11316,113,2,1,15220101,3
|
||||
11317,113,2,1,15501001,2
|
||||
11318,113,2,1,15521001,1
|
||||
11319,113,2,1,15570001,1
|
||||
11320,113,3,2,15010201,2
|
||||
11321,113,3,2,15040001,1
|
||||
11322,113,3,2,15040202,1
|
||||
11323,113,3,2,15200101,1
|
||||
11324,113,3,2,15450003,1
|
||||
11325,113,0,3,15590003,1
|
||||
11601,116,1,0,15560001,3
|
||||
11602,116,1,0,15300001,2
|
||||
11603,116,1,0,15100101,2
|
||||
11604,116,1,0,15080201,2
|
||||
11605,116,1,0,15110101,2
|
||||
11606,116,1,0,15100001,2
|
||||
11607,116,1,0,15040701,2
|
||||
11608,116,2,0,15180001,3
|
||||
11609,116,2,0,15040101,2
|
||||
11610,116,2,0,15020201,2
|
||||
11611,116,2,0,15050001,2
|
||||
11612,116,2,0,15041101,2
|
||||
11613,116,2,0,15020101,2
|
||||
11614,116,2,0,15301001,2
|
||||
11615,116,2,0,15170101,2
|
||||
11616,116,2,1,15220101,3
|
||||
11617,116,2,1,15501001,2
|
||||
11618,116,2,1,15521001,1
|
||||
11619,116,2,1,15570001,1
|
||||
11620,116,3,2,15010201,2
|
||||
11621,116,3,2,15040001,1
|
||||
11622,116,3,2,15040202,1
|
||||
11623,116,3,2,15200101,1
|
||||
11624,116,3,2,15450003,1
|
||||
11625,116,0,3,15590003,1
|
||||
11701,117,1,0,15100101,3
|
||||
11702,117,1,0,15300001,2
|
||||
11703,117,1,0,15040701,2
|
||||
11704,117,1,0,15090101,2
|
||||
11705,117,1,0,15110101,2
|
||||
11706,117,1,0,15080201,2
|
||||
11707,117,2,0,15020201,3
|
||||
11708,117,2,0,15420001,2
|
||||
11709,117,2,0,15050001,2
|
||||
11710,117,2,0,15041101,2
|
||||
11711,117,2,0,15020101,2
|
||||
11712,117,2,0,15301001,2
|
||||
11713,117,2,0,15170101,2
|
||||
11714,117,2,1,15220101,3
|
||||
11715,117,2,1,15501001,2
|
||||
11716,117,2,1,15521001,1
|
||||
11717,117,2,1,15220101,1
|
||||
11718,117,3,2,15010201,2
|
||||
11719,117,3,2,15040001,1
|
||||
11720,117,3,2,15040202,1
|
||||
11721,117,3,2,15200101,1
|
||||
11722,117,3,2,15450003,1
|
||||
11723,117,0,3,15590003,1
|
||||
11801,118,1,0,15100001,4
|
||||
11802,118,1,0,15110001,4
|
||||
11803,118,1,0,15040101,3
|
||||
11804,118,1,0,15041101,3
|
||||
11805,118,1,0,15050001,2
|
||||
11806,118,1,0,15050201,3
|
||||
11807,118,2,0,15080201,3
|
||||
11808,118,2,0,15090101,4
|
||||
11809,118,2,0,15140101,4
|
||||
11810,118,2,0,15180001,2
|
||||
11811,118,2,0,15300001,3
|
||||
11812,118,2,0,15420001,3
|
||||
11813,118,2,1,15220101,3
|
||||
11814,118,2,1,15501001,2
|
||||
11815,118,2,1,15521001,1
|
||||
11816,118,2,1,15570001,1
|
||||
11817,118,3,2,15010201,2
|
||||
11818,118,3,2,15040001,1
|
||||
11819,118,3,2,15040202,1
|
||||
11820,118,3,2,15200101,1
|
||||
11821,118,3,2,15450003,1
|
||||
11822,118,0,3,15590003,1
|
||||
|
13
titles/sao/data/1/DefragMatchChat.csv
Normal file
13
titles/sao/data/1/DefragMatchChat.csv
Normal file
@@ -0,0 +1,13 @@
|
||||
// DefragMatchChatId,ChatType,TypeNo,DisplayName,TextId,VoiceId
|
||||
100,1,0,"やった","TXT_CHAT_025_{0}","{0}_CHAT_025"
|
||||
101,1,1,"MVPはもらった","TXT_CHAT_031_{0}","{0}_CHAT_031"
|
||||
102,1,2,"良い勝負だな","TXT_CHAT_029_{0}","{0}_CHAT_029"
|
||||
103,1,3,"しまった","TXT_CHAT_026_{0}","{0}_CHAT_026"
|
||||
200,2,0,"強敵に挑もう","TXT_CHAT_032_{0}","{0}_CHAT_032"
|
||||
201,2,1,"協力しよう","TXT_CHAT_030_{0}","{0}_CHAT_030"
|
||||
300,3,0,"YES","TXT_CHAT_033_{0}","{0}_CHAT_033"
|
||||
301,3,1,"NO","TXT_CHAT_034_{0}","{0}_CHAT_034"
|
||||
400,4,0,"よろしく","TXT_CHAT_019_{0}","{0}_CHAT_019"
|
||||
401,4,1,"やるな","TXT_CHAT_028_{0}","{0}_CHAT_028"
|
||||
402,4,2,"すごいな","TXT_CHAT_027_{0}","{0}_CHAT_027"
|
||||
403,4,3,"ありがとう","TXT_CHAT_016_{0}","{0}_CHAT_016"
|
||||
|
22
titles/sao/data/1/DefragMatchCpuSupportLogs.csv
Normal file
22
titles/sao/data/1/DefragMatchCpuSupportLogs.csv
Normal file
@@ -0,0 +1,22 @@
|
||||
// DefragMatchCpuSupportLogId,AppearanceStartDefragMatchId,AppearanceEndDefragMatchId,AppearanceStartClassNum,AppearanceEndClassNum,SupportLogId,AwakeningStage,Memo
|
||||
1,1,999,1,5,0,0,
|
||||
2,1,999,1,5,201000010,0,
|
||||
3,1,999,1,5,292000010,0,
|
||||
4,1,999,1,5,299000020,0,
|
||||
5,1,999,1,5,299000040,0,
|
||||
6,1,999,1,5,299000160,0,
|
||||
7,1,999,3,8,299000110,0,
|
||||
8,1,999,3,8,299000050,3,
|
||||
9,1,999,3,8,299000070,3,
|
||||
10,1,999,3,8,299000060,3,
|
||||
11,1,999,3,8,298000050,3,
|
||||
12,1,999,6,10,208000010,3,
|
||||
13,1,999,6,10,218000010,3,
|
||||
14,1,999,6,10,202000010,3,
|
||||
15,1,999,6,10,299000080,5,
|
||||
16,1,999,6,10,299000030,5,
|
||||
17,1,999,6,10,298000040,5,
|
||||
18,1,999,6,10,298000060,5,
|
||||
19,1,999,6,10,204000010,5,
|
||||
20,1,999,6,10,298000030,5,
|
||||
21,1,999,6,10,298000010,5,
|
||||
|
47
titles/sao/data/1/DefragMatchCpuUnits.csv
Normal file
47
titles/sao/data/1/DefragMatchCpuUnits.csv
Normal file
@@ -0,0 +1,47 @@
|
||||
// DefragMatchCpuUnitsId,AppearanceStartDefragMatchId,AppearanceEndDefragMatchId,AppearanceStartClassNum,AppearanceEndClassNum,HeroLogHeroLogId,HeroLogLogLevel,HeroLogAwakeningStage,HeroLogProperty1PropertyId,HeroLogProperty1Value1,HeroLogProperty1Value2,HeroLogProperty2PropertyId,HeroLogProperty2Value1,HeroLogProperty2Value2,HeroLogProperty3PropertyId,HeroLogProperty3Value1,HeroLogProperty3Value2,HeroLogProperty4PropertyId,HeroLogProperty4Value1,HeroLogProperty4Value2,MainWeaponEquipmentId,MainWeaponEnhancementValue,MainWeaponAwakeningStage,MainWeaponProperty1PropertyId,MainWeaponProperty1Value1,MainWeaponProperty1Value2,MainWeaponProperty2PropertyId,MainWeaponProperty2Value1,MainWeaponProperty2Value2,MainWeaponProperty3PropertyId,MainWeaponProperty3Value1,MainWeaponProperty3Value2,MainWeaponProperty4PropertyId,MainWeaponProperty4Value1,MainWeaponProperty4Value2,SubEquipmentEquipmentId,SubEquipmentEnhancementValue,SubEquipmentAwakeningStage,SubEquipmentProperty1PropertyId,SubEquipmentProperty1Value1,SubEquipmentProperty1Value2,SubEquipmentProperty2PropertyId,SubEquipmentProperty2Value1,SubEquipmentProperty2Value2,SubEquipmentProperty3PropertyId,SubEquipmentProperty3Value1,SubEquipmentProperty3Value2,SubEquipmentProperty4PropertyId,SubEquipmentProperty4Value1,SubEquipmentProperty4Value2,SkillSlot1SkillId,SkillSlot2SkillId,SkillSlot3SkillId,SkillSlot4SkillId,SkillSlot5SkillId
|
||||
1,1,999,1,5,101000040,1,0,100200,50,0,100300,50,0,101600,0,0,99999,0,0,101000001,20,0,200200,50,0,209900,10,0,2,0,0,99999,0,0,101000000,20,0,209900,10,0,1,0,0,99999,0,0,99999,0,0,2002,2001,2004,2015,30107
|
||||
2,1,999,1,5,101000060,1,0,101400,50,0,101800,0,0,101600,0,0,99999,0,0,101000002,20,0,203500,0,0,1,0,0,2,0,0,99999,0,0,120000002,20,0,305100,5,0,1,0,0,2,0,0,99999,0,0,1002,30310,1015,1016,30000
|
||||
3,1,999,1,5,102000060,1,0,101000,50,0,101800,0,0,101600,0,0,99999,0,0,102000002,20,0,200500,50,0,1,0,0,2,0,0,99999,0,0,120000002,20,0,1,0,0,1,0,0,2,0,0,99999,0,0,3001,30004,30302,3002,3004
|
||||
4,1,999,1,5,103000060,1,0,100200,50,0,100300,50,0,101600,0,0,99999,0,0,101000007,30,0,202500,25,0,1,0,0,2,0,0,2,0,0,120000002,30,0,300400,50,0,1,0,0,2,0,0,99999,0,0,1009,1003,1016,30108,30009
|
||||
5,1,999,1,5,104000060,1,0,101700,0,0,100300,50,0,101600,0,0,99999,0,0,111000002,30,0,210100,30,0,204000,5,0,2,0,0,99999,0,0,120000002,30,0,1,0,0,1,0,0,2,0,0,99999,0,0,12005,12004,30000,12009,12001
|
||||
6,1,999,1,5,105000080,1,0,100200,50,0,100400,50,0,101600,0,0,99999,0,0,109000002,30,0,203800,10,0,1,0,0,2,0,0,99999,0,0,112000001,30,0,305000,100,0,300200,50,0,2,0,0,99999,0,0,10008,10002,30006,10006,10005
|
||||
7,1,999,1,5,106000080,1,0,100500,50,0,101700,0,0,101600,0,0,99999,0,0,103000001,40,0,203600,10,0,203700,5,0,2,0,0,99999,0,0,120000002,40,0,1,0,0,1,0,0,2,0,0,99999,0,0,4003,4015,30403,30404,30067
|
||||
8,1,999,1,5,107000080,1,0,100300,50,0,100300,50,0,101600,0,0,99999,0,0,105000002,40,0,209900,30,0,204600,10,0,2,0,0,99999,0,0,120000002,40,0,1,0,0,1,0,0,2,0,0,99999,0,0,6002,6001,6007,6012,6013
|
||||
9,1,999,1,5,108000080,1,0,100200,50,0,100400,50,0,101600,0,0,99999,0,0,108000002,40,0,200200,50,0,200400,50,0,2,0,0,99999,0,0,120000002,40,0,300200,50,0,300400,50,0,2,0,0,99999,0,0,9001,9004,9005,30107,30108
|
||||
10,1,999,1,5,109000080,1,0,100200,50,0,100300,50,0,101600,0,0,99999,0,0,101000003,40,0,202600,30,0,203900,10,0,2,0,0,2,0,0,120000002,40,0,300400,50,0,1,0,0,2,0,0,99999,0,0,1003,1011,1013,1014,30017
|
||||
11,1,999,1,5,110000080,1,0,100200,50,0,100500,50,0,101600,0,0,99999,0,0,107000002,40,0,200500,50,0,200500,50,0,2,0,0,99999,0,0,120000002,40,0,305300,5,0,1,0,0,2,0,0,99999,0,0,30000,8012,8013,30107,30108
|
||||
12,1,999,1,5,111000030,1,0,100200,50,0,100300,50,0,101600,0,0,99999,0,0,101000012,20,0,200500,50,0,209900,10,0,2,0,0,2,0,0,120000002,20,0,305100,5,0,1,0,0,2,0,0,99999,0,0,1029,1032,1027,30006,30009
|
||||
13,1,999,1,5,112000030,1,0,100200,50,0,100300,50,0,101600,0,0,99999,0,0,101000011,20,0,209900,30,0,200500,50,0,2,0,0,2,0,0,120000002,20,0,305100,5,0,1,0,0,2,0,0,99999,0,0,1026,1025,1023,30006,30009
|
||||
14,1,999,6,9,101000130,1,5,102400,30,0,102400,30,0,102500,30,0,101600,0,0,101000004,40,3,100400,100,0,100400,100,0,202400,30,0,202500,30,0,101000009,40,3,204000,5,0,200300,100,0,200300,100,0,200300,100,0,2002,2001,2015,2004,2005
|
||||
15,1,999,6,9,101000090,1,5,102200,5,0,100200,100,0,100300,100,0,101600,0,0,101000006,50,3,204400,0,0,204300,50,0,204300,50,0,99999,0,0,120000004,50,3,300300,100,0,300300,100,0,300300,100,0,300300,100,0,1017,1018,1014,1003,30121
|
||||
16,1,999,6,9,102000130,1,5,102200,5,0,100300,100,0,100300,100,0,101600,0,0,102000006,50,3,202400,25,0,202400,25,0,202400,25,0,204000,5,0,120000004,50,3,301700,0,0,301500,0,0,300300,100,0,300300,100,0,3001,3004,3015,30121,30114
|
||||
17,1,999,6,9,102000160,1,5,101000,50,0,101800,0,0,100500,100,0,101600,0,0,102000007,50,3,210200,50,0,210200,50,0,210200,50,0,210200,50,0,112000004,50,3,305000,100,0,300500,100,0,300500,100,0,300500,100,0,30004,30302,30308,30303,30309
|
||||
18,1,999,6,9,103000110,1,5,101100,50,0,101800,100,0,100500,100,0,101600,0,0,101000008,60,3,200300,100,0,200300,100,0,200400,100,0,200500,100,0,120000004,60,3,301700,0,0,300500,100,0,300200,100,0,300200,100,0,30002,1013,30007,1019,1005
|
||||
19,1,999,6,9,104000120,1,5,100300,100,0,101800,0,0,102600,30,0,101600,0,0,111000006,60,3,203300,0,0,210100,30,0,210100,30,0,210100,30,0,120000004,60,3,300300,100,0,300300,100,0,300300,100,0,300300,100,0,12009,12010,12011,30006,30114
|
||||
20,1,999,6,9,104000140,1,5,100300,100,0,100300,100,0,100300,100,0,101600,0,0,115000004,60,3,200300,100,0,200300,100,0,200300,100,0,200300,100,0,120000004,60,3,300300,100,0,300300,100,0,300300,100,0,300300,100,0,14001,14004,14005,14008,14009
|
||||
21,1,999,6,9,105000120,1,5,100200,100,0,100400,100,0,106200,100,0,101600,0,0,109000003,60,3,204200,5,0,204200,5,0,200300,100,0,200300,100,0,112000007,60,3,305000,100,0,300600,33,0,300700,33,0,300800,33,0,30002,10002,30007,30010,10015
|
||||
22,1,999,6,9,106000120,1,5,100500,100,0,100500,100,0,100500,100,0,101600,0,0,103000007,60,3,200500,100,0,200500,100,0,200500,100,0,200500,100,0,120000004,60,3,300500,100,0,300500,100,0,300500,100,0,300500,100,0,30400,30407,30406,30405,4005
|
||||
23,1,999,6,9,107000110,1,5,102800,100,0,102800,100,0,102800,100,0,101600,0,0,105000005,60,3,203000,0,0,200300,100,0,200300,100,0,200300,100,0,120000004,60,3,305300,5,0,300300,100,0,300900,50,0,301800,0,0,6013,6014,6011,6004,6005
|
||||
24,1,999,6,9,108000110,1,5,101200,50,0,101800,0,0,106200,100,0,101600,0,0,108000006,60,3,205000,100,0,200400,100,0,200400,100,0,200400,100,0,120000004,60,3,305300,5,0,300400,100,0,300400,100,0,300400,100,0,9001,9013,9009,9005,30307
|
||||
25,1,999,6,9,109000110,1,5,106400,100,0,106400,100,0,106400,100,0,101600,0,0,101000003,60,3,203500,0,0,200300,100,0,200300,100,0,200300,100,0,112000006,60,3,305300,5,0,300300,100,0,301400,50,0,301800,0,0,1003,1011,1006,30062,30121
|
||||
26,1,999,6,9,110000110,1,5,101800,0,0,101700,0,0,100500,100,0,101600,0,0,107000005,60,3,200500,100,0,200500,100,0,200500,100,0,200500,100,0,120000004,60,3,300500,100,0,300500,100,0,300500,100,0,300500,100,0,30002,30007,30010,8012,8014
|
||||
27,1,999,6,9,111000060,1,5,102400,30,0,102400,30,0,102500,30,0,101600,0,0,101000012,40,3,100400,100,0,100400,100,0,202400,30,0,202500,30,0,120000004,60,3,301700,0,0,300500,100,0,300200,100,0,300200,100,0,1031,1035,1040,30062,30056
|
||||
28,1,999,6,9,112000060,1,5,102200,5,0,101700,0,0,100500,100,0,101600,0,0,101000011,40,3,209900,30,0,204300,50,0,204300,50,0,2,0,0,120000004,60,3,300500,100,0,300500,100,0,300500,100,0,300500,100,0,1026,1025,1024,30054,30055
|
||||
29,1,999,10,10,101000130,1,5,102400,30,0,102400,30,0,102500,30,0,101600,0,0,101000004,70,5,100400,100,0,100400,100,0,202400,30,0,202500,30,0,101000009,70,5,204000,5,0,200300,100,0,200300,100,0,200300,100,0,2002,2001,2015,2004,2005
|
||||
30,1,999,10,10,101000090,1,5,102200,5,0,100200,100,0,100300,100,0,101600,0,0,101000006,80,5,204400,0,0,204300,50,0,204300,50,0,99999,0,0,120000004,80,5,300300,100,0,300300,100,0,300300,100,0,300300,100,0,1017,1018,1014,1003,30121
|
||||
31,1,999,10,10,102000130,1,5,102200,5,0,100300,100,0,100300,100,0,101600,0,0,102000006,80,5,202400,25,0,202400,25,0,202400,25,0,204000,5,0,120000004,80,5,301700,0,0,301500,0,0,300300,100,0,300300,100,0,3001,3004,3015,30121,30114
|
||||
32,1,999,10,10,102000160,1,5,101000,50,0,101800,0,0,100500,100,0,101600,0,0,102000007,80,5,210200,50,0,210200,50,0,210200,50,0,210200,50,0,112000004,80,5,305000,100,0,300500,100,0,300500,100,0,300500,100,0,30004,30302,30308,30303,30309
|
||||
33,1,999,10,10,103000110,1,5,101100,50,0,101800,100,0,100500,100,0,101600,0,0,101000008,90,5,200300,100,0,200300,100,0,200400,100,0,200500,100,0,120000004,90,5,301700,0,0,300500,100,0,300200,100,0,300200,100,0,30002,1013,30007,1019,1005
|
||||
34,1,999,10,10,104000120,1,5,100300,100,0,101800,0,0,102600,30,0,101600,0,0,111000006,90,5,203300,0,0,210100,30,0,210100,30,0,210100,30,0,120000004,90,5,300300,100,0,300300,100,0,300300,100,0,300300,100,0,12009,12010,12011,30006,30114
|
||||
35,1,999,10,10,104000140,1,5,100300,100,0,100300,100,0,100300,100,0,101600,0,0,115000004,90,5,200300,100,0,200300,100,0,200300,100,0,200300,100,0,120000004,90,5,300300,100,0,300300,100,0,300300,100,0,300300,100,0,14001,14004,14005,14008,14009
|
||||
36,1,999,10,10,105000120,1,5,100200,100,0,100400,100,0,106200,100,0,101600,0,0,109000003,90,5,204200,5,0,204200,5,0,200300,100,0,200300,100,0,112000007,90,5,305000,100,0,300600,33,0,300700,33,0,300800,33,0,30002,10002,30007,30010,10015
|
||||
37,1,999,10,10,106000120,1,5,100500,100,0,100500,100,0,100500,100,0,101600,0,0,103000007,90,5,200500,100,0,200500,100,0,200500,100,0,200500,100,0,120000004,90,5,300500,100,0,300500,100,0,300500,100,0,300500,100,0,30400,30407,30406,30405,4005
|
||||
38,1,999,10,10,107000110,1,5,102800,100,0,102800,100,0,102800,100,0,101600,0,0,105000005,90,5,203000,0,0,200300,100,0,200300,100,0,200300,100,0,120000004,90,5,305300,5,0,300300,100,0,300900,50,0,301800,0,0,6013,6014,6011,6004,6005
|
||||
39,1,999,10,10,108000110,1,5,101200,50,0,101800,0,0,106200,100,0,101600,0,0,108000006,90,5,205000,100,0,200400,100,0,200400,100,0,200400,100,0,120000004,90,5,305300,5,0,300400,100,0,300400,100,0,300400,100,0,9001,9013,9009,9005,30307
|
||||
40,1,999,10,10,109000110,1,5,106400,100,0,106400,100,0,106400,100,0,101600,0,0,101000003,90,5,203500,0,0,200300,100,0,200300,100,0,200300,100,0,112000006,90,5,305300,5,0,300300,100,0,301400,50,0,301800,0,0,1003,1011,1006,30062,30121
|
||||
41,1,999,10,10,110000110,1,5,101800,0,0,101700,0,0,100500,100,0,101600,0,0,107000005,90,5,200500,100,0,200500,100,0,200500,100,0,200500,100,0,120000004,90,5,300500,100,0,300500,100,0,300500,100,0,300500,100,0,30002,30007,30010,8012,8014
|
||||
42,1,999,10,10,111000060,1,5,102400,30,0,102400,30,0,102500,30,0,101600,0,0,101000012,70,5,100400,100,0,100400,100,0,202400,30,0,202500,30,0,120000004,90,5,301700,0,0,300500,100,0,300200,100,0,300200,100,0,1031,1035,1040,30062,30056
|
||||
43,1,999,10,10,112000060,1,5,102200,5,0,101700,0,0,100500,100,0,101600,0,0,101000011,70,5,209900,30,0,204300,50,0,204300,50,0,2,0,0,120000004,90,5,300500,100,0,300500,100,0,300500,100,0,300500,100,0,1026,1025,1024,30054,30055
|
||||
44,6,999,1,5,118000040,1,0,100300,50,0,100300,50,0,101600,0,0,99999,0,0,101000008,20,0,200200,50,0,209900,10,0,2,0,0,2,0,0,101000008,20,0,200200,50,0,200400,50,0,2,0,0,2,0,0,2002,2001,2016,2004,30091
|
||||
45,6,999,6,9,118000070,1,5,100300,100,0,101800,0,0,102600,30,0,101600,0,0,101000008,60,3,200300,100,0,200300,100,0,200200,100,0,200200,100,0,101000008,60,3,200300,100,0,200300,100,0,200200,100,0,200200,100,0,2002,2024,2025,2023,30091
|
||||
46,6,999,10,10,118000070,1,5,100300,100,0,101800,0,0,102600,30,0,101600,0,0,101000008,90,5,200300,100,0,200300,100,0,200200,100,0,200200,100,0,101000008,90,5,200300,100,0,200300,100,0,200200,100,0,200200,100,0,2002,2024,2025,2023,30091
|
||||
|
171
titles/sao/data/1/DefragMatchGrade.csv
Normal file
171
titles/sao/data/1/DefragMatchGrade.csv
Normal file
@@ -0,0 +1,171 @@
|
||||
// DefragMatchGradeId,DefragMatchId,ClassNum,GradeName,ClassName,PromotionLineLeagueScore,DemotionLineLeagueScore,LeagueScoreDecreaseFlag,TargetLeaguePoint1,TargetLeaguePoint2,MvpAddLeaguePoint,MobLevel,NormalBossLevel,AdaptableLevel,PunisherLevel,PunisherAppearanceRate,CpuLevel,RecordMedalDropNum,TargetLeaguePointCoefficient,RewardTableSubId
|
||||
1,1,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,1000,2000,500,10,10,10,100,0,20,6,0,300000
|
||||
2,1,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,2000,4000,1000,15,15,15,100,0,35,6,0,300000
|
||||
3,1,3,"スタンダードリーグ・クラスサード","Class Third",20,0,False,3000,6000,1500,20,20,20,100,0,40,8,10,300000
|
||||
4,1,4,"スタンダードリーグ・クラスセカンド","Class Second",30,0,False,4000,8000,2000,30,30,30,100,0,50,8,10,300000
|
||||
5,1,5,"スタンダードリーグ・クラスファースト","Class First",50,0,False,5000,10000,2500,40,40,40,100,0,60,8,20,300000
|
||||
6,1,6,"アドミンリーグ・クラスフィフス","Class Fifth",80,45,True,6500,13000,4000,50,50,50,100,5,70,8,30,300000
|
||||
7,1,7,"アドミンリーグ・クラスフォース","Class Fourth",130,75,True,8000,16000,5000,60,60,60,100,10,80,10,30,300000
|
||||
8,1,8,"アドミンリーグ・クラスサード","Class Third",200,125,True,10000,20000,6500,70,70,70,100,15,90,10,40,300000
|
||||
9,1,9,"アドミンリーグ・クラスセカンド","Class Second",300,195,True,12000,24000,8000,80,80,80,100,20,100,10,40,300000
|
||||
10,1,10,"アドミンリーグ・クラスファースト","Class First",30000,295,True,15000,30000,10000,90,90,90,100,30,100,10,50,300000
|
||||
11,2,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,1000,2000,500,10,10,10,100,0,20,8,0,300000
|
||||
12,2,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,1500,3000,1000,15,15,15,100,0,35,8,0,300000
|
||||
13,2,3,"スタンダードリーグ・クラスサード","Class Third",20,0,False,2000,4000,1500,20,20,20,100,0,40,8,10,300000
|
||||
14,2,4,"スタンダードリーグ・クラスセカンド","Class Second",30,0,False,2500,5000,2000,30,30,30,100,0,50,8,10,300000
|
||||
15,2,5,"スタンダードリーグ・クラスファースト","Class First",50,0,False,3000,6000,2500,40,40,40,100,0,60,10,20,300000
|
||||
16,2,6,"アドミンリーグ・クラスフィフス","Class Fifth",80,45,True,4000,8000,3000,50,50,50,100,5,70,10,30,300000
|
||||
17,2,7,"アドミンリーグ・クラスフォース","Class Fourth",130,75,True,5000,10000,4000,60,60,60,100,10,80,10,30,300000
|
||||
18,2,8,"アドミンリーグ・クラスサード","Class Third",200,125,True,6000,12000,5000,70,70,70,100,15,90,12,40,300000
|
||||
19,2,9,"アドミンリーグ・クラスセカンド","Class Second",300,195,True,8000,16000,6000,80,80,80,100,20,100,12,40,300000
|
||||
20,2,10,"アドミンリーグ・クラスファースト","Class First",30000,295,True,10000,20000,7000,90,90,90,100,30,100,12,50,300000
|
||||
21,3,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,2000,4000,10000,10,10,10,100,0,30,10,0,300000
|
||||
22,3,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,2500,5000,10000,15,15,15,100,0,35,10,0,300000
|
||||
23,3,3,"スタンダードリーグ・クラスサード","Class Third",20,0,False,3000,6000,10000,20,20,20,100,0,40,10,10,300000
|
||||
24,3,4,"スタンダードリーグ・クラスセカンド","Class Second",30,0,False,3500,7000,10000,30,30,30,100,0,50,10,10,300000
|
||||
25,3,5,"スタンダードリーグ・クラスファースト","Class First",50,0,False,4000,8000,10000,40,40,40,100,0,60,10,20,300000
|
||||
26,3,6,"アドミンリーグ・クラスフィフス","Class Fifth",80,45,True,6000,12000,11000,50,50,50,100,5,70,10,30,300000
|
||||
27,3,7,"アドミンリーグ・クラスフォース","Class Fourth",130,75,True,7000,14000,12000,55,55,55,100,10,80,10,30,300000
|
||||
28,3,8,"アドミンリーグ・クラスサード","Class Third",200,125,True,8000,16000,13000,60,60,60,100,15,90,10,40,300000
|
||||
29,3,9,"アドミンリーグ・クラスセカンド","Class Second",300,195,True,10000,20000,14000,65,65,65,100,20,100,10,40,300000
|
||||
30,3,10,"アドミンリーグ・クラスファースト","Class First",30000,295,True,30000,60000,15000,70,70,70,100,30,100,10,50,300000
|
||||
31,4,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,300400
|
||||
32,4,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,5500,11000,11000,10,10,10,100,0,30,10,0,300400
|
||||
33,4,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,6000,12000,12000,10,10,10,100,0,30,10,0,300400
|
||||
34,4,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,6500,13000,13000,10,10,10,100,0,30,10,0,300401
|
||||
35,4,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,7000,14000,14000,10,10,10,100,0,30,10,0,300401
|
||||
36,4,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,15000,30000,15000,40,40,40,100,5,60,10,20,300402
|
||||
37,4,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,16000,32000,16000,40,40,40,100,10,60,10,20,300402
|
||||
38,4,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,17000,34000,17000,40,40,40,100,15,60,10,20,300403
|
||||
39,4,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,18000,36000,18000,40,40,40,100,20,60,10,20,300403
|
||||
40,4,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,50000,100000,25000,70,70,70,100,30,100,10,60,300404
|
||||
41,5,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,300500
|
||||
42,5,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,5500,11000,11000,10,10,10,100,0,30,10,0,300500
|
||||
43,5,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,6000,12000,12000,10,10,10,100,0,30,10,0,300500
|
||||
44,5,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,6500,13000,13000,10,10,10,100,0,30,10,0,300501
|
||||
45,5,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,7000,14000,14000,10,10,10,100,0,30,10,0,300501
|
||||
46,5,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,15000,30000,15000,40,40,40,100,5,60,10,20,300502
|
||||
47,5,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,16000,32000,16000,40,40,40,100,10,60,10,20,300502
|
||||
48,5,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,17000,34000,17000,40,40,40,100,15,60,10,20,300503
|
||||
49,5,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,18000,36000,18000,40,40,40,100,20,60,10,20,300503
|
||||
50,5,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,50000,100000,25000,70,70,70,100,30,100,10,60,300504
|
||||
51,6,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,300600
|
||||
52,6,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,300600
|
||||
53,6,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,300600
|
||||
54,6,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,300601
|
||||
55,6,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,300601
|
||||
56,6,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,300602
|
||||
57,6,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,300602
|
||||
58,6,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,300603
|
||||
59,6,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,300603
|
||||
60,6,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,300604
|
||||
61,7,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,300700
|
||||
62,7,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,300700
|
||||
63,7,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,300700
|
||||
64,7,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,300701
|
||||
65,7,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,300701
|
||||
66,7,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,300702
|
||||
67,7,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,300702
|
||||
68,7,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,300703
|
||||
69,7,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,300703
|
||||
70,7,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,300704
|
||||
71,8,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,300800
|
||||
72,8,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,300800
|
||||
73,8,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,300800
|
||||
74,8,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,300801
|
||||
75,8,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,300801
|
||||
76,8,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,300802
|
||||
77,8,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,300802
|
||||
78,8,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,300803
|
||||
79,8,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,300803
|
||||
80,8,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,300804
|
||||
81,9,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,300900
|
||||
82,9,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,300900
|
||||
83,9,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,300900
|
||||
84,9,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,300901
|
||||
85,9,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,300901
|
||||
86,9,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,300902
|
||||
87,9,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,300902
|
||||
88,9,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,300903
|
||||
89,9,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,300903
|
||||
90,9,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,300904
|
||||
91,10,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,301000
|
||||
92,10,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,301000
|
||||
93,10,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,301000
|
||||
94,10,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,301001
|
||||
95,10,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,301001
|
||||
96,10,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,301002
|
||||
97,10,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,301002
|
||||
98,10,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,301003
|
||||
99,10,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,301003
|
||||
100,10,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,301004
|
||||
101,11,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,301100
|
||||
102,11,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,301100
|
||||
103,11,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,301100
|
||||
104,11,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,301101
|
||||
105,11,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,301101
|
||||
106,11,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,301102
|
||||
107,11,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,301102
|
||||
108,11,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,301103
|
||||
109,11,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,301103
|
||||
110,11,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,301104
|
||||
111,12,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,301200
|
||||
112,12,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,301200
|
||||
113,12,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,301200
|
||||
114,12,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,301201
|
||||
115,12,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,301201
|
||||
116,12,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,301202
|
||||
117,12,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,301202
|
||||
118,12,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,301203
|
||||
119,12,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,301203
|
||||
120,12,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,301204
|
||||
121,13,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,30,5,30,10,0,301300
|
||||
122,13,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,30,5,30,10,0,301300
|
||||
123,13,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,50,5,30,10,0,301300
|
||||
124,13,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,50,5,30,10,0,301301
|
||||
125,13,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,70,5,30,10,0,301301
|
||||
126,13,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,15,60,10,20,301302
|
||||
127,13,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,20,60,10,20,301302
|
||||
128,13,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,25,60,10,20,301303
|
||||
129,13,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,30,60,10,20,301303
|
||||
130,13,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,40,100,10,60,301304
|
||||
131,14,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,301400
|
||||
132,14,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,301400
|
||||
133,14,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,301400
|
||||
134,14,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,301401
|
||||
135,14,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,301401
|
||||
136,14,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,301402
|
||||
137,14,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,301402
|
||||
138,14,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,301403
|
||||
139,14,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,301403
|
||||
140,14,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,301404
|
||||
141,15,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,100,0,30,10,0,301500
|
||||
142,15,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,100,0,30,10,0,301500
|
||||
143,15,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,100,0,30,10,0,301500
|
||||
144,15,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,100,0,30,10,0,301501
|
||||
145,15,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,100,0,30,10,0,301501
|
||||
146,15,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,301502
|
||||
147,15,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,301502
|
||||
148,15,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,301503
|
||||
149,15,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,301503
|
||||
150,15,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,301504
|
||||
151,16,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,30,5,30,10,0,301600
|
||||
152,16,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,30,5,30,10,0,301600
|
||||
153,16,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,50,5,30,10,0,301600
|
||||
154,16,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,50,5,30,10,0,301601
|
||||
155,16,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,70,5,30,10,0,301601
|
||||
156,16,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,15,60,10,20,301602
|
||||
157,16,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,20,60,10,20,301602
|
||||
158,16,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,25,60,10,20,301603
|
||||
159,16,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,30,60,10,20,301603
|
||||
160,16,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,40,100,10,60,301604
|
||||
161,17,1,"スタンダードリーグ・ゲスト","Guest",5,0,False,5000,10000,10000,10,10,10,70,0,30,10,0,301700
|
||||
162,17,2,"スタンダードリーグ・クラスフォース","Class Fourth",10,0,False,7500,15000,11000,10,10,10,70,0,30,10,0,301700
|
||||
163,17,3,"スタンダードリーグ・クラスサード","Class Third",15,0,False,10000,20000,12000,10,10,10,70,0,30,10,0,301700
|
||||
164,17,4,"スタンダードリーグ・クラスセカンド","Class Second",20,0,False,15000,30000,13000,10,10,10,70,0,30,10,0,301700
|
||||
165,17,5,"スタンダードリーグ・クラスファースト","Class First",30,0,False,20000,40000,14000,10,10,10,70,0,30,10,0,301700
|
||||
166,17,6,"アドミンリーグ・クラスフィフス","Class Fifth",40,29,True,30000,60000,15000,40,40,40,100,5,60,10,20,301700
|
||||
167,17,7,"アドミンリーグ・クラスフォース","Class Fourth",55,39,True,35000,70000,16000,40,40,40,100,10,60,10,20,301700
|
||||
168,17,8,"アドミンリーグ・クラスサード","Class Third",75,54,True,40000,80000,17000,40,40,40,100,15,60,10,20,301700
|
||||
169,17,9,"アドミンリーグ・クラスセカンド","Class Second",100,74,True,45000,90000,18000,40,40,40,100,20,60,10,20,301700
|
||||
170,17,10,"アドミンリーグ・クラスファースト","Class First",30000,99,True,70000,140000,25000,70,70,70,100,30,100,10,60,301700
|
||||
|
1292
titles/sao/data/1/DefragMatchPeriodBonuses.csv
Normal file
1292
titles/sao/data/1/DefragMatchPeriodBonuses.csv
Normal file
File diff suppressed because it is too large
Load Diff
15
titles/sao/data/1/DefragMatchQuest.csv
Normal file
15
titles/sao/data/1/DefragMatchQuest.csv
Normal file
@@ -0,0 +1,15 @@
|
||||
// DefragMatchQuestId,DisplayName,VsModeNo,QuestSceneId,UnitData1,UnitData2,UnitData3,DefragMatchBossTableSubId,AdaptableRate,PunisherFlag,CommentDetails
|
||||
29003,"討伐競争_西フ_小",10,29003,"VS_sao_wf_day_003_unitData","VS_sao_wf_day_003_unitData1","VS_sao_wf_day_003_unitData2",1,20,True,
|
||||
29004,"討伐競争_スリュム",11,29004,"VS_alo_ip_basic_002_unitData","VS_alo_ip_basic_002_unitData1","VS_alo_ip_basic_002_unitData2",2,35,False,
|
||||
29005,"討伐競争_廃墟",12,29005,"VS_ggo_at_dusk_001_unitData","VS_ggo_at_dusk_001_unitData1","VS_ggo_at_dusk_001_unitData2",3,50,False,
|
||||
29006,"討伐競争_海",13,29006,"VS_alo_ti_day_001_unitData","VS_alo_ti_day_001_unitData1","VS_alo_ti_day_001_unitData2",4,20,True,
|
||||
29007,"討伐競争_フローリア",14,29007,"VS_sao_ff_day_001_unitData","VS_sao_ff_day_001_unitData1","VS_sao_ff_day_001_unitData2",5,20,True,
|
||||
29008,"討伐競争_西の山",15,29008,"VS_sao_wm_day_001_unitData","VS_sao_wm_day_001_unitData1","VS_sao_wm_day_001_unitData2",6,20,True,
|
||||
29103,"討伐競争_西フ_小_夏パ",103,29003,"VS_sao_wf_day_003_unitData","VS_sao_wf_day_003_unitData1","VS_sao_wf_day_003_unitData2",103,20,True,
|
||||
29106,"討伐競争_海_夏パ",106,29006,"VS_alo_ti_day_001_unitData","VS_alo_ti_day_001_unitData1","VS_alo_ti_day_001_unitData2",106,20,True,
|
||||
29107,"討伐競争_フロ_夏パ",107,29007,"VS_sao_ff_day_001_unitData","VS_sao_ff_day_001_unitData1","VS_sao_ff_day_001_unitData2",107,20,True,
|
||||
29108,"討伐競争_西の山_夏パ",108,29008,"VS_sao_wm_day_001_unitData","VS_sao_wm_day_001_unitData1","VS_sao_wm_day_001_unitData2",108,20,True,
|
||||
29113,"討伐競争_西フ_小_春パ",113,29003,"VS_sao_wf_day_003_unitData","VS_sao_wf_day_003_unitData1","VS_sao_wf_day_003_unitData2",113,20,True,
|
||||
29116,"討伐競争_海_春パ",116,29006,"VS_alo_ti_day_001_unitData","VS_alo_ti_day_001_unitData1","VS_alo_ti_day_001_unitData2",116,20,True,
|
||||
29117,"討伐競争_フロ_春パ",117,29007,"VS_sao_ff_day_001_unitData","VS_sao_ff_day_001_unitData1","VS_sao_ff_day_001_unitData2",117,20,True,
|
||||
29118,"討伐競争_西の山_春パ",118,29008,"VS_sao_wm_day_001_unitData","VS_sao_wm_day_001_unitData1","VS_sao_wm_day_001_unitData2",118,20,True,
|
||||
|
14
titles/sao/data/1/DefragMatchRandomBonusConditions.csv
Normal file
14
titles/sao/data/1/DefragMatchRandomBonusConditions.csv
Normal file
@@ -0,0 +1,14 @@
|
||||
// DefragMatchRandomBonusConditionId,Format,HudFormat,FormatParamSize,Memo
|
||||
1,"ファーストアタックを{0}回達成","【現在{0}回】",1,
|
||||
2,"ラストアタックを{0}回達成","【現在{0}回】",1,
|
||||
3,"上位種モンスターを{0}体討伐","【現在{0}体】",1,
|
||||
4,"Mobモンスターを{0}体討伐","【現在{0}体】",1,
|
||||
5,"レコードメダルを{0}個獲得","【現在{0}個】",1,
|
||||
6,"フラグメントを{0}個獲得","【現在{0}個】",1,
|
||||
7,"スキルレベルを{0}以上にした","【現在レベル{0}】",1,
|
||||
8,"アクセラレーションを{0}回発動","【現在{0}回】",1,
|
||||
9,"最大コンボ数{0}回を達成","【現在{0}コンボ】",1,
|
||||
10,"サポートスキルを{0}回発動","【現在{0}回】",1,
|
||||
11,"シンクロスキルを{0}回発動","【現在{0}回】",1,
|
||||
12,"中間順位{0}位以上を{1}回達成","【現在{0}回】",2,
|
||||
13,"エンドガーディアンを撃破 (協力)","【現在】",0,
|
||||
|
257
titles/sao/data/1/DefragMatchRandomBonusTables.csv
Normal file
257
titles/sao/data/1/DefragMatchRandomBonusTables.csv
Normal file
@@ -0,0 +1,257 @@
|
||||
// DefragMatchRandomBonusId,DefragMatchId,DefragMatchRandomBonusConditionId,Name,ConditionValue1,ConditionValue2,GetLeaguePoint,RandomBonusNum,Memo
|
||||
1,1,1,"ファーストアタック3回",3,0,3000,1,
|
||||
2,1,2,"ラストアタック3回",3,0,3000,1,
|
||||
3,1,12,"中間1位2回",1,2,3000,1,
|
||||
4,1,3,"指揮官2体",2,0,3000,1,
|
||||
5,1,4,"モブ60",60,0,600,2,
|
||||
6,1,4,"モブ40",40,0,400,2,
|
||||
7,1,5,"メダル5枚",5,0,600,2,
|
||||
8,1,5,"メダル3枚",3,0,400,2,
|
||||
9,1,6,"結晶3つ",3,0,600,2,
|
||||
10,1,6,"結晶2つ",2,0,400,2,
|
||||
11,1,7,"スキルLv5",5,0,600,2,
|
||||
12,1,7,"スキルLv3",3,0,400,2,
|
||||
13,1,9,"コンボ30",30,0,600,2,
|
||||
14,1,9,"コンボ20",20,0,400,2,
|
||||
15,1,4,"モブ20",20,0,200,3,
|
||||
16,1,4,"モブ10",10,0,100,3,
|
||||
17,1,8,"アクセラ10回",10,0,200,3,
|
||||
18,1,8,"アクセラ5回",5,0,100,3,
|
||||
19,1,9,"コンボ10",10,0,200,3,
|
||||
20,1,9,"コンボ5",5,0,100,3,
|
||||
21,1,10,"サポスキ2",2,0,200,3,
|
||||
22,1,10,"サポスキ1",1,0,100,3,
|
||||
23,1,11,"シンクロ1",1,0,100,3,
|
||||
24,2,1,"ファーストアタック3回",3,0,3000,1,
|
||||
25,2,2,"ラストアタック3回",3,0,3000,1,
|
||||
26,2,12,"中間1位2回",1,2,3000,1,
|
||||
27,2,3,"指揮官2体",2,0,3000,1,
|
||||
28,2,4,"モブ60",60,0,600,2,
|
||||
29,2,4,"モブ40",40,0,400,2,
|
||||
30,2,5,"メダル5枚",5,0,600,2,
|
||||
31,2,5,"メダル3枚",3,0,400,2,
|
||||
32,2,6,"結晶3つ",3,0,600,2,
|
||||
33,2,6,"結晶2つ",2,0,400,2,
|
||||
34,2,7,"スキルLv5",5,0,600,2,
|
||||
35,2,7,"スキルLv3",3,0,400,2,
|
||||
36,2,9,"コンボ30",30,0,600,2,
|
||||
37,2,9,"コンボ20",20,0,400,2,
|
||||
38,2,4,"モブ20",20,0,200,3,
|
||||
39,2,4,"モブ10",10,0,100,3,
|
||||
40,2,8,"アクセラ10回",10,0,200,3,
|
||||
41,2,8,"アクセラ5回",5,0,100,3,
|
||||
42,2,9,"コンボ10",10,0,200,3,
|
||||
43,2,9,"コンボ5",5,0,100,3,
|
||||
44,2,10,"サポスキ2",2,0,200,3,
|
||||
45,2,10,"サポスキ1",1,0,100,3,
|
||||
46,2,11,"シンクロ1",1,0,100,3,
|
||||
47,3,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
48,3,1,"ファーストアタック1回",1,0,1000,2,
|
||||
49,3,2,"ラストアタック1回",1,0,1000,2,
|
||||
50,3,3,"指揮官1体",1,0,1000,2,
|
||||
51,3,4,"モブ50",50,0,1000,2,
|
||||
52,3,5,"メダル20枚",20,0,1000,2,
|
||||
53,3,6,"結晶5つ",5,0,1000,2,
|
||||
54,3,7,"スキルLv5",5,0,1000,2,
|
||||
55,3,9,"コンボ30",40,0,1000,2,
|
||||
56,3,4,"モブ25",25,0,500,3,
|
||||
57,3,5,"メダル10枚",10,0,500,3,
|
||||
58,3,6,"結晶3つ",3,0,500,3,
|
||||
59,3,7,"スキルLv4",4,0,500,3,
|
||||
60,3,9,"コンボ15",15,0,500,3,
|
||||
61,4,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
62,4,1,"ファーストアタック1回",1,0,1000,2,
|
||||
63,4,2,"ラストアタック1回",1,0,1000,2,
|
||||
64,4,3,"指揮官1体",1,0,1000,2,
|
||||
65,4,4,"モブ50",50,0,1000,2,
|
||||
66,4,5,"メダル20枚",20,0,1000,2,
|
||||
67,4,6,"結晶5つ",5,0,1000,2,
|
||||
68,4,7,"スキルLv5",5,0,1000,2,
|
||||
69,4,9,"コンボ30",40,0,1000,2,
|
||||
70,4,4,"モブ25",25,0,500,3,
|
||||
71,4,5,"メダル10枚",10,0,500,3,
|
||||
72,4,6,"結晶3つ",3,0,500,3,
|
||||
73,4,7,"スキルLv4",4,0,500,3,
|
||||
74,4,9,"コンボ15",15,0,500,3,
|
||||
75,5,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
76,5,1,"ファーストアタック1回",1,0,1000,2,
|
||||
77,5,2,"ラストアタック1回",1,0,1000,2,
|
||||
78,5,3,"指揮官1体",1,0,1000,2,
|
||||
79,5,4,"モブ50",50,0,1000,2,
|
||||
80,5,5,"メダル20枚",20,0,1000,2,
|
||||
81,5,6,"結晶5つ",5,0,1000,2,
|
||||
82,5,7,"スキルLv5",5,0,1000,2,
|
||||
83,5,9,"コンボ30",40,0,1000,2,
|
||||
84,5,4,"モブ25",25,0,500,3,
|
||||
85,5,5,"メダル10枚",10,0,500,3,
|
||||
86,5,6,"結晶3つ",3,0,500,3,
|
||||
87,5,7,"スキルLv4",4,0,500,3,
|
||||
88,5,9,"コンボ15",15,0,500,3,
|
||||
89,6,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
90,6,1,"ファーストアタック1回",1,0,1000,2,
|
||||
91,6,2,"ラストアタック1回",1,0,1000,2,
|
||||
92,6,3,"指揮官1体",1,0,1000,2,
|
||||
93,6,4,"モブ50",50,0,1000,2,
|
||||
94,6,5,"メダル20枚",20,0,1000,2,
|
||||
95,6,6,"結晶5つ",5,0,1000,2,
|
||||
96,6,7,"スキルLv5",5,0,1000,2,
|
||||
97,6,9,"コンボ30",40,0,1000,2,
|
||||
98,6,4,"モブ25",25,0,500,3,
|
||||
99,6,5,"メダル10枚",10,0,500,3,
|
||||
100,6,6,"結晶3つ",3,0,500,3,
|
||||
101,6,7,"スキルLv4",4,0,500,3,
|
||||
102,6,9,"コンボ15",15,0,500,3,
|
||||
103,7,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
104,7,1,"ファーストアタック1回",1,0,1000,2,
|
||||
105,7,2,"ラストアタック1回",1,0,1000,2,
|
||||
106,7,3,"指揮官1体",1,0,1000,2,
|
||||
107,7,4,"モブ50",50,0,1000,2,
|
||||
108,7,5,"メダル20枚",20,0,1000,2,
|
||||
109,7,6,"結晶5つ",5,0,1000,2,
|
||||
110,7,7,"スキルLv5",5,0,1000,2,
|
||||
111,7,9,"コンボ30",40,0,1000,2,
|
||||
112,7,4,"モブ25",25,0,500,3,
|
||||
113,7,5,"メダル10枚",10,0,500,3,
|
||||
114,7,6,"結晶3つ",3,0,500,3,
|
||||
115,7,7,"スキルLv4",4,0,500,3,
|
||||
116,7,9,"コンボ15",15,0,500,3,
|
||||
117,8,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
118,8,1,"ファーストアタック1回",1,0,1000,2,
|
||||
119,8,2,"ラストアタック1回",1,0,1000,2,
|
||||
120,8,3,"指揮官1体",1,0,1000,2,
|
||||
121,8,4,"モブ50",50,0,1000,2,
|
||||
122,8,5,"メダル20枚",20,0,1000,2,
|
||||
123,8,6,"結晶5つ",5,0,1000,2,
|
||||
124,8,7,"スキルLv5",5,0,1000,2,
|
||||
125,8,9,"コンボ30",40,0,1000,2,
|
||||
126,8,4,"モブ25",25,0,500,3,
|
||||
127,8,5,"メダル10枚",10,0,500,3,
|
||||
128,8,6,"結晶3つ",3,0,500,3,
|
||||
129,8,7,"スキルLv4",4,0,500,3,
|
||||
130,8,9,"コンボ15",15,0,500,3,
|
||||
131,9,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
132,9,1,"ファーストアタック1回",1,0,1000,2,
|
||||
133,9,2,"ラストアタック1回",1,0,1000,2,
|
||||
134,9,3,"指揮官1体",1,0,1000,2,
|
||||
135,9,4,"モブ50",50,0,1000,2,
|
||||
136,9,5,"メダル20枚",20,0,1000,2,
|
||||
137,9,6,"結晶5つ",5,0,1000,2,
|
||||
138,9,7,"スキルLv5",5,0,1000,2,
|
||||
139,9,9,"コンボ30",40,0,1000,2,
|
||||
140,9,4,"モブ25",25,0,500,3,
|
||||
141,9,5,"メダル10枚",10,0,500,3,
|
||||
142,9,6,"結晶3つ",3,0,500,3,
|
||||
143,9,7,"スキルLv4",4,0,500,3,
|
||||
144,9,9,"コンボ15",15,0,500,3,
|
||||
145,10,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
146,10,1,"ファーストアタック1回",1,0,1000,2,
|
||||
147,10,2,"ラストアタック1回",1,0,1000,2,
|
||||
148,10,3,"指揮官1体",1,0,1000,2,
|
||||
149,10,4,"モブ50",50,0,1000,2,
|
||||
150,10,5,"メダル20枚",20,0,1000,2,
|
||||
151,10,6,"結晶5つ",5,0,1000,2,
|
||||
152,10,7,"スキルLv5",5,0,1000,2,
|
||||
153,10,9,"コンボ30",40,0,1000,2,
|
||||
154,10,4,"モブ25",25,0,500,3,
|
||||
155,10,5,"メダル10枚",10,0,500,3,
|
||||
156,10,6,"結晶3つ",3,0,500,3,
|
||||
157,10,7,"スキルLv4",4,0,500,3,
|
||||
158,10,9,"コンボ15",15,0,500,3,
|
||||
159,11,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
160,11,1,"ファーストアタック1回",1,0,1000,2,
|
||||
161,11,2,"ラストアタック1回",1,0,1000,2,
|
||||
162,11,3,"指揮官1体",1,0,1000,2,
|
||||
163,11,4,"モブ50",50,0,1000,2,
|
||||
164,11,5,"メダル20枚",20,0,1000,2,
|
||||
165,11,6,"結晶5つ",5,0,1000,2,
|
||||
166,11,7,"スキルLv5",5,0,1000,2,
|
||||
167,11,9,"コンボ30",40,0,1000,2,
|
||||
168,11,4,"モブ25",25,0,500,3,
|
||||
169,11,5,"メダル10枚",10,0,500,3,
|
||||
170,11,6,"結晶3つ",3,0,500,3,
|
||||
171,11,7,"スキルLv4",4,0,500,3,
|
||||
172,11,9,"コンボ15",15,0,500,3,
|
||||
173,12,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
174,12,1,"ファーストアタック1回",1,0,1000,2,
|
||||
175,12,2,"ラストアタック1回",1,0,1000,2,
|
||||
176,12,3,"指揮官1体",1,0,1000,2,
|
||||
177,12,4,"モブ50",50,0,1000,2,
|
||||
178,12,5,"メダル20枚",20,0,1000,2,
|
||||
179,12,6,"結晶5つ",5,0,1000,2,
|
||||
180,12,7,"スキルLv5",5,0,1000,2,
|
||||
181,12,9,"コンボ30",40,0,1000,2,
|
||||
182,12,4,"モブ25",25,0,500,3,
|
||||
183,12,5,"メダル10枚",10,0,500,3,
|
||||
184,12,6,"結晶3つ",3,0,500,3,
|
||||
185,12,7,"スキルLv4",4,0,500,3,
|
||||
186,12,9,"コンボ15",15,0,500,3,
|
||||
187,13,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
188,13,1,"ファーストアタック1回",1,0,1000,2,
|
||||
189,13,2,"ラストアタック1回",1,0,1000,2,
|
||||
190,13,3,"指揮官1体",1,0,1000,2,
|
||||
191,13,4,"モブ50",50,0,1000,2,
|
||||
192,13,5,"メダル20枚",20,0,1000,2,
|
||||
193,13,6,"結晶5つ",5,0,1000,2,
|
||||
194,13,7,"スキルLv5",5,0,1000,2,
|
||||
195,13,9,"コンボ30",40,0,1000,2,
|
||||
196,13,4,"モブ25",25,0,500,3,
|
||||
197,13,5,"メダル10枚",10,0,500,3,
|
||||
198,13,6,"結晶3つ",3,0,500,3,
|
||||
199,13,7,"スキルLv4",4,0,500,3,
|
||||
200,13,9,"コンボ15",15,0,500,3,
|
||||
201,14,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
202,14,1,"ファーストアタック1回",1,0,1000,2,
|
||||
203,14,2,"ラストアタック1回",1,0,1000,2,
|
||||
204,14,3,"指揮官1体",1,0,1000,2,
|
||||
205,14,4,"モブ50",50,0,1000,2,
|
||||
206,14,5,"メダル20枚",20,0,1000,2,
|
||||
207,14,6,"結晶5つ",5,0,1000,2,
|
||||
208,14,7,"スキルLv5",5,0,1000,2,
|
||||
209,14,9,"コンボ30",40,0,1000,2,
|
||||
210,14,4,"モブ25",25,0,500,3,
|
||||
211,14,5,"メダル10枚",10,0,500,3,
|
||||
212,14,6,"結晶3つ",3,0,500,3,
|
||||
213,14,7,"スキルLv4",4,0,500,3,
|
||||
214,14,9,"コンボ15",15,0,500,3,
|
||||
215,15,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
216,15,1,"ファーストアタック1回",1,0,1000,2,
|
||||
217,15,2,"ラストアタック1回",1,0,1000,2,
|
||||
218,15,3,"指揮官1体",1,0,1000,2,
|
||||
219,15,4,"モブ50",50,0,1000,2,
|
||||
220,15,5,"メダル20枚",20,0,1000,2,
|
||||
221,15,6,"結晶5つ",5,0,1000,2,
|
||||
222,15,7,"スキルLv5",5,0,1000,2,
|
||||
223,15,9,"コンボ30",40,0,1000,2,
|
||||
224,15,4,"モブ25",25,0,500,3,
|
||||
225,15,5,"メダル10枚",10,0,500,3,
|
||||
226,15,6,"結晶3つ",3,0,500,3,
|
||||
227,15,7,"スキルLv4",4,0,500,3,
|
||||
228,15,9,"コンボ15",15,0,500,3,
|
||||
229,16,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
230,16,1,"ファーストアタック1回",1,0,1000,2,
|
||||
231,16,2,"ラストアタック1回",1,0,1000,2,
|
||||
232,16,3,"指揮官1体",1,0,1000,2,
|
||||
233,16,4,"モブ50",50,0,1000,2,
|
||||
234,16,5,"メダル20枚",20,0,1000,2,
|
||||
235,16,6,"結晶5つ",5,0,1000,2,
|
||||
236,16,7,"スキルLv5",5,0,1000,2,
|
||||
237,16,9,"コンボ30",40,0,1000,2,
|
||||
238,16,4,"モブ25",25,0,500,3,
|
||||
239,16,5,"メダル10枚",10,0,500,3,
|
||||
240,16,6,"結晶3つ",3,0,500,3,
|
||||
241,16,7,"スキルLv4",4,0,500,3,
|
||||
242,16,9,"コンボ15",15,0,500,3,
|
||||
243,17,13,"エンドガーディアン討伐",0,0,5000,1,
|
||||
244,17,1,"ファーストアタック1回",1,0,1000,2,
|
||||
245,17,2,"ラストアタック1回",1,0,1000,2,
|
||||
246,17,3,"指揮官1体",1,0,1000,2,
|
||||
247,17,4,"モブ50",50,0,1000,2,
|
||||
248,17,5,"メダル20枚",20,0,1000,2,
|
||||
249,17,6,"結晶5つ",5,0,1000,2,
|
||||
250,17,7,"スキルLv5",5,0,1000,2,
|
||||
251,17,9,"コンボ30",40,0,1000,2,
|
||||
252,17,4,"モブ25",25,0,500,3,
|
||||
253,17,5,"メダル10枚",10,0,500,3,
|
||||
254,17,6,"結晶3つ",3,0,500,3,
|
||||
255,17,7,"スキルLv4",4,0,500,3,
|
||||
256,17,9,"コンボ15",15,0,500,3,
|
||||
|
1042
titles/sao/data/1/DefragMatchRareDrops.csv
Normal file
1042
titles/sao/data/1/DefragMatchRareDrops.csv
Normal file
File diff suppressed because it is too large
Load Diff
18
titles/sao/data/1/DefragMatchSeed.csv
Normal file
18
titles/sao/data/1/DefragMatchSeed.csv
Normal file
@@ -0,0 +1,18 @@
|
||||
// DefragMatchSeedId,DefragMatchId,CheckType,NeedClassNum,NeedClearedTrialTowerId,GetLeaguePoint,GetLeagueScore,SetClassNum,Memo
|
||||
1,1,2,-1,70,0,50,6,"デフラグマッチ『プレシーズン』"
|
||||
2,2,1,6,-1,0,50,6,"デフラグマッチ『キリトシーズン』"
|
||||
3,3,1,6,-1,0,50,6,"デフラグマッチ『リーファシーズン』"
|
||||
4,4,2,-1,50,0,30,6,"デフラグマッチ『ユウキシーズン』"
|
||||
5,5,2,-1,50,0,30,6,"デフラグマッチ『アリスシーズン』"
|
||||
6,6,2,-1,50,0,30,6,"デフラグマッチ『レインシーズン』"
|
||||
7,7,2,-1,50,0,30,6,"デフラグマッチ『シノンシーズン』"
|
||||
8,8,2,-1,50,0,30,6,"デフラグマッチ『シリカシーズン』"
|
||||
9,9,2,-1,50,0,30,6,"デフラグマッチ『アスナシーズン』"
|
||||
10,10,2,-1,50,0,30,6,"デフラグマッチ『リズベットシーズン』"
|
||||
11,11,2,-1,50,0,30,6,"デフラグマッチ『ユージオシーズン』"
|
||||
12,12,2,-1,50,0,30,6,"デフラグマッチ『アルゴシーズン』"
|
||||
13,13,2,-1,50,0,30,6,"デフラグマッチ『リーファシーズン』"
|
||||
14,14,2,-1,50,0,30,6,"デフラグマッチ『ユウキシーズン』"
|
||||
15,15,2,-1,50,0,30,6,"デフラグマッチ『キリトシーズン』"
|
||||
16,16,2,-1,50,0,30,6,"デフラグマッチ『シノンシーズン』"
|
||||
17,17,2,-1,50,0,30,6,"デフラグマッチ『オールスターシーズン』"
|
||||
|
16
titles/sao/data/1/DefragMatchSpecialEffects.csv
Normal file
16
titles/sao/data/1/DefragMatchSpecialEffects.csv
Normal file
@@ -0,0 +1,16 @@
|
||||
// DefragMatchSpecialEffectsId,DefragMatchId,SpecialEffectType,SpecialEffectCoefficient,TargetCharaId,Memo
|
||||
2,2,0,10,1,"デフラグマッチ『キリトシーズン』"
|
||||
3,3,0,10,3,"デフラグマッチ『リーファシーズン』"
|
||||
4,4,0,30,9,"デフラグマッチ『ユウキシーズン』"
|
||||
5,5,0,30,11,"デフラグマッチ『アリスシーズン』"
|
||||
6,6,0,30,18,"デフラグマッチ『レインシーズン』"
|
||||
7,7,0,30,4,"デフラグマッチ『シノンシーズン』"
|
||||
8,8,0,30,6,"デフラグマッチ『シリカシーズン』"
|
||||
9,9,0,30,2,"デフラグマッチ『アスナシーズン』"
|
||||
10,10,0,30,5,"デフラグマッチ『リズベットシーズン』"
|
||||
11,11,0,30,12,"デフラグマッチ『ユージオシーズン』"
|
||||
12,12,0,30,10,"デフラグマッチ『アルゴシーズン』"
|
||||
13,13,0,30,3,"デフラグマッチ『リーファシーズン』"
|
||||
14,14,0,30,9,"デフラグマッチ『ユウキシーズン』"
|
||||
15,15,0,30,1,"デフラグマッチ『キリトシーズン』"
|
||||
16,16,0,30,4,"デフラグマッチ『シノンシーズン』"
|
||||
|
18
titles/sao/data/1/DefragMatchs.csv
Normal file
18
titles/sao/data/1/DefragMatchs.csv
Normal file
@@ -0,0 +1,18 @@
|
||||
// DefragMatchId,SeasonNo,Title,FirstAttackBonusCoefficient,LastAttackBonusCoefficient,Memo
|
||||
1,1,"デフラグマッチ『プレシーズン』",0.5,0.5,
|
||||
2,2,"デフラグマッチ『キリトシーズン』",0.5,0.5,
|
||||
3,3,"デフラグマッチ『リーファシーズン』",0.3,0.3,
|
||||
4,4,"デフラグマッチ『ユウキシーズン』",0.3,0.3,
|
||||
5,5,"デフラグマッチ『アリスシーズン』",0.3,0.3,
|
||||
6,6,"デフラグマッチ『レインシーズン』",0.3,0.3,
|
||||
7,7,"デフラグマッチ『シノンシーズン』",0.3,0.3,
|
||||
8,8,"デフラグマッチ『シリカシーズン』",0.3,0.3,
|
||||
9,9,"デフラグマッチ『アスナシーズン』",0.3,0.3,
|
||||
10,10,"デフラグマッチ『リズベットシーズン』",0.3,0.3,
|
||||
11,11,"デフラグマッチ『ユージオシーズン』",0.3,0.3,
|
||||
12,12,"デフラグマッチ『アルゴシーズン』",0.3,0.3,
|
||||
13,13,"デフラグマッチ『リーファシーズン』",0.3,0.3,
|
||||
14,14,"デフラグマッチ『ユウキシーズン』",0.3,0.3,
|
||||
15,15,"デフラグマッチ『キリトシーズン』",0.3,0.3,
|
||||
16,16,"デフラグマッチ『シノンシーズン』",0.3,0.3,
|
||||
17,17,"デフラグマッチ『オールスターシーズン』",0.3,0.3,
|
||||
|
91
titles/sao/data/1/Enemy.csv
Normal file
91
titles/sao/data/1/Enemy.csv
Normal file
@@ -0,0 +1,91 @@
|
||||
// EnemyId,UnitId,Name
|
||||
1101,10050301,"ディノサウロイド"
|
||||
1102,10060201,"デス・トルーパー"
|
||||
1103,10070201,"コボルド・バトラー"
|
||||
1104,10080201,"オークウォリアー"
|
||||
1105,10030001,"シルキー"
|
||||
1106,10530201,"メディックマッシュルーム"
|
||||
1107,10050401,"ベイン・オーバーリザード"
|
||||
1108,10180301,"デモンブロブ"
|
||||
1201,10040000,"キリング・ボット"
|
||||
1202,10040100,"ブッチャー・ボット"
|
||||
1203,10120000,"レッサーデーモン"
|
||||
1204,10130000,"グリフォン"
|
||||
1205,10140401,"ザ・セイクリッドフェザー"
|
||||
1206,10090400,"ホーリー・ロックドール"
|
||||
1207,10100100,"ブライトスティンガー"
|
||||
1208,10500201,"ポーラー・ボア"
|
||||
1191,10010100,"フライングテイル"
|
||||
1192,10020100,"ドゥアジット"
|
||||
1193,10510000,"ガリッシュ・ガーベラ"
|
||||
1194,10540002,"シザース"
|
||||
2301,10100000,"スコーピオ"
|
||||
2302,10130100,"デュオグリフォン"
|
||||
2303,10000110,"重装守護騎士上位種"
|
||||
2304,10040300,"カラミティ・ドール"
|
||||
2305,10260300,"ホーリービースト"
|
||||
2401,10150401,"ワイバーン・ルナライト"
|
||||
2402,10250101,"ワイト"
|
||||
2403,10070310,"コボルド・ワンダラー上位種"
|
||||
2404,10050410,"ベイン・オーバーリザード上位種"
|
||||
2405,10120201,"アークデーモン"
|
||||
2391,10530202,"メディックマッシュルーム"
|
||||
2392,10280102,"ブッカドゥー"
|
||||
3101,10020101,"ヴィーヴル"
|
||||
3102,10120000,"ガーゴイル"
|
||||
3111,10050201,"リザードフォーク"
|
||||
3112,10130000,"グリフォン"
|
||||
3121,10500100,"火ボア"
|
||||
3122,10260000,"フラウロス"
|
||||
3131,10510101,"紫ガーベラ"
|
||||
3132,10160000,"バジリスク"
|
||||
3141,10560101,"兵隊アリ"
|
||||
3142,10100001,"セルケト"
|
||||
3201,10000200,"守護騎士・射手"
|
||||
3202,10150101,"ムシュフシュ"
|
||||
3211,10140300,"氷ハーピー"
|
||||
3212,10090301,"氷ゴーレム"
|
||||
3221,10280000,"ブッカブー"
|
||||
3222,10250001,"ファントム"
|
||||
3301,10000001,"守護騎士"
|
||||
3302,10090201,"コロッサス"
|
||||
3303,10000210,"守護騎士射手上位種"
|
||||
3311,10280101,"ザントマン"
|
||||
3312,10150000,"ワイバーン"
|
||||
3313,10060110,"スパルトイ上位種"
|
||||
3321,10540301,"氷カニ"
|
||||
3322,10260200,"氷フラウロス"
|
||||
3323,10080210,"オーク・フォルテ上位種"
|
||||
3401,10040000,"ウズ"
|
||||
3402,10130101,"ヒポグリフ"
|
||||
3403,10050310,"ディノサウロイド上位種"
|
||||
3411,10120100,"ドローレム"
|
||||
3412,10160101,"アポピス"
|
||||
3413,10080310,"ウルク・ハイ上位種"
|
||||
3421,10230101,"ホムンクルス"
|
||||
3422,10150301,"氷ワイバーン"
|
||||
3423,10140310,"氷ハーピー上位種"
|
||||
4301,10050301,"ディノサウロイド"
|
||||
4302,10060201,"デス・トルーパー"
|
||||
4303,10070101,"チーフコボルド"
|
||||
4304,10080201,"オークウォリアー"
|
||||
4305,10050401,"ベイン・オーバーリザード"
|
||||
4401,10090200,"コロッサス"
|
||||
4402,10230101,"ホムンクルス"
|
||||
4403,10000101,"重装守護騎士"
|
||||
4404,10070201,"コボルド・バトラー"
|
||||
4405,10120000,"レッサーデーモン"
|
||||
5101,10010301,"フーピー・ドラゴン"
|
||||
5102,10050201,"リザードフォーク"
|
||||
5103,10060101,"カーズ・スカル"
|
||||
5104,10080301,"オークフォルテ"
|
||||
5105,10090500,"キャノンドール"
|
||||
5106,10230000,"ルーンナイト"
|
||||
5107,10530101,"バッドトリップ"
|
||||
5201,10070301,"コボルド・ワンダラー"
|
||||
5202,10030301,"レイス・オブ・オーメン"
|
||||
5203,10140100,"バイオレットフェザー"
|
||||
5204,10500301,"セイクリッド・ボア"
|
||||
5205,10260100,"モノケロス"
|
||||
5206,10130200,"ダブルブラッド"
|
||||
5207,10090301,"フロストスタチュー"
|
||||
|
193
titles/sao/data/1/EnemyKind.csv
Normal file
193
titles/sao/data/1/EnemyKind.csv
Normal file
@@ -0,0 +1,193 @@
|
||||
// EnemyKindId,EnemyCategoryId,Name,IconFilepath,WeakPhysicsAttr,WeakMagicAttr,WeakText,ResistText,FlavorText,CollectionDisplayStartDate,CollectionEmptyFrameDisplayFlag
|
||||
15010000,8,"ファフニール","MONS_15010000",0,2,"水・土","火","巨大な飛竜。名称から≪ALO≫<br>由来の個体と推測される。突進<br>攻撃と口から吐き出す火球に注<br>意が必要。","2019/01/01",True
|
||||
15010100,8,"ヴィゾーヴニル","MONS_15010100",0,5,"土・聖",,"≪ファフニール≫の同系統種。<br>やや小型だが攻撃力は高くなっ<br>ており、闇属性の攻撃を行う。<br>尾部が弱点。","2019/01/01",True
|
||||
15010200,8,"クン・リンドルム","MONS_15010200",0,4,"土","火","≪竜王≫の名を冠し、同系統種<br>の中でも非常に強力な個体。火<br>球による飽和攻撃を行うため、<br>属性対策を強く推奨。","2019/01/01",True
|
||||
15020000,6,"ヒルディスヴィーニ","MONS_15020000",0,2,"水","斬・突・土","巨大な拳で周囲を破壊する個<br>体。怒り状態に行う回転攻撃は<br>非常に危険なため、防御を行う<br>ことを推奨。","2019/01/01",True
|
||||
15020100,6,"グリンブルスティ","MONS_15020100",0,6,"闇","斬・突・土","≪ヒルディスヴィー二≫の同系<br>統種と同定。土属性の強力な攻<br>撃を行うため属性対策を推奨。","2019/01/01",True
|
||||
15020200,6,"アウドムラ","MONS_15020200",0,5,"聖","斬・突・火・土","同系統他種に比べ、各種能力が<br>高くなっている。耐久力が非常<br>に高く、斬・突攻撃への耐性も<br>持つため対策を強く推奨。","2019/01/01",True
|
||||
15040000,6,"オーディン","MONS_15040000",0,6,"闇","聖","北欧神話最高神の名を冠する個<br>体。その名に違わず非常に危険<br>度が高い。聖属性攻撃への対策<br>を推奨。","2019/01/01",True
|
||||
15040100,6,"ジークフリート","MONS_15040100",0,2,"水","火","北欧神話の著名な英雄の名を冠<br>する個体。その名に恥じぬ高い<br>攻撃力と豊富な技を併せ持つ。<br>行動の見極めが非常に重要。","2019/01/01",True
|
||||
15040200,6,"ロキ","MONS_15040200",0,5,"聖",,"北欧神の名を冠する個体。状態<br>異常攻撃のほか、特定条件下で<br>は分身を生み出す。本体を見抜<br>き、集中的に狙うことを推奨。","2019/01/01",True
|
||||
15040300,6,"フリュム","MONS_15040300",0,5,"聖",,"大きな鎌を持った死神の姿をも<br>つ個体。大鎌を使い遠近多様な<br>攻撃を行う。また、Mobを召喚<br>するという情報もある。","2019/01/01",True
|
||||
15040400,6,"バルドル","MONS_15040400",0,6,"闇",,"北欧神の名を冠するため≪ALO<br>≫由来の個体と推測される。槍<br>による激しい攻撃が特徴。聖属<br>性への対策も推奨。","2019/01/01",True
|
||||
15040500,6,"フルングニル","MONS_15040500",0,6,"闇",,"≪ドルグスラシル≫の同系統種<br>と同定。強力な混乱・封印の状<br>態異常攻撃を行ってくる一方、<br>同状態異常への耐性は低い。","2019/01/01",True
|
||||
15040600,6,"ヴァーリ","MONS_15040600",0,5,"聖",,"≪バルドル≫と同系統種の個<br>体。闇属性への対策を推奨。<br>怒り状態となった後の痛烈な攻<br>撃には要注意。","2019/01/01",True
|
||||
15040700,6,"ジークムント","MONS_15040700",0,2,"水",,"二対の腕と大斧。広い攻撃範囲<br>と高い攻撃力を持つ強力かつ危<br>険な個体。召喚したゴーレムとの<br>連携にも注意が必要。","2019/01/01",True
|
||||
15040800,6,"ベオウルフ","MONS_15040800",0,6,"闇",,"神話の王の名を冠する個体。<br>四本の剣による広い攻撃範囲を<br>持つため、不要な接近は控える<br>ことを推奨する。","2019/01/01",True
|
||||
15040900,6,"ドルグスラシル","MONS_15040900",0,5,"聖",,"異形の触手を携えた個体。近接<br>攻撃と魔法攻撃を状況に応じて<br>使い分ける。","2019/01/01",True
|
||||
15041000,6,"ミーミル","MONS_15041000",0,5,"聖","火・水","北欧神話の巨人の名を持つ個<br>体。基本能力の向上に加え、召<br>喚するMobも非常に強力。迅速<br>な対処が必要。","2019/01/01",True
|
||||
15041100,6,"ベルゲルミル","MONS_15041100",0,1,"火","水","その名から、≪ALO≫由来の個<br>体と推測される。範囲の広い攻<br>撃に注意が必要。火属性が弱点<br>のため、対策を推奨。","2019/01/01",True
|
||||
15050000,3,"ヘル","MONS_15050000",3,0,"突・風・聖","斬・打・土","北欧神の名を冠する個体。同系<br>統他種に比べ、高い攻撃力と強<br>力な状態異常攻撃を持つ。特に<br>毒攻撃へは対策を強く推奨。","2019/01/01",True
|
||||
15050100,6,"スカジ","MONS_15050100",0,2,"水","火","機械人形のような姿の個体。近<br>接打撃、巨大な矢の射撃等、多<br>様な攻撃方法があるため動きの<br>見極めが重要と考えられる。","2019/01/01",True
|
||||
15050200,6,"ヤールンサクサ","MONS_15050200",0,2,"水","火・聖","女巨人の名を持つ≪スカジ≫同<br>系統種。一撃あたりの被ダメー<br>ジが大きいため、被弾を極力減<br>らすための立ち回りを推奨。","2019/01/01",True
|
||||
15050300,3,"ランドクリーズ","MONS_15050300",3,0,"突・火・風・聖","斬・打・土","蜂と人を掛け合わされた姿の個<br>体。尾部による刺突には状態異<br>常効果がある為、堅実な観察と<br>確実な防御を推奨する。","2019/01/01",True
|
||||
15050400,3,"ナンナ","MONS_15050400",3,0,"突・火・風","斬・打・土","≪ランドクリーズ≫の同系統種<br>と同定。毒攻撃が強力になって<br>おり非常に危険。","2019/01/01",True
|
||||
15050500,6,"アウルボダ","MONS_15050500",0,1,"火","水","≪スカジ≫系統種。基本能力の<br>向上と共に危険度も上昇。封印<br>・混乱等の状態異常攻撃を行う<br>ため、注意が必要。","2019/01/01",True
|
||||
15080000,5,"スィアチ","MONS_15080000",3,0,"突・火・風","土","巨大な蝙蝠を思わせる姿の個<br>体。翼を利用した攻撃や素早い<br>突進には注意が必要だが、攻撃<br>後には多少の隙ができる。","2019/01/01",True
|
||||
15080100,5,"フレースヴェルグ","MONS_15080100",3,0,"突・風","土","北欧神話の巨人の名を持つ個<br>体。≪スィアチ≫と比べ、各種<br>能力の向上が見られ、闘争志向<br>がより強くなっている。","2019/01/01",True
|
||||
15080200,5,"フィヨルズヴァルトニル","MONS_15080200",3,0,"突・風","水・土","≪スィアチ≫の同系統種と同<br>定。同系統他種と比して各種能<br>力が非常に高く、遠距離からの<br>攻撃を多用する傾向がある。","2019/01/01",True
|
||||
15090000,8,"ヨルムンガンド","MONS_15090000",0,2,"水・土","火・風","三つの頭を持つ大蛇。突進攻撃<br>のほか、尾、ブレスによる攻撃<br>も行う。突進攻撃は非常に速度<br>が速いため注意が必要。","2019/01/01",True
|
||||
15090100,8,"ニーズヘッグ","MONS_15090100",0,4,"土","火・風","≪ヨルムンガンド≫の同系統<br>種。頭部が弱点だが近接攻撃で<br>は届かない位置にあるため、倒<br>れさせてからの攻撃が有効。","2019/01/01",True
|
||||
15100000,8,"グレンデル","MONS_15100000",0,1,"火・土","水・風","四足歩行の獣または竜と思われ<br>る個体。名称から≪ALO≫由来<br>と推測される。周囲は危険なた<br>め距離の見極めが重要となる。","2019/01/01",True
|
||||
15100100,8,"ベルグリシ","MONS_15100100",0,2,"水・土","風","≪グレンデル≫系統種と同定。<br>土属性の攻撃を行うため、属性<br>対策を推奨する。頭部が弱点。","2019/01/01",True
|
||||
15100200,8,"ファールバウティ","MONS_15100200",0,2,"水・土","火・風","北欧の古語で≪無情に打つもの<br>≫を意味する個体。その名の通<br>り巨体による打撃が強力。炎攻<br>撃も行う非常に危険な存在。","2019/01/01",True
|
||||
15110000,8,"ラタトスク","MONS_15110000",0,1,"火・土・聖","水","四つ足の竜。突進およびブレス<br>による攻撃を主とする。突然行<br>われる突進に注意。","2019/01/01",True
|
||||
15110100,8,"リンドブルム","MONS_15110100",0,2,"水・土・闇","火","≪ラタトスク≫の同系統種と同<br>定。火属性の強力なブレスを行<br>うため注意が必要。水属性が弱<br>点との情報がある。","2019/01/01",True
|
||||
15140000,7,"チェルノボグ","MONS_15140000",0,5,"打・水・土・聖","火・風","髑髏が施された異形の戦車。時<br>折放たれる標的を狙った弾は状<br>態異常効果を持つため、退避を<br>強く推奨。","2019/01/01",True
|
||||
15140100,7,"アバドーン","MONS_15140100",0,5,"打・火・土・聖","水・風","≪チェルノボグ≫同系統種。遠<br>距離攻撃・近接攻撃ともにダメ<br>ージが大きく向上した、大変危<br>険な存在。","2019/01/01",True
|
||||
15150000,5,"ハティ","MONS_15150000",0,4,"火・土","風","猛獣に酷似した個体。素早い動<br>きと攻撃に加え、毒効果の付与<br>も行う。被弾が避けられない場<br>合に備え毒対策を推奨する。","2019/01/01",True
|
||||
15150100,5,"スコル","MONS_15150100",0,2,"水・土","火・風","赤く燃えるような毛並みを持つ<br>獣の個体。≪ハティ≫とは異な<br>り火属性攻撃を行うため、属性<br>対策を推奨する。","2019/01/01",True
|
||||
15170000,5,"ガングレト","MONS_15170000",3,0,"突・風","土","ヘルに従属する、巨大な怪鳥型<br>の個体。近接攻撃では弱点の頭<br>部に届かないため、地上に落と<br>すことを推奨。","2019/01/01",True
|
||||
15170100,5,"ガングラティ","MONS_15170100",3,0,"突・風","土","ヘルに従属する、巨大な怪鳥型<br>の個体。遠距離からの強力な攻<br>撃に加え、自己回復も行う。注<br>意しつつも迅速な対応を推奨。","2019/01/01",True
|
||||
15180000,5,"ジ・アンブレイカブル","MONS_15180000",0,4,"土・聖","水・風","亀に似た姿の個体。積極的な移<br>動は少ないが全方位に向けて激<br>しい攻撃を行う。防御力も非常<br>に高く長期戦への備えを推奨。","2019/01/01",True
|
||||
15180100,5,"ゴッズツローン","MONS_15180100",0,4,"土・闇","水・風・聖","≪ジ・アンブレイカブル≫の同<br>系統種と同定。主だった特徴は<br>同様となるが、超弩級の身体か<br>ら繰り出す攻撃は大変危険。","2019/01/01",True
|
||||
15200000,7,"カローン","MONS_15200000",0,5,"火・聖","斬・打・突","死神を模した姿を持つ個体。特<br>定条件において、炎攻撃を行う<br>ことが確認されている。","2019/01/01",True
|
||||
15200100,7,"デス","MONS_15200100",0,5,"火・聖","斬・打・突","死を意味する名を持つ個体。危<br>険度は非常に高い。大威力の鎌<br>と召喚するファントムへの警戒<br>を怠らぬことを強く推奨。","2019/01/01",True
|
||||
15212000,1,"ディアボロス","MONS_15212000",0,5,"水・聖",,"武装した魔人。両手の武器を用<br>いた格闘攻撃を行う。特定条件<br>下で鎧を外し、高速で攻撃を行<br>うようになるため注意が必要。","2019/01/01",True
|
||||
15212100,1,"サタナキア","MONS_15212100",0,2,"水","火","≪ディアボロス≫同系統種。全<br>身に炎を纏った魔人。特殊なバ<br>リアを操るほか、体力損耗時に<br>鎧を装着するなど防御に特化。","2019/01/01",True
|
||||
15220000,10,"パノプティコン","MONS_15220000",0,2,"水","火・聖","逆さにしたイースターエッグの<br>ような個体。周囲に現れる子機<br>を用い多種多様な攻撃を行う。","2019/01/01",True
|
||||
15220100,10,"プロビデンス","MONS_15220100",0,5,"水・聖",,"≪パノプティコン≫同系統種。<br>闇属性の攻撃を多用する。非常<br>に高い物理防御力を持つため、<br>魔法での攻撃を推奨。","2019/01/01",True
|
||||
15300000,2,"デトネイター・ザ・コボルドロード","MONS_15300000",0,2,"水・闇","火","≪SAO≫第一層ボス同系統種と<br>同定。行動パターンの一致性は<br>未確認だが強力かつ広範囲に及<br>ぶ攻撃は同様のため要注意。","2019/01/01",True
|
||||
15301000,2,"イルファング・ザ・コボルドロード","MONS_15301000",0,2,"水・闇",,"≪SAO≫第一層ボスと同種の個<br>体。広範囲への強力な攻撃には<br>同系統種同様警戒を推奨する。","2019/01/01",True
|
||||
15310000,7,"ホロウ・リーパー","MONS_15310000",0,5,"火・土・聖","突・風","≪スカルリーパー≫系統種。同<br>系統他種よりも腕の数が多く、<br>激しい攻撃を行う。一方で弱点<br>属性が多いので対策を推奨。","2019/01/01",True
|
||||
15311000,7,"スカルリーパー","MONS_15311000",0,1,"火","突・風","≪SAO事件≫の報告書に記され<br>たものに酷似した個体。多数を<br>巻き込む強力な一撃を持つ非常<br>に危険な存在。","2019/01/01",True
|
||||
15420000,4,"アメディスター・ザ・クイーン","MONS_15420000",0,1,"火・土","風","蠍と酷似した個体。広範囲に及<br>ぶ吐毒への警戒と対策を充分に<br>しての交戦を推奨する。","2019/01/01",True
|
||||
15430000,4,"アントクイーン","MONS_15430000",0,1,"打・火・土","突・風","極大化した蟻。諸特徴から女王<br>蟻と推測される。働き蟻の召喚<br>と囲い込みに注意。","2019/01/01",True
|
||||
15440000,4,"レイディアンスイーター","MONS_15440000",2,1,"打・火・土","風","巨大な蟻地獄を模した個体。地<br>面に潜伏することがあり、攻撃<br>を当てるのが難しい。流砂に足<br>をとられないよう注意が必要。","2019/01/01",True
|
||||
15450000,4,"ラーヴァクリーパー","MONS_15450000",2,1,"打・火・土","風","蜘蛛型の巨大個体。蜘蛛の巣を<br>放ち相手の行動を封じる特性が<br>ある。手下を呼び出すため早め<br>の対処を推奨。","2019/01/01",True
|
||||
15500000,2,"グリームアイズ","MONS_15500000",0,5,"斬・聖",,"過去≪SAO≫にて確認されてい<br>る非常に危険な個体。近距離・<br>遠距離ともに豊富な攻撃を行う<br>ため、常に警戒が必要。","2019/01/01",True
|
||||
15501000,2,"ガストアイズ","MONS_15501000",0,5,"斬・聖",,"≪グリームアイズ≫亜種。風系<br>統の強力な攻撃を持つほか、こ<br>ちらを衰弱させる状態異常攻撃<br>や回復能力を持つ危険な相手。","2019/01/01",True
|
||||
15510000,1,"スリュム","MONS_15510000",0,1,"斬・火・闇","水","常人の数倍はある巨躯をもつ個<br>体。近接、遠距離多様な攻撃方<br>法を持っているため、立ち回り<br>には細心の注意が必要。","2019/01/01",True
|
||||
15520000,7,"カガチ・ザ・サムライロード","MONS_15520000",0,6,"闇",,"鎧に身を包んだ個体。左腕の蛇<br>による遠距離攻撃があり、遠近<br>共に警戒すべき相手。体力を損<br>耗すると二刀流に変化する。","2019/01/01",True
|
||||
15521000,7,"ロン・ザ・ショーグングレイス","MONS_15521000",0,0,,"斬・打・突","≪カガチ・ザ・サムライ<br>ロード≫系統種。左腕の蛇が竜<br>に進化を遂げ、更なる火力を誇<br>る。カウンター攻撃に要警戒。","2019/01/01",True
|
||||
15530000,5,"ゴッズペット","MONS_15530000",0,2,"水","火","非常に危険な≪GGO≫由来の個<br>体。不要な接近は避け、<br>レーザーの直撃を受けないよう<br>立ち回ることを推奨。","2019/01/01",True
|
||||
15540000,10,"COPY DATA==4B9","MONS_15540000",0,0,,,"《ラフィン・コフィン》の一員<br>のコピーデータ。片手剣を用い<br>て戦う。その残忍さは健在であ<br>るため十分な警戒を推奨。","2019/01/01",True
|
||||
15541000,10,"COPY DATA==F96","MONS_15541000",0,0,,,"《ラフィン・コフィン》の一員<br>のコピーデータ。細剣を用いて<br>戦う。純粋な戦闘力だけを見て<br>も危険な相手。","2019/01/01",True
|
||||
15542000,10,"COPY DATA==444","MONS_15542000",0,0,,,"《ラフィン・コフィン》の一員<br>のコピーデータ。短剣を用いて<br>戦う。どんな卑劣な手を使おう<br>と標的の殺害を遂行する。","2019/01/01",True
|
||||
15550000,6,"背教者ニコラス","MONS_15550000",0,1,"火","水","奇抜な服装に身を包んだ巨大<br>モンスター。斧だけでなく、袋<br>による殴打やプレゼントによる<br>トリッキーな攻撃も行う。","2019/01/01",True
|
||||
15560000,10,"スピリット・ザ・グースロード","MONS_15560000",0,1,"火・土","水","≪SAO≫においては湖の主とし<br>て確認されているが、生息範囲<br>を海まで広げた模様。元は魚で<br>ある故か、火属性攻撃が苦手。","2019/01/01",True
|
||||
15570000,10,"FA-R D-496型","MONS_15570000",0,2,"水","斬・打・突・火・風・土・聖・闇","暴走した防衛装置。搭載された<br>AIが状況にあわせ装備を組み替<br>える。装甲は堅いが、オーバー<br>ヒート時に大きな隙が出来る。","2019/01/01",True
|
||||
15590000,7,"冥界王ハーデス","MONS_15590000",0,0,,,"弱点らしい弱点が無く、多様な<br>属性攻撃を使い分ける非常に危<br>険な相手。討伐は困難なため、<br>発見した際は迂回を推奨。","2019/01/01",True
|
||||
10580000,10,"COPY DATA==H69","MONS_10000000",1,4,"斬・土","打・風","≪ALO事件≫において違法研究を<br>行っていた研究員のアバターの<br>コピーデータ。生理的嫌悪を感じ<br>させる見た目をしている。","2019/01/01",True
|
||||
10590000,10,"EX200型ドローン","MONS_10590000",3,2,"突・水・風","土","FA-Rの統制下で掃討活動を行う<br>高性能防衛システムドローン。<br>戦闘AIを搭載しており単体での<br>活動も可能。","2019/01/01",True
|
||||
15511000,1,"スルト","MONS_15511000",0,2,"水","火","神話の中で世界を焼き尽くすと<br>予言されている巨人。炎を多彩<br>に操るほか、燃え盛る身体を持<br>ち触れる者を負傷させる。","2020/02/26 7:00:00",True
|
||||
15312000,7,"カースド・リーパー","MONS_15312000",0,4,"土",,"≪スカルリーパー≫系統種。身<br>体が非常に大きく、耐久力も高<br>い上、同系統種を召喚する危険<br>な相手。弱点の足が狙い目。","2020/06/23 7:00:00",True
|
||||
15030000,10,"ラーン","MONS_15030000",0,1,"火・土","斬・打・突・水","高速で水面を移動し、仲間を<br>生み出しながら戦う海神。花弁<br>に守られた人型の本体が弱点の<br>ため回復時などの隙が狙い目。","2020/08/25 7:00:00",True
|
||||
15160000,10,"フェアドレング","MONS_15160000",2,0,"打","斬・突","人々を抑制する特殊な精神体。<br>歩行せずテレポートにより移動<br>する。多数の腕から繰り出され<br>る多彩な攻撃に注意。","2020/11/03 7:00:00",True
|
||||
15131000,3,"ベルゼブブ","MONS_15131000",0,3,"風","火・土","地獄を統べる巨大な蟲の王。<br>多くの蟲を指揮し、一斉に攻撃<br>してくる。補佐官たるMobを<br>召喚すると攻撃属性が変わる。","2021/01/12 7:00:00",True
|
||||
15212200,1,"マモン","MONS_15212200",0,0,,,"人々の富と欲を纏った黄金の堕<br>天使。Mobを従えている間は<br>鎧で身を固めているが、鎧を脱<br>ぐと6属性の内どれかを纏う。","2021/03/09 7:00:00",True
|
||||
15502000,7,"テラーアイズ","MONS_15502000",0,5,"斬・聖",,"≪グリームアイズ≫亜種。怨霊<br>の集合体であり、半透明の間は<br>受けた攻撃がすり抜ける厄介な<br>相手。憎悪の剣は非常に強力。","2021/05/11 7:00:00",True
|
||||
10000000,1,"守護騎士","MONS_10000000",3,0,"打・突・闇","土","≪ALO≫初期のグランド・クエス<br>トに登場した個体と同定。その<br>戦闘力は脅威だが、記録と違い<br>無限に出現するわけではない。","2019/01/01",True
|
||||
10000100,1,"重装守護騎士","MONS_10000100",3,0,"打・突・闇","土","≪守護騎士≫上級種。当該系統種<br>は危険度が高く、特にこの重装守<br>護騎士は危険な種である。","2019/01/01",True
|
||||
10000200,1,"守護騎士・射手","MONS_10000200",3,0,"打・突・闇","土","遠方より攻撃を行う≪守護騎士≫<br>系統の個体。交戦する場合は絶え<br>ず移動を行うことを推奨する。","2019/01/01",True
|
||||
10000300,1,"守護騎士・狙撃手","MONS_10000300",3,0,"打・突・闇","土","≪守護騎士・射手≫の上級種。高<br>威力の射撃攻撃は大変危険なため<br>早急に仕留めることを推奨する。","2019/01/01",True
|
||||
10010000,8,"イビルグランサー","MONS_10010000",3,0,"突・風・聖","土","一つ目の小龍。さして脅威もなく<br>おそらくゲーム序盤のプレイヤー<br>へ向けた種と思われる。","2019/01/01",True
|
||||
10010100,8,"フライングテイル","MONS_10010100",3,0,"突・火・風","土","遠距離から攻撃を行う種だが、近<br>づいた際の引?きには毒効果があ<br>るため遠近共に注意が必要。","2019/01/01",True
|
||||
10010200,8,"ヴァイスグレア","MONS_10010200",3,0,"突・風・聖","土","主に遠距離攻撃を行う≪イビルグ<br>ランサー≫の変種。各種パラメー<br>タが強化されているため、軽率な<br>行為は禁物。","2019/01/01",True
|
||||
10010300,8,"フーピー・ドラゴン","MONS_10010300",3,0,"突・風・聖","土","≪イビルグランサー≫最上級種。<br>能力の高さもさることながら、引<br>?きに封印効果があるため、細心<br>の注意を以て対応にあたること。","2019/01/01",True
|
||||
10020000,8,"クアジット","MONS_10020000",3,0,"斬・突・火・風","打・土","ボールに羽根が生えたような形状<br>をした個体。好戦的だが弱く脅威<br>性は薄い。まれに風属性の遠距離<br>攻撃を行う個体が確認される。","2019/01/01",True
|
||||
10020100,8,"ドゥアジット","MONS_10020100",3,0,"斬・突・水・風","打・火・土","≪クアジット≫上級種。同系統種<br>は浮遊状態のため、戦闘には慣れ<br>が必要と思われる。まれに火属性<br>攻撃を行う個体が確認される。","2019/01/01",True
|
||||
10020200,8,"プチデビル","MONS_10020200",3,0,"斬・突・火・風","打・水・土","≪クアジット≫の変種と同定。距<br>離をとって攻撃を行うため他個体<br>と異なる戦術が必要。まれに水属<br>性攻撃を行う個体が確認される。","2019/01/01",True
|
||||
10020300,8,"スフィアドラコ","MONS_10020300",3,0,"斬・突・風・聖","打・土","≪クアジット≫希少種。必ず仕留<br>めることを推奨。まれに闇属性の<br>遠距離攻撃を行う個体が確認され<br>る。","2019/01/01",True
|
||||
10020400,8,"ボム・スフィア","MONS_10020400",3,0,"斬・突・水・風","打・火・土","標的に接近し自爆を行う極めて危<br>険な個体。発見次第処理するか、<br>爆発範囲外への避難を強く推奨。","2019/01/01",True
|
||||
10030000,4,"シルキー","MONS_10030000",3,0,"突・火・風","土","妖精の一種の名を冠する個体。周<br>囲に毒を散布するため、接近には<br>細心の注意を以てあたること。","2019/01/01",True
|
||||
10030100,4,"シルキー・ベイン","MONS_10030100",3,0,"突・火・風","土","≪シルキー≫の一種。混乱効果を<br>もつ鱗粉を散布するため、遠距離<br>よりの攻撃が望ましい。","2019/01/01",True
|
||||
10030200,4,"イビル・レイス","MONS_10030200",3,0,"突・火・風","土","≪シルキー≫上級種。接近時の毒<br>散布に加え、風属性の遠距離攻撃<br>を有する危険な個体。","2019/01/01",True
|
||||
10030300,4,"シルキー・ルーツ","MONS_10030300",3,0,"突・火・風","聖","≪シルキー≫最上級種にあたり、<br>封印効果をもつ鱗粉を放つ。まれ<br>に闇属性の遠距離攻撃を行うさら<br>に強力な個体が確認される。","2019/01/01",True
|
||||
10030400,4,"レイス・オブ・オーメン","MONS_10030400",3,0,"突・火・風","土","特定の条件が整った時のみ現れる<br>個体。遭遇自体がまれなため情報<br>は乏しく、現在調査継続中。","2019/01/01",True
|
||||
10040000,6,"キリング・ボット","MONS_10040000",3,0,"打・突・水・闇","土","近接特化型。この系統種は全て高<br>い攻撃力と守備力をもつため極め<br>て危険。下級種であっても油断は<br>禁物。","2019/01/01",True
|
||||
10040100,6,"ブッチャー・ボット","MONS_10040100",3,0,"打・突・水・聖","土","こちらとの距離を空けて行動を行<br>う個体。攻撃時は強烈な突進を行<br>う。行動をよく見極めての対応を<br>推奨する。","2019/01/01",True
|
||||
10040200,6,"グリーフ・ドール","MONS_10040200",3,0,"打・突・水・闇","土","≪キリング・ボット≫変種と同<br>定。各能力が大きく向上している<br>ためより危険な存在となってい<br>る。","2019/01/01",True
|
||||
10040300,6,"カラミティ・ドール","MONS_10040300",3,0,"打・突・水・聖","土","≪キリング・ボット≫希少種。行<br>動パターンは≪ブッチャー・ボッ<br>ト≫と酷似するが、全能力が向上<br>しているため大変危険な存在。","2019/01/01",True
|
||||
10040400,6,"ギロチン・メイデン","MONS_10040400",3,0,"打・突・聖","土","突出した戦闘能力を持つ個体。<br>攻撃力もさることながら、防御力<br>が極めて高いため正面からの力押<br>しは危険。","2021/09/21 7:00:00",True
|
||||
10050000,2,"リザードマン","MONS_10050000",0,4,"土・闇","水","俗に爬虫人類とも呼ばれる系統<br>種。道具を用いることから人類同<br>様の知性をもつと推測されるが、<br>意志の疎通は不可能。","2019/01/01",True
|
||||
10050100,2,"ハイアー・リザード","MONS_10050100",0,2,"水・土・闇","火","≪リザードマン≫上級種。異なる<br>体表以外の特筆事項はなし。","2019/01/01",True
|
||||
10050200,2,"リザードフォーク","MONS_10050200",0,5,"土・聖","火・水","≪リザードマン≫上級種。遠距離<br>より闇属性の攻撃を行う場合があ<br>る。","2019/01/01",True
|
||||
10050300,2,"ディノサウロイド","MONS_10050300",0,5,"土・聖","火・水","同系統種の中でも大変強力な個<br>体。優れた能力に加え自己への攻<br>撃バフを行うため、防御力を高め<br>てからの対応を推奨する。","2019/01/01",True
|
||||
10050400,2,"ベイン・オーバーリザード","MONS_10050400",0,6,"闇","水","≪リザードマン≫の極めて珍しい<br>変種。混乱効果を持つブレスを行<br>うため、乱戦時は特に注意が必<br>要。","2019/01/01",True
|
||||
10060000,7,"スケルトン","MONS_10060000",2,0,"打・火・聖","突","遺骸がなんらかの意思をもち動き<br>出したもの。見た目ほどの危険は<br>ないため、平時通りの対処で問題<br>ない。","2019/01/01",True
|
||||
10060100,7,"カーズ・スカル","MONS_10060100",2,0,"打・火・聖","突","≪スケルトン≫の変種。基本能力<br>の向上に加え、行動パターンに若<br>干の変化が確認されている。","2019/01/01",True
|
||||
10060200,7,"デス・トルーパー","MONS_10060200",2,0,"打・火・聖","突","自身へのバフを行う個体。基本能<br>力も高いため、持久戦に持ち込ま<br>れる前の処理を推奨する。","2019/01/01",True
|
||||
10060300,7,"レヴェナント","MONS_10060300",2,0,"打・火・聖","突","≪スケルトン≫希少種。同系統種<br>内最強クラスと想定される。混乱<br>効果を持つ光を放つ他、自爆する<br>ため迅速な対応を強く推奨する。","2019/01/01",True
|
||||
10060400,7,"スカルノイド","MONS_10060400",2,0,"打・水","突・火","髑髏を模したアンドロイド。槍と<br>銃によって遠近共に対応した行動<br>を行う。自爆を行うため迅速な対<br>応を強く推奨する。","2019/01/01",True
|
||||
10060500,7,"スペクター","MONS_10060500",2,0,"打・聖","突","≪スケルトン≫希少種。闇属性の<br>魔法の他、多彩な攻撃を操る。<br>高い物理防御力を誇るが、弱点を<br>突ければ案外もろい。","2021/05/11 7:00:00",True
|
||||
10070000,2,"コボルド","MONS_10070000",2,0,"打・水・闇","突","様々な場所で遭遇する可能性があ<br>る≪コボルド≫系統種の基本的な<br>個体。効率的に対処するには打撃<br>による攻撃を推奨。","2019/01/01",True
|
||||
10070100,2,"チーフコボルド","MONS_10070100",2,0,"打・火・闇","突","≪コボルド≫変種。体表の色以外<br>に大きな違いは見当たらず。","2019/01/01",True
|
||||
10070200,2,"コボルド・バトラー","MONS_10070200",2,0,"打・水・聖","突","≪コボルド≫亜種。攻撃時に周囲<br>への衝撃波を伴うため、背後に位<br>置する場合でも攻撃への注意が必<br>要。","2019/01/01",True
|
||||
10070300,2,"コボルド・ワンダラー","MONS_10070300",2,0,"打・水・闇","突・火","攻撃時に炎を撒き散らす非常に危<br>険な存在。従来の≪コボルド≫と<br>は全く別の個体としての対応を強<br>く推奨。","2019/01/01",True
|
||||
10080000,2,"オーク","MONS_10080000",1,0,"斬・闇","打","豚のような顔をした、≪オーク≫<br>系統種のもっとも基本的な種とさ<br>れる個体。まれに投擲を行う個体<br>が確認される。","2019/01/01",True
|
||||
10080100,2,"オークダーティ","MONS_10080100",1,0,"斬・聖","打","≪オーク≫変種。体表色が異なり<br>基本能力も向上が見られる。まれ<br>に投擲を行う個体が確認される。","2019/01/01",True
|
||||
10080200,2,"オークウォリアー","MONS_10080200",1,0,"斬・聖","打","知性が高く、近接攻撃と投擲を使<br>い分ける≪オーク≫上級種。まれ<br>に自身へバフを行うものが確認さ<br>れる。","2019/01/01",True
|
||||
10080300,2,"オークフォルテ","MONS_10080300",1,0,"斬・闇","打","≪オーク≫希少種とされる。標的<br>より距離を空ける傾向が強く、平<br>時から自身へバフを行う。","2019/01/01",True
|
||||
10080400,2,"ビッグフット","MONS_10080400",1,0,"斬・火・闇","打・水","寒冷地で確認されるモンスター。<br>≪オーク≫系統種だが、並外れた<br>巨体を持ち、攻撃力・耐久力共に<br>突出している。","2021/12/21 7:00:00",True
|
||||
10090000,6,"ゴーレム","MONS_10090000",2,0,"打・水","斬・突","土や岩でできた自律式の人形。<br>斬・突攻撃への耐性が大変高いた<br>め、打撃または魔法での攻撃を推<br>奨する。","2019/01/01",True
|
||||
10090100,6,"グレートゴーレム","MONS_10090100",2,0,"打・水","斬・突","遠距離より岩の投擲を行う個体。<br>打撃による接近戦を強く推奨。","2019/01/01",True
|
||||
10090200,6,"コロッサス","MONS_10090200",2,0,"打・水","斬・突・火","≪ゴーレム≫系希少種と同定。範<br>囲攻撃や高速で突進を行うため、<br>危険度の高い個体。","2019/01/01",True
|
||||
10090300,6,"フロストスタチュー","MONS_10090300",2,0,"打・火","斬・突・水","氷で構成された≪ゴーレム≫。火<br>属性による攻撃が非常に有効。ま<br>れに氷塊を投擲するものが確認さ<br>れる。","2019/01/01",True
|
||||
10090400,6,"ホーリー・ロックドール","MONS_10090400",0,6,"打・闇","斬・突","聖なる力によって浄化を施された<br>≪ゴーレム≫。すべての能力が著<br>しく向上しており、まれに自己回<br>復を行う個体も確認される。","2019/01/01",True
|
||||
10090500,6,"キャノンドール","MONS_10090500",2,0,"打・水","斬・突・火","機械部品によって強化を施された<br>≪ゴーレム≫。腕の大砲による砲<br>撃は大変危険度が高いため、迅速<br>な排除を強く推奨する。","2019/01/01",True
|
||||
10091000,6,"ショコラ・ドール","MONS_10091000",2,0,"打・火","斬・突","チョコレートで作られた特別な<br>《ゴーレム》。恋する誰かの強い<br>想いで出来ており、討伐すると想<br>いが具現化されるとの噂がある。","2019/01/01",False
|
||||
10100000,4,"スコーピオ","MONS_10100000",2,0,"打・水・土","突・火・風","蠍に酷似した巨大生物。毒を<br>持った尾部には注意が必要だが、<br>側面への反応が鈍い。","2019/01/01",True
|
||||
10100100,4,"ブライトスティンガー","MONS_10100100",2,0,"打・火・土","突・風","≪スコーピオ≫変種。基本能力の<br>向上以上に尾部の攻撃に注意が必<br>要。毒のみならず封印、混乱効果<br>もあるため被弾は極力避けたい。","2019/01/01",True
|
||||
10100200,4,"デス・ストーカー","MONS_10100200",2,0,"打・火・土","突・風","非常に危険な個体。基本能力も大<br>変高く、また他の種と異なり側面<br>への反応が素早いため、警戒を怠<br>らぬよう注意すべし。","2019/01/01",True
|
||||
10100300,4,"ポイズンシューター","MONS_10100300",2,0,"打・水・土","突・火・風","≪スコーピオ≫を模した機械。遠<br>距離より銃撃を行う。接近時は尾<br>部の毒による攻撃に注意。","2019/01/01",True
|
||||
10120000,3,"レッサーデーモン","MONS_10120000",3,0,"突・風・聖","土","悪魔を模したような姿の系統種。<br>知性が高く、接近と離脱を使い分<br>けた行動を行う。","2019/01/01",True
|
||||
10120100,3,"デーモン","MONS_10120100",3,0,"突・風・聖","土","遠距離攻撃を行う個体。≪レッサ<br>ーデーモン≫よりも各能力も高い<br>ため、危険性が高い。","2019/01/01",True
|
||||
10120200,3,"アークデーモン","MONS_10120200",3,0,"突・風・聖","土","≪デーモン≫系希少種。遠距離攻<br>撃はないが攻撃力が高く、封印効<br>果を持つため注意すること。","2019/01/01",True
|
||||
10130000,5,"グリフォン","MONS_10130000",3,0,"突・風","土","複数の動物の特徴を有する獣。身<br>体が大きく耐久力が高いため、持<br>久戦になりやすい。","2019/01/01",True
|
||||
10130100,5,"デュオグリフォン","MONS_10130100",3,0,"突・風","土","≪グリフォン≫が狂暴化したも<br>の。突進攻撃に対象への混乱効果<br>があるため、注意すること。","2019/01/01",True
|
||||
10130200,5,"ダブルブラッド","MONS_10130200",3,0,"突・火・風","水・土","周囲に対して防御力のバフを行う<br>個体。可能な限り早く処理するこ<br>とを推奨する。","2019/01/01",True
|
||||
10130300,5,"ブライトグリフォン","MONS_10130300",0,6,"突・闇","土","周囲に対して回復を行う個体。長<br>期戦回避のため、率先して処理す<br>ることを強く推奨する。","2019/01/01",True
|
||||
10140000,3,"ハーピー","MONS_10140000",3,0,"突・火・風・闇","土","風属性の遠距離攻撃を行う、人と<br>鳥の間のような姿をした個体。","2019/01/01",True
|
||||
10140100,3,"バイオレットフェザー","MONS_10140100",3,0,"突・風・聖","土","闇属性の遠距離攻撃を行う≪ハー<br>ピー≫上級種。攻撃には封印の状<br>態異常効果があるため注意。","2019/01/01",True
|
||||
10140200,3,"ブレイズクイーン","MONS_10140200",3,0,"突・水・風","火・土","火属性の遠距離攻撃を行う個体。<br>大変狂暴かつ強力なため、火属性<br>に耐性のない編成で会敵すること<br>は極力避けることを推奨する。","2019/01/01",True
|
||||
10140300,3,"サイレーン","MONS_10140300",3,0,"突・火・風","水・土","水属性の遠距離攻撃を行う個体。<br>外見的特徴では氷だが、<br>≪UNKNOWN≫内では水属性の<br>扱いとなる。","2019/01/01",True
|
||||
10140400,3,"ザ・セイクリッドフェザー","MONS_10140400",0,6,"突・闇","土","聖属性の遠距離攻撃を行う個体。<br>また周囲に対して回復を行うた<br>め、率先して処理することを強く<br>推奨する。","2019/01/01",True
|
||||
10150000,8,"ワイバーン","MONS_10150000",3,0,"突・風","土","飛竜と呼ばれる存在に酷似した系<br>統種。風属性のブレスを行う。突<br>然繰り出される突進にも注意が必<br>要。","2019/01/01",True
|
||||
10150100,8,"ワイバーングロウル","MONS_10150100",3,0,"突・水・風","火","火属性のブレスを行う≪ワイバー<br>ン≫上級種。他系統種よりも遠距<br>離攻撃への偏りが確認されてい<br>る。","2019/01/01",True
|
||||
10150200,8,"デモリッシュドレイク","MONS_10150200",3,0,"突・風・聖","土","闇属性のブレスを行う個体。他系<br>統種よりも交戦的で、攻撃が激し<br>いことが確認されている。","2019/01/01",True
|
||||
10150300,8,"フロストドレイク","MONS_10150300",3,0,"突・火・風","水・土","水属性のブレスを行う個体。自身<br>への防御力バフを行うため、長期<br>戦への備えが必要と考えられる。","2019/01/01",True
|
||||
10150400,8,"ワイバーン・ルナライト","MONS_10150400",0,6,"突・闇","土","聖属性のブレスを行う≪ワイバー<br>ン≫最上級種。同ブレスには強力<br>な混乱効果があるため極力避ける<br>ことを強く推奨する。","2019/01/01",True
|
||||
10160000,4,"フライングサイズ","MONS_10160000",3,0,"突・火・風","土","昆虫類と爬虫類の特徴を併せ持っ<br>た外観を持つ系統種。この個体は<br>火属性ブレスを放つが自身も火属<br>性に弱いという特徴を持つ。","2019/01/01",True
|
||||
10160100,4,"ブラッディサイズ","MONS_10160100",3,0,"突・水・風","火・土","≪フライングサイズ≫上級種。こ<br>ちらの個体は水属性に弱いため、<br>編成時の顧慮を推奨する。","2019/01/01",True
|
||||
10160200,4,"デスサイズ","MONS_10160200",3,0,"突・火・風","水・土","≪フライングサイズ≫上級種。基<br>本能力が非常に高く、自身への防<br>御力バフも行う。またこの個体の<br>ブレスのみ水属性である。","2019/01/01",True
|
||||
10180000,7,"ブルースライム","MONS_10180000",1,0,"斬・土","打・水・風","最序盤から会敵することになる≪<br>スライム≫系統種で最も脅威の小<br>さい個体。この系統種に属するも<br>のは打属性攻撃への耐性が高い。","2019/01/01",True
|
||||
10180100,7,"ブラッドスライム","MONS_10180100",1,0,"斬・土","打・水・風","赤い≪スライム≫系統種。脅威は<br>変わらず小さいが、まれに毒効果<br>が表れるため注意が必要。","2019/01/01",True
|
||||
10180200,7,"ハニースライム","MONS_10180200",1,0,"斬・土・闇","打・水・風","攻撃は行わないが非常に素早い個<br>体。得られるスキル経験値が大き<br>いため、確実に倒しておきたい個<br>体。","2019/01/01",True
|
||||
10180300,7,"デモンブロブ","MONS_10180300",1,0,"斬・土","打・水・風","≪スライム≫変種。毒属性の遠距<br>離攻撃を行うため、離れていても<br>警戒を解かぬことを推奨する。","2019/01/01",True
|
||||
10190000,4,"ミミック","MONS_10190000",0,4,"火・土","斬・打・突・風","宝箱に擬態し、近寄ってきた獲物<br>を襲う。毒、封印、混乱の状態異<br>常攻撃をもつため、宝箱を探ると<br>きも油断は禁物。","2019/01/01",True
|
||||
10190100,4,"グリード","MONS_10190100",0,4,"水・土","斬・打・突・風","倒すと大量のフラグメントをドロ<br>ップする非常に貴重な個体。時間<br>経過で逃亡するため、最優先での<br>処理を強く推奨する。","2019/01/01",True
|
||||
10190300,4,"ブラックボックス","MONS_10190300",0,4,"水・土","斬・打・突・風","圧縮データがカーディナルにより<br>モンスター化してしまったもの。<br>討伐すると本来のデータをドロッ<br>プするため、要回収。","2020/07/14 7:00:00",False
|
||||
10230000,1,"ルーンナイト","MONS_10230000",2,0,"打・水・聖","突","人間に酷似した個体。対峙距離に<br>応じ行動を変化させる点から、高<br>い知性を持つものと推測される。","2019/01/01",True
|
||||
10230100,1,"ホムンクルス","MONS_10230100",2,0,"打・水・闇","突","≪ルーンナイト≫上級種。強く警<br>戒すべき対象のひとつ。使用する<br>魔法が強化されている。","2019/01/01",True
|
||||
10230200,1,"パイロナイト","MONS_10230200",2,0,"打・水・闇","突・火","≪ルーンナイト≫希少種。炎を撒<br>き散らして周囲を火の海に変える<br>危険な個体。頻繁に自身の防御力<br>にバフを行うため、守りも堅い。","2021/07/13 7:00:00",True
|
||||
10240000,4,"スカイクリーパー","MONS_10240000",3,0,"突・火・風","土","巨大な昆虫。大変高い耐久力をも<br>つが、危険は少ない。","2019/01/01",True
|
||||
10240100,4,"エア・ドレイク","MONS_10240100",3,0,"突・水・風","火・土","≪スカイクリーパー≫が狂暴化し<br>た個体。同系統種と比して激しい<br>攻撃と火属性の遠距離攻撃を行う<br>ため、非常に危険な存在。","2019/01/01",True
|
||||
10250000,7,"ファントム","MONS_10250000",0,5,"火・聖","斬・打・突","亡霊に酷似した外見をした個体。<br>主に火属性の遠距離攻撃を行い、<br>接近時は鎌で切りつけを行う。","2019/01/01",True
|
||||
10250100,7,"ワイト","MONS_10250100",0,5,"火・聖","斬・打・突","希少種。攻撃方法は近接のみとな<br>るが、毒、封印、混乱の効果を持<br>つ危険な存在。混戦時は特に優先<br>して処理することを推奨する。","2019/01/01",True
|
||||
10250300,7,"ゴースト","MONS_10250300",0,1,"火","斬・打・突","≪ファントム≫の亜種。常時身体<br>が透けており、こちらの攻撃を<br>すり抜ける。攻撃時に実体化する<br>ため、そこを狙うことを推奨。","2021/05/11 7:00:00",True
|
||||
10260000,5,"ホーンビースト","MONS_10260000",0,2,"水・土","火・風","角の生えた獅子のような外観の系<br>統種。攻撃力、耐久力共に高く危<br>険な存在。多彩な攻撃に注意。","2019/01/01",True
|
||||
10260100,5,"モノケロス","MONS_10260100",0,2,"水・土","火・風","希少種。≪ホーンビースト≫を凌<br>駕する能力を持つため非常に危<br>険。細心の注意をもって対応にあ<br>たることを強く推奨する。","2019/01/01",True
|
||||
10260200,5,"アクアロア","MONS_10260200",0,1,"火・土","水・風","氷を用いた攻撃を行う≪ホーンビ<br>ースト≫亜種。弱点である火属性<br>の攻撃を用い、迅速な処理を行う<br>ことを推奨する。","2019/01/01",True
|
||||
10260300,5,"ホーリービースト","MONS_10260300",0,6,"闇","風","聖属性による攻撃を行う≪ホーン<br>ビースト≫亜種。自己回復を行う<br>ため他に比して耐久力が高い。闇<br>属性攻撃での対応を推奨する。","2019/01/01",True
|
||||
10270000,10,"フーア","MONS_10270000",1,0,"斬・突・土","打・水","序盤に会敵することになる個体の<br>一種。斬、突属性に非常に弱いた<br>め危険性はほぼ皆無と推定。","2019/01/01",True
|
||||
10270100,10,"ピアレイ","MONS_10270100",1,0,"斬・突・土","打・水","希少種。≪フーア≫同様危険性は<br>ほぼ皆無とされるが、水属性の遠<br>距離攻撃を行うことが確認され<br>る。","2019/01/01",True
|
||||
10280000,1,"ブッカブー","MONS_10280000",0,5,"聖",,"小人のような系統種。個別の能力<br>は低いがこちらにデバフを行うた<br>め、混戦時には注意が必要。","2019/01/01",True
|
||||
10280100,1,"ブッカドゥー","MONS_10280100",0,6,"闇",,"他モンスターの群れに紛れて現れ<br>周囲へ回復を行う煩わしい個体。<br>優先しての処理を推奨する。","2019/01/01",True
|
||||
10280200,1,"レッドフード","MONS_10280200",0,5,"聖",,"赤い頭巾が特徴的な個体。周囲の<br>モンスターの攻撃力を大幅に上げ<br>るバフを行う。放置すると非常に<br>危険なので注意されたし。","2021/09/21 7:00:00",True
|
||||
10500000,5,"フレンジー・ボア","MONS_10500000",0,4,"土","風","猪に酷似した個体。危険性は小さ<br>いが、突進攻撃には注意。土属性<br>攻撃での処理を推奨する。","2019/01/01",True
|
||||
10500100,5,"フューリー・ボア","MONS_10500100",0,2,"水・土","火・風","≪ボア≫系の亜種と同定。砂漠地<br>域に出現する頻度が高く、火に対<br>する耐性を持つ。水属性や土属性<br>での攻撃を推奨。","2019/01/01",True
|
||||
10500200,5,"ポーラー・ボア","MONS_10500200",0,1,"火・土","水・風","寒冷地に出現する。寒冷地に適し<br>た種としては小さいが、高い耐久<br>力を持つ。","2019/01/01",True
|
||||
10500300,5,"セイクリッド・ボア","MONS_10500300",0,6,"闇","風","神聖な土地から受けた気を纏う<br>≪ボア≫系亜種。突進中はこちら<br>の攻撃を受けても怯まないため、<br>対処には注意が必要。","2019/01/01",True
|
||||
10510000,9,"ガリッシュ・ガーベラ","MONS_10510000",1,0,"斬・火","突","人面に似た異容をもつ巨大な植<br>物。見た目ほどの危険性はない。<br>斬撃もしくは火属性攻撃が有効。","2019/01/01",True
|
||||
10510100,9,"ヴェノム・プラント","MONS_10510100",1,0,"斬・火","突","邪悪な力で強化され、毒を纏った<br>個体。攻撃が毒効果を持つため注<br>意が必要。","2019/01/01",True
|
||||
10530000,9,"マッシュピープル","MONS_10530000",1,0,"斬・火","打","菌糸類に手足が生えた系統種。混<br>乱効果のある胞子を散布すること<br>があるため注意が必要。","2019/01/01",True
|
||||
10530100,9,"バッドトリップ","MONS_10530100",1,0,"斬・火","打","毒と混乱効果のある胞子を散布す<br>る煩わしい個体。戦況の悪化を招<br>く恐れがあるため、早めの対処を<br>推奨。","2019/01/01",True
|
||||
10530200,9,"メディックマッシュルーム","MONS_10530200",1,0,"斬・火","打","胞子を散布し、周囲へ回復を行う<br>煩わしい個体。優先しての処理を<br>推奨する。","2019/01/01",True
|
||||
10540000,4,"シザース","MONS_10540000",2,0,"打・土","突・水・風","蟹に酷似した姿をもつ個体。個々<br>の危険性は低いが耐久性が高く長<br>期戦になる恐れあり。この系統種<br>には打属性での攻撃を推奨する。","2019/01/01",True
|
||||
10540100,4,"スパウター・シザース","MONS_10540100",2,0,"打・土","突・水・風","水属性の遠距離攻撃を行う個体。<br>接近しての打撃または土属性魔法<br>を推奨する。","2019/01/01",True
|
||||
10540200,4,"ランドクローラー","MONS_10540200",2,0,"打・水・土","突・火・風","砂漠地域に出現する頻度の高い個<br>体。水属性の攻撃を推奨する。","2019/01/01",True
|
||||
10540300,4,"バッファークラブ","MONS_10540300",2,0,"打・火・土","突・水・風","自身の防御力へのバフを行う個<br>体。弱点である打、火、土属性で<br>の攻撃を強く推奨する。","2019/01/01",True
|
||||
10550000,4,"ダイノアント","MONS_10550000",2,0,"打・火・土","突・風","≪UNKNOWN≫任務遂行の予行に<br>適した、極めて危険性の低い個<br>体。群れを成していることが多<br>く、囲まれないよう注意が必要。","2019/01/01",True
|
||||
10560100,4,"ソルジャーダイノアント","MONS_10560100",2,0,"打・火・土","突・風","≪ダイノアント≫上級種だが、危<br>険性は同様に低い。打撃や火属<br>性、土属性攻撃など弱点が多い。","2019/01/01",True
|
||||
32900,10,"宝箱","MONS_32900",0,0,,,"未設定","2030/01/01",False
|
||||
|
91
titles/sao/data/1/EnemySet.csv
Normal file
91
titles/sao/data/1/EnemySet.csv
Normal file
@@ -0,0 +1,91 @@
|
||||
// EnemySetId,EnemySetSubId,EnemyId,EnemyNum
|
||||
101,1101,1101,8
|
||||
102,1102,1102,8
|
||||
103,1103,1103,8
|
||||
104,1104,1104,8
|
||||
105,1105,1105,8
|
||||
106,1106,1106,12
|
||||
107,1107,1107,8
|
||||
108,1108,1108,10
|
||||
109,1201,1201,3
|
||||
110,1202,1202,3
|
||||
111,1203,1203,3
|
||||
112,1204,1204,2
|
||||
113,1205,1205,6
|
||||
114,1206,1206,2
|
||||
115,1207,1207,2
|
||||
116,1208,1208,1
|
||||
117,1191,1191,8
|
||||
118,1192,1192,8
|
||||
119,1193,1193,8
|
||||
120,1194,1194,6
|
||||
201,2301,2301,3
|
||||
202,2302,2302,3
|
||||
203,2303,2303,2
|
||||
204,2304,2304,3
|
||||
205,2305,2305,2
|
||||
206,2401,2401,2
|
||||
207,2402,2402,2
|
||||
208,2403,2403,2
|
||||
209,2404,2404,2
|
||||
210,2405,2405,4
|
||||
211,2391,2391,8
|
||||
212,2392,2392,8
|
||||
301,3101,3101,10
|
||||
302,3102,3102,2
|
||||
303,3111,3111,6
|
||||
304,3112,3112,1
|
||||
305,3121,3121,4
|
||||
306,3122,3122,1
|
||||
307,3131,3131,6
|
||||
308,3132,3132,1
|
||||
309,3141,3141,8
|
||||
310,3142,3142,2
|
||||
311,3201,3201,6
|
||||
312,3202,3202,1
|
||||
313,3211,3211,6
|
||||
314,3212,3212,1
|
||||
315,3221,3221,6
|
||||
316,3222,3222,1
|
||||
317,3301,3301,8
|
||||
318,3302,3302,1
|
||||
319,3303,3303,1
|
||||
320,3311,3311,6
|
||||
321,3312,3312,1
|
||||
322,3313,3313,1
|
||||
323,3321,3321,4
|
||||
324,3322,3322,1
|
||||
325,3323,3323,1
|
||||
326,3401,3401,3
|
||||
327,3402,3402,1
|
||||
328,3403,3403,2
|
||||
329,3411,3411,3
|
||||
330,3412,3412,2
|
||||
331,3413,3413,2
|
||||
332,3421,3421,6
|
||||
333,3422,3422,1
|
||||
334,3423,3423,2
|
||||
401,4301,4301,9
|
||||
402,4302,4302,7
|
||||
403,4303,4303,7
|
||||
404,4304,4304,7
|
||||
405,4305,4305,7
|
||||
406,4401,4401,5
|
||||
407,4402,4402,11
|
||||
408,4403,4403,9
|
||||
409,4404,4404,9
|
||||
410,4405,4405,5
|
||||
501,5101,5101,6
|
||||
502,5102,5102,5
|
||||
503,5103,5102,5
|
||||
504,5104,5104,4
|
||||
505,5105,5105,2
|
||||
506,5106,5106,3
|
||||
507,5107,5107,8
|
||||
508,5201,5201,5
|
||||
509,5202,5202,4
|
||||
510,5203,5203,4
|
||||
511,5204,5204,1
|
||||
512,5205,5205,2
|
||||
513,5206,5206,2
|
||||
514,5207,5207,2
|
||||
|
92
titles/sao/data/1/Episode.csv
Normal file
92
titles/sao/data/1/Episode.csv
Normal file
@@ -0,0 +1,92 @@
|
||||
// EpisodeId,EpisodeChapterId,ReleaseEpisodeId,EpisodeNum,Title,CommentSummary,CommentIntroduction,RecommendLv,ExBonusTableSubId,QuestSceneId,StartAdvName,EndAdvName,UnlockStillId,RequiredReleaseEpisodeAppendId,RequiredReleaseEpisodeAppendNum,ReleaseRewardVp
|
||||
10001,10001,0,1,"Unknown","VRMMOの世界を手軽に見られる筐体《ViSTer》","アクセスしてみようと起動させると、通信が入り…?",1,91001,1001,"CH01_01_ADV_01","CH01_01_ADV_02",101001,0,0,0
|
||||
10002,10001,10001,2,"混沌の世界","《ザ・シードネットワーク》内の謎の空間《Unknown》","キリトたちと協力し、この世界の調査が始まる",2,91002,1002,"CH01_02_ADV_01",,0,0,0,0
|
||||
10003,10001,10002,3,"誠忠の少女","懐かしさと違和感が共在する《Unknown》空間","用心しながら歩を進める一行を待ち受けていたものとは",3,91003,1003,"CH01_03_ADV_01","CH01_03_ADV_02",101002,0,0,0
|
||||
10004,10001,10003,4,"チャンク踏破へ","《Unknown》内で出会った謎の少女、リコ","彼女がもたらした情報により、調査に光明が差す",4,1004,1004,"CH01_04_ADV_01",,0,0,0,0
|
||||
10005,10001,10004,5,"探索の懐古談","リコは《Unknown》空間の案内人としても優秀だ","クエストNPCの彼女を見ていると、思い出すことがある",6,1005,1005,,"CH01_05_ADV_01",0,0,0,0
|
||||
10006,10001,10005,6,"世界樹の過去","世界樹はALOを象徴するオブジェクトと言えよう","しかし《Unknown》の世界樹はどこか違うようで…?",7,1006,1006,"CH01_06_ADV_01",,0,10001,1,0
|
||||
10007,10001,10006,7,"浮遊城の記録","《Unknown》の混沌ぶりには目を瞠るものがある","改めてSAOのフィールドを眺め、所感を述べ合う",8,1007,1007,,"CH01_07_ADV_01",0,10001,1,0
|
||||
10008,10001,10007,8,"荒野にて","GGOのフィールドに辿り着いた一行","この空間の不整合に戸惑いを覚える者もいて…",9,1008,1008,"CH01_08_ADV_01",,0,10001,1,0
|
||||
10009,10001,10008,9,"戦いの追憶","懐かしい地を巡ると思い出が蘇ってくるようだ","今度のフィールドはあの決戦の舞台によく似ている",10,1009,1009,,"CH01_09_ADV_01",0,10001,1,0
|
||||
10010,10001,10009,10,"旧グランド・クエスト","《Unknown》に再現された世界樹は過去のものらしい","妖精の少女は当時のグランド・クエストを振り返る",12,1010,1010,"CH01_10_ADV_01",,0,10001,1,0
|
||||
10011,10001,10010,11,"調査進捗","調査は順調なものの、手探りであることには変わりない","痺れを切らしたメンバーに、リコが新たな情報を告げる",13,1011,1011,"CH01_11_ADV_01",,0,10001,1,0
|
||||
10012,10001,10011,12,"氷の城","調査の進捗が明らかになり、歩みも軽い","新たなフィールドは年末の大冒険を思い出させる",14,1012,1012,"CH01_12_ADV_01",,0,10001,1,0
|
||||
10013,10001,10012,13,"青眼の戦慄","74層での戦いは、《SAO生還者》の間では有名だ","リコも興味を持ったようで、皆で当時のことを振り返る",15,1013,1013,"CH01_13_ADV_01",,0,10001,1,0
|
||||
10014,10001,10013,14,"リコの忠誠","リコからの忠義は、プレイヤーとNPC、という間柄では","留まりきらないものを感じる 何故なのだろうか",16,1014,1014,,"CH01_14_ADV_01",0,10001,1,0
|
||||
10015,10001,10014,15,"世界の姿","調査を繰り返すものの、未だ分からないことが多い","この調査は一体どこへ辿り着くのか…ふと思案する",20,1015,1015,"CH01_15_ADV_01",,0,10001,1,0
|
||||
10016,10001,10015,16,"まどろみの記憶","調査続きで疲れが溜まってきた一行","中でも責任感の強い彼女は現実でも大忙しで…",21,1016,1016,,"CH01_16_ADV_01",101003,10001,1,0
|
||||
10017,10001,10016,17,"次のチャンクへ","探索ももうかなりの数こなしてきたと話していると","リコが声をかけてくる 何やら話があるそうだ",22,1017,1017,,"CH01_17_ADV_01",0,10001,1,0
|
||||
10018,10001,10017,18,"チャンクキーパー","ついにチャンクの末端へ到達した","この戦いに勝利すれば、次のチャンクが起動するはずだ",25,1018,1018,"CH01_18_ADV_01","CH01_18_ADV_02",0,10001,1,0
|
||||
20001,10002,10018,1,"第二チャンク","続くチャンクの解析が完了し、初のダイブを行った一行","そこには、いつか歩んだ花畑が広がっていた",26,1019,1019,"CH02_01_ADV_01","CH02_01_ADV_02",102001,10001,1,0
|
||||
20002,10002,20001,2,"新たなる協力者","順調に調査を開始したメンバーが思い出話に花を","咲かせていると、ある意外な訪問者が現れて…?",27,1020,1020,"CH02_02_ADV_01",,0,10001,1,0
|
||||
20003,10002,20002,3,"親交の深まり","元々親交のあったメンバーと違い、後から加わった形の","リコとプレイヤーも、だいぶ馴染んできたと振り返る",28,1021,1021,,"CH02_03_ADV_01",0,10001,1,0
|
||||
20004,10002,20003,4,"情報収集","今日もゲームの思い出をにこやかに聞くリコ","そんな彼女を観察したところ、分かったことがあり…",29,1022,1022,"CH02_04_ADV_01",,0,10001,1,0
|
||||
20005,10002,20004,5,"氷城の悔恨","スリュムヘイムにて、当時のキャリバークエストに","参加できなかった面々が、口惜しさを吐露する",30,1023,1023,,"CH02_05_ADV_01",0,10001,1,0
|
||||
20006,10002,20005,6,"樹上に潜む者","圏内までもがフィールド化しているこの世界にも","すっかり慣れたと話していると、頭上から声がして…",31,1024,1024,"CH02_06_ADV_01",,0,10001,1,0
|
||||
20007,10002,20006,7,"恋人の聖地","ロマンチックな光景が広がるフローリア","探索するメンバーも憧れのシチュエーションを話し合う",32,1025,1025,"CH02_07_ADV_01",,0,10001,1,0
|
||||
20008,10002,20007,8,"銃の街","新たに見付かったフィールドは馴染みの街だった","出会いを振り返ると、彼女は何かに気付いたようで…",33,1026,1026,"CH02_08_ADV_01",,0,10001,1,0
|
||||
20009,10002,20008,9,"世界の正体","この世界の正体が分かったかもしれない その仮説に","呼応するように、想定外の相手が襲い掛かってきて…",34,1027,1027,"CH02_09_ADV_01","CH02_09_ADV_02",102002,10001,1,0
|
||||
20010,10002,20009,10,"囚われの記憶","《Unknown》の元となったのは、記憶かもしれない","その記憶は、楽しい思い出ばかりでないと気付かされる",35,1028,1028,"CH02_10_ADV_01",,0,10001,1,0
|
||||
20011,10002,20010,11,"束の間の安寧","仮説が提唱されてから、気を抜けない状況が続く","そんな中、変わらず涼しい顔をしている者もおり…",36,1029,1029,,"CH02_11_ADV_01",0,10001,1,0
|
||||
20012,10002,20011,12,"沈黙の暗殺者","思い出と照らし合わせれば、予測も可能かもしれない","ここは、第3回BoBの特設フィールドだったはずだ",37,1030,1030,"CH02_12_ADV_01","CH02_12_ADV_02",102003,10001,1,0
|
||||
20013,10002,20012,13,"調査意志","異常な状況が続き、緊張感が高まっていく一行","改めてこの調査への意志を確認し合う",38,1031,1031,,"CH02_13_ADV_01",0,10001,1,0
|
||||
20014,10002,20013,14,"チャンクキーパー2","今回のチャンクも末端まで到達出来たようだ","次のチャンクでは、一体何が待ち受けているだろうか",39,1032,1032,"CH02_14_ADV_01","CH02_14_ADV_02",0,10001,1,0
|
||||
30001,10003,0,1,"第三チャンク","―","―",0,0,0,"CH03_01_ADV_01",,0,10001,1,50
|
||||
30002,10003,0,2,"温もりの思い出","―","―",0,0,0,"CH03_02_ADV_01",,103001,10001,1,50
|
||||
30003,10003,0,3,"忘れがたき襲撃者","―","―",0,0,0,"CH03_03_ADV_01",,0,10001,1,50
|
||||
30004,10003,0,4,"AIの心緒","―","―",0,0,0,"CH03_04_ADV_01",,0,10001,1,50
|
||||
30005,10003,0,5,"深雪の聖夜","―","―",0,0,0,"CH03_05_ADV_01",,0,10001,1,50
|
||||
30006,10003,0,6,"信頼の学び","―","―",0,0,0,"CH03_06_ADV_01",,0,10001,1,50
|
||||
30007,10003,0,7,"意図","―","―",0,0,0,"CH03_07_ADV_01",,0,10001,1,50
|
||||
30008,10003,0,8,"Unknownの亡霊","―","―",0,0,0,"CH03_08_ADV_01",,0,10001,1,50
|
||||
30009,10003,0,9,"惑える迷い子","―","―",0,0,0,"CH03_09_ADV_01",,0,10001,1,50
|
||||
30010,10003,0,10,"失踪","―","―",0,0,0,"CH03_10_ADV_01",,0,10001,1,50
|
||||
30011,10003,0,11,"切言と氷解","―","―",0,0,0,"CH03_11_ADV_01",,0,10001,1,50
|
||||
30012,10003,0,12,"追憶の甘味","―","―",0,0,0,"CH03_12_ADV_01",,103002,10001,1,50
|
||||
30013,10003,0,13,"風切る両輪","―","―",0,0,0,"CH03_13_ADV_01",,0,10001,1,50
|
||||
30014,10003,0,14,"見栄と配慮","―","―",0,0,0,"CH03_14_ADV_01",,0,10001,1,50
|
||||
30015,10003,0,15,"砂浜の戯れ","―","―",0,0,0,"CH03_15_ADV_01",,103003,10001,1,50
|
||||
30016,10003,0,16,"共にある幸福","―","―",0,0,0,"CH03_16_ADV_01",,0,10001,1,50
|
||||
30017,10003,0,17,"チャンクキーパー3","―","―",0,0,0,"CH03_17_ADV_01",,0,10001,1,50
|
||||
40001,10004,0,1,"荒野の分身","―","―",0,0,0,"CH04_01_ADV_01",,104001,10001,1,50
|
||||
40002,10004,0,2,"夢遊の迷い子","―","―",0,0,0,"CH04_02_ADV_01",,0,10001,1,50
|
||||
40003,10004,0,3,"虚脱の発端","―","―",0,0,0,"CH04_03_ADV_01",,0,10001,1,50
|
||||
40004,10004,0,4,"巷の被害","―","―",0,0,0,"CH04_04_ADV_01",,0,10001,1,50
|
||||
40005,10004,0,5,"浜辺の想い出","―","―",0,0,0,"CH04_05_ADV_01",,0,10001,1,50
|
||||
40006,10004,0,6,"運命の馴れ初め","―","―",0,0,0,"CH04_06_ADV_01",,0,10001,1,50
|
||||
40007,10004,0,7,"リコの覚醒","―","―",0,0,0,"CH04_07_ADV_01",,0,10001,1,50
|
||||
40008,10004,0,8,"疑念の身状","―","―",0,0,0,"CH04_08_ADV_01",,0,10001,1,50
|
||||
40009,10004,0,9,"コンフリクト","―","―",0,0,0,"CH04_09_ADV_01",,0,10001,1,50
|
||||
40010,10004,0,10,"不正アクセス","―","―",0,0,0,"CH04_10_ADV_01",,0,10001,1,50
|
||||
40011,10004,0,11,"マスター","―","―",0,0,0,"CH04_11_ADV_01",,0,10001,1,50
|
||||
40012,10004,0,12,"リコの正体","―","―",0,0,0,"CH04_12_ADV_01",,0,10001,1,50
|
||||
40013,10004,0,13,"黒幕の所業","―","―",0,0,0,"CH04_13_ADV_01",,0,10001,1,50
|
||||
40014,10004,0,14,"リコ救出作戦1","―","―",0,0,0,"CH04_14_ADV_01",,0,10001,1,50
|
||||
40015,10004,0,15,"ユイの想い","―","―",0,0,0,"CH04_15_ADV_01",,104002,10001,1,50
|
||||
40016,10004,0,16,"リコ救出作戦2","―","―",0,0,0,"CH04_16_ADV_01",,0,10001,1,50
|
||||
40017,10004,0,17,"敵意の顕現","―","―",0,0,0,"CH04_17_ADV_01",,104003,10001,1,50
|
||||
40018,10004,0,18,"新たな主","―","―",0,0,0,"CH04_18_ADV_01",,0,10001,1,50
|
||||
40019,10004,0,19,"苦悩の胸奥","―","―",0,0,0,"CH04_19_ADV_01",,0,10001,1,50
|
||||
40020,10004,0,20,"自己犠牲","―","―",0,0,0,"CH04_20_ADV_01",,0,10001,1,50
|
||||
40021,10004,0,21,"作戦開始","―","―",0,0,0,"CH04_21_ADV_01",,0,10001,1,50
|
||||
40022,10004,0,22,"闖入者の置き土産","―","―",0,0,0,"CH04_22_ADV_01",,104004,10001,1,50
|
||||
40023,10004,0,23,"リコの願い","―","―",0,0,0,"CH04_23_ADV_01",,104005,10001,1,50
|
||||
50001,10005,0,1,"第五チャンク","―","―",0,0,0,"CH05_01_ADV_01",,0,10001,1,50
|
||||
50002,10005,0,2,"黒幕を名乗る者","―","―",0,0,0,"CH05_02_ADV_01",,0,10001,1,50
|
||||
50003,10005,0,3,"第一コンソール","―","―",0,0,0,"CH05_03_ADV_01",,0,10001,1,50
|
||||
50004,10005,0,4,"美味なる記憶","―","―",0,0,0,"CH05_04_ADV_01",,105001,10001,1,50
|
||||
50005,10005,0,5,"第二コンソール","―","―",0,0,0,"CH05_05_ADV_01",,0,10001,1,50
|
||||
50006,10005,0,6,"女性と黒猫","―","―",0,0,0,"CH05_06_ADV_01",,0,10001,1,50
|
||||
50007,10005,0,7,"掴んだ尻尾","―","―",0,0,0,"CH05_07_ADV_01",,0,10001,1,50
|
||||
50008,10005,0,8,"第三コンソール","―","―",0,0,0,"CH05_08_ADV_01",,0,10001,1,50
|
||||
50009,10005,0,9,"デュエルを経て","―","―",0,0,0,"CH05_09_ADV_01",,0,10001,1,50
|
||||
50010,10005,0,10,"ブリーゼの正体","―","―",0,0,0,"CH05_10_ADV_01",,105002,10001,1,50
|
||||
50011,10005,0,11,"逆転の一手","―","―",0,0,0,"CH05_11_ADV_01",,0,10001,1,50
|
||||
50012,10005,0,12,"全力でぶつかって","―","―",0,0,0,"CH05_12_ADV_01",,0,10001,1,50
|
||||
50013,10005,0,13,"星宮風音","―","―",0,0,0,"CH05_13_ADV_01",,0,10001,1,50
|
||||
50014,10005,0,14,"風音の望み","―","―",0,0,0,"CH05_14_ADV_01",,0,10001,1,50
|
||||
50015,10005,0,15,"黒猫の謀反","―","―",0,0,0,"CH05_15_ADV_01",,0,10001,1,50
|
||||
50016,10005,0,16,"対等な勝負","―","―",0,0,0,"CH05_16_ADV_01",,0,10001,1,50
|
||||
50017,10005,0,17,"決着","―","―",0,0,0,"CH05_17_ADV_01",,0,10001,1,50
|
||||
50018,10005,0,18,"AIの矜持","―","―",0,0,0,"CH05_18_ADV_01",,0,10001,1,50
|
||||
50019,10005,0,19,"新しき友人","―","―",0,0,0,"CH05_19_ADV_01",,105003,10001,1,50
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user