ENGLISH: At present, only small monsters can be summoned. After the general summons, the boss will return blood to the invincible, but after the general is killed, the boss will not release the invincible. It needs expert's instruction.
bool CAttack::Attack(LPOBJ lpObj,LPOBJ lpTarget,CSkill* lpSkill,bool send,BYTE flag,int damage,int count,bool combo) // OK
if(lpTarget->Type == OBJECT_MONSTER )
{
if(lpTarget->Class == 734)
{
//君主BOSS召唤将军
if(lpTarget->BOSS_ZHLQ == 0)
{
if(lpTarget->Life <= (lpTarget->MaxLife + lpTarget->AddLife)*0.7f)
{
lpTarget->ZH_WD_CXSJ =gServerInfo.ZH_WD_CXSJ;
gEffectManager.AddEffect(lpTarget, 0, EFFECT_ORDER_OF_PROTECTION, gServerInfo.ZH_WD_CXSJ, 10, 0, 0, 3);
gMonsterManager.CreaterMonster1(lpTarget->Index, 733);
// ChatSend(lpTarget, "出来吧,我的将军!!");
gSkillManager.GCSkillAttackSend(lpTarget, 63, lpTarget->Index, 1);
lpTarget->BOSS_ZHLQ = gServerInfo.BOSS_ZHLQ;
}
}
if(lpTarget->XG_ZHLQ == 0)
{
if(lpTarget->ZHCS==0 && lpTarget->Life < lpTarget->MaxLife + lpTarget->AddLife)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=1 && lpTarget->Life >= (lpTarget->MaxLife + lpTarget->AddLife)*0.9f && lpTarget->Life < lpTarget->MaxLife + lpTarget->AddLife)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=2 && lpTarget->Life >= (lpTarget->MaxLife + lpTarget->AddLife)*0.6f && lpTarget->Life < (lpTarget->MaxLife + lpTarget->AddLife)*0.9f)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=3 && lpTarget->Life >= (lpTarget->MaxLife + lpTarget->AddLife)*0.5f && lpTarget->Life < (lpTarget->MaxLife + lpTarget->AddLife)*0.6f)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=4 && lpTarget->Life >= (lpTarget->MaxLife + lpTarget->AddLife)*0.3f && lpTarget->Life < (lpTarget->MaxLife + lpTarget->AddLife)*0.5f)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=5 && lpTarget->Life >= (lpTarget->MaxLife + lpTarget->AddLife)*0.2f && lpTarget->Life < (lpTarget->MaxLife + lpTarget->AddLife)*0.3f)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=6 && lpTarget->Life >= (lpTarget->MaxLife + lpTarget->AddLife)*0.1f && lpTarget->Life < (lpTarget->MaxLife + lpTarget->AddLife)*0.2f)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->ZHCS<=7 && lpTarget->Life >= 0 && lpTarget->Life < (lpTarget->MaxLife + lpTarget->AddLife)*0.1f)
{
// ChatSend(lpTarget, "斧头帮集合!!");
gSkillManager.GCSkillAttackSend(lpTarget, 69, lpTarget->Index, 1);
gMonsterManager.CreaterMonster1(lpTarget->Index, 736);
gMonsterManager.CreaterMonster2(lpTarget->Index, 736);
gMonsterManager.CreaterMonster3(lpTarget->Index, 737);
gMonsterManager.CreaterMonster4(lpTarget->Index, 737);
gMonsterManager.CreaterMonster5(lpTarget->Index, 737);
gMonsterManager.CreaterMonster6(lpTarget->Index, 738);
gMonsterManager.CreaterMonster7(lpTarget->Index, 738);
gMonsterManager.CreaterMonster8(lpTarget->Index, 738);
lpTarget->XG_ZHLQ = gServerInfo.XG_ZHLQ;
lpTarget->ZHCS++;
}
if(lpTarget->Life == 0)
{
lpTarget->ZHCS=0;
}
}
}
}