less scrn hardcode, new guicbx copy-cat
This commit is contained in:
		
							parent
							
								
									9d74b68fb6
								
							
						
					
					
						commit
						be9e08c37b
					
				
							
								
								
									
										13
									
								
								sources/GUI/NiceGUICheckBoxButton.uc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								sources/GUI/NiceGUICheckBoxButton.uc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					class NiceGUICheckBoxButton extends GUICheckBoxButton;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaultproperties
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    CheckedOverlay(0)=Texture'KF_InterfaceArt_tex.Menu.Checkbox'               // checked
 | 
				
			||||||
 | 
					    CheckedOverlay(1)=Texture'KF_InterfaceArt_tex.Menu.checkbox_highlight'     // checked, mouse over
 | 
				
			||||||
 | 
					    CheckedOverlay(2)=Texture'KF_InterfaceArt_tex.Menu.checkbox_highlight'     // checked, focused
 | 
				
			||||||
 | 
					    CheckedOverlay(3)=Texture'KF_InterfaceArt_tex.Menu.checkbox_dark'          // checked, clicked
 | 
				
			||||||
 | 
					    CheckedOverlay(4)=Texture'KF_InterfaceArt_tex.Menu.checkbox_dark'          // checked, disabled
 | 
				
			||||||
 | 
					    ImageIndex=0
 | 
				
			||||||
 | 
					    bAllOverlay=False
 | 
				
			||||||
 | 
					    StyleName="CheckBox"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -157,7 +157,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=WeaponManagement
 | 
					    Begin Object Class=moCheckBox Name=WeaponManagement
 | 
				
			||||||
        Caption="Nice weapon management"
 | 
					        Caption="Nice weapon management"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=WeaponManagement.InternalOnCreateComponent
 | 
					        OnCreateComponent=WeaponManagement.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="If checked, NicePack will use it's own system to manage weapon switching"
 | 
					        Hint="If checked, NicePack will use it's own system to manage weapon switching"
 | 
				
			||||||
@ -168,7 +168,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=AltSwitches
 | 
					    Begin Object Class=moCheckBox Name=AltSwitches
 | 
				
			||||||
        Caption="Alt fire switches modes"
 | 
					        Caption="Alt fire switches modes"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=AltSwitches.InternalOnCreateComponent
 | 
					        OnCreateComponent=AltSwitches.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="Assault-rifle only; if enabled - alt fire button switches between fire modes, otherwise - acts as an alt fire"
 | 
					        Hint="Assault-rifle only; if enabled - alt fire button switches between fire modes, otherwise - acts as an alt fire"
 | 
				
			||||||
@ -179,7 +179,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=DispCounters
 | 
					    Begin Object Class=moCheckBox Name=DispCounters
 | 
				
			||||||
        Caption="Display counters"
 | 
					        Caption="Display counters"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=DispCounters.InternalOnCreateComponent
 | 
					        OnCreateComponent=DispCounters.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="Toggles display of the various counters used by skills"
 | 
					        Hint="Toggles display of the various counters used by skills"
 | 
				
			||||||
@ -190,7 +190,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=DispWeapProgress
 | 
					    Begin Object Class=moCheckBox Name=DispWeapProgress
 | 
				
			||||||
        Caption="Display weapon progress"
 | 
					        Caption="Display weapon progress"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=DispWeapProgress.InternalOnCreateComponent
 | 
					        OnCreateComponent=DispWeapProgress.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="Displays weapon progress rate, however it's defined by a skill that's using this functionality"
 | 
					        Hint="Displays weapon progress rate, however it's defined by a skill that's using this functionality"
 | 
				
			||||||
@ -201,7 +201,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=ShowHLMessages
 | 
					    Begin Object Class=moCheckBox Name=ShowHLMessages
 | 
				
			||||||
        Caption="Show Hardcore Level messages"
 | 
					        Caption="Show Hardcore Level messages"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=ShowHLMessages.InternalOnCreateComponent
 | 
					        OnCreateComponent=ShowHLMessages.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="Enable to be notified each time Hardcore Level is changed"
 | 
					        Hint="Enable to be notified each time Hardcore Level is changed"
 | 
				
			||||||
@ -225,7 +225,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=CancelFire
 | 
					    Begin Object Class=moCheckBox Name=CancelFire
 | 
				
			||||||
        Caption="Cancel reload by shooting"
 | 
					        Caption="Cancel reload by shooting"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=CancelFire.InternalOnCreateComponent
 | 
					        OnCreateComponent=CancelFire.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="If checked, you'll be able to cancel reload of converted weapons by shooting (when you have ammo)"
 | 
					        Hint="If checked, you'll be able to cancel reload of converted weapons by shooting (when you have ammo)"
 | 
				
			||||||
@ -236,7 +236,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=CancelSwitching
 | 
					    Begin Object Class=moCheckBox Name=CancelSwitching
 | 
				
			||||||
        Caption="Cancel reload by switching weapons"
 | 
					        Caption="Cancel reload by switching weapons"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=CancelSwitching.InternalOnCreateComponent
 | 
					        OnCreateComponent=CancelSwitching.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="If checked, you'll be able to cancel reload of converted weapons by switching to different weapon"
 | 
					        Hint="If checked, you'll be able to cancel reload of converted weapons by switching to different weapon"
 | 
				
			||||||
@ -247,7 +247,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=CancelNades
 | 
					    Begin Object Class=moCheckBox Name=CancelNades
 | 
				
			||||||
        Caption="Cancel reload by throwing grenades"
 | 
					        Caption="Cancel reload by throwing grenades"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=CancelNades.InternalOnCreateComponent
 | 
					        OnCreateComponent=CancelNades.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="If checked, you'll be able to cancel reload of converted weapons by throwing a grenade"
 | 
					        Hint="If checked, you'll be able to cancel reload of converted weapons by throwing a grenade"
 | 
				
			||||||
@ -258,7 +258,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=CancelAiming
 | 
					    Begin Object Class=moCheckBox Name=CancelAiming
 | 
				
			||||||
        Caption="Cancel reload by aiming"
 | 
					        Caption="Cancel reload by aiming"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=CancelAiming.InternalOnCreateComponent
 | 
					        OnCreateComponent=CancelAiming.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="If checked, you'll be able to cancel reload of converted weapons by going into iron sights (when you have ammo)"
 | 
					        Hint="If checked, you'll be able to cancel reload of converted weapons by going into iron sights (when you have ammo)"
 | 
				
			||||||
@ -269,7 +269,7 @@ defaultproperties
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Begin Object Class=moCheckBox Name=ServerReload
 | 
					    Begin Object Class=moCheckBox Name=ServerReload
 | 
				
			||||||
        Caption="My reload doesn't work"
 | 
					        Caption="My reload doesn't work"
 | 
				
			||||||
        ComponentClassName="ScrnBalanceSrv.ScrnGUICheckBoxButton"
 | 
					        ComponentClassName="NicePack.NiceGUICheckBoxButton"
 | 
				
			||||||
        OnCreateComponent=ServerReload.InternalOnCreateComponent
 | 
					        OnCreateComponent=ServerReload.InternalOnCreateComponent
 | 
				
			||||||
        IniOption="@Internal"
 | 
					        IniOption="@Internal"
 | 
				
			||||||
        Hint="Check this option ONLY in case converted weapons don't reload at all for you; this option should fix the problem, but then latency will affect both reload and active reload"
 | 
					        Hint="Check this option ONLY in case converted weapons don't reload at all for you; this option should fix the problem, but then latency will affect both reload and active reload"
 | 
				
			||||||
 | 
				
			|||||||
