Bugfix addon for b37

Everything about ToME 4.x.x. No spoilers, please

Moderator: Moderator

Message
Author
tiger_eye
Perspiring Physicist
Posts: 889
Joined: Thu Feb 17, 2011 5:20 am

Re: Bugfix addon for b37

#16 Post by tiger_eye »

A few more fixes to add to the next bugfix addon release:

(1) Iron Throne town will always appear on the worldmap for dwarves. The problem was that the town was added only if the player knew "Resilience of the Dwarves", which players can now unlearn.

Code: Select all

Index: game/modules/tome/data/maps/wilderness/eyal.lua
===================================================================
--- game/modules/tome/data/maps/wilderness/eyal.lua	(revision 4784)
+++ game/modules/tome/data/maps/wilderness/eyal.lua	(working copy)
@@ -80,7 +80,7 @@
 -- Zigur is only know from the start to non casters
 if not game.player:knowTalent(game.player.T_MANA_POOL) and not game.player:knowTalent(game.player.T_VIM_POOL) and not game.player:knowTalent(game.player.T_VIM_POOL) and not game.player:knowTalent(game.player.T_NEGATIVE_POOL) and not game.player:knowTalent(game.player.T_POSITIVE_POOL) and not game.player:knowTalent(game.player.T_PARADOX_POOL) and not game.player:attr("undead") then defineTile('zigur', "TOWN_ZIGUR") else quickEntity('zigur', ')') end
 -- Iron Council is only known to dwarves
-if game.player:knowTalent(game.player.T_DWARF_RESILIENCE) then defineTile('iron-council', "TOWN_IRON_COUNCIL") else quickEntity('iron-council', '#') end
+if game.player.descriptor.race == "Dwarf" then defineTile('iron-council', "TOWN_IRON_COUNCIL") else quickEntity('iron-council', '#') end
 
 
 -- Far East
(2) auto-explore in areas that were discovered via magic map (such as with the Burning Star):

Code: Select all

Index: game/modules/tome/class/Actor.lua
===================================================================
--- game/modules/tome/class/Actor.lua	(revision 4784)
+++ game/modules/tome/class/Actor.lua	(working copy)
@@ -833,7 +833,7 @@
 	self:computeFOV(radius, "block_sense", function(x, y)
 		if not checker or checker(x, y) then
 			game.level.map.remembers(x, y, true)
-			game.level.map.has_seens(x, y, true)
+--			game.level.map.has_seens(x, y, true)
 		end
 	end, true, true, true)
 
(3) fixed the main ice block bugs: extra attacks (such as with Flurry) won't hit yourself nor will status effects be applied (like rogue poisons), and ice block HP won't become and stay negative:

Code: Select all

Index: game/modules/tome/class/Actor.lua
===================================================================
--- game/modules/tome/class/Actor.lua	(revision 4784)
+++ game/modules/tome/class/Actor.lua	(working copy)
@@ -1287,8 +1287,10 @@
 		local eff = self:hasEffect(self.EFF_FROZEN)
 		eff.hp = eff.hp - value * 0.4
 		value = value * 0.6
-		if eff.hp < 0 and not eff.begone then game:onTickEnd(function() self:removeEffect(self.EFF_FROZEN) end) end
-		eff.begone = game.turn
+		if eff.hp < 0 and not eff.begone then
+			game:onTickEnd(function() self:removeEffect(self.EFF_FROZEN) end)
+			eff.begone = game.turn
+		end
 	end
 
 	-- Adds hate
(4) a fix for character clones when thieves die when using Switch Place:

Code: Select all

Index: game/modules/tome/data/talents/cunning/dirty.lua
===================================================================
--- game/modules/tome/data/talents/cunning/dirty.lua	(revision 4784)
+++ game/modules/tome/data/talents/cunning/dirty.lua	(working copy)
@@ -89,7 +89,7 @@
 		local tx, ty, sx, sy = target.x, target.y, self.x, self.y
 		local hitted = self:attackTarget(target, nil, 0, true)
 
-		if hitted then
+		if hitted and not self.dead then
 			self:setEffect(self.EFF_EVASION, t.getDuration(self, t), {chance=50})
 
 			-- Displace

