diff --git a/ReallifeGamemode.Client/Gui/wanteds.ts b/ReallifeGamemode.Client/Gui/wanteds.ts index 2b04bbfc..9e8c75d0 100644 --- a/ReallifeGamemode.Client/Gui/wanteds.ts +++ b/ReallifeGamemode.Client/Gui/wanteds.ts @@ -1,11 +1,19 @@ -export default function wanteds(globalData: IGlobalData) { +let wantedCount = 0; + +export default function wanteds(globalData: IGlobalData) { var browser = mp.browsers.new("package://assets/html/wanteds/index.html"); mp.events.add("SERVER:SetWanteds", (count: number) => { browser.execute(`setWanteds(${count});`); + wantedCount = count; }); + mp.events.add("SERVER:SetWantedFlash", (flash) => { browser.execute(`setFlashing(${flash});`); }); +} + +export function getWantedCount(): number { + return wantedCount; } \ No newline at end of file diff --git a/ReallifeGamemode.Client/util/weapondamage.ts b/ReallifeGamemode.Client/util/weapondamage.ts index d187e703..369289c1 100644 --- a/ReallifeGamemode.Client/util/weapondamage.ts +++ b/ReallifeGamemode.Client/util/weapondamage.ts @@ -1,5 +1,6 @@ import { isInAnyNoDMPolygon, listNoDMZones } from "../Player/nodm"; import polygons from "../polygons"; +import { getWantedCount } from "../Gui/wanteds"; function isTargetInPolygon(pos): boolean { @@ -25,8 +26,8 @@ export default function weapondamageUtil() { player.setSuffersCriticalHits(false); }); - mp.events.add('outgoingDamage', (sourceEntity, targetEntity, sourcePlayer, weapon, boneIndex, damage) => { - if (isTargetInPolygon(targetEntity.position) || isInAnyNoDMPolygon) { + mp.events.add(RageEnums.EventKey.INCOMING_DAMAGE, (sourceEntity: EntityMp, sourcePlayer: PlayerMp, targetEntity: EntityMp, weapon: number, boneIndex: number, damage: number) => { + if ((isTargetInPolygon(sourceEntity.position) || isInAnyNoDMPolygon) && getWantedCount() === 0) { return true; } });