Movement Speed?

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • NCountr
    replied
    Originally posted by backwardsEric
    NCountr, which version are you running? There was a change in 4.2.2 so that the side effects looked at the damage reduced by resistances; in 4.2.1 the side effects used the unadjusted damage. In 4.2.0 there was an indexing error that could mean a resistance was not correctly applied; that was fixed in 4.2.1.
    4.2.1 -- that would explain a lot. But, I'm looking at the 4.2.2 source. So, I'd have to see where that structure's data gets populated. I assume that's in effects.c somewhere.

    Leave a comment:


  • wobbly
    replied
    Originally posted by Ed_47569
    I am pretty sure all of these have been in the game since 2.4 (Frog-Knows). I wonder if any of the old Warwick people who might lurk on this forum could confirm?

    As for the stat-drain with elemental breaths, I remember that being a thing around version 2.5.x or 2.6.x when Charles Swiger was briefly the maintainer. I think that was removed by Ben for 2.7.x. In any case, it's so rare that it is almost inconsequential. By the time you encounter such attacks you will have plenty of options for restoring stats.
    All the old versions from frog-knows on are still on Rephial, along with release notes. The elemental stat drain happened in 2.6.2 for instance. Morgoth didn't gain breathe time till 4.2.3
    I'm on my phone so I can't download and check the monster list for frog knows, but they were centainly a thing in 2.9.3 and came in bigger pack sizes. Aparently dholes almost became a thing in one of the early versions. They're around in the henglikes if anyone feels like correcting the missed opportunity.

    Leave a comment:


  • backwardsEric
    replied
    NCountr, which version are you running? There was a change in 4.2.2 so that the side effects looked at the damage reduced by resistances; in 4.2.1 the side effects used the unadjusted damage. In 4.2.0 there was an indexing error that could mean a resistance was not correctly applied; that was fixed in 4.2.1.
    Last edited by backwardsEric; July 6, 2021, 08:06. Reason: inserted comma

    Leave a comment:


  • NCountr
    replied
    As far as I can tell..

    I haven't gotten very far in my research, but it seems like context->dam is not reflecting ANY resists.

    E.g., when I get hit with a Cold attack by anything powerful, I automatically take inventory damage. I.e.,
    inven_damage(player, PROJ_COLD, MIN(context->dam * 5, 300));
    is always ringing true, regardless of resists.

    Tomorrow, I'll spend some more time and have it print out what it thinks the damage value of context->dam actually is. I'm betting it's unfiltered, raw damage amounts. I don't think it is even checking for Resists, just Immunities.

    Leave a comment:


  • NCountr
    replied
    These vax shots aren't worth a darn.

    Originally posted by Nick
    Bile demon is going to be breathing poison for 800, so single resisted would be 266 and double-resisted 88. The relevant side-effect code is
    Code:
    		if (randint0(context->dam) > 200) {
    			msg("The stench sickens you.");
    			effect_simple(EF_DRAIN_STAT, source_none(), "0", STAT_CON, 0, 0, 0,
    						  0, &context->obvious);
    		}
    As far as I can see this means context->dam must be > 200, which makes it look like damage adjustment is not working correctly. It shouldn't be a cap not being applied issue, as uncapped the unresisted damage at full HP would be 808. I don't suppose you noticed how much damage the breath was doing?
    My character takes as little as 13 damage from poison and I'm still getting the Covid.

    Leave a comment:


  • Nick
    replied
    Originally posted by NCountr
    So, how is that not Speed +10, then?
    The main thing is it only applies to movement, where Speed +10 applies to all actions.

    Leave a comment:


  • Pete Mack
    replied
    Because moves are steps, and moves are applied AFTER speed, so a +1 moves player with +10 speed. can walk or run 4x faster than normal speed. This is exactly how shots work, though shots are in units of 0.1 (4.2.0 and later only.)


    Originally posted by NCountr
    So, how is that not Speed +10, then?

    Leave a comment:


  • Nick
    replied
    Originally posted by NCountr
    Confirmed. Bile demon with double-resist Poison up, still losing CON on each breath. I'll look at the code in a bit. Maybe I can locate the logic-bug.
    Bile demon is going to be breathing poison for 800, so single resisted would be 266 and double-resisted 88. The relevant side-effect code is
    Code:
    		if (randint0(context->dam) > 200) {
    			msg("The stench sickens you.");
    			effect_simple(EF_DRAIN_STAT, source_none(), "0", STAT_CON, 0, 0, 0,
    						  0, &context->obvious);
    		}
    As far as I can see this means context->dam must be > 200, which makes it look like damage adjustment is not working correctly. It shouldn't be a cap not being applied issue, as uncapped the unresisted damage at full HP would be 808. I don't suppose you noticed how much damage the breath was doing?

    Leave a comment:


  • NCountr
    replied
    Originally posted by Pete Mack
    Whatever your speed, 2 steps at +1 moves takes 1 player turn. At +2, you get 3 steps. I dont know why you find this difficult.
    So, how is that not Speed +10, then?

    Leave a comment:


  • NCountr
    replied
    The stench sickens you.

    Originally posted by Nick
    OK, here's the code for the powerful attack side-effect:
    Code:
    	/* Occasional side-effects for powerful cold attacks */
    	if (context->power >= 80) {
    		if (randint0(context->dam) > 500) {
    			msg("The cold seeps into your bones.");
    			effect_simple(EF_DRAIN_STAT, source_none(), "0", STAT_DEX, 0, 0, 0,
    						  0, &context->obvious);
    		}
    context->power is the spell power of the monster, or 80 if the monster has the POWERFUL flag. context->dam is damage after adjusting for resistance - if you have double resist, that random value can only be more than 500 if the original damage is more than 4500, which is well over the 1600 cap on cold damage.

    So the other possibility is that damage isn't being adjusted correctly. I can't absolutely rule that out, but that function has been essentially unchanged for 4 years, and I would expect it would have been noticed before. I've checked where temporary resists are applied, and that also looks OK.

    On the other hand, maybe your temporary resist had run out without you noticing, or maybe you had a curse giving cold vulnerability.

    Has anyone else experienced this issue?
    Confirmed. Bile demon with double-resist Poison up, still losing CON on each breath. I'll look at the code in a bit. Maybe I can locate the logic-bug.

    Leave a comment:


  • Nick
    replied
    Originally posted by NCountr
    Incorrect. I had double-resist on at the time, so the code's broken or the algorithm is.
    OK, here's the code for the powerful attack side-effect:
    Code:
    	/* Occasional side-effects for powerful cold attacks */
    	if (context->power >= 80) {
    		if (randint0(context->dam) > 500) {
    			msg("The cold seeps into your bones.");
    			effect_simple(EF_DRAIN_STAT, source_none(), "0", STAT_DEX, 0, 0, 0,
    						  0, &context->obvious);
    		}
    context->power is the spell power of the monster, or 80 if the monster has the POWERFUL flag. context->dam is damage after adjusting for resistance - if you have double resist, that random value can only be more than 500 if the original damage is more than 4500, which is well over the 1600 cap on cold damage.

    So the other possibility is that damage isn't being adjusted correctly. I can't absolutely rule that out, but that function has been essentially unchanged for 4 years, and I would expect it would have been noticed before. I've checked where temporary resists are applied, and that also looks OK.

    On the other hand, maybe your temporary resist had run out without you noticing, or maybe you had a curse giving cold vulnerability.

    Has anyone else experienced this issue?

    Leave a comment:


  • Pete Mack
    replied
    Whatever your speed, 2 steps at +1 moves takes 1 player turn. At +2, you get 3 steps. I dont know why you find this difficult.

    Leave a comment:


  • NCountr
    replied
    Originally posted by archolewa
    I ask again, *why are you here*?
    I could give a cryptic answer ala Nick here, but I'll give you a terse answer: to improve the game.

    I don't see why being chummy is a prerequisite to that end. Seriously, how far has that gotten the game in the past few years?

    Leave a comment:


  • NCountr
    replied
    Originally posted by Nick
    It's like extra shots, but for movement. +1 movement speed will mean that each step you walk will take 1/2 the energy it normally does; +2 will make that 1/3. Many game mechanics don't have explicit description of how they work, just a suggestive name and the rest is for the player to discover.

    ½ the energy? How much "energy" does it take to take a step normally?
    For all the belly-aching about Newb Traps, how about Inexplicable Senior Moments? Where is this "energy" defined?

    Leave a comment:


  • Nick
    replied
    Originally posted by NCountr
    Sure, I'm in the Peanut Gallery, but aside from Nick, who isn't?
    Well, there's these people.

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