init project ep
This commit is contained in:
BIN
0Harmony.dll
Executable file
BIN
0Harmony.dll
Executable file
Binary file not shown.
BIN
BarotraumaCore.dll
Normal file
BIN
BarotraumaCore.dll
Normal file
Binary file not shown.
BIN
BarotraumaCore.pdb
Normal file
BIN
BarotraumaCore.pdb
Normal file
Binary file not shown.
BIN
Basic.Reference.Assemblies.Net80.dll
Executable file
BIN
Basic.Reference.Assemblies.Net80.dll
Executable file
Binary file not shown.
BIN
Concentus.NetStandard.dll
Normal file
BIN
Concentus.NetStandard.dll
Normal file
Binary file not shown.
BIN
Concentus.NetStandard.pdb
Normal file
BIN
Concentus.NetStandard.pdb
Normal file
Binary file not shown.
30
Concentus_LICENSE
Normal file
30
Concentus_LICENSE
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
Copyright (c) by various holding parties, including (but not limited to):
|
||||||
|
Skype Limited, Xiph.Org Foundation, CSIRO, Microsoft Corporation,
|
||||||
|
Jean-Marc Valin, Gregory Maxwell, Mark Borgerding, Timothy B. Terriberry,
|
||||||
|
Logan Stromberg. All rights are reserved by their respective holders.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the name of Internet Society, IETF or IETF Trust, nor the
|
||||||
|
names of specific contributors, may be used to endorse or promote
|
||||||
|
products derived from this software without specific prior written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
86
Data/campaignsettings.xml
Normal file
86
Data/campaignsettings.xml
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CampaignSettingPresets>
|
||||||
|
<CampaignSettingDefinitions>
|
||||||
|
<StartingBalanceAmount high="10000" medium="8500" low="6000" />
|
||||||
|
<ExtraEventManagerDifficulty low="-15.0" medium="0.0" high="20.0" hellish="60.0" />
|
||||||
|
<LevelDifficultyMultiplier low="0.6" medium="1.0" high="1.6" hellish="10.0" />
|
||||||
|
<PatdownProbabilityMin off="0" low="0.2" medium="0.3" high="0.4" />
|
||||||
|
<PatdownProbabilityMax off="0" low="0.9" medium="0.9" high="1.0" />
|
||||||
|
</CampaignSettingDefinitions>
|
||||||
|
<CampaignSettings
|
||||||
|
presetname="Easy"
|
||||||
|
TutorialEnabled="true"
|
||||||
|
RadiationEnabled="false"
|
||||||
|
StartingBalanceAmount="high"
|
||||||
|
StartItemSet="easy"
|
||||||
|
MaxMissionCount="2"
|
||||||
|
WorldHostility="low"
|
||||||
|
CrewVitalityMultiplier="1.1"
|
||||||
|
NonCrewVitalityMultiplier="1.0"
|
||||||
|
OxygenMultiplier="1.2"
|
||||||
|
FuelMultiplier="1.2"
|
||||||
|
MissionRewardMultiplier="1.0"
|
||||||
|
ExperienceRewardMultiplier="1.0"
|
||||||
|
ShopPriceMultiplier="0.9"
|
||||||
|
ShipyardPriceMultiplier="0.9"
|
||||||
|
RepairFailMultiplier="1.0"
|
||||||
|
PatdownProbability="low"
|
||||||
|
ShowHuskWarning="true"/>
|
||||||
|
<CampaignSettings
|
||||||
|
presetname="Normal"
|
||||||
|
TutorialEnabled="true"
|
||||||
|
RadiationEnabled="false"
|
||||||
|
StartingBalanceAmount="medium"
|
||||||
|
StartItemSet="normal"
|
||||||
|
MaxMissionCount="2"
|
||||||
|
WorldHostility="medium"
|
||||||
|
CrewVitalityMultiplier="1.0"
|
||||||
|
NonCrewVitalityMultiplier="1.0"
|
||||||
|
OxygenMultiplier="1.0"
|
||||||
|
FuelMultiplier="1.0"
|
||||||
|
MissionRewardMultiplier="1.0"
|
||||||
|
ExperienceRewardMultiplier="1.0"
|
||||||
|
ShopPriceMultiplier="1.0"
|
||||||
|
ShipyardPriceMultiplier="1.0"
|
||||||
|
RepairFailMultiplier="1.0"
|
||||||
|
PatdownProbability="medium"
|
||||||
|
ShowHuskWarning="true"/>
|
||||||
|
<CampaignSettings
|
||||||
|
presetname="Hard"
|
||||||
|
TutorialEnabled="false"
|
||||||
|
RadiationEnabled="false"
|
||||||
|
StartingBalanceAmount="low"
|
||||||
|
StartItemSet="hard"
|
||||||
|
MaxMissionCount="2"
|
||||||
|
WorldHostility="high"
|
||||||
|
CrewVitalityMultiplier="1.0"
|
||||||
|
NonCrewVitalityMultiplier="1.0"
|
||||||
|
OxygenMultiplier="0.7"
|
||||||
|
FuelMultiplier="0.9"
|
||||||
|
MissionRewardMultiplier="1.0"
|
||||||
|
ExperienceRewardMultiplier="1.0"
|
||||||
|
ShopPriceMultiplier="1.5"
|
||||||
|
ShipyardPriceMultiplier="1.5"
|
||||||
|
RepairFailMultiplier="2.0"
|
||||||
|
PatdownProbability="high"
|
||||||
|
ShowHuskWarning="false"/>
|
||||||
|
<CampaignSettings
|
||||||
|
presetname="Abyssal"
|
||||||
|
TutorialEnabled="false"
|
||||||
|
RadiationEnabled="false"
|
||||||
|
StartingBalanceAmount="low"
|
||||||
|
StartItemSet="hard"
|
||||||
|
MaxMissionCount="2"
|
||||||
|
WorldHostility="high"
|
||||||
|
CrewVitalityMultiplier="0.9"
|
||||||
|
NonCrewVitalityMultiplier="1.1"
|
||||||
|
OxygenMultiplier="0.4"
|
||||||
|
FuelMultiplier="0.8"
|
||||||
|
MissionRewardMultiplier="0.8"
|
||||||
|
ExperienceRewardMultiplier="0.8"
|
||||||
|
ShopPriceMultiplier="2.0"
|
||||||
|
ShipyardPriceMultiplier="2.0"
|
||||||
|
RepairFailMultiplier="5.0"
|
||||||
|
PatdownProbability="high"
|
||||||
|
ShowHuskWarning="false"/>
|
||||||
|
</CampaignSettingPresets>
|
||||||
427
Data/forbiddenwordlist.txt
Normal file
427
Data/forbiddenwordlist.txt
Normal file
@@ -0,0 +1,427 @@
|
|||||||
|
4r5e
|
||||||
|
5h1t
|
||||||
|
5hit
|
||||||
|
Dumbcunt
|
||||||
|
a$$
|
||||||
|
a$$hole
|
||||||
|
a2m
|
||||||
|
a54
|
||||||
|
a55
|
||||||
|
a55hole
|
||||||
|
a_s_s
|
||||||
|
adolf
|
||||||
|
ahole
|
||||||
|
anal
|
||||||
|
anus
|
||||||
|
anuses
|
||||||
|
arrse
|
||||||
|
arse
|
||||||
|
ass
|
||||||
|
asses
|
||||||
|
asshat
|
||||||
|
asshole
|
||||||
|
assshole
|
||||||
|
b!tch
|
||||||
|
b17ch
|
||||||
|
b1tch
|
||||||
|
ballsack
|
||||||
|
beatch
|
||||||
|
bitch
|
||||||
|
bitchass
|
||||||
|
bitched
|
||||||
|
bitcher
|
||||||
|
bitchers
|
||||||
|
bitches
|
||||||
|
bitches
|
||||||
|
bitching
|
||||||
|
bitchy
|
||||||
|
blowjob
|
||||||
|
blowjobs
|
||||||
|
bulldyke
|
||||||
|
bullshit
|
||||||
|
bullshits
|
||||||
|
bullshitted
|
||||||
|
bullturds
|
||||||
|
bung
|
||||||
|
bunghole
|
||||||
|
buttfucker
|
||||||
|
butthole
|
||||||
|
buttmuch
|
||||||
|
buttmunch
|
||||||
|
c-0-c-k
|
||||||
|
c.0.c.k
|
||||||
|
c.o.c.k.
|
||||||
|
c.u.n.t
|
||||||
|
c0ck
|
||||||
|
carpetmuncher
|
||||||
|
chinc
|
||||||
|
chincs
|
||||||
|
chink
|
||||||
|
chinky
|
||||||
|
clitoris
|
||||||
|
cock
|
||||||
|
cock sucker
|
||||||
|
cock-sucker
|
||||||
|
cocks
|
||||||
|
cocksucker
|
||||||
|
cocksuckers
|
||||||
|
cocksucking
|
||||||
|
cocksucks
|
||||||
|
coochie
|
||||||
|
coochy
|
||||||
|
coon
|
||||||
|
coonnass
|
||||||
|
coons
|
||||||
|
cracker
|
||||||
|
crackwhore
|
||||||
|
crap
|
||||||
|
cumbubble
|
||||||
|
cumdump
|
||||||
|
cumdump
|
||||||
|
cumdumpster
|
||||||
|
cumguzzler
|
||||||
|
cumjockey
|
||||||
|
cummer
|
||||||
|
cummin
|
||||||
|
cumming
|
||||||
|
cums
|
||||||
|
cumshot
|
||||||
|
cumshots
|
||||||
|
cumslut
|
||||||
|
cumstain
|
||||||
|
cumtart
|
||||||
|
cunilingus
|
||||||
|
cunillingus
|
||||||
|
cunnie
|
||||||
|
cunnilingus
|
||||||
|
cunny
|
||||||
|
cunt
|
||||||
|
cuntass
|
||||||
|
cuntbag
|
||||||
|
cuntbag
|
||||||
|
cuntface
|
||||||
|
cunthole
|
||||||
|
cunthunter
|
||||||
|
cuntlick
|
||||||
|
cuntlick
|
||||||
|
cuntlicker
|
||||||
|
cuntlicker
|
||||||
|
cuntlicking
|
||||||
|
cuntlicking
|
||||||
|
cuntrag
|
||||||
|
cunts
|
||||||
|
cunts
|
||||||
|
cuntsicle
|
||||||
|
cuntsicle
|
||||||
|
cuntslut
|
||||||
|
d0uch3
|
||||||
|
d0uche
|
||||||
|
d1ck
|
||||||
|
d1ld0
|
||||||
|
d1ldo
|
||||||
|
deepthroat
|
||||||
|
dick
|
||||||
|
dick-ish
|
||||||
|
dick-sneeze
|
||||||
|
dickbag
|
||||||
|
dickbeaters
|
||||||
|
dickdipper
|
||||||
|
dickface
|
||||||
|
dickflipper
|
||||||
|
dickfuck
|
||||||
|
dickfucker
|
||||||
|
dickhead
|
||||||
|
dickheads
|
||||||
|
dickhole
|
||||||
|
dickish
|
||||||
|
dickjuice
|
||||||
|
dickmilk
|
||||||
|
dickmonger
|
||||||
|
dickripper
|
||||||
|
dicks
|
||||||
|
dicks
|
||||||
|
dicksipper
|
||||||
|
dickslap
|
||||||
|
dicksucker
|
||||||
|
dicksucking
|
||||||
|
dicktickler
|
||||||
|
dickwad
|
||||||
|
dickweasel
|
||||||
|
dickweed
|
||||||
|
dickwhipper
|
||||||
|
dickwod
|
||||||
|
dickzipper
|
||||||
|
diddle
|
||||||
|
dike
|
||||||
|
dildo
|
||||||
|
dildos
|
||||||
|
douche
|
||||||
|
douchebag
|
||||||
|
dumbass
|
||||||
|
dumbasses
|
||||||
|
dumbfuck
|
||||||
|
dumbshit
|
||||||
|
dyke
|
||||||
|
dykes
|
||||||
|
ejaculate
|
||||||
|
ejaculated
|
||||||
|
ejaculates
|
||||||
|
ejaculates
|
||||||
|
ejaculating
|
||||||
|
ejaculating
|
||||||
|
ejaculatings
|
||||||
|
ejaculation
|
||||||
|
ejakulate
|
||||||
|
erect
|
||||||
|
f u c k
|
||||||
|
f u c k e r
|
||||||
|
f.u.c.k
|
||||||
|
f4nny
|
||||||
|
f_u_c_k
|
||||||
|
fag
|
||||||
|
fagbag
|
||||||
|
fagfucker
|
||||||
|
fagg
|
||||||
|
fagged
|
||||||
|
fagging
|
||||||
|
faggit
|
||||||
|
faggitt
|
||||||
|
faggot
|
||||||
|
faggot*
|
||||||
|
faggotcock
|
||||||
|
faggots
|
||||||
|
faggots
|
||||||
|
faggs
|
||||||
|
fagot
|
||||||
|
fagots
|
||||||
|
fags
|
||||||
|
fagtard
|
||||||
|
fatass
|
||||||
|
fcuk
|
||||||
|
fcuker
|
||||||
|
fcuking
|
||||||
|
feck
|
||||||
|
fecker
|
||||||
|
fistfuck
|
||||||
|
fistfucked
|
||||||
|
fistfucked
|
||||||
|
fistfucker
|
||||||
|
fistfucker
|
||||||
|
fistfuckers
|
||||||
|
fistfuckers
|
||||||
|
fistfucking
|
||||||
|
fistfucking
|
||||||
|
fistfuckings
|
||||||
|
fistfuckings
|
||||||
|
fistfucks
|
||||||
|
fistfucks
|
||||||
|
fuck
|
||||||
|
fuck-ass
|
||||||
|
fuck ass
|
||||||
|
fuck-bitch
|
||||||
|
fuck bitch
|
||||||
|
fucktard
|
||||||
|
fuck tard
|
||||||
|
fucka
|
||||||
|
fuckass
|
||||||
|
fuckbag
|
||||||
|
fuckboy
|
||||||
|
fuckbrain
|
||||||
|
fuckbutt
|
||||||
|
fuckbutter
|
||||||
|
fucked
|
||||||
|
fuckedup
|
||||||
|
fucker
|
||||||
|
fuckers
|
||||||
|
fuckersucker
|
||||||
|
fuckface
|
||||||
|
fuckhead
|
||||||
|
fuckheads
|
||||||
|
fuckhole
|
||||||
|
fuckin
|
||||||
|
fucking
|
||||||
|
fuckings
|
||||||
|
fuckingshitmotherfucker
|
||||||
|
fuckme
|
||||||
|
fuckme
|
||||||
|
fuckmeat
|
||||||
|
fucknugget
|
||||||
|
fucknut
|
||||||
|
fucknutt
|
||||||
|
fuckoff
|
||||||
|
fucks
|
||||||
|
fuckstick
|
||||||
|
fucktard
|
||||||
|
fucktards
|
||||||
|
fucktart
|
||||||
|
fucktoy
|
||||||
|
fucktoy
|
||||||
|
fucktwat
|
||||||
|
fuckup
|
||||||
|
fuckwad
|
||||||
|
fuckwhit
|
||||||
|
fuckwit
|
||||||
|
fuckwitt
|
||||||
|
gay
|
||||||
|
gayass
|
||||||
|
gaybob
|
||||||
|
gaydo
|
||||||
|
gayfuck
|
||||||
|
gayfuckist
|
||||||
|
gaylord
|
||||||
|
gays
|
||||||
|
god-dam
|
||||||
|
god-damned
|
||||||
|
godamn
|
||||||
|
godamnit
|
||||||
|
goddam
|
||||||
|
goddammit
|
||||||
|
goddamn
|
||||||
|
goddamned
|
||||||
|
goddamnit
|
||||||
|
godsdamn
|
||||||
|
hitler
|
||||||
|
homo
|
||||||
|
homodumbshit
|
||||||
|
homoerotic
|
||||||
|
homoey
|
||||||
|
homos
|
||||||
|
honkey
|
||||||
|
honky
|
||||||
|
jack-off
|
||||||
|
jackass
|
||||||
|
jackass
|
||||||
|
jackasses
|
||||||
|
jackasses
|
||||||
|
jackhole
|
||||||
|
jackhole
|
||||||
|
jackoff
|
||||||
|
jackoff
|
||||||
|
jaggi
|
||||||
|
jagoff
|
||||||
|
jailbait
|
||||||
|
jailbait
|
||||||
|
jap
|
||||||
|
japs
|
||||||
|
jerk
|
||||||
|
jerk-off
|
||||||
|
jerkoff
|
||||||
|
jerk off
|
||||||
|
jerk0ff
|
||||||
|
jerkass
|
||||||
|
jerked
|
||||||
|
jerkoff
|
||||||
|
jew
|
||||||
|
jews
|
||||||
|
jism
|
||||||
|
jiz
|
||||||
|
jiz
|
||||||
|
jizm
|
||||||
|
jizm
|
||||||
|
jizz
|
||||||
|
jizzed
|
||||||
|
kike
|
||||||
|
kikes
|
||||||
|
knob
|
||||||
|
kum
|
||||||
|
kummer
|
||||||
|
kumming
|
||||||
|
kums
|
||||||
|
lesbian
|
||||||
|
lesbians
|
||||||
|
lesbo
|
||||||
|
lesbos
|
||||||
|
lez
|
||||||
|
lezzie
|
||||||
|
master-bate
|
||||||
|
master-bate
|
||||||
|
masterbat*
|
||||||
|
masterbat3
|
||||||
|
masterbate
|
||||||
|
masterbating
|
||||||
|
masterbation
|
||||||
|
masterbations
|
||||||
|
masturbate
|
||||||
|
masturbating
|
||||||
|
masturbation
|
||||||
|
mothafuck
|
||||||
|
mothafucka
|
||||||
|
mothafuckas
|
||||||
|
mothafuckaz
|
||||||
|
mothafucked
|
||||||
|
mothafucked
|
||||||
|
mothafucker
|
||||||
|
mothafuckers
|
||||||
|
mothafuckin
|
||||||
|
mothafucking
|
||||||
|
mothafuckings
|
||||||
|
mothafucks
|
||||||
|
motherfuck
|
||||||
|
motherfucka
|
||||||
|
motherfucked
|
||||||
|
motherfucker
|
||||||
|
motherfucker
|
||||||
|
motherfuckers
|
||||||
|
motherfuckin
|
||||||
|
motherfucking
|
||||||
|
motherfuckings
|
||||||
|
motherfuckka
|
||||||
|
motherfucks
|
||||||
|
mudslime*
|
||||||
|
mudslimes*
|
||||||
|
nazi
|
||||||
|
nazis
|
||||||
|
nig
|
||||||
|
nig-nog
|
||||||
|
nigg3r
|
||||||
|
nigg4h
|
||||||
|
nigga
|
||||||
|
nigga
|
||||||
|
niggah
|
||||||
|
niggas
|
||||||
|
niggas
|
||||||
|
niggaz
|
||||||
|
nigger
|
||||||
|
nigger
|
||||||
|
niggers
|
||||||
|
niggle
|
||||||
|
niglet
|
||||||
|
negroid
|
||||||
|
negroids
|
||||||
|
penis
|
||||||
|
pigfucker
|
||||||
|
piss
|
||||||
|
piss-off
|
||||||
|
pissed
|
||||||
|
pisser
|
||||||
|
pissers
|
||||||
|
pisses
|
||||||
|
pisses
|
||||||
|
pissflaps
|
||||||
|
pissin
|
||||||
|
pissin
|
||||||
|
pissing
|
||||||
|
pissoff
|
||||||
|
pissoff
|
||||||
|
pussies
|
||||||
|
pussy
|
||||||
|
queaf
|
||||||
|
queaf
|
||||||
|
queef
|
||||||
|
queer
|
||||||
|
queers
|
||||||
|
rape
|
||||||
|
raped
|
||||||
|
raper
|
||||||
|
rapey
|
||||||
|
raping
|
||||||
|
rapist
|
||||||
|
slut
|
||||||
|
sluts
|
||||||
|
twat
|
||||||
|
twats
|
||||||
|
vagina
|
||||||
|
vaginas
|
||||||
|
white power
|
||||||
|
whore
|
||||||
|
whores
|
||||||
90
Data/karmasettings.xml
Normal file
90
Data/karmasettings.xml
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<KarmaManager>
|
||||||
|
<Preset
|
||||||
|
name="Default"
|
||||||
|
karmadecay="0.08"
|
||||||
|
karmadecaythreshold="50"
|
||||||
|
karmaincrease="0.05"
|
||||||
|
karmaincreasethreshold="50"
|
||||||
|
structurerepairkarmaincrease="0.005"
|
||||||
|
structuredamagekarmadecrease="0.025"
|
||||||
|
itemrepairkarmaincrease="0.03"
|
||||||
|
reactoroverheatkarmadecrease="0.5"
|
||||||
|
reactormeltdownkarmadecrease="30"
|
||||||
|
damageenemykarmaincrease="0.1"
|
||||||
|
damagefriendlykarmadecrease="0.15"
|
||||||
|
extinguishfirekarmaincrease="1"
|
||||||
|
allowedwiredisconnectionsperminute="5"
|
||||||
|
wiredisconnectionkarmadecrease="6.0"
|
||||||
|
steersubkarmaincrease="0.15"
|
||||||
|
spamfilterkarmadecrease="15"
|
||||||
|
herpesthreshold="40"
|
||||||
|
kickbanthreshold="0"
|
||||||
|
kicksbeforeban="3"
|
||||||
|
karmanotificationinterval="15"
|
||||||
|
resetkarmabetweenrounds="true"
|
||||||
|
dangerousitemstealkarmadecrease="15"
|
||||||
|
dangerousitemstealbots="false"
|
||||||
|
ballastflorakarmaincrease="0.05"
|
||||||
|
dangerousitemcontainkarmadecrease="5.0"
|
||||||
|
isdangerousitemcontainkarmadecreaseincremental="true"
|
||||||
|
maxdangerousitemcontainkarmadecrease="30" />
|
||||||
|
<Preset
|
||||||
|
name="Strict"
|
||||||
|
karmadecay="0.08"
|
||||||
|
karmadecaythreshold="50"
|
||||||
|
karmaincrease="0.04"
|
||||||
|
karmaincreasethreshold="45"
|
||||||
|
structurerepairkarmaincrease="0.005"
|
||||||
|
structuredamagekarmadecrease="0.1"
|
||||||
|
itemrepairkarmaincrease="0.03"
|
||||||
|
reactoroverheatkarmadecrease="1.0"
|
||||||
|
reactormeltdownkarmadecrease="35"
|
||||||
|
damageenemykarmaincrease="0.1"
|
||||||
|
damagefriendlykarmadecrease="0.3"
|
||||||
|
extinguishfirekarmaincrease="1"
|
||||||
|
allowedwiredisconnectionsperminute="3"
|
||||||
|
wiredisconnectionkarmadecrease="10.0"
|
||||||
|
steersubkarmaincrease="0.15"
|
||||||
|
spamfilterkarmadecrease="25"
|
||||||
|
herpesthreshold="40"
|
||||||
|
kickbanthreshold="1"
|
||||||
|
kicksbeforeban="1"
|
||||||
|
karmanotificationinterval="15"
|
||||||
|
resetkarmabetweenrounds="true"
|
||||||
|
dangerousitemstealkarmadecrease="15"
|
||||||
|
dangerousitemstealbots="true"
|
||||||
|
ballastflorakarmaincrease="0.03"
|
||||||
|
dangerousitemcontainkarmadecrease="5.0"
|
||||||
|
isdangerousitemcontainkarmadecreaseincremental="true"
|
||||||
|
maxdangerousitemcontainkarmadecrease="30" />
|
||||||
|
<Preset
|
||||||
|
name="Custom"
|
||||||
|
karmadecay="0.08"
|
||||||
|
karmadecaythreshold="50"
|
||||||
|
karmaincrease="0.05"
|
||||||
|
karmaincreasethreshold="50"
|
||||||
|
structurerepairkarmaincrease="0.01"
|
||||||
|
structuredamagekarmadecrease="0.05"
|
||||||
|
itemrepairkarmaincrease="0.03"
|
||||||
|
reactoroverheatkarmadecrease="0.5"
|
||||||
|
reactormeltdownkarmadecrease="30"
|
||||||
|
damageenemykarmaincrease="0.1"
|
||||||
|
damagefriendlykarmadecrease="0.15"
|
||||||
|
extinguishfirekarmaincrease="1"
|
||||||
|
allowedwiredisconnectionsperminute="5"
|
||||||
|
wiredisconnectionkarmadecrease="6.0"
|
||||||
|
steersubkarmaincrease="0.15"
|
||||||
|
spamfilterkarmadecrease="15"
|
||||||
|
herpesthreshold="40"
|
||||||
|
kickbanthreshold="1"
|
||||||
|
kicksbeforeban="3"
|
||||||
|
karmanotificationinterval="15"
|
||||||
|
resetkarmabetweenrounds="true"
|
||||||
|
dangerousitemstealkarmadecrease="15"
|
||||||
|
dangerousitemstealbots="false"
|
||||||
|
ballastflorakarmaincrease="0.05"
|
||||||
|
dangerousitemcontainkarmadecrease="5.0"
|
||||||
|
isdangerousitemcontainkarmadecreaseincremental="true"
|
||||||
|
maxdangerousitemcontainkarmadecrease="30" />
|
||||||
|
</KarmaManager>
|
||||||
22
Data/languageoptions.xml
Normal file
22
Data/languageoptions.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<options>
|
||||||
|
<option label="Português brasileiro" identifier="Brazilian Portuguese" />
|
||||||
|
<option label="中文" identifier="Chinese" mapsFrom="Simplified Chinese, Traditional Chinese" />
|
||||||
|
<option label="Čeština" identifier="Czech" />
|
||||||
|
<option label="Dansk" identifier="Danish" />
|
||||||
|
<option label="Nederlands" identifier="Dutch" />
|
||||||
|
<option label="English" identifier="English" />
|
||||||
|
<option label="Suomi" identifier="Finnish" />
|
||||||
|
<option label="Français" identifier="French" />
|
||||||
|
<option label="Deutsch" identifier="German" />
|
||||||
|
<option label="Italiano" identifier="Italian" />
|
||||||
|
<option label="日本語" identifier="Japanese" />
|
||||||
|
<option label="한국어" identifier="Korean" />
|
||||||
|
<option label="Norska" identifier="Norwegian" />
|
||||||
|
<option label="Polski" identifier="Polish" />
|
||||||
|
<option label="Português europeu" identifier="European Portuguese" />
|
||||||
|
<option label="Русский" identifier="Russian" />
|
||||||
|
<option label="Español" identifier="Spanish" mapsFrom="Castilian Spanish, Latinamerican Spanish" />
|
||||||
|
<option label="Svenska" identifier="Swedish" />
|
||||||
|
<option label="Türkçe" identifier="Turkish" />
|
||||||
|
<option label="Украї́нська" identifier="Ukrainian" />
|
||||||
|
</options>
|
||||||
103
Data/permissionpresets.xml
Normal file
103
Data/permissionpresets.xml
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!-- NOTE: these are the default permission presets used by the game, and this file may get overwritten when game updates are released -->
|
||||||
|
<!-- If you want to add custom permission presets, please use the file permissionpresets_player.xml -->
|
||||||
|
<PermissionPresets>
|
||||||
|
<Preset
|
||||||
|
name="None"
|
||||||
|
description="No special privileges."
|
||||||
|
permissions="None"/>
|
||||||
|
|
||||||
|
<Preset
|
||||||
|
name="Moderator"
|
||||||
|
description="Allowed to manage round settings, kick players and access server logs."
|
||||||
|
permissions="ManageRound,Kick,SelectSub,SelectMode,ManageCampaign,ConsoleCommands,ServerLog,ManageSettings,ManageMoney,ManageBotTalents,SpamImmunity">
|
||||||
|
<Command name="clientlist"/>
|
||||||
|
<Command name="readycheck"/>
|
||||||
|
<Command name="autorestart"/>
|
||||||
|
<Command name="autorestartinterval"/>
|
||||||
|
<Command name="autorestarttimer"/>
|
||||||
|
<Command name="botcount"/>
|
||||||
|
<Command name="botspawnmode"/>
|
||||||
|
<Command name="gamemode"/>
|
||||||
|
<Command name="sub"/>
|
||||||
|
<Command name="shuttle"/>
|
||||||
|
<Command name="water"/>
|
||||||
|
<Command name="fire"/>
|
||||||
|
<Command name="difficulty"/>
|
||||||
|
<Command name="kick"/>
|
||||||
|
<Command name="kickid"/>
|
||||||
|
<Command name="campaigninfo"/>
|
||||||
|
<Command name="campaigndestination"/>
|
||||||
|
<Command name="togglekarma"/>
|
||||||
|
<Command name="setkarma"/>
|
||||||
|
<Command name="resetkarma"/>
|
||||||
|
<Command name="showkarma"/>
|
||||||
|
<Command name="togglekarmatestmode"/>
|
||||||
|
<Command name="respawnnow"/>
|
||||||
|
<Command name="traitorlist"/>
|
||||||
|
<Command name="setsalary"/>
|
||||||
|
</Preset>
|
||||||
|
|
||||||
|
<Preset
|
||||||
|
name="Admin"
|
||||||
|
description="Allowed to ban and kick players, manage round settings, access server logs and use nearly all console commands."
|
||||||
|
permissions="All">
|
||||||
|
<Command name="clientlist"/>
|
||||||
|
<Command name="readycheck"/>
|
||||||
|
<Command name="autorestart"/>
|
||||||
|
<Command name="autorestartinterval"/>
|
||||||
|
<Command name="autorestarttimer"/>
|
||||||
|
<Command name="botcount"/>
|
||||||
|
<Command name="botspawnmode"/>
|
||||||
|
<Command name="difficulty"/>
|
||||||
|
<Command name="kick"/>
|
||||||
|
<Command name="kickid"/>
|
||||||
|
<Command name="campaigninfo"/>
|
||||||
|
<Command name="campaigndestination"/>
|
||||||
|
<Command name="servermsg"/>
|
||||||
|
<Command name="showperm"/>
|
||||||
|
<Command name="spawn"/>
|
||||||
|
<Command name="spawnitem"/>
|
||||||
|
<Command name="give"/>
|
||||||
|
<Command name="disablecrewai"/>
|
||||||
|
<Command name="gamemode"/>
|
||||||
|
<Command name="sub"/>
|
||||||
|
<Command name="shuttle"/>
|
||||||
|
<Command name="enablecrewai"/>
|
||||||
|
<Command name="ban"/>
|
||||||
|
<Command name="banid"/>
|
||||||
|
<Command name="banip"/>
|
||||||
|
<Command name="unban"/>
|
||||||
|
<Command name="unbanaddress"/>
|
||||||
|
<Command name="teleportcharacter"/>
|
||||||
|
<Command name="mute"/>
|
||||||
|
<Command name="unmute"/>
|
||||||
|
<Command name="godmode"/>
|
||||||
|
<Command name="godmode_mainsub"/>
|
||||||
|
<Command name="lock"/>
|
||||||
|
<Command name="lockx"/>
|
||||||
|
<Command name="locky"/>
|
||||||
|
<Command name="water"/>
|
||||||
|
<Command name="fire"/>
|
||||||
|
<Command name="heal"/>
|
||||||
|
<Command name="giveaffliction"/>
|
||||||
|
<Command name="revive"/>
|
||||||
|
<Command name="freeze"/>
|
||||||
|
<Command name="freecam"/>
|
||||||
|
<Command name="explosion"/>
|
||||||
|
<Command name="fixitems"/>
|
||||||
|
<Command name="fixhulls"/>
|
||||||
|
<Command name="power"/>
|
||||||
|
<Command name="oxygen"/>
|
||||||
|
<Command name="setclientcharacter"/>
|
||||||
|
<Command name="togglekarma"/>
|
||||||
|
<Command name="setkarma"/>
|
||||||
|
<Command name="resetkarma"/>
|
||||||
|
<Command name="showkarma"/>
|
||||||
|
<Command name="togglekarmatestmode"/>
|
||||||
|
<Command name="togglecampaignteleport"/>
|
||||||
|
<Command name="respawnnow"/>
|
||||||
|
<Command name="traitorlist"/>
|
||||||
|
<Command name="setsalary"/>
|
||||||
|
</Preset>
|
||||||
|
</PermissionPresets>
|
||||||
36
Data/permissionpresets_player.xml
Normal file
36
Data/permissionpresets_player.xml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!-- Custom permission presets, feel free to modify this file to add your own custom presets. -->
|
||||||
|
<PermissionPresets>
|
||||||
|
<!--
|
||||||
|
<Preset
|
||||||
|
name="Example"
|
||||||
|
description="Allowed to do e.g. manage round settings, kick players and access server logs."
|
||||||
|
permissions="ManageRound,Kick,SelectSub,SelectMode,ManageCampaign,ConsoleCommands,ServerLog,ManageSettings,ManageMoney,ManageBotTalents,SpamImmunity">
|
||||||
|
<Command name="clientlist"/>
|
||||||
|
<Command name="readycheck"/>
|
||||||
|
<Command name="autorestart"/>
|
||||||
|
<Command name="autorestartinterval"/>
|
||||||
|
<Command name="autorestarttimer"/>
|
||||||
|
<Command name="botcount"/>
|
||||||
|
<Command name="botspawnmode"/>
|
||||||
|
<Command name="gamemode"/>
|
||||||
|
<Command name="sub"/>
|
||||||
|
<Command name="shuttle"/>
|
||||||
|
<Command name="water"/>
|
||||||
|
<Command name="fire"/>
|
||||||
|
<Command name="difficulty"/>
|
||||||
|
<Command name="kick"/>
|
||||||
|
<Command name="kickid"/>
|
||||||
|
<Command name="campaigninfo"/>
|
||||||
|
<Command name="campaigndestination"/>
|
||||||
|
<Command name="togglekarma"/>
|
||||||
|
<Command name="setkarma"/>
|
||||||
|
<Command name="resetkarma"/>
|
||||||
|
<Command name="showkarma"/>
|
||||||
|
<Command name="togglekarmatestmode"/>
|
||||||
|
<Command name="respawnnow"/>
|
||||||
|
<Command name="traitorlist"/>
|
||||||
|
<Command name="setsalary"/>
|
||||||
|
</Preset>
|
||||||
|
-->
|
||||||
|
</PermissionPresets>
|
||||||
BIN
DedicatedServer
Executable file
BIN
DedicatedServer
Executable file
Binary file not shown.
1281
DedicatedServer.deps.json
Normal file
1281
DedicatedServer.deps.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
DedicatedServer.dll
Normal file
BIN
DedicatedServer.dll
Normal file
Binary file not shown.
2
DedicatedServer.exe
Normal file
2
DedicatedServer.exe
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/linux64"
|
||||||
|
./DedicatedServer
|
||||||
BIN
DedicatedServer.pdb
Normal file
BIN
DedicatedServer.pdb
Normal file
Binary file not shown.
17
DedicatedServer.runtimeconfig.json
Normal file
17
DedicatedServer.runtimeconfig.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net8.0",
|
||||||
|
"includedFrameworks": [
|
||||||
|
{
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "8.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"System.Globalization.Invariant": true,
|
||||||
|
"System.Globalization.PredefinedCulturesOnly": true,
|
||||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
EosInterface.dll
Normal file
BIN
EosInterface.dll
Normal file
Binary file not shown.
BIN
EosInterface.pdb
Normal file
BIN
EosInterface.pdb
Normal file
Binary file not shown.
BIN
Facepunch.Steamworks.Posix64.dll
Normal file
BIN
Facepunch.Steamworks.Posix64.dll
Normal file
Binary file not shown.
BIN
Facepunch.Steamworks.Posix64.pdb
Normal file
BIN
Facepunch.Steamworks.Posix64.pdb
Normal file
Binary file not shown.
4283
Facepunch.Steamworks.Posix64.xml
Normal file
4283
Facepunch.Steamworks.Posix64.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Farseer.NetStandard.dll
Normal file
BIN
Farseer.NetStandard.dll
Normal file
Binary file not shown.
BIN
Farseer.NetStandard.pdb
Normal file
BIN
Farseer.NetStandard.pdb
Normal file
Binary file not shown.
BIN
FluentResults.dll
Executable file
BIN
FluentResults.dll
Executable file
Binary file not shown.
BIN
Hyper.ComponentModel.NetStandard.dll
Normal file
BIN
Hyper.ComponentModel.NetStandard.dll
Normal file
Binary file not shown.
BIN
Hyper.ComponentModel.NetStandard.pdb
Normal file
BIN
Hyper.ComponentModel.NetStandard.pdb
Normal file
Binary file not shown.
BIN
Lidgren.NetStandard.dll
Normal file
BIN
Lidgren.NetStandard.dll
Normal file
Binary file not shown.
BIN
Lidgren.NetStandard.pdb
Normal file
BIN
Lidgren.NetStandard.pdb
Normal file
Binary file not shown.
BIN
LightInject.dll
Executable file
BIN
LightInject.dll
Executable file
Binary file not shown.
15
LocalMods/LuaCsForBarotrauma/Config/SettingsShared.xml
Normal file
15
LocalMods/LuaCsForBarotrauma/Config/SettingsShared.xml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Configuration>
|
||||||
|
<Settings>
|
||||||
|
<Setting Name="HideUserNamesInLogs" Type="bool" Value="true"/>
|
||||||
|
<Setting Name="CsRunPolicy" Type="listString" Value="Prompt" AllowChangesWhileExecuting="false">
|
||||||
|
<Values>
|
||||||
|
<Value Value="Disabled"/>
|
||||||
|
<Value Value="Prompt"/>
|
||||||
|
<Value Value="Enabled"/>
|
||||||
|
</Values>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="UseCaching" Type="bool" Value="true" AllowChangesWhileExecuting="false"/>
|
||||||
|
<Setting Name="IsCsEnabledForSession" Type="bool" AllowChangesWhileExecuting="false" ShowInMenus="false" Value="false"/>
|
||||||
|
</Settings>
|
||||||
|
</Configuration>
|
||||||
81
LocalMods/LuaCsForBarotrauma/Lua/CompatibilityLib.lua
Normal file
81
LocalMods/LuaCsForBarotrauma/Lua/CompatibilityLib.lua
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
-- Contains things to be removed later, they exist only for compatibility reasons.
|
||||||
|
|
||||||
|
local compatibilityLib = {}
|
||||||
|
|
||||||
|
-- local networking = LuaUserData.RegisterType("Barotrauma.LuaCsNetworking")
|
||||||
|
|
||||||
|
-- LuaUserData.AddMethod(networking, "RequestGetHTTP", Networking.HttpGet)
|
||||||
|
|
||||||
|
-- LuaUserData.AddMethod(networking, "RequestPostHTTP", Networking.HttpPost)
|
||||||
|
|
||||||
|
compatibilityLib.CreateVector2 = Vector2.__new
|
||||||
|
compatibilityLib.CreateVector3 = Vector3.__new
|
||||||
|
compatibilityLib.CreateVector4 = Vector4.__new
|
||||||
|
|
||||||
|
local luaRandom = {}
|
||||||
|
|
||||||
|
luaRandom.Range = function (min, max)
|
||||||
|
return math.random(min, max - 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
luaRandom.RangeFloat = function (min, max)
|
||||||
|
return math.random() + math.random(min, max)
|
||||||
|
end
|
||||||
|
|
||||||
|
compatibilityLib["Random"] = luaRandom
|
||||||
|
|
||||||
|
local luaPlayer = {}
|
||||||
|
|
||||||
|
luaPlayer.GetAllCharacters = function ()
|
||||||
|
return Character.CharacterList
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.GetAllClients = function ()
|
||||||
|
return Client.ClientList
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.SetClientCharacter = function (client, character)
|
||||||
|
client.SetClientCharacter(character)
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.SetCharacterTeam = function (character, team)
|
||||||
|
character.TeamID = team
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.SetClientTeam = function (client, team)
|
||||||
|
client.TeamID = team
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.Kick = function (client, reason)
|
||||||
|
client.Kick(reason)
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.Ban = function (client, reason, range, seconds)
|
||||||
|
client.Ban(reason, range, seconds)
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.UnbanPlayer = function (player, endpoint)
|
||||||
|
Client.Unban(player, endpoint)
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.SetSpectatorPos = function ()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.SetRadioRange = function (character, range)
|
||||||
|
if (character.Inventory == nil) then return end
|
||||||
|
|
||||||
|
for item in character.Inventory.AllItems do
|
||||||
|
if item ~= nil and item.Prefab.Identifier == "headset" then
|
||||||
|
item.GetComponentString("WifiComponent").Range = range;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
luaPlayer.CheckPermission = function (client, permissions)
|
||||||
|
return client.CheckPermission(permissions)
|
||||||
|
end
|
||||||
|
|
||||||
|
compatibilityLib["Player"] = luaPlayer
|
||||||
|
|
||||||
|
return compatibilityLib
|
||||||
68
LocalMods/LuaCsForBarotrauma/Lua/DefaultHook.lua
Normal file
68
LocalMods/LuaCsForBarotrauma/Lua/DefaultHook.lua
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
Hook.Patch("Barotrauma.Item", "TryInteract",
|
||||||
|
{
|
||||||
|
"Barotrauma.Character",
|
||||||
|
"System.Boolean",
|
||||||
|
"System.Boolean",
|
||||||
|
"System.Boolean"
|
||||||
|
},
|
||||||
|
function(instance, p)
|
||||||
|
if Hook.Call("item.interact", instance, p["user"], p["ignoreRequiredItems"], p["forceSelectKey"], p["forceUseKey"]) == true then
|
||||||
|
p.PreventExecution = true
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end, Hook.HookMethodType.Before)
|
||||||
|
|
||||||
|
Hook.Patch("Barotrauma.Item", "ApplyTreatment",
|
||||||
|
{
|
||||||
|
"Barotrauma.Character",
|
||||||
|
"Barotrauma.Character",
|
||||||
|
"Barotrauma.Limb"
|
||||||
|
},
|
||||||
|
function(instance, p)
|
||||||
|
if Hook.Call("item.applyTreatment", instance, p["user"], p["character"], p["targetLimb"]) then
|
||||||
|
p.PreventExecution = true
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end, Hook.HookMethodType.Before)
|
||||||
|
|
||||||
|
Hook.Patch("Barotrauma.Item", "Combine",
|
||||||
|
{
|
||||||
|
"Barotrauma.Item",
|
||||||
|
"Barotrauma.Character"
|
||||||
|
},
|
||||||
|
function(instance, p)
|
||||||
|
if Hook.Call("item.combine", instance, p["item"], p["user"]) == true then
|
||||||
|
p.PreventExecution = true
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end, Hook.HookMethodType.Before)
|
||||||
|
|
||||||
|
Hook.Patch("Barotrauma.Item", "Drop",
|
||||||
|
function(instance, p)
|
||||||
|
if Hook.Call("item.drop", instance, p["dropper"]) == true then
|
||||||
|
p.PreventExecution = true
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end, Hook.HookMethodType.Before)
|
||||||
|
|
||||||
|
Hook.Patch("Barotrauma.Item", "Equip",
|
||||||
|
{
|
||||||
|
"Barotrauma.Character"
|
||||||
|
},
|
||||||
|
function(instance, p)
|
||||||
|
if Hook.Call("item.equip", instance, p["character"]) == true then
|
||||||
|
p.PreventExecution = true
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end, Hook.HookMethodType.Before)
|
||||||
|
|
||||||
|
Hook.Patch("Barotrauma.Item", "Unequip",
|
||||||
|
{
|
||||||
|
"Barotrauma.Character"
|
||||||
|
},
|
||||||
|
function(instance, p)
|
||||||
|
if Hook.Call("item.unequip", instance, p["character"]) == true then
|
||||||
|
p.PreventExecution = true
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end, Hook.HookMethodType.Before)
|
||||||
90
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibClient.lua
Normal file
90
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibClient.lua
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
local defaultLib = {}
|
||||||
|
|
||||||
|
local CreateStatic = LuaUserData.CreateStatic
|
||||||
|
local CreateEnum = LuaUserData.CreateEnumTable
|
||||||
|
local AddCallMetaTable = LuaUserData.AddCallMetaTable
|
||||||
|
|
||||||
|
local localizedStrings = {
|
||||||
|
"LocalizedString", "LimitLString", "WrappedLString", "AddedPunctuationLString", "CapitalizeLString", "ConcatLString", "FallbackLString", "FormattedLString", "InputTypeLString", "JoinLString", "LowerLString", "RawLString", "ReplaceLString", "ServerMsgLString", "SplitLString", "TagLString", "TrimLString", "UpperLString", "StripRichTagsLString",
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value in pairs(localizedStrings) do
|
||||||
|
defaultLib[value] = CreateStatic("Barotrauma." .. value, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
local sounds = {}
|
||||||
|
sounds.LowpassFilter = CreateStatic("Barotrauma.Sounds.LowpassFilter")
|
||||||
|
sounds.HighpassFilter = CreateStatic("Barotrauma.Sounds.HighpassFilter")
|
||||||
|
sounds.BandpassFilter = CreateStatic("Barotrauma.Sounds.BandpassFilter")
|
||||||
|
sounds.NotchFilter = CreateStatic("Barotrauma.Sounds.NotchFilter")
|
||||||
|
sounds.LowShelfFilter = CreateStatic("Barotrauma.Sounds.LowShelfFilter")
|
||||||
|
sounds.HighShelfFilter = CreateStatic("Barotrauma.Sounds.HighShelfFilter")
|
||||||
|
sounds.PeakFilter = CreateStatic("Barotrauma.Sounds.PeakFilter")
|
||||||
|
defaultLib["Sounds"] = sounds
|
||||||
|
|
||||||
|
defaultLib["SpriteEffects"] = CreateStatic("Microsoft.Xna.Framework.Graphics.SpriteEffects")
|
||||||
|
|
||||||
|
defaultLib["SoundPlayer"] = CreateStatic("Barotrauma.SoundPlayer")
|
||||||
|
defaultLib["SoundPrefab"] = CreateStatic("Barotrauma.SoundPrefab", true)
|
||||||
|
defaultLib["BackgroundMusic"] = CreateStatic("Barotrauma.BackgroundMusic", true)
|
||||||
|
defaultLib["GUISound"] = CreateStatic("Barotrauma.GUISound", true)
|
||||||
|
defaultLib["DamageSound"] = CreateStatic("Barotrauma.DamageSound", true)
|
||||||
|
defaultLib["WaterRenderer"] = CreateStatic("Barotrauma.WaterRenderer", true)
|
||||||
|
|
||||||
|
defaultLib["TextureLoader"] = CreateStatic("Barotrauma.TextureLoader")
|
||||||
|
defaultLib["Sprite"] = CreateStatic("Barotrauma.Sprite", true)
|
||||||
|
defaultLib["PlayerInput"] = CreateStatic("Barotrauma.PlayerInput", true)
|
||||||
|
|
||||||
|
defaultLib["Keys"] = CreateStatic("Microsoft.Xna.Framework.Input.Keys", true)
|
||||||
|
|
||||||
|
defaultLib["GUI"] = {
|
||||||
|
GUI = CreateStatic("Barotrauma.GUI", true),
|
||||||
|
Style = CreateStatic("Barotrauma.GUIStyle", true),
|
||||||
|
Component = CreateStatic("Barotrauma.GUIComponent"),
|
||||||
|
RectTransform = CreateStatic("Barotrauma.RectTransform", true),
|
||||||
|
LayoutGroup = CreateStatic("Barotrauma.GUILayoutGroup", true),
|
||||||
|
Button = CreateStatic("Barotrauma.GUIButton", true),
|
||||||
|
TextBox = CreateStatic("Barotrauma.GUITextBox", true),
|
||||||
|
Canvas = CreateStatic("Barotrauma.GUICanvas", true),
|
||||||
|
Frame = CreateStatic("Barotrauma.GUIFrame", true),
|
||||||
|
TextBlock = CreateStatic("Barotrauma.GUITextBlock", true),
|
||||||
|
TickBox = CreateStatic("Barotrauma.GUITickBox", true),
|
||||||
|
Image = CreateStatic("Barotrauma.GUIImage", true),
|
||||||
|
ListBox = CreateStatic("Barotrauma.GUIListBox", true),
|
||||||
|
ScrollBar = CreateStatic("Barotrauma.GUIScrollBar", true),
|
||||||
|
DropDown = CreateStatic("Barotrauma.GUIDropDown", true),
|
||||||
|
NumberInput = CreateStatic("Barotrauma.GUINumberInput", true),
|
||||||
|
MessageBox = CreateStatic("Barotrauma.GUIMessageBox", true),
|
||||||
|
ColorPicker = CreateStatic("Barotrauma.GUIColorPicker", true),
|
||||||
|
ProgressBar = CreateStatic("Barotrauma.GUIProgressBar", true),
|
||||||
|
CustomComponent = CreateStatic("Barotrauma.GUICustomComponent", true),
|
||||||
|
ScissorComponent = CreateStatic("Barotrauma.GUIScissorComponent", true),
|
||||||
|
VideoPlayer = CreateStatic("Barotrauma.VideoPlayer", true),
|
||||||
|
Graph = CreateStatic("Barotrauma.Graph", true),
|
||||||
|
SerializableEntityEditor = CreateStatic("Barotrauma.SerializableEntityEditor", true),
|
||||||
|
SlideshowPlayer = CreateStatic("Barotrauma.SlideshowPlayer", true),
|
||||||
|
CreditsPlayer = CreateStatic("Barotrauma.CreditsPlayer", true),
|
||||||
|
DragHandle = CreateStatic("Barotrauma.GUIDragHandle", true),
|
||||||
|
ContextMenu = CreateStatic("Barotrauma.GUIContextMenu", true),
|
||||||
|
ContextMenuOption = CreateStatic("Barotrauma.ContextMenuOption", true),
|
||||||
|
|
||||||
|
Screen = CreateStatic("Barotrauma.Screen"),
|
||||||
|
|
||||||
|
Anchor = CreateStatic("Barotrauma.Anchor"),
|
||||||
|
Alignment = CreateStatic("Barotrauma.Alignment"),
|
||||||
|
Pivot = CreateStatic("Barotrauma.Pivot"),
|
||||||
|
SoundType = CreateEnum("Barotrauma.GUISoundType"),
|
||||||
|
CursorState = CreateEnum("Barotrauma.CursorState"),
|
||||||
|
|
||||||
|
GUIStyle = CreateStatic("Barotrauma.GUIStyle", true),
|
||||||
|
}
|
||||||
|
|
||||||
|
local guiFallback = defaultLib["GUI"].GUI
|
||||||
|
|
||||||
|
setmetatable(defaultLib["GUI"], {
|
||||||
|
__index = function(_, key)
|
||||||
|
return guiFallback[key]
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
return defaultLib
|
||||||
14
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibServer.lua
Normal file
14
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibServer.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
local defaultLib = {}
|
||||||
|
|
||||||
|
local CreateStatic = LuaUserData.CreateStatic
|
||||||
|
local CreateEnum = LuaUserData.CreateEnumTable
|
||||||
|
|
||||||
|
local localizedStrings = {
|
||||||
|
"LocalizedString", "AddedPunctuationLString", "CapitalizeLString", "ConcatLString", "FallbackLString", "FormattedLString", "InputTypeLString", "JoinLString", "LowerLString", "RawLString", "ReplaceLString", "ServerMsgLString", "SplitLString", "TagLString", "TrimLString", "UpperLString", "StripRichTagsLString",
|
||||||
|
}
|
||||||
|
|
||||||
|
for key, value in pairs(localizedStrings) do
|
||||||
|
defaultLib[value] = CreateStatic("Barotrauma." .. value, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
return defaultLib
|
||||||
195
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibShared.lua
Normal file
195
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/LibShared.lua
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
local defaultLib = {}
|
||||||
|
|
||||||
|
local AddCallMetaTable = LuaUserData.AddCallMetaTable
|
||||||
|
local CreateStatic = LuaUserData.CreateStatic
|
||||||
|
local CreateEnum = LuaUserData.CreateEnumTable
|
||||||
|
|
||||||
|
defaultLib["SByte"] = CreateStatic("Barotrauma.LuaSByte", true)
|
||||||
|
defaultLib["Byte"] = CreateStatic("Barotrauma.LuaByte", true)
|
||||||
|
defaultLib["Int16"] = CreateStatic("Barotrauma.LuaInt16", true)
|
||||||
|
defaultLib["UInt16"] = CreateStatic("Barotrauma.LuaUInt16", true)
|
||||||
|
defaultLib["Int32"] = CreateStatic("Barotrauma.LuaInt32", true)
|
||||||
|
defaultLib["UInt32"] = CreateStatic("Barotrauma.LuaUInt32", true)
|
||||||
|
defaultLib["Int64"] = CreateStatic("Barotrauma.LuaInt64", true)
|
||||||
|
defaultLib["UInt64"] = CreateStatic("Barotrauma.LuaUInt64", true)
|
||||||
|
defaultLib["Single"] = CreateStatic("Barotrauma.LuaSingle", true)
|
||||||
|
defaultLib["Double"] = CreateStatic("Barotrauma.LuaDouble", true)
|
||||||
|
|
||||||
|
-- Backward compatibility
|
||||||
|
defaultLib["Float"] = CreateStatic("Barotrauma.LuaSingle", true)
|
||||||
|
defaultLib["Short"] = CreateStatic("Barotrauma.LuaInt16", true)
|
||||||
|
defaultLib["UShort"] = CreateStatic("Barotrauma.LuaUInt16", true)
|
||||||
|
|
||||||
|
defaultLib["SpawnType"] = CreateEnum("Barotrauma.SpawnType")
|
||||||
|
defaultLib["ChatMessageType"] = CreateEnum("Barotrauma.Networking.ChatMessageType")
|
||||||
|
defaultLib["ServerLog_MessageType"] = CreateEnum("Barotrauma.Networking.ServerLog+MessageType")
|
||||||
|
defaultLib["ServerLogMessageType"] = CreateEnum("Barotrauma.Networking.ServerLog+MessageType")
|
||||||
|
defaultLib["PositionType"] = CreateEnum("Barotrauma.Level+PositionType")
|
||||||
|
defaultLib["InvSlotType"] = CreateEnum("Barotrauma.InvSlotType")
|
||||||
|
defaultLib["LimbType"] = CreateEnum("Barotrauma.LimbType")
|
||||||
|
defaultLib["ActionType"] = CreateEnum("Barotrauma.ActionType")
|
||||||
|
defaultLib["AbilityEffectType"] = CreateEnum("Barotrauma.AbilityEffectType")
|
||||||
|
defaultLib["StatTypes"] = CreateEnum("Barotrauma.StatTypes")
|
||||||
|
defaultLib["AbilityFlags"] = CreateEnum("Barotrauma.AbilityFlags")
|
||||||
|
defaultLib["DeliveryMethod"] = CreateEnum("Barotrauma.Networking.DeliveryMethod")
|
||||||
|
defaultLib["ClientPacketHeader"] = CreateEnum("Barotrauma.Networking.ClientPacketHeader")
|
||||||
|
defaultLib["ServerPacketHeader"] = CreateEnum("Barotrauma.Networking.ServerPacketHeader")
|
||||||
|
defaultLib["RandSync"] = CreateEnum("Barotrauma.Rand+RandSync")
|
||||||
|
defaultLib["DisconnectReason"] = CreateEnum("Barotrauma.Networking.DisconnectReason")
|
||||||
|
defaultLib["CombatMode"] = CreateEnum("Barotrauma.AIObjectiveCombat+CombatMode")
|
||||||
|
defaultLib["CauseOfDeathType"] = CreateEnum("Barotrauma.CauseOfDeathType")
|
||||||
|
defaultLib["CharacterTeamType"] = CreateEnum("Barotrauma.CharacterTeamType")
|
||||||
|
defaultLib["ClientPermissions"] = CreateEnum("Barotrauma.Networking.ClientPermissions")
|
||||||
|
defaultLib["OrderCategory"] = CreateEnum("Barotrauma.OrderCategory")
|
||||||
|
defaultLib["WearableType"] = CreateEnum("Barotrauma.WearableType")
|
||||||
|
defaultLib["NumberType"] = CreateEnum("Barotrauma.NumberType")
|
||||||
|
defaultLib["ChatMode"] = CreateEnum("Barotrauma.ChatMode")
|
||||||
|
defaultLib["CharacterType"] = CreateEnum("Barotrauma.CharacterType")
|
||||||
|
defaultLib["VoteType"] = CreateEnum("Barotrauma.Networking.VoteType")
|
||||||
|
defaultLib["CanEnterSubmarine"] = CreateEnum("Barotrauma.CanEnterSubmarine")
|
||||||
|
defaultLib["InputType"] = CreateStatic("Barotrauma.InputType")
|
||||||
|
|
||||||
|
defaultLib["EventPrefab"] = CreateStatic("Barotrauma.EventPrefab", true)
|
||||||
|
defaultLib["TraitorEventPrefab"] = CreateStatic("Barotrauma.TraitorEventPrefab", true)
|
||||||
|
defaultLib["TraitorEvent"] = CreateStatic("Barotrauma.TraitorEvent", true)
|
||||||
|
defaultLib["EventSet"] = CreateStatic("Barotrauma.EventSet", true)
|
||||||
|
defaultLib["EventManagerSettings"] = CreateStatic("Barotrauma.EventManagerSettings", true)
|
||||||
|
|
||||||
|
defaultLib["NetConfig"] = CreateStatic("Barotrauma.Networking.NetConfig")
|
||||||
|
defaultLib["NetworkConnection"] = CreateStatic("Barotrauma.Networking.NetworkConnection")
|
||||||
|
defaultLib["Inventory"] = CreateStatic("Barotrauma.Inventory", true)
|
||||||
|
defaultLib["CharacterInventory"] = CreateStatic("Barotrauma.CharacterInventory", true)
|
||||||
|
defaultLib["ItemInventory"] = CreateStatic("Barotrauma.ItemInventory", true)
|
||||||
|
defaultLib["ContentPackageManager"] = CreateStatic("Barotrauma.ContentPackageManager")
|
||||||
|
defaultLib["GameSettings"] = CreateStatic("Barotrauma.GameSettings")
|
||||||
|
defaultLib["RichString"] = CreateStatic("Barotrauma.RichString", true)
|
||||||
|
defaultLib["Identifier"] = CreateStatic("Barotrauma.Identifier", true)
|
||||||
|
defaultLib["LanguageIdentifier"] = CreateStatic("Barotrauma.LanguageIdentifier", true)
|
||||||
|
defaultLib["ContentPackage"] = CreateStatic("Barotrauma.ContentPackage", true)
|
||||||
|
defaultLib["WayPoint"] = CreateStatic("Barotrauma.WayPoint", true)
|
||||||
|
defaultLib["Submarine"] = CreateStatic("Barotrauma.Submarine", true)
|
||||||
|
defaultLib["Client"] = CreateStatic("Barotrauma.Networking.Client", true)
|
||||||
|
defaultLib["Character"] = CreateStatic("Barotrauma.Character")
|
||||||
|
defaultLib["CharacterHealth"] = CreateStatic("Barotrauma.CharacterHealth", true)
|
||||||
|
defaultLib["CharacterPrefab"] = CreateStatic("Barotrauma.CharacterPrefab", true)
|
||||||
|
defaultLib["CharacterInfo"] = CreateStatic("Barotrauma.CharacterInfo", true)
|
||||||
|
AddCallMetaTable(defaultLib["CharacterInfo"].HeadPreset)
|
||||||
|
AddCallMetaTable(defaultLib["CharacterInfo"].HeadInfo)
|
||||||
|
defaultLib["CharacterInfoPrefab"] = CreateStatic("Barotrauma.CharacterInfoPrefab")
|
||||||
|
defaultLib["Item"] = CreateStatic("Barotrauma.Item", true)
|
||||||
|
AddCallMetaTable(defaultLib["Item"].ChangePropertyEventData)
|
||||||
|
defaultLib["MapEntityPrefab"] = CreateStatic("Barotrauma.MapEntityPrefab")
|
||||||
|
defaultLib["ItemPrefab"] = CreateStatic("Barotrauma.ItemPrefab", true)
|
||||||
|
defaultLib["TalentTree"] = CreateStatic("Barotrauma.TalentTree", true)
|
||||||
|
defaultLib["TalentPrefab"] = CreateStatic("Barotrauma.TalentPrefab", true)
|
||||||
|
defaultLib["FactionPrefab"] = CreateStatic("Barotrauma.FactionPrefab", true)
|
||||||
|
defaultLib["MissionPrefab"] = CreateStatic("Barotrauma.MissionPrefab", true)
|
||||||
|
defaultLib["Mission"] = CreateStatic("Barotrauma.Mission", true)
|
||||||
|
defaultLib["Level"] = CreateStatic("Barotrauma.Level")
|
||||||
|
defaultLib["LevelGenerationParams"] = CreateStatic("Barotrauma.LevelGenerationParams", true)
|
||||||
|
defaultLib["OutpostGenerationParams"] = CreateStatic("Barotrauma.OutpostGenerationParams", true)
|
||||||
|
defaultLib["RuinGenerationParams"] = CreateStatic("Barotrauma.RuinGeneration.RuinGenerationParams", true)
|
||||||
|
defaultLib["Job"] = CreateStatic("Barotrauma.Job", true)
|
||||||
|
defaultLib["JobPrefab"] = CreateStatic("Barotrauma.JobPrefab", true)
|
||||||
|
defaultLib["JobVariant"] = CreateStatic("Barotrauma.JobVariant", true)
|
||||||
|
defaultLib["AfflictionPrefab"] = CreateStatic("Barotrauma.AfflictionPrefab", true)
|
||||||
|
defaultLib["SkillSettings"] = CreateStatic("Barotrauma.SkillSettings", true)
|
||||||
|
defaultLib["ChatMessage"] = CreateStatic("Barotrauma.Networking.ChatMessage")
|
||||||
|
defaultLib["Structure"] = CreateStatic("Barotrauma.Structure", true)
|
||||||
|
defaultLib["Hull"] = CreateStatic("Barotrauma.Hull", true)
|
||||||
|
defaultLib["Gap"] = CreateStatic("Barotrauma.Gap", true)
|
||||||
|
defaultLib["Signal"] = CreateStatic("Barotrauma.Items.Components.Signal", true)
|
||||||
|
defaultLib["SubmarineInfo"] = CreateStatic("Barotrauma.SubmarineInfo", true)
|
||||||
|
defaultLib["Entity"] = CreateStatic("Barotrauma.Entity", true)
|
||||||
|
defaultLib["MapEntity"] = CreateStatic("Barotrauma.MapEntity", true)
|
||||||
|
defaultLib["Physics"] = CreateStatic("Barotrauma.Physics")
|
||||||
|
defaultLib["FireSource"] = CreateStatic("Barotrauma.FireSource", true)
|
||||||
|
defaultLib["TextManager"] = CreateStatic("Barotrauma.TextManager")
|
||||||
|
defaultLib["NetEntityEvent"] = CreateStatic("Barotrauma.Networking.NetEntityEvent")
|
||||||
|
defaultLib["Screen"] = CreateStatic("Barotrauma.Screen")
|
||||||
|
defaultLib["AttackResult"] = CreateStatic("Barotrauma.AttackResult", true)
|
||||||
|
defaultLib["TempClient"] = CreateStatic("Barotrauma.Networking.TempClient", true)
|
||||||
|
defaultLib["DecalManager"] = CreateStatic("Barotrauma.DecalManager", true)
|
||||||
|
defaultLib["AutoItemPlacer"] = CreateStatic("Barotrauma.AutoItemPlacer")
|
||||||
|
defaultLib["PropertyConditional"] = CreateStatic("Barotrauma.PropertyConditional", true)
|
||||||
|
defaultLib["StatusEffect"] = CreateStatic("Barotrauma.StatusEffect", true)
|
||||||
|
defaultLib["OutpostGenerator"] = CreateStatic("Barotrauma.OutpostGenerator")
|
||||||
|
defaultLib["DamageModifier"] = CreateStatic("Barotrauma.DamageModifier", true)
|
||||||
|
defaultLib["TraitorManager"] = CreateStatic("Barotrauma.TraitorManager", true)
|
||||||
|
AddCallMetaTable(defaultLib["TraitorManager"].TraitorResults)
|
||||||
|
|
||||||
|
defaultLib["Md5Hash"] = CreateStatic("Barotrauma.Md5Hash", true)
|
||||||
|
defaultLib["ContentXElement"] = CreateStatic("Barotrauma.ContentXElement", true)
|
||||||
|
defaultLib["ContentPath"] = CreateStatic("Barotrauma.ContentPath", true)
|
||||||
|
defaultLib["XElement"] = CreateStatic("System.Xml.Linq.XElement", true)
|
||||||
|
defaultLib["XName"] = CreateStatic("System.Xml.Linq.XName", true)
|
||||||
|
defaultLib["XAttribute"] = CreateStatic("System.Xml.Linq.XAttribute", true)
|
||||||
|
defaultLib["XContainer"] = CreateStatic("System.Xml.Linq.XContainer", true)
|
||||||
|
defaultLib["XDocument"] = CreateStatic("System.Xml.Linq.XDocument", true)
|
||||||
|
defaultLib["XNode"] = CreateStatic("System.Xml.Linq.XNode", true)
|
||||||
|
defaultLib["SoundsFile"] = CreateStatic("Barotrauma.SoundsFile", true)
|
||||||
|
|
||||||
|
defaultLib["Voting"] = CreateStatic("Barotrauma.Voting")
|
||||||
|
defaultLib["TimeSpan"] = CreateStatic("System.TimeSpan")
|
||||||
|
defaultLib["IPAddress"] = CreateStatic("System.Net.IPAddress")
|
||||||
|
defaultLib["ContentPackageId"] = CreateStatic("Barotrauma.ContentPackageId")
|
||||||
|
defaultLib["Address"] = CreateStatic("Barotrauma.Networking.Address")
|
||||||
|
defaultLib["AccountId"] = CreateStatic("Barotrauma.Networking.AccountId")
|
||||||
|
defaultLib["Endpoint"] = CreateStatic("Barotrauma.Networking.Endpoint")
|
||||||
|
|
||||||
|
defaultLib["Explosion"] = CreateStatic("Barotrauma.Explosion", true)
|
||||||
|
|
||||||
|
defaultLib["ConvertUnits"] = CreateStatic("FarseerPhysics.ConvertUnits")
|
||||||
|
defaultLib["ToolBox"] = CreateStatic("Barotrauma.ToolBox")
|
||||||
|
|
||||||
|
defaultLib["AIObjective"] = CreateStatic("Barotrauma.AIObjective", true)
|
||||||
|
defaultLib["AIObjectiveChargeBatteries"] = CreateStatic("Barotrauma.AIObjectiveChargeBatteries", true)
|
||||||
|
defaultLib["AIObjectiveCleanupItem"] = CreateStatic("Barotrauma.AIObjectiveCleanupItem", true)
|
||||||
|
defaultLib["AIObjectiveCleanupItems"] = CreateStatic("Barotrauma.AIObjectiveCleanupItems", true)
|
||||||
|
defaultLib["AIObjectiveCombat"] = CreateStatic("Barotrauma.AIObjectiveCombat", true)
|
||||||
|
defaultLib["AIObjectiveContainItem"] = CreateStatic("Barotrauma.AIObjectiveContainItem", true)
|
||||||
|
defaultLib["AIObjectiveDeconstructItem"] = CreateStatic("Barotrauma.AIObjectiveDeconstructItem", true)
|
||||||
|
defaultLib["AIObjectiveDeconstructItems"] = CreateStatic("Barotrauma.AIObjectiveDeconstructItems", true)
|
||||||
|
defaultLib["AIObjectiveEscapeHandcuffs"] = CreateStatic("Barotrauma.AIObjectiveEscapeHandcuffs", true)
|
||||||
|
defaultLib["AIObjectiveExtinguishFire"] = CreateStatic("Barotrauma.AIObjectiveExtinguishFire", true)
|
||||||
|
defaultLib["AIObjectiveExtinguishFires"] = CreateStatic("Barotrauma.AIObjectiveExtinguishFires", true)
|
||||||
|
defaultLib["AIObjectiveFightIntruders"] = CreateStatic("Barotrauma.AIObjectiveFightIntruders", true)
|
||||||
|
defaultLib["AIObjectiveFindDivingGear"] = CreateStatic("Barotrauma.AIObjectiveFindDivingGear", true)
|
||||||
|
defaultLib["AIObjectiveFindSafety"] = CreateStatic("Barotrauma.AIObjectiveFindSafety", true)
|
||||||
|
defaultLib["AIObjectiveFixLeak"] = CreateStatic("Barotrauma.AIObjectiveFixLeak", true)
|
||||||
|
defaultLib["AIObjectiveFixLeaks"] = CreateStatic("Barotrauma.AIObjectiveFixLeaks", true)
|
||||||
|
defaultLib["AIObjectiveGetItem"] = CreateStatic("Barotrauma.AIObjectiveGetItem", true)
|
||||||
|
defaultLib["AIObjectiveGoTo"] = CreateStatic("Barotrauma.AIObjectiveGoTo", true)
|
||||||
|
defaultLib["AIObjectiveIdle"] = CreateStatic("Barotrauma.AIObjectiveIdle", true)
|
||||||
|
defaultLib["AIObjectiveOperateItem"] = CreateStatic("Barotrauma.AIObjectiveOperateItem", true)
|
||||||
|
defaultLib["AIObjectiveOperateItem"] = CreateStatic("Barotrauma.AIObjectiveOperateItem", true)
|
||||||
|
defaultLib["AIObjectivePumpWater"] = CreateStatic("Barotrauma.AIObjectivePumpWater", true)
|
||||||
|
defaultLib["AIObjectiveRepairItem"] = CreateStatic("Barotrauma.AIObjectiveRepairItem", true)
|
||||||
|
defaultLib["AIObjectiveRepairItems"] = CreateStatic("Barotrauma.AIObjectiveRepairItems", true)
|
||||||
|
defaultLib["AIObjectiveRescue"] = CreateStatic("Barotrauma.AIObjectiveRescue", true)
|
||||||
|
defaultLib["AIObjectiveRescueAll"] = CreateStatic("Barotrauma.AIObjectiveRescueAll", true)
|
||||||
|
defaultLib["AIObjectiveReturn"] = CreateStatic("Barotrauma.AIObjectiveReturn", true)
|
||||||
|
defaultLib["AITarget"] = CreateStatic("Barotrauma.AITarget", true)
|
||||||
|
|
||||||
|
defaultLib["Order"] = CreateStatic("Barotrauma.Order", true)
|
||||||
|
defaultLib["OrderPrefab"] = CreateStatic("Barotrauma.OrderPrefab", true)
|
||||||
|
defaultLib["OrderTarget"] = CreateStatic("Barotrauma.OrderTarget", true)
|
||||||
|
|
||||||
|
local componentsToReference = { "DockingPort", "Door", "GeneticMaterial", "Growable", "Holdable", "LevelResource", "ItemComponent", "ItemLabel", "LightComponent", "Controller", "Deconstructor", "Engine", "Fabricator", "OutpostTerminal", "Pump", "Reactor", "Steering", "PowerContainer", "Projectile", "Repairable", "Rope", "Scanner", "ButtonTerminal", "ConnectionPanel", "CustomInterface", "MemoryComponent", "Terminal", "WifiComponent", "Wire", "TriggerComponent", "ElectricalDischarger", "EntitySpawnerComponent", "ProducedItem", "VineTile", "GrowthSideExtension", "IdCard", "MeleeWeapon", "Pickable", "Propulsion", "RangedWeapon", "RepairTool", "Sprayer", "Throwable", "ItemContainer", "Ladder", "LimbPos", "MiniMap", "OxygenGenerator", "Sonar", "SonarTransducer", "Vent", "NameTag", "Planter", "Powered", "PowerTransfer", "Quality", "RemoteController", "AdderComponent", "AndComponent", "ArithmeticComponent", "ColorComponent", "ConcatComponent", "Connection", "DelayComponent", "DivideComponent", "EqualsComponent", "ExponentiationComponent", "FunctionComponent", "GreaterComponent", "ModuloComponent", "MotionSensor", "MultiplyComponent", "NotComponent", "OrComponent", "OscillatorComponent", "OxygenDetector", "RegExFindComponent", "RelayComponent", "SignalCheckComponent", "SmokeDetector", "StringComponent", "SubtractComponent", "TrigonometricFunctionComponent", "WaterDetector", "XorComponent", "StatusHUD", "Turret", "Wearable", "CustomInterface"
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultLib["Components"] = {}
|
||||||
|
|
||||||
|
for key, value in pairs(componentsToReference) do
|
||||||
|
defaultLib["Components"][value] = CreateStatic("Barotrauma.Items.Components." .. value, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
defaultLib["Vector2"] = CreateStatic("Microsoft.Xna.Framework.Vector2", true)
|
||||||
|
defaultLib["Vector3"] = CreateStatic("Microsoft.Xna.Framework.Vector3", true)
|
||||||
|
defaultLib["Vector4"] = CreateStatic("Microsoft.Xna.Framework.Vector4", true)
|
||||||
|
defaultLib["Color"] = CreateStatic("Microsoft.Xna.Framework.Color", true)
|
||||||
|
defaultLib["Point"] = CreateStatic("Microsoft.Xna.Framework.Point", true)
|
||||||
|
defaultLib["Rectangle"] = CreateStatic("Microsoft.Xna.Framework.Rectangle", true)
|
||||||
|
defaultLib["Matrix"] = CreateStatic("Microsoft.Xna.Framework.Matrix", true)
|
||||||
|
|
||||||
|
return defaultLib
|
||||||
40
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Math.lua
Normal file
40
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Math.lua
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
math.lerp = function (a, b, t)
|
||||||
|
if type(a) ~= "number" then error(string.format("bad argument #1 to 'lerp' (number expected, got %s)", type(a)), 2) end
|
||||||
|
if type(b) ~= "number" then error(string.format("bad argument #2 to 'lerp' (number expected, got %s)", type(b)), 2) end
|
||||||
|
if type(t) ~= "number" then error(string.format("bad argument #3 to 'lerp' (number expected, got %s)", type(t)), 2) end
|
||||||
|
|
||||||
|
return a * (1 - t) + b * t
|
||||||
|
end
|
||||||
|
|
||||||
|
math.clamp = function (value, min, max)
|
||||||
|
if type(value) ~= "number" then error(string.format("bad argument #1 to 'clamp' (number expected, got %s)", type(value)), 2) end
|
||||||
|
if type(min) ~= "number" then error(string.format("bad argument #2 to 'clamp' (number expected, got %s)", type(min)), 2) end
|
||||||
|
if type(max) ~= "number" then error(string.format("bad argument #3 to 'clamp' (number expected, got %s)", type(max)), 2) end
|
||||||
|
|
||||||
|
return math.max(min, math.min(max, value))
|
||||||
|
end
|
||||||
|
|
||||||
|
math.round = function (value, decimals)
|
||||||
|
if type(value) ~= "number" then error(string.format("bad argument #1 to 'round' (number expected, got %s)", type(value)), 2) end
|
||||||
|
if type(decimals) ~= "number" then error(string.format("bad argument #2 to 'round' (number expected, got %s)", type(decimals)), 2) end
|
||||||
|
|
||||||
|
decimals = decimals or 0
|
||||||
|
local mult = 10 ^ decimals
|
||||||
|
return math.floor(value * mult + 0.5) / mult
|
||||||
|
end
|
||||||
|
|
||||||
|
math.sign = function (value)
|
||||||
|
if type(value) ~= "number" then error(string.format("bad argument #1 to 'sign' (number expected, got %s)", type(value)), 2) end
|
||||||
|
|
||||||
|
return value >= 0 and 1 or -1
|
||||||
|
end
|
||||||
|
|
||||||
|
math.remap = function (value, inMin, inMax, outMin, outMax)
|
||||||
|
if type(value) ~= "number" then error(string.format("bad argument #1 to 'remap' (number expected, got %s)", type(value)), 2) end
|
||||||
|
if type(inMin) ~= "number" then error(string.format("bad argument #2 to 'remap' (number expected, got %s)", type(inMin)), 2) end
|
||||||
|
if type(inMax) ~= "number" then error(string.format("bad argument #3 to 'remap' (number expected, got %s)", type(inMax)), 2) end
|
||||||
|
if type(outMin) ~= "number" then error(string.format("bad argument #4 to 'remap' (number expected, got %s)", type(outMin)), 2) end
|
||||||
|
if type(outMax) ~= "number" then error(string.format("bad argument #5 to 'remap' (number expected, got %s)", type(outMax)), 2) end
|
||||||
|
|
||||||
|
return outMin + (outMax - outMin) * ((value - inMin) / (inMax - inMin))
|
||||||
|
end
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
if true then return end
|
||||||
|
|
||||||
|
local descriptor = LuaUserData.RegisterType("Barotrauma.LuaCsSteam")
|
||||||
|
|
||||||
|
LuaUserData.AddMethod(descriptor, "GetWorkshopCollection", function (id, callback)
|
||||||
|
id = tostring(id)
|
||||||
|
|
||||||
|
Networking.RequestPostHTTP("https://api.steampowered.com/ISteamRemoteStorage/GetCollectionDetails/v1/", function (result)
|
||||||
|
local data = json.parse(result)
|
||||||
|
|
||||||
|
if data.response.collectiondetails[1].children == nil then
|
||||||
|
callback()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local workshopItems = {}
|
||||||
|
|
||||||
|
for key, value in pairs(data.response.collectiondetails[1].children) do
|
||||||
|
table.insert(workshopItems, value.publishedfileid)
|
||||||
|
end
|
||||||
|
|
||||||
|
if callback then
|
||||||
|
callback(workshopItems)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
"collectioncount=1&publishedfileids[0]=" .. id,
|
||||||
|
"application/x-www-form-urlencoded")
|
||||||
|
end)
|
||||||
13
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/String.lua
Normal file
13
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/String.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
string.startsWith = function(str, start)
|
||||||
|
if type(str) ~= "string" then error(string.format("bad argument #1 to 'startsWith' (string expected, got %s)", type(str)), 2) end
|
||||||
|
if type(start) ~= "string" then error(string.format("bad argument #2 to 'startsWith' (string expected, got %s)", type(start)), 2) end
|
||||||
|
|
||||||
|
return string.sub(str, 1, string.len(start)) == start
|
||||||
|
end
|
||||||
|
|
||||||
|
string.endsWith = function(str, ending)
|
||||||
|
if type(str) ~= "string" then error(string.format("bad argument #1 to 'endsWith' (string expected, got %s)", type(str)), 2) end
|
||||||
|
if type(ending) ~= "string" then error(string.format("bad argument #2 to 'endsWith' (string expected, got %s)", type(ending)), 2) end
|
||||||
|
|
||||||
|
return ending == "" or string.sub(str, -string.len(ending)) == ending
|
||||||
|
end
|
||||||
86
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Util.lua
Normal file
86
LocalMods/LuaCsForBarotrauma/Lua/DefaultLib/Utils/Util.lua
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
Util = {}
|
||||||
|
|
||||||
|
local itemDictionary = {}
|
||||||
|
local itemGroups = {}
|
||||||
|
|
||||||
|
local function AddItem(item)
|
||||||
|
for _, itemGroup in pairs(itemGroups) do
|
||||||
|
if itemGroup.func(item) then
|
||||||
|
table.insert(itemGroup.items, item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local id = item.Prefab.Identifier.Value
|
||||||
|
if itemDictionary[id] == nil then
|
||||||
|
itemDictionary[id] = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(itemDictionary[id], item)
|
||||||
|
end
|
||||||
|
|
||||||
|
Hook.Add("item.created", "luaSetup.util.itemDictionary", function (item)
|
||||||
|
AddItem(item)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Hook.Add("roundEnd", "luaSetup.util.itemDictionary", function (item)
|
||||||
|
itemDictionary = {}
|
||||||
|
for _, itemGroup in pairs(itemGroups) do
|
||||||
|
itemGroup.items = {}
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
for _, item in pairs(Item.ItemList) do
|
||||||
|
AddItem(item)
|
||||||
|
end
|
||||||
|
|
||||||
|
Util.RegisterItemGroup = function(groupName, func)
|
||||||
|
if type(groupName) ~= "string" then
|
||||||
|
error(string.format("bad argument #1 to 'RegisterItemGroup' (string expected, got %s)", type(groupName)), 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
if type(func) ~= "function" then
|
||||||
|
error(string.format("bad argument #2 to 'RegisterItemGroup' (function expected, got %s)", type(func)), 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
local items = {}
|
||||||
|
for _, item in pairs(Item.ItemList) do
|
||||||
|
if func(item) then
|
||||||
|
table.insert(items, item)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
itemGroups[groupName] = {
|
||||||
|
func = func,
|
||||||
|
items = items
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
Util.GetItemGroup = function(groupName)
|
||||||
|
if type(groupName) ~= "string" then
|
||||||
|
error(string.format("bad argument #1 to 'GetItemGroup' (string expected, got %s)", type(groupName)), 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
if not itemGroups[groupName] then
|
||||||
|
error("bad argument #1 to 'GetItemGroup' couldn't find the specified groupName", 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
return itemGroups[groupName].items or {}
|
||||||
|
end
|
||||||
|
|
||||||
|
Util.GetItemsById = function(id)
|
||||||
|
if id == nil then
|
||||||
|
error(string.format("bad argument #1 to 'GetItemsById' (string expected, got %s)", type(id)), 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
return itemDictionary[id]
|
||||||
|
end
|
||||||
|
|
||||||
|
Util.FindClientCharacter = function(character)
|
||||||
|
if CLIENT and Game.IsSingleplayer then return nil end
|
||||||
|
|
||||||
|
for _, client in pairs(Client.ClientList) do
|
||||||
|
if client.Character == character then
|
||||||
|
return client
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
38
LocalMods/LuaCsForBarotrauma/Lua/LuaSetup.lua
Normal file
38
LocalMods/LuaCsForBarotrauma/Lua/LuaSetup.lua
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
LuaSetup = {}
|
||||||
|
|
||||||
|
local path = ...
|
||||||
|
|
||||||
|
local function AddTableToGlobal(tbl)
|
||||||
|
for k, v in pairs(tbl) do
|
||||||
|
_G[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if SERVER then
|
||||||
|
AddTableToGlobal(dofile(path .. "/Lua/DefaultLib/LibServer.lua"))
|
||||||
|
else
|
||||||
|
AddTableToGlobal(dofile(path .. "/Lua/DefaultLib/LibClient.lua"))
|
||||||
|
end
|
||||||
|
|
||||||
|
AddTableToGlobal(dofile(path .. "/Lua/DefaultLib/LibShared.lua"))
|
||||||
|
|
||||||
|
AddTableToGlobal(dofile(path .. "/Lua/CompatibilityLib.lua"))
|
||||||
|
|
||||||
|
dofile(path .. "/Lua/DefaultHook.lua")
|
||||||
|
|
||||||
|
Descriptors = LuaUserData
|
||||||
|
|
||||||
|
dofile(path .. "/Lua/DefaultLib/Utils/Math.lua")
|
||||||
|
dofile(path .. "/Lua/DefaultLib/Utils/String.lua")
|
||||||
|
dofile(path .. "/Lua/DefaultLib/Utils/Util.lua")
|
||||||
|
dofile(path .. "/Lua/DefaultLib/Utils/SteamApi.lua")
|
||||||
|
|
||||||
|
if not CSActive then
|
||||||
|
for k, v in pairs(debug) do
|
||||||
|
if k ~= "getmetatable" and k ~= "setmetatable" and k ~= "traceback" then
|
||||||
|
debug[k] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
LuaSetup = nil
|
||||||
8
LocalMods/LuaCsForBarotrauma/ModConfig.xml
Normal file
8
LocalMods/LuaCsForBarotrauma/ModConfig.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ModConfig>
|
||||||
|
<Lua File="%ModDir%/Lua/LuaSetup.lua" IsAutorun="true" />
|
||||||
|
<Config File="%ModDir%/Config/SettingsShared.xml"/>
|
||||||
|
<Assembly File="%ModDir%/Publicized/BarotraumaCore.dll" IsReferenceModeOnly="true"/>
|
||||||
|
<Assembly File="%ModDir%/Publicized/Barotrauma.dll" Target="Client" IsReferenceModeOnly="true" IsFileRequired="false"/>
|
||||||
|
<Assembly File="%ModDir%/Publicized/DedicatedServer.dll" Target="Server" IsReferenceModeOnly="true"/>
|
||||||
|
</ModConfig>
|
||||||
BIN
LocalMods/LuaCsForBarotrauma/Publicized/BarotraumaCore.dll
Normal file
BIN
LocalMods/LuaCsForBarotrauma/Publicized/BarotraumaCore.dll
Normal file
Binary file not shown.
BIN
LocalMods/LuaCsForBarotrauma/Publicized/DedicatedServer.dll
Normal file
BIN
LocalMods/LuaCsForBarotrauma/Publicized/DedicatedServer.dll
Normal file
Binary file not shown.
6
LocalMods/LuaCsForBarotrauma/Style.xml
Normal file
6
LocalMods/LuaCsForBarotrauma/Style.xml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<style>
|
||||||
|
<SettingsMenuTab.LuaCsSettings color="169,212,187,255" hovercolor="220,220,220,255" selectedcolor="255,255,255,255" pressedcolor="100,100,100,255" disabledcolor="125,125,125,125">
|
||||||
|
<Sprite name="LuaCsSettings" texture="%ModDir%/LuaCsSettingsIcon.png" sourcerect="0,0,64,64" tile="false" maintainaspectratio="true" origin="0.5,0.5"/>
|
||||||
|
</SettingsMenuTab.LuaCsSettings>
|
||||||
|
</style>
|
||||||
23
LocalMods/LuaCsForBarotrauma/Texts/English.xml
Normal file
23
LocalMods/LuaCsForBarotrauma/Texts/English.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<infotexts language="English" nowhitespace="false" translatedname="English">
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ModControlsButton>Mod Controls Settings</LuaCsForBarotrauma.SettingsMenu.ModControlsButton>
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ModGameplayButton>Mod Gameplay Settings</LuaCsForBarotrauma.SettingsMenu.ModGameplayButton>
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ResetVisibleSettings>Reset Displayed Settings</LuaCsForBarotrauma.SettingsMenu.ResetVisibleSettings>
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ResetPrompt.Title>Reset Visible Settings</LuaCsForBarotrauma.SettingsMenu.ResetPrompt.Title>
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ResetPrompt.Message>Are you sure you want to reset the values for currently displayed settings?</LuaCsForBarotrauma.SettingsMenu.ResetPrompt.Message>
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ResetPrompt.Yes>Yes</LuaCsForBarotrauma.SettingsMenu.ResetPrompt.Yes>
|
||||||
|
<LuaCsForBarotrauma.SettingsMenu.ResetPrompt.No>No</LuaCsForBarotrauma.SettingsMenu.ResetPrompt.No>
|
||||||
|
<!-- Settings -->
|
||||||
|
<!-- Is Cs Enabled-->
|
||||||
|
<LuaCsForBarotrauma.CsRunPolicy.DisplayName>Are C# Mods Allowed</LuaCsForBarotrauma.CsRunPolicy.DisplayName>
|
||||||
|
<LuaCsForBarotrauma.CsRunPolicy.Tooltip>Should unsandboxed scripts and dlls be allowed to run.</LuaCsForBarotrauma.CsRunPolicy.Tooltip>
|
||||||
|
<LuaCsForBarotrauma.CsRunPolicy.DisplayCategory>General</LuaCsForBarotrauma.CsRunPolicy.DisplayCategory>
|
||||||
|
<!-- Use Caching -->
|
||||||
|
<LuaCsForBarotrauma.UseCaching.DisplayName>Use Pre-Caching</LuaCsForBarotrauma.UseCaching.DisplayName>
|
||||||
|
<LuaCsForBarotrauma.UseCaching.Tooltip>Should mod files be preloaded to speed up loading. Should only be turned off if you have mods that have issues with this.</LuaCsForBarotrauma.UseCaching.Tooltip>
|
||||||
|
<LuaCsForBarotrauma.UseCaching.DisplayCategory>General</LuaCsForBarotrauma.UseCaching.DisplayCategory>
|
||||||
|
<!-- Hide Usernames In Logs-->
|
||||||
|
<LuaCsForBarotrauma.HideUserNamesInLogs.DisplayName>Hide Local OS Account Name In Logs</LuaCsForBarotrauma.HideUserNamesInLogs.DisplayName>
|
||||||
|
<LuaCsForBarotrauma.HideUserNamesInLogs.Tooltip>If true, will replace your OS account name with 'USERNAME' in log files' paths.</LuaCsForBarotrauma.HideUserNamesInLogs.Tooltip>
|
||||||
|
<LuaCsForBarotrauma.HideUserNamesInLogs.DisplayCategory>General</LuaCsForBarotrauma.HideUserNamesInLogs.DisplayCategory>
|
||||||
|
</infotexts>
|
||||||
3
LocalMods/LuaCsForBarotrauma/Texts/Portuguese.xml
Normal file
3
LocalMods/LuaCsForBarotrauma/Texts/Portuguese.xml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<infotexts language="Portuguese" nowhitespace="false" translatedname="Portuguese">
|
||||||
|
</infotexts>
|
||||||
6
LocalMods/LuaCsForBarotrauma/filelist.xml
Normal file
6
LocalMods/LuaCsForBarotrauma/filelist.xml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="LuaCsForBarotrauma">
|
||||||
|
<Text file="%ModDir%/Texts/English.xml"/>
|
||||||
|
<UIStyle file="%ModDir%/Style.xml" />
|
||||||
|
<!--<Text file="%ModDir%/Texts/Portuguese.xml"/>-->
|
||||||
|
</contentpackage>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CrawlerRun footangle="-15.42238" Flip="True" FlipCooldown="1" FlipDelay="0.5" HeadMoveForce="10" TorsoMoveForce="15" FootMoveForce="5" TailTorque="50" LegTorque="0" ColliderStandAngle="90" FootAngles="10: 1.515006,15: 1.5882496,11: 1.9198622" TailAngle="85" StepSize="0.54825926,0.37847614" HeadPosition="0.799391" TorsoPosition="0.9479357" StepLiftHeadMultiplier="0.5" StepLiftAmount="20" MultiplyByDir="True" StepLiftOffset="0.5000001" StepLiftFrequency="1" BackwardsMovementMultiplier="0.75" MovementSpeed="5.024437" CycleSpeed="2" HeadAngle="7" TorsoAngle="4" HeadTorque="400" TorsoTorque="100" FootTorque="25" AnimationType="Run" ArmIKStrength="1" HandIKStrength="1" type="Crawler" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CrawlerSwimFast footangle="0" UseSineMovement="False" Flip="True" FlipCooldown="1" FlipDelay="0.2" Mirror="False" MirrorLerp="True" WaveAmplitude="17.957405" WaveLength="36.39117" RotateTowardsMovement="True" TailTorque="250" TailTorqueMultiplier="1" FootAngles="10: 1.580441,15: 0,11: 0" TailAngle="NaN" SteerTorque="10" LegTorque="25" MovementSpeed="8" CycleSpeed="5" HeadAngle="151" TorsoAngle="59" HeadTorque="25" TorsoTorque="25" FootTorque="10" AnimationType="SwimFast" ArmIKStrength="1" HandIKStrength="1" type="Crawler" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CrawlerSwimSlow footangle="0" UseSineMovement="False" Flip="True" FlipCooldown="2" FlipDelay="0.3" Mirror="False" MirrorLerp="True" WaveAmplitude="5.694347" WaveLength="40.9427" RotateTowardsMovement="True" TailTorque="50" TailTorqueMultiplier="1" FootAngles="10: 1.567869,15: 0,11: 0" TailAngle="NaN" SteerTorque="10" LegTorque="25" MovementSpeed="4" CycleSpeed="5" HeadAngle="141" TorsoAngle="67" HeadTorque="10" TorsoTorque="25" FootTorque="10" AnimationType="SwimSlow" ArmIKStrength="1" HandIKStrength="1" type="Crawler" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<CrawlerWalk footangle="-36.14369" Flip="True" FlipCooldown="3" FlipDelay="1" HeadMoveForce="10" TorsoMoveForce="10" FootMoveForce="3" TailTorque="50" LegTorque="0" ColliderStandAngle="90" FootAngles="10: 0.8620372,15: 1.5882496,11: 1.5707964" TailAngle="-0" StepSize="0.45751935,0.55915964" HeadPosition="1.1996936" TorsoPosition="0.70749724" StepLiftHeadMultiplier="0.29999992" StepLiftAmount="20" MultiplyByDir="True" StepLiftOffset="0.5999999" StepLiftFrequency="1" BackwardsMovementMultiplier="0.75" MovementSpeed="1.5456418" CycleSpeed="3.7958877" HeadAngle="0" TorsoAngle="12" HeadTorque="400" TorsoTorque="50" FootTorque="50" AnimationType="Walk" ArmIKStrength="1" HandIKStrength="1" type="Crawler" />
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<override>
|
||||||
|
<Character visiblity="100" SpeciesName="Crawler" SpeciesTranslationOverride="" DisplayName="" Group="crawler" Humanoid="false" HasInfo="False" CanInteract="False" Husk="False" UseHuskAppendage="False" NeedsAir="False" NeedsWater="False" CanSpeak="False" UseBossHealthBar="False" Noise="100" Visibility="100" BloodDecal="blood" BleedParticleAir="blooddrop" BleedParticleWater="waterblood" BleedParticleMultiplier="1" CanEat="True" EatingSpeed="5" UsePathFinding="True" PathFinderPriority="1" HideInSonar="False" HideInThermalGoggles="False" SonarDisruption="0" DistantSonarRange="0" DisableDistance="25000" SoundInterval="10" DrawLast="False">
|
||||||
|
<ragdolls folder="default" />
|
||||||
|
<animations folder="default" />
|
||||||
|
<damageemitter drawontop="True" Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="0.25" ScaleMax="0.5" VelocityMin="50" VelocityMax="300" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<bloodemitter Particle="blood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<bloodemitter Particle="waterblood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="1" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<gibemitter Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="1" ScaleMax="1" VelocityMin="200" VelocityMax="700" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="20" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<gibemitter Particle="heavygib" AngleMin="0" AngleMax="360" ScaleMin="0.5" ScaleMax="0.8" VelocityMin="50" VelocityMax="500" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="5" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<health Vitality="80" DoesBleed="True" CrushDepth="Infinity" UseHealthWindow="False" BleedingReduction="0.2" BurnReduction="0" ConstantHealthRegeneration="0" HealthRegenerationWhenEating="10" StunImmunity="False" PoisonImmunity="False" ApplyAfflictionColors="False">
|
||||||
|
<Limb name="Torso">
|
||||||
|
<VitalityMultiplier type="damage,burn" multiplier="1.0" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="Head">
|
||||||
|
<VitalityMultiplier type="damage,burn" multiplier="1.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="LeftLeg">
|
||||||
|
<VitalityMultiplier type="damage,burn" multiplier="0.75" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="RightLeg">
|
||||||
|
<VitalityMultiplier type="damage,burn" multiplier="0.75" />
|
||||||
|
</Limb>
|
||||||
|
<Limb>
|
||||||
|
<!--Tail-->
|
||||||
|
<VitalityMultiplier type="damage,burn" multiplier="0.75" />
|
||||||
|
</Limb>
|
||||||
|
</health>
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_attack1.ogg" State="Attack" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_attack2.ogg" State="Attack" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_attack3.ogg" State="Attack" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_attack4.ogg" State="Attack" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_idle1.ogg" State="Idle" Range="1000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_idle2.ogg" State="Idle" Range="1000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_idle3.ogg" State="Idle" Range="1000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_death1.ogg" State="Die" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_death2.ogg" State="Die" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_damage1.ogg" State="Damage" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_damage2.ogg" State="Damage" Range="2000" Volume="1" Tags="" />
|
||||||
|
<sound File="Content/Characters/Crawler/CRAWLER_damage3.ogg" State="Damage" Range="2000" Volume="1" Tags="" />
|
||||||
|
<Inventory slots="Any, Any, Any, Any" accessiblewhenalive="False" commonness="1">
|
||||||
|
<Item identifier="crawlermask" />
|
||||||
|
<Item identifier="alienblood" />
|
||||||
|
</Inventory>
|
||||||
|
<Inventory slots="Any, Any, Any, Any" accessiblewhenalive="False" commonness="50">
|
||||||
|
<Item identifier="alienblood" />
|
||||||
|
</Inventory>
|
||||||
|
|
||||||
|
<StatusEffect type="OnDeconstructed" target="Character">
|
||||||
|
<SpawnItem identifiers="alienblood" spawnposition="ThisInventory" count="3" />
|
||||||
|
</StatusEffect>
|
||||||
|
|
||||||
|
<ai CombatStrength="100" Sight="1" Hearing="1" AggressionHurt="200" AggressionGreed="10" FleeHealthThreshold="10" AttackWhenProvoked="False" AvoidGunfire="True" DamageThreshold="0" AvoidTime="3" MinFleeTime="20" AggressiveBoarding="True" EnforceAggressiveBehaviorForMissions="True" TargetOuterWalls="True" RandomAttack="False" CanOpenDoors="False" KeepDoorsClosed="False" AvoidAbyss="True" StayInAbyss="False" PatrolFlooded="False" PatrolDry="False" StartAggression="0" MaxAggression="100" AggressionCumulation="0" WallTargetingMethod="Target">
|
||||||
|
<target Tag="decoy" State="Attack" Priority="500" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="True" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="stronger" State="Avoid" Priority="200" ReactDistance="2000" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="husk" State="PassiveAggressive" Priority="200" ReactDistance="2000" AttackDistance="500" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="provocative" State="Attack" Priority="100" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="True" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="weapon" State="Attack" Priority="100" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="True" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="dead" State="Eat" Priority="100" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="weaker" State="Attack" Priority="80" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="human" State="Attack" Priority="80" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="nasonov" State="Attack" Priority="70" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="tool" State="Aggressive" Priority="50" ReactDistance="1000" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="True" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="leucocyte" State="Avoid" Priority="50" ReactDistance="1000" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="engine" State="Avoid" Priority="50" ReactDistance="400" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="True" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="monsterfood" State="Eat" Priority="30" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="room" State="Attack" Priority="30" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="wall" State="Attack" Priority="15" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="door" State="Attack" Priority="5" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="False" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="sonar" State="Attack" Priority="5" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="True" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="turret" State="Attack" Priority="1" ReactDistance="0" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="True" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="crawlerbroodmother" State="Protect" Priority="10" ReactDistance="750" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="True" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="crawler_large" State="Protect" Priority="5" ReactDistance="750" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="True" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<target Tag="watcher" State="Protect" Priority="1" ReactDistance="1000" AttackDistance="0" Timer="0" IgnoreContained="False" IgnoreInside="True" IgnoreOutside="False" IgnoreIfNotInSameSub="False" IgnoreIncapacitated="False" Threshold="0" ThresholdMin="-1" ThresholdMax="-1" Offset="0,0" AttackPattern="Straight" PrioritizeSubCenter="False" SweepDistance="0" SweepStrength="10" SweepSpeed="1" CircleStartDistance="5000" CircleRotationSpeed="1" CircleStrikeDistanceMultiplier="5" CircleMaxRandomOffset="0" />
|
||||||
|
<chooserandom>
|
||||||
|
<latchonto attachtowalls="true" attachtosub="true" mindeattachspeed="5.0" maxdeattachspeed="8.0" damageondetach="30" detachstun="5.0" attachlimb="Head" localattachpos="40,10" offset="50" attachlimbrotation="100" />
|
||||||
|
<latchonto attachtowalls="true" attachtosub="false" mindeattachspeed="5.0" maxdeattachspeed="8.0" damageondetach="30" detachstun="5.0" attachlimb="Head" localattachpos="40,10" offset="50" attachlimbrotation="100" />
|
||||||
|
</chooserandom>
|
||||||
|
<SwarmBehavior mindistfromclosest="200" maxdistfromcenter="1000" cohesion="1" />
|
||||||
|
</ai>
|
||||||
|
</Character>
|
||||||
|
</override>
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
<Ragdoll type="crawler" Texture="%ModDir%/Characters/Crawler/crawler.png" Color="255,255,255,255" SpritesheetOrientation="90" LimbScale="0.65" JointScale="0.65" TextureScale="0.5" ColliderHeightFromFloor="40" ImpactTolerance="10" CanEnterSubmarine="True" CanWalk="True" Draggable="True" MainLimb="Torso">
|
||||||
|
<collider height="120" radius="50" name="Main Collider" width="0" />
|
||||||
|
<!-- Head -->
|
||||||
|
<limb id="0" radius="40" type="Head" flip="True" steerforce="10" healthindex="1" attackpriority="1" stepoffset="0,0" bodytype="Dynamic" height="0" width="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Head" notes="" spriteorientation="90" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0.8,-1" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="8" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="306,4,204,164" depth="0.1" origin="0.52333707,0.4824578" subdivisions="3,3" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False"></deformablesprite>
|
||||||
|
<lightsource color="255,255,255,0" range="0" offset="0,6" castshadows="false" scale="2.0" rotation="0" flicker="0" flickerspeed="1" pulsefrequency="0" pulseamount="0" blinkfrequency="0" >
|
||||||
|
<lighttexture texture="Content/Lights/pointlight_bright.png" origin="0.5,0.5" size="1,1" />
|
||||||
|
<deformablesprite texture="Content/Characters/Watcher/gazerage.png" sourcerect="0,0,102,82" origin="0.5,0.5" size="1,1" alpha="0.6" />
|
||||||
|
<conditional watchersgaze="gt 0" />
|
||||||
|
</lightsource>
|
||||||
|
</limb>
|
||||||
|
<!-- BodyUpper (main torso) -->
|
||||||
|
<limb id="1" width="1.6999927" height="0" type="Torso" flip="True" steerforce="0.1" healthindex="0" attackpriority="1" stepoffset="0,0" bodytype="Dynamic" radius="55" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Torso" notes="" spriteorientation="NaN" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="8" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="72,0,230,226" depth="0.2" origin="0.4606622,0.4951695" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<SpriteDeformation type="inflate" resolution="5,5" frequency="2" scale="0.2" sync="1" stopwhenhostisdead="True" typename="inflate" blendmode="Add" usemovementsine="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
<SpriteDeformation type="custom" resolution="5,5" frequency="0" blendmode="Multiply" row0="0,0 0.5,1 1,1 0.5,1 0,0" row1="0,0 0.5,1 1,1 0.5,1 0,0" row2="0,0 0.5,1 1,1 0.5,1 0,0" row3="0,0 0.5,1 1,1 0.5,1 0,0" row4="0,0 0.5,1 1,1 0.5,1 0,0" amplitude="1" sync="-1" typename="custom" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" blendmode="Add" sync="-1" typename="bendjoint" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<limb id="2" width="74.799995" height="68.85" type="Tail" flip="True" healthindex="4" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 2" notes="" spriteorientation="270" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="4" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="334,346,174,162" depth="0.21" origin="0.5457247,0.5583258" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<SpriteDeformation type="inflate" resolution="5,5" frequency="2" scale="0.2" sync="1" stopwhenhostisdead="True" typename="inflate" blendmode="Add" usemovementsine="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
<SpriteDeformation type="custom" resolution="5,5" frequency="0" blendmode="Multiply" row0="0,0 0.5,1 1,1 0.5,1 0,0" row1="0,0 0.5,1 1,1 0.5,1 0,0" row2="0,0 0.5,1 1,1 0.5,1 0,0" row3="0,0 0.5,1 1,1 0.5,1 0,0" row4="0,0 0.5,1 1,1 0.5,1 0,0" amplitude="1" sync="-1" typename="custom" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" blendmode="Add" sync="-1" typename="bendjoint" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<limb id="3" width="70.55" height="65.45" type="Tail" flip="True" healthindex="4" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 3" notes="" spriteorientation="270" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="142,358,166,154" depth="0.22" origin="0.5427743,0.5" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" sync="-1" typename="bendjoint" blendmode="Add" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<limb id="4" width="53.55" height="47.600002" type="Tail" flip="True" healthindex="4" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 4" notes="" spriteorientation="270" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="194,226,126,112" depth="0.023" origin="0.5571429,0.4659517" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" sync="-1" typename="bendjoint" blendmode="Add" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<limb id="5" width="39.95" height="28.900003" type="Tail" flip="True" healthindex="4" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 5" notes="" spriteorientation="270" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="0,270,94,68" depth="0.24" origin="0.53557885,0.59164065" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" sync="-1" typename="bendjoint" blendmode="Add" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<limb id="6" width="37.399998" height="23.800001" type="Tail" flip="True" healthindex="4" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 6" notes="" spriteorientation="270" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="100,228,88,56" depth="0.025" origin="0.5984064,0.5294023" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" sync="-1" typename="bendjoint" blendmode="Add" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<limb id="7" width="39.1" height="20.400002" type="Tail" flip="True" healthindex="4" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 7" notes="" spriteorientation="270" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="94,284,92,48" depth="0.26" origin="0.54265505,0.5360783" subdivisions="5,5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False">
|
||||||
|
<spritedeformation type="bendjoint" resolution="5,5" sync="-1" typename="bendjoint" blendmode="Add" usemovementsine="False" stopwhenhostisdead="False" sineoffset="0" strength="1" maxrotation="90" onlyinwater="False" />
|
||||||
|
</deformablesprite>
|
||||||
|
</limb>
|
||||||
|
<!-- Jaw -->
|
||||||
|
<limb id="8" width="53.55" height="38.25" ignorecollisions="True" flip="True" type="Jaw" healthindex="1" attackpriority="2" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="0,0" refjoint="-1" name="Jaw" notes="" spriteorientation="90" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="322,166,126,90" depth="0.11" origin="0.53524786,0.5846235" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
<attack context="Ground" cooldown="0.5" range="50" damagerange="50" duration="0.25" stun="0" structuredamage="0" itemdamage="0" structuresoundtype="" targetimpulse="0" targetimpulseworld="0,-5" severlimbsprobability="0.1" force="10" torque="100" hitdetectiontype="Distance" onlyhumans="False" targetforce="0" targetforceworld="0,0" priority="0" targettype="Character" secondarycooldown="0" applyforcesonlyonce="False" stickchance="0" cooldownrandomfactor="0.25" afterattack="Pursue" reverse="False" targetlimbtype="None" retreat="False" applyforceonlimbs="0, 8" afterattackdelay="0" rootforceworldstart="0,0" rootforceworldmiddle="0,0" rootforceworldend="0,0" roottransitioneasing="Linear" fullspeedafterattack="False" emitstructuredamageparticles="True" penetration="0" levelwalldamage="0" ranged="False" avoidfriendlyfire="False" requiredangle="20" submarineimpactmultiplier="1" blink="False">
|
||||||
|
<Affliction identifier="stun" strength="0.1" probability="0.5" />
|
||||||
|
<Affliction identifier="bitewounds" strength="3" probability="1" />
|
||||||
|
<Affliction identifier="bleeding" strength="5" probability="0.5" />
|
||||||
|
<StatusEffect type="OnUse" target="This" disabledeltatime="true">
|
||||||
|
<ReduceAffliction type="damage" strength="2" />
|
||||||
|
</StatusEffect>
|
||||||
|
</attack>
|
||||||
|
</limb>
|
||||||
|
<limb id="14" width="25" height="20" name="Jump Attack" type="None" spriteorientation="NaN" flip="True" mirrorvertically="False" mirrorhorizontally="False" hide="True" attackpriority="1" steerforce="0" radius="0" density="1" ignorecollisions="True" angulardamping="7" pullpos="0,0" stepoffset="0,0" refjoint="-1" mouthpos="0,0" notes="" healthindex="0" friction="0.3" restitution="0.05" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<sprite sourcerect="458,128,50,40" origin="0.44604877,0.5119512" depth="0" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
<attack context="Ground" cooldown="5" range="200" damagerange="100" duration="0.5" structuredamage="0" itemdamage="0" structuresoundtype="StructureSlash" targetimpulse="0" targetimpulseworld="0,0" severlimbsprobability="0.5" force="20" rootforceworldstart="0,25" rootforceworldmiddle="10,50" rootforceworldend="10,-50" roottransitioneasing="Smooth" applyforceonlimbs="0, 1, 15, 11" torque="50" hitdetectiontype="Distance" onlyhumans="False" targetforce="20" targetforceworld="0,-15" priority="1" targettype="Character" secondarycooldown="0.01" applyforcesonlyonce="False" stickchance="0" cooldownrandomfactor="0.25" afterattack="PursueIfCanAttack" reverse="False" targetlimbtype="Torso" retreat="False" afterattackdelay="0" stun="0" fullspeedafterattack="False" emitstructuredamageparticles="True" penetration="0" levelwalldamage="0" ranged="False" avoidfriendlyfire="False" requiredangle="20" submarineimpactmultiplier="1" blink="False">
|
||||||
|
<Affliction identifier="stun" strength="1.5" probability="1" />
|
||||||
|
<Affliction identifier="bitewounds" strength="12" probability="1" />
|
||||||
|
</attack>
|
||||||
|
</limb>
|
||||||
|
<limb id="16" width="25" height="20" name="Water Attack C" type="None" spriteorientation="NaN" flip="True" mirrorvertically="False" mirrorhorizontally="False" hide="True" attackpriority="1" steerforce="0" radius="0" density="1" ignorecollisions="True" angulardamping="7" pullpos="0,0" stepoffset="0,0" refjoint="-1" mouthpos="0,0" notes="" healthindex="0" friction="0.3" restitution="0.05" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<sprite sourcerect="458,128,50,40" origin="0.44604877,0.5119512" depth="0" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
<attack context="Water" cooldown="3" range="150" damagerange="50" duration="0.5" structuredamage="0" itemdamage="0" structuresoundtype="StructureSlash" targetimpulse="50" targetimpulseworld="0,0" severlimbsprobability="0.5" force="20" applyforceonlimbs="0, 11, 15" torque="0" hitdetectiontype="Distance" onlyhumans="False" targetforce="0" targetforceworld="0,0" priority="0" targettype="Character" secondarycooldown="0.5" applyforcesonlyonce="False" stickchance="0" cooldownrandomfactor="0.25" afterattack="FollowThrough" reverse="False" targetlimbtype="None" retreat="False" afterattackdelay="0" stun="0" rootforceworldstart="0,0" rootforceworldmiddle="0,0" rootforceworldend="0,0" roottransitioneasing="Linear" fullspeedafterattack="False" emitstructuredamageparticles="True" penetration="0" levelwalldamage="0" ranged="False" avoidfriendlyfire="False" requiredangle="20" submarineimpactmultiplier="1" blink="False">
|
||||||
|
<Affliction identifier="stun" strength="0.25" probability="1" />
|
||||||
|
<Affliction identifier="bitewounds" strength="12" probability="1" />
|
||||||
|
<affliction identifier="bleeding" strength="12" probability="0.5" />
|
||||||
|
<StatusEffect type="OnUse" target="This" disabledeltatime="true">
|
||||||
|
<ReduceAffliction type="damage" strength="5" />
|
||||||
|
</StatusEffect>
|
||||||
|
</attack>
|
||||||
|
</limb>
|
||||||
|
<limb id="17" width="25" height="20" name="Structure Attack" type="None" spriteorientation="NaN" flip="True" mirrorvertically="False" mirrorhorizontally="False" hide="True" attackpriority="1" steerforce="0" radius="0" density="1" ignorecollisions="True" angulardamping="7" pullpos="0,0" stepoffset="0,0" refjoint="-1" mouthpos="0,0" notes="" healthindex="0" friction="0.3" restitution="0.05" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<sprite sourcerect="458,128,50,40" origin="0.44604877,0.5119512" depth="0" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
<attack context="Any" cooldown="3" range="100" damagerange="50" duration="0.5" structuredamage="35" itemdamage="10" structuresoundtype="StructureSlash" targetimpulse="40" targetimpulseworld="0,0" severlimbsprobability="0.5" force="20" applyforceonlimbs="0, 11, 15" torque="50" hitdetectiontype="Distance" onlyhumans="False" targetforce="0" targetforceworld="0,0" priority="0" targettype="Structure" secondarycooldown="1" applyforcesonlyonce="False" stickchance="0" cooldownrandomfactor="0.25" afterattack="FallBack" afterattackdelay="0.2" reverse="False" targetlimbtype="None" retreat="False" rootforceworldstart="0,0" rootforceworldmiddle="0,0" rootforceworldend="0,0" roottransitioneasing="Linear" fullspeedafterattack="False" emitstructuredamageparticles="True" penetration="0" levelwalldamage="35" ranged="False" avoidfriendlyfire="False" requiredangle="20" stun="0" submarineimpactmultiplier="1" blink="False" />
|
||||||
|
</limb>
|
||||||
|
<limb id="9" width="0" height="0" type="RightThigh" flip="False" healthindex="3" attackpriority="1" steerforce="0" stepoffset="0,0" radius="30" mass="0" friction="0.3" restitution="0.05" density="5" pullpos="0,0" refjoint="-1" ignorecollisions="False" name="Limb 9" notes="" spriteorientation="210" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="0,340,140,174" depth="0.11" origin="0.4472283,0.4274753" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
</limb>
|
||||||
|
<limb id="10" width="90" height="30" type="RightLeg" flip="False" healthindex="3" attackpriority="1" steerforce="0" stepoffset="0,0" radius="0" mass="0" friction="0.3" restitution="0.05" density="10" pullpos="21.6116,-9.738574" refjoint="8" ignorecollisions="False" name="RightArm" notes="" spriteorientation="90" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="320,260,190,86" depth="0.05" origin="0.452,0.59239936" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
</limb>
|
||||||
|
<!--Left Claw-->
|
||||||
|
<limb id="11" width="20" height="87.549995" ignorecollisions="False" flip="False" mass="0.5" type="RightFoot" healthindex="2" attackpriority="1" steerforce="0" stepoffset="0,0" bodytype="Dynamic" radius="0" friction="0.3" restitution="0.05" density="10" pullpos="-3.9884124,-1.8825091" refjoint="0" name="LeftClaw" notes="" spriteorientation="180" mirrorvertically="False" mirrorhorizontally="False" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="0,0,72,206" depth="0.5" origin="0.6944444,0.49514562" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
<sound tag="footstep_crawler" />
|
||||||
|
</limb>
|
||||||
|
<limb id="12" radius="0" width="90" height="30" mass="0" name="LeftArm" type="RightLeg" spriteorientation="NaN" flip="False" mirrorvertically="False" mirrorhorizontally="False" healthindex="2" attackpriority="1" steerforce="0" stepoffset="0,0" density="10" pullpos="27.3626,-6.016137" refjoint="-1" ignorecollisions="False" notes="" friction="0.3" restitution="0.05" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="320,260,190,84" origin="0.452,0.592" depth="0.5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
</limb>
|
||||||
|
<limb id="13" radius="29.750002" width="0" height="0" mass="0" name="Limb 13" type="RightThigh" spriteorientation="210" flip="False" mirrorvertically="False" mirrorhorizontally="False" healthindex="2" attackpriority="1" steerforce="0" stepoffset="0,0" density="10" pullpos="0,0" refjoint="-1" ignorecollisions="False" notes="" friction="0.3" restitution="0.05" hide="False" angulardamping="7" mouthpos="0,0" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="0,340,140,174" origin="0.5574913,0.53277266" depth="0.5" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
</limb>
|
||||||
|
<!--Right Claw-->
|
||||||
|
<limb id="15" radius="0" width="20" height="87.549995" name="RightClaw" type="RightFoot" spriteorientation="180" flip="False" mirrorvertically="False" mirrorhorizontally="False" hide="False" attackpriority="1" steerforce="0" density="10" ignorecollisions="False" angulardamping="7" pullpos="-5.450408,-0.114616506" stepoffset="0,0" refjoint="0" mouthpos="0,0" notes="" healthindex="3" friction="0.3" restitution="0.05" constanttorque="0" constantangle="0" scale="1" attackforcemultiplier="1" minseverancedamage="3" inheritlimbdepth="None" severedfadeouttime="10" applytailangle="False" sinefrequencymultiplier="1" sineamplitudemultiplier="1" blinkfrequency="0" blinkdurationin="0.2" blinkdurationout="0.5" blinkholdtime="0" blinkrotationin="0" blinkrotationout="45" blinkforce="50" onlyblinkinwater="False" blinktransitionin="Linear" blinktransitionout="Linear" canbeseveredalive="True">
|
||||||
|
<deformablesprite sourcerect="0,0,72,206" origin="0.6944444,0.49514562" depth="0" texture="" color="255,255,255,255" deadcolor="255,255,255,255" deadcolortime="0" ignoretint="False" />
|
||||||
|
<sound tag="footstep_crawler" />
|
||||||
|
</limb>
|
||||||
|
<!-- Joints -->
|
||||||
|
<joint limb1="0" limb2="1" limb1anchor="-21.448105,-10.967147" limb2anchor="47.691612,22.467834" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-30" name="Joint 0 - 1" stiffness="0.25" severanceprobabilitymodifier="0.25" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="1" limb2="2" limb1anchor="-43.57685,-1.7223679" limb2anchor="29.98288,1.783022" canbesevered="True" limitenabled="True" upperlimit="8.367105" lowerlimit="-66.20706" name="Joint 1 - 2" stiffness="0.25" severanceprobabilitymodifier="0" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<!-- Tail -->
|
||||||
|
<joint limb1="2" limb2="3" limb1anchor="-22.80847,-2.8231318" limb2anchor="31.19618,-1.2611864" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-30" name="Joint 2 - 3" stiffness="0.25" severanceprobabilitymodifier="0.1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="3" limb2="4" limb1anchor="-28.94305,-3.5352855" limb2anchor="19.21655,-1.4235371" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-30" name="Joint 3 - 4" stiffness="0.25" severanceprobabilitymodifier="0.2" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="4" limb2="5" limb1anchor="-26.94205,-2.537231" limb2anchor="15.81753,1.520584" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-30.02529" name="Joint 4 - 5" stiffness="0.25" severanceprobabilitymodifier="0.3" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="5" limb2="6" limb1anchor="-16.309858,-1.172784" limb2anchor="11.703393,0.21717258" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-29.95912" name="Joint 5 - 6" stiffness="0.25" severanceprobabilitymodifier="0.4" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="6" limb2="7" limb1anchor="-19.064672,-0.7376906" limb2anchor="12.628254,-2.6309388" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-30" name="Joint 6 - 7" stiffness="0.25" severanceprobabilitymodifier="0.5" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="0" limb2="8" limb1anchor="-7.662386,-21.138512" limb2anchor="-21.757051,13.208095" canbesevered="True" limitenabled="True" upperlimit="9" lowerlimit="-21.58732" name="Joint 0 - 8" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="1" limb2="9" limb1anchor="-3.5972703,6.2334614" limb2anchor="22.849667,7.519464" canbesevered="True" limitenabled="True" upperlimit="65" lowerlimit="-35" name="Joint 1 - 9" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="9" limb2="10" limb1anchor="-22.397194,-37.906563" limb2anchor="-32.754326,14.481597" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-90" name="Joint 9 - 10" stiffness="0.2" severanceprobabilitymodifier="0" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="1" limb2="13" limb1anchor="19.067951,15.83907" limb2anchor="14.806871,17.870033" name="Joint 1 - 13" canbesevered="True" limitenabled="True" upperlimit="64.97125" lowerlimit="-35" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="13" limb2="12" limb1anchor="-28.900497,-29.457531" limb2anchor="-32.55083,12.579753" name="Joint 13 - 12" canbesevered="True" limitenabled="True" upperlimit="45" lowerlimit="-90" stiffness="0.2" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="14" limb2="0" limb1anchor="0.20820096,0.67279637" limb2anchor="28.857014,-30.433556" name="Joint 14 - 0 (Jump Attack)" canbesevered="False" limitenabled="True" upperlimit="0" lowerlimit="0" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="16" limb2="0" limb1anchor="0.20820096,0.67279637" limb2anchor="28.857014,-30.433556" name="Joint 16 - 0 (Water Attack C)" canbesevered="False" limitenabled="True" upperlimit="0" lowerlimit="0" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="17" limb2="0" limb1anchor="0.20820096,0.67279637" limb2anchor="28.857014,-30.433556" name="Joint 17 - 0 (Water Attack S)" canbesevered="False" limitenabled="True" upperlimit="0" lowerlimit="0" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="12" limb2="11" limb1anchor="35.248386,-7.2936254" limb2anchor="-1.9848251,41.149693" name="Joint 12 - 11" canbesevered="True" limitenabled="True" upperlimit="145" lowerlimit="-45" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
<joint limb1="10" limb2="15" limb1anchor="35.34168,-6.990353" limb2anchor="-2.0823996,41.17109" name="Joint 10 - 15" canbesevered="True" limitenabled="True" upperlimit="145" lowerlimit="-45" stiffness="0.25" severanceprobabilitymodifier="1" scale="1" breaksound="gore" weldjoint="False" clockwiserotation="False" />
|
||||||
|
</Ragdoll>
|
||||||
@@ -0,0 +1,312 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Override>
|
||||||
|
<Character specifiertags="true" skincolors="(#fce1c6, 100); (#f3c696, 100); (#f3c696, 100); (#aa7744, 100); (#f4be98, 100); (#d69a70, 100); (#ab7046, 100); (#774929, 100); (#c8a583, 100); (#a57c53, 100); (#7a5026, 100); (#4a3219, 100); (#957966, 100); (#714d34, 100); (#532d12, 100); (#26190e, 100)" haircolors="(#ded7cc, 100); (#d2a36f, 100); (#c77d52, 100); (#ac4934, 100); (#d8ba85, 100); (#cd975a, 100); (#a15837, 100); (#6a3b37, 100); (#bba981, 100); (#8b7e6c, 100); (#594349, 100); (#473637, 100); (#7b8478, 100); (#494e55, 100); (#3a3a3c, 100); (#343030, 100)" facialhaircolors="(#ded7cc, 100); (#d2a36f, 100); (#c77d52, 100); (#ac4934, 100); (#d8ba85, 100); (#cd975a, 100); (#a15837, 100); (#6a3b37, 100); (#bba981, 100); (#8b7e6c, 100); (#594349, 100); (#473637, 100); (#7b8478, 100); (#494e55, 100); (#3a3a3c, 100); (#343030, 100)" SpeciesName="Human" SpeciesTranslationOverride="" DisplayName="" Group="human" Humanoid="True" HasInfo="True" CanInteract="True" CanClimb="True" Husk="False" UseHuskAppendage="True" NeedsAir="True" NeedsWater="False" CanSpeak="True" UseBossHealthBar="False" Noise="150" Visibility="150" BloodDecal="blood" BleedParticleAir="blooddrop" BleedParticleWater="waterblood" BleedParticleMultiplier="1" CanEat="True" EatingSpeed="10" UsePathFinding="True" PathFinderPriority="1" HideInSonar="False" HideInThermalGoggles="False" SonarDisruption="0" DistantSonarRange="0" DisableDistance="25000" SoundInterval="10">
|
||||||
|
<names path="Content/Characters/Human/names.xml" />
|
||||||
|
<!-- ======================= The Bug ======================= -->
|
||||||
|
<ragdolls folder="Content/Characters/Human/Bugdolls" />
|
||||||
|
<!-- ======================= The Bug ======================= -->
|
||||||
|
<animations folder="Content/Characters/Human/Animations" />
|
||||||
|
<damageemitter drawontop="True" Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="0.25" ScaleMax="0.5" VelocityMin="50" VelocityMax="300" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<bloodemitter Particle="blood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<bloodemitter Particle="waterblood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="1" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<gibemitter Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="1" ScaleMax="1" VelocityMin="200" VelocityMax="700" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="20" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<gibemitter Particle="heavygib" AngleMin="0" AngleMax="360" ScaleMin="1" ScaleMax="1" VelocityMin="50" VelocityMax="500" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage1.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage2.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage3.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage4.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage5.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage6.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage7.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage8.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage9.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage10.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage1.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage2.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage3.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage4.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage5.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage6.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage7.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage8.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage9.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage10.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage11.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<health Vitality="100" DoesBleed="True" CrushDepth="6000" UseHealthWindow="True" BleedingReduction="0" BurnReduction="0.075" ConstantHealthRegeneration="0" HealthRegenerationWhenEating="0" StunImmunity="False" PoisonImmunity="False" ApplyAfflictionColors="True">
|
||||||
|
<MedUISilhouette texture="Content/UI/Health/MedUI_Silhouette.png" columns="8" rows="2" sourcerect="0,0,1008,748" />
|
||||||
|
<MedUIExtra texture="Content/UI/Health/MedUIExtra.png" columns="4" rows="4" sourcerect="0,0,1024,1024" />
|
||||||
|
<Limb name="Head">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="1,0,126,374" highlightarea="41,0,45,54" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="1,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="2.0" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="Torso">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="631,0,126,374" highlightarea="29,56,70,134" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="631,515,126,374" />
|
||||||
|
<VitalityMultiplier type="bleeding" multiplier="2.0" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="LeftArm">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="379,0,126,374" highlightarea="1,69,27,140" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="379,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="RightArm">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="127,0,126,374" highlightarea="100,69,27,140" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="127,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="LeftLeg">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="505,0,126,374" highlightarea="3,180,57,194" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="505,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="RightLeg">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="253,0,126,374" highlightarea="68,180,57,194" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="253,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
</health>
|
||||||
|
<inventory arrowslot="9" Slots="Card, Headset, Head, InnerClothes, OuterClothes, LeftHand, RightHand, Bag, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, HealthInterface" AccessibleWhenAlive="True" Commonness="1" />
|
||||||
|
<Heads>
|
||||||
|
<Head tags="head1,male" sheetindex="0,0" />
|
||||||
|
<Head tags="head2,male" sheetindex="1,0" />
|
||||||
|
<Head tags="head3,male" sheetindex="2,0" />
|
||||||
|
<Head tags="head4,male" sheetindex="3,0" />
|
||||||
|
<Head tags="head5,male" sheetindex="0,1" />
|
||||||
|
<Head tags="head6,male" sheetindex="1,1" />
|
||||||
|
<Head tags="head7,male" sheetindex="2,1" />
|
||||||
|
<Head tags="head8,male" sheetindex="3,1" />
|
||||||
|
<Head tags="head9,male" sheetindex="0,2" />
|
||||||
|
<Head tags="head10,male" sheetindex="1,2" />
|
||||||
|
<Head tags="head11,male" sheetindex="2,2" />
|
||||||
|
<Head tags="head12,male" sheetindex="3,2" />
|
||||||
|
<Head tags="head13,male" sheetindex="0,3" />
|
||||||
|
<Head tags="head14,male" sheetindex="1,3" />
|
||||||
|
<Head tags="head15,male" sheetindex="2,3" />
|
||||||
|
<Head tags="head16,male" sheetindex="3,3" />
|
||||||
|
<Head tags="head1,female" sheetindex="0,0" />
|
||||||
|
<Head tags="head2,female" sheetindex="1,0" />
|
||||||
|
<Head tags="head3,female" sheetindex="2,0" />
|
||||||
|
<Head tags="head4,female" sheetindex="3,0" />
|
||||||
|
<Head tags="head5,female" sheetindex="0,1" />
|
||||||
|
<Head tags="head6,female" sheetindex="1,1" />
|
||||||
|
<Head tags="head7,female" sheetindex="2,1" />
|
||||||
|
<Head tags="head8,female" sheetindex="3,1" />
|
||||||
|
<Head tags="head9,female" sheetindex="0,2" />
|
||||||
|
<Head tags="head10,female" sheetindex="1,2" />
|
||||||
|
<Head tags="head11,female" sheetindex="2,2" />
|
||||||
|
<Head tags="head12,female" sheetindex="3,2" />
|
||||||
|
<Head tags="head13,female" sheetindex="0,3" />
|
||||||
|
<Head tags="head14,female" sheetindex="1,3" />
|
||||||
|
<Head tags="head15,female" sheetindex="2,3" />
|
||||||
|
<Head tags="head16,female" sheetindex="3,3" />
|
||||||
|
</Heads>
|
||||||
|
<Vars>
|
||||||
|
<Var var="GENDER" tags="female,male" />
|
||||||
|
</Vars>
|
||||||
|
<MenuCategory var="GENDER" />
|
||||||
|
<Pronouns var="GENDER" />
|
||||||
|
<HeadAttachments>
|
||||||
|
<Wearable type="Hair" tags="male">
|
||||||
|
<sprite name="Hair 1" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male">
|
||||||
|
<sprite name="Hair 2" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male">
|
||||||
|
<sprite name="Hair 3" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 4" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 5" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 6" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 7" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 8" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 9" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 10" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 11" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 12" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 13" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 14" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 15" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 16" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female">
|
||||||
|
<sprite name="Hair 1" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female">
|
||||||
|
<sprite name="Hair 2" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female">
|
||||||
|
<sprite name="Hair 3" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 4" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 5" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 6" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 7" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 8" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 9" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 10" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 11" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 12" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 13" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 14" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 15" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 16" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 1" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 2" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 3" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 4" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 5" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 6" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 7" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 8" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 9" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 10" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 11" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 12" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 13" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 14" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 15" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 16" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 1" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 2" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 3" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 4" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 5" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 6" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 7" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 8" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.05">
|
||||||
|
<sprite name="FaceAttachment 9" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 10" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.03">
|
||||||
|
<sprite name="FaceAttachment 11" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 12" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 13" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 14" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 15" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<!--
|
||||||
|
<Wearable type="FaceAttachment" commonness="1.0">
|
||||||
|
<sprite name="FaceAttachment 16" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,3"/>
|
||||||
|
</Wearable>
|
||||||
|
-->
|
||||||
|
<Wearable type="Husk">
|
||||||
|
<sprite name="Husk" texture="Content/Characters/Human/Human_husk.png" hidewearablesoftype="Beard" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Herpes">
|
||||||
|
<sprite name="Herpes" texture="Content/Characters/Human/Human_karma.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
</HeadAttachments>
|
||||||
|
</Character>
|
||||||
|
</Override>
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
<override>
|
||||||
|
<Character speciesname="Mudraptor" humanoid="False" group="mudraptor" husk="False" needsair="False" canspeak="False" noise="200" visibility="100" blooddecal="blood" eatingspeed="10" speciestranslationoverride="" displayname="" hasinfo="False" usehuskappendage="False" needswater="False" bleedparticleair="blooddrop" bleedparticlewater="waterblood" pathfinderpriority="1" hideinsonar="False" sonardisruption="0">
|
||||||
|
<ragdolls file="Content/Characters/Human/Bugdolls.xml"/>
|
||||||
|
<animations />
|
||||||
|
<health vitality="150" doesbleed="True" crushdepth="Infinity" usehealthwindow="False" bleedingreduction="1" burnreduction="0" constanthealthregeneration="0" healthregenerationwheneating="1">
|
||||||
|
<Limb name="Torso" />
|
||||||
|
<Limb name="Head" />
|
||||||
|
<Limb name="LeftLeg" />
|
||||||
|
<Limb name="RightLeg" />
|
||||||
|
<!--Tail-->
|
||||||
|
<Limb/>
|
||||||
|
</health>
|
||||||
|
<damageemitter particle="gib" particleamount="10" velocitymin="200" velocitymax="300" anglemin="0" anglemax="360" scalemin="0.15" scalemax="0.2" emitinterval="0" particlespersecond="0" highqualitycollisiondetection="False" copyentityangle="False" />
|
||||||
|
<bloodemitter particle="blood" particleamount="1" anglemin="0" anglemax="0" scalemin="1" scalemax="1" velocitymin="0" velocitymax="0" emitinterval="0" particlespersecond="0" highqualitycollisiondetection="False" copyentityangle="False" />
|
||||||
|
<bloodemitter particle="waterblood" particleamount="1" anglemin="0" anglemax="0" scalemin="1" scalemax="1" velocitymin="0" velocitymax="0" emitinterval="0" particlespersecond="0" highqualitycollisiondetection="False" copyentityangle="False" />
|
||||||
|
<gibemitter particle="gib" particleamount="20" velocitymin="200" velocitymax="700" anglemin="0" anglemax="360" scalemin="0.25" scalemax="0.5" emitinterval="0" particlespersecond="0" highqualitycollisiondetection="False" copyentityangle="False" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_attack1.ogg" state="Attack" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_attack2.ogg" state="Attack" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_attack3.ogg" state="Attack" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_damage1.ogg" state="Damage" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_damage2.ogg" state="Damage" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_damage3.ogg" state="Damage" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_idle1.ogg" state="Idle" range="2000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_idle2.ogg" state="Idle" range="2000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_idle3.ogg" state="Idle" range="2000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_idle4.ogg" state="Idle" range="2000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_death1.ogg" state="Die" range="3000" volume="1" />
|
||||||
|
<sound file="Content/Characters/Mudraptor/MUDRAPTOR_death2.ogg" state="Die" range="3000" volume="1" />
|
||||||
|
<Inventory slots="Any, Any, Any, Any" accessiblewhenalive="False" commonness="15">
|
||||||
|
<Item identifier="hydroxyapatite" />
|
||||||
|
</Inventory>
|
||||||
|
<Inventory slots="Any, Any, Any, Any" accessiblewhenalive="False" commonness="5">
|
||||||
|
<Item identifier="hydroxyapatite" />
|
||||||
|
<Item identifier="diversremains" />
|
||||||
|
</Inventory>
|
||||||
|
<Inventory slots="Any, Any, Any, Any" accessiblewhenalive="False" commonness="1">
|
||||||
|
<Item identifier="hydroxyapatite" />
|
||||||
|
<Item identifier="mudraptorshell" forcetoslot="true"/>
|
||||||
|
</Inventory>
|
||||||
|
<Inventory slots="Any, Any, Any, Any" accessiblewhenalive="False" commonness="1">
|
||||||
|
<Item identifier="hydroxyapatite" />
|
||||||
|
<Item identifier="smallmudraptoregg" />
|
||||||
|
</Inventory>
|
||||||
|
<ai combatstrength="240" sight="1" hearing="1" aggressiveboarding="True" fleehealththreshold="0" aggressiongreed="20" aggressionhurt="300" attackwhenprovoked="True" avoidgunfire="False" enforceaggressivebehaviorformissions="True" targetouterwalls="True" randomattack="True">
|
||||||
|
<latchonto attachtowalls="true" attachtosub="false" attachlimb="HeadArmor" />
|
||||||
|
<target tag="decoy" state="Attack" priority="100" ignoreifnotinsamesub="True" />
|
||||||
|
<target tag="provocative" state="Attack" priority="100" ignoreifnotinsamesub="True"/>
|
||||||
|
<target tag="weapon" state="Attack" priority="100" ignoreifnotinsamesub="True"/>
|
||||||
|
<target tag="nasonov" state="Attack" priority="100" ignoreinside="True"/>
|
||||||
|
<target tag="stronger" state="Avoid" priority="100" reactdistance="2000" attackdistance="0" />
|
||||||
|
<target tag="tigerthresher" state="Avoid" priority="100" reactdistance="2000" />
|
||||||
|
<target tag="human" state="Attack" priority="90" reactdistance="0" attackdistance="0" />
|
||||||
|
<target tag="tool" state="Aggressive" priority="80" reactdistance="1000" attackdistance="0" ignoreifnotinsamesub="True"/>
|
||||||
|
<target tag="weaker" state="Attack" priority="60" reactdistance="0" attackdistance="0" />
|
||||||
|
<target tag="door" state="Attack" priority="30" reactdistance="0" attackdistance="0" />
|
||||||
|
<target tag="dead" state="Eat" priority="10" reactdistance="0" attackdistance="0" />
|
||||||
|
<target tag="wall" state="Attack" priority="10" reactdistance="0" attackdistance="0" />
|
||||||
|
<target tag="room" state="Attack" priority="10" reactdistance="0" attackdistance="0" />
|
||||||
|
<target tag="sonar" state="Attack" priority="10" reactdistance="0" attackdistance="0" ignoreinside="true"/>
|
||||||
|
<target tag="turret" state="Attack" priority="1" ignoreinside="true"/>
|
||||||
|
<target tag="searchlight" state="Attack" priority="1" ignoreinside="true"/>
|
||||||
|
<target tag="watcher" state="Protect" priority="1" ignoreinside="true"/>
|
||||||
|
<target tag="mudraptor_veteran" state="Follow" priority="1" ignoreinside="true" reactdistance="750"/>
|
||||||
|
<target tag="monsterfood" state="Eat" priority="1" />
|
||||||
|
<SwarmBehavior mindistfromclosest="300" maxdistfromcenter="1000" cohesion="0.25" />
|
||||||
|
</ai>
|
||||||
|
</Character>
|
||||||
|
</override>
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
This mod includes a couple of differently configured character overrides and variants:
|
||||||
|
|
||||||
|
- Human: overrides the human character with a broken version whose ragdoll fails to load.
|
||||||
|
- Expected behavior: loading the human character will fail and cause console errors, and the game will load the vanilla version instead.
|
||||||
|
|
||||||
|
- Mudraptor: overrides Mudraptor with a broken version whose ragdoll fails to load.
|
||||||
|
- Expected behavior: loading a Mudraptor will fail and cause console errors, and the game will load the vanilla Crawler ragdoll instead.
|
||||||
|
- Variants of Mudraptor should fail to load as well, and switch to the Crawler ragdoll instead.
|
||||||
|
|
||||||
|
- Crawler: overrides Crawler with a green version with sunglasses.
|
||||||
|
- Expected behavior: Crawler spawns as a green version with sunglasses.
|
||||||
|
- This change should also affect variants of Crawler: Crawler_large should also be green and have sunglasses (even though the mod does
|
||||||
|
not modify it directly).
|
||||||
|
- Crawler_hatchling (variant of Crawler) should look unchanged, but load correctly (despite it being a vanilla character whose base
|
||||||
|
character has now been overridden by a mod).
|
||||||
|
|
||||||
|
- Testcyborgworm_m: adds a variant of the Cyborgworm (identical to the normal Cyborgworm).
|
||||||
|
- Expected behavior: Testcyborgworm_m looks identical to Cyborgworm.
|
||||||
|
- This has previously caused issues, because the Cyborgworm uses multiple textures, some of which aren't in the character folder,
|
||||||
|
and these used to load incorrectly when the character is a variant.
|
||||||
|
- Note that the character is configured incorrectly: it's defined to be an override, but there's no character (Testcyborgworm_m) it'd override.
|
||||||
|
It works regardless, so this can be used as a test case for checking that these incorrectly defined characters still load.
|
||||||
|
|
||||||
|
- Testcrawlerhatchling: overrides crawler hatchling with an identical version.
|
||||||
|
- Expected behavior: crawler hatchling looks normal, the same way as in vanilla game.
|
||||||
|
- This has previously caused issues, because we incorrectly tried to fetch the texture path from the root <override> element instead
|
||||||
|
of the <character> element under it.
|
||||||
|
|
||||||
|
- Spineling_morbusine_m: adds a variant of Spineling_morbusine (identical to the normal Spineling_morbusine).
|
||||||
|
- Expected behavior: Spineling_morbusine_m looks identical to Spineling_morbusine.
|
||||||
|
- This has previously caused issues, because Spineling_morbusine defines the ragdoll slightly differently than other monsters
|
||||||
|
(not in the usual Ragdoll folder, but a hard-coded path to a ragdoll file in the character's folder).
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<Charactervariant inherit="Spineling_morbusine" speciesname="Spineling_morbusine_m" />
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<Override>
|
||||||
|
<Charactervariant inherit="Crawler" speciesname="Crawler_hatchling" speciestranslationoverride="Crawler" texture="Content/Characters/Variants/Crawler_hatchling/crawlerhatchling.png" eatingspeed="1">
|
||||||
|
<health vitality="40"/>
|
||||||
|
<ragdoll scalemultiplier="0.5" texturescale="1.0" sourcerectscale="0.5"/>
|
||||||
|
<attack damagemultiplier="0.5" rangemultiplier="0.5" impactmultiplier="0.5" />
|
||||||
|
<animations folder="Content/Characters/Variants/Crawler_hatchling/Animations/"/>
|
||||||
|
<ai combatstrength="50">
|
||||||
|
<target tag="crawlerbroodmother" state="Protect" priority="10" reactdistance="500" ignoreinside="true"/>
|
||||||
|
<target tag="crawler_large" state="Protect" priority="5" reactdistance="500" ignoreinside="true"/>
|
||||||
|
<target tag="crawler" state="Protect" priority="2" reactdistance="500" ignoreinside="true"/>
|
||||||
|
<target tag="dead" state="Eat" priority="1" />
|
||||||
|
</ai>
|
||||||
|
<inventory/>
|
||||||
|
</Charactervariant>
|
||||||
|
</Override>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<Override>
|
||||||
|
<Charactervariant inherit="Cyborgworm" speciesname="Testcyborgworm_m" />
|
||||||
|
</Override>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="Character override and variant tests" modversion="1.0.1" corepackage="False" gameversion="1.7.0.0">
|
||||||
|
<Character file="%ModDir%/Human.xml" />
|
||||||
|
<Character file="%ModDir%/Mudraptor.xml" />
|
||||||
|
<Character file="%ModDir%/Testcyborgworm_m.xml" />
|
||||||
|
<Character file="%ModDir%/Testcrawlerhatchling.xml" />
|
||||||
|
<Character file="%ModDir%/Characters/Crawler/Crawler.xml" />
|
||||||
|
<Character file="%ModDir%/Spineling_morbusine_m.xml" />
|
||||||
|
</contentpackage>
|
||||||
Binary file not shown.
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="Lighting stress (10000 lights)" modversion="1.0.0" corepackage="False" gameversion="1.11.5.0">
|
||||||
|
<Submarine file="%ModDir%/Lighting stress (10000 lights).sub" />
|
||||||
|
</contentpackage>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<Missions>
|
||||||
|
<Mission identifier="missionvariant" variantof="killcrawlerswarm1" name="One Million Crawlers" description=":3" difficulty="4" commonness="100000000" reward="20000" sonarlabel="character.crawler">
|
||||||
|
<monster min="25" max="50"/>
|
||||||
|
<Reputation amount="10"/>
|
||||||
|
</Mission>
|
||||||
|
</Missions>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<contentpackage name="Mission Variants Test" modversion="1.0.0" corepackage="False" gameversion="1.10.2.0">
|
||||||
|
<Missions file="%ModDir%/Missions.xml"/>
|
||||||
|
</contentpackage>
|
||||||
BIN
LocalMods/[DebugOnlyTest]PipeTestSub/Dugong_PipeTest.sub
Normal file
BIN
LocalMods/[DebugOnlyTest]PipeTestSub/Dugong_PipeTest.sub
Normal file
Binary file not shown.
4
LocalMods/[DebugOnlyTest]PipeTestSub/filelist.xml
Normal file
4
LocalMods/[DebugOnlyTest]PipeTestSub/filelist.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]PipeTestSub" modversion="1.0.0" corepackage="False" gameversion="1.8.4.2">
|
||||||
|
<Submarine file="%ModDir%/Dugong_PipeTest.sub" />
|
||||||
|
</contentpackage>
|
||||||
BIN
LocalMods/[DebugOnlyTest]PowerTestSub/PowerTestSub.sub
Normal file
BIN
LocalMods/[DebugOnlyTest]PowerTestSub/PowerTestSub.sub
Normal file
Binary file not shown.
4
LocalMods/[DebugOnlyTest]PowerTestSub/filelist.xml
Normal file
4
LocalMods/[DebugOnlyTest]PowerTestSub/filelist.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]PowerTestSub" modversion="1.0.9" corepackage="False" gameversion="1.8.0.0">
|
||||||
|
<Submarine file="%ModDir%/PowerTestSub.sub" />
|
||||||
|
</contentpackage>
|
||||||
Binary file not shown.
4
LocalMods/[DebugOnlyTest]RegEx Timeout Test/filelist.xml
Normal file
4
LocalMods/[DebugOnlyTest]RegEx Timeout Test/filelist.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]RegEx Timeout Test" modversion="1.0.0" corepackage="False" gameversion="1.9.7.0">
|
||||||
|
<Submarine file="%ModDir%/RegEx Timeout Test.sub" />
|
||||||
|
</contentpackage>
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<Items>
|
||||||
|
<Item
|
||||||
|
name="Oxygen Dispenser Test"
|
||||||
|
identifier="oxygendispensertest"
|
||||||
|
tags="oxygengenerator,refuelableitem,donttakeitemstorefill"
|
||||||
|
category="Machine"
|
||||||
|
scale="0.5"
|
||||||
|
isshootable="true" GrabWhenSelected="true">
|
||||||
|
|
||||||
|
<Sprite texture="%ModDir%/EthanolPowerGenerator.png" depth="0.55" sourcerect="0,336,112,128"/>
|
||||||
|
|
||||||
|
<Body width="112" height="128" density="25" />
|
||||||
|
<Holdable selectkey="Select" pickkey="Use" slots="RightHand+LeftHand" msg="ItemMsgDetach" MsgWhenDropped="ItemMsgPickupSelect" PickingTime="5.0" holdpos="0,-80" handle1="-30,14" handle2="30,14" attachable="true" aimable="true" AttachesToFloor="true"
|
||||||
|
AttachedByDefault="true" DisallowAttachingOverTags="container,planter,refuelableitem" DisallowAttachingOverSize="115,130">
|
||||||
|
</Holdable>
|
||||||
|
|
||||||
|
<ItemContainer hideitems="false" drawinventory="true" ItemsUseInventoryPlacement="true" capacity="1" maxstacksize="1" canbeselected="true" itempos="32,-83" iteminterval="0,0" itemrotation="0" msg="ItemMsgOxygenRefill" containedspritedepth="0.1">
|
||||||
|
<GuiFrame relativesize="0.2,0.25" anchor="Center" minsize="140,170" maxsize="280,280" style="ItemUI" />
|
||||||
|
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
|
||||||
|
<Containable items="oxygensource" />
|
||||||
|
</ItemContainer>
|
||||||
|
</Item>
|
||||||
|
</Items>
|
||||||
Binary file not shown.
@@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Items>
|
||||||
|
<Item name="fliptestholdable" identifier="fliptestholdable" Category="Misc" Tags="smallitem" health="35" maxstacksize="1" scale="0.5" isshootable="true" requireaimtouse="true">
|
||||||
|
<sprite texture="Content/Map/Outposts/Art/FactionItems.png" sourcerect="263,193,38,39" depth="0.2" origin="0.5,0.5" />
|
||||||
|
<Body radius="28" density="15" />
|
||||||
|
<LightComponent LightColor="220,150,30,150" range="15" IsOn="true" castshadows="false" lightoffset="40,20" vulnerabletoemp="false" >
|
||||||
|
<IsActiveConditional HasStatusTag="smoking" />
|
||||||
|
<StatusEffect OffsetCopiesEntityTransform="true" offset="40,20" type="OnUse" target="This" statuseffecttags="smoking" duration="0.1" stackable="false">
|
||||||
|
<ParticleEmitter particle="blooddrop" particlespersecond="10" scalemin="3" scalemax="3" velocitymin="0" velocitymax="0" colormultiplier="255,255,255,180" lifetimemultiplier="2"/>
|
||||||
|
<ParticleEmitter particle="smoke" particlespersecond="3" scalemin="0.35" scalemax="0.5" velocitymin="0" velocitymax="10" colormultiplier="255,255,255,200" />
|
||||||
|
</StatusEffect>
|
||||||
|
</LightComponent>
|
||||||
|
<Holdable slots="Any,RightHand,LeftHand" aimable="false" aimpos="32,21" handle1="0,-22" holdangle="0" aimangle="-25" swingamount="0,0" swingspeed="0.5" swingwhenusing="true" msg="ItemMsgPickUpSelect">
|
||||||
|
<StatusEffect type="OnUse" target="This" Condition="-4.0" />
|
||||||
|
<StatusEffect type="OnUse" target="This">
|
||||||
|
<Conditional InWater="false" />
|
||||||
|
<Sound file="Content/Items/Medical/ITEM_cigarette.ogg" range="250" loop="true" selectionmode="Random" />
|
||||||
|
</StatusEffect>
|
||||||
|
<StatusEffect type="OnBroken" target="This">
|
||||||
|
<SpawnItem identifier="bananapeel" spawnposition="SameInventory"/>
|
||||||
|
<Remove />
|
||||||
|
</StatusEffect>
|
||||||
|
</Holdable>
|
||||||
|
</Item>
|
||||||
|
|
||||||
|
<Item name="fliptestlight" identifier="fliptestlighttower" width="176" height="352" texturescale="1.0,1.0" scale="0.5" category="Decorative" subcategory="mining" noninteractable="true">
|
||||||
|
<sprite texture="Content/Map/Outposts/Art/TunnelWalls.png" sourcerect="849,1697,176,352" depth="0.97" premultiplyalpha="false" origin="0.5,0.5" />
|
||||||
|
<LightComponent range="160.0" lightcolor="255,234,181,200" IsOn="true" castshadows="false" LightOffset="200,147" allowingameediting="false">
|
||||||
|
<sprite texture="Content/Map/Outposts/Art/TunnelWalls.png" sourcerect="671,1697,176,62" depth="0.1" origin="0.5,0.5" alpha="1.0" />
|
||||||
|
<StatusEffect OffsetCopiesEntityTransform="true" offset="200,147" type="OnActive" target="This" duration="0.1" stackable="false">
|
||||||
|
<ParticleEmitter particle="blooddrop" particlespersecond="10" scalemin="3" scalemax="3" velocitymin="0" velocitymax="0" colormultiplier="255,255,255,180" lifetimemultiplier="2"/>
|
||||||
|
<ParticleEmitter particle="smoke" particlespersecond="3" scalemin="0.35" scalemax="0.5" velocitymin="0" velocitymax="10" colormultiplier="255,255,255,200" />
|
||||||
|
</StatusEffect>
|
||||||
|
</LightComponent>
|
||||||
|
</Item>
|
||||||
|
</Items>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]RotationAndFlippingTests" modversion="1.0.3" corepackage="False" gameversion="1.11.5.0">
|
||||||
|
<Item file="%ModDir%/OxygenDispenserTest.xml" />
|
||||||
|
<Item file="%ModDir%/StatusEffectAndLightTest.xml" />
|
||||||
|
<Submarine file="%ModDir%/RotationAndFlippingTests.sub" />
|
||||||
|
</contentpackage>
|
||||||
75
LocalMods/[DebugOnlyTest]TestLuaMod/Lua/init.lua
Normal file
75
LocalMods/[DebugOnlyTest]TestLuaMod/Lua/init.lua
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
print("Hello!")
|
||||||
|
|
||||||
|
Hook.Add("character.created", "test", function(character)
|
||||||
|
print("character.created: ", character)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Hook.Add("character.death", "test", function(character)
|
||||||
|
print("character.death: ", character)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Hook.Add("character.giveJobItems", "test", function(character)
|
||||||
|
print("character.giveJobItems: ", character)
|
||||||
|
end)
|
||||||
|
|
||||||
|
Hook.Add("roundStart", "test", function()
|
||||||
|
print("roundStart")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Hook.Add("roundEnd", "test", function()
|
||||||
|
print("roundEnd")
|
||||||
|
end)
|
||||||
|
|
||||||
|
Hook.Add("missionsEnded", "test", function()
|
||||||
|
print("missionsEnded")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- cfg tests
|
||||||
|
local str = "CLIENT: "
|
||||||
|
|
||||||
|
if SERVER then
|
||||||
|
str = "SERVER: "
|
||||||
|
end
|
||||||
|
|
||||||
|
function OnChanged(cfg)
|
||||||
|
print(str, "cfg value for ", cfg.InternalName, " changed to ", cfg.Value)
|
||||||
|
end
|
||||||
|
|
||||||
|
local failed, package = trygetpackage("[DebugOnlyTest]TestLuaMod")
|
||||||
|
|
||||||
|
print("packageFailed=", failed)
|
||||||
|
print("package", package.Name)
|
||||||
|
|
||||||
|
local success, config = ConfigService.TryGetConfig(SettingBase.Int32, package, "TestSynchroServer")
|
||||||
|
local success2, config2 = ConfigService.TryGetConfig(SettingBase.Int32, package, "TestSynchroClient")
|
||||||
|
|
||||||
|
if not success or not success2 then
|
||||||
|
print("Failed to get configs.")
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
config.OnValueChanged.add(OnChanged)
|
||||||
|
config2.OnValueChanged.add(OnChanged)
|
||||||
|
|
||||||
|
print(str, " testsynchroclient=", config2.Value)
|
||||||
|
print(str, " testsynchroserver=", config.Value)
|
||||||
|
|
||||||
|
-- The server should keep updating the value and it should show up on the client.
|
||||||
|
-- The client should try updating and it should fail.
|
||||||
|
|
||||||
|
local lastTime = Timer.Time + 30 -- give time to join
|
||||||
|
|
||||||
|
Hook.Add("think", "printconfig", function()
|
||||||
|
if lastTime > Timer.Time then return end
|
||||||
|
lastTime = Timer.Time + 10
|
||||||
|
|
||||||
|
if SERVER then
|
||||||
|
local succ = config.TrySetValue(config.Value + 1)
|
||||||
|
print("Success of setting value on server for '", config.InternalName,"': ", succ)
|
||||||
|
end
|
||||||
|
if CLIENT then
|
||||||
|
local succ = config.TrySetValue(config.Value + 1)
|
||||||
|
print("Success of setting value on client for '", config.InternalName,"': ", succ, " | This should fail if permissions are not set for client.")
|
||||||
|
end
|
||||||
|
|
||||||
|
end)
|
||||||
7
LocalMods/[DebugOnlyTest]TestLuaMod/ModConfig.xml
Normal file
7
LocalMods/[DebugOnlyTest]TestLuaMod/ModConfig.xml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ModConfig>
|
||||||
|
<Lua File="%ModDir%/Lua/init.lua" IsAutorun="true" />
|
||||||
|
<Config File="%ModDir%/Settings.xml"/>
|
||||||
|
<Config File="%ModDir%/SettingsClient.xml" Target="Client"/>
|
||||||
|
<Config File="%ModDir%/SettingsServer.xml" Target="Server"/>
|
||||||
|
</ModConfig>
|
||||||
40
LocalMods/[DebugOnlyTest]TestLuaMod/Settings.xml
Normal file
40
LocalMods/[DebugOnlyTest]TestLuaMod/Settings.xml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Configuration>
|
||||||
|
<Settings>
|
||||||
|
<Setting Name="TestTickbox" Type="bool" Value="true"/>
|
||||||
|
<Setting Name="TestSynchroClient" Type="int" NetSync="TwoWay" Value="40"/>
|
||||||
|
<Setting Name="TestSynchroServer" Type="int" NetSync="ServerAuthority" Value="25"/>
|
||||||
|
<Setting Name="TestFloat" Type="float" Value="3498"/>
|
||||||
|
<Setting Name="TestHidden" Type="bool" ShowInMenus="false" Value="false"/>
|
||||||
|
<Setting Name="TestRangeFloat" Type="rangeFloat" Min="0" Max="25" Steps="11" Value="4.5"/>
|
||||||
|
<Setting Name="TestRangeInt" Type="rangeInt" Min="0" Max="10" Steps="11" Value="4"/>
|
||||||
|
<Setting Name="TestString" Type="string" Value="ok"/>
|
||||||
|
<Setting Name="TestControl" Type="control" Value="A"/>
|
||||||
|
<Setting Name="TestDropdownList" Type="listString" Value="Hi">
|
||||||
|
<Values>
|
||||||
|
<Value Value="Entry A"/>
|
||||||
|
<Value Value="Entry B"/>
|
||||||
|
<Value Value="Hi"/>
|
||||||
|
<Value Value="YourMom"/>
|
||||||
|
</Values>
|
||||||
|
</Setting>
|
||||||
|
</Settings>
|
||||||
|
<Profiles>
|
||||||
|
<Profile Name="default">
|
||||||
|
<SettingValue Name="TestTickbox" Value="true"/>
|
||||||
|
<SettingValue Name="TestFloat" Value="5"/>
|
||||||
|
<SettingValue Name="TestHidden" Value="true"/>
|
||||||
|
<SettingValue Name="TestRangeFloat" Value="15"/>
|
||||||
|
<SettingValue Name="TestRangeInt" Value="7"/>
|
||||||
|
<SettingValue Name="TestString" Value="Hello!"/>
|
||||||
|
</Profile>
|
||||||
|
<Profile Name="other">
|
||||||
|
<SettingValue Name="TestTickbox" Value="false"/>
|
||||||
|
<SettingValue Name="TestFloat" Value="9"/>
|
||||||
|
<SettingValue Name="TestHidden" Value="false"/>
|
||||||
|
<SettingValue Name="TestRangeFloat" Value="4"/>
|
||||||
|
<SettingValue Name="TestRangeInt" Value="4"/>
|
||||||
|
<SettingValue Name="TestString" Value="Other loaded!"/>
|
||||||
|
</Profile>
|
||||||
|
</Profiles>
|
||||||
|
</Configuration>
|
||||||
8
LocalMods/[DebugOnlyTest]TestLuaMod/SettingsClient.xml
Normal file
8
LocalMods/[DebugOnlyTest]TestLuaMod/SettingsClient.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Configuration>
|
||||||
|
<!-- Should match 'SettingsServer'. We define these on the client and server separately to give different values. -->
|
||||||
|
<Settings>
|
||||||
|
<Setting Name="TestSynchroClient" Type="int" NetSync="TwoWay" Value="3545" ShowInMenus="false"/>
|
||||||
|
<Setting Name="TestSynchroServer" Type="int" NetSync="ServerAuthority" Value="577" ShowInMenus="false"/>
|
||||||
|
</Settings>
|
||||||
|
</Configuration>
|
||||||
8
LocalMods/[DebugOnlyTest]TestLuaMod/SettingsServer.xml
Normal file
8
LocalMods/[DebugOnlyTest]TestLuaMod/SettingsServer.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Configuration>
|
||||||
|
<!-- Should match 'SettingsClient'. We define these on the client and server separately to give different values. -->
|
||||||
|
<Settings>
|
||||||
|
<Setting Name="TestSynchroClient" Type="int" NetSync="TwoWay" Value="40" ShowInMenus="false"/>
|
||||||
|
<Setting Name="TestSynchroServer" Type="int" NetSync="ServerAuthority" Value="25" ShowInMenus="false"/>
|
||||||
|
</Settings>
|
||||||
|
</Configuration>
|
||||||
13
LocalMods/[DebugOnlyTest]TestLuaMod/Texts/English.xml
Normal file
13
LocalMods/[DebugOnlyTest]TestLuaMod/Texts/English.xml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<infotexts language="English" nowhitespace="false" translatedname="English">
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestTickbox.DisplayName>Test TickBox</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestTickbox.DisplayName>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestTickbox.DisplayCategory>Tests</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestTickbox.DisplayCategory>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestFloat.DisplayName>Test Float</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestFloat.DisplayName>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestFloat.DisplayCategory>Tests</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestFloat.DisplayCategory>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeFloat.DisplayName>Test Range Float</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeFloat.DisplayName>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeFloat.DisplayCategory>Tests</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeFloat.DisplayCategory>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeInt.DisplayName>Test Range Int</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeInt.DisplayName>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeInt.DisplayCategory>Tests</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestRangeInt.DisplayCategory>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestString.DisplayName>Test String</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestString.DisplayName>
|
||||||
|
<_x005B_DebugOnlyTest_x005D_TestLuaMod.TestString.DisplayCategory>Tests</_x005B_DebugOnlyTest_x005D_TestLuaMod.TestString.DisplayCategory>
|
||||||
|
</infotexts>
|
||||||
4
LocalMods/[DebugOnlyTest]TestLuaMod/dummy.xml
Normal file
4
LocalMods/[DebugOnlyTest]TestLuaMod/dummy.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Items>
|
||||||
|
|
||||||
|
</Items>
|
||||||
5
LocalMods/[DebugOnlyTest]TestLuaMod/filelist.xml
Normal file
5
LocalMods/[DebugOnlyTest]TestLuaMod/filelist.xml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]TestLuaMod" >
|
||||||
|
<Text file="%ModDir%/Texts/English.xml"/>
|
||||||
|
<Item file="%ModDir%/dummy.xml" />
|
||||||
|
</contentpackage>
|
||||||
159
LocalMods/[DebugOnlyTest]TestPathFinding/Events.xml
Normal file
159
LocalMods/[DebugOnlyTest]TestPathFinding/Events.xml
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RandomEvents>
|
||||||
|
<EventPrefabs>
|
||||||
|
|
||||||
|
<ScriptedEvent identifier="testpathfinding1" tags="testpathfinding_colony">
|
||||||
|
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="artiedolittle" TargetTag="npc1" SpawnPointTag="spawnpoint1" />
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="clownmessenger" TargetTag="npc2" SpawnPointTag="spawnpoint2" />
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="jacovsubra" TargetTag="npc3" SpawnPointTag="spawnpoint3" />
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="coalitionspy" TargetTag="npc4" SpawnPointTag="spawnpoint4" />
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="raptorowner" TargetTag="npc5" SpawnPointTag="spawnpoint5" />
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="hognose" TargetTag="npc6" SpawnPointTag="spawnpoint6" />
|
||||||
|
<SpawnAction NPCSetIdentifier="customnpcs1" NPCIdentifier="drugdealer" TargetTag="npc7" SpawnPointTag="spawnpoint7" />
|
||||||
|
|
||||||
|
<TagAction criteria="hullname:goalroom" tag="goal" />
|
||||||
|
|
||||||
|
<NPCFollowAction NPCTag="npc1" TargetTag="goal" />
|
||||||
|
<NPCFollowAction NPCTag="npc2" TargetTag="goal" />
|
||||||
|
<NPCFollowAction NPCTag="npc3" TargetTag="goal" />
|
||||||
|
<NPCFollowAction NPCTag="npc4" TargetTag="goal" />
|
||||||
|
<NPCFollowAction NPCTag="npc5" TargetTag="goal" forcewalk="true" />
|
||||||
|
<NPCFollowAction NPCTag="npc6" TargetTag="goal" forcewalk="true" />
|
||||||
|
<NPCFollowAction NPCTag="npc7" TargetTag="goal" forcewalk="true" />
|
||||||
|
|
||||||
|
<ConversationAction Text="Spawned 7 test NPCs. They should now navigate to the furthest module at the right side of the outpost. You may fast-forward by 60 seconds to skip to the end of the test." />
|
||||||
|
|
||||||
|
<WaitAction time="60" />
|
||||||
|
|
||||||
|
<CheckVisibilityAction EntityTag="npc1" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 1 (Artie Dolittle) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc2" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 2 (Clown Messenger) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc3" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 3 (Jacov Subra) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc4" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 4 (Coalition Operative) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc5" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 5 (Severo Ruiz) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc6" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 6 (Captain Hognose) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc7" TargetTag="goal" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 7 (Drug Dealer) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<!-- ALL SUCCEEDED ******************************* -->
|
||||||
|
<ConversationAction Text="NPC test successful! All NPCs made it to the target module in time." />
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
|
||||||
|
<ConversationAction Text="Starting second test: making the NPCs navigate back to the left side of the outpost." />
|
||||||
|
|
||||||
|
<TagAction criteria="hullname:goalroom2" tag="goal2" />
|
||||||
|
|
||||||
|
<NPCFollowAction NPCTag="npc1" TargetTag="goal2" forcewalk="true" />
|
||||||
|
<WaitAction time="2" />
|
||||||
|
|
||||||
|
<NPCFollowAction NPCTag="npc2" TargetTag="goal2" forcewalk="true" />
|
||||||
|
<WaitAction time="2" />
|
||||||
|
<!-- follow another NPC instead of going directly for the goal! -->
|
||||||
|
<NPCFollowAction NPCTag="npc3" TargetTag="npc2" forcewalk="true" />
|
||||||
|
<WaitAction time="2" />
|
||||||
|
<NPCFollowAction NPCTag="npc4" TargetTag="goal2" />
|
||||||
|
<WaitAction time="2" />
|
||||||
|
<NPCFollowAction NPCTag="npc5" TargetTag="goal2" />
|
||||||
|
<WaitAction time="2" />
|
||||||
|
<NPCFollowAction NPCTag="npc6" TargetTag="goal2" />
|
||||||
|
<WaitAction time="2" />
|
||||||
|
<!-- follow another NPC instead of going directly for the goal! -->
|
||||||
|
<NPCFollowAction NPCTag="npc7" TargetTag="npc4" />
|
||||||
|
|
||||||
|
<WaitAction time="100" />
|
||||||
|
|
||||||
|
<CheckVisibilityAction EntityTag="npc1" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 1 (Artie Dolittle) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc2" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 2 (Clown Messenger) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc3" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 3 (Jacov Subra) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc4" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 4 (Coalition Operative) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc5" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 5 (Severo Ruiz) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc6" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 6 (Captain Hognose) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<CheckVisibilityAction EntityTag="npc7" TargetTag="goal2" MaxDistance="500">
|
||||||
|
<Failure>
|
||||||
|
<ConversationAction Text="Test failed. NPC 7 (Drug Dealer) did not make it to the target module in time." />
|
||||||
|
</Failure>
|
||||||
|
<Success>
|
||||||
|
<!-- ALL SUCCEEDED ******************************* -->
|
||||||
|
<ConversationAction Text="NPC test successful! All NPCs made it to the target module in time." />
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
</Success>
|
||||||
|
</CheckVisibilityAction>
|
||||||
|
|
||||||
|
</ScriptedEvent>
|
||||||
|
</EventPrefabs>
|
||||||
|
|
||||||
|
</RandomEvents>
|
||||||
Binary file not shown.
8
LocalMods/[DebugOnlyTest]TestPathFinding/filelist.xml
Normal file
8
LocalMods/[DebugOnlyTest]TestPathFinding/filelist.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]TestPathFinding" modversion="1.0.0" corepackage="False" gameversion="1.12.4.0">
|
||||||
|
<Outpost file="%ModDir%/[DebugOnlyTest]TestPathFinding.sub" />
|
||||||
|
|
||||||
|
<RandomEvents file="%ModDir%/Events.xml" />
|
||||||
|
|
||||||
|
|
||||||
|
</contentpackage>
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<TesthumanRun
|
||||||
|
GetUpForce="0.70000005"
|
||||||
|
HeadLeanAmount="0.19393511"
|
||||||
|
TorsoLeanAmount="0.06872561"
|
||||||
|
FootMoveStrength="9"
|
||||||
|
FootLiftHorizontalFactor="1"
|
||||||
|
StepSizeWhenStanding="0,0"
|
||||||
|
FootAngle="3"
|
||||||
|
FootMoveOffset="-0.1,0"
|
||||||
|
LegBendTorque="50"
|
||||||
|
HandMoveAmount="0.4,0.2"
|
||||||
|
HandMoveOffset="-0.1,0.1"
|
||||||
|
HandClampY="-0.4"
|
||||||
|
ArmMoveStrength="4"
|
||||||
|
HandMoveStrength="2"
|
||||||
|
FixedHeadAngle="True"
|
||||||
|
StepSize="0.9478924,0.42175388"
|
||||||
|
HeadPosition="3.004777"
|
||||||
|
TorsoPosition="2.3845234"
|
||||||
|
StepLiftHeadMultiplier="1"
|
||||||
|
StepLiftAmount="6.499999"
|
||||||
|
StepLiftOffset="-0.5"
|
||||||
|
StepLiftFrequency="2"
|
||||||
|
BackwardsMovementMultiplier="0.75"
|
||||||
|
ClimbSpeed="1.5"
|
||||||
|
SlideSpeed="4"
|
||||||
|
ClimbBodyMoveForce="10.5"
|
||||||
|
ClimbHandMoveForce="5.2"
|
||||||
|
ClimbFootMoveForce="10"
|
||||||
|
ClimbStepHeight="50"
|
||||||
|
AnimationType="Run"
|
||||||
|
MovementSpeed="2.5"
|
||||||
|
CycleSpeed="2.8"
|
||||||
|
HeadAngle="0"
|
||||||
|
TorsoAngle="-10"
|
||||||
|
HeadTorque="60"
|
||||||
|
TorsoTorque="200"
|
||||||
|
FootTorque="80"
|
||||||
|
ArmIKStrength="3"
|
||||||
|
HandIKStrength="10" />
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<TesthumanWalk
|
||||||
|
GetUpForce="1"
|
||||||
|
HeadLeanAmount="0.1"
|
||||||
|
TorsoLeanAmount="0.08"
|
||||||
|
FootMoveStrength="6"
|
||||||
|
FootLiftHorizontalFactor="0.3"
|
||||||
|
StepSizeWhenStanding="0,0"
|
||||||
|
FootAngle="-7.4505806E-08"
|
||||||
|
FootMoveOffset="0,0"
|
||||||
|
LegBendTorque="15"
|
||||||
|
HandMoveAmount="0.6992701,0.04584685"
|
||||||
|
HandMoveOffset="0,0"
|
||||||
|
HandClampY="-1"
|
||||||
|
ArmMoveStrength="1"
|
||||||
|
HandMoveStrength="1"
|
||||||
|
FixedHeadAngle="True"
|
||||||
|
StepSize="0.8188831,0.5763266"
|
||||||
|
HeadPosition="3.255594"
|
||||||
|
TorsoPosition="2.486217"
|
||||||
|
StepLiftHeadMultiplier="1"
|
||||||
|
StepLiftAmount="4"
|
||||||
|
StepLiftOffset="-0.50000006"
|
||||||
|
StepLiftFrequency="2"
|
||||||
|
BackwardsMovementMultiplier="0.75"
|
||||||
|
ClimbSpeed="0.8"
|
||||||
|
SlideSpeed="2"
|
||||||
|
ClimbBodyMoveForce="10.5"
|
||||||
|
ClimbHandMoveForce="5.2"
|
||||||
|
ClimbFootMoveForce="10"
|
||||||
|
ClimbStepHeight="30"
|
||||||
|
AnimationType="Walk"
|
||||||
|
MovementSpeed="1.1"
|
||||||
|
CycleSpeed="4.05"
|
||||||
|
HeadAngle="0"
|
||||||
|
TorsoAngle="-6"
|
||||||
|
HeadTorque="60"
|
||||||
|
TorsoTorque="100"
|
||||||
|
FootTorque="70"
|
||||||
|
ArmIKStrength="3"
|
||||||
|
HandIKStrength="10" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TesthumanCrouch footrotatestrength="45" crouchingfootmoveoffset="0,0" MoveDownAmountWhenStationary="0.25" ExtraHeadAngleWhenStationary="0.2" ExtraTorsoAngleWhenStationary="0.4" GetUpForce="1" HeadLeanAmount="0.2" TorsoLeanAmount="0.0063905665" FootMoveStrength="8" FootLiftHorizontalFactor="1" StepSizeWhenStanding="0,0" FootAngle="5" FootMoveOffset="-0.1,0" LegBendTorque="15" HandMoveAmount="0.22999997,0.20780796" HandMoveOffset="0.2,0" HandClampY="-0.2" ArmMoveStrength="1" HandMoveStrength="1" FixedHeadAngle="True" StepSize="0.87660325,0.47976005" HeadPosition="2.788823" TorsoPosition="1.9477382" StepLiftHeadMultiplier="1" StepLiftAmount="3.9999986" StepLiftOffset="-0.5" StepLiftFrequency="2" BackwardsMovementMultiplier="0.6" ClimbSpeed="1" SlideSpeed="2" ClimbBodyMoveForce="10.5" ClimbHandMoveForce="5.2" ClimbFootMoveForce="10" ClimbStepHeight="30" AnimationType="Crouch" MovementSpeed="1.4841671" CycleSpeed="3.528752" HeadAngle="0" TorsoAngle="-10" HeadTorque="50" TorsoTorque="170" FootTorque="25" ArmIKStrength="3" HandIKStrength="2.5" type="Testhuman" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TesthumanRun GetUpForce="0.70000005" HeadLeanAmount="0.12057937" TorsoLeanAmount="0.06872561" FootMoveStrength="9" FootLiftHorizontalFactor="1" StepSizeWhenStanding="0,0" FootAngle="10" FootMoveOffset="-0.1,0" LegBendTorque="50" HandMoveAmount="0.15,0" HandMoveOffset="0.2,0" HandClampY="-0.1" ArmMoveStrength="4" HandMoveStrength="2" FixedHeadAngle="True" StepSize="1.3,0.5" HeadPosition="3.1514897" TorsoPosition="2.4529896" StepLiftHeadMultiplier="1" StepLiftAmount="5" StepLiftOffset="-0.5" StepLiftFrequency="2" BackwardsMovementMultiplier="0.75" ClimbSpeed="2" SlideSpeed="4" ClimbBodyMoveForce="10.5" ClimbHandMoveForce="6" ClimbFootMoveForce="10" ClimbStepHeight="60" AnimationType="Run" MovementSpeed="4.7247353" CycleSpeed="1.8" HeadAngle="0" TorsoAngle="-10" HeadTorque="60" TorsoTorque="200" FootTorque="80" ArmIKStrength="3" HandIKStrength="10" type="Testhuman" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TesthumanSwimFast footrotatestrength="15" LegMoveAmount="1.7241129" LegCycleLength="5.1599464" FootAngle="65" HandMoveAmount="0.53,0.06247859" HandCycleSpeed="2.1006122" HandMoveOffset="0,0" ArmMoveStrength="7" HandMoveStrength="1" FixedHeadAngle="False" SteerTorque="2" LegTorque="12" AnimationType="SwimFast" MovementSpeed="2.5" CycleSpeed="3.640148" HeadAngle="20" TorsoAngle="0" HeadTorque="10" TorsoTorque="40" FootTorque="5" ArmIKStrength="3" HandIKStrength="10" type="Testhuman" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TesthumanSwimSlow footrotatestrength="15" LegMoveAmount="0.37411213" LegCycleLength="8.197446" FootAngle="65" HandMoveAmount="0.53,0.06247859" HandCycleSpeed="2.1006122" HandMoveOffset="0,0" ArmMoveStrength="2" HandMoveStrength="0.5" FixedHeadAngle="False" SteerTorque="2" LegTorque="12" AnimationType="SwimSlow" MovementSpeed="1.5" CycleSpeed="3.640148" HeadAngle="20" TorsoAngle="0" HeadTorque="10" TorsoTorque="20" FootTorque="1" ArmIKStrength="3" HandIKStrength="10" type="Testhuman" />
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<TesthumanWalk GetUpForce="1" HeadLeanAmount="0.05" TorsoLeanAmount="0.05" FootMoveStrength="6" FootLiftHorizontalFactor="0.3" StepSizeWhenStanding="0.01,0" FootAngle="5" FootMoveOffset="0,0" LegBendTorque="15" HandMoveAmount="0.42871723,0.07966587" HandMoveOffset="0,0" HandClampY="-1" ArmMoveStrength="1" HandMoveStrength="1" FixedHeadAngle="True" StepSize="1,0.39" HeadPosition="3.2" TorsoPosition="2.5" StepLiftHeadMultiplier="1" StepLiftAmount="2.999999" StepLiftOffset="-0.5" StepLiftFrequency="2" BackwardsMovementMultiplier="0.75" ClimbSpeed="1" SlideSpeed="2" ClimbBodyMoveForce="10.5" ClimbHandMoveForce="5.2" ClimbFootMoveForce="10" ClimbStepHeight="30" AnimationType="Walk" MovementSpeed="1.7448974" CycleSpeed="3.1523502" HeadAngle="0" TorsoAngle="-5" HeadTorque="60" TorsoTorque="100" FootTorque="70" ArmIKStrength="3" HandIKStrength="10" type="Testhuman" />
|
||||||
@@ -0,0 +1,130 @@
|
|||||||
|
<Ragdoll type="Human" Texture="Content/Characters/Human/Human_[GENDER].png" Color="255,255,255,255" SpritesheetOrientation="180" LimbScale="0.5" JointScale="0.5" TextureScale="1" SourceRectScale="1" ColliderHeightFromFloor="140" ImpactTolerance="7.5" CanEnterSubmarine="True" CanWalk="True" Draggable="True" MainLimb="Torso">
|
||||||
|
<collider Name="Main Collider" Radius="30" Height="110" Width="0" BodyType="Dynamic" />
|
||||||
|
<collider Name="Secondary Collider" Radius="30" Height="80" Width="0" BodyType="Dynamic" />
|
||||||
|
<limb Name="Torso (0)" ID="0" Type="Torso" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="30" Height="70" Width="0" Density="10" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="1" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="160,0,112,192" Origin="0.5,0.5" Depth="0.06" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="160,0,112,192" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="Head (1)" ID="1" Type="Head" SecondaryType="None" Notes="" Scale="0.5" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="0" InheritLimbDepth="None" SteerForce="0" Radius="45" Height="0" Width="0" Density="10" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="0" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="0,0,128,128" Origin="0.5,0.5" Depth="0.05" Texture="Content/Characters/Human/Human_[GENDER]_heads.png" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_heads_mask.png" />
|
||||||
|
<huskmask texture="Content/Characters/Human/Human_husk_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damage.png" sourcerect="0,0,128,128" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
<StatusEffect type="OnDamaged" target="This">
|
||||||
|
<RequiredAffliction identifier="internaldamage,blunttrauma,bitewounds,explosiondamage,lacerations" minstrength="5" />
|
||||||
|
<Affliction identifier="concussion" strength="10" probability="0.25" />
|
||||||
|
</StatusEffect>
|
||||||
|
</limb>
|
||||||
|
<limb Name="RightArm (2)" ID="2" Type="RightArm" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="77" Width="30" Density="12" IgnoreCollisions="False" AngularDamping="50" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="3" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="272,0,64,96" Origin="0.5,0.5" Depth="0.02" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="272,0,64,96" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="RightHand (3)" ID="3" Type="RightHand" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="40" Width="26" Density="12" IgnoreCollisions="False" AngularDamping="50" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="3" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="272,160,64,48" Origin="0.44,0.4" Depth="0.015" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="272,160,64,48" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="LeftArm (4)" ID="4" Type="LeftArm" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="77" Width="30" Density="12" IgnoreCollisions="False" AngularDamping="50" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="2" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="336,0,64,96" Origin="0.5,0.5" Depth="0.14" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="336,0,64,96" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="LeftHand (5)" ID="5" Type="LeftHand" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="40" Width="26" Density="12" IgnoreCollisions="False" AngularDamping="50" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="2" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="336,160,64,48" Origin="0.44,0.4" Depth="0.16" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="336,160,64,48" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="LeftThigh (6)" ID="6" Type="LeftThigh" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="96" Width="40" Density="12" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="4" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="80,0,80,128" Origin="0.5,0.5" Depth="0.13" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="80,0,80,128" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="LeftLeg (7)" ID="7" Type="LeftLeg" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="73" Width="30" Density="12" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="4" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="80,128,80,128" Origin="0.5,0.5" Depth="0.131" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="80,128,80,128" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="LeftFoot (8)" ID="8" Type="LeftFoot" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="90" InheritLimbDepth="None" SteerForce="0" Radius="12" Height="0" Width="32" Density="10" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="-2.8043144,-11.4667225" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="4" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="336,208,64,48" Origin="0.48,0.55" Depth="0.132" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="336,208,64,48" />
|
||||||
|
<sound Tag="footstep_metal" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="RightThigh (9)" ID="9" Type="RightThigh" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="96" Width="40" Density="12" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="5" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="0,0,80,128" Origin="0.5,0.5" Depth="0.12" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="0,0,80,128" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="RightLeg (10)" ID="10" Type="RightLeg" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="73" Width="30" Density="12" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="5" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="0,128,80,128" Origin="0.5,0.5" Depth="0.121" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="0,128,80,128" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="RightFoot (11)" ID="11" Type="RightFoot" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="90" InheritLimbDepth="None" SteerForce="0" Radius="12" Height="0" Width="32" Density="12" IgnoreCollisions="False" AngularDamping="7" AttackPriority="1" PullPos="-7.0750213,-11.173927" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="5" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="272,208,64,48" Origin="0.48,0.55" Depth="0.122" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="272,208,64,48" />
|
||||||
|
<sound Tag="footstep_metal" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="Waist (12)" ID="12" Type="Waist" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="25" Height="0" Width="0" Density="10" IgnoreCollisions="False" AngularDamping="1000" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="1" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="160,192,112,64" Origin="0.5,0.5" Depth="0.121" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="160,192,112,64" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="LeftForearm (13)" ID="13" Type="LeftForearm" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="180" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="55" Width="26" Density="12" IgnoreCollisions="False" AngularDamping="50" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="2" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="336,96,64,64" Origin="0.5,0.5" Depth="0.15" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="336,96,64,64" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<limb Name="RightForearm (14)" ID="14" Type="RightForearm" SecondaryType="None" Notes="" Scale="1" Flip="True" MirrorVertically="False" MirrorHorizontally="False" Hide="False" SpriteOrientation="NaN" InheritLimbDepth="None" SteerForce="0" Radius="0" Height="55" Width="26" Density="12" IgnoreCollisions="False" AngularDamping="50" AttackPriority="1" PullPos="0,0" StepOffset="0,0" RefJoint="-1" MouthPos="0,0" EatTorque="50" EatImpulse="2" ConstantTorque="0" ConstantAngle="0" AttackForceMultiplier="1" MinSeveranceDamage="1" CanBeSeveredAlive="True" SeveredFadeOutTime="60" ApplyTailAngle="False" ApplySineMovement="False" SineFrequencyMultiplier="1" SineAmplitudeMultiplier="1" BlinkFrequency="0" BlinkDurationIn="0.2" BlinkDurationOut="0.5" BlinkHoldTime="0" BlinkRotationIn="0" BlinkRotationOut="45" BlinkForce="50" OnlyBlinkInWater="False" UseTextureOffsetForBlinking="False" BlinkTextureOffsetIn="0.5,0.5" BlinkTextureOffsetOut="0.5,0.5" BlinkTransitionIn="Linear" BlinkTransitionOut="Linear" HealthIndex="3" Friction="0.3" Restitution="0.05" CanEnterSubmarine="True" InheritHiding="None">
|
||||||
|
<sprite SourceRect="272,96,64,64" Origin="0.5,0.5" Depth="0.01" Texture="" IgnoreTint="False" Color="255,255,255,255" DeadColor="255,255,255,255" DeadColorTime="0" />
|
||||||
|
<tintmask texture="Content/Characters/Human/Human_[GENDER]_mask.png" />
|
||||||
|
<damagedsprite texture="Content/Characters/Human/Human_damageoverlay.png" sourcerect="272,96,64,64" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.5" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="gunshotwound,lacerations,blunttrauma" AfflictionTypes="" />
|
||||||
|
<damagemodifier DamageSound="" DamageParticle="" DamageMultiplier="0.75" ProbabilityMultiplier="1" ArmorSector="0,360" DeflectProjectiles="False" AfflictionIdentifiers="bleeding,bitewounds" AfflictionTypes="" />
|
||||||
|
</limb>
|
||||||
|
<joint Name="Joint 0 - 1" Limb1="0" Limb2="1" Limb1Anchor="-10.253771,67.140594" Limb2Anchor="-10.745748,-12.599744" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="45" LowerLimit="-20" Stiffness="0.5" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 0 - 12" Limb1="0" Limb2="12" Limb1Anchor="-0.6422227,-53.382404" Limb2Anchor="0.10620385,-0.07190597" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="18" LowerLimit="-43" Stiffness="1000" Scale="1" WeldJoint="True" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 12 - 6" Limb1="12" Limb2="6" Limb1Anchor="-1.8,-6.7" Limb2Anchor="-2.4,37.57086" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="45" LowerLimit="-12" Stiffness="0.25" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 10 - 11" Limb1="10" Limb2="11" Limb1Anchor="0.5,-41.187973" Limb2Anchor="-10.862407,6.005065" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="30" LowerLimit="-70" Stiffness="0.25" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 12 - 9" Limb1="12" Limb2="9" Limb1Anchor="-1.8046935,-6.683343" Limb2Anchor="-2.423022,37.601402" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="45" LowerLimit="-12" Stiffness="0.25" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 7 - 8" Limb1="7" Limb2="8" Limb1Anchor="0.5,-41.2" Limb2Anchor="-10.937978,6" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="30" LowerLimit="-70" Stiffness="0.25" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 0 - 4" Limb1="0" Limb2="4" Limb1Anchor="-10.37207,43.280663" Limb2Anchor="0.6,28.573063" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="False" UpperLimit="0" LowerLimit="0" Stiffness="0.5" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 4 - 13" Limb1="4" Limb2="13" Limb1Anchor="-1.4478967,-28.244104" Limb2Anchor="-1.2,23.5" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="170" LowerLimit="5" Stiffness="0.2" Scale="1" WeldJoint="False" ClockWiseRotation="True" />
|
||||||
|
<joint Name="Joint 13 - 5" Limb1="13" Limb2="5" Limb1Anchor="-0.8,-29" Limb2Anchor="-0.5,7.8" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="10" LowerLimit="-30.000021" Stiffness="0.5" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 0 - 2" Limb1="0" Limb2="2" Limb1Anchor="-10.39392,43.006573" Limb2Anchor="0.6395478,28.56819" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="False" UpperLimit="0" LowerLimit="0" Stiffness="0.5" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 2 - 14" Limb1="2" Limb2="14" Limb1Anchor="1.2209377,-28.202503" Limb2Anchor="1.7877463,20.79795" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="170" LowerLimit="5" Stiffness="0.2" Scale="1" WeldJoint="False" ClockWiseRotation="True" />
|
||||||
|
<joint Name="Joint 14 - 3" Limb1="14" Limb2="3" Limb1Anchor="-0.8303146,-28.958904" Limb2Anchor="-0.51387256,7.8291073" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="10" LowerLimit="-30.000021" Stiffness="0.5" Scale="1" WeldJoint="False" ClockWiseRotation="False" />
|
||||||
|
<joint Name="Joint 9 - 10" Limb1="9" Limb2="10" Limb1Anchor="-2.1145673,-39.204475" Limb2Anchor="-0.6147495,41.310158" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="-5" LowerLimit="-145" Stiffness="0.25" Scale="1" WeldJoint="False" ClockWiseRotation="True" />
|
||||||
|
<joint Name="Joint 6 - 7" Limb1="6" Limb2="7" Limb1Anchor="-2.1,-39.2" Limb2Anchor="-0.6,41.3" CanBeSevered="True" SeveranceProbabilityModifier="0" BreakSound="gore" LimitEnabled="True" UpperLimit="-5" LowerLimit="-145" Stiffness="0.25" Scale="1" WeldJoint="False" ClockWiseRotation="True" />
|
||||||
|
</Ragdoll>
|
||||||
@@ -0,0 +1,308 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Character specifiertags="true" skincolors="(#fce1c6, 100); (#f3c696, 100); (#f3c696, 100); (#aa7744, 100); (#f4be98, 100); (#d69a70, 100); (#ab7046, 100); (#774929, 100); (#c8a583, 100); (#a57c53, 100); (#7a5026, 100); (#4a3219, 100); (#957966, 100); (#714d34, 100); (#532d12, 100); (#26190e, 100)" haircolors="(#ded7cc, 100); (#d2a36f, 100); (#c77d52, 100); (#ac4934, 100); (#d8ba85, 100); (#cd975a, 100); (#a15837, 100); (#6a3b37, 100); (#bba981, 100); (#8b7e6c, 100); (#594349, 100); (#473637, 100); (#7b8478, 100); (#494e55, 100); (#3a3a3c, 100); (#343030, 100)" facialhaircolors="(#ded7cc, 100); (#d2a36f, 100); (#c77d52, 100); (#ac4934, 100); (#d8ba85, 100); (#cd975a, 100); (#a15837, 100); (#6a3b37, 100); (#bba981, 100); (#8b7e6c, 100); (#594349, 100); (#473637, 100); (#7b8478, 100); (#494e55, 100); (#3a3a3c, 100); (#343030, 100)" SpeciesName="Testhuman" Tags="" SpeciesTranslationOverride="" DisplayName="" Group="" Humanoid="true" HasInfo="True" CanInteract="True" CanClimb="True" ForceSlowClimbing="False" Husk="False" HuskedSpecies="" NonHuskedSpecies="" UseHuskAppendage="True" NeedsAir="True" NeedsWater="False" UseHumanAI="True" IsMachine="False" CanSpeak="True" ShowHealthBar="True" UseBossHealthBar="False" Noise="150" Visibility="150" BloodDecal="blood" BleedParticleAir="blooddrop" BleedParticleWater="waterblood" BleedParticleMultiplier="1" CanEat="True" EatingSpeed="10" UsePathFinding="True" PathFinderPriority="1" HideInSonar="False" HideInThermalGoggles="False" SonarDisruption="0" DistantSonarRange="0" DisableDistance="25000" SoundInterval="10" DrawLast="False" AITurretPriority="1" AISlowTurretPriority="1" DespawnContainer="">
|
||||||
|
<names path="Content/Characters/Human/names.xml" />
|
||||||
|
<ragdolls folder="default" />
|
||||||
|
<animations folder="default" />
|
||||||
|
<damageemitter drawontop="True" Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="0.25" ScaleMax="0.5" VelocityMin="50" VelocityMax="300" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<bloodemitter Particle="blood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<bloodemitter Particle="waterblood" AngleMin="0" AngleMax="0" ScaleMin="1" ScaleMax="1" VelocityMin="0" VelocityMax="0" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="1" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<gibemitter Particle="gib" AngleMin="0" AngleMax="360" ScaleMin="1" ScaleMax="1" VelocityMin="200" VelocityMax="700" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="20" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<gibemitter Particle="heavygib" AngleMin="0" AngleMax="360" ScaleMin="1" ScaleMax="1" VelocityMin="50" VelocityMax="500" EmitInterval="0" ParticlesPerSecond="0" ParticleAmount="10" HighQualityCollisionDetection="False" CopyEntityAngle="False" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage1.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage2.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage3.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage4.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage5.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage6.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage7.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage8.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage9.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/female_damage10.ogg" State="Damage" Range="500" Volume="1" Tags="Female" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage1.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage2.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage3.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage4.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage5.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage6.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage7.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage8.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage9.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage10.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<sound File="Content/Characters/Human/male_damage11.ogg" State="Damage" Range="500" Volume="1" Tags="Male" />
|
||||||
|
<health Vitality="100" DoesBleed="True" CrushDepth="6000" UseHealthWindow="True" BleedingReduction="0" BurnReduction="0.075" ConstantHealthRegeneration="0" HealthRegenerationWhenEating="0" StunImmunity="False" PoisonImmunity="False" PoisonVulnerability="1" EmpVulnerability="0" ApplyMovementPenalties="True" DieFromBeheading="True" AllowSeveringLegs="False" ApplyAfflictionColors="True" Immunities="">
|
||||||
|
<MedUISilhouette texture="Content/UI/Health/MedUI_Silhouette.png" columns="8" rows="2" sourcerect="0,0,1008,748" />
|
||||||
|
<MedUIExtra texture="Content/UI/Health/MedUIExtra.png" columns="4" rows="4" sourcerect="0,0,1024,1024" />
|
||||||
|
<Limb name="Head">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="1,0,126,374" highlightarea="41,0,45,54" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="1,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="2.0" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="Torso">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="631,0,126,374" highlightarea="29,56,70,134" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="631,515,126,374" />
|
||||||
|
<VitalityMultiplier type="bleeding" multiplier="2.0" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="LeftArm">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="379,0,126,374" highlightarea="1,69,27,140" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="379,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="RightArm">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="127,0,126,374" highlightarea="100,69,27,140" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="127,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="LeftLeg">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="505,0,126,374" highlightarea="3,180,57,194" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="505,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
<Limb name="RightLeg">
|
||||||
|
<Sprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="253,0,126,374" highlightarea="68,180,57,194" />
|
||||||
|
<Highlightsprite texture="Content/UI/Health/MedUIAtlas.png" sourcerect="253,515,126,374" />
|
||||||
|
<VitalityMultiplier type="damage" multiplier="0.5" />
|
||||||
|
</Limb>
|
||||||
|
</health>
|
||||||
|
<inventory arrowslot="9" Slots="Card, Headset, Head, InnerClothes, OuterClothes, LeftHand, RightHand, Bag, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, HealthInterface" AccessibleWhenAlive="True" Commonness="1" />
|
||||||
|
<Heads>
|
||||||
|
<Head tags="head1,male" sheetindex="0,0" />
|
||||||
|
<Head tags="head2,male" sheetindex="1,0" />
|
||||||
|
<Head tags="head3,male" sheetindex="2,0" />
|
||||||
|
<Head tags="head4,male" sheetindex="3,0" />
|
||||||
|
<Head tags="head5,male" sheetindex="0,1" />
|
||||||
|
<Head tags="head6,male" sheetindex="1,1" />
|
||||||
|
<Head tags="head7,male" sheetindex="2,1" />
|
||||||
|
<Head tags="head8,male" sheetindex="3,1" />
|
||||||
|
<Head tags="head9,male" sheetindex="0,2" />
|
||||||
|
<Head tags="head10,male" sheetindex="1,2" />
|
||||||
|
<Head tags="head11,male" sheetindex="2,2" />
|
||||||
|
<Head tags="head12,male" sheetindex="3,2" />
|
||||||
|
<Head tags="head13,male" sheetindex="0,3" />
|
||||||
|
<Head tags="head14,male" sheetindex="1,3" />
|
||||||
|
<Head tags="head15,male" sheetindex="2,3" />
|
||||||
|
<Head tags="head16,male" sheetindex="3,3" />
|
||||||
|
<Head tags="head1,female" sheetindex="0,0" />
|
||||||
|
<Head tags="head2,female" sheetindex="1,0" />
|
||||||
|
<Head tags="head3,female" sheetindex="2,0" />
|
||||||
|
<Head tags="head4,female" sheetindex="3,0" />
|
||||||
|
<Head tags="head5,female" sheetindex="0,1" />
|
||||||
|
<Head tags="head6,female" sheetindex="1,1" />
|
||||||
|
<Head tags="head7,female" sheetindex="2,1" />
|
||||||
|
<Head tags="head8,female" sheetindex="3,1" />
|
||||||
|
<Head tags="head9,female" sheetindex="0,2" />
|
||||||
|
<Head tags="head10,female" sheetindex="1,2" />
|
||||||
|
<Head tags="head11,female" sheetindex="2,2" />
|
||||||
|
<Head tags="head12,female" sheetindex="3,2" />
|
||||||
|
<Head tags="head13,female" sheetindex="0,3" />
|
||||||
|
<Head tags="head14,female" sheetindex="1,3" />
|
||||||
|
<Head tags="head15,female" sheetindex="2,3" />
|
||||||
|
<Head tags="head16,female" sheetindex="3,3" />
|
||||||
|
</Heads>
|
||||||
|
<Vars>
|
||||||
|
<Var var="GENDER" tags="female,male" />
|
||||||
|
</Vars>
|
||||||
|
<MenuCategory var="GENDER" />
|
||||||
|
<Pronouns var="GENDER" />
|
||||||
|
<HeadAttachments>
|
||||||
|
<Wearable type="Hair" tags="male">
|
||||||
|
<sprite name="Hair 1" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male">
|
||||||
|
<sprite name="Hair 2" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male">
|
||||||
|
<sprite name="Hair 3" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 4" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 5" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 6" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 7" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 8" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 9" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 10" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 11" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 12" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 13" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 14" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 15" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="male" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 16" texture="Content/Characters/Human/Human_male_hair.png" sheetindex="3,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female">
|
||||||
|
<sprite name="Hair 1" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female">
|
||||||
|
<sprite name="Hair 2" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female">
|
||||||
|
<sprite name="Hair 3" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 4" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 5" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 6" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 7" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 8" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 9" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 10" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 11" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 12" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 13" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 14" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 15" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Hair" tags="female" replacewhenwearinghat="1">
|
||||||
|
<sprite name="Hair 16" texture="Content/Characters/Human/Human_female_hair.png" sheetindex="3,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 1" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 2" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 3" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 4" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 5" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 6" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 7" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 8" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 9" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 10" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 11" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 12" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 13" texture="Content/Characters/Human/Human_beards.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 14" texture="Content/Characters/Human/Human_beards.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 15" texture="Content/Characters/Human/Human_beards.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Beard" tags="male">
|
||||||
|
<sprite name="Beard 16" texture="Content/Characters/Human/Human_beards.png" sheetindex="3,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 1" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 2" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 3" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 4" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 5" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 6" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 7" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 8" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,1" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.05">
|
||||||
|
<sprite name="FaceAttachment 9" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 10" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.03">
|
||||||
|
<sprite name="FaceAttachment 11" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.02">
|
||||||
|
<sprite name="FaceAttachment 12" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,2" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 13" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="0,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 14" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="1,3" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="FaceAttachment" commonness="0.01">
|
||||||
|
<sprite name="FaceAttachment 15" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="2,3" />
|
||||||
|
</Wearable>
|
||||||
|
<!--
|
||||||
|
<Wearable type="FaceAttachment" commonness="1.0">
|
||||||
|
<sprite name="FaceAttachment 16" texture="Content/Characters/Human/Human_head_accessories.png" sheetindex="3,3"/>
|
||||||
|
</Wearable>
|
||||||
|
-->
|
||||||
|
<Wearable type="Husk">
|
||||||
|
<sprite name="Husk" texture="Content/Characters/Human/Human_husk.png" hidewearablesoftype="Beard" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
<Wearable type="Herpes">
|
||||||
|
<sprite name="Herpes" texture="Content/Characters/Human/Human_karma.png" sheetindex="0,0" />
|
||||||
|
</Wearable>
|
||||||
|
</HeadAttachments>
|
||||||
|
</Character>
|
||||||
8
LocalMods/[DebugOnlyTest]Testhuman/README.txt
Normal file
8
LocalMods/[DebugOnlyTest]Testhuman/README.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
This mod includes a non-human character copied from a human.
|
||||||
|
The mod can be used to test whether some normally human-only features work on a non-human character, for example:
|
||||||
|
- Giving the character a job, name and portrait.
|
||||||
|
- Giving talents to the character.
|
||||||
|
- Adding the character to the crew.
|
||||||
|
- Using human AI on a non-human.
|
||||||
|
|
||||||
|
When spawned, the character should behave and look the same way as a human character (depending on the team, it can either befriendly or hostile).
|
||||||
4
LocalMods/[DebugOnlyTest]Testhuman/filelist.xml
Normal file
4
LocalMods/[DebugOnlyTest]Testhuman/filelist.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<contentpackage name="[DebugOnlyTest]Testhuman" modversion="1.0.3" corepackage="False" gameversion="1.7.4.0">
|
||||||
|
<Character file="%ModDir%/Characters/Testhuman/Testhuman.xml" />
|
||||||
|
</contentpackage>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user