Half-Payne is a Half-Life mod that aims to bring some gameplay bits from Max Payne. It ended up as interesting way to replay the game and this is the first time ever I tried to mod the game by dwelling into it's source.
Here's the list of all changes that have been made:
Simillar to original Max Payne game, there's hourglass icon which shows how much slowmotion charge do you have. Fill the hourglass by killing your enemies, the more dangerous the enemy - the more charge you get for the kill.
Slowmotion toggle button is bindable in the options and defaults to MOUSE3, you can also toggle the slowmotion using "impulse 22".
You can activate infinite slowmotion cheat using "impulse 24".
Simillar to original Max Payne games, you can make a dive move (shootdodge). Dive works simillar to long jump module, but isn't that far and can be done in any direction. You can make diving move only if you have enough slowmotion charge (which is 10%). Slowmotion charge won't deplete during the actual dive afterwards.
You can cancel slowmotion during your dive by toggling slowmotion.
Diving is bindable in the options and defaults to LSHIFT, you can also dive using "+alt1".
Painkillers and player's health
Simillar to original Max Payne games, you use painkillers to heal yourself.
All portable medpacks are now considered as painkillers.
All Medical stations have been replaced with animated Med cabinets which contain 2-4 painkillers depending on your difficulty level.
You can hold up to 9 painkillers and only when you have the suit on.
Taking painkillers is bindable in the options and defaults to G, you can also take painkillers using "impulse 23".
All suit charging stations and batteries have been removed to counter the ability to take painkillers at any time.
Health regenerates up to 20.
Player's health is displayed with replica of Max Payne healthbar.
You're actually playing as Max Payne now - you can see that on replaced playermodel and weapon viewmodels.
Instead of wearing HEV suit, you have to pickup your coat. It's located in your closet (c1a0d map).
Max will comment when certain things occur. Commentary on story events is achieved by map configuration files. Max will also comment on gameplay situations, such as:
Finding or taking painkillers
Taking huge damage dealt by player himself
Being near death while (not) having painkillers
Killing innocent people
Having no ammo in the gun
Answering a very important rhetorical question
Which by default is present when slowmotion is active and can only be shot by enemies. Physical bullets are simillar to crossbow bolts and also emit trail effect when shot in slowmotion.
Turning it on for player can be done in custom game modes.
Dual Berettas - new weapon
Picking up a pistol when you already have one allows you to dual wield them.
Both pistols have independent clips. Ammo in the clip is preserved when you switch back and forth to single or dual pistols.
Dual pistols rate of fire is alittle higher compared to single one.
Desert Eagle - revolver replacement
Replacement model comes from Opposing Force, but got it's laser sight cut off.
In previous versions of Half-Payne, revolver's fire cooldown has been shortened.
Max ammo in the clip has been increased from 6 to 7.
Each shot of Beretta, Deagle and Shotgun has to be done by yourself. In other words, you can't hold the button to fire continiously.
Secondary fire of Beretta has been disabled, you have to do rapid fire by yourself.
Shotgun annoying reload time has been shortened.
SMG is much more accurate now if you don't shoot it too much.
Hand grenades and SMG grenades can be shot down. During marine encouters, you can shoot grenades in slowmotion while maintaining your cover.
Punchangle (recoil effect) for some weapons affects your actual accuracy (especially noticeable on revolver).
All pistols, shotguns, MP5 and turrets produce tracer effects.
Weapons reload faster when in slowmotion, but turning the slowmotion off while reloading doesn't make the reload finish as fast as it had to.
Implemented proper 'hud_fastswitch' behavior. 'hud_fastswitch 1' only works with weapons that only take one slot in the weapon group, otherwise weapons selection works as usual.
Use 'hud_fastswitch 2' to make it work just like in Half-Life 2. Pressing slot3 three times selects crossbow etc.
You can turn off automatic weapon switching after picking up the weapon by setting 'hud_autoswitch 0'.
Classic viewmodel bobbing
This was present in the original WON version of Half-Life. You can turn it on by setting 'cl_bobclassic' console variable to 1.
This was also present in the original WON version of Half-Life. You can turn it on by setting 'cl_rollenabled' console variable to 1.
Black Mesa Minute gamemode
Rush through the levels against the minute while killing your enemies the most efficient way as possible.
Basically it's somewhat time attack mode where score is your time at the end. It resembles New York Minute from Max Payne 3 and has simillar time bonuses.
Ordinary kill - 5 seconds
Headshot kill - 6 seconds
Explosive kill - 10 seconds
Crowbar kill - 10 seconds
Projectile destroyed - 1 second (when you destroy enemy grenades)
Score Attack Game Mode
Play through familiar levels while killing as many enemies as possible and keeping your combo multiplier at max.
You can read additional info on scoring in README file.
Custom Game Modes
Play singleplayer game with a custom loadout and additional mods that change gameplay (simillar to Unreal Tournament mutators).
Max Payne style deathcam, complete with proper soundtrack.
Disabled fast bunnyhop prevention.
Player doesn't collide with enemies in their dying animations.
Marine or Barney's helmet now absorbs up to 10 damage before it will stop reflecting projectiles.
Infinite flashlight charge.
White HUD colorscheme.
All weapons have the same white dot for the crosshair.
Health more than 100 (like when using infinite health door glitch) is shown on hud.
You can kill G-Man, seriously just screw him.
HGrunts turn around faster when playing on Medium or Hard difficulty.
Sentry turrets emit sparks when you hit them.
Fixed not being able to use certain cheats (like impulse 101) after loading save files.
Directed by suXin
Max Payne viewmodels, vanilla Barney with Beretta and minor coding help - Rara
Main menu background by Ninja_Nub[NOR]
Max Payne resources ripped from
Original Max Payne game, made by Remedy
Max Payne 3, by Rockstar
Med cabinet model rip from Max Payne by Xinus22
Several custom mods ideas by Facepunch pals and ~my buddy~
Code changes that allow you to walk with reversed gravity - YaLTeR
New implementation of slowmotion, which was made possible by registering hidden console variable - sys_timescale, which, compared to former implementation, doesn't have problems like gameplay speedups after level loading or keeping the game minimized for awhile. Since this console variable is engine related, it also seems to make event-based weapon reloading sounds and explosion sounds also slowed down. The implementation is a hack and it has chance to fail if Valve decides to update GoldSource engine for some reason. If that happens - the game will fallback to old implementation of slowmotion. Thanks alot to SoloKiller for hinting towards this console variable.
Player now has no right to change sys_timescale or host_framerate console variables.
Improvements and fixes to the ending map.
Berettas and MP5 now shoot faster when slowmotion is present.
Slowmotion deactivates smoother when slowmotion charge runs out or after diving.
You can now change difficulty on the fly if you play vanilla gamemode. Monsters get new amount of health only when spawning though.
You can now specify in detail which Max's commentary to play in the advanced options tab or with console variables.
You can now grab the ladder after diving.
Flashlight is now turned off when you die.
Max now doesn't repeat the same swearing twice.
Replaced Glock pistol HUD sprites with Beretta ones.
Updated Barney vanilla model to make him hold a Beretta (thanks Rara).
Updated Score Attack default config files to prevent backtracking.
Added [change_level_prevent] custom game mode config file section.
Added a couple of new custom game mode configs: akimbo_agony, basic_weapons.
snark_inception custom mod: snarks are now immune to explosions.
vvvvvv, upside_down custom mod: fixed incorrect positioning of bullets and tracer effects, incorrect punchangles; tripmine is rolled 180 degrees if player is looking upside down.
vvvvvv: you now get fall damage, default config file includes no_fall_damage mod instead.
Fixed raw mouse input (m_rawinput) not working correctly - restricting player's view.
Fixed grenades and satchels getting stuck in the player in case of throwing them straight down.
Fixed tripmines' and snarks' immunity to explosions.
Fixed rare crash when sound is about to be played specified in [sound] or [max_commentary] section.
Fixed getting stuck in the air after killing barnacle when you were laying on the ground still after diving.
Fixed map's fading in effects getting cancelled when player activates slowmotion or takes a painkiller.
Fixed being able to reload weapon with full clip after you switched to this weapon.
Fixed player's kill not being counted if it was done by activating multi_manager, which activated something that made the kill.
Fixed not having Max Payne model active in some cases.
NEW SLOWMOTION IMPLEMENTATION
There was a moment where I once again told someone that slowmotion implementation was poor and dated back to March 6th, 2016. The guy known as SoloKiller, who's reverse engineering the GoldSource engine and also works on better Half-Life codebase, hinted at sys_timescale cvar. I was shocked to find out about this. sys_timescale is basically host_timescale from Half-Life 2, but Valve didn't provide access to this console variable. It wasn't registered and wasn't explicitly exposed in the public codebase. But it was still there, inside the engine. You could see it in hw.dll with HEX editor, and I could see the exact same presence when I looked directly at the memory location of fps_max variable.
I knew that it will always be here, unless Valve update their engine and it will somehow move the variable. So I just had to use fps_max as starting point for console variable pointer, offset it back several bytes and then register sys_timescale by pointer.
It worked. It got registered. I was shocked. Time slowed down properly. I was so happy. No more random speed ups and vsync bullshit. It was the right way to do this from the beginning. Thanks you for the hint, SoloKiller.
The next update will be focusing on adding new gameplay mods. Some of them were supposed to be in this update because it'd be easy to implement, but honestly I've got lazy with them and I think bringing out fixes as fast as possible was more important. I don't know when to expect next update, I'm definetely lowering my development pace now. Very rough estimate would be around July-August. Since it may take a long time for the next update, shoot your ideas on new custom mods, here's the list of most ideas I've got written down:
german_edition - bring back censored Half-Life content (because it's ridiculous)
robo_grunts - as a feature of german_edition
moving_with_guns - you can only move around using recoil (remember how powerful Opposing Force machine gun was?)
skating - this one I can't promise. I accidentally made skating-like movement and it was fun to play, but it had some critical problems that have to be fixed.
gungame - you only have one weapon, getting enough kills or wasting enough time gives you the next weapon
monsters in func_breakable - chance of getting random monster when breaking crates etc.
alien_grunt_hitscan - self explanatory (don't ask why, I just want to try)
bullet_ricochet - self explanatory
grenade_ricochet - ridiculous physics for the grenades
demigod - you start with 32767 health and can't heal
penguin_snarks - replace snarks with penguins from Opposing Force
mp5_burst - makes MP5 shoot in bursts of 3 bullets, superhot needs this
grenade_cluster - grenade exploded will produce pellets that will also explode
satchel_cluster - satchels exploded will produce pellets that will also explode
slowmotion_only_by_diving - only diving allows to activate slowmotion
painkiller_regen - painkillers take time to heal instead of healing instantly
no_slowmotion_charge_on_kills - self explanatory
slowmotion_on_painkiller - get full slowmotion charge when taking a painkiller
I will post on Twitter when I'll get back working or whatever I'm working on
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.
No files were found matching the criteria specified. We suggest you try the file list with no filter applied, to browse all available. Add file and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.