Jump to content
×
×
  • Create New...

How To Fix Polymorph's Bug Damage


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...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


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.