From c5d86e97221fca62de12cedc99021d85e20bebaa Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 22 May 2020 17:29:20 +0300 Subject: [PATCH] Removing HTML... --- .../clockcult/clock_items/clockwork_slab.dm | 218 +++--------------- 1 file changed, 28 insertions(+), 190 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 5ba472b5d1..d9eff5bf74 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -1,7 +1,7 @@ /obj/item/clockwork/slab //Clockwork slab: The most important tool in Ratvar's arsenal. Allows scripture recital, tutorials, and generates components. name = "clockwork slab" desc = "A strange metal tablet. A clock in the center turns around and around." - clockwork_desc = "A link between you and the Celestial Derelict. It contains information, recites scripture, and is your most vital tool as a Servant.
\ + clockwork_desc = "A link between you and the Celestial Derelict. It contains information, recites scripture, and is your most vital tool as a Servant.\ It can be used to link traps and triggers by attacking them with the slab. Keep in mind that traps linked with one another will activate in tandem!" icon_state = "dread_ipad" @@ -149,8 +149,8 @@ if(!quickbound[i]) continue var/datum/clockwork_scripture/quickbind_slot = quickbound[i] - . += "Quickbind button: [initial(quickbind_slot.name)]." - . += "Available power: [DisplayPower(get_clockwork_power())]." + . += "Quickbind button: [initial(quickbind_slot.name)]." + . += "Available power: [DisplayPower(get_clockwork_power())]." //Slab actions; Hierophant, Quickbind /obj/item/clockwork/slab/ui_action_click(mob/user, action) @@ -224,20 +224,20 @@ /obj/item/clockwork/slab/proc/recollection() var/list/textlist = list("If you're seeing this, file a bug report.") if(GLOB.ratvar_awakens) - textlist = list("") + textlist = list(" ") for(var/i in 1 to 100) textlist += "HONOR RATVAR " - textlist += "" + textlist += "" else - textlist = list("
[text2ratvar("Purge all untruths and honor Engine.")]

\ + textlist = list("
[text2ratvar("Purge all untruths and honor Engine.")]
\ \ - NOTICE: This information is out of date. Read the Ark & You primer in your backpack or read the wiki page for current info.
\ -

\ + NOTICE: This information is out of date. Read the Ark & You primer in your backpack or read the wiki page for current info.\ +
\ These pages serve as the archives of Ratvar, the Clockwork Justiciar. This section of your slab has information on being as a Servant, advice for what to do next, and \ - pointers for serving the master well. You should recommended that you check this area for help if you get stuck or need guidance on what to do next.

\ + pointers for serving the master well. You should recommended that you check this area for help if you get stuck or need guidance on what to do next.\ \ - Disclaimer: Many objects, terms, and phrases, such as Servant, Cache, and Slab, are capitalized like proper nouns. This is a quirk of the Ratvarian language; \ - do not let it confuse you! You are free to use the names in pronoun form when speaking in normal languages.
") + Disclaimer: Many objects, terms, and phrases, such as Servant, Cache, and Slab, are capitalized like proper nouns. This is a quirk of the Ratvarian language; \ + do not let it confuse you! You are free to use the names in pronoun form when speaking in normal languages.") return textlist.Join() //Gets text for a certain section. "Default" is used for when you first open Recollection. @@ -248,216 +248,54 @@ //- Scripture //- Power //- Conversion -/obj/item/clockwork/slab/proc/get_recollection_text(section) - var/list/dat = list() - switch(section) - if("Default") - dat += "You can browse the above sections as you please. They're designed to be read in order, but feel free to pick and choose between them." - if("Getting Started") - dat += "Getting Started

" - dat += "Welcome, Servant! This section houses the utmost basics of being a Servant of Ratvar, and is much more informal than the other sections. Being a Servant of \ - Ratvar is a very complex role, with many systems, objects, and resources to use effectively and creatively.

" - dat += "This section of your clockwork slab covers everything that Servants have to be aware of, but is a long read because of how in-depth the systems are. Knowing \ - how to use the tools at your disposal makes all the difference between a clueless Servant and a great one.

" - dat += "If this is your first time being a Servant, relax. It's very much possible that you'll fail, but it's impossible to learn without making mistakes. For the time \ - being, use the Hierophant Network button in the top left-hand corner of your screen to try and get in touch with your fellow Servants; ignore the others for now. This button \ - will let you send messages across space and time to all other Servants. This makes it great for coordinating, and you should use it often! Note: Using \ - this will cause you to whisper your message aloud, so doing so in a public place is very suspicious and you should try to restrict it to private use.

