Painkeep v3 - Blast your opponents with 3 times the Pain. Deathmatch mod - make other players "die." Disclaimer - this is a free product with no warranty - see disclaimer.txt for details. Number Six - welcome to the village.

Post feature Report RSS Painkeep v1.2 - Feature set

This is a source code update only. There are no new models, sounds or maps. The archive contains progs.dat, quake.rc, config files and links to support the following features: 1. Adaptive qc code for merge with other mods 2. Map mode - use non painkeep maps on a server without annoying crossover 3. Admin menu - intuitive menu covering painkeep admin impulses 4. User menu - intuitive user menu covering painkeep user impulses

Posted by on

Download available here

Features:

Adaptive code
Painkeep map mode
Admin menu
User menu

What got upgraded?

1. Adaptive code

Code is now adaptive in the style of frikbot. Its so easy to add frikbots to any mod - only
requiring v106 code to be changed in 6 places! The same has been done with painkeep to
the greatest extent possible. While nowhere near the 6 spot frikbot adaptivity, with a
program like meld, it is still possible to add painkeep support into another mod based on v106
code.

While I dont have an exact count of the link in points, its somewhere around 57. All native
painkeep code has been removed from v106 qc to new qc files, so all painkeep code is stored in separate
files like frikbot's qc. Whenever possible I linked painkeep calls in with a divert like this:

if (PK)
{
pk_post_think();
return;
}

Any mod that needs to work for both v106 quake and painkeep goes before this call. Any mod that only
affects v106 code goes after this call. To mod painkeep only you can put new code prior to the call in the
if { } or track down pk_post_think, which is found in painkeep.qc.

2. PK mode

The new PK mode works like this - 3 bits in pk_flags (controlled via the admin menu) determine the PK mode.
One state is always TRUE - any map you load will use as much painkeep code as possible by map design.
The next state is always FALSE - any map loaded will use no painkeep code. Essentially the same as loading
painkeep maps in vanilla quake.
The final state is map mode. In this mode all painkeep maps, or any map with a unique painkeep item
like "weapon_grapgun" will set PK to TRUE, all other maps set it to FALSE. You can now run a painkeep server
with mixed custom maps and avoid little annoyances when non painkeep maps are loaded.

What is affected by PK mode?

All painkeep special effects, splashes, sparks, new pk zombies, custom sounds, and the pulse nailgun.

The following relative links were made from quake 1 files, both to reduce the distribution size and
avoid license issues. If you do not have these files installed in {quake root folder}/id1/sound
you will have to copy them to the appropriate painkeep folders under painkeep/sound. Note that if
painkeep is not in the same folder as id1 you will also need to copy them. These sounds are used when
PK mode is false so regular quake maps sound like regular quake maps. When PK is true these sounds
are not used.

linked in:
quake/painkeep/sound/alt_ambience/
../../../id1/sound/ambience/buzz1.wav
../../../id1/sound/ambience/comp1.wav
../../../id1/sound/ambience/drip1.wav
../../../id1/sound/ambience/drone6.wav
../../../id1/sound/ambience/fl_hum1.wav
../../../id1/sound/ambience/hum1.wav
../../../id1/sound/ambience/suck1.wav
../../../id1/sound/ambience/swamp1.wav
../../../id1/sound/ambience/swamp2.wav
../../../id1/sound/ambience/water1.wav
../../../id1/sound/ambience/wind2.wav
../../../id1/sound/ambience/windfly.wav

quake/painkeep/sound/alt_sounds/items/
../../../../id1/sound/items/r_item2.wav

quake/painkeep/sound/alt_sounds/misc/
../../../../id1/sound/misc/secret.wav

3. Admin

The old impulse key binding administration system is now supplemented with an intuitive menu system.
Now a couple of security items in admin.cfg specify password and admin access impulse to keep your server
secure. You heard right, the admin security code is no longer hard coded, or limited:

NOTE: this is an example, not the actual .cfg file script!
---------------------------------------------------------------------------
// code value to enter admin - this is your admin password, pk admin root - gaurd it with your life!
// code can be any number of digits [0-9]*
// set to negative one (-1) to disable

alias admincode "saved2 -1"
//alias admincode "saved2 72779673"
// "password" on a phone keypad - dont use this sample! you must set a code to use admin!

// impulse to start / end admin commands - defaults to 255, the quad cheat in sp, unused in dm
// set to negative one (-1) to disable

alias adminimpulse "saved2 255"

// timeout for admin inactivity - 2 min default - admin turned off at this point
// 0 disables - we dont recommend this

alias admintime "saved2 120"
---------------------------------------------------------------------------

Main menu text:

---------------------------------------------------------------------------
Administration Menu:
+-------------------------+
01: toggle deathmatch
02: toggle teamplay
03: toggle coop
04: toggle no exit
05: goto next level
06: reset level
07: hub map load
10: server frag limit
11: server time limit
12: server gravity
13: server friction
22: map control
24: painkeep control
25: item control
30: kick players
60: PK mode toggle
--- PK mode = TRUE
97: exit menu only
99: respawn (exits)
admin impulse: exit admin
+-------------------------+
Enter code:
---------------------------------------------------------------------------

From this menu you type in the numerical code, or on some menus press the indicated numbers.
You can also use 97 to exit the menu and use the old admin impulse system, however, while
in admin mode a glowing light hovers over your head.

Another feature of the admin menu is that you are invulnerable, but cannot attack or collect items.
Security features prevent this from being abused - a failed login locks you in invulnerable / no fire /
no item touch for 30 seconds. Escaping a login locks you out for 10 seconds. You are not invulnerable
if you use option 97 to exit the menu.

Admin Notes:

The console variable "temp1" is no longer used to store the admin variables. This has been moved
to "savedgamecfg" to avoid conflicts with future bot code. This variable does not need to be changed
once its stored - all this is done in the admin menu.

To use the old style admin impulses - you will need to login. Then enter option 97.
This of course leaves you lit and surmounted by the god light. Hey players have a right to know
who is using remote admin.

The following bindings are done in qc code if admin is active:

9 impulse 9
0 impulse 10
enter impulse 11
backspace impulse 12

4. User menu

A user menu has been added in the style of the admin menu to ease the users burden in remembering all the
new impulses. The user menu covers impulses 21, 22, 30 - 39, 46, 50 , 69, and 201.
In the included config, impulse 39 is bound to "v" to bring up this menu.

User menu text:

---------------------------------------------------------------------------
Painkeep User Menu:
+------------------------+
1: Chain Thunderbolt
2: Gravity Well
3: Auto Sentry
4: Harpoon
6: Air fist
7: Beartrap
8: Can o' Pork n' Beans
9: Axe
0: Inventory list
+--------------------+
5: release harpoon

*** following are impulse links ***

11: close combat wep
12: prev pk weapon
13: status display
any impulse exits
+------------------------+
Enter code: ;
---------------------------------------------------------------------------

To use the user menu you have to: bind a key to impulse 39.
The default config (autoexec.cfg) binds this to "v".

You will also need the admin bindings (admin code binds these if active) listed above.

You also need to know the following:

impulse 11 (normally serverflags cheat - enter in pk admin) - select best close combat weapon
impulse 12 (normal cycle weapons reverse - backspace in pk admin) - painkeep previous weapons
impulse 13 (not bound) - extra status display

Note that the user menu lists these as impulses - you must know what key you bound them with.

Press the indicated key, or key bound to 11 - 13 for that item. You must have the chosen
item in inventory to select it. Entries will now only appear if you have the item indicated.
The user menu will only stay up for 5 seconds and any impulse or button will exit the menu.
Hey, you are supposed to be in battle.

---------------------------------------------------------------------------

Mod Note:

Other than the addition of the admin menu, user menu, and PK mode selection, this code is the same as the original v1.11 painkeep qc, with slight re-organization. It should perform 100% as painkeep v1.11 on any painkeep map.

---------------------------------------------------------------------------
Code name - Cataboligne - programmer | technician

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: