Skip to content

Changelog August 13th 2022

Vuthakral edited this page Aug 13, 2022 · 2 revisions
  • Global: New serverside function DRC:GetBestPlayerConnection() returns which player has the lowest ping value, and their ping.
  • Global: New serverside function DRC:RequestLightColour(ent) gets render.GetLightColor as a vector for serverside use, based off the player with the best connection. NOTE: With how this function works internally, in order to stay cost-efficient the first time it is called for an entity it will need to be called a second time to actually get the value returned. If your code is repeating you have nothing to worry about.
  • Global: New function DRC:EnvelopTrace(<entity> source, <entity> target, <bool> expensive). -- Note: Expensive check not implemented yet. A simple function used to check how obscured or enveloped one entity is from another. With expensive undefined or set to false it will simply perform one traceline from the source to the target to determine whether or not there is an obstruction.
  • Global: New clientside function DRC:DistFromLocalPlayer(<vector or entity> pos, <bool> squared) returns the distance to the local player's OBBCenter.
  • Global: Added table DRC.HelperEnts which can be used to exclude "helper" entities when trying to run code in contexts where using functions suchs as ents.FindInSphere or etc to prevent stuff from running on them, creating unnecessary performance cost.
  • Global/Internal: Removed sv_drc_callofdutyspread since it hasn't been connected with the base for over a year and a half and nobody even noticed (myself included, woops). It's something which can be done easily with custom lua per-weapon and would be annoying to maintain as part of the base anyways.
  • Global/Dynamic Particles: Added new lua function DRC:DynamicParticle(<entity or vector position> source, <number> magnitude, <number> length, <string> special, <entity or vector> target). Used to create a particle given the arguments listed. WIP. Will be detailed more on the wiki.
  • Dynamic Particles: Completely rewrote how the dynamic particles works internally, allowing me to create a true dynamic particle system like I wanted to from the start.
  • Dynamic Particles: Neutered the strength of the system as compared to the old one as to allow higher-powered Draconic explosive projectiles without causing a sandstorm.
  • Dynamic Particles: Rewrote or tweaked almost all the old particles.
  • Dynamic Particles: Added new dynamic material responses: dust, dirt, wood, metal, metalhollow, glass, shards.
  • Experimental First Person: Fixed offsets with TFA Base. Fully fixed sights with both TFA & ArcCW.
  • Thirdperson: Added a fallback offset for if a weapon is using some black magic and doesn't use a predefined holdtype.
  • Weapon Base/Player Extensions: Added a NWInt by the name of DRC_GunSpreadMod which is set to 1 by default. Can be used to multiply the spread of Draconic weapons on a per-player or per-NPC basis. (User request)
  • Weapon Base/Player Extensions: Added a NWInt by the name of DRC_GunDamageMod which is set to 1 by default. Can be used to multiply the damage of Draconic weapons on a per-player or per-NPC basis.
  • Weapon Base/Player Extensions: Added a NWInt by the name of DRC_MeleeDamageMod which is set to 1 by default. Can be used to multiply the damage of Draconic melee attacks on a per-player or per-NPC basis.
  • Weapon Base: Added function SWEP:HasViewModel() -- returns true/false if the weapon has a viewmodel, which also enables the ability to make weapons with no viewmodels.
  • Weapon Base: Added function SWEP:DoCustomReload() -- triggers on guns when the reload key is pressed, regardless of ammunition status.
  • Weapon Base: Firing animations now play in full when firing while in ironsights.
  • Weapon Base: Fixed an uncaught typo in code relating to viewmodel rolling effects.
  • Weapon Base: Synchronized the FOV zoom time with the time it takes for the sight to interpolate into position. (User request)
  • Weapon Base: Added a slight little motion when going into sights to make it feel less lifeless, even though it's admittedly pretty unrealistic. (User request)
  • Weapon Base: Added a notification on weapon initialize if it is missing a muzzle attachment.
  • Weapon Base: Fixed a redundant error which could occur during client initialization when another player melees on a server.
  • Weapon Base: Fixed an oversight which was causing errors when NPCs spawned with Draconic weapons.
  • Weapon Base: Changed how dynamic muzzle flashes appear, adding a slightly randomized duration which both makes them more consistent & believable.
  • Weapon Base/Crosshair: Added a small 3px dot which appears in the center of the screen when the user's aim is on a head hitbox.
  • Accessibility/Menu: Added Accessibility section to the Client Settings page of the Draconic Menu.
  • Accessibility: Added toggle to dim muzzle flash effects for photosensitive players (User request.)
  • Accessibility: Added a simple colour blindness filter to the accessibility section which includes choosing which type & a strength scale. This is meant to help players with minor or major colour blindness/deficiency that struggle to pick up on details due to a lacking contrast, not to "normalize" the game.
  • Menu: Removed old hardcoded thirdperson/shoulder swap from the controls list which I forgot to remove before.
  • Menu: Fixed errors with the "Apply Changes" button when customization was set to tweak only / disallowed.
  • Menu: Fixed sorting of arm model additions to the "Hands" section.
  • Menu: Added base-game c_arms to the model list.
  • Menu: Cleaned organization of client & server settings.
  • Menu: Added mouse-hover hints to a bunch of menu settings.
  • Attachment Base: Added missing material enum: MAT_AIRBOAT
  • Projectile Base: Implemented DRC:EnvelopTrace() to make it so it's actually possible to take cover from most explosive Draconic projectiles. (User request)
  • Projectile Base: added ENT.ExplosiveIgnoresCover = true/false
  • Projectile Base: Added function ENT:DoCustomPhysicsCollide(data, phys) (User request)
  • Projectile Base: Rewrote how physics launching code is calculated, the new method is much more accurate.
  • Default Projectile - drc_flame: Finalized code of projectile entity drc_flame. Simple flame with no gravity that lives between half a second to one second which can ignite nearby characters other than the player.
  • Default Projectile - drc_flame: Added specific setting ENT.DoParticle = true/flase, whether or not the entity should have a standard hl2 fire effect attached to it (aimed at use for flamethrowers with custom particles)
  • Default Projectile - drc_flame: Added specific setting ENT.IgniteChance = 1-100, pretty self explanatory. Chance to ignite things within close distance to the entity. Still deals nearby damage regardless of this setting.
  • VoiceSets: Made VS menu show keybind if one is bound for draconic_voicesets_menu_toggle on the cancel option.
  • VoiceSets: Added ability to define a DSP filter for voices, simply use ["DSP"] = xx. See https://developer.valvesoftware.com/wiki/Dsp_presets
  • VoiceSets: Added ability to override the DSP filter for the given player/entity. Simply set the NWFloat DRC_VoiceSetDSP to the desired DSP number. Set to 0 to disable. Usage example: ent:SetNWFloat("DRC_VoiceSetDSP", 38)
  • Debug: Added debug function DRC:RenderTrace(<traceinfo> trace, <color> colour, <time> lifetime in seconds). Can only be called in singleplayer for serversided elements, to avoid exploitation. Can always be called for clientside elements.
  • Other: Added a "Camera (DRC)" SWEP to the "Other" category. It's a smooth camera because I'm sick of the others that break CalcView hooks when left installed. Press R to open camera settings.
Clone this wiki locally