📄 magicsys.cpp
字号:
}
if (Hero_Ability[WSPS] < g_lpMT[nMagic].point_WS)
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 6));
return false;
}
if (Hero->aStepInfo[CLS_STEP] < g_lpMT[nMagic].nDualStep)
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 6));
return false;
}
// 031110 YGI
if (Hero->aStepInfo[CLS_STEP] < g_lpMT[nMagic].nDualStep)
{// 掂倔窜拌 // 030415 kyo
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 6));
return false;
}
if(g_lpMT[nMagic].nDualStep > QuickItemAttr[5].attr[0] ) //soto-031110
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 6));
return false;
}
// 琶平苞 付唱樊 八荤
switch (SCharacterData.nCharacterData[SPELL])
{
case WIZARD_SPELL:
{ // 付过荤扼搁
if (SCharacterData.SkillId[MAGERY + 88] + 1 < g_lpMT[nMagic].basic_Magery)
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 7));
return false;
}
if (SCharacterData.nCharacterMP < g_lpMT[nMagic].exhaust_MP)
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 9));
return false;
}
break;
}
case PRIEST_SPELL:
{ // 己流磊扼搁
if (SCharacterData.SkillId[ORISON + 88] + 1 < g_lpMT[nMagic].basic_Magery)
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 8));
return false;
}
if (SCharacterData.nCharacterMP < g_lpMT[nMagic].exhaust_MP)
{
OUTPUT(MK_SHORTAGE, lan->OutputMessage(1, 10));
return false;
}
break;
}
}
// 扒拱 救俊 乐绰 版快 雀汗付过 捞寇俊绰 付过 荤侩 阂啊
if (g_lpMT[nMagic].magic_Type/10 != 1)
{
const int nX = (Hero->x>>5);
const int nY = (Hero->y>>5);
if (TileMap[nX][nY].attr_inside == 1)
{
OUTPUT(MK_WARNING, lan->OutputMessage(1, 4));
return false;
}
}
return true;
}
///////////////////////////////////////////////////////////////////////////////
// Protected Method
///////////////////////////////////////////////////////////////////////////////
bool CMagicSys::AddEffect(LPCHARACTER pCaster, LPCHARACTER pTarget, int nMagic, int nX, int nY, bool bFail)
{
const bool bPattern = false;
switch (nMagic)
{
//// 付过荤
case LIFE_UP: // 眉仿 雀汗
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case PROTECTION: // 焊龋
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
}
break;
}
case SHIELD: // 焊龋阜
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case DECIPHER: // 秦刀付过
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case HEAL_DISEASE: // 龙捍 摹丰
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case GREAT_HEAL: // 措眉仿雀汗
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail); //辑宏逞滚 8牢 版快 矫傈磊 矫悼->措惑眉 吝埃/辆富
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case SLOW: // 加档历窍
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case CONFUSION: // 去鄂
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case INTOXICATION: // 吝刀
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case STONELY: // 籍拳
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case ABSOLUTE_PARALYSIS: // 例措付厚
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case TOXIC_CLOUD: // 刀备抚
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case DISEASE_INDUCE: // 龙捍蜡惯
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case VAMPIRE_TOUCH: // 轨颇捞绢狼 颊辨
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case SPIDER_WEB: // 芭固临
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case MAGICAL_TRAP: // 付过飘乏
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case ENCHANT_WEAPON: // 牢眉飘 傀迄
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail); //辑宏逞滚 8牢 版快 矫傈磊 矫悼->措惑眉 吝埃/辆富
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case TRANSPARENCY: // 捧疙林巩
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case NULLITY_MAGIC: // 付过公瓤拳
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, pTarget->x, pTarget->y, bPattern, 0, bFail); //辑宏逞滚 8牢 版快 矫傈磊 矫悼->措惑眉 吝埃/辆富
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case MINOR_AMPLIFY: // 家刘气
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case MAGIC_AMPLIFY: // 付过刘气
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case FIRE_RESIST:
case ICE_RESIST:
case ELECT_RESIST:
{
::InsertMagic(pCaster, pTarget, nMagic, -1, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case FIRE_ARROW: // 阂拳混
{
pCaster->bow_Type = 1;
break;
}
case FIRE_BALL: // 拳堪备
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case SCORCHER: // 拳堪焙
{
ClearCrash();
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case CIRCLE_FLAME: // 规荤拳堪
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case FIRE_WALL: // 拳堪寒
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case FLAME_WAVE: // 框流捞绰 拳堪厘寒
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail); //辑宏逞滚 8牢 版快 矫傈磊 矫悼->措惑眉 吝埃/辆富
break;
}
case APOCALYPSE: // 瘤苛狼 阂
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case ICE_ARROW: // 倔澜 拳混
{
pCaster->bow_Type = 2;
break;
}
case ICE_BALL: // 倔澜备
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case FREEZE_5TILE_RADIUS: // 馆版5鸥老 倔覆
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case ICE_WALL: // 倔澜寒
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case CIRCLE_ICE: // 盔屈 倔澜傍拜
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case FREEZE_9TILE_RADIUS: // 馆版 9鸥老 倔覆
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case LIGHT: // 蝴
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case LIGHTNING_BOLT:
{
::InsertMagic(pCaster, pTarget, nMagic, 99, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case GREAT_THUNDER_BOLT:
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case CHAIN_LIGHTNING: // 蜡档 傈拜傍拜
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case CIRCLE_LIGHTNING: // 盔屈 傈拜傍拜
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case LIGHTNING: // 流急 傈拜傍拜
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case TWINKLE_STAR: // 荐龋己
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case LIGHTNING_5TILE_RADIUS: // 馆版5鸥老 傈拜傍拜
{
::InsertMagic(pCaster, pTarget, nMagic, 99, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case LOW_MONSTER_RECALL: // 历鞭 阁胶磐 家券
{
::InsertMagic(pCaster, pCaster, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case MIDDLE_MONSTER_RECALL: // 吝鞭 阁胶磐 家券
{
::InsertMagic(pCaster, pCaster, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case PHASING: // 厘家捞悼
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case MEMORIZING_LOCATION: // 捞悼厘家扁撅
{
::InsertMagic(pCaster, pCaster, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case TELEPORT: // 鉴埃捞悼
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case MULTI_PORT: // 汗荐瞒盔捞悼
{
::InsertMagic(pCaster, pCaster, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case TOWN_PORTAL: // 瞒盔捞悼
{
::InsertMagic(pCaster, pCaster, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case MAGIC_DETECT: // 付过沤瘤
{
::InsertMagic(pCaster, pCaster, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case REMOVE_CURSE: // 历林秦力
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case PROTECT_RANGE_WEAPON: // 厘芭府公扁肺何磐 焊龋
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case LOST_SIGHT: // 矫仿惑角
{
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case SPEED_UP: // 加档刘啊
{
if (pCaster != pTarget)
{ // 措惑磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail); //辑宏逞滚 8牢 版快 矫傈磊 矫悼->措惑眉 吝埃/辆富
}
else
{ // 矫傈磊俊霸 付过 矫青
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
}
break;
}
case DRAGON_SCALE: // 靛贰帮厚疵
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
break;
}
case PHEONIX: // 阂货
{
::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
break;
}
case METEOR_STRIKE: // 蜡己
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -