void CombatWindow::addCombatRecord(int iTargetID, int iSourceID, int iType, int iSpell, int iDamage) { #ifdef DEBUGCOMBAT printf("CombatWindow::addCombatRecord starting...\n"); printf("target=%d, source=%d, type=%d, spell=%d, damage=%d\n", iTargetID, iSourceID, iType, iSpell, iDamage); #endif int iPlayerID = m_player->id(); // The one case we won't handle (for now) is where the Target // and Source are the same. if(iTargetID == iPlayerID && iSourceID != iPlayerID) { addDefenseRecord(iDamage); updateDefense(); addMobRecord(iTargetID, iSourceID, iDamage); updateMob(); } else if(iSourceID == iPlayerID && iTargetID != iPlayerID) { addOffenseRecord(iType, iDamage); updateOffense(); addMobRecord(iTargetID, iSourceID, iDamage); updateMob(); if(iDamage > 0) updateDPS(iDamage); } #ifdef DEBUGCOMBAT printf("CombatWindow::addCombatRecord finished...\n"); #endif }
void CombatWindow::initUI() { #ifdef DEBUGCOMBAT printf("CombatWindow::initUI: starting...\n"); #endif QVBoxLayout* layout = new QVBoxLayout(this); layout->setAutoAdd(true); m_tab = new QTabWidget(this); m_widget_offense = initOffenseWidget(); m_tab->addTab(m_widget_offense, "&Offense"); m_widget_defense = initDefenseWidget(); m_tab->addTab(m_widget_defense, "&Defense"); m_widget_mob = initMobWidget(); m_tab->addTab(m_widget_mob, "&Mobs"); updateOffense(); updateDefense(); updateMob(); #ifdef DEBUGCOMBAT printf("CombatWindow::initUI: finished...\n"); #endif }
void CombatWindow::clear() { m_combat_mob_list.clear(); updateMob(); m_combat_offense_list.clear(); updateOffense(); m_combat_defense_record->clear(); updateDefense(); resetDPS(); }
void CombatWindow::clearOffense() { switch( QMessageBox::information( this, "ShowEQ", "This function will clear all data listed on the offense " "tab. Do you want to continue?", "&OK", "&Cancel", QString::null, 1, 1 ) ) { case 0: m_combat_offense_list.clear(); updateOffense(); break; default: break; } }
void CombatWindow::initUI() { #ifdef DEBUGCOMBAT seqDebug("CombatWindow::initUI: starting..."); #endif m_tab = new QTabWidget(); m_offenseTab = initOffenseWidget(); m_tab->addTab(m_offenseTab, "&Offense"); m_defenseTab = initDefenseWidget(); m_tab->addTab(m_defenseTab, "&Defense"); m_mobTab = initMobWidget(); m_tab->addTab(m_mobTab, "&Mobs"); //m_menuBar = new QMenuBar(this); //m_clearMenu = new Q3PopupMenu(this); //m_clearMenu->insertItem("Clear Offense Stats", this, SLOT(clearOffense())); //m_clearMenu->insertItem("Clear Mob Stats", this, SLOT(clearMob())); //m_menuBar->insertItem("&Clear", m_clearMenu); //QPushButton* m_clearButton = new QPushButton("Clear"); //connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clearOffense())); //connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clearMob())); //QVBoxLayout* mainLayout = new QVBoxLayout(); //mainLayout->addWidget(m_tab); //mainLayout->addWidget(m_clearButton); updateOffense(); updateDefense(); updateMob(); //QWidget* layoutWidget = new QWidget(); //layoutWidget->setLayout(mainLayout); //setWidget(layoutWidget); setWidget(m_tab); #ifdef DEBUGCOMBAT seqDebug("CombatWindow::initUI: finished..."); #endif }
void CombatWindow::addCombatRecord(int iTargetID, int iSourceID, int iType, int iSpell, int iDamage, QString tName, QString sName) { #ifdef DEBUGCOMBAT seqDebug("CombatWindow::addCombatRecord starting..."); seqDebug("target=%d, source=%d, type=%d, spell=%d, damage=%d", iTargetID, iSourceID, iType, iSpell, iDamage); #endif int iPlayerID = m_player->id(); // The one case we won't handle (for now) is where the Target // and Source are the same. if(iTargetID == iPlayerID && iSourceID != iPlayerID) { addDefenseRecord(iDamage); updateDefense(); addMobRecord(iTargetID, iSourceID, iDamage, tName, sName); updateMob(); } else if(iSourceID == iPlayerID && iTargetID != iPlayerID) { addOffenseRecord(iType, iDamage, iSpell); updateOffense(); // Belith -- Lets not add buffs, etc if ((iType == 231 && iDamage > 0) || iType != 231) { addMobRecord(iTargetID, iSourceID, iDamage, tName, sName); updateMob(); } if(iDamage > 0) updateDPS(iDamage); } #ifdef DEBUGCOMBAT seqDebug("CombatWindow::addCombatRecord finished..."); #endif }
bool Animal::initWithSpeceis(Species* species, float size) { if (!Node::init()) { return false; } _species = species; _height = Length(UnitOfLength::mm, size); _rootNode = CSLoader::createNode(_species->getMoveCsbName()); this->addChild(_rootNode); // load the character animation timeline _timeline = CSLoader::createTimeline(_species->getMoveCsbName()); // retain the character animation timeline so it doesn't get deallocated _timeline->retain(); _imageNode = _rootNode->getChildByName("imageNode"); _image = _imageNode->getChildByName<Sprite*>("image"); _backImage = _imageNode->getChildByName<Sprite*>("back"); _changeAnimalImage(); _state = AnimalState::Stop; deadCallback = NULL; _maxHp = powf(size, 1.2f); _hp = _maxHp; _isOpponent = false; _isEnemy = false; _id = rand() % 1000000; _moveAction = nullptr; updateOffense(); setTag((int)EntityTag::Animal); setCascadeOpacityEnabled(true); return true; }
void CombatWindow::initUI() { #ifdef DEBUGCOMBAT seqDebug("CombatWindow::initUI: starting..."); #endif QVBoxLayout* layout = new QVBoxLayout(boxLayout()); m_menu_bar = new QMenuBar(this); layout->addWidget(m_menu_bar); m_tab = new QTabWidget(this); layout->addWidget(m_tab); m_widget_offense = initOffenseWidget(); m_tab->addTab(m_widget_offense, "&Offense"); m_widget_defense = initDefenseWidget(); m_tab->addTab(m_widget_defense, "&Defense"); m_widget_mob = initMobWidget(); m_tab->addTab(m_widget_mob, "&Mobs"); m_clear_menu = new QPopupMenu(this); m_clear_menu->insertItem("Clear Offense Stats", this, SLOT(clearOffense())); m_clear_menu->insertItem("Clear Mob Stats", this, SLOT(clearMob())); m_menu_bar->insertItem("&Clear", m_clear_menu); updateOffense(); updateDefense(); updateMob(); #ifdef DEBUGCOMBAT seqDebug("CombatWindow::initUI: finished..."); #endif }