NTKS-Team / source-sdk-2013

NEOTOKYO° Kshatriya is a single player standalone HL2 mod.
https://www.moddb.com/games/neotokyo-kshatriya
Other
0 stars 0 forks source link

different weapons for different characters #1

Open wraybies opened 3 years ago

wraybies commented 3 years ago

player start marker has listing to change whether character is Isaac or Katsu this will select from 2 groups of viewmodels to use for the guns

wraybies commented 3 years ago

other considerations: isaac character has no hud/same as nonsuit gordon (though he will have a suit)

katsu character has full hud katsu character has less recoil and spread when firing the AR aimed

z33ky commented 2 years ago

This is partially implemented in the player_switch branch. The differences between players are the viewmodel and viewmodel lag.

WeaponData
{
    // Weapon data is loaded by both the Game and Client DLLs.
    "printname"    "VSS"
    "viewmodel"            "models/weapons/v_irifle.mdl"
    "playermodel"            "models/weapons/w_irifle.mdl"
    "anim_prefix"            "ar2"
[...]
    Isaac
    {
        "viewmodel"            "models/weapons/v_irifle.mdl"
        "viewmodel_lag"
        {
            "lag_max" "1.0"
            "pitch_f" "0.02"
            "pitch_r" "0.01"
            "pitch_u" "0.01"
        }
    }

    Katsu
    {
        "viewmodel"            "models/weapons/v_irifle.mdl"
        "viewmodel_lag"
        {
            "lag_max" "8.0"
        }
    }

    // Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
    SoundData
    {
        "empty"            "Weapon_IRifle.Empty"

Apart from the shown parameters in the "viewmodel_lag"-block there's also "recenter_speed", "lag" and "recenter_speed_ads", "lag_ads", "lag_max_ads" for AR2 ironsight-mode. I'm not sure how the "lag"-parameter works. I've just exposed the variable as used by the existing HL2 code.

These can be overridden using a bunch of clviewmodel* console-variables. Set cl_viewmodel_override_character 1 to activate their usage. The variables have help-text that you can view by entering only the variable, without a value, i.e.

] cl_viewmodel_pitch_f
"cl_viewmodel_pitch_f" = "0.035"
 game replicated
 - Viewmodel adjustment for player pitch (forward)

"attack_spread" sets bullet spread. There is also a corresponding sk_spread_override console-variable.