Magic crystal lanterns + Aftertest balance (#532)
* lamp visual update * deleete ice floor spell * mana gift spell * magic lantern * wallmount crystal lamps * QoL * crafting * Update StyleNano.cs * examining simplify * rings name * remove snakes modifier * trinkets update * remove snakes, add boars and rabbits to demiplans * Update flashlight.yml * fix * Update test.yml * Update migration.yml * ыы
@@ -100,7 +100,7 @@ namespace Content.Client.Stylesheets
|
||||
public static readonly Color ButtonColorDefaultRed = Color.FromHex("#D43B3B");
|
||||
public static readonly Color ButtonColorHovered = Color.FromHex("#7f6357");
|
||||
public static readonly Color ButtonColorHoveredRed = Color.FromHex("#DF6B6B");
|
||||
public static readonly Color ButtonColorPressed = Color.FromHex("#6c4a3e");
|
||||
public static readonly Color ButtonColorPressed = Color.FromHex("#4a332b");
|
||||
public static readonly Color ButtonColorDisabled = Color.FromHex("#3c3330");
|
||||
|
||||
public static readonly Color ButtonColorCautionDefault = Color.FromHex("#ab3232");
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Content.Server._CP14.MagicEnergy;
|
||||
using Content.Shared._CP14.MagicEnergy.Components;
|
||||
using Content.Shared.EntityEffects;
|
||||
using Content.Shared.FixedPoint;
|
||||
using JetBrains.Annotations;
|
||||
@@ -34,5 +35,12 @@ public sealed partial class CP14ManaChange : EntityEffect
|
||||
|
||||
var magicSystem = args.EntityManager.System<CP14MagicEnergySystem>();
|
||||
magicSystem.ChangeEnergy(args.TargetEntity, ManaDelta * scale, Safe);
|
||||
|
||||
if (args.EntityManager.TryGetComponent<CP14MagicEnergyCrystalSlotComponent>(args.TargetEntity,
|
||||
out var crystalSlot))
|
||||
{
|
||||
var slotSystem = args.EntityManager.System<CP14MagicEnergyCrystalSlotSystem>();
|
||||
slotSystem.TryChangeEnergy(args.TargetEntity, ManaDelta * scale, crystalSlot);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,12 +57,15 @@ public sealed partial class CP14MagicEnergyCrystalSlotSystem : SharedCP14MagicEn
|
||||
if (!TryGetEnergyCrystalFromSlot(ent, out var crystalUid, out var crystalComp, ent.Comp))
|
||||
return;
|
||||
|
||||
var scanEvent = new CP14MagicEnergyScanEvent();
|
||||
RaiseLocalEvent(args.Examiner, scanEvent);
|
||||
|
||||
if (!scanEvent.CanScan)
|
||||
if (!args.IsInDetailsRange)
|
||||
return;
|
||||
|
||||
//var scanEvent = new CP14MagicEnergyScanEvent();
|
||||
//RaiseLocalEvent(args.Examiner, scanEvent);
|
||||
//
|
||||
//if (!scanEvent.CanScan)
|
||||
// return;
|
||||
|
||||
args.PushMarkup(_magicEnergy.GetEnergyExaminedText(crystalUid.Value, crystalComp));
|
||||
}
|
||||
|
||||
@@ -119,7 +122,8 @@ public sealed partial class CP14MagicEnergyCrystalSlotSystem : SharedCP14MagicEn
|
||||
|
||||
return true;
|
||||
}
|
||||
public bool TryUseEnergy(EntityUid uid,
|
||||
|
||||
public bool TryChangeEnergy(EntityUid uid,
|
||||
FixedPoint2 energy,
|
||||
CP14MagicEnergyCrystalSlotComponent? component = null,
|
||||
EntityUid? user = null,
|
||||
@@ -128,22 +132,12 @@ public sealed partial class CP14MagicEnergyCrystalSlotSystem : SharedCP14MagicEn
|
||||
if (!TryGetEnergyCrystalFromSlot(uid, out var energyEnt, out var energyComp, component))
|
||||
{
|
||||
if (user != null)
|
||||
_popup.PopupEntity(Loc.GetString("cp14-magic-energy-no-crystal"), uid,user.Value);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_magicEnergy.TryConsumeEnergy(energyEnt.Value, energy, energyComp, safe))
|
||||
{
|
||||
if (user != null)
|
||||
_popup.PopupEntity(
|
||||
Loc.GetString(safe ? "cp14-magic-energy-insufficient" : "cp14-magic-energy-insufficient-unsafe"),
|
||||
uid,
|
||||
user.Value);
|
||||
_popup.PopupEntity(Loc.GetString("cp14-magic-energy-no-crystal"), uid, user.Value);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
_magicEnergy.ChangeEnergy(energyEnt.Value, energyComp, energy, safe);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,12 +31,15 @@ public partial class CP14MagicEnergySystem
|
||||
if (!TryComp<CP14MagicEnergyContainerComponent>(ent, out var magicContainer))
|
||||
return;
|
||||
|
||||
var scanEvent = new CP14MagicEnergyScanEvent();
|
||||
RaiseLocalEvent(args.Examiner, scanEvent);
|
||||
|
||||
if (!scanEvent.CanScan)
|
||||
if (!args.IsInDetailsRange)
|
||||
return;
|
||||
|
||||
//var scanEvent = new CP14MagicEnergyScanEvent();
|
||||
//RaiseLocalEvent(args.Examiner, scanEvent);
|
||||
//
|
||||
//if (!scanEvent.CanScan)
|
||||
// return;
|
||||
|
||||
args.PushMarkup(GetEnergyExaminedText(ent, magicContainer));
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Content.Shared._CP14.MagicLantern;
|
||||
|
||||
/// <summary>
|
||||
/// Controls the object's glow based on magical energy
|
||||
/// </summary>
|
||||
[RegisterComponent, Access(typeof(CP14MagicLanternSystem))]
|
||||
public sealed partial class CP14MagicLanternComponent : Component
|
||||
{
|
||||
|
||||
}
|
||||
25
Content.Shared/_CP14/MagicLantern/CP14MagicLanternSystem.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using Content.Shared._CP14.MagicEnergy.Components;
|
||||
|
||||
namespace Content.Shared._CP14.MagicLantern;
|
||||
|
||||
public partial class CP14MagicLanternSystem : EntitySystem
|
||||
{
|
||||
|
||||
[Dependency] private readonly SharedPointLightSystem _pointLight = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<CP14MagicLanternComponent, CP14SlotCrystalPowerChangedEvent>(OnSlotPowerChanged);
|
||||
}
|
||||
|
||||
private void OnSlotPowerChanged(Entity<CP14MagicLanternComponent> ent, ref CP14SlotCrystalPowerChangedEvent args)
|
||||
{
|
||||
SharedPointLightComponent? pointLight = null;
|
||||
if (_pointLight.ResolveLight(ent, ref pointLight))
|
||||
{
|
||||
_pointLight.SetEnabled(ent, args.Powered, pointLight);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs #CP14
|
||||
color: '#3F38'
|
||||
- type: ConstructionGhost
|
||||
- type: Clickable
|
||||
|
||||
@@ -1,71 +1,68 @@
|
||||
- type: entity
|
||||
id: CP14ActionSpellIceFloor
|
||||
name: Ice floor
|
||||
description: Covers a specified area of land with slippery ice.
|
||||
id: CP14ActionSpellManaGift
|
||||
name: Mana transfer
|
||||
description: You can transfer a small amount of your magical energy to a target entity or magical object.
|
||||
components:
|
||||
- type: CP14MagicEffect
|
||||
manaCost: 10
|
||||
manaCost: 12
|
||||
telegraphyEffects:
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14ImpactEffectIceFloor
|
||||
- CP14ImpactEffectManaGift
|
||||
effects:
|
||||
- !type:CP14SpellSpawnEntityOnTarget
|
||||
spawns:
|
||||
- CP14IceFloor
|
||||
- CP14ImpactEffectManaGift
|
||||
- !type:CP14SpellApplyEntityEffect
|
||||
effects:
|
||||
- !type:CP14ManaChange
|
||||
manaDelta: 10
|
||||
safe: false
|
||||
- type: CP14MagicEffectVerbalAspect
|
||||
startSpeech: "Humus deorsum..."
|
||||
endSpeech: "operietur glacie"
|
||||
startSpeech: "Energia..."
|
||||
endSpeech: "te reficit"
|
||||
- type: CP14MagicEffectSomaticAspect
|
||||
- type: CP14MagicEffectCastingVisual
|
||||
proto: CP14RuneIceFloor
|
||||
proto: CP14RuneManaGift
|
||||
- type: EntityWorldTargetAction
|
||||
whitelist:
|
||||
components:
|
||||
- CP14MagicEnergyContainer
|
||||
- CP14MagicEnergyCrystalSlot
|
||||
useDelay: 5
|
||||
range: 5
|
||||
itemIconStyle: BigAction
|
||||
interactOnMiss: false
|
||||
sound: !type:SoundPathSpecifier
|
||||
path: /Audio/Magic/rumble.ogg
|
||||
icon:
|
||||
sprite: _CP14/Effects/Magic/spells_icons.rsi
|
||||
state: ice_floor
|
||||
state: mana_gift
|
||||
event: !type:CP14DelayedEntityWorldTargetActionEvent
|
||||
delay: 1
|
||||
breakOnMove: false
|
||||
delay: 2
|
||||
|
||||
- type: entity
|
||||
id: CP14RuneIceFloor
|
||||
id: CP14RuneManaGift
|
||||
parent: CP14BaseMagicRune
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: PointLight
|
||||
color: "#5eabeb"
|
||||
color: "#5096d4"
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: medium_circle
|
||||
color: "#5eabeb"
|
||||
- state: medium_line
|
||||
color: "#5096d4"
|
||||
shader: unshaded
|
||||
- state: double_outer
|
||||
color: "#5096d4"
|
||||
shader: unshaded
|
||||
|
||||
- type: entity
|
||||
id: CP14ImpactEffectIceFloor
|
||||
id: CP14ImpactEffectManaGift
|
||||
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.
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: Slippery
|
||||
paralyzeTime: 1
|
||||
launchForwardsMultiplier: 1.5
|
||||
- type: StepTrigger
|
||||
intersectRatio: 0.2
|
||||
- type: CollisionWake
|
||||
enabled: false
|
||||
color: "#5096d4"
|
||||
shader: unshaded
|
||||
@@ -15,7 +15,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingIceDagger
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: ice dagger conductive ring
|
||||
suffix: Ice Dagger
|
||||
description: A standard mana-conductive ring that allows the user to summon ice daggers.
|
||||
components:
|
||||
@@ -30,10 +30,28 @@
|
||||
spells:
|
||||
- CP14ActionSpellIceDagger
|
||||
|
||||
- type: entity
|
||||
id: CP14ClothingRingManaGift
|
||||
parent: CP14ClothingRingBase
|
||||
name: mana transfering conductive ring
|
||||
suffix: Mana gift
|
||||
description: A standard mana-conductive ring that allows you to transfer some of your magical energy to other objects.
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: brass_ring
|
||||
- state: saphhire_stone_small
|
||||
- type: CP14SpellStorageRequireAttune
|
||||
- type: CP14MagicAttuningItem
|
||||
- type: CP14SpellStorageAccessWearing
|
||||
- type: CP14SpellStorage
|
||||
spells:
|
||||
- CP14ActionSpellManaGift
|
||||
|
||||
- type: entity
|
||||
id: CP14ClothingRingIceShards
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: ice shards conductive ring
|
||||
suffix: Ice Shards
|
||||
description: A standard mana-conductive ring that allows the user to summon ice shards.
|
||||
components:
|
||||
@@ -51,7 +69,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingFlameCreation
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: flame creation conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to summon artificial flames.
|
||||
suffix: Flame creation
|
||||
components:
|
||||
@@ -69,7 +87,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingFireball
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: fireball conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to summon fireballs.
|
||||
suffix: Fireball
|
||||
components:
|
||||
@@ -87,7 +105,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingCureWounds
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: cure wounds conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to heal physical injuries.
|
||||
suffix: Cure Wounds
|
||||
components:
|
||||
@@ -105,7 +123,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingShadowStep
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: shadow step conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to step throught shadows.
|
||||
suffix: Shadow step
|
||||
components:
|
||||
@@ -123,7 +141,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingShadowGrab
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: shadow grab conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to summon grabbing shadow hand.
|
||||
suffix: Shadow grab
|
||||
components:
|
||||
@@ -141,8 +159,8 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingEarthWall
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to heal physical injuries.
|
||||
name: earth wall conductive ring
|
||||
description: A standard mana-conductive ring that allows you to lift a piece of earth rock.
|
||||
suffix: Earth wall
|
||||
components:
|
||||
- type: Sprite
|
||||
@@ -156,28 +174,10 @@
|
||||
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
|
||||
|
||||
- type: entity
|
||||
id: CP14ClothingRingSphereOfLight
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: light sphere conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to create a sphere of light.
|
||||
suffix: Sphere of Light
|
||||
components:
|
||||
@@ -195,7 +195,7 @@
|
||||
- type: entity
|
||||
id: CP14ClothingRingFlashLight
|
||||
parent: CP14ClothingRingBase
|
||||
name: conductive ring
|
||||
name: flash conductive ring
|
||||
description: A standard mana-conductive ring that allows the user to create a bright flash of light that blinds enemies.
|
||||
suffix: Flash Light
|
||||
components:
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
- id: CP14DyeBlack
|
||||
- id: CP14EnergyCrystalSmall
|
||||
- id: CP14Bucket
|
||||
- id: CP14OldLantern
|
||||
- id: CP14CrystalLampBlueEmpty
|
||||
- id: CP14Scissors
|
||||
- id: CP14BaseSharpeningStone
|
||||
- id: CP14Rope
|
||||
@@ -78,7 +78,7 @@
|
||||
- id: CP14ClothingRingShadowStep
|
||||
- id: CP14ClothingRingShadowGrab
|
||||
- id: CP14ClothingRingEarthWall
|
||||
- id: CP14ClothingRingIceFloor
|
||||
- id: CP14ClothingRingManaGift
|
||||
- id: CP14ClothingRingSphereOfLight
|
||||
- id: CP14ClothingRingFlashLight
|
||||
- !type:GroupSelector
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
- type: entity
|
||||
id: CP14RandomSpawnerBattleRoyaleLootWeapon
|
||||
name: Loot
|
||||
suffix: Weapon
|
||||
description: lol
|
||||
parent: MarkerBase
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: _CP14/Objects/Weapons/Melee/BattleHammer/battleHammer.rsi
|
||||
state: icon
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- CP14BaseBattleHammer
|
||||
- CP14BaseBattleStaff
|
||||
- CP14BaseDagger
|
||||
- CP14BaseDagger
|
||||
- CP14BaseTwoHandedSword
|
||||
- CP14TwoHandedSwordScythe
|
||||
- CP14BaseSharpeningStone
|
||||
- CP14OldLantern
|
||||
- ClothingBackpackCargo
|
||||
- ClothingBackpackCargo
|
||||
- ClothingBackpackCargo
|
||||
- ClothingBackpackCargo
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin1
|
||||
- CP14CopperCoin1
|
||||
- CP14CopperCoin1
|
||||
- CP14SilverCoin1
|
||||
- CP14SilverCoin1
|
||||
- CP14SilverCoin1
|
||||
- CP14AuraNodeBase
|
||||
- CP14AuraNodeBase
|
||||
- CP14AuraNodeBase
|
||||
- CP14AuraNodeBase
|
||||
|
||||
- type: entity
|
||||
id: CP14RandomSpawnerBattleRoyaleLootTools
|
||||
name: Loot
|
||||
suffix: Tools
|
||||
description: lol
|
||||
parent: MarkerBase
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: red
|
||||
- sprite: _CP14/Clothing/Cloak/Armor/redguardarmor.rsi
|
||||
state: icon
|
||||
- type: RandomSpawner
|
||||
prototypes:
|
||||
- CP14DirtBlock10
|
||||
- CP14StoneBlock10
|
||||
- CP14WoodLog
|
||||
- CP14WoodenPlanks10
|
||||
- CP14Nail1
|
||||
- CP14Nail10
|
||||
- CP14Cauldron
|
||||
- CP14Pestle
|
||||
- CP14AlchemyNormalizer
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin5
|
||||
- CP14CopperCoin1
|
||||
- CP14CopperCoin1
|
||||
- CP14CopperCoin1
|
||||
- CP14SilverCoin1
|
||||
- CP14SilverCoin1
|
||||
- CP14SilverCoin1
|
||||
- CP14AuraNodeBase
|
||||
- CP14AuraNodeBase
|
||||
- CP14AuraNodeBase
|
||||
- CP14AuraNodeBase
|
||||
- CP14String
|
||||
- CP14String
|
||||
- CP14String
|
||||
- CP14Cloth10
|
||||
@@ -213,7 +213,7 @@
|
||||
energy: 100
|
||||
- type: CP14MagicEnergyDraw
|
||||
energy: 1
|
||||
delay: 6 # 10m to full restore
|
||||
delay: 3 # 5m to full restore
|
||||
- type: CP14MagicUnsafeDamage
|
||||
- type: CP14MagicUnsafeSleep
|
||||
- type: CP14MagicAttuningMind
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: CP14OldLantern
|
||||
name: old lantern
|
||||
description: Relic of the Techomagic's past. Large, weighty, unpractical. At least feels good to crack some skulls with it.
|
||||
parent:
|
||||
- BaseItem
|
||||
- CP14BaseCrystalSlot
|
||||
id: CP14CrystalLamp
|
||||
abstract: true
|
||||
name: crystal lamp
|
||||
description: A device that converts energy from crystals into a source of directional light. Convenient for traveling
|
||||
categories: [ ForkFiltered ]
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Objects/Tools/magic-lamp.rsi
|
||||
sprite: _CP14/Objects/Tools/crystal_lamp.rsi
|
||||
noRot: false
|
||||
layers:
|
||||
- state: lamp
|
||||
- type: Clothing
|
||||
equipDelay: 0.25
|
||||
unequipDelay: 0.25
|
||||
sprite: _CP14/Objects/Tools/magic-lamp.rsi
|
||||
sprite: _CP14/Objects/Tools/crystal_lamp.rsi
|
||||
quickEquip: false
|
||||
breakOnMove: false
|
||||
slots:
|
||||
@@ -24,7 +25,7 @@
|
||||
wideAnimation: CP14WeaponArcSlash
|
||||
damage:
|
||||
types:
|
||||
Blunt: 8
|
||||
Blunt: 3
|
||||
soundHit:
|
||||
collection: MetalThud
|
||||
cPAnimationLength: 0.25
|
||||
@@ -32,13 +33,89 @@
|
||||
sound:
|
||||
path: /Audio/Items/toolbox_drop.ogg
|
||||
- type: Item
|
||||
sprite: _CP14/Objects/Tools/magic-lamp.rsi
|
||||
storedRotation: -90
|
||||
size: Normal
|
||||
shape:
|
||||
- 0, 0, 1, 1
|
||||
sprite: _CP14/Objects/Tools/crystal_lamp.rsi
|
||||
- type: Rotatable
|
||||
- type: PointLight
|
||||
color: "#47F8FFFF"
|
||||
enabled: false
|
||||
color: "#FFFFFF"
|
||||
mask: /Textures/_CP14/Effects/LightMasks/crystal_cone.png
|
||||
autoRot: true
|
||||
energy: 4
|
||||
radius: 4
|
||||
netsync: false
|
||||
energy: 3
|
||||
radius: 6
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.CP14MagicSlotVisuals.Inserted:
|
||||
crystal:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
enum.CP14MagicSlotVisuals.Powered:
|
||||
light:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
- type: CP14MagicLantern
|
||||
- type: CP14MagicEnergyDraw
|
||||
energy: -0.1
|
||||
delay: 3
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
crystal_slot:
|
||||
insertSound:
|
||||
path: /Audio/_CP14/Items/crystal_insert.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
ejectSound:
|
||||
path: /Audio/_CP14/Items/crystal_eject.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
ejectOnInteract: false
|
||||
name: cp14-magic-energy-crystal-slot-name
|
||||
whitelist:
|
||||
components:
|
||||
- CP14MagicEnergyCrystal
|
||||
|
||||
- type: entity
|
||||
parent: CP14CrystalLamp
|
||||
id: CP14CrystalLampBlueEmpty
|
||||
name: blue crystal lamp
|
||||
suffix: Blue, Empty
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: icon
|
||||
- state: light_icon
|
||||
color: "#47F8FF"
|
||||
visible: false
|
||||
map: ["crystal"]
|
||||
- state: light_icon
|
||||
color: "#47F8FF"
|
||||
visible: false
|
||||
map: ["light"]
|
||||
shader: unshaded
|
||||
- type: PointLight
|
||||
color: "#47F8FF"
|
||||
|
||||
- type: entity
|
||||
parent: CP14CrystalLamp
|
||||
id: CP14CrystalLampOrangeEmpty
|
||||
name: orange crystal lamp
|
||||
suffix: Orange, Empty
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: icon
|
||||
- state: light_icon
|
||||
color: "#d68f4d"
|
||||
map: ["crystal"]
|
||||
visible: false
|
||||
- state: light_icon
|
||||
color: "#d68f4d"
|
||||
map: ["light"]
|
||||
visible: false
|
||||
shader: unshaded
|
||||
- type: PointLight
|
||||
color: "#d68f4d"
|
||||
energy: 5
|
||||
@@ -103,38 +103,6 @@
|
||||
range: 5
|
||||
sound:
|
||||
path: /Audio/Ambience/Objects/fireplace.ogg
|
||||
|
||||
|
||||
- type: entity
|
||||
id: CP14WallmountLamp
|
||||
name: eternal flame lamp
|
||||
parent: CP14BaseWallmount
|
||||
description: A fragile eternal blue fire as proof of the superiority of magic over nature.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Structures/Wallmount/wallmount_lamp.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- state: on
|
||||
shader: unshaded
|
||||
map: [ "light" ]
|
||||
- type: PointLight
|
||||
energy: 2
|
||||
radius: 8
|
||||
netsync: false
|
||||
color: "#b0eaf6"
|
||||
- type: Appearance
|
||||
#TODO toggleable
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 40
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
|
||||
- type: entity
|
||||
id: CP14WallmountBarShelfA
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
- type: entity
|
||||
id: CP14WallmountLampEmpty
|
||||
name: crystal wall lamp
|
||||
suffix: Empty
|
||||
parent:
|
||||
- CP14BaseWallmount
|
||||
- CP14BaseCrystalSlot
|
||||
description: A simple wallmount magical device that converts crystal energy into bright light.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Structures/Wallmount/wallmount_lamp.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- state: crystal
|
||||
map: [ "crystal" ]
|
||||
visible: false
|
||||
- state: on
|
||||
color: "#b2ceeb"
|
||||
shader: unshaded
|
||||
map: [ "light" ]
|
||||
visible: false
|
||||
- type: PointLight
|
||||
energy: 2
|
||||
radius: 8
|
||||
color: "#b2ceeb"
|
||||
enabled: false
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.CP14MagicSlotVisuals.Inserted:
|
||||
crystal:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
enum.CP14MagicSlotVisuals.Powered:
|
||||
light:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 40
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: CP14MagicLantern
|
||||
- type: CP14MagicEnergyDraw
|
||||
energy: -0.1
|
||||
delay: 6
|
||||
- type: Construction
|
||||
graph: CP14WallmountLampEmpty
|
||||
node: CP14WallmountLampEmpty
|
||||
|
||||
- type: entity
|
||||
id: CP14WallmountLamp
|
||||
suffix: Small crystal
|
||||
parent: CP14WallmountLampEmpty
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _CP14/Structures/Wallmount/wallmount_lamp.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- state: crystal
|
||||
map: [ "crystal" ]
|
||||
visible: true
|
||||
- state: on
|
||||
color: "#b2ceeb"
|
||||
shader: unshaded
|
||||
map: [ "light" ]
|
||||
visible: true
|
||||
- type: PointLight
|
||||
enabled: true
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
crystal_slot:
|
||||
startingItem: CP14EnergyCrystalSmall
|
||||
insertSound:
|
||||
path: /Audio/_CP14/Items/crystal_insert.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
ejectSound:
|
||||
path: /Audio/_CP14/Items/crystal_eject.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
ejectOnInteract: false
|
||||
name: cp14-magic-energy-crystal-slot-name
|
||||
whitelist:
|
||||
components:
|
||||
- CP14MagicEnergyCrystal
|
||||
@@ -297,10 +297,19 @@
|
||||
maxLimit: 2
|
||||
loadouts:
|
||||
- CP14ClothingRingCureWounds
|
||||
- CP14ClothingRingManaGift
|
||||
- CP14EnergyCrystalSmall
|
||||
- CP14CrystalLampOrangeEmpty
|
||||
- CP14BaseSharpeningStone
|
||||
- CP14Scissors
|
||||
- CP14Bucket
|
||||
- CP14Rope
|
||||
- CP14PenFeather
|
||||
- CP14Paper
|
||||
- CP14CopperCoin10
|
||||
- CP14BaseCrowbar
|
||||
- CP14PaperFolderBlue
|
||||
- CP14SilverCoin5
|
||||
- CP14BaseDagger
|
||||
- CP14BaseSickle
|
||||
- CP14BasePickaxe
|
||||
|
||||
- type: loadout
|
||||
id: CP14ClothingRingCureWounds
|
||||
@@ -308,6 +317,48 @@
|
||||
back:
|
||||
- CP14ClothingRingCureWounds
|
||||
|
||||
- type: loadout
|
||||
id: CP14ClothingRingManaGift
|
||||
storage:
|
||||
back:
|
||||
- CP14ClothingRingManaGift
|
||||
|
||||
- type: loadout
|
||||
id: CP14EnergyCrystalSmall
|
||||
storage:
|
||||
back:
|
||||
- CP14EnergyCrystalSmall
|
||||
|
||||
- type: loadout
|
||||
id: CP14CrystalLampOrangeEmpty
|
||||
storage:
|
||||
back:
|
||||
- CP14CrystalLampOrangeEmpty
|
||||
|
||||
- type: loadout
|
||||
id: CP14BaseSharpeningStone
|
||||
storage:
|
||||
back:
|
||||
- CP14BaseSharpeningStone
|
||||
|
||||
- type: loadout
|
||||
id: CP14Scissors
|
||||
storage:
|
||||
back:
|
||||
- CP14Scissors
|
||||
|
||||
- type: loadout
|
||||
id: CP14Bucket
|
||||
storage:
|
||||
back:
|
||||
- CP14Bucket
|
||||
|
||||
- type: loadout
|
||||
id: CP14Rope
|
||||
storage:
|
||||
back:
|
||||
- CP14Rope
|
||||
|
||||
- type: loadout
|
||||
id: CP14PenFeather
|
||||
storage:
|
||||
@@ -315,19 +366,31 @@
|
||||
- CP14PenFeather
|
||||
|
||||
- type: loadout
|
||||
id: CP14Paper
|
||||
id: CP14PaperFolderBlue
|
||||
storage:
|
||||
back:
|
||||
- CP14Paper
|
||||
- CP14PaperFolderBlue
|
||||
|
||||
- type: loadout
|
||||
id: CP14CopperCoin10
|
||||
id: CP14SilverCoin5
|
||||
storage:
|
||||
back:
|
||||
- CP14CopperCoin
|
||||
- CP14SilverCoin5
|
||||
|
||||
- type: loadout
|
||||
id: CP14BaseCrowbar
|
||||
id: CP14BaseDagger
|
||||
storage:
|
||||
back:
|
||||
- CP14BaseCrowbar
|
||||
- CP14BaseDagger
|
||||
|
||||
- type: loadout
|
||||
id: CP14BaseSickle
|
||||
storage:
|
||||
back:
|
||||
- CP14BaseSickle
|
||||
|
||||
- type: loadout
|
||||
id: CP14BasePickaxe
|
||||
storage:
|
||||
back:
|
||||
- CP14BasePickaxe
|
||||
@@ -295,6 +295,7 @@
|
||||
difficulty: 0.5
|
||||
requiredTags:
|
||||
- CP14DemiplaneOpenSky
|
||||
- CP14DemiplaneGrass
|
||||
layers:
|
||||
- !type:MobsDunGen
|
||||
minCount: 3
|
||||
@@ -304,19 +305,31 @@
|
||||
amount: 1
|
||||
|
||||
- type: cp14DemiplaneModifier
|
||||
id: EnemySnakes
|
||||
difficulty: 0.7
|
||||
id: SmallHydra
|
||||
difficulty: 0.5
|
||||
requiredTags:
|
||||
- CP14DemiplaneGrass
|
||||
layers:
|
||||
- !type:MobsDunGen
|
||||
minCount: 1
|
||||
maxCount: 2
|
||||
minCount: 3
|
||||
maxCount: 6
|
||||
groups:
|
||||
- id: CP14MobPurpleSnake
|
||||
amount: 1
|
||||
- id: CP14MobSmallPurpleSnake
|
||||
amount: 1
|
||||
- id: CP14MobSpaceCobra
|
||||
amount: 1
|
||||
- id: CP14MobDinoSmallHydra
|
||||
amount: 3
|
||||
|
||||
|
||||
- type: cp14DemiplaneModifier
|
||||
id: MonsterMole
|
||||
difficulty: 0.5
|
||||
requiredTags:
|
||||
- CP14DemiplaneUnderground
|
||||
layers:
|
||||
- !type:MobsDunGen
|
||||
minCount: 3
|
||||
maxCount: 6
|
||||
groups:
|
||||
- id: CP14MobMonsterMole
|
||||
amount: 3
|
||||
|
||||
- type: cp14DemiplaneModifier
|
||||
id: EnemyMagmawind
|
||||
@@ -330,6 +343,35 @@
|
||||
- id: CP14MobWatcherMagmawing
|
||||
amount: 1
|
||||
|
||||
- type: cp14DemiplaneModifier
|
||||
id: Rabbits
|
||||
reward: 0.2
|
||||
generationWeight: 0.4
|
||||
requiredTags:
|
||||
- CP14DemiplaneGrass
|
||||
layers:
|
||||
- !type:MobsDunGen
|
||||
minCount: 1
|
||||
maxCount: 2
|
||||
groups:
|
||||
- id: CP14MobRabbit
|
||||
amount: 3
|
||||
|
||||
- type: cp14DemiplaneModifier
|
||||
id: Boar
|
||||
reward: 0.2
|
||||
difficulty: 0.2
|
||||
generationWeight: 0.4
|
||||
requiredTags:
|
||||
- CP14DemiplaneGrass
|
||||
layers:
|
||||
- !type:MobsDunGen
|
||||
minCount: 1
|
||||
maxCount: 3
|
||||
groups:
|
||||
- id: CP14MobBoar
|
||||
amount: 2
|
||||
|
||||
- type: cp14DemiplaneModifier
|
||||
id: Chasm
|
||||
difficulty: 0.2
|
||||
|
||||
@@ -35,3 +35,22 @@
|
||||
- node: CP14WallmountTorch
|
||||
entity: CP14WallmountTorch
|
||||
|
||||
|
||||
|
||||
- type: constructionGraph
|
||||
id: CP14WallmountLampEmpty
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
actions:
|
||||
- !type:DestroyEntity {}
|
||||
edges:
|
||||
- to: CP14WallmountLampEmpty
|
||||
steps:
|
||||
- material: CP14CopperBar
|
||||
amount: 3
|
||||
doAfter: 3
|
||||
|
||||
- node: CP14WallmountLampEmpty
|
||||
entity: CP14WallmountLampEmpty
|
||||
|
||||
|
||||
@@ -108,6 +108,26 @@
|
||||
- !type:TileNotBlocked
|
||||
- !type:CP14WallRequired
|
||||
|
||||
- type: construction
|
||||
crystallPunkAllowed: true
|
||||
name: Crystal wall lamp
|
||||
description: A simple wallmount magical device that converts crystal energy into bright light.
|
||||
id: CP14WallmountLampEmpty
|
||||
graph: CP14WallmountLampEmpty
|
||||
startNode: start
|
||||
targetNode: CP14WallmountLampEmpty
|
||||
category: construction-category-furniture
|
||||
icon:
|
||||
sprite: _CP14/Structures/Wallmount/wallmount_lamp.rsi
|
||||
state: base
|
||||
objectType: Structure
|
||||
placementMode: SnapgridCenter
|
||||
canBuildInImpassable: true
|
||||
canRotate: true
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
- !type:CP14WallRequired
|
||||
|
||||
- type: construction
|
||||
crystallPunkAllowed: true
|
||||
name: Wooden chest
|
||||
|
||||
@@ -33,7 +33,7 @@ When you decide to leave the demiplane after finding the portal, you must touch
|
||||
<GuideEntityEmbed Entity="CP14BaseShield"/>
|
||||
<GuideEntityEmbed Entity="CP14BaseSword"/>
|
||||
<GuideEntityEmbed Entity="CP14BasePickaxe"/>
|
||||
<GuideEntityEmbed Entity="CP14OldLantern"/>
|
||||
<GuideEntityEmbed Entity="CP14CrystalLampBlueEmpty"/>
|
||||
<GuideEntityEmbed Entity="CP14BaseSharpeningStone"/>
|
||||
</Box>
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<GuideEntityEmbed Entity="CP14BaseShield"/>
|
||||
<GuideEntityEmbed Entity="CP14BaseSword"/>
|
||||
<GuideEntityEmbed Entity="CP14BasePickaxe"/>
|
||||
<GuideEntityEmbed Entity="CP14OldLantern"/>
|
||||
<GuideEntityEmbed Entity="CP14CrystalLampBlueEmpty"/>
|
||||
<GuideEntityEmbed Entity="CP14BaseSharpeningStone"/>
|
||||
</Box>
|
||||
|
||||
|
||||
BIN
Resources/Textures/_CP14/Effects/LightMasks/crystal_cone.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 415 B |
|
After Width: | Height: | Size: 461 B |
@@ -5,17 +5,23 @@
|
||||
"y": 32
|
||||
},
|
||||
"license": "CLA",
|
||||
"copyright": "Created by .kreks.",
|
||||
"copyright": "Created by .kreks., mana_gift by TheShuEd",
|
||||
"states": [
|
||||
{
|
||||
"name": "cure_wounds"
|
||||
},
|
||||
{
|
||||
"name": "flame_creation"
|
||||
"name": "earth_wall"
|
||||
},
|
||||
{
|
||||
"name": "fireball"
|
||||
},
|
||||
{
|
||||
"name": "flame_creation"
|
||||
},
|
||||
{
|
||||
"name": "flash_light"
|
||||
},
|
||||
{
|
||||
"name": "ice_dagger"
|
||||
},
|
||||
@@ -23,22 +29,16 @@
|
||||
"name": "ice_shards"
|
||||
},
|
||||
{
|
||||
"name": "shadow_step"
|
||||
"name": "mana_gift"
|
||||
},
|
||||
{
|
||||
"name": "shadow_grab"
|
||||
},
|
||||
{
|
||||
"name": "ice_floor"
|
||||
},
|
||||
{
|
||||
"name": "earth_wall"
|
||||
"name": "shadow_step"
|
||||
},
|
||||
{
|
||||
"name": "sphere_of_light"
|
||||
},
|
||||
{
|
||||
"name": "flash_light"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 399 B |
|
After Width: | Height: | Size: 399 B |
BIN
Resources/Textures/_CP14/Objects/Tools/crystal_lamp.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 356 B |
|
After Width: | Height: | Size: 581 B |
|
After Width: | Height: | Size: 587 B |
|
After Width: | Height: | Size: 263 B |
|
After Width: | Height: | Size: 270 B |
|
After Width: | Height: | Size: 204 B |
|
After Width: | Height: | Size: 311 B |
|
After Width: | Height: | Size: 313 B |
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CLA",
|
||||
"copyright": "Created by jaraten (Github/discord) for CrystallPunk",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "equipped-BELT1",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "equipped-BELT2",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "light_icon"
|
||||
},
|
||||
{
|
||||
"name": "light_inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "light_inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "light_equipped-BELT1",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "light_equipped-BELT2",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 687 B |
|
Before Width: | Height: | Size: 682 B |
|
Before Width: | Height: | Size: 606 B |
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CLA",
|
||||
"copyright": "by Agoichi",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "lamp",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 932 B After Width: | Height: | Size: 957 B |
|
After Width: | Height: | Size: 330 B |
@@ -14,6 +14,10 @@
|
||||
{
|
||||
"name": "on",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "crystal",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 688 B After Width: | Height: | Size: 536 B |
@@ -119,6 +119,11 @@ CP14SpawnPointMerchant: CP14SpawnPointBanker
|
||||
#2024-10-27
|
||||
CP14GatherableFlowersYellow: CP14GatherableDayflin
|
||||
CP14FlowersYellow: CP14Dayflin
|
||||
|
||||
#2024-11-03
|
||||
CP14OldLantern: CP14CrystalLampBlueEmpty
|
||||
CP14ClothingRingIceFloor: CP14ClothingRingManaGift
|
||||
|
||||
# <---> CrystallPunk migration zone end
|
||||
|
||||
|
||||
|
||||