Additional PASS Time Logic Prefab

Additional PASS Time Logic Prefab v1

Fluury

L5: Dapper Member
Jul 30, 2017
237
171
Additional PASS Time Logic Prefab - PASS Time+ - Custom Announcer, JACK Carrier glow and more!

This Prefab contains all the crackhead logic used for the PASS Time changes made in Smalltime.
Goal of these changes is to improve PASS Time in pubs, make it less frustrating for players and to add a bunch of quality of life changes.

You can read more about the thought process and why all of these changes were made here!

To summarize the changes:
- JACK now gets launched out of a window instead of falling onto the ground from a sad little black box
- Removed Capture Crits
- Shortened JACK visual trail
- JACK itself how has an outline that can be seen through walls
- JACK Carrier has a team-colored outline that can be seen through walls
- A custom PASS Time announcer (MegapiemanPHD) which announces important game states and generally gives the mode more identity
- Improved buffs of the JACK, including faster HP regen, ammo regen and combat buffs
- Visual effect when under the influence of the JACK
- Run-In/Throw-In now grant 2 points each, reducing the max amount of goals needed to win to 3 instead of 5
- Decreased Round Timer from 15 to 10 minutes
- Instant-Respawn, Respawnwave time advantage and Speedboost post-score for losers to prevent snowballing
- Alarm SFX when JACK enters your base
- Post-death "PASS Time Tips" which educate players on the gamemode as they play

Note that the logic for all of this is very intertwined between a bunch of different entities. Because of this relative complexity, tread carefully when making changes.
This is not a Prefab you should touch if you have no experience with hammer logic.

This pack includes:
- All the custom files needed to get everything running!
- A Tutorial README that explains how to install everything! (The README assumes you are installing EVERYTHING - It does NOT explain to you how to install 1 specific thing, as that varies in complexity based on how intertwined the logic is for that particular feature.)
- The .vmf of the prefab itself that contains all the logic!
- The .vmf of the RC1 version of Smalltime as a definite reference of how the logic is implemented there!

Please note that:
- This logic Prefab is presented without any bells and whistles. It contains the absolute essentials - that's it.
- This does NOT include ANY Jump Pads
- This does NOT include ANY speedboost pickups
- This does NOT change respawn time if the JACK enters a teams base trigger
- This does NOT include any triggers which prevent the JACK from entering a spawn room or other areas you don't want the JACK to be.

Please reference 14Bits prefab for these particular things: https://tf2maps.net/downloads/the-improved-pass-time-prefab.9700/
Or alternatively, the .vmf of Smalltime which is included in this pack.

FAQ:

Q: I already have my PASS Time logic setup in my map but want to implement this stuff!
A: Unfortunately due to the complexity of it all, the best course of action is to clean your map of any PASS Time logic and then replacing it with the logic of the Prefab.
If you are very experienced however, you could technically just reference the Prefab and recreate it 1:1 - whatever you feel more comfortable with.

Q: I just want X - I don't care for the rest. How do I just implement X?
A: Ask me and I can tell you. Some of the logic is very separated from it all (The "Death Tips" for example can pretty much be taken by themselves and used for any map, really.). Some isn't.

Q: I want to remove X. How do I axe it?
A: As above, Ask me. Some logic can be removed easily, some can't.

Q: I have questions about X.
A: Leave a post in the thread, ping me over Discord. I'm open to help.

EXTRA CREDITS:
- Mr.Burguers for conceptualizing a bunch of the logic and generally helping my green ass out with a bunch of problems!
- MegapiemanPHD for taking the role of the PASS Time Announcer!
- Lars!

And with that, I pass the JACK to you.
Have fun!
 
Last edited:

Fluury

L5: Dapper Member
Jul 30, 2017
237
171
It was brought to my attention that there is a small oversight in this pack.

When you win, a PASS Time announcer voiceline is triggered - however the original "Victory! *music*" line also still plays right after. Since the first uses the announcer channel and the later is just "game music", they don't overwrite each other.

While the majority of win/lose lines are rather short if I remember correctly, thus avoiding major overlapping, some might still consider it awkward.

