mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 09:34:21 +01:00
Radiation fixes. (#26113)
This commit is contained in:
@@ -201,6 +201,7 @@
|
||||
armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, RAD = INFINITY, FIRE = INFINITY, ACID = 75)
|
||||
item_color = "ancient"
|
||||
resistance_flags = FIRE_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
sprite_sheets = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/ancient
|
||||
@@ -211,6 +212,7 @@
|
||||
armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, RAD = INFINITY, FIRE = INFINITY, ACID = 75)
|
||||
slowdown = 3
|
||||
resistance_flags = FIRE_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
sprite_sheets = null
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ancient
|
||||
var/footstep = 1
|
||||
|
||||
@@ -155,6 +155,7 @@
|
||||
flags = null
|
||||
item_state = "thunderdome"
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450)
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
|
||||
heat_protection = HEAD
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
name = "elite emergency response team engineer helmet"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = INFINITY, FIRE = 200, ACID = 200)
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
icon_state = "hardsuit0-gammaengineer"
|
||||
item_color = "gammaengineer"
|
||||
|
||||
@@ -137,6 +138,7 @@
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
icon_state = "ert_gengineer"
|
||||
armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = INFINITY, FIRE = 200, ACID = 200)
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer/gamma
|
||||
slowdown = 0
|
||||
|
||||
|
||||
@@ -377,11 +377,13 @@
|
||||
//Strike team hardsuits
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/sst
|
||||
armor = list(MELEE = 115, BULLET = 115, LASER = 50, ENERGY = 35, BOMB = 200, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Almost as good as DS gear, but unlike DS can switch to combat for mobility
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
icon_state = "hardsuit0-sst"
|
||||
item_color = "sst"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/syndi/elite/sst
|
||||
armor = list(MELEE = 115, BULLET = 115, LASER = 50, ENERGY = 40, BOMB = 200, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
icon_state = "hardsuit0-sst"
|
||||
item_color = "sst"
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/sst
|
||||
@@ -488,6 +490,7 @@
|
||||
item_state = "singuloth_helm"
|
||||
item_color = "singuloth"
|
||||
armor = list(MELEE = 35, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 15, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
sprite_sheets = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/singuloth
|
||||
@@ -496,6 +499,7 @@
|
||||
icon_state = "hardsuit-singuloth"
|
||||
item_state = "singuloth_hardsuit"
|
||||
flags = STOPSPRESSUREDMAGE
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
armor = list(MELEE = 35, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 15, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/singuloth
|
||||
sprite_sheets = null
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
vision_flags = SEE_MOBS
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these
|
||||
see_in_dark = 8
|
||||
@@ -60,6 +61,7 @@
|
||||
flags_inv = HIDESHOES | HIDEJUMPSUIT | HIDETAIL
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
strip_delay = 130
|
||||
dog_fashion = /datum/dog_fashion/back/deathsquad
|
||||
|
||||
@@ -97,6 +99,7 @@
|
||||
slowdown = 0
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/clothing/suit/space/deathsquad/officer/solgov
|
||||
|
||||
@@ -88,6 +88,7 @@
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear.
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate/black
|
||||
name = "black space suit"
|
||||
@@ -100,6 +101,7 @@
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear.
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
|
||||
//Black-green syndicate space suit
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black/green
|
||||
@@ -161,6 +163,7 @@
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear.
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate/black/red
|
||||
name = "black and red space suit"
|
||||
@@ -173,6 +176,7 @@
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear.
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = ACID_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
|
||||
|
||||
//Black with yellow/red engineering syndicate space suit
|
||||
|
||||
@@ -702,6 +702,7 @@
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
||||
sprite_sheets = null
|
||||
armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450)
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
|
||||
/obj/item/clothing/suit/armor/heavy
|
||||
name = "heavy armor"
|
||||
@@ -712,6 +713,7 @@
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
gas_transfer_coefficient = 0.90
|
||||
flags = THICKMATERIAL
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
slowdown = 3
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
@@ -722,6 +724,7 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
flags = THICKMATERIAL
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
hide_tail_by_species = list("Vox")
|
||||
|
||||
@@ -1211,6 +1211,7 @@
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.01
|
||||
flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD
|
||||
armor = list(MELEE = INFINITY, BULLET = INFINITY, LASER = INFINITY, ENERGY = INFINITY, BOMB = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD
|
||||
|
||||
@@ -184,3 +184,4 @@
|
||||
slowdown = -10
|
||||
siemens_coefficient = 0
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS|FEET
|
||||
resistance_flags = FIRE_PROOF | LAVA_PROOF
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
slowdown = 0
|
||||
armor = list(MELEE = 120, BULLET = 35, LASER = 25, ENERGY = 25, BOMB = 150, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/melee/spellblade)
|
||||
@@ -90,7 +91,7 @@
|
||||
heat_protection = HEAD
|
||||
armor = list(MELEE = 120, BULLET = 35, LASER = 25, ENERGY = 25, BOMB = 150, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY)
|
||||
resistance_flags = FIRE_PROOF | LAVA_PROOF
|
||||
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/clothing/species/vox/head.dmi',
|
||||
"Drask" = 'icons/mob/clothing/species/drask/head.dmi',
|
||||
|
||||
@@ -449,6 +449,65 @@
|
||||
|
||||
return min(1,thermal_protection)
|
||||
|
||||
//This proc returns a number made up of the flags for body parts which you are protected on. (such as HEAD, UPPER_TORSO, LOWER_TORSO, etc. See setup.dm for the full list)
|
||||
/mob/living/carbon/human/proc/get_rad_protection_flags()
|
||||
var/rad_protection_flags = 0
|
||||
//Handle normal clothing
|
||||
if(head)
|
||||
if(head.flags_2 & RAD_PROTECT_CONTENTS_2)
|
||||
rad_protection_flags |= head.body_parts_covered
|
||||
if(wear_suit)
|
||||
if(wear_suit.flags_2 & RAD_PROTECT_CONTENTS_2)
|
||||
rad_protection_flags |= wear_suit.body_parts_covered
|
||||
if(w_uniform)
|
||||
if(w_uniform.flags_2 & RAD_PROTECT_CONTENTS_2)
|
||||
rad_protection_flags |= w_uniform.body_parts_covered
|
||||
if(shoes)
|
||||
if(shoes.flags_2 & RAD_PROTECT_CONTENTS_2)
|
||||
rad_protection_flags |= shoes.body_parts_covered
|
||||
if(gloves)
|
||||
if(gloves.flags_2 & RAD_PROTECT_CONTENTS_2)
|
||||
rad_protection_flags |= gloves.body_parts_covered
|
||||
if(wear_mask)
|
||||
if(wear_mask.flags_2 & RAD_PROTECT_CONTENTS_2)
|
||||
rad_protection_flags |= wear_mask.body_parts_covered
|
||||
|
||||
return rad_protection_flags
|
||||
|
||||
/mob/living/carbon/human/proc/get_rad_protection()
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_RADIMMUNE))
|
||||
return 1
|
||||
|
||||
var/rad_protection_flags = get_rad_protection_flags()
|
||||
|
||||
var/rad_protection = 0
|
||||
if(rad_protection_flags)
|
||||
if(rad_protection_flags & HEAD)
|
||||
rad_protection += THERMAL_PROTECTION_HEAD //This is correct. This uses the same percent defines as thermal protection.
|
||||
if(rad_protection_flags & UPPER_TORSO)
|
||||
rad_protection += THERMAL_PROTECTION_UPPER_TORSO
|
||||
if(rad_protection_flags & LOWER_TORSO)
|
||||
rad_protection += THERMAL_PROTECTION_LOWER_TORSO
|
||||
if(rad_protection_flags & LEG_LEFT)
|
||||
rad_protection += THERMAL_PROTECTION_LEG_LEFT
|
||||
if(rad_protection_flags & LEG_RIGHT)
|
||||
rad_protection += THERMAL_PROTECTION_LEG_RIGHT
|
||||
if(rad_protection_flags & FOOT_LEFT)
|
||||
rad_protection += THERMAL_PROTECTION_FOOT_LEFT
|
||||
if(rad_protection_flags & FOOT_RIGHT)
|
||||
rad_protection += THERMAL_PROTECTION_FOOT_RIGHT
|
||||
if(rad_protection_flags & ARM_LEFT)
|
||||
rad_protection += THERMAL_PROTECTION_ARM_LEFT
|
||||
if(rad_protection_flags & ARM_RIGHT)
|
||||
rad_protection += THERMAL_PROTECTION_ARM_RIGHT
|
||||
if(rad_protection_flags & HAND_LEFT)
|
||||
rad_protection += THERMAL_PROTECTION_HAND_LEFT
|
||||
if(rad_protection_flags & HAND_RIGHT)
|
||||
rad_protection += THERMAL_PROTECTION_HAND_RIGHT
|
||||
|
||||
|
||||
return min(1,rad_protection)
|
||||
|
||||
/mob/living/carbon/human/proc/get_covered_bodyparts()
|
||||
var/covered = 0
|
||||
|
||||
@@ -1056,11 +1056,13 @@
|
||||
amount -= RAD_BACKGROUND_RADIATION // This will always be at least 1 because of how skin protection is calculated
|
||||
|
||||
var/blocked = getarmor(null, RAD)
|
||||
|
||||
if(blocked == INFINITY) // Full protection, go no further.
|
||||
return
|
||||
if(amount > RAD_BURN_THRESHOLD)
|
||||
apply_damage(RAD_BURN_CURVE(amount), BURN, null, blocked)
|
||||
|
||||
apply_effect((amount * RAD_MOB_COEFFICIENT) / max(1, (radiation ** 2) * RAD_OVERDOSE_REDUCTION), IRRADIATE, blocked)
|
||||
|
||||
apply_effect((amount * RAD_MOB_COEFFICIENT) / max(1, (radiation ** 2) * RAD_OVERDOSE_REDUCTION), IRRADIATE, ARMOUR_VALUE_TO_PERCENTAGE(blocked))
|
||||
|
||||
/mob/living/proc/fakefireextinguish()
|
||||
return
|
||||
|
||||
@@ -148,6 +148,7 @@
|
||||
part.max_heat_protection_temperature = theme.max_heat_protection_temperature
|
||||
part.min_cold_protection_temperature = theme.min_cold_protection_temperature
|
||||
part.siemens_coefficient = theme.siemens_coefficient
|
||||
part.flags_2 = theme.flag_2_flags
|
||||
for(var/obj/item/part as anything in mod_parts)
|
||||
RegisterSignal(part, COMSIG_OBJ_DECONSTRUCT, PROC_REF(on_part_destruction)) //look into
|
||||
RegisterSignal(part, COMSIG_PARENT_QDELETING, PROC_REF(on_part_deletion))
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
var/obj/item/mod/armor/armor_type_2 = null
|
||||
/// Resistance flags shared across the MOD parts.
|
||||
var/resistance_flags = NONE
|
||||
/// Flag_2 flags to apply to the modsuit parts.
|
||||
var/flag_2_flags = NONE
|
||||
/// Atom flags shared across the MOD parts.
|
||||
var/atom_flags = NONE
|
||||
/// Max heat protection shared across the MOD parts.
|
||||
@@ -230,6 +232,7 @@
|
||||
default_skin = "advanced"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_advanced
|
||||
resistance_flags = FIRE_PROOF
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
complexity_max = DEFAULT_MAX_COMPLEXITY - 3
|
||||
charge_drain = DEFAULT_CHARGE_DRAIN * 1.5
|
||||
@@ -913,7 +916,7 @@
|
||||
All rights reserved, tampering with suit will void warranty."
|
||||
default_skin = "syndicate"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_syndicate
|
||||
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
siemens_coefficient = 0
|
||||
slowdown_inactive = 1
|
||||
@@ -1001,6 +1004,7 @@
|
||||
default_skin = "elite"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_elite
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
siemens_coefficient = 0
|
||||
slowdown_inactive = 1
|
||||
@@ -1120,6 +1124,7 @@
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_responsory
|
||||
|
||||
resistance_flags = FIRE_PROOF
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
siemens_coefficient = 0
|
||||
slowdown_inactive = 0.5
|
||||
@@ -1201,6 +1206,7 @@
|
||||
default_skin = "apocryphal"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_apocryphal
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
ui_theme = "malfunction"
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
siemens_coefficient = 0
|
||||
@@ -1257,7 +1263,7 @@
|
||||
default_skin = "corporate"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_corporate
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
siemens_coefficient = 0
|
||||
slowdown_inactive = 0.5
|
||||
@@ -1310,7 +1316,7 @@
|
||||
default_skin = "debug"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_debug
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
complexity_max = 50
|
||||
siemens_coefficient = 0
|
||||
@@ -1362,7 +1368,7 @@
|
||||
default_skin = "debug"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_administrative
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
complexity_max = 1000
|
||||
charge_drain = DEFAULT_CHARGE_DRAIN * 0
|
||||
|
||||
Reference in New Issue
Block a user