diff options
author | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-10-20 20:11:43 +0100 |
---|---|---|
committer | BobTheBob <32057864+BobTheBob9@users.noreply.github.com> | 2021-10-20 20:11:43 +0100 |
commit | e79a58640e1ef1ea1c3c954aefccd36c3cb55286 (patch) | |
tree | 8c7b822f8777ccdf6b0d86587da853b8451953c1 /Northstar.Custom | |
parent | d37c5ae333b4e622ebd0d18cf02a87d66aac62f9 (diff) | |
download | NorthstarMods-e79a58640e1ef1ea1c3c954aefccd36c3cb55286.tar.gz NorthstarMods-e79a58640e1ef1ea1c3c954aefccd36c3cb55286.zip |
automatic mod enable/disable, refactors and item registration callbacks
Diffstat (limited to 'Northstar.Custom')
19 files changed, 56 insertions, 1172 deletions
diff --git a/Northstar.Custom/keyvalues/scripts/weapons/melee_pilot_emptyhanded.txt b/Northstar.Custom/keyvalues/scripts/weapons/melee_pilot_emptyhanded.txt new file mode 100644 index 00000000..fa83ce07 --- /dev/null +++ b/Northstar.Custom/keyvalues/scripts/weapons/melee_pilot_emptyhanded.txt @@ -0,0 +1,9 @@ +WeaponData +{ + // mod for testing low damage, high knockback "shove" melee rebalance + test_push + { + "melee_damage" "5" + "impulse_force" "150000" + } +}
\ No newline at end of file diff --git a/Northstar.Custom/mod.json b/Northstar.Custom/mod.json index 7b009d03..62729854 100644 --- a/Northstar.Custom/mod.json +++ b/Northstar.Custom/mod.json @@ -1,17 +1,18 @@ { "Name" : "Northstar.Custom", "LoadPriority": 1, - + "RequiredOnClient": true, + "Scripts": [ { - "Path": "northstar_custom_autoprecache.gnut", + "Path": "sh_northstar_custom_precache.gnut", "RunOn": "( CLIENT || SERVER ) && MP", "ClientCallback": { - "After": "NorthstarCustomAutoprecache" + "After": "NorthstarCustomPrecache" }, "ServerCallback": { - "After": "NorthstarCustomAutoprecache" + "After": "NorthstarCustomPrecache" } }, { @@ -27,54 +28,6 @@ "RunOn": "( CLIENT || SERVER ) && MP", }, - { - "Path": "gamemodes/sh_gamemode_sbox.gnut", - "RunOn": "( CLIENT || SERVER ) && MP", - "ClientPreCallback": { - "Before": "Sh_GamemodeSbox_Init" - }, - - "ServerPreCallback": { - "Before": "Sh_GamemodeSbox_Init" - } - }, - { - "Path": "gamemodes/_gamemode_sbox.gnut", - "RunOn": "SERVER && MP" - }, - { - "Path": "weapons/mp_weapon_toolgun.nut", - "RunOn": "( CLIENT || SERVER ) && MP" - }, - { - "Path": "weapons/toolgun/sh_toolgun_tools.gnut", - "RunOn": "( CLIENT || SERVER ) && MP", - "ClientCallback": "ToolgunTools_Init", - "ServerCallback": "ToolgunTools_Init" - }, - { - "Path": "weapons/toolgun/sh_toolgun_tool_throw.nut", - "RunOn": "( CLIENT || SERVER ) && MP", - "ClientCallback": { - "After": "ToolgunToolThrowEntity_Init" - }, - - "ServerCallback": { - "After": "ToolgunToolThrowEntity_Init" - } - }, - { - "Path": "weapons/toolgun/sh_toolgun_tool_explode.nut", - "RunOn": "( CLIENT || SERVER ) && MP", - "ClientCallback": { - "After": "ToolgunToolCreateExplosion_Init" - }, - - "ServerCallback": { - "After": "ToolgunToolCreateExplosion_Init" - } - }, - // fortwar { "Path": "gamemodes/sh_gamemode_fw_custom.nut", @@ -299,15 +252,19 @@ // riffs, playlist vars etc { - "Path": "gamemodes/_riff_instagib.gnut", - "RunOn": "SERVER && MP", + "Path": "gamemodes/sh_riff_instagib.gnut", + "RunOn": "( CLIENT || SERVER ) && MP", + "ClientCallback": { + "After": "RiffInstagib_Init" + }, + "ServerCallback": { "After": "RiffInstagib_Init" } }, { - "Path": "_custom_air_accel.gnut", + "Path": "sh_custom_air_accel.gnut", "RunOn": "CLIENT || SERVER", "ClientCallback": { "After": "CustomAirAccelVars_Init" @@ -319,7 +276,7 @@ }, { - "Path": "_promode.gnut", + "Path": "sh_promode.gnut", "RunOn": "MP", "ClientCallback": { "After": "Promode_Init" @@ -331,7 +288,7 @@ }, { - "Path": "_bleedout_damage.gnut", + "Path": "sh_bleedout_damage.gnut", "RunOn": "( CLIENT || SERVER ) && MP", "ClientCallback": { "Before": "BleedoutDamage_PreInit", @@ -345,7 +302,7 @@ }, { - "Path": "_custom_oob_timer.gnut", + "Path": "sh_custom_oob_timer.gnut", "RunOn": "( CLIENT || SERVER ) && MP", "ClientCallback": { "After": "CustomOOBTimer_Init" diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_gg.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_gg.gnut index e0178034..8c68f554 100644 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_gg.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_gg.gnut @@ -15,6 +15,10 @@ void function GamemodeGG_Init() AddCallback_OnPlayerKilled( OnPlayerKilled ) AddCallback_GameStateEnter( eGameState.WinnerDetermined, OnWinnerDetermined ) + + // set scorelimit if it's wrongm sort of a jank way to do it but best i've got rn + if ( GetCurrentPlaylistVarInt( "scorelimit", GetGunGameWeapons().len() ) != GetGunGameWeapons().len() ) + SetPlaylistVarOverride( "scorelimit", GetGunGameWeapons().len().tostring() ) } void function OnPlayerRespawned( entity player ) diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_sbox.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_sbox.gnut deleted file mode 100644 index 27581aea..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_gamemode_sbox.gnut +++ /dev/null @@ -1,49 +0,0 @@ -untyped -global function GamemodeSbox_Init - -struct { - array<entity> spawnpoints -} file - -void function GamemodeSbox_Init() -{ - SetConVarInt( "sv_cheats", 1 ) // cheats on by default - - // cache spawnpoints - //file.spawnpoints = GetEntArrayByClass_Expensive( "info_spawnpoint_human" ) - // todo just use a spawn callback for this rather than weird late cache in spawn - - AddCallback_OnClientConnected( SboxSpawnPlayer ) - AddDeathCallback( "player", SboxRespawnPlayer ) -} - -void function SboxSpawnPlayer( entity player ) -{ - if ( player.GetPlayerSettings() == "spectator" ) // if they haven't spawned yet - player.SetPlayerSettings( "pilot_grapple_male" ) - - if ( file.spawnpoints.len() == 0 ) // have to cache late rather than on init due to spawnpoints not existing in init - file.spawnpoints = GetEntArrayByClass_Expensive( "info_spawnpoint_human" ) - - if ( GetGameState() != eGameState.Playing ) // hacky but can't set this in init either - SetGameState( eGameState.Playing ) - - entity spawnpoint = file.spawnpoints[ RandomInt( file.spawnpoints.len() ) ] - - ScreenFadeFromBlack( player, 0.0, 0.0 ) // HACK before non-classicmp intros are ready, remove the blackscreen we get from waitingforplayers - player.RespawnPlayer( spawnpoint ) - player.GiveWeapon( "mp_weapon_toolgun" ) -} - -void function SboxRespawnPlayer( entity player, var damageInfo ) -{ - thread SboxRespawnPlayerThreaded( player ) -} - -void function SboxRespawnPlayerThreaded( entity player ) -{ - // todo: replace this with real respawn logic when that's ready - - wait 2.5 - SboxSpawnPlayer( player ) -}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_sbox.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_sbox.gnut deleted file mode 100644 index 893d9410..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_gamemode_sbox.gnut +++ /dev/null @@ -1,20 +0,0 @@ -global function Sh_GamemodeSbox_Init - -global const string GAMEMODE_SBOX = "sbox" - -void function Sh_GamemodeSbox_Init() -{ - // create custom gametype - AddCallback_OnCustomGamemodesInit( CreateGamemodeSbox ) -} - -void function CreateGamemodeSbox() -{ - GameMode_Create( GAMEMODE_SBOX ) - GameMode_SetName( GAMEMODE_SBOX, "#PL_sbox" ) - GameMode_SetDesc( GAMEMODE_SBOX, "#PL_sbox_desc" ) - - #if SERVER - GameMode_AddServerInit( GAMEMODE_SBOX, GamemodeSbox_Init ) - #endif -}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_riff_instagib.gnut b/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_riff_instagib.gnut index b3868359..316893bb 100644 --- a/Northstar.Custom/mod/scripts/vscripts/gamemodes/_riff_instagib.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/gamemodes/sh_riff_instagib.gnut @@ -1,12 +1,17 @@ global function RiffInstagib_Init +#if SERVER struct { table<entity, int> playerWeapons array<string> instagibWeapons } file +#endif void function RiffInstagib_Init() { + AddPrivateMatchModeSettingEnum( "#MODE_SETTING_CATEGORY_RIFF", "riff_instagib", [ "Disabled", "Enabled" ], "0" ) + + #if SERVER if ( GetCurrentPlaylistVarInt( "riff_instagib", 0 ) == 0 ) return @@ -26,8 +31,10 @@ void function RiffInstagib_Init() AddCallback_OnPlayerRespawned( InstagibSetWeapons ) AddCallback_OnPlayerKilled( InstagibCycleWeaponsForKill ) AddCallback_OnClientDisconnected( InstagibCleanupClient ) + #endif } +#if SERVER void function InstagibSetWeapons( entity player ) { if ( !( player in file.playerWeapons ) ) @@ -62,4 +69,5 @@ void function InstagibCleanupClient( entity player ) { if ( player in file.playerWeapons ) delete file.playerWeapons[ player ] -}
\ No newline at end of file +} +#endif
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/northstar_custom_autoprecache.gnut b/Northstar.Custom/mod/scripts/vscripts/northstar_custom_autoprecache.gnut deleted file mode 100644 index 1d5b7ba9..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/northstar_custom_autoprecache.gnut +++ /dev/null @@ -1,14 +0,0 @@ -untyped -global function NorthstarCustomAutoprecache - -void function NorthstarCustomAutoprecache() -{ - PrecacheWeapon( "mp_weapon_peacekraber" ) - PrecacheWeapon( "melee_pilot_kunai" ) - - if ( GAMETYPE == GAMEMODE_SBOX ) - PrecacheWeapon( "mp_weapon_toolgun" ) - - // will include this as a custom asset when mod v2 is written - PrecacheModel( $"models/SPOILER_w_titan_particle_accelerator.mdl" ) -}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/rodeo/sh_classic_rodeo.gnut b/Northstar.Custom/mod/scripts/vscripts/rodeo/sh_classic_rodeo.gnut index 6e2f0259..038305c0 100644 --- a/Northstar.Custom/mod/scripts/vscripts/rodeo/sh_classic_rodeo.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/rodeo/sh_classic_rodeo.gnut @@ -50,12 +50,15 @@ void function OnRodeoWeakpointDamaged( entity weakpoint, var damageInfo ) attacker.NotifyDidDamage( weakpoint, DamageInfo_GetHitBox( damageInfo ), DamageInfo_GetDamagePosition( damageInfo ), DamageInfo_GetCustomDamageType( damageInfo ) | DF_CRITICAL, damageAmount, DamageInfo_GetDamageFlags( damageInfo ), DamageInfo_GetHitGroup( damageInfo ), DamageInfo_GetWeapon( damageInfo ), DamageInfo_GetDistFromAttackOrigin( damageInfo ) ) // figure out damage to deal to titan - entity attackerWeapon = attacker.GetActiveWeapon() + entity attackerWeapon = DamageInfo_GetWeapon( damageInfo ) + if ( !IsValid( attackerWeapon ) ) + attackerWeapon = attacker.GetActiveWeapon() + int rodeoDamage = attackerWeapon.GetWeaponSettingInt( eWeaponVar.damage_rodeo ) // only really on weapons that were in tf1, unfortunately - if ( rodeoDamage == 0 ) - rodeoDamage = int( attackerWeapon.GetWeaponSettingInt( eWeaponVar.damage_near_value_titanarmor ) * ( attackerWeapon.GetWeaponSettingFloat( eWeaponVar.damage_headshot_scale ) * 1.5 ) ) // would use headshot scale, but it's a bit low in most cases to be competitive + if ( rodeoDamage == 0 ) // would use headshot scale, but it's a bit low in most cases to be competitive with weapons with a valid damage_rodeo + rodeoDamage = int( attackerWeapon.GetWeaponSettingInt( eWeaponVar.damage_near_value_titanarmor ) * ( attackerWeapon.GetWeaponSettingFloat( eWeaponVar.damage_headshot_scale ) * 1.5 ) ) - // damage titan - titan.TakeDamage( rodeoDamage, attacker, attackerWeapon, { damageSourceId = eDamageSourceId.rodeo } ) + // damage titan, make sure DF_BYPASS_SHIELD is a thing for proper behaviour + titan.TakeDamage( rodeoDamage, attacker, attackerWeapon, { damageSourceId = eDamageSourceId.rodeo, scriptType = DamageInfo_GetCustomDamageType( damageInfo ) | DF_BYPASS_SHIELD } ) } #endif
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/_bleedout_damage.gnut b/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut index 8b21184a..8b21184a 100644 --- a/Northstar.Custom/mod/scripts/vscripts/_bleedout_damage.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/sh_bleedout_damage.gnut diff --git a/Northstar.Custom/mod/scripts/vscripts/_custom_air_accel.gnut b/Northstar.Custom/mod/scripts/vscripts/sh_custom_air_accel.gnut index faa92480..faa92480 100644 --- a/Northstar.Custom/mod/scripts/vscripts/_custom_air_accel.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/sh_custom_air_accel.gnut diff --git a/Northstar.Custom/mod/scripts/vscripts/_custom_oob_timer.gnut b/Northstar.Custom/mod/scripts/vscripts/sh_custom_oob_timer.gnut index 9689302c..9689302c 100644 --- a/Northstar.Custom/mod/scripts/vscripts/_custom_oob_timer.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/sh_custom_oob_timer.gnut diff --git a/Northstar.Custom/mod/scripts/vscripts/sh_northstar_custom_precache.gnut b/Northstar.Custom/mod/scripts/vscripts/sh_northstar_custom_precache.gnut new file mode 100644 index 00000000..3e66b5ca --- /dev/null +++ b/Northstar.Custom/mod/scripts/vscripts/sh_northstar_custom_precache.gnut @@ -0,0 +1,11 @@ +untyped +global function NorthstarCustomPrecache + +void function NorthstarCustomPrecache() +{ + PrecacheWeapon( "mp_weapon_peacekraber" ) + PrecacheWeapon( "melee_pilot_kunai" ) + + // create kunai damage source so game won't crash when we hit smth with it + getconsttable()[ "eDamageSourceId" ][ "melee_pilot_kunai" ] <- eDamageSourceId.melee_pilot_emptyhanded +}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/_promode.gnut b/Northstar.Custom/mod/scripts/vscripts/sh_promode.gnut index f390fed6..f390fed6 100644 --- a/Northstar.Custom/mod/scripts/vscripts/_promode.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/sh_promode.gnut diff --git a/Northstar.Custom/mod/scripts/vscripts/weapons/mp_weapon_toolgun.nut b/Northstar.Custom/mod/scripts/vscripts/weapons/mp_weapon_toolgun.nut deleted file mode 100644 index 94bd7429..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/weapons/mp_weapon_toolgun.nut +++ /dev/null @@ -1,39 +0,0 @@ -untyped -global function OnWeaponActivate_weapon_toolgun -global function OnWeaponDeactivate_weapon_toolgun -global function OnWeaponPrimaryAttack_weapon_toolgun -global function OnWeaponStartZoomIn_weapon_toolgun -global function OnWeaponStartZoomOut_weapon_toolgun -#if SERVER -global function OnWeaponNpcPrimaryAttack_weapon_toolgun -#endif - -void function OnWeaponActivate_weapon_toolgun( entity weapon ) -{ - CallToolOnEquipped( weapon.GetOwner(), weapon ) -} - -void function OnWeaponDeactivate_weapon_toolgun( entity weapon ) -{ - CallToolOnUnequipped( weapon.GetOwner(), weapon ) -} - -var function OnWeaponPrimaryAttack_weapon_toolgun( entity weapon, WeaponPrimaryAttackParams attackParams ) -{ - CallToolOnFired( weapon.GetOwner(), weapon, attackParams ) -} - -void function OnWeaponStartZoomIn_weapon_toolgun( entity weapon ) -{ - CallToolOnAds( weapon.GetOwner(), weapon ) -} - -void function OnWeaponStartZoomOut_weapon_toolgun( entity weapon ) -{ - CallToolOnUnAds( weapon.GetOwner(), weapon ) -} - -var function OnWeaponNpcPrimaryAttack_weapon_toolgun( entity weapon, WeaponPrimaryAttackParams attackParams ) -{ - // do nothing for now, maybe make it launch nukes or something later that could be funny -}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tool_explode.nut b/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tool_explode.nut deleted file mode 100644 index 512c538c..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tool_explode.nut +++ /dev/null @@ -1,30 +0,0 @@ -global function ToolgunToolCreateExplosion_Init - -void function ToolgunToolCreateExplosion_Init() -{ - AddCallback_OnToolgunToolsInit( CreateToolgunToolCreateExplosion ) -} - -void function CreateToolgunToolCreateExplosion() -{ - ToolgunTool createExplosionTool - createExplosionTool.toolName = "Create explosion" - createExplosionTool.toolDescription = "Creates an explosion" - - createExplosionTool.onFired = ToolgunToolCreateExplosion_Fire - - RegisterTool( createExplosionTool ) -} - -void function ToolgunToolCreateExplosion_Fire( entity player, entity weapon, WeaponPrimaryAttackParams attackParams ) -{ - #if SERVER - int dist = 55555 // should hit edge of map at all times ideally - vector forward = AnglesToForward( player.EyeAngles() ) - - // raycast to explosion position - TraceResults trace = TraceLine( player.EyePosition(), player.EyePosition() + ( dist * forward ), null, TRACE_MASK_NPCSOLID ) - // make explosion - Explosion( trace.endPos, player, player, 90, 90, 100, 100, 0, trace.endPos, 5000, damageTypes.explosive, eDamageSourceId.burn, "exp_small" ) - #endif -}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tool_throw.nut b/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tool_throw.nut deleted file mode 100644 index d6975c6d..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tool_throw.nut +++ /dev/null @@ -1,24 +0,0 @@ -global function ToolgunToolThrowEntity_Init - -void function ToolgunToolThrowEntity_Init() -{ - AddCallback_OnToolgunToolsInit( CreateToolgunToolThrow ) -} - -void function CreateToolgunToolThrow() -{ - ToolgunTool throwTool - throwTool.toolName = "Throw entity" - throwTool.toolDescription = "Spawns and throws the currently selected entity type" - - throwTool.onFired = ToolgunToolThrow_OnFired - - RegisterTool( throwTool ) -} - -void function ToolgunToolThrow_OnFired( entity player, entity weapon, WeaponPrimaryAttackParams attackParams ) -{ - #if SERVER - ClientCommand( player, "ent_throw npc_frag_drone" ) - #endif -}
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tools.gnut b/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tools.gnut deleted file mode 100644 index 4d7e9d89..00000000 --- a/Northstar.Custom/mod/scripts/vscripts/weapons/toolgun/sh_toolgun_tools.gnut +++ /dev/null @@ -1,196 +0,0 @@ -untyped -global function ToolgunTools_Init -global function AddCallback_OnToolgunToolsInit - -global function RegisterTool -global function CallToolOnEquipped -global function CallToolOnUnequipped -global function CallToolOnFired -global function CallToolOnAds -global function CallToolOnUnAds - -#if SERVER -global function SetToolgunAmmoCount -global function SetToolgunProscreen -#endif // #if SERVER - -global struct ToolgunTool -{ - string toolName = "" - string toolDescription = "" - - void functionref( entity, entity ) onEquipped - void functionref( entity, entity ) onUnequipped - void functionref( entity, entity, WeaponPrimaryAttackParams ) onFired - void functionref( entity, entity ) onAds - void functionref( entity, entity ) onUnAds -} - -struct ToolgunPlayerSettings -{ - int selectedToolIndex - int ammoCount - int proscreenNumber -} - -// doing preprocessor defs inside the struct seemed to cause compiler errors so we define them separately -#if CLIENT -struct { - array<void functionref()> onToolgunToolsInitCallbacks - - array<ToolgunTool> tools - ToolgunPlayerSettings clientPlayerSettings -} file -#endif // #if CLIENT - -#if SERVER -struct { - array<void functionref()> onToolgunToolsInitCallbacks - - array<ToolgunTool> tools - // serverside playersettings - table<int, ToolgunPlayerSettings> playerSettings -} file -#endif // #if SERVER - -void function AddCallback_OnToolgunToolsInit( void functionref() callback ) -{ - file.onToolgunToolsInitCallbacks.append( callback ) -} - -void function ToolgunTools_Init() -{ - //#if SERVER - //AddCallback_OnClientConnecting( InitialiseToolgunSettings ) - //AddCallback_OnClientDisconnected( DestroyToolgunSettings ) - //#endif // #if SERVER - // - //// need this threaded so we can wait a frame - //thread ToolgunTools_InitThreaded() -} - -void function ToolgunTools_InitThreaded() -{ - // wait a frame for tools to all init and add their callbacks - WaitFrame() - - // call callbacks - foreach ( void functionref() callback in file.onToolgunToolsInitCallbacks ) - callback() -} - -void function RegisterTool( ToolgunTool toolStruct ) -{ - file.tools.append( toolStruct ) -} - -void function CallToolOnEquipped( entity player, entity weapon ) -{ - #if CLIENT - if ( file.tools[ file.clientPlayerSettings.selectedToolIndex ].onEquipped != null ) - file.tools[ file.clientPlayerSettings.selectedToolIndex ].onEquipped( player, weapon ) - #endif // #if CLIENT - - #if SERVER - // set ammo and proscreen numbers when equipped - weapon.SetProScreenIntValForIndex( PRO_SCREEN_INT_LIFETIME_KILLS, file.playerSettings[ player.GetPlayerIndex() ].proscreenNumber ) - weapon.SetWeaponPrimaryClipCount( file.playerSettings[ player.GetPlayerIndex() ].ammoCount ) - - if ( file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onEquipped != null ) - file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onEquipped( player, weapon ) - #endif // #if SERVER -} - -void function CallToolOnUnequipped( entity player, entity weapon ) -{ - #if CLIENT - if ( file.tools[ file.clientPlayerSettings.selectedToolIndex ].onUnequipped != null ) - file.tools[ file.clientPlayerSettings.selectedToolIndex ].onUnequipped( player, weapon ) - #endif // #if CLIENT - - #if SERVER - if ( file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onUnequipped != null ) - file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onUnequipped( player, weapon ) - #endif // #if SERVER -} - -void function CallToolOnFired( entity player, entity weapon, WeaponPrimaryAttackParams attackParams ) -{ - #if CLIENT - if ( file.tools[ file.clientPlayerSettings.selectedToolIndex ].onFired != null ) - file.tools[ file.clientPlayerSettings.selectedToolIndex ].onFired( player, weapon, attackParams ) - #endif // #if CLIENT - - #if SERVER - // ammocount needs to be +1 because we lose 1 ammo immediately after this function is run - weapon.SetWeaponPrimaryClipCount( file.playerSettings[ player.GetPlayerIndex() ].ammoCount + 1 ) - - if ( file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onFired != null ) - file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onFired( player, weapon, attackParams ) - #endif // #if SERVER -} - -void function CallToolOnAds( entity player, entity weapon ) -{ - #if CLIENT - if ( file.tools[ file.clientPlayerSettings.selectedToolIndex ].onAds != null ) - file.tools[ file.clientPlayerSettings.selectedToolIndex ].onAds( player, weapon ) - #endif // #if CLIENT - - #if SERVER - if ( file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onUnequipped != null ) - file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onUnequipped( player, weapon ) - #endif // #if SERVER -} - -void function CallToolOnUnAds( entity player, entity weapon ) -{ - #if CLIENT - if ( file.tools[ file.clientPlayerSettings.selectedToolIndex ].onUnAds != null ) - file.tools[ file.clientPlayerSettings.selectedToolIndex ].onUnAds( player, weapon ) - #endif // #if CLIENT - - #if SERVER - if ( file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onUnequipped != null ) - file.tools[ file.playerSettings[ player.GetPlayerIndex() ].selectedToolIndex ].onUnequipped( player, weapon ) - #endif // #if SERVER -} - -#if SERVER -void function InitialiseToolgunSettings( entity player ) -{ - print( "initialising toolgun settings for player " + player ) - - ToolgunPlayerSettings playerSettings - playerSettings.selectedToolIndex = 0 - - file.playerSettings[ player.GetPlayerIndex() ] <- playerSettings -} - -void function DestroyToolgunSettings( entity player ) -{ - delete file.playerSettings[ player.GetPlayerIndex() ] -} - -void function SetToolgunAmmoCount( entity player, int ammoCount ) -{ - entity currentWeapon = player.GetActiveWeapon() - if ( ammoCount > currentWeapon.GetWeaponPrimaryClipCountMax() ) // setting clipcount to over max clipcount crashes so we need to prevent that - return - - ToolgunPlayerSettings playerSettings = file.playerSettings[ player.GetPlayerIndex() ] - playerSettings.ammoCount = ammoCount - - if ( currentWeapon.GetWeaponClassName() == "mp_weapon_toolgun" ) // set ammocount immediately if we've got toolgun equipped already - currentWeapon.SetWeaponPrimaryClipCount( ammoCount ) -} - -void function SetToolgunProscreen( entity player, int proscreenNumber ) -{ - ToolgunPlayerSettings playerSettings = file.playerSettings[ player.GetPlayerIndex() ] - playerSettings.proscreenNumber = proscreenNumber - - if ( player.GetActiveWeapon().GetWeaponClassName() == "mp_weapon_toolgun" ) // set proscreen number immediately if we've got toolgun equipped already - player.GetActiveWeapon().SetProScreenIntValForIndex( PRO_SCREEN_INT_LIFETIME_KILLS, proscreenNumber ) -} -#endif // #if SERVER
\ No newline at end of file diff --git a/Northstar.Custom/mod/scripts/weapons/melee_pilot_emptyhanded.txt b/Northstar.Custom/mod/scripts/weapons/melee_pilot_emptyhanded.txt deleted file mode 100644 index 032867af..00000000 --- a/Northstar.Custom/mod/scripts/weapons/melee_pilot_emptyhanded.txt +++ /dev/null @@ -1,149 +0,0 @@ -WeaponData -{ - // General - "printname" "Melee" - "shortprintname" "Melee" - "description" "Description needed" - "longdesc" "Description needed" - - "menu_icon" "rui/hud/common/melee_icon" - "hud_icon" "rui/hud/common/melee_icon" - - "weaponClass" "human" - "weaponType" "melee" - "body_type" "battle_rifle" - "fire_mode" "offhand_melee" - "never_drop" "1" - - // Models - "viewmodel" "models/weapons/empty_handed/ptpov_emptyhand.mdl" - "playermodel" "models/weapons/empty_handed/w_empty_handed_human.mdl" - - // Melee - "melee_can_hit_humansized" "1" - "melee_can_hit_titans" "0" - "melee_raise_recovery_animtime_normal" "0.75" - "melee_raise_recovery_animtime_quick" "0.4" - "melee_range" "60" - "melee_rumble_on_hit" "pilot_melee_hit" - "melee_rumble_on_hit_partial" "pilot_melee_hit_partial" - "melee_freezelook_on_hit" "0.25" - //"melee_sound_attack_1p" "Player_Melee_Backhand_1P" - "melee_sound_attack_3p" "player_melee_kick_3p" - "melee_anim_3p" "ACT_MP_MELEE_KNIFE_FIRST" - "damage_flags" "DF_MELEE | DF_KNOCK_BACK" - "impact_effect_table" "melee_human" - "impulse_force" "35000" - "offhand_keep_primary_in_hand" "1" - - "zoom_effects" "0" - - MP_BASE - { - "melee_lunge_target_range" "110" - "melee_lunge_target_angle" "30" - "melee_damage" "100" - "melee_damage_heavyarmor" "0" - "melee_attack_animtime" "0" - "melee_lunge_time" "0.3" - "melee_anim_1p_number" "2" - } - - SP_BASE - { - "melee_lunge_target_range" "130" - "melee_lunge_target_angle" "40" - "melee_damage" "125" - "melee_damage_heavyarmor" "125" - "melee_attack_animtime" "0.0" - "melee_lunge_time" "0.2" - "melee_anim_1p_number" "1" // ACT_VM_MELEE_ATTACK1, 2, or 3 - } - - // - - "ammo_suck_behavior" "melee_weapons" - "viewkick_spring" "melee" - - "viewkick_pitch_base" "-1.75" - "viewkick_pitch_random" "0.75" - "viewkick_pitch_softScale" "0.3" - "viewkick_pitch_hardScale" "5.5" - - "viewkick_yaw_base" "1.0" - "viewkick_yaw_random" "0.38" - "viewkick_yaw_softScale" "0.38" - "viewkick_yaw_hardScale" "15.5" - - "viewkick_roll_base" "0" - "viewkick_roll_randomMin" "0.6" - "viewkick_roll_randomMax" "0.8" - "viewkick_roll_softScale" "0.2" - "viewkick_roll_hardScale" "20.75" - - // - "damage_rodeo" "100" - "aimassist_disable_hipfire" "1" - "aimassist_disable_ads" "1" - - // Bob - //"bob_cycle_time" "0.45" - //"bob_vert_dist" "0.075" - //"bob_horz_dist" "0.05" - //"bob_max_speed" "150" - //"bob_pitch" "0.75" - //"bob_yaw" "1" - //"bob_roll" "-0.75" - - // Sway - //"sway_rotate_attach" "SWAY_ROTATE" - //"sway_min_x" "-0.3" - //"sway_min_y" "-0.5" - //"sway_min_z" "-0.5" - //"sway_max_x" "0.3" - //"sway_max_y" "0.5" - //"sway_max_z" "0.1" - //"sway_min_pitch" "-3" - //"sway_min_yaw" "-3.5" - //"sway_min_roll" "-2" - //"sway_max_pitch" "3" - //"sway_max_yaw" "3.5" - //"sway_max_roll" "3" - //"sway_translate_gain" "10" - //"sway_rotate_gain" "12" - //"sway_move_forward_translate_x" "0" - //"sway_move_forward_translate_z" "-0.5" - //"sway_move_back_translate_x" "-2" - //"sway_move_back_translate_z" "-1" - //"sway_move_left_translate_y" "-1" - //"sway_move_left_translate_z" "-0.5" - //"sway_move_left_rotate_roll" "-2" - //"sway_move_right_translate_y" "1" - //"sway_move_right_translate_z" "-0.5" - //"sway_move_right_rotate_roll" "4" - //"sway_move_up_translate_z" "-1" - //"sway_move_down_translate_z" "1" - //"sway_turn_left_rotate_yaw" "-1" - //"sway_turn_right_rotate_yaw" "1" - //"sway_turn_up_rotate_pitch" "1" - //"sway_turn_down_rotate_pitch" "-1" - - // WeaponED Unhandled Key/Values and custom script Key/Values - "deployfirst_time" "1.25" - "sprintcycle_time" ".55" - - Mods - { - rocket_arena - { - "melee_damage" "33" - } - - // mod for testing low damage, high knockback "shove" melee rebalance - test_push - { - "melee_damage" "5" - "impulse_force" "150000" - } - } -} diff --git a/Northstar.Custom/mod/scripts/weapons/mp_weapon_toolgun.txt b/Northstar.Custom/mod/scripts/weapons/mp_weapon_toolgun.txt deleted file mode 100644 index 37e9bc25..00000000 --- a/Northstar.Custom/mod/scripts/weapons/mp_weapon_toolgun.txt +++ /dev/null @@ -1,587 +0,0 @@ -WeaponData -{ - // General - "printname" "#WPN_TOOLGUN" - "shortprintname" "#WPN_TOOLGUN_SHORT" - "description" "#WPN_TOOLGUN_DESC" - "longdesc" "#WPN_TOOLGUN_LONGDESC" - - "fast_swap_to" "1" - - "menu_icon" "r2_ui/menus/loadout_icons/secondary_weapon/secondary_mozambique" - "hud_icon" "r2_ui/menus/loadout_icons/secondary_weapon/secondary_mozambique" - - "weaponClass" "human" - "weaponSubClass" "projectile_shotgun" - "body_type" "close_quarters" - "fire_mode" "auto" - "pickup_hold_prompt" "Hold [USE] [WEAPONNAME]" - "pickup_press_prompt" "[USE] [WEAPONNAME]" - "minimap_reveal_distance" "32000" - "leveled_pickup" "1" - - "OnWeaponActivate" "OnWeaponActivate_weapon_toolgun" - "OnWeaponDeactivate" "OnWeaponDeactivate_weapon_toolgun" - "OnWeaponPrimaryAttack" "OnWeaponPrimaryAttack_weapon_toolgun" - "OnWeaponStartZoomIn" "OnWeaponStartZoomIn_weapon_toolgun" - "OnWeaponStartZoomOut" "OnWeaponStartZoomOut_weapon_toolgun" - "OnWeaponNpcPrimaryAttack" "OnWeaponNpcPrimaryAttack_weapon_toolgun" - - // Menu - "menu_category" "handgun" - "menu_anim_class" "small" - "stat_damage" "57" - "stat_range" "40" - "stat_accuracy" "44" - "stat_rof" "27" - - // Models - "viewmodel" "models/weapons/pstl_sa3/ptpov_pstl_sa3.mdl" - "playermodel" "models/weapons/pstl_sa3/w_pstl_sa3.mdl" - "activitymodifier" "pistol" - "holster_type" "pistol" - - // Effects - "tracer_effect" "weapon_tracers_shotgun" - "impact_effect_table" "bullet_mastiff" - "vortex_impact_effect" "P_impact_xo_shield_cp" - "vortex_absorb_effect" "wpn_vortex_projectile_shotgun_FP" - "vortex_absorb_effect_third_person" "wpn_vortex_projectile_shotgun" - "vortex_absorb_sound" "Vortex_Shield_AbsorbBulletSmall" - "vortex_absorb_sound_1P_VS_3P" "Vortex_Shield_AbsorbBulletSmall_1P_VS_3P" - "projectile_adjust_to_gun_barrel" "1" - - "projectilemodel" "models/dev/empty_model.mdl" - //"projectile_trail_effect_0" "P_dragonsbreath_trail" - "projectile_trail_effect_0" "P_mastiff_proj" - - "sound_dryfire" "shotgun_dryfire" - "sound_pickup" "wpn_pickup_Pistol_1P" - "fire_sound_1_player_1p" "weapon_shotgunpistol_fire_suppressed_1p" - "fire_sound_1_player_3p" "weapon_shotgunpistol_fire_suppressed_3p" - "fire_sound_1_npc" "Weapon_ShotgunPistol_Fire_NPC" - "sound_zoom_in" "Weapon_EVA8_ADS_In" - "sound_zoom_out" "Weapon_EVA8_ADS_Out" - - "low_ammo_sound_name_1" "ShotgunPistol_LowAmmo_Shot1" - "low_ammo_sound_name_2" "ShotgunPistol_LowAmmo_Shot2" - - //"fx_shell_eject_view" "wpn_shelleject_shotshell_FP" - //"fx_shell_eject_world" "wpn_shelleject_shotshell" - //"fx_shell_eject_attach" "shell" - - "fx_muzzle_flash_view" "P_wpn_muz_mastiff_FP" - "fx_muzzle_flash_world" "P_wpn_muz_mastiff" - "fx_muzzle_flash_attach" "muzzle_flash" - - "damage_flags" "DF_SHOTGUN | DF_BULLET | DF_KNOCK_BACK | DF_DISMEMBERMENT" - "damage_type" "bullet" - "damage_headshot_scale" "1.5" - - "explosion_inner_radius" "16" - "explosionradius" "32" - "impulse_force" "0" - - - "critical_hit_damage_scale" "1" - - "projectile_inherit_owner_velocity_scale" "0.0" - - "ammo_clip_size" "6" // arbitrarily large number - "titanarmor_critical_hit_required" "1" - - - - MP_BASE - { - "ammo_default_total" "6" - "ammo_stockpile_max" "6" - "ammo_no_remove_from_stockpile" "1" - "ammo_min_to_fire" "0" - - "aimassist_adspull_weaponclass" "broad" - - "critical_hit" "1" - - // Damage - When Used by Players - "damage_near_value" "30" - "damage_far_value" "25" - "damage_near_value_titanarmor" "30" - "damage_far_value_titanarmor" "20" - // "explosion_damage" "50" // 150 - // "explosion_damage_heavy_armor" "50" // 150 - "damage_near_distance" "750" - "damage_far_distance" "1000" - - "red_crosshair_range" "750" - - // Damage - When Used by NPCs - "npc_damage_near_value" "11" - "npc_damage_far_value" "5" - "npc_damage_near_value_titanarmor" "<KEEP_DEFAULT>" - "npc_damage_far_value_titanarmor" "<KEEP_DEFAULT>" - "npc_damage_near_distance" "500" - "npc_damage_far_distance" "1000" - - // NPC - "npc_min_engage_range" "0" - "npc_max_engage_range" "1000" - "npc_min_engage_range_heavy_armor" "100" - "npc_max_engage_range_heavy_armor" "2000" - "npc_min_range" "0" - "npc_max_range" "8000" - - "npc_min_burst" "1" - "npc_max_burst" "1" - "npc_rest_time_between_bursts_min" "0.5" - "npc_rest_time_between_bursts_max" "0.5" - - "enable_highlight_networking_on_creation" "<KEEP_DEFAULT>" - - "damage_heavyarmor_nontitan_scale" "0.35" - } - - SP_BASE - { - "ammo_default_total" "20" - "ammo_stockpile_max" "32" - "ammo_no_remove_from_stockpile" "0" - "ammo_min_to_fire" "1" - - "aimassist_adspull_weaponclass" "broad_sp" - - "critical_hit" "0" - - // Damage - When Used by Players - "damage_near_value" "30" - "damage_far_value" "20" - "damage_near_value_titanarmor" "30" - "damage_far_value_titanarmor" "20" - // "explosion_damage" "50" - // "explosion_damage_heavy_armor" "50" - "damage_near_distance" "750" - "damage_far_distance" "850" - - "red_crosshair_range" "750" - - // Damage - When Used by NPCs - "npc_damage_near_value" "11" - "npc_damage_far_value" "5" - "npc_damage_near_value_titanarmor" "10" - "npc_damage_far_value_titanarmor" "8" - "npc_damage_near_distance" "500" - "npc_damage_far_distance" "1000" - - // NPC - "npc_min_engage_range" "0" - "npc_max_engage_range" "1000" - "npc_min_engage_range_heavy_armor" "100" - "npc_max_engage_range_heavy_armor" "2000" - "npc_min_range" "0" - "npc_max_range" "8000" - - "npc_min_burst" "1" - "npc_max_burst" "1" - "npc_rest_time_between_bursts_min" "0.7" - "npc_rest_time_between_bursts_max" "1.0" - - "enable_highlight_networking_on_creation" "1" - - "damage_heavyarmor_nontitan_scale" "1" - } - - "proficiency_poor_spreadscale" "5.0" - "proficiency_average_spreadscale" "5.0" - "proficiency_good_spreadscale" "3.66667" - "proficiency_very_good_spreadscale" "3.66667" - - "viewmodel_offset_ads" "0 0 0" - "dof_zoom_nearDepthStart" "4.750" - "dof_zoom_nearDepthEnd" "11.00" - "dof_nearDepthStart" "0" - "dof_nearDepthEnd" "0" - - //"bolt_hitsize" "20" - - "bolt_hitsize" "0.5" - "bolt_hitsize_grow1_time" "0.055" - "bolt_hitsize_grow1_size" "5.0" - "bolt_hitsize_grow2_time" "0.18" - "bolt_hitsize_grow2_size" "7.5" - "bolt_hitsize_growfinal_lerptime" "0.18" - "bolt_hitsize_growfinal_size" "7.5" - - "bolt_gravity_enabled" "1" - - // Behavior - "fire_rate" "3.0" - "zoom_time_in" "0.2" - "zoom_time_out" "0.15" - "zoom_fov" "55" - "reload_time" "2.1" - "reload_time_late1" "1.05" - "reloadempty_time" "2.1" - "reloadempty_time_late1" "1.05" - "holster_time" "0.3" - "deploy_time" "0.4" - "lower_time" "0.2" - "raise_time" "0.2" - "vortex_refire_behavior" "bullet" - "allow_empty_fire" "0" - "reload_enabled" "0" - "allow_empty_click" "1" - "empty_reload_only" "0" - "trigger_snipercam" "0" - "allow_headshots" "1" - "headshot_distance" "1400" - "primary_fire_does_not_block_sprint" "0" - "ads_move_speed_scale" "0.5" - "aimassist_disable_hipfire" "1" - "aimassist_disable_ads" "1" - "aimassist_disable_hipfire_titansonly" "0" - "aimassist_disable_ads_titansonly" "0" - - "sprint_fractional_anims" "0" - - // Spread - "spread_stand_hip" "0" - "spread_stand_hip_run" "0" - "spread_stand_hip_sprint" "0" - "spread_stand_ads" "0" - "spread_crouch_hip" "0" - "spread_crouch_ads" "0" - "spread_air_hip" "0" - "spread_air_ads" "0" - - // Spread on NPCs affects their initial shooting direction - // Don't make this a large number or the damage/tracers won't be even remotely parallel to their barrel - - "ammo_suck_behavior" "primary_weapons" - - // View Kick - "viewkick_spring" "shotgun" - - "viewkick_pitch_base" "-2.25" - "viewkick_pitch_random" "1" - "viewkick_pitch_softScale" "1.4" - "viewkick_pitch_hardScale" "0.5" - - "viewkick_yaw_base" "-0.95" - "viewkick_yaw_random" "0.5" - "viewkick_yaw_softScale" "1.5" - "viewkick_yaw_hardScale" "0.5" - - "viewkick_roll_base" "0" - "viewkick_roll_randomMin" "0.6" - "viewkick_roll_randomMax" "0.8" - "viewkick_roll_softScale" "0.2" - "viewkick_roll_hardScale" "2.75" - - "viewkick_hipfire_weaponFraction" "0.1" - "viewkick_hipfire_weaponFraction_vmScale" "0.0" - "viewkick_ads_weaponFraction" "1.0" - "viewkick_ads_weaponFraction_vmScale" "0.15" - - "viewkick_perm_pitch_base" "0" - "viewkick_perm_pitch_random" "0.0" - - // - "viewmodel_shake_forward" "0.5" - "viewmodel_shake_up" "0.2" - "viewmodel_shake_right" "0.0" - - // Bob - "bob_cycle_time" "0.4" - "bob_vert_dist" "0.19" - "bob_horz_dist" "0.1" - "bob_max_speed" "150" - "bob_pitch" "0.75" - "bob_yaw" "-1.7" - "bob_roll" "1.2" - - // Bob_Zoomed - "bob_cycle_time_zoomed" "0.4" - "bob_vert_dist_zoomed" "0.01" - "bob_horz_dist_zoomed" "0.01" - "bob_max_speed_zoomed" "150" - //"bob_pitch_zoomed" "0.002" - //"bob_yaw_zoomed" "-.002" - //"bob_roll_zoomed" ".002" - - // Rumble - "fire_rumble" "rumble_pistol_heavy" - - // Sway - "sway_rotate_attach" "SWAY_ROTATE" - "sway_min_x" "-0.5" - "sway_min_y" "-0.5" - "sway_min_z" "-0.6" - "sway_max_x" "0.5" - "sway_max_y" "0.5" - "sway_max_z" "0.6" - "sway_min_pitch" "-3" - "sway_min_yaw" "-2.5" - "sway_min_roll" "-4" - "sway_max_pitch" "3" - "sway_max_yaw" "2.5" - "sway_max_roll" "4" - "sway_translate_gain" "2.5" - "sway_rotate_gain" "7" - "sway_move_forward_translate_x" "-0.1" - "sway_move_forward_translate_z" "-0.5" - "sway_move_back_translate_x" "0.2" - "sway_move_back_translate_z" "-0.2" - "sway_move_left_translate_y" "-1" - "sway_move_left_translate_z" "-0.5" - "sway_move_left_rotate_roll" "-4" - "sway_move_right_translate_y" "1" - "sway_move_right_translate_z" "-0.5" - "sway_move_right_rotate_roll" "4" - "sway_move_up_translate_z" "-1" - "sway_move_down_translate_z" "1" - "sway_turn_left_rotate_yaw" "-2.5" - "sway_turn_right_rotate_yaw" "2.5" - - "sway_turn_left_translate_y" ".5" - "sway_turn_right_translate_y" "-.5" - "sway_turn_up_translate_z" ".2" - "sway_turn_down_translate_z" "-.2" - "sway_turn_up_translate_x" ".1" - "sway_turn_down_translate_x" "-.1" - - "sway_turn_left_rotate_roll" "4" - "sway_turn_right_rotate_roll" "-4" - "sway_turn_up_rotate_pitch" "3" - "sway_turn_down_rotate_pitch" "-3" - "sway_turn_up_rotate_roll" "-0.8" - "sway_turn_down_rotate_roll" "0.8" - - // Zoomed Sway - "sway_rotate_attach_zoomed" "SWAY_ROTATE_ZOOMED" - "sway_rotate_attach_blend_time_zoomed" "0.2" - "sway_rotate_gain_zoomed" "5" - - "sway_min_yaw_zoomed" "-0.073" - "sway_max_yaw_zoomed" "0.073" - "sway_turn_left_rotate_yaw_zoomed" "-0.085" - "sway_turn_right_rotate_yaw_zoomed" "0.085" - - "sway_min_roll_zoomed" "-4" - "sway_max_roll_zoomed" "4" - "sway_turn_left_rotate_roll_zoomed" "0" - "sway_turn_right_rotate_roll_zoomed" "0" - - "sway_move_right_rotate_roll_zoomed" "0.2" - "sway_move_left_rotate_roll_zoomed" "-0.2" - - "sway_min_pitch_zoomed" "-0.03" - "sway_max_pitch_zoomed" "0.03" - "sway_turn_up_rotate_pitch_zoomed" "0.07" - "sway_turn_down_rotate_pitch_zoomed" "-0.07" - - // WeaponED Unhandled Key/Values and custom script Key/Values - "bob_tilt_angle" "0.5" - "sway_turn_angle_factor" "-0.5" - "sway_turn_origin_factor" "0" - "sway_turn_angle_factor_zoomed" "0" - "sway_turn_origin_factor_zoomed" "0.05" - "sway_move_angle_factor" "0.15" - "sway_move_origin_factor" "0.15" - "sway_move_angle_factor_zoomed" "0" - "sway_move_origin_factor_zoomed" "0.03" - "sway_gain" "10.0" - "deployfirst_time" "1.0" - "deploycatch_time" "1.33" - "sprintcycle_time" ".55" - - // Bodygroups: - "bodygroup1_name" "suppressor_cyl_med" - "bodygroup1_set" "0" - "bodygroup2_name" "suppressor_sq_med" - "bodygroup2_set" "1" // enable suppressor bodygroup by default - "bodygroup3_name" "sight_cqh" - "bodygroup3_set" "0" - "bodygroup4_name" "sight_acgs" - "bodygroup4_set" "0" - "bodygroup5_name" "sight_cro" - "bodygroup5_set" "0" - "bodygroup6_name" "proscreen" - "bodygroup6_set" "1" // enable proscreen bodygroup by default - - "clip_bodygroup" "pstl_sa3_shell" - "clip_bodygroup_index_shown" "0" - "clip_bodygroup_index_hidden" "1" - "clip_bodygroup_show_for_milestone_0" "1" - "clip_bodygroup_show_for_milestone_1" "0" - "clip_bodygroup_show_for_milestone_2" "0" - "clip_bodygroup_show_for_milestone_3" "0" - - Mods - { - iron_sights - { - } - extended_ammo - { - "ammo_stockpile_max" "160" - "ammo_clip_size" "8" - "ammo_default_total" "160" - } - silencer //HACK JFS: Doesn't get applied on amped weapons. See bug 170460 - { - "bodygroup2_set" "1" - "silenced" "1" - "fire_sound_1_player_1p" "weapon_shotgunpistol_fire_suppressed_1p" - "fire_sound_1_player_3p" "weapon_shotgunpistol_fire_suppressed_3p" - "damage_near_value" "--10" - "damage_far_value" "--4" - //"bodygroup2_set" "1" - - //"rumble" "4" - //"tracer_effect" "P_wpn_tracer_pistol" - "minimap_reveal_distance" "1" - - "fx_muzzle_flash_view" "wpn_muzzleflash_pistol_sup_FP" - "fx_muzzle_flash_world" "wpn_muzzleflash_pistol_sup" - //"fx_muzzle_flash_attach" "muzzle_flash_suppressor_sq" - } - pas_run_and_gun - { - "primary_fire_does_not_block_sprint" "1" - "crosshair_force_sprint_fade_disabled" "1" - } - alt_spread - { - } - hcog - { - "bodygroup3_set" "1" - "bodygroup4_set" "0" - "bodygroup5_set" "0" - "viewmodel_offset_ads" "0 -6 -0.79" - "dof_zoom_nearDepthStart" "0.750" - "dof_zoom_nearDepthEnd" "8.000" - } - threat_scope - { - "bodygroup3_set" "0" - "bodygroup4_set" "0" - "bodygroup5_set" "1" - "threat_scope_enabled" "1" - "threat_scope_bounds_tagname1" "SCR_TR_CRO" - "threat_scope_bounds_tagname2" "SCR_BL_CRO" - "viewmodel_offset_ads" "0 -10 -0.83" - "dof_zoom_nearDepthStart" "5.040" - "dof_zoom_nearDepthEnd" "5.737" - } - pro_screen - { - "ui8_enable" "1" - "bodygroup6_set" "1" - } - pas_fast_reload - { - "reload_time" "*0.7" - "reload_time_late1" "*0.7" - "reloadempty_time" "*0.7" - "reloadempty_time_late1" "*0.7" - } - pas_fast_ads - { - //Fast ADS - "zoom_time_in" "*0.5" - "zoom_time_out" "*0.6" - } - pas_fast_swap - { - //Fast Swap - "fast_swap_to" "1" - } - tactical_cdr_on_kill - { - - } - burn_mod_shotgun_pistol - { - "damage_near_value" "++5" - "damage_far_value" "++10" - "damage_near_value_titanarmor" "++30" - "damage_far_value_titanarmor" "++30" - "is_burn_mod" "1" - - //Effects - "fx_muzzle_flash_view" "P_wpn_muz_SGPistol_amp_FP" - "fx_muzzle_flash_world" "P_wpn_muz_mastiff_amp" - "projectile_trail_effect_0" "P_mastiff_proj_amp" - "impact_effect_table" "titan_bullet_elec" - } - - } - - - "ui1_enable" "1" - "ui1_draw_cloaked" "1" - UiData1 - { - "ui" "ui/sa3_crosshair" - "mesh" "models/weapons/attachments/sa3_rui_upper" - Args - { - vis player_zoomfrac - } - } - - "ui2_enable" "1" - UiData2 - { - "ui" "ui/sa3_ammo_counter" - "mesh" "models/weapons/attachments/sa3_rui_lower" - Args - { - vis player_zoomfrac - ammo weapon_ammo - clipSize weapon_clipSize - clipCount weapon_stockpileClipCount - } - } - - "ui8_enable" "1" - UiData8 - { - "ui" "ui/pro_screen_panel" - "mesh" "models/weapons/attachments/pro_screen_rui_upper" - Args - { - proValue proscreen_int0 - proOwnedByPlayer proscreen_owner_is_player - } - } - - active_crosshair_count "1" - rui_crosshair_index "0" - - RUI_CrosshairData - { - DefaultArgs - { - adjustedSpread weapon_spread - adsFrac player_zoomFrac - isSprinting player_is_sprinting - isReloading weapon_is_reloading - teamColor crosshair_team_color - isAmped weapon_is_amped - crosshairMovementX crosshair_movement_x - crosshairMovementY crosshair_movement_y - } - - Crosshair_1 - { - "ui" "ui/crosshair_mozambique" - "base_spread" "0.0" - Args - { - isFiring weapon_is_firing - } - } - } -} |