Skip to content

Commit ea33a9e

Browse files
committed
implement staging/test custom item support. balance changes
1 parent f581d74 commit ea33a9e

File tree

7 files changed

+127
-1
lines changed

7 files changed

+127
-1
lines changed

game/quiver/info_changelog.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ Added the following Source SDK Pull Requests:
4040
- #1466: MAX_MENU_STRING increase (increased to 4096 characters)
4141
- #1469: Fix Sappers becoming indestructible under certain circumstances
4242
- #1470: Fix ownerless sentry rockets dealing no damage
43+
- #1472: Reimplement sv_showhitboxes for listen servers only
44+
- #1473: Fix Diamondback getting revenge crits from earlier kills when switched onto
4345

4446
Details:
4547
- Fixed a bug where the mini-crit damage effect doesn't show up when your shield breaks.
@@ -76,6 +78,7 @@ Details:
7678
- Fixed a bug where you couldn't send armored enemies airborne.
7779
- Fixed the armor broken condition not respecting some mini-crit attributes.
7880
- Made it so the the Flying Guillotine guarantees full crits on long distance hits with enemies that just got their armor broken.
81+
- Increased the recharge time for the Flying Guillotine from 5.1 seconds to 7.6 seconds.
7982

8083
Quiver Private Alpha 1.1.0:
8184
Whitelists:

game/quiver/info_highlights.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ Unlockable weapon balance changes:
102102
- The Reserve Shooter now crits airborne opponents (not including jumping or air jumping players) within 3 seconds of it being deployed. After the 3 seconds has elapsed, the crits are downgraded to mini-crits.
103103
- The Reserve Shooter now has a 15% fire rate penalty.
104104
- Made it so the the Flying Guillotine guarantees full crits on long distance hits with enemies that just got their armor broken.
105+
- Increased the recharge time for the Flying Guillotine from 5.1 seconds to 7.6 seconds.
105106

106107
MvM Changes:
107108
- Added armor-related upgrades to MvM (max armor, pierces damage resistances, and armor resistance).
1.05 KB
Binary file not shown.

game/quiver/scripts/items/items_custom.txt

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,30 @@
1515
"custom item" "1"
1616
}
1717
}
18+
19+
"quiver_jokeweapon"
20+
{
21+
"jokeitem" "1"
22+
"show_in_armory" "0"
23+
"min_ilevel" "69"
24+
"max_ilevel" "69"
25+
"static_attrs"
26+
{
27+
"joke item" "1"
28+
}
29+
}
30+
31+
"quiver_customweapon_staging"
32+
{
33+
"staging" "1"
34+
"show_in_armory" "0"
35+
"min_ilevel" "1"
36+
"max_ilevel" "1"
37+
"static_attrs"
38+
{
39+
"test item" "1"
40+
}
41+
}
1842

1943
// custom
2044
"weapon_quiver_generic_demoshield"
@@ -788,6 +812,61 @@
788812
"mouse_pressed_sound" "ui/item_light_gun_pickup.wav"
789813
"drop_sound" "ui/item_light_gun_drop.wav"
790814
}
815+
816+
"weapon_quiver_joke_lexecuteur"
817+
{
818+
"base_item_name" "L'Executeur"
819+
"prefab" "quiver_jokeweapon"
820+
"item_class" "tf_weapon_revolver"
821+
"craft_class" "weapon"
822+
"craft_material_type" "weapon"
823+
"capabilities"
824+
{
825+
"nameable" "1"
826+
"can_craft_count" "1"
827+
}
828+
"tags"
829+
{
830+
"can_deal_damage" "1"
831+
"can_deal_critical_damage" "1"
832+
"can_deal_mvm_penetration_damage" "1"
833+
"can_deal_long_distance_damage" "1"
834+
}
835+
"item_type_name" "#TF_Weapon_Revolver"
836+
"item_name" "#Quiver_Joke_lexecutor"
837+
"item_description" "#Quiver_Joke_lexecutor_Desc"
838+
"item_slot" "secondary"
839+
"item_quality" "unique"
840+
"propername" "1"
841+
"item_logname" "bleedfor8seconds"
842+
"item_iconname" "enforcer"
843+
"image_inventory" "backpack/workshop/weapons/c_models/c_snub_nose/c_snub_nose"
844+
"image_inventory_size_w" "128"
845+
"image_inventory_size_h" "82"
846+
"inspect_panel_dist" "32"
847+
"model_player" "models/workshop/weapons/c_models/c_snub_nose/c_snub_nose.mdl"
848+
"attach_to_hands" "1"
849+
"used_by_classes"
850+
{
851+
"spy" "1"
852+
}
853+
"static_attrs"
854+
{
855+
"min_viewmodel_offset" "10 0 -6"
856+
"damage penalty" "0.01"
857+
"maxammo secondary reduced" "0.33"
858+
"clip size penalty" "0.16"
859+
"Reload time increased" "2"
860+
"bleeding duration" "8"
861+
}
862+
"mouse_pressed_sound" "ui/item_light_gun_pickup.wav"
863+
"drop_sound" "ui/item_light_gun_drop.wav"
864+
"visuals"
865+
{
866+
"sound_single_shot" "Weapon_Enforcer.Single"
867+
"sound_burst" "Weapon_Enforcer.SingleCrit"
868+
}
869+
}
791870
}
792871

