Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Turns "friendly fire" into "teamless deathmatch" #17

Open
0n-s opened this issue Aug 31, 2024 · 4 comments
Open

Turns "friendly fire" into "teamless deathmatch" #17

0n-s opened this issue Aug 31, 2024 · 4 comments

Comments

@0n-s
Copy link

0n-s commented Aug 31, 2024

"Friendly fire" means (at least to my understanding) that you can damage your own teammates. Consequently I would expect, e.g. the sentry gun to not target teammates, but be able to damage teammates if they are in the way of its target.

I suppose this is more of a philosophical issue with the plugin, where what is meant here is actually "free for all teamless DM" & not "friendly fire", as this is only one instance…there's also:

  • Manmelter change
  • dispenser & teleporter change
  • crossbow change
  • spy cloak change
  • etc.
@Mikusch
Copy link
Owner

Mikusch commented Aug 31, 2024

This is a very subjective matter, but I've originally created this plugin for a FFA gamemode where the default friendly fire just wasn't good enough.
I believe most people would not want to heal someone they are trying to fight with their crossbow, nor their dispenser to provide cover and healing/ammo to them. The use case of using it in a team-based gamemode while allowing your own teammates to shoot you hasn't come up.
I'm also not opposed to making this configurable via a sm_friendlyfire_teammates_are_enemies convar similar to what CS:GO had, but I have a very busy life and can not really spend much time on maintaining all my plugins anymore.

@0n-s
Copy link
Author

0n-s commented Aug 31, 2024

I believe most people would not want to heal someone they are trying to fight with their crossbow, nor their dispenser to provide cover and healing/ammo to them [in an FFA gamemode].

Completely agree. But then I would at least say the name of the mod is misleading, as detailed in the 1st post. Whether you'd like to change the mod to fit the name or change the name to fit the mod is your call, of course.

[Also, the game has been developed without friendly fire for most (all) of its life, so whether the crossbow should heal or damage teammates is one of those debates that will last your entire life; I would argue in favor of healing, in the interest of keeping things interesting]

The use case of using it in a team-based gamemode while allowing your own teammates to shoot you hasn't come up.

Not thoroughly surprised at that, TBQH (c.f. how CTF is "played" generally).

My usecase is just a standard Highlander match but with friendly fire, mostly as a fun experiment to see how it would change the balance of the game. Nothing too serious, but at least more technically interesting than DM, I would say.

I have a very busy life and can not really spend much time on maintaining all my plugins anymore.

Sure, no pressure.

@Mikusch
Copy link
Owner

Mikusch commented Oct 14, 2024

  • Manmelter change
  • dispenser & teleporter change
  • crossbow change
  • spy cloak change
  • etc.

I would like to work on implementing the sm_friendlyfire_teammates_are_enemies convar. What else should it cover? I am not sure on some things e.g. should teammates be able to destroy friendly stickybombs, or to reflect friendly rockets?

@0n-s
Copy link
Author

0n-s commented Oct 14, 2024

Thanks a lot for working on this!

What else should it cover?

I'm mostly going off of the README, so I'll mainly list stuff from there, TF2 wiki, & random stuff that comes to mind right now:

  • Engi melee should repair friendly buildings
  • dispensers & teleporters should work as normal ("normal" in this list means mp_friendlyfire 0 behavior)
  • Buff Banner should work as normal
  • again, sentries should not target teammates, but be able to hit them if they're in the way
    • edge case: do sentries target enemy players through teammates normally? If not, then teammates should only be able to be hit by L3 rockets, since the rest is hitscan (i.e. do not change the targeting capabilities of the sentry). Additionally, if the hitscan stuff pierces (I don't think it does…), then the hitscan stuff should still hit teammates if they're behind an enemy player.
    • simpler case: Wrangler should be able to fire at teammates
  • airblast on teammates should extinguish them & push them

I am not sure on some things e.g. should teammates be able to destroy friendly stickybombs, or to reflect friendly rockets?

Yes, & yes.

I will test more mechanics in about a week, when I figure out how to control puppet bots.

But here are the general rules I suggest:

  • teammates are still treated as teammates (i.e. no FFA mechanics like sentries or spy cloak, as mentioned in OP)
  • if there's a teammate buff aspect to a weapon or mechanic (e.g. crossbow, extinguishing), try to combine both that & the attack (push + extinguish), but if they would arguably cancel out (e.g. crossbow, wrench), then keep it working like mp_friendlyfire 0 (e.g. crossbow would still work as normal). These still apply for teammates only as per usual, no extinguishing enemies (yay for Pyro combos).
  • if none of the above apply, then friendly fire should apply.
  • but also, if following these rules makes gameplay considerably more uninteresting, it should probably be exempt from them (no examples in mind yet)

The intention of those rules is that: friendly fire does not fundamentally change the team-based nature of the game, it simply makes it so that you can hamper your team if you're not careful, but they're still a team, with the same tools at their disposal to buff each other & such (medigun, crossbow, extinguishing, Soldier banners, etc.).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants