faketuna / sm-l4d2-satellite-cannon

GNU General Public License v3.0
0 stars 0 forks source link

ロケットランチャー等がダメージを与えない時がある #2

Open faketuna opened 4 months ago

faketuna commented 4 months ago

以下のonTakeDamage関数の https://github.com/faketuna/sm-l4d2-satellite-cannon/blob/b1fa241f5727b9865a24ade6a4e5fb078f5b905a/scripting/l4d2_satellite.sp#L599-L616

    if ((damagetype & DMG_BLAST || damagetype & DMG_BLAST_SURFACE || damagetype & DMG_AIRBOAT || damagetype & DMG_PLASMA))

キャンセルするダメージタイプを判定している部分で爆発ダメージ系をキャンセル対象で検索しているために、タンクに対してのロケットランチャーとかのダメージとかもキャンセルされてしまう問題がある。

どうにかして、缶が爆発した際の爆破元のエンティティのIndexさえ分かればその爆破エンティティのダメージをキャンセルできると思うのでどうにかして実装したい。

以下2つの奴もしかしたら参考として良さそう?

[L4D1 & L4D2] Explosion Announcer [v1.0.7 | 04-March-2022]

[L4D2] Burners Announce

faketuna commented 4 months ago

そもそも、フレンドリーファイヤの判定なら同一チームかの判定をすべきでは?

faketuna commented 4 months ago

ひとまずこのコミット https://github.com/faketuna/sm-l4d2-satellite-cannon/commit/8df357226c77584e6e85db34209aeb52b14fd63c で仮修正しておいた