Skip to content

Commit f4c61a3

Browse files
committed
lavahotfixes
1 parent 4a7c74e commit f4c61a3

File tree

8 files changed

+43
-10
lines changed

8 files changed

+43
-10
lines changed

Content.Server/_Wega/Lavaland/Systems/Artefacts/DragonBloodSystem.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using Content.Server.Polymorph.Systems;
22
using Content.Shared.Actions;
33
using Content.Shared.DoAfter;
4-
using Content.Shared.Interaction;
4+
using Content.Shared.Interaction.Events;
55
using Content.Shared.Lavaland.Artefacts.Components;
66
using Content.Shared.Lavaland.Components;
77
using Content.Shared.Lavaland.Events;
@@ -23,14 +23,14 @@ public sealed class DragonBloodSystem : EntitySystem
2323
public override void Initialize()
2424
{
2525
base.Initialize();
26-
SubscribeLocalEvent<DragonBloodComponent, InteractUsingEvent>(OnInteract);
26+
SubscribeLocalEvent<DragonBloodComponent, UseInHandEvent>(OnUseInHand);
2727
SubscribeLocalEvent<DragonBloodComponent, DragonBloodDoAfterEvent>(OnDoAfter);
2828

2929
SubscribeLocalEvent<BecomeToDrakeActionEvent>(OnBecomeToDrake);
3030
SubscribeLocalEvent<DrakeReturnBackActionEvent>(OnReturnBack);
3131
}
3232

33-
private void OnInteract(Entity<DragonBloodComponent> ent, ref InteractUsingEvent args)
33+
private void OnUseInHand(Entity<DragonBloodComponent> ent, ref UseInHandEvent args)
3434
{
3535
var ev = new DragonBloodDoAfterEvent();
3636
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, TimeSpan.FromSeconds(5), ev, ent)

Content.Server/_Wega/Lavaland/Systems/LavalandSystem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ private void PreloadAvanpostArea(EntityUid mapUid, EntityUid avanpostUid, BiomeC
912912
var localBounds = avanpostGrid.LocalAABB;
913913

914914
var center = worldPos + localBounds.Center;
915-
var radius = Math.Max(localBounds.Width, localBounds.Height) / 2f + 12f;
915+
var radius = Math.Max(localBounds.Width, localBounds.Height) / 2f + 6f;
916916

917917
_biome.ReserveTilesInCircle(mapUid, center, radius, biome, grid);
918918
}

Content.Shared/_Wega/Weapons/Misc/Upgrades/CrusherUpgradeEffectsSystem.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using Robust.Shared.Map.Components;
1818
using Robust.Shared.Network;
1919
using Robust.Shared.Prototypes;
20+
using Robust.Shared.Random;
2021
using Robust.Shared.Timing;
2122

2223
namespace Content.Shared.Weapons.Misc.Upgrades;
@@ -26,6 +27,7 @@ public sealed class CrusherUpgradeEffectsSystem : EntitySystem
2627
[Dependency] private readonly DamageableSystem _damage = default!;
2728
[Dependency] private readonly EntityLookupSystem _lookup = default!;
2829
[Dependency] private readonly INetManager _net = default!;
30+
[Dependency] private readonly IRobustRandom _random = default!;
2931
[Dependency] private readonly MobThresholdSystem _threshold = default!;
3032
[Dependency] private readonly SharedTransformSystem _transform = default!;
3133
[Dependency] private readonly TagSystem _tag = default!;
@@ -255,16 +257,26 @@ private void OnAshDrakeSpikeAfterMarker(Entity<CrusherAshDrakeSpikeUpgradeCompon
255257
{
256258
var user = args.User;
257259
var target = args.Target;
258-
var ents = _lookup.GetEntitiesInRange<DamageableComponent>(Transform(entity).Coordinates, entity.Comp.DamageRadius)
259-
.Where(e => e.Owner != target && e.Owner != user);
260+
if (!Exists(target))
261+
return;
262+
263+
var ents = _lookup.GetEntitiesInRange<DamageableComponent>(Transform(target).Coordinates, entity.Comp.DamageRadius)
264+
.Where(e => e.Owner != target && e.Owner != user).ToList();
260265

261266
foreach (var ent in ents)
262267
{
268+
// Only for mobs.
269+
if (!HasComp<MobStateComponent>(ent))
270+
continue;
271+
263272
_damage.TryChangeDamage(ent.Owner, args.Damage * entity.Comp.DamageMultiplier);
264273

265-
var entityPos = _transform.GetWorldPosition(entity);
274+
var targetPos = _transform.GetWorldPosition(target);
266275
var entPos = _transform.GetWorldPosition(ent.Owner);
267-
var direction = (entPos - entityPos).Normalized();
276+
var direction = (entPos - targetPos).Normalized();
277+
278+
var randomAngle = new Angle(_random.NextFloat(-0.2f, 0.2f));
279+
direction = randomAngle.RotateVec(direction);
268280

269281
_throwing.TryThrow(ent, direction);
270282
}

Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/effects/lavaland.ftl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ent-EffectHierophantSquare = Магия Иерофанта
1313
.desc = Плазма никогда не была так опасна.
1414
ent-EffectBubblegumHand = лапа Бубльгума
1515
.desc = БЕРЕГИСЬ!
16-
ent-EffectBubblegumHand = спавн лапы Бубльгума
16+
ent-BaseEffectBubblegumHandSpawn = спавн лапы Бубльгума
1717
.desc = БЕРЕГИСЬ!
1818
ent-EffectBubblegumDashTrail = "..."
1919
.desc = "..."
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
StatueAshDrake = статуя дракона
22
.desc = Это статуя дракона. Возвышающаяся базальтовая скульптура гордого и царственного дракона. Его глаза - это шесть светящихся драгоценных камней.
3-
StatueAshDrake = разбитая статуя дракона
3+
StatueAshDrakeFalling = разбитая статуя дракона
44
.desc = Это статуя дракона. Огромная базальтовая скульптура дракона. По ее поверхности идут трещины, и некоторые части ее отвалились.

Resources/Prototypes/_Wega/Entities/Mobs/NPCs/lavaland_fauna.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,23 @@
88
suffix: AI
99
abstract: true
1010
components:
11+
- type: Destructible
12+
thresholds:
13+
- trigger:
14+
!type:DamageTypeTrigger
15+
damageType: Radiation
16+
damage: 15
17+
behaviors:
18+
- !type:PopupBehavior
19+
popup: mouth-taste-metal
20+
popupType: LargeCaution
21+
targetOnly: true
22+
- trigger:
23+
!type:DamageTypeTrigger
24+
damageType: Radiation
25+
damage: 40
26+
behaviors:
27+
- !type:VomitBehavior
1128
- type: Reactive
1229
groups:
1330
Flammable: [Touch]

Resources/Prototypes/_Wega/Maps/lavalandbuildings.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@
209209
- type: lavalandBuilding
210210
id: LavaRiver
211211
gridPath: /Maps/Lavaland/lava_river.yml
212+
preloading: false
212213

213214
- type: lavalandBuilding
214215
id: MimingDrill

Resources/Prototypes/_Wega/Polymorphs/polymorph.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@
5656
entity: MobSkeletonPerson
5757
forced: true
5858
transferName: true
59+
inventory: Transfer
60+
revertOnCrit: false
61+
revertOnDeath: false
5962

6063
- type: polymorph
6164
id: LowerAshDrakePolymorph

0 commit comments

Comments
 (0)