summaryrefslogtreecommitdiff
path: root/src/game/g_buildable.c
AgeCommit message (Collapse)Author
2013-01-03Display 0 BP during SDBen Millwood
2013-01-03Don't unpower more than the BP a power source can supply correctlyBen Millwood
2013-01-03The reactor can only power as much BP as it can hold, and marked unpowered ↵Ben Millwood
buildables don't give free BP
2013-01-03Fixes to alien BP counting and markdeconBen Millwood
2013-01-03Queue BP when incomplete buildables are destroyedBen Millwood
2013-01-03Fix some bugs with Zone BPBen Millwood
* Repeaters can no longer be placed inside of another power zone * Temporarily use the nearest source of power instead of * combinations until shared power sources is correctly supported
2013-01-03Zone BP updates, and a minor bug fixBen Millwood
* Add g_humanRepeaterAllowOverlap defaulting to 1 * Add a build error message when building a repeater would cause a power zone to overlap * Lower DC range from 10,000 -> 1,000 * Repeaters will suicide if they are *inside* of another power zone * Unpowered buildables no longer take away BP from the main reactor zone * Repeaters will only power the BP that can be built from them * Repeaters can now be moved * Don't set s.misc anymore since BP is calculated server-side * Fix G_IsDCCBuilt( ) so that it can return true even if a DC is built farther than DC_RANGE units from position 0, 0, 0
2013-01-03Queue buildpoints in main zone and unpowered buildablesBen Millwood
2013-01-03Minor cleanups to zone bpBen Millwood
* Move power zones into level_locals_t * Dynamically allocate the array, removing MAX_ZONES restriction
2013-01-03Zone BPBen Millwood
2013-01-03* Restructure G_WideTrace a bitTim Angus
* Fix a load of 1.f style floats to 1.0f
2013-01-03* Various changes resulting from sanity checking against mgdev HEADTim Angus
2013-01-03* Fix mem leak in G_LayoutLoad() (thanks Byron Johnson)Christopher Schwarz
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