## ETPub PCR alpha hacks (etpub_pcr_ah) ## (C) 2006-2007 PatheticCockroach.com ## This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 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) The new MOD_ROEV was including in the middle of the list, causing some g_obitxxx settings to be modified. This fix puts MOD_ROEV at the end of the list. + a bonus optimization ;) (not sure if it will really make a difference though...) + fixed g_peaceAndLove flag 1 where damage > 190 would still insta-gib ------------------------- MODIFICATION STARTS HERE src\ame\g_combat.c (line 2037) **** REPLACE if(!(g_peaceAndLove.integer & PCR_PEACE_NODMG)) targ->health -= take; **** WITH if(!(g_peaceAndLove.integer & PCR_PEACE_NODMG)) { targ->health -= take; if(take>150) take=150; } src\game\bg_public.h (line 165) **** MOVE MOD_ROEV, **** FROM AFTER MOD_SUICIDE, **** TO AFTER MOD_REFLECTED_FF src\game\g_combat.c (line 269) **** MOVE "MOD_ROEV", **** FROM AFTER "MOD_SUICIDE", **** TO AFTER "MOD_REFLECTED_FF", src\game\g_player_rating.c (line 618) **** MOVE "MOD_ROEV", **** FROM AFTER "MOD_SUICIDE", **** TO AFTER "MOD_REFLECTED_FF", src\game\g_match.c (line 498) **** REPLACE // Ugh, converting enums is my day-time job :) // --> MOD_* to WS_* conversion // // WS_MAX = no equivalent/not used // // FIXME: Remove everything that maps to WS_MAX to save space // static const weap_ws_convert_t aWeapMOD[MOD_NUM_MODS] = { { MOD_UNKNOWN, WS_MAX }, { MOD_MACHINEGUN, WS_MG42 }, { MOD_GRENADE, WS_GRENADE }, { MOD_ROCKET, WS_PANZERFAUST }, { MOD_KNIFE, WS_KNIFE }, { MOD_LUGER, WS_LUGER }, { MOD_COLT, WS_COLT }, { MOD_MP40, WS_MP40 }, { MOD_THOMPSON, WS_THOMPSON }, { MOD_STEN, WS_STEN }, { MOD_GARAND, WS_GARAND }, { MOD_SILENCER, WS_LUGER }, { MOD_FG42, WS_FG42 }, { MOD_FG42SCOPE, WS_FG42 }, { MOD_PANZERFAUST, WS_PANZERFAUST }, { MOD_GRENADE_LAUNCHER, WS_GRENADE }, { MOD_FLAMETHROWER, WS_FLAMETHROWER }, { MOD_GRENADE_PINEAPPLE, WS_GRENADE }, { MOD_CROSS, WS_MAX }, { MOD_AKIMBO_COLT, WS_COLT }, { MOD_AKIMBO_LUGER, WS_LUGER }, { MOD_AKIMBO_SILENCEDCOLT, WS_COLT }, { MOD_AKIMBO_SILENCEDLUGER, WS_LUGER }, { MOD_MAPMORTAR, WS_MORTAR }, { MOD_MAPMORTAR_SPLASH, WS_MORTAR }, { MOD_KICKED, WS_MAX }, { MOD_GRABBER, WS_MAX }, { MOD_DYNAMITE, WS_DYNAMITE }, { MOD_AIRSTRIKE, WS_AIRSTRIKE }, { MOD_SYRINGE, WS_SYRINGE }, { MOD_AMMO, WS_MAX }, { MOD_ARTY, WS_ARTILLERY }, { MOD_WATER, WS_MAX }, { MOD_SLIME, WS_MAX }, { MOD_LAVA, WS_MAX }, { MOD_CRUSH, WS_MAX }, { MOD_TELEFRAG, WS_MAX }, { MOD_FALLING, WS_MAX }, { MOD_SUICIDE, WS_MAX }, { MOD_TARGET_LASER, WS_MAX }, { MOD_TRIGGER_HURT, WS_MAX }, { MOD_EXPLOSIVE, WS_MAX }, { MOD_CARBINE, WS_GARAND }, { MOD_KAR98, WS_K43 }, { MOD_GPG40, WS_GRENADELAUNCHER }, { MOD_M7, WS_GRENADELAUNCHER }, { MOD_LANDMINE, WS_LANDMINE }, { MOD_SATCHEL, WS_SATCHEL }, { MOD_TRIPMINE, WS_LANDMINE }, { MOD_SMOKEBOMB, WS_SMOKE }, // ?? { MOD_SMOKEGRENADE, WS_AIRSTRIKE }, // rain - airstrike tag { MOD_MOBILE_MG42, WS_MG42}, { MOD_SILENCED_COLT, WS_COLT }, // where is silencer? // Gordon: up top^ { MOD_GARAND_SCOPE, WS_GARAND }, { MOD_CRUSH_CONSTRUCTION, WS_MAX }, { MOD_CRUSH_CONSTRUCTIONDEATH, WS_MAX }, { MOD_K43, WS_K43 }, { MOD_K43_SCOPE, WS_K43 }, { MOD_MORTAR, WS_MORTAR }, { MOD_SWAP_PLACES, WS_MAX }, { MOD_BROWNING, WS_MG42 }, { MOD_MG42, WS_MG42 }, { MOD_POISON, WS_SYRINGE }, { MOD_SWITCHTEAM, WS_MAX } }; **** WITH // Ugh, converting enums is my day-time job :) // --> MOD_* to WS_* conversion // // WS_MAX = no equivalent/not used // // FIXME: Remove everything that maps to WS_MAX to save space // -> PatheticCockroach : done // static const weap_ws_convert_t aWeapMOD[MOD_NUM_MODS] = { //{ MOD_UNKNOWN, WS_MAX }, { MOD_MACHINEGUN, WS_MG42 }, { MOD_GRENADE, WS_GRENADE }, { MOD_ROCKET, WS_PANZERFAUST }, { MOD_KNIFE, WS_KNIFE }, { MOD_LUGER, WS_LUGER }, { MOD_COLT, WS_COLT }, { MOD_MP40, WS_MP40 }, { MOD_THOMPSON, WS_THOMPSON }, { MOD_STEN, WS_STEN }, { MOD_GARAND, WS_GARAND }, { MOD_SILENCER, WS_LUGER }, { MOD_FG42, WS_FG42 }, { MOD_FG42SCOPE, WS_FG42 }, { MOD_PANZERFAUST, WS_PANZERFAUST }, { MOD_GRENADE_LAUNCHER, WS_GRENADE }, { MOD_FLAMETHROWER, WS_FLAMETHROWER }, { MOD_GRENADE_PINEAPPLE, WS_GRENADE }, { MOD_CROSS, WS_MAX }, { MOD_AKIMBO_COLT, WS_COLT }, { MOD_AKIMBO_LUGER, WS_LUGER }, { MOD_AKIMBO_SILENCEDCOLT, WS_COLT }, { MOD_AKIMBO_SILENCEDLUGER, WS_LUGER }, { MOD_MAPMORTAR, WS_MORTAR }, { MOD_MAPMORTAR_SPLASH, WS_MORTAR }, //{ MOD_KICKED, WS_MAX }, //{ MOD_GRABBER, WS_MAX }, { MOD_DYNAMITE, WS_DYNAMITE }, { MOD_AIRSTRIKE, WS_AIRSTRIKE }, { MOD_SYRINGE, WS_SYRINGE }, //{ MOD_AMMO, WS_MAX }, { MOD_ARTY, WS_ARTILLERY }, //{ MOD_WATER, WS_MAX }, //{ MOD_SLIME, WS_MAX }, //{ MOD_LAVA, WS_MAX }, //{ MOD_CRUSH, WS_MAX }, //{ MOD_TELEFRAG, WS_MAX }, //{ MOD_FALLING, WS_MAX }, //{ MOD_SUICIDE, WS_MAX }, //{ MOD_TARGET_LASER, WS_MAX }, //{ MOD_TRIGGER_HURT, WS_MAX }, //{ MOD_EXPLOSIVE, WS_MAX }, { MOD_CARBINE, WS_GARAND }, { MOD_KAR98, WS_K43 }, { MOD_GPG40, WS_GRENADELAUNCHER }, { MOD_M7, WS_GRENADELAUNCHER }, { MOD_LANDMINE, WS_LANDMINE }, { MOD_SATCHEL, WS_SATCHEL }, { MOD_TRIPMINE, WS_LANDMINE }, { MOD_SMOKEBOMB, WS_SMOKE }, // ?? { MOD_SMOKEGRENADE, WS_AIRSTRIKE }, // rain - airstrike tag { MOD_MOBILE_MG42, WS_MG42}, { MOD_SILENCED_COLT, WS_COLT }, // where is silencer? // Gordon: up top^ { MOD_GARAND_SCOPE, WS_GARAND }, //{ MOD_CRUSH_CONSTRUCTION, WS_MAX }, //{ MOD_CRUSH_CONSTRUCTIONDEATH, WS_MAX }, { MOD_K43, WS_K43 }, { MOD_K43_SCOPE, WS_K43 }, { MOD_MORTAR, WS_MORTAR }, //{ MOD_SWAP_PLACES, WS_MAX }, { MOD_BROWNING, WS_MG42 }, { MOD_MG42, WS_MG42 }, { MOD_POISON, WS_SYRINGE }, //{ MOD_SWITCHTEAM, WS_MAX } }; ------------------------- PERSONAL NOTES