forums | blogs | polls | tutorials | downloads | rules | help

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in remember_me_form_alter() (line 78 of /var/www/siegetheday.org/sites/all/modules/contrib/remember_me/remember_me.module).

Crossbow Blood Assassins, Concept and Act 1

Background

A while ago I played through Broken World again, taking the same Fist of Stone route with Osric that I took at my uncle when I first played the game. I was playing at my uncle too. This time it was in a full party, and everyone was re-specialized for shields. I wanted tankiness, and by Xeria I'd have it.

As usual, I have a distaste for missing out skill points from quests. EXP differences I can smooth out with time and a little effort, but permanently missing skill points? That's where I draw the line.

So I downloaded Retroactive Skill Point Rewards, and the game was on.

Previously I was playing pets only, and I had to deal with the Undead Azunite Archer bug that crept in during development. There was one fix far and wide, LadyFemme's BW Monsters Improvements and Fixes for DS2 and Broken World and so it got installed. Then I got a near-wipe from a mimic and an actual wipe for my pet team when their handler got grave beamed by a bone minion, despite defending with steal magic. It turned out that Resists are in fact critical, especially death resistance. So I made sure to have a few pieces equipped, and it got somewhat more manageable.

Additionally, given the vast number of urns, almost every room would have a bone minion or two, (sometimes at the same time if I reacted slowly) and with their boosted power, clearing turned into a very risky slog. The bosses becoming even more spongy on top of them having high power resistance and armor didn't help either. This is what the big numbers of single-target powers are for, for goodness' sake!

The straw that broke the camel's back was the Vai'kesh Argir. He could heal endlessly, and the powers didn't harm him nearly enough to either spike through the healing, or to kill him through attrition. He was literally unkillable, and as far as I can tell LadyFemme did not succeed in these design goals, as I had a solid damage setup (Warcry+Crit+Mortal wound) on even my shield party, and it wasn't enough.

That's when I had enough and took matters into my own hands.

At first I kept things simple: Chipped off some 2/3 of Argir's healing and 1/3 of it's health. It was just enough. However, given the extreme tankiness of other bosses, something else bothered me: What's the point of powers when they are barely worth 3-4 single attacks against the enemies one would expect to use them on? You try the power out, see the target turning into fine paste, see the miniboss with a chunk of it's health gone or nearly killed, then surely it makes sense to use it for the big bosses.

In order to make that work, I went into the rules and disabled the power resistance stat from working. From then on, powers were at full effect.

In the meanwhile I had an experimental blood assassin trio with the premade Hadrian run through most of the first act of BW, finding how much "all roads lead to Rome", how little room there is for specialization in the specialties, how much one is directed towards spreading thin, and how little bonus there is in actually going deep into a particular passive. Take Survival as an example: In vanilla DS2, 5 points, or 1 point and 2x +2 adders will give you exactly half the benefit of getting it up to level 20. Ideally you spend one point, or just get two items to boost it to level 4 without spending a single point. In BW the sweet spot is level 6 instead. Blood Assassin's shred blood is around level 7, and the list goes on.

For someone who enjoys experimenting and replaying content with various builds in search of different experiences, this is just unacceptable. First off, diminishing returns hit anyways with flat increases, as each subsequent level, even though it's in absolute values the same as the previous, gives a smaller total compared to what has been achieved so far.

For example, an increase of 50% when added to the base value of 100% is the same, 150% of the original. Adding it to a base value of 1000% will only be a 5% relative increase, and a mere 2.5% when added to a base value of 2000%.

understanding this, I set out to make all specialties more fun. The way to do it was to smooth out the progression: Fewer front-loaded into the system at start, and higher increases at the end of the spectrum, to really make it worth going all the way. Additionally, it has smaller increases in the middle since that's when you get the levels in powers from them.

Take for example Toughness - the below comparison might do it justice.

