2025-04-15 22:27:20 -04:00
|
|
|
/* 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.
|
2025-07-21 13:38:40 -04:00
|
|
|
* 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!
|
2025-04-15 22:27:20 -04:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <sourcemod>
|
|
|
|
#include <sdktools>
|
|
|
|
#include <tf2_stocks>
|
2025-08-22 23:11:53 -04:00
|
|
|
#include <fartsy/newcolors>
|
2025-04-15 22:27:20 -04:00
|
|
|
#include <fartsy/fastfire2>
|
|
|
|
#include <fartsy/ass_enhancer>
|
|
|
|
#include <fartsy/ass_helper>
|
|
|
|
#include <fartsy/ass_bosshandler>
|
|
|
|
#include <fartsy/ass_commands>
|
|
|
|
#include <fartsy/ass_events>
|
|
|
|
#include <fartsy/ass_sudo>
|
2025-08-22 23:11:53 -04:00
|
|
|
#include <fartsy/ass_serverutils>
|
2025-04-15 22:27:20 -04:00
|
|
|
#pragma newdecls required
|
|
|
|
#pragma semicolon 1
|
|
|
|
|
|
|
|
public Plugin myinfo = {
|
|
|
|
name = "Fartsy's Ass - Framework",
|
|
|
|
author = "Fartsy",
|
|
|
|
description = "Framework for Fartsy's Ass (MvM Mods)",
|
|
|
|
version = PLUGIN_VERSION,
|
2025-04-20 05:00:16 -04:00
|
|
|
url = "https://wiki.hydrogenhosting.org"
|
2025-04-15 22:27:20 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
public void OnPluginStart() {
|
2025-08-19 02:23:14 -04:00
|
|
|
AssLogger(LOGLVL_INFO, "Starting up Fartsy's Framework! Waiting for Map Start...");
|
|
|
|
}
|
|
|
|
|
|
|
|
//Begin executing IO when ready
|
|
|
|
public void OnFastFire2Ready(){
|
|
|
|
AssLogger(LOGLVL_INFO, "####### FASTFIRE2 IS READY! INITIATE STARTUP SEQUENCE... PREPARE FOR THE END TIMES #######");
|
2025-04-15 22:27:20 -04:00
|
|
|
RegisterAndPrecacheAllFiles();
|
|
|
|
RegisterAllCommands();
|
2025-07-21 18:52:28 -04:00
|
|
|
UpdateGamemode();
|
|
|
|
if (core.gamemode == 0) SetupCoreData();
|
2025-04-15 22:27:20 -04:00
|
|
|
UpdateAllHealers();
|
|
|
|
CreateTimer(1.0, UpdateMedicHealing);
|
2025-08-22 23:11:53 -04:00
|
|
|
CPrintToChatAll("{fartsyred}Plugin Reloaded. If you do not hear music, please do !sounds and configure your preferences.");
|
2025-04-15 22:27:20 -04:00
|
|
|
cvarSNDDefault = CreateConVar("sm_fartsysass_sound", "3", "Default sound for new users, 3 = Everything, 2 = Sounds Only, 1 = Music Only, 0 = Nothing");
|
|
|
|
AssLogger(LOGLVL_INFO, "####### STARTUP COMPLETE (v%s) #######", PLUGIN_VERSION);
|
2025-07-23 04:17:47 -04:00
|
|
|
CreateTimer(15.0, StatsTracker);
|
2025-08-23 06:25:03 -04:00
|
|
|
GlobalAudio.Reset();
|
2025-04-15 22:27:20 -04:00
|
|
|
WeatherManager.Reset();
|
|
|
|
CreateTimer(1.0, SelectAdminTimer);
|
|
|
|
sudo(1002);
|
|
|
|
}
|
|
|
|
|
|
|
|
//Process ticks and requests in real time
|
|
|
|
public void OnGameFrame() {
|
|
|
|
if(WeatherManager.TornadoWarning) WeatherManager.TickSiren();
|
2025-08-23 06:25:03 -04:00
|
|
|
if (GlobalAudio.shouldTick) GlobalAudio.Tick();
|
2025-04-15 22:27:20 -04:00
|
|
|
if (BossHandler.shouldTick) BossHandler.Tick();
|
2025-04-25 19:05:19 -04:00
|
|
|
if (BossHandler.tickBusterNuclear) BossHandler.TickBusterNuclear();
|
2025-07-21 18:52:28 -04:00
|
|
|
if (core.gamemode == 2 && core.isWave) TickBodyCheck();
|
2025-04-20 05:00:16 -04:00
|
|
|
WeatherManager.TickFog();
|
2025-07-21 13:38:40 -04:00
|
|
|
}
|