diff --git a/src/client/player.qc b/src/client/player.qc index 093272e..832944b 100644 --- a/src/client/player.qc +++ b/src/client/player.qc @@ -28,7 +28,7 @@ string g_pbones[] = "Dummy16", "Bip01 R Leg", "Bip01 R Leg1", -"Bip01 R Foot", + "Bip01 R Foot", "Bip01 R Toe0", "Bip01 R Toe01", "Bip01 R Toe02", @@ -89,6 +89,7 @@ string g_pbones[] = "Bone15" }; +.string oldmodel; void Player_HandleWeaponModel(base_player pp, float thirdperson) { @@ -100,26 +101,26 @@ Player_HandleWeaponModel(base_player pp, float thirdperson) } /* what's the current weapon model supposed to be anyway? */ - string wmodel = Weapons_GetPlayermodel(pl, pl.activeweapon); + pl.p_model.oldmodel = Weapons_GetPlayermodel(pl, pl.activeweapon); /* we changed weapons, update skeletonindex */ - if (pl.p_model.model != wmodel) { + if (pl.p_model.model != pl.p_model.oldmodel) { /* free memory */ if (pl.p_model.skeletonindex) skel_delete(pl.p_model.skeletonindex); /* set the new model and mark us updated */ - setmodel(pl.p_model, wmodel); - pl.p_model.model = wmodel; + setmodel(pl.p_model, pl.p_model.oldmodel); + pl.p_model.model = pl.p_model.oldmodel; /* set the new skeletonindex */ pl.p_model.skeletonindex = skel_create(pl.p_model.modelindex); /* hack this thing in here FIXME: this should be done when popping in/out of a pvs */ if (autocvar(cl_himodels, 1, "Use high-quality player models over lower-definition ones")) - setcustomskin(self, "", "geomset 0 2\n"); + setcustomskin(pl, "", "geomset 0 2\n"); else - setcustomskin(self, "", "geomset 0 1\n"); + setcustomskin(pl, "", "geomset 0 1\n"); } /* follow player at all times */ diff --git a/src/shared/w_gauss.qc b/src/shared/w_gauss.qc index 9601ef9..f175810 100644 --- a/src/shared/w_gauss.qc +++ b/src/shared/w_gauss.qc @@ -180,49 +180,6 @@ void w_gauss_primary(player pl) pl.w_idle_next = 2.5f; } -void w_gauss_secondary(player pl) -{ - -#ifdef CLIENT - if (pl.mode_tempstate) - soundupdate(pl, CHAN_WEAPON, "", 2, ATTN_NORM, 100 + (200 * (pl.ammo_gauss_volume/255)), 0, 0); -#endif - - if (pl.w_attack_next) { - return; - } - pl.w_attack_next = 0.1f; - - /* Ammo check */ - if (pl.ammo_uranium <= 0) { - if (pl.mode_tempstate > 0) { - w_gauss_release(pl); - } - return; - } - - if (pl.ammo_gauss_volume < 255) - pl.ammo_uranium--; - - /* Set pitch sound shift */ - pl.ammo_gauss_volume += 16; - if (pl.ammo_gauss_volume > 255) { - pl.ammo_gauss_volume = 255; - } - - if (pl.mode_tempstate == 1) { - Weapons_ViewAnimation(pl, GAUSS_SPIN); - pl.mode_tempstate = 2; - pl.w_idle_next = 0.0f; - } else if (!pl.mode_tempstate) { - Weapons_ViewAnimation(pl, GAUSS_SPINUP); -#ifdef CLIENT - sound(pl, CHAN_WEAPON, "ambience/pulsemachine.wav", 2, ATTN_NORM); -#endif - pl.mode_tempstate = 1; - } -} - void w_gauss_release(player pl) { if (pl.w_idle_next > 0.0) { @@ -247,9 +204,7 @@ void w_gauss_release(player pl) Animation_PlayerTop(pl, ANIM_SHOOTGAUSS, 0.43f); Weapons_ViewPunchAngle(pl, [-5,0,0]); -#ifdef CLIENT - soundupdate(pl, CHAN_WEAPON, "", -1, ATTN_NORM, 0, 0, 0); -#else +#ifdef SERVER w_gauss_fire(pl, 0); FX_GaussBeam(Weapons_GetCameraPos(pl), input_angles, 6, pl); #endif @@ -278,6 +233,47 @@ void w_gauss_release(player pl) } } +void w_gauss_secondary(player pl) +{ + if (pl.w_attack_next) { + return; + } + pl.w_attack_next = 0.1f; + + /* Ammo check */ + if (pl.ammo_uranium <= 0) { + if (pl.mode_tempstate > 0) { + w_gauss_release(pl); + } + return; + } + + if (pl.ammo_gauss_volume < 10) + pl.ammo_uranium--; + + /* Set pitch sound shift */ + pl.ammo_gauss_volume += 1; + if (pl.ammo_gauss_volume > 100) { + pl.ammo_gauss_volume = 100; +#ifdef SERVER + Damage_Apply(pl, pl, 10, DMG_ELECTRO, WEAPON_GAUSS); +#endif + pl.mode_tempstate = 0; + pl.w_attack_next = 0.5f; + pl.w_idle_next = 0.5f; + pl.ammo_gauss_volume = 0; + Weapons_ViewAnimation(pl, GAUSS_IDLE1); + } + + if (pl.mode_tempstate == 1) { + Weapons_ViewAnimation(pl, GAUSS_SPIN); + pl.mode_tempstate = 2; + } else if (!pl.mode_tempstate) { + Weapons_ViewAnimation(pl, GAUSS_SPINUP); + pl.mode_tempstate = 1; + } +} + void w_gauss_crosshair(player pl) { #ifdef CLIENT diff --git a/src/shared/w_tripmine.qc b/src/shared/w_tripmine.qc index 8aa3b46..32ea413 100644 --- a/src/shared/w_tripmine.qc +++ b/src/shared/w_tripmine.qc @@ -416,6 +416,9 @@ weapon_t w_tripmine = #ifdef SERVER void weapon_tripmine(void) { + item_pickup ip = (item_pickup)self; Weapons_InitItem(WEAPON_TRIPMINE); + ip.SetBody(2); + ip.SetFrame(8); } #endif diff --git a/zpak001.pk3dir/default.cfg b/zpak001.pk3dir/default.cfg index 4ee9f17..7e0ef5b 100755 --- a/zpak001.pk3dir/default.cfg +++ b/zpak001.pk3dir/default.cfg @@ -43,10 +43,15 @@ seta "maxplayers" "8" seta "con_color" "255 150 0" seta "vgui_color" "255 170 0" seta "cross_color" "0 255 0" - -// disable some nuclide niceties -seta v_muzzledlight 0 + +// disable some nuclide niceties +seta v_muzzledlight 0 // config compat alias mp_timelimit timelimit alias mp_fraglimit fraglimit + +// video settings +seta gl_overbright 0 +seta gl_ldr 1 +seta r_lightmap_format rgb8