Skip to content

Changelog August 5th 2024

Vuthakral edited this page Aug 5, 2024 · 2 revisions
  • Weapon Base: Fixed battery weapons having infinite ammo due to an oversight of old long-deprecated code bits.
  • Weapon Base: Fixed SWEP.HideImpacts
  • Weapon Base: Fixed burst fire having zero delay between bursts, which was unintentionally introduced when the firing mode was rewritten internally from a string identifier to an integer identifier.
  • Weapon Base: New setting SWEP.FireModes_BurstDelay = -- nil by default. Used to define a specific time of delay between burst fire shots. Number is in seconds. If left undefined the base will try to automatically determine a delay on its own.
  • Weapon Base: Fixed firing sounds playing multiple times in burst fire if the sound used was all three shots in one file.
  • Weapon Base: New setting SWEP.ManualReloadAutoLoop = true -- Set to false in your SWEP code if you want to have the old behaviour of needing to hold the reload key to load individual rounds.
  • Weapon Base: New setting SWEP.LoadAnimationTP = -- nil by default, if defined it will play an activity on the player/npc using this weapon when a manual load is triggered.
  • Weapon Base: New setting SWEP.Primary.ActOverride = -- nil by default, if defined it will force this weapon to use the given activity as the attack animation. If an activity defined in here is invalid the base will automatically fall back to the stock animation for the weapon's active holdtype.
  • Weapon Base: New setting SWEP.Secondary.ActOverride = -- nil by default, if defined it will force this weapon to use the given activity as the attack animation. If an activity defined in here is invalid the base will automatically fall back to the stock animation for the weapon's active holdtype.
  • Weapon Base: New setting SWEP.Primary.ReloadAct = -- nil by default, if defined it will force this weapon to use the given activity as the reload animation. If an activity defined in here is invalid the base will automatically fall back to the stock animation for the weapon's active holdtype.
  • Weapon Base: New setting SWEP.Secondary.ReloadAct = -- nil by default, if defined it will force this weapon to use the given activity as the reload animation. If an activity defined in here is invalid the base will automatically fall back to the stock animation for the weapon's active holdtype.
  • Weapon Base: New setting SWEP.Secondary.UsesPrimaryMag = true/false -- false by default, makes it so a secondary attack takes ammo from the primary magazine instead of the secondary.
  • Weapon Base - Melee: SWEP.Primary.CanAttackCrouched is now true by default.
  • Weapon Base: New setting SWEP.Sway_IsShouldered = true/false -- nil by default. If left unset it will automatically set itself based on the weapon's holdtype. Used to determine if horizontal sway should be shoulder-originated (true), or centered (false).
  • Weapon Base: New setting SWEP.Sway_OffsetPowerPos = Vector() -- Default is Vector(, 1, 1).
  • Weapon Base: New settings SWEP.Sway_OffsetPowerAng = Vector() -- Default is Vector(1,1,1).
  • Weapon Base: New setting SWEP.ThirdPersonProfileOverride = . Used to enforce a custom thirdperson camera profile on specific weapons (see thirdperson section in the changelog further down).
  • Weapon Base/Internal: the convar sv_drc_force_sprint 0/1 is now sv_drc_force_sprint 0/1/2 -- 0: SWEP setting, 1: Force sprint, 2: Force-disable sprinting.
  • Projectile Base: New setting: ENT.StickSound = -- sound to play when a sticky projectile sticks to something.
  • Projectile Base: New setting: ENT.MaxBounces = -- 0 by default.
  • Projectile Base: New setting: ENT.BounceChance = -- 100 by default. 0-100. If this chance value isn't meant, projectile instantly triggers instead of bouncing.
  • Projectile Base: New setting: ENT.BounceMaxAngle = -- 30 by default. 0-180. If set to 0 there will be no angle limit.
  • Projectile Base: New setting: ENT.BouncePreservesSpeed = -- true by default. Will ensure a projectile keeps its starting speed after bouncing when created using DRC:CreateProjectile().
  • Projectile Base: New setting: ENT.BounceCharacters = -- false by default. If set to true it will enable projectiles to bounce off of characters.
  • Projectile Base: New setting: ENT.BounceVehicles = -- false by default.
  • Projectile Base: New setting: ENT.BounceDestructibles = -- false by default. If set to true it will enable projectiles to bounce off of destructible objects, i.e. explosive barrels, Half-Life 2 crates, etc.
  • Projectile Base: New setting: ENT.BounceSound = -- sound to be played when a projectile bounces.
  • Projectile Base: New setting: ENT.BounceSurfaces =
  • -- I for once advise checking the base code to see this one. It is a list of material types for which bouncing should or should not happen on.
  • Projectile Base: New setting: ENT.PCFEffect = -- Idle effect, created once per effect tick interval on the projectile.
  • Projectile Base: New setting: ENT.PCFSpawnEffect = -- faces direction of projectile.
  • Projectile Base: New setting: ENT.PCFLuaExplEffect = -- faces opposite direction of impact.
  • Projectile Base: New setting: ENT.PCFSuperLuaExplEffect = -- faces Angle(0,0,0).
  • Projectile Base: New setting: ENT.RemoveEffect = -- lua effect to be done when the projectile is removed by any means.
  • Projectile Base: New setting: ENT.PCFRemoveEffect = -- same as abobe but for PCF particles. Uses projectile's angle as forward.
  • Projectile Base: Added function ENT:DoCustomRemove()
  • Projectile Base: Added function ENT:DoCustomStick(data, entity) -- data is the physics collide data, entity is the entity being stuck to.
  • Ammo Station: New setting: ENT.SpecificAmmoType = -- nil by default. If defined it will make the ammo station usable regardless of equipped weapon, and ignore whitelist requirements to be used. If the station still has a whitelist then it will return whatever that weapon's ammo type is regardless of this setting.
  • Shields: New setting "Model", used to override the model to use for the shield. If overridden it will not bonemerge & will instead use the entity's angles & center position for its placement.
  • Shields: New setting "BaseScale", Vector. Overrides the base scale, intended for manually set models.
  • Shields: New setting "BaseOffset", Vector. Adds an offset in local position, intended for manually set models.
  • Internal: New function DRC:CreateCorpse(entity, lifetime, optional mass, optional material name) -- creates & returns a funny little entity that plays a death animation, falling animations, and a ground idle animation a la Halo CE. Inherits the model & customization from the entity it is created from. Mass override is optional, default is 200. Material name override is optional, and is the surface type such as "gmod_bouncy" or "metal_bouncy", for example.
  • Internal: New convar sv_drc_funnyplayercorpses 0/1 (default 0) -- make players create drc corpses instead of standard ragdolls on death.
  • Internal: New* function DRC:GetConeTarget(source , distance , degrees , angleoverride ) -- Yoinked code from the weapon base to be a globally-usable function.
  • Internal: Altered how the colour-blindness filter works. Due to a change in how Garry's Mod renders things it can no longer alter HUD colours otherwise it would make the console invisible for some reason.
  • Internal: Added a check for "prop_vehicle_choreo_generic" to not check for active thirdperson, since it doesn't support it.
  • Internal: New function DRC:CopyCustomization(ent1, ent2) -- Because I've had to write it like six times now, I've instead added a function for copying the player customization values of one entity to another directly. (colours, skin, bodygroups, etc.)
  • Draconic Menu: Fixed a lot of broken formatting on the "Server Settings" tab.
  • Draconic Menu: Added more explanation hover boxes to the "Server Settings" tab.
  • Draconic Menu: Replaced "All Draconic weapons use passive sprint" checkbox with new "DRC SWEP Sprint" dropdown on the right-hand side of the panel.
  • Draconic Menu: Moved thirdperson to its own tab within "Settings & Tools".
  • Draconic Menu: Added some new settings to the debug information subtab.
  • Draconic Menu: In the debug information subtab "Dynamic Shadows" is now "Projected Shadows" as it is more accurate, and a new value titled "Dynamic Shadows" has been added which displays r_shadow_allowdynamic.
  • Draconic Menu: Added "Dynamic Upward Shadows" to the debug information subtab.
  • Draconic Menu: Added "Asynchronous Sounds" to the debug information subtab, and informs the user that it breaks DSP and should not be used.
  • Draconic Menu: Added a "Copy optimal configs to clipboard" button to the debug information subtab for ease of adding configs to an autoexec.
  • Third Person: Removed client convar for disabling freelook.
  • Third Person: Long-overdue removal of the fake hl2 crosshair replacer, ever since the game was given a new customizable default that can't be hooked.
  • Third Person: Fixed the fake head-rotation from freelook applying 24/7 when in thirdperson. It now correctly only runs when freelook is active.
  • Third Person: Fixed thirdperson using its last active position when toggling it back on after exiting it previously. It now zooms out from the player whenever turned on.
  • Third Person: Added thirdperson customization mode, UI, and preset saving & loading.
  • Third Person: Added "origin positions" and "focal positions" system. This allows users to define the start & endpoint of what the thirdperson camera system's goals should be. Currently, origins are "Pelvis" (old default), "Head", and "Center". Focals available currently are "Player view" (old default), and "Hit position".
  • Third Person: Integrate interpolation into the customizable settings.
  • Thidperson/Weapon Base: New setting SWEP.ThirdPersonProfileOverride =
  • -- nil by default, if defined it will force Draconic's Thirdperson system to use this table of settings as if it were a preset instead of whatever preset the player has loaded. Intended for specially-scripted camera systems for gamemodes or very special weapons.
  • Internal/Third Person: Added new console command draconic_thirdperson_openeditor for quick-access to the camera editor.
  • Internal/Third Person: Added new console command draconic_thirdperson -- shorter version of already-existing draconic_thirdperson_toggle.
  • Experimental First Person: Fixed support for Modern Warfare Base weapons.
  • Material Proxies: Made $energy_Mul work with general use of the Energy Colour matproxy instead of being unique to shields.
  • Material Proxies: Fixed an error with the Function matproxy when trying to pull player armour (suit power).
  • Material Proxies: Fixed an error with the Function matproxy when weapon-targeting functions were being called on props.
  • Material Proxies: Fixed FakePSX not playing idle animations on players, holding their cycle indefinitely. They now animate as-intended at the framerate interval.
  • Material Proxies: Made FakePSX account for camera's base distance from the player when applying the effect to the localplayer with Draconic's thirdperson enabled.
  • Material Proxies: Made FakePSX set its custom cycle to 0 when used on player & they jump, fixing jumping animations sometimes not working.
  • Material Proxies: Lowered strength of the distortion effect on c_hands.
  • Material Proxies: Added "ShiftPower" arg to ReflectionTint proxies. This is used to increase/decrease how much tinted colour is inherited from a given channel. I know using an arg is inconsistent with everything else, but it's the only way for it to work. Defaulted at 1 as to not break any existing content.
  • VoiceSets: Added several new subcalls (user request):
    • Actions -> Vehicle_Enter
    • Actions -> Vehicle_Exit
    • Reactions -> Splatter
    • Pain -> Vehicle_Collide
    • Pain -> Vehicle_Collide_Hard
  • VoiceSets: Added new category "Idle" (user request):
    • Idle -> Generic
    • Idle -> Injured
    • Idle -> InjureThreshold (decimal for percentage by which below this "Injured" sounds will be used if defined)
    • Idle -> Delay_Min (seconds)
    • Idle -> Delay_Max (seconds)
  • VoiceSets: Added new category "Breathing" (user request):
    • Breathing -> In_Idle
    • Breathing -> Out_Idle
    • Breathing -> Delay_Idle (seconds) This section also includes the following optional contexts that all fall back on Idle's as a default: Crouch, Run, Sprint. i.e. "In_Idle_Run", "In_Idle_Crouch", "In_Idle_Sprint"
  • Miscellaneous: convert weapon drc_cubemap from melee base to gun base, delete drc_cubemap2. It's functionality has been replaced by just using ironsights on drc_cubemap.
Clone this wiki locally