I decided that one extra key shouldn't overwhelm anyone, so I give the player two options for the most crucial function (shooting the grapple). You can either use an additional mouse button (mouse4 that most, but not all, players will have) or the fallback for someone with an ancient mouse is to use Shift. Obviously, you should *always* allow the player to re-assign it to whatever the hell they want. To accomplish my other two needs I just combined them into one: adjusting rope length engages swing mode. So I've just done away with weapon switching via mousewheel (I kind of feel players should use keys to call weapons anyways). Mousewheel now invokes "swing" mode, and scrolling up/down on the mousewheel causes the rope to lengthen/shorten respectively (which I felt was intuitive for the action being accomplished). At the end of the day the player has to learn 1 extra key (that they can remap to their hearts desire) and that mousewheel sets and adjusts the rope. As for your specific dilemma:
Regular Firing: Gun firing as mouse left and Grenade as mouse right. Tried and true, just don't screw with it.
Iron sights: I'm really biased against iron sights (hate 'em), but here's what I'd do. I'd have the weapon position be mostly centered, but not completely drawn up, low on the screen (to not block the view), and then when fire is invoked, it automatically engages iron sighting. You get your iron sights and save a key. Players view isn't blocked while not shooting, yet iron sights still come up when shooting.
Reload: Really should be R, it's now common to many many games, don't screw with it.
Switch Fire Modes: I'd really override weapon changing via the mousewheel (DoOverrideNextWeapon()) and just use the mousewheel to switch modes. It's intuitive and makes sense, I'm firing with left/right mouse, and I switch modes using the wheel.
Grenade Reload: The hardest one. I'd either 1) just make it automatically reload (so what if its not 100% consistent), or 2) have reload be "intelligent" in that it only fills up what it needs, so if a player shot all of this grenades and only 10 bullets, then reload would cause the grenades to be fully reloaded and only 10 bullets reloaded.
Cheers!

Leave a comment: