]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/fruitiex/newpanelhud_stable'
authorRudolf Polzer <divverent@alientrap.org>
Wed, 21 Jul 2010 17:55:53 +0000 (19:55 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Wed, 21 Jul 2010 17:55:53 +0000 (19:55 +0200)
35 files changed:
models/misc/chatbubble.spr_0.tga
physics10.cfg
physics11.cfg
physics151.cfg
physics151b.cfg
physics16rc1.cfg
physics20.cfg
physics25.cfg
physics26.cfg
physicsCPMA.cfg
physicsHavoc.cfg
physicsLeeStricklin.cfg
physicsLzd.cfg
physicsNoQWBunny-XPM.cfg [new file with mode: 0644]
physicsNoQWBunny.cfg
physicsNoQWBunny_easy.cfg [new file with mode: 0644]
physicsQ.cfg
physicsQ2.cfg
physicsQ2a.cfg
physicsQ3.cfg
physicsQBF.cfg
physicsQBFplus.cfg
physicsSamual.cfg
physicsWarsow.cfg
physicsWarsowClassicBunny.cfg
physicsWarsowDev.cfg
physicsXPM.cfg
physicsXPMLight.cfg [new file with mode: 0644]
qcsrc/server/cheats.qc
qcsrc/server/cl_client.qc
qcsrc/server/cl_physics.qc
qcsrc/server/cl_player.qc
qcsrc/server/sv_main.qc
qcsrc/server/t_items.qc
xonotic-credits.txt

index c1858ef03f7d1f7905ba87c063f725b855731e62..d30980ad7090d01676022e58ecad853ebc3953fb 100644 (file)
Binary files a/models/misc/chatbubble.spr_0.tga and b/models/misc/chatbubble.spr_0.tga differ
index 4631d5ea7b5f6d129267ab4858387545ea97fd76..6e112b9f67f3ccdcc7e26a0c7477a4fe85d16120 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 8c8219af5fa0fd30a05e4f178a865a6e1a68690c..d4e1f54ababe70d5aadcbc7cdac254b344881e94 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 9707f6f7ce6002d736d5c00b75256921d162f1eb..6cb19f1bde23333f0f2363419496b0dc72b3ce5c 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 475875b1a2f316341c8c975580d58188292addc1..4796765cd3db3c906d7c0b436120d755d2f7c9b9 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 68a8f198ef6e48d074efa4aa153b53f110b7b9de..c4d60c7f333b0a84d84315158ed8f82c77ff308e 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index b2e056ee5a9e092fd0dc011683ccdae0ac5e6449..d317514c00f0232528c7c97a3078c976bdbc3f07 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 85e4841cd127b739ddfcfc2e757e020787557e53..af5f3863278bdab434c3217c22fbc00062607ef6 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 0e4de396e70cdcb29b59e143a6e70ca021ec9edf..8fa5abc006df61b586cd358c6b4f55cab50feeca 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index d572e6d97f5606864aa6e57f4edb976c10596ef5..5660a33421e5d6d3f65b4651789af40e2dc33334 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 150
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index eb63775623b486ae5e77ed5a0cd8c64e6fd5face..f328f8967b67db1c46b4af61d66c5dd87951e2da 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 4a959db3e94685a9b405861c8ef01f7d421d411e..b162e5f80096f1d8ea2d970afc348f5aa80976dc 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 2b437d3443a0dd62dfcad4602064d7de51c07dd2..064499002a2981fd266240bbb63bc2467eafc4dd 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
diff --git a/physicsNoQWBunny-XPM.cfg b/physicsNoQWBunny-XPM.cfg
new file mode 100644 (file)
index 0000000..1beaeda
--- /dev/null
@@ -0,0 +1,36 @@
+// 2.0-2.4.2 physics minus QW-bunnyhopping-bug, faster onground accel, CPMA air control
+sv_gravity 800
+sv_maxspeed 320
+
+sv_maxairspeed 320
+
+sv_stopspeed 100
+sv_accelerate 15
+sv_airaccelerate 2
+sv_friction 8
+edgefriction 1
+sv_stepheight 34
+
+sv_jumpvelocity 300
+sv_wateraccelerate 4
+sv_waterfriction 1
+sv_airaccel_sideways_friction 0
+sv_airaccel_qw -0.937
+
+sv_airstopaccelerate 3
+sv_airstrafeaccelerate 24
+sv_maxairstrafespeed 100
+sv_airstrafeaccel_qw -0.979
+sv_aircontrol 125
+sv_aircontrol_penalty 100
+sv_aircontrol_power 2.5
+sv_airspeedlimit_nonqw 0
+sv_warsowbunny_turnaccel 0
+sv_warsowbunny_accel 0.1593
+sv_warsowbunny_topspeed 925
+sv_warsowbunny_backtosideratio 0.8
+sv_friction_on_land 0
+sv_doublejump 0
+sv_jumpspeedcap_min ""
+sv_jumpspeedcap_max ""
+sv_jumpspeedcap_max_disable_on_ramps 1
index d70bc1bde1fa2a981a5ac98d55f45aa559ea9a18..5a8732b680859d69cbe170bd741fdec529fb97fd 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 24
 sv_maxairstrafespeed 100
 sv_airstrafeaccel_qw -0.9825
 sv_aircontrol 125
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2.5
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
diff --git a/physicsNoQWBunny_easy.cfg b/physicsNoQWBunny_easy.cfg
new file mode 100644 (file)
index 0000000..721f819
--- /dev/null
@@ -0,0 +1,32 @@
+// 2.0-2.4.2 physics minus QW-bunnyhopping-bug, faster onground accel, CPMA air control
+sv_gravity 800
+sv_maxspeed 400
+sv_maxairspeed 400
+sv_stopspeed 100
+sv_accelerate 15
+sv_airaccelerate 2
+sv_friction 7
+edgefriction 1
+sv_stepheight 34
+sv_jumpvelocity 300
+sv_wateraccelerate -1
+sv_waterfriction -1
+sv_airaccel_sideways_friction -0.35
+sv_airaccel_qw -0.9475
+sv_airstopaccelerate 0
+sv_airstrafeaccelerate 0
+sv_maxairstrafespeed 0
+sv_airstrafeaccel_qw 0
+sv_aircontrol 125
+sv_aircontrol_penalty 0
+sv_aircontrol_power 2.5
+sv_airspeedlimit_nonqw 0
+sv_warsowbunny_turnaccel 0
+sv_warsowbunny_accel 0.1593
+sv_warsowbunny_topspeed 925
+sv_warsowbunny_backtosideratio 0.8
+sv_friction_on_land 0
+sv_doublejump 0
+sv_jumpspeedcap_min ""
+sv_jumpspeedcap_max ""
+sv_jumpspeedcap_max_disable_on_ramps 1
index ea8e1acf7bdd167e971f3a30dde9ca6fdeafb571..6fb02afe7880a41e02bb26f8242030acb6c9f5ef 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 1d08ae8c7400b13cac0c0b1ca23207e8d10ce3b3..927fef3c44edd49d4ddf7eced660035966311204 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 7409ae4be2c327173ea97be61ab07de43d7863cd..7828cc608b2303368ab4bb3bfb32f2fc879a1ed8 100644 (file)
@@ -19,6 +19,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 1951becf20abd05d24685a6e51b813dabe592b23..37973aef68f90d59a53e9ec7aaa1793cb6bfb939 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 4bbb9be2d4f91eab389b0653e9fcf12e83743edd..2f325586e363f133153ffcce967a796807d6c5e5 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index 6c17ad683b7905284ec5ff9d65e94c41e8c36453..03be62dd43d66b6c586750aef68e42a1fd7140bb 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index e03363a088ba30a3d59e1c9d8eccbefa1f5595d0..7492b415c56220840633b2aa256913b391931e2f 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index b1b0655cbc863b9a7394076401300b61cf3579fe..811084dd5f316c3e8e32120cf8f3a8279d5a1be6 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 9 // activates warsow movement mode
index 06e7c1a575c61ffba43a5382974affbc32128ef6..467c4212a02626942b5557f0d86c5a740f1b9d5f 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 150
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
index cb07a488180082f927575f3c39ee515f9aaf648b..8a62f3e053c355a24d1f14c519f0e0d6a009e849 100644 (file)
@@ -18,6 +18,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 0
 sv_aircontrol 0
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 6 // activates warsow movement mode
index 2a60b65178257fbea2efabc866eb59866fb6d780..74a20a46840871ead0789d623d930b7e4d5fd740 100644 (file)
@@ -22,6 +22,7 @@ sv_airstrafeaccelerate 70
 sv_maxairstrafespeed 30
 sv_airstrafeaccel_qw 1
 sv_aircontrol 150
+sv_aircontrol_penalty 0
 sv_aircontrol_power 2
 sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
@@ -31,5 +32,5 @@ sv_warsowbunny_backtosideratio 0.8
 sv_friction_on_land 0
 sv_doublejump 1
 sv_jumpspeedcap_min 0
-sv_jumpspeedcap_max 1
+sv_jumpspeedcap_max 0.5
 sv_jumpspeedcap_max_disable_on_ramps 1
diff --git a/physicsXPMLight.cfg b/physicsXPMLight.cfg
new file mode 100644 (file)
index 0000000..db9c617
--- /dev/null
@@ -0,0 +1,36 @@
+// Nexrun tweaked to suit CPM
+sv_gravity 800
+sv_maxspeed 320
+// CPMA: 320
+sv_maxairspeed 320
+// CPMA: 320
+sv_stopspeed 100
+sv_accelerate 15
+sv_airaccelerate 1
+sv_friction 8
+edgefriction 1
+sv_stepheight 34
+// CPMA: 18
+sv_jumpvelocity 270
+sv_wateraccelerate 4
+sv_waterfriction 1
+sv_airaccel_sideways_friction 0
+sv_airaccel_qw -0.9146875
+// CPMA: 1
+sv_airstopaccelerate 6.5625 // matches strafe-stopping speed
+sv_airstrafeaccelerate 14
+sv_maxairstrafespeed 150
+sv_airstrafeaccel_qw -0.987
+sv_aircontrol 100
+sv_aircontrol_penalty 100
+sv_aircontrol_power 2.5
+sv_airspeedlimit_nonqw 0
+sv_warsowbunny_turnaccel 0
+sv_warsowbunny_accel 0.1593
+sv_warsowbunny_topspeed 925
+sv_warsowbunny_backtosideratio 0.8
+sv_friction_on_land 0
+sv_doublejump 0
+sv_jumpspeedcap_min ""
+sv_jumpspeedcap_max ""
+sv_jumpspeedcap_max_disable_on_ramps 1
index 6ef82679444fc021f0e4d53b42bf278333cf9b8f..a75537907d7560e43e833221663c6659f20cd47c 100644 (file)
@@ -653,7 +653,7 @@ float CheatCommand(float argc)
                        if(self.movetype != MOVETYPE_FLY)
                        {
                                self.movetype = MOVETYPE_FLY;
-                               sprint(self, "flmodey ON\n");
+                               sprint(self, "flymode ON\n");
                                DID_CHEAT();
                        }
                        else
index 73c9169e5e6929341cca72c4f50377ec92c32125..08c53c19403bc819372fbe97c3138750f236e5bc 100644 (file)
@@ -2659,7 +2659,6 @@ void PlayerPreThink (void)
                FOR_EACH_PLAYER(other) if(self != other)
                {
                        if(time > other.touchexplode_time)
-                       if(other.classname == "player")
                        if(other.deadflag == DEAD_NO)
                        if not(IS_INDEPENDENT_PLAYER(other))
                        if(boxesoverlap(self.absmin, self.absmax, other.absmin, other.absmax))
index ac6789586793c86387026ffdfbb787d44850cebd..70e702505cd2d5d9c482d968552b8f377619e4b9 100644 (file)
@@ -16,6 +16,7 @@ float sv_maxairstrafespeed;
 float sv_airstrafeaccel_qw;
 float sv_aircontrol;
 float sv_aircontrol_power;
+float sv_aircontrol_penalty;
 float sv_warsowbunny_airforwardaccel;
 float sv_warsowbunny_accel;
 float sv_warsowbunny_topspeed;
@@ -470,7 +471,9 @@ void CPM_PM_Aircontrol(vector wishdir, float wishspeed)
 
        if(dot > 0) // we can't change direction while slowing down
        {
-               k *= fabs(sv_aircontrol)*pow(dot, sv_aircontrol_power)*frametime;
+               k *= pow(dot, sv_aircontrol_power)*frametime;
+               xyspeed = max(0, xyspeed - sv_aircontrol_penalty * sqrt(max(0, 1 - dot*dot)) * k/32);
+               k *= sv_aircontrol;
                self.velocity = normalize(self.velocity * xyspeed + wishdir * k);
        }
 
@@ -1202,8 +1205,13 @@ void SV_PlayerPhysics()
 
                        // CPM
                        if(sv_airstopaccelerate)
-                               if(self.velocity * wishdir < 0)
-                                       airaccel = sv_airstopaccelerate*maxspd_mod;
+                       {
+                               vector curdir;
+                               curdir = self.velocity;
+                               curdir_z = 0;
+                               curdir = normalize(curdir);
+                               airaccel = airaccel + (sv_airstopaccelerate*maxspd_mod - airaccel) * max(0, -(curdir * wishdir));
+                       }
                        // note that for straight forward jumping:
                        // step = accel * frametime * wishspeed0;
                        // accel  = bound(0, wishspeed - vel_xy_current, step) * accelqw + step * (1 - accelqw);
index 2fe7d512089e9e655b9d5a51491d03bb5ff53a73..494a80b369ec7954cde34aa8e2b82521cfc0acd3 100644 (file)
@@ -111,6 +111,7 @@ void CopyBody(float keepvelocity)
        self.enemy = oldself;
        self.lip = oldself.lip;
        self.colormap = oldself.colormap;
+       self.glowmod = oldself.glowmod;
        self.iscreature = oldself.iscreature;
        self.angles = oldself.angles;
        self.avelocity = oldself.avelocity;
index a79f9a473b0638911a9918f2ec78513eab9a0cca..44a47c95dc5ed653c2cf40afb68bf7c788570b5d 100644 (file)
@@ -191,6 +191,7 @@ void StartFrame (void)
        sv_maxairstrafespeed = cvar("sv_maxairstrafespeed");
        sv_airstrafeaccel_qw = cvar("sv_airstrafeaccel_qw");
        sv_aircontrol = cvar("sv_aircontrol");
+       sv_aircontrol_penalty = cvar("sv_aircontrol_penalty");
        sv_aircontrol_power = cvar("sv_aircontrol_power");
        sv_warsowbunny_airforwardaccel = cvar("sv_warsowbunny_airforwardaccel");
        sv_warsowbunny_accel = cvar("sv_warsowbunny_accel");
index cb8f0b1025bd204260b6ea396918afad7e890268..c291e79a009f715fb67e0decc66d0cde175fb809 100644 (file)
@@ -112,7 +112,7 @@ void Item_Show (entity e, float mode)
                e.model = e.mdl;
                e.solid = SOLID_NOT;
                e.colormod = stov(cvar_string("g_ghost_items_color"));
-               self.glowmod = self.colormod;
+               e.glowmod = e.colormod;
                e.alpha = g_ghost_items;
                e.customizeentityforclient = func_null;
 
@@ -124,7 +124,7 @@ void Item_Show (entity e, float mode)
                e.model = string_null;
                e.solid = SOLID_NOT;
                e.colormod = stov(cvar_string("g_ghost_items_color"));
-               self.glowmod = self.colormod;
+               e.glowmod = e.colormod;
                e.alpha = 0;
                e.customizeentityforclient = func_null;
 
@@ -291,7 +291,7 @@ float Item_GiveTo(entity item, entity player)
                                //      AnnounceTo(player, "ammo");
 
                                if (item.weapons & WEPBIT_MINSTANEX)
-                                       W_GiveWeapon (player, WEP_MINSTANEX, "Nex");
+                                       W_GiveWeapon (player, WEP_MINSTANEX, item.netname);
                                if (item.ammo_cells)
                                        player.ammo_cells = min (player.ammo_cells + cvar("g_minstagib_ammo_drop"), 999);
                                player.health = 100;
@@ -303,7 +303,7 @@ float Item_GiveTo(entity item, entity player)
                                pickedup = TRUE;
                                // sound not available
                                // AnnounceTo(player, "_lives");
-                               player.armorvalue = player.armorvalue + cvar("g_minstagib_extralives");
+                               player.armorvalue = min(player.armorvalue + cvar("g_minstagib_extralives"), 999);
                                sprint(player, "^3You picked up some extra lives\n");
                        }
 
@@ -713,9 +713,6 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime,
                        return;
                }
 
