IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Monster Attack Formulas, *Spoiler* !Warning! *Spoiler*
GaiaCaT
post Jul 23 2005, 08:14 PM
Post #1


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



Some formulas used are simplified for easy calculation. Real ones can be found at bottom.
SpawnLevel = First Dungeon Level, the monster spawns on ("Level" Value in Wabbits Editor)
MonGuildLvl = Monster Guild Level ("Guild Lev" Value in Wabbits Editor)

Order of the Attack
Pre-Attack:
1) Breath
2) Acid

Attack:
1a) Spell, if cast, jump to Electrocute
1b) Melee, max 5 attack attemps

Post-Attack:
1) Electrocute
2) Age
3) Drain
4) Stone
5) Poison
6) Disease
7) Destroy Item
8) Steal

Monster Melee Damage Formula
1: Get Monster DamMod ("Damage" Value in Wabbits Editor)
2: -0.5 if Target is invisible and Monster can't see invisible
4: +0.75 if Target is opening Chest
3: + 2 if Critical Hit, Chance of doing a Crit is 2-50% if Monster can Crit
4: + 1 if Backstab, Chance of Backstabbing is 4-75% if Monster can Backstab
6: +0.1/-0.1 per size bigger/smaller than Target
7: if DamMod is > 1, then DamMod = DamMod - LN(DamMod)^2

BSV = Int(MonStrength - (LN(MonStrength) * ((LN(MonStrength) - 2.4) * 2.25))) + 1
StrMod1 = Int((Rnd * ((BSV + 10) / 2)) + ((BSV + 10) / 4)) / 10
StrMod2 = BSV/30

LvlMod = (LN(MonGuildLvl + 5) + 1) / LN(1.2)

Base Damage = LvlMod * StrMod1 * StrMod2 * DamMod
Final Damage = Base - Random[0 to Int((CharDef-MonAtk)/8)]

Monster Chance To Hit
If MonAtk = CharDef: %Chance = 50
If MonAtk > CharDef: %Chance = 50 + (50 * (MonAtk - CharDef) / MonAtk)
If MonAtk < CharDef: %Chance = 50 - (50 * (CharDef - MonAtk) / CharDef)
Minimum 2%, Maximum 98%

Acid Attack
CharCurrentGuildLvl > MonGuildLvl * 1.25: Chance = 90%
CharCurrentGuildLvl < MonGuildLvl * 1.25: Chance = 10%
Else Chance = 50%

Minimum = (LN(MonGuildLvl) + (MonGuildLvl/15)) * 4.55
Base Damage = Minimum + Random[0 to Minimum]
Then every 10 Character Levels = -0.7 Dam (is -0.07 Dam per Level, but approx is easier)
Final Damage = Base Damage * (1 - Resistance/2) (Yes, resistance only half effective)

Breath Attack
CharHighestGuildLvl > MonGuildLvl * 1.25: Chance = 80%
CharHighestGuildLvl < MonGuildLvl * 1.25: Chance = 20%
Else Chance = 50%

LevelMod = MonGuildLvl * LN(MonGuildLvl)
Minimum = Int((LN(LevelMod) + (LevelMod / 15)) * 1.1375)
Base Damage = Minimum + Random[0 to Minimum*2]
Character Level has basically negligible effect, Lv 1 vs 999 is a 5-12 Damage Reduction difference here.
Final Damage = Base Damage * (1 - Resistance/2) (Yes, resistance only half effective)

Will hit Targeted Character and all his/her Companions.

Electrocution Attack, requires successful Spell/Melee Attack
CharLvl > MonGuildLvl * 1.25: Chance = 90%
CharLvl < MonGuildLvl * 1.25: Chance = 10%
Else Chance = 50%

Minimum = (LN(MonGuildLvl) + (MonGuildLvl/15)) * 4.55
Base Damage = Minimum + Random[0 to Minimum]
Then every 10 Character Levels = -0.7 Dam (is -0.07 Dam per Level, but approx is easier)
Final Damage = Base Damage * (1 - Resistance/2) (Yes, resistance only half effective)

Age Attack, requires successful Melee Attack
%Chance = (100 + SpawnLevel * 2) - (CharacterConstitution * 2.5)
Aging = 1 to [lowest of: 1825 and MonGuildLvl * 7.3] days

