AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   VSH / Freak Fortress (https://forums.alliedmods.net/forumdisplay.php?f=154)
-   -   VSH Versus Saxton Hale 1.55 - New Saxton Hale + Vagineer Models! (https://forums.alliedmods.net/showthread.php?t=244209)

Chdata 07-15-2014 05:48

Versus Saxton Hale 1.55 - New Saxton Hale + Vagineer Models!
 
2 Attachment(s)
Versus Saxton Hale!

See changelist below for the recent changes!
Remember to read about tf/addons/sourcemod/configs/saxton_hale/saxton_spawn_teleport.cfg

... Aaaaand the new Saxton Hale + Vagineer models, and convars for RTD and Goomba integration!


Special thanks to thePFA for the HD Saxton Hale model, and "El Taco" for the head-hitbox Vagineer model.

Already know what you're here for? (.smx + configs + source + new model files only)
vsh155.zip
- Fixed translation files
- Fixed error causing typo

Updated download for just the .smx: https://forums.alliedmods.net/showpo...&postcount=562
- Fixed rtd being required. (lol).

Well over time I've noticed the plugin starting to get a little neglected and things breaking over time.

Fixes/Updates do get released, but only in the form of scattered posts in the main previous VSH thread that doesn't help everyone.

Not to mention, the installation instructions for that thread are a little bit... messy now.

So I made a new thread and updated the plugin. Do note that I am a very novice programmer and am liable to make various mistakes, any feedback/testing of such mistakes is very helpful!

I do apologize if I make a change that's unsatisfactory from any point of view, so if I do something bad, please do post about it here, perhaps with a suggestion of a better change.

I cannot guarantee that I'm knowledgeable enough with Sourcemod to fix the plugin after Valve updates all the time, thus I thank the rest of the Alliedmodders for contributing their help ouo

I mostly make changes to game balance, updating new weapons, and other important useful/aesthetic fixes.

Note: I do have my own server and it is much further updated than this one. I will not be adding any/all of the changes from my private server to this one. Most of the things I release will be necessary bugfixes or necessary balance changes to make improvements for the VSH community overall.

The reason I won't release a lot of my private work is simply that a lot of my changes are very hardcoded in my own plugin, and that I'm honestly kinda picky about what to release and what to keep 'unique' to my server. It's not that I like withholding content, if some things get requested I can probably throw them in anyway.

I'd like to avoid scenarios where I push a balance change and it turns out that it wasn't so great of an idea and it causes complaints for other communities. (Wow, look at that market gardener). But, from time to time I still will push balance changes, and thus I am always grateful for feedback.

What is this plugin?
VSH is a full game modification that makes one player per round Saxton Hale (or a special boss).
Armed with plenty of health and his bare hands, the player taking control of Saxton Hale must eliminate all of the enemy team to win, while they attempt to kill him.

Old VSH thread
Official TF Wiki article
VSH Steam group
TF2Data (Chdata's) Steam group
Servers with this plugin

Installation:
  • Make sure you have a recently updated Sourcemod.
  • Install the latest version of TF2Items.
  • Download vsh15x.zip and vsh_resources.zip attached below.
  • If you use sv_downloadurl, also download vsh_fastdl_bz2.zip to avoid giant ERROR signs.
  • Extract [here] the contents from both zips.
  • Move the contents of the extracted folders to your tf/ folder.
  • sv_pure 0
    - - Place this line in your server.cfg file or else the boss will be ERROR and sounds won't play.
  • tf_bot_quota_mode fill; tf_bot_quota 2 expert;
    - Place this line in your server.cfg file to make a bot join if there is only one person in the server.
    - This allows the one person in the server to roam the map even if noone else is online.
    - It leaves if a second human connects.
    - It also fixes all the glitchiness of what happens when the plugin is disabled when there aren't enough players.
  • The scripting folder with saxtonale.sp is only needed for programmers.
  • If updating from 1.42 to latest version you only need to update the translations/, tf/models/ + tf/materials/, and plugins/ folders. VSH no longer uses the gamedata/ folder and you can delete gamedata/saxtonhale.txt.
  • It is recommended to backup your tf/cfg/sourcemod/SaxtonHale.cfg, delete the old one, and allow the plugin to recreate it, and modify the new CFG to your likings. Be sure to check out the newly added cvars.
  • Be sure to backup the contents of your tf/addons/configs/saxton_hale/.
  • You can remove the Easter Bunny by recompiling saxtonhale.sp with the line '#define EASTER_BUNNY_ON' removed.
Optional Installation: (And recommended plugins/additions)For programmers:
  • You need TF2Items and morecolors.inc to compile saxtonhale.sp
  • As of v1.50 the plugin is now incompatible with versions of sourcemod lower than 1.6.3
  • You need the SteamTools include to retain the game name change when compiling. VSH will not give you a warning if you are missing it because it's optional.
  • Don't forget to include the include files from TF2Attributes, Goomba, and Roll The Dice, if you plan on using their integrated features!
  • Natives can be used for your plugin to make links to VSH, for example: get Hale's UserId, Health, MaxHealth, Team, Special round index etc. This is in scripting\include\saxtonhale.inc.
Recent Changes:
Quote:

1.55 (9/12/2015)

* Updated Saxton Hale's model to an HD version made by thePFA.
* Vagineer can be properly headshotted now!

1.54 (9/11/2015)

* Soldier shotgun: 40% reduced self blast damage.
* Rocket jumper now becomes a reskinned default rocket launcher that deals damage like normal.
* Removed quick-fix attribute from mediguns.
* Scorch shot now acts like Mega-Detonator. (I plan to buff MegaDetonator with Scorch Shot's stuff later).
* Pain Train now acts like a stock weapon.
* HHH Climb no longer slowers attack speed.
* Diamondback revenge crits on stab reduced from 3 -> 2.
* Diamondback revenge hits deal 200 dmg instead of 255.
* Market garden formula now scales the same as backstabs - but does less than backstabs.
* Fixed negative HaleHealth glitch, and 20k+ backstab glitch.
* Fixed boss melee weapons on CBS/Vagineer/HHH not showing attack animations in first person.
* Integrated goomba stomp and RTD with 6 new cvars for server owners to use.
* Added convar to prevent bosses from being able to goomba - only allowing mercenaries to goomba.
* Added convar to prevent mantread users (soldier + demo boots) from being able to goomba, since mantreads already deal 1024 damage on their own.
* Goomba stomp no longer hits through shields - it'll break it first.

1.53 (9/10/2015)

* Undid 1.7 syntax. (Chdata)
* Shahanshah: 1.66x dmg if <50% hp, 0.5x dmg if >50% hp.
* Big Earner provides 3 second speed boost on stab.
* Shortstop provides passive effects even when not active.
* Reverted gunmettle changes to deadringer and watch.
* Watches do not give speed boosts on cloak.
* Deadringer reduces melee damage to 62, and normal watch to 85.
* OVERRIDE_MEDIGUNS_ON is now on by default. Mediguns will simply have their stats replaced instead of a custom medigun replacement.
* Gunmettle weapons act like their non-skinned counter-parts.
* Natascha will no longer keep its bonus ammo when being replaced.
* Unnerfed the Easter Bunny's rage.
* Disabled dropped weapons during VSH rounds.
* Fixed some glitches.
Older Changes:
Spoiler

Future Changes: (TODO)
Spoiler

Cvars:
You can find all the cvars in tf/cfg/sourcemod/SaxtonHale.cfg
This spoiler box contains a list:
Spoiler

Commands / Admin Commands:
Usage: type on console, or type /command or !command in chat (for example: /hale)
Spoiler

Maplist:
The gamemode will activate on maps (or map prefixes "vsh_", etc) listed in tf/addons/sourcemod/configs/saxton_hale/saxton_hale_maps.cfg. In addition, quite a few koth maps feature spawn protection and doors that Hale cannot open. As such, you can place the map name in saxton_hale_doors.cfg in the same folder, and all doors on the map will be forced open.
There's some half-done support for setting next map to "Hale mapname" instead of just "mapname" to force the next map to play VSH, but it's... bad.
Placing the word "all" in either config will apply its effect to all maps.

Additionally, there is a new config: tf/addons/sourcemod/configs/saxton_hale/saxton_spawn_teleport.cfg
It is a list of maps in which the boss gets teleported back to spawn if he takes ANY damage from the map (via trigger_hurt).
The boss can only teleport to his own spawn for the first 60 seconds (1 minute). After that he teleports to any spawn.
HHH Teleports to spawns regardless of these settings, but only if the trigger_hurt does more than 250 damage.
If this causes problems on any maps, please post about it in this thread.
You can specify a prefix like ph_ or koth_ or vsh_ if you want, but this is not recommended.
You cannot specify "all" because that will cause problems on maps like vsh_megaman6_b5d.

FAQ:
Spoiler

If you have any questions... first, re-read this entire post (I know it's a pain, but there's quite a few things you probably missed the first time around), and then and only then post in this thread. Do not add anybody on Steam for help with this plugin, and do not send private messages about help with this plugin (unless you fear for your server security by posting crash dumps or something).

Some servers:
* TF2Data Versus Saxton Hale IP: 72.5.195.104:27016 (Clicking the link will open TF2 and connect you to the server)
* Many VSH servers: http://tf2stats.net/server_search/?s...&Search=Search
* More VSH servers: http://www.gametracker.com/search/tf2/?query=vsh
* TF2Data Community: http://steamcommunity.com/groups/tf2data


Special thanks to...
* Eggman - He made the plugin!
* Flaminsarge - Cleaning up the plugin a lot and taking over its update maintenance.
* Chdata - Cleaning up some stuff, updating some things, making balance changes, taking over its update maintenance.
* nergal - Added some very nice features to the plugin and fixed important bugs.
* fiagram * Powerlord - For the wearable items fix.
* The Alliedmodders community.

Wanna support us?
- Play the gamemode!
- Offer suggestions/balance changes/coding changes.
- Donate to Chdata. (Funds will be used to continue running TF2Data community servers).

All of these download mirrors may be outdated... so don't use them, download the full download from github below.
Downloads: (vsh_resources.zip & vsh_fastdl_bz2.zip)
VSH Resources: Mirror1 | Mirror2 | GDrive
VSH BZ2: Mirror1 | Mirror2 | GDrive

GitHub:
https://github.com/Chdata/Versus-Sax...commits/master

Full download: (includes all of the models/sounds/fastdl zips):
- Under construction!

WildCard65 07-15-2014 07:02

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
I guess I could have VSH on github even though I don't use VSH.
Edit: At this writing, I'm pushing vsh to github. https://github.com/WildCard65/Versus-Saxton-Hale
Edit2: Github repo ready.
Edit3: Travis building is set up.
Edit4: To people who want to contribute to vsh repo, make PRs and make sure travis can build them.

Wliu 07-15-2014 08:23

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Nice to see VSH is getting updated again :).

WildCard...the people who update VSH are supposed to create the repo...they should also have push access...

Chdata 07-15-2014 08:26

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
I just don't know anything about github or how it's useful.

WildCard65 07-15-2014 08:32

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Wliu (Post 2167979)
Nice to see VSH is getting updated again :).

WildCard...the people who update VSH are supposed to create the repo...they should also have push access...

Ik, once Chdata knows how to use Github, I'll give him/her push access to my repo, besides, the thread says
Quote:

Originally Posted by Chdata (Post 2167912)
I've never used github, but if anyone wants to set that up, I'll update the OP with links.

@Chdata Mind getting me a list of active devs of VSH who you know use Github? And in the list I'll need their Github names to add them as Collaborators

Chdata 07-15-2014 08:36

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Active devs of VSH
Me
Flaminsarge
nergal

github? no clue!

WildCard65 07-15-2014 08:41

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Chdata (Post 2167988)
Active devs of VSH
Me
Flaminsarge
nergal

github? no clue!

I believe I found FlaminSarge, with his github name being FlaminSarge

Chdata 07-15-2014 08:44

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Mines is Chdata

But I've never really used it.

WildCard65 07-15-2014 08:48

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Chdata (Post 2167992)
Mines is Chdata

But I've never really used it.

Added you to list of collaborators, you now have push access to the VSH repo I made without need of using PRs.

@FlaminSarge I need you to verify that your github name is FlaminSarge

Chdata 07-15-2014 10:17

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
I just converted all the tabs to spaces (plx use sublime text).

How can I update that on github?

WildCard65 07-15-2014 10:44

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
did you clone to repo?
If so do this: git commit -a
then after you fill in a commit message(and saved, and then exitted editting program), do this: git push

Powerlord 07-15-2014 11:01

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by WildCard65 (Post 2167997)
Added you to list of collaborators, you now have push access to the VSH repo I made without need of using PRs.

@FlaminSarge I need you to verify that your github name is FlaminSarge

What's the point in creating a Github for someone else?

If they're going to use it, they can create their own. This would also put it in their ownership rather than yours. (i.e. Chdata/vsh instead of WildCard65/vsh)

If I create a Github of someone else's code, it's not because I'm being altruistic, it's because I'm modifying the copy I created of it (see my gscramble-redux github and its two branches).

Wliu 07-15-2014 11:39

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Powerlord (Post 2168092)
What's the point in creating a Github for someone else?

If they're going to use it, they can create their own. This would also put it in their ownership rather than yours. (i.e. Chdata/vsh instead of WildCard65/vsh)

If I create a Github of someone else's code, it's not because I'm being altruistic, it's because I'm modifying the copy I created of it (see my gscramble-redux github and its two branches).

I agree to this.
Though you can also transfer ownership of a repo in Settings-->Danger Zone.

@Chdata: Are you sure you want Mantreads to insta-kill Hale? o.O

Advokat 07-15-2014 11:50

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Wliu (Post 2168116)
I agree to this.
Though you can also transfer ownership of a repo in Settings-->Danger Zone.

@Chdata: Are you sure you want Mantreads to insta-kill Hale? o.O

Perhaps he means stuns like the sandman. Haven't chucked this up on our server yet so I can't confirm.

nergal 07-15-2014 12:27

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Here's a quick update for my healthbar thingy from Powerlord :>

How to add FF2-style Monoculus Healthbar (props to Powerlord since this is ripped from his plugin)

In the function OnMapStart() add this piece of code anywhere inside the function

PHP Code:

    FindHealthBar(); 

after that, add this global variable+function anywhere in the plugin as long as it doesn't interfere with other functions

PHP Code:

new g_healthBar = -1;
FindHealthBar()
{
    
g_healthBar FindEntityByClassname2(-1"monster_resource");
    if (
g_healthBar == -1)
    {
        
g_healthBar CreateEntityByName("monster_resource");
        if (
g_healthBar != -1DispatchSpawn(g_healthBar);
    }


the code above simply adds the healthbar, now we gotta make it work.

add this function anywhere in the plugin, as long as it doesn't interfere with other functions

PHP Code:

public UpdateBossHealth(client)
{
    new 
halebar;
    if (
IsValidClient(client)) halebar = (HaleHealthMax <= 0) ? RoundToCeil(float(HaleHealth) / HaleHealthMax 255);
    else 
halebar 0;
    
SetEntProp(g_healthBarProp_Send"m_iBossHealthPercentageByte"halebar);


That should get the healthbar to work Now there's two choices to make. Do you want the health bar to dynamically update by itself? OR Have the health bar update only when checking Hale/Boss health?

IF you want the health bar to update itself. Simply put this code inside the function
PHP Code:

public  Action:HaleTimer(Handle:hTimer

When you've located that function, put this code in it. Remember to put it somewhere that doesn't interfere with the rest of the code.
PHP Code:

    UpdateBossHealth(Hale); 

OR

If you want the health bar to update only from Health Checking, then find the following function
PHP Code:

public Action:Command_GetHP(client

After you've located it, put the UpdateBossHealth(Hale); code twice inside the function. For best results, place it the 1st one under client == Hale and switch Special
like this
OLD
PHP Code:

    if (client == Hale)
    {
        switch (
Special)
        { 

NEW
PHP Code:

if (client == Hale)
    {
        
UpdateBossHealth(Hale);
        switch (
Special)
        { 

After you've done that, place the second function check under
PHP Code:

    if (GetGameTime() >= HPTime

for example, like this!
PHP Code:

    if (GetGameTime() >= HPTime)
    {
        
UpdateBossHealth(Hale);
        
healthcheckused++;
        switch (
Special)
        { 

end tutorial!

nergal 07-15-2014 12:41

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
I'd also like to state that I've successfully fixed the "First Round Glitch or FRG" (the frg is when, after playing the 1st round of arena and then 2nd round being 1st round of saxton hale, players will usually/sometimes not have the intended weapon switches/changes)

Change this
PHP Code:

public Action:StartHaleTimer(Handle:hTimer)
{
    
CreateTimer(0.1GottamTimer);
    if (!
IsValidClient(Hale))
    {
        
VSHRoundState 2;
        return 
Plugin_Continue;
    }
    if (!
IsPlayerAlive(Hale))
    {
        
TF2_RespawnPlayer(Hale);
    }
    
playing 0;
    for (new 
client 1client <= MaxClientsclient++)
    {
        if (
IsValidClient(client) && (client != Hale) && IsPlayerAlive(client))
        {
            
playing++;
            
CreateTimer(0.15MakeNoHaleGetClientUserId(client));
        }
    } 

To this!
PHP Code:

public Action:StartHaleTimer(Handle:hTimer)
{
    
CreateTimer(0.1GottamTimer);
    if (!
IsValidClient(Hale))
    {
        
VSHRoundState 2;
        return 
Plugin_Continue;
    }
    if (!
IsPlayerAlive(Hale)) TF2_RespawnPlayer(Hale);
    
playing 0;
    for (new 
1<= MaxClientsi++)
    {
        if (!
IsClientInGame(i) || !IsPlayerAlive(i) || == Hale) continue;
        
playing++;
        
CreateTimer(0.2MakeNoHaleGetClientUserId(i));
    } 

Then change this
PHP Code:

public Action:event_player_spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    new 
client GetClientOfUserId(GetEventInt(event"userid"));
    if (!
IsValidClient(clientfalse))
        return 
Plugin_Continue;
    if (!
Enabled)
        return 
Plugin_Continue;
    
SetVariantString("");
    
AcceptEntityInput(client"SetCustomModel");
    if (
client == Hale && VSHRoundState && VSHRoundState != -1)
        
CreateTimer(0.1MakeHale);
    else if (
VSHRoundState >= 0)
    {
        if (!(
VSHFlags[client] & VSHFLAG_HASONGIVED))
        {
            
VSHFlags[client] |= VSHFLAG_HASONGIVED;
            
RemovePlayerBack(client, { 57133231405444608642 }, 7);
            
RemovePlayerTarge(client);
            
TF2_RemoveAllWeapons(client);
            
TF2_RegeneratePlayer(client);
            
CreateTimer(0.1Timer_RegenPlayerGetClientUserId(client), TIMER_FLAG_NO_MAPCHANGE);
        }
        
CreateTimer(0.2MakeNoHaleGetClientUserId(client));
    } 

to this!
PHP Code:

public Action:event_player_spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    new 
client GetClientOfUserId(GetEventInt(event"userid"));
    if (!
IsValidClient(clientfalse)) return Plugin_Continue;
    if (!
Enabled) return Plugin_Continue;
    
SetVariantString("");
    
AcceptEntityInput(client"SetCustomModel");
    if (
client == Hale && VSHRoundState && VSHRoundState != -1CreateTimer(0.1MakeHale);

    if (
VSHRoundState != -1)
    {
        
CreateTimer(0.2MakeNoHaleGetClientUserId(client));
        if (!(
VSHFlags[client] & VSHFLAG_HASONGIVED))
        {
            
VSHFlags[client] |= VSHFLAG_HASONGIVED;
            
RemovePlayerBack(client, { 57133231405444608642 }, 7);
            
RemovePlayerTarge(client);
            
TF2_RemoveAllWeapons(client);
            
TF2_RegeneratePlayer(client);
            
CreateTimer(0.1Timer_RegenPlayerGetClientUserId(client), TIMER_FLAG_NO_MAPCHANGE);
        }
    } 


rswallen 07-15-2014 12:50

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by nergal (Post 2168149)
-[snip]- healthbar thingy -[snip]-

Why you no use EntRefs D:

Wliu 07-15-2014 13:56

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by nergal (Post 2168157)
*SNIP*

FF2 fixed the FRG by removing the internal round state code and instead relying on GameRules_GetRoundState, which may or may not have been a better solution.

Powerlord 07-15-2014 15:12

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by nergal (Post 2168149)
Here's a quick update for my healthbar thingy from Powerlord :>

Didn't I already write a healthbar plugin for VSH? Unlike FF2, VSH actually had/has natives to expose the boss's health, hence I was able to write it as an external plugin.

Chdata 07-15-2014 18:26

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Wliu (Post 2168116)
I agree to this.
Though you can also transfer ownership of a repo in Settings-->Danger Zone.

@Chdata: Are you sure you want Mantreads to insta-kill Hale? o.O

Not exactly insta-kill.

If Hale is less than or equal to 1024 HP, it can insta kill him instead of leaving him at 1 HP (which used to happen because the mantread damage was handled in player_hurt instead of ontakedamage).

Yeah I know the wording is off though.

Edit: * Mantread stomps now OHKO Hale instead of leaving him at 1 health when his health is less than the damage mantreads do (1024 dmg).

I suppose I'll look up github tuts or w/e. Then I can add nergal's FRoG. Not the healthbar thing if it's another plugin already, but I added that to optional installations in the op.

Wliu 07-15-2014 18:44

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Chdata (Post 2168364)
Not exactly insta-kill.

If Hale is less than or equal to 1024 HP, it can insta kill him instead of leaving him at 1 HP (which used to happen because the mantread damage was handled in player_hurt instead of ontakedamage).

Yeah I know the wording is off though.

Edit: * Mantread stomps now OHKO Hale instead of leaving him at 1 health when his health is less than the damage mantreads do (1024 dmg).

I suppose I'll look up github tuts or w/e. Then I can add nergal's FRoG. Not the healthbar thing if it's another plugin already, but I added that to optional installations in the op.

All right, that makes much more sense :P.

As for learning Github, they have a great set of tutorials.

nergal 07-15-2014 18:51

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
another thing, I think rocket launchers should have no damage fall off

PHP Code:

    decl Float:Pos[3];
    
decl Float:Pos2[3];
    
GetEntPropVector(attackerProp_Send"m_vecOrigin"Pos);//Spot of attacker
    
GetEntPropVector(clientProp_Send"m_vecOrigin"Pos2); //Spot of victim
    
new Float:dist GetVectorDistance(PosPos2false); //Calculates the distance between target and attacker
    
new String:classname[64];
    if (
IsValidEdict(weapon)) GetEdictClassname(weaponclassnamesizeof(classname));
if (
strcmp(classname"tf_weapon_rocketlauncher"false) == || strncmp(classname"tf_weapon_flaregun"18false) == 0)
                {
                    if (
dist 966.03dist 966.03;
                    if (
dist 512.0dist 512.0;
                    
damage *= dist/512.0;
                    return 
Plugin_Changed;
                } 

Also, code for Market Gardener should be included as well.

PHP Code:

    HookEvent("rocket_jump"OnRocketJump);
    
HookEvent("rocket_jump_landed"OnJumpLanded);


public 
Action:OnRocketJump(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (!
Enabled) return Plugin_Continue;
    new 
client GetClientOfUserId(GetEventInt(event"userid"));
    
g_bInJump[client] = true;
    return 
Plugin_Continue;
}
public 
Action:OnJumpLanded(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (!
Enabled) return Plugin_Continue;
    new 
client GetClientOfUserId(GetEventInt(event"userid"));
    
g_bInJump[client] = false;
    return 
Plugin_Continue;
}



                    case 
416//market gardener
                    
{
                        if (!(
GetEntityFlags(attacker) & FL_ONGROUND) && g_bInJump[attacker])
                        {
                            new 
Float:changedamage HaleHealthMax 0.025;

                            
Damage[attacker] += RoundFloat(changedamage);

                            
damage changedamage;

                            
HaleHealth -= RoundFloat(changedamage);
                            
HaleRage += RoundFloat(changedamage);

                            
HaleRage = (HaleRage RageDMG) ? RageDMG HaleRage;
                            return 
Plugin_Changed;
                        }
                    } 


Chdata 07-15-2014 19:03

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
I also have a market gardener code. (Below is only part of it).

The commented out line pertains to Soldier rocket jumping, getting stuck in HHH, and being able to "multi-backstab" the boss. I think it's commented out because it's either not working, or because I removed clipping from HHH for 2-4 seconds after he teleports unless it's a scout.

Also the damage is balanced around being weaker than backstabs (for various reasons).

There's also code to remove crits from the market gardener.

(dat 2.25% though... 51 damage solo? nope)

PHP Code:

case 416:           //Market Gardener
                    
{
                        if (
GetRJFlag(attacker))
                        {
                            
//if ((GetEntProp(client, Prop_Send, "m_iStunFlags") & TF_STUNFLAGS_GHOSTSCARE | TF_STUNFLAG_NOSOUNDOREFFECT) && Special == VSHSpecial_HHH) return Plugin_Continue;

                            
damage = (Pow(float(HaleHealthMax), (0.74074)) + 512.0 - (Marketed/128*float(HaleHealthMax)) )/3.0;    //divide by 3 because this is basedamage and lolcrits (0.714286)) + 1024.0)
                            
damagetype |= DMG_CRIT;

                            if (
Marketed 5Marketed++;

                            
PrintCenterText(attacker, (Special == VSHSpecial_Nue) ? "You market gardened her!" "You market gardened him!");
                            
PrintCenterText(client"You were just market gardened!");

                            
EmitSoundToClient(client"player/doubledonk.wav"__SNDLEVEL_TRAFFICSND_NOFLAGS0.6100_PosNULL_VECTORfalse0.0);
                            
EmitSoundToClient(attacker"player/doubledonk.wav"__SNDLEVEL_TRAFFICSND_NOFLAGS0.6100_PosNULL_VECTORfalse0.0);

                            return 
Plugin_Changed;
                        }
                    } 


nergal 07-15-2014 19:13

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Quote:

Originally Posted by Chdata (Post 2168383)
I also have a market gardener code. (Below is only part of it).

The commented out line pertains to Soldier rocket jumping, getting stuck in HHH, and being able to "multi-backstab" the boss. I think it's commented out because it's either not working, or because I removed clipping from HHH for 2-4 seconds after he teleports unless it's a scout.

Also the damage is balanced around being weaker than backstabs (for various reasons).

There's also code to remove crits from the market gardener.

(dat 2.25% though... 51 damage solo? nope)

PHP Code:

case 416:           //Market Gardener
                    
{
                        if (
GetRJFlag(attacker))
                        {
                            
//if ((GetEntProp(client, Prop_Send, "m_iStunFlags") & TF_STUNFLAGS_GHOSTSCARE | TF_STUNFLAG_NOSOUNDOREFFECT) && Special == VSHSpecial_HHH) return Plugin_Continue;

                            
damage = (Pow(float(HaleHealthMax), (0.74074)) + 512.0 - (Marketed/128*float(HaleHealthMax)) )/3.0;    //divide by 3 because this is basedamage and lolcrits (0.714286)) + 1024.0)
                            
damagetype |= DMG_CRIT;

                            if (
Marketed 5Marketed++;

                            
PrintCenterText(attacker, (Special == VSHSpecial_Nue) ? "You market gardened her!" "You market gardened him!");
                            
PrintCenterText(client"You were just market gardened!");

                            
EmitSoundToClient(client"player/doubledonk.wav"__SNDLEVEL_TRAFFICSND_NOFLAGS0.6100_PosNULL_VECTORfalse0.0);
                            
EmitSoundToClient(attacker"player/doubledonk.wav"__SNDLEVEL_TRAFFICSND_NOFLAGS0.6100_PosNULL_VECTORfalse0.0);

                            return 
Plugin_Changed;
                        }
                    } 


2.25% damage cuz

market gardener is melee so always crit :3 = constant 195

say hale had 30k hp = 30k * 0.025 * 3(cuz crit) = 2250

Chdata 07-15-2014 19:14

Re: Versus Saxton Hale 1.43 - Now with collaboration! (Last updated 7/15/2014)
 
Mines starts at like 700 damage and ends at like 2200 or so, maybe it was 3200. Dat 1v1 market garden yo.

I made market gardener not always crit on my server and only crit on the market garden.

If anyone has a server and can test this plugin btw, please add me on steam.

Chdata 07-16-2014 00:04

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/15/2014)
 
Managed to test some things on someone's server. Most is all good.

Updated to 1.44. OP edited with recent changes list.

Updates may or may not start coming in fast, I'll try to save it for big updates altogether though.

Advokat 07-16-2014 05:54

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/15/2014)
 
I think Spy backstabs count as double damage for medics that are healing them though I haven't tested it extensively.

Wliu 07-16-2014 08:32

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/15/2014)
 
EDIT: Never mind, poked around in the source file.
Though are you sure it's a good idea to put the Air Strike code in ClientTimer?

Chdata 07-16-2014 11:20

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/15/2014)
 
Yeah that is unnecessary on my part. I didn't think about placement when nergal sent that. I'll move it to player_hurt.

I think I see why medics get double from backstabs and will look into that after college.

nergal 07-16-2014 18:42

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
1 Attachment(s)
I'd like to make another contribution to plugin by asking for THIS new boss to be added :>

Introducing RoboHale!

complete with models+texture AND all Saxton Hale voice clips converted to robotic sound

on my server, i only have him merely as a saxton hale reskin/clone but with different model and sounds.

here's files

https://drive.google.com/file/d/0B3F...it?usp=sharing

Chdata 07-16-2014 19:01

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Lol, someone actually made a skin. Was hoping to see one as mechanized as other bots, but that's pretty unique.

We could also add zombie Hale as a special halloween version, there's a skin for it on gamebanana. Dunno about voices...

But I'm not sure what we should do about adding bosses, as there are people who prefer VSH because it's "vanilla Hale". VSH already splits between just Hale and "Special" bosses... though noone ever really disables the special bosses.

(On my own server I was going to remove one of my bosses unless I could think of a good work around her idea - Nue).

nergal 07-16-2014 19:25

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
code for a shapeshifter boss rage

PHP Code:

public Action:BackToOriginal(Handle:timerany:client)
{
    if (
Special != VSHSpecial_Original && IsPlayerAlive(Hale) && client == Hale)
    {
        
Special VSHSpecial_Original;
        
EquipSaxton(Hale);
        
/* do more code here*/
        
for (new <= MaxClientsi++)
        {
            if (!
IsValidClient(i)) continue;
            
StopHaleMusic(i);
        }
        
CreateTimer(0.1Timer_MusicPlay_);
    }
    else
    {
        
CloseHandle(timer);
        
timer INVALID_HANDLE;
    }
    return 
Plugin_Continue;
}
bool:ShapeShift()
{
    
Special GetRandomInt(04);
    return 
true;



Chdata 07-16-2014 19:29

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Couldn't ShapeShift just be

PHP Code:

Special GetRandomInt(04); // Same as GetRandomInt(VSHSpecial_Hale, VSHSpecial_Bunny);
morph = -1


nergal 07-16-2014 19:38

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Quote:

Originally Posted by Chdata (Post 2168984)
Couldn't ShapeShift just be

PHP Code:

Special GetRandomInt(04); // Same as GetRandomInt(VSHSpecial_Hale, VSHSpecial_Bunny);
morph = -1


done.

Chdata 07-17-2014 02:47

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
I'm finally able to test stuff on my own computer again.

Finally got around to fixing wearables as well (like with botkiller weapons). Thanks fiagram! Only took me half a year to get around to implementing the fix.

/lazy

I have a few other things to fix/add (see TODO) and that should be the last update for a while really.

infi 07-17-2014 08:41

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Your TODO:

"* Implement Market Garden "backstabs"."
I made it so the weapon is mini-crit and basically raised the crit damage to compensate.

"- In a normal round, a good soldier can get 1k damage without minicrits/crits."

I have no idea how you are going to achieve this, what weapons DON'T crit?

"- Average HP of the 9 classes is 166, so on average this puts soldier at doing a little more work for his "heads" than normal "technically"."

You have to consider that some of his buffs are VERY powerful i.e. Battalions Backup and Buff Banner a group of Heavies. You could relax the rage buildup on Concheror probably.

"* Bushwacka doesn't disable crits."

I recommend you think this one over, now theres no reason not to use Bushwacka.

Advokat 07-17-2014 10:53

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Couple of festive/bread weapons that were missed: the Festive Eyelander (doesn't increment heads on hit) and the Bread Bite (GRU reskin).

Chdata 07-17-2014 14:46

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Quote:

Originally Posted by infi (Post 2169235)
"* Implement Market Garden "backstabs"."
I made it so the weapon is mini-crit and basically raised the crit damage to compensate.

I already have working code I'm going to implement for this.

Quote:

Originally Posted by infi (Post 2169235)
"- In a normal round, a good soldier can get 1k damage without minicrits/crits."

I have no idea how you are going to achieve this, what weapons DON'T crit?

"- Average HP of the 9 classes is 166, so on average this puts soldier at doing a little more work for his "heads" than normal "technically"."

You have to consider that some of his buffs are VERY powerful i.e. Battalions Backup and Buff Banner a group of Heavies. You could relax the rage buildup on Concheror probably.

These dashes were only justifications for the change to Air Strike I was going to make. I also forgot that you can get 200 damage really quickly by meleeing as a soldier so I'm going to put it at 300 or maybe 500 again.

Also lots of weapons don't crit if you are on a server that doesn't use taunt crits / amplifier. I prefer VSH without them because I like Hale that's balanced around not having them. Infact, I think it's OP to have those against an improperly buffed Hale as well - see Voidy's Saxton Hell for example. He has taunt crits, backstab goombas, and amplifier but his Hale starts at 400 speed instead of 340 and hale gets random crits for his melee, which I consider imbalanced in VSH without taunt crits/amp/goomba.

Quote:

Originally Posted by infi (Post 2169235)
"* Bushwacka doesn't disable crits."

I recommend you think this one over, now theres no reason not to use Bushwacka.

I realize that, but I don't consider it too overpowered for the sniper to have really and it's generally more fun for players to have anyway. I considered the loss of 3x damage to be too much against the bushwacka anyway, as it makes it so useless that you may as well not use it.

And sniper is more based on his sniper rifle than his melee weapon. There's little reason to support sniper as being melee based. Similar to getting medics to heal instead of be a battle medic.

It's hard to really make the other knifes useful. One idea I pondered was to make all sniper melees have wallclimb, and then give them different stats, but that's a low priority idea to me because only the bushwacka's model makes any sense for climbing to me cause of the ridged edge.

If anything, demoman needs his shield crits nerfed to minicrits, but that isn't something I want to push because it's become meta and lots of players of VSH would complain and some server owners will probably just revert it anyway. Demoman is one of the most damaging classes with it without as much effort as anything else. I might force this on people some day, but I'm unsure for now.

There's other unused/rarely used weapons I want to address, but I'm still choosing what to give/keep from my private version and the public one. I've updated the TODO in op with some of the stuff I plan to add.

Quote:

Originally Posted by Advokat (Post 2169308)
Couple of festive/bread weapons that were missed: the Festive Eyelander (doesn't increment heads on hit) and the Bread Bite (GRU reskin).

Noted! Dunno how I missed the bread bits specifically.

Wliu 07-17-2014 15:31

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
I suggest you make the Air Strike only count damage from the Air Strike, and not the soldier's damage as a whole. That would make it more balanced.

Chdata 07-17-2014 17:14

Re: Versus Saxton Hale 1.44 - Now with collaboration! (Last updated 7/16/2014)
 
Yeah I was thinking about that too, but I'd have to make a separate damage counter.

... It does make the most sense though, so I think I'll do it.


All times are GMT -4. The time now is 14:54.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.