[nexuiz-commits] r6709 - in trunk/data: . models/sprites qcsrc/client qcsrc/common qcsrc/server sound/misc
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue May 12 06:16:10 EDT 2009
Author: div0
Date: 2009-05-12 06:16:09 -0400 (Tue, 12 May 2009)
New Revision: 6709
Added:
trunk/data/models/sprites/item-extralife_frame0.tga
trunk/data/models/sprites/item-extralife_frame1.tga
trunk/data/models/sprites/item-fuelregen_frame0.tga
trunk/data/models/sprites/item-fuelregen_frame1.tga
trunk/data/models/sprites/item-invis_frame0.tga
trunk/data/models/sprites/item-invis_frame1.tga
trunk/data/models/sprites/item-jetpack_frame0.tga
trunk/data/models/sprites/item-jetpack_frame1.tga
trunk/data/models/sprites/item-shield_frame0.tga
trunk/data/models/sprites/item-shield_frame1.tga
trunk/data/models/sprites/item-speed_frame0.tga
trunk/data/models/sprites/item-speed_frame1.tga
trunk/data/models/sprites/item-strength_frame0.tga
trunk/data/models/sprites/item-strength_frame1.tga
trunk/data/sound/misc/itemrespawncountdown.ogg
Modified:
trunk/data/models/sprites/make-sprites.sh
trunk/data/qcsrc/client/waypointsprites.qc
trunk/data/qcsrc/common/constants.qh
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/miscfunctions.qc
trunk/data/qcsrc/server/t_items.qc
trunk/data/weapons.cfg
trunk/data/weaponsHavoc.cfg
Log:
testing:
randomize powerup respawns by 10 seconds
show powerup respawns in advance by 5 seconds (and play a countdown sound)
Added: trunk/data/models/sprites/item-extralife_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-extralife_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-extralife_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-extralife_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-fuelregen_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-fuelregen_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-fuelregen_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-fuelregen_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-invis_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-invis_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-invis_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-invis_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-jetpack_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-jetpack_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-jetpack_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-jetpack_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-shield_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-shield_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-shield_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-shield_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-speed_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-speed_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-speed_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-speed_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-strength_frame0.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-strength_frame0.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/models/sprites/item-strength_frame1.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/models/sprites/item-strength_frame1.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/data/models/sprites/make-sprites.sh
===================================================================
--- trunk/data/models/sprites/make-sprites.sh 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/models/sprites/make-sprites.sh 2009-05-12 10:16:09 UTC (rev 6709)
@@ -191,3 +191,11 @@
sprite dom-blue "CONTROL POINT" 0000ff 000000 0.0
sprite dom-yellow "CONTROL POINT" ffff00 000000 0.0
sprite dom-pink "CONTROL POINT" ff00ff 000000 0.0
+
+sprite item-invis "INVISIBILITY" 0000ff 000000 0.5 0000ff ffff00 0.5
+sprite item-extralife "EXTRA LIFE" ff0000 000000 0.5 ff0000 ffff00 0.5
+sprite item-speed "SPEED" ff00ff 000000 0.5 ff00ff ffff00 0.5
+sprite item-strength "STRENGTH" 0000ff 000000 0.5 0000ff ffff00 0.5
+sprite item-shield "SHIELD" 0000ff 000000 0.5 0000ff ffff00 0.5
+sprite item-fuelregen "FUEL REGEN" ff8000 000000 0.5 ff8000 ffff00 0.5
+sprite item-jetpack "JET PACK" ff8000 000000 0.5 ff8000 ffff00 0.5
Modified: trunk/data/qcsrc/client/waypointsprites.qc
===================================================================
--- trunk/data/qcsrc/client/waypointsprites.qc 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/qcsrc/client/waypointsprites.qc 2009-05-12 10:16:09 UTC (rev 6709)
@@ -16,6 +16,7 @@
.float fadetime;
.float maxdistance;
.float hideflags;
+.float spawntime;
vector SPRITE_SIZE = '128 32 0';
vector SPRITE_HOTSPOT = '64 32 0';
@@ -185,7 +186,7 @@
if(t == 0)
spriteimage = strcat("models/sprites/", spriteimage);
else
- spriteimage = strcat("models/sprites/", spriteimage, "_frame", ftos(mod(floor(time * 2), t)));
+ spriteimage = strcat("models/sprites/", spriteimage, "_frame", ftos(mod(floor((max(0, time - self.spawntime)) * 2), t)));
drawrotpic(o, rot * 90 * DEG2RAD, spriteimage, SPRITE_SIZE * waypointsprite_scale * vidscale, SPRITE_HOTSPOT * waypointsprite_scale * vidscale, '1 1 1', a, DRAWFLAG_MIPMAP);
}
@@ -205,6 +206,9 @@
float sendflags, f;
sendflags = ReadByte();
+ if(!self.spawntime)
+ self.spawntime = time;
+
self.draw2d = Draw_WaypointSprite;
InterpolateOrigin_Undo();
Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/qcsrc/common/constants.qh 2009-05-12 10:16:09 UTC (rev 6709)
@@ -92,6 +92,7 @@
const float RADARICON_GENERATOR = 1;
const float RADARICON_OBJECTIVE = 1;
const float RADARICON_DOMPOINT = 1;
+const float RADARICON_POWERUP = 1;
///////////////////////////
// key constants
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/qcsrc/server/defs.qh 2009-05-12 10:16:09 UTC (rev 6709)
@@ -33,6 +33,12 @@
float g_pickup_respawntime_medium;
float g_pickup_respawntime_long;
float g_pickup_respawntime_powerup;
+float g_pickup_respawntimejitter_weapon;
+float g_pickup_respawntimejitter_ammo;
+float g_pickup_respawntimejitter_short;
+float g_pickup_respawntimejitter_medium;
+float g_pickup_respawntimejitter_long;
+float g_pickup_respawntimejitter_powerup;
float g_maplist_allow_hidden;
float g_jetpack;
@@ -162,6 +168,7 @@
.string playerskin;
.float respawntime;
+.float respawntimejitter;
//.float chasecam;
.float damageforcescale;
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2009-05-12 10:16:09 UTC (rev 6709)
@@ -1064,6 +1064,12 @@
g_pickup_respawntime_medium = cvar("g_pickup_respawntime_medium");
g_pickup_respawntime_long = cvar("g_pickup_respawntime_long");
g_pickup_respawntime_powerup = cvar("g_pickup_respawntime_powerup");
+ g_pickup_respawntimejitter_weapon = cvar("g_pickup_respawntimejitter_weapon");
+ g_pickup_respawntimejitter_ammo = cvar("g_pickup_respawntimejitter_ammo");
+ g_pickup_respawntimejitter_short = cvar("g_pickup_respawntimejitter_short");
+ g_pickup_respawntimejitter_medium = cvar("g_pickup_respawntimejitter_medium");
+ g_pickup_respawntimejitter_long = cvar("g_pickup_respawntimejitter_long");
+ g_pickup_respawntimejitter_powerup = cvar("g_pickup_respawntimejitter_powerup");
if(g_minstagib) g_nixnex = g_weaponarena = 0;
if(g_nixnex) g_weaponarena = 0;
Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/qcsrc/server/t_items.qc 2009-05-12 10:16:09 UTC (rev 6709)
@@ -1,3 +1,5 @@
+#define ITEM_RESPAWNTIME(i) ((i).respawntime + crandom() * (i).respawntimejitter)
+
floatfield Item_CounterField(float it)
{
switch(it)
@@ -45,6 +47,73 @@
pointparticles(particleeffectnum("item_respawn"), self.origin + 0.5 * (self.mins + self.maxs), '0 0 0', 1);
}
+void Item_RespawnCountdown (void)
+{
+ if(self.count >= 5)
+ {
+ self.count = 0;
+ if(self.waypointsprite_attached)
+ WaypointSprite_Kill(self.waypointsprite_attached);
+ Item_Respawn();
+ }
+ else
+ {
+ self.nextthink = time + 1;
+ self.count += 1;
+ if(self.count == 1)
+ {
+ string name;
+ vector rgb;
+ name = string_null;
+ if(g_minstagib)
+ {
+ switch(self.items)
+ {
+ case IT_STRENGTH: name = "item-invis"; rgb = '0 0 1'; break;
+ case IT_NAILS: name = "item-extralife"; rgb = '1 0 0'; break;
+ case IT_INVINCIBLE: name = "item-speed"; rgb = '1 0 1'; break;
+ }
+ }
+ else
+ {
+ switch(self.items)
+ {
+ case IT_STRENGTH: name = "item-strength"; rgb = '0 0 1'; break;
+ case IT_INVINCIBLE: name = "item-shield"; rgb = '1 0 1'; break;
+ }
+ }
+ switch(self.items)
+ {
+ case IT_FUEL_REGEN: name = "item-fuelregen"; rgb = '1 0.5 0'; break;
+ case IT_JETPACK: name = "item-jetpack"; rgb = '1 0.5 0'; break;
+ }
+ if(name)
+ {
+ WaypointSprite_Attach(name, FALSE);
+ if(self.waypointsprite_attached)
+ WaypointSprite_UpdateTeamRadar(self.waypointsprite_attached, RADARICON_POWERUP, rgb);
+ }
+ }
+ sound (self, CHAN_TRIGGER, "misc/itemrespawncountdown.wav", VOL_BASE, ATTN_NORM); // play respawn sound
+ if(self.waypointsprite_attached)
+ WaypointSprite_Ping(self.waypointsprite_attached);
+ }
+}
+
+void Item_ScheduleRespawn(entity e)
+{
+ if(e.flags & FL_POWERUP)
+ {
+ e.think = Item_RespawnCountdown;
+ e.nextthink = time + ITEM_RESPAWNTIME(e) - 5;
+ }
+ else
+ {
+ e.think = Item_Respawn;
+ e.nextthink = time + ITEM_RESPAWNTIME(e);
+ }
+}
+
float Item_GiveTo(entity item, entity player)
{
float _switchweapon;
@@ -278,8 +347,7 @@
}
else
e = self;
- e.nextthink = time + self.respawntime;
- e.think = Item_Respawn;
+ Item_ScheduleRespawn(e);
}
}
@@ -308,6 +376,13 @@
}
head.effects = head.effects - (head.effects & EF_NODRAW);
}
+
+ if(head.flags & FL_POWERUP) // do not spawn powerups initially!
+ {
+ head.solid = SOLID_NOT;
+ head.model = string_null;
+ Item_ScheduleRespawn(head);
+ }
}
}
@@ -326,6 +401,13 @@
setorigin (self, self.origin);
self.think = SUB_Null;
self.nextthink = 0;
+
+ if(self.flags & FL_POWERUP) // do not spawn powerups initially!
+ {
+ self.solid = SOLID_NOT;
+ self.model = string_null;
+ Item_ScheduleRespawn(self);
+ }
}
// Savage: used for item garbage-collection
@@ -379,7 +461,7 @@
.float is_item;
-void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, string itemname, float itemid, float weaponid, float itemflags, float(entity player, entity item) pickupevalfunc, float pickupbasevalue)
+void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, float defaultrespawntimejitter, string itemname, float itemid, float weaponid, float itemflags, float(entity player, entity item) pickupevalfunc, float pickupbasevalue)
{
startitem_failed = FALSE;
@@ -521,6 +603,7 @@
precache_model (itemmodel);
precache_sound (pickupsound);
precache_sound ("misc/itemrespawn.wav");
+ precache_sound ("misc/itemrespawncountdown.wav");
if((itemid & (IT_STRENGTH | IT_INVINCIBLE | IT_HEALTH | IT_ARMOR | IT_KEY1 | IT_KEY2)) || (weaponid & WEPBIT_ALL))
self.target = "###item###"; // for finding the nearest item using find()
@@ -532,8 +615,11 @@
self.mdl = itemmodel;
self.item_pickupsound = pickupsound;
// let mappers override respawntime
- if (!self.respawntime)
+ if(!self.respawntime) // both set
+ {
self.respawntime = defaultrespawntime;
+ self.respawntimejitter = defaultrespawntimejitter;
+ }
self.netname = itemname;
self.items = itemid;
self.weapons = weaponid;
@@ -566,6 +652,12 @@
self.effects = self.effects | EF_NODRAW; // marker for item team search
InitializeEntity(self, Item_FindTeam, INITPRIO_FINDTARGET);
}
+ else if(self.flags & FL_POWERUP) // do not spawn powerups initially!
+ {
+ self.solid = SOLID_NOT;
+ self.model = string_null;
+ Item_ScheduleRespawn(self);
+ }
}
/* replace items in minstagib
@@ -580,7 +672,7 @@
{
self.ammo_cells = 25;
StartItem ("models/weapons/g_nex.md3",
- "weapons/weaponpickup.wav", 15,
+ "weapons/weaponpickup.wav", 15, 0,
"MinstaNex", 0, WEPBIT_MINSTANEX, FL_WEAPON, generic_pickupevalfunc, 1000);
return;
}
@@ -593,7 +685,7 @@
{
self.ammo_cells = 1;
StartItem ("models/items/a_cells.md3",
- "misc/itempickup.wav", 45,
+ "misc/itempickup.wav", 45, 0,
"Nex Ammo", IT_CELLS, 0, 0, generic_pickupevalfunc, 100);
return;
}
@@ -613,7 +705,7 @@
self.effects = EF_ADDITIVE;
self.strength_finished = 30;
StartItem ("models/items/g_strength.md3",
- "misc/powerup.wav", g_pickup_respawntime_powerup,
+ "misc/powerup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
"Invisibility", IT_STRENGTH, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_MID);
}
// replace with extra lives
@@ -621,7 +713,7 @@
{
self.max_health = 1;
StartItem ("models/items/g_h100.md3",
- "misc/megahealth.wav", g_pickup_respawntime_powerup,
+ "misc/megahealth.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
"Extralife", IT_NAILS, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_HIGH);
}
@@ -631,7 +723,7 @@
self.effects = EF_ADDITIVE;
self.invincible_finished = 30;
StartItem ("models/items/g_invincible.md3",
- "misc/powerup_shield.wav", g_pickup_respawntime_powerup,
+ "misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup,
"Speed", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_MID);
}
@@ -656,13 +748,20 @@
float i, j;
// set the respawntime in advance (so replaced weapons can copy it)
+
if(!self.respawntime)
{
e = get_weaponinfo(wpn);
if(e.items == IT_SUPERWEAPON)
+ {
self.respawntime = g_pickup_respawntime_powerup;
+ self.respawntimejitter = g_pickup_respawntimejitter_powerup;
+ }
else
+ {
self.respawntime = g_pickup_respawntime_weapon;
+ self.respawntimejitter = g_pickup_respawntimejitter_weapon;
+ }
}
if(self.classname != "droppedweapon" && self.classname != "replacedweapon")
@@ -761,7 +860,7 @@
// initialize all ammo types to the pickup ammo unless set by g_start_ammo_*
}
- StartItem(e.model, "weapons/weaponpickup.wav", self.respawntime, e.message, 0, e.weapons, FL_WEAPON, weapon_pickupevalfunc, e.bot_pickupbasevalue);
+ StartItem(e.model, "weapons/weaponpickup.wav", self.respawntime, self.respawntimejitter, e.message, 0, e.weapons, FL_WEAPON, weapon_pickupevalfunc, e.bot_pickupbasevalue);
if (self.modelindex) // don't precache if self was removed
weapon_action(e.weapon, WR_PRECACHE);
}
@@ -826,7 +925,7 @@
void spawnfunc_item_rockets (void) {
if(!self.ammo_rockets)
self.ammo_rockets = g_pickup_rockets;
- StartItem ("models/items/a_rockets.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "rockets", IT_ROCKETS, 0, 0, commodity_pickupevalfunc, 3000);
+ StartItem ("models/items/a_rockets.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, g_pickup_respawntimejitter_ammo, "rockets", IT_ROCKETS, 0, 0, commodity_pickupevalfunc, 3000);
}
void spawnfunc_item_shells (void);
@@ -843,13 +942,13 @@
if(!self.ammo_nails)
self.ammo_nails = g_pickup_nails;
- StartItem ("models/items/a_bullets.mdl", "misc/itempickup.wav", g_pickup_respawntime_ammo, "bullets", IT_NAILS, 0, 0, commodity_pickupevalfunc, 2000);
+ StartItem ("models/items/a_bullets.mdl", "misc/itempickup.wav", g_pickup_respawntime_ammo, g_pickup_respawntimejitter_ammo, "bullets", IT_NAILS, 0, 0, commodity_pickupevalfunc, 2000);
}
void spawnfunc_item_cells (void) {
if(!self.ammo_cells)
self.ammo_cells = g_pickup_cells;
- StartItem ("models/items/a_cells.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "cells", IT_CELLS, 0, 0, commodity_pickupevalfunc, 2000);
+ StartItem ("models/items/a_cells.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, g_pickup_respawntimejitter_ammo, "cells", IT_CELLS, 0, 0, commodity_pickupevalfunc, 2000);
}
void spawnfunc_item_shells (void) {
@@ -865,7 +964,7 @@
if(!self.ammo_shells)
self.ammo_shells = g_pickup_shells;
- StartItem ("models/items/a_shells.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "shells", IT_SHELLS, 0, 0, commodity_pickupevalfunc, 500);
+ StartItem ("models/items/a_shells.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, g_pickup_respawntimejitter_ammo, "shells", IT_SHELLS, 0, 0, commodity_pickupevalfunc, 500);
}
void spawnfunc_item_armor_small (void) {
@@ -873,7 +972,7 @@
self.armorvalue = g_pickup_armorsmall;
if(!self.max_armorvalue)
self.max_armorvalue = g_pickup_armorsmall_max;
- StartItem ("models/items/g_a1.md3", "misc/armor1.wav", g_pickup_respawntime_short, "5 Armor", IT_ARMOR_SHARD, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
+ StartItem ("models/items/g_a1.md3", "misc/armor1.wav", g_pickup_respawntime_short, g_pickup_respawntimejitter_short, "5 Armor", IT_ARMOR_SHARD, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
}
void spawnfunc_item_armor_medium (void) {
@@ -881,7 +980,7 @@
self.armorvalue = g_pickup_armormedium;
if(!self.max_armorvalue)
self.max_armorvalue = g_pickup_armormedium_max;
- StartItem ("models/items/g_armormedium.md3", "misc/armor10.wav", g_pickup_respawntime_medium, "25 Armor", IT_ARMOR, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_MID);
+ StartItem ("models/items/g_armormedium.md3", "misc/armor10.wav", g_pickup_respawntime_medium, g_pickup_respawntimejitter_medium, "25 Armor", IT_ARMOR, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_MID);
}
void spawnfunc_item_armor_big (void) {
@@ -889,7 +988,7 @@
self.armorvalue = g_pickup_armorbig;
if(!self.max_armorvalue)
self.max_armorvalue = g_pickup_armorbig_max;
- StartItem ("models/items/g_a50.md3", "misc/armor17_5.wav", g_pickup_respawntime_long, "50 Armor", IT_ARMOR, 0, 0, commodity_pickupevalfunc, 20000);
+ StartItem ("models/items/g_a50.md3", "misc/armor17_5.wav", g_pickup_respawntime_long, g_pickup_respawntimejitter_long, "50 Armor", IT_ARMOR, 0, 0, commodity_pickupevalfunc, 20000);
}
void spawnfunc_item_armor_large (void) {
@@ -897,7 +996,7 @@
self.armorvalue = g_pickup_armorlarge;
if(!self.max_armorvalue)
self.max_armorvalue = g_pickup_armorlarge_max;
- StartItem ("models/items/g_a25.md3", "misc/armor25.wav", g_pickup_respawntime_long, "100 Armor", IT_ARMOR, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_HIGH);
+ StartItem ("models/items/g_a25.md3", "misc/armor25.wav", g_pickup_respawntime_long, g_pickup_respawntimejitter_long, "100 Armor", IT_ARMOR, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_HIGH);
}
void spawnfunc_item_health_small (void) {
@@ -905,7 +1004,7 @@
self.max_health = g_pickup_healthsmall_max;
if(!self.health)
self.health = g_pickup_healthsmall;
- StartItem ("models/items/g_h1.md3", "misc/minihealth.wav", g_pickup_respawntime_short, "5 Health", IT_5HP, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
+ StartItem ("models/items/g_h1.md3", "misc/minihealth.wav", g_pickup_respawntime_short, g_pickup_respawntimejitter_short, "5 Health", IT_5HP, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
}
void spawnfunc_item_health_medium (void) {
@@ -913,7 +1012,7 @@
self.max_health = g_pickup_healthmedium_max;
if(!self.health)
self.health = g_pickup_healthmedium;
- StartItem ("models/items/g_h25.md3", "misc/mediumhealth.wav", g_pickup_respawntime_short, "25 Health", IT_25HP, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_MID);
+ StartItem ("models/items/g_h25.md3", "misc/mediumhealth.wav", g_pickup_respawntime_short, g_pickup_respawntimejitter_short, "25 Health", IT_25HP, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_MID);
}
void spawnfunc_item_health_large (void) {
@@ -921,7 +1020,7 @@
self.max_health = g_pickup_healthlarge_max;
if(!self.health)
self.health = g_pickup_healthlarge;
- StartItem ("models/items/g_h50.md3", "misc/mediumhealth.wav", g_pickup_respawntime_medium, "50 Health", IT_25HP, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_MID);
+ StartItem ("models/items/g_h50.md3", "misc/mediumhealth.wav", g_pickup_respawntime_medium, g_pickup_respawntimejitter_medium, "50 Health", IT_25HP, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_MID);
}
void spawnfunc_item_health_mega (void) {
@@ -938,7 +1037,7 @@
self.max_health = g_pickup_healthmega_max;
if(!self.health)
self.health = g_pickup_healthmega;
- StartItem ("models/items/g_h100.md3", "misc/megahealth.wav", g_pickup_respawntime_long, "100 Health", IT_HEALTH, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_HIGH);
+ StartItem ("models/items/g_h100.md3", "misc/megahealth.wav", g_pickup_respawntime_long, g_pickup_respawntimejitter_long, "100 Health", IT_HEALTH, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_HIGH);
}
}
@@ -962,7 +1061,7 @@
precache_sound("weapons/strength_fire.wav");
self.strength_finished = 30;
self.effects = EF_ADDITIVE;
- StartItem ("models/items/g_strength.md3", "misc/powerup.wav", g_pickup_respawntime_powerup, "Strength Powerup", IT_STRENGTH, 0, FL_POWERUP, generic_pickupevalfunc, 100000);
+ StartItem ("models/items/g_strength.md3", "misc/powerup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Strength Powerup", IT_STRENGTH, 0, FL_POWERUP, generic_pickupevalfunc, 100000);
}
}
@@ -978,7 +1077,7 @@
} else {
self.invincible_finished = 30;
self.effects = EF_ADDITIVE;
- StartItem ("models/items/g_invincible.md3", "misc/powerup_shield.wav", g_pickup_respawntime_powerup, "Invulnerability", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, 100000);
+ StartItem ("models/items/g_invincible.md3", "misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Shield", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, 100000);
}
}
@@ -1254,12 +1353,12 @@
{
if(!self.ammo_fuel)
self.ammo_fuel = g_pickup_fuel;
- StartItem ("models/items/g_fuel.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, "Fuel", IT_FUEL, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
+ StartItem ("models/items/g_fuel.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, g_pickup_respawntimejitter_ammo, "Fuel", IT_FUEL, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
}
void spawnfunc_item_fuel_regen(void)
{
- StartItem ("models/items/g_fuelregen.md3", "misc/itempickup.wav", g_pickup_respawntime_powerup, "Fuel regenerator", IT_FUEL_REGEN, 0, FL_POWERUP, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
+ StartItem ("models/items/g_fuelregen.md3", "misc/itempickup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Fuel regenerator", IT_FUEL_REGEN, 0, FL_POWERUP, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
}
void spawnfunc_item_jetpack(void)
@@ -1268,5 +1367,5 @@
return; // sorry, but these two can't coexist (same button)
if(!self.ammo_fuel)
self.ammo_fuel = g_pickup_fuel_jetpack;
- StartItem ("models/items/g_jetpack.md3", "misc/itempickup.wav", g_pickup_respawntime_powerup, "Jet pack", IT_JETPACK, 0, FL_POWERUP, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
+ StartItem ("models/items/g_jetpack.md3", "misc/itempickup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Jet pack", IT_JETPACK, 0, FL_POWERUP, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
}
Added: trunk/data/sound/misc/itemrespawncountdown.ogg
===================================================================
(Binary files differ)
Property changes on: trunk/data/sound/misc/itemrespawncountdown.ogg
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/data/weapons.cfg
===================================================================
--- trunk/data/weapons.cfg 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/weapons.cfg 2009-05-12 10:16:09 UTC (rev 6709)
@@ -79,6 +79,12 @@
set g_pickup_respawntime_powerup 120
set g_pickup_respawntime_weapon 15
set g_pickup_respawntime_ammo 15
+set g_pickup_respawntimejitter_short 0
+set g_pickup_respawntimejitter_medium 0
+set g_pickup_respawntimejitter_long 0
+set g_pickup_respawntimejitter_powerup 10
+set g_pickup_respawntimejitter_weapon 0
+set g_pickup_respawntimejitter_ammo 0
set g_balance_laser_primary_damage 35
set g_balance_laser_primary_edgedamage 10
@@ -277,7 +283,7 @@
set g_balance_hook_primary_animtime 0.3 // good shoot anim
set g_balance_hook_primary_hooked_time_max 0 // infinite
set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
-set g_balance_hook_primary_hooked_fuel 6 // fuel per second hooked
+set g_balance_hook_primary_hooked_fuel 8 // fuel per second hooked
set g_balance_hook_secondary_damage 25 // not much
set g_balance_hook_secondary_edgedamage 5 // not much
set g_balance_hook_secondary_radius 500 // LOTS
Modified: trunk/data/weaponsHavoc.cfg
===================================================================
--- trunk/data/weaponsHavoc.cfg 2009-05-11 19:09:20 UTC (rev 6708)
+++ trunk/data/weaponsHavoc.cfg 2009-05-12 10:16:09 UTC (rev 6709)
@@ -74,6 +74,12 @@
set g_pickup_respawntime_powerup 120
set g_pickup_respawntime_weapon 15
set g_pickup_respawntime_ammo 15
+set g_pickup_respawntimejitter_short 0
+set g_pickup_respawntimejitter_medium 0
+set g_pickup_respawntimejitter_long 0
+set g_pickup_respawntimejitter_powerup 0
+set g_pickup_respawntimejitter_weapon 0
+set g_pickup_respawntimejitter_ammo 0
set g_balance_laser_primary_damage 5
set g_balance_laser_primary_edgedamage 5
@@ -272,7 +278,7 @@
set g_balance_hook_primary_animtime 0.3 // good shoot anim
set g_balance_hook_primary_hooked_time_max 0 // infinite
set g_balance_hook_primary_hooked_time_free 2 // 2s being hooked are free
-set g_balance_hook_primary_hooked_fuel 6 // fuel per second hooked
+set g_balance_hook_primary_hooked_fuel 8 // fuel per second hooked
set g_balance_hook_secondary_damage 25 // not much
set g_balance_hook_secondary_edgedamage 5 // not much
set g_balance_hook_secondary_radius 500 // LOTS
More information about the nexuiz-commits
mailing list