Drain Attack, requires successful Melee Attack
Drain Attemps = Random[1 to CInt(SpawnLevel / 2 + 0.5)]
Drain = 1 Random Stat or -2 Max HP
%Chance = (100 + SpawnLevel * 2) - (CharacterConstitution * 2.5)

First check against Resistance, if attack is not resisted, then check chance.

Stoning Attack, requires successful Spell/Melee Attack
%Chance (minimum 5%) = (100 + SpawnLevel) - (CharacterConstitution * LN(CharacterConstitution) * 1.09)

First check against Resistance, if attack is not resisted, then check chance.

Poison Attack, requires successful Melee Attack
Poison Level = SpawnLevel (higher level poison takes longer to wear off)

Check against Resistance, if attack is not resisted, apply Poison

Disease Attack, requires successful Melee Attack
Disease Level = SpawnLevel (higher level disease takes longer to wear off)

Check against Resistance, if attack is not resisted, apply Disease

Paralyze Attack, requires successful Melee Attack
%Chance (Minimum 5) = 100 - (Resistance + CharacterConstitution)


Real Formula for Breath Attack:
LevelMod = Int(MonGuildLvl * LN(MonGuildLvl + 1))
Modifier1 = Int(((((LN(LevelMod) + (LevelMod / 15)) / LN(1.08)) - (CharGuildLvl / 20)) + 1))
Base Damage = Int(((Int(((Rnd * Modifier1) + 1) / 2) + (Modifier1 / 4)) * 0.7) / 2)

Real Formula for Acid/Electrocution Attack:
Modifier1 = Int(((((LN(MonGuildLvl + 1) + ((MonGuildLvl + 1) / 15)) / LN(1.08)) - (CharGuildLvl / 10)) + 1))
Base Damage = Int((Int(((Rnd * Modifier1) + 1) / 2) + (Modifier1 / 2)) * 0.7)


*edit*
Corrections and modifications added.
Stuff cleaned up, thanks Nudibranch :x

This post has been edited by GaiaCaT: Jul 29 2005, 10:42 AM


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
aardless
post Jul 23 2005, 10:53 PM
Post #2


Goblin Shaman at work (used to be: on strike...)
**********

Group: Admin
Posts: 5,406
Joined: 27-September 04
From: Somewhere on level 3, staring at the light
Member No.: 18
referrer::yahoo:



QUOTE (GaiaCaT)
Aging = 1 to 1825 Days (5 years)
Max Aging = MonsterLevel * 7.3

Huh, what's the relation between the two equations? huh.gif

And a level 15 monster makes 8 draining attempts every round? shocked.gif Giant soloers (or anybody else without the spell drain resist) are doomed.


--------------------
If money doesn't grow on trees, why is it that banks have branches? - sig of a guy on a chinese forum

Most off-topic topics are off-topic - fart642000
Go to the top of the page
 
+Quote Post
GaiaCaT
post Jul 23 2005, 11:21 PM
Post #3


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



Aging needs cleaning up, yes, I suck at presenting math ^^
It should be 1 to [lowest of: 1825 and MonLvl * 7.3] days

Cloaks and Amulet of Life offer Drain Resistance.
I'd be more worried about Stoning and Paralysis.
And I don't think Level 15 was supposed to be nice and easy.

Mmmm, Need to clarify in post:
The Special Attack checks are for each group, not each monster.
So fighting one group with 5 Vampire Lords will result in 8 Drain Checks per round, not 40.

Further decrypting:
It looks like Age/Drain/Poison/Disease/Paralyze is only checked with 1st group of monster.
Can anyone confirm this?

This post has been edited by GaiaCaT: Jul 24 2005, 12:31 AM


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
Nudibranch
post Jul 24 2005, 04:24 AM
Post #4


Fire Master
*********

Group: Mordor MP Prog
Posts: 1,613
Joined: 19-November 04
Member No.: 71
referrer:search



I'm a little confused over the terms "MonLvl" and/or "MonsterLevel"; are these the variable that ranges from 1-999? If so, I'd suggest "MonGuildLvl". "SpawnLevel" works well for the value that ranges from 1-16.

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Final Damage = Base Damage * Resistance/2  (Yes, resistance only half effective)


