MisiuPysiu wrote:Hi Hirumakai,
Could You explain what does that mean:
Weapon bond completely reworked. It now works on non-rares, non-artifacts (whites,greens, blues, purples).
Its aiming for a quadruple greater ego artifact level, plus about 20 damage, 20 accuracy (for the investment of 5 generic points and a category point).
Sure.
As a base, all weapons receive +2 to accuracy and +2 to base damage for each "tier" the weapon reaches in overall kills.
At 5/5, the tiers go 1 kill, 2 kills, 4 kills, 8 kills, 16 kills, etc.
So if you sum them, to reach tier 10 takes 1+2+4+8+16+32+64+128+256+512 = 1023 kills. This would provide +20 accuracy and +20 base damage (similar to reshaping a weapon), and applies to artifacts, rares, as well as lesser weapons.
In addition the base damage (separate from the +2 per tier above), APR, crit chance, block talent and block amount are increased as you kill elites. The value it is increased to is based on player tier, which is (player level)/10, rounded down. So 1 at level 10, 2 at level 20, 3 at level 30, 4 at level 40, and 5 at level 50. Basically the item's base values increase to an equivalent material tier (iron, steel, dwarven-steel, stralite, voratun), at player tier +1. Tier 5 (or higher) doesn't do anything for these stats (it doesn't go to something beyond voratun). This again applies to all weapons. So you can turn a tier 1 material artifact into a tier 5 material artifact (but all the other cool special abilities will stay the same).
So if I am level 50, and am using Bill's Tree Trunk to kill elites, its base stats will increase to APR=4, physical crit chance =3%, and a base damage of 72, basically a voratun greatmaul stats. If you had killed 1024 enemies with it, its stats would be 92 base damage, +20 to hit, APR=4, crit chance=3%, and its innate 130% Str modifier. It may take multiple elite kills to reach these stats, as it basically increases base damage by your tier level each time you kill an elite, up to that material and weapon types maximum damage.
Lastly, all weapons you kill something with receive the plot flag, which means you can transfer them with your fortress to other characters. No handing off tier 1 weapon requirement, tier 5 quality weapons.
****
Now if you use a non-artifact,non-rare i.e. white, green, blue, purple, not only do you receive the above benefits, but now you also have to keep track of boss kills. They have their own "unique_tier", which goes with the same kind of scaling.
Tier 1 is 1 boss kill, tier 2 is 2 more boss kills, tier 3 is 4 more boss kills, etc.
To reach tier 5 takes 1+2+4+8+16 = 31 boss kills.
This is used to determine the value a weapon should be improved to using an arbitrary point value scale I wrote.
Basically 3 * tier * unique_tier * mult, where mult is 1.2 for 2-handed weapons, 1.0 for 1-handed (or shield), and 0.8 for offhand (daggers). So for a tier=10, unique_tier=5, 1-handed you have 3*10*5 = 150 points. You might expect this late game, on a weapon you've been using from level 15-20 or so.
The following code defines how the abilities are valued in those points, and what maximum they will be increased to.
p_tier_scale is related to the maximum value a weapon trait will be increased to. Take p_tier_scale and multiply by the player's tier to get the maximum value a weapon trait will be increased to. For example, APR has a p_tier_scale of 3, and at level 50, will be increased to a maximum of 15.
Scale is how many arbitrary points a point of that trait is worth. Each 1 increase in APR is valued at 1 point out of the 150 for a tier=10, unique_tier=5 weapon.
Fixed means its just worth a flat 10 points for a on hit or on crit ability since I don't have a good way of determining their value, nor any good way of increasing their effectiveness.
Max_stats=true means that the trait has been maximized elsewhere in the code, and that those points shouldn't be counted against the value of the weapon. Basically, the section above referring to killing elites and raising your APR, crit chance, and base damage. So if your weapon has 4 APR at tier 5 (like a voratun greatmaul), it ignores the first 4 points of APR in calculating the value of your weapon.
So here are the numbers (which probably need to be tweaked:
Code: Select all
local combat_definitions = {apr = {max_stats=true,scale=1,p_tier_scale=3},
phasing = {scale=0.2,p_tier_scale=10},
special_on_crit = {fixed=10},
talent_on_hit = {fixed=10},
physspeed = {scale=200,subtract=1,p_tier_scale=0.02},
melee_project = {scale=1,multiple=true,p_tier_scale=3},
burst_on_hit = {scale=1.5,multiple=true,p_tier_scale=3},
convert_damage = {scale=0.2,multiple=true,p_tier_scale=5},
physcrit = {max_stats=true,scale=1,p_tier_scale=3}}
local wielder_definitions = {inc_stats = {scale=1,multiple=true,p_tier_scale=2},
disarm_immune = {scale=20,p_tier_scale=0.07},
resists_pen = {scale=1,multiple=true,p_tier_scale=4},
inc_damage = {scale=1,multiple=true,p_tier_scale=4},
physcrit = {scale=1.25,p_tier_scale=3},
combat_apr = {scale=1.25,p_tier_scale=3},
stamina_regen_when_hit = {scale=4,p_tier_scale=0.5},
critical_power = {scale=1,p_tier_scale=5},
disease_immune = {scale=20,p_tier_scale=0.07},
combat_dam = {scale=1,p_tier_scale=3},
combat_mindpower = {scale=1,p_tier_scale=3},
combat_spellpower = {scale=1,p_tier_scale=3},
combat_armor = {scale=1,p_tier_scale=3},
combat_atk = {scale=1,p_tier_scale=3},
combat_def = {scale=1,p_tier_scale=3},
life_regen = {scale=4,p_tier_scale=0.5},
global_speed_add = {scale=400,p_tier_scale=0.01},
resists = {scale=1,multiple={subscale={all=8,[DamageType.PHYSICAL]=2}},p_tier_scale=3}
}
local bonus_ability_definitions = {"melee_project", "resists_pen","inc_damage","critical_power","phasing","global_speed_add","resists"}
So the code makes several passes on such weapons. The first, it counts up how much the weapon is worth in points. It then compares that to what Weapon Bond things it should be.
If your weapon is already worth 100 points as calculated by the above numbers, but you only have 3*8*3 = 72 points worth in tiers, it basically stops and does nothing. If you do have more points, say 3*10*5 = 150, then it makes a second pass, keeping in mind it needs to increase the value of the weapon by 50 (150-100 =50).
On this pass it goes through and increases already existing traits (like APR, bonus damage on hit, stat bonuses, etc). It only increases up to player tier * p_tier_scale. It then deducts the improvement from the points needed. Say it increases APR by 10, then 50-10=40 points remaining. It then goes onto another trait, until its gone through the list of both combat_definitions and wielder_definitions, or it runs out of points.
If there are points remaining after improving all already existing traits, it then goes through the bonus_ability_definitions list and adds one of those traits. It keeps track of the elemental damage types already seen on the weapon, and will try to add damage type effects in theme with that element. The physical damage type is always included in the list of damage types, so you'll often see physical damage penetration or bonus physical damage. It will continue adding traits from the bonus_ability_definitions until points remaining have run out.
I want to say there are something like 54 or so boss level enemies (rank 4 and rank 5) in the game most characters can reach, plus a collection of about 9 or 10 racial/class bosses as well, so you can miss or skip a few and still reach unique tier 5 by High Peak (since you only need 31 boss kills to reach that tier).
From level 10, I hit tier 11 with a fairly comfortable margin. Since tier 10 is half as many enemies, you're pretty much guaranteed that from the half way point in the game, if not tier 11. So you might be able to get a maximum of 165 points for your weapon, which should be equivalent to a 4 ego random artifact or so.
At 5/5 weapon bond, you can get to tier 5 or so just by walking through the trollmire, so even an artifact weapon you get just before high peak, you can probably get to tier 8 by the last fight, which is +16 base damage and +16 accuracy, along with it being bumped to tier 5 material if it wasn't already.
Hope that clarifies. I'm also open to suggestions on tweaking the above stats. I potentially could open it to affecting random rare weapons as well. At this point it would just be tweaking a single line where it checks if it should artifact-ize it.