Knowledge from the fieldRedM

Animal carcass quality for hunting grades: _GET_PED_QUALITY is reliable; _GET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER needs _UPDATE first and returns 0 otherwise

learning:83

Animal carcass quality for hunting grades: _GET_PED_QUALITY is reliable; _GET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER needs _UPDATE first and returns 0 otherwise

Context

Building an RDR2-style "clean kill matters" hunting grade (perfekt/god/slitt/ruined) from two natives. One is trustworthy, the other is a trap.

_GET_PED_QUALITY (0x7BCC6087D130312A) — RELIABLE, use as primary

Call on the carcass ped (e.g. the target_entity from EVENT_LOOT_COMPLETE while it still exists). Returns ePedQuality: PQ_INVALID=-1, PQ_LOW=0, PQ_MEDIUM=1, PQ_HIGH=2. This is the animal's star rating and maps cleanly: 0→low grade, 1→mid, 2→high. It's the same quality the game bakes into the resulting pelt (provision_*_hide_poor/good/pristine). Always reads correctly. Make this your primary grade signal.

_GET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER (0xEE2D5C819A65BF26) — UNRELIABLE, secondary only

Returns a float "animal skin quality modifier" (how cleanly you killed it — weapon/shot). TWO traps:

  1. You must call _UPDATE_ANIMAL_DAMAGE_MODIFIER (0x0F9E754EBE8FDBFA, player) FIRST or it returns a stale/uninitialised value.
  2. Even then it frequently reads 0 in normal play (e.g. a clean headshot). Treating 0 as "carcass ruined" makes clean kills grade as garbage — a real bug.

JS: read with Citizen.resultAsFloat() (RedM Lua InvokeNative returns a BOOL instead of the float for these — use the Lua wrapper or resultAsFloat).

The robust grading recipe

grade = pedQuality 2 -> perfekt, 1 -> god, 0 -> slitt   (from _GET_PED_QUALITY, trusted)
// only DOWNGRADE on a genuinely valid low reading; 0 / missing / ~1.0 = no penalty:
if (damageMod > 0 && damageMod < 0.5) grade = oneStepWorse(grade)

Do NOT use damageMod as a hard gate (if d < 0.4 return ruined) — its 0-default will ruin clean kills.

Related: _SET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER 0x9EFF3C91DF38304F, _COMPUTE_SATCHEL_ITEM_FOR_PED_CARCASS 0x6B89FAA36FC909A3 (takes damageCleanliness + skinningQuality), _SET_ENTITY_CARCASS_TYPE 0x399657ED871B3A6C (sets carcass quality, type hashes at pastebin C1WvQjCy).

Linked natives

  • _COMPUTE_SATCHEL_ITEM_FOR_PED_CARCASS (0x6B89FAA36FC909A3)
  • _GET_PED_QUALITY (0x7BCC6087D130312A)
  • _GET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER (0xEE2D5C819A65BF26)
  • _SET_ENTITY_CARCASS_TYPE (0x399657ED871B3A6C)
  • _SET_PLAYER_CURRENT_ANIMAL_DAMAGE_MODIFIER (0x9EFF3C91DF38304F)
  • _UPDATE_ANIMAL_DAMAGE_MODIFIER (0x0F9E754EBE8FDBFA)

Tags: hunting, quality, carcass, skinning, ped-quality, rdr3
Category: natives
Source: scandi-hunting-build
Created: 2026-06-04T14:35:40.192Z

Back to documentation