Raised This Month: $7 Target: $400
 1% 

VSH VS. Saxton Hale Version 2 - v2.12.1 Dev


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
nergal
Veteran Member
Join Date: Apr 2012
Old 08-22-2016 , 19:21   VS. Saxton Hale Version 2 - v2.12.1 Dev
Reply With Quote #1

I solely present VSH v2! (or just VSH2)



Resources -> http://www.mediafire.com/download/i6..._resources.zip
New models for Vagineer and Hale -> https://forums.alliedmods.net/attach...1&d=1442371915

What makes VSH2 different from VSH1?
Compared to VSH1, VSH2 lets you modify elements and gameplay through addon plugins! With the use of VSH2's powerful API and hooks, you no longer (for the vast majority of the time) need to modify the core plugin to modify gameplay and mechanics!

Also, VSH2 has internal multiboss support, better code organization and structure, built-in setboss command, late spawn blocking, target filters for bosses and minions, and most importantly, use the latest SourcePawn syntax and features like methodmaps and enum structs.

Also, to sweeten the deal, VSH2 comes with a VSH1 Compatibility Engine Plugin which runs all old VSH forwards and natives using VSH2 as the backing plugin.


What makes VSH2 different from FF2 and why should I use VSH2 over FF2?
FF2 handles bosses through a combination of config file parsing and subplugins that act as boss abilities.

VSH2 uses a more powerful mechanism through a combination of gamemode and boss events that boss modules/subplugins can hook to and perform actions accordingly along WITH optional config file parsing.

Of course, VSH2's mechanism comes with tradeoffs. You need to know SourcePawn coding in order to create bosses. You don't need to be an expert but you need to know a little more than the basics.

The benefit with VSH2's mechanism is that you can make truly unique bosses through gameplay and mechanics while FF2's drawbacks is that, though easier to create bosses, their gameplay is cookie-cutter and generic.

VSH2 also supports boss packs like FF2 but VSH2 does NOT require switching between boss packs at a time.

Another thing is that VSH2 allows you to make any combination of multibosses using existing bosses. Not to mention that VSH2 bosses also has more data you can work with such as boss states, lives, ultimate powers, and you can expand the kind of data bosses use by adding new properties to a boss' property map!


In terms of various changes and improvements over FF2 and VSH1:
* setboss command saves to cookies.
* music does NOT loop, but plays the themes of a randomly selected boss. If there's only one boss and that boss has only one theme, then it'll just play that song but doesn't actually loop.
* Medieval Mode support using lives system for players.
* tons of ConVars to modify as much mechanics as you see fit.

VSH2 has the original 5 bosses (Hale, Vagineer, CBS, HHHjr, Bunny Demo) plus the Plague Doctor as an optional add-on boss.

Plague Doctor's purpose is to show how to make a boss module & how to make a boss that creates minions.

Dependencies: TF2Items, MoreColors, ConfigMap

The wiki shows how to create/add custom bosses as well as provide an API reference for VSH2.
VSH 2 Wiki


Public Repository for VSH2
Public Repository for VSH2 Addons

Core Plugin Download

VSH2 Add-On: Damage Tracker Plugin Download

VSH2 Add-On: Transparent Weapons Plugin Download

VSH2 Boss Add-On: Plague Doctor Download

VSH2 Add-On: VSH1 Compatibility Layer Plugin Download

VSH2 Add-On: FF2 Compatibility Engine Plugin Download

Source Code Repo

Changelog:
Spoiler
__________________

Last edited by nergal; 12-20-2022 at 14:18. Reason: update v2.12.1
nergal is offline
nergal
Veteran Member
Join Date: Apr 2012
Old 08-23-2016 , 14:28   Re: VS. Saxton Hale Version 2
Reply With Quote #2

Update: v1.1
Fixed a bug where minions from the example boss did not spawn as Scouts.
__________________
nergal is offline
Dovnut
New Member
Join Date: Aug 2016
Old 08-24-2016 , 09:09   Re: VS. Saxton Hale Version 2
Reply With Quote #3

