Code reading and ingame testing, together, provide best results. Sort of cheat engine could help, although command artefact made testing much easier, already.
I started some research on game mechanics, but then got distracted, by other games, work... Maybe will continue on weekend.
Here's something, you might find interesting.
Armor items don't work as described
Code:
if armor >= 0
{
other.damage=ceil(other.damage*100/(100 + armor))
other.damage_fake=ceil(other.damage_fake*100/(100 + armor))
}
else
{
other.damage=ceil(other.damage*(2-(100/(100 - armor))))
other.damage_fake=ceil(other.damage_fake*(2-(100/(100 - armor))))
}
So, Tough times will add 14% effective health, not 14% mitigation. at 100 armor - you'll receive x0.5 damage, at 300 - you'll receive x0.25, and so on.
Repulsion armor gives 1000 armor.
Temple guard buffs himself for 100 armor.
There's also BUFF_SUPERSHIELD with 999999 armor, which is, probably, used by Providence.
Since generic monsters don't seem to have any armor, full stack from Shattering Justice multiplies damage by 1.2
Damage randomization and crit seems to be done within following function
Code:
#define damage_default
argument0.critical=((irandom(100)+1)<=(critical_chance+critical_chance_bonus))
argument0.damage_fake=ceil(damage*random_range(1,0.6)*(argument0.critical+1)*argument1)
argument0.damage=ceil(damage*0.8*(argument0.critical+1)*argument1
That means damage is multiplied by random value between 1 and 0.6
Ingame descriptions often say how many times damage is multiplied, but make really poor job at explaining where it was inherited.
Skills inherit player damage, and most procs inherit skill damage, but there are so many conflicting exceptions, i don't think developers themselves kept track of it.
Missile Mk1 inherits skill damage, including crits.
Missile Mk2 inherits raw player damage, there is no randomization and no scaling with skill damage, which makes them good on commando, and pitiful on sniper.
Will'o wisp inherits player damage.
Gasoline inherits monster damage, which means: it does more damage from dieing elites, but does not scale with glass.
Glowing meteorite calculates its damage as =ceil(35*enemy_buff) where enemy_buff is one of the values affected by difficulty scaling.
Glass multiplies starting character damage and damage on lvlup, does not seem to affect any items, that add damage, most notably Hit list, does not affect items, that not inherit player damage
Glass multiplies starting character health by 0.1, but lvlup health by 0.25, also it multiplies commando's starting health by 0.25.
Distortion should not lock sniper's 1'st ability //didn't test it
Distortion gives 0.25 cooldown reduction, it's the same stat, that is affected by Alien head, it's capped at .6
Would you mind explaining how you divine this information? Like I said when I first asked, I am willing to update the wiki on all this, but I don't know how to pull the information. Rather than tell me that it can be done, why don't you show me how so I can do it myself?
Click to expand...
Google for Gamemaker 8.1 decompiler and download free version of Gamemaker 8.1 from yoyogames.com/legacy
to open the decompiled project.
Last edited: May 14, 2014