+ Added documentation to FastFire2
- Removed some headers
- Removed some includes
- Made some functions private
- Moved precaches to the precache function
- Moved onslaughter tick code to appropriate BossHandler
- Removed spaghetti code from debug commands
+ Made music menu display forever
- Renamed menus
- Moved OnFastFire2Ready lighting reset function to the WeatherManager reset function
+ Took control of admin commands during certain... situations :)
+ Added scripts for certain... situations :)
+ Added custom hud text renderer
+ Bump version
This commit is contained in:
2025-07-21 13:38:40 -04:00
parent 9a77fe9e11
commit 4a43c892d5
7 changed files with 222 additions and 55 deletions

View File

@@ -1,21 +1,15 @@
/* WELCOME TO FARTSY'S ASS ROTTENBURG.
*
* A FEW THINGS TO KNOW: ONE.... THIS IS INTENDED TO BE USED WITH UBERUPGRADES.
* TWO..... THE MUSIC USED WITH THIS MOD MAY OR MAY NOT BE COPYRIGHTED. WE HAVE NO INTENTION ON INFRINGEMENT. THIS PROJECT IS PURELY NON PROFIT AND JUST FOR FUN. SHOULD COPYRIGHT HOLDERS WISH THIS PROJECT BE TAKEN DOWN, I (Fartsy) SHALL OBLIGE WITHOUT HESITATION.
* THREE..... THIS MOD IS INTENDED FOR USE ON THE HYDROGENHOSTING SERVERS ONLY. EXPECT LIMITED SUPPORT.
* FOUR..... THIS WAS A NIGHTMARE TO FIGURE OUT AND BUG FIX. I HOPE IT WAS WORTH IT.
* FIVE..... PLEASE HAVE FUN AND ENJOY YOURSELF!
* SIX..... THE DURATION OF MUSIC TIMERS SHOULD BE SET DEPENDING WHAT SONG IS USED. SET THIS USING THE CONFIG FILES. SONG DUR IN SECONDS / 0.0151515151515 = REFIRE TIME.
* SEVEN..... TIPS AND TRICKS MAY BE ADDED TO THE TIMER, SEE PerformAdverts(Handle timer);
*
* GL HF!!!
* THREE..... THIS MOD IS INTENDED FOR USE ON THE HYDROGENHOSTING SERVERS ONLY.
* FOUR..... THE DURATION OF MUSIC TIMERS SHOULD BE SET DEPENDING WHAT SONG IS USED. SET THIS USING THE CONFIG FILES. SONG DUR IN SECONDS / 0.0151515151515 = REFIRE TIME.
* FIVE..... TIPS AND TRICKS MAY BE ADDED TO THE TIMER, SEE PerformAdverts(Handle timer);
* IF IT'S WAR THAT YOU WANT, THEN I'M READY TO PLAY. GLHF!
*/
#include <sourcemod>
#include <sdktools>
#include <clientprefs>
#include <morecolors>
#include <regex>
#include <tf2_stocks>
#include <fartsy/fastfire2>
#include <fartsy/ass_enhancer>
@@ -27,10 +21,13 @@
#pragma newdecls required
#pragma semicolon 1
public Database Get_Ass_Database(){
Database Get_Ass_Database(){
return Ass_Database;
}
public int GetGameMode(){
BOSSHANDLER Get_Boss_Handler(){
return BossHandler;
}
int GetGameMode(){
return core.gamemode;
}
@@ -43,12 +40,6 @@ public Plugin myinfo = {
};
public void OnPluginStart() {
PrecacheSound(TBGM0, true);
PrecacheSound(TBGM2, true);
PrecacheSound(TBGM3, true);
PrecacheSound(TBGM4, true);
PrecacheSound(TBGM5, true);
PrecacheSound(TBGM6, true);
AssLogger(LOGLVL_INFO, "####### STARTUP SEQUENCE INITIATED... PREPARE FOR THE END TIMES #######");
RegisterAndPrecacheAllFiles();
RegisterAllCommands();
@@ -57,7 +48,6 @@ public void OnPluginStart() {
CreateTimer(1.0, UpdateMedicHealing);
CPrintToChatAll("{darkred}Plugin Reloaded. If you do not hear music, please do !sounds and configure your preferences.");
cvarSNDDefault = CreateConVar("sm_fartsysass_sound", "3", "Default sound for new users, 3 = Everything, 2 = Sounds Only, 1 = Music Only, 0 = Nothing");
SetCookieMenuItem(FartsysSNDSelected, 0, "Fartsys Ass Sound Preferences");
AssLogger(LOGLVL_INFO, "####### STARTUP COMPLETE (v%s) #######", PLUGIN_VERSION);
}
@@ -65,35 +55,16 @@ public void OnPluginStart() {
public void OnFastFire2Ready(){
AudioManager.Reset();
WeatherManager.Reset();
for (int i = 0; i < sizeof(MapLighting); i++) MapLighting[i].Repair();
CreateTimer(1.0, SelectAdminTimer);
sudo(1002);
}
//Process ticks and requests in real time
public void OnGameFrame() {
float pos[3];
float ang[3];
float vel[3];
float newPos[3];
vel[0] = 0.0;
vel[1] = 0.0;
vel[2] = 0.0;
if(tickOnslaughter){
int BossEnt = FindEntityByTargetname("FB.BruteJusticeTrain", "func_tracktrain");
int BossTP = FindEntityByTargetname("FB.OnslaughterBase", "base_boss");
GetEntPropVector(BossEnt, Prop_Send, "m_vecOrigin", pos);
GetEntPropVector(BossEnt, Prop_Data, "m_angRotation", ang);
newPos[0] = pos[0];
newPos[1] = pos[1];
newPos[2] = pos[2] + 0.0;
//PrintToChatAll("%f %f %f %f %f %f", pos[0], pos[1], pos[2], ang[0], ang[1], ang[2]);
TeleportEntity(BossTP, newPos, ang, vel);
}
if (Enhancer_IsWave != core.isWave) Enhancer_IsWave = core.isWave;
if(WeatherManager.TornadoWarning) WeatherManager.TickSiren();
if (AudioManager.shouldTick) AudioManager.TickBGM();
if (BossHandler.shouldTick) BossHandler.Tick();
if (BossHandler.tickBusterNuclear) BossHandler.TickBusterNuclear();
WeatherManager.TickFog();
}
}