-               itemid = self.items;
-               weaponid = self.weapons;
-
                self.reset = Item_Reset;
                // it's a level item
                if(self.spawnflags & 1)
@@ -798,8 +795,6 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime,
                        self.is_item = TRUE;
                }
 
-               weaponsInMap |= weaponid;
-
                if(g_lms || g_ca)
                {
                        startitem_failed = TRUE;
@@ -829,17 +824,20 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime,
                        return;
                }
 
+               weaponsInMap |= weaponid;
+
                precache_model (itemmodel);
                precache_sound (pickupsound);
-               precache_sound ("misc/itemrespawn.wav");
-               precache_sound ("misc/itemrespawncountdown.wav");
 
-               if(itemid == IT_STRENGTH)
+               precache_sound ("misc/itemrespawncountdown.wav");
+               if(!g_minstagib && itemid == IT_STRENGTH)
                        precache_sound ("misc/strength_respawn.wav");
-               if(itemid == IT_INVINCIBLE)
+               else if(!g_minstagib && itemid == IT_INVINCIBLE)
                        precache_sound ("misc/shield_respawn.wav");
+               else
+                       precache_sound ("misc/itemrespawn.wav");
 
-               if((itemid & (IT_STRENGTH | IT_INVINCIBLE | IT_HEALTH | IT_ARMOR | IT_KEY1 | IT_KEY2)) || (weaponid & WEPBIT_ALL))
+               if((itemflags & (FL_POWERUP | FL_WEAPON)) || (itemid & (IT_HEALTH | IT_ARMOR | IT_KEY1 | IT_KEY2)))
                        self.target = "###item###"; // for finding the nearest item using find()
        }
 
