Jump to content

Scripting for hit-location based armor values


Geeves83

Recommended Posts

Just trying to implement a rudimentary armor/hit-location based mod. Nothing too strenuous involving limbs or anything; just head and everything else.

 

It's always driven me crazy that the DT (or DR for FO3) is just one flat value across the board; the helmet's DT is applied right to the main body and vice versa. This works ok maybe half of the time. But the other half of the time, you get people with completely unarmored heads taking 10 shots to drop (even after liberal bodypartdata tweaks in the GECK) because they're wearing good armor on their body. It seems it's either work with the game's basic and irritating vanilla system, or crank the head damage multiplier super high and make helmets pretty much uniformly useless, whether T-51 helmet or bone-decorated Fiend helmet. Either way ...it kinda sucks.

 

Anyway, I'm trying to figure out a way to do this and I'm kind of bouncing all over the place. I was thinking of just removing the DT from all the helmets in the game altogether, and instead attaching scripts for each one set up to apply a certain amount of DT when the wearer is hit in the head. I wasn't thinking of a completely different script for each helmet, maybe just like a tier system....4 or 5 scripts that you could spread out amongst the helmets in the game.

 

The biggest thing I'm asking here I guess is for scripting experience. I'm just kind of starting to get into it and am pretty unsure how to accomplish this, though I think it could probably be done. Are there any experienced scripters out there who could come up with something like this? Or, am I completely off track; is there a better way to get this result without all this trouble?

Link to comment
Share on other sites

It's been one of my pet-peeves about the series since way back with the first one. Thing was, with the...let's say 'classic'... graphics, your imagination could kinda 'fill in the blanks' so to speak. It didn't bother me so much because it wasn't so clear what was happening. But now, with FO3 and NV, you very clearly see someone who very clearly has an exposed face absorb vast amounts of lead through said face.

 

But yes, that sounds like a good idea, too. The perk system would work for both players and NPC's, wouldn't it? Would you have any idea of the scripting needed? It sounds like it'd be simple, like;

 

--------

Beginonequip

 

player.addperk (perk name)

 

End

 

Beginonunequip

 

player.removeperk (perk name)

---------

 

Loosely, I mean, I'm not sure of the exact commands off-hand. Except that would only work for player, wouldn't it? What would be the fill in for 'player' in 'player.addperk'.....or would you just need addperk?

Link to comment
Share on other sites

You'd need a "Ref myself" at the start and a "Set Myself to (bit for finding ref of npc/player, it's there I just can't recall it)" in the start of the two blocks. Then replace "Player" with "Myself". Could even have 2 or 3 perks and scripts for NCR/legion, Combat/MkII and Power helmets seperately...
Link to comment
Share on other sites

Hmm....ok, I think I'm kinda getting it. The only thing is though, I'm not sure if such an ability is able to be done with a perk. I know there are options to modify damage and DT using entry points, but specifying the hit location complicates things. I originally thought you could just use the "getvatsvalue" and select 'perception condition" for head, but I think that only works for hits in VATS and not real-time. Can anyone else confirm, or, if so, anyone have any other ideas?
Link to comment
Share on other sites

If you've got Fallout 3 handy take a look at the cut "Gray Matters" perk (Complete with US mis-spelling :P). IIRC that causes 25% less head damage, which fits the bill perfectly.

 

Just looked.

 

Data 1 --- Data 2----------- Data 3

Adjust - Limb damage - Multiply value - 0.25

 

Double click that line

Perk Entry

 

Perk Owner

Target -Function ------- Comp - Value

S- - - - - GetHitLocation - == 1.00 OR

S- - - - - GetHitLocation - == 2.00 OR

 

IIRC 1=Head 2=Neck. So power helmets protect your neck whereas combat/NCR ones don't. Hence you only need the first line of the perk entry point for them.

Link to comment
Share on other sites

Well, it seems this just doesn't want to work. I've successfully added a perk that works similar to Gray matters, and a script attached to helmets that successfully adds the perk (only to the player now for testing purposes, as I haven't had any luck finding a universal reference for both player and all NPC's). The problem is that the adjust limb damage entry point only adjusts damage taken to the limb, not the player's hp. So any hit to the head will cause reduced damage to the head bodypart, but still obscene damage to character's HP. There doesn't seem to be an entry point that allows for adjusting of overall damage. There is 'calculate weapon damage', but I can't get it to work (i'm assuming it's for calculating weapon damages of perk holder AGAINST others). I've also tried the modify Damage Threshold, which seems to do absolutely nothing either in the GECK or with NVEdit.

 

Is there anybody out there who would be able to write a script that bypasses the need for a perk altogether? One that says "If wearer is hit in the face, apply (certain number of DT) to damage dealt?" I mean, it doesn't sound that hard, but I'm completely at a loss. I've been going through the GECK website for scripting help all week, but it's just not sinking in at all.

 

(Edit) - Well, I can get the Modify Damage Threshold entry point to work, but only when I don't use the gethitlocation conditions. Kind of a bummer.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...