summaryrefslogtreecommitdiff
path: root/src/game/g_buildable.c
AgeCommit message (Collapse)Author
2013-01-03* Fix the order of the arguments to APropHovel_Blocked so that it's not ↵Christopher Schwarz
completely broken. Mysterious successes and failures of allowed hovel placement should no longer occur. * Prevent hovels allowing grangers to get outside the map, once again (thanks Rezyn)
2013-01-03* Fix for building spawns over marked buildables (fixes #14)Roman Tetelman
* Ignore marked buildables that the spawn will replace when checking for anything that will block it.
2013-01-03* (bug 3607) Hopefully fix the remaining hovel issuesM. Kristall
2013-01-03* redo hovel removal in a way that doesn't break log parsers (reported by msk)Roman Tetelman
2013-01-03Removing some unused variables and functionsBen Millwood
2013-01-03Smooth regenerationBen Millwood
A regen rate of 4 hp/s now means you regenerate one health point every quarter of a second (fixes #28)
2013-01-03* release build points from structures killed by deconstructed eggs instantlyRoman Tetelman
2013-01-03* Make medistation remove poison from all players that come in contact with itRoman Tetelman
not just the one who is being healed (fixes #19)
2013-01-03* remove hovel (fixes #26) (todo: go back and actually remove the code)Roman Tetelman
2013-01-03I am a proper noob.Ben Millwood
2013-01-03BP Queuing systemBen Millwood
* Remove humanBuildPointsPowered as it isn't used nor is it likely to be * Ensure that alien buildables no longer count for BP after they exploded * Don't restore the BP for a destroyed building as soon as it is destroyed - instead, add them to a global queue and restore them slowly, as determined by g_<team>BuildQueueTime * Remove G_IsOvermindBuilt in favour of level.overmindPresent which did pretty much the same thing This resolves issue #6
2013-01-03* allow repeaters to be built in range of the reactor (but not other repeaters)Roman Tetelman
2013-01-03* Allow boosters to give poison within the first 30 seconds of the gameBen Millwood
* Allow /noclip and /where to be used by spectators * Allow /noclip and /setviewpos to be used by specs even when cheats are off * Run PM_Weapon and set view height while noclipping * Make player speed while spectating or noclipping configurable via cg_flySpeed * Remove requirement for cgame's cvartable to have a non-null vmCvar pointer * Make PM_Paralyzed a macro and add a similar category, PM_Live * Stop dretches from biting dead buildings
2013-01-03 * Add BG_EventName and use it to simplify a series of debugging messagesBen Millwood
* Correct crouch check in ClientTimerActions * Ensure animation togglebit on buildables is only used once per frame (bug 3377) * Make G_FloodLimited more robust and with a pointlessly informative return value * Add a brief comment to the G_SayArg* functions to explain their purpose, which wasn't at all clear to me until I experimented with them * Remove more redundant va()s * Remove an unused variable and associated functions that were causing a compiler warning
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