Skip to content

Changelog May 16th 2022

Vuthakral edited this page May 16, 2022 · 1 revision
  • Global: Added lua function DRC:GetBones(ent) -- returns a table of bones from an entity, and a subtable for the bone with its postion & angle.
  • Global: Added lua function DRC:GetOS() -- returns the operating system the caller is running on. E.g. if called on the server it will return what OS the server is running on, if called on the client it will return the OS of the local player.
  • Global: Added lua function DRC:GetPower() -- returns the battery level of the current machine (or just "Desktop" if it doesn't use one).
  • Global: Added lua function DRC:GetServerMode() -- returns a string for the type of server you are currently in (sp/listen/dedi)
  • Global: Projectile EMP function has been rewritten as a new lua function, DRC:EMP(source, target, time, sound, effect), so that anyone can use EMP functionality in their own content.
  • Global: Added NPC sound Hint support for DRC:EmitSound(), the function is now formatted as DRC:EmitSound(source, near, far, distance, hint). See https://wiki.facepunch.com/gmod/Enums/SOUND for Enums to use for the hint value.
  • Glboal: Added lua function DRC:IsCharacter() -- I added this because I was sick & tired of having to write out checks for if an ent is a player, npc, or nextbot. So this just covers all three. Will return true if the given entity is a Player, NPC, or NextBot. False for anything else.
  • Global/Shields: Added lua function DRC:SetShieldInfo(entity, bool, table) -- Used to setup a shield on a given entity.
  • Global/Shields: Added lua function DRC:GetShield(entity) -- If called on client, in order, it returns the current shield health, the max shield health, and the shield entity. If called on the server it returns the shield health & the max shield health of the given entity.
  • Global/Shields: Added lua function DRC:AddShield(entity, amount) -- Adds shield amount to the given entity if it has a DRC shield. Clamped by its max amount.
  • Global/Shields: Added lua function DRC:SubtractShield(entity, amount) -- Subtracts shield amount from the given entity if it has a DRC shield.
  • Internal: DRC:GetThirdPerson() is now the intended function to use for checking thirdperson being enabled on a player. ThirdPersonModEnabled() is now used internally & does not cover all use cases.
  • Internal: DRC:GetThirdPerson() now covers traditional vehicle thirdperson.
  • Internal: DRC:GetThirdPerson() now checks for "Simple Thirdperson".
  • Internal: Moved the EntityTakeDamage hook from lib.lua to server runtime.lua, which should make it more stable when developing more volatile scripts that mess with the base.
  • Internal: Weapons now automatically update their owner to a null entity upon being dropped.
  • Internal: Weapon swapping animations now play properly for ASTW2 weaponry.
  • Internal/Thirdperson: DRC Thirdperson check now returns true if an ASTW2 weapon is active on the target. (DRC Thirdperson can still overwrite it if turned on)
  • Menu: The playermodel preview is now using an adjustable model panel, since I now know that is a thing. This enables much better control over the preview camera. Shoutout to BullyHunter#2252 on Discord for pointing this out to me.
  • Menu: The playermodel menu now has a default background. A way for server owners / gamemode developers to customize this background will be added in the future.
  • Menu: The playermodels in the preview now eye-track the camera because it's funny.
  • Menu: The github wiki has been added as an accessible tab from the "Debug & Dev Tools" tab.
  • Menu: Added an "Apply Changes" button to the "Player Representation" tab, allowing you to update your playermodel, bodygroups, colours, and skin without having to respawn.
  • Menu: Added a gamemode check to make it so the player representation tab will only display options for colours/bodygoups/spray on gamemodes which players shouldn't have access to playermodel changing.
  • Menu/Global: Added serverside convar "sv_drc_playerrep_disallow" 0/1 -- This will prevent players from customizing anything other than their spray settings in the player representation tab.
  • Menu/Global: Added serverside convar "sv_drc_playerrep_tweakonly" 0/1 -- This will make it so playes can only customize their colours, bodygroup, skin, and spray settings from the Draconic Menu.
  • Menu: Playermodel preview in the menu now always uses the highest LOD, so the model will always display at maximum quality.
  • Prop: Added base entity drc_prop -- used to create scenery pieces with lua functionality. Just derive from this.
  • Weapon Base/Global: Added a proper damage force multiplier in the DRC EntityTakeDamage hook which makes it so ragdolls get forced more realistically upon a killshot.
  • Weapon Base: Added SWEP.IronSightsPos/AngAlt -- Currently just a purely visual secondary sight swap for viewmodels with potentially multiple sight types. Swaps with ALT + R, if it is defined. Still in development.
  • Weapon Base: Corrected typo in function: self:GetSHootPos() -> self:GetShootPos()
  • Weapon Base: Corrected typo in function: self:GetSHootAng() -> self:GetShootAng()
  • Weapon Base: Re-implemented alternate crouch attack animations for the melee base.
  • Weapon Base: Added a "sweetener" to melee attack viewpunching which scales with the delay, creating a much more natural camera movement on chunkier weapons.
  • Weapon Base: Disabled camera drag on melee weapons in general since it serves no real purpose & often just offset the view with a melee weapon equipped.
  • Weapon Base: Updated DRC:EmitSound usage for bullets to utilize NPC hints.
  • Weapon Base: Added SWEP.DrawCrosshair = true/false as an option to hide the DRC crosshair entirely.
  • Weapon Base: Added SWEP.Primary.Disabled = true/false
  • Weapon Base: Added function SWEP:DoCustomDrop() -- (Client & serverside) Code that executes when the weapon is dropped.
  • Weapon Base: Added SWEP.KeepUpright = true/false -- Will set the weapon's Angle to 0,0,0 any time it hits a surface while in the world and not in use.
  • Weapon Base: Added SWEP.Primary/Secondary.MuzzleAngle = Angle(x,y,z) -- Will offset a fired projectile's angles by the given amount, effectively altering the direction it fires. Not currently implemented for bullets (User request.)
  • Weapon Base: Fixed a bug/exploit which would allow infinite zooming with a weapon when in a vehicle. (User reported.)
  • Weapon Base: Fixed a bug/exploit which would allow infinite zooming while in passive.
  • Weapon Base: Added a more realistic holster view for first person which will alter the weapon perspective to stay down when looking up, or aligned more with the body when looking down.
  • Projectile Base: Changed how explosive damage is calculated; now uses two samples of position instead of one which will provide slightly better / more accurate damage when hitting the upper-end of a character.
  • Projectile Base: Fixed a lua error that could happen on tracking projectiles when their creator / owner was no longer valid.
  • Projectile Base: Updated DRC:EmitSound usage for explosions to utilize NPC hints.
  • Projectile Base/Internal: Fixed auto-setting of ENT.Explosive for natively explosive projectile types.
  • Attachment Base: Added missing material enums: MAT_PLASTIC_BOX, MAT_CROWBAR, MAT_ANTLIONSAND
  • Experimental First Person: Fixed inability to go into vehicle thirdperson while experimental first person was on.
  • Experimental First Person: Fixed viewpunch not being applied properly to the EFP camera.
  • Experimental First Person: Fixed ironsight weapons not centering properly when in ironsigts. (The transition is still a little weird though.)
  • Experimental First Person: Made it so the EFP body can be seen in mod vehicles now as well (e.g. Simfphys, LFS, etc.) (May be a little jittery on high-latency servers.)
  • Debug: Fixed traceinfo causing the crosshair to display lowered when hitting a target.
  • Debug: traceinfo now only draws when debug mode is enabled on the server.
  • Debug: Added a default debug HUD which shows with debug mode enabled, displaying basic information. This is formatted to the default Half-Life 2 HUD.
  • Debug: Removed camera drag interpreter & traceinfo toggle options, these are now part of the default debug mode HUD.
  • Debug: Added debug console command (in singleplayer only) "drc_debug_spawnweaponmodel" -- Spawns the worldmodel of the currently held weapon in front of the player & adds it to their undo history for easy removal.
  • Debug: Added debug console command (in singleplayer only) "cl_drc_debug_alwaysshowshields" -- Always shows the shields applied to entities (mainly for aid in creation process of making shield materials)
  • Debug: Added debug weapon drc_cubemap -- use "give drc_cubemap" to spawn. This is a modified version of weapon_cubemap which uses modified materials to apply the "ReflectionTint" material proxies for the sake of example & map checking.
  • Debug: Traceinfo now shows LFS vehicle health.
  • Debug: Traceinfo now shows Simfphys vehicle health.
Clone this wiki locally