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

* ыы
This commit is contained in:
Ed
2024-11-04 00:55:15 +03:00
committed by GitHub
parent 98854c01d7
commit 16a0b99daf
45 changed files with 543 additions and 274 deletions

View File

@@ -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");

View File

@@ -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);
}
}
}

View File

@@ -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;
}
}

View File

@@ -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));
}

View File

@@ -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
{
}

View 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);
}
}
}

View File

@@ -4,6 +4,7 @@
categories: [ HideSpawnMenu ]
components:
- type: Sprite
drawdepth: Mobs #CP14
color: '#3F38'
- type: ConstructionGhost
- type: Clickable

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -33,7 +33,7 @@
<GuideEntityEmbed Entity="CP14BaseShield"/>
<GuideEntityEmbed Entity="CP14BaseSword"/>
<GuideEntityEmbed Entity="CP14BasePickaxe"/>
<GuideEntityEmbed Entity="CP14OldLantern"/>
<GuideEntityEmbed Entity="CP14CrystalLampBlueEmpty"/>
<GuideEntityEmbed Entity="CP14BaseSharpeningStone"/>
</Box>

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

View File

@@ -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"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

View File

@@ -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
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 B

View File

@@ -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
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 932 B

After

Width:  |  Height:  |  Size: 957 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

View File

@@ -14,6 +14,10 @@
{
"name": "on",
"directions": 4
},
{
"name": "crystal",
"directions": 4
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

After

Width:  |  Height:  |  Size: 536 B

View File

@@ -119,6 +119,11 @@ CP14SpawnPointMerchant: CP14SpawnPointBanker
#2024-10-27
CP14GatherableFlowersYellow: CP14GatherableDayflin
CP14FlowersYellow: CP14Dayflin
#2024-11-03
CP14OldLantern: CP14CrystalLampBlueEmpty
CP14ClothingRingIceFloor: CP14ClothingRingManaGift
# <---> CrystallPunk migration zone end