Who can tell me how scattering animations work? For example, CHUNKS, EXPLODING_ARM (FOOT etc.)? What controls their scattering? Can parameters be set in the INI file? And how does the game, when it chunks someone, spread him in every direction? The BAM that's played e.g. for CHUNKS has compass facing directions, and if a creature is switched to that animation by hand, only the one corresponding to the current facing is played. But on an explosion not only does the creature's animation get set to CHUNKS (we know that it does because it's possible to restore the animation and it retains the fleshy color), every direction is played simultaneously. Does anybody understand this?
Another question. If I'm reducing magic resistance and fire resistance by 50, what is going to happen to creatures who have no fire resistance? MR is probably safe to push below zero, but won't the fire resistance go all the way around and end up at 127?
Yes, I decided to set it to 50% instead of incrementing.
On a completely different topic, who can tell me if it is possible to retain a projectile in a saved game so that it appears on a reload? "Allow saving" only does what it says.
Yes, I decided to set it to 50% instead of incrementing.
On a completely different topic, who can tell me if it is possible to retain a projectile in a saved game so that it appears on a reload? "Allow saving" only does what it says.
Only "Traps" can be retained, and only if they have not yet triggered.
All right. What about VVC files and the "Translucent shadow" option there? I've been able to use it once or twice before, but I've forgotten how. I can't seem to get it to show anything.
In addition, I'm looking for suggestions for which IDS value to target with Protection from creature type. I need my creature protected from LastAttackerOf, and so I have to change an IDS value of whoever attacks it, but without dire consequences, which would ensue if I changed CLASS, possibly RACE (elf bonuses?), GENDER (limit on summoned creatures, ILLUSIONARY dispelling). SPECIFIC seems like a safe choice, but perhaps I'm not aware of something terrible that happens to MAGIC, NO_MAGIC or NORMAL?
Is it possible to APPEND new entries at racetext.2da?
(I believe that's the correct 2da).
Long story short, I want to make a custom race name appear in a character sheet, not insert a whole new race in the game.
Thanks.
Edit: is this even necessary for a race that is already listed at race.ids ? I mean, giving that race to an NPC will automatically display its race at the character screen?
Tested by Ctrl+Q the Jailkeep Golem and his character sheet displays nothing at the Race entry. Damn.
Here is another question. I conjure crystals that act as magnets for creatures, forcing them to come near via action overrides...
I would like to be able to summon more than one at a time, but then script names become a problem. The crystals are actually creatures with a script name, and when more than one appears, the previous ones lose that reference. The crystals are destructible, so when the last of several shatters, nobody has that script name anymore and all of the remaining crystals become powerless. That's not good. I've been using blocks of this sort:
IF
ActionListEmpty()
See(LastAttackerOf("gingem"))
THEN
RESPONSE #1
SetInterrupt(FALSE)
AttackOneRound(LastAttackerOf("gingem"))
SetInterrupt(TRUE)
END
This forces the slaves of a crystal to protect it, but only if there is a current script name. Any suggestions for getting around this? I suppose I could use a combination of exotic IDS values instead of a script name for the crystals, e.g. ORC/PALADIN/BOTH, and then use that for simpler actions like See(), but will that work for complex commands, attacks?
Is this the correct way of patching FIGHTER_DRUIDs (multi-classed and dual-classed with original class different from DRUID) whose DRUID level is greater than a certain value?
READ_LONG 0x010 flags
READ_BYTE 0x273 class
READ_BYTE 0x0235 level2
PATCH_IF (class == 16) && (flags BAND BIT7 == 0) BEGIN
PATCH_IF (level2 > 4) BEGIN
// something......
I have a couple of questions about some CRE flags (offset 0x010).
1) What's the meaning of Allegiance tracking, General tracking and the like? The IESDP says "related to random walk". Could someone clarify this statement?
2) What's the meaning of Un-interruptable (BIT31)?
Does opcode 233 work with timing mode 0? Can it be a temporary effect?
Yes, however, any temporary amount will be made permanent if you adjust it in the level up screen.
You don't have to keep that selection either - just click + then - and the temp. becomes permanent.
(Not an issue for prof stats that are not used during level up screen)
@Luke93: The "xx tracking" flags affect how the creature random walks. When a tracking bit is set, the walking creature attempts to find another creature within its visual range that has the same IDS value. If it does indeed see one, it will bias its destination towards that creature. Note that it's not perfect; the walker can, and will, walk out of the tracked target's visual range.
Might be an issue with process order - most "Increment" effects are processed AFTER splprot is checked within an effect stack, regardless of effect order.
Incidentally, the process order got me thinking. Does that mean if I tried to get clever and include all the stat checks in a single spell, this sort of thing wouldn't work?
(Each 318 effect checks for a different Charisma score; the idea is that progressively more 233 effects happen as your stat increases. (This is not related to the above problem, however; this is just something I thought to try.))
If those 318's were checking the proficiency stat being modified, and all of the proficiency stat modifiers were increments (not "Set"), they would all use the value of the stat prior to any of those effects taking place. Or if you replaced the proficiency modifiers with charisma (increment) modifiers, all the op318 would use the charisma value before any of those effects took place.
Stat "X" = 0
Opcode: Increment Stat "X" by 1
Opcode: splprot: Stat "X" = 1 returns false
Opcode: splprot: Stat "X" = 0 returns true
Stat "X" = 0
Opcode: Set Stat "X" by 1
Opcode: splprot: Stat "X" = 1 returns true
Opcode: splprot: Stat "X" = 0 returns false
There are exceptions, but this is the general order of set/increment vs splprot.
Once gametime reaches the next "tick", the increments would be properly detected by future splprot effects.
When writing the thief skills of a creature (through WRITE_BYTE) should I input the final value (points invested + racial adjustment + Dex) or only the amount of points invested?
Is this also true for saving throws (in particular for Dwarves and Halflings)?
What about Attacks per Round (in particular for Fighters)? Should I always put 1 independently of the level and pips (opcode #233) in the current equipped weapon?
Comments
@kjeron What is the difference between
0 + (64 * (2 ** 16))
And
0 + (64 << 16)
?
Different method, same results.
On a completely different topic, who can tell me if it is possible to retain a projectile in a saved game so that it appears on a reload? "Allow saving" only does what it says.
In addition, I'm looking for suggestions for which IDS value to target with Protection from creature type. I need my creature protected from LastAttackerOf, and so I have to change an IDS value of whoever attacks it, but without dire consequences, which would ensue if I changed CLASS, possibly RACE (elf bonuses?), GENDER (limit on summoned creatures, ILLUSIONARY dispelling). SPECIFIC seems like a safe choice, but perhaps I'm not aware of something terrible that happens to MAGIC, NO_MAGIC or NORMAL?
(I believe that's the correct 2da).
Long story short, I want to make a custom race name appear in a character sheet, not insert a whole new race in the game.
Thanks.
Edit: is this even necessary for a race that is already listed at race.ids ? I mean, giving that race to an NPC will automatically display its race at the character screen?
Tested by Ctrl+Q the Jailkeep Golem and his character sheet displays nothing at the Race entry. Damn.
I would like to be able to summon more than one at a time, but then script names become a problem. The crystals are actually creatures with a script name, and when more than one appears, the previous ones lose that reference. The crystals are destructible, so when the last of several shatters, nobody has that script name anymore and all of the remaining crystals become powerless. That's not good. I've been using blocks of this sort:
This forces the slaves of a crystal to protect it, but only if there is a current script name. Any suggestions for getting around this? I suppose I could use a combination of exotic IDS values instead of a script name for the crystals, e.g. ORC/PALADIN/BOTH, and then use that for simpler actions like See(), but will that work for complex commands, attacks?
Anyone? Maybe @Bubb or @kjeron ?
No idea about other 2 flags.
You don't have to keep that selection either - just click + then - and the temp. becomes permanent.
(Not an issue for prof stats that are not used during level up screen)
Stat "X" = 0
Opcode: Increment Stat "X" by 1
Opcode: splprot: Stat "X" = 1 returns false
Opcode: splprot: Stat "X" = 0 returns true
Stat "X" = 0
Opcode: Set Stat "X" by 1
Opcode: splprot: Stat "X" = 1 returns true
Opcode: splprot: Stat "X" = 0 returns false
There are exceptions, but this is the general order of set/increment vs splprot.
Once gametime reaches the next "tick", the increments would be properly detected by future splprot effects.
Thanks.
Is this also true for saving throws (in particular for Dwarves and Halflings)?
What about Attacks per Round (in particular for Fighters)? Should I always put 1 independently of the level and pips (opcode #233) in the current equipped weapon?