Search Results
Searched for posts by 4zb4 in all forums

Showing results 101 - 110 out of 981 total
Modify your search
Posted by 4zb4, Oct 6, 2016 at 8:22 pm
We could put blunt damage aside for another day (if we really wanted to do it), but in the mean time Sound damage is much simpler to handle since it's just another element.
On the subject of separate calculations for blunt damage, at the very least there's already a framework in place for blunt/sharp/piercing weapons that we could take advantage of, but it's only used to print different messages to the message log currently.

I think we should just mock up some test branches, compile them and see which approach works best in an actual game - flat resistance via script files, separate sound damage resistance based on material density and flexibility, or a combination of both?

Also as it is, the displayed AV value isn't really that helpful or informative at all since it's a number with no context other than "this armor has a bigger number so it must be better".
Posted by 4zb4, Oct 6, 2016 at 6:47 pm
I think it wouldn't hurt to have the SoundResistance value in the script files - that way if we wanted to have magical items that boost sound resistance it'd be easier to code them in (Ring of Sound Resistance for example).
But I also like the idea of having a function to calculate sound resistance based on the material's physical properties...

I'm currently looking into what reduces the impact of a shock wave in real life and it's looking more like the more stuff you have in the way between you and the shock wave, the better.
Bomb suits for example have a big layer of foam, which goes squishy (flexible!) when hit by the wave and causing the force to disperse as much as possible before it impacts the guy inside the suit.
But it also has a ballistic plate made of thicker materials which helps in the same manner while also protecting against shrapnel.

From this I'd think flexibility is the main factor, but we should maybe also consider material volume (or density) instead of strength? Material strength could just be used for determining whether the item breaks rather than reducing the sound damage - or if it does, it doesn't have as much of an impact as Volume and Flexibility.
Posted by 4zb4, Oct 6, 2016 at 5:50 pm
Ischaldirh wrote
This seems like a much simpler solution. Can we make some (soft) materials resistant/immune to sound-type damage?

We could go with my earlier suggestion of just slapping sound resistance onto certain materials' script entries.
The changes in the source code to handle it would also be relatively small.

Of course we'd then need to brainstorm just how resistant we want certain materials to be, and do some field testing!
Posted by 4zb4, Oct 6, 2016 at 4:54 pm
capristo wrote
I thought that was already the case? I have never seen leather items break from the Enner's screams

Just ran a quick test and found that they can in fact break from being yelled at.
Also, I'd hope people have stronger stuff than leather by the time they get to the Enner but RNG can be cruel.
Posted by 4zb4, Oct 5, 2016 at 6:41 pm
Ischaldirh wrote
Is there a way to specify if an *item* is resistant to a type of damage, without transferring that resistance to someone wearing the item?

Technically yes although it's going to start getting pretty complicated.
We'd need to change some code to allow items to calculate their own resistance when they take damage first - currently they don't reduce the damage they take by any means, because their "take damage" code doesn't check for resistance to certain damage types.
All they do currently with respect to damage types is check whether they can be broken - only physical, sound, acid and energy damage can break an item.

