]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/master' into samual/keepaway
authorunknown <samual@xonotic.org>
Wed, 17 Nov 2010 16:33:53 +0000 (11:33 -0500)
committerunknown <samual@xonotic.org>
Wed, 17 Nov 2010 16:33:53 +0000 (11:33 -0500)
28 files changed:
balance25.cfg
balanceLeeStricklin.cfg
balanceNexSVN.cfg
balanceSamual.cfg
balanceTest.cfg
balanceXonotic.cfg
balancetZork.cfg
defaultXonotic.cfg
models/ice/ice.md3 [new file with mode: 0644]
models/ice/ice.tga [new file with mode: 0644]
models/ice/ice_gloss.tga [new file with mode: 0644]
models/ice/ice_glow.tga [new file with mode: 0644]
models/ice/ice_norm.tga [new file with mode: 0644]
models/ice/ice_reflect.tga [new file with mode: 0644]
models/ice/iceshard.md3 [new file with mode: 0644]
models/sprites/freezetag_frozen_frame0.tga [new file with mode: 0644]
models/sprites/make-sprites.sh
qcsrc/client/Main.qc
qcsrc/client/main.qh
qcsrc/client/projectile.qc
qcsrc/common/util.qc
qcsrc/menu/xonotic/dialog_multiplayer_create.c
qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c
qcsrc/server/cl_client.qc
qcsrc/server/sv_main.qc
qcsrc/server/w_crylink.qc
qcsrc/server/w_electro.qc
scripts/ice.shader [new file with mode: 0644]

index 9a0792012eede4d6804b8b1a9e1a9ffecc4dec63..001572fe589b5ee33f24286d85038b7df27df4e8 100644 (file)
@@ -384,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 1
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 80
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
index 1e72552ae0d54d01d9c24cad2e2e9f01d08d4410..62847823ff8d9849e6ab543b1ce45299992c1197 100644 (file)
@@ -395,6 +395,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 70
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
index b17358db78c33622da6105166687aea151d10e3d..e4c4a69d182c2c80305399538503410e2eeb7736 100644 (file)
@@ -383,6 +383,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 1
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 80
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
index 5858ec21360f5e23c67acf8cecbb9f256140fe15..b82fa6632e83386fd6359c473631ddcc4236f7c4 100644 (file)
@@ -384,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 5
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 50
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 200
index 3efe125a7367881af4cea58aa0e501498511fab5..e9b797ef59b5a44a1a988404bb451ea377a8fff3 100644 (file)
@@ -384,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 2
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 80
 set g_balance_electro_combo_edgedamage 10
 set g_balance_electro_combo_force 150
index 2f0587dde0e9aa46fd4feab21643500784f4a9f2..de110e3d5449f44ec48cd623c41ae85a3c5d29e7 100644 (file)
@@ -384,6 +384,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 4
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 set g_balance_electro_combo_damage 40
 set g_balance_electro_combo_edgedamage 0
 set g_balance_electro_combo_force 80
index 3ba4264870a96ff28beed9370b75a8c696aa676a..e1183bc8e51abf2253599c7d717dae196bff4e67 100644 (file)
@@ -405,6 +405,8 @@ set g_balance_electro_secondary_ammo 2
 set g_balance_electro_secondary_health 10
 set g_balance_electro_secondary_damageforcescale 2
 set g_balance_electro_secondary_count 3
+set g_balance_electro_secondary_bouncefactor 0.5
+set g_balance_electro_secondary_bouncestop 0.075
 
 set g_balance_electro_combo_damage 80
 set g_balance_electro_combo_edgedamage 10
index 860930e0f334b0a4afde5741d2e4635901bee5a5..fe5ea537199422521a33f7003e2a1ce0d6aa4874 100644 (file)
@@ -758,10 +758,10 @@ set g_ca_warmup 10 "how long the players will have time to run around the map be
 
 // onslaught
 set g_onslaught 0 "Onslaught: take control points towards the enemy generator and then destroy it"
-set g_onslaught_gen_health 5000
+set g_onslaught_gen_health 2500
 set g_onslaught_cp_health 1000
 set g_onslaught_cp_buildhealth 100
-set g_onslaught_cp_buildtime 10
+set g_onslaught_cp_buildtime 5
 set g_onslaught_cp_regen 20
 
 // assault
diff --git a/models/ice/ice.md3 b/models/ice/ice.md3
new file mode 100644 (file)
index 0000000..fc5cad6
Binary files /dev/null and b/models/ice/ice.md3 differ
diff --git a/models/ice/ice.tga b/models/ice/ice.tga
new file mode 100644 (file)
index 0000000..87e95b3
Binary files /dev/null and b/models/ice/ice.tga differ
diff --git a/models/ice/ice_gloss.tga b/models/ice/ice_gloss.tga
new file mode 100644 (file)
index 0000000..9841865
Binary files /dev/null and b/models/ice/ice_gloss.tga differ
diff --git a/models/ice/ice_glow.tga b/models/ice/ice_glow.tga
new file mode 100644 (file)
index 0000000..7e4c972
Binary files /dev/null and b/models/ice/ice_glow.tga differ
diff --git a/models/ice/ice_norm.tga b/models/ice/ice_norm.tga
new file mode 100644 (file)
index 0000000..051af66
Binary files /dev/null and b/models/ice/ice_norm.tga differ
diff --git a/models/ice/ice_reflect.tga b/models/ice/ice_reflect.tga
new file mode 100644 (file)
index 0000000..1f82c2a
Binary files /dev/null and b/models/ice/ice_reflect.tga differ
diff --git a/models/ice/iceshard.md3 b/models/ice/iceshard.md3
new file mode 100644 (file)
index 0000000..82728cb
Binary files /dev/null and b/models/ice/iceshard.md3 differ
diff --git a/models/sprites/freezetag_frozen_frame0.tga b/models/sprites/freezetag_frozen_frame0.tga
new file mode 100644 (file)
index 0000000..ff31747
Binary files /dev/null and b/models/sprites/freezetag_frozen_frame0.tga differ
index be359dbde3ee8977ab210d7595b8acf4394633cd..59468b54fc32e708a421aac2d1e7c58394c72dd8 100644 (file)
@@ -201,3 +201,5 @@ sprite item-strength      "Strength"      0050ff 000000 0.5 0050ff ffff00 0.5
 sprite item-shield        "Shield"        ff00ff 000000 0.5 ff00ff ffff00 0.5
 sprite item-fuelregen     "Fuel regen"    ff8000 000000 0.5 ff8000 ffff00 0.5
 sprite item-jetpack       "Jet Pack"      808080 000000 0.5 808080 ffff00 0.5
+
+sprite freezetag_frozen   "Frozen!"       40e6ff 000000 0.0 # bright cyan
index d358a59a536db28ea46dd630f8c4e7b941264fe4..ced8061ba9e2a58137580c79d715590165fa09a6 100644 (file)
@@ -1087,8 +1087,10 @@ void Ent_Init()
 
        g_weaponswitchdelay = ReadByte() / 255.0;
 
-       g_balance_grenadelauncher_secondary_bouncefactor = ReadCoord();
-       g_balance_grenadelauncher_secondary_bouncestop = ReadCoord();
+       g_balance_grenadelauncher_bouncefactor = ReadCoord();
+       g_balance_grenadelauncher_bouncestop = ReadCoord();
+       g_balance_electro_secondary_bouncefactor = ReadCoord();
+       g_balance_electro_secondary_bouncestop = ReadCoord();
 
        nex_scope = !ReadByte();
        campingrifle_scope = !ReadByte();
index 2294ffd1557b080e7ac8d03f1d54d0613cea1254..625a4ba7be05f5be814f088858d5a64f2233d163 100644 (file)
@@ -161,5 +161,7 @@ float calledhooks;
 
 .float ping, ping_packetloss, ping_movementloss;
 
-float g_balance_grenadelauncher_secondary_bouncefactor;
-float g_balance_grenadelauncher_secondary_bouncestop;
+float g_balance_grenadelauncher_bouncefactor;
+float g_balance_grenadelauncher_bouncestop;
+float g_balance_electro_secondary_bouncefactor;
+float g_balance_electro_secondary_bouncestop;
index fb07b21b8fd18473dfdb9168d5b56b4342b5873d..a2cef76454919d6afdc77dd7620de3bde273c7bd 100644 (file)
@@ -315,6 +315,8 @@ void Ent_Projectile()
                                self.maxs = '0 0 -4';
                                self.move_movetype = MOVETYPE_BOUNCE;
                                self.move_touch = SUB_Null;
+                               self.move_bounce_factor = g_balance_electro_secondary_bouncefactor;
+                               self.move_bounce_stopspeed = g_balance_electro_secondary_bouncestop;
                                break;
                        case PROJECTILE_ROCKET:
                                loopsound(self, CHAN_PROJECTILE, "weapons/rocket_fly.wav", VOL_BASE, ATTN_NORM);
@@ -330,8 +332,8 @@ void Ent_Projectile()
                                self.maxs = '3 3 3';
                                self.move_movetype = MOVETYPE_BOUNCE;
                                self.move_touch = SUB_Null;
