Skip to content

Commit

Permalink
Hippie Base (HippieStation#3)
Browse files Browse the repository at this point in the history
* hippie_basic_port

* hfblade + anime cat ears port

* soundhit + sound fix

---------

Co-authored-by: Void-Crew2@gm <voidcrew22@gmail.com>
  • Loading branch information
Salex08 and Void-Crew2@gm authored Mar 9, 2023
1 parent 12192ad commit 5bd06b7
Show file tree
Hide file tree
Showing 141 changed files with 553 additions and 417 deletions.
2 changes: 1 addition & 1 deletion Content.Client/Lobby/LobbyState.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ protected override void Startup()
};

LayoutContainer.SetAnchorPreset(_lobby, LayoutContainer.LayoutPreset.Wide);
_lobby.ServerName.Text = _baseClient.GameInfo?.ServerName; //The eye of refactor gazes upon you...
_lobby.ServerName.Text = "Hippie Station Official Server"; //The eye of refactor gazes upon you...
UpdateLobbyUi();

_lobby.CharacterPreview.CharacterSetupButton.OnPressed += OnSetupPressed;
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Lobby/UI/LobbyGui.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
<BoxContainer Orientation="Vertical" HorizontalExpand="True">
<!-- Top row -->
<BoxContainer Orientation="Horizontal" MinSize="0 40" Name="HeaderContainer" Access="Public" SeparationOverride="4">
<Label Margin="8 0 0 0" StyleClasses="LabelHeadingBigger" VAlign="Center" Text="{Loc 'ui-lobby-title'}" />
<Label Margin="8 0 0 0" StyleClasses="LabelHeadingBigger" VAlign="Center" Text="{Loc ''}" />
<Label Name="ServerName" Access="Public" StyleClasses="LabelHeadingBigger" VAlign="Center" HorizontalExpand="True" HorizontalAlignment="Center" />
</BoxContainer>
<!-- Gold line -->
Expand Down
6 changes: 4 additions & 2 deletions Content.Client/Stylesheets/StyleNano.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ public sealed class StyleNano : StyleBase
public static readonly Color GoodGreenFore = Color.FromHex("#31843E");
public static readonly Color ConcerningOrangeFore = Color.FromHex("#A5762F");
public static readonly Color DangerousRedFore = Color.FromHex("#BB3232");
public static readonly Color HippieBlue = Color.FromHex("#214478");
public static readonly Color DisabledFore = Color.FromHex("#5A5A5A");

public static readonly Color ButtonColorDefault = Color.FromHex("#464966");
Expand Down Expand Up @@ -478,6 +479,7 @@ public StyleNano(IResourceCache resCache) : base(resCache)
var sliderFillWhite = new StyleBoxTexture(sliderFillBox) { Modulate = Color.White };

var boxFont13 = resCache.GetFont("/Fonts/Boxfont-round/Boxfont Round.ttf", 13);
var comicFont20 = resCache.GetFont("/Fonts/qd-better-comic-sans-font/Qdbettercomicsansboldalternates.ttf", 20);

