Closed shadow93 closed 9 years ago
^1.10.6 isn't even out yet :wink:.
As a bit of balance prevention, a fellow dev for a community I'm with modified all the weapons that are going to be changed, giving them their old attribute values, this could be a temporary solution until real balance changes to the new changes are made
sarysa's method, which uses OnEntityCreated():
if (StrEqual(classname, "tf_dropped_weapon"))
{
AcceptEntityInput(entity, "kill");
return;
}
Where do i put this? ^
And Valve decided to make the new reskins with their own ID's, so i went in and said fuck it.
This is to support the new medigun reskins, considering IDK how many they will make.
if(!StrContains(classname, "tf_weapon_medigun") && (iItemDefinitionIndex!=35 || iItemDefinitionIndex!=411 || iItemDefinitionIndex!=998))
{
new Handle:itemOverride=PrepareItemHandle(item, _, _, "10 ; 1.25 ; 178 ; 0.75 ; 144 ; 2.0 ; 11 ; 1.5");
//10: +25% faster charge rate
//178: +25% faster weapon switch
//144: Quick-fix speed/jump effects
//11: +50% overheal bonus
if(itemOverride!=INVALID_HANDLE)
{
item=itemOverride;
return Plugin_Changed;
}
}
And on checkitems
if(TF2_GetPlayerClass(client)==TFClass_Medic && GetEntProp(weapon, Prop_Send, "m_iEntityQuality")!=10) //10 means the weapon is customized, so we don't want to touch those
{
switch(index) // Because Gun Mettle's update is the cause of this reversal. ~SHADoW
{
case 35, 411, 998: //Kritzkrieg, Quick-Fix, Vaccinator
{
weapon=SpawnWeapon(client, "tf_weapon_medigun", 29, 5, 10, "10 ; 1.25 ; 178 ; 0.75 ; 144 ; 2.0 ; 11 ; 1.5");
//Switch to regular medigun
//10: +25% faster charge rate
//178: +25% faster weapon switch
//144: Quick-fix speed/jump effects
//11: +50% overheal bonus
}
default:
{
// frog.
}
}
SetEntPropFloat(weapon, Prop_Send, "m_flChargeLevel", 0.40);
if(GetIndexOfWeaponSlot(client, TFWeaponSlot_Melee)==142) //Gunslinger (Randomizer, etc. compatability)
{
SetEntityRenderMode(weapon, RENDER_TRANSCOLOR);
SetEntityRenderColor(weapon, 255, 255, 255, 75);
}
}
@shadow93 The second method for dropped weapons you presented isn't needed, just change 'tf_dropped_weapon_lifetime' CVAR to 0.
Where do i put this? ^
It's already in the latest 1.10.6 beta (build 225 on Jenkins I believe). If you want to do it yourself place it in OnEntityCreated().
Alright. Is there anyway I can get the 1.10.6 beta? Also is it cfg/sourcemod/ff2?
http://ff2.50dkp.com/jenkins/job/FF2/SMVERSION=1.7/ Could you clarify a bit about the cfg part?
nvm and do I download Last Successful Artifacts?
I added the 1.7 and it still crashes.
I added the 1.7 and it still crashes.
TF2Items 1.6.2.
And to save yourself from the clusterfuck of code involved for sniper rifles:
// Sniper rifles & reskins
new String:classname[64];
GetEdictClassname(weapon, classname, sizeof(classname));
if(!StrContains(classname, "tf_weapon_sniperrifle") && (index!=230 || index!=402 || index!=526 || index!=752))
{
if(CheckRoundState()!=FF2RoundState_RoundOver)
{
new Float:chargelevel=(IsValidEntity(weapon) && weapon>MaxClients ? GetEntPropFloat(weapon, Prop_Send, "m_flChargedDamage") : 0.0);
new Float:time=(GlowTimer[boss]>10 ? 1.0 : 2.0);
time+=(GlowTimer[boss]>10 ? (GlowTimer[boss]>20 ? 1.0 : 2.0) : 4.0)*(chargelevel/100.0);
SetClientGlow(boss, time);
if(GlowTimer[boss]>30.0)
{
GlowTimer[boss]=30.0;
}
}
}
More clusterfuck for SMG's and Pistols:
ClientTimer
// SMG, Crusader's Crossbow, Huntsman & Reskins (except Cleaner's Carbine)
GetEdictClassname(weapon, classname, sizeof(classname));
if(!StrContains(classname, "tf_weapon_smg") && index!=751 || !StrContains(classname, "tf_weapon_compound_bow") || !StrContains(classname, "tf_weapon_crossbow"))
{
addthecrit=true;
}
if(!StrContains(classname, "tf_weapon_pistol") || !StrContains(classname, "tf_weapon_handgun_scout_secondary")) // Pistols & Reskins (Scout & Engy)
{
addthecrit=true;
if(class==TFClass_Scout && cond==TFCond_HalloweenCritCandy)
{
cond=TFCond_Buffed;
}
}
also futureproofs any new pistols, SMG's, crossbows (medic/snipers)
This is also on the forums, but my proposal for the spy fix:
https://github.com/sarysa/diffposting/commit/da4d912956b5a1af11abe966b38e8c317ba1af64
There is one side effect I found in testing, and it's that FF2's low damage tripling isn't applied until after this point, which causes bleed/fire damage to not be tripled (not that I consider this a bad thing, heh) but also since it seems the intention was to have invis watch spies take 85 damage, they'll only take 65 damage from weapons without +200% on them. The solution is simply to move the damage tripling to before this point.
Oh, and possible improvements to the above diff include:
Adding cvars so server operators can override various spy damage.
I'm going to keep everything hardcoded for v1 because it seems a bit inconsistent to only allow some variables to be changed and not others.
Still mulling over the other changes though. Weapon balancing is tricky :(.
I just noticed that sniper rifles no longer get critboosted since at least 1.10.5 or so....
..while description says that all Sniper weapons are critboosted (except carbine / Cozy Camper SMG)
I just noticed that sniper rifles no longer get critboosted since at least 1.10.5 or so....
Yeah, so did I. They still do 150 damage though...shrugs
In 67ee121, line 4627, you've unintentionally made the Shortstop minicrit boosted. Change it to 'tf_weapon_handgun_scout_secondary' to fix.
Speaking of rifles, the Sydney Sleeper is extremely broken right now. Because you've set FF2 to simply check if the Jarate condition is added, the Sydney Sleeper removes 8% rage every scoped shot.
@Starblaster64 both fixed. For some reason the additional info in the commit message didn't go through and reference this issue.
I just noticed that sniper rifles no longer get critboosted since at least 1.10.5 or so....
Fixed in 7b5137596df0e5a31a9bd49cc5cda67db7ce6854.
Closing since I think everything's updated.
-snip-
I could not be more ignorant, completely missed 4ae0b1a.
Just keep in mind that this method will make bosses that use invisi-watches get a 90% damage reduction while cloaked.
EDIT: I've noticed you didn't change the length of the Dead Ringer condition, was this an intentional balance choice?
Just keep in mind that this method will make bosses that use invisi-watches get a 90% damage reduction while cloaked.
What was the resistance before Gunmettle?
EDIT: I've noticed you didn't change the length of the Dead Ringer condition, was this an intentional balance choice?
Kinda. I want to see how it plays out and then adjust accordingly.
0%, invisi-watches didn't grant bosses any damage resistance unless it was set in an ability subplugin or something. Also sort of related, from what I understand, bosses with the Dead Ringer just die when they trigger the feign death, but I remember this not always being the case (see Koishi Komeiji).
The Gun Mettle update will bring in a few game-breaking changes, the most important of them all being that the update will allow players to pick up fallen weapons and use them...
...which will be a problem if a boss happens to pick up a fallen weapon that their class can equip.
Unless the same code that prevents ammo pickups would also prevent this.
1.10.7 confirmed lol.