Diminishing returns removed, there is a considerable bump between 15 and 20, making it more than worth for characters who finish building either Staggering Blow or Provoke to keep going either with skill points, or gear. There is a relatively diminishing part post lvl 20, but it going from 30% to 40% is still a considerable boost, as the relative value of each additional resistance increases with each point of resistance you already have: Adding 20% to 20% resistance cuts down incoming damage of that type by 1/4. Adding the same 20% to 60% resistance cuts the incoming damage by half! Each point of resistance is worth twice as much as in the previous example.

I worked in the same fashion with other skills: Weaker starts with bumps coming after you finish building for powers. It was in many ways hitting myself with a nerf bat, but also making the future level ups more interesting and worth looking forward to. They also rejoin the other curve and go above them in the 20-30 range which is determined by equipment.

One particular type of skill I worked on was the multiclass proc from Blood Assassin and Fist of Stone: Shred Blood, which procs a bleed not unlike the original ranged Bleed skill, and Quake, which procs a small AoE in melee. Both scale from intelligence, and have a keystone skill improving them. These were also treated as the best passive skills for ranged and melee respectively.

I opted to make them different from each other, and also to open up playstyles which let them scale the damage with dexterity and strength, respectively.

For Blood Assassin, the keystone was the key. Literally. Once that skill is taken, 25 + 10% of dex is added to Shred Blood damage, on top of the entirety of Bleed's damage, which scales with dexterity. As far as I can tell the two are separate effects, and can be stacked on the same target, making it very lucrative for throwers.

For the Fist of Stone, a less complicated approach was taken: Tremor increases tremor chance and adds intelligence scaling to tremor damage, while quake improves on the percent of intelligence, and adds strength scaling of it's own. Looking back at it I'm not satisfied, since all roads lead to going nuts in both of them, whether you want to scale strength or intelligence, but conceptually it's stable and at most needs fine tuning.

All this considered, it was time to take this out for a ride.

Mami the Blood Assassin

Mami's concept was simple: Take the speedrun to Aman'lu as a base, and apply the lessons learned to make a fun blood assassin, with a full blood assassin party. The main technique was machine gunning: using the stop command to cancel the reload of a crossbow, massively increasing rate of fire. Since crossbows are already sporting high base damage, it's easy to see how this is head and shoulders above other ranged builds. It has the strongest nukes, good at triggering procs, and ridiculous base damage output.

For start I played around with Deru, adding Vix when he became available. As usual, my resists were horrendous, and any enemy that could reasonably hit, or autohit from a distance was a threat. Fortunately Bow/Crossbow characters are amazing at stuns, and whenever a nasty target appeared, I'd nuke the entourage with Thunderous Shot and mopped up the rest with machine gunning. This party probably had the easiest time with the Vulks in the southern greylin jungle, and I even caught a lucky break with the King Scorpion rolling as the boss in eastern greylin jungle.

Vix adding a third nuke and another 50% DPS was a welcome sight as well. Some of his points are unoptimized, but thanks to retroactive skill points I still had enough to play with.

In-party specialization-wise Deru and Vix already had their pre-spent points "wasted" in their default passives, so Mami put hers to use with the combat magic passive Debilitate, for stronger curses later on. I have plans of having one of them go into Shred Blood, probably Vix since he already has quick draw, and should be able to get and make use of bleed without too much extra investment. I am not sure about it however, as I'm worried the others will override it even at lowered chances. Still this is to be decided later on, and I might even go digging for the relevant parts later on, since it should be a viable choice by design.

Gearwise I learned from Osric's experience, grabbing vai'kesh figurines easily via the shoplist mod, and slammed them into rings. This made sure I had plenty of death resistance for all the nasty undodgeable things. Sure it ended up with me lacking in fire and ice resists, but such is to be expected this early in the game. All in all it was worth it, especially once the Bone Minions and Windstone Fortress Mages/Sorceresses showed up.

Onto the bosses:

