Skip to content

Commit

Permalink
Merge branch 'master' into boxingdrobe
Browse files Browse the repository at this point in the history
  • Loading branch information
Colin-Tel authored Sep 25, 2023
2 parents d843a64 + cdb10ae commit 103ba64
Show file tree
Hide file tree
Showing 30 changed files with 467 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Content.Server.Abilities.Oni
{
[RegisterComponent]
public sealed partial class HeldByOniComponent : Component
{
public EntityUid Holder = default!;
}
}
14 changes: 14 additions & 0 deletions Content.Server/Nyanotrasen/Abilities/Oni/OniComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using Content.Shared.Damage;

namespace Content.Server.Abilities.Oni
{
[RegisterComponent]
public sealed partial class OniComponent : Component
{
[DataField("modifiers", required: true)]
public DamageModifierSet MeleeModifiers = default!;

[DataField("stamDamageBonus")]
public float StamDamageMultiplier = 1.25f;
}
}
76 changes: 76 additions & 0 deletions Content.Server/Nyanotrasen/Abilities/Oni/OniSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
using Content.Server.Tools;
using Content.Shared.Tools.Components;
using Content.Shared.Damage.Events;
using Content.Shared.Weapons.Melee.Events;
using Content.Shared.Weapons.Ranged.Components;
using Robust.Shared.Containers;

namespace Content.Server.Abilities.Oni
{
public sealed class OniSystem : EntitySystem
{
[Dependency] private readonly ToolSystem _toolSystem = default!;

public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<OniComponent, EntInsertedIntoContainerMessage>(OnEntInserted);
SubscribeLocalEvent<OniComponent, EntRemovedFromContainerMessage>(OnEntRemoved);
SubscribeLocalEvent<OniComponent, MeleeHitEvent>(OnOniMeleeHit);
SubscribeLocalEvent<HeldByOniComponent, MeleeHitEvent>(OnHeldMeleeHit);
SubscribeLocalEvent<HeldByOniComponent, StaminaMeleeHitEvent>(OnStamHit);
}

private void OnEntInserted(EntityUid uid, OniComponent component, EntInsertedIntoContainerMessage args)
{
var heldComp = EnsureComp<HeldByOniComponent>(args.Entity);
heldComp.Holder = uid;

if (TryComp<ToolComponent>(args.Entity, out var tool) && _toolSystem.HasQuality(args.Entity, "Prying", tool))
tool.SpeedModifier *= 1.66f;

if (TryComp<GunComponent>(args.Entity, out var gun))
{
gun.MinAngle *= 15f;
gun.AngleIncrease *= 15f;
gun.MaxAngle *= 15f;
}
}

private void OnEntRemoved(EntityUid uid, OniComponent component, EntRemovedFromContainerMessage args)
{
if (TryComp<ToolComponent>(args.Entity, out var tool) && _toolSystem.HasQuality(args.Entity, "Prying", tool))
tool.SpeedModifier /= 1.66f;

if (TryComp<GunComponent>(args.Entity, out var gun))
{
gun.MinAngle /= 15f;
gun.AngleIncrease /= 15f;
gun.MaxAngle /= 15f;
}

RemComp<HeldByOniComponent>(args.Entity);
}

private void OnOniMeleeHit(EntityUid uid, OniComponent component, MeleeHitEvent args)
{
args.ModifiersList.Add(component.MeleeModifiers);
}

private void OnHeldMeleeHit(EntityUid uid, HeldByOniComponent component, MeleeHitEvent args)
{
if (!TryComp<OniComponent>(component.Holder, out var oni))
return;

args.ModifiersList.Add(oni.MeleeModifiers);
}

private void OnStamHit(EntityUid uid, HeldByOniComponent component, StaminaMeleeHitEvent args)
{
if (!TryComp<OniComponent>(component.Holder, out var oni))
return;

args.Multiplier *= oni.StamDamageMultiplier;
}
}
}
5 changes: 5 additions & 0 deletions Content.Shared/Humanoid/NamingSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ public string GetName(string species, Gender? gender = null)