-                               self.move_bounce_factor = g_balance_grenadelauncher_secondary_bouncefactor;
-                               self.move_bounce_stopspeed = g_balance_grenadelauncher_secondary_bouncestop;
+                               self.move_bounce_factor = g_balance_grenadelauncher_bouncefactor;
+                               self.move_bounce_stopspeed = g_balance_grenadelauncher_bouncestop;
                                break;
                        case PROJECTILE_MINE:
                                self.mins = '-4 -4 -4';
index 8c87b7fdad4f0e81a26e66633d9bb9032c7020a8..823709c9505c83482e85636d6339159b083d480e 100644 (file)
@@ -439,6 +439,7 @@ string GametypeNameFromType(float g)
        else if (g == GAME_RACE) return "rc";
        else if (g == GAME_NEXBALL) return "nexball";
        else if (g == GAME_CTS) return "cts";
+       else if (g == GAME_KEEPAWAY) return "ka";
        return "dm";
 }
 
index 81e0969dc089006c7af01d7b6bc3f4f9be7a49bc..4fb8ac0ca5836e662ef911416e356e532c81c6cc 100644 (file)
@@ -32,17 +32,13 @@ void XonoticServerCreateTab_fill(entity me)
        float n;
 
        me.TR(me);
-               n = 7;
+               n = 6;
                me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_dm", "DM"));
                        e0 = e;
                me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_lms", "LMS"));
                        if(e.checked) e0 = NULL;
                me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_arena", "Arena"));
                        if(e.checked) e0 = NULL;
-               me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_runematch", "Runematch"));
-                       if(e.checked) e0 = NULL;
-               me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_keepaway", "Keepaway"));
-                       if(e.checked) e0 = NULL;
                me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_race", "Race"));
                        if(e.checked) e0 = NULL;
                me.TD(me, 1, me.columns / n, e = makeXonoticGametypeButton(1, "g_cts", "Race CTS"));
index 0d58b9c4a09947b9f4045d04edb23866e3e4ccdc..4abb65ae3f7ebc60ae78ed926f12813066974b03 100644 (file)
@@ -126,12 +126,10 @@ void XonoticMapInfoDialog_fill(entity me)
                        me.typeLMSLabel = e;
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Arena"));
                        me.typeArenaLabel = e;
-               me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Rune"));
-                       me.typeRuneLabel = e;
-       me.TR(me);
-               me.TDempty(me, 0.2);
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Domination"));
                        me.typeDominationLabel = e;
+       me.TR(me);
+               me.TDempty(me, 0.2);
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Key Hunt"));
                        me.typeKeyHuntLabel = e;
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "CTF"));
@@ -140,10 +138,10 @@ void XonoticMapInfoDialog_fill(entity me)
                        me.typeCALabel = e;
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Assault"));
                        me.typeAssaultLabel = e;
-       me.TR(me);
-               me.TDempty(me, 0.2);
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Onslaught"));
                        me.typeOnslaughtLabel = e;
+       me.TR(me);
+               me.TDempty(me, 0.2);
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "Race"));
                        me.typeRaceLabel = e;
                me.TD(me, 1, wgt, e = makeXonoticTextLabel(0, "CTS"));
index 2a79d6a4add237e2080e9fe345a3bee520dfc328..e3507d6413a8e54b4e57a4fd4fba36104916fa47 100644 (file)
@@ -1075,6 +1075,9 @@ void PutClientInServer (void)
        //      ctf_playerchanged();
 }
 
+.float ebouncefactor, ebouncestop; // electro's values
+// TODO do we need all these fields, or should we stop autodetecting runtime
+// changes and just have a console command to update this?
 float ClientInit_SendEntity(entity to, float sf)
 {
        WriteByte(MSG_ENTITY, ENT_CLIENT_INIT);
@@ -1099,6 +1102,8 @@ float ClientInit_SendEntity(entity to, float sf)
        WriteByte(MSG_ENTITY, self.cnt * 255.0); // g_balance_weaponswitchdelay
        WriteCoord(MSG_ENTITY, self.bouncefactor); // g_balance_grenadelauncher_bouncefactor
        WriteCoord(MSG_ENTITY, self.bouncestop); // g_balance_grenadelauncher_bouncestop
+       WriteCoord(MSG_ENTITY, self.ebouncefactor); // g_balance_grenadelauncher_bouncefactor
+       WriteCoord(MSG_ENTITY, self.ebouncestop); // g_balance_grenadelauncher_bouncestop
        WriteByte(MSG_ENTITY, cvar("g_balance_nex_secondary")); // client has to know if it should zoom or not
        WriteByte(MSG_ENTITY, cvar("g_balance_campingrifle_secondary")); // client has to know if it should zoom or not
        WriteByte(MSG_ENTITY, serverflags); // client has to know if it should zoom or not
@@ -1128,6 +1133,16 @@ void ClientInit_CheckUpdate()
                self.bouncestop = cvar("g_balance_grenadelauncher_bouncestop");
                self.SendFlags |= 1;
        }
