This commit is contained in:
ThereDrD0
2024-08-06 11:20:22 +03:00
committed by GitHub
16 changed files with 67 additions and 16 deletions

View File

@@ -1,7 +1,7 @@
using System.Linq;
using System.Numerics;
using Content.Server._White.Cult;
using Content.Server._White.IncorporealSystem;
using Content.Server._White.Other.FastAndFuriousSystem;
using Content.Server._White.Wizard.Charging;
using Content.Server._White.Wizard.Magic.Amaterasu;
using Content.Server._White.Wizard.Magic.Other;
@@ -48,6 +48,7 @@ using Content.Shared.Physics;
using Content.Shared.Popups;
using Content.Shared.Revolutionary.Components;
using Content.Shared.StatusEffect;
using Content.Shared.Stunnable;
using Content.Shared.Throwing;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Map;
@@ -88,6 +89,7 @@ public sealed class WizardSpellsSystem : EntitySystem
[Dependency] private readonly MindSystem _mindSystem = default!;
[Dependency] private readonly ActionContainerSystem _actionContainer = default!;
[Dependency] private readonly ChargingSystem _charging = default!;
[Dependency] private readonly SharedStunSystem _stun = default!;
#endregion
@@ -191,6 +193,7 @@ public sealed class WizardSpellsSystem : EntitySystem
SwapComponent<RevolutionaryComponent>(uid, target);
SwapComponent<HeadRevolutionaryComponent>(uid, target);
SwapComponent<GlobalAntagonistComponent>(uid, target);
SwapComponent<FastAndFuriousComponent>(uid, target);
_mindSystem.TransferTo(mindId, target, mind: mind);
@@ -738,8 +741,8 @@ public sealed class WizardSpellsSystem : EntitySystem
return false;
}
_stun.TryKnockdown(msg.TargetUid, TimeSpan.FromSeconds(4), true);
_throwingSystem.TryThrow(msg.TargetUid, Transform(msg.Performer).Coordinates, 5f);
_standing.TryLieDown(msg.TargetUid);
return true;
}
@@ -936,6 +939,10 @@ public sealed class WizardSpellsSystem : EntitySystem
if (hasReqs)
return;
if (_inventory.TryGetSlotEntity(args.Performer, "outerClothing", out var entity) &&
comp.ClothingWhitelist?.IsValid(entity.Value) is true)
return;
args.Cancelled = true;
_popupSystem.PopupEntity(Loc.GetString("magic-component-missing-req"), args.Performer, args.Performer);
}

View File

@@ -554,6 +554,12 @@ public abstract partial class SharedGunSystem : EntitySystem
Dirty(gun);
}
// WD EDIT
public void SetFireMode(GunComponent gun, SelectiveFire available, SelectiveFire selected)
{
gun.AvailableModes = available;
gun.SelectedMode = selected;
}
public void SetUseKey(GunComponent gun, bool useKey)
{
gun.UseKey = useKey;

View File

@@ -1,4 +1,5 @@
using Robust.Shared.GameStates;
using Content.Shared.Whitelist;
using Robust.Shared.GameStates;
namespace Content.Shared._White.Wizard.Magic;
@@ -10,4 +11,7 @@ public sealed partial class MagicComponent : Component
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool RequiresClothes;
[DataField]
public EntityWhitelist? ClothingWhitelist;
}

View File

@@ -103,6 +103,7 @@ public abstract class SharedSpellBladeSystem : EntitySystem
var gun = EnsureComp<GunComponent>(uid);
_gun.SetUseKey(gun, false);
_gun.SetClumsyProof(gun, true);
_gun.SetFireMode(gun, SelectiveFire.FullAuto, SelectiveFire.FullAuto);
_gun.SetSound(uid, new SoundPathSpecifier("/Audio/Weapons/Guns/Gunshots/Magic/staff_healing.ogg"));
_gun.SetFireRate(uid, 1.2f);
var ammoProvider = EnsureComp<BasicEntityAmmoProviderComponent>(uid);

View File

@@ -17,10 +17,10 @@ ent-ClothingOuterArmorHeavyRed = красный тяжелый бронекос
.desc = Тяжело бронированный костюм с красными вставками, способный защитить от высокого урона.
.suffix = { "" }
ent-ClothingOuterArmorMagusblue = синие доспехи магуса
.desc = Синий бронекостюм, обеспечивающий хорошую защиту. Не обладает свойствами волшебной мантии.
.desc = Синий бронекостюм, обеспечивающий хорошую защиту. Не обладает свойствами волшебной мантии, но позволяет кастовать заклинание электрической дуги.
.suffix = { "" }
ent-ClothingOuterArmorMagusred = красные доспехи магуса
.desc = Красный бронекостюм, обеспечивающий хорошую защиту. Не обладает свойствами волшебной мантии.
.desc = Красный бронекостюм, обеспечивающий хорошую защиту. Не обладает свойствами волшебной мантии, но позволяет кастовать заклинание огненного шара.
.suffix = { "" }
ent-ClothingOuterArmorRiot = противоударный костюм
.desc = Бронежилет с тяжелыми накладками для защиты в ближнем бою, идеально подходит для борьбы с правонарушителями на станции.

