diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index a0b4f8bf904..830a9b8a8b6 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -698,3 +698,17 @@
/obj/item/paper/manifest/Initialize(mapload, text, title)
. = ..()
AddElement(/datum/element/sellable/manifest)
+
+/obj/item/paper/crumpled/sampatti
+ info = "Sampatti Relay Sif-833
Decryption Key for 12-04-2488:
849B0022FBA920C244
Eyes Only.
The insider who knows all the secrets can bring down Lanka.";
+ name = "Dusty Note"
+
+/obj/item/paper/alchemy
+ info = span_bold("Apprentice, I have written out these instructions so that you may operate the alembic in your own time without me needing to watch over your every step.
The alembic is simple to operate, simply activate the spontaneous heating stone beneath it to begin boiling the contents. However, the contents that you choose are critical in creating a potion of any merit, and mixing the wrong materials may create something completely useless, wasting our resources!
You must mix two materials, and only ever two. One primary ingredient, this can be one of many materials with valuable alchemical properties. The other is a potion base, this will be essential to properly break down and transmute the ingredient into a potent potion. Once you have added the two, boil as above, and collect the distilate in a bottle. As for choosing your base, here is a short guide, but be aware that the properties of an ingredient are not always immediately apparent and some experimentation may be required:
Alkahest is a potent solvent and particularly useful for dissolving metals.
Aqua Regia is a heavily corrosive mixture of acids that readily dissolve most organic materials.
Ichor is a rich ferrous fluid that binds well to minerals, it can often break down gemstones.")
+ name = "alchemy instructions"
+
+/obj/item/paper/alien/message
+ info = span_bold("Thus far the mission has been a success, we've managed to integrate ourselves into the local community without arousing suspicion.
We had initially overestimated the technological level of the locals, and their initial encounters with our equipment did cause a concern. However, we were able to latch onto their superstitious beliefs in magic to explain away the abilities that we possess. To enhance this perception, we've taken to hiding our technology in more mundane looking materials, and the townsfolk appear to be content with this.")
+
+/obj/item/paper/alien/source
+ info = span_bold("Our search for the source has brought us to this planet, and we were quickly able to locate a seepage of the anomaly in the area. We set up this base immediately beside it, so that we can best study it. However, we are growing concerned as the material continues to spread beyond it's initial sprouting point and has begun to encroach directly on our buildings.
Our plan was to move our base further back from the site and study from a distance, but we have begun to detect lifeforms traversing the void. Yellow eyes have been seen watching from beyond the safety of the cave, disappearing and reappearing seemingly at random. We weren't aware that anything could survive this, they could hold the key to our scenario and we are requesting immediate support to research this further.")
diff --git a/maps/expedition_vr/beach/submaps/deadBeacon.dmm b/maps/expedition_vr/beach/submaps/deadBeacon.dmm
index d8d31a9d033..1edb2477fb3 100644
--- a/maps/expedition_vr/beach/submaps/deadBeacon.dmm
+++ b/maps/expedition_vr/beach/submaps/deadBeacon.dmm
@@ -65,10 +65,7 @@
/turf/simulated/floor/tiled/asteroid_steel,
/area/submap/cave/deadBeacon)
"o" = (
-/obj/item/paper/crumpled{
- info = "Sampatti Relay Sif-833
Decryption Key for 12-04-2488:
849B0022FBA920C244
Eyes Only.
The insider who knows all the secrets can bring down Lanka.";
- name = "Dusty Note"
- },
+/obj/item/paper/crumpled/sampatti,
/turf/simulated/floor/tiled/asteroid_steel,
/area/submap/cave/deadBeacon)
"p" = (
diff --git a/maps/redgate/fantasy.dmm b/maps/redgate/fantasy.dmm
index fdadd523904..d84378a198f 100644
--- a/maps/redgate/fantasy.dmm
+++ b/maps/redgate/fantasy.dmm
@@ -769,10 +769,7 @@
"eQ" = (
/obj/structure/table/woodentable,
/obj/random/potion_ingredient,
-/obj/item/paper{
- info = "Apprentice, I have written out these instructions so that you may operate the alembic in your own time without me needing to watch over your every step.
The alembic is simple to operate, simply activate the spontaneous heating stone beneath it to begin boiling the contents. However, the contents that you choose are critical in creating a potion of any merit, and mixing the wrong materials may create something completely useless, wasting our resources!
You must mix two materials, and only ever two. One primary ingredient, this can be one of many materials with valuable alchemical properties. The other is a potion base, this will be essential to properly break down and transmute the ingredient into a potent potion. Once you have added the two, boil as above, and collect the distilate in a bottle. As for choosing your base, here is a short guide, but be aware that the properties of an ingredient are not always immediately apparent and some experimentation may be required:
Alkahest is a potent solvent and particularly useful for dissolving metals.
Aqua Regia is a heavily corrosive mixture of acids that readily dissolve most organic materials.
Ichor is a rich ferrous fluid that binds well to minerals, it can often break down gemstones.";
- name = "alchemy instructions"
- },
+/obj/item/paper/alchemy,
/turf/simulated/floor/wood/alt/panel,
/area/redgate/fantasy/castle)
"eR" = (
@@ -2360,10 +2357,7 @@
/area/redgate/fantasy/castle)
"oH" = (
/obj/structure/table/woodentable,
-/obj/item/paper{
- info = "Apprentice, I have written out these instructions so that you may operate the alembic in your own time without me needing to watch over your every step.
The alembic is simple to operate, simply activate the spontaneous heating stone beneath it to begin boiling the contents. However, the contents that you choose are critical in creating a potion of any merit, and mixing the wrong materials may create something completely useless, wasting our resources!
You must mix two materials, and only ever two. One primary ingredient, this can be one of many materials with valuable alchemical properties. The other is a potion base, this will be essential to properly break down and transmute the ingredient into a potent potion. Once you have added the two, boil as above, and collect the distilate in a bottle. As for choosing your base, here is a short guide, but be aware that the properties of an ingredient are not always immediately apparent and some experimentation may be required:
Alkahest is a potent solvent and particularly useful for dissolving metals.
Aqua Regia is a heavily corrosive mixture of acids that readily dissolve most organic materials.
Ichor is a rich ferrous fluid that binds well to minerals, it can often break down gemstones.";
- name = "alchemy instructions"
- },
+/obj/item/paper/alchemy,
/turf/simulated/floor/wood,
/area/redgate/fantasy/alchemist)
"oI" = (
@@ -3256,9 +3250,7 @@
dir = 1
},
/obj/structure/table/alien/blue,
-/obj/item/paper/alien{
- info = "Thus far the mission has been a success, we've managed to integrate ourselves into the local community without arousing suspicion.
We had initially overestimated the technological level of the locals, and their initial encounters with our equipment did cause a concern. However, we were able to latch onto their superstitious beliefs in magic to explain away the abilities that we possess. To enhance this perception, we've taken to hiding our technology in more mundane looking materials, and the townsfolk appear to be content with this."
- },
+/obj/item/paper/alien/message,
/turf/simulated/floor/tiled/milspec/sterile,
/area/redgate/fantasy/aliens)
"tX" = (
diff --git a/maps/redgate/fantasy_dungeon.dmm b/maps/redgate/fantasy_dungeon.dmm
index a70d991f275..26738a56100 100644
--- a/maps/redgate/fantasy_dungeon.dmm
+++ b/maps/redgate/fantasy_dungeon.dmm
@@ -916,9 +916,7 @@
/area/redgate/fantasy/alienbasement)
"tO" = (
/obj/structure/table/alien,
-/obj/item/paper/alien{
- info = "Our search for the source has brought us to this planet, and we were quickly able to locate a seepage of the anomaly in the area. We set up this base immediately beside it, so that we can best study it. However, we are growing concerned as the material continues to spread beyond it's initial sprouting point and has begun to encroach directly on our buildings.
Our plan was to move our base further back from the site and study from a distance, but we have begun to detect lifeforms traversing the void. Yellow eyes have been seen watching from beyond the safety of the cave, disappearing and reappearing seemingly at random. We weren't aware that anything could survive this, they could hold the key to our scenario and we are requesting immediate support to research this further."
- },
+/obj/item/paper/alien/source,
/turf/simulated/floor/tiled/techfloor,
/area/redgate/fantasy/alienbasement)
"tV" = (
diff --git a/maps/submaps/surface_submaps/mountains/deadBeacon.dmm b/maps/submaps/surface_submaps/mountains/deadBeacon.dmm
index 5bd72846a34..d219ce89667 100644
--- a/maps/submaps/surface_submaps/mountains/deadBeacon.dmm
+++ b/maps/submaps/surface_submaps/mountains/deadBeacon.dmm
@@ -64,10 +64,7 @@
/turf/simulated/floor/tiled/asteroid_steel,
/area/submap/cave/deadBeacon)
"o" = (
-/obj/item/paper/crumpled{
- info = "Sampatti Relay Sif-833
Decryption Key for 12-04-2488:
849B0022FBA920C244
Eyes Only.
The insider who knows all the secrets can bring down Lanka.";
- name = "Dusty Note"
- },
+/obj/item/paper/crumpled/sampatti,
/turf/simulated/floor/tiled/asteroid_steel,
/area/submap/cave/deadBeacon)
"p" = (
diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh
index 808542b2aa7..e5a1803e3e0 100644
--- a/tools/ci/check_grep.sh
+++ b/tools/ci/check_grep.sh
@@ -64,6 +64,13 @@ if grep -P '^\ttag = \"icon' $map_files; then
FAILED=1
fi;
+part "suspicious symbols in maps"
+if grep -P '[<>]' $map_files; then
+ echo
+ echo -e "${RED}ERROR: potential html code in maps detected.${NC}"
+ FAILED=1
+fi;
+
part "step_[xy]"
#Checking for step_x/step_y defined in any maps anywhere.
(! $grep 'step_[xy]' $map_files)