+       if(self.ebouncefactor != cvar("g_balance_electro_secondary_bouncefactor"))
+       {
+               self.ebouncefactor = cvar("g_balance_electro_secondary_bouncefactor");
+               self.SendFlags |= 1;
+       }
+       if(self.ebouncestop != cvar("g_balance_electro_secondary_bouncestop"))
+       {
+               self.ebouncestop = cvar("g_balance_electro_secondary_bouncestop");
+               self.SendFlags |= 1;
+       }
 }
 
 void ClientInit_Spawn()
index 5b8ca7ff867daae82bfe1f4f9ac5f03fabe2f037..8a73e6799afb6436a3fa23ca9b73995908ae8092 100644 (file)
@@ -199,6 +199,8 @@ void StartFrame (void)
        sv_airspeedlimit_nonqw = cvar("sv_airspeedlimit_nonqw");
        teamplay = cvar ("teamplay");
        sys_frametime = cvar("sys_ticrate") * cvar("slowmo");
+       if(sys_frametime <= 0)
+               sys_frametime = 1.0 / 60.0; // somewhat safe fallback
        sv_doublejump = cvar("sv_doublejump");
 
        if (timeoutStatus == 1) // just before the timeout (when timeoutStatus will be 2)
index f17e075dd74c7a25df4127000afbe4d1a2521113..55d794fa3fcff58f9c578acd754d5926477adf3d 100644 (file)
@@ -155,7 +155,7 @@ void W_Crylink_LinkJoinEffect_Think()
                                        n = n / cvar("g_balance_crylink_secondary_shots");
                                        RadiusDamage (e, e.realowner, cvar("g_balance_crylink_secondary_joinexplode_damage") * n, 
                                                                        cvar("g_balance_crylink_secondary_joinexplode_edgedamage") * n, 
-                                                                       cvar("g_balance_crylink_secondary_joinexplode_radius") * n, world
+                                                                       cvar("g_balance_crylink_secondary_joinexplode_radius") * n, e.realowner
                                                                        cvar("g_balance_crylink_secondary_joinexplode_force") * n, e.projectiledeathtype, other);
 
                                        pointparticles(particleeffectnum("crylink_joinexplode"), self.origin, '0 0 0', n);
@@ -168,7 +168,7 @@ void W_Crylink_LinkJoinEffect_Think()
                                        n = n / cvar("g_balance_crylink_primary_shots");
                                        RadiusDamage (e, e.realowner, cvar("g_balance_crylink_primary_joinexplode_damage") * n, 
                                                                        cvar("g_balance_crylink_primary_joinexplode_edgedamage") * n, 
-                                                                       cvar("g_balance_crylink_primary_joinexplode_radius") * n, world
+                                                                       cvar("g_balance_crylink_primary_joinexplode_radius") * n, e.realowner
                                                                        cvar("g_balance_crylink_primary_joinexplode_force") * n, e.projectiledeathtype, other);
 
                                        pointparticles(particleeffectnum("crylink_joinexplode"), self.origin, '0 0 0', n);
index 014fc34e51d15a4a176b793d7f34f35378ea24bc..1600a1c9a1fe7f8b860743d9b556a1b07f11bd06 100644 (file)
@@ -178,8 +178,8 @@ void W_Electro_Attack2()
        proj.event_damage = W_Plasma_Damage;
        proj.flags = FL_PROJECTILE;
        
-       //proj.bouncefactor = cvar("g_balance_electro_secondary_bouncefactor");
-       //proj.bouncestop = cvar("g_balance_electro_secondary_bouncestop");
+       proj.bouncefactor = cvar("g_balance_electro_secondary_bouncefactor");
+       proj.bouncestop = cvar("g_balance_electro_secondary_bouncestop");
        
 #if 0
        entity p2;
diff --git a/scripts/ice.shader b/scripts/ice.shader
new file mode 100644 (file)
index 0000000..01c810b
--- /dev/null
@@ -0,0 +1,10 @@
+models/ice/ice
+{
+       dpnoshadow
+       dpreflectcube cubemaps/default/sky
+ {
+       map models/ice/ice.tga
+       blendfunc add
+       rgbgen vertex
+ }
+}