my eyes hurt

This commit is contained in:
LetterJay
2017-08-22 01:42:20 -05:00
parent 2241f5ecfb
commit b01a24c95b
215 changed files with 609 additions and 609 deletions
+5 -5
View File
@@ -147,15 +147,15 @@ GLOBAL_PROTECT(admin_ranks)
load_admin_ranks()
return
var/datum/DBQuery/query_load_admin_ranks = SSdbcore.NewQuery("SELECT rank, flags FROM [format_table_name("admin_ranks")]")
var/datum/DBQuery/query_load_admin_ranks = SSdbcore.NewQuery("SELECT rank, flags_1 FROM [format_table_name("admin_ranks")]")
if(!query_load_admin_ranks.Execute())
return
while(query_load_admin_ranks.NextRow())
var/rank_name = ckeyEx(query_load_admin_ranks.item[1])
var/flags = query_load_admin_ranks.item[2]
if(istext(flags))
flags = text2num(flags)
var/datum/admin_rank/R = new(rank_name, flags)
var/flags_1 = query_load_admin_ranks.item[2]
if(istext(flags_1))
flags_1 = text2num(flags_1)
var/datum/admin_rank/R = new(rank_name, flags_1)
if(!R)
continue
GLOB.admin_ranks += R
+1 -1
View File
@@ -27,7 +27,7 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin())
return list(
/client/proc/invisimin, /*allows our mob to go invisible/visible*/
// /datum/admins/proc/show_traitor_panel, /*interface which shows a mob's mind*/ -Removed due to rare practical use. Moved to debug verbs ~Errorage
/datum/admins/proc/show_player_panel, /*shows an interface for individual players, with various links (links require additional flags*/
/datum/admins/proc/show_player_panel, /*shows an interface for individual players, with various links (links require additional flags_1*/
/client/proc/game_panel, /*game panel, allows to change game-mode etc*/
/client/proc/check_ai_laws, /*shows AI and borg laws*/
/datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/
+7 -7
View File
@@ -31,11 +31,11 @@ GLOBAL_PROTECT(admin_datums)
GLOB.admin_datums[ckey] = src
/datum/admins/proc/associate(client/C)
if(IsAdminAdvancedProcCall())
var/msg = " has tried to elevate permissions!"
message_admins("[key_name_admin(usr)][msg]")
log_admin_private("[key_name(usr)][msg]")
return
if(IsAdminAdvancedProcCall())
var/msg = " has tried to elevate permissions!"
message_admins("[key_name_admin(usr)][msg]")
log_admin_private("[key_name(usr)][msg]")
return
if(istype(C))
owner = C
owner.holder = src
@@ -66,7 +66,7 @@ GLOBAL_PROTECT(admin_datums)
return FALSE //nice try trialmin
/*
checks if usr is an admin with at least ONE of the flags in rights_required. (Note, they don't need all the flags)
checks if usr is an admin with at least ONE of the flags_1 in rights_required. (Note, they don't need all the flags_1)
if rights_required == 0, then it simply checks if they are an admin.
if it doesn't return 1 and show_msg=1 it will prints a message explaining why the check has failed
generally it would be used like so:
@@ -84,7 +84,7 @@ you will have to do something like if(client.rights & R_ADMIN) yourself.
return 1
else
if(show_msg)
to_chat(usr, "<font color='red'>Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].</font>")
to_chat(usr, "<font color='red'>Error: You do not have sufficient rights to do that. You require one of the following flags_1:[rights2text(rights_required," ")].</font>")
return 0
//probably a bit iffy - will hopefully figure out a better solution
+1 -1
View File
@@ -77,7 +77,7 @@
if (!SSipintel.enabled)
return
var/list/http[] = world.Export("http://[config.ipintel_domain]/check.php?ip=[ip]&contact=[config.ipintel_email]&format=json&flags=f")
var/list/http[] = world.Export("http://[config.ipintel_domain]/check.php?ip=[ip]&contact=[config.ipintel_email]&format=json&flags_1=f")
if (http)
var/status = text2num(http["STATUS"])
@@ -86,7 +86,7 @@
admin_id = text2num(query_get_admin.item[1])
if(new_admin)
var/datum/DBQuery/query_add_admin = SSdbcore.NewQuery("INSERT INTO `[format_table_name("admin")]` (`id`, `ckey`, `rank`, `level`, `flags`) VALUES (null, '[adm_ckey]', '[new_rank]', -1, 0)")
var/datum/DBQuery/query_add_admin = SSdbcore.NewQuery("INSERT INTO `[format_table_name("admin")]` (`id`, `ckey`, `rank`, `level`, `flags_1`) VALUES (null, '[adm_ckey]', '[new_rank]', -1, 0)")
if(!query_add_admin.warn_execute())
return
var/datum/DBQuery/query_add_admin_log = SSdbcore.NewQuery("INSERT INTO `[format_table_name("admin_log")]` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');")
@@ -119,7 +119,7 @@
if(!adm_ckey || !istext(adm_ckey) || !isnum(new_permission))
return
var/datum/DBQuery/query_get_perms = SSdbcore.NewQuery("SELECT id, flags FROM [format_table_name("admin")] WHERE ckey = '[adm_ckey]'")
var/datum/DBQuery/query_get_perms = SSdbcore.NewQuery("SELECT id, flags_1 FROM [format_table_name("admin")] WHERE ckey = '[adm_ckey]'")
if(!query_get_perms.warn_execute())
return
@@ -130,7 +130,7 @@
if(!admin_id)
return
var/datum/DBQuery/query_change_perms = SSdbcore.NewQuery("UPDATE `[format_table_name("admin")]` SET flags = [new_permission] WHERE id = [admin_id]")
var/datum/DBQuery/query_change_perms = SSdbcore.NewQuery("UPDATE `[format_table_name("admin")]` SET flags_1 = [new_permission] WHERE id = [admin_id]")
if(!query_change_perms.warn_execute())
return
var/datum/DBQuery/query_change_perms_log = SSdbcore.NewQuery("INSERT INTO `[format_table_name("admin_log")]` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edit permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]');")
@@ -3,8 +3,8 @@
/proc/_abs(A)
return abs(A)
/*/proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags = null)
animate(A, set_vars, time, loop, easing, flags)
/*/proc/_animate(atom/A, set_vars, time = 10, loop = 1, easing = LINEAR_EASING, flags_1 = null)
animate(A, set_vars, time, loop, easing, flags_1)
Borked. If anyone wants to fix this be my guest.*/
/proc/_acrccos(A)
@@ -112,8 +112,8 @@
/proc/_range(Dist, Center = usr)
return range(Dist, Center)
/proc/_regex(pattern, flags)
return regex(pattern, flags)
/proc/_regex(pattern, flags_1)
return regex(pattern, flags_1)
/proc/_REGEX_QUOTE(text)
return REGEX_QUOTE(text)
+1 -1
View File
@@ -8,7 +8,7 @@
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 2
throw_range = 4
flags = CONDUCT
flags_1 = CONDUCT_1
var/status = FALSE //0 - not readied //1 - bomb finished with welder
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a plasma tank
@@ -734,7 +734,7 @@
update_icon()
/obj/machinery/airalarm/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/metal(loc, 2)
var/obj/item/I = new /obj/item/weapon/electronics/airalarm(loc)
if(!disassembled)
@@ -257,7 +257,7 @@
return 1
//There is no easy way for an object to be notified of changes to atmos can pass flags
//There is no easy way for an object to be notified of changes to atmos can pass flags_1
// So we check every machinery process (2 seconds)
/obj/machinery/atmospherics/components/unary/vent_scrubber/process()
if (widenet)
@@ -35,7 +35,6 @@
/obj/item/weapon/twohanded/ctf/Initialize()
. = ..()
SET_SECONDARY_FLAG(src, SLOWS_WHILE_IN_HAND)
if(!reset)
reset = new reset_path(get_turf(src))
@@ -474,14 +473,14 @@
W.registered_name = H.real_name
W.update_label(W.registered_name, W.assignment)
// The shielded hardsuit is already NODROP
// The shielded hardsuit is already NODROP_1
no_drops += H.get_item_by_slot(slot_gloves)
no_drops += H.get_item_by_slot(slot_shoes)
no_drops += H.get_item_by_slot(slot_w_uniform)
no_drops += H.get_item_by_slot(slot_ears)
for(var/i in no_drops)
var/obj/item/I = i
I.flags |= NODROP
I.flags_1 |= NODROP_1
/datum/outfit/ctf/instagib
r_hand = /obj/item/weapon/gun/energy/laser/instakill
@@ -533,6 +532,7 @@
var/team = WHITE_TEAM
time_between_triggers = 1
anchored = TRUE
flags_2 = SLOWS_WHILE_IN_HAND_2
alpha = 255
/obj/structure/trap/examine(mob/user)
+14 -14
View File
@@ -170,30 +170,30 @@
var/obj/item/I = target
var/mob/living/M = owner
var/flags = I.slot_flags
if(flags & SLOT_OCLOTHING)
var/flags_1 = I.slot_flags
if(flags_1 & SLOT_OCLOTHING)
M.update_inv_wear_suit()
if(flags & SLOT_ICLOTHING)
if(flags_1 & SLOT_ICLOTHING)
M.update_inv_w_uniform()
if(flags & SLOT_GLOVES)
if(flags_1 & SLOT_GLOVES)
M.update_inv_gloves()
if(flags & SLOT_EYES)
if(flags_1 & SLOT_EYES)
M.update_inv_glasses()
if(flags & SLOT_EARS)
if(flags_1 & SLOT_EARS)
M.update_inv_ears()
if(flags & SLOT_MASK)
if(flags_1 & SLOT_MASK)
M.update_inv_wear_mask()
if(flags & SLOT_HEAD)
if(flags_1 & SLOT_HEAD)
M.update_inv_head()
if(flags & SLOT_FEET)
if(flags_1 & SLOT_FEET)
M.update_inv_shoes()
if(flags & SLOT_ID)
if(flags_1 & SLOT_ID)
M.update_inv_wear_id()
if(flags & SLOT_BELT)
if(flags_1 & SLOT_BELT)
M.update_inv_belt()
if(flags & SLOT_BACK)
if(flags_1 & SLOT_BACK)
M.update_inv_back()
if(flags & SLOT_NECK)
if(flags_1 & SLOT_NECK)
M.update_inv_neck()
/obj/item/clothing/under/chameleon
@@ -384,7 +384,7 @@
item_color = "black"
desc = "A pair of black shoes."
permeability_coefficient = 0.05
flags = NOSLIP
flags_1 = NOSLIP_1
origin_tech = "syndicate=2"
resistance_flags = 0
pockets = /obj/item/weapon/storage/internal/pocket/shoes
+3 -3
View File
@@ -7,7 +7,7 @@
var/flash_protect = 0 //What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS
var/tint = 0 //Sets the item's level of visual impairment tint, normally set to the same as flash_protect
var/up = 0 //but separated to allow items to protect but not impair vision, like space helmets
var/visor_flags = 0 //flags that are added/removed when an item is adjusted up/down
var/visor_flags = 0 //flags_1 that are added/removed when an item is adjusted up/down
var/visor_flags_inv = 0 //same as visor_flags, but for flags_inv
var/visor_flags_cover = 0 //same as above, but for flags_cover
//what to toggle when toggled with weldingvisortoggle()
@@ -494,7 +494,7 @@ BLIND // can't see anything
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals)
slowdown = 1
@@ -783,7 +783,7 @@ BLIND // can't see anything
A.UpdateButtonIcon()
return TRUE
/obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags
/obj/item/clothing/proc/visor_toggling() //handles all the actual toggling of flags_1
up = !up
flags_1 ^= visor_flags
flags_inv ^= visor_flags_inv
+1 -1
View File
@@ -331,7 +331,7 @@
vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS
darkness_view = 8
scan_reagents = 1
flags = NODROP
flags_1 = NODROP_1
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
/obj/item/clothing/glasses/godeye/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
+1 -1
View File
@@ -10,7 +10,7 @@
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
heat_protection = HEAD
max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
flags = STOPSPRESSUREDMAGE
flags_1 = STOPSPRESSUREDMAGE_1
strip_delay = 80
dog_fashion = null
+1 -1
View File
@@ -348,7 +348,7 @@
w_class = WEIGHT_CLASS_BULKY
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/weapon/restraints/handcuffs, /obj/item/weapon/tank/internals/emergency_oxygen)
flags = THICKMATERIAL
flags_1 = THICKMATERIAL_1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
+1 -1
View File
@@ -18,7 +18,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
flags = THICKMATERIAL
flags_1 = THICKMATERIAL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 1
allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/pen, /obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray)
+2 -2
View File
@@ -21,7 +21,7 @@
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/extinguisher, /obj/item/weapon/crowbar)
slowdown = 1
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags = STOPSPRESSUREDMAGE | THICKMATERIAL
flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
@@ -124,7 +124,7 @@
w_class = WEIGHT_CLASS_BULKY
gas_transfer_coefficient = 0.90
permeability_coefficient = 0.50
flags = THICKMATERIAL
flags_1 = THICKMATERIAL_1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/device/geiger_counter)
slowdown = 1.5
+1 -1
View File
@@ -96,7 +96,7 @@
else
if(istype(I, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RC = I
if(RC.container_type & OPENCONTAINER)
if(RC.container_type & OPENCONTAINER_1)
for(var/datum/reagent/A in RC.reagents.reagent_list)
.[A.type] += A.volume
.[I.type] += 1
+1 -1
View File
@@ -6,7 +6,7 @@
icon_state = null
alpha = 0
invisibility = INVISIBILITY_ABSTRACT
flags = ABSTRACT|ON_BORDER
flags_1 = ABSTRACT_1|ON_BORDER_1
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
var/datum/proximity_monitor/advanced/parent = null
@@ -362,7 +362,7 @@
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/attack_self(mob/user)
if(!is_open_container())
to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
playsound(src, "can_open", 50, 1)
spillable = TRUE
return
+1 -1
View File
@@ -4,7 +4,7 @@
/obj/item/weapon/reagent_containers/food
possible_transfer_amounts = list()
volume = 50 //Sets the default container amount for all food items.
container_type = INJECTABLE
container_type = INJECTABLE_1
resistance_flags = FLAMMABLE
var/foodtype = NONE
var/last_check_time
@@ -15,7 +15,7 @@ insert ascii eagle on american flag background here
anchored = TRUE
use_power = IDLE_POWER_USE
idle_power_usage = 5
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
var/obj/item/frying = null //What's being fried RIGHT NOW?
var/cook_time = 0
var/static/list/deepfry_blacklisted_items = typecacheof(list(
@@ -15,7 +15,7 @@
var/portion = 10
var/selected_drink
var/list/stored_food = list()
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
var/obj/item/weapon/reagent_containers/mixer
/obj/machinery/food_cart/Initialize()
@@ -14,7 +14,7 @@
anchored = FALSE
use_power = NO_POWER_USE
layer = BELOW_OBJ_LAYER
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
max_integrity = 300
var/list/product_types = list()
var/dispense_flavour = ICECREAM_VANILLA
+6 -6
View File
@@ -57,7 +57,7 @@
last_change = world.time
active = (A != offline_program)
use_power = active ? ACTIVE_POWER_USE : IDLE_POWER_USE
use_power = active ? ACTIVE_POWER_USE : IDLE_POWER_USE
for(var/obj/effect/holodeck_effect/HE in effects)
HE.deactivate(src)
@@ -71,9 +71,9 @@
// this is an exercise left to others I'm afraid. -Sayu
spawned = A.copy_contents_to(linked, 1, nerf_weapons = !emagged)
for(var/obj/machinery/M in spawned)
M.flags |= NODECONSTRUCT
M.flags_1 |= NODECONSTRUCT_1
for(var/obj/structure/S in spawned)
S.flags |= NODECONSTRUCT
S.flags_1 |= NODECONSTRUCT_1
effects = list()
spawn(30)
@@ -86,9 +86,9 @@
spawned += x // holocarp are not forever
added += x
for(var/obj/machinery/M in added)
M.flags |= NODECONSTRUCT
M.flags_1 |= NODECONSTRUCT_1
for(var/obj/structure/S in added)
S.flags |= NODECONSTRUCT
S.flags_1 |= NODECONSTRUCT_1
/obj/machinery/computer/holodeck/proc/derez(var/obj/obj, var/silent = 1, var/forced = 0)
// Emagging a machine creates an anomaly in the derez systems.
@@ -108,4 +108,4 @@
if(!silent)
visible_message("The [obj.name] fades away!")
qdel(obj)
qdel(obj)
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "Syndicate operatives can use a series of codewords to convey complex information, while sounding like random concepts and drinks to anyone listening in."
key = "t"
default_priority = 0
flags = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD
flags_1 = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD
icon_state = "codespeak"
/datum/language/codespeak/scramble(input)
+1 -1
View File
@@ -5,7 +5,7 @@
speech_verb = "says"
whisper_verb = "whispers"
key = "0"
flags = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_UNDERSTOOD
flags_1 = TONGUELESS_SPEECH | LANGUAGE_HIDE_ICON_IF_UNDERSTOOD
default_priority = 100
icon_state = "galcom"
+1 -1
View File
@@ -5,7 +5,7 @@
ask_verb = "hisses"
exclaim_verb = "roars"
key = "o"
flags = TONGUELESS_SPEECH
flags_1 = TONGUELESS_SPEECH
space_chance = 40
syllables = list(
"za", "az", "ze", "ez", "zi", "iz", "zo", "oz", "zu", "uz", "zs", "sz",
+2 -2
View File
@@ -1,12 +1,12 @@
/datum/language/drone
name = "Drone"
desc = "A heavily encoded damage control coordination stream, with special flags for hats."
desc = "A heavily encoded damage control coordination stream, with special flags_1 for hats."
speech_verb = "chitters"
ask_verb = "chitters inquisitively"
exclaim_verb = "chitters loudly"
spans = list(SPAN_ROBOT)
key = "d"
flags = NO_STUTTER
flags_1 = NO_STUTTER
syllables = list(".", "|")
// ...|..||.||||.|.||.|.|.|||.|||
space_chance = 0
+4 -4
View File
@@ -11,10 +11,10 @@
var/ask_verb = "asks" // Used when sentence ends in a ?
var/exclaim_verb = "exclaims" // Used when sentence ends in a !
var/whisper_verb = "whispers" // Optional. When not specified speech_verb + quietly/softly is used instead.
var/list/signlang_verb = list("signs", "gestures") // list of emotes that might be displayed if this language has NONVERBAL or SIGNLANG flags
var/list/signlang_verb = list("signs", "gestures") // list of emotes that might be displayed if this language has NONVERBAL or SIGNLANG flags_1
var/key // Character used to speak in language
// If key is null, then the language isn't real or learnable.
var/flags // Various language flags.
var/flags_1 // Various language flags_1.
var/list/syllables // Used when scrambling text for a non-speaker.
var/sentence_chance = 5 // Likelihood of making a new sentence after each syllable.
var/space_chance = 55 // Likelihood of getting a space in the random scramble string
@@ -28,9 +28,9 @@
/datum/language/proc/display_icon(atom/movable/hearer)
var/understands = hearer.has_language(src.type)
if(flags & LANGUAGE_HIDE_ICON_IF_UNDERSTOOD && understands)
if(flags_1 & LANGUAGE_HIDE_ICON_IF_UNDERSTOOD && understands)
return FALSE
if(flags & LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD && !understands)
if(flags_1 & LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD && !understands)
return FALSE
return TRUE
+1 -1
View File
@@ -6,7 +6,7 @@
exclaim_verb = "whistles loudly"
spans = list(SPAN_ROBOT)
key = "6"
flags = NO_STUTTER
flags_1 = NO_STUTTER
syllables = list("beep","beep","beep","beep","beep","boop","boop","boop","bop","bop","dee","dee","doo","doo","hiss","hss","buzz","buzz","bzz","ksssh","keey","wurr","wahh","tzzz")
space_chance = 10
default_priority = 90
+1 -1
View File
@@ -6,7 +6,7 @@
exclaim_verb = "tones loudly"
spans = list(SPAN_ROBOT)
key = "s"
flags = NO_STUTTER
flags_1 = NO_STUTTER
space_chance = 100
sentence_chance = 0
default_priority = 60
+1 -1
View File
@@ -27,7 +27,7 @@ dmm_suite{
write_map(), which accepts three arguments:
- A turf representing one corner of a three dimensional grid (Required).
- Another turf representing the other corner of the same grid (Required).
- Any, or a combination, of several bit flags (Optional, see documentation).
- Any, or a combination, of several bit flags_1 (Optional, see documentation).
The order in which the turfs are supplied does not matter, the /dmm_writer will
determine the grid containing both, in much the same way as DM's block() function.
@@ -73,7 +73,7 @@
plane = FULLSCREEN_PLANE
layer = FLASH_LAYER
icon = 'icons/effects/ore_visuals.dmi'
appearance_flags = 0 //to avoid having TILE_BOUND in the flags, so that the 480x480 icon states let you see it no matter where you are
appearance_flags = 0 //to avoid having TILE_BOUND in the flags_1, so that the 480x480 icon states let you see it no matter where you are
duration = 35
pixel_x = -224
pixel_y = -224
@@ -62,7 +62,7 @@
/obj/item/weapon/pickaxe/drill/cyborg
name = "cyborg mining drill"
desc = "An integrated electric mining drill."
flags = NODROP
flags_1 = NODROP_1
/obj/item/weapon/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill"
@@ -72,7 +72,7 @@
desc = "Yours is the drill that will pierce the heavens!"
/obj/item/weapon/pickaxe/drill/cyborg/diamond //This is the BORG version!
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics.
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics.
icon_state = "diamonddrill"
digspeed = 7
@@ -167,7 +167,7 @@
pixel_y = -32
/obj/item/device/gps/computer/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
if(istype(W, /obj/item/weapon/wrench) && !(flags_1&NODECONSTRUCT_1))
playsound(src.loc, W.usesound, 50, 1)
user.visible_message("<span class='warning'>[user] disassembles the gps.</span>", \
"<span class='notice'>You start to disassemble the gps...</span>", "You hear clanking and banging noises.")
@@ -198,7 +198,7 @@
light_color = "#DDFFD3"
max_n_of_items = 10
pixel_y = -4
flags = NODECONSTRUCT
flags_1 = NODECONSTRUCT_1
var/empty = FALSE
/obj/machinery/smartfridge/survival_pod/Initialize(mapload)
@@ -237,13 +237,13 @@
CanAtmosPass = ATMOS_PASS_NO
/obj/structure/fans/deconstruct()
if(!(flags & NODECONSTRUCT))
if(!(flags_1 & NODECONSTRUCT_1))
if(buildstacktype)
new buildstacktype(loc,buildstackamount)
qdel(src)
/obj/structure/fans/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT))
if(istype(W, /obj/item/weapon/wrench) && !(flags_1&NODECONSTRUCT_1))
playsound(src.loc, W.usesound, 50, 1)
user.visible_message("<span class='warning'>[user] disassembles the fan.</span>", \
"<span class='notice'>You start to disassemble the fan...</span>", "You hear clanking and banging noises.")
+2 -2
View File
@@ -132,13 +132,13 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER)
/mob/dead/observer/narsie_act()
var/old_color = color
color = "#960000"
animate(src, color = old_color, time = 10, flags = ANIMATION_PARALLEL)
animate(src, color = old_color, time = 10, flags_1 = ANIMATION_PARALLEL)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 10)
/mob/dead/observer/ratvar_act()
var/old_color = color
color = "#FAE48C"
animate(src, color = old_color, time = 10, flags = ANIMATION_PARALLEL)
animate(src, color = old_color, time = 10, flags_1 = ANIMATION_PARALLEL)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 10)
/mob/dead/observer/Destroy()
+1 -1
View File
@@ -167,7 +167,7 @@
if(iscarbon(src))
var/mob/living/carbon/C = src
for(var/obj/item/weapon/bloodcrawl/BC in C)
BC.flags = null
BC.flags_1 = null
qdel(BC)
qdel(src.holder)
src.holder = null
+2 -2
View File
@@ -220,7 +220,7 @@
if(href_list["internal"])
var/slot = text2num(href_list["internal"])
var/obj/item/ITEM = get_item_by_slot(slot)
if(ITEM && istype(ITEM, /obj/item/weapon/tank) && wear_mask && (wear_mask.flags & MASKINTERNALS))
if(ITEM && istype(ITEM, /obj/item/weapon/tank) && wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1))
visible_message("<span class='danger'>[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].</span>", \
"<span class='userdanger'>[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].</span>")
if(do_mob(usr, src, POCKET_STRIP_DELAY))
@@ -228,7 +228,7 @@
internal = null
update_internals_hud_icon(0)
else if(ITEM && istype(ITEM, /obj/item/weapon/tank))
if((wear_mask && (wear_mask.flags & MASKINTERNALS)) || getorganslot("breathing_tube"))
if((wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) || getorganslot("breathing_tube"))
internal = ITEM
update_internals_hud_icon(1)
+16 -16
View File
@@ -145,42 +145,42 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
dat += "<table>"
for(var/i in 1 to held_items.len)
var/obj/item/I = get_item_for_held_index(i)
dat += "<tr><td><B>[get_held_index_name(i)]:</B></td><td><A href='?src=\ref[src];item=[slot_hands];hand_index=[i]'>[(I && !(I.flags & ABSTRACT)) ? I : "<font color=grey>Empty</font>"]</a></td></tr>"
dat += "<tr><td><B>[get_held_index_name(i)]:</B></td><td><A href='?src=\ref[src];item=[slot_hands];hand_index=[i]'>[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "<font color=grey>Empty</font>"]</a></td></tr>"
dat += "<tr><td>&nbsp;</td></tr>"
dat += "<tr><td><B>Back:</B></td><td><A href='?src=\ref[src];item=[slot_back]'>[(back && !(back.flags&ABSTRACT)) ? back : "<font color=grey>Empty</font>"]</A>"
dat += "<tr><td><B>Back:</B></td><td><A href='?src=\ref[src];item=[slot_back]'>[(back && !(back.flags_1&ABSTRACT_1)) ? back : "<font color=grey>Empty</font>"]</A>"
if(has_breathable_mask && istype(back, /obj/item/weapon/tank))
dat += "&nbsp;<A href='?src=\ref[src];internal=[slot_back]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
dat += "</td></tr><tr><td>&nbsp;</td></tr>"
dat += "<tr><td><B>Head:</B></td><td><A href='?src=\ref[src];item=[slot_head]'>[(head && !(head.flags&ABSTRACT)) ? head : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Head:</B></td><td><A href='?src=\ref[src];item=[slot_head]'>[(head && !(head.flags_1&ABSTRACT_1)) ? head : "<font color=grey>Empty</font>"]</A></td></tr>"
if(slot_wear_mask in obscured)
dat += "<tr><td><font color=grey><B>Mask:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Mask:</B></td><td><A href='?src=\ref[src];item=[slot_wear_mask]'>[(wear_mask && !(wear_mask.flags&ABSTRACT)) ? wear_mask : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Mask:</B></td><td><A href='?src=\ref[src];item=[slot_wear_mask]'>[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "<font color=grey>Empty</font>"]</A></td></tr>"
if(slot_neck in obscured)
dat += "<tr><td><font color=grey><B>Neck:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Neck:</B></td><td><A href='?src=\ref[src];item=[slot_neck]'>[(wear_neck && !(wear_neck.flags&ABSTRACT)) ? wear_neck : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Neck:</B></td><td><A href='?src=\ref[src];item=[slot_neck]'>[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "<font color=grey>Empty</font>"]</A></td></tr>"
if(slot_glasses in obscured)
dat += "<tr><td><font color=grey><B>Eyes:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Eyes:</B></td><td><A href='?src=\ref[src];item=[slot_glasses]'>[(glasses && !(glasses.flags&ABSTRACT)) ? glasses : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Eyes:</B></td><td><A href='?src=\ref[src];item=[slot_glasses]'>[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "<font color=grey>Empty</font>"]</A></td></tr>"
if(slot_ears in obscured)
dat += "<tr><td><font color=grey><B>Ears:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Ears:</B></td><td><A href='?src=\ref[src];item=[slot_ears]'>[(ears && !(ears.flags&ABSTRACT)) ? ears : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Ears:</B></td><td><A href='?src=\ref[src];item=[slot_ears]'>[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td>&nbsp;</td></tr>"
dat += "<tr><td><B>Exosuit:</B></td><td><A href='?src=\ref[src];item=[slot_wear_suit]'>[(wear_suit && !(wear_suit.flags&ABSTRACT)) ? wear_suit : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Exosuit:</B></td><td><A href='?src=\ref[src];item=[slot_wear_suit]'>[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "<font color=grey>Empty</font>"]</A></td></tr>"
if(wear_suit)
dat += "<tr><td>&nbsp;&#8627;<B>Suit Storage:</B></td><td><A href='?src=\ref[src];item=[slot_s_store]'>[(s_store && !(s_store.flags&ABSTRACT)) ? s_store : "<font color=grey>Empty</font>"]</A>"
dat += "<tr><td>&nbsp;&#8627;<B>Suit Storage:</B></td><td><A href='?src=\ref[src];item=[slot_s_store]'>[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "<font color=grey>Empty</font>"]</A>"
if(has_breathable_mask && istype(s_store, /obj/item/weapon/tank))
dat += "&nbsp;<A href='?src=\ref[src];internal=[slot_s_store]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
dat += "</td></tr>"
@@ -190,30 +190,30 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
if(slot_shoes in obscured)
dat += "<tr><td><font color=grey><B>Shoes:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Shoes:</B></td><td><A href='?src=\ref[src];item=[slot_shoes]'>[(shoes && !(shoes.flags&ABSTRACT)) ? shoes : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Shoes:</B></td><td><A href='?src=\ref[src];item=[slot_shoes]'>[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "<font color=grey>Empty</font>"]</A></td></tr>"
if(slot_gloves in obscured)
dat += "<tr><td><font color=grey><B>Gloves:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Gloves:</B></td><td><A href='?src=\ref[src];item=[slot_gloves]'>[(gloves && !(gloves.flags&ABSTRACT)) ? gloves : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Gloves:</B></td><td><A href='?src=\ref[src];item=[slot_gloves]'>[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "<font color=grey>Empty</font>"]</A></td></tr>"
if(slot_w_uniform in obscured)
dat += "<tr><td><font color=grey><B>Uniform:</B></font></td><td><font color=grey>Obscured</font></td></tr>"
else
dat += "<tr><td><B>Uniform:</B></td><td><A href='?src=\ref[src];item=[slot_w_uniform]'>[(w_uniform && !(w_uniform.flags&ABSTRACT)) ? w_uniform : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td><B>Uniform:</B></td><td><A href='?src=\ref[src];item=[slot_w_uniform]'>[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "<font color=grey>Empty</font>"]</A></td></tr>"
if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (slot_w_uniform in obscured))
dat += "<tr><td><font color=grey>&nbsp;&#8627;<B>Pockets:</B></font></td></tr>"
dat += "<tr><td><font color=grey>&nbsp;&#8627;<B>ID:</B></font></td></tr>"
dat += "<tr><td><font color=grey>&nbsp;&#8627;<B>Belt:</B></font></td></tr>"
else
dat += "<tr><td>&nbsp;&#8627;<B>Belt:</B></td><td><A href='?src=\ref[src];item=[slot_belt]'>[(belt && !(belt.flags&ABSTRACT)) ? belt : "<font color=grey>Empty</font>"]</A>"
dat += "<tr><td>&nbsp;&#8627;<B>Belt:</B></td><td><A href='?src=\ref[src];item=[slot_belt]'>[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "<font color=grey>Empty</font>"]</A>"
if(has_breathable_mask && istype(belt, /obj/item/weapon/tank))
dat += "&nbsp;<A href='?src=\ref[src];internal=[slot_belt]'>[internal ? "Disable Internals" : "Set Internals"]</A>"
dat += "</td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>Pockets:</B></td><td><A href='?src=\ref[src];pockets=left'>[(l_store && !(l_store.flags&ABSTRACT)) ? "Left (Full)" : "<font color=grey>Left (Empty)</font>"]</A>"
dat += "&nbsp;<A href='?src=\ref[src];pockets=right'>[(r_store && !(r_store.flags&ABSTRACT)) ? "Right (Full)" : "<font color=grey>Right (Empty)</font>"]</A></td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>ID:</B></td><td><A href='?src=\ref[src];item=[slot_wear_id]'>[(wear_id && !(wear_id.flags&ABSTRACT)) ? wear_id : "<font color=grey>Empty</font>"]</A></td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>Pockets:</B></td><td><A href='?src=\ref[src];pockets=left'>[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "<font color=grey>Left (Empty)</font>"]</A>"
dat += "&nbsp;<A href='?src=\ref[src];pockets=right'>[(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "<font color=grey>Right (Empty)</font>"]</A></td></tr>"
dat += "<tr><td>&nbsp;&#8627;<B>ID:</B></td><td><A href='?src=\ref[src];item=[slot_wear_id]'>[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "<font color=grey>Empty</font>"]</A></td></tr>"
if(handcuffed)
dat += "<tr><td><B>Handcuffed:</B> <A href='?src=\ref[src];item=[slot_handcuffed]'>Remove</A></td></tr>"
+2 -2
View File
@@ -32,7 +32,7 @@
//citadel code
if(stat != DEAD)
handle_arousal()
if(..()) //not dead
for(var/datum/mutation/human/HM in dna.mutations)
HM.on_life(src)
@@ -153,7 +153,7 @@
//END FIRE CODE
//This proc returns a number made up of the flags for body parts which you are protected on. (such as HEAD, CHEST, GROIN, etc. See setup.dm for the full list)
//This proc returns a number made up of the flags_1 for body parts which you are protected on. (such as HEAD, CHEST, GROIN, etc. See setup.dm for the full list)
/mob/living/carbon/human/proc/get_heat_protection_flags(temperature) //Temperature is the temperature you're being exposed to.
var/thermal_protection_flags = 0
//Handle normal clothing
@@ -54,7 +54,7 @@
var/damage_overlay_type = "human" //what kind of damage overlays (if any) appear on our species when wounded?
var/fixed_mut_color = "" //to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"]
// species flags. these can be found in flags.dm
// species flags_1. these can be found in flags_1.dm
var/list/species_traits = list()
var/attack_verb = "punch" // punch-specific attack verb
@@ -153,7 +153,7 @@
if(!locate(/obj/item/weapon) in held_items)
best_force = 0
if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags & NODROP)))
if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags_1 & NODROP_1)))
pickupTarget = null
if(!resisting && pickupTarget)
@@ -274,7 +274,7 @@
// check if target has a weapon
var/obj/item/weapon/W
for(var/obj/item/weapon/I in target.held_items)
if(!(I.flags & ABSTRACT))
if(!(I.flags_1 & ABSTRACT_1))
W = I
break
+1 -1
View File
@@ -34,4 +34,4 @@
if(T)
. = T.could_speak_in_language(dt)
else
. = initial(dt.flags) & TONGUELESS_SPEECH
. = initial(dt.flags_1) & TONGUELESS_SPEECH
@@ -4,9 +4,9 @@
icon_state = "std_module"
w_class = WEIGHT_CLASS_GIGANTIC
item_state = "electronic"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags_1 = CONDUCT_1
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
flags_1 = CONDUCT_1
var/list/basic_modules = list() //a list of paths, converted to a list of instances on New()
var/list/emag_modules = list() //ditto
@@ -121,8 +121,8 @@
if(I.loc != src)
I.forceMove(src)
modules += I
I.flags |= NODROP
I.mouse_opacity = MOUSE_OPACITY_OPAQUE
I.flags_1 |= NODROP_1
I.mouse_opacity = MOUSE_OPACITY_OPAQUE
if(nonstandard)
added_modules += I
if(requires_rebuild)
@@ -248,7 +248,7 @@
/obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg,
/obj/item/weapon/soap/nanotrasen,
/obj/item/borg/cyborghug)
emag_modules = list(/obj/item/weapon/melee/transforming/energy/sword/cyborg)
emag_modules = list(/obj/item/weapon/melee/transforming/energy/sword/cyborg)
ratvar_modules = list(
/obj/item/clockwork/slab/cyborg,
/obj/item/clockwork/ratvarian_spear/cyborg,
@@ -471,7 +471,7 @@
/obj/item/stack/tile/plasteel/cyborg,
/obj/item/weapon/soap/nanotrasen,
/obj/item/weapon/storage/bag/trash/cyborg,
/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/mop/cyborg,
/obj/item/device/lightreplacer/cyborg,
/obj/item/weapon/holosign_creator,
@@ -518,7 +518,7 @@
/obj/item/weapon/reagent_containers/food/condiment/enzyme,
/obj/item/weapon/pen,
/obj/item/toy/crayon/spraycan/borg,
/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/extinguisher/mini,
/obj/item/weapon/hand_labeler/borg,
/obj/item/weapon/razor,
/obj/item/device/instrument/violin,
@@ -594,7 +594,7 @@
name = "Syndicate Assault"
basic_modules = list(
/obj/item/device/assembly/flash/cyborg,
/obj/item/weapon/melee/transforming/energy/sword/cyborg,
/obj/item/weapon/melee/transforming/energy/sword/cyborg,
/obj/item/weapon/gun/energy/printer,
/obj/item/weapon/gun/ballistic/revolver/grenadelauncher/cyborg,
/obj/item/weapon/card/emag,
@@ -621,7 +621,7 @@
/obj/item/weapon/hemostat,
/obj/item/weapon/cautery,
/obj/item/weapon/scalpel,
/obj/item/weapon/melee/transforming/energy/sword/cyborg/saw,
/obj/item/weapon/melee/transforming/energy/sword/cyborg/saw,
/obj/item/roller/robo,
/obj/item/weapon/card/emag,
/obj/item/weapon/crowbar/cyborg,
@@ -80,7 +80,7 @@
/obj/item/weapon/restraints/legcuffs/beartrap/mega_arachnid
name = "fleshy restraints"
desc = "Used by mega arachnids to immobilize their prey."
flags = DROPDEL
flags_1 = DROPDEL_1
icon_state = "tentacle_end"
icon = 'icons/obj/projectiles.dmi'
@@ -251,9 +251,9 @@ Difficulty: Medium
animate(src, transform = M, pixel_y = -6, dir = final_dir, time = 2, easing = EASE_IN|EASE_OUT)
sleep(5)
animate(src, color = list("#A7A19E", "#A7A19E", "#A7A19E", list(0, 0, 0)), time = 10, easing = EASE_IN, flags = ANIMATION_PARALLEL)
animate(src, color = list("#A7A19E", "#A7A19E", "#A7A19E", list(0, 0, 0)), time = 10, easing = EASE_IN, flags_1 = ANIMATION_PARALLEL)
sleep(4)
animate(src, alpha = 0, time = 6, easing = EASE_OUT, flags = ANIMATION_PARALLEL)
animate(src, alpha = 0, time = 6, easing = EASE_OUT, flags_1 = ANIMATION_PARALLEL)
/obj/item/device/gps/internal/miner
icon_state = null
@@ -193,7 +193,7 @@ Difficulty: Medium
qdel(F)
if(stat == DEAD)
swooping &= ~SWOOP_DAMAGEABLE
animate(src, alpha = 255, transform = oldtransform, time = 0, flags = ANIMATION_END_NOW) //reset immediately
animate(src, alpha = 255, transform = oldtransform, time = 0, flags_1 = ANIMATION_END_NOW) //reset immediately
return
animate(src, alpha = 100, transform = matrix()*0.7, time = 7)
swooping |= SWOOP_INVULNERABLE
+2 -2
View File
@@ -11,7 +11,7 @@ This rewrite was needed, but is far from perfect. Report any bugs you come acros
Radio code, while very much related to saycode, is not something I wanted to touch, so the code related to that may be messy.
If you came here to see how to use saycode, all you will ever really need to call is say(message).
To have things react when other things speak around them, add the HEAR_1 flag to their flags variable and
To have things react when other things speak around them, add the HEAR_1 flag to their flags_1 variable and
override their Hear() proc.
=======================PROCS & VARIABLES=======================
@@ -43,7 +43,7 @@ global procs
Attaches span classes around input.
/atom/movable
flags
flags_1
The HEAR_1 flag determines whether something is a hearer or not.
Hear() is only called on procs with this flag.
@@ -125,7 +125,7 @@
update_icon()
/obj/machinery/modular_computer/attackby(var/obj/item/weapon/W as obj, mob/user)
if(cpu && !(flags & NODECONSTRUCT))
if(cpu && !(flags_1 & NODECONSTRUCT_1))
return cpu.attackby(W, user)
return ..()
+1 -1
View File
@@ -5,7 +5,7 @@
throw_speed = 3
var/signed = FALSE
var/datum/mind/target
flags = NOBLUDGEON
flags_1 = NOBLUDGEON_1
/obj/item/weapon/paper/contract/proc/update_text()
return
+1 -1
View File
@@ -168,7 +168,7 @@
*/
/obj/item/weapon/pen/sleepy
origin_tech = "engineering=4;syndicate=2"
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
/obj/item/weapon/pen/sleepy/attack(mob/living/M, mob/user)
+1 -1
View File
@@ -497,7 +497,7 @@
desc = "The perfect showcase for your favorite deathtrap memories."
icon = 'icons/obj/decals.dmi'
materials = list()
flags = 0
flags_1 = 0
icon_state = "frame-empty"
result_path = /obj/structure/sign/picture_frame
var/obj/item/weapon/photo/displayed
+2 -2
View File
@@ -445,8 +445,8 @@
name = "turret controls"
icon_state = "offhand"
w_class = WEIGHT_CLASS_HUGE
flags = ABSTRACT | NODROP
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON
flags_1 = ABSTRACT_1 | NODROP_1
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON_1
var/delay = 0
/obj/item/weapon/turret_control/afterattack(atom/targeted_atom, mob/user)
@@ -524,7 +524,7 @@
R.receive_pulse(power * (1 + power_transmission_bonus)/10 * freon_transmit_modifier)
/obj/machinery/power/supermatter_shard/attackby(obj/item/W, mob/living/user, params)
if(!istype(W) || (W.flags & ABSTRACT) || !istype(user))
if(!istype(W) || (W.flags_1 & ABSTRACT_1) || !istype(user))
return
if(istype(W, /obj/item/weapon/scalpel/supermatter))
playsound(src, W.usesound, 100, 1)
@@ -127,7 +127,7 @@ Variable Breakdown (For Mappers):
clusterCheckFlags - A Bitfield that controls how the cluster checks work, All based on clusterMin and clusterMax guides
allowAtomsOnSpace - A Boolean for if we allow atoms to spawn on space tiles
clusterCheckFlags flags:
clusterCheckFlags flags_1:
CLUSTER_CHECK_NONE 0 //No checks are done, cluster as much as possible
CLUSTER_CHECK_DIFFERENT_TURFS 2 //Don't let turfs of DIFFERENT types cluster
CLUSTER_CHECK_DIFFERENT_ATOMS 4 //Don't let atoms of DIFFERENT types cluster
+2 -2
View File
@@ -678,7 +678,7 @@
pixel_x = pixel_x_offset
pixel_y = pixel_y_offset
else
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags = ANIMATION_END_NOW)
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags_1 = ANIMATION_END_NOW)
old_pixel_x = pixel_x_offset
old_pixel_y = pixel_y_offset
if(can_hit_target(original, permutated))
@@ -715,7 +715,7 @@
light_range = 2
light_color = "#00ffff"
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
flags = ABSTRACT
flags_1 = ABSTRACT_1
appearance_flags = 0
/obj/effect/projectile_beam/proc/scale_to(nx,ny,override=TRUE)
@@ -6,7 +6,7 @@
w_class = WEIGHT_CLASS_BULKY
force = 10
modifystate = TRUE
flags = CONDUCT
flags_1 = CONDUCT_1
slot_flags = SLOT_BACK
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser)
cell_type = "/obj/item/weapon/stock_parts/cell/pulse"
+2 -2
View File
@@ -4,7 +4,7 @@
icon_state = "bullet"
density = FALSE
anchored = TRUE
flags = ABSTRACT
flags_1 = ABSTRACT_1
pass_flags = PASSTABLE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
hitsound = 'sound/weapons/pierce.ogg'
@@ -261,7 +261,7 @@
pixel_x = pixel_x_offset
pixel_y = pixel_y_offset
else
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags = ANIMATION_END_NOW)
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags_1 = ANIMATION_END_NOW)
old_pixel_x = pixel_x_offset
old_pixel_y = pixel_y_offset
if(can_hit_target(original, permutated))
+6 -6
View File
@@ -11,12 +11,12 @@
var/last_tick = 1
var/addiction_tick = 1
var/list/datum/reagent/addiction_list = new/list()
var/flags
var/flags_1
/datum/reagents/New(maximum=100)
maximum_volume = maximum
if(!(flags & REAGENT_NOREACT))
if(!(flags_1 & REAGENT_NOREACT))
START_PROCESSING(SSobj, src)
//I dislike having these here but map-objects are initialised before world/New() is called. >_>
@@ -290,7 +290,7 @@
/datum/reagents/process()
var/list/cached_reagents = reagent_list
if(flags & REAGENT_NOREACT)
if(flags_1 & REAGENT_NOREACT)
STOP_PROCESSING(SSobj, src)
return
@@ -302,11 +302,11 @@
if(react)
// Order is important, process() can remove from processing if
// the flag is present
flags &= ~(REAGENT_NOREACT)
flags_1 &= ~(REAGENT_NOREACT)
START_PROCESSING(SSobj, src)
else
STOP_PROCESSING(SSobj, src)
flags |= REAGENT_NOREACT
flags_1 |= REAGENT_NOREACT
/datum/reagents/proc/conditional_update_move(atom/A, Running = 0)
var/list/cached_reagents = reagent_list
@@ -326,7 +326,7 @@
var/list/cached_reagents = reagent_list
var/list/cached_reactions = GLOB.chemical_reactions_list
var/datum/cached_my_atom = my_atom
if(flags & REAGENT_NOREACT)
if(flags_1 & REAGENT_NOREACT)
return //Yup, no reactions here. No siree.
var/reaction_occurred = 0
@@ -178,7 +178,7 @@
if(default_unfasten_wrench(user, I))
return
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER_1))
var/obj/item/weapon/reagent_containers/B = I
. = 1 //no afterattack
if(beaker)
@@ -42,7 +42,7 @@
if(default_deconstruction_crowbar(I))
return
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER_1))
. = 1 //no afterattack
if(beaker)
to_chat(user, "<span class='warning'>A beaker is already loaded into the machine!</span>")
@@ -79,7 +79,7 @@
if(default_unfasten_wrench(user, I))
return
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER_1))
. = 1 // no afterattack
if(panel_open)
to_chat(user, "<span class='warning'>You can't use the [src.name] while its panel is opened!</span>")
@@ -177,7 +177,7 @@
. = TRUE
/obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER_1))
. = TRUE //no afterattack
if(stat & (NOPOWER|BROKEN))
return
@@ -116,7 +116,7 @@
if(default_unfasten_wrench(user, I))
return
if (istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER) )
if (istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER_1) )
if (!beaker)
if(!user.drop_item())
return 1
@@ -6,7 +6,7 @@
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(1, 2, 3, 4, 5)
volume = 5
container_type = TRANSPARENT
container_type = TRANSPARENT_1
/obj/item/weapon/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity)
if(!proximity) return
@@ -169,7 +169,7 @@
volume = 100
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,20,25,30,50,100)
flags = OPENCONTAINER
flags_1 = OPENCONTAINER_1
/obj/item/weapon/reagent_containers/glass/beaker/noreact
name = "cryostasis beaker"
@@ -180,7 +180,7 @@
volume = 50
amount_per_transfer_from_this = 10
origin_tech = "materials=2;engineering=3;plasmatech=3"
flags = OPENCONTAINER
flags_1 = OPENCONTAINER_1
/obj/item/weapon/reagent_containers/glass/beaker/noreact/Initialize()
. = ..()
@@ -196,7 +196,7 @@
volume = 300
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300)
flags = OPENCONTAINER
flags_1 = OPENCONTAINER_1
origin_tech = "bluespace=5;materials=4;plasmatech=4"
/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone
@@ -3,14 +3,14 @@
desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients."
icon = 'icons/obj/syringe.dmi'
item_state = "hypo"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
icon_state = "hypo"
amount_per_transfer_from_this = 5
volume = 30
possible_transfer_amounts = list()
resistance_flags = ACID_PROOF
container_type = OPENCONTAINER_1
container_type = OPENCONTAINER_1
slot_flags = SLOT_BELT
var/ignore_flags = 0
var/infinite = FALSE
@@ -72,13 +72,13 @@
desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge."
icon_state = "medipen"
item_state = "medipen"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
amount_per_transfer_from_this = 10
volume = 10
ignore_flags = 1 //so you can medipen through hardsuits
container_type = DRAWABLE
flags = null
container_type = DRAWABLE_1
flags_1 = null
list_reagents = list("epinephrine" = 10)
/obj/item/weapon/reagent_containers/hypospray/medipen/attack(mob/M, mob/user)
@@ -16,7 +16,7 @@
var/busy = FALSE // needed for delayed drawing of blood
var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun
materials = list(MAT_METAL=10, MAT_GLASS=20)
container_type = TRANSPARENT
container_type = TRANSPARENT_1
/obj/item/weapon/reagent_containers/syringe/Initialize()
. = ..()
+1 -1
View File
@@ -8,7 +8,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
name = "circuit imprinter"
desc = "Manufactures circuit boards for the construction of machines."
icon_state = "circuit_imprinter"
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
circuit = /obj/item/weapon/circuitboard/machine/circuit_imprinter
var/datum/material_container/materials
+1 -1
View File
@@ -11,7 +11,7 @@ Note: Must be placed west/left of and R&D console to function.
name = "protolathe"
desc = "Converts raw materials into useful objects."
icon_state = "protolathe"
container_type = OPENCONTAINER
container_type = OPENCONTAINER_1
circuit = /obj/item/weapon/circuitboard/machine/protolathe
var/datum/material_container/materials
+1 -1
View File
@@ -7,7 +7,7 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "syndballoon"
item_state = null
flags = ABSTRACT | NODROP | DROPDEL
flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1
w_class = WEIGHT_CLASS_HUGE
force = 0
throwforce = 0
+3 -3
View File
@@ -10,8 +10,8 @@
active_power_usage = 5000
var/efficiency
/obj/machinery/telepad/Initialize()
. = ..()
/obj/machinery/telepad/Initialize()
. = ..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telesci_pad(null)
B.apply_default_parts(src)
@@ -120,7 +120,7 @@
desc = "Use this to send crates and closets to cargo telepads."
icon = 'icons/obj/telescience.dmi'
icon_state = "rcs"
flags = CONDUCT
flags_1 = CONDUCT_1
force = 10
throwforce = 10
throw_speed = 2
+2 -2
View File
@@ -55,8 +55,8 @@
life has not abandoned your broken form. You can only feel a deep and immutable hunger that \
not even death can stop, you will rise again!</span>")
var/revive_time = rand(revive_time_min, revive_time_max)
var/flags = TIMER_STOPPABLE
timer_id = addtimer(CALLBACK(src, .proc/zombify), revive_time, flags)
var/flags_1 = TIMER_STOPPABLE
timer_id = addtimer(CALLBACK(src, .proc/zombify), revive_time, flags_1)
/obj/item/organ/zombie_infection/proc/zombify()
timer_id = null