?? effect.cpp
字號:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <io.h>
#include <math.h>
#include <algorithm>
#include "dragon.h"
#include "hong_sprite.h"
#include "char.h"
#include "Map.h"
#include "item.h"
#include "directsound.h"
#include "Hong_Sub.h"
#include "gameProc.h"
#include "CharDataTable.h"
#include "effect.h"
#include "Hong_Light.h"
#include "Convert565to555.h"
#include "Hangul.h"
#include "Menu.h"
#include "network.h"
#include "Tool.h"
#include "itemtable.h"
#include "Npc_Pattern.h"
#include "SmallMenu.h"
#include "StrikeSys.h"
#include "MagicSys.h"
#include "CombatSys.h"
#include "NumberAniMgr.h"
#include "MergeData.h" // 030821 kyo
CMergeData g_MergeData; // 030821 kyo
using namespace battle;
#define TILE_SIZE 32
#define M_PI 3.141592653589
#define LIGHT_TERMINATE 2 //攫力何磐 堡盔 Out 矯懦鱉?(醚橇飯烙狼 1/2)
#define FIRE_DELAY 800 //慣葷瘤楷矯埃 800剮府檬
#define FIRE_DELAY2 8 //慣葷瘤楷矯埃 8檬 // 010204 YGI
#define ARROW_SPEED 32
#define SN_CLOCKBELL 66
//RectImageOn->付過 勸己拳 釬矯 傈開函薦
TFileMgr<CEffectTbl, MAX_EFFECT_COUNT> g_lpET;
TFileMgr<CEffectListTbl, MAX_EFFECT_COUNT> EffList; // CSD-030123
LPCHARACTER attacked_Char=NULL;
EFFSPRITE Effspr[MAX_EFFECT_COUNT];
bool EffsprLoaded[ MAX_EFFECT_COUNT];
int effSpr_Count[MAX_EFFECT_COUNT]; //泅犁 焊咯瘤絆 樂綽 悼老茄 膠橇扼撈飄狼 骯薦
DWORD g_LoadSpriteTime[MAX_EFFECT_COUNT];
TFileMgr<CMagicTbl, MAX_MAGIC> g_lpMT;
DWORD g_FireTime;
MAGICLIST* g_lpML = NULL;
TFileMgr<CEffectTbl2, MAX_EFFECT_COUNT> g_lpET2; //020808 YGI
extern void SaveEffectAnimationAll( char *);
extern bool LoadEffectAnimationAll();
extern int g_CurrCharStatus;
extern void DoLButtonDown();
extern CHARACTERLIST g_CharacterList;
extern LPITEMGROUND ReturnMagicCheckedItem( bool range_Check, MAGICLIST* lpML, int x, int y, int fire_Height, int xl, int yl );
void CollisionEffect_Keeping(USEEFFECTLIST* lpEL, MAGICLIST* lpML, const int nRan); // 030519 kyo
bool SaveEffectSpriteAll(); // 030821 kyo
////////////////////// 0811 YJS ////////////////////
extern void Fight_Stone_End(void);
HRESULT out_Result; //膠橇扼撈飄 免仿 搬苞
// Down / LeftDown / Left / LeftUp / Up / RightUp / Right / RightDown
int point_Modify[8][2]={{0,32},{-32,26},{-42,-6},{-32,-32},{0,-48},{32,-32},{42,-6},{32,26}}; //牢拱狼 8規氫俊 措茄 薦瀝諒釬
//int point_Modify[8][2]={{0,24},{-36,0},{-52,-28},{36,-58},{0,-70},{36,-58},{52,-28},{36,0}}; //牢拱狼 8規氫俊 措茄 薦瀝諒釬
int lightning_Point[20][2]={{0,1},{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1},{1,0},{1,1},{0,2},{-1,2},{-2,1},{-2,0},{-2,-1},{-1,-2},{0,-2},{1,-2},{2,-1},{2,0},{2,1},{1,2}}; //瘤開 涵遏 免仿闌 困茄 拋撈喉
int fish_Point_Pattern1[14][2]={{0,-1},{-1,-2},{-2,-3},{-3,-5},{-3,-8},{-3,-11},{-4,-12},{-6,-13,},{-8,-11},{-9,-7},{-9,-4},{-10,1},{-10,0}};
int fish_Point_Pattern2[14][2]={{0,-1},{1,-2},{2,-3},{3,-5},{3,-8},{3,-11},{4,-12},{6,-13,},{8,-11},{9,-7},{9,-4},{10,1},{10,0}};
bool array_Check[20]={0,};
int g_SkillNum=0;
static short FreeEffectSpriteFlagCount; //撈棋飄 膠橇扼撈飄甫 Free竅扁 困茄 counter(朝妨具 瞪 膠橇扼撈飄 醚骯薦)
static short FreeEffectSpriteFlag[ MAX_EFFECT_COUNT*2 ]; //朝妨具瞪 膠橇扼撈飄狼 角力 鍋齲甫 扁撅竅絆 樂綽 函薦(趣矯 悼矯俊 500撈惑闌 橇府秦具竅綽 版快啊 積變促擱? -> 弊貳輯 X2甫 沁瘤氛)
int g_Condition_Table[8][8];
////////////////////// SoundUp lkh 眠啊 ////////////////////////
BGESOUND g_BGES[MAX_MAP_];
////////////////////// 瓊葷 俊叼潑闌 矯檔茄
void SendHexaEditing(short int type, short int id)
{
return ;
t_packet packet;
packet.h.header.type = CMD_HEXAEDITING;
packet.h.header.size = sizeof(t_client_editing_table);
packet.u.angra.client_editing_table.type = type;
packet.u.angra.client_editing_table.id = id;
QueuePacket( &packet, 1 );
}
//step 1
// 矯傈磊啊 唱牢 版快父 免仿登霸 貿府
////////////////////// SoundUp lkh 眠啊 ////////////////////////
int ReturnRoonWord(LPCHARACTER caster, int magic_Num)
{
// if(caster!=Hero) return 0;
if( caster->id >= 10000 ) return 0;
int wave = 0;
if( caster->spell )
//if(SCharacterData.nCharacterData[SPELL]) //己流磊牢 版快
{
if(caster->sex) //巢磊
{
switch(rand()%3)
{
case 0:
wave = 1803;
break;
case 1:
wave = 1810;
break;
case 2:
wave = 1811;
break;
}
}
else //咯磊
{
switch(rand()%4)
{
case 0:
wave = 1901;
break;
case 1:
wave = 1909;
break;
case 2:
wave = 1910;
break;
case 3:
wave = 1911;
break;
}
}
}
else //付過葷牢 版快
{
switch(magic_Num)
{
case 1:
{
switch(rand()%2)
{
case 0:
wave=1507;
break;
case 1:
wave=1509;
break;
}
}
break;
case 2:
{
switch(rand()%3)
{
case 0:
wave = 1506;
break;
case 1:
wave = 1512;
break;
case 2:
wave = 1516;
break;
}
}
break;
case 3:
{
switch(rand()%3)
{
case 0:
wave = 1512;
break;
case 1:
wave = 1516;
break;
case 2:
wave = 1501;
break;
}
}
break;
case 4:
{
switch(rand()%2)
{
case 0:
wave = 1517;
break;
case 1:
wave = 1501;
break;
}
}
break;
case 5:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1516;
break;
}
}
break;
case 6:
{
switch(rand()%3)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1516;
break;
case 2:
wave = 1505;
break;
}
}
break;
case 7:
{
switch(rand()%2)
{
case 0:
wave = 1509;
break;
case 1:
wave = 1517;
break;
}
}
break;
case 10:
{
switch(rand()%2)
{
case 0:
wave = 1503;
break;
case 1:
wave = 1502;
break;
}
}
break;
case 11:
{
switch(rand()%2)
{
case 0:
wave = 1520;
break;
case 1:
wave = 1502;
break;
}
}
break;
case 12:
{
switch(rand()%2)
{
case 0:
wave = 1517;
break;
case 1:
wave = 1502;
break;
}
}
break;
case 13:
wave = 1503;
break;
case 14:
{
switch(rand()%2)
{
case 0:
wave = 1503;
break;
case 1:
wave = 1505;
break;
}
}
break;
case 15:
{
switch(rand()%3)
{
case 0:
wave = 1517;
break;
case 1:
wave = 1519;
break;
case 2:
wave = 1502;
break;
}
}
break;
case 16:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1502;
break;
}
}
break;
case 17:
wave = 1520;
break;
case 18:
wave = 1502;
break;
case 19:
{
switch(rand()%2)
{
case 0:
wave = 1503;
break;
case 1:
wave = 1520;
break;
}
}
break;
case 20:
{
switch(rand()%2)
{
case 0:
wave = 1505;
break;
case 1:
wave = 1520;
break;
}
}
break;
case 21:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1523;
break;
}
}
break;
case 22:
{
switch(rand()%2)
{
case 0:
wave = 1512;
break;
case 1:
wave = 1513;
break;
}
}
break;
case 23:
{
switch(rand()%2)
{
case 0:
wave = 1508;
break;
case 1:
wave = 1522;
break;
}
}
break;
case 24:
{
switch(rand()%2)
{
case 0:
wave = 1501;
break;
case 1:
wave = 1517;
break;
}
}
break;
case 25:
wave = 1505;
break;
case 26:
{
switch(rand()%2)
{
case 0:
wave = 1519;
break;
case 1:
wave = 1522;
break;
}
}
break;
case 27:
{
switch(rand()%2)
{
case 0:
wave = 1512;
break;
case 1:
wave = 1507;
break;
}
}
break;
case 28:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1506;
break;
}
}
break;
case 29:
case 30:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1508;
break;
}
}
break;
case 31:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1510;
break;
}
}
break;
case 32:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1508;
break;
}
}
break;
case 33:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1519;
break;
}
}
break;
case 34:
{
switch(rand()%2)
{
case 0:
wave = 1507;
break;
case 1:
wave = 1520;
break;
}
}
break;
case 35:
{
switch(rand()%3)
{
case 0:
wave = 1507;
break;
case 1:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -