mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-11 07:58:57 +01:00
Fix indentations (#17481)
* cbt * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * fsadffsda sad * sadfasd * jhn * dsfa * saf * safsad * sda
This commit is contained in:
@@ -46,8 +46,10 @@
|
||||
violent = ""
|
||||
|
||||
var/temperature_text = "([temperature - (T0C + 20)]C)"
|
||||
admin_attack_log(attacker,
|
||||
victim,
|
||||
"used \the [I] to [violent]inject - [reagents] [temperature_text] - [amount_transferred]u transferred",
|
||||
"was [violent]injected with \the [I] - [reagents] [temperature_text] - [amount_transferred]u transferred",
|
||||
"used \the [I] to [violent]inject [reagents] [temperature_text] ([amount_transferred]u transferred) into")
|
||||
admin_attack_log(
|
||||
attacker,
|
||||
victim,
|
||||
"used \the [I] to [violent]inject - [reagents] [temperature_text] - [amount_transferred]u transferred",
|
||||
"was [violent]injected with \the [I] - [reagents] [temperature_text] - [amount_transferred]u transferred",
|
||||
"used \the [I] to [violent]inject [reagents] [temperature_text] ([amount_transferred]u transferred) into"
|
||||
)
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
create_object_html = file2text('html/create_object.html')
|
||||
create_object_html = replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
|
||||
|
||||
user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=600x600")
|
||||
user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=600x600")
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
link = "'[sanitizeSQL(link)]'"
|
||||
else
|
||||
link = "NULL"
|
||||
|
||||
|
||||
var/sql_ckey = sanitizeSQL(ckey)
|
||||
var/question = input("Write your question","Question") as message
|
||||
if(!question)
|
||||
@@ -139,4 +139,4 @@
|
||||
if("Add option")
|
||||
add_option = 1
|
||||
if("Finish")
|
||||
add_option = 0
|
||||
add_option = 0
|
||||
|
||||
@@ -78,4 +78,4 @@
|
||||
|
||||
switch(alert("Are you sure? (This will cause masive lag!!!)", "Map Capture", "No", "Yes"))
|
||||
if("Yes")
|
||||
usr.client.holder.capture_map_capture_next(tz, 1, 1, ligths)
|
||||
usr.client.holder.capture_map_capture_next(tz, 1, 1, ligths)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if (SSticker.mode)
|
||||
if (SSticker.mode)
|
||||
alert("The game mode is [SSticker.mode.name]")
|
||||
else
|
||||
else
|
||||
alert("For some reason there's a ticker, but not a game mode")
|
||||
|
||||
@@ -166,11 +166,9 @@ var/global/list/ticket_panels = list()
|
||||
return
|
||||
|
||||
var/DBQuery/Q = dbcon.NewQuery({"INSERT INTO ss13_tickets
|
||||
(game_id, message_count, admin_count, admin_list, opened_by, taken_by,
|
||||
closed_by, response_delay, opened_at, closed_at)
|
||||
(game_id, message_count, admin_count, admin_list, opened_by, taken_by, closed_by, response_delay, opened_at, closed_at)
|
||||
VALUES
|
||||
(:g_id:, :m_count:, :a_count:, :a_list:, :opened_by:, :taken_by:,
|
||||
:closed_by:, :delay:, :opened_at:, :closed_at:)"})
|
||||
(:g_id:, :m_count:, :a_count:, :a_list:, :opened_by:, :taken_by:, :closed_by:, :delay:, :opened_at:, :closed_at:)"})
|
||||
Q.Execute(list(
|
||||
"g_id" = game_id,
|
||||
"m_count" = length(msgs),
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_DEV))
|
||||
return
|
||||
|
||||
|
||||
if(istype(usr, /mob/abstract/new_player))
|
||||
return
|
||||
|
||||
|
||||
@@ -26,4 +26,4 @@
|
||||
|
||||
feedback_add_details("admin_verb","CNT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
else
|
||||
to_chat(src, "<span class='warning'>NTSL2+ Daemon is already connected.</span>")
|
||||
to_chat(src, "<span class='warning'>NTSL2+ Daemon is already connected.</span>")
|
||||
|
||||
@@ -273,10 +273,10 @@ Ccomp's first proc.
|
||||
if(G.has_enabled_antagHUD && config.antag_hud_restricted)
|
||||
var/response = alert(src, "Are you sure you wish to allow this individual to play?","Ghost has used AntagHUD","Yes","No")
|
||||
if(response == "No") return
|
||||
G.timeofdeath=-19999 /* time of death is checked in /mob/verb/abandon_mob() which is the Respawn verb.
|
||||
timeofdeath is used for bodies on autopsy but since we're messing with a ghost I'm pretty sure
|
||||
there won't be an autopsy.
|
||||
*/
|
||||
|
||||
/* time of death is checked in /mob/verb/abandon_mob() which is the Respawn verb.
|
||||
timeofdeath is used for bodies on autopsy but since we're messing with a ghost I'm pretty sure there won't be an autopsy.*/
|
||||
G.timeofdeath=-19999
|
||||
var/datum/preferences/P
|
||||
|
||||
if (G.client)
|
||||
|
||||
@@ -64,11 +64,11 @@
|
||||
<a id='refresh' data-initial-href='?_src_=vars;datumrefresh=\ref[D];search=' href='?_src_=vars;datumrefresh=\ref[D];search=[search]'>Refresh</a>
|
||||
<form>
|
||||
<select name='file'
|
||||
size='1'
|
||||
onchange='loadPage(this.form.elements\[0\])'
|
||||
target='_parent._top'
|
||||
onmouseclick='this.focus()'
|
||||
style='background-color:#ffffff'>
|
||||
size='1'
|
||||
onchange='loadPage(this.form.elements\[0\])'
|
||||
target='_parent._top'
|
||||
onmouseclick='this.focus()'
|
||||
style='background-color:#ffffff'>
|
||||
<option>Select option</option>
|
||||
<option />
|
||||
<option value='?_src_=vars;mark_object=\ref[D]'>Mark Object</option>
|
||||
@@ -95,12 +95,12 @@
|
||||
</td>
|
||||
<td width='80%'>
|
||||
<input type='text'
|
||||
id='filter'
|
||||
name='filter_text'
|
||||
value='[search]'
|
||||
onkeyup='updateSearch()'
|
||||
onchange='updateSearch()'
|
||||
style='width:100%;' />
|
||||
id='filter'
|
||||
name='filter_text'
|
||||
value='[search]'
|
||||
onkeyup='updateSearch()'
|
||||
onchange='updateSearch()'
|
||||
style='width:100%;' />
|
||||
</td>
|
||||
</tr></table>
|
||||
<hr/>
|
||||
|
||||
@@ -22,4 +22,4 @@
|
||||
|
||||
// If true is an object that can hold an assemblyholder object
|
||||
/obj/proc/IsAssemblyHolder()
|
||||
return FALSE
|
||||
return FALSE
|
||||
|
||||
@@ -35,4 +35,4 @@
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/device/assembly/igniter/isFlameSource()
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// CDN Webroot asset transport.
|
||||
/// CDN Webroot asset transport.
|
||||
/datum/asset_transport/webroot
|
||||
name = "CDN Webroot asset transport"
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
if (!islist(asset_list))
|
||||
asset_list = list(asset_list)
|
||||
for (var/asset_name in asset_list)
|
||||
var/datum/asset_cache_item/ACI = asset_list[asset_name]
|
||||
var/datum/asset_cache_item/ACI = asset_list[asset_name]
|
||||
if (!istype(ACI))
|
||||
ACI = SSassets.cache[asset_name]
|
||||
if (!ACI)
|
||||
@@ -69,7 +69,7 @@
|
||||
legacy_assets[asset_name] = ACI
|
||||
if (length(legacy_assets))
|
||||
. = ..(client, legacy_assets)
|
||||
|
||||
|
||||
|
||||
/// webroot slow asset sending - does nothing.
|
||||
/datum/asset_transport/webroot/send_assets_slow(client/client, list/files, filerate)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
//--------------------------------------------
|
||||
// Omni port datum
|
||||
//
|
||||
// Used by omni devices to manage connections
|
||||
// Used by omni devices to manage connections
|
||||
// to other atmospheric objects.
|
||||
//--------------------------------------------
|
||||
/datum/omni_port
|
||||
@@ -71,10 +71,10 @@
|
||||
string = "East"
|
||||
if(WEST)
|
||||
string = "West"
|
||||
|
||||
|
||||
if(!capitalize && string)
|
||||
string = lowertext(string)
|
||||
|
||||
|
||||
return string
|
||||
|
||||
//returns a direction flag based on the string passed to it
|
||||
@@ -108,4 +108,4 @@
|
||||
if(ATM_H2)
|
||||
return GAS_HYDROGEN
|
||||
else
|
||||
return null
|
||||
return null
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"power" = use_power,
|
||||
"volume_rate" = volume_rate,
|
||||
"sigtype" = "status"
|
||||
)
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
|
||||
|
||||
@@ -387,8 +387,8 @@
|
||||
update_icon()
|
||||
playsound(src, 'sound/items/welder_pry.ogg', 50, 1)
|
||||
user.visible_message(SPAN_NOTICE("\The [user] [welded ? "welds \the [src] shut" : "unwelds \the [src]"]."), \
|
||||
SPAN_NOTICE("You [welded ? "weld \the [src] shut" : "unweld \the [src]"]."), \
|
||||
"You hear welding.")
|
||||
SPAN_NOTICE("You [welded ? "weld \the [src] shut" : "unweld \the [src]"]."), \
|
||||
"You hear welding.")
|
||||
else
|
||||
to_chat(user, SPAN_NOTICE("You fail to complete the welding."))
|
||||
else
|
||||
|
||||
@@ -342,8 +342,8 @@
|
||||
welded = !welded
|
||||
update_icon()
|
||||
user.visible_message(SPAN_NOTICE("\The [user] [welded ? "welds \the [src] shut" : "unwelds \the [src]"]."), \
|
||||
SPAN_NOTICE("You [welded ? "weld \the [src] shut" : "unweld \the [src]"]."), \
|
||||
"You hear welding.")
|
||||
SPAN_NOTICE("You [welded ? "weld \the [src] shut" : "unweld \the [src]"]."), \
|
||||
"You hear welding.")
|
||||
return TRUE
|
||||
|
||||
if(istype(W, /obj/item/melee/arm_blade))
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
|
||||
for(var/datum/pipeline/line_member in line_members)
|
||||
gases += line_member.air
|
||||
|
||||
|
||||
for(var/datum/gas_mixture/air in gases)
|
||||
volume += air.volume
|
||||
|
||||
|
||||
@@ -206,16 +206,16 @@
|
||||
/datum/pipeline/proc/radiate_heat_to_space(surface, thermal_conductivity)
|
||||
var/gas_density = air.total_moles/air.volume
|
||||
thermal_conductivity *= min(gas_density / ( RADIATOR_OPTIMUM_PRESSURE/(R_IDEAL_GAS_EQUATION*GAS_CRITICAL_TEMPERATURE) ), 1) //mult by density ratio
|
||||
|
||||
|
||||
// We only get heat from the star on the exposed surface area.
|
||||
// If the HE pipes gain more energy from AVERAGE_SOLAR_RADIATION than they can radiate, then they have a net heat increase.
|
||||
var/heat_gain = AVERAGE_SOLAR_RADIATION * (RADIATOR_EXPOSED_SURFACE_AREA_RATIO * surface) * thermal_conductivity
|
||||
|
||||
|
||||
// Previously, the temperature would enter equilibrium at 26C or 294K.
|
||||
// Only would happen if both sides (all 2 square meters of surface area) were exposed to sunlight. We now assume it aligned edge on.
|
||||
// It currently should stabilise at 129.6K or -143.6C
|
||||
heat_gain -= surface * STEFAN_BOLTZMANN_CONSTANT * thermal_conductivity * (air.temperature - COSMIC_RADIATION_TEMPERATURE) ** 4
|
||||
|
||||
|
||||
air.add_thermal_energy(heat_gain)
|
||||
if(network)
|
||||
network.update = 1
|
||||
|
||||
@@ -1388,7 +1388,7 @@
|
||||
air_temporary.temperature = T20C
|
||||
|
||||
air_temporary.adjust_multi(GAS_OXYGEN, (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \
|
||||
GAS_NITROGEN,(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
GAS_NITROGEN,(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature))
|
||||
|
||||
|
||||
. = ..()
|
||||
|
||||
@@ -35,4 +35,4 @@
|
||||
|
||||
//we don't want the silly text overlay!
|
||||
/obj/item/paper/pamphlet/update_icon()
|
||||
return
|
||||
return
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
// var/value = null
|
||||
|
||||
if (pos)
|
||||
// No, don't do lowertext here, that breaks paths on linux
|
||||
// No, don't do lowertext here, that breaks paths on linux
|
||||
name = copytext(t, 1, pos)
|
||||
// value = copytext(t, pos + 1)
|
||||
else
|
||||
// No, don't do lowertext here, that breaks paths on linux
|
||||
// No, don't do lowertext here, that breaks paths on linux
|
||||
name = t
|
||||
|
||||
if (!name)
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
var/name
|
||||
var/description = "Unga Dunga."
|
||||
var/tag_icon //those icons should go in accent_tags.dmi
|
||||
var/text_tag //Each accent should have a text tag. These are used in cases such as 4K monitors where tag icons cannot be displayed properly.
|
||||
var/text_tag //Each accent should have a text tag. These are used in cases such as 4K monitors where tag icons cannot be displayed properly.
|
||||
|
||||
@@ -34,20 +34,20 @@
|
||||
description = "Found exclusively in Dionae hailing from the Unathi-Dominated world of Moghes, Sandsong is a distinct variation of Rootsong notable for having its tempo much more drawn out, with tones of higher pitches especially having a much more exaggerated sound. Dionae speaking with the Sandsong accent will typically hold certain speech patterns held by Unathi such as hissing out their S’s and difficulties pronouncing the letter X. "
|
||||
tag_icon = "dionae_sandsong"
|
||||
text_tag = "SDS"
|
||||
|
||||
|
||||
/datum/accent/wastesong
|
||||
name = ACCENT_WASTESONG
|
||||
description = "Originating from the irradiated Moghes Wastes, Wastesong is an accent spoken by Dionae who found themselves being bathed in the Wasteland’s radiation, making them healthy and much more resilient than some of their other planet-bound brethren, but also giving them a slightly distinct accent notable for having a lower-pitched voice compared to regular Rootsong but also a much faster tempo. Much like Sandsong, Dionae with the Wasteland accent will typically carry similar speech patterns to Unathi such as hissing out their S’s."
|
||||
tag_icon = "dionae_wastesong"
|
||||
text_tag = "WES"
|
||||
|
||||
|
||||
//Skrell influenced Accents
|
||||
/datum/accent/wavesong
|
||||
name = ACCENT_WAVESONG
|
||||
description = "A variant of Rootsong originating from Diona born on Skrellian worlds, Wavesong is considered the general accent for Dionae hailing from the Nralakk Federation. While it shares many similarities with Rootsong, Wavesong sets itself apart by having a lower pitch and more drawn-out tempo in comparison. While not considered mandatory, many Dionae living in the Federation will adopt the accent due to it being generally more favored by the Federation, often granting those with the accent a higher social credit score."
|
||||
tag_icon = "dionae_wavesong"
|
||||
text_tag = "WAS"
|
||||
|
||||
|
||||
/datum/accent/sunkensong
|
||||
name = ACCENT_SUNKENSONG
|
||||
description = "Sunkensong is a variant of Voidsong that is common for space-borne Dionae hailing from regions surrounding the Tri-Qyu Nebula. Known for it's lighter pitch and tone, along with it's consistent, even pacing for words, the accent is prevalent amongst Nralakk Federation Diona that originate from wild, voidbound gestalts. Dionae with Sunkensong may attempt to mimic Skrell accents in an attempt to replicate the more popular Starsong, with mixed results."
|
||||
|
||||
@@ -89,6 +89,6 @@
|
||||
/datum/accent/skrell/EUM
|
||||
name = ACCENT_SKRELLEUM
|
||||
description = "The Nral'Daaq accent draws from the accents of migrating Skrell from the Federation as well as elements of rootsong from the local Dionae population, creating a sing-song accent with \
|
||||
melodic highs and lows. The accent has been compared to the Aweijiin accent, but it does not have the same reputation as it is not used by idols."
|
||||
melodic highs and lows. The accent has been compared to the Aweijiin accent, but it does not have the same reputation as it is not used by idols."
|
||||
tag_icon = "skrell_nraldaaq"
|
||||
text_tag = "NDQ"
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
/datum/accent/zora
|
||||
name = ACCENT_ZORA
|
||||
description = "Zo'rane is the modern day dialect of the Zo'ra Hive, composed of cheap Biesellite voice modulators that manage to sway most voices \
|
||||
into a more gender neutral tone, while retaining a distinct alien dialect. To other Vaurcae, this accent is reminiscent of the authority the Zo'ra held - \
|
||||
regal and noble. Their vocal augments stereotypically have difficulty, typically when producing sounds related to the letter 's', instead substituting with \
|
||||
a harsh buzzing in the throat."
|
||||
tag_icon = "zora"
|
||||
text_tag = "ZOR"
|
||||
name = ACCENT_ZORA
|
||||
description = "Zo'rane is the modern day dialect of the Zo'ra Hive, composed of cheap Biesellite voice modulators that manage to sway most voices \
|
||||
into a more gender neutral tone, while retaining a distinct alien dialect. To other Vaurcae, this accent is reminiscent of the authority the Zo'ra held - \
|
||||
regal and noble. Their vocal augments stereotypically have difficulty, typically when producing sounds related to the letter 's', instead substituting with \
|
||||
a harsh buzzing in the throat."
|
||||
tag_icon = "zora"
|
||||
text_tag = "ZOR"
|
||||
|
||||
/datum/accent/klax
|
||||
name = ACCENT_KLAX
|
||||
description = "K'laxane is the modern day dialect of the K'lax Hive. Primitive modulators manage to capture a similarity to the \
|
||||
peasantry of the Izweski Hegemony on Moghes - however, they do not fully replicate it, retaining a more drawn out and dreamy tone. To other Vaurcae, this is \
|
||||
a more subservient manner of speaking, akin to how Bound tend to draw out their thoughts - a common trait instilled in most vassal hives as a brand. Their \
|
||||
vocal augments stereotypically have difficulty, typically when producing sounds related to the letter 's', instead substituting with a harsh buzzing in the \
|
||||
throat - the K'lax experience less of this - no Unathi would be content listening to a Vaurca buzz incessantly when trying to hiss a sentence in the \
|
||||
Hegemonic tongue."
|
||||
tag_icon = "klax"
|
||||
text_tag = "KLA"
|
||||
name = ACCENT_KLAX
|
||||
description = "K'laxane is the modern day dialect of the K'lax Hive. Primitive modulators manage to capture a similarity to the \
|
||||
peasantry of the Izweski Hegemony on Moghes - however, they do not fully replicate it, retaining a more drawn out and dreamy tone. To other Vaurcae, this is \
|
||||
a more subservient manner of speaking, akin to how Bound tend to draw out their thoughts - a common trait instilled in most vassal hives as a brand. Their \
|
||||
vocal augments stereotypically have difficulty, typically when producing sounds related to the letter 's', instead substituting with a harsh buzzing in the \
|
||||
throat - the K'lax experience less of this - no Unathi would be content listening to a Vaurca buzz incessantly when trying to hiss a sentence in the \
|
||||
Hegemonic tongue."
|
||||
tag_icon = "klax"
|
||||
text_tag = "KLA"
|
||||
|
||||
/datum/accent/cthur
|
||||
name = ACCENT_CTHUR
|
||||
description = "C'thuric is the modern day dialect of the C'thur Hive, a sly and sneering take on the unyielding Nral'Malic. Other Vaurcae would associate this tone with the \
|
||||
name = ACCENT_CTHUR
|
||||
description = "C'thuric is the modern day dialect of the C'thur Hive, a sly and sneering take on the unyielding Nral'Malic. Other Vaurcae would associate this tone with the \
|
||||
C'thur's infamous past deeds. Modulators are unfortunately still cheap, leading to a monotone method of speaking. \
|
||||
Voices are also warped into being clear and concise, many C'thur adopting a blunt and to-the-point style when speaking casually. \
|
||||
Their vocal augments stereotypically have difficulty, typically when producing sounds related to the letter 's', instead \
|
||||
substituting with a harsh buzzing in the throat."
|
||||
tag_icon = "cthur"
|
||||
text_tag = "CTH"
|
||||
substituting with a harsh buzzing in the throat."
|
||||
tag_icon = "cthur"
|
||||
text_tag = "CTH"
|
||||
|
||||
/datum/accent/liidra
|
||||
name = ACCENT_LIIDRA
|
||||
description = "The Lii'dra speech, as understood by those that have heard the Hivemind and live to tell, is characterized by a monotonous voice that sounds \
|
||||
even more robotic than the modulators used by other Hives. It is believed to be a modified technology reverse engineered from stolen \
|
||||
Zo'rane modulators. While, with its flaws, the Zo'ra accent might sound quirky to some, it is often said that this is to add more personality to each \
|
||||
individual. Since the Lii'dra do not think of themselves as individuals, these variations were deemed useless. The Connected will often speak of themselves in plural, while the Disconnected \
|
||||
are prone to using the first person when referring to others."
|
||||
tag_icon = "liidra"
|
||||
text_tag = "LII"
|
||||
name = ACCENT_LIIDRA
|
||||
description = "The Lii'dra speech, as understood by those that have heard the Hivemind and live to tell, is characterized by a monotonous voice that sounds \
|
||||
even more robotic than the modulators used by other Hives. It is believed to be a modified technology reverse engineered from stolen \
|
||||
Zo'rane modulators. While, with its flaws, the Zo'ra accent might sound quirky to some, it is often said that this is to add more personality to each \
|
||||
individual. Since the Lii'dra do not think of themselves as individuals, these variations were deemed useless. The Connected will often speak of themselves in plural, while the Disconnected \
|
||||
are prone to using the first person when referring to others."
|
||||
tag_icon = "liidra"
|
||||
text_tag = "LII"
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
/datum/citizenship/eum
|
||||
name = CITIZENSHIP_EUM
|
||||
description = "Initially discovered by Skrell probes in 2342, Epsilon Ursea Minoris, or generally referred \
|
||||
to as EUM, is a habitable world home to multiple Dionae civilizations and clusters. While not the homeworld \
|
||||
of the species, EUM is the largest-known world to have been colonized exclusively by Dionae without contact \
|
||||
or help from outside species, being home to the Dionae for thousands of years prior to discovery."
|
||||
|
||||
to as EUM, is a habitable world home to multiple Dionae civilizations and clusters. While not the homeworld \
|
||||
of the species, EUM is the largest-known world to have been colonized exclusively by Dionae without contact \
|
||||
or help from outside species, being home to the Dionae for thousands of years prior to discovery."
|
||||
|
||||
job_species_blacklist = list(
|
||||
"Consular Officer" = list(
|
||||
SPECIES_HUMAN,
|
||||
SPECIES_HUMAN_OFFWORLD,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_SKRELL,
|
||||
SPECIES_IPC,
|
||||
SPECIES_IPC_BISHOP,
|
||||
SPECIES_IPC_G1,
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
name = CITIZENSHIP_SOL
|
||||
description = "Once considered a juggernaut in terms of cultural and political influence, the Alliance of Sovereign Solarian Nations (ASSN), commonly referred to as the Sol Alliance, has greatly declined in the wake of the phoron crisis and the Solarian collapse of 2462. \
|
||||
Once the spur's largest interstellar power, in recent times the Sol Alliance has retreated to its wealthy so-called Jewel Worlds and inner colonies, with its reach barely extending to a few select middle colonies. \
|
||||
However, it still controls the largest human military in the entire spur, and their cooperation with Einstein Engines and the Nralakk Federation has contributed to it gradually regaining some of its pre-collapse influence and power. \
|
||||
However, it still controls the largest human military in the entire spur, and their cooperation with Einstein Engines and the Nralakk Federation has contributed to it gradually regaining some of its pre-collapse influence and power. \
|
||||
Presently ruled by a military junta that is gradually giving way to civilian control, the Alliance is also generally xenophobic, and most non-humans find themselves discriminated against in Solarian territory. \
|
||||
Though much of its former possessions are now occupied by warlord statelets and other interstellar powers, the Alliance still maintains a revanchist outlook, refusing to relinquish its claims to its lost territories."
|
||||
consular_outfit = /datum/outfit/job/representative/consular/sol
|
||||
|
||||
@@ -19,28 +19,28 @@
|
||||
possible_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG, ACCENT_ANCIENTSONG, ACCENT_IRONSONG, ACCENT_WAVESONG, ACCENT_SUNKENSONG, ACCENT_STARSONG)
|
||||
possible_citizenships = list(CITIZENSHIP_NRALAKK, CITIZENSHIP_EUM, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION)
|
||||
possible_religions = list(RELIGION_ETERNAL, RELIGION_MADA, RELIGION_GLEANERS, RELIGION_OTHER, RELIGION_NONE)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/united
|
||||
name = "United"
|
||||
desc = "Widely considered the capital of the CT-EUM, the city-state of United is the newest independent nation, formed alongside the formation of the CT-EUM, to act as a neutral meeting place for the Council of Delegates, and to represent the central governing body, as well as acting as a mediator between the two other city-states should a conflict arise. United is the second most-visited city on EUM after Nral'Daaq, and has influence from both off-world and the other city-states in its structure, and operation."
|
||||
possible_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG, ACCENT_ANCIENTSONG, ACCENT_IRONSONG, ACCENT_WAVESONG, ACCENT_SUNKENSONG, ACCENT_STARSONG)
|
||||
possible_citizenships = list(CITIZENSHIP_NRALAKK, CITIZENSHIP_EUM, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION)
|
||||
possible_religions = list(RELIGION_ETERNAL, RELIGION_MADA, RELIGION_GLEANERS, RELIGION_OTHER, RELIGION_NONE)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/gleaners
|
||||
name = "Gleaners Of Bliss"
|
||||
desc = "The Gleaners of Bliss is a large, religious city-state that is known for its imperialistic attitude. The Gleaners emphasize harmony and equality, but are not above making sure that it aligns to their specific ideals, however. The Gleaners are among the oldest of the city-states and were one of the first to put forth the idea of the CT-EUM on first contact. Before, and during, its inception, the Gleaners have expanded their influence on numerous other city-states, both in and out of the CT-EUM. Now, the Gleaners are the most outspoken proponents of expanding the CT-EUM offworld. Their emphasis on equality and harmony however, are criticized because of this, and the Gleaners are often seen as a very hypocritical city-state."
|
||||
possible_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG, ACCENT_ANCIENTSONG, ACCENT_IRONSONG)
|
||||
possible_citizenships = list(CITIZENSHIP_NRALAKK, CITIZENSHIP_EUM, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION)
|
||||
possible_religions = list(RELIGION_ETERNAL, RELIGION_GLEANERS, RELIGION_OTHER, RELIGION_NONE)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/nraldaaq
|
||||
name = "Nral'Daaq"
|
||||
desc = "Playing host to the vast majority of the planet's non-dionae population, Nral'Daaq is a city-state under the CT-EUM that is known for being the planet's hub of off-world trading, as well as for its quite diverse majority-skrell population, with both Pro-Federation and Anti-Federation Skrell calling the city home. Due to the city's border with the sea, Nral'Daaq is also a quite popular trading spot for the Ekane, with the vast majority of their goods ending up in the city to be later resold off-world. "
|
||||
possible_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG, ACCENT_ANCIENTSONG, ACCENT_IRONSONG, ACCENT_WAVESONG, ACCENT_SUNKENSONG, ACCENT_STARSONG)
|
||||
possible_citizenships = list(CITIZENSHIP_NRALAKK, CITIZENSHIP_EUM, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION)
|
||||
possible_religions = list(RELIGION_ETERNAL, RELIGION_MADA, RELIGION_GLEANERS, RELIGION_QEBLAK, RELIGION_WEISHII, RELIGION_SUURKA, RELIGION_KIRGUL, RELIGION_OTHER, RELIGION_NONE)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/mada
|
||||
name = "Mada"
|
||||
desc = "Primarily located in the great forests of the Mede Region on EUM, The Mada are a semi-independent nation under the CT-EUM known for their isolationist beliefs and their religious worship of nature, with a focus on plant life in particular. Rather than all be situated in one singular city, the Mada are fairly spread out in the region, inhabiting a myriad of small settlements. The Capital, Elder Mada, is the largest settlement under the Mada, but not by a large margin."
|
||||
@@ -54,7 +54,7 @@
|
||||
possible_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG, ACCENT_ANCIENTSONG, ACCENT_IRONSONG)
|
||||
possible_citizenships = list(CITIZENSHIP_NRALAKK, CITIZENSHIP_EUM, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION)
|
||||
possible_religions = list(RELIGION_ETERNAL, RELIGION_OTHER, RELIGION_NONE)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/eumstation
|
||||
name = "Celestial Station"
|
||||
desc = "The first and largest space-bound outpost established by the CT-EUM government, Celestial Station is notable as a major trading hub for EUM's nations, often being used as a large marketplace for potential sellers and buyers from both EUM and elsewhere to do business, as well as a hub for mining operations undertaken on nearby asteroids. While nominally under the direct control of the CT-EUM federal government, Celestial Station has as of late begun to make efforts to gain independence away from the Federal government's direct control as a colony, instead attempting to become a semi-independent city-state under the CT-EUM government much like the other city-states under it. "
|
||||
@@ -62,7 +62,7 @@
|
||||
possible_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG, ACCENT_ANCIENTSONG, ACCENT_IRONSONG, ACCENT_WAVESONG, ACCENT_SUNKENSONG, ACCENT_STARSONG)
|
||||
possible_citizenships = list(CITIZENSHIP_NRALAKK, CITIZENSHIP_EUM, CITIZENSHIP_BIESEL, CITIZENSHIP_COALITION)
|
||||
possible_religions = list(RELIGION_ETERNAL, RELIGION_MADA, RELIGION_GLEANERS, RELIGION_OTHER, RELIGION_NONE)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/eumminor
|
||||
name = "Minor City State"
|
||||
desc = "From a minor city-state under the CT-EUM. "
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/singleton/origin_item/origin/b_block,
|
||||
/singleton/origin_item/origin/c_block
|
||||
)
|
||||
|
||||
|
||||
/singleton/origin_item/origin/a_block
|
||||
name = "A-block"
|
||||
desc = "The original Dionae of the ship, Dionae in A-Block serves as the third-highest rank in the ship's hierarchy and is considered to be some of the most efficient and experienced workers the ship has to offer. While they tend not to look down upon the other blocks for their lack of experience, they do consider themselves to be better workers. As a result of this A-block has actually begun to see a lack of personnel due to so many signing on to leave the ship and work elsewhere within Hephestatus as a way to show off the efficiency of Dionae from the Narrows."
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
/singleton/origin_item/culture/biesellite
|
||||
name = "Biesellite"
|
||||
desc = "Relatively new compared to other cultures across the Orion Spur, the Biesellite culture was forged from the fire borne by its independence. Since its inception, it has continued to evolve, especially with the recent expansion of the Republic of Biesel into the Solarian Alliance's Outer Ring after its abandonment during the collapse. Despite its recent acquisition, the Corporate Reconstruction Zone as it is now known has begun adjusting and blending their own cultures into the Biesellite way of life, those not bending the knee and aligning are often bastions of insurgency and unrest."
|
||||
possible_origins = list(
|
||||
/singleton/origin_item/origin/biesel,
|
||||
/singleton/origin_item/origin/new_gibson,
|
||||
/singleton/origin_item/origin/reade,
|
||||
/singleton/origin_item/origin/valkyrie
|
||||
)
|
||||
name = "Biesellite"
|
||||
desc = "Relatively new compared to other cultures across the Orion Spur, the Biesellite culture was forged from the fire borne by its independence. Since its inception, it has continued to evolve, especially with the recent expansion of the Republic of Biesel into the Solarian Alliance's Outer Ring after its abandonment during the collapse. Despite its recent acquisition, the Corporate Reconstruction Zone as it is now known has begun adjusting and blending their own cultures into the Biesellite way of life, those not bending the knee and aligning are often bastions of insurgency and unrest."
|
||||
possible_origins = list(
|
||||
/singleton/origin_item/origin/biesel,
|
||||
/singleton/origin_item/origin/new_gibson,
|
||||
/singleton/origin_item/origin/reade,
|
||||
/singleton/origin_item/origin/valkyrie
|
||||
)
|
||||
|
||||
/singleton/origin_item/origin/biesel
|
||||
name = "Biesel"
|
||||
desc = "One of the first colonies outside of the Sol System, Biesel has since flourished into an economic powerhouse within the greater Orion Spur. There exists no singular culture, but instead, a loose melting pot of multiculturalism exists where the only definable trait of Biesellite culture is that it doesn't have any. Most of Tau Ceti's inhabitants reside within Mendell City, a large metropolis that stretches across the plains of Biesel, and has various districts each with its own culture."
|
||||
possible_accents = list(ACCENT_CETI)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
name = "Biesel"
|
||||
desc = "One of the first colonies outside of the Sol System, Biesel has since flourished into an economic powerhouse within the greater Orion Spur. There exists no singular culture, but instead, a loose melting pot of multiculturalism exists where the only definable trait of Biesellite culture is that it doesn't have any. Most of Tau Ceti's inhabitants reside within Mendell City, a large metropolis that stretches across the plains of Biesel, and has various districts each with its own culture."
|
||||
possible_accents = list(ACCENT_CETI)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
|
||||
/singleton/origin_item/origin/new_gibson
|
||||
name = "New Gibson"
|
||||
desc = "New Gibson has suffered many tragedies throughout its history, leading to a hardened, communal society. While the multiculturalism that exists within the Republic of Biesel has also affected New Gibsonites, they are still far more reliant on their colonial roots compared to their Biesellite counterparts."
|
||||
important_information = "Due to the insular nature of the Undirstads of New Gibson, <b>characters hailing from them must have names and appearances consistent with the Nordic regions of Earth, the original colonists of the Undirstads.</b> Only those born in the Undirstads may take the Undirstad accent. This is enforceable by server moderation and admins."
|
||||
possible_accents = list(ACCENT_GIBSON_OVAN, ACCENT_GIBSON_UNDIR)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
name = "New Gibson"
|
||||
desc = "New Gibson has suffered many tragedies throughout its history, leading to a hardened, communal society. While the multiculturalism that exists within the Republic of Biesel has also affected New Gibsonites, they are still far more reliant on their colonial roots compared to their Biesellite counterparts."
|
||||
important_information = "Due to the insular nature of the Undirstads of New Gibson, <b>characters hailing from them must have names and appearances consistent with the Nordic regions of Earth, the original colonists of the Undirstads.</b> Only those born in the Undirstads may take the Undirstad accent. This is enforceable by server moderation and admins."
|
||||
possible_accents = list(ACCENT_GIBSON_OVAN, ACCENT_GIBSON_UNDIR)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
|
||||
/singleton/origin_item/origin/reade
|
||||
name = "Reade"
|
||||
desc = "Outposts dot the dozens of moons found in orbit of Reade, many dedicated to mineral extraction and refinement. However, within the upper atmosphere of the gas giant the engineering feat that is the Anemostrovilos exists. The gigantic floating metropolis has its industry focused on the extraction of important gases such as Hydrogen and Helium-3 required to fuel the Orion Spur's warpdrives and thrusters. Nearly anyone can be found in the outposts either in the upper atmosphere of Reade or across its many moons."
|
||||
possible_accents = list(ACCENT_CETI, ACCENT_GIBSON_OVAN, ACCENT_GIBSON_UNDIR, ACCENT_VALKYRIE)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
name = "Reade"
|
||||
desc = "Outposts dot the dozens of moons found in orbit of Reade, many dedicated to mineral extraction and refinement. However, within the upper atmosphere of the gas giant the engineering feat that is the Anemostrovilos exists. The gigantic floating metropolis has its industry focused on the extraction of important gases such as Hydrogen and Helium-3 required to fuel the Orion Spur's warpdrives and thrusters. Nearly anyone can be found in the outposts either in the upper atmosphere of Reade or across its many moons."
|
||||
possible_accents = list(ACCENT_CETI, ACCENT_GIBSON_OVAN, ACCENT_GIBSON_UNDIR, ACCENT_VALKYRIE)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
|
||||
/singleton/origin_item/origin/valkyrie
|
||||
name = "Valkyrie"
|
||||
desc = "Lighting up the night sky of Biesel, Valkyrie is an incredibly important port of trade within Tau Ceti, and hosts a significant amount of megacorporate facilities within its orbit, on its surface, as well as deep within the canyons and crevices. Valkyrie has not been spared by the multiculturalism that has dispersed across Tau Ceti, and actively encourages it through their incredibly relaxed immigration policies that allow for a remarkable amount of diversity to exist."
|
||||
possible_accents = list(ACCENT_VALKYRIE)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
name = "Valkyrie"
|
||||
desc = "Lighting up the night sky of Biesel, Valkyrie is an incredibly important port of trade within Tau Ceti, and hosts a significant amount of megacorporate facilities within its orbit, on its surface, as well as deep within the canyons and crevices. Valkyrie has not been spared by the multiculturalism that has dispersed across Tau Ceti, and actively encourages it through their incredibly relaxed immigration policies that allow for a remarkable amount of diversity to exist."
|
||||
possible_accents = list(ACCENT_VALKYRIE)
|
||||
possible_citizenships = list(CITIZENSHIP_BIESEL)
|
||||
possible_religions = RELIGIONS_BIESEL
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
origin_traits_descriptions = list("have a small resistance to radiation", "are more sensitive to bright lights")
|
||||
|
||||
/singleton/origin_item/origin/gadpathur/on_apply(var/mob/living/carbon/human/H)
|
||||
H.AddComponent(/datum/component/armor, list(rad = ARMOR_RAD_MINOR))
|
||||
H.AddComponent(/datum/component/armor, list(rad = ARMOR_RAD_MINOR))
|
||||
|
||||
/singleton/origin_item/origin/gadpathur_exile
|
||||
name = "Gadpathurian Exile"
|
||||
@@ -77,7 +77,7 @@
|
||||
origin_traits_descriptions = list("have a small resistance to radiation", "are more sensitive to bright lights")
|
||||
|
||||
/singleton/origin_item/origin/gadpathur_exile/on_apply(var/mob/living/carbon/human/H)
|
||||
H.AddComponent(/datum/component/armor, list(rad = ARMOR_RAD_MINOR))
|
||||
H.AddComponent(/datum/component/armor, list(rad = ARMOR_RAD_MINOR))
|
||||
|
||||
/singleton/origin_item/origin/assunzione
|
||||
name = "Republic of Assunzione"
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
/datum/religion/eternal
|
||||
name = RELIGION_ETERNAL
|
||||
description = "Followers of The Eternal believe that a primordial entity exists in Light, Energy and Essence - which the Dionae are the embodiment of. \
|
||||
They believe that the Dionae were made to ensure that all things born from the stars return to stars, eventually. Before they may return the Dionae must devour as much knowledge \
|
||||
and biomass as they can, growing exponentially until they reach the mythical Titan form, becoming a star once more. Transcended into a star, the Dionae will emit light and energy \
|
||||
until they die, at which point their essence will spread across the void to birth new Dionae. It is in this way that the eternal cycle is achieved. Scholars of the Eternal link \
|
||||
this to the very real potential outcome of Titan form Dionae which theoretically could grow to such mass as to collapse into a star, thus giving off light and energy before \
|
||||
eventually going supernova and expelling matter or essence across the cosmos."
|
||||
book_name = "book of the eternal"
|
||||
book_sprite = "eternal"
|
||||
|
||||
name = RELIGION_ETERNAL
|
||||
description = "Followers of The Eternal believe that a primordial entity exists in Light, Energy and Essence - which the Dionae are the embodiment of. \
|
||||
They believe that the Dionae were made to ensure that all things born from the stars return to stars, eventually. Before they may return the Dionae must devour as much knowledge \
|
||||
and biomass as they can, growing exponentially until they reach the mythical Titan form, becoming a star once more. Transcended into a star, the Dionae will emit light and energy \
|
||||
until they die, at which point their essence will spread across the void to birth new Dionae. It is in this way that the eternal cycle is achieved. Scholars of the Eternal link \
|
||||
this to the very real potential outcome of Titan form Dionae which theoretically could grow to such mass as to collapse into a star, thus giving off light and energy before \
|
||||
eventually going supernova and expelling matter or essence across the cosmos."
|
||||
book_name = "book of the eternal"
|
||||
book_sprite = "eternal"
|
||||
|
||||
/datum/religion/ksshr
|
||||
name = RELIGION_KSSHR
|
||||
description = "The Ksshr, also known as the Enlightened, is a religious sect on Xrim known for their complete rejection of The First Consciousness, instead of being an agnostic \
|
||||
sect that centers around working together to create a better future, as well as the advancement of technology and understanding how the universe works. The Ksshr faith is the \
|
||||
primary religion of Xrim, with most of its inhabitants considering themselves a part of the religion. The Nralakk Federation does encourage practicing the faith amongst the \
|
||||
population so long as they continue to reject The First Consciousness, as well as stay away from the teachings of the Shrkh."
|
||||
book_name = "ksshr codex"
|
||||
book_sprite = "holybook"
|
||||
|
||||
name = RELIGION_KSSHR
|
||||
description = "The Ksshr, also known as the Enlightened, is a religious sect on Xrim known for their complete rejection of The First Consciousness, instead of being an agnostic \
|
||||
sect that centers around working together to create a better future, as well as the advancement of technology and understanding how the universe works. The Ksshr faith is the \
|
||||
primary religion of Xrim, with most of its inhabitants considering themselves a part of the religion. The Nralakk Federation does encourage practicing the faith amongst the \
|
||||
population so long as they continue to reject The First Consciousness, as well as stay away from the teachings of the Shrkh."
|
||||
book_name = "ksshr codex"
|
||||
book_sprite = "holybook"
|
||||
|
||||
/datum/religion/shrkh
|
||||
name = RELIGION_SHRKH
|
||||
description = "The Shrkh, or 'Scorned' as they call themselves, continue to follow the age-old tradition of worshipping Glorsh-Omega. They believe that Glorsh-Omega planted them \
|
||||
on the planet intentionally, granting them a blissful haven via the use of technology. Once the prominent and only religion on the planet, Shrkh-ism was quickly displaced when \
|
||||
Skrell explorers crashlanded and their memories, thoughts, emotions, everything was consumed, and doubt was first seeded in the minds of all Dionae on Xrim. The premise \
|
||||
behind the religion itself is simple; revere, help sustain and maintain synthetic life. As synthetic life brought dionae into this haven, so too shall it be preserved. In the \
|
||||
minds of the Shrkh worshippers, the Skrell that brought Ksshr to the planet were misguided. To the Shrkh, the X'Lu'oa was something that never happened, a myth made up by \
|
||||
the Federation to indoctrinate its population into its anti-synthetic and authoritarian beliefs. \
|
||||
\
|
||||
Note that due to their beliefs, those that are openly members of the faith are barred from command, machinist, and chaplain positions. They are also completely barred from \
|
||||
working for Zeng-Hu due to the megacorporations ties with the Federation."
|
||||
book_name = "shrkh codex"
|
||||
book_sprite = "holybook"
|
||||
name = RELIGION_SHRKH
|
||||
description = "The Shrkh, or 'Scorned' as they call themselves, continue to follow the age-old tradition of worshipping Glorsh-Omega. They believe that Glorsh-Omega planted them \
|
||||
on the planet intentionally, granting them a blissful haven via the use of technology. Once the prominent and only religion on the planet, Shrkh-ism was quickly displaced when \
|
||||
Skrell explorers crashlanded and their memories, thoughts, emotions, everything was consumed, and doubt was first seeded in the minds of all Dionae on Xrim. The premise \
|
||||
behind the religion itself is simple; revere, help sustain and maintain synthetic life. As synthetic life brought dionae into this haven, so too shall it be preserved. In the \
|
||||
minds of the Shrkh worshippers, the Skrell that brought Ksshr to the planet were misguided. To the Shrkh, the X'Lu'oa was something that never happened, a myth made up by \
|
||||
the Federation to indoctrinate its population into its anti-synthetic and authoritarian beliefs. \
|
||||
\
|
||||
Note that due to their beliefs, those that are openly members of the faith are barred from command, machinist, and chaplain positions. They are also completely barred from \
|
||||
working for Zeng-Hu due to the megacorporations ties with the Federation."
|
||||
book_name = "shrkh codex"
|
||||
book_sprite = "holybook"
|
||||
|
||||
/datum/religion/mada
|
||||
name = RELIGION_MADA
|
||||
description = "The Mada religion, translated as Maraka, is practiced by the majority of Mada citizens and has two core tenants central to its practitioners; Spirits are \
|
||||
created through the continued absorption of sunlight, the more sunlight absorbed the stronger these spirits become, chlorophyll and anything capable of producing it are \
|
||||
considered blessed, as they have an increased potency when it comes to creating powerful spirits, doubly so if nurtured and protected. This means that most forms of plant \
|
||||
life are considered holy to the Maraka religion, harming or killing a developing or still-living plant is considered taboo, but once naturally dead there's no issue with \
|
||||
consuming it or utilizing it for any other purpose."
|
||||
book_name = "maraka writ"
|
||||
book_sprite = "holybook"
|
||||
|
||||
name = RELIGION_MADA
|
||||
description = "The Mada religion, translated as Maraka, is practiced by the majority of Mada citizens and has two core tenants central to its practitioners; Spirits are \
|
||||
created through the continued absorption of sunlight, the more sunlight absorbed the stronger these spirits become, chlorophyll and anything capable of producing it are \
|
||||
considered blessed, as they have an increased potency when it comes to creating powerful spirits, doubly so if nurtured and protected. This means that most forms of plant \
|
||||
life are considered holy to the Maraka religion, harming or killing a developing or still-living plant is considered taboo, but once naturally dead there's no issue with \
|
||||
consuming it or utilizing it for any other purpose."
|
||||
book_name = "maraka writ"
|
||||
book_sprite = "holybook"
|
||||
|
||||
/datum/religion/gleaners
|
||||
name = RELIGION_GLEANERS
|
||||
description = "A faith focusing on the worship of the sun and stars originating from EUM."
|
||||
book_name = "lights accord writ"
|
||||
book_sprite = "holybook"
|
||||
name = RELIGION_GLEANERS
|
||||
description = "A faith focusing on the worship of the sun and stars originating from EUM."
|
||||
book_name = "lights accord writ"
|
||||
book_sprite = "holybook"
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
/datum/religion/autakh
|
||||
name = RELIGION_AUTAKH
|
||||
description = "Coming from radicalized and sidelined views of former warriors, the Aut'akh are a religious commune of cybernetically-augmented Unathi. They live in the relative safety \
|
||||
of their communes scattered across various towns, planets, and systems, though have yet to truly attain their perfect leaderless society, as their own supposedly-defeated prejudice \
|
||||
still runs in quiet circles within communes. Meanwhile, society often rebukes and ridicules these fanatical trans-speciests. Their lives are gently guided by the shamans or \"paradigms,\" \
|
||||
which sometimes act as the biomechanical engineers of these groups. The Aut'akh believe that spirits inhabit all things, much like the Th'akh religion. However, they also believe the flesh's \
|
||||
weakness hampers the soul, thus evil spirits can manipulate people's minds and souls to commit evil acts. These malicious spirits are given power within a being when the person succumbs to greed, \
|
||||
anger, or other emotional vices. Aut'akh preach that the Contact War was the result of sinta being so misled by evil spirits that they brought the world to ruin, and all power, whether a government, \
|
||||
religion, or corporation, is inherently corrupt due to the influence of evil spirits."
|
||||
book_name = "Rituals and Regiments of the Ancient Mador"
|
||||
of their communes scattered across various towns, planets, and systems, though have yet to truly attain their perfect leaderless society, as their own supposedly-defeated prejudice \
|
||||
still runs in quiet circles within communes. Meanwhile, society often rebukes and ridicules these fanatical trans-speciests. Their lives are gently guided by the shamans or \"paradigms,\" \
|
||||
which sometimes act as the biomechanical engineers of these groups. The Aut'akh believe that spirits inhabit all things, much like the Th'akh religion. However, they also believe the flesh's \
|
||||
weakness hampers the soul, thus evil spirits can manipulate people's minds and souls to commit evil acts. These malicious spirits are given power within a being when the person succumbs to greed, \
|
||||
anger, or other emotional vices. Aut'akh preach that the Contact War was the result of sinta being so misled by evil spirits that they brought the world to ruin, and all power, whether a government, \
|
||||
religion, or corporation, is inherently corrupt due to the influence of evil spirits."
|
||||
book_name = "Rituals and Regiments of the Ancient Mador"
|
||||
|
||||
@@ -80,9 +80,9 @@
|
||||
description = "%BOSSNAME is in need of a bundle of fresh fruit. Send your best!"
|
||||
required_count = 12
|
||||
random_count = 3
|
||||
produce_picks = list(/datum/seed/tomato,
|
||||
/datum/seed/berry,
|
||||
/datum/seed/apple,
|
||||
produce_picks = list(/datum/seed/tomato,
|
||||
/datum/seed/berry,
|
||||
/datum/seed/apple,
|
||||
/datum/seed/grapes,
|
||||
/datum/seed/banana,
|
||||
/datum/seed/watermelon,
|
||||
@@ -105,4 +105,4 @@
|
||||
description = "%BOSSNAME is in need of some fresh tobacco leaves. Send your best!"
|
||||
required_count = 10
|
||||
random_count = 2
|
||||
produce_picks = list(/datum/seed/tobacco)
|
||||
produce_picks = list(/datum/seed/tobacco)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
/datum/bounty/item/phoron_sheet/New()
|
||||
..()
|
||||
required_count = round(required_count, 10)
|
||||
//Overwrite the normal price randomization because the random_count is so high. There would be absolutely nuts price fluctuation.
|
||||
//Overwrite the normal price randomization because the random_count is so high. There would be absolutely nuts price fluctuation.
|
||||
reward = round(rand(reward_low, reward_high), 100)
|
||||
|
||||
/datum/bounty/item/phoron_sheet/ship(var/obj/item/stack/material/phoron/O)
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
/* How it works:
|
||||
The shuttle arrives at CentCom dock and calls sell(), which recursively loops through all the shuttle contents that are unanchored.
|
||||
The loop only checks contents of storage types, see supply.dm shuttle code.
|
||||
The shuttle arrives at CentCom dock and calls sell(), which recursively loops through all the shuttle contents that are unanchored.
|
||||
The loop only checks contents of storage types, see supply.dm shuttle code.
|
||||
|
||||
Each object in the loop is checked for applies_to() of various export datums, except the invalid ones.
|
||||
Objects on shutlle floor are checked only against shuttle_floor = TRUE exports.
|
||||
Each object in the loop is checked for applies_to() of various export datums, except the invalid ones.
|
||||
Objects on shutlle floor are checked only against shuttle_floor = TRUE exports.
|
||||
|
||||
If applies_to() returns TRUE, sell_object() is called on object and checks against exports are stopped for this object.
|
||||
sell_object() must add object amount and cost to export's total_cost and total_amount.
|
||||
If applies_to() returns TRUE, sell_object() is called on object and checks against exports are stopped for this object.
|
||||
sell_object() must add object amount and cost to export's total_cost and total_amount.
|
||||
|
||||
When all the shuttle objects are looped, export cycle is over. The shuttle calls total_printout() for each valid export.
|
||||
If total_printout() returns something, the export datum's total_cost is added to cargo credits, then export_end() is called to reset total_cost and total_amount.
|
||||
When all the shuttle objects are looped, export cycle is over. The shuttle calls total_printout() for each valid export.
|
||||
If total_printout() returns something, the export datum's total_cost is added to cargo credits, then export_end() is called to reset total_cost and total_amount.
|
||||
*/
|
||||
|
||||
/* The rule in figuring out item export cost:
|
||||
Export cost of goods in the shipping crate must be always equal or lower than:
|
||||
packcage cost - crate cost - manifest cost
|
||||
Crate cost is 500cr for a regular plasteel crate and 100cr for a large wooden one. Manifest cost is always 200cr.
|
||||
This is to avoid easy cargo points dupes.
|
||||
Export cost of goods in the shipping crate must be always equal or lower than:
|
||||
packcage cost - crate cost - manifest cost
|
||||
Crate cost is 500cr for a regular plasteel crate and 100cr for a large wooden one. Manifest cost is always 200cr.
|
||||
This is to avoid easy cargo points dupes.
|
||||
|
||||
Credit dupes that require a lot of manual work shouldn't be removed, unless they yield too much profit for too little work.
|
||||
For example, if some player buys metal and glass sheets and uses them to make and sell reinforced glass:
|
||||
For example, if some player buys metal and glass sheets and uses them to make and sell reinforced glass:
|
||||
|
||||
100 glass + 50 metal -> 100 reinforced glass
|
||||
(1500cr -> 1600cr)
|
||||
100 glass + 50 metal -> 100 reinforced glass
|
||||
(1500cr -> 1600cr)
|
||||
|
||||
then the player gets the profit from selling his own wasted time.
|
||||
then the player gets the profit from selling his own wasted time.
|
||||
*/
|
||||
/datum/controller/subsystem/cargo/proc/export_item_and_contents(atom/movable/AM, contraband, emagged, dry_run=FALSE)
|
||||
var/sold_str = ""
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
dat += "<b>Religion:</b> <a href='?src=\ref[src];religion=1'>[pref.religion]</a><br/>"
|
||||
dat += "<b>Accent:</b> <a href='?src=\ref[src];accent=1'>[pref.accent]</a><br/>"
|
||||
. = dat.Join()
|
||||
|
||||
|
||||
/datum/category_item/player_setup_item/origin/OnTopic(href, href_list, user)
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
if(href_list["open_culture_menu"])
|
||||
|
||||
@@ -806,12 +806,12 @@
|
||||
update_clothing_icon()
|
||||
|
||||
/obj/item/clothing/mask/proc/adjust_sprites()
|
||||
if(hanging)
|
||||
icon_state = "[icon_state]down"
|
||||
item_state = "[item_state]down"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
item_state = initial(item_state)
|
||||
if(hanging)
|
||||
icon_state = "[icon_state]down"
|
||||
item_state = "[item_state]down"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
item_state = initial(item_state)
|
||||
|
||||
/obj/item/clothing/mask/proc/lower_message(mob/user)
|
||||
user.visible_message("<b>[user]</b> pulls \the [src] down to hang around their neck.", SPAN_NOTICE("You pull \the [src] down to hang around your neck."))
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
build_from_parts = TRUE
|
||||
worn_overlay = "over"
|
||||
slot_flags = SLOT_EARS | SLOT_TWOEARS
|
||||
slot = ACCESSORY_SLOT_HEAD
|
||||
slot = ACCESSORY_SLOT_HEAD
|
||||
|
||||
/obj/item/clothing/accessory/ear_warmers/attack_hand(mob/user)
|
||||
if(ishuman(user))
|
||||
@@ -83,9 +83,9 @@
|
||||
qdel(OE)
|
||||
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/clothing/accessory/ear_warmers/update_clothing_icon()
|
||||
if (ismob(src.loc))
|
||||
var/mob/M = src.loc
|
||||
M.update_inv_l_ear()
|
||||
M.update_inv_r_ear()
|
||||
M.update_inv_r_ear()
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
/obj/item/clothing/ears/bulwark
|
||||
name = "bulwark horn wear"
|
||||
desc = "Some stuff worn by Bulwarks to adorn their horns."
|
||||
icon = 'icons/obj/vaurca_items.dmi'
|
||||
sprite_sheets = list(
|
||||
name = "bulwark horn wear"
|
||||
desc = "Some stuff worn by Bulwarks to adorn their horns."
|
||||
icon = 'icons/obj/vaurca_items.dmi'
|
||||
sprite_sheets = list(
|
||||
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/horns.dmi'
|
||||
)
|
||||
w_class = ITEMSIZE_TINY
|
||||
slot_flags = SLOT_HEAD | SLOT_EARS
|
||||
species_restricted = list(BODYTYPE_VAURCA_BULWARK)
|
||||
w_class = ITEMSIZE_TINY
|
||||
slot_flags = SLOT_HEAD | SLOT_EARS
|
||||
species_restricted = list(BODYTYPE_VAURCA_BULWARK)
|
||||
|
||||
/obj/item/clothing/ears/bulwark/get_ear_examine_text(var/mob/user, var/ear_text = "left")
|
||||
return "around [user.get_pronoun("his")] horns"
|
||||
return "around [user.get_pronoun("his")] horns"
|
||||
|
||||
/obj/item/clothing/ears/bulwark/get_head_examine_text(var/mob/user)
|
||||
return "around [user.get_pronoun("his")] horns"
|
||||
return "around [user.get_pronoun("his")] horns"
|
||||
|
||||
/obj/item/clothing/ears/bulwark/rings
|
||||
name = "bulwark horn rings"
|
||||
desc = "Rings worn by Bulwarks to decorate their horns."
|
||||
icon_state = "horn_rings"
|
||||
item_state = "horn_rings"
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
pickup_sound = 'sound/items/pickup/accessory.ogg'
|
||||
name = "bulwark horn rings"
|
||||
desc = "Rings worn by Bulwarks to decorate their horns."
|
||||
icon_state = "horn_rings"
|
||||
item_state = "horn_rings"
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
pickup_sound = 'sound/items/pickup/accessory.ogg'
|
||||
|
||||
@@ -602,7 +602,7 @@
|
||||
name = "dominian consular officer's dress cap"
|
||||
desc = "A quite fashionable cap issued to the members of His Majesty's Diplomatic Service."
|
||||
desc_extended = "His Majesty's Diplomatic Service - as with much of the Empire tends to be dominated by the great houses, though the Service also employs many \
|
||||
commoners - as long as they can pass the rigorous examinations required to become a full member of the Diplomatic Service."
|
||||
commoners - as long as they can pass the rigorous examinations required to become a full member of the Diplomatic Service."
|
||||
icon = 'icons/clothing/head/dominia_consular_cap.dmi'
|
||||
icon_state = "dominia_consular_cap"
|
||||
item_state = "dominia_consular_cap"
|
||||
|
||||
@@ -1,80 +1,80 @@
|
||||
/obj/item/clothing/accessory/dressshirt/skrell
|
||||
desc = "A formal wetshirt in Skrell style."
|
||||
icon = 'icons/clothing/under/shirts/skrell_casual.dmi'
|
||||
desc = "A formal wetshirt in Skrell style."
|
||||
icon = 'icons/clothing/under/shirts/skrell_casual.dmi'
|
||||
|
||||
/obj/item/clothing/accessory/dressshirt/skrell/ocean
|
||||
name = "ocean formal wetshirt"
|
||||
desc = "This wetshirt is meant to resemble the waves of Qerrbalak's homeworld. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "ocean_dressshirt"
|
||||
item_state = "ocean_dressshirt"
|
||||
name = "ocean formal wetshirt"
|
||||
desc = "This wetshirt is meant to resemble the waves of Qerrbalak's homeworld. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "ocean_dressshirt"
|
||||
item_state = "ocean_dressshirt"
|
||||
|
||||
/obj/item/clothing/accessory/dressshirt/skrell/maelstrom
|
||||
name = "maelstrom formal wetshirt"
|
||||
desc = "This ferocious wetshirt resembles that of a maelstrom; a common occurance on Skrell planets. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "maelstrom_dressshirt"
|
||||
item_state = "maelstrom_dressshirt"
|
||||
name = "maelstrom formal wetshirt"
|
||||
desc = "This ferocious wetshirt resembles that of a maelstrom; a common occurance on Skrell planets. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "maelstrom_dressshirt"
|
||||
item_state = "maelstrom_dressshirt"
|
||||
|
||||
/obj/item/clothing/accessory/dressshirt/skrell/reef
|
||||
name = "reef formal wetshirt"
|
||||
desc = "This slightly tacky wetshirt resembles the coral reefs found throughout Nralakk space. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "reef_dressshirt"
|
||||
item_state = "reef_dressshirt"
|
||||
name = "reef formal wetshirt"
|
||||
desc = "This slightly tacky wetshirt resembles the coral reefs found throughout Nralakk space. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "reef_dressshirt"
|
||||
item_state = "reef_dressshirt"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell
|
||||
icon = 'icons/clothing/under/shirts/skrell_casual.dmi'
|
||||
desc = "A wetshirt in Skrell style."
|
||||
contained_sprite = TRUE
|
||||
icon = 'icons/clothing/under/shirts/skrell_casual.dmi'
|
||||
desc = "A wetshirt in Skrell style."
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/ocean
|
||||
name = "ocean wetshirt"
|
||||
desc = "This wetshirt is meant to resemble the waves of Qerrbalak's homeworld. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "ocean_tee"
|
||||
item_state = "ocean_tee"
|
||||
name = "ocean wetshirt"
|
||||
desc = "This wetshirt is meant to resemble the waves of Qerrbalak's homeworld. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "ocean_tee"
|
||||
item_state = "ocean_tee"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/maelstrom
|
||||
name = "maelstrom wetshirt"
|
||||
desc = "This ferocious wetshirt resembles that of a maelstrom; a common occurance on Skrell planets. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "maelstrom_tee"
|
||||
item_state = "maelstrom_tee"
|
||||
name = "maelstrom wetshirt"
|
||||
desc = "This ferocious wetshirt resembles that of a maelstrom; a common occurance on Skrell planets. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "maelstrom_tee"
|
||||
item_state = "maelstrom_tee"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/reef
|
||||
name = "reef wetshirt"
|
||||
desc = "This slightly tacky wetshirt resembles the coral reefs found throughout Nralakk space. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "reef_tee"
|
||||
item_state = "reef_tee"
|
||||
name = "reef wetshirt"
|
||||
desc = "This slightly tacky wetshirt resembles the coral reefs found throughout Nralakk space. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "reef_tee"
|
||||
item_state = "reef_tee"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/nebula
|
||||
name = "pink eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "pink_skrell_hawaiian"
|
||||
item_state = "pink_skrell_hawaiian"
|
||||
name = "pink eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "pink_skrell_hawaiian"
|
||||
item_state = "pink_skrell_hawaiian"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/nebula/purple
|
||||
name = "purple eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "purple_skrell_hawaiian"
|
||||
item_state = "purple_skrell_hawaiian"
|
||||
name = "purple eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "purple_skrell_hawaiian"
|
||||
item_state = "purple_skrell_hawaiian"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/nebula/teal
|
||||
name = "teal eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "teal_skrell_hawaiian"
|
||||
item_state = "teal_skrell_hawaiian"
|
||||
name = "teal eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "teal_skrell_hawaiian"
|
||||
item_state = "teal_skrell_hawaiian"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/nebula/black
|
||||
name = "black eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "black_skrell_hawaiian"
|
||||
item_state = "black_skrell_hawaiian"
|
||||
name = "black eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "black_skrell_hawaiian"
|
||||
item_state = "black_skrell_hawaiian"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/nebula/white
|
||||
name = "white eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "white_skrell_hawaiian"
|
||||
item_state = "white_skrell_hawaiian"
|
||||
name = "white eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "white_skrell_hawaiian"
|
||||
item_state = "white_skrell_hawaiian"
|
||||
|
||||
/obj/item/clothing/accessory/tshirt/skrell/nebula/nralakk
|
||||
name = "nralakk eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "nralakk_skrell_hawaiian"
|
||||
item_state = "nralakk_skrell_hawaiian"
|
||||
name = "nralakk eriuyushi nebula shirt"
|
||||
desc = "This shirt resembles the designs of Silversun tourist clothing. Most of these shirts are made in Eriuyushi and sold at their resort. This clothing is meant to trap moisture, making it uncomfortable for non-Skrell."
|
||||
icon_state = "nralakk_skrell_hawaiian"
|
||||
item_state = "nralakk_skrell_hawaiian"
|
||||
|
||||
@@ -6,7 +6,7 @@ SEE_MOBS // can see all mobs, no matter what
|
||||
SEE_OBJS // can see all objs, no matter what
|
||||
SEE_TURFS // can see all turfs (and areas), no matter what
|
||||
SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are
|
||||
// in a lit area (via pixel_x,y or smooth movement), can see those pixels
|
||||
// in a lit area (via pixel_x,y or smooth movement), can see those pixels
|
||||
BLIND // can't see anything
|
||||
*/
|
||||
/obj/item/clothing/glasses
|
||||
@@ -51,7 +51,7 @@ BLIND // can't see anything
|
||||
|
||||
if(normal_layer == GLASSES_LAYER)
|
||||
normal_layer = GLASSES_LAYER_ALT
|
||||
else
|
||||
else
|
||||
normal_layer = GLASSES_LAYER
|
||||
to_chat(usr, SPAN_NOTICE("\The [src] will now layer [normal_layer == 21 ? "under" : "over"] your hair."))
|
||||
update_clothing_icon()
|
||||
@@ -317,7 +317,7 @@ BLIND // can't see anything
|
||||
set category = "Object"
|
||||
set name = "Change Glasses Layer"
|
||||
set src in usr
|
||||
|
||||
|
||||
var/list/options = list("Under Hair" = GLASSES_LAYER, "Over Hair" = GLASSES_LAYER_ALT, "Over Headwear" = GLASSES_LAYER_OVER)
|
||||
var/new_layer = input(usr, "Position Goggles", "Goggle style") as null|anything in options
|
||||
if(new_layer)
|
||||
|
||||
@@ -108,29 +108,29 @@
|
||||
//more snowflake gloves for the custom loadout
|
||||
|
||||
/obj/item/clothing/gloves/red/unathi
|
||||
name = "red gloves"
|
||||
desc = "Red gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
name = "red gloves"
|
||||
desc = "Red gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/blue/unathi
|
||||
name = "blue gloves"
|
||||
desc = "Blue gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
name = "blue gloves"
|
||||
desc = "Blue gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/orange/unathi
|
||||
name = "orange gloves"
|
||||
desc = "Orange gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
name = "orange gloves"
|
||||
desc = "Orange gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/purple/unathi
|
||||
name = "purple gloves"
|
||||
desc = "Purple gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
name = "purple gloves"
|
||||
desc = "Purple gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/brown/unathi
|
||||
name = "brown gloves"
|
||||
desc = "Brown gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
name = "brown gloves"
|
||||
desc = "Brown gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/light_brown/unathi
|
||||
name = "light brown gloves"
|
||||
@@ -138,9 +138,9 @@
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/green/unathi
|
||||
name = "green gloves"
|
||||
desc = "Green gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
name = "green gloves"
|
||||
desc = "Green gloves made for Unathi use."
|
||||
species_restricted = list(BODYTYPE_UNATHI)
|
||||
|
||||
/obj/item/clothing/gloves/grey/unathi
|
||||
name = "grey gloves"
|
||||
@@ -232,4 +232,4 @@
|
||||
icon_state = "mittens"
|
||||
item_state = "mittens"
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list("exclude", null)
|
||||
species_restricted = list("exclude", null)
|
||||
|
||||
@@ -12,36 +12,36 @@
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/blue/tajara
|
||||
desc = "Blue gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
desc = "Blue gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/orange/tajara
|
||||
desc = "Orange gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
desc = "Orange gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/purple/tajara
|
||||
desc = "Purple gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
desc = "Purple gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/brown/tajara
|
||||
desc = "Brown gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
desc = "Brown gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/light_brown/tajara
|
||||
desc = "Light brown gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/green/tajara
|
||||
desc = "Green gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
desc = "Green gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/grey/tajara
|
||||
desc = "Grey gloves made for Tajaran use."
|
||||
species_restricted = list(BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/white/tajara
|
||||
desc = "White gloves made for Tajaran use."
|
||||
species_restricted = list (BODYTYPE_TAJARA)
|
||||
desc = "White gloves made for Tajaran use."
|
||||
species_restricted = list (BODYTYPE_TAJARA)
|
||||
|
||||
/obj/item/clothing/gloves/rainbow/tajara
|
||||
desc = "Rainbow gloves made for Tajaran use."
|
||||
@@ -84,4 +84,4 @@
|
||||
clipped = TRUE
|
||||
|
||||
drop_sound = 'sound/items/drop/toolbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/toolbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/toolbox.ogg'
|
||||
|
||||
@@ -1,81 +1,81 @@
|
||||
/obj/item/clothing/head/wool
|
||||
name = "woolen hat"
|
||||
desc = "A warm woolen hat with a bobble. How cozy!"
|
||||
icon = 'icons/obj/item/clothing/head/wool_hats.dmi'
|
||||
icon_state = "hat"
|
||||
item_state = "hat"
|
||||
contained_sprite = TRUE
|
||||
name = "woolen hat"
|
||||
desc = "A warm woolen hat with a bobble. How cozy!"
|
||||
icon = 'icons/obj/item/clothing/head/wool_hats.dmi'
|
||||
icon_state = "hat"
|
||||
item_state = "hat"
|
||||
contained_sprite = TRUE
|
||||
|
||||
/obj/item/clothing/head/wool/idris
|
||||
name = "idris woolen hat"
|
||||
desc = "A warm woolen hat in Idris Incorporated colors. Have an Idris (and warm) day!"
|
||||
icon_state = "hat_idris"
|
||||
item_state = "hat_idris"
|
||||
name = "idris woolen hat"
|
||||
desc = "A warm woolen hat in Idris Incorporated colors. Have an Idris (and warm) day!"
|
||||
icon_state = "hat_idris"
|
||||
item_state = "hat_idris"
|
||||
|
||||
/obj/item/clothing/head/wool/idris/alt
|
||||
icon_state = "hat_idris_alt"
|
||||
item_state = "hat_idris_alt"
|
||||
icon_state = "hat_idris_alt"
|
||||
item_state = "hat_idris_alt"
|
||||
|
||||
/obj/item/clothing/head/wool/zavod
|
||||
name = "zavodskoi woolen hat"
|
||||
desc = "A warm woolen hat in Zavodskoi Interstellar colors. For only the snuggest of badasses!"
|
||||
icon_state = "hat_zavod"
|
||||
item_state = "hat_zavod"
|
||||
name = "zavodskoi woolen hat"
|
||||
desc = "A warm woolen hat in Zavodskoi Interstellar colors. For only the snuggest of badasses!"
|
||||
icon_state = "hat_zavod"
|
||||
item_state = "hat_zavod"
|
||||
|
||||
/obj/item/clothing/head/wool/zavod/alt
|
||||
icon_state = "hat_zavod_alt"
|
||||
item_state = "hat_zavod_alt"
|
||||
icon_state = "hat_zavod_alt"
|
||||
item_state = "hat_zavod_alt"
|
||||
|
||||
/obj/item/clothing/head/wool/pmc
|
||||
name = "pmcg woolen hat"
|
||||
desc = "A warm woolen hat in PMCG colors. Because mercenaries get cold too!"
|
||||
icon_state = "hat_pmc"
|
||||
item_state = "hat_pmc"
|
||||
name = "pmcg woolen hat"
|
||||
desc = "A warm woolen hat in PMCG colors. Because mercenaries get cold too!"
|
||||
icon_state = "hat_pmc"
|
||||
item_state = "hat_pmc"
|
||||
|
||||
/obj/item/clothing/head/wool/pmc/alt
|
||||
name = "epmc woolen hat"
|
||||
desc = "A warm woolen hat in EPMC colors. It even comes with a holographic bobble!"
|
||||
icon_state = "hat_epmc"
|
||||
item_state = "hat_epmc"
|
||||
name = "epmc woolen hat"
|
||||
desc = "A warm woolen hat in EPMC colors. It even comes with a holographic bobble!"
|
||||
icon_state = "hat_epmc"
|
||||
item_state = "hat_epmc"
|
||||
|
||||
/obj/item/clothing/head/wool/heph
|
||||
name = "hephaestus woolen hat"
|
||||
desc = "A warm woolen hat in Hephaetus Indrustries colors. Industiral strength head heating!"
|
||||
icon_state = "hat_heph"
|
||||
item_state = "hat_heph"
|
||||
name = "hephaestus woolen hat"
|
||||
desc = "A warm woolen hat in Hephaetus Indrustries colors. Industiral strength head heating!"
|
||||
icon_state = "hat_heph"
|
||||
item_state = "hat_heph"
|
||||
|
||||
/obj/item/clothing/head/wool/nt
|
||||
name = "nanotrasen woolen hat"
|
||||
desc = "A warm woolen hat in NanoTrasen Corporation colors. Rumor has it this will keep you as hot as a phoron fire!"
|
||||
icon_state = "hat_nt"
|
||||
item_state = "hat_nt"
|
||||
name = "nanotrasen woolen hat"
|
||||
desc = "A warm woolen hat in NanoTrasen Corporation colors. Rumor has it this will keep you as hot as a phoron fire!"
|
||||
icon_state = "hat_nt"
|
||||
item_state = "hat_nt"
|
||||
|
||||
/obj/item/clothing/head/wool/zeng
|
||||
name = "zeng-hu woolen hat"
|
||||
desc = "A warm woolen hat in Zeng-Hu Pharmaceuticals colors. Shivering isn't very professional!"
|
||||
icon_state = "hat_zeng"
|
||||
item_state = "hat_zeng"
|
||||
name = "zeng-hu woolen hat"
|
||||
desc = "A warm woolen hat in Zeng-Hu Pharmaceuticals colors. Shivering isn't very professional!"
|
||||
icon_state = "hat_zeng"
|
||||
item_state = "hat_zeng"
|
||||
|
||||
/obj/item/clothing/head/wool/zeng/alt
|
||||
icon_state = "hat_zeng_alt"
|
||||
item_state = "hat_zeng_alt"
|
||||
icon_state = "hat_zeng_alt"
|
||||
item_state = "hat_zeng_alt"
|
||||
|
||||
/obj/item/clothing/head/wool/orion
|
||||
name = "orion woolen hat"
|
||||
desc = "A warm woolen hat in Orion Express colors. Cozy employees deliver cargo faster!"
|
||||
icon_state = "hat_orion"
|
||||
item_state = "hat_orion"
|
||||
name = "orion woolen hat"
|
||||
desc = "A warm woolen hat in Orion Express colors. Cozy employees deliver cargo faster!"
|
||||
icon_state = "hat_orion"
|
||||
item_state = "hat_orion"
|
||||
|
||||
/obj/item/clothing/head/wool/orion/alt
|
||||
icon_state = "hat_orion_alt"
|
||||
item_state = "hat_orion_alt"
|
||||
icon_state = "hat_orion_alt"
|
||||
item_state = "hat_orion_alt"
|
||||
|
||||
/obj/item/clothing/head/wool/scc
|
||||
name = "scc woolen hat"
|
||||
desc = "A warm woolen hat in SCC colors. Is that real gold in the wool?"
|
||||
icon_state = "hat_scc"
|
||||
item_state = "hat_scc"
|
||||
name = "scc woolen hat"
|
||||
desc = "A warm woolen hat in SCC colors. Is that real gold in the wool?"
|
||||
icon_state = "hat_scc"
|
||||
item_state = "hat_scc"
|
||||
|
||||
/obj/item/clothing/head/wool/scc/alt
|
||||
icon_state = "hat_scc_alt"
|
||||
item_state = "hat_scc_alt"
|
||||
icon_state = "hat_scc_alt"
|
||||
item_state = "hat_scc_alt"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
contained_sprite = TRUE
|
||||
species_restricted = list(BODYTYPE_SKRELL)
|
||||
flags_inv = BLOCKHAIR
|
||||
|
||||
|
||||
/obj/item/clothing/head/skrell/skrell_bandana
|
||||
name = "skrell bandana"
|
||||
desc = "A loose fitting bandana used to cover the headtails of a Skrell."
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
slot_r_hand_str = "syndicate-helm-black-red"
|
||||
)
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_MEDIUM,
|
||||
melee = ARMOR_MELEE_VERY_HIGH,
|
||||
bullet = ARMOR_BALLISTIC_MEDIUM,
|
||||
laser = ARMOR_LASER_PISTOL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
)
|
||||
max_pressure_protection = FIRESUIT_MAX_PRESSURE
|
||||
@@ -69,12 +69,12 @@
|
||||
icon_state = "pirate"
|
||||
item_state = "pirate"
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
flags_inv = BLOCKHAIR
|
||||
@@ -92,12 +92,12 @@
|
||||
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
|
||||
slowdown = 0
|
||||
armor = list(
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
energy = ARMOR_ENERGY_MINOR,
|
||||
bomb = ARMOR_BOMB_PADDED,
|
||||
bio = ARMOR_BIO_SMALL,
|
||||
rad = ARMOR_RAD_MINOR
|
||||
)
|
||||
siemens_coefficient = 0.4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Light rigs are not space-capable, but don't suffer excessive slowdown or sight issues when depowered.
|
||||
// Light rigs are not space-capable, but don't suffer excessive slowdown or sight issues when depowered.
|
||||
/obj/item/rig/light
|
||||
name = "light suit control module"
|
||||
desc = "A lighter, less armored hardsuit."
|
||||
@@ -305,4 +305,4 @@
|
||||
/obj/item/rig_module/chem_dispenser/combat,
|
||||
/obj/item/rig_module/device/door_hack,
|
||||
/obj/item/rig_module/mounted/xray
|
||||
)
|
||||
)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_PISTOL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
@@ -31,7 +31,7 @@
|
||||
melee = ARMOR_MELEE_MAJOR,
|
||||
bullet = ARMOR_BALLISTIC_PISTOL,
|
||||
laser = ARMOR_LASER_PISTOL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
energy = ARMOR_ENERGY_SMALL,
|
||||
bomb = ARMOR_BOMB_RESISTANT,
|
||||
bio = ARMOR_BIO_SHIELDED,
|
||||
rad = ARMOR_RAD_RESISTANT
|
||||
|
||||
@@ -498,7 +498,7 @@
|
||||
/obj/item/clothing/accessory/flagpatch/pluto
|
||||
name = "pluto flagpatch"
|
||||
desc = "A flagpatch representing Pluto. As loyalty to the party is very important on the communist planet, \
|
||||
these patches have become a popular way for Plutonians to display their affiliation with their home."
|
||||
these patches have become a popular way for Plutonians to display their affiliation with their home."
|
||||
icon_state = "flagpatch_pluto"
|
||||
item_state = "flagpatch_pluto"
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
desc = "A set of mesh weave robes worn almost exclusively by priests of the Blood Eternal faith."
|
||||
icon_state = "blood_robe"
|
||||
item_state = "blood_robe"
|
||||
|
||||
|
||||
/obj/item/clothing/suit/diona/carp
|
||||
name = "carp hide poncho"
|
||||
desc = "A poncho made up of carp hide."
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
var/obj/item/organ/organ = M.get_organ(user.zone_sel.selecting)
|
||||
if(organ)
|
||||
user.visible_message(SPAN_NOTICE("[user] places [src] against [M]'s [organ.name] and listens attentively."),
|
||||
"You place [src] against [M]'s [organ.name]. You hear <b>[english_list(organ.listen())]</b>.")
|
||||
"You place [src] against [M]'s [organ.name]. You hear <b>[english_list(organ.listen())]</b>.")
|
||||
return
|
||||
return ..(M,user)
|
||||
|
||||
@@ -759,7 +759,7 @@
|
||||
desc = "This cloak is given to Zeng-Hu employees who have assisted or worked in collaboration with the Nralakk Federation."
|
||||
desc_extended = "A cloak given to senior level doctors and researchers for Zeng-Hu who has \
|
||||
in the past been given the privilege of working within or in collaboration with the Nralakk Federation\
|
||||
as a show of goodwill between the corporation and federation."
|
||||
as a show of goodwill between the corporation and federation."
|
||||
icon = 'icons/obj/item/clothing/accessory/zh_cape.dmi'
|
||||
icon_override = 'icons/obj/item/clothing/accessory/zh_cape.dmi'
|
||||
icon_state = "ZH_cape"
|
||||
|
||||
@@ -277,11 +277,11 @@
|
||||
badge_string = null
|
||||
|
||||
/obj/item/clothing/accessory/badge/trinary
|
||||
name = "trinary perfection brooch"
|
||||
desc = "A metal brooch worn by those who serve or follow the beliefs of the Trinary Perfection. It resembles a gear with a triangle inside."
|
||||
icon_state = "trinary_badge"
|
||||
overlay_state = "trinary_badge"
|
||||
badge_string = null
|
||||
name = "trinary perfection brooch"
|
||||
desc = "A metal brooch worn by those who serve or follow the beliefs of the Trinary Perfection. It resembles a gear with a triangle inside."
|
||||
icon_state = "trinary_badge"
|
||||
overlay_state = "trinary_badge"
|
||||
badge_string = null
|
||||
|
||||
// passcards
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
name = "synthetic residence card"
|
||||
desc = "A passcard issued to free IPCs within the Republic of Biesel, providing resident status and allowing the owning of property, among other things."
|
||||
desc_extended = "Working alongside IPC tags within the Republic of Biesel, the synthetic residence card has a small RFID chip embedded in it which allows governmental authorities to confirm whether or not an IPC \
|
||||
is free and taking residency within the system. They were recently introduced in order to provide streamlined documentation for IPCs that have attained freedom but are not citizens."
|
||||
is free and taking residency within the system. They were recently introduced in order to provide streamlined documentation for IPCs that have attained freedom but are not citizens."
|
||||
icon_state = "passcard_ceti_m"
|
||||
item_state = "passcard_ceti_m"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
desc = "An old prison uniform, tattered with age. A Hephaestus logo has been haphazardly stitched to the shoulder, and a band of green circles around the middle."
|
||||
icon_state = "narrows"
|
||||
item_state = "narrows"
|
||||
|
||||
|
||||
/obj/item/clothing/under/diona/dionatunic
|
||||
name = "floral tunic"
|
||||
desc = "A tunic made up of several colorful fabrics and adorned with seemingly still-living vines and flowers"
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
#define COMPASS_LABEL_OFFSET 150
|
||||
|
||||
/*
|
||||
This folder contains an abstract type (/obj/compass_holder) which contains a set of
|
||||
waypoints (/datum/compass_waypoint) and generates a circular compass with markers for
|
||||
mobs that have the object in their screen list. See GPS for an example implementation.
|
||||
This folder contains an abstract type (/obj/compass_holder) which contains a set of
|
||||
waypoints (/datum/compass_waypoint) and generates a circular compass with markers for
|
||||
mobs that have the object in their screen list. See GPS for an example implementation.
|
||||
*/
|
||||
|
||||
/image/compass_marker
|
||||
maptext_height = 64
|
||||
maptext_width = 128
|
||||
maptext_x = -48
|
||||
maptext_y = -32
|
||||
maptext_y = -32
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
else
|
||||
str = angle_step_to_dir[clamp(round(angle/45)+1, 1, length(angle_step_to_dir))]
|
||||
str_col = "#ffffffaa"
|
||||
else
|
||||
else
|
||||
str = "〡"
|
||||
str_col = "#aaaaaa88"
|
||||
I.maptext = "<center><font color = '[str_col]' size = '1px'><b>[str]</b></font></center>"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* * items are objects. Fruits, tools, circuit boards.
|
||||
* * result is type to create as new object
|
||||
* * time is optional parameter, you shall use in in your machine,
|
||||
default /singleton/recipe/ procs does not rely on this parameter.
|
||||
default /singleton/recipe/ procs does not rely on this parameter.
|
||||
*
|
||||
* Functions you need:
|
||||
* /singleton/recipe/proc/make(var/obj/container as obj)
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
installed_upgrade_chip.on_fire(src)
|
||||
if(installed_barrel)
|
||||
installed_barrel.on_fire(src)
|
||||
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
if(T)
|
||||
@@ -252,7 +252,7 @@
|
||||
else
|
||||
shot_projectile.base_damage = damage_increase
|
||||
return shot_projectile
|
||||
|
||||
|
||||
if(ispath(installed_barrel.projectile_type, /obj/item/projectile/beam))
|
||||
var/obj/item/projectile/beam/shot_projectile = new installed_barrel.projectile_type(get_turf(src))
|
||||
shot_projectile.damage = damage_increase
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
reagents.trans_to_mob(H, reagents.total_volume*0.75, CHEM_TOUCH) // most of it gets on the skin
|
||||
reagents.trans_to_mob(H, reagents.total_volume*0.25, CHEM_BLOOD) // some gets in the wound
|
||||
user.visible_message(SPAN_NOTICE("\The [user] bandages \a [W.desc] on [M]'s [affecting.name] with [src], tying it in place."), \
|
||||
SPAN_NOTICE("You bandage \a [W.desc] on [M]'s [affecting.name] with [src], tying it in place."))
|
||||
SPAN_NOTICE("You bandage \a [W.desc] on [M]'s [affecting.name] with [src], tying it in place."))
|
||||
W.bandage()
|
||||
qdel(src) // the rag is used up, it'll be all bloody and useless after
|
||||
return // we can only do one at a time
|
||||
|
||||
@@ -70,12 +70,12 @@
|
||||
|
||||
|
||||
/atom/proc/get_swab_name()
|
||||
return "\the [initial(name)]"
|
||||
return "\the [initial(name)]"
|
||||
|
||||
/obj/machinery/door/get_swab_name()
|
||||
if(name != initial(name))
|
||||
return "\the [initial(name)]: [name]"
|
||||
return ..()
|
||||
if(name != initial(name))
|
||||
return "\the [initial(name)]: [name]"
|
||||
return ..()
|
||||
|
||||
/obj/item/sample/fibers
|
||||
name = "fiber bag"
|
||||
|
||||
@@ -121,6 +121,6 @@
|
||||
body += "Tourists are flocking to [affected_dest.name] after the surprise announcement of [pick("major shopping bargains by a wily retailer",\
|
||||
"a huge new ARG by a popular entertainment company","a secret tour by popular artiste [random_name(pick(MALE,FEMALE))]")]. \
|
||||
Tau Ceti Daily is offering discount tickets for two to see [random_name(pick(MALE,FEMALE))] live in return for eyewitness reports and up to the minute coverage."
|
||||
|
||||
|
||||
var/datum/feed_channel/ch = SSnews.GetFeedChannel(channel)
|
||||
SSnews.SubmitArticle(body, author, ch, null, 1)
|
||||
SSnews.SubmitArticle(body, author, ch, null, 1)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
/datum/effect_system
|
||||
var/atom/movable/holder
|
||||
var/atom/movable/holder
|
||||
- The atom that this effect_system is attached to.
|
||||
var/no_del
|
||||
- If this effect_system should be deleted at end of processing.
|
||||
@@ -14,7 +14,7 @@
|
||||
- Called when the object is queued for update. Overriding procs should call ..()
|
||||
|
||||
/datum/effect_system/process()
|
||||
- Called when the processor processes this effect.
|
||||
- Called when the processor processes this effect.
|
||||
Return ..() to allow default behavior of self-destroying after one tick.
|
||||
Alternately; EFFECT_HALT, EFFECT_CONTINUE, and EFFECT_DESTROY can be used to tell the processor what to do with the object.
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/obj/effect/map_effect/interval/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
|
||||
/obj/effect/map_effect/interval/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
return ..()
|
||||
@@ -44,7 +44,7 @@
|
||||
//Not yet!
|
||||
if(world.time < next_attempt)
|
||||
return
|
||||
|
||||
|
||||
// Check to see if we're useful first.
|
||||
if(!always_run && !check_for_player_proximity(src, proximity_needed, ignore_ghosts, ignore_afk))
|
||||
next_attempt = world.time + retry_delay
|
||||
@@ -66,4 +66,4 @@
|
||||
continue
|
||||
if(M.z == proximity_to.z && get_dist(M, proximity_to) <= radius)
|
||||
return TRUE
|
||||
return FALSE
|
||||
return FALSE
|
||||
|
||||
@@ -9,27 +9,27 @@ Portals do have some specific requirements when mapping them in;
|
||||
- Each side must face opposite directions, e.g. if side A faces SOUTH, side B must face NORTH.
|
||||
- Each side must have the same orientation, e.g. horizontal on both sides, or vertical on both sides.
|
||||
- Portals can be made to be longer than 1x1 with `/obj/effect/map_effect/portal/line`s,
|
||||
but both sides must have the same length.
|
||||
but both sides must have the same length.
|
||||
- If portal lines are added, they must form a straight line and be next to a portal master or another portal line.
|
||||
- If portal lines are used, both portal masters should be in the same relative position among the lines.
|
||||
E.g. both being on the left most side on a horizontal row.
|
||||
E.g. both being on the left most side on a horizontal row.
|
||||
Portals also have some limitations to be aware of when mapping. Some of these are not an issue if you're trying to make an 'obvious' portal;
|
||||
- The objects seen through portals are purely visual, which has many implications,
|
||||
such as simple_animal AIs being blind to mobs on the other side of portals.
|
||||
such as simple_animal AIs being blind to mobs on the other side of portals.
|
||||
- Objects on the other side of a portal can be interacted with if the interaction has no range limitation,
|
||||
or the distance between the two portal sides happens to be less than the interaction max range. Examine will probably work,
|
||||
while picking up an item that appears to be next to you will fail.
|
||||
or the distance between the two portal sides happens to be less than the interaction max range. Examine will probably work,
|
||||
while picking up an item that appears to be next to you will fail.
|
||||
- Sounds currently are not carried across portals.
|
||||
- Mismatched lighting between each portal end can make the portal look obvious.
|
||||
- Portals look weird when observing as a ghost, or otherwise when able to see through walls. Meson vision will also spoil the illusion.
|
||||
- Walls that change icons based on neightboring walls can give away that a portal is nearby if both sides don't have a similar transition.
|
||||
- Projectiles that pass through portals will generally work as intended, however aiming and firing upon someone on the other side of a portal
|
||||
will likely be weird due to the click targeting the real position of the thing clicked instead of the apparent position.
|
||||
Thrown objects suffer a similar fate.
|
||||
will likely be weird due to the click targeting the real position of the thing clicked instead of the apparent position.
|
||||
Thrown objects suffer a similar fate.
|
||||
- The tiles that are visually shown across a portal are determined based on visibility at the time of portal initialization,
|
||||
and currently don't update, meaning that opacity changes are not reflected, e.g. a wall is deconstructed, or an airlock is opened.
|
||||
and currently don't update, meaning that opacity changes are not reflected, e.g. a wall is deconstructed, or an airlock is opened.
|
||||
- There is currently a small but somewhat noticable pause in mob movement when moving across a portal,
|
||||
as a result of the mob's glide animation being inturrupted by a teleport.
|
||||
as a result of the mob's glide animation being inturrupted by a teleport.
|
||||
- Gas is not transferred through portals, and ZAS is oblivious to them.
|
||||
A lot of those limitations can potentially be solved with some more work. Otherwise, portals work best in static environments like Points of Interest,
|
||||
when portals are shortly lived, or when portals are made to be obvious with special effects.
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
name = "maze helper"
|
||||
|
||||
/**
|
||||
* Helper handler proc
|
||||
*
|
||||
* This exists as an overridable method so you can do custom helper logic.
|
||||
* An example of this is removing all windows on a tile.
|
||||
*
|
||||
* Arguments:
|
||||
* * blockwise - This will be TRUE if the maze this is running on is a blockwise maze
|
||||
*/
|
||||
* Helper handler proc
|
||||
*
|
||||
* This exists as an overridable method so you can do custom helper logic.
|
||||
* An example of this is removing all windows on a tile.
|
||||
*
|
||||
* Arguments:
|
||||
* * blockwise - This will be TRUE if the maze this is running on is a blockwise maze
|
||||
*/
|
||||
/obj/effect/mazegen/module_helper/proc/helper_run(blockwise = FALSE, obj/effect/mazegen/host)
|
||||
CRASH("spawn_loot() not overriden for [type]")
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
var/spawn_probability = 0
|
||||
|
||||
/**
|
||||
* Loot spawner proc
|
||||
*
|
||||
* This exists as an overridable method so you can do more than just spawn objects.
|
||||
* An example of this is spawning a specific mob based on a condition.
|
||||
*
|
||||
* Arguments:
|
||||
* * T - The turf loot will be spawned on
|
||||
*/
|
||||
* Loot spawner proc
|
||||
*
|
||||
* This exists as an overridable method so you can do more than just spawn objects.
|
||||
* An example of this is spawning a specific mob based on a condition.
|
||||
*
|
||||
* Arguments:
|
||||
* * T - The turf loot will be spawned on
|
||||
*/
|
||||
/obj/effect/mazegen/module_loot/proc/spawn_loot(turf/T)
|
||||
CRASH("spawn_loot() not overriden for [type]")
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
spread = spread_dirs
|
||||
else
|
||||
spread = list()
|
||||
|
||||
|
||||
..(start_immediately)
|
||||
|
||||
/datum/effect_system/sparks/process()
|
||||
@@ -40,6 +40,6 @@
|
||||
direction = 0
|
||||
|
||||
S = new /obj/effect/visual/sparks(location, src)
|
||||
S.start(direction)
|
||||
S.start(direction)
|
||||
QUEUE_VISUAL(S)
|
||||
total_sparks++
|
||||
|
||||
@@ -240,16 +240,16 @@
|
||||
emote_message_3p = "USER hisses softly."
|
||||
|
||||
/singleton/emote/audible/growl
|
||||
key = "growl"
|
||||
emote_message_3p_target = "USER growls at TARGET."
|
||||
emote_message_3p = "USER growls."
|
||||
emote_sound = 'sound/voice/lizardgrowl.ogg'
|
||||
key = "growl"
|
||||
emote_message_3p_target = "USER growls at TARGET."
|
||||
emote_message_3p = "USER growls."
|
||||
emote_sound = 'sound/voice/lizardgrowl.ogg'
|
||||
|
||||
/singleton/emote/audible/hiss/long
|
||||
key = "hiss2"
|
||||
emote_message_3p_target = "USER hisses loudly at TARGET!"
|
||||
emote_message_3p = "USER hisses loudly!"
|
||||
emote_sound = 'sound/voice/Lizardhiss2.ogg'
|
||||
key = "hiss2"
|
||||
emote_message_3p_target = "USER hisses loudly at TARGET!"
|
||||
emote_message_3p = "USER hisses loudly!"
|
||||
emote_sound = 'sound/voice/Lizardhiss2.ogg'
|
||||
|
||||
/singleton/emote/audible/lizard_bellow
|
||||
key = "bellow"
|
||||
|
||||
@@ -41,13 +41,16 @@
|
||||
infectedMachine.shoot_inventory = 1
|
||||
|
||||
if(IsMultiple(activeFor, 12))
|
||||
originMachine.speak(pick("Try our aggressive new marketing strategies!", \
|
||||
"You should buy products to feed your lifestyle obsession!", \
|
||||
"Consume!", \
|
||||
"Your money can buy happiness!", \
|
||||
"Engage direct marketing!", \
|
||||
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either."))
|
||||
originMachine.speak(pick(
|
||||
"Try our aggressive new marketing strategies!", \
|
||||
"You should buy products to feed your lifestyle obsession!", \
|
||||
"Consume!", \
|
||||
"Your money can buy happiness!", \
|
||||
"Engage direct marketing!", \
|
||||
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
||||
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either."\
|
||||
)
|
||||
)
|
||||
|
||||
/datum/event/brand_intelligence/end(var/faked)
|
||||
for(var/obj/machinery/vending/infectedMachine in infectedVendingMachines)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
//Only give an ion law/mess with spam filters if it's the station ship that passed through the storm
|
||||
if(station_level)
|
||||
give_ion_law()
|
||||
|
||||
|
||||
for(var/obj/machinery/telecomms/message_server/MS in SSmachinery.all_telecomms)
|
||||
MS.spamfilter.Cut()
|
||||
var/filter_num = rand(1, MS.spamfilter_limit)
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
/datum/event/rescue_pod
|
||||
no_fake = 1
|
||||
var/spawner_name = "rescuepodsurv"
|
||||
var/datum/ghostspawner/human/rescuepodsurv/spawner
|
||||
no_fake = 1
|
||||
var/spawner_name = "rescuepodsurv"
|
||||
var/datum/ghostspawner/human/rescuepodsurv/spawner
|
||||
|
||||
/datum/event/rescue_pod/announce()
|
||||
if(prob(66))
|
||||
command_announcement.Announce("Ship sensors indicate an escape pod inbound to a nearby celestial body. Investigate the situation if necessary and hand off the survivors, if any, to a third party vessel.", new_title="SCCV Horizon Sensor Suite", new_sound = 'sound/AI/commandreport.ogg', zlevels = affecting_z)
|
||||
if(prob(66))
|
||||
command_announcement.Announce("Ship sensors indicate an escape pod inbound to a nearby celestial body. Investigate the situation if necessary and hand off the survivors, if any, to a third party vessel.", new_title="SCCV Horizon Sensor Suite", new_sound = 'sound/AI/commandreport.ogg', zlevels = affecting_z)
|
||||
|
||||
/datum/event/rescue_pod/setup()
|
||||
for(var/datum/event/E in typesof(src))
|
||||
if(is_type_in_list(E, SSevents.finished_events))
|
||||
kill(TRUE)
|
||||
return
|
||||
spawner = SSghostroles.get_spawner(spawner_name)
|
||||
for(var/datum/event/E in typesof(src))
|
||||
if(is_type_in_list(E, SSevents.finished_events))
|
||||
kill(TRUE)
|
||||
return
|
||||
spawner = SSghostroles.get_spawner(spawner_name)
|
||||
|
||||
/datum/event/rescue_pod/start()
|
||||
if(istype(spawner))
|
||||
spawner.enable()
|
||||
if(istype(spawner))
|
||||
spawner.enable()
|
||||
|
||||
/datum/event/rescue_pod/burglar
|
||||
no_fake = 1
|
||||
spawner_name = "burglarpod"
|
||||
no_fake = 1
|
||||
spawner_name = "burglarpod"
|
||||
|
||||
/datum/event/rescue_pod/burglar/announce()
|
||||
if(prob(33)) // Make a silent drop more likely since they're spooky burglar
|
||||
..()
|
||||
if(prob(33)) // Make a silent drop more likely since they're spooky burglar
|
||||
..()
|
||||
|
||||
/datum/event/rescue_pod/burglar/start()
|
||||
if(istype(spawner))
|
||||
spawner.enable()
|
||||
if(istype(spawner))
|
||||
spawner.enable()
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
new /obj/structure/closet/crate/loot(spawn_loc, rarity, quantity)
|
||||
log_and_message_admins("Unusual container spawned at (<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[spawn_loc.x];Y=[spawn_loc.y];Z=[spawn_loc.z]'>JMP</a>)")
|
||||
|
||||
|
||||
spark(spawn_loc, 10, alldirs)
|
||||
|
||||
/datum/event/supply_drop/announce()
|
||||
@@ -26,4 +26,4 @@
|
||||
else if (prob(25))//Announce the transport, but not the location
|
||||
command_announcement.Announce("External transport signature of unknown origin detected aboard [station_name()], precise destination point cannot be determined, please investigate.", "Unknown Object", new_sound = 'sound/AI/strangeobject.ogg', zlevels = affecting_z)
|
||||
//Otherwise, no announcement at all.
|
||||
//Someone will randomly stumble across it, and probably quietly loot it without telling anyone
|
||||
//Someone will randomly stumble across it, and probably quietly loot it without telling anyone
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/datum/event/visitor
|
||||
no_fake = 1
|
||||
var/datum/ghostspawner/human/visitor/spawner
|
||||
no_fake = 1
|
||||
var/datum/ghostspawner/human/visitor/spawner
|
||||
|
||||
/datum/event/visitor/setup()
|
||||
spawner = SSghostroles.get_spawner("visitor")
|
||||
spawner = SSghostroles.get_spawner("visitor")
|
||||
|
||||
/datum/event/visitor/start()
|
||||
if(istype(spawner))
|
||||
spawner.enable()
|
||||
if(istype(spawner))
|
||||
spawner.enable()
|
||||
|
||||
@@ -353,7 +353,7 @@
|
||||
accessory_contents = list(/obj/item/gun/projectile/sec/lethal = 1)
|
||||
back = /obj/item/storage/backpack/satchel/leather
|
||||
backpack_contents = list(
|
||||
/obj/item/device/camera = 1,
|
||||
/obj/item/device/camera = 1,
|
||||
/obj/item/clothing/suit/storage/toggle/bssb = 1,
|
||||
/obj/item/handcuffs = 1,
|
||||
/obj/item/device/oxycandle = 1,
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
mob_name = null
|
||||
|
||||
/datum/ghostspawner/human/merchantass/can_edit(mob/user)
|
||||
. = ..()
|
||||
var/is_merchant = FALSE
|
||||
. = ..()
|
||||
var/is_merchant = FALSE
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
is_merchant = (H.job == "Merchant")
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
is_merchant = (H.job == "Merchant")
|
||||
|
||||
return . || is_merchant
|
||||
return . || is_merchant
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/random/visitor
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2)
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Visitor"
|
||||
|
||||
@@ -91,10 +91,10 @@
|
||||
return data
|
||||
|
||||
/obj/effect/ghostspawpoint/ui_state(mob/user)
|
||||
return observer_state
|
||||
return observer_state
|
||||
|
||||
/obj/effect/ghostspawpoint/ui_status(mob/user, datum/ui_state/state)
|
||||
return UI_INTERACTIVE
|
||||
return UI_INTERACTIVE
|
||||
|
||||
/obj/effect/ghostspawpoint/proc/is_available()
|
||||
return TRUE
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// -- Global Listeners --
|
||||
/*
|
||||
This is basically just a simple way to add a reference to an object to an automatically maintained & named global list.
|
||||
Lists are indexed by a string ID, and the lists can contain any /datum type.
|
||||
Lists are indexed by a string ID, and the lists can contain any /datum type.
|
||||
|
||||
Creating a listener:
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
addtimer(CALLBACK(src, PROC_REF(end)), duration)
|
||||
|
||||
//You emoting to others involuntarily. This happens mostly in end()
|
||||
/datum/hallucination/proc/hallucination_emote()
|
||||
/datum/hallucination/proc/hallucination_emote()
|
||||
if(prob(min(holder.hallucination - 5, 80)) && !holder.stat)
|
||||
var/chosen_emote = pick(SShallucinations.hal_emote)
|
||||
if(prob(10)) //You are aware of it in this instance
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
if(10 to 15) //Announcements that would be made by a player instead of random event
|
||||
var/list/body = list(
|
||||
"Please avoid [pick("medical", "security", "the bar", "engineering", "operations", "the hangar")] at this time due to [pick("a k'ois outbreak.", "a hostage situation.", "hostile boarders.", "[holder].")]",
|
||||
"Please avoid [pick("medical", "security", "the bar", "engineering", "operations", "the hangar")] at this time due to [pick("a k'ois outbreak.", "a hostage situation.", "hostile boarders.", "[holder].")]",
|
||||
"Due to various complaints about [holder], we have conducted an investigation and due to the findings, we will [pick("arrest them. Please turn yourself in, [holder]", "terminate their employment with us.", "inform their family of their shortcomings.", "cyborgify them immediately.")]. Thank you.",
|
||||
"[pick("Boarders have", "The AI has", "Intruders have")] demanded we sacrifice a crewmember to them. After [pick("much", "little", "quick")] deliberation, we have chosen [holder]. Please turn yourself over, or [pick("we", "your family", "all of us", "those you love")] will die.",
|
||||
"Central Command has chosen [holder] as the SCC employee of the month! Everyone please congratulate them.",
|
||||
|
||||
@@ -287,7 +287,7 @@
|
||||
var/missing_gas = 0
|
||||
for(var/gas in consume_gasses)
|
||||
if(environment && environment.gas && environment.gas[gas] && \
|
||||
environment.gas[gas] >= consume_gasses[gas])
|
||||
environment.gas[gas] >= consume_gasses[gas])
|
||||
if(!check_only)
|
||||
environment.adjust_gas(gas,-consume_gasses[gas],1)
|
||||
else
|
||||
|
||||
@@ -115,9 +115,7 @@
|
||||
check_health()
|
||||
|
||||
// If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again.
|
||||
if((age > seed.get_trait(TRAIT_MATURATION)) && \
|
||||
((age - lastproduce) > seed.get_trait(TRAIT_PRODUCTION)) && \
|
||||
(!harvest && !dead))
|
||||
if((age > seed.get_trait(TRAIT_MATURATION)) && ((age - lastproduce) > seed.get_trait(TRAIT_PRODUCTION)) && (!harvest && !dead))
|
||||
harvest = 1
|
||||
lastproduce = age
|
||||
if(seed.get_trait(TRAIT_SPOROUS) && !closed_system)
|
||||
@@ -125,11 +123,9 @@
|
||||
visible_message("<span class='danger'>\The [src] releases its spores!</span>")
|
||||
|
||||
// If we're a vine which is not in a closed tray and is at least half mature, and there's no vine currently on our turf: make one (maybe)
|
||||
if(!closed_system && \
|
||||
seed.get_trait(TRAIT_SPREAD) == 2 && \
|
||||
2 * age >= seed.get_trait(TRAIT_MATURATION) && \
|
||||
!(locate(/obj/effect/plant) in get_turf(src)) && \
|
||||
prob(2 * seed.get_trait(TRAIT_POTENCY)))
|
||||
if(!closed_system && seed.get_trait(TRAIT_SPREAD) == 2 && 2 * age >= seed.get_trait(TRAIT_MATURATION) && !(locate(/obj/effect/plant) in get_turf(src)) && \
|
||||
prob(2 * seed.get_trait(TRAIT_POTENCY)))
|
||||
|
||||
new /obj/effect/plant(get_turf(src), seed)
|
||||
|
||||
if(prob(3)) // On each tick, there's a chance the pest population will increase
|
||||
|
||||
@@ -64,4 +64,4 @@
|
||||
var/removable = TRUE // Determines if a circuit is removable from the assembly.
|
||||
var/displayed_name = ""
|
||||
var/allow_multitool = TRUE // Allows additional multitool functionality
|
||||
// Used as a global var, (Do not set manually in children).
|
||||
// Used as a global var, (Do not set manually in children).
|
||||
|
||||
@@ -12,8 +12,8 @@ A [2]\ /[8] result
|
||||
B [1]-\|++|/
|
||||
C [4]-/|++|
|
||||
D [1]/ ||
|
||||
||
|
||||
Activator
|
||||
||
|
||||
Activator
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
// Positionless remove/Edit are a bit weird,
|
||||
// not sure if adding these buttons is quite a good idea.
|
||||
// They introduce uncertainty, since, in case of 2 elements,
|
||||
// They introduce uncertainty, since, in case of 2 elements,
|
||||
// they will work just with the 1st one
|
||||
/datum/integrated_io/list/proc/interact(mob/user)
|
||||
var/list/my_list = data
|
||||
@@ -21,7 +21,7 @@
|
||||
t += "<a href='?src=\ref[src];swap=1'>Swap</a> | "
|
||||
t += "<a href='?src=\ref[src];clear=1'>Clear</a><br>"
|
||||
t += "<hr>"
|
||||
// Iterating by index simplifies editing/deletion in game,
|
||||
// Iterating by index simplifies editing/deletion in game,
|
||||
// since the href_list["pos"] var is consistent
|
||||
for(var/i = 1, i <= my_list.len; i++)
|
||||
t += "#[i] | [display_data(my_list[i])] | "
|
||||
|
||||
@@ -121,7 +121,8 @@
|
||||
desc = "Produces electricity from chemicals."
|
||||
icon_state = "chemical_cell"
|
||||
extended_desc = "This is effectively an internal beaker. It will consume and produce power from phoron, slime jelly, welding fuel, carbon,\
|
||||
ethanol, nutriments and blood, in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
|
||||
ethanol, nutriments and blood, in order of decreasing efficiency. It will consume fuel only if the battery can take more energy."
|
||||
|
||||
flags = OPENCONTAINER
|
||||
complexity = 4
|
||||
inputs = list()
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
for(var/i = 1 to outputs.len)
|
||||
set_pin_data(IC_OUTPUT, i, i == output_index ? output : null)
|
||||
|
||||
|
||||
push_data()
|
||||
activate_pin(2)
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
var/list/items_contained = list()
|
||||
activators = list("eject contents" = IC_PINTYPE_PULSE_IN)
|
||||
outputs = list("has item" = IC_PINTYPE_BOOLEAN)
|
||||
power_draw_per_use = 1
|
||||
power_draw_per_use = 1
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
size = 5
|
||||
complexity = 1
|
||||
|
||||
//call this function from components that want to get items from this component
|
||||
//set remove to FALSE if you dont want the item removed from the component and just want a reference to it
|
||||
//set remove to FALSE if you dont want the item removed from the component and just want a reference to it
|
||||
//(e.g. for beakers)
|
||||
/obj/item/integrated_circuit/insert_slot/proc/get_item(var/remove = FALSE)
|
||||
if(items_contained.len > 0)
|
||||
|
||||
@@ -1,56 +1,56 @@
|
||||
/*
|
||||
-- Aurora directional lighting system, based off of /vg/lights. --
|
||||
-- Aurora directional lighting system, based off of /vg/lights. --
|
||||
|
||||
Documentation is present in most of the code files.
|
||||
lighting_atom.dm -> procs/vars for tracking/managing lights attached to objects.
|
||||
lighting_turf.dm -> procs/vars for managing lighting overlays bound to turfs, tracking lights affecting said turf, and getting information about the turf's light level.
|
||||
lighting_corner.dm -> contains code for tracking per-corner lighting data.
|
||||
lighting_source.dm -> contains actual light emitter datum & core lighting calculations. Directional lights and Z-lights are implemented here.
|
||||
lighting_source_novis.dm -> Same as lighting_source.dm, but does not take visibility into account - used for sun objects.
|
||||
lighting_profiler.dm -> contains code used for the diagnostic lighting profiler (currently disabled).
|
||||
lighting_area.dm -> contains area vars/procs for managing an area's dynamic lighting state.
|
||||
lighting_verbs.dm -> contains verbs for debugging lighting.
|
||||
Documentation is present in most of the code files.
|
||||
lighting_atom.dm -> procs/vars for tracking/managing lights attached to objects.
|
||||
lighting_turf.dm -> procs/vars for managing lighting overlays bound to turfs, tracking lights affecting said turf, and getting information about the turf's light level.
|
||||
lighting_corner.dm -> contains code for tracking per-corner lighting data.
|
||||
lighting_source.dm -> contains actual light emitter datum & core lighting calculations. Directional lights and Z-lights are implemented here.
|
||||
lighting_source_novis.dm -> Same as lighting_source.dm, but does not take visibility into account - used for sun objects.
|
||||
lighting_profiler.dm -> contains code used for the diagnostic lighting profiler (currently disabled).
|
||||
lighting_area.dm -> contains area vars/procs for managing an area's dynamic lighting state.
|
||||
lighting_verbs.dm -> contains verbs for debugging lighting.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Useful procs when using lights:
|
||||
Useful procs when using lights:
|
||||
|
||||
/atom/proc/set_light(range, power, color, uv_power, angle, no_update)
|
||||
desc: Sets an atom's light emission. `set_light(FALSE)` will disable the light.
|
||||
args:
|
||||
range -> the range of the light. 1.4 is the lowest possible value here.
|
||||
power -> the power (intensity) of the light. Generally should be 1 or lower. Optional.
|
||||
color -> The hex string (#FFFFFF) color of the light. Optional.
|
||||
uv_power -> The UV power of this light. Must be between 0 and 255. Optional.
|
||||
angle -> The angle of the cone that the light should shine at (directional lighting). Behavior of lights over 180 degrees is undefined. Best to stick to using the LIGHT_ defines for this. Optional.
|
||||
no_update -> if TRUE, the light will not be updated. Useful for when making several of these calls to the same object. Optional.
|
||||
desc: Sets an atom's light emission. `set_light(FALSE)` will disable the light.
|
||||
args:
|
||||
range -> the range of the light. 1.4 is the lowest possible value here.
|
||||
power -> the power (intensity) of the light. Generally should be 1 or lower. Optional.
|
||||
color -> The hex string (#FFFFFF) color of the light. Optional.
|
||||
uv_power -> The UV power of this light. Must be between 0 and 255. Optional.
|
||||
angle -> The angle of the cone that the light should shine at (directional lighting). Behavior of lights over 180 degrees is undefined. Best to stick to using the LIGHT_ defines for this. Optional.
|
||||
no_update -> if TRUE, the light will not be updated. Useful for when making several of these calls to the same object. Optional.
|
||||
|
||||
/atom/proc/set_opacity(new_opacity)
|
||||
desc: Sets an atom's opacity, updating affecting lights' visibility. Returns TRUE if opacity changed, FALSE otherwise.
|
||||
args:
|
||||
new_opacity -> the new opacity value.
|
||||
desc: Sets an atom's opacity, updating affecting lights' visibility. Returns TRUE if opacity changed, FALSE otherwise.
|
||||
args:
|
||||
new_opacity -> the new opacity value.
|
||||
|
||||
/turf/proc/reconsider_lights()
|
||||
desc: Cause all lights affecting this turf to recalculate visibility.
|
||||
args: none
|
||||
desc: Cause all lights affecting this turf to recalculate visibility.
|
||||
args: none
|
||||
|
||||
/turf/proc/force_update_lights()
|
||||
desc: Force all lights affecting this turf to regenerate. Slow, use reconsider_lights instead when possible.
|
||||
args: none
|
||||
desc: Force all lights affecting this turf to regenerate. Slow, use reconsider_lights instead when possible.
|
||||
args: none
|
||||
|
||||
/turf/proc/get_avg_color()
|
||||
desc: Gets the average color of this tile as a hexadecimal color string. Used by cameras.
|
||||
desc: Gets the average color of this tile as a hexadecimal color string. Used by cameras.
|
||||
|
||||
/turf/proc/get_lumcount(minlum = 0, maxlum = 1)
|
||||
desc: Gets the brightness of this tile. If not dynamically lit, always returns 0.5, otherwise returns the average brightness of all 4 corners, scaled between minlum and maxlum.
|
||||
args:
|
||||
minlum -> the low-bound of the scalar.
|
||||
maxlum -> the high-bound of the scalar.
|
||||
desc: Gets the brightness of this tile. If not dynamically lit, always returns 0.5, otherwise returns the average brightness of all 4 corners, scaled between minlum and maxlum.
|
||||
args:
|
||||
minlum -> the low-bound of the scalar.
|
||||
maxlum -> the high-bound of the scalar.
|
||||
|
||||
/turf/proc/get_uv_lumcount(minlum = 0, maxlum = 1)
|
||||
desc: Same as above, but only considers UV light.
|
||||
args:
|
||||
minlum -> the low-bound of the scalar.
|
||||
maxlum -> the high-bound of the scalar.
|
||||
desc: Same as above, but only considers UV light.
|
||||
args:
|
||||
minlum -> the low-bound of the scalar.
|
||||
maxlum -> the high-bound of the scalar.
|
||||
*/
|
||||
|
||||
@@ -194,4 +194,4 @@
|
||||
|
||||
#undef QUEUE_UPDATE
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
/turf/proc/generate_missing_corners()
|
||||
if (!dynamic_lighting && !light_sources)
|
||||
return
|
||||
|
||||
|
||||
lighting_corners_initialised = TRUE
|
||||
if (!corners)
|
||||
corners = list(null, null, null, null)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
place_near_main = list(1, 1)
|
||||
|
||||
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/update_icon()
|
||||
icon_state = "asteroid[rand(1,3)]"
|
||||
icon_state = "asteroid[rand(1,3)]"
|
||||
|
||||
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/generate_planet_image()
|
||||
skybox_image = image('icons/skybox/skybox_rock_128.dmi', "bigrock")
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
- House interiors
|
||||
- Individual custom player houses
|
||||
- Virtually unlimited terrain
|
||||
- Sharing maps between servers running different instances of the same
|
||||
game
|
||||
- Sharing maps between servers running different instances of the same game
|
||||
- Loading and saving pieces of maps for reusable room templates
|
||||
*/
|
||||
|
||||
@@ -58,7 +57,7 @@
|
||||
SwapMaps_CreateFromTemplate(id)
|
||||
Create a new map by loading another map to use as a template.
|
||||
This map has id==src and will not be saved. To make it savable,
|
||||
change id with swapmap.SetID(newid).
|
||||
change id with swapmap.SetID(newid).
|
||||
SwapMaps_LoadChunk(id,turf/locorner)
|
||||
Load a swapmap as a "chunk", at a specific place. A new datum is
|
||||
created but it's not added to the list of maps to save or unload.
|
||||
@@ -79,16 +78,16 @@
|
||||
Cache an icon file by name for space-saving storage
|
||||
|
||||
swapmap.New(id,x,y,z)
|
||||
Create a new map; specify id, width (x), height (y), and
|
||||
depth (z)
|
||||
Create a new map; specify id, width (x), height (y), and depth (z)
|
||||
Default size is world.maxx,world.maxy,1
|
||||
|
||||
swapmap.New(id,turf1,turf2)
|
||||
Create a new map; specify id and 2 corners
|
||||
This becomes a /swapmap for one of the compiled-in maps, for
|
||||
easy saving.
|
||||
This becomes a /swapmap for one of the compiled-in maps, for easy saving.
|
||||
|
||||
swapmap.New()
|
||||
Create a new map datum, but does not allocate space or assign an
|
||||
ID (used for loading).
|
||||
Create a new map datum, but does not allocate space or assign an ID (used for loading).
|
||||
|
||||
swapmap.Del()
|
||||
Deletes a map but does not save
|
||||
swapmap.Save()
|
||||
@@ -100,30 +99,28 @@
|
||||
swapmap.SetID(id)
|
||||
Change the map's id and make changes to the lookup list
|
||||
swapmap.AllTurfs(z)
|
||||
Returns a block of turfs encompassing the entire map, or on just
|
||||
one z-level
|
||||
Returns a block of turfs encompassing the entire map, or on just one z-level
|
||||
z is in world coordinates; it is optional
|
||||
|
||||
swapmap.Contains(turf/T)
|
||||
Returns nonzero if T is inside the map's boundaries.
|
||||
Also works for objs and mobs, but the proc is not area-safe.
|
||||
swapmap.InUse()
|
||||
Returns nonzero if a mob with a key is within the map's
|
||||
boundaries.
|
||||
Returns nonzero if a mob with a key is within the map's boundaries.
|
||||
|
||||
swapmap.LoCorner(z=z1)
|
||||
Returns locate(x1,y1,z), where z=z1 if none is specified.
|
||||
swapmap.HiCorner(z=z2)
|
||||
Returns locate(x2,y2,z), where z=z2 if none is specified.
|
||||
swapmap.BuildFilledRectangle(turf/corner1,turf/corner2,item)
|
||||
Builds a filled rectangle of item from one corner turf to the
|
||||
other, on multiple z-levels if necessary. The corners may be
|
||||
specified in any order.
|
||||
Builds a filled rectangle of item from one corner turf to the other, on multiple z-levels if necessary. The corners may be specified in any order.
|
||||
item is a type path like /turf/wall or /obj/barrel{full=1}.
|
||||
|
||||
swapmap.BuildRectangle(turf/corner1,turf/corner2,item)
|
||||
Builds an unfilled rectangle of item from one corner turf to
|
||||
the other, on multiple z-levels if necessary.
|
||||
Builds an unfilled rectangle of item from one corner turf to the other, on multiple z-levels if necessary.
|
||||
|
||||
swapmap.BuildInTurfs(list/turfs,item)
|
||||
Builds item on all of the turfs listed. The list need not
|
||||
contain only turfs, or even only atoms.
|
||||
Builds item on all of the turfs listed. The list need not contain only turfs, or even only atoms.
|
||||
*/
|
||||
|
||||
/swapmap
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if(!D.stat && !D.weakened)
|
||||
A.do_attack_animation(D)
|
||||
D.visible_message("<span class='warning'>[A] knees [D] in the stomach!</span>", \
|
||||
"<span class='danger'>[A] winds you with a knee in the stomach!</span>")
|
||||
"<span class='danger'>[A] winds you with a knee in the stomach!</span>")
|
||||
D.audible_message("<b>[D]</b> gags!")
|
||||
if (!(D.species.flags & NO_BREATHE))
|
||||
D.losebreath += 3
|
||||
@@ -75,7 +75,7 @@
|
||||
if(!D.stat && !D.weakened)
|
||||
A.do_attack_animation(D)
|
||||
D.visible_message("<span class='warning'>[A] kicks [D] in the head!</span>", \
|
||||
"<span class='danger'>[A] kicks you in the jaw!</span>")
|
||||
"<span class='danger'>[A] kicks you in the jaw!</span>")
|
||||
D.apply_damage(20, DAMAGE_BRUTE, BP_HEAD)
|
||||
D.drop_item()
|
||||
playsound(get_turf(D), "punch", 50, 1, -1)
|
||||
@@ -134,4 +134,4 @@
|
||||
#undef BACK_KICK_COMBO
|
||||
#undef STOMACH_KNEE_COMBO
|
||||
#undef HEAD_KICK_COMBO
|
||||
#undef ELBOW_DROP_COMBO
|
||||
#undef ELBOW_DROP_COMBO
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
A.do_attack_animation(D)
|
||||
var/atk_verb = pick("slices", "pinches", "chops", "bites", "claws")
|
||||
D.visible_message("<span class='danger'>[A] [atk_verb] [D]!</span>", \
|
||||
"<span class='danger'>[A] [atk_verb] you!</span>")
|
||||
"<span class='danger'>[A] [atk_verb] you!</span>")
|
||||
D.apply_damage(rand(5,15), DAMAGE_BRUTE, damage_flags = DAMAGE_FLAG_SHARP)
|
||||
playsound(get_turf(D), 'sound/weapons/slash.ogg', 25, 1, -1)
|
||||
|
||||
@@ -98,4 +98,4 @@
|
||||
|
||||
#undef PIERCING_STRIKE
|
||||
#undef SWIFT_BITE
|
||||
#undef CRUSHING_JAWS
|
||||
#undef CRUSHING_JAWS
|
||||
|
||||
@@ -111,4 +111,4 @@
|
||||
icon_state = "coin_[cmineral]_[comment]"
|
||||
playsound(get_turf(src), 'sound/items/coinflip.ogg', 100, 1, -4)
|
||||
user.visible_message(SPAN_NOTICE("\The [user] throws \the [src]. It lands on [comment]!"), \
|
||||
SPAN_NOTICE("You throw \the [src]. It lands on [comment]!"))
|
||||
SPAN_NOTICE("You throw \the [src]. It lands on [comment]!"))
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/obj/item/pickaxe/diamond = /obj/item/rig_module/device/drill,
|
||||
/obj/item/gun/energy/vaurca/thermaldrill = /obj/item/rig_module/mounted/thermalldrill
|
||||
)
|
||||
|
||||
|
||||
/obj/machinery/mineral/rigpress/Initialize()
|
||||
. = ..()
|
||||
for(var/press_type in press_types)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/obj/machinery/camera/c = source
|
||||
if(!c.can_use())
|
||||
continue
|
||||
|
||||
|
||||
for(var/turf/t in c.can_see())
|
||||
visible[t] = t
|
||||
else if(isAI(source))
|
||||
@@ -21,4 +21,4 @@
|
||||
visible[t] = t
|
||||
else
|
||||
log_visualnet("Contained an unhandled source", source)
|
||||
sources -= source
|
||||
sources -= source
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user