void AbstractItem::addHp(int toAdd) { if (toAdd < 0) { subHp(-toAdd); return; } setCurrentHp(getHp() + toAdd); if (getHp() > mDefaultFullHp) { setCurrentHp(mDefaultFullHp); } }
void AbstractItem::subHp(int toSub) // 加血 { if (toSub < 0) { addHp(-toSub); return; } if (getHp() < toSub) { setCurrentHp(0); CCLog("Item Dead Clear All Buffs: %d",mAttachedBuffVec.size()); mAttachedBuffVec.clear(); }else { setCurrentHp(getHp() - toSub); } }
bool BattleHero::init(int kantaiNumber, cocos2d::Node *parent, int row) { this->parent=parent; parent->addChild(this); this->kantaiNumber=kantaiNumber; card=new CharacterCard(kantaiNumber); this->addChild(card); hpBar->setPosition(163,391-41*row); this->addChild(hpBar); if (row==1) { border=Sprite::create("interface/BattleMain/BattleMain_479.png"); flagIcon=Sprite::create("interface/BattleMain/BattleMain_88.png"); flagIcon->setPosition(148,417-41); } else { border=Sprite::create("interface/BattleMain/BattleMain_474.png"); } border->setPosition(84,413-41*row); addChild(border); card->setPosition(80,410-41*row); currentHpLabel->setPosition(180,410-41*row); maxHpLabel->setPosition(197,410-41*row); addChild(currentHpLabel); addChild(maxHpLabel); battleBar=new BattleBar(parent); setMaxHp(info->getMaxHp()); setCurrentHp(info->getCurrHp()); return true; }