Warning
The addon is being rewriten in the laux language to use a more object oriented design.
The WNS (War Nursing System or Winnies Medical System) is a addon with the intent to bring a little bit of realism into garry's mod (especially for roleplay). It is meant to replicate a WW2 perspective of nursing and field medical aid.
This mod is inspired by Arma III's KAT mod.
Note
I would also like to mention that I use some of the assets from this mod and ACE3. As they are licensed under GLP v3.0 and GPL V2.0, the images are licensed under the same license, per license requirements. I have not modified the images appart from their filenames.
This mod adds :
- More realistic hit areas
- More realistic damage types
- Contraints when injured (no more rules need to be enforced by staff)
- Visuals when injured
- An advanced medical system for medics
and it's use is still buggy but I am working on it from time to time.
My code is probably dogwater. It isn't optimised. I hope one day I can make use of binary modules to abstract most of the heavy logic away.
Note
This addon was made on a server with DarkRP (so I can't garentee that it just works, it should, but you never know).
- Damage System
- Medical System
- Automatic weapons registration
Installing the addon is a bit technical.
- Download the laux compiler.
- Install the AtlasFramework.
- Clone the repo on in the servers
addons/
folder. - If your are sane, use the makefile. Or transpile the
laux/
directory to a newlua/
directory, with thelauxc
command. - It should be installed 🎊
or
When it is finished I will probably upload the pre-transpiled source code in the release
section.
So just download it in the addons/
folder.
the config files are in wms/laux/wms/config/
. Most of it is developer side and isn't meant to be tampered with.
Note
On release the addon will have a limited scope of the weapons mode systems. This addon is based on 3 different types of weapons dealing damage :
- rifle
- pistol
- melee
They simulate the caliber of the weapon used, and it deals the damage accordingly. Following that path we must distinguish which weapon fires which caliber. Here relies the source of the problem. Not all popular weapon modes make it easy to identify and discriminate between weapons. Here the CW 2.0 KK INS2 DOI is the base.
So if the weapon mode (or any rework of any weapon base) that you're using isn't automatically detected you can manually put your weapon classes in the weapon list
...
WMS.weapons = {
[WMS.enums.damageTypes.RIFLE] = {
["any_class"] = true,
["any_other_class"] = true
},
[WMS.enums.damageTypes.PISTOL] = {
["another_class"] = true,
["yet_another_class"] = true,
["and_the_last_pistol"] = true
},
[WMS.enums.damageTypes.MELEE] = {
["i_think_you_understand_by_now"] = true,
["why_do_you_even_bother"] = true
},
...
or if you are a good and sain developer you can add use cases to the loop
for _, w in pairs(weapons.GetList()) do
if (w.Category == "CW 2.0 KK INS2 DOI") then
if (w.Base == "cw_kk_ins2_base_melee") then
WMS.weapons.cut[w.ClassName] = true
elseif (w.magType) then
local m = w.magType
if (m == "arMag" or m == "m1Clip" or m == "brMag") then
WMS.weapons.rifle[w.ClassName] = true
elseif (m == "smgMag" or m == "pistolMag") then
WMS.weapons.pistol[w.ClassName] = true
end
else
if (w.NormalHoldType == "pistol" or (w.ShotgunReload and w.Shots > 1)) then
WMS.weapons.pistol[w.ClassName] = true
elseif (w.NormalHoldType == "ar2") then
WMS.weapons.rifle[w.ClassName] = true
end
end
elseif (--[[JUST END ME]]) then
-- PUT YOUR CODE HERE
end
end
Important
This addon is made for a server, so it can have weird hard-coded things. I'll try to minimize the occurence of this kind of code.
If you want to contribute you must know about the laux compiler
this addon is originally made for the LPS server
Winnie's Natural Selection
Winnie's Medical System
🇦🇲❤️🇫🇷