summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2011-03-03 23:11:03 -0800
committerBen Longbons <b.r.longbons@gmail.com>2011-03-03 23:11:03 -0800
commit4ab410e64038cafccd31e9cd70848e7daa0b8684 (patch)
tree4214a0c6c947b81cc2b1d7eb6452709d4637aafb
parentead4630c475d929deb3132e7afc1ae1a2932eb7f (diff)
downloadtmwa-4ab410e64038cafccd31e9cd70848e7daa0b8684.tar.gz
tmwa-4ab410e64038cafccd31e9cd70848e7daa0b8684.tar.bz2
tmwa-4ab410e64038cafccd31e9cd70848e7daa0b8684.tar.xz
tmwa-4ab410e64038cafccd31e9cd70848e7daa0b8684.zip
Recovery and conversion of Japanese comments that had been lost as "invalid UTF-8"
-rw-r--r--src/map/clif.c607
-rw-r--r--src/map/npc.c162
-rw-r--r--src/map/pc.c898
-rw-r--r--src/map/script.c476
4 files changed, 1074 insertions, 1069 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index b4b2425..32952c5 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -138,7 +138,7 @@ int map_fd;
char talkie_mes[80];
/*==========================================
- * map�I��ip�ݒ�
+ * map鯖のip設定
*------------------------------------------
*/
void clif_setip (char *ip)
@@ -148,7 +148,7 @@ void clif_setip (char *ip)
}
/*==========================================
- * map�I��port�ݒ�
+ * map鯖のport設定
*------------------------------------------
*/
void clif_setport (int port)
@@ -157,7 +157,7 @@ void clif_setport (int port)
}
/*==========================================
- * map�I��ip�ǂݏo��
+ * map鯖のip読み出し
*------------------------------------------
*/
in_addr_t clif_getip (void)
@@ -166,7 +166,7 @@ in_addr_t clif_getip (void)
}
/*==========================================
- * map�I��port�ǂݏo��
+ * map鯖のport読み出し
*------------------------------------------
*/
int clif_getport (void)
@@ -194,7 +194,7 @@ int clif_countusers (void)
}
/*==========================================
- * �S�Ă�client�ɑ΂���func()��s
+ * 全てのclientに対してfunc()実行
*------------------------------------------
*/
int clif_foreachclient (int (*func) (struct map_session_data *, va_list), ...)
@@ -229,7 +229,7 @@ static char *clif_validate_chat (struct map_session_data *sd, int type,
char **message, size_t *message_len);
/*==========================================
- * clif_send��AREA*�w�莞�p
+ * clif_sendでAREA*指定時用
*------------------------------------------
*/
int clif_send_sub (struct block_list *bl, va_list ap)
@@ -345,7 +345,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
switch (type)
{
- case ALL_CLIENT: // �S�N���C�A���g�ɑ��M
+ case ALL_CLIENT: // 全クライアントに送信
for (i = 0; i < fd_max; i++)
{
if (session[i] && (sd = session[i]->session_data) != NULL
@@ -359,7 +359,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
}
}
break;
- case ALL_SAMEMAP: // �����}�b�v�̑S�N���C�A���g�ɑ��M
+ case ALL_SAMEMAP: // 同じマップの全クライアントに送信
for (i = 0; i < fd_max; i++)
{
if (session[i] && (sd = session[i]->session_data) != NULL
@@ -413,16 +413,16 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
}
break;
- case PARTY_AREA: // �������ʓ��̑S�p�[�e�B�[�����o�ɑ��M
- case PARTY_AREA_WOS: // �����ȊO�̓������ʓ��̑S�p�[�e�B�[�����o�ɑ��M
+ case PARTY_AREA: // 同じ画面内の全パーティーメンバに送信
+ case PARTY_AREA_WOS: // 自分以外の同じ画面内の全パーティーメンバに送信
x0 = bl->x - AREA_SIZE;
y0 = bl->y - AREA_SIZE;
x1 = bl->x + AREA_SIZE;
y1 = bl->y + AREA_SIZE;
- case PARTY: // �S�p�[�e�B�[�����o�ɑ��M
- case PARTY_WOS: // �����ȊO�̑S�p�[�e�B�[�����o�ɑ��M
- case PARTY_SAMEMAP: // �����}�b�v�̑S�p�[�e�B�[�����o�ɑ��M
- case PARTY_SAMEMAP_WOS: // �����ȊO�̓����}�b�v�̑S�p�[�e�B�[�����o�ɑ��M
+ case PARTY: // 全パーティーメンバに送信
+ case PARTY_WOS: // 自分以外の全パーティーメンバに送信
+ case PARTY_SAMEMAP: // 同じマップの全パーティーメンバに送信
+ case PARTY_SAMEMAP_WOS: // 自分以外の同じマップの全パーティーメンバに送信
if (bl->type == BL_PC)
{
sd = (struct map_session_data *) bl;
@@ -447,7 +447,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
|| type ==
PARTY_AREA_WOS))
continue;
- if (type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m) // �}�b�v�`�F�b�N
+ if (type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m) // マップチェック
continue;
if ((type == PARTY_AREA || type == PARTY_AREA_WOS) &&
(sd->bl.x < x0 || sd->bl.y < y0 ||
@@ -560,7 +560,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
|| type ==
GUILD_AREA_WOS))
continue;
- if (type != GUILD && type != GUILD_WOS && bl->m != sd->bl.m) // �}�b�v�`�F�b�N
+ if (type != GUILD && type != GUILD_WOS && bl->m != sd->bl.m) // マップチェック
continue;
if ((type == GUILD_AREA || type == GUILD_AREA_WOS) &&
(sd->bl.x < x0 || sd->bl.y < y0 ||
@@ -578,7 +578,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
default:
if (battle_config.error_log)
- printf ("clif_send �܂�����ĂȂ����[\n");
+ printf ("clif_send まだ作ってないよー\n");
return -1;
}
@@ -586,7 +586,7 @@ int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
}
//
-// �p�P�b�g����đ��M
+// パケット作って送信
//
/*==========================================
*
@@ -981,7 +981,7 @@ static int clif_set007b (struct map_session_data *sd, unsigned char *buf)
}
/*==========================================
- * �N���X�`�F���W type��Mob�̏ꍇ��1�ő���0�H
+ * クラスチェンジ typeはMobの場合は1で他は0?
*------------------------------------------
*/
int clif_class_change (struct block_list *bl, int class, int type)
@@ -1046,7 +1046,7 @@ int clif_mob_equip (struct mob_data *md, int nameid)
}
/*==========================================
- * MOB�\��1
+ * MOB表示1
*------------------------------------------
*/
static int clif_mob0078 (struct mob_data *md, unsigned char *buf)
@@ -1108,7 +1108,7 @@ static int clif_mob0078 (struct mob_data *md, unsigned char *buf)
}
/*==========================================
- * MOB�\��2
+ * MOB表示2
*------------------------------------------
*/
static int clif_mob007b (struct mob_data *md, unsigned char *buf)
@@ -1981,7 +1981,7 @@ int clif_itemlist (struct map_session_data *sd)
{
WBUFW (buf, n * 18 + 12) = 0x8000;
if (sd->status.inventory[i].equip)
- arrow = i; // �‚��łɖ���`�F�b�N
+ arrow = i; // ついでに矢装備チェック
}
else
WBUFW (buf, n * 18 + 12) = 0;
@@ -2080,7 +2080,7 @@ int clif_equiplist (struct map_session_data *sd)
}
/*==========================================
- * �J�v�������ɗa���Ă�����Օi&���W�i���X�g
+ * カプラさんに預けてある消耗品&収集品リスト
*------------------------------------------
*/
int clif_storageitemlist (struct map_session_data *sd, struct storage *stor)
@@ -2127,7 +2127,7 @@ int clif_storageitemlist (struct map_session_data *sd, struct storage *stor)
}
/*==========================================
- * �J�v�������ɗa���Ă��鑕��X�g
+ * カプラさんに預けてある装備リスト
*------------------------------------------
*/
int clif_storageequiplist (struct map_session_data *sd, struct storage *stor)
@@ -2335,8 +2335,8 @@ int clif_guildstorageequiplist (struct map_session_data *sd,
}
/*==========================================
- * �X�e�[�^�X�𑗂��‚���
- * �\�����p�����͂��̒��Ōv�Z���đ���
+ * ステータスを送りつける
+ * 表示専用数字はこの中で計算して送る
*------------------------------------------
*/
int clif_updatestatus (struct map_session_data *sd, int type)
@@ -2456,7 +2456,7 @@ int clif_updatestatus (struct map_session_data *sd, int type)
WFIFOL (fd, 4) = pc_nextjobexp (sd);
break;
- // 00be �I��
+ // 00be 終了
case SP_USTR:
case SP_UAGI:
case SP_UVIT:
@@ -2469,7 +2469,7 @@ int clif_updatestatus (struct map_session_data *sd, int type)
len = 5;
break;
- // 013a �I��
+ // 013a 終了
case SP_ATTACKRANGE:
WFIFOW (fd, 0) = 0x13a;
WFIFOW (fd, 2) = (sd->attack_spell_override)
@@ -2477,7 +2477,7 @@ int clif_updatestatus (struct map_session_data *sd, int type)
len = 4;
break;
- // 0141 �I��
+ // 0141 終了
case SP_STR:
WFIFOW (fd, 0) = 0x141;
WFIFOL (fd, 2) = type;
@@ -2745,7 +2745,7 @@ int clif_initialstatus (struct map_session_data *sd)
}
/*==========================================
- *���
+ *矢装備
*------------------------------------------
*/
int clif_arrowequip (struct map_session_data *sd, int val)
@@ -2759,7 +2759,7 @@ int clif_arrowequip (struct map_session_data *sd, int val)
fd = sd->fd;
WFIFOW (fd, 0) = 0x013c;
- WFIFOW (fd, 2) = val + 2; //���̃A�C�e��ID
+ WFIFOW (fd, 2) = val + 2; //矢のアイテムID
WFIFOSET (fd, packet_len_table[0x013c]);
@@ -2865,7 +2865,7 @@ int clif_misceffect (struct block_list *bl, int type)
}
/*==========================================
- * �\���I�v�V�����ύX
+ * 表示オプション変更
*------------------------------------------
*/
int clif_changeoption (struct block_list *bl)
@@ -2903,7 +2903,7 @@ int clif_changeoption (struct block_list *bl)
else
clif_send (buf, packet_len_table[0x119], bl, AREA);
- // �A�C�R���̕\��
+ // アイコンの表示
for (i = 0; i < sizeof (omask) / sizeof (omask[0]); i++)
{
if (option & omask[i])
@@ -2982,7 +2982,7 @@ int clif_createchat (struct map_session_data *sd, int fail)
*/
int clif_dispchat (struct chat_data *cd, int fd)
{
- char buf[128]; // �ő�title(60�o�C�g)+17
+ char buf[128]; // 最大title(60バイト)+17
if (cd == NULL || *cd->owner == NULL)
return 1;
@@ -3009,13 +3009,13 @@ int clif_dispchat (struct chat_data *cd, int fd)
}
/*==========================================
- * chat�̏��ԕύX����
- * �O���̐l�p�Ɩ��߃R�[�h(d7->df)���Ⴄ����
+ * chatの状態変更成功
+ * 外部の人用と命令コード(d7->df)が違うだけ
*------------------------------------------
*/
int clif_changechatstatus (struct chat_data *cd)
{
- char buf[128]; // �ő�title(60�o�C�g)+17
+ char buf[128]; // 最大title(60バイト)+17
if (cd == NULL || cd->usersd[0] == NULL)
return 1;
@@ -3167,7 +3167,7 @@ int clif_leavechat (struct chat_data *cd, struct map_session_data *sd)
}
/*==========================================
- * ���������v������
+ * 取り引き要請受け
*------------------------------------------
*/
int clif_traderequest (struct map_session_data *sd, char *name)
@@ -3185,7 +3185,7 @@ int clif_traderequest (struct map_session_data *sd, char *name)
}
/*==========================================
- * ���������v������
+ * 取り引き要求応答
*------------------------------------------
*/
int clif_tradestart (struct map_session_data *sd, int type)
@@ -3203,7 +3203,7 @@ int clif_tradestart (struct map_session_data *sd, int type)
}
/*==========================================
- * �����������̃A�C�e���lj�
+ * 相手方からのアイテム追加
*------------------------------------------
*/
int clif_tradeadditem (struct map_session_data *sd,
@@ -3285,7 +3285,7 @@ int clif_tradeadditem (struct map_session_data *sd,
}
/*==========================================
- * �A�C�e���lj����/���s
+ * アイテム追加成功/失敗
*------------------------------------------
*/
int clif_tradeitemok (struct map_session_data *sd, int index, int amount,
@@ -3307,7 +3307,7 @@ int clif_tradeitemok (struct map_session_data *sd, int index, int amount,
}
/*==========================================
- * ��������ok����
+ * 取り引きok押し
*------------------------------------------
*/
int clif_tradedeal_lock (struct map_session_data *sd, int fail)
@@ -3325,7 +3325,7 @@ int clif_tradedeal_lock (struct map_session_data *sd, int fail)
}
/*==========================================
- * �����������L�����Z�������܂���
+ * 取り引きがキャンセルされました
*------------------------------------------
*/
int clif_tradecancelled (struct map_session_data *sd)
@@ -3342,7 +3342,7 @@ int clif_tradecancelled (struct map_session_data *sd)
}
/*==========================================
- * ������������
+ * 取り引き完了
*------------------------------------------
*/
int clif_tradecompleted (struct map_session_data *sd, int fail)
@@ -3360,7 +3360,7 @@ int clif_tradecompleted (struct map_session_data *sd, int fail)
}
/*==========================================
- * �J�v���q�ɂ̃A�C�e�������X�V
+ * カプラ倉庫のアイテム数を更新
*------------------------------------------
*/
int clif_updatestorageamount (struct map_session_data *sd,
@@ -3381,7 +3381,7 @@ int clif_updatestorageamount (struct map_session_data *sd,
}
/*==========================================
- * �J�v���q�ɂɃA�C�e�����lj����
+ * カプラ倉庫にアイテムを追加する
*------------------------------------------
*/
int clif_storageitemadded (struct map_session_data *sd, struct storage *stor,
@@ -3529,7 +3529,7 @@ int clif_guildstorageitemadded (struct map_session_data *sd,
}
/*==========================================
- * �J�v���q�ɂ����A�C�e�������苎��
+ * カプラ倉庫からアイテムを取り去る
*------------------------------------------
*/
int clif_storageitemremoved (struct map_session_data *sd, int index,
@@ -3549,7 +3549,7 @@ int clif_storageitemremoved (struct map_session_data *sd, int index,
}
/*==========================================
- * �J�v���q�ɂ��‚���
+ * カプラ倉庫を閉じる
*------------------------------------------
*/
int clif_storageclose (struct map_session_data *sd)
@@ -3576,10 +3576,10 @@ clif_changelook_accessories (struct block_list *bl,
}
//
-// callback�n ?
+// callback系 ?
//
/*==========================================
- * PC�\��
+ * PC表示
*------------------------------------------
*/
void clif_getareachar_pc (struct map_session_data *sd,
@@ -3628,7 +3628,7 @@ void clif_getareachar_pc (struct map_session_data *sd,
}
/*==========================================
- * NPC�\��
+ * NPC表示
*------------------------------------------
*/
void clif_getareachar_npc (struct map_session_data *sd, struct npc_data *nd)
@@ -3652,7 +3652,7 @@ void clif_getareachar_npc (struct map_session_data *sd, struct npc_data *nd)
}
/*==========================================
- * �ړ����~
+ * 移動停止
*------------------------------------------
*/
int clif_movemob (struct mob_data *md)
@@ -3672,7 +3672,7 @@ int clif_movemob (struct mob_data *md)
}
/*==========================================
- * �����X�^�[�̈ʒu�C��
+ * モンスターの位置修正
*------------------------------------------
*/
int clif_fixmobpos (struct mob_data *md)
@@ -3697,7 +3697,7 @@ int clif_fixmobpos (struct mob_data *md)
}
/*==========================================
- * PC�̈ʒu�C��
+ * PCの位置修正
*------------------------------------------
*/
int clif_fixpcpos (struct map_session_data *sd)
@@ -3723,7 +3723,7 @@ int clif_fixpcpos (struct map_session_data *sd)
}
/*==========================================
- * �ʏ��U���G�t�F�N�g���_���[�W
+ * 通常攻撃エフェクト&ダメージ
*------------------------------------------
*/
int clif_damage (struct block_list *src, struct block_list *dst,
@@ -3829,7 +3829,7 @@ void clif_getareachar_item (struct map_session_data *sd,
}
/*==========================================
- * �ꏊ�X�L���G�t�F�N�g�����E�ɓ���
+ * 場所スキルエフェクトが視界に入る
*------------------------------------------
*/
int clif_getareachar_skillunit (struct map_session_data *sd,
@@ -3850,29 +3850,29 @@ int clif_getareachar_skillunit (struct map_session_data *sd,
WFIFOW (fd, 12) = unit->bl.y;
WFIFOB (fd, 14) = unit->group->unit_id;
WFIFOB (fd, 15) = 1;
- WFIFOL (fd, 15 + 1) = 0; //1-4���ׂ�����Œ�
- WFIFOL (fd, 15 + 5) = 0; //5-8���ׂ�����Œ�
- //9-12�}�b�v���Ƃň�����77-80�Ƃ͂܂��Ⴄ4�o�C�g�̂��Ȃ��傫�Ȑ���
- WFIFOL (fd, 15 + 13) = unit->bl.y - 0x12; //13-16���j�b�g��Y��W-18��ۂ�(Y:17��FF FF FF FF)
- WFIFOL (fd, 15 + 17) = 0x004f37dd; //17-20���ׂ�����Œ�
- WFIFOL (fd, 15 + 21) = 0x0012f674; //21-24���ׂ�����Œ�
- WFIFOL (fd, 15 + 25) = 0x0012f664; //25-28���ׂ�����Œ�
- WFIFOL (fd, 15 + 29) = 0x0012f654; //29-32���ׂ�����Œ�
- WFIFOL (fd, 15 + 33) = 0x77527bbc; //33-36���ׂ�����Œ�
+ WFIFOL (fd, 15 + 1) = 0; //1-4調べた限り固定
+ WFIFOL (fd, 15 + 5) = 0; //5-8調べた限り固定
+ //9-12マップごとで一定の77-80とはまた違う4バイトのかなり大きな数字
+ WFIFOL (fd, 15 + 13) = unit->bl.y - 0x12; //13-16ユニットのY座標-18っぽい(Y:17でFF FF FF FF)
+ WFIFOL (fd, 15 + 17) = 0x004f37dd; //17-20調べた限り固定
+ WFIFOL (fd, 15 + 21) = 0x0012f674; //21-24調べた限り固定
+ WFIFOL (fd, 15 + 25) = 0x0012f664; //25-28調べた限り固定
+ WFIFOL (fd, 15 + 29) = 0x0012f654; //29-32調べた限り固定
+ WFIFOL (fd, 15 + 33) = 0x77527bbc; //33-36調べた限り固定
//37-39
- WFIFOB (fd, 15 + 40) = 0x2d; //40���ׂ�����Œ�
- WFIFOL (fd, 15 + 41) = 0; //41-44���ׂ����0�Œ�
- WFIFOL (fd, 15 + 45) = 0; //45-48���ׂ����0�Œ�
- WFIFOL (fd, 15 + 49) = 0; //49-52���ׂ����0�Œ�
- WFIFOL (fd, 15 + 53) = 0x0048d919; //53-56���ׂ�����Œ�
- WFIFOL (fd, 15 + 57) = 0x0000003e; //57-60���ׂ�����Œ�
- WFIFOL (fd, 15 + 61) = 0x0012f66c; //61-64���ׂ�����Œ�
+ WFIFOB (fd, 15 + 40) = 0x2d; //40調べた限り固定
+ WFIFOL (fd, 15 + 41) = 0; //41-44調べた限り0固定
+ WFIFOL (fd, 15 + 45) = 0; //45-48調べた限り0固定
+ WFIFOL (fd, 15 + 49) = 0; //49-52調べた限り0固定
+ WFIFOL (fd, 15 + 53) = 0x0048d919; //53-56調べた限り固定
+ WFIFOL (fd, 15 + 57) = 0x0000003e; //57-60調べた限り固定
+ WFIFOL (fd, 15 + 61) = 0x0012f66c; //61-64調べた限り固定
//65-68
//69-72
if (bl)
- WFIFOL (fd, 15 + 73) = bl->y; //73-76�p�҂�Y��W
- WFIFOL (fd, 15 + 77) = unit->bl.m; //77-80�}�b�vID���Ȃ��H���Ȃ�2�o�C�g�ő��肻���Ȑ���
- WFIFOB (fd, 15 + 81) = 0xaa; //81�I�[����0xaa
+ WFIFOL (fd, 15 + 73) = bl->y; //73-76術者のY座標
+ WFIFOL (fd, 15 + 77) = unit->bl.m; //77-80マップIDかなぁ?かなり2バイトで足りそうな数字
+ WFIFOB (fd, 15 + 81) = 0xaa; //81終端文字0xaa
/* Graffiti [Valaris] */
if (unit->group->unit_id == 0xb0)
@@ -3890,7 +3890,7 @@ int clif_getareachar_skillunit (struct map_session_data *sd,
}
/*==========================================
- * �ꏊ�X�L���G�t�F�N�g�����E���������
+ * 場所スキルエフェクトが視界から消える
*------------------------------------------
*/
int clif_clearchar_skillunit (struct skill_unit *unit, int fd)
@@ -4131,7 +4131,7 @@ int clif_skillinfo (struct map_session_data *sd, int skillid, int type,
}
/*==========================================
- * �X�L�����X�g�𑗐M����
+ * スキルリストを送信する
*------------------------------------------
*/
int clif_skillinfoblock (struct map_session_data *sd)
@@ -4173,7 +4173,7 @@ int clif_skillinfoblock (struct map_session_data *sd)
}
/*==========================================
- * �X�L�������U���ʒm
+ * スキル割り振り通知
*------------------------------------------
*/
int clif_skillup (struct map_session_data *sd, int skill_num)
@@ -4200,7 +4200,7 @@ int clif_skillup (struct map_session_data *sd, int skill_num)
}
/*==========================================
- * �X�L���r���G�t�F�N�g�𑗐M����
+ * スキル詠唱エフェクトを送信する
*------------------------------------------
*/
int clif_skillcasting (struct block_list *bl,
@@ -4213,9 +4213,9 @@ int clif_skillcasting (struct block_list *bl,
WBUFL (buf, 6) = dst_id;
WBUFW (buf, 10) = dst_x;
WBUFW (buf, 12) = dst_y;
- WBUFW (buf, 14) = skill_num; //���@�r���X�L��
- WBUFL (buf, 16) = skill_get_pl (skill_num); //����
- WBUFL (buf, 20) = casttime; //skill�r������
+ WBUFW (buf, 14) = skill_num; //魔法詠唱スキル
+ WBUFL (buf, 16) = skill_get_pl (skill_num); //属性
+ WBUFL (buf, 20) = casttime; //skill詠唱時間
clif_send (buf, packet_len_table[0x13e], bl, AREA);
return 0;
@@ -4239,7 +4239,7 @@ int clif_skillcastcancel (struct block_list *bl)
}
/*==========================================
- * �X�L���r�����s
+ * スキル詠唱失敗
*------------------------------------------
*/
int clif_skill_fail (struct map_session_data *sd, int skill_id, int type,
@@ -4268,7 +4268,7 @@ int clif_skill_fail (struct map_session_data *sd, int skill_id, int type,
}
/*==========================================
- * �X�L���U���G�t�F�N�g���_���[�W
+ * スキル攻撃エフェクト&ダメージ
*------------------------------------------
*/
int clif_skill_damage (struct block_list *src, struct block_list *dst,
@@ -4312,7 +4312,7 @@ int clif_skill_damage (struct block_list *src, struct block_list *dst,
}
/*==========================================
- * �������΂��X�L���U���G�t�F�N�g���_���[�W
+ * 吹き飛ばしスキル攻撃エフェクト&ダメージ
*------------------------------------------
*/
int clif_skill_damage2 (struct block_list *src, struct block_list *dst,
@@ -4358,7 +4358,7 @@ int clif_skill_damage2 (struct block_list *src, struct block_list *dst,
}
/*==========================================
- * �x��/�񕜃X�L���G�t�F�N�g
+ * 支援/回復スキルエフェクト
*------------------------------------------
*/
int clif_skill_nodamage (struct block_list *src, struct block_list *dst,
@@ -4381,7 +4381,7 @@ int clif_skill_nodamage (struct block_list *src, struct block_list *dst,
}
/*==========================================
- * �ꏊ�X�L���G�t�F�N�g
+ * 場所スキルエフェクト
*------------------------------------------
*/
int clif_skill_poseffect (struct block_list *src, int skill_id, int val,
@@ -4404,7 +4404,7 @@ int clif_skill_poseffect (struct block_list *src, int skill_id, int val,
}
/*==========================================
- * �ꏊ�X�L���G�t�F�N�g�\��
+ * 場所スキルエフェクト表示
*------------------------------------------
*/
int clif_skill_setunit (struct skill_unit *unit)
@@ -4424,29 +4424,29 @@ int clif_skill_setunit (struct skill_unit *unit)
WBUFW (buf, 12) = unit->bl.y;
WBUFB (buf, 14) = unit->group->unit_id;
WBUFB (buf, 15) = 1;
- WBUFL (buf, 15 + 1) = 0; //1-4���ׂ�����Œ�
- WBUFL (buf, 15 + 5) = 0; //5-8���ׂ�����Œ�
- //9-12�}�b�v���Ƃň�����77-80�Ƃ͂܂��Ⴄ4�o�C�g�̂��Ȃ��傫�Ȑ���
- WBUFL (buf, 15 + 13) = unit->bl.y - 0x12; //13-16���j�b�g��Y��W-18��ۂ�(Y:17��FF FF FF FF)
- WBUFL (buf, 15 + 17) = 0x004f37dd; //17-20���ׂ�����Œ�(0x1b2��0x004fdbdd�����)
- WBUFL (buf, 15 + 21) = 0x0012f674; //21-24���ׂ�����Œ�
- WBUFL (buf, 15 + 25) = 0x0012f664; //25-28���ׂ�����Œ�
- WBUFL (buf, 15 + 29) = 0x0012f654; //29-32���ׂ�����Œ�
- WBUFL (buf, 15 + 33) = 0x77527bbc; //33-36���ׂ�����Œ�
+ WBUFL (buf, 15 + 1) = 0; //1-4調べた限り固定
+ WBUFL (buf, 15 + 5) = 0; //5-8調べた限り固定
+ //9-12マップごとで一定の77-80とはまた違う4バイトのかなり大きな数字
+ WBUFL (buf, 15 + 13) = unit->bl.y - 0x12; //13-16ユニットのY座標-18っぽい(Y:17でFF FF FF FF)
+ WBUFL (buf, 15 + 17) = 0x004f37dd; //17-20調べた限り固定(0x1b2で0x004fdbddだった)
+ WBUFL (buf, 15 + 21) = 0x0012f674; //21-24調べた限り固定
+ WBUFL (buf, 15 + 25) = 0x0012f664; //25-28調べた限り固定
+ WBUFL (buf, 15 + 29) = 0x0012f654; //29-32調べた限り固定
+ WBUFL (buf, 15 + 33) = 0x77527bbc; //33-36調べた限り固定
//37-39
- WBUFB (buf, 15 + 40) = 0x2d; //40���ׂ�����Œ�
- WBUFL (buf, 15 + 41) = 0; //41-44���ׂ����0�Œ�
- WBUFL (buf, 15 + 45) = 0; //45-48���ׂ����0�Œ�
- WBUFL (buf, 15 + 49) = 0; //49-52���ׂ����0�Œ�
- WBUFL (buf, 15 + 53) = 0x0048d919; //53-56���ׂ�����Œ�(0x01b2��0x00495119�����)
- WBUFL (buf, 15 + 57) = 0x0000003e; //57-60���ׂ�����Œ�
- WBUFL (buf, 15 + 61) = 0x0012f66c; //61-64���ׂ�����Œ�
+ WBUFB (buf, 15 + 40) = 0x2d; //40調べた限り固定
+ WBUFL (buf, 15 + 41) = 0; //41-44調べた限り0固定
+ WBUFL (buf, 15 + 45) = 0; //45-48調べた限り0固定
+ WBUFL (buf, 15 + 49) = 0; //49-52調べた限り0固定
+ WBUFL (buf, 15 + 53) = 0x0048d919; //53-56調べた限り固定(0x01b2で0x00495119だった)
+ WBUFL (buf, 15 + 57) = 0x0000003e; //57-60調べた限り固定
+ WBUFL (buf, 15 + 61) = 0x0012f66c; //61-64調べた限り固定
//65-68
//69-72
if (bl)
- WBUFL (buf, 15 + 73) = bl->y; //73-76�p�҂�Y��W
- WBUFL (buf, 15 + 77) = unit->bl.m; //77-80�}�b�vID���Ȃ��H���Ȃ�2�o�C�g�ő��肻���Ȑ���
- WBUFB (buf, 15 + 81) = 0xaa; //81�I�[����0xaa
+ WBUFL (buf, 15 + 73) = bl->y; //73-76術者のY座標
+ WBUFL (buf, 15 + 77) = unit->bl.m; //77-80マップIDかなぁ?かなり2バイトで足りそうな数字
+ WBUFB (buf, 15 + 81) = 0xaa; //81終端文字0xaa
/* Graffiti [Valaris] */
if (unit->group->unit_id == 0xb0)
@@ -4461,7 +4461,7 @@ int clif_skill_setunit (struct skill_unit *unit)
}
/*==========================================
- * �ꏊ�X�L���G�t�F�N�g�폜
+ * 場所スキルエフェクト削除
*------------------------------------------
*/
int clif_skill_delunit (struct skill_unit *unit)
@@ -4477,7 +4477,7 @@ int clif_skill_delunit (struct skill_unit *unit)
}
/*==========================================
- * ���[�v�ꏊ�I��
+ * ワープ場所選択
*------------------------------------------
*/
int clif_skill_warppoint (struct map_session_data *sd, int skill_num,
@@ -4500,7 +4500,7 @@ int clif_skill_warppoint (struct map_session_data *sd, int skill_num,
}
/*==========================================
- * ��������
+ * メモ応答
*------------------------------------------
*/
int clif_skill_memo (struct map_session_data *sd, int flag)
@@ -4531,7 +4531,7 @@ int clif_skill_teleportmessage (struct map_session_data *sd, int flag)
}
/*==========================================
- * �����X�^�[����
+ * モンスター情報
*------------------------------------------
*/
int clif_skill_estimation (struct map_session_data *sd,
@@ -4573,7 +4573,7 @@ int clif_skill_estimation (struct map_session_data *sd,
}
/*==========================================
- * ���Ԉُ��A�C�R��/���b�Z�[�W�\��
+ * 状態異常アイコン/メッセージ表示
*------------------------------------------
*/
int clif_status_change (struct block_list *bl, int type, int flag)
@@ -4610,7 +4610,7 @@ int clif_displaymessage (const int fd, char *mes)
}
/*==========================================
- * �V�̐��𑗐M����
+ * 天の声を送信する
*------------------------------------------
*/
int clif_GMmessage (struct block_list *bl, char *mes, int len, int flag)
@@ -4634,7 +4634,7 @@ int clif_GMmessage (struct block_list *bl, char *mes, int len, int flag)
}
/*==========================================
- * HPSP�񕜃G�t�F�N�g�𑗐M����
+ * HPSP回復エフェクトを送信する
*------------------------------------------
*/
int clif_heal (int fd, int type, int val)
@@ -4648,7 +4648,7 @@ int clif_heal (int fd, int type, int val)
}
/*==========================================
- * ��������
+ * 復活する
*------------------------------------------
*/
int clif_resurrection (struct block_list *bl, int type)
@@ -4674,7 +4674,7 @@ int clif_resurrection (struct block_list *bl, int type)
}
/*==========================================
- * PVP����H�i���j
+ * PVP実装?(仮)
*------------------------------------------
*/
int clif_set0199 (int fd, int type)
@@ -4687,7 +4687,7 @@ int clif_set0199 (int fd, int type)
}
/*==========================================
- * PVP����H(��)
+ * PVP実装?(仮)
*------------------------------------------
*/
int clif_pvpset (struct map_session_data *sd, int pvprank, int pvpnum,
@@ -4747,7 +4747,7 @@ int clif_send0199 (int map, int type)
}
/*==========================================
- * ���B�G�t�F�N�g�𑗐M����
+ * 精錬エフェクトを送信する
*------------------------------------------
*/
int clif_refine (int fd, struct map_session_data *sd, int fail, int index,
@@ -4789,7 +4789,7 @@ int clif_wis_end (int fd, int flag) // R 0098 <type>.B: 0: success to send wispe
}
/*==========================================
- * �L����ID���O�������ʂ𑗐M����
+ * キャラID名前引き結果を送信する
*------------------------------------------
*/
int clif_solved_charname (struct map_session_data *sd, int char_id)
@@ -4816,7 +4816,7 @@ int clif_solved_charname (struct map_session_data *sd, int char_id)
}
/*==========================================
- * �J�[�h�̑}���”\���X�g���Ԃ�
+ * カードの挿入可能リストを返す
*------------------------------------------
*/
int clif_use_card (struct map_session_data *sd, int idx)
@@ -4836,19 +4836,19 @@ int clif_use_card (struct map_session_data *sd, int idx)
if (sd->inventory_data[i] == NULL)
continue;
- if (sd->inventory_data[i]->type != 4 && sd->inventory_data[i]->type != 5) // �����h����Ȃ�
+ if (sd->inventory_data[i]->type != 4 && sd->inventory_data[i]->type != 5) // 武器防具じゃない
continue;
- if (sd->status.inventory[i].card[0] == 0x00ff) // ��������
+ if (sd->status.inventory[i].card[0] == 0x00ff) // 製造武器
continue;
if (sd->status.inventory[i].card[0] == (short) 0xff00
|| sd->status.inventory[i].card[0] == 0x00fe)
continue;
- if (sd->status.inventory[i].identify == 0) // ���Ӓ�
+ if (sd->status.inventory[i].identify == 0) // 未鑑定
continue;
- if ((sd->inventory_data[i]->equip & ep) == 0) // ���������Ⴄ
+ if ((sd->inventory_data[i]->equip & ep) == 0) // 装備個所が違う
continue;
- if (sd->inventory_data[i]->type == 4 && ep == 32) // ���J�[�h�Ɨ��蕐��
+ if (sd->inventory_data[i]->type == 4 && ep == 32) // 盾カードと両手武器
continue;
for (j = 0; j < sd->inventory_data[i]->slot; j++)
@@ -4856,7 +4856,7 @@ int clif_use_card (struct map_session_data *sd, int idx)
if (sd->status.inventory[i].card[j] == 0)
break;
}
- if (j == sd->inventory_data[i]->slot) // ���łɃJ�[�h�����t
+ if (j == sd->inventory_data[i]->slot) // すでにカードが一杯
continue;
WFIFOW (fd, 4 + c * 2) = i + 2;
@@ -4870,7 +4870,7 @@ int clif_use_card (struct map_session_data *sd, int idx)
}
/*==========================================
- * �J�[�h�̑}���I��
+ * カードの挿入終了
*------------------------------------------
*/
int clif_insert_card (struct map_session_data *sd, int idx_equip,
@@ -4890,7 +4890,7 @@ int clif_insert_card (struct map_session_data *sd, int idx_equip,
}
/*==========================================
- * �Ӓ��”\�A�C�e�����X�g���M
+ * 鑑定可能アイテムリスト送信
*------------------------------------------
*/
int clif_item_identify_list (struct map_session_data *sd)
@@ -4921,7 +4921,7 @@ int clif_item_identify_list (struct map_session_data *sd)
}
/*==========================================
- * �Ӓ茋��
+ * 鑑定結果
*------------------------------------------
*/
int clif_item_identified (struct map_session_data *sd, int idx, int flag)
@@ -4939,8 +4939,8 @@ int clif_item_identified (struct map_session_data *sd, int idx, int flag)
}
/*==========================================
- * �C���”\�A�C�e�����X�g���M
- * ����ۂ̃p�P�b�g���킩���Ȃ��̂œ��삵�܂���
+ * 修理可能アイテムリスト送信
+ * ※実際のパケットがわからないので動作しません
*------------------------------------------
*/
int clif_item_repair_list (struct map_session_data *sd)
@@ -4971,7 +4971,7 @@ int clif_item_repair_list (struct map_session_data *sd)
}
/*==========================================
- * �A�C�e���ɂ����ꎞ�I�ȃX�L������
+ * アイテムによる一時的なスキル効果
*------------------------------------------
*/
int clif_item_skill (struct map_session_data *sd, int skillid, int skilllv,
@@ -4999,7 +4999,7 @@ int clif_item_skill (struct map_session_data *sd, int skillid, int skilllv,
}
/*==========================================
- * �J�[�g�ɃA�C�e���lj�
+ * カートにアイテム追加
*------------------------------------------
*/
int clif_cart_additem (struct map_session_data *sd, int n, int amount,
@@ -5065,7 +5065,7 @@ int clif_cart_additem (struct map_session_data *sd, int n, int amount,
}
/*==========================================
- * �J�[�g�����A�C�e���폜
+ * カートからアイテム削除
*------------------------------------------
*/
int clif_cart_delitem (struct map_session_data *sd, int n, int amount)
@@ -5086,7 +5086,7 @@ int clif_cart_delitem (struct map_session_data *sd, int n, int amount)
}
/*==========================================
- * �J�[�g�̃A�C�e�����X�g
+ * カートのアイテムリスト
*------------------------------------------
*/
int clif_cart_itemlist (struct map_session_data *sd)
@@ -5131,7 +5131,7 @@ int clif_cart_itemlist (struct map_session_data *sd)
}
/*==========================================
- * �J�[�g�̑����i���X�g
+ * カートの装備品リスト
*------------------------------------------
*/
int clif_cart_equiplist (struct map_session_data *sd)
@@ -5234,7 +5234,7 @@ int clif_party_created (struct map_session_data *sd, int flag)
}
/*==========================================
- * �p�[�e�B���񑗐M
+ * パーティ情報送信
*------------------------------------------
*/
int clif_party_info (struct party *p, int fd)
@@ -5264,7 +5264,7 @@ int clif_party_info (struct party *p, int fd)
}
WBUFW (buf, 2) = 28 + c * 46;
if (fd >= 0)
- { // fd���ݒ肳���Ă��Ȃ炻���ɑ���
+ { // fdが設定されてるならそれに送る
memcpy (WFIFOP (fd, 0), buf, WBUFW (buf, 2));
WFIFOSET (fd, WFIFOW (fd, 2));
return 9;
@@ -5329,10 +5329,10 @@ int clif_party_inviteack (struct map_session_data *sd, char *nick, int flag)
}
/*==========================================
- * �p�[�e�B�ݒ著�M
- * flag & 0x001=exp�ύX�~�X
- * 0x010=item�ύX�~�X
- * 0x100=���l�ɂ̂ݑ��M
+ * パーティ設定送信
+ * flag & 0x001=exp変更ミス
+ * 0x010=item変更ミス
+ * 0x100=一人にのみ送信
*------------------------------------------
*/
int clif_party_option (struct party *p, struct map_session_data *sd, int flag)
@@ -5366,7 +5366,7 @@ int clif_party_option (struct party *p, struct map_session_data *sd, int flag)
}
/*==========================================
- * �p�[�e�B�E�ށi�E�ޑO�ɌĂԂ��Ɓj
+ * パーティ脱退(脱退前に呼ぶこと)
*------------------------------------------
*/
int clif_party_leaved (struct party *p, struct map_session_data *sd,
@@ -5400,7 +5400,7 @@ int clif_party_leaved (struct party *p, struct map_session_data *sd,
}
/*==========================================
- * �p�[�e�B���b�Z�[�W���M
+ * パーティメッセージ送信
*------------------------------------------
*/
int clif_party_message (struct party *p, int account_id, char *mes, int len)
@@ -5428,7 +5428,7 @@ int clif_party_message (struct party *p, int account_id, char *mes, int len)
}
/*==========================================
- * �p�[�e�B��W�ʒm
+ * パーティ座標通知
*------------------------------------------
*/
int clif_party_xy (struct party *p, struct map_session_data *sd)
@@ -5448,7 +5448,7 @@ int clif_party_xy (struct party *p, struct map_session_data *sd)
}
/*==========================================
- * �p�[�e�BHP�ʒm
+ * パーティHP通知
*------------------------------------------
*/
int clif_party_hp (struct party *p, struct map_session_data *sd)
@@ -5469,7 +5469,7 @@ int clif_party_hp (struct party *p, struct map_session_data *sd)
}
/*==========================================
- * �p�[�e�B�ꏊ�ړ��i���g�p�j
+ * パーティ場所移動(未使用)
*------------------------------------------
*/
int clif_party_move (struct party *p, struct map_session_data *sd, int online)
@@ -5493,7 +5493,7 @@ int clif_party_move (struct party *p, struct map_session_data *sd, int online)
}
/*==========================================
- * �U�����邽�߂Ɉړ����K�v
+ * 攻撃するために移動が必要
*------------------------------------------
*/
int clif_movetoattack (struct map_session_data *sd, struct block_list *bl)
@@ -5516,7 +5516,7 @@ int clif_movetoattack (struct map_session_data *sd, struct block_list *bl)
}
/*==========================================
- * �����G�t�F�N�g
+ * 製造エフェクト
*------------------------------------------
*/
int clif_produceeffect (struct map_session_data *sd, int flag, int nameid)
@@ -5526,7 +5526,7 @@ int clif_produceeffect (struct map_session_data *sd, int flag, int nameid)
nullpo_retr (0, sd);
fd = sd->fd;
- // ���O�̓o�^�Ƒ��M�����ɂ��Ă���
+ // 名前の登録と送信を先にしておく
if (map_charid2nick (sd->status.char_id) == NULL)
map_addchariddb (sd->status.char_id, sd->status.name);
clif_solved_charname (sd, sd->status.char_id);
@@ -5542,7 +5542,7 @@ int clif_produceeffect (struct map_session_data *sd, int flag, int nameid)
}
/*==========================================
- * �I�[�g�X�y�� ���X�g���M
+ * オートスペル リスト送信
*------------------------------------------
*/
int clif_autospell (struct map_session_data *sd, int skilllv)
@@ -5588,7 +5588,7 @@ int clif_autospell (struct map_session_data *sd, int skilllv)
}
/*==========================================
- * �f�B�{�[�V�����̐‚���
+ * ディボーションの青い糸
*------------------------------------------
*/
int clif_devotion (struct map_session_data *sd, int target)
@@ -5612,7 +5612,7 @@ int clif_devotion (struct map_session_data *sd, int target)
}
/*==========================================
- * ����
+ * 氣球
*------------------------------------------
*/
int clif_spiritball (struct map_session_data *sd)
@@ -5647,7 +5647,7 @@ int clif_combo_delay (struct block_list *bl, int wait)
}
/*==========================================
- *���n����
+ *白刃取り
*------------------------------------------
*/
int clif_bladestop (struct block_list *src, struct block_list *dst, int bool)
@@ -5693,7 +5693,7 @@ int clif_changemapcell (int m, int x, int y, int cell_type, int type)
}
/*==========================================
- * MVP�G�t�F�N�g
+ * MVPエフェクト
*------------------------------------------
*/
int clif_mvp_effect (struct map_session_data *sd)
@@ -5709,7 +5709,7 @@ int clif_mvp_effect (struct map_session_data *sd)
}
/*==========================================
- * MVP�A�C�e������
+ * MVPアイテム所得
*------------------------------------------
*/
int clif_mvp_item (struct map_session_data *sd, int nameid)
@@ -5729,7 +5729,7 @@ int clif_mvp_item (struct map_session_data *sd, int nameid)
}
/*==========================================
- * MVP�o���l����
+ * MVP経験値所得
*------------------------------------------
*/
int clif_mvp_exp (struct map_session_data *sd, int exp)
@@ -5771,7 +5771,7 @@ int clif_guild_created (struct map_session_data *sd, int flag)
}
/*==========================================
- * �M���h�����ʒm
+ * ギルド所属通知
*------------------------------------------
*/
int clif_guild_belonginfo (struct map_session_data *sd, struct guild *g)
@@ -5795,7 +5795,7 @@ int clif_guild_belonginfo (struct map_session_data *sd, struct guild *g)
}
/*==========================================
- * �M���h�����o���O�C���ʒm
+ * ギルドメンバログイン通知
*------------------------------------------
*/
int clif_guild_memberlogin_notice (struct guild *g, int idx, int flag)
@@ -5821,7 +5821,7 @@ int clif_guild_memberlogin_notice (struct guild *g, int idx, int flag)
}
/*==========================================
- * �M���h�}�X�^�[�ʒm(14d�ւ̉���)
+ * ギルドマスター通知(14dへの応答)
*------------------------------------------
*/
int clif_guild_masterormember (struct map_session_data *sd)
@@ -5866,10 +5866,10 @@ int clif_guild_basicinfo (struct map_session_data *sd)
WFIFOL (fd, 18) = g->average_lv;
WFIFOL (fd, 22) = g->exp;
WFIFOL (fd, 26) = g->next_exp;
- WFIFOL (fd, 30) = 0; // ���[
- WFIFOL (fd, 34) = 0; // VW�i���i�̈����H�F�����O���t���E�j
- WFIFOL (fd, 38) = 0; // RF�i���`�̓x�����H�F�����O���t�㉺�j
- WFIFOL (fd, 42) = 0; // �l���H
+ WFIFOL (fd, 30) = 0; // 上納
+ WFIFOL (fd, 34) = 0; // VW(性格の悪さ?:性向グラフ左右)
+ WFIFOL (fd, 38) = 0; // RF(正義の度合い?:性向グラフ上下)
+ WFIFOL (fd, 42) = 0; // 人数?
memcpy (WFIFOP (fd, 46), g->name, 24);
memcpy (WFIFOP (fd, 70), g->master, 24);
@@ -5941,7 +5941,7 @@ int clif_guild_basicinfo (struct map_session_data *sd)
}
/*==========================================
- * �M���h����/�G�Ώ���
+ * ギルド同盟/敵対情報
*------------------------------------------
*/
int clif_guild_allianceinfo (struct map_session_data *sd)
@@ -5973,7 +5973,7 @@ int clif_guild_allianceinfo (struct map_session_data *sd)
}
/*==========================================
- * �M���h�����o�[���X�g
+ * ギルドメンバーリスト
*------------------------------------------
*/
int clif_guild_memberlist (struct map_session_data *sd)
@@ -6005,7 +6005,7 @@ int clif_guild_memberlist (struct map_session_data *sd)
WFIFOL (fd, c * 104 + 22) = m->exp;
WFIFOL (fd, c * 104 + 26) = m->online;
WFIFOL (fd, c * 104 + 30) = m->position;
- memset (WFIFOP (fd, c * 104 + 34), 0, 50); // �����H
+ memset (WFIFOP (fd, c * 104 + 34), 0, 50); // メモ?
memcpy (WFIFOP (fd, c * 104 + 84), m->name, 24);
c++;
}
@@ -6015,7 +6015,7 @@ int clif_guild_memberlist (struct map_session_data *sd)
}
/*==========================================
- * �M���h���E�����X�g
+ * ギルド役職名リスト
*------------------------------------------
*/
int clif_guild_positionnamelist (struct map_session_data *sd)
@@ -6041,7 +6041,7 @@ int clif_guild_positionnamelist (struct map_session_data *sd)
}
/*==========================================
- * �M���h���E���񃊃X�g
+ * ギルド役職情報リスト
*------------------------------------------
*/
int clif_guild_positioninfolist (struct map_session_data *sd)
@@ -6070,7 +6070,7 @@ int clif_guild_positioninfolist (struct map_session_data *sd)
}
/*==========================================
- * �M���h���E�ύX�ʒm
+ * ギルド役職変更通知
*------------------------------------------
*/
int clif_guild_positionchanged (struct guild *g, int idx)
@@ -6093,7 +6093,7 @@ int clif_guild_positionchanged (struct guild *g, int idx)
}
/*==========================================
- * �M���h�����o�ύX�ʒm
+ * ギルドメンバ変更通知
*------------------------------------------
*/
int clif_guild_memberpositionchanged (struct guild *g, int idx)
@@ -6114,7 +6114,7 @@ int clif_guild_memberpositionchanged (struct guild *g, int idx)
}
/*==========================================
- * �M���h�G���u�������M
+ * ギルドエンブレム送信
*------------------------------------------
*/
int clif_guild_emblem (struct map_session_data *sd, struct guild *g)
@@ -6138,7 +6138,7 @@ int clif_guild_emblem (struct map_session_data *sd, struct guild *g)
}
/*==========================================
- * �M���h�X�L�����M
+ * ギルドスキル送信
*------------------------------------------
*/
int clif_guild_skillinfo (struct map_session_data *sd)
@@ -6178,7 +6178,7 @@ int clif_guild_skillinfo (struct map_session_data *sd)
}
/*==========================================
- * �M���h���m���M
+ * ギルド告知送信
*------------------------------------------
*/
int clif_guild_notice (struct map_session_data *sd, struct guild *g)
@@ -6199,7 +6199,7 @@ int clif_guild_notice (struct map_session_data *sd, struct guild *g)
}
/*==========================================
- * �M���h�����o���U
+ * ギルドメンバ勧誘
*------------------------------------------
*/
int clif_guild_invite (struct map_session_data *sd, struct guild *g)
@@ -6218,7 +6218,7 @@ int clif_guild_invite (struct map_session_data *sd, struct guild *g)
}
/*==========================================
- * �M���h�����o���U����
+ * ギルドメンバ勧誘結果
*------------------------------------------
*/
int clif_guild_inviteack (struct map_session_data *sd, int flag)
@@ -6235,7 +6235,7 @@ int clif_guild_inviteack (struct map_session_data *sd, int flag)
}
/*==========================================
- * �M���h�����o�E�ޒʒm
+ * ギルドメンバ脱退通知
*------------------------------------------
*/
int clif_guild_leave (struct map_session_data *sd, const char *name,
@@ -6253,7 +6253,7 @@ int clif_guild_leave (struct map_session_data *sd, const char *name,
}
/*==========================================
- * �M���h�����o�Ǖ��ʒm
+ * ギルドメンバ追放通知
*------------------------------------------
*/
int clif_guild_explusion (struct map_session_data *sd, const char *name,
@@ -6272,7 +6272,7 @@ int clif_guild_explusion (struct map_session_data *sd, const char *name,
}
/*==========================================
- * �M���h�Ǖ������o���X�g
+ * ギルド追放メンバリスト
*------------------------------------------
*/
int clif_guild_explusionlist (struct map_session_data *sd)
@@ -6305,7 +6305,7 @@ int clif_guild_explusionlist (struct map_session_data *sd)
}
/*==========================================
- * �M���h���b
+ * ギルド会話
*------------------------------------------
*/
int clif_guild_message (struct guild *g, int account_id, const char *mes,
@@ -6328,7 +6328,7 @@ int clif_guild_message (struct guild *g, int account_id, const char *mes,
}
/*==========================================
- * �M���h�X�L�������U���ʒm
+ * ギルドスキル割り振り通知
*------------------------------------------
*/
int clif_guild_skillup (struct map_session_data *sd, int skill_num, int lv)
@@ -6349,7 +6349,7 @@ int clif_guild_skillup (struct map_session_data *sd, int skill_num, int lv)
}
/*==========================================
- * �M���h�����v��
+ * ギルド同盟要請
*------------------------------------------
*/
int clif_guild_reqalliance (struct map_session_data *sd, int account_id,
@@ -6368,7 +6368,7 @@ int clif_guild_reqalliance (struct map_session_data *sd, int account_id,
}
/*==========================================
- * �M���h��������
+ * ギルド同盟結果
*------------------------------------------
*/
int clif_guild_allianceack (struct map_session_data *sd, int flag)
@@ -6385,7 +6385,7 @@ int clif_guild_allianceack (struct map_session_data *sd, int flag)
}
/*==========================================
- * �M���h�֌W����ʒm
+ * ギルド関係解消通知
*------------------------------------------
*/
int clif_guild_delalliance (struct map_session_data *sd, int guild_id,
@@ -6404,7 +6404,7 @@ int clif_guild_delalliance (struct map_session_data *sd, int guild_id,
}
/*==========================================
- * �M���h�G�Ό���
+ * ギルド敵対結果
*------------------------------------------
*/
int clif_guild_oppositionack (struct map_session_data *sd, int flag)
@@ -6421,7 +6421,7 @@ int clif_guild_oppositionack (struct map_session_data *sd, int flag)
}
/*==========================================
- * �M���h�֌W�lj�
+ * ギルド関係追加
*------------------------------------------
*/
/*int clif_guild_allianceadded(struct guild *g,int idx)
@@ -6436,7 +6436,7 @@ int clif_guild_oppositionack (struct map_session_data *sd, int flag)
}*/
/*==========================================
- * �M���h���U�ʒm
+ * ギルド解散通知
*------------------------------------------
*/
int clif_guild_broken (struct map_session_data *sd, int flag)
@@ -6453,7 +6453,7 @@ int clif_guild_broken (struct map_session_data *sd, int flag)
}
/*==========================================
- * �G���[�V����
+ * エモーション
*------------------------------------------
*/
void clif_emotion (struct block_list *bl, int type)
@@ -6490,7 +6490,7 @@ static void clif_emotion_towards (struct block_list *bl,
}
/*==========================================
- * �g�[�L�[�{�b�N�X
+ * トーキーボックス
*------------------------------------------
*/
void clif_talkiebox (struct block_list *bl, char *talkie)
@@ -6506,7 +6506,7 @@ void clif_talkiebox (struct block_list *bl, char *talkie)
}
/*==========================================
- * �����G�t�F�N�g
+ * 結婚エフェクト
*------------------------------------------
*/
void clif_wedding_effect (struct block_list *bl)
@@ -6521,7 +6521,7 @@ void clif_wedding_effect (struct block_list *bl)
}
/*==========================================
- * ���Ȃ��Ɉ��������g�p�����O����
+ * あなたに逢いたい使用時名前叫び
*------------------------------------------
void clif_callpartner(struct map_session_data *sd)
@@ -6547,7 +6547,7 @@ void clif_callpartner(struct map_session_data *sd)
}
*/
/*==========================================
- * ���
+ * 座る
*------------------------------------------
*/
void clif_sitting (int fd, struct map_session_data *sd)
@@ -6620,7 +6620,7 @@ int clif_GM_kick (struct map_session_data *sd, struct map_session_data *tsd,
}
/*==========================================
- * Wis���ۋ��‰���
+ * Wis拒否許可応答
*------------------------------------------
*/
int clif_wisexin (struct map_session_data *sd, int type, int flag)
@@ -6639,7 +6639,7 @@ int clif_wisexin (struct map_session_data *sd, int type, int flag)
}
/*==========================================
- * Wis�S���ۋ��‰���
+ * Wis全拒否許可応答
*------------------------------------------
*/
int clif_wisall (struct map_session_data *sd, int type, int flag)
@@ -6658,7 +6658,7 @@ int clif_wisall (struct map_session_data *sd, int type, int flag)
}
/*==========================================
- * �T�E���h�G�t�F�N�g
+ * サウンドエフェクト
*------------------------------------------
*/
void clif_soundeffect (struct map_session_data *sd, struct block_list *bl,
@@ -6717,7 +6717,7 @@ int clif_specialeffect (struct block_list *bl, int type, int flag)
// ------------
// clif_parse_*
// ------------
-// �p�P�b�g�ǂݎ���ĐF�X����
+// パケット読み取って色々操作
/*==========================================
*
*------------------------------------------
@@ -6775,8 +6775,8 @@ void clif_parse_WantToConnection (int fd, struct map_session_data *sd)
}
/*==========================================
- * 007d �N���C�A���g���}�b�v�ǂݍ��݊���
- * map�N�����ɕK�v�ȃf�[�^���S�đ����‚���
+ * 007d クライアント側マップ読み込み完了
+ * map侵入時に必要なデータを全て送りつける
*------------------------------------------
*/
void clif_parse_LoadEndAck (int fd, struct map_session_data *sd)
@@ -6788,7 +6788,7 @@ void clif_parse_LoadEndAck (int fd, struct map_session_data *sd)
if (sd->bl.prev != NULL)
return;
- // �ڑ�ok��
+ // 接続ok時
//clif_authok();
if (sd->npc_id)
npc_event_dequeue (sd);
@@ -6796,7 +6796,7 @@ void clif_parse_LoadEndAck (int fd, struct map_session_data *sd)
pc_checkitem (sd);
//guild_info();
- // loadendack��
+ // loadendack時
// next exp
clif_updatestatus (sd, SP_NEXTBASEEXP);
clif_updatestatus (sd, SP_NEXTJOBEXP);
@@ -6829,7 +6829,7 @@ void clif_parse_LoadEndAck (int fd, struct map_session_data *sd)
pc_setinvincibletimer (sd, battle_config.pc_invincible_time);
}
- map_addblock (&sd->bl); // �u���b�N�o�^
+ map_addblock (&sd->bl); // ブロック登録
clif_spawnpc (sd); // spawn
// weight max , now
@@ -6891,7 +6891,7 @@ void clif_parse_LoadEndAck (int fd, struct map_session_data *sd)
&& pc_checkskill (sd, SM_AUTOBERSERK) > 0
&& (sd->sc_data[SC_PROVOKE].timer == -1
|| sd->sc_data[SC_PROVOKE].val2 == 0))
- // �I�[�g�o�[�T�[�N����
+ // オートバーサーク発動
skill_status_change_start (&sd->bl, SC_PROVOKE, 10, 1, 0, 0, 0, 0);
// if(time(&timer) < ((weddingtime=pc_readglobalreg(sd,"PC_WEDDING_TIME")) + 3600))
@@ -6963,7 +6963,7 @@ void clif_parse_WalkToXY (int fd, struct map_session_data *sd)
if (sd->npc_id != 0 || sd->state.storage_flag)
return;
- if (sd->skilltimer != -1 && pc_checkskill (sd, SA_FREECAST) <= 0) // �t���[�L���X�g
+ if (sd->skilltimer != -1 && pc_checkskill (sd, SA_FREECAST) <= 0) // フリーキャスト
return;
if (sd->chatID)
@@ -6972,13 +6972,13 @@ void clif_parse_WalkToXY (int fd, struct map_session_data *sd)
if (sd->canmove_tick > gettick ())
return;
- // �X�e�[�^�X�ُ����n�C�f�B���O��(�g���l���h���C�u��)�œ����Ȃ�
- if ((sd->opt1 > 0 && sd->opt1 != 6) || sd->sc_data[SC_ANKLE].timer != -1 || //�A���N���X�l�A
- sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
- sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_SPIDERWEB].timer != -1 || //�X�p�C�_�[�E�F�b�u
- (sd->sc_data[SC_DANCING].timer != -1 && sd->sc_data[SC_DANCING].val4)) //���t�X�L�����t���͓����Ȃ�
+ // ステータス異常やハイディング中(トンネルドライブ無)で動けない
+ if ((sd->opt1 > 0 && sd->opt1 != 6) || sd->sc_data[SC_ANKLE].timer != -1 || //アンクルスネア
+ sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //オートカウンター
+ sd->sc_data[SC_TRICKDEAD].timer != -1 || //死んだふり
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //白刃取り
+ sd->sc_data[SC_SPIDERWEB].timer != -1 || //スパイダーウェッブ
+ (sd->sc_data[SC_DANCING].timer != -1 && sd->sc_data[SC_DANCING].val4)) //合奏スキル演奏中は動けない
return;
if ((sd->status.option & 2) && pc_checkskill (sd, RG_TUNNELDRIVE) <= 0)
return;
@@ -7180,8 +7180,8 @@ void clif_parse_GlobalMessage (int fd, struct map_session_data *sd)
}
if (is_atcommand (fd, sd, message, 0) != AtCommand_None
- || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1
- || sd->sc_data[SC_NOCHAT].timer != -1)))
+ || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1 //バーサーク時は会話も不可
+ || sd->sc_data[SC_NOCHAT].timer != -1)))//チャット禁止
{
free (buf);
return;
@@ -7344,12 +7344,10 @@ void clif_parse_ActionRequest (int fd, struct map_session_data *sd)
clif_clearchar_area (&sd->bl, 1);
return;
}
- if (sd->npc_id != 0 || sd->opt1 > 0 || sd->status.option & 2 || sd->state.storage_flag || (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data
- [SC_DANCING].timer
- !=
- -1)))
+ if (sd->npc_id != 0 || sd->opt1 > 0 || sd->status.option & 2 || sd->state.storage_flag ||
+ (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //オートカウンター
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //白刃取り
+ sd->sc_data[SC_DANCING].timer != -1)))
return;
tick = gettick ();
@@ -7384,12 +7382,12 @@ void clif_parse_ActionRequest (int fd, struct map_session_data *sd)
break;
case 0x02: // sitdown
pc_stop_walking (sd, 1);
- skill_gangsterparadise (sd, 1); // �M�����O�X�^�[�p���_�C�X�ݒ�
+ skill_gangsterparadise (sd, 1); // ギャングスターパラダイス設定
pc_setsit (sd);
clif_sitting (fd, sd);
break;
case 0x03: // standup
- skill_gangsterparadise (sd, 0); // �M�����O�X�^�[�p���_�C�X����
+ skill_gangsterparadise (sd, 0); // ギャングスターパラダイス解除
pc_setstand (sd);
WBUFW (buf, 0) = 0x8a;
WBUFL (buf, 2) = sd->bl.id;
@@ -7581,10 +7579,11 @@ void clif_parse_TakeItem (int fd, struct map_session_data *sd)
return;
}
- if (sd->npc_id != 0 || sd->opt1 > 0 || (sd->sc_data && (sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N
- sd->sc_data[SC_NOCHAT].timer != -1))) //���b�֎~
+ if (sd->npc_id != 0 || sd->opt1 > 0 || (sd->sc_data &&
+ (sd->sc_data[SC_TRICKDEAD].timer != -1 || //死んだふり
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //白刃取り
+ sd->sc_data[SC_BERSERK].timer != -1 || //バーサーク
+ sd->sc_data[SC_NOCHAT].timer != -1))) //会話禁止
return;
if (fitem == NULL || fitem->bl.m != sd->bl.m)
@@ -7615,9 +7614,10 @@ void clif_parse_DropItem (int fd, struct map_session_data *sd)
clif_clearchar_area (&sd->bl, 1);
return;
}
- if (sd->npc_id != 0 || sd->opt1 > 0 || map[sd->bl.m].flag.no_player_drops || (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_BERSERK].timer != -1))) //�o�[�T�[�N
+ if (sd->npc_id != 0 || sd->opt1 > 0 || map[sd->bl.m].flag.no_player_drops ||
+ (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //オートカウンター
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //白刃取り
+ sd->sc_data[SC_BERSERK].timer != -1))) //バーサーク
return;
item_index = RFIFOW (fd, 2) - 2;
@@ -7639,10 +7639,11 @@ void clif_parse_UseItem (int fd, struct map_session_data *sd)
clif_clearchar_area (&sd->bl, 1);
return;
}
- if (sd->npc_id != 0 || sd->opt1 > 0 || (sd->sc_data && (sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N
- sd->sc_data[SC_NOCHAT].timer != -1))) //���b�֎~
+ if (sd->npc_id != 0 || sd->opt1 > 0 || (sd->sc_data &&
+ (sd->sc_data[SC_TRICKDEAD].timer != -1 || //死んだふり
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //白刃取り
+ sd->sc_data[SC_BERSERK].timer != -1 || //バーサーク
+ sd->sc_data[SC_NOCHAT].timer != -1))) //会話禁止
return;
if (sd->invincible_timer != -1)
@@ -7675,18 +7676,18 @@ void clif_parse_EquipItem (int fd, struct map_session_data *sd)
return;
if (sd->status.inventory[index].identify != 1)
- { // ���Ӓ�
+ { // 未鑑定
// Bjorn: Auto-identify items when equipping them as there
// is no nice way to do this in the client yet.
sd->status.inventory[index].identify = 1;
//clif_equipitemack(sd,index,0,0); // fail
//return;
}
- //�y�b�g�p�����ł��邩�Ȃ���
+ //ペット用装備であるかないか
if (sd->inventory_data[index])
{
if (sd->inventory_data[index]->type == 10)
- RFIFOW (fd, 4) = 0x8000; // ���𖳗����葕���ł����悤�Ɂi�|�|�G
+ RFIFOW (fd, 4) = 0x8000; // 矢を無理やり装備できるように(−−;
pc_equipitem (sd, index, RFIFOW (fd, 4));
}
}
@@ -7845,7 +7846,7 @@ void clif_parse_ChatLeave (int fd, struct map_session_data *sd)
}
/*==========================================
- * �����v���𑊎��ɑ���
+ * 取引要請を相手に送る
*------------------------------------------
*/
void clif_parse_TradeRequest (int fd, struct map_session_data *sd)
@@ -7862,7 +7863,7 @@ void clif_parse_TradeRequest (int fd, struct map_session_data *sd)
}
/*==========================================
- * �����v��
+ * 取引要請
*------------------------------------------
*/
void clif_parse_TradeAck (int fd, struct map_session_data *sd)
@@ -7873,7 +7874,7 @@ void clif_parse_TradeAck (int fd, struct map_session_data *sd)
}
/*==========================================
- * �A�C�e���lj�
+ * アイテム追加
*------------------------------------------
*/
void clif_parse_TradeAddItem (int fd, struct map_session_data *sd)
@@ -7884,7 +7885,7 @@ void clif_parse_TradeAddItem (int fd, struct map_session_data *sd)
}
/*==========================================
- * �A�C�e���lj����(ok����)
+ * アイテム追加完了(ok押し)
*------------------------------------------
*/
void clif_parse_TradeOk (int fd, struct map_session_data *sd)
@@ -7893,7 +7894,7 @@ void clif_parse_TradeOk (int fd, struct map_session_data *sd)
}
/*==========================================
- * �����L�����Z��
+ * 取引キャンセル
*------------------------------------------
*/
void clif_parse_TradeCansel (int fd, struct map_session_data *sd)
@@ -7902,7 +7903,7 @@ void clif_parse_TradeCansel (int fd, struct map_session_data *sd)
}
/*==========================================
- * ��������(trade����)
+ * 取引許諾(trade押し)
*------------------------------------------
*/
void clif_parse_TradeCommit (int fd, struct map_session_data *sd)
@@ -7920,7 +7921,7 @@ void clif_parse_StopAttack (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�[�g�փA�C�e�����ڂ�
+ * カートへアイテムを移す
*------------------------------------------
*/
void clif_parse_PutItemToCart (int fd, struct map_session_data *sd)
@@ -7933,7 +7934,7 @@ void clif_parse_PutItemToCart (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�[�g�����A�C�e�����o��
+ * カートからアイテムを出す
*------------------------------------------
*/
void clif_parse_GetItemFromCart (int fd, struct map_session_data *sd)
@@ -7946,7 +7947,7 @@ void clif_parse_GetItemFromCart (int fd, struct map_session_data *sd)
}
/*==========================================
- * �t���i(��,�y�R,�J�[�g)���͂���
+ * 付属品(鷹,ペコ,カート)をはずす
*------------------------------------------
*/
void clif_parse_RemoveOption (int fd, struct map_session_data *sd)
@@ -7970,7 +7971,7 @@ void clif_parse_RemoveOption (int fd, struct map_session_data *sd)
}
/*==========================================
- * �`�F���W�J�[�g
+ * チェンジカート
*------------------------------------------
*/
void clif_parse_ChangeCart (int fd, struct map_session_data *sd)
@@ -7979,7 +7980,7 @@ void clif_parse_ChangeCart (int fd, struct map_session_data *sd)
}
/*==========================================
- * �X�e�[�^�X�A�b�v
+ * ステータスアップ
*------------------------------------------
*/
void clif_parse_StatusUp (int fd, struct map_session_data *sd)
@@ -7988,7 +7989,7 @@ void clif_parse_StatusUp (int fd, struct map_session_data *sd)
}
/*==========================================
- * �X�L�����x���A�b�v
+ * スキルレベルアップ
*------------------------------------------
*/
void clif_parse_SkillUp (int fd, struct map_session_data *sd)
@@ -7997,7 +7998,7 @@ void clif_parse_SkillUp (int fd, struct map_session_data *sd)
}
/*==========================================
- * �X�L���g�p�iID�w���j
+ * スキル使用(ID指定)
*------------------------------------------
*/
void clif_parse_UseSkillToId (int fd, struct map_session_data *sd)
@@ -8074,7 +8075,7 @@ void clif_parse_UseSkillToId (int fd, struct map_session_data *sd)
}
/*==========================================
- * �X�L���g�p�i�ꏊ�w���j
+ * スキル使用(場所指定)
*------------------------------------------
*/
void clif_parse_UseSkillToPos (int fd, struct map_session_data *sd)
@@ -8144,7 +8145,7 @@ void clif_parse_UseSkillToPos (int fd, struct map_session_data *sd)
}
/*==========================================
- * �X�L���g�p�imap�w���j
+ * スキル使用(map指定)
*------------------------------------------
*/
void clif_parse_UseSkillMap (int fd, struct map_session_data *sd)
@@ -8171,7 +8172,7 @@ void clif_parse_UseSkillMap (int fd, struct map_session_data *sd)
}
/*==========================================
- * �����v��
+ * メモ要求
*------------------------------------------
*/
void clif_parse_RequestMemo (int fd, struct map_session_data *sd)
@@ -8260,7 +8261,7 @@ void clif_parse_NpcCloseClicked (int fd, struct map_session_data *sd)
}
/*==========================================
- * �A�C�e���Ӓ�
+ * アイテム鑑定
*------------------------------------------
*/
void clif_parse_ItemIdentify (int fd, struct map_session_data *sd)
@@ -8269,7 +8270,7 @@ void clif_parse_ItemIdentify (int fd, struct map_session_data *sd)
}
/*==========================================
- * �I�[�g�X�y�����M
+ * オートスペル受信
*------------------------------------------
*/
void clif_parse_AutoSpell (int fd, struct map_session_data *sd)
@@ -8278,7 +8279,7 @@ void clif_parse_AutoSpell (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�[�h�g�p
+ * カード使用
*------------------------------------------
*/
void clif_parse_UseCard (int fd, struct map_session_data *sd)
@@ -8287,7 +8288,7 @@ void clif_parse_UseCard (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�[�h�}�������I��
+ * カード挿入装備選択
*------------------------------------------
*/
void clif_parse_InsertCard (int fd, struct map_session_data *sd)
@@ -8296,7 +8297,7 @@ void clif_parse_InsertCard (int fd, struct map_session_data *sd)
}
/*==========================================
- * 0193 �L����ID���O����
+ * 0193 キャラID名前引き
*------------------------------------------
*/
void clif_parse_SolveCharName (int fd, struct map_session_data *sd)
@@ -8336,7 +8337,7 @@ void clif_parse_ResetChar (int fd, struct map_session_data *sd)
}
/*==========================================
- * 019c /lb��
+ * 019c /lb等
*------------------------------------------
*/
void clif_parse_LGMmessage (int fd, struct map_session_data *sd)
@@ -8356,7 +8357,7 @@ void clif_parse_LGMmessage (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�v���q�ɂ֓�����
+ * カプラ倉庫へ入れる
*------------------------------------------
*/
void clif_parse_MoveToKafra (int fd, struct map_session_data *sd)
@@ -8379,7 +8380,7 @@ void clif_parse_MoveToKafra (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�v���q�ɂ����o��
+ * カプラ倉庫から出す
*------------------------------------------
*/
void clif_parse_MoveFromKafra (int fd, struct map_session_data *sd)
@@ -8402,7 +8403,7 @@ void clif_parse_MoveFromKafra (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�v���q�ɂփJ�[�g����������
+ * カプラ倉庫へカートから入れる
*------------------------------------------
*/
void clif_parse_MoveToKafraFromCart (int fd, struct map_session_data *sd)
@@ -8420,7 +8421,7 @@ void clif_parse_MoveToKafraFromCart (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�v���q�ɂ����o��
+ * カプラ倉庫から出す
*------------------------------------------
*/
void clif_parse_MoveFromKafraToCart (int fd, struct map_session_data *sd)
@@ -8438,7 +8439,7 @@ void clif_parse_MoveFromKafraToCart (int fd, struct map_session_data *sd)
}
/*==========================================
- * �J�v���q�ɂ��‚���
+ * カプラ倉庫を閉じる
*------------------------------------------
*/
void clif_parse_CloseKafra (int fd, struct map_session_data *sd)
@@ -8522,7 +8523,7 @@ void clif_parse_ReplyPartyInvite (int fd, struct map_session_data *sd)
}
/*==========================================
- * �p�[�e�B�E�ޗv��
+ * パーティ脱退要求
*------------------------------------------
*/
void clif_parse_LeaveParty (int fd, struct map_session_data *sd)
@@ -8531,7 +8532,7 @@ void clif_parse_LeaveParty (int fd, struct map_session_data *sd)
}
/*==========================================
- * �p�[�e�B�����v��
+ * パーティ除名要求
*------------------------------------------
*/
void clif_parse_RemovePartyMember (int fd, struct map_session_data *sd)
@@ -8540,7 +8541,7 @@ void clif_parse_RemovePartyMember (int fd, struct map_session_data *sd)
}
/*==========================================
- * �p�[�e�B�ݒ��ύX�v��
+ * パーティ設定変更要求
*------------------------------------------
*/
void clif_parse_PartyChangeOption (int fd, struct map_session_data *sd)
@@ -8571,8 +8572,8 @@ void clif_parse_PartyMessage (int fd, struct map_session_data *sd)
}
if (is_atcommand (fd, sd, message, 0) != AtCommand_None
- || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1
- || sd->sc_data[SC_NOCHAT].timer != -1)))
+ || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1 //バーサーク時は会話も不可
+ || sd->sc_data[SC_NOCHAT].timer != -1))) //チャット禁止
{
free (buf);
return;
@@ -8641,7 +8642,7 @@ void clif_parse_CreateGuild (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�}�X�^�[���ǂ����m�F
+ * ギルドマスターかどうか確認
*------------------------------------------
*/
void clif_parse_GuildCheckMaster (int fd, struct map_session_data *sd)
@@ -8650,29 +8651,29 @@ void clif_parse_GuildCheckMaster (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�����v��
+ * ギルド情報要求
*------------------------------------------
*/
void clif_parse_GuildReqeustInfo (int fd, struct map_session_data *sd)
{
switch (RFIFOL (fd, 2))
{
- case 0: // �M���h���{�����A�����G�Ώ���
+ case 0: // ギルド基本情報、同盟敵対情報
clif_guild_basicinfo (sd);
clif_guild_allianceinfo (sd);
break;
- case 1: // �����o�[���X�g�A���E�����X�g
+ case 1: // メンバーリスト、役職名リスト
clif_guild_positionnamelist (sd);
clif_guild_memberlist (sd);
break;
- case 2: // ���E�����X�g�A���E���񃊃X�g
+ case 2: // 役職名リスト、役職情報リスト
clif_guild_positionnamelist (sd);
clif_guild_positioninfolist (sd);
break;
- case 3: // �X�L�����X�g
+ case 3: // スキルリスト
clif_guild_skillinfo (sd);
break;
- case 4: // �Ǖ����X�g
+ case 4: // 追放リスト
clif_guild_explusionlist (sd);
break;
default:
@@ -8684,7 +8685,7 @@ void clif_parse_GuildReqeustInfo (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h���E�ύX
+ * ギルド役職変更
*------------------------------------------
*/
void clif_parse_GuildChangePositionInfo (int fd, struct map_session_data *sd)
@@ -8711,7 +8712,7 @@ void clif_parse_GuildChangePositionInfo (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�����o���E�ύX
+ * ギルドメンバ役職変更
*------------------------------------------
*/
void clif_parse_GuildChangeMemberPosition (int fd,
@@ -8740,7 +8741,7 @@ void clif_parse_GuildChangeMemberPosition (int fd,
}
/*==========================================
- * �M���h�G���u�����v��
+ * ギルドエンブレム要求
*------------------------------------------
*/
void clif_parse_GuildRequestEmblem (int fd, struct map_session_data *sd)
@@ -8751,7 +8752,7 @@ void clif_parse_GuildRequestEmblem (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�G���u�����ύX
+ * ギルドエンブレム変更
*------------------------------------------
*/
void clif_parse_GuildChangeEmblem (int fd, struct map_session_data *sd)
@@ -8760,7 +8761,7 @@ void clif_parse_GuildChangeEmblem (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h���m�ύX
+ * ギルド告知変更
*------------------------------------------
*/
void clif_parse_GuildChangeNotice (int fd, struct map_session_data *sd)
@@ -8769,7 +8770,7 @@ void clif_parse_GuildChangeNotice (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h���U
+ * ギルド勧誘
*------------------------------------------
*/
void clif_parse_GuildInvite (int fd, struct map_session_data *sd)
@@ -8778,7 +8779,7 @@ void clif_parse_GuildInvite (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h���U�ԐM
+ * ギルド勧誘返信
*------------------------------------------
*/
void clif_parse_GuildReplyInvite (int fd, struct map_session_data *sd)
@@ -8787,7 +8788,7 @@ void clif_parse_GuildReplyInvite (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�E��
+ * ギルド脱退
*------------------------------------------
*/
void clif_parse_GuildLeave (int fd, struct map_session_data *sd)
@@ -8797,7 +8798,7 @@ void clif_parse_GuildLeave (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�Ǖ�
+ * ギルド追放
*------------------------------------------
*/
void clif_parse_GuildExplusion (int fd, struct map_session_data *sd)
@@ -8829,8 +8830,8 @@ void clif_parse_GuildMessage (int fd, struct map_session_data *sd)
}
if (is_atcommand (fd, sd, message, 0) != AtCommand_None
- || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1
- || sd->sc_data[SC_NOCHAT].timer != -1)))
+ || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1 //バーサーク時は会話も不可
+ || sd->sc_data[SC_NOCHAT].timer != -1))) //チャット禁止
{
free (buf);
return;
@@ -8850,7 +8851,7 @@ void clif_parse_GuildMessage (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�����v��
+ * ギルド同盟要求
*------------------------------------------
*/
void clif_parse_GuildRequestAlliance (int fd, struct map_session_data *sd)
@@ -8859,7 +8860,7 @@ void clif_parse_GuildRequestAlliance (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�����v���ԐM
+ * ギルド同盟要求返信
*------------------------------------------
*/
void clif_parse_GuildReplyAlliance (int fd, struct map_session_data *sd)
@@ -8868,7 +8869,7 @@ void clif_parse_GuildReplyAlliance (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�֌W����
+ * ギルド関係解消
*------------------------------------------
*/
void clif_parse_GuildDelAlliance (int fd, struct map_session_data *sd)
@@ -8877,7 +8878,7 @@ void clif_parse_GuildDelAlliance (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h�G��
+ * ギルド敵対
*------------------------------------------
*/
void clif_parse_GuildOpposition (int fd, struct map_session_data *sd)
@@ -8886,7 +8887,7 @@ void clif_parse_GuildOpposition (int fd, struct map_session_data *sd)
}
/*==========================================
- * �M���h���U
+ * ギルド解散
*------------------------------------------
*/
void clif_parse_GuildBreak (int fd, struct map_session_data *sd)
@@ -9004,7 +9005,7 @@ void clif_parse_GMHide (int fd, struct map_session_data *sd)
}
/*==========================================
- * GM�ɂ����`���b�g�֎~���ԕt�^
+ * GMによるチャット禁止時間付与
*------------------------------------------
*/
void clif_parse_GMReqNoChat (int fd, struct map_session_data *sd)
@@ -9054,7 +9055,7 @@ void clif_parse_GMReqNoChat (int fd, struct map_session_data *sd)
}
/*==========================================
- * GM�ɂ����`���b�g�֎~���ԎQ�Ɓi�H�j
+ * GMによるチャット禁止時間参照(?)
*------------------------------------------
*/
void clif_parse_GMReqNoChatCount (int fd, struct map_session_data *sd)
@@ -9285,7 +9286,7 @@ int monk (struct map_session_data *sd, struct block_list *target, int type)
}
/*==========================================
- * �X�p�m�r��/doridori�ɂ���SPR2�{
+ * スパノビの/doridoriによるSPR2倍
*------------------------------------------
*/
void clif_parse_sn_doridori (int fd, struct map_session_data *sd)
@@ -9297,7 +9298,7 @@ void clif_parse_sn_doridori (int fd, struct map_session_data *sd)
}
/*==========================================
- * �X�p�m�r�̔����g��
+ * スパノビの爆裂波動
*------------------------------------------
*/
void clif_parse_sn_explosionspirits (int fd, struct map_session_data *sd)
@@ -10099,8 +10100,8 @@ static char *clif_validate_chat (struct map_session_data *sd, int type,
}
/*==========================================
- * �N���C�A���g�����̃p�P�b�g����
- * socket.c��do_parsepacket�����Ăяo������
+ * クライアントからのパケット解析
+ * socket.cのdo_parsepacketから呼び出される
*------------------------------------------
*/
static int clif_parse (int fd)
@@ -10122,9 +10123,9 @@ static int clif_parse (int fd)
}
}
- // �ڑ����؂��Ă��̂Ō��n��
+ // 接続が切れてるので後始末
if (!chrif_isconnect () || session[fd]->eof)
- { // char�I�Ɍq����ĂȂ��Ԃ͐ڑ��֎~ (!chrif_isconnect())
+ { // char鯖に繋がってない間は接続禁止 (!chrif_isconnect())
if (sd && sd->state.auth)
{
pc_logout (sd);
@@ -10151,12 +10152,12 @@ static int clif_parse (int fd)
cmd = RFIFOW (fd, 0);
- // �Ǘ��p�p�P�b�g����
+ // 管理用パケット処理
if (cmd >= 30000)
{
switch (cmd)
{
- case 0x7530: // Athena���񏊓�
+ case 0x7530: // Athena情報所得
WFIFOW (fd, 0) = 0x7531;
WFIFOB (fd, 2) = ATHENA_MAJOR_VERSION;
WFIFOB (fd, 3) = ATHENA_MINOR_VERSION;
@@ -10168,7 +10169,7 @@ static int clif_parse (int fd)
WFIFOSET (fd, 10);
RFIFOSKIP (fd, 2);
break;
- case 0x7532: // �ڑ��̐ؒf
+ case 0x7532: // 接続の切断
session[fd]->eof = 1;
break;
}
@@ -10177,7 +10178,7 @@ static int clif_parse (int fd)
else if (cmd >= 0x200)
return 0;
- // �p�P�b�g�����v�Z
+ // パケット長を計算
packet_len = packet_len_table[cmd];
if (packet_len == -1)
{
@@ -10199,7 +10200,7 @@ static int clif_parse (int fd)
}
if (sd && sd->state.auth == 1 && sd->state.waitingdisconnect == 1)
- { // �ؒf�҂��̏ꍇ�p�P�b�g������Ȃ�
+ { // 切断待ちの場合パケットを処理しない
}
else if (clif_parse_func_table[cmd].func)
@@ -10215,7 +10216,7 @@ static int clif_parse (int fd)
}
else
{
- // �s���ȃp�P�b�g
+ // 不明なパケット
if (battle_config.error_log)
{
if (fd)
diff --git a/src/map/npc.c b/src/map/npc.c
index d3def90..0335e9c 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -51,12 +51,12 @@ struct event_data
struct npc_data *nd;
int pos;
};
-static struct tm ev_tm_b; // ���v�C�x���g�p
+static struct tm ev_tm_b; // 時計イベント用
/*==========================================
- * NPC�̖�����/�L����
+ * NPCの無効化/有効化
* npc_enable
- * npc_enable_sub �L������OnTouch�C�x���g����s
+ * npc_enable_sub 有効時にOnTouchイベントを実行
*------------------------------------------
*/
int npc_enable_sub (struct block_list *bl, va_list ap)
@@ -71,7 +71,7 @@ int npc_enable_sub (struct block_list *bl, va_list ap)
if (bl->type == BL_PC && (sd = (struct map_session_data *) bl))
{
- if (nd->flag & 1) // ��������������
+ if (nd->flag & 1) // 無効化されている
return 1;
memcpy (name, nd->name, sizeof(nd->name));
@@ -91,7 +91,7 @@ int npc_enable (const char *name, int flag)
return 0;
if (flag & 1)
- { // �L����
+ { // 有効化
nd->flag &= ~1;
clif_spawnnpc (nd);
}
@@ -108,7 +108,7 @@ int npc_enable (const char *name, int flag)
clif_changeoption (&nd->bl);
}
else
- { // ������
+ { // 無効化
nd->flag |= 1;
clif_clearchar (&nd->bl, 0);
}
@@ -121,7 +121,7 @@ int npc_enable (const char *name, int flag)
}
/*==========================================
- * NPC�𖼑O�ŒT��
+ * NPCを名前で探す
*------------------------------------------
*/
struct npc_data *npc_name2id (const char *name)
@@ -130,7 +130,7 @@ struct npc_data *npc_name2id (const char *name)
}
/*==========================================
- * �C�x���g�L���[�̃C�x���g����
+ * イベントキューのイベント処理
*------------------------------------------
*/
int npc_event_dequeue (struct map_session_data *sd)
@@ -139,7 +139,7 @@ int npc_event_dequeue (struct map_session_data *sd)
sd->npc_id = 0;
- if (sd->eventqueue[0][0])
+ if (sd->eventqueue[0][0]) // キューのイベント処理
{
if (!pc_addeventtimer(sd, 100, sd->eventqueue[0]))
{
@@ -170,7 +170,7 @@ int npc_delete (struct npc_data *nd)
}
/*==========================================
- * �C�x���g�̒x����s
+ * イベントの遅延実行
*------------------------------------------
*/
int npc_event_timer (int tid, unsigned int tick, int id, int data)
@@ -246,8 +246,8 @@ int npc_timer(int tid,unsigned int tick,int id,int data) // Added by RoVeRT
return 0;
}*/
/*==========================================
- * �C�x���g�p���x���̃G�N�X�|�[�g
- * npc_parse_script->strdb_foreach�����Ă΂���
+ * イベント用ラベルのエクスポート
+ * npc_parse_script->strdb_foreachから呼ばれる
*------------------------------------------
*/
int npc_event_export (void *key, void *data, va_list ap)
@@ -262,7 +262,7 @@ int npc_event_export (void *key, void *data, va_list ap)
struct event_data *ev;
char *buf;
char *p = strchr (lname, ':');
- // �G�N�X�|�[�g������
+ // エクスポートされる
ev = calloc (sizeof (struct event_data), 1);
buf = calloc (50, 1);
if (ev == NULL || buf == NULL)
@@ -291,7 +291,7 @@ int npc_event_export (void *key, void *data, va_list ap)
}
/*==========================================
- * �S��NPC��On*�C�x���g��s
+ * 全てのNPCのOn*イベント実行
*------------------------------------------
*/
int npc_event_doall_sub (void *key, void *data, va_list ap)
@@ -375,7 +375,7 @@ int npc_event_do_l (const char *name, int rid, int argc, argrec_t * args)
}
/*==========================================
- * ���v�C�x���g��s
+ * 時計イベント実行
*------------------------------------------
*/
int npc_event_do_clock (int tid, unsigned int tick, int id, int data)
@@ -410,7 +410,7 @@ int npc_event_do_clock (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * OnInit�C�x���g��s(&���v�C�x���g�J�n)
+ * OnInitイベント実行(&時計イベント開始)
*------------------------------------------
*/
int npc_event_do_oninit (void)
@@ -521,8 +521,8 @@ int npc_do_ontimer (int npc_id, struct map_session_data *sd, int option)
}
/*==========================================
- * �^�C�}�[�C�x���g�p���x���̎��荞��
- * npc_parse_script->strdb_foreach�����Ă΂���
+ * タイマーイベント用ラベルの取り込み
+ * npc_parse_script->strdb_foreachから呼ばれる
*------------------------------------------
*/
int npc_timerevent_import (void *key, void *data, va_list ap)
@@ -534,7 +534,7 @@ int npc_timerevent_import (void *key, void *data, va_list ap)
if (sscanf (lname, "OnTimer%d%n", &t, &i) == 1 && lname[i] == ':')
{
- // �^�C�}�[�C�x���g
+ // タイマーイベント
struct npc_timerevent_list *te = nd->u.scr.timer_event;
int j, i = nd->u.scr.timeramount;
if (te == NULL)
@@ -564,7 +564,7 @@ int npc_timerevent_import (void *key, void *data, va_list ap)
}
/*==========================================
- * �^�C�}�[�C�x���g��s
+ * タイマーイベント実行
*------------------------------------------
*/
int npc_timerevent (int tid, unsigned int tick, int id, int data)
@@ -594,7 +594,7 @@ int npc_timerevent (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * �^�C�}�[�C�x���g�J�n
+ * タイマーイベント開始
*------------------------------------------
*/
int npc_timerevent_start (struct npc_data *nd)
@@ -625,7 +625,7 @@ int npc_timerevent_start (struct npc_data *nd)
}
/*==========================================
- * �^�C�}�[�C�x���g�I��
+ * タイマーイベント終了
*------------------------------------------
*/
int npc_timerevent_stop (struct npc_data *nd)
@@ -644,7 +644,7 @@ int npc_timerevent_stop (struct npc_data *nd)
}
/*==========================================
- * �^�C�}�[�l�̏���
+ * タイマー値の所得
*------------------------------------------
*/
int npc_gettimerevent_tick (struct npc_data *nd)
@@ -661,7 +661,7 @@ int npc_gettimerevent_tick (struct npc_data *nd)
}
/*==========================================
- * �^�C�}�[�l�̐ݒ�
+ * タイマー値の設定
*------------------------------------------
*/
int npc_settimerevent_tick (struct npc_data *nd, int newtimer)
@@ -680,7 +680,7 @@ int npc_settimerevent_tick (struct npc_data *nd, int newtimer)
}
/*==========================================
- * �C�x���g�^��NPC����
+ * イベント型のNPC処理
*------------------------------------------
*/
int npc_event (struct map_session_data *sd, const char *eventname,
@@ -759,7 +759,7 @@ int npc_event (struct map_session_data *sd, const char *eventname,
return 1;
}
if (nd->flag & 1)
- { // ��������������
+ { // 無効化されている
npc_event_dequeue (sd);
return 0;
}
@@ -798,7 +798,7 @@ int npc_command (struct map_session_data *sd, char *npcname, char *command)
}
/*==========================================
- * �ڐG�^��NPC����
+ * 接触型のNPC処理
*------------------------------------------
*/
int npc_touch_areanpc (struct map_session_data *sd, int m, int x, int y)
@@ -814,7 +814,7 @@ int npc_touch_areanpc (struct map_session_data *sd, int m, int x, int y)
for (i = 0; i < map[m].npc_num; i++)
{
if (map[m].npc[i]->flag & 1)
- { // ��������������
+ { // 無効化されている
f = 0;
continue;
}
@@ -874,7 +874,7 @@ int npc_touch_areanpc (struct map_session_data *sd, int m, int x, int y)
}
/*==========================================
- * �߂����ǂ����̔���
+ * 近くかどうかの判定
*------------------------------------------
*/
int npc_checknear (struct map_session_data *sd, int id)
@@ -891,10 +891,10 @@ int npc_checknear (struct map_session_data *sd, int id)
return 1;
}
- if (nd->class < 0) // �C�x���g�n�͏���OK
+ if (nd->class < 0) // イベント系は常にOK
return 0;
- // �G���A����
+ // エリア判定
if (nd->bl.m != sd->bl.m ||
nd->bl.x < sd->bl.x - AREA_SIZE - 1
|| nd->bl.x > sd->bl.x + AREA_SIZE + 1
@@ -906,7 +906,7 @@ int npc_checknear (struct map_session_data *sd, int id)
}
/*==========================================
- * �N���b�N����NPC����
+ * クリック時のNPC処理
*------------------------------------------
*/
int npc_click (struct map_session_data *sd, int id)
@@ -929,7 +929,7 @@ int npc_click (struct map_session_data *sd, int id)
nd = (struct npc_data *) map_id2bl (id);
- if (nd->flag & 1) // ��������������
+ if (nd->flag & 1) // 無効化されている
return 1;
sd->npc_id = id;
@@ -1006,7 +1006,7 @@ int npc_buysellsel (struct map_session_data *sd, int id, int type)
sd->npc_id = 0;
return 1;
}
- if (nd->flag & 1) // ��������������
+ if (nd->flag & 1) // 無効化されている
return 1;
sd->npc_shopid = id;
@@ -1078,11 +1078,11 @@ int npc_buylist (struct map_session_data *sd, int n,
}
if (z > (double) sd->status.zeny)
- return 1; // zeny�s��
+ return 1; // zeny不足
if (w + sd->weight > sd->max_weight)
- return 2; // �d�ʒ���
+ return 2; // 重量超過
if (pc_inventoryblank (sd) < new)
- return 3; // ���ސ�����
+ return 3; // 種類数超過
if (sd->trade_partner != 0)
return 4; // cant buy while trading
@@ -1098,7 +1098,7 @@ int npc_buylist (struct map_session_data *sd, int n,
memset (&item_tmp, 0, sizeof (item_tmp));
item_tmp.nameid = item_data->nameid;
- item_tmp.identify = 1; // npc�̔��A�C�e���͊Ӓ��ς�
+ item_tmp.identify = 1; // npc販売アイテムは鑑定済み
if (amount > 1
&& (item_data->type == 4 || item_data->type == 5
@@ -1116,7 +1116,7 @@ int npc_buylist (struct map_session_data *sd, int n,
}
}
- //���l�o���l
+ //商人経験値
/* if ((sd->status.class == 5) || (sd->status.class == 10) || (sd->status.class == 18)) {
z = z * pc_checkskill(sd,MC_DISCOUNT) / ((1 + 300 / itemamount) * 4000) * battle_config.shop_exp;
pc_gainexp(sd,0,z);
@@ -1182,7 +1182,7 @@ int npc_selllist (struct map_session_data *sd, int n,
pc_delitem (sd, item_id, item_list[i * 2 + 1], 0);
}
- //���l�o���l
+ //商人経験値
/* if ((sd->status.class == 5) || (sd->status.class == 10) || (sd->status.class == 18)) {
z = z * pc_checkskill(sd,MC_OVERCHARGE) / ((1 + 500 / itemamount) * 4000) * battle_config.shop_exp ;
pc_gainexp(sd,0,z);
@@ -1205,11 +1205,11 @@ int npc_selllist (struct map_session_data *sd, int n,
}
//
-// �������֌W
+// 初期化関係
//
/*==========================================
- * �ǂݍ���npc�t�@�C���̃N���A
+ * 読み込むnpcファイルのクリア
*------------------------------------------
*/
void npc_clearsrcfile ()
@@ -1227,7 +1227,7 @@ void npc_clearsrcfile ()
}
/*==========================================
- * �ǂݍ���npc�t�@�C���̒lj�
+ * 読み込むnpcファイルの追加
*------------------------------------------
*/
void npc_addsrcfile (char *name)
@@ -1254,7 +1254,7 @@ void npc_addsrcfile (char *name)
}
/*==========================================
- * �ǂݍ���npc�t�@�C���̍폜
+ * 読み込むnpcファイルの削除
*------------------------------------------
*/
void npc_delsrcfile (char *name)
@@ -1281,7 +1281,7 @@ void npc_delsrcfile (char *name)
}
/*==========================================
- * warp�s����
+ * warp行解析
*------------------------------------------
*/
int npc_parse_warp (char *w1, char *w2, char *w3, char *w4)
@@ -1291,7 +1291,7 @@ int npc_parse_warp (char *w1, char *w2, char *w3, char *w4)
char mapname[24], to_mapname[24];
struct npc_data *nd;
- // �����̌��`�F�b�N
+ // 引数の個数チェック
if (sscanf (w1, "%[^,],%d,%d", mapname, &x, &y) != 3 ||
sscanf (w4, "%d,%d,%[^,],%d,%d", &xs, &ys, to_mapname, &to_x,
&to_y) != 5)
@@ -1357,7 +1357,7 @@ int npc_parse_warp (char *w1, char *w2, char *w3, char *w4)
}
/*==========================================
- * shop�s����
+ * shop行解析
*------------------------------------------
*/
static int npc_parse_shop (char *w1, char *w2, char *w3, char *w4)
@@ -1368,7 +1368,7 @@ static int npc_parse_shop (char *w1, char *w2, char *w3, char *w4)
char mapname[24];
struct npc_data *nd;
- // �����̌��`�F�b�N
+ // 引数の個数チェック
if (sscanf (w1, "%[^,],%d,%d,%d", mapname, &x, &y, &dir) != 4 ||
strchr (w4, ',') == NULL)
{
@@ -1457,7 +1457,7 @@ static int npc_parse_shop (char *w1, char *w2, char *w3, char *w4)
}
/*==========================================
- * NPC�̃��x���f�[�^�R���o�[�g
+ * NPCのラベルデータコンバート
*------------------------------------------
*/
int npc_convertlabel_db (void *key, void *data, va_list ap)
@@ -1499,7 +1499,7 @@ int npc_convertlabel_db (void *key, void *data, va_list ap)
}
/*==========================================
- * script�s����
+ * script行解析
*------------------------------------------
*/
static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
@@ -1528,7 +1528,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
}
else
{
- // �����̌��`�F�b�N
+ // 引数の個数チェック
if (sscanf (w1, "%[^,],%d,%d,%d", mapname, &x, &y, &dir) != 4 ||
(strcmp (w2, "script") == 0 && strchr (w4, ',') == NULL))
{
@@ -1540,7 +1540,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
if (strcmp (w2, "script") == 0)
{
- // �X�N���v�g�̉���
+ // スクリプトの解析
srcbuf = (char *) aCalloc (srcsize, sizeof (char));
if (strchr (first_line, '{'))
{
@@ -1587,7 +1587,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
}
else
{
- // duplicate����
+ // duplicateする
char srcname[128];
struct npc_data *nd2;
@@ -1606,18 +1606,18 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
label_dupnum = nd2->u.scr.label_list_num;
src_id = nd2->bl.id;
- } // end of �X�N���v�g����
+ } // end of スクリプト解析
nd = (struct npc_data *) aCalloc (1, sizeof (struct npc_data));
if (m == -1)
{
- // �X�N���v�g�R�s�[�p�̃_�~�[NPC
+ // スクリプトコピー用のダミーNPC
}
else if (sscanf (w4, "%d,%d,%d", &class, &xs, &ys) == 3)
{
- // �ڐG�^NPC
+ // 接触型NPC
int i, j;
if (xs >= 0)
@@ -1645,14 +1645,14 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
nd->u.scr.ys = ys;
}
else
- { // �N���b�N�^NPC
+ { // クリック型NPC
class = atoi (w4);
nd->u.scr.xs = 0;
nd->u.scr.ys = 0;
}
if (class < 0 && m >= 0)
- { // �C�x���g�^NPC
+ { // イベント型NPC
evflag = 1;
}
@@ -1700,7 +1700,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
map_addblock (&nd->bl);
if (evflag)
- { // �C�x���g�^
+ { // イベント型
struct event_data *ev =
(struct event_data *) aCalloc (1, sizeof (struct event_data));
ev->nd = nd;
@@ -1713,16 +1713,16 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
strdb_insert (npcname_db, nd->exname, nd);
//-----------------------------------------
- // ���x���f�[�^�̏���
+ // ラベルデータの準備
if (srcbuf)
{
- // script�{�̂������ꍇ�̏���
+ // script本体がある場合の処理
- // ���x���f�[�^�̃R���o�[�g
+ // ラベルデータのコンバート
label_db = script_get_label_db ();
strdb_foreach (label_db, npc_convertlabel_db, nd);
- // ���g���Ȃ��̂Ńo�b�t�@����
+ // もう使わないのでバッファ解放
free (srcbuf);
}
@@ -1733,12 +1733,12 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
// nd->u.scr.label_list=malloc(sizeof(struct npc_label_list)*label_dupnum);
// memcpy(nd->u.scr.label_list,label_dup,sizeof(struct npc_label_list)*label_dupnum);
- nd->u.scr.label_list = label_dup; // ���x���f�[�^���L
+ nd->u.scr.label_list = label_dup; // ラベルデータ共有
nd->u.scr.label_list_num = label_dupnum;
}
//-----------------------------------------
- // �C�x���g�p���x���f�[�^�̃G�N�X�|�[�g
+ // イベント用ラベルデータのエクスポート
for (i = 0; i < nd->u.scr.label_list_num; i++)
{
char *lname = nd->u.scr.label_list[i].name;
@@ -1749,7 +1749,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
{
struct event_data *ev;
char *buf;
- // �G�N�X�|�[�g������
+ // エクスポートされる
ev = (struct event_data *) aCalloc (1,
sizeof (struct event_data));
buf = (char *) aCalloc (50, sizeof (char));
@@ -1769,7 +1769,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
}
//-----------------------------------------
- // ���x���f�[�^�����^�C�}�[�C�x���g���荞��
+ // ラベルデータからタイマーイベント取り込み
for (i = 0; i < nd->u.scr.label_list_num; i++)
{
int t = 0, k = 0;
@@ -1777,7 +1777,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
int pos = nd->u.scr.label_list[i].pos;
if (sscanf (lname, "OnTimer%d%n", &t, &k) == 1 && lname[k] == '\0')
{
- // �^�C�}�[�C�x���g
+ // タイマーイベント
struct npc_timerevent_list *te = nd->u.scr.timer_event;
int j, k = nd->u.scr.timeramount;
if (te == NULL)
@@ -1811,7 +1811,7 @@ static int npc_parse_script (char *w1, char *w2, char *w3, char *w4,
}
/*==========================================
- * function�s����
+ * function行解析
*------------------------------------------
*/
static int npc_parse_function (char *w1, char *w2, char *w3, char *w4,
@@ -1825,7 +1825,7 @@ static int npc_parse_function (char *w1, char *w2, char *w3, char *w4,
// struct dbt *label_db;
char *p;
- // �X�N���v�g�̉���
+ // スクリプトの解析
srcbuf = (char *) aCalloc (srcsize, sizeof (char));
if (strchr (first_line, '{'))
{
@@ -1876,7 +1876,7 @@ static int npc_parse_function (char *w1, char *w2, char *w3, char *w4,
// label_db=script_get_label_db();
- // ���g���Ȃ��̂Ńo�b�t�@����
+ // もう使わないのでバッファ解放
free (srcbuf);
// printf("function %s => %p\n",p,script);
@@ -1885,7 +1885,7 @@ static int npc_parse_function (char *w1, char *w2, char *w3, char *w4,
}
/*==========================================
- * mob�s����
+ * mob行解析
*------------------------------------------
*/
int npc_parse_mob (char *w1, char *w2, char *w3, char *w4)
@@ -1898,7 +1898,7 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4)
xs = ys = 0;
delay1 = delay2 = 0;
- // �����̌��`�F�b�N
+ // 引数の個数チェック
if (sscanf (w1, "%[^,],%d,%d,%d,%d", mapname, &x, &y, &xs, &ys) < 3 ||
sscanf (w4, "%d,%d,%d,%d,%s", &class, &num, &delay1, &delay2,
eventname) < 2)
@@ -1972,7 +1972,7 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4)
}
/*==========================================
- * �}�b�v�t���O�s�̉���
+ * マップフラグ行の解析
*------------------------------------------
*/
static int npc_parse_mapflag (char *w1, char *w2, char *w3, char *w4)
@@ -1983,7 +1983,7 @@ static int npc_parse_mapflag (char *w1, char *w2, char *w3, char *w4)
char drop_arg1[16], drop_arg2[16];
int drop_id = 0, drop_type = 0, drop_per = 0;
- // �����̌��`�F�b�N
+ // 引数の個数チェック
// if ( sscanf(w1,"%[^,],%d,%d,%d",mapname,&x,&y,&dir) != 4 )
if (sscanf (w1, "%[^,]", mapname) != 1)
return 1;
@@ -1992,7 +1992,7 @@ static int npc_parse_mapflag (char *w1, char *w2, char *w3, char *w4)
if (m < 0)
return 1;
-//�}�b�v�t���O
+//マップフラグ
if (strcmpi (w3, "nosave") == 0)
{
if (strcmp (w4, "SavePoint") == 0)
@@ -2247,7 +2247,7 @@ void npc_free (struct npc_data *nd)
}
/*==========================================
- * �I��
+ * 終了
*------------------------------------------
*/
int do_final_npc (void)
@@ -2293,7 +2293,7 @@ void ev_release (struct dbn *db, int which)
}
/*==========================================
- * npc������
+ * npc初期化
*------------------------------------------
*/
int do_init_npc (void)
@@ -2332,7 +2332,7 @@ int do_init_npc (void)
if (line[0] == '/' && line[1] == '/')
continue;
- // �s�v�ȃX�y�[�X���^�u�̘A���͋l�߂�
+ // 不要なスペースやタブの連続は詰める
for (i = j = 0; line[i]; i++)
{
if (line[i] == ' ')
@@ -2351,7 +2351,7 @@ int do_init_npc (void)
else
line[j++] = line[i];
}
- // �ŏ��̓^�u���؂��Ń`�F�b�N���Ă݂āA�_���Ȃ��X�y�[�X���؂��Ŋm�F
+ // 最初はタブ区切りでチェックしてみて、ダメならスペース区切りで確認
if ((count =
sscanf (line, "%[^\t]\t%[^\t]\t%[^\t\r\n]\t%n%[^\t\r\n]", w1,
w2, w3, &w4pos, w4)) < 3
@@ -2360,7 +2360,7 @@ int do_init_npc (void)
{
continue;
}
- // �}�b�v�̑��݊m�F
+ // マップの存在確認
if (strcmp (w1, "-") != 0 && strcmpi (w1, "function") != 0)
{
sscanf (w1, "%[^,]", mapname);
diff --git a/src/map/pc.c b/src/map/pc.c
index 851db13..fb98bcb 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -34,7 +34,7 @@
#include "memwatch.h"
#endif
-#define PVP_CALCRANK_INTERVAL 1000 // PVP���ʌv�Z�̊Ԋu
+#define PVP_CALCRANK_INTERVAL 1000 // PVP順位計算の間隔
//define it here, since the ifdef only occurs in this file
#define USE_ASTRAL_SOUL_SKILL
@@ -83,9 +83,9 @@ static struct
} need[6];
} skill_tree[3][MAX_PC_CLASS][100];
-static int atkmods[3][20]; // ����ATK�T�C�Y�C��(size_fix.txt)
-static int refinebonus[5][3]; // ���B�{�[�i�X�e�[�u��(refine_db.txt)
-static int percentrefinery[5][10]; // ���B������(refine_db.txt)
+static int atkmods[3][20]; // 武器ATKサイズ修正(size_fix.txt)
+static int refinebonus[5][3]; // 精錬ボーナステーブル(refine_db.txt)
+static int percentrefinery[5][10]; // 精錬成功率(refine_db.txt)
static int dirx[8] = { 0, -1, -1, -1, 0, 1, 1, 1 };
static int diry[8] = { 1, 1, 0, -1, -1, -1, 0, 1 };
@@ -316,7 +316,7 @@ int pc_delspiritball (struct map_session_data *sd, int count, int type)
int pc_setrestartvalue (struct map_session_data *sd, int type)
{
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
struct pc_base_job s_class;
nullpo_retr (0, sd);
@@ -324,16 +324,16 @@ int pc_setrestartvalue (struct map_session_data *sd, int type)
s_class = pc_calc_base_job (sd->status.class);
//-----------------------
- // ���S����
+ // 死亡した
if (sd->special_state.restart_full_recover)
- { // �I�V���X�J�[�h
+ { // オシリスカード
sd->status.hp = sd->status.max_hp;
sd->status.sp = sd->status.max_sp;
}
else
{
if (s_class.job == 0 && battle_config.restart_hp_rate < 50)
- { //�m�r�͔�������
+ { //ノビは半分回復
sd->status.hp = (sd->status.max_hp) / 2;
}
else
@@ -381,7 +381,7 @@ int pc_setrestartvalue (struct map_session_data *sd, int type)
}
/*==========================================
- * ������b�N���Ă���MOB�̐��𐔂���(foreachclient)
+ * 自分をロックしているMOBの数を数える(foreachclient)
*------------------------------------------
*/
static int pc_counttargeted_sub (struct block_list *bl, va_list ap)
@@ -431,24 +431,24 @@ int pc_counttargeted (struct map_session_data *sd, struct block_list *src,
}
/*==========================================
- * ���[�J���v���g�^�C�v�錾 (�K�v�ȕ��̂�)
+ * ローカルプロトタイプ宣言 (必要な物のみ)
*------------------------------------------
*/
static int pc_walktoxy_sub (struct map_session_data *);
/*==========================================
- * save�ɕK�v�ȃX�e�[�^�X�C�����s�Ȃ�
+ * saveに必要なステータス修正を行なう
*------------------------------------------
*/
int pc_makesavestatus (struct map_session_data *sd)
{
nullpo_retr (0, sd);
- // ���̐F�͐F�X���Q�������̂ŕۑ��Ώۂɂ͂��Ȃ�
+ // 服の色は色々弊害が多いので保存対象にはしない
if (!battle_config.save_clothcolor)
sd->status.clothes_color = 0;
- // ���S���Ԃ�����̂�hp��1�A�ʒu���Z�[�u�ꏊ�ɕύX
+ // 死亡状態だったのでhpを1、位置をセーブ場所に変更
if (pc_isdead (sd))
{
pc_setrestartvalue (sd, 0);
@@ -462,7 +462,7 @@ int pc_makesavestatus (struct map_session_data *sd)
sd->status.last_point.y = sd->bl.y;
}
- // �Z�[�u�֎~�}�b�v������̂Ŏw���ʒu�Ɉړ�
+ // セーブ禁止マップだったので指定位置に移動
if (map[sd->bl.m].flag.nosave)
{
struct map_data *m = &map[sd->bl.m];
@@ -474,14 +474,14 @@ int pc_makesavestatus (struct map_session_data *sd)
sizeof (sd->status.last_point));
}
- //�}�i�[�|�C���g���v���X������ꍇ0��
+ //マナーポイントがプラスだった場合0に
if (battle_config.muting_players && sd->status.manner > 0)
sd->status.manner = 0;
return 0;
}
/*==========================================
- * �ڑ����̏�����
+ * 接続時の初期化
*------------------------------------------
*/
int pc_setnewpc (struct map_session_data *sd, int account_id, int char_id,
@@ -507,7 +507,7 @@ int pc_setnewpc (struct map_session_data *sd, int account_id, int char_id,
int pc_equippoint (struct map_session_data *sd, int n)
{
int ep = 0;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
struct pc_base_job s_class;
nullpo_retr (0, sd);
@@ -550,19 +550,19 @@ int pc_calcweapontype (struct map_session_data *sd)
if (sd->weapontype1 != 0 && sd->weapontype2 == 0)
sd->status.weapon = sd->weapontype1;
- if (sd->weapontype1 == 0 && sd->weapontype2 != 0) // ���蕐�� Only
+ if (sd->weapontype1 == 0 && sd->weapontype2 != 0) // 左手武器 Only
sd->status.weapon = sd->weapontype2;
- else if (sd->weapontype1 == 1 && sd->weapontype2 == 1) // �o�Z��
+ else if (sd->weapontype1 == 1 && sd->weapontype2 == 1) // 双短剣
sd->status.weapon = 0x11;
- else if (sd->weapontype1 == 2 && sd->weapontype2 == 2) // �o�P�茕
+ else if (sd->weapontype1 == 2 && sd->weapontype2 == 2) // 双単手剣
sd->status.weapon = 0x12;
- else if (sd->weapontype1 == 6 && sd->weapontype2 == 6) // �o�P�蕀
+ else if (sd->weapontype1 == 6 && sd->weapontype2 == 6) // 双単手斧
sd->status.weapon = 0x13;
- else if ((sd->weapontype1 == 1 && sd->weapontype2 == 2) || (sd->weapontype1 == 2 && sd->weapontype2 == 1)) // �Z�� - �P�茕
+ else if ((sd->weapontype1 == 1 && sd->weapontype2 == 2) || (sd->weapontype1 == 2 && sd->weapontype2 == 1)) // 短剣 - 単手剣
sd->status.weapon = 0x14;
- else if ((sd->weapontype1 == 1 && sd->weapontype2 == 6) || (sd->weapontype1 == 6 && sd->weapontype2 == 1)) // �Z�� - ��
+ else if ((sd->weapontype1 == 1 && sd->weapontype2 == 6) || (sd->weapontype1 == 6 && sd->weapontype2 == 1)) // 短剣 - 斧
sd->status.weapon = 0x15;
- else if ((sd->weapontype1 == 2 && sd->weapontype2 == 6) || (sd->weapontype1 == 6 && sd->weapontype2 == 2)) // �P�茕 - ��
+ else if ((sd->weapontype1 == 2 && sd->weapontype2 == 6) || (sd->weapontype1 == 6 && sd->weapontype2 == 2)) // 単手剣 - 斧
sd->status.weapon = 0x16;
else
sd->status.weapon = sd->weapontype1;
@@ -623,7 +623,7 @@ int pc_isequip (struct map_session_data *sd, int n)
{
struct item_data *item;
struct status_change *sc_data;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
nullpo_retr (0, sd);
@@ -751,8 +751,8 @@ int pc_breakarmor (struct map_session_data *sd)
}
/*==========================================
- * session id�ɖ��薳��
- * char�I���瑗�����Ă����X�e�[�^�X���ݒ�
+ * session idに問題無し
+ * char鯖から送られてきたステータスを設定
*------------------------------------------
*/
int pc_authok (int id, int login_id2, time_t connect_until_time,
@@ -787,7 +787,7 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
MAP_LOG_MAGIC (sd, "LOGIN");
memset (&sd->state, 0, sizeof (sd->state));
- // ���{�I�ȏ�����
+ // 基本的な初期化
sd->state.connect_new = 1;
sd->bl.prev = sd->bl.next = NULL;
@@ -840,14 +840,14 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
sd->dev.val2[i] = 0;
}
- // �A�J�E���g�ϐ��̑��M�v��
+ // アカウント変数の送信要求
intif_request_accountreg (sd);
- // �A�C�e���`�F�b�N
+ // アイテムチェック
pc_setinventorydata (sd);
pc_checkitem (sd);
- // �X�e�[�^�X�ُ��̏�����
+ // ステータス異常の初期化
for (i = 0; i < MAX_STATUSCHANGE; i++)
{
sd->sc_data[i].timer = -1;
@@ -861,35 +861,35 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
else
sd->status.option &= OPTION_MASK;
- // �X�L�����j�b�g�֌W�̏�����
+ // スキルユニット関係の初期化
memset (sd->skillunit, 0, sizeof (sd->skillunit));
memset (sd->skillunittick, 0, sizeof (sd->skillunittick));
// init ignore list
memset (sd->ignore, 0, sizeof (sd->ignore));
- // �p�[�e�B�[�֌W�̏�����
+ // パーティー関係の初期化
sd->party_sended = 0;
sd->party_invite = 0;
sd->party_x = -1;
sd->party_y = -1;
sd->party_hp = -1;
- // �M���h�֌W�̏�����
+ // ギルド関係の初期化
sd->guild_sended = 0;
sd->guild_invite = 0;
sd->guild_alliance = 0;
- // �C�x���g�֌W�̏�����
+ // イベント関係の初期化
memset (sd->eventqueue, 0, sizeof (sd->eventqueue));
for (i = 0; i < MAX_EVENTTIMER; i++)
sd->eventtimer[i] = -1;
- // �ʒu�̐ݒ�
+ // 位置の設定
pc_setpos (sd, sd->status.last_point.map, sd->status.last_point.x,
sd->status.last_point.y, 0);
- // �p�[�e�B�A�M���h�f�[�^�̗v��
+ // パーティ、ギルドデータの要求
if (sd->status.party_id > 0
&& (p = party_search (sd->status.party_id)) == NULL)
party_request_info (sd->status.party_id);
@@ -897,19 +897,19 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
&& (g = guild_search (sd->status.guild_id)) == NULL)
guild_request_info (sd->status.guild_id);
- // pvp�̐ݒ�
+ // pvpの設定
sd->pvp_rank = 0;
sd->pvp_point = 0;
sd->pvp_timer = -1;
- // �ʒm
+ // 通知
clif_authok (sd);
map_addnickdb (sd);
if (map_charid2nick (sd->status.char_id) == NULL)
map_addchariddb (sd->status.char_id, sd->status.name);
- //�X�p�m�r�p���ɃJ�E���^�[�̃X�N���v�g�ϐ������̓ǂݏo����sd�ւ̃Z�b�g
+ //スパノビ用死にカウンターのスクリプト変数からの読み出しとsdへのセット
sd->die_counter = pc_readglobalreg (sd, "PC_DIE_COUNTER");
if (night_flag == 1)
@@ -921,7 +921,7 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
sd->opt2 |= STATE_BLIND;
}
- // �X�e�[�^�X�����v�Z�Ȃ�
+ // ステータス初期計算など
pc_calcstatus (sd, 1);
if (pc_isGM (sd))
@@ -935,7 +935,7 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
printf ("Connection accepted: Character '%s' (account: %d).\n",
sd->status.name, sd->status.account_id);
- // Message of the Day�̑��M
+ // Message of the Dayの送信
{
char buf[256];
FILE *fp;
@@ -986,7 +986,7 @@ int pc_authok (int id, int login_id2, time_t connect_until_time,
}
/*==========================================
- * session id�ɖ��肠���Ȃ̂Ō��n��
+ * session idに問題ありなので後始末
*------------------------------------------
*/
int pc_authfail (int id)
@@ -1018,21 +1018,21 @@ static int pc_calc_skillpoint (struct map_session_data *sd)
}
/*==========================================
- * �o���������X�L���̌v�Z
+ * 覚えられるスキルの計算
*------------------------------------------
*/
int pc_calc_skilltree (struct map_session_data *sd)
{
int i, id = 0, flag;
int c = 0, s = 0;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
struct pc_base_job s_class;
nullpo_retr (0, sd);
s_class = pc_calc_base_job (sd->status.class);
c = s_class.job;
- s = (s_class.upper == 1) ? 1 : 0; //�]���ȊO�͒ʏ��̃X�L���H
+ s = (s_class.upper == 1) ? 1 : 0; //ソ転生以外は通常のスキル?
if ((battle_config.skillup_limit)
&& ((c >= 0 && c < 23) || (c >= 4001 && c < 4023)
@@ -1132,9 +1132,9 @@ int pc_calc_skilltree (struct map_session_data *sd)
* for(i=0;i<MAX_SKILL;i++)
* if (i < TMW_MAGIC || i > TMW_MAGIC_END){ // [Fate] This hack gets TMW magic working and persisted without bothering about the skill tree.
* if (sd->status.skill[i].flag != 13) sd->status.skill[i].id=0;
- * if (sd->status.skill[i].flag && sd->status.skill[i].flag != 13){ // card�X�L���Ȃ��A
- * sd->status.skill[i].lv=(sd->status.skill[i].flag==1)?0:sd->status.skill[i].flag-2; // �{����lv��
- * sd->status.skill[i].flag=0; // flag��0�ɂ��Ă���
+ * if (sd->status.skill[i].flag && sd->status.skill[i].flag != 13){ // cardスキルなら、
+ * sd->status.skill[i].lv=(sd->status.skill[i].flag==1)?0:sd->status.skill[i].flag-2; // 本当のlvに
+ * sd->status.skill[i].flag=0; // flagは0にしておく
* }
* }
*/
@@ -1142,7 +1142,7 @@ int pc_calc_skilltree (struct map_session_data *sd)
if (battle_config.gm_allskill > 0
&& pc_isGM (sd) >= battle_config.gm_allskill)
{
- // �S�ẴX�L��
+ // 全てのスキル
for (i = 1; i < 158; i++)
sd->status.skill[i].id = i;
for (i = 210; i < 291; i++)
@@ -1150,7 +1150,7 @@ int pc_calc_skilltree (struct map_session_data *sd)
for (i = 304; i < 337; i++)
sd->status.skill[i].id = i;
if (battle_config.enable_upper_class)
- { //conf�Ŗ����łȂ����Γǂݍ���
+ { //confで無効でなければ読み込む
for (i = 355; i < MAX_SKILL; i++)
sd->status.skill[i].id = i;
}
@@ -1158,7 +1158,7 @@ int pc_calc_skilltree (struct map_session_data *sd)
}
else
{
- // �ʏ��̌v�Z
+ // 通常の計算
do
{
flag = 0;
@@ -1191,7 +1191,7 @@ int pc_calc_skilltree (struct map_session_data *sd)
}
/*==========================================
- * �d�ʃA�C�R���̊m�F
+ * 重量アイコンの確認
*------------------------------------------
*/
int pc_checkweighticon (struct map_session_data *sd)
@@ -1239,10 +1239,10 @@ void pc_set_weapon_look (struct map_session_data *sd)
}
/*==========================================
- * �p�����[�^�v�Z
- * first==0�̎��A�v�Z�Ώۂ̃p�����[�^���Ăяo���O����
- * �� �������ꍇ������send���邪�A
- * �\���I�ɕω��������p�����[�^�͎��O��send�����悤��
+ * パラメータ計算
+ * first==0の時、計算対象のパラメータが呼び出し前から
+ * 変 化した場合自動でsendするが、
+ * 能動的に変化させたパラメータは自前でsendするように
*------------------------------------------
*/
int pc_calcstatus (struct map_session_data *sd, int first)
@@ -1260,7 +1260,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
nullpo_retr (0, sd);
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
s_class = pc_calc_base_job (sd->status.class);
b_speed = sd->speed;
@@ -1291,7 +1291,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->view_class = sd->status.class;
b_base_atk = sd->base_atk;
- pc_calc_skilltree (sd); // �X�L���c���[�̌v�Z
+ pc_calc_skilltree (sd); // スキルツリーの計算
sd->max_weight = max_weight_base[s_class.job] + sd->status.str * 300;
@@ -1372,7 +1372,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
memset (sd->weapon_coma_ele, 0, sizeof (sd->weapon_coma_ele));
memset (sd->weapon_coma_race, 0, sizeof (sd->weapon_coma_race));
- sd->watk_ = 0; //�񓁗��p(��)
+ sd->watk_ = 0; //二刀流用(仮)
sd->watk_2 = 0;
sd->atk_ele_ = 0;
sd->star_ = 0;
@@ -1469,7 +1469,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
{
int j;
for (j = 0; j < sd->inventory_data[index]->slot; j++)
- { // �J�[�h
+ { // カード
int c = sd->status.inventory[index].card[j];
if (c > 0)
{
@@ -1489,14 +1489,14 @@ int pc_calcstatus (struct map_session_data *sd, int first)
}
}
else if (sd->inventory_data[index]->type == 5)
- { // �h��
+ { // 防具
if (sd->status.inventory[index].card[0] != 0x00ff
&& sd->status.inventory[index].card[0] != 0x00fe
&& sd->status.inventory[index].card[0] != (short) 0xff00)
{
int j;
for (j = 0; j < sd->inventory_data[index]->slot; j++)
- { // �J�[�h
+ { // カード
int c = sd->status.inventory[index].card[j];
if (c > 0) {
argrec_t arg[2];
@@ -1528,7 +1528,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
def_ele = sd->def_ele;
memcpy (sd->paramcard, sd->parame, sizeof (sd->paramcard));
- // �����i�ɂ����X�e�[�^�X�ω��͂����Ŏ�s
+ // 装備品によるステータス変化はここで実行
for (i = 0; i < 10; i++)
{
index = sd->equip_index[i];
@@ -1549,17 +1549,17 @@ int pc_calcstatus (struct map_session_data *sd, int first)
int r, wlv = sd->inventory_data[index]->wlv;
if (i == 8 && sd->status.inventory[index].equip == 0x20)
{
- //�񓁗��p�f�[�^����
+ //二刀流用データ入力
sd->watk_ += sd->inventory_data[index]->atk;
- sd->watk_2 = (r = sd->status.inventory[index].refine) * // ���B�U����
+ sd->watk_2 = (r = sd->status.inventory[index].refine) * // 精錬攻撃力
refinebonus[wlv][0];
- if ((r -= refinebonus[wlv][2]) > 0) // �ߏ萸�B�{�[�i�X
+ if ((r -= refinebonus[wlv][2]) > 0) // 過剰精錬ボーナス
sd->overrefine_ = r * refinebonus[wlv][1];
if (sd->status.inventory[index].card[0] == 0x00ff)
- { // ��������
- sd->star_ = (sd->status.inventory[index].card[1] >> 8); // ���̂�����
- wele_ = (sd->status.inventory[index].card[1] & 0x0f); // �� ��
+ { // 製造武器
+ sd->star_ = (sd->status.inventory[index].card[1] >> 8); // 星のかけら
+ wele_ = (sd->status.inventory[index].card[1] & 0x0f); // 属 性
}
sd->attackrange_ += sd->inventory_data[index]->range;
sd->state.lr_flag = 1;
@@ -1575,22 +1575,22 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->state.lr_flag = 0;
}
else
- { //�񓁗������ȊO
+ { //二刀流武器以外
argrec_t arg[2];
arg[0].name = "@slotId";
arg[0].v.i = i;
arg[1].name = "@itemId";
arg[1].v.i = sd->inventory_data[index]->nameid;
sd->watk += sd->inventory_data[index]->atk;
- sd->watk2 += (r = sd->status.inventory[index].refine) * // ���B�U����
+ sd->watk2 += (r = sd->status.inventory[index].refine) * // 精錬攻撃力
refinebonus[wlv][0];
- if ((r -= refinebonus[wlv][2]) > 0) // �ߏ萸�B�{�[�i�X
+ if ((r -= refinebonus[wlv][2]) > 0) // 過剰精錬ボーナス
sd->overrefine += r * refinebonus[wlv][1];
if (sd->status.inventory[index].card[0] == 0x00ff)
- { // ��������
- sd->star += (sd->status.inventory[index].card[1] >> 8); // ���̂�����
- wele = (sd->status.inventory[index].card[1] & 0x0f); // �� ��
+ { // 製造武器
+ sd->star += (sd->status.inventory[index].card[1] >> 8); // 星のかけら
+ wele = (sd->status.inventory[index].card[1] & 0x0f); // 属 性
}
sd->attackrange += sd->inventory_data[index]->range;
run_script_l (sd->inventory_data[index]->equip_script, 0,
@@ -1622,10 +1622,10 @@ int pc_calcstatus (struct map_session_data *sd, int first)
}
if (sd->equip_index[10] >= 0)
- { // ��
+ { // 矢
index = sd->equip_index[10];
if (sd->inventory_data[index])
- { //�܂�����������Ă��Ȃ�
+ { //まだ属性が入っていない
argrec_t arg[2];
arg[0].name = "@slotId";
arg[0].v.i = i;
@@ -1663,17 +1663,17 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->aspd_add_rate != 100)
sd->aspd_rate += sd->aspd_add_rate - 100;
- // ����ATK�T�C�Y�␳ (�E��)
+ // 武器ATKサイズ補正 (右手)
sd->atkmods[0] = atkmods[0][sd->weapontype1];
sd->atkmods[1] = atkmods[1][sd->weapontype1];
sd->atkmods[2] = atkmods[2][sd->weapontype1];
- //����ATK�T�C�Y�␳ (����)
+ //武器ATKサイズ補正 (左手)
sd->atkmods_[0] = atkmods[0][sd->weapontype2];
sd->atkmods_[1] = atkmods[1][sd->weapontype2];
sd->atkmods_[2] = atkmods[2][sd->weapontype2];
/*
- // job�{�[�i�X��
+ // jobボーナス分
for(i=0;i<sd->status.job_level && i<MAX_LEVEL;i++){
if(job_bonus[s_class.upper][s_class.job][i])
sd->paramb[job_bonus[s_class.upper][s_class.job][i]-1]++;
@@ -1683,12 +1683,12 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if ((skill = pc_checkskill (sd, MC_INCCARRY)) > 0) // skill can be used with an item now, thanks to orn [Valaris]
sd->max_weight += skill * 1000;
- // �X�e�[�^�X�ω��ɂ������{�p�����[�^�␳
+ // ステータス変化による基本パラメータ補正
if (sd->sc_count)
{
if (sd->sc_data[SC_CONCENTRATE].timer != -1
&& sd->sc_data[SC_QUAGMIRE].timer == -1)
- { // �W���͌���
+ { // 集中力向上
sd->paramb[1] +=
(sd->status.agi + sd->paramb[1] + sd->parame[1] -
sd->paramcard[1]) * (2 +
@@ -1701,28 +1701,28 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->sc_data[SC_INCREASEAGI].timer != -1
&& sd->sc_data[SC_QUAGMIRE].timer == -1
&& sd->sc_data[SC_DONTFORGETME].timer == -1)
- { // ���x����
+ { // 速度増加
sd->paramb[1] += 2 + sd->sc_data[SC_INCREASEAGI].val1;
sd->speed -= sd->speed * 25 / 100;
}
- if (sd->sc_data[SC_DECREASEAGI].timer != -1) // ���x����(agi��battle.c��)
+ if (sd->sc_data[SC_DECREASEAGI].timer != -1) // 速度減少(agiはbattle.cで)
sd->speed = sd->speed * 125 / 100;
if (sd->sc_data[SC_CLOAKING].timer != -1)
sd->speed =
(sd->speed * (76 + (sd->sc_data[SC_INCREASEAGI].val1 * 3))) /
100;
if (sd->sc_data[SC_BLESSING].timer != -1)
- { // �u���b�V���O
+ { // ブレッシング
sd->paramb[0] += sd->sc_data[SC_BLESSING].val1;
sd->paramb[3] += sd->sc_data[SC_BLESSING].val1;
sd->paramb[4] += sd->sc_data[SC_BLESSING].val1;
}
- if (sd->sc_data[SC_GLORIA].timer != -1) // �O�����A
+ if (sd->sc_data[SC_GLORIA].timer != -1) // グロリア
sd->paramb[5] += 30;
- if (sd->sc_data[SC_LOUD].timer != -1 && sd->sc_data[SC_QUAGMIRE].timer == -1) // ���E�h�{�C�X
+ if (sd->sc_data[SC_LOUD].timer != -1 && sd->sc_data[SC_QUAGMIRE].timer == -1) // ラウドボイス
sd->paramb[0] += 4;
if (sd->sc_data[SC_QUAGMIRE].timer != -1)
- { // �N�@�O�}�C�A
+ { // クァグマイア
sd->speed = sd->speed * 3 / 2;
sd->paramb[1] -=
(sd->status.agi + sd->paramb[1] + sd->parame[1]) / 2;
@@ -1730,7 +1730,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
(sd->status.dex + sd->paramb[4] + sd->parame[4]) / 2;
}
if (sd->sc_data[SC_TRUESIGHT].timer != -1)
- { // �g�D���[�T�C�g
+ { // トゥルーサイト
sd->paramb[0] += 5;
sd->paramb[1] += 5;
sd->paramb[2] += 5;
@@ -1745,7 +1745,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->aspd_rate = 20;
/*
- //1�x�����łȂ�Job70�X�p�m�r��+10
+ //1度も死んでないJob70スパノビに+10
if(s_class.job == 23 && sd->die_counter == 0 && sd->status.job_level >= 70){
sd->paramb[0]+= 15;
sd->paramb[1]+= 15;
@@ -1854,7 +1854,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->mdef2 < 1)
sd->mdef2 = 1;
- // �񓁗� ASPD �C��
+ // 二刀流 ASPD 修正
if (sd->status.weapon <= 16)
sd->aspd +=
aspd_base[s_class.job][sd->status.weapon] - (sd->paramc[1] * 4 +
@@ -1873,10 +1873,10 @@ int pc_calcstatus (struct map_session_data *sd, int first)
aspd_rate = sd->aspd_rate;
- //�U�����x����
+ //攻撃速度増加
if ((skill = pc_checkskill (sd, AC_VULTURE)) > 0)
- { // ���V�̖�
+ { // ワシの目
sd->hit += skill;
if (sd->status.weapon == 11)
sd->attackrange += skill;
@@ -1888,30 +1888,30 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->hit += skill_power (sd, AC_OWL) / 10; // 20 for 200
}
- if ((skill = pc_checkskill (sd, BS_WEAPONRESEARCH)) > 0) // ���팤���̖���������
+ if ((skill = pc_checkskill (sd, BS_WEAPONRESEARCH)) > 0) // 武器研究の命中率増加
sd->hit += skill * 2;
- if (sd->status.option & 2 && (skill = pc_checkskill (sd, RG_TUNNELDRIVE)) > 0) // �g���l���h���C�u // �g���l���h���C�u
+ if (sd->status.option & 2 && (skill = pc_checkskill (sd, RG_TUNNELDRIVE)) > 0) // トンネルドライブ
sd->speed += (1.2 * DEFAULT_WALK_SPEED - skill * 9);
- if (pc_iscarton (sd) && (skill = pc_checkskill (sd, MC_PUSHCART)) > 0) // �J�[�g�ɂ��鑬�x�ቺ
+ if (pc_iscarton (sd) && (skill = pc_checkskill (sd, MC_PUSHCART)) > 0) // カートによる速度低下
sd->speed += (10 - skill) * (DEFAULT_WALK_SPEED * 0.1);
- else if (pc_isriding (sd)) // �y�R�y�R�����ɂ��鑬�x����
+ else if (pc_isriding (sd)) // ペコペコ乗りによる速度増加
sd->speed -= (0.25 * DEFAULT_WALK_SPEED);
sd->max_weight += 1000;
if (sd->sc_count)
{
- if (sd->sc_data[SC_WINDWALK].timer != -1) //�E�B���h�E�H�[�N����Lv*2%���Z
+ if (sd->sc_data[SC_WINDWALK].timer != -1) //ウィンドウォーク時はLv*2%減算
sd->speed -=
sd->speed * (sd->sc_data[SC_WINDWALK].val1 * 2) / 100;
- if (sd->sc_data[SC_CARTBOOST].timer != -1) // �J�[�g�u�[�X�g
+ if (sd->sc_data[SC_CARTBOOST].timer != -1) // カートブースト
sd->speed -= (DEFAULT_WALK_SPEED * 20) / 100;
- if (sd->sc_data[SC_BERSERK].timer != -1) //�o�[�T�[�N����IA�Ɠ������炢�����H
+ if (sd->sc_data[SC_BERSERK].timer != -1) //バーサーク中はIAと同じぐらい速い?
sd->speed -= sd->speed * 25 / 100;
- if (sd->sc_data[SC_WEDDING].timer != -1) //�������͕��̂��x��
+ if (sd->sc_data[SC_WEDDING].timer != -1) //結婚中は歩くのが遅い
sd->speed = 2 * DEFAULT_WALK_SPEED;
}
if ((skill = pc_checkskill (sd, CR_TRUST)) > 0)
- { // �t�F�C�X
+ { // フェイス
sd->status.max_hp += skill * 200;
sd->subele[6] += skill * 5;
}
@@ -1932,7 +1932,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->status.max_hp = sd->status.max_hp * sd->hprate / 100;
if (sd->sc_data && sd->sc_data[SC_BERSERK].timer != -1)
- { // �o�[�T�[�N
+ { // バーサーク
sd->status.max_hp = sd->status.max_hp * 3;
sd->status.hp = sd->status.hp * 3;
if (sd->status.max_hp > battle_config.max_hp) // removed negative max hp bug by Valaris
@@ -1950,7 +1950,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->status.max_hp <= 0)
sd->status.max_hp = 1; // end
- // �ő�SP�v�Z
+ // 最大SP計算
sd->status.max_sp +=
((sp_coefficient[s_class.job] * bl) + 1000) / 100 * (100 +
sd->paramc[3]) /
@@ -1960,28 +1960,28 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->sprate != 100)
sd->status.max_sp = sd->status.max_sp * sd->sprate / 100;
- if ((skill = pc_checkskill (sd, HP_MEDITATIO)) > 0) // ���f�B�e�C�e�B�I
+ if ((skill = pc_checkskill (sd, HP_MEDITATIO)) > 0) // メディテイティオ
sd->status.max_sp += sd->status.max_sp * skill / 100;
- if ((skill = pc_checkskill (sd, HW_SOULDRAIN)) > 0) /* �\�E���h���C�� */
+ if ((skill = pc_checkskill (sd, HW_SOULDRAIN)) > 0) // ソウルドレイン
sd->status.max_sp += sd->status.max_sp * 2 * skill / 100;
if (sd->status.max_sp < 0 || sd->status.max_sp > battle_config.max_sp)
sd->status.max_sp = battle_config.max_sp;
- //���R����HP
+ //自然回復HP
sd->nhealhp = 1 + (sd->paramc[2] / 5) + (sd->status.max_hp / 200);
if ((skill = pc_checkskill (sd, SM_RECOVERY)) > 0)
- { /* HP�񕜗͌��� */
+ { // HP回復力向上
sd->nshealhp = skill * 5 + (sd->status.max_hp * skill / 500);
if (sd->nshealhp > 0x7fff)
sd->nshealhp = 0x7fff;
}
- //���R����SP
+ //自然回復SP
sd->nhealsp = 1 + (sd->paramc[3] / 6) + (sd->status.max_sp / 100);
if (sd->paramc[3] >= 120)
sd->nhealsp += ((sd->paramc[3] - 120) >> 1) + 4;
if ((skill = pc_checkskill (sd, MG_SRECOVERY)) > 0)
- { /* SP�񕜗͌��� */
+ { // SP回復力向上
sd->nshealsp = skill * 3 + (sd->status.max_sp * skill / 500);
if (sd->nshealsp > 0x7fff)
sd->nshealsp = 0x7fff;
@@ -2009,15 +2009,15 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->nhealsp = 1;
}
if ((skill = pc_checkskill (sd, HP_MEDITATIO)) > 0)
- { // ���f�B�e�C�e�B�I��SPR�ł͂Ȃ����R�񕜂ɂ�����
+ { // メディテイティオはSPRではなく自然回復にかかる
sd->nhealsp += 3 * skill * (sd->status.max_sp) / 100;
if (sd->nhealsp > 0x7fff)
sd->nhealsp = 0x7fff;
}
- // �푰�ϐ��i�����ł����́H �f�B�o�C���v���e�N�V�����Ɠ������������邩���j
+ // 種族耐性(これでいいの? ディバインプロテクションと同じ処理がいるかも)
if ((skill = pc_checkskill (sd, SA_DRAGONOLOGY)) > 0)
- { // �h���S�m���W�[
+ { // ドラゴノロジー
skill = skill * 4;
sd->addrace[9] += skill;
sd->addrace_[9] += skill;
@@ -2026,9 +2026,9 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->magic_subrace[9] -= skill;
}
- //Flee�㏸
+ //Flee上昇
if ((skill = pc_checkskill (sd, TF_MISS)) > 0)
- { // ���𗦑���
+ { // 回避率増加
if (sd->status.class == 6 || sd->status.class == 4007
|| sd->status.class == 23)
{
@@ -2040,18 +2040,18 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->status.class == 12 || sd->status.class == 4013)
sd->speed -= sd->speed * (skill * .5) / 100;
}
- if ((skill = pc_checkskill (sd, MO_DODGE)) > 0) // ���؂�
+ if ((skill = pc_checkskill (sd, MO_DODGE)) > 0) // 見切り
sd->flee += (skill * 3) >> 1;
- // �X�L�����X�e�[�^�X�ُ��ɂ����c���̃p�����[�^�␳
+ // スキルやステータス異常による残りのパラメータ補正
if (sd->sc_count)
{
- // ATK/DEF�ω��`
- if (sd->sc_data[SC_ANGELUS].timer != -1) // �G���W�F���X
+ // ATK/DEF変化形
+ if (sd->sc_data[SC_ANGELUS].timer != -1) // エンジェラス
sd->def2 =
sd->def2 * (110 + 5 * sd->sc_data[SC_ANGELUS].val1) / 100;
if (sd->sc_data[SC_IMPOSITIO].timer != -1)
- { // �C���|�V�e�B�I�}�k�X
+ { // インポシティオマヌス
sd->watk += sd->sc_data[SC_IMPOSITIO].val1 * 5;
index = sd->equip_index[8];
if (index >= 0 && sd->inventory_data[index]
@@ -2059,7 +2059,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->watk_ += sd->sc_data[SC_IMPOSITIO].val1 * 5;
}
if (sd->sc_data[SC_PROVOKE].timer != -1)
- { // �v���{�b�N
+ { // プロボック
sd->def2 =
sd->def2 * (100 - 6 * sd->sc_data[SC_PROVOKE].val1) / 100;
sd->base_atk =
@@ -2076,7 +2076,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->sc_data[SC_ENDURE].timer != -1)
sd->mdef2 += sd->sc_data[SC_ENDURE].val1;
if (sd->sc_data[SC_MINDBREAKER].timer != -1)
- { // �v���{�b�N
+ { // プロボック
sd->mdef2 =
sd->mdef2 * (100 -
6 * sd->sc_data[SC_MINDBREAKER].val1) / 100;
@@ -2087,10 +2087,10 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->matk2 * (100 +
2 * sd->sc_data[SC_MINDBREAKER].val1) / 100;
}
- if (sd->sc_data[SC_POISON].timer != -1) // �ŏ���
+ if (sd->sc_data[SC_POISON].timer != -1) // 毒状態
sd->def2 = sd->def2 * 75 / 100;
if (sd->sc_data[SC_DRUMBATTLE].timer != -1)
- { // �푾�ۂ̋���
+ { // 戦太鼓の響き
sd->watk += sd->sc_data[SC_DRUMBATTLE].val2;
sd->def += sd->sc_data[SC_DRUMBATTLE].val3;
index = sd->equip_index[8];
@@ -2099,7 +2099,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->watk_ += sd->sc_data[SC_DRUMBATTLE].val2;
}
if (sd->sc_data[SC_NIBELUNGEN].timer != -1)
- { // �j�[�x�����O�̎w��
+ { // ニーベルングの指輪
index = sd->equip_index[9];
if (index >= 0 && sd->inventory_data[index]
&& sd->inventory_data[index]->wlv == 3)
@@ -2118,18 +2118,18 @@ int pc_calcstatus (struct map_session_data *sd, int first)
}
if (sd->sc_data[SC_VOLCANO].timer != -1 && sd->def_ele == 3)
- { // �{���P�[�m
+ { // ボルケーノ
sd->watk += sd->sc_data[SC_VIOLENTGALE].val3;
}
if (sd->sc_data[SC_SIGNUMCRUCIS].timer != -1)
sd->def =
sd->def * (100 - sd->sc_data[SC_SIGNUMCRUCIS].val2) / 100;
- if (sd->sc_data[SC_ETERNALCHAOS].timer != -1) // �G�^�[�i���J�I�X
+ if (sd->sc_data[SC_ETERNALCHAOS].timer != -1) // エターナルカオス
sd->def = 0;
if (sd->sc_data[SC_CONCENTRATION].timer != -1)
- { //�R���Z���g���[�V����
+ { //コンセントレーション
sd->watk =
sd->watk * (100 +
5 * sd->sc_data[SC_CONCENTRATION].val1) / 100;
@@ -2145,7 +2145,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
}
if (sd->sc_data[SC_MAGICPOWER].timer != -1)
- { //���@�͑���
+ { //魔法力増幅
sd->matk1 =
sd->matk1 * (100 + 2 * sd->sc_data[SC_MAGICPOWER].val1) / 100;
sd->matk2 =
@@ -2159,23 +2159,23 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->matk2 += sd->sc_data[SC_MATKPOT].val1;
}
- // ASPD/�ړ����x�ω��n
+ // ASPD/移動速度変化系
if (sd->sc_data[SC_TWOHANDQUICKEN].timer != -1 && sd->sc_data[SC_QUAGMIRE].timer == -1 && sd->sc_data[SC_DONTFORGETME].timer == -1) // 2HQ
aspd_rate -= 30;
if (sd->sc_data[SC_ADRENALINE].timer != -1
&& sd->sc_data[SC_TWOHANDQUICKEN].timer == -1
&& sd->sc_data[SC_QUAGMIRE].timer == -1
&& sd->sc_data[SC_DONTFORGETME].timer == -1)
- { // �A�h���i�������b�V��
+ { // アドレナリンラッシュ
if (sd->sc_data[SC_ADRENALINE].val2
|| !battle_config.party_skill_penaly)
aspd_rate -= 30;
else
aspd_rate -= 25;
}
- if (sd->sc_data[SC_SPEARSQUICKEN].timer != -1 && sd->sc_data[SC_ADRENALINE].timer == -1 && sd->sc_data[SC_TWOHANDQUICKEN].timer == -1 && sd->sc_data[SC_QUAGMIRE].timer == -1 && sd->sc_data[SC_DONTFORGETME].timer == -1) // �X�s�A�N�B�b�P��
+ if (sd->sc_data[SC_SPEARSQUICKEN].timer != -1 && sd->sc_data[SC_ADRENALINE].timer == -1 && sd->sc_data[SC_TWOHANDQUICKEN].timer == -1 && sd->sc_data[SC_QUAGMIRE].timer == -1 && sd->sc_data[SC_DONTFORGETME].timer == -1) // スピアクィッケン
aspd_rate -= sd->sc_data[SC_SPEARSQUICKEN].val2;
- if (sd->sc_data[SC_ASSNCROS].timer != -1 && // �[�z�̃A�T�V���N���X
+ if (sd->sc_data[SC_ASSNCROS].timer != -1 && // 夕陽のアサシンクロス
sd->sc_data[SC_TWOHANDQUICKEN].timer == -1
&& sd->sc_data[SC_ADRENALINE].timer == -1
&& sd->sc_data[SC_SPEARSQUICKEN].timer == -1
@@ -2184,7 +2184,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
5 + sd->sc_data[SC_ASSNCROS].val1 +
sd->sc_data[SC_ASSNCROS].val2 + sd->sc_data[SC_ASSNCROS].val3;
if (sd->sc_data[SC_DONTFORGETME].timer != -1)
- { // �����Y���Ȃ���
+ { // 私を忘れないで
aspd_rate +=
sd->sc_data[SC_DONTFORGETME].val1 * 3 +
sd->sc_data[SC_DONTFORGETME].val2 +
@@ -2195,7 +2195,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
(sd->sc_data[SC_DONTFORGETME].val3 & 0xffff)) /
100;
}
- if (sd->sc_data[i = SC_SPEEDPOTION2].timer != -1 || sd->sc_data[i = SC_SPEEDPOTION1].timer != -1 || sd->sc_data[i = SC_SPEEDPOTION0].timer != -1) // �� ���|�[�V����
+ if (sd->sc_data[i = SC_SPEEDPOTION2].timer != -1 || sd->sc_data[i = SC_SPEEDPOTION1].timer != -1 || sd->sc_data[i = SC_SPEEDPOTION0].timer != -1) // 増 速ポーション
aspd_rate -= sd->sc_data[i].val1;
if (sd->sc_data[SC_HASTE].timer != -1)
@@ -2206,9 +2206,9 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->sc_data[SC_PHYS_SHIELD].timer != -1)
aspd_rate += sd->sc_data[SC_PHYS_SHIELD].val1;
- // HIT/FLEE�ω��n
+ // HIT/FLEE変化系
if (sd->sc_data[SC_WHISTLE].timer != -1)
- { // ���J
+ { // 口笛
sd->flee += sd->flee * (sd->sc_data[SC_WHISTLE].val1
+ sd->sc_data[SC_WHISTLE].val2 +
(sd->sc_data[SC_WHISTLE].val3 >> 16)) /
@@ -2217,51 +2217,51 @@ int pc_calcstatus (struct map_session_data *sd, int first)
(sd->sc_data[SC_WHISTLE].val1 + sd->sc_data[SC_WHISTLE].val2 +
(sd->sc_data[SC_WHISTLE].val3 & 0xffff)) * 10;
}
- if (sd->sc_data[SC_HUMMING].timer != -1) // �n�~���O
+ if (sd->sc_data[SC_HUMMING].timer != -1) // ハミング
sd->hit +=
(sd->sc_data[SC_HUMMING].val1 * 2 +
sd->sc_data[SC_HUMMING].val2 +
sd->sc_data[SC_HUMMING].val3) * sd->hit / 100;
if (sd->sc_data[SC_VIOLENTGALE].timer != -1 && sd->def_ele == 4)
- { // �o�C�I�����g�Q�C��
+ { // バイオレントゲイル
sd->flee += sd->flee * sd->sc_data[SC_VIOLENTGALE].val3 / 100;
}
if (sd->sc_data[SC_BLIND].timer != -1)
- { // ��
+ { // 暗黒
sd->hit -= sd->hit * 25 / 100;
sd->flee -= sd->flee * 25 / 100;
}
- if (sd->sc_data[SC_WINDWALK].timer != -1) // �E�B���h�E�H�[�N
+ if (sd->sc_data[SC_WINDWALK].timer != -1) // ウィンドウォーク
sd->flee += sd->flee * (sd->sc_data[SC_WINDWALK].val2) / 100;
- if (sd->sc_data[SC_SPIDERWEB].timer != -1) //�X�p�C�_�[�E�F�u
+ if (sd->sc_data[SC_SPIDERWEB].timer != -1) //スパイダーウェブ
sd->flee -= sd->flee * 50 / 100;
- if (sd->sc_data[SC_TRUESIGHT].timer != -1) //�g�D���[�T�C�g
+ if (sd->sc_data[SC_TRUESIGHT].timer != -1) //トゥルーサイト
sd->hit += 3 * (sd->sc_data[SC_TRUESIGHT].val1);
- if (sd->sc_data[SC_CONCENTRATION].timer != -1) //�R���Z���g���[�V����
+ if (sd->sc_data[SC_CONCENTRATION].timer != -1) //コンセントレーション
sd->hit += (10 * (sd->sc_data[SC_CONCENTRATION].val1));
- // �ϐ�
+ // 耐性
if (sd->sc_data[SC_SIEGFRIED].timer != -1)
- { // �s���g�̃W�[�N�t���[�h
- sd->subele[1] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[2] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[3] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[4] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[5] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[6] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[7] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[8] += sd->sc_data[SC_SIEGFRIED].val2; // ��
- sd->subele[9] += sd->sc_data[SC_SIEGFRIED].val2; // ��
+ { // 不死身のジークフリード
+ sd->subele[1] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[2] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[3] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[4] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[5] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[6] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[7] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[8] += sd->sc_data[SC_SIEGFRIED].val2; // 水
+ sd->subele[9] += sd->sc_data[SC_SIEGFRIED].val2; // 水
}
if (sd->sc_data[SC_PROVIDENCE].timer != -1)
- { // �v�����B�f���X
- sd->subele[6] += sd->sc_data[SC_PROVIDENCE].val2; // �� ������
- sd->subrace[6] += sd->sc_data[SC_PROVIDENCE].val2; // �� ����
+ { // プロヴィデンス
+ sd->subele[6] += sd->sc_data[SC_PROVIDENCE].val2; // 対 聖属性
+ sd->subrace[6] += sd->sc_data[SC_PROVIDENCE].val2; // 対 悪魔
}
- // ���̑�
+ // その他
if (sd->sc_data[SC_APPLEIDUN].timer != -1)
- { // �C�h�D���̗ь�
+ { // イドゥンの林檎
sd->status.max_hp +=
((5 + sd->sc_data[SC_APPLEIDUN].val1 * 2 +
((sd->sc_data[SC_APPLEIDUN].val2 + 1) >> 1) +
@@ -2272,7 +2272,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->status.max_hp = battle_config.max_hp;
}
if (sd->sc_data[SC_DELUGE].timer != -1 && sd->def_ele == 1)
- { // �f�����[�W
+ { // デリュージ
sd->status.max_hp +=
sd->status.max_hp * sd->sc_data[SC_DELUGE].val3 / 100;
if (sd->status.max_hp < 0
@@ -2280,7 +2280,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->status.max_hp = battle_config.max_hp;
}
if (sd->sc_data[SC_SERVICE4U].timer != -1)
- { // �T�[�r�X�t�H�[���[
+ { // サービスフォーユー
sd->status.max_sp +=
sd->status.max_sp * (10 + sd->sc_data[SC_SERVICE4U].val1 +
sd->sc_data[SC_SERVICE4U].val2 +
@@ -2296,14 +2296,14 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->dsprate = 0;
}
- if (sd->sc_data[SC_FORTUNE].timer != -1) // �K�^�̃L�X
+ if (sd->sc_data[SC_FORTUNE].timer != -1) // 幸運のキス
sd->critical +=
(10 + sd->sc_data[SC_FORTUNE].val1 +
sd->sc_data[SC_FORTUNE].val2 +
sd->sc_data[SC_FORTUNE].val3) * 10;
if (sd->sc_data[SC_EXPLOSIONSPIRITS].timer != -1)
- { // �����g��
+ { // 爆裂波動
if (s_class.job == 23)
sd->critical += sd->sc_data[SC_EXPLOSIONSPIRITS].val1 * 100;
else
@@ -2311,7 +2311,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
}
if (sd->sc_data[SC_STEELBODY].timer != -1)
- { // ��
+ { // 金剛
sd->def = 90;
sd->mdef = 90;
aspd_rate += 25;
@@ -2327,7 +2327,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->addeff[4] += sd->sc_data[SC_ENCPOISON].val2;
if (sd->sc_data[SC_DANCING].timer != -1)
- { // ���t/�_���X�g�p��
+ { // 演奏/ダンス使用中
sd->speed *= 4;
sd->nhealsp = 0;
sd->nshealsp = 0;
@@ -2336,13 +2336,13 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (sd->sc_data[SC_CURSE].timer != -1)
sd->speed += 450;
- if (sd->sc_data[SC_TRUESIGHT].timer != -1) //�g�D���[�T�C�g
+ if (sd->sc_data[SC_TRUESIGHT].timer != -1) //トゥルーサイト
sd->critical +=
sd->critical * (sd->sc_data[SC_TRUESIGHT].val1) / 100;
-/* if(sd->sc_data[SC_VOLCANO].timer!=-1) // �G���`�����g�|�C�Y��(������battle.c��)
+/* if(sd->sc_data[SC_VOLCANO].timer!=-1) // エンチャントポイズン(属性はbattle.cで)
sd->addeff[2]+=sd->sc_data[SC_VOLCANO].val2;//% of granting
- if(sd->sc_data[SC_DELUGE].timer!=-1) // �G���`�����g�|�C�Y��(������battle.c��)
+ if(sd->sc_data[SC_DELUGE].timer!=-1) // エンチャントポイズン(属性はbattle.cで)
sd->addeff[0]+=sd->sc_data[SC_DELUGE].val2;//% of granting
*/
}
@@ -2353,7 +2353,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
sd->speed = 1;
if (aspd_rate != 100)
sd->aspd = sd->aspd * aspd_rate / 100;
- if (pc_isriding (sd)) // �R���C��
+ if (pc_isriding (sd)) // 騎兵修練
sd->aspd =
sd->aspd * (100 +
10 * (5 -
@@ -2402,7 +2402,7 @@ int pc_calcstatus (struct map_session_data *sd, int first)
if (memcmp (b_skill, sd->status.skill, sizeof (sd->status.skill))
|| b_attackrange != sd->attackrange)
- clif_skillinfoblock (sd); // �X�L�����M
+ clif_skillinfoblock (sd); // スキル送信
if (b_speed != sd->speed)
clif_updatestatus (sd, SP_SPEED);
@@ -2461,14 +2461,14 @@ int pc_calcstatus (struct map_session_data *sd, int first)
&& pc_checkskill (sd, SM_AUTOBERSERK) > 0
&& (sd->sc_data[SC_PROVOKE].timer == -1
|| sd->sc_data[SC_PROVOKE].val2 == 0) && !pc_isdead (sd))
- // �I�[�g�o�[�T�[�N����
+ // オートバーサーク発動
skill_status_change_start (&sd->bl, SC_PROVOKE, 10, 1, 0, 0, 0, 0);
return 0;
}
/*==========================================
- * �� ���i�ɂ����\�͓��̃{�[�i�X�ݒ�
+ * 装 備品による能力等のボーナス設定
*------------------------------------------
*/
int pc_bonus (struct map_session_data *sd, int type, int val)
@@ -2874,7 +2874,7 @@ int pc_bonus (struct map_session_data *sd, int type, int val)
}
/*==========================================
- * �� ���i�ɂ����\�͓��̃{�[�i�X�ݒ�
+ * ソスソス ソスソスソスiソスノゑソスソスソスソス\ソスヘ難ソスソスフボソス[ソスiソスXソスン抵ソス
*------------------------------------------
*/
int pc_bonus2 (struct map_session_data *sd, int type, int type2, int val)
@@ -3148,7 +3148,7 @@ int pc_bonus3 (struct map_session_data *sd, int type, int type2, int type3,
}
/*==========================================
- * �X�N���v�g�ɂ����X�L������
+ * スクリプトによるスキル所得
*------------------------------------------
*/
int pc_skill (struct map_session_data *sd, int id, int level, int flag)
@@ -3162,13 +3162,13 @@ int pc_skill (struct map_session_data *sd, int id, int level, int flag)
return 0;
}
if (!flag && (sd->status.skill[id].id == id || level == 0))
- { // �N�G�X�g�����Ȃ炱���ŏ���m�F���đ��M����
+ { // クエスト所得ならここで条件を確認して送信する
sd->status.skill[id].lv = level;
pc_calcstatus (sd, 0);
clif_skillinfoblock (sd);
}
else if (sd->status.skill[id].lv < level)
- { // �o�������邪lv���������Ȃ�
+ { // 覚えられるがlvが小さいなら
sd->status.skill[id].id = id;
sd->status.skill[id].lv = level;
}
@@ -3177,7 +3177,7 @@ int pc_skill (struct map_session_data *sd, int id, int level, int flag)
}
/*==========================================
- * �J�[�h�}��
+ * カード挿入
*------------------------------------------
*/
int pc_insert_card (struct map_session_data *sd, int idx_card, int idx_equip)
@@ -3192,11 +3192,13 @@ int pc_insert_card (struct map_session_data *sd, int idx_card, int idx_equip)
int cardid = sd->status.inventory[idx_card].nameid;
int ep = sd->inventory_data[idx_card]->equip;
- if (nameid <= 0 || sd->inventory_data[idx_equip] == NULL || (sd->inventory_data[idx_equip]->type != 4 && sd->inventory_data[idx_equip]->type != 5) || // �� ����Ȃ�
- (sd->status.inventory[idx_equip].identify == 0) || // ���Ӓ�
- (sd->status.inventory[idx_equip].card[0] == 0x00ff) || // ��������
- (sd->status.inventory[idx_equip].card[0] == 0x00fe) || ((sd->inventory_data[idx_equip]->equip & ep) == 0) || // �� �����Ⴂ
- (sd->inventory_data[idx_equip]->type == 4 && ep == 32) || // �� �蕐���Ə��J�[�h
+ if (nameid <= 0 || sd->inventory_data[idx_equip] == NULL ||
+ (sd->inventory_data[idx_equip]->type != 4 && sd->inventory_data[idx_equip]->type != 5) || // 装 備じゃない
+ (sd->status.inventory[idx_equip].identify == 0) || // 未鑑定
+ (sd->status.inventory[idx_equip].card[0] == 0x00ff) || // 製造武器
+ (sd->status.inventory[idx_equip].card[0] == 0x00fe) ||
+ ((sd->inventory_data[idx_equip]->equip & ep) == 0) || // 装 備個所違い
+ (sd->inventory_data[idx_equip]->type == 4 && ep == 32) || // 両 手武器と盾カード
(sd->status.inventory[idx_equip].card[0] == (short) 0xff00)
|| sd->status.inventory[idx_equip].equip)
{
@@ -3208,10 +3210,10 @@ int pc_insert_card (struct map_session_data *sd, int idx_card, int idx_equip)
{
if (sd->status.inventory[idx_equip].card[i] == 0)
{
- // �󂫃X���b�g��������̂ō�������
+ // 空きスロットがあったので差し込む
sd->status.inventory[idx_equip].card[i] = cardid;
- // �J�[�h�͌��炷
+ // カードは減らす
clif_insert_card (sd, idx_equip, idx_card, 0);
pc_delitem (sd, idx_card, 1, 1);
return 0;
@@ -3225,19 +3227,19 @@ int pc_insert_card (struct map_session_data *sd, int idx_card, int idx_equip)
}
//
-// �A�C�e����
+// アイテム物
//
/*==========================================
- * �X�L���ɂ��锃���l�C��
+ * スキルによる買い値修正
*------------------------------------------
*/
int pc_modifybuyvalue (struct map_session_data *sd, int orig_value)
{
int skill, val = orig_value, rate1 = 0, rate2 = 0;
- if ((skill = pc_checkskill (sd, MC_DISCOUNT)) > 0) // �f�B�X�J�E���g
+ if ((skill = pc_checkskill (sd, MC_DISCOUNT)) > 0) // ディスカウント
rate1 = 5 + skill * 2 - ((skill == 10) ? 1 : 0);
- if ((skill = pc_checkskill (sd, RG_COMPULSION)) > 0) // �R���p���V�����f�B�X�J�E���g
+ if ((skill = pc_checkskill (sd, RG_COMPULSION)) > 0) // コムパルションディスカウント
rate2 = 5 + skill * 4;
if (rate1 < rate2)
rate1 = rate2;
@@ -3252,13 +3254,13 @@ int pc_modifybuyvalue (struct map_session_data *sd, int orig_value)
}
/*==========================================
- * �X�L���ɂ��锄���l�C��
+ * スキルによる売り値修正
*------------------------------------------
*/
int pc_modifysellvalue (struct map_session_data *sd, int orig_value)
{
int skill, val = orig_value, rate = 0;
- if ((skill = pc_checkskill (sd, MC_OVERCHARGE)) > 0) // �I�[�o�[�`���[�W
+ if ((skill = pc_checkskill (sd, MC_OVERCHARGE)) > 0) // オーバーチャージ
rate = 5 + skill * 2 - ((skill == 10) ? 1 : 0);
if (rate)
val = (int) ((double) orig_value * (double) (100 + rate) / 100.);
@@ -3271,8 +3273,8 @@ int pc_modifysellvalue (struct map_session_data *sd, int orig_value)
}
/*==========================================
- * �A�C�e���𔃂�����ɁA�V�����A�C�e�������g�����A
- * 3������ɂ����邩�m�F
+ * アイテムを買った時に、新しいアイテム欄を使うか、
+ * 3万個制限にかかるか確認
*------------------------------------------
*/
int pc_checkadditem (struct map_session_data *sd, int nameid, int amount)
@@ -3300,7 +3302,7 @@ int pc_checkadditem (struct map_session_data *sd, int nameid, int amount)
}
/*==========================================
- * �󂫃A�C�e�����̌�
+ * 空きアイテム欄の個数
*------------------------------------------
*/
int pc_inventoryblank (struct map_session_data *sd)
@@ -3319,7 +3321,7 @@ int pc_inventoryblank (struct map_session_data *sd)
}
/*==========================================
- * �����𕥂�
+ * お金を払う
*------------------------------------------
*/
int pc_payzeny (struct map_session_data *sd, int zeny)
@@ -3338,7 +3340,7 @@ int pc_payzeny (struct map_session_data *sd, int zeny)
}
/*==========================================
- * �����𓾂�
+ * お金を得る
*------------------------------------------
*/
int pc_getzeny (struct map_session_data *sd, int zeny)
@@ -3360,7 +3362,7 @@ int pc_getzeny (struct map_session_data *sd, int zeny)
}
/*==========================================
- * �A�C�e�����T���āA�C���f�b�N�X���Ԃ�
+ * アイテムを探して、インデックスを返す
*------------------------------------------
*/
int pc_search_inventory (struct map_session_data *sd, int item_id)
@@ -3423,7 +3425,7 @@ int pc_remove_items (struct map_session_data *player, int item_id, int count)
}
/*==========================================
- * �A�C�e���lj�B���̂�item�\���̂̐����𖳎�
+ * アイテム追加。個数のみitem構造体の数字を無視
*------------------------------------------
*/
int pc_additem (struct map_session_data *sd, struct item *item_data,
@@ -3447,7 +3449,7 @@ int pc_additem (struct map_session_data *sd, struct item *item_data,
if (!itemdb_isequip2 (data))
{
- // �� ���i�ł͂Ȃ��̂ŁA�����L�i�Ȃ����̂ݕω�������
+ // 装 備品ではないので、既所有品なら個数のみ変化させる
for (i = 0; i < MAX_INVENTORY; i++)
if (sd->status.inventory[i].nameid == item_data->nameid &&
sd->status.inventory[i].card[0] == item_data->card[0]
@@ -3464,7 +3466,7 @@ int pc_additem (struct map_session_data *sd, struct item *item_data,
}
if (i >= MAX_INVENTORY)
{
- // �� ���i�������L�i������̂ŋ󂫗��֒lj�
+ // 装 備品か未所有品だったので空き欄へ追加
i = pc_search_inventory (sd, 0);
if (i >= 0)
{
@@ -3488,7 +3490,7 @@ int pc_additem (struct map_session_data *sd, struct item *item_data,
}
/*==========================================
- * �A�C�e����炷
+ * アイテムを減らす
*------------------------------------------
*/
int pc_delitem (struct map_session_data *sd, int n, int amount, int type)
@@ -3522,7 +3524,7 @@ int pc_delitem (struct map_session_data *sd, int n, int amount, int type)
}
/*==========================================
- * �A�C�e���𗎂�
+ * アイテムを落す
*------------------------------------------
*/
int pc_dropitem (struct map_session_data *sd, int n, int amount)
@@ -3552,7 +3554,7 @@ int pc_dropitem (struct map_session_data *sd, int n, int amount)
}
/*==========================================
- * �A�C�e�����E��
+ * アイテムを拾う
*------------------------------------------
*/
@@ -3633,11 +3635,11 @@ int pc_takeitem (struct map_session_data *sd, struct flooritem_data *fitem)
if ((flag =
pc_additem (sd, &fitem->item_data, fitem->item_data.amount)))
- // �d��over�Ŏ擾���s
+ // 重量overで取得失敗
clif_additem (sd, 0, 0, flag);
else
{
- /* �擾���� */
+ // 取得成功
if (sd->attacktimer != -1)
pc_stopattack (sd);
clif_takeitem (&sd->bl, &fitem->bl);
@@ -3688,7 +3690,7 @@ int pc_isUseitem (struct map_session_data *sd, int n)
}
/*==========================================
- * �A�C�e�����g��
+ * アイテムを使う
*------------------------------------------
*/
int pc_useitem (struct map_session_data *sd, int n)
@@ -3719,7 +3721,7 @@ int pc_useitem (struct map_session_data *sd, int n)
}
/*==========================================
- * �J�[�g�A�C�e���lj�B���̂�item�\���̂̐����𖳎�
+ * カートアイテム追加。個数のみitem構造体の数字を無視
*------------------------------------------
*/
int pc_cart_additem (struct map_session_data *sd, struct item *item_data,
@@ -3741,7 +3743,7 @@ int pc_cart_additem (struct map_session_data *sd, struct item *item_data,
i = MAX_CART;
if (!itemdb_isequip2 (data))
{
- // �� ���i�ł͂Ȃ��̂ŁA�����L�i�Ȃ����̂ݕω�������
+ // 装 備品ではないので、既所有品なら個数のみ変化させる
for (i = 0; i < MAX_CART; i++)
{
if (sd->status.cart[i].nameid == item_data->nameid &&
@@ -3760,7 +3762,7 @@ int pc_cart_additem (struct map_session_data *sd, struct item *item_data,
}
if (i >= MAX_CART)
{
- // �� ���i�������L�i������̂ŋ󂫗��֒lj�
+ // 装 備品か未所有品だったので空き欄へ追加
for (i = 0; i < MAX_CART; i++)
{
if (sd->status.cart[i].nameid == 0)
@@ -3783,7 +3785,7 @@ int pc_cart_additem (struct map_session_data *sd, struct item *item_data,
}
/*==========================================
- * �J�[�g�A�C�e����炷
+ * カートアイテムを減らす
*------------------------------------------
*/
int pc_cart_delitem (struct map_session_data *sd, int n, int amount, int type)
@@ -3810,7 +3812,7 @@ int pc_cart_delitem (struct map_session_data *sd, int n, int amount, int type)
}
/*==========================================
- * �J�[�g�փA�C�e���ړ�
+ * カートへアイテム移動
*------------------------------------------
*/
int pc_putitemtocart (struct map_session_data *sd, int idx, int amount)
@@ -3835,7 +3837,7 @@ int pc_putitemtocart (struct map_session_data *sd, int idx, int amount)
}
/*==========================================
- * �J�[�g���̃A�C�e�����m�F(���̍������Ԃ�)
+ * カート内のアイテム数確認(個数の差分を返す)
*------------------------------------------
*/
int pc_cartitem_amount (struct map_session_data *sd, int idx, int amount)
@@ -3857,7 +3859,7 @@ int pc_cartitem_amount (struct map_session_data *sd, int idx, int amount)
}
/*==========================================
- * �J�[�g�����A�C�e���ړ�
+ * カートからアイテム移動
*------------------------------------------
*/
@@ -3885,7 +3887,7 @@ int pc_getitemfromcart (struct map_session_data *sd, int idx, int amount)
}
/*==========================================
- * �A�C�e���Ӓ�
+ * アイテム鑑定
*------------------------------------------
*/
int pc_item_identify (struct map_session_data *sd, int idx)
@@ -3911,7 +3913,7 @@ int pc_item_identify (struct map_session_data *sd, int idx)
}
/*==========================================
- * �X�e�B���i���J
+ * スティル品公開
*------------------------------------------
*/
int pc_show_steal (struct block_list *bl, va_list ap)
@@ -4052,7 +4054,7 @@ int pc_steal_coin (struct map_session_data *sd, struct block_list *bl)
//
//
/*==========================================
- * PC�̈ʒu�ݒ�
+ * PCの位置設定
*------------------------------------------
*/
int pc_setpos (struct map_session_data *sd, char *mapname_org, int x, int y,
@@ -4063,25 +4065,25 @@ int pc_setpos (struct map_session_data *sd, char *mapname_org, int x, int y,
nullpo_retr (0, sd);
- if (sd->chatID) // �`���b�g�����o��
+ if (sd->chatID) // チャットから出る
chat_leavechat (sd);
- if (sd->trade_partner) // �����𒆒f����
+ if (sd->trade_partner) // 取引を中断する
trade_tradecancel (sd);
if (sd->state.storage_flag == 1)
- storage_storage_quit (sd); // �q�ɂ��J���Ă��Ȃ��ۑ�����
+ storage_storage_quit (sd); // 倉庫を開いてるなら保存する
else if (sd->state.storage_flag == 2)
storage_guild_storage_quit (sd, 0);
- if (sd->party_invite > 0) // �p�[�e�B���U��ۂ���
+ if (sd->party_invite > 0) // パーティ勧誘を拒否する
party_reply_invite (sd, sd->party_invite_account, 0);
- if (sd->guild_invite > 0) // �M���h���U��ۂ���
+ if (sd->guild_invite > 0) // ギルド勧誘を拒否する
guild_reply_invite (sd, sd->guild_invite, 0);
- if (sd->guild_alliance > 0) // �M���h�������U��ۂ���
+ if (sd->guild_alliance > 0) // ギルド同盟勧誘を拒否する
guild_reply_reqalliance (sd, sd->guild_alliance_account, 0);
- skill_castcancel (&sd->bl, 0); // �r�����f
- pc_stop_walking (sd, 0); // ���s���f
- pc_stopattack (sd); // �U�����f
+ skill_castcancel (&sd->bl, 0); // 詠唱中断
+ pc_stop_walking (sd, 0); // 歩行中断
+ pc_stopattack (sd); // 攻撃中断
if (pc_issit (sd))
{
@@ -4192,14 +4194,14 @@ int pc_setpos (struct map_session_data *sd, char *mapname_org, int x, int y,
sd->bl.x = x;
sd->bl.y = y;
-// map_addblock(&sd->bl); /// �u���b�N�o�^��spawn��
+// map_addblock(&sd->bl); // ブロック登録とspawnは
// clif_spawnpc(sd);
return 0;
}
/*==========================================
- * PC�̃����_�����[�v
+ * PCのランダムワープ
*------------------------------------------
*/
int pc_randomwarp (struct map_session_data *sd, int type)
@@ -4211,7 +4213,7 @@ int pc_randomwarp (struct map_session_data *sd, int type)
m = sd->bl.m;
- if (map[sd->bl.m].flag.noteleport) // �e���|�[�g�֎~
+ if (map[sd->bl.m].flag.noteleport) // テレポート禁止
return 0;
do
@@ -4228,7 +4230,7 @@ int pc_randomwarp (struct map_session_data *sd, int type)
}
/*==========================================
- * ���݈ʒu�̃���
+ * 現在位置のメモ
*------------------------------------------
*/
int pc_memo (struct map_session_data *sd, int i)
@@ -4298,10 +4300,10 @@ int pc_can_reach (struct map_session_data *sd, int x, int y)
nullpo_retr (0, sd);
- if (sd->bl.x == x && sd->bl.y == y) // �����}�X
+ if (sd->bl.x == x && sd->bl.y == y) // 同じマス
return 1;
- // ���Q������
+ // 障害物判定
wpd.path_len = 0;
wpd.path_pos = 0;
wpd.path_half = 0;
@@ -4310,10 +4312,10 @@ int pc_can_reach (struct map_session_data *sd, int x, int y)
}
//
-// �� �s��
+// 歩 行物
//
/*==========================================
- * ����1���ɂ����鎞�Ԃ��v�Z
+ * 次の1歩にかかる時間を計算
*------------------------------------------
*/
static int calc_next_walk_step (struct map_session_data *sd)
@@ -4329,7 +4331,7 @@ static int calc_next_walk_step (struct map_session_data *sd)
}
/*==========================================
- * �����i��(timer�֐�)
+ * 半歩進む(timer関数)
*------------------------------------------
*/
static int pc_walk (int tid, unsigned int tick, int id, int data)
@@ -4354,13 +4356,13 @@ static int pc_walk (int tid, unsigned int tick, int id, int data)
|| sd->walkpath.path_pos != data)
return 0;
- //�����̂ő����̃^�C�}�[�����
+ //歩いたので息吹のタイマーを初期化
sd->inchealspirithptick = 0;
sd->inchealspiritsptick = 0;
sd->walkpath.path_half ^= 1;
if (sd->walkpath.path_half == 0)
- { // �}�X�ڒ��S�֓���
+ { // マス目中心へ到着
sd->walkpath.path_pos++;
if (sd->state.change_walk_target)
{
@@ -4369,7 +4371,7 @@ static int pc_walk (int tid, unsigned int tick, int id, int data)
}
}
else
- { // �}�X�ڋ��E�֓���
+ { // マス目境界へ到着
if (sd->walkpath.path[sd->walkpath.path_pos] >= 8)
return 1;
@@ -4420,7 +4422,7 @@ static int pc_walk (int tid, unsigned int tick, int id, int data)
sd->walktimer = -1;
if (sd->status.party_id > 0)
- { // �p�[�e�B�̂g�o�����ʒm����
+ { // パーティのHP情報通知検査
struct party *p = party_search (sd->status.party_id);
if (p != NULL)
{
@@ -4433,22 +4435,22 @@ static int pc_walk (int tid, unsigned int tick, int id, int data)
sd->party_hp = -1;
}
}
- if (sd->status.option & 4) // �N���[�L���O�̏�Ō���
+ if (sd->status.option & 4) // クローキングの消滅検査
skill_check_cloaking (&sd->bl);
- /* �f�B�{�[�V�������� */
+ // ディボーション検査
for (i = 0; i < 5; i++)
if (sd->dev.val1[i])
{
skill_devotion3 (&sd->bl, sd->dev.val1[i]);
break;
}
- /* ���f�B�{�[�V�������� */
+ // 被ディボーション検査
if (sd->sc_data && sd->sc_data[SC_DEVOTION].val1)
{
skill_devotion2 (&sd->bl, sd->sc_data[SC_DEVOTION].val1);
}
- skill_unit_move (&sd->bl, tick, 1); // �X�L�����j�b�g�̌���
+ skill_unit_move (&sd->bl, tick, 1); // スキルユニットの検査
if (map_getcell (sd->bl.m, x, y) & 0x80)
npc_touch_areanpc (sd, sd->bl.m, x, y);
@@ -4468,7 +4470,7 @@ static int pc_walk (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * �ړ��”\���m�F���āA�”\�Ȃ����s�J�n
+ * 移動可能か確認して、可能なら歩行開始
*------------------------------------------
*/
static int pc_walktoxy_sub (struct map_session_data *sd)
@@ -4497,7 +4499,7 @@ static int pc_walktoxy_sub (struct map_session_data *sd)
}
/*==========================================
- * pc�� �s�v��
+ * pc歩 行要求
*------------------------------------------
*/
int pc_walktoxy (struct map_session_data *sd, int x, int y)
@@ -4513,8 +4515,8 @@ int pc_walktoxy (struct map_session_data *sd, int x, int y)
if (sd->walktimer != -1 && sd->state.change_walk_target == 0)
{
- // ���ݕ��Ă����Œ��̖ړI�n�ύX�Ȃ̂Ń}�X�ڂ̒��S�ɗ�������
- // timer�֐�����pc_walktoxy_sub���ĂԂ悤�ɂ���
+ // 現在歩いている最中の目的地変更なのでマス目の中心に来た時に
+ // timer関数からpc_walktoxy_subを呼ぶようにする
sd->state.change_walk_target = 1;
}
else
@@ -4526,7 +4528,7 @@ int pc_walktoxy (struct map_session_data *sd, int x, int y)
}
/*==========================================
- * �� �s���~
+ * 歩 行停止
*------------------------------------------
*/
int pc_stop_walking (struct map_session_data *sd, int type)
@@ -4603,7 +4605,7 @@ int pc_movepos (struct map_session_data *sd, int dst_x, int dst_y)
sd->bl.y + AREA_SIZE, -dx, -dy, 0, sd);
if (sd->status.party_id > 0)
- { // �p�[�e�B�̂g�o�����ʒm����
+ { // パーティのHP情報通知検査
struct party *p = party_search (sd->status.party_id);
if (p != NULL)
{
@@ -4618,20 +4620,20 @@ int pc_movepos (struct map_session_data *sd, int dst_x, int dst_y)
}
}
- if (sd->status.option & 4) // �N���[�L���O�̏�Ō���
+ if (sd->status.option & 4) // クローキングの消滅検査
skill_check_cloaking (&sd->bl);
- skill_unit_move (&sd->bl, gettick (), dist + 7); // �X�L�����j�b�g�̌���
+ skill_unit_move (&sd->bl, gettick (), dist + 7); // スキルユニットの検査
pc_touch_all_relevant_npcs (sd);
return 0;
}
//
-// �����퓬
+// 武器戦闘
//
/*==========================================
- * �X�L���̌��� ���L���Ă����ꍇLv���Ԃ�
+ * スキルの検索 所有していた場合Lvが返る
*------------------------------------------
*/
int pc_checkskill (struct map_session_data *sd, int skill_id)
@@ -4654,13 +4656,13 @@ int pc_checkskill (struct map_session_data *sd, int skill_id)
}
/*==========================================
- * �����ύX�ɂ����X�L���̌p���`�F�b�N
- * �����F
- * struct map_session_data *sd �Z�b�V�����f�[�^
- * int nameid �����iID
- * �Ԃ��l�F
- * 0 �ύX�Ȃ�
- * -1 �X�L��������
+ * 武器変更によるスキルの継続チェック
+ * 引数:
+ * struct map_session_data *sd セッションデータ
+ * int nameid 装備品ID
+ * 返り値:
+ * 0 変更なし
+ * -1 スキルを解除
*------------------------------------------
*/
int pc_checkallowskill (struct map_session_data *sd)
@@ -4673,54 +4675,54 @@ int pc_checkallowskill (struct map_session_data *sd)
if (!(skill_get_weapontype (KN_TWOHANDQUICKEN) & (1 << sd->status.weapon))
&& sd->sc_data[SC_TWOHANDQUICKEN].timer != -1)
{ // 2HQ
- skill_status_change_end (&sd->bl, SC_TWOHANDQUICKEN, -1); // 2HQ������
+ skill_status_change_end (&sd->bl, SC_TWOHANDQUICKEN, -1); // 2HQを解除
return -1;
}
if (!(skill_get_weapontype (LK_AURABLADE) & (1 << sd->status.weapon))
&& sd->sc_data[SC_AURABLADE].timer != -1)
- { /* �I�[���u���[�h */
- skill_status_change_end (&sd->bl, SC_AURABLADE, -1); /* �I�[���u���[�h������ */
+ { // オーラブレード
+ skill_status_change_end (&sd->bl, SC_AURABLADE, -1); // オーラブレードを解除
return -1;
}
if (!(skill_get_weapontype (LK_PARRYING) & (1 << sd->status.weapon))
&& sd->sc_data[SC_PARRYING].timer != -1)
- { /* �p���C���O */
- skill_status_change_end (&sd->bl, SC_PARRYING, -1); /* �p���C���O������ */
+ { // パリイング
+ skill_status_change_end (&sd->bl, SC_PARRYING, -1); // パリイングを解除
return -1;
}
if (!(skill_get_weapontype (LK_CONCENTRATION) & (1 << sd->status.weapon))
&& sd->sc_data[SC_CONCENTRATION].timer != -1)
- { /* �R���Z���g���[�V���� */
- skill_status_change_end (&sd->bl, SC_CONCENTRATION, -1); /* �R���Z���g���[�V���������� */
+ { // コンセントレーション
+ skill_status_change_end (&sd->bl, SC_CONCENTRATION, -1); // コンセントレーションを解除
return -1;
}
if (!(skill_get_weapontype (CR_SPEARQUICKEN) & (1 << sd->status.weapon))
&& sd->sc_data[SC_SPEARSQUICKEN].timer != -1)
- { // �X�s�A�N�B�b�P��
- skill_status_change_end (&sd->bl, SC_SPEARSQUICKEN, -1); // �X�s�A�N�C�b�P��������
+ { // スピアクィッケン
+ skill_status_change_end (&sd->bl, SC_SPEARSQUICKEN, -1); // スピアクイッケンを解除
return -1;
}
if (!(skill_get_weapontype (BS_ADRENALINE) & (1 << sd->status.weapon))
&& sd->sc_data[SC_ADRENALINE].timer != -1)
- { // �A�h���i�������b�V��
- skill_status_change_end (&sd->bl, SC_ADRENALINE, -1); // �A�h���i�������b�V��������
+ { // アドレナリンラッシュ
+ skill_status_change_end (&sd->bl, SC_ADRENALINE, -1); // アドレナリンラッシュを解除
return -1;
}
if (sd->status.shield <= 0)
{
if (sd->sc_data[SC_AUTOGUARD].timer != -1)
- { // �I�[�g�K�[�h
+ { // オートガード
skill_status_change_end (&sd->bl, SC_AUTOGUARD, -1);
return -1;
}
if (sd->sc_data[SC_DEFENDER].timer != -1)
- { // �f�B�t�F���_�[
+ { // ディフェンダー
skill_status_change_end (&sd->bl, SC_DEFENDER, -1);
return -1;
}
if (sd->sc_data[SC_REFLECTSHIELD].timer != -1)
- { //���t���N�g�V�[���h
+ { //リフレクトシールド
skill_status_change_end (&sd->bl, SC_REFLECTSHIELD, -1);
return -1;
}
@@ -4730,7 +4732,7 @@ int pc_checkallowskill (struct map_session_data *sd)
}
/*==========================================
- * �� ���i�̃`�F�b�N
+ * 装 備品のチェック
*------------------------------------------
*/
int pc_checkequip (struct map_session_data *sd, int pos)
@@ -4749,36 +4751,36 @@ int pc_checkequip (struct map_session_data *sd, int pos)
}
/*==========================================
- * �]���E���{�q�E�̌��̐E�Ƃ��Ԃ�
+ * 転生職や養子職の元の職業を返す
*------------------------------------------
*/
struct pc_base_job pc_calc_base_job (int b_class)
{
struct pc_base_job bj;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
if (b_class < MAX_PC_CLASS)
- { //�ʏ�
+ { //通常
bj.job = b_class;
bj.upper = 0;
}
else if (b_class >= 4001 && b_class < 4023)
- { //�]���E
+ { //転生職
bj.job = b_class - 4001;
bj.upper = 1;
}
else if (b_class == 23 + 4023 - 1)
- { //�{�q�X�p�m�r
+ { //養子スパノビ
bj.job = b_class - (4023 - 1);
bj.upper = 2;
}
else
- { //�{�q�X�p�m�r�ȊO�̗{�q
+ { //養子スパノビ以外の養子
bj.job = b_class - 4023;
bj.upper = 2;
}
if (battle_config.enable_upper_class == 0)
- { //conf�Ŗ����ɂȂ�Ă�����upper=0
+ { //confで無効になっていたらupper=0
bj.upper = 0;
}
@@ -4799,7 +4801,7 @@ struct pc_base_job pc_calc_base_job (int b_class)
}
/*==========================================
- * PC�̍U�� (timer�֐�)
+ * PCの攻撃 (timer関数)
*------------------------------------------
*/
int pc_attack_timer (int tid, unsigned int tick, int id, int data)
@@ -4832,12 +4834,12 @@ int pc_attack_timer (int tid, unsigned int tick, int id, int data)
if (bl->type == BL_PC && pc_isdead ((struct map_session_data *) bl))
return 0;
- // ����map�łȂ��Ȃ��U�����Ȃ�
- // PC�������łĂ��U�����Ȃ�
+ // 同じmapでないなら攻撃しない
+ // PCが死んでても攻撃しない
if (sd->bl.m != bl->m || pc_isdead (sd))
return 0;
- if (sd->opt1 > 0 || sd->status.option & 2 || sd->status.option & 16388) // �ُ��ȂǂōU���ł��Ȃ�
+ if (sd->opt1 > 0 || sd->status.option & 2 || sd->status.option & 16388) // 異常などで攻撃できない
return 0;
if (sd->sc_data[SC_AUTOCOUNTER].timer != -1)
@@ -4884,7 +4886,7 @@ int pc_attack_timer (int tid, unsigned int tick, int id, int data)
if (sd->status.weapon != 11)
range++;
if (dist > range)
- { // �� ���Ȃ��̂ňړ�
+ { // 届 かないので移動
//if(pc_can_reach(sd,bl->x,bl->y))
//clif_movetoattack(sd,bl);
return 0;
@@ -4903,7 +4905,7 @@ int pc_attack_timer (int tid, unsigned int tick, int id, int data)
else
{
if (battle_config.pc_attack_direction_change)
- sd->dir = sd->head_dir = map_calc_dir (&sd->bl, bl->x, bl->y); // �����ݒ�
+ sd->dir = sd->head_dir = map_calc_dir (&sd->bl, bl->x, bl->y); // 向き設定
if (sd->walktimer != -1)
pc_stop_walking (sd, 1);
@@ -4918,7 +4920,7 @@ int pc_attack_timer (int tid, unsigned int tick, int id, int data)
&& sd->sc_data[SC_CLOAKING].timer != -1)
skill_status_change_end (&sd->bl, SC_CLOAKING, -1);
map_freeblock_unlock ();
- if (sd->skilltimer != -1 && (skill = pc_checkskill (sd, SA_FREECAST)) > 0) // �t���[�L���X�g
+ if (sd->skilltimer != -1 && (skill = pc_checkskill (sd, SA_FREECAST)) > 0) // フリーキャスト
sd->attackabletime =
tick + ((sd->aspd << 1) * (150 - skill * 5) / 100);
else
@@ -4926,7 +4928,7 @@ int pc_attack_timer (int tid, unsigned int tick, int id, int data)
}
else if (sd->attackabletime <= tick)
{
- if (sd->skilltimer != -1 && (skill = pc_checkskill (sd, SA_FREECAST)) > 0) // �t���[�L���X�g
+ if (sd->skilltimer != -1 && (skill = pc_checkskill (sd, SA_FREECAST)) > 0) // フリーキャスト
sd->attackabletime =
tick + ((sd->aspd << 1) * (150 - skill * 5) / 100);
else
@@ -4947,8 +4949,8 @@ int pc_attack_timer (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * �U���v��
- * type��1�Ȃ��p���U��
+ * 攻撃要求
+ * typeが1なら継続攻撃
*------------------------------------------
*/
int pc_attack (struct map_session_data *sd, int target_id, int type)
@@ -4977,13 +4979,13 @@ int pc_attack (struct map_session_data *sd, int target_id, int type)
d = DIFF_TICK (sd->attackabletime, gettick ());
if (d > 0 && d < 2000)
- { // �U��delay��
+ { // 攻撃delay中
sd->attacktimer =
add_timer (sd->attackabletime, pc_attack_timer, sd->bl.id, 0);
}
else
{
- // �{��timer�֐��Ȃ̂ň�����킹��
+ // 本来timer関数なので引数を合わせる
pc_attack_timer (-1, gettick (), sd->bl.id, 0);
}
@@ -4991,7 +4993,7 @@ int pc_attack (struct map_session_data *sd, int target_id, int type)
}
/*==========================================
- * �p���U�����~
+ * 継続攻撃停止
*------------------------------------------
*/
int pc_stopattack (struct map_session_data *sd)
@@ -5087,7 +5089,7 @@ int pc_checkbaselevelup (struct map_session_data *sd)
{
struct pc_base_job s_class = pc_calc_base_job (sd->status.class);
- // base�����x���A�b�v����
+ // base側レベルアップ処理
sd->status.base_exp -= next;
sd->status.base_level++;
@@ -5098,7 +5100,7 @@ int pc_checkbaselevelup (struct map_session_data *sd)
pc_calcstatus (sd, 0);
pc_heal (sd, sd->status.max_hp, sd->status.max_sp);
- //�X�p�m�r�̓L���G�A�C���|�A�}�j�s�A�O���A�T�t��Lv1��������
+ //スパノビはキリエ、イムポ、マニピ、グロ、サフラLv1がかかる
if (s_class.job == 23)
{
skill_status_change_start (&sd->bl,
@@ -5123,8 +5125,8 @@ int pc_checkbaselevelup (struct map_session_data *sd)
}
clif_misceffect (&sd->bl, 0);
- //���x���A�b�v�����̂Ńp�[�e�B�[�������X�V����
- //(��͈̓`�F�b�N)
+ //レベルアップしたのでパーティー情報を更新する
+ //(公平範囲チェック)
party_send_movemap (sd);
MAP_LOG_XP (sd, "LEVELUP") return 1;
}
@@ -5169,7 +5171,7 @@ int pc_checkjoblevelup (struct map_session_data *sd)
return 0;
}
- // job�����x���A�b�v����
+ // job側レベルアップ処理
sd->status.job_exp -= next;
clif_updatestatus (sd, SP_NEXTJOBEXP);
sd->status.skill_point++;
@@ -5190,7 +5192,7 @@ int pc_checkjoblevelup (struct map_session_data *sd)
}
/*==========================================
- * �o���l�擾
+ * 経験値取得
*------------------------------------------
*/
int pc_gainexp (struct map_session_data *sd, int base_exp, int job_exp)
@@ -5224,7 +5226,7 @@ int pc_gainexp_reason (struct map_session_data *sd, int base_exp, int job_exp,
}
if (sd->status.guild_id > 0)
- { // �M���h�ɏ��[
+ { // ギルドに上納
base_exp -= guild_payexp (sd, base_exp);
if (base_exp < 0)
base_exp = 0;
@@ -5301,7 +5303,7 @@ int pc_extract_healer_exp (struct map_session_data *sd, int max)
}
/*==========================================
- * base level���K�v�o���l�v�Z
+ * base level側必要経験値計算
*------------------------------------------
*/
int pc_nextbaseexp (struct map_session_data *sd)
@@ -5332,7 +5334,7 @@ int pc_nextbaseexp (struct map_session_data *sd)
}
/*==========================================
- * job level���K�v�o���l�v�Z
+ * job level側必要経験値計算
*------------------------------------------
*/
int pc_nextjobexp (struct map_session_data *sd)
@@ -5409,7 +5411,7 @@ int pc_nextjobafter (struct map_session_data *sd)
/*==========================================
- * �K�v�X�e�[�^�X�|�C���g�v�Z
+ * 必要ステータスポイント計算
*------------------------------------------
*/
int pc_need_status_point (struct map_session_data *sd, int type)
@@ -5431,7 +5433,7 @@ int pc_need_status_point (struct map_session_data *sd, int type)
}
/*==========================================
- * �\�͒l����
+ * 能力値成長
*------------------------------------------
*/
int pc_statusup (struct map_session_data *sd, int type)
@@ -5507,7 +5509,7 @@ int pc_statusup (struct map_session_data *sd, int type)
}
/*==========================================
- * �\�͒l����
+ * 能力値成長
*------------------------------------------
*/
int pc_statusup2 (struct map_session_data *sd, int type, int val)
@@ -5586,7 +5588,7 @@ int pc_statusup2 (struct map_session_data *sd, int type, int val)
}
/*==========================================
- * �X�L���|�C���g�����U��
+ * スキルポイント割り振り
*------------------------------------------
*/
int pc_skillup (struct map_session_data *sd, int skill_num)
@@ -5619,14 +5621,14 @@ int pc_allskillup (struct map_session_data *sd)
{
int i, id;
int c = 0, s = 0;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
struct pc_base_job s_class;
nullpo_retr (0, sd);
s_class = pc_calc_base_job (sd->status.class);
c = s_class.job;
- s = (s_class.upper == 1) ? 1 : 0; //�]���ȊO�͒ʏ��̃X�L���H
+ s = (s_class.upper == 1) ? 1 : 0; //転生以外は通常のスキル?
for (i = 0; i < MAX_SKILL; i++)
sd->status.skill[i].id = 0;
@@ -5634,7 +5636,7 @@ int pc_allskillup (struct map_session_data *sd)
if (battle_config.gm_allskill > 0
&& pc_isGM (sd) >= battle_config.gm_allskill)
{
- // �S�ẴX�L��
+ // 全てのスキル
for (i = 1; i < 158; i++)
sd->status.skill[i].lv = skill_get_max (i);
for (i = 210; i < 291; i++)
@@ -5827,7 +5829,7 @@ int pc_resetskill (struct map_session_data *sd)
}
/*==========================================
- * pc�Ƀ_���[�W���^����
+ * pcにダメージを与える
*------------------------------------------
*/
int pc_damage (struct block_list *src, struct map_session_data *sd,
@@ -5838,12 +5840,12 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
nullpo_retr (0, sd);
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
s_class = pc_calc_base_job (sd->status.class);
- // ���Ɏ����ł����疳��
+ // 既に死んでいたら無効
if (pc_isdead (sd))
return 0;
- // ���Ă��痧���オ��
+ // 座ってたら立ち上がる
if (pc_issit (sd))
{
pc_setstand (sd);
@@ -5866,11 +5868,11 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
else
MAP_LOG_PC (sd, "INJURED-BY null FOR %d", damage);
- // �� ���Ă����瑫���~�߂�
+ // 歩 いていたら足を止める
if (sd->sc_data[SC_ENDURE].timer == -1
&& !sd->special_state.infinite_endure)
pc_stop_walking (sd, 3);
- // ���t/�_���X�̒��f
+ // 演奏/ダンスの中断
if (damage > sd->status.max_hp >> 2)
skill_stop_dancing (&sd->bl, 0);
@@ -5887,14 +5889,14 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
if (sd->status.hp > 0)
{
- // �܂������Ă����Ȃ�HP�X�V
+ // まだ生きているならHP更新
clif_updatestatus (sd, SP_HP);
if (sd->status.hp < sd->status.max_hp >> 2
&& pc_checkskill (sd, SM_AUTOBERSERK) > 0
&& (sd->sc_data[SC_PROVOKE].timer == -1
|| sd->sc_data[SC_PROVOKE].val2 == 0))
- // �I�[�g�o�[�T�[�N����
+ // オートバーサーク発動
skill_status_change_start (&sd->bl, SC_PROVOKE, 10, 1, 0, 0, 0,
0);
@@ -5923,13 +5925,13 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
pc_setdead (sd);
pc_stop_walking (sd, 0);
- skill_castcancel (&sd->bl, 0); // �r���̒��~
+ skill_castcancel (&sd->bl, 0); // 詠唱の中止
clif_clearchar_area (&sd->bl, 1);
skill_unit_out_all (&sd->bl, gettick (), 1);
- if (sd->sc_data[SC_BLADESTOP].timer != -1) //���n�͎��O�ɉ���
+ if (sd->sc_data[SC_BLADESTOP].timer != -1) //白刃は事前に解除
skill_status_change_end (&sd->bl, SC_BLADESTOP, -1);
- pc_setglobalreg (sd, "PC_DIE_COUNTER", ++sd->die_counter); //���ɃJ�E���^�[��������
- skill_status_change_clear (&sd->bl, 0); // �X�e�[�^�X�ُ��������
+ pc_setglobalreg (sd, "PC_DIE_COUNTER", ++sd->die_counter); //死にカウンター書き込み
+ skill_status_change_clear (&sd->bl, 0); // ステータス異常を解除する
clif_updatestatus (sd, SP_HP);
pc_calcstatus (sd, 0);
// [Fate] Reset magic
@@ -5999,7 +6001,7 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
clif_updatestatus (sd, SP_JOBEXP);
}
}
- //�i�C�g���A���[�h�A�C�e���h���b�v
+ //ナイトメアモードアイテムドロップ
if (map[sd->bl.m].flag.pvp_nightmaredrop)
{ // Moved this outside so it works when PVP isnt enabled and during pk mode [Ancyker]
for (j = 0; j < MAX_DROP_PER_MAP; j++)
@@ -6010,10 +6012,10 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
if (id == 0)
continue;
if (id == -1)
- { //�����_���h���b�v
+ { //ランダムドロップ
int eq_num = 0, eq_n[MAX_INVENTORY];
memset (eq_n, 0, sizeof (eq_n));
- //�悸����Ă����A�C�e�������J�E���g
+ //先ず装備しているアイテム数をカウント
for (i = 0; i < MAX_INVENTORY; i++)
{
int k;
@@ -6021,7 +6023,7 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
|| (type == 2 && sd->status.inventory[i].equip)
|| type == 3)
{
- //InventoryIndex���i�[
+ //InventoryIndexを格納
for (k = 0; k < MAX_INVENTORY; k++)
{
if (eq_n[k] <= 0)
@@ -6035,7 +6037,7 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
}
if (eq_num > 0)
{
- int n = eq_n[MRAND (eq_num)]; //�Y���A�C�e���̒����烉���_��
+ int n = eq_n[MRAND (eq_num)]; //該当アイテムの中からランダム
if (MRAND (10000) < per)
{
if (sd->status.inventory[n].equip)
@@ -6048,9 +6050,9 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
{
for (i = 0; i < MAX_INVENTORY; i++)
{
- if (sd->status.inventory[i].nameid == id //ItemID�����v������
- && MRAND (10000) < per //�h���b�v��������OK��
- && ((type == 1 && !sd->status.inventory[i].equip) //�^�C�v������OK�Ȃ��h���b�v
+ if (sd->status.inventory[i].nameid == id //ItemIDが一致していて
+ && MRAND (10000) < per //ドロップ率判定もOKで
+ && ((type == 1 && !sd->status.inventory[i].equip) //タイプ判定もOKならドロップ
|| (type == 2 && sd->status.inventory[i].equip)
|| type == 3))
{
@@ -6066,7 +6068,7 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
// pvp
if (map[sd->bl.m].flag.pvp && !battle_config.pk_mode)
{ // disable certain pvp functions on pk_mode [Valaris]
- //�����L���O�v�Z
+ //ランキング計算
if (!map[sd->bl.m].flag.pvp_nocalcrank)
{
sd->pvp_point -= 5;
@@ -6075,7 +6077,7 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
//} //fixed wrong '{' placement by Lupus
pc_setdead (sd);
}
- // ��������
+ // 強制送還
if (sd->pvp_point < 0)
{
sd->pvp_point = 0;
@@ -6113,10 +6115,10 @@ int pc_damage (struct block_list *src, struct map_session_data *sd,
}
//
-// script�� �A
+// script関 連
//
/*==========================================
- * script�pPC�X�e�[�^�X�ǂݏo��
+ * script用PCステータス読み出し
*------------------------------------------
*/
int pc_readparam (struct map_session_data *sd, int type)
@@ -6214,7 +6216,7 @@ int pc_readparam (struct map_session_data *sd, int type)
}
/*==========================================
- * script�pPC�X�e�[�^�X�ݒ�
+ * script用PCステータス設定
*------------------------------------------
*/
int pc_setparam (struct map_session_data *sd, int type, int val)
@@ -6351,7 +6353,7 @@ int pc_setparam (struct map_session_data *sd, int type, int val)
}
/*==========================================
- * HP/SP����
+ * HP/SP回復
*------------------------------------------
*/
int pc_heal (struct map_session_data *sd, int hp, int sp)
@@ -6372,7 +6374,7 @@ int pc_heal (struct map_session_data *sd, int hp, int sp)
sp = 0;
}
- if (sd->sc_data && sd->sc_data[SC_BERSERK].timer != -1) //�o�[�T�[�N���͉񕜂����Ȃ��炵��
+ if (sd->sc_data && sd->sc_data[SC_BERSERK].timer != -1) //バーサーク中は回復させないらしい
return 0;
if (hp + sd->status.hp > sd->status.max_hp)
@@ -6405,7 +6407,7 @@ int pc_heal (struct map_session_data *sd, int hp, int sp)
}
/*==========================================
- * HP/SP����
+ * HP/SP回復
*------------------------------------------
*/
static int pc_itemheal_effect (struct map_session_data *sd, int hp, int sp);
@@ -6484,7 +6486,7 @@ static int pc_itemheal_effect (struct map_session_data *sd, int hp, int sp)
nullpo_retr (0, sd);
- if (sd->sc_data && sd->sc_data[SC_GOSPEL].timer != -1) //�o�[�T�[�N���͉񕜂����Ȃ��炵��
+ if (sd->sc_data && sd->sc_data[SC_GOSPEL].timer != -1) //バーサーク中は回復させないらしい
return 0;
if (sd->state.potionpitcher_flag)
@@ -6548,7 +6550,7 @@ static int pc_itemheal_effect (struct map_session_data *sd, int hp, int sp)
}
/*==========================================
- * HP/SP����
+ * HP/SP回復
*------------------------------------------
*/
int pc_percentheal (struct map_session_data *sd, int hp, int sp)
@@ -6624,16 +6626,16 @@ int pc_percentheal (struct map_session_data *sd, int hp, int sp)
}
/*==========================================
- * �E�ύX
- * ���� job �E�� 0�`23
- * upper �ʏ� 0, �]�� 1, �{�q 2, ���̂܂� -1
+ * 職変更
+ * 引数 job 職業 0〜23
+ * upper 通常 0, 転生 1, 養子 2, そのまま -1
*------------------------------------------
*/
int pc_jobchange (struct map_session_data *sd, int job, int upper)
{
int i;
int b_class = 0;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //転生や養子の場合の元の職業を算出する
struct pc_base_job s_class = pc_calc_base_job (sd->status.class);
nullpo_retr (0, sd);
@@ -6644,17 +6646,17 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper)
if ((job > 69) && (job < 4000))
return 1;
- if (upper < 0) //���ݓ]�����ǂ����𔻒f����
+ if (upper < 0) //現在転生かどうかを判断する
upper = s_class.upper;
if (upper == 0)
- { //�ʏ��E�Ȃ�job���̂܂���
+ { //通常職ならjobそのまんま
b_class = job;
}
else if (upper == 1)
{
if (job == 23)
- { //�]���ɃX�p�m�r�͑��݂��Ȃ��̂ł��f��
+ { //転生にスパノビは存在しないのでお断り
return 1;
}
else
@@ -6663,7 +6665,7 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper)
}
}
else if (upper == 2)
- { //�{�q�Ɍ����͂Ȃ����ǂǂ������ŏR�����邩�炢����
+ { //養子に結婚はないけどどうせ次で蹴られるからいいや
b_class = (job == 23) ? job + 4022 : job + 4023;
}
else
@@ -6671,7 +6673,9 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper)
return 1;
}
- if ((sd->status.sex == 0 && job == 19) || (sd->status.sex == 1 && job == 20) || (sd->status.sex == 0 && job == 4020) || (sd->status.sex == 1 && job == 4021) || job == 22 || sd->status.class == b_class) //���̓o�[�h�ɂȂ��Ȃ��A���̓_���T�[�ɂȂ��Ȃ��A�����ߏւ��f��
+ if ((sd->status.sex == 0 && job == 19) || (sd->status.sex == 1 && job == 20) ||
+ (sd->status.sex == 0 && job == 4020) || (sd->status.sex == 1 && job == 4021) ||
+ job == 22 || sd->status.class == b_class) //♀はバードになれない、♂はダンサーになれない、結婚衣裳もお断り
return 1;
sd->status.class = sd->view_class = b_class;
@@ -6686,7 +6690,7 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper)
{
if (sd->equip_index[i] >= 0)
if (!pc_isequip (sd, sd->equip_index[i]))
- pc_unequipitem (sd, sd->equip_index[i], 1); // �����O��
+ pc_unequipitem (sd, sd->equip_index[i], 1); // 装備外し
}
clif_changelook (&sd->bl, LOOK_BASE, sd->view_class); // move sprite update to prevent client crashes with incompatible equipment [Valaris]
@@ -6713,7 +6717,7 @@ int pc_jobchange (struct map_session_data *sd, int job, int upper)
}
/*==========================================
- * �����ڕύX
+ * 見た目変更
*------------------------------------------
*/
int pc_equiplookall (struct map_session_data *sd)
@@ -6732,7 +6736,7 @@ int pc_equiplookall (struct map_session_data *sd)
}
/*==========================================
- * �����ڕύX
+ * 見た目変更
*------------------------------------------
*/
int pc_changelook (struct map_session_data *sd, int type, int val)
@@ -6774,7 +6778,7 @@ int pc_changelook (struct map_session_data *sd, int type, int val)
}
/*==========================================
- * �t���i(��,�y�R,�J�[�g)�ݒ�
+ * 付属品(鷹,ペコ,カート)設定
*------------------------------------------
*/
int pc_setoption (struct map_session_data *sd, int type)
@@ -6789,7 +6793,7 @@ int pc_setoption (struct map_session_data *sd, int type)
}
/*==========================================
- * �J�[�g�ݒ�
+ * カート設定
*------------------------------------------
*/
int pc_setcart (struct map_session_data *sd, int type)
@@ -6799,9 +6803,9 @@ int pc_setcart (struct map_session_data *sd, int type)
nullpo_retr (0, sd);
if (pc_checkskill (sd, MC_PUSHCART) > 0)
- { // �v�b�V���J�[�g�X�L������
+ { // プッシュカートスキル所持
if (!pc_iscarton (sd))
- { // �J�[�g���t���Ă��Ȃ�
+ { // カートを付けていない
pc_setoption (sd, cart[type]);
clif_cart_itemlist (sd);
clif_cart_equiplist (sd);
@@ -6818,13 +6822,13 @@ int pc_setcart (struct map_session_data *sd, int type)
}
/*==========================================
- * ���ݒ�
+ * 鷹設定
*------------------------------------------
*/
int pc_setfalcon (struct map_session_data *sd)
{
if (pc_checkskill (sd, HT_FALCON) > 0)
- { // �t�@���R���}�X�^���[�X�L������
+ { // ファルコンマスタリースキル所持
pc_setoption (sd, sd->status.option | 0x0010);
}
@@ -6832,7 +6836,7 @@ int pc_setfalcon (struct map_session_data *sd)
}
/*==========================================
- * �y�R�y�R�ݒ�
+ * ペコペコ設定
*------------------------------------------
*/
int pc_setriding (struct map_session_data *sd)
@@ -6845,7 +6849,7 @@ int pc_setriding (struct map_session_data *sd)
}
if ((pc_checkskill (sd, KN_RIDING) > 0))
- { // ���C�f�B���O�X�L������
+ { // ライディングスキル所持
pc_setoption (sd, sd->status.option | 0x0020);
if (sd->status.class == 7)
@@ -6865,7 +6869,7 @@ int pc_setriding (struct map_session_data *sd)
}
/*==========================================
- * script�p�ϐ��̒l���ǂ�
+ * script用変数の値を読む
*------------------------------------------
*/
int pc_readreg (struct map_session_data *sd, int reg)
@@ -6882,7 +6886,7 @@ int pc_readreg (struct map_session_data *sd, int reg)
}
/*==========================================
- * script�p�ϐ��̒l���ݒ�
+ * script用変数の値を設定
*------------------------------------------
*/
int pc_setreg (struct map_session_data *sd, int reg, int val)
@@ -6916,7 +6920,7 @@ int pc_setreg (struct map_session_data *sd, int reg, int val)
}
/*==========================================
- * script�p�������ϐ��̒l���ǂ�
+ * script用文字列変数の値を読む
*------------------------------------------
*/
char *pc_readregstr (struct map_session_data *sd, int reg)
@@ -6933,7 +6937,7 @@ char *pc_readregstr (struct map_session_data *sd, int reg)
}
/*==========================================
- * script�p�������ϐ��̒l���ݒ�
+ * script用文字列変数の値を設定
*------------------------------------------
*/
int pc_setregstr (struct map_session_data *sd, int reg, char *str)
@@ -6972,7 +6976,7 @@ int pc_setregstr (struct map_session_data *sd, int reg, char *str)
}
/*==========================================
- * script�p�O���[�o���ϐ��̒l���ǂ�
+ * script用グローバル変数の値を読む
*------------------------------------------
*/
int pc_readglobalreg (struct map_session_data *sd, char *reg)
@@ -6991,7 +6995,7 @@ int pc_readglobalreg (struct map_session_data *sd, char *reg)
}
/*==========================================
- * script�p�O���[�o���ϐ��̒l���ݒ�
+ * script用グローバル変数の値を設定
*------------------------------------------
*/
int pc_setglobalreg (struct map_session_data *sd, char *reg, int val)
@@ -7000,7 +7004,7 @@ int pc_setglobalreg (struct map_session_data *sd, char *reg, int val)
nullpo_retr (0, sd);
- //PC_DIE_COUNTER���X�N���v�g�ȂǂŕύX���ꂽ���̏���
+ //PC_DIE_COUNTERがスクリプトなどで変更された時の処理
if (strcmp (reg, "PC_DIE_COUNTER") == 0 && sd->die_counter != val)
{
sd->die_counter = val;
@@ -7043,7 +7047,7 @@ int pc_setglobalreg (struct map_session_data *sd, char *reg, int val)
}
/*==========================================
- * script�p�A�J�E���g�ϐ��̒l���ǂ�
+ * script用アカウント変数の値を読む
*------------------------------------------
*/
int pc_readaccountreg (struct map_session_data *sd, char *reg)
@@ -7062,7 +7066,7 @@ int pc_readaccountreg (struct map_session_data *sd, char *reg)
}
/*==========================================
- * script�p�A�J�E���g�ϐ��̒l���ݒ�
+ * script用アカウント変数の値を設定
*------------------------------------------
*/
int pc_setaccountreg (struct map_session_data *sd, char *reg, int val)
@@ -7111,7 +7115,7 @@ int pc_setaccountreg (struct map_session_data *sd, char *reg, int val)
}
/*==========================================
- * script�p�A�J�E���g�ϐ�2�̒l���ǂ�
+ * script用アカウント変数2の値を読む
*------------------------------------------
*/
int pc_readaccountreg2 (struct map_session_data *sd, char *reg)
@@ -7130,7 +7134,7 @@ int pc_readaccountreg2 (struct map_session_data *sd, char *reg)
}
/*==========================================
- * script�p�A�J�E���g�ϐ�2�̒l���ݒ�
+ * script用アカウント変数2の値を設定
*------------------------------------------
*/
int pc_setaccountreg2 (struct map_session_data *sd, char *reg, int val)
@@ -7180,7 +7184,7 @@ int pc_setaccountreg2 (struct map_session_data *sd, char *reg, int val)
}
/*==========================================
- * ���B������
+ * 精錬成功率
*------------------------------------------
*/
int pc_percentrefinery (struct map_session_data *sd, struct item *item)
@@ -7190,9 +7194,9 @@ int pc_percentrefinery (struct map_session_data *sd, struct item *item)
nullpo_retr (0, item);
percent = percentrefinery[itemdb_wlv (item->nameid)][(int) item->refine];
- percent += pc_checkskill (sd, BS_WEAPONRESEARCH); // ���팤���X�L������
+ percent += pc_checkskill (sd, BS_WEAPONRESEARCH); // 武器研究スキル所持
- // �m���̗L���͈̓`�F�b�N
+ // 確率の有効範囲チェック
if (percent > 100)
{
percent = 100;
@@ -7206,7 +7210,7 @@ int pc_percentrefinery (struct map_session_data *sd, struct item *item)
}
/*==========================================
- * �C�x���g�^�C�}�[����
+ * イベントタイマー処理
*------------------------------------------
*/
int pc_eventtimer (int tid, unsigned int tick, int id, int data)
@@ -7236,7 +7240,7 @@ int pc_eventtimer (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * �C�x���g�^�C�}�[�lj�
+ * イベントタイマー追加
*------------------------------------------
*/
int pc_addeventtimer (struct map_session_data *sd, int tick, const char *name)
@@ -7264,7 +7268,7 @@ int pc_addeventtimer (struct map_session_data *sd, int tick, const char *name)
}
/*==========================================
- * �C�x���g�^�C�}�[�폜
+ * イベントタイマー削除
*------------------------------------------
*/
int pc_deleventtimer (struct map_session_data *sd, const char *name)
@@ -7288,7 +7292,7 @@ int pc_deleventtimer (struct map_session_data *sd, const char *name)
}
/*==========================================
- * �C�x���g�^�C�}�[�J�E���g�l�lj�
+ * イベントタイマーカウント値追加
*------------------------------------------
*/
int pc_addeventtimercount (struct map_session_data *sd, const char *name,
@@ -7312,7 +7316,7 @@ int pc_addeventtimercount (struct map_session_data *sd, const char *name,
}
/*==========================================
- * �C�x���g�^�C�}�[�S�폜
+ * イベントタイマー全削除
*------------------------------------------
*/
int pc_cleareventtimer (struct map_session_data *sd)
@@ -7332,10 +7336,10 @@ int pc_cleareventtimer (struct map_session_data *sd)
}
//
-// �� ����
+// 装 備物
//
/*==========================================
- * �A�C�e���𑕔��
+ * アイテムを装備する
*------------------------------------------
*/
static int
@@ -7358,7 +7362,7 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos)
{
int i, nameid, arrow, view;
struct item_data *id;
- //�]�����{�q�̏ꍇ�̌��̐E�Ƃ��Z�o����
+ //ソス]ソスソスソスソスソス{ソスqソスフ場合ソスフ鯉ソスソスフ職ソスニゑソスソスZソスoソスソスソスソス
nullpo_retr (0, sd);
@@ -7389,7 +7393,7 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos)
}
if (pos == 0x88)
- { // �A�N�Z�T���p���O����
+ { // アクセサリ用例外処理
int epor = 0;
if (sd->equip_index[0] >= 0)
epor |= sd->status.inventory[sd->equip_index[0]].equip;
@@ -7399,10 +7403,10 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos)
pos = epor == 0x08 ? 0x80 : 0x08;
}
- // �񓁗�����
- if ((pos == 0x22) // �ꉞ�A�����v���ӏ����񓁗����킩�`�F�b�N����
- && (id->equip == 2) // �P �蕐��
- && (pc_checkskill (sd, AS_LEFT) > 0 || sd->status.class == 12)) // �����C�B�L
+ // 二刀流処理
+ if ((pos == 0x22) // 一応、装備要求箇所が二刀流武器かチェックする
+ && (id->equip == 2) // 単 手武器
+ && (pc_checkskill (sd, AS_LEFT) > 0 || sd->status.class == 12)) // 左手修錬有
{
int tpos = 0;
if (sd->equip_index[8] >= 0)
@@ -7423,11 +7427,11 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos)
sd->equip_index[i] = n;
}
}
- // �|���
+ // 弓矢装備
if (pos == 0x8000)
{
clif_arrowequip (sd, n);
- clif_arrow_fail (sd, 3); // 3=������ł��܂���
+ clif_arrow_fail (sd, 3); // 3=矢が装備できました
}
else
{
@@ -7498,7 +7502,7 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos)
}
pc_signal_advanced_equipment_change (sd, n);
- pc_checkallowskill (sd); // �����i�ŃX�L����������邩�`�F�b�N
+ pc_checkallowskill (sd); // 装備品でスキルか解除されるかチェック
if (itemdb_look (sd->status.inventory[n].nameid) == 11 && arrow)
{ // Added by RoVeRT
clif_arrowequip (sd, arrow);
@@ -7528,7 +7532,7 @@ int pc_equipitem (struct map_session_data *sd, int n, int pos)
}
/*==========================================
- * �� ��������O��
+ * 装 備した物を外す
*------------------------------------------
*/
int pc_unequipitem (struct map_session_data *sd, int n, int type)
@@ -7595,7 +7599,7 @@ int pc_unequipitem (struct map_session_data *sd, int n, int type)
if (!type)
pc_checkallowskill (sd);
if (sd->weapontype1 == 0 && sd->weapontype2 == 0)
- skill_encchant_eremental_end (&sd->bl, -1); //���펝�������͖���ő����t�^����
+ skill_encchant_eremental_end (&sd->bl, -1); //武器持ち誓えは無条件で属性付与解除
}
else
{
@@ -7631,8 +7635,8 @@ int pc_unequipinvyitem (struct map_session_data *sd, int n, int type)
}
/*==========================================
- * �A�C�e����index�ԍ����l�߂���
- * �� ���i�̑����”\�`�F�b�N���s�Ȃ�
+ * アイテムのindex番号を詰めたり
+ * 装 備品の装備可能チェックを行なう
*------------------------------------------
*/
int pc_checkitem (struct map_session_data *sd)
@@ -7642,7 +7646,7 @@ int pc_checkitem (struct map_session_data *sd)
nullpo_retr (0, sd);
- // �����i�󂫋l��
+ // 所持品空き詰め
for (i = j = 0; i < MAX_INVENTORY; i++)
{
if ((id = sd->status.inventory[i].nameid) == 0)
@@ -7669,7 +7673,7 @@ int pc_checkitem (struct map_session_data *sd)
for (k = j; k < MAX_INVENTORY; k++)
sd->inventory_data[k] = NULL;
- // �J�[�g���󂫋l��
+ // カート内空き詰め
for (i = j = 0; i < MAX_CART; i++)
{
if ((id = sd->status.cart[i].nameid) == 0)
@@ -7693,7 +7697,7 @@ int pc_checkitem (struct map_session_data *sd)
memset (&sd->status.cart[j], 0,
sizeof (struct item) * (MAX_CART - j));
- // �� ���ʒu�`�F�b�N
+ // 装 備位置チェック
for (i = 0; i < MAX_INVENTORY; i++)
{
@@ -7707,16 +7711,16 @@ int pc_checkitem (struct map_session_data *sd)
sd->status.inventory[i].equip = 0;
calc_flag = 1;
}
- //�����`�F�b�N
+ //装備制限チェック
if (sd->status.inventory[i].equip && map[sd->bl.m].flag.pvp
&& (it->flag.no_equip == 1 || it->flag.no_equip == 3))
- { //PvP����
+ { //PvP制限
sd->status.inventory[i].equip = 0;
calc_flag = 1;
}
else if (sd->status.inventory[i].equip && map[sd->bl.m].flag.gvg
&& (it->flag.no_equip == 2 || it->flag.no_equip == 3))
- { //GvG����
+ { //GvG制限
sd->status.inventory[i].equip = 0;
calc_flag = 1;
}
@@ -7762,7 +7766,7 @@ int pc_checkoversp (struct map_session_data *sd)
}
/*==========================================
- * PVP���ʌv�Z�p(foreachinarea)
+ * PVP順位計算用(foreachinarea)
*------------------------------------------
*/
int pc_calc_pvprank_sub (struct block_list *bl, va_list ap)
@@ -7780,7 +7784,7 @@ int pc_calc_pvprank_sub (struct block_list *bl, va_list ap)
}
/*==========================================
- * PVP���ʌv�Z
+ * PVP順位計算
*------------------------------------------
*/
int pc_calc_pvprank (struct map_session_data *sd)
@@ -7804,7 +7808,7 @@ int pc_calc_pvprank (struct map_session_data *sd)
}
/*==========================================
- * PVP���ʌv�Z(timer)
+ * PVP順位計算(timer)
*------------------------------------------
*/
int pc_calc_pvprank_timer (int tid, unsigned int tick, int id, int data)
@@ -7824,7 +7828,7 @@ int pc_calc_pvprank_timer (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * sd�͌������Ă��邩(�����̏ꍇ�͑�����char_id���Ԃ�)
+ * sdは結婚しているか(既婚の場合は相方のchar_idを返す)
*------------------------------------------
*/
int pc_ismarried (struct map_session_data *sd)
@@ -7838,7 +7842,7 @@ int pc_ismarried (struct map_session_data *sd)
}
/*==========================================
- * sd��dstsd�ƌ���(dstsd��sd�̌������������ɍs��)
+ * sdがdstsdと結婚(dstsd→sdの結婚処理も同時に行う)
*------------------------------------------
*/
int pc_marriage (struct map_session_data *sd, struct map_session_data *dstsd)
@@ -7852,7 +7856,7 @@ int pc_marriage (struct map_session_data *sd, struct map_session_data *dstsd)
}
/*==========================================
- * sd������(������sd->status.partner_id�Ɉ˂�)(���������ɗ����E�����w�֎������D)
+ * sdが離婚(相手はsd->status.partner_idに依る)(相手も同時に離婚・結婚指輪自動剥奪)
*------------------------------------------
*/
int pc_divorce (struct map_session_data *sd)
@@ -7888,7 +7892,7 @@ int pc_divorce (struct map_session_data *sd)
}
/*==========================================
- * sd�̑�����map_session_data���Ԃ�
+ * sdの相方のmap_session_dataを返す
*------------------------------------------
*/
struct map_session_data *pc_get_partner (struct map_session_data *sd)
@@ -7910,10 +7914,10 @@ struct map_session_data *pc_get_partner (struct map_session_data *sd)
}
//
-// ���R�񕜕�
+// 自然回復物
//
/*==========================================
- * SP�񕜗ʌv�Z
+ * SP回復量計算
*------------------------------------------
*/
static int natural_heal_tick, natural_heal_prev_tick, natural_heal_diff_tick;
@@ -7927,7 +7931,7 @@ static int pc_spheal (struct map_session_data *sd)
a = natural_heal_diff_tick;
if (pc_issit (sd))
a += a;
- if (sd->sc_data[SC_MAGNIFICAT].timer != -1) // �}�O�j�t�B�J�[�g
+ if (sd->sc_data[SC_MAGNIFICAT].timer != -1) // マグニフィカート
a += a;
gc = guild_mapname2gc (sd->mapname); // Increased guild castle regen [Valaris]
@@ -7943,7 +7947,7 @@ static int pc_spheal (struct map_session_data *sd)
}
/*==========================================
- * HP�񕜗ʌv�Z
+ * HP回復量計算
*------------------------------------------
*/
static int pc_hpheal (struct map_session_data *sd)
@@ -7995,7 +7999,7 @@ static int pc_natural_heal_hp (struct map_session_data *sd)
{
inc_num = pc_hpheal (sd);
if (sd->sc_data[SC_TENSIONRELAX].timer != -1)
- { // �e���V���������b�N�X
+ { // テンションリラックス
sd->hp_sub += 2 * inc_num;
sd->inchealhptick += 3 * natural_heal_diff_tick;
}
@@ -8277,7 +8281,7 @@ static int pc_spirit_heal_sp (struct map_session_data *sd, int level)
}
/*==========================================
- * HP/SP ���R���� �e�N���C�A���g
+ * HP/SP 自然回復 各クライアント
*------------------------------------------
*/
static int pc_itemheal_effect (struct map_session_data *sd, int hp, int sp);
@@ -8353,9 +8357,9 @@ static int pc_natural_heal_sub (struct map_session_data *sd, va_list ap)
&& !pc_ishiding (sd) && sd->sc_data[SC_POISON].timer == -1)
{
pc_natural_heal_hp (sd);
- if (sd->sc_data && sd->sc_data[SC_EXTREMITYFIST].timer == -1 && //���C�����Ԃł�SP���񕜂��Ȃ�
- sd->sc_data[SC_DANCING].timer == -1 && //�_���X���Ԃł�SP���񕜂��Ȃ�
- sd->sc_data[SC_BERSERK].timer == -1 //�o�[�T�[�N���Ԃł�SP���񕜂��Ȃ�
+ if (sd->sc_data && sd->sc_data[SC_EXTREMITYFIST].timer == -1 && //阿修羅状態ではSPが回復しない
+ sd->sc_data[SC_DANCING].timer == -1 && //ダンス状態ではSPが回復しない
+ sd->sc_data[SC_BERSERK].timer == -1 //バーサーク状態ではSPが回復しない
)
pc_natural_heal_sp (sd);
}
@@ -8380,7 +8384,7 @@ static int pc_natural_heal_sub (struct map_session_data *sd, va_list ap)
}
/*==========================================
- * HP/SP���R���� (interval timer�֐�)
+ * HP/SP自然回復 (interval timer関数)
*------------------------------------------
*/
int pc_natural_heal (int tid, unsigned int tick, int id, int data)
@@ -8395,7 +8399,7 @@ int pc_natural_heal (int tid, unsigned int tick, int id, int data)
}
/*==========================================
- * �Z�[�u�|�C���g�̕ۑ�
+ * セーブポイントの保存
*------------------------------------------
*/
int pc_setsavepoint (struct map_session_data *sd, char *mapname, int x, int y)
@@ -8411,7 +8415,7 @@ int pc_setsavepoint (struct map_session_data *sd, char *mapname, int x, int y)
}
/*==========================================
- * �����Z�[�u �e�N���C�A���g
+ * 自動セーブ 各クライアント
*------------------------------------------
*/
static int last_save_fd, save_flag;
@@ -8458,7 +8462,7 @@ static int pc_autosave_sub (struct map_session_data *sd, va_list ap)
}
/*==========================================
- * �����Z�[�u (timer�֐�)
+ * 自動セーブ (timer関数)
*------------------------------------------
*/
int pc_autosave (int tid, unsigned int tick, int id, int data)
@@ -8574,17 +8578,17 @@ void pc_setstand (struct map_session_data *sd)
}
//
-// ��������
+// 初期化物
//
/*==========================================
- * �ݒ��t�@�C���ǂݍ���
- * exp.txt �K�v�o���l
- * job_db1.txt �d��,hp,sp,�U�����x
- * job_db2.txt job�\�͒l�{�[�i�X
- * skill_tree.txt �e�E���̃X�L���c���[
- * attr_fix.txt �����C���e�[�u��
- * size_fix.txt �T�C�Y�␳�e�[�u��
- * refine_db.txt ���B�f�[�^�e�[�u��
+ * 設定ファイル読み込む
+ * exp.txt 必要経験値
+ * job_db1.txt 重量,hp,sp,攻撃速度
+ * job_db2.txt job能力値ボーナス
+ * skill_tree.txt 各職毎のスキルツリー
+ * attr_fix.txt 属性修正テーブル
+ * size_fix.txt サイズ補正テーブル
+ * refine_db.txt 精錬データテーブル
*------------------------------------------
*/
int pc_readdb (void)
@@ -8593,7 +8597,7 @@ int pc_readdb (void)
FILE *fp;
char line[1024], *p;
- // �K�v�o���l�ǂݍ���
+ // 必要経験値読み込み
fp = fopen_ ("db/exp.txt", "r");
if (fp == NULL)
@@ -8632,7 +8636,7 @@ int pc_readdb (void)
fclose_ (fp);
printf ("read db/exp.txt done\n");
- // JOB�␳���l�P
+ // JOB補正数値1
fp = fopen_ ("db/job_db1.txt", "r");
if (fp == NULL)
{
@@ -8670,7 +8674,7 @@ int pc_readdb (void)
fclose_ (fp);
printf ("read db/job_db1.txt done\n");
- // JOB�{�[�i�X
+ // JOBボーナス
fp = fopen_ ("db/job_db2.txt", "r");
if (fp == NULL)
{
@@ -8687,7 +8691,7 @@ int pc_readdb (void)
if (sscanf (p, "%d", &k) == 0)
break;
job_bonus[0][i][j] = k;
- job_bonus[2][i][j] = k; //�{�q�E�̃{�[�i�X�͕������Ȃ��̂ʼn�
+ job_bonus[2][i][j] = k; //養子職のボーナスは分からないので仮
p = strchr (p, ',');
if (p)
p++;
@@ -8702,7 +8706,7 @@ int pc_readdb (void)
fclose_ (fp);
printf ("read db/job_db2.txt done\n");
- // JOB�{�[�i�X2 �]���E�p
+ // JOBボーナス2 転生職用
fp = fopen_ ("db/job_db2-2.txt", "r");
if (fp == NULL)
{
@@ -8730,7 +8734,7 @@ int pc_readdb (void)
fclose_ (fp);
printf ("read db/job_db2-2.txt done\n");
- // �X�L���c���[
+ // スキルツリー
memset (skill_tree, 0, sizeof (skill_tree));
fp = fopen_ ("db/skill_tree.txt", "r");
if (fp == NULL)
@@ -8756,20 +8760,20 @@ int pc_readdb (void)
for (j = 0; skill_tree[0][i][j].id; j++);
skill_tree[0][i][j].id = atoi (split[1]);
skill_tree[0][i][j].max = atoi (split[2]);
- skill_tree[2][i][j].id = atoi (split[1]); //�{�q�E�͗ǂ��������Ȃ��̂Ŏb��
- skill_tree[2][i][j].max = atoi (split[2]); //�{�q�E�͗ǂ��������Ȃ��̂Ŏb��
+ skill_tree[2][i][j].id = atoi (split[1]); //養子職は良く分からないので暫定
+ skill_tree[2][i][j].max = atoi (split[2]); //養子職は良く分からないので暫定
for (k = 0; k < 5; k++)
{
skill_tree[0][i][j].need[k].id = atoi (split[k * 2 + 3]);
skill_tree[0][i][j].need[k].lv = atoi (split[k * 2 + 4]);
- skill_tree[2][i][j].need[k].id = atoi (split[k * 2 + 3]); //�{�q�E�͗ǂ��������Ȃ��̂Ŏb��
- skill_tree[2][i][j].need[k].lv = atoi (split[k * 2 + 4]); //�{�q�E�͗ǂ��������Ȃ��̂Ŏb��
+ skill_tree[2][i][j].need[k].id = atoi (split[k * 2 + 3]); //養子職は良く分からないので暫定
+ skill_tree[2][i][j].need[k].lv = atoi (split[k * 2 + 4]); //養子職は良く分からないので暫定
}
}
fclose_ (fp);
printf ("read db/skill_tree.txt done\n");
- // �����C���e�[�u��
+ // 属性修正テーブル
for (i = 0; i < 4; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
@@ -8823,7 +8827,7 @@ int pc_readdb (void)
fclose_ (fp);
printf ("read db/attr_fix.txt done\n");
- // �T�C�Y�␳�e�[�u��
+ // サイズ補正テーブル
for (i = 0; i < 3; i++)
for (j = 0; j < 20; j++)
atkmods[i][j] = 100;
@@ -8856,7 +8860,7 @@ int pc_readdb (void)
fclose_ (fp);
printf ("read db/size_fix.txt done\n");
- // ���B�f�[�^�e�[�u��
+ // 精錬データテーブル
for (i = 0; i < 5; i++)
{
for (j = 0; j < 10; j++)
@@ -8887,9 +8891,9 @@ int pc_readdb (void)
if (p)
*p++ = 0;
}
- refinebonus[i][0] = atoi (split[0]); // ���B�{�[�i�X
- refinebonus[i][1] = atoi (split[1]); // �ߏ萸�B�{�[�i�X
- refinebonus[i][2] = atoi (split[2]); // ��S���B��E
+ refinebonus[i][0] = atoi (split[0]); // 精錬ボーナス
+ refinebonus[i][1] = atoi (split[1]); // 過剰精錬ボーナス
+ refinebonus[i][2] = atoi (split[2]); // 安全精錬限界
for (j = 0; j < 10 && split[j]; j++)
percentrefinery[i][j] = atoi (split[j + 3]);
i++;
@@ -8958,7 +8962,7 @@ static void pc_statpointdb (void)
}
/*==========================================
- * pc�� �W������
+ * pc関 係初期化
*------------------------------------------
*/
int do_init_pc (void)
diff --git a/src/map/script.c b/src/map/script.c
index 00f4b0b..fdc1df2 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -91,8 +91,8 @@ int scriptlabel_final (void *k, void *d, va_list ap)
}
static char pos[11][100] =
- { "��", "��", "����", "�E��", "���[�u", "�C", "�A�N�Z�T���[1",
- "�A�N�Z�T���[2", "��2", "��3", "�������Ă��Ȃ�"
+ { "頭", "体", "左手", "右手", "ローブ", "靴", "アクセサリー1",
+ "アクセサリー2", "頭2", "頭3", "装着していない"
};
static struct Script_Config
@@ -108,7 +108,7 @@ static int parse_cmd_if = 0;
static int parse_cmd;
/*==========================================
- * ���[�J���v���g�^�C�v�錾 (�K�v�ȕ��̂�)
+ * ローカルプロトタイプ宣言 (必要な物のみ)
*------------------------------------------
*/
unsigned char *parse_subexpr (unsigned char *, int);
@@ -754,7 +754,7 @@ enum
};
/*==========================================
- * �������̃n�b�V�����v�Z
+ * 文字列のハッシュを計算
*------------------------------------------
*/
static int calc_hash (const unsigned char *p)
@@ -769,10 +769,10 @@ static int calc_hash (const unsigned char *p)
}
/*==========================================
- * str_data�̒��ɖ��O�����邩�����
+ * str_dataの中に名前があるか検索する
*------------------------------------------
*/
-// �����̂ł����Δԍ��A��������-1
+// 既存のであれば番号、無ければ-1
static int search_str (const unsigned char *p)
{
int i;
@@ -789,10 +789,10 @@ static int search_str (const unsigned char *p)
}
/*==========================================
- * str_data�ɖ��O���o�^
+ * str_dataに名前を登録
*------------------------------------------
*/
-// �����̂ł����Δԍ��A�������Γo�^���ĐV�K�ԍ�
+// 既存のであれば番号、無ければ登録して新規番号
static int add_str (const unsigned char *p)
{
int i;
@@ -852,7 +852,7 @@ static int add_str (const unsigned char *p)
}
/*==========================================
- * �X�N���v�g�o�b�t�@�T�C�Y�̊m�F�Ɗg��
+ * スクリプトバッファサイズの確認と拡張
*------------------------------------------
*/
static void check_script_buf (int size)
@@ -867,7 +867,7 @@ static void check_script_buf (int size)
}
/*==========================================
- * �X�N���v�g�o�b�t�@�ɂP�o�C�g��������
+ * スクリプトバッファに1バイト書き込む
*------------------------------------------
*/
static void add_scriptb (int a)
@@ -877,7 +877,7 @@ static void add_scriptb (int a)
}
/*==========================================
- * �X�N���v�g�o�b�t�@�Ƀf�[�^�^�C�v�������
+ * スクリプトバッファにデータタイプを書き込む
*------------------------------------------
*/
static void add_scriptc (int a)
@@ -891,7 +891,7 @@ static void add_scriptc (int a)
}
/*==========================================
- * �X�N���v�g�o�b�t�@�ɐ����������
+ * スクリプトバッファに整数を書き込む
*------------------------------------------
*/
static void add_scripti (int a)
@@ -905,10 +905,10 @@ static void add_scripti (int a)
}
/*==========================================
- * �X�N���v�g�o�b�t�@�Ƀ��x��/�ϐ�/�֐��������
+ * スクリプトバッファにラベル/変数/関数を書き込む
*------------------------------------------
*/
-// �ő�16M�܂�
+// 最大16Mまで
static void add_scriptl (int l)
{
int backpatch = str_data[l].backpatch;
@@ -922,7 +922,7 @@ static void add_scriptl (int l)
add_scriptb (str_data[l].label >> 16);
break;
case C_NOP:
- // ���x���̉”\���������̂�backpatch�p�f�[�^���ߍ���
+ // ラベルの可能性があるのでbackpatch用データ埋め込み
add_scriptc (C_NAME);
str_data[l].backpatch = script_pos;
add_scriptb (backpatch);
@@ -933,7 +933,7 @@ static void add_scriptl (int l)
add_scripti (str_data[l].val);
break;
default:
- // �����̗p�r�Ɗm�肵�Ă��̂Ő�����̂܂�
+ // もう他の用途と確定してるので数字をそのまま
add_scriptc (C_NAME);
add_scriptb (l);
add_scriptb (l >> 8);
@@ -943,7 +943,7 @@ static void add_scriptl (int l)
}
/*==========================================
- * ���x���������
+ * ラベルを解決する
*------------------------------------------
*/
void set_label (int l, int pos)
@@ -964,7 +964,7 @@ void set_label (int l, int pos)
}
/*==========================================
- * �X�y�[�X/�R�����g�ǂݔ��΂�
+ * スペース/コメント読み飛ばし
*------------------------------------------
*/
static unsigned char *skip_space (unsigned char *p)
@@ -993,22 +993,22 @@ static unsigned char *skip_space (unsigned char *p)
}
/*==========================================
- * �P�P���X�L�b�v
+ * 1単語スキップ
*------------------------------------------
*/
static unsigned char *skip_word (unsigned char *p)
{
// prefix
if (*p == '$')
- p++; // MAP�I���L�ϐ��p
+ p++; // MAP鯖内共有変数用
if (*p == '@')
- p++; // �ꎞ�I�ϐ��p(like weiss)
+ p++; // 一時的変数用(like weiss)
if (*p == '#')
- p++; // account�ϐ��p
+ p++; // account変数用
if (*p == '#')
- p++; // ���[���haccount�ϐ��p
+ p++; // ワールドaccount変数用
if (*p == 'l')
- p++; // �ꎞ�I�ϐ��p(like weiss)
+ p++; // 一時的変数用(like weiss)
while (isalnum (*p) || *p == '_' || *p >= 0x81)
if (*p >= 0x81 && p[1])
@@ -1020,7 +1020,7 @@ static unsigned char *skip_word (unsigned char *p)
// postfix
if (*p == '$')
- p++; // �������ϐ�
+ p++; // 文字列変数
return p;
}
@@ -1029,7 +1029,7 @@ static unsigned char *startptr;
static int startline;
/*==========================================
- * �G���[���b�Z�[�W�o��
+ * エラーメッセージ出力
*------------------------------------------
*/
static void disp_error_message (const char *mes, const unsigned char *pos)
@@ -1069,7 +1069,7 @@ static void disp_error_message (const char *mes, const unsigned char *pos)
}
/*==========================================
- * ���̉���
+ * 項の解析
*------------------------------------------
*/
unsigned char *parse_simpleexpr (unsigned char *p)
@@ -1139,14 +1139,14 @@ unsigned char *parse_simpleexpr (unsigned char *p)
}
p2 = skip_word (p);
c = *p2;
- *p2 = 0; // ���O��add_str����
+ *p2 = 0; // 名前をadd_strする
l = add_str (p);
- parse_cmd = l; // warn_*_mismatch_paramnum�̂��߂ɕK�v
- if (l == search_str ("if")) // warn_cmd_no_comma�̂��߂ɕK�v
+ parse_cmd = l; // warn_*_mismatch_paramnumのために必要
+ if (l == search_str ("if")) // warn_cmd_no_commaのために必要
parse_cmd_if++;
/*
- // �p�~�\����l14/l15,�����уv���t�B�b�N�X���̌x��
+ // 廃止予定のl14/l15,およびプレフィックスlの警告
if( strcmp(str_buf+str_data[l].str,"l14")==0 ||
strcmp(str_buf+str_data[l].str,"l15")==0 ){
disp_error_message("l14 and l15 is DEPRECATED. use @menu instead of l15.",p);
@@ -1185,7 +1185,7 @@ unsigned char *parse_simpleexpr (unsigned char *p)
}
/*==========================================
- * ���̉���
+ * 式の解析
*------------------------------------------
*/
unsigned char *parse_subexpr (unsigned char *p, int limit)
@@ -1305,7 +1305,7 @@ unsigned char *parse_subexpr (unsigned char *p, int limit)
}
/*==========================================
- * ���̕]��
+ * 式の評価
*------------------------------------------
*/
unsigned char *parse_expr (unsigned char *p)
@@ -1334,7 +1334,7 @@ unsigned char *parse_expr (unsigned char *p)
}
/*==========================================
- * �s�̉���
+ * 行の解析
*------------------------------------------
*/
unsigned char *parse_line (unsigned char *p)
@@ -1347,9 +1347,9 @@ unsigned char *parse_line (unsigned char *p)
if (*p == ';')
return p;
- parse_cmd_if = 0; // warn_cmd_no_comma�̂��߂ɕK�v
+ parse_cmd_if = 0; // warn_cmd_no_commaのために必要
- // �ŏ��͊֐���
+ // 最初は関数名
p2 = p;
p = parse_simpleexpr (p);
p = skip_space (p);
@@ -1368,7 +1368,7 @@ unsigned char *parse_line (unsigned char *p)
p = parse_expr (p);
p = skip_space (p);
- // �������؂���,����
+ // 引数区切りの,処理
if (*p == ',')
p++;
else if (*p != ';' && script_config.warn_cmd_no_comma
@@ -1406,7 +1406,7 @@ unsigned char *parse_line (unsigned char *p)
}
/*==========================================
- * �g�ݍ��݊֐��̒lj�
+ * 組み込み関数の追加
*------------------------------------------
*/
static void add_buildin_func (void)
@@ -1422,7 +1422,7 @@ static void add_buildin_func (void)
}
/*==========================================
- * �萔�f�[�^�x�[�X�̓ǂݍ���
+ * 定数データベースの読み込み
*------------------------------------------
*/
static void read_constdb (void)
@@ -1459,7 +1459,7 @@ static void read_constdb (void)
}
/*==========================================
- * �X�N���v�g�̉���
+ * スクリプトの解析
*------------------------------------------
*/
unsigned char *parse_script (unsigned char *src, int line)
@@ -1491,7 +1491,7 @@ unsigned char *parse_script (unsigned char *src, int line)
}
}
- // �O���plabel db�̏�����
+ // 外部用label dbの初期化
if (scriptlabel_db != NULL)
strdb_final (scriptlabel_db, scriptlabel_final);
scriptlabel_db = strdb_init (50);
@@ -1510,7 +1510,7 @@ unsigned char *parse_script (unsigned char *src, int line)
for (p++; p && *p && *p != '}';)
{
p = skip_space (p);
- // label������ꏈ��
+ // labelだけ特殊処理
tmpp = skip_space (skip_word (p));
if (*tmpp == ':')
{
@@ -1526,13 +1526,13 @@ unsigned char *parse_script (unsigned char *src, int line)
exit (1);
}
set_label (l, script_pos);
- strdb_insert (scriptlabel_db, p, script_pos); // �O���plabel db�o�^
+ strdb_insert (scriptlabel_db, p, script_pos); // 外部用label db登録
*skip_word (p) = c;
p = tmpp + 1;
continue;
}
- // ���͑S���ꏏ����
+ // 他は全部一緒くた
p = parse_line (p);
p = skip_space (p);
add_scriptc (C_EOL);
@@ -1548,7 +1548,7 @@ unsigned char *parse_script (unsigned char *src, int line)
script_size = script_pos;
script_buf = (char *) aRealloc (script_buf, script_pos + 1);
- // ����̃��x��������
+ // 未解決のラベルを解決
for (i = LABEL_START; i < str_num; i++)
{
if (str_data[i].type == C_NOP)
@@ -1583,13 +1583,13 @@ unsigned char *parse_script (unsigned char *src, int line)
}
//
-// ��s�n
+// 実行系
//
enum
{ STOP = 1, END, RERUNLINE, GOTO, RETFUNC };
/*==========================================
- * rid����sd�ւ̉���
+ * ridからsdへの解決
*------------------------------------------
*/
struct map_session_data *script_rid2sd (struct script_state *st)
@@ -1603,7 +1603,7 @@ struct map_session_data *script_rid2sd (struct script_state *st)
}
/*==========================================
- * �ϐ��̓ǂݎ���
+ * 変数の読み取り
*------------------------------------------
*/
int get_val (struct script_state *st, struct script_data *data)
@@ -1691,7 +1691,7 @@ int get_val (struct script_state *st, struct script_data *data)
}
/*==========================================
- * �ϐ��̓ǂݎ���2
+ * 変数の読み取り2
*------------------------------------------
*/
void *get_val2 (struct script_state *st, int num)
@@ -1707,7 +1707,7 @@ void *get_val2 (struct script_state *st, int num)
}
/*==========================================
- * �ϐ��ݒ��p
+ * 変数設定用
*------------------------------------------
*/
static int set_reg (struct map_session_data *sd, int num, char *name, void *v)
@@ -1733,7 +1733,7 @@ static int set_reg (struct map_session_data *sd, int num, char *name, void *v)
}
else
{
- // ���l
+ // 数値
int val = (int) v;
if (str_data[num & 0x00ffffff].type == C_PARAM)
{
@@ -1763,7 +1763,7 @@ static int set_reg (struct map_session_data *sd, int num, char *name, void *v)
}
/*==========================================
- * �������ւ̕ϊ�
+ * 文字列への変換
*------------------------------------------
*/
char *conv_str (struct script_state *st, struct script_data *data)
@@ -1780,7 +1780,7 @@ char *conv_str (struct script_state *st, struct script_data *data)
}
else if (data->type == C_NAME)
{
- // �e���|�����B�{�������͂�
+ // テンポラリ。本来無いはず
data->type = C_CONSTSTR;
data->u.str = str_buf + str_data[data->u.num].str;
#endif
@@ -1789,7 +1789,7 @@ char *conv_str (struct script_state *st, struct script_data *data)
}
/*==========================================
- * ���l�֕ϊ�
+ * 数値へ変換
*------------------------------------------
*/
int conv_num (struct script_state *st, struct script_data *data)
@@ -1808,7 +1808,7 @@ int conv_num (struct script_state *st, struct script_data *data)
}
/*==========================================
- * �X�^�b�N�֐��l���v�b�V��
+ * スタックへ数値をプッシュ
*------------------------------------------
*/
void push_val (struct script_stack *stack, int type, int val)
@@ -1831,7 +1831,7 @@ void push_val (struct script_stack *stack, int type, int val)
}
/*==========================================
- * �X�^�b�N�֕��������v�b�V��
+ * スタックへ文字列をプッシュ
*------------------------------------------
*/
void push_str (struct script_stack *stack, int type, unsigned char *str)
@@ -1854,7 +1854,7 @@ void push_str (struct script_stack *stack, int type, unsigned char *str)
}
/*==========================================
- * �X�^�b�N�֕������v�b�V��
+ * スタックへ複製をプッシュ
*------------------------------------------
*/
void push_copy (struct script_stack *stack, int pos)
@@ -1875,7 +1875,7 @@ void push_copy (struct script_stack *stack, int pos)
}
/*==========================================
- * �X�^�b�N�����|�b�v
+ * スタックからポップ
*------------------------------------------
*/
void pop_stack (struct script_stack *stack, int start, int end)
@@ -1897,7 +1897,7 @@ void pop_stack (struct script_stack *stack, int start, int end)
}
//
-// ���ߍ��݊֐�
+// 埋め込み関数
//
/*==========================================
*
@@ -1933,7 +1933,7 @@ int buildin_goto (struct script_state *st)
}
/*==========================================
- * ���[�U�[���`�֐��̌Ăяo��
+ * ユーザー定義関数の呼び出し
*------------------------------------------
*/
int buildin_callfunc (struct script_state *st)
@@ -1947,10 +1947,10 @@ int buildin_callfunc (struct script_state *st)
for (i = st->start + 3, j = 0; i < st->end; i++, j++)
push_copy (st->stack, i);
- push_val (st->stack, C_INT, j); // �����̐����v�b�V��
- push_val (st->stack, C_INT, st->defsp); // ���݂̊�X�^�b�N�|�C���^���v�b�V��
- push_val (st->stack, C_INT, (int) st->script); // ���݂̃X�N���v�g���v�b�V��
- push_val (st->stack, C_RETINFO, st->pos); // ���݂̃X�N���v�g�ʒu���v�b�V��
+ push_val (st->stack, C_INT, j); // 引数の数をプッシュ
+ push_val (st->stack, C_INT, st->defsp); // 現在の基準スタックポインタをプッシュ
+ push_val (st->stack, C_INT, (int) st->script); // 現在のスクリプトをプッシュ
+ push_val (st->stack, C_RETINFO, st->pos); // 現在のスクリプト位置をプッシュ
st->pos = 0;
st->script = scr;
@@ -1966,7 +1966,7 @@ int buildin_callfunc (struct script_state *st)
}
/*==========================================
- * �T�u���[�e�B���̌Ăяo��
+ * サブルーティンの呼び出し
*------------------------------------------
*/
int buildin_callsub (struct script_state *st)
@@ -1976,10 +1976,10 @@ int buildin_callsub (struct script_state *st)
for (i = st->start + 3, j = 0; i < st->end; i++, j++)
push_copy (st->stack, i);
- push_val (st->stack, C_INT, j); // �����̐����v�b�V��
- push_val (st->stack, C_INT, st->defsp); // ���݂̊�X�^�b�N�|�C���^���v�b�V��
- push_val (st->stack, C_INT, (int) st->script); // ���݂̃X�N���v�g���v�b�V��
- push_val (st->stack, C_RETINFO, st->pos); // ���݂̃X�N���v�g�ʒu���v�b�V��
+ push_val (st->stack, C_INT, j); // 引数の数をプッシュ
+ push_val (st->stack, C_INT, st->defsp); // 現在の基準スタックポインタをプッシュ
+ push_val (st->stack, C_INT, (int) st->script); // 現在のスクリプトをプッシュ
+ push_val (st->stack, C_RETINFO, st->pos); // 現在のスクリプト位置をプッシュ
st->pos = pos;
st->defsp = st->start + 4 + j;
@@ -1988,7 +1988,7 @@ int buildin_callsub (struct script_state *st)
}
/*==========================================
- * �����̏���
+ * 引数の所得
*------------------------------------------
*/
int buildin_getarg (struct script_state *st)
@@ -2015,13 +2015,13 @@ int buildin_getarg (struct script_state *st)
}
/*==========================================
- * �T�u���[�`��/���[�U�[���`�֐��̏I��
+ * サブルーチン/ユーザー定義関数の終了
*------------------------------------------
*/
int buildin_return (struct script_state *st)
{
if (st->end > st->start + 2)
- { // �߂��l�L��
+ { // 戻り値有り
push_copy (st->stack, st->start + 2);
}
st->state = RETFUNC;
@@ -2107,8 +2107,8 @@ int buildin_menu (struct script_state *st)
st->state = END;
}
else
- { // goto����
- // ragemu�݊��̂���
+ { // goto動作
+ // ragemu互換のため
pc_setreg (sd, add_str ("l15"), sd->npc_menu);
pc_setreg (sd, add_str ("@menu"), sd->npc_menu);
sd->state.menu_or_input = 0;
@@ -2220,7 +2220,7 @@ int buildin_warp (struct script_state *st)
pc_randomwarp (sd, 3);
else if (strcmp (str, "SavePoint") == 0)
{
- if (map[sd->bl.m].flag.noreturn) // ���֎~
+ if (map[sd->bl.m].flag.noreturn) // 蝶禁止
return 0;
pc_setpos (sd, sd->status.save_point.map,
@@ -2228,7 +2228,7 @@ int buildin_warp (struct script_state *st)
}
else if (strcmp (str, "Save") == 0)
{
- if (map[sd->bl.m].flag.noreturn) // ���֎~
+ if (map[sd->bl.m].flag.noreturn) // 蝶禁止
return 0;
pc_setpos (sd, sd->status.save_point.map,
@@ -2240,7 +2240,7 @@ int buildin_warp (struct script_state *st)
}
/*==========================================
- * �G���A�w�胏�[�v
+ * エリア指定ワープ
*------------------------------------------
*/
int buildin_areawarp_sub (struct block_list *bl, va_list ap)
@@ -2363,9 +2363,9 @@ int buildin_input (struct script_state *st)
sd->state.menu_or_input = 0;
if (postfix == '$')
{
- // ������
+ // 文字列
if (st->end > st->start + 2)
- { // ����1��
+ { // 引数1個
set_reg (sd, num, name, (void *) sd->npc_str);
}
else
@@ -2384,14 +2384,14 @@ int buildin_input (struct script_state *st)
buildin_close (st); //** close
}
- // ���l
+ // 数値
if (st->end > st->start + 2)
- { // ����1��
+ { // 引数1個
set_reg (sd, num, name, (void *) sd->npc_amount);
}
else
{
- // ragemu�݊��̂���
+ // ragemu互換のため
pc_setreg (sd, add_str ("l14"), sd->npc_amount);
}
}
@@ -2420,11 +2420,11 @@ int buildin_if (struct script_state *st)
if (!sel)
return 0;
- // �֐������R�s�[
+ // 関数名をコピー
push_copy (st->stack, st->start + 3);
- // �ԂɈ����}�[�J��������
+ // 間に引数マーカを入れて
push_val (st->stack, C_ARG, 0);
- // �c���̈������R�s�[
+ // 残りの引数をコピー
for (i = st->start + 4; i < st->end; i++)
{
push_copy (st->stack, i);
@@ -2435,7 +2435,7 @@ int buildin_if (struct script_state *st)
}
/*==========================================
- * �ϐ��ݒ�
+ * 変数設定
*------------------------------------------
*/
int buildin_set (struct script_state *st)
@@ -2457,13 +2457,13 @@ int buildin_set (struct script_state *st)
if (postfix == '$')
{
- // ������
+ // 文字列
char *str = conv_str (st, &(st->stack->stack_data[st->start + 3]));
set_reg (sd, num, name, (void *) str);
}
else
{
- // ���l
+ // 数値
int val = conv_num (st, &(st->stack->stack_data[st->start + 3]));
set_reg (sd, num, name, (void *) val);
}
@@ -2472,7 +2472,7 @@ int buildin_set (struct script_state *st)
}
/*==========================================
- * �z���ϐ��ݒ�
+ * 配列変数設定
*------------------------------------------
*/
int buildin_setarray (struct script_state *st)
@@ -2505,7 +2505,7 @@ int buildin_setarray (struct script_state *st)
}
/*==========================================
- * �z���ϐ��N���A
+ * 配列変数クリア
*------------------------------------------
*/
int buildin_cleararray (struct script_state *st)
@@ -2538,7 +2538,7 @@ int buildin_cleararray (struct script_state *st)
}
/*==========================================
- * �z���ϐ��R�s�[
+ * 配列変数コピー
*------------------------------------------
*/
int buildin_copyarray (struct script_state *st)
@@ -2574,7 +2574,7 @@ int buildin_copyarray (struct script_state *st)
}
/*==========================================
- * �z���ϐ��̃T�C�Y����
+ * 配列変数のサイズ所得
*------------------------------------------
*/
static int getarraysize (struct script_state *st, int num, int postfix)
@@ -2609,7 +2609,7 @@ int buildin_getarraysize (struct script_state *st)
}
/*==========================================
- * �z���ϐ������v�f�폜
+ * 配列変数から要素削除
*------------------------------------------
*/
int buildin_deletearray (struct script_state *st)
@@ -2649,7 +2649,7 @@ int buildin_deletearray (struct script_state *st)
}
/*==========================================
- * �w���v�f���\���l(�L�[)�������
+ * 指定要素を表す値(キー)を所得する
*------------------------------------------
*/
int buildin_getelementofarray (struct script_state *st)
@@ -2713,7 +2713,7 @@ int buildin_cutin (struct script_state *st)
}
/*==========================================
- * �J�[�h�̃C���X�g���\������
+ * カードのイラストを表示する
*------------------------------------------
*/
int buildin_cutincard (struct script_state *st)
@@ -2789,7 +2789,7 @@ int buildin_countitem (struct script_state *st)
}
/*==========================================
- * �d�ʃ`�F�b�N
+ * 重量チェック
*------------------------------------------
*/
int buildin_checkweight (struct script_state *st)
@@ -2864,7 +2864,7 @@ int buildin_getitem (struct script_state *st)
}
//Violet Box, Blue Box, etc - random item pick
if (nameid < 0)
- { // �����_��
+ { // ランダム
nameid = itemdb_searchrandomid (-nameid);
flag = 1;
}
@@ -2877,10 +2877,10 @@ int buildin_getitem (struct script_state *st)
item_tmp.identify = 1;
else
item_tmp.identify = !itemdb_isequip3 (nameid);
- if (st->end > st->start + 5) //�A�C�e�����w�肵��ID�ɓn��
+ if (st->end > st->start + 5) //アイテムを指定したIDに渡す
sd = map_id2sd (conv_num
(st, &(st->stack->stack_data[st->start + 5])));
- if (sd == NULL) //�A�C�e�����n�����肪���Ȃ�����炨�A��
+ if (sd == NULL) //アイテムを渡す相手がいなかったらお帰り
return 0;
if ((flag = pc_additem (sd, &item_tmp, amount)))
{
@@ -2929,14 +2929,14 @@ int buildin_getitem2 (struct script_state *st)
c2 = conv_num (st, &(st->stack->stack_data[st->start + 8]));
c3 = conv_num (st, &(st->stack->stack_data[st->start + 9]));
c4 = conv_num (st, &(st->stack->stack_data[st->start + 10]));
- if (st->end > st->start + 11) //�A�C�e�����w�肵��ID�ɓn��
+ if (st->end > st->start + 11) //アイテムを指定したIDに渡す
sd = map_id2sd (conv_num
(st, &(st->stack->stack_data[st->start + 11])));
- if (sd == NULL) //�A�C�e�����n�����肪���Ȃ�����炨�A��
+ if (sd == NULL) //アイテムを渡す相手がいなかったらお帰り
return 0;
if (nameid < 0)
- { // �����_��
+ { // ランダム
nameid = itemdb_searchrandomid (-nameid);
flag = 1;
}
@@ -3022,7 +3022,7 @@ int buildin_makeitem (struct script_state *st)
m = map_mapname2mapid (mapname);
if (nameid < 0)
- { // �����_��
+ { // ランダム
nameid = itemdb_searchrandomid (-nameid);
flag = 1;
}
@@ -3109,7 +3109,7 @@ int buildin_delitem (struct script_state *st)
}
/*==========================================
- *�L�����֌W�̃p�����[�^�擾
+ *キャラ関係のパラメータ取得
*------------------------------------------
*/
int buildin_readparam (struct script_state *st)
@@ -3136,7 +3136,7 @@ int buildin_readparam (struct script_state *st)
}
/*==========================================
- *�L�����֌W��ID�擾
+ *キャラ関係のID取得
*------------------------------------------
*/
int buildin_getcharid (struct script_state *st)
@@ -3167,7 +3167,7 @@ int buildin_getcharid (struct script_state *st)
}
/*==========================================
- *�w��ID��PT���擾
+ *指定IDのPT名取得
*------------------------------------------
*/
char *buildin_getpartyname_sub (int party_id)
@@ -3204,7 +3204,7 @@ int buildin_getpartyname (struct script_state *st)
}
/*==========================================
- *�w��ID��PT�l���ƃ����o�[ID�擾
+ *指定IDのPT人数とメンバーID取得
*------------------------------------------
*/
int buildin_getpartymember (struct script_state *st)
@@ -3234,7 +3234,7 @@ int buildin_getpartymember (struct script_state *st)
}
/*==========================================
- *�w��ID�̃M���h���擾
+ *指定IDのギルド名取得
*------------------------------------------
*/
char *buildin_getguildname_sub (int guild_id)
@@ -3265,7 +3265,7 @@ int buildin_getguildname (struct script_state *st)
}
/*==========================================
- *�w��ID��GuildMaster���擾
+ *指定IDのGuildMaster名取得
*------------------------------------------
*/
char *buildin_getguildmaster_sub (int guild_id)
@@ -3319,7 +3319,7 @@ int buildin_getguildmasterid (struct script_state *st)
}
/*==========================================
- * �L�����N�^�̖��O
+ * キャラクタの名前
*------------------------------------------
*/
int buildin_strcharinfo (struct script_state *st)
@@ -3397,7 +3397,7 @@ int buildin_getequipid (struct script_state *st)
}
/*==========================================
- * ����������i���B���j���[�p�j
+ * 装備名文字列(精錬メニュー用)
*------------------------------------------
*/
int buildin_getequipname (struct script_state *st)
@@ -3492,7 +3492,7 @@ int buildin_repair (struct script_state *st)
}
/*==========================================
- * �����`�F�b�N
+ * 装備チェック
*------------------------------------------
*/
int buildin_getequipisequiped (struct script_state *st)
@@ -3516,7 +3516,7 @@ int buildin_getequipisequiped (struct script_state *st)
}
/*==========================================
- * �����i���B�”\�`�F�b�N
+ * 装備品精錬可能チェック
*------------------------------------------
*/
int buildin_getequipisenableref (struct script_state *st)
@@ -3545,7 +3545,7 @@ int buildin_getequipisenableref (struct script_state *st)
}
/*==========================================
- * �����i�Ӓ��`�F�b�N
+ * 装備品鑑定チェック
*------------------------------------------
*/
int buildin_getequipisidentify (struct script_state *st)
@@ -3565,7 +3565,7 @@ int buildin_getequipisidentify (struct script_state *st)
}
/*==========================================
- * �����i���B�x
+ * 装備品精錬度
*------------------------------------------
*/
int buildin_getequiprefinerycnt (struct script_state *st)
@@ -3585,7 +3585,7 @@ int buildin_getequiprefinerycnt (struct script_state *st)
}
/*==========================================
- * �����i����LV
+ * 装備品武器LV
*------------------------------------------
*/
int buildin_getequipweaponlv (struct script_state *st)
@@ -3605,7 +3605,7 @@ int buildin_getequipweaponlv (struct script_state *st)
}
/*==========================================
- * �����i���B������
+ * 装備品精錬成功率
*------------------------------------------
*/
int buildin_getequippercentrefinery (struct script_state *st)
@@ -3626,7 +3626,7 @@ int buildin_getequippercentrefinery (struct script_state *st)
}
/*==========================================
- * ���B����
+ * 精錬成功
*------------------------------------------
*/
int buildin_successrefitem (struct script_state *st)
@@ -3654,7 +3654,7 @@ int buildin_successrefitem (struct script_state *st)
}
/*==========================================
- * ���B���s
+ * 精錬失敗
*------------------------------------------
*/
int buildin_failedrefitem (struct script_state *st)
@@ -3669,10 +3669,10 @@ int buildin_failedrefitem (struct script_state *st)
{
sd->status.inventory[i].refine = 0;
pc_unequipitem (sd, i, 0);
- // ���B���s�G�t�F�N�g�̃p�P�b�g
+ // 精錬失敗エフェクトのパケット
clif_refine (sd->fd, sd, 1, i, sd->status.inventory[i].refine);
pc_delitem (sd, i, 1, 0);
- // ���̐l�ɂ��s���ʒm
+ // 他の人にも失敗を通知
clif_misceffect (&sd->bl, 2);
}
@@ -3713,7 +3713,7 @@ int buildin_statusup2 (struct script_state *st)
}
/*==========================================
- * �����i�ɂ����\�͒l�{�[�i�X
+ * 装備品による能力値ボーナス
*------------------------------------------
*/
int buildin_bonus (struct script_state *st)
@@ -3730,7 +3730,7 @@ int buildin_bonus (struct script_state *st)
}
/*==========================================
- * �����i�ɂ����\�͒l�{�[�i�X
+ * 装備品による能力値ボーナス
*------------------------------------------
*/
int buildin_bonus2 (struct script_state *st)
@@ -3748,7 +3748,7 @@ int buildin_bonus2 (struct script_state *st)
}
/*==========================================
- * �����i�ɂ����\�͒l�{�[�i�X
+ * 装備品による能力値ボーナス
*------------------------------------------
*/
int buildin_bonus3 (struct script_state *st)
@@ -3767,7 +3767,7 @@ int buildin_bonus3 (struct script_state *st)
}
/*==========================================
- * �X�L������
+ * スキル所得
*------------------------------------------
*/
int buildin_skill (struct script_state *st)
@@ -3806,7 +3806,7 @@ int buildin_setskill (struct script_state *st)
}
/*==========================================
- * �M���h�X�L���擾
+ * ギルドスキル取得
*------------------------------------------
*/
int buildin_guildskill (struct script_state *st)
@@ -3827,7 +3827,7 @@ int buildin_guildskill (struct script_state *st)
}
/*==========================================
- * �X�L�����x������
+ * スキルレベル所得
*------------------------------------------
*/
int buildin_getskilllv (struct script_state *st)
@@ -4001,7 +4001,7 @@ int buildin_checkcart (struct script_state *st)
}
/*==========================================
- * �J�[�g���t����
+ * カートを付ける
*------------------------------------------
*/
int buildin_setcart (struct script_state *st)
@@ -4038,7 +4038,7 @@ int buildin_checkfalcon (struct script_state *st)
}
/*==========================================
- * �����t����
+ * 鷹を付ける
*------------------------------------------
*/
int buildin_setfalcon (struct script_state *st)
@@ -4075,7 +4075,7 @@ int buildin_checkriding (struct script_state *st)
}
/*==========================================
- * �y�R�y�R����
+ * ペコペコ乗り
*------------------------------------------
*/
int buildin_setriding (struct script_state *st)
@@ -4089,7 +4089,7 @@ int buildin_setriding (struct script_state *st)
}
/*==========================================
- * �Z�[�u�|�C���g�̕ۑ�
+ * セーブポイントの保存
*------------------------------------------
*/
int buildin_savepoint (struct script_state *st)
@@ -4217,7 +4217,7 @@ int buildin_gettimestr (struct script_state *st)
}
/*==========================================
- * �J�v���q�ɂ��J��
+ * カプラ倉庫を開く
*------------------------------------------
*/
int buildin_openstorage (struct script_state *st)
@@ -4246,7 +4246,7 @@ int buildin_guildopenstorage (struct script_state *st)
}
/*==========================================
- * �A�C�e���ɂ����X�L������
+ * アイテムによるスキル発動
*------------------------------------------
*/
int buildin_itemskill (struct script_state *st)
@@ -4259,7 +4259,7 @@ int buildin_itemskill (struct script_state *st)
lv = conv_num (st, &(st->stack->stack_data[st->start + 3]));
str = conv_str (st, &(st->stack->stack_data[st->start + 4]));
- // �r�����ɃX�L���A�C�e���͎g�p�ł��Ȃ�
+ // 詠唱中にスキルアイテムは使用できない
if (sd->skilltimer != -1)
return 0;
@@ -4270,7 +4270,7 @@ int buildin_itemskill (struct script_state *st)
}
/*==========================================
- * NPC�Ōo���l�グ��
+ * NPCで経験値上げる
*------------------------------------------
*/
int buildin_getexp (struct script_state *st)
@@ -4289,7 +4289,7 @@ int buildin_getexp (struct script_state *st)
}
/*==========================================
- * �����X�^�[����
+ * モンスター発生
*------------------------------------------
*/
int buildin_monster (struct script_state *st)
@@ -4312,7 +4312,7 @@ int buildin_monster (struct script_state *st)
}
/*==========================================
- * �����X�^�[����
+ * モンスター発生
*------------------------------------------
*/
int buildin_areamonster (struct script_state *st)
@@ -4337,7 +4337,7 @@ int buildin_areamonster (struct script_state *st)
}
/*==========================================
- * �����X�^�[�폜
+ * モンスター削除
*------------------------------------------
*/
int buildin_killmonster_sub (struct block_list *bl, va_list ap)
@@ -4397,7 +4397,7 @@ int buildin_killmonsterall (struct script_state *st)
}
/*==========================================
- * �C�x���g��s
+ * イベント実行
*------------------------------------------
*/
int buildin_doevent (struct script_state *st)
@@ -4409,7 +4409,7 @@ int buildin_doevent (struct script_state *st)
}
/*==========================================
- * NPC���̃C�x���g��s
+ * NPC主体イベント実行
*------------------------------------------
*/
int buildin_donpcevent (struct script_state *st)
@@ -4421,7 +4421,7 @@ int buildin_donpcevent (struct script_state *st)
}
/*==========================================
- * �C�x���g�^�C�}�[�lj�
+ * イベントタイマー追加
*------------------------------------------
*/
int buildin_addtimer (struct script_state *st)
@@ -4435,7 +4435,7 @@ int buildin_addtimer (struct script_state *st)
}
/*==========================================
- * �C�x���g�^�C�}�[�폜
+ * イベントタイマー削除
*------------------------------------------
*/
int buildin_deltimer (struct script_state *st)
@@ -4447,7 +4447,7 @@ int buildin_deltimer (struct script_state *st)
}
/*==========================================
- * �C�x���g�^�C�}�[�̃J�E���g�l�lj�
+ * イベントタイマーのカウント値追加
*------------------------------------------
*/
int buildin_addtimercount (struct script_state *st)
@@ -4461,7 +4461,7 @@ int buildin_addtimercount (struct script_state *st)
}
/*==========================================
- * NPC�^�C�}�[������
+ * NPCタイマー初期化
*------------------------------------------
*/
int buildin_initnpctimer (struct script_state *st)
@@ -4479,7 +4479,7 @@ int buildin_initnpctimer (struct script_state *st)
}
/*==========================================
- * NPC�^�C�}�[�J�n
+ * NPCタイマー開始
*------------------------------------------
*/
int buildin_startnpctimer (struct script_state *st)
@@ -4496,7 +4496,7 @@ int buildin_startnpctimer (struct script_state *st)
}
/*==========================================
- * NPC�^�C�}�[���~
+ * NPCタイマー停止
*------------------------------------------
*/
int buildin_stopnpctimer (struct script_state *st)
@@ -4513,7 +4513,7 @@ int buildin_stopnpctimer (struct script_state *st)
}
/*==========================================
- * NPC�^�C�}�[���񏊓�
+ * NPCタイマー情報所得
*------------------------------------------
*/
int buildin_getnpctimer (struct script_state *st)
@@ -4544,7 +4544,7 @@ int buildin_getnpctimer (struct script_state *st)
}
/*==========================================
- * NPC�^�C�}�[�l�ݒ�
+ * NPCタイマー値設定
*------------------------------------------
*/
int buildin_setnpctimer (struct script_state *st)
@@ -4563,7 +4563,7 @@ int buildin_setnpctimer (struct script_state *st)
}
/*==========================================
- * �V�̐��A�i�E���X
+ * 天の声アナウンス
*------------------------------------------
*/
int buildin_announce (struct script_state *st)
@@ -4585,7 +4585,7 @@ int buildin_announce (struct script_state *st)
}
/*==========================================
- * �V�̐��A�i�E���X�i����}�b�v�j
+ * 天の声アナウンス(特定マップ)
*------------------------------------------
*/
int buildin_mapannounce_sub (struct block_list *bl, va_list ap)
@@ -4617,7 +4617,7 @@ int buildin_mapannounce (struct script_state *st)
}
/*==========================================
- * �V�̐��A�i�E���X�i����G���A�j
+ * 天の声アナウンス(特定エリア)
*------------------------------------------
*/
int buildin_areaannounce (struct script_state *st)
@@ -4644,7 +4644,7 @@ int buildin_areaannounce (struct script_state *st)
}
/*==========================================
- * ���[�U�[������
+ * ユーザー数所得
*------------------------------------------
*/
int buildin_getusers (struct script_state *st)
@@ -4666,7 +4666,7 @@ int buildin_getusers (struct script_state *st)
}
/*==========================================
- * �}�b�v�w�胆�[�U�[������
+ * マップ指定ユーザー数所得
*------------------------------------------
*/
int buildin_getmapusers (struct script_state *st)
@@ -4684,7 +4684,7 @@ int buildin_getmapusers (struct script_state *st)
}
/*==========================================
- * �G���A�w�胆�[�U�[������
+ * エリア指定ユーザー数所得
*------------------------------------------
*/
int buildin_getareausers_sub (struct block_list *bl, va_list ap)
@@ -4715,7 +4715,7 @@ int buildin_getareausers (struct script_state *st)
}
/*==========================================
- * �G���A�w���h���b�v�A�C�e��������
+ * エリア指定ドロップアイテム数所得
*------------------------------------------
*/
int buildin_getareadropitem_sub (struct block_list *bl, va_list ap)
@@ -4789,7 +4789,7 @@ int buildin_getareadropitem (struct script_state *st)
}
/*==========================================
- * NPC�̗L����
+ * NPCの有効化
*------------------------------------------
*/
int buildin_enablenpc (struct script_state *st)
@@ -4801,7 +4801,7 @@ int buildin_enablenpc (struct script_state *st)
}
/*==========================================
- * NPC�̖�����
+ * NPCの無効化
*------------------------------------------
*/
int buildin_disablenpc (struct script_state *st)
@@ -4839,7 +4839,7 @@ int buildin_disablearena (struct script_state *st) // Added by RoVeRT
}
/*==========================================
- * �B���Ă���NPC�̕\��
+ * 隠れているNPCの表示
*------------------------------------------
*/
int buildin_hideoffnpc (struct script_state *st)
@@ -4851,7 +4851,7 @@ int buildin_hideoffnpc (struct script_state *st)
}
/*==========================================
- * NPC���n�C�f�B���O
+ * NPCをハイディング
*------------------------------------------
*/
int buildin_hideonnpc (struct script_state *st)
@@ -4863,7 +4863,7 @@ int buildin_hideonnpc (struct script_state *st)
}
/*==========================================
- * ���Ԉُ��ɂ�����
+ * 状態異常にかかる
*------------------------------------------
*/
int buildin_sc_start (struct script_state *st)
@@ -4873,7 +4873,7 @@ int buildin_sc_start (struct script_state *st)
type = conv_num (st, &(st->stack->stack_data[st->start + 2]));
tick = conv_num (st, &(st->stack->stack_data[st->start + 3]));
val1 = conv_num (st, &(st->stack->stack_data[st->start + 4]));
- if (st->end > st->start + 5) //�w�肵���L���������Ԉُ��ɂ���
+ if (st->end > st->start + 5) //指定したキャラを状態異常にする
bl = map_id2bl (conv_num
(st, &(st->stack->stack_data[st->start + 5])));
else
@@ -4886,7 +4886,7 @@ int buildin_sc_start (struct script_state *st)
}
/*==========================================
- * ���Ԉُ��ɂ�����(�m���w��)
+ * 状態異常にかかる(確率指定)
*------------------------------------------
*/
int buildin_sc_start2 (struct script_state *st)
@@ -4897,7 +4897,7 @@ int buildin_sc_start2 (struct script_state *st)
tick = conv_num (st, &(st->stack->stack_data[st->start + 3]));
val1 = conv_num (st, &(st->stack->stack_data[st->start + 4]));
per = conv_num (st, &(st->stack->stack_data[st->start + 5]));
- if (st->end > st->start + 6) //�w�肵���L���������Ԉُ��ɂ���
+ if (st->end > st->start + 6) //指定したキャラを状態異常にする
bl = map_id2bl (conv_num
(st, &(st->stack->stack_data[st->start + 6])));
else
@@ -4911,7 +4911,7 @@ int buildin_sc_start2 (struct script_state *st)
}
/*==========================================
- * ���Ԉُ킪����
+ * 状態異常が直る
*------------------------------------------
*/
int buildin_sc_end (struct script_state *st)
@@ -4945,7 +4945,7 @@ int buildin_sc_check (struct script_state *st)
}
/*==========================================
- * ���Ԉُ��ϐ����v�Z�����m�����Ԃ�
+ * 状態異常耐性を計算した確率を返す
*------------------------------------------
*/
int buildin_getscrate (struct script_state *st)
@@ -4956,7 +4956,7 @@ int buildin_getscrate (struct script_state *st)
type = conv_num (st, &(st->stack->stack_data[st->start + 2]));
rate = conv_num (st, &(st->stack->stack_data[st->start + 3]));
- if (st->end > st->start + 4) //�w�肵���L�����̑ϐ����v�Z����
+ if (st->end > st->start + 4) //指定したキャラの耐性を計算する
bl = map_id2bl (conv_num
(st, &(st->stack->stack_data[st->start + 6])));
else
@@ -5012,7 +5012,7 @@ int buildin_resetlvl (struct script_state *st)
}
/*==========================================
- * �X�e�[�^�X���Z�b�g
+ * ステータスリセット
*------------------------------------------
*/
int buildin_resetstatus (struct script_state *st)
@@ -5024,7 +5024,7 @@ int buildin_resetstatus (struct script_state *st)
}
/*==========================================
- * �X�L�����Z�b�g
+ * スキルリセット
*------------------------------------------
*/
int buildin_resetskill (struct script_state *st)
@@ -5058,7 +5058,7 @@ int buildin_changebase (struct script_state *st)
return 0;
// if(vclass==22) {
-// pc_unequipitem(sd,sd->equip_index[9],0); // �����O
+// pc_unequipitem(sd,sd->equip_index[9],0); // 装備外
// }
sd->view_class = vclass;
@@ -5067,7 +5067,7 @@ int buildin_changebase (struct script_state *st)
}
/*==========================================
- * ���ʕϊ�
+ * 性別変換
*------------------------------------------
*/
int buildin_changesex (struct script_state *st)
@@ -5095,7 +5095,7 @@ int buildin_changesex (struct script_state *st)
}
/*==========================================
- * npc�`���b�g�쐬
+ * npcチャット作成
*------------------------------------------
*/
int buildin_waitingroom (struct script_state *st)
@@ -5113,20 +5113,20 @@ int buildin_waitingroom (struct script_state *st)
get_val (st, data);
if (data->type == C_INT)
{
- // �VAthena�d�l(��Athena�d�l�ƌ݊�������)
+ // 新Athena仕様(旧Athena仕様と互換性あり)
ev = conv_str (st, &(st->stack->stack_data[st->start + 4]));
trigger = conv_num (st, &(st->stack->stack_data[st->start + 5]));
}
else
{
- // eathena�d�l
+ // eathena仕様
trigger = conv_num (st, &(st->stack->stack_data[st->start + 4]));
ev = conv_str (st, &(st->stack->stack_data[st->start + 5]));
}
}
else
{
- // ��Athena�d�l
+ // 旧Athena仕様
if (st->end > st->start + 4)
ev = conv_str (st, &(st->stack->stack_data[st->start + 4]));
}
@@ -5136,7 +5136,7 @@ int buildin_waitingroom (struct script_state *st)
}
/*==========================================
- * npc�`���b�g�폜
+ * npcチャット削除
*------------------------------------------
*/
int buildin_delwaitingroom (struct script_state *st)
@@ -5152,7 +5152,7 @@ int buildin_delwaitingroom (struct script_state *st)
}
/*==========================================
- * npc�`���b�g�S���R���o��
+ * npcチャット全員蹴り出す
*------------------------------------------
*/
int buildin_waitingroomkickall (struct script_state *st)
@@ -5174,7 +5174,7 @@ int buildin_waitingroomkickall (struct script_state *st)
}
/*==========================================
- * npc�`���b�g�C�x���g�L����
+ * npcチャットイベント有効化
*------------------------------------------
*/
int buildin_enablewaitingroomevent (struct script_state *st)
@@ -5196,7 +5196,7 @@ int buildin_enablewaitingroomevent (struct script_state *st)
}
/*==========================================
- * npc�`���b�g�C�x���g������
+ * npcチャットイベント無効化
*------------------------------------------
*/
int buildin_disablewaitingroomevent (struct script_state *st)
@@ -5218,7 +5218,7 @@ int buildin_disablewaitingroomevent (struct script_state *st)
}
/*==========================================
- * npc�`���b�g���ԏ���
+ * npcチャット状態所得
*------------------------------------------
*/
int buildin_getwaitingroomstate (struct script_state *st)
@@ -5276,7 +5276,7 @@ int buildin_getwaitingroomstate (struct script_state *st)
}
/*==========================================
- * �`���b�g�����o�[(�K���l��)���[�v
+ * チャットメンバー(規定人数)ワープ
*------------------------------------------
*/
int buildin_warpwaitingpc (struct script_state *st)
@@ -5300,7 +5300,7 @@ int buildin_warpwaitingpc (struct script_state *st)
for (i = 0; i < n; i++)
{
- struct map_session_data *sd = cd->usersd[0]; // ���X�g�擪��PC��X�ɁB
+ struct map_session_data *sd = cd->usersd[0]; // リスト先頭のPCを次々に。
mapreg_setreg (add_str ("$@warpwaitingpc") + (i << 24), sd->bl.id);
@@ -5308,7 +5308,7 @@ int buildin_warpwaitingpc (struct script_state *st)
pc_randomwarp (sd, 3);
else if (strcmp (str, "SavePoint") == 0)
{
- if (map[sd->bl.m].flag.noteleport) // �e���|�֎~
+ if (map[sd->bl.m].flag.noteleport) // テレポ禁止
return 0;
pc_setpos (sd, sd->status.save_point.map,
@@ -5322,7 +5322,7 @@ int buildin_warpwaitingpc (struct script_state *st)
}
/*==========================================
- * RID�̃A�^�b�`
+ * RIDのアタッチ
*------------------------------------------
*/
int buildin_attachrid (struct script_state *st)
@@ -5333,7 +5333,7 @@ int buildin_attachrid (struct script_state *st)
}
/*==========================================
- * RID�̃f�^�b�`
+ * RIDのデタッチ
*------------------------------------------
*/
int buildin_detachrid (struct script_state *st)
@@ -5343,7 +5343,7 @@ int buildin_detachrid (struct script_state *st)
}
/*==========================================
- * ���݃`�F�b�N
+ * 存在チェック
*------------------------------------------
*/
int buildin_isloggedin (struct script_state *st)
@@ -5550,7 +5550,7 @@ int buildin_pvpon (struct script_state *st)
return 0;
for (i = 0; i < fd_max; i++)
- { //�l�������[�v
+ { //人数分ループ
if (session[i] && (pl_sd = session[i]->session_data)
&& pl_sd->state.auth)
{
@@ -5587,7 +5587,7 @@ int buildin_pvpoff (struct script_state *st)
return 0;
for (i = 0; i < fd_max; i++)
- { //�l�������[�v
+ { //人数分ループ
if (session[i] && (pl_sd = session[i]->session_data)
&& pl_sd->state.auth)
{
@@ -5641,7 +5641,7 @@ int buildin_gvgoff (struct script_state *st)
}
/*==========================================
- * NPC�G���[�V����
+ * NPCエモーション
*------------------------------------------
*/
@@ -6010,7 +6010,7 @@ int buildin_setcastledata (struct script_state *st)
}
/* =====================================================================
- * �M���h�������v������
+ * ギルド情報を要求する
* ---------------------------------------------------------------------
*/
int buildin_requestguildinfo (struct script_state *st)
@@ -6027,7 +6027,7 @@ int buildin_requestguildinfo (struct script_state *st)
}
/* =====================================================================
- * �J�[�h�̐��𓾂�
+ * カードの数を得る
* ---------------------------------------------------------------------
*/
int buildin_getequipcardcnt (struct script_state *st)
@@ -6040,7 +6040,7 @@ int buildin_getequipcardcnt (struct script_state *st)
sd = script_rid2sd (st);
i = pc_checkequip (sd, equip[num - 1]);
if (sd->status.inventory[i].card[0] == 0x00ff)
- { // ���������̓J�[�h�Ȃ�
+ { // 製造武器はカードなし
push_val (st->stack, C_INT, 0);
return 0;
}
@@ -6060,7 +6060,7 @@ int buildin_getequipcardcnt (struct script_state *st)
}
/* ================================================================
- * �J�[�h�����O������
+ * カード取り外し成功
* ----------------------------------------------------------------
*/
int buildin_successremovecards (struct script_state *st)
@@ -6074,7 +6074,7 @@ int buildin_successremovecards (struct script_state *st)
sd = script_rid2sd (st);
i = pc_checkequip (sd, equip[num - 1]);
if (sd->status.inventory[i].card[0] == 0x00ff)
- { // ���������͏������Ȃ�
+ { // 製造武器は処理しない
return 0;
}
do
@@ -6092,7 +6092,7 @@ int buildin_successremovecards (struct script_state *st)
0, item_tmp.card[3] = 0;
if ((flag = pc_additem (sd, &item_tmp, 1)))
- { // ���ĂȂ��Ȃ��h���b�v
+ { // 持てないならドロップ
clif_additem (sd, 0, 0, flag);
map_addflooritem (&item_tmp, 1, sd->bl.m, sd->bl.x, sd->bl.y,
NULL, NULL, NULL, 0);
@@ -6102,7 +6102,7 @@ int buildin_successremovecards (struct script_state *st)
while (c--);
if (cardflag == 1)
- { // �J�[�h�����菜�����A�C�e������
+ { // カードを取り除いたアイテム所得
flag = 0;
item_tmp.id = 0, item_tmp.nameid = sd->status.inventory[i].nameid;
item_tmp.equip = 0, item_tmp.identify = 1, item_tmp.refine =
@@ -6112,7 +6112,7 @@ int buildin_successremovecards (struct script_state *st)
0, item_tmp.card[3] = 0;
pc_delitem (sd, i, 1, 0);
if ((flag = pc_additem (sd, &item_tmp, 1)))
- { // ���ĂȂ��Ȃ��h���b�v
+ { // もてないならドロップ
clif_additem (sd, 0, 0, flag);
map_addflooritem (&item_tmp, 1, sd->bl.m, sd->bl.x, sd->bl.y,
NULL, NULL, NULL, 0);
@@ -6124,8 +6124,8 @@ int buildin_successremovecards (struct script_state *st)
}
/* ================================================================
- * �J�[�h�����O�����s slot,type
- * type=0: ���������A1:�J�[�h�����A2:������A3:��������
+ * カード取り外し失敗 slot,type
+ * type=0: 両方損失、1:カード損失、2:武具損失、3:損失無し
* ----------------------------------------------------------------
*/
int buildin_failedremovecards (struct script_state *st)
@@ -6140,7 +6140,7 @@ int buildin_failedremovecards (struct script_state *st)
sd = script_rid2sd (st);
i = pc_checkequip (sd, equip[num - 1]);
if (sd->status.inventory[i].card[0] == 0x00ff)
- { // ���������͏������Ȃ�
+ { // 製造武器は処理しない
return 0;
}
do
@@ -6152,7 +6152,7 @@ int buildin_failedremovecards (struct script_state *st)
cardflag = 1;
if (typefail == 2)
- { // �����̂ݑ����Ȃ��A�J�[�h�͎󂯎��点��
+ { // 武具のみ損失なら、カードは受け取らせる
item_tmp.id = 0, item_tmp.nameid =
sd->status.inventory[i].card[c - 1];
item_tmp.equip = 0, item_tmp.identify = 1, item_tmp.refine =
@@ -6175,13 +6175,13 @@ int buildin_failedremovecards (struct script_state *st)
{
if (typefail == 0 || typefail == 2)
- { // �����
+ { // 武具損失
pc_delitem (sd, i, 1, 0);
clif_misceffect (&sd->bl, 2);
return 0;
}
if (typefail == 1)
- { // �J�[�h�̂ݑ����i�������Ԃ��j
+ { // カードのみ損失(武具を返す)
flag = 0;
item_tmp.id = 0, item_tmp.nameid = sd->status.inventory[i].nameid;
item_tmp.equip = 0, item_tmp.identify = 1, item_tmp.refine =
@@ -6429,7 +6429,7 @@ int buildin_guardianinfo (struct script_state *st)
}
/*==========================================
- * ID����Item��
+ * IDからItem名
*------------------------------------------
*/
int buildin_getitemname (struct script_state *st)
@@ -6501,7 +6501,7 @@ int buildin_getpartnerid (struct script_state *st)
}
/*==========================================
- * PC�̏����i�����ǂݎ���
+ * PCの所持品情報読み取り
*------------------------------------------
*/
int buildin_getinventorylist (struct script_state *st)
@@ -6707,9 +6707,9 @@ int buildin_clearitem (struct script_state *st)
}
/*==========================================
- * NPC�N���X�`�F���W
- * class�͕ς��肽��class
- * type�͒ʏ�0�Ȃ̂��ȁH
+ * NPCクラスチェンジ
+ * classは変わりたいclass
+ * typeは通常0なのかな?
*------------------------------------------
*/
int buildin_classchange (struct script_state *st)
@@ -6781,7 +6781,7 @@ int buildin_misceffect (struct script_state *st)
}
/*==========================================
- * �T�E���h�G�t�F�N�g
+ * サウンドエフェクト
*------------------------------------------
*/
int buildin_soundeffect (struct script_state *st)
@@ -7250,10 +7250,10 @@ int buildin_fakenpcname (struct script_state *st)
}
//
-// ��s��main
+// 実行部main
//
/*==========================================
- * �R�}���h�̓ǂݎ���
+ * コマンドの読み取り
*------------------------------------------
*/
static int unget_com_data = -1;
@@ -7281,7 +7281,7 @@ int get_com (unsigned char *script, int *pos)
}
/*==========================================
- * �R�}���h�̃v�b�V���o�b�N
+ * コマンドのプッシュバック
*------------------------------------------
*/
void unget_com (int c)
@@ -7295,7 +7295,7 @@ void unget_com (int c)
}
/*==========================================
- * ���l�̏���
+ * 数値の所得
*------------------------------------------
*/
int get_num (unsigned char *script, int *pos)
@@ -7312,7 +7312,7 @@ int get_num (unsigned char *script, int *pos)
}
/*==========================================
- * �X�^�b�N�����l�������o��
+ * スタックから値を取り出す
*------------------------------------------
*/
int pop_val (struct script_state *st)
@@ -7329,7 +7329,7 @@ int pop_val (struct script_state *st)
#define isstr(c) ((c).type==C_STR || (c).type==C_CONSTSTR)
/*==========================================
- * ��Z���Z�q
+ * 加算演算子
*------------------------------------------
*/
void op_add (struct script_state *st)
@@ -7350,7 +7350,7 @@ void op_add (struct script_state *st)
st->stack->stack_data[st->stack->sp].u.num;
}
else
- { // ss�̗\��
+ { // ssの予定
char *buf;
buf =
(char *)
@@ -7369,7 +7369,7 @@ void op_add (struct script_state *st)
}
/*==========================================
- * �񍀉��Z�q(������)
+ * 二項演算子(文字列)
*------------------------------------------
*/
void op_2str (struct script_state *st, int op, int sp1, int sp2)
@@ -7412,7 +7412,7 @@ void op_2str (struct script_state *st, int op, int sp1, int sp2)
}
/*==========================================
- * �񍀉��Z�q(���l)
+ * 二項演算子(数値)
*------------------------------------------
*/
void op_2num (struct script_state *st, int op, int i1, int i2)
@@ -7475,7 +7475,7 @@ void op_2num (struct script_state *st, int op, int i1, int i2)
}
/*==========================================
- * �񍀉��Z�q
+ * 二項演算子
*------------------------------------------
*/
void op_2 (struct script_state *st, int op)
@@ -7510,7 +7510,7 @@ void op_2 (struct script_state *st, int op)
}
/*==========================================
- * �P�����Z�q
+ * 単項演算子
*------------------------------------------
*/
void op_1num (struct script_state *st, int op)
@@ -7533,7 +7533,7 @@ void op_1num (struct script_state *st, int op)
}
/*==========================================
- * �֐��̎�s
+ * 関数の実行
*------------------------------------------
*/
int run_func (struct script_state *st)
@@ -7612,11 +7612,11 @@ int run_func (struct script_state *st)
if (st->state == RETFUNC)
{
- // ���[�U�[���`�֐������̕��A
+ // ユーザー定義関数からの復帰
int olddefsp = st->defsp;
int i;
- pop_stack (st->stack, st->defsp, start_sp); // ���A�Ɏז��ȃX�^�b�N�폜
+ pop_stack (st->stack, st->defsp, start_sp); // 復帰に邪魔なスタック削除
if (st->defsp < 4
|| st->stack->stack_data[st->defsp - 1].type != C_RETINFO)
{
@@ -7625,12 +7625,12 @@ int run_func (struct script_state *st)
st->state = END;
return 0;
}
- i = conv_num (st, &(st->stack->stack_data[st->defsp - 4])); // �����̐�����
- st->pos = conv_num (st, &(st->stack->stack_data[st->defsp - 1])); // �X�N���v�g�ʒu�̕���
- st->script = (char *) conv_num (st, &(st->stack->stack_data[st->defsp - 2])); // �X�N���v�g�𕜌�
- st->defsp = conv_num (st, &(st->stack->stack_data[st->defsp - 3])); // ��X�^�b�N�|�C���^�𕜌�
+ i = conv_num (st, &(st->stack->stack_data[st->defsp - 4])); // 引数の数所得
+ st->pos = conv_num (st, &(st->stack->stack_data[st->defsp - 1])); // スクリプト位置の復元
+ st->script = (char *) conv_num (st, &(st->stack->stack_data[st->defsp - 2])); // スクリプトを復元
+ st->defsp = conv_num (st, &(st->stack->stack_data[st->defsp - 3])); // 基準スタックポインタを復元
- pop_stack (st->stack, olddefsp - 4 - i, olddefsp); // �v���Ȃ��Ȃ���X�^�b�N(�����ƕ��A�p�f�[�^)�폜
+ pop_stack (st->stack, olddefsp - 4 - i, olddefsp); // 要らなくなったスタック(引数と復帰用データ)削除
st->state = GOTO;
}
@@ -7639,7 +7639,7 @@ int run_func (struct script_state *st)
}
/*==========================================
- * �X�N���v�g�̎�s���C������
+ * スクリプトの実行メイン部分
*------------------------------------------
*/
int run_script_main (unsigned char *script, int pos, int rid, int oid,
@@ -7765,7 +7765,7 @@ int run_script_main (unsigned char *script, int pos, int rid, int oid,
if (st->state != END)
{
- // �ĊJ���邽�߂ɃX�^�b�N�������ۑ�
+ // 再開するためにスタック情報を保存
struct map_session_data *sd = map_id2sd (st->rid);
if (sd /* && sd->npc_stackbuf==NULL */ )
{
@@ -7787,7 +7787,7 @@ int run_script_main (unsigned char *script, int pos, int rid, int oid,
}
/*==========================================
- * �X�N���v�g�̎�s
+ * スクリプトの実行
*------------------------------------------
*/
int run_script (unsigned char *script, int pos, int rid, int oid)
@@ -7808,7 +7808,7 @@ int run_script_l (unsigned char *script, int pos, int rid, int oid,
if (sd && sd->npc_stackbuf && sd->npc_scriptroot == (char *) rootscript)
{
- // �O���̃X�^�b�N�𕜋A
+ // 前回のスタックを復帰
script = sd->npc_script;
stack.sp = sd->npc_stack;
stack.sp_max = sd->npc_stackmax;
@@ -7822,7 +7822,7 @@ int run_script_l (unsigned char *script, int pos, int rid, int oid,
}
else
{
- // �X�^�b�N������
+ // スタック初期化
stack.sp = 0;
stack.sp_max = 64;
stack.stack_data =
@@ -7848,7 +7848,7 @@ int run_script_l (unsigned char *script, int pos, int rid, int oid,
}
/*==========================================
- * �}�b�v�ϐ��̕ύX
+ * マップ変数の変更
*------------------------------------------
*/
int mapreg_setreg (int num, int val)
@@ -7863,7 +7863,7 @@ int mapreg_setreg (int num, int val)
}
/*==========================================
- * �������^�}�b�v�ϐ��̕ύX
+ * 文字列型マップ変数の変更
*------------------------------------------
*/
int mapreg_setregstr (int num, const char *str)
@@ -7887,7 +7887,7 @@ int mapreg_setregstr (int num, const char *str)
}
/*==========================================
- * �i���I�}�b�v�ϐ��̓ǂݍ���
+ * 永続的マップ変数の読み込み
*------------------------------------------
*/
static int script_load_mapreg ()
@@ -7934,7 +7934,7 @@ static int script_load_mapreg ()
}
/*==========================================
- * �i���I�}�b�v�ϐ��̏�������
+ * 永続的マップ変数の書き込み
*------------------------------------------
*/
static int script_save_mapreg_intsub (void *key, void *data, va_list ap)
@@ -8057,7 +8057,7 @@ int script_config_read (char *cfgName)
}
/*==========================================
- * �I��
+ * 終了
*------------------------------------------
*/
static int mapreg_db_final (void *key, void *data, va_list ap)
@@ -8108,7 +8108,7 @@ int do_final_script ()
}
/*==========================================
- * ������
+ * 初期化
*------------------------------------------
*/
int do_init_script ()