📄 chardatatable.cpp
字号:
/*****************************************************************************\
* Copyright (c), Future Entertainment World / Seoul, Republic of Korea *
* All Rights Reserved. *
* *
* This document contains proprietary and confidential information. No *
* parts of this document or the computer program it embodies may be in *
* any way copied, duplicated, reproduced, translated into a different *
* programming language, or distributed to any person, company, or *
* corporation without the prior written consent of Future Entertainment World *
\*****************************************************************************/
#include "StdAfx.h"
#include "Dragon.h"
#include "Char.h"
#include "Hong_Sub.h"
#include "directsound.h"
#include "CharDataTable.h"
#include "Horse.h" // LTS HOSERIDER
extern CHARACTERLIST g_CharacterList;
extern cHorseRider g_HorseRider; // LTS HORSERIDER
#define WAVE_ANIMATION 0
NPCLev_to_Exp NPC_Lev_Ref[Num_Of_NPC_Lev] ;
////////////////////////////////////////////////////////////////////////////////////////////////
//
// User Function...
//
///////////////// 0807 lkh 眠啊 ////////////////
int ReturnWaveHeroAnimation( LPCHARACTER ch, int wave )
{
switch ( ch->nCurrentAction )
{
case ACTION_BATTLE_NONE_TWOHAND ://傈捧扁夯 2( 剧颊 )
case ACTION_BATTLE_NONE ://傈捧扁夯
case ACTION_NONE ://扁夯悼累
case ACTION_DIE ://磷扁
case ACTION_MAGIC_BEFORE ://付过矫傈
case ACTION_RUN ://顿扁
case ACTION_BATTLE_WALK_OWNHAND ://傈捧叭扁
case ACTION_BATTLE_WALK_TWOHAND ://傈捧叭扁 2 ( 剧颊俊 八 )
case ACTION_BASIC_WALK ://扁夯叭扁
case ACTION_ATTACK_ONESWORD1 ://茄颊傍拜
case ACTION_ATTACK_ONESWORD2 ://茄颊傍拜2
case ACTION_ATTACK_BONG_DOWN ://豪, 帮豪, 傍拜( 郴妨摹扁 )
case ACTION_ATTACK_BONG_JJIRKI ://芒, 豪, 傍拜( 骂福扁 )
case ACTION_ATTACK_BOW ://劝筋扁
case ACTION_ATTACK_PENSWORD2 ://奇教磊技
case ACTION_ATTACK_PENSING1 ://奇教傍拜 1
case ACTION_ATTACK_PENSING2 ://奇教傍拜 2
case ACTION_THROW ://带瘤扁傍拜
case ACTION_ATTACK_BONG_ROUND ://豪, 芒, 帮豪, 傍拜( 戎滴福扁 )
return AttackRangeTable[ch->sprno][ ch->accessory[ 2]][8 + ch->sex];
break;
#define WAV_ARMOR_IRON_HITED 214
#define WAV_ARMOR_ROBE_HITED 215
#define WAV_ARMOR_SKIN_HITED 216
// 214 艰癌渴鸥拜.wav
// 215 肺宏癌渴鸥拜.wav
// 216 盖混鸥拜.wav
// 217 倒耽捞鸥拜.wav
// 218 倔澜鸥拜.wav
// 219 唱公鸥拜.wav
// 220 入鸥拜.wav
// 221 艰规菩.wav
// 222 唱公规菩.wav
case ACTION_ATTACKED ://嘎扁 // ####酒赣 龙皑俊 蝶扼 鸥拜矫 唱绰 家府...
// ####
if( wave == 1 )
{
switch( ch->accessory[0] )
{
case 3 :
case 5 :
case 7 :
case 13:
case 15: return WAV_ARMOR_IRON_HITED;
case 1 :
case 9 :
case 11:
case 17:
case 19:
case 21: if( Random(2) )
return WAV_ARMOR_ROBE_HITED;
default : return 216; // 盖混鸥拜.wav
}
}
else
{
if( ch->sex == 0 )
{
// #### 咯磊 '拦'家府甫 持绰促.
}
else
{
// #### 巢磊 '拦'家府甫 持绰促.
}
}
break;
case ACTION_MAGIC_CASTING ://付过某胶泼
case ACTION_SITDOWN ://臼扁
case ACTION_HORSE ://富鸥扁
break;
}
return wave;
}
int ReturnWaveNPCAnimation( LPCHARACTER ch, int wave )
{
switch ( ch->nCurrentAction )
{
case MON1_NONE : //扁夯悼累
case MON1_DIE : // 磷扁....
case MON1_ATTACKED : //嘎扁
case MON1_BATTLE_ATTACK : // 茄颊傍拜
case MON1_CASTING_MAGIC : // 08付过矫傈 // LTS DRAGON
case MON1_BATTLE_ATTACK2 : // 09傍拜 2
case MON1_BATTLE_ATTACK3 : // 10傍拜 3
case MON1_JUST_ACTION : // 11烙狼狼 悼累
break;
} // switch..
return wave;
}
/*
MON1_NONE = 0, // 扁夯悼累
MON1_BATTLE_WALK, // 扁夯叭扁
MON1_ATTACKED, // 嘎扁
MON1_DIE, // 磷扁....
MON1_BATTLE_ATTACK // 茄颊傍拜
*/
///////////////////////////// SoundUp lkh 荐沥 ///////////////////////////////////
int ReturnPCAutoWave(LPCHARACTER lpChar, int type) //PC(lpChar->瓤苞澜 林眉/措惑 某腐磐 | type->0:傍磊/1:乔鸥拜磊)
{
int wave_Num =300;
int weapon_Type = IK_ONE_SWORD;
int attack_Pattern; //盖颊:0/茄颊八:1/芒:2/帮,根嫡捞:3/瘤莆捞:4/茄颊枚硼:5/剧颊档尝:6/厚八:7/茄颊何:8/豪:9/拱绢垛扁:10/扁鸥:11
// type -> 0:傍拜澜 1:鸥拜澜
//int sound = lpChar->瓤苞澜 林眉;
CItem *weapon = ItemUnit( EquipItemAttr[WT_WEAPON] );
if(weapon)
weapon_Type = weapon->GetItemKind();
///////////////////////////// 鸥拜澜 ////////////////////////////////
if(type)
{
LPCHARACTER attacker=ReturnCharacterPoint(lpChar->attacker_ID);
if(attacker==NULL) return 0;
//////////////////////////// npc狼 傍拜 菩畔 盒幅 /////////////////////////////////
switch(attacker->sprno)
{
case 7: //胶奶饭沛
case 8: //绊喉赴
case 18: //虐 累篮 版厚盔
case 19: //虐 奴 版厚盔
case 20: //蹲蹲茄 版厚盔
case 57: //俊胆宏肺捞
case 58: //饭萍
case 59: //拳坊瞒
case 62: //坷农2
case 68: //龋厚飘巢
case 69: //龋厚飘咯
case 78: //檬里捞
case 63: //郡橇巢
case 64: //郡橇咯
attack_Pattern=1; //茄颊八戎笛扁
break;
case 10: //啊绊老
case 44: //荐沥炼阿惑
attack_Pattern=2; //芒 拌凯
break;
case 13: //飘费
attack_Pattern=3; //帮/根嫡捞 拌凯
break;
case 17: //鸥捞锅
case 24: //酒历揪
case 39: //窍鞭龟矫
attack_Pattern=4; //瘤莆捞
break;
case 37: //倔澜芭牢
attack_Pattern=5; //茄颊枚硼
break;
case 75: //公扁痢 林牢
case 61: //墨府胶穿盖
attack_Pattern=6; //剧颊档尝
break;
case 40: //盖胶妮乔攫
attack_Pattern=7; //厚八带瘤扁
break;
case 65:
case 66:
attack_Pattern=8; //茄颊何
break;
case 60: //矫公聪救
case 74: //措厘埃/格傍家 林牢
attack_Pattern=9; //豪 拌凯
break;
case 12:
case 43:
case 45:
case 70:
attack_Pattern=0; //盖颊戎笛扁
break;
case 55: //阂刀
case 9: //侥牢侥拱
case 29: //俺
case 47: //档付轨牢埃
case 2: //甸零
case 33: //戳措
case 32: //杆蹬瘤
attack_Pattern=10; //拱绢垛扁
break;
default:
attack_Pattern=11; //扁鸥
break;
}
BOOL shield_Use=0; //规菩 馒侩 咯何
BOOL armor_Use=0; //规绢汗 馒侩 咯何
CItem *shield = ItemUnit( EquipItemAttr[WT_SHIELD] );
if( shield && lpChar->peacests==1 ) shield_Use = TRUE; //傈捧葛靛牢 版快
CItem *armor = ItemUnit( EquipItemAttr[WT_ARMOR] );
if( armor ) armor_Use = TRUE;
int aw = attacker->accessory[2];
//规菩甫 甸绊 乐阑 版快 25% 犬伏肺 规菩 鸥拜澜 贸府
if( shield_Use && rand()%101<=25 )
{
switch(lpChar->accessory[3]) //规菩 鸥拜
{
case 91: //唱公规菩
{
// 傍磊狼 傍拜悼累俊 蝶扼
if(attacker->nCurrentAction == ACTION_ATTACK_ONESWORD1 || attack_Pattern == 1 || attack_Pattern == 8 )
{
if( aw == 61 || aw == 62 || aw == 71 || attack_Pattern == 1 )
wave_Num=337; //茄颊漠
else if( aw == 66 || aw == 67 || attack_Pattern == 8 )
wave_Num=335; //茄颊何
else
wave_Num=334; //枚硼
}
else if(attacker->nCurrentAction == ACTION_ATTACK_ONESWORD2)
{
switch( aw )
{
case 61: //茄颊漠
case 62:
case 66: //茄颊档尝
case 67:
wave_Num=337;
break;
default:
wave_Num=334;
break;
}
}
else if(attacker->nCurrentAction == ACTION_ATTACK_BONG_DOWN || attack_Pattern == 4 || attack_Pattern == 9 )
{
if( aw == 72 || aw == 73 || aw == 76 || aw == 77 || attack_Pattern == 4 || attack_Pattern == 9 )
wave_Num=334;
else if( aw == 68 || aw == 69 || attack_Pattern == 6 ) //剧颊何
wave_Num=336+rand()%2;
else if( aw == 70 || attack_Pattern == 5 ) //茄颊枚硼
wave_Num=337;
}
else if(attacker->nCurrentAction == ACTION_ATTACK_BONG_JJIRKI || attacker->nCurrentAction == ACTION_ATTACK_BOW ||
attacker->nCurrentAction == ACTION_THROW || attacker->nCurrentAction == ACTION_ATTACK_PENSING1 || attack_Pattern == 7 || attack_Pattern == 2)
wave_Num=335;
else if(attacker->nCurrentAction == ACTION_ATTACK_PENSING2) // 12 咯磊:奇教傍拜 2 (困俊辑 酒贰肺 郴妨 骂福扁) 巢磊:剧颊 辨霸 骂福扁
{
if(attacker->sprno) //巢磊
wave_Num=335;
else //咯磊
wave_Num=336;
}
else if(attacker->nCurrentAction == ACTION_ATTACK_BONG_ROUND) // 23 咯磊:豪,芒,帮豪 糠俊辑 戎滴福扁 巢磊:3楷鸥 骂福扁
{
if(attacker->sprno) //巢磊
wave_Num=335;
else //咯磊
wave_Num=334;
}
else wave_Num=335;
}
break;
case 89: //啊磷规菩
wave_Num=330;
break;
default: //陛加规菩
{
if(attacker->nCurrentAction==ACTION_ATTACK_ONESWORD1 || attack_Pattern == 1)
wave_Num=331;
else if(attacker->nCurrentAction==ACTION_ATTACK_ONESWORD2 || attack_Pattern == 5 || attack_Pattern == 8 )
{
if( aw == 61 || aw == 62 || aw == 71 || aw == 66 || aw == 67 || attack_Pattern == 5 || attack_Pattern == 8 )
wave_Num=331;
else
wave_Num=332;
}
else if(attacker->nCurrentAction==ACTION_ATTACK_BONG_DOWN || attack_Pattern == 9 || attack_Pattern == 4 || attack_Pattern == 6 )
{
if( aw == 72 || aw == 73 || aw == 70 || attack_Pattern == 9 )
wave_Num=331;
else if( aw == 76 || aw == 77 || attack_Pattern == 4 )
wave_Num=337;
else if( aw == 68 || aw == 69 || attack_Pattern == 6 )
wave_Num=332;
}
else if(attacker->nCurrentAction==ACTION_ATTACK_BONG_JJIRKI || attacker->nCurrentAction==ACTION_ATTACK_BOW ||
attacker->nCurrentAction==ACTION_THROW || attacker->nCurrentAction==ACTION_ATTACK_PENSING1 || attack_Pattern == 7 || attack_Pattern == 2)
wave_Num=333;
else if(attacker->nCurrentAction==ACTION_ATTACK_PENSING2)
{
if(attacker->sprno) //巢磊
wave_Num=331;
else //咯磊
wave_Num=333;
}
else if(attacker->nCurrentAction==ACTION_ATTACK_BONG_ROUND)
{
if(attacker->sprno) //巢磊
wave_Num=331;
else
{
if( aw == 72 || aw == 73 )
wave_Num=331;
else
wave_Num=337;
}
}
else wave_Num=332;
}
break;
} //end switch
}
else //规菩甫 甸绊 乐瘤 臼篮 版快(癌渴鸥拜澜)
{
if( armor && armor->GetItemKind() == IK_IRON_ARMOR ) //陛加癌渴 // 0929 YGI
{
if(attacker->type==SPRITETYPE_CHARACTER)
{
switch(attacker->nCurrentAction) //傍磊狼 公扁俊 蝶弗 瞒喊利牢 家府 楷免
{
case ACTION_ATTACK_ONESWORD1: // 5 茄颊傍拜 窜规
wave_Num=300+rand()%2;
break;
case ACTION_ATTACK_ONESWORD2: // 6 茄颊傍拜 2楷鸥
switch( attacker->accessory[2] )
{
case 61: //茄颊漠
case 62:
case 66: //茄颊档尝
case 67:
wave_Num=300+rand()%2;
break;
default:
wave_Num=302;
break;
}
break;
case ACTION_ATTACK_BONG_DOWN: // 7 豪, 帮豪, 傍拜( 剧颊 郴妨摹扁-赣府困俊辑 酒贰肺 )
switch( attacker->accessory[2] )
{
case 72: // 豪
case 73:
case 76: // 瘤莆捞
case 77:
wave_Num=303;
break;
case 68: // 剧颊档尝
case 69:
wave_Num=302;
break;
case 70: // 剧颊枚硼
wave_Num=305;
break;
}
break;
case ACTION_ATTACK_BONG_JJIRKI: // 8 芒 傍 拜( 茄颊 骂福扁-绢柄 困俊辑 )
case ACTION_ATTACK_BOW: // 9 劝筋扁
case ACTION_THROW: // 19 带瘤扁傍拜
case ACTION_ATTACK_PENSING1: // 11 咯磊:奇教傍拜 1 (辨霸 茄规 骂福扁) 巢磊:剧颊 困俊辑 措阿急栏肺 海扁
wave_Num=304;
break;
case ACTION_ATTACK_PENSING2: // 12 咯磊:奇教傍拜 2 (困俊辑 酒贰肺 郴妨 骂福扁) 巢磊:剧颊 辨霸 骂福扁
wave_Num=301;
break;
case ACTION_ATTACK_BONG_ROUND: // 23 咯磊:豪,芒,帮豪 糠俊辑 戎滴福扁 巢磊:3楷鸥 骂福扁
if(lpChar->sprno) //巢磊
wave_Num=304;
else //咯磊
wave_Num=305;
break;
default:
wave_Num=303;
break;
}
}
else //傍磊啊 npc牢 版快
{
//盖颊:0/茄颊八:1/芒:2/帮,根嫡捞:3/瘤莆捞:4/茄颊枚硼:5/剧颊档尝:6/厚八:7/茄颊何:8/豪:9/拱绢垛扁:10/扁鸥:11
switch(attack_Pattern)
{
case 0:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -