## ETPub PCR alpha hacks (etpub_pcr_ah) ## (C) 2006-2007 PatheticCockroach.com ## This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License ## Derivative works may only be done if they are distributed with their source code. ## ## The original etpub_pcr_ah source and binaries can be found around http://www.patheticcockroach.com/etserver/etpub_pcr.php ## ## Note : ETPub PCR alpha hacks are just small modifications for ETPub (http://www.etpub.org) g_medicsPCR : bitflag : 1 - no pistol for medics 2 - no grenade for medics 4 - medics don't regenerate when under adre default : 4 ------------------------- MODIFICATION STARTS HERE src\game\g_client.c : (line 1228) **** IN qboolean _SetMedicSpawnWeapons(gclient_t *client) **** REPLACE AddWeaponToPlayer(client, w2, GetAmmoTableData(w2)->defaultStartingAmmo, GetAmmoTableData(w2)->defaultStartingClip, (g_medics.integer & MEDIC_PISTOLONLY) ? qtrue : qfalse); **** WITH if(!(g_medicsPCR.integer & MEDICPCR_NOPISTOL)) { AddWeaponToPlayer(client, w2, GetAmmoTableData(w2)->defaultStartingAmmo, GetAmmoTableData(w2)->defaultStartingClip, (g_medics.integer & MEDIC_PISTOLONLY) ? qtrue : qfalse); } **** REPLACE AddWeaponToPlayer(client, WP_GRENADE_LAUNCHER, 0, 1, qfalse); **** WITH if(!(g_medicsPCR.integer & MEDICPCR_NONADE)) AddWeaponToPlayer(client, WP_GRENADE_LAUNCHER, 0, 1, qfalse); **** REPLACE AddWeaponToPlayer(client, WP_GRENADE_PINEAPPLE, 0, 1, qfalse); **** WITH if(!(g_medicsPCR.integer & MEDICPCR_NONADE)) AddWeaponToPlayer(client, WP_GRENADE_PINEAPPLE, 0, 1, qfalse); src\game\g_active.h : (line 815) **** BEFORE // regenerate // tjw: dead players can't regenerate **** ADD if(client->ps.powerups[PW_ADRENALINE] > level.time && (g_medicsPCR.integer & MEDICPCR_NOADREREGEN)) { regenRate1=0; regenRate2=0; } src\game\g_local.h : (line 2154) **** AFTER extern vmCvar_t g_spawnInvul; **** ADD extern vmCvar_t g_medicsPCR; src\game\g_main.c : (line 257) **** AFTER vmCvar_t g_spawnInvul; **** ADD vmCvar_t g_medicsPCR; (line 755) **** AFTER { &g_spawnInvul, "g_spawnInvul", "3", 0 }, **** ADD { &g_medicsPCR, "g_medicsPCR", "4", 0 }, src\game\bg_public.h : (line 915) **** AFTER #define MEDIC_NOSELFADREN 256 **** ADD // g_medicsPCR // no pistol for medics #define MEDICPCR_NOPISTOL 1 // no grenade for medics #define MEDICPCR_NONADE 2 // no HP regen under adre #define MEDICPCR_NOADREREGEN 4 ------------------------- PERSONAL NOTES sess.skill[SK_BATTLE_SENSE] pers.maxHealth ps.stats[STAT_MAX_HEALTH] MEDIC_NOAKIMBO MEDIC_PISTOLONLY MEDIC_SYRINGEHEAL max = other->client->ps.stats[STAT_MAX_HEALTH]; if( other->client->sess.playerType == PC_MEDIC ) { max *= 1.12f; }