Advanced Search

Author Topic: [Oversight] Various pits not triggering Beat Call  (Read 2674 times)

0 Members and 1 Guest are viewing this topic.

July 04, 2017, 06:34:58 PM
Read 2674 times

Offline DarkAura

  • MM8BDM MM8 Contributor
  • *****
  • Date Registered: March 06, 2011, 01:38:04 AM

    • View Profile
[Oversight] Various pits not triggering Beat Call
« on: July 04, 2017, 06:34:58 PM »
Since the scripts for the pits and Beat Call were changed for v5b, outside-area pits in some of the levels (mostly ones where Beat Call is not available) were not altered to have Beat Call function properly. Instead the player becomes invulnerable to the pit damage and Beat Call says inactive.

Maps affected: MM1GUT, MM1OIL* ,MM2BUB, MM3SNA, MM3TOP, MM4TOA, MM4RIN, MM4DW1**, MM5CHA, MM5STO, MM5NAP, MM5CRY, MM5DAR, MM6BLI, MM6YAM, MM6MRX, MM7SHA, MM8FRO, MMBDYN, MMBGRO, MMWTBRG, MMCTF02, MMCTF05***, MMCTF08, MMCTF11, MMCTF12, MMCTF18

*Has no pits, but Beat Call makes you immune to damage from the non-lethal oil ponds
**The underwater spike pits register as "drowning" in the code and shouldn't activate Beat Call.
***Works fine on the lava pools, but not any of the pits

MM1BOM, MM2AIR, MM2MET, MM3MAG, MM4BRI, MM5GRA, MM6WIN, MM8CLO, MM9TOR, MMCTF13, MMCTF24 uses the old script, but Beat Call still functions.
(click to show/hide)

July 04, 2017, 09:13:55 PM
Reply #1

Offline Rozark

  • MM8BDM Extender

  • Mr. Explorer
  • **********
  • Date Registered: August 28, 2011, 04:46:04 PM

    • View Profile
    • Rozark #0873
Re: [Oversight] Various pits not triggering Beat Call
« Reply #1 on: July 04, 2017, 09:13:55 PM »
Since the scripts for the pits and Beat Call were changed for v5b, outside-area pits in some of the levels (mostly ones where Beat Call is not available) were not altered to have Beat Call function properly. Instead the player becomes invulnerable to the pit damage and Beat Call says inactive.

As far as I'm aware, it wasn't really an oversight. Beat Call is in a weird spot; it's helpful sure but the majority of map makers (and potentially players) don't really care about it. If they do decide to add Beat Call in their map, they'll add a script that calls it properly for that map but won't bother to call it in maps that don't have Beat Call. That's pretty much what happened with core as well. If it was an oversight, then Beat Call is pretty forgettable (still is regardless of outcome) based on the reasons I described earlier.

July 07, 2017, 05:42:32 AM
Reply #2

Offline DarkAura

  • MM8BDM MM8 Contributor
  • *****
  • Date Registered: March 06, 2011, 01:38:04 AM

    • View Profile
Re: [Oversight] Various pits not triggering Beat Call
« Reply #2 on: July 07, 2017, 05:42:32 AM »
It's unfortunate that Beat Call is ignored to this extent. I personally would like to see more use of it, but I can agree that it's lack of appearance is due to that most of the map being created are all indoors with no pitfalls, lava, and/or the like. I was kind of surprised that the Party Balls didn't have it as a drop, but I can understand the reason why, being the latter. The only possible method of getting it in maps that don't support it would be "randomizer" mods like ye olde ?-Box mode and there's a slim chance that it might also get worked on. I could suggest combining it with Beat Support, giving Beat Call some offensive value, or just scrapping the item all together, but I doubt that will happen, however. I'd prefer that the script be fixed just in case.

Also updated FP with more affected maps.

July 09, 2017, 03:32:10 AM
Reply #3

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: [Oversight] Various pits not triggering Beat Call
« Reply #3 on: July 09, 2017, 03:32:10 AM »
It doesn't help that several, if not all maps with pits have been coded to deal no damage to players who have Beat Call active under the assumption that they'll be triggered by a sector action in the pit.
This is because some maps use Sector_SetDamage and others use SectorDamage.
They both do essentially the same thing but they have their own strengths and weaknesses.
It essentially boils down to the fact that SectorDamage allows for people to be rendered immune to the damage dealt by the function if they have a certain item, in this case, Beat Call.

However, development around version 3 resulted in a change that caused Beat Call to activate if the player takes damage from any type of pit hazard. This includes lava, pits, freezing floors, and the sludge in MM3SHA. This damage is healed instantly and Beat Call activates regardless of intensity. This allowed maps that didn't account for Beat Call and used Sector_SetDamage for their pits to work using Beat Call.

However, some people simply copy-paste the SectorDamage script in from other maps without reading into what all these lines of code do, in spite clearly specifying people who have Beat Call are immune to the damage, and then not setting the actor hits floor sectors to activate the script that actually triggers Beat Call. This results in many maps that have pits that do not trigger Beat Call.

If it weren't for the need to specify certain pits as having the "Spiney" damagetype, I would advocate for complete removal of our use of the SectorDamage function in maps entirely to make use of the more global change introduced somewhere around v3, but it seems the chance for that has long passed.

July 19, 2017, 09:45:50 PM
Reply #4

Offline CutmanMike

  • Administrator

  • Is it hot in here or is it just zscript?
  • *******
  • Date Registered: December 17, 2008, 12:24:34 PM

    • View Profile
    • https://cutstuff.net
Re: [Oversight] Various pits not triggering Beat Call
« Reply #4 on: July 19, 2017, 09:45:50 PM »
I'm reluctantly moving this to rejected because it's one of those things that we could improve and have a universal "pit" method that all core and custom maps can use, but it's too late as a lot of custom maps already exist and would require updating. Early versions of 8BDM weren't very future-proof and this is another example of a bad practice that has been going on too long to try to fix. The blame goes entirely to me on this one. Alas poor beat.

As for the core maps that could add beat support, I don't see the point if he's not meant to be in the map anyway.