Pending [Dodgeball] RTD Re-revamp (1 Viewer)

Status
Not open for further replies.

Lighty

Gameserver Admin
Staff member
Gameserver Admin
Joined
Jan 9, 2016
Messages
869
Dodgeball has quite a few useless perks which don't fit the gamemode at all, so I suggest fixing or at least removing some of them.
  • Scary Bullets
    • It does nothing.
    • FIX: Airblasted rocket scares anyone nearby it every second or two, enemy only.
  • Infinite Ammo
    • It does nothing. Needs to be removed.
  • Ignition
    • It does nothing.
    • FIX: Pyros don't burn, so forcing them to burn or just execute sm_burn on the player to burn them.
  • Bad Sauce
    • Barely an annoyance, does nothing pretty much. Needs to be removed.
  • Suffocation
    • Barely an annoyance, does nothing pretty much.
    • FIX: Make the effect last longer, it's too short to cause an annoyance, death or anything really. Otherwise needs to be removed.
  • Outline
    • It does nothing, not even a fun perk. Needs to be removed.
  • Fire Timebomb
    • It does nothing. The person that got it ends up blocking the enemy team because of it.
    • FIX: Same as ignition, but this time it burns the pyros that were close enough including the person that rolled the perk. The person that rolled the perk should also possibly make it look like they are damaging them (aka dealing damage).
  • Necro Mash
    • Clients don't have the model and sounds in cache, so it causes a huge lagspike for whoever hasn't had it happen in their current tf2 session.
    • FIX: Dirty fix would be to make it on client connect, wait for them to spawn, load the model outside the map and play the sounds at 0 volume so their game caches everything. Not sure if it'd work properly or not but, just a suggestion.

Someone jokingly said a perk which IMO is quite interesting and very gamemode specific, a perk where the rocket only targets you and no one else. Pretty simple to implement and probably different and way better ways to do it anyways than what I have provided.
How to implement it: though ron should already know
To keep it simple
Code:
..
//RTD
int g_iConstTarget; // Keep track of who should be targeted
..
RegServerCmd("db_rtd_target", SetConstantTarget); // Register the command
..
public Action SetConstantTarget(int iArgs)
{
    char strBuffer[8];
    GetCmdArg(1, strBuffer, sizeof(strBuffer));
    g_iConstTarget = StringToInt(strBuffer);
}// Command callback, sets the player who should always be targeted
..
if (iClient == g_iConstTarget)return iClient; // See below
Code:
// in function SelectTarget() or similar
    for (int iClient = 1; iClient <= MaxClients; iClient++)
    {
        // If the client isn't connected, skip.
        if (!IsValidClient(iClient, true))continue;
        if (iTeam && GetClientTeam(iClient) != iTeam)continue;

        if (iClient == g_iConstTarget)return iClient; // if the client is valid and on
        // the correct team, check if it needs to always be targeted.

        // Determine if this client should be the target.
        float fNewWeight = GetURandomFloatRange(0.0, 100.0);

        if (bUseRocket == true)
        {
            float fClientPosition[3]; GetClientEyePosition(iClient, fClientPosition);
            float fDirectionToClient[3]; MakeVectorFromPoints(fRocketPosition, fClientPosition, fDirectionToClient);
            fNewWeight += GetVectorDotProduct(fRocketDirection, fDirectionToClient) * fWeight;
        }

        if ((iTarget == -1) || fNewWeight >= fTargetWeight)
        {
            iTarget = iClient;
            fTargetWeight = fNewWeight;
        }
    }
RTD part is fairly simple
in forcedtarget.sp
Code:
public void ForcedTarget_Perk(int client, const char[] sPref, bool apply){

    if (apply)
        ServerCommand("db_rtd_target %i", client);
    else
        ServerCommand("db_rtd_target -1");

}
Include and function call needs to be added to #manager.sp and #perks.sp as per documentation.
In rtd2_perks.default.cfg
Code:
    "56"    //Forces rocket to only target the client
    {
        "name"            "Forced Target"
        "good"            "0"
        "sound"            "vo/Heavy_negativevocalization02.mp3"
        "token"            "forcedtarget"
        "time"            "15"
        "class"            "0"
        "weapons"        "0"
        "settings"        "0"    //This is not used for anything here
        "tags"            "forcedtarget|db|bad"
    }
Some more stuff should to be added to translations\rtd2_perks.phrases.txt so that it shows what it does via the command sm_perks, but otherwise unneeded.
Since I can't add a vote that contains all of them nor have a separate vote for each one, just reply with what you think should be removed, fixed or left alone. Arguing/being toxic will get you reply banned.
 

TBotV63

Gameserver Admin
Staff member
Gameserver Admin
Joined
May 29, 2016
Messages
762
Scary Bullets
  • It does nothing.
  • FIX: Airblasted rocket scares anyone nearby it every second or two, enemy only.
Sounds super annoying for everyone involved. I'd rather just throw it out. There are plenty
Infinite Ammo
  • It does nothing. Needs to be removed.
Ignition
  • It does nothing.
  • FIX: Pyros don't burn, so forcing them to burn or just execute sm_burn on the player to burn them.
It either does effectively nothing or it kills you, such is the nature of the gamemode. Imo there are plenty instant / eventual death effects. Trash it.
Bad Sauce
Suffocation
In the trash it goes.
Fire Timebomb
  • It does nothing. The person that got it ends up blocking the enemy team because of it.
  • FIX: Same as ignition, but this time it burns the pyros that were close enough including the person that rolled the perk. The person that rolled the perk should also possibly make it look like they are damaging them (aka dealing damage).
I find the burn effect to be quite useless either way, how about replacing it with a freeze bomb instead and then applying the old freeze effect (eg you can still airblast). That would add variation to the game and do something other than just being either useless, instant death or temporary invulnerability, which seems to be the vast majority of rtd effects now.
Necro Mash
  • Clients don't have the model and sounds in cache, so it causes a huge lagspike for whoever hasn't had it happen in their current tf2 session.
  • FIX:Dirty fix would be to make it on client connect, wait for them to spawn, load the model outside the map and play the sounds at 0 volume so their game caches everything. Not sure if it'd work properly or not but, just a suggestion.
You could try the fix, but I wouldn't waste too much time trying to debug and reproduce it for everyone. Chances are a subset of people will still complain about it, and simply trashing it is easier.
Consider merging these two efforts: https://www.panda-community.com/threads/repair-the-dice.16832/
Someone jokingly said a perk which IMO is quite interesting and very gamemode specific, a perk where the rocket only targets you and no one else. Pretty simple to implement and probably different and way better ways to do it anyways than what I have provided.
I like that one. If we are going to modify the dodgeball plugin anyway, we might also consider the opposite, eg. rockets won't target you no matter what.
I suppose a second rocket targeting the user as an rtd would be too wild? :kappa:

Map cleanup thread when? If I'm forced to play catland one more time ima kms.
 
Last edited:
Status
Not open for further replies.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)