Official Devblog #9 - Skill/character UI, Citizens, Medical system, Radios

ZUMSe9v7s-c7hpctJoRRqSh6RTezKrAJUawUGCVo2eIRprxjTMFvKiaOty6YtL81GjdLz_3JeCdQr4o2SY3UaSkcOyrPK31ct5uIjXaiBpU1YeFHaAlKZJ26tXFVFcId2ZH-rv6C


DEVBLOG #9
The fundamentals are starting to come together now, and we're now approaching finalizing the schema by implementing items, crafting recipes, etc.
I'd like to thank @Gr4Ss, @Fruity and @M!NT for their spectacular work as per usual!
Updated character creation
Made possible by @Fruity


  • New loading screen
  • New intro with new music
  • Character creation is now fully complete

Skill selection
Made possible by @Fruity



You can choose a maximum of 3 skills at a time, we'll be working on crafting recipes and items moving forward

New citizen models
Made possible by @Fruity

Imported from Half Life Alyx, these models had to undergo a ton of work to fit Garry's Mod, not to mention there was no female model support. Luckily Fruity came to the rescue and did a whole lot of clever model work, resulting in the wonderful models you see below! Male models are yet to be fully completed but will be soon! There's a whole lot of bodygroups including glasses, bags, trousers and hats!

cJOKcyI.jpg


Medical system
Made possible by @Gr4Ss

Heal Types
There are 3 heal types currently implemented: bandage, disinfectant and painkiller.

Items give one or more of these heal types. Cheap, low tier items generally give lower values and only a single heal type. Higher tier items more easily give full heals with multiple heal types in use, but come at a cost and will have medical skill requirements to use.

All healing data is saved through charswaps/reconnects, so you won’t lose anything.

Bandage
The bandage heal type is the ‘core’ heal type. It is the only type that performs any actual healing. It will also be fairly easy to get items that perform this heal type and use them without any skill requirements. Bandages are a slow heal: with the current configuration, it takes 20 minutes to go from 0 to full HP (subject to change, of course). This is a realistic amount of time you should spend RP’ing on recovering from heavy injuries. If it is too slow however, other healing types are there to speed this up.

The way bandage type items work is they have a HP value set per item. When you use the item, this HP value is added to the pool of healing to be provided to a person. You can freely mix and match different items, their heals will all be pooled together. From this pool of healing, every 5 seconds a fixed amount of HP is taken and given to the player. Due to Source limitations, HP is only actually given when there is at least one full point of HP to be given, otherwise any HP given is stored up until there is one full point, so nothing gets lost due to Source rounding HP to integer values.

Applying more bandages doesn’t speed up the process. This speed is a fixed rate that is configured server-wide (or at least, the base speed is). Applying more bandages does increase the total amount of healing someone will get. Obviously, as the rate is fixed, more healing also means a longer time spent healing.

Basically all bandage-type items (with only some exceptions, e.g. bandaids) will also stop bleedouts that happen after someone has been downed.

There is some skill scaling set up related to how much HP a bandage-type item heals, but this is rather limited. At medical level 50, items heal for 200% of their normal HP value, vs 100% at no medical skill/medical level 0. For large heals, it makes it worth it to go to a medic (he’ll need 50% less bandages if he is level 25, only half the bandages if he is level 50), but without forcing players to keep a medic in their pocket to get any healing done. The question is simply a matter of cost.

Disinfectant
Disinfectant heal type exists purely to speed up the bandage heal type. It doesn’t provide any healing on its own. Applying disinfectant item types give a boost for a certain amount of time to the rate that bandage heal types applies their healing. With current configuration, having disinfectant applied while healing from a bandage doubles the healing rate. Going from 0 to 100 HP with bandages and disinfectant takes only 10 minutes, rather than 20. When disinfectant is applied without bandages, it will decay much more quickly and you will lose the effect eventually.

Disinfectant also provides a boost to the passive health regen rate.

The idea is mostly for disinfectant to be multi-use items that require one/two applications in most cases to speed up healing until someone reaches full HP. This item will be less available however and more likely something a medic can use. This should make medics much more ‘worth it’ to use.

To further push onto this, disinfectant heavily scales with the medical skill. At level 0, only 20% of the duration gets applied, while at level 50, 200% of the duration is granted! Someone with no medical knowledge can thus easily use up one bottle with 10 uses to heal from a single heavy injury at full speed with disinfectant applied. A level 50 medic could easily heal 10 people from heavy injuries to full health with that same bottle.

