2017/1/15添加日语注释
添加日语注释
This commit is contained in:
parent
1cb310b61a
commit
5adca5545f
@ -25,39 +25,40 @@
|
||||
これ以下にすること*/
|
||||
#define ADDRESSBOOK_FIXEDMESSAGE_MAXLEN 128
|
||||
|
||||
/* 愤坌及蟆卞簿手中卅井匀凶及匹}失玉伊旦皮永弁卞馨笛匹五卅井匀凶
|
||||
午五及裔烂丢永本□斥 */
|
||||
/* 自分の前に誰もいなかったので、アドレスブックに追加できなかった
|
||||
ときの固定メッセージ */
|
||||
|
||||
#define ADDRESSBOOK_CANTADD "那里没有任何人。"
|
||||
#define ADDRESSBOOK_CANTADD2 "无法交换名片。"
|
||||
|
||||
/* 簿井毛笛尹月仇午互匹五凶午五}笛尹方丹午仄凶谛卞霜耨允月丢永本□斥*/
|
||||
/* 誰かを加えることができたとき、加えようとした人に送信するメッセージ*/
|
||||
#define ADDRESSBOOK_ADDED "和%s交换名片 。"
|
||||
|
||||
/* 簿井卞涌毛创尹日木凶日 */
|
||||
/* 誰かに顔を覚えられたら */
|
||||
#define ADDRESSBOOK_BEINGADDED "和%s交换名片 。"
|
||||
|
||||
/* 巨件玄伉互中匀天中分匀凶午五及丢永本□斥 */
|
||||
/* エントリがいっぱいだったときのメッセージ */
|
||||
#define ADDRESSBOOK_MYTABLEFULL "名片匣已满。"
|
||||
|
||||
/* 锹澎及巨件玄伉互中匀天中分匀凶午五及丢永本□斥 */
|
||||
/* 相手のエントリがいっぱいだったときのメッセージ */
|
||||
#define ADDRESSBOOK_HISTABLEFULL "对方的名片匣已满。"
|
||||
|
||||
|
||||
/* 丢永本□斥毛霜耨允月及卞岳 仄凶午五 */
|
||||
/* メッセージを送信するのに成功したとき */
|
||||
#define ADDRESSBOOK_SENT "送信给%s 。"
|
||||
|
||||
/* 丢永本□斥毛霜耨允月及卞撩 仄凶午五 */
|
||||
/* メッセージを送信するのに失敗したとき */
|
||||
#define ADDRESSBOOK_UNSENT "无法送信给%s 。"
|
||||
|
||||
/* 簿井毛创尹方丹午仄凶互}湃卞创尹化中凶 */
|
||||
/* 誰かを覚えようとしたが、既に覚えていた */
|
||||
#define ADDRESSBOOK_ALREADYADDED "已经和%s交换过名片了。 "
|
||||
|
||||
/* 铜毛域 读卞 丹橇谪 */
|
||||
/* 名刺を一方的に貰う状態 */
|
||||
#define ADDRESSBOOK_GIVEADDRESS "从%s得到名片。"
|
||||
|
||||
/* 铜毛域 读卞丐仆月橇谪 */
|
||||
/* 名刺を一方的にあげる状態 */
|
||||
#define ADDRESSBOOK_TAKEADDRESS1 "给%s自己的名片。"
|
||||
/* 铜毛域 读卞丐仆月橇谪 */
|
||||
/* 名刺を一方的にあげる状態 */
|
||||
#define ADDRESSBOOK_TAKEADDRESS2 "因为%s想要名片,所以将名片给他了。"
|
||||
|
||||
#define ADDRESSBOOK_RETURNED1 \
|
||||
@ -70,7 +71,7 @@
|
||||
"%s不在这个世界里,所以无法寄送信件给他。"
|
||||
|
||||
|
||||
/* static匹银丹迕[ 五中袄手*/
|
||||
/* staticで使う用。大きい値も*/
|
||||
char ADDRESSBOOK_returnstring[25*128];
|
||||
|
||||
|
||||
@ -80,20 +81,20 @@ static BOOL ADDRESSBOOK_makeEntryFromCharaindex( int charaindex,
|
||||
ADDRESSBOOK_entry* ae);
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 失玉伊旦皮永弁及丢永本□斥毛霜耨允月
|
||||
* MSG皿夫玄戊伙井日勾井歹木月[
|
||||
* アドレスブックのメッセージを送信する
|
||||
* MSGプロトコルからつかわれる。
|
||||
*
|
||||
* 支月仇午反}connection井日cdkey匹腹绸仄化}平乓仿 手
|
||||
* 甲永玄仄凶日} MSG_send允月[公及午五卞}愤坌及树 互
|
||||
* 锹澎及伉旦玄卞卅井匀凶日窒手仄卅中午中丹仇午分[
|
||||
* 娄醒
|
||||
* cindex int 平乓仿及index
|
||||
* aindex int 失玉伊旦皮永弁及index
|
||||
* text char* 霜耨允月 侬
|
||||
* color int 缙
|
||||
* 忒曰袄
|
||||
* 左件仿奶件及平乓仿卞丢永本□斥毛霜耨仄凶日TRUE ,
|
||||
* 左白仿奶件卞瓒 仄凶日FALSE毛井尹允
|
||||
* やることは、connectionからcdkeyで検索して、キャラ名も
|
||||
* ヒットしたら、 MSG_sendする。そのときに、自分の情報が
|
||||
* 相手のリストになかったら何もしないということだ。
|
||||
* 引数
|
||||
* cindex int キャラのindex
|
||||
* aindex int アドレスブックのindex
|
||||
* text char* 送信する文字列
|
||||
* color int 色
|
||||
* 返り値
|
||||
* オンラインのキャラにメッセージを送信したらTRUE ,
|
||||
* オフラインに登録したらFALSEをかえす
|
||||
------------------------------------------------------------*/
|
||||
BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
{
|
||||
@ -124,16 +125,16 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
tm1.tm_mon +1, tm1.tm_mday, tm1.tm_hour, tm1.tm_min,
|
||||
text);
|
||||
|
||||
/* 扔□田□ 卞中月凛 */
|
||||
/* 同サーバー内にいる時 */
|
||||
for( i = 0 ; i < playernum ; i ++){
|
||||
if( CHAR_CHECKINDEX( i) &&
|
||||
strcmp( CHAR_getChar( i, CHAR_CDKEY), ae->cdkey) == 0 &&
|
||||
strcmp( CHAR_getChar( i, CHAR_NAME), ae->charname) == 0 )
|
||||
{
|
||||
/*
|
||||
* CDKEY 手 平乓仿 手域谯仄凶[公及平乓仿弁正及
|
||||
* 失玉伊旦皮永弁卞愤坌及树 互丐月井譬屯化}
|
||||
* 绣箕仄凶日}MSG允月[
|
||||
* CDKEY も キャラ名も一致した。そのキャラクタの
|
||||
* アドレスブックに自分の情報があるか調べて、
|
||||
* 存在したら、MSGする。
|
||||
*/
|
||||
int index_to_my_info =
|
||||
ADDRESSBOOK_getIndexInAddressbook( i ,
|
||||
@ -142,8 +143,8 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
int fd;
|
||||
if( index_to_my_info < 0 ){
|
||||
/*
|
||||
* 锹澎互愤坌毛坫壅仄化仄引匀化月[
|
||||
* 域杀 谛卞]丢□伙互 凶午分仃骚襞允月[
|
||||
* 相手が自分を抹消してしまってる。
|
||||
* 一応両人に,メールが来たとだけ通知する。
|
||||
*/
|
||||
//snprintf( tmpmsg, sizeof( tmpmsg),
|
||||
// ADDRESSBOOK_RETURNED1,
|
||||
@ -158,7 +159,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
CHAR_getChar( i, CHAR_NAME),
|
||||
CHAR_getChar( i, CHAR_NAME));
|
||||
|
||||
/* 霜曰潜卞手丢永本□斥 */
|
||||
/* 送り主にもメッセージ */
|
||||
CHAR_talkToCli( cindex, -1,
|
||||
tmpmsg , CHAR_COLORYELLOW );
|
||||
return FALSE;
|
||||
@ -167,7 +168,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
fd = getfdFromCharaIndex( i);
|
||||
if( fd != -1 ) {
|
||||
lssproto_MSG_send( fd , index_to_my_info , textbuffer , color );
|
||||
/* 夫弘午曰 */
|
||||
/* ログとり */
|
||||
printl( LOG_TALK, "CD=%s\tNM=%s\tT=%s" , mycd, mycharaname, textbuffer );
|
||||
|
||||
}
|
||||
@ -190,7 +191,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
/* 苇勾井日卅井匀凶凛反]失市它件玄扔□田□卞霜月 */
|
||||
/* 見つからなかった時は,アカウントサーバーに送る */
|
||||
saacproto_Message_send( acfd, mycd, mycharaname,
|
||||
ae->cdkey, ae->charname, textbuffer, color);
|
||||
CHAR_setInt( cindex, CHAR_SENDMAILCOUNT,
|
||||
@ -203,10 +204,10 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color )
|
||||
return FALSE;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 失玉伊旦皮永弁及丢永本□斥毛霜耨允月
|
||||
* saac 井日msg 毛熬仃午匀化弁仿奶失件玄卞禾旦玄允月[
|
||||
* アドレスブックのメッセージを送信する
|
||||
* saac からmsg を受けとってクライアントにポストする。
|
||||
*
|
||||
* 忒曰袄
|
||||
* 返り値
|
||||
------------------------------------------------------------*/
|
||||
BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname,
|
||||
char *tocdkey, char *tocharaname,
|
||||
@ -218,7 +219,7 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname,
|
||||
char tmpmsg[256];
|
||||
int playernum = CHAR_getPlayerMaxNum();
|
||||
|
||||
/* 扔□田□ 毛腹绸允月 */
|
||||
/* サーバー内を検索する */
|
||||
for( i = 0 ; i < playernum ; i ++){
|
||||
if( CHAR_CHECKINDEX( i) &&
|
||||
strcmp( CHAR_getChar( i, CHAR_CDKEY), tocdkey) == 0 &&
|
||||
@ -226,16 +227,17 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname,
|
||||
{
|
||||
int index_to_my_info;
|
||||
/*
|
||||
* CDKEY 手 平乓仿 手域谯仄凶[公及平乓仿弁正及
|
||||
* 失玉伊旦皮永弁卞愤坌及树 互丐月井譬屯化}
|
||||
* 绣箕仄凶日}MSG允月[
|
||||
* CDKEY も キャラ名も一致した。そのキャラクタの
|
||||
* アドレスブックに自分の情報があるか調べて、
|
||||
* 存在したら、MSGする。
|
||||
*/
|
||||
|
||||
|
||||
/* 扑旦 丞丢永本□斥互窖匀化五凶 */
|
||||
/* システムメッセージが帰ってきた */
|
||||
if( strcmp( fromcdkey, ADDRESSBOOK_SYSTEM) == 0 &&
|
||||
strcmp( fromcharaname, ADDRESSBOOK_SYSTEM ) == 0 )
|
||||
{
|
||||
/* 扑旦 丞丢永本□斥毛龚仁 */
|
||||
/* システムメッセージを吐く */
|
||||
CHAR_talkToCli( i, -1, text , color );
|
||||
break;
|
||||
}
|
||||
@ -245,13 +247,13 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname,
|
||||
fromcdkey, fromcharaname);
|
||||
if( index_to_my_info < 0 ){
|
||||
/*
|
||||
* 锹澎互愤坌毛坫壅仄化仄引匀化月[
|
||||
* 相手が自分を抹消してしまってる。
|
||||
*/
|
||||
|
||||
snprintf( tmpmsg, sizeof( tmpmsg), ADDRESSBOOK_RETURNED2,
|
||||
tocharaname, tocharaname);
|
||||
|
||||
/* 霜曰潜卞手丢永本□斥 */
|
||||
/* 送り主にもメッセージ */
|
||||
saacproto_Message_send( acfd, ADDRESSBOOK_SYSTEM , ADDRESSBOOK_SYSTEM,
|
||||
fromcdkey, fromcharaname, tmpmsg, CHAR_COLORYELLOW);
|
||||
|
||||
@ -260,7 +262,7 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname,
|
||||
int fd = getfdFromCharaIndex( i);
|
||||
if( fd != -1 ) {
|
||||
lssproto_MSG_send( fd , index_to_my_info , text , color );
|
||||
/* 夫弘午曰 */
|
||||
/* ログとり */
|
||||
printl( LOG_TALK, "CD=%s\tNM=%s\tT=%s" , fromcdkey,
|
||||
fromcharaname, text );
|
||||
}
|
||||
@ -553,7 +555,7 @@ BOOL ADDRESSBOOK_sendAddressbookTable( int cindex )
|
||||
char charname_escaped[CHARNAMELEN*2];
|
||||
makeEscapeString( ae->charname, charname_escaped ,
|
||||
sizeof(charname_escaped ));
|
||||
/* 银迕白仿弘| 蟆|伊矛伙|仿奶白|白仿弘 */
|
||||
/* 使用フラグ|名前|レベル|ライフ|フラグ */
|
||||
snprintf( tmp , sizeof( tmp ),
|
||||
"%d|%s|%d|%d|%d|%d|%d|0|" ,
|
||||
ae->use,
|
||||
@ -568,7 +570,7 @@ BOOL ADDRESSBOOK_sendAddressbookTable( int cindex )
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
/*银匀化卅中犯□正手冲徇及心匹霜月 */
|
||||
/*使ってないデータも縦棒のみで送る */
|
||||
char tmp[32];
|
||||
snprintf( tmp , sizeof( tmp ), "||||||||" );
|
||||
strcpysafe ( ADDRESSBOOK_returnstring + stringlen ,
|
||||
@ -642,12 +644,12 @@ BOOL ADDRESSBOOK_sendAddressbookTableOne( int cindex, int num )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 夫午勾及失玉伊旦皮永弁巨件玄伉毛} 侬 卞卅云允[
|
||||
* 仇木反平乓仿忡绣迕卅及匹弁仿奶失件玄卞霜耨允月方曰手恳割
|
||||
* 卅手及匹丐月 邰互丐月[
|
||||
* 娄醒
|
||||
* a ADDRESSBOOK_entry* 侬 卞仄凶中厌瞻 尺及禾奶件正
|
||||
* 忒曰袄
|
||||
* ひとつのアドレスブックエントリを、文字列になおす。
|
||||
* これはキャラ保存用なのでクライアントに送信するよりも正確
|
||||
* なものである必要がある。
|
||||
* 引数
|
||||
* a ADDRESSBOOK_entry* 文字列にしたい構造体へのポインタ
|
||||
* 返り値
|
||||
* char *
|
||||
------------------------------------------------------------*/
|
||||
char *ADDRESSBOOK_makeAddressbookString( ADDRESSBOOK_entry *a )
|
||||
@ -655,7 +657,7 @@ char *ADDRESSBOOK_makeAddressbookString( ADDRESSBOOK_entry *a )
|
||||
char work1[256], work2[256];
|
||||
|
||||
if( a->use == 0 ){
|
||||
/* 坞巨件玄伉分匀凶日坞 侬 */
|
||||
/* 空エントリだったら空文字列 */
|
||||
ADDRESSBOOK_returnstring[0] = '\0';
|
||||
return ADDRESSBOOK_returnstring;
|
||||
}
|
||||
@ -672,13 +674,13 @@ char *ADDRESSBOOK_makeAddressbookString( ADDRESSBOOK_entry *a )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 侬 祭今木化中月失玉伊旦皮永弁巨件玄伉毛}厌瞻 卞卅云允[
|
||||
* 仇及瑛绊厌瞻 及use动陆及树 反敦僬卞卅月[
|
||||
* 娄醒
|
||||
* in char* 侬
|
||||
* a ADDRESSBOOK_entry* 犯□正毛璋户月赭
|
||||
* 忒曰袄
|
||||
* 勾友卞TRUE
|
||||
* 文字列化されているアドレスブックエントリを、構造体になおす。
|
||||
* この結果構造体のuse以外の情報は完璧になる。
|
||||
* 引数
|
||||
* in char* 文字列
|
||||
* a ADDRESSBOOK_entry* データを収める所
|
||||
* 返り値
|
||||
* つねにTRUE
|
||||
------------------------------------------------------------*/
|
||||
BOOL ADDRESSBOOK_makeAddressbookEntry( char *in , ADDRESSBOOK_entry *a )
|
||||
{
|
||||
|
563
char/char.c
563
char/char.c
File diff suppressed because it is too large
Load Diff
@ -942,7 +942,7 @@ static char* CHAR_setintdata[CHAR_DATAINTNUM]={
|
||||
"fl", /* CHAR_FLOOR */
|
||||
"x", /* CHAR_X */
|
||||
"y", /* CHAR_Y */
|
||||
"dir", /* CHAR_DIR 12凛毛0卞凛煌璃曰卞 */
|
||||
"dir", /* CHAR_DIR 12時を0に時計周りに */
|
||||
"lv", /* CHAR_LV */
|
||||
"gld", /* CHAR_GOLD */
|
||||
|
||||
@ -957,10 +957,10 @@ static char* CHAR_setintdata[CHAR_DATAINTNUM]={
|
||||
|
||||
"chr", /* CHAR_CHARM */
|
||||
"luc", /* CHAR_LUCK */
|
||||
"aea", /* 哗箪岭 */
|
||||
"awa", /* 箪岭 */
|
||||
"afi", /* 绍箪岭 */
|
||||
"awi", /* 氘箪岭 */
|
||||
"aea", /* 地属性 */
|
||||
"awa", /* 水属性 */
|
||||
"afi", /* 火属性 */
|
||||
"awi", /* 風属性 */
|
||||
|
||||
"slt", /* CHAR_SLOT */
|
||||
"cr", /* CHAR_CRITIAL */
|
||||
@ -1623,7 +1623,7 @@ INLINE BOOL _CHAR_setFlg( char *file, int line, int index , CHAR_DATACHAR elemen
|
||||
elementnum = element / (sizeof( char )*8);
|
||||
bitnum = element % (sizeof( char )*8);
|
||||
|
||||
/* 樯及袄毛转 */
|
||||
/* 昔の値を退避 */
|
||||
buf = CHAR_chara[index].flg[elementnum]
|
||||
& CHAR_flgbitmaskpattern[bitnum];
|
||||
|
||||
|
140
char/char_data.c
140
char/char_data.c
@ -47,73 +47,73 @@ typedef struct tagdefaultCharcterGet
|
||||
static defaultCharacterGet CHAR_defaultCharacterGet[]=
|
||||
{
|
||||
/* CHAR_DEFAULTPLAYER */
|
||||
//阂间裆ㄠ
|
||||
//子供男1
|
||||
{SPR_001em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDBOY},
|
||||
{SPR_002em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDBOY},
|
||||
{SPR_003em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDBOY},
|
||||
{SPR_004em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDBOY},
|
||||
|
||||
//剂 ㄠ
|
||||
//少年1
|
||||
{SPR_011em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_012em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_013em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_014em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
|
||||
//剂 ㄡ
|
||||
//少年2
|
||||
{SPR_021em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_022em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_023em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_024em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
|
||||
//剂 ㄢ
|
||||
//少年3
|
||||
{SPR_031em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_032em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_033em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
{SPR_034em,&player,&lvplayer00,CHAR_IMAGETYPE_BOY},
|
||||
|
||||
//敛 ㄠ
|
||||
//青年1
|
||||
{SPR_041em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
{SPR_042em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
{SPR_043em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
{SPR_044em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
|
||||
//敛 ㄡ
|
||||
//青年2
|
||||
{SPR_051em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
{SPR_052em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
{SPR_053em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
{SPR_054em,&player,&lvplayer00,CHAR_IMAGETYPE_MAN},
|
||||
|
||||
//阂间辉ㄠ
|
||||
//子供女1
|
||||
{SPR_061em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDGIRL},
|
||||
{SPR_062em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDGIRL},
|
||||
{SPR_063em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDGIRL},
|
||||
{SPR_064em,&player,&lvplayer00,CHAR_IMAGETYPE_CHILDGIRL},
|
||||
|
||||
//剂辉ㄠ
|
||||
//少女1
|
||||
{SPR_071em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_072em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_073em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_074em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
|
||||
//剂辉ㄡ
|
||||
//少女2
|
||||
{SPR_081em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_082em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_083em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_084em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
|
||||
//剂辉ㄢ
|
||||
//少女3
|
||||
{SPR_091em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_092em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_093em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
{SPR_094em,&player,&lvplayer00,CHAR_IMAGETYPE_GIRL},
|
||||
|
||||
//辉岭ㄠ
|
||||
//女性1
|
||||
{SPR_101em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
{SPR_102em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
{SPR_103em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
{SPR_104em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
|
||||
//辉岭ㄡ
|
||||
//女性2
|
||||
{SPR_111em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
{SPR_112em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
{SPR_113em,&player,&lvplayer00,CHAR_IMAGETYPE_WOMAN},
|
||||
@ -207,11 +207,11 @@ BOOL CHAR_checkPlayerImageNumber( int imagenumber)
|
||||
else return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 涌 飓 寞及民尼永弁
|
||||
* 顔画像番号のチェック
|
||||
*
|
||||
* 涌 飓 寞反动票及白巧□穴永玄匹瑁引匀化中月
|
||||
* number = 窒谛 井
|
||||
* CG_CHR_MAKE_FACE + (number*100) + ( 缙 number * 25) + ( 寞 * 5 ) + 轼 寞
|
||||
* 顔画像番号は以下のフォーマットで決まっている
|
||||
* number = 何人目か
|
||||
* CG_CHR_MAKE_FACE + (number*100) + ((色)number * 25) + ( 目番号 * 5 ) + 口番号
|
||||
*
|
||||
------------------------------------------------------------*/
|
||||
BOOL CHAR_checkFaceImageNumber( int imagenumber, int faceimagenumber)
|
||||
@ -224,9 +224,9 @@ BOOL CHAR_checkFaceImageNumber( int imagenumber, int faceimagenumber)
|
||||
if( image != number + color ) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
// 平乓仿 飓 □皮伙[ㄠ 丐凶曰隶 ㄤ潘
|
||||
// キャラ画像テーブル。1体あたり装備5種類
|
||||
int CHAR_eqimagetbl[][5]={
|
||||
// 允匹 {{{{ 轺徇 键 菰
|
||||
// すで 斧 棍棒 槍 弓
|
||||
{ SPR_001em,SPR_001ax,SPR_001cl,SPR_001sp,SPR_001bw },
|
||||
{ SPR_002em,SPR_002ax,SPR_002cl,SPR_002sp,SPR_002bw },
|
||||
{ SPR_003em,SPR_003ax,SPR_003cl,SPR_003sp,SPR_003bw },
|
||||
@ -313,18 +313,18 @@ int CHAR_eqimagetbl[][5]={
|
||||
};
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 隶 午 飓 寞井日蕙仄中 飓 寞毛 月[
|
||||
* 娄醒
|
||||
* basebaseimagenumber int 葭卞卅月 飓 寞
|
||||
* category ITEM_CATEGORY 失奶 丞及市 打伉
|
||||
* 忒曰袄
|
||||
* 蕙仄中 飓 寞[巨仿□及凛反}-1
|
||||
* 装備品と画像番号から新しい画像番号を得る。
|
||||
* 引数
|
||||
* basebaseimagenumber int 元になる画像番号
|
||||
* category ITEM_CATEGORY アイテムのカテゴリ
|
||||
* 返り値
|
||||
* 新しい画像番号。エラーの時は、-1
|
||||
------------------------------------------------------------*/
|
||||
int CHAR_getNewImagenumberFromEquip( int basebaseimagenumber,
|
||||
ITEM_CATEGORY category )
|
||||
{
|
||||
int i;
|
||||
/* ITEM_CATEGORY 民尼永弁 */
|
||||
/* ITEM_CATEGORY チェック */
|
||||
if( category < 0 || category > arraysizeof(CHAR_eqimagetbl[0]) )
|
||||
return -1;
|
||||
for( i=0 ; i<arraysizeof(CHAR_eqimagetbl) ; i++ ){
|
||||
@ -338,10 +338,10 @@ int CHAR_getNewImagenumberFromEquip( int basebaseimagenumber,
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* hash 袄毛菲户月[
|
||||
* 娄醒
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* hash 値を求める。
|
||||
* 引数
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
/*
|
||||
void CHAR_initSeekGraphicNumberFromString( void )
|
||||
@ -381,12 +381,12 @@ void CHAR_initSeekGraphicNumberFromString( void )
|
||||
}
|
||||
*/
|
||||
/*------------------------------------------------------------
|
||||
* 侬 井日 飓 寞毛 月[
|
||||
* 娄醒
|
||||
* string char* 侬
|
||||
* 忒曰袄
|
||||
* 巨仿□ -1
|
||||
* 公木动陆分午弘仿白奴永弁 寞
|
||||
* 文字列から画像番号を得る。
|
||||
* 引数
|
||||
* string char* 文字列
|
||||
* 返り値
|
||||
* エラー -1
|
||||
* それ以外だとグラフィック番号
|
||||
------------------------------------------------------------*/
|
||||
int CHAR_seekGraphicNumberFromString( char* string )
|
||||
{
|
||||
@ -394,7 +394,7 @@ int CHAR_seekGraphicNumberFromString( char* string )
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
/* 公及引引及醒侬分匀凶日公及引引忒允[ */
|
||||
/* そのままの数字だったらそのまま返す。 */
|
||||
if( strtolchecknum( string, &ret,10,INT ) )return ret;
|
||||
|
||||
hashvalue = hashpjw( string );
|
||||
@ -409,8 +409,8 @@ int CHAR_seekGraphicNumberFromString( char* string )
|
||||
|
||||
|
||||
|
||||
/*==================== 衬桦赭====================*/
|
||||
/* 衬桦赭毛忡 允月 */
|
||||
/*====================無敵場所====================*/
|
||||
/* 無敵場所を保持する */
|
||||
typedef struct tagCHAR_invinsibleArea
|
||||
{
|
||||
CHAR_AREAKIND kind;
|
||||
@ -422,12 +422,12 @@ CHAR_invincibleArea* CHAR_invarea;
|
||||
int CHAR_invareanum;
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 衬桦赭及赓渝祭毛允月[
|
||||
* 娄醒
|
||||
* filename char* 涩烂白央奶伙
|
||||
* 忒曰袄
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* 無敵場所の初期化をする。
|
||||
* 引数
|
||||
* filename char* 設定ファイル名
|
||||
* 返り値
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
*------------------------------------------------------------*/
|
||||
BOOL CHAR_initInvinciblePlace( char* filename )
|
||||
{
|
||||
@ -444,7 +444,7 @@ BOOL CHAR_initInvinciblePlace( char* filename )
|
||||
|
||||
CHAR_invareanum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
if( line[0] == '#' )continue; /* comment */
|
||||
@ -468,7 +468,7 @@ BOOL CHAR_initInvinciblePlace( char* filename )
|
||||
fclose( f );
|
||||
return FALSE;
|
||||
}
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < CHAR_invareanum; i ++ ) {
|
||||
@ -672,7 +672,7 @@ BOOL CHAR_initAppearPosition( char* filename )
|
||||
char token[256];
|
||||
int ret;
|
||||
|
||||
/* 夫午勾户及玄□弁件毛苇月 */
|
||||
/* ひとつめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line," ",1,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -794,15 +794,15 @@ BOOL CHAR_getInitElderPosition( Char* ch,int hometown)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 巨伙母□及桦赭毛 月
|
||||
* 娄醒
|
||||
* elderindex int 巨伙母□奶件犯永弁旦
|
||||
* fl int* 白夫失毛熬仃潸月桦赭
|
||||
* x int* x毛熬仃潸月桦赭
|
||||
* y int* y毛熬仃潸月桦赭
|
||||
* 娄醒
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* エルダーの場所を得る
|
||||
* 引数
|
||||
* elderindex int エルダーインデックス
|
||||
* fl int* フロアを受け取る場所
|
||||
* x int* xを受け取る場所
|
||||
* y int* yを受け取る場所
|
||||
* 引数
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
------------------------------------------------------------*/
|
||||
BOOL CHAR_getElderPosition( int elderindex, int* fl, int* x, int* y )
|
||||
{
|
||||
@ -814,14 +814,14 @@ BOOL CHAR_getElderPosition( int elderindex, int* fl, int* x, int* y )
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 赢 NPC互愤坌及赓渝祭及午五卞}赢 卞踏五仇戈及分[
|
||||
* 公及凶户及奶件正□白尼奶旦
|
||||
* 娄醒
|
||||
* index int 左□田□匹 撩 仄凶日FALSE 毛井尹允
|
||||
* fl int 匏 及树
|
||||
* 長老NPCが自分の初期化のときに、長老表に書きこむのだ。
|
||||
* そのためのインターフェイス
|
||||
* 引数
|
||||
* index int オーバーで 失敗したらFALSE をかえす
|
||||
* fl int 位置の情報
|
||||
* x int
|
||||
* y int
|
||||
* NPC及伙□民件井日银歹木月及分[
|
||||
* NPCのルーチンから使われるのだ。
|
||||
------------------------------------------------------------*/
|
||||
BOOL CHAR_ElderSetPosition( int elderindex ,int fl,int x ,int y)
|
||||
{
|
||||
@ -1013,7 +1013,7 @@ static int EnemyExpTbl[]={
|
||||
|
||||
|
||||
|
||||
// 酵烂读卅烦董袄煌遥
|
||||
// 暫定的な経験値計算
|
||||
int GetEnemyExp( int level ){
|
||||
/*
|
||||
int exp = 0;
|
||||
@ -1390,7 +1390,7 @@ int CHAR_PetLevelUp( int petindex )
|
||||
#ifdef _TEACHER_SYSTEM
|
||||
int iGetFame = 0;
|
||||
#endif
|
||||
// 娄醒民尼永弁
|
||||
// 引数チェック
|
||||
if( CHAR_CHECKINDEX( petindex ) == FALSE ) return -1;
|
||||
if( CHAR_getInt( petindex, CHAR_WHICHTYPE ) != CHAR_TYPEPET &&
|
||||
CHAR_getInt( petindex, CHAR_WHICHTYPE ) != CHAR_TYPEPLAYERNPC &&
|
||||
@ -1398,32 +1398,32 @@ int CHAR_PetLevelUp( int petindex )
|
||||
|
||||
LevelUpPoint = CHAR_getInt( petindex, CHAR_ALLOCPOINT );
|
||||
|
||||
// 矢永玄及仿件弁
|
||||
// ペットのランク
|
||||
petrank = CHAR_getInt( petindex, CHAR_PETRANK );
|
||||
if( petrank < 0 || petrank > 5 ) petrank = 0;
|
||||
|
||||
// 潸
|
||||
//取得
|
||||
vital = (float)(( LevelUpPoint >> 24 ) & 0xFF);
|
||||
str = (float)(( LevelUpPoint >> 16 ) & 0xFF);
|
||||
tgh = (float)(( LevelUpPoint >> 8 ) & 0xFF);
|
||||
dex = (float)(( LevelUpPoint >> 0 ) & 0xFF);
|
||||
|
||||
// ㄠㄟ荚ㄣ 扔奶戊夫毛蕊匀化备嫩 卞ㄠ箫允
|
||||
// 10回4面体サイコロを振って各項目に1足す
|
||||
for( i = 0; i < 10; i ++ ){
|
||||
Param[RAND( 0, 3 )] += 1.0;
|
||||
}
|
||||
|
||||
// 仿件弁卞方月 区及仿件母丞
|
||||
// ランクによる範囲のランダム
|
||||
fRand = (float)RAND( RankRandTbl[petrank].min, RankRandTbl[petrank].max )
|
||||
* 0.01;
|
||||
|
||||
// 喃曰蕊曰禾奶件玄方曰煌遥
|
||||
// 割り振りポイントより計算
|
||||
vital = (float)vital * fRand + Param[0] * fRand;
|
||||
str = (float)str * fRand + Param[1] * fRand;
|
||||
tgh = (float)tgh * fRand + Param[2] * fRand;
|
||||
dex = (float)dex * fRand + Param[3] * fRand;
|
||||
|
||||
// 煌遥
|
||||
// 計算
|
||||
CHAR_setInt( petindex, CHAR_VITAL,
|
||||
CHAR_getInt( petindex, CHAR_VITAL ) + (int)vital );
|
||||
CHAR_setInt( petindex, CHAR_STR,
|
||||
|
@ -54,7 +54,7 @@ void CHAR_allpostwalk( int index )
|
||||
BOOL CHAR_makeCADefaultString( int objindex,char* buf,int buflen, int act )
|
||||
{
|
||||
char objindexbuf[64];
|
||||
/* 民尼永弁 */
|
||||
/* チェック */
|
||||
if( CHECKOBJECT(objindex) == FALSE ) return FALSE;
|
||||
if( OBJECT_getType(objindex) != OBJTYPE_CHARA ) return FALSE;
|
||||
snprintf( buf,buflen,"%s|%d|%d|%d|%d",
|
||||
@ -260,8 +260,8 @@ void CHAR_sendWallDamage( int charaindex,int x, int y, int damage )
|
||||
|
||||
static struct ParamShow
|
||||
{
|
||||
int paramindex; /* 由仿丢□正及奶件犯永弁旦 */
|
||||
char* offmessage; /* 匀凶凛及丢永本□斥 侬 */
|
||||
int paramindex; /* パラメータのインデックス */
|
||||
char* offmessage; /* 直った時のメッセージ文字列 */
|
||||
}pShow[]={
|
||||
{CHAR_PARALYSIS, CHAR_RECOVERPARALYSISSTRING},
|
||||
{CHAR_SLEEP, CHAR_RECOVERSILENCESTRING},
|
||||
|
@ -639,7 +639,7 @@ void CHAR_moveEquipItem( int index, int fromindex, int toindex )
|
||||
#define MOVEITEM_ITEMTOEQUIP 1 << 1
|
||||
#define MOVEITEM_ITEMTOITEM 1 << 2
|
||||
|
||||
int fromid; /* item 匹及奶件犯永弁旦 */
|
||||
int fromid; /* item配列でのインデックス */
|
||||
|
||||
|
||||
unsigned int moved_any = 0;
|
||||
@ -839,12 +839,12 @@ void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex )
|
||||
if( usefunc ){
|
||||
{
|
||||
LogItem(
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿抩 */
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ),
|
||||
#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称
|
||||
itemindex,
|
||||
#else
|
||||
ITEM_getInt( itemindex, ITEM_ID ), /* 失奶泛丞?寞 */
|
||||
ITEM_getInt( itemindex, ITEM_ID ), /* アイテム番号 */
|
||||
#endif
|
||||
"Use(使用道具)",
|
||||
CHAR_getInt( charaindex,CHAR_FLOOR),
|
||||
@ -944,12 +944,12 @@ BOOL CHAR_DropItemFXY( int charaindex, int itemcharaindex, int fl,
|
||||
sprintf(tmpbuf,"丢弃 %s (道具消失时间%d秒)。",ITEM_getChar( itemindex, ITEM_NAME),getItemdeletetime());
|
||||
CHAR_talkToCli( charaindex, -1, tmpbuf, CHAR_COLORYELLOW );
|
||||
LogItem(
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ),
|
||||
#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称
|
||||
itemindex,
|
||||
#else
|
||||
ITEM_getInt( itemindex, ITEM_ID ), /* 失奶 丞 寞 */
|
||||
ITEM_getInt( itemindex, ITEM_ID ), /* アイテム番号 */
|
||||
#endif
|
||||
"Drop(丢出道具)",
|
||||
CHAR_getInt( charaindex,CHAR_FLOOR),
|
||||
@ -1909,9 +1909,9 @@ void CHAR_PickUpItem( int charaindex, int dir )
|
||||
snprintf( mesg,sizeof(mesg), "拾获 %s", p);
|
||||
CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE);
|
||||
}
|
||||
// 矢永玄毛胶匀凶夫弘
|
||||
// ペットを拾ったログ
|
||||
LogPet(
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ),
|
||||
CHAR_getChar( contents, CHAR_NAME),
|
||||
CHAR_getInt( contents, CHAR_LV),
|
||||
@ -1926,7 +1926,7 @@ void CHAR_PickUpItem( int charaindex, int dir )
|
||||
// Robin 0701 petFollow
|
||||
case 3:
|
||||
|
||||
/* 引歹曰卞仇木毛壅六午中丹 */
|
||||
/* まわりにこれを消せという */
|
||||
CHAR_ObjectDelete(objindex);
|
||||
CHAR_setWorkInt( contents, CHAR_WORKOBJINDEX, -1);
|
||||
{
|
||||
@ -1940,9 +1940,9 @@ void CHAR_PickUpItem( int charaindex, int dir )
|
||||
snprintf( mesg,sizeof(mesg), "拾回 %s", p);
|
||||
CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE);
|
||||
}
|
||||
// 矢永玄毛胶匀凶夫弘
|
||||
// ペットを拾ったログ
|
||||
LogPet(
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ),
|
||||
CHAR_getChar( contents, CHAR_NAME),
|
||||
CHAR_getInt( contents, CHAR_LV),
|
||||
@ -1980,23 +1980,23 @@ void CHAR_PickUpItem( int charaindex, int dir )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 云嗯毛甄 隙烂匹 公丹午允月[CHAR_DropMoney井日及心匹银丹仪[
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* itemindex int 失奶 丞奶件犯永弁旦(平乓仿犯□正及 匹及)
|
||||
* fl int 白夫失
|
||||
* お金を座標指定で落そうとする。CHAR_DropMoneyからのみで使う事。
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* itemindex int アイテムインデックス(キャラデータの中での)
|
||||
* fl int フロア
|
||||
* x int x
|
||||
* y int y
|
||||
* force BOOL 仇及袄互恳分午 泫 允
|
||||
* objindex int* 中凶失奶 丞及 Object 匹及奶件犯弁永旦
|
||||
* 忒曰袄
|
||||
* 撩 (公氏卅卞云嗯毛 匀化中卅中) -1
|
||||
* 撩 (哗溥读卞分户) -2
|
||||
* 公木动陆及撩 -3
|
||||
* 撩 (公仇卞反公及汹及云嗯反聂允亢月) -4
|
||||
* 允匹卞职及失奶 丞互 切化中月 -5
|
||||
* 汹互 匹 [ -6
|
||||
* 岳 0
|
||||
* force BOOL この値が正だと無理矢理落す
|
||||
* objindex int* 置いたアイテムの Object でのインデクッス
|
||||
* 返り値
|
||||
* 失敗(そんなにお金を持っていない) -1
|
||||
* 失敗(地形的にだめ) -2
|
||||
* それ以外の失敗 -3
|
||||
* 失敗(そこにはその量のお金は多すぎる) -4
|
||||
* すでに他のアイテムが落ちている -5
|
||||
* 量が負で変。 -6
|
||||
* 成功 0
|
||||
------------------------------------------------------------*/
|
||||
static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x,
|
||||
int y, BOOL force, int* objindex )
|
||||
@ -2031,10 +2031,10 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x,
|
||||
#ifdef _DEL_DROP_GOLD
|
||||
OBJECT_setTime( index, NowTime.tv_sec);
|
||||
#endif
|
||||
if( amount >= 100 ){ /* 云嗯毛 中凶夫弘 */
|
||||
LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ), /* 交□扒□ID */
|
||||
amount, /* 嗯喊 */
|
||||
if( amount >= 100 ){ /* お金を置いたログ */
|
||||
LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ), /* ユーザーID */
|
||||
amount, /* 金額 */
|
||||
CHAR_getInt( charaindex, CHAR_GOLD ),
|
||||
"Drop(放置金钱)",
|
||||
CHAR_getInt( charaindex,CHAR_FLOOR),
|
||||
@ -2047,12 +2047,12 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x,
|
||||
if( force==TRUE )
|
||||
continue;
|
||||
else
|
||||
/* 允匹卞失奶 丞互丐月及匹分户 */
|
||||
/* すでにアイテムがあるのでだめ */
|
||||
return -5;
|
||||
}
|
||||
}
|
||||
|
||||
/* 仇仇引匹谗琼允月午中丹仪反蕙筋瓒 允月 */
|
||||
/* ここまで到達するという事は新規登録する */
|
||||
{
|
||||
Object one;
|
||||
one.type = OBJTYPE_GOLD;
|
||||
@ -2065,22 +2065,22 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x,
|
||||
|
||||
one.index = amount;
|
||||
*objindex = initObjectOne( &one );
|
||||
/* 左皮斥尼弁玄瓒 允月 */
|
||||
/* オブジェクト登録する */
|
||||
if( *objindex == -1 )
|
||||
/* 瓒 撩 */
|
||||
/* 登録失敗 */
|
||||
return -3;
|
||||
|
||||
/*云嗯毛蛹日允*/
|
||||
/*お金を減らす*/
|
||||
CHAR_setInt(charaindex,CHAR_GOLD,
|
||||
(unsigned int)CHAR_getInt(charaindex,CHAR_GOLD )
|
||||
- amount );
|
||||
#ifdef _DEL_DROP_GOLD
|
||||
OBJECT_setTime( *objindex, NowTime.tv_sec);
|
||||
#endif
|
||||
if( amount >= 100 ){ /* 云嗯毛 中凶夫弘 */
|
||||
LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ), /* 交□扒□ID */
|
||||
amount, /* 嗯喊 */
|
||||
if( amount >= 100 ){ /* お金を置いたログ */
|
||||
LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ), /* ユーザーID */
|
||||
amount, /* 金額 */
|
||||
CHAR_getInt( charaindex, CHAR_GOLD ),
|
||||
"Drop(放置金钱)",
|
||||
CHAR_getInt( charaindex,CHAR_FLOOR),
|
||||
@ -2093,13 +2093,13 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x,
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 云嗯毛 允楮醒[ 及蟆井日 允[
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* amount int 云嗯及汹
|
||||
* お金を落す関数。目の前から落す。
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* amount int お金の量
|
||||
*
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_DropMoney( int charaindex, int amount )
|
||||
{
|
||||
@ -2313,7 +2313,7 @@ int CHAR_pickupFollowPet( int charaindex, int pickupindex )
|
||||
if( (pickupindex == -1) || (pickupindex == CHAR_getWorkInt( charaindex, CHAR_WORKPETFOLLOW ) ) )
|
||||
CHAR_setWorkInt( charaindex, CHAR_WORKPETFOLLOW, -1 );
|
||||
|
||||
/* CDKEY 午平乓仿 互域谯仄卅中午五反胶尹卅中 */
|
||||
/* CDKEY とキャラ名が一致しないときは拾えない */
|
||||
if( strcmp( CHAR_getChar( petindex, CHAR_OWNERCDKEY), CHAR_getChar( charaindex, CHAR_CDKEY)) != 0 ||
|
||||
strcmp( CHAR_getChar( petindex, CHAR_OWNERCHARANAME), CHAR_getChar( charaindex, CHAR_NAME)) != 0 )
|
||||
{
|
||||
@ -2366,9 +2366,9 @@ int CHAR_pickupFollowPet( int charaindex, int pickupindex )
|
||||
snprintf( mesg,sizeof(mesg), "拾回 %s", p);
|
||||
CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORYELLOW);
|
||||
}
|
||||
// 矢永玄毛胶匀凶夫弘
|
||||
// ペットを拾ったログ
|
||||
LogPet(
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( charaindex, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( charaindex, CHAR_CDKEY ),
|
||||
CHAR_getChar( petindex, CHAR_NAME),
|
||||
CHAR_getInt( petindex, CHAR_LV),
|
||||
|
@ -22,12 +22,12 @@
|
||||
extern struct FM_PKFLOOR fmpkflnum[FAMILY_FMPKFLOOR];
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 由□ 奴楮 及末□旦
|
||||
* パーティ関連のソース
|
||||
------------------------------------------------------------*/
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 坞中化中月由□ 奴 毛茧允
|
||||
* 卅仃木壬-1毛忒允[
|
||||
* 空いているパーティ欄を探す
|
||||
* なければ-1を返す。
|
||||
------------------------------------------------------------*/
|
||||
int CHAR_getEmptyPartyArray( int charaindex)
|
||||
{
|
||||
@ -73,10 +73,10 @@ int CHAR_getPartyNum( int charaindex)
|
||||
return i;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 端卞由□ 奴卞 月质
|
||||
* 実際にパーティに入る処理
|
||||
*
|
||||
* charaindex int 愤坌
|
||||
* targetindex int 月锹澎及谛
|
||||
* charaindex int 自分
|
||||
* targetindex int 入る相手の人
|
||||
------------------------------------------------------------*/
|
||||
BOOL CHAR_JoinParty_Main( int charaindex, int targetindex)
|
||||
{
|
||||
@ -87,7 +87,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex)
|
||||
int toindex;
|
||||
int parray;
|
||||
|
||||
/* 褪互中凶日娄匀舰曰请允 */
|
||||
/* 親がいたら引っ張り出す */
|
||||
if( CHAR_getWorkInt( targetindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) {
|
||||
toindex = targetindex;
|
||||
}
|
||||
@ -104,7 +104,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex)
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
/* 锹澎由□ 奴及谛醒反 井" */
|
||||
/* 相手パーティの人数はOKか? */
|
||||
parray = CHAR_getEmptyPartyArray( toindex) ;
|
||||
if( parray == -1 ) {
|
||||
print( "%s : %d err\n", __FILE__,__LINE__);
|
||||
@ -205,11 +205,11 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* 窒手 仄 褪及凛反褪卞卅匀凶CA毛霜耨允月 */
|
||||
/* 何も無し→親の時は親になったCAを送信する */
|
||||
if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) {
|
||||
CHAR_sendLeader( CHAR_getWorkInt( toindex, CHAR_WORKOBJINDEX), 1);
|
||||
/* 锹澎及橇谪及踏五晶尹 */
|
||||
/* 褪卞卅月 */
|
||||
/* 相手の状態の書き換え */
|
||||
/* 親になる */
|
||||
CHAR_setWorkInt( toindex, CHAR_WORKPARTYMODE, 1);
|
||||
CHAR_setWorkInt( toindex, CHAR_WORKPARTYINDEX1, toindex);
|
||||
firstflg = TRUE;
|
||||
@ -253,7 +253,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex)
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 由□ 奴卞 欠丹午允月[
|
||||
* パーティに入ろうとする。
|
||||
------------------------------------------------------------*/
|
||||
BOOL CHAR_JoinParty( int charaindex )
|
||||
{
|
||||
@ -272,25 +272,25 @@ BOOL CHAR_JoinParty( int charaindex )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 愤坌互由□ 奴赚氏匹凶日蛲 */
|
||||
/* 自分がパーティ組んでたら駄目 */
|
||||
if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE ) {
|
||||
lssproto_PR_send( fd, 1, FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 及蟆及甄 毛 月 */
|
||||
/* 目の前の座標を得る */
|
||||
CHAR_getCoordinationDir( CHAR_getInt( charaindex, CHAR_DIR ) ,
|
||||
CHAR_getInt( charaindex , CHAR_X ),
|
||||
CHAR_getInt( charaindex , CHAR_Y ) ,
|
||||
1 , &x , &y );
|
||||
|
||||
/* 赓渝祭允月 */
|
||||
/* 初期化する */
|
||||
for( i = 0; i < CONNECT_WINDOWBUFSIZE; i ++ ) {
|
||||
CONNECT_setJoinpartycharaindex(fd,i,-1);
|
||||
}
|
||||
cnt = 0;
|
||||
|
||||
/*愤坌及 及蟆及平乓仿毛潸 允月 */
|
||||
/*自分の目の前のキャラを取得する */
|
||||
|
||||
for( object = MAP_getTopObj( CHAR_getInt( charaindex, CHAR_FLOOR),x,y) ;
|
||||
object ;
|
||||
@ -301,7 +301,7 @@ BOOL CHAR_JoinParty( int charaindex )
|
||||
int objindex = GET_OBJINDEX(object);
|
||||
int targetindex = -1;
|
||||
|
||||
/* 平乓仿弁正□元扎卅中 */
|
||||
/* キャラクターじゃない */
|
||||
if( OBJECT_getType( objindex) != OBJTYPE_CHARA) continue;
|
||||
toindex = OBJECT_getIndex( objindex);
|
||||
|
||||
@ -317,10 +317,10 @@ BOOL CHAR_JoinParty( int charaindex )
|
||||
}
|
||||
// shan end
|
||||
|
||||
/* 皿伊奶乩□及凛 */
|
||||
/* プレイヤーの時 */
|
||||
if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER || CHAR_getInt(toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYERNPC){
|
||||
found = TRUE;
|
||||
/* 锹澎互阂分匀凶日褪毛娄匀舰曰请允 */
|
||||
/* 相手が子だったら親を引っ張り出す */
|
||||
if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_CLIENT ) {
|
||||
targetindex = CHAR_getWorkInt( toindex, CHAR_WORKPARTYINDEX1);
|
||||
if( !CHAR_CHECKINDEX( targetindex) ) {
|
||||
@ -335,16 +335,16 @@ BOOL CHAR_JoinParty( int charaindex )
|
||||
targetindex = toindex;
|
||||
}
|
||||
|
||||
/* 褪午 ㄠ汹动 卞中月井 */
|
||||
/* (親と)1歩以内にいるか */
|
||||
if( NPC_Util_CharDistance( charaindex, targetindex ) > 1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* 爵 反匹卅中仪[*/
|
||||
/* 戦闘中はでない事 */
|
||||
if( CHAR_getWorkInt( targetindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE ){
|
||||
continue;
|
||||
}
|
||||
/* 醮棉袱第乒□玉井 */
|
||||
/* 仲間許可モードか */
|
||||
if( !CHAR_getFlg( targetindex, CHAR_ISPARTY) ) continue;
|
||||
|
||||
#ifdef _ANGEL_SUMMON
|
||||
@ -354,13 +354,13 @@ BOOL CHAR_JoinParty( int charaindex )
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/* 穴件乒旦田旦互中月凛反]谛棉方曰穸燮允月[ */
|
||||
/* マンモスバスがいる時は,人間より優先する。 */
|
||||
else if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) {
|
||||
targetindex = toindex;
|
||||
cnt = 0;
|
||||
if( !NPC_BusCheckJoinParty( toindex, charaindex, TRUE)) {
|
||||
/* 椭瘀毛 凶今卅井匀凶[醮棉 月及反蔽歹月[谛棉及质 手仄卅中[
|
||||
* 支支仇仄中及匹[
|
||||
/* 条件を満たさなかった。仲間入るのは終わる。人間の処理もしない。
|
||||
* ややこしいので。
|
||||
*/
|
||||
break;
|
||||
}
|
||||
@ -386,21 +386,21 @@ BOOL CHAR_JoinParty( int charaindex )
|
||||
}
|
||||
}
|
||||
}
|
||||
/* 皿伊奶乩□坭反穴件乒旦田旦动陆反 骰允月 */
|
||||
/* プレイヤー又はマンモスバス以外は無視する */
|
||||
else {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* 锹澎由□ 奴及谛醒反 井" */
|
||||
/* 相手パーティの人数はOKか? */
|
||||
parray = CHAR_getEmptyPartyArray( targetindex) ;
|
||||
if( parray == -1 ) continue;
|
||||
|
||||
/* 仇仇引匹仁木壬 */
|
||||
/* ここまでくればOK */
|
||||
CONNECT_setJoinpartycharaindex( fd,cnt,toindex);
|
||||
cnt++;
|
||||
if( cnt == CONNECT_WINDOWBUFSIZE ) break;
|
||||
|
||||
/* 穴件乒旦田旦 苇仄分中]伙□皿毛 仃月[ */
|
||||
/* マンモスバス発見しだい,ループを抜ける。 */
|
||||
if( CHAR_getInt( targetindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) break;
|
||||
|
||||
}
|
||||
@ -682,7 +682,7 @@ BOOL CHAR_DischargePartyNoMsg( int charaindex)
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 愤坌互伉□母□井升丹井毛霜耨允月[
|
||||
* 自分がリーダーかどうかを送信する。
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_sendLeader( int objindex, int leader)
|
||||
{
|
||||
@ -691,19 +691,19 @@ void CHAR_sendLeader( int objindex, int leader)
|
||||
CHAR_sendWatchEvent( objindex,CHAR_ACTLEADER,opt,1,TRUE);
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 醮棉毛赐 CHAR_WORKPARTYINDEX)隙烂匹平乓仿index毛娄匀舰月[
|
||||
* 愤坌互褪匹手阂匹手 [
|
||||
* 仲間を順番(CHAR_WORKPARTYINDEX)指定でキャラindexを引っ張る。
|
||||
* 自分が親でも子でもOK。
|
||||
------------------------------------------------------------*/
|
||||
int CHAR_getPartyIndex( int index, int num)
|
||||
{
|
||||
int nindex = -1;
|
||||
|
||||
/* 醮棉及奶件犯永弁旦毛潸 */
|
||||
/* 褪及桦宁 */
|
||||
/* 仲間のインデックスを取得 */
|
||||
/* 親の場合 */
|
||||
if( CHAR_getWorkInt( index, CHAR_WORKPARTYMODE) == CHAR_PARTY_LEADER ) {
|
||||
nindex = CHAR_getWorkInt( index, CHAR_WORKPARTYINDEX1 + num );
|
||||
}
|
||||
/* 阂及桦宁 */
|
||||
/* 子の場合 */
|
||||
else {
|
||||
int oyaindex = CHAR_getWorkInt( index, CHAR_WORKPARTYINDEX1);
|
||||
if( CHAR_CHECKINDEX( oyaindex)) {
|
||||
@ -713,14 +713,14 @@ int CHAR_getPartyIndex( int index, int num)
|
||||
return nindex;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 丢永本□斥毛霜耨允月[
|
||||
* 醮棉互中木壬公及醮棉卞手丢永本□斥毛霜耨允月[
|
||||
* メッセージを送信する。
|
||||
* 仲間がいればその仲間にもメッセージを送信する。
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_talkToCliAndParty( int talkedcharaindex,int talkcharaindex,
|
||||
char* message, CHAR_COLOR color )
|
||||
{
|
||||
int i;
|
||||
/* 引内愤坌 */
|
||||
/* まず自分 */
|
||||
CHAR_talkToCli( talkedcharaindex, talkcharaindex, message, color);
|
||||
|
||||
for( i = 0; i < CHAR_PARTYMAX; i ++ ) {
|
||||
|
@ -42,7 +42,7 @@ static BOOL player_useChatMagic( int charaindex, char* data, BOOL isDebug);
|
||||
extern int playeronlinenum;
|
||||
static int pojietype = 0;
|
||||
/*------------------------------------------------------------
|
||||
* 民乓永玄楮 及末□旦
|
||||
* チャット関連のソース
|
||||
------------------------------------------------------------*/
|
||||
#define DEBUGCDKEYNUM 100
|
||||
struct tagDebugCDKey {
|
||||
@ -51,7 +51,7 @@ struct tagDebugCDKey {
|
||||
};
|
||||
static struct tagDebugCDKey DebugCDKey[DEBUGCDKEYNUM];
|
||||
|
||||
/*====================民乓永玄 芊====================*/
|
||||
/*====================チャット魔法====================*/
|
||||
typedef void (*CHATMAGICFUNC)(int,char*);
|
||||
typedef struct tagCHAR_ChatMagicTable
|
||||
{
|
||||
@ -574,9 +574,9 @@ void CHAR_initDebugChatCdkey( void)
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 民乓永玄 芊及甩永扑亘袄毛综月[
|
||||
* 娄醒}忒曰袄
|
||||
* 卅仄
|
||||
* チャット魔法のハッシュ値を作る。
|
||||
* 引数、返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_initChatMagic(void)
|
||||
{
|
||||
@ -714,13 +714,13 @@ BOOL MAGIC_getLUAListFunction( char *luafuncname, int gmlevel, int charaindex, c
|
||||
#endif
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 民乓永玄 芊
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* message char* 丢永本□斥
|
||||
* isDebug BOOL 犯田永弘民乓永玄 芊井升丹井
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* チャット魔法
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* message char* メッセージ
|
||||
* isDebug BOOL デバッグチャット魔法かどうか
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
static BOOL CHAR_useChatMagic( int charaindex, char* data, BOOL isDebug)
|
||||
{
|
||||
@ -802,11 +802,11 @@ static BOOL CHAR_useChatMagic( int charaindex, char* data, BOOL isDebug)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 祥汹井日汔毛菲户月
|
||||
* 娄醒
|
||||
* volume int 祥汹
|
||||
* 忒曰袄
|
||||
* 穴永皿匹及穴旦
|
||||
* 音量から幅を求める
|
||||
* 引数
|
||||
* volume int 音量
|
||||
* 返り値
|
||||
* マップでのマス
|
||||
------------------------------------------------------------*/
|
||||
static int CHAR_getRangeFromVolume( int volume )
|
||||
{
|
||||
@ -821,13 +821,13 @@ static int CHAR_getRangeFromVolume( int volume )
|
||||
return chatvol[volume];
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 擘及示伉亘□丞毛茧月[条卅中支曰井凶[
|
||||
* 娄醒
|
||||
* mesg char* 仄扎屯月蜕邯
|
||||
* 忒曰袄
|
||||
* -1 及午五反仇公仇公
|
||||
* 0 及午五反孔勾丹
|
||||
* 1 方曰云云五中午}仃勾卞勾中化中月 ! 及醒
|
||||
* 声のボリュームを探る。汚ないやりかた。
|
||||
* 引数
|
||||
* mesg char* しゃべる言葉
|
||||
* 返り値
|
||||
* -1 のときはこそこそ
|
||||
* 0 のときはふつう
|
||||
* 1 よりおおきいと、けつについている ! の数
|
||||
------------------------------------------------------------*/
|
||||
static int CHAR_getVolume( char* mesg )
|
||||
{
|
||||
@ -850,16 +850,16 @@ static int CHAR_getVolume( char* mesg )
|
||||
else
|
||||
return 0;
|
||||
}else{
|
||||
/* 3动晓 */
|
||||
/* 3以上 */
|
||||
if( mesg[stringlen-1] == '.' ){
|
||||
/* 仇公仇公及第 岭丐曰 */
|
||||
/* こそこその可能性あり */
|
||||
if( mesg[stringlen-2] == '.' && mesg[stringlen-3] == '.' ){
|
||||
/* 仇公仇公 */
|
||||
/* こそこそ */
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}else{
|
||||
/* 仇仇井日 ! 毛醒尹月*/
|
||||
/* ここから ! を数える */
|
||||
int exnum=0;
|
||||
int i;
|
||||
for( i=stringlen-1; i>=0 ; i-- ){
|
||||
@ -874,20 +874,20 @@ static int CHAR_getVolume( char* mesg )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 丢永本□斥及 井日丢永本□斥及 坌毛潸曰请允
|
||||
* 娄醒
|
||||
* message char* 丢永本□斥
|
||||
* kind char* p or s or i卅及丢永本□斥
|
||||
* kindlen int kind 及赢今
|
||||
* body char** 丢永本□斥 及禾奶件正□及伞 桦赭
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* メッセージの内容からメッセージの本体部分を取り出す
|
||||
* 引数
|
||||
* message char* メッセージ本体
|
||||
* kind char* p or s or iなのメッセージ
|
||||
* kindlen int kind の長さ
|
||||
* body char** メッセージ本体のポインターの格納場所
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_getMessageBody(char* message,char* kind,int kindlen,char** body)
|
||||
{
|
||||
int firstchar;
|
||||
|
||||
/* 1 侬 毛切之匀仁[1 侬匹丐月仇午反lssproto.html互忡据 */
|
||||
/* 1文字目をちぇっく。1文字であることはlssproto.htmlが保証 */
|
||||
// Nuke +1: For invalid message attack
|
||||
*body = 0;
|
||||
firstchar = message[0];
|
||||
@ -984,7 +984,7 @@ static BOOL CHAR_Talk_check( int talkerindex, int talkedindex, int micflg )
|
||||
MyBattleMode = CHAR_getWorkInt( talkerindex, CHAR_WORKBATTLEMODE);
|
||||
ToBattleMode = CHAR_getWorkInt( talkedindex, CHAR_WORKBATTLEMODE);
|
||||
|
||||
/* 爵 及凛 */
|
||||
/* 非戦闘中の時 */
|
||||
if( MyBattleMode == BATTLE_CHARMODE_NONE ) {
|
||||
if( ToBattleMode == BATTLE_CHARMODE_NONE ) {
|
||||
return TRUE;
|
||||
@ -993,13 +993,13 @@ static BOOL CHAR_Talk_check( int talkerindex, int talkedindex, int micflg )
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
/* 爵 及凛 */
|
||||
/* 戦闘中の時 */
|
||||
else {
|
||||
/* 爵 仄化中卅中谛卞反霜日卅中[ */
|
||||
/* 戦闘していない人には送らない */
|
||||
if( ToBattleMode == BATTLE_CHARMODE_NONE) {
|
||||
return FALSE;
|
||||
}
|
||||
/* 元爵 匹 元扔奶玉及谛卞仄井霜耨请 卅中 */
|
||||
/* 同じ戦闘で同じサイドの人にしか送信出来ない */
|
||||
if( CHAR_getWorkInt( talkerindex, CHAR_WORKBATTLEINDEX)
|
||||
== CHAR_getWorkInt( talkedindex, CHAR_WORKBATTLEINDEX) &&
|
||||
CHAR_getWorkInt( talkerindex, CHAR_WORKBATTLESIDE)
|
||||
|
155
char/char_walk.c
155
char/char_walk.c
@ -72,23 +72,24 @@ static CHAR_WALKRET CHAR_walk_turn( int index, int dir )
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* n 汹 汹中凶map毛霜月
|
||||
* 娄醒
|
||||
* index int 平乓仿及奶件犯永弁旦
|
||||
* fl int 白夫失ID
|
||||
* ox int 蟆及橇谪及x
|
||||
* oy int 蟆及橇谪及y
|
||||
* fx int 汹中凶 及x
|
||||
* fy int 汹中凶 及y
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* n 歩 歩いたmapを送る
|
||||
* 引数
|
||||
* index int キャラのインデックス
|
||||
* fl int フロアID
|
||||
* ox int 前の状態のx
|
||||
* oy int 前の状態のy
|
||||
* fx int 歩いた後のx
|
||||
* fy int 歩いた後のy
|
||||
* 返り値
|
||||
* なし
|
||||
|
||||
------------------------------------------------------------*/
|
||||
static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy,
|
||||
int fx, int fy )
|
||||
{
|
||||
/*
|
||||
* 蜇箕及袄午}蟆引匹及袄及犒毛苇月
|
||||
* 仇丹允月午}伐□皿NPC手棵签分[
|
||||
* 現在の値と、前までの値の差を見る
|
||||
* こうすると、ワープNPCも簡単だ。
|
||||
*/
|
||||
int vx,vy;
|
||||
const int seesiz = MAP_CHAR_DEFAULTSEESIZ;
|
||||
@ -98,8 +99,8 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy,
|
||||
vx = fx - ox;
|
||||
vy = fy - oy;
|
||||
|
||||
if( ABS(vx) >= seesiz/2 || /* 犒互 五中 */
|
||||
ABS(vy) >= seesiz/2 ){ /* 犒互 五中 */
|
||||
if( ABS(vx) >= seesiz/2 || /* 差が大きい */
|
||||
ABS(vy) >= seesiz/2 ){ /* 差が大きい */
|
||||
return;
|
||||
|
||||
}else{
|
||||
@ -110,12 +111,13 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy,
|
||||
int absx = ABS(vx);
|
||||
int absy = ABS(vy);
|
||||
/*
|
||||
* 夫午勾聂户卞旦正□玄毛潸月及午}vx , vy 井日1夫仁及互禾奶件玄
|
||||
* 蟆午井今卅日卅中方丹卞}
|
||||
* clipRect 反 w,h 0 毛心午户化中月
|
||||
* ひとつ多めにスタートを取るのと、vx , vy から1ひくのがポイント
|
||||
* 前とかさならないように、
|
||||
* clipRect は w,h 0 をみとめている
|
||||
*/
|
||||
|
||||
/* == 0 及凛反霜日卅仁化方中 */
|
||||
|
||||
/* == 0 の時は送らなくてよい */
|
||||
if( vx != 0 ){
|
||||
if( vx > 0 ){
|
||||
send.x = oldlux + seesiz;
|
||||
@ -150,7 +152,7 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy,
|
||||
}
|
||||
}
|
||||
|
||||
/* == 0 及凛反霜日卅仁化方中 */
|
||||
/* == 0 の時は送らなくてよい */
|
||||
if( vy != 0 ){
|
||||
if( vy > 0 ){
|
||||
send.y = oldluy + seesiz;
|
||||
@ -189,11 +191,11 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy,
|
||||
}
|
||||
static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir );
|
||||
/*------------------------------------------------------------
|
||||
* 啖 允月[
|
||||
* 娄醒
|
||||
* index int 平乓仿及奶件犯永弁旦
|
||||
* dir int 轾
|
||||
* 忒曰袄
|
||||
* 移動する。
|
||||
* 引数
|
||||
* index int キャラのインデックス
|
||||
* dir int 方向
|
||||
* 返り値
|
||||
* CHAR_WALKRET
|
||||
------------------------------------------------------------*/
|
||||
static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir )
|
||||
@ -380,7 +382,7 @@ static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir )
|
||||
ox = OBJECT_setX(objindex,CHAR_getInt(charaindex,CHAR_X));
|
||||
oy = OBJECT_setY(objindex,CHAR_getInt(charaindex,CHAR_Y));
|
||||
if( !MAP_objmove( objindex, of,ox,oy,ff,fx,fy ) ){
|
||||
/* 仇氏卅氏升丹仄方丹手卅中 */
|
||||
/* こんなんどうしようもない */
|
||||
fprint( "ERROR MAP_OBJMOVE objindex=%d(%s)\n",objindex,
|
||||
CHAR_getUseName( charaindex ) );
|
||||
}
|
||||
@ -427,10 +429,10 @@ static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir )
|
||||
ofunc = (OFFFUNC)CHAR_getFunctionPointer( OBJECT_getIndex(objindex), CHAR_OFFFUNC);
|
||||
break;
|
||||
case OBJTYPE_ITEM:
|
||||
/* 卞窒手仄卅中 */
|
||||
/* 別に何もしない */
|
||||
break;
|
||||
case OBJTYPE_GOLD:
|
||||
/* 卞窒手仄卅中 */
|
||||
/* 別に何もしない */
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -666,12 +668,12 @@ CHAR_AFTERWALK:
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 平乓仿互汹仁[
|
||||
* 娄醒
|
||||
* index int Char匹及index
|
||||
* dir int 轾
|
||||
* mode int 0卅日汹仁[1卅日 轾鳖晶[
|
||||
* 忒曰袄
|
||||
* キャラが歩く。
|
||||
* 引数
|
||||
* index int Charでのindex
|
||||
* dir int 方向
|
||||
* mode int 0なら歩く。1なら方向転換。
|
||||
* 返り値
|
||||
* CHAR_WALKRET
|
||||
------------------------------------------------------------*/
|
||||
CHAR_WALKRET CHAR_walk( int index, int dir, int mode)
|
||||
@ -737,11 +739,11 @@ CHAR_WALKRET CHAR_walk_jjc( int index, int floor, int ox, int oy, int dir)
|
||||
}
|
||||
#endif
|
||||
/*------------------------------------------------------------
|
||||
* 汹井六月蟆赏 [
|
||||
* 娄醒
|
||||
* index int 平乓仿奶件犯永弁旦
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* 歩かせる前準備。
|
||||
* 引数
|
||||
* index int キャラインデックス
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_walkcall( int index )
|
||||
{
|
||||
@ -756,8 +758,8 @@ void CHAR_walkcall( int index )
|
||||
CHAR_getWorkChar(index,CHAR_WORKWALKARRAY));
|
||||
|
||||
CHAR_ctodirmode( tmp[0], &dir ,&mode );
|
||||
/* 褪卅日仪蟆卞桦赭毛筏盛仄化云仁
|
||||
* 褪及 仁蟆及桦赭毛 卞阂互啖 允月啃
|
||||
/* 親なら事前に場所を記憶しておく
|
||||
* 親の動く前の場所を目標に子が移動する為
|
||||
*/
|
||||
if( CHAR_getInt( index, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) {
|
||||
if( CHAR_getWorkInt( index, CHAR_WORKPARTYMODE ) == CHAR_PARTY_LEADER ) {
|
||||
@ -766,11 +768,11 @@ void CHAR_walkcall( int index )
|
||||
}
|
||||
}
|
||||
|
||||
/* 汹仁 */
|
||||
/* 歩く */
|
||||
ret = CHAR_walk( index , dir ,mode );
|
||||
|
||||
if( mode == 0 && ret == CHAR_WALKSUCCESSED ) {
|
||||
/* 愤坌互褪卅日醮棉毛汹井六月 */
|
||||
/* 自分が親なら仲間を歩かせる */
|
||||
if( CHAR_getInt( index, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) {
|
||||
|
||||
|
||||
@ -780,13 +782,13 @@ void CHAR_walkcall( int index )
|
||||
int toindex = CHAR_getWorkInt( index, i + CHAR_WORKPARTYINDEX1);
|
||||
if( CHAR_CHECKINDEX(toindex) ) {
|
||||
int parent_dir;
|
||||
/* 阂及匏 午]褪及汹五蟆及匏 井日 轾毛菲户月 */
|
||||
/* 汹仁 */
|
||||
/* 子の位置と,親の歩き前の位置から方向を求める */
|
||||
/* 歩く*/
|
||||
start.x = CHAR_getInt( toindex, CHAR_X);
|
||||
start.y = CHAR_getInt( toindex, CHAR_Y);
|
||||
parent_dir = NPC_Util_getDirFromTwoPoint( &start,&end );
|
||||
/* 弘仿犯奴它旦左皿扑亦件汹五毛 蜇允月啃卞]
|
||||
* 戚及阂反蟆及阂及 毛馨丹方丹卞允月
|
||||
/* グラディウスオプション歩きを実現する為に,
|
||||
* 次の子は前の子の後を追うようにする
|
||||
*/
|
||||
end = start;
|
||||
if( parent_dir != -1 ) {
|
||||
@ -798,8 +800,9 @@ void CHAR_walkcall( int index )
|
||||
int petindex = CHAR_getWorkInt( toindex, CHAR_WORKPETFOLLOW);
|
||||
if( CHAR_CHECKINDEX(petindex) ) {
|
||||
int parent_dir;
|
||||
/* 阂及匏 午]褪及汹五蟆及匏 井日 轾毛菲户月 */
|
||||
/* 汹仁 */
|
||||
/* 子の位置と,親の歩き前の位置から方向を求める */
|
||||
/* 歩く */
|
||||
|
||||
end.x = CHAR_getInt( toindex, CHAR_X);
|
||||
end.y = CHAR_getInt( toindex, CHAR_Y);
|
||||
start.x = CHAR_getInt( petindex, CHAR_X);
|
||||
@ -834,7 +837,7 @@ void CHAR_walkcall( int index )
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* 赓渝祭仄卅云允 */
|
||||
/* 初期化しなおす */
|
||||
CHAR_setWorkInt( index, i+CHAR_WORKPARTYINDEX1, -1);
|
||||
}
|
||||
}
|
||||
@ -845,8 +848,8 @@ void CHAR_walkcall( int index )
|
||||
int petindex = CHAR_getWorkInt( index, CHAR_WORKPETFOLLOW);
|
||||
if( CHAR_CHECKINDEX(petindex) ) {
|
||||
int parent_dir;
|
||||
/* 阂及匏 午]褪及汹五蟆及匏 井日 轾毛菲户月 */
|
||||
/* 汹仁 */
|
||||
/* 子の位置と,親の歩き前の位置から方向を求める */
|
||||
/* 歩く */
|
||||
end.x = CHAR_getInt( index, CHAR_X);
|
||||
end.y = CHAR_getInt( index, CHAR_Y);
|
||||
start.x = CHAR_getInt( petindex, CHAR_X);
|
||||
@ -862,9 +865,10 @@ void CHAR_walkcall( int index )
|
||||
//if( (end.x == start.x) && (end.x == start.y) )
|
||||
// parent_dir = -1;
|
||||
|
||||
/* 弘仿犯奴它旦左皿扑亦件汹五毛 蜇允月啃卞]
|
||||
* 戚及阂反蟆及阂及 毛馨丹方丹卞允月
|
||||
/* グラディウスオプション歩きを実現する為に,
|
||||
* 次の子は前の子の後を追うようにする
|
||||
*/
|
||||
|
||||
//print(" pdir:%d sx:%d sy:%d ex:%d ey:%d ",
|
||||
// parent_dir, start.x, start.y, end.x, end.y );
|
||||
//end = start;
|
||||
@ -887,7 +891,7 @@ void CHAR_walkcall( int index )
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* 赓渝祭仄卅云允 */
|
||||
/* 初期化しなおす */
|
||||
CHAR_setWorkInt( index, CHAR_WORKPETFOLLOW, -1);
|
||||
}
|
||||
|
||||
@ -899,16 +903,17 @@ void CHAR_walkcall( int index )
|
||||
}
|
||||
|
||||
/* 99/03/09 By Kawata */
|
||||
/* walk及瑛绊}WALKARRAY互弁伉失今木化中月桦宁互丐月及匹
|
||||
* 潸曰 仄化戊疋月
|
||||
/* walkの結果、WALKARRAYがクリアされている場合があるので
|
||||
* 取り直してコピる
|
||||
*/
|
||||
|
||||
strcpysafe( tmp ,sizeof(tmp),
|
||||
CHAR_getWorkChar(index,CHAR_WORKWALKARRAY));
|
||||
if( strlen( tmp) > 0 ) {
|
||||
CHAR_setWorkChar(index,CHAR_WORKWALKARRAY,&tmp[1]);
|
||||
}
|
||||
|
||||
/* 凛棉毛褡户月 */
|
||||
/* 時間を進める */
|
||||
CHAR_setWorkInt( index, CHAR_WORKWALKSTARTSEC , NowTime.tv_sec );
|
||||
CHAR_setWorkInt( index, CHAR_WORKWALKSTARTMSEC , NowTime.tv_usec );
|
||||
}
|
||||
@ -916,13 +921,13 @@ void CHAR_walkcall( int index )
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 汹五铵户毛瓒 允月[
|
||||
* 娄醒
|
||||
* index int 平乓仿 匹及奶件犯永弁旦
|
||||
* dir char* 轾 侬
|
||||
* 歩き始めを登録する。
|
||||
* 引数
|
||||
* index int キャラ配列でのインデックス
|
||||
* dir char* 方向文字列
|
||||
* id int ID
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode )
|
||||
{
|
||||
@ -985,13 +990,13 @@ void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode )
|
||||
if( strlen( dir ) >= 1 ) CHAR_walkcall( index );
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 汹五及 赓
|
||||
* 娄醒
|
||||
* index int 平乓仿 匹及奶件犯永弁旦
|
||||
* dir char* 轾 侬
|
||||
* 歩きの最初
|
||||
* 引数
|
||||
* index int キャラ配列でのインデックス
|
||||
* dir char* 方向文字列
|
||||
* id int ID
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
* 返り値
|
||||
* なし
|
||||
------------------------------------------------------------*/
|
||||
void CHAR_walk_init( int fd, int x, int y, char *direction, BOOL mapsendmode)
|
||||
{
|
||||
@ -1381,9 +1386,9 @@ static void CHAR_sendCDCharaAtWalk( int charaindex, int of, int ox, int oy, int
|
||||
x = CHAR_getInt( charaindex, CHAR_X);
|
||||
y = CHAR_getInt( charaindex, CHAR_Y);
|
||||
|
||||
if( of != fl || /* 白夫失互啜丹 */
|
||||
ABS(x - ox) > seesiz/2 || /* 犒互 五中 */
|
||||
ABS(y - oy) > seesiz/2 ) /* 犒互 五中 */
|
||||
if( of != fl || /* フロアが違う */
|
||||
ABS(x - ox) > seesiz/2 || /* 差が大きい */
|
||||
ABS(y - oy) > seesiz/2 ) /* 差が大きい */
|
||||
return;
|
||||
|
||||
fd = getfdFromCharaIndex( charaindex );
|
||||
@ -1623,7 +1628,7 @@ CHAR_WALKRET CHAR_walk_jc( int charaindex, int of, int ox, int oy, int dir )
|
||||
ox = OBJECT_setX(objindex,CHAR_getInt(charaindex,CHAR_X));
|
||||
oy = OBJECT_setY(objindex,CHAR_getInt(charaindex,CHAR_Y));
|
||||
if( !MAP_objmove( objindex, of,ox,oy,ff,fx,fy ) ){
|
||||
/* 仇氏卅氏升丹仄方丹手卅中 */
|
||||
/* こんなんどうしようもない */
|
||||
fprint( "ERROR MAP_OBJMOVE objindex=%d(%s)\n",objindex,
|
||||
CHAR_getUseName( charaindex ) );
|
||||
}
|
||||
@ -1665,10 +1670,10 @@ CHAR_WALKRET CHAR_walk_jc( int charaindex, int of, int ox, int oy, int dir )
|
||||
ofunc = (OFFFUNC)CHAR_getFunctionPointer( OBJECT_getIndex(objindex), CHAR_OFFFUNC);
|
||||
break;
|
||||
case OBJTYPE_ITEM:
|
||||
/* 卞窒手仄卅中 */
|
||||
/* 別に何もしない */
|
||||
break;
|
||||
case OBJTYPE_GOLD:
|
||||
/* 卞窒手仄卅中 */
|
||||
/* 別に何もしない */
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -1946,7 +1946,7 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message )
|
||||
shift = shiftbit % 32;
|
||||
|
||||
if( array>=event_num ){
|
||||
sprintf( token, "错误!!你所设的任务旗标编号已超过 围(0~%d)。",32*event_num-1);
|
||||
sprintf( token, "错误!!你所设的任务旗标编号已超过范围(0~%d)。",32*event_num-1);
|
||||
CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE);
|
||||
return;
|
||||
}
|
||||
@ -2356,7 +2356,7 @@ void CHAR_CHAT_DEBUG_setmerge_main( int charaindex, char* message, int mode )
|
||||
}
|
||||
ITEM_setInt( itemindex, ITEM_MERGEFLG, mode);
|
||||
|
||||
CHAR_talkToCli( charaindex, -1, "宁岳白仿弘及丑综毛仄引仄凶[", CHAR_COLORWHITE);
|
||||
CHAR_talkToCli( charaindex, -1, "合成フラグの操作をしました。", CHAR_COLORWHITE);
|
||||
|
||||
CHAR_sendItemDataOne( charaindex, haveitemindex);
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ static Char slime=
|
||||
0, /* CHAR_FLOOR */
|
||||
0, /* CHAR_X */
|
||||
0, /* CHAR_Y */
|
||||
0, /* CHAR_DIR 12箕を0に箕纷件りに */
|
||||
0, /* CHAR_DIR 12時を0に時計周りに */
|
||||
0, /* CHAR_LV */
|
||||
0, /* CHAR_GOLD */
|
||||
1, /* CHAR_HP */
|
||||
@ -27,10 +27,10 @@ static Char slime=
|
||||
0, /* CHAR_CHARM */
|
||||
0, /* CHAR_LUCK */
|
||||
|
||||
0, /* 孟掳拉 */
|
||||
0, /* 垮掳拉 */
|
||||
0, /* 残掳拉 */
|
||||
0, /* 慎掳拉 */
|
||||
0, /* 地属性 */
|
||||
0, /* 水属性 */
|
||||
0, /* 火属性 */
|
||||
0, /* 風属性 */
|
||||
|
||||
0, /* CHAR_SLOT */
|
||||
0, /* CHAR_CRITIAL */
|
||||
|
@ -11,7 +11,7 @@ static Char player=
|
||||
0, /* CHAR_FLOOR */
|
||||
0, /* CHAR_X */
|
||||
0, /* CHAR_Y */
|
||||
5, /* CHAR_DIR 12箕を0に箕纷件りに */
|
||||
5, /* CHAR_DIR 12時を0に時計周りに */
|
||||
1, /* CHAR_LV */
|
||||
0, /* CHAR_GOLD */
|
||||
1, /* CHAR_HP */
|
||||
@ -26,10 +26,11 @@ static Char player=
|
||||
|
||||
0, /* CHAR_CHARM */
|
||||
0, /* CHAR_LUCK */
|
||||
0, /* 孟掳拉 */
|
||||
0, /* 垮掳拉 */
|
||||
0, /* 残掳拉 */
|
||||
0, /* 慎掳拉 */
|
||||
0, /* 地属性 */
|
||||
0, /* 水属性 */
|
||||
0, /* 火属性 */
|
||||
0, /* 風属性 */
|
||||
|
||||
|
||||
0, /* CHAR_SLOT*/
|
||||
0, /* CHAR_CRITIAL */
|
||||
|
235
char/encount.c
235
char/encount.c
@ -19,19 +19,19 @@
|
||||
#include "encount.h"
|
||||
#endif
|
||||
|
||||
/* 巨件市它件玄楮 及末□旦 */
|
||||
/* エンカウント関連のソース */
|
||||
|
||||
#ifndef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件
|
||||
typedef struct tagENCOUNT_Table
|
||||
{
|
||||
int index;
|
||||
int floor;
|
||||
int encountprob_min; /* 巨件市它件玄割 */
|
||||
int encountprob_max; /* 巨件市它件玄割 */
|
||||
int enemymaxnum; /* 升木分仃衬毛综月井 */
|
||||
int encountprob_min; /* エンカウント確率 */
|
||||
int encountprob_max; /* エンカウント確率 */
|
||||
int enemymaxnum; /* どれだけ敵を作るか */
|
||||
int zorder;
|
||||
int groupid[ENCOUNT_GROUPMAXNUM]; /* 弘伙□皿No */
|
||||
int createprob[ENCOUNT_GROUPMAXNUM]; /* 公及弘伙□皿及请蜇 */
|
||||
int groupid[ENCOUNT_GROUPMAXNUM]; /* グループNo */
|
||||
int createprob[ENCOUNT_GROUPMAXNUM]; /* そのグループの出現率 */
|
||||
RECT rect;
|
||||
}ENCOUNT_Table;
|
||||
ENCOUNT_Table *ENCOUNT_table;
|
||||
@ -47,12 +47,12 @@ static INLINE BOOL ENCOUNT_CHECKENCOUNTTABLEARRAY( int array)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 巨件市它件玄涩烂及赓渝祭毛允月[
|
||||
* 娄醒
|
||||
* filename char* 涩烂白央奶伙
|
||||
* 忒曰袄
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* エンカウント設定の初期化をする。
|
||||
* 引数
|
||||
* filename char* 設定ファイル名
|
||||
* 返り値
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
*------------------------------------------------------------*/
|
||||
BOOL ENCOUNT_initEncount( char* filename )
|
||||
{
|
||||
@ -69,7 +69,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
|
||||
ENCOUNT_encountnum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
if( line[0] == '#' )continue; /* comment */
|
||||
@ -94,7 +94,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
{
|
||||
int i,j;
|
||||
for( i = 0; i < ENCOUNT_encountnum; i ++ ) {
|
||||
@ -120,7 +120,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
}
|
||||
|
||||
/* 引凶 心 允 */
|
||||
/* また読み直す */
|
||||
linenum = 0;
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
@ -128,10 +128,11 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
if( line[0] == '\n' )continue; /* none */
|
||||
chomp( line );
|
||||
|
||||
/* 垫毛帮溥允月 */
|
||||
/* 引内 tab 毛 " " 卞 五晶尹月 */
|
||||
/* 行を整形する */
|
||||
/* まず tab を " " に置き換える */
|
||||
|
||||
replaceString( line, '\t' , ' ' );
|
||||
/* 燮 及旦矢□旦毛潸月[*/
|
||||
/* 先頭のスペースを取る。*/
|
||||
{
|
||||
int i;
|
||||
char buf[256];
|
||||
@ -151,7 +152,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
int x1,x2,y1,y2;
|
||||
int j;
|
||||
|
||||
/* 蘸户及伙□皿卞 匀凶凛及啃及赓渝祭 */
|
||||
/* 二度めのループに入った時の為の初期化 */
|
||||
ENCOUNT_table[encount_readlen].index = -1;
|
||||
ENCOUNT_table[encount_readlen].floor = 0;
|
||||
ENCOUNT_table[encount_readlen].encountprob_min = 1;
|
||||
@ -173,7 +174,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
#endif
|
||||
|
||||
|
||||
/* 夫午勾户及玄□弁件毛苇月 */
|
||||
/* ひとつめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",1,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -182,7 +183,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
ENCOUNT_table[encount_readlen].index = atoi(token);
|
||||
|
||||
/* 2勾户及玄□弁件毛苇月 */
|
||||
/* 2つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",2,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -191,7 +192,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
ENCOUNT_table[encount_readlen].floor = atoi(token);
|
||||
|
||||
/* 3勾户及玄□弁件毛苇月 */
|
||||
/* 3つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",3,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -200,7 +201,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
x1 = atoi(token);
|
||||
|
||||
/* 4勾户及玄□弁件毛苇月 */
|
||||
/* 4つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",4,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -209,7 +210,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
y1= atoi(token);
|
||||
|
||||
/* 5勾户及玄□弁件毛苇月 */
|
||||
/* 5つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",5,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -219,7 +220,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
|
||||
x2 = atoi(token);
|
||||
|
||||
/* 6勾户及玄□弁件毛苇月 */
|
||||
/* 6つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",6,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -233,7 +234,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
ENCOUNT_table[encount_readlen].rect.y = min(y1,y2);
|
||||
ENCOUNT_table[encount_readlen].rect.height = max(y1,y2) - min(y1,y2);
|
||||
|
||||
/* 7户及玄□弁件毛苇月 */
|
||||
/* 7めのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",7,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -242,7 +243,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
ENCOUNT_table[encount_readlen].encountprob_min = atoi(token);
|
||||
|
||||
/* 8户及玄□弁件毛苇月 */
|
||||
/* 8めのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",8,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -255,13 +256,13 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
int a,b;
|
||||
a = ENCOUNT_table[encount_readlen].encountprob_min;
|
||||
b = ENCOUNT_table[encount_readlen].encountprob_max;
|
||||
/* 凝及譬帮 */
|
||||
/* 大小の調整 */
|
||||
ENCOUNT_table[encount_readlen].encountprob_min
|
||||
= min( a,b);
|
||||
ENCOUNT_table[encount_readlen].encountprob_max
|
||||
= max( a,b);
|
||||
}
|
||||
/* 9勾户及玄□弁件毛苇月 */
|
||||
/* 9つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",9,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -270,14 +271,14 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
{
|
||||
int maxnum = atoi( token);
|
||||
/* 醒及恳癫岭及民尼永弁 */
|
||||
/* 数の正当性のチェック */
|
||||
if( maxnum < 1 || maxnum > ENCOUNT_ENEMYMAXCREATENUM ) {
|
||||
fprint("文件语法错误:%s 第%d行\n",filename,linenum);
|
||||
continue;
|
||||
}
|
||||
ENCOUNT_table[encount_readlen].enemymaxnum = maxnum;
|
||||
}
|
||||
/* 10户及玄□弁件毛苇月 */
|
||||
/* 10めのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",10,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -287,7 +288,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
ENCOUNT_table[encount_readlen].zorder = atoi(token);
|
||||
#define CREATEPROB_TOKEN 11
|
||||
|
||||
/* 11 31户及玄□弁件毛苇月 */
|
||||
/* 11~31めのトークンを見る */
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -310,7 +311,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
}
|
||||
}
|
||||
|
||||
/* 褐 民尼永弁 */
|
||||
/* 重複チェック */
|
||||
if( checkRedundancy( ENCOUNT_table[encount_readlen].groupid,
|
||||
arraysizeof( ENCOUNT_table[encount_readlen].groupid)))
|
||||
{
|
||||
@ -359,7 +360,7 @@ BOOL ENCOUNT_initEncount( char* filename )
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* 巨件市它件玄涩烂白央奶伙 心 仄
|
||||
* エンカウント設定ファイル読み直し
|
||||
*-----------------------------------------------------------------------*/
|
||||
BOOL ENCOUNT_reinitEncount( void )
|
||||
{
|
||||
@ -368,15 +369,15 @@ BOOL ENCOUNT_reinitEncount( void )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及ENCOUNT_table及骄侬毛譬屯月[
|
||||
* zorder及醒侬毛苇化穸燮赐匏及嫖中 毛潸 允月[
|
||||
* 娄醒
|
||||
* floor int 白夫失ID
|
||||
* x int x甄
|
||||
* y int y甄
|
||||
* 忒曰袄
|
||||
* 恳橘 骄侬
|
||||
* 潸 撩 -1
|
||||
* 指定された座標のENCOUNT_tableの添字を調べる。
|
||||
* zorderの数字を見て優先順位の高い物を取得する。
|
||||
* 引数
|
||||
* floor int フロアID
|
||||
* x int x座標
|
||||
* y int y座標
|
||||
* 返り値
|
||||
* 正常 添字
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getEncountAreaArray( int floor, int x, int y)
|
||||
{
|
||||
@ -388,8 +389,9 @@ int ENCOUNT_getEncountAreaArray( int floor, int x, int y)
|
||||
int curZorder = ENCOUNT_getZorderFromArray(i);
|
||||
if( curZorder >0) {
|
||||
if( index != -1 ) {
|
||||
/* 穸燮赐匏毛譬屯月 */
|
||||
/* 五中 穸燮 */
|
||||
/* 優先順位を調べる */
|
||||
/* 大きい方優先 */
|
||||
|
||||
if( curZorder > ENCOUNT_getZorderFromArray(index)) {
|
||||
index = i;
|
||||
}
|
||||
@ -405,14 +407,14 @@ int ENCOUNT_getEncountAreaArray( int floor, int x, int y)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及巨件市它件玄割 毛譬屯月[
|
||||
* 娄醒
|
||||
* floor int 白夫失ID
|
||||
* x int x甄
|
||||
* y int y甄
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓及割
|
||||
* 潸 撩 -1
|
||||
* 指定された座標のエンカウント確率を調べる。
|
||||
* 引数
|
||||
* floor int フロアID
|
||||
* x int x座標
|
||||
* y int y座標
|
||||
* 返り値
|
||||
* 正常 0以上の確率
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getEncountPercentMin( int charaindex, int floor , int x, int y )
|
||||
{
|
||||
@ -421,7 +423,7 @@ int ENCOUNT_getEncountPercentMin( int charaindex, int floor , int x, int y )
|
||||
ret = ENCOUNT_getEncountAreaArray( floor, x, y);
|
||||
if( ret != -1 ) {
|
||||
ret = ENCOUNT_table[ret].encountprob_min;
|
||||
/* 玄目夫旦躲绊毛勾仃月 */
|
||||
/* トヘロス効果をつける */
|
||||
if( CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT) > 0 ) {
|
||||
ret = ceil( ret *
|
||||
((100 + CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_CUTRATE))
|
||||
@ -433,14 +435,15 @@ int ENCOUNT_getEncountPercentMin( int charaindex, int floor , int x, int y )
|
||||
return ret;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及巨件市它件玄割 毛譬屯月[
|
||||
* 娄醒
|
||||
* floor int 白夫失ID
|
||||
* x int x甄
|
||||
* y int y甄
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓及割
|
||||
* 潸 撩 -1
|
||||
* 指定された座標のエンカウント確率を調べる。
|
||||
* 引数
|
||||
* floor int フロアID
|
||||
* x int x座標
|
||||
* y int y座標
|
||||
* 返り値
|
||||
* 正常 0以上の確率
|
||||
* 取得失敗 -1
|
||||
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getEncountPercentMax( int charaindex, int floor , int x, int y )
|
||||
{
|
||||
@ -449,7 +452,7 @@ int ENCOUNT_getEncountPercentMax( int charaindex, int floor , int x, int y )
|
||||
ret = ENCOUNT_getEncountAreaArray( floor, x, y);
|
||||
if( ret != -1 ) {
|
||||
ret = ENCOUNT_table[ret].encountprob_max;
|
||||
/* 玄目夫旦躲绊毛勾仃月 */
|
||||
/* トヘロス効果をつける */
|
||||
if( CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT) > 0 ) {
|
||||
ret = ceil( ret *
|
||||
((100 + CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_CUTRATE))
|
||||
@ -461,14 +464,15 @@ int ENCOUNT_getEncountPercentMax( int charaindex, int floor , int x, int y )
|
||||
return ret;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及衬戏岳MAX醒毛譬屯月[
|
||||
* 娄醒
|
||||
* floor int 白夫失ID
|
||||
* x int x甄
|
||||
* y int y甄
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓及割
|
||||
* 潸 撩 -1
|
||||
* 指定された座標の敵生成MAX数を調べる。
|
||||
* 引数
|
||||
* floor int フロアID
|
||||
* x int x座標
|
||||
* y int y座標
|
||||
* 返り値
|
||||
* 正常 0以上の確率
|
||||
* 取得失敗 -1
|
||||
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getCreateEnemyMaxNum( int floor , int x, int y )
|
||||
{
|
||||
@ -481,14 +485,14 @@ int ENCOUNT_getCreateEnemyMaxNum( int floor , int x, int y )
|
||||
return ret;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及巨件市它件玄白奴□伙玉及index毛譬屯月[
|
||||
* 娄醒
|
||||
* floor int 白夫失ID
|
||||
* x int x甄
|
||||
* y int y甄
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された座標のエンカウントフィールドのindexを調べる。
|
||||
* 引数
|
||||
* floor int フロアID
|
||||
* x int x座標
|
||||
* y int y座標
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getEncountIndex( int floor , int x, int y )
|
||||
{
|
||||
@ -501,12 +505,12 @@ int ENCOUNT_getEncountIndex( int floor , int x, int y )
|
||||
return ret;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及巨件市它件玄白奴□伙玉及index毛譬屯月[
|
||||
* 娄醒
|
||||
* array int ENCOUNTTABLE及骄侬
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された座標のエンカウントフィールドのindexを調べる。
|
||||
* 引数
|
||||
* array int ENCOUNTTABLEの添字
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getEncountIndexFromArray( int array )
|
||||
{
|
||||
@ -514,12 +518,12 @@ int ENCOUNT_getEncountIndexFromArray( int array )
|
||||
return ENCOUNT_table[array].index;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及巨件市它件玄割 毛譬屯月[
|
||||
* 娄醒
|
||||
* array int ENCOUNTTABLE及骄侬
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された座標のエンカウント確率を調べる。
|
||||
* 引数
|
||||
* array int ENCOUNTTABLEの添字
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getEncountPercentFromArray( int array )
|
||||
{
|
||||
@ -527,12 +531,12 @@ int ENCOUNT_getEncountPercentFromArray( int array )
|
||||
return ENCOUNT_table[array].encountprob_min;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶甄 及衬戏岳MAX醒毛譬屯月[
|
||||
* 娄醒
|
||||
* array int ENCOUNTTABLE及骄侬
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された座標の敵生成MAX数を調べる。
|
||||
* 引数
|
||||
* array int ENCOUNTTABLEの添字
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getCreateEnemyMaxNumFromArray( int array )
|
||||
{
|
||||
@ -540,12 +544,13 @@ int ENCOUNT_getCreateEnemyMaxNumFromArray( int array )
|
||||
return ENCOUNT_table[array].enemymaxnum;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶骄侬及弘伙□皿 寞毛譬屯月[
|
||||
* 娄醒
|
||||
* array int ENCOUNTTABLE及骄侬
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された添字のグループ番号を調べる。
|
||||
* 引数
|
||||
* array int ENCOUNTTABLEの添字
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getGroupIdFromArray( int array, int grouparray )
|
||||
{
|
||||
@ -553,12 +558,12 @@ int ENCOUNT_getGroupIdFromArray( int array, int grouparray )
|
||||
return ENCOUNT_table[array].groupid[grouparray];
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶骄侬及弘伙□皿及请蜇 毛譬屯月[
|
||||
* 娄醒
|
||||
* array int ENCOUNTTABLE及骄侬
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された添字のグループの出現率を調べる。
|
||||
* 引数
|
||||
* array int ENCOUNTTABLEの添字
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getGroupProbFromArray( int array, int grouparray )
|
||||
{
|
||||
@ -566,12 +571,12 @@ int ENCOUNT_getGroupProbFromArray( int array, int grouparray )
|
||||
return ENCOUNT_table[array].createprob[grouparray];
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶骄侬及穸燮赐匏毛譬屯月[
|
||||
* 娄醒
|
||||
* array int ENCOUNTTABLE及骄侬
|
||||
* 忒曰袄
|
||||
* 恳橘 ㄟ动晓
|
||||
* 潸 撩 -1
|
||||
* 指定された添字の優先順位を調べる。
|
||||
* 引数
|
||||
* array int ENCOUNTTABLEの添字
|
||||
* 返り値
|
||||
* 正常 0以上
|
||||
* 取得失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int ENCOUNT_getZorderFromArray( int array )
|
||||
{
|
||||
|
182
char/enemy.c
182
char/enemy.c
@ -221,7 +221,7 @@ BOOL ENEMYTEMP_initEnemy( char* filename )
|
||||
|
||||
ENEMYTEMP_enemynum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
if( line[0] == '#' )continue; /* comment */
|
||||
@ -245,7 +245,7 @@ BOOL ENEMYTEMP_initEnemy( char* filename )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
for( i = 0; i < ENEMYTEMP_enemynum; i ++ ) {
|
||||
for( j = 0; j < E_T_DATAINTNUM; j ++ ) {
|
||||
ENEMYTEMP_setInt( i,j,-1);
|
||||
@ -475,7 +475,7 @@ BOOL ENEMY_initEnemy( char* filename )
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* ENEMY_enemy及涩烂白央奶伙 心 仄
|
||||
* ENEMY_enemyの設定ファイル読み直し
|
||||
*-----------------------------------------------------------------------*/
|
||||
BOOL ENEMY_reinitEnemy( void )
|
||||
{
|
||||
@ -484,7 +484,7 @@ BOOL ENEMY_reinitEnemy( void )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
ENEMY_Enemy及骄侬毛襞月
|
||||
ENEMY_Enemyの添字を知る
|
||||
*-----------------------------------------------------------------------*/
|
||||
int ENEMY_getEnemyArrayFromIndex( int groupindex, int index)
|
||||
{
|
||||
@ -493,7 +493,7 @@ int ENEMY_getEnemyArrayFromIndex( int groupindex, int index)
|
||||
return GROUP_group[groupindex].enemyarray[index];
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* ENEMY_ID 井日ENEMY_Enemy及骄侬毛襞月
|
||||
* ENEMY_ID からENEMY_Enemyの添字を知る
|
||||
*-----------------------------------------------------------------------*/
|
||||
int ENEMY_getEnemyArrayFromId( int EnemyId)
|
||||
{
|
||||
@ -540,7 +540,7 @@ int ENEMY_getEnemyTempNoFromId( int EnemyId)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* 弘伙□皿涩烂白央奶伙毛 戈
|
||||
* グループ設定ファイルを読む
|
||||
*-----------------------------------------------------------------------*/
|
||||
BOOL GROUP_initGroup( char* filename )
|
||||
{
|
||||
@ -558,7 +558,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
|
||||
GROUP_groupnum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
if( line[0] == '#' )continue; /* comment */
|
||||
@ -582,7 +582,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
fclose( f );
|
||||
return FALSE;
|
||||
}
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
for( i = 0; i < GROUP_groupnum; i ++ ) {
|
||||
for( j = 0; j < GROUP_DATAINTNUM; j ++ ) {
|
||||
GROUP_setInt( i,j,-1);
|
||||
@ -592,7 +592,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
}
|
||||
}
|
||||
|
||||
/* 引凶 心 允 */
|
||||
/* また読み直す */
|
||||
linenum = 0;
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
@ -600,10 +600,10 @@ BOOL GROUP_initGroup( char* filename )
|
||||
if( line[0] == '\n' )continue; /* none */
|
||||
chomp( line );
|
||||
|
||||
/* 垫毛帮溥允月 */
|
||||
/* 引内 tab 毛 " " 卞 五晶尹月 */
|
||||
/* 行を整形する */
|
||||
/* まず tab を " " に置き換える */
|
||||
replaceString( line, '\t' , ' ' );
|
||||
/* 燮 及旦矢□旦毛潸月[*/
|
||||
/* 先頭のスペースを取る */
|
||||
{
|
||||
char buf[256];
|
||||
for( i = 0; i < strlen( line); i ++) {
|
||||
@ -621,7 +621,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
int ret;
|
||||
int loop;
|
||||
|
||||
/* 手仄手ㄡ蘸户及伙□皿卞 匀凶凛及凶户卞赓渝祭仄化云仁 */
|
||||
/* もしも2度めのループに入った時のために初期化しておく */
|
||||
for( j = 0; j < GROUP_DATAINTNUM; j ++ ) {
|
||||
GROUP_setInt( group_readlen,j,-1);
|
||||
}
|
||||
@ -629,7 +629,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
GROUP_group[group_readlen].enemyarray[j] = -1;
|
||||
}
|
||||
|
||||
/* 夫午勾户及玄□弁件毛苇月 */
|
||||
/* ひとつめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",1,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -638,7 +638,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
}
|
||||
GROUP_setChar( group_readlen, GROUP_NAME, token);
|
||||
|
||||
/* 2勾 动嫦反醒袄犯□正 */
|
||||
/* 2つ目以降は数値データ */
|
||||
#define GROUP_STARTINTNUM 2
|
||||
for( i = GROUP_STARTINTNUM; i < GROUP_DATAINTNUM+GROUP_STARTINTNUM; i ++ ) {
|
||||
ret = getStringFromIndexWithDelim( line,",",i,token,
|
||||
@ -700,7 +700,7 @@ BOOL GROUP_initGroup( char* filename )
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* 弘伙□皿及涩烂白央奶伙 心 仄
|
||||
* グループの設定ファイル読み直し
|
||||
*-----------------------------------------------------------------------*/
|
||||
BOOL GROUP_reinitGroup( void )
|
||||
{
|
||||
@ -708,7 +708,7 @@ BOOL GROUP_reinitGroup( void )
|
||||
return( GROUP_initGroup( getGroupfile()));
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* GROUP_ID 井日GROUP_Group及骄侬毛襞月
|
||||
* GROUP_ID からGROUP_Groupの添字を知る
|
||||
*-----------------------------------------------------------------------*/
|
||||
int GROUP_getGroupArray( int groupid)
|
||||
{
|
||||
@ -721,7 +721,7 @@ int GROUP_getGroupArray( int groupid)
|
||||
return -1;
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* 潸 烦董袄毛综岳允月[
|
||||
* 取得経験値を作成する。
|
||||
*-----------------------------------------------------------------------*/
|
||||
static int ENEMY_getExp( int array,int tarray, int level, int rank )
|
||||
{
|
||||
@ -747,7 +747,7 @@ static int ENEMY_getExp( int array,int tarray, int level, int rank )
|
||||
p = ENEMY_enemy[array].intdata;
|
||||
tp = ENEMYTEMP_enemy[tarray].intdata;
|
||||
|
||||
// 仿件弁井日 毛潸
|
||||
// ランクから比率を取得
|
||||
if( rank < 0 || rank > 5 ) rank = 0;
|
||||
ranknum = ranktbl[rank].rank;
|
||||
|
||||
@ -756,7 +756,7 @@ static int ENEMY_getExp( int array,int tarray, int level, int rank )
|
||||
+ *( tp + E_T_STONE) + *( tp + E_T_DRUNK) + *(tp + E_T_CONFUSION)
|
||||
) / 100.0
|
||||
+ *( tp + E_T_RARE);
|
||||
/* EXP>湘 EXP≈- 仿件弁≈汐 ←伊矛伙×*/
|
||||
/* EXP=基本EXP+{(ランク+α)*レベル} */
|
||||
//return enemybaseexptbl[*(p+ENEMY_LV)] + (ranknum + alpha)*(*(tp+ENEMY_LV));
|
||||
ret = enemybaseexptbl[level] + (ranknum + alpha)*(level+1);
|
||||
return ( ret < 1 ) ? 1 : ret;
|
||||
@ -785,14 +785,15 @@ int ENEMY_getRank( int array, int tarray ){
|
||||
|
||||
p = ENEMY_enemy[array].intdata;
|
||||
tp = ENEMYTEMP_enemy[tarray].intdata;
|
||||
/* 仿件弁毛煌遥允月 */
|
||||
/* 仇及 及酷 反酷 踏毛辅哔及仪[ */
|
||||
/* ランクを計算する */
|
||||
/* この辺の仕様は仕様書を参考の事。 */
|
||||
|
||||
paramsum = *( tp + E_T_BASEVITAL) +
|
||||
*( tp + E_T_BASESTR) +
|
||||
*( tp + E_T_BASETGH) +
|
||||
*( tp + E_T_BASEDEX);
|
||||
|
||||
ranknum = 0; // 犯白巧伙玄反ㄟ
|
||||
ranknum = 0; // デフォルトは0
|
||||
for( i = 0; i < arraysizeof( ranktbl); i ++ ) {
|
||||
if( paramsum >= ranktbl[i].num ) {
|
||||
ranknum = i;
|
||||
@ -806,29 +807,29 @@ int ENEMY_getRank( int array, int tarray ){
|
||||
|
||||
|
||||
//*********************************************************
|
||||
// 仿件母丞卅
|
||||
// ランダムな技
|
||||
//*********************************************************
|
||||
static int EnemyGymSkill[] = {
|
||||
PETSKILL_GUARDBREAK, // ㄢ“布□玉旰仄(3)
|
||||
PETSKILL_CONTINUATIONATTACK1, // ㄠㄟ“ 粮 猾(10)
|
||||
PETSKILL_CONTINUATIONATTACK2, // ㄠㄠ“ 粮 猾(11)
|
||||
PETSKILL_CONTINUATIONATTACK3, // ㄠㄡ“ 粮 猾(12)
|
||||
PETSKILL_CHARGE1, // ㄢㄟ“民乓□斥ㄠ(30)
|
||||
PETSKILL_CHARGE2, // ㄢㄠ“民乓□斥ㄡ(31)
|
||||
PETSKILL_MIGHTY1, // ㄣㄟ“域猾 诮(40)
|
||||
PETSKILL_MIGHTY2, // ㄣㄠ“域猾 诮(41)
|
||||
PETSKILL_POWERBALANCE1, // ㄤㄟ“ 及讽ㄠ(50)
|
||||
PETSKILL_POWERBALANCE2, // ㄤㄠ“ 及讽ㄡ(51)
|
||||
PETSKILL_POWERBALANCE3, // ㄤㄡ“ 及讽ㄢ(52)
|
||||
PETSKILL_POISON_ATTACK1, // ㄥㄟ“ 猾(60)
|
||||
PETSKILL_POISON_ATTACK2, // ㄥㄠ“ 猾(61)
|
||||
PETSKILL_STONE, // ㄧㄟ“檗祭 猾(80)
|
||||
PETSKILL_CONFUSION_ATTACK, // ㄨㄟ“渔刭 猾(90)
|
||||
PETSKILL_DRUNK_ATTACK, // ㄠㄟㄟ“听办 猾(100)
|
||||
PETSKILL_SLEEP_ATTACK, // ㄠㄠㄟ“戽曰 猾(110)
|
||||
PETSKILL_NOGUARD1, // ㄠㄤㄟ“用□布□玉ㄠ(150)
|
||||
PETSKILL_NOGUARD2, // ㄠㄤㄠ“用□布□玉ㄡ(151)
|
||||
PETSKILL_NOGUARD3, // ㄠㄤㄡ“用□布□玉ㄢ(152)
|
||||
PETSKILL_GUARDBREAK, // 3:ガード崩し(3)
|
||||
PETSKILL_CONTINUATIONATTACK1, // 10:連続攻撃(10)
|
||||
PETSKILL_CONTINUATIONATTACK2, // 11:連続攻撃(11)
|
||||
PETSKILL_CONTINUATIONATTACK3, // 12:連続攻撃(12)
|
||||
PETSKILL_CHARGE1, // 30:チャージ1(30)
|
||||
PETSKILL_CHARGE2, // 31:チャージ2(31)
|
||||
PETSKILL_MIGHTY1, // 40:一撃必殺(40)
|
||||
PETSKILL_MIGHTY2, // 41:一撃必殺(41)
|
||||
PETSKILL_POWERBALANCE1, // 50:背水の陣1(50)
|
||||
PETSKILL_POWERBALANCE2, // 51:背水の陣2(51)
|
||||
PETSKILL_POWERBALANCE3, // 52:背水の陣3(52)
|
||||
PETSKILL_POISON_ATTACK1, // 60:毒攻撃(60)
|
||||
PETSKILL_POISON_ATTACK2, // 61:毒攻撃(61)
|
||||
PETSKILL_STONE, // 80:石化攻撃(80)
|
||||
PETSKILL_CONFUSION_ATTACK, // 90:混乱攻撃(90)
|
||||
PETSKILL_DRUNK_ATTACK, // 100:泥酔攻撃(100)
|
||||
PETSKILL_SLEEP_ATTACK, // 110:眠り攻撃(110)
|
||||
PETSKILL_NOGUARD1, // 150:ノーガード1(150)
|
||||
PETSKILL_NOGUARD2, // 151:ノーガード2(151)
|
||||
PETSKILL_NOGUARD3, // 152:ノーガード3(152)
|
||||
#ifdef _PSKILL_FALLGROUND
|
||||
PETSKILL_FALLGROUND, //落马术
|
||||
#endif
|
||||
@ -908,29 +909,29 @@ static int gymbody[] = {
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* ENEMY{卞仿件母丞卅 毛芨尹月
|
||||
* ENEMY にランダムな能力を与える
|
||||
*-----------------------------------------------------------------------*/
|
||||
int ENEMY_RandomChange( int enemyindex, int tempno )
|
||||
{
|
||||
int work, work2, iRet = 0;
|
||||
|
||||
// 仿件母丞平乓仿井升丹井民尼永弁
|
||||
// ランダムキャラかどうかチェック
|
||||
if( ( 564 <= tempno && tempno <= 580 )
|
||||
|| ( 739 <= tempno && tempno <= 750 )
|
||||
|| ( 895 <= tempno && tempno <= 906 )
|
||||
){
|
||||
//********************************************
|
||||
// 皿伊奶乩□及涌
|
||||
// プレイヤーの顔
|
||||
//********************************************
|
||||
iRet = 1;
|
||||
}else
|
||||
// 仿件母丞平乓仿井升丹井民尼永弁
|
||||
// ランダムキャラかどうかチェック
|
||||
if( ( 655 <= tempno && tempno <= 720 )
|
||||
|| ( 859 <= tempno && tempno <= 894 )
|
||||
|| ( 907 <= tempno && tempno <= 940 )
|
||||
){
|
||||
//********************************************
|
||||
// 矢永玄及涌
|
||||
// ペットの顔
|
||||
//********************************************
|
||||
iRet = 2;
|
||||
}else{
|
||||
@ -941,15 +942,15 @@ int ENEMY_RandomChange( int enemyindex, int tempno )
|
||||
if( iRet == 1 ){
|
||||
//********************************************
|
||||
//
|
||||
// 皿伊奶乩□及涌仄凶衬卅及匹}箪岭手仿件母丞
|
||||
// プレイヤーの顔した敵なので、属性もランダム
|
||||
//
|
||||
//********************************************
|
||||
// 铣手仿件母丞
|
||||
// 姿もランダム
|
||||
CHAR_setInt( enemyindex, CHAR_BASEBASEIMAGENUMBER,
|
||||
gymbody[RAND( 0, arraysizeof( gymbody ) - 1)] );
|
||||
CHAR_setInt( enemyindex, CHAR_BASEIMAGENUMBER,
|
||||
CHAR_getInt( enemyindex, CHAR_BASEBASEIMAGENUMBER ) );
|
||||
// 箪岭反赝癫
|
||||
// 属性は適当
|
||||
work = ( RAND( 0, 20 ) - 10 ) * 10;
|
||||
work2 = 100 - ABS( work );
|
||||
CHAR_setInt( enemyindex, CHAR_EARTHAT, work );
|
||||
@ -960,28 +961,29 @@ int ENEMY_RandomChange( int enemyindex, int tempno )
|
||||
CHAR_setInt( enemyindex, CHAR_WATERAT, work2 );
|
||||
CHAR_setInt( enemyindex, CHAR_WINDAT, -work2 );
|
||||
|
||||
// 仿件母丞卅 湛毛 凶六月
|
||||
// ランダムな武器を持たせる
|
||||
if( DoujyouRandomWeponSet( enemyindex ) ){
|
||||
// 溃 湛及桦宁反骚橘 猾毛勾仃月
|
||||
// 特殊武器の場合は通常攻撃をつける
|
||||
CHAR_setPetSkill( enemyindex, 0, PETSKILL_NORMALATTACK );
|
||||
CHAR_setPetSkill( enemyindex, 1, PETSKILL_NORMALATTACK );
|
||||
}else{
|
||||
// 溃 湛元扎卅中及匹 勾仃月
|
||||
// 毛尥仃月
|
||||
// 特殊武器じゃないので技つける
|
||||
// 技を付ける
|
||||
CHAR_setPetSkill( enemyindex, 0,
|
||||
EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] );
|
||||
// 毛尥仃月
|
||||
// 技を付ける
|
||||
CHAR_setPetSkill( enemyindex, 1,
|
||||
EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] );
|
||||
}
|
||||
|
||||
}else
|
||||
if( iRet == 2 ){
|
||||
// 溃 湛元扎卅中及匹 勾仃月
|
||||
// 毛尥仃月
|
||||
// 特殊武器じゃないので技つける
|
||||
// 技を付ける
|
||||
|
||||
CHAR_setPetSkill( enemyindex, 0,
|
||||
EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] );
|
||||
// 毛尥仃月
|
||||
// 技を付ける
|
||||
CHAR_setPetSkill( enemyindex, 1,
|
||||
EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] );
|
||||
}
|
||||
@ -992,7 +994,7 @@ int ENEMY_RandomChange( int enemyindex, int tempno )
|
||||
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* ENEMY_enemy井日平乓仿弁正□毛综岳允月[
|
||||
* ENEMY_enemyからキャラクターを作成する。
|
||||
*-----------------------------------------------------------------------*/
|
||||
int ENEMY_createEnemy( int array, int baselevel )
|
||||
{
|
||||
@ -1011,50 +1013,50 @@ int ENEMY_createEnemy( int array, int baselevel )
|
||||
tarray = ENEMYTEMP_getEnemyTempArray( array);
|
||||
if( !ENEMYTEMP_CHECKINDEX( tarray)) return -1;
|
||||
// tp = ENEMYTEMP_enemy[tarray].intdata;
|
||||
// 犯□正戊疋□
|
||||
// データコピー
|
||||
for( i = 0; i < E_T_DATAINTNUM; i ++ ){
|
||||
tp[i] = ENEMYTEMP_enemy[tarray].intdata[i];
|
||||
}
|
||||
|
||||
// 赓渝祭
|
||||
// 配列初期化
|
||||
memset( &CharNew, 0, sizeof( Char ) );
|
||||
|
||||
if( !CHAR_getDefaultChar( &CharNew,31010 ) )return -1;
|
||||
|
||||
/* 飓 寞 */
|
||||
/* 画像番号 */
|
||||
CharNew.data[CHAR_BASEBASEIMAGENUMBER]
|
||||
= CharNew.data[CHAR_BASEIMAGENUMBER] = *(tp+E_T_IMGNUMBER);
|
||||
/* 衬匹丐月午涩烂允月 */
|
||||
/* 敵であると設定する */
|
||||
CharNew.data[CHAR_WHICHTYPE] = CHAR_TYPEENEMY;
|
||||
/* 毛壅允 */
|
||||
/* dpを消す */
|
||||
CharNew.data[CHAR_DUELPOINT] = 0;
|
||||
|
||||
/* 伊矛伙毛瑁烂允月[ */
|
||||
/* レベルを決定する */
|
||||
if( baselevel > 0 ){
|
||||
level = baselevel; // 伊矛伙裔烂
|
||||
level = baselevel; // レベル固定
|
||||
}else{
|
||||
level = RAND( (*(p + ENEMY_LV_MIN)), (*(p+ ENEMY_LV_MAX)));
|
||||
}
|
||||
#define E_PAR( a) (*(p + (a)))
|
||||
#define ET_PAR( a) (*(tp + (a)))
|
||||
/* 由仿丢□正隙醒井日 端及湘 由仿丢□正尺及煌遥挚 */
|
||||
/* パラメータ指数から実際の基本パラメータへの計算式 */
|
||||
#if 1
|
||||
#define PARAM_CAL( l) ( ( level -1)*ET_PAR( E_T_LVUPPOINT)+ ET_PAR(E_T_INITNUM)) * ET_PAR( (l))
|
||||
#else
|
||||
#define PARAM_CAL( l) ( (E_PAR(ENEMY_LV) -1)*ET_PAR( E_T_LVUPPOINT)+ ET_PAR(E_T_INITNUM)) * ET_PAR( (l))
|
||||
#endif
|
||||
/* 燮内湘 喃曰蕊曰禾奶件玄卞+ㄡ毛仿件母丞匹垫丹 */
|
||||
/* 先ず基本割り振りポイントに±2をランダムで行う */
|
||||
tp[E_T_BASEVITAL] += RAND( 0, 4 ) - 2;
|
||||
tp[E_T_BASESTR] += RAND( 0, 4 ) - 2;
|
||||
tp[E_T_BASETGH] += RAND( 0, 4 ) - 2;
|
||||
tp[E_T_BASEDEX] += RAND( 0, 4 ) - 2;
|
||||
/* 仇及凛鳔匹喃曰蕊曰禾奶件玄毛忡绣仄化云仁 */
|
||||
/* この時点で割り振りポイントを保存しておく */
|
||||
CharNew.data[CHAR_ALLOCPOINT]
|
||||
= ( tp[E_T_BASEVITAL] << 24 )
|
||||
+ ( tp[E_T_BASESTR] << 16 )
|
||||
+ ( tp[E_T_BASETGH] << 8 )
|
||||
+ ( tp[E_T_BASEDEX] << 0 );
|
||||
/* 公及 }仿件母丞匹禾奶件玄毛ㄠ勿勾笛遥[仇木毛ㄠㄟ荚楞曰忒允[*/
|
||||
/* その後、ランダムでポイントを1づつ加算。これを10回繰り返す */
|
||||
for( i = 0; i < 10; i ++ ){
|
||||
int work = RAND( 0, 3 );
|
||||
if( work == 0 )tp[E_T_BASEVITAL]++;
|
||||
@ -1063,7 +1065,7 @@ int ENEMY_createEnemy( int array, int baselevel )
|
||||
if( work == 3 )tp[E_T_BASEDEX]++;
|
||||
}
|
||||
|
||||
/* 由仿丢□正本永玄 */
|
||||
/* パラメータセット */
|
||||
CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL);
|
||||
CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR);
|
||||
CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH);
|
||||
@ -1139,13 +1141,13 @@ if (CHAR_getInt( newindex, CHAR_LV) == 1){//宝宝
|
||||
{ int style, wepon = -1;
|
||||
style = (*(p + ENEMY_STYLE));
|
||||
switch( style ){
|
||||
case 1: wepon = 0;break; //
|
||||
case 2: wepon = 100;break; // 轺徇
|
||||
case 3: wepon = 200;break; // 键
|
||||
case 4: wepon = 400;break; // 菰
|
||||
case 5: wepon = 500;break; // 皮□丢仿件
|
||||
case 6: wepon = 700;break; // 髑仆檗
|
||||
case 7: wepon = 600;break; // 髑仆
|
||||
case 1: wepon = 0;break; // 斧
|
||||
case 2: wepon = 100;break; // 棍棒
|
||||
case 3: wepon = 200;break; // 槍
|
||||
case 4: wepon = 400;break; // 弓
|
||||
case 5: wepon = 500;break; // ブーメラン
|
||||
case 6: wepon = 700;break; // 投げ石
|
||||
case 7: wepon = 600;break; // 投げ斧
|
||||
default:break;
|
||||
}
|
||||
if( wepon >= 0 ){
|
||||
@ -1246,35 +1248,35 @@ static RANDOMENEMY RandomEnemyTbl[] = {
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 衬 涩烂及摹 寞互 溃卅袄卅日仿件母丞卞涩烂允月
|
||||
* 敵本体設定の識別番号が特殊な値ならランダムに設定する
|
||||
------------------------------------------------------------*/
|
||||
int ENEMY_RandomEnemyArray( int e_array, int *pNew )
|
||||
{
|
||||
int i = 0, randwork, work;
|
||||
// RANDOMENEMY *pRandomEnemy;
|
||||
*pNew = -1;
|
||||
// 仇及 区反仿件母丞
|
||||
// この範囲はランダム
|
||||
if(
|
||||
( RANDOMENEMY_TOP <= e_array && e_array <= RANDOMENEMY_END )
|
||||
|| ( 964 <= e_array && e_array <= 969 )
|
||||
){
|
||||
// 升及母立□井譬屯月
|
||||
// どのダミーか調べる
|
||||
for( i = 0; i < arraysizeof( RandomEnemyTbl ); i ++ ){
|
||||
if( RandomEnemyTbl[i].num == e_array ){
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 区毛译尹化中凶日巨仿□匹 仃月
|
||||
// 範囲を超えていたらエラーで抜ける
|
||||
if( i >= arraysizeof( RandomEnemyTbl ) ) return 0;
|
||||
|
||||
// 仿件母丞涩烂
|
||||
// ランダム設定
|
||||
randwork = RAND( 0, RandomEnemyTbl[i].arraysize - 1 );
|
||||
// 井日蕙仄中 寞毛潸
|
||||
// 配列から新しい番号を取得
|
||||
work = RandomEnemyTbl[i].pTbl[randwork];
|
||||
*pNew = ENEMY_getEnemyArrayFromId( work );
|
||||
return 1;
|
||||
}else{
|
||||
// 窒仪手卅中
|
||||
// 何事もない
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -1525,7 +1527,7 @@ int ENEMY_createPetFromEnemyIndex( int charaindex, int array)
|
||||
if( work == 2 )tp[E_T_BASETGH]++;
|
||||
if( work == 3 )tp[E_T_BASEDEX]++;
|
||||
}
|
||||
/* 由仿丢□正本永玄 */
|
||||
/* パラメータセット */
|
||||
CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL);
|
||||
CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR);
|
||||
CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH);
|
||||
@ -1657,7 +1659,7 @@ int ENEMY_createPet( int array, int vital, int str, int tgh, int dex)
|
||||
if( work == 2 )tp[E_T_BASETGH]++;
|
||||
if( work == 3 )tp[E_T_BASEDEX]++;
|
||||
}
|
||||
/* 由仿丢□正本永玄 */
|
||||
/* パラメータセット */
|
||||
CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL);
|
||||
CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR);
|
||||
CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH);
|
||||
@ -1781,7 +1783,7 @@ int ENEMY_createPetFromEnemyBaseIndex( int charaindex, int array, int level )
|
||||
if( work == 2 )tp[E_T_BASETGH]++;
|
||||
if( work == 3 )tp[E_T_BASEDEX]++;
|
||||
}
|
||||
/* 由仿丢□正本永玄 */
|
||||
/* パラメータセット */
|
||||
CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL);
|
||||
CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR);
|
||||
CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH);
|
||||
|
@ -18,11 +18,11 @@ static int EVENY_npcEncount( int charaindex,int echaraindex,int fl,int x, int y
|
||||
typedef int (*FUNC)( int charaindex,int echaraindex,int fl,int x, int y );
|
||||
static FUNC functbl[] = {
|
||||
NULL,
|
||||
NULL, /* 裔烂NPC */
|
||||
EVENY_npcEncount, /* 裔烂衬巨件市它件玄 */
|
||||
NULL, /* 固定NPC */
|
||||
EVENY_npcEncount, /* 固定敵エンカウント */
|
||||
EVENT_onWarpNPC, /* warp*/
|
||||
NULL, /* 裔烂NPC */
|
||||
NULL, /* 裔烂NPC */
|
||||
NULL, /* 固定NPC */
|
||||
NULL, /* 固定NPC */
|
||||
EVENT_onWarpNPC, /* warp*/
|
||||
EVENT_onWarpNPC, /* warp*/
|
||||
EVENT_onWarpNPC, /* warp*/
|
||||
|
52
char/pet.c
52
char/pet.c
@ -17,12 +17,12 @@
|
||||
|
||||
|
||||
/*
|
||||
* 矢永玄质 卞楮允月末□旦
|
||||
* ペット処理に関するソース
|
||||
*/
|
||||
/*------------------------------------------------------------------------
|
||||
* 矢永玄毛ㄠ勾喃曰癫化月[犯田永弘迕[
|
||||
* CHAR厌瞻 卞及心综岳今木月[
|
||||
* 曰袄“综岳今木凶平乓仿index 撩 “-1
|
||||
* ペットを1つ割り当てる。デバッグ用。
|
||||
* CHAR構造体にのみ作成される。
|
||||
* 戻り値:作成されたキャラindex 失敗:-1
|
||||
*-----------------------------------------------------------------------*/
|
||||
char hanzibuf[5000][8] = {"阿","啊","哀","唉","挨","矮","爱","碍","安","岸","按","案","暗","昂","袄","傲","奥","八","巴","扒","吧","疤","拔","把","坝","爸","罢","霸","白","百","柏","摆","败","拜","班","般","斑","搬","板","版","办",
|
||||
"半","伴","扮","拌","瓣","帮","绑","榜","膀","傍","棒","包","胞","雹","宝","饱","保","堡","报","抱","暴","爆","杯","悲","碑","北","贝","备","背","倍","被","辈","奔","本","笨","蹦","逼","鼻","比","彼","笔",
|
||||
@ -152,31 +152,31 @@ int PET_DEBUG_initPetOne( int charaindex)
|
||||
Char ch;
|
||||
int havepetindex;
|
||||
int index;
|
||||
/* 矢永玄毛 化月井譬屯月 */
|
||||
/* ペットを持てるか調べる */
|
||||
havepetindex = CHAR_getCharPetElement( charaindex) ;
|
||||
|
||||
memset( &ch, 0, sizeof( ch));
|
||||
if( !CHAR_getDefaultChar( &ch,31010 ) )return -1;
|
||||
|
||||
/* 飓 寞 */
|
||||
/* 画像番号 */
|
||||
ch.data[CHAR_BASEBASEIMAGENUMBER]
|
||||
= ch.data[CHAR_BASEIMAGENUMBER] = 30008;
|
||||
ch.data[CHAR_WHICHTYPE] = CHAR_TYPEPET;
|
||||
/* 猾 */
|
||||
/* 攻撃力 */
|
||||
ch.workint[CHAR_WORKATTACKPOWER] = 100;
|
||||
/* 潮 */
|
||||
/* 守備力 */
|
||||
ch.workint[CHAR_WORKDEFENCEPOWER] = 50;
|
||||
/* HP */
|
||||
ch.data[CHAR_HP] = 100;
|
||||
/* 蟆 */
|
||||
/* 名前 */
|
||||
strcpysafe( ch.string[CHAR_NAME].string, 32, "宠物1" );
|
||||
|
||||
/* CHAR卞喃曰癫化月 */
|
||||
/* CHARに割り当てる */
|
||||
index = PET_initCharOneArray( &ch);
|
||||
|
||||
if( index < 0 ) return -1;
|
||||
|
||||
/* 仍潜谛本永玄 */
|
||||
/* ご主人セット */
|
||||
CHAR_setWorkInt( index, CHAR_WORKPLAYERINDEX, charaindex);
|
||||
CHAR_setWorkInt( index,CHAR_WORKOBJINDEX,-1);
|
||||
CHAR_setCharPet( charaindex, havepetindex, index);
|
||||
@ -309,16 +309,16 @@ static int _PET_dropPet( int charaindex, int havepetindex, int tofl, int tox, in
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 泫 矢永玄毛 仁
|
||||
* 娄醒
|
||||
* itemindex int 失奶 丞奶件犯永弁旦
|
||||
* floor int 白夫失ID
|
||||
* x int x甄
|
||||
* y int y甄
|
||||
* net BOOL 生永玄伐□弁及仇午毛允月井升丹井
|
||||
* 忒曰袄
|
||||
* 岳 objindex
|
||||
* 撩 -1
|
||||
* 無理矢理ペットを置く
|
||||
* 引数
|
||||
* itemindex int アイテムインデックス
|
||||
* floor int フロアID
|
||||
* x int x座標
|
||||
* y int y座標
|
||||
* net BOOL ネットワークのことをするかどうか
|
||||
* 返り値
|
||||
* 成功 objindex
|
||||
* 失敗 -1
|
||||
------------------------------------------------------------*/
|
||||
int PET_dropPetAbsolute( int petindex, int floor, int x, int y,BOOL net)
|
||||
{
|
||||
@ -333,10 +333,10 @@ int PET_dropPetAbsolute( int petindex, int floor, int x, int y,BOOL net)
|
||||
object.y = y;
|
||||
object.floor = floor;
|
||||
|
||||
/* 左皮斥尼弁玄瓒 允月 */
|
||||
/* オブジェクト登録する */
|
||||
objindex = initObjectOne( &object );
|
||||
|
||||
/* 生永玄伐□弁白仿弘互凶匀化中月午五反允月 by ringo*/
|
||||
/* ネットワークフラグがたっているときはする by ringo*/
|
||||
if( net )
|
||||
CHAR_sendWatchEvent( objindex,CHAR_ACTSTAND,NULL,0,TRUE);
|
||||
|
||||
@ -785,7 +785,7 @@ int PET_dropPetFLXY( int charaindex, int havepetindex, int fl, int x, int y)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 矢永玄迕及奶矛件玄楮醒毛本永玄仄化支月
|
||||
* ペット用のイベント関数をセットしてやる
|
||||
------------------------------------------------------------*/
|
||||
int PET_initCharOneArray( Char *ch)
|
||||
{
|
||||
@ -927,10 +927,10 @@ int PET_createPetFromCharaIndex( int charaindex, int enemyindex)
|
||||
BOOL PET_SelectBattleEntryPet( int charaindex, int petarray)
|
||||
{
|
||||
int pindex;
|
||||
/* 爵 反轮仁 仿弘匹仇木卞娄匀井井月第 岭丐曰 */
|
||||
/* 戦闘中は除く (ラグでこれに引っかかる可能性あり) */
|
||||
if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE)
|
||||
!= BATTLE_CHARMODE_NONE) return FALSE;
|
||||
/* -1及桦宁反]-1卞仄化本永玄仄化蔽歹曰[*/
|
||||
/* -1の場合は,-1にしてセットして終わり */
|
||||
if( petarray == -1 ) {
|
||||
CHAR_setInt( charaindex, CHAR_DEFAULTPET, -1 );
|
||||
return TRUE;
|
||||
|
@ -301,12 +301,12 @@ BOOL PetTalk_DelItem(int meindex,int talker,char *buf)
|
||||
cnt++;
|
||||
|
||||
LogItem(
|
||||
CHAR_getChar( talker, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( talker, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( talker, CHAR_CDKEY ),
|
||||
#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称
|
||||
itemindex,
|
||||
#else
|
||||
ITEM_getInt( itemindex, ITEM_ID), /* 失奶 丞 寞 */
|
||||
ITEM_getInt( itemindex, ITEM_ID), /* アイテム番号 */
|
||||
#endif
|
||||
"WarpManDelItem(NPC收道具後传至某点)",
|
||||
CHAR_getInt( talker, CHAR_FLOOR),
|
||||
@ -326,19 +326,19 @@ BOOL PetTalk_DelItem(int meindex,int talker,char *buf)
|
||||
}
|
||||
}
|
||||
}else{
|
||||
/*--蓟氏分 寞及失奶 丞毛蓟请---*/
|
||||
/*--選んだ番号のアイテムを選出---*/
|
||||
for( j = 0 ; j < CHAR_MAXITEMHAVE ; j++){
|
||||
itemindex = CHAR_getItemIndex( talker ,j);
|
||||
|
||||
if( ITEM_CHECKINDEX(itemindex) ){
|
||||
if( atoi( buff3) == ITEM_getInt(itemindex,ITEM_ID)){
|
||||
LogItem(
|
||||
CHAR_getChar( talker, CHAR_NAME ), /* 平乓仿 */
|
||||
CHAR_getChar( talker, CHAR_NAME ), /* キャラ名 */
|
||||
CHAR_getChar( talker, CHAR_CDKEY ),
|
||||
#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称
|
||||
itemindex,
|
||||
#else
|
||||
ITEM_getInt( itemindex, ITEM_ID), /* 失奶 丞 寞 */
|
||||
ITEM_getInt( itemindex, ITEM_ID), /* アイテム番号 */
|
||||
#endif
|
||||
"WarpManDelItem(NPC收道具後传至某点)",
|
||||
CHAR_getInt( talker,CHAR_FLOOR),
|
||||
|
Loading…
Reference in New Issue
Block a user