@@ -43,6 +43,8 @@ enum _:S_CustomWeapon {
4343 Float: CWeapon_DeployTime,
4444 Float: CWeapon_ReloadTime,
4545 bool: CWeapon_Grenade_PreventFITH,
46+ CWeapon_Grenade_Model[PLATFORM_MAX_PATH],
47+ CWeapon_Grenade_ModelIndex,
4648 Float: CWeapon_MaxWalkSpeed,
4749
4850 // Float:CWeapon_PrimaryAttackRate,
@@ -409,15 +411,19 @@ T_CustomWeapon:CWeapons_LoadFromJson(const JSON:weaponJson, const weaponName[])
409411 WeaponData[CWeapon_ReloadTime] = PCSingle_ObjFloat (weaponJson, " ReloadTime" , - 1 .0 );
410412 WeaponData[CWeapon_MaxWalkSpeed] = PCSingle_ObjFloat (weaponJson, " MaxWalkSpeed" , - 1 .0 );
411413
412- if (IsWeaponGrenade (WeaponData[CWeapon_ReferenceId])) {
413- WeaponData[CWeapon_Grenade_PreventFITH] = PCSingle_ObjBool (weaponJson, " Grenade.PreventFITH" , false , .dotNot = true );
414- }
415-
416414 new Models[S_CWeapon_Models];
417415 PCSingle_ObjModel (weaponJson, " Models.View" , Models[CWeapon_Model_View], charsmax (Models[CWeapon_Model_View]), .dotNot = true );
418416 PCSingle_ObjModel (weaponJson, " Models.Player" , Models[CWeapon_Model_Player], charsmax (Models[CWeapon_Model_Player]), .dotNot = true );
419417 PCSingle_ObjModel (weaponJson, " Models.World" , Models[CWeapon_Model_World], charsmax (Models[CWeapon_Model_World]), .dotNot = true );
420418 WeaponData[CWeapon_Models] = Models;
419+
420+ if (IsWeaponGrenade (WeaponData[CWeapon_ReferenceId])) {
421+ WeaponData[CWeapon_Grenade_PreventFITH] = PCSingle_ObjBool (weaponJson, " Grenade.PreventFITH" , false , .dotNot = true );
422+ PCSingle_ObjModel (weaponJson, " Grenade.Model" , WeaponData[CWeapon_Grenade_Model], charsmax (WeaponData[CWeapon_Grenade_Model]), Models[CWeapon_Model_World], .dotNot = true );
423+ if (WeaponData[CWeapon_Grenade_Model][0 ] != EOS) {
424+ WeaponData[CWeapon_Grenade_ModelIndex] = precache_model (WeaponData[CWeapon_Grenade_Model]);
425+ }
426+ }
421427
422428 CWeapons__ReadSounds (weaponJson, WeaponData);
423429
0 commit comments