Cutstuff Forum

Mega Man 8-bit Deathmatch => Bugs/Suggestions => MM8BDM Discussion => Closed => Topic started by: CutmanMike on June 16, 2016, 02:09:39 PM

Title: MM8BDM v5 - Altfires and Charge weapons
Post by: CutmanMike on June 16, 2016, 02:09:39 PM
A long time ago we had a discussion on this forum about a feature that someone (maybe me?) was considering adding to the game, but it got pruned so I'd like to have it once again.

Charge weapons in this game (Atomic Fire, Proto Buster, Laser Buster etc) can fire their regular shots by mashing the Fire button (mouse1 by default). This can be used strategically to whittle down opponents with low health or finish someone off after a charge shot as hit them. However, I don't know about you but absolutely hate mashing my mouse button. Setting up an additional button or alias for this is not very intuitive either.

Here is my suggestion to fix this. Adding Altfires to charge weapons. When used it will simply fire the non-charge version repeatedly while held down.

I know a lot of people are against this, but I'd like to list some reasons why I think it's about time we added this feature:


We will even make it so non-charge weapons fire their regular shot when pressing altfire so the button isn't completely dead when switching weapons.

I would like the community's consent before adding this though, in case I'm not seeing an important reason not to do this. Let me know what you think.
Title: Now we can do surprise laser shots!
Post by: BiscuitSlash on June 16, 2016, 02:58:41 PM
As much as I love the whole "No Altfires in the core game" thing, those uncharged shots on chargeable weapons really need some love! I haven't done it enough because button mashing with a mouse feels really off.

Vote_Up for this new feature.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Laggy Blazko on June 16, 2016, 03:31:23 PM
Quote from: "CutmanMike"
However, I don't know about you but absolutely hate mashing my mouse button.
lol ur a casul

Actually, I don't see why not adding something like this. As long as I can still smash my button if I want to. =P
Vote_Up
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: JaxOf7 on June 16, 2016, 03:35:32 PM
Glad we're on the same page of rapid firing by holding a button and being willing to modify vanilla weapon code
But I'm guessing your current methodology is this, which would cause quite a bit of code bloat:
(click to show/hide)

So I am making an alternate suggestion: http://www.best-ever.org/download?file=anotherturbobuttontest.pk3 (only atomic fire works)
Have the jump cancel script that checks your controls check for altfire/userbutton press, and then give/take a turbo toggle based on that.
And then just modify charge weapons like so
(click to show/hide)
A change that affects just charge weapon coding, AND mods that already use altfire for their weapons can have players use the userbutton to utilize turbo as well.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: CutmanMike on June 16, 2016, 04:28:44 PM
Quote from: "JaxOf7"
But I'm guessing your current methodology is this, which would cause quite a bit of code bloat

I believe all the weapons currently inherit a base weapon? Something like this should work:

Code: [Select]
Altfire:
Fire:
...

without having to edit every single weapon.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: JaxOf7 on June 17, 2016, 01:50:38 AM
That actually just does the BaseWeapon's Altfire on inherited weapons.
(click to show/hide)

You can indeed do this though
(click to show/hide)
But that is prone to desync online...
And doesn't change the fact that you have to define weapon.ammotype2 and Weapon.AmmoUse2 for each weapon if you want A_JumpIfNoAmmo and A_FireCustomMissile(,0,1 to work.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Russel on June 17, 2016, 01:59:25 AM
If one was willing to wait for version 3.0 to make this change, simply employing the following flags on the base weapon would suffice:

+WEAPON.ALT_USES_BOTH - Altfire now makes use of Ammo1 and the defined Ammo2 [if any]
+WEAPON.ALT_AMMO_OPTIONAL - Ammo is no longer required to enter the Altfire state.


I'm personally not fond of your method because it's roundabout and takes up the user1 button.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: JaxOf7 on June 17, 2016, 03:44:13 AM
Quote from: "Lego"
If one was willing to wait for version 3.0 to make this change, simply employing the following flags on the base weapon would suffice:

+WEAPON.ALT_USES_BOTH - Altfire now makes use of Ammo1 and the defined Ammo2 [if any]
+WEAPON.ALT_AMMO_OPTIONAL - Ammo is no longer required to enter the Altfire state.
Tested, you are completely correct.

Baseweapon would just need this
(click to show/hide)

As for the altfire jump desync, it seems 3.0 actually fixes that. (Though I just remembered that desync issue could be sidestepped in current version with an inventory jump like so)
(click to show/hide)