I'm guessing that should be Final Damage = Base Damage * (1 - Resistance/2) wherever it appears in the thread...

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Breath Attack
CharLvl > MonLvl * 1.25: Chance = 80%
CharLvl < MonLvl * 1.25: Chance = 20%
Else Chance = 50%


Ahhh, this must be what DA was referring to in the HelpLesson when he said "Monsters will use their breath attack more often if they feel threatened" -- if your guild level is high, they'll resort to Breath (and Acid) attacks more often, and less often if it's low.

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Character Level has basically negligible effect, Lv 1 vs 999 is a 5-12 Damage Reduction difference here.


It'd still be nice to see that portion of the formula if you know it.

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Electrocution Attack, requires successful Spell... Attack


That's an interesting quirk. It would partly explain why Wisps are such bastards.

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Age Attack, requires successful Melee Attack
Chance = 100 - CharacterConstitution * 2.5 + SpawnLevel * 2


The order of operations is a little ambiguous here. Is it:
%Chance = (100 + SpawnLevel * 2) - (CharacterConstitution * 2.5) ?

If so, a Con of 53 means 0% chance of being Aged by even Level 16 Baddies. My Thief would only need 19 more Blessings of Morash!

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Aging = 1 to [lowest of: 1825 and MonsterLevel * 7.3] days


So it seems like each 50 MonsterGuildLevels = 1 year of possible Aging, capped at 250 MonsterGuildLevels/5 years.

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Drain Attack, requires successful Melee Attack
Drain Attemps = Int(SpawnLevel / 2 + 0.5)
Drain = 1 Random Stat or -2 Max HP
Chance = 100 - CharacterConstitution * 2.5 + SpawnLevel * 2

First check against Resistance, if attack is not resisted, then check chance.


From what I can tell, Drain Attempts = CInt(SpawnLevel / 2 + 0.5) * Rnd + 1.
So, 1-2 attempts for a Munsae, 1-8 for an Etholan Phantasm or Vampire Lord, and 1-9 for a Reaper of Souls.

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Stoning Attack, requires successful Melee Attack
Chance (minimum 5) = 100 - CharCon * LN(CharCon) * 1.09 + SpawnLevel

First check against Resistance, if attack is not resisted, then check chance.


To remove the ambiguity:
%Chance (minimum 5) = (100 + SpawnLevel) - (CharCon * LN(CharCon) * 1.09) ?

If so, 27 Con will get you down to that minimum 5% against Level 15/16 Stoners; with 95% Resistance, your chance is 1/400 -- provided you even get hit.

