summaryrefslogtreecommitdiff
path: root/src/game/g_buildable.c
AgeCommit message (Collapse)Author
2013-01-03* Add functions G_TeamName and G_TeamFromStringM. Kristall
* Log team changes whenever a team change occurs (not just when using /team) * Do not allow admins without ADMF_CAN_PERM_BAN (flag 8) to remove or modify permanent bans
2013-01-03* (bug 3606) Partial fix for this bug: spawns explode when near other buildablesChristopher Schwarz
* Prevent building a spawn in a place where it would explode by unbreaking such checks during G_CheckSpawnPoint() (thanks DevHC) * When a new buildable is created that blocks an existing spawn, have the spawn kill the new buildable instead of killing itself. * Ideally someone would be prevented from building something to cause this case, but as no one has yet come up with an acceptable implementation, this change is an improvement to prevent griefer use of the bug until then.
2013-01-03* (bug 2965) Strip colour codes from log messages (Ben Millwood)M. Kristall
* (bug 3596) Buying a battlesuit allows player to pass through some map geometry (/dev/humancontroller) * (bug 3679) Remove redundant stage trigger checks (Chris "Lakitu7" Schwartz) * (bug 3761) selling all upgrades removes energy ammo (/dev/humancontroller) * Remove some duplicate code * !showbans did not properly show all valid bans when some bans had expired * Log renames between ClientConnect and ClientBegin
2013-01-03* players dying to structures no longer give full credit towards stagesRoman Tetelman
* credit for damage done is reset when a player/structure heals to full
2013-01-03* (bug 3629) OB1/buffer overflow (Azrael07)M. Kristall
* (bug 3290) Revert r966 and use a less hacky fix
2013-01-03* Replace reams of BG_Find* functions with: BG_Buildable, BG_Class, BG_Weapon,Tim Angus
BG_Upgrade * Move "overrides/*" to "configs/" and remove all the overriden data from bg_misc.c, instead requiring it to be in the cfg files * Add cfg files to source control * Clean up some naming and typing issues
2013-01-03* Merge clientSession_t::sessionTeam and clientSession_t::spectatorStateTim Angus
* Remove existing team_t (TEAM_FREE, TEAM_SPECTATOR) * s/pTeam_t/team_t/;s/buildableTeam_t/team_t/;s/WUTeam_t/team_t/ * s/pClass_t/class_t/ * s/PERS_TEAM/PERS_SPECSTATE/ * s/STAT_PTEAM/STAT_TEAM/;s/STAT_PCLASS/STAT_CLASS/
2013-01-03* Consolidate memory allocation into bg_alloc.cTim Angus
2013-01-03* (bug 3057) Granger breaks under certain conditions (Risujin)M. Kristall
* (bug 3256) G_admin_print to a tty should not decolour if com_ansiColor is set (Ben Millwood) * (bug 3392) Console is affected by flag @ (Chris "Lakitu7" Schwarz) * Automatically load default admin levels when g_admin is disabled, since admin commands can still be used (since r894) * Make return value of G_SelectiveRadiusDamage useful and use it for Overmind and Reactor attacks * /entitylist was skipping entity 0 * Check original search string against IP and slot number for !ban * Preserve score and ping so they are always reported correctly * Random refactoring and formatting fixes
2013-01-03New build error and corresponding menu for attempted deconstruction of the ↵Ben Millwood
last spawn
2013-01-03Quashed a pair of warnings.Michael Levin
2013-01-03* Buildable health accuracy increased to 8 bits, flags moved to eFlags (EF_B_*)Michael Levin
* Fixed Tesla Generator not firing over turrets or missing small aliens entirely -- it now shoots from the top of its bounding box to the top of its target's bounding box * Dying, evolving, or changing teams properly resets the weapon Flame thrower changes: * Reverted flame thrower missile radius to 15 * Muzzle is offset for flame thrower to shoot from the hand
2013-01-03* (bug 3480) A reactor that has not yet exploded still gives power (benmachine)Tim Angus
* (bug 3492) G_SelectiveRadiusDamage called too many times in HReactor_Think (benmachine) * (bug 3497) Wrong variable is compared to MAX_ in G_admin_readconfig (benmachine)
2013-01-03* Lucifer Cannon projectile and bounding box shrunk a little to fit muzzle ↵Michael Levin
box restrictions * Buying a weapon with a number greater than 15 while having a Construction Kit will not give you zero ammo * Human viewheight shrunk to prevent flamer and new Lucifer Cannon shots from exploding inside the ceiling because on account of the muzzle box -- better aligned with the model now too. This should prevent the flamer from burning people in vents. * Some BG functions made more efficient; BG_GetPlayerWeapon should be used to get a Human's weapon because it may be switching * Adv. Dragoon barbs regenerate 10 seconds after being shot, not at regular intervals * Build weapons should no longer need to be in a block in bg_public.h * Tremulous doesn't use multiple weapons but the G_GiveClientMaxAmmo function will properly restore regular ammunition when a energy weapon is selected * MN_H_NOENERGYAMMOHERE obsolete; Changed some text to acknowledge that energy ammo is now available at armoury * Particles can set 'physicsRadius #' to use a fixed bounding box for collisions * Various HUD elements will immediately update to the new weapon when switching weapons Flamer changes: * Bounding box shrunk slightly * Client-side particles now used a static bounding box that matches the server projectile
2013-01-03* Lucifer cannon projectile a little bigger with chargeMichael Levin
* Sitting on a booster won't make it blink the warning bolt (SS_BOOSTEDWARNING), also made the warning fade * Lucifer Cannon repeat rates fixed * G_Damage() wont deal damage to dead entities * Maybe fixed the buildable killed with shotgun won't show dying anim bug * Attacked hives won't attack back when the OM is dead * The monstrous hive bounding boxes shrunk to something reasonable * Tesla Generator muzzle offset to the ball part, now fires over turrets * HUDs can make vertical charge bars * Human charge bar no longer overlaps scanner * "There are no spawns remaining" Changes to trample attack: * No longer deals locational damage (wtf?) * Charge "holding" restored * Hit repeat rate limited to 50 ms Changes to health cross icons: * Inspired by Techhead, made new icons (sorry, yours didn't look so good in game :-\ ) * Icons fade from one to another * Switched SS_HEALING_2X and SS_HEALING_ACTIVE meaning for Humans -- glows when on medi station, special icon for medkit * Poisoned icon for humans (Techhead's idea)
2013-01-03* Gave Painsaw a crappy looking crosshairMichael Levin
* Change turret behavior again to make them even dumber (will not stay "spun up" anymore or retarget without spinning up again) * DCC will not complain about an attack when something is deconstructed * Fixed "\sell upgrades" command emptying energy weapons when a battery pack was sold with it * Spectators moving to lock view points now set teleport bit, hopefully prevents the ugly lerping Hive changes: * Will not fire unless the missile can actually hit * Will fire from the hive tip rather than the center * Fixed broken code that made hive fire when shot from out of hive range
2013-01-03* Added charge meter to the UI, can be disabled via GUIMichael Levin
* Trample and Lucifer Cannon charging reworked and moved to PMove * Can no longer "cancel" a charging Lucifer Cannon * STAT_MISC2 is now unused, booster and charge information can be inferred elsewhere (STAT_UNUSED) * Trying to fire an empty weapon makes a clicking noise (also a bugfix, apparently the server would spam EV_NOAMMO which did nothing but is now used for the clicking noise -- audible to all players) * Created an alternate, muffled Lucifer Cannon warning noise for other people's Lucifer Cannons * Fixed bug which prevented players from switching to a different player while spectating someone in the spawn queue * Spectators are now properly moved to the lock view position when spectating a player in the spawn queue
2013-01-03Server logs look weird with MOD_SUICIDE listed as method of death for ↵Michael Levin
buildable deconstruction. Added two new MODs, MOD_DECONSTRUCT and MOD_NOCREEP for more descriptive reasons.
2013-01-03* Reworked the dialog code a bit, removed some redundanciesMichael Levin
* Commented out the CMD_* dialog long messages -- probably never accessed from the GUI! * Converted some more prints into MN_* messages * Introduced a two-argument 'servermenu' to pass arguments to CG_Menu() -- menus can refer to classes etc now * Converted UI 'Disable Warning Dialogs' to a multi-item ('no', 'print to console', 'yes') * Removed some unused dialogs
2013-01-03* Shut up some compiler warnings (but not all of them)Ben Millwood
* Move ClientCommand error messages to menu system * cg_disableWarningDialogs 2 == no messages at all * decide clientside what kind of dialog to use and merge some redundant menus as a result * add spec dialog (pretty much identical to human/alien dialogs)
2013-01-03Fixed benmachine's sed n00bery.Michael Levin
Changes to buildable deconstruction reporting: * Unmarked buildables that are killed by deconstructing their creep source are reported as destroyed * Killing a marked buildable does not generate a DESTROYED message * When a buildable is deconstructed, any damage dealt to it by players will be rewarded
2013-01-03 * Renamed some enum stuff to be more descriptiveBen Millwood
* Fiddled with Cmd_Build_f so some (more) build errors will give a red blueprint
2013-01-03* Turrets back to their "dumb" behaviorMichael Levin
Pounce changes: * Mechanics simplified, descriptions in tremulous.h * Client side prediction (no jerkiness) * Pounce will gradually cancel if released in midair or release with insufficent charge
2013-01-03* Fixed up credits help pageMichael Levin
Alien buildables: * Killing an egg will give you credit for all buildables that have lost creep because of it * Some general cleanup, more functions turned into AGeneric_* * Repeated Alien buildable blast damage fixed, also deals damage when it explodes rather than later * Blast radius increased slightly for eggs and acid tubes to account for the bug fix
2013-01-03* Started updating infopanes with Badger, need to do moreMichael Levin
* Fixed a bug where regular Basilisk would not heal faster by a booster sometimes (found thanks to new GUI indicator!) * Un-reverted Lucifer Cannon sound heard by others, with Norf's blessing * Added a Help menu listing mod changes and other stuff (ESC -> Help), edit ui/help.txt * Human HUD item list will now wrap around so that it never hides items, also made it a little wider GUI cross changes: * Human GUI health cross glows when medkit is active * Alien GUI health cross glows when on creep * Double, triple healing rates show as multiple crosses
2013-01-03Shut up compiler warnings (and possible bugfix)Ben Millwood
2013-01-03* Turrets are smarter and will fire if they can hit their target rather than ↵Michael Levin
when perfectly aligned * Also added two turret params: spin duration and spin down time which give finer control over turret behavior (set their values to minimum) * Fixed some patch problems, spacing and duplicate code * Fixed Sprint/Dodge binding through menu * Tutorial text size shrunk * ALL clients lose their credits entirely when switching teams
2013-01-03* Mass Driver will only shoot through players and buildablesMichael Levin
* Killing buildables nets a reward (tweak in tremulous.h) * Removed some spurious comments and unused defines from tremulous.h
2013-01-03* Per Lakitu7's suggestion, changed spectator bounding box to match the ↵Michael Levin
dretch bounding box. Prevents spectators from getting stuck in the floor. * Buildables round their health up when encoding health information for transmission, no more 0 hp buildables that aren't dead * Removed the devmap credits hack I put in earlier * Can now use \itemact weapon to switch to weapon, also \itemact weapon/blaster will not repeatedly force a weapon change if that weapon is already selected * Options menu entry for "Sprint" changed to "Sprint / Dodge" with correct bind (+button6) Norfenstein decided to switch to fractional "frags" (aka evos) for Aliens: * BG_ClassCanEvolveFromTo rewritten to be more robust in case classes are shuffled around later * CG_AtHighestClass and BG_UpgradeClassAvailable merged into BG_AlienCanEvolve * Changed BG_GetValueOfHuman to BG_GetValueOfPlayer which now accomodates Aliens too * Aliens now must receive 400 credits per frag point (9 evos = 3600 credits!) * Aliens can only spend whole points * TK/Suicide penalties moved to tremulous.h and converted to credit values * Complex nasty Alien land goes bye-bye
2013-01-03* I'm sick of entering \give 9999 every time I need to test something. ↵Michael Levin
Whenever cheats are enabled, players spawn with half-full credits. * Reactor used to deal more damage to each Alien when multiple Aliens attacked it, fixed to ONE radius damage call. Extensive visual modifications to Mass Driver: * Added a short, briefly-displayed pseudo-trail * Impact system modified to have a large impact sprite and otherwise be more consistent with Lasgun * Added several files for the trail and shader * Firing code modified to generate visually correct trails and impact positions * Added a new event for Mass Driver trails, doubles as impact event to save bandwidth The Mass Driver trail extends from the gun rather than the muzzle to be more visually realistic. Shooting it from the muzzle prevents you from even seeing the trail and in 3rd person looks very wrong. The downside to the shifted origin is that the impact positions (multiple hits only) are not aligned with the beam. Had to add a good bit of complicated, mathy code to generate impact events in visually accurate locations. Looks damn good though.
2013-01-03ACIDTUBE_REPEAT is now the actual repeat rate for Acid tube fire.Michael Levin
Removed the redundant AAcidTube_Damage pseudo-think function.
2013-01-03* Acid tube animation fixed (used to include part of dying animation!)Michael Levin
* Acid tube splash damage (from exploding) separated from attack damage, new variable added to tremulous.h to control that and the animation * Class X not allowed at stage # fixed to show the right stage number * Whether or not the mass driver will shoot through objects can be toggled from tremulous.h, don't forget to save g_weapons.c or 'make clean' to get the change compiled!
2013-01-03Added armour files to version control.Michael Levin
2007-12-01* (bug 3451) Widen name column in scoreboard (thebenmachine)Tim Angus
* (bug 3452) Cancel suicides when entering hovel (thebenmachine)
2007-11-28* Don't test for spawn removal when building if there are no spawnsTim Angus
(benmachine) * Don't test for spawn removal when cheats are enabled (benmachine)
2007-09-27* (bug 3249) Improve repeater interaction with marked deconstructionTim Angus
* (bug 3321) Allow medkits and medistats to operate simultaneously * (bug 3310) Fix odd CalcMuzzlePoint implementation * Random refactoring of g_buildable.c * Add BG_GetClientNormal
2007-09-26* Allow unique buildables to be replaced by non-unique buildablesTim Angus
* Explicitly disallow the overmind/reactor to be replaced by other buildables * Some whitespace fixes
2007-09-25* Fix a few warnings introduced by the previous revisionTim Angus
2007-09-25* Remove B_REMOVED_TOGGLEBIT, use ps->misc per player insteadTim Angus
* Fix last spawn and uniqueness tests for marked deconstruction * Fix buildable collision tests for non-marked deconstruction * New g_markDeconstruct settings to guard against abuse + 0 off + 1 on, no replacements allowed + 2 on, replacements allowed of same type + 3 on, any replacements allowed * Unlink then relink all buildables when doing build tests * Fixes to tutorial text for marked deconstruction * Remove unused "weaponswitch" client command
2007-09-24* Highlight marked buildables that will be removed by building a newTim Angus
buildable
2007-09-23* Revert 898 and 899 (marked buildable replacement) and rewriteTim Angus
2007-09-22* (bug 3309) Fix to angle clamping (/dev/humancontroller)Tim Angus
* (bug 3298) Boosters still heal and give poison when dead (David Severwright) * (bug 3070) Check map rotation targets exist during compilation * (bug 3282) Add missing terminating ^7 to chatText (Ben Millwood) * (bug 3357) Extend obituary name length to MAX_NAME_LENGTH (Rocinante)
2007-08-30* (bug 2989) committed the wrong patch for this bug originally (thanks Jacques)Tony J. White
2007-08-12* (bug 3290) grangers outside the map (hovel bug)M. Kristall
2007-07-09* (bug 3242) use correct medistat animation when unpowered (David Sev)M. Kristall
2007-06-05(bug 3104) save the correct variables for players who disconnect and come backM. Kristall
(bug 3161) do not allow two clients to have the same name (Chris Schwarz) (bug 3205) let aliens move eggs when humans only have one node (Roman Tetelman)
2007-04-10* g_layoutAuto was not selecting a random layout properlyTony J. White
2007-03-25* ingame menus redesignedTony J. White
* spectators can now participate in non-team votes * added teamvote "admitdefeat" * replaced "nextmap" vote with "draw" * removed vote "clientkick" vote (uses "kick" instead) * removed teamvote "teamclientkick" (uses "kick" instead) * renamed teamvote "teamkick" to teamvote "kick" * added teamvote "denybuild" and "allowbuild" * added vote "mute" and "unmute" * added !denybuild and !allowbuild g_admin commands * added /ignore and /unignore commands (and menu support) * Game -> Info (formerly About) shows server settings instead of local ones * Voting keys can now be configured in the Options menu * Voting key binds now display with the vote status (F3 and F4 will be the eventual default binds for "teamvote yes" and "teamvote no" respectively)
2007-03-21* new 2D status bars for buildingsTony J. White
* spawns never show the ¨no power¨ icon since they don't need reactor/overmind * alien buildings that require the overmind to function will now show the "no power¨ icon when the overmind is down
2007-03-16* (bug 2989) my last "stfu overmind" patch did just the opposite whenTony J. White
timelimit was infinite. Now it's tracked properly with level.overmindMuted instead of using the time hack.