diff --git a/Content.Server/_CP14/Shuttles/CP14ExpeditionSystem.cs b/Content.Server/_CP14/Shuttles/CP14ExpeditionSystem.cs
index 3ed4f482fa..1a01215286 100644
--- a/Content.Server/_CP14/Shuttles/CP14ExpeditionSystem.cs
+++ b/Content.Server/_CP14/Shuttles/CP14ExpeditionSystem.cs
@@ -29,6 +29,11 @@ public sealed class CP14ExpeditionSystem : EntitySystem
///
public float ArrivalTime { get; private set; }
+ ///
+ /// If enabled then spawns players on an expedition ship.
+ ///
+ public bool Enabled { get; private set; }
+
public override void Initialize()
{
base.Initialize();
@@ -38,12 +43,17 @@ public sealed class CP14ExpeditionSystem : EntitySystem
SubscribeLocalEvent(OnExpeditionShipLanded);
ArrivalTime = _cfgManager.GetCVar(CCVars.CP14ExpeditionArrivalTime);
- _cfgManager.OnValueChanged(CCVars.CP14ExpeditionArrivalTime, time => ArrivalTime = time, true);
- }
+ Enabled = _cfgManager.GetCVar(CCVars.CP14ExpeditionShip);
+ _cfgManager.OnValueChanged(CCVars.CP14ExpeditionArrivalTime, time => ArrivalTime = time, true);
+ _cfgManager.OnValueChanged(CCVars.CP14ExpeditionShip, value => Enabled = value, true);
+ }
private void OnPostInitSetupExpeditionShip(Entity station, ref StationPostInitEvent args)
{
+ if (!Enabled)
+ return;
+
if (!Deleted(station.Comp.Shuttle))
return;
@@ -97,6 +107,9 @@ public sealed class CP14ExpeditionSystem : EntitySystem
public void HandlePlayerSpawning(PlayerSpawningEvent ev)
{
+ if (!Enabled)
+ return;
+
if (ev.SpawnResult != null)
return;
diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs
index d28eb1b469..2986d5a7d1 100644
--- a/Content.Shared/CCVar/CCVars.cs
+++ b/Content.Shared/CCVar/CCVars.cs
@@ -11,11 +11,17 @@ namespace Content.Shared.CCVar
public sealed class CCVars : CVars
{
#region CP14
-
+ ///
+ /// how long does it take to fly an expedition ship to an expedition point?
+ ///
public static readonly CVarDef CP14ExpeditionArrivalTime =
CVarDef.Create("cp14.arrival_time", 180f, CVar.SERVERONLY);
-
+ ///
+ /// is the expedition ship's system enabled?
+ ///
+ public static readonly CVarDef CP14ExpeditionShip =
+ CVarDef.Create("cp14.arrivals_ship", true, CVar.SERVERONLY);
#endregion
/*
* Server
@@ -1500,7 +1506,7 @@ namespace Content.Shared.CCVar
/// Whether the arrivals shuttle is enabled.
///
public static readonly CVarDef ArrivalsShuttles =
- CVarDef.Create("shuttle.arrivals", true, CVar.SERVERONLY);
+ CVarDef.Create("shuttle.arrivals", false, CVar.SERVERONLY); //CP14 arrivals disabled
///
/// The map to use for the arrivals station.
@@ -1627,7 +1633,7 @@ namespace Content.Shared.CCVar
/// Whether the emergency shuttle is enabled or should the round just end.
///
public static readonly CVarDef EmergencyShuttleEnabled =
- CVarDef.Create("shuttle.emergency", true, CVar.SERVERONLY);
+ CVarDef.Create("shuttle.emergency", false, CVar.SERVERONLY); //CP14 Emergency disabled
///
/// The percentage of time passed from the initial call to when the shuttle can no longer be recalled.
diff --git a/Resources/ConfigPresets/Build/development.toml b/Resources/ConfigPresets/Build/development.toml
index a1900dbaa2..8fb5165ba0 100644
--- a/Resources/ConfigPresets/Build/development.toml
+++ b/Resources/ConfigPresets/Build/development.toml
@@ -1,4 +1,7 @@
-[game]
+[cp14]
+arrivals_ship = false
+
+[game]
# Straight in-game baby
lobbyenabled = false
# Dev map for faster loading & convenience
diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/earth_wall.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/earth_wall.yml
new file mode 100644
index 0000000000..69b54713f3
--- /dev/null
+++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/earth_wall.yml
@@ -0,0 +1,89 @@
+- type: entity
+ id: CP14ActionSpellEarthWall
+ name: Earth wall
+ description: Raises a solid wall of earth from the bowels.
+ components:
+ - type: CP14MagicEffect
+ manaCost: 15
+ telegraphyEffects:
+ - !type:CP14SpellSpawnEntityOnTarget
+ spawns:
+ - CP14ImpactEffectEarthWall
+ effects:
+ - !type:CP14SpellSpawnEntityOnTarget
+ spawns:
+ - CP14WallSpawnEarthWall
+ - type: CP14MagicEffectVerbalAspect
+ startSpeech: "Surgite terram..."
+ endSpeech: "de profundis terrae"
+ - type: CP14MagicEffectCastingVisual
+ proto: CP14RuneEarthWall
+ - type: WorldTargetAction
+ useDelay: 10
+ range: 10
+ itemIconStyle: BigAction
+ sound: !type:SoundPathSpecifier
+ path: /Audio/Magic/rumble.ogg
+ icon:
+ sprite: _CP14/Effects/Magic/spells_icons.rsi
+ state: earth_wall
+ event: !type:CP14DelayedWorldTargetActionEvent
+ delay: 1
+
+- type: entity
+ id: CP14RuneEarthWall
+ parent: CP14BaseMagicRune
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: PointLight
+ color: "#8f6a2b"
+ - type: Sprite
+ layers:
+ - state: medium_line
+ color: "#8f6a2b"
+ shader: unshaded
+ - state: medium_circle
+ color: "#8f6a2b"
+ shader: unshaded
+
+- type: entity
+ id: CP14ImpactEffectEarthWall
+ parent: CP14BaseMagicImpact
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: Sprite
+ layers:
+ - state: particles_up
+ color: "#8f6a2b"
+ shader: unshaded
+
+- type: entity
+ id: CP14WallSpawnEarthWall
+ noSpawn: True
+ placement:
+ mode: SnapgridCenter
+ components:
+ - type: Transform
+ anchored: True
+ - type: InteractionOutline
+ - type: Physics
+ bodyType: Static
+ - type: Sprite
+ offset: 0, 0.2
+ sprite: _CP14/Effects/cubeup.rsi
+ state: cube_up
+ - type: Fixtures
+ fixtures:
+ portalFixture:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.25,-0.48,0.25,0.48"
+ mask:
+ - FullTileMask
+ layer:
+ - WallLayer
+ hard: false
+ - type: TimedDespawn
+ lifetime: 1.2
+ - type: SpawnOnDespawn
+ prototype: CP14WallDirt
diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_floor.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_floor.yml
new file mode 100644
index 0000000000..2bc9e89dfe
--- /dev/null
+++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/ice_floor.yml
@@ -0,0 +1,70 @@
+- type: entity
+ id: CP14ActionSpellIceFloor
+ name: Ice floor
+ description: Covers a specified area of land with slippery ice.
+ components:
+ - type: CP14MagicEffect
+ manaCost: 10
+ telegraphyEffects:
+ - !type:CP14SpellSpawnEntityOnTarget
+ spawns:
+ - CP14ImpactEffectIceFloor
+ effects:
+ - !type:CP14SpellSpawnEntityOnTarget
+ spawns:
+ - CP14IceFloor
+ - type: CP14MagicEffectVerbalAspect
+ startSpeech: "Humus deorsum..."
+ endSpeech: "operietur glacie"
+ - type: CP14MagicEffectCastingVisual
+ proto: CP14RuneIceFloor
+ - type: WorldTargetAction
+ useDelay: 5
+ range: 5
+ itemIconStyle: BigAction
+ sound: !type:SoundPathSpecifier
+ path: /Audio/Magic/rumble.ogg
+ icon:
+ sprite: _CP14/Effects/Magic/spells_icons.rsi
+ state: ice_floor
+ event: !type:CP14DelayedWorldTargetActionEvent
+ delay: 1
+ breakOnMove: false
+
+- type: entity
+ id: CP14RuneIceFloor
+ parent: CP14BaseMagicRune
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: PointLight
+ color: "#5eabeb"
+ - type: Sprite
+ layers:
+ - state: medium_circle
+ color: "#5eabeb"
+ shader: unshaded
+
+- type: entity
+ id: CP14ImpactEffectIceFloor
+ parent: CP14BaseMagicImpact
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: Sprite
+ layers:
+ - state: particles_up
+ color: "#5eabeb"
+ shader: unshaded
+
+- type: entity
+ id: CP14IceFloor
+ parent: IceCrust
+ name: ice crust
+ description: It's cold and slippery.
+ components:
+ - type: Slippery
+ paralyzeTime: 1
+ launchForwardsMultiplier: 1.5
+ - type: StepTrigger
+ intersectRatio: 0.2
+ - type: CollisionWake
+ enabled: false
diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml
index 89a49463ae..c3a88edd7f 100644
--- a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml
+++ b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/ring.yml
@@ -135,4 +135,40 @@
- type: CP14SpellStorageAccessWearing
- type: CP14SpellStorage
spells:
- - CP14ActionSpellShadowGrab
\ No newline at end of file
+ - CP14ActionSpellShadowGrab
+
+- type: entity
+ id: CP14ClothingRingEarthWall
+ parent: CP14ClothingRingBase
+ name: conductive ring
+ description: A standard mana-conductive ring that allows the user to heal physical injuries.
+ suffix: Earth wall
+ components:
+ - type: Sprite
+ layers:
+ - state: brass_ring
+ - state: berill_stone_small
+ - type: CP14SpellStorageRequireAttune
+ - type: CP14MagicAttuningItem
+ - type: CP14SpellStorageAccessWearing
+ - type: CP14SpellStorage
+ spells:
+ - CP14ActionSpellEarthWall
+
+- type: entity
+ id: CP14ClothingRingIceFloor
+ parent: CP14ClothingRingBase
+ name: conductive ring
+ description: A standard mana-conductive ring that allows the user to heal physical injuries.
+ suffix: Ice floor
+ components:
+ - type: Sprite
+ layers:
+ - state: brass_ring
+ - state: saphhire_stone_small
+ - type: CP14SpellStorageRequireAttune
+ - type: CP14MagicAttuningItem
+ - type: CP14SpellStorageAccessWearing
+ - type: CP14SpellStorage
+ spells:
+ - CP14ActionSpellIceFloor
diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml
index 827940c01b..a0df8fe71c 100644
--- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml
+++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml
@@ -22,7 +22,7 @@
- type: MeleeWeapon
angle: 120
attackRate: 0.7
- range: 1.8
+ range: 1.6
wideAnimationRotation: 320
wideAnimation: CP14WeaponArcSlash
damage:
@@ -36,7 +36,7 @@
- type: IncreaseDamageOnWield
damage:
types:
- Blunt: 9
+ Blunt: 8
Structural: 10
- type: StaminaDamageOnHit
damage: 10
diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml
index 9340bed45c..730e6cf724 100644
--- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml
+++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml
@@ -24,21 +24,21 @@
- type: IncreaseDamageOnWield
damage:
types:
- Blunt: 5
+ Blunt: 4
- type: MeleeWeapon
angle: 100
attackRate: 1.3
- range: 1.5
+ range: 1.3
wideAnimationRotation: -30
wideAnimation: CP14WeaponArcSlash
damage:
types:
- Blunt: 5
+ Blunt: 4
soundHit:
collection: MetalThud
cPAnimationLength: 0.3
cPAnimationOffset: -1.3
- type: StaminaDamageOnHit
- damage: 12
+ damage: 9
- type: CP14Currency
currency: 20
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml
index a9a0903617..24d4ab31c9 100644
--- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml
+++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml
@@ -66,4 +66,24 @@
sprite: _CP14/Objects/Weapons/Melee/TwoHandedSword/scythe.rsi
- type: Tag
tags:
- - CP14HerbalGathering
\ No newline at end of file
+ - CP14HerbalGathering
+ - type: MeleeWeapon
+ angle: 110
+ attackRate: 0.6
+ range: 1.4
+ wideAnimationRotation: 205
+ wideAnimation: CP14WeaponArcSlash
+ damage:
+ types:
+ Slash: 4
+ Blunt: 3
+ soundHit:
+ collection: MetalThud
+ cPAnimationLength: 0.6
+ - type: Wieldable
+ - type: IncreaseDamageOnWield
+ damage:
+ types:
+ Slash: 6
+ - type: CP14Currency
+ currency: 2000
diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/berill_stone_small.png b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/berill_stone_small.png
new file mode 100644
index 0000000000..8a6a9b4636
Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/berill_stone_small.png differ
diff --git a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json
index 194224f1b3..e1ec44f32e 100644
--- a/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json
+++ b/Resources/Textures/_CP14/Clothing/Rings/rings.rsi/meta.json
@@ -21,6 +21,9 @@
},
{
"name": "amethyst_stone_small"
+ },
+ {
+ "name": "berill_stone_small"
}
]
}
diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/earth_wall.png b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/earth_wall.png
new file mode 100644
index 0000000000..63adcc90c6
Binary files /dev/null and b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/earth_wall.png differ
diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_floor.png b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_floor.png
new file mode 100644
index 0000000000..535f3129a0
Binary files /dev/null and b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/ice_floor.png differ
diff --git a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json
index f7f44dee95..834a789a4c 100644
--- a/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json
+++ b/Resources/Textures/_CP14/Effects/Magic/spells_icons.rsi/meta.json
@@ -27,6 +27,12 @@
},
{
"name": "shadow_grab"
+ },
+ {
+ "name": "ice_floor"
+ },
+ {
+ "name": "earth_wall"
}
]
}
\ No newline at end of file
diff --git a/Resources/Textures/_CP14/Effects/cubeup.rsi/cube_up.png b/Resources/Textures/_CP14/Effects/cubeup.rsi/cube_up.png
new file mode 100644
index 0000000000..39469a7aeb
Binary files /dev/null and b/Resources/Textures/_CP14/Effects/cubeup.rsi/cube_up.png differ
diff --git a/Resources/Textures/_CP14/Effects/cubeup.rsi/meta.json b/Resources/Textures/_CP14/Effects/cubeup.rsi/meta.json
new file mode 100644
index 0000000000..5ba7ae4f90
--- /dev/null
+++ b/Resources/Textures/_CP14/Effects/cubeup.rsi/meta.json
@@ -0,0 +1,30 @@
+{
+ "version": 1,
+ "license": "All rights reserved for the CrystallPunk14 project only",
+ "copyright": "Created by TheShuEd (Discord) and modified by Jaraten (github/Discord) for CrystallPunk14",
+ "size": {
+ "x": 32,
+ "y": 48
+ },
+ "states": [
+ {
+ "name": "cube_up",
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ }
+ ]
+}
diff --git a/Resources/Textures/_CP14/Shaders/wave.swsl b/Resources/Textures/_CP14/Shaders/wave.swsl
index beed1f4f4c..a6d84d2ee4 100644
--- a/Resources/Textures/_CP14/Shaders/wave.swsl
+++ b/Resources/Textures/_CP14/Shaders/wave.swsl
@@ -3,9 +3,9 @@ preset raw;
varying highp vec2 Pos;
varying highp vec4 VtxModulate;
-uniform highp float Speed = 3.0;
-uniform highp float Dis = 10.0;
-uniform highp float Offset = 0.0;
+uniform highp float Speed;
+uniform highp float Dis;
+uniform highp float Offset;
void fragment() {
// Re-create base mvp
@@ -21,4 +21,4 @@ void vertex() {
UV = mix(modifyUV.xy, modifyUV.zw, tCoord);
UV2 = tCoord2;
VtxModulate = zFromSrgb(modulate);
-}
\ No newline at end of file
+}