Jump to content

How To Fix Polymorph's Bug Damage


Lazy

Recommended Posts

Hey. Everyone knows that on the poly is bug with damage. Poly give us additional affect but this affect isn't activated together with use poly marble. We must: summon pet, activate autopot or anything which uses ComputeBattlePoint function to turn on this affect. I decided to remove completely this affect because other class than warrior or sura can't use this. Well... Open file char.cpp.

 

Find this:

void CHARACTER::ComputeBattlePoints()
{
	if (IsPolymorphed())
	{
		DWORD dwMobVnum = GetPolymorphVnum();
		const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
		int iAtt = 0;
		int iDef = 0;

		if (pMob)
		{
			iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
			// lev + con
			iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
		}

		SetPoint(POINT_ATT_GRADE, iAtt);
		SetPoint(POINT_DEF_GRADE, iDef);
		SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
		SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
	}
	else if (IsPC())

Replace with:

void CHARACTER::ComputeBattlePoints()
{
	// if (IsPolymorphed())
	// {
		// DWORD dwMobVnum = GetPolymorphVnum();
		// const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
		// int iAtt = 0;
		// int iDef = 0;

		// if (pMob)
		// {
			// iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
			// // lev + con
			// iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
		// }

		// SetPoint(POINT_ATT_GRADE, iAtt);
		// SetPoint(POINT_DEF_GRADE, iDef);
		// SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
		// SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
	// }
	// else if (IsPC())
	if (IsPC())

Ayo!

  • Love 2
Link to comment
Share on other sites

Instead of this:

    // if (IsPolymorphed())
    // {
        // DWORD dwMobVnum = GetPolymorphVnum();
        // const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
        // int iAtt = 0;
        // int iDef = 0;
 
        // if (pMob)
        // {
            // iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
            // // lev + con
            // iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
        // }
 
        // SetPoint(POINT_ATT_GRADE, iAtt);
        // SetPoint(POINT_DEF_GRADE, iDef);
        // SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE));
        // SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
    // }
    // else if (IsPC())
You can write this:

	/*
	if (IsPolymorphed())
	{
		DWORD dwMobVnum = GetPolymorphVnum();
		const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
		int iAtt = 0;
		int iDef = 0;

		if (pMob)
		{
			iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
			// lev + con
			iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
		}

		SetPoint(POINT_ATT_GRADE, iAtt);
		SetPoint(POINT_DEF_GRADE, iDef);
		SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
		SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
	}
	else if (IsPC())
	*/
But thanks for sharing.
  • Love 1
Link to comment
Share on other sites

Instead of this:

    // if (IsPolymorphed())
    // {
        // DWORD dwMobVnum = GetPolymorphVnum();
        // const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
        // int iAtt = 0;
        // int iDef = 0;
 
        // if (pMob)
        // {
            // iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
            // // lev + con
            // iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
        // }
 
        // SetPoint(POINT_ATT_GRADE, iAtt);
        // SetPoint(POINT_DEF_GRADE, iDef);
        // SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE));
        // SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
    // }
    // else if (IsPC())
You can write this:

	/*
	if (IsPolymorphed())
	{
		DWORD dwMobVnum = GetPolymorphVnum();
		const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
		int iAtt = 0;
		int iDef = 0;

		if (pMob)
		{
			iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
			// lev + con
			iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
		}

		SetPoint(POINT_ATT_GRADE, iAtt);
		SetPoint(POINT_DEF_GRADE, iDef);
		SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
		SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
	}
	else if (IsPC())
	*/
But thanks for sharing.

 

I did it by Notepad++ (combination keys CTRL + Q) because such an effect.

  • Love 1
Link to comment
Share on other sites

  • 1 year later...

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.