401 Commits
Author SHA1 Message Date
qndel ab9b61626f add hellfire rune dmg calc (#2270) 2022-05-14 02:39:40 +02:00
Robin Eklind bc0488382a missiles: add BUGFIX for SetMissAnim
A buffer overflow is triggered when casting Identify (or any other
spell which has mFileNum set to 255).
2022-05-09 02:43:55 +02:00
qndel de6154094d fix class sounds 2021-10-25 18:13:42 +02:00
Robin Eklind 721460e375 missiles: add BUGFIX for PutMissile
Prior to this commit, if the player was standing on coodinate with
x=0 or y=0, no missile would be created when casting a spell. This
is due to an off-by-one when doing bounds-checking.
2021-09-01 19:46:47 +02:00
qndel d68181fd91 _pIEnAc bugfix 2021-08-05 00:01:47 +02:00
Robin Eklind 8f936de2c5 missiles: add BUGFIXes for MI_LArrow, MI_Arrow, MI_Lightctrl and MI_Weapexp
These bugs are related to time of access, where fields of e.g. a
player or monster struct is accessed upon missile impact (instead
of missile launch), and at this point, the monster may be dead, or
the player may have left the game, resulting in accessing garbage
data that may have been overwritten by other data (e.g. new monster
spawn or new player joining).

One way to resolve this issue is to store e.g. the damage in the
missile struct when lanuching the missing. This way, the missile
would have all information required to know its damage on imact
instead of having to rely on outside sources that may no longer
be present.
2021-08-04 20:48:06 +02:00
Anders Jenbo 1b6196f39b Correct missile ring offset
Without this the
2021-08-04 11:47:36 +02:00
Andi 2bf6eeb125 Merge pull request #2232 from mewpull/bugfix-MI_Apoca
missiles: add BUGFIX for MI_Apoca when handling golems
2021-04-26 15:26:52 -05:00
Robin Eklind 64ea9a5ec2 missiles: add BUGFIX for MI_Apoca when handling golems
Prior to this fix, the apocalypse spell would hit the golem of the
4th player (i.e. plr[3]), since dMonster stores monster number + 1.
2021-04-25 18:30:16 +02:00
qndel f1b85a5cd3 cleanup 2021-04-20 22:26:55 +02:00
qndel ab0ef9b582 apply enums 2021-04-17 03:26:21 +02:00
Anders Jenbo 343896a1f6 Mark bad if conditions found by GCC 2021-03-10 00:21:09 +01:00
Anders Jenbo adf5f8f504 Clean up hellfire related code 2021-01-31 13:37:42 +01:00
Anders Jenbo 0c01aa9928 [hellfire] M_TryH2HHit 2021-01-15 00:42:37 +01:00
Anders Jenbo 15a613cefc Remove invalid bugfix comments 2021-01-09 16:45:01 +01:00
Anders Jenbo c7b32ec4e4 Clean ups 2021-01-08 21:23:00 +01:00
Anders Jenbo c4def419cf Merge pull request #2185 from diasurgical/MonsterMHit
[hellfire] MonsterMHit
2020-12-30 23:05:15 +01:00
Anders Jenbo e06259a691 [hellfire] MonsterMHit 2020-12-30 23:04:57 +01:00
Anders Jenbo 5a13677437 [hellfire] mi_light_arrow 2020-12-30 23:02:37 +01:00
Anders Jenbo 711dd642e9 [hellfire] MI_Lightctrl 2020-12-30 23:02:37 +01:00
Anders Jenbo 3f91aea157 [hellfire] AddFirewall 2020-12-30 23:02:27 +01:00
Anders Jenbo cd468f682a Clean up missiles_steal_pots 2020-12-30 23:02:12 +01:00
Anders Jenbo f7c2007567 [hellfire] Plr2PlrMHit 2020-12-30 20:41:32 +01:00
Anders Jenbo 1b2ebd1ce3 [hellfire] CheckMissileCol 2020-12-30 20:41:32 +01:00
Anders Jenbo 74849d48bd [hellfire] PlayerMHit 2020-12-30 20:41:32 +01:00
Anders Jenbo 167ce2a3d5 [hellfire] MI_FirewallC 2020-12-30 20:41:10 +01:00
qndel e73e1fc114 some cleanup 2020-12-06 23:45:33 +01:00
Anders Jenbo 0c38d24bf1 [hellfire] AddTeleport 2020-12-06 01:42:05 +01:00
Anders Jenbo 458678e912 [hellfire] GetMissileVel
Min diff
2020-12-06 01:18:42 +01:00
qndel 7f7ae623df Goe (#2163)
* proper random_ comparisons
* proper mienemy comparisons
* add mienemy/micaster enum
* GOE enum
2020-12-04 19:16:58 +01:00
Anders Jenbo 38dbcf7641 Format source 2020-12-02 00:52:38 +01:00
qndel f137159b8d monsters cleanup 2020-11-10 20:12:55 +01:00
qndel 3ce3dedd4d Cleanup (#2147) 2020-11-07 12:34:07 +01:00
Anders Jenbo 7080786f33 Clean up missiles.h 2020-11-03 18:05:26 +01:00
qndel fa0b326498 unify names 2020-10-24 08:07:56 +02:00
Anders Jenbo 2c951ac168 Add bugfix to hellfire variant of CrawlTable 2020-10-22 18:52:06 +02:00
qndel 36dba1cc1c cleanup (#2127) 2020-10-22 17:26:24 +02:00
Anders Jenbo 3157885502 Correct shareware ifdefs 2020-10-13 07:42:35 +02:00
qndel 7d0dc08d6c AddFirewall cleanup 2020-10-12 05:32:08 +02:00
qndel bec59ba793 [hellfire] AddMisexp bin exact 2020-10-12 03:20:17 +02:00
qndel b81d2eb831 some cleanups (#2099) 2020-10-12 00:42:02 +02:00
Anders Jenbo 7e04c63977 Merge branch 'hellfire' of github.com:diasurgical/devilution 2020-10-11 23:53:07 +02:00
pionere f0a51ccf65 use defs instead of literals 2020-10-11 06:37:14 +02:00
Robin Eklind 7d0eff7888 missiles: add BUGFIX for AddRndTeleport
If `dObject[dx][dy]` is zero, then `pn = -1`, which causes an
out-of-bounds access to object. If the memory `object[-1]._otype`
is either 84 or 85, then the player is randomly teleported to the
location of the Vile Betrayer quest. This can be triggered either
by interacting with a holy shrine or by casting phasing.

	"Wherever you go, there you are"
2020-07-18 14:23:40 +02:00
Robin Eklind dc6f9b6585 missiles: add BUGFIX comment for GetDirection16 2020-07-13 02:29:25 +02:00
Anders Jenbo 659dc41aa5 Merge branch 'master' of github.com:diasurgical/devilution into hellfire 2020-04-26 22:10:34 +02:00
Anders Jenbo 3b8bcf98bf Enable assertions 2020-04-11 15:22:40 +02:00
Anders Jenbo f066b57cd0 Merge master in to hellfire 2020-04-09 02:14:08 +02:00
Anders Jenbo 2ec7c78eae Format source 2020-04-08 22:28:53 +02:00
Anders Jenbo e6e0ebe15a Merge branch 'master' of github.com:diasurgical/devilution into hellfire 2020-04-07 03:46:20 +02:00