One very suprising implication of this is that HP and Level do not play a role: even a lowly Nastrum can potentially Stone any character they can hit. (I wait with baited breath for the formula for monsters' to-hit chance... happy.gif )

QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Paralyze Attack, requires successful Melee Attack
Chance (Minimum 5) = 100 - Resistance - Con * 2


Con * 2? If so, Dwarves and Giants (with 50% Paralysis Resistance) with 23+ Con would have effective 95% resistance, but it doesn't seem that way.


Great work on finding all these. ohmy.gifk: wub.gif


--------------------
I would have started with lasers. Eight o'clock. Day one.
Go to the top of the page
 
+Quote Post
fart642000
post Jul 24 2005, 04:33 AM
Post #5


IT'S A DRABBIT!
**********

Group: Members
Posts: 2,283
Joined: 26-September 04
From: Quebec, Canada
Member No.: 15
referrer:I searched the earth for it until braindead sent me an invite



QUOTE(Nudibranch @ Jul 24 2005, 12:24 AM
If so, a Con of 53 means 0% chance of being Aged by even Level 16 Baddies. My Thief would only need 19 more Blessings of Morash! [img)
http://mordor.uni.cc/forum/style_emoticons/default/rofl.gif[/img]

So it seems like each 50 MonsterGuildLevels = 1 year of possible Aging, capped at 250 MonsterGuildLevels/5 years.

Con * 2?  If so, Dwarves and Giants (with 50% Paralysis Resistance) with 23+ Con would have effective 95% resistance, but it doesn't seem that way.

Great work on finding all these.  ohmy.gifk: wub.gif
*

[/quote]

and how old will you're characters be by that time?

huh.gif 5 years?! that would hurt

sounds possible for giant, but for dwarf? if so that might make them more usefull

ditto


--------------------
Waffles - Well, you know what they say: kill thy neighbour, because it saves you having to remember two of the ten commandments. :D

Me:anyway i find it a bit scary how alike we think sometimes...
BL: It's because we're right :P
My forum (improved)

Braindead: Fart teaching me how to spell, LOL :) What will be next I wonder? :D
Cowboy:I leave you guys alone for 1 day and it's an orgy of politics and sex... what can I say, I taught you well :devilish:
Go to the top of the page
 
+Quote Post
GaiaCaT
post Jul 24 2005, 05:30 AM
Post #6


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



QUOTE (Nudibranch @ Jul 24 2005, 05:24 AM)
I'm a little confused over the terms "MonLvl" and/or "MonsterLevel"; are these the variable that ranges from 1-999?  If so, I'd suggest "MonGuildLvl".  "SpawnLevel" works well for the value that ranges from 1-16.
I'm guessing that should be Final Damage = Base Damage * (1 - Resistance/2) wherever it appears in the thread...
...and...
To remove the ambiguity:
%Chance (minimum 5) = (100 + SpawnLevel) - (CharCon * LN(CharCon) * 1.09) ?
...and...
The order of operations is a little ambiguous here.  Is it:
%Chance = (100 + SpawnLevel * 2) - (CharacterConstitution * 2.5) ? 

Corrected, and, formulas modified to remove ambiguity.

QUOTE (Nudibranch @ Jul 24 2005, 05:24 AM)
It'd still be nice to see that portion of the formula if you know it.

Anything for you!

QUOTE (Nudibranch @ Jul 24 2005, 05:24 AM)
From what I can tell, Drain Attempts = CInt(SpawnLevel / 2 + 0.5) * Rnd + 1.
So, 1-2 attempts for a Munsae, 1-8 for an Etholan Phantasm or Vampire Lord, and 1-9 for a Reaper of Souls.

You are correct, although, mine shows Int(SpawnLevel / 2 + 0.5) * Rnd + 1.
I don't like CInt at all, afaik, VB uses Bankers Rounding.
I think it's the Round-to-nearest-even-integer thingy, messes up simplicity.

QUOTE (Nudibranch @ Jul 24 2005, 05:24 AM)
Con * 2?  If so, Dwarves and Giants (with 50% Paralysis Resistance) with 23+ Con would have effective 95% resistance, but it doesn't seem that way.

Should be Res + Con, corrected.

QUOTE (Nudibranch @ Jul 24 2005, 05:24 AM)
One very suprising implication of this is that HP and Level do not play a role: even a lowly Nastrum can potentially Stone any character they can hit. (I wait with baited breath for the formula for monsters' to-hit chance... happy.gif )

Ugh, Yeups, I hate Stoning creatures.
Almost all my deaths are due to Stoning, even when running around with 90-95% Resistance.
The sound of a Nastrum attack followed by that crackling "aargh", it's the stuff of nightmare...


CharGuildLvl insignificance in Breath Attack explained:
CharGuildLevel/20 looks like alot, 49.95 at Lvl 999, but...
If we look at Base, we see Int(((Rnd * Modifier1) + 1) / 2), exchange Modifier1 with 49.95 (isolation), and we get:
Int((([0 to 0.9999] * 49.95) + 1) / 2) = [1 to 25]
Now add second part: + (Modifier1 / 4)
[1 to 25] + 12.4875 = [13.4875 to 37.4875]
Then calculate the last part: * 0.7 / 2
[13.4875 to 37.4875] * 0.35 = [4.720625 to 13.120625]

Sooo...At Level 999, you can get a 5-13'ish Damage Reduction.
But getting a max Rnd() roll for 13 Reduction also means monster got max breath damage.
I'm pretty sure the damage added to the breath is far bigger than the extra 8 reduction gained...

This post has been edited by GaiaCaT: Jul 24 2005, 07:16 AM


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
aardless
post Jul 24 2005, 09:11 AM
Post #7


Goblin Shaman at work (used to be: on strike...)
**********

Group: Admin
Posts: 5,406
Joined: 27-September 04
From: Somewhere on level 3, staring at the light
Member No.: 18
referrer::yahoo:



QUOTE (GaiaCaT @ Jul 24 2005, 01:21 AM)
Aging needs cleaning up, yes, I suck at presenting math ^^
It should be 1 to [lowest of: 1825 and MonLvl * 7.3] days

Cloaks and Amulet of Life offer Drain Resistance.
I'd be more worried about Stoning and Paralysis.
And I don't think Level 15 was supposed to be nice and easy.

Mmmm, Need to clarify in post:
The Special Attack checks are for each group, not each monster.
So fighting one group with 5 Vampire Lords will result in 8 Drain Checks per round, not 40.

Further decrypting:
It looks like Age/Drain/Poison/Disease/Paralyze is only checked with 1st group of monster.
Can anyone confirm this?
*


I know cloaks offer resistance, but my point was, with 90% resistance, your chance of not being drained on lvl 15 is 0.9^8= 0.43... So you've got more than 1 chance in 2 of being drained. Each round. shocked.gif With the spell you're better off (although not that much), you have a 2/3 chance of escaping unscathed.

Concerning Paralysis/Stoning, paralysis is an issue for soloers, but stoning is well... stoning. dry.gif As Nudibranch pointed out, there's only a 1/400 chance for a giant with pretty low constitution. Wouldn't it be sweet that stoning monsters made several attempts like draining monsters. naughty.gif That would make Gorgons fascinating monsters.

I have no proof but it makes sense the Age/Drain/etc. attacks be checked only from the first group: they're the most powerful anyway.

QUOTE (GaiaCaT)
Electrocution Attack, requires successful Spell/Melee Attack

I wasn't imaginig things then. But what about characters electrical spells? Do they cause electrocution too?


--------------------
If money doesn't grow on trees, why is it that banks have branches? - sig of a guy on a chinese forum

Most off-topic topics are off-topic - fart642000
Go to the top of the page
 
+Quote Post
GaiaCaT
post Jul 24 2005, 03:47 PM
Post #8


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



QUOTE (aardless @ Jul 24 2005, 10:11 AM)
I know cloaks offer resistance, but my point was, with 90% resistance, your chance of not being drained on lvl 15 is 0.9^8= 0.43... So you've got more than 1 chance in 2 of being drained. Each round. shocked.gif With the spell you're better off (although not that much), you have a 2/3 chance of escaping unscathed.

Nudibranch corrected it to Random[1 to X].
I'm not a statistics expert but I think with the new uniform distribution, you have 64% chance of not being drained.
Factor in a 22 Con and you have 73% chance of avoid drain, with a 21% chance of being drained once.
Monster has to hit you before any drain is checked, so it looks fairly safe.

QUOTE (aardless @ Jul 24 2005, 10:11 AM)
Concerning Paralysis/Stoning, paralysis is an issue for soloers, but stoning is well... stoning.  dry.gif As Nudibranch pointed out, there's only a 1/400 chance for a giant with pretty low constitution. Wouldn't it be sweet that stoning monsters made several attempts like draining monsters.  naughty.gif That would make Gorgons fascinating monsters.
I always run solo or duo, so...Stoning is bad.
Somehow I'm good at hitting that magic 1:400
There's that Cockatrice somewhere on Level 5.
I know it spawns in that room, but I always have to check if it's there (Curiosity...)


QUOTE (aardless @ Jul 24 2005, 10:11 AM)
I wasn't imaginig things then. But what about characters electrical spells? Do they cause electrocution too?

Nope, Electrocute Attack isn't tied to any spell.
It's not a separate function, just a block of code within the Monster Attack Function.
Going through character-casting revealed nothing either.


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
GaiaCaT
post Jul 24 2005, 08:10 PM
Post #9


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



Here's some silly stuff for you, Monster Spell Casting
1) Pick a random spell-school (Mind, Kill, Fire etc)
2) If Monster can't cast those spells, repeat from 1 until found a valid school, or abort cast if reached 1000 failures.
3) Create list of spells from the school with "base-level" of [SpawnLevel*2/3 to SpawnLevel+1], minimum 1
4) If no spell in list, abort cast
5) If Rnd*100 < 10, then abort cast
6) If MonsterType is not "Mage", then 50% chance of abort cast
7) Pick Random Spell from the list.
8) If Spell Base & Power > 0, then cast, otherwise abort cast.