As I said earlier, there was no Ancient Vulk, and the Scorpion was no threat. The Windstone Fortress Grand Wizard usually gave me trouble, but this time withered under the combined take aims of 3 ranged characters, only getting 2 ineffective grave beams off against high resistances. A retake of the fight had me hit by infect, and that almost killed me in 3 ticks. It looks like Infect isn't affected by death resistance. It should be fixed in a later version. It can't be overemphasized how important Spirit Embrace is at this point of the game.

For the act boss, Giant Trilisk was anti-climatic. The black smoke was apparently death damage, and it did less damage than I could heal with potion regeneration. Vitalus had 13k hp, the others had 8k-8k each. Machinegunning ate through them with no problem, and the three Take Aims killed off most of Vitalus' hp. This one will likely need a health boost even if I deal with the machinegunning situation.

Remember, Mami's crit chance is nerfed, and same with both arrow range and later on shockwave minimum range. Her Biting Arrow skill is on par with the unmodded game and a nerf from Vanilla.

Mami will get few hits of the nerf bat and see you in Act 2.

blogs: 

Comments

This is interesting. I was having a chat the other day about multi classing in DS2/BW and I was thinking of the ranged/combat magic specifically. I'm not able to give your blog post a good read right now, but when I log on later I will be able to give it the proper attention.

Smile

I'm more interested in how boromonokli is going to fix this death resistance problem with the infect curse, do go into minute detail about the file\s involved as well as any code changes you make as well as its been a long time since I've been inside those spell files and any other files related to them.

Moros wrote:

I'm more interested in how boromonokli is going to fix this death resistance problem with the infect curse, do go into minute detail about the file\s involved as well as any code changes you make as well as its been a long time since I've been inside those spell files and any other files related to them.

I actually couldn't fix that. I realized it's attack damage modifiers are in fact negative, and are set to follow the damage curve of magic miniboss AoE (base_actor_evil_magic_aoe_miniboss in actor_evil_magic_aoe.gas), which is the following (set in the attack component):

