Jump to content

Loren Tyr

Members
  • Posts

    856
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Loren Tyr

  1. I dug around a bit more to get the details of how it works with the Survival accuracy bonus, but basically it works as follows: when an attack is launched, the AccuracyByRace status effect triggers and adds a temporary +X bonus to accuracy if the targeted enemy is of the appropriate type. Key there is "targeted enemy". Since AOE effects like Chants don't actually target anything, the bonus doesn't happen. This applies generally to any Race Accuracy bonus by the way, it's not just the Survival ones (note that Race Damage bonuses are triggered when an attack hits, so those will apply to AOE effects as well). In summary, only anything that target a specific enemy will get the bonus. It will then also apply to secondary attacks off of those, so eg. Fetid Caress will get the bonus for both the primary Paralyze effect and secondary AOE Sicken effect.
  2. Hmm, it's not entirely clear why (annoyingly, there's a bit of likely relevant code I can't get to properly), but it is definitely my good old friend OneHitUse again. Marked Prey triggers one that adds the +20% while the damage is being computed. But multi-projectile attacks only run the clean-up (which removes the OneHitUse effects at the end of an attack) after the last projectile, which means that each time that damage computation is run for a subsequent hit an additional copy of the +20% gets added even though the previous one is still there. Driving Flight adds a Bounce to each attack. The bouncing attack hits later, but is launched during the original attack, before the next projectile hit gets resolved. Apparently the launch somehow ends up cleaning up those OneHitUse effects as well, this is unfortunately in my disassembler blind spot. I saw the same thing as well with a Powder Burns bug though, so I'm fairly certain it's in there somewhere. Gives me an idea though... ... and indeed, Marked Prey + Blunderbuss = $$$. That's obviously also a multi-projectile hit, so the Marked Prey goes all the way to +120% on the sixth pellet (even if some of the ones before them missed). The Marked Prey procs don't get the DR reduction unfortunately (not from Penetrating Shot either), but still quite nice .
  3. Very nice, thanks. It's probably somewhere in the StraightBounce handling from Driving Flight. I'll root around the code for a bit tonight to see if I can spot what's happenin. After all, I can't very well just not know, now can I?
  4. Hmm, very strange. I just tried in a freshly started game, but I still get the same thing. Attacking a caravan guard (6 Crush DR), I get (after accounting for the 1.5 DR reduction) 2.3 / 11.4 = 0.2, 10 / 25.1 = 0.4 and 7.8 / 13 = 0.6. Could you load up my save (https://www.sendspace.com/file/48m326) and see what happens if you attack one of the Caravan Guards? Now I'm getting curious. Who did you attack anyway, by the way? When I attack any of the regular Caravan members they die on the first missile.
  5. Hmm, getting the scenario for B is actually not as straightforward, because the AI targeting is acting screwy. I moved to a Justiciar as a new candidate, save here: https://www.sendspace.com/file/7u5cig However, when I attack the Justiciar with my rogue (and stop attacking) and Charm him, he keeps on attacking my party. It's not just auto-attacking either, he is actively switching targets and throwing in Knockdowns. In most cases after being Charmed he knocks down the rogue and comes after the squishy Cipher, though in one case he switched to my Cipher early, and only later decided on a Knockdown for my rogue. However, if the Cipher runs left with the Justiciar and kills one of the NPCs there so the others turn hostile, the Justiciar does get the idea and targets one of the hostiles. However, once all the hostiles are dead he happily switches back to attacking the Cipher, so it doesn't seem like just a matter of having pre-Charm planned actions stuck in his action queue. It still might be and flushing the action queue upon Charm could then resolve it, but if not it might be better to add the "can I see visible enemies" I proposed above for the Charm cancelling and actually removing the "do I have a target" that is there now.
  6. Hmm, I seem to be able to trigger the Charm canceling and combat ending quite reliably, for example using this save: https://www.sendspace.com/file/wg860q I just attack the sailor with my rogue, then stop attacking. Cast Whispers of Treason with the Cipher, and soon after the Charm effect is ended and combat restarts. It actually gets a bit weirder though, see the attached screenshot. After the Charm hits the sailor and before it turns back off again, the sailor is actually attacking himself (in that example I used Shadowing Beyond with my rogue, but that turns out to make no difference for either the Charm and combat ending or the sailor's self-destructive behaviour). Quite possibly this is because the sailor has "auto-attack" in his action cue, and it lacking a valid target somehow substitutes himself for that. Regardless of whatever other fixes are applied, it would probably good to reset the Charmed character's action queue after the SwapFaction effect is applied, to make sure weird stuff like that doesn't happen. However, it also demonstrates that the charm+combat ending is actually a different mechanism than the 'normal' premature charm ending. Because the sailor in this case does have a target (even if it is himself), the Charm effect actually doesn't end prematurely. This is also confirmed by having Eder initiate combat somewhere else on the map, and then attacking and charming this sailor. In this second scenario where Eder remains in sight of (uncharmed) enemies, the sailor remains Charmed for the duration of the spell or until he knifes himself to death, whichever comes first (the death-knifing, as it turns out). So what is happening here (in the first non-Eder scenario) is actually that combat ends first, because there are no hostile enemies in sight of my party anymore. Because combat ends all the combat-only effects end as well, including the Charm effect. This turns the sailor hostile again, restarting combat mode. Thus, there seem to be three separate issues that need fixing: A) a charmed enemy potentially attacking himself -> probably fixed by resetting the action queue B) charmed enemies prematurely becoming uncharmed -> almost certainly fixed by the change I proposed earlier in the thread C) combat ending when all enemies are charmed (and immediately restarting again once they uncharm as a result) -> a possibility to fix would be 1) to extend the "no hostiles in sight" time interval; in conjunction with the solution for B) that presumably would turn someone hostile again before this runs out; and/or when this time interval expires, first looping through all the non-hostiles in visible range and removing all Charmed/Dominated/Confused effects on them until there is at least one hostile character again (if any). I'll see if I can find a less self-mutilaty NPC to get a good savegame to produce scenario B as well. Should be able to find one.
  7. Should it still be pending a solution, I have poked around the "Ranger, Power Burns removes the natural DR penetration provided by guns" issue listed in the OP a bit. It turns out that Powder Burns actually removes all weapon enchantment effects that are implemented as OnLaunch StatusEffects (the inherent DR reduction and -25% crit damage, Fine (etc.), Slaying X, etc.). The only enchantments I've found so far that do still work are the Lashes, since those are implemented differently. Stuff like Wounding Shot also doesn't work with it. Presumably this is all tied to these being OneHitUse StatusEffects: the Burn attack actually happens before the original gun attack it's attached to is processed further, so those OneHitUse effects will be cleaned up (at the latest) at the end of that Burn attack and therefore fail to apply to the original gun attack. The only thing I haven't been able to figure is why those OneHitUse effects don't apply to the Burn attack either. In any case, probably the easiest solution would be to attach the Powder Burns trigger to an OnPostDamageDealt event handler (like Blast), rather than the OnAttackHitFrame event handler it's attached to now. This would mean that, like Blast, all those OneHitUse effects would be applied to the Burn as well (including eg. the Hobbling part of Wounding Shot, though not the Wounding), though that could likely be fixed by having the Powder Burns triggered effect call the OneHitUs cleanup function first, before launching the Burn attack.
  8. I checked, Circle of Defense indeed uses the 'all defenses' stat, so will stack with individual bonuses.
  9. That sounds pretty cool, but I can't reproduce this. I've attached an example, highlighting the second hit doing 40% damage. The target has 12 Crush DR, so 3 DR for the Marked Prey effect. The rolled damage values are 34.7, 27.3 and 31.1, with corresponding Marked Prey damage of 3.9, 7.9 and 15.7. Thus we get (3.9+3) / 34.7 = 0.2, (7.9+3) / 27.3 = 0.4, and (15.7+3) / 31.1 = 0.6, so an additional +20% added to the Marked Prey damage percentage every hit.
  10. Of course they'd use loot tables (or something like it), they'd hardly pick it completely at random. IWD 1 in particular had a good mix of random and fixed loot, I'd be very much in favour of having that in PoE 2.
  11. I have a (as far as I know complete) list of attack speed stacking here, should you want an overview: https://forums.obsidian.net/topic/88795-trying-to-figure-out-casting-speed/?p=1837581
  12. I'll check tonight to be sure, but Circle of Defense should indeed stack. Those in-game effect descriptions are almost all generated automatically, so if CoD was four separate buffs it should actually list them separately as well. For the rest, chants and modals like Cautious Attack all fall into the active/modal category, so will suppress/be suppressed by other active/modal effects.
  13. Who says they don't discuss things amongst themselves? Just because it isn't shown, doesn't mean it doesn't happen. That's why I like these kinds of things to be in the background, to be short snippets, partial conversations. Stuff that the protagonist happens to overhear. If instead it gets pushed into a dialogue window, this basically suggests that your NPCs were waiting to have that conversation until the protagonist was close by and listening with rapt attention; like they are having the conversation for the benefit of the protagonist. My point is that I like things to be happening in the world regardless of whether the protagonist is around or not, is paying attention or not (or for it to feel as such, at any rate).
  14. Yup, those stack, since they affect different internal stats (ModifiedStat.Accuracy and ModifiedStat.MeleeAccuracy). You have one for Ranged as well, of course. Actually, there's also another one, ModifiedStat.MeleeWeaponAccuracy (and same for Ranged), those would stack as well. Would have to check which effects affect which version though, they have the same display name so no way to tell from the in-game descriptions.
  15. Inherently, having conversations among NPCs come up in dialogue windows just doesn't feel natural to me, whether they're automatic or through bubbles. Either way, they're still conversations that the protagonist has no part in, it is a backdrop to which (s)he's just a passive bystander, so it makes little sense to force it to the forefront. If it concerns conversations and remarks that are actively directed at the protagonist it would be a different matter, but aside from that it would mostly just reinforce the feeling of a static world that only starts moving when the protagonist gets near.
  16. There isn't a ModifiedStat for "all attributes", so that won't be possible. There is an "all defenses except deflection" though, which would also stack, but I'm not sure that's ever used on active effects (stuff like Faith and Conviction uses it).
  17. Yeah, I'd say so, that does give you a lot of bang for your buck. I think of the non-disabling/mind altering afflictions you can roughly divide them into these categories, with afflictions from different categories being reasonably non-overlapping and per category roughly on descending order of strength (and those separated by / being roughly equivalent): - Blinded, Stuck/Terrified, Frightened/Dazed, Hobbled (Accuracy / Deflection / Reflex / mobility debuff) - Weakened, Sickened (Will / Fortitude debuff) - Distracted, Disoriented (All Defenses debuff, like Barbs of Condemnation will stack with individual Defense debuffs) - Flanked
  18. Why? Personally, I don't want the game to come to a screeching halt whenever party members want to have a chat amongst themselves (walk and talk people, it's not that hard). That doesn't mean I don't want well-defined party members, suggesting that I should just go with hirelings because I don't share your exact preference in this regard is completely nonsensical. And while I certainly think there is room to expand on the level of interjections during conversations, and indeed integrate them a bit more naturally, it certainly shouldn't come at the expense of the background conversation snippets as far as I'm concerned. Both those of party members as well as non-party NPCs. If anything, I hope they rather expand on those kinds of background events, possibly also expand them more into the non-verbal. Makes the game world seem much more dynamic.
  19. Ahhhhhhhhh *headdesk* Testing got a bit befuddling for a second there, as it turns out Barbs of Condemnation stack with everything, that threw me for a bit (it gives a single -5 to the 'All Defenses' stat, rather than four times -5 to Fort, Will, etc.). Anyway, other than that it does seem quite consistent: penalties from drugs, afflictions, spells, of everything I tested so far they all do the expected suppression. Only exception other than Barbs is Flanked, which for some unknown reason stacks with everything as well. So yeah, generally speaking afflictions basically just function as bundles of "active/modal" type debuffs (for example, Prone and Reckless Assault don't stack either), other than for effects and abilities that explicitly depend on a character having a particular affliction.
  20. Blind + Terrified didn't in my test, so I would expect the same for Blind + Frightened (or any other combination of afflictions). It does make the most sense as well I think, it's just applying the standard "active effects don't stack" rule. It may well be that at some point in the past they did stack, though. I recall people being surprised a while ago by Sickened and Weakened not stacking for a big(ger) Fortitude debuff; apparantly those did stack in the past as well. And in fact, them having stacked originally also fits with the whole "Terrified overrides Frightened" thing, and similar affliction hierarchies. Those hierarchical afflictions pretty much affect the same stats, but to increasingly large degrees; under "actives don't stack" rules there would have been no real need to make mention of this (and implement it explicitly like that) since the overriding/suppressing would be automatic. Which further suggests that originally the "actives don't stack" rule didn't apply to afflictions.
  21. As far as I'm aware all Afflictions function just like any other active effect: the strongest penalty counts, they don't stack in any way (plus the explicit suppression thing of for example petrified > paralyzed > stunned, etc.). For example, I just tested Repulsive Visage plus Blindness, looking at Accuracy. The target enemy had 30 Accuracy, which dropped to 9 after Repulsive Visage (Sickened: -1 PER; Terrified: -20 ACC). Adding Blindness then dropped Accuracy to 1 (Blinded: -25 ACC, -4 PER), so the two penalties from the Blindness superceded the existing ones rather than stacking with them.
  22. Eternity Keeper is a savegame editor like Shadow / Dale Keeper, yeah. Oddly, I was now able to load this save in it, so I set the accuracy values to their correct values. The resulting save game is nonsensically large (EK doesn't recompress them), but that shouldn't be a problem and will go away in new saves. Like I said though, there is no way to tell to if any other issues will surface. I wouldn't expect this accuracy issue to come back in this save (though can't be sure; if you do continue this save, I'd keep an eye on it), but there might be other stuff that's retained in the save game that doesn't match and/or is incompatible with the current game. One example of the former I noticed is that the Defender ability on Eder in your game still gives the base +10 to every Defense (they removed that since, so it shouldn't actually do that). Edit: helps if I add the link, of course: https://www.sendspace.com/file/6m2wje
  23. Yeah, that does slightly complicate it further. Basically, what CG does is set up an AOE effect that pulses every 3 seconds, starting at 0 (there are no partial pulses here though). An ally hit by the pulse will get a "Healing DoT" (HoT?) of base 1s. So in your example the total duration is 34s, so we get 12 pulses in total. The full PerTick value of the HoT is +8.68 Endurance, so the fractional tick will give 1.7/3 x 8.68 = 4.92 (and 8.68 + 4.92 = 13.6, the listed total; these numbers don't count any additional +X% healing done/received by the way, those don't show up in the effect description). The Priest himself will of course always be hit by the CG pulses, so for him it will look something like the following. 0s [pulse] [Priest +8.68 END] 1.7s [Priest +4.92 END] [Ally A moves next to Priest] 3s [pulse] [Priest +8.68 END] [Ally A +8.68 END] [Ally A moves away again] 4.7s [Priest +4.92 END] [Ally A +4.92 END] 6s [pulse] [Priest +8.68 END] 7.7s [Priest +4.92 END] ... 33s [pulse] [Priest +8.68 END] 34.7s [Priest +4.92 END] He could thus be healed for a maximum of 12x13.6 = 163.2 Endurance. For allies it will obviously depend on whether they stay close to the priest. They need to be close enough to the priest when the CG pulse goes off to get a new HoT, they can't just walk away after CG was cast. Though conversely, they don't need to have been near the priest when CG was initially cast to get part of the benefit, they can just move closer later on.
  24. Googling around a bit it isn't exactly clear what Mono version they're using, but I do see quite frequent references to Unity being rather behind the curve in that regard (something with licensing, apparently), so that sounds about right. Anyway, haven't seen any LINQ queries in the code; not sure to what extent those would recognisably survive compilation and disassembly though. Anyway, I seem to recall that PoE 2 will use Unity 5, so that should be an improvement. Though hopefully they'll also change their general code architecture, keep it a bit more relational. Should help keep the bugs out.
  25. Quite possible. I generally just stick to icpc myself :D. Would a newer version of Mono change much about that function signature then? Assuming we'd want the same four (kinds of) input parameters and function behaviour?
×
×
  • Create New...