diff --git a/ability_boss_demoman_nuker_ability.sp b/ability_boss_demoman_smoker_ability.sp similarity index 98% rename from ability_boss_demoman_nuker_ability.sp rename to ability_boss_demoman_smoker_ability.sp index aee8cf40..387bb06a 100644 --- a/ability_boss_demoman_nuker_ability.sp +++ b/ability_boss_demoman_smoker_ability.sp @@ -8,7 +8,7 @@ #include #define PLUGIN_VERSION "1.0" -#define ROBOT_NAME "Nuker" +#define ROBOT_NAME "Smoker" #define BLU_MODEL "models/props_trainyard/bomb_cart.mdl" #define RED_MODEL "models/props_trainyard/bomb_cart_red.mdl" diff --git a/ability_free_tank_heavy_beardedexpense_ability.sp b/ability_free_tank_heavy_beardedexpense_ability.sp index 2b35c51e..32bb2efe 100644 --- a/ability_free_tank_heavy_beardedexpense_ability.sp +++ b/ability_free_tank_heavy_beardedexpense_ability.sp @@ -25,7 +25,7 @@ Handle g_hGameConf; Handle g_hIsDeflectable; - +float jump_timer = 2.0; public Plugin:myinfo = { name = "[TF2] Be the Bearded Expense Leap Ability and boom bullshit", @@ -118,13 +118,13 @@ public TF2_OnConditionAdded(client, TFCond:condition) EmitSoundToAll(ALARM, client); - CreateTimer(3.3, Timer_Taunt_Cancel, client); + CreateTimer(jump_timer, Timer_Taunt_Cancel, client); } if (tauntid == -1) { - CreateTimer(3.3, Timer_Taunt_Cancel, client); + CreateTimer(jump_timer, Timer_Taunt_Cancel, client); } } } diff --git a/berobot_handler.sp b/berobot_handler.sp index 86e03448..306f8462 100644 --- a/berobot_handler.sp +++ b/berobot_handler.sp @@ -843,7 +843,15 @@ public Action Event_teamplay_round_start(Event event, char[] name, bool dontBroa MC_PrintToChatAll("{Green}Type {orange}!info{Green} to see more info about this gamemode"); MC_PrintToChatAll("{Green}Visit {orange}bmod.tf/mannedmachines {Green} To get the assetpack to get the most out of this mode"); - + // Reset the health buffer when a round starts to prevent robots from getting dmg health carried over from last round + for(int i = 1; i <= MaxClients+1; i++) + { + if(IsValidClient(i)) + { + g_PlayerHealth[i] = -1; + // PrintCenterText(i,"RESETTING UR HEALTH"); + } + } // Remove Point on player start // int powerteam = GetRobotTeam(); diff --git a/berobot_volunteer.sp b/berobot_volunteer.sp index 35e822e9..7f21d7a9 100644 --- a/berobot_volunteer.sp +++ b/berobot_volunteer.sp @@ -125,7 +125,7 @@ bool _volunteered[MAXPLAYERS + 1]; * maps a (char steamId[64]) key to a (int queuePoints) valuelunteerStates */ StringMap _queuePoints; - +bool g_block_volunteer = false; public void OnPluginStart() { SMLoggerInit(LOG_TAGS, sizeof(LOG_TAGS), SML_ERROR, SML_FILE); @@ -159,6 +159,8 @@ public void OnPluginStart() HookEvent("teamplay_point_captured", Event_Teamplay_Point_Captured, EventHookMode_Post); + HookEvent("tf_game_over", Event_Teamplay_TF_Game_Over, EventHookMode_Post); + HookEvent("teamplay_game_over", Event_Teamplay_TF_Game_Over, EventHookMode_Post); LoadVipSteamIds(); LoadQueuePointsFromFile(); @@ -173,6 +175,14 @@ UpdateQueuePointsOnCap(); } +public Action Event_Teamplay_TF_Game_Over(Event event, char[] name, bool dontBroadcast) +{ +g_block_volunteer = true; +// PrintToChatAll("GAME OVER"); + +} + + public void OnConfigsExecuted() { _robocapTeamConVar = FindConVar(CONVAR_ROBOCAP_TEAM); @@ -214,6 +224,7 @@ public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max public void OnMapStart() { Reset(); + g_block_volunteer = false; } void Reset() @@ -316,13 +327,19 @@ public Action Command_Volunteer(int client, int args) SMLogTag(SML_VERBOSE, "Command_Volunteer called for %L", client); ConVar b_AprilEnabled = FindConVar("sm_mm_april_enable"); - + if (GetConVarBool(b_AprilEnabled)) { PrintCenterText(client, "No need to volunteer"); return Plugin_Handled; } + if (g_block_volunteer) + { + PrintCenterText(client, "Game is over, no need to volunteer"); + return Plugin_Handled; + } + if (!IsEnabled()) { MM_PrintToChat(client, "Unable to volunteer, robot-mode is not enabled"); diff --git a/cfg/robots/boss_demoman_nuker.cfg b/cfg/robots/boss_demoman_smoker.cfg similarity index 85% rename from cfg/robots/boss_demoman_nuker.cfg rename to cfg/robots/boss_demoman_smoker.cfg index 03f2b702..9e775b41 100644 --- a/cfg/robots/boss_demoman_nuker.cfg +++ b/cfg/robots/boss_demoman_smoker.cfg @@ -1,11 +1,11 @@ "Robot" { - "name" "Nuker" + "name" "Smoker" "role" "ZBOSS" "class" "DemoMan" "shortdescription" "Nuke Shot" "subclass" "Grenades" - "deathtip" "Nuker's bombs can be reflected and deleted" + "deathtip" "Smoker's bombs can be reflected and deleted" "difficulty" "2" "model" "models/bots/demo_boss/bot_demo_boss.mdl" "tips" "You shoot payload bombs\nLarge explosion radius\nYou have crit melee weapon" @@ -86,9 +86,23 @@ "cosmetics" { - "TheFragProofFragger" + "SophisticatedSmoker" { - "itemindex" "30034" + "itemindex" "31106" + "paint" "Team Spirit" + "style" "-1.0" + "scale" "0.75" + } + "SoldierStoogie" + { + "itemindex" "852" + "paint" "0.0" + "style" "-1.0" + "scale" "1.05" + } + "Sparkplug" + { + "itemindex" "30033" "paint" "0.0" "style" "-1.0" "scale" "0.75" diff --git a/cfg/robots/free_damage_grenades_demoman_carpetomber.cfg b/cfg/robots/free_damage_grenades_demoman_carpetomber.cfg index 594803c3..f7ced06c 100644 --- a/cfg/robots/free_damage_grenades_demoman_carpetomber.cfg +++ b/cfg/robots/free_damage_grenades_demoman_carpetomber.cfg @@ -44,7 +44,7 @@ "warpaint_id" "226" "attributes" { - "dmg penalty vs players" "0.85" + "dmg penalty vs players" "1.5" "clip size bonus" "1.4" "faster reload rate" "0.8" "projectile speed increased" "3.0" diff --git a/cfg/robots/free_engineer_barricade.cfg b/cfg/robots/free_engineer_barricade.cfg index 413efbc4..29541925 100644 --- a/cfg/robots/free_engineer_barricade.cfg +++ b/cfg/robots/free_engineer_barricade.cfg @@ -26,11 +26,8 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" "ammo regen" "100.0" - "metal regen" "200.0" - "building cost reduction" "0.5" - "mod teleporter cost" "18.0" + "metal regen" "65.0" "major increased jump height" "1.25" "rage giving scale" "0.75" } @@ -87,6 +84,8 @@ "engy dispenser radius increased" "10.0" "engy building health bonus" "5.6" "upgrade rate decrease" "2.0" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" } "custom_attributes_weapon" { diff --git a/cfg/robots/free_engineer_dane.cfg b/cfg/robots/free_engineer_dane.cfg index e583a5aa..d96a0718 100644 --- a/cfg/robots/free_engineer_dane.cfg +++ b/cfg/robots/free_engineer_dane.cfg @@ -27,9 +27,7 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" - "metal regen" "200.0" - "mod teleporter cost" "9.0" + "metal regen" "65.0" "major increased jump height" "1.25" "rage giving scale" "0.75" } @@ -78,6 +76,9 @@ "engy building health bonus" "2.0" "engy dispenser radius increased" "6.0" "upgrade rate decrease" "2.0" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" + } "custom_attributes_weapon" { diff --git a/cfg/robots/free_engineer_wranglerbill.cfg b/cfg/robots/free_engineer_wranglerbill.cfg index 9299b129..0fcd71c7 100644 --- a/cfg/robots/free_engineer_wranglerbill.cfg +++ b/cfg/robots/free_engineer_wranglerbill.cfg @@ -27,9 +27,8 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" - "metal regen" "200.0" - "mod teleporter cost" "10.0" + + "metal regen" "65.0" "major increased jump height" "1.25" "rage giving scale" "0.75" "deploy time decreased" "0.25" @@ -73,6 +72,8 @@ "engy dispenser radius increased" "3.0" "upgrade rate decrease" "8.0" "engy sentry fire rate increased" "0.6" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" } "custom_attributes_weapon" { diff --git a/cfg/robots/free_engineer_zonical.cfg b/cfg/robots/free_engineer_zonical.cfg index 828aaec5..4b7f5f5d 100644 --- a/cfg/robots/free_engineer_zonical.cfg +++ b/cfg/robots/free_engineer_zonical.cfg @@ -26,11 +26,8 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" "ammo regen" "100.0" - "metal regen" "200.0" - "building cost reduction" "0.5" - "mod teleporter cost" "18.0" + "metal regen" "65.0" "major increased jump height" "1.25" "rage giving scale" "0.75" } @@ -71,14 +68,16 @@ "skin" "0" "attributes" { - "Construction rate increased" "10.0" - "killstreak tier" "1.0" - "melee range multiplier" "1.15" - "Repair rate increased" "2.0" - "engineer building teleporting pickup" "10.0" - "engy dispenser radius increased" "6.0" - "engy building health bonus" "1.6" - "upgrade rate decrease" "8.0" + "Construction rate increased" "10.0" + "killstreak tier" "1.0" + "melee range multiplier" "1.15" + "Repair rate increased" "2.0" + "engineer building teleporting pickup" "10.0" + "engy dispenser radius increased" "6.0" + "engy building health bonus" "1.6" + "upgrade rate decrease" "8.0" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" } "custom_attributes_weapon" { diff --git a/cfg/robots/free_sniper_skeeter.cfg b/cfg/robots/free_sniper_skeeter.cfg index 5f5d25e2..ba74e452 100644 --- a/cfg/robots/free_sniper_skeeter.cfg +++ b/cfg/robots/free_sniper_skeeter.cfg @@ -55,8 +55,8 @@ "sniper charge per sec" "3.0" "sniper fires tracer HIDDEN" "1.0" "lunchbox adds minicrits" "3.0" - "apply z velocity on damage" "550.0" - "faster reload rate" "0.35" + "apply z velocity on damage" "750.0" + "faster reload rate" "0.8" } } "tf_weapon_smg" diff --git a/cfg/robots/free_tank_heavy_beardedexpense.cfg b/cfg/robots/free_tank_heavy_beardedexpense.cfg index 28eca3d5..24ffed2f 100644 --- a/cfg/robots/free_tank_heavy_beardedexpense.cfg +++ b/cfg/robots/free_tank_heavy_beardedexpense.cfg @@ -30,6 +30,7 @@ "increase player capture value" "-1.0" "dmg from melee increased" "2.0" "attach particle effect" "35.0" + "gesture speed increase" "1.75" } "custom_attributes_player" { diff --git a/cfg/robots/paid_engineer_brainiac.cfg b/cfg/robots/paid_engineer_brainiac.cfg index e6734fd0..a20d8d59 100644 --- a/cfg/robots/paid_engineer_brainiac.cfg +++ b/cfg/robots/paid_engineer_brainiac.cfg @@ -27,10 +27,8 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" - "metal regen" "200.0" + "metal regen" "65.0" "ammo regen" "100.0" - "mod teleporter cost" "9.0" "major increased jump height" "1.25" "rage giving scale" "0.75" "head scale" "0.85" @@ -82,6 +80,8 @@ "engineer building teleporting pickup" "10.0" "engy dispenser radius increased" "3.0" "upgrade rate decrease" "4.0" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" } "custom_attributes_weapon" { diff --git a/cfg/robots/paid_engineer_gnome.cfg b/cfg/robots/paid_engineer_gnome.cfg index 689c4be2..d751e1f1 100644 --- a/cfg/robots/paid_engineer_gnome.cfg +++ b/cfg/robots/paid_engineer_gnome.cfg @@ -27,9 +27,7 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" - "metal regen" "200.0" - "mod teleporter cost" "9.0" + "metal regen" "65.0" "major increased jump height" "1.25" "rage giving scale" "0.75" "head scale" "0.85" @@ -79,6 +77,8 @@ "engy dispenser radius increased" "3.0" "engy building health bonus" "2.32" "upgrade rate decrease" "4.0" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" } "custom_attributes_weapon" { diff --git a/cfg/robots/paid_engineer_nofungineer.cfg b/cfg/robots/paid_engineer_nofungineer.cfg index b4544921..9d01af50 100644 --- a/cfg/robots/paid_engineer_nofungineer.cfg +++ b/cfg/robots/paid_engineer_nofungineer.cfg @@ -32,9 +32,7 @@ "airblast vulnerability multiplier" "0.3" "cancel falling damage" "1.0" "override footstep sound set" "2.0" - "maxammo metal increased" "2.5" - "metal regen" "200.0" - "mod teleporter cost" "9.0" + "metal regen" "65.0" "major increased jump height" "1.25" "rage giving scale" "0.75" "head scale" "0.85" @@ -93,6 +91,8 @@ "engy dispenser radius increased" "3.0" "upgrade rate decrease" "4.0" "engineer sentry build rate multiplier" "10.0" + "maxammo metal increased" "1.25" + "mod teleporter cost" "8.0" } "custom_attributes_weapon" { diff --git a/cfg/robots/paid_spy_blackshiv.cfg b/cfg/robots/paid_spy_blackshiv.cfg index bae98ba9..989d12d0 100644 --- a/cfg/robots/paid_spy_blackshiv.cfg +++ b/cfg/robots/paid_spy_blackshiv.cfg @@ -37,7 +37,7 @@ "move speed penalty" "0.95" "airblast vulnerability multiplier" "0.7" "cancel falling damage" "1.0" - "maxammo metal increased" "2.5" + "major increased jump height" "1.25" "head scale" "0.8" "rage giving scale" "0.75" diff --git a/mm_attribute_teamporter.sp b/mm_attribute_teamporter.sp index f3f1ec11..1acf54e0 100644 --- a/mm_attribute_teamporter.sp +++ b/mm_attribute_teamporter.sp @@ -69,7 +69,7 @@ float vecSpawns[2][3]; int g_iPadType[2048]; char g_szOffsetStartProp[64]; int g_iOffsetMatchingTeleporter = -1; - +float g_drawtime[MAXPLAYERS + 1] = 0.0; int g_Recharge[MAXPLAYERS + 1] = 0; int g_RechargeCap = 500; @@ -447,7 +447,7 @@ public Action OnPlayerSpawn(Event event, const char[] name, bool dontBroadcast) return Plugin_Continue; } -bool g_b_touching_spawn[MAXPLAYERS + 1]; +bool g_b_hud_drawn[MAXPLAYERS + 1]; public Action OnTouch(int client, int ent) { @@ -464,9 +464,10 @@ public Action OnTouch(int client, int ent) { UpdateCharge(client); DrawHUD(client); + // PrintCenterText(client, "Touching Spawn Robo"); // g_b_CanGetTeled[client] = true; - g_b_touching_spawn[client] = true; + // g_b_hud_drawn[client] = true; } else if (!IsAnyRobot(client) && TF2_GetPlayerClass(client) == TFClass_Spy) { @@ -476,18 +477,15 @@ public Action OnTouch(int client, int ent) { UpdateCharge(client); DrawHUD(client); - g_b_touching_spawn[client] = true; + // g_b_hud_drawn[client] = true; // PrintCenterText(client, "Touching Enemy Spawn Spy"); // g_b_CanGetTeled[client] = true; + } } - } - else - { - g_b_touching_spawn[client] = false; } } return Plugin_Continue; @@ -679,10 +677,16 @@ public Action OnPlayerRunCmd(int client, int& buttons, int& impulse, float vel[3 if (CanUseTele(client) && buttons & (IN_DUCK)) { - if(g_Recharge[client] >= g_RechargeCap && g_b_touching_spawn[client]) + if(g_Recharge[client] >= g_RechargeCap && g_b_hud_drawn[client] && g_drawtime[client] + 1.0 >= GetEngineTime()) { Teleport_Player(client); } + // else if (g_Recharge[client] >= g_RechargeCap && g_b_hud_drawn[client] && !TF2Spawn_IsClientInSpawn(client) && !IsAnyRobot(client)) + // { + // Teleport_Player(client); + // } + + } } @@ -764,24 +768,28 @@ public Action DrawHUD(int client) // PrintCenterTextAll("Ready"); Format(sHUDText, sizeof sHUDText, "Teamporter Ready!\nTeamporter is building"); SetHudTextParams(-1.0, -0.2, 0.1, 0, 130, 130, 255); + g_b_hud_drawn[client] = false; } case TELE_CARRIED: { // PrintCenterTextAll("Ready"); Format(sHUDText, sizeof sHUDText, "Teamporter Ready!\nTeamporter is being carried"); SetHudTextParams(-1.0, -0.2, 0.1, 130, 130, 0, 255); + g_b_hud_drawn[client] = false; } case TELE_SAPPER: { // PrintCenterTextAll("Ready"); Format(sHUDText, sizeof sHUDText, "Teamporter Ready!\nTeamporter is Disabled / Sapped"); SetHudTextParams(-1.0, -0.2, 0.1, 133, 0, 130, 255); + g_b_hud_drawn[client] = false; } case TELE_RECHARGING: { // PrintCenterTextAll("Ready"); Format(sHUDText, sizeof sHUDText, "Teamporter Ready!\nEngipad Teamporter is Recharging..."); SetHudTextParams(-1.0, -0.2, 0.1, 50, 50, 100, 255); + g_b_hud_drawn[client] = false; } case TELE_READY: { @@ -789,6 +797,8 @@ public Action DrawHUD(int client) Format(sHUDText, sizeof(sHUDText), "Teamporter Ready!\nCrouch to Teleport!"); TF2_AddCondition(client, TFCond_TeleportedGlow, 1.0); SetHudTextParams(-1.0, -0.2, 0.1, 0, 255, 0, 255); + g_b_hud_drawn[client] = true; + g_drawtime[client] = GetEngineTime(); } // case TELE_WRONGTEAM: // { @@ -863,27 +873,31 @@ public Action DrawHUD(int client) { Format(sHUDText, sizeof(sHUDText), "%s\nTeamporter is building", sHUDText); SetHudTextParams(-1.0, -0.2, 0.1, 0, 130, 130, 255); + g_b_hud_drawn[client] = false; } case TELE_CARRIED: { Format(sHUDText, sizeof(sHUDText), "%s\nTeamporter is being carried", sHUDText); SetHudTextParams(-1.0, -0.2, 0.1, 130, 130, 0, 255); + g_b_hud_drawn[client] = false; } case TELE_SAPPER: { - Format(sHUDText, sizeof(sHUDText), "%s\nnTeamporter is Disabled / Sapped", sHUDText); + Format(sHUDText, sizeof(sHUDText), "%s\nTeamporter is Disabled / Sapped", sHUDText); SetHudTextParams(-1.0, -0.2, 0.1, 133, 0, 130, 255); + g_b_hud_drawn[client] = false; } case TELE_RECHARGING: { Format(sHUDText, sizeof(sHUDText), "%s\nEngipad Teamporter is Recharging...", sHUDText); SetHudTextParams(-1.0, -0.2, 0.1, 50, 50, 100, 255); + g_b_hud_drawn[client] = false; } - case TELE_READY: - { - Format(sHUDText, sizeof(sHUDText), "%s\nTeamporter ready!", sHUDText); - SetHudTextParams(-1.0, -0.2, 0.1, 0, 255, 0, 255); - } + // case TELE_READY: + // { + // Format(sHUDText, sizeof(sHUDText), "%s\nTeamporter ready!", sHUDText); + // SetHudTextParams(-1.0, -0.2, 0.1, 0, 255, 0, 255); + // } // case TELE_WRONGTEAM: // { // // PrintCenterTextAll("Ready"); @@ -904,6 +918,7 @@ public Action DrawHUD(int client) { Format(sHUDText, sizeof(sHUDText), "%s\nNo active Teleporter",sHUDText); SetHudTextParams(-1.0, -0.2, 0.1, 255, 0, 0, 255); + g_b_hud_drawn[client] = false; }