Stuff like Firebolt & Shock will never be cast since internal power values are one less than listed ingame.
Funky Code Structure? biggrin.gif
Enjoy!


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
BeefontheBone
post Jul 24 2005, 08:44 PM
Post #10


Head of Imbuing
**********

Group: Moderators
Posts: 2,222
Joined: 7-June 05
Member No.: 213
referrer:reefer: reference: preferrer



That seems incredibly inefficient - apart from anything else, most of the "then abort" lines could go at the beginning. Nice!

This post has been edited by BeefontheBone: Jul 24 2005, 08:44 PM


--------------------
QUOTE (George Bernard Shaw (to TE Lawrence @ on the Seven Pillars of Wisdom))
"You practically do not use semicolons at all. This is a symptom of mental defectiveness, probably induced by camp life."

Go to the top of the page
 
+Quote Post
GaiaCaT
post Jul 25 2005, 07:01 PM
Post #11


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



I think I located a potential bug in Spell/Melee damage.
Basically, game cycles through each monster in a group, determining if they cast a spell or do a melee attack.
First it checks for spellcasting, if no spell is cast, then check melee damage.
It doesn't deal melee damage right away, but store it in a temp variable.
As soon as one of the monsters casts a spell, melee damage is erased, spell damage is applied instead, and game jumps to Electrocute Check.
Problem is, game does not reset one variable that determines if monsters successfully hit with a melee attack.
So, if last monster in group casts a spell (and therefore nullify previous monsters melee damage), game will still check any special attack requiring a melee hit.
It's not as bad as it looks (I think)
Most monsters capable of both casting spells and doing special attacks seem to come in groups of 1.

