thought-form warrior almost always, if not always, has all 4 pieces of equipment
thought-form defender almost always, if not always, has all 5 pieces of equipment
but thought-form bowman is almost always missing either his gloves, his boots, or both; however, he almost always, if not always, has chest armor, a bow, and arrows, like he should be
steps to reproduce:
#1: make a new character as a solipsist or adventurer of any first-party race in any first-party campaign with no non-first-party addons
#2: reach character level 4
#3: get thought-forms to level 5
#4: activate thought-form bowman
#5: inspect your thought-form bowman to look at its gear; take note that he will almost always be missing his gloves, boots, or both
#6: de-activate thought-form bowman
#7: repeat steps 4-6 100 times
#8: repeat steps 4-6 100 times, except with warrior and defender instead of bowman; take note that they, unlike the bowman, will always have gloves and boots
#9: use dev mode to boost yourself to level 50, go to high peak, and remove all hostile NPCs, or just play the game to get there the normal way
#10: repeat steps 7-8
#11: go to any other zone of your choice, then repeat step 10
#12: repeat step 11 until you've seen enough
this bug was found without using any non-first-party addons at all EDIT: except select your escorts, and has been in the game since at least 1.6.x
[1.7.0] thought-form bowman tries to wear metal gloves&boots
Moderator: Moderator
[1.7.0] thought-form bowman tries to wear metal gloves&boots
Last edited by Zeyphor on Thu Nov 05, 2020 3:39 pm, edited 1 time in total.
Re: [1.7.0] thought-form bowman tries to wear metal gloves&b
after closely examining the game's code with little to no knowledge of LUA, which took 10-15 minutes to do, I've determined that the problem here is that the game will often attempt to make thought-forged bowman wear metal gloves and boots, and because these bowman don't have heavy armor training at even level 1, they simply won't have gloves or boots equipped if they turn out to be metal
first, I looked through thought-forms.lua and found this, which appears to not be the problem:
BOWMAN:
WARRIOR:
DEFENDER:
but then, I booted up my level 7 solipsist offline to activate and de-activate my thought-forms repeatedly, including multiple of each thought-form, and I found this in the log file when a thought-forged bowman spawned with metal gloves and boots and tried to equip them:
it appears that, when making boots and gloves, the game just randomly picks metal or leather gloves; type="armor", subtype="hands" appears to not differentiate between metal or leather armor
so, this bug can be fixed by giving level 1 heavy armor training to thought-forged bowmen, which would absolutely no impact upon the gameplay beyond enabling them to wear metal boots and gloves when they decide to spawn with them; since they wear leather armor, they wouldn't at all benefit from the bonus armor or critshrug from heavy armor training
or, if you want to do something more complicated for whichever reason, then, well, I don't really know if this would work, and I don't know if theres subtype="metalhands" or subtype="nonmetalhands" as "armor" subtypes, but you could divide item subtypes between metal and non-metal for all relevant item types, or maybe "type" itself could differentiate there between metal or non-metal, instead of doing so via. subtype, and doing something like that could result not only in bowmen not being given metal boots or gloves to wear, but also in warriors and defenders not being given leather boots or gloves to wear, which would not be accomplished by simply giving level 1 heavy armor training to thought-form bowman
first, I looked through thought-forms.lua and found this, which appears to not be the problem:
BOWMAN:
Code: Select all
resolvers.equip{
{type="weapon", subtype="longbow", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="ammo", subtype="arrow", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="light", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="hands", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="feet", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
},
Code: Select all
resolvers.equip{
{type="weapon", subtype="battleaxe", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="heavy", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="hands", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="feet", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
},
Code: Select all
resolvers.equip{
{type="weapon", subtype="longsword", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="shield", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="massive", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="hands", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
{type="armor", subtype="feet", autoreq=true, forbid_power_source={arcane=true}, not_properties = {"unique"} },
},
Code: Select all
[resolveObject] CREATE FOR 16411 thought-forged bowman do_wear/tries: true 5 filter:
{forbid_power_source=table: 0x1147de38, not_properties=table: 0x1147de60, type="weapon", autoreq=true, subtype="longbow"}
[TOME ENTITY FILTER] selected basic 87.214748690653 103.5
[resolveObject] CREATED OBJECT: 16413 elm longbow tries left: 4
[resolveObject] 16413 elm longbow added to inventory MAINHAND
[resolveObject] CREATE FOR 16411 thought-forged bowman do_wear/tries: true 5 filter:
{forbid_power_source=table: 0x11223fb8, not_properties=table: 0x11224050, type="ammo", autoreq=true, subtype="arrow"}
[TOME ENTITY FILTER] selected Ego 46.791116350864 65.5
[resolveObject] CREATED OBJECT: 16414 quiver of elm arrows of accuracy tries left: 4
fight: quiver of elm arrows of accuracy elm longbow :: OFFHAND QUIVER
[resolveObject] 16414 quiver of elm arrows of accuracy added to inventory QUIVER
[resolveObject] CREATE FOR 16411 thought-forged bowman do_wear/tries: true 5 filter:
{forbid_power_source=table: 0x14df02b0, not_properties=table: 0x14df0310, type="armor", autoreq=true, subtype="light"}
[TOME ENTITY FILTER] selected basic 82.91801622543 103.5
[resolveObject] CREATED OBJECT: 16418 cured leather armour tries left: 4
fight: cured leather armour elm longbow :: OFFHAND BODY
fight: cured leather armour quiver of elm arrows of accuracy :: nil BODY
[resolveObject] 16418 cured leather armour added to inventory BODY
[resolveObject] CREATE FOR 16411 thought-forged bowman do_wear/tries: true 5 filter:
{forbid_power_source=table: 0x12ffb520, not_properties=table: 0x12ffb548, type="armor", autoreq=true, subtype="hands"}
[TOME ENTITY FILTER] selected basic 67.086493285626 103.5
[resolveObject] CREATED OBJECT: 16419 iron gauntlets tries left: 4
[resolveObject] 16419 iron gauntlets NOT WORN in nil nil
[General Object resolver] 16419 iron gauntlets COULD NOT BE WORN
[resolveObject] adding to main inventory: 16419 iron gauntlets
[resolveObject] CREATE FOR 16411 thought-forged bowman do_wear/tries: true 5 filter:
{forbid_power_source=table: 0x12517c38, not_properties=table: 0x12517cd0, type="armor", autoreq=true, subtype="feet"}
[TOME ENTITY FILTER] selected Ego 28.440601109862 65.5
[resolveObject] CREATED OBJECT: 16420 pair of iron boots of tirelessness tries left: 4
[resolveObject] 16420 pair of iron boots of tirelessness NOT WORN in nil nil
[General Object resolver] 16420 pair of iron boots of tirelessness COULD NOT BE WORN
[resolveObject] adding to main inventory: 16420 pair of iron boots of tirelessness
[Actor:move] 16411 thought-forged bowman (forced) move from nil nil to 5 20
[PARTY] New member, add after thought-forged bowman Oravo
so, this bug can be fixed by giving level 1 heavy armor training to thought-forged bowmen, which would absolutely no impact upon the gameplay beyond enabling them to wear metal boots and gloves when they decide to spawn with them; since they wear leather armor, they wouldn't at all benefit from the bonus armor or critshrug from heavy armor training
or, if you want to do something more complicated for whichever reason, then, well, I don't really know if this would work, and I don't know if theres subtype="metalhands" or subtype="nonmetalhands" as "armor" subtypes, but you could divide item subtypes between metal and non-metal for all relevant item types, or maybe "type" itself could differentiate there between metal or non-metal, instead of doing so via. subtype, and doing something like that could result not only in bowmen not being given metal boots or gloves to wear, but also in warriors and defenders not being given leather boots or gloves to wear, which would not be accomplished by simply giving level 1 heavy armor training to thought-form bowman
Re: [1.7.0] thought-form bowman tries to wear metal gloves&b
fixed
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning
