Skip to content

Commit

Permalink
Альбедо и Нигредо 2: Медицинский револьвер (дубль 2) (#774)
Browse files Browse the repository at this point in the history
* albedo

* albedo_sound

* albedo_icons

* adrenaline_rework

* ne_pomnju_zachem

* pravki

* skill_check

* adrenaline_timers

* popravki_2

* t500/t312 to /t312

* pravka-3

* pouch-from-storage-to-pouches

* pravka-5

* pravki-4

* pravka-6

* puli_v_spez_storagy

* anti_prolaps

* new_pouch_icon

* bullets_icon_update

* new_md_icon

* cargo_rename

* ammo_desc

* Apply suggestions from code review

Co-authored-by: Helg2 <[email protected]>
Signed-off-by: siegluck <[email protected]>

* handful_5

* albedo_to_loadout

* -recoil

* medkit_with_meraderm_pills

* try_to_fix_shit

* Apply suggestions from code review

Co-authored-by: Helg2 <[email protected]>
Signed-off-by: siegluck <[email protected]>

---------

Signed-off-by: siegluck <[email protected]>
Co-authored-by: Helg2 <[email protected]>
  • Loading branch information
siegluck and Helg2 authored Dec 21, 2024
1 parent d9db6e6 commit 4ca4882
Show file tree
Hide file tree
Showing 22 changed files with 351 additions and 9 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/calibers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#define CALIBER_12X7 "12.7 Magnum"
#define CALIBER_44LS ".44 Long Special"
#define CALIBER_500 ".500 Nigro Express"
#define CALIBER_500_EMB ".500 Experimental Medical Bullets" // t312

// SMGs
#define CALIBER_46X30 "4.6x30mm"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/cooldowns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
#define COOLDOWN_ARMORED_HORN "cooldown_armored_horn"
#define COOLDOWN_MOB_EX_ACT "mob_ex_act"
#define COOLDOWN_MOUNTED_GUN_ROTATE "mounted_gun_rotate"
#define COOLDOWN_STAMINA "adrenaline_add_stamina"
#define COOLDOWN_CRIT "adrenaline_heal_crit"

//Mecha cooldowns
#define COOLDOWN_MECHA "mecha"
Expand Down
12 changes: 12 additions & 0 deletions code/__DEFINES/loadout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,16 @@ GLOBAL_LIST_INIT(medic_gear_listed_products, list(
/obj/item/tweezers_advanced = list(CAT_MEDSUP, "Advanced Tweezers", 8, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_MEDSUP, "Medivac Stretcher", 20, "yellow"),
/obj/item/deployable_optable = list(CAT_MEDSUP, "Deployable Operating Table", 12, "yellow"),
/obj/item/weapon/gun/revolver/t312 = list(CAT_MEDSUP, "R-312 'Albedo' Revolver", 10, "red"),
/obj/item/ammo_magazine/packet/t312/med/adrenaline = list(CAT_MEDSUP, "packet of .500 Adrenaline EMB", 7, "orange2"),
/obj/item/ammo_magazine/packet/t312/med/rr = list(CAT_MEDSUP, "packet of .500 Red Russian EMB", 7, "orange2"),
/obj/item/ammo_magazine/packet/t312/med/md = list(CAT_MEDSUP, "packet of .500 Meraderm EMB", 10, "orange2"),
/obj/item/ammo_magazine/packet/t312/med/neu = list(CAT_MEDSUP, "packet of .500 Neuraline EMB", 10, "orange2"),
/obj/item/ammo_magazine/revolver/t312/med/adrenaline = list(CAT_MEDSUP, "R-312 Adrenaline EMB speed loader", 1, "yellow"),
/obj/item/ammo_magazine/revolver/t312/med/rr = list(CAT_MEDSUP, "R-312 Red Russian EMB speed loader", 1, "yellow"),
/obj/item/ammo_magazine/revolver/t312/med/md = list(CAT_MEDSUP, "R-312 Meraderm EMB speed loader", 1, "yellow"),
/obj/item/ammo_magazine/revolver/t312/med/neu = list(CAT_MEDSUP, "R-312 Neuraline EMB speed loader", 1, "yellow"),
/obj/item/storage/pouch/medkit/t312 = list(CAT_MEDSUP, "Medkit pouch for EMB", 1, "blue"),
))

GLOBAL_LIST_INIT(leader_gear_listed_products, list(
Expand Down Expand Up @@ -428,6 +438,7 @@ GLOBAL_LIST_INIT(synthetic_gear_listed_products, list(
/obj/item/tweezers_advanced = list(CAT_SYNTH, "Advanced Tweezers", 8, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_SYNTH, "Medivac Stretcher", 20, "yellow"),
/obj/item/deployable_optable = list(CAT_SYNTH, "Deployable Operating Table", 12, "yellow"),
/obj/item/storage/box/t312case = list(CAT_MEDSUP, "R-312 'Albedo' Revolver", 25, "red"), // can buy for other, why not
))

///Assoc list linking the job title with their specific points vendor
Expand Down Expand Up @@ -727,6 +738,7 @@ GLOBAL_LIST_INIT(medic_clothes_listed_products, list(
/obj/item/armor_module/storage/grenade = list(CAT_MOD, "Grenade Storage Module", 0, "black"),
/obj/item/storage/pouch/medical_injectors/medic = list(CAT_POU, "Advanced Autoinjector pouch", 0, "orange"),
/obj/item/storage/pouch/medkit/medic = list(CAT_POU, "Medkit pouch", 0, "orange"),
/obj/item/storage/pouch/medkit/t312/medic = list(CAT_POU, "Medkit pouch for EMB", 0, "orange"),
/obj/effect/vendor_bundle/mimir = list(CAT_ARMMOD, "Mimir Resistance set", 0,"black"),
/obj/item/armor_module/module/ballistic_armor = list(CAT_ARMMOD, "Hod Accident Prevention Plating", 0,"black"),
/obj/effect/vendor_bundle/tyr = list(CAT_ARMMOD, "Mark 1 Tyr extra armor set", 0,"black"),
Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/items/reagent_containers/pill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -287,3 +287,8 @@
pill_desc = "An oxycodone pill. Best painkiller."
list_reagents = list(/datum/reagent/medicine/oxycodone = 15)
pill_id = 7

/obj/item/reagent_containers/pill/meraderm
pill_desc = "A meralyne and dermaline pill. Heals brute damage at a higher rate than bicaridine and heals burn damage at a higher rate than kelotane"
list_reagents = list(/datum/reagent/medicine/meralyne = 7.5, /datum/reagent/medicine/dermaline = 7.5)
pill_id = 19
37 changes: 36 additions & 1 deletion code/game/objects/items/storage/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1159,7 +1159,7 @@
closed_overlay = "grenade_box_overlay_training"

/obj/item/storage/box/t500case
name = "\improper R-500 special case"
name = "\improper R-500 'Nigredo' special case"
desc = "High-tech case made by BMSS for delivery their special weapons. Label on this case says: 'This is the greatest handgun ever made. Five bullets. More than enough to kill anything that moves'."
icon = 'icons/obj/items/storage/storage.dmi'
icon_state = "t500case"
Expand Down Expand Up @@ -1190,6 +1190,41 @@
new /obj/item/attachable/t500barrel(src)
new /obj/item/weapon/gun/revolver/t500(src)

/obj/item/storage/box/t312case
name = "R-312 'Albedo' Revolver special case"
desc = "High-tech case made by BMSS for delivery their special weapons. Label on this case says: 'Since we have already called Nigredo death, within the same metaphor we can call Albedo life. It is time to shoot at people legally.'"
icon_state = "med_case"
w_class = WEIGHT_CLASS_NORMAL
max_w_class = 1
storage_slots = 7
max_storage_space = 1
bypass_w_limit = list(
/obj/item/ammo_magazine/packet/t312/med/adrenaline,
/obj/item/ammo_magazine/packet/t312/med/rr,
/obj/item/ammo_magazine/packet/t312/med/md,
/obj/item/ammo_magazine/packet/t312/med/neu,
/obj/item/ammo_magazine/revolver/t312/med/adrenaline,
/obj/item/ammo_magazine/revolver/t312/med/rr,
/obj/item/ammo_magazine/revolver/t312/med/md,
/obj/item/ammo_magazine/revolver/t312/med/neu,
/obj/item/storage/pouch/medkit/t312,
/obj/item/attachable/lace/t500,
/obj/item/weapon/gun/revolver/t312,
)

/obj/item/storage/box/t312case/PopulateContents()
new /obj/item/ammo_magazine/packet/t312/med/adrenaline(src)
new /obj/item/ammo_magazine/packet/t312/med/rr(src)
new /obj/item/ammo_magazine/packet/t312/med/md(src)
new /obj/item/ammo_magazine/packet/t312/med/neu(src)
new /obj/item/ammo_magazine/revolver/t312/med/adrenaline(src)
new /obj/item/ammo_magazine/revolver/t312/med/rr(src)
new /obj/item/ammo_magazine/revolver/t312/med/md(src)
new /obj/item/ammo_magazine/revolver/t312/med/neu(src)
new /obj/item/storage/pouch/medkit/t312(src)
new /obj/item/attachable/lace/t500(src)
new /obj/item/weapon/gun/revolver/t312(src)

#undef BOX_OVERLAY_SHIFT_X
#undef BOX_OVERLAY_SHIFT_Y

Expand Down
9 changes: 9 additions & 0 deletions code/game/objects/items/storage/firstaid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -709,3 +709,12 @@
pill_type_to_fill = /obj/item/reagent_containers/pill/oxycodone
greyscale_colors = "#360570#ffffff"
description_overlay = "Ox"

/obj/item/storage/pill_bottle/meraderm
name = "Meraderm pill bottle"
desc = "Contains pills used to heal cuts and burns, yum!"
icon_state = "pill_canistercomplete"
pill_type_to_fill = /obj/item/reagent_containers/pill/meraderm
greyscale_colors = "#ECFC00#ffffff"
greyscale_config = /datum/greyscale_config/pillbottleround
description_overlay = "MD"
6 changes: 5 additions & 1 deletion code/game/objects/items/storage/holsters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -739,15 +739,19 @@

/obj/item/storage/holster/belt/revolver/t500
name = "\improper BM500 pattern BF revolver holster rig"
desc = "The BM500 is the special modular belt for R-500 BF revolver."
desc = "The BM500 is the special modular belt for BMSS revolvers."
icon = 'icons/obj/clothing/belts.dmi'
icon_state = "t500_holster"
bypass_w_limit = list(/obj/item/weapon/gun/revolver/t500)
can_hold = list(
/obj/item/weapon/gun/revolver/t500,
/obj/item/weapon/gun/revolver/t312,
/obj/item/ammo_magazine/revolver/t500,
/obj/item/ammo_magazine/revolver/t500/slavs,
/obj/item/ammo_magazine/packet/t500,
/obj/item/ammo_magazine/revolver/t312,
/obj/item/ammo_magazine/packet/t312,
/obj/item/ammo_magazine/handful
)

/obj/item/storage/holster/belt/revolver/m44
Expand Down
27 changes: 27 additions & 0 deletions code/game/objects/items/storage/pouch.dm
Original file line number Diff line number Diff line change
Expand Up @@ -902,3 +902,30 @@
. = ..()
for(var/i in 1 to storage_slots)
new /obj/item/reagent_containers/food/snacks/protein_pack(src)

/obj/item/storage/pouch/medkit/t312
name = "BMSS medkit pouch"
desc = "Advanced medkit pouch made by BMSS. It is also capable of holding R-312 ammo and tweezers."
icon_state = "t312"
can_hold = list(
/obj/item/healthanalyzer,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/pill,
/obj/item/reagent_containers/glass/bottle,
/obj/item/reagent_containers/syringe,
/obj/item/storage/pill_bottle,
/obj/item/stack/medical,
/obj/item/storage/pill_bottle/packet,
/obj/item/reagent_containers/hypospray,
/obj/item/ammo_magazine/packet/t312/med,
/obj/item/ammo_magazine/revolver/t312/med,
/obj/item/tweezers,
/obj/item/ammo_magazine/handful
)

/obj/item/storage/pouch/medkit/t312/medic/PopulateContents()
new /obj/item/stack/medical/heal_pack/advanced/bruise_combat_pack(src)
new /obj/item/stack/medical/heal_pack/advanced/burn_combat_pack(src)
new /obj/item/stack/medical/splint(src)
new /obj/item/storage/pill_bottle/meraderm(src)
new /obj/item/reagent_containers/hypospray/advanced/nanoblood(src)
9 changes: 9 additions & 0 deletions code/game/objects/machinery/vending/marine_vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
/obj/item/storage/box/t500case = 10,
/obj/item/ammo_magazine/revolver/t500 = -1,
/obj/item/ammo_magazine/revolver/t500/slavs = -1,
/obj/item/ammo_magazine/revolver/t312 = -1,
/obj/item/weapon/gun/pistol/p17 = -1,
/obj/item/ammo_magazine/pistol/p17 = -1,
/obj/item/weapon/gun/pistol/vp70 = -1,
Expand Down Expand Up @@ -152,6 +153,7 @@
/obj/item/attachable/suppressor = -1,
/obj/item/attachable/heavy_barrel = -1,
/obj/item/attachable/lace = -1,
/obj/item/attachable/lace/t500 = -1,
/obj/item/attachable/flashlight = -1,
/obj/item/attachable/flashlight/under = -1,
/obj/item/attachable/magnetic_harness = -1,
Expand Down Expand Up @@ -192,6 +194,7 @@
/obj/item/ammo_magazine/packet/t500 = -1,
/obj/item/ammo_magazine/packet/t500/qk = -1,
/obj/item/ammo_magazine/packet/t500/slavs = -1,
/obj/item/ammo_magazine/packet/t312 = -1,
/obj/item/ammo_magazine/packet/p10x20mm = -1,
/obj/item/ammo_magazine/packet/p10x24mm = -1,
/obj/item/ammo_magazine/packet/p10x24mm/ap = -1,
Expand Down Expand Up @@ -338,6 +341,7 @@
/obj/item/storage/box/t500case = 10,
/obj/item/ammo_magazine/revolver/t500 = -1,
/obj/item/ammo_magazine/revolver/t500/slavs = -1,
/obj/item/ammo_magazine/revolver/t312 = -1,
/obj/item/weapon/gun/pistol/p17 = -1,
/obj/item/ammo_magazine/pistol/p17 = -1,
/obj/item/weapon/gun/pistol/vp70 = -1,
Expand Down Expand Up @@ -379,6 +383,7 @@
/obj/item/attachable/suppressor = -1,
/obj/item/attachable/heavy_barrel = -1,
/obj/item/attachable/lace = -1,
/obj/item/attachable/lace/t500 = -1,
/obj/item/attachable/flashlight = -1,
/obj/item/attachable/flashlight/under = -1,
/obj/item/attachable/magnetic_harness = -1,
Expand Down Expand Up @@ -419,6 +424,7 @@
/obj/item/ammo_magazine/packet/t500 = -1,
/obj/item/ammo_magazine/packet/t500/qk = -1,
/obj/item/ammo_magazine/packet/t500/slavs = -1,
/obj/item/ammo_magazine/packet/t312 = -1,
/obj/item/ammo_magazine/packet/p10x20mm = -1,
/obj/item/ammo_magazine/packet/p10x24mm = -1,
/obj/item/ammo_magazine/packet/p10x24mm/ap = -1,
Expand Down Expand Up @@ -571,6 +577,7 @@
/obj/item/storage/box/t500case = -1,
/obj/item/ammo_magazine/revolver/t500 = -1,
/obj/item/ammo_magazine/revolver/t500/slavs = -1,
/obj/item/ammo_magazine/revolver/t312 = -1,
/obj/item/weapon/gun/pistol/p17 = -1,
/obj/item/ammo_magazine/pistol/p17 = -1,
/obj/item/weapon/gun/pistol/vp70 = -1,
Expand Down Expand Up @@ -638,6 +645,7 @@
/obj/item/attachable/suppressor = -1,
/obj/item/attachable/heavy_barrel = -1,
/obj/item/attachable/lace = -1,
/obj/item/attachable/lace/t500 = -1,
/obj/item/attachable/flashlight = -1,
/obj/item/attachable/flashlight/under = -1,
/obj/item/attachable/magnetic_harness = -1,
Expand Down Expand Up @@ -679,6 +687,7 @@
/obj/item/ammo_magazine/packet/t500 = -1,
/obj/item/ammo_magazine/packet/t500/qk = -1,
/obj/item/ammo_magazine/packet/t500/slavs = -1,
/obj/item/ammo_magazine/packet/t312 = -1,
/obj/item/ammo_magazine/packet/p10x20mm = -1,
/obj/item/ammo_magazine/packet/p10x24mm = -1,
/obj/item/ammo_magazine/packet/p10x24mm/ap = -1,
Expand Down
68 changes: 68 additions & 0 deletions code/modules/projectiles/ammo_datums/bullet/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
/datum/ammo/bullet/revolver/t500
name = ".500 Nigro Express revolver bullet"
handful_icon_state = "nigro"
accurate_range = 15
handful_amount = 5
damage = 100
penetration = 40
Expand Down Expand Up @@ -53,6 +54,73 @@
return
staggerstun(M, P, stagger = 0, slowdown = 0, knockback = 1)

/datum/ammo/bullet/revolver/t312
name = ".500 White Express revolver bullet"
handful_icon_state = "nigro_we"
accurate_range = 15
handful_amount = 5
damage = 100
penetration = 40
additional_xeno_penetration = 0

/datum/ammo/bullet/revolver/t312/on_hit_mob(mob/M, obj/projectile/P)
staggerstun(M, P, knockback = 1)

/datum/ammo/bullet/revolver/t312/med
name = ".500 EMB"
handful_icon_state = "nigro"
handful_amount = 5
damage = 20
penetration = 100
shrapnel_chance = 0
flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SKIPS_ALIENS

/datum/ammo/bullet/revolver/t312/med/on_hit_mob(mob/M, obj/projectile/P)
return

/datum/ammo/bullet/revolver/t312/med/adrenaline
name = ".500 Adrenaline EMB"
handful_icon_state = "nigro_adr"
hud_state = "t312_adr"

/datum/ammo/bullet/revolver/t312/med/adrenaline/on_hit_mob(mob/M, obj/projectile/P)
if(!ishuman(M))
return
M.reagents.add_reagent(/datum/reagent/medicine/adrenaline, 2)
M.reagents.add_reagent(/datum/reagent/medicine/hyronalin, 3)

/datum/ammo/bullet/revolver/t312/med/rr
name = ".500 Russian Red EMB"
handful_icon_state = "nigro_rr"
hud_state = "t312_rr"

/datum/ammo/bullet/revolver/t312/med/rr/on_hit_mob(mob/M, obj/projectile/P)
if(!ishuman(M))
return
M.reagents.add_reagent(/datum/reagent/medicine/russian_red, 5)

/datum/ammo/bullet/revolver/t312/med/md
name = "packet of .500 Meraderm EMB"
handful_icon_state = "nigro_md"
hud_state = "t312_md"

/datum/ammo/bullet/revolver/t312/med/md/on_hit_mob(mob/M, obj/projectile/P)
if(!ishuman(M))
return
M.reagents.add_reagent(/datum/reagent/medicine/meralyne, 2.5)
M.reagents.add_reagent(/datum/reagent/medicine/dermaline, 2.5)

/datum/ammo/bullet/revolver/t312/med/neu
name = ".500 Neuraline EMB"
handful_icon_state = "nigro_neu"
hud_state = "t312_neu"

/datum/ammo/bullet/revolver/t312/med/neu/on_hit_mob(mob/M, obj/projectile/P)
if(!ishuman(M))
return
M.reagents.add_reagent(/datum/reagent/medicine/neuraline, 3.1)
M.reagents.add_reagent(/datum/reagent/medicine/hyronalin, 1.9)

/datum/ammo/bullet/revolver/r44
name = "standard revolver bullet"
damage = 35
Expand Down
58 changes: 56 additions & 2 deletions code/modules/projectiles/guns/revolvers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -508,8 +508,8 @@
//////////////////////////////////////////////////////////////////////////

/obj/item/weapon/gun/revolver/t500
name = "\improper R-500 BF revolver"
desc = "The R-500 BF revolver, chambered in .500 Nigro Express. Hard to use, but hits as hard as it’s kicks your hand. This handgun made by BMSS, designed to be deadly, unholy force to stop everything what moves, so in exchange for it, revolver lacking recoil control and have tight cocking system. Because of its specific, handcanon niche, was produced in small numbers. Black & Metzer special attachments system can turn extremely powerful handgun to fullscale rifle, making it a weapon to surpass Metal Gear."
name = "\improper R-500 'Nigredo' revolver"
desc = "The R-500 'Nigredo' revolver, chambered in .500 Nigro Express. Hard to use, but hits as hard as it’s kicks your hand. This handgun made by BMSS, designed to be deadly, unholy force to stop everything what moves, so in exchange for it, revolver lacking recoil control and have tight cocking system. Because of its specific, handcanon niche, was produced in small numbers. Black & Metzer special attachments system can turn extremely powerful handgun to fullscale rifle, making it a weapon to surpass Metal Gear."
icon = 'icons/Marine/gun64.dmi'
icon_state = "t500"
item_icons = list(
Expand Down Expand Up @@ -561,3 +561,57 @@
scatter = -1
recoil = 2
recoil_unwielded = 3

//////////////////////////////////////////////////////////////////////////
/////////////////////////// t312 revolver ////////////////////////////////
//////////////////////////////////////////////////////////////////////////

/obj/item/weapon/gun/revolver/t312
name = "R-312 'Albedo' Revolver"
desc = "Futuristic style revolver with railgun system, using to fire EMB (experimental medical bullets). Just first make sure that you chambered EMB, but not .500 White Express."
icon = 'icons/Marine/gun64.dmi'
icon_state = "t312"
item_state = "t312"
item_icons = list(
slot_l_hand_str = 'icons/mob/items_lefthand_1.dmi',
slot_r_hand_str = 'icons/mob/items_righthand_1.dmi',
)
caliber = CALIBER_500_EMB
max_chamber_items = 5 //codex
default_ammo_type = /datum/ammo/bullet/revolver/t312
allowed_ammo_types = list(
/obj/item/ammo_magazine/revolver/t312,
/obj/item/ammo_magazine/revolver/t312/med/adrenaline,
/obj/item/ammo_magazine/revolver/t312/med/rr,
/obj/item/ammo_magazine/revolver/t312/med/md,
/obj/item/ammo_magazine/revolver/t312/med/neu
)
force = 20
actions_types = null
attachable_allowed = list(
/obj/item/attachable/lace/t500,
)
attachable_offset = list("stock_x" = -19, "stock_y" = 0)
fire_sound = 'sound/weapons/guns/fire/t312.ogg'
dry_fire_sound = 'sound/mecha/mag_bullet_insert.ogg'
fire_animation = "t312_fire"
fire_delay = 0.2 SECONDS
scatter = -7
scatter_unwielded = -5
damage_mult = 0.35
recoil = -1
recoil_unwielded = -1
accuracy_mult = 3
accuracy_mult_unwielded = 2
type_of_casings = null
akimbo_additional_delay = 0.6
reciever_flags = AMMO_RECIEVER_HANDFULS|AMMO_RECIEVER_TOGGLES_OPEN


/obj/item/weapon/gun/revolver/t312/able_to_fire(mob/user)
. = ..()
if(!.)
return
if(user.skills.getRating(SKILL_MEDICAL) < SKILL_MEDICAL_PRACTICED)
to_chat(user, span_warning("You don't seem to know how to use [src]..."))
return FALSE
Loading

0 comments on commit 4ca4882

Please sign in to comment.