Grey
Loremaster
Posts: 3517
Joined: Thu Sep 23, 2010 10:18 pm
Location: London, England
Contact:

Re: Bugfix addon for b37

#17 Post by Grey »

Awesome stuff. I really appreciate you guys giving attention to these things whilst DarkGod takes a leave of absence.
http://www.gamesofgrey.com - My own T-Engine games!
Roguelike Radio - A podcast about roguelikes

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Bugfix addon for b37

#18 Post by yufra »

Thanks Grey, it is the fame and glory that keeps us going... wait that doesn't sound right. :D

There is a new version of the bugfix addon that you can download from the first post. Report any issues with validation or the fixes themselves here. Cheers!
<DarkGod> lets say it's intended

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Bugfix addon for b37

#19 Post by yufra »

Updated the patch, there was a small bug in its implementation.
<DarkGod> lets say it's intended

grmblfzzz
Thalore
Posts: 133
Joined: Fri Nov 25, 2011 7:53 pm

Re: Bugfix addon for b37

#20 Post by grmblfzzz »

Amazing, thank you!

If there is any chance you're taking requests for bugs to fix, one of the most annoying bugs currently is the whole poison engine not working for certain classes. Poison Gas Trap for rogues, Poison Storm for Corruptors, and according to donkatsu summoned hydra poison + grand arrival as well. Basically it seems they aren't using any offensive stat for saves, so the poison can't stick on anything with over 10 save. These are pretty key abilities for rogues and corruptors :(

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Bugfix addon for b37

#21 Post by yufra »

grmblfzzz wrote: If there is any chance you're taking requests for bugs to fix, one of the most annoying bugs currently is the whole poison engine not working for certain classes. Poison Gas Trap for rogues, Poison Storm for Corruptors, and according to donkatsu summoned hydra poison + grand arrival as well. Basically it seems they aren't using any offensive stat for saves, so the poison can't stick on anything with over 10 save. These are pretty key abilities for rogues and corruptors :(
Done and uploaded a new version.
<DarkGod> lets say it's intended

grmblfzzz
Thalore
Posts: 133
Joined: Fri Nov 25, 2011 7:53 pm

Re: Bugfix addon for b37

#22 Post by grmblfzzz »

Hurray, mugh obliged! Best people ever (Excluding darkgod, perhaps). Rogues are my favorite class, but they felt unplayable to me with half of their lurable traps broken.

EDIT: Fixed!
Last edited by grmblfzzz on Mon Jan 16, 2012 8:10 am, edited 1 time in total.

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Bugfix addon for b37

#23 Post by yufra »

grmblfzzz wrote:Hurray, mugh obliged! Best person ever (Excluding darkgod, perhaps). Rogues are my favorite class, but they felt unplayable to me with half of their lurable traps broken.
As nice as that is to hear, a lot of credit for the various bugfixes belongs to tiger_eye. :D
<DarkGod> lets say it's intended

bricks
Sher'Tul
Posts: 1262
Joined: Mon Jun 13, 2011 4:10 pm

Re: Bugfix addon for b37

#24 Post by bricks »

This should probably be cross-posted and stickied on the Bug Report forum.
Sorry about all the parentheses (sometimes I like to clarify things).

marchewka
Thalore
Posts: 156
Joined: Thu Dec 30, 2010 9:52 am

Re: Bugfix addon for b37

#25 Post by marchewka »

A quick question - will this addon work only for new characters, or can i apply it for already-running char?

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Bugfix addon for b37

#26 Post by yufra »

marchewka wrote:A quick question - will this addon work only for new characters, or can i apply it for already-running char?
Most bugs will be fixed on an already running character, but any on-birth bugs or already encountered bugs will not be magically fixed.
<DarkGod> lets say it's intended

DragonRU
Yeek
Posts: 12
Joined: Sat Jan 29, 2011 1:11 am

Re: Bugfix addon for b37

#27 Post by DragonRU »

One more fix for bugfix:

Code: Select all

--	if self:attr("encased_in_ice") then
++	if typ ~= nil and self:attr("encased_in_ice") then
at line 5 of Player.lua

It prevents error messages when you trying to shoot while iceblocked

Post Reply