switch (speciesProto.Naming)
{
//Start of Nyano code for Oni naming
case SpeciesNaming.XnoY:
return Loc.GetString("namepreset-x-no-y",
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto)));
//End of Nyano code for Oni naming
case SpeciesNaming.TheFirstofLast:
return Loc.GetString("namepreset-thefirstoflast",
("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto)));
Expand Down
3 changes: 3 additions & 0 deletions Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,5 +126,8 @@ public enum SpeciesNaming : byte
{
FirstLast,
FirstDashFirst,
//Start of Nyano code for Oni naming
XnoY,
//End of Nyano code for Oni naming
TheFirstofLast,
}
6 changes: 6 additions & 0 deletions Resources/Changelog/DeltaVChangelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,9 @@ Entries:
message: Cargo Department is now the Logistics Department
id: 12
time: '2023-09-21T04:37:30.0000000+00:00'
- author: FluffiestFloof
changes:
- type: Remove
message: Clown Spiders no longer can squeeze through the vents.
id: 13
time: '2023-09-21T20:45:11.0000000+00:00'
1 change: 1 addition & 0 deletions Resources/Locale/en-US/nyanotrasen/abilities/Oni.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
oni-gun-fire = You can't fire guns!
7 changes: 7 additions & 0 deletions Resources/Locale/en-US/nyanotrasen/markings/Oni.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
marking-OniHornSingleCurved = Single Curved
marking-OniHornSingleLeftCurved =Single Left Curved
marking-OniHornSingleRightCurved = Single Right Curved
marking-OniHornDoubleCurvedOutwards = Double Curved Outwards
marking-OniHornDoubleCurved = Double Curved
marking-OniHornDoubleLeftBrokeCurved = Double Left Broke Curved
marking-OniHornDoubleRightBrokeCurved = Double Right Broke Curved
1 change: 1 addition & 0 deletions Resources/Locale/en-US/nyanotrasen/species/namepreset.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
namepreset-x-no-y = {$last}-no-{$first}
1 change: 1 addition & 0 deletions Resources/Locale/en-US/nyanotrasen/species/species.ftl
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
species-name-oni = Oni
species-name-felinid = Felinid
Original file line number Diff line number Diff line change
Expand Up @@ -655,15 +655,16 @@
#MISC. HARDSUITS
#Clown Hardsuit
- type: entity
parent: ClothingHeadHelmetHardsuitSecurity
parent: ClothingHeadEVAHelmetBase # DeltaV - Clown Hardsuit crafting recipe uses an EVA suit to craft.
id: ClothingHeadHelmetHardsuitClown
noSpawn: true
name: clown hardsuit helmet
description: A clown hardsuit helmet.
name: clown EVA helmet # DeltaV - Clown Hardsuit crafting recipe uses an EVA suit to craft.
description: A clown EVA helmet.
components:
- type: Sprite
sprite: Clothing/Head/Hardsuits/clown.rsi
- type: Clothing
equippedPrefix: off # Fix lack of helmet while not using the flashlight feature.
sprite: Clothing/Head/Hardsuits/clown.rsi
equipSound: /Audio/Mecha/mechmove03.ogg
unequipSound: /Audio/Effects/Emotes/parp1.ogg
unequipSound: /Audio/Mecha/mechmove03.ogg # DeltaV - This doesn't need to make a fart noise.
40 changes: 22 additions & 18 deletions Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -805,32 +805,36 @@
#MISC. HARDSUITS
#Clown Hardsuit
- type: entity
parent: ClothingOuterHardsuitBase
parent: ClothingOuterHardsuitEVA # DeltaV - Clown Hardsuit crafting recipe uses an EVA suit to craft.
id: ClothingOuterHardsuitClown
name: clown hardsuit
description: A custom made clown hardsuit.
name: clown EVA suit # DeltaV - Clown Hardsuit crafting recipe uses an EVA suit to craft.
description: A custom made clown softsuit. # DeltaV - Clown Hardsuit crafting recipe uses an EVA suit to craft.
components:
- type: Sprite
sprite: Clothing/OuterClothing/Hardsuits/clown.rsi
- type: Clothing
sprite: Clothing/OuterClothing/Hardsuits/clown.rsi
- type: PressureProtection
highPressureMultiplier: 0.5
lowPressureMultiplier: 1000
- type: ExplosionResistance
damageCoefficient: 0.9
- type: Armor
modifiers:
coefficients:
Blunt: 0.9
Slash: 0.9
Piercing: 0.9
Caustic: 0.8
- type: ClothingSpeedModifier
walkModifier: 0.9
sprintModifier: 0.9
# - type: PressureProtection # DeltaV - Clown Hardsuit inherits from the normal eva suit, entirely cosmetic.
# highPressureMultiplier: 0.5
# lowPressureMultiplier: 1000
# - type: ExplosionResistance
# damageCoefficient: 0.9
# - type: Armor
# modifiers:
# coefficients:
# Blunt: 0.9
# Slash: 0.9
# Piercing: 0.9
# Caustic: 0.8
# - type: ClothingSpeedModifier
# walkModifier: 0.9
# sprintModifier: 0.9
- type: Construction
graph: ClownHardsuit
node: clownHardsuit
- type: ToggleableClothing
slot: head
clothingPrototype: ClothingHeadHelmetHardsuitClown
- type: ContainerContainer # DeltaV - Allows the EVA suit to have built in 'hardsuit' helmet
containers:
toggleable-clothing: !type:ContainerSlot {}
28 changes: 14 additions & 14 deletions Resources/Prototypes/GameRules/events.yml
Original file line number Diff line number Diff line change
Expand Up @@ -304,20 +304,20 @@
- id: MobGiantSpiderAngry
prob: 0.05

- type: entity
id: SpiderClownSpawn
parent: BaseGameRule
noSpawn: true
components:
- type: StationEvent
earliestStart: 20
minimumPlayers: 15
weight: 1
duration: 60
- type: VentCrittersRule
entries:
- id: MobClownSpider
prob: 0.05
# - type: entity # DeltaV - Prevent normal spawning of MobClownSpider
# id: SpiderClownSpawn
# parent: BaseGameRule
# noSpawn: true
# components:
# - type: StationEvent
# earliestStart: 20
# minimumPlayers: 15
# weight: 1
# duration: 60
# - type: VentCrittersRule
# entries:
# - id: MobClownSpider
# prob: 0.05

- type: entity
id: ZombieOutbreak
Expand Down
7 changes: 7 additions & 0 deletions Resources/Prototypes/Nyanotrasen/Damage/modifier_sets.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
- type: damageModifierSet
id: Oni
coefficients:
Blunt: 0.85
Slash: 0.85
Piercing: 0.85

- type: damageModifierSet
id: Felinid
coefficients:
Expand Down
21 changes: 21 additions & 0 deletions Resources/Prototypes/Nyanotrasen/Datasets/Names/oni_female.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
- type: dataset
id: names_oni_female
values:
- Akari #
- Kira
- Kirameki
- Aki #
- Akiho
- Akimi
- Akashi #
- Saya
- Aporo #
- Arute
- Meguru
- Tiara #
- Suisei
- Io #
- Aoi
- Mizu
- Shuten #epic references
- Suika
31 changes: 31 additions & 0 deletions Resources/Prototypes/Nyanotrasen/Datasets/Names/oni_location.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
- type: dataset
id: names_oni_location
values:
- Amiboshi
- Amefuriboshi
- Aoboshi
- Ashitareboshi
- Chirikoboshi
- Chichiriboshi
- Ekieboshi
- Inamiboshi
- Hatsuinoshi
- Hikitsuboshi
- Hotohoriboshi
- Karasukiboshi
- Miboshi
- Namameboshi
- Nakagoboshi
- Nuriboshi
- Soiboshi
- Suboshi
- Subaruboshi
- Tamaonoboshi
- Tasukiboshi
- Tataraboshi
- Tomiteboshi
- Tomoboshi
- Tokakiboshi
- Torokiboshi
- Umiyameboshi
- Urukiboshi
20 changes: 20 additions & 0 deletions Resources/Prototypes/Nyanotrasen/Datasets/Names/oni_male.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- type: dataset
id: names_oni_male
values:
- Kiyoshi #
- Satoshi #
- Teru #
- Hiroshi
- Takashi #
- Eeichi #永一
- Eeichirou #永一朗
- Kyousaburou
- Tsutomu
- Tsuyoshi
- Kenshi
- Kenji
- Kenichi
- Susumu
- Kyounosuke
- Suisei #Mars
- Shuten #Reference
Loading

0 comments on commit 103ba64

Please sign in to comment.