本文整理汇总了C++中Skill::geteffect方法的典型用法代码示例。如果您正苦于以下问题:C++ Skill::geteffect方法的具体用法?C++ Skill::geteffect怎么用?C++ Skill::geteffect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Skill
的用法示例。
在下文中一共展示了Skill::geteffect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: attactWagonComm
void attactWagonComm(char *buff)
{
#if 0
char *wagonId; //马车Id
char *skillId; //使用技能的Id
int index = 0; //攻击者类型
MSG_BEGIN(buff, g_msg_len);
MSG_INT(index);
MSG_CHAR(wagonId);
MSG_CHAR_END(skillId);
//由fd查hero实例
Hero *hero = pg_hero;
map<string,Wagon*>::iterator it_wagon;
//cout<<"BisonTest:wagonInstMap size is "<<wagonInstMap.size()<<endl;
it_wagon = wagonInstMap.find(wagonId);
if (it_wagon == wagonInstMap.end())
{
//没有这个马车
cout<<"BisonTest: Attack failed because of no the wagon of this id "<<wagonId<<endl;
return;
}
Wagon *wagon = it_wagon->second;
Map_Inform *wagonMap = hero->getMap();
if (wagonMap == NULL)
{
cout<<"This Map no Id ????????????????????"<<endl;
return;
}
char *wagonMapId = wagonMap->getIdentity();
if (strcmp(wagonMapId, "map_001") == 0)
{
cout<<"You can't attack wagon In This Map"<<endl;
return;
}
char* owerId;
Hero *owner = wagon->getOwner();
if (owner == NULL)
{
cout<<"This wagon has no owner, but you can attack it"<<endl;
goto LG; //没有主人的马车也能被打
// return;
}
//马车主人不能打自己的马车
owerId = owner->getIdentity();
if (!strcmp(owerId, hero->getIdentity()))
{
return;
}
LG: ;
//全用像素点
Point wagonLocation = wagon->getPt();
int range; //攻击者的攻击范围
//bool isLive; //马车是否还活着
int distance = 0; //攻击者离马车距离
Skill *skill;
//int skillNeedMagic = 0; //技能的魔法消耗
int attackLife = 100; //攻击者当前血量……置为宠物的属性值
int attackMagic = 100; //攻击者魔法……置为宠物的属性值
//int attackHurt = wagon->getHurt(); //马车每次被攻击掉血固定
//index = 0 为人攻击马车
if (index == 0)
{
map<string,Skill*> attack_skill_list; //玩家角色的技能列表
map<string,Skill*>::iterator skill_iter;
attack_skill_list = hero->getSkill_list();
skill_iter = attack_skill_list.find(skillId);
if(skill_iter == attack_skill_list.end())
{
cout<<"BisonTest: hero does not has this skill to use when attack wagon"<<endl;
return;
}
skill = skill_iter->second; //玩家所使用的技能
if (skill->gettype() != 1 || skill->geteffect() != 1)
{
//管你是群攻还是医疗,只要不是主动技能都别用来搞马车
cout<<"skill type can't attack wagon"<<endl;
return;
}
if(!isFightStatusOfHero(hero, skill)) //判断玩家的真气,和技能的时间是否符合条件
{
cout<<"BisonTest: magical or time is not ok to use this skill"<<endl;
return;
}
cout<<"BisonTest: Hero attacks the wagon "<<wagonId<<endl;
//判断距离是否够
Point heroLocation = hero->getLocation();
int deltaX = wagonLocation._x - heroLocation._x;
int deltaY = wagonLocation._y - heroLocation._y;
int distance = sqrt(deltaX * deltaX + deltaY * deltaY);
range = hero->getAtk_range();
cout<<"BisonTest: distance is "<<distance<<" hero attack range is "<<range<<endl;
//.........这里部分代码省略.........