Chickens have 28 hitboxes:
enum EChickenHitboxes { HITBOX_CHICKEN_PELVIS, HITBOX_CHICKEN_LEFTKNEE, HITBOX_CHICKEN_LEFTANKLE, HITBOX_CHICKEN_LEFTBACKTOE, HITBOX_CHICKEN_LEFTTOE, HITBOX_CHICKEN_RIGHTKNEE, HITBOX_CHICKEN_RIGHTANKLE, HITBOX_CHICKEN_RIGHTBACKTOE, HITBOX_CHICKEN_RIGHTTOE, HITBOX_CHICKEN_TAIL, HITBOX_CHICKEN_TAIL1, HITBOX_CHICKEN_TAIL2, HITBOX_CHICKEN_CLAVICAL, // gg misspell valve? HITBOX_CHICKEN_RIGHTBREAST, HITBOX_CHICKEN_RIGHTSHOULDER, HITBOX_CHICKEN_RIGHTELBOW, HITBOX_CHICKEN_RIGHTWRIST, HITBOX_CHICKEN_RIGHTTIP, HITBOX_CHICKEN_LEFTBREAST, HITBOX_CHICKEN_LEFTSHOULDER, HITBOX_CHICKEN_LEFTELBOW, HITBOX_CHICKEN_LEFTWRIST, HITBOX_CHICKEN_LEFTTIP, HITBOX_CHICKEN_NECK1, HITBOX_CHICKEN_NECK2, HITBOX_CHICKEN_NECK3, HITBOX_CHICKEN_HEAD, HITBOX_CHICKEN_WOBBLER };
The chickens all have the clientclass CDynamicProp, and you can check wether it's a chicken or not by checking model name; Ex:
bool CEntity::IsChicken( void ) { const model_t *model = GetModel(); if ( !model ) { LOG_ERROR( "model_t was 0" ); return false; } studiohdr_t *studioHeader = g_InterfaceManager->ModelInfo()->GetVTable<IVModelInfo>()->GetStudiomodel( model ); if ( !studioHeader ) { LOG_ERROR( "studiohdr_t was 0" ); return false; } return strstr( studioHeader->name, "chicken" ); }The pelvis hitbox is very big, almost like a bounding box tbh. and the height of the chickens hull is ~23;
A video of the result:
Ingen kommentarer:
Send en kommentar