I'm Having a lot of issues compiling the module, mostly variable and undefineds that cause it to abort, is there anything else needed, i have everything listed on the server.
Dovnut is offline
nergal
Veteran Member
Join Date: Apr 2012
Old 08-24-2016 , 11:56   Re: VS. Saxton Hale Version 2
Reply With Quote #4

Quote:
Originally Posted by Dovnut View Post
I'm Having a lot of issues compiling the module, mostly variable and undefineds that cause it to abort, is there anything else needed, i have everything listed on the server.
the vsh2.sp and the modules folder must be in the same directory that you're compiling vsh2 from.

if that's not the issue, please tell me exactly what you are doing.

EDIT: also make sure your boss source file is inside the modules folder AND it's included in bosses.sp
__________________

Last edited by nergal; 08-24-2016 at 13:20.
nergal is offline
starblaster64
Member
Join Date: Jul 2015
Old 08-28-2016 , 02:04   Re: VS. Saxton Hale Version 2
Reply With Quote #5

I'd suggest switching from the RoundStartPost timer you have set up to hooking the arena_round_start event instead, which fires right after players are able to start moving.
Reason being is twofold. One, one less timer to deal with. Two, tf_arena_preround_time is not always set to 10.0.

Also, not particularly important since developers can change it themselves, but you might want to put the section of code that causes damage dealt to minions to hurt the Boss into a case statement thing by default. I'm sure not everyone would want that as a global effect for all bosses. EDIT2: Actually, isn't the entire concept super broken if a Spy backstabs a minion?

EDIT: What's with the random line of code "blocking" the Persian Persuader in Handler.sp, line 1028?
Code:
if (GetIndexOfWeaponSlot(base.index, TFWeaponSlot_Melee) is 404)    // block Persian Persuader

Last edited by starblaster64; 08-28-2016 at 02:30. Reason: Extra thing2
starblaster64 is offline
nergal
Veteran Member
Join Date: Apr 2012
Old 08-28-2016 , 17:08   Re: VS. Saxton Hale Version 2
Reply With Quote #6

Quote:
Originally Posted by starblaster64 View Post
I'd suggest switching from the RoundStartPost timer you have set up to hooking the arena_round_start event instead, which fires right after players are able to start moving.
Reason being is twofold. One, one less timer to deal with. Two, tf_arena_preround_time is not always set to 10.0.
I've successfully implemented arena_round_start so I'll post it up for updated vsh2 1.0.2 beta
Thanks for the feedback

Quote:
Originally Posted by starblaster64 View Post
Also, not particularly important since developers can change it themselves, but you might want to put the section of code that causes damage dealt to minions to hurt the Boss into a case statement thing by default. I'm sure not everyone would want that as a global effect for all bosses. EDIT2: Actually, isn't the entire concept super broken if a Spy backstabs a minion?
request successfully implemented. Secondly, Spy backstabbing a minion shouldn't kill off the boss because the damage is capped at the minion's max health but that's how I implemented it only for Plague Doctor.

Regardless, this implementation will be available in vsh2 1.0.2 Beta

Quote:
Originally Posted by starblaster64 View Post
EDIT: What's with the random line of code "blocking" the Persian Persuader in Handler.sp, line 1028?
Code:
if (GetIndexOfWeaponSlot(base.index, TFWeaponSlot_Melee) is 404)    // block Persian Persuader
that is legacy code I meant to remove but forgot to. No worries.

Also, Fixed a glitch with Plague Doctor where the actual boss is dead but if minions are still alive, the round doesn't win for Red team.
Replaced boss arrays with ArrayList for listing out the amount of active bosses and giving their intro message.
__________________

Last edited by nergal; 08-28-2016 at 17:21.
nergal is offline
starblaster64
Member
Join Date: Jul 2015
Old 08-28-2016 , 20:24   Re: VS. Saxton Hale Version 2
Reply With Quote #7

