X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcompat%2Fquake3.qc;h=a68cc8a339c987a3822617b78b5458e900164531;hb=1758e185f4fdf82f079c649f78d9e22770eacc50;hp=b1db26e822f08ea860b067c8471a090012f94d1d;hpb=3f1c4b91123dadbb637d88ce278c6b3f001a475c;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/compat/quake3.qc b/qcsrc/server/compat/quake3.qc index b1db26e82..a68cc8a33 100644 --- a/qcsrc/server/compat/quake3.qc +++ b/qcsrc/server/compat/quake3.qc @@ -42,17 +42,18 @@ */ // SG -> MG || SG -SPAWNFUNC_ITEM_COND(ammo_shells, (q3compat & BIT(0)), ITEM_Bullets, ITEM_Shells) -SPAWNFUNC_WEAPON_COND(weapon_shotgun, (q3compat & BIT(0)), WEP_MACHINEGUN, WEP_SHOTGUN) +SPAWNFUNC_ITEM_COND(ammo_shells, (q3compat & Q3COMPAT_ARENA), ITEM_Bullets, ITEM_Shells) +SPAWNFUNC_WEAPON_COND(weapon_shotgun, (q3compat & Q3COMPAT_ARENA), WEP_MACHINEGUN, WEP_SHOTGUN) // MG -> SG || MG -SPAWNFUNC_ITEM_COND(ammo_bullets, (q3compat & BIT(0)), ITEM_Shells, ITEM_Bullets) +SPAWNFUNC_ITEM_COND(ammo_bullets, (q3compat & Q3COMPAT_ARENA), ITEM_Shells, ITEM_Bullets) // GL -> Mortar SPAWNFUNC_ITEM(ammo_grenades, ITEM_Rockets) -// Team Arena Proximity Launcher -> Mine Layer -SPAWNFUNC_WEAPON(weapon_prox_launcher, WEP_MINE_LAYER) +// Team Arena Proximity Launcher -> Mortar +// It's more accurate to spawn Mine Layer but players prefer Mortar, and weapon_grenadelauncher is usually disabled by "notta" and weapon_prox_launcher placed at the same origin +SPAWNFUNC_WEAPON(weapon_prox_launcher, WEP_MORTAR) SPAWNFUNC_ITEM(ammo_mines, ITEM_Rockets) // Team Arena Chaingun -> HLAC @@ -240,10 +241,18 @@ void target_give_init(entity this) this.netname = cons(this.netname, buff.netname); STAT(BUFF_TIME, this) = it.count; } + else if (it.classname == "item_shield") { + this.invincible_finished = it.count; + this.netname = cons(this.netname, "invincible"); + } + else if (it.classname == "item_strength") { + this.strength_finished = it.count; + this.netname = cons(this.netname, "strength"); + } //remove(it); // removing ents in init functions causes havoc, workaround: - setthink(it, SUB_Remove); - it.nextthink = time; + setthink(it, SUB_Remove); + it.nextthink = time; }); this.spawnflags = 2; this.spawnfunc_checked = true;