@ -8,16 +8,16 @@ function InitComponent(GUIController MyController, GUIComponent MyOwner){
 | 
				
			|||||||
    local SRMenuAddition M;
 | 
					    local SRMenuAddition M;
 | 
				
			||||||
    local int indexAfterScrn;
 | 
					    local int indexAfterScrn;
 | 
				
			||||||
    // Setup panel classes.
 | 
					    // Setup panel classes.
 | 
				
			||||||
    Panels[0].ClassName = string(Class'ScrnBalanceSrv.ScrnTab_MidGamePerks');
 | 
					    Panels[0].ClassName = string(class'ScrnTab_MidGamePerks');
 | 
				
			||||||
    Panels[1].ClassName = string(class'NicePanelSkills');
 | 
					    Panels[1].ClassName = string(class'NicePanelSkills');
 | 
				
			||||||
    Panels[2].ClassName = string(Class'SRTab_MidGameVoiceChat');
 | 
					    Panels[2].ClassName = string(class'SRTab_MidGameVoiceChat');
 | 
				
			||||||
    Panels[3].ClassName = string(Class'SRTab_MidGameStats');
 | 
					    Panels[3].ClassName = string(class'SRTab_MidGameStats');
 | 
				
			||||||
    Panels[0].Caption = Class'KFInvasionLoginMenu'.Default.Panels[1].Caption;
 | 
					    Panels[0].Caption = class'KFInvasionLoginMenu'.Default.Panels[1].Caption;
 | 
				
			||||||
    Panels[1].Caption = "Skills";
 | 
					    Panels[1].Caption = "Skills";
 | 
				
			||||||
    Panels[2].Caption = Class'KFInvasionLoginMenu'.Default.Panels[2].Caption;
 | 
					    Panels[2].Caption = class'KFInvasionLoginMenu'.Default.Panels[2].Caption;
 | 
				
			||||||
    Panels[0].Hint = Class'KFInvasionLoginMenu'.Default.Panels[1].Hint;
 | 
					    Panels[0].Hint = class'KFInvasionLoginMenu'.Default.Panels[1].Hint;
 | 
				
			||||||
    Panels[1].Hint = "Customize your perk";
 | 
					    Panels[1].Hint = "Customize your perk";
 | 
				
			||||||
    Panels[2].Hint = Class'KFInvasionLoginMenu'.Default.Panels[2].Hint;
 | 
					    Panels[2].Hint = class'KFInvasionLoginMenu'.Default.Panels[2].Hint;
 | 
				
			||||||
    b_Spec.Caption=class'KFTab_MidGamePerks'.default.b_Spec.Caption;
 | 
					    b_Spec.Caption=class'KFTab_MidGamePerks'.default.b_Spec.Caption;
 | 
				
			||||||
    b_MatchSetup.Caption=class'KFTab_MidGamePerks'.default.b_MatchSetup.Caption;
 | 
					    b_MatchSetup.Caption=class'KFTab_MidGamePerks'.default.b_MatchSetup.Caption;
 | 
				
			||||||
    b_KickVote.Caption=class'KFTab_MidGamePerks'.default.b_KickVote.Caption;
 | 
					    b_KickVote.Caption=class'KFTab_MidGamePerks'.default.b_KickVote.Caption;
 | 
				
			||||||
@ -28,11 +28,12 @@ function InitComponent(GUIController MyController, GUIComponent MyOwner){
 | 
				
			|||||||
    b_Settings.Caption=class'KFTab_MidGamePerks'.default.b_Settings.Caption;
 | 
					    b_Settings.Caption=class'KFTab_MidGamePerks'.default.b_Settings.Caption;
 | 
				
			||||||
    b_Browser.Caption=class'KFTab_MidGamePerks'.default.b_Browser.Caption;
 | 
					    b_Browser.Caption=class'KFTab_MidGamePerks'.default.b_Browser.Caption;
 | 
				
			||||||
    // Other panels
 | 
					    // Other panels
 | 
				
			||||||
    Panels[4].ClassName = "ScrnBalanceSrv.ScrnTab_Achievements";
 | 
					    Panels[4].ClassName = string(class'ScrnTab_Achievements');
 | 
				
			||||||
    Panels[4].Caption = "Achievements";
 | 
					    Panels[4].Caption = "Achievements";
 | 
				
			||||||
    Panels[4].Hint = "ScrN server-side achievements";
 | 
					    Panels[4].Hint = "ScrN server-side achievements";
 | 
				
			||||||
    if(default.bShowScrnMenu){
 | 
					    if (default.bShowScrnMenu)
 | 
				
			||||||
       Panels[5].ClassName = "ScrnBalanceSrv.ScrnTab_UserSettings";
 | 
					    {
 | 
				
			||||||
 | 
					       Panels[5].ClassName = string(class'ScrnTab_UserSettings');
 | 
				
			||||||
       Panels[5].Caption = "ScrN Features";
 | 
					       Panels[5].Caption = "ScrN Features";
 | 
				
			||||||
       Panels[5].Hint = "ScrN Balance features, settings and info";
 | 
					       Panels[5].Hint = "ScrN Balance features, settings and info";
 | 
				
			||||||
       indexAfterScrn = 6;
 | 
					       indexAfterScrn = 6;
 | 
				
			||||||
 | 
				
			|||||||
@ -67,8 +67,8 @@ function ReplaceRequiredEquipment(){
 | 
				
			|||||||
    Super.ReplaceRequiredEquipment();
 | 
					    Super.ReplaceRequiredEquipment();
 | 
				
			||||||
    RequiredEquipment[0] = String(class'NiceMachete');
 | 
					    RequiredEquipment[0] = String(class'NiceMachete');
 | 
				
			||||||
    RequiredEquipment[1] = String(class'Nice9mmPlus');
 | 
					    RequiredEquipment[1] = String(class'Nice9mmPlus');
 | 
				
			||||||
    RequiredEquipment[2] = String(class'ScrnBalanceSrv.ScrnFrag');
 | 
					    RequiredEquipment[2] = String(class'ScrnFrag');
 | 
				
			||||||
    RequiredEquipment[3] = String(class'ScrnBalanceSrv.ScrnSyringe');
 | 
					    RequiredEquipment[3] = String(class'ScrnSyringe');
 | 
				
			||||||
    RequiredEquipment[4] = String(class'KFMod.Welder');
 | 
					    RequiredEquipment[4] = String(class'KFMod.Welder');
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
simulated function int CalculateCalibrationScore(){
 | 
					simulated function int CalculateCalibrationScore(){
 | 
				
			||||||
@ -510,7 +510,7 @@ function bool AddInventory(inventory NewItem){
 | 
				
			|||||||
           if((DualDeagle(weap) != none || Dual44Magnum(weap) != none || DualMK23Pistol(weap) != none)
 | 
					           if((DualDeagle(weap) != none || Dual44Magnum(weap) != none || DualMK23Pistol(weap) != none)
 | 
				
			||||||
                 && weap.InventoryGroup != 4 ) { 
 | 
					                 && weap.InventoryGroup != 4 ) { 
 | 
				
			||||||
               if(KFPRI != none &&
 | 
					               if(KFPRI != none &&
 | 
				
			||||||
                   ClassIsChildOf(KFPRI.ClientVeteranSkill, class'ScrnBalanceSrv.ScrnVetGunslinger'))
 | 
					                   ClassIsChildOf(KFPRI.ClientVeteranSkill, class'ScrnVetGunslinger'))
 | 
				
			||||||
                   weap.InventoryGroup = 3;
 | 
					                   weap.InventoryGroup = 3;
 | 
				
			||||||
               else 
 | 
					               else 
 | 
				
			||||||
                   weap.InventoryGroup = 2;
 | 
					                   weap.InventoryGroup = 2;
 | 
				
			||||||
 | 
				
			|||||||
@ -96,7 +96,7 @@ static function class<Grenade> GetNadeType(KFPlayerReplicationInfo KFPRI)
 | 
				
			|||||||
//can't cook fire nades
 | 
					//can't cook fire nades
 | 
				
			||||||
static function bool CanCookNade(KFPlayerReplicationInfo KFPRI, Weapon Weap)
 | 
					static function bool CanCookNade(KFPlayerReplicationInfo KFPRI, Weapon Weap)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return GetNadeType(KFPRI) != class'ScrnBalanceSrv.ScrnFlameNade';
 | 
					    return GetNadeType(KFPRI) != class'ScrnFlameNade';
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
//v2.60: +60% faster charge with Husk Gun
 | 
					//v2.60: +60% faster charge with Husk Gun
 | 
				
			||||||
static function float GetReloadSpeedModifierStatic(KFPlayerReplicationInfo KFPRI, class<KFWeapon> Other)
 | 
					static function float GetReloadSpeedModifierStatic(KFPlayerReplicationInfo KFPRI, class<KFWeapon> Other)
 | 
				
			||||||
 | 
				
			|||||||
@ -1626,8 +1626,8 @@ defaultproperties
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
     recordedZoomTime=-1.000000
 | 
					     recordedZoomTime=-1.000000
 | 
				
			||||||
     SecondaryCharge=1
 | 
					     SecondaryCharge=1
 | 
				
			||||||
     LaserAttachmentClass=Class'ScrnBalanceSrv.ScrnLaserAttachmentFirstPerson'
 | 
					     LaserAttachmentClass=Class'ScrnLaserAttachmentFirstPerson'
 | 
				
			||||||
     LaserDotClass=Class'ScrnBalanceSrv.ScrnLocalLaserDot'
 | 
					     LaserDotClass=Class'ScrnLocalLaserDot'
 | 
				
			||||||
     LaserAttachmentBone="LightBone"
 | 
					     LaserAttachmentBone="LightBone"
 | 
				
			||||||
     MagazineBone="Magazine"
 | 
					     MagazineBone="Magazine"
 | 
				
			||||||
     bHasChargePhase=True
 | 
					     bHasChargePhase=True
 | 
				
			||||||
 | 
				
			|||||||
@ -135,7 +135,7 @@ simulated function HurtRadius( float DamageAmount, float DamageRadius, class<Dam
 | 
				
			|||||||
    if( Role == ROLE_Authority )
 | 
					    if( Role == ROLE_Authority )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
       if ( bBlewInHands && NumKilled >= 5 && Stats != none ) 
 | 
					       if ( bBlewInHands && NumKilled >= 5 && Stats != none ) 
 | 
				
			||||||
           class'ScrnBalanceSrv.ScrnAchievements'.static.ProgressAchievementByID(Stats.Rep, 'SuicideBomber', 1);  
 | 
					           class'ScrnAchievements'.static.ProgressAchievementByID(Stats.Rep, 'SuicideBomber', 1);  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       if ( NumKilled >= 4 )
 | 
					       if ( NumKilled >= 4 )
 | 
				
			||||||
       {
 | 
					       {
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ function Timer()
 | 
				
			|||||||
       // if (AmmoInCharge == MaxChargeAmmo) {
 | 
					       // if (AmmoInCharge == MaxChargeAmmo) {
 | 
				
			||||||
           // Player = Level.GetLocalPlayerController();
 | 
					           // Player = Level.GetLocalPlayerController();
 | 
				
			||||||
           // if (Player != none)
 | 
					           // if (Player != none)
 | 
				
			||||||
               // Player.ReceiveLocalizedMessage(class'ScrnBalanceSrv.ScrnPlayerMessage',0);
 | 
					               // Player.ReceiveLocalizedMessage(class'ScrnPlayerMessage',0);
 | 
				
			||||||
       // }
 | 
					       // }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    super.Timer();
 | 
					    super.Timer();
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user