Beispiel #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
}
void AvatarEntity::update(const float elapsedTime)
{
	//Para actualizar el estado del avatar, miraremos primero en que estado estamos
	//Y despues llamamos a las funciones que actualizan segun el estado
	updateState();
	
switch(m_state) {
	case IDLE:
		updateIdle(elapsedTime);
		break;
	case PUNCH:
		updatePunch(elapsedTime);
		break;
	case JAB:
		updateJab(elapsedTime);
		break;
	case KICK:
		updateKick(elapsedTime);
		break;
	case LOWER:
		updateLower(elapsedTime);
		break;
	case MOVE:
		updateMove(elapsedTime);
		break;
	case JUMP:
		updateJump(elapsedTime);
		break;
	case DEFENSE:
		updateDefense(elapsedTime);
		break;
	}
}
Beispiel #3
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
}
void Stats::updateFinalStats() {
  updateHealth();
  updateMana();
  updateAttack();
  updateMagicAttack();
  updateDefense();
  updateMagicDefense();
  updateDodge();
  updateHit();
}
Beispiel #5
0
void CombatWindow::clear()
{
	m_combat_mob_list.clear();
	updateMob();
	m_combat_offense_list.clear();
	updateOffense();
	m_combat_defense_record->clear();
	updateDefense();
	resetDPS();
}
Beispiel #6
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
}
Beispiel #7
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
}
Beispiel #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
}