More Buggy stuff.
If last monster misses a melee attack, then no special attacks requiring a melee hit will be checked.
So, Defense = Teh Win \o/

This post has been edited by GaiaCaT: Jul 25 2005, 07:08 PM


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
aardless
post Jul 26 2005, 10:12 AM
Post #12


Goblin Shaman at work (used to be: on strike...)
**********

Group: Admin
Posts: 5,406
Joined: 27-September 04
From: Somewhere on level 3, staring at the light
Member No.: 18
referrer::yahoo:



QUOTE (GaiaCaT)
Nudibranch corrected it to Random[1 to X].
I'm not a statistics expert but I think with the new uniform distribution, you have 64% chance of not being drained.
Factor in a 22 Con and you have 73% chance of avoid drain, with a 21% chance of being drained once.
Monster has to hit you before any drain is checked, so it looks fairly safe.

Oh right, I forgot the other equation. From what I gather a CInt rounds any 0.5 to the closest even number? Then a level 14 monster would drain 1-9 times. Which means an average of 5 times.

CODE
5 draining attempts                      9 draining attempts
90% res      95% res    const    90% res       95% res
0.641365316    0.804811018    18      0.449562261  0.676470783
0.650175147    0.810078088    19      0.460738662  0.684460504
0.659081523    0.815372698    20      0.472161363  0.692533996
0.668085236    0.820694956    21      0.483835103  0.700692026
0.677187080    0.826044970    22      0.495764693  0.708935368
0.686387857    0.831422849    23      0.507955029  0.717264802
0.695688369    0.836828701    24      0.520411083  0.725681113
0.705089427    0.842262635    25      0.533137909  0.734185093
0.714591843    0.847724761    26      0.546140644  0.74277754
0.724196434    0.853215188    27      0.559424507  0.751459259
0.733904022    0.858734026    28      0.572994802  0.760231059
0.743715434    0.864281385    29      0.586856920  0.769093757
0.753631500    0.869857375    30      0.601016336  0.778048178
0.804811018    0.898170683    35      0.676470783  0.824225365
0.858734026    0.927216502    40      0.760231059  0.872822784

That's the chance of not being drained each round, assuming you're hit. I'm not megalomaniac, the extra digits are to make columns easy. wink.gif

QUOTE
Nope, Electrocute Attack isn't tied to any spell.
It's not a separate function, just a block of code within the Monster Attack Function.
Going through character-casting revealed nothing either.

It seems I was imagining things, then. rolleyes.gif

QUOTE
So, Defense = Teh Win

laugh.gif, that was sort of expected. tongue.gif


--------------------
If money doesn't grow on trees, why is it that banks have branches? - sig of a guy on a chinese forum

Most off-topic topics are off-topic - fart642000
Go to the top of the page
 
+Quote Post
Nudibranch
post Jul 26 2005, 09:47 PM
Post #13


Fire Master
*********