793872
"items"
@@ -899,6 +978,13 @@
899978
"first_sale_date" "2010/09/29"
900979
"xifier_class_remap" "weapon_quiver_hitmann"
901980
}
981+
"34411"
982+
{
983+
"name" "L'Executeur"
984+
"prefab" "weapon_quiver_joke_lexecuteur"
985+
"first_sale_date" "2024/06/14"
986+
"xifier_class_remap" "weapon_quiver_joke_lexecuteur"
987+
}
902988
}
903989

904990
// attributes are moved to items_game.txt

game/quiver/scripts/items/items_game.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228733,6 +228733,26 @@
228733228733
"effect_type" "positive"
228734228734
"stored_as_integer" "0"
228735228735
}
228736+
"4049"
228737+
{
228738+
"name" "joke item"
228739+
"attribute_class" "joke_item"
228740+
"description_string" "#Quiver_Joke"
228741+
"description_format" "value_is_additive"
228742+
"hidden" "0"
228743+
"effect_type" "neutral"
228744+
"stored_as_integer" "0"
228745+
}
228746+
"4050"
228747+
{
228748+
"name" "test item"
228749+
"attribute_class" "test_item"
228750+
"description_string" "#Quiver_Staging"
228751+
"description_format" "value_is_additive"
228752+
"hidden" "0"
228753+
"effect_type" "neutral"
228754+
"stored_as_integer" "0"
228755+
}
228736228756
}
228737228757
"item_criteria_templates"
228738228758
{

src/game/shared/econ/econ_item_schema.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555

5656
using namespace GCSDK;
5757

58-
5958
CEconItemSchema & GEconItemSchema()
6059
{
6160
#if defined( EXTERNALTESTS_DLL )
@@ -3208,6 +3207,19 @@ bool CEconItemDefinition::BInitFromKV( KeyValues *pKVItem, CUtlVector<CUtlString
32083207
if (!m_bSoloItem)
32093208
{
32103209
m_bSoloItem = m_pKVItem->GetInt("soloitem", 0) != 0;
3210+
3211+
#ifdef QUIVER_DLL
3212+
// Bleed. for EIGHT SECONDS.
3213+
if (!m_bSoloItem && CommandLine()->FindParm("-bleedfor8seconds"))
3214+
{
3215+
m_bSoloItem = m_pKVItem->GetInt("jokeitem", 0) != 0;
3216+
}
3217+
#endif
3218+
3219+
if (!m_bSoloItem && CommandLine()->FindParm("-customstaging"))
3220+
{
3221+
m_bSoloItem = m_pKVItem->GetInt("staging", 0) != 0;
3222+
}
32113223
}
32123224
#else
32133225
//if there's no custom schema, no items can be solo items.

src/game/shared/tf/tf_weapon_jar.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,11 @@ class CTFCleaver : public CTFJar
117117

118118
virtual const char* GetEffectLabelText( void ) { return "#TF_CLEAVER"; }
119119

120+
#ifdef BDSBASE
121+
virtual float InternalGetEffectBarRechargeTime(void) { return 7.6f; }
122+
#else
120123
virtual float InternalGetEffectBarRechargeTime( void ) { return 5.1; }
124+
#endif
121125

122126
#ifdef GAME_DLL
123127
virtual const AngularImpulse GetAngularImpulse( void ){ return AngularImpulse( 0, 500, 0 ); }

0 commit comments

Comments
 (0)