" - dat += "If you aren't willing or don't have the time to read through every section, you can still help your teammates! Ask if they've set up a base. If they have, head there \ - and ask however you can help; chances are there's always something. If not, it's your job as a Servant to get one up and running! Try to find a secluded, low-traffic area, \ - like the auxiliary base or somewhere deep in maintenance. You'll want to go into the Drivers section of the slab and look for Tinkerer's Cache. Find a nice spot and \ - create one. This serves as a storage for components, the cult's primary resource. (Your slab's probably produced a few by now.) By attacking that cache with this \ - slab, you'll offload all your components into it, and all Servants will be able to use those components from any distance - all Tinkerer's Caches are linked!

" - dat += "Once you have a base up and running, contact your fellows and let them know. You should come back here often to drop off the slab's components, and your fellows \ - should do the same, either in this cache or in ones of their own.

" - dat += "If you think you're confident in taking further steps to help the cult, feel free to move onto the other sections. If not, let your allies know that you're new and \ - would appreciate the help they might offer you. Most experienced Servants would be happy to help; if everyone is inexperienced, then you'll have to step out of your comfort \ - zone and read onto the other sections. It's very likely that you might fail, but don't worry too much about it; you can't learn effectively without making mistakes.

" - dat += "For now, welcome! If you're looking to learn, you should start with the Basics section, then move onto Components and Scripture. At the very \ - least, you should read the Conversion section, as it outlines the most important aspects of being a Servant. Good luck!

" - dat += "-=-=-=-=-=-" - if("Basics") - dat += "Servant Basics

" - dat += "The first thing any Servant should know is their slab, inside and out. The clockwork slab is by far your most important tool. It allows you to speak with your \ - fellow Servants, create components that fuel many of your abilities, use those abilities, and should be kept safe and hidden on your person at all times. If you have not \ - done so already, it's a good idea to check for any fellow Servants using the Hierophant Network button in the top-left corner of your screen; due to the cult's nature, \ - teamwork is an instrumental component of your success.

" //get it? component? ha! - dat += "As a Servant of Ratvar, the tools you are given focus around building and maintaining bases and outposts. A great deal of your power comes from stationary \ - structures, and without constructing a base somewhere, it's essentially impossible to succeed. Finding a good spot to build a base can be difficult, and it's recommended \ - that you choose an area in low-traffic part of the station (such as the auxiliary base). Make sure to disconnect any cameras in the area beforehand.

" - dat += "Because of how complex being a Servant is, it isn't possible to fit much information into this section. It's highly recommended that you read the Components \ - and Scripture sections next. Not knowing how these two systems work will cripple both you and your fellows, and lead to a frustrating experience for everyone.

" - dat += "-=-=-=-=-=-" - if("Terminology") - dat += "Common Servant Terminology
" - dat += "This isn't intended to be read all at once; you are advised to treat it moreso as a glossary.

" - dat += "General
" - dat += "Servant: A person or robot who serves Ratvar. You are one of these.
" - dat += "Cache: A Tinkerer's Cache, which is a structure that stores and creates components.
" - dat += "CV: Construction Value. All clockwork structures, floors, and walls increase this number.
" - dat += "Vitality: Used for healing effects, produced by Ratvarian spear attacks and Vitality Matrices.
" - dat += "Geis: An important scripture used to make normal crew and robots into Servants of Ratvar.
" - dat += "Ark: The cult's win condition, a huge structure that needs to be defended.

" - dat += "Items
" - dat += "Slab: A clockwork slab, a Servant's most important tool. You're holding one! Keep it safe and hidden.
" - dat += "Visor: A judicial visor, which is a pair of glasses that can smite an area for a brief stun and delayed explosion.
" - dat += "Wraith Specs: Wraith spectacles, which provide true sight (X-ray, night vision) but damage the wearer's eyes.
" - dat += "Spear: A Ratvarian spear, which is a very powerful melee weapon that produces Vitality.
" - dat += "Fabricator: A replica fabricator, which converts objects into clockwork versions.

" - dat += "Constructs
" - dat += "Marauder: A clockwork marauder, which is a powerful bodyguard that hides in its owner.

" - dat += "Structures (* = requires power)
" - dat += "Warden: An ocular warden, which is a ranged turret that damages non-Servants that see it.
" - dat += "Prism*: A prolonging prism, which delays the shuttle for two minutes at a huge power cost.

" - dat += "Motor*: A mania motor, which serves as area-denial through negative effects and eventual conversion.
" - dat += "Daemon*: A tinkerer's daemon, which quickly creates components.
" - dat += "Obelisk*: A clockwork obelisk, which can broadcast large messages and allows limited teleportation.
" - dat += "Sigils
" - dat += "Note: Sigils can be stacked on top of one another, making certain sigils very effective when paired!
" - dat += "Transgression: Stuns the first non-Servant to cross it for ten seconds and blinds others nearby. Disappears on use.
" - dat += "Submission: Converts the first non-Servant to stand on the sigil for seven seconds. Disappears on use.
" - dat += "Matrix: Drains health from non-Servants, producing Vitality. Can heal and revive Servants.
" - dat += "Accession: Identical to the Sigil of Submission, but doesn't disappear on use. It can also convert a single mindshielded target, but will disappear after doing this.
" - dat += "Transmission: Drains and stores power for clockwork structures. Feeding it brass sheets will create additional power.

" - dat += "-=-=-=-=-=-" - if("Components") - dat += "Components & Their Uses

" - dat += "Components are your primary resource as a Servant. There are five types of component, with each one being used in different roles:

" - dat += "Although this is a good rule of thumb, their effects become much more nuanced when used together. For instance, a turret might have both belligerent eyes and \ - vanguard cogwheels as construction requirements, because it defends its allies by harming its enemies.

" - dat += "Components' primary use is fueling scripture (covered in its own section), and they can be created through various ways. This clockwork slab, for instance, \ - will make a random component of every type - or a specific one, if you choose a target component from the interface - every remove me already. This number will increase \ - as the amount of Servants in the covenant increase; additionally, slabs can only produce components when held by a Servant, and holding more than one slab will cause both \ - of them to halt progress until one of them is removed from their person.

" - dat += "Your slab has an internal storage of components, but it isn't meant to be the main one. Instead, there's a global storage of components that can be \ - added to through various ways. Anything that needs components will first draw them from the global storage before attempting to draw them from the slab. Most methods of \ - component production add to the global storage. You can also offload components from your slab into the global storage by using it on a Tinkerer's Cache, a structure whose \ - primary purpose is to do just that (although it will also slowly produce components when placed near a brass wall.)

" - dat += "-=-=-=-=-=-" - if("Scripture") - dat += "The Ancient Scripture

" - dat += "If you have experience with the Nar'Sian cult (or the \"blood cult\") then you will know of runes. They are the manifestations of the Geometer's power, and where most \ - of the cult's supernatural ability comes from. The Servant equivalent of runes is called scripture, and unlike runes, scripture is loaded into your clockwork slab.

" - dat += "Each piece of scripture has widely-varying effects. Your most important scripture, Geis, is obvious and suspicious, but charges your slab with energy and allows \ - you to attack a non-Servant in melee range to restrain them and begin converting them into a Servant. This is just one example; each piece of scripture can be simple or \ - complex, be obvious or have hidden mechanics that can only be found through trial and error.

" - dat += "Any given piece of scripture has a component cost listed in its \"Recite\" button. The acronyms for the components should be obvious if you've read about components \ - already; reciting this piece of scripture will consume the listed components, first from the global storage and then from your slab. Note that failing to recite a piece of \ - scripture will not consume the components required to recite it.

" - dat += "It should also be noted that some scripture cannot be recited alone. Especially with more powerful scripture, you may need multiple Servants to recite a piece of \ - scripture; both of you will need to stand still until the recital completes. Only human and silicon Servants are valid for scripture recital! Constructs cannot help \ - in reciting scripture.

" - dat += "Finally, scripture is separated into three \"tiers\" based on power: Drivers, Scripts, and Applications.[prob(1) ? " (The Revenant tier was removed a long time ago. \ - Get with the times.)" : ""] You can view the requirements to unlock each tier in its scripture list. Once a tier is unlocked, it's unlocked permanently; the cult only needs to fill the \ - requirement for unlocking a tier once!

" - dat += "-=-=-=-=-=-" - if("Power") - dat += "Power! Unlimited Power!

" - dat += "In the early stages of the cult, the only resource that must be actively worried about is components. However, as new scripture is unlocked, a new resource \ - becomes necessary: power. Almost all clockwork structures require power to function in some way. There is nothing special about this power; it's mere electricity, \ - and can be harnessed in several ways.

" - dat += "To begin with, if there is no other source of power nearby, structures will draw from the area's APC, assuming it has one. This is inefficient and ill-advised as \ - anything but a last resort. Instead, it is recommended that a Sigil of Transmission is created. This sigil serves as both battery and power generator for nearby clockwork \ - structures, and those structures will happily draw power from the sigil before they resort to APCs.

" - dat += "Generating power is less easy. The most reliable and efficient way is using brass sheets; attacking a sigil of transmission with brass sheets will convert them \ - to power, at a rate of [DisplayPower(POWER_FLOOR)] per sheet. (Brass sheets are created from replica fabricators, which are explained more in detail in the Conversion section.) \ - Activating a sigil of transmission will also cause it to drain power from the nearby area, which, while effective, serves as an obvious tell that there is something wrong.

" - dat += "Without power, many structures will not function, making a base vulnerable to attack. For this reason, it is critical that you keep an eye on your power reserves and \ - ensure that they remain comfortably high.

" - dat += "-=-=-=-=-=-" - if("Conversion") - dat += "Growing the Ranks

" - dat += "Because the Servants of Ratvar are a cult, the main method to gain more power is to \"enlighten\" normal crew into new Servants. When a crewmember is converted, \ - they become a full-fledged Servant, ready and willing to serve the cause of Ratvar. It should also be noted that silicon crew, such as cyborgs and the AI, can be \ - converted just like normal crew and will gain special abilities; this is covered later. This section will also cover converting the station's structure itself; walls, \ - floors, windows, tables, and other objects can all be converted into clockwork versions, and serve an important purpose.

" - dat += "A Note on Geis: There are several ways to convert humans and silicons. However, the most important tool to making them work is \ - Geis, a Driver-tier scripture. Using it whispers an invocation very quickly and charges your slab with power. In addition to making the slab visible in your hand, \ - you can now use it on a target within melee range to bind and mute them. It is by far your most reliable tool for capturing potential converts and targets, though it is incredibly \ - obvious. In addition, you are unable to take any actions other than moving while your target is bound. The binding will last for 25 seconds and mute for about 13 seconds, though \ - allies can use Geis to refresh these effects.

" - dat += "Converting: The two methods of conversion are the sigil of submission, whose purpose is to do so, and the mania motor. \ - The sigil of submission is a sigil that, when stood on by a non-Servant for eight seconds, will convert that non-Servant. This is the only practical way to convert targets. \ - Sigils of submission are cheap, early, and permanent! Make sure sigils of submission are placed only in bases or otherwise hidden spots, or with a sigil of transgression on them. \ - The mania motor, however, is generally unreliable and unlocked later, only converting those who stand near it for an extended period.

" - dat += "Converting Humans: For obvious reasons, humans are the most common conversion target. Because every crew member is different, and \ - may be armed with different equipment, you should take precautions to ensure that they aren't able to resist. If able, removing a headset is essential, as is restraining \ - them through handcuffs, cable ties, or other restraints. Some crew, like security, are also implanted with mindshield implants; these will prevent conversion and must be \ - surgically removed before they are an eligible convert. Note: The captain is never an eligible convert and should instead be killed or imprisoned. If security \ - begins administering mindshield implants, this will greatly inhibit conversion. Also note that mindshield implants can be broken by a sigil of accession automatically, but \ - the sigil will disappear.

" - dat += "Converting Silicons: Due to their robotic nature, silicons are generally more predictable than humans in terms of conversion. \ - However, they are also much, much harder to subdue, especially cyborgs. The easiest way to convert a cyborg is by using Geis to restrain them, then dragging them to a sigil \ - of submission. If you stack a sigil of transgression and a sigil of submission, a crossing cyborg will be stunned and helpless to escape before they are converted.

" - dat += "Converting AIs is very often the hardest task of the cult, and has been the downfall of countless successful Servants. Their omnipresence across the station, \ - coupled with their secure location and ability to lock themselves securely, makes them a powerful target. However, once the AI itself is reached, it is usually completely \ - helpless to resist its own conversion. A very common tactic is to take advantage of a converted cyborg to rush the AI before it is able to react.

" - dat += "Even once an AI is converted, care must be taken to ensure that it remains hidden. Not only does the AI's core become brassy and thus obvious to an outside \ - observer, but the AI loses the ability to speak in anything but Ratvarian. For this reason, it has to remain completely silent over common radio channels if stealth \ - is at all a priority. This is suspicious and will rapidly lead to the crew checking on it, which usually results in the cult's outing. It is, however, necessary to convert \ - all AIs present on the station before the Ark becomes invokable, so this must be done at some point.

" - dat += "Converting the Station: Converted objects all serve a purpose and are important to the cult's success. To convert objects, \ - a Servant needs to use a replica fabricator, a handheld tool that uses power to replace objects with clockwork versions. Different clockwork objects have different \ - effects and are often crucial. The most noteworthy are clockwork walls, which automatically \"link\" to any nearby Tinkerer's Caches, causing them to slowly \ - generate components. This is incredibly useful for obvious reasons, and creating a clockwork wall near every Tinkerer's Cache should be prioritized. Clockwork floors \ - will slowly heal any toxin damage suffered by Servants standing on them, and clockwork airlocks can only be opened by Servants.

" - dat += "The replica fabricator itself is also worth noting. In addition to replacing objects, it can also create brass sheets at the cost of power by using the \ - fabricator in-hand. It can also be used to repair any damaged clockwork structures.

" - dat += "Replacing objects is almost as, if not as important as, converting new Servants. A base is impossible to manage without clockwork walls at the very least, and \ - once the cult has been outed and the crew are actively searching, there is little reason not to use as many as possible.

" - dat += "-=-=-=-=-=-" - else - dat += "404: [section ? section : "Section"] Not Found!

\ - One of the cogscarabs must've misplaced this section, because the game wasn't able to find any info regarding it. Report this to the coders!" - return "

[dat.Join()]

" //Gets the quickbound scripture as a text block. /obj/item/clockwork/slab/proc/get_recollection_quickbinds() var/list/dat = list() - dat += "Quickbound Scripture
\ - You can have up to five scriptures bound to action buttons for easy use.

" + dat += " Quickbound Scripture\ + You can have up to five scriptures bound to action buttons for easy use." if(LAZYLEN(quickbound)) for(var/i in 1 to maximum_quickbound) if(LAZYLEN(quickbound) < i || !quickbound[i]) - dat += "A Quickbind slot, currently set to Nothing.
" + dat += "A Quickbind slot, currently set to >Nothing." else var/datum/clockwork_scripture/quickbind_slot = quickbound[i] - dat += "A Quickbind slot, currently set to [initial(quickbind_slot.name)].
" + dat += "A Quickbind slot, currently set to [initial(quickbind_slot.name)]." return dat.Join() /obj/item/clockwork/slab/ui_data(mob/user) //we display a lot of data via TGUI var/list/data = list() - data["power"] = DisplayPower(get_clockwork_power()) + data["power"] = get_clockwork_power() data["scriptures"] = list() for(var/s in GLOB.all_scripture) var/datum/clockwork_scripture/S = GLOB.all_scripture[s] var/scripture_color = get_component_color_bright(S.primary_component) - var/list/temp_info = list("name" = "[S.name]", - "descname" = "([S.descname])", + var/list/temp_info = list("name" = "[S.name]", + "descname" = "[S.descname]", "tip" = "[S.desc]\n[S.usage_tip]", "required" = "([DisplayPower(S.power_cost)][S.special_power_text ? "+ [replacetext(S.special_power_text, "POWERCOST", "[DisplayPower(S.special_power_cost)]")]" : ""])", "type" = "[S.type]", "quickbind" = S.quickbind) if(S.important) - temp_info["name"] = "[temp_info["name"]]" + temp_info["name"] = "[temp_info["name"]]" var/found = quickbound.Find(S.type) if(found) - temp_info["bound"] = "[found]" + temp_info["bound"] = "[found]" if(S.invokers_required > 1) - temp_info["invokers"] = "Invokers: [S.invokers_required]" + temp_info["invokers"] = "Invokers: [S.invokers_required]" data["scripture"] += list(temp_info) return data /obj/item/clockwork/slab/ui_static_data(mob/user) var/list/data = list() - data["tier_info"] = "These scriptures are permanently unlocked." + data["tier_info"] = "These scriptures are permanently unlocked." data["selected"] = selected_scripture - data["scripturecolors"] = "Scriptures in yellow are related to construction and building.
\ - Scriptures in red are related to attacking and offense.
\ - Scriptures in blue are related to healing and defense.
\ - Scriptures in purple are niche but still important!
\ - Scriptures with italicized names are important to success." + data["scripturecolors"] = "Scriptures in yellow are related to construction and building.\ + Scriptures in red are related to attacking and offense.\ + Scriptures in blue are related to healing and defense.\ + Scriptures in purple are niche but still important!\ + Scriptures with italicized names are important to success." generate_all_scripture() data["recollection"] = recollecting data["recollection_categories"] = GLOB.ratvar_awakens ? list() : list(\ @@ -502,7 +340,7 @@ if("rec_category") recollection_category = params["category"] ui_interact(usr) - return 1 + return TRUE /obj/item/clockwork/slab/proc/quickbind_to_slot(datum/clockwork_scripture/scripture, index) //takes a typepath(typecast for initial()) and binds it to a slot if(!ispath(scripture) || !scripture || (scripture in quickbound))