(Of course there's also separate code for checking whether an item bursts into flames when it takes fire damage)

As for making sure the player doesn't inherit the resistance... hrmm that's going to be quite a bit more difficult because the GetTotalResistance() code for a humanoid character always takes into account the armor or items the player is wearing on the bodypart that's taken the hit.

I'd have to have a think about it, currently the only thing jumping to mind is having some kind of unique flag or value in the script file that alerts the code that this items needs a fat boost to resistance against a given damage type when it gets hit, completely separate from its innate damage resistance.
Something like this:
helmet
{
   CONFIG SOUNDPROOF
   {
    BitmapPos = 64, 64;
    Possibility = 5;
    MainMaterialConfig = { 7, STEEL, METEORIC_STEEL, DRAGON_HIDE, ARCANITE, MITHRIL, OCTIRON, ADAMANT; }
    MaterialConfigChances = { 7, 100, 25, 25, 25, 25, 10, 5; }
    HelmetBitmapPos = 112, 496;
    Adjective = "soundproof";
    SoundResistance = 0;
    SelfishSoundResistance = 100;
   }
}

Where the above "soundproof" helmet has 0 sound resistance that would be passed on to the player, but 100 for itself that would be taken into account when it gets hit by an enner beast scream.
i.e. The helmet itself is soundproof...
Posted by 4zb4, Oct 5, 2016 at 5:50 pm
Ischaldirh wrote
All in all it sounds more complicated than it's probably worth? Idk.

There's actually damage types in the game, but most of them don't do anything but change the language used when a character takes a hit.

In the case of enner beast screams, they do SOUND damage so we could write our own little code for how to handle it without much trouble.
There's a check for what kind of damage resistance a character or item has:

int character::GetResistance(int Type) const
{
  switch(Type&0xFFF)
  {
   case PHYSICAL_DAMAGE:
   case SOUND:
   case DRAIN:
   case MUSTARD_GAS_DAMAGE:
   case PSI:
    return 0;
   case ENERGY: return GetEnergyResistance();
   case FIRE: return GetFireResistance();
   case POISON: return GetPoisonResistance();
   case ELECTRICITY: return GetElectricityResistance();
   case ACID: return GetAcidResistance();
  }

  ABORT("Resistance lack detected!");
  return 0;
}

As you can see, the elemental damage types call their own functions to return the amount of resistance any given character has for them - currently this is solely based on values given in Material.dat.
If we wrote in "case SOUND: return GetSoundResistance()" we could then write our own "GetSoundResistance" function which calculates resistance based on material flexibility or alternatively, define a sound resistance value for certain materials in Material.dat.

Currently the only reduction to sound damage is, in fact, your AV.
Posted by 4zb4, Oct 5, 2016 at 2:26 pm
My interpretation was that his voice is so loud, it's actually sending shockwaves through the dungeon.
Which would be why it causes damage to anything hit by it, and why it's particularly good at breaking glass.
Posted by 4zb4, Oct 5, 2016 at 6:19 am
While we're on this subject, is there any truth to full-helmets "ringing" like a goddamn bell when they get hit?

Further than that, if we're going to be going whole-hog on helmets, then regardless of whether that's a thing that actually happens or not, a helmet made of a metalic material should ring when you're hit in the head and have a chance to cause confusion.
Or at least print a message. Pretty sure getting hit in the head can cause confusion in the first place. And memory loss too!

Alternatively it could be restricted to a unique variant of Valpurus striking you with a hammer for bothering him, triggered only while wearing a metal full helm.
"Valpurus smites you with a small hammer, causing your helmet to ring like a church bell!"
Posted by 4zb4, Oct 4, 2016 at 3:31 am
You're right about the old lore stuff, but that's never really touched upon in-game. Hence why I only mentioned Valpurus (who is said to carry the world on his back) and Silva who I think was referred to by one of the Tweraif people but not sure.
Here's the wiki article I put together on that particular subject, from the old dev documents.
Posted by 4zb4, Oct 3, 2016 at 5:44 pm
I think part of the issue is that the most powerful (mortal) person in the entire game as it currently exists is Petrus so we don't really have anything to aim higher for except the gods.

Ischaldirh wrote
I suppose I could see an ending where you become the avatar of a deity - effectively becoming their impersonation on the physical realm... Or perhaps gaining divine immortality and some sort of demi-god status.

I think the current "best" endings currently fill this role, or come close, since they involve becoming the champion of either Mortifer or Valpurus.
I'm personally thinking the next logical step up the ladder is to challenge them, or the other gods.
Maybe something less silly than fighting a god would be to become the champion of X god, and then beat down the champion of Y god on the other end of the good/evil scale?

Ischaldirh wrote
But actually facing - and slaying - an immortal, divine being? I dunno. I just don't see it.

That's what makes it an ultra-ending. It's near impossible and ridiculous.
Facing a god is easy enough, especially given the whole physical presence thing for a few of them. As it is, Valpurus can severely damage you by doing even less than shrugging his shoulders.
Beating them in combat is an entirely different story, and should be so insanely unlikely that doing so deserves a unique ending.

We also don't know that they're immortal, because the game lore doesn't elaborate. Hell, we don't even know how the gods work other than the fact that they can conjure up (or teleport in) items, limbs and NPCs out of nowhere when you ask them to.
For all we know Infuscor is an insanely powerful dark mage who locked herself in some arcane library and communicates via world-spanning ESP.


As a side note, I'm not trying to be instantly dismissing of your ideas because I do think they have merit. I just think that having a ridiculously over the top scenario for the best possible score multiplier ending in the game would be super cool.
I also like the idea of, say, any character being able to approach a God and instantly being fried for so much as looking at them the wrong way without proper preparation.