Group: Mordor MP Prog
Posts: 1,613
Joined: 19-November 04
Member No.: 71
referrer:search



QUOTE (aardless @ Jul 26 2005, 06:12 AM)
Oh right, I forgot the other equation. From what I gather a CInt rounds any 0.5 to the closest even number? Then a level 14 monster would drain 1-9 times. Which means an average of 5 times.


Level 14 monster = CInt(14 / 2 + 1) = CInt(7.5) = 1-8 times. Level 16 monster = CInt(16 / 2 + 1) = CInt(8.5), rounded to nearest even number still means 1-8 times.

I'd assume 26 Con for a Giant (24 max + Warrior's Crest), vs. 4.5 average Drain attempts, and your odds are 73.2% to avoid draining after a hit (with 90% Drain Resistance), or 85.8% with 95% Resistance.

But big deal: Draining is easy to recover from, and most of the Draning monsters don't have astronomical Attack scores, so they often miss. More importantly, they tend to have low Dex -- so keep always your highest-Dex character selected (your Thief), and you'll get to attack first. Kill 'em right away, and you'll seldom get drained.

The same advice goes for Stoning creatures: have a high Dex and kill them right away (with a spell if necessary) and you'll seldom get attacked. Don't leave the room and give them a free chance to swipe at you.

Compare that to the worst Aging monsters: 100+(16*2)-(26*2.5) = 67% chance of being Aged when hit. And they seldom miss. And they often attack first. And their HP is so high it takes a few rounds to kill them even with the best spells. And Dragon's Blood is pretty rare. cold.gif My party was Aged for about 200 years total my first few dozen times on Level 15. shout.gif

Panic buttons (buffered high-level spells/items) + high Dex + high Defense + high Con, in that order, are your best defense against Aging.


Edit:

I recently noticed something that makes the above list even more true: if your default action is "Defend", your Defense = 1.5 * normal. If you're casting a spell, it's the same benefit: Defense = 1.5 * normal.

Since I keep my Thief/Sorcerer in the front and selected, when I hit his panic button, his Defense shoots up to 647 * 1.5 = 970. With his 49 Dex, the party usually attacks first. Since he's the lead character he gets attacked much more often than my other two characters -- and is usually missed because of his high Defense.

Oh, plus another 100 Defense from Protection.

Why, it's almost... unfair to the monsters. sneaky.gif

This post has been edited by Nudibranch: Jul 26 2005, 10:32 PM


--------------------
I would have started with lasers. Eight o'clock. Day one.
Go to the top of the page
 
+Quote Post
aardless
post Jul 26 2005, 09:59 PM
Post #14


Goblin Shaman at work (used to be: on strike...)
**********

Group: Admin
Posts: 5,406
Joined: 27-September 04
From: Somewhere on level 3, staring at the light
Member No.: 18
referrer::yahoo:



In the first post I see:
QUOTE (GaiaCaT)
Drain Attemps = Random[1 to CInt(SpawnLevel / 2 + 0.5) + 1]

Is that incorrect? huh.gif
If I don't misunderstand the order of calculations, that would mean 1-9 for level 14-16 draining monsters.


--------------------
If money doesn't grow on trees, why is it that banks have branches? - sig of a guy on a chinese forum

Most off-topic topics are off-topic - fart642000
Go to the top of the page
 
+Quote Post
Nudibranch
post Jul 26 2005, 10:35 PM
Post #15


Fire Master
*********

Group: Mordor MP Prog
Posts: 1,613
Joined: 19-November 04
Member No.: 71
referrer:search



QUOTE (aardless @ Jul 26 2005, 05:59 PM)
In the first post I see:
QUOTE (GaiaCaT)
Drain Attemps = Random[1 to CInt(SpawnLevel / 2 + 0.5) + 1]

Is that incorrect? huh.gif
If I don't misunderstand the order of calculations, that would mean 1-9 for level 14-16 draining monsters.


Aha -- GaiaCaT, that line should be

Drain Attempts = Random[1 to CInt(SpawnLevel / 2 + 0.5)]

because it's (Rnd * CInt(SpawnLevel / 2 + 0.5)) + 1


--------------------
I would have started with lasers. Eight o'clock. Day one.
Go to the top of the page
 
+Quote Post
Nudibranch
post Aug 31 2005, 07:43 AM
Post #16


