本文整理汇总了C++中Skill::geteTarget方法的典型用法代码示例。如果您正苦于以下问题:C++ Skill::geteTarget方法的具体用法?C++ Skill::geteTarget怎么用?C++ Skill::geteTarget使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Skill
的用法示例。
在下文中一共展示了Skill::geteTarget方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: hKeyZ
int Battle::hKeyZ(){
if(processStat == BattleMenu){
switch(battleMenuCurrentPos){
case 0://Attack
processStat = MonsterMenu;
break;
case 1:
engine->engineCall(loadStack(svc::loadSkillMenu, 1, _currentChara));
engine->engineCall(loadStack(svc::setStat, Stats::inSkillMenu));
if(varMap["SkillMenuCurPos"].get<unsigned int>() != 0xffffffff){
Skill tmp = (*team)[team->getNameList()[_currentChara]].getSkillList()[varMap["SkillMenuCurPos"].get<unsigned int>()];
if(tmp.geteTarget() != 0){
processStat = PlayerSkill;
}else{
processStat = skillMonsterMenu;
}
}
break;
case 2:
engine->engineCall(loadStack(svc::loadInvMenu, 0));
engine->engineCall(loadStack(svc::setStat, Stats::inInvMenu));
processStat = process::PostPlayer;
break;
case 3:
int p = rand() % 100;
if(p - _chance < 0){
engine->engineCall(loadStack(svc::loadPrompt, UTF8_to_WChar("You Successfully Escaped!"), UTF8_to_WChar("System")));
engine->engineCall(loadStack(svc::restoreStat));
}else{
engine->engineCall(loadStack(svc::loadPrompt, UTF8_to_WChar("You Failed to Escape!"), UTF8_to_WChar("System")));
processStat = process::PostPlayer;
}
break;
}
}else if(processStat == MonsterMenu){
int atk = (*team)[team->getNameList()[_currentChara]].getAttack();
float rng = (rand() % 6) / 10 + 0.75;
int dmg = (-1) * (rng) * (atk + charaAttackBuff[_currentChara]) + _monsters[MonsterMenuCurrentPos].getDefense();
_monsters[MonsterMenuCurrentPos].varHP(dmg);
char kk[100];
if(_monsters[MonsterMenuCurrentPos].isDead()){
sprintf(kk, "%s is Dead!", _monsters[MonsterMenuCurrentPos].getName().c_str());
_monsters.erase(_monsters.begin() + MonsterMenuCurrentPos);
}else{
sprintf(kk, "%s received %d point of damage!", _monsters[MonsterMenuCurrentPos].getName().c_str(), (-1)*dmg);
}
engine->engineCall(loadStack(svc::loadPrompt, UTF8_to_WChar(kk), UTF8_to_WChar("System")));
processStat = PostPlayer;
}else if(processStat == skillMonsterMenu){
processStat = PlayerSkill;
}
return 0;
}
示例2: hDoEvent
int Battle::hDoEvent(){
if(processStat == prePlayer){
if((*team)[team->getNameList()[_currentChara]].isDead())
processStat = PostPlayer;
else
processStat = BattleMenu;
}else if(processStat == PlayerSkill){
Skill tmp = (*team)[team->getNameList()[_currentChara]].getSkillList()[varMap["SkillMenuCurPos"].get<unsigned int>()];
if(tmp.getfTarget() == 0){
engine->engineCall(loadStack(svc::loadTeamMenu, 1));
engine->engineCall(loadStack(svc::setStat, Stats::inTeamMenu));
if(varMap["TeamMenuCurPos"].get<unsigned int>() == 0xffffffff){
processStat = process::BattleMenu;
return -1;
}
}
int p = engine->engineCall(loadStack(svc::useSkill, _currentChara, varMap["SkillMenuCurPos"].get<unsigned int>(), MonsterMenuCurrentPos, varMap["TeamMenuCurPos"].get<unsigned int>())).get<int>();
if(!p){
engine->engineCall(loadStack(svc::loadPrompt, UTF8_to_WChar("Not Enough Mana!"), UTF8_to_WChar("System")));
processStat = BattleMenu;
}else{
processStat = PostPlayer;
}
}else if(processStat == PostPlayer){
if(isMonsterWipeOut()){
processStat = process::PostBattle;
}else{
_currentChara++;
if(_currentChara >= _memberCount){
engine->engineCall(loadStack(svc::loadPrompt, UTF8_to_WChar("It's Now Monster's Turn"), UTF8_to_WChar("System")));
processStat = process::MonsterTurn;
}else{
processStat = process::prePlayer;
}
}
}else if(processStat == MonsterTurn){
for(unsigned int i = 0; i < _monsters.size(); i++){
if(_monsters[i].isDead())
continue;
int us = rand() % _monsters[i].getSkillList().size() + 1;
if(us == 0){//Normal Attack
int target = rand() % _memberCount;
float rng = (rand() % 6) / 10 + 0.75;
int tardef = (*team)[team->getNameList()[target]].getDefense();
engine->engineCall(loadStack(svc::varHP, target, ((-1) * (rng) * _monsters[i].getAttack() + tardef + charaDefenseBuff[target])));
}else{//Skills
Skill tmp = _monsters[i].getSkillList()[us - 1];
if(tmp.getfTarget() == 0){
_monsters[i].varHP(tmp.getfHPv());
_monsters[i].varMP(tmp.getfMPv());
}else if(tmp.getfTarget() == 1){
for(unsigned int m = 0; m < _monsters.size(); m++){
_monsters[m].varHP(tmp.getfHPv());
_monsters[m].varMP(tmp.getfMPv());
}
}
if(tmp.geteTarget() == 0){
unsigned int target = rand() % _memberCount;
engine->engineCall(loadStack(svc::varHP, target, tmp.geteHPv()));
engine->engineCall(loadStack(svc::varMP, target, tmp.geteMPv()));
}else if(tmp.geteTarget() == 1){
for(unsigned int m = 0; m < _memberCount; m++){
engine->engineCall(loadStack(svc::varHP, m, tmp.geteHPv()));
engine->engineCall(loadStack(svc::varMP, m, tmp.geteMPv()));
}
}
}
usleep(1000000);
}
if(engine->engineCall(loadStack(svc::isTeamWipeOut)).get<int>()){
engine->engineCall(loadStack(svc::gameOver));
}else{
engine->engineCall(loadStack(svc::loadPrompt, UTF8_to_WChar("It's Now your Turn"), UTF8_to_WChar("System")));
_currentChara = 0;
processStat = process::prePlayer;
}
}else if(processStat == process::PostBattle){
for(unsigned int i = 0; i < _monstersBak.size(); i++){
for(unsigned int j = 0; j < _memberCount; j++){
engine->engineCall(loadStack(svc::varExp, j, _monstersBak[i].getExp())).get<int>();
}
}
engine->engineCall(loadStack(svc::restoreStat));
}
return 0;
}