Files
wnsrc/gamemodes/darkrp/schema/factions/sh_ota.lua
lifestorm 6a58f406b1 Upload
2024-08-04 23:54:45 +03:00

140 lines
3.8 KiB
Lua

--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
FACTION.name = "Transhuman Arm"
FACTION.description = "A transhuman Overwatch soldier produced by the Combine."
FACTION.color = Color(150, 50, 50, 255)
FACTION.isDefault = false
-- Char Create stuff
FACTION.noAppearances = true
FACTION.noBackground = true
FACTION.noBeard = true
FACTION.noGender = true
FACTION.noHair = true
FACTION.ReadOptionDisabled = true
FACTION.factionImage = "materials/willardnetworks/faction_imgs/ota.png"
FACTION.selectImage = "materials/willardnetworks/charselect/ota.png"
FACTION.inventoryImage = "materials/willardnetworks/tabmenu/inventory/backgrounds/nexus.png"
-- Scoreboard Stuff
FACTION.isGloballyRecognized = true
-- Gameplay stuff
FACTION.noNeeds = true
FACTION.noGenDesc = true
FACTION.saveItemsAfterDeath = true
FACTION.isCombineFaction = true
FACTION.canSeeWaypoints = true
FACTION.canAddWaypoints = true
FACTION.canRemoveWaypoints = true
FACTION.canUpdateWaypoints = true
FACTION.allLanguages = true
FACTION.alwaysDatafile = true
FACTION.allowForcefieldPassage = true
FACTION.allowForcefieldInfestationPassage = true
FACTION.allowEnableRations = true
FACTION.allowKickDoor = true
FACTION.noSmuggler = true
FACTION.maxHealth = 125
-- Tables
FACTION.models = {
"models/wn/ota_soldier.mdl"
}
FACTION.npcRelations = {
["npc_combine_camera"] = D_LI,
["npc_turret_ceiling"] = D_LI,
["npc_cscanner"] = D_LI,
["npc_manhack"] = D_LI,
["npc_rollermine"] = D_LI,
["npc_clawscanner"] = D_LI,
["npc_turret_floor"] = D_LI,
["npc_combinedropship"] = D_LI,
["CombineElite"] = D_LI,
["npc_combinegunship"] = D_LI,
["npc_combine_s"] = D_LI,
["npc_hunter"] = D_LI,
["npc_helicopter"] = D_LI,
["CombinePrison"] = D_LI,
["PrisonShotgunner"] = D_LI,
["ShotgunSoldier"] = D_LI,
["npc_stalker"] = D_LI,
["npc_strider"] = D_LI,
}
-- Functions
function FACTION:GetDefaultName(client)
return "S"
.. (ix.config.Get("sectorIndex", "10"))
.. "/OWS.GHOST-"
.. Schema:ZeroNumber(math.random(1, 99), 2), true
end
function FACTION:OnCharacterCreated(client, character)
local inventory = character:GetInventory()
inventory:Add("smallbag")
inventory:Add("largebag")
inventory:Add("flashlight")
inventory:Add("pda", 1)
inventory:Add("uniform_ota")
inventory:Add("mask_ota")
inventory:Add("rappel_gear")
inventory:Add("mag_pouch")
inventory:Add("bullet_pouch")
character:SetData("equipBgClothes", true)
character:SetRadioChannel("ota-tac")
character:SetSkill("guns", 40)
character:SetSkill("speed", 40)
for _, v in pairs(ix.special.list) do
character:SetSpecial(v.uniqueID, 0)
end
end
function FACTION:OnNameChanged(client, oldValue, value)
local character = client:GetCharacter()
if (!Schema:IsCombineRank(oldValue, "OWS") and Schema:IsCombineRank(value, "OWS")) then
character:SetClass(CLASS_OWS)
elseif (!Schema:IsCombineRank(oldValue, "ORD") and Schema:IsCombineRank(value, "ORD")) then
character:SetClass(CLASS_ORD)
elseif (!Schema:IsCombineRank(oldValue, "OWH") and Schema:IsCombineRank(value, "OWH")) then
character:SetClass(CLASS_CHA)
elseif (!Schema:IsCombineRank(oldValue, "APF") and Schema:IsCombineRank(value, "APF")) then
character:SetClass(CLASS_SUP)
elseif (!Schema:IsCombineRank(oldValue, "EOW") and Schema:IsCombineRank(value, "EOW")) then
character:SetClass(CLASS_EOW)
elseif (!Schema:IsCombineRank(oldValue, "OCS") and Schema:IsCombineRank(value, "OCS")) then
character:SetClass(CLASS_OCS)
end
end
function FACTION:OnTransferred(character)
character:SetName(self:GetDefaultName())
character:SetModel(self.models[1])
local genericData = character:GetGenericdata()
genericData.combine = true
character:SetGenericdata(genericData)
end
FACTION_OTA = FACTION.index