Updated remaining ghostroles for species loadouts (#29746)
* LoadoutSystem change, deathsquad species loadout * survival gear loadouts for disaster victims * skrek * centcom * syndicate agent * cburn * ERT * syndicates * Is it ever gonna be enough? * Take what you can * Move startingGearEquippedEvent after Loadouts are spawned * skreee * even more formatting * Unbreak auto internals activation * undo AddAllRoleLoadouts change * syndicate reinforcement survival loadouts * re-enable vox ghostroles
This commit is contained in:
@@ -9,10 +9,8 @@ namespace Content.Shared.Clothing.Components;
|
||||
public sealed partial class LoadoutComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// A list of starting gears, of which one will be given.
|
||||
/// A list of starting gears, of which one will be given, before RoleLoadouts are equipped.
|
||||
/// All elements are weighted the same in the list.
|
||||
///
|
||||
/// If not specified, <see cref="RoleLoadout"/> will be used instead.
|
||||
/// </summary>
|
||||
[DataField("prototypes")]
|
||||
[AutoNetworkedField]
|
||||
@@ -21,8 +19,6 @@ public sealed partial class LoadoutComponent : Component
|
||||
/// <summary>
|
||||
/// A list of role loadouts, of which one will be given.
|
||||
/// All elements are weighted the same in the list.
|
||||
///
|
||||
/// If not specified, <see cref="StartingGear"/> will be used instead.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
[AutoNetworkedField]
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
hair: HairBald
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateOperativeGearExtremelyBasic]
|
||||
roleLoadout: [ RoleSurvivalSyndicate ]
|
||||
- type: RandomMetadata
|
||||
nameSegments: [names_death_commando]
|
||||
- type: NpcFactionMember
|
||||
@@ -40,6 +41,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateReinforcementMedic]
|
||||
roleLoadout: [ RoleSurvivalSyndicate ]
|
||||
|
||||
- type: entity
|
||||
parent: MobHumanSyndicateAgent
|
||||
@@ -48,6 +50,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateReinforcementSpy]
|
||||
roleLoadout: [ RoleSurvivalSyndicate ]
|
||||
|
||||
- type: entity
|
||||
parent: MobHumanSyndicateAgent
|
||||
@@ -56,6 +59,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateReinforcementThief]
|
||||
roleLoadout: [ RoleSurvivalSyndicate ]
|
||||
|
||||
- type: entity
|
||||
parent: MobHumanSyndicateAgentBase
|
||||
@@ -91,6 +95,7 @@
|
||||
- type: NukeOperative
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateLoneOperativeGearFull]
|
||||
roleLoadout: [ RoleSurvivalSyndicate ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- SyndicateNamesPrefix
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ DeathSquadGear ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- NamesFirstMilitaryLeader
|
||||
@@ -80,6 +81,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTLeaderGear ]
|
||||
roleLoadout: [ RoleSurvivalExtended ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- NamesFirstMilitaryLeader
|
||||
@@ -109,6 +111,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTLeaderGearEVA ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTLeaderEVALecter
|
||||
@@ -130,6 +133,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTLeaderGearEVALecter ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
## ERT Chaplain
|
||||
|
||||
@@ -165,6 +169,7 @@
|
||||
- NamesLastMilitary
|
||||
- type: Loadout
|
||||
prototypes: [ ERTChaplainGear ]
|
||||
roleLoadout: [ RoleSurvivalExtended ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTChaplainEVA
|
||||
@@ -190,6 +195,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTChaplainGearEVA ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
## ERT Janitor
|
||||
|
||||
@@ -225,6 +231,7 @@
|
||||
- NamesLastMilitary
|
||||
- type: Loadout
|
||||
prototypes: [ ERTJanitorGear ]
|
||||
roleLoadout: [ RoleSurvivalExtended ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTJanitorEVA
|
||||
@@ -250,6 +257,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTJanitorGearEVA ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
## ERT Engineer
|
||||
|
||||
@@ -285,6 +293,7 @@
|
||||
- NamesLastMilitary
|
||||
- type: Loadout
|
||||
prototypes: [ ERTEngineerGear ]
|
||||
roleLoadout: [ RoleSurvivalExtended ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTEngineerEVA
|
||||
@@ -310,6 +319,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTEngineerGearEVA ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
## ERT Security
|
||||
|
||||
@@ -345,6 +355,7 @@
|
||||
- NamesLastMilitary
|
||||
- type: Loadout
|
||||
prototypes: [ ERTSecurityGear ]
|
||||
roleLoadout: [ RoleSurvivalExtended ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTSecurityEVA
|
||||
@@ -370,6 +381,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTSecurityGearEVA ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTSecurityEVALecter
|
||||
@@ -391,6 +403,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTSecurityGearEVALecter ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
## ERT Medic
|
||||
|
||||
@@ -426,6 +439,7 @@
|
||||
- NamesLastMilitary
|
||||
- type: Loadout
|
||||
prototypes: [ ERTMedicalGear ]
|
||||
roleLoadout: [ RoleSurvivalExtended ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerERTMedicalEVA
|
||||
@@ -451,6 +465,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ERTMedicalGearEVA ]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
|
||||
## CBURN
|
||||
|
||||
@@ -471,6 +486,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [CBURNGear]
|
||||
roleLoadout: [ RoleSurvivalEVA ]
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-cburn-agent-name
|
||||
description: ghost-role-information-cburn-agent-description
|
||||
@@ -506,6 +522,7 @@
|
||||
settings: default
|
||||
- type: Loadout
|
||||
prototypes: [ CentcomGear ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
## Syndicate
|
||||
|
||||
@@ -528,6 +545,7 @@
|
||||
randomizeName: false
|
||||
- type: Loadout
|
||||
prototypes: [SyndicateOperativeGearExtremelyBasic]
|
||||
roleLoadout: [ RoleSurvivalSyndicate ]
|
||||
|
||||
- type: entity
|
||||
id: RandomHumanoidSpawnerNukeOp
|
||||
@@ -607,8 +625,6 @@
|
||||
- type: randomHumanoidSettings
|
||||
id: LostCargoTechnician
|
||||
parent: EventHumanoid
|
||||
speciesBlacklist:
|
||||
- Vox
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-lost-cargo-technical-name
|
||||
@@ -618,6 +634,8 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ LostCargoTechGearSuit, LostCargoTechGearCoat ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
|
||||
# Clown troupe
|
||||
|
||||
@@ -660,8 +678,6 @@
|
||||
id: ClownTroupe
|
||||
parent: EventHumanoid
|
||||
randomizeName: false
|
||||
speciesBlacklist:
|
||||
- Vox
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-clown-troupe-name
|
||||
@@ -671,6 +687,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ ClownTroupe ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
- type: RandomMetadata
|
||||
nameSegments:
|
||||
- names_clown
|
||||
@@ -682,6 +699,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ BananaClown ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
# Traveling exotic chef
|
||||
|
||||
@@ -712,8 +730,6 @@
|
||||
- type: randomHumanoidSettings
|
||||
id: TravelingChef
|
||||
parent: EventHumanoid
|
||||
speciesBlacklist:
|
||||
- Vox
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-traveling-chef-name
|
||||
@@ -723,6 +739,7 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ TravelingChef ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
# Disaster victim
|
||||
|
||||
@@ -774,8 +791,6 @@
|
||||
- type: randomHumanoidSettings
|
||||
id: DisasterVictimHead
|
||||
parent: EventHumanoidMindShielded
|
||||
speciesBlacklist:
|
||||
- Vox
|
||||
components:
|
||||
- type: GhostRole
|
||||
name: ghost-role-information-disaster-victim-name
|
||||
@@ -790,6 +805,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ DisasterVictimRD, DisasterVictimRDAlt ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: DisasterVictimCMO
|
||||
@@ -797,6 +813,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ DisasterVictimCMO, DisasterVictimCMOAlt ]
|
||||
roleLoadout: [ RoleSurvivalMedical ]
|
||||
|
||||
- type: randomHumanoidSettings
|
||||
id: DisasterVictimCaptain
|
||||
@@ -804,6 +821,7 @@
|
||||
components:
|
||||
- type: Loadout
|
||||
prototypes: [ DisasterVictimCaptain, DisasterVictimCaptainAlt ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
# Syndie Disaster Victim
|
||||
|
||||
@@ -834,8 +852,6 @@
|
||||
- type: randomHumanoidSettings
|
||||
id: SyndieDisasterVictim
|
||||
parent: EventHumanoid
|
||||
speciesBlacklist:
|
||||
- Vox
|
||||
components:
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
@@ -848,3 +864,4 @@
|
||||
settings: short
|
||||
- type: Loadout
|
||||
prototypes: [ SyndicateOperativeGearCivilian ]
|
||||
roleLoadout: [ RoleSurvivalStandard ]
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
equipment:
|
||||
outerClothing: ClothingOuterVestTank
|
||||
|
||||
# Breaths Tool On Face
|
||||
# Breath Tool On Face
|
||||
- type: loadout
|
||||
id: LoadoutSpeciesBreathTool
|
||||
effects:
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
gloves: ClothingHandsGlovesColorBlack
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalSyndicate
|
||||
- WeaponPistolViper
|
||||
- PinpointerSyndicateNuclear
|
||||
- DeathAcidifierImplanter
|
||||
@@ -51,9 +50,6 @@
|
||||
pocket1: WeaponPistolViper
|
||||
inhand:
|
||||
- MedkitCombatFilled
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalSyndicate
|
||||
|
||||
- type: startingGear
|
||||
id: SyndicateReinforcementSpy
|
||||
@@ -62,9 +58,6 @@
|
||||
id: AgentIDCard
|
||||
mask: ClothingMaskGasVoiceChameleon
|
||||
pocket1: WeaponPistolViper
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalSyndicate
|
||||
|
||||
- type: startingGear
|
||||
id: SyndicateReinforcementThief
|
||||
@@ -75,7 +68,6 @@
|
||||
- ToolboxSyndicateFilled
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalSyndicate
|
||||
- SyndicateJawsOfLife
|
||||
|
||||
#Syndicate Operative Outfit - Basic
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
pocket2: FlashlightSeclite
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponDisabler
|
||||
- MedicatedSuture
|
||||
- RegenerativeMesh
|
||||
@@ -49,7 +48,6 @@
|
||||
eyes: ClothingEyesGlassesSecurity
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitERTLeader
|
||||
suitstorage: AirTankFilled
|
||||
id: ERTLeaderPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltSecurityFilled
|
||||
@@ -57,7 +55,6 @@
|
||||
pocket2: FlashlightSeclite
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponDisabler
|
||||
- MedicatedSuture
|
||||
- RegenerativeMesh
|
||||
@@ -75,17 +72,15 @@
|
||||
eyes: ClothingEyesGlassesSecurity
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitERTLeader
|
||||
suitstorage: WeaponRifleLecter
|
||||
id: ERTLeaderPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltSecurityFilled
|
||||
pocket1: MagazineRifle
|
||||
pocket2: MagazineRifle
|
||||
inhand:
|
||||
- AirTankFilled
|
||||
- WeaponRifleLecter
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponDisabler
|
||||
- MedicatedSuture
|
||||
- RegenerativeMesh
|
||||
@@ -131,7 +126,6 @@
|
||||
pocket2: DrinkWaterBottleFull
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- BoxCandle
|
||||
- BoxBodyBag
|
||||
- DrinkWaterMelonJuiceJug
|
||||
@@ -156,7 +150,6 @@
|
||||
neck: ClothingNeckStoleChaplain
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitERTChaplain
|
||||
suitstorage: AirTankFilled
|
||||
id: ERTChaplainPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltStorageWaistbag
|
||||
@@ -164,7 +157,6 @@
|
||||
pocket2: DrinkWaterBottleFull
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- BoxCandle
|
||||
- BoxBodyBag
|
||||
- DrinkWaterMelonJuiceJug
|
||||
@@ -211,7 +203,6 @@
|
||||
pocket2: GasAnalyzer
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- trayScanner
|
||||
- RCD
|
||||
- RCDAmmo
|
||||
@@ -233,7 +224,6 @@
|
||||
eyes: ClothingEyesGlassesMeson
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitERTEngineer
|
||||
suitstorage: AirTankFilled
|
||||
id: ERTEngineerPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltChiefEngineerFilled
|
||||
@@ -241,7 +231,6 @@
|
||||
pocket2: GasAnalyzer
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- trayScanner
|
||||
- RCD
|
||||
- RCDAmmo
|
||||
@@ -286,7 +275,6 @@
|
||||
pocket2: FlashlightSeclite
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponDisabler
|
||||
- MedicatedSuture
|
||||
- RegenerativeMesh
|
||||
@@ -304,7 +292,6 @@
|
||||
eyes: ClothingEyesGlassesSecurity
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitERTSecurity
|
||||
suitstorage: AirTankFilled
|
||||
id: ERTSecurityPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltSecurityFilled
|
||||
@@ -312,7 +299,6 @@
|
||||
pocket2: FlashlightSeclite
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponDisabler
|
||||
- MedicatedSuture
|
||||
- RegenerativeMesh
|
||||
@@ -330,17 +316,15 @@
|
||||
eyes: ClothingEyesGlassesSecurity
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitERTSecurity
|
||||
suitstorage: WeaponRifleLecter
|
||||
id: ERTSecurityPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltSecurityFilled
|
||||
pocket1: MagazineRifle
|
||||
pocket2: MagazineRifle
|
||||
inhand:
|
||||
- AirTankFilled
|
||||
- WeaponRifleLecter
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponDisabler
|
||||
- MedicatedSuture
|
||||
- RegenerativeMesh
|
||||
@@ -380,7 +364,6 @@
|
||||
pocket1: Flare
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalMedical # Is this actually supposed to be Medical? All other ERT has Extended
|
||||
- Hypospray
|
||||
- MedkitAdvancedFilled
|
||||
- CrowbarRed
|
||||
@@ -398,14 +381,12 @@
|
||||
eyes: ClothingEyesHudMedical
|
||||
gloves: ClothingHandsGlovesNitrile
|
||||
outerClothing: ClothingOuterHardsuitERTMedical
|
||||
suitstorage: AirTankFilled
|
||||
id: ERTMedicPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltMedicalFilled
|
||||
pocket1: Flare
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalMedical # Is this actually supposed to be Medical? All other ERT has Extended
|
||||
- Hypospray
|
||||
- MedkitAdvancedFilled
|
||||
- CrowbarRed
|
||||
@@ -444,7 +425,6 @@
|
||||
pocket1: Flare
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- LightReplacer
|
||||
- BoxLightMixed
|
||||
- BoxLightMixed
|
||||
@@ -461,14 +441,12 @@
|
||||
mask: ClothingMaskGasERT
|
||||
gloves: ClothingHandsGlovesColorPurple
|
||||
outerClothing: ClothingOuterHardsuitERTJanitor
|
||||
suitstorage: AirTankFilled
|
||||
id: ERTJanitorPDA
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltJanitorFilled
|
||||
pocket1: Flare
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- LightReplacer
|
||||
- BoxLightMixed
|
||||
- BoxLightMixed
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
ears: ClothingHeadsetAltCentCom
|
||||
gloves: ClothingHandsGlovesCombat
|
||||
outerClothing: ClothingOuterHardsuitDeathsquad
|
||||
suitstorage: AirTankFilled
|
||||
shoes: ClothingShoesBootsMagAdv
|
||||
id: DeathsquadPDA
|
||||
pocket1: EnergySword
|
||||
@@ -36,8 +35,6 @@
|
||||
belt: ClothingBeltMilitaryWebbingMedFilled
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponPulseRifle
|
||||
- WeaponPulsePistol
|
||||
- WeaponRevolverMateba
|
||||
- SpeedLoaderMagnumAP
|
||||
@@ -48,6 +45,8 @@
|
||||
- Hypospray
|
||||
- DeathAcidifierImplanter # crew will try to steal their amazing hardsuits
|
||||
- FreedomImplanter
|
||||
inhand:
|
||||
- WeaponPulseRifle
|
||||
|
||||
# Syndicate Operative Outfit - Civilian
|
||||
- type: startingGear
|
||||
@@ -117,11 +116,9 @@
|
||||
id: CBURNPDA
|
||||
pocket1: RadioHandheld
|
||||
pocket2: WeaponLaserGun
|
||||
suitstorage: OxygenTankFilled
|
||||
belt: ClothingBeltBandolier
|
||||
storage:
|
||||
back:
|
||||
- BoxSurvivalEngineering
|
||||
- WeaponShotgunDoubleBarreled
|
||||
- BoxShotgunIncendiary
|
||||
- GrenadeFlashBang
|
||||
|
||||
Reference in New Issue
Block a user