diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index c881a4bada3ad2e28f82bb16d99f1d3e2fd3e754..d9b549ffcb1e2b45c5888ce69ee741338b800e16 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -2387,7 +2387,7 @@ function _M:getFreeHands() end --- Check if the actor dual wields melee weapons (use Archery:hasDualArcheryWeapon for ranged) -function _M:hasDualWeapon(type, quickset) +function _M:hasDualWeapon(type, offtype, quickset) if self:attr("disarmed") then return nil, "disarmed" end @@ -2398,17 +2398,18 @@ function _M:hasDualWeapon(type, quickset) if not (weapon and weapon.combat and not weapon.archery) or not (offweapon and offweapon.combat and not offweapon.archery) then return nil end + offtype = offtype or type if type and weapon.combat.talented ~= type then return nil end - if type and offweapon.combat.talented ~= type then return nil end + if offtype and offweapon.combat.talented ~= offtype then return nil end return weapon, offweapon end --- Check if the actor dual wields melee weapons in the quick slot -function _M:hasDualWeaponQS(type) +function _M:hasDualWeaponQS(type, offtype) if self:attr("disarmed") then return nil, "disarmed" end - return self:hasDualWeapon(type, true) + return self:hasDualWeapon(type, offtype, true) end --- Check if the actor uses psiblades diff --git a/game/modules/tome/data/birth/descriptors.lua b/game/modules/tome/data/birth/descriptors.lua index 7e0457cba513b25d52b2dcd1e5ba8be2b439d685..27bbd5018a0c3c78d2e261d4601e00ad0d460255 100644 --- a/game/modules/tome/data/birth/descriptors.lua +++ b/game/modules/tome/data/birth/descriptors.lua @@ -191,6 +191,7 @@ newBirthDescriptor{ "Unfair game setting", "All zone levels increased by 50%", "All creature talent levels increased by 30%", + "Rare creatures are slightly more frequent", "Stairs can not be used for 5 turns after a kill.", "Player can earn Nightmare version of achievements if also playing in Roguelike or Adventure permadeath mode.", }, @@ -204,6 +205,9 @@ newBirthDescriptor{ __game_difficulty = 3, money = 100, }, + game_state = { + default_random_rare_chance = 15, + }, } newBirthDescriptor{ type = "difficulty", diff --git a/game/modules/tome/data/talents/chronomancy/chronomancer.lua b/game/modules/tome/data/talents/chronomancy/chronomancer.lua index 700a73d5297f74e98b0cc3af7aeac5c9e6a16b05..ba1403c15fe9a022dfb3a6f983f907af181291a4 100644 --- a/game/modules/tome/data/talents/chronomancy/chronomancer.lua +++ b/game/modules/tome/data/talents/chronomancy/chronomancer.lua @@ -239,7 +239,7 @@ doWardenWeaponSwap = function(self, t, type, silent) if type == "blade" then mainhand, offhand = self:hasDualWeapon() - if not mainhand and self:hasDualWeapon(nil, true) then -- weird but this is lets ogers offhanding daggers still swap + if not mainhand and self:hasDualWeapon(nil, nil, true) then -- weird but this is lets ogers offhanding daggers still swap swap = true end