Once I wrap my head around Mecurial I'll start making some Pull Requests to help out. I've only worked with Git up until this point.
Also, I believe the Easter Bunny isn't precaching the halloween pickup sound that plays when you pick up his crit eggs.

EDIT: OK I just gave up and cloned everything to a local Git repo.

EDIT2: I forgot to mention this earlier, but currently the plugin doesn't compile properly unless you put "modules/" in front of everything that's included that is located within the modules folder.

Last edited by starblaster64; 08-28-2016 at 20:40. Reason: A bit more on-topic
starblaster64 is offline
nergal
Veteran Member
Join Date: Apr 2012
Old 08-28-2016 , 23:03   Re: VS. Saxton Hale Version 2
Reply With Quote #8

Quote:
Originally Posted by starblaster64 View Post
Once I wrap my head around Mecurial I'll start making some Pull Requests to help out. I've only worked with Git up until this point.
Also, I believe the Easter Bunny isn't precaching the halloween pickup sound that plays when you pick up his crit eggs.

EDIT: OK I just gave up and cloned everything to a local Git repo.

EDIT2: I forgot to mention this earlier, but currently the plugin doesn't compile properly unless you put "modules/" in front of everything that's included that is located within the modules folder.
I've made recent changes to the repo but I made even more recent changes to the code and updating the repo is a complete pain in the ass to me.

Would you like to have your repo as the official one and I send u the code?

Also, I forgot to mention that I changed the file structure so that boss source files don't clutter up all the other necessary source files.

There's now a bosses folder for all the boss source files to go into.
__________________

Last edited by nergal; 08-28-2016 at 23:04.
nergal is offline
starblaster64
Member
Join Date: Jul 2015
Old 08-29-2016 , 00:40   Re: VS. Saxton Hale Version 2
Reply With Quote #9

Quote:
Originally Posted by nergal View Post
I've made recent changes to the repo but I made even more recent changes to the code and updating the repo is a complete pain in the ass to me.

Would you like to have your repo as the official one and I send u the code?

Also, I forgot to mention that I changed the file structure so that boss source files don't clutter up all the other necessary source files.

There's now a bosses folder for all the boss source files to go into.
I could set up a BitBucket/GitHub repository then transfer ownership to you/assign you as a repo admin.
I'm not sure how you're currently updating your BitBucket Mercurial[Hg] repo, but I use the SourceTree desktop client for all my repository (Git, Hg, GitHub, BitBucket etc.) needs.

If you wanted me to set one up, I'd probably make a GitHub one unless you really wanted/needed a BitBucket one. I only really have weekends free to maintain it though.
EDIT: If you do want me to set one up, push your latest changes to your current repo and I'll clone it from there.

Last edited by starblaster64; 08-29-2016 at 00:46. Reason: Additional point
starblaster64 is offline
nergal
Veteran Member
Join Date: Apr 2012
Old 08-29-2016 , 00:49   Re: VS. Saxton Hale Version 2
Reply With Quote #10

Quote:
Originally Posted by starblaster64 View Post
I could set up a BitBucket/GitHub repository then transfer ownership to you/assign you as a repo admin.
I'm not sure how you're currently updating your BitBucket Mercurial[Hg] repo, but I use the SourceTree desktop client for all my repository (Git, Hg, GitHub, BitBucket etc.) needs.

If you wanted me to set one up, I'd probably make a GitHub one unless you really wanted/needed a BitBucket one. I only really have weekends free to maintain it though.
EDIT: If you do want me to set one up, push your latest changes to your current repo and I'll clone it from there.
I don't mind github or bitbucket, I use bitbucket because it let's me add files from itself because I'm lazy and let's me have many free private repos for my personal stuff.

However, if you take over the repo stuff, I can continuously just focus on the code rather than focus on updating code and repo.
__________________

Last edited by nergal; 08-29-2016 at 00:50.
nergal is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:04.


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