Jump to content

Help Yang/Exp on Stones


Recommended Posts

Hello guys hows everyone doing?
I would like to ask help for those who understand more about it regarding this topics:

1- Killing Stones too fast (high dmg) and not recieving the same amount of EXP / YANG from monsters compared to someone with (low dmg)

If i have low dmg and all monsters spawn from the Stone and i manage to kill all of them before finishing the Stone HP i get good Yang / Exp

But with Higher dmd thats not happening and i recieve less.

2- I would like to ask for info about: Where i can change this to maintain the same for both situations.

3-What file / If is to hard to do it or complicated.

Hope i can fix this issue with your help and thank you everyone who is going to reply to this. Really appreciate you all and this platform. For helping everyone constantly. 

Edited by Poeta
  • Good 1
Link to comment
Share on other sites

  • Contributor
// char.h
	void				ClearStone();

// Replace with
	void				ClearStone(LPCHARACTER pkKiller = nullptr);



// char.cpp
void CHARACTER::ClearStone()

// Replace with this
void CHARACTER::ClearStone(LPCHARACTER pkKiller)
{
	if (!m_set_pkChrSpawnedBy.empty())
	{
		// Kill all monsters I spawned.
		FuncDeadSpawnedByStone f(pkKiller);
		std::for_each(m_set_pkChrSpawnedBy.begin(), m_set_pkChrSpawnedBy.end(), f);
		m_set_pkChrSpawnedBy.clear();
	}

	if (!m_pkChrStone)
		return;

	m_pkChrStone->m_set_pkChrSpawnedBy.erase(this);
	m_pkChrStone = nullptr;
}


// Find this struct and replace it
struct FuncDeadSpawnedByStone
{
private:
	LPCHARACTER m_pkKiller;

public:
	FuncDeadSpawnedByStone(LPCHARACTER pkKiller) : m_pkKiller(pkKiller)
    {}

	void operator () (LPCHARACTER ch)
	{
		ch->Dead(m_pkKiller);
		ch->SetStone(nullptr);
	}
};


// char_battle.cpp
		if (IsStone())
			ClearStone();

// replace with
		if (IsStone())
			ClearStone(pkKiller);

 

I didn't even try to compile it. Lemme know if it works

Edited by Amun
Forgot to make the rest of the struct public
  • Love 2
Link to comment
Share on other sites

44 minutes ago, Amun said:
// char.h
	void				ClearStone();

// Replace with
	void				ClearStone(LPCHARACTER pkKiller = nullptr);



// char.cpp
void CHARACTER::ClearStone()

// Replace with this
void CHARACTER::ClearStone(LPCHARACTER pkKiller)
{
	if (!m_set_pkChrSpawnedBy.empty())
	{
		// Kill all monsters I spawned.
		FuncDeadSpawnedByStone f(pkKiller);
		std::for_each(m_set_pkChrSpawnedBy.begin(), m_set_pkChrSpawnedBy.end(), f);
		m_set_pkChrSpawnedBy.clear();
	}

	if (!m_pkChrStone)
		return;

	m_pkChrStone->m_set_pkChrSpawnedBy.erase(this);
	m_pkChrStone = nullptr;
}


// Find this struct and replace it
struct FuncDeadSpawnedByStone
{
private:
	LPCHARACTER m_pkKiller;

public:
	FuncDeadSpawnedByStone(LPCHARACTER pkKiller) : m_pkKiller(pkKiller)
    {}

	void operator () (LPCHARACTER ch)
	{
		ch->Dead(m_pkKiller);
		ch->SetStone(nullptr);
	}
};


// char_battle.cpp
		if (IsStone())
			ClearStone();

// replace with
		if (IsStone())
			ClearStone(pkKiller);

 

I didn't even try to compile it. Lemme know if it works

Well thank you for saving me again. i will try and let you know 

  • Good 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

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.