⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 char_base.c.bak

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 BAK
📖 第 1 页 / 共 5 页
字号:
#include "version.h"#include <string.h>// CoolFish: 2001/10/12  _UNIQUE_P_I#include <time.h>#include "char_base.h"#include "char_data.h"#include "item.h"#include "buf.h"#include "magic.h"#include "function.h"#include "npccreate.h"#include "configfile.h"#include "title.h"#include "pet.h"#include "pet_skill.h"#include "anim_tbl.h"#include "enemy.h"#include "saacproto_cli.h"// CoolFish: 2001/10/29#include "log.h"Char* CHAR_chara;static int      CHAR_charanum;static int      CHAR_playernum;static int      CHAR_petnum;static int      CHAR_othersnum;// CoolFish: 2001/10/11#ifdef _UNIQUE_P_I#define	MAX_UNIQUE_P_I	1000static int unique_p = 0;static int unique_i = 0;#endiftypedef struct tagINITCHARCOUNTER{	int startcnt;	int cnt;	int endcnt;}INITCHARCOUNTER;static INITCHARCOUNTER  initCharCounter[3] = {	{-1,-1,-1},{-1,-1,-1},{-1,-1,-1}};tagRidePetTable ridePetTable[122] ={	{ 101000, 100000, 100352, 331 },	{ 101001, 100005, 100352, 331 },	{ 101002, 100010, 100352, 331 },	{ 101003, 100015, 100352, 331 },	{ 101004, 100000, 100329, 309 },	{ 101005, 100005, 100327, 307 },	{ 101006, 100010, 100330, 310 },	{ 101007, 100015, 100328, 308 },	{ 101008, 100700, 100372, 351 },	{ 101009, 100705, 100373, 352 },	{ 101010, 100020, 100396, 483 },	{ 101011, 100025, 100396, 483 },	{ 101012, 100030, 100396, 483 },	{ 101013, 100035, 100396, 483 },	{ 101014, 100020, 100328, 308 },	{ 101015, 100025, 100329, 309 },	{ 101016, 100030, 100327, 307 },	{ 101017, 100035, 100330, 310 },	{ 101018, 100710, 100372, 351 },	{ 101019, 100715, 100373, 352 },	{ 101020, 100040, 100351, 330 },	{ 101021, 100045, 100351, 330 },	{ 101022, 100050, 100351, 330 },	{ 101023, 100055, 100351, 330 },	{ 101024, 100040, 100328, 308 },	{ 101025, 100045, 100330, 310 },	{ 101026, 100050, 100327, 307 },	{ 101027, 100055, 100329, 309 },	{ 101028, 100720, 100372, 351 },	{ 101029, 100725, 100373, 352 },	{ 101030, 100060, 100353, 332 },	{ 101031, 100065, 100353, 332 },	{ 101032, 100070, 100353, 332 },	{ 101033, 100075, 100353, 332 },	{ 101034, 100060, 100329, 309 },	{ 101035, 100065, 100327, 307 },	{ 101036, 100070, 100330, 310 },	{ 101037, 100075, 100328, 308 },	{ 101038, 100730, 100372, 351 },	{ 101039, 100735, 100373, 352 },	{ 101040, 100080, 100396, 483 },	{ 101041, 100085, 100396, 483 },	{ 101042, 100090, 100396, 483 },	{ 101043, 100095, 100396, 483 },	{ 101044, 100080, 100328, 308 },	{ 101045, 100085, 100327, 307 },	{ 101046, 100090, 100330, 310 },	{ 101047, 100095, 100329, 309 },	{ 101048, 100740, 100372, 351 },	{ 101049, 100745, 100373, 352 },	{ 101050, 100100, 100353, 332 },	{ 101051, 100105, 100353, 332 },	{ 101052, 100110, 100353, 332 },	{ 101053, 100115, 100353, 332 },	{ 101054, 100100, 100329, 309 },	{ 101055, 100105, 100328, 308 },	{ 101056, 100110, 100330, 310 },	{ 101057, 100115, 100327, 307 },	{ 101058, 100750, 100372, 351 },	{ 101059, 100755, 100373, 352 },	{ 101060, 100120, 100354, 333 },	{ 101061, 100125, 100354, 333 },	{ 101062, 100130, 100354, 333 },	{ 101063, 100135, 100354, 333 },	{ 101064, 100120, 100327, 307 },	{ 101065, 100125, 100330, 310 },	{ 101066, 100130, 100328, 308 },	{ 101067, 100135, 100329, 309 },	{ 101068, 100760, 100372, 351 },	{ 101069, 100765, 100373, 352 },	{ 101070, 100140, 100354, 333 },	{ 101071, 100145, 100354, 333 },	{ 101072, 100150, 100354, 333 },	{ 101073, 100155, 100354, 333 },	{ 101074, 100140, 100327, 307 },	{ 101075, 100145, 100329, 309 },	{ 101076, 100150, 100330, 310 },	{ 101077, 100155, 100328, 308 },	{ 101078, 100770, 100372, 351 },	{ 101079, 100775, 100373, 352 },	{ 101080, 100160, 100352, 331 },	{ 101081, 100165, 100352, 331 },	{ 101082, 100170, 100352, 331 },	{ 101083, 100175, 100352, 331 },	{ 101084, 100160, 100330, 310 },	{ 101085, 100165, 100329, 309 },	{ 101086, 100170, 100327, 307 },	{ 101087, 100175, 100328, 308 },	{ 101088, 100780, 100372, 351 },	{ 101089, 100785, 100373, 352 },	{ 101090, 100180, 100351, 330 },	{ 101091, 100185, 100351, 330 },	{ 101092, 100190, 100351, 330 },	{ 101093, 100195, 100351, 330 },	{ 101094, 100180, 100328, 308 },	{ 101095, 100185, 100330, 310 },	{ 101096, 100190, 100329, 309 },	{ 101097, 100195, 100327, 307 },	{ 101098, 100790, 100372, 351 },	{ 101099, 100795, 100373, 352 },	{ 101100, 100200, 100353, 332 },	{ 101101, 100205, 100353, 332 },	{ 101102, 100210, 100353, 332 },	{ 101103, 100215, 100353, 332 },	{ 101104, 100200, 100329, 309 },	{ 101105, 100205, 100328, 308 },	{ 101106, 100210, 100327, 307 },	{ 101107, 100215, 100330, 310 },	{ 101108, 100800, 100372, 351 },	{ 101109, 100805, 100373, 352 },	{ 101110, 100220, 100396, 483 },	{ 101111, 100225, 100396, 483 },	{ 101112, 100230, 100396, 483 },	{ 101113, 100235, 100396, 483 },	{ 101114, 100220, 100330, 310 },	{ 101115, 100225, 100327, 307 },	{ 101116, 100230, 100329, 309 },	{ 101117, 100235, 100328, 308 },	{ 101118, 100810, 100372, 351 },	{ 101119, 100815, 100373, 352 },	{ 101179, 101177, 101178, 1804},	{ 101179, 101178, 101177, 1926},};#ifdef _NEW_RIDEPETStagRideCodeMode RideCodeMode[] = {	{ 100374, RIDE_PET0 },  /*骑宠帖拉所伊朵*/	{ 100358, RIDE_PET1 },  /*骑宠巴朵兰恩*/	{ 100362, RIDE_PET2 },  /*骑宠左迪洛斯*/	{ 100279, RIDE_PET3 },  /*骑宠格尔格*/	{ 100288, RIDE_PET4 },  /*骑宠玛恩摩洛斯*/	{ 100283, RIDE_PET5 },  /*骑宠拉奇鲁哥*/	{ 100346, RIDE_PET6 },  /*骑宠卡达鲁卡斯*/	{ 100310, RIDE_PET7 },  /*骑宠扬奇洛斯*/	{ 100372, RIDE_PET8 },  /*骑宠卡卡金宝*/	{ 100373, RIDE_PET9 },  /*骑宠朵拉比斯*/	{ 101576, RIDE_PET10 }, /*镲宠罗多克雷*/	{ 101532, RIDE_PET11 }, /*骑宠史卡鲁*/};tagRideNoList RideNoList[] = {	{{ 101305, 101306, 101307, 101308, 101309, 101310, 101311, 101312, 101008, 101009, 101989, 101978},0},	//小矮子	{{ 101313, 101314, 101315, 101316, 101317, 101318, 101319, 101320, 101018, 101019, 101988, 101986},0},	//赛亚人	{{ 101321, 101322, 101323, 101324, 101325, 101326, 101327, 101328, 101028, 101029, 101965, 101975},0},	//辫子男孩	{{ 101329, 101330, 101331, 101332, 101333, 101334, 101335, 101336, 101038, 101039, 101966, 101976},0},	//酷哥	{{ 101337, 101338, 101339, 101340, 101341, 101342, 101343, 101344, 101048, 101049, 101973, 101984},0},	//熊皮男	{{ 101345, 101346, 101347, 101348, 101349, 101350, 101351, 101352, 101058, 101059, 101974, 101985},0},	//大个	{{ 101353, 101354, 101355, 101356, 101357, 101358, 101359, 101360, 101068, 101069, 101967, 101977},0},	//小矮妹	{{ 101361, 101362, 101363, 101364, 101365, 101366, 101367, 101368, 101078, 101079, 101968, 101979},0},	//熊皮妹	{{ 101369, 101370, 101371, 101372, 101373, 101374, 101375, 101376, 101088, 101089, 101970, 101981},0},	//帽子妹	{{ 101377, 101378, 101379, 101380, 101381, 101382, 101383, 101384, 101098, 101099, 101969, 101980},0},	//短法发夹妹	{{ 101385, 101386, 101387, 101388, 101389, 101390, 101391, 101392, 101108, 101109, 101972, 101983},0},	//手套女	{{ 101393, 101394, 101395, 101396, 101397, 101398, 101399, 101400, 101118, 101119, 101970, 101982},0},	//辣妹};tagRidePetList RPlistMode[] = {	{ 100000, 0, 1 }, { 100005, 0, 1 }, { 100010, 0, 1 }, { 100015, 0, 1 },	//小矮子	{ 100020, 1, 1 }, { 100025, 1, 1 }, { 100030, 1, 1 }, { 100035, 1, 1 },	//赛亚人	{ 100040, 2, 1 }, { 100045, 2, 1 }, { 100050, 2, 1 }, { 100055, 2, 1 },	//辫子男孩	{ 100060, 3, 1 }, { 100065, 3, 1 }, { 100070, 3, 1 }, { 100075, 3, 1 },	//酷哥	{ 100080, 4, 1 }, { 100085, 4, 1 }, { 100090, 4, 1 }, { 100095, 4, 1 },	//熊皮男	{ 100100, 5, 1 }, { 100105, 5, 1 }, { 100110, 5, 1 }, { 100115, 5, 1 },	//大个	{ 100120, 6, 2 }, { 100125, 6, 2 }, { 100130, 6, 2 }, { 100135, 6, 2 },	//小矮妹	{ 100140, 7, 2 }, { 100145, 7, 2 }, { 100150, 7, 2 }, { 100155, 7, 2 },	//熊皮妹	{ 100160, 8, 2 }, { 100165, 8, 2 }, { 100170, 8, 2 }, { 100175, 8, 2 },	//帽子妹	{ 100180, 9, 2 }, { 100185, 9, 2 }, { 100190, 9, 2 }, { 100195, 9, 2 },	//短发夹妹	{ 100200, 10, 2 }, { 100205, 10, 2 }, { 100210, 10, 2 }, { 100215, 10, 2 },	//手套女	{ 100220, 11, 2 }, { 100225, 11, 2 }, { 100230, 11, 2 }, { 100235, 11, 2 },	//辣妹};int RIDEPET_getNOindex( int baseNo){	int i;	for( i=0; i< sizeof(RPlistMode)/sizeof(tagRidePetList); i++ )	{		if( RPlistMode[i].charNo == baseNo )	{			return RPlistMode[i].Noindex;		}	}	return -1;}int RIDEPET_getPETindex( int PetNo, int learnCode){	int i;	for( i=0; i< sizeof(RideCodeMode)/sizeof(tagRideCodeMode); i++ )	{		if( RideCodeMode[i].petNo == PetNo && 			(RideCodeMode[i].learnCode & learnCode) )	{			return i;		}	}	return -1;}int RIDEPET_getRIDEno( int index, int ti){	if( index < 0 || index >= sizeof( RideNoList)/sizeof( tagRideNoList) )		return -1;	if( ti < 0 || ti >= MAXNOINDEX )		return -1;	return RideNoList[index].RideNo[ti];}#endif#ifdef _EMENY_CHANCEMANint CHAR_getSexInt( int baseNo ){	int i;	for( i=0; i< sizeof(RPlistMode)/sizeof(tagRidePetList); i++ )	{		if( RPlistMode[i].charNo == baseNo )	{			return RPlistMode[i].sex;		}	}	return -1;}#endif#ifdef _PET_EVOLUTION#define MAXTABLE_X 29#define MAXTABLE_Y 29int PetTable[MAXTABLE_X][MAXTABLE_Y]={	//0           4              9             14             19             24	{ 1, 2, 5, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 5, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5},	{ 2, 5, 1, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1},	{ 5, 1, 2, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2},	{ 1, 2, 5, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5},	{ 2, 5, 1, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1},	{ 2, 1, 2, 1, 2, 2, 2, 5, 5, 1, 2, 5, 2, 1, 2, 1, 2, 5, 2, 1, 2, 1, 2, 5, 2, 5, 2, 1, 2},	{ 1, 2, 5, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 1},	{ 2, 5, 1, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 2},	{10, 3,10, 3,10, 8,10, 8,10, 3,10, 3,10, 8,10, 8,10, 3,10, 3,10, 8,10, 8,10, 8,10, 3,10},	{ 3, 8, 3, 8, 3,10, 3,10, 8, 3, 3, 8, 3, 8, 3,10, 3,10, 3, 8, 3, 8, 3,10, 3,10, 3, 8, 3},	{ 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8},	{ 5, 1, 5, 1, 5, 2, 5, 2, 5, 1, 5, 5, 5, 1, 5, 2, 5, 2, 5, 1, 5, 1, 5, 2, 5, 2, 5, 1, 5},	{ 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10},	{10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3},	{ 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8},	{ 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1},	{ 9, 0, 9, 0, 9, 4, 9, 4, 9, 0, 9, 0, 9, 4, 9, 4, 9, 0, 9, 0, 9, 4, 9, 4, 9, 0, 9, 4, 9},	{ 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2},	{ 6, 0, 6, 0, 6, 9, 6, 9, 6, 0, 6, 0, 6, 9, 6, 9, 6, 0, 6, 0, 6, 9, 6, 9, 6, 0, 6, 9, 6},	{ 4, 6, 4, 6, 4, 9, 4, 9, 4, 6, 4, 6, 4, 9, 4, 9, 4, 6, 4, 6, 4, 9, 4, 9, 4, 6, 4, 9, 4},	{ 8, 3, 8, 3, 8,10, 8,10, 8, 3, 8, 3, 8,10, 8,10, 8, 3, 8, 3, 8,10, 8,10, 8, 3, 8,10, 8},	{ 8,10, 3, 8,10, 3, 8,10,10, 3, 8,10, 3, 8,10, 3,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10},	{ 1, 2, 5, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5},	{ 0, 4, 0, 4, 0, 6, 0, 6, 0, 4, 0, 4, 0, 6, 0, 6, 0, 4, 0, 4, 0, 6, 0, 4, 0, 6, 0, 4, 0},	{ 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2, 5, 1, 2},	{ 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8},	{10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3, 8,10, 3},	{ 2, 1, 2, 1, 5, 1, 5, 1, 2, 1, 2, 1, 5, 1, 5, 1, 2, 1, 2, 1, 5, 1, 5, 1, 2, 1, 2, 5, 1},	{ 6, 9, 6, 9, 6, 0, 6, 0, 6, 9, 6, 9, 6, 0, 6, 0, 6, 9, 6, 9, 6, 0, 6, 0, 6, 9, 6, 0, 6}};int PropertyTable[4][4]={	{ 0, 4, 5, 6},	{ 7, 1, 8, 9},	{10,11, 2,12},	{13,14,15, 3},};#define MAXFTABLE_X 11#define MAXFTABLE_Y	16int FusionTable[MAXFTABLE_X][MAXFTABLE_Y]={	{ 989, 990, 991, 992, 989, 992, 989, 990, 990, 990, 991, 991, 991, 992, 989, 992},	{1001,1002,1003,1004,1001,1001,1004,1001,1002,1002,1003,1003,1003,1004,1004,1003},	{1005,1006,1007,1008,1005,1005,1005,1006,1006,1006,1007,1006,1007,1008,1008,1008},	{1021,1025,1023,1024,1025,1021,1021,1022,1022,1022,1023,1023,1023,1021,1024,1024},	{1030,1031,1032,1033,1030,1030,1030,1031,1031,1031,1032,1031,1032,1030,1033,1033},	{1017,1018,1019,1020,1018,1017,1017,1018,1019,1018,1019,1019,1020,1017,1020,1020},	{1009,1010,1011,1012,1010,1009,1009,1010,1010,1010,1011,1011,1011,1012,1012,1011},	{ 993, 994, 995, 996, 994, 993, 993, 994, 995, 994, 995, 993, 996, 993, 996, 996},	{1026,1027,1028,1029,1026,1026,1026,1026,1028,1027,1028,1028,1029,1029,1029,1029},	{ 997, 998, 999, 999,1000, 997, 997,1000, 998, 998,1000, 998, 999, 999, 999, 999},	{1013,1014,1015,1016,1013,1013,1016,1013,1015,1014,1015,1015,1015,1016,1016,1016}};int EVOLUTION_getPetFusionCode( int petid){	int petarray = ENEMYTEMP_getEnemyTempArrayFromTempNo( petid);	return ENEMYTEMP_getInt( petarray, E_T_FUSIONCODE);}int EVOLUTION_getPetTable( int charaindex, int petindex1, int petindex2){	int table1,table2;	if( !CHAR_CHECKINDEX( petindex1) ) return -1;	if( !CHAR_CHECKINDEX( petindex2) ) return -1;	table2 = EVOLUTION_getPetFusionCode( CHAR_getInt( petindex1, CHAR_PETID));	table1 = EVOLUTION_getPetFusionCode( CHAR_getInt( petindex2, CHAR_PETID));	if( table1 < 0 || table1 >= MAXTABLE_X ) return -1;	if( table2 < 0 || table2 >= MAXTABLE_Y ) return -1;	return PetTable[table1][table2];}int EVOLUTION_getPropertyTable( int charaindex, int petindex1, int petindex2){	int i, k1=0, k2=0;	int table1,table2;	int Property1[4]={-1,-1,-1,-1};	int Property2[4]={-1,-1,-1,-1};	if( !CHAR_CHECKINDEX( petindex1) ) return -1;	if( !CHAR_CHECKINDEX( petindex2) ) return -1;	for( i=0; i<4; i++)	{		if( CHAR_getInt( petindex1, CHAR_EARTHAT+i) > 0 ){			Property1[k1] = i;			k1++;		}		if( CHAR_getInt( petindex2, CHAR_EARTHAT+i) > 0 ){			Property2[k2] = i;			k2++;		}	}	if( k1 == 0 || k2 == 0 ) return -1;	if( k1 <= 1 )	{		table1 = Property1[ 0];	}else{		table1 = Property1[ (rand()%(k1-1)) ];	}	if( k2 <= 1 )	{		table2 = Property2[ 0];	}else	{		table2 = Property2[ (rand()%(k2-1)) ];	}	if( table1 < 0 || table1 >= 4 ) return -1;	if( table2 < 0 || table2 >= 4 ) return -1;	return PropertyTable[table1][table2];}int EVOLUTION_getFusionTable( int charaindex, int px, int py){	if( px >= MAXFTABLE_X || px < 0 ) return -1;	if( py >= MAXFTABLE_Y || py < 0 ) return -1;	return FusionTable[px][py];}#endif#ifdef _CHAR_FIXDATADEF/*typedef struct _tagPetSetIntData{	char com[256];	int type;}PetSetIntData;PetSetIntData PET_SetIntData[ ]={};*/#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -