Esempio n. 1
0
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
}
Esempio n. 2
0
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
}
Esempio n. 3
0
void CombatWindow::clear()
{
	m_combat_mob_list.clear();
	updateMob();
	m_combat_offense_list.clear();
	updateOffense();
	m_combat_defense_record->clear();
	updateDefense();
	resetDPS();
}
Esempio n. 4
0
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;
	}
}
Esempio n. 5
0
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
}
Esempio n. 6
0
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
}
Esempio n. 7
0
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;
}
Esempio n. 8
0
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
}