View File

@@ -222,6 +222,10 @@
- type: ClothingSpeedModifier
walkModifier: 1
sprintModifier: 1
- type: Tag
tags:
- WhitelistChameleon
- BlueMagusArmor
- type: entity
parent: ClothingOuterArmorMagusblue
@@ -233,8 +237,10 @@
sprite: Clothing/OuterClothing/Armor/magusred.rsi
- type: Clothing
sprite: Clothing/OuterClothing/Armor/magusred.rsi
- type: Tag
tags:
- WhitelistChameleon
- RedMagusArmor
- type: entity
parent: ClothingOuterBase

View File

@@ -101,6 +101,7 @@
- Biological
- Inorganic
- type: Invisibility
- type: ThermalBlocker
- type: entity
id: ActionAGhostShowSolar

View File

@@ -28,3 +28,5 @@
deleteOnDrop: true
- type: ToolForcePowered
- type: DeleteOnChangelingRefund
- type: MeleeBlock
delay: 12.1

View File

@@ -82,6 +82,8 @@
- suitStorage
- type: DisarmMalus
- type: CultItem
- type: MeleeBlock
delay: 12.1
- type: entity
name: unholy halberd
@@ -123,3 +125,5 @@
- type: UseDelay
delay: 1
- type: CultItem
- type: MeleeBlock
delay: 12.1

View File

@@ -34,6 +34,9 @@
soundGunshot: /Audio/Weapons/plasma_cutter.ogg
fireRate: 1
useKey: false
selectedMode: FullAuto
availableModes:
- FullAuto
- type: RechargeBasicEntityAmmo
rechargeCooldown: 0.5
rechargeSound:
@@ -95,8 +98,6 @@
components:
- type: Sprite
sprite: Objects/Weapons/Melee/crusher_glaive.rsi
- type: UseDelay
delay: 1.9
- type: LeechOnMarker
leech:
groups:

View File

@@ -64,6 +64,8 @@
- Belt
- SuitStorage
- type: DisarmMalus
- type: MeleeBlock
delay: 12.1
- type: entity
name: energy katana
@@ -164,6 +166,8 @@
deconstructionTarget: null
graph: SwordGraph
node: sword
- type: MeleeBlock
delay: 12.1
- type: entity
name: cutlass
@@ -189,6 +193,8 @@
size: Large
sprite: Objects/Weapons/Melee/cutlass.rsi
- type: DisarmMalus
- type: MeleeBlock
delay: 12.1
- type: entity
name: The Throngler

View File

@@ -5,6 +5,9 @@
components:
- type: Magic
requiresClothes: true
clothingWhitelist:
tags:
- BlueMagusArmor
- type: WorldTargetAction
itemIconStyle: BigAction
useDelay: 60
@@ -29,7 +32,7 @@
prototype: ProjectileTeslaBall
posData: !type:TargetCasterPos
- type: VariableUseDelay
useDelay: 5
useDelay: 10
altUseDelay: 5
chargeUseDelay: 30
@@ -63,7 +66,7 @@
speech: "EL DRITCH!"
- type: VariableUseDelay
useDelay: 6
altUseDelay: 2
altUseDelay: 3
chargeUseDelay: 30
- type: entity
@@ -73,6 +76,9 @@
components:
- type: Magic
requiresClothes: true
clothingWhitelist:
tags:
- RedMagusArmor
- type: WorldTargetAction
itemIconStyle: BigAction
useDelay: 60
@@ -128,7 +134,7 @@
posData: !type:TargetCasterPos
speech: "SHIZO NERO!"
- type: VariableUseDelay
useDelay: 4
useDelay: 5
altUseDelay: 1
chargeUseDelay: 30

View File

@@ -23,12 +23,12 @@
thresholds:
- trigger:
!type:DamageTrigger
damage: 150
damage: 100
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Reflect
reflectProb: 0.5
reflectProb: 0.25
reflects:
- Energy
- type: ReturnItemOnThrow

View File

@@ -341,6 +341,7 @@
sprite: White/Objects/Weapons/Chaplain/pitchfork.rsi
state: icon
- type: MeleeWeapon
range: 2
wideAnimationRotation: -135
damage:
types:

View File

@@ -8,7 +8,7 @@
sprite: White/Objects/Weapons/Chaplain/hfrequency.rsi
- type: MeleeWeapon
autoAttack: true
attackRate: 4
attackRate: 5
damage:
types:
Slash: 10
@@ -39,7 +39,7 @@
wideAnimationRotation: 135
damage:
types:
Slash: 30
Slash: 35
- type: Clothing
quickEquip: false
sprite: White/Objects/Weapons/Chaplain/spellblade.rsi

View File

@@ -93,3 +93,9 @@
- type: Tag
id: UnoCard
- type: Tag
id: RedMagusArmor
- type: Tag
id: BlueMagusArmor