[1.6.7] You can still avoid WS prerequisite almost freely

Where bugs go to lie down and rest

Moderator: Moderator

Post Reply
Message
Author
helminthauge
Wyrmic
Posts: 212
Joined: Sat Sep 29, 2018 3:43 am

[1.6.7] You can still avoid WS prerequisite almost freely

#1 Post by helminthauge »

Eat the Heart of the Sandworm Queen. Stock 1 category point and 10 generic points (3 of them can even be from unlearning talents!) and have your dexterity over 50. Move into the level-up screen. Unlock Harmony and put 10 points into it. Get Windtouched Speed prodigy and close the prodigy screen. Unlearn all talents in Harmony and unlearn this category. Exit and congratulations! You have avoid the prerequisite!

This bug must be fixed or why don't you just change the prerequisite into "Be a natural creature"?

I believe that you can also do the same to avoid the prerequisite of Never Stop Running. It's just a far less popular prodigy and the only ones who'd bother trying avoid the prerequisite are Wyrmics, Summoners and Sun Paladins (maybe plus Arcane Blades?).

helminthauge
Wyrmic
Posts: 212
Joined: Sat Sep 29, 2018 3:43 am

Re: [1.6.7] You can still avoid WS prerequisite almost freel

#2 Post by helminthauge »

Plus for all the 50 stat requirements, you can also cheat the same way by stocking stat points. Just there's usually no need to do this.

helminthauge
Wyrmic
Posts: 212
Joined: Sat Sep 29, 2018 3:43 am

Re: [1.6.7] You can still avoid WS prerequisite almost freel

#3 Post by helminthauge »

I propose a very simple solution to this bug.

Just change the code of the button leading to prodigy selection window in the mod/dialogs/LevelupDialog.lua file to:

Code: Select all

	self.b_prodigies = Button.new{text="Prodigies", fct=function()
			local changed = #self.actor.last_learnt_talents.class ~= #self.actor_dup.last_learnt_talents.class or #self.actor.last_learnt_talents.generic ~= #self.actor_dup.last_learnt_talents.generic
			for i = 1, #self.actor.last_learnt_talents.class do if self.actor.last_learnt_talents.class[i] ~= self.actor_dup.last_learnt_talents.class[i] then changed = true end end
			for i = 1, #self.actor.last_learnt_talents.generic do if self.actor.last_learnt_talents.generic[i] ~= self.actor_dup.last_learnt_talents.generic[i] then changed = true end end

			if self.actor.unused_stats~=self.actor_dup.unused_stats or self.actor.unused_talents_types~=self.actor_dup.unused_talents_types or
			self.actor.unused_talents~=self.actor_dup.unused_talents or self.actor.unused_generics~=self.actor_dup.unused_generics or self.actor.unused_prodigies~=self.actor_dup.unused_prodigies or changed then
				--copying EXIT function
				Dialog:simplePopup("Prodigies", "You must reopen this window and don't change anything to access the prodigy selection.")
			else
				self.on_finish_prodigies = self.on_finish_prodigies or {}
				local d = require("mod.dialogs.UberTalent").new(self.actor, self.on_finish_prodigies)
				game:registerDialog(d)
			end
		end, on_select=function()
		local str = desc_prodigies
		if self.no_tooltip then
			self.c_desc:erase()
			self.c_desc:switchItem(str, str, true)
		else
			game:tooltipDisplayAtMap(self.b_stat.last_display_x + self.b_stat.w, self.b_stat.last_display_y, str)
		end
	end}

Post Reply