forked from Hay1tsme/artemis
Merge branch 'develop' into idac
This commit is contained in:
commit
76f724f84e
49
changelog.md
49
changelog.md
@ -1,11 +1,60 @@
|
||||
# Changelog
|
||||
Documenting updates to ARTEMiS, to be updated every time the master branch is pushed to.
|
||||
|
||||
## 20240811
|
||||
### System
|
||||
+ Change backend from Twisted to Starlette
|
||||
+ Implement async handlers
|
||||
+ Reboot times for multiple games have been fixed (thanks zaphkito!)
|
||||
|
||||
### Frontend
|
||||
+ Edit button changed to View on the user page, and is where you can edit the card memo
|
||||
+ Add card now works as it should
|
||||
+ Add event log viewer in the `sys` page for sysadmins
|
||||
+ Add pages for Pokken, SAO, and maimai
|
||||
|
||||
### AimeDB
|
||||
+ Now rejects all-zero access codes
|
||||
+ Stores card IDm (for AmusementIC) and MiFare ID (for old aime/banapass)
|
||||
+ ...unless that MiFare ID is 0x01020304 (the default for segatools)
|
||||
|
||||
### maimai
|
||||
+ Add support for BUDDiES
|
||||
+ Rivals and Favorite Music support
|
||||
|
||||
### Wacca
|
||||
+ Add option to block unregistered serials from accessing the title server
|
||||
|
||||
### DIVA
|
||||
+ Fix for reading modded content (Thanks ThatzOkay!)
|
||||
|
||||
### CHUNITHM
|
||||
+ Save net battle info
|
||||
|
||||
## 20240630
|
||||
### DIVA
|
||||
+ Added configurable festa options'
|
||||
|
||||
## 20240629
|
||||
### CHUNITHM
|
||||
+ Add team points
|
||||
|
||||
## 20240628
|
||||
### maimai
|
||||
+ Add present support
|
||||
|
||||
## 20240627
|
||||
### SAO
|
||||
+ Fix ghost items, character and player XP, EX Bonuses, unlocks, and much much more
|
||||
|
||||
## 20240620
|
||||
### CHUNITHM
|
||||
+ CHUNITHM LUMINOUS support
|
||||
|
||||
## 20240616
|
||||
### CHUNITHM
|
||||
+ Support network encryption for Export/International versions
|
||||
|
||||
### DIVA
|
||||
+ Working frontend with name and level strings edit and playlog
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
from core.config import CoreConfig
|
||||
from core.allnet import AllnetServlet, BillingServlet
|
||||
from core.aimedb import AimedbServlette
|
||||
from core.title import TitleServlet
|
||||
from core.utils import Utils
|
||||
from core.mucha import MuchaServlet
|
||||
from core.frontend import FrontendServlet
|
||||
|
@ -2,5 +2,5 @@ from .base import ADBBaseRequest, ADBBaseResponse, ADBHeader, ADBHeaderException
|
||||
from .base import CompanyCodes, ReaderFwVer, CMD_CODE_GOODBYE, HEADER_SIZE
|
||||
from .lookup import ADBLookupRequest, ADBLookupResponse, ADBLookupExResponse
|
||||
from .campaign import ADBCampaignClearRequest, ADBCampaignClearResponse, ADBCampaignResponse, ADBOldCampaignRequest, ADBOldCampaignResponse
|
||||
from .felica import ADBFelicaLookupRequest, ADBFelicaLookupResponse, ADBFelicaLookup2Request, ADBFelicaLookup2Response
|
||||
from .felica import ADBFelicaLookupRequest, ADBFelicaLookupResponse, ADBFelicaLookupExRequest, ADBFelicaLookupExResponse
|
||||
from .log import ADBLogExRequest, ADBLogRequest, ADBStatusLogRequest, ADBLogExResponse
|
||||
|
@ -120,7 +120,7 @@ class ADBHeader:
|
||||
if self.store_id == 0:
|
||||
raise ADBHeaderException(f"Store ID cannot be 0!")
|
||||
|
||||
if re.fullmatch(r"^A[0-9]{2}[E|X][0-9]{2}[A-HJ-NP-Z][0-9]{4}$", self.keychip_id) is None:
|
||||
if re.fullmatch(r"^A[0-9]{2}[A-Z][0-9]{2}[A-HJ-NP-Z][0-9]{4}$", self.keychip_id) is None:
|
||||
raise ADBHeaderException(f"Keychip ID {self.keychip_id} is invalid!")
|
||||
|
||||
return True
|
||||
|
@ -35,7 +35,7 @@ class ADBFelicaLookupResponse(ADBBaseResponse):
|
||||
|
||||
return self.head.make() + resp_struct
|
||||
|
||||
class ADBFelicaLookup2Request(ADBBaseRequest):
|
||||
class ADBFelicaLookupExRequest(ADBBaseRequest):
|
||||
def __init__(self, data: bytes) -> None:
|
||||
super().__init__(data)
|
||||
self.random = struct.unpack_from("<16s", data, 0x20)[0]
|
||||
@ -46,7 +46,7 @@ class ADBFelicaLookup2Request(ADBBaseRequest):
|
||||
self.company = CompanyCodes(int.from_bytes(company, 'little'))
|
||||
self.fw_ver = ReaderFwVer.from_byte(fw_ver)
|
||||
|
||||
class ADBFelicaLookup2Response(ADBBaseResponse):
|
||||
class ADBFelicaLookupExResponse(ADBBaseResponse):
|
||||
def __init__(self, user_id: Union[int, None] = None, access_code: Union[str, None] = None, game_id: str = "SXXX", store_id: int = 1, keychip_id: str = "A69E01A8888", code: int = 0x12, length: int = 0x130, status: int = 1) -> None:
|
||||
super().__init__(code, length, status, game_id, store_id, keychip_id)
|
||||
self.user_id = user_id if user_id is not None else -1
|
||||
@ -56,7 +56,7 @@ class ADBFelicaLookup2Response(ADBBaseResponse):
|
||||
self.auth_key = [0] * 256
|
||||
|
||||
@classmethod
|
||||
def from_req(cls, req: ADBHeader, user_id: Union[int, None] = None, access_code: Union[str, None] = None) -> "ADBFelicaLookup2Response":
|
||||
def from_req(cls, req: ADBHeader, user_id: Union[int, None] = None, access_code: Union[str, None] = None) -> "ADBFelicaLookupExResponse":
|
||||
c = cls(user_id, access_code, req.game_id, req.store_id, req.keychip_id)
|
||||
c.head.protocol_ver = req.protocol_ver
|
||||
return c
|
||||
|
@ -176,6 +176,12 @@ class AimedbServlette():
|
||||
|
||||
async def handle_lookup(self, data: bytes, resp_code: int) -> ADBBaseResponse:
|
||||
req = ADBLookupRequest(data)
|
||||
if req.access_code == "00000000000000000000":
|
||||
self.logger.warn(f"All-zero access code from {req.head.keychip_id}")
|
||||
ret = ADBLookupResponse.from_req(req.head, -1)
|
||||
ret.head.status = ADBStatus.BAN_SYS
|
||||
return ret
|
||||
|
||||
user_id = await self.data.card.get_user_id_from_card(req.access_code)
|
||||
is_banned = await self.data.card.get_card_banned(req.access_code)
|
||||
is_locked = await self.data.card.get_card_locked(req.access_code)
|
||||
@ -194,13 +200,19 @@ class AimedbServlette():
|
||||
|
||||
if user_id and user_id > 0:
|
||||
await self.data.card.update_card_last_login(req.access_code)
|
||||
if req.access_code.startswith("010") or req.access_code.startswith("3"):
|
||||
if (req.access_code.startswith("010") or req.access_code.startswith("3")) and req.serial_number != 0x04030201: # Default segatools sn
|
||||
await self.data.card.set_chip_id_by_access_code(req.access_code, req.serial_number)
|
||||
self.logger.info(f"Attempt to set chip id to {req.serial_number} for access code {req.access_code}")
|
||||
self.logger.info(f"Attempt to set chip id to {req.serial_number:08X} for access code {req.access_code}")
|
||||
return ret
|
||||
|
||||
async def handle_lookup_ex(self, data: bytes, resp_code: int) -> ADBBaseResponse:
|
||||
req = ADBLookupRequest(data)
|
||||
if req.access_code == "00000000000000000000":
|
||||
self.logger.warn(f"All-zero access code from {req.head.keychip_id}")
|
||||
ret = ADBLookupExResponse.from_req(req.head, -1)
|
||||
ret.head.status = ADBStatus.BAN_SYS
|
||||
return ret
|
||||
|
||||
user_id = await self.data.card.get_user_id_from_card(req.access_code)
|
||||
|
||||
is_banned = await self.data.card.get_card_banned(req.access_code)
|
||||
@ -240,18 +252,25 @@ class AimedbServlette():
|
||||
used on the big boy networks.
|
||||
"""
|
||||
req = ADBFelicaLookupRequest(data)
|
||||
card = await self.data.card.get_card_by_idm(req.idm)
|
||||
idm = req.idm.zfill(16)
|
||||
if idm == "0000000000000000":
|
||||
self.logger.warn(f"All-zero IDm from {req.head.keychip_id}")
|
||||
ret = ADBFelicaLookupResponse.from_req(req.head, "00000000000000000000")
|
||||
ret.head.status = ADBStatus.BAN_SYS
|
||||
return ret
|
||||
|
||||
card = await self.data.card.get_card_by_idm(idm)
|
||||
if not card:
|
||||
ac = self.data.card.to_access_code(req.idm)
|
||||
ac = self.data.card.to_access_code(idm)
|
||||
test = await self.data.card.get_card_by_access_code(ac)
|
||||
if test:
|
||||
await self.data.card.set_idm_by_access_code(ac, req.idm)
|
||||
await self.data.card.set_idm_by_access_code(ac, idm)
|
||||
|
||||
else:
|
||||
ac = card['access_code']
|
||||
|
||||
self.logger.info(
|
||||
f"idm {req.idm} ipm {req.pmm} -> access_code {ac}"
|
||||
f"idm {idm} ipm {req.pmm.zfill(16)} -> access_code {ac}"
|
||||
)
|
||||
return ADBFelicaLookupResponse.from_req(req.head, ac)
|
||||
|
||||
@ -261,6 +280,14 @@ class AimedbServlette():
|
||||
because we don't implement felica_lookup properly.
|
||||
"""
|
||||
req = ADBFelicaLookupRequest(data)
|
||||
idm = req.idm.zfill(16)
|
||||
|
||||
if idm == "0000000000000000":
|
||||
self.logger.warn(f"All-zero IDm from {req.head.keychip_id}")
|
||||
ret = ADBFelicaLookupResponse.from_req(req.head, "00000000000000000000")
|
||||
ret.head.status = ADBStatus.BAN_SYS
|
||||
return ret
|
||||
|
||||
ac = self.data.card.to_access_code(req.idm)
|
||||
|
||||
if self.config.server.allow_user_registration:
|
||||
@ -291,15 +318,23 @@ class AimedbServlette():
|
||||
return ADBFelicaLookupResponse.from_req(req.head, ac)
|
||||
|
||||
async def handle_felica_lookup_ex(self, data: bytes, resp_code: int) -> bytes:
|
||||
req = ADBFelicaLookup2Request(data)
|
||||
req = ADBFelicaLookupExRequest(data)
|
||||
user_id = None
|
||||
card = await self.data.card.get_card_by_idm(req.idm)
|
||||
idm = req.idm.zfill(16)
|
||||
|
||||
if idm == "0000000000000000":
|
||||
self.logger.warn(f"All-zero IDm from {req.head.keychip_id}")
|
||||
ret = ADBFelicaLookupExResponse.from_req(req.head, -1, "00000000000000000000")
|
||||
ret.head.status = ADBStatus.BAN_SYS
|
||||
return ret
|
||||
|
||||
card = await self.data.card.get_card_by_idm(idm)
|
||||
if not card:
|
||||
access_code = self.data.card.to_access_code(req.idm)
|
||||
access_code = self.data.card.to_access_code(idm)
|
||||
card = await self.data.card.get_card_by_access_code(access_code)
|
||||
if card:
|
||||
user_id = card['user']
|
||||
await self.data.card.set_idm_by_access_code(access_code, req.idm)
|
||||
await self.data.card.set_idm_by_access_code(access_code, idm)
|
||||
|
||||
else:
|
||||
user_id = card['user']
|
||||
@ -309,10 +344,10 @@ class AimedbServlette():
|
||||
user_id = -1
|
||||
|
||||
self.logger.info(
|
||||
f"idm {req.idm} ipm {req.pmm} -> access_code {access_code} user_id {user_id}"
|
||||
f"idm {idm} ipm {req.pmm} -> access_code {access_code} user_id {user_id}"
|
||||
)
|
||||
|
||||
resp = ADBFelicaLookup2Response.from_req(req.head, user_id, access_code)
|
||||
resp = ADBFelicaLookupExResponse.from_req(req.head, user_id, access_code)
|
||||
|
||||
if user_id > 0:
|
||||
if card['is_banned'] and card['is_locked']:
|
||||
@ -345,6 +380,12 @@ class AimedbServlette():
|
||||
async def handle_register(self, data: bytes, resp_code: int) -> bytes:
|
||||
req = ADBLookupRequest(data)
|
||||
user_id = -1
|
||||
|
||||
if req.access_code == "00000000000000000000":
|
||||
self.logger.warn(f"All-zero access code from {req.head.keychip_id}")
|
||||
ret = ADBLookupResponse.from_req(req.head, -1)
|
||||
ret.head.status = ADBStatus.BAN_SYS
|
||||
return ret
|
||||
|
||||
if self.config.server.allow_user_registration:
|
||||
user_id = await self.data.user.create_user()
|
||||
@ -370,7 +411,7 @@ class AimedbServlette():
|
||||
)
|
||||
|
||||
if user_id > 0:
|
||||
if req.access_code.startswith("010") or req.access_code.startswith("3"):
|
||||
if (req.access_code.startswith("010") or req.access_code.startswith("3")) and req.serial_number != 0x04030201: # Default segatools sn:
|
||||
await self.data.card.set_chip_id_by_access_code(req.access_code, req.serial_number)
|
||||
self.logger.info(f"Attempt to set chip id to {req.serial_number} for access code {req.access_code}")
|
||||
|
||||
|
@ -9,7 +9,8 @@ from starlette.responses import PlainTextResponse
|
||||
from os import environ, path, mkdir, W_OK, access
|
||||
from typing import List
|
||||
|
||||
from core import CoreConfig, TitleServlet, MuchaServlet, AllnetServlet, BillingServlet, AimedbServlette
|
||||
from core import CoreConfig, TitleServlet, MuchaServlet
|
||||
from core.allnet import AllnetServlet, BillingServlet
|
||||
from core.frontend import FrontendServlet
|
||||
|
||||
async def dummy_rt(request: Request):
|
||||
|
@ -1,16 +1,18 @@
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class MainboardPlatformCodes:
|
||||
RINGEDGE = "AALE"
|
||||
RINGWIDE = "AAML"
|
||||
NU = "AAVE"
|
||||
NUSX = "AAWE"
|
||||
ALLS_UX = "ACAE"
|
||||
ALLS_HX = "ACAX"
|
||||
class MainboardPlatformCodes(Enum):
|
||||
RINGEDGE = "AAL"
|
||||
RINGEDGE2 = "AAS"
|
||||
RINGWIDE = "AAM"
|
||||
NU = "AAV"
|
||||
NUSX = "AAW"
|
||||
ALLS = "ACA"
|
||||
#ALLS_UX = "ACAE"
|
||||
#ALLS_HX = "ACAX"
|
||||
|
||||
|
||||
class MainboardRevisions:
|
||||
class MainboardRevisions(Enum):
|
||||
RINGEDGE = 1
|
||||
RINGEDGE2 = 2
|
||||
|
||||
@ -29,11 +31,10 @@ class MainboardRevisions:
|
||||
ALLS_HX2 = 12
|
||||
|
||||
|
||||
class KeychipPlatformsCodes:
|
||||
RING = "A72E"
|
||||
NU = ("A60E", "A60E", "A60E")
|
||||
NUSX = ("A61X", "A69X")
|
||||
ALLS = "A63E"
|
||||
class KeychipPlatformsCodes(Enum):
|
||||
RING = "72"
|
||||
NU = ("60", "61", "69")
|
||||
ALLS = "63"
|
||||
|
||||
|
||||
class AllnetCountryCode(Enum):
|
||||
|
@ -35,9 +35,9 @@ def upgrade():
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_constraint(None, 'aime_card', type_='unique')
|
||||
op.drop_constraint(None, 'aime_card', type_='unique')
|
||||
op.drop_constraint(None, 'aime_card', type_='unique')
|
||||
op.drop_constraint("chip_id", 'aime_card', type_='unique')
|
||||
op.drop_constraint("idm", 'aime_card', type_='unique')
|
||||
op.drop_constraint("access_code", 'aime_card', type_='unique')
|
||||
op.alter_column('aime_card', 'created_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
|
41
core/data/alembic/versions/5ea363686347_mai2_presents.py
Normal file
41
core/data/alembic/versions/5ea363686347_mai2_presents.py
Normal file
@ -0,0 +1,41 @@
|
||||
"""mai2_presents
|
||||
|
||||
Revision ID: 5ea363686347
|
||||
Revises: 680789dabab3
|
||||
Create Date: 2024-06-28 14:49:07.666879
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '5ea363686347'
|
||||
down_revision = '680789dabab3'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table('mai2_item_present',
|
||||
sa.Column('id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('version', sa.INTEGER(), nullable=True),
|
||||
sa.Column('user', sa.Integer(), nullable=True),
|
||||
sa.Column('itemKind', sa.INTEGER(), nullable=False),
|
||||
sa.Column('itemId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('stock', sa.INTEGER(), server_default='1', nullable=False),
|
||||
sa.Column('startDate', sa.TIMESTAMP(), nullable=True),
|
||||
sa.Column('endDate', sa.TIMESTAMP(), nullable=True),
|
||||
sa.ForeignKeyConstraint(['user'], ['aime_user.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('version', 'user', 'itemKind', 'itemId', name='mai2_item_present_uk'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('mai2_item_present')
|
||||
# ### end Alembic commands ###
|
28
core/data/alembic/versions/5ea73f89d982_card_add_memo.py
Normal file
28
core/data/alembic/versions/5ea73f89d982_card_add_memo.py
Normal file
@ -0,0 +1,28 @@
|
||||
"""card_add_memo
|
||||
|
||||
Revision ID: 5ea73f89d982
|
||||
Revises: 745448d83696
|
||||
Create Date: 2024-07-06 22:46:56.992152
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '5ea73f89d982'
|
||||
down_revision = '745448d83696'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column('aime_card', sa.Column('memo', sa.VARCHAR(length=16), nullable=True))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column('aime_card', 'memo')
|
||||
# ### end Alembic commands ###
|
295
core/data/alembic/versions/680789dabab3_sao_player_changes.py
Normal file
295
core/data/alembic/versions/680789dabab3_sao_player_changes.py
Normal file
@ -0,0 +1,295 @@
|
||||
"""sao_player_changes
|
||||
|
||||
Revision ID: 680789dabab3
|
||||
Revises: a616fd164e40
|
||||
Create Date: 2024-06-26 23:19:16.863778
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '680789dabab3'
|
||||
down_revision = 'a616fd164e40'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.add_column('sao_equipment_data', sa.Column('is_shop_purchase', sa.BOOLEAN(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('is_protect', sa.BOOLEAN(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property1_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property1_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property1_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property2_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property2_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property2_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property3_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property3_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property3_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property4_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property4_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('property4_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_equipment_data', sa.Column('converted_card_num', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.alter_column('sao_equipment_data', 'equipment_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
type_=sa.BIGINT(),
|
||||
existing_nullable=False)
|
||||
op.alter_column('sao_equipment_data', 'get_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('now()'),
|
||||
existing_nullable=False)
|
||||
op.create_foreign_key(None, 'sao_equipment_data', 'sao_static_property', ['property2_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_equipment_data', 'sao_static_property', ['property4_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_equipment_data', 'sao_static_property', ['property3_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_equipment_data', 'sao_static_property', ['property1_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_equipment_data', 'sao_static_equipment_list', ['equipment_id'], ['EquipmentId'], onupdate='cascade', ondelete='cascade')
|
||||
op.add_column('sao_hero_log_data', sa.Column('max_level_extend_num', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('is_awakenable', sa.BOOLEAN(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('awakening_stage', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('awakening_exp', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('is_shop_purchase', sa.BOOLEAN(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('is_protect', sa.BOOLEAN(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property1_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property1_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property1_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property2_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property2_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property2_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property3_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property3_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property3_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property4_property_id', sa.BIGINT(), server_default='2', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property4_value1', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('property4_value2', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.add_column('sao_hero_log_data', sa.Column('converted_card_num', sa.INTEGER(), server_default='0', nullable=False))
|
||||
op.alter_column('sao_hero_log_data', 'main_weapon',
|
||||
existing_type=mysql.INTEGER(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'sub_equipment',
|
||||
existing_type=mysql.INTEGER(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot1_skill_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
type_=sa.BIGINT(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot2_skill_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
type_=sa.BIGINT(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot3_skill_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
type_=sa.BIGINT(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot4_skill_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
type_=sa.BIGINT(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot5_skill_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
type_=sa.BIGINT(),
|
||||
nullable=True)
|
||||
op.alter_column('sao_hero_log_data', 'get_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('now()'),
|
||||
existing_nullable=False)
|
||||
op.alter_column("sao_hero_log_data", "user_hero_log_id",
|
||||
existing_type=sa.Integer(),
|
||||
new_column_name="hero_log_id",
|
||||
type_=sa.BIGINT(),
|
||||
nullable=False)
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot1_skill_id = NULL WHERE skill_slot1_skill_id = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot2_skill_id = NULL WHERE skill_slot2_skill_id = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot3_skill_id = NULL WHERE skill_slot3_skill_id = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot4_skill_id = NULL WHERE skill_slot4_skill_id = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET skill_slot5_skill_id = NULL WHERE skill_slot5_skill_id = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET main_weapon = NULL WHERE main_weapon = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data SET sub_equipment = NULL WHERE sub_equipment = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_party SET user_hero_log_id_1 = NULL WHERE user_hero_log_id_1 = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_party SET user_hero_log_id_2 = NULL WHERE user_hero_log_id_2 = 0;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_party SET user_hero_log_id_3 = NULL WHERE user_hero_log_id_3 = 0;"))
|
||||
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data INNER JOIN sao_equipment_data ON sao_hero_log_data.main_weapon = sao_equipment_data.equipment_id SET sao_hero_log_data.main_weapon = sao_equipment_data.id;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_log_data INNER JOIN sao_equipment_data ON sao_hero_log_data.sub_equipment = sao_equipment_data.equipment_id SET sao_hero_log_data.sub_equipment = sao_equipment_data.id;"))
|
||||
|
||||
op.execute(sa.text("UPDATE sao_hero_party INNER JOIN sao_hero_log_data ON sao_hero_party.user_hero_log_id_1 = sao_hero_log_data.hero_log_id SET sao_hero_party.user_hero_log_id_1 = sao_hero_log_data.id;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_party INNER JOIN sao_hero_log_data ON sao_hero_party.user_hero_log_id_2 = sao_hero_log_data.hero_log_id SET sao_hero_party.user_hero_log_id_2 = sao_hero_log_data.id;"))
|
||||
op.execute(sa.text("UPDATE sao_hero_party INNER JOIN sao_hero_log_data ON sao_hero_party.user_hero_log_id_3 = sao_hero_log_data.hero_log_id SET sao_hero_party.user_hero_log_id_3 = sao_hero_log_data.id;"))
|
||||
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_property', ['property4_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot1_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot5_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot2_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot3_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_equipment_data', ['main_weapon'], ['id'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_property', ['property3_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_skill', ['skill_slot4_skill_id'], ['SkillId'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_equipment_data', ['sub_equipment'], ['id'], onupdate='set null', ondelete='set null')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_property', ['property1_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_hero_list', ['hero_log_id'], ['HeroLogId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_log_data', 'sao_static_property', ['property2_property_id'], ['PropertyId'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_party', 'sao_hero_log_data', ['user_hero_log_id_3'], ['id'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_party', 'sao_hero_log_data', ['user_hero_log_id_1'], ['id'], onupdate='cascade', ondelete='cascade')
|
||||
op.create_foreign_key(None, 'sao_hero_party', 'sao_hero_log_data', ['user_hero_log_id_2'], ['id'], onupdate='cascade', ondelete='cascade')
|
||||
op.alter_column('sao_item_data', 'get_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('now()'),
|
||||
existing_nullable=False)
|
||||
op.alter_column('sao_play_sessions', 'play_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('now()'),
|
||||
existing_nullable=False)
|
||||
op.add_column('sao_player_quest', sa.Column('quest_type', sa.INTEGER(), server_default='1', nullable=False))
|
||||
op.alter_column('sao_player_quest', 'play_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('now()'),
|
||||
existing_nullable=False)
|
||||
op.alter_column('sao_player_quest', 'episode_id',
|
||||
existing_type=mysql.INTEGER(),
|
||||
new_column_name="quest_scene_id",
|
||||
type_=sa.BIGINT(),
|
||||
nullable=False)
|
||||
op.create_foreign_key(None, 'sao_player_quest', 'sao_static_quest', ['quest_scene_id'], ['QuestSceneId'], onupdate='cascade', ondelete='cascade')
|
||||
op.add_column('sao_profile', sa.Column('my_shop', sa.INTEGER(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('fav_hero', sa.INTEGER(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('when_register', sa.TIMESTAMP(), server_default=sa.text('now()'), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('last_login_date', sa.TIMESTAMP(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('last_yui_medal_date', sa.TIMESTAMP(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('last_bonus_yui_medal_date', sa.TIMESTAMP(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('last_comeback_date', sa.TIMESTAMP(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('last_login_bonus_date', sa.TIMESTAMP(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('ad_confirm_date', sa.TIMESTAMP(), nullable=True))
|
||||
op.add_column('sao_profile', sa.Column('login_ct', sa.INTEGER(), server_default='0', nullable=True))
|
||||
op.create_foreign_key(None, 'sao_profile', 'sao_hero_log_data', ['fav_hero'], ['id'], onupdate='cascade', ondelete='set null')
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_constraint("sao_profile_ibfk_2", 'sao_profile', type_='foreignkey')
|
||||
op.drop_column('sao_profile', 'login_ct')
|
||||
op.drop_column('sao_profile', 'ad_confirm_date')
|
||||
op.drop_column('sao_profile', 'last_login_bonus_date')
|
||||
op.drop_column('sao_profile', 'last_comeback_date')
|
||||
op.drop_column('sao_profile', 'last_bonus_yui_medal_date')
|
||||
op.drop_column('sao_profile', 'last_yui_medal_date')
|
||||
op.drop_column('sao_profile', 'last_login_date')
|
||||
op.drop_column('sao_profile', 'when_register')
|
||||
op.drop_column('sao_profile', 'fav_hero')
|
||||
op.drop_column('sao_profile', 'my_shop')
|
||||
op.alter_column('sao_player_quest', 'quest_scene_id',
|
||||
existing_type=mysql.BIGINT(),
|
||||
new_column_name="episode_id",
|
||||
type_=sa.INTEGER(),
|
||||
nullable=False)
|
||||
op.drop_constraint("sao_player_quest_ibfk_2", 'sao_player_quest', type_='foreignkey')
|
||||
op.alter_column('sao_player_quest', 'play_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
existing_nullable=False)
|
||||
op.drop_column('sao_player_quest', 'quest_scene_id')
|
||||
op.drop_column('sao_player_quest', 'quest_type')
|
||||
op.alter_column('sao_play_sessions', 'play_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
existing_nullable=False)
|
||||
op.alter_column('sao_item_data', 'get_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
existing_nullable=False)
|
||||
op.drop_constraint("sao_hero_party_ibfk_2", 'sao_hero_party', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_party_ibfk_3", 'sao_hero_party', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_party_ibfk_4", 'sao_hero_party', type_='foreignkey')
|
||||
op.alter_column("sao_hero_log_data", "hero_log_id",
|
||||
existing_type=sa.BIGINT(),
|
||||
new_column_name="user_hero_log_id",
|
||||
type_=sa.Integer(),
|
||||
nullable=False)
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_2", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_3", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_4", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_5", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_6", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_7", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_8", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_9", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_10", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_11", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_12", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_hero_log_data_ibfk_13", 'sao_hero_log_data', type_='foreignkey')
|
||||
op.alter_column('sao_hero_log_data', 'get_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
existing_nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot5_skill_id',
|
||||
existing_type=sa.BIGINT(),
|
||||
type_=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot4_skill_id',
|
||||
existing_type=sa.BIGINT(),
|
||||
type_=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot3_skill_id',
|
||||
existing_type=sa.BIGINT(),
|
||||
type_=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot2_skill_id',
|
||||
existing_type=sa.BIGINT(),
|
||||
type_=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'skill_slot1_skill_id',
|
||||
existing_type=sa.BIGINT(),
|
||||
type_=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'sub_equipment',
|
||||
existing_type=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.alter_column('sao_hero_log_data', 'main_weapon',
|
||||
existing_type=mysql.INTEGER(),
|
||||
nullable=False)
|
||||
op.drop_column('sao_hero_log_data', 'converted_card_num')
|
||||
op.drop_column('sao_hero_log_data', 'property4_value2')
|
||||
op.drop_column('sao_hero_log_data', 'property4_value1')
|
||||
op.drop_column('sao_hero_log_data', 'property4_property_id')
|
||||
op.drop_column('sao_hero_log_data', 'property3_value2')
|
||||
op.drop_column('sao_hero_log_data', 'property3_value1')
|
||||
op.drop_column('sao_hero_log_data', 'property3_property_id')
|
||||
op.drop_column('sao_hero_log_data', 'property2_value2')
|
||||
op.drop_column('sao_hero_log_data', 'property2_value1')
|
||||
op.drop_column('sao_hero_log_data', 'property2_property_id')
|
||||
op.drop_column('sao_hero_log_data', 'property1_value2')
|
||||
op.drop_column('sao_hero_log_data', 'property1_value1')
|
||||
op.drop_column('sao_hero_log_data', 'property1_property_id')
|
||||
op.drop_column('sao_hero_log_data', 'is_protect')
|
||||
op.drop_column('sao_hero_log_data', 'is_shop_purchase')
|
||||
op.drop_column('sao_hero_log_data', 'awakening_exp')
|
||||
op.drop_column('sao_hero_log_data', 'awakening_stage')
|
||||
op.drop_column('sao_hero_log_data', 'is_awakenable')
|
||||
op.drop_column('sao_hero_log_data', 'max_level_extend_num')
|
||||
op.drop_constraint("sao_equipment_data_ibfk_2", 'sao_equipment_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_equipment_data_ibfk_3", 'sao_equipment_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_equipment_data_ibfk_4", 'sao_equipment_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_equipment_data_ibfk_5", 'sao_equipment_data', type_='foreignkey')
|
||||
op.drop_constraint("sao_equipment_data_ibfk_6", 'sao_equipment_data', type_='foreignkey')
|
||||
op.alter_column('sao_equipment_data', 'get_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
existing_nullable=False)
|
||||
op.alter_column('sao_equipment_data', 'equipment_id',
|
||||
existing_type=sa.BIGINT(),
|
||||
type_=mysql.INTEGER(),
|
||||
existing_nullable=False)
|
||||
op.drop_column('sao_equipment_data', 'converted_card_num')
|
||||
op.drop_column('sao_equipment_data', 'property4_value2')
|
||||
op.drop_column('sao_equipment_data', 'property4_value1')
|
||||
op.drop_column('sao_equipment_data', 'property4_property_id')
|
||||
op.drop_column('sao_equipment_data', 'property3_value2')
|
||||
op.drop_column('sao_equipment_data', 'property3_value1')
|
||||
op.drop_column('sao_equipment_data', 'property3_property_id')
|
||||
op.drop_column('sao_equipment_data', 'property2_value2')
|
||||
op.drop_column('sao_equipment_data', 'property2_value1')
|
||||
op.drop_column('sao_equipment_data', 'property2_property_id')
|
||||
op.drop_column('sao_equipment_data', 'property1_value2')
|
||||
op.drop_column('sao_equipment_data', 'property1_value1')
|
||||
op.drop_column('sao_equipment_data', 'property1_property_id')
|
||||
op.drop_column('sao_equipment_data', 'is_protect')
|
||||
op.drop_column('sao_equipment_data', 'is_shop_purchase')
|
28
core/data/alembic/versions/745448d83696_chuni_team_points.py
Normal file
28
core/data/alembic/versions/745448d83696_chuni_team_points.py
Normal file
@ -0,0 +1,28 @@
|
||||
"""chuni_team_points
|
||||
|
||||
Revision ID: 745448d83696
|
||||
Revises: 5ea363686347
|
||||
Create Date: 2024-06-29 00:05:22.479187
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '745448d83696'
|
||||
down_revision = '5ea363686347'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column('chuni_profile_team', sa.Column('userTeamPoint', sa.JSON(), nullable=True))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column('chuni_profile_team', 'userTeamPoint')
|
||||
# ### end Alembic commands ###
|
437
core/data/alembic/versions/a616fd164e40_sao_backport.py
Normal file
437
core/data/alembic/versions/a616fd164e40_sao_backport.py
Normal file
@ -0,0 +1,437 @@
|
||||
"""sao_backport
|
||||
|
||||
Revision ID: a616fd164e40
|
||||
Revises: 48f4acc43a7e
|
||||
Create Date: 2024-06-24 20:28:34.471282
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = 'a616fd164e40'
|
||||
down_revision = '48f4acc43a7e'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('sao_static_quest')
|
||||
op.create_table('sao_static_quest',
|
||||
sa.Column('QuestSceneId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('SortNo', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Tutorial', sa.BOOLEAN(), nullable=False),
|
||||
sa.Column('ColRate', sa.DECIMAL(), nullable=False),
|
||||
sa.Column('LimitDefault', sa.INTEGER(), nullable=False),
|
||||
sa.Column('LimitResurrection', sa.INTEGER(), nullable=False),
|
||||
sa.Column('RewardTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('PlayerTraceTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('SuccessPlayerExp', sa.INTEGER(), nullable=False),
|
||||
sa.Column('FailedPlayerExp', sa.INTEGER(), nullable=False),
|
||||
sa.Column('PairExpRate', sa.INTEGER(), nullable=False),
|
||||
sa.Column('TrioExpRate', sa.INTEGER(), nullable=False),
|
||||
sa.Column('SingleRewardVp', sa.INTEGER(), nullable=False),
|
||||
sa.Column('PairRewardVp', sa.INTEGER(), nullable=False),
|
||||
sa.Column('TrioRewardVp', sa.INTEGER(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('QuestSceneId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
|
||||
op.create_table('sao_static_property',
|
||||
sa.Column('PropertyId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('PropertyTargetType', sa.INTEGER(), nullable=False),
|
||||
sa.Column('PropertyName', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('PropertyName_en', sa.VARCHAR(length=255), nullable=True),
|
||||
sa.Column('PropertyNameFormat', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('PropertyNameFormat_en', sa.VARCHAR(length=255), nullable=True),
|
||||
sa.Column('PropertyTypeId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Value1Min', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Value1Max', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Value2Min', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Value2Max', sa.INTEGER(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('PropertyId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_reward',
|
||||
sa.Column('RewardTableId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('RewardTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('UnanalyzedLogGradeId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardType', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardNum', sa.INTEGER(), nullable=False),
|
||||
sa.Column('StrengthMin', sa.INTEGER(), nullable=False),
|
||||
sa.Column('StrengthMax', sa.INTEGER(), nullable=False),
|
||||
sa.Column('PropertyTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('QuestInfoDisplayFlag', sa.BOOLEAN(), nullable=False),
|
||||
sa.Column('Rate', sa.INTEGER(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('RewardTableId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_skill',
|
||||
sa.Column('SkillId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('WeaponTypeId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Name', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('Name_en', sa.VARCHAR(length=255), nullable=True),
|
||||
sa.Column('Attack', sa.BOOLEAN(), nullable=False),
|
||||
sa.Column('Passive', sa.BOOLEAN(), nullable=False),
|
||||
sa.Column('Pet', sa.BOOLEAN(), nullable=False),
|
||||
sa.Column('Level', sa.INTEGER(), nullable=False),
|
||||
sa.Column('SkillCondition', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CoolTime', sa.INTEGER(), nullable=False),
|
||||
sa.Column('SkillIcon', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('FriendSkillIcon', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('InfoText', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('InfoText_en', sa.VARCHAR(length=255), nullable=True),
|
||||
sa.PrimaryKeyConstraint('SkillId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_trace_table',
|
||||
sa.Column('PlayerTraceTableId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('PlayerTraceTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardType', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardNum', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Rate', sa.INTEGER(), nullable=False),
|
||||
sa.PrimaryKeyConstraint('PlayerTraceTableId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_player_beginner_mission',
|
||||
sa.Column('id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('user', sa.INTEGER(), nullable=False),
|
||||
sa.Column('beginner_mission_id', sa.INTEGER(), nullable=False),
|
||||
sa.Column('condition_id', sa.INTEGER(), nullable=False),
|
||||
sa.Column('is_seat', sa.BOOLEAN(), server_default='0', nullable=False),
|
||||
sa.Column('achievement_num', sa.INTEGER(), nullable=False),
|
||||
sa.Column('complete_flag', sa.BOOLEAN(), server_default='0', nullable=False),
|
||||
sa.Column('complete_date', sa.TIMESTAMP(), nullable=True),
|
||||
sa.Column('reward_received_flag', sa.BOOLEAN(), server_default='0', nullable=False),
|
||||
sa.Column('reward_received_date', sa.TIMESTAMP(), nullable=True),
|
||||
sa.ForeignKeyConstraint(['user'], ['aime_user.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('user'),
|
||||
sa.UniqueConstraint('user', 'condition_id', name='sao_player_beginner_mission_uk'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_player_resource_card',
|
||||
sa.Column('id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('user', sa.INTEGER(), nullable=False),
|
||||
sa.Column('common_reward_type', sa.INTEGER(), nullable=False),
|
||||
sa.Column('common_reward_id', sa.INTEGER(), nullable=False),
|
||||
sa.Column('holographic_flag', sa.BOOLEAN(), server_default='0', nullable=False),
|
||||
sa.Column('serial', sa.VARCHAR(length=20), nullable=True),
|
||||
sa.ForeignKeyConstraint(['user'], ['aime_user.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('serial'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_player_tutorial',
|
||||
sa.Column('id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('user', sa.INTEGER(), nullable=False),
|
||||
sa.Column('tutorial_byte', sa.INTEGER(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['user'], ['aime_user.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('user', 'tutorial_byte', name='sao_player_tutorial_uk'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_episode',
|
||||
sa.Column('EpisodeId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('EpisodeChapterId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ReleaseEpisodeId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Title', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('CommentSummary', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('ExBonusTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('QuestSceneId', sa.BIGINT(), nullable=True),
|
||||
sa.ForeignKeyConstraint(['QuestSceneId'], ['sao_static_quest.QuestSceneId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('EpisodeId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_ex_bonus',
|
||||
sa.Column('ExBonusTableId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('ExBonusTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ExBonusConditionId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ConditionValue1', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ConditionValue2', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardType', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('CommonRewardNum', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Strength', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property1PropertyId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('Property1Value1', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property1Value2', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property2PropertyId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('Property2Value1', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property2Value2', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property3PropertyId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('Property3Value1', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property3Value2', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property4PropertyId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('Property4Value1', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Property4Value2', sa.INTEGER(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['Property1PropertyId'], ['sao_static_property.PropertyId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.ForeignKeyConstraint(['Property2PropertyId'], ['sao_static_property.PropertyId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.ForeignKeyConstraint(['Property3PropertyId'], ['sao_static_property.PropertyId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.ForeignKeyConstraint(['Property4PropertyId'], ['sao_static_property.PropertyId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('ExBonusTableId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_ex_tower',
|
||||
sa.Column('ExTowerQuestId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('ExTowerId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ReleaseExTowerQuestId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('Title', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('Title_en', sa.VARCHAR(length=255), nullable=True),
|
||||
sa.Column('ExBonusTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('QuestSceneId', sa.BIGINT(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['QuestSceneId'], ['sao_static_quest.QuestSceneId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('ExTowerQuestId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_side_quest',
|
||||
sa.Column('SideQuestId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('DisplayName', sa.VARCHAR(length=255), nullable=False),
|
||||
sa.Column('DisplayName_en', sa.VARCHAR(length=255), nullable=True),
|
||||
sa.Column('EpisodeNum', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ExBonusTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('QuestSceneId', sa.BIGINT(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['QuestSceneId'], ['sao_static_quest.QuestSceneId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('SideQuestId'),
|
||||
sa.UniqueConstraint('SideQuestId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_skill_table',
|
||||
sa.Column('SkillTableId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('SkillId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('SkillTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('LevelObtained', sa.INTEGER(), nullable=False),
|
||||
sa.Column('AwakeningId', sa.INTEGER(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['SkillId'], ['sao_static_skill.SkillId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('SkillTableId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_static_tower',
|
||||
sa.Column('TowerId', sa.BIGINT(), nullable=False),
|
||||
sa.Column('ReleaseTowerId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('ExBonusTableSubId', sa.INTEGER(), nullable=False),
|
||||
sa.Column('QuestSceneId', sa.BIGINT(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['QuestSceneId'], ['sao_static_quest.QuestSceneId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('TowerId'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_player_ex_bonus',
|
||||
sa.Column('id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('user', sa.INTEGER(), nullable=False),
|
||||
sa.Column('quest_scene_id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('ex_bonus_table_id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('quest_clear_flag', sa.BOOLEAN(), server_default='0', nullable=False),
|
||||
sa.ForeignKeyConstraint(['ex_bonus_table_id'], ['sao_static_ex_bonus.ExBonusTableId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.ForeignKeyConstraint(['quest_scene_id'], ['sao_static_quest.QuestSceneId'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.ForeignKeyConstraint(['user'], ['aime_user.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('user', 'quest_scene_id', 'ex_bonus_table_id', name='sao_player_ex_bonus_uk'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.create_table('sao_player_hero_card',
|
||||
sa.Column('id', sa.BIGINT(), nullable=False),
|
||||
sa.Column('user', sa.INTEGER(), nullable=False),
|
||||
sa.Column('user_hero_id', sa.INTEGER(), nullable=False),
|
||||
sa.Column('holographic_flag', sa.BOOLEAN(), server_default='0', nullable=False),
|
||||
sa.Column('serial', sa.VARCHAR(length=20), nullable=True),
|
||||
sa.ForeignKeyConstraint(['user'], ['aime_user.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.ForeignKeyConstraint(['user_hero_id'], ['sao_hero_log_data.id'], onupdate='cascade', ondelete='cascade'),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('serial'),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
op.alter_column('sao_end_sessions', 'play_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('now()'),
|
||||
existing_nullable=False)
|
||||
|
||||
op.drop_table('sao_static_equipment_list')
|
||||
op.create_table("sao_static_equipment_list",
|
||||
sa.Column("EquipmentId", sa.BIGINT, primary_key=True, nullable=False),
|
||||
sa.Column("EquipmentType", sa.INTEGER, nullable=False),
|
||||
sa.Column("WeaponTypeId", sa.INTEGER, nullable=False),
|
||||
sa.Column("Name", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("Name_en", sa.VARCHAR(255)),
|
||||
sa.Column("Rarity", sa.INTEGER, nullable=False),
|
||||
sa.Column("Power", sa.INTEGER, nullable=False),
|
||||
sa.Column("StrengthIncrement", sa.INTEGER, nullable=False),
|
||||
sa.Column("SkillCondition", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property1PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property1Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property1Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property2PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property2Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property2Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property3PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property3Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property3Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property4PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property4Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property4Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("SalePrice", sa.INTEGER, nullable=False),
|
||||
sa.Column("CompositionExp", sa.INTEGER, nullable=False),
|
||||
sa.Column("AwakeningExp", sa.INTEGER, nullable=False),
|
||||
sa.Column("FlavorText", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("FlavorText_en", sa.VARCHAR(255)),
|
||||
mysql_charset="utf8mb4"
|
||||
)
|
||||
|
||||
op.drop_table('sao_static_hero_list')
|
||||
op.create_table("sao_static_hero_list",
|
||||
sa.Column("HeroLogId", sa.BIGINT, primary_key=True, nullable=False),
|
||||
sa.Column("CharaId", sa.INTEGER, nullable=False),
|
||||
sa.Column("Name", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("Nickname", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("Name_en", sa.VARCHAR(255)),
|
||||
sa.Column("Nickname_en", sa.VARCHAR(255)),
|
||||
sa.Column("Rarity", sa.INTEGER, nullable=False),
|
||||
sa.Column("WeaponTypeId", sa.INTEGER, nullable=False),
|
||||
sa.Column("HeroLogRoleId", sa.INTEGER, nullable=False),
|
||||
sa.Column("CostumeTypeId", sa.INTEGER, nullable=False),
|
||||
sa.Column("UnitId", sa.INTEGER, nullable=False),
|
||||
sa.Column("DefaultEquipmentId1", sa.BIGINT, sa.ForeignKey("sao_static_equipment_list.EquipmentId", ondelete="cascade", onupdate="cascade")),
|
||||
sa.Column("DefaultEquipmentId2", sa.BIGINT, sa.ForeignKey("sao_static_equipment_list.EquipmentId", ondelete="cascade", onupdate="cascade")),
|
||||
sa.Column("SkillTableSubId", sa.INTEGER, nullable=False),
|
||||
sa.Column("HpMin", sa.INTEGER, nullable=False),
|
||||
sa.Column("HpMax", sa.INTEGER, nullable=False),
|
||||
sa.Column("StrMin", sa.INTEGER, nullable=False),
|
||||
sa.Column("StrMax", sa.INTEGER, nullable=False),
|
||||
sa.Column("VitMin", sa.INTEGER, nullable=False),
|
||||
sa.Column("VitMax", sa.INTEGER, nullable=False),
|
||||
sa.Column("IntMin", sa.INTEGER, nullable=False),
|
||||
sa.Column("IntMax", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property1PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property1Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property1Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property2PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property2Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property2Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property3PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property3Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property3Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property4PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("Property4Value1", sa.INTEGER, nullable=False),
|
||||
sa.Column("Property4Value2", sa.INTEGER, nullable=False),
|
||||
sa.Column("FlavorText", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("FlavorText_en", sa.VARCHAR(255)),
|
||||
sa.Column("SalePrice", sa.INTEGER, nullable=False),
|
||||
sa.Column("CompositionExp", sa.INTEGER, nullable=False),
|
||||
sa.Column("AwakeningExp", sa.INTEGER, nullable=False),
|
||||
sa.Column("Slot4UnlockLevel", sa.INTEGER, nullable=False),
|
||||
sa.Column("Slot5UnlockLevel", sa.INTEGER, nullable=False),
|
||||
sa.Column("CollectionEmptyFrameDisplayFlag", sa.BOOLEAN, nullable=False),
|
||||
mysql_charset="utf8mb4"
|
||||
)
|
||||
|
||||
op.drop_table('sao_static_item_list')
|
||||
op.create_table("sao_static_item_list",
|
||||
sa.Column("ItemId", sa.INTEGER, nullable=False, primary_key=True),
|
||||
sa.Column("ItemTypeId", sa.INTEGER, nullable=False),
|
||||
sa.Column("Name", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("Name_en", sa.VARCHAR(255)),
|
||||
sa.Column("Rarity", sa.INTEGER, nullable=False),
|
||||
sa.Column("Value", sa.INTEGER, nullable=False),
|
||||
sa.Column("PropertyId", sa.BIGINT, sa.ForeignKey("sao_static_property.PropertyId", ondelete="cascade", onupdate="cascade"), nullable=False),
|
||||
sa.Column("PropertyValue1Min", sa.INTEGER, nullable=False),
|
||||
sa.Column("PropertyValue1Max", sa.INTEGER, nullable=False),
|
||||
sa.Column("PropertyValue2Min", sa.INTEGER, nullable=False),
|
||||
sa.Column("PropertyValue2Max", sa.INTEGER, nullable=False),
|
||||
sa.Column("FlavorText", sa.VARCHAR(255), nullable=False),
|
||||
sa.Column("FlavorText_en", sa.VARCHAR(255)),
|
||||
sa.Column("SalePrice", sa.INTEGER, nullable=False),
|
||||
sa.Column("ItemIcon", sa.VARCHAR(255), nullable=False),
|
||||
mysql_charset="utf8mb4"
|
||||
)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('sao_static_item_list')
|
||||
op.create_table("sao_static_item_list",
|
||||
sa.Column("id", sa.Integer, primary_key=True, nullable=False),
|
||||
sa.Column("version", sa.Integer),
|
||||
sa.Column("itemId", sa.Integer),
|
||||
sa.Column("itemTypeId", sa.Integer),
|
||||
sa.Column("name", sa.String(255)),
|
||||
sa.Column("rarity", sa.Integer),
|
||||
sa.Column("flavorText", sa.String(255)),
|
||||
sa.Column("enabled", sa.Boolean),
|
||||
sa.UniqueConstraint(
|
||||
"version", "itemId", name="sao_static_item_list_uk"
|
||||
),
|
||||
mysql_charset="utf8mb4"
|
||||
)
|
||||
|
||||
op.drop_table('sao_static_hero_list')
|
||||
op.create_table("sao_static_hero_list",
|
||||
sa.Column("id", sa.Integer, primary_key=True, nullable=False),
|
||||
sa.Column("version", sa.Integer),
|
||||
sa.Column("heroLogId", sa.Integer),
|
||||
sa.Column("name", sa.String(255)),
|
||||
sa.Column("nickname", sa.String(255)),
|
||||
sa.Column("rarity", sa.Integer),
|
||||
sa.Column("skillTableSubId", sa.Integer),
|
||||
sa.Column("awakeningExp", sa.Integer),
|
||||
sa.Column("flavorText", sa.String(255)),
|
||||
sa.Column("enabled", sa.Boolean),
|
||||
sa.UniqueConstraint(
|
||||
"version", "heroLogId", name="sao_static_hero_list_uk"
|
||||
),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
op.drop_table('sao_static_equipment_list')
|
||||
op.create_table("sao_static_equipment_list",
|
||||
sa.Column("id", sa.Integer, primary_key=True, nullable=False),
|
||||
sa.Column("version", sa.Integer),
|
||||
sa.Column("equipmentId", sa.Integer),
|
||||
sa.Column("equipmentType", sa.Integer),
|
||||
sa.Column("weaponTypeId", sa.Integer),
|
||||
sa.Column("name", sa.String(255)),
|
||||
sa.Column("rarity", sa.Integer),
|
||||
sa.Column("flavorText", sa.String(255)),
|
||||
sa.Column("enabled", sa.Boolean),
|
||||
sa.UniqueConstraint(
|
||||
"version", "equipmentId", name="sao_static_equipment_list_uk"
|
||||
),
|
||||
mysql_charset="utf8mb4"
|
||||
|
||||
)
|
||||
|
||||
op.alter_column('sao_end_sessions', 'play_date',
|
||||
existing_type=mysql.TIMESTAMP(),
|
||||
server_default=sa.text('CURRENT_TIMESTAMP'),
|
||||
existing_nullable=False)
|
||||
op.drop_table('sao_player_hero_card')
|
||||
op.drop_table('sao_player_ex_bonus')
|
||||
op.drop_table('sao_static_tower')
|
||||
op.drop_table('sao_static_skill_table')
|
||||
op.drop_table('sao_static_side_quest')
|
||||
op.drop_table('sao_static_ex_tower')
|
||||
op.drop_table('sao_static_ex_bonus')
|
||||
op.drop_table('sao_static_episode')
|
||||
op.drop_table('sao_player_tutorial')
|
||||
op.drop_table('sao_player_resource_card')
|
||||
op.drop_table('sao_player_beginner_mission')
|
||||
op.drop_table('sao_static_trace_table')
|
||||
op.drop_table('sao_static_skill')
|
||||
op.drop_table('sao_static_reward')
|
||||
op.drop_table('sao_static_property')
|
||||
op.drop_table('sao_static_quest')
|
||||
op.create_table('sao_static_quest',
|
||||
sa.Column('id', mysql.INTEGER(), autoincrement=True, nullable=False),
|
||||
sa.Column('enabled', mysql.TINYINT(display_width=1), autoincrement=False, nullable=True),
|
||||
sa.Column('version', mysql.INTEGER(), autoincrement=False, nullable=True),
|
||||
sa.Column('questSceneId', mysql.INTEGER(), autoincrement=False, nullable=True),
|
||||
sa.Column('sortNo', mysql.INTEGER(), autoincrement=False, nullable=True),
|
||||
sa.Column('name', mysql.VARCHAR(charset='utf8mb4', collation='utf8mb4_general_ci', length=255), nullable=True),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint("version", "questSceneId", name="sao_static_quest_uk"),
|
||||
mysql_charset='utf8mb4'
|
||||
)
|
||||
# ### end Alembic commands ###
|
@ -206,17 +206,6 @@ class ArcadeData(BaseData):
|
||||
return None
|
||||
return result.lastrowid
|
||||
|
||||
def format_serial( # TODO: Actual serial stuff
|
||||
self, platform_code: str, platform_rev: int, serial_num: int, append: int = 8888
|
||||
) -> str:
|
||||
return f"{platform_code}{platform_rev:02d}A{serial_num:04d}{append:04d}" # 0x41 = A, 0x52 = R
|
||||
|
||||
def validate_keychip_format(self, serial: str) -> bool:
|
||||
if re.fullmatch(r"^A[0-9]{2}[E|X][-]?[0-9]{2}[A-HJ-NP-Z][0-9]{4}([0-9]{4})?$", serial) is None:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
async def get_arcade_by_name(self, name: str) -> Optional[List[Row]]:
|
||||
sql = arcade.select(or_(arcade.c.name.like(f"%{name}%"), arcade.c.nickname.like(f"%{name}%")))
|
||||
result = await self.execute(sql)
|
||||
@ -230,3 +219,53 @@ class ArcadeData(BaseData):
|
||||
if result is None:
|
||||
return None
|
||||
return result.fetchall()
|
||||
|
||||
async def get_num_generated_keychips(self) -> Optional[int]:
|
||||
result = await self.execute(select(func.count("serial LIKE 'A69A%'")).select_from(machine))
|
||||
if result:
|
||||
return result.fetchone()['count_1']
|
||||
self.logger.error("Failed to count machine serials that start with A69A!")
|
||||
|
||||
def format_serial(
|
||||
self, platform_code: str, platform_rev: int, serial_letter: str, serial_num: int, append: int, dash: bool = False
|
||||
) -> str:
|
||||
return f"{platform_code}{'-' if dash else ''}{platform_rev:02d}{serial_letter}{serial_num:04d}{append:04d}"
|
||||
|
||||
def validate_keychip_format(self, serial: str) -> bool:
|
||||
# For the 2nd letter, E and X are the only "real" values that have been observed (A is used for generated keychips)
|
||||
if re.fullmatch(r"^A[0-9]{2}[A-Z][-]?[0-9]{2}[A-HJ-NP-Z][0-9]{4}([0-9]{4})?$", serial) is None:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
# Thanks bottersnike!
|
||||
def get_keychip_suffix(self, year: int, month: int) -> str:
|
||||
assert year > 1957
|
||||
assert 1 <= month <= 12
|
||||
|
||||
year -= 1957
|
||||
# Jan/Feb/Mar are from the previous tax year
|
||||
if month < 4:
|
||||
year -= 1
|
||||
assert year >= 1 and year <= 99
|
||||
|
||||
month = ((month - 1) + 9) % 12 # Offset so April=0
|
||||
return f"{year:02}{month // 6:01}{month % 6 + 1:01}"
|
||||
|
||||
|
||||
def parse_keychip_suffix(self, suffix: str) -> tuple[int, int]:
|
||||
year = int(suffix[0:2])
|
||||
half = int(suffix[2])
|
||||
assert half in (0, 1)
|
||||
period = int(suffix[3])
|
||||
assert period in (1, 2, 3, 4, 5, 6)
|
||||
|
||||
month = half * 6 + (period - 1)
|
||||
month = ((month + 3) % 12) + 1 # Offset so Jan=1
|
||||
|
||||
# Jan/Feb/Mar are from the previous tax year
|
||||
if month < 4:
|
||||
year += 1
|
||||
year += 1957
|
||||
|
||||
return (year, month)
|
||||
|
@ -1,6 +1,6 @@
|
||||
from typing import Dict, List, Optional
|
||||
from sqlalchemy import Table, Column, UniqueConstraint
|
||||
from sqlalchemy.types import Integer, String, Boolean, TIMESTAMP, BIGINT
|
||||
from sqlalchemy.types import Integer, String, Boolean, TIMESTAMP, BIGINT, VARCHAR
|
||||
from sqlalchemy.sql.schema import ForeignKey
|
||||
from sqlalchemy.sql import func
|
||||
from sqlalchemy.engine import Row
|
||||
@ -19,12 +19,16 @@ aime_card = Table(
|
||||
Column("last_login_date", TIMESTAMP, onupdate=func.now()),
|
||||
Column("is_locked", Boolean, server_default="0"),
|
||||
Column("is_banned", Boolean, server_default="0"),
|
||||
Column("memo", VARCHAR(16)),
|
||||
UniqueConstraint("user", "access_code", name="aime_card_uk"),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
|
||||
class CardData(BaseData):
|
||||
moble_os_codes = set([0x06, 0x07, 0x10, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18])
|
||||
card_os_codes = set([0x20, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7])
|
||||
|
||||
async def get_card_by_access_code(self, access_code: str) -> Optional[Row]:
|
||||
sql = aime_card.select(aime_card.c.access_code == access_code)
|
||||
|
||||
@ -140,6 +144,16 @@ class CardData(BaseData):
|
||||
if not result:
|
||||
self.logger.error(f"Failed to update IDm to {idm} for {access_code}")
|
||||
|
||||
async def set_access_code_by_access_code(self, old_ac: str, new_ac: str) -> None:
|
||||
result = await self.execute(aime_card.update(aime_card.c.access_code == old_ac).values(access_code=new_ac))
|
||||
if not result:
|
||||
self.logger.error(f"Failed to change card access code from {old_ac} to {new_ac}")
|
||||
|
||||
async def set_memo_by_access_code(self, access_code: str, memo: str) -> None:
|
||||
result = await self.execute(aime_card.update(aime_card.c.access_code == access_code).values(memo=memo))
|
||||
if not result:
|
||||
self.logger.error(f"Failed to add memo to card {access_code}")
|
||||
|
||||
def to_access_code(self, luid: str) -> str:
|
||||
"""
|
||||
Given a felica cards internal 16 hex character luid, convert it to a 0-padded 20 digit access code as a string
|
||||
|
116
core/frontend.py
116
core/frontend.py
@ -476,10 +476,11 @@ class FE_User(FE_Base):
|
||||
card_data.append({
|
||||
'access_code': ac,
|
||||
'status': status,
|
||||
'chip_id': "", #None if c['chip_id'] is None else f"{c['chip_id']:X}",
|
||||
'idm': "",
|
||||
'chip_id': c['chip_id'],
|
||||
'idm': c['idm'],
|
||||
'type': c_type,
|
||||
"memo": ""
|
||||
"memo": c['memo'],
|
||||
"id": c['id'],
|
||||
})
|
||||
|
||||
if "e" in request.query_params:
|
||||
@ -516,10 +517,106 @@ class FE_User(FE_Base):
|
||||
return resp
|
||||
|
||||
async def edit_card(self, request: Request) -> RedirectResponse:
|
||||
return RedirectResponse("/user/", 303)
|
||||
frm = await request.form()
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh or not self.test_perm(usr_sesh.permissions, PermissionOffset.USERMOD):
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
frm = await request.form()
|
||||
cid = frm.get("card_edit_frm_card_id", None)
|
||||
if not cid:
|
||||
return RedirectResponse("/user/?e=999", 303)
|
||||
|
||||
ac = frm.get("card_edit_frm_access_code", None)
|
||||
if not ac:
|
||||
return RedirectResponse("/user/?e=999", 303)
|
||||
|
||||
card = await self.data.card.get_card_by_id(cid)
|
||||
if not card:
|
||||
return RedirectResponse("/user/?e=2", 303)
|
||||
|
||||
if card['user'] != usr_sesh.user_id and not self.test_perm_minimum(usr_sesh.permissions, PermissionOffset.USERMOD):
|
||||
return RedirectResponse("/user/?e=11", 303)
|
||||
|
||||
if frm.get("add_memo", None) or frm.get("add_memo", None) == "":
|
||||
memo = frm.get("add_memo")
|
||||
if len(memo) > 16:
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
await self.data.card.set_memo_by_access_code(ac, memo)
|
||||
|
||||
if False: # Saving this in case I want to allow editing idm/chip ID down the line
|
||||
if frm.get("add_felica_idm", None):
|
||||
idm = frm.get('add_felica_idm')
|
||||
if not all(c in string.hexdigits for c in idm):
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
await self.data.card.set_idm_by_access_code(ac, idm)
|
||||
|
||||
if frm.get("add_mifare_chip_id", None):
|
||||
chip_id: str = frm.get('add_mifare_chip_id')
|
||||
if not all(c in string.hexdigits for c in idm):
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
await self.data.card.set_chip_id_by_access_code(ac, int(chip_id, 16))
|
||||
|
||||
return RedirectResponse("/user/?s=4", 303)
|
||||
|
||||
async def add_card(self, request: Request) -> RedirectResponse:
|
||||
return RedirectResponse("/user/", 303)
|
||||
frm = await request.form()
|
||||
card_type = frm.get("card_add_frm_type", None)
|
||||
access_code = frm.get("add_access_code", None)
|
||||
idm = frm.get("add_idm", None)
|
||||
idm_caps = None
|
||||
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh or not self.test_perm(usr_sesh.permissions, PermissionOffset.USERMOD):
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
if not len(access_code) == 20 or (not access_code.startswith("5") and not access_code.startswith("3") \
|
||||
and not access_code.startswith("010") and not access_code.startswith("0008")):
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
|
||||
if card_type == "0" and access_code.startswith("5") and len(idm) == 16:
|
||||
idm_caps = idm.upper()
|
||||
|
||||
if not all([x in string.hexdigits for x in idm_caps]):
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
|
||||
if access_code.startswith("5") and not idm_caps:
|
||||
return RedirectResponse("/user/?e=13", 303)
|
||||
|
||||
test = await self.data.card.get_card_by_access_code(access_code)
|
||||
if test:
|
||||
return RedirectResponse("/user/?e=12", 303)
|
||||
|
||||
if idm_caps:
|
||||
test = await self.data.card.get_card_by_idm(idm_caps)
|
||||
if test and test['user'] != usr_sesh.user_id:
|
||||
return RedirectResponse("/user/?e=12", 303)
|
||||
|
||||
test = await self.data.card.get_card_by_access_code(self.data.card.to_access_code(idm_caps))
|
||||
if test:
|
||||
if test['user'] != usr_sesh.user_id:
|
||||
return RedirectResponse("/user/?e=12", 303)
|
||||
|
||||
await self.data.card.set_access_code_by_access_code(test['access_code'], access_code)
|
||||
self.logger.info(f"Update card {test['id']} from {test['access_code']} to {access_code} for user {usr_sesh.user_id}")
|
||||
|
||||
await self.data.card.set_idm_by_access_code(access_code, idm_caps)
|
||||
self.logger.info(f"Set IDm for card {access_code} to {idm_caps}")
|
||||
return RedirectResponse("/user/?s=1", 303)
|
||||
|
||||
if card_type == "0" and access_code.startswith("0008"):
|
||||
test = await self.data.card.get_card_by_idm(self.data.card.to_idm(access_code))
|
||||
if test:
|
||||
return RedirectResponse("/user/?e=12", 303)
|
||||
|
||||
new_card = await self.data.card.create_card(usr_sesh.user_id, access_code)
|
||||
self.logger.info(f"Created new card {new_card} with access code {access_code} for user {usr_sesh.user_id}")
|
||||
|
||||
if idm_caps:
|
||||
await self.data.card.set_idm_by_access_code(access_code, idm_caps)
|
||||
self.logger.info(f"Set IDm for card {access_code} to {idm_caps}")
|
||||
|
||||
return RedirectResponse("/user/?s=1", 303)
|
||||
|
||||
async def render_POST(self, request: Request):
|
||||
frm = await request.form()
|
||||
@ -791,14 +888,19 @@ class FE_System(FE_Base):
|
||||
return RedirectResponse("/sys/?e=4", 303)
|
||||
|
||||
if not serial:
|
||||
serial = self.data.arcade.format_serial("A69E", 1, random.randint(1, 9999))
|
||||
append = self.data.arcade.get_keychip_suffix(datetime.now().year, datetime.now().month)
|
||||
generated = await self.data.arcade.get_num_generated_keychips()
|
||||
if not generated:
|
||||
generated = 0
|
||||
serial = self.data.arcade.format_serial("A69A", 1, "A", generated + 1, int(append))
|
||||
serial_dash = self.data.arcade.format_serial("A69A", 1, "A", generated + 1, int(append), True)
|
||||
|
||||
cab_id = await self.data.arcade.create_machine(int(shopid), serial, None, game_code if game_code else None)
|
||||
|
||||
return Response(template.render(
|
||||
title=f"{self.core_config.server.name} | System",
|
||||
sesh=vars(usr_sesh),
|
||||
cabadd={"id": cab_id, "serial": serial},
|
||||
cabadd={"id": cab_id, "serial": serial_dash},
|
||||
), media_type="text/html; charset=utf-8")
|
||||
|
||||
async def render_logs(self, request: Request):
|
||||
|
@ -46,7 +46,11 @@ var per_page = 0;
|
||||
var page = 0;
|
||||
|
||||
function update_tbl() {
|
||||
if (TBL_DATA.length == 0) { return; }
|
||||
if (TBL_DATA.length == 0) {
|
||||
document.getElementById("btn_next").disabled = true;
|
||||
document.getElementById("btn_prev").disabled = true;
|
||||
return;
|
||||
}
|
||||
var tbl = document.getElementById("tbl_events");
|
||||
|
||||
for (var i = 0; i < per_page; i++) {
|
||||
@ -183,7 +187,7 @@ function chg_page(num) {
|
||||
document.getElementById("btn_prev").disabled = true;
|
||||
return;
|
||||
} else if (page == 0) {
|
||||
document.getElementById("btn_next").disabled = false;
|
||||
document.getElementById("btn_next").disabled = TBL_DATA.length == 0;
|
||||
document.getElementById("btn_prev").disabled = true;
|
||||
} else {
|
||||
document.getElementById("btn_next").disabled = false;
|
||||
|
@ -28,12 +28,28 @@ function toggle_add_card_form() {
|
||||
}
|
||||
}
|
||||
|
||||
function prep_edit_form(access_code, chip_id, idm, card_type, u_memo) {
|
||||
function toggle_idm_disabled(is_disabled) {
|
||||
document.getElementById("btn_add_card");
|
||||
let dv = document.getElementById("add_card_container")
|
||||
|
||||
if (dv.style['display'] != "") {
|
||||
btn.innerText = "Cancel";
|
||||
dv.style['display'] = "";
|
||||
} else {
|
||||
btn.innerText = "Add";
|
||||
dv.style['display'] = "none";
|
||||
}
|
||||
}
|
||||
|
||||
function prep_edit_form(access_code, chip_id, idm, card_type, u_memo, card_id) {
|
||||
ac = document.getElementById("card_edit_frm_access_code");
|
||||
cid = document.getElementById("card_edit_frm_chip_id");
|
||||
fidm = document.getElementById("card_edit_frm_idm");
|
||||
memo = document.getElementById("card_edit_frm_memo");
|
||||
|
||||
|
||||
document.getElementById("card_edit_frm_card_id").value = card_id;
|
||||
|
||||
if (chip_id == "None" || chip_id == undefined) {
|
||||
chip_id = ""
|
||||
}
|
||||
@ -49,11 +65,14 @@ function prep_edit_form(access_code, chip_id, idm, card_type, u_memo) {
|
||||
fidm.value = idm;
|
||||
memo.value = u_memo;
|
||||
|
||||
if (card_type == "AmusementIC") {
|
||||
if (access_code.startsWith("3") || access_code.startsWith("010")) {
|
||||
cid.disabled = false;
|
||||
fidm.disabled = true;
|
||||
} else if (access_code.startsWith("5") || access_code.startsWith("0008")) {
|
||||
cid.disabled = true;
|
||||
fidm.disabled = false;
|
||||
} else {
|
||||
cid.disabled = false;
|
||||
cid.disabled = true;
|
||||
fidm.disabled = true;
|
||||
}
|
||||
}
|
||||
@ -84,16 +103,35 @@ Card added successfully
|
||||
{% endif %}
|
||||
<div id="add_card_container" style="display: none; max-width: 33%;">
|
||||
<form action="/user/add.card" method="post", id="frm_add_card">
|
||||
<div class="form-check">
|
||||
<input type="radio" id="card_add_frm_type_aicc" value="0" name="card_add_frm_type" aria-describedby="aicc_help" onclick="document.getElementById('card_add_frm_idm').disabled = false;">
|
||||
<label class="form-label" for="card_add_frm_type_aicc">AmusementIC</label>
|
||||
<div id="aicc_help" class="form-text">Starts with 5. If you don't have the IDm, use the 0008 access code shown in-game</div>
|
||||
<br>
|
||||
<input type="radio" id="card_add_frm_type_old" value="1" name="card_add_frm_type" aria-describedby="old_help" onclick="document.getElementById('card_add_frm_idm').disabled = true;">
|
||||
<label class="form-label" for="card_add_frm_type_old">Old Aime/Banapass</label>
|
||||
<div id="old_help" class="form-text">Starts with 010 (aime) or 3 (banapass)</div>
|
||||
</div>
|
||||
|
||||
<label class="form-label" for="card_add_frm_access_code">Access Code:</label>
|
||||
<input class="form-control" name="add_access_code" id="card_add_frm_access_code" maxlength="20" type="text" required aria-describedby="ac_help">
|
||||
<div id="ac_help" class="form-text">20 digit code on the back of the card.</div>
|
||||
<label class="form-label" for="card_add_frm_access_code">IDm:</label>
|
||||
<input class="form-control" name="add_idm" id="card_add_frm_idm" maxlength="16" type="text" aria-describedby="idm_help">
|
||||
<div id="idm_help" class="form-text">AmusementIC cards only! 16 hexidecimal digits, sometimes called the serial number, gotten by scanning the card with a reader.</div>
|
||||
<br>
|
||||
<button type="submit" class="btn btn-primary">Add</button>
|
||||
</form>
|
||||
<br>
|
||||
</div>
|
||||
{% if success is defined and success == 4 %}
|
||||
<div style="background-color: #00AA00; padding: 20px; margin-bottom: 10px; width: 15%;">
|
||||
Update successful
|
||||
</div>
|
||||
{% endif %}
|
||||
<ul style="font-size: 20px;">
|
||||
{% for c in cards %}
|
||||
<li>{{ c.access_code }} ({{ c.type}}): {{ c.status }} <button onclick="prep_edit_form('{{ c.access_code }}', '{{ c.chip_id}}', '{{ c.idm }}', '{{ c.type }}', '{{ c.memo }}')" data-bs-toggle="modal" data-bs-target="#card_edit" class="btn btn-secondary" id="btn_edit_card_{{ c.access_code }}">Edit</button> {% if c.status == 'Active'%}<button class="btn-warning btn">Lock</button>{% elif c.status == 'Locked' %}<button class="btn-warning btn">Unlock</button>{% endif %} <button class="btn-danger btn">Delete</button></li>
|
||||
<li>{{ c.access_code }} ({{ c.type if c.memo is none or not c.memo else c.memo }}): {{ c.status }} <button onclick="prep_edit_form('{{ c.access_code }}', '{{ c.chip_id}}', '{{ c.idm }}', '{{ c.type }}', '{{ c.memo }}', '{{ c.id }}')" data-bs-toggle="modal" data-bs-target="#card_edit" class="btn btn-secondary" id="btn_edit_card_{{ c.access_code }}">View</button> {% if c.status == 'Active'%}<button class="btn-warning btn">Lock</button>{% elif c.status == 'Locked' %}<button class="btn-warning btn">Unlock</button>{% endif %} <button class="btn-danger btn" {{ "disabled" if cards|length == 1 else ""}}>Delete</button></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
@ -142,31 +180,31 @@ Update successful
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="card_edit_label">Edit Card</h1>
|
||||
<h1 class="modal-title fs-5" id="card_edit_label">Card Information</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="/user/edit.card" method="post" id="frm_edit_card">
|
||||
<input type="hidden" readonly name="card_edit_frm_card_id" id="card_edit_frm_card_id">
|
||||
<label class="form-label" for="card_edit_frm_access_code">Access Code:</label>
|
||||
<input class="form-control" readonly name="add_access_code" id="card_edit_frm_access_code" maxlength="20" type="text" required aria-describedby="ac_help">
|
||||
<input class="form-control-plaintext" readonly name="card_edit_frm_access_code" id="card_edit_frm_access_code" maxlength="20" type="text" required aria-describedby="ac_help">
|
||||
<div id="ac_help" class="form-text">20 digit code on the back of the card. If this is incorrect, contact a sysadmin.</div>
|
||||
|
||||
<label class="form-label" for="card_edit_frm_idm" id="card_edit_frm_idm_lbl">FeliCa IDm:</label>
|
||||
<input class="form-control-plaintext" aria-describedby="idm_help" name="add_felica_idm" id="card_edit_frm_idm" maxlength="16" type="text" readonly>
|
||||
<div id="idm_help" class="form-text">8 bytes that uniquly idenfites a FeliCa card. Obtained by reading the card with an NFC reader.</div>
|
||||
|
||||
<label class="form-label" for="card_edit_frm_chip_id" id="card_edit_frm_chip_id_lbl">Mifare UID:</label>
|
||||
<input class="form-control-plaintext" aria-describedby="chip_id_help" name="add_mifare_chip_id" id="card_edit_frm_chip_id" maxlength="8" type="text" readonly>
|
||||
<div id="chip_id_help" class="form-text">4 byte integer that uniquly identifies a Mifare card. Obtained by reading the card with an NFC reader.</div>
|
||||
|
||||
<label class="form-label" for="card_edit_frm_memo" id="card_edit_frm_memo_lbl">Memo:</label>
|
||||
<input class="form-control" aria-describedby="memo_help" name="add_memo" id="card_edit_frm_memo" maxlength="16" type="text">
|
||||
<div id="memo_help" class="form-text">Must be 16 characters or less.</div>
|
||||
|
||||
<label class="form-label" for="card_edit_frm_idm" id="card_edit_frm_idm_lbl">FeliCa IDm:</label>
|
||||
<input class="form-control" aria-describedby="idm_help" name="add_felica_idm" id="card_edit_frm_idm" maxlength="16" type="text">
|
||||
<div id="idm_help" class="form-text">8 bytes that uniquly idenfites a FeliCa card. Obtained by reading the card with an NFC reader.</div>
|
||||
|
||||
<label class="form-label" for="card_edit_frm_chip_id" id="card_edit_frm_chip_id_lbl">Mifare UID:</label>
|
||||
<input class="form-control" aria-describedby="chip_id_help" name="add_mifare_chip_id" id="card_edit_frm_chip_id" maxlength="8" type="text">
|
||||
<div id="chip_id_help" class="form-text">4 byte integer that uniquly identifies a Mifare card. Obtained by reading the card with an NFC reader.</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn btn-primary" form="frm_edit_card">Edit</button>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<button type="submit" class="btn btn-primary">Update Memo</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -23,6 +23,10 @@ You must be logged in to preform this action
|
||||
Invalid serial number
|
||||
{% elif error == 11 %}
|
||||
Access Denied
|
||||
{% elif error == 12 %}
|
||||
Card already registered
|
||||
{% elif error == 13 %}
|
||||
AmusementIC Access Codes beginning with 5 must have IDm
|
||||
{% else %}
|
||||
An unknown error occoured
|
||||
{% endif %}
|
||||
|
11
dbutils.py
11
dbutils.py
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import logging
|
||||
from os import mkdir, path, access, W_OK
|
||||
from os import mkdir, path, access, W_OK, environ
|
||||
import yaml
|
||||
import asyncio
|
||||
|
||||
@ -25,10 +25,11 @@ if __name__ == "__main__":
|
||||
parser.add_argument("action", type=str, help="create, upgrade, downgrade, create-owner, migrate, create-revision, create-autorevision")
|
||||
args = parser.parse_args()
|
||||
|
||||
environ["ARTEMIS_CFG_DIR"] = args.config
|
||||
|
||||
cfg = CoreConfig()
|
||||
if path.exists(f"{args.config}/core.yaml"):
|
||||
cfg_dict = yaml.safe_load(open(f"{args.config}/core.yaml"))
|
||||
cfg_dict.get("database", {})["loglevel"] = "info"
|
||||
cfg.update(cfg_dict)
|
||||
|
||||
if not path.exists(cfg.server.log_dir):
|
||||
@ -42,6 +43,8 @@ if __name__ == "__main__":
|
||||
|
||||
data = Data(cfg)
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
|
||||
if args.action == "create":
|
||||
data.create_database()
|
||||
|
||||
@ -55,19 +58,15 @@ if __name__ == "__main__":
|
||||
data.schema_downgrade(args.version)
|
||||
|
||||
elif args.action == "create-owner":
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(data.create_owner(args.email, args.access_code))
|
||||
|
||||
elif args.action == "migrate":
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(data.migrate())
|
||||
|
||||
elif args.action == "create-revision":
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(data.create_revision(args.message))
|
||||
|
||||
elif args.action == "create-autorevision":
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(data.create_revision_auto(args.message))
|
||||
|
||||
else:
|
||||
|
@ -1,129 +0,0 @@
|
||||
# ARTEMiS - Ubuntu 20.04 LTS Guide
|
||||
This step-by-step guide assumes that you are using a fresh install of Ubuntu 20.04 LTS, some of the steps can be skipped if you already have an installation with MySQL 5.7 or even some of the modules already present on your environment
|
||||
|
||||
# Setup
|
||||
## Install memcached module
|
||||
1. sudo apt-get install memcached
|
||||
2. Under the file /etc/memcached.conf, please make sure the following parameters are set:
|
||||
|
||||
```
|
||||
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
|
||||
# Note that the daemon will grow to this size, but does not start out holding this much
|
||||
# memory
|
||||
|
||||
-I 128m
|
||||
-m 1024
|
||||
```
|
||||
|
||||
** This is mandatory to avoid memcached overload caused by Crossbeats or by massive profiles
|
||||
|
||||
3. Restart memcached using: sudo systemctl restart memcached
|
||||
|
||||
## Install MySQL 5.7
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt install wget -y
|
||||
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
|
||||
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
|
||||
```
|
||||
1. During the first prompt, select Ubuntu Bionic
|
||||
2. Select the default option
|
||||
3. Select MySQL 5.7
|
||||
4. Select the last option
|
||||
```
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
|
||||
sudo apt-get update
|
||||
sudo apt-cache policy mysql-server
|
||||
sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*
|
||||
```
|
||||
|
||||
## Default Configuration for MySQL Server
|
||||
1. sudo mysql_secure_installation
|
||||
> Make sure to follow the steps that will be prompted such as changing the mysql root password and such
|
||||
|
||||
2. Test your MySQL Server login by doing the following command :
|
||||
> mysql -u root -p
|
||||
|
||||
## Create the default ARTEMiS database and user
|
||||
1. mysql -u root -p
|
||||
2. Please change the password indicated in the next line for a custom secure one and continue with the next commands
|
||||
|
||||
```
|
||||
CREATE USER 'aime'@'localhost' IDENTIFIED BY 'MyStrongPass.';
|
||||
CREATE DATABASE aime;
|
||||
GRANT Alter,Create,Delete,Drop,Index,Insert,References,Select,Update ON aime.* TO 'aime'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
exit;
|
||||
```
|
||||
|
||||
3. sudo systemctl restart mysql
|
||||
|
||||
## Install Python modules
|
||||
```
|
||||
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential mysql-client libmysqlclient-dev libmemcached-dev
|
||||
sudo apt install libpython3.8-dev
|
||||
sudo apt-get install python3-software-properties
|
||||
sudo apt install python3-pip
|
||||
sudo pip3 install --upgrade pip testresources
|
||||
sudo pip3 install --upgrade pip setuptools
|
||||
sudo apt-get install python3-tk
|
||||
```
|
||||
7. Change your work path to the ARTEMiS root folder using 'cd' and install the requirements:
|
||||
> sudo python3 -m pip install -r requirements.txt
|
||||
|
||||
## Copy/Rename the folder example_config to config
|
||||
|
||||
## Adjust /config/core.yaml
|
||||
1. Make sure to change the server listen_address to be set to your local machine IP (ex.: 192.168.1.xxx)
|
||||
2. Adjust the proper MySQL information you created earlier
|
||||
3. Add the AimeDB key at the bottom of the file
|
||||
|
||||
## Create the database tables for ARTEMiS
|
||||
1. sudo python3 dbutils.py create
|
||||
|
||||
2. If you get "No module named Crypto", run the following command:
|
||||
```
|
||||
sudo pip uninstall crypto
|
||||
sudo pip uninstall pycrypto
|
||||
sudo pip install pycrypto
|
||||
```
|
||||
|
||||
## Firewall Adjustements
|
||||
```
|
||||
sudo ufw allow 80
|
||||
sudo ufw allow 443
|
||||
sudo ufw allow 8443
|
||||
sudo ufw allow 22345
|
||||
sudo ufw allow 8090
|
||||
sudo ufw allow 8444
|
||||
sudo ufw allow 8080
|
||||
```
|
||||
|
||||
## Running the ARTEMiS instance
|
||||
1. sudo python3 index.py
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
## Game does not connect to ARTEMiS Allnet server
|
||||
1. Double-check your core.yaml, the listen_address is most likely either not binded to the proper IP or the port is not opened
|
||||
|
||||
## Game does not connect to Title Server
|
||||
1. Verify that your core.yaml is setup properly for both the server listen_address and title hostname
|
||||
2. Boot your game and verify that an AllNet response does show and if it does, attempt to open the URI that is shown under a browser such as Edge, Chrome & Firefox.
|
||||
3. If a page is shown, the server is working properly and if it doesn't, double check your port forwarding and also that you have entered the proper local IP under the Title hostname in core.yaml.
|
||||
|
||||
## Unhandled command under AimeDB
|
||||
1. Double check your AimeDB key under core.yaml, it is incorrect.
|
||||
|
||||
## Memcache failed, error 3
|
||||
1. Make sure memcached is properly installed and running. You can check the status of the service using the following command:
|
||||
> sudo systemctl status memcached
|
||||
2. If it is failing, double check the /etc/memcached.conf file, it may have duplicated arguments like the -I and -m
|
||||
3. If it is still not working afterward, you can proceed with a workaround by manually editing the /core/data/cache.py file.
|
||||
```
|
||||
# Make memcache optional
|
||||
try:
|
||||
has_mc = False
|
||||
except ModuleNotFoundError:
|
||||
has_mc = False
|
||||
```
|
@ -59,7 +59,7 @@ GRANT Alter,Create,Delete,Drop,Index,Insert,References,Select,Update ON aime.* T
|
||||
- Put the password you created for the aime user into the `database` section.
|
||||
- Put in the aimedb key (YOU DO NOT GENERATE THIS KEY, FIND IT SOMEWHERE).
|
||||
- Set your hostname to be whatever hostname or IP address games can reach your server at (many games reject localhost and 127.0.0.1).
|
||||
- Optional: generate base64-encoded secrets for aimedb and frontend.
|
||||
- Optional: generate base64-encoded secrets for aimedb and frontend using something like `openssl rand -base64 64`. It is advised to make all secrets different.
|
||||
- See [config.md](docs/config.md) for a full list of options.
|
||||
- edit `idz.yaml`
|
||||
- If you don't plan on anyone using your server to play Initial D Zero, it is best to disable it to cut down on console spam on boot.
|
||||
|
@ -1,102 +0,0 @@
|
||||
# ARTEMiS - Windows 10/11 Guide
|
||||
This step-by-step guide assumes that you are using a fresh install of Windows 10/11 without MySQL installed, some of the steps can be skipped if you already have an installation with MySQL 8.0 or even some of the modules already present on your environment
|
||||
|
||||
# Setup
|
||||
## Install Python Python 3.9 (recommended) or 3.10
|
||||
1. Download Python 3.9 : [Link](https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe)
|
||||
2. Install python-3.9.13-amd64.exe
|
||||
1. Select Customize installation
|
||||
2. Make sure that pip, tcl/tk, and the for all users are checked and hit Next
|
||||
3. Make sure that you enable "Create shortcuts for installed applications" and "Add Python to environment variables" and hit Install
|
||||
|
||||
## Install MySQL 8.0
|
||||
1. Download MySQL 8.0 Server : [Link](https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-8.0.34.0.msi)
|
||||
2. Install mysql-installer-web-community-8.0.34.0.msi
|
||||
1. Click on "Add ..." on the side
|
||||
2. Click on the "+" next to MySQL Servers
|
||||
3. Make sure MySQL Server 8.0.34 - X64 is under the products to be installed.
|
||||
4. Hit Next and Next once installed
|
||||
5. Select the configuration type "Development Computer"
|
||||
6. Hit Next
|
||||
7. Select "Use Legacy Authentication Method (Retain MySQL 5.x compatibility)" and hit Next
|
||||
8. Enter a root password and then hit Next >
|
||||
9. Leave everything under Windows Service as default and hit Next >
|
||||
10. Click on Execute and for it to finish and hit Next> and then Finish
|
||||
3. Open MySQL 8.0 Command Line Client and login as your root user
|
||||
4. Change `<Enter Password Here>` to a new password for the user aime, type those commands to create your user and the database
|
||||
|
||||
```sql
|
||||
CREATE USER 'aime'@'localhost' IDENTIFIED BY '<Enter Password Here>';
|
||||
CREATE DATABASE aime;
|
||||
GRANT Alter,Create,Delete,Drop,Index,Insert,References,Select,Update ON aime.* TO 'aime'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
exit;
|
||||
```
|
||||
|
||||
## Install Python modules
|
||||
1. Change your work path to the artemis-master folder using 'cd' and install the requirements:
|
||||
|
||||
```shell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Copy/Rename the folder `example_config` to `config`
|
||||
|
||||
## Adjust `config/core.yaml`
|
||||
|
||||
1. Make sure to change the server `hostname` to be set to your local machine IP (ex.: 192.168.xxx.xxx)
|
||||
- In case you want to run this only locally, set the following values:
|
||||
|
||||
```yaml
|
||||
server:
|
||||
listen_address: 0.0.0.0
|
||||
title:
|
||||
hostname: 192.168.xxx.xxx
|
||||
```
|
||||
|
||||
1. Adjust the proper MySQL information you created earlier
|
||||
```yaml
|
||||
database:
|
||||
host: "localhost"
|
||||
username: "aime"
|
||||
password: "<Enter Password Here>"
|
||||
name: "aime"
|
||||
```
|
||||
3. Add the AimeDB key at the bottom of the file
|
||||
4. If the webui is needed, change the flag from False to True
|
||||
|
||||
## Create the database tables for ARTEMiS
|
||||
|
||||
```shell
|
||||
python dbutils.py create
|
||||
```
|
||||
|
||||
## Firewall Adjustements
|
||||
Make sure the following ports are open both on your router and local Windows firewall in case you want to use this for public use (NOT recommended):
|
||||
> Port 80 (TCP), 443 (TCP), 8443 (TCP), 22345 (TCP), 8080 (TCP), 8090 (TCP) **webui, 8444 (TCP) **mucha
|
||||
|
||||
## Running the ARTEMiS instance
|
||||
```shell
|
||||
python index.py
|
||||
```
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
## Game does not connect to ARTEMiS Allnet server
|
||||
1. Double-check your core.yaml, the listen_address is most likely either not binded to the proper IP or the port is not opened
|
||||
|
||||
## Game does not connect to Title Server
|
||||
1. Verify that your core.yaml is setup properly for both the server listen_address and title hostname
|
||||
2. Boot your game and verify that an AllNet response does show and if it does, attempt to open the URI that is shown under a browser such as Edge, Chrome & Firefox.
|
||||
3. If a page is shown, the server is working properly and if it doesn't, double check your port forwarding and also that you have entered the proper local IP under the Title hostname in core.yaml.
|
||||
|
||||
## Unhandled command under AimeDB
|
||||
1. Double check your AimeDB key under core.yaml, it is incorrect.
|
||||
|
||||
## AttributeError: module 'collections' has no attribute 'Hashable'
|
||||
1. This means the pyYAML module is obsolete, simply rerun pip with the -U (force update) flag, as shown below.
|
||||
- Change your work path to the artemis-master (or artemis-develop) folder using 'cd' and run the following commands:
|
||||
|
||||
```shell
|
||||
pip install -r requirements.txt -U
|
||||
```
|
@ -17,8 +17,8 @@
|
||||
- `strict_ip_checking`: Rejects clients if there is no IP in the `arcade` table for the respective arcade. Default `False`
|
||||
## Title
|
||||
- `loglevel`: Logging level for the title server. Default `info`
|
||||
- `reboot_start_time`: 24 hour JST time that clients will see as the start of maintenance period, ex `04:00`. Leave blank for no maintenance time. Default: `""`
|
||||
- `reboot_end_time`: 24 hour JST time that clients will see as the end of maintenance period, ex `05:00`. Leave blank for no maintenance time. Default: `""`
|
||||
- `reboot_start_time`: 24 hour JST time that clients will see as the start of maintenance period, ex `04:00`. A few games or early version will report errors if it is empty, ex maimai DX 1.00
|
||||
- `reboot_end_time`: 24 hour JST time that clients will see as the end of maintenance period, ex `07:00`. this must be set to 7:00 am for some game, please do not change it.
|
||||
## Database
|
||||
- `host`: Host of the database. Default `localhost`
|
||||
- `username`: Username of the account the server should connect to the database with. Default `aime`
|
||||
|
@ -82,21 +82,29 @@ The importer for Chunithm will import: Events, Music, Charge Items and Avatar Ac
|
||||
|
||||
Config file is located in `config/chuni.yaml`.
|
||||
|
||||
| Option | Info |
|
||||
|------------------|----------------------------------------------------------------------------------------------------------------|
|
||||
| `news_msg` | If this is set, the news at the top of the main screen will be displayed (up to Chunithm Paradise Lost) |
|
||||
| `name` | If this is set, all players that are not on a team will use this one by default. |
|
||||
| `use_login_bonus`| This is used to enable the login bonuses |
|
||||
| `crypto` | This option is used to enable the TLS Encryption |
|
||||
| Option | Info |
|
||||
|------------------|---------------------------------------------------------------------------------------------------------------------|
|
||||
| `news_msg` | If this is set, the news at the top of the main screen will be displayed (up to Chunithm Paradise Lost) |
|
||||
| `name` | If this is set, all players that are not on a team will use this one by default. |
|
||||
| `use_login_bonus`| This is used to enable the login bonuses |
|
||||
| `stock_tickets` | If this is set, specifies tickets to auto-stock at login. Format is a comma-delimited list of IDs. Defaults to None |
|
||||
| `stock_count` | Ignored if stock_tickets is not specified. Number to stock of each ticket. Defaults to 99 |
|
||||
| `crypto` | This option is used to enable the TLS Encryption |
|
||||
|
||||
|
||||
**If you would like to use network encryption, the following will be required underneath but key, iv and hash are required:**
|
||||
If you would like to use network encryption, add the keys to the `keys` section under `crypto`, where the key
|
||||
is the version ID for Japanese (SDHD) versions and `"{versionID}_int"` for Export (SDGS) versions, and the value
|
||||
is an array containing `[key, iv, salt, iter_count]` in order.
|
||||
|
||||
`iter_count` is optional for all Japanese (SDHD) versions but may be required for some Export (SDGS) versions.
|
||||
You will receive an error in the logs if it needs to be specified.
|
||||
|
||||
```yaml
|
||||
crypto:
|
||||
encrypted_only: False
|
||||
keys:
|
||||
13: ["0000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "0000000000000000"]
|
||||
"13_int": ["0000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "0000000000000000", 42]
|
||||
```
|
||||
|
||||
### Database upgrade
|
||||
@ -178,6 +186,14 @@ Config file is located in `config/cxb.yaml`.
|
||||
|
||||
## maimai DX
|
||||
|
||||
### Presents
|
||||
Presents are items given to the user when they login, with a little animation (for example, the KOP song was given to the finalists as a present). To add a present, you must insert it into the `mai2_item_present` table. In that table, a NULL version means any version, a NULL user means any user, a NULL start date means always open, and a NULL end date means it never expires. Below is a list of presents one might wish to add:
|
||||
|
||||
| Game Version | Item ID | Item Kind | Item Description | Present Description |
|
||||
|--------------|---------|-----------|-------------------------------------------------|------------------------------------------------|
|
||||
| BUDDiES (21) | 409505 | Icon (3) | 旅行スタンプ(月面基地) (Travel Stamp - Moon Base) | Officially obtained on the webui with a serial |
|
||||
| | | | | number, for project raputa |
|
||||
|
||||
### Versions
|
||||
|
||||
| Game Code | Version ID | Version Name |
|
||||
@ -257,10 +273,14 @@ the Shop, Modules and Customizations.
|
||||
|
||||
Config file is located in `config/diva.yaml`.
|
||||
|
||||
| Option | Info |
|
||||
| -------------------- | ----------------------------------------------------------------------------------------------- |
|
||||
| `unlock_all_modules` | Unlocks all modules (costumes) by default, if set to `False` all modules need to be purchased |
|
||||
| `unlock_all_items` | Unlocks all items (customizations) by default, if set to `False` all items need to be purchased |
|
||||
| Option | Info |
|
||||
| -------------------- | ------------------------------------------------------------------------------------------------ |
|
||||
| `festa_enable` | Enable or disable the ingame festa |
|
||||
| `festa_add_VP` | Set the extra VP you get when clearing a song, if festa is not enabled no extra VP will be given |
|
||||
| `festa_multiply_VP` | Multiplier for festa add VP |
|
||||
| `festa_end_time` | Set the date time for when festa will end and not show up in game anymore |
|
||||
| `unlock_all_modules` | Unlocks all modules (costumes) by default, if set to `False` all modules need to be purchased |
|
||||
| `unlock_all_items` | Unlocks all items (customizations) by default, if set to `False` all items need to be purchased |
|
||||
|
||||
### Custom PV Lists (databanks)
|
||||
|
||||
|
34
docs/migrating.md
Normal file
34
docs/migrating.md
Normal file
@ -0,0 +1,34 @@
|
||||
# Migrating from an older build of ARTEMiS
|
||||
If you haven't updated artemis in a while, you may find that configuration options have moved, been renamed, or no longer exist. This document exists to help migrate from legacy versions of artemis to newer builds.
|
||||
|
||||
## Dependancies
|
||||
Make sure your dependiences are up to date with what's required to run artemis. A simple `pip install -r requirements.txt` will get you up to date.
|
||||
|
||||
## Database
|
||||
Database migration is required if you are using a version of artemis that still uses the old custom-rolled database versioning system (raw SQL scripts). Artemis now uses alembic to manage database versioning, and you will need to move to this new system.
|
||||
|
||||
**BEFORE DOING ANY DATABASE WORK, ALWAYS MAKE SURE YOU HAVE FUNCTIONAL, UP-TO-DATE BACKUPS!!**
|
||||
|
||||
For almost all situations, simply running `python dbutils.py migrate` will do the job. This will upgrade you to the latest version of the old system, move you over to alembic, then upgrade you to the newest alembic version. If you encounter any errors or data loss, you should report this as a bug to our issue tracker.
|
||||
|
||||
## Configuration
|
||||
Configuration management is the sewage cleaning of the sysadmin world. It sucks and nobody likes to do it, but it needs to be done or everyone ends up in deep shit. This section will walk through what configuration options have changed, and how to set them properly.
|
||||
|
||||
### core.yaml
|
||||
`title`->`hostname` is now `server`->`hostname`. This hostname is what gets sent to clients in response to auth requests, so it should be both accessable from whereever the client is, and point properly to the title server.
|
||||
|
||||
With the move to starlette and uvicorn, different services now run as seperate USGI applications. `billing`->`standalone` and `allnet`->`standalone` are flags that determine weather the service runs as a stand-alone service, on it's own seperate port, or as a part of the whole application. For example, setting `billing`->`standalone` to `True` will cause a seperate instance of the billing server to spin up listening on 8443 with SSL using the certs listed in the config file. Setting it to `False` will just allow the main server to also serve `/request/` and assumes that something is standing in front of it proxying 8443 SSL to whatever `server`->`port` is set to.
|
||||
|
||||
Beforehand, if `server`->`is_develop` was `False`, the server assumed that there was a proxy standing in front of it, proxying requests to proper channels. This was, in hindsight, a very dumb assumption. Now, `server`->`is_using_proxy` is what flags the server as having nginx or another proxy in front of it. The effects of setting this to true are somewhat game-dependant, but generally artemis will use the port listed in `server`->`proxy_port` (and `server`->`proxy_port_ssl` for SSL connections, as defined by the games) instead of `server`->`port`. If set to 0, `server`->`proxy_port` will default to what `server`->`port` (and `server`->`proxy_port_ssl` will default to 443) make sure to set them accordingly. Note that some title servers have their own needs and specify their own specific ports. Refer to [game_specific_info.md](docs/game_specific_info.md) for more infomation. (For example, pokken requires SSL using an older, weaker certificate, and always requires the port to be sent even if it's port 443)
|
||||
|
||||
`index.py`'s args have changed. You can now override what port the title server listens on with `-p` and tell the server to use ssl with `-s`.
|
||||
|
||||
Rather then having a `standalone` config variable, the frontend is a seperate wsgi app entirely. Having `enable` be `True` will launch it on the port specified in the config file. Otherwise, the fontend will not run.
|
||||
|
||||
`title`->`reboot_start_time`/`reboot_end_time` allow you to specify when the games should be told network maintanence is happening. It's exact implementation depends on the game. Do note that many games will beave unexpectly if `reboot_end_time` is not `07:00`.
|
||||
|
||||
If you wish to make use of aimedb's SegaAuthId system to better protect the few title servers that actually use it, set `aimedb`->`id_secret` to base64-encoded random bytes (32 is a good length) using something like `openssl rand -base64 64`. If you intend to use the frontend, the same thing must be done for `frontend`->`secret` or you won't be able to log in.
|
||||
|
||||
`mucha`'s only option is now just log level.
|
||||
|
||||
`aimedb` now has it's own `listen_address` field, in case you want to proxy everything but aimedb, so it can still listen on `0.0.0.0` instead of `127.0.0.1`.
|
@ -8,7 +8,11 @@ team:
|
||||
|
||||
mods:
|
||||
use_login_bonus: True
|
||||
|
||||
# stock_tickets allows specified ticket IDs to be auto-stocked at login. Format is a comma-delimited string of ticket IDs
|
||||
# note: quanity is not refreshed on "continue" after set - only on subsequent login
|
||||
stock_tickets:
|
||||
stock_count: 99
|
||||
|
||||
version:
|
||||
11:
|
||||
rom: 2.00.00
|
||||
|
@ -18,7 +18,7 @@ server:
|
||||
title:
|
||||
loglevel: "info"
|
||||
reboot_start_time: "04:00"
|
||||
reboot_end_time: "05:00"
|
||||
reboot_end_time: "07:00" # this must be set to 7:00 am for some game, please do not change it
|
||||
|
||||
database:
|
||||
host: "localhost"
|
||||
|
@ -1,4 +1,4 @@
|
||||
server:
|
||||
enable: True
|
||||
loglevel: "info"
|
||||
use:https: True
|
||||
use_https: True
|
@ -1,6 +1,10 @@
|
||||
server:
|
||||
enable: True
|
||||
loglevel: "info"
|
||||
festa_enable: True
|
||||
festa_add_VP: "20,5"
|
||||
festa_multiply_VP: "1,2"
|
||||
festa_end_time: "2029-01-01 00:00:00.0"
|
||||
|
||||
mods:
|
||||
unlock_all_modules: True
|
||||
|
@ -2,12 +2,19 @@ server:
|
||||
enable: True
|
||||
loglevel: "info"
|
||||
auto_register: True
|
||||
photon_app_id: "7df3a2f6-d69d-4073-aafe-810ee61e1cea"
|
||||
data_version: 1
|
||||
game_version: 33
|
||||
|
||||
crypt:
|
||||
enable: False
|
||||
key: ""
|
||||
iv: ""
|
||||
|
||||
hash:
|
||||
verify_hash: False
|
||||
hash_base: ""
|
||||
hash_base: ""
|
||||
|
||||
card:
|
||||
enable: True
|
||||
crypt_password: ""
|
||||
crypt_salt: ""
|
||||
|
3
index.py
3
index.py
@ -6,7 +6,8 @@ import uvicorn
|
||||
import logging
|
||||
import asyncio
|
||||
|
||||
from core import CoreConfig, AimedbServlette
|
||||
from core.config import CoreConfig
|
||||
from core.aimedb import AimedbServlette
|
||||
|
||||
async def launch_main(cfg: CoreConfig, ssl: bool) -> None:
|
||||
if ssl:
|
||||
|
@ -29,6 +29,7 @@ Games listed below have been tested and confirmed working. Only game versions ol
|
||||
+ NEW PLUS
|
||||
+ SUN
|
||||
+ SUN PLUS
|
||||
+ LUMINOUS
|
||||
|
||||
+ crossbeats REV.
|
||||
+ Crossbeats REV.
|
||||
|
@ -24,20 +24,35 @@ class ChuniBase:
|
||||
|
||||
async def handle_game_login_api_request(self, data: Dict) -> Dict:
|
||||
"""
|
||||
Handles the login bonus logic, required for the game because
|
||||
getUserLoginBonus gets called after getUserItem and therefore the
|
||||
Handles the login bonus and ticket stock logic, required for the game
|
||||
because getUserLoginBonus gets called after getUserItem; therefore the
|
||||
items needs to be inserted in the database before they get requested.
|
||||
|
||||
Adds a bonusCount after a user logged in after 24 hours, makes sure
|
||||
loginBonus 30 gets looped, only show the login banner every 24 hours,
|
||||
adds the bonus to items (itemKind 6)
|
||||
- Adds a stock for each specified ticket (itemKind 5)
|
||||
- Adds a bonusCount after a user logged in after 24 hours, makes sure
|
||||
loginBonus 30 gets looped, only show the login banner every 24 hours,
|
||||
adds the bonus to items (itemKind 6)
|
||||
"""
|
||||
|
||||
user_id = data["userId"]
|
||||
|
||||
# If we want to make certain tickets always available, stock them now
|
||||
if self.game_cfg.mods.stock_tickets:
|
||||
for ticket in self.game_cfg.mods.stock_tickets.split(","):
|
||||
await self.data.item.put_item(
|
||||
user_id,
|
||||
{
|
||||
"itemId": ticket.strip(),
|
||||
"itemKind": 5,
|
||||
"stock": self.game_cfg.mods.stock_count,
|
||||
"isValid": True,
|
||||
},
|
||||
)
|
||||
|
||||
# ignore the login bonus if disabled in config
|
||||
if not self.game_cfg.mods.use_login_bonus:
|
||||
return {"returnCode": 1}
|
||||
|
||||
user_id = data["userId"]
|
||||
login_bonus_presets = await self.data.static.get_login_bonus_presets(self.version)
|
||||
|
||||
for preset in login_bonus_presets:
|
||||
@ -720,9 +735,14 @@ class ChuniBase:
|
||||
team_id = 65535
|
||||
team_name = self.game_cfg.team.team_name
|
||||
team_rank = 0
|
||||
team_user_point = 0
|
||||
|
||||
# Get user profile
|
||||
profile = await self.data.profile.get_profile_data(data["userId"], self.version)
|
||||
|
||||
if profile is None:
|
||||
return {"userId": data["userId"], "teamId": 0}
|
||||
|
||||
if profile and profile["teamId"]:
|
||||
# Get team by id
|
||||
team = await self.data.profile.get_team_by_id(profile["teamId"])
|
||||
@ -731,7 +751,12 @@ class ChuniBase:
|
||||
team_id = team["id"]
|
||||
team_name = team["teamName"]
|
||||
team_rank = await self.data.profile.get_team_rank(team["id"])
|
||||
|
||||
team_point = team["teamPoint"]
|
||||
if team["userTeamPoint"] is not None and team["userTeamPoint"] != "":
|
||||
user_team_point_data = json.loads(team["userTeamPoint"])
|
||||
for user_point_data in user_team_point_data:
|
||||
if user_point_data["user"] == data["userId"]:
|
||||
team_user_point = int(user_point_data["userPoint"])
|
||||
# Don't return anything if no team name has been defined for defaults and there is no team set for the player
|
||||
if not profile["teamId"] and team_name == "":
|
||||
return {"userId": data["userId"], "teamId": 0}
|
||||
@ -741,11 +766,12 @@ class ChuniBase:
|
||||
"teamId": team_id,
|
||||
"teamRank": team_rank,
|
||||
"teamName": team_name,
|
||||
"assaultTimeRate": 1, # TODO: Figure out assaultTime, which might be team point boost?
|
||||
"userTeamPoint": {
|
||||
"userId": data["userId"],
|
||||
"teamId": team_id,
|
||||
"orderId": 1,
|
||||
"teamPoint": 1,
|
||||
"orderId": 0,
|
||||
"teamPoint": team_user_point,
|
||||
"aggrDate": data["playDate"],
|
||||
},
|
||||
}
|
||||
|
@ -53,6 +53,18 @@ class ChuniModsConfig:
|
||||
self.__config, "chuni", "mods", "use_login_bonus", default=True
|
||||
)
|
||||
|
||||
@property
|
||||
def stock_tickets(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "chuni", "mods", "stock_tickets", default=None
|
||||
)
|
||||
|
||||
@property
|
||||
def stock_count(self) -> int:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "chuni", "mods", "stock_count", default=99
|
||||
)
|
||||
|
||||
|
||||
class ChuniVersionConfig:
|
||||
def __init__(self, parent_config: "ChuniConfig") -> None:
|
||||
|
@ -19,11 +19,13 @@ class ChuniConstants:
|
||||
VER_CHUNITHM_CRYSTAL = 8
|
||||
VER_CHUNITHM_CRYSTAL_PLUS = 9
|
||||
VER_CHUNITHM_PARADISE = 10
|
||||
|
||||
VER_CHUNITHM_NEW = 11
|
||||
VER_CHUNITHM_NEW_PLUS = 12
|
||||
VER_CHUNITHM_SUN = 13
|
||||
VER_CHUNITHM_SUN_PLUS = 14
|
||||
VER_CHUNITHM_LUMINOUS = 15
|
||||
|
||||
VERSION_NAMES = [
|
||||
"CHUNITHM",
|
||||
"CHUNITHM PLUS",
|
||||
@ -43,6 +45,37 @@ class ChuniConstants:
|
||||
"CHUNITHM LUMINOUS",
|
||||
]
|
||||
|
||||
SCORE_RANK_INTERVALS_OLD = [
|
||||
(1007500, "SSS"),
|
||||
(1000000, "SS"),
|
||||
( 975000, "S"),
|
||||
( 950000, "AAA"),
|
||||
( 925000, "AA"),
|
||||
( 900000, "A"),
|
||||
( 800000, "BBB"),
|
||||
( 700000, "BB"),
|
||||
( 600000, "B"),
|
||||
( 500000, "C"),
|
||||
( 0, "D"),
|
||||
]
|
||||
|
||||
SCORE_RANK_INTERVALS_NEW = [
|
||||
(1009000, "SSS+"), # New only
|
||||
(1007500, "SSS"),
|
||||
(1005000, "SS+"), # New only
|
||||
(1000000, "SS"),
|
||||
( 990000, "S+"), # New only
|
||||
( 975000, "S"),
|
||||
( 950000, "AAA"),
|
||||
( 925000, "AA"),
|
||||
( 900000, "A"),
|
||||
( 800000, "BBB"),
|
||||
( 700000, "BB"),
|
||||
( 600000, "B"),
|
||||
( 500000, "C"),
|
||||
( 0, "D"),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def game_ver_to_string(cls, ver: int):
|
||||
return cls.VERSION_NAMES[ver]
|
||||
|
@ -13,6 +13,69 @@ from .config import ChuniConfig
|
||||
from .const import ChuniConstants
|
||||
|
||||
|
||||
def pairwise(iterable):
|
||||
# https://docs.python.org/3/library/itertools.html#itertools.pairwise
|
||||
# but for Python < 3.10. pairwise('ABCDEFG') → AB BC CD DE EF FG
|
||||
iterator = iter(iterable)
|
||||
a = next(iterator, None)
|
||||
for b in iterator:
|
||||
yield a, b
|
||||
a = b
|
||||
|
||||
|
||||
def calculate_song_rank(score: int, game_version: int) -> str:
|
||||
if game_version >= ChuniConstants.VER_CHUNITHM_NEW:
|
||||
intervals = ChuniConstants.SCORE_RANK_INTERVALS_NEW
|
||||
else:
|
||||
intervals = ChuniConstants.SCORE_RANK_INTERVALS_OLD
|
||||
|
||||
for (min_score, rank) in intervals:
|
||||
if score >= min_score:
|
||||
return rank
|
||||
|
||||
return "D"
|
||||
|
||||
|
||||
def calculate_song_rating(score: int, chart_constant: float, game_version: int) -> float:
|
||||
is_new = game_version >= ChuniConstants.VER_CHUNITHM_NEW
|
||||
|
||||
if is_new: # New and later
|
||||
max_score = 1009000
|
||||
max_rating_modifier = 2.15
|
||||
else: # Up to Paradise Lost
|
||||
max_score = 1007500
|
||||
max_rating_modifier = 2.0
|
||||
|
||||
if (score < 500000):
|
||||
return 0.0 # D
|
||||
elif (score >= max_score):
|
||||
return chart_constant + max_rating_modifier # SSS/SSS+
|
||||
|
||||
# Okay, we're doing this the hard way.
|
||||
# Rating goes up linearly between breakpoints listed below.
|
||||
# Pick the score interval in which we are in, then calculate
|
||||
# the position between possible ratings.
|
||||
score_intervals = [
|
||||
( 500000, 0.0), # C
|
||||
( 800000, max(0.0, (chart_constant - 5.0) / 2)), # BBB
|
||||
( 900000, max(0.0, (chart_constant - 5.0))), # A
|
||||
( 925000, max(0.0, (chart_constant - 3.0))), # AA
|
||||
( 975000, chart_constant), # S
|
||||
(1000000, chart_constant + 1.0), # SS
|
||||
(1005000, chart_constant + 1.5), # SS+
|
||||
(1007500, chart_constant + 2.0), # SSS
|
||||
(1009000, chart_constant + max_rating_modifier), # SSS+!
|
||||
]
|
||||
|
||||
for ((lo_score, lo_rating), (hi_score, hi_rating)) in pairwise(score_intervals):
|
||||
if not (lo_score <= score < hi_score):
|
||||
continue
|
||||
|
||||
interval_pos = (score - lo_score) / (hi_score - lo_score)
|
||||
return lo_rating + ((hi_rating - lo_rating) * interval_pos)
|
||||
|
||||
|
||||
|
||||
class ChuniFrontend(FE_Base):
|
||||
def __init__(
|
||||
self, cfg: CoreConfig, environment: jinja2.Environment, cfg_dir: str
|
||||
@ -91,37 +154,27 @@ class ChuniFrontend(FE_Base):
|
||||
base_list=[]
|
||||
if profile and rating:
|
||||
song_records = []
|
||||
|
||||
for song in rating:
|
||||
music_chart = await self.data.static.get_music_chart(usr_sesh.chunithm_version, song.musicId, song.difficultId)
|
||||
if music_chart:
|
||||
if (song.score < 800000):
|
||||
song_rating = 0
|
||||
elif (song.score >= 800000 and song.score < 900000):
|
||||
song_rating = music_chart.level / 2 - 5
|
||||
elif (song.score >= 900000 and song.score < 925000):
|
||||
song_rating = music_chart.level - 5
|
||||
elif (song.score >= 925000 and song.score < 975000):
|
||||
song_rating = music_chart.level - 3
|
||||
elif (song.score >= 975000 and song.score < 1000000):
|
||||
song_rating = (song.score - 975000) / 2500 * 0.1 + music_chart.level
|
||||
elif (song.score >= 1000000 and song.score < 1005000):
|
||||
song_rating = (song.score - 1000000) / 1000 * 0.1 + 1 + music_chart.level
|
||||
elif (song.score >= 1005000 and song.score < 1007500):
|
||||
song_rating = (song.score - 1005000) / 500 * 0.1 + 1.5 + music_chart.level
|
||||
elif (song.score >= 1007500 and song.score < 1009000):
|
||||
song_rating = (song.score - 1007500) / 100 * 0.01 + 2 + music_chart.level
|
||||
elif (song.score >= 1009000):
|
||||
song_rating = 2.15 + music_chart.level
|
||||
song_rating = int(song_rating * 10 ** 2) / 10 ** 2
|
||||
song_records.append({
|
||||
"difficultId": song.difficultId,
|
||||
"musicId": song.musicId,
|
||||
"title": music_chart.title,
|
||||
"level": music_chart.level,
|
||||
"score": song.score,
|
||||
"type": song.type,
|
||||
"song_rating": song_rating,
|
||||
})
|
||||
if not music_chart:
|
||||
continue
|
||||
|
||||
rank = calculate_song_rank(song.score, profile.version)
|
||||
rating = calculate_song_rating(song.score, music_chart.level, profile.version)
|
||||
|
||||
song_rating = int(rating * 10 ** 2) / 10 ** 2
|
||||
song_records.append({
|
||||
"difficultId": song.difficultId,
|
||||
"musicId": song.musicId,
|
||||
"title": music_chart.title,
|
||||
"level": music_chart.level,
|
||||
"score": song.score,
|
||||
"type": song.type,
|
||||
"rank": rank,
|
||||
"song_rating": song_rating,
|
||||
})
|
||||
|
||||
hot_list = [obj for obj in song_records if obj["type"] == "userRatingBaseHotList"]
|
||||
base_list = [obj for obj in song_records if obj["type"] == "userRatingBaseList"]
|
||||
return Response(template.render(
|
||||
@ -234,13 +287,13 @@ class ChuniFrontend(FE_Base):
|
||||
if usr_sesh.user_id > 0:
|
||||
form_data = await request.form()
|
||||
chunithm_version = form_data.get("version")
|
||||
self.logger.info(f"version change to: {chunithm_version}")
|
||||
self.logger.debug(f"version change to: {chunithm_version}")
|
||||
if(chunithm_version.isdigit()):
|
||||
usr_sesh.chunithm_version=int(chunithm_version)
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
self.logger.info(f"Created session with JWT {encoded_sesh}")
|
||||
self.logger.debug(f"Created session with JWT {encoded_sesh}")
|
||||
resp = RedirectResponse("/game/chuni/", 303)
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
return resp
|
||||
else:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
@ -41,7 +41,7 @@ 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}"))
|
||||
@ -92,32 +92,65 @@ class ChuniServlet(BaseServlet):
|
||||
)
|
||||
self.logger.inited = True
|
||||
|
||||
known_iter_counts = {
|
||||
ChuniConstants.VER_CHUNITHM_CRYSTAL_PLUS: 67,
|
||||
f"{ChuniConstants.VER_CHUNITHM_CRYSTAL_PLUS}_int": 25, # SUPERSTAR
|
||||
ChuniConstants.VER_CHUNITHM_PARADISE: 44,
|
||||
f"{ChuniConstants.VER_CHUNITHM_PARADISE}_int": 51, # SUPERSTAR PLUS
|
||||
ChuniConstants.VER_CHUNITHM_NEW: 54,
|
||||
f"{ChuniConstants.VER_CHUNITHM_NEW}_int": 49,
|
||||
ChuniConstants.VER_CHUNITHM_NEW_PLUS: 25,
|
||||
f"{ChuniConstants.VER_CHUNITHM_NEW_PLUS}_int": 31,
|
||||
ChuniConstants.VER_CHUNITHM_SUN: 70,
|
||||
f"{ChuniConstants.VER_CHUNITHM_SUN}_int": 35,
|
||||
ChuniConstants.VER_CHUNITHM_SUN_PLUS: 36,
|
||||
f"{ChuniConstants.VER_CHUNITHM_SUN_PLUS}_int": 36,
|
||||
ChuniConstants.VER_CHUNITHM_LUMINOUS: 8,
|
||||
f"{ChuniConstants.VER_CHUNITHM_LUMINOUS}_int": 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_LUMINOUS:
|
||||
iter_count = 8
|
||||
elif 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,
|
||||
@ -127,7 +160,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
|
||||
@ -205,8 +238,10 @@ class ChuniServlet(BaseServlet):
|
||||
elif version >= 220: # LUMINOUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_LUMINOUS
|
||||
elif game_code == "SDGS": # Int
|
||||
if version < 110: # SUPERSTAR / SUPERSTAR PLUS
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_PARADISE # SUPERSTAR / SUPERSTAR PLUS worked fine with it
|
||||
if version < 105: # SUPERSTAR
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_CRYSTAL_PLUS
|
||||
elif version >= 105 and version < 110: # SUPERSTAR PLUS *Cursed but needed due to different encryption key
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_PARADISE
|
||||
elif version >= 110 and version < 115: # NEW
|
||||
internal_ver = ChuniConstants.VER_CHUNITHM_NEW
|
||||
elif version >= 115 and version < 120: # NEW PLUS!!
|
||||
@ -220,31 +255,39 @@ class ChuniServlet(BaseServlet):
|
||||
|
||||
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)
|
||||
@ -317,9 +360,9 @@ class ChuniServlet(BaseServlet):
|
||||
padded = pad(zipped, 16)
|
||||
|
||||
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]),
|
||||
)
|
||||
|
||||
return Response(crypt.encrypt(padded))
|
||||
|
@ -104,7 +104,8 @@ class ChuniNew(ChuniBase):
|
||||
return {"returnCode": "1"}
|
||||
|
||||
async def handle_get_user_map_area_api_request(self, data: Dict) -> Dict:
|
||||
user_map_areas = await self.data.item.get_map_areas(data["userId"])
|
||||
map_area_ids = [int(area["mapAreaId"]) for area in data["mapAreaIdList"]]
|
||||
user_map_areas = await self.data.item.get_map_areas(data["userId"], map_area_ids)
|
||||
|
||||
map_areas = []
|
||||
for map_area in user_map_areas:
|
||||
|
@ -35,11 +35,15 @@ class ChuniReader(BaseReader):
|
||||
|
||||
if self.opt_dir is not None:
|
||||
data_dirs += self.get_data_directories(self.opt_dir)
|
||||
|
||||
we_diff = "4"
|
||||
if self.version >= ChuniConstants.VER_CHUNITHM_NEW:
|
||||
we_diff = "5"
|
||||
|
||||
for dir in data_dirs:
|
||||
self.logger.info(f"Read from {dir}")
|
||||
await self.read_events(f"{dir}/event")
|
||||
await self.read_music(f"{dir}/music")
|
||||
await self.read_music(f"{dir}/music", we_diff)
|
||||
await self.read_charges(f"{dir}/chargeItem")
|
||||
await self.read_avatar(f"{dir}/avatarAccessory")
|
||||
await self.read_login_bonus(f"{dir}/")
|
||||
@ -138,7 +142,7 @@ class ChuniReader(BaseReader):
|
||||
else:
|
||||
self.logger.warning(f"Failed to insert event {id}")
|
||||
|
||||
async def read_music(self, music_dir: str) -> None:
|
||||
async def read_music(self, music_dir: str, we_diff: str = "4") -> None:
|
||||
for root, dirs, files in walk(music_dir):
|
||||
for dir in dirs:
|
||||
if path.exists(f"{root}/{dir}/Music.xml"):
|
||||
@ -169,7 +173,7 @@ class ChuniReader(BaseReader):
|
||||
chart_type = MusicFumenData.find("type")
|
||||
chart_id = chart_type.find("id").text
|
||||
chart_diff = chart_type.find("str").text
|
||||
if chart_diff == "WorldsEnd" and (chart_id == "4" or chart_id == "5"): # 4 in SDBT, 5 in SDHD
|
||||
if chart_diff == "WorldsEnd" and chart_id == we_diff: # 4 in SDBT, 5 in SDHD
|
||||
level = float(xml_root.find("starDifType").text)
|
||||
we_chara = (
|
||||
xml_root.find("worldsEndTagName")
|
||||
|
@ -533,8 +533,8 @@ class ChuniItemData(BaseData):
|
||||
return None
|
||||
return result.lastrowid
|
||||
|
||||
async def get_map_areas(self, user_id: int) -> Optional[List[Row]]:
|
||||
sql = select(map_area).where(map_area.c.user == user_id)
|
||||
async def get_map_areas(self, user_id: int, map_area_ids: List[int]) -> Optional[List[Row]]:
|
||||
sql = select(map_area).where(map_area.c.user == user_id, map_area.c.mapAreaId.in_(map_area_ids))
|
||||
|
||||
result = await self.execute(sql)
|
||||
if result is None:
|
||||
|
@ -1,3 +1,4 @@
|
||||
import json
|
||||
from typing import Dict, List, Optional
|
||||
from sqlalchemy import Table, Column, UniqueConstraint, and_
|
||||
from sqlalchemy.types import Integer, String, Boolean, JSON, BigInteger
|
||||
@ -389,6 +390,7 @@ team = Table(
|
||||
Column("id", Integer, primary_key=True, nullable=False),
|
||||
Column("teamName", String(255)),
|
||||
Column("teamPoint", Integer),
|
||||
Column("userTeamPoint", JSON),
|
||||
mysql_charset="utf8mb4",
|
||||
)
|
||||
|
||||
@ -705,12 +707,36 @@ class ChuniProfileData(BaseData):
|
||||
# Return the rank if found, or a default rank otherwise
|
||||
return rank if rank is not None else 0
|
||||
|
||||
# RIP scaled team ranking. Gone, but forgotten
|
||||
# def get_team_rank_scaled(self, team_id: int) -> int:
|
||||
|
||||
async def update_team(self, team_id: int, team_data: Dict) -> bool:
|
||||
async def update_team(self, team_id: int, team_data: Dict, user_id: str, user_point_delta: int) -> bool:
|
||||
# Update the team data
|
||||
team_data["id"] = team_id
|
||||
|
||||
existing_team = self.get_team_by_id(team_id)
|
||||
if existing_team is None or "userTeamPoint" not in existing_team:
|
||||
self.logger.warn(
|
||||
f"update_team: Failed to update team! team id: {team_id}. Existing team data not found."
|
||||
)
|
||||
return False
|
||||
user_team_point_data = []
|
||||
if existing_team["userTeamPoint"] is not None and existing_team["userTeamPoint"] != "":
|
||||
user_team_point_data = json.loads(existing_team["userTeamPoint"])
|
||||
updated = False
|
||||
|
||||
# Try to find the user in the existing data and update their points
|
||||
for user_point_data in user_team_point_data:
|
||||
if user_point_data["user"] == user_id:
|
||||
user_point_data["userPoint"] = str(int(user_point_delta))
|
||||
updated = True
|
||||
break
|
||||
|
||||
# If the user was not found, add them to the data with the new points
|
||||
if not updated:
|
||||
user_team_point_data.append({"user": user_id, "userPoint": str(user_point_delta)})
|
||||
|
||||
# Update the team's userTeamPoint field in the team data
|
||||
team_data["userTeamPoint"] = json.dumps(user_team_point_data)
|
||||
|
||||
# Update the team in the database
|
||||
sql = insert(team).values(**team_data)
|
||||
conflict = sql.on_duplicate_key_update(**team_data)
|
||||
|
||||
@ -722,6 +748,7 @@ class ChuniProfileData(BaseData):
|
||||
)
|
||||
return False
|
||||
return True
|
||||
|
||||
async def get_rival(self, rival_id: int) -> Optional[Row]:
|
||||
sql = select(profile).where(profile.c.user == rival_id)
|
||||
result = await self.execute(sql)
|
||||
@ -793,9 +820,9 @@ class ChuniProfileData(BaseData):
|
||||
versions = [row[0] for row in versions_raw]
|
||||
return sorted(versions, reverse=True)
|
||||
|
||||
async def put_net_battle(self, user_id: int, net_battle_data: Dict) -> Optional[int]:
|
||||
async def put_net_battle(self, aime_id: int, net_battle_data: Dict) -> Optional[int]:
|
||||
sql = insert(net_battle).values(
|
||||
user=user_id,
|
||||
user=aime_id,
|
||||
isRankUpChallengeFailed=net_battle_data['isRankUpChallengeFailed'],
|
||||
highestBattleRankId=net_battle_data['highestBattleRankId'],
|
||||
battleIconId=net_battle_data['battleIconId'],
|
||||
@ -814,9 +841,9 @@ class ChuniProfileData(BaseData):
|
||||
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 {user_id}")
|
||||
self.logger.error(f"Failed to put net battle data for user {aime_id}")
|
||||
|
||||
async def get_net_battle(self, user_id: int) -> Optional[Row]:
|
||||
result = await self.execute(net_battle.select(net_battle.c.user == user_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()
|
||||
|
@ -16,4 +16,14 @@ class ChuniSun(ChuniNewPlus):
|
||||
|
||||
# hardcode lastDataVersion for CardMaker 1.35 A032
|
||||
user_data["lastDataVersion"] = "2.10.00"
|
||||
return user_data
|
||||
return user_data
|
||||
|
||||
#SDGS Exclusive
|
||||
async def handle_get_user_cto_c_play_api_request(self, data: Dict) -> Dict:
|
||||
return {
|
||||
"userId": data["userId"],
|
||||
"orderBy": "0",
|
||||
"count": "0",
|
||||
#game request c2c play history while login but seem unused(?)
|
||||
"userCtoCPlayList": [],
|
||||
}
|
@ -18,6 +18,7 @@
|
||||
<th>Music</th>
|
||||
<th>Difficulty</th>
|
||||
<th>Score</th>
|
||||
<th>Rank</th>
|
||||
<th>Rating</th>
|
||||
</tr>
|
||||
{% for row in hot_list %}
|
||||
@ -28,6 +29,7 @@
|
||||
{{ row.level }}
|
||||
</td>
|
||||
<td>{{ row.score }}</td>
|
||||
<td>{{ row.rank }}</td>
|
||||
<td class="{% if row.song_rating >= 16 %}rainbow{% endif %}">
|
||||
{{ row.song_rating }}
|
||||
</td>
|
||||
@ -48,6 +50,7 @@
|
||||
<th>Music</th>
|
||||
<th>Difficulty</th>
|
||||
<th>Score</th>
|
||||
<th>Rank</th>
|
||||
<th>Rating</th>
|
||||
</tr>
|
||||
{% for row in base_list %}
|
||||
@ -58,6 +61,7 @@
|
||||
{{ row.level }}
|
||||
</td>
|
||||
<td>{{ row.score }}</td>
|
||||
<td>{{ row.rank }}</td>
|
||||
<td class="{% if row.song_rating >= 16 %}rainbow{% endif %}">
|
||||
{{ row.song_rating }}
|
||||
</td>
|
||||
@ -76,4 +80,4 @@
|
||||
Login to view profile information.
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
{% endblock content %}
|
||||
|
@ -264,6 +264,11 @@ class DivaBase:
|
||||
return response
|
||||
|
||||
async def handle_festa_info_request(self, data: Dict) -> Dict:
|
||||
if self.game_config.server.festa_enable:
|
||||
festa_end_time = self.game_config.server.festa_end_time
|
||||
else:
|
||||
festa_end_time = (datetime.datetime.now() - datetime.timedelta(days=365)).strftime("%Y-%m-%d %H:%M:%S") + ".0"
|
||||
|
||||
encoded = "&"
|
||||
params = {
|
||||
"fi_id": "1,2",
|
||||
@ -273,10 +278,10 @@ class DivaBase:
|
||||
"fi_difficulty": "-1,-1",
|
||||
"fi_pv_id_lst": "ALL,ALL",
|
||||
"fi_attr": "7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
|
||||
"fi_add_vp": "20,5",
|
||||
"fi_mul_vp": "1,2",
|
||||
"fi_add_vp": f"{self.game_config.server.festa_add_VP}",
|
||||
"fi_mul_vp": f"{self.game_config.server.festa_multiply_VP}",
|
||||
"fi_st": "2019-01-01 00:00:00.0,2019-01-01 00:00:00.0",
|
||||
"fi_et": "2029-01-01 00:00:00.0,2029-01-01 00:00:00.0",
|
||||
"fi_et": f"{festa_end_time},{festa_end_time}",
|
||||
"fi_lut": "{self.time_lut}",
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,29 @@ class DivaServerConfig:
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def festa_enable(self) -> bool:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "diva", "server", "festa_enable", default=True
|
||||
)
|
||||
|
||||
@property
|
||||
def festa_add_VP(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "diva", "server", "festa_add_VP", default="20,5"
|
||||
)
|
||||
|
||||
@property
|
||||
def festa_multiply_VP(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "diva", "server", "festa_multiply_VP", default="1,2"
|
||||
)
|
||||
|
||||
@property
|
||||
def festa_end_time(self) -> str:
|
||||
return CoreConfig.get_config_field(
|
||||
self.__config, "diva", "server", "festa_end_time", default="2029-01-01 00:00:00.0"
|
||||
)
|
||||
|
||||
class DivaModsConfig:
|
||||
def __init__(self, parent_config: "DivaConfig") -> None:
|
||||
|
@ -23,7 +23,7 @@ class DivaFrontend(FE_Base):
|
||||
self.game_cfg.update(
|
||||
yaml.safe_load(open(f"{cfg_dir}/{DivaConstants.CONFIG_NAME}"))
|
||||
)
|
||||
self.nav_name = "diva"
|
||||
self.nav_name = "Project Diva"
|
||||
|
||||
def get_routes(self) -> List[Route]:
|
||||
return [
|
||||
|
@ -471,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 {}
|
||||
@ -798,7 +818,8 @@ class Mai2Base:
|
||||
}
|
||||
|
||||
async def handle_upload_user_portrait_api_request(self, data: Dict) -> Dict:
|
||||
self.logger.debug(data)
|
||||
self.logger.warning("Portrait uploading not supported at this time.")
|
||||
return {'returnCode': 0, 'apiName': 'UploadUserPortraitApi'}
|
||||
|
||||
async def handle_upload_user_photo_api_request(self, data: Dict) -> Dict:
|
||||
if not self.game_config.uploads.photos or not self.game_config.uploads.photos_dir:
|
||||
|
@ -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)
|
||||
|
||||
|
@ -5,8 +5,9 @@ from starlette.responses import Response, RedirectResponse
|
||||
from os import path
|
||||
import yaml
|
||||
import jinja2
|
||||
from datetime import datetime
|
||||
|
||||
from core.frontend import FE_Base, UserSession
|
||||
from core.frontend import FE_Base, UserSession, PermissionOffset
|
||||
from core.config import CoreConfig
|
||||
from .database import Mai2Data
|
||||
from .config import Mai2Config
|
||||
@ -32,6 +33,12 @@ class Mai2Frontend(FE_Base):
|
||||
Route("/", self.render_GET_playlog, methods=['GET']),
|
||||
Route("/{index}", self.render_GET_playlog, methods=['GET']),
|
||||
]),
|
||||
Mount("/events", routes=[
|
||||
Route("/", self.render_events, methods=['GET']),
|
||||
Route("/{event_id:int}", self.render_event_edit, methods=['GET']),
|
||||
Route("/update", self.update_event, methods=['POST']),
|
||||
Route("/version.change", self.version_change, methods=['POST']),
|
||||
]),
|
||||
Route("/update.name", self.update_name, methods=['POST']),
|
||||
Route("/version.change", self.version_change, methods=['POST']),
|
||||
]
|
||||
@ -43,13 +50,15 @@ class Mai2Frontend(FE_Base):
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
incoming_ver = usr_sesh.maimai_version
|
||||
|
||||
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:
|
||||
if incoming_ver < 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]
|
||||
@ -65,7 +74,7 @@ class Mai2Frontend(FE_Base):
|
||||
cur_version=usr_sesh.maimai_version
|
||||
), media_type="text/html; charset=utf-8")
|
||||
|
||||
if usr_sesh.maimai_version >= 0:
|
||||
if incoming_ver < 0:
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
resp.delete_cookie("ARTEMIS_SESH")
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
@ -80,12 +89,10 @@ class Mai2Frontend(FE_Base):
|
||||
)
|
||||
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:
|
||||
@ -175,6 +182,11 @@ class Mai2Frontend(FE_Base):
|
||||
if not usr_sesh:
|
||||
usr_sesh = UserSession()
|
||||
|
||||
if "/events/" in request.url.path:
|
||||
resp = RedirectResponse("/game/mai2/events/", 303)
|
||||
else:
|
||||
resp = RedirectResponse("/game/mai2/", 303)
|
||||
|
||||
if usr_sesh.user_id > 0:
|
||||
form_data = await request.form()
|
||||
maimai_version = form_data.get("version")
|
||||
@ -182,9 +194,108 @@ class Mai2Frontend(FE_Base):
|
||||
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)
|
||||
self.logger.debug(f"Created session with JWT {encoded_sesh}")
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
return resp
|
||||
else:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
async def render_events(self, request: Request) -> Response:
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
if not self.test_perm(usr_sesh.permissions, PermissionOffset.SYSADMIN):
|
||||
return RedirectResponse("/game/mai2/", 303)
|
||||
|
||||
template = self.environment.get_template(
|
||||
"titles/mai2/templates/events/mai2_events.jinja"
|
||||
)
|
||||
|
||||
incoming_ver = usr_sesh.maimai_version
|
||||
evts = []
|
||||
|
||||
if incoming_ver < 0:
|
||||
usr_sesh.maimai_version = Mai2Constants.VER_MAIMAI_DX
|
||||
|
||||
event_list = await self.data.static.get_game_events(usr_sesh.maimai_version)
|
||||
self.logger.info(f"Get events for v{usr_sesh.maimai_version}")
|
||||
|
||||
for event in event_list:
|
||||
evts.append({
|
||||
"id": event['id'],
|
||||
"version": event['version'],
|
||||
"eventId": event['eventId'],
|
||||
"eventType": event['type'],
|
||||
"name": event['name'],
|
||||
"startDate": event['startDate'].strftime("%x %X"),
|
||||
"enabled": "true" if event['enabled'] else "false",
|
||||
})
|
||||
|
||||
resp = Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name} Events",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
version_list=Mai2Constants.VERSION_STRING,
|
||||
events=evts
|
||||
), media_type="text/html; charset=utf-8")
|
||||
|
||||
if incoming_ver < 0:
|
||||
encoded_sesh = self.encode_session(usr_sesh)
|
||||
resp.delete_cookie("ARTEMIS_SESH")
|
||||
resp.set_cookie("ARTEMIS_SESH", encoded_sesh)
|
||||
|
||||
return resp
|
||||
|
||||
async def render_event_edit(self, request: Request) -> Response:
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
if not self.test_perm(usr_sesh.permissions, PermissionOffset.SYSADMIN):
|
||||
return RedirectResponse("/game/mai2/", 303)
|
||||
|
||||
template = self.environment.get_template(
|
||||
"titles/mai2/templates/events/mai2_event_edit.jinja"
|
||||
)
|
||||
|
||||
evt_id = request.path_params.get("event_id")
|
||||
|
||||
event_id = await self.data.static.get_event_by_id(evt_id)
|
||||
if not event_id:
|
||||
return RedirectResponse("/game/mai2/events/", 303)
|
||||
|
||||
return Response(template.render(
|
||||
title=f"{self.core_config.server.name} | {self.nav_name} Edit Event {evt_id}",
|
||||
game_list=self.environment.globals["game_list"],
|
||||
sesh=vars(usr_sesh),
|
||||
user_id=usr_sesh.user_id,
|
||||
version_list=Mai2Constants.VERSION_STRING,
|
||||
cur_version=usr_sesh.maimai_version,
|
||||
event=event_id._asdict()
|
||||
), media_type="text/html; charset=utf-8")
|
||||
|
||||
async def update_event(self, request: Request) -> RedirectResponse:
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh:
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
if not self.test_perm(usr_sesh.permissions, PermissionOffset.SYSADMIN):
|
||||
return RedirectResponse("/game/mai2/", 303)
|
||||
|
||||
form_data = await request.form()
|
||||
print(form_data)
|
||||
event_id: int = form_data.get("evtId", None)
|
||||
new_enabled: bool = bool(form_data.get("evtEnabled", False))
|
||||
try:
|
||||
new_start_date: datetime = datetime.strptime(form_data.get("evtStart", None), "%Y-%m-%dT%H:%M:%S")
|
||||
except:
|
||||
new_start_date = None
|
||||
|
||||
print(f"{event_id} {new_enabled} {new_start_date}")
|
||||
if event_id is None or new_start_date is None:
|
||||
return RedirectResponse("/game/mai2/events/?e=4", 303)
|
||||
|
||||
await self.data.static.update_event_by_id(int(event_id), new_enabled, new_start_date)
|
||||
|
||||
return RedirectResponse("/game/mai2/events/?s=1", 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
|
||||
@ -198,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(
|
||||
@ -476,7 +490,7 @@ class Mai2ItemData(BaseData):
|
||||
musicId = music_id
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_do_nothing()
|
||||
conflict = sql.on_duplicate_key_update(musicId = music_id)
|
||||
|
||||
result = await self.execute(conflict)
|
||||
if result:
|
||||
@ -586,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()
|
||||
|
@ -892,7 +892,7 @@ class Mai2ProfileData(BaseData):
|
||||
rival = rival_id
|
||||
)
|
||||
|
||||
conflict = sql.on_duplicate_key_do_nothing()
|
||||
conflict = sql.on_duplicate_key_update(rival = rival_id)
|
||||
|
||||
result = await self.execute(conflict)
|
||||
if result:
|
||||
|
@ -7,6 +7,7 @@ from sqlalchemy.schema import ForeignKey
|
||||
from sqlalchemy.sql import func, select
|
||||
from sqlalchemy.engine import Row
|
||||
from sqlalchemy.dialects.mysql import insert
|
||||
from datetime import datetime
|
||||
|
||||
event = Table(
|
||||
"mai2_static_event",
|
||||
@ -248,3 +249,18 @@ class Mai2StaticData(BaseData):
|
||||
if result is None:
|
||||
return None
|
||||
return result.fetchall()
|
||||
|
||||
async def get_event_by_id(self, table_id: int) -> Optional[Row]:
|
||||
result = await self.execute(event.select(event.c.id == table_id))
|
||||
if result:
|
||||
return result.fetchone()
|
||||
|
||||
async def get_events_by_event_id(self, event_id: int) -> Optional[List[Row]]:
|
||||
result = await self.execute(event.select(event.c.eventId == event_id))
|
||||
if result:
|
||||
return result.fetchall()
|
||||
|
||||
async def update_event_by_id(self, table_id: int, is_enable: bool, start_date: datetime) -> None:
|
||||
result = await self.execute(event.update(event.c.id == table_id).values(enabled=is_enable, startDate = start_date))
|
||||
if not result:
|
||||
self.logger.error(f"Failed to update event {table_id} - {is_enable} {start_date}")
|
||||
|
16
titles/mai2/templates/events/mai2_event_edit.jinja
Normal file
16
titles/mai2/templates/events/mai2_event_edit.jinja
Normal file
@ -0,0 +1,16 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<!-- TODO: This can probably just be a modal on the main event page -->
|
||||
<form id="frmEvent" method="post" action="/game/mai2/events/update">
|
||||
<h3>Event {{ event.eventId }} for {{ version_list[event.version] }}: {{ event.name }}</h3>
|
||||
<input type="hidden" readonly value="{{event.id}}" id="evtId" name="evtId">
|
||||
<label for="evtEnabled" class="form-label">Enabled</label><br>
|
||||
<input class="form-check-input" type="checkbox" {{ 'checked' if event.enabled else ''}} id="evtEnabled" name="evtEnabled"><br><br>
|
||||
|
||||
<label for="evtStart" class="form-label">Start Date</label><br>
|
||||
<input class="form-input" type="datetime-local" id="evtStart" name="evtStart" value="{{ event.startDate }}"><br><br>
|
||||
|
||||
<button type="submit" class="btn btn-primary">Update</button>
|
||||
<button type="cancel" class="btn btn-danger">Delete</button>
|
||||
</form>
|
||||
{% endblock content %}
|
156
titles/mai2/templates/events/mai2_events.jinja
Normal file
156
titles/mai2/templates/events/mai2_events.jinja
Normal file
@ -0,0 +1,156 @@
|
||||
{% extends "core/templates/index.jinja" %}
|
||||
{% block content %}
|
||||
<h1>Events</h1>
|
||||
<form id="verForm" method="POST" action="/game/mai2/events/version.change">
|
||||
<select id="version" name="version" onchange="updateVer()" form="verForm">
|
||||
{% for ver in range(version_list|length) %}
|
||||
<option value="{{ver}}">{{ version_list[ver] }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</form>
|
||||
<table class="table table-dark table-striped-columns" id="tbl_events">
|
||||
<caption>Viewing all events</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Version</th>
|
||||
<th>Event ID</th>
|
||||
<th>Event Type</th>
|
||||
<th>Name</th>
|
||||
<th>Start Date</th>
|
||||
<th>Enabled</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% if events is not defined or events|length == 0 %}
|
||||
<tr>
|
||||
<td colspan="11" style="text-align:center"><i>No Events</i></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
<div id="div_tbl_ctrl">
|
||||
<select id="sel_per_page" onchange="update_tbl()">
|
||||
<option value="10" selected>10</option>
|
||||
<option value="25">25</option>
|
||||
<option value="50">50</option>
|
||||
<option value="100">100</option>
|
||||
</select>
|
||||
|
||||
<button class="btn btn-primary" id="btn_prev" disabled onclick="chg_page(-1)"><<</button>
|
||||
<button class="btn btn-primary" id="btn_next" onclick="chg_page(1)">>></button>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
{% if events is defined %}
|
||||
const TBL_DATA = {{events}};
|
||||
{% else %}
|
||||
const TBL_DATA = [];
|
||||
{% endif %}
|
||||
|
||||
document.getElementById("version").value = {{ sesh.maimai_version }};
|
||||
|
||||
var per_page = 0;
|
||||
var page = 0;
|
||||
|
||||
function updateVer() {
|
||||
var sel = document.getElementById("version");
|
||||
var frm = document.getElementById("verForm");
|
||||
|
||||
if (sel.value == {{ sesh.maimai_version }}) {
|
||||
return;
|
||||
}
|
||||
|
||||
frm.submit();
|
||||
}
|
||||
|
||||
function update_tbl() {
|
||||
if (TBL_DATA.length == 0) { return; }
|
||||
var tbl = document.getElementById("tbl_events");
|
||||
|
||||
for (var i = 0; i < per_page; i++) {
|
||||
try{
|
||||
tbl.deleteRow(1);
|
||||
} catch {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
per_page = document.getElementById("sel_per_page").value;
|
||||
|
||||
if (per_page >= TBL_DATA.length) {
|
||||
page = 0;
|
||||
document.getElementById("btn_next").disabled = true;
|
||||
document.getElementById("btn_prev").disabled = true;
|
||||
}
|
||||
|
||||
for (var i = 0; i < per_page; i++) {
|
||||
let off = (page * per_page) + i;
|
||||
if (off >= TBL_DATA.length) {
|
||||
if (page != 0) {
|
||||
document.getElementById("btn_next").disabled = true;
|
||||
document.getElementById("btn_prev").disabled = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var data = TBL_DATA[off];
|
||||
var row = tbl.insertRow(i + 1);
|
||||
|
||||
var cell_id = row.insertCell(0);
|
||||
cell_id.innerHTML = data.id;
|
||||
|
||||
var cell_ver = row.insertCell(1);
|
||||
cell_ver.innerHTML = data.version;
|
||||
|
||||
var cell_evtid = row.insertCell(2);
|
||||
cell_evtid.innerHTML = data.eventId;
|
||||
|
||||
var cell_evttype = row.insertCell(3);
|
||||
cell_evttype.innerHTML = data.eventType;
|
||||
|
||||
var cell_name = row.insertCell(4);
|
||||
cell_name.innerHTML = data.name;
|
||||
|
||||
var cell_date = row.insertCell(5);
|
||||
cell_date.innerHTML = data.startDate;
|
||||
|
||||
var call_enabled = row.insertCell(6);
|
||||
if (data.enabled === "true")
|
||||
call_enabled.innerHTML = "✔"
|
||||
else
|
||||
call_enabled.innerHTML = "✖"
|
||||
|
||||
var cell_action = row.insertCell(7);
|
||||
cell_action.innerHTML = "<a href=/game/mai2/events/" + data.id +"><button class='btn btn-primary'>🖉</button></a>"
|
||||
}
|
||||
}
|
||||
|
||||
function chg_page(num) {
|
||||
var max_page = TBL_DATA.length / per_page;
|
||||
console.log(max_page);
|
||||
page = page + num;
|
||||
|
||||
|
||||
if (page > max_page && max_page >= 1) {
|
||||
page = max_page;
|
||||
document.getElementById("btn_next").disabled = true;
|
||||
document.getElementById("btn_prev").disabled = false;
|
||||
return;
|
||||
} else if (page < 0) {
|
||||
page = 0;
|
||||
document.getElementById("btn_next").disabled = false;
|
||||
document.getElementById("btn_prev").disabled = true;
|
||||
return;
|
||||
} else if (page == 0) {
|
||||
document.getElementById("btn_next").disabled = false;
|
||||
document.getElementById("btn_prev").disabled = true;
|
||||
} else {
|
||||
document.getElementById("btn_next").disabled = false;
|
||||
document.getElementById("btn_prev").disabled = false;
|
||||
}
|
||||
|
||||
update_tbl();
|
||||
}
|
||||
|
||||
update_tbl();
|
||||
</script>
|
||||
{% endblock content %}
|
@ -3,6 +3,9 @@
|
||||
<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>
|
||||
{% if sesh is defined and sesh is not none and "{:08b}".format(sesh.permissions)[4] == "1" %}
|
||||
<li><a class="nav-link" href="/game/mai2/events/">EVENTS</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
@ -12,6 +15,8 @@
|
||||
$('.nav-link[href="/game/mai2/"]').addClass('active');
|
||||
} else if (currentPath.startsWith('/game/mai2/playlog/')) {
|
||||
$('.nav-link[href="/game/mai2/playlog/"]').addClass('active');
|
||||
}
|
||||
} {% if sesh is defined and sesh is not none and "{:08b}".format(sesh.permissions)[4] == "1" %}else if (currentPath.startsWith('/game/mai2/events/')) {
|
||||
$('.nav-link[href="/game/mai2/events/"]').addClass('active');
|
||||
} {% endif %}
|
||||
});
|
||||
</script>
|
@ -165,7 +165,8 @@ class PokkenBase:
|
||||
f"Register new card {access_code} (UserId {user_id}, CardId {card_id})"
|
||||
)
|
||||
|
||||
await self.data.card.set_chip_id_by_access_code(access_code, int(request.load_user.chip_id[:8], 16))
|
||||
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!")
|
||||
@ -175,7 +176,7 @@ class PokkenBase:
|
||||
else:
|
||||
user_id = card['user']
|
||||
card_id = card['id']
|
||||
if not card['chip_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))
|
||||
|
||||
"""
|
||||
|
@ -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]
|
||||
|
3153
titles/sao/base.py
3153
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,
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user