Thanks for the PM - nice to know you are still around.
As well as the question I asked you by PM;
I've been looking through the logs to see how damage is done both from your party members to mobs and mobs to your party members.
Did I catch it correctly, that the attack log is just characters -> monsters and you can't see what mobs are doing to characters? Is there an option for that. I'm trying to ascertain the usefulness of shields as well as exactly how sharp damage is calculated (type 04).
I found this over at https://gamefaqs.gamespot.com/snes/5882 ... faqs/33244
For the purpose of that, does it average across all your worn pieces? ..and does it consider an empty slot as 0 SR? Do mobs target a particular body part and it uses the SR of that slot?- Sharp Resistance (SR): A 0..7 value which is used when monsters have a "sharp" attack. Sharp attacks use the following format to calculate armor: (Sharp Resistance / 7) * Armor Strength, so if the Sharp Resistance value is 0, a creature having a Sharp attack will ignore your armor.
Still the damage log from chars is an eye opener. If I decipher the log correctly;
D4W is the monsters armour value.
D6W is your attack probability.
D7W is your potential damage
(I did not realise this) a negative value modifier is derived from your currentLoad/Maxload?
Low limit and high limit are both random numbers but I don't see how they effect the jump from quickness to finalquickness
Here is a block from a recent forray
What's the math turning quickness 43 to finalquickness 21?BOB attacks from 02(14,12) to 02(13,12)
Attack type = 13 = SWING
Skill number required = 04
Byte20046[attackType=13] = 2
staminaCost = Byte20046[attackType=13] + Random(1) = 2
experiencedGained = Byte20178[attackType=13] = 6
Enter AttackWithPhysicalForce (attackType=13, skillNumber=4)
D6W=Byte20002[attackType=13]=32
D7W=Byte19958[attackType=13]=16
Calling DeterminePhysicalAttackDamage(character, monster, D5W-1, D6W, D7W, skillNumber)
Entering DeterminePhysicalAttackDamage(char=0,monster,P4=1,P7=32,P8=16,skillNumber=4)
levelDifficulty = 1
pi26 word2 &0x40 == 0 or vorpalOrDisrupt
Entering function to determine character's Quickness
quickness = (Dexterity=42) + (random(8)=7) --> 49
About to compute Maximum load
Loading effect=(quickness/2)*(load=133)/(maxload=470)-->6
Subtract loading effect from quickness -->43
Low Limit = random(8) + 1 --> 8
High Limit = 100-random(8) --> 100
Final quickness = 21
character's quickenss = 21
required quickness = (pi26.uByte8[4]=41) + (random(32)=24) + (levelDifficulty=1) - 16 = 50
Enter IsCharacterLucky (BOB , (luckNeeded=43))
Returning 1
Attack was successful because IsCharacterLucky returned true
D7W = Throwing distance=49
D7W = D7W+random(D7W/2+1) = 56
D7W = D7W*(P8=16)/32 = 28
D4W = (i26->uByte8[0]=28) + (levelDifficulty=1) + (random(32)=11) = 40
D7W = D7W + (random(32)=14) - (D4W=40) = 2
D6W = D7W = 2
Divide D7W by 2 --> 1
D0W=random(D7W) --> 0
D7W += (random(4)=2) + (D0W=0) --> 3
D7W += (random(D7W)=2)--> 5
Divide D7W by 4 --> 1
D7W += (random(4)=2) + 1 --> 4
Enter DetermineMastery(hero=BOB, skill=4)
Extract two flags from skill number.
flag8000 = skill&0x8000 --> 0
flag4000 = skill&0x4000 --> 0
SkillNumber = 4
Mastery = log2(Experience=258) --> 3
Mastery of skill 4 is 3
D0W = ((D7W=4) * (Bits8_11(i26.word16)=1)/16) + 3 --> 3
AdjustSkills((skill=4), (D0W=3))
Decrement Stamina by random(4)+4 = 5
w_2 = DamageMonster() --> 4
PhysicalAttack returning D7W = 4
Word20264 = Result of calling DeterminePhysicalAttackDamage = 4
Return 1
I think I'm correct in saying what you need to hit against is monsterdefense (pi26.uByte8[4]) + rand(32) + leveldifficulty - 16
Then that if you do hit, you have to do a "your" dmg vs the monsters armour (with quite a few rands in there too)?
Is it also correct that there are 3 chances to hit, quickness, check vs luck and then a 1 in 4 chance of auto hitting?
Checking this against the giant wasps - I see their values here are insane (150 defence and 180 armour - higher than even the dragon for both!) which is why they have 0 fire and poison resist I guess.
Cheers!
Nick.