Fire Master
*********

Group: Mordor MP Prog
Posts: 1,613
Joined: 19-November 04
Member No.: 71
referrer:search



QUOTE (GaiaCaT @ Jul 23 2005, 04:14 PM)
Attack:
1b) Melee, max 5 attack attempts


I just noticed this line. How is it implemented? What's the formula for determining how many attempts are made? Does it stop after the first successful attack, or is the damage from all the attacks added together? ("...hit for xxx.")


--------------------
I would have started with lasers. Eight o'clock. Day one.
Go to the top of the page
 
+Quote Post
GaiaCaT
post Aug 31 2005, 02:14 PM
Post #17


Drifter
**

Group: Members
Posts: 46
Joined: 8-July 05
Member No.: 339
referrer:Google



It is a loop done after the Breath/Acid Attack.
It is set to 1 to [Lowest of 5 and "Monsters in Group"] (Line 100-103 in function)

For each attack attempt, (loop iteration), monster will first try to cast a spell.
If it casts a spell, replace any previous melee damage with spell damage, exit the loop.
If it doesn't cast a spell, calculate melee damage, add it to any previous melee damage, move to next monster in group (next loop iteration)

For non-spellcasting monsters:
1 to 5 monsters can hit you with a melee attack, and will result in the "X Monsters hit for Y!"

Hope this helps :x


--------------------
Minesweeper Records
Beginner: 2.73
Intermediate: 28.13
Expert: 83.53
Go to the top of the page
 
+Quote Post
Nudibranch
post Aug 31 2005, 08:35 PM
Post #18


Fire Master
*********

Group: Mordor MP Prog
Posts: 1,613
Joined: 19-November 04
Member No.: 71
referrer:search



QUOTE (GaiaCaT @ Aug 31 2005, 10:14 AM)
It is a loop done after the Breath/Acid Attack.
It is set to 1 to [Lowest of 5 and "Monsters in Group"]

1 to 5 monsters can hit you with a melee attack, and will result in the "X Monsters hit for Y!"


Ahh, okay. I always wondered how those X Monsters were calculated. smile.gif

I just tested it out against some ZBrats; more than 5 never hit at the same time. Imagine how deadly they would be if their attacks weren't limited to 5 (*4) at a time.

I also saw confirmation of the multiple-drain-attempts phenomenon when I was testing the complications formula yesterday. I had a character with low Con and I bumped into a Vampire. He drained me several times with each hit. In theory a Vampire should be able to up to 6 times per hit; I only saw a maximum of 4 times, but probably I didn't stick around long enough. wink.gif


--------------------
I would have started with lasers. Eight o'clock. Day one.
Go to the top of the page
 
+Quote Post
fart642000
post Sep 1 2005, 03:41 AM
Post #19


IT'S A DRABBIT!
**********

Group: Members
Posts: 2,283
Joined: 26-September 04
From: Quebec, Canada
Member No.: 15
referrer:I searched the earth for it until braindead sent me an invite



QUOTE (Nudibranch @ Jul 26 2005, 05:47 PM)
Oh, plus another 100 Defense from Protection.

Why, it's almost... unfair to the monsters.  sneaky.gif
*


dntknw.gif i thought someone else found out that protection is almost next to useless?


--------------------
Waffles - Well, you know what they say: kill thy neighbour, because it saves you having to remember two of the ten commandments. :D

Me:anyway i find it a bit scary how alike we think sometimes...
BL: It's because we're right :P
My forum (improved)

Braindead: Fart teaching me how to spell, LOL :) What will be next I wonder? :D
Cowboy:I leave you guys alone for 1 day and it's an orgy of politics and sex... what can I say, I taught you well :devilish:
Go to the top of the page
 
+Quote Post
Nudibranch
post Sep 1 2005, 04:32 AM
Post #20


Fire Master
*********

Group: Mordor MP Prog
Posts: 1,613
Joined: 19-November 04
Member No.: 71
referrer:search



QUOTE (fart642000 @ Aug 31 2005, 11:41 PM)
dntknw.gif i thought someone else found out that protection is almost next to useless?


Both in the code and in actual field testing, it has a definite effect, especially at higher guild levels.


--------------------
I would have started with lasers. Eight o'clock. Day one.
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 10th December 2019 - 09:28 PM
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft
Copyrights and Credits