Welp, I'm satisfied. Altfire = rapid sounds good to me.
I'll just keep that turbo toggle code around for mods that decide they want to have a +user1 toggle rapid fire for main/alt.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Superjustinbros on June 19, 2016, 12:13:12 AM
Up-voted.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Hallan Parva on June 19, 2016, 03:53:57 AM
Quote from: "CutmanMike"
We will even make it so non-charge weapons fire their regular shot when pressing altfire so the button isn't completely dead when switching weapons.
upvoted entirely because of this
consistency and clarity saves lives

+support
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: fortegigasgospel on June 19, 2016, 05:17:03 AM
But then custom weapons. Sure like all of them have to be updated anyway, how much more work will that mean for them?
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Russel on June 20, 2016, 09:50:51 AM
That depends entirely on if this is placed into 5a or whatever version we release to patch this game up for Zandronum 3.0.

If it goes in for v5a, that's +2 lines of code for each weapon:
Code: [Select]
weapon.ammotype2 "ammo"
weapon.ammouse2 ammouse
where the string "ammo" and the integer ammouse vary from weapon to weapon.


However, if this change is applied whenever we patch for Zandronum 3.0, all the new code would be placed on the actor BaseWeapon, which would handle all the functionality for us. This means that the only thing the people making their custom weapons need to bother with is inheriting from BaseWeapon instead of MegaBuster.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: GameAndWatcher on June 24, 2016, 06:41:34 PM
Although it's technically not a charge weapon, could you guys also apply this to the Treble Boost? I'm sure there are situations where you wouldn't want to use the "boost" immediately.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Gumballtoid on June 24, 2016, 09:06:38 PM
That's not a bad idea, actually. Using altfire would just fire a single shot and not trigger flight, as though you were out of ammo.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Russel on June 28, 2016, 02:22:09 PM
I'm down for putting this into play, but I'd prefer to wait until Zandronum 3.0 to put it in if only because it wouldn't require as much on the side of creation and maintenance of custom weapon sets.

If it's required, I'll do it. Though I would rather not because it would set a new standard for the weapon bases that would look redundant and be nullified in a few versions incoming... it'd be work for me and potentially others to put in that would just become obsolete as soon as Zandro updates.


I want to see this in action, but I also don't want to update 80-someodd text files again, especially in a manner that would just get undone for another version incoming.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: CutmanMike on June 28, 2016, 07:28:09 PM
Very well. Add it to the "until Zand 3.0 comes around" list for now.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: JaxOf7 on July 02, 2016, 02:54:28 AM
http://allfearthesentinel.net/download?file=altrapidfire3po.pk3
Wanted to get an idea for how this would work, so I coded it for 3.0 myself. (3.0 requires editing your mm8bdmv4c.pk3 btw)
Includes all the charge weapons, plus a few weapons you wouldn't expect such as Drill Bomb and Scorch Wheel.

Also kind of hope weapons like Gyro Attack and Spread Drill will follow the Drill Bomb scheme as I consider that scheme to have the most control in general. Especially with this feature.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: Superjustinbros on August 07, 2016, 11:30:37 PM
Sorry to give this a bump, but I was thinking Altfire could be used to cancel/deactivate Sakugarne without having to switch to another weapon.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: andreasaspenberg on September 10, 2016, 08:22:44 PM
it could also be used to fire the regular buster. (i am playing with a player that is really bad at switching weapons so it would really help that player keep fighting when out of ammo).
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: CutmanMike on September 12, 2016, 04:45:37 PM
This is now done and ready to test online. The following weapons have special altfire interactions:

Gyro Attack - Altfire fires normal Gyro Attack projectiles that do not split. Firing with regular fire again splits them.
Copy Vision - Fires the regular buster and does not redirect your Copy.
Sakugarne - You can cancel the bouncing with altfire (currently not while during a big jump).
Remote Mine - Detonation rules changed (pending feedback).

Every other weapon acts as if you were mashing the fire button.

it could also be used to fire the regular buster. (i am playing with a player that is really bad at switching weapons so it would really help that player keep fighting when out of ammo).

Sorry but this removes some of the strategy in MM8BDM! Press 1 on your keyboard (by default) to select your buster.
Title: Re: MM8BDM v5 - Altfires and Charge weapons
Post by: NES Boy on September 13, 2016, 12:55:48 AM
I have another use for altfire: we could bring back Dr. Light's stage advice from the pre-V3A builds. Just press altfire while highlighting a particular stage to have Dr. Light talk about it.