Thus again, nothing forces you to go to a medic, but combining the two above already might make both cheaper and faster for you to find a medic than heal yourself.

Painkillers
Painkillers are a special type of heal. They will very quickly replenish your Source HP, and can take you to full health in just a few minutes (vs 20 minutes with only bandages). But they have a set duration (currently 20 minutes), and when the duration wears off you will lose the HP they have given.

In essence painkillers exist as another tool for you to speed up your regeneration time to get rid of any negative effects being on low health gives. You can even take another bullet or 2 while on painkillers because of the additional HP they provide. Just be weary of when they wear off! And also don’t use too many to keep going while you are injured…

When not using painkillers to tank more damage, they remain a very useful tool for medics to provide people with a better healing experience. They will replenish health quickly, making people ‘feel’ as if they are at full health in just a minute or two coming from near death. Assuming bandages were also applied, there isn’t even a need to worry about the effects wearing off. When a person is at full Source HP, bandages will actually heal any damage that the painkillers have ‘healed’. This works as follows: any Source HP granted by painkillers is separately tracked as ‘fake health’. When they wear off, this ‘fake health’ is gradually deducted from the player’s Source HP again. If a player is at full health and being healed by bandages, the ‘fake health’ gets reduced. Assuming enough bandages were given, by the time the painkillers wear off, all ‘fake health’ has been reduced to zero already by the bandages.

To clearly communicate actual and fake health, we will be introducing a 2 part health bar. A first part that indicates actual HP, and a second part to indicate ‘fake health’. This gives clear feedback on how much you need to worry about painkillers wearing off, and lets you track your healing progress even though painkillers have put you back at 100 Source HP already.

Passive health regen
As already mentioned, there is a very slow passive health regen. This is set to take 6 hours to go from 0 to full HP and is mostly meant to help players heal from small injuries without needing to use items. As mentioned, this is boosted by disinfectant as well to be a lot faster.

Bleedout
When a player would go below 2 HP from receiving damage, his HP is set to 2 HP instead and the player is put into bleedout mode. A 10 minute timer starts during which the player is knocked out and ragdolled. Being given a bandage-type heal stops this timer.
  • Upon reaching 33% health, the player becomes conscious again.
  • If a player is in a turn-based combat when he is knocked out, he will be removed from the fight.
The idea of this bleedout is to make it harder for people to die. Killing someone becomes a deliberate action that someone needs to take (shooting/damaging a downed person to deal more than 2 damage). Dying ‘by accident’ also becomes harder: just falling from a high ridge isn’t enough anymore, you will need to take damage at least twice and the initial damage must be high enough.

Added onto this, we want to make it so if you die in bleedout mode (due to bleeding out or taking damage), you drop all your items.

Bleedout and unconsciousness currently doesn’t save. Charswap will be prevented, and a notification will be added for admins in case of a D/C so moderators can deal with it.

bleedout.jpg

When the bleedout timer runs out, your character dies and gets NLR'd with its inventory reset and a reduction to all skills

dead.jpg

Injury status display
When looking at someone, there will be an indication of their current injury status.

For medics, it will say if they have enough bandages or only some bandages applied. For others, it will only say that people are bandaged (not specifying if it is enough or not).

If no bandages are applied, there is note if someone is bleeding out. If not bleeding out, it will say if they are unconscious. If not unconscious either, it gives a high level indication of how injured they are (going from HOW ARE THEY STILL ALIVE!? To ‘Seems injured’). Anyone above 80% HP is considered ‘healthy’ with no text.

The color of the display reflects how much HP they have, not taking fake health from painkillers into account. Depending on some status factors (bandages applied, disinfected, fully bandaged, bleeding out), the color is made slightly greener/more red. This better reflects who is in the worst state (being at 10HP and fully bandaged and disinfected or being at 15HP with no bandages whatsoever is a big difference).

wounds.jpg

Medical props
medicalitems.JPG


Music

Made possible by @M!NT




Updated CP model
Made possible by @blackout

bAumokf.png

Civil Protection models now have bodygroups for their lenses and shoulderpad colors if we choose to make use of them. Uniform texture is also more HD now.

