Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Content.Server.Explosion.Components;
using Content.Server.Weapons.Ranged.Systems;
using Content.Shared.Weapons.Ranged.Events; //Frontier
using Robust.Server.GameObjects;
using Robust.Shared.Containers;
using Robust.Shared.Map;
Expand Down Expand Up @@ -58,6 +59,8 @@ private void FragmentIntoProjectiles(EntityUid uid, ProjectileGrenadeComponent c
var grenadeCoord = _transformSystem.GetMapCoordinates(uid);
var shootCount = 0;
var totalCount = component.Container.ContainedEntities.Count + component.UnspawnedCount;
// Frontier // To trigger projectile fired event. This enables things like chemical injection shrapnel.
var shotProjectiles = new List<EntityUid>(component.UnspawnedCount);

// Just in case
if (totalCount == 0)
Expand All @@ -83,7 +86,15 @@ private void FragmentIntoProjectiles(EntityUid uid, ProjectileGrenadeComponent c
var direction = angle.ToVec().Normalized();
var velocity = _random.NextVector2(component.MinVelocity, component.MaxVelocity);
_gun.ShootProjectile(contentUid, direction, velocity, null);
// Frontier // add the projectile to the shot projectile list
shotProjectiles.Add(contentUid);
}

// Frontier // raise event for projectiles being shot.
RaiseLocalEvent(uid, new AmmoShotEvent()
{
FiredProjectiles = shotProjectiles,
});
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ private void OnFire(Entity<ChemicalAmmoComponent> entity, ref AmmoShotEvent args
if (!projectileSolutionContainers.Any())
return;

var solutionPerProjectile = ammoSolution.Volume * (1 / projectileSolutionContainers.Count);
var solutionPerProjectile = ammoSolution.Volume * (1.0 / (float)projectileSolutionContainers.Count);

foreach (var (_, projectileSolution) in projectileSolutionContainers)
{
Expand Down
4 changes: 4 additions & 0 deletions Resources/Audio/_NF/Effects/explosions/attributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- files: ["light-pop.ogg"]
license: "CC-BY-SA-4.0"
copyright: "Original file made by ra.Y Discord (282329143431921665)(ray-boop Github)"
source: "ra.Y Discord (282329143431921665)(ray-boop Github)"
Binary file not shown.
3 changes: 2 additions & 1 deletion Resources/Locale/en-US/_NF/flavors/flavor-profiles.ftl
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
flavor-base-basic = basic
flavor-base-earthy = earthy

flavor-complex-avocado = like avocado
flavor-complex-cucumber = crisp and refreshing
flavor-complex-honeycomb = like waxy honey
Expand All @@ -23,3 +22,5 @@ flavor-complex-silence = like silence
flavor-complex-creative = like mad creativity
flavor-complex-texas = like texan ingenuity
flavor-complex-nanocaf = like bitter coffee
flavor-complex-pomegranate = like pomegranates
flavor-complex-granatapfel = like granatapfel
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ food-sequence-content-everyspice = spicy
food-sequence-content-monkanana = monke
food-sequence-content-ham = ham
food-sequence-content-sushi = sushi
food-sequence-content-pomegranate = pomegranate
food-sequence-content-granatapfel = granatapfel
food-sequence-taco-content-meat-patty = hamburguesa
food-sequence-cotton-burger-content-plushie-jester = jester
food-sequence-cotton-burger-content-plushie-botanist = botanist
Expand All @@ -29,3 +31,5 @@ food-sequence-cotton-burger-content-plushie-corgi = corgi
food-sequence-cotton-burger-content-plushie-cat = cat
food-sequence-cotton-burger-content-plushie-rpg = rocket
food-sequence-cotton-burger-content-plushie-goblin = goblin
food-sequence-burger-content-pomegranate = pomegranate
food-sequence-burger-content-granatapfel = granatapfel
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
reagent-name-juice-pear = pear juice
reagent-desc-juice-pear = Mellow, sweet and subtly fragrant.

reagent-name-juice-pomegranate = pomegranate juice
reagent-desc-juice-pomegranate = Sweet fruity with a tangy note.
4 changes: 4 additions & 0 deletions Resources/Locale/en-US/_NF/seeds/seeds.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ seeds-monkanana-name = monkanana
seeds-monkanana-display-name = monkanana trees
seeds-glowshroom-nf-name = glowshroom
seeds-glowshroom-nf-display-name = glowshroom
seeds-pomegranate-name = pomegranate
seeds-pomegranate-display-name = pomegranate tree
seeds-granatapfel-name = granatapfel
seeds-granatapfel-display-name = granatapfel tree

# Should be in seed-component
botany-seed-jar-name = jar of {$seedName} {$seedNoun}
Expand Down
3 changes: 2 additions & 1 deletion Resources/Prototypes/Catalog/Fills/Crates/botany.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
id: CrateHydroponicsSeeds
parent: CrateHydroponics
name: seeds crate
description: Big things have small beginnings. Contains twelve different seeds.
description: Big things have small beginnings. Contains twenty-four different seeds. # Frontier
components:
- type: StorageFill
contents:
Expand All @@ -79,6 +79,7 @@
- id: GarlicSeeds
- id: ChanterelleSeeds
- id: PotatoSeeds
- id: PomegranateSeeds # Frontier
- id: SugarcaneSeeds
- id: LemonSeeds
- id: LimeSeeds
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@
TobaccoSeeds: 2
# FoodSnackSemki: 2 # Frontier
FlyAmanitaSeeds: 1
PomegranateSeeds: 5 # Frontier
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,9 @@
- id: FoodHoneyComb # Frontier
amount: !type:RangeNumberSelector # Frontier
range: 1, 5 # Frontier
- id: FoodPomegranate # Frontier
amount: !type:RangeNumberSelector # Frontier
range: 1, 5 # Frontier
#rare
- !type:GroupSelector
children:
Expand Down
100 changes: 100 additions & 0 deletions Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/produce.yml
Original file line number Diff line number Diff line change
Expand Up @@ -446,3 +446,103 @@
Burger: Monkanana
Skewer: Monkanana
Taco: Monkanana

- type: entity
name: pomegranate
parent: FoodProduceBase
id: FoodPomegranate
description: Fruit filled with juicy seeds.
components:
- type: FlavorProfile
flavors:
- pomegranate
- type: SolutionContainerManager
solutions:
food:
maxVol: 14
reagents:
- ReagentId: Nutriment
Quantity: 10
- ReagentId: Vitamin
Quantity: 7
- type: Sprite
sprite: _NF/Objects/Specific/Hydroponics/pomegranate.rsi
- type: Produce
seedId: pomegranate
- type: Extractable
juiceSolution:
reagents:
- ReagentId: JuicePomegranate
Quantity: 10
- type: Tag
tags:
- Fruit
- type: FoodSequenceElement
entries:
Burger: Pomegranate
Taco: Pomegranate

- type: entity
name: granatapfel
parent: [FoodProduceBase, ItemHeftyBase]
id: FoodGranatapfel
description: Granatapfel Fruit, Fragile. Explodes on impact sending it's seeds with high velocity. Used for biofuel.
components:
- type: FlavorProfile
flavors:
- granatapfel
- type: SolutionContainerManager
solutions:
food:
maxVol: 9
canReact: false
reagents:
- ReagentId: Sulfur
Quantity: 3
- ReagentId: Ethanol
Quantity: 3
- ReagentId: Hydrogen
Quantity: 3
- type: Sprite
sprite: _NF/Objects/Specific/Hydroponics/granatapfel.rsi
- type: Produce
seedId: granatapfel
- type: Extractable
grindableSolutionName: food
juiceSolution:
reagents:
- ReagentId: WeldingFuel
Quantity: 10
- type: Damageable
damageContainer: Biological
- type: DamageOnHighSpeedImpact
minimumSpeed: 0.1
damage:
types:
Blunt: 1
- type: Destructible
thresholds:
- trigger: !type:DamageTrigger
damage: 1
behaviors:
- !type:PlaySoundBehavior
sound:
path: /Audio/_NF/Effects/explosions/light-pop.ogg
- !type:TriggerBehavior
- !type:DoActsBehavior
acts: ["Destruction"]
- type: ChemicalAmmo
solution: food
- type: ProjectileGrenade
fillPrototype: SeedsGranatapfel
capacity: 10
- type: ContainerContainer
containers:
cluster-payload: !type:Container
- type: Tag
tags:
- Fruit
- type: FoodSequenceElement
entries:
Burger: Granatapfel
Taco: Granatapfel
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,23 @@
- type: Tag
tags:
- NFGlowshroomSpores

- type: entity
parent: SeedBase
name: packet of pomegranate seeds
id: PomegranateSeeds
components:
- type: Seed
seedId: pomegranate
- type: Sprite
sprite: _NF/Objects/Specific/Hydroponics/pomegranate.rsi

- type: entity
parent: SeedBase
name: packet of granatapfel seeds
id: GranatapfelSeeds
components:
- type: Seed
seedId: granatapfel
- type: Sprite
sprite: _NF/Objects/Specific/Hydroponics/granatapfel.rsi
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,33 @@
parent: PelletClusterLessLethal
id: NFPelletClusterLessLethal
categories: [ HideSpawnMenu ]

- type: entity
id: SeedsGranatapfel
name: seed (shard, chemical)
categories: [ HideSpawnMenu ]
parent: NFPelletClusterLessLethal
components:
- type: Sprite
sprite: _NF/Objects/Weapons/Guns/Projectiles/organic.rsi
layers:
- state: seed
shader: unshaded
- type: Projectile
damage:
types:
Blunt: 0.1
- type: SolutionContainerManager
solutions:
food:
maxVol: 1000
canReact: false
- type: RefillableSolution
solution: food
- type: DrainableSolution
solution: food
- type: SolutionInjectOnProjectileHit
transferAmount: 1000
solution: food
- type: InjectableSolution
solution: food
10 changes: 10 additions & 0 deletions Resources/Prototypes/_NF/Flavors/flavors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,13 @@
id: nanocaf
flavorType: Complex
description: flavor-complex-nanocaf

- type: flavor
id: pomegranate
flavorType: Complex
description: flavor-complex-pomegranate

- type: flavor
id: granatapfel
flavorType: Complex
description: flavor-complex-granatapfel
58 changes: 58 additions & 0 deletions Resources/Prototypes/_NF/Hydroponics/seeds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,3 +232,61 @@
Min: 4
Max: 12
PotencyDivisor: 20

- type: seed
id: pomegranate
name: seeds-pomegranate-name
noun: seeds-noun-seeds
displayName: seeds-pomegranate-display-name
plantRsi: _NF/Objects/Specific/Hydroponics/pomegranate.rsi
packetPrototype: PomegranateSeeds
productPrototypes:
- FoodPomegranate
mutationPrototypes:
- granatapfel
harvestRepeat: Repeat
lifespan: 55
maturation: 6
production: 6
yield: 4
potency: 10
idealLight: 6
chemicals:
Nutriment:
Min: 1
Max: 10
PotencyDivisor: 10
Vitamin:
Min: 1
Max: 4
PotencyDivisor: 25

- type: seed
id: granatapfel
name: seeds-granatapfel-name
noun: seeds-noun-seeds
displayName: seeds-granatapfel-display-name
plantRsi: _NF/Objects/Specific/Hydroponics/granatapfel.rsi
packetPrototype: GranatapfelSeeds
productPrototypes:
- FoodGranatapfel
harvestRepeat: Repeat
lifespan: 55
maturation: 6
production: 6
yield: 4
potency: 10
idealLight: 6
chemicals:
Sulfur:
Min: 1
Max: 20
PotencyDivisor: 5
Hydrogen:
Min: 1
Max: 20
PotencyDivisor: 5
Ethanol:
Min: 1
Max: 20
PotencyDivisor: 5
10 changes: 10 additions & 0 deletions Resources/Prototypes/_NF/Reagents/Consumables/Drink/juice.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,13 @@
flavor: pear
color: "#F8E08E"
recognizable: true

- type: reagent
id: JuicePomegranate
name: reagent-name-juice-pomegranate
parent: BaseJuice
desc: reagent-desc-juice-pomegranate
physicalDesc: reagent-physical-desc-crisp
flavor: pomegranate
color: "#A8151A"
recognizable: true
Loading
Loading