diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/altars.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/altars.yml new file mode 100644 index 0000000000..3c6b2db119 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/altars.yml @@ -0,0 +1,56 @@ +- type: entity + name: random altar spawner + id: AltarSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - texture: Structures/Furniture/Altars/Gods/nanotrasen.rsi/nanotrasen.png + - type: RandomSpawner + prototypes: + - AltarNanotrasen + - AltarChaos + - AltarDruid + - AltarToolbox + - AltarSpaceChristian + - AltarSatana + - AltarTechnology + offset: 0.0 + +- type: entity + name: random convert-altar spawner + id: ConvertAltarSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - texture: Structures/Furniture/Altars/Gods/convertaltar.rsi/convertaltar.png + - type: RandomSpawner + prototypes: + - AltarConvert + - AltarConvertFestival + - AltarConvertMaint + - AltarConvertBlue + - AltarConvertBurden + - AltarConvertOrange + - AltarConvertRed + - AltarConvertWhite + - AltarConvertYellow + offset: 0.0 + +- type: entity + name: random cult-altar spawner + id: CultAltarSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - texture: Structures/Furniture/Altars/Cults/fangs.rsi/full.png + - type: RandomSpawner + prototypes: + - AltarHeaven + - AltarFangs + offset: 0.0 diff --git a/Resources/Prototypes/Entities/Structures/Furniture/altar.yml b/Resources/Prototypes/Entities/Structures/Furniture/altar.yml new file mode 100644 index 0000000000..571c8143cd --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Furniture/altar.yml @@ -0,0 +1,350 @@ +- type: entity + id: AltarBase + parent: BaseStructure + name: altar + description: Altar of the Gods. + abstract: true + components: + - type: Anchorable + - type: Transform + noRot: true + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: PlaceableSurface + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + mass: 50 + mask: #mouse can pass under, but I think this is can understandable by logic + - TableMask + layer: + - TableLayer + - type: Sprite + netsync: false + - type: Climbable + - type: Clickable + +- type: entity + id: AltarNanotrasen + parent: AltarBase + name: nanotrasen altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: nanotrasen + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: nanotrasen + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 5 + MaterialCloth1: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: AltarChaos + parent: AltarNanotrasen + name: chaos altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: chaos + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: chaos + +- type: entity + id: AltarDruid + parent: AltarNanotrasen + name: druid altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: druid + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: druid + +- type: entity + id: AltarToolbox + parent: AltarNanotrasen + name: toolbox altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: toolbox + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: toolbox + +- type: entity + id: AltarSpaceChristian + parent: AltarNanotrasen + name: space-Christian altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + layers: + - state: space-christian + - state: space-christian_lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: space-christian + +- type: entity + id: AltarSatana + parent: AltarNanotrasen + name: satanic altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + layers: + - state: satana + - state: satana_lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: satana + +- type: entity + id: AltarTechnology + parent: AltarNanotrasen + name: technology altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + layers: + - state: technology + - state: technology_lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi + state: technology + + +- type: entity + id: AltarConvertFestival + parent: AltarBase + name: festival altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: festival + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: festival + - type: Damageable + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/woodhit.ogg + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 1 + max: 5 + MaterialCloth1: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Tag + tags: + - Wooden + +- type: entity + id: AltarConvertMaint + parent: AltarConvertFestival + name: maint altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: maint + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: maint + +- type: entity + id: AltarConvertBlue + parent: AltarConvertFestival + name: blue altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: blue + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: blue + +- type: entity + id: AltarConvertBurden + parent: AltarConvertFestival + name: burden altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: convertaltar + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: convertaltar + +- type: entity + id: AltarConvert + parent: AltarConvertFestival + name: convert altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: convertaltar + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: convertaltar + +- type: entity + id: AltarConvertOrange + parent: AltarConvertFestival + name: orange altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: orange + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: orange + +- type: entity + id: AltarConvertRed + parent: AltarConvertFestival + name: red altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: red + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: red + +- type: entity + id: AltarConvertWhite + parent: AltarConvertFestival + name: white altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: white + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: white + +- type: entity + id: AltarConvertYellow + parent: AltarConvertFestival + name: yellow altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + layers: + - state: yellow + - state: lightning + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi + state: yellow + +- type: entity + id: AltarHeaven + parent: AltarBase + name: heaven altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Cults/heaven.rsi + layers: + - state: full + - state: blood + shader: unshaded + - type: Icon + sprite: Structures/Furniture/Altars/Cults/heaven.rsi + state: full + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/metalbreak.ogg + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 5 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: AltarFangs + parent: AltarHeaven + name: fanged altar + components: + - type: Sprite + sprite: Structures/Furniture/Altars/Cults/fangs.rsi + - type: Icon + sprite: Structures/Furniture/Altars/Cults/fangs.rsi diff --git a/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/blood.png b/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/blood.png new file mode 100644 index 0000000000..347686e3ad Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/blood.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/full.png b/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/full.png new file mode 100644 index 0000000000..2926fde32c Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/full.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/meta.json b/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/meta.json new file mode 100644 index 0000000000..94904fdc1b --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Altars/Cults/fangs.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/a5de76df72587ae5f367d72523777530d9b1a028", + "states": [ + { + "name": "full" + }, + { + "name": "blood" + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/blood.png b/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/blood.png new file mode 100644 index 0000000000..c5cab86272 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/blood.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/full.png b/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/full.png new file mode 100644 index 0000000000..42da78a648 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/full.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/meta.json b/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/meta.json new file mode 100644 index 0000000000..3151f2ba45 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Altars/Cults/heaven.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/TauCetiStation/TauCetiClassic/commit/b69b08ce43b8e6ea52d9f4f356cc27a7042f7b22", + "states": [ + { + "name": "full" + }, + { + "name": "blood", + "delays": [ + [ + 0.2, 0.2, 0.2, 0.2 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/blue.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/blue.png new file mode 100644 index 0000000000..727b58e980 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/blue.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/burden.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/burden.png new file mode 100644 index 0000000000..30cb397fe0 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/burden.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/convertaltar.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/convertaltar.png new file mode 100644 index 0000000000..c1b05e5ff5 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/convertaltar.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/festival.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/festival.png new file mode 100644 index 0000000000..74b6de0559 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/festival.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/lightning.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/lightning.png new file mode 100644 index 0000000000..c9d2e68f5b Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/lightning.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/maint.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/maint.png new file mode 100644 index 0000000000..d0743d2dd9 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/maint.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/meta.json b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/meta.json new file mode 100644 index 0000000000..1fc5414b9b --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/meta.json @@ -0,0 +1,44 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/8cd8d259eeb8d6af23a08a0de8c085e2a7b4b809", + "states": [ + { + "name": "convertaltar" + }, + { + "name": "lightning", + "delays": [ + [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + ] + }, + { + "name": "red" + }, + { + "name": "blue" + }, + { + "name": "orange" + }, + { + "name": "festival" + }, + { + "name": "burden" + }, + { + "name": "maint" + }, + { + "name": "yellow" + }, + { + "name": "white" + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/orange.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/orange.png new file mode 100644 index 0000000000..279298df7b Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/orange.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/red.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/red.png new file mode 100644 index 0000000000..b0685ea638 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/red.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/white.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/white.png new file mode 100644 index 0000000000..97cadc314f Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/white.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/yellow.png b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/yellow.png new file mode 100644 index 0000000000..4ff8f2bec4 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/convertaltar.rsi/yellow.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/chaos.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/chaos.png new file mode 100644 index 0000000000..40f48b11fb Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/chaos.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/druid.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/druid.png new file mode 100644 index 0000000000..99c097fe73 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/druid.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/meta.json b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/meta.json new file mode 100644 index 0000000000..e131857737 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/meta.json @@ -0,0 +1,50 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/TauCetiStation/TauCetiClassic/pull/5184/commits/7489ad4520ddf83968c467cd587bde2c821e10a6", + "states": [ + { + "name": "nanotrasen" + }, +{ + "name": "druid" + }, +{ + "name": "chaos" + }, + { + "name": "space-christian" + }, + { + "name": "technology" + }, + { + "name": "satana" + }, + { + "name": "toolbox" + }, + { + "name": "technology_lightning", + "delays": [ + [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1] + ] + }, + { + "name": "satana_lightning", + "delays": [ + [0.1, 0.1, 0.1, 0.1, 0.1, 0.1] + ] + }, + { + "name": "space-christian_lightning", + "delays": [ + [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/nanotrasen.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/nanotrasen.png new file mode 100644 index 0000000000..4e124a5624 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/nanotrasen.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/satana.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/satana.png new file mode 100644 index 0000000000..e329908ae9 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/satana.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/satana_lightning.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/satana_lightning.png new file mode 100644 index 0000000000..2cc1def01c Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/satana_lightning.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/space-christian.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/space-christian.png new file mode 100644 index 0000000000..0ca2057903 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/space-christian.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/space-christian_lightning.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/space-christian_lightning.png new file mode 100644 index 0000000000..ff327681a7 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/space-christian_lightning.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/technology.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/technology.png new file mode 100644 index 0000000000..6b0ead8482 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/technology.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/technology_lightning.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/technology_lightning.png new file mode 100644 index 0000000000..ccd69c04d7 Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/technology_lightning.png differ diff --git a/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/toolbox.png b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/toolbox.png new file mode 100644 index 0000000000..f1047b794f Binary files /dev/null and b/Resources/Textures/Structures/Furniture/Altars/Gods/nanotrasen.rsi/toolbox.png differ