damage_max = 1.25 * ((1.9 * #monster_level) + 7.1) * (1.0 + 0.04 * #monster_level);
damage_min = 0.75 * ((1.9 * #monster_level) + 7.1) * (1.0 + 0.04 * #monster_level);

The spell itself, spell_monster_infect in spl_ds2_monster_spells.gas has this damage modifier and this helpful comment:

// Set Damage Over Time here. DoT is applied every 0.5 seconds for full duration.
// DoT = 1/10th of normal monster damage per second
attack_damage_modifier_max = 0.1 * (1.25 * ((1.9 * #monster_level) + 7.2) * (1.0 + 0.035 * #monster_level)) - (1.25 * ((1.9 * #monster_level) + 7.2) * (1.0 + 0.035 * #monster_level));
attack_damage_modifier_min = 0.1 * (0.75 * ((1.9 * #monster_level) + 7.2) * (1.0 + 0.035 * #monster_level)) - (1.25 * ((1.9 * #monster_level) + 7.2) * (1.0 + 0.035 * #monster_level));

However, our problem boss is the grand wizard, whose template is defined in sharded_petra_male_magic_boss_stats in sharded_petra_soldier.gas, and specializes base_sharded_petra_male_magic_boss, that in turn specializes base_actor_evil_magic_miniboss, with no attack overrides. The attack component for that looks like this, in actor_evil_magic.gas

damage_max = 1.25 * ((4.7 * #monster_level) + 17.8) * (1.0 + 0.04 * #monster_level); damage_min = 0.75 * ((4.7 * #monster_level) + 17.8) * (1.0 + 0.04 * #monster_level);

A significant chunk higher than 10%, right? And this time it was GPG that bungled this, not someone else.

To solve this, I went to the base_sharded_petra_male_magic_boss template, and overrode it's attack to the aoe miniboss formula. To make sure it can still deal damage, I made a copy of the grave beam and replaced the boss' standard grave beam with with it:

[t:template,n:spell_monster_grave_beam_petraboss]
{
doc = "spell_monster_grave_beam";
specializes = base_spell_monster_attack;
[magic]
{
damage_type = dmt_death;
attack_damage_modifier_max = 1.55 * ((1.9 * #monster_level) + 7.2) * (1.0 + 0.04 * #monster_level);
attack_damage_modifier_min = 1.05 * ((1.9 * #monster_level) + 7.2) * (1.0 + 0.04 * #monster_level);
}
[spell_single]
{
cast_ffx = ffx_spell_grave_beam;
}
}

To my surprise, even as I'm overleveled it was dealing decent damage with okay resistances (50-60 without debuff) once infect was applied to my party. From then on it was just going through the rest of the actors and either removing infect from regular mage types, or replacing it on bosses, or fixing the bosses' damage so it won't kill the party.

Retroactive skill point mod:
Indeed there are some skill point related issues in 'Vanilla' DS2, but I am not sure if this mod is a good response to face these matters... - obviously this is not the way GPG wanted to handle t, although I partially can understand the player's reason/interest/desire in this mod.
However at least the mod release I have tested some time ago was quite 'unfinished' - actually the mod checked if a character already has got those quest skill points (there is an explit flag for this) and if not they were given, but unfortunately/carelessly the creator forgot to check if the quests itself were fulfilled (there are spearate flags for this) so bascially every new character got it. Shock
But if this has been fixed meanwhile, please leave a message.

Generally for an automatic give-away of skill points (independing if someone thinks (s)he has deserved it) a litte more sophisticated checks would have been appropriate - even some players may think the 'benefit' of this lack is on the user-side, such unmature mods have a huge (negative) impact on the balancing intension of other mods or maps.
Does it even make sense to talk about the balancing of a tiny feature while having such cheat-like mod installed right from the beginning?

 
Alternate Mod:
LadyFemme had good intensions no doubt, nonetheless
based on Hanker Chief's Patch from 2005 (already with early reagent tunings by the way) Hotfix mod / Aranna Legacy mod was created to go on with fixes and tunings (or check out this overview).

Just to mention - better do not use this mod with 'Retroactive skill point mod' - technically it may (still) work, balancing-wise not so much.
While on longer term +/-20 skill points may not really matter that much (you may have items each with 5-10 skill points), it may have unwanted side-effects on the adaptive difficulty feature - indeed (also) introduced to boost new/weaker characters a bit indepenading on map an quests - but it never was intended to find characters with a 20 skill point overhead.

 
Reagent balancing:
Was always a matter of opinion how it really should work...
Bonus/percentage per square vs. impact/restriction of shape+size vs. enchanting costs vs. availability of reagents and slot-items vs. enchanted item in comparison with unique/set items vs. ...
There a different aspect for sure - decent enchanting costs should be appropriate anyhow, but tricky to handle because it's so hard to set up a 'reasonable' price for it - some players easily may (want to) pay it while others will consider it insane if they can buy/find for much less gold/afford a good item in a (nearby) shop or loot chest.

 
Crossbow vs. Bow
Concerning shockwave - should the damage not depend on the hit damage? - Most probably would think, the harder the shot is, the harder the impact is, the harder the shockwave must be!?
However, I think to remember there was a (technical) issue with overlapping shockwaves (time-critical to block/stop ranged shockwave damage form ranged shockwave damage from ranged shockwave damage from ...).
Also there were some discussions how far penetrating arrows should cause shockwaves - at first enemy/impact only, all penetrated targets too or at last/non-penetrated enemy only?
Related to (cross)bow preference: I have seen cutest and bascially bow-prefering elves running around, equipped however with a crossbow too (in 2nd slot) just to use it for 'Critical Shot' power skill. Shock
...it's probably one of the biggest issued in a game to balance bad style. Wink