@@ -893,16 +891,6 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime,
  */
 void minstagib_items (float itemid)
 {
-       // we don't want to replace dropped weapons ;)
-       if (self.classname == "droppedweapon")
-       {
-               self.ammo_cells = 25;
-               StartItem ("models/weapons/g_nex.md3",
-                       "weapons/weaponpickup.wav", 15, 0,
-                       "MinstaNex", 0, WEPBIT_MINSTANEX, FL_WEAPON, generic_pickupevalfunc, 1000);
-               return;
-       }
-
        local float rnd;
        self.classname = "minstagib";
 
@@ -912,7 +900,7 @@ void minstagib_items (float itemid)
                self.ammo_cells = 1;
                StartItem ("models/items/a_cells.md3",
                        "misc/itempickup.wav", 45, 0,
-                       "Nex Ammo", IT_CELLS, 0, 0, generic_pickupevalfunc, 100);
+                       "MinstaNex Ammo", IT_CELLS, 0, 0, generic_pickupevalfunc, 100);
                return;
        }
 
@@ -940,7 +928,6 @@ void minstagib_items (float itemid)
                StartItem ("models/items/g_h100.md3",
                        "misc/megahealth.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
                        "Extralife", IT_NAILS, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_HIGH);
-
        }
        // replace with speed
        if (itemid == IT_INVINCIBLE)
