on cleansuit scientist yes it wont matter totally to not just use on the normal scientist to use custom model of the cleansuit scientist
as he is just pure clone that use a different model and with the official changed behavior gearbox created them that they cannot heal
it would require to decompile the cleansuit scientist model to add to it the needle and you could also add all the half life 1 and opfor blue shift animations to him alongside with the cleansuit ones to have alot of sequences to use but half life unified already have the cleansuit scientist model with all of this so you could just copy use the model from there instead to edit the model to add it
on the alien grunt i remember before years i thought what would happen if i would copy the model decompile it and remove all of the animations of hornet shooting and also to remove the submodel of hivehand so it will use the hand without hive hand and it worked and they became melee only
but since it was in vanilla half life this replaced it for any alien grunt
so i did this again in featureful by use on the alien grunt a custom model that is without the hornet animations and without submodel of hivehand
so it will use the hand without hivehand submodel
and giving it a other new name for the model example : agrunt_meleeonly
and it works exactly like if it was coded to not be able to use hornets or if can but only if coding a new option that make it melee only instead
you could do this on alien slave for example too remove all the animations of the ranged attacks and have the model with a new name different than what the game using and select it as custom model and it will work as melee only for the alien slave entity
its better to have it official supported by coding instead
but still up to than this workaround can be used and it works exactly the same without coding but use a model replacement
also up to when the babygarg is fixed in its code to use the flameon flamerun and flameoff sounds from babygarg sound folder and not the normal garg ones
you can up to than use the soundscript file in sound folder with this code it will be a global fix (always on any babygarg entity in the game with no need to use any some entity properties on it) with this code:
{
"BabyGarg.BeamAttackOn": {
"waves": ["babygarg/gar_flameon1.wav"]
},
"BabyGarg.BeamAttackRun": {
"waves": ["babygarg/gar_flamerun1.wav"]
},
"BabyGarg.BeamAttackOff": {
"waves": ["babygarg/gar_flameoff1.wav"]
}
}
also another Interesting idea i tryed was to make the babygarg to be "
become" a normal garg without coding in sort of way
a big garg that like the baby garg can be hurt in any way and have a normal death with no explosion and play death sounds
by make a entity template since first using only model and sound replacement dont let you to do other customization stuff such as select collision box and other options needed to mimic the normal garg as much as possible
so i used instead entity template after reading how to use it with this code to mimic the big garg as much as possible
with the exceptions of what you cannot change without source code coding change like the stomp projectile being faster speed than the normal garg's one
check this code and try it out in game on monster_babygarg on Entity template to try this out:
{
"babygarg_togarg": {
"own_visual": {
"model": "models/garg.mdl"
},
"soundscripts": {
"BabyGarg.Stomp": {
"pitch": 50
}
},
"classify": "Gargantua",
"health": 800,
"collision_box": "monster_garganuta",
"blood": "yellow",
"sound_replacement": {
"babygarg/gar_alert1.wav" : "garg/gar_alert1.wav" ,
"babygarg/gar_alert2.wav" : "garg/gar_alert2.wav" ,
"babygarg/gar_alert3.wav": "garg/gar_alert3.wav" ,
"babygarg/gar_attack1.wav" : "garg/gar_attack1.wav" ,
"babygarg/gar_attack2.wav" : "garg/gar_attack2.wav" ,
"babygarg/gar_attack3.wav" : "garg/gar_attack3.wav" ,
"babygarg/gar_breathe1.wav" : "garg/gar_breathe1.wav" ,
"babygarg/gar_breathe2.wav" : "garg/gar_breathe2.wav" ,
"babygarg/gar_breathe3.wav" : "garg/gar_breathe3.wav" ,
"babygarg/gar_die1.wav" : "garg/gar_die1.wav" ,
"babygarg/gar_die2.wav" : "garg/gar_die2.wav" ,
"babygarg/gar_flameoff1.wav": "garg/gar_flameoff1.wav" ,
"babygarg/gar_flameon1.wav" : "garg/gar_flameon1.wav" ,
"babygarg/gar_flamerun1.wav" : "garg/gar_flamerun1.wav" ,
"babygarg/gar_idle1.wav" : "garg/gar_idle1.wav" ,
"babygarg/gar_idle2.wav" : "garg/gar_idle2.wav" ,
"babygarg/gar_idle3.wav" : "garg/gar_idle3.wav" ,
"babygarg/gar_idle4.wav" : "garg/gar_idle4.wav" ,
"babygarg/gar_idle5.wav" : "garg/gar_idle5.wav" ,
"babygarg/gar_pain1.wav" : "garg/gar_pain1.wav" ,
"babygarg/gar_pain2.wav" : "garg/gar_pain2.wav" ,
"babygarg/gar_pain3.wav" : "garg/gar_pain3.wav" ,
"babygarg/gar_step1.wav" : "garg/gar_step1.wav" ,
"babygarg/gar_step2.wav" : "garg/gar_step2.wav" ,
"babygarg/gar_stomp1.wav" : "garg/gar_stomp1.wav"
},
"visuals": {
"BabyGarg.Eye": {
"model": "sprites/gargeye1.spr",
"color": [255, 255 , 255],
"rendermode": "Glow",
"renderfx": "Constant Glow",
"alpha": 200,
"scale": 1.0
},
"BabyGarg.Stomp": {
"color": [255, 0 , 0],
"rendermode": "additive",
"alpha": 255,
"scale": 1.0
}
}
}
}
a cool idea that shows how so much customization like what featureful let you do to
https://jsonformatter.org/json-parser
site was very useful for checking there is no parse error in the json syntax so a the entity template code will work in the game