From 26fcf173bee8f8695a81ecfdfafd7b6c78c870d9 Mon Sep 17 00:00:00 2001 From: zturtleman Date: Sat, 4 Nov 2017 13:51:46 +0000 Subject: [PATCH] Add Q3Rally items to botfiles Q3Rally renames some items and adds some items. Bots should try to pick them up now. --- baseq3r/botfiles/fuzi.c | 111 ++++++++++- baseq3r/botfiles/fuzw.c | 25 ++- baseq3r/botfiles/inv.h | 364 ++++++++++++++++++----------------- baseq3r/botfiles/items.c | 171 +++++++++++----- baseq3r/botfiles/weapons.c | 39 ++-- engine/code/game/ai_chat.c | 3 +- engine/code/game/ai_dmq3.c | 9 + engine/code/game/g_missile.c | 1 - engine/code/game/inv.h | 146 ++++++++------ 9 files changed, 556 insertions(+), 313 deletions(-) diff --git a/baseq3r/botfiles/fuzi.c b/baseq3r/botfiles/fuzi.c index 2648377d..29f41f03 100644 --- a/baseq3r/botfiles/fuzi.c +++ b/baseq3r/botfiles/fuzi.c @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define WS(x) balance($evalfloat(FP(x)), $evalfloat(FP(x/WEAPON)), $evalfloat(FP(x*WEAPON))) -weight "item_armor_shard" +weight "item_armor_green" { switch(INVENTORY_SCOUT) { @@ -72,7 +72,7 @@ switch(INVENTORY_SCOUT) } } -weight "item_armor_combat" +weight "item_armor_yellow" { switch(INVENTORY_SCOUT) { @@ -107,7 +107,7 @@ weight "item_armor_combat" } } -weight "item_armor_body" +weight "item_armor_red" { switch(INVENTORY_SCOUT) { @@ -286,6 +286,15 @@ weight "weapon_bfg" default: return 1; } } + +weight "weapon_flamethrower" +{ + switch(INVENTORY_FLAMETHROWER) + { + case 1: return WS(BFW); + default: return 1; + } +} weight "weapon_nailgun" { @@ -459,6 +468,24 @@ weight "ammo_bfg" } } +weight "ammo_flame" +{ + switch(INVENTORY_FLAMETHROWERAMMO) + { + case 20: return AS(30); + case 40: return AS(30); + case 60: return AS(11); + case 80: return AS(11); + case 100: return AS(11); + case 120: return AS(11); + case 140: return AS(11); + case 160: return AS(11); + case 180: return AS(11); + case 200: return AS(11); + default: return 0; + } +} + weight "ammo_nails" { @@ -535,6 +562,15 @@ weight "holdable_medkit" } } +weight "rally_item_turbo" +{ + switch(INVENTORY_TURBO) + { + case 1: return PS(TELW); + default: return 0; + } +} + weight "holdable_kamikaze" { switch(INVENTORY_TELEPORTER) @@ -587,10 +623,17 @@ weight "item_regen" return PS(REGW); } +/* weight "item_flight" { return PS(FLW); } +*/ + +weight "rally_item_shield" +{ + return PS(FLW); +} weight "item_scout" { @@ -676,17 +719,67 @@ weight "item_botroam" return 1; } -weight "team_dom_pointWhite" +weight "rally_weapon_smoke" { - return 1000; + switch(INVENTORY_RWP_SMOKE) + { + case 20: return AS(30); + case 40: return AS(30); + case 60: return AS(11); + case 80: return AS(11); + case 100: return AS(11); + default: return 0; + } } -weight "team_dom_pointRed" +weight "rally_weapon_oil" { - return 700; + switch(INVENTORY_RWP_OIL) + { + case 20: return AS(30); + case 40: return AS(30); + case 60: return AS(11); + case 80: return AS(11); + case 100: return AS(11); + default: return 0; + } } -weight "team_dom_pointBlue" +weight "rally_weapon_mine" { - return 700; + switch(INVENTORY_RWP_MINE) + { + case 20: return AS(30); + case 40: return AS(30); + case 60: return AS(11); + case 80: return AS(11); + case 100: return AS(11); + default: return 0; + } +} + +weight "rally_weapon_flame" +{ + switch(INVENTORY_RWP_FLAME) + { + case 20: return AS(30); + case 40: return AS(30); + case 60: return AS(11); + case 80: return AS(11); + case 100: return AS(11); + default: return 0; + } +} + +weight "rally_weapon_bio" +{ + switch(INVENTORY_RWP_BIO) + { + case 20: return AS(30); + case 40: return AS(30); + case 60: return AS(11); + case 80: return AS(11); + case 100: return AS(11); + default: return 0; + } } diff --git a/baseq3r/botfiles/fuzw.c b/baseq3r/botfiles/fuzw.c index e5533c4b..f35b2d25 100644 --- a/baseq3r/botfiles/fuzw.c +++ b/baseq3r/botfiles/fuzw.c @@ -279,4 +279,27 @@ weight "Shotgun" } } } -} \ No newline at end of file +} + +weight "Flame Thrower" +{ + switch(INVENTORY_FLAMETHROWER) + { + case 1: return 0; + default: + { + switch(INVENTORY_FLAMETHROWERAMMO) + { + case 1: return 0; + default: + { + switch(ENEMY_HORIZONTAL_DIST) + { + case 600: return SGW; + default: return $evalint(SGW*0.1); + } + } + } + } + } +} diff --git a/baseq3r/botfiles/inv.h b/baseq3r/botfiles/inv.h index 8ab96199..1bcd7b7e 100644 --- a/baseq3r/botfiles/inv.h +++ b/baseq3r/botfiles/inv.h @@ -1,184 +1,186 @@ -/* -=========================================================================== -Copyright (C) 1999-2005 Id Software, Inc. - -This file is part of Quake III Arena source code. - -Quake III Arena source code is free software; you can redistribute it -and/or modify it under the terms of the GNU General Public License as -published by the Free Software Foundation; either version 2 of the License, -or (at your option) any later version. - -Quake III Arena source code is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Foobar; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -=========================================================================== -*/ - -#define INVENTORY_NONE 0 -//armor -#define INVENTORY_ARMOR 1 -//weapons -#define INVENTORY_GAUNTLET 4 -#define INVENTORY_SHOTGUN 5 -#define INVENTORY_MACHINEGUN 6 -#define INVENTORY_GRENADELAUNCHER 7 -#define INVENTORY_ROCKETLAUNCHER 8 -#define INVENTORY_LIGHTNING 9 -#define INVENTORY_RAILGUN 10 -#define INVENTORY_PLASMAGUN 11 -#define INVENTORY_BFG10K 13 -#define INVENTORY_GRAPPLINGHOOK 14 -#define INVENTORY_NAILGUN 15 -#define INVENTORY_PROXLAUNCHER 16 -#define INVENTORY_CHAINGUN 17 -//ammo -#define INVENTORY_SHELLS 18 -#define INVENTORY_BULLETS 19 -#define INVENTORY_GRENADES 20 -#define INVENTORY_CELLS 21 -#define INVENTORY_LIGHTNINGAMMO 22 -#define INVENTORY_ROCKETS 23 -#define INVENTORY_SLUGS 24 -#define INVENTORY_BFGAMMO 25 -#define INVENTORY_NAILS 26 -#define INVENTORY_MINES 27 -#define INVENTORY_BELT 28 -//powerups -#define INVENTORY_HEALTH 29 -#define INVENTORY_TELEPORTER 30 -#define INVENTORY_MEDKIT 31 -#define INVENTORY_KAMIKAZE 32 -#define INVENTORY_PORTAL 33 -#define INVENTORY_INVULNERABILITY 34 -#define INVENTORY_QUAD 35 -#define INVENTORY_ENVIRONMENTSUIT 36 -#define INVENTORY_HASTE 37 -#define INVENTORY_INVISIBILITY 38 -#define INVENTORY_REGEN 39 -#define INVENTORY_FLIGHT 40 -#define INVENTORY_SCOUT 41 -#define INVENTORY_GUARD 42 -#define INVENTORY_DOUBLER 43 -#define INVENTORY_AMMOREGEN 44 - -#define INVENTORY_REDFLAG 45 -#define INVENTORY_BLUEFLAG 46 -#define INVENTORY_NEUTRALFLAG 47 -#define INVENTORY_REDCUBE 48 -#define INVENTORY_BLUECUBE 49 -//Elimination mod: Domination inventory -#define INVENTORY_POINTWHITE 50 -#define INVENTORY_POINTRED 51 -#define INVENTORY_POINTBLUE 52 +/* +=========================================================================== +Copyright (C) 1999-2005 Id Software, Inc. +Copyright (C) 2002-2015 Q3Rally Team (Per Thormann - q3rally@gmail.com) - -//enemy stuff -#define ENEMY_HORIZONTAL_DIST 200 -#define ENEMY_HEIGHT 201 -#define NUM_VISIBLE_ENEMIES 202 -#define NUM_VISIBLE_TEAMMATES 203 - -// if running the mission pack -#ifdef MISSIONPACK - -//#error "running mission pack" - -#endif - -//item numbers (make sure they are in sync with bg_itemlist in bg_misc.c) -#define MODELINDEX_ARMORSHARD 1 -#define MODELINDEX_ARMORCOMBAT 2 -#define MODELINDEX_ARMORBODY 3 -#define MODELINDEX_HEALTHSMALL 4 -#define MODELINDEX_HEALTH 5 -#define MODELINDEX_HEALTHLARGE 6 -#define MODELINDEX_HEALTHMEGA 7 - -#define MODELINDEX_GAUNTLET 8 -#define MODELINDEX_SHOTGUN 9 -#define MODELINDEX_MACHINEGUN 10 -#define MODELINDEX_GRENADELAUNCHER 11 -#define MODELINDEX_ROCKETLAUNCHER 12 -#define MODELINDEX_LIGHTNING 13 -#define MODELINDEX_RAILGUN 14 -#define MODELINDEX_PLASMAGUN 15 -#define MODELINDEX_BFG10K 16 -#define MODELINDEX_GRAPPLINGHOOK 17 - -#define MODELINDEX_SHELLS 18 -#define MODELINDEX_BULLETS 19 -#define MODELINDEX_GRENADES 20 -#define MODELINDEX_CELLS 21 -#define MODELINDEX_LIGHTNINGAMMO 22 -#define MODELINDEX_ROCKETS 23 -#define MODELINDEX_SLUGS 24 -#define MODELINDEX_BFGAMMO 25 - -#define MODELINDEX_TELEPORTER 26 -#define MODELINDEX_MEDKIT 27 -#define MODELINDEX_QUAD 28 -#define MODELINDEX_ENVIRONMENTSUIT 29 -#define MODELINDEX_HASTE 30 -#define MODELINDEX_INVISIBILITY 31 -#define MODELINDEX_REGEN 32 -#define MODELINDEX_FLIGHT 33 - -#define MODELINDEX_REDFLAG 34 -#define MODELINDEX_BLUEFLAG 35 - -// mission pack only defines - -#define MODELINDEX_KAMIKAZE 36 -#define MODELINDEX_PORTAL 37 -#define MODELINDEX_INVULNERABILITY 38 - -#define MODELINDEX_NAILS 39 -#define MODELINDEX_MINES 40 -#define MODELINDEX_BELT 41 - -#define MODELINDEX_SCOUT 42 -#define MODELINDEX_GUARD 43 -#define MODELINDEX_DOUBLER 44 -#define MODELINDEX_AMMOREGEN 45 - -#define MODELINDEX_NEUTRALFLAG 46 -#define MODELINDEX_REDCUBE 47 -#define MODELINDEX_BLUECUBE 48 - -#define MODELINDEX_NAILGUN 49 -#define MODELINDEX_PROXLAUNCHER 50 -#define MODELINDEX_CHAINGUN 51 +This file is part of q3rally source code. -//Elimination mod: Double Domination and Standard Domination +q3rally source code is free software; you can redistribute it +and/or modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the License, +or (at your option) any later version. + +q3rally source code is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with q3rally; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +=========================================================================== +*/ + +#define INVENTORY_NONE 0 +//armor +#define INVENTORY_ARMOR 1 +//weapons +#define INVENTORY_GAUNTLET 4 +#define INVENTORY_SHOTGUN 5 +#define INVENTORY_MACHINEGUN 6 +#define INVENTORY_GRENADELAUNCHER 7 +#define INVENTORY_ROCKETLAUNCHER 8 +#define INVENTORY_LIGHTNING 9 +#define INVENTORY_RAILGUN 10 +#define INVENTORY_PLASMAGUN 11 +#define INVENTORY_BFG10K 12 +#define INVENTORY_GRAPPLINGHOOK 13 +#define INVENTORY_NAILGUN 14 +#define INVENTORY_PROXLAUNCHER 15 +#define INVENTORY_CHAINGUN 16 +#define INVENTORY_FLAMETHROWER 17 // rally +//ammo +#define INVENTORY_SHELLS 18 +#define INVENTORY_BULLETS 19 +#define INVENTORY_GRENADES 20 +#define INVENTORY_CELLS 21 +#define INVENTORY_LIGHTNINGAMMO 22 +#define INVENTORY_ROCKETS 23 +#define INVENTORY_SLUGS 24 +#define INVENTORY_BFGAMMO 25 +#define INVENTORY_FLAMETHROWERAMMO 26 // rally +#define INVENTORY_NAILS 27 +#define INVENTORY_MINES 28 +#define INVENTORY_BELT 29 +//powerups +#define INVENTORY_HEALTH 30 +#define INVENTORY_TELEPORTER 31 +#define INVENTORY_MEDKIT 32 +#define INVENTORY_TURBO 33 // rally +#define INVENTORY_KAMIKAZE 34 +#define INVENTORY_PORTAL 35 +#define INVENTORY_INVULNERABILITY 36 +#define INVENTORY_QUAD 37 +#define INVENTORY_ENVIRONMENTSUIT 38 +#define INVENTORY_HASTE 39 +#define INVENTORY_INVISIBILITY 40 +#define INVENTORY_REGEN 41 +//#define INVENTORY_FLIGHT +#define INVENTORY_SHIELD 42 // rally +//missionpack +#define INVENTORY_SCOUT 43 +#define INVENTORY_GUARD 44 +#define INVENTORY_DOUBLER 45 +#define INVENTORY_AMMOREGEN 46 +#define INVENTORY_REDFLAG 47 +#define INVENTORY_BLUEFLAG 48 +#define INVENTORY_NEUTRALFLAG 49 +#define INVENTORY_REDCUBE 50 +#define INVENTORY_BLUECUBE 51 +//rally rearfire weapons +#define INVENTORY_RWP_SMOKE 52 +#define INVENTORY_RWP_OIL 53 +#define INVENTORY_RWP_MINE 54 +#define INVENTORY_RWP_FLAME 55 +#define INVENTORY_RWP_BIO 56 +//enemy stuff +#define ENEMY_HORIZONTAL_DIST 200 +#define ENEMY_HEIGHT 201 +#define NUM_VISIBLE_ENEMIES 202 +#define NUM_VISIBLE_TEAMMATES 203 +// if running the mission pack +#ifdef MISSIONPACK +//#error "running mission pack" +#endif +//item numbers (make sure they are in sync with bg_itemlist in bg_misc.c) +#define MODELINDEX_ARMORSHARD 1 +#define MODELINDEX_ARMORCOMBAT 2 +#define MODELINDEX_ARMORBODY 3 +#define MODELINDEX_HEALTHSMALL 4 +#define MODELINDEX_HEALTH 5 +#define MODELINDEX_HEALTHLARGE 6 +#define MODELINDEX_HEALTHMEGA 7 + +#define MODELINDEX_GAUNTLET 8 +#define MODELINDEX_SHOTGUN 9 +#define MODELINDEX_MACHINEGUN 10 +#define MODELINDEX_GRENADELAUNCHER 11 +#define MODELINDEX_ROCKETLAUNCHER 12 +#define MODELINDEX_LIGHTNING 13 +#define MODELINDEX_RAILGUN 14 +#define MODELINDEX_PLASMAGUN 15 +#define MODELINDEX_BFG10K 16 +//#define MODELINDEX_GRAPPLINGHOOK +#define MODELINDEX_FLAMETHROWER 17 // rally + +//rally rearfire weapons +#define MODELINDEX_RWP_SMOKE 18 +#define MODELINDEX_RWP_OIL 19 +#define MODELINDEX_RWP_MINE 20 +#define MODELINDEX_RWP_FLAME 21 +#define MODELINDEX_RWP_BIO 22 + +#define MODELINDEX_SHELLS 23 +#define MODELINDEX_BULLETS 24 +#define MODELINDEX_GRENADES 25 +#define MODELINDEX_CELLS 26 +#define MODELINDEX_LIGHTNINGAMMO 27 +#define MODELINDEX_ROCKETS 28 +#define MODELINDEX_SLUGS 29 +#define MODELINDEX_BFGAMMO 30 +#define MODELINDEX_FLAMETHROWERAMMO 31 // rally + +#define MODELINDEX_TELEPORTER 32 +#define MODELINDEX_MEDKIT 33 +#define MODELINDEX_TURBO 34 // rally +#define MODELINDEX_QUAD 35 +#define MODELINDEX_ENVIRONMENTSUIT 36 +#define MODELINDEX_HASTE 37 +#define MODELINDEX_INVISIBILITY 38 +#define MODELINDEX_REGEN 39 +//#define MODELINDEX_FLIGHT +#define MODELINDEX_SHIELD 40 // rally + +#define MODELINDEX_REDFLAG 41 +#define MODELINDEX_BLUEFLAG 42 + +// mission pack only defines + +#define MODELINDEX_KAMIKAZE 43 +#define MODELINDEX_PORTAL 44 +#define MODELINDEX_INVULNERABILITY 45 + +#define MODELINDEX_NAILS 46 +#define MODELINDEX_MINES 47 +#define MODELINDEX_BELT 48 + +#define MODELINDEX_SCOUT 49 +#define MODELINDEX_GUARD 50 +#define MODELINDEX_DOUBLER 51 +#define MODELINDEX_AMMOREGEN 52 + +#define MODELINDEX_NEUTRALFLAG 53 +#define MODELINDEX_REDCUBE 54 +#define MODELINDEX_BLUECUBE 55 + +#define MODELINDEX_NAILGUN 56 +#define MODELINDEX_PROXLAUNCHER 57 +#define MODELINDEX_CHAINGUN 58 + + +// +#define WEAPONINDEX_GAUNTLET 1 +#define WEAPONINDEX_MACHINEGUN 2 +#define WEAPONINDEX_SHOTGUN 3 +#define WEAPONINDEX_GRENADE_LAUNCHER 4 +#define WEAPONINDEX_ROCKET_LAUNCHER 5 +#define WEAPONINDEX_LIGHTNING 6 +#define WEAPONINDEX_RAILGUN 7 +#define WEAPONINDEX_PLASMAGUN 8 +#define WEAPONINDEX_BFG 9 +//#define WEAPONINDEX_GRAPPLING_HOOK +#define WEAPONINDEX_FLAME_THROWER 10 // rally +#define WEAPONINDEX_NAILGUN 11 +#define WEAPONINDEX_PROXLAUNCHER 12 +#define WEAPONINDEX_CHAINGUN 13 -#define MODELINDEX_POINTABLUE 52 -#define MODELINDEX_POINTBBLUE 53 -#define MODELINDEX_POINTARED 54 -#define MODELINDEX_POINTBRED 55 -#define MODELINDEX_POINTAWHITE 56 -#define MODELINDEX_POINTBWHITE 57 -#define MODELINDEX_POINTWHITE 58 -#define MODELINDEX_POINTRED 59 -#define MODELINDEX_POINTBLUE 60 - - -// -#define WEAPONINDEX_GAUNTLET 1 -#define WEAPONINDEX_MACHINEGUN 2 -#define WEAPONINDEX_SHOTGUN 3 -#define WEAPONINDEX_GRENADE_LAUNCHER 4 -#define WEAPONINDEX_ROCKET_LAUNCHER 5 -#define WEAPONINDEX_LIGHTNING 6 -#define WEAPONINDEX_RAILGUN 7 -#define WEAPONINDEX_PLASMAGUN 8 -#define WEAPONINDEX_BFG 9 -#define WEAPONINDEX_GRAPPLING_HOOK 10 -#define WEAPONINDEX_NAILGUN 11 -#define WEAPONINDEX_PROXLAUNCHER 12 -#define WEAPONINDEX_CHAINGUN 13 diff --git a/baseq3r/botfiles/items.c b/baseq3r/botfiles/items.c index 2a770d4f..f9bf735f 100644 --- a/baseq3r/botfiles/items.c +++ b/baseq3r/botfiles/items.c @@ -168,6 +168,18 @@ mins {-13,-13,-13} maxs {13,13,13} } +iteminfo "ammo_flame" +{ +name "Flame Ammo" +model "models/powerups/ammo/bfgam.md3" +modelindex MODELINDEX_FLAMETHROWERAMMO +type AMMOI +index INVENTORY_FLAMETHROWERAMMO +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} + iteminfo "holdable_invulnerability" { name "Invulnerability" @@ -228,9 +240,21 @@ mins {-13,-13,-13} maxs {13,13,13} } -iteminfo "item_armor_body" +iteminfo "rally_item_turbo" { -name "Heavy Armor" +name "Turbo" +model "models/powerups/turbo/turbo.md3" +modelindex MODELINDEX_TURBO +type POWERI +index INVENTORY_TURBO +respawntime 60 +mins {-13,-13,-13} +maxs {13,13,13} +} + +iteminfo "item_armor_red" +{ +name "Red Armor" model "models/powerups/armor/armor_red.md3" modelindex MODELINDEX_ARMORBODY type ARMORI @@ -241,9 +265,9 @@ maxs {13,13,13} } -iteminfo "item_armor_combat" +iteminfo "item_armor_yellow" { -name "Armor" +name "Yellow Armor" model "models/powerups/armor/armor_yel.md3" modelindex MODELINDEX_ARMORCOMBAT type ARMORI @@ -253,10 +277,10 @@ mins {-13,-13,-13} maxs {13,13,13} } -iteminfo "item_armor_shard" +iteminfo "item_armor_green" { -name "Armor Shard" -model "models/powerups/armor/shard.md3" +name "Green Armor" +model "models/powerups/armor/greenshard.md3" modelindex MODELINDEX_ARMORSHARD type ARMORI index INVENTORY_ARMOR @@ -352,10 +376,11 @@ mins {-13,-13,-13} maxs {13,13,13} } +/* iteminfo "weapon_grapplinghook" { name "Grappling Hook" -model "" +model "models/weapons2/grapple/grapple.md3" modelindex MODELINDEX_GRAPPLINGHOOK type WEAPONI index INVENTORY_GRAPPLINGHOOK @@ -363,6 +388,19 @@ respawntime 30 mins {-13,-13,-13} maxs {13,13,13} } +*/ + +iteminfo "weapon_flamethrower" +{ +name "Flame Thrower" +model "models/weapons2/flamethrower/flamethrower.md3" +modelindex MODELINDEX_FLAMETHROWER +type WEAPONI +index INVENTORY_FLAMETHROWER +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} iteminfo "weapon_grenadelauncher" @@ -480,10 +518,69 @@ maxs {13,13,13} } +iteminfo "rally_weapon_smoke" +{ +name "Rearfire Smoke Screen" +model "models/rearfire/rf_smoke.md3" +modelindex MODELINDEX_RWP_SMOKE +type WEAPONI +index INVENTORY_RWP_SMOKE +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} + +iteminfo "rally_weapon_oil" +{ +name "Rearfire Oil Slick" +model "models/rearfire/rf_oil.md3" +modelindex MODELINDEX_RWP_OIL +type WEAPONI +index INVENTORY_RWP_OIL +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} + +iteminfo "rally_weapon_mine" +{ +name "Rearfire Mine" +model "models/rearfire/rf_mines.md3" +modelindex MODELINDEX_RWP_MINE +type WEAPONI +index INVENTORY_RWP_MINE +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} + +iteminfo "rally_weapon_flame" +{ +name "Rearfire Flame Trail" +model "models/rearfire/rf_flame.md3" +modelindex MODELINDEX_RWP_FLAME +type WEAPONI +index INVENTORY_RWP_FLAME +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} + +iteminfo "rally_weapon_bio" +{ +name "Rearfire Bio Sludge" +model "models/rearfire/rf_bio.md3" +modelindex MODELINDEX_RWP_BIO +type WEAPONI +index INVENTORY_RWP_BIO +respawntime 30 +mins {-13,-13,-13} +maxs {13,13,13} +} -iteminfo "item_quad" +iteminfo "rally_item_quad" { name "Quad Damage" model "models/powerups/instant/quad.md3" @@ -495,7 +592,7 @@ mins {-13,-13,-13} maxs {13,13,13} } -iteminfo "item_enviro" +iteminfo "rally_item_env" { name "Battle Suit" model "models/powerups/instant/enviro.md3" @@ -507,7 +604,7 @@ mins {-13,-13,-13} maxs {13,13,13} } -iteminfo "item_haste" +iteminfo "rally_item_haste" { name "Speed" model "models/powerups/instant/haste_ring.md3" @@ -519,7 +616,7 @@ mins {-13,-13,-13} maxs {13,13,13} } -iteminfo "item_invisibility" +iteminfo "rally_item_invis" { name "Invisibility" model "models/powerups/instant/invis.md3" @@ -531,7 +628,7 @@ mins {-13,-13,-13} maxs {13,13,13} } -iteminfo "item_regen" +iteminfo "rally_item_regen" { name "Regeneration" model "models/powerups/instant/regen_ring.md3" @@ -543,6 +640,7 @@ mins {-13,-13,-13} maxs {13,13,13} } +/* iteminfo "item_flight" { name "Flight" @@ -554,6 +652,19 @@ respawntime 60 mins {-13,-13,-13} maxs {13,13,13} } +*/ + +iteminfo "rally_item_shield" +{ +name "Shielding" +model "models/powerups/shield/shield.md3" +modelindex MODELINDEX_SHIELD +type POWERI +index INVENTORY_SHIELD +respawntime 60 +mins {-13,-13,-13} +maxs {13,13,13} +} iteminfo "item_scout" { @@ -701,38 +812,4 @@ index 0 mins {-13,-13,-13} maxs {13,13,13} } - -//Domination points: -iteminfo "team_dom_pointWhite" -{ -name "Neutral domination point" -model "models/dpoints/a_white.md3" -modelindex MODELINDEX_POINTWHITE -type FLAGI -index INVENTORY_POINTWHITE -mins {-13,-13,-13} -maxs {13,13,13} -} - -iteminfo "team_dom_pointBlue" -{ -name "Blue domination point" -model "models/dpoints/a_blue.md3" -modelindex MODELINDEX_POINTBLUE -type FLAGI -index INVENTORY_POINTBLUE -mins {-13,-13,-13} -maxs {13,13,13} -} - -iteminfo "team_dom_pointRed" -{ -name "Red domination point" -model "models/dpoints/a_red.md3" -modelindex MODELINDEX_POINTRED -type FLAGI -index INVENTORY_POINTRED -mins {-13,-13,-13} -maxs {13,13,13} -} diff --git a/baseq3r/botfiles/weapons.c b/baseq3r/botfiles/weapons.c index a6564620..c4c7551f 100644 --- a/baseq3r/botfiles/weapons.c +++ b/baseq3r/botfiles/weapons.c @@ -29,8 +29,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA projectileinfo { name "bfgexploision" -damage 40 -radius 100 +damage 100 +radius 120 damagetype $evalint(IMPACT_DAMAGE|SPLASH_DAMAGE) } @@ -40,7 +40,7 @@ name "BFG10K" number WEAPONINDEX_BFG projectile "bfgexploision" numprojectiles 1 -speed 0 +speed 4000 } projectileinfo @@ -62,8 +62,8 @@ speed 0 projectileinfo { name "grenade" -damage 120 -radius 160 +damage 40 +radius 150 damagetype $evalint(IMPACT_DAMAGE|SPLASH_DAMAGE) } @@ -73,7 +73,7 @@ name "Grenade Launcher" number WEAPONINDEX_GRENADE_LAUNCHER projectile "grenade" numprojectiles 1 -speed 700 +speed 800 } @@ -97,7 +97,7 @@ speed 0 projectileinfo { name "machinegunbullet" -damage 8 +damage 7 damagetype IMPACT_DAMAGE } @@ -124,13 +124,13 @@ name "Plasma Gun" number WEAPONINDEX_PLASMAGUN projectile "plasma" numprojectiles 1 -speed 2000 +speed 4000 } projectileinfo { name "rail" -damage 100 +damage 75 damagetype IMPACT_DAMAGE } @@ -146,7 +146,7 @@ speed 0 projectileinfo { name "rocket" -damage 100 +damage 80 radius 120 damagetype $evalint(IMPACT_DAMAGE|SPLASH_DAMAGE) } @@ -157,7 +157,7 @@ name "Rocket Launcher" number WEAPONINDEX_ROCKET_LAUNCHER projectile "rocket" numprojectiles 1 -speed 900 +speed 1800 } @@ -177,6 +177,23 @@ numprojectiles 11 speed 0 } +projectileinfo +{ +name "flamethrowerexpolision" +damage 30 +radius 45 +damagetype $evalint(IMPACT_DAMAGE|SPLASH_DAMAGE) +} + +weaponinfo +{ +name "Flame Thrower" +number WEAPONINDEX_BFG +projectile "flamethrowerexpolision" +numprojectiles 1 +speed 300 +} + projectileinfo { name "chaingunbullet" diff --git a/engine/code/game/ai_chat.c b/engine/code/game/ai_chat.c index a54412eb..93e99468 100644 --- a/engine/code/game/ai_chat.c +++ b/engine/code/game/ai_chat.c @@ -361,7 +361,8 @@ int BotValidChatPosition(bot_state_t *bs) { bs->inventory[INVENTORY_HASTE] || bs->inventory[INVENTORY_INVISIBILITY] || bs->inventory[INVENTORY_REGEN] || - bs->inventory[INVENTORY_FLIGHT]) return qfalse; + //bs->inventory[INVENTORY_FLIGHT] || + bs->inventory[INVENTORY_SHIELD]) return qfalse; //must be on the ground //if (bs->cur_ps.groundEntityNum != ENTITYNUM_NONE) return qfalse; //do not chat if in lava or slime diff --git a/engine/code/game/ai_dmq3.c b/engine/code/game/ai_dmq3.c index 7a246477..25907233 100644 --- a/engine/code/game/ai_dmq3.c +++ b/engine/code/game/ai_dmq3.c @@ -1766,6 +1766,7 @@ void BotUpdateInventory(bot_state_t *bs) { bs->inventory[INVENTORY_ROCKETS] = bs->cur_ps.ammo[WP_ROCKET_LAUNCHER]; bs->inventory[INVENTORY_SLUGS] = bs->cur_ps.ammo[WP_RAILGUN]; bs->inventory[INVENTORY_BFGAMMO] = bs->cur_ps.ammo[WP_BFG]; + bs->inventory[INVENTORY_FLAMETHROWERAMMO] = bs->cur_ps.ammo[WP_FLAME_THROWER]; #ifdef MISSIONPACK bs->inventory[INVENTORY_NAILS] = bs->cur_ps.ammo[WP_NAILGUN]; bs->inventory[INVENTORY_MINES] = bs->cur_ps.ammo[WP_PROX_LAUNCHER]; @@ -1775,6 +1776,7 @@ void BotUpdateInventory(bot_state_t *bs) { bs->inventory[INVENTORY_HEALTH] = bs->cur_ps.stats[STAT_HEALTH]; bs->inventory[INVENTORY_TELEPORTER] = bs->cur_ps.stats[STAT_HOLDABLE_ITEM] == MODELINDEX_TELEPORTER; bs->inventory[INVENTORY_MEDKIT] = bs->cur_ps.stats[STAT_HOLDABLE_ITEM] == MODELINDEX_MEDKIT; + bs->inventory[INVENTORY_TURBO] = bs->cur_ps.stats[STAT_HOLDABLE_ITEM] == MODELINDEX_TURBO; #ifdef MISSIONPACK bs->inventory[INVENTORY_KAMIKAZE] = bs->cur_ps.stats[STAT_HOLDABLE_ITEM] == MODELINDEX_KAMIKAZE; bs->inventory[INVENTORY_PORTAL] = bs->cur_ps.stats[STAT_HOLDABLE_ITEM] == MODELINDEX_PORTAL; @@ -1788,6 +1790,7 @@ void BotUpdateInventory(bot_state_t *bs) { // STONELANCE // bs->inventory[INVENTORY_FLIGHT] = bs->cur_ps.powerups[PW_FLIGHT] != 0; // END + bs->inventory[INVENTORY_SHIELD] = bs->cur_ps.powerups[PW_SHIELD] != 0; #ifdef MISSIONPACK bs->inventory[INVENTORY_SCOUT] = bs->cur_ps.stats[STAT_PERSISTANT_POWERUP] == MODELINDEX_SCOUT; bs->inventory[INVENTORY_GUARD] = bs->cur_ps.stats[STAT_PERSISTANT_POWERUP] == MODELINDEX_GUARD; @@ -1807,6 +1810,12 @@ void BotUpdateInventory(bot_state_t *bs) { bs->inventory[INVENTORY_BLUECUBE] = bs->cur_ps.generic1; } #endif + //rally rearfire weapons + bs->inventory[INVENTORY_RWP_SMOKE] = bs->cur_ps.ammo[RWP_SMOKE]; + bs->inventory[INVENTORY_RWP_OIL] = bs->cur_ps.ammo[RWP_OIL]; + bs->inventory[INVENTORY_RWP_MINE] = bs->cur_ps.ammo[RWP_MINE]; + bs->inventory[INVENTORY_RWP_FLAME] = bs->cur_ps.ammo[RWP_FLAME]; + bs->inventory[INVENTORY_RWP_BIO] = bs->cur_ps.ammo[RWP_BIO]; BotCheckItemPickup(bs, oldinventory); } diff --git a/engine/code/game/g_missile.c b/engine/code/game/g_missile.c index 8e99f552..97f03553 100644 --- a/engine/code/game/g_missile.c +++ b/engine/code/game/g_missile.c @@ -1018,7 +1018,6 @@ gentity_t *fire_bfg (gentity_t *self, vec3_t start, vec3_t dir) { bolt->s.pos.trType = TR_LINEAR; bolt->s.pos.trTime = level.time - MISSILE_PRESTEP_TIME; // move a bit on the very first frame VectorCopy( start, bolt->s.pos.trBase ); - VectorScale( dir, 2000, bolt->s.pos.trDelta ); // STONELANCE // VectorScale( dir, 2000, bolt->s.pos.trDelta ); VectorScale( dir, 4000, bolt->s.pos.trDelta ); diff --git a/engine/code/game/inv.h b/engine/code/game/inv.h index 2f439933..1bcd7b7e 100644 --- a/engine/code/game/inv.h +++ b/engine/code/game/inv.h @@ -38,7 +38,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define INVENTORY_NAILGUN 14 #define INVENTORY_PROXLAUNCHER 15 #define INVENTORY_CHAINGUN 16 -#define INVENTORY_FLAMETHROWER 17 +#define INVENTORY_FLAMETHROWER 17 // rally //ammo #define INVENTORY_SHELLS 18 #define INVENTORY_BULLETS 19 @@ -48,31 +48,41 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define INVENTORY_ROCKETS 23 #define INVENTORY_SLUGS 24 #define INVENTORY_BFGAMMO 25 -#define INVENTORY_NAILS 26 -#define INVENTORY_MINES 27 -#define INVENTORY_BELT 28 +#define INVENTORY_FLAMETHROWERAMMO 26 // rally +#define INVENTORY_NAILS 27 +#define INVENTORY_MINES 28 +#define INVENTORY_BELT 29 //powerups -#define INVENTORY_HEALTH 29 -#define INVENTORY_TELEPORTER 30 -#define INVENTORY_MEDKIT 31 -#define INVENTORY_KAMIKAZE 32 -#define INVENTORY_PORTAL 33 -#define INVENTORY_INVULNERABILITY 34 -#define INVENTORY_QUAD 35 -#define INVENTORY_ENVIRONMENTSUIT 36 -#define INVENTORY_HASTE 37 -#define INVENTORY_INVISIBILITY 38 -#define INVENTORY_REGEN 39 -#define INVENTORY_FLIGHT 40 -#define INVENTORY_SCOUT 41 -#define INVENTORY_GUARD 42 -#define INVENTORY_DOUBLER 43 -#define INVENTORY_AMMOREGEN 44 -#define INVENTORY_REDFLAG 45 -#define INVENTORY_BLUEFLAG 46 -#define INVENTORY_NEUTRALFLAG 47 -#define INVENTORY_REDCUBE 48 -#define INVENTORY_BLUECUBE 49 +#define INVENTORY_HEALTH 30 +#define INVENTORY_TELEPORTER 31 +#define INVENTORY_MEDKIT 32 +#define INVENTORY_TURBO 33 // rally +#define INVENTORY_KAMIKAZE 34 +#define INVENTORY_PORTAL 35 +#define INVENTORY_INVULNERABILITY 36 +#define INVENTORY_QUAD 37 +#define INVENTORY_ENVIRONMENTSUIT 38 +#define INVENTORY_HASTE 39 +#define INVENTORY_INVISIBILITY 40 +#define INVENTORY_REGEN 41 +//#define INVENTORY_FLIGHT +#define INVENTORY_SHIELD 42 // rally +//missionpack +#define INVENTORY_SCOUT 43 +#define INVENTORY_GUARD 44 +#define INVENTORY_DOUBLER 45 +#define INVENTORY_AMMOREGEN 46 +#define INVENTORY_REDFLAG 47 +#define INVENTORY_BLUEFLAG 48 +#define INVENTORY_NEUTRALFLAG 49 +#define INVENTORY_REDCUBE 50 +#define INVENTORY_BLUECUBE 51 +//rally rearfire weapons +#define INVENTORY_RWP_SMOKE 52 +#define INVENTORY_RWP_OIL 53 +#define INVENTORY_RWP_MINE 54 +#define INVENTORY_RWP_FLAME 55 +#define INVENTORY_RWP_BIO 56 //enemy stuff #define ENEMY_HORIZONTAL_DIST 200 #define ENEMY_HEIGHT 201 @@ -100,52 +110,62 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define MODELINDEX_RAILGUN 14 #define MODELINDEX_PLASMAGUN 15 #define MODELINDEX_BFG10K 16 -#define MODELINDEX_GRAPPLINGHOOK 17 -#define MODELINDEX_FLAMETHROWER 18 +//#define MODELINDEX_GRAPPLINGHOOK +#define MODELINDEX_FLAMETHROWER 17 // rally -#define MODELINDEX_SHELLS 19 -#define MODELINDEX_BULLETS 20 -#define MODELINDEX_GRENADES 21 -#define MODELINDEX_CELLS 22 -#define MODELINDEX_LIGHTNINGAMMO 23 -#define MODELINDEX_ROCKETS 24 -#define MODELINDEX_SLUGS 25 -#define MODELINDEX_BFGAMMO 26 +//rally rearfire weapons +#define MODELINDEX_RWP_SMOKE 18 +#define MODELINDEX_RWP_OIL 19 +#define MODELINDEX_RWP_MINE 20 +#define MODELINDEX_RWP_FLAME 21 +#define MODELINDEX_RWP_BIO 22 -#define MODELINDEX_TELEPORTER 27 -#define MODELINDEX_MEDKIT 28 -#define MODELINDEX_QUAD 29 -#define MODELINDEX_ENVIRONMENTSUIT 30 -#define MODELINDEX_HASTE 31 -#define MODELINDEX_INVISIBILITY 32 -#define MODELINDEX_REGEN 33 -#define MODELINDEX_FLIGHT 34 +#define MODELINDEX_SHELLS 23 +#define MODELINDEX_BULLETS 24 +#define MODELINDEX_GRENADES 25 +#define MODELINDEX_CELLS 26 +#define MODELINDEX_LIGHTNINGAMMO 27 +#define MODELINDEX_ROCKETS 28 +#define MODELINDEX_SLUGS 29 +#define MODELINDEX_BFGAMMO 30 +#define MODELINDEX_FLAMETHROWERAMMO 31 // rally -#define MODELINDEX_REDFLAG 35 -#define MODELINDEX_BLUEFLAG 36 +#define MODELINDEX_TELEPORTER 32 +#define MODELINDEX_MEDKIT 33 +#define MODELINDEX_TURBO 34 // rally +#define MODELINDEX_QUAD 35 +#define MODELINDEX_ENVIRONMENTSUIT 36 +#define MODELINDEX_HASTE 37 +#define MODELINDEX_INVISIBILITY 38 +#define MODELINDEX_REGEN 39 +//#define MODELINDEX_FLIGHT +#define MODELINDEX_SHIELD 40 // rally + +#define MODELINDEX_REDFLAG 41 +#define MODELINDEX_BLUEFLAG 42 // mission pack only defines -#define MODELINDEX_KAMIKAZE 37 -#define MODELINDEX_PORTAL 38 -#define MODELINDEX_INVULNERABILITY 39 +#define MODELINDEX_KAMIKAZE 43 +#define MODELINDEX_PORTAL 44 +#define MODELINDEX_INVULNERABILITY 45 -#define MODELINDEX_NAILS 40 -#define MODELINDEX_MINES 41 -#define MODELINDEX_BELT 42 +#define MODELINDEX_NAILS 46 +#define MODELINDEX_MINES 47 +#define MODELINDEX_BELT 48 -#define MODELINDEX_SCOUT 43 -#define MODELINDEX_GUARD 44 -#define MODELINDEX_DOUBLER 45 -#define MODELINDEX_AMMOREGEN 46 +#define MODELINDEX_SCOUT 49 +#define MODELINDEX_GUARD 50 +#define MODELINDEX_DOUBLER 51 +#define MODELINDEX_AMMOREGEN 52 -#define MODELINDEX_NEUTRALFLAG 47 -#define MODELINDEX_REDCUBE 48 -#define MODELINDEX_BLUECUBE 49 +#define MODELINDEX_NEUTRALFLAG 53 +#define MODELINDEX_REDCUBE 54 +#define MODELINDEX_BLUECUBE 55 -#define MODELINDEX_NAILGUN 50 -#define MODELINDEX_PROXLAUNCHER 51 -#define MODELINDEX_CHAINGUN 52 +#define MODELINDEX_NAILGUN 56 +#define MODELINDEX_PROXLAUNCHER 57 +#define MODELINDEX_CHAINGUN 58 // @@ -158,7 +178,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define WEAPONINDEX_RAILGUN 7 #define WEAPONINDEX_PLASMAGUN 8 #define WEAPONINDEX_BFG 9 -#define WEAPONINDEX_GRAPPLING_HOOK 10 +//#define WEAPONINDEX_GRAPPLING_HOOK +#define WEAPONINDEX_FLAME_THROWER 10 // rally #define WEAPONINDEX_NAILGUN 11 #define WEAPONINDEX_PROXLAUNCHER 12 #define WEAPONINDEX_CHAINGUN 13 +