Here is how you can "fix" it.

1. Download the attached PASSTIME PLUS EXTRA VO.zip
2. Put the content of the PASS TIME PLUS EXTRA VO folder into your /sound/vo folder - same place all the other pass time voicelines are at.
3. Open the soundscript file of your map.
4. Add this to the file:

Code:
"Game.Stalemate"
{
    "channel"    "CHAN_AUTO"
    "volume"    "1"
    "soundlevel"    "SNDLVL_140dB"
    "pitch"        "PITCH_NORM"
   
    "rndwave"
    {
        "wave" "#vo\pass_your_team_stalemate_1.mp3"
        "wave" "#vo\pass_your_team_stalemate_2.mp3"
        "wave" "#vo\pass_your_team_stalemate_3.mp3"
        "wave" "#vo\pass_your_team_stalemate_4.mp3"
    }
}

"Game.YourTeamLost"
{
    "channel"    "CHAN_AUTO"
    "volume"    "1"
    "soundlevel"    "SNDLVL_140dB"
    "pitch"        "PITCH_NORM"

    "rndwave"
    {
        "wave" "#vo\pass_your_team_lost_1.mp3"
        "wave" "#vo\pass_your_team_lost_2.mp3"
        "wave" "#vo\pass_your_team_lost_3.mp3"
        "wave" "#vo\pass_your_team_lost_4.mp3"
    }
}

"Game.YourTeamWon"
{
    "channel"    "CHAN_AUTO"
    "volume"    "1"
    "soundlevel"    "SNDLVL_140dB"
    "pitch"        "PITCH_NORM"

    "rndwave"
    {
        "wave" "#vo\pass_your_team_won_1.mp3"
        "wave" "#vo\pass_your_team_won_2.mp3"
        "wave" "#vo\pass_your_team_won_3.mp3"
        "wave" "#vo\pass_your_team_won_4.mp3"
        "wave" "#vo\pass_your_team_won_5.mp3"
        "wave" "#vo\pass_your_team_won_6.mp3"
    }
}

These soundscript entries overwrite the game's native voice lines with the custom ones you just slapped into the /vo/ folder. These feature the music, too, so don't worry about that.

5. Open your map in hammer
6. Find the two math_counters responsible for counting each team's points (red_point_counter and blu_point_counter)

unknown.png


7. Get rid of the "PlayVOBlue" and "PlayVORed" Outputs for both the blu point counter and red point counter.
8. And you are done!
 

Attachments

  • PASS TIME PLUS EXTRA VO.zip
    2.3 MB · Views: 202

Fluury

L5: Dapper Member
Jul 30, 2017
237
171
Turns out there was another oversight - the "Overtime" voice line was still the administrator.

Steps on fixing this are similar to above.
1. Download the attched .zip
2. Put the new overtime voicelines in the /sound/vo folder, right where all the other voice lines are for the custom pass time announcer.
3. Open the soundscript file of your map.
4. Add the following:

Code:
"Game.Overtime"
{
    "channel"    "CHAN_VOICE2"
    "volume"    "1"
    "soundlevel"    "SNDLVL_140dB"
    "pitch"        "PITCH_NORM"
    "rndwave"
    {
        "wave"    "vo\pass_overtime1.mp3"
        "wave"    "vo\pass_overtime2.mp3"
        "wave"    "vo\pass_overtime3.mp3"
        "wave"    "vo\pass_overtime4.mp3"
    }
}

And you are done! Credit goes to MegapiemanPHD for both bringing this issue up and supplying the new voicelines.
 

Attachments

  • PASS TIME PLUS EXTRA EXTRA VO.zip
    68.3 KB · Views: 226

Fluury

L5: Dapper Member
Jul 30, 2017
237
171
As I've just learned the sphere triggers are fucked in h++ and identified as fucked triggers.

Vanilla hammer doesn't save sphere brushes properly, causing janky shite to happen in h++.

The solution to the problem for now is to remake the sphere brushes in h++ - make sure to copy their keyvalues/Outputs, too. I will update this prefab will the fix. Eventually.

Just make sure the point_template is in the center of all the sphere triggers once recreated.