@@ -950,7 +937,6 @@ void minstagib_items (float itemid)
                        "misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
                        "Speed", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_MID);
        }
-
 }
 
 float minst_no_auto_cells;
@@ -1138,7 +1124,7 @@ void spawnfunc_weapon_rocketlauncher (void)
 {
        if (g_minstagib)
        {
-               minstagib_items(IT_CELLS);
+               minstagib_items(IT_CELLS); // replace rocketlauncher with cells
                self.think = minst_remove_item;
                self.nextthink = time;
                return;
@@ -1376,9 +1362,6 @@ void spawnfunc_target_items (void)
        if(!self.invincible_finished)
                self.invincible_finished = cvar("g_balance_powerup_invincible_time");
 
-       precache_sound("misc/itempickup.wav");
-       precache_sound("misc/itempickup.wav");
-       precache_sound("misc/itempickup.wav");
        precache_sound("misc/itempickup.wav");
        precache_sound("misc/megahealth.wav");
        precache_sound("misc/armor25.wav");
@@ -1774,6 +1757,12 @@ float GiveItems(entity e, float beginarg, float endarg)
        POSTGIVE_VALUE_ROT(e, armorvalue, 1, pauserotarmor_finished, cvar("g_balance_pause_armor_rot"), pauseregen_finished, cvar("g_balance_pause_health_regen"), "misc/armor25.wav", string_null);
        POSTGIVE_VALUE_ROT(e, health, 1, pauserothealth_finished, cvar("g_balance_pause_health_rot"), pauseregen_finished, cvar("g_balance_pause_health_regen"), "misc/megahealth.wav", string_null);
 
+       if (g_minstagib)
+       {
+               e.health = bound(0, e.health, 100);
+               e.armorvalue = bound(0, e.armorvalue, 999);
+       }
+
        if(e.strength_finished <= 0)
                e.strength_finished = 0;
        else
index cdf28d72977e9a59810075d176a78b7154e6938b..8b03b399e5f142f0e05db85e4a62bce1e3cedefc 100644 (file)
-(THIS FILE IS A HUGE TODO)
-(YES, REALLY, NOTHING HERE IS TRUE)
-(PLEASE FIX THIS FILE)
+**Core Team
 
+divVerent
+-z-
+merlijn
+morphed
+mand1nga
+tZork
 
-**Team Leaders:
 
+**Coordinators
 
+*Art
+Diabolik a.k.a Dib
 
-**Project maintainers:
-
-Kristian "morfar" Johansson
-
-Maik "SavageX" Merten
+*2D Art / Web
+-z- (web / game)
+FruitieX (game / web)
 
+*3D Art
+morphed
 
-**Development Team:
+*Level Design
+FruitieX
 
-Rudolf "div0" Polzer
-*Programmer
+*Music / Sound FX
+mand1nga
+merlijn
 
-Andreas "Black" Kirsch
-*Programmer
-
-Paul "Strahlemann" Evers
-*Level Designer
+*Engine Code Additions & QA
+divVerent
 
-Peter "Morphed" Pielak
-*Artist
+*Game Code
+divVerent
+FruitieX
+tZork
 
-Samual Lenks
-*Programmer
+*Marketing / PR
+-z-
+mand1nga
 
-Rasmus "FruitieX" Eskola
-*Artist and Programmer
+*Legal
+divVerent
+merlijn
 
-Saulo "mand1nga" Gil
-*Programmer
+**Game Engine
+DarkPlaces
+by Forest "LordHavoc" Hale
 
+**Active Contributors
+Maik "SavageX" Merten
+MrBougo
+Kristian "morfar" Johansson
 Stephan "esteel" Stahl
-*Programmer
-
-Jakob "tZork" Markstrom Grohn
-*Programmer and Artist
-
-Tyler "-z-" Mulligan
-*Web Developer and Interaction Designer
-
 Wolfgang "Blub\0" Bumiller
-*Programmer
-
-Merlijn Hofstra
-*Programmer and server admin
-
-
-
-**Past Team Members
-*In alphabetical order
-*(nickname or surname)
-
-Kurt Dereli
-*Artist
-
-Yves "EviLair" Allaire
-*Artist
-
-Fabien "H. Reaper" Tschirhart
-*Level Designer
-
-"Innovati"
-*Artist
-
-KadaverJack
-*Programmer
-
-William Libert
-* Level Designer
-
-MauveBib
-*Bot Programmer
-
-Rick "Rat" Kelley
-*Lead Animator, Skinner
-
-Michael "Tenshihan" Quinn
-*Sound FX and Player-Voices
-
-Gottfried "Toddd" Hofmann
-*Sound FX
-
-Marko "Urre" Permanto
-*Bot Programmer
-
-Dan "Wazat" Hale
-*Programmer
-
-Garth "Zombie" Hendy
-*Level Designer
-
-
-
-**Special Thanks:
-*In alphabetical order
-*(nickname or surname)
-
-Robert "ai" Kuroto
-*Various models
-
-Chris "amethyst7" Matz
-*Level design
-
-blkrbt
-*Music
-
-Gerd "Elysis" Raudenbusch
-*Music
-
-Marius "GreEn`mArine" Shekow
-*Programmer
-
-Forest "LordHavoc" Hale
-*DarkPlaces Engine Programmer
-
-Braden "meoblast001" Walters
-*Music
 
+**Past Contributors
 Alexander "motorsep" Zubov
-*Weapon animation
-
-Eric "Munyul Verminard" Sambach
-*Level design
-
-Severin "sev" Meyer
-*Artist
-
-Simon O'Callaghan
-*egyptsoc texture set
-
-Michael "Tenshihan" Quinn
-*Sound effects
-
 Amos "torus" Dudley
-*Announcer voices
-
-Mattrew "Tronyn" Rye
-*Level design
-
-Henning "Tymo" Janssen
-*Level design
-
-Kevin "Tyrann" Shanahan
-*Level design
-
-William "Willis" Weilep
-*Master server host
-
-
-**Thanks:
-
+Andreas "Black" Kirsch
 Attila "WW3" Houtkooper
 BigMac
+blkrbt
+Braden "meoblast001" Walters
 Brain Younds
+Chris "amethyst7" Matz
 Christian Ice
 Clinton "Kaziganthe" Freeman
 Dan "Digger" Korostelev
+Dan "Wazat" Hale
 Donkey
+dstrek
 Dustin Geeraert
 Edgenetwork
 Edward "Ed" Holness
+Eric "Munyul Verminard" Sambach
+Fabien "H. Reaper" Tschirhart
 FrikaC
+Garth "Zombie" Hendy
+Gerd "Elysis" Raudenbusch
+Gottfried "Toddd" Hofmann
+Henning "Tymo" Janssen
+"Innovati"
 Jitspoe
 Jody Gallagher
 Juergen "LowDragon" Timm
+KadaverJack
+Kevin "Tyrann" Shanahan
+Kurt Dereli
+lcatlnx
 Lee David Ash
 Lee Vermeulen
+leileilol
+Marius "GreEn`mArine" Shekow
+Marko "Urre" Permanto
 Mathieu "Elric" Olivier
+Mattrew "Tronyn" Rye
+MauveBib
 Mephisto
+michaelb
+Michael "Tenshihan" Quinn
 MirceaKitsune
-MrBougo
 Munyul
 Netzwerg
 NoelCower
 Parapraxis
+Paul "Strahlemann" Evers
 Petithomme
 Q1 Retexturing Project
 Qantourisc
+Rick "Rat" Kelley
+Robert "ai" Kuroto
 Ronan
 Sajt
+Samual Lenks
+Severin "sev" Meyer
 Shaggy
 Shank
+Simon O'Callaghan
 SomeGuy
 Spike
 Spirit
 Steve Vermeulen
 Supajoe
 Tei
+terencehill
 Tomaz
 Ulrich Galbraith
 Vortex
+William Libert
+William "Willis" Weilep
+Yves "EviLair" Allaire
 Zenex
-dstrek
-lcatlnx
-leileilol
-michaelb
-terencehill