日常更新
This commit is contained in:
parent
5adca5545f
commit
426cf0ccab
@ -504,9 +504,9 @@ void PETMAIL_Loopfunc( int index)
|
||||
|
||||
static int PETMAIL_getIdleTime( int index)
|
||||
{
|
||||
#define PETMAIL_DIVRANGE 25 // 坌喃允月汹
|
||||
#define PETMAIL_IDLELEVELRANGE 10 // 坌喃允月 区
|
||||
#define PETMAIL_IDLEUNITTIME 3 // 棉厥
|
||||
#define PETMAIL_DIVRANGE 25 // 分割する量
|
||||
#define PETMAIL_IDLELEVELRANGE 10 // 分割する範囲
|
||||
#define PETMAIL_IDLEUNITTIME 3 // 間隔
|
||||
int d;
|
||||
#ifdef _PETMAIL_TIME
|
||||
int dex;
|
||||
|
266
char/title.c
266
char/title.c
@ -18,7 +18,7 @@
|
||||
#include "configfile.h"
|
||||
|
||||
|
||||
/*====================惫寞 ====================*/
|
||||
/*====================称号表 ====================*/
|
||||
static int TITLE_IntCheck( int charaindex,int elem, int *data, int flg);
|
||||
static int TITLE_WorkIntCheck( int charaindex,int elem, int *data, int flg);
|
||||
static int TITLE_ItemCheck( int charaindex,int elem, int *data, int flg);
|
||||
@ -28,32 +28,33 @@ static int TITLE_SexCheck( int charaindex,int elem, int *data, int flg);
|
||||
|
||||
typedef enum
|
||||
{
|
||||
TITLE_FUNCTYPENONE, /* 楮醒戏岳仄卅中 */
|
||||
TITLE_FUNCTYPEUSERFUNC, /* definefunction 毛银匀化 蟆毛综月
|
||||
* 楮醒及娄醒反
|
||||
* int 平乓仿奶件犯永弁旦
|
||||
* buf 蟆尺及田永白央
|
||||
* buflen 公及田永白央及赢今
|
||||
TITLE_FUNCTYPENONE, /* 関数生成しない */
|
||||
TITLE_FUNCTYPEUSERFUNC, /* definefunction を使って名前を作る
|
||||
* 関数の引数は
|
||||
* int キャラインデックス
|
||||
* buf 名前へのバッファ
|
||||
* buflen そのバッファの長さ
|
||||
*/
|
||||
TITLE_USEFUNCTYPENUM
|
||||
}TITLE_USEFUNCTYPE;
|
||||
|
||||
typedef struct tagTITLE_Table
|
||||
{
|
||||
int index; /* 蛙犯□正午询晶毛潸月凶户[
|
||||
* 仇及 寞匹手匀化addtitle午井支月
|
||||
int index; /* 旧データと互換を取るため。
|
||||
* この番号でもってaddtitleとかやる
|
||||
*/
|
||||
char name[32];
|
||||
TITLE_USEFUNCTYPE functype;
|
||||
void (*definefunction)(int,char* buf,int buflen);
|
||||
}TITLE_Table;
|
||||
|
||||
/* 银尹月由仿丢□正
|
||||
* STR,TGH,MAXMP]ATK,DEF
|
||||
/* 使えるパラメータ
|
||||
* STR,TGH,MAXMP,ATK,DEF
|
||||
* LEVEL,CLASS,SKILL,ITEM,FIREREG,ICEREG,THUNDERREG
|
||||
* KANJILV,TALKCNT,WALKCNT,DEADCNT,LOGINCNT,BASEIMAGENUMBER
|
||||
* GOLD
|
||||
*/
|
||||
|
||||
typedef struct tagTITLE_Compare {
|
||||
char compare[8];;
|
||||
} TITLE_COMPARE;
|
||||
@ -69,11 +70,11 @@ typedef struct tagTITLE_PARAM
|
||||
|
||||
TITLE_PARAM TITLE_param[] =
|
||||
{
|
||||
/**** 仇仇井日 ****/
|
||||
/**** ここから ****/
|
||||
{ -1, TITLE_ItemCheck, "ITEM" },
|
||||
{ -1, TITLE_ItemEquipCheck,"EQUIPITEM" },
|
||||
{ -1, NULL, "EQUIPEVENT" },
|
||||
/**** 仇仇引匹反 凳仄卅中匹仁分今中[ ****/
|
||||
/**** ここまでは変更しないでください ****/
|
||||
{ -1, TITLE_SkillCheck, "SKILL" },
|
||||
{ CHAR_STR, TITLE_IntCheck, "STR" },
|
||||
{ CHAR_TOUGH, TITLE_IntCheck, "TGH" },
|
||||
@ -93,13 +94,13 @@ TITLE_PARAM TITLE_param[] =
|
||||
#define TITLE_PARAMSIZE 20
|
||||
typedef struct tagTITLE_configTable
|
||||
{
|
||||
int paramindex[20]; /* TITLE_param尺及骄侬 */
|
||||
int param[20][TITLE_PARAMSIZE]; /* 笠袄 */
|
||||
int compareflg[20]; /* ><=羁升丹允月井 */
|
||||
int paramindex[20]; /* TITLE_paramへの添字 */
|
||||
int param[20][TITLE_PARAMSIZE]; /* 評価値 */
|
||||
int compareflg[20]; /* ><=等どうするか */
|
||||
int title;
|
||||
BOOL equipcheckflg; /*
|
||||
* 失奶 丞啖 奶矛件玄匹反仇及白仿弘及 匀化中月
|
||||
* 手及仄井腹绸仄卅中[
|
||||
* アイテム移動イベントではこのフラグの立っている
|
||||
* ものしか検索しない。
|
||||
*/
|
||||
}TITLE_CONFIGTABLE;
|
||||
|
||||
@ -116,7 +117,7 @@ static int TITLE_titlenum;
|
||||
static int TITLE_titlecfgnum;
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* index 寞井日TITLE_table及骄侬毛 月
|
||||
* index番号からTITLE_tableの添字を得る
|
||||
------------------------------------------------------------*/
|
||||
int TITLE_getTitleIndex( int index)
|
||||
{
|
||||
@ -130,23 +131,23 @@ int TITLE_getTitleIndex( int index)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* 田永白央及扔奶术 */
|
||||
/* バッファのサイズ */
|
||||
#define TITLESTRINGBUFSIZ 256
|
||||
/* 弁仿奶失件玄卞苇六月旦平伙犯□正及 侬 及田永白央 */
|
||||
/* クライアントに見せるスキルデータの文字列のバッファ */
|
||||
static char TITLE_statusStringBuffer[TITLESTRINGBUFSIZ];
|
||||
/*------------------------------------------------------------
|
||||
* 弁仿奶失件玄卞苇六月惫寞及 侬 毛综月
|
||||
* 娄醒
|
||||
* title Title* 旦平伙
|
||||
* charaindex int 仇及惫寞毛 匀化中月平乓仿及奶件犯永弁旦
|
||||
* 忒曰袄
|
||||
* クライアントに見せる称号の文字列を作る
|
||||
* 引数
|
||||
* title Title* スキル
|
||||
* charaindex int この称号を持っているキャラのインデックス
|
||||
* 返り値
|
||||
* char*
|
||||
------------------------------------------------------------*/
|
||||
char* TITLE_makeTitleStatusString( int charaindex,int havetitleindex )
|
||||
{
|
||||
int attach;
|
||||
int index;
|
||||
/* 楮醒 尺及奶件犯永弁旦井日犯□正毛综岳允月 */
|
||||
/* 関数表へのインデックスからデータを作成する */
|
||||
index = CHAR_getCharHaveTitle( charaindex,havetitleindex );
|
||||
|
||||
attach = TITLE_getTitleIndex( index);
|
||||
@ -182,10 +183,10 @@ char* TITLE_makeTitleStatusString( int charaindex,int havetitleindex )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 卅中惫寞及 侬 犯□正毛忒允
|
||||
* 娄醒
|
||||
* 卅仄
|
||||
* 忒曰袄
|
||||
* ない称号の文字列データを返す
|
||||
* 引数
|
||||
* なし
|
||||
* 返り値
|
||||
* char*
|
||||
------------------------------------------------------------*/
|
||||
char* TITLE_makeSkillFalseString( void )
|
||||
@ -196,13 +197,13 @@ char* TITLE_makeSkillFalseString( void )
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶 寞及惫寞毛馨笛允月[褐今卅匀化中凶日}馨笛仄卅中
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* titleindex int 惫寞奶件犯永弁旦
|
||||
* 忒曰袄
|
||||
* 馨笛仄凶index
|
||||
* 馨笛仄卅井匀凶 FALSE(0)
|
||||
* 指定された番号の称号を追加する。重さなっていたら、追加しない
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* titleindex int 称号インデックス
|
||||
* 返り値
|
||||
* 追加したindex
|
||||
* 追加しなかった FALSE(0)
|
||||
------------------------------------------------------------*/
|
||||
BOOL TITLE_addtitle( int charaindex, int titleindex )
|
||||
{
|
||||
@ -215,7 +216,7 @@ BOOL TITLE_addtitle( int charaindex, int titleindex )
|
||||
|
||||
for( i=0 ; i < CHAR_TITLEMAXHAVE ; i++ ){
|
||||
if( CHAR_getCharHaveTitle( charaindex,i ) == titleindex )
|
||||
/* 允匹卞 匀化中月井日窒手仄卅中 */
|
||||
/* すでに持っているから何もしない */
|
||||
return FALSE;
|
||||
if( firstfindempty == -1
|
||||
&& CHAR_getCharHaveTitle(charaindex,i) == -1 ){
|
||||
@ -227,14 +228,14 @@ BOOL TITLE_addtitle( int charaindex, int titleindex )
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 隙烂今木凶 寞及惫寞互丐匀凶日绰轮允月[卅井匀凶日窒手仄卅中[
|
||||
* 醒蜊丐匀凶日蝈 壅允[
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* titleindex int 惫寞奶件犯永弁旦
|
||||
* 忒曰袄
|
||||
* 绰轮仄凶 TRUE(1)
|
||||
* 绰轮仄卅井匀凶 FALSE(0)
|
||||
* 指定された番号の称号があったら削除する。なかったら何もしない。
|
||||
* 複数個あったら全部消す。
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* titleindex int 称号インデックス
|
||||
* 返り値
|
||||
* 削除した TRUE(1)
|
||||
* 削除しなかった FALSE(0)
|
||||
------------------------------------------------------------*/
|
||||
BOOL TITLE_deltitle( int charaindex, int titleindex )
|
||||
{
|
||||
@ -248,11 +249,11 @@ BOOL TITLE_deltitle( int charaindex, int titleindex )
|
||||
|
||||
for( i=0 ; i < CHAR_TITLEMAXHAVE ; i++ )
|
||||
if( CHAR_getCharHaveTitle( charaindex,i ) == titleindex ){
|
||||
/* 愤坌互银匀化中凶支勾卅日壬}公木手卅仄卞允月 */
|
||||
/* 自分が使っていたやつならば、それもなしにする */
|
||||
if( CHAR_getInt(charaindex, CHAR_INDEXOFEQTITLE) == i ){
|
||||
CHAR_setInt(charaindex, CHAR_INDEXOFEQTITLE, -1 );
|
||||
}
|
||||
/* 匀化中月井日壅允 */
|
||||
/* 持っているから消す */
|
||||
CHAR_setCharHaveTitle( charaindex,i,-1);
|
||||
|
||||
del = TRUE;
|
||||
@ -261,12 +262,12 @@ BOOL TITLE_deltitle( int charaindex, int titleindex )
|
||||
return del;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞及赓渝祭毛允月[
|
||||
* 娄醒
|
||||
* filename char* 涩烂白央奶伙
|
||||
* 忒曰袄
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* 称号の初期化をする。
|
||||
* 引数
|
||||
* filename char* 設定ファイル名
|
||||
* 返り値
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
*------------------------------------------------------------*/
|
||||
BOOL TITLE_initTitleName( char* filename )
|
||||
{
|
||||
@ -283,7 +284,7 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
|
||||
TITLE_titlenum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
if( line[0] == '#' )continue; /* comment */
|
||||
@ -307,7 +308,7 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
fclose( f );
|
||||
return FALSE;
|
||||
}
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < TITLE_titlenum; i ++ ) {
|
||||
@ -319,7 +320,7 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
|
||||
}
|
||||
|
||||
/* 引凶 心 允 */
|
||||
/* また読み直す */
|
||||
linenum = 0;
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
@ -327,10 +328,11 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
if( line[0] == '\n' )continue; /* none */
|
||||
chomp( line );
|
||||
|
||||
/* 垫毛帮溥允月 */
|
||||
/* 引内 tab 毛 " " 卞 五晶尹月 */
|
||||
/* 行を整形する */
|
||||
/* まず tab を " " に置き換える */
|
||||
replaceString( line, '\t' , ' ' );
|
||||
/* 燮 及旦矢□旦毛潸月[*/
|
||||
/* 先頭のスペースを取る。*/
|
||||
|
||||
{
|
||||
int i;
|
||||
char buf[256];
|
||||
@ -348,7 +350,7 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
char token[256];
|
||||
int ret;
|
||||
|
||||
/* 夫午勾户及玄□弁件毛苇月 */
|
||||
/* ひとつめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",1,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -357,7 +359,7 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
}
|
||||
TITLE_table[title_readlen].index = atoi(token);
|
||||
|
||||
/* 2勾户及玄□弁件毛苇月 */
|
||||
/* 2つめのトークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",2,token,
|
||||
sizeof(token));
|
||||
if( ret==FALSE ){
|
||||
@ -394,12 +396,12 @@ BOOL TITLE_initTitleName( char* filename )
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞及疯赓渝祭毛允月[
|
||||
* 娄醒
|
||||
* filename char* 涩烂白央奶伙
|
||||
* 忒曰袄
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* 称号の再初期化をする。
|
||||
* 引数
|
||||
* filename char* 設定ファイル名
|
||||
* 返り値
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
*------------------------------------------------------------*/
|
||||
BOOL TITLE_reinitTitleName( void)
|
||||
{
|
||||
@ -407,12 +409,12 @@ BOOL TITLE_reinitTitleName( void)
|
||||
return(TITLE_initTitleName( getTitleNamefile()));
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞涩烂及赓渝祭毛允月[
|
||||
* 娄醒
|
||||
* filename char* 涩烂白央奶伙
|
||||
* 忒曰袄
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* 称号設定の初期化をする。
|
||||
* 引数
|
||||
* filename char* 設定ファイル名
|
||||
* 返り値
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
*------------------------------------------------------------*/
|
||||
static void TITLE_initTitleData( int array)
|
||||
{
|
||||
@ -429,7 +431,7 @@ static void TITLE_initTitleData( int array)
|
||||
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 醒垫涩烂毛引午户化ㄠ垫卞仄化支月[ 戈及手仇仇匹允月[
|
||||
* 複数行設定をまとめて1行にしてやる。読むのもここでする。
|
||||
*------------------------------------------------------------*/
|
||||
static int TITLE_getConfigOneLine( FILE *fp, char *line, int linelen)
|
||||
{
|
||||
@ -442,10 +444,10 @@ static int TITLE_getConfigOneLine( FILE *fp, char *line, int linelen)
|
||||
linenum ++;
|
||||
if( buf[0] == '#' )continue; /* comment */
|
||||
if( buf[0] == '\n' )continue; /* none */
|
||||
/* 垫毛帮溥允月 */
|
||||
/* 引内 tab 毛 " " 卞 五晶尹月 */
|
||||
/* 行を整形する */
|
||||
/* まず tab を " " に置き換える */
|
||||
replaceString( buf, '\t' , ' ' );
|
||||
/* 旦矢□旦绰轮 */
|
||||
/* スペース削除 */
|
||||
deleteCharFromString( buf, " ");
|
||||
|
||||
if( buf[0] == '{' ) {
|
||||
@ -465,18 +467,18 @@ static int TITLE_getConfigOneLine( FILE *fp, char *line, int linelen)
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
/* "{"匹湃卞铵引匀化中凶日 }*/
|
||||
/* "{"で既に始まっていたら }*/
|
||||
if( startflg == TRUE ) {
|
||||
if( strlen( line) != 0 ) {
|
||||
if( line[strlen(line) -1] != ',' ) {
|
||||
strcatsafe( line, linelen, ",");
|
||||
}
|
||||
}
|
||||
/* ㄠ垫卞引午户化中仁*/
|
||||
/* 1行にまとめていく*/
|
||||
chompex( buf );
|
||||
strcatsafe( line,linelen, buf);
|
||||
}
|
||||
/* 躲垫分互"{"匹反元引匀化卅中桦宁反公及引引ㄠ垫匹忒允 }*/
|
||||
/* 有効行だが"{"ではじまってない場合はそのまま1行で返す }*/
|
||||
else {
|
||||
chompex( buf );
|
||||
strcatsafe( line,linelen, buf);
|
||||
@ -484,7 +486,7 @@ static int TITLE_getConfigOneLine( FILE *fp, char *line, int linelen)
|
||||
}
|
||||
}
|
||||
}
|
||||
/* 仇仇卞仁月午蜕丹仪反EOF 驯五元扎卅中戊□玉分 */
|
||||
/* ここにくると言う事はEOF (好きじゃないコードだ) */
|
||||
return 0;
|
||||
}
|
||||
static int TITLE_getParamData( int readarray, int array,char *src)
|
||||
@ -521,12 +523,12 @@ char *getlocaltime()
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞涩烂及赓渝祭毛允月[
|
||||
* 娄醒
|
||||
* filename char* 涩烂白央奶伙
|
||||
* 忒曰袄
|
||||
* 岳 TRUE(1)
|
||||
* 撩 FALSE(0)
|
||||
* 称号設定の初期化をする。
|
||||
* 引数
|
||||
* filename char* 設定ファイル名
|
||||
* 返り値
|
||||
* 成功 TRUE(1)
|
||||
* 失敗 FALSE(0)
|
||||
*------------------------------------------------------------*/
|
||||
BOOL TITLE_initTitleConfig( char* filename )
|
||||
{
|
||||
@ -543,7 +545,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
|
||||
TITLE_titlecfgnum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
/*while( fgets( line, sizeof( line ), f ) ){}*/
|
||||
while( 1 ) {
|
||||
int rc;
|
||||
@ -568,7 +570,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
fclose( f );
|
||||
return FALSE;
|
||||
}
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < TITLE_titlecfgnum; i ++ ) {
|
||||
@ -583,7 +585,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 引凶 心 允 */
|
||||
/* また読み直す */
|
||||
linenum = 0;
|
||||
/*while( fgets( line, sizeof( line ), f ) ){}*/
|
||||
while( 1) {
|
||||
@ -601,17 +603,17 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
int comppos;
|
||||
BOOL errflg =FALSE;
|
||||
for( i = 1; ; i ++ ){
|
||||
/* 玄□弁件毛苇月 */
|
||||
/* トークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",i,token,
|
||||
sizeof(token));
|
||||
if( ret == FALSE ){
|
||||
break;
|
||||
}
|
||||
/* 侬卞 晶 */
|
||||
/* 大文字に変換 */
|
||||
for( j = 0; j < strlen( token); j ++ ) {
|
||||
token[j] = toupper( token[j]);
|
||||
}
|
||||
/* 惫寞隙烂毛譬屯月 */
|
||||
/* 称号指定を調べる */
|
||||
if( strncmp( "TITLE", token, 5) == 0 ) {
|
||||
char buf[64];
|
||||
ret = getStringFromIndexWithDelim( token,"=",2,buf,
|
||||
@ -625,7 +627,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
TITLE_ConfigTable[titlecfg_readlen].title = atoi( buf);
|
||||
}
|
||||
else {
|
||||
/* 由仿丢□正隙烂毛 戈 */
|
||||
/*パラメータ指定を読む */
|
||||
for( j = 0; j < arraysizeof( TITLE_param); j ++ ) {
|
||||
if( strncmp( TITLE_param[j].paramname,
|
||||
token,
|
||||
@ -633,14 +635,14 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
== 0 )
|
||||
{
|
||||
TITLE_ConfigTable[titlecfg_readlen].paramindex[i-1] = j;
|
||||
/* 隶 奶矛件玄匹惫寞毛民尼永弁允月白仿弘毛 化月[ */
|
||||
/* 装備イベントで称号をチェックするフラグを立てる。 */
|
||||
if( j == 0 || j == 1 || j == 2) {
|
||||
TITLE_ConfigTable[titlecfg_readlen].equipcheckflg = TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* 由仿丢□正互 卅及毛隙烂今木凶 */
|
||||
/* パラメータが変なのを指定された */
|
||||
if( j == arraysizeof( TITLE_param) ) {
|
||||
fprint("文件语法错误:%s 第%d行\n",
|
||||
filename,linenum);
|
||||
@ -648,7 +650,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
errflg = TRUE;
|
||||
break;
|
||||
}
|
||||
/* 羁寞]尕羁寞互绣箕允月井譬屯月 */
|
||||
/* 等号,不等号が存在するか調べる */
|
||||
comppos = charInclude( token, "<>=");
|
||||
if( comppos == -1 ) {
|
||||
fprint("文件语法错误:%s 第%d行\n",filename,linenum);
|
||||
@ -656,9 +658,9 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
errflg = TRUE;
|
||||
break;;
|
||||
}
|
||||
/* 羁寞]尕羁寞互ㄡ勾动晓 月午五 */
|
||||
/* 等号,不等号が2つ以上有るとき */
|
||||
if( charInclude( &token[comppos+1], "<>=") != -1 ) {
|
||||
/* 升氏卅 胜井毛 戈 */
|
||||
/* どんな比較かを読む */
|
||||
for( j = 0; j < 3; j ++ ) {
|
||||
if( memcmp( TITLE_compare[j].compare, &token[comppos], 2 ) == 0 ) {
|
||||
break;
|
||||
@ -694,7 +696,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
}
|
||||
/*TITLE_ConfigTable[titlecfg_readlen].param[i-1]
|
||||
= atoi( &token[comppos+1]);*/
|
||||
/* 升氏卅 胜井毛 戈 */
|
||||
/* どんな比較かを読む */
|
||||
for( j = 3; j < 6; j ++ ) {
|
||||
if( memcmp( TITLE_compare[j].compare, &token[comppos], 1 ) == 0 ) {
|
||||
TITLE_ConfigTable[titlecfg_readlen].compareflg[i-1] = j;
|
||||
@ -704,7 +706,7 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
}
|
||||
}
|
||||
}
|
||||
/* 惫寞 隙烂互 井匀凶 or 卅氏井仄日及巨仿□*/
|
||||
/* 称号名指定が無かった or なんかしらのエラー*/
|
||||
if( errflg || TITLE_ConfigTable[titlecfg_readlen].title == -1 ) {
|
||||
fprint("文件语法错误:%s 第%d行\n",filename,linenum);
|
||||
TITLE_initTitleData( titlecfg_readlen);
|
||||
@ -723,19 +725,19 @@ BOOL TITLE_initTitleConfig( char* filename )
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞涩烂卞宁丹井譬屯化惫寞毛芨尹月[
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* mode BOOL TRUE:item=及手及及心譬屯月 FALSE:蝈
|
||||
* 忒曰袄
|
||||
* TRUE: 惫寞卞 祭 曰[
|
||||
* FALSE:窒手 井匀凶[
|
||||
* 称号設定に合うか調べて称号を与える。
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* mode BOOL TRUE:item=のもののみ調べる FALSE:全部
|
||||
* 返り値
|
||||
* TRUE: 称号に変化有り。
|
||||
* FALSE:何も無かった。
|
||||
*------------------------------------------------------------*/
|
||||
static BOOL TITLE_TitleCheck_Main( int charaindex, BOOL mode, int *addcnt, int *delcnt)
|
||||
{
|
||||
int i, j,k, ret;
|
||||
|
||||
/* 赓渝祭 */
|
||||
/* 初期化 */
|
||||
{
|
||||
int i;
|
||||
for( i = 0; i < TITLE_titlecfgnum && TITLE_configbuf[i].title != -1; i ++ ) {
|
||||
@ -770,8 +772,8 @@ static BOOL TITLE_TitleCheck_Main( int charaindex, BOOL mode, int *addcnt, int *
|
||||
if( rc != TRUE ) break;
|
||||
}
|
||||
}
|
||||
/* 醒椭瘀卞 元惫寞互喃曰癫化日木化中月凛及啃卞]
|
||||
* 域绎田永白央卞霪户化公及瑛绊井日add,deltile允月
|
||||
/* 複数条件に同じ称号が割り当てられている時の為に,
|
||||
* 一旦バッファに貯めてその結果からadd,deltileする
|
||||
*/
|
||||
for( k = 0; k < TITLE_titlecfgnum; k ++ ) {
|
||||
if( TITLE_configbuf[k].title == title ) {
|
||||
@ -803,13 +805,13 @@ static BOOL TITLE_TitleCheck_Main( int charaindex, BOOL mode, int *addcnt, int *
|
||||
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞涩烂卞宁丹井譬屯化惫寞毛芨尹月[
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* mode BOOL TRUE:item=及手及及心譬屯月 FALSE:蝈
|
||||
* 忒曰袄
|
||||
* TRUE: 惫寞卞 祭 曰[
|
||||
* FALSE:窒手 井匀凶[
|
||||
* 称号設定に合うか調べて称号を与える。
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* mode BOOL TRUE:item=のもののみ調べる FALSE:全部
|
||||
* 返り値
|
||||
* TRUE: 称号に変化有り。
|
||||
* FALSE:何も無かった。
|
||||
*------------------------------------------------------------*/
|
||||
BOOL TITLE_TitleCheck( int charaindex, BOOL mode)
|
||||
{
|
||||
@ -836,13 +838,13 @@ BOOL TITLE_TitleCheck( int charaindex, BOOL mode)
|
||||
return rc;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 惫寞涩烂卞宁丹井譬屯化惫寞毛芨尹月[
|
||||
* 娄醒
|
||||
* charaindex int 平乓仿奶件犯永弁旦
|
||||
* mode BOOL TRUE:item=及手及及心譬屯月 FALSE:蝈
|
||||
* 忒曰袄
|
||||
* TRUE: 惫寞卞 祭 曰[
|
||||
* FALSE:窒手 井匀凶[
|
||||
* 称号設定に合うか調べて称号を与える。
|
||||
* 引数
|
||||
* charaindex int キャラインデックス
|
||||
* mode BOOL TRUE:item=のもののみ調べる FALSE:全部
|
||||
* 返り値
|
||||
* TRUE: 称号に変化有り。
|
||||
* FALSE:何も無かった。
|
||||
*------------------------------------------------------------*/
|
||||
BOOL TITLE_TitleCheck_Nomsg( int charaindex, BOOL mode, int *addcnt, int *delcnt)
|
||||
{
|
||||
@ -915,7 +917,7 @@ static int TITLE_WorkIntCheck( int charaindex,int elem, int *data, int flg)
|
||||
return rc;
|
||||
}
|
||||
/* --------------------------------------
|
||||
* 隙烂今木凶data午 匀化中月失奶 丞毛 胜允月[
|
||||
* 指定されたdataと持っているアイテムを比較する
|
||||
* -------------------------------------*/
|
||||
static int TITLE_ItemCheckMain( int charaindex, int itemhaveindex, int *data, int flg)
|
||||
{
|
||||
@ -944,9 +946,9 @@ static int TITLE_ItemCheckMain( int charaindex, int itemhaveindex, int *data, in
|
||||
case 5: /* "=" */
|
||||
if( ITEM_getInt( itemindex, ITEM_ID) == *(data +j)) rc = TRUE;
|
||||
break;
|
||||
/* 仇木分仃 健中[
|
||||
* 失奶 丞蝈 毛苇化公木毛 匀化中卅井匀凶日蕞午允月[
|
||||
* 仇仇匹反 匀化中月仪毛絮午仄化民尼永弁
|
||||
/* これだけ特別扱い。
|
||||
* アイテム全部を見てそれを持っていなかったら真とする。
|
||||
* ここでは持っている事を偽としてチェック
|
||||
*/
|
||||
case 2: /* "<>" */
|
||||
if( ITEM_getInt( itemindex, ITEM_ID) == *(data +j)) rc = FALSE;
|
||||
@ -1034,7 +1036,7 @@ static int TITLE_SkillCheck( int charaindex,int elem, int *data, int flg)
|
||||
return rc;
|
||||
}
|
||||
/* --------------------------------------
|
||||
* 裆平乓仿井辉平乓仿井民尼永弁允月[
|
||||
* 男キャラか女キャラかチェックする。
|
||||
* -------------------------------------*/
|
||||
static int TITLE_SexCheck( int charaindex,int elem, int *data, int flg)
|
||||
{
|
||||
|
@ -1345,7 +1345,7 @@ void ITEM_useOtherEditBase( int charaindex, int toindex, int haveitemindex)
|
||||
void ITEM_useStatusChange( int charaindex, int toindex, int haveitemindex)
|
||||
{
|
||||
int battlemode;
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return ; //{撩
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return ; //失敗
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
}else
|
||||
@ -1359,7 +1359,7 @@ void ITEM_useStatusChange( int charaindex, int toindex, int haveitemindex)
|
||||
void ITEM_useStatusRecovery( int charaindex, int toindex, int haveitemindex)
|
||||
{
|
||||
int battlemode;
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return ; //{撩
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return ; //失敗
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
}else
|
||||
@ -1437,7 +1437,7 @@ void ITEM_useMic( int charaindex, int toindex, int haveitemindex)
|
||||
void ITEM_useCaptureUp( int charaindex, int toindex, int haveitemindex)
|
||||
{
|
||||
int battlemode;
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return ; //{撩
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return ; //失敗
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
@ -1780,8 +1780,8 @@ void ITEM_useRenameItem_WindowResult( int charaindex, int seqno, int select, cha
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// 今中仇欠毛 蜇允月楮醒[
|
||||
// 午仄凶凛卞]仿件母丞卞ㄠ ㄥ毛蓟太] 蟆午 飓 寞毛 凳允月[
|
||||
// さいころを実現する関数。
|
||||
// 落とした時に,ランダムに1~6を選び,名前と画像番号を変更する。
|
||||
//-------------------------------------------------------------------------
|
||||
void ITEM_dropDice( int charaindex, int itemindex)
|
||||
{
|
||||
@ -1789,40 +1789,41 @@ void ITEM_dropDice( int charaindex, int itemindex)
|
||||
int diceimagenumber[] = { 24298,24299,24300,24301,24302,24303};
|
||||
int r = RAND( 0,5);
|
||||
|
||||
// 飓 寞毛谨
|
||||
// 画像番号を待避
|
||||
ITEM_setInt( itemindex, ITEM_VAR1, ITEM_getInt( itemindex, ITEM_BASEIMAGENUMBER));
|
||||
// 飓 寞凳蕙
|
||||
// 画像番号更新
|
||||
ITEM_setInt( itemindex, ITEM_BASEIMAGENUMBER, diceimagenumber[r]);
|
||||
// 蟆凳蕙
|
||||
// 名前更新
|
||||
ITEM_setChar( itemindex, ITEM_SECRETNAME, dicename[r]);
|
||||
|
||||
// 犯□正及弁仿奶失件玄尺及霜耨反晓匏楮醒匹垫丹及匹]仇仇匹反支日卅中[
|
||||
// データのクライアントへの送信は上位関数で行うので,ここではやらない。
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
// 今中仇欠毛 蜇允月楮醒[
|
||||
// 胶匀凶凛卞] 蟆午 飓 寞毛葭卞 允[
|
||||
// さいころを実現する関数。
|
||||
// 拾った時に,名前と画像番号を元に戻す。
|
||||
//-------------------------------------------------------------------------
|
||||
void ITEM_pickupDice( int charaindex, int itemindex)
|
||||
{
|
||||
// 飓 寞毛葭卞 允[
|
||||
// 画像番号を元に戻す。
|
||||
ITEM_setInt( itemindex, ITEM_BASEIMAGENUMBER, ITEM_getInt( itemindex, ITEM_VAR1));
|
||||
// 蟆手葭卞 允
|
||||
// 名前も元に戻す
|
||||
ITEM_setChar( itemindex, ITEM_SECRETNAME, ITEM_getChar( itemindex, ITEM_NAME));
|
||||
}
|
||||
enum {
|
||||
ITEM_LOTTERY_1ST, // 1羁
|
||||
ITEM_LOTTERY_1ST, // 1等
|
||||
ITEM_LOTTERY_2ND,
|
||||
ITEM_LOTTERY_3RD,
|
||||
ITEM_LOTTERY_4TH,
|
||||
ITEM_LOTTERY_5TH, // 5羁
|
||||
ITEM_LOTTERY_6TH, // 6羁
|
||||
ITEM_LOTTERY_NONE, // 陆木
|
||||
ITEM_LOTTERY_5TH, // 5等
|
||||
ITEM_LOTTERY_6TH, // 6等
|
||||
ITEM_LOTTERY_NONE, // 外れ
|
||||
ITEM_LOTTERY_NUM,
|
||||
};
|
||||
//-------------------------------------------------------------------------
|
||||
// 旦疋□玉仁元互综日木月凛及楮醒[
|
||||
// 仇仇匹窒羁操卞卅月井毛瑁户月[
|
||||
// 割 反动票及骚曰[
|
||||
// スピードくじが作られる時の関数。
|
||||
// ここで何等賞になるかを決める。
|
||||
// 確率は以下の通り。
|
||||
|
||||
|
||||
#define PRE_6 (10000)
|
||||
#define PRE_5 (1300 + PRE_6)
|
||||
@ -1855,15 +1856,15 @@ BOOL ITEM_initLottery(ITEM_Item* itm)
|
||||
{
|
||||
int r = RAND( 0, 49999);
|
||||
int hit = ITEM_LOTTERY_NONE; //
|
||||
char result[7]; // 请
|
||||
char result[7]; // 出目
|
||||
int countnum[6];
|
||||
int count;
|
||||
int i;
|
||||
int len;
|
||||
// 域荚综匀化月及匹[疯粟 仄凶凛午井卞综曰卅云今木卅中方丹卞[
|
||||
// 一回作ってるので。再起動した時とかに作りなおされないように。
|
||||
if( itm->data[ITEM_VAR3] == 1 ) return TRUE;
|
||||
|
||||
// 铲蓟允月[
|
||||
// 抽選する。
|
||||
if( r < PRE_6 ) hit = ITEM_LOTTERY_6TH;
|
||||
else if( r < PRE_5 ) hit = ITEM_LOTTERY_5TH;
|
||||
else if( r < PRE_4 ) hit = ITEM_LOTTERY_4TH;
|
||||
@ -1872,10 +1873,10 @@ BOOL ITEM_initLottery(ITEM_Item* itm)
|
||||
else if( r < PRE_1 ) hit = ITEM_LOTTERY_1ST;
|
||||
else hit = ITEM_LOTTERY_NONE;
|
||||
|
||||
// 请 毛瑁烂允月[
|
||||
// 出目を決定する。
|
||||
count = 0;
|
||||
if( hit != ITEM_LOTTERY_NONE ) {
|
||||
// 癫曰毛本永玄
|
||||
// 当りをセット
|
||||
result[0] = result[1] = result[2] = hit+1;
|
||||
count = 3;
|
||||
countnum[hit] = 3;
|
||||
@ -1883,8 +1884,8 @@ BOOL ITEM_initLottery(ITEM_Item* itm)
|
||||
while( count < 6 ) {
|
||||
int r = RAND( ITEM_LOTTERY_1ST, ITEM_LOTTERY_6TH);
|
||||
if( countnum[r] >= 2 ) continue;
|
||||
// 2/3仁日中及割 匹]职及陆木钓 毛伉□民今六化支月[
|
||||
// 升五升五[
|
||||
// 2/3くらいの確率で,他の外れ絵柄をリーチさせてやる。
|
||||
// どきどき。
|
||||
if( ( hit != ITEM_LOTTERY_NONE && count == 3 )
|
||||
|| ( hit == ITEM_LOTTERY_NONE && count == 0 ) )
|
||||
{
|
||||
@ -1899,13 +1900,14 @@ BOOL ITEM_initLottery(ITEM_Item* itm)
|
||||
result[count] = r+1;
|
||||
count++;
|
||||
}
|
||||
// 请 毛扑乓永白伙允月[
|
||||
// 癫曰及凛反2/3及割 匹]癫曰醒侬毛域 欠卞裔烂允月[
|
||||
// 玉平玉平躲绊毛谎丹啃[
|
||||
// 出目をシャッフルする。
|
||||
// 当りの時は2/3の確率で,当り数字を一番後ろに固定する。
|
||||
// ドキドキ効果を狙う為。
|
||||
|
||||
len = sizeof( result)-2;
|
||||
if( hit != ITEM_LOTTERY_NONE ) {
|
||||
if( RAND( 0,2) ) {
|
||||
// 癫曰醒侬毛域 欠卞[
|
||||
// 当り数字を一番後ろに。
|
||||
char s = result[0];
|
||||
result[0] = result[5];
|
||||
result[5] = s;
|
||||
@ -1920,10 +1922,10 @@ BOOL ITEM_initLottery(ITEM_Item* itm)
|
||||
result[x] = result[y];
|
||||
result[y] = s;
|
||||
}
|
||||
// 及凶户] 侬 健中卞仄化云仁[
|
||||
// 念のため,文字列扱いにしておく。
|
||||
result[sizeof(result)-1] = '\0';
|
||||
itm->data[ITEM_VAR1] = hit;
|
||||
// 户仁匀凶市它件玄
|
||||
// めくったカウント
|
||||
itm->data[ITEM_VAR2] = 0;
|
||||
itm->data[ITEM_VAR3] = 1;
|
||||
memcpy( itm->string[ITEM_ARGUMENT].string, result, sizeof( result));
|
||||
@ -1931,8 +1933,8 @@ BOOL ITEM_initLottery(ITEM_Item* itm)
|
||||
return TRUE;
|
||||
}
|
||||
//-------------------------------------------------------------------------
|
||||
// 旦疋□玉仁元毛银匀凶凛及楮醒[
|
||||
// ㄥ荚银丹午]窒羁操井及失奶 丞卞 祭允月[
|
||||
// スピードくじを使った時の関数。
|
||||
// 6回使うと,何等賞かのアイテムに変化する。
|
||||
//-------------------------------------------------------------------------
|
||||
void ITEM_useLottery( int charaindex, int toindex, int haveitemindex)
|
||||
{
|
||||
@ -1941,7 +1943,7 @@ void ITEM_useLottery( int charaindex, int toindex, int haveitemindex)
|
||||
int count = ITEM_getInt( itemindex, ITEM_VAR2);
|
||||
int hit = ITEM_getInt( itemindex, ITEM_VAR1);
|
||||
char buff[1024];
|
||||
char num[6][3] = { {"迭"},{"迫"},{"迤"},{"迨"},{"郊"}, {"郎"}};
|
||||
char num[6][3] = { {"①"},{"②"},{"③"},{"④"},{"⑤"}, {"⑥"}};
|
||||
char numbuff[128];
|
||||
char *n;
|
||||
int result;
|
||||
@ -1950,7 +1952,7 @@ void ITEM_useLottery( int charaindex, int toindex, int haveitemindex)
|
||||
if( count == 0 ) {
|
||||
ITEM_setChar( itemindex, ITEM_EFFECTSTRING, "");
|
||||
}
|
||||
// ㄥ荚 及银迕反]陆木仄井丐曰 卅中及匹]仇仇匹失奶 丞毛壅允
|
||||
// 6回目の使用は,外れしかあり得ないので,ここでアイテムを消す
|
||||
else if( count == 6 ) {
|
||||
CHAR_setItemIndex( charaindex , haveitemindex, -1 );
|
||||
CHAR_sendItemDataOne( charaindex, haveitemindex);
|
||||
@ -1960,7 +1962,7 @@ void ITEM_useLottery( int charaindex, int toindex, int haveitemindex)
|
||||
n = ITEM_getChar( itemindex, ITEM_ARGUMENT);
|
||||
// for debug
|
||||
result = (int)n[count]-1;
|
||||
// 伉□民井譬屯月
|
||||
// リーチか調べる
|
||||
flg = FALSE;
|
||||
for( i = 0; i < count+1 && flg == FALSE; i ++ ) {
|
||||
for( j = i+1; j < count+1 && flg == FALSE; j ++ ) {
|
||||
@ -1972,25 +1974,26 @@ void ITEM_useLottery( int charaindex, int toindex, int haveitemindex)
|
||||
}
|
||||
}
|
||||
memcpy( numbuff, ITEM_getChar( itemindex, ITEM_EFFECTSTRING), (count)*2);
|
||||
// 躲绊 侬 卞]请 毛请允[
|
||||
// 効果文字列に,出目を出す。
|
||||
snprintf( buff, sizeof( buff), "%s%s", numbuff, num[result]);
|
||||
count ++;
|
||||
ITEM_setInt( itemindex, ITEM_VAR2, count);
|
||||
// ㄥ荚 匹癫曰卅日癫曰失奶 丞卞 凳]陆木卅日陆木午 憎]
|
||||
// 戚荚母皮伙弁伉永弁匹壅允[
|
||||
// 6回目で当りなら当りアイテムに変更,外れなら外れと表示,
|
||||
// 次回ダブルクリックで消す。
|
||||
|
||||
if( count >= 6 ) {
|
||||
// 癫曰
|
||||
// 当り
|
||||
if( hit != ITEM_LOTTERY_NONE ) {
|
||||
int newitemindex;
|
||||
char strbuff[1024];
|
||||
char msgbuff[1024];
|
||||
// 壅仄化
|
||||
// 消して
|
||||
CHAR_setItemIndex( charaindex , haveitemindex, -1 );
|
||||
ITEM_endExistItemsOne( itemindex );
|
||||
// 2729 - 2734 反 仁元及1 6羁
|
||||
// 2729 - 2734 は宝くじの1~6等
|
||||
newitemindex = ITEM_makeItemAndRegist( 2729 + hit);
|
||||
CHAR_setItemIndex( charaindex , haveitemindex, newitemindex );
|
||||
// 请 手戊疋□
|
||||
// 出目もコピー
|
||||
snprintf( strbuff, sizeof( strbuff), "%s %s", buff,
|
||||
ITEM_getChar( newitemindex, ITEM_EFFECTSTRING));
|
||||
ITEM_setChar( newitemindex, ITEM_EFFECTSTRING, strbuff);
|
||||
@ -2000,27 +2003,27 @@ void ITEM_useLottery( int charaindex, int toindex, int haveitemindex)
|
||||
msgbuff,
|
||||
CHAR_COLORYELLOW );
|
||||
}
|
||||
// 陆木
|
||||
// 外れ
|
||||
else {
|
||||
// CHAR_setItemIndex( charaindex , haveitemindex, -1 );
|
||||
// 请 手戊疋□
|
||||
// 出目もコピー
|
||||
char strbuff[1024];
|
||||
snprintf( strbuff, sizeof( strbuff), "%s 没中,下次再来", buff);
|
||||
ITEM_setChar( itemindex, ITEM_EFFECTSTRING, strbuff);
|
||||
CHAR_sendItemDataOne( charaindex, haveitemindex);
|
||||
// ITEM_endExistItemsOne( itemindex );
|
||||
// CHAR_talkToCli( charaindex, -1,
|
||||
// "反内木″",
|
||||
// "はずれ″",
|
||||
// CHAR_COLORWHITE );
|
||||
}
|
||||
}
|
||||
// 公丹元扎 中凛反]犯□正毛霜曰卅云允分仃[
|
||||
// そうじゃ無い時は,データを送りなおすだけ。
|
||||
else {
|
||||
char strbuff[1024];
|
||||
if( flg) {
|
||||
// 旦矢□旦煌遥
|
||||
// 失奶 丞及 及戊丢件玄反]ㄠ垫ㄡㄧ 侬匹]
|
||||
// 旦矢□旦毛银匀化荼垫仄化中月[
|
||||
// スペース計算
|
||||
// アイテムの説明欄のコメントは,1行28文字で,
|
||||
// スペースを使って改行している。
|
||||
int spc = 16 + ( 6-count)*2;
|
||||
char space[17];
|
||||
space[spc] = '\0';
|
||||
@ -3312,11 +3315,11 @@ void ITEM_metamo( int charaindex, int toindex, int haveitemindex )
|
||||
#endif
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return;
|
||||
}
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
toindex = BATTLE_No2Index(CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ), toindex );
|
||||
|
||||
@ -3478,10 +3481,10 @@ print("\nvincent-->charaindex:%d,toindex:%d",charaindex,toindex);
|
||||
}
|
||||
else CHAR_talkToCli(charaindex,-1,"什麽也没发生。",CHAR_COLORWHITE);
|
||||
|
||||
/* 平乓仿弁正□及赭 伉旦玄井日壅蛔 */
|
||||
/* キャラクターの所持品リストから消去 */
|
||||
CHAR_setItemIndex(charaindex, haveitemindex ,-1);
|
||||
CHAR_sendItemDataOne( charaindex, haveitemindex);/* 失奶 丞凳蕙 */
|
||||
/* 壅允 */
|
||||
/* 消す */
|
||||
ITEM_endExistItemsOne( itemindex );
|
||||
}
|
||||
#endif
|
||||
@ -5448,7 +5451,7 @@ void ITEM_MetamoTime( int charaindex, int toindex, int haveitemindex )
|
||||
#endif
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/***********************************************
|
||||
* 失奶 丞宁岳″
|
||||
* アイテム合成!
|
||||
**********************************************/
|
||||
#include "version.h"
|
||||
#include <stdio.h>
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
static int ITEM_getTableNum( int num);
|
||||
|
||||
/* 豳笺及袄及MAX袄 */
|
||||
/* 素材の値のMAX値 */
|
||||
#define ITEM_ATOMIND_MAX 1000
|
||||
// shan add
|
||||
#define ITEM_ATOMIND_FM_MAX 4000
|
||||
@ -48,14 +48,14 @@ static int ITEM_getTableNum( int num);
|
||||
/***********************************************
|
||||
* (ITEM_GEN_RAND_MIN/1000) * ITEN_GEN_SEARCH_MIN
|
||||
* - (ITEM_GEN_RAND_MAX/1000) * ITEN_GEN_SEARCH_MAX
|
||||
* 仇木分仃及汔及豳笺及 区毛潸曰丹月仪卞卅月[
|
||||
* これだけの幅の素材の範囲を取りうる事になる。
|
||||
**********************************************/
|
||||
|
||||
/* 豳笺及袄 及仿件母丞汔及 剂午 ㄠㄟㄟㄟ坌 */
|
||||
/* 素材の値変動のランダム幅の最少と最大(1000分率) */
|
||||
#define ITEM_GEN_RAND_MIN 700
|
||||
#define ITEM_GEN_RAND_MAX 1200
|
||||
|
||||
/* 失奶 丞毛腹绸允月豳笺及袄及汔及 剂午 及 (double) */
|
||||
/* アイテムを検索する素材の値の幅の最少と最大の倍率(double) */
|
||||
#define ITEN_GEN_SEARCH_MIN (0.7)
|
||||
#define ITEN_GEN_SEARCH_MAX (1.10)
|
||||
|
||||
@ -83,10 +83,10 @@ static struct tagItemRandRangeTable {
|
||||
#define ITEM_GEN_RATE 0.7
|
||||
|
||||
static struct _tagItemRandRangeTableForItem {
|
||||
int num; /* 豳笺及备仿件弁及湘 袄 */
|
||||
int minnum; /* 仿件弁 潸曰丹月袄及Min */
|
||||
int maxnum; /* 仿件弁 潸曰丹月袄及MAX num +戚及仿件弁及犒*ITEM_GEN_RATE) */
|
||||
double rate; /* maxnum / num*/
|
||||
int num; /* 素材の各ランクの基本値 */
|
||||
int minnum; /* ランク中取りうる値のMin */
|
||||
int maxnum; /* ランク中取りうる値のMAX(num +次のランクの差*ITEM_GEN_RATE) */
|
||||
double rate; /* 倍率 maxnum / num*/
|
||||
}ItemRandTableForItem[] = {
|
||||
{ 10, 0,0,0 },
|
||||
{ 30, 0,0,0 },
|
||||
@ -295,8 +295,8 @@ int ITEM_initItemAtom( char *fn )
|
||||
/* chop */
|
||||
line[strlen(line)-1]=0;
|
||||
|
||||
/* 尔羹卞烟让及 蟆互 贿匹反中匀化中化}
|
||||
公木分仃互 邰 */
|
||||
/* 左端に系統の名前が日本語ではいっていて、
|
||||
それだけが必要 */
|
||||
getStringFromIndexWithDelim( line, "," , 1 , tk, sizeof( tk ));
|
||||
snprintf( item_atoms[count].name,
|
||||
sizeof( item_atoms[count].name ),
|
||||
@ -327,15 +327,16 @@ int ITEM_initItemAtom( char *fn )
|
||||
|
||||
/*
|
||||
|
||||
刭醒及伊□玄
|
||||
乱数のレート
|
||||
|
||||
base 互 100 匹 min 互 0.7 匹 max 互 1.3 分匀凶日}
|
||||
70 ~ 130 卞剽域卞坌 允月[午曰丐尹内剽域[
|
||||
剽域元扎卅仁仄凶曰允月井手仄木卅中及匹}
|
||||
失奶 丞毁迕伙□民件午仄化仇仇卞烂聒允月 by ringo 1999Oct1
|
||||
1000坌及min_rate,max_rate匹健丹[
|
||||
double 支float 反]支支仇仄中及匹银歹卅中[
|
||||
base が 100 で min が 0.7 で max が 1.3 だったら、
|
||||
70 ~ 130 に均一に分布する。とりあえず均一。
|
||||
均一じゃなくしたりするかもしれないので、
|
||||
アイテム専用ルーチンとしてここに定義する by ringo 1999Oct1
|
||||
1000分のmin_rate,max_rateで扱う。
|
||||
double やfloat は,ややこしいので使わない。
|
||||
*/
|
||||
|
||||
static int
|
||||
ITEM_randRange( int base, int min_rate , int max_rate )
|
||||
{
|
||||
@ -368,12 +369,13 @@ static int cmprutine( double *p1, double *p2)
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* 嫖中及卞丐歹六月
|
||||
* 忒曰袄反 互中仁勾卞卅匀凶井[
|
||||
* 宁歹六月蟆卞]末□玄仄化岈屯化]
|
||||
* table卞梯匀凶 坌]箫仄化中仁[
|
||||
* 高いのにあわせる
|
||||
* 返り値は配列がいくつになったか。
|
||||
* 合わせる前に,ソートして並べて,
|
||||
* tableに沿った倍率分,足していく。
|
||||
*/
|
||||
|
||||
|
||||
static void ITEM_simplify_atoms( struct item_ingindtable *inds, int num,
|
||||
int *retinds, int *retvals, int petindex, int alchemist)
|
||||
{
|
||||
@ -490,17 +492,18 @@ PET_ADD_INGRED( nm,vl1,vl2,vl3)
|
||||
*/
|
||||
|
||||
/*
|
||||
矢永玄及ID井日}刭醒及膜恳涩烂毛潸曰分允[
|
||||
ペットのIDから、乱数の修正設定を取りだす。
|
||||
|
||||
int *fixuse : 袄瑛绊娄醒[ 及 醒毛午曰}烂聒醒毛中木化井尹允
|
||||
int *fixuse : 値結果引数。配列の最大数をとり、定義数をいれてかえす
|
||||
|
||||
int *fixatom : 升及豳笺卞覆允月膜恳卅及井
|
||||
int *baseup : 湘 袄卞凶中允月笛遥
|
||||
int *minadd : 井仃遥及 凝卞凶中允月笛遥
|
||||
int *maxadd : 井仃遥及 卞凶中允月笛遥
|
||||
int *fixatom : どの素材に対する修正なのか
|
||||
int *baseup : 基本値にたいする加算
|
||||
int *minadd : かけ算の最小にたいする加算
|
||||
int *maxadd : かけ算の最大にたいする加算
|
||||
|
||||
*/
|
||||
|
||||
|
||||
static void
|
||||
ITEM_merge_getPetFix( int petid, int *fixuse, int *fixatom,
|
||||
int *baseup,
|
||||
@ -560,7 +563,7 @@ ITEM_merge_getPetFix( int petid, int *fixuse, int *fixatom,
|
||||
}
|
||||
|
||||
/*
|
||||
* 公及 互]宁岳葭失奶 丞卞丐匀凶日FALSE毛忒允
|
||||
* そのIDが,合成元アイテムにあったらFALSEを返す
|
||||
*/
|
||||
|
||||
static BOOL ITEM_merge_checkitem( ITEM_Item *items, int itemsnum, int id)
|
||||
@ -738,7 +741,7 @@ int ITEM_mergeItem( int charaindex, ITEM_Item *items, int num , int money, int p
|
||||
struct item_ingindtable ingindtable[MAX_ITEM_ATOMS_SIZE];
|
||||
int sortedingindtable[MAX_ITEM_ATOMS_SIZE];
|
||||
int sortedingtable[MAX_ITEM_ATOMS_SIZE];
|
||||
/* 矢永玄卞方月膜恳迕 */
|
||||
/* ペットによる修正用 */
|
||||
int pet_fixatom[MAX_ITEM_ATOMS_SIZE];
|
||||
int pet_baseup[MAX_ITEM_ATOMS_SIZE];
|
||||
int pet_minadd[MAX_ITEM_ATOMS_SIZE];
|
||||
@ -1028,8 +1031,9 @@ int ITEM_mergeItem( int charaindex, ITEM_Item *items, int num , int money, int p
|
||||
|
||||
int ITEM_canDigest( ITEM_Item *itm )
|
||||
{
|
||||
/* 1蜊 及笺 及 蟆互涩烂今木化中凶日1}
|
||||
公丹匹卅中卅日0 */
|
||||
/* 1個目の材料の名前が設定されていたら1、
|
||||
そうでないなら0 */
|
||||
|
||||
if( itm->string[ITEM_INGNAME0].string[0] ) return 1; else return 0;
|
||||
}
|
||||
|
||||
@ -1159,12 +1163,12 @@ int ITEM_mergeItem_merge( int charaindex, int petid, char *data, int petindex, i
|
||||
CHAR_setItemIndex( charaindex, haveitemindexs[i], -1);
|
||||
CHAR_sendItemDataOne( charaindex, haveitemindexs[i]);
|
||||
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名称
|
||||
itemindexs[i],
|
||||
#else
|
||||
ITEM_getInt( itemindexs[i], ITEM_ID), /* 失奶 丞 寞 */
|
||||
ITEM_getInt( itemindexs[i], ITEM_ID), /* アイテム番号 */
|
||||
#endif
|
||||
"mergedel(合成所删除的道具)",
|
||||
CHAR_getInt( charaindex,CHAR_FLOOR),
|
||||
|
104
magic/magic.c
104
magic/magic.c
@ -248,38 +248,38 @@ int MAGIC_OtherRecovery( int charaindex, int toindex, int marray, int mp )
|
||||
#endif
|
||||
MAGIC_Recovery_Battle( charaindex, toindex, marray, mp );
|
||||
}else{
|
||||
if( CHAR_CHECKINDEX( toindex ) == FALSE )return FALSE; //{撩
|
||||
if( CHAR_CHECKINDEX( toindex ) == FALSE )return FALSE; //失敗
|
||||
MAGIC_OtherRecovery_Field( charaindex, toindex, marray);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// 白奴□伙玉及箪岭毛 祭今六月 芊
|
||||
// フィールドの属性を変化させる魔法
|
||||
int MAGIC_FieldAttChange( int charaindex, int toindex, int marray, int mp )
|
||||
{
|
||||
int battlemode;
|
||||
|
||||
// INDEX民尼永弁
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //{撩
|
||||
// INDEXチェック
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //失敗
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// 壅 民尼永弁
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 井匀凶日母丢
|
||||
// 仇及 芊反 骚卞 壅 仄化 中[穴奶瓜旦卞卅月仇午反 中
|
||||
// MP消費チェック
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 無かったらダメ
|
||||
// この魔法は普通にMP消費して良い。マイナスになることは無い
|
||||
CHAR_setInt( charaindex, CHAR_MP,
|
||||
CHAR_getInt( charaindex, CHAR_MP ) - mp );
|
||||
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
return MAGIC_FieldAttChange_Battle( charaindex, toindex, marray, mp );
|
||||
}else{
|
||||
// 爵 匹卅井匀凶日
|
||||
// 戦闘中でなかったら
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@ -334,17 +334,17 @@ int MAGIC_MagicStatusChange( int charaindex, int toindex, int marray, int mp )
|
||||
#endif
|
||||
|
||||
#ifdef _MAGIC_DEEPPOISON//新增ver2,主要设定毒状态5回未解时人物会阵亡
|
||||
// 旦 □正旦唱橘毛芨尹月 芊
|
||||
// ステータス異常を与える魔法
|
||||
int MAGIC_StatusChange2( int charaindex, int toindex, int marray, int mp )
|
||||
{
|
||||
int battlemode;
|
||||
|
||||
// INDEX民尼永弁
|
||||
// INDEXチェック
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //{撩
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
@ -363,32 +363,32 @@ int MAGIC_StatusChange2( int charaindex, int toindex, int marray, int mp )
|
||||
}
|
||||
}
|
||||
#endif
|
||||
// 旦 □正旦唱橘荚汊今六月 芊
|
||||
// ステータス異常回復させる魔法
|
||||
int MAGIC_StatusRecovery( int charaindex, int toindex, int marray, int mp )
|
||||
{
|
||||
int battlemode;
|
||||
|
||||
// INDEX民尼永弁
|
||||
// INDEXチェック
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //{撩
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// 壅 民尼永弁
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 井匀凶日母丢
|
||||
// 仇及 芊反 骚卞 壅 仄化 中[穴奶瓜旦卞卅月仇午反 中
|
||||
// MP消費チェック
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 無かったらダメ
|
||||
// この魔法は普通にMP消費して良い。マイナスになることは無い
|
||||
CHAR_setInt( charaindex, CHAR_MP,
|
||||
CHAR_getInt( charaindex, CHAR_MP ) - mp );
|
||||
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
return MAGIC_StatusRecovery_Battle( charaindex, toindex, marray, mp );
|
||||
}else{
|
||||
// 爵 匹卅井匀凶日
|
||||
// 戦闘中でなかったら
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@ -429,94 +429,94 @@ int MAGIC_MagicDef( int charaindex, int toindex, int marray, int mp )
|
||||
}
|
||||
|
||||
|
||||
// 竣濮井日汊唾今六月 芊
|
||||
// 気絶から復活させる魔法
|
||||
int MAGIC_Ressurect( int charaindex, int toindex, int marray, int mp )
|
||||
{
|
||||
int battlemode;
|
||||
|
||||
// INDEX民尼永弁
|
||||
// INDEXチェック
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //{撩
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// 壅 民尼永弁
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 井匀凶日母丢
|
||||
// 仇及 芊反 骚卞 壅 仄化 中[穴奶瓜旦卞卅月仇午反 中
|
||||
// MP消費チェック
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 無かったらダメ
|
||||
// この魔法は普通にMP消費して良い。マイナスになることは無い
|
||||
CHAR_setInt( charaindex, CHAR_MP,
|
||||
CHAR_getInt( charaindex, CHAR_MP ) - mp );
|
||||
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
return MAGIC_Ressurect_Battle( charaindex, toindex, marray, mp );
|
||||
}else{
|
||||
// 爵 匹卅井匀凶日
|
||||
// 戦闘中でなかったら
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
// 箪岭毛 鳖今六月 芊
|
||||
// 属性を反転させる魔法
|
||||
int MAGIC_AttReverse( int charaindex, int toindex, int marray, int mp )
|
||||
{
|
||||
int battlemode;
|
||||
|
||||
// INDEX民尼永弁
|
||||
// INDEXチェック
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //{撩
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// 壅 民尼永弁
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 井匀凶日母丢
|
||||
// 仇及 芊反 骚卞 壅 仄化 中[穴奶瓜旦卞卅月仇午反 中
|
||||
// MP消費チェック
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 無かったらダメ
|
||||
// この魔法は普通にMP消費して良い。マイナスになることは無い
|
||||
CHAR_setInt( charaindex, CHAR_MP,
|
||||
CHAR_getInt( charaindex, CHAR_MP ) - mp );
|
||||
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
return MAGIC_AttReverse_Battle( charaindex, toindex, marray, mp );
|
||||
}else{
|
||||
// 爵 匹卅井匀凶日
|
||||
// 戦闘中でなかったら
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 竣濮井日汊唾≈ 芊 豢
|
||||
// 気絶から復活+魔法防御
|
||||
int MAGIC_ResAndDef( int charaindex, int toindex, int marray, int mp )
|
||||
{
|
||||
int battlemode;
|
||||
|
||||
// INDEX民尼永弁
|
||||
// INDEXチェック
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; //{撩
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// 壅 民尼永弁
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 井匀凶日母丢
|
||||
// 仇及 芊反 骚卞 壅 仄化 中[穴奶瓜旦卞卅月仇午反 中
|
||||
// MP消費チェック
|
||||
if( CHAR_getInt( charaindex, CHAR_MP ) < mp )return FALSE; // 無かったらダメ
|
||||
// この魔法は普通にMP消費して良い。マイナスになることは無い
|
||||
CHAR_setInt( charaindex, CHAR_MP,
|
||||
CHAR_getInt( charaindex, CHAR_MP ) - mp );
|
||||
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
return MAGIC_ResAndDef_Battle( charaindex, toindex, marray, mp );
|
||||
}else{
|
||||
// 爵 匹卅井匀凶日
|
||||
// 戦闘中でなかったら
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@ -562,11 +562,11 @@ int MAGIC_Metamo( int charaindex, int toindex, int marray, int mp )
|
||||
if( CHAR_CHECKINDEX( charaindex ) == FALSE ) return FALSE;
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
// 爵 钒铵凛反 骰允月
|
||||
// 戦闘開始時は無視する
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
// 爵 分匀凶日
|
||||
// 戦闘中だったら
|
||||
if( IsBATTLING( charaindex ) == TRUE ){
|
||||
//MAGIC_Recovery_Battle( charaindex, toindex, marray, mp );
|
||||
//return FALSE;
|
||||
@ -714,7 +714,7 @@ int MAGIC_Barrier( int charaindex, int toindex, int marray, int mp )
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月//??
|
||||
// 戦闘開始時は無視する//??
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
@ -737,7 +737,7 @@ int MAGIC_Barrier( int charaindex, int toindex, int marray, int mp )
|
||||
pszP += sizeof( szTurn );
|
||||
sscanf( pszP, "%d", &turn );
|
||||
}
|
||||
// 岳 涩烂//命中率
|
||||
// 成功率設定//命中率
|
||||
if( ( pszP = strstr( pszP, szSuccess ) ) != NULL){
|
||||
pszP += sizeof( szSuccess );
|
||||
sscanf( pszP, "%d", &Success );
|
||||
@ -788,7 +788,7 @@ int MAGIC_Nocast( int charaindex, int toindex, int marray, int mp )
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月//??
|
||||
// 戦闘開始時は無視する//??
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
@ -811,7 +811,7 @@ int MAGIC_Nocast( int charaindex, int toindex, int marray, int mp )
|
||||
pszP += sizeof( szTurn );
|
||||
sscanf( pszP, "%d", &turn );
|
||||
}
|
||||
// 岳 涩烂//命中率
|
||||
// 成功率設定//命中率
|
||||
if( ( pszP = strstr( pszP, szSuccess ) ) != NULL){
|
||||
pszP += sizeof( szSuccess );
|
||||
sscanf( pszP, "%d", &Success );
|
||||
@ -857,7 +857,7 @@ int MAGIC_Weaken( int charaindex, int toindex, int marray, int mp )
|
||||
|
||||
battlemode = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE );
|
||||
|
||||
// 爵 钒铵凛反 骰允月//??
|
||||
// 戦闘開始時は無視する//??
|
||||
if( battlemode == BATTLE_CHARMODE_INIT ){
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -24,12 +24,12 @@ int ATTMAGIC_magicnum;
|
||||
|
||||
typedef struct tagMagic_MagicFunctionTable
|
||||
{
|
||||
char *functionname; /* 热诸涩烂白央奶伙卞踏仁楮醒及 蟆 */
|
||||
MAGIC_CALLFUNC func; /* 端卞裟太请今木月楮醒 */
|
||||
char *functionname; /* 呪術設定ファイルに書く関数の名前 */
|
||||
MAGIC_CALLFUNC func; /* 実際に呼び出される関数 */
|
||||
int hash; /* hash */
|
||||
}MAGIC_MagicFunctionTable;
|
||||
|
||||
/* 热诸毛 支仄凶日仇仇卞瓒 允月仪 */
|
||||
/* 呪術を増やしたらここに登録する事 */
|
||||
static MAGIC_MagicFunctionTable MAGIC_functbl[] = {
|
||||
{ "MAGIC_Recovery", MAGIC_Recovery, 0},
|
||||
{ "MAGIC_OtherRecovery", MAGIC_OtherRecovery, 0},
|
||||
@ -73,7 +73,7 @@ static MAGIC_MagicFunctionTable MAGIC_functbl[] = {
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
/* 湘 民尼永弁]失弁本旦楮溢 */
|
||||
/* 基本チェック,アクセス関係 */
|
||||
/*----------------------------------------------------------------------*/
|
||||
INLINE BOOL MAGIC_CHECKINDEX( int index )
|
||||
{
|
||||
@ -124,7 +124,7 @@ INLINE BOOL MAGIC_setChar( int index ,MAGIC_DATACHAR element, char* new )
|
||||
return TRUE;
|
||||
}
|
||||
/*----------------------------------------------------------------------
|
||||
* 芊及醒毛襞月[
|
||||
* 魔法の数を知る。
|
||||
*---------------------------------------------------------------------*/
|
||||
int MAGIC_getMagicNum( void)
|
||||
{
|
||||
@ -132,7 +132,7 @@ int MAGIC_getMagicNum( void)
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
* 芊及涩烂白央奶伙毛 戈
|
||||
* 魔法の設定ファイルを読む
|
||||
*---------------------------------------------------------------------*/
|
||||
BOOL MAGIC_initMagic( char *filename)
|
||||
{
|
||||
@ -153,7 +153,7 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
|
||||
MAGIC_magicnum=0;
|
||||
|
||||
/* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */
|
||||
/* まず有効な行が何行あるかどうか調べる */
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
if( line[0] == '#' )continue; /* comment */
|
||||
@ -190,7 +190,7 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 赓渝祭 */
|
||||
/* 初期化*/
|
||||
for( i = 0; i < MAGIC_magicnum; i ++ ) {
|
||||
for( j = 0; j < MAGIC_DATAINTNUM; j ++ ) {
|
||||
MAGIC_setInt( i,j,-1);
|
||||
@ -200,7 +200,7 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
}
|
||||
}
|
||||
|
||||
/* 引凶 心 允 */
|
||||
/* また読み直す */
|
||||
linenum = 0;
|
||||
while( fgets( line, sizeof( line ), f ) ){
|
||||
linenum ++;
|
||||
@ -208,10 +208,11 @@ BOOL MAGIC_initMagic( 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 ++) {
|
||||
@ -237,7 +238,7 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
|
||||
for( i = 0; i < MAGIC_DATACHARNUM; i ++ ) {
|
||||
|
||||
/* 侬 迕玄□弁件毛苇月 */
|
||||
/* 文字列用トークンを見る */
|
||||
ret = getStringFromIndexWithDelim( line,",",
|
||||
i + 1,
|
||||
token,sizeof(token));
|
||||
@ -247,7 +248,7 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
}
|
||||
MAGIC_setChar( magic_readlen, i, token);
|
||||
}
|
||||
/* 4勾 动嫦反醒袄犯□正 */
|
||||
/* 4つ目以降は数値データ */
|
||||
#define MAGIC_STARTINTNUM 5
|
||||
for( i = MAGIC_STARTINTNUM; i < MAGIC_DATAINTNUM+MAGIC_STARTINTNUM; i ++ ) {
|
||||
ret = getStringFromIndexWithDelim( line,",",i,token,
|
||||
@ -288,7 +289,7 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
continue;
|
||||
|
||||
#endif
|
||||
/* 切斤匀午尕称鼎分仃升仇丹允月[ */
|
||||
/* ちょっと不細工だけどこうする */
|
||||
if( MAGIC_getInt( magic_readlen, MAGIC_TARGET_DEADFLG) == 1 ) {
|
||||
MAGIC_setInt( magic_readlen, MAGIC_TARGET,
|
||||
MAGIC_getInt( magic_readlen, MAGIC_TARGET)+100);
|
||||
@ -304,14 +305,14 @@ BOOL MAGIC_initMagic( char *filename)
|
||||
|
||||
print( "有效魔法数是 %d...", MAGIC_magicnum );
|
||||
|
||||
/* hash 及瓒 */
|
||||
/* hash の登録 */
|
||||
for( i = 0; i < arraysizeof( MAGIC_functbl); i ++ ) {
|
||||
MAGIC_functbl[i].hash = hashpjw( MAGIC_functbl[i].functionname);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
* Magic及涩烂白央奶伙 心 仄
|
||||
* Magicの設定ファイル読み直し
|
||||
*-----------------------------------------------------------------------*/
|
||||
BOOL MAGIC_reinitMagic( void )
|
||||
{
|
||||
@ -392,10 +393,10 @@ BOOL ATTMAGIC_reinitMagic( void )
|
||||
#endif
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* MAGIC_ID井日骄侬毛襞月楮醒
|
||||
* 忒曰袄
|
||||
* 岳 : 骄侬
|
||||
* 撩 : -1
|
||||
* MAGIC_IDから添字を知る関数
|
||||
* 返り値
|
||||
* 成功: 添字
|
||||
* 失敗: -1
|
||||
*-----------------------------------------------------------------------*/
|
||||
int MAGIC_getMagicArray( int magicid)
|
||||
{
|
||||
@ -413,11 +414,11 @@ int MAGIC_getMagicArray( int magicid)
|
||||
return -1;
|
||||
}
|
||||
/*------------------------------------------------------------
|
||||
* 热诸及楮醒 井日禾奶件正□毛忒允
|
||||
* 娄醒
|
||||
* name char* 热诸及 蟆
|
||||
* 忒曰袄
|
||||
* 楮醒尺及禾奶件正[卅中桦宁卞反NULL
|
||||
* 呪術の関数名からポインターを返す
|
||||
* 引数
|
||||
* name char* 呪術の名前
|
||||
* 返り値
|
||||
* 関数へのポインタ。ない場合にはNULL
|
||||
------------------------------------------------------------*/
|
||||
MAGIC_CALLFUNC MAGIC_getMagicFuncPointer(char* name)
|
||||
{
|
||||
@ -441,8 +442,9 @@ MAGIC_CALLFUNC MAGIC_getMagicFuncPointer(char* name)
|
||||
|
||||
// Nuke start (08/23)
|
||||
/*
|
||||
酱 Nuke 今氏及民尼永弁[
|
||||
芊及躲绊 区毛民尼永弁允月[
|
||||
台湾 Nuke さんのチェック。
|
||||
魔法の効果範囲をチェックする。
|
||||
|
||||
|
||||
Check the validity of the target of a magic.
|
||||
Return value:
|
||||
|
@ -9,13 +9,13 @@
|
||||
#include "magic_field.h"
|
||||
|
||||
/*
|
||||
* 哗晓匹及 芊及质
|
||||
* 地上での魔法の処理
|
||||
*/
|
||||
/*----------------------------------------------------------------------
|
||||
* 愤坌及心荚汊
|
||||
* 娄醒
|
||||
* charaindex int 愤坌及index
|
||||
* magicindex int 芊及index
|
||||
* 自分のみ回復
|
||||
* 引数
|
||||
* charaindex int 自分のindex
|
||||
* magicindex int 魔法のindex
|
||||
*---------------------------------------------------------------------*/
|
||||
int MAGIC_Recovery_Field( int charaindex, int magicindex)
|
||||
{
|
||||
@ -73,11 +73,11 @@ int MAGIC_Recovery_Field( int charaindex, int magicindex)
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------
|
||||
* 职谛毛荚汊
|
||||
* 娄醒
|
||||
* charaindex int 愤坌及index
|
||||
* toindex int 荚汊允月谛及index
|
||||
* magicindex int 芊及index
|
||||
* 他人を回復
|
||||
* 引数
|
||||
* charaindex int 自分のindex
|
||||
* toindex int 回復する人のindex
|
||||
* magicindex int 魔法のindex
|
||||
*---------------------------------------------------------------------*/
|
||||
int MAGIC_OtherRecovery_Field( int charaindex, int toindex, int magicindex)
|
||||
{
|
||||
|
@ -8,18 +8,18 @@
|
||||
#include "anim_tbl.h"
|
||||
|
||||
/*#define MAPEDITORTROUBLE*/
|
||||
#define SPR_kmydamY CG_HIT_MARK_10 // anim_tbl.h 卞瓒 今木月引匹 及巨白尼弁玄
|
||||
#define SPR_kmydamY CG_HIT_MARK_10 // anim_tbl.h に登録されるまで毒のエフェクト
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 汹仃月井升丹井 蝇允月[平乓仿互 氏匹中月井升丹井娄醒互丐月[
|
||||
* 娄醒
|
||||
* 歩けるかどうか判断する。キャラが飛んでいるかどうか引数がある。
|
||||
* 引数
|
||||
* ff int floor
|
||||
* fx int x甄
|
||||
* fy int y甄
|
||||
* isfly int 氏匹中月井升丹井
|
||||
* 忒曰袄
|
||||
* 汹仃月 TRUE(1)
|
||||
* 汹仃卅中 FALSE(0)
|
||||
* fx int x座標
|
||||
* fy int y座標
|
||||
* isfly int 飛んでいるかどうか
|
||||
* 返り値
|
||||
* 歩ける TRUE(1)
|
||||
* 歩けない FALSE(0)
|
||||
------------------------------------------------------------*/
|
||||
BOOL MAP_walkAbleFromPoint( int ff, int fx, int fy, BOOL isfly )
|
||||
{
|
||||
@ -62,19 +62,19 @@ BOOL MAP_walkAbleFromPoint( int ff, int fx, int fy, BOOL isfly )
|
||||
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 汹仃月井升丹井 蝇允月[
|
||||
* 娄醒
|
||||
* index int Char 匹及 Index
|
||||
* 歩けるかどうか判断する。
|
||||
* 引数
|
||||
* index int Char配列での Index
|
||||
* ff int floor id
|
||||
* fx int x甄
|
||||
* fy int y甄
|
||||
* 忒曰袄
|
||||
* 汹中化方中 TRUE(1)
|
||||
* 汹中化反母丢 FALSE(0)
|
||||
* fx int x座標
|
||||
* fy int y座標
|
||||
* 返り値
|
||||
* 歩いてよい TRUE(1)
|
||||
* 歩いてはダメ FALSE(0)
|
||||
------------------------------------------------------------*/
|
||||
BOOL MAP_walkAble( int index,int ff, int fx, int fy)
|
||||
{
|
||||
/* 平乓仿卅日OK */
|
||||
/* 透明キャラならOK */
|
||||
if( CHAR_getFlg( index, CHAR_ISTRANSPARENT ) ) return TRUE;
|
||||
|
||||
// Arminius 7.9 Airplane ok
|
||||
@ -90,20 +90,20 @@ BOOL MAP_walkAble( int index,int ff, int fx, int fy)
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* 甄 毛隙烂仄化}公仇及左皮斥尼弁玄卞嫖今互丐月井升丹井
|
||||
* 娄醒
|
||||
* fl int 白夫失
|
||||
* x int x 甄
|
||||
* y int y 甄
|
||||
* 忒曰袄
|
||||
* 嫖今互丐月 TRUE
|
||||
* 嫖今互卅中 FALSE
|
||||
* 座標を指定して、そこのオブジェクトに高さがあるかどうか
|
||||
* 引数
|
||||
* fl int フロア
|
||||
* x int x 座標
|
||||
* y int y 座標
|
||||
* 返り値
|
||||
* 高さがある TRUE
|
||||
* 高さがない FALSE
|
||||
------------------------------------------------------------*/
|
||||
BOOL MAP_haveHeight( int fl, int x, int y )
|
||||
{
|
||||
int map[2];
|
||||
|
||||
/* 穴永皿犯□正毛 化仁月 */
|
||||
/* マップデータを得てくる */
|
||||
if( !MAP_getTileAndObjData( fl,x,y, &map[0], &map[1] ) )
|
||||
return FALSE;
|
||||
|
||||
@ -111,11 +111,7 @@ BOOL MAP_haveHeight( int fl, int x, int y )
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------
|
||||
* Map 奶矛件玄及 pre post毛质 允月
|
||||
* 娄醒
|
||||
* index int 昙欠丹午仄化中月平乓仿及奶件犯永弁旦
|
||||
* mode BOOL TRUE及凛反}in FALSE及凛反 out 卞覆杀
|
||||
* 忒曰袄卅仄
|
||||
*
|
||||
------------------------------------------------------------*/
|
||||
static void MAP_dealprepostevent( int index, BOOL mode )
|
||||
{
|
||||
@ -155,10 +151,11 @@ static void MAP_dealprepostevent( int index, BOOL mode )
|
||||
* 公及正奶伙卞昙月蟆卞裟壬木月[仇仇匹公仇井日转仁午}xxx烟及
|
||||
* 仪毛 蜇允月[
|
||||
* 娄醒
|
||||
* index int 昙欠丹午仄化中月平乓仿及奶件犯永弁旦
|
||||
* flooor int 白夫失ID
|
||||
* fx int x甄
|
||||
* fy int y甄
|
||||
* index int Char配列での Index
|
||||
* flooor int floor id
|
||||
* fx int x座標
|
||||
* fy int y座標
|
||||
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
----------------------------------------*/
|
||||
@ -170,7 +167,7 @@ void MAP_preovered( int index )
|
||||
/*----------------------------------------
|
||||
* 公及正奶伙卞昙匀凶 卞裟壬木月[
|
||||
* 娄醒
|
||||
* index int 昙欠丹午仄化中月平乓仿及奶件犯永弁旦
|
||||
* index int Char配列での Index
|
||||
* 忒曰袄
|
||||
* 卅仄
|
||||
----------------------------------------*/
|
||||
|
@ -284,7 +284,7 @@ BOOL MAP_readBattleMapConfFile( char* filename )
|
||||
BattleMapNo[0] );
|
||||
}
|
||||
|
||||
// 飓 寞恳仄中井"
|
||||
// 画像番号正しいか?
|
||||
if( IsValidImagenumber( i ) == FALSE ){
|
||||
continue;
|
||||
}
|
||||
@ -406,20 +406,20 @@ FCLOSERETURNTRUE:
|
||||
|
||||
static BOOL MAP_readMapOne( char* filename )
|
||||
{
|
||||
FILE* f; /* 白央奶伙 */
|
||||
char buf[16]; /* 穴斥永弁瓜件田□ 心迕 */
|
||||
short data[1024]; /* 扑亦□玄 心迕田永白央 */
|
||||
int ret; /* 忒曰袄熬仃潸曰迕 */
|
||||
int i; /* 伙□皿 醒 */
|
||||
FILE* f; /* ファイル */
|
||||
char buf[16]; /* マジックナンバー読み用 */
|
||||
short data[1024]; /* ショート読み用バッファ */
|
||||
int ret; /* 返り値受け取り用 */
|
||||
int i; /* ループ変数 */
|
||||
int mapindex;
|
||||
|
||||
int id=0,xsiz=0,ysiz=0; /* 穴永皿犯□正及域凛伞 桦赭 */
|
||||
int id=0,xsiz=0,ysiz=0; /* マップデータの一時格納場所 */
|
||||
|
||||
short *tile=NULL;
|
||||
short *obj=NULL;
|
||||
MAP_Objlink** olink=NULL;
|
||||
char showstring[32]; /* 穴永皿犯□正及域凛伞 桦赭 */
|
||||
struct stat filestat; /* 民尼永弁迕卞银丹 */
|
||||
char showstring[32]; /* マップデータの一時格納場所 */
|
||||
struct stat filestat; /* チェック用に使う */
|
||||
BOOL invaliddata=FALSE;
|
||||
if( MAP_mapnum_index >= MAP_mapnum ){
|
||||
fprint( "这里没有足够空间装载地图数组.\n" );
|
||||
|
Loading…
Reference in New Issue
Block a user