Radios
Made possible by @Gr4Ss

unknown.png

Radios have been re-implemented in a way that you have all become familiar with in Clockwork using Gr4Ss’ Radio Rework plugin: you can listen on multiple channels and via the /sc command change on which channel you talk.

unknown.png


In the back-end there have been some improvements made to overall increase the robustness of the plugin and make it somewhat easier to maintain.

One big back-end change is that handhelds are now fully part of the radio library (rather than being a separate plugin that acted as an addon to the radio plugin). Overall the handhelds have been reworked to move away from the old 1xx.x frequency style that has been there since Prototype released in 2009.

Instead we now get frequencies made of three parts: zone, channel and (digital) Quiet Talk. These can be set easily in your inventory through the menus. Also new is a little green icon drawn over the radio to signify if it is toggled on and active. The current channel is also included in the description (and will also show when looking at a dropped radio on the ground).

unknown.png

unknown.png

unknown.png


To add some more depth to the overall progression, there are 2 types of handhelds now: ‘old radios’ and more modern ‘handheld radios’. What is the difference? For the old radio, the ‘zone’ setting is set to 1 and cannot be changed. This leaves the player the choice out of 16 channels with 16 QT ‘subchannels’ available for a total of 256 channels. Due to the limited amount, channel conflicts are likely to happen and thus one should be careful on the zone 1 frequencies.

The ‘modern’ handheld radios have all 3 zones available to them. Putting them on zone 1 will let them use the same 256 channels available to people with an ‘old radio’. Zone 2 and 3 offer an additional 16 channels each, but these are ‘digital’ channels with 99 DQT ‘subchannels’ each! That is 3168 frequencies to pick from on top of the 256 old frequencies.

To make quality of life easier as well, the QT/DQT setting is stored per channel. Had to switch from 2-3 DQT83 to 3-16 DQT5 for a bit to talk to someone? Is it late in the evening and your brain ain’t working properly anymore, so you aren’t sure anymore if it was DQT38 or 83 that you were on? No worries! Simply go from 3-16 DQT5 back to 2-3 and DQT83 will automatically appear again. Spreading out across channels is thus easy, without them having to be a pain to remember or being easy to stumble across by others.

Some additional features have been added as well:
  • Are you whispering into your radio? Nobody around you can understand what you say into it anymore, making this completely private (other than the people who hear you over radio, of course). Chatbox will simply say ‘Character name whispers into their radio.’ without the text that you say.
  • Is someone yelling into their radio (using /ry)? Everyone who is near someone with a radio tuned to that channel will hear them now! Hopefully this will let people experience some more things that go on on the server even if they do not have the specific radio channel. Range in which yelling can be picked up from someone’s radio is in between talk and whisper range.
  • Always liked stationery radios, but disliked having to buy a separate radio for it? Want to quickly let someone listen in on a radio conversation but he doesn’t have a radio on him? All your problems are now solved! Normal radios can have their volume turned up, this will make them broadcast their radio channel to anyone who is standing nearby.
  • Talking into a ‘stationary radio’ (or dropped handheld radio) is possible without turning the volume up. You just won’t hear anything being said back to you. In the below screenshot, see one line being said with the volume turned down (note the ‘eavesdrop’ coloring being used to indicate I do not actually hear the radio channel). For the second line, the volume is turned up. The channel now shows me as listening on the radio channel, even though it isn’t in my channel list -> I am listening in on it through the handheld acting as stationary radio!
  • Volume can only be turned up if the radio is actually on. Picking the radio up lowers volume again, it will have to be raised once more when it is dropped again.
  • No plans to allow people to raise volume on a radio in their inventory, mostly to keep things somewhat optimized. Might be added in the future.
unknown.png



GM character info tool
Made possible by @Fruity





WN: Short Stories chapter two sign-up is now available!


Donations
For donations, you can either use the Patreon page below or make use of one-time payments with Paypal​
 
nicely done, just find the radio stuff a bit complicated but I'm sure it's not so difficult once you get used to it
Instead of punching in one big number, you now punch in two/three smaller numbers. Same numbers punched in = you can hear each other. The rest is just fluff & QOL.
 
Instead of punching in one big number, you now punch in two/three smaller numbers. Same numbers punched in = you can hear each other. The rest is just fluff & QOL.

this helped only to further complicate things lol
 
Back
Top