var insetBack = new StyleBoxTexture
{
Expand Down Expand Up @@ -1012,8 +1014,8 @@ public StyleNano(IResourceCache resCache) : base(resCache)
new StyleRule(new SelectorElement(typeof(Label), new[] {StyleClassLabelHeadingBigger}, null, null),
new[]
{
new StyleProperty(Label.StylePropertyFont, notoSansBold20),
new StyleProperty(Label.StylePropertyFontColor, NanoGold),
new StyleProperty(Label.StylePropertyFont, comicFont20),
new StyleProperty(Label.StylePropertyFontColor, HippieBlue),
}),

// Small Label
Expand Down
13 changes: 13 additions & 0 deletions Content.Server/Speech/Components/VocalComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ public sealed class VocalComponent : Component
[DataField("screamId", customTypeSerializer: typeof(PrototypeIdSerializer<EmotePrototype>))]
public string ScreamId = "Scream";

[DataField("fartId", customTypeSerializer: typeof(PrototypeIdSerializer<EmotePrototype>))]
public string FartId = "Fart";

[DataField("wilhelm")]
public SoundSpecifier Wilhelm = new SoundPathSpecifier("/Audio/Voice/Human/wilhelm_scream.ogg");

Expand All @@ -39,6 +42,12 @@ public sealed class VocalComponent : Component
[DataField("screamAction")]
public InstantAction? ScreamAction;

[DataField("fartActionId", customTypeSerializer: typeof(PrototypeIdSerializer<InstantActionPrototype>))]
public string FartActionId = "Fart";

[DataField("fartAction")]
public InstantAction? FartAction;

/// <summary>
/// Currently loaded emote sounds prototype, based on entity sex.
/// Null if no valid prototype for entity sex was found.
Expand All @@ -51,3 +60,7 @@ public sealed class ScreamActionEvent : InstantActionEvent
{

}
public sealed class FartActionEvent : InstantActionEvent
{

}
15 changes: 15 additions & 0 deletions Content.Server/Speech/EntitySystems/VocalSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,17 @@ public override void Initialize()
SubscribeLocalEvent<VocalComponent, SexChangedEvent>(OnSexChanged);
SubscribeLocalEvent<VocalComponent, EmoteEvent>(OnEmote);
SubscribeLocalEvent<VocalComponent, ScreamActionEvent>(OnScreamAction);
SubscribeLocalEvent<VocalComponent, FartActionEvent>(OnFartAction);
}

