From 4ab410e64038cafccd31e9cd70848e7daa0b8684 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Thu, 3 Mar 2011 23:11:03 -0800 Subject: Recovery and conversion of Japanese comments that had been lost as "invalid UTF-8" --- src/map/clif.c | 607 ++++++++++++++++++------------------- src/map/npc.c | 162 +++++----- src/map/pc.c | 898 ++++++++++++++++++++++++++++--------------------------- src/map/script.c | 476 ++++++++++++++--------------- 4 files changed, 1074 insertions(+), 1069 deletions(-) (limited to 'src') 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 .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 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;istatus.job_level && iparamb[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 () -- cgit v1.2.3-70-g09d2