private void OnMapInit(EntityUid uid, VocalComponent component, MapInitEvent args)
{
// try to add scream action when vocal comp added
if (_proto.TryIndex(component.FartActionId, out InstantActionPrototype? protofart))
{
component.FartAction = new InstantAction(protofart);
_actions.AddAction(uid, component.FartAction, null);
}
if (_proto.TryIndex(component.ScreamActionId, out InstantActionPrototype? proto))
{
component.ScreamAction = new InstantAction(proto);
Expand Down Expand Up @@ -71,6 +77,15 @@ private void OnEmote(EntityUid uid, VocalComponent component, ref EmoteEvent arg
args.Handled = _chat.TryPlayEmoteSound(uid, component.EmoteSounds, args.Emote);
}

private void OnFartAction(EntityUid uid, VocalComponent component, FartActionEvent args)
{
if (args.Handled)
return;

_chat.TryEmoteWithChat(uid, component.FartActionId);
args.Handled = true;
}

private void OnScreamAction(EntityUid uid, VocalComponent component, ScreamActionEvent args)
{
if (args.Handled)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ internal sealed class EnergySwordComponent : Component
Color.DodgerBlue,
Color.Aqua,
Color.MediumSpringGreen,
Color.MediumOrchid
Color.MediumOrchid,
Color.White
};

[DataField("litDamageBonus")]
Expand Down
17 changes: 17 additions & 0 deletions Content.Shared/Clothing/Components/StickyClothingComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using Content.Shared.Clothing.EntitySystems;
using Content.Shared.Inventory;
using Robust.Shared.Audio;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;

namespace Content.Shared.Clothing.Components;

[Access(typeof(StickyClothingSystem))]
[RegisterComponent]
public sealed class StickyClothingComponent : Component
{
/// <summary>
/// Is that clothing is worn?
/// </summary>
public bool IsActive = false;
}
34 changes: 34 additions & 0 deletions Content.Shared/Clothing/EntitySystems/StickyClothingSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using Content.Shared.Clothing.Components;
using Content.Shared.Inventory;
using Content.Shared.Inventory.Events;
using Content.Shared.Interaction.Components;
using Content.Shared.Item;
using Content.Shared.Tag;
using Robust.Shared.Prototypes;
using Robust.Shared.Network;
using Robust.Shared.Utility;

namespace Content.Shared.Clothing.EntitySystems;

public sealed class StickyClothingSystem : EntitySystem
{
[Dependency] private readonly IComponentFactory _componentFactory = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<StickyClothingComponent, GotEquippedEvent>(OnGotEquipped);
}

private void OnGotEquipped(EntityUid uid, StickyClothingComponent component, GotEquippedEvent args)
{
if (!TryComp(uid, out ClothingComponent? clothing))
return;

// check if entity was actually used as clothing
// not just taken in pockets or something
var isCorrectSlot = clothing.Slots.HasFlag(args.SlotFlags);
if (!isCorrectSlot) return;

EnsureComp<UnremoveableComponent>(uid);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ public sealed class MovementSpeedModifierComponent : Component
public const float DefaultFriction = 20f;
public const float DefaultFrictionNoInput = 20f;

public const float DefaultBaseWalkSpeed = 2.5f;
public const float DefaultBaseSprintSpeed = 4.5f;
public const float DefaultBaseWalkSpeed = 3.5f;
public const float DefaultBaseSprintSpeed = 7f;

[ViewVariables]
public float WalkSpeedModifier = 1.0f;
Expand Down
5 changes: 4 additions & 1 deletion Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,9 @@ public sealed class MeleeWeaponComponentState : ComponentState
public string WideAnimation;
public float Range;

public MeleeWeaponComponentState(float attackRate, bool attacking, TimeSpan nextAttack, TimeSpan? windupStart, string clickAnimation, string wideAnimation, float range)
public SoundSpecifier? HitSound;

public MeleeWeaponComponentState(float attackRate, bool attacking, TimeSpan nextAttack, TimeSpan? windupStart, string clickAnimation, string wideAnimation, float range,SoundSpecifier? hitSound)
{
AttackRate = attackRate;
Attacking = attacking;
Expand All @@ -169,5 +171,6 @@ public MeleeWeaponComponentState(float attackRate, bool attacking, TimeSpan next
ClickAnimation = clickAnimation;
WideAnimation = wideAnimation;
Range = range;
HitSound = hitSound;
}
}
3 changes: 2 additions & 1 deletion Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ private void OnDisarmAttack(DisarmAttackEvent msg, EntitySessionEventArgs args)
private void OnGetState(EntityUid uid, MeleeWeaponComponent component, ref ComponentGetState args)
{
args.State = new MeleeWeaponComponentState(component.AttackRate, component.Attacking, component.NextAttack,
component.WindUpStart, component.ClickAnimation, component.WideAnimation, component.Range);
component.WindUpStart, component.ClickAnimation, component.WideAnimation, component.Range,component.HitSound);
}

private void OnHandleState(EntityUid uid, MeleeWeaponComponent component, ref ComponentHandleState args)
Expand All @@ -224,6 +224,7 @@ private void OnHandleState(EntityUid uid, MeleeWeaponComponent component, ref Co
component.ClickAnimation = state.ClickAnimation;
component.WideAnimation = state.WideAnimation;
component.Range = state.Range;
component.HitSound = state.HitSound;
}

public MeleeWeaponComponent? GetWeapon(EntityUid entity)
Expand Down
Binary file added Resources/Audio/Effects/Emotes/fart.ogg
Binary file not shown.
Binary file added Resources/Audio/Effects/Emotes/fartmassive.ogg
Binary file not shown.
Binary file added Resources/Audio/Items/sheath.ogg
Binary file not shown.
Binary file added Resources/Audio/Items/unsheath.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/Monument.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/Spac_Stac.ogg
Binary file not shown.
Binary file added Resources/Audio/Lobby/admiral_tintin.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/atomicamnesiammx.ogg
Binary file not shown.
Binary file added Resources/Audio/Lobby/blowout.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/comet_haley.ogg
Binary file not shown.
Binary file not shown.
Binary file added Resources/Audio/Lobby/grey.ogg
Binary file not shown.
Binary file not shown.
Binary file added Resources/Audio/Lobby/linus_akesson.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/marhaba.ogg
Binary file not shown.
Binary file added Resources/Audio/Lobby/nounverber_vape.ogg
Binary file not shown.
Binary file added Resources/Audio/Lobby/panic_track.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/pwmur.ogg
Binary file not shown.
Binary file added Resources/Audio/Lobby/roll_the_dice.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/singuloose.ogg
Binary file not shown.
Binary file removed Resources/Audio/Lobby/vibe_ace.ogg
Binary file not shown.
Binary file added Resources/Audio/Weapons/hfblade-music1.ogg
Binary file not shown.
Binary file added Resources/Audio/Weapons/rapierhit.ogg
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions Resources/Fonts/qd-better-comic-sans-font/info.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
license: Public Domain
link: https://www.fontspace.com/qd-better-comic-sans-font-f41648
3 changes: 3 additions & 0 deletions Resources/Locale/en-US/actions/actions/vocal.ftl
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
action-name-scream = Scream
action-description-scream = AAAAAAAAAAAAAAAAAAAAAAAAA
action-name-fart = Fart
action-description-fart = BWOMPFF!
6 changes: 3 additions & 3 deletions Resources/Locale/en-US/game-ticking/game-ticker.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ game-ticker-unknown-role = Unknown
game-ticker-delay-start = Round start has been delayed for {$seconds} seconds.
game-ticker-pause-start = Round start has been paused.
game-ticker-pause-start-resumed = Round start countdown is now resumed.
game-ticker-player-join-game-message = Welcome to Space Station 14! If this is your first time playing, be sure to read the game rules, and don't be afraid to ask for help in LOOC (local OOC) or OOC (usually available only between rounds).
game-ticker-get-info-text = Hi and welcome to [color=white]Space Station 14![/color]
game-ticker-player-join-game-message = Welcome to Hippie Station! If this is your first time playing, be sure to read the game rules, and don't be afraid to ask for help in LOOC (local OOC) or OOC (usually available only between rounds).
game-ticker-get-info-text = Hi and welcome to [color=white]Hippie Station![/color]
The current round is: [color=white]#{$roundId}[/color]
The current player count is: [color=white]{$playerCount}[/color]
The current map is: [color=white]{$mapName}[/color]
The current game mode is: [color=white]{$gmTitle}[/color]
>[color=yellow]{$desc}[/color]
game-ticker-get-info-preround-text = Hi and welcome to [color=white]Space Station 14![/color]
game-ticker-get-info-preround-text = Hi and welcome to [color=white]Hippie Station![/color]
The current round is: [color=white]#{$roundId}[/color]
The current player count is: [color=white]{$playerCount}[/color] ([color=white]{$readyCount}[/color] {$readyCount ->
[one] is
Expand Down
4 changes: 2 additions & 2 deletions Resources/Locale/en-US/info/rules.ftl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Rules

ui-rules-header = Wizard's Den Official Server Rules
ui-rules-header-rp = Wizard's Den Roleplay Official Server Rules
ui-rules-header = Hippie Station Official Server Rules
ui-rules-header-rp = Hippie Station Official Server Rules
ui-rules-accept = I have read and agree to follow the rules
ui-rules-wait = The accept button will be enabled after {$time} seconds.
2 changes: 1 addition & 1 deletion Resources/Locale/en-US/launcher/launcher-connecting.ftl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Connecting dialog when you start up the game

connecting-title = Space Station 14
connecting-title = Hippie Station
connecting-exit = Exit
connecting-retry = Retry
connecting-reconnect = Reconnect
Expand Down
3 changes: 1 addition & 2 deletions Resources/Locale/en-US/lobby/lobby-gui.ftl
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
ui-lobby-title = Lobby
ui-lobby-ahelp-button = AHelp
ui-lobby-ahelp-button = AHelp
ui-lobby-options-button = Options
ui-lobby-leave-button = Leave
ui-lobby-observe-button = Observe
Expand Down
7 changes: 5 additions & 2 deletions Resources/Locale/en-US/store/uplink-catalog.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ uplink-rifle-mosin-desc = A bolt action service rifle that has seen many wars. N
uplink-esword-name = Energy Sword
uplink-esword-desc = A very dangerous energy sword. Can be stored in pockets when turned off. Makes a lot of noise when used or turned on.
uplink-hfblade-name = High Frequency Blade
uplink-hfblade-desc = An electric katana that weakens the molecular bonds of whatever it touches. Perfect for slicing off the limbs of your coworkers. Avoid using a multitool on it.
uplink-edagger-name = Energy Dagger
uplink-edagger-desc = A small energy blade conveniently disguised in the form of a pen.
Expand Down Expand Up @@ -211,8 +214,8 @@ uplink-revolver-cap-gun-desc = Looks almost like the real thing! Ages 8 and up.
uplink-syndicate-stamp-name = Syndicate Rubber Btamp
uplink-syndicate-stamp-desc = A rubber stamp for stamping important documents.
uplink-cat-ears-name = Cat Ears
uplink-cat-ears-desc = UwU
uplink-cat-ears-name = Anime Cat Ears
uplink-cat-ears-desc = Will make everyone hate you, but do you really care?
uplink-outlaw-hat-name = Outlaw Hat
uplink-outlaw-hat-desc = A hat that makes you look like you carry a notched pistol, numbered one and nineteen more.
Expand Down
9 changes: 9 additions & 0 deletions Resources/Prototypes/Actions/types.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
- type: instantAction
id: Fart
useDelay: 10
icon: Interface/Actions/butt.png
name: action-name-fart
description: action-description-fart
serverEvent: !type:FartActionEvent
checkCanInteract: false

- type: instantAction
id: Scream
useDelay: 10
Expand Down
9 changes: 9 additions & 0 deletions Resources/Prototypes/Catalog/Fills/Items/belt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,15 @@
contents:
- id: CaptainSabre

- type: entity
id: ClothingBeltSheathHfFilled
parent: ClothingBeltSheathHf
suffix: Filled
components:
- type: StorageFill
contents:
- id: HfBlade

- type: entity
id: ClothingBeltMilitaryWebbingMedFilled
parent: ClothingBeltMilitaryWebbingMed
Expand Down
23 changes: 12 additions & 11 deletions Resources/Prototypes/Catalog/uplink_catalog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,17 @@
categories:
- UplinkWeapons

- type: listing
id: UplinkHFblade
name: uplink-hfblade-name
description: uplink-hfblade-desc
icon: { sprite: /Textures/Objects/Weapons/Melee/hf_blade.rsi, state: icon }
productEntity: ClothingBeltSheathHfFilled
cost:
Telecrystal: 20
categories:
- UplinkWeapons

- type: listing
id: UplinkEnergyDagger
name: uplink-edagger-name
Expand Down Expand Up @@ -818,7 +829,7 @@
id: UplinkCatEars
name: uplink-cat-ears-name
description: uplink-cat-ears-desc
productEntity: ClothingHeadHatCatEars
productEntity: ClothingHeadHatCatEarsCursed
cost:
Telecrystal: 26
categories:
Expand Down Expand Up @@ -864,16 +875,6 @@
categories:
- UplinkPointless

- type: listing
id: UplinkOperativeSkirt
name: uplink-operative-skirt-name
description: uplink-operative-skirt-desc
productEntity: ClothingUniformJumpskirtOperative
cost:
Telecrystal: 1
categories:
- UplinkPointless

- type: listing
id: UplinkBalloon
name: uplink-balloon-name
Expand Down
Loading